こんにちは。初質問の Toshi と申します。
kintoneを使っていると、下のスクリーンショットのように「緑のアラート(ノーティス : notice)」が表示されることがあります。
kintone APIを使った処理後に、「○○を実行しました」のような文面を、緑のアラートで表示させることはできないでしょうか。
もし表示させられるようなら、その表示時間を指定することはできますでしょうか。(標準では一瞬で消えるため、多くの場合何が書いてあるか理解できる前に消えています。3秒くらいは表示させられるといいのですが。)
「レコードにエラーを表示する」にありますように、eventオブジェクトのerrorプロパティに「○○を実行しました」を値としてセットすれば、「赤いアラート」として表示させることはできます。しかし、これではエラーが発生したかのような印象となってしまいます。「正常動作した」ということを伝えたいので、「緑のアラート」で表示したいのです。
あるいは、「赤いアラート」の色を変更する方法があれば、それでもかまいません。
よろしくお願いいたします。
Toshi Akazawa さん
submitイベント等におけるevent.errorへの仕込みからのnotifierに対してDOM操作で対応しようとすると、
.notifier-error-cybozu, .notifier-timeout-cybozu { background-color: #e74c3c; }
という指定がなされているので、これをいじることになりそうです。ただ、closeボタンが画像で入っていたので、そこが赤のまま残りそうでした。
代案としては、kintoneのトーンに合わせたいということであれば、プラグイン作成用に公開されているスタイルで、51-us-default.cssというファイルにメッセージの(赤イメージの)スタイルが
.kintoneplugin-alert {
position: relative;
display: block;
margin: 8px 0;
padding: 4px 18px;
background: #e74c3c;
color: #f6f6f6;
}
このように記載があるので、これを参考に緑イメージのメッセージのスタイルないしイベントを作るか、SweetAlertのようなライブラリを利用するかが考えられそうです。
Ryu Yamashita さん
コメントいただきありがとうございます。
DOM操作で対応しようかと考え、テストアプリ(文字列1行のフィールど1個のみ配置)を作製して、まずは通常の赤いアラートを出すようにしてみました。
— 先ほどの投稿は勘違いがありましたので、改めて検証の上、再投稿させていただきます。すみません m(…)m
— 以下、再投稿です。
例えば、レコード編集イベントの「イベント発生時に実行できる操作」一覧から「レコードにエラーを表示する」を読んでみますと、次のように書いてあります。
ハンドラーが event オブジェクトの error にエラーメッセージを代入して
event オブジェクトを return した場合、フィールドの値の書き換えと
編集可/不可の設定はキャンセルされ、画面の上部にエラーメッセージが
表示されます。
今回「フィールド値の変更」が実行された上で「緑のアラート」を出せたらよいなと考えておりました。しかし、「フィールド値の書き換え」がキャンセルさせる仕様ということなので、断念することにします。
お騒がせしてすみませんでした。
Sweet Alertも試してみました。
しかし、Not valid! と怒られてしまいました(^^;
もうちょっと修行して出直しますw
見た感じ、SweetAlertのスタイルシートが設定されてないように思えます。JavaScript/CSSカスタマイズの設定画面を確認されると良いかもしれません。