はじめに
ここでは、kintoneでプラグインを開発する際によくつまずいてしまうポイントや、プラグイン開発において避けては通れない道など、あるあるネタを中心としたTipsをまとめていきたいと思います。
なお、基本的な開発手順につきましては、 kintoneプラグイン開発手順 を参照してください。
①すでに設定値がある場合は、プラグイン設定画面を表示した時に設定値をセットする
せっかくプラグイン設定画面で規定値をセットしてもらっても、プラグイン設定画面を再表示した時に、何を設定していたか表示してあげないと不親切ですね。
(例:プラグイン設定で「埼玉県」を選択したのに、再びプラグイン設定画面を開いた時にデフォルトの「北海道」に戻ってしまう)
これはプラグインのプラグイン設定画面に対するJavaScriptの中に、以下のような記述をすることで解決できます。
|
|
この場合、保存時にconf.elmをsetConfig関数で保存しておき、それが入っていれば、これは2度目以降のアクセスなのだということが分かります。
したがって、IDがelementの要素は入力必須か、必須でない場合は保存時conf.elmにデフォルト値を入れてあげる必要があります。
注意
- 上記は文字列フィールド等の場合で、プルダウンやチェックボックス等の場合にはデータの授受方法がやや異なります。
②プラグインで使用するフィールドを自動的に追加する
既存のアプリではなく、新規アプリを作成してもらうことを前提としたプラグインというものがよくあります。
その場合、フィールドまで作ってもらうのは少々気が引けます。
そこで、以下のコードを書くことで、プラグインで使用するフィールドを自動的に追加してしまいましょう。
|
|
この例では「名前」という文字列フィールドと、IDという数値フィールドを追加しています。
なお、追加処理の終了後にリロードしているのは、次の章段で説明するような、作ったフィールドをすぐにプラグイン設定画面で使用したいためです。
もし「フィールドは作るだけで、別にプラグイン設定画面では使わないよ」という場合、リロードは不要です。
③プラグインで使用するフィールドコードを直接入力させず、存在するフィールドの中からプルダウンで選択させる
これはすなわち下図のようなUIです。
フィールドコードを直接入力させると、開発者側は楽なのですが、ユーザー側としては「フィールドコードを確認して入力する」という手間が発生してしまいます。
これは以下のようなHTML、コードにて実現可能です。
HTML
|
|
プラグイン設定画面のJavaScript
|
|
少々ややこしいですが、おおむね以下のような処理をしています。
- フォーム情報を取得
- フィールドの数だけ回す。
- そのプルダウンで表示したいフィールドタイプ(上記例の場合、文字列と日付)のものだけプルダウンに追加する。
- ただし、すでに規定値がある場合は、規定値が最上位へ来るようにする。
また、プラグイン設定画面の表示上は「フィールド名」にしたいため、optionタグのテキストはフィールド名を挿入し、name属性にフィールドコードを挿入しています。
これは、後のカスタマイズでこのフィールドコードを使用するためです。
プラグイン設定保存時にプルダウンで選択された選択肢のname属性をsetConfig関数で保存しておくことで、後のカスタマイズでそのフィールドコードを使用できます。
注意
「51-modern-default.css」が必要です。
おまけ
@kintone/rest-api-client や kintone-ui-component を使うと、上記の処理をより楽に実装できます。
- kintone REST APIをJavaScriptで扱うときに必要な処理をまとめたライブラリ
- @kintone/rest-api-client @kintone/rest-api-clientを使ってフィールド情報を取得できます。
- kintoneライクなUIパーツを簡単に作ることができるライブラリ
-
kintone-ui-component
JavaScript内でHTMLの要素や属性を書くことなくkintoneに調和するUIを生成できます。
-
kintone-ui-component
④プラグインで使用するカスタマイズビューを自動的に追加する
プラグインでカスタマイズビューを使用することがありませんか?
私はよくあります。
そこで、以下のようにカスタマイズビューを自動で用意してあげたら、ユーザーは楽チンですね。
|
|
終わりに
プラグイン開発のあるあるTipsをお送りしましたが、いかがでしたでしょうか。
おおむねどれもプラグインを作ろうと思うと通る道かと思います。
皆様のすばらしいkintoneプラグイン開発ライフの一助になれたら幸いでございます。
このTipsは、2025年7月版kintoneで動作を確認しています。
