@atlassian/aui
Version:
Atlassian User Interface Framework
62 lines • 18.2 kB
JavaScript
/*!!
* @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=[80],exports.modules={131:
/*!*************************************************!*\
!*** ../src/js/aui/internal/select/template.js ***!
\*************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u,n=i(/*! skatejs-template-html */18),s=(u=n)&&u.__esModule?u:{default:u};t.default=(0,s.default)('\n <input type="text" class="text" autocomplete="off" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false">\n <select></select>\n <datalist>\n <content select="aui-option"></content>\n </datalist>\n <button class="aui-button" role="button" tabindex="-1" type="button"></button>\n <div class="aui-popover" role="listbox" data-aui-alignment="bottom left">\n <ul class="aui-optionlist" role="presentation"></ul>\n </div>\n <div class="aui-select-status assistive" aria-live="polite" role="status"></div>\n'),e.exports=t.default},132:
/*!*********************************************************!*\
!*** ../src/js/aui/internal/select/suggestions-view.js ***!
\*********************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=a(i(/*! ../../jquery */0));i(/*! ../../i18n */10);var n=a(i(/*! ../alignment */32)),s=a(i(/*! ../../layer */20));function a(e){return e&&e.__esModule?e:{default:e}}function l(e,t){return e+"-"+t}function o(e,t){this.el=e,this.anchor=t}function r(e){(0,u.default)(e).find(".aui-select-active").removeClass("aui-select-active")}o.prototype={render:function(e,t,i){this.currListId=i;var u="";if(e.length){var n=t;e.forEach(function(e){var t=e.getLabel(),s=e.get("img-src"),a=s?'<img src="'+s+'"/>':"",o=e.get("new-value")?" (<em>"+AJS.I18n.getText("aui.select.new.value")+"</em>)":"";u+='<li role="option" class="aui-select-suggestion" id="'+l(i,n)+'">'+a+t+o+"</li>",n++}),t?this.el.querySelector("ul").innerHTML+=u:this.el.querySelector("ul").innerHTML=u}else t||(this.el.querySelector("ul").innerHTML='<li role="option" class="aui-select-no-suggestions">'+AJS.I18n.getText("aui.select.no.suggestions")+"</li>");return this},setActive:function(e){r(this.el),(0,u.default)(this.el).find("#"+l(this.currListId,e)).addClass("aui-select-active")},getActive:function(){return this.el.querySelector(".aui-select-active")},show:function(){var e;e=this,(0,u.default)(e.el).css("min-width",(0,u.default)(e.anchor).outerWidth()),(0,s.default)(this.el).show(),function(e){e.anchor&&!e.auiAlignment&&(e.auiAlignment=new n.default(e.el,e.anchor)),e.auiAlignment&&e.auiAlignment.enable()}(this)},hide:function(){var e;r(this.el),(0,s.default)(this.el).hide(),(e=this).auiAlignment&&e.auiAlignment.destroy()},isVisible:function(){return(0,u.default)(this.el).is(":visible")}},t.default=o,e.exports=t.default},133:
/*!**********************************************************!*\
!*** ../src/js/aui/internal/select/suggestions-model.js ***!
\**********************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */function(e,t,i){"use strict";function u(){this._suggestions=[],this._activeIndex=-1}Object.defineProperty(t,"__esModule",{value:!0}),u.prototype={onChange:function(){},onHighlightChange:function(){},get:function(e){return this._suggestions[e]},set:function(e){var t=this._suggestions;return this._suggestions=e||[],this.onChange(t),this},getNumberOfResults:function(){return this._suggestions.length},setHighlighted:function(e){if(e)for(var t=0;t<this._suggestions.length;t++)this._suggestions[t].id===e.id&&this.highlight(t);return this},highlight:function(e){return this._activeIndex=e,this.onHighlightChange(),this},highlightPrevious:function(){var e=this._activeIndex,t=0===e?e:e-1;return this.highlight(t),this},highlightNext:function(){var e=this._activeIndex,t=e===this._suggestions.length-1?e:e+1;return this.highlight(t),this},highlighted:function(){return this.get(this._activeIndex)},highlightedIndex:function(){return this._activeIndex}},t.default=u,e.exports=t.default},134:
/*!*********************************************************!*\
!*** ../src/js/aui/internal/select/suggestion-model.js ***!
\*********************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u,n=i(/*! backbone */11),s=(u=n)&&u.__esModule?u:{default:u};t.default=s.default.Model.extend({idAttribute:"label",getLabel:function(){return this.get("label")||this.get("value")}}),e.exports=t.default},135:
/*!*********************************************!*\
!*** ../src/js/aui/progressive-data-set.js ***!
\*********************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=a(i(/*! underscore */15)),n=a(i(/*! backbone */11)),s=a(i(/*! ./internal/globalize */1));function a(e){return e&&e.__esModule?e:{default:e}}var l=n.default.Collection.extend({initialize:function(e,t){t||(t={}),t.matcher&&(this.matcher=t.matcher),t.model&&(this.model=t.model),this._idAttribute=(new this.model).idAttribute,this._maxResults=t.maxResults||5,this._queryData=t.queryData||{},this._queryParamKey=t.queryParamKey||"q",this._queryEndpoint=t.queryEndpoint||"",this.value=null,this.queryCache={},this.activeQueryCount=0,u.default.bindAll(this,"query","respond")},url:function(){return this._queryEndpoint},query:function(e){var t,i,u=this;this.value=e,i=this.getFilteredResults(e),this.respond(e,i),e&&this._queryEndpoint&&!this.hasQueryCache(e)&&this.shouldGetMoreResults(i)&&(t=this.fetch(e),this.activeQueryCount++,this.trigger("activity",{activity:!0}),t.always(function(){u.activeQueryCount--,u.trigger("activity",{activity:!!u.activeQueryCount})}),t.done(function(t,i,n){u.addQueryCache(e,t,n)}),t.done(function(){e=u.value,i=u.getFilteredResults(e),u.respond(e,i)}))},getQueryData:function(e){var t=u.default.isFunction(this._queryData)?this._queryData(e):this._queryData,i=u.default.extend({},t);return i[this._queryParamKey]=e,i},fetch:function(e){var t={add:!0,update:!0,remove:!1,data:this.getQueryData(e)};return n.default.Collection.prototype.fetch.call(this,t)},respond:function(e,t){return this.trigger("respond",{query:e,results:t}),t},matcher:function(e,t){},getFilteredResults:function(e){var t=[];return e?(t=this.filter(function(t){return!!this.matcher(t,e)},this),this._maxResults&&(t=u.default.first(t,this._maxResults)),t):t},addQueryCache:function(e,t,i){var n=this.queryCache,s=this.parse(t,i);n[e]=u.default.pluck(s,this._idAttribute)},hasQueryCache:function(e){return this.queryCache.hasOwnProperty(e)},findQueryCache:function(e){return this.queryCache[e]},shouldGetMoreResults:function(e){return e.length<this._maxResults},setMaxResults:function(e){this._maxResults=e,this.value&&this.respond(this.value,this.getFilteredResults(this.value))}});(0,s.default)("ProgressiveDataSet",l),t.default=l,e.exports=t.default},136:
/*!***********************************************!*\
!*** ../src/js/aui/internal/select/option.js ***!
\***********************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=s(i(/*! ../skate */5)),n=s(i(/*! ../../escape-html */23));function s(e){return e&&e.__esModule?e:{default:e}}t.default=(0,u.default)("aui-option",{created:function(e){Object.defineProperty(e,"value",{get:function(){return e.getAttribute("value")||(0,n.default)(this.textContent)},set:function(t){e.setAttribute("value",t)}})},prototype:{serialize:function(){var e={};return this.hasAttribute("img-src")&&(e["img-src"]=this.getAttribute("img-src")),e.value=this.value,e.label=(0,n.default)(this.textContent),e}}}),e.exports=t.default},137:
/*!*******************************!*\
!*** ../src/js/aui/select.js ***!
\*******************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=y(i(/*! ./jquery */0));i(/*! ./button */66),i(/*! ./i18n */10),i(/*! ./spin */57);var n=y(i(/*! ./internal/select/option */136)),s=y(i(/*! ./internal/amdify */7)),a=y(i(/*! ./polyfills/custom-event */19)),l=y(i(/*! ./internal/globalize */1)),o=y(i(/*! ./key-code */8)),r=y(i(/*! ./progressive-data-set */135)),d=y(i(/*! ./internal/skate */5)),c=y(i(/*! ./internal/state */46)),h=y(i(/*! ./internal/select/suggestion-model */134)),f=y(i(/*! ./internal/select/suggestions-model */133)),g=y(i(/*! ./internal/select/suggestions-view */132)),v=y(i(/*! ./internal/select/template */131)),_=y(i(/*! ./unique-id */24)),p=i(/*! ./internal/constants */34);function y(e){return e&&e.__esModule?e:{default:e}}var b=-1,m=-1,x=20;function w(e){e._select.selectedIndex=b,function(e){e._input.removeAttribute("style"),(0,u.default)(e._input).removeClass("aui-select-has-inline-image")}(e)}function A(e){return e._suggestionModel.getNumberOfResults()}function M(e){setTimeout(e,50)}function q(e,t){return 0===e.get("label").toLowerCase().indexOf(t.toLowerCase())}function C(e){e._suggestionsView.hide(),e._input.setAttribute("aria-expanded","false")}function S(e){var t=A(e)?0:m;e._suggestionModel.highlight(t),C(e)}function I(e,t,i){e._autoHighlight=t,void 0===i&&(i=e._input.value),e._progressiveDataSet.query(i)}function D(e){var t=e._suggestionModel.highlighted()&&e._suggestionModel.highlighted().get("img-src");t&&function(e,t){(0,u.default)(e._input).addClass("aui-select-has-inline-image"),e._input.setAttribute("style","background-image: url("+t+")")}(e,t)}function P(e,t){if(t){var i=document.createElement("option"),u=e._select,n=t.get("value")||t.get("label");i.setAttribute("selected",""),i.setAttribute("value",n),i.textContent=t.getLabel(),e._input.value=i.textContent,u.innerHTML="",u.options.add(i),u.dispatchEvent(new a.default("change",{bubbles:!0}))}}function E(e){P(e,e._suggestionModel.highlighted()),D(e),S(e)}function k(e){return new h.default(e.serialize())}function R(e){for(var t=[],i=0;i<e._datalist.children.length;i++){var u=e._datalist.children[i];t.push(k(u))}return t}function V(e){var t=e._dropdown.querySelector(".aui-select-active");return t&&t.id}function O(e,t){return u.default.map(t,function(e){return e.id}).indexOf(e)}function H(e){e._progressiveDataSet=new r.default(R(e),{model:h.default,matcher:q,queryEndpoint:e._queryEndpoint,maxResults:x}),e._isSync=!e._queryEndpoint,e._progressiveDataSet.on("activity",function(){e._progressiveDataSet.activeQueryCount&&!e._isSync?(!function(e){e._button.isBusy()||(e._button.busy(),e._input.setAttribute("aria-busy","true"),e._dropdown.setAttribute("aria-busy","true"))}(e),(0,c.default)(e).set("should-flag-new-suggestions",!1)):(!function(e){e._button.idle(),e._input.setAttribute("aria-busy","false"),e._dropdown.setAttribute("aria-busy","false")}(e),(0,c.default)(e).set("should-flag-new-suggestions",!0))}),e._progressiveDataSet.on("respond",function(t){var i;if(!t.query||e._input.value)if((0,c.default)(e).get("should-cancel-response"))e._progressiveDataSet.activeQueryCount||(0,c.default)(e).set("should-cancel-response",!1);else{t.query||(t.results=R(e));var u=-1!==O(e._input.value,t.results),s=!e._input.value;if(!e.hasAttribute("can-create-values")||u||s||t.results.push(function(e){var t=new n.default;t.setAttribute("value",e._input.value);var i=k(t);return i.set("new-value",!0),i}(e)),!(0,c.default)(e).get("should-include-selected")){var a=O(e.value,t.results);a>=0&&t.results.splice(a,1)}!function(e,t){e._suggestionModel.set(),e._suggestionModel.set(t.results)}(e,t),i=e._suggestionModel.highlighted()||t.results[0],e._autoHighlight&&(e._suggestionModel.setHighlighted(i),M(function(){e._input.setAttribute("aria-activedescendant",V(e))})),e._input.setAttribute("aria-expanded","true"),!e._isSync&&e._suggestionsView.getActive()&&(0,c.default)(e).get("should-flag-new-suggestions")&&(e.querySelector(".aui-select-status").innerHTML=AJS.I18n.getText("aui.select.new.suggestions")),e._suggestionsView.show(),e._autoHighlight&&M(function(){e._input.setAttribute("aria-activedescendant",V(e))})}})}function Q(e){var t=e.value?"":e._input.value,i=""===e._input.value;(0,c.default)(e).set("should-include-selected",i),I(e,!0,t)}function T(e){(function(e){return e._progressiveDataSet.activeQueryCount>0})(e)&&(0,c.default)(e).set("should-cancel-response",!0)}function L(e){if(e._select.selectedIndex>=0)return e._select.options[e._select.selectedIndex].textContent}function j(e){T(e),function(e){var t=!e.hasAttribute("no-empty-values"),i=!e._input.value,u=e._input.value!==L(e);if(i||u)if(t)w(e);else{var n=L(e);void 0===n?w(e):e._input.value=n}}(e),function(e){e._suggestionModel.highlight(m)}(e),C(e)}var N=(0,d.default)("aui-select",{template:v.default,created:function(e){e._listId=(0,_.default)(),e._input=e.querySelector("input"),e._select=e.querySelector("select"),e._dropdown=e.querySelector(".aui-popover"),e._datalist=e.querySelector("datalist"),e._button=e.querySelector("button"),e._suggestionsView=new g.default(e._dropdown,e._input),e._suggestionModel=new f.default,e._suggestionModel.onChange=function(t){var i=[];e._suggestionModel._suggestions.forEach(function(e){t.some(function(t){return e.id===t.id})||i.push(e)}),e._suggestionsView.render(i,t.length,e._listId)},e._suggestionModel.onHighlightChange=function(){var t=e._suggestionModel.highlightedIndex();e._suggestionsView.setActive(t),e._input.setAttribute("aria-activedescendant",V(e))}},attached:function(e){d.default.init(e),H(e),function(e){e._dropdown.id=e._listId,e.querySelector("button").setAttribute("aria-controls",e._listId)}(e),e._input.setAttribute("aria-controls",e._listId),e.setAttribute("tabindex","-1"),function(e){(0,u.default)(e._dropdown).on("mouseover","li",function(t){A(e)&&e._suggestionModel.highlight((0,u.default)(t.target).index())})}(e),function(e){(0,u.default)(e._dropdown).on("mousedown","li",function(t){if(!A(e))return!1;e._suggestionModel.highlight((0,u.default)(t.target).index()),E(e),e._suggestionsView.hide(),e._input.removeAttribute("aria-activedescendant")})}(e),function(e){var t=e._datalist.querySelector("aui-option[selected]");t&&P(e,k(t))}(e),S(e),D(e)},attributes:{id:function(e,t){e.id&&(e.querySelector("input").id=t.newValue+p.INPUT_SUFFIX)},name:function(e,t){e.querySelector("select").setAttribute("name",t.newValue)},placeholder:function(e,t){e.querySelector("input").setAttribute("placeholder",t.newValue)},src:function(e,t){e._queryEndpoint=t.newValue}},events:{"blur input":function(e){j(e)},"mousedown button":function(e){document.activeElement===e._input&&"false"===e._dropdown.getAttribute("aria-hidden")&&(0,c.default)(e).set("prevent-open-on-button-click",!0)},"click input":function(e){Q(e)},"click button":function(e){var t=(0,c.default)(e);t.get("prevent-open-on-button-click")?t.set("prevent-open-on-button-click",!1):((0,c.default)(e).set("button-clicked-prevent-dropdown-hide",!0),e.focus())},input:function(e){e._input.value?((0,c.default)(e).set("should-include-selected",!0),I(e,!0)):(0,c.default)(e).get("button-clicked-prevent-dropdown-hide")?(0,c.default)(e).set("button-clicked-prevent-dropdown-hide",!1):C(e)},"keydown input":function(e,t){var i=e._input.value,u=!1;if(t.keyCode===o.default.ESCAPE)return T(e),void C(e);e._suggestionsView.isVisible()&&A(e)?t.keyCode===o.default.ENTER?(T(e),E(e),t.preventDefault()):t.keyCode===o.default.TAB?(!function(e){e._suggestionsView.isVisible()&&E(e)}(e),u=!0):t.keyCode===o.default.UP?(e._suggestionModel.highlightPrevious(),t.preventDefault()):t.keyCode===o.default.DOWN&&(e._suggestionModel.highlightNext(),t.preventDefault()):t.keyCode!==o.default.UP&&t.keyCode!==o.default.DOWN||(Q(e),t.preventDefault()),u=u||t.defaultPrevented,setTimeout(function(){e._input.value===i||u||e.dispatchEvent(new a.default("input",{bubbles:!0}))},0)}},prototype:{get value(){var e=this._select.options[this._select.selectedIndex];return e?e.value:""},set value(e){if(""===e)(u=this)._input.value="",u._select.innerHTML="";else if(e){var t=this._progressiveDataSet,i=t.findWhere({value:e})||t.findWhere({label:e});!i&&this.hasAttribute("can-create-values")&&(i=new h.default({value:e,label:e})),P(this,i)}var u;return this},get displayValue(){return this._input.value},blur:function(){return this._input.blur(),j(this),this},focus:function(){return this._input.focus(),Q(this),this}}});(0,s.default)("aui/select",N),(0,l.default)("select",N),t.default=N,e.exports=t.default},139:
/*!**************************************!*\
!*** ../src/less/single-select.less ***!
\**************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */function(e,t,i){},140:
/*!*********************************************!*\
!*** ./aui.component.form.single-select.js ***!
\*********************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectEl=void 0,i(/*! ./styles/aui.pattern.forms */12),i(/*! @atlassian/aui/src/less/single-select.less */139);var u,n=i(/*! @atlassian/aui/src/js/aui/select */137),s=(u=n)&&u.__esModule?u:{default:u};t.SelectEl=s.default}};