kintone-config-helper
kintone-config-helperとは
kintone-config-helperは、kintoneアプリのフィールド情報やレイアウト情報をカンタンに取得できるライブラリです。
kintone-config-helperを使うと、指定したフィールドタイプに一致するフィールド情報やレイアウト情報を、1回で取得できます。
たとえば、kintoneプラグインの設定画面で、設定項目に日付型のフィールドの一覧を表示するとします。
表示するためには、フィールドを取得するAPIを使って、フィールドの一覧を取得し、フィールドタイプが日付型のフィールドに絞り込む必要があります。
フィールドを取得するAPI
またレイアウト情報も同時に必要な場合には、フォームのレイアウトを取得するAPIも実行する必要があります。
フォームのレイアウトを取得するAPI
GitHub
https://github.com/kintone-labs/config-helper/
ライセンス
ドキュメント
https://github.com/kintone-labs/config-helper/blob/master/README.md
Quickstart
Step1:kintoneアプリの作成
日付フィールドを3つ追加し、kintoneアプリを作成します。
フィールド名は、それぞれ「日付1」「日付2」「日付3」に変更してください。
Step2:プラグインのひな型の作成
次のcreate-pluginの記事を参考に、プラグインのひな型を作成します。
create-plugin
|
|
Step3:設定画面のカスタマイズファイルの修正
プラグインの設定画面で、kintone-config-helperを使うように、プラグイン設定画面用のHTMLとJavaScriptファイルを書き換えます。
-
src/js/config.js
の内容を、次の内容に置き換えます。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
(async (PLUGIN_ID) => { 'use strict'; const buildDropDownForDate = async () => { const dropdown = document.createElement('select'); dropdown.id = 'message'; // kintone-config-helperを使って日付型のフィールドを取得する const dateFields = await KintoneConfigHelper.getFields('DATE'); dateFields.forEach((dataField) => { const option = document.createElement('option'); option.value = dataField.code; option.textContent = dataField.label; dropdown.appendChild(option); }); return dropdown; }; try { const form = document.getElementById('js-submit-setting'); const cancelButton = document.getElementById('js-cancel-button'); const fields = document.getElementById('js-select-fields'); // ドロップダウンフィールドを作る const dropdown = await buildDropDownForDate(); fields.appendChild(dropdown); const config = kintone.plugin.app.getConfig(PLUGIN_ID); if (config.message) { dropdown.value = config.message; } form.addEventListener('submit', (e) => { e.preventDefault(); kintone.plugin.app.setConfig({message: dropdown.value}, () => { window.alert( 'プラグイン設定を保存しました。アプリを更新してください。' ); window.location.href = `/k/admin/app/${kintone.app.getId()}/plugin/`; }); }); cancelButton.addEventListener('click', () => { window.location.href = `/k/admin/app/${kintone.app.getId()}/plugin/`; }); } catch (err) { window.alert(err); } })(kintone.$PLUGIN_ID);
-
src/html/config.html
の内容を次の内容に置き換えます。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
<section class="settings"> <h2 class="settings-heading">kintone-config-helperサンプル</h2> <p class="kintoneplugin-desc">kintone-config-helperは、kintoneアプリのフィールド情報やレイアウト情報をカンタンに取得できるライブラリです。</p> <form id="js-submit-setting"> <div class="kintoneplugin-row"> <label for="fields" class="kintoneplugin-title" style="display: block;">日付型フィールド</label> <div class="kintoneplugin-select-outer"> <div id="js-select-fields" class="kintoneplugin-select"></div> </div> </div> <div class="kintoneplugin-row"> <button type="button" id="js-cancel-button" class="kintoneplugin-button-dialog-cancel">キャンセル</button> <button class="kintoneplugin-button-dialog-ok">保存</button> </div> </form> </section>
Step4:kintone-config-helper.jsのダウンロードと配置
GitHubから次のkintone-config-helper.jsをダウンロードします。
kintone-config-helper.js
ダウンロードしたkintone-config-helper.js
を、「src」内の「js」ディレクトリの下に配置します。
|
|
Step5:マニフェストファイルの修正
プラグインでkintone-config-helper.js
を読み込むように設定します。
manifest.jsonのconfig.jsプロパティで、js/config.js
の上に、js/kintone-config-helper.js
を追加します。
|
|
Step6:プラグインのパッケージング
plugin-packerの記事を参考に、プラグインをパッケージングします。
plugin-packer
|
|
Step7:プラグインの適用
プラグインファイルをkintoneへ追加し、作成したアプリにプラグインを適用します。
手順は、次のページを参照してください。
Step8:動作確認
-
アプリの設定で、追加したプラグインの設定画面を開きます。
-
プルダウンメニューに「日付1」「日付2」「日付3」と表示されていることを確認します。
この記事で紹介しているサンプルコードは、@kintone/create-plugin v8.0.0と2024年1月版kintoneで動作を確認しています。