/* * Copyright (C) 2013-2023 Combodo SARL * * This file is part of iTop. * * iTop is free software; you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * iTop is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License */ Selectize.define("combodo_add_button", function (aOptions) { // Selectize instance let oSelf = this; // Plugin options aOptions = $.extend({ title: "Add Option", className: "selectize-add-option", label: "+", html: function () { return ( '' ); }, }, aOptions ); // Override setup function oSelf.setup = (function () { let oOriginal = oSelf.setup; return function () { oOriginal.apply(oSelf, arguments); oSelf.$buttonAdd = $(aOptions.html()); oSelf.$wrapper.append(oSelf.$buttonAdd); if(oSelf.settings.hasOwnProperty('onAdd')) { oSelf.on('add', oSelf.settings['onAdd']); oSelf.$buttonAdd.on('click', function(){ oSelf.trigger( "add"); }); } else{ oSelf.$buttonAdd.css({ opacity: .5, cursor: 'default' }); } }; })(); });