--- a/src/pyams_skin/resources/js/myams.js Sat Feb 21 13:55:34 2015 +0100
+++ b/src/pyams_skin/resources/js/myams.js Sat Feb 21 13:59:22 2015 +0100
@@ -2,12 +2,12 @@
* MyAMS
* « My Application Management Skin »
*
- * $Tag$
+ * $Tag: null $
* A bootstrap based application/administration skin
*
* Custom administration and application skin tools
* Released under Zope Public License ZPL 1.1
- * ©2014 Thierry Florac <tflorac@ulthar.net>
+ * ©2015 Thierry Florac <tflorac@ulthar.net>
*/
(function($) {
@@ -1881,21 +1881,30 @@
if (!data.amsChecker) {
var checker = $('<label class="checkbox"></label>');
var fieldname = data.amsCheckerFieldname || ('checker_'+ams.generateId());
+ var checkbox_id = fieldname.replace(/\./, '_');
var prefix = data.amsCheckerHiddenPrefix;
var hidden = null;
var checkedValue = data.amsCheckerHiddenValueOn || 'true';
var uncheckedValue = data.amsCheckerHiddenValueOff || 'false';
+ var marker = data.amsCheckerMarker || false;
if (prefix) {
hidden = $('<input type="hidden">').attr('name', prefix + fieldname)
.val(data.amsCheckerState == 'on' ? checkedValue : uncheckedValue)
.prependTo(legend);
+ } else if (marker) {
+ $('<input type="hidden">').attr('name', marker)
+ .attr('value', 1)
+ .prependTo(legend);
}
var input = $('<input type="checkbox">').attr('name', fieldname)
- .attr('id', fieldname.replace(/\./, '_'))
+ .attr('id', checkbox_id)
.data('ams-checker-hidden-input', hidden)
.data('ams-checker-init', true)
- .val(true)
+ .val(data.amsCheckerValue || true)
.attr('checked', data.amsCheckerState == 'on' ? 'checked' : null);
+ legend.on('click', function() {
+ input.click();
+ });
if (data.amsCheckerReadonly) {
input.attr('disabled', 'disabled');
} else {
@@ -2070,7 +2079,11 @@
break;
}
- if (data.amsSelect2Query) {
+ if (select.attr('readonly')) {
+ data_options.query = function() {
+ return [];
+ };
+ } else if (data.amsSelect2Query) {
// Custom query method
data_options.query = ams.getFunctionByName(data.amsSelect2Query);
data_options.minimumInputLength = data.amsSelect2MinimumInputLength || 1;
@@ -3418,29 +3431,36 @@
if (typeof(href_getter) == 'function') {
href = href_getter.call(link);
}
- // Convert %23 chars to #
- href = href.replace(/\%23/, '#');
- var target = link.data('ams-target');
- if (target) {
- ams.form.confirmChangedForm(target, function() {
- ams.skin.loadURL(href, target, link.data('ams-link-options'), link.data('ams-link-callback'));
- e.stopPropagation();
- });
+ if (typeof(href) == 'function') {
+ // Javascript function call
+ e.stopPropagation();
+ href.call(link);
} else {
- ams.form.confirmChangedForm(function() {
- if (href.startsWith('#')) {
- if (href != location.hash) {
- if (ams.root.hasClass('mobile-view-activated')) {
- ams.root.removeClass('hidden-menu');
- window.setTimeout(function () {
+ // Standard AJAX or browser URL call
+ // Convert %23 chars to #
+ href = href.replace(/\%23/, '#');
+ var target = link.data('ams-target');
+ if (target) {
+ ams.form.confirmChangedForm(target, function () {
+ ams.skin.loadURL(href, target, link.data('ams-link-options'), link.data('ams-link-callback'));
+ e.stopPropagation();
+ });
+ } else {
+ ams.form.confirmChangedForm(function () {
+ if (href.startsWith('#')) {
+ if (href != location.hash) {
+ if (ams.root.hasClass('mobile-view-activated')) {
+ ams.root.removeClass('hidden-menu');
+ window.setTimeout(function () {
+ window.location.hash = href;
+ }, 150);
+ } else
window.location.hash = href;
- }, 150);
- } else
- window.location.hash = href;
- }
- } else
- window.location = href;
- });
+ }
+ } else
+ window.location = href;
+ });
+ }
}
});
$(document).on('click', 'a[target="_blank"]', function(e) {
@@ -3623,11 +3643,13 @@
BTN_OK: "OK",
BTN_CANCEL: "Cancel",
+ BTN_OK_CANCEL: "[OK][Cancel]",
BTN_YES: "Yes",
BTN_NO: "No",
- BTN_OK_CANCEL: "[OK][Cancel]",
+ BTN_YES_NO: "[Yes][No]",
FORM_CHANGED_WARNING: "Some changes were not saved. These updates will be lost if you leave this page.",
+ DELETE_WARNING: "This change can't be undone. Are you sure that you want to delete this element?",
NO_UPDATE: "No changes were applied.",
DATA_UPDATED: "Data successfully updated.",