1 | /** |
---|
2 | * randomPictConfig |
---|
3 | * |
---|
4 | * release 1.0.0 |
---|
5 | */ |
---|
6 | function randomPictConfig(opt, keys, token, initValues) |
---|
7 | { |
---|
8 | var options = { |
---|
9 | ajaxUrl:'plugins/AMenuManager/amm_ajax.php' |
---|
10 | }, |
---|
11 | translatedKeys= { |
---|
12 | g002_setting_randompic_periodicchange_deactivated:'g002_setting_randompic_periodicchange_deactivated', |
---|
13 | g002_setting_randompic_height_auto:'g002_setting_randompic_height_auto' |
---|
14 | }, |
---|
15 | properties = { |
---|
16 | token:token |
---|
17 | }, |
---|
18 | |
---|
19 | |
---|
20 | /** |
---|
21 | * submit config |
---|
22 | */ |
---|
23 | submit = function () |
---|
24 | { |
---|
25 | if(!checkValidity()) return(false); |
---|
26 | |
---|
27 | displayProcessing(true); |
---|
28 | |
---|
29 | // build datas |
---|
30 | var datas = { |
---|
31 | blockTitles:[], |
---|
32 | blockHeight:$("#iamm_rp_height_slider").slider('option', 'value'), |
---|
33 | infosName:$("#iamm_randompicture_showname").inputList('value'), |
---|
34 | infosComment:$("#iamm_randompicture_showcomment").inputList('value'), |
---|
35 | freqDelay:$("#iamm_rp_pc_slider").slider('option', 'value')==99?0:$("#iamm_rp_pc_slider").slider('option', 'value'), |
---|
36 | selectMode:$("#iamm_randompicture_selectedMode").inputRadio('value'), |
---|
37 | selectCat:$("#iamm_randompicture_selectedCat").categorySelector('value') |
---|
38 | }; |
---|
39 | |
---|
40 | |
---|
41 | |
---|
42 | list=$('#iamm_randompicture_title').inputText('languagesValues'); |
---|
43 | for(var id in list) |
---|
44 | { |
---|
45 | datas.blockTitles.push({id:id, value:list[id]}); |
---|
46 | } |
---|
47 | |
---|
48 | $.ajax( |
---|
49 | { |
---|
50 | type: "POST", |
---|
51 | url: options.ajaxUrl, |
---|
52 | async: true, |
---|
53 | data: { ajaxfct:"admin.randomPict.setConfig", token:properties.token, datas:datas }, |
---|
54 | success: |
---|
55 | function(msg) |
---|
56 | { |
---|
57 | displayProcessing(false); |
---|
58 | |
---|
59 | returned=msg.split('!'); |
---|
60 | |
---|
61 | if(returned[0]=='OK') |
---|
62 | { |
---|
63 | $('#iConfigState') |
---|
64 | .html(returned[1]) |
---|
65 | .removeClass('errors') |
---|
66 | .addClass('infos') |
---|
67 | .css('display', 'block'); |
---|
68 | } |
---|
69 | else |
---|
70 | { |
---|
71 | $('#iConfigState') |
---|
72 | .html(returned[1]) |
---|
73 | .removeClass('infos') |
---|
74 | .addClass('errors') |
---|
75 | .css('display', 'block'); |
---|
76 | } |
---|
77 | } |
---|
78 | } |
---|
79 | ); |
---|
80 | }, |
---|
81 | |
---|
82 | /** |
---|
83 | * check validity of form |
---|
84 | */ |
---|
85 | checkValidity = function () |
---|
86 | { |
---|
87 | $('.error').removeClass('error'); |
---|
88 | ok=true; |
---|
89 | $("#iamm_randompicture_selectedCat").categorySelector('isValid', true); |
---|
90 | |
---|
91 | if($("#iamm_randompicture_selectedMode").inputRadio('value')=='c' && |
---|
92 | $("#iamm_randompicture_selectedCat").categorySelector('value').length==0 |
---|
93 | ) |
---|
94 | { |
---|
95 | ok=false; |
---|
96 | $("#iamm_randompicture_selectedCat").categorySelector('isValid', false); |
---|
97 | } |
---|
98 | |
---|
99 | return(ok); |
---|
100 | }, |
---|
101 | |
---|
102 | /** |
---|
103 | * display or hide the processing flower |
---|
104 | */ |
---|
105 | displayProcessing = function (visible) |
---|
106 | { |
---|
107 | if(visible) |
---|
108 | { |
---|
109 | $('#iBDProcessing').css("display", "block"); |
---|
110 | } |
---|
111 | else |
---|
112 | { |
---|
113 | $('#iBDProcessing').css("display", "none"); |
---|
114 | } |
---|
115 | }, |
---|
116 | |
---|
117 | /** |
---|
118 | * initialize the object and page form |
---|
119 | */ |
---|
120 | init = function (initValues) |
---|
121 | { |
---|
122 | $('#iamm_randompicture_selectedMode').inputRadio( |
---|
123 | { |
---|
124 | change:function () { $('#iConfigState').hide(); } |
---|
125 | } |
---|
126 | ); |
---|
127 | $('#iamm_randompicture_selectedMode').inputRadio('value', initValues.selectMode); |
---|
128 | |
---|
129 | $('#iamm_randompicture_selectedCat').categorySelector( |
---|
130 | { |
---|
131 | serverUrl:'plugins/GrumPluginClasses/gpc_ajax.php', |
---|
132 | listMaxWidth:650, |
---|
133 | listMaxHeight:550, |
---|
134 | userMode:'public', |
---|
135 | galleryRoot:false, |
---|
136 | displayStatus:false, |
---|
137 | filter:'all', |
---|
138 | multiple:true, |
---|
139 | load: |
---|
140 | function (event) |
---|
141 | { |
---|
142 | $(this) |
---|
143 | .categorySelector('collapse', ':all') |
---|
144 | .categorySelector('value', initValues.selectCat); |
---|
145 | }, |
---|
146 | change: function () { $('#iConfigState').hide(); } |
---|
147 | } |
---|
148 | ); |
---|
149 | |
---|
150 | $('#iamm_randompicture_showname').inputList( |
---|
151 | { |
---|
152 | colsWidth:[300], |
---|
153 | popupMode:'mouseout', |
---|
154 | change: function () { $('#iConfigState').hide(); } |
---|
155 | } |
---|
156 | ).inputList('value', initValues.infosName).css('display', 'block'); |
---|
157 | $('#iamm_randompicture_showcomment').inputList( |
---|
158 | { |
---|
159 | colsWidth:[300], |
---|
160 | popupMode:'mouseout', |
---|
161 | change: function () { $('#iConfigState').hide(); } |
---|
162 | } |
---|
163 | ).inputList('value', initValues.infosComment).css('display', 'block'); |
---|
164 | |
---|
165 | |
---|
166 | $('#islang').inputList( |
---|
167 | { |
---|
168 | listMaxHeight:250, |
---|
169 | popupMode:'mouseout', |
---|
170 | change: function () { $('#iConfigState').hide(); } |
---|
171 | } |
---|
172 | ).css('display', 'block'); |
---|
173 | |
---|
174 | $('#iamm_randompicture_title').inputText( |
---|
175 | { |
---|
176 | languages:initValues.langs, |
---|
177 | languagesValues:initValues.blockTitles, |
---|
178 | currentLanguage:initValues.userLang, |
---|
179 | languageSelector:'islang', |
---|
180 | displayChar:50, |
---|
181 | maxChar:255, |
---|
182 | change: function () { $('#iConfigState').hide(); } |
---|
183 | } |
---|
184 | ); |
---|
185 | |
---|
186 | $('#islang').inputList('value', initValues.userLang).css('display', 'block'); |
---|
187 | |
---|
188 | |
---|
189 | |
---|
190 | formatDelay(initValues.freqDelay); |
---|
191 | $("#iamm_rp_pc_slider").slider( |
---|
192 | { |
---|
193 | min:0, |
---|
194 | max:60000, |
---|
195 | step:50, |
---|
196 | value:initValues.freqDelay, |
---|
197 | slide: function(event, ui) { formatDelay(ui.value); }, |
---|
198 | change: function () { $('#iConfigState').hide(); } |
---|
199 | }); |
---|
200 | $("#iamm_rp_pc_slider a").addClass('gcBgInput'); |
---|
201 | |
---|
202 | formatHeight(initValues.blockHeight); |
---|
203 | $("#iamm_rp_height_slider").slider( |
---|
204 | { |
---|
205 | min:99, |
---|
206 | max:300, |
---|
207 | steps:1, |
---|
208 | value:initValues.blockHeight, |
---|
209 | slide: function(event, ui) { formatHeight(ui.value); }, |
---|
210 | change: function () { $('#iConfigState').hide(); } |
---|
211 | }); |
---|
212 | $("#iamm_rp_height_slider a").addClass('gcBgInput'); |
---|
213 | }, |
---|
214 | |
---|
215 | /** |
---|
216 | * format delay value for display |
---|
217 | */ |
---|
218 | formatDelay = function(delay) |
---|
219 | { |
---|
220 | $("#iamm_randompicture_periodicchange").val(delay); |
---|
221 | if(delay==0) |
---|
222 | { |
---|
223 | $("#iamm_rp_pc_display").html(translatedKeys.g002_setting_randompic_periodicchange_deactivated); |
---|
224 | } |
---|
225 | else |
---|
226 | { |
---|
227 | $("#iamm_rp_pc_display").html((delay/1000).toFixed(2)+"s"); |
---|
228 | } |
---|
229 | }, |
---|
230 | |
---|
231 | formatHeight = function(height) |
---|
232 | { |
---|
233 | var vheight = (height==99)?0:height; |
---|
234 | |
---|
235 | $("#iamm_randompicture_height").val(vheight); |
---|
236 | if(vheight==0) |
---|
237 | { |
---|
238 | $("#iamm_rp_height_display").html(translatedKeys.g002_setting_randompic_height_auto); |
---|
239 | } |
---|
240 | else |
---|
241 | { |
---|
242 | $("#iamm_rp_height_display").html(vheight+"px"); |
---|
243 | } |
---|
244 | }; |
---|
245 | |
---|
246 | |
---|
247 | $.extend(options, opt); |
---|
248 | $.extend(translatedKeys, keys); |
---|
249 | |
---|
250 | this.submit = function () { submit(); }; |
---|
251 | |
---|
252 | init(initValues); |
---|
253 | } |
---|
254 | |
---|
255 | |
---|