jQuery.imui.imuiPageDialog
- imuiPageDialog
Constructor
サーバ上のページをAjaxで取得し、その内容を表示するダイアログを作成します。
注意事項
- Internet Explorerでは、ダイアログに配置するコンポーネントの組み合わせによっては、ダイアログの高さが意図せず増加する場合があります。
- closeOnEscape="true" かつ modal="true" を指定したダイアログの中でさらに closeOnEscape="true" かつ modal="true" を指定したダイアログを開いた後、オーバーレイ(黒い部分)をクリックし、エスケープキーを押すと2つ目のダイアログではなく1つ目のダイアログが閉じます。これを回避するには closeOnEscape="false" を指定してください。
- 返却するHTMLにテーマがかからないように指定してください。
- リクエストにセットする方法と設定ファイルに記述する方法があります。詳細は以下を参照してください。
- 下記のサンプル「parameter属性にnothemeを指定する方法でテーマが適用されていないHTMLを返却する例」を参照してください。
Parameters
- options : Object
- OptionalDefault: {}
- オプション
- options.url : String
- 表示するページのURL
- options.parameter : Object
- OptionalDefault: {}
- リクエストパラメータ
- options.method : String
- OptionalDefault: GET
- リクエストメソッド
- options.cache : Boolean
- OptionalDefault: false
- 通信結果をキャッシュするかどうかを指定します。
- options.closeOnEscape : Boolean
- OptionalDefault: true
- エスケープキーでダイアログを閉じるかどうかを指定します
- options.draggable : Boolean
- OptionalDefault: true
- ダイアログがドラッグ移動できるかどうかを指定します
- options.height : Number
- OptionalDefault: auto
- ダイアログの縦幅を指定します
- options.autoHeight : Number
- Optional
- ウィンドウの高さを基準とし、相対的な高さ指定します
80 と指定した場合、ウィンドウに対して80パーセントの高さでダイアログを表示します
height 属性を指定していた場合、height 属性は無視されます
本属性は Ver.8.0.20 以降のバージョンで使用可能です
詳細は下記の autoHeight/autoWidth を指定する例 を参照してください - options.autoWidth : Number
- Optional
- ウィンドウの横幅を基準とし、相対的な横幅を指定します
80 と指定した場合、ウィンドウに対して80パーセントの横幅でダイアログを表示します
width 属性を指定していた場合、width 属性は無視されます
本属性は Ver.8.0.20 以降のバージョンで使用可能です
詳細は下記の autoHeight/autoWidth を指定する例 を参照してください - options.modal : Boolean
- OptionalDefault: false
- ダイアログ表示時に背面の操作制限を指定します
- options.position : Array
- OptionalDefault: []
- ダイアログの表示位置を指定します
詳細は下記の position を指定する例 を参照してください - options.resizable : Boolean
- OptionalDefault: true
- ダイアログがリサイズできるかどうかを指定します
- options.stack : Boolean
- OptionalDefault: true
- ダイアログが、他のダイアログの上に積み重ねできるかどうかを指定します
- options.title : String
- OptionalDefault: ''
- ダイアログのタイトルを指定します
- options.width : Number
- OptionalDefault: 300
- ダイアログの横幅を指定します
- options.toolbarLeft : Array
- OptionalDefault: []
- ダイアログのタイトル直下に表示するツールバーへ、左寄せで表示する内容を指定します
詳細は下記の toolbarLeft, toolbarRight を指定する例 を参照してください。 - options.toolbarRight : Array
- OptionalDefault: []
- ダイアログのタイトル直下に表示するツールバーへ、右寄せで表示する内容を指定します
詳細は下記の toolbarLeft, toolbarRight を指定する例 を参照してください。 - options.buttons : Object/Array
- OptionalDefault: undefined
- ダイアログ下部に表示するボタンを指定します
詳細は下記の ボタンを表示する例 を参照してください - options.buttonsStateOnError : String
- OptionalDefault: hide
- Ajax通信の結果、エラーが発生したときにボタンをどのように処理するかを指定します
- hide
- エラーが発生したときに、ボタン表示領域を非表示にします。
- disabled
- エラーが発生したときに、ボタンを非活性 (disabled) にします。
- その他
- 何もしません
- options.onAjaxBeforeSend : Function
- OptionalDefault: $.noop
- ajax通信が発生する直前に呼び出される関数を指定します
明示的にfalseを返したときのみ、通信をキャンセルします - options.onAjaxComplete : Function
- OptionalDefault: $.noop
- ajax通信終了後に呼ばれる関数を指定します
通信結果が成功であったかエラーであったかに関係なく必ず実行されます - options.onAjaxError : Function
- OptionalDefault: $.noop
- ajax通信失敗後に呼ばれる関数を指定します
- options.onAjaxParameterExtend : Function
- OptionalDefault: $.noop
- ajax通信を実行する直前に呼び出される関数名を指定します
ajax関連のメソッド内で一番最初に呼び出されます - options.onAjaxSuccess : Function
- OptionalDefault: $.noop
- ajax通信成功後に呼ばれる関数名を指定します
- options.useHelp : Boolean
- OptionalDefault: false
- サイトツアーを呼び出すアイコンを表示するかどうかを指定します(true: 表示する、false: 表示しない)
8.0.10 から指定できるようになりました
//ページダイアログを表示する
$("<div></div>").appendTo(document.body).imuiPageDialog({
url: 'some/where'
});
<!-- ページダイアログを何度も呼び出す場合はあらかじめ表示領域を定義しておきます -->
<div id="target"></div>
<script type="text/javascript">
//ページダイアログを表示する
$("#target").imuiPageDialog({
url: 'some/where'
});
</script>
//parameter属性にnothemeを指定する方法でテーマが適用されていないHTMLを返却する例
$("<div></div>").appendTo(document.body).imuiPageDialog({
url: 'some/where',
parameter: {'imui-theme-builder-module':'notheme'}
});
//パラメータを指定する例
$("<div></div>").appendTo(document.body).imuiPageDialog({
url: 'some/where',
parameter: {
key1: 'value1',
key2: 'value2'
}
});
//タイトルを指定する例
$("<div></div>").appendTo(document.body).imuiPageDialog({
url: 'some/where',
title: 'Title'
});
//position を指定する例
$("<div></div>").appendTo(document.body).imuiPageDialog({
url: 'some/where',
position: [100, 100]
});
//ボタンを表示する例
$("<div></div>").appendTo(document.body).imuiPageDialog({
url: 'some/where',
buttons: [
{
'id': 'okbutton',
'text': 'OK',
'click': function() { alert('OK'); }
},
{
'text': 'キャンセル',
'click': function() {$(this).imuiPageDialog('close'); }
}
],
//エラーが発生したときに、ボタン表示領域を非表示にする
buttonsStateOnError: 'hide'
});
//toolbarLeft, toolbarRight を指定する例
$("<div></div>").appendTo(document.body).imuiPageDialog({
toolbarLeft: [
{
title: "戻る",
text: "戻る",
iconClass: "im-ui-icon-common-16-back",
href: "javascript:alert('back');"
},
{
title: "カレンダー",
text: "カレンダー",
iconClass: "im-ui-icon-common-16-calendar",
href: "javascript:alert('calendar')"
}
],
toolbarRight: [
{
title: "最新",
iconClass: "im-ui-icon-common-16-refresh",
href: "javascript:alert('refresh')"
}
]
});
//onAjaxBeforeSend, onAjaxComplete, onAjaxError, onAjaxParameterExtend, onAjaxSuccess を指定する例
$("<div></div>").appendTo(document.body).imuiPageDialog({
url: 'some/where',
onAjaxBeforeSend: function() { alert('onAjaxBeforeSend'); },
onAjaxComplete: function() {alert('onAjaxComplete'); },
onAjaxError: function() {alert('onAjaxError'); },
onAjaxParameterExtend: function() {alert('onAjaxParameterExtend'); },
onAjaxSuccess: function() {alert('onAjaxSuccess'); }
});
//autoHeight/autoWidth を指定する例。ウィンドウに対して50パーセントの割合で表示します。
//この割合はウィンドウをリサイズしても維持されます。ダイアログリサイズ後は、リサイズ後のダイアログとウィンドウの割合を維持します
$("<div></div>").appendTo(document.body).imuiPageDialog({
url: 'some/where',
autoHeight: 50,
autoWidth: 50,
maxHeight: 300, // autoHeight を指定していても、ダイアログはこの値より大きくなりません
minWidth: 100 // autoWidth を指定していても、ダイアログはこの値より小さくなりません
});
Static members
Static Methods
ダイアログを閉じます。
//#target は、imuiPageDialog のセレクタを指定してください。
$("#target").imuiPageDialog("close");
ダイアログが開いているかどうかを確認します。
//#target は、imuiPageDialog のセレクタを指定してください。
var dialogIsOpen = $("#target").imuiPageDialog("isOpen");
Events
Event
ダイアログが閉じられようとしたときに発生します。
Parameters
- e : EventObject
- イベント
- ui : Object
- 空のオブジェクト
//パラメータとして指定するとき
$('#id').imuiPageDialog({
url: 'some/where',
beforeClose: function(event, ui) {
}
});
//イベントをバインドするとき
//#target は、imuiPageDialog のセレクタを指定してください。
$('#target').on('imuipagedialogbeforeclose', function(event, ui) {
}
);
ダイアログが閉じられたときに発生します。
Parameters
- e : EventObject
- イベント
- ui : Object
- 空のオブジェクト
//パラメータとして指定するとき
$('#id').imuiPageDialog({
url: 'some/where',
close: function(event, ui) {
}
});
//イベントをバインドするとき
//#target は、imuiPageDialog のセレクタを指定してください。
$('#target').on('imuipagedialogclose', function(event, ui) {
}
);
ダイアログが開かれたときに発生します。
Parameters
- e : EventObject
- イベント
- ui : Object
- 空のオブジェクト
//パラメータとして指定するとき
$('#id').imuiPageDialog({
url: 'some/where',
open: function(event, ui) {
}
});
//イベントをバインドするとき
//#target は、imuiPageDialog のセレクタを指定してください。
$('#target').on('imuipagedialogopen', function(event, ui) {
}
);