エレメント @ AboutPetanize

ルートにぶら下がるアイテムを「エレメント」という。エレメントは他のアイテムをエレメントとして所持することができる。エレメントの更新はルートアイテムを介して行う。一つのエレメントだけを更新するケースでもルートアイテム及びそれが所持するすべてのエレメントを更新することになる。

オーナーの情報を持たない(親からもらえる)ので、オーナーを判定する機能はコンテンツとは違う形となる。

エレメントの作成はJavaScriptのエディタを必要とする。親とやり取りするので、初期化時に親を設定する機能が必要。エレメントを拡張できるので拡張のベース機能が必要。それがを実行するブースト機能が必要。

サーバ側ではエレメントを新規にビルドするケースは存在しないらしい。

ElementPlugin < Content

ClassMethods

list_opt_for_element

show_opt_for_element

json_opt_for_element

self.fold_extend_settings params

InstanceMethods

boost

parent

parent= v

dom_element_id column

elementとして扱う時のdomのIDを返す。parentを参照できる必要がある。dom_parent_item_id + dom_item_id

  • panel-1-ground_color-1
  • panel-1-ground_color-1-code

dom_parent_id

parentのdom_idを返す。

dom_parent_item_id

parentのdom_item_idを返す。

  • panel-1

element_index

parentの要素indexを返す。

data_element_attributes column = nil, opt = {}

  • data_item_attributes
  • dom_parent_id
  • element_index

PanelElementPlugin < Element

パネルにぶら下がるためのElementに共通する機能をまとめた拡張。

ClassMethods

has_picture?

エレメントが素材を参照しているか、どうかを返す。

素材を利用したエレメントはクレジットを表示したり、アイコン表示をするので、それらの機能が有効になっているかどうかを判定する必要がある。

InstanceMethods

extend_column

parts

engine_path_name

scenario_template with_engine = false

element_face_template with_engine = false

scenario

plain_scenario