# HG changeset patch # User Thierry Florac # Date 1515938021 -3600 # Node ID b1bb022054514ed20c000ecfd9d82db21369fdcd # Parent ff65bb647d54f3179877336b15ee1fc939c6450a Updated CSS downloads to add callbacks diff -r ff65bb647d54 -r b1bb02205451 src/pyams_skin/resources/js/myams.js --- a/src/pyams_skin/resources/js/myams.js Thu Dec 28 12:31:46 2017 +0100 +++ b/src/pyams_skin/resources/js/myams.js Sun Jan 14 14:53:41 2018 +0100 @@ -2,7 +2,7 @@ * MyAMS * « My Application Management Skin » * - * $Tag$ (rev. 1) + * $Tag: 0.1.11 $ (rev. 1) * A bootstrap based application/administration skin * * Custom administration and application skin tools @@ -2975,30 +2975,31 @@ if (hints.length > 0) { ams.ajax.check($.fn.tipsy, ams.baseURL + 'ext/jquery-tipsy' + ams.devext + '.js', - function () { + function() { ams.getCSS(ams.baseURL + '../css/ext/jquery-tipsy' + ams.devext + '.css', - 'jquery-tipsy'); - hints.each(function () { - var hint = $(this); - var data = hint.data(); - var dataOptions = { - html: data.amsHintHtml, - title: ams.getFunctionByName(data.amsHintTitleGetter) || function () { - var hint = $(this); - var result = hint.attr('original-title') || - hint.attr(data.amsHintTitleAttr || 'title') || - (data.amsHintHtml ? hint.html() : hint.text()); - result = result.replace(/\?_="/, '?_=' + new Date().getTime() + '"'); - return result; - }, - opacity: data.amsHintOpacity || 0.95, - gravity: data.amsHintGravity || 'sw', - offset: data.amsHintOffset || 0 - }; - var settings = $.extend({}, dataOptions, data.amsHintOptions); - settings = ams.executeFunctionByName(data.amsHintInitCallback, hint, settings) || settings; - var plugin = hint.tipsy(settings); - ams.executeFunctionByName(data.amsHintAfterInitCallback, hint, plugin, settings); + 'jquery-tipsy', function() { + hints.each(function () { + var hint = $(this); + var data = hint.data(); + var dataOptions = { + html: data.amsHintHtml, + title: ams.getFunctionByName(data.amsHintTitleGetter) || function () { + var hint = $(this); + var result = hint.attr('original-title') || + hint.attr(data.amsHintTitleAttr || 'title') || + (data.amsHintHtml ? hint.html() : hint.text()); + result = result.replace(/\?_="/, '?_=' + new Date().getTime() + '"'); + return result; + }, + opacity: data.amsHintOpacity || 0.95, + gravity: data.amsHintGravity || 'sw', + offset: data.amsHintOffset || 0 + }; + var settings = $.extend({}, dataOptions, data.amsHintOptions); + settings = ams.executeFunctionByName(data.amsHintInitCallback, hint, settings) || settings; + var plugin = hint.tipsy(settings); + ams.executeFunctionByName(data.amsHintAfterInitCallback, hint, plugin, settings); + }); }); }); } @@ -3301,57 +3302,58 @@ if (treeviews.length > 0) { ams.ajax.check($.fn.treview, ams.baseURL + 'ext/bootstrap-treeview' + ams.devext + '.js', - function(first_load) { - if (first_load) { - ams.getCSS(ams.baseURL + '../css/ext/bootstrap-treeview' + ams.devext + '.css', 'bootstrap-treeview'); - } - treeviews.each(function() { - var treeview = $(this); - var data = treeview.data(); - var dataOptions = { - data: data.amsTreeviewData, - levels: data.amsTreeviewLevels, - injectStyle: data.amsTreeviewInjectStyle, - expandIcon: data.amsTreeviewExpandIcon || 'fa fa-fw fa-plus-square-o', - collapseIcon: data.amsTreeviewCollaspeIcon || 'fa fa-fw fa-minus-square-o', - emptyIcon: data.amsTreeviewEmptyIcon || 'fa fa-fw', - nodeIcon: data.amsTreeviewNodeIcon, - selectedIcon: data.amsTreeviewSelectedIcon, - checkedIcon: data.amsTreeviewCheckedIcon || 'fa fa-fw fa-check-square-o', - uncheckedIcon: data.amsTreeviewUncheckedIcon || 'fa fa-fw fa-square-o', - color: data.amsTreeviewColor, - backColor: data.amsTreeviewBackColor, - borderColor: data.amsTreeviewBorderColor, - onHoverColor: data.amsTreeviewHoverColor, - selectedColor: data.amsTreeviewSelectedColor, - selectedBackColor: data.amsTreeviewSelectedBackColor, - unselectableColor: data.amsTreeviewUnselectableColor || 'rgba(1,1,1,0.25)', - unselectableBackColor: data.amsTreeviewUnselectableBackColor || 'rgba(1,1,1,0.25)', - enableLinks: data.amsTreeviewEnableLinks, - highlightSelected: data.amsTreeviewHighlightSelected, - highlightSearchResults: data.amsTreeviewhighlightSearchResults, - showBorder: data.amsTreeviewShowBorder, - showIcon: data.amsTreeviewShowIcon, - showCheckbox: data.amsTreeviewShowCheckbox, - showTags: data.amsTreeviewShowTags, - toggleUnselectable: data.amsTreeviewToggleUnselectable, - multiSelect: data.amsTreeviewMultiSelect, - onNodeChecked: ams.getFunctionByName(data.amsTreeviewNodeChecked), - onNodeCollapsed: ams.getFunctionByName(data.amsTreeviewNodeCollapsed), - onNodeDisabled: ams.getFunctionByName(data.amsTreeviewNodeDisabled), - onNodeEnabled: ams.getFunctionByName(data.amsTreeviewNodeEnabled), - onNodeExpanded: ams.getFunctionByName(data.amsTreeviewNodeExpanded), - onNodeSelected: ams.getFunctionByName(data.amsTreeviewNodeSelected), - onNodeUnchecked: ams.getFunctionByName(data.amsTreeviewNodeUnchecked), - onNodeUnselected: ams.getFunctionByName(data.amsTreeviewNodeUnselected), - onSearchComplete: ams.getFunctionByName(data.amsTreeviewSearchComplete), - onSearchCleared: ams.getFunctionByName(data.amsTreeviewSearchCleared) - }; - var settings = $.extend({}, dataOptions, data.amsTreeviewOptions); - settings = ams.executeFunctionByName(data.amsTreeviewInitcallback, treeview, settings) || settings; - var plugin = treeview.treeview(settings); - ams.executeFunctionByName(data.amsTreeviewAfterInitCallback, treeview, plugin, settings); - }); + function() { + ams.getCSS(ams.baseURL + '../css/ext/bootstrap-treeview' + ams.devext + '.css', + 'bootstrap-treeview', + function() { + treeviews.each(function () { + var treeview = $(this); + var data = treeview.data(); + var dataOptions = { + data: data.amsTreeviewData, + levels: data.amsTreeviewLevels, + injectStyle: data.amsTreeviewInjectStyle, + expandIcon: data.amsTreeviewExpandIcon || 'fa fa-fw fa-plus-square-o', + collapseIcon: data.amsTreeviewCollaspeIcon || 'fa fa-fw fa-minus-square-o', + emptyIcon: data.amsTreeviewEmptyIcon || 'fa fa-fw', + nodeIcon: data.amsTreeviewNodeIcon, + selectedIcon: data.amsTreeviewSelectedIcon, + checkedIcon: data.amsTreeviewCheckedIcon || 'fa fa-fw fa-check-square-o', + uncheckedIcon: data.amsTreeviewUncheckedIcon || 'fa fa-fw fa-square-o', + color: data.amsTreeviewColor, + backColor: data.amsTreeviewBackColor, + borderColor: data.amsTreeviewBorderColor, + onHoverColor: data.amsTreeviewHoverColor, + selectedColor: data.amsTreeviewSelectedColor, + selectedBackColor: data.amsTreeviewSelectedBackColor, + unselectableColor: data.amsTreeviewUnselectableColor || 'rgba(1,1,1,0.25)', + unselectableBackColor: data.amsTreeviewUnselectableBackColor || 'rgba(1,1,1,0.25)', + enableLinks: data.amsTreeviewEnableLinks, + highlightSelected: data.amsTreeviewHighlightSelected, + highlightSearchResults: data.amsTreeviewhighlightSearchResults, + showBorder: data.amsTreeviewShowBorder, + showIcon: data.amsTreeviewShowIcon, + showCheckbox: data.amsTreeviewShowCheckbox, + showTags: data.amsTreeviewShowTags, + toggleUnselectable: data.amsTreeviewToggleUnselectable, + multiSelect: data.amsTreeviewMultiSelect, + onNodeChecked: ams.getFunctionByName(data.amsTreeviewNodeChecked), + onNodeCollapsed: ams.getFunctionByName(data.amsTreeviewNodeCollapsed), + onNodeDisabled: ams.getFunctionByName(data.amsTreeviewNodeDisabled), + onNodeEnabled: ams.getFunctionByName(data.amsTreeviewNodeEnabled), + onNodeExpanded: ams.getFunctionByName(data.amsTreeviewNodeExpanded), + onNodeSelected: ams.getFunctionByName(data.amsTreeviewNodeSelected), + onNodeUnchecked: ams.getFunctionByName(data.amsTreeviewNodeUnchecked), + onNodeUnselected: ams.getFunctionByName(data.amsTreeviewNodeUnselected), + onSearchComplete: ams.getFunctionByName(data.amsTreeviewSearchComplete), + onSearchCleared: ams.getFunctionByName(data.amsTreeviewSearchCleared) + }; + var settings = $.extend({}, dataOptions, data.amsTreeviewOptions); + settings = ams.executeFunctionByName(data.amsTreeviewInitcallback, treeview, settings) || settings; + var plugin = treeview.treeview(settings); + ams.executeFunctionByName(data.amsTreeviewAfterInitCallback, treeview, plugin, settings); + }); + }); }); } }, @@ -3619,26 +3621,29 @@ ams.baseURL + 'ext/jquery-datetimepicker' + ams.devext + '.js', function(first_load) { if (first_load) { - ams.getCSS(ams.baseURL + '../css/ext/jquery-datetimepicker' + ams.devext + '.css', 'jquery-datetimepicker'); ams.dialog.registerHideCallback(ams.helpers.datetimepickerDialogHiddenCallback); } - datepickers.each(function() { - var input = $(this); - var data = input.data(); - var dataOptions = { - lang: data.amsDatetimepickerLang || ams.lang, - format: data.amsDatetimepickerFormat || 'd/m/y', - datepicker: true, - dayOfWeekStart: 1, - timepicker: false, - closeOnDateSelect: data.amsDatetimepickerCloseOnSelect === undefined ? true : data.amsDatetimepickerCloseOnSelect, - weeks: data.amsDatetimepickerWeeks - }; - var settings = $.extend({}, dataOptions, data.amsDatetimepickerOptions); - settings = ams.executeFunctionByName(data.amsDatetimepickerInitCallback, input, settings) || settings; - var plugin = input.datetimepicker(settings); - ams.executeFunctionByName(data.amsDatetimepickerAfterInitCallback, input, plugin, settings); - }); + ams.getCSS(ams.baseURL + '../css/ext/jquery-datetimepicker' + ams.devext + '.css', + 'jquery-datetimepicker', + function () { + datepickers.each(function () { + var input = $(this); + var data = input.data(); + var dataOptions = { + lang: data.amsDatetimepickerLang || ams.lang, + format: data.amsDatetimepickerFormat || 'd/m/y', + datepicker: true, + dayOfWeekStart: 1, + timepicker: false, + closeOnDateSelect: data.amsDatetimepickerCloseOnSelect === undefined ? true : data.amsDatetimepickerCloseOnSelect, + weeks: data.amsDatetimepickerWeeks + }; + var settings = $.extend({}, dataOptions, data.amsDatetimepickerOptions); + settings = ams.executeFunctionByName(data.amsDatetimepickerInitCallback, input, settings) || settings; + var plugin = input.datetimepicker(settings); + ams.executeFunctionByName(data.amsDatetimepickerAfterInitCallback, input, plugin, settings); + }); + }); }); } }, @@ -3653,27 +3658,30 @@ ams.baseURL + 'ext/jquery-datetimepicker' + ams.devext + '.js', function(first_load) { if (first_load) { - ams.getCSS(ams.baseURL + '../css/ext/jquery-datetimepicker' + ams.devext + '.css', 'jquery-datetimepicker'); ams.dialog.registerHideCallback(ams.helpers.datetimepickerDialogHiddenCallback); } - datetimepickers.each(function() { - var input = $(this); - var data = input.data(); - var dataOptions = { - lang: data.amsDatetimepickerLang || ams.lang, - format: data.amsDatetimepickerFormat || 'd/m/y H:i', - datepicker: true, - dayOfWeekStart: 1, - timepicker: true, - closeOnDateSelect: data.amsDatetimepickerCloseOnSelect === undefined ? true : data.amsDatetimepickerCloseOnSelect, - closeOnTimeSelect: data.amsDatetimepickerCloseOnSelect === undefined ? true : data.amsDatetimepickerCloseOnSelect, - weeks: data.amsDatetimepickerWeeks - }; - var settings = $.extend({}, dataOptions, data.amsDatetimepickerOptions); - settings = ams.executeFunctionByName(data.amsDatetimepickerInitCallback, input, settings) || settings; - var plugin = input.datetimepicker(settings); - ams.executeFunctionByName(data.amsDatetimepickerAfterInitCallback, input, plugin, settings); - }); + ams.getCSS(ams.baseURL + '../css/ext/jquery-datetimepicker' + ams.devext + '.css', + 'jquery-datetimepicker', + function () { + datetimepickers.each(function () { + var input = $(this); + var data = input.data(); + var dataOptions = { + lang: data.amsDatetimepickerLang || ams.lang, + format: data.amsDatetimepickerFormat || 'd/m/y H:i', + datepicker: true, + dayOfWeekStart: 1, + timepicker: true, + closeOnDateSelect: data.amsDatetimepickerCloseOnSelect === undefined ? true : data.amsDatetimepickerCloseOnSelect, + closeOnTimeSelect: data.amsDatetimepickerCloseOnSelect === undefined ? true : data.amsDatetimepickerCloseOnSelect, + weeks: data.amsDatetimepickerWeeks + }; + var settings = $.extend({}, dataOptions, data.amsDatetimepickerOptions); + settings = ams.executeFunctionByName(data.amsDatetimepickerInitCallback, input, settings) || settings; + var plugin = input.datetimepicker(settings); + ams.executeFunctionByName(data.amsDatetimepickerAfterInitCallback, input, plugin, settings); + }); + }); }); } }, @@ -3688,24 +3696,27 @@ ams.baseURL + 'ext/jquery-datetimepicker' + ams.devext + '.js', function(first_load) { if (first_load) { - ams.getCSS(ams.baseURL + '../css/ext/jquery-datetimepicker' + ams.devext + '.css', 'jquery-datetimepicker'); ams.dialog.registerHideCallback(ams.helpers.datetimepickerDialogHiddenCallback); } - timepickers.each(function() { - var input = $(this); - var data = input.data(); - var dataOptions = { - lang: data.amsDatetimepickerLang || ams.lang, - format: data.amsDatetimepickerFormat || 'H:i', - datepicker: false, - timepicker: true, - closeOnTimeSelect: data.amsDatetimepickerCloseOnSelect === undefined ? true : data.amsDatetimepickerCloseOnSelect - }; - var settings = $.extend({}, dataOptions, data.amsDatetimepickerOptions); - settings = ams.executeFunctionByName(data.amsDatetimepickerInitCallback, input, settings) || settings; - var plugin = input.datetimepicker(settings); - ams.executeFunctionByName(data.amsDatetimepickerAfterInitCallback, input, plugin, settings); - }); + ams.getCSS(ams.baseURL + '../css/ext/jquery-datetimepicker' + ams.devext + '.css', + 'jquery-datetimepicker', + function() { + timepickers.each(function () { + var input = $(this); + var data = input.data(); + var dataOptions = { + lang: data.amsDatetimepickerLang || ams.lang, + format: data.amsDatetimepickerFormat || 'H:i', + datepicker: false, + timepicker: true, + closeOnTimeSelect: data.amsDatetimepickerCloseOnSelect === undefined ? true : data.amsDatetimepickerCloseOnSelect + }; + var settings = $.extend({}, dataOptions, data.amsDatetimepickerOptions); + settings = ams.executeFunctionByName(data.amsDatetimepickerInitCallback, input, settings) || settings; + var plugin = input.datetimepicker(settings); + ams.executeFunctionByName(data.amsDatetimepickerAfterInitCallback, input, plugin, settings); + }); + }); }); } }, @@ -3718,21 +3729,22 @@ if (colorpickers.length > 0) { ams.ajax.check($.fn.minicolors, ams.baseURL + 'ext/jquery-minicolors' + ams.devext + '.js', - function(first_load) { - if (first_load) { - ams.getCSS(ams.baseURL + '../css/ext/jquery-minicolors' + ams.devext + '.css', 'jquery-minicolors'); - } - colorpickers.each(function() { - var input = $(this); - var data = input.data(); - var dataOptions = { - position: data.amsColorpickerPosition || input.closest('label.input').data('ams-colorpicker-position') || 'bottom left' - }; - var settings = $.extend({}, dataOptions, data.amsColorpickerOptions); - settings = ams.executeFunctionByName(data.amsColorpickerInitCallback, input, settings) || settings; - var plugin = input.minicolors(settings); - ams.executeFunctionByName(data.amsDatetimepickerAfterInitCallback, input, plugin, settings); - }); + function() { + ams.getCSS(ams.baseURL + '../css/ext/jquery-minicolors' + ams.devext + '.css', + 'jquery-minicolors', + function () { + colorpickers.each(function () { + var input = $(this); + var data = input.data(); + var dataOptions = { + position: data.amsColorpickerPosition || input.closest('label.input').data('ams-colorpicker-position') || 'bottom left' + }; + var settings = $.extend({}, dataOptions, data.amsColorpickerOptions); + settings = ams.executeFunctionByName(data.amsColorpickerInitCallback, input, settings) || settings; + var plugin = input.minicolors(settings); + ams.executeFunctionByName(data.amsDatetimepickerAfterInitCallback, input, plugin, settings); + }); + }); }); } }, @@ -3745,22 +3757,24 @@ if (uploads.length > 0) { ams.ajax.check($.fn.dndupload, ams.baseURL + 'ext/jquery-dndupload' + ams.devext + '.js', - function(first_load) { - ams.getCSS(ams.baseURL + '../css/ext/jquery-dndupload' + ams.devext + '.css', 'jquery-dndupload', function() { - uploads.each(function() { - var upload = $(this); - var data = upload.data(); - var dataOptions = { - action: data.amsDnduploadAction || upload.attr('action') || 'upload-files', - fieldname: data.amsDnduploadFieldname || 'files', - autosubmit: data.amsDnduploadAutosubmit - }; - var settings = $.extend({}, dataOptions, data.amsDnduploadOptions); - settings = ams.executeFunctionByName(data.amsDnduploadInitCallback, upload, settings) || settings; - var plugin = upload.dndupload(settings); - ams.executeFunctionByName(data.amsDnduploadAfterInitcallback, upload, plugin, settings); - }); - }); + function() { + ams.getCSS(ams.baseURL + '../css/ext/jquery-dndupload' + ams.devext + '.css', + 'jquery-dndupload', + function () { + uploads.each(function () { + var upload = $(this); + var data = upload.data(); + var dataOptions = { + action: data.amsDnduploadAction || upload.attr('action') || 'upload-files', + fieldname: data.amsDnduploadFieldname || 'files', + autosubmit: data.amsDnduploadAutosubmit + }; + var settings = $.extend({}, dataOptions, data.amsDnduploadOptions); + settings = ams.executeFunctionByName(data.amsDnduploadInitCallback, upload, settings) || settings; + var plugin = upload.dndupload(settings); + ams.executeFunctionByName(data.amsDnduploadAfterInitcallback, upload, plugin, settings); + }); + }); }); } }, @@ -3868,7 +3882,7 @@ if (tables.length > 0) { ams.ajax.check($.fn.dataTable, ams.baseURL + 'ext/jquery-dataTables-1.9.4' + ams.devext + '.js', - function(first_load) { + function() { ams.ajax.check($.fn.dataTableExt.oPagination.bootstrap_full, ams.baseURL + 'myams-dataTables' + ams.devext + '.js', function() { @@ -4126,7 +4140,7 @@ if (tables.length > 0) { ams.ajax.check($.fn.tableDnD, ams.baseURL + 'ext/jquery-tablednd' + ams.devext + '.js', - function(first_load) { + function() { tables.each(function() { var table = $(this); var data = table.data(); @@ -4197,7 +4211,7 @@ if (wizards.length > 0) { ams.ajax.check($.fn.bootstrapWizard, ams.baseURL + 'ext/bootstrap-wizard-1.4.2' + ams.devext + '.js', - function(first_load) { + function() { wizards.each(function() { var wizard = $(this); var data = wizard.data(); @@ -4319,44 +4333,45 @@ if (images.length > 0) { ams.ajax.check($.fn.imgAreaSelect, ams.baseURL + 'ext/jquery-imgareaselect-0.9.11-rc1' + ams.devext + '.js', - function(first_load) { - if (first_load) { - ams.getCSS(ams.baseURL + '../css/ext/jquery-imgareaselect' + ams.devext + '.css'); - } - images.each(function() { - var image = $(this); - var data = image.data(); - var parent = data.amsImgareaselectParent ? image.parents(data.amsImgareaselectParent) : 'body'; - var dataOptions = { - instance: true, - handles: true, - parent: parent, - x1: data.amsImgareaselectX1 || 0, - y1: data.amsImgareaselectY1 || 0, - x2: data.amsImgareaselectX2 || data.amsImgareaselectImageWidth, - y2: data.amsImgareaselectY2 || data.amsImgareaselectImageHeight, - imageWidth: data.amsImgareaselectImageWidth, - imageHeight: data.amsImgareaselectImageHeight, - minWidth: 128, - minHeight: 128, - aspectRatio: data.amsImgareaselectRatio, - onSelectEnd: ams.getFunctionByName(data.amsImgareaselectSelectEnd) || function(img, selection) { - var target = data.amsImgareaselectTargetField || 'image_'; - $('input[name="' + target + 'x1"]', parent).val(selection.x1); - $('input[name="' + target + 'y1"]', parent).val(selection.y1); - $('input[name="' + target + 'x2"]', parent).val(selection.x2); - $('input[name="' + target + 'y2"]', parent).val(selection.y2); - } - }; - var settings = $.extend({}, dataOptions, data.amsImgareaselectOptions); - settings = ams.executeFunctionByName(data.amsImgareaselectInitCallback, image, settings) || settings; - var plugin = image.imgAreaSelect(settings); - ams.executeFunctionByName(data.amsImgareaselectAfterInitCallback, image, plugin, settings); - // Add update timeout when plug-in is displayed into a modal dialog - setTimeout(function() { - plugin.update(); - }, 250); - }); + function() { + ams.getCSS(ams.baseURL + '../css/ext/jquery-imgareaselect' + ams.devext + '.css', + 'jquery-imgareaselect', + function() { + images.each(function () { + var image = $(this); + var data = image.data(); + var parent = data.amsImgareaselectParent ? image.parents(data.amsImgareaselectParent) : 'body'; + var dataOptions = { + instance: true, + handles: true, + parent: parent, + x1: data.amsImgareaselectX1 || 0, + y1: data.amsImgareaselectY1 || 0, + x2: data.amsImgareaselectX2 || data.amsImgareaselectImageWidth, + y2: data.amsImgareaselectY2 || data.amsImgareaselectImageHeight, + imageWidth: data.amsImgareaselectImageWidth, + imageHeight: data.amsImgareaselectImageHeight, + minWidth: 128, + minHeight: 128, + aspectRatio: data.amsImgareaselectRatio, + onSelectEnd: ams.getFunctionByName(data.amsImgareaselectSelectEnd) || function (img, selection) { + var target = data.amsImgareaselectTargetField || 'image_'; + $('input[name="' + target + 'x1"]', parent).val(selection.x1); + $('input[name="' + target + 'y1"]', parent).val(selection.y1); + $('input[name="' + target + 'x2"]', parent).val(selection.x2); + $('input[name="' + target + 'y2"]', parent).val(selection.y2); + } + }; + var settings = $.extend({}, dataOptions, data.amsImgareaselectOptions); + settings = ams.executeFunctionByName(data.amsImgareaselectInitCallback, image, settings) || settings; + var plugin = image.imgAreaSelect(settings); + ams.executeFunctionByName(data.amsImgareaselectAfterInitCallback, image, plugin, settings); + // Add update timeout when plug-in is displayed into a modal dialog + setTimeout(function () { + plugin.update(); + }, 250); + }); + }); }); } }, @@ -4369,91 +4384,92 @@ if (fancyboxes.length > 0) { ams.ajax.check($.fn.fancybox, ams.baseURL + 'ext/jquery-fancybox-2.1.5' + ams.devext + '.js', - function(first_load) { - if (first_load) { - ams.getCSS(ams.baseURL + '../css/ext/jquery-fancybox-2.1.5' + ams.devext + '.css'); - } - fancyboxes.each(function() { - var fancybox = $(this); - var data = fancybox.data(); - var elements = fancybox; - if (data.amsFancyboxElements) { - elements = $(data.amsFancyboxElements, fancybox); - } - var helpers = (data.amsFancyboxHelpers || '').split(/\s+/); - if (helpers.length > 0) { - for (var index=0; index < helpers.length; index++) { - var helper = helpers[index]; - switch (helper) { - case 'buttons': - ams.ajax.check($.fancybox.helpers.buttons, - ams.baseURL + 'ext/fancybox-helpers/fancybox-buttons' + ams.devext + '.js'); - break; - case 'thumbs': - ams.ajax.check($.fancybox.helpers.thumbs, - ams.baseURL + 'ext/fancybox-helpers/fancybox-thumbs' + ams.devext + '.js'); - break; - case 'media': - ams.ajax.check($.fancybox.helpers.media, - ams.baseURL + 'ext/fancybox-helpers/fancybox-media' + ams.devext + '.js'); - break; - default: - break; + function() { + ams.getCSS(ams.baseURL + '../css/ext/jquery-fancybox-2.1.5' + ams.devext + '.css', + 'jquery-fancybox', + function() { + fancyboxes.each(function () { + var fancybox = $(this); + var data = fancybox.data(); + var elements = fancybox; + if (data.amsFancyboxElements) { + elements = $(data.amsFancyboxElements, fancybox); } - } - } - var dataOptions = { - type: data.amsFancyboxType, - padding: data.amsFancyboxPadding || 10, - margin: data.amsFancyboxMargin || 10, - loop: data.amsFancyboxLoop, - beforeLoad: ams.getFunctionByName(data.amsFancyboxBeforeLoad) || function() { - var title; - if (data.amsFancyboxTitleGetter) { - title = ams.executeFunctionByName(data.amsFancyboxTitleGetter, this); - } - if (!title) { - var content = $('*:first', this.element); - title = content.attr('original-title') || content.attr('title'); - if (!title) { - title = $(this.element).attr('original-title') || $(this.element).attr('title'); + var helpers = (data.amsFancyboxHelpers || '').split(/\s+/); + if (helpers.length > 0) { + for (var index = 0; index < helpers.length; index++) { + var helper = helpers[index]; + switch (helper) { + case 'buttons': + ams.ajax.check($.fancybox.helpers.buttons, + ams.baseURL + 'ext/fancybox-helpers/fancybox-buttons' + ams.devext + '.js'); + break; + case 'thumbs': + ams.ajax.check($.fancybox.helpers.thumbs, + ams.baseURL + 'ext/fancybox-helpers/fancybox-thumbs' + ams.devext + '.js'); + break; + case 'media': + ams.ajax.check($.fancybox.helpers.media, + ams.baseURL + 'ext/fancybox-helpers/fancybox-media' + ams.devext + '.js'); + break; + default: + break; + } } } - this.title = title; - }, - afterLoad: ams.getFunctionByName(data.amsFancyboxAfterLoad), - helpers: { - title: { - type: 'inside' + var dataOptions = { + type: data.amsFancyboxType, + padding: data.amsFancyboxPadding || 10, + margin: data.amsFancyboxMargin || 10, + loop: data.amsFancyboxLoop, + beforeLoad: ams.getFunctionByName(data.amsFancyboxBeforeLoad) || function () { + var title; + if (data.amsFancyboxTitleGetter) { + title = ams.executeFunctionByName(data.amsFancyboxTitleGetter, this); + } + if (!title) { + var content = $('*:first', this.element); + title = content.attr('original-title') || content.attr('title'); + if (!title) { + title = $(this.element).attr('original-title') || $(this.element).attr('title'); + } + } + this.title = title; + }, + afterLoad: ams.getFunctionByName(data.amsFancyboxAfterLoad), + helpers: { + title: { + type: 'inside' + } + } + }; + if (helpers.length > 0) { + for (index = 0; index < helpers.length; index++) { + helper = helpers[index]; + switch (helper) { + case 'buttons': + dataOptions.helpers.buttons = { + position: data.amsFancyboxButtonsPosition || 'top' + }; + break; + case 'thumbs': + dataOptions.helpers.thumbs = { + width: data.amsFancyboxThumbsWidth || 50, + height: data.amsFancyboxThumbsHeight || 50 + }; + break; + case 'media': + dataOptions.helpers.media = true; + break; + } + } } - } - }; - if (helpers.length > 0) { - for (index = 0; index < helpers.length; index++) { - helper = helpers[index]; - switch (helper) { - case 'buttons': - dataOptions.helpers.buttons = { - position: data.amsFancyboxButtonsPosition || 'top' - }; - break; - case 'thumbs': - dataOptions.helpers.thumbs = { - width: data.amsFancyboxThumbsWidth || 50, - height: data.amsFancyboxThumbsHeight || 50 - }; - break; - case 'media': - dataOptions.helpers.media = true; - break; - } - } - } - var settings = $.extend({}, dataOptions, data.amsFancyboxOptions); - settings = ams.executeFunctionByName(data.amsFancyboxInitCallback, fancybox, settings) || settings; - var plugin = elements.fancybox(settings); - ams.executeFunctionByName(data.amsFancyboxAfterInitCallback, fancybox, plugin, settings); - }); + var settings = $.extend({}, dataOptions, data.amsFancyboxOptions); + settings = ams.executeFunctionByName(data.amsFancyboxInitCallback, fancybox, settings) || settings; + var plugin = elements.fancybox(settings); + ams.executeFunctionByName(data.amsFancyboxAfterInitCallback, fancybox, plugin, settings); + }); + }); }); } }, @@ -4527,22 +4543,22 @@ function() { ams.ajax.check($.fn.mCustomScrollbar, ams.baseURL + 'ext/jquery-mCustomScrollbar' + ams.devext + '.js', - function(first_load) { - if (first_load) { - ams.getCSS(ams.baseURL + '../css/ext/jquery-mCustomScrollbar.css', - 'jquery-mCustomScrollbar'); - } - scrollbars.each(function() { - var scrollbar = $(this); - var data = scrollbar.data(); - var dataOptions = { - theme: data.amsScrollbarTheme || 'light' - }; - var settings = $.extend({}, dataOptions, data.amsScrollbarOptions); - settings = ams.executeFunctionByName(data.amsScrollbarInitCallback, scrollbar, settings) || settings; - var plugin = scrollbar.mCustomScrollbar(settings); - ams.executeFunctionByName(data.amsScrollbarAfterInitCallback, scrollbar, plugin, settings); - }); + function() { + ams.getCSS(ams.baseURL + '../css/ext/jquery-mCustomScrollbar.css', + 'jquery-mCustomScrollbar', + function () { + scrollbars.each(function () { + var scrollbar = $(this); + var data = scrollbar.data(); + var dataOptions = { + theme: data.amsScrollbarTheme || 'light' + }; + var settings = $.extend({}, dataOptions, data.amsScrollbarOptions); + settings = ams.executeFunctionByName(data.amsScrollbarInitCallback, scrollbar, settings) || settings; + var plugin = scrollbar.mCustomScrollbar(settings); + ams.executeFunctionByName(data.amsScrollbarAfterInitCallback, scrollbar, plugin, settings); + }); + }); }); }); } @@ -5588,7 +5604,7 @@ } // Hide menu button - $('#hide-menu >:first-child > A').click(function(e) { + $('#hide-menu').find('>:first-child >A').click(function(e) { body.toggleClass("hidden-menu"); e.preventDefault(); }); diff -r ff65bb647d54 -r b1bb02205451 src/pyams_skin/resources/js/myams.min.js --- a/src/pyams_skin/resources/js/myams.min.js Thu Dec 28 12:31:46 2017 +0100 +++ b/src/pyams_skin/resources/js/myams.min.js Sun Jan 14 14:53:41 2018 +0100 @@ -1,1 +1,1 @@ -"use strict";!function(e,a){var t=a.console;String.prototype.startsWith=function(e){var a=this.length,t=e.length;return!(a0},void 0===e.scrollbarWidth&&(e.scrollbarWidth=function(){var a=e('
').appendTo("body"),t=a.children(),n=t.innerWidth()-t.height(99).innerWidth();return a.remove(),n}),e.fn.extend({exists:function(){return e(this).length>0},objectOrParentWithClass:function(e){return this.hasClass(e)?this:this.parents("."+e)},listattr:function(a){var t=[];return this.each(function(){t.push(e(this).attr(a))}),t},style:function(e,a,t){if(void 0!==this.get(0)){var n=this.get(0).style;return void 0!==e?void 0!==a?(t=void 0!==t?t:"",n.setProperty(e,a,t),this):n.getPropertyValue(e):n}},removeClassPrefix:function(a){return this.each(function(t,n){var s=n.className.split(" ").map(function(e){return e.startsWith(a)?"":e});n.className=e.trim(s.join(" "))}),this},contextMenu:function(a){function t(t,n,s){var i=e(window)[n](),r=e(a.menuSelector)[n](),o=t;return t+r>i&&r',openedSign:''},a),n=e(this);n.find("LI").each(function(){var a=e(this);if(a.find("UL").size()>0){a.find("A:first").append(""+t.closedSign+"");var n=a.find("A:first");"#"===n.attr("href")&&n.click(function(){return!1})}}),n.find("LI.active").each(function(){var a=e(this).parents("UL"),n=a.parent("LI");a.slideDown(t.speed),n.find("b:first").html(t.openedSign),n.addClass("open")}),n.find("LI A").on("click",function(){var a=e(this);if(!a.hasClass("active")){var s=a.attr("href").replace(/^#/,""),i=a.parent().find("UL");if(t.accordion){var r=a.parent().parents("UL"),o=n.find("UL:visible");o.each(function(a){var n=!0;if(r.each(function(e){if(r[e]===o[a])return n=!1,!1}),n&&i!==o[a]){var c=e(o[a]);!s&&c.hasClass("active")||c.slideUp(t.speed,function(){e(this).parent("LI").removeClass("open").find("B:first").delay(t.speed).html(t.closedSign)})}})}var c=a.parent().find("UL:first");s||!c.is(":visible")||c.hasClass("active")?c.slideDown(t.speed,function(){a.parent("LI").addClass("open").find("B:first").delay(t.speed).html(t.openedSign)}):c.slideUp(t.speed,function(){a.parent("LI").removeClass("open").find("B:first").delay(t.speed).html(t.closedSign)})}})}}),e.UTF8={encode:function(e){e=e.replace(/\r\n/g,"\n");for(var a="",t=0;t127&&n<2048?(a+=String.fromCharCode(n>>6|192),a+=String.fromCharCode(63&n|128)):(a+=String.fromCharCode(n>>12|224),a+=String.fromCharCode(n>>6&63|128),a+=String.fromCharCode(63&n|128))}return a},decode:function(e){for(var a="",t=0,n=0,s=0,i=0;t191&&n<224?(s=e.charCodeAt(t+1),a+=String.fromCharCode((31&n)<<6|63&s),t+=2):(s=e.charCodeAt(t+1),i=e.charCodeAt(t+2),a+=String.fromCharCode((15&n)<<12|(63&s)<<6|63&i),t+=3);return a}},void 0===a.MyAMS&&(a.MyAMS={devmode:!0,devext:"",lang:"en",throttleDelay:350,menuSpeed:235,navbarHeight:49,ajaxNav:!0,safeMethods:["GET","HEAD","OPTIONS","TRACE"],csrfCookieName:"csrf_token",csrfHeaderName:"X-CSRF-Token",enableWidgets:!0,enableMobile:!1,enableFastclick:!1,warnOnFormChange:!1,ismobile:/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase())});var n=a.MyAMS,s=n;n.baseURL=function(){var a=e('script[src*="/myams.js"], script[src*="/myams.min.js"]').attr("src");return s.devmode=a.indexOf(".min.js")<0,s.devext=s.devmode?"":".min",a.substring(0,a.lastIndexOf("/")+1)}(),n.log=function(){t&&t.debug&&t.debug(this,arguments)},n.getQueryVar=function(e,a){if(e.indexOf("?")<0)return!1;e.endsWith("&")||(e+="&");var t=new RegExp(".*?[&\\?]"+a+"=(.*?)&.*"),n=e.replace(t,"$1");return n!==e&&n},n.rgb2hex=function(a){return"#"+e.map(a.match(/\b(\d+)\b/g),function(e){return("0"+parseInt(e).toString(16)).slice(-2)}).join("")},n.generateId=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+e()+e()},n.generateUUID=function(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var t=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===a?t:3&t|8).toString(16)})},n.getObject=function(e,a){if(e){if("string"!=typeof e)return e;var t=e.split(".");a=void 0===a||null===a?window:a;for(var n=0;n").attr("data-ams-id",t).text('@import "'+a+'";'),n)var c=setInterval(function(){try{o[0].sheet.cssRules;n.call(window,!0,i),clearInterval(c)}catch(e){}},10);o.appendTo(r)}else n&&n.call(window,!1,i)},n.event={stop:function(e){e||(e=window.event),e&&(e.stopPropagation?(e.stopPropagation(),e.preventDefault()):(e.cancelBubble=!0,e.returnValue=!1))}},n.browser={getInternetExplorerVersion:function(){var e=-1;if("Microsoft Internet Explorer"===navigator.appName){var a=navigator.userAgent;null!==new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})").exec(a)&&(e=parseFloat(RegExp.$1))}return e},checkVersion:function(){var e="You're not using Windows Internet Explorer.",t=this.getInternetExplorerVersion();t>-1&&(e=t>=8?"You're using a recent copy of Windows Internet Explorer.":"You should upgrade your copy of Windows Internet Explorer."),a.alert&&a.alert(e)},isIE8orlower:function(){var e="0",a=this.getInternetExplorerVersion();return a>-1&&(e=a>=9?0:1),e},copyToClipboard:function(i){function r(i){var r=!1;if(window.clipboardData&&window.clipboardData.setData)r=clipboardData.setData("Text",i);else if(document.queryCommandSupported&&document.queryCommandSupported("copy")){var o=e("