Skip to content

Commit acba96b

Browse files
committed
[refactor] improve date render and bind
1 parent faa3471 commit acba96b

File tree

4 files changed

+81
-110
lines changed

4 files changed

+81
-110
lines changed

‎src/js/control.js‎

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -822,8 +822,8 @@ var control = (function(){
822822
func: function(){
823823
render();
824824
dependents();
825-
date.clear();
826-
date.render();
825+
date.render.clear();
826+
date.render.all();
827827
greeting.clear();
828828
greeting.render();
829829
transitional.clear();
@@ -835,8 +835,8 @@ var control = (function(){
835835
type: "radio",
836836
func: function(){
837837
dependents();
838-
date.clear();
839-
date.render();
838+
date.render.clear();
839+
date.render.all();
840840
greeting.clear();
841841
greeting.render();
842842
transitional.clear();
@@ -847,8 +847,8 @@ var control = (function(){
847847
path: "header.date.day.weekStart",
848848
type: "radio",
849849
func: function(){
850-
date.clear();
851-
date.render();
850+
date.render.clear();
851+
date.render.all();
852852
greeting.clear();
853853
greeting.render();
854854
transitional.clear();
@@ -859,8 +859,8 @@ var control = (function(){
859859
path: "header.date.day.weekStart",
860860
type: "radio",
861861
func: function(){
862-
date.clear();
863-
date.render();
862+
date.render.clear();
863+
date.render.all();
864864
greeting.clear();
865865
greeting.render();
866866
transitional.clear();
@@ -872,8 +872,8 @@ var control = (function(){
872872
type: "radio",
873873
func: function(){
874874
dependents();
875-
date.clear();
876-
date.render();
875+
date.render.clear();
876+
date.render.all();
877877
greeting.clear();
878878
greeting.render();
879879
transitional.clear();
@@ -884,8 +884,8 @@ var control = (function(){
884884
path: "header.date.day.length",
885885
type: "radio",
886886
func: function(){
887-
date.clear();
888-
date.render();
887+
date.render.clear();
888+
date.render.all();
889889
greeting.clear();
890890
greeting.render();
891891
transitional.clear();
@@ -896,8 +896,8 @@ var control = (function(){
896896
path: "header.date.day.length",
897897
type: "radio",
898898
func: function(){
899-
date.clear();
900-
date.render();
899+
date.render.clear();
900+
date.render.all();
901901
greeting.clear();
902902
greeting.render();
903903
transitional.clear();
@@ -910,8 +910,8 @@ var control = (function(){
910910
func: function(){
911911
render();
912912
dependents();
913-
date.clear();
914-
date.render();
913+
date.render.clear();
914+
date.render.all();
915915
greeting.clear();
916916
greeting.render();
917917
transitional.clear();
@@ -922,8 +922,8 @@ var control = (function(){
922922
path: "header.date.date.display",
923923
type: "radio",
924924
func: function(){
925-
date.clear();
926-
date.render();
925+
date.render.clear();
926+
date.render.all();
927927
greeting.clear();
928928
greeting.render();
929929
transitional.clear();
@@ -934,8 +934,8 @@ var control = (function(){
934934
path: "header.date.date.display",
935935
type: "radio",
936936
func: function(){
937-
date.clear();
938-
date.render();
937+
date.render.clear();
938+
date.render.all();
939939
greeting.clear();
940940
greeting.render();
941941
transitional.clear();
@@ -946,8 +946,8 @@ var control = (function(){
946946
path: "header.date.date.ordinal",
947947
type: "checkbox",
948948
func: function(){
949-
date.clear();
950-
date.render();
949+
date.render.clear();
950+
date.render.all();
951951
greeting.clear();
952952
greeting.render();
953953
transitional.clear();
@@ -960,8 +960,8 @@ var control = (function(){
960960
func: function(){
961961
render();
962962
dependents();
963-
date.clear();
964-
date.render();
963+
date.render.clear();
964+
date.render.all();
965965
greeting.clear();
966966
greeting.render();
967967
transitional.clear();
@@ -973,8 +973,8 @@ var control = (function(){
973973
type: "radio",
974974
func: function(){
975975
dependents();
976-
date.clear();
977-
date.render();
976+
date.render.clear();
977+
date.render.all();
978978
greeting.clear();
979979
greeting.render();
980980
transitional.clear();
@@ -985,8 +985,8 @@ var control = (function(){
985985
path: "header.date.month.ordinal",
986986
type: "checkbox",
987987
func: function(){
988-
date.clear();
989-
date.render();
988+
date.render.clear();
989+
date.render.all();
990990
greeting.clear();
991991
greeting.render();
992992
transitional.clear();
@@ -998,8 +998,8 @@ var control = (function(){
998998
type: "radio",
999999
func: function(){
10001000
dependents();
1001-
date.clear();
1002-
date.render();
1001+
date.render.clear();
1002+
date.render.all();
10031003
greeting.clear();
10041004
greeting.render();
10051005
transitional.clear();
@@ -1010,8 +1010,8 @@ var control = (function(){
10101010
path: "header.date.month.length",
10111011
type: "radio",
10121012
func: function(){
1013-
date.clear();
1014-
date.render();
1013+
date.render.clear();
1014+
date.render.all();
10151015
greeting.clear();
10161016
greeting.render();
10171017
transitional.clear();
@@ -1022,8 +1022,8 @@ var control = (function(){
10221022
path: "header.date.month.length",
10231023
type: "radio",
10241024
func: function(){
1025-
date.clear();
1026-
date.render();
1025+
date.render.clear();
1026+
date.render.all();
10271027
greeting.clear();
10281028
greeting.render();
10291029
transitional.clear();
@@ -1036,8 +1036,8 @@ var control = (function(){
10361036
func: function(){
10371037
render();
10381038
dependents();
1039-
date.clear();
1040-
date.render();
1039+
date.render.clear();
1040+
date.render.all();
10411041
greeting.clear();
10421042
greeting.render();
10431043
transitional.clear();
@@ -1048,8 +1048,8 @@ var control = (function(){
10481048
path: "header.date.year.display",
10491049
type: "radio",
10501050
func: function(){
1051-
date.clear();
1052-
date.render();
1051+
date.render.clear();
1052+
date.render.all();
10531053
greeting.clear();
10541054
greeting.render();
10551055
transitional.clear();
@@ -1060,8 +1060,8 @@ var control = (function(){
10601060
path: "header.date.year.display",
10611061
type: "radio",
10621062
func: function(){
1063-
date.clear();
1064-
date.render();
1063+
date.render.clear();
1064+
date.render.all();
10651065
greeting.clear();
10661066
greeting.render();
10671067
transitional.clear();
@@ -1072,8 +1072,8 @@ var control = (function(){
10721072
path: "header.date.separator.show",
10731073
type: "checkbox",
10741074
func: function(){
1075-
date.clear();
1076-
date.render();
1075+
date.render.clear();
1076+
date.render.all();
10771077
greeting.clear();
10781078
greeting.render();
10791079
transitional.clear();
@@ -1084,8 +1084,8 @@ var control = (function(){
10841084
path: "header.date.format",
10851085
type: "radio",
10861086
func: function(){
1087-
date.clear();
1088-
date.render();
1087+
date.render.clear();
1088+
date.render.all();
10891089
greeting.clear();
10901090
greeting.render();
10911091
transitional.clear();
@@ -1096,8 +1096,8 @@ var control = (function(){
10961096
path: "header.date.format",
10971097
type: "radio",
10981098
func: function(){
1099-
date.clear();
1100-
date.render();
1099+
date.render.clear();
1100+
date.render.all();
11011101
greeting.clear();
11021102
greeting.render();
11031103
transitional.clear();

‎src/js/date.js‎

Lines changed: 33 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,7 @@
11
vardate=(function(){
22

3-
varbind=function(){
4-
window.setInterval(function(){
5-
clear();
6-
render();
7-
},1000);
8-
};
9-
10-
varclear=function(){
11-
vardate=helper.e(".date");
12-
while(date.lastChild){
13-
date.removeChild(date.lastChild);
14-
};
15-
};
16-
173
var_makeTimeObject=function(){
18-
vardate=helper.getDateTime();
19-
returndate;
4+
returnhelper.getDateTime();
205
};
216

227
var_month=function(index){
@@ -29,11 +14,29 @@ var date = (function(){
2914
returnall[index];
3015
};
3116

32-
varrender=function(){
33-
var_date=function(){
17+
varbind={};
18+
19+
bind.tick=function(){
20+
window.setInterval(function(){
21+
render.clear();
22+
render.all();
23+
},1000);
24+
};
25+
26+
varrender={};
27+
28+
render.clear=function(){
29+
vardate=helper.e(".date");
30+
while(date.lastChild){
31+
date.removeChild(date.lastChild);
32+
};
33+
};
34+
35+
render.all=function(){
36+
if(state.get().header.date.date.show||state.get().header.date.day.show||state.get().header.date.month.show||state.get().header.date.year.show){
3437
vardate=helper.e(".date");
3538
vardateObject=_makeTimeObject();
36-
varaction={
39+
varwordOrNumber={
3740
day: {
3841
word: function(value){
3942
return_day(value);
@@ -86,48 +89,20 @@ var date = (function(){
8689
}
8790
}
8891
};
89-
dateObject.day=action.day[state.get().header.date.day.display](dateObject.day);
90-
dateObject.date=action.date[state.get().header.date.date.display](dateObject.date);
91-
dateObject.month=action.month[state.get().header.date.month.display](dateObject.month);
92-
dateObject.year=action.year[state.get().header.date.year.display](dateObject.year);
92+
dateObject.day=wordOrNumber.day[state.get().header.date.day.display](dateObject.day);
93+
dateObject.date=wordOrNumber.date[state.get().header.date.date.display](dateObject.date);
94+
dateObject.month=wordOrNumber.month[state.get().header.date.month.display](dateObject.month);
95+
dateObject.year=wordOrNumber.year[state.get().header.date.year.display](dateObject.year);
9396
if(state.get().header.date.day.display=="word"&&state.get().header.date.day.length=="short"){
9497
dateObject.day=dateObject.day.substring(0,3);
9598
};
9699
if(state.get().header.date.month.display=="word"&&state.get().header.date.month.length=="short"){
97100
dateObject.month=dateObject.month.substring(0,3);
98101
};
99-
varelementDay=helper.makeNode({
100-
tag: "span",
101-
text: dateObject.day,
102-
attr: [{
103-
key: "class",
104-
value: "date-item date-day"
105-
}]
106-
});
107-
varelementDate=helper.makeNode({
108-
tag: "span",
109-
text: dateObject.date,
110-
attr: [{
111-
key: "class",
112-
value: "date-item date-date"
113-
}]
114-
});
115-
varelementMonth=helper.makeNode({
116-
tag: "span",
117-
text: dateObject.month,
118-
attr: [{
119-
key: "class",
120-
value: "date-item date-month"
121-
}]
122-
});
123-
varelementyear=helper.makeNode({
124-
tag: "span",
125-
text: dateObject.year,
126-
attr: [{
127-
key: "class",
128-
value: "date-item date-year"
129-
}]
130-
});
102+
varelementDay=helper.node("span:"+dateObject.day+"|class:date-item date-day");
103+
varelementDate=helper.node("span:"+dateObject.date+"|class:date-item date-date");
104+
varelementMonth=helper.node("span:"+dateObject.month+"|class:date-item date-month");
105+
varelementyear=helper.node("span:"+dateObject.year+"|class:date-item date-year");
131106
if(state.get().header.date.day.show){
132107
date.appendChild(elementDay);
133108
};
@@ -178,22 +153,18 @@ var date = (function(){
178153
};
179154
};
180155
};
181-
if(state.get().header.date.date.show||state.get().header.date.day.show||state.get().header.date.month.show||state.get().header.date.year.show){
182-
_date();
183-
};
184156
};
185157

186158
varinit=function(){
187-
render();
188-
bind();
159+
render.all();
160+
bind.tick();
189161
};
190162

191163
// exposed methods
192164
return{
193165
init: init,
194166
bind: bind,
195-
render: render,
196-
clear: clear
167+
render: render
197168
};
198169

199170
})();

0 commit comments

Comments
(0)