@@ -2,16 +2,36 @@ var modal = (function(){
22
33var previousModal = null ;
44
5- var destroy = function ( ) {
5+ var mod = { } ;
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+ var render = { } ;
24+
25+ render . clear = function ( ) {
626var allModal = helper . eA ( ".modal" ) ;
727if ( allModal [ 0 ] ) {
828for ( var i = 0 ; i < allModal . length ; i ++ ) {
9- allModal [ i ] . destroy ( ) ;
29+ allModal [ i ] . clear ( ) ;
1030} ;
1131} ;
1232} ;
1333
14- var render = function ( override ) {
34+ render . make = function ( override ) {
1535var options = {
1636heading : "Modal" ,
1737content : "Body" ,
@@ -25,11 +45,7 @@ var modal = (function(){
2545options = helper . applyOptions ( options , override ) ;
2646} ;
2747var _makeModal = function ( ) {
28- helper . setObject ( {
29- object : state . get ( ) ,
30- path : "modal" ,
31- newValue : true
32- } ) ;
48+ mod . open ( ) ;
3349var body = helper . e ( "body" ) ;
3450var modalWrapper = document . createElement ( "div" ) ;
3551modalWrapper . setAttribute ( "class" , "modal-wrapper" ) ;
@@ -41,19 +57,15 @@ var modal = (function(){
4157} else if ( options . size ) {
4258modal . setAttribute ( "class" , "modal" ) ;
4359} ;
44- modal . destroy = function ( ) {
60+ modal . clear = function ( ) {
4561if ( modal . classList . contains ( "is-opaque" ) ) {
4662helper . removeClass ( modal , "is-opaque" ) ;
4763helper . addClass ( modal , "is-transparent" ) ;
4864helper . addClass ( modalWrapper , "is-droping-down" ) ;
4965} else {
5066modal . remove ( ) ;
5167} ;
52- helper . setObject ( {
53- object : state . get ( ) ,
54- path : "modal" ,
55- newValue : false
56- } ) ;
68+ mod . close ( ) ;
5769} ;
5870var modalBody = document . createElement ( "div" ) ;
5971modalBody . setAttribute ( "class" , "modal-body" ) ;
@@ -103,15 +115,15 @@ var modal = (function(){
103115if ( options . successAction ) {
104116options . successAction ( ) ;
105117} ;
106- this . destroy ( ) ;
118+ this . clear ( ) ;
107119shade . destroy ( ) ;
108120pagelock . render . toggle ( ) ;
109121} . bind ( modal ) , false ) ;
110122cancelButton . addEventListener ( "click" , function ( event ) {
111123if ( options . cancelAction ) {
112124options . cancelAction ( ) ;
113125} ;
114- this . destroy ( ) ;
126+ this . clear ( ) ;
115127shade . destroy ( ) ;
116128pagelock . render . toggle ( ) ;
117129} . bind ( modal ) , false ) ;
@@ -121,7 +133,7 @@ var modal = (function(){
121133if ( options . cancelAction ) {
122134options . cancelAction ( ) ;
123135} ;
124- modal . destroy ( ) ;
136+ modal . clear ( ) ;
125137pagelock . render . toggle ( ) ;
126138} ,
127139includeHeader : true
@@ -133,15 +145,21 @@ var modal = (function(){
133145modalHeading . focus ( this ) ;
134146} ;
135147if ( previousModal != null ) {
136- destroy ( ) ;
148+ render . clear ( ) ;
137149} ;
138150_makeModal ( ) ;
139151pagelock . render . toggle ( ) ;
140152} ;
141153
154+ var init = function ( ) {
155+ mod . close ( ) ;
156+ render . clear ( ) ;
157+ } ;
158+
142159// exposed methods
143160return {
144- destroy : destroy ,
161+ init : init ,
162+ mod : mod ,
145163render : render
146164} ;
147165
0 commit comments