Appspec項目一覧

分類設定項目
基本情報urlInfo・jsonInfo・requestInfo・externalInfo・nextname・beforename
イベント・項目の定義navButtonEvent・enterTabPFKey・validationEvent・selectorEvent・pubsub{Check/Derive/Other}Event・{first/f12}FocusItem・selectbox・checkboxDetail
セッションストレージsessionStorage{Header/Detail/Footer}Key・nextStorageData・beforeStorageData・selectStorageRequestData・selectStorageResponseData
{画面名}.appspec.js(urlInfoの書式)
urlInfo: [
  { app: "{アプリケーション名}/Html/Apps/{画面名}/" }
  , { json: "{アプリケーション名}/Json/Apps/{画面名}/" }
]
要素説明
appHTML・JavaScriptの配置先
jsonJSONの配置先(dataset・validation・tranの各JSONを、このパスから読み込む)
※app・jsonとも、先頭の{アプリケーション名}は、システム名と同じです。
{画面名}.appspec.js(jsonInfoの書式)
jsonInfo: [
  { dataset: "yes" }
  , { validation: "yes" }
]
要素説明
dataset"yes"の場合は{画面名}_dataset.jsonを読み込み、"no"の場合は読み込まない
validation"yes"の場合は{画面名}_validation.jsonを読み込み、"no"の場合は読み込まない
{画面名}.appspec.js(requestInfoの書式)
requestInfo: [
  ["{トランザクション名}", "{リクエストのチェック}", "{レスポンスの編集}", "{エラー処理}"]
]
要素説明
トランザクション名トランザクションの名前(tran.json・sql.jsonのファイル名の{トランザクション名}に対応する任意の文字列)
リクエストのチェックサーバーへの送信前に呼び出すControllerのメソッド名(引数:(リクエストデータ, トランザクション名))
レスポンスの編集message.statusが"OK"の場合に呼び出すControllerのメソッド名(引数:(レスポンスデータ, トランザクション名))
エラー処理message.statusが"OK"以外の場合に呼び出すControllerのメソッド名(引数:(レスポンスデータ, トランザクション名))
{画面名}.appspec.js(externalInfoの書式)
externalInfo: [
  ["{外部プログラム名}", "{トランザクション名}", "{リクエストのチェック}", "{レスポンスの編集}", "{エラー処理}"]
]
要素説明
外部プログラム名呼び出す画面(外部プログラム)の名前
トランザクション名外部プログラムのトランザクションの名前
リクエストのチェックサーバーへの送信前に呼び出すControllerのメソッド名
レスポンスの編集message.statusが"OK"の場合に呼び出すControllerのメソッド名
エラー処理message.statusが"OK"以外の場合に呼び出すControllerのメソッド名
{画面名}.appspec.js(コンストラクタの書式)
constructor(name) {
  super();
  this.name = name;
  this.nextname = "{遷移先の画面名}";
  this.beforename = "{遷移元の画面名}";
}
要素説明
nextname遷移先の画面名
beforename遷移元の画面名
{画面名}.appspec.js(navButtonEventの書式)
navButtonEvent: [
  ["{セレクタ}", "{イベント}", "{メソッド名}"]
]
要素説明
セレクタイベントを受ける要素を指定するCSSセレクタ(例:#照会)
イベントイベントの種類(例:click)
メソッド名呼び出すControllerのメソッド名(引数:イベントオブジェクトevent)
{画面名}.appspec.js(enterTabPFKeyの書式)
enterTabPFKey: {
  Enter: true
  , Tab: true
  , F1: "{メソッド名}"
  , F2: null
  ...
  , F12: "{メソッド名}"
  , ESC: "{メソッド名}"
  , Forms: 0
}
要素説明
Entertrueの場合はEnterキーで次の入力項目にフォーカスを移動し、falseの場合は標準の動作
Tabtrueの場合はTabキーで次の入力項目にフォーカスを移動し、falseの場合は標準の動作
F1〜F12キーの押下時に呼び出すControllerのメソッド名(引数:イベントオブジェクトevent、使用しないキーはnull)
ESCEscapeキーの押下時に呼び出すControllerのメソッド名(引数:イベントオブジェクトevent、使用しない場合はnull)
Formsフォーカス移動の対象にするdocument.formsの番号(通常は0)
{画面名}.appspec.js(validationEventの書式)
validationEvent: [
  ["{セレクタ}", "focus", "{メソッド名}"]
  , ["{セレクタ}", "blur", "{メソッド名}"]
]
要素説明
セレクタ対象のフォームを指定するCSSセレクタ(通常の画面では#mainForm)
イベントfocusまたはblur
メソッド名呼び出すControllerのメソッド名
{画面名}.appspec.js(selectorEventの書式)
selectorEvent: [
  ["[halu-ds-field='{項目名}']", "change", "{メソッド名}"]
]
要素説明
セレクタ対象の要素を指定するCSSセレクタ([halu-ds-field='{項目名}']の形)
イベントイベントの種類(例:change)
メソッド名呼び出すControllerのメソッド名(例:onChangeSelectBox)
{画面名}.appspec.js(pubsubDeriveEventの書式)
pubsubDeriveEvent: [
  ["{イベント名}", "{処理レイヤー}", "{メソッド名}"]
]
要素説明
イベント名カスタムイベントの名前(pubsub.publish("{イベント名}", 引数)で発行)
処理レイヤーメソッドを呼び出すレイヤー(controller・model・view)
メソッド名呼び出す処理レイヤーのメソッド名(引数:pubsub.publishに渡した値)
{画面名}.appspec.js(firstFocusItemの書式)
firstFocusItem: [
  ["field", "{項目名}", "{レコードのid}"]
]
要素説明
指定方式"field"(halu-ds-field属性で項目を特定)
指定値halu-ds-field属性の値(項目名)
レコードのidhalu-ds-id属性の値(未指定の場合は、halu-ds-field属性が一致する先頭の要素が対象)
{画面名}.appspec.js(selectboxの書式)
selectbox: [
  {
    selectorid: "{項目名}"
    , selectorname: ""
    , init: { initvalue: "", inithtml: "", datasetid: "", valuename: "", htmlname: "" }
    , change: { datasetid: "", valuename: "", htmlname: "" }
  }
]
要素説明
selectoridセレクトボックスを特定する名前(halu-ds-field属性の値と一致させる)
selectorname空の文字列を指定(要素はselectoridとhalu-ds-field属性で特定)
init.initvalue先頭に追加する選択肢(例:「メニュー選択」)の値(init.inithtmlが空の文字列の場合は使用されない)
init.inithtml先頭に追加する選択肢の表示テキスト(空の文字列の場合は、先頭の選択肢を追加しない)
init.datasetid選択肢の一覧を持つレコードのid
init.valuename選択肢の値にする項目名(表示名ではなく、内部キーのコード)
init.htmlname選択肢の表示にする項目名
change.datasetid選択された値を格納するレコードのid
change.valuename選択された値を格納する項目名
change.htmlname選択された表示を格納する項目名(不要な場合は空の文字列)
{画面名}.appspec.js(checkboxDetailの書式)
checkboxDetail: [
  {
    selectorid: ""
    , selectorname: ""
    , datasetid: "{レコードのid}"
    , datasetname: "{項目名}"
    , value: { on: "{チェック時の値}", off: "{未チェック時の値}" }
  }
]
要素説明
selectorid空の文字列を指定(要素はdatasetid・datasetnameで特定)
selectorname空の文字列を指定(要素はdatasetid・datasetnameで特定)
datasetidチェックボックスに対応するDatasetのレコードのid
datasetnameチェックボックスに対応するDatasetの項目名
value.onチェックされている場合の値
value.offチェックされていない場合の値
{画面名}.appspec.js(sessionStorageHeaderKeyの書式)
sessionStorageHeaderKey: [
  {
    datasetid: "{レコードのid}"
    , dataname: ["{項目名}", ...]
    , classname: ["{クラス名}", ...]
    , typename: ["{項目の種類}", ...]
  }
]
要素説明
datasetid保存する項目を持つDatasetのレコードのid
dataname保存するDatasetの項目名(配列)
classname項目に対応するHTML要素のクラス名(配列。sessionStorageHeaderKeyで指定)
typename画面の要素の種類(配列。例:"text"、画面の要素に反映しない項目は"dataset")
{画面名}.appspec.js(nextStorageDataの書式)
nextStorageData: [
  {
    datasetid: "{レコードのid}"
    , dataname: ["{項目名}", ...]
    , validation: ["{required/nonrequired}", ...]
    , titlename: ["{項目の表示名}", ...]
  }
]
要素説明
datasetid引き継ぐ項目を持つDatasetのレコードのid
dataname引き継ぐDatasetの項目名(配列)
validation引き継ぎの必須・任意(配列。datanameと同じ順に、"required"(必須)または"nonrequired"(任意))
titlename検証エラーのメッセージに表示する項目名(配列。datanameと同じ順)
{画面名}.appspec.js(beforeStorageDataの書式)
beforeStorageData: [
  {
    datasetid: "{レコードのid}"
    , dataname: ["{項目名}", ...]
    , classname: ["{クラス名}", ...]
    , typename: ["{項目の種類}", ...]
  }
]
要素説明
datasetid値を設定するDatasetのレコードのid
dataname値を設定するDatasetの項目名(配列)
classname項目に対応するHTML要素のクラス名(配列。使用しない場合は[""])
typename画面の要素の種類(配列。例:"text"、画面の要素に反映しない項目は"dataset")
{画面名}.appspec.js(selectStorageRequestDataの書式)
selectStorageRequestData: [
  {
    requestname: "{ダイアログ画面名}"
    , datasetid: "{レコードのid}"
    , dataname: ["{項目名}", ...]
    , value: []
    , dialogid: "{ダイアログのDOM要素のid}"
    , dialogstyle: "{スタイル}"
    , dialogtype: "iframe"
  }
]
要素説明
requestname表示するダイアログ画面名(必須)
datasetid渡す項目を持つDatasetのレコードのid(必須)
datanameダイアログへ渡す項目名(配列。必須)
value空の配列(実行時に、datanameの項目の現在値が自動的に設定される)
dialogidSvelteがマウントするダイアログのDOM要素のid(必須)
dialogstyleダイアログのスタイル(サイズ・位置など。必須)
dialogtypeダイアログ画面の表示方式の指定
・"iframe"を指定した場合:独立したdocumentとして表示(iframe分離方式。新規実装の標準)
・省略した場合:呼び出し元と同じdocumentに組み込んで表示(従来方式。後方互換)
{画面名}.appspec.js(selectStorageResponseDataの書式)
selectStorageResponseData: [
  {
    responsename: "{自画面の画面名}"
    , datasetid: "{レコードのid}"
    , dataname: ["{項目名}", ...]
    , value: []
    , afterfunction: ""
    , cancelfunction: ""
  }
]
要素説明
responsename自画面(呼び出し元)の画面名
datasetid受け取った値を格納するDatasetのレコードのid
dataname受け取る項目名(配列)
value空の配列
afterfunction選択データがある場合に発行するイベントの名前(pubsub{Check/Derive/Other}Eventに登録したイベント名、使用しない場合は空の文字列)
cancelfunctionキャンセル時に発行するイベントの名前(pubsub{Check/Derive/Other}Eventに登録したイベント名、使用しない場合は空の文字列)