22 var minutes = checkValue(date.getMinutes()); |
25 var minutes = checkValue(date.getMinutes()); |
23 var seconds = checkValue(date.getSeconds()); |
26 var seconds = checkValue(date.getSeconds()); |
24 return options.timestampFormat.replace(/%d%/g, day) |
27 return options.timestampFormat.replace(/%d%/g, day) |
25 .replace(/%m%/g, month) |
28 .replace(/%m%/g, month) |
26 .replace(/%y%/g, year) |
29 .replace(/%y%/g, year) |
27 .replace(/%h%/g, hour) |
30 .replace(/%h%/g, hours) |
28 .replace(/%i%/g, minutes) |
31 .replace(/%i%/g, minutes) |
29 .replace(/%s%/g, seconds); |
32 .replace(/%s%/g, seconds); |
30 } |
33 } |
|
34 |
|
35 |
|
36 var MyAMS = globals.MyAMS; |
31 |
37 |
32 |
38 |
33 function Widget(element, options) { |
39 function Widget(element, options) { |
34 this.widget = element; |
40 this.widget = element; |
35 this.options = $.extend({}, MyAMSWidget.defaults, options); |
41 this.options = $.extend({}, MyAMSWidget.defaults, options); |
42 this.fullscreenClass = this.options.fullscreenClass.split('|'); |
48 this.fullscreenClass = this.options.fullscreenClass.split('|'); |
43 this.customClass = this.options.customClass.split('|'); |
49 this.customClass = this.options.customClass.split('|'); |
44 this.init(); |
50 this.init(); |
45 } |
51 } |
46 |
52 |
47 |
|
48 Widget.prototype = { |
53 Widget.prototype = { |
49 |
54 |
50 init: function() { |
55 init: function() { |
51 var self = this; |
56 var self = this; |
52 if (self.options.rtl === true) |
57 var widget; |
|
58 |
|
59 if (self.options.rtl === true) { |
53 $('body').addClass('rtl'); |
60 $('body').addClass('rtl'); |
|
61 } |
54 self.grid.each(function() { |
62 self.grid.each(function() { |
55 $(this).addClass('sortable-grid'); |
63 $(this).addClass('sortable-grid'); |
56 }); |
64 }); |
57 self._getSettings(); |
65 self._getSettings(); |
58 if (self.hasGrid && self.storage) { |
66 if (self.hasGrid && self.storage) { |
|
67 |
|
68 var key; |
59 if (self.position) { |
69 if (self.position) { |
60 var position = JSON.parse(self.position); |
70 var position = JSON.parse(self.position); |
61 for (var key in position.grid) { |
71 for (key in position.grid) { |
|
72 if (!position.grid.hasOwnProperty(key)) { |
|
73 continue; |
|
74 } |
62 var changeOrder = self.grid.find(self.options.subgrid + '.sortable-grid').eq(key); |
75 var changeOrder = self.grid.find(self.options.subgrid + '.sortable-grid').eq(key); |
63 for (var key2 in position.grid[key].section) |
76 for (var key2 in position.grid[key].section) { |
|
77 if (!position.grid[key].section.hasOwnProperty(key2)) { |
|
78 continue; |
|
79 } |
64 changeOrder.append($('#' + position.grid[key].section[key2].id)); |
80 changeOrder.append($('#' + position.grid[key].section[key2].id)); |
|
81 } |
65 } |
82 } |
66 } |
83 } |
67 if (self.settings) { |
84 if (self.settings) { |
68 var settings = JSON.parse(self.settings); |
85 var settings = JSON.parse(self.settings); |
69 for (var key in settings.widget) { |
86 for (key in settings.widget) { |
70 var widget = settings.widget[key]; |
87 if (!settings.widget.hasOwnProperty(key)) { |
|
88 continue; |
|
89 } |
|
90 widget = settings.widget[key]; |
71 var widgetId = $('#' + widget.id); |
91 var widgetId = $('#' + widget.id); |
72 if (widget.style) |
92 if (widget.style) { |
73 widgetId.removeClassPrefix('ams-widget-color-') |
93 widgetId.removeClassPrefix('ams-widget-color-') |
74 .addClass(widget.style) |
94 .addClass(widget.style) |
75 .attr('data-widget-attstyle', widget.style); |
95 .attr('data-widget-attstyle', widget.style); |
76 if (widget.hidden == 1) |
96 } |
|
97 if (widget.hidden === 1) { |
77 widgetId.hide(1); |
98 widgetId.hide(1); |
78 else |
99 } else { |
79 widgetId.show(1) |
100 widgetId.show(1) |
80 .removeAttr('data-widget-hidden'); |
101 .removeAttr('data-widget-hidden'); |
81 if (widget.collapsed == 1) |
102 } |
|
103 if (widget.collapsed === 1) { |
82 widgetId.addClass('ams-widget-collapsed') |
104 widgetId.addClass('ams-widget-collapsed') |
83 .children('div') |
105 .children('div') |
84 .hide(1); |
106 .hide(1); |
|
107 } |
85 var title = widgetId.children('header').children('h2'); |
108 var title = widgetId.children('header').children('h2'); |
86 if (title.text() != widget.title) |
109 if (title.text() !== widget.title) { |
87 title.text(widget.title); |
110 title.text(widget.title); |
88 } |
111 } |
89 } |
112 } |
90 } |
113 } |
91 var widget = self.widget; |
114 } |
|
115 widget = self.widget; |
92 var data = widget.data(); |
116 var data = widget.data(); |
93 var data_options = { |
117 var data_options = { |
94 grid: data.amsWidgetGrid, |
118 grid: data.amsWidgetGrid, |
95 subgrid: data.amsWudgetSubgrid, |
119 subgrid: data.amsWudgetSubgrid, |
96 widgets: data.amsWidgetWidgets, |
120 widgets: data.amsWidgetWidgets, |
140 ajax_nav : MyAMS.ajax_nav |
164 ajax_nav : MyAMS.ajax_nav |
141 }; |
165 }; |
142 var widgetOptions = $.extend({}, self.options, data_options); |
166 var widgetOptions = $.extend({}, self.options, data_options); |
143 var header = widget.children('header'); |
167 var header = widget.children('header'); |
144 if (!header.parent().attr('role')) { |
168 if (!header.parent().attr('role')) { |
145 if (data.widgetHidden === true) |
169 |
|
170 var customBtn, |
|
171 deleteBtn, |
|
172 editBtn, |
|
173 fullscreenBtn, |
|
174 toggleBtn, |
|
175 refreshBtn; |
|
176 if (data.widgetHidden === true) { |
146 widget.hide(); |
177 widget.hide(); |
147 if (data.widgetCollapsed === true) |
178 } |
|
179 if (data.widgetCollapsed === true) { |
148 widget.addClass('ams-widget-collapsed') |
180 widget.addClass('ams-widget-collapsed') |
149 .children('div').hide(); |
181 .children('div').hide(); |
|
182 } |
150 if (widgetOptions.customButton && |
183 if (widgetOptions.customButton && |
151 (data.widgetCustombutton === undefined) && |
184 (data.widgetCustombutton === undefined) && |
152 (self.customClass[0].length != 0)) |
185 (self.customClass[0].length !== 0)) { |
153 var customBtn = '<a href="#" class="button-icon ams-widget-custom-btn"><i class="' + self.customClass[0] + '"></i></a>'; |
186 customBtn = '<a href="#" class="button-icon ams-widget-custom-btn"><i class="' + self.customClass[0] + '"></i></a>'; |
154 else |
187 } else { |
155 customBtn = ""; |
188 customBtn = ""; |
156 if (widgetOptions.deleteButton && (data.widgetDeleteButton === undefined)) |
189 } |
157 var deleteBtn = '<a href="#" class="button-icon ams-widget-delete-btn hint" title="' + MyAMSWidget.i18n.DELETE_BTN + '" data-ams-hint-gravity="se">' + |
190 if (widgetOptions.deleteButton && (data.widgetDeleteButton === undefined)) { |
158 '<i class="' + widgetOptions.deleteClass + '"></i></a>'; |
191 deleteBtn = '<a href="#" class="button-icon ams-widget-delete-btn hint" title="' + MyAMSWidget.i18n.DELETE_BTN + '" data-ams-hint-gravity="se">' + |
159 else |
192 '<i class="' + widgetOptions.deleteClass + '"></i></a>'; |
|
193 } else { |
160 deleteBtn = ""; |
194 deleteBtn = ""; |
|
195 } |
161 if (widgetOptions.editButton && (data.widgetEditButton === undefined)) { |
196 if (widgetOptions.editButton && (data.widgetEditButton === undefined)) { |
162 var editClass = widgetOptions.editClass.split('|')[0]; |
197 var editClass = widgetOptions.editClass.split('|')[0]; |
163 var editBtn = '<a href="#" class="button-icon ams-widget-edit-btn hint" title="' + MyAMSWidget.i18n.EDIT_BTN + '" data-ams-hint-gravity="se">' + |
198 editBtn = '<a href="#" class="button-icon ams-widget-edit-btn hint" title="' + MyAMSWidget.i18n.EDIT_BTN + '" data-ams-hint-gravity="se">' + |
164 '<i class="' + editClass + '"></i></a>'; |
199 '<i class="' + editClass + '"></i></a>'; |
165 } else |
200 } else { |
166 editBtn = ""; |
201 editBtn = ""; |
|
202 } |
167 if (widgetOptions.fullscreenButton && (data.widgetFullscreenButton === undefined)) { |
203 if (widgetOptions.fullscreenButton && (data.widgetFullscreenButton === undefined)) { |
168 var fullscreenClass = widgetOptions.fullscreenClass.split('|')[0]; |
204 var fullscreenClass = widgetOptions.fullscreenClass.split('|')[0]; |
169 var fullscreenBtn = '<a href="#" class="button-icon ams-widget-fullscreen-btn hint" title="' + MyAMSWidget.i18n.FULLSCREEN_BTN + '" data-ams-hint-gravity="se">' + |
205 fullscreenBtn = '<a href="#" class="button-icon ams-widget-fullscreen-btn hint" title="' + MyAMSWidget.i18n.FULLSCREEN_BTN + '" data-ams-hint-gravity="se">' + |
170 '<i class="' + fullscreenClass + '"></i></a>'; |
206 '<i class="' + fullscreenClass + '"></i></a>'; |
171 } else |
207 } else { |
172 fullscreenBtn = ""; |
208 fullscreenBtn = ""; |
|
209 } |
173 if (widgetOptions.toggleButton && (data.widgetToggleButton === undefined)) { |
210 if (widgetOptions.toggleButton && (data.widgetToggleButton === undefined)) { |
174 var toggleClass = widgetOptions.toggleClass.split('|'); |
211 var toggleClass = widgetOptions.toggleClass.split('|'); |
|
212 var toggleSettings; |
175 if ((widget.dataWidgetCollapsed === true) || |
213 if ((widget.dataWidgetCollapsed === true) || |
176 widget.hasClass('ams-widget-collapsed')) |
214 widget.hasClass('ams-widget-collapsed')) { |
177 var toggleSettings = toggleClass[1]; |
215 toggleSettings = toggleClass[1]; |
178 else |
216 } else { |
179 toggleSettings = toggleClass[0]; |
217 toggleSettings = toggleClass[0]; |
180 var toggleBtn = '<a href="#" class="button-icon ams-widget-toggle-btn hint" title="' + MyAMSWidget.i18n.COLLAPSE_BTN + '" data-ams-hint-gravity="se">' + |
218 } |
181 '<i class="' + toggleSettings + '"></i></a>'; |
219 toggleBtn = '<a href="#" class="button-icon ams-widget-toggle-btn hint" title="' + MyAMSWidget.i18n.COLLAPSE_BTN + '" data-ams-hint-gravity="se">' + |
182 } else |
220 '<i class="' + toggleSettings + '"></i></a>'; |
|
221 } else { |
183 toggleBtn = ""; |
222 toggleBtn = ""; |
|
223 } |
184 if (widgetOptions.refreshButton && |
224 if (widgetOptions.refreshButton && |
185 (data.widgetRefreshButton === undefined) && |
225 (data.widgetRefreshButton === undefined) && |
186 data.widgetLoad) |
226 data.widgetLoad) { |
187 var refreshBtn = '<a href="#" class="button-icon ams-widget-refresh-btn hint" title="' + MyAMSWidget.i18n.REFRESH_BTN + '" data-loading-text=" ' + MyAMSWidget.i18n.LOADING_MSG + ' " data-ams-hint-gravity="se">' + |
227 refreshBtn = '<a href="#" class="button-icon ams-widget-refresh-btn hint" title="' + MyAMSWidget.i18n.REFRESH_BTN + '" data-loading-text=" ' + MyAMSWidget.i18n.LOADING_MSG + ' " data-ams-hint-gravity="se">' + |
188 '<i class="' + widgetOptions.refreshClass + '"></i></a>'; |
228 '<i class="' + widgetOptions.refreshClass + '"></i></a>'; |
189 else |
229 } else { |
190 refreshBtn = ""; |
230 refreshBtn = ""; |
|
231 } |
191 var buttons = widgetOptions.buttonsOrder.replace(/%refresh%/, refreshBtn) |
232 var buttons = widgetOptions.buttonsOrder.replace(/%refresh%/, refreshBtn) |
192 .replace(/%custom%/, customBtn) |
233 .replace(/%custom%/, customBtn) |
193 .replace(/%edit%/, editBtn) |
234 .replace(/%edit%/, editBtn) |
194 .replace(/%toggle%/, toggleBtn) |
235 .replace(/%toggle%/, toggleBtn) |
195 .replace(/%fullscreen%/, fullscreenBtn) |
236 .replace(/%fullscreen%/, fullscreenBtn) |
196 .replace(/%delete%/, deleteBtn); |
237 .replace(/%delete%/, deleteBtn); |
197 if (refreshBtn || customBtn || editBtn || toggleBtn || fullscreenBtn || deleteBtn) |
238 if (refreshBtn || customBtn || editBtn || toggleBtn || fullscreenBtn || deleteBtn) { |
198 header.prepend('<div class="ams-widget-ctrls">' + buttons + '</div>'); |
239 header.prepend('<div class="ams-widget-ctrls">' + buttons + '</div>'); |
199 if (widgetOptions.sortable && (data.widgetSortable === undefined)) |
240 } |
|
241 if (widgetOptions.sortable && (data.widgetSortable === undefined)) { |
200 widget.addClass('ams-widget-sortable'); |
242 widget.addClass('ams-widget-sortable'); |
|
243 } |
201 var placeholder = widget.find(widgetOptions.editPlaceholder); |
244 var placeholder = widget.find(widgetOptions.editPlaceholder); |
202 if (placeholder.length > 0) |
245 if (placeholder.length > 0) { |
203 placeholder.find('input').val($.trim(header.children('h2').text())); |
246 placeholder.find('input').val($.trim(header.children('h2').text())); |
|
247 } |
204 header.append('<span class="ams-widget-loader"><i class="fa fa-refresh fa-spin"></i></span>'); |
248 header.append('<span class="ams-widget-loader"><i class="fa fa-refresh fa-spin"></i></span>'); |
205 widget.attr('role', 'widget') |
249 widget.attr('role', 'widget') |
206 .children('div').attr('role', 'content') |
250 .children('div').attr('role', 'content') |
207 .prev('header').attr('role', 'heading') |
251 .prev('header').attr('role', 'heading') |
208 .children('div').attr('role', 'menu'); |
252 .children('div').attr('role', 'menu'); |
209 MyAMS.plugins.enabled.hint(header); |
253 MyAMS.plugins.enabled.hint(header); |
210 } |
254 } |
211 widget.data('widget-options', widgetOptions); |
255 widget.data('widget-options', widgetOptions); |
212 if (self.options.hiddenButtons) |
256 if (self.options.hiddenButtons) { |
213 $(self.controls).hide(); |
257 $(self.controls).hide(); |
|
258 } |
214 widget.find("[data-widget-load]").each(function() { |
259 widget.find("[data-widget-load]").each(function() { |
215 var item = $(this), |
260 var item = $(this), |
216 header = item.children(), |
261 header = item.children(), |
217 path = item.data('widget-load'), |
262 path = item.data('widget-load'), |
218 reloadTime = item.data('widget-refresh') * 1000, |
263 reloadTime = item.data('widget-refresh') * 1000, |
235 $(this).children(self.controls).stop(true, true).fadeTo(100, 0); |
281 $(this).children(self.controls).stop(true, true).fadeTo(100, 0); |
236 }); |
282 }); |
237 } |
283 } |
238 self._setClickEvents(); |
284 self._setClickEvents(); |
239 $(self.options.deleteSettingsKey).on(self.clickEvent, this, function(e) { |
285 $(self.options.deleteSettingsKey).on(self.clickEvent, this, function(e) { |
240 if (self.storage) { |
286 if (self.storage && globals.confirm) { |
241 var cleared = confirm(self.options.settingsKeyLabel); |
287 var cleared = globals.confirm(self.options.settingsKeyLabel); |
242 if (cleared) |
288 if (cleared) { |
243 self.storage.removeItem(self.settingsKey); |
289 self.storage.removeItem(self.settingsKey); |
|
290 } |
244 } |
291 } |
245 e.preventDefault(); |
292 e.preventDefault(); |
246 }); |
293 }); |
247 $(self.options.deletePositionKey).on(self.clickEvent, this, function(e) { |
294 $(self.options.deletePositionKey).on(self.clickEvent, this, function(e) { |
248 if (self.storage) { |
295 if (self.storage && globals.confirm) { |
249 var cleared = confirm(self.options.positionKeyLabel); |
296 var cleared = globals.confirm(self.options.positionKeyLabel); |
250 if (cleared) |
297 if (cleared) { |
251 self.storage.removeItem(self.positionKey); |
298 self.storage.removeItem(self.positionKey); |
|
299 } |
252 } |
300 } |
253 e.preventDefault(); |
301 e.preventDefault(); |
254 }); |
302 }); |
255 if (self.storage) { |
303 if (self.storage) { |
256 if (self.settingsKey === null || self.settingsKey.length < 1) |
304 if (self.settingsKey === null || self.settingsKey.length < 1) { |
257 self._saveWidgetSettings(); |
305 self._saveWidgetSettings(); |
258 if (self.positionKey === null || self.positionKey.length < 1) |
306 } |
|
307 if (self.positionKey === null || self.positionKey.length < 1) { |
259 self._saveWidgetPosition(); |
308 self._saveWidgetPosition(); |
|
309 } |
260 } |
310 } |
261 self.grid.data('ams-widgets-loaded', true); |
311 self.grid.data('ams-widgets-loaded', true); |
262 }, |
312 }, |
263 |
313 |
264 destroy: function() { |
314 destroy: function() { |
281 break; |
331 break; |
282 default: |
332 default: |
283 self.storage = null; |
333 self.storage = null; |
284 } |
334 } |
285 } |
335 } |
286 var use_storage = (self.storage != null) && function() { |
336 var use_storage = (self.storage !== null) && function() { |
287 var result, |
337 var result, |
288 uid = +new Date; |
338 uid = +new Date(); |
289 try { |
339 try { |
290 self.storage.setItem(uid, uid); |
340 self.storage.setItem(uid, uid); |
291 result = self.storage.getItem(uid) == uid; |
341 result = self.storage.getItem(uid) === uid; |
292 self.storage.removeItem(uid); |
342 self.storage.removeItem(uid); |
293 return result |
343 return result; |
294 } catch (e) {} |
344 } catch (e) {} |
295 }(); |
345 }(); |
296 if (use_storage) { |
346 if (use_storage) { |
297 self.settingsKey = "AMS_settings_" + location.pathname + location.hash + "_" + self.gridId; |
347 self.settingsKey = "AMS_settings_" + location.pathname + location.hash + "_" + self.gridId; |
298 self.settings = self.storage.getItem(self.settingsKey); |
348 self.settings = self.storage.getItem(self.settingsKey); |
299 self.positionKey = "AMS_position_" + location.pathname + location.hash + "_" + self.gridId; |
349 self.positionKey = "AMS_position_" + location.pathname + location.hash + "_" + self.gridId; |
300 self.position = self.storage.getItem(self.positionKey); |
350 self.position = self.storage.getItem(self.positionKey); |
301 } |
351 } |
302 if (("ontouchstart" in window) || window.DocumentTouch && document instanceof DocumentTouch) { |
352 if (("ontouchstart" in globals) || |
303 self.clickEvent = "touchstart" |
353 globals.DocumentTouch && globals.document instanceof globals.DocumentTouch) { |
|
354 self.clickEvent = "touchstart"; |
304 } else { |
355 } else { |
305 self.clickEvent = "click" |
356 self.clickEvent = "click"; |
306 } |
357 } |
307 }, |
358 }, |
308 |
359 |
309 _runLoaderWidget: function(widget) { |
360 _runLoaderWidget: function(widget) { |
310 var self = this; |
361 var self = this; |
311 if (self.options.indicator) |
362 if (self.options.indicator) { |
312 widget.find('.ams-widget-loader') |
363 widget.find('.ams-widget-loader') |
313 .stop(true, true) |
364 .stop(true, true) |
314 .fadeIn(100) |
365 .fadeIn(100) |
315 .delay(self.options.indicatorTime) |
366 .delay(self.options.indicatorTime) |
316 .fadeOut(100); |
367 .fadeOut(100); |
|
368 } |
317 }, |
369 }, |
318 |
370 |
319 _loadAjaxFile: function(url, widget, loader) { |
371 _loadAjaxFile: function(url, widget, loader) { |
320 MyAMS.skin.loadURL(url, widget.find('.widget-body')); |
372 MyAMS.skin.loadURL(url, widget.find('.widget-body')); |
321 }, |
373 }, |
351 self.grid.find(self.options.subgrid + ".sortable-grid").each(function () { |
405 self.grid.find(self.options.subgrid + ".sortable-grid").each(function () { |
352 var subgridPosition = []; |
406 var subgridPosition = []; |
353 $(this).children(self.options.widgets).each(function () { |
407 $(this).children(self.options.widgets).each(function () { |
354 var subObj = {}; |
408 var subObj = {}; |
355 subObj.id = $(this).attr("id"); |
409 subObj.id = $(this).attr("id"); |
356 subgridPosition.push(subObj) |
410 subgridPosition.push(subObj); |
357 }); |
411 }); |
358 var out = {section: subgridPosition}; |
412 var out = {section: subgridPosition}; |
359 gridPosition.push(out) |
413 gridPosition.push(out); |
360 }); |
414 }); |
361 var gridPositionStr = JSON.stringify({grid: gridPosition}); |
415 var gridPositionStr = JSON.stringify({grid: gridPosition}); |
362 if (self.position != gridPositionStr) |
416 if (self.position !== gridPositionStr) { |
363 self.storage.setItem(self.positionKey, gridPositionStr); |
417 self.storage.setItem(self.positionKey, gridPositionStr); |
364 if (typeof(self.options.onSave) == 'function') |
418 } |
|
419 if (typeof(self.options.onSave) === 'function') { |
365 self.options.onSave.call(this, null, gridPosition); |
420 self.options.onSave.call(this, null, gridPosition); |
|
421 } |
366 } |
422 } |
367 }, |
423 }, |
368 |
424 |
369 _setClickEvents: function() { |
425 _setClickEvents: function() { |
370 |
426 |
371 function setFullscreenHeight() { |
427 function setFullscreenHeight() { |
372 if ($('#ams-widget-fullscreen-mode').length > 0) { |
428 var mode = $('#ams-widget-fullscreen-mode'); |
373 var widgets = $('#ams-widget-fullscreen-mode').find(self.options.widgets); |
429 if (mode.length > 0) { |
|
430 var widgets = mode.find(self.options.widgets); |
374 var windowHeight = $(window).height(); |
431 var windowHeight = $(window).height(); |
375 var headerHeight = widgets.children('header') |
432 var headerHeight = widgets.children('header') |
376 .height(); |
433 .height(); |
377 widgets.children('div') |
434 widgets.children('div') |
378 .height(windowHeight - headerHeight - 15); |
435 .height(windowHeight - headerHeight - 15); |
390 var widgetOptions = widget.data('widget-options'); |
447 var widgetOptions = widget.data('widget-options'); |
391 var toggleClass = widgetOptions.toggleClass.split('|'); |
448 var toggleClass = widgetOptions.toggleClass.split('|'); |
392 self._runLoaderWidget(widget); |
449 self._runLoaderWidget(widget); |
393 var canToggle = true; |
450 var canToggle = true; |
394 if (widget.hasClass('ams-widget-collapsed')) { |
451 if (widget.hasClass('ams-widget-collapsed')) { |
395 if (widgetOptions.onToggle) |
452 if (widgetOptions.onToggle) { |
396 canToggle = widgetOptions.onToggle.call(this, widget, 'expand'); |
453 canToggle = widgetOptions.onToggle.call(this, widget, 'expand'); |
|
454 } |
397 if (canToggle !== false) { |
455 if (canToggle !== false) { |
398 button.children().removeClass(toggleClass[1]) |
456 button.children().removeClass(toggleClass[1]) |
399 .addClass(toggleClass[0]); |
457 .addClass(toggleClass[0]); |
400 widget.removeClass('ams-widget-collapsed') |
458 widget.removeClass('ams-widget-collapsed') |
401 .children('[role=content]').slideDown(widgetOptions.toggleSpeed, function() { |
459 .children('[role=content]').slideDown(widgetOptions.toggleSpeed, function() { |
402 self._saveWidgetSettings(); |
460 self._saveWidgetSettings(); |
403 }); |
461 }); |
404 } |
462 } |
405 } else { |
463 } else { |
406 if (widgetOptions.onToggle) |
464 if (widgetOptions.onToggle) { |
407 canToggle = widgetOptions.onToggle.call(this, widget, 'collapse'); |
465 canToggle = widgetOptions.onToggle.call(this, widget, 'collapse'); |
|
466 } |
408 if (canToggle !== false) { |
467 if (canToggle !== false) { |
409 button.children().removeClass(toggleClass[0]) |
468 button.children().removeClass(toggleClass[0]) |
410 .addClass(toggleClass[1]); |
469 .addClass(toggleClass[1]); |
411 widget.addClass('ams-widget-collapsed') |
470 widget.addClass('ams-widget-collapsed') |
412 .children('[role=content]').slideUp(widgetOptions.toggleSpeed, function() { |
471 .children('[role=content]').slideUp(widgetOptions.toggleSpeed, function() { |