久々に投稿いたします。
現在、JavaScriptにより、新規、編集の場合、ルックアップの「ほかのフィールドのコピー」で設定したフィールドを編集可能にしようとしています。
でも、編集の時は問題なくコントロールできるのですが、新規の時や再利用の時は、この編集可能の設定が効きません。
原因に関して、ご教授いただけないでしょうか。
ソースは以下の通りです。
以上、何卒よろしくお願いいたします。
(function() {
"use strict"
var enableCtrl = function (event) {
event.record.項目1.disabled = false;
event.record.項目2.disabled = false;
event.record.項目3.disabled = false;
for(var i in event.record['グループ1'].value){
event.record.グループ1.value[i].value.項目4.disabled = false;
event.record.グループ1.value[i].value.項目5.disabled = false;
}
return event;
};
kintone.events.on(['app.record.edit.show','app.record.create.show'], enableCtrl);
kintone.events.on(['mobile.app.record.edit.show','mobile.app.record.create.show'], enableCtrl);
})();
確認しましたが再現ができませんでした。
プラグインやその他のカスタマイズはございますでしょうか。
nishita様
ご連絡ありがとうございます。
今までは、「ルックアップコピー項目編集」プラグインを入れていましたが、この場合、ステータスによって、入力の可不可をコントロールする必要が出てきましたので、削除してこのJavascriptを入れております。
その他に、プリントクリエイターのJavascriptを入れておりましたが、外して動作を確認しましたが、これも、新規の時は編集不可となっておりました。
全てのプラグインと、Javascriptを外しましたが、同じく、新規・再利用の際には編集不可となってしまいます。
お手数をおかけしますが、お知恵をいただけますと幸いです。
再現ができませんでしたか。
私の環境で動作しているため
ソースの基本的な部分は合っているかと思います。
下記の内容をご確認ください。
・フィールドコードが間違っていないか再度ご確認ください。(半角全角など)
・新規アプリで簡単なものを構築して動作確認してください。
・デバッグしていただき、エラーが発生していないか確認してください。
上記内容から自力で解決できなければ
・使用しているブラウザとPCまたは携帯のどちらかおしえてください。
・各フィールドの型を教えてください。
nishita 様
ご確認、ありがとうございます。
まずは、回答できるところから回答させていただきます。
> フィールドコードが間違っていないか再度ご確認ください。(半角全角など)
ここに、間違いはありませんでした。編集の場合、問題なくこの入力可能が効いています。
> デバッグしていただき、エラーが発生していないか確認してください。
alert 文を埋め込んで、最後まで処理が流れているかを確認しましたが、return eventまで、処理が流れているようです。
> 使用しているブラウザとPCまたは携帯のどちらかおしえてください。
主にPCですが、スマホでも確認したところ、同様の現象でした。
> ・各フィールドの型を教えてください。
「文字列(1列)」と「数値」です。(グループ化しているところも同様です)
これから、新規アプリを作成して、確認してみます。
以上、何卒よろしくお願いいたします。
nishita 様
以下、残りの対応を確認しましたので報告いたします。
>新規アプリで簡単なものを構築して動作確認してください。
1から構築すると、新規、流用とも、ルックアップの入力制限が解除されました。
これを見ると、一旦、プラグインを入れてしまうと、そのプラグインを無効にしようが、何らかの設定が残ってしまうようですね。
これは、アプリを用いて再利用をしても、その設定が残るようです。
過去データの移行は、履歴が消えてしまうため、この機能はあきらめて、ルックアップで読み込む関連項目を編集したい場合、一旦、保存して、編集モードで修正してもらうようにします。
ご回答、ありがとうございました。
私はそういった現象はほとんど発生したことがありません。
また考えにくいと思います。
JSを反映する画面にて不要なJSが残っていたりしないでしょうか。
プラグインの内容によってはゴミが残っていたりするため、
ゴミを削除すれば問題無く動作するかもしれません。
※上記のゴミはアプリのテンプレートでも残ります。
※カスタマインなどはゴミが残る可能性があります。
nishita様
ご連絡ありがとうございます。
うーん、現状としてJSは、上記ソース以外のJSもすべて削除してみたのですが・・・。
状況は変わらず、です。
(もちろん、プラグインも無効化ではなく、アプリから削除しています)
ごみの削除方法が違うのでしょうか。
すいません。ご連絡が遅くなってしまいました。
ゴミの削除はJSの一覧から削除していただければよいと思いますので、
方法はお間違いないと思います。
JSやプラグインを削除してしまえば、
新規のアプリと同じ状況になるので、これで動作すると思ったのですが、、、
本件、ご回答ありがとうございました。
うーん、これはしょうがないですね。
クリーンな状態でアプリを作り直すと、聞くのですが、これまでのデータ履歴が消えてしまうため、このまま運用していきます。
(幸い、編集をすると変更はできますので)
こういうケースもあるのだ、という勉強になりました。
お付き合いいただき、ありがとうございました。