/** * Tom Select v2.2.2 * Licensed under the Apache License, Version 2.0 (the "License"); */ /** * Plugin: "drag_drop" (Tom Select) * Copyright (c) contributors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of the License at: * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF * ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. * */ function plugin () { var self = this; if (!$.fn.sortable) throw new Error('The "drag_drop" plugin requires jQuery UI "sortable".'); if (self.settings.mode !== 'multi') return; var orig_lock = self.lock; var orig_unlock = self.unlock; self.hook('instead', 'lock', () => { var sortable = $(self.control).data('sortable'); if (sortable) sortable.disable(); return orig_lock.call(self); }); self.hook('instead', 'unlock', () => { var sortable = $(self.control).data('sortable'); if (sortable) sortable.enable(); return orig_unlock.call(self); }); self.on('initialize', () => { var $control = $(self.control).sortable({ items: '[data-value]', forcePlaceholderSize: true, disabled: self.isLocked, start: (e, ui) => { ui.placeholder.css('width', ui.helper.css('width')); $control.css({ overflow: 'visible' }); }, stop: () => { $control.css({ overflow: 'hidden' }); var values = []; $control.children('[data-value]').each(function () { if (this.dataset.value) values.push(this.dataset.value); }); self.setValue(values); } }); }); } export { plugin as default }; //# sourceMappingURL=plugin.js.map