new DataModelManager()
データモデルを管理するデータモデルマネージャクラスです。このインスタンスはh5.core.data.createManager()で作成します。
このクラスはEventDispatcherのメソッドを持ちます。イベント関連のメソッドについてはEventDispatcherミックスインを参照してください。
データモデルマネージャは、データモデルマネージャが管理するデータモデルに変更があった場合に'itemsChange'イベントが発火します。
- Since:
- 1.1.0
- Mixes In:
- Source:
Members
(static) models :Object
createModel()で作成したモデルは、データモデルマネージャの管理下に置かれ、modelsから参照できます。
{モデル名: データモデルインスタンス, ...} の構造を持つオブジェクトです。
Type:
- Object
- Since:
- 1.1.0
- Source:
(static) name :String
h5.core.data.createManager()の第一引数に指定した値が格納されます。
Type:
- String
- Since:
- 1.1.0
- Source:
Methods
(static) beginUpdate()
beginUpdate()が呼ばれると、アップデートセッションを開始します。endUpdate()を呼ぶとアップデートセッションを解除します。
既にアップデートセッション中であれば何もしません。
アップデートセッション中は、このDataModelManager、及びこのの管理下にあるDataModel、DataItemのイベントは発火しません。 endUpdate()が呼ばれた時点で、イベントが発火します。
アップデートセッション中の変更イベントはすべてマージされてendUpdate()時に発火します。
例: // managerの管理下にあるDataItem item.set('value', 'a'); item.addEventListener('change', function(e){ // oldValueとnewValueをalertで表示するイベントリスナ alert('oldValue:' + e.prop.value.oldValue + ', newValue:' + e.prop.value.newValue); }); // アップデートセッション manager.beginUpdate(); item.set('value', 'b'); item.set('value', 'c'); manager.endUpdate(); // "oldValue: a, newValue: c" とアラートが出る
- Since:
- 1.1.0
- Source:
(static) createModel(descriptor) → {DataModel|Array.<DataModel>}
引数にはデータモデルディスクリプタを渡します。
Parameters:
Name | Type | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
descriptor |
Object | Array.<Object> | データモデルディスクリプタまたはその配列
Properties
|
Returns:
- Since:
- 1.1.0
- Source:
(static) dropModel(nameOrModel)
データアイテムを保持している場合、アイテムをこのデータモデルからすべて削除した後 データモデル自体をマネージャから削除します。
Parameters:
Name | Type | Description |
---|---|---|
nameOrModel |
String | DataModel | データモデル名またはデータモデルインスタンス |
- Since:
- 1.1.0
- Source:
(static) endUpdate()
アップデートセッション中でなければ何もしません。イベントの発火など詳細はbeginUpdate()の説明を参照してください。
- Since:
- 1.1.0
- Source:
(static) isInUpdate() → {Boolean}
beginUpdate()が呼ばれてからendUpdate()が呼ばれるまでの間はアップデートセッション中です。
Returns:
- Type
- Boolean
- Since:
- 1.1.0
- Source:
addEventListener(type, listener)
第一引数にイベント名、第二引数にイベントリスナを渡し、イベントリスナを登録します。指定したイベントが起こった時にイベントリスナが実行されます。
イベントリスナは、関数またはEventListener インタフェースを実装するオブジェクト(handleEventプロパティに関数を持つオブジェクト)で指定できます。
指定したイベントに、指定したイベントリスナが既に登録されていた場合は何もしません。
同一のイベントに対して複数回addEventListener()を呼び、複数のイベントリスナを登録した場合は、イベント発火時に登録した順番に実行されます。
第3引数以降が指定されていても無視されます。
Parameters:
Name | Type | Description |
---|---|---|
type |
String | イベント名 |
listener |
function | Object | イベントリスナまたはhandleEventを持つイベントリスナオブジェクト |
- Since:
- 1.1.0
- Mixes In:
- Source:
dispatchEvent(event) → {Boolean}
イベントオブジェクトを引数に取り、そのevent.typeに登録されているイベントリスナを実行します。 イベントオブジェクトにpreventDefault()関数を追加してイベントリスナの引数に渡して呼び出します。
戻り値は『イベントリスナ内でpreventDefault()が呼ばれたかどうか』を返します。
Parameters:
Name | Type | Description |
---|---|---|
event |
Object | イベントオブジェクト |
Returns:
- Type
- Boolean
- Since:
- 1.1.0
- Mixes In:
- Source:
hasEventListener(type, listener) → {Boolean}
第一引数にイベント名、第二引数にイベントリスナを渡し、指定したイベントに指定したイベントリスナが登録済みかどうかを返します。
Parameters:
Name | Type | Description |
---|---|---|
type |
String | イベント名 |
listener |
function | イベントリスナ |
Returns:
- Type
- Boolean
- Since:
- 1.1.0
- Mixes In:
- Source:
removeEventListener(type, listener)
第一引数にイベント名、第二引数にイベントリスナを渡し、指定したイベントから指定したイベントリスナを削除します。
指定したイベント名に指定したイベントリスナが登録されていない場合は何もしません。
Parameters:
Name | Type | Description |
---|---|---|
type |
String | イベント名 |
listener |
function | イベントリスナ |
- Since:
- 1.1.0
- Mixes In:
- Source: