Skip to content

Commit f1f8939

Browse files
committed
[refactor] modal module
1 parent a10f06e commit f1f8939

File tree

4 files changed

+40
-21
lines changed

4 files changed

+40
-21
lines changed

‎src/js/init.js‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ layout.init();
1616
background.init();
1717
search.init();
1818
header.init();
19+
modal.init();
1920
version.init();

‎src/js/modal.js‎

Lines changed: 37 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,36 @@ var modal = (function(){
22

33
varpreviousModal=null;
44

5-
vardestroy=function(){
5+
varmod={};
6+
7+
mod.open=function(){
8+
helper.setObject({
9+
object: state.get(),
10+
path: "modal",
11+
newValue: true
12+
});
13+
};
14+
15+
mod.close=function(){
16+
helper.setObject({
17+
object: state.get(),
18+
path: "modal",
19+
newValue: false
20+
});
21+
};
22+
23+
varrender={};
24+
25+
render.clear=function(){
626
varallModal=helper.eA(".modal");
727
if(allModal[0]){
828
for(vari=0;i<allModal.length;i++){
9-
allModal[i].destroy();
29+
allModal[i].clear();
1030
};
1131
};
1232
};
1333

14-
varrender=function(override){
34+
render.make=function(override){
1535
varoptions={
1636
heading: "Modal",
1737
content: "Body",
@@ -25,11 +45,7 @@ var modal = (function(){
2545
options=helper.applyOptions(options,override);
2646
};
2747
var_makeModal=function(){
28-
helper.setObject({
29-
object: state.get(),
30-
path: "modal",
31-
newValue: true
32-
});
48+
mod.open();
3349
varbody=helper.e("body");
3450
varmodalWrapper=document.createElement("div");
3551
modalWrapper.setAttribute("class","modal-wrapper");
@@ -41,19 +57,15 @@ var modal = (function(){
4157
}elseif(options.size){
4258
modal.setAttribute("class","modal");
4359
};
44-
modal.destroy=function(){
60+
modal.clear=function(){
4561
if(modal.classList.contains("is-opaque")){
4662
helper.removeClass(modal,"is-opaque");
4763
helper.addClass(modal,"is-transparent");
4864
helper.addClass(modalWrapper,"is-droping-down");
4965
}else{
5066
modal.remove();
5167
};
52-
helper.setObject({
53-
object: state.get(),
54-
path: "modal",
55-
newValue: false
56-
});
68+
mod.close();
5769
};
5870
varmodalBody=document.createElement("div");
5971
modalBody.setAttribute("class","modal-body");
@@ -103,15 +115,15 @@ var modal = (function(){
103115
if(options.successAction){
104116
options.successAction();
105117
};
106-
this.destroy();
118+
this.clear();
107119
shade.destroy();
108120
pagelock.render.toggle();
109121
}.bind(modal),false);
110122
cancelButton.addEventListener("click",function(event){
111123
if(options.cancelAction){
112124
options.cancelAction();
113125
};
114-
this.destroy();
126+
this.clear();
115127
shade.destroy();
116128
pagelock.render.toggle();
117129
}.bind(modal),false);
@@ -121,7 +133,7 @@ var modal = (function(){
121133
if(options.cancelAction){
122134
options.cancelAction();
123135
};
124-
modal.destroy();
136+
modal.clear();
125137
pagelock.render.toggle();
126138
},
127139
includeHeader: true
@@ -133,15 +145,21 @@ var modal = (function(){
133145
modalHeading.focus(this);
134146
};
135147
if(previousModal!=null){
136-
destroy();
148+
render.clear();
137149
};
138150
_makeModal();
139151
pagelock.render.toggle();
140152
};
141153

154+
varinit=function(){
155+
mod.close();
156+
render.clear();
157+
};
158+
142159
// exposed methods
143160
return{
144-
destroy: destroy,
161+
init: init,
162+
mod: mod,
145163
render: render
146164
};
147165

‎src/js/version.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
varversion=(function(){
22

3-
varcurrent="3.44.0";
3+
varcurrent="3.45.0";
44

55
varcompare=function(a,b){
66
varpa=a.split(".");

‎src/manifest.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "nightTab",
33
"short_name": "nightTab",
44
"description": "A neutral new tab page accented with a chosen colour. Customise the layout, style, background and bookmarks in nightTab.",
5-
"version": "3.44.0",
5+
"version": "3.45.0",
66
"manifest_version": 2,
77
"chrome_url_overrides":{
88
"newtab": "index.html"

0 commit comments

Comments
(0)