Changeset 501

Show
Ignore:
Timestamp:
10/16/07 15:46:35 (6 years ago)
Author:
gyuque
Message:

lang/javascript/userscripts/syobocalplus.user.js: added show all/hide all buttons

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/userscripts/syobocalplus.user.js

    r500 r501  
    44// @description    syobocal++ 
    55// @include        http://cal.syoboi.jp/ 
     6// @include        http://cal.syoboi.jp/?date* 
    67// ==/UserScript== 
    78 
    89(function(){ 
     10 
     11// 固定チャンネル 
     12//  ここに書いてあるチャンネルは、順番と色が固定される。 
     13//  ここに書かれていないチャンネルが番組表に現れた場合は、後ろに追加される。 
    914 
    1015// 首都圏 
     
    3742*/ 
    3843 
    39 // ----------------------------------- 
    40         var TagColors = ["#f00", "#090", "#06f", "#d60",  
    41                                          "#905", "#666", "#298", "#dc4", 
    42                                          "#964", "#111", "#f49", "#d98", 
    43                                          "#820"]; 
     44// チャンネルの色 
     45var TagColors = ["#f00", "#090", "#06f", "#d60",  
     46                                 "#905", "#666", "#298", "#dc4", 
     47                                 "#964", "#111", "#f49", "#d98", 
     48                                 "#820"]; 
     49 
     50// 非表示の番組の透明度 
     51var HiddenAlpha = 0.2; 
     52 
     53// ----------------------------------- 
    4454 
    4555        var hasClass = function(e, name) 
     
    133143                }, 
    134144 
     145                map: function(proc) { 
     146                        for (var chname in this.namedMap) 
     147                                proc(this.namedMap[chname], chname); 
     148                }, 
     149 
    135150                commitChannelFilterStyles: function() { 
    136151                        var rules = []; 
     
    140155 
    141156                                var fclass = "hide-ch-"+ch.index; 
    142                                 rules.push("."+fclass+" ."+ch.chclass+"{-moz-opacity: 0.2;}"); 
     157                                rules.push("."+fclass+" ."+ch.chclass+"{-moz-opacity: "+HiddenAlpha+";}"); 
    143158 
    144159                                ch.filterClass = fclass; 
     
    158173                var ul = document.createElement("ul"); 
    159174                document.body.appendChild(ul); 
     175                ul.innerHTML = "\u5168\u3066"; 
     176                 
     177                var btnAllHide = document.createElement("button"); 
     178                btnAllHide.innerHTML = "\u96a0\u3059"; 
     179 
     180                var btnAllShow = document.createElement("button"); 
     181                btnAllShow.innerHTML = "\u8868\u793a"; 
     182 
     183                ul.appendChild(btnAllHide); 
     184                ul.appendChild(btnAllShow); 
     185 
     186                btnAllHide.addEventListener("click", function(){_this.toggleAll(false);}, false); 
     187                btnAllShow.addEventListener("click", function(){_this.toggleAll(true); }, false); 
     188 
    160189                ul.className = "chselector"; 
    161190 
     
    185214                        var _this = this; 
    186215                        chk.addEventListener("change", function(){_this.onToggle(chk, chobj)}, false); 
     216                        chobj.toggleUI = chk; 
     217                }, 
     218 
     219                toggleAll: function(b) { 
     220                        var _this = this; 
     221                        this.chManager.map(function(ch){ch.toggleUI.checked=b; _this.onToggle(ch.toggleUI, ch); }); 
    187222                }, 
    188223