baserproject/bc-favorite

BcFavorite plugin for baserCMS

Maintainers

👁 baserproject

Package info

github.com/baserproject/bc-favorite

Homepage

Type:cakephp-plugin

pkg:composer/baserproject/bc-favorite

Statistics

Installs: 21 019

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

5.2.4 2024-10-24 06:40 UTC

Requires

None

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 299b6c9318bbc3eca5c9dd0dafdc747e2a245c87


README

Installation

You can install this plugin into your baserCMS application using composer.

The recommended way to install composer packages is:

composer require baserproject/bc-favorite
============== Next 江頭 =================
6/23 江頭コミットあり
  • API を作成する
    • コントローラー実装
    • コントローラーのテスト
  • Admin/Controller を移行する→廃止
  • View を移行
    • Vue.js と APIで作成する
    • メニューの上にイベントディスパッチャーを作る
    • BcFavoriteから上記イベントを横取りしてお気に入り一覧を表示
      • 開閉ボタンの実装
        • 開閉状態の保存処理を実装する
      • お気に入りのテンプレートを vue.js 化して読み込む
        • favorite_menu-navの中外をvue化する
      • APIでJSONを取得して vue.js でレンダリング
    • 追加
      • リアルタイムバリデーション
        • フォーム切り出し(切り分けた状態での保存は完了その他動作未確認)
        • validationの設定
          • FavoriteFormのref取得
          • form.vueでのバリデーション結果受け渡し
          • 初期値をフォームに入力した状態にする
        • タイトルを入力するとURLが消える
        • タイトルを空にしたときにバリデーションメッセージを表示する
      • ダイアログ関連をVueに移植する
        • jQueryのコードをVueに移植
        • 初期値設定
        • バリデーション
          • invalid時は保存ボタンをdisable化
        • 保存
          • 保存後、ダイアログを閉じる
          • お気に入り一覧の再表示
      • サーバーバリデーション
        • favoriteTableのvalidationDefaultにtitleを追加する
        • フロントにエラーを表示する
    • 編集
      • 方針:favorite.js はできるだけ vue.js 内に移植する
      • 右クリックメニューを表示
      • 右クリックハンドラをvueの中へ移植
      • 既存データをフォームに表示
    • 削除
    • 並び替え
      • AppTable::changeSort 実装
      • AppTable::changeSort テスト
      • plugins/bc-favorite/webroot/js/src/admin/favorite.js
        • initFavoriteList() の精査
        • favoriteSortUpdateHandler() の精査
      • plugins/bc-favorite/src/Controller/Api/FavoritesController.php
        • update_sort() 実装
          • ユニットテスト実装
            • Fixtureが読みこまれない問題でストップ
    • デザインを他のダイアログに合わせる
  • BcEventDispatcher::dispatch() の class の指定の仕様検討
    • dispatchメソッドの呼び出し側で class を指定しないように設定可能だった
  • リアルタイムバリデーションのラベルデザイン調整

baserCMS4のイベント仕様

  • プラグインのEventフォルダをチェック
  • EventListener があれば読み込む
  • $events プロパティをチェック
  • イベント登録