PluginProbe
Boxzilla – WordPress Popup Builder / 3.1.3
Boxzilla – WordPress Popup Builder v3.1.3
3.4.11 3.4.10 3.4.9 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.4.8 trunk 3.0 3.0.1 3.0.2 3.0.3 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 All 72 releases
← All changes | assets/browserify/script.js +61 -98 3.1.103.1.3 View file →
@@ -1,117 +1,80 @@
1 -(function() {
2 - 'use strict';
1 +'use strict';
3 2
4 - var Boxzilla = require('boxzilla');
5 - var options = window.boxzilla_options;
3 +var Boxzilla = require('boxzilla');
4 +var options = window.boxzilla_options;
5 +var isLoggedIn = document.body.className.indexOf('logged-in') > -1;
6 6
7 - // expose Boxzilla object to window
8 - window.Boxzilla = Boxzilla;
7 +// print message when test mode is enabled
8 +if( isLoggedIn && options.testMode ) {
9 + console.log( 'Boxzilla: Test mode is enabled. Please disable test mode if you\'re done testing.' );
10 +}
9 11
10 - function ready(fn) {
11 - if (document.readyState != 'loading'){
12 - fn();
13 - } else {
14 - document.addEventListener('DOMContentLoaded', fn);
15 - }
16 - }
12 +// init boxzilla
13 +Boxzilla.init();
17 14
18 - // helper function for setting CSS styles
19 - function css(element, styles) {
20 - if( styles.background_color ) {
21 - element.style.background = styles.background_color;
22 - }
15 +// create boxes from options
16 +for( var i=0; i < options.boxes.length; i++ ) {
17 + // get opts
18 + var boxOpts = options.boxes[i];
19 + boxOpts.testMode = isLoggedIn && options.testMode;
23 20
24 - if( styles.color ) {
25 - element.style.color = styles.color;
26 - }
21 + // fix http:// links in box content....
22 + if( window.location.origin.substring(0, 5) === "https" ) {
23 + boxOpts.content = boxOpts.content.replace(window.location.origin.replace("https", "http"), window.location.origin);
24 + }
27 25
28 - if( styles.border_color ) {
29 - element.style.borderColor = styles.border_color;
30 - }
26 + // create box
27 + var box = Boxzilla.create( boxOpts.id, boxOpts);
28 +
29 + // add custom css to box
30 + css(box.element, boxOpts.css);
31 +}
31 32
32 - if( styles.border_width ) {
33 - element.style.borderWidth = parseInt(styles.border_width) + "px";
34 - }
33 +// helper function for setting CSS styles
34 +function css(element, styles) {
35 + if( styles.background_color ) {
36 + element.style.background = styles.background_color;
37 + }
35 38
36 - if( styles.border_style ) {
37 - element.style.borderStyle = styles.border_style;
38 - }
39 + if( styles.color ) {
40 + element.style.color = styles.color;
41 + }
39 42
40 - if( styles.width ) {
41 - element.style.maxWidth = parseInt(styles.width) + "px";
42 - }
43 + if( styles.border_color ) {
44 + element.style.borderColor = styles.border_color;
43 45 }
44 46
45 - function createBoxesFromConfig() {
46 - var isLoggedIn = document.body.className.indexOf('logged-in') > -1;
47 + if( styles.border_width ) {
48 + element.style.borderWidth = parseInt(styles.border_width) + "px";
49 + }
47 50
48 - // failsafe against including script twice.
49 - if( options.inited ) {
50 - return;
51 - }
51 + if( styles.border_style ) {
52 + element.style.borderStyle = styles.border_style;
53 + }
52 54
53 - // print message when test mode is enabled
54 - if( isLoggedIn && options.testMode ) {
55 - console.log( 'Boxzilla: Test mode is enabled. Please disable test mode if you\'re done testing.' );
56 - }
57 -
58 - // init boxzilla
59 - Boxzilla.init();
60 -
61 - // create boxes from options
62 - for( var i=0; i < options.boxes.length; i++ ) {
63 - // get opts
64 - var boxOpts = options.boxes[i];
65 - boxOpts.testMode = isLoggedIn && options.testMode;
66 -
67 - // fix http:// links in box content....
68 - if( window.location.protocol === "https:" && window.location.host ) {
69 - var o = "http://" + window.location.host;
70 - var n = o.replace('http://', 'https://');
71 - boxOpts.content = boxOpts.content.replace(o, n);
72 - }
73 -
74 - // create box
75 - var box = Boxzilla.create(boxOpts.id, boxOpts);
76 -
77 - // add box slug to box element as classname
78 - box.element.className = box.element.className + ' boxzilla-' + boxOpts.post.slug;
79 -
80 - // add custom css to box
81 - css(box.element, boxOpts.css);
82 -
83 - box.element.firstChild.firstChild.className += " first-child";
84 - box.element.firstChild.lastChild.className += " last-child";
85 - }
86 -
87 - /**
88 - * If a MailChimp for WordPress form was submitted, open the box containing that form (if any)
89 - *
90 - * TODO: Just set location hash from MailChimp for WP?
91 - */
92 - window.addEventListener('load', openMailChimpForWordPressBox);
93 -
94 - options.inited = true;
95 -
96 - // trigger "done" event.
97 - Boxzilla.trigger('done');
55 + if( styles.width ) {
56 + element.style.maxWidth = parseInt(styles.width) + "px";
98 57 }
58 +}
99 59
100 - function openMailChimpForWordPressBox() {
101 - if( typeof(window.mc4wp_forms_config) === "object" && window.mc4wp_forms_config.submitted_form ) {
102 - var selector = '#' + window.mc4wp_forms_config.submitted_form.element_id;
103 - var boxes = Boxzilla.boxes;
104 - for( var boxId in boxes ) {
105 - if(!boxes.hasOwnProperty(boxId)) { continue; }
106 - var box = boxes[boxId];
107 - if( box.element.querySelector(selector)) {
108 - box.show();
109 - return;
110 - }
60 +/**
61 + * If a MailChimp for WordPress form was submitted, open the box containing that form (if any)
62 + *
63 + * TODO: Just set location hash from MailChimp for WP?
64 + */
65 +window.addEventListener('load', function() {
66 + if( typeof(window.mc4wp_forms_config) === "object" && window.mc4wp_forms_config.submitted_form ) {
67 + var selector = '#' + window.mc4wp_forms_config.submitted_form.element_id;
68 + var boxes = Boxzilla.boxes;
69 + for( var boxId in boxes ) {
70 + if(!boxes.hasOwnProperty(boxId)) { continue; }
71 + var box = boxes[boxId];
72 + if( box.element.querySelector(selector)) {
73 + box.show();
74 + return;
111 75 }
112 76 }
113 77 }
78 +});
114 79
115 - // create boxes as soon as document.ready fires
116 - ready(createBoxesFromConfig);
117 -})();
80 +window.Boxzilla = Boxzilla;