--- a/src/ztfy/myams/resources/js/myams.js Fri May 12 13:42:04 2017 +0200
+++ b/src/ztfy/myams/resources/js/myams.js Fri May 12 13:42:21 2017 +0200
@@ -506,6 +506,28 @@
/**
+ * Get an object given by name
+ */
+ MyAMS.getObject = function(objectName, context) {
+ if (!objectName) {
+ return undefined;
+ }
+ if (typeof(objectName) !== 'string') {
+ return objectName;
+ }
+ var namespaces = objectName.split(".");
+ context = (context === undefined || context === null) ? window : context;
+ for (var i=0; i < namespaces.length; i++) {
+ try {
+ context = context[namespaces[i]];
+ } catch (e) {
+ return undefined;
+ }
+ }
+ return context;
+ };
+
+ /**
* Get and execute a function given by name
* Small piece of code by Jason Bunting
*/
@@ -687,10 +709,10 @@
* Default JQuery AJAX error handler
*/
ajax: function(event, response, request, error) {
- if (response.statusText === 'OK') {
+ if (response && response.statusText && response.statusText.toUpperCase() === 'OK') {
return;
}
- var response = ams.ajax.getResponse(response);
+ response = ams.ajax.getResponse(response);
if (response.contentType === 'json') {
ams.ajax.handleJSON(response.data);
} else {
@@ -698,7 +720,7 @@
var message = response.responseText;
ams.skin.messageBox('error', {
title: ams.i18n.ERROR_OCCURED,
- content: '<h4>' + title + '</h4><p>' + message + '</p>',
+ content: '<h4>' + title + '</h4><p>' + (message || '') + '</p>',
icon: 'fa fa-warning animated shake',
timeout: 10000
});
@@ -751,9 +773,27 @@
* @options: callback options
*/
check: function(checker, source, callback, options) {
- if (typeof(callback) === 'object') {
- options = callback;
- callback = undefined;
+
+ function callCallbacks(firstLoad, options) {
+ if (callback === undefined) {
+ return;
+ }
+ if (!(callback instanceof Array)) {
+ callback = [callback];
+ }
+ for (var index=0; index < callback.length; index++) {
+ var cb = ams.getFunctionByName(callback[index]);
+ if (typeof(cb) === 'function') {
+ cb(firstLoad, options);
+ }
+ }
+ }
+
+ if (!(callback instanceof Array)) {
+ if (typeof(callback) === 'object') {
+ options = callback;
+ callback = undefined;
+ }
}
var defaults = {
async: typeof(callback) === 'function'
@@ -768,25 +808,19 @@
}
if (deferred.length > 0) {
$.when.apply($, deferred).then(function () {
- if (typeof(callback) === 'function') {
- callback(true, options);
- }
+ callCallbacks(true, options);
});
- } else if (typeof(callback) === 'function') {
- callback(false, options);
+ } else {
+ callCallbacks(false, options);
}
} else if (checker === undefined) {
if (typeof(source) === 'string') {
ams.getScript(source, function () {
- if (typeof(callback) === 'function') {
- callback(true, options);
- }
+ callCallbacks(true, options);
}, settings);
}
} else {
- if (typeof(callback) === 'function') {
- callback(false, options);
- }
+ callCallbacks(false, options);
}
},
@@ -3517,230 +3551,288 @@
ams.ajax.check($.fn.dataTable,
ams.baseURL + 'ext/jquery-dataTables-1.9.4' + ams.devext + '.js',
function(first_load) {
- $(tables).each(function() {
- ams.ajax.check($.fn.dataTableExt.oPagination.bootstrap_full,
- ams.baseURL + 'myams-dataTables' + ams.devext + '.js');
- var table = $(this);
- var data = table.data();
- var extensions = (data.amsDatatableExtensions || '').split(/\s+/);
- // Check DOM elements
- var sDom = data.amsDatatableSdom ||
- "W" +
- ((extensions.indexOf('colreorder') >= 0 ||
- extensions.indexOf('colreorderwithresize') >= 0) ? 'R' : '') +
- "<'dt-top-row'" +
- (extensions.indexOf('colvis') >= 0 ? 'C' : '') +
- ((data.amsDatatablePagination === false ||
- data.amsDatatablePaginationSize === false) ? '' : 'L') +
- (data.amsDatatableGlobalFilter === false ? '' : 'F') +
- ">r<'dt-wrapper't" +
- (extensions.indexOf('scroller') >= 0 ? 'S' : '') +
- "><'dt-row dt-bottom-row'<'row'<'col-sm-6'" +
- (data.amsDatatableInformation === false ? '': 'i') +
- "><'col-sm-6 text-right'p>>";
-
- var index;
- // Check initial sorting
- var sorting = data.amsDatatableSorting;
- if (typeof(sorting) === 'string') {
- var sortings = sorting.split(';');
- sorting = [];
- for (index=0; index < sortings.length; index++) {
- var colSorting = sortings[index].split(',');
- colSorting[0] = parseInt(colSorting[0]);
- sorting.push(colSorting);
- }
- }
- // Check columns sortings
- var columns = [];
- var column;
- var sortables = $('th', table).listattr('data-ams-datatable-sortable');
- for (index=0; index < sortables.length; index++) {
- var sortable = sortables[index];
- if (sortable !== undefined) {
- column = columns[index] || {};
- column.bSortable = sortable;
- columns[index] = column;
- }
- }
- // Check columns types
- var sortTypes = $('th', table).listattr('data-ams-datatable-stype');
- for (index=0; index < sortTypes.length; index++) {
- var sortType = sortTypes[index];
- if (sortType) {
- column = columns[index] || {};
- column.sType = sortType;
- columns[index] = column;
- }
- }
- // Set options
+ ams.ajax.check($.fn.dataTableExt.oPagination.bootstrap_full,
+ ams.baseURL + 'myams-dataTables' + ams.devext + '.js',
+ function() {
+ $(tables).each(function () {
+ var table = $(this);
+ var data = table.data();
+ var extensions = (data.amsDatatableExtensions || '').split(/\s+/);
+ // Check DOM elements
+ var sDom = data.amsDatatableSdom ||
+ "W" +
+ ((extensions.indexOf('colreorder') >= 0 ||
+ extensions.indexOf('colreorderwithresize') >= 0) ? 'R' : '') +
+ "<'dt-top-row'" +
+ (extensions.indexOf('colvis') >= 0 ? 'C' : '') +
+ ((data.amsDatatablePagination === false ||
+ data.amsDatatablePaginationSize === false) ? '' : 'L') +
+ (data.amsDatatableGlobalFilter === false ? '' : 'F') +
+ ">r<'dt-wrapper't" +
+ (extensions.indexOf('scroller') >= 0 ? 'S' : '') +
+ "><'dt-row dt-bottom-row'<'row'<'col-sm-6'" +
+ (data.amsDatatableInformation === false ? '' : 'i') +
+ "><'col-sm-6 text-right'p>>";
+
+ var index;
+ // Check initial sorting
+ var sorting = data.amsDatatableSorting;
+ if (typeof(sorting) === 'string') {
+ var sortings = sorting.split(';');
+ sorting = [];
+ for (index = 0; index < sortings.length; index++) {
+ var colSorting = sortings[index].split(',');
+ colSorting[0] = parseInt(colSorting[0]);
+ sorting.push(colSorting);
+ }
+ }
+ // Check columns sortings
+ var columns = [];
+ var column;
+ var sortables = $('th', table).listattr('data-ams-datatable-sortable');
+ for (index = 0; index < sortables.length; index++) {
+ var sortable = sortables[index];
+ if (sortable !== undefined) {
+ column = columns[index] || {};
+ column.bSortable = sortable;
+ columns[index] = column;
+ }
+ }
+ // Check columns types
+ var sortTypes = $('th', table).listattr('data-ams-datatable-stype');
+ for (index = 0; index < sortTypes.length; index++) {
+ var sortType = sortTypes[index];
+ if (sortType) {
+ column = columns[index] || {};
+ column.sType = sortType;
+ columns[index] = column;
+ }
+ }
+ // Set options
+ var dataOptions = {
+ bJQueryUI: false,
+ bFilter: data.amsDatatableGlobalFilter !== false || extensions.indexOf('columnfilter') >= 0,
+ bPaginate: data.amsDatatablePagination !== false,
+ bInfo: data.amsDatatableInfo !== false,
+ bSort: data.amsDatatableSort !== false,
+ aaSorting: sorting,
+ aoColumns: columns.length > 0 ? columns : undefined,
+ bDeferRender: true,
+ bAutoWidth: false,
+ iDisplayLength: data.amsDatatableDisplayLength || 25,
+ sPaginationType: data.amsDatatablePaginationType || 'bootstrap_full',
+ sDom: sDom,
+ oLanguage: ams.plugins.i18n.datatables,
+ fnInitComplete: function (oSettings, json) {
+ $('.ColVis_Button').addClass('btn btn-default btn-sm')
+ .html((ams.plugins.i18n.datatables.sColumns || "Columns") +
+ ' <i class="fa fa-fw fa-caret-down"></i>');
+ }
+ };
+ var settings = $.extend({}, dataOptions, data.amsDatatableOptions);
+ var checkers = [];
+ var sources = [];
+ var callbacks = [];
+ if (extensions.length > 0) {
+ for (index = 0; index < extensions.length; index++) {
+ switch (extensions[index]) {
+ case 'autofill':
+ checkers.push($.fn.dataTable.AutoFill);
+ sources.push(ams.baseURL + 'ext/jquery-dataTables-autoFill' + ams.devext + '.js');
+ break;
+ case 'columnfilter':
+ checkers.push($.fn.columnFilter);
+ sources.push(ams.baseURL + 'ext/jquery-dataTables-columnFilter' + ams.devext + '.js');
+ break;
+ case 'colreorder':
+ checkers.push($.fn.dataTable.ColReorder);
+ sources.push(ams.baseURL + 'ext/jquery-dataTables-colReorder' + ams.devext + '.js');
+ break;
+ case 'colreorderwithresize':
+ checkers.push(window.ColReorder);
+ sources.push(ams.baseURL + 'ext/jquery-dataTables-colReorderWithResize' + ams.devext + '.js');
+ break;
+ case 'colvis':
+ checkers.push($.fn.dataTable.ColVis);
+ sources.push(ams.baseURL + 'ext/jquery-dataTables-colVis' + ams.devext + '.js');
+ callbacks.push(function () {
+ var cvDefault = {
+ activate: 'click',
+ sAlign: 'right'
+ };
+ settings.oColVis = $.extend({}, cvDefault, data.amsDatatableColvisOptions);
+ });
+ break;
+ case 'editable':
+ checkers.push($.fn.editable);
+ sources.push(ams.baseURL + 'ext/jquery-jeditable' + ams.devext + '.js');
+ checkers.push($.fn.makeEditable);
+ sources.push(ams.baseURL + 'ext/jquery-dataTables-editable' + ams.devext + '.js');
+ break;
+ case 'fixedcolumns':
+ checkers.push($.fn.dataTable.FixedColumns);
+ sources.push(ams.baseURL + 'ext/jquery-dataTables-fixedColumns' + ams.devext + '.js');
+ break;
+ case 'fixedheader':
+ checkers.push($.fn.dataTable.Fixedheader);
+ sources.push(ams.baseURL + 'ext/jquery-dataTables-fixedHeader' + ams.devext + '.js');
+ break;
+ case 'keytable':
+ checkers.push(window.keyTable);
+ sources.push(ams.baseURL + 'ext/jquery-dataTables-keyTable' + ams.devext + '.js');
+ break;
+ case 'rowgrouping':
+ checkers.push($.fn.rowGrouping());
+ sources.push(ams.baseURL + 'ext/jquery-dataTables-rowGrouping' + ams.devext + '.js');
+ break;
+ case 'rowreordering':
+ checkers.push($.fn.rowReordering);
+ sources.push(ams.baseURL + 'ext/jquery-dataTables-rowReordering' + ams.devext + '.js');
+ break;
+ case 'scroller':
+ checkers.push($.fn.dataTable.Scroller);
+ sources.push(ams.baseURL + 'ext/jquery-dataTables-scroller' + ams.devext + '.js');
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ function initTable() {
+ settings = ams.executeFunctionByName(data.amsDatatableInitCallback, table, settings) || settings;
+ try { // Some settings can easily generate DataTables exceptions...
+ var plugin = table.dataTable(settings);
+ ams.executeFunctionByName(data.amsDatatableAfterInitCallback, table, plugin, settings);
+ if (extensions.length > 0) {
+ for (index = 0; index < extensions.length; index++) {
+ switch (extensions[index]) {
+ case 'autofill':
+ var afSettings = $.extend({}, data.amsDatatableAutofillOptions, settings.autofill);
+ afSettings = ams.executeFunctionByName(data.amsDatatableAutofillInitCallback, table, afSettings) || afSettings;
+ table.data('ams-autofill', data.amsDatatableAutofillConstructor === undefined ?
+ new $.fn.dataTable.AutoFill(table, afSettings)
+ : ams.executeFunctionByName(data.amsDatatableAutofillConstructor, table, plugin, afSettings));
+ break;
+ case 'columnfilter':
+ var cfDefault = {
+ sPlaceHolder: 'head:after'
+ };
+ var cfSettings = $.extend({}, cfDefault, data.amsDatatableColumnfilterOptions, settings.columnfilter);
+ cfSettings = ams.executeFunctionByName(data.amsDatatableColumnfilterInitCallback, table, cfSettings) || cfSettings;
+ table.data('ams-columnfilter', data.amsDatatableColumnfilterConstructor === undefined ?
+ plugin.columnFilter(cfSettings)
+ : ams.executeFunctionByName(data.amsDatatableColumnfilterConstructor, table, plugin, cfSettings));
+ break;
+ case 'editable':
+ var edSettings = $.extend({}, data.amsDatatableEditableOptions, settings.editable);
+ edSettings = ams.executeFunctionByName(data.amsDatatableEditableInitCallback, table, edSettings) || edSettings;
+ table.data('ams-editable', data.amsDatatableEditableConstructor === undefined ?
+ table.makeEditable(edSettings)
+ : ams.executeFunctionByName(data.amsDatatableEditableConstructor, table, plugin, edSettings));
+ break;
+ case 'fixedcolumns':
+ var fcSettings = $.extend({}, data.amsDatatableFixedcolumnsOptions, settings.fixedcolumns);
+ fcSettings = ams.executeFunctionByName(data.amsDatatableFixedcolumnsInitCallback, table, fcSettings) || fcSettings;
+ table.data('ams-fixedcolumns', data.amsDatatableFixedcolumnsConstructor === undefined ?
+ new $.fn.dataTable.FixedColumns(table, fcSettings)
+ : ams.executeFunctionByName(data.amsDatatableFixedcolumnsConstructor, table, plugin, fcSettings));
+ break;
+ case 'fixedheader':
+ var fhSettings = $.extend({}, data.amsDatatableFixedheaderOptions, settings.fixedheader);
+ fhSettings = ams.executeFunctionByName(data.amsDatatableFixedheadeInitCallback, table, fhSettings) || fhSettings;
+ table.data('ams-fixedheader', data.amsDatatableFixedheaderConstructor === undefined ?
+ new $.fn.dataTable.FixedHeader(table, fhSettings)
+ : ams.executeFunctionByName(data.amsDatatableFixedheaderConstructor, table, plugin, fhSettings));
+ break;
+ case 'keytable':
+ var ktDefault = {
+ table: table.get(0),
+ datatable: plugin
+ };
+ var ktSettings = $.extend({}, ktDefault, data.amsDatatableKeytableOptions, settings.keytable);
+ ktSettings = ams.executeFunctionByName(data.amsDatatableKeytableInitCallback, table, ktSettings) || ktSettings;
+ table.data('ams-keytable', data.amsDatatableKeytableConstructor === undefined ?
+ new KeyTable(ktSettings)
+ : ams.executeFunctionByName(data.amsDatatableKeytableConstructor, table, plugin, ktSettings));
+ break;
+ case 'rowgrouping':
+ var rgSettings = $.extend({}, data.amsDatatableRowgroupingOptions, settings.rowgrouping);
+ rgSettings = ams.executeFunctionByName(data.amsDatatableRowgroupingInitCallback, table, rgSettings) || rgSettings;
+ table.data('ams-rowgrouping', data.amsDatatableRowgroupingConstructor === undefined ?
+ table.rowGrouping(rgSettings)
+ : ams.executeFunctionByName(data.amsDatatableRowgroupingConstructor, table, plugin, rgSettings));
+ break;
+ case 'rowreordering':
+ var rrSettings = $.extend({}, data.amsDatatableRowreorderingOptions, settings.rowreordering);
+ rrSettings = ams.executeFunctionByName(data.amsDatatableRowreorderingInitCallback, table, rrSettings) || rrSettings;
+ table.data('ams-rowreordering', data.amsDatatableRowreorderingConstructor === undefined ?
+ table.rowReordering(rrSettings)
+ : ams.executeFunctionByName(data.amsDatatableRowreorderingConstructor, table, plugin, rrSettings));
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ if (data.amsDatatableFinalizeCallback) {
+ var finalizers = data.amsDatatableFinalizeCallback.split(/\s+/);
+ if (finalizers.length > 0) {
+ for (index = 0; index < finalizers.length; index++) {
+ ams.executeFunctionByName(finalizers[index], table, plugin, settings);
+ }
+ }
+ }
+ }
+ catch (e) {
+ }
+ }
+
+ callbacks.push(initTable);
+ ams.ajax.check(checkers, sources, callbacks);
+ });
+ });
+ });
+ }
+ },
+
+ /**
+ * Wizard plug-in
+ */
+ wizard: function(element) {
+ var wizards = $('.wizard', element);
+ if (wizards.length > 0) {
+ ams.ajax.check($.fn.bootstrapWizard,
+ ams.baseURL + 'ext/bootstrap-wizard-1.4.2' + ams.devext + '.js',
+ function(first_load) {
+ wizards.each(function() {
+ var wizard = $(this);
+ var data = wizard.data();
var dataOptions = {
- bJQueryUI: false,
- bFilter: data.amsDatatableGlobalFilter !== false || extensions.indexOf('columnfilter') >= 0,
- bPaginate: data.amsDatatablePagination !== false,
- bInfo: data.amsDatatableInfo !== false,
- bSort: data.amsDatatableSort !== false,
- aaSorting: sorting,
- aoColumns: columns.length > 0 ? columns : undefined,
- bDeferRender: true,
- bAutoWidth: false,
- iDisplayLength: data.amsDatatableDisplayLength || 25,
- sPaginationType: data.amsDatatablePaginationType || 'bootstrap_full',
- sDom: sDom,
- oLanguage: ams.plugins.i18n.datatables,
- fnInitComplete: function(oSettings, json) {
- $('.ColVis_Button').addClass('btn btn-default btn-sm')
- .html((ams.plugins.i18n.datatables.sColumns || "Columns") +
- ' <i class="fa fa-fw fa-caret-down"></i>');
- }
+ withVisible: data.amsWizardWithVisible === undefined ? true : data.amsWizardWithVisible,
+ tabClass: data.amsWizardTabClass,
+ firstSelector: data.amsWizardFirstSelector,
+ previousSelector: data.amsWizardPreviousSelector,
+ nextSelector: data.amsWizardNextSelector,
+ lastSelector: data.amsWizardLastSelector,
+ finishSelector: data.amsWizardFinishSelector,
+ backSelector: data.amsWizardBackSelector,
+ onInit: ams.getFunctionByName(data.amsWizardInit),
+ onShow: ams.getFunctionByName(data.amsWizardShow),
+ onNext: ams.getFunctionByName(data.amsWizardNext),
+ onPrevious: ams.getFunctionByName(data.amsWizardPrevious),
+ onFirst: ams.getFunctionByName(data.amsWizardFirst),
+ onLast: ams.getFunctionByName(data.amsWizardLast),
+ onBack: ams.getFunctionByName(data.amsWizardBack),
+ onFinish: ams.getFunctionByName(data.amsWizardFinish),
+ onTabChange: ams.getFunctionByName(data.amsWizardTabChange),
+ onTabClick: ams.getFunctionByName(data.amsWizardTabClick),
+ onTabShow: ams.getFunctionByName(data.amsWizardTabShow)
};
- var settings = $.extend({}, dataOptions, data.amsDatatableOptions);
- if (extensions.length > 0) {
- for (index=0; index < extensions.length; index++) {
- switch (extensions[index]) {
- case 'autofill':
- ams.ajax.check($.fn.dataTable.AutoFill,
- ams.baseURL + 'ext/jquery-dataTables-autoFill' + ams.devext + '.js');
- break;
- case 'columnfilter':
- ams.ajax.check($.fn.columnFilter,
- ams.baseURL + 'ext/jquery-dataTables-columnFilter' + ams.devext + '.js');
- break;
- case 'colreorder':
- ams.ajax.check($.fn.dataTable.ColReorder,
- ams.baseURL + 'ext/jquery-dataTables-colReorder' + ams.devext + '.js');
- break;
- case 'colreorderwithresize':
- ams.ajax.check($.fn.dataTable.ColReorder,
- ams.baseURL + 'ext/jquery-dataTables-colReorderWithResize' + ams.devext + '.js');
- break;
- case 'colvis':
- ams.ajax.check($.fn.dataTable.ColVis,
- ams.baseURL + 'ext/jquery-dataTables-colVis' + ams.devext + '.js');
- var cvDefault = {
- activate: 'click',
- sAlign: 'right'
- };
- settings.oColVis = $.extend({}, cvDefault, data.amsDatatableColvisOptions);
- break;
- case 'editable':
- ams.ajax.check($.fn.editable,
- ams.baseURL + 'ext/jquery-jeditable' + ams.devext + '.js');
- ams.ajax.check($.fn.makeEditable,
- ams.baseURL + 'ext/jquery-dataTables-editable' + ams.devext + '.js');
- break;
- case 'fixedcolumns':
- ams.ajax.check($.fn.dataTable.FixedColumns,
- ams.baseURL + 'ext/jquery-dataTables-fixedColumns' + ams.devext + '.js');
- break;
- case 'fixedheader':
- ams.ajax.check($.fn.dataTable.FixedHeader,
- ams.baseURL + 'ext/jquery-dataTables-fixedHeader' + ams.devext + '.js');
- break;
- case 'keytable':
- ams.ajax.check(window.KeyTable,
- ams.baseURL + 'ext/jquery-dataTables-keyTable' + ams.devext + '.js');
- break;
- case 'rowgrouping':
- ams.ajax.check($.fn.rowGrouping,
- ams.baseURL + 'ext/jquery-dataTables-rowGrouping' + ams.devext + '.js');
- break;
- case 'rowreordering':
- ams.ajax.check($.fn.rowReordering,
- ams.baseURL + 'ext/jquery-dataTables-rowReordering' + ams.devext + '.js');
- break;
- case 'scroller':
- ams.ajax.check($.fn.dataTable.Scroller,
- ams.baseURL + 'ext/jquery-dataTables-scroller' + ams.devext + '.js');
- break;
- default:
- break;
- }
- }
- }
- settings = ams.executeFunctionByName(data.amsDatatableInitCallback, table, settings) || settings;
- try { // Some settings can easily generate DataTables exceptions...
- var plugin = table.dataTable(settings);
- ams.executeFunctionByName(data.amsDatatableAfterInitCallback, table, plugin, settings);
- if (extensions.length > 0) {
- for (index=0; index < extensions.length; index++) {
- switch (extensions[index]) {
- case 'autofill':
- var afSettings = $.extend({}, data.amsDatatableAutofillOptions, settings.autofill);
- afSettings = ams.executeFunctionByName(data.amsDatatableAutofillInitCallback, table, afSettings) || afSettings;
- table.data('ams-autofill', data.amsDatatableAutofillConstructor === undefined ?
- new $.fn.dataTable.AutoFill(table, afSettings)
- : ams.executeFunctionByName(data.amsDatatableAutofillConstructor, table, plugin, afSettings));
- break;
- case 'columnfilter':
- var cfDefault = {
- sPlaceHolder: 'head:after'
- };
- var cfSettings = $.extend({}, cfDefault, data.amsDatatableColumnfilterOptions, settings.columnfilter);
- cfSettings = ams.executeFunctionByName(data.amsDatatableColumnfilterInitCallback, table, cfSettings) || cfSettings;
- table.data('ams-columnfilter', data.amsDatatableColumnfilterConstructor === undefined ?
- plugin.columnFilter(cfSettings)
- : ams.executeFunctionByName(data.amsDatatableColumnfilterConstructor, table, plugin, cfSettings));
- break;
- case 'editable':
- var edSettings = $.extend({}, data.amsDatatableEditableOptions, settings.editable);
- edSettings = ams.executeFunctionByName(data.amsDatatableEditableInitCallback, table, edSettings) || edSettings;
- table.data('ams-editable', data.amsDatatableEditableConstructor === undefined ?
- table.makeEditable(edSettings)
- : ams.executeFunctionByName(data.amsDatatableEditableConstructor, table, plugin, edSettings));
- break;
- case 'fixedcolumns':
- var fcSettings = $.extend({}, data.amsDatatableFixedcolumnsOptions, settings.fixedcolumns);
- fcSettings = ams.executeFunctionByName(data.amsDatatableFixedcolumnsInitCallback, table, fcSettings) || fcSettings;
- table.data('ams-fixedcolumns', data.amsDatatableFixedcolumnsConstructor === undefined ?
- new $.fn.dataTable.FixedColumns(table, fcSettings)
- : ams.executeFunctionByName(data.amsDatatableFixedcolumnsConstructor, table, plugin, fcSettings));
- break;
- case 'fixedheader':
- var fhSettings = $.extend({}, data.amsDatatableFixedheaderOptions, settings.fixedheader);
- fhSettings = ams.executeFunctionByName(data.amsDatatableFixedheadeInitCallback, table, fhSettings) || fhSettings;
- table.data('ams-fixedheader', data.amsDatatableFixedheaderConstructor === undefined ?
- new $.fn.dataTable.FixedHeader(table, fhSettings)
- : ams.executeFunctionByName(data.amsDatatableFixedheaderConstructor, table, plugin, fhSettings));
- break;
- case 'keytable':
- var ktDefault = {
- table: table.get(0),
- datatable: plugin
- };
- var ktSettings = $.extend({}, ktDefault, data.amsDatatableKeytableOptions, settings.keytable);
- ktSettings = ams.executeFunctionByName(data.amsDatatableKeytableInitCallback, table, ktSettings) || ktSettings;
- table.data('ams-keytable', data.amsDatatableKeytableConstructor === undefined ?
- new KeyTable(ktSettings)
- : ams.executeFunctionByName(data.amsDatatableKeytableConstructor, table, plugin, ktSettings));
- break;
- case 'rowgrouping':
- var rgSettings = $.extend({}, data.amsDatatableRowgroupingOptions, settings.rowgrouping);
- rgSettings = ams.executeFunctionByName(data.amsDatatableRowgroupingInitCallback, table, rgSettings) || rgSettings;
- table.data('ams-rowgrouping', data.amsDatatableRowgroupingConstructor === undefined ?
- table.rowGrouping(rgSettings)
- : ams.executeFunctionByName(data.amsDatatableRowgroupingConstructor, table, plugin, rgSettings));
- break;
- case 'rowreordering':
- var rrSettings = $.extend({}, data.amsDatatableRowreorderingOptions, settings.rowreordering);
- rrSettings = ams.executeFunctionByName(data.amsDatatableRowreorderingInitCallback, table, rrSettings) || rrSettings;
- table.data('ams-rowreordering', data.amsDatatableRowreorderingConstructor === undefined ?
- table.rowReordering(rrSettings)
- : ams.executeFunctionByName(data.amsDatatableRowreorderingConstructor, table, plugin, rrSettings));
- break;
- default:
- break;
- }
- }
- }
- var finalizers = (data.amsDatatableFinalizeCallback || '').split(/\s+/);
- if (finalizers.length > 0) {
- for (index=0; index < finalizers.length; index++) {
- ams.executeFunctionByName(finalizers[index], table, plugin, settings);
- }
- }
- }
- catch (e) {}
+ var settings = $.extend({}, dataOptions, data.amsWizardOptions);
+ settings = ams.executeFunctionByName(data.amsWizardInitCallback, wizard, settings) || settings;
+ var plugin = wizard.bootstrapWizard(settings);
+ ams.executeFunctionByName(data.amsWizardAfterInitCallback, wizard, plugin, settings);
});
});
}
@@ -5017,6 +5109,14 @@
var form = $(this);
setTimeout(function() {
form.find('.select2').trigger('change');
+ $('[data-ams-reset-callback]', form).each(function() {
+ var element = $(this);
+ var data = element.data();
+ var callback = ams.getFunctionByName(data.amsResetCallback);
+ if (callback !== undefined) {
+ callback.call(form, element, data.amsResetCallbackOptions);
+ }
+ });
}, 10);
ams.form.setFocus(form);
});