PluginProbe
Timed Content / 2.99
Timed Content v2.99
2.99 trunk 1.0 1.1 1.2 2.0 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.10 2.11 2.12 2.15 2.2 2.3 2.3.1 2.4 2.5 2.5.1 2.50 2.51 2.52 All 67 releases
timed-content / tinymce_plugin / dialog.js

dialog.js in Timed Content 2.99, at tinymce_plugin/dialog.js

251 lines 7.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 tinyMCEPopup.requireLangPack();
2
3 var TimedContentDialog = {
4 init : function() {
5 jQuery( '#do_client_show' ).click(
6 function() {
7 if (jQuery( this ).is( ':checked' )) {
8 jQuery( '#client_show_minutes' ).removeAttr( 'disabled' );
9 jQuery( '#client_show_seconds' ).removeAttr( 'disabled' );
10 jQuery( '#client_show_fade' ).removeAttr( 'disabled' );
11 } else {
12 jQuery( '#client_show_minutes' ).prop( 'disabled', 'disabled' );
13 jQuery( '#client_show_seconds' ).prop( 'disabled', 'disabled' );
14 jQuery( '#client_show_fade' ).prop( 'disabled', 'disabled' );
15 }
16 }
17 );
18
19 jQuery( '#do_client_hide' ).click(
20 function() {
21 if (jQuery( this ).is( ':checked' )) {
22 jQuery( '#client_hide_minutes' ).removeAttr( 'disabled' );
23 jQuery( '#client_hide_seconds' ).removeAttr( 'disabled' );
24 jQuery( '#client_hide_fade' ).removeAttr( 'disabled' );
25 } else {
26 jQuery( '#client_hide_minutes' ).prop( 'disabled', 'disabled' );
27 jQuery( '#client_hide_seconds' ).prop( 'disabled', 'disabled' );
28 jQuery( '#client_hide_fade' ).prop( 'disabled', 'disabled' );
29 }
30 }
31 );
32
33 var today = new Date();
34
35 jQuery( '#do_server_show' ).click(
36 function() {
37 if (jQuery( this ).is( ':checked' )) {
38 jQuery( '#server_show_date' ).removeAttr( 'disabled' );
39 jQuery( '#server_show_time' ).removeAttr( 'disabled' );
40 jQuery( '#server_show_date' ).datepicker(
41 {
42 changeMonth: true,
43 changeYear: true,
44 dateFormat: datepickParam.dateFormat
45 }
46 );
47 jQuery( '#server_show_time' ).timepicker(
48 {
49 defaultTime: 'now'
50 }
51 );
52 } else {
53 jQuery( '#server_show_date' ).prop( 'disabled', 'disabled' );
54 jQuery( '#server_show_time' ).prop( 'disabled', 'disabled' );
55 }
56 }
57 );
58
59 jQuery( '#do_server_hide' ).click(
60 function() {
61 if (jQuery( this ).is( ':checked' )) {
62 jQuery( '#server_hide_date' ).removeAttr( 'disabled' );
63 jQuery( '#server_hide_time' ).removeAttr( 'disabled' );
64 jQuery( '#server_hide_date' ).datepicker(
65 {
66 changeMonth: true,
67 changeYear: true,
68 dateFormat: datepickParam.dateFormat
69 }
70 );
71 jQuery( '#server_hide_time' ).timepicker(
72 {
73 defaultTime: 'now'
74 }
75 );
76 } else {
77 jQuery( '#server_hide_date' ).prop( 'disabled', 'disabled' );
78 jQuery( '#server_hide_time' ).prop( 'disabled', 'disabled' );
79 }
80 }
81 );
82
83 jQuery.each(
84 rules,
85 function( key, value ) {
86 jQuery( 'select#rules_list' ).append( '<option value="' + value['ID'] + '">' + value['title'] + '</option>\n' );
87 }
88 );
89 jQuery( "select#rules_list" ).change(
90 function() {
91 jQuery( "select#rules_list option:selected" ).each(
92 function() {
93 var id = jQuery( this ).val();
94 jQuery.each(
95 rules,
96 function( key, value ) {
97 if ( id == value['ID'] ) {
98 jQuery( "span#rules_desc" ).html( value['desc'] );
99 }
100 }
101 );
102 if ( id < 0 ) {
103 jQuery( 'select#rules_list' ).prop( 'disabled', 'disabled' );
104 jQuery( '#TimedContentDialogRules #insert' ).prop( 'disabled', 'disabled' );
105 }
106
107 }
108 );
109 }
110 ).trigger( "change" );
111
112 },
113
114 client_action : function() {
115 // Get settings from the dialog and build the arguments for the shortcode
116 var show_args = "";
117 var hide_args = "";
118 var display_args = "";
119
120 var sm = Math.abs( parseInt( jQuery( '#client_show_minutes' ).val() ) );
121 var ss = Math.abs( parseInt( jQuery( '#client_show_seconds' ).val() ) );
122 var sf = Math.abs( parseInt( jQuery( '#client_show_fade' ).val() ) );
123 if (isNaN( sm )) {
124 sm = 0;
125 } if (isNaN( ss )) {
126 ss = 0;
127 } if (isNaN( sf )) {
128 sf = 0;
129 }
130
131 var hm = Math.abs( parseInt( jQuery( '#client_hide_minutes' ).val() ) );
132 var hs = Math.abs( parseInt( jQuery( '#client_hide_seconds' ).val() ) );
133 var hf = Math.abs( parseInt( jQuery( '#client_hide_fade' ).val() ) );
134 if (isNaN( hm )) {
135 hm = 0;
136 } if (isNaN( hs )) {
137 hs = 0;
138 } if (isNaN( hf )) {
139 hf = 0;
140 }
141
142 st = (sm * 60) + ss; ht = (hm * 60) + hs;
143
144 if (jQuery( '#client_display_tag_div' ).prop( 'checked' )) {
145 display_args = " display=\"div\"";
146 } else {
147 display_args = " display=\"span\"";
148 }
149
150 if (jQuery( '#do_client_show' ).prop( 'checked' )) {
151 if (st > 0) {
152 show_args = " show=\"" + sm + ":" + ss + ":" + sf + "\"";
153 } else {
154 tinyMCEPopup.alert( errorMessages.clientNoShow );
155 return;
156 }
157 }
158 if (jQuery( '#do_client_hide' ).prop( 'checked' )) {
159 if (ht > 0) {
160 hide_args = " hide=\"" + hm + ":" + hs + ":" + hf + "\"";
161 } else {
162 tinyMCEPopup.alert( errorMessages.clientNoHide );
163 return;
164 }
165 }
166
167 if (jQuery( '#do_client_show' ).prop( 'checked' ) && jQuery( '#do_client_hide' ).prop( 'checked' ) && (st >= ht)) {
168 tinyMCEPopup.alert( errorMessages.clientHideBeforeShow );
169 return;
170 }
171
172 if ( ! (jQuery( '#do_client_show' ).prop( 'checked' ) || jQuery( '#do_client_hide' ).prop( 'checked' ))) {
173 tinyMCEPopup.alert( errorMessages.clientNoAction );
174 return;
175 }
176 // Insert the contents from the input into the document
177 tinyMCEPopup.editor.execCommand( 'mceReplaceContent', false, '[' + tags.client + ' ' + show_args + hide_args + display_args + ']{$selection}[/' + tags.client + ']' );
178 tinyMCEPopup.close();
179 },
180
181 server_action : function() {
182 // Get settings from the dialog and build the arguments for the shortcode
183 var show_args = "";
184 var hide_args = "";
185 var debug_args = "";
186
187 var sd = jQuery( '#server_show_date' ).val();
188 var hd = jQuery( '#server_hide_date' ).val();
189 var st = jQuery( '#server_show_time' ).val();
190 var ht = jQuery( '#server_hide_time' ).val();
191 var tz = jQuery( '#server_tz option:selected' ).val();
192 var s_Date = new Date( sd + " " + st );
193 var h_Date = new Date( hd + " " + ht );
194
195 if (jQuery( '#do_server_show' ).prop( 'checked' )) {
196 show_args = " show=\"" + sd + " " + st + " " + tz + "\"";
197 }
198 if (jQuery( '#do_server_hide' ).prop( 'checked' )) {
199 hide_args = " hide=\"" + hd + " " + ht + " " + tz + "\"";
200 }
201 if (jQuery( '#server_debug' ).prop( 'checked' )) {
202 debug_args = " debug=\"true\"";
203 }
204
205 if (jQuery( '#do_server_show' ).prop( 'checked' ) && (sd.length == 0)) {
206 tinyMCEPopup.alert( errorMessages.serverNoShowDate );
207 return;
208 }
209
210 if (jQuery( '#do_server_hide' ).prop( 'checked' ) && (hd.length == 0)) {
211 tinyMCEPopup.alert( errorMessages.serverNoHideDate );
212 return;
213 }
214
215 if (jQuery( '#do_server_show' ).prop( 'checked' ) && (st.length == 0)) {
216 tinyMCEPopup.alert( errorMessages.serverNoShowTime );
217 return;
218 }
219
220 if (jQuery( '#do_server_hide' ).prop( 'checked' ) && (ht.length == 0)) {
221 tinyMCEPopup.alert( errorMessages.serverNoHideTime );
222 return;
223 }
224
225 if (jQuery( '#do_server_show' ).prop( 'checked' ) && jQuery( '#do_server_hide' ).prop( 'checked' ) && (s_Date >= h_Date)) {
226 tinyMCEPopup.alert( errorMessages.serverHideBeforeShow );
227 return;
228 }
229
230 if ( ! (jQuery( '#do_server_show' ).prop( 'checked' ) || jQuery( '#do_server_hide' ).prop( 'checked' ))) {
231 tinyMCEPopup.alert( errorMessages.serverNoAction );
232 return;
233 }
234
235 // Insert the contents from the input into the document
236 tinyMCEPopup.editor.execCommand( 'mceReplaceContent', false, '[' + tags.server + ' ' + show_args + hide_args + debug_args + ']{$selection}[/' + tags.server + ']' );
237 tinyMCEPopup.close();
238 },
239
240 rules_action : function() {
241 // Get settings from the dialog and build the arguments for the shortcode
242 var rule_args = " id=\"" + jQuery( 'select#rules_list option:selected' ).val() + "\"";
243
244 // Insert the contents from the input into the document
245 tinyMCEPopup.editor.execCommand( 'mceReplaceContent', false, '[' + tags.rule + ' ' + rule_args + ']{$selection}[/' + tags.rule + ']' );
246 tinyMCEPopup.close();
247 }
248 };
249
250 tinyMCEPopup.onInit.add( TimedContentDialog.init, TimedContentDialog );
251