曜日条件でのアラート

お世話になります。

曜日条件でアラートを設定したいのですが

下記をどう書き換えれば良いか教えて頂けますか?

 

 

| dates.forEach(function(date) { |
|   | // 年月日から日を取得 |
|   | day = date.substr(8, 2); |
|   |   |
|   | if (day === ‘02’) { |
|   | templateHtml = ‘<div class=“alertDefault alert01” title={{>text}}><b>{{>text}}</b></div>’; |
|   | template = $.templates(templateHtml); |
|   | data = {text: ’ 勤怠締切日です’}; |
|   |   |
|   | // スケジュールの予定枠最上部の空白要素を取得 |
|   | space = garoon.schedule.calendar.getDayFirstSpaceElement(‘GROUP_WEEK’, date); |
|   |   |
|   | // 空白要素へhtmlをセット |
|   | $(space).html(template(data)); |
|   |   |
|   | return; |

n さん

はじめまして。ひよこです。

これはなにか元ネタがあるのでしょうか?
アラートといえば window.alert() だと思っているのですが、これは違うので気になりました…。

ちなみに、dates.forEach(function(date) { の中身で、以下のような流れでやればよいかと思います。

  1. date が文字列っぽいので、Date 型に変換する
    書式がわからないので、「javascript 文字列 date 変換」などでググってみてください。
    1. で変換した値で曜日を求める
      https://lab.syncer.jp/Web/JavaScript/Snippet/3/ が参考になりそうです。
    1. で求めた曜日が、アラートを出したい曜日だったら、アラートを出す 

|

if ( 2.で求めた曜日 === アラートを出したい曜日) {
var templateHtml = '<div class="alertDefault alert01" title={{>text}}><b>{{>text}}</b></div>';
var template = $.templates(templateHtml);
var data = {text: ' 表示したいメッセージ'};
var space = garoon.schedule.calendar.getDayFirstSpaceElement('GROUP_WEEK', date);
$(space).html(template(data));
}

もし JavaScript 初心者ということであれば、はじめよう JavaScript などで JavaScript のことを勉強してみるといいかと思いました。
途中から kintone カスタマイズになるのですが、第10回までは普通の JavaScript なので参考になるかと思います。

|

ひよこさん

ありがとうございます。

こちらは、https://developer.cybozu.io/hc/ja/articles/115003963943–Garoon-JavaScript-API-%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AB%E7%B7%A0%E5%88%87%E6%97%A5%E3%82%A2%E3%83%A9%E3%83%BC%E3%83%88%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8Bのサンプルコードを利用しております。

自身はあまり詳しくないため、上記にて試してみます。

ありがとうございました。

 

 

/*
 * Garoon JavaScript API of sample program
 * Copyright (c) 2017 Cybozu
 *
 * Licensed under the MIT License
*/
(function() {
    ‘use strict’;
    var myJQuery = jQuery.noConflict(true);

    (function($) {
        // グループ週画面が表示されたときのイベント
        garoon.events.on(‘schedule.calendar.groupWeekIndex.show’, function(event) {
            var dates = event.dates;

            var templateHtml = ‘’;
            var template;
            var data = {};
            var space;
            var day;
            var weekday;
            

            dates.forEach(function(date) {
                // 年月日から日を取得
                day = date.substr(8, 2);//garoon表示の日を取得
                var dt = new Date(date); // garoon表示上の日のインスタンスを取得
                var dt2 = new Date(dt.getFullYear(), dt.getMonth() + 1, 0);//dtの月末
                console.log(“月末判定” + dt2);

                if (day == dt2.getDate()) {//月末なら勤怠締め切り
                    templateHtml = ‘<div class=“alertDefault alert01” title={{>text}}><b>{{>text}}</b></div>’;
                    template = $.templates(templateHtml);
                    data = {text: ’ 勤怠締切日です’};
                    console.log(“勤怠条件一致”);

                    // スケジュールの予定枠最上部の空白要素を取得
                    space = garoon.schedule.calendar.getDayFirstSpaceElement(‘GROUP_WEEK’, date);

                    // 空白要素へhtmlをセット
                    $(space).html(template(data));

                    return;

                } else //金曜日は掃除
                
                weekday = dt.getDay();//曜日取得
                
                if (weekday == 5) {
                    templateHtml = ‘<div class=“alertDefault alert02” title={{>text}}><b>{{>text}}</b></div>’;
                    template = $.templates(templateHtml);
                    data = {text: ‘朝掃除’};
                    console.log(“掃除条件一致”);

                    // スケジュールの予定枠最上部の空白要素を取得
                    space = garoon.schedule.calendar.getDayFirstSpaceElement(‘GROUP_WEEK’, date);

                    // 空白要素へhtmlをセット
                    $(space).html(template(data));

                    return;
                }
            });
        });

    })(myJQuery);
})();

 

これで出来ますよ

(weekday == 5) の5は金曜日なのでここを変えればOKです

注意

上の条件が一致するとelseは実行されません

同時に表示したい場合は別でファンクションするかif-else-elseに変えてください

 

久富様

ご丁寧にありがとうございます。

試してみます。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。