--- a/src/pyams_content/skin/resources/js/pyams_content.js Fri Jan 20 15:39:58 2017 +0100
+++ b/src/pyams_content/skin/resources/js/pyams_content.js Fri Jan 20 15:40:59 2017 +0100
@@ -87,21 +87,46 @@
*/
links: {
+ init: function() {
+
+ function initElements(data, status) {
+ var plugin = select.data('select2');
+ plugin.results.empty();
+ plugin.opts.populateResults.call(plugin, plugin.results, data, {term: ''});
+ }
+
+ var select = $(this);
+ MyAMS.ajax.post('get-links.json', {
+ keyFieldName: 'id',
+ valueFieldName: 'text'
+ }, initElements);
+ },
+
refresh: function(options) {
if (typeof(options) === 'string') {
options = JSON.parse(options);
}
- var select = $('select[name="form.widgets.links:list"]');
+ var select = $('input[name="form.widgets.link"], select[name="form.widgets.links:list"]');
var plugin = select.data('select2');
- $('<option></option>').attr('value', options.new_link.id)
- .attr('selected', 'selected')
- .text(options.new_link.text)
- .appendTo(select);
- var data = select.select2('data');
- data.push(options.new_link);
- select.select2('data', data);
- plugin.results.empty();
- plugin.opts.populateResults.call(plugin, plugin.results, options.links, {term: ''});
+ if (select.attr('type') === 'select') {
+ $('<option></option>').attr('value', options.new_link.id)
+ .attr('selected', 'selected')
+ .text(options.new_link.text)
+ .appendTo(select);
+ }
+ var data;
+ if (select.prop('multiple')) {
+ data = select.select2('data');
+ data.push(options.new_link);
+ select.select2('data', data);
+ plugin.results.empty();
+ plugin.opts.populateResults.call(plugin, plugin.results, options.links, {term: ''});
+ } else {
+ select.select2('data', [options.new_link]);
+ plugin.results.empty();
+ plugin.opts.populateResults.call(plugin, plugin.results, options.links, {term: ''});
+ select.val(options.new_link.id);
+ }
},
refreshContainer: function(changes) {
@@ -184,6 +209,22 @@
/**
+ * Image map management
+ */
+ imgmap: {
+
+ init: function() {
+ var element = $(this);
+ MyAMS.ajax.check($.fn.canvasAreaDraw,
+ '/--static--/pyams_content/js/jquery-canvasAreaDraw' + MyAMS.devext + '.js',
+ function() {
+ element.canvasAreaDraw({imageUrl: element.data('ams-image-url')});
+ });
+ }
+ },
+
+
+ /**
* Paragraphs management
*/
paragraphs: {