{"id":28462623,"url":"https://github.com/baserproject/bc-favorite","last_synced_at":"2026-02-25T12:03:03.363Z","repository":{"id":65007805,"uuid":"580676367","full_name":"baserproject/bc-favorite","owner":"baserproject","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-22T06:47:18.000Z","size":52,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-07T04:32:05.698Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/baserproject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-12-21T06:48:58.000Z","updated_at":"2024-10-24T06:41:03.000Z","dependencies_parsed_at":"2023-02-10T07:00:33.311Z","dependency_job_id":"4af1216d-e9f7-4719-a58c-c62b6e25f42f","html_url":"https://github.com/baserproject/bc-favorite","commit_stats":{"total_commits":34,"total_committers":1,"mean_commits":34.0,"dds":0.0,"last_synced_commit":"76cf290c5c6df8afa3263fe2602791ad1a26a6f1"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/baserproject/bc-favorite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baserproject%2Fbc-favorite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baserproject%2Fbc-favorite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baserproject%2Fbc-favorite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baserproject%2Fbc-favorite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baserproject","download_url":"https://codeload.github.com/baserproject/bc-favorite/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baserproject%2Fbc-favorite/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262897794,"owners_count":23381466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-07T04:30:44.673Z","updated_at":"2026-02-25T12:03:03.265Z","avatar_url":"https://github.com/baserproject.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BcFavorite plugin for baserCMS\n\n## Installation\n\nYou can install this plugin into your baserCMS application using [composer](https://getcomposer.org).\n\nThe recommended way to install composer packages is:\n\n```\ncomposer require baserproject/bc-favorite\n```\n\n```shell\n============== Next 江頭 =================\n6/23 江頭コミットあり\n```\n\n\n- [x] API を作成する\n  - [x] コントローラー実装\n  - [x] コントローラーのテスト\n- [x] Admin/Controller を移行する→廃止\n- [x] View を移行\n  - Vue.js と APIで作成する\n  - [x] メニューの上にイベントディスパッチャーを作る\n  - [x] BcFavoriteから上記イベントを横取りしてお気に入り一覧を表示\n    - [x] 開閉ボタンの実装\n      - [x] 開閉状態の保存処理を実装する\n    - [x] お気に入りのテンプレートを vue.js 化して読み込む\n      - [x] favorite_menu-navの中外をvue化する\n    - [x] APIでJSONを取得して vue.js でレンダリング\n  - [x] 追加\n    - [x] リアルタイムバリデーション\n      - [x] フォーム切り出し(切り分けた状態での保存は完了その他動作未確認)\n      - [x] validationの設定\n        - [x] FavoriteFormのref取得\n        - [x] form.vueでのバリデーション結果受け渡し\n        - [x] 初期値をフォームに入力した状態にする\n      - [x] タイトルを入力するとURLが消える\n      - [x] タイトルを空にしたときにバリデーションメッセージを表示する\n    - [x] ダイアログ関連をVueに移植する\n      - [x] jQueryのコードをVueに移植\n      - [x] 初期値設定\n      - [x] バリデーション\n        - [x] invalid時は保存ボタンをdisable化\n      - [x] 保存\n        - [x] 保存後、ダイアログを閉じる\n        - [x] お気に入り一覧の再表示\n    - [x] サーバーバリデーション\n      - [x] favoriteTableのvalidationDefaultにtitleを追加する\n      - [x] フロントにエラーを表示する\n  - [x] 編集\n    - 方針：favorite.js はできるだけ vue.js 内に移植する\n    - [x] 右クリックメニューを表示\n    - [x] 右クリックハンドラをvueの中へ移植\n    - [x] 既存データをフォームに表示\n  - [x] 削除\n  - [ ] 並び替え\n    - [x] AppTable::changeSort 実装\n    - [x] AppTable::changeSort テスト\n    - [ ] plugins/bc-favorite/webroot/js/src/admin/favorite.js\n      - [ ] initFavoriteList() の精査\n      - [ ] favoriteSortUpdateHandler() の精査\n    - [ ] plugins/bc-favorite/src/Controller/Api/FavoritesController.php\n      - [ ] update_sort() 実装\n        - [ ] ユニットテスト実装\n          - [ ] Fixtureが読みこまれない問題でストップ\n  - [ ] デザインを他のダイアログに合わせる\n- [x] BcEventDispatcher::dispatch() の class の指定の仕様検討\n  - dispatchメソッドの呼び出し側で class を指定しないように設定可能だった\n- [ ] リアルタイムバリデーションのラベルデザイン調整\n\n## baserCMS4のイベント仕様\n\n- プラグインのEventフォルダをチェック\n- EventListener があれば読み込む\n- $events プロパティをチェック\n- イベント登録\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaserproject%2Fbc-favorite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaserproject%2Fbc-favorite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaserproject%2Fbc-favorite/lists"}