new DataModel()
DataModelManager#createModel()を呼ぶと、DataModelクラスを生成して返します。
このクラスはEventDispatcherのメソッドを持ちます。イベント関連のメソッドについてはEventDispatcherミックスインを参照してください。
データモデルは、データモデルが管理するデータアイテムに変更があった場合に'itemsChange'イベントが発火します。
- Since:
- 1.1.0
- Mixes In:
- Source:
Members
(static) createQuery
- Since:
- 1.2.0
- Source:
(static) items :Object
データアイテムのidをキー、データアイテムインスタンスを値、として保持します。
Type:
- Object
- Since:
- 1.1.0
- Source:
(static) name :String
Type:
- String
- Since:
- 1.1.0
- Source:
(static) schema :Object
Type:
- Object
- Since:
- 1.1.0
- Source:
(static) size :Integer
Type:
- Integer
- Since:
- 1.1.0
- Source:
Methods
(static) create(objOrArray) → {DataItem|Array.<DataItem>}
データアイテムはこのデータモデルに紐づけられた状態になっています。
指定されたIDのデータアイテムがすでにこのデータモデルに存在した場合は、 既に存在するデータアイテムを返します(新しいインスタンスは生成されません)。
従って、1つのデータモデルは、1IDにつき必ず1つのインスタンスだけを保持します。 なお、ここでIDの他に初期値も渡された場合は、既存のインスタンスに初期値をセットしてから返します。 このとき、当該インスタンスにイベントハンドラが設定されていれば、changeイベントが(通常の値更新と同様に)発生します。
引数にはディスクリプタオブジェクトまたはその配列を指定します。ディスクリプタオブジェクトについてはチュートリアル(データモデル編)>>ディスクリプタの書き方をご覧ください。
Parameters:
Name | Type | Description |
---|---|---|
objOrArray |
Object | Array.<Object> | ディスクリプタオブジェクト、またはその配列 |
Returns:
- Since:
- 1.1.0
- Source:
(static) get(idOrArray) → {DataItem|Array.<DataItem>}
当該IDを持つアイテムをこのデータモデルが保持していない場合はnullを返します。 引数にIDの配列を渡した場合に一部のIDのデータアイテムが存在しなかった場合、 戻り値の配列の対応位置にnullが入ります。
(例:get(['id1', 'id2', 'id3']) でid2のアイテムがない場合、戻り値は [item1, null, item3] のようになる )
Parameters:
Name | Type | Description |
---|---|---|
idOrArray |
String | Array.<String> | ID、またはその配列 |
Returns:
- Since:
- 1.1.0
- Source:
(static) getManager() → {DataManager}
dropModelされたモデルの場合はnullを返します。
Returns:
- Type
- DataManager
- Since:
- 1.1.0
- Source:
(static) has(idOrObj) → {Boolean}
文字列または整数値が渡された場合はIDとみなし、 オブジェクトが渡された場合はデータアイテムとみなします。 オブジェクトが渡された場合、自分が保持しているデータアイテムインスタンスかどうかをチェックします。
従って、同じ構造を持つ別のインスタンスを引数に渡した場合はfalseが返ります。 データアイテムインスタンスを引数に渡した場合に限り(そのインスタンスをこのデータモデルが保持していれば)trueが返ります。
Parameters:
Name | Type | Description |
---|---|---|
idOrObj |
String | Object | ID文字列またはデータアイテムオブジェクト |
Returns:
- Type
- Boolean
- Since:
- 1.1.0
- Source:
(static) remove(objOrItemIdOrArray) → {DataItem|Array.<DataItem>}
当該IDを持つアイテムをこのデータモデルが保持していない場合はnullを返します。 引数にIDの配列を渡した場合に一部のIDのデータアイテムが存在しなかった場合、 戻り値の配列の対応位置にnullが入ります。 (例:remove(['id1', 'id2', 'id3']) でid2のアイテムがない場合、 戻り値は [item1, null, item3]のようになります。) 引数にID(文字列)またはデータアイテム以外を渡した場合はnullを返します。
Parameters:
Name | Type | Description |
---|---|---|
objOrItemIdOrArray |
String | DataItem | Array.<String> | Array.<DataItem> | 削除するデータアイテム |
Returns:
- Since:
- 1.1.0
- Source:
(static) removeAll() → {Array.<DataItem>}
Returns:
- Type
- Array.<DataItem>
- Since:
- 1.1.3
- Source:
(static) toArray() → {Array}
Returns:
- Type
- Array
- Since:
- 1.1.0
- Source:
(static) validate(value, asCreateopt)
第一引数にはチェックしたいオブジェクト、またはチェックしたいオブジェクトの配列を渡してください。
例:
dataModel.validate({ prop1: 5, prop2: 'abc' });
チェックが通らなかった場合は例外オブジェクト、チェックが通った場合はnullを返します
第二引数にtrueを指定した場合は、create()時相当のバリデーションを行います。create()時相当のバリデーションではid指定があるかどうかのチェックがあり、 引数に未指定のプロパティがあれば初期値の設定をしてからバリデーションを行います。デフォルトはfalseで、set()時相当のスキーマチェックのみを行います。
id項目へのセット、depend項目へのセットのチェック及び、depend項目の計算結果のチェック(depend.calcの実行)は行いません。 id項目、depend項目はセットできるかどうかは、セット時のデータアイテムの値に依存するため、validate時にはチェックしません。 depend.calcはその時のデータアイテムに依存したり、副作用のある関数が指定されている場合を考慮し、validate時には実行しません。
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
value |
Object | Array.<Object> | チェックしたいオブジェクトまたはオブジェクトの配列 | ||
asCreate |
Boolean |
<optional> |
false | create()時相当のバリデーションを行うかどうか |
- Since:
- 1.1.9
- 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: