GCalendar Holidaysを Datepickerの複数カレンダーに対応させました

匿名さんからのコメントで、jQuery UI Datepickerの複数カレンダー(numberOfMonths)の場合にGCalendar Holidaysで1つ目の月しか祝日が表示されないことを教えてもらったので、複数カレンダーでも祝日が表示されるようにアップデートしました。バージョン0.5.0です。

GoogleカレンダーからJSONPで日本の祝日一覧を取得 – GCalendar Holidays [ゼロと無限の間に]

GCalendar Holidaysの更新は久しぶりです。

それにしても、Googleカレンダーの祝日から今年の春分の日が消えているのはなぜだろう。この間まで表示されてた気がするけどなあ…。

“GCalendar Holidaysを Datepickerの複数カレンダーに対応させました” への4件の返信

  1. GCalendar Holidaysを便利に使わせていただいてます。
    このライブラリを使用して、毎週設定されているカレンダーが正しく表示されていなかったので、
    誠に勝手ながらフィードバックさせていただきます。

    毎週設定されている物はどうやらgdata.feed.entryのlengthが1で、
    全部gdata.feed.entry.gd$whenにまとめられていました。

    そこで、GCalHolidays._entries2daysの
    for (var i = 0; i 1){
    for (var i=0; i < entries[0].gd$when.length;i++){
    var ymd = entries[0].gd$when[i].startTime.split("T")[0].split("-");
    var title = entries[0].title.$t;
    //年月日は使いやすいように数値にする
    days[i] = { year: ymd[0] * 1, month: ymd[1] * 1, date: ymd[2] * 1, title: title };
    }
    }else{
    for (var i = 0; i < len; i++) {
    var ymd = entries[i].gd$when[0].startTime.split("T")[0].split("-");
    var title = entries[i].title.$t;
    //年月日は使いやすいように数値にする
    days[i] = { year: ymd[0] * 1, month: ymd[1] * 1, date: ymd[2] * 1, title: title };
    }
    }
    以上のように改変させていただきました。
    今後の修正の参考にしていただければ幸いです。

  2. コメントに正しくソースが記述されてなかったので・・・
    GCalHolidays._entries2daysメソッドの
    entriesのlengthを条件にループしているところを
    if(entries.length == 1 && entries[0].gd$when.length > 1)の条件を加えてます。
    if文の中身はymdに代入する値を変えている以外は処理は同じです。
    うまくソースがはれなかったみたいですいません;

  3. rainさん、コメントありがとうございます。
    コードの改善方法まで教えて頂いてありがとうございます!
    どこかのタイミングで取り込ませて頂こうと思います…。

    コメントのソースの一部が消えたのはきっとWordPressのせいですね。
    codeタグで囲めば大丈夫だったりするんですかね。


    for (var i = 0; i < foo.length; i++) { bar(); }

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください