1264 var focused = $('[data-ams-focus-target]', container).first(); |
1264 var focused = $('[data-ams-focus-target]', container).first(); |
1265 if (!focused.exists()) { |
1265 if (!focused.exists()) { |
1266 focused = $('input, select', container).first(); |
1266 focused = $('input, select', container).first(); |
1267 } |
1267 } |
1268 if (focused.exists()) { |
1268 if (focused.exists()) { |
|
1269 if (focused.hasClass('select2-input')) { |
|
1270 focused = focused.parents('.select2'); |
|
1271 } |
1269 if (focused.hasClass('select2')) { |
1272 if (focused.hasClass('select2')) { |
1270 setTimeout(function() { |
1273 setTimeout(function() { |
1271 focused.select2('focus'); |
1274 focused.select2('focus'); |
1272 focused.select2('open'); |
1275 if (focused.data('ams-focus-open') === true) { |
|
1276 focused.select2('open'); |
|
1277 } |
1273 }, 100); |
1278 }, 100); |
1274 } else { |
1279 } else { |
1275 focused.focus(); |
1280 focused.focus(); |
1276 } |
1281 } |
1277 } |
1282 } |
2061 |
2066 |
2062 /** |
2067 /** |
2063 * Close modal dialog associated with given context |
2068 * Close modal dialog associated with given context |
2064 */ |
2069 */ |
2065 close: function(context) { |
2070 close: function(context) { |
|
2071 if (typeof(context) === 'string') { |
|
2072 context = $(context); |
|
2073 } |
2066 var modal = context.parents('.modal').data('modal'); |
2074 var modal = context.parents('.modal').data('modal'); |
2067 if (modal) { |
2075 if (modal) { |
2068 var manager = $('body').data('modalmanager'); |
2076 var manager = $('body').data('modalmanager'); |
2069 if (manager && (manager.getOpenModals().indexOf(modal) >= 0)) { |
2077 if (manager && (manager.getOpenModals().indexOf(modal) >= 0)) { |
2070 modal.hide(); |
2078 modal.hide(); |
2689 */ |
2697 */ |
2690 slider: function(element) { |
2698 slider: function(element) { |
2691 var sliders = $('.slider', element); |
2699 var sliders = $('.slider', element); |
2692 if (sliders.length > 0) { |
2700 if (sliders.length > 0) { |
2693 ams.ajax.check($.fn.slider, |
2701 ams.ajax.check($.fn.slider, |
2694 ams.baseURL + 'ext/bootstrap-slider.min.js', |
2702 ams.baseURL + 'ext/bootstrap-slider-2.0.0' + ams.devext + '.js', |
2695 function() { |
2703 function() { |
2696 sliders.each(function() { |
2704 sliders.each(function() { |
2697 var slider = $(this); |
2705 var slider = $(this); |
2698 var data = slider.data(); |
2706 var data = slider.data(); |
2699 var data_options = {}; |
2707 var data_options = {}; |
3005 */ |
3013 */ |
3006 maskedit: function(element) { |
3014 maskedit: function(element) { |
3007 var masks = $('[data-mask]', element); |
3015 var masks = $('[data-mask]', element); |
3008 if (masks.length > 0) { |
3016 if (masks.length > 0) { |
3009 ams.ajax.check($.fn.mask, |
3017 ams.ajax.check($.fn.mask, |
3010 ams.baseURL + 'ext/jquery-maskedinput-1.3.1.min.js', |
3018 ams.baseURL + 'ext/jquery-maskedinput-1.4.1' + ams.devext + '.js', |
3011 function() { |
3019 function() { |
3012 masks.each(function() { |
3020 masks.each(function() { |
3013 var mask = $(this); |
3021 var mask = $(this); |
3014 var data = mask.data(); |
3022 var data = mask.data(); |
3015 var data_options = { |
3023 var data_options = { |
3398 plugin.columnFilter(cf_settings) |
3406 plugin.columnFilter(cf_settings) |
3399 : ams.executeFunctionByName(data.amsDatatableColumnfilterConstructor, table, plugin, cf_settings)); |
3407 : ams.executeFunctionByName(data.amsDatatableColumnfilterConstructor, table, plugin, cf_settings)); |
3400 break; |
3408 break; |
3401 case 'editable': |
3409 case 'editable': |
3402 var ed_settings = $.extend({}, data.amsDatatableEditableOptions, settings.editable); |
3410 var ed_settings = $.extend({}, data.amsDatatableEditableOptions, settings.editable); |
3403 ed_settings = ams.executeFunctionByName(data.amsDatatableEditableInitCallback, table, ed_settings) || ed_settings; |
3411 ed_settings = ams.executeFunctionByName(data.amsDatatableEditableInitCallback, table, ed_settings) || ed_settings; |
3404 table.data('ams-editable', data.amsDatatableEditableConstructor === undefined ? |
3412 table.data('ams-editable', data.amsDatatableEditableConstructor === undefined ? |
3405 table.makeEditable(ed_settings) |
3413 table.makeEditable(ed_settings) |
3406 : ams.executeFunctionByName(data.amsDatatableEditableConstructor, table, plugin, ed_settings)); |
3414 : ams.executeFunctionByName(data.amsDatatableEditableConstructor, table, plugin, ed_settings)); |
3407 break; |
3415 break; |
3408 case 'fixedcolumns': |
3416 case 'fixedcolumns': |
3597 */ |
3605 */ |
3598 imgareaselect: function(element) { |
3606 imgareaselect: function(element) { |
3599 var images = $('.imgareaselect', element); |
3607 var images = $('.imgareaselect', element); |
3600 if (images.length > 0) { |
3608 if (images.length > 0) { |
3601 ams.ajax.check($.fn.imgAreaSelect, |
3609 ams.ajax.check($.fn.imgAreaSelect, |
3602 ams.baseURL + 'ext/jquery-imgareaselect-0.9.10' + ams.devext + '.js', |
3610 ams.baseURL + 'ext/jquery-imgareaselect-0.9.11-rc1' + ams.devext + '.js', |
3603 function(first_load) { |
3611 function(first_load) { |
3604 if (first_load) { |
3612 if (first_load) { |
3605 ams.getCSS(ams.baseURL + '../css/ext/jquery-imgareaselect' + ams.devext + '.css'); |
3613 ams.getCSS(ams.baseURL + '../css/ext/jquery-imgareaselect' + ams.devext + '.css'); |
3606 } |
3614 } |
3607 images.each(function() { |
3615 images.each(function() { |
4643 e.preventDefault(); |
4651 e.preventDefault(); |
4644 }); |
4652 }); |
4645 $(document).on('click', 'a[href!="#"]:not([data-toggle]), [data-ams-url]:not([data-toggle])', function(e) { |
4653 $(document).on('click', 'a[href!="#"]:not([data-toggle]), [data-ams-url]:not([data-toggle])', function(e) { |
4646 var link = $(e.currentTarget); |
4654 var link = $(e.currentTarget); |
4647 var handlers = link.data('ams-disabled-handlers'); |
4655 var handlers = link.data('ams-disabled-handlers'); |
4648 if ((handlers == true) || (handlers == 'click')) { |
4656 if ((handlers === true) || (handlers === 'click') || (handlers === 'all')) { |
4649 return; |
4657 return; |
4650 } |
4658 } |
4651 var href = link.attr('href') || link.data('ams-url'); |
4659 var href = link.attr('href') || link.data('ams-url'); |
4652 if (!href || href.startsWith('javascript') || link.attr('target') || (link.data('ams-context-menu') === true)) { |
4660 if (!href || href.startsWith('javascript') || link.attr('target') || (link.data('ams-context-menu') === true)) { |
4653 return; |
4661 return; |
4708 // Initialize modal dialogs links |
4716 // Initialize modal dialogs links |
4709 $(document).off('click.modal') |
4717 $(document).off('click.modal') |
4710 .on('click', '[data-toggle="modal"]', function(e) { |
4718 .on('click', '[data-toggle="modal"]', function(e) { |
4711 var source = $(this); |
4719 var source = $(this); |
4712 var handlers = source.data('ams-disabled-handlers'); |
4720 var handlers = source.data('ams-disabled-handlers'); |
4713 if ((handlers == true) || (handlers == 'click')) { |
4721 if ((handlers === true) || (handlers === 'click') || (handlers === 'all')) { |
4714 return; |
4722 return; |
4715 } |
4723 } |
4716 if (source.data('ams-context-menu') === true) { |
4724 if (source.data('ams-context-menu') === true) { |
4717 return; |
4725 return; |
4718 } |
4726 } |
4734 |
4742 |
4735 // Initialize custom click handlers |
4743 // Initialize custom click handlers |
4736 $(document).on('click', '[data-ams-click-handler]', function(e) { |
4744 $(document).on('click', '[data-ams-click-handler]', function(e) { |
4737 var source = $(this); |
4745 var source = $(this); |
4738 var handlers = source.data('ams-disabled-handlers'); |
4746 var handlers = source.data('ams-disabled-handlers'); |
4739 if ((handlers == true) || (handlers == 'click')) { |
4747 if ((handlers === true) || (handlers === 'click') || (handlers === 'all')) { |
4740 return; |
4748 return; |
4741 } |
4749 } |
4742 var data = source.data(); |
4750 var data = source.data(); |
4743 if (data.amsClickHandler) { |
4751 if (data.amsClickHandler) { |
4744 if ((data.amsStopPropagation === true) || (data.amsClickStopPropagation === true)) { |
4752 if ((data.amsStopPropagation === true) || (data.amsClickStopPropagation === true)) { |
4756 |
4764 |
4757 // Initialize custom change handlers |
4765 // Initialize custom change handlers |
4758 $(document).on('change', '[data-ams-change-handler]', function(e) { |
4766 $(document).on('change', '[data-ams-change-handler]', function(e) { |
4759 var source = $(this); |
4767 var source = $(this); |
4760 var handlers = source.data('ams-disabled-handlers'); |
4768 var handlers = source.data('ams-disabled-handlers'); |
4761 if ((handlers == true) || (handlers == 'change')) { |
4769 if ((handlers === true) || (handlers === 'change') || (handlers === 'all')) { |
4762 return; |
4770 return; |
4763 } |
4771 } |
4764 var data = source.data(); |
4772 var data = source.data(); |
4765 if (data.amsChangeHandler) { |
4773 if (data.amsChangeHandler) { |
4766 if (data.amsChangeKeepDefault !== true) { |
4774 if (data.amsChangeKeepDefault !== true) { |