カレンダー形式表示でシフト管理を検討しています。未来のシフトを登録するために月を指定し登録しています。登録完了の画面時から、カレンダー表示に戻ると当月になります。この部分を指定した月の表示にするよい方法hないでしょうか。当方、JavaScriptの経験もなく、何か方法がないかと探しています。何か良いアイデアがあれば、助言願えればと思います。アプリとしては、勤務時間が固定のため、基本日付指定になります。
bigbrosさん、こんにちは。
プロジェクト・アスノートの松田です。
カスタマイズを使わない、一つのやり方を考えてみました。
カレンダー形式の表示のURLを見てみると、次のような形式になっています。
https://mydomain.cybozu.com/k/19/?view=######1#date=2018-09
一番最後の2018-09のところが、表示するカレンダーの年月を指定していることになります。
このビューIDを含むURLを記録しておいて、以下のように文字列(1行)フィールドの自動計算を使うと、
指定した年月のカレンダー表示を行うリンクURLを生成することができます。
(分かりやすくするためにフィールドを使っていますが、URLの部分は、自動計算の式の中に直接書いてもいいと思います)
利用者には、指定年月のカレンダーに戻りたい場合は、このリンクをクリックしてもらうようにする。
プロジェクト・アスノートの松田様
ビッグブラザーズシステム工藤ですと申します。
プロジェクト・アスノートにはお世話になっております。
大変参考になりました。サイボウズKintoneを使いこなすには、このようなアイデアを出していかないと痛感しました。試したところ、とてもいい感じです。有難うございました、今後ともよろしくお願いいちます。
工藤さん
うまく活用できたようで、よかったです。
標準機能をうまく組み合わせたり、運用上の工夫をすることで、いろいろなことができるようになると思います。
また面白い使い方があれば共有していきたいと思います。
プロジェクト・アスノートの松田様
工藤です
しばらくテストしていましたが、参照ではなく入力の繰り返しなので同一のタブで表示できないかとの話が持ち上がりました。リンクに計算項目のように変数としてURLを渡せればよいのですが。いろいろ探してみます。
工藤さん
なるほど。そういう運用であれば同一タブでの遷移のほうが作業性が良いですね!
今は文字列(1行)フィールドにURLを表示されていますか?
文字列内のリンクを開いたときには、デフォルトで別タブで開くような仕様になっているようなので、
この場合は、若干のカスタマイズが必要かと思います。
以下の内容をJavaScriptファイルとして保存(拡張子:js、文字コード:UTF-8)して、アプリに登録してみてください。
ご経験が無いようでしたら、こちらのヘルプが参考になるかと思います。
※うまく動かないようでしたら、アプリのフィールド構成等をもう一度教えてください。
(function () {
"use strict";
kintone.events.on("app.record.detail.show", function (event) {
var links = document.querySelectorAll('.control-value-content-gaia a');
for (var i = 0; i < links.length; i++) {
links[i].onclick = function () {
location.href = this.href;
return false;
};
}
return event;
});
})();
プロジェクト・アスノートの松田様
大変お世話になっております。
工藤です。
頂いた、内容でJavaScriptファイルを作成しアプリに登録してみました。
うまくいきました。
いろいろ試しながら、進んでいる状況です。勉強不足で恥ずかしい限りです。
手探りな状態ですが、いろいろ試しながら進んでいきます。
本当にありがとうございました。