UNPKG

azure-devops-ui

Version:

React components for building web UI in Azure DevOps

1 lines 1.55 kB
import{ObservableArray,ObservableCollection,ObservableLike}from"../Core/Observable";import{format}from"../Core/Util/String";import{wrapListBoxItems}from"../ListBox";import*as Resources from"../Resources.Dropdown";var EditableDropdownItemProvider=function(){function e(e,t){this.itemCollection=new ObservableCollection,ObservableLike.isObservable(e)?this.listItems=e:this.listItems=new ObservableArray(wrapListBoxItems(e)||e),this.itemCollection.push(this.listItems),this.extraItem=new ObservableArray,this.itemCollection.push(this.extraItem),this.selection=t}return Object.defineProperty(e.prototype,"length",{get:function(){return this.itemCollection.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this.itemCollection.value},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasExtraItem",{get:function(){return 0<this.extraItem.length},enumerable:!1,configurable:!0}),e.prototype.subscribe=function(e,t){return this.itemCollection.subscribe(e,t)},e.prototype.unsubscribe=function(e,t){return this.itemCollection.unsubscribe(e,t)},e.prototype.setTextValue=function(t){var e;this.hasExtraItem&&this.extraItem.splice(0,1),!t||-1!==(e=this.listItems.value.findIndex(function(e){return e.text===t}))&&this.selection.selectable(e)||this.extraItem.push({id:t,text:format(Resources.UseItem,t),className:editableDropdownExtraItemClassName})},e}(),editableDropdownExtraItemClassName="editable-dropdown-extra-item";export{EditableDropdownItemProvider,editableDropdownExtraItemClassName};