Released v1.10.2

@tinybeans tinybeans released this Jan 21, 2017

変更点

mt-data-api.min.jp のパスの書き出しを変更しました。

Downloads

Released v1.10.1

@tinybeans tinybeans released this Jan 13, 2017 · 3 commits to master since this release

機能の追加・向上

mtappVars.me と mtappVars.current_site

mtappVars 変数に mecurrent_site プロパティを追加しました。

mtappVars.me には、ログイン中のユーザーの情報(カスタムフィールドを含む)が JSON でセットされます。

mtappVars.current_siteは、表示中のウェブサイト/ブログの情報(カスタムフィールドを含む)が JSON でセットされます。システムスコープの画面にいる場合は null がセットされます。

MTAppJSONTable

MTAppJSONTable の cbBeforeAdd オプションが、これまで列を追加するとき専用のオプションでしたが、行を追加する追加直前にも実行するようにしました。

    cbBeforeAdd: function(cb, $container){
        // do something
    }
  • cb : {name: 'cbBeforeAdd', type: 'row'}
  • $container : table を包含する div の jQuery オブジェクト

また、MTAppJSONTable の値を、MTAppJSONTable を適用している元の textarea に反映する前後で実行される cbBeforeSave オプションと cbAfterSave オプションを追加しました。

    cbBeforeSave: function(cb, $container, $this){
        // do something
    }
  • cb : {name: 'cbBeforeSave'}
  • $container : table を包含する div の jQuery オブジェクト
  • $this : MTAppJSONTable を適用している元の textarea の jQuery オブジェクト
    cbAfterSave: function({name: 'cbAfterSave'}, $container, $this, savedJSON){
        // do something
    }
  • cb : {name: 'cbAfterSave'}
  • $container : table を包含する div の jQuery オブジェクト
  • $this : MTAppJSONTable を適用している元の textarea の jQuery オブジェクト
  • savedJSON : MTAppJSONTable を適用している元の textarea に保存された JSON

修正点

MTAppMoveToWidget

MTAppMoveToWidget がウェブページの編集画面で動かなかったのを修正しました。 @riatw さん、ありがとうございます!( 07ba6f7

その他

パラメータがない状態にでユーザーダッシュボードにアクセスした時に、一部の機能が正常に動かない問題を修正しました。そのようなアクセスの場合には ?__mode=dashboard を付けた状態にリダイレクトするようにしました。

Downloads

Released v1.10.0

@tinybeans tinybeans released this Nov 24, 2016 · 11 commits to master since this release

機能の追加・向上

MTAppAssetFields

textarea をMT標準のファイルアップロードのフィールドに変更することができる MTAppAssetFields を追加しました。

MTAppUserMenuWidget

ユーザー向けの操作メニューなどを表示するダッシュボードウィジェットとメニューを追加することができる MTAppUserMenuWidget を追加しました。

MTAppJSONTable

nest オプション

MTAppJSONTable の表の入力欄に JSON が入っているとき、その JSON はそのまま文字列として出力されていたのを、 nest: true オプションを追加することで、親の JSON の値の一部として扱えるようになりました。

MTAppJSONTableSave カスタムイベント

MTAppJSONTable を適用している要素に、カスタムイベント MTAppJSONTableSave を追加しました。

例えば、

$('#jsontable').MTAppJSONTable({
  // 省略
});

というように設定していた場合、

$('#jsontable').trigger('MTAppJSONTableSave');

とすれば、任意のタイミングで JSONTable の保存処理_(注1)_を走らせることができます。

(注1)ここでいう保存処理とは、JSONTable の表の中の値を解析して JSON に加工し、MTAppJSONTable を適用した元のフィールド( textarea )にその JSON を入れることを指します。

$.temporaryId()

$.temporaryId() というユーティリティメソッドを追加しました。

var id = $.temporaryId();

この場合、変数 id には temp-033248153161538707 のような一意の文字列がセットされます。

remove_host

出力するURLからホスト名を除去するグローバルモディファイアを追加しました。

<mt:EntryPermalink remove_host="1">

この場合、通常であれば、

http://www.tinybeans.net/blog/2016/11/21-142340.html

と出力される URL が、

/blog/2016/11/21-142340.html

のように出力されます。

修正点

MTAppJSONTable

  • MTAppJSONTable で作成したフィールドの中にスクリプトを書くと実行できるバグを修正しました。
  • 表の中の入力欄で input:text のタイプの欄に " (ダブルクオーテーション)を入力すると表が崩れるバグを修正しました。

MTAppSortableBatchEdit

MTAppSortableBatchEdit がウェブページで正常に動かないバグを修正しました。

Downloads

Released v1.9.0

@tinybeans tinybeans released this Jun 9, 2016 · 26 commits to master since this release

機能の追加・向上

MTCreateJSON(ファンクションタグ)

MTCreateJSON ファンクションタグを追加しました。モディファイアで対象とするフィールドを指定するだけで、DataAPI のレスポンス JSON とほぼ同じフォーマットの JSON を書き出すファンクションタグです。

<mt:EntryCreateJSON include_blogs="22,38,62" fields="title,keywords,tags,categories">

モディファイア

このタグで利用できるモディファイアは下記の通りです。

model

記事の JSON を書き出す場合は entry を(初期値)、ウェブページの JSON を書き出す場合は page を指定します。

fields

JSON に含めるフィールドのベースネームををカンマ区切りで指定します。カスタムフィールドの場合は、カスタムフィールドのベースネームの頭に field. を付けます。

(例) fields: 'title,keywords,tags,categories,field.relatedentries',

初期値は、 title,text,text_more,keywords,tags,categories です。

include_blogs

対象とするブログ ID を指定します。複数ある場合はカンマ区切りで列記します。

include_draft

記事のステータスが「公開」以外の記事も対象とする場合に 1 を指定します。

offset

指定した数の記事を除外して表示します。値に 5 を指定すると、最新 5 件の記事を除外してリスト表示します。

limit

取得するデータ数を指定します。

sort_by

指定した項目で並べ替えます。指定可能な値は次の通りです。

  • authored_on (公開日・初期値)
  • created_on (作成日)
  • modified_on (更新日)
  • title (タイトル)
  • status (公開状態)
  • comment_count (コメントの件数) new in mt4.2
  • author_id (作成ユーザー ID)

sort_order

昇順で並べる場合は ascend を、降順で並べる場合は descend (初期値)を指定します。

no_array

1 を指定すると、カテゴリーなど複数の項目がある場合に配列にせず、カンマ区切りのテキストとして表示します。

MTAppCategorySwitch

カテゴリによって表示するフィールドを切り替えることができる MTAppCategorySwitch を追加しました。

MTAppMoveToWidget

記事編集画面において、メインカラムのフィールドを右サイドバーに簡単に移動することができる MTAppMoveToWidget を追加しました。

MTAppMoveToWidget では下記のオプションが指定可能です。

makeWidget

Type : Boolean, Default : true

移動先として新しいウィジェトを作る場合は true を設定します。既存のウィジェットの中に移動する場合は false を設定します。

widgetLabel

Type : String, Default : 'New Widget'

移動先として新しいウィジェトを作る場合のウィジェット名を設定します。

widgetContent

Type : String, Default : ''

移動先として新しいウィジェトを作る場合のウィジェットの内容を設定します。ここで設定した内容の下にフィールドが移動されます。

widgetAction

Type : String, Default : ''

移動先として新しいウィジェトを作る場合のウィジェットのアクションバーを設定します。

widgetFooter

Type : String, Default : ''

移動先として新しいウィジェトを作る場合のウィジェットのフッターを設定します。

field

Type : String, Default : ''

移動するフィールドのIDをカンマ区切りで設定します。 basename オプションで指定したフィールドより先に移動されます。

basename

Type : String, Default : ''

移動するフィールドのベースネームをカンマ区切りで設定します。field オプションで指定したフィールドの後に移動されます。

pointerSelector

Type : String, Default : ''

移動先の起点となるセレクタを設定します。

method

Type : String, Default : 'after'

pointerSelector オプションで設定した要素を起点としてどのようなメソッドで移動するかを設定します。

MTAppTemplateListCustomize

テンプレート一覧画面を見やすくする MTAppTemplateListCustomize() を追加しました。

MTAppListing

MTAppListing に accessToken オプションを追加しました。accessToken オプションに Data API の accessToken を渡せば、Data API で下書き状態の記事など認証を必要とするものについても MTAppLisging で取得可能になりました。

MTAppOtherTypeCategories

MTAppOtherTypeCategories に3つのオプションを追加しました。

selected

初期値として選択しておくカテゴリIDを指定します。
(例) selected: '11',

disabledExceptSelected

上記の初期値として選択しておくカテゴリID以外のカテゴリを disabled にするときは true をセットします。
(例) disabledExceptSelected: true,

hiddenExceptSelected

上記の初期値として選択しておくカテゴリID以外のカテゴリを非表示にするときは true をセットします。
(例) hiddenExceptSelected: true,

nest

ラジオボタン形式の表示の場合、従来のチェックボックス形式の表示のときのように、階層構造を保って表示できるようになりました。

type: 'radio' (ラジオボタンタイプ)を設定しているときに、 nest: true オプションを新たに追加すればOKです。

DataAPI SDK を利用

プラグインの設定で Data API JavaScript SDK を簡単に利用できるようになりました。

MTAppMultiFileUpload

MTAppMultiFileUpload の機能を向上しました。

DataAPI v2 以上に対応

DataAPI v2, v3 で利用できるようになりました。

cbAfterUpload コールバックの引数を追加

ファイルをアップロードしたあとに実行される関数を設定します。
このオプションに設定した関数には下記の5つの引数が渡されます。

cbAfterUpload: function(cb, $this, response, entryItemHtml, first, last){
    // do something
}
  • cb : {name: 'cbAfterUpload'}
  • $this : MTAppMultiFileUpload を適用した1行テキスト入力欄の jQuery オブジェクト
  • response : アップロード結果(アイテムの ID や URL など)を格納したオブジェクト
  • first : 複数の画像をアップロードしたときの処理のループで、最初の画像のときにtrue (v1.9.0)
  • last : 複数の画像をアップロードしたときの処理のループで、最後の画像のときにtrue (v1.9.0)

MTAppJSONTable

MTAppJSONTable に cbBeforeClear オプションを追加しました。このオプションは、行や列を削除する前に実行されます。

cbBeforeClear: function(cb, $container){
    // do something
}
  • cb : {name: 'cbBeforeClear'}
  • $container : table を包含する div の jQuery オブジェクト

変更点

MTAppSortableBatchEdit

MTAppSortableBatchEdit の仕様を変更しました。

MTAppSortableBatchEdit を適用時の記事の一括編集画面において、記事をドラッグアンドドロップしたとき、機械的に公開日などの日時が自動変更されますが、この日時を変更する部分のロジックを書き換えました。

これまではドロップした場所の前後の日付の中間になるようになっていましたが、今回から、先頭の記事に現在時刻を設定し、そこから日付を1日ずつ減らして並べ替えるようにしました。例えば、下記のように変更されます。

2015-11-11 00:00:00
2015-11-10 00:00:00
2015-11-09 00:00:00

これにより、変更された状態や順番が見やすくなりました。また、今回追加した interval オプションで、この変更されるのを日付のほか、時間(hour)、分(minute)、秒(scond)を選べるようになっています。

例えば、 interval: 'second' を指定すると下記のようになります。

2015-11-12 12:23:07
2015-11-12 12:23:06
2015-11-12 12:23:05

ただこれだと記事一覧に戻ったときに違いがわからないです。。

また、 target: 'modified_on' を指定してる場合は、一括編集画面の記事も modified_on の降順で並ぶようになりました。もしこの並び替えの機能を無効化するときはオプションに targetSort: false を指定します。

その他

  • user.js, user.css, jquery_ready.js の URL からプロトコル部分を削除しました(ユーザーが設定したものは除く)。

修正点

MTAppSlideMenuV2

ul#mtapp-slidemenu-v2 > div > ul > li という構造になっていたので ul#mtapp-slidemenu-v2div#mtapp-slidemenu-v2 に修正しました。

MTAppMsg

MTAppMsg が記事一覧画面などで表示されない不具合を修正しました。

MTAppHasCategory

Windows 7 の IE11 で $.MTAppHasCategory を利用している場合で、保存する時にページを離れるアラートが表示され、特定の場合に記事が重複して保存される不具合を修正しました。

MTAppNoScrollRightSidebar

サイドバーが長い時にページを下までスクロールすると、サイドバーの下部がページの外に隠れてしまうバグを修正しました。

Uploadify

アンドキュメントな機能で存在していた Uploadify を利用したファイルアップロードに関するコード、ファイルを削除しました。

今後は DataAPI を利用した MTAppMultiFileUpload の利用をご検討ください。

Downloads

Released v1.8.1

@tinybeans tinybeans released this Mar 25, 2015 · 113 commits to master since this release

修正点

  • Movable Type 6.1 で MTAppHasCategory が正常に動作しない不具合を修正しました。
  • MTAppMultiForm で select を作ったとき、ページ読み込み時にも change イベントを発火させるようにしました。

Downloads

Released v1.8.0

@tinybeans tinybeans released this Mar 20, 2015 · 121 commits to master since this release

新機能の追加

MTAppMultiFileUpload を追加

Data API を利用したファイルアップロードを提供します。

ブラウザが <input type="file" multiple> に対応していれば、複数ファイルをまとめてアップロードすることができます。

テキスト入力欄をファイルアップロードに変更する方法と、サイドバーウィジェットにファイルアップローダーを設置する方法があります。

記事画面でアップロードしたファイルは、その記事の記事アイテムに登録されます。

MTAppApplyTinyMCE を追加

概要欄やテキスト(複数行)のカスタムフィールドをリッチテキストエディタに変更します。

MTAppListing にオプションを追加など

cbAjaxDone

Type : Function, Default : null

MTAppListing ダイアログを開いて Ajax で JSON の取得に成功した処理の最後に呼ばれる関数を設定します。
このオプションに設定した関数には下記の2つの引数が渡されます。

function(cb, $dialog){
  // do something
}
  • cb : {name: 'cbAjaxDone'}
  • $dialog : MTAppListing ダイアログの jQuery オブジェクト

cbAfterOpenDialogFirst

Type : Function, Default : null

MTAppListing ダイアログを開いた直後に呼ばれる関数を設定します。
このオプションに設定した関数には下記の4つの引数が渡されます。

function(cb, $dialog, $field, $button){
  // do something
}
  • cb : {name: 'cbAfterOpenDialog'}
  • $dialog : MTAppListing ダイアログの jQuery オブジェクト
  • $field : MTAppListing を適用させたフィールドの jQuery オブジェクト
  • $button : MTAppListing を開いたボタン( a 要素)の jQuery オブジェクト

cbAfterOpenDialogLast

Type : Function, Default : null

MTAppListing ダイアログを開いたクリックイベントの最後に呼ばれる関数を設定します。
このオプションに設定した関数には下記の3つの引数が渡されます。

function(cb, $dialog, $field){
  // do something
}
  • cb : {name: 'cbAfterOpenDialog'}
  • $dialog : MTAppListing ダイアログの jQuery オブジェクト
  • $field : MTAppListing を適用させたフィールドの jQuery オブジェクト

cbAfterSelectRowUpperTable

Type : Function, Default : null

上段の選択済みの一覧で、チェックボックス等で行を選択した後に呼ばれる関数を設定します。
このオプションに設定した関数には下記の3つの引数が渡されます。

function(cb, $tr, checked){
  // do something
}
  • cb : {name: 'cbAfterSelectRowUpperTable'}
  • $tr : 選択した行の tr の jQuery オブジェクト
  • checked : 選択したチェックボックス等のチェック状態の真偽値

このオプションで false を返せば、デフォルトの挙動がキャンセルされます。

cbAfterSelectRowLowerTable

Type : Function, Default : null

下段の一覧で、チェックボックス等で行を選択した後に呼ばれる関数を設定します。
このオプションに設定した関数には下記の3つの引数が渡されます。

function(cb, $tr, checked){
  // do something
}
  • cb : {name: 'cbAfterSelectRowLowerTable'}
  • $tr : 選択した行の tr の jQuery オブジェクト
  • checked : 選択したチェックボックス等のチェック状態の真偽値

このオプションで false を返せば、デフォルトの挙動がキャンセルされます。

その他

MTAppListing ダイアログでOKをクリックしたとき、MTAppListing を適用しているフィールドで change.MTAppListing を実行するようにしました。

MTAppMaxLength を追加

input:text または textarea に入力可能な最大文字数を設定出来ます。

MTAppMultiCheckbox に2つのオプションを追加

maxCount

選択可能な最大数を設定します。

maxCountMessage

選択可能な最大数を超えた場合に表示されるアラートの文言を設定します。

MTAppOtherTypeCategories に add オプションを追加

add: true を設定するとカテゴリの新規追加が可能になります。

汎用的に使えるローディング画像を追加

$.MTAppLoadingImage('show'); でページ中央にローディング画像を表示、 $.MTAppLoadingImage('hide'); で非表示にすることができます。

変更点

  • MTAppJSONTable の inputType にオブジェクトを指定して header ごとに inputType を指定出来るようにした。
  • MTAppJSONTable の debug オプションが true のときは「JSONを表示」ボタンが表示され、それをクリックすると元のフィールドが表示されるような仕様に変更しました。また、元のフィールドが表示されているときは、table 内の値は無視され、そのフィールド内のJSON文字列をそのまま保存するようになりました。
  • MTAppJSONTable の headerOrder の項目のうち、既に保存されている JSON にその項目がない場合(後から headerOrder を追加した場合など)は、JSON にその項目をマージするようになりました(その項目の値は空文字)。

修正点

  • MTAppListing の4つのコールバックオプション(cbAfterCancel, cbAfterOK, cbAfterSearch, cbAfterSearchReset)の第2引数が jQuery オブジェクトになっていなかったのを修正
  • プラグインの概要文を修正

Downloads

Released v1.7.0

@mersy mersy released this Jan 9, 2015 · 191 commits to master since this release

新機能の追加

MTAppListing を追加

JSON を読み込んでリストアップし、その一覧から選択する事ができます。Data API や外部の API から取得した JSON の情報を記事に関連付けたりすることができます。

サンプル動画

MTAppJSONTable に複数のオプションを追加

  • sortable
  • cellMerge
  • listingCheckbox
  • listingCheckboxType
  • listingTargetKey
  • listingTargetEscape
  • cbAfterBuild
  • cbBeforeAdd
  • cbAfterAdd
  • cbAfterSelectRow
  • cbAfterSelectColumn
  • optionButtons
  • itemsRootKey

MTAppFieldSort に2つのオプションを追加

otherFieldHide オプション

otherFieldHide オプションに true を設定すると、sort オプションで指定した並べ替え対象のフィールド以外のフィールドを非表示にします。

debug オプション

debug オプションに true を設定すると、sort オプションで指定した並べ替え対象のフィールドが見つからなかった場合に、そのフィールド名をブラウザのコンソールに書き出します。

これまでデフォルトの挙動だったのをオプション設定としました。

MTAppDialogMsg に close オプションを追加

close オプション

ダイアログを閉じる時に呼ばれる関数を設定できます。この関数の引数には jQuery のイベントオブジェクトが渡されます。

$.numberFormat() を追加

引数に渡した数字を3桁毎にカンマで区切ったフォーマとに変換して返します。

変更点

  • MTAppJSONTable の tablejsontable-table というクラス名を追加しました。
  • MTAppJSONTable の中のクラス名を変更しました。
    • "jsontable-clear-cb" => "jsontable-cb"
    • "jsontable-clear-data" => "jsontable-selected-data"
    • "jsontable-clear-cell" => "jsontable-cb-cell"
  • MTAppJSONTable の edit: false のときのプレーンテキストを span.jsontable-input-data で囲みました。
  • MTAppJSONTable の保存時の処理を $.fn.MTAppJSONTable.save としてくくり出しました。
  • MTAppJSONTable で headerPosition: 'top' の場合の tr のクラスに oddeven を交互で付けました。
  • MTAppJSONTable のスタイルを調整しました。

修正点

  • $.MTAppHasCategory が、環境変数 PreviewInNewWindow 1 のときに動作しない不具合、プレビュー時に動作しない不具合を修正
  • MTAppJSONTable で add: false, clear: true を設定したときの削除ボタンが動かないのを修正

Downloads

Released v1.6.0

@tinybeans tinybeans released this Oct 13, 2014 · 263 commits to master since this release

新機能の追加

$(foo).MTAppJSONTable() を追加

fooに指定したtextareaを表形式の入力欄にし、表に入力された値をJSONで元のtextareaに保存します。保存されたJSONはjson_decodeモディファイアでデコードし、MT の配列やハッシュを使って取り出せます。

$("foo").MTAppJSONTable({
    inputType: 'textarea', // 'textarea' or 'input'
    caption: null, // String: Table caption
    header: null, // Object: Table header
    headerOrder: [], // Array: Order of table header
    headerPosition: 'top', // 'top' or 'left'
    footer: false, // If you use the table footer, set true.
    edit: true, // Disable table
    add: false, // true: A user can add rows or columns.
    clear: true, // false: Hide a delete button.
    debug: false // true: show the original textarea.
});

mtappVarsで取れる値を追加

  • mtappVars.modified_by で、記事やテンプレートを最後に編集したユーザー名を取得できるようにした(<mt:Var name="modified_by"> の値と同じ)
  • mtappVars.debug_mode で、環境変数の DebugMode を取得できるようにした( <mt:Var name="config.DebugMode"> の値と同じ)
  • mtappVars. language で、環境変数の DefaultLanguage を取得できるようにした( <mt:Var name="config.DefaultLanguage"> の値と同じ)

変更点

  • mtappVars.author_roles にセットされるロールを、表示中のウェブサイト/ブログに限定するように変更

修正点

  • プラグインの設定でuser.jsを無効にしてもmt-staticのuser.jsが読み込まれ続けるのを修正

Downloads

Released v1.5.0

@tinybeans tinybeans released this Jul 15, 2014 · 299 commits to master since this release

新機能の追加

$.MTAppGetCategoryName();

カテゴリIDを渡して、記事の編集画面ではカテゴリ名を、ウェブページの編集画面ではフォルダ名を取得できます。

$.MTAppGetCategoryName({
    categories: MT.App.categoryList,
    id: 1, // Set Category ID you want to get the label or basename.
    field: 'label' // You can set 'label' or 'basename'
});

修正

  • $.MTAppSlideMenuV2() で、ウェブサイト名が長いときにサブメニューの上にウェブサイト名のテキストが重なって表示されていたバグを修正
  • 記事・ウェブページ・テンプレートのプレビュー画面でもMTAppjQueryが適用されるようにした
  • splitモディファイアをダイナミックパブリッシングに対応させた

Downloads