define('jira/ajs/select/multi-select/lozenge', ['jira/util/formatter', 'jira/util/assistive', 'jira/util/strings', 'jira/ajs/control', 'jquery'], function (formatter, Assistive, strings, Control, jQuery) { 'use strict'; var ID = 0; var assistiveLabelId; /** * @typedef {Object} LozengeOptions * @prop {String} options.label * @prop {String} [options.title] * @prop {String} options.focusClass * @prop {jQuery|HTMLElement} options.container */ /** * A lozenge represents a discrete item of user input as a ').attr({ 'aria-describedby': assistiveLabelId, 'id': 'item-row-' + this.id }); }, "removeButton": function removeButton() { return jQuery(''); } }, _events: { "instance": { "focus": function focus() { this.$lozenge.addClass(this.options.focusClass); }, "blur": function blur() { this.$lozenge.removeClass(this.options.focusClass); }, "remove": function remove() { this.$lozenge.remove(); } }, "lozenge": { "click": function click() { this.trigger("focus"); } }, "removeButton": { "click": function click() { this.trigger("remove"); } } } }); }); AJS.namespace('AJS.MultiSelect.Lozenge', null, require('jira/ajs/select/multi-select/lozenge'));