MTAppSortDisabled
メインカラムのフィールドの D&D 並べ替えを無効化する(#sortable の jQuery UI sortable を disable)。v3 の mtapp.sortDisabled() 相当。
メインカラムのフィールドのドラッグ&ドロップによる並べ替えを無効化する静的メソッドです。PowerCMS / MT は記事・ウェブページ編集画面のフィールドのコンテナ(既定 #sortable)を jQuery UI sortable にして並べ替えを可能にしていますが、これを無効化します。フィールドの順序を運用者に変更させたくない場合に使います。
MTAppjQuery v3 の
mtapp.sortDisabled()に相当する機能です。P7 では他メソッドと同じ$.MTApp*形式で$.MTAppSortDisabled()として提供します。
構文
$.MTAppSortDisabled(options);静的メソッド($.MTAppSortDisabled)です。
パラメータ
options {Object} — 省略可。以下のプロパティを持ちます。
| プロパティ | 型 | 既定値 | 説明 |
|---|---|---|---|
target | string | '#sortable' | 並べ替えを無効化する jQuery UI sortable コンテナのセレクタ |
戻り値
なし(undefined)。
使用例
// メインカラムのフィールドの並べ替えを無効化
$.MTAppSortDisabled();user.js での記述例
user.js(「デザイン → user.js を編集」)に書く場合は、mtappVars.screen_id で画面を判定して呼び出します。
(function ($) {
if (typeof mtappVars !== 'object') return;
if (mtappVars.screen_id === 'edit-entry') {
$.MTAppSortDisabled();
}
})(jQuery);補足
- 内部で対象コンテナの jQuery UI sortable を
disableします。ドラッグでの並べ替えができなくなります。 - PowerCMS / MT は
#sortableを自身のdocument ready内で sortable 化します。これは MTAppjQuery の初期化より後に走るため、本メソッドは対象が sortable 化されるまで短時間待ってから無効化します(最大約3秒)。そのため、初期化スクリプト(user.js / jquery_ready.js)から呼んでもタイミングを気にせず動作します。 - 無効化中は、ドラッグに関わる見た目を CSS(
.ui-sortable-disabled)ですべて消し、すっきりした表示にします。- ドラッグハンドルのグリップ画像(
.sort-enabledの背景画像) - ドラッグ可能を示す影(
box-shadow)とフィールドを囲む枠線(border/border-radius) - マウスオーバー時のカーソル変化(move)とアニメーション(
transition) - グリップ用に確保されていた左余白(ラベルと入力欄の左端を揃える)
- ドラッグハンドルのグリップ画像(
- 対象が存在しない、または sortable 化されない場合は何もしません(エラーにはなりません)。
関連
MTAppFieldSort— フィールドを指定した順序に並べ替える(プログラムによる並べ替え。本メソッドで D&D を無効化しても利用できる)。MTAppMoveToWidget— 既存フィールドをサイドバーのウィジェットへ移動する。