if (value !== 0) { // No item option is always selectable.
var cbel = Y.one('#id_drags_' + (value - 1) + '_infinite');
if (cbel && !cbel.get('checked')) {
- Y.all('fieldset#id_dropzoneheader select').some(function (selector) {
- if (Number(selector.get('value')) === value) {
- optionnode.set('disabled', true);
- return true; // Stop looping.
- }
- return false;
- }, this);
+ if (this.check_dropzone_for_selected_value(value)) {
+ optionnode.set('disabled', true);
+ }
}
}
}
Y.all('fieldset#id_dropzoneheader select').detachAll();
},
+ check_dropzone_for_selected_value: function(value) {
+ return Y.all('fieldset#id_dropzoneheader select').some(function(selectNode) {
+ return Number(selectNode.get('value')) === value;
+ });
+ },
+
setup_form_events : function () {
// Events triggered by changes to form data.
for (var i = 0; i < this.form.get_form_value('noitems', []); i++) {
// Change to group selector.
- Y.all('#fgroup_id_drags_' + i + ' select.draggroup').on(
- 'change', function () {
- this.doc.drag_items().remove(true);
- this.draw_dd_area();
- }, this);
- Y.all('#fgroup_id_drags_' + i + ' select.dragitemtype').on(
- 'change', function () {
- this.doc.drag_items().remove(true);
- this.draw_dd_area();
- }, this);
+ Y.all('#fgroup_id_drags_' + i + ' select.draggroup').on('change', this.clear_dd_area, this);
+ Y.all('#fgroup_id_drags_' + i + ' select.dragitemtype').on('change', this.clear_dd_area, this);
Y.all('fieldset#draggableitemheader_' + i + ' input[type="text"]')
.on('blur', this.set_options_for_drag_item_selectors, this);
// Change to infinite checkbox.
}, M.form_filepicker, 'callback', this);
},
+ clear_dd_area: function() {
+ this.doc.drag_items().remove(true);
+ this.draw_dd_area();
+ },
+
update_visibility_of_file_pickers : function() {
for (var i = 0; i < this.form.get_form_value('noitems', []); i++) {
if ('image' === this.form.get_form_value('drags', [i, 'dragitemtype'])) {