機能概要
管理画面カスタマイズAPIとは、店舗様専用のテーブルを用意し、
そのテーブルに対して何らかの操作ができる画面を作成・カスタマイズできる仕組みになります。
実際に利用される場面が多いのが、レコードの登録、検索、CSVアップロードの三つの画面になります。
このAPIを利用した実例について、 Apps活用事例 にて掲載しておりますので、こちらの内容と併せてご覧いただけますと幸いです。
管理画面カスタマイズAPIの登録方法について
管理画面カスタマイズAPIの登録には /admin_screen_customizes を利用します。
例えば検索画面を登録をするためのリクエストは次のような形になります。
POST /admin_screen_customizes.json
[
"ADMIN_SCREEN_CUSTOMIZE_POINT": "admin_extra_screen/search",
"DISP_NAME": "SAMPLE_会員毎表示商品検索画面",
"KEY1": "SAMPLE_APP_MEMBER_ITEM",
"OPTION_DATA": {Json情報}
]
それぞれの設定項目に設定する値は次のような内容になります。
- ADMIN_SCREEN_CUSTOMIZE_POINT
-
登録する画面が管理画面カスタマイズAPIのどの画面に該当するかを指定します。
設定可能な値は次の通りです。
登録画面:"admin_extra_screen/input"
検索画面:"admin_extra_screen/search"
CSVアップロード画面:"admin_extra_screen/upload"
出荷実績アップロード画面:"admin_extra_screen/ship_slip_no_upload"
追加カスタマイズ画面:"admin_extra_screen/customize_screen"
- DISP_NAME
-
「会員新規登録」、「商品新規登録」等のように、ページに表示するページ名称を指定します。
- KEY1
-
操作対象のテーブル名を指定します。
- OPTION_DATA
-
画面に表示するカラムについてJson形式で指定します。
詳細については「OPTION_DATA(Json)に設定可能な要素一覧」を参照してください。
OPTION_DATA(Json)に設定可能な要素一覧
共通するJson要素
- description
-
入力された内容をページの説明文として画面に表示します。
- tableName
-
設定が必須の項目です。
ここに入力されたテーブルを対象に処理をします。
管理画面カスタマイズAPI用に準備したテーブル名を指定してください。
- tableDispName
-
tableNameで指定したテーブルの日本語名を入力してください。
- columnDefinition
-
columnDefinitionはフォームなどで入力対象とするカラムについて、画面表示方法等の設定を定義をする要素になります。
検索結果の表示等、入力対象ではないカラムはこの定義を利用しません。
columnDefinitionで設定する要素のうち最低でも設定しないといけない要素は、
"NAME","FORM_TYPE","CHECK_PROPERTY"の三つになります。
また、FORM_TYPE、CHECK_PROPERTYの値によって追加で設定が必要な要素が変わります。
columnDefinitionに設定できる要素は次の通りです。
- NAME
-
設定が必須の項目です。
「MEMBER_ID」のような形で、操作するカラム名を半角大文字で指定してください。
- FORM_TYPE
-
設定が必須の項目です。
入力フォームのtype属性を数値で指定してください。設定可能な値は次の通りです。
0=ラベル, 1=テキスト, 2=プルダウン, 3=チェックボックス, 4=ラジオボタン, 5=テキストエリア, 6=パスワード
- CHECK_PROPERTY
-
設定が必須の項目です。
入力値チェックをどの型で行うかを数値で指定してください。設定可能な値は次の通りです。
1=半角文字列, 2=数値, 3=日付, 4=全角文字列
- FORM_OPTION
-
FORM_TYPEが2,3,4の場合に設定が必要です。
selectタグ等のvalueとテキストの組み合わせを設定します。
選択肢は「valueに設定する値:表示するテキスト,valueに設定する値:表示するテキスト, ... 」といった形で入力してください。
- CHECK_BYTE_SIZE
-
CHECK_PROPERTYが1,4の場合に設定が必要です。
半角文字を1、それ以外を2としてカウントする形で、文字列の入力可能な最大値を設定してください。
- DISP_NAME
-
「会員ID」のような形で、画面に表示するカラムの名前を全角大文字で指定できます。
指定が無い場合、NAMEで指定したカラム名を文字列としてそのまま表示します。
- FORM_SIZE
-
FORM_TYPEが0,1,6の場合設定が可能です。
inputタグのsize属性に設定したい値を入力してください。
- FORM_MAXLENGTH
-
FORM_TYPEが0,1,6の場合設定が可能です。
inputタグのmaxlength属性に設定したい値を入力してください。
- FORM_TEXTAREA_COLS
-
FORM_TYPEが5の場合設定が可能です。
textareaタグのcolsに設定する値を数値で指定してください。
- FORM_TEXTAREA_ROWS
-
FORM_TYPEが5の場合設定が可能です。
textareaタグのrowsに設定する値を数値で指定してください。
- FORM_UPPER
-
trueで設定した場合、入力された内容が自動的に大文字に変換されます。
- FORM_TRIM
-
trueで設定した場合、入力された内容の先頭と末尾の空白が削除されます。
- FORM_IME_MODE
-
IME_MODEに設定する値を数値で指定してください。設定可能な値は次の通りです。
0:何もしない,1:active(自動ON),2:inactive(自動OFF),3:disabled(強制OFF)
- FORM_FREE
-
javascript、スタイルシート等を自由に記述できます。
- CHECK_NEED
-
該当項目を入力必須項目としたい場合にtrueを設定してください。
- CHECK_INT_SIZE
-
CHECK_PROPERTYが2の場合に設定が可能です。
整数部に許可する桁数を設定してください。
- CHECK_DEC_SIZE
-
CHECK_PROPERTYが2の場合に設定が可能です。
小数部に許可する桁数を設定してください。
- CHECK_NEGATIVE_FLG
-
CHECK_PROPERTYが2の場合に設定が可能です。
trueを設定するとマイナスの値を許可します。
- CHECK_REGEX
-
入力された項目をチェックしたい場合に正規表現を記述してください。
- DEFAULT_VALUE
-
入力フォームにデフォルトで入力させておきたい値を設定できます。
- SET_DATE_CHECK_FLAG
-
trueを設定すると、CHECK_PROPERTYを4にせずに、日付のチェックを行うことができます。
- DATE_TIME_CALENDAR_FLAG
-
trueにすると日時カレンダーが表示されます。CHECK_PROPERTYは1,4のいずれかで利用してください。
また、DBがtimestamp型の場合はsqlが正常に動かないので処理カスタマイズAPIでsqlのカスタマイズが必要になります。
- columnComments
-
カラムの説明を示したマッピングです。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME":"NAMEのカラムに表示する説明文","NAME":"NAMEのカラムに表示する説明文",.....]
inputに設定可能なJson要素
- inputColumnsList
-
入力フォームを表示するカラムを設定できるリストです。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME1","NAME2","NAME3",.....]
なお、設定した順に左から画面表示されます。
- ignoreHaitaDate
-
排他チェックを行いたくない場合にtrueを設定してください。
デフォルトの挙動はfalse(排他チェックが行われる)となります。
- backForward
-
登録画面から「戻る」ボタンを押下した際の遷移先を設定できます。
設定可能な値は次の通りです。
検索画面:search
登録画面:input
メニュー画面:admin_menu_selected
- ajaxSelectColumnList
-
AjaxのSELECTを利用するカラムを設定(虫眼鏡アイコンが表示されます)
- name
- 表示する項目
- type
- nameと異なるtypeの場合に設定(nameとtypeが同一の場合はnull設定)
- uniqueColumnsList
-
指定したデータの重複を不許可にします。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次のような形で設定してください。
[["NAME1","NAME2"],["NAME3"],.....]
上記の形だと、NAME1,NAME2を複合した重複チェックとNAME3の重複チェックがそれぞれ働く形になります。
searchに設定可能なJson要素
- searchConditionColumnNameList
-
画面に表示する検索項目カラムのリストを指定できます。
- listColumnNames
-
画面に表示する検索結果カラムのリストを指定できます。
- csvColumnNames
-
検索結果をダウンロードする際に対象とするカラムを設定できるリストです。
未設定の場合listColumnNamesに設定した対象を指定します。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME1","NAME2","NAME3",.....]
- searchFirst
-
ページ表示時に初期検索結果を表示する場合はtrueを設定してください。
- searchResultAbove
-
検索結果を画面上部に表示する場合はtrueを設定してください。
- mustSearchNameList
-
検索条件として入力が必須のカラムを指定できます。
- defaultOrderByStatement
-
昇順で並び替えるカラムを指定できます。
- searchPageOnly
-
検索結果画面に編集ボタンを表示しない場合はtrueを設定してください。
- ajaxSelectColumnList
-
AjaxのSELECTを利用するカラムを設定(虫眼鏡アイコンが表示されます)
- name
- 表示する項目
- type
- nameと異なるtypeの場合に設定(nameとtypeが同一の場合はnull設定)
- isPhysicalNameDisplay
-
CSVダウンロードのヘッダ行に物理名を表示するかどうかを指定できます。
デフォルトの設定値はtrueです。
uploadに設定可能なJson要素
- keyColumnNames
-
アップロード時のキーとして使用するカラムのリストを指定してください。
- csvColumnNames
-
CSVアップロード可能にするカラムを設定できるリストです。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME1","NAME2","NAME3",.....]
- isDeleteInsertMode
-
trueを設定すると、「追加登録 / 一括更新(洗い替え)」のラジオボタンが表示され、洗い替え処理を選択できるようになります。
- isShowRegisteredDownloadButton
-
trueを設定すると、「登録済みデータダウンロード」ボタンが表示され、アップロード画面からでもcsvダウンロードができるようになります。
こちらを利用する場合、検索一覧画面を利用しない場合でも下記設定を含む検索一覧画面のJsonが必要になります。
- tableName
- tableDispName
- csvColumnNames
- columnDefinition
- beforeAfterNameList
-
CSVアップロードで更新した際、更新前、更新後の値を確認したい場合に指定してください。
指定した内容は、 admin/extra/upload/post_process/{name} を利用することで確認できます。
上記APiのarg要素にbefore(更新前)、after(更新後)として格納されます。
なお、上記APIはbeforeAfterNameListを登録せずともsucceeded_key_listの取得は可能です。
- delimiter
-
アップロードの区切り文字を指定できます。
指定がない場合、「,」(カンマ)が利用されます。
- ignoreColumnNames
-
アップロード対象に含まれた場合無視させたいカラムを指定できます。
REGIST_USER_ID,REGIST_DATE,UPDATE_USER_ID,UPDATE_DATEがデフォルトで指定されています。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME1","NAME2","NAME3",.....]
- ignoreDispColumns
-
画面に表示させないカラムを指定できます。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME1","NAME2","NAME3",.....]
- isPhysicalNameDisplay
-
「タイトル行ダウンロード」ボタンよりダウンロードするCSVファイルのヘッダ行に物理名を表示するかどうかを指定できます。
デフォルトの設定値はtrueです。
なお、この設定は「登録済みデータダウンロード」ボタンよりダウンロードするCSVファイルには反映されません。
「登録済みデータダウンロード」ボタンにも反映させたい場合、検索画面のJsonで指定してください。
- isShowTitleDownloadButton
-
「タイトル行ダウンロード」ボタンを表示するかどうかを指定できます。
デフォルトの設定値はtrueです。
- isUseTransactionManage
-
trueの場合、アップロード画面で下記条件のどちらかを選択できるようになります。
「エラーのある行があっても、エラーのない行を登録する」「1件でもエラーのある行があったら全ての行を登録しない」
なお、出荷実績アップロード画面では利用できません。
- startRow
-
下記のような形で指定すると、指定した値の行数からアップロードされたCSVの読み取りを開始します。
"startRow":2
- temporaryColumnNames
-
アップロードフォーマットには含めるが、insert/update対象としないカラムのリストを指定できます。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次の形で設定してください。
["NAME1","NAME2","NAME3",.....]
- uploadConditionHtmlList
-
洗い替えのラジオボタンのような形で、アップロード画面で表示するラジオボタンなどの追加ができます。
"uploadConditionHtmlList":[
{
"title":"testtitle",
"type":2,
"data":[["0","element1"],["1","element2"]],
"name":"TEST_NAME",
"defaultValue":"0"
}
]
- useInitializedColumnsAsCsvTitile
-
trueを指定すると、columnDefinitionを並び順でタイトルとして利用し、アップロードしたデータの1行目から取り込みを開始します。
falseを指定すると、ファイル内の1行目が固定的にタイトルとして利用されます。
デフォルトの設定値はfalseです。
- uniqueColumnsList
-
指定したデータの重複を不許可にします。
対象カラムはcolumnDefinitionに設定したNAMEを利用し次のような形で設定してください。
[["NAME1","NAME2"],["NAME3"],.....]
上記の形だと、NAME1,NAME2を複合した重複チェックとNAME3の重複チェックがそれぞれ働く形になります。
ship_slip_no_uploadに設定可能なJson要素
出荷実績取り込みをする専用のアップロード画面になります。
利用可能な項目については調整中になります。
customize_screenに設定可能なJson要素
customize_screenはiFrameとして読み込ませたい値をJson形式で指定することができるものになります。
その為、共通するJson要素の設定が不要となり、OPTION_DATAに設定可能な値は次の内容のみになります。
- height
-
iFrameの高さを設定する要素です。
- width
-
iFrameの表示幅を設定する要素です。
- src
-
表示したい画面のパスを設定する要素です。
免責事項
免責事項については こちら をご参照ください。