Class: DataItem

DataItem

new DataItem()

データアイテムクラス

データアイテムはDataModel#create()で作成します。

このクラスはEventDispatcherのメソッドを持ちます。イベント関連のメソッドについてはEventDispatcherミックスインを参照してください。
データアイテムは、アイテムが持つ値に変更があった場合に'change'イベントが発火します。

Since:
  • 1.1.0
Mixes In:
Source:

Methods

(static) get(keyopt)

指定されたキーのプロパティの値を取得します。

引数にプロパティ名を指定すると、アイテムが持つそのプロパティの値を返します。

引数の指定がない場合は、{id: '001', value: 'hoge'} のような、そのデータアイテムが持つ値を格納したオブジェクトを返します。

Parameters:
Name Type Attributes Description
key String <optional>
プロパティキー。指定のない場合は、アイテムの持つプロパティ名をキーに、そのプロパティの値を持つオブジェクトを返します。
Returns:
Any 指定されたプロパティの値。引数なしの場合はプロパティキーと値を持つオブジェクト。
Since:
  • 1.1.0
Source:

(static) getModel() → {DataModel}

DataItemが属しているDataModelインスタンスを返します。

このメソッドは、DataModelから作成したDataItemのみが持ちます。createObservableItemで作成したアイテムにはこのメソッドはありません。 DataModelに属していないDataItem(removeされたDataItem)から呼ばれた場合はnullを返します。

Returns:
自分が所属するデータモデル
Type
DataModel
Since:
  • 1.1.0
Source:

(static) regardAsNull(key) → {Boolean}

type:[]であるプロパティについて、最後にセットされた値がnullかどうかを返します。

type:[]としたプロパティは常にObservableArrayインスタンスがセットされており、set('array', null); と呼ぶと空配列を渡した場合と同じになります。

そのため、「実際にはnullをセットしていた(item.set('array', null))」場合と「空配列をセットしていた(item.set('array,' []))」場合を区別したい場合にこのメソッドを使ってください。

データアイテムを生成した直後は、スキーマにおいてdefaultValueを書いていないまたはnullをセットした場合はtrue、それ以外の場合はfalseを返します。

なお、引数に配列指定していないプロパティを渡した場合は、現在の値がnullかどうかを返します。

Parameters:
Name Type Description
key String プロパティ名
Returns:
現在指定したプロパティにセットされているのがnullかどうか
Type
Boolean
Since:
  • 1.1.0
Source:

(static) set(var_args)

指定されたキーのプロパティに値をセットします。

複数のプロパティに対して値を一度にセットしたい場合は、{ キー1: 値1, キー2: 値2, ... }という構造をもつオブジェクトを1つだけ渡してください。

1つのプロパティに対して値をセットする場合は、 item.set(key, value); のように2つの引数でキーと値を個別に渡すこともできます。

このメソッドを呼ぶと、再計算が必要と判断された依存プロパティは自動的に再計算されます。 再計算によるパフォーマンス劣化を最小限にするには、1つのアイテムへのset()の呼び出しはできるだけ少なくする (引数をオブジェクト形式にして一度に複数のプロパティをセットし、呼び出し回数を最小限にする)ようにしてください。

Parameters:
Name Type Description
var_args Any 複数のキー・値のペアからなるオブジェクト、または1組の(キー, 値)を2つの引数で取ります。
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:
イベントリスナ内でpreventDefault()が呼ばれたかどうか。
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: