UNPKG

@atlassian/aui

Version:

Atlassian User Interface Framework

26 lines 5.57 kB
/*!! * @atlassian/aui - Atlassian User Interface Framework * @version v8.0.0-alpha.1 * @link https://aui.atlassian.com * @license SEE LICENSE IN LICENSE.md * @author Atlassian Pty Ltd. */ exports.ids=[75],exports.modules={120: /*!*********************************************!*\ !*** ../src/js/aui/checkbox-multiselect.js ***! \*********************************************/ /*! no static exports found */ /*! all exports used */ /*! ModuleConcatenation bailout: Module is not an ECMAScript module */function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=o(n(/*! ./jquery */0));n(/*! ./dropdown2 */72),n(/*! ./tooltip */40),n(/*! ./i18n */10);var l=o(n(/*! ./internal/amdify */7)),i=o(n(/*! ./internal/skate */5)),u=o(n(/*! ./unique-id */24));function o(t){return t&&t.__esModule?t:{default:t}}var d={dropdown:function(t){function e(){return(0,a.default)('<div class="aui-dropdown2-section">')}var n=e();(0,a.default)("<button />").attr({type:"button","data-aui-checkbox-multiselect-clear":"",class:"aui-button aui-button-link"}).text(AJS.I18n.getText("aui.checkboxmultiselect.clear.selected")).appendTo(n);var l=e(),i=(0,a.default)("<ul />").appendTo(l);return a.default.each(t,function(t,e){var n=(0,a.default)("<li />").attr({class:e.styleClass||""}).appendTo(i),l=(0,a.default)("<a />").text(e.label).attr("data-value",e.value).addClass("aui-dropdown2-checkbox aui-dropdown2-interactive").appendTo(n);e.icon&&(0,a.default)("<span />").addClass("aui-icon").css("backgroundImage","url("+e.icon+')")').appendTo(l),e.selected&&l.addClass("aui-dropdown2-checked")}),(0,a.default)("<div />").append(n).append(l).html()},furniture:function(t,e){var n=t+"-dropdown",l=(0,a.default)("<select />").attr({name:t,multiple:"multiple"}).html(e),i=(0,a.default)("<div>").attr({id:n,class:"aui-checkbox-multiselect-dropdown aui-dropdown2 aui-style-default"}),u=(0,a.default)("<button />").attr({class:"aui-checkbox-multiselect-btn aui-button aui-dropdown2-trigger",type:"button","aria-owns":n,"aria-haspopup":!0});return(0,a.default)("<div />").append(l).append(u).append(i).html()}};function c(t){var e=(0,a.default)(t.target);r(this,e.attr("data-value"),e.hasClass("aui-dropdown2-checked"))}function r(t,e,n){var l=t.$select.find("option").filter(function(){var t=(0,a.default)(this);return t.attr("value")===e&&t.prop("selected")!==n});l.length&&(l.prop("selected",n),t.$select.trigger("change"))}function s(t){t.$dropdown.find("[data-aui-checkbox-multiselect-clear]").prop("disabled",function(){return b(t).length<1})}function p(t){return t.map(function(){var t=(0,a.default)(this);return{value:t.val(),label:t.text(),icon:t.data("icon"),styleClass:t.data("styleClass"),title:t.attr("title"),disabled:t.attr("disabled"),selected:t.prop("selected")}})}function f(t){t.$dropdown.html(d.dropdown(function(t){return p(t.getOptions())}(t))),s(t)}function h(t){var e=v(t),n=function(t){return 0===b(t).length}(t)?function(t){return(0,a.default)(t).data("allLabel")||"All"}(t):e.join(", ");t.$btn.text(n)}function b(t){return p(t.getSelectedOptions())}function v(t){return a.default.map(b(t),function(t){return t.label})}var m=(0,i.default)("aui-checkbox-multiselect",{attached:function(t){var e=t.getAttribute("name")||(0,u.default)("aui-checkbox-multiselect-");t.innerHTML=d.furniture(e,t.innerHTML),t.$select=(0,a.default)("select",t).change(function(){h(t),s(t)}),t.$dropdown=(0,a.default)(".aui-checkbox-multiselect-dropdown",t).on("aui-dropdown2-item-check",c.bind(t)).on("aui-dropdown2-item-uncheck",c.bind(t)).on("click","button[data-aui-checkbox-multiselect-clear]",t.deselectAllOptions.bind(t)),t.$btn=(0,a.default)(".aui-checkbox-multiselect-btn",t).tooltip({title:function(){return function(t){return t.$dropdown.is("[aria-hidden=false]")?"":v(t).join(", ")}(t)}}),h(t),f(t)},prototype:{getOptions:function(){return this.$select.find("option")},getSelectedOptions:function(){return this.$select.find("option:selected")},selectOption:function(t){r(this,t,!0)},unselectOption:function(t){r(this,t,!1)},getValue:function(){return this.$select.val()},deselectAllOptions:function(){this.$select.val([]).trigger("change"),this.$dropdown.find(".aui-dropdown2-checked,.checked").removeClass("aui-dropdown2-checked checked")},addOption:function(t){(0,a.default)("<option />").attr({value:t.value,icon:t.icon,disabled:t.disabled,selected:t.selected,title:t.title}).text(t.label).appendTo(this.$select),h(this),f(this)},removeOption:function(t){this.$select.find("[value='"+t+"']").remove(),h(this),f(this)}}});(0,l.default)("aui/checkbox-multiselect",m),e.default=m,t.exports=e.default},122: /*!*********************************************!*\ !*** ../src/less/checkbox-multiselect.less ***! \*********************************************/ /*! no static exports found */ /*! all exports used */ /*! ModuleConcatenation bailout: Module is not an ECMAScript module */function(t,e,n){},123: /*!*****************************************************!*\ !*** ./aui.component.form.checkbox-multi-select.js ***! \*****************************************************/ /*! no static exports found */ /*! all exports used */ /*! ModuleConcatenation bailout: Module is not an ECMAScript module */function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CheckboxMultiselectEl=void 0,n(/*! ./styles/aui.pattern.forms */12),n(/*! @atlassian/aui/src/less/checkbox-multiselect.less */122);var a,l=n(/*! @atlassian/aui/src/js/aui/checkbox-multiselect */120),i=(a=l)&&a.__esModule?a:{default:a};e.CheckboxMultiselectEl=i.default}};