diff --git a/.gitignore b/.gitignore index c979b39ee..bb058b3fd 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /.tmp .DS_Store *~ +npm-debug.log diff --git a/CHANGELOG.md b/CHANGELOG.md index e9b21de1b..4a0324526 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ + +## [0.19.7](https://github.com/angular-ui/ui-select/compare/v0.19.5...v0.19.5) (2017-02-23) +### Features +* Adding support for allowing free text in the directive + ## [0.19.5](https://github.com/angular-ui/ui-select/compare/v0.19.5...v0.19.5) (2016-10-24) diff --git a/dist/select.css b/dist/select.css index b4541adec..56805d4b6 100644 --- a/dist/select.css +++ b/dist/select.css @@ -1,7 +1,7 @@ /*! * ui-select * http://github.com/angular-ui/ui-select - * Version: 0.19.5 - 2016-10-24T23:13:59.551Z + * Version: 0.19.8 - 2018-01-10T20:06:38.869Z * License: MIT */ diff --git a/dist/select.js b/dist/select.js index 6061799e1..1a4dba9d4 100644 --- a/dist/select.js +++ b/dist/select.js @@ -1,7 +1,7 @@ /*! * ui-select * http://github.com/angular-ui/ui-select - * Version: 0.19.5 - 2016-10-24T23:13:59.434Z + * Version: 0.19.8 - 2018-01-10T20:06:38.772Z * License: MIT */ @@ -118,7 +118,8 @@ var uis = angular.module('ui.select', []) }, appendToBody: false, spinnerEnabled: false, - spinnerClass: 'glyphicon-refresh ui-select-spin' + spinnerClass: 'glyphicon-refresh ui-select-spin', + backspaceReset: true }) // See Rename minErr and make it accessible from outside https://github.com/angular/angular.js/issues/6913 @@ -179,6 +180,31 @@ var uis = angular.module('ui.select', []) }; }]); +/** + * Debounces functions + * + * Taken from UI Bootstrap $$debounce source code + * See https://github.com/angular-ui/bootstrap/blob/master/src/debounce/debounce.js + * + */ +uis.factory('$$uisDebounce', ['$timeout', function($timeout) { + return function(callback, debounceTime) { + var timeoutPromise; + + return function() { + var self = this; + var args = Array.prototype.slice.call(arguments); + if (timeoutPromise) { + $timeout.cancel(timeoutPromise); + } + + timeoutPromise = $timeout(function() { + callback.apply(self, args); + }, debounceTime); + }; + }; +}]); + uis.directive('uiSelectChoices', ['uiSelectConfig', 'uisRepeatParser', 'uiSelectMinErr', '$compile', '$window', function(uiSelectConfig, RepeatParser, uiSelectMinErr, $compile, $window) { @@ -220,7 +246,7 @@ uis.directive('uiSelectChoices', choices.attr('ng-repeat', parserResult.repeatExpression(groupByExp)) .attr('ng-if', '$select.open'); //Prevent unnecessary watches when dropdown is closed - + var rowsInner = tElement.querySelectorAll('.ui-select-choices-row-inner'); if (rowsInner.length !== 1) { @@ -228,27 +254,21 @@ uis.directive('uiSelectChoices', } rowsInner.attr('uis-transclude-append', ''); //Adding uisTranscludeAppend directive to row element after choices element has ngRepeat - // If IE8 then need to target rowsInner to apply the ng-click attr as choices will not capture the event. + // If IE8 then need to target rowsInner to apply the ng-click attr as choices will not capture the event. var clickTarget = $window.document.addEventListener ? choices : rowsInner; clickTarget.attr('ng-click', '$select.select(' + parserResult.itemName + ',$select.skipFocusser,$event)'); - + return function link(scope, element, attrs, $select) { - - $select.parseRepeatAttr(attrs.repeat, groupByExp, groupFilterExp); //Result ready at $select.parserResult + $select.parseRepeatAttr(attrs.repeat, groupByExp, groupFilterExp); //Result ready at $select.parserResult $select.disableChoiceExpression = attrs.uiDisableChoice; $select.onHighlightCallback = attrs.onHighlight; - - $select.dropdownPosition = attrs.position ? attrs.position.toLowerCase() : uiSelectConfig.dropdownPosition; - - scope.$on('$destroy', function() { - choices.remove(); - }); + $select.dropdownPosition = attrs.position ? attrs.position.toLowerCase() : uiSelectConfig.dropdownPosition; scope.$watch('$select.search', function(newValue) { if(newValue && !$select.open && $select.multiple) $select.activate(false, true); - $select.activeIndex = $select.tagging.isActivated ? -1 : 0; + $select.activeIndex = $select.tagging.isActivated || $select.allowFree.isActivated? -1 : 0; if (!attrs.minimumInputLength || $select.search.length >= attrs.minimumInputLength) { $select.refresh(attrs.refresh); } else { @@ -265,8 +285,9 @@ uis.directive('uiSelectChoices', scope.$watch('$select.open', function(open) { if (open) { tElement.attr('role', 'listbox'); + $select.refresh(attrs.refresh); } else { - tElement.removeAttr('role'); + element.removeAttr('role'); } }); }; @@ -297,7 +318,6 @@ uis.controller('uiSelectCtrl', ctrl.refreshing = false; ctrl.spinnerEnabled = uiSelectConfig.spinnerEnabled; ctrl.spinnerClass = uiSelectConfig.spinnerClass; - ctrl.removeSelected = uiSelectConfig.removeSelected; //If selected item(s) should be removed from dropdown list ctrl.closeOnSelect = true; //Initialized inside uiSelect directive link function ctrl.skipFocusser = false; //Set to true to avoid returning focus to ctrl when item is selected @@ -318,6 +338,7 @@ uis.controller('uiSelectCtrl', ctrl.disableChoiceExpression = undefined; // Initialized inside uiSelectChoices directive link function ctrl.tagging = {isActivated: false, fct: undefined}; ctrl.taggingTokens = {isActivated: false, tokens: undefined}; + ctrl.allowFree = {isActivated: false, fct: undefined}; //This will work the same way tagging does but for single select dropdowns ctrl.lockChoiceExpression = undefined; // Initialized inside uiSelectMatch directive link function ctrl.clickTriggeredSelect = false; ctrl.$filter = $filter; @@ -391,11 +412,8 @@ uis.controller('uiSelectCtrl', if(!avoidReset) _resetSearchInput(); $scope.$broadcast('uis:activate'); - ctrl.open = true; - ctrl.activeIndex = ctrl.activeIndex >= ctrl.items.length ? 0 : ctrl.activeIndex; - // ensure that the index is set to zero for tagging variants // that where first option is auto-selected if ( ctrl.activeIndex === -1 && ctrl.taggingLabel !== false ) { @@ -533,7 +551,6 @@ uis.controller('uiSelectCtrl', if (ctrl.dropdownPosition === 'auto' || ctrl.dropdownPosition === 'up'){ $scope.calculateDropdownPos(); } - $scope.$broadcast('uis:refresh'); }; @@ -581,7 +598,7 @@ uis.controller('uiSelectCtrl', var refreshPromise = $scope.$eval(refreshAttr); if (refreshPromise && angular.isFunction(refreshPromise.then) && !ctrl.refreshing) { ctrl.refreshing = true; - refreshPromise.then(function() { + refreshPromise.finally(function() { ctrl.refreshing = false; }); }}, ctrl.refreshDelay); @@ -659,20 +676,22 @@ uis.controller('uiSelectCtrl', ctrl.select = function(item, skipFocusser, $event) { if (item === undefined || !_isItemDisabled(item)) { - if ( ! ctrl.items && ! ctrl.search && ! ctrl.tagging.isActivated) return; + if ( ! ctrl.items && ! ctrl.search && ! ctrl.tagging.isActivated && ! ctrl.allowFree.isActivated) return; if (!item || !_isItemDisabled(item)) { // if click is made on existing item, prevent from tagging, ctrl.search does not matter + var evtType = $event ? $event.type : ''; ctrl.clickTriggeredSelect = false; - if($event && ($event.type === 'click' || $event.type === 'touchend') && item) + if((evtType === 'click' || evtType === 'touchend') && item) ctrl.clickTriggeredSelect = true; - if(ctrl.tagging.isActivated && ctrl.clickTriggeredSelect === false) { + if((ctrl.tagging.isActivated || ctrl.allowFree.isActivated) && ctrl.clickTriggeredSelect === false && evtType !== 'clear') { // if taggingLabel is disabled and item is undefined we pull from ctrl.search - if ( ctrl.taggingLabel === false ) { + if ( ctrl.taggingLabel === false || ctrl.allowFree.isActivated) { if ( ctrl.activeIndex < 0 ) { if (item === undefined) { - item = ctrl.tagging.fct !== undefined ? ctrl.tagging.fct(ctrl.search) : ctrl.search; + var fct = ctrl.tagging.fct || ctrl.allowFree.fct; + item = fct !== undefined ? fct(ctrl.search) : ctrl.search; } if (!item || angular.equals( ctrl.items[0], item ) ) { return; @@ -706,24 +725,14 @@ uis.controller('uiSelectCtrl', ctrl.close(skipFocusser); return; } - } + } _resetSearchInput(); $scope.$broadcast('uis:select', item); - var locals = {}; - locals[ctrl.parserResult.itemName] = item; - - $timeout(function(){ - ctrl.onSelectCallback($scope, { - $item: item, - $model: ctrl.parserResult.modelMapper($scope, locals) - }); - }); - if (ctrl.closeOnSelect) { ctrl.close(skipFocusser); } - } + } } }; @@ -742,7 +751,8 @@ uis.controller('uiSelectCtrl', }; ctrl.clear = function($event) { - ctrl.select(undefined); + $event.type = 'clear'; + ctrl.select(undefined, true, $event); $event.stopPropagation(); $timeout(function() { ctrl.focusser[0].focus(); @@ -782,7 +792,7 @@ uis.controller('uiSelectCtrl', } if (!isLocked && lockedItemIndex > -1) { - lockedItems.splice(lockedItemIndex, 0); + lockedItems.splice(lockedItemIndex, 1); } } @@ -852,11 +862,22 @@ uis.controller('uiSelectCtrl', switch (key) { case KEY.DOWN: if (!ctrl.open && ctrl.multiple) ctrl.activate(false, true); //In case its the search input in 'multiple' mode - else if (ctrl.activeIndex < ctrl.items.length - 1) { ctrl.activeIndex++; } + else if (ctrl.activeIndex < ctrl.items.length - 1) { + var idx = ++ctrl.activeIndex; + while(_isItemDisabled(ctrl.items[idx]) && idx < ctrl.items.length) { + ctrl.activeIndex = ++idx; + } + } break; case KEY.UP: + var minActiveIndex = (ctrl.search.length === 0 && ctrl.tagging.isActivated) ? -1 : 0; if (!ctrl.open && ctrl.multiple) ctrl.activate(false, true); //In case its the search input in 'multiple' mode - else if (ctrl.activeIndex > 0 || (ctrl.search.length === 0 && ctrl.tagging.isActivated && ctrl.activeIndex > -1)) { ctrl.activeIndex--; } + else if (ctrl.activeIndex > minActiveIndex) { + var idxmin = --ctrl.activeIndex; + while(_isItemDisabled(ctrl.items[idxmin]) && idxmin > minActiveIndex) { + ctrl.activeIndex = --idxmin; + } + } break; case KEY.TAB: if (!ctrl.multiple || ctrl.open) ctrl.select(ctrl.items[ctrl.activeIndex], true); @@ -877,6 +898,20 @@ uis.controller('uiSelectCtrl', return processed; } + ctrl.searchInput.on('blur', function() { + if ( ctrl.allowFree.isActivated && ctrl.search.length > 0 ) { + $timeout(function() { + ctrl.searchInput.triggerHandler('tagged'); + var newItem = ctrl.search.trim(); + var fct = ctrl.tagging.fct || ctrl.allowFree.fct; + if ( fct ) { + newItem = fct( newItem ); + } + if (newItem) ctrl.select(newItem, true); + }); + } + }); + // Bind to keyboard shortcuts ctrl.searchInput.on('keydown', function(e) { @@ -891,31 +926,36 @@ uis.controller('uiSelectCtrl', var tagged = false; - if (ctrl.items.length > 0 || ctrl.tagging.isActivated) { + if (ctrl.items.length > 0 || ctrl.tagging.isActivated || ctrl.allowFree.isActivated) { if(!_handleDropDownSelection(key) && !ctrl.searchEnabled) { e.preventDefault(); e.stopPropagation(); } - if ( ctrl.taggingTokens.isActivated ) { - for (var i = 0; i < ctrl.taggingTokens.tokens.length; i++) { - if ( ctrl.taggingTokens.tokens[i] === KEY.MAP[e.keyCode] ) { - // make sure there is a new value to push via tagging - if ( ctrl.search.length > 0 ) { - tagged = true; - } - } - } - if ( tagged ) { - $timeout(function() { - ctrl.searchInput.triggerHandler('tagged'); - var newItem = ctrl.search.replace(KEY.MAP[e.keyCode],'').trim(); - if ( ctrl.tagging.fct ) { - newItem = ctrl.tagging.fct( newItem ); - } - if (newItem) ctrl.select(newItem, true); - }); - } - } + if(ctrl.taggingTokens.isActivated) { + for (var i = 0; i < ctrl.taggingTokens.tokens.length; i++) { + if ( ctrl.taggingTokens.tokens[i] === KEY.MAP[e.keyCode] ) { + // make sure there is a new value to push via tagging + if ( ctrl.search.length > 0 ) { + tagged = true; + } + } + } + } else if(ctrl.allowFree.isActivated && ctrl.search.length > 0) { + if (~[KEY.ENTER, KEY.TAB].indexOf(key)){ + tagged = true; + } + } + if ( tagged ) { + $timeout(function() { + ctrl.searchInput.triggerHandler('tagged'); + var newItem = ctrl.search.replace(KEY.MAP[e.keyCode],'').trim(); + var fct = ctrl.tagging.fct || ctrl.allowFree.fct; + if ( fct ) { + newItem = fct( newItem ); + } + if (newItem) ctrl.select(newItem, true); + }); + } } }); @@ -1117,6 +1157,12 @@ uis.directive('uiSelect', $select.sortable = sortable !== undefined ? sortable : uiSelectConfig.sortable; }); + attrs.$observe('backspaceReset', function() { + // $eval() is needed otherwise we get a string instead of a boolean + var backspaceReset = scope.$eval(attrs.backspaceReset); + $select.backspaceReset = backspaceReset !== undefined ? backspaceReset : true; + }); + attrs.$observe('limit', function() { //Limit the number of selections allowed $select.limit = (angular.isDefined(attrs.limit)) ? parseInt(attrs.limit, 10) : undefined; @@ -1155,6 +1201,15 @@ uis.directive('uiSelect', } }); + attrs.$observe('allowFree', function() { + if(attrs.allowFree !== undefined) { + var allowFreeFn = scope.$eval(attrs.allowFree); + if(typeof allowFreeFn !== 'undefined') { + $select.allowFree = {isActivated: true, fct: allowFreeFn}; + } + } + }); + attrs.$observe('taggingLabel', function() { if(attrs.tagging !== undefined ) { @@ -1406,7 +1461,7 @@ uis.directive('uiSelect', }; var opened = false; - + scope.calculateDropdownPos = function() { if ($select.open) { dropdown = angular.element(element).querySelectorAll('.ui-select-dropdown'); @@ -1679,6 +1734,15 @@ uis.directive('uiSelectMultiple', ['uiSelectMinErr','$timeout', function(uiSelec return; } $select.selected.push(item); + var locals = {}; + locals[$select.parserResult.itemName] = item; + + $timeout(function(){ + $select.onSelectCallback(scope, { + $item: item, + $model: $select.parserResult.modelMapper(scope, locals) + }); + }); $selectMultiple.updateModel(); }); @@ -2005,6 +2069,9 @@ uis.directive('uiSelectSingle', ['$timeout','$compile', function($timeout, $comp for (var i = data.length - 1; i >= 0; i--) { if (checkFnSingle(data[i])) return data[i]; } + if($select.allowFree.isActivated && $select.allowFree.fct) { + return $select.allowFree.fct(inputValue); + } } return inputValue; }); @@ -2022,6 +2089,15 @@ uis.directive('uiSelectSingle', ['$timeout','$compile', function($timeout, $comp scope.$on('uis:select', function (event, item) { $select.selected = item; + var locals = {}; + locals[$select.parserResult.itemName] = item; + + $timeout(function(){ + $select.onSelectCallback(scope, { + $item: item, + $model: $select.parserResult.modelMapper(scope, locals) + }); + }); }); scope.$on('uis:close', function (event, skipFocusser) { @@ -2056,7 +2132,7 @@ uis.directive('uiSelectSingle', ['$timeout','$compile', function($timeout, $comp }); focusser.bind("keydown", function(e){ - if (e.which === KEY.BACKSPACE) { + if (e.which === KEY.BACKSPACE && $select.backspaceReset !== false) { e.preventDefault(); e.stopPropagation(); $select.select(undefined); @@ -2243,31 +2319,6 @@ uis.directive('uiSelectSort', ['$timeout', 'uiSelectConfig', 'uiSelectMinErr', f }; }]); -/** - * Debounces functions - * - * Taken from UI Bootstrap $$debounce source code - * See https://github.com/angular-ui/bootstrap/blob/master/src/debounce/debounce.js - * - */ -uis.factory('$$uisDebounce', ['$timeout', function($timeout) { - return function(callback, debounceTime) { - var timeoutPromise; - - return function() { - var self = this; - var args = Array.prototype.slice.call(arguments); - if (timeoutPromise) { - $timeout.cancel(timeoutPromise); - } - - timeoutPromise = $timeout(function() { - callback.apply(self, args); - }, debounceTime); - }; - }; -}]); - uis.directive('uisOpenClose', ['$parse', '$timeout', function ($parse, $timeout) { return { restrict: 'A', diff --git a/dist/select.min.css b/dist/select.min.css index de36293e3..88daf0d20 100644 --- a/dist/select.min.css +++ b/dist/select.min.css @@ -1,7 +1,7 @@ /*! * ui-select * http://github.com/angular-ui/ui-select - * Version: 0.19.5 - 2016-10-24T23:13:59.551Z + * Version: 0.19.8 - 2018-01-10T20:06:38.869Z * License: MIT */.ui-select-highlight{font-weight:700}.ui-select-offscreen{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.selectize-control.single>.selectize-input>input,.selectize-control>.selectize-dropdown{width:100%}.ui-select-choices-row:hover{background-color:#f5f5f5}.ng-dirty.ng-invalid>a.select2-choice{border-color:#D44950}.select2-result-single{padding-left:0}.select-locked>.ui-select-match-close,.select2-locked>.select2-search-choice-close{display:none}body>.select2-container.open{z-index:9999}.ui-select-container.select2.direction-up .ui-select-match,.ui-select-container[theme=select2].direction-up .ui-select-match{border-radius:0 0 4px 4px}.ui-select-container.select2.direction-up .ui-select-dropdown,.ui-select-container[theme=select2].direction-up .ui-select-dropdown{border-radius:4px 4px 0 0;border-top-width:1px;border-top-style:solid;box-shadow:0 -4px 8px rgba(0,0,0,.25);margin-top:-4px}.ui-select-container.select2.direction-up .ui-select-dropdown .select2-search,.ui-select-container[theme=select2].direction-up .ui-select-dropdown .select2-search{margin-top:4px}.ui-select-container.select2.direction-up.select2-dropdown-open .ui-select-match,.ui-select-container[theme=select2].direction-up.select2-dropdown-open .ui-select-match{border-bottom-color:#5897fb}.ui-select-container[theme=select2] .ui-select-dropdown .ui-select-search-hidden,.ui-select-container[theme=select2] .ui-select-dropdown .ui-select-search-hidden input{opacity:0;height:0;min-height:0;padding:0;margin:0;border:0}.selectize-input.selectize-focus{border-color:#007FBB!important}.selectize-control.multi>.selectize-input>input{margin:0!important}.ng-dirty.ng-invalid>div.selectize-input{border-color:#D44950}.ui-select-container[theme=selectize].direction-up .ui-select-dropdown{box-shadow:0 -4px 8px rgba(0,0,0,.25);margin-top:-2px}.ui-select-container[theme=selectize] input.ui-select-search-hidden{opacity:0;height:0;min-height:0;padding:0;margin:0;border:0;width:0}.btn-default-focus{color:#333;background-color:#EBEBEB;border-color:#ADADAD;text-decoration:none;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.ui-select-bootstrap .ui-select-toggle{position:relative}.ui-select-bootstrap .ui-select-toggle>.caret{position:absolute;height:10px;top:50%;right:10px;margin-top:-2px}.input-group>.ui-select-bootstrap.dropdown{position:static}.input-group>.ui-select-bootstrap>input.ui-select-search.form-control{border-radius:4px 0 0 4px}.input-group>.ui-select-bootstrap>input.ui-select-search.form-control.direction-up{border-radius:4px 0 0 4px!important}.ui-select-bootstrap .ui-select-search-hidden{opacity:0;height:0;min-height:0;padding:0;margin:0;border:0}.ui-select-bootstrap>.ui-select-match>.btn{text-align:left!important}.ui-select-bootstrap>.ui-select-match>.caret{position:absolute;top:45%;right:15px}.ui-select-bootstrap>.ui-select-choices,.ui-select-bootstrap>.ui-select-no-choice{width:100%;height:auto;max-height:200px;overflow-x:hidden;margin-top:-1px}body>.ui-select-bootstrap.open{z-index:1000}.ui-select-multiple.ui-select-bootstrap{height:auto;padding:3px 3px 0}.ui-select-multiple.ui-select-bootstrap input.ui-select-search{background-color:transparent!important;border:none;outline:0;height:1.666666em;margin-bottom:3px}.ui-select-multiple.ui-select-bootstrap .ui-select-match .close{font-size:1.6em;line-height:.75}.ui-select-multiple.ui-select-bootstrap .ui-select-match-item{outline:0;margin:0 3px 3px 0}.ui-select-multiple .ui-select-match-item{position:relative}.ui-select-multiple .ui-select-match-item.dropping .ui-select-match-close{pointer-events:none}.ui-select-multiple:hover .ui-select-match-item.dropping-before:before{content:"";position:absolute;top:0;right:100%;height:100%;margin-right:2px;border-left:1px solid #428bca}.ui-select-multiple:hover .ui-select-match-item.dropping-after:after{content:"";position:absolute;top:0;left:100%;height:100%;margin-left:2px;border-right:1px solid #428bca}.ui-select-bootstrap .ui-select-choices-row>span{cursor:pointer;display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.ui-select-bootstrap .ui-select-choices-row>span:focus,.ui-select-bootstrap .ui-select-choices-row>span:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.ui-select-bootstrap .ui-select-choices-row.active>span{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.ui-select-bootstrap .ui-select-choices-row.active.disabled>span,.ui-select-bootstrap .ui-select-choices-row.disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.ui-select-match.ng-hide-add,.ui-select-search.ng-hide-add{display:none!important}.ui-select-bootstrap.ng-dirty.ng-invalid>button.btn.ui-select-match{border-color:#D44950}.ui-select-container[theme=bootstrap].direction-up .ui-select-dropdown{box-shadow:0 -4px 8px rgba(0,0,0,.25)}.ui-select-bootstrap .ui-select-match-text{width:100%;padding-right:1em}.ui-select-bootstrap .ui-select-match-text span{display:inline-block;width:100%;overflow:hidden}.ui-select-bootstrap .ui-select-toggle>a.btn{position:absolute;height:10px;right:10px;margin-top:-2px}.ui-select-refreshing{position:absolute;right:0;padding:8px 27px;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased}@-webkit-keyframes ui-select-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes ui-select-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.ui-select-spin{-webkit-animation:ui-select-spin 2s infinite linear;animation:ui-select-spin 2s infinite linear}.ui-select-refreshing.ng-animate{-webkit-animation:none 0s} /*# sourceMappingURL=select.min.css.map */ diff --git a/dist/select.min.css.map b/dist/select.min.css.map index dab54c478..d4b23f792 100644 --- a/dist/select.min.css.map +++ b/dist/select.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["common.css"],"names":[],"mappings":"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","file":"select.min.css","sourcesContent":["/* Style when highlighting a search. */\n.ui-select-highlight {\n font-weight: bold;\n}\n\n.ui-select-offscreen {\n clip: rect(0 0 0 0) !important;\n width: 1px !important;\n height: 1px !important;\n border: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n overflow: hidden !important;\n position: absolute !important;\n outline: 0 !important;\n left: 0px !important;\n top: 0px !important;\n}\n\n\n.ui-select-choices-row:hover {\n background-color: #f5f5f5;\n}\n\n/* Select2 theme */\n\n/* Mark invalid Select2 */\n.ng-dirty.ng-invalid > a.select2-choice {\n border-color: #D44950;\n}\n\n.select2-result-single {\n padding-left: 0;\n}\n\n.select2-locked > .select2-search-choice-close{\n display:none;\n}\n\n.select-locked > .ui-select-match-close{\n display:none;\n}\n\nbody > .select2-container.open {\n z-index: 9999; /* The z-index Select2 applies to the select2-drop */\n}\n\n/* Handle up direction Select2 */\n.ui-select-container[theme=\"select2\"].direction-up .ui-select-match,\n.ui-select-container.select2.direction-up .ui-select-match {\n border-radius: 4px; /* FIXME hardcoded value :-/ */\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.ui-select-container[theme=\"select2\"].direction-up .ui-select-dropdown,\n.ui-select-container.select2.direction-up .ui-select-dropdown {\n border-radius: 4px; /* FIXME hardcoded value :-/ */\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n\n border-top-width: 1px; /* FIXME hardcoded value :-/ */\n border-top-style: solid;\n\n box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);\n\n margin-top: -4px; /* FIXME hardcoded value :-/ */\n}\n.ui-select-container[theme=\"select2\"].direction-up .ui-select-dropdown .select2-search,\n.ui-select-container.select2.direction-up .ui-select-dropdown .select2-search {\n margin-top: 4px; /* FIXME hardcoded value :-/ */\n}\n.ui-select-container[theme=\"select2\"].direction-up.select2-dropdown-open .ui-select-match,\n.ui-select-container.select2.direction-up.select2-dropdown-open .ui-select-match {\n border-bottom-color: #5897fb;\n}\n\n.ui-select-container[theme=\"select2\"] .ui-select-dropdown .ui-select-search-hidden,\n.ui-select-container[theme=\"select2\"] .ui-select-dropdown .ui-select-search-hidden input{\n opacity: 0;\n height: 0;\n min-height: 0;\n padding: 0;\n margin: 0;\n border:0;\n}\n\n/* Selectize theme */\n\n/* Helper class to show styles when focus */\n.selectize-input.selectize-focus{\n border-color: #007FBB !important;\n}\n\n/* Fix input width for Selectize theme */\n.selectize-control.single > .selectize-input > input {\n width: 100%;\n}\n\n/* Fix line break when there's at least one item selected with the Selectize theme */\n.selectize-control.multi > .selectize-input > input {\n margin: 0 !important;\n}\n\n/* Fix dropdown width for Selectize theme */\n.selectize-control > .selectize-dropdown {\n width: 100%;\n}\n\n/* Mark invalid Selectize */\n.ng-dirty.ng-invalid > div.selectize-input {\n border-color: #D44950;\n}\n\n/* Handle up direction Selectize */\n.ui-select-container[theme=\"selectize\"].direction-up .ui-select-dropdown {\n box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);\n margin-top: -2px; /* FIXME hardcoded value :-/ */\n}\n\n.ui-select-container[theme=\"selectize\"] input.ui-select-search-hidden{\n opacity: 0;\n height: 0;\n min-height: 0;\n padding: 0;\n margin: 0;\n border:0;\n width: 0;\n}\n\n/* Bootstrap theme */\n\n/* Helper class to show styles when focus */\n.btn-default-focus {\n color: #333;\n background-color: #EBEBEB;\n border-color: #ADADAD;\n text-decoration: none;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n\n.ui-select-bootstrap .ui-select-toggle {\n position: relative;\n}\n\n.ui-select-bootstrap .ui-select-toggle > .caret {\n position: absolute;\n height: 10px;\n top: 50%;\n right: 10px;\n margin-top: -2px;\n}\n\n/* Fix Bootstrap dropdown position when inside a input-group */\n.input-group > .ui-select-bootstrap.dropdown {\n /* Instead of relative */\n position: static;\n}\n\n.input-group > .ui-select-bootstrap > input.ui-select-search.form-control {\n border-radius: 4px; /* FIXME hardcoded value :-/ */\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group > .ui-select-bootstrap > input.ui-select-search.form-control.direction-up {\n border-radius: 4px !important; /* FIXME hardcoded value :-/ */\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n}\n\n.ui-select-bootstrap .ui-select-search-hidden{\n opacity: 0;\n height: 0;\n min-height: 0;\n padding: 0;\n margin: 0;\n border:0;\n}\n\n.ui-select-bootstrap > .ui-select-match > .btn{\n /* Instead of center because of .btn */\n text-align: left !important;\n}\n\n.ui-select-bootstrap > .ui-select-match > .caret {\n position: absolute;\n top: 45%;\n right: 15px;\n}\n\n/* See Scrollable Menu with Bootstrap 3 http://stackoverflow.com/questions/19227496 */\n.ui-select-bootstrap > .ui-select-choices ,.ui-select-bootstrap > .ui-select-no-choice {\n width: 100%;\n height: auto;\n max-height: 200px;\n overflow-x: hidden;\n margin-top: -1px;\n}\n\nbody > .ui-select-bootstrap.open {\n z-index: 1000; /* Standard Bootstrap dropdown z-index */\n}\n\n.ui-select-multiple.ui-select-bootstrap {\n height: auto;\n padding: 3px 3px 0 3px;\n}\n\n.ui-select-multiple.ui-select-bootstrap input.ui-select-search {\n background-color: transparent !important; /* To prevent double background when disabled */\n border: none;\n outline: none;\n height: 1.666666em;\n margin-bottom: 3px;\n}\n\n.ui-select-multiple.ui-select-bootstrap .ui-select-match .close {\n font-size: 1.6em;\n line-height: 0.75;\n}\n\n.ui-select-multiple.ui-select-bootstrap .ui-select-match-item {\n outline: 0;\n margin: 0 3px 3px 0;\n}\n\n.ui-select-multiple .ui-select-match-item {\n position: relative;\n}\n\n.ui-select-multiple .ui-select-match-item.dropping .ui-select-match-close {\n pointer-events: none;\n}\n\n.ui-select-multiple:hover .ui-select-match-item.dropping-before:before {\n content: \"\";\n position: absolute;\n top: 0;\n right: 100%;\n height: 100%;\n margin-right: 2px;\n border-left: 1px solid #428bca;\n}\n\n.ui-select-multiple:hover .ui-select-match-item.dropping-after:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 100%;\n height: 100%;\n margin-left: 2px;\n border-right: 1px solid #428bca;\n}\n\n.ui-select-bootstrap .ui-select-choices-row>span {\n cursor: pointer;\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333;\n white-space: nowrap;\n}\n\n.ui-select-bootstrap .ui-select-choices-row>span:hover, .ui-select-bootstrap .ui-select-choices-row>span:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n\n.ui-select-bootstrap .ui-select-choices-row.active>span {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #428bca;\n}\n\n.ui-select-bootstrap .ui-select-choices-row.disabled>span,\n.ui-select-bootstrap .ui-select-choices-row.active.disabled>span {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n}\n\n/* fix hide/show angular animation */\n.ui-select-match.ng-hide-add,\n.ui-select-search.ng-hide-add {\n display: none !important;\n}\n\n/* Mark invalid Bootstrap */\n.ui-select-bootstrap.ng-dirty.ng-invalid > button.btn.ui-select-match {\n border-color: #D44950;\n}\n\n/* Handle up direction Bootstrap */\n.ui-select-container[theme=\"bootstrap\"].direction-up .ui-select-dropdown {\n box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);\n}\n\n.ui-select-bootstrap .ui-select-match-text {\n width: 100%;\n padding-right: 1em;\n}\n.ui-select-bootstrap .ui-select-match-text span {\n display: inline-block;\n width: 100%;\n overflow: hidden;\n}\n.ui-select-bootstrap .ui-select-toggle > a.btn {\n position: absolute;\n height: 10px;\n right: 10px;\n margin-top: -2px;\n}\n\n/* Spinner */\n.ui-select-refreshing {\n position: absolute;\n right: 0;\n padding: 8px 27px;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing:antialiased;\n }\n \n@-webkit-keyframes ui-select-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n@keyframes ui-select-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n.ui-select-spin {\n -webkit-animation: ui-select-spin 2s infinite linear;\n animation: ui-select-spin 2s infinite linear;\n}\n\n.ui-select-refreshing.ng-animate {\n -webkit-animation: none 0s;\n} "],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["select.css","common.css"],"names":[],"mappings":";;;;;AAIA,qBACE,YAAa,ICLf,qBACA,KAAA,wBACA,MAAA,cACA,OAAA,cACA,OAAA,YACA,OAAA,YACA,QAAA,YACA,SAAA,iBACA,SAAA,mBACA,QAAA,YACA,KAAA,YACA,IAAA,YA8EA,iDAUA,uCACA,MAAA,KArFA,6BACA,iBAAA,QAMA,sCACA,aAAA,QAGA,uBACA,aAAA,EAOA,sCAJA,6CACA,QAAA,KAOA,6BACA,QAAA,KAKA,2DADA,kEAEA,cACA,EACA,EAFA,IAAA,IAKA,8DADA,qEAEA,cAAA,IAAA,IAEA,EADA,EAGA,iBAAA,IACA,iBAAA,MAEA,WAAA,EAAA,KAAA,IAAA,gBAEA,WAAA,KAGA,8EADA,qFAEA,WAAA,IAGA,iFADA,wFAEA,oBAAA,QAGA,iFACA,uFACA,QAAA,EACA,OAAA,EACA,WAAA,EACA,QAAA,EACA,OAAA,EACA,OAAA,EAMA,iCACA,aAAA,kBASA,gDACA,OAAA,YASA,yCACA,aAAA,QAIA,uEACA,WAAA,EAAA,KAAA,IAAA,gBACA,WAAA,KAGA,oEACA,QAAA,EACA,OAAA,EACA,WAAA,EACA,QAAA,EACA,OAAA,EACA,OAAA,EACA,MAAA,EAMA,mBACA,MAAA,KACA,iBAAA,QACA,aAAA,QACA,gBAAA,KACA,QAAA,yBAAA,KAAA,IACA,eAAA,KACA,WAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,qBAGA,uCACA,SAAA,SAGA,8CACA,SAAA,SACA,OAAA,KACA,IAAA,IACA,MAAA,KACA,WAAA,KAIA,2CAEA,SAAA,OAGA,sEACA,cAAA,IACA,EACA,EAFA,IAIA,mFACA,cAAA,IACA,EACA,EAFA,cAKA,8CACA,QAAA,EACA,OAAA,EACA,WAAA,EACA,QAAA,EACA,OAAA,EACA,OAAA,EAGA,2CAEA,WAAA,eAGA,6CACA,SAAA,SACA,IAAA,IACA,MAAA,KAIA,wCAAA,0CACA,MAAA,KACA,OAAA,KACA,WAAA,MACA,WAAA,OACA,WAAA,KAGA,+BACA,QAAA,KAGA,wCACA,OAAA,KACA,QAAA,IAAA,IAAA,EAGA,+DACA,iBAAA,sBACA,YACA,QAAA,EACA,OAAA,WACA,cAAA,IAGA,gEACA,UAAA,MACA,YAAA,IAGA,8DACA,QAAA,EACA,OAAA,EAAA,IAAA,IAAA,EAGA,0CACA,SAAA,SAGA,0EACA,eAAA,KAGA,uEACA,QAAA,GACA,SAAA,SACA,IAAA,EACA,MAAA,KACA,OAAA,KACA,aAAA,IACA,YAAA,IAAA,MAAA,QAGA,qEACA,QAAA,GACA,SAAA,SACA,IAAA,EACA,KAAA,KACA,OAAA,KACA,YAAA,IACA,aAAA,IAAA,MAAA,QAGA,iDACA,OAAA,QACA,QAAA,MACA,QAAA,IAAA,KACA,MAAA,KACA,YAAA,IACA,YAAA,WACA,MAAA,KACA,YAAA,OAGA,uDAAA,uDACA,gBAAA,KACA,MAAA,QACA,iBAAA,QAGA,wDACA,MAAA,KACA,gBAAA,KACA,QAAA,EACA,iBAAA,QAIA,iEADA,0DAEA,MAAA,KACA,OAAA,YACA,iBAAA,KAIA,6BACA,8BACA,QAAA,eAIA,oEACA,aAAA,QAIA,uEACA,WAAA,EAAA,KAAA,IAAA,gBAGA,2CACA,MAAA,KACA,cAAA,IAEA,gDACA,QAAA,aACA,MAAA,KACA,SAAA,OAEA,6CACA,SAAA,SACA,OAAA,KACA,MAAA,KACA,WAAA,KAIA,sBACA,SAAA,SACA,MAAA,EACA,QAAA,IAAA,KACA,IAAA,IACA,QAAA,aACA,YAAA,uBACA,WAAA,OACA,YAAA,IACA,YAAA,EACA,uBAAA,YAGA,kCACA,GACA,kBAAA,UACA,UAAA,UAEA,KACA,kBAAA,eACA,UAAA,gBAGA,0BACA,GACA,kBAAA,UACA,UAAA,UAEA,KACA,kBAAA,eACA,UAAA,gBAIA,gBACA,kBAAA,eAAA,GAAA,SAAA,OACA,UAAA,eAAA,GAAA,SAAA,OAGA,iCACA,kBAAA,KAAA","file":"select.min.css","sourcesContent":["/*!\n * ui-select\n * http://github.com/angular-ui/ui-select\n * Version: 0.19.8 - 2018-01-10T20:06:38.869Z\n * License: MIT\n */\n\n\n/* Style when highlighting a search. */\n.ui-select-highlight {\n font-weight: bold;\n}\n\n.ui-select-offscreen {\n clip: rect(0 0 0 0) !important;\n width: 1px !important;\n height: 1px !important;\n border: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n overflow: hidden !important;\n position: absolute !important;\n outline: 0 !important;\n left: 0px !important;\n top: 0px !important;\n}\n\n\n.ui-select-choices-row:hover {\n background-color: #f5f5f5;\n}\n\n/* Select2 theme */\n\n/* Mark invalid Select2 */\n.ng-dirty.ng-invalid > a.select2-choice {\n border-color: #D44950;\n}\n\n.select2-result-single {\n padding-left: 0;\n}\n\n.select2-locked > .select2-search-choice-close{\n display:none;\n}\n\n.select-locked > .ui-select-match-close{\n display:none;\n}\n\nbody > .select2-container.open {\n z-index: 9999; /* The z-index Select2 applies to the select2-drop */\n}\n\n/* Handle up direction Select2 */\n.ui-select-container[theme=\"select2\"].direction-up .ui-select-match,\n.ui-select-container.select2.direction-up .ui-select-match {\n border-radius: 4px; /* FIXME hardcoded value :-/ */\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.ui-select-container[theme=\"select2\"].direction-up .ui-select-dropdown,\n.ui-select-container.select2.direction-up .ui-select-dropdown {\n border-radius: 4px; /* FIXME hardcoded value :-/ */\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n\n border-top-width: 1px; /* FIXME hardcoded value :-/ */\n border-top-style: solid;\n\n box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);\n\n margin-top: -4px; /* FIXME hardcoded value :-/ */\n}\n.ui-select-container[theme=\"select2\"].direction-up .ui-select-dropdown .select2-search,\n.ui-select-container.select2.direction-up .ui-select-dropdown .select2-search {\n margin-top: 4px; /* FIXME hardcoded value :-/ */\n}\n.ui-select-container[theme=\"select2\"].direction-up.select2-dropdown-open .ui-select-match,\n.ui-select-container.select2.direction-up.select2-dropdown-open .ui-select-match {\n border-bottom-color: #5897fb;\n}\n\n.ui-select-container[theme=\"select2\"] .ui-select-dropdown .ui-select-search-hidden,\n.ui-select-container[theme=\"select2\"] .ui-select-dropdown .ui-select-search-hidden input{\n opacity: 0;\n height: 0;\n min-height: 0;\n padding: 0;\n margin: 0;\n border:0;\n}\n\n/* Selectize theme */\n\n/* Helper class to show styles when focus */\n.selectize-input.selectize-focus{\n border-color: #007FBB !important;\n}\n\n/* Fix input width for Selectize theme */\n.selectize-control.single > .selectize-input > input {\n width: 100%;\n}\n\n/* Fix line break when there's at least one item selected with the Selectize theme */\n.selectize-control.multi > .selectize-input > input {\n margin: 0 !important;\n}\n\n/* Fix dropdown width for Selectize theme */\n.selectize-control > .selectize-dropdown {\n width: 100%;\n}\n\n/* Mark invalid Selectize */\n.ng-dirty.ng-invalid > div.selectize-input {\n border-color: #D44950;\n}\n\n/* Handle up direction Selectize */\n.ui-select-container[theme=\"selectize\"].direction-up .ui-select-dropdown {\n box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);\n margin-top: -2px; /* FIXME hardcoded value :-/ */\n}\n\n.ui-select-container[theme=\"selectize\"] input.ui-select-search-hidden{\n opacity: 0;\n height: 0;\n min-height: 0;\n padding: 0;\n margin: 0;\n border:0;\n width: 0;\n}\n\n/* Bootstrap theme */\n\n/* Helper class to show styles when focus */\n.btn-default-focus {\n color: #333;\n background-color: #EBEBEB;\n border-color: #ADADAD;\n text-decoration: none;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n\n.ui-select-bootstrap .ui-select-toggle {\n position: relative;\n}\n\n.ui-select-bootstrap .ui-select-toggle > .caret {\n position: absolute;\n height: 10px;\n top: 50%;\n right: 10px;\n margin-top: -2px;\n}\n\n/* Fix Bootstrap dropdown position when inside a input-group */\n.input-group > .ui-select-bootstrap.dropdown {\n /* Instead of relative */\n position: static;\n}\n\n.input-group > .ui-select-bootstrap > input.ui-select-search.form-control {\n border-radius: 4px; /* FIXME hardcoded value :-/ */\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group > .ui-select-bootstrap > input.ui-select-search.form-control.direction-up {\n border-radius: 4px !important; /* FIXME hardcoded value :-/ */\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n}\n\n.ui-select-bootstrap .ui-select-search-hidden{\n opacity: 0;\n height: 0;\n min-height: 0;\n padding: 0;\n margin: 0;\n border:0;\n}\n\n.ui-select-bootstrap > .ui-select-match > .btn{\n /* Instead of center because of .btn */\n text-align: left !important;\n}\n\n.ui-select-bootstrap > .ui-select-match > .caret {\n position: absolute;\n top: 45%;\n right: 15px;\n}\n\n/* See Scrollable Menu with Bootstrap 3 http://stackoverflow.com/questions/19227496 */\n.ui-select-bootstrap > .ui-select-choices ,.ui-select-bootstrap > .ui-select-no-choice {\n width: 100%;\n height: auto;\n max-height: 200px;\n overflow-x: hidden;\n margin-top: -1px;\n}\n\nbody > .ui-select-bootstrap.open {\n z-index: 1000; /* Standard Bootstrap dropdown z-index */\n}\n\n.ui-select-multiple.ui-select-bootstrap {\n height: auto;\n padding: 3px 3px 0 3px;\n}\n\n.ui-select-multiple.ui-select-bootstrap input.ui-select-search {\n background-color: transparent !important; /* To prevent double background when disabled */\n border: none;\n outline: none;\n height: 1.666666em;\n margin-bottom: 3px;\n}\n\n.ui-select-multiple.ui-select-bootstrap .ui-select-match .close {\n font-size: 1.6em;\n line-height: 0.75;\n}\n\n.ui-select-multiple.ui-select-bootstrap .ui-select-match-item {\n outline: 0;\n margin: 0 3px 3px 0;\n}\n\n.ui-select-multiple .ui-select-match-item {\n position: relative;\n}\n\n.ui-select-multiple .ui-select-match-item.dropping .ui-select-match-close {\n pointer-events: none;\n}\n\n.ui-select-multiple:hover .ui-select-match-item.dropping-before:before {\n content: \"\";\n position: absolute;\n top: 0;\n right: 100%;\n height: 100%;\n margin-right: 2px;\n border-left: 1px solid #428bca;\n}\n\n.ui-select-multiple:hover .ui-select-match-item.dropping-after:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 100%;\n height: 100%;\n margin-left: 2px;\n border-right: 1px solid #428bca;\n}\n\n.ui-select-bootstrap .ui-select-choices-row>span {\n cursor: pointer;\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333;\n white-space: nowrap;\n}\n\n.ui-select-bootstrap .ui-select-choices-row>span:hover, .ui-select-bootstrap .ui-select-choices-row>span:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n\n.ui-select-bootstrap .ui-select-choices-row.active>span {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #428bca;\n}\n\n.ui-select-bootstrap .ui-select-choices-row.disabled>span,\n.ui-select-bootstrap .ui-select-choices-row.active.disabled>span {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n}\n\n/* fix hide/show angular animation */\n.ui-select-match.ng-hide-add,\n.ui-select-search.ng-hide-add {\n display: none !important;\n}\n\n/* Mark invalid Bootstrap */\n.ui-select-bootstrap.ng-dirty.ng-invalid > button.btn.ui-select-match {\n border-color: #D44950;\n}\n\n/* Handle up direction Bootstrap */\n.ui-select-container[theme=\"bootstrap\"].direction-up .ui-select-dropdown {\n box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);\n}\n\n.ui-select-bootstrap .ui-select-match-text {\n width: 100%;\n padding-right: 1em;\n}\n.ui-select-bootstrap .ui-select-match-text span {\n display: inline-block;\n width: 100%;\n overflow: hidden;\n}\n.ui-select-bootstrap .ui-select-toggle > a.btn {\n position: absolute;\n height: 10px;\n right: 10px;\n margin-top: -2px;\n}\n\n/* Spinner */\n.ui-select-refreshing {\n position: absolute;\n right: 0;\n padding: 8px 27px;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing:antialiased;\n }\n \n@-webkit-keyframes ui-select-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n@keyframes ui-select-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n.ui-select-spin {\n -webkit-animation: ui-select-spin 2s infinite linear;\n animation: ui-select-spin 2s infinite linear;\n}\n\n.ui-select-refreshing.ng-animate {\n -webkit-animation: none 0s;\n} ","/* Style when highlighting a search. */\n.ui-select-highlight {\n font-weight: bold;\n}\n\n.ui-select-offscreen {\n clip: rect(0 0 0 0) !important;\n width: 1px !important;\n height: 1px !important;\n border: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n overflow: hidden !important;\n position: absolute !important;\n outline: 0 !important;\n left: 0px !important;\n top: 0px !important;\n}\n\n\n.ui-select-choices-row:hover {\n background-color: #f5f5f5;\n}\n\n/* Select2 theme */\n\n/* Mark invalid Select2 */\n.ng-dirty.ng-invalid > a.select2-choice {\n border-color: #D44950;\n}\n\n.select2-result-single {\n padding-left: 0;\n}\n\n.select2-locked > .select2-search-choice-close{\n display:none;\n}\n\n.select-locked > .ui-select-match-close{\n display:none;\n}\n\nbody > .select2-container.open {\n z-index: 9999; /* The z-index Select2 applies to the select2-drop */\n}\n\n/* Handle up direction Select2 */\n.ui-select-container[theme=\"select2\"].direction-up .ui-select-match,\n.ui-select-container.select2.direction-up .ui-select-match {\n border-radius: 4px; /* FIXME hardcoded value :-/ */\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.ui-select-container[theme=\"select2\"].direction-up .ui-select-dropdown,\n.ui-select-container.select2.direction-up .ui-select-dropdown {\n border-radius: 4px; /* FIXME hardcoded value :-/ */\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n\n border-top-width: 1px; /* FIXME hardcoded value :-/ */\n border-top-style: solid;\n\n box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);\n\n margin-top: -4px; /* FIXME hardcoded value :-/ */\n}\n.ui-select-container[theme=\"select2\"].direction-up .ui-select-dropdown .select2-search,\n.ui-select-container.select2.direction-up .ui-select-dropdown .select2-search {\n margin-top: 4px; /* FIXME hardcoded value :-/ */\n}\n.ui-select-container[theme=\"select2\"].direction-up.select2-dropdown-open .ui-select-match,\n.ui-select-container.select2.direction-up.select2-dropdown-open .ui-select-match {\n border-bottom-color: #5897fb;\n}\n\n.ui-select-container[theme=\"select2\"] .ui-select-dropdown .ui-select-search-hidden,\n.ui-select-container[theme=\"select2\"] .ui-select-dropdown .ui-select-search-hidden input{\n opacity: 0;\n height: 0;\n min-height: 0;\n padding: 0;\n margin: 0;\n border:0;\n}\n\n/* Selectize theme */\n\n/* Helper class to show styles when focus */\n.selectize-input.selectize-focus{\n border-color: #007FBB !important;\n}\n\n/* Fix input width for Selectize theme */\n.selectize-control.single > .selectize-input > input {\n width: 100%;\n}\n\n/* Fix line break when there's at least one item selected with the Selectize theme */\n.selectize-control.multi > .selectize-input > input {\n margin: 0 !important;\n}\n\n/* Fix dropdown width for Selectize theme */\n.selectize-control > .selectize-dropdown {\n width: 100%;\n}\n\n/* Mark invalid Selectize */\n.ng-dirty.ng-invalid > div.selectize-input {\n border-color: #D44950;\n}\n\n/* Handle up direction Selectize */\n.ui-select-container[theme=\"selectize\"].direction-up .ui-select-dropdown {\n box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);\n margin-top: -2px; /* FIXME hardcoded value :-/ */\n}\n\n.ui-select-container[theme=\"selectize\"] input.ui-select-search-hidden{\n opacity: 0;\n height: 0;\n min-height: 0;\n padding: 0;\n margin: 0;\n border:0;\n width: 0;\n}\n\n/* Bootstrap theme */\n\n/* Helper class to show styles when focus */\n.btn-default-focus {\n color: #333;\n background-color: #EBEBEB;\n border-color: #ADADAD;\n text-decoration: none;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n\n.ui-select-bootstrap .ui-select-toggle {\n position: relative;\n}\n\n.ui-select-bootstrap .ui-select-toggle > .caret {\n position: absolute;\n height: 10px;\n top: 50%;\n right: 10px;\n margin-top: -2px;\n}\n\n/* Fix Bootstrap dropdown position when inside a input-group */\n.input-group > .ui-select-bootstrap.dropdown {\n /* Instead of relative */\n position: static;\n}\n\n.input-group > .ui-select-bootstrap > input.ui-select-search.form-control {\n border-radius: 4px; /* FIXME hardcoded value :-/ */\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group > .ui-select-bootstrap > input.ui-select-search.form-control.direction-up {\n border-radius: 4px !important; /* FIXME hardcoded value :-/ */\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n}\n\n.ui-select-bootstrap .ui-select-search-hidden{\n opacity: 0;\n height: 0;\n min-height: 0;\n padding: 0;\n margin: 0;\n border:0;\n}\n\n.ui-select-bootstrap > .ui-select-match > .btn{\n /* Instead of center because of .btn */\n text-align: left !important;\n}\n\n.ui-select-bootstrap > .ui-select-match > .caret {\n position: absolute;\n top: 45%;\n right: 15px;\n}\n\n/* See Scrollable Menu with Bootstrap 3 http://stackoverflow.com/questions/19227496 */\n.ui-select-bootstrap > .ui-select-choices ,.ui-select-bootstrap > .ui-select-no-choice {\n width: 100%;\n height: auto;\n max-height: 200px;\n overflow-x: hidden;\n margin-top: -1px;\n}\n\nbody > .ui-select-bootstrap.open {\n z-index: 1000; /* Standard Bootstrap dropdown z-index */\n}\n\n.ui-select-multiple.ui-select-bootstrap {\n height: auto;\n padding: 3px 3px 0 3px;\n}\n\n.ui-select-multiple.ui-select-bootstrap input.ui-select-search {\n background-color: transparent !important; /* To prevent double background when disabled */\n border: none;\n outline: none;\n height: 1.666666em;\n margin-bottom: 3px;\n}\n\n.ui-select-multiple.ui-select-bootstrap .ui-select-match .close {\n font-size: 1.6em;\n line-height: 0.75;\n}\n\n.ui-select-multiple.ui-select-bootstrap .ui-select-match-item {\n outline: 0;\n margin: 0 3px 3px 0;\n}\n\n.ui-select-multiple .ui-select-match-item {\n position: relative;\n}\n\n.ui-select-multiple .ui-select-match-item.dropping .ui-select-match-close {\n pointer-events: none;\n}\n\n.ui-select-multiple:hover .ui-select-match-item.dropping-before:before {\n content: \"\";\n position: absolute;\n top: 0;\n right: 100%;\n height: 100%;\n margin-right: 2px;\n border-left: 1px solid #428bca;\n}\n\n.ui-select-multiple:hover .ui-select-match-item.dropping-after:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 100%;\n height: 100%;\n margin-left: 2px;\n border-right: 1px solid #428bca;\n}\n\n.ui-select-bootstrap .ui-select-choices-row>span {\n cursor: pointer;\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333;\n white-space: nowrap;\n}\n\n.ui-select-bootstrap .ui-select-choices-row>span:hover, .ui-select-bootstrap .ui-select-choices-row>span:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n\n.ui-select-bootstrap .ui-select-choices-row.active>span {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #428bca;\n}\n\n.ui-select-bootstrap .ui-select-choices-row.disabled>span,\n.ui-select-bootstrap .ui-select-choices-row.active.disabled>span {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n}\n\n/* fix hide/show angular animation */\n.ui-select-match.ng-hide-add,\n.ui-select-search.ng-hide-add {\n display: none !important;\n}\n\n/* Mark invalid Bootstrap */\n.ui-select-bootstrap.ng-dirty.ng-invalid > button.btn.ui-select-match {\n border-color: #D44950;\n}\n\n/* Handle up direction Bootstrap */\n.ui-select-container[theme=\"bootstrap\"].direction-up .ui-select-dropdown {\n box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);\n}\n\n.ui-select-bootstrap .ui-select-match-text {\n width: 100%;\n padding-right: 1em;\n}\n.ui-select-bootstrap .ui-select-match-text span {\n display: inline-block;\n width: 100%;\n overflow: hidden;\n}\n.ui-select-bootstrap .ui-select-toggle > a.btn {\n position: absolute;\n height: 10px;\n right: 10px;\n margin-top: -2px;\n}\n\n/* Spinner */\n.ui-select-refreshing {\n position: absolute;\n right: 0;\n padding: 8px 27px;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing:antialiased;\n }\n \n@-webkit-keyframes ui-select-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n@keyframes ui-select-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n.ui-select-spin {\n -webkit-animation: ui-select-spin 2s infinite linear;\n animation: ui-select-spin 2s infinite linear;\n}\n\n.ui-select-refreshing.ng-animate {\n -webkit-animation: none 0s;\n} "]} \ No newline at end of file diff --git a/dist/select.min.js b/dist/select.min.js index 88526eb03..5f97e763f 100644 --- a/dist/select.min.js +++ b/dist/select.min.js @@ -1,9 +1,9 @@ /*! * ui-select * http://github.com/angular-ui/ui-select - * Version: 0.19.5 - 2016-10-24T23:13:59.434Z + * Version: 0.19.8 - 2018-01-10T20:06:38.772Z * License: MIT */ -!function(){"use strict";var e={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,COMMAND:91,MAP:{91:"COMMAND",8:"BACKSPACE",9:"TAB",13:"ENTER",16:"SHIFT",17:"CTRL",18:"ALT",19:"PAUSEBREAK",20:"CAPSLOCK",27:"ESC",32:"SPACE",33:"PAGE_UP",34:"PAGE_DOWN",35:"END",36:"HOME",37:"LEFT",38:"UP",39:"RIGHT",40:"DOWN",43:"+",44:"PRINTSCREEN",45:"INSERT",46:"DELETE",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NUMLOCK",145:"SCROLLLOCK",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},isControl:function(t){var s=t.which;switch(s){case e.COMMAND:case e.SHIFT:case e.CTRL:case e.ALT:return!0}return!!(t.metaKey||t.ctrlKey||t.altKey)},isFunctionKey:function(e){return e=e.which?e.which:e,e>=112&&123>=e},isVerticalMovement:function(t){return~[e.UP,e.DOWN].indexOf(t)},isHorizontalMovement:function(t){return~[e.LEFT,e.RIGHT,e.BACKSPACE,e.DELETE].indexOf(t)},toSeparator:function(t){var s={ENTER:"\n",TAB:" ",SPACE:" "}[t];return s?s:e[t]?void 0:t}};void 0===angular.element.prototype.querySelectorAll&&(angular.element.prototype.querySelectorAll=function(e){return angular.element(this[0].querySelectorAll(e))}),void 0===angular.element.prototype.closest&&(angular.element.prototype.closest=function(e){for(var t=this[0],s=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;t;){if(s.bind(t)(e))return t;t=t.parentElement}return!1});var t=0,s=angular.module("ui.select",[]).constant("uiSelectConfig",{theme:"bootstrap",searchEnabled:!0,sortable:!1,placeholder:"",refreshDelay:1e3,closeOnSelect:!0,skipFocusser:!1,dropdownPosition:"auto",removeSelected:!0,resetSearchInput:!0,generateId:function(){return t++},appendToBody:!1,spinnerEnabled:!1,spinnerClass:"glyphicon-refresh ui-select-spin"}).service("uiSelectMinErr",function(){var e=angular.$$minErr("ui.select");return function(){var t=e.apply(this,arguments),s=t.message.replace(new RegExp("\nhttp://errors.angularjs.org/.*"),"");return new Error(s)}}).directive("uisTranscludeAppend",function(){return{link:function(e,t,s,i,c){c(e,function(e){t.append(e)})}}}).filter("highlight",function(){function e(e){return(""+e).replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(t,s){return s&&t?(""+t).replace(new RegExp(e(s),"gi"),'$&'):t}}).factory("uisOffset",["$document","$window",function(e,t){return function(s){var i=s[0].getBoundingClientRect();return{width:i.width||s.prop("offsetWidth"),height:i.height||s.prop("offsetHeight"),top:i.top+(t.pageYOffset||e[0].documentElement.scrollTop),left:i.left+(t.pageXOffset||e[0].documentElement.scrollLeft)}}}]);s.directive("uiSelectChoices",["uiSelectConfig","uisRepeatParser","uiSelectMinErr","$compile","$window",function(e,t,s,i,c){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){t.addClass("ui-select-choices");var s=t.parent().attr("theme")||e.theme;return s+"/choices.tpl.html"},compile:function(i,n){if(!n.repeat)throw s("repeat","Expected 'repeat' expression.");var l=n.groupBy,a=n.groupFilter;if(l){var r=i.querySelectorAll(".ui-select-choices-group");if(1!==r.length)throw s("rows","Expected 1 .ui-select-choices-group but got '{0}'.",r.length);r.attr("ng-repeat",t.getGroupNgRepeatExpression())}var o=t.parse(n.repeat),u=i.querySelectorAll(".ui-select-choices-row");if(1!==u.length)throw s("rows","Expected 1 .ui-select-choices-row but got '{0}'.",u.length);u.attr("ng-repeat",o.repeatExpression(l)).attr("ng-if","$select.open");var d=i.querySelectorAll(".ui-select-choices-row-inner");if(1!==d.length)throw s("rows","Expected 1 .ui-select-choices-row-inner but got '{0}'.",d.length);d.attr("uis-transclude-append","");var p=c.document.addEventListener?u:d;return p.attr("ng-click","$select.select("+o.itemName+",$select.skipFocusser,$event)"),function(t,s,c,n){n.parseRepeatAttr(c.repeat,l,a),n.disableChoiceExpression=c.uiDisableChoice,n.onHighlightCallback=c.onHighlight,n.dropdownPosition=c.position?c.position.toLowerCase():e.dropdownPosition,t.$on("$destroy",function(){u.remove()}),t.$watch("$select.search",function(e){e&&!n.open&&n.multiple&&n.activate(!1,!0),n.activeIndex=n.tagging.isActivated?-1:0,!c.minimumInputLength||n.search.length>=c.minimumInputLength?n.refresh(c.refresh):n.items=[]}),c.$observe("refreshDelay",function(){var s=t.$eval(c.refreshDelay);n.refreshDelay=void 0!==s?s:e.refreshDelay}),t.$watch("$select.open",function(e){e?i.attr("role","listbox"):i.removeAttr("role")})}}}}]),s.controller("uiSelectCtrl",["$scope","$element","$timeout","$filter","$$uisDebounce","uisRepeatParser","uiSelectMinErr","uiSelectConfig","$parse","$injector","$window",function(t,s,i,c,n,l,a,r,o,u,d){function p(e,t,s){if(e.findIndex)return e.findIndex(t,s);for(var i,c=Object(e),n=c.length>>>0,l=0;n>l;l++)if(i=c[l],t.call(s,i,l,c))return l;return-1}function h(){w.resetSearchInput&&(w.search=y,w.selected&&w.items.length&&!w.multiple&&(w.activeIndex=p(w.items,function(e){return angular.equals(this,e)},w.selected)))}function g(e,t){var s,i,c=[];for(s=0;s-1&&S.splice(s,1)}function v(e){return S.indexOf(e)>-1}function $(e){function t(e,t){var s=i.indexOf(e);t&&-1===s&&i.push(e),!t&&s>-1&&i.splice(s,0)}function s(e){return i.indexOf(e)>-1}if(e){var i=[];w.isLocked=function(e,i){var c=!1,n=w.selected[i];return n&&(e?(c=!!e.$eval(w.lockChoiceExpression),t(n,c)):c=s(n)),c}}}function m(t){var s=!0;switch(t){case e.DOWN:!w.open&&w.multiple?w.activate(!1,!0):w.activeIndex0||0===w.search.length&&w.tagging.isActivated&&w.activeIndex>-1)&&w.activeIndex--;break;case e.TAB:w.multiple&&!w.open||w.select(w.items[w.activeIndex],!0);break;case e.ENTER:w.open&&(w.tagging.isActivated||w.activeIndex>=0)?w.select(w.items[w.activeIndex],w.skipFocusser):w.activate(!1,!0);break;case e.ESC:w.close();break;default:s=!1}return s}function b(){var e=s.querySelectorAll(".ui-select-choices-content"),t=e.querySelectorAll(".ui-select-choices-row");if(t.length<1)throw a("choices","Expected multiple .ui-select-choices-row but got '{0}'.",t.length);if(!(w.activeIndex<0)){var i=t[w.activeIndex],c=i.offsetTop+i.clientHeight-e[0].scrollTop,n=e[0].offsetHeight;c>n?e[0].scrollTop+=c-n:c=w.items.length?0:w.activeIndex,-1===w.activeIndex&&w.taggingLabel!==!1&&(w.activeIndex=0);var n=s.querySelectorAll(".ui-select-choices-content"),l=s.querySelectorAll(".ui-select-search");if(w.$animate&&w.$animate.on&&w.$animate.enabled(n[0])){var a=function(t,s){"start"===s&&0===w.items.length?(w.$animate.off("removeClass",l[0],a),i(function(){w.focusSearchInput(e)})):"close"===s&&(w.$animate.off("enter",n[0],a),i(function(){w.focusSearchInput(e)}))};w.items.length>0?w.$animate.on("enter",n[0],a):w.$animate.on("removeClass",l[0],a)}else i(function(){w.focusSearchInput(e),!w.tagging.isActivated&&w.items.length>1&&b()})}},w.focusSearchInput=function(e){w.search=e||w.search,w.searchInput[0].focus()},w.findGroupByName=function(e){return w.groups&&w.groups.filter(function(t){return t.name===e})[0]},w.parseRepeatAttr=function(e,s,i){function c(e){var c=t.$eval(s);if(w.groups=[],angular.forEach(e,function(e){var t=angular.isFunction(c)?c(e):e[c],s=w.findGroupByName(t);s?s.items.push(e):w.groups.push({name:t,items:[e]})}),i){var n=t.$eval(i);angular.isFunction(n)?w.groups=n(w.groups):angular.isArray(n)&&(w.groups=g(w.groups,n))}w.items=[],w.groups.forEach(function(e){w.items=w.items.concat(e.items)})}function n(e){w.items=e}w.setItemsFn=s?c:n,w.parserResult=l.parse(e),w.isGrouped=!!s,w.itemProperty=w.parserResult.itemName;var r=w.parserResult.source,u=function(){var e=r(t);t.$uisSource=Object.keys(e).map(function(t){var s={};return s[w.parserResult.keyName]=t,s.value=e[t],s})};w.parserResult.keyName&&(u(),w.parserResult.source=o("$uisSource"+w.parserResult.filters),t.$watch(r,function(e,t){e!==t&&u()},!0)),w.refreshItems=function(e){e=e||w.parserResult.source(t);var s=w.selected;if(w.isEmpty()||angular.isArray(s)&&!s.length||!w.multiple||!w.removeSelected)w.setItemsFn(e);else if(void 0!==e&&null!==e){var i=e.filter(function(e){return angular.isArray(s)?s.every(function(t){return!angular.equals(e,t)}):!angular.equals(e,s)});w.setItemsFn(i)}"auto"!==w.dropdownPosition&&"up"!==w.dropdownPosition||t.calculateDropdownPos(),t.$broadcast("uis:refresh")},t.$watchCollection(w.parserResult.source,function(e){if(void 0===e||null===e)w.items=[];else{if(!angular.isArray(e))throw a("items","Expected an array but got '{0}'.",e);w.refreshItems(e),angular.isDefined(w.ngModel.$modelValue)&&(w.ngModel.$modelValue=null)}})};var x;w.refresh=function(e){void 0!==e&&(x&&i.cancel(x),x=i(function(){var s=t.$eval(e);s&&angular.isFunction(s.then)&&!w.refreshing&&(w.refreshing=!0,s.then(function(){w.refreshing=!1}))},w.refreshDelay))},w.isActive=function(e){if(!w.open)return!1;var t=w.items.indexOf(e[w.itemProperty]),s=t==w.activeIndex;return!s||0>t?!1:(s&&!angular.isUndefined(w.onHighlightCallback)&&e.$eval(w.onHighlightCallback),s)};var E=function(e){return w.selected&&angular.isArray(w.selected)&&w.selected.filter(function(t){return angular.equals(t,e)}).length>0},S=[];w.isDisabled=function(e){if(w.open){var t=e[w.itemProperty],s=w.items.indexOf(t),i=!1;if(s>=0&&(angular.isDefined(w.disableChoiceExpression)||w.multiple)){if(t.isTag)return!1;w.multiple&&(i=E(t)),!i&&angular.isDefined(w.disableChoiceExpression)&&(i=!!e.$eval(w.disableChoiceExpression)),f(t,i)}return i}},w.select=function(e,s,c){if(void 0===e||!v(e)){if(!w.items&&!w.search&&!w.tagging.isActivated)return;if(!e||!v(e)){if(w.clickTriggeredSelect=!1,c&&("click"===c.type||"touchend"===c.type)&&e&&(w.clickTriggeredSelect=!0),w.tagging.isActivated&&w.clickTriggeredSelect===!1){if(w.taggingLabel===!1)if(w.activeIndex<0){if(void 0===e&&(e=void 0!==w.tagging.fct?w.tagging.fct(w.search):w.search),!e||angular.equals(w.items[0],e))return}else e=w.items[w.activeIndex];else if(0===w.activeIndex){if(void 0===e)return;if(void 0!==w.tagging.fct&&"string"==typeof e){if(e=w.tagging.fct(e),!e)return}else"string"==typeof e&&(e=e.replace(w.taggingLabel,"").trim())}if(E(e))return void w.close(s)}h(),t.$broadcast("uis:select",e);var n={};n[w.parserResult.itemName]=e,i(function(){w.onSelectCallback(t,{$item:e,$model:w.parserResult.modelMapper(t,n)})}),w.closeOnSelect&&w.close(s)}}},w.close=function(e){w.open&&(w.ngModel&&w.ngModel.$setTouched&&w.ngModel.$setTouched(),w.open=!1,h(),t.$broadcast("uis:close",e))},w.setFocus=function(){w.focus||w.focusInput[0].focus()},w.clear=function(e){w.select(void 0),e.stopPropagation(),i(function(){w.focusser[0].focus()},0,!1)},w.toggle=function(e){w.open?(w.close(),e.preventDefault(),e.stopPropagation()):w.activate()},w.isLocked=function(){return!1},t.$watch(function(){return angular.isDefined(w.lockChoiceExpression)&&""!==w.lockChoiceExpression},$);var C=null,I=!1;w.sizeSearchInput=function(){var e=w.searchInput[0],s=w.searchInput.parent().parent()[0],c=function(){return s.clientWidth*!!e.offsetParent},n=function(t){if(0===t)return!1;var s=t-e.offsetLeft-10;return 50>s&&(s=t),w.searchInput.css("width",s+"px"),!0};w.searchInput.css("width","10px"),i(function(){null!==C||n(c())||(C=t.$watch(function(){I||(I=!0,t.$$postDigest(function(){I=!1,n(c())&&(C(),C=null)}))},angular.noop))})},w.searchInput.on("keydown",function(s){var c=s.which;~[e.ENTER,e.ESC].indexOf(c)&&(s.preventDefault(),s.stopPropagation()),t.$apply(function(){var t=!1;if((w.items.length>0||w.tagging.isActivated)&&(m(c)||w.searchEnabled||(s.preventDefault(),s.stopPropagation()),w.taggingTokens.isActivated)){for(var n=0;n0&&(t=!0);t&&i(function(){w.searchInput.triggerHandler("tagged");var t=w.search.replace(e.MAP[s.keyCode],"").trim();w.tagging.fct&&(t=w.tagging.fct(t)),t&&w.select(t,!0)})}}),e.isVerticalMovement(c)&&w.items.length>0&&b(),c!==e.ENTER&&c!==e.ESC||(s.preventDefault(),s.stopPropagation())}),w.searchInput.on("paste",function(t){var s;if(s=window.clipboardData&&window.clipboardData.getData?window.clipboardData.getData("Text"):(t.originalEvent||t).clipboardData.getData("text/plain"),s=w.search+s,s&&s.length>0)if(w.taggingTokens.isActivated){for(var i=[],c=0;c-1){i=s.split(n);break}}0===i.length&&(i=[s]);var l=w.search;angular.forEach(i,function(e){var t=w.tagging.fct?w.tagging.fct(e):e;t&&w.select(t,!0)}),w.search=l||y,t.preventDefault(),t.stopPropagation()}else w.paste&&(w.paste(s),w.search=y,t.preventDefault(),t.stopPropagation())}),w.searchInput.on("tagged",function(){i(function(){h()})});var A=n(function(){w.sizeSearchInput()},50);angular.element(d).bind("resize",A),t.$on("$destroy",function(){w.searchInput.off("keyup keydown tagged blur paste"),angular.element(d).off("resize",A)}),t.$watch("$select.activeIndex",function(e){e&&s.find("input").attr("aria-activedescendant","ui-select-choices-row-"+w.generatedId+"-"+e)}),t.$watch("$select.open",function(e){e||s.find("input").removeAttr("aria-activedescendant")})}]),s.directive("uiSelect",["$document","uiSelectConfig","uiSelectMinErr","uisOffset","$compile","$parse","$timeout",function(e,t,s,i,c,n,l){return{restrict:"EA",templateUrl:function(e,s){var i=s.theme||t.theme;return i+(angular.isDefined(s.multiple)?"/select-multiple.tpl.html":"/select.tpl.html")},replace:!0,transclude:!0,require:["uiSelect","^ngModel"],scope:!0,controller:"uiSelectCtrl",controllerAs:"$select",compile:function(c,a){var r=/{(.*)}\s*{(.*)}/.exec(a.ngClass);if(r){var o="{"+r[1]+", "+r[2]+"}";a.ngClass=o,c.attr("ng-class",o)}return angular.isDefined(a.multiple)?c.append("").removeAttr("multiple"):c.append(""),a.inputId&&(c.querySelectorAll("input.ui-select-search")[0].id=a.inputId),function(c,a,r,o,u){function d(e){if(g.open){var t=!1;if(t=window.jQuery?window.jQuery.contains(a[0],e.target):a[0].contains(e.target),!t&&!g.clickTriggeredSelect){var s;if(g.skipFocusser)s=!0;else{var i=["input","button","textarea","select"],n=angular.element(e.target).controller("uiSelect");s=n&&n!==g,s||(s=~i.indexOf(e.target.tagName.toLowerCase()))}g.close(s),c.$digest()}g.clickTriggeredSelect=!1}}function p(){var t=i(a);$=angular.element('
'),$[0].style.width=t.width+"px",$[0].style.height=t.height+"px",a.after($),m=a[0].style.width,e.find("body").append(a),a[0].style.position="absolute",a[0].style.left=t.left+"px",a[0].style.top=t.top+"px",a[0].style.width=t.width+"px"}function h(){null!==$&&($.replaceWith(a),$=null,a[0].style.position="",a[0].style.left="",a[0].style.top="",a[0].style.width=m,g.setFocus())}var g=o[0],f=o[1];g.generatedId=t.generateId(),g.baseTitle=r.title||"Select box",g.focusserTitle=g.baseTitle+" focus",g.focusserId="focusser-"+g.generatedId,g.closeOnSelect=function(){return angular.isDefined(r.closeOnSelect)?n(r.closeOnSelect)():t.closeOnSelect}(),c.$watch("skipFocusser",function(){var e=c.$eval(r.skipFocusser);g.skipFocusser=void 0!==e?e:t.skipFocusser}),g.onSelectCallback=n(r.onSelect),g.onRemoveCallback=n(r.onRemove),g.ngModel=f,g.choiceGrouped=function(e){return g.isGrouped&&e&&e.name},r.tabindex&&r.$observe("tabindex",function(e){g.focusInput.attr("tabindex",e),a.removeAttr("tabindex")}),c.$watch(function(){return c.$eval(r.searchEnabled)},function(e){g.searchEnabled=void 0!==e?e:t.searchEnabled}),c.$watch("sortable",function(){var e=c.$eval(r.sortable);g.sortable=void 0!==e?e:t.sortable}),r.$observe("limit",function(){g.limit=angular.isDefined(r.limit)?parseInt(r.limit,10):void 0}),c.$watch("removeSelected",function(){var e=c.$eval(r.removeSelected);g.removeSelected=void 0!==e?e:t.removeSelected}),r.$observe("disabled",function(){g.disabled=void 0!==r.disabled?r.disabled:!1}),r.$observe("resetSearchInput",function(){var e=c.$eval(r.resetSearchInput);g.resetSearchInput=void 0!==e?e:!0}),r.$observe("paste",function(){g.paste=c.$eval(r.paste)}),r.$observe("tagging",function(){if(void 0!==r.tagging){var e=c.$eval(r.tagging);g.tagging={isActivated:!0,fct:e!==!0?e:void 0}}else g.tagging={isActivated:!1,fct:void 0}}),r.$observe("taggingLabel",function(){void 0!==r.tagging&&("false"===r.taggingLabel?g.taggingLabel=!1:g.taggingLabel=void 0!==r.taggingLabel?r.taggingLabel:"(new)")}),r.$observe("taggingTokens",function(){if(void 0!==r.tagging){var e=void 0!==r.taggingTokens?r.taggingTokens.split("|"):[",","ENTER"];g.taggingTokens={isActivated:!0,tokens:e}}}),r.$observe("spinnerEnabled",function(){var e=c.$eval(r.spinnerEnabled);g.spinnerEnabled=void 0!==e?e:t.spinnerEnabled}),r.$observe("spinnerClass",function(){var e=r.spinnerClass;g.spinnerClass=void 0!==e?r.spinnerClass:t.spinnerClass}),angular.isDefined(r.autofocus)&&l(function(){g.setFocus()}),angular.isDefined(r.focusOn)&&c.$on(r.focusOn,function(){l(function(){g.setFocus()})}),e.on("click",d),c.$on("$destroy",function(){e.off("click",d)}),u(c,function(e){var t=angular.element("
").append(e),i=t.querySelectorAll(".ui-select-match");if(i.removeAttr("ui-select-match"),i.removeAttr("data-ui-select-match"),1!==i.length)throw s("transcluded","Expected 1 .ui-select-match but got '{0}'.",i.length);a.querySelectorAll(".ui-select-match").replaceWith(i);var c=t.querySelectorAll(".ui-select-choices");if(c.removeAttr("ui-select-choices"),c.removeAttr("data-ui-select-choices"),1!==c.length)throw s("transcluded","Expected 1 .ui-select-choices but got '{0}'.",c.length);a.querySelectorAll(".ui-select-choices").replaceWith(c);var n=t.querySelectorAll(".ui-select-no-choice");n.removeAttr("ui-select-no-choice"),n.removeAttr("data-ui-select-no-choice"),1==n.length&&a.querySelectorAll(".ui-select-no-choice").replaceWith(n)});var v=c.$eval(r.appendToBody);(void 0!==v?v:t.appendToBody)&&(c.$watch("$select.open",function(e){e?p():h()}),c.$on("$destroy",function(){h()}));var $=null,m="",b=null,w="direction-up";c.$watch("$select.open",function(){"auto"!==g.dropdownPosition&&"up"!==g.dropdownPosition||c.calculateDropdownPos()});var y=function(e,t){e=e||i(a),t=t||i(b),b[0].style.position="absolute",b[0].style.top=-1*t.height+"px",a.addClass(w)},x=function(e,t){a.removeClass(w),e=e||i(a),t=t||i(b),b[0].style.position="",b[0].style.top=""},E=function(){l(function(){if("up"===g.dropdownPosition)y();else{a.removeClass(w);var t=i(a),s=i(b),c=e[0].documentElement.scrollTop||e[0].body.scrollTop;t.top+t.height+s.height>c+e[0].documentElement.clientHeight?y(t,s):x(t,s)}b[0].style.opacity=1})},S=!1;c.calculateDropdownPos=function(){if(g.open){if(b=angular.element(a).querySelectorAll(".ui-select-dropdown"),0===b.length)return;if(""!==g.search||S||(b[0].style.opacity=0,S=!0),!i(b).height&&g.$animate&&g.$animate.on&&g.$animate.enabled(b)){var e=!0;g.$animate.on("enter",b,function(t,s){"close"===s&&e&&(E(),e=!1)})}else E()}else{if(null===b||0===b.length)return;b[0].style.opacity=0,b[0].style.position="",b[0].style.top="",a.removeClass(w)}}}}}}]),s.directive("uiSelectMatch",["uiSelectConfig",function(e){function t(e,t){return e[0].hasAttribute(t)?e.attr(t):e[0].hasAttribute("data-"+t)?e.attr("data-"+t):e[0].hasAttribute("x-"+t)?e.attr("x-"+t):void 0}return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(s){s.addClass("ui-select-match");var i=s.parent(),c=t(i,"theme")||e.theme,n=angular.isDefined(t(i,"multiple"));return c+(n?"/match-multiple.tpl.html":"/match.tpl.html")},link:function(t,s,i,c){function n(e){c.allowClear=angular.isDefined(e)?""===e?!0:"true"===e.toLowerCase():!1}c.lockChoiceExpression=i.uiLockChoice,i.$observe("placeholder",function(t){c.placeholder=void 0!==t?t:e.placeholder}),i.$observe("allowClear",n),n(i.allowClear),c.multiple&&c.sizeSearchInput()}}}]),s.directive("uiSelectMultiple",["uiSelectMinErr","$timeout",function(t,s){return{restrict:"EA",require:["^uiSelect","^ngModel"],controller:["$scope","$timeout",function(e,t){var s,i=this,c=e.$select;angular.isUndefined(c.selected)&&(c.selected=[]),e.$evalAsync(function(){s=e.ngModel}),i.activeMatchIndex=-1,i.updateModel=function(){s.$setViewValue(Date.now()),i.refreshComponent()},i.refreshComponent=function(){c.refreshItems&&c.refreshItems(),c.sizeSearchInput&&c.sizeSearchInput()},i.removeChoice=function(s){if(c.isLocked(null,s))return!1;var n=c.selected[s],l={};return l[c.parserResult.itemName]=n,c.selected.splice(s,1),i.activeMatchIndex=-1,c.sizeSearchInput(),t(function(){c.onRemoveCallback(e,{$item:n,$model:c.parserResult.modelMapper(e,l)})}),i.updateModel(),!0},i.getPlaceholder=function(){return c.selected&&c.selected.length?void 0:c.placeholder}}],controllerAs:"$selectMultiple",link:function(i,c,n,l){function a(e){return angular.isNumber(e.selectionStart)?e.selectionStart:e.value.length}function r(t){function s(){switch(t){case e.LEFT:return~h.activeMatchIndex?u:l;case e.RIGHT:return~h.activeMatchIndex&&r!==l?o:(d.activate(),!1);case e.BACKSPACE:return~h.activeMatchIndex?h.removeChoice(r)?u:r:l;case e.DELETE:return~h.activeMatchIndex?(h.removeChoice(h.activeMatchIndex),r):!1}}var i=a(d.searchInput[0]),c=d.selected.length,n=0,l=c-1,r=h.activeMatchIndex,o=h.activeMatchIndex+1,u=h.activeMatchIndex-1,p=r;return i>0||d.search.length&&t==e.RIGHT?!1:(d.close(),p=s(),d.selected.length&&p!==!1?h.activeMatchIndex=Math.min(l,Math.max(n,p)):h.activeMatchIndex=-1,!0)}function o(e){if(void 0===e||void 0===d.search)return!1;var t=e.filter(function(e){return void 0===d.search.toUpperCase()||void 0===e?!1:e.toUpperCase()===d.search.toUpperCase()}).length>0;return t}function u(e,t){var s=-1;if(angular.isArray(e))for(var i=angular.copy(e),c=0;c=0;c--)t={},t[d.parserResult.itemName]=d.selected[c],e=d.parserResult.modelMapper(i,t),s.unshift(e);return s}),p.$formatters.unshift(function(e){var t,s=d.parserResult&&d.parserResult.source(i,{$select:{search:""}}),c={};if(!s)return e;var n=[],l=function(e,s){if(e&&e.length){for(var l=e.length-1;l>=0;l--){if(c[d.parserResult.itemName]=e[l],t=d.parserResult.modelMapper(i,c),d.parserResult.trackByExp){var a=/(\w*)\./.exec(d.parserResult.trackByExp),r=/\.([^\s]+)/.exec(d.parserResult.trackByExp);if(a&&a.length>0&&a[1]==d.parserResult.itemName&&r&&r.length>0&&t[r[1]]==s[r[1]])return n.unshift(e[l]),!0}if(angular.equals(t,s))return n.unshift(e[l]),!0}return!1}};if(!e)return n;for(var a=e.length-1;a>=0;a--)l(d.selected,e[a])||l(s,e[a])||n.unshift(e[a]);return n}),i.$watchCollection(function(){return p.$modelValue},function(e,t){t!=e&&(angular.isDefined(p.$modelValue)&&(p.$modelValue=null),h.refreshComponent())}),p.$render=function(){if(!angular.isArray(p.$viewValue)){if(!angular.isUndefined(p.$viewValue)&&null!==p.$viewValue)throw t("multiarr","Expected model value to be array but got '{0}'",p.$viewValue);p.$viewValue=[]}d.selected=p.$viewValue,h.refreshComponent(),i.$evalAsync()},i.$on("uis:select",function(e,t){d.selected.length>=d.limit||(d.selected.push(t),h.updateModel())}),i.$on("uis:activate",function(){h.activeMatchIndex=-1}),i.$watch("$select.disabled",function(e,t){t&&!e&&d.sizeSearchInput()}),d.searchInput.on("keydown",function(t){var s=t.which;i.$apply(function(){var i=!1;e.isHorizontalMovement(s)&&(i=r(s)),i&&s!=e.TAB&&(t.preventDefault(),t.stopPropagation())})}),d.searchInput.on("keyup",function(t){if(e.isVerticalMovement(t.which)||i.$evalAsync(function(){d.activeIndex=d.taggingLabel===!1?-1:0}),d.tagging.isActivated&&d.search.length>0){if(t.which===e.TAB||e.isControl(t)||e.isFunctionKey(t)||t.which===e.ESC||e.isVerticalMovement(t.which))return;if(d.activeIndex=d.taggingLabel===!1?-1:0,d.taggingLabel===!1)return;var s,c,n,l,a=angular.copy(d.items),r=angular.copy(d.items),p=!1,h=-1;if(void 0!==d.tagging.fct){if(n=d.$filter("filter")(a,{isTag:!0}),n.length>0&&(l=n[0]),a.length>0&&l&&(p=!0,a=a.slice(1,a.length),r=r.slice(1,r.length)),s=d.tagging.fct(d.search),r.some(function(e){return angular.equals(e,s)})||d.selected.some(function(e){return angular.equals(e,s)}))return void i.$evalAsync(function(){d.activeIndex=0,d.items=a});s&&(s.isTag=!0)}else{if(n=d.$filter("filter")(a,function(e){return e.match(d.taggingLabel)}),n.length>0&&(l=n[0]),c=a[0],void 0!==c&&a.length>0&&l&&(p=!0,a=a.slice(1,a.length),r=r.slice(1,r.length)),s=d.search+" "+d.taggingLabel,u(d.selected,d.search)>-1)return;if(o(r.concat(d.selected)))return void(p&&(a=r,i.$evalAsync(function(){d.activeIndex=0,d.items=a})));if(o(r))return void(p&&(d.items=r.slice(1,r.length)))}p&&(h=u(d.selected,s)),h>-1?a=a.slice(h+1,a.length-1):(a=[],s&&a.push(s),a=a.concat(r)),i.$evalAsync(function(){if(d.activeIndex=0,d.items=a,d.isGrouped){var e=s?a.slice(1):a;d.setItemsFn(e),s&&(d.items.unshift(s),d.groups.unshift({name:"",items:[s],tagging:!0}))}})}}),d.searchInput.on("blur",function(){s(function(){h.activeMatchIndex=-1})})}}}]),s.directive("uiSelectNoChoice",["uiSelectConfig",function(e){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){t.addClass("ui-select-no-choice");var s=t.parent().attr("theme")||e.theme;return s+"/no-choice.tpl.html"}}}]),s.directive("uiSelectSingle",["$timeout","$compile",function(t,s){return{restrict:"EA",require:["^uiSelect","^ngModel"],link:function(i,c,n,l){var a=l[0],r=l[1];r.$parsers.unshift(function(e){var t,s={};return s[a.parserResult.itemName]=e,t=a.parserResult.modelMapper(i,s)}),r.$formatters.unshift(function(e){var t,s=a.parserResult&&a.parserResult.source(i,{$select:{search:""}}),c={};if(s){var n=function(s){return c[a.parserResult.itemName]=s,t=a.parserResult.modelMapper(i,c),t===e};if(a.selected&&n(a.selected))return a.selected;for(var l=s.length-1;l>=0;l--)if(n(s[l]))return s[l]}return e}),i.$watch("$select.selected",function(e){r.$viewValue!==e&&r.$setViewValue(e)}),r.$render=function(){a.selected=r.$viewValue},i.$on("uis:select",function(e,t){a.selected=t}),i.$on("uis:close",function(e,s){t(function(){a.focusser.prop("disabled",!1),s||a.focusser[0].focus()},0,!1)}),i.$on("uis:activate",function(){o.prop("disabled",!0)});var o=angular.element("");s(o)(i),a.focusser=o,a.focusInput=o,c.parent().append(o),o.bind("focus",function(){i.$evalAsync(function(){a.focus=!0})}),o.bind("blur",function(){i.$evalAsync(function(){a.focus=!1})}),o.bind("keydown",function(t){return t.which===e.BACKSPACE?(t.preventDefault(),t.stopPropagation(),a.select(void 0),void i.$apply()):void(t.which===e.TAB||e.isControl(t)||e.isFunctionKey(t)||t.which===e.ESC||(t.which!=e.DOWN&&t.which!=e.UP&&t.which!=e.ENTER&&t.which!=e.SPACE||(t.preventDefault(),t.stopPropagation(),a.activate()),i.$digest()))}),o.bind("keyup input",function(t){t.which===e.TAB||e.isControl(t)||e.isFunctionKey(t)||t.which===e.ESC||t.which==e.ENTER||t.which===e.BACKSPACE||(a.activate(o.val()),o.val(""),i.$digest())})}}}]),s.directive("uiSelectSort",["$timeout","uiSelectConfig","uiSelectMinErr",function(e,t,s){return{require:["^^uiSelect","^ngModel"],link:function(t,i,c,n){if(null===t[c.uiSelectSort])throw s("sort","Expected a list to sort");var l=n[0],a=n[1],r=angular.extend({axis:"horizontal"},t.$eval(c.uiSelectSortOptions)),o=r.axis,u="dragging",d="dropping",p="dropping-before",h="dropping-after";t.$watch(function(){return l.sortable},function(e){e?i.attr("draggable",!0):i.removeAttr("draggable")}),i.on("dragstart",function(e){i.addClass(u),(e.dataTransfer||e.originalEvent.dataTransfer).setData("text",t.$index.toString())}),i.on("dragend",function(){v(u)});var g,f=function(e,t){this.splice(t,0,this.splice(e,1)[0])},v=function(e){angular.forEach(l.$element.querySelectorAll("."+e),function(t){angular.element(t).removeClass(e)})},$=function(e){e.preventDefault();var t="vertical"===o?e.offsetY||e.layerY||(e.originalEvent?e.originalEvent.offsetY:0):e.offsetX||e.layerX||(e.originalEvent?e.originalEvent.offsetX:0);t
  • '),e.put("bootstrap/match-multiple.tpl.html",' × '),e.put("bootstrap/match.tpl.html",'
    {{$select.placeholder}}
    '),e.put("bootstrap/no-choice.tpl.html",''),e.put("bootstrap/select-multiple.tpl.html",''),e.put("bootstrap/select.tpl.html",''),e.put("select2/choices.tpl.html",'
    '),e.put("select2/match-multiple.tpl.html",'
  • '),e.put("select2/match.tpl.html",'{{$select.placeholder}} '),e.put("select2/no-choice.tpl.html",''),e.put("select2/select-multiple.tpl.html",'
    '),e.put("select2/select.tpl.html",'
    '),e.put("selectize/choices.tpl.html",'
    '),e.put("selectize/match-multiple.tpl.html",'
    ×
    '),e.put("selectize/match.tpl.html",'
    {{$select.placeholder}}
    '),e.put("selectize/no-choice.tpl.html",'
    '),e.put("selectize/select-multiple.tpl.html",'
    '),e.put("selectize/select.tpl.html",'
    ')}]); +!function(){"use strict";var e={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,COMMAND:91,MAP:{91:"COMMAND",8:"BACKSPACE",9:"TAB",13:"ENTER",16:"SHIFT",17:"CTRL",18:"ALT",19:"PAUSEBREAK",20:"CAPSLOCK",27:"ESC",32:"SPACE",33:"PAGE_UP",34:"PAGE_DOWN",35:"END",36:"HOME",37:"LEFT",38:"UP",39:"RIGHT",40:"DOWN",43:"+",44:"PRINTSCREEN",45:"INSERT",46:"DELETE",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NUMLOCK",145:"SCROLLLOCK",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},isControl:function(t){var s=t.which;switch(s){case e.COMMAND:case e.SHIFT:case e.CTRL:case e.ALT:return!0}return!!(t.metaKey||t.ctrlKey||t.altKey)},isFunctionKey:function(e){return e=e.which?e.which:e,e>=112&&e<=123},isVerticalMovement:function(t){return~[e.UP,e.DOWN].indexOf(t)},isHorizontalMovement:function(t){return~[e.LEFT,e.RIGHT,e.BACKSPACE,e.DELETE].indexOf(t)},toSeparator:function(t){var s={ENTER:"\n",TAB:"\t",SPACE:" "}[t];return s?s:e[t]?void 0:t}};void 0===angular.element.prototype.querySelectorAll&&(angular.element.prototype.querySelectorAll=function(e){return angular.element(this[0].querySelectorAll(e))}),void 0===angular.element.prototype.closest&&(angular.element.prototype.closest=function(e){for(var t=this[0],s=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;t;){if(s.bind(t)(e))return t;t=t.parentElement}return!1});var t=0,s=angular.module("ui.select",[]).constant("uiSelectConfig",{theme:"bootstrap",searchEnabled:!0,sortable:!1,placeholder:"",refreshDelay:1e3,closeOnSelect:!0,skipFocusser:!1,dropdownPosition:"auto",removeSelected:!0,resetSearchInput:!0,generateId:function(){return t++},appendToBody:!1,spinnerEnabled:!1,spinnerClass:"glyphicon-refresh ui-select-spin",backspaceReset:!0}).service("uiSelectMinErr",function(){var e=angular.$$minErr("ui.select");return function(){var t=e.apply(this,arguments),s=t.message.replace(new RegExp("\nhttp://errors.angularjs.org/.*"),"");return new Error(s)}}).directive("uisTranscludeAppend",function(){return{link:function(e,t,s,i,c){c(e,function(e){t.append(e)})}}}).filter("highlight",function(){function e(e){return(""+e).replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(t,s){return s&&t?(""+t).replace(new RegExp(e(s),"gi"),'$&'):t}}).factory("uisOffset",["$document","$window",function(e,t){return function(s){var i=s[0].getBoundingClientRect();return{width:i.width||s.prop("offsetWidth"),height:i.height||s.prop("offsetHeight"),top:i.top+(t.pageYOffset||e[0].documentElement.scrollTop),left:i.left+(t.pageXOffset||e[0].documentElement.scrollLeft)}}}]);s.factory("$$uisDebounce",["$timeout",function(e){return function(t,s){var i;return function(){var c=this,l=Array.prototype.slice.call(arguments);i&&e.cancel(i),i=e(function(){t.apply(c,l)},s)}}}]),s.directive("uiSelectChoices",["uiSelectConfig","uisRepeatParser","uiSelectMinErr","$compile","$window",function(e,t,s,i,c){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){t.addClass("ui-select-choices");var s=t.parent().attr("theme")||e.theme;return s+"/choices.tpl.html"},compile:function(i,l){if(!l.repeat)throw s("repeat","Expected 'repeat' expression.");var n=l.groupBy,a=l.groupFilter;if(n){var r=i.querySelectorAll(".ui-select-choices-group");if(1!==r.length)throw s("rows","Expected 1 .ui-select-choices-group but got '{0}'.",r.length);r.attr("ng-repeat",t.getGroupNgRepeatExpression())}var o=t.parse(l.repeat),u=i.querySelectorAll(".ui-select-choices-row");if(1!==u.length)throw s("rows","Expected 1 .ui-select-choices-row but got '{0}'.",u.length);u.attr("ng-repeat",o.repeatExpression(n)).attr("ng-if","$select.open");var d=i.querySelectorAll(".ui-select-choices-row-inner");if(1!==d.length)throw s("rows","Expected 1 .ui-select-choices-row-inner but got '{0}'.",d.length);d.attr("uis-transclude-append","");var p=c.document.addEventListener?u:d;return p.attr("ng-click","$select.select("+o.itemName+",$select.skipFocusser,$event)"),function(t,s,c,l){l.parseRepeatAttr(c.repeat,n,a),l.disableChoiceExpression=c.uiDisableChoice,l.onHighlightCallback=c.onHighlight,l.dropdownPosition=c.position?c.position.toLowerCase():e.dropdownPosition,t.$watch("$select.search",function(e){e&&!l.open&&l.multiple&&l.activate(!1,!0),l.activeIndex=l.tagging.isActivated||l.allowFree.isActivated?-1:0,!c.minimumInputLength||l.search.length>=c.minimumInputLength?l.refresh(c.refresh):l.items=[]}),c.$observe("refreshDelay",function(){var s=t.$eval(c.refreshDelay);l.refreshDelay=void 0!==s?s:e.refreshDelay}),t.$watch("$select.open",function(e){e?(i.attr("role","listbox"),l.refresh(c.refresh)):s.removeAttr("role")})}}}}]),s.controller("uiSelectCtrl",["$scope","$element","$timeout","$filter","$$uisDebounce","uisRepeatParser","uiSelectMinErr","uiSelectConfig","$parse","$injector","$window",function(t,s,i,c,l,n,a,r,o,u,d){function p(e,t,s){if(e.findIndex)return e.findIndex(t,s);for(var i,c=Object(e),l=c.length>>>0,n=0;n-1&&S.splice(s,1)}function v(e){return S.indexOf(e)>-1}function m(e){function t(e,t){var s=i.indexOf(e);t&&s===-1&&i.push(e),!t&&s>-1&&i.splice(s,1)}function s(e){return i.indexOf(e)>-1}if(e){var i=[];w.isLocked=function(e,i){var c=!1,l=w.selected[i];return l&&(e?(c=!!e.$eval(w.lockChoiceExpression),t(l,c)):c=s(l)),c}}}function $(t){var s=!0;switch(t){case e.DOWN:if(!w.open&&w.multiple)w.activate(!1,!0);else if(w.activeIndexc)for(var l=--w.activeIndex;v(w.items[l])&&l>c;)w.activeIndex=--l;break;case e.TAB:w.multiple&&!w.open||w.select(w.items[w.activeIndex],!0);break;case e.ENTER:w.open&&(w.tagging.isActivated||w.activeIndex>=0)?w.select(w.items[w.activeIndex],w.skipFocusser):w.activate(!1,!0);break;case e.ESC:w.close();break;default:s=!1}return s}function b(){var e=s.querySelectorAll(".ui-select-choices-content"),t=e.querySelectorAll(".ui-select-choices-row");if(t.length<1)throw a("choices","Expected multiple .ui-select-choices-row but got '{0}'.",t.length);if(!(w.activeIndex<0)){var i=t[w.activeIndex],c=i.offsetTop+i.clientHeight-e[0].scrollTop,l=e[0].offsetHeight;c>l?e[0].scrollTop+=c-l:c=w.items.length?0:w.activeIndex,w.activeIndex===-1&&w.taggingLabel!==!1&&(w.activeIndex=0);var l=s.querySelectorAll(".ui-select-choices-content"),n=s.querySelectorAll(".ui-select-search");if(w.$animate&&w.$animate.on&&w.$animate.enabled(l[0])){var a=function(t,s){"start"===s&&0===w.items.length?(w.$animate.off("removeClass",n[0],a),i(function(){w.focusSearchInput(e)})):"close"===s&&(w.$animate.off("enter",l[0],a),i(function(){w.focusSearchInput(e)}))};w.items.length>0?w.$animate.on("enter",l[0],a):w.$animate.on("removeClass",n[0],a)}else i(function(){w.focusSearchInput(e),!w.tagging.isActivated&&w.items.length>1&&b()})}},w.focusSearchInput=function(e){w.search=e||w.search,w.searchInput[0].focus()},w.findGroupByName=function(e){return w.groups&&w.groups.filter(function(t){return t.name===e})[0]},w.parseRepeatAttr=function(e,s,i){function c(e){var c=t.$eval(s);if(w.groups=[],angular.forEach(e,function(e){var t=angular.isFunction(c)?c(e):e[c],s=w.findGroupByName(t);s?s.items.push(e):w.groups.push({name:t,items:[e]})}),i){var l=t.$eval(i);angular.isFunction(l)?w.groups=l(w.groups):angular.isArray(l)&&(w.groups=g(w.groups,l))}w.items=[],w.groups.forEach(function(e){w.items=w.items.concat(e.items)})}function l(e){w.items=e}w.setItemsFn=s?c:l,w.parserResult=n.parse(e),w.isGrouped=!!s,w.itemProperty=w.parserResult.itemName;var r=w.parserResult.source,u=function(){var e=r(t);t.$uisSource=Object.keys(e).map(function(t){var s={};return s[w.parserResult.keyName]=t,s.value=e[t],s})};w.parserResult.keyName&&(u(),w.parserResult.source=o("$uisSource"+w.parserResult.filters),t.$watch(r,function(e,t){e!==t&&u()},!0)),w.refreshItems=function(e){e=e||w.parserResult.source(t);var s=w.selected;if(w.isEmpty()||angular.isArray(s)&&!s.length||!w.multiple||!w.removeSelected)w.setItemsFn(e);else if(void 0!==e&&null!==e){var i=e.filter(function(e){return angular.isArray(s)?s.every(function(t){return!angular.equals(e,t)}):!angular.equals(e,s)});w.setItemsFn(i)}"auto"!==w.dropdownPosition&&"up"!==w.dropdownPosition||t.calculateDropdownPos(),t.$broadcast("uis:refresh")},t.$watchCollection(w.parserResult.source,function(e){if(void 0===e||null===e)w.items=[];else{if(!angular.isArray(e))throw a("items","Expected an array but got '{0}'.",e);w.refreshItems(e),angular.isDefined(w.ngModel.$modelValue)&&(w.ngModel.$modelValue=null)}})};var y;w.refresh=function(e){void 0!==e&&(y&&i.cancel(y),y=i(function(){var s=t.$eval(e);s&&angular.isFunction(s.then)&&!w.refreshing&&(w.refreshing=!0,s["finally"](function(){w.refreshing=!1}))},w.refreshDelay))},w.isActive=function(e){if(!w.open)return!1;var t=w.items.indexOf(e[w.itemProperty]),s=t==w.activeIndex;return!(!s||t<0)&&(s&&!angular.isUndefined(w.onHighlightCallback)&&e.$eval(w.onHighlightCallback),s)};var E=function(e){return w.selected&&angular.isArray(w.selected)&&w.selected.filter(function(t){return angular.equals(t,e)}).length>0},S=[];w.isDisabled=function(e){if(w.open){var t=e[w.itemProperty],s=w.items.indexOf(t),i=!1;if(s>=0&&(angular.isDefined(w.disableChoiceExpression)||w.multiple)){if(t.isTag)return!1;w.multiple&&(i=E(t)),!i&&angular.isDefined(w.disableChoiceExpression)&&(i=!!e.$eval(w.disableChoiceExpression)),f(t,i)}return i}},w.select=function(e,s,i){if(void 0===e||!v(e)){if(!(w.items||w.search||w.tagging.isActivated||w.allowFree.isActivated))return;if(!e||!v(e)){var c=i?i.type:"";if(w.clickTriggeredSelect=!1,"click"!==c&&"touchend"!==c||!e||(w.clickTriggeredSelect=!0),(w.tagging.isActivated||w.allowFree.isActivated)&&w.clickTriggeredSelect===!1&&"clear"!==c){if(w.taggingLabel===!1||w.allowFree.isActivated)if(w.activeIndex<0){if(void 0===e){var l=w.tagging.fct||w.allowFree.fct;e=void 0!==l?l(w.search):w.search}if(!e||angular.equals(w.items[0],e))return}else e=w.items[w.activeIndex];else if(0===w.activeIndex){if(void 0===e)return;if(void 0!==w.tagging.fct&&"string"==typeof e){if(e=w.tagging.fct(e),!e)return}else"string"==typeof e&&(e=e.replace(w.taggingLabel,"").trim())}if(E(e))return void w.close(s)}h(),t.$broadcast("uis:select",e),w.closeOnSelect&&w.close(s)}}},w.close=function(e){w.open&&(w.ngModel&&w.ngModel.$setTouched&&w.ngModel.$setTouched(),w.open=!1,h(),t.$broadcast("uis:close",e))},w.setFocus=function(){w.focus||w.focusInput[0].focus()},w.clear=function(e){e.type="clear",w.select(void 0,!0,e),e.stopPropagation(),i(function(){w.focusser[0].focus()},0,!1)},w.toggle=function(e){w.open?(w.close(),e.preventDefault(),e.stopPropagation()):w.activate()},w.isLocked=function(){return!1},t.$watch(function(){return angular.isDefined(w.lockChoiceExpression)&&""!==w.lockChoiceExpression},m);var I=null,C=!1;w.sizeSearchInput=function(){var e=w.searchInput[0],s=w.searchInput.parent().parent()[0],c=function(){return s.clientWidth*!!e.offsetParent},l=function(t){if(0===t)return!1;var s=t-e.offsetLeft-10;return s<50&&(s=t),w.searchInput.css("width",s+"px"),!0};w.searchInput.css("width","10px"),i(function(){null!==I||l(c())||(I=t.$watch(function(){C||(C=!0,t.$$postDigest(function(){C=!1,l(c())&&(I(),I=null)}))},angular.noop))})},w.searchInput.on("blur",function(){w.allowFree.isActivated&&w.search.length>0&&i(function(){w.searchInput.triggerHandler("tagged");var e=w.search.trim(),t=w.tagging.fct||w.allowFree.fct;t&&(e=t(e)),e&&w.select(e,!0)})}),w.searchInput.on("keydown",function(s){var c=s.which;~[e.ENTER,e.ESC].indexOf(c)&&(s.preventDefault(),s.stopPropagation()),t.$apply(function(){var t=!1;if(w.items.length>0||w.tagging.isActivated||w.allowFree.isActivated){if($(c)||w.searchEnabled||(s.preventDefault(),s.stopPropagation()),w.taggingTokens.isActivated)for(var l=0;l0&&(t=!0);else w.allowFree.isActivated&&w.search.length>0&&~[e.ENTER,e.TAB].indexOf(c)&&(t=!0);t&&i(function(){w.searchInput.triggerHandler("tagged");var t=w.search.replace(e.MAP[s.keyCode],"").trim(),i=w.tagging.fct||w.allowFree.fct;i&&(t=i(t)),t&&w.select(t,!0)})}}),e.isVerticalMovement(c)&&w.items.length>0&&b(),c!==e.ENTER&&c!==e.ESC||(s.preventDefault(),s.stopPropagation())}),w.searchInput.on("paste",function(t){var s;if(s=window.clipboardData&&window.clipboardData.getData?window.clipboardData.getData("Text"):(t.originalEvent||t).clipboardData.getData("text/plain"),s=w.search+s,s&&s.length>0)if(w.taggingTokens.isActivated){for(var i=[],c=0;c-1){i=s.split(l);break}}0===i.length&&(i=[s]);var n=w.search;angular.forEach(i,function(e){var t=w.tagging.fct?w.tagging.fct(e):e;t&&w.select(t,!0)}),w.search=n||x,t.preventDefault(),t.stopPropagation()}else w.paste&&(w.paste(s),w.search=x,t.preventDefault(),t.stopPropagation())}),w.searchInput.on("tagged",function(){i(function(){h()})});var A=l(function(){w.sizeSearchInput()},50);angular.element(d).bind("resize",A),t.$on("$destroy",function(){w.searchInput.off("keyup keydown tagged blur paste"),angular.element(d).off("resize",A)}),t.$watch("$select.activeIndex",function(e){e&&s.find("input").attr("aria-activedescendant","ui-select-choices-row-"+w.generatedId+"-"+e)}),t.$watch("$select.open",function(e){e||s.find("input").removeAttr("aria-activedescendant")})}]),s.directive("uiSelect",["$document","uiSelectConfig","uiSelectMinErr","uisOffset","$compile","$parse","$timeout",function(e,t,s,i,c,l,n){return{restrict:"EA",templateUrl:function(e,s){var i=s.theme||t.theme;return i+(angular.isDefined(s.multiple)?"/select-multiple.tpl.html":"/select.tpl.html")},replace:!0,transclude:!0,require:["uiSelect","^ngModel"],scope:!0,controller:"uiSelectCtrl",controllerAs:"$select",compile:function(c,a){var r=/{(.*)}\s*{(.*)}/.exec(a.ngClass);if(r){var o="{"+r[1]+", "+r[2]+"}";a.ngClass=o,c.attr("ng-class",o)}return angular.isDefined(a.multiple)?c.append("").removeAttr("multiple"):c.append(""),a.inputId&&(c.querySelectorAll("input.ui-select-search")[0].id=a.inputId),function(c,a,r,o,u){function d(e){if(g.open){var t=!1;if(t=window.jQuery?window.jQuery.contains(a[0],e.target):a[0].contains(e.target),!t&&!g.clickTriggeredSelect){var s;if(g.skipFocusser)s=!0;else{var i=["input","button","textarea","select"],l=angular.element(e.target).controller("uiSelect");s=l&&l!==g,s||(s=~i.indexOf(e.target.tagName.toLowerCase()))}g.close(s),c.$digest()}g.clickTriggeredSelect=!1}}function p(){var t=i(a);m=angular.element('
    '),m[0].style.width=t.width+"px",m[0].style.height=t.height+"px",a.after(m),$=a[0].style.width,e.find("body").append(a),a[0].style.position="absolute",a[0].style.left=t.left+"px",a[0].style.top=t.top+"px",a[0].style.width=t.width+"px"}function h(){null!==m&&(m.replaceWith(a),m=null,a[0].style.position="",a[0].style.left="",a[0].style.top="",a[0].style.width=$,g.setFocus())}var g=o[0],f=o[1];g.generatedId=t.generateId(),g.baseTitle=r.title||"Select box",g.focusserTitle=g.baseTitle+" focus",g.focusserId="focusser-"+g.generatedId,g.closeOnSelect=function(){return angular.isDefined(r.closeOnSelect)?l(r.closeOnSelect)():t.closeOnSelect}(),c.$watch("skipFocusser",function(){var e=c.$eval(r.skipFocusser);g.skipFocusser=void 0!==e?e:t.skipFocusser}),g.onSelectCallback=l(r.onSelect),g.onRemoveCallback=l(r.onRemove),g.ngModel=f,g.choiceGrouped=function(e){return g.isGrouped&&e&&e.name},r.tabindex&&r.$observe("tabindex",function(e){g.focusInput.attr("tabindex",e),a.removeAttr("tabindex")}),c.$watch(function(){return c.$eval(r.searchEnabled)},function(e){g.searchEnabled=void 0!==e?e:t.searchEnabled}),c.$watch("sortable",function(){var e=c.$eval(r.sortable);g.sortable=void 0!==e?e:t.sortable}),r.$observe("backspaceReset",function(){var e=c.$eval(r.backspaceReset);g.backspaceReset=void 0===e||e}),r.$observe("limit",function(){g.limit=angular.isDefined(r.limit)?parseInt(r.limit,10):void 0}),c.$watch("removeSelected",function(){var e=c.$eval(r.removeSelected);g.removeSelected=void 0!==e?e:t.removeSelected}),r.$observe("disabled",function(){g.disabled=void 0!==r.disabled&&r.disabled}),r.$observe("resetSearchInput",function(){var e=c.$eval(r.resetSearchInput);g.resetSearchInput=void 0===e||e}),r.$observe("paste",function(){g.paste=c.$eval(r.paste)}),r.$observe("tagging",function(){if(void 0!==r.tagging){var e=c.$eval(r.tagging);g.tagging={isActivated:!0,fct:e!==!0?e:void 0}}else g.tagging={isActivated:!1,fct:void 0}}),r.$observe("allowFree",function(){if(void 0!==r.allowFree){var e=c.$eval(r.allowFree);"undefined"!=typeof e&&(g.allowFree={isActivated:!0,fct:e})}}),r.$observe("taggingLabel",function(){void 0!==r.tagging&&("false"===r.taggingLabel?g.taggingLabel=!1:g.taggingLabel=void 0!==r.taggingLabel?r.taggingLabel:"(new)")}),r.$observe("taggingTokens",function(){if(void 0!==r.tagging){var e=void 0!==r.taggingTokens?r.taggingTokens.split("|"):[",","ENTER"];g.taggingTokens={isActivated:!0,tokens:e}}}),r.$observe("spinnerEnabled",function(){var e=c.$eval(r.spinnerEnabled);g.spinnerEnabled=void 0!==e?e:t.spinnerEnabled}),r.$observe("spinnerClass",function(){var e=r.spinnerClass;g.spinnerClass=void 0!==e?r.spinnerClass:t.spinnerClass}),angular.isDefined(r.autofocus)&&n(function(){g.setFocus()}),angular.isDefined(r.focusOn)&&c.$on(r.focusOn,function(){n(function(){g.setFocus()})}),e.on("click",d),c.$on("$destroy",function(){e.off("click",d)}),u(c,function(e){var t=angular.element("
    ").append(e),i=t.querySelectorAll(".ui-select-match");if(i.removeAttr("ui-select-match"),i.removeAttr("data-ui-select-match"),1!==i.length)throw s("transcluded","Expected 1 .ui-select-match but got '{0}'.",i.length);a.querySelectorAll(".ui-select-match").replaceWith(i);var c=t.querySelectorAll(".ui-select-choices");if(c.removeAttr("ui-select-choices"),c.removeAttr("data-ui-select-choices"),1!==c.length)throw s("transcluded","Expected 1 .ui-select-choices but got '{0}'.",c.length);a.querySelectorAll(".ui-select-choices").replaceWith(c);var l=t.querySelectorAll(".ui-select-no-choice");l.removeAttr("ui-select-no-choice"),l.removeAttr("data-ui-select-no-choice"),1==l.length&&a.querySelectorAll(".ui-select-no-choice").replaceWith(l)});var v=c.$eval(r.appendToBody);(void 0!==v?v:t.appendToBody)&&(c.$watch("$select.open",function(e){e?p():h()}),c.$on("$destroy",function(){h()}));var m=null,$="",b=null,w="direction-up";c.$watch("$select.open",function(){"auto"!==g.dropdownPosition&&"up"!==g.dropdownPosition||c.calculateDropdownPos()});var x=function(e,t){e=e||i(a),t=t||i(b),b[0].style.position="absolute",b[0].style.top=t.height*-1+"px",a.addClass(w)},y=function(e,t){a.removeClass(w),e=e||i(a),t=t||i(b),b[0].style.position="",b[0].style.top=""},E=function(){n(function(){if("up"===g.dropdownPosition)x();else{a.removeClass(w);var t=i(a),s=i(b),c=e[0].documentElement.scrollTop||e[0].body.scrollTop;t.top+t.height+s.height>c+e[0].documentElement.clientHeight?x(t,s):y(t,s)}b[0].style.opacity=1})},S=!1;c.calculateDropdownPos=function(){if(g.open){if(b=angular.element(a).querySelectorAll(".ui-select-dropdown"),0===b.length)return;if(""!==g.search||S||(b[0].style.opacity=0,S=!0),!i(b).height&&g.$animate&&g.$animate.on&&g.$animate.enabled(b)){var e=!0;g.$animate.on("enter",b,function(t,s){"close"===s&&e&&(E(),e=!1)})}else E()}else{if(null===b||0===b.length)return;b[0].style.opacity=0,b[0].style.position="",b[0].style.top="",a.removeClass(w)}}}}}}]),s.directive("uiSelectMatch",["uiSelectConfig",function(e){function t(e,t){return e[0].hasAttribute(t)?e.attr(t):e[0].hasAttribute("data-"+t)?e.attr("data-"+t):e[0].hasAttribute("x-"+t)?e.attr("x-"+t):void 0}return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(s){s.addClass("ui-select-match");var i=s.parent(),c=t(i,"theme")||e.theme,l=angular.isDefined(t(i,"multiple"));return c+(l?"/match-multiple.tpl.html":"/match.tpl.html")},link:function(t,s,i,c){function l(e){c.allowClear=!!angular.isDefined(e)&&(""===e||"true"===e.toLowerCase())}c.lockChoiceExpression=i.uiLockChoice,i.$observe("placeholder",function(t){c.placeholder=void 0!==t?t:e.placeholder}),i.$observe("allowClear",l),l(i.allowClear),c.multiple&&c.sizeSearchInput()}}}]),s.directive("uiSelectMultiple",["uiSelectMinErr","$timeout",function(t,s){return{restrict:"EA",require:["^uiSelect","^ngModel"],controller:["$scope","$timeout",function(e,t){var s,i=this,c=e.$select;angular.isUndefined(c.selected)&&(c.selected=[]),e.$evalAsync(function(){s=e.ngModel}),i.activeMatchIndex=-1,i.updateModel=function(){s.$setViewValue(Date.now()),i.refreshComponent()},i.refreshComponent=function(){c.refreshItems&&c.refreshItems(),c.sizeSearchInput&&c.sizeSearchInput()},i.removeChoice=function(s){if(c.isLocked(null,s))return!1;var l=c.selected[s],n={};return n[c.parserResult.itemName]=l,c.selected.splice(s,1),i.activeMatchIndex=-1,c.sizeSearchInput(),t(function(){c.onRemoveCallback(e,{$item:l,$model:c.parserResult.modelMapper(e,n)})}),i.updateModel(),!0},i.getPlaceholder=function(){if(!c.selected||!c.selected.length)return c.placeholder}}],controllerAs:"$selectMultiple",link:function(i,c,l,n){function a(e){return angular.isNumber(e.selectionStart)?e.selectionStart:e.value.length}function r(t){function s(){switch(t){case e.LEFT:return~h.activeMatchIndex?u:n;case e.RIGHT:return~h.activeMatchIndex&&r!==n?o:(d.activate(),!1);case e.BACKSPACE:return~h.activeMatchIndex?h.removeChoice(r)?u:r:n;case e.DELETE:return!!~h.activeMatchIndex&&(h.removeChoice(h.activeMatchIndex),r)}}var i=a(d.searchInput[0]),c=d.selected.length,l=0,n=c-1,r=h.activeMatchIndex,o=h.activeMatchIndex+1,u=h.activeMatchIndex-1,p=r;return!(i>0||d.search.length&&t==e.RIGHT)&&(d.close(),p=s(),d.selected.length&&p!==!1?h.activeMatchIndex=Math.min(n,Math.max(l,p)):h.activeMatchIndex=-1,!0)}function o(e){if(void 0===e||void 0===d.search)return!1;var t=e.filter(function(e){return void 0!==d.search.toUpperCase()&&void 0!==e&&e.toUpperCase()===d.search.toUpperCase()}).length>0;return t}function u(e,t){var s=-1;if(angular.isArray(e))for(var i=angular.copy(e),c=0;c=0;c--)t={},t[d.parserResult.itemName]=d.selected[c],e=d.parserResult.modelMapper(i,t),s.unshift(e);return s}),p.$formatters.unshift(function(e){var t,s=d.parserResult&&d.parserResult.source(i,{$select:{search:""}}),c={};if(!s)return e;var l=[],n=function(e,s){if(e&&e.length){for(var n=e.length-1;n>=0;n--){if(c[d.parserResult.itemName]=e[n],t=d.parserResult.modelMapper(i,c),d.parserResult.trackByExp){var a=/(\w*)\./.exec(d.parserResult.trackByExp),r=/\.([^\s]+)/.exec(d.parserResult.trackByExp);if(a&&a.length>0&&a[1]==d.parserResult.itemName&&r&&r.length>0&&t[r[1]]==s[r[1]])return l.unshift(e[n]),!0}if(angular.equals(t,s))return l.unshift(e[n]),!0}return!1}};if(!e)return l;for(var a=e.length-1;a>=0;a--)n(d.selected,e[a])||n(s,e[a])||l.unshift(e[a]);return l}),i.$watchCollection(function(){return p.$modelValue},function(e,t){t!=e&&(angular.isDefined(p.$modelValue)&&(p.$modelValue=null),h.refreshComponent())}),p.$render=function(){if(!angular.isArray(p.$viewValue)){if(!angular.isUndefined(p.$viewValue)&&null!==p.$viewValue)throw t("multiarr","Expected model value to be array but got '{0}'",p.$viewValue);p.$viewValue=[]}d.selected=p.$viewValue,h.refreshComponent(),i.$evalAsync()},i.$on("uis:select",function(e,t){if(!(d.selected.length>=d.limit)){d.selected.push(t);var c={};c[d.parserResult.itemName]=t,s(function(){d.onSelectCallback(i,{$item:t,$model:d.parserResult.modelMapper(i,c)})}),h.updateModel()}}),i.$on("uis:activate",function(){h.activeMatchIndex=-1}),i.$watch("$select.disabled",function(e,t){t&&!e&&d.sizeSearchInput()}),d.searchInput.on("keydown",function(t){var s=t.which;i.$apply(function(){var i=!1;e.isHorizontalMovement(s)&&(i=r(s)),i&&s!=e.TAB&&(t.preventDefault(),t.stopPropagation())})}),d.searchInput.on("keyup",function(t){if(e.isVerticalMovement(t.which)||i.$evalAsync(function(){d.activeIndex=d.taggingLabel===!1?-1:0}),d.tagging.isActivated&&d.search.length>0){if(t.which===e.TAB||e.isControl(t)||e.isFunctionKey(t)||t.which===e.ESC||e.isVerticalMovement(t.which))return;if(d.activeIndex=d.taggingLabel===!1?-1:0,d.taggingLabel===!1)return;var s,c,l,n,a=angular.copy(d.items),r=angular.copy(d.items),p=!1,h=-1;if(void 0!==d.tagging.fct){if(l=d.$filter("filter")(a,{isTag:!0}),l.length>0&&(n=l[0]),a.length>0&&n&&(p=!0,a=a.slice(1,a.length),r=r.slice(1,r.length)),s=d.tagging.fct(d.search),r.some(function(e){return angular.equals(e,s)})||d.selected.some(function(e){return angular.equals(e,s)}))return void i.$evalAsync(function(){d.activeIndex=0,d.items=a});s&&(s.isTag=!0)}else{if(l=d.$filter("filter")(a,function(e){return e.match(d.taggingLabel)}),l.length>0&&(n=l[0]),c=a[0],void 0!==c&&a.length>0&&n&&(p=!0,a=a.slice(1,a.length),r=r.slice(1,r.length)),s=d.search+" "+d.taggingLabel,u(d.selected,d.search)>-1)return;if(o(r.concat(d.selected)))return void(p&&(a=r,i.$evalAsync(function(){d.activeIndex=0,d.items=a})));if(o(r))return void(p&&(d.items=r.slice(1,r.length)))}p&&(h=u(d.selected,s)),h>-1?a=a.slice(h+1,a.length-1):(a=[],s&&a.push(s),a=a.concat(r)),i.$evalAsync(function(){if(d.activeIndex=0,d.items=a,d.isGrouped){var e=s?a.slice(1):a;d.setItemsFn(e),s&&(d.items.unshift(s),d.groups.unshift({name:"",items:[s],tagging:!0}))}})}}),d.searchInput.on("blur",function(){s(function(){h.activeMatchIndex=-1})})}}}]),s.directive("uiSelectNoChoice",["uiSelectConfig",function(e){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){t.addClass("ui-select-no-choice");var s=t.parent().attr("theme")||e.theme;return s+"/no-choice.tpl.html"}}}]),s.directive("uiSelectSingle",["$timeout","$compile",function(t,s){return{restrict:"EA",require:["^uiSelect","^ngModel"],link:function(i,c,l,n){var a=n[0],r=n[1];r.$parsers.unshift(function(e){var t,s={};return s[a.parserResult.itemName]=e,t=a.parserResult.modelMapper(i,s)}),r.$formatters.unshift(function(e){var t,s=a.parserResult&&a.parserResult.source(i,{$select:{search:""}}),c={};if(s){var l=function(s){return c[a.parserResult.itemName]=s,t=a.parserResult.modelMapper(i,c),t===e};if(a.selected&&l(a.selected))return a.selected;for(var n=s.length-1;n>=0;n--)if(l(s[n]))return s[n];if(a.allowFree.isActivated&&a.allowFree.fct)return a.allowFree.fct(e)}return e}),i.$watch("$select.selected",function(e){r.$viewValue!==e&&r.$setViewValue(e)}),r.$render=function(){a.selected=r.$viewValue},i.$on("uis:select",function(e,s){a.selected=s;var c={};c[a.parserResult.itemName]=s,t(function(){a.onSelectCallback(i,{$item:s,$model:a.parserResult.modelMapper(i,c)})})}),i.$on("uis:close",function(e,s){t(function(){a.focusser.prop("disabled",!1),s||a.focusser[0].focus()},0,!1)}),i.$on("uis:activate",function(){o.prop("disabled",!0)});var o=angular.element("");s(o)(i),a.focusser=o,a.focusInput=o,c.parent().append(o),o.bind("focus",function(){i.$evalAsync(function(){a.focus=!0})}),o.bind("blur",function(){i.$evalAsync(function(){a.focus=!1})}),o.bind("keydown",function(t){return t.which===e.BACKSPACE&&a.backspaceReset!==!1?(t.preventDefault(),t.stopPropagation(),a.select(void 0),void i.$apply()):void(t.which===e.TAB||e.isControl(t)||e.isFunctionKey(t)||t.which===e.ESC||(t.which!=e.DOWN&&t.which!=e.UP&&t.which!=e.ENTER&&t.which!=e.SPACE||(t.preventDefault(),t.stopPropagation(),a.activate()),i.$digest()))}),o.bind("keyup input",function(t){t.which===e.TAB||e.isControl(t)||e.isFunctionKey(t)||t.which===e.ESC||t.which==e.ENTER||t.which===e.BACKSPACE||(a.activate(o.val()),o.val(""),i.$digest())})}}}]),s.directive("uiSelectSort",["$timeout","uiSelectConfig","uiSelectMinErr",function(e,t,s){return{require:["^^uiSelect","^ngModel"],link:function(t,i,c,l){if(null===t[c.uiSelectSort])throw s("sort","Expected a list to sort");var n=l[0],a=l[1],r=angular.extend({axis:"horizontal"},t.$eval(c.uiSelectSortOptions)),o=r.axis,u="dragging",d="dropping",p="dropping-before",h="dropping-after";t.$watch(function(){return n.sortable},function(e){e?i.attr("draggable",!0):i.removeAttr("draggable")}),i.on("dragstart",function(e){i.addClass(u),(e.dataTransfer||e.originalEvent.dataTransfer).setData("text",t.$index.toString())}),i.on("dragend",function(){v(u)});var g,f=function(e,t){this.splice(t,0,this.splice(e,1)[0])},v=function(e){angular.forEach(n.$element.querySelectorAll("."+e),function(t){angular.element(t).removeClass(e)})},m=function(e){e.preventDefault();var t="vertical"===o?e.offsetY||e.layerY||(e.originalEvent?e.originalEvent.offsetY:0):e.offsetX||e.layerX||(e.originalEvent?e.originalEvent.offsetX:0);t
  • '),e.put("bootstrap/match-multiple.tpl.html",' × '),e.put("bootstrap/match.tpl.html",'
    {{$select.placeholder}}
    '),e.put("bootstrap/no-choice.tpl.html",''),e.put("bootstrap/select-multiple.tpl.html",''),e.put("bootstrap/select.tpl.html",''),e.put("select2/choices.tpl.html",'
    '),e.put("select2/match-multiple.tpl.html",'
  • '),e.put("select2/match.tpl.html",'{{$select.placeholder}} '),e.put("select2/no-choice.tpl.html",''),e.put("select2/select-multiple.tpl.html",'
    '),e.put("select2/select.tpl.html",'
    '),e.put("selectize/choices.tpl.html",'
    '),e.put("selectize/match-multiple.tpl.html",'
    ×
    '),e.put("selectize/match.tpl.html",'
    {{$select.placeholder}}
    '),e.put("selectize/no-choice.tpl.html",'
    '),e.put("selectize/select-multiple.tpl.html",'
    '),e.put("selectize/select.tpl.html",'
    ')}]); //# sourceMappingURL=select.min.js.map diff --git a/dist/select.min.js.map b/dist/select.min.js.map index ab16769bc..b523648e2 100644 --- a/dist/select.min.js.map +++ b/dist/select.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["select.js","select_without_templates.js","templates.js"],"names":["KEY","TAB","ENTER","ESC","SPACE","LEFT","UP","RIGHT","DOWN","SHIFT","CTRL","ALT","PAGE_UP","PAGE_DOWN","HOME","END","BACKSPACE","DELETE","COMMAND","MAP","91","8","9","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","43","44","45","46","48","49","50","51","52","53","54","55","56","57","59","61","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","96","97","98","99","100","101","102","103","104","105","106","107","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","144","145","186","187","188","189","190","191","192","219","220","221","222","isControl","e","k","which","metaKey","ctrlKey","altKey","isFunctionKey","isVerticalMovement","indexOf","isHorizontalMovement","toSeparator","sep","undefined","angular","element","prototype","querySelectorAll","selector","this","closest","elem","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","bind","parentElement","latestId","uis","module","constant","theme","searchEnabled","sortable","placeholder","refreshDelay","closeOnSelect","skipFocusser","dropdownPosition","removeSelected","resetSearchInput","generateId","appendToBody","spinnerEnabled","spinnerClass","service","minErr","$$minErr","error","apply","arguments","message","replace","RegExp","Error","directive","link","scope","attrs","ctrl","transclude","clone","append","filter","escapeRegexp","queryToEscape","matchItem","query","factory","$document","$window","boundingClientRect","getBoundingClientRect","width","prop","height","top","pageYOffset","documentElement","scrollTop","left","pageXOffset","scrollLeft","uiSelectConfig","RepeatParser","uiSelectMinErr","$compile","restrict","require","templateUrl","tElement","addClass","parent","attr","compile","tAttrs","repeat","groupByExp","groupBy","groupFilterExp","groupFilter","groups","length","getGroupNgRepeatExpression","parserResult","parse","choices","repeatExpression","rowsInner","clickTarget","document","addEventListener","itemName","$select","parseRepeatAttr","disableChoiceExpression","uiDisableChoice","onHighlightCallback","onHighlight","position","toLowerCase","$on","remove","$watch","newValue","open","multiple","activate","activeIndex","tagging","isActivated","minimumInputLength","search","refresh","items","$observe","$eval","removeAttr","controller","$scope","$element","$timeout","$filter","$$uisDebounce","$parse","$injector","_findIndex","collection","predicate","thisArg","findIndex","value","list","Object","i","call","_resetSearchInput","EMPTY_SEARCH","selected","item","equals","_groupsFilter","groupNames","j","result","name","push","_updateItemDisabled","isDisabled","disabledItemIndex","disabledItems","splice","_isItemDisabled","_initaliseLockedChoices","doInitalise","_updateItemLocked","isLocked","lockedItemIndex","lockedItems","_isItemlocked","itemScope","itemIndex","lockChoiceExpression","_handleDropDownSelection","key","processed","select","close","_ensureHighlightVisible","container","highlighted","posY","offsetTop","clientHeight","offsetHeight","isGrouped","paste","refreshing","focus","disabled","focusser","fct","taggingTokens","tokens","clickTriggeredSelect","$animate","get","err","searchInput","isEmpty","isUndefined","initSearchValue","avoidReset","$broadcast","taggingLabel","on","enabled","animateHandler","phase","off","focusSearchInput","findGroupByName","group","repeatAttr","updateGroups","groupFn","forEach","groupName","isFunction","groupFilterFn","isArray","concat","setPlainItems","setItemsFn","itemProperty","originalSource","source","createArrayFromObject","origSrc","$uisSource","keys","map","v","keyName","filters","newVal","oldVal","refreshItems","data","selectedItems","filteredItems","every","selectedItem","calculateDropdownPos","$watchCollection","isDefined","ngModel","$modelValue","_refreshDelayPromise","refreshAttr","cancel","refreshPromise","then","isActive","_isItemSelected","selection","isTag","$event","type","trim","locals","onSelectCallback","$item","$model","modelMapper","$setTouched","setFocus","focusInput","clear","stopPropagation","toggle","preventDefault","sizeWatch","updaterScheduled","sizeSearchInput","input","calculateContainerWidth","clientWidth","offsetParent","updateIfVisible","containerWidth","inputWidth","offsetLeft","css","$$postDigest","noop","$apply","tagged","keyCode","triggerHandler","newItem","window","clipboardData","getData","originalEvent","separator","split","oldsearch","onResize","find","generatedId","uisOffset","controllerAs","match","exec","ngClass","combined","inputId","id","ctrls","transcludeFn","onDocumentClick","contains","jQuery","target","focusableControls","targetController","tagName","$digest","positionDropdown","offset","style","after","originalWidth","resetDropdown","replaceWith","baseTitle","title","focusserTitle","focusserId","onSelect","onRemoveCallback","onRemove","choiceGrouped","tabindex","limit","parseInt","taggingEval","autofocus","focusOn","transcluded","transcludedMatch","transcludedChoices","transcludedNoChoice","isOpen","dropdown","directionUpClassName","setDropdownPosUp","offsetDropdown","setDropdownPosDown","removeClass","calculateDropdownPosAfterAnimation","body","opacity","opened","needsCalculated","getAttribute","attribute","hasAttribute","multi","setAllowClear","allow","allowClear","uiLockChoice","$evalAsync","activeMatchIndex","updateModel","$setViewValue","Date","now","refreshComponent","removeChoice","index","removedChoice","getPlaceholder","_getCaretPosition","el","isNumber","selectionStart","_handleMatchSelection","getNewActiveMatchIndex","$selectMultiple","prev","last","curr","next","caretPosition","first","newIndex","Math","min","max","_findCaseInsensitiveDupe","arr","hasDupe","origItem","toUpperCase","_findApproxDupe","haystack","needle","dupeIndex","tempArr","copy","mockObj","isObject","$isEmpty","$parsers","unshift","resultMultiple","$formatters","inputValue","checkFnMultiple","p","trackByExp","propsItemNameMatches","oldValue","$render","$viewValue","event","tagItems","tagItem","stashArr","hasTag","slice","some","itemsWithoutTag","checkFnSingle","d","val","uiSelectSort","$ngModel","options","extend","axis","uiSelectSortOptions","draggingClassName","droppingClassName","droppingBeforeClassName","droppingAfterClassName","dataTransfer","setData","$index","toString","dropTimeout","move","from","to","className","dragOverHandler","offsetY","layerY","offsetX","layerX","dropHandler","droppedItemIndex","_dropHandler","theList","itemToMove","hasClass","$emit","array","callback","debounceTime","timeoutPromise","self","args","Array","onOpenCloseCallback","uisOpenClose","previousState","expression","filterMatch","grouped","run","$templateCache","put"],"mappings":"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","file":"select.min.js","sourcesContent":["/*!\n * ui-select\n * http://github.com/angular-ui/ui-select\n * Version: 0.19.5 - 2016-10-24T23:13:59.434Z\n * License: MIT\n */\n\n\n(function () { \n\"use strict\";\nvar KEY = {\n TAB: 9,\n ENTER: 13,\n ESC: 27,\n SPACE: 32,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n SHIFT: 16,\n CTRL: 17,\n ALT: 18,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n HOME: 36,\n END: 35,\n BACKSPACE: 8,\n DELETE: 46,\n COMMAND: 91,\n\n MAP: { 91 : \"COMMAND\", 8 : \"BACKSPACE\" , 9 : \"TAB\" , 13 : \"ENTER\" , 16 : \"SHIFT\" , 17 : \"CTRL\" , 18 : \"ALT\" , 19 : \"PAUSEBREAK\" , 20 : \"CAPSLOCK\" , 27 : \"ESC\" , 32 : \"SPACE\" , 33 : \"PAGE_UP\", 34 : \"PAGE_DOWN\" , 35 : \"END\" , 36 : \"HOME\" , 37 : \"LEFT\" , 38 : \"UP\" , 39 : \"RIGHT\" , 40 : \"DOWN\" , 43 : \"+\" , 44 : \"PRINTSCREEN\" , 45 : \"INSERT\" , 46 : \"DELETE\", 48 : \"0\" , 49 : \"1\" , 50 : \"2\" , 51 : \"3\" , 52 : \"4\" , 53 : \"5\" , 54 : \"6\" , 55 : \"7\" , 56 : \"8\" , 57 : \"9\" , 59 : \";\", 61 : \"=\" , 65 : \"A\" , 66 : \"B\" , 67 : \"C\" , 68 : \"D\" , 69 : \"E\" , 70 : \"F\" , 71 : \"G\" , 72 : \"H\" , 73 : \"I\" , 74 : \"J\" , 75 : \"K\" , 76 : \"L\", 77 : \"M\" , 78 : \"N\" , 79 : \"O\" , 80 : \"P\" , 81 : \"Q\" , 82 : \"R\" , 83 : \"S\" , 84 : \"T\" , 85 : \"U\" , 86 : \"V\" , 87 : \"W\" , 88 : \"X\" , 89 : \"Y\" , 90 : \"Z\", 96 : \"0\" , 97 : \"1\" , 98 : \"2\" , 99 : \"3\" , 100 : \"4\" , 101 : \"5\" , 102 : \"6\" , 103 : \"7\" , 104 : \"8\" , 105 : \"9\", 106 : \"*\" , 107 : \"+\" , 109 : \"-\" , 110 : \".\" , 111 : \"/\", 112 : \"F1\" , 113 : \"F2\" , 114 : \"F3\" , 115 : \"F4\" , 116 : \"F5\" , 117 : \"F6\" , 118 : \"F7\" , 119 : \"F8\" , 120 : \"F9\" , 121 : \"F10\" , 122 : \"F11\" , 123 : \"F12\", 144 : \"NUMLOCK\" , 145 : \"SCROLLLOCK\" , 186 : \";\" , 187 : \"=\" , 188 : \",\" , 189 : \"-\" , 190 : \".\" , 191 : \"/\" , 192 : \"`\" , 219 : \"[\" , 220 : \"\\\\\" , 221 : \"]\" , 222 : \"'\"\n },\n\n isControl: function (e) {\n var k = e.which;\n switch (k) {\n case KEY.COMMAND:\n case KEY.SHIFT:\n case KEY.CTRL:\n case KEY.ALT:\n return true;\n }\n\n if (e.metaKey || e.ctrlKey || e.altKey) return true;\n\n return false;\n },\n isFunctionKey: function (k) {\n k = k.which ? k.which : k;\n return k >= 112 && k <= 123;\n },\n isVerticalMovement: function (k){\n return ~[KEY.UP, KEY.DOWN].indexOf(k);\n },\n isHorizontalMovement: function (k){\n return ~[KEY.LEFT,KEY.RIGHT,KEY.BACKSPACE,KEY.DELETE].indexOf(k);\n },\n toSeparator: function (k) {\n var sep = {ENTER:\"\\n\",TAB:\"\\t\",SPACE:\" \"}[k];\n if (sep) return sep;\n // return undefined for special keys other than enter, tab or space.\n // no way to use them to cut strings.\n return KEY[k] ? undefined : k;\n }\n };\n\n/**\n * Add querySelectorAll() to jqLite.\n *\n * jqLite find() is limited to lookups by tag name.\n * TODO This will change with future versions of AngularJS, to be removed when this happens\n *\n * See jqLite.find - why not use querySelectorAll? https://github.com/angular/angular.js/issues/3586\n * See feat(jqLite): use querySelectorAll instead of getElementsByTagName in jqLite.find https://github.com/angular/angular.js/pull/3598\n */\nif (angular.element.prototype.querySelectorAll === undefined) {\n angular.element.prototype.querySelectorAll = function(selector) {\n return angular.element(this[0].querySelectorAll(selector));\n };\n}\n\n/**\n * Add closest() to jqLite.\n */\nif (angular.element.prototype.closest === undefined) {\n angular.element.prototype.closest = function( selector) {\n var elem = this[0];\n var matchesSelector = elem.matches || elem.webkitMatchesSelector || elem.mozMatchesSelector || elem.msMatchesSelector;\n\n while (elem) {\n if (matchesSelector.bind(elem)(selector)) {\n return elem;\n } else {\n elem = elem.parentElement;\n }\n }\n return false;\n };\n}\n\nvar latestId = 0;\n\nvar uis = angular.module('ui.select', [])\n\n.constant('uiSelectConfig', {\n theme: 'bootstrap',\n searchEnabled: true,\n sortable: false,\n placeholder: '', // Empty by default, like HTML tag \");\n $compile(focusser)(scope);\n $select.focusser = focusser;\n\n //Input that will handle focus\n $select.focusInput = focusser;\n\n element.parent().append(focusser);\n focusser.bind(\"focus\", function(){\n scope.$evalAsync(function(){\n $select.focus = true;\n });\n });\n focusser.bind(\"blur\", function(){\n scope.$evalAsync(function(){\n $select.focus = false;\n });\n });\n focusser.bind(\"keydown\", function(e){\n\n if (e.which === KEY.BACKSPACE) {\n e.preventDefault();\n e.stopPropagation();\n $select.select(undefined);\n scope.$apply();\n return;\n }\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {\n return;\n }\n\n if (e.which == KEY.DOWN || e.which == KEY.UP || e.which == KEY.ENTER || e.which == KEY.SPACE){\n e.preventDefault();\n e.stopPropagation();\n $select.activate();\n }\n\n scope.$digest();\n });\n\n focusser.bind(\"keyup input\", function(e){\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC || e.which == KEY.ENTER || e.which === KEY.BACKSPACE) {\n return;\n }\n\n $select.activate(focusser.val()); //User pressed some regular key, so we pass it to the search input\n focusser.val('');\n scope.$digest();\n\n });\n\n\n }\n };\n}]);\n\n// Make multiple matches sortable\nuis.directive('uiSelectSort', ['$timeout', 'uiSelectConfig', 'uiSelectMinErr', function($timeout, uiSelectConfig, uiSelectMinErr) {\n return {\n require: ['^^uiSelect', '^ngModel'],\n link: function(scope, element, attrs, ctrls) {\n if (scope[attrs.uiSelectSort] === null) {\n throw uiSelectMinErr('sort', 'Expected a list to sort');\n }\n\n var $select = ctrls[0];\n var $ngModel = ctrls[1];\n\n var options = angular.extend({\n axis: 'horizontal'\n },\n scope.$eval(attrs.uiSelectSortOptions));\n\n var axis = options.axis;\n var draggingClassName = 'dragging';\n var droppingClassName = 'dropping';\n var droppingBeforeClassName = 'dropping-before';\n var droppingAfterClassName = 'dropping-after';\n\n scope.$watch(function(){\n return $select.sortable;\n }, function(newValue){\n if (newValue) {\n element.attr('draggable', true);\n } else {\n element.removeAttr('draggable');\n }\n });\n\n element.on('dragstart', function(event) {\n element.addClass(draggingClassName);\n\n (event.dataTransfer || event.originalEvent.dataTransfer).setData('text', scope.$index.toString());\n });\n\n element.on('dragend', function() {\n removeClass(draggingClassName);\n });\n\n var move = function(from, to) {\n /*jshint validthis: true */\n this.splice(to, 0, this.splice(from, 1)[0]);\n };\n\n var removeClass = function(className) {\n angular.forEach($select.$element.querySelectorAll('.' + className), function(el){\n angular.element(el).removeClass(className);\n });\n };\n\n var dragOverHandler = function(event) {\n event.preventDefault();\n\n var offset = axis === 'vertical' ? event.offsetY || event.layerY || (event.originalEvent ? event.originalEvent.offsetY : 0) : event.offsetX || event.layerX || (event.originalEvent ? event.originalEvent.offsetX : 0);\n\n if (offset < (this[axis === 'vertical' ? 'offsetHeight' : 'offsetWidth'] / 2)) {\n removeClass(droppingAfterClassName);\n element.addClass(droppingBeforeClassName);\n\n } else {\n removeClass(droppingBeforeClassName);\n element.addClass(droppingAfterClassName);\n }\n };\n\n var dropTimeout;\n\n var dropHandler = function(event) {\n event.preventDefault();\n\n var droppedItemIndex = parseInt((event.dataTransfer || event.originalEvent.dataTransfer).getData('text'), 10);\n\n // prevent event firing multiple times in firefox\n $timeout.cancel(dropTimeout);\n dropTimeout = $timeout(function() {\n _dropHandler(droppedItemIndex);\n }, 20);\n };\n\n var _dropHandler = function(droppedItemIndex) {\n var theList = scope.$eval(attrs.uiSelectSort);\n var itemToMove = theList[droppedItemIndex];\n var newIndex = null;\n\n if (element.hasClass(droppingBeforeClassName)) {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index - 1;\n } else {\n newIndex = scope.$index;\n }\n } else {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index;\n } else {\n newIndex = scope.$index + 1;\n }\n }\n\n move.apply(theList, [droppedItemIndex, newIndex]);\n\n $ngModel.$setViewValue(Date.now());\n\n scope.$apply(function() {\n scope.$emit('uiSelectSort:change', {\n array: theList,\n item: itemToMove,\n from: droppedItemIndex,\n to: newIndex\n });\n });\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('drop', dropHandler);\n };\n\n element.on('dragenter', function() {\n if (element.hasClass(draggingClassName)) {\n return;\n }\n\n element.addClass(droppingClassName);\n\n element.on('dragover', dragOverHandler);\n element.on('drop', dropHandler);\n });\n\n element.on('dragleave', function(event) {\n if (event.target != element) {\n return;\n }\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('dragover', dragOverHandler);\n element.off('drop', dropHandler);\n });\n }\n };\n}]);\n\n/**\n * Debounces functions\n *\n * Taken from UI Bootstrap $$debounce source code\n * See https://github.com/angular-ui/bootstrap/blob/master/src/debounce/debounce.js\n *\n */\nuis.factory('$$uisDebounce', ['$timeout', function($timeout) {\n return function(callback, debounceTime) {\n var timeoutPromise;\n\n return function() {\n var self = this;\n var args = Array.prototype.slice.call(arguments);\n if (timeoutPromise) {\n $timeout.cancel(timeoutPromise);\n }\n\n timeoutPromise = $timeout(function() {\n callback.apply(self, args);\n }, debounceTime);\n };\n };\n}]);\n\nuis.directive('uisOpenClose', ['$parse', '$timeout', function ($parse, $timeout) {\n return {\n restrict: 'A',\n require: 'uiSelect',\n link: function (scope, element, attrs, $select) {\n $select.onOpenCloseCallback = $parse(attrs.uisOpenClose);\n\n scope.$watch('$select.open', function (isOpen, previousState) {\n if (isOpen !== previousState) {\n $timeout(function () {\n $select.onOpenCloseCallback(scope, {\n isOpen: isOpen\n });\n });\n }\n });\n }\n };\n}]);\n\n/**\n * Parses \"repeat\" attribute.\n *\n * Taken from AngularJS ngRepeat source code\n * See https://github.com/angular/angular.js/blob/v1.2.15/src/ng/directive/ngRepeat.js#L211\n *\n * Original discussion about parsing \"repeat\" attribute instead of fully relying on ng-repeat:\n * https://github.com/angular-ui/ui-select/commit/5dd63ad#commitcomment-5504697\n */\n\nuis.service('uisRepeatParser', ['uiSelectMinErr','$parse', function(uiSelectMinErr, $parse) {\n var self = this;\n\n /**\n * Example:\n * expression = \"address in addresses | filter: {street: $select.search} track by $index\"\n * itemName = \"address\",\n * source = \"addresses | filter: {street: $select.search}\",\n * trackByExp = \"$index\",\n */\n self.parse = function(expression) {\n\n\n var match;\n //var isObjectCollection = /\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)/.test(expression);\n // If an array is used as collection\n\n // if (isObjectCollection){\n // 000000000000000000000000000000111111111000000000000000222222222222220033333333333333333333330000444444444444444444000000000000000055555555555000000000000000000000066666666600000000\n match = expression.match(/^\\s*(?:([\\s\\S]+?)\\s+as\\s+)?(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+(\\s*[\\s\\S]+?)?(?:\\s+track\\s+by\\s+([\\s\\S]+?))?\\s*$/);\n\n // 1 Alias\n // 2 Item\n // 3 Key on (key,value)\n // 4 Value on (key,value)\n // 5 Source expression (including filters)\n // 6 Track by\n\n if (!match) {\n throw uiSelectMinErr('iexp', \"Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.\",\n expression);\n }\n \n var source = match[5], \n filters = '';\n\n // When using (key,value) ui-select requires filters to be extracted, since the object\n // is converted to an array for $select.items \n // (in which case the filters need to be reapplied)\n if (match[3]) {\n // Remove any enclosing parenthesis\n source = match[5].replace(/(^\\()|(\\)$)/g, '');\n // match all after | but not after ||\n var filterMatch = match[5].match(/^\\s*(?:[\\s\\S]+?)(?:[^\\|]|\\|\\|)+([\\s\\S]*)\\s*$/);\n if(filterMatch && filterMatch[1].trim()) {\n filters = filterMatch[1];\n source = source.replace(filters, '');\n } \n }\n\n return {\n itemName: match[4] || match[2], // (lhs) Left-hand side,\n keyName: match[3], //for (key, value) syntax\n source: $parse(source),\n filters: filters,\n trackByExp: match[6],\n modelMapper: $parse(match[1] || match[4] || match[2]),\n repeatExpression: function (grouped) {\n var expression = this.itemName + ' in ' + (grouped ? '$group.items' : '$select.items');\n if (this.trackByExp) {\n expression += ' track by ' + this.trackByExp;\n }\n return expression;\n } \n };\n\n };\n\n self.getGroupNgRepeatExpression = function() {\n return '$group in $select.groups track by $group.name';\n };\n\n}]);\n\n}());\nangular.module(\"ui.select\").run([\"$templateCache\", function($templateCache) {$templateCache.put(\"bootstrap/choices.tpl.html\",\"
      0\\\">
    • 0\\\">
    \");\n$templateCache.put(\"bootstrap/match-multiple.tpl.html\",\" × \");\n$templateCache.put(\"bootstrap/match.tpl.html\",\"
    {{$select.placeholder}}
    \");\n$templateCache.put(\"bootstrap/no-choice.tpl.html\",\"
    \");\n$templateCache.put(\"bootstrap/select-multiple.tpl.html\",\"
    \");\n$templateCache.put(\"bootstrap/select.tpl.html\",\"
    \");\n$templateCache.put(\"select2/choices.tpl.html\",\"
    \");\n$templateCache.put(\"select2/match-multiple.tpl.html\",\"
  • \");\n$templateCache.put(\"select2/match.tpl.html\",\"{{$select.placeholder}} \");\n$templateCache.put(\"select2/no-choice.tpl.html\",\"
    \");\n$templateCache.put(\"select2/select-multiple.tpl.html\",\"
    \");\n$templateCache.put(\"select2/select.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/choices.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/match-multiple.tpl.html\",\"
    ×
    \");\n$templateCache.put(\"selectize/match.tpl.html\",\"
    {{$select.placeholder}}
    \");\n$templateCache.put(\"selectize/no-choice.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/select-multiple.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/select.tpl.html\",\"
    \");}]);",null,null],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["select.js","select_without_templates.js","templates.js"],"names":["KEY","TAB","ENTER","ESC","SPACE","LEFT","UP","RIGHT","DOWN","SHIFT","CTRL","ALT","PAGE_UP","PAGE_DOWN","HOME","END","BACKSPACE","DELETE","COMMAND","MAP","91","8","9","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","43","44","45","46","48","49","50","51","52","53","54","55","56","57","59","61","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","96","97","98","99","100","101","102","103","104","105","106","107","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","144","145","186","187","188","189","190","191","192","219","220","221","222","isControl","e","k","which","metaKey","ctrlKey","altKey","isFunctionKey","isVerticalMovement","indexOf","isHorizontalMovement","toSeparator","sep","undefined","angular","element","prototype","querySelectorAll","selector","this","closest","elem","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","bind","parentElement","latestId","uis","module","constant","theme","searchEnabled","sortable","placeholder","refreshDelay","closeOnSelect","skipFocusser","dropdownPosition","removeSelected","resetSearchInput","generateId","appendToBody","spinnerEnabled","spinnerClass","backspaceReset","service","minErr","$$minErr","error","apply","arguments","message","replace","RegExp","Error","directive","link","scope","attrs","ctrl","transclude","clone","append","filter","escapeRegexp","queryToEscape","matchItem","query","factory","$document","$window","boundingClientRect","getBoundingClientRect","width","prop","height","top","pageYOffset","documentElement","scrollTop","left","pageXOffset","scrollLeft","$timeout","callback","debounceTime","timeoutPromise","self","args","Array","slice","call","cancel","uiSelectConfig","RepeatParser","uiSelectMinErr","$compile","restrict","require","templateUrl","tElement","addClass","parent","attr","compile","tAttrs","repeat","groupByExp","groupBy","groupFilterExp","groupFilter","groups","length","getGroupNgRepeatExpression","parserResult","parse","choices","repeatExpression","rowsInner","clickTarget","document","addEventListener","itemName","$select","parseRepeatAttr","disableChoiceExpression","uiDisableChoice","onHighlightCallback","onHighlight","position","toLowerCase","$watch","newValue","open","multiple","activate","activeIndex","tagging","isActivated","allowFree","minimumInputLength","search","refresh","items","$observe","$eval","removeAttr","controller","$scope","$element","$filter","$$uisDebounce","$parse","$injector","_findIndex","collection","predicate","thisArg","findIndex","value","list","Object","i","_resetSearchInput","EMPTY_SEARCH","selected","item","equals","_groupsFilter","groupNames","j","result","name","push","_updateItemDisabled","isDisabled","disabledItemIndex","disabledItems","splice","_isItemDisabled","_initaliseLockedChoices","doInitalise","_updateItemLocked","isLocked","lockedItemIndex","lockedItems","_isItemlocked","itemScope","itemIndex","lockChoiceExpression","_handleDropDownSelection","key","processed","idx","minActiveIndex","idxmin","select","close","_ensureHighlightVisible","container","highlighted","posY","offsetTop","clientHeight","offsetHeight","isGrouped","paste","refreshing","focus","disabled","focusser","fct","taggingTokens","tokens","clickTriggeredSelect","$animate","get","err","searchInput","isEmpty","isUndefined","initSearchValue","avoidReset","$broadcast","taggingLabel","on","enabled","animateHandler","phase","off","focusSearchInput","findGroupByName","group","repeatAttr","updateGroups","groupFn","forEach","groupName","isFunction","groupFilterFn","isArray","concat","setPlainItems","setItemsFn","itemProperty","originalSource","source","createArrayFromObject","origSrc","$uisSource","keys","map","v","keyName","filters","newVal","oldVal","refreshItems","data","selectedItems","filteredItems","every","selectedItem","calculateDropdownPos","$watchCollection","isDefined","ngModel","$modelValue","_refreshDelayPromise","refreshAttr","refreshPromise","then","isActive","_isItemSelected","selection","isTag","$event","evtType","type","trim","$setTouched","setFocus","focusInput","clear","stopPropagation","toggle","preventDefault","sizeWatch","updaterScheduled","sizeSearchInput","input","calculateContainerWidth","clientWidth","offsetParent","updateIfVisible","containerWidth","inputWidth","offsetLeft","css","$$postDigest","noop","triggerHandler","newItem","$apply","tagged","keyCode","window","clipboardData","getData","originalEvent","separator","split","oldsearch","onResize","$on","find","generatedId","uisOffset","controllerAs","match","exec","ngClass","combined","inputId","id","ctrls","transcludeFn","onDocumentClick","contains","jQuery","target","focusableControls","targetController","tagName","$digest","positionDropdown","offset","style","after","originalWidth","resetDropdown","replaceWith","baseTitle","title","focusserTitle","focusserId","onSelectCallback","onSelect","onRemoveCallback","onRemove","choiceGrouped","tabindex","limit","parseInt","taggingEval","allowFreeFn","autofocus","focusOn","transcluded","transcludedMatch","transcludedChoices","transcludedNoChoice","isOpen","dropdown","directionUpClassName","setDropdownPosUp","offsetDropdown","setDropdownPosDown","removeClass","calculateDropdownPosAfterAnimation","body","opacity","opened","needsCalculated","getAttribute","attribute","hasAttribute","multi","setAllowClear","allow","allowClear","uiLockChoice","$evalAsync","activeMatchIndex","updateModel","$setViewValue","Date","now","refreshComponent","removeChoice","index","removedChoice","locals","$item","$model","modelMapper","getPlaceholder","_getCaretPosition","el","isNumber","selectionStart","_handleMatchSelection","getNewActiveMatchIndex","$selectMultiple","prev","last","curr","next","caretPosition","first","newIndex","Math","min","max","_findCaseInsensitiveDupe","arr","hasDupe","origItem","toUpperCase","_findApproxDupe","haystack","needle","dupeIndex","tempArr","copy","mockObj","isObject","$isEmpty","$parsers","unshift","resultMultiple","$formatters","inputValue","checkFnMultiple","p","trackByExp","propsItemNameMatches","oldValue","$render","$viewValue","event","tagItems","tagItem","stashArr","hasTag","some","itemsWithoutTag","checkFnSingle","d","val","uiSelectSort","$ngModel","options","extend","axis","uiSelectSortOptions","draggingClassName","droppingClassName","droppingBeforeClassName","droppingAfterClassName","dataTransfer","setData","$index","toString","dropTimeout","move","from","to","className","dragOverHandler","offsetY","layerY","offsetX","layerX","dropHandler","droppedItemIndex","_dropHandler","theList","itemToMove","hasClass","$emit","array","onOpenCloseCallback","uisOpenClose","previousState","expression","filterMatch","grouped","run","$templateCache","put"],"mappings":"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","file":"select.min.js","sourcesContent":["/*!\n * ui-select\n * http://github.com/angular-ui/ui-select\n * Version: 0.19.8 - 2018-01-10T20:06:38.772Z\n * License: MIT\n */\n\n\n(function () { \n\"use strict\";\nvar KEY = {\n TAB: 9,\n ENTER: 13,\n ESC: 27,\n SPACE: 32,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n SHIFT: 16,\n CTRL: 17,\n ALT: 18,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n HOME: 36,\n END: 35,\n BACKSPACE: 8,\n DELETE: 46,\n COMMAND: 91,\n\n MAP: { 91 : \"COMMAND\", 8 : \"BACKSPACE\" , 9 : \"TAB\" , 13 : \"ENTER\" , 16 : \"SHIFT\" , 17 : \"CTRL\" , 18 : \"ALT\" , 19 : \"PAUSEBREAK\" , 20 : \"CAPSLOCK\" , 27 : \"ESC\" , 32 : \"SPACE\" , 33 : \"PAGE_UP\", 34 : \"PAGE_DOWN\" , 35 : \"END\" , 36 : \"HOME\" , 37 : \"LEFT\" , 38 : \"UP\" , 39 : \"RIGHT\" , 40 : \"DOWN\" , 43 : \"+\" , 44 : \"PRINTSCREEN\" , 45 : \"INSERT\" , 46 : \"DELETE\", 48 : \"0\" , 49 : \"1\" , 50 : \"2\" , 51 : \"3\" , 52 : \"4\" , 53 : \"5\" , 54 : \"6\" , 55 : \"7\" , 56 : \"8\" , 57 : \"9\" , 59 : \";\", 61 : \"=\" , 65 : \"A\" , 66 : \"B\" , 67 : \"C\" , 68 : \"D\" , 69 : \"E\" , 70 : \"F\" , 71 : \"G\" , 72 : \"H\" , 73 : \"I\" , 74 : \"J\" , 75 : \"K\" , 76 : \"L\", 77 : \"M\" , 78 : \"N\" , 79 : \"O\" , 80 : \"P\" , 81 : \"Q\" , 82 : \"R\" , 83 : \"S\" , 84 : \"T\" , 85 : \"U\" , 86 : \"V\" , 87 : \"W\" , 88 : \"X\" , 89 : \"Y\" , 90 : \"Z\", 96 : \"0\" , 97 : \"1\" , 98 : \"2\" , 99 : \"3\" , 100 : \"4\" , 101 : \"5\" , 102 : \"6\" , 103 : \"7\" , 104 : \"8\" , 105 : \"9\", 106 : \"*\" , 107 : \"+\" , 109 : \"-\" , 110 : \".\" , 111 : \"/\", 112 : \"F1\" , 113 : \"F2\" , 114 : \"F3\" , 115 : \"F4\" , 116 : \"F5\" , 117 : \"F6\" , 118 : \"F7\" , 119 : \"F8\" , 120 : \"F9\" , 121 : \"F10\" , 122 : \"F11\" , 123 : \"F12\", 144 : \"NUMLOCK\" , 145 : \"SCROLLLOCK\" , 186 : \";\" , 187 : \"=\" , 188 : \",\" , 189 : \"-\" , 190 : \".\" , 191 : \"/\" , 192 : \"`\" , 219 : \"[\" , 220 : \"\\\\\" , 221 : \"]\" , 222 : \"'\"\n },\n\n isControl: function (e) {\n var k = e.which;\n switch (k) {\n case KEY.COMMAND:\n case KEY.SHIFT:\n case KEY.CTRL:\n case KEY.ALT:\n return true;\n }\n\n if (e.metaKey || e.ctrlKey || e.altKey) return true;\n\n return false;\n },\n isFunctionKey: function (k) {\n k = k.which ? k.which : k;\n return k >= 112 && k <= 123;\n },\n isVerticalMovement: function (k){\n return ~[KEY.UP, KEY.DOWN].indexOf(k);\n },\n isHorizontalMovement: function (k){\n return ~[KEY.LEFT,KEY.RIGHT,KEY.BACKSPACE,KEY.DELETE].indexOf(k);\n },\n toSeparator: function (k) {\n var sep = {ENTER:\"\\n\",TAB:\"\\t\",SPACE:\" \"}[k];\n if (sep) return sep;\n // return undefined for special keys other than enter, tab or space.\n // no way to use them to cut strings.\n return KEY[k] ? undefined : k;\n }\n };\n\n/**\n * Add querySelectorAll() to jqLite.\n *\n * jqLite find() is limited to lookups by tag name.\n * TODO This will change with future versions of AngularJS, to be removed when this happens\n *\n * See jqLite.find - why not use querySelectorAll? https://github.com/angular/angular.js/issues/3586\n * See feat(jqLite): use querySelectorAll instead of getElementsByTagName in jqLite.find https://github.com/angular/angular.js/pull/3598\n */\nif (angular.element.prototype.querySelectorAll === undefined) {\n angular.element.prototype.querySelectorAll = function(selector) {\n return angular.element(this[0].querySelectorAll(selector));\n };\n}\n\n/**\n * Add closest() to jqLite.\n */\nif (angular.element.prototype.closest === undefined) {\n angular.element.prototype.closest = function( selector) {\n var elem = this[0];\n var matchesSelector = elem.matches || elem.webkitMatchesSelector || elem.mozMatchesSelector || elem.msMatchesSelector;\n\n while (elem) {\n if (matchesSelector.bind(elem)(selector)) {\n return elem;\n } else {\n elem = elem.parentElement;\n }\n }\n return false;\n };\n}\n\nvar latestId = 0;\n\nvar uis = angular.module('ui.select', [])\n\n.constant('uiSelectConfig', {\n theme: 'bootstrap',\n searchEnabled: true,\n sortable: false,\n placeholder: '', // Empty by default, like HTML tag \");\n $compile(focusser)(scope);\n $select.focusser = focusser;\n\n //Input that will handle focus\n $select.focusInput = focusser;\n\n element.parent().append(focusser);\n focusser.bind(\"focus\", function(){\n scope.$evalAsync(function(){\n $select.focus = true;\n });\n });\n focusser.bind(\"blur\", function(){\n scope.$evalAsync(function(){\n $select.focus = false;\n });\n });\n focusser.bind(\"keydown\", function(e){\n\n if (e.which === KEY.BACKSPACE && $select.backspaceReset !== false) {\n e.preventDefault();\n e.stopPropagation();\n $select.select(undefined);\n scope.$apply();\n return;\n }\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {\n return;\n }\n\n if (e.which == KEY.DOWN || e.which == KEY.UP || e.which == KEY.ENTER || e.which == KEY.SPACE){\n e.preventDefault();\n e.stopPropagation();\n $select.activate();\n }\n\n scope.$digest();\n });\n\n focusser.bind(\"keyup input\", function(e){\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC || e.which == KEY.ENTER || e.which === KEY.BACKSPACE) {\n return;\n }\n\n $select.activate(focusser.val()); //User pressed some regular key, so we pass it to the search input\n focusser.val('');\n scope.$digest();\n\n });\n\n\n }\n };\n}]);\n\n// Make multiple matches sortable\nuis.directive('uiSelectSort', ['$timeout', 'uiSelectConfig', 'uiSelectMinErr', function($timeout, uiSelectConfig, uiSelectMinErr) {\n return {\n require: ['^^uiSelect', '^ngModel'],\n link: function(scope, element, attrs, ctrls) {\n if (scope[attrs.uiSelectSort] === null) {\n throw uiSelectMinErr('sort', 'Expected a list to sort');\n }\n\n var $select = ctrls[0];\n var $ngModel = ctrls[1];\n\n var options = angular.extend({\n axis: 'horizontal'\n },\n scope.$eval(attrs.uiSelectSortOptions));\n\n var axis = options.axis;\n var draggingClassName = 'dragging';\n var droppingClassName = 'dropping';\n var droppingBeforeClassName = 'dropping-before';\n var droppingAfterClassName = 'dropping-after';\n\n scope.$watch(function(){\n return $select.sortable;\n }, function(newValue){\n if (newValue) {\n element.attr('draggable', true);\n } else {\n element.removeAttr('draggable');\n }\n });\n\n element.on('dragstart', function(event) {\n element.addClass(draggingClassName);\n\n (event.dataTransfer || event.originalEvent.dataTransfer).setData('text', scope.$index.toString());\n });\n\n element.on('dragend', function() {\n removeClass(draggingClassName);\n });\n\n var move = function(from, to) {\n /*jshint validthis: true */\n this.splice(to, 0, this.splice(from, 1)[0]);\n };\n\n var removeClass = function(className) {\n angular.forEach($select.$element.querySelectorAll('.' + className), function(el){\n angular.element(el).removeClass(className);\n });\n };\n\n var dragOverHandler = function(event) {\n event.preventDefault();\n\n var offset = axis === 'vertical' ? event.offsetY || event.layerY || (event.originalEvent ? event.originalEvent.offsetY : 0) : event.offsetX || event.layerX || (event.originalEvent ? event.originalEvent.offsetX : 0);\n\n if (offset < (this[axis === 'vertical' ? 'offsetHeight' : 'offsetWidth'] / 2)) {\n removeClass(droppingAfterClassName);\n element.addClass(droppingBeforeClassName);\n\n } else {\n removeClass(droppingBeforeClassName);\n element.addClass(droppingAfterClassName);\n }\n };\n\n var dropTimeout;\n\n var dropHandler = function(event) {\n event.preventDefault();\n\n var droppedItemIndex = parseInt((event.dataTransfer || event.originalEvent.dataTransfer).getData('text'), 10);\n\n // prevent event firing multiple times in firefox\n $timeout.cancel(dropTimeout);\n dropTimeout = $timeout(function() {\n _dropHandler(droppedItemIndex);\n }, 20);\n };\n\n var _dropHandler = function(droppedItemIndex) {\n var theList = scope.$eval(attrs.uiSelectSort);\n var itemToMove = theList[droppedItemIndex];\n var newIndex = null;\n\n if (element.hasClass(droppingBeforeClassName)) {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index - 1;\n } else {\n newIndex = scope.$index;\n }\n } else {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index;\n } else {\n newIndex = scope.$index + 1;\n }\n }\n\n move.apply(theList, [droppedItemIndex, newIndex]);\n\n $ngModel.$setViewValue(Date.now());\n\n scope.$apply(function() {\n scope.$emit('uiSelectSort:change', {\n array: theList,\n item: itemToMove,\n from: droppedItemIndex,\n to: newIndex\n });\n });\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('drop', dropHandler);\n };\n\n element.on('dragenter', function() {\n if (element.hasClass(draggingClassName)) {\n return;\n }\n\n element.addClass(droppingClassName);\n\n element.on('dragover', dragOverHandler);\n element.on('drop', dropHandler);\n });\n\n element.on('dragleave', function(event) {\n if (event.target != element) {\n return;\n }\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('dragover', dragOverHandler);\n element.off('drop', dropHandler);\n });\n }\n };\n}]);\n\nuis.directive('uisOpenClose', ['$parse', '$timeout', function ($parse, $timeout) {\n return {\n restrict: 'A',\n require: 'uiSelect',\n link: function (scope, element, attrs, $select) {\n $select.onOpenCloseCallback = $parse(attrs.uisOpenClose);\n\n scope.$watch('$select.open', function (isOpen, previousState) {\n if (isOpen !== previousState) {\n $timeout(function () {\n $select.onOpenCloseCallback(scope, {\n isOpen: isOpen\n });\n });\n }\n });\n }\n };\n}]);\n\n/**\n * Parses \"repeat\" attribute.\n *\n * Taken from AngularJS ngRepeat source code\n * See https://github.com/angular/angular.js/blob/v1.2.15/src/ng/directive/ngRepeat.js#L211\n *\n * Original discussion about parsing \"repeat\" attribute instead of fully relying on ng-repeat:\n * https://github.com/angular-ui/ui-select/commit/5dd63ad#commitcomment-5504697\n */\n\nuis.service('uisRepeatParser', ['uiSelectMinErr','$parse', function(uiSelectMinErr, $parse) {\n var self = this;\n\n /**\n * Example:\n * expression = \"address in addresses | filter: {street: $select.search} track by $index\"\n * itemName = \"address\",\n * source = \"addresses | filter: {street: $select.search}\",\n * trackByExp = \"$index\",\n */\n self.parse = function(expression) {\n\n\n var match;\n //var isObjectCollection = /\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)/.test(expression);\n // If an array is used as collection\n\n // if (isObjectCollection){\n // 000000000000000000000000000000111111111000000000000000222222222222220033333333333333333333330000444444444444444444000000000000000055555555555000000000000000000000066666666600000000\n match = expression.match(/^\\s*(?:([\\s\\S]+?)\\s+as\\s+)?(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+(\\s*[\\s\\S]+?)?(?:\\s+track\\s+by\\s+([\\s\\S]+?))?\\s*$/);\n\n // 1 Alias\n // 2 Item\n // 3 Key on (key,value)\n // 4 Value on (key,value)\n // 5 Source expression (including filters)\n // 6 Track by\n\n if (!match) {\n throw uiSelectMinErr('iexp', \"Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.\",\n expression);\n }\n \n var source = match[5], \n filters = '';\n\n // When using (key,value) ui-select requires filters to be extracted, since the object\n // is converted to an array for $select.items \n // (in which case the filters need to be reapplied)\n if (match[3]) {\n // Remove any enclosing parenthesis\n source = match[5].replace(/(^\\()|(\\)$)/g, '');\n // match all after | but not after ||\n var filterMatch = match[5].match(/^\\s*(?:[\\s\\S]+?)(?:[^\\|]|\\|\\|)+([\\s\\S]*)\\s*$/);\n if(filterMatch && filterMatch[1].trim()) {\n filters = filterMatch[1];\n source = source.replace(filters, '');\n } \n }\n\n return {\n itemName: match[4] || match[2], // (lhs) Left-hand side,\n keyName: match[3], //for (key, value) syntax\n source: $parse(source),\n filters: filters,\n trackByExp: match[6],\n modelMapper: $parse(match[1] || match[4] || match[2]),\n repeatExpression: function (grouped) {\n var expression = this.itemName + ' in ' + (grouped ? '$group.items' : '$select.items');\n if (this.trackByExp) {\n expression += ' track by ' + this.trackByExp;\n }\n return expression;\n } \n };\n\n };\n\n self.getGroupNgRepeatExpression = function() {\n return '$group in $select.groups track by $group.name';\n };\n\n}]);\n\n}());\nangular.module(\"ui.select\").run([\"$templateCache\", function($templateCache) {$templateCache.put(\"bootstrap/choices.tpl.html\",\"
      0\\\">
    • 0\\\">
    \");\n$templateCache.put(\"bootstrap/match-multiple.tpl.html\",\" × \");\n$templateCache.put(\"bootstrap/match.tpl.html\",\"
    {{$select.placeholder}}
    \");\n$templateCache.put(\"bootstrap/no-choice.tpl.html\",\"
    \");\n$templateCache.put(\"bootstrap/select-multiple.tpl.html\",\"
    \");\n$templateCache.put(\"bootstrap/select.tpl.html\",\"
    \");\n$templateCache.put(\"select2/choices.tpl.html\",\"
    \");\n$templateCache.put(\"select2/match-multiple.tpl.html\",\"
  • \");\n$templateCache.put(\"select2/match.tpl.html\",\"{{$select.placeholder}} \");\n$templateCache.put(\"select2/no-choice.tpl.html\",\"
    \");\n$templateCache.put(\"select2/select-multiple.tpl.html\",\"
    \");\n$templateCache.put(\"select2/select.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/choices.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/match-multiple.tpl.html\",\"
    ×
    \");\n$templateCache.put(\"selectize/match.tpl.html\",\"
    {{$select.placeholder}}
    \");\n$templateCache.put(\"selectize/no-choice.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/select-multiple.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/select.tpl.html\",\"
    \");}]);",null,null]} \ No newline at end of file diff --git a/docs/examples/demo-tagging.html b/docs/examples/demo-tagging.html index 4b6900a1d..8dd761983 100644 --- a/docs/examples/demo-tagging.html +++ b/docs/examples/demo-tagging.html @@ -60,8 +60,8 @@

    Object Tags with Tokenization (" ", /,

    Selected:

    selectedPeople2 = {{ctrl.multipleDemo.selectedPeople2 | json}}
    -

    Tagging in Single Select mode

    (NOT WORKING) - +

    Tagging in Single Select mode (Allow Free Text)

    + {{$select.selected.name}} <{{$select.selected.email}}>
    @@ -75,13 +75,4 @@

    Tagging in Single Select mode

    (NOT WORKING)

    Selected:

    ctrl.person.selected = {{ctrl.person.selected | json }}
    -

    Tagging in Single select mode, with simple strings

    (NOT WORKING) - - {{$select.selected}} - -
    -
    -
    -

    Selected: {{ctrl.singleDemo.color}}

    -
    diff --git a/npm-debug.log b/npm-debug.log deleted file mode 100644 index b55ede2cc..000000000 --- a/npm-debug.log +++ /dev/null @@ -1,104 +0,0 @@ -0 info it worked if it ends with ok -1 verbose cli [ '/usr/local/bin/node', -1 verbose cli '/usr/local/bin/npm', -1 verbose cli 'unpublish', -1 verbose cli 'ui-select@0.19.5' ] -2 info using npm@2.14.4 -3 info using node@v4.1.1 -4 silly unpublish args[0] ui-select@0.19.5 -5 silly unpublish thing Result { -5 silly unpublish raw: 'ui-select@0.19.5', -5 silly unpublish scope: null, -5 silly unpublish name: 'ui-select', -5 silly unpublish rawSpec: '0.19.5', -5 silly unpublish spec: '0.19.5', -5 silly unpublish type: 'version' } -6 verbose getPublishConfig null -7 silly ls normalized ui-select/0.19.5 -8 silly gentlyRm /Users/arob35/.npm/ui-select/0.19.5 is being purged -9 verbose gentlyRm don't care about contents; nuking /Users/arob35/.npm/ui-select/0.19.5 -10 silly vacuum-fs purging /Users/arob35/.npm/ui-select/0.19.5 -11 silly vacuum-fs quitting because other entries in /Users/arob35/.npm/ui-select -12 silly mapToRegistry name ui-select -13 silly mapToRegistry using default registry -14 silly mapToRegistry registry https://registry.npmjs.org/ -15 silly mapToRegistry uri https://registry.npmjs.org/ui-select -16 verbose get GET as part of write; not caching result -17 verbose request uri https://registry.npmjs.org/ui-select?write=true -18 verbose request no auth needed -19 info attempt registry request try #1 at 4:15:12 PM -20 verbose request using bearer token for auth -21 verbose request id 5ca39f33f3f44109 -22 http request GET https://registry.npmjs.org/ui-select?write=true -23 http 200 https://registry.npmjs.org/ui-select?write=true -24 silly get cb [ 200, -24 silly get { server: 'CouchDB/1.6.1 (Erlang OTP/R16B03)', -24 silly get etag: '"3PFJ7OP67OCII47YIYGTYZUSW"', -24 silly get 'content-type': 'application/json', -24 silly get 'content-encoding': 'gzip', -24 silly get 'cache-control': 'max-age=0', -24 silly get 'transfer-encoding': 'chunked', -24 silly get 'accept-ranges': 'bytes', -24 silly get date: 'Mon, 24 Oct 2016 23:15:11 GMT', -24 silly get via: '1.1 varnish', -24 silly get connection: 'keep-alive', -24 silly get 'x-served-by': 'cache-den6025-DEN', -24 silly get 'x-cache': 'MISS', -24 silly get 'x-cache-hits': '0', -24 silly get 'x-timer': 'S1477350911.526110,VS0,VE239', -24 silly get vary: 'Accept-Encoding' } ] -25 verbose get saving ui-select to /Users/arob35/.npm/registry.npmjs.org/ui-select_3Fwrite_3Dtrue/.cache.json -26 verbose unpublish removing attachments { shasum: '95662d8e086ab7800553a9f11cf24523dcf8d7da', -26 verbose unpublish tarball: 'http://registry.npmjs.org/ui-select/-/ui-select-0.19.5.tgz' } -27 verbose request uri https://registry.npmjs.org/ui-select/-rev/33-46749c4a981bb9aba3d0bb0008a0117a -28 verbose request sending authorization for write operation -29 info attempt registry request try #1 at 4:15:12 PM -30 verbose request using bearer token for auth -31 http request PUT https://registry.npmjs.org/ui-select/-rev/33-46749c4a981bb9aba3d0bb0008a0117a -32 http 500 https://registry.npmjs.org/ui-select/-rev/33-46749c4a981bb9aba3d0bb0008a0117a -33 info retry will retry, error on last attempt: Error: "cannot unpublish a version that is >24 hours old" : ui-select -34 info attempt registry request try #2 at 4:15:24 PM -35 verbose request using bearer token for auth -36 http request PUT https://registry.npmjs.org/ui-select/-rev/33-46749c4a981bb9aba3d0bb0008a0117a -37 http 500 https://registry.npmjs.org/ui-select/-rev/33-46749c4a981bb9aba3d0bb0008a0117a -38 info retry will retry, error on last attempt: Error: "cannot unpublish a version that is >24 hours old" : ui-select -39 info attempt registry request try #3 at 4:16:25 PM -40 verbose request using bearer token for auth -41 http request PUT https://registry.npmjs.org/ui-select/-rev/33-46749c4a981bb9aba3d0bb0008a0117a -42 http 500 https://registry.npmjs.org/ui-select/-rev/33-46749c4a981bb9aba3d0bb0008a0117a -43 verbose headers { 'content-type': 'application/json', -43 verbose headers 'cache-control': 'max-age=0', -43 verbose headers 'content-length': '80', -43 verbose headers 'accept-ranges': 'bytes', -43 verbose headers date: 'Mon, 24 Oct 2016 23:16:25 GMT', -43 verbose headers via: '1.1 varnish', -43 verbose headers connection: 'keep-alive', -43 verbose headers 'x-served-by': 'cache-dfw1830-DFW', -43 verbose headers 'x-cache': 'MISS', -43 verbose headers 'x-cache-hits': '0', -43 verbose headers 'x-timer': 'S1477350984.944033,VS0,VE923' } -44 verbose request invalidating /Users/arob35/.npm/registry.npmjs.org/ui-select on PUT -45 error unpublish Failed to update data -46 verbose stack Error: "cannot unpublish a version that is >24 hours old" : ui-select -46 verbose stack at makeError (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:263:12) -46 verbose stack at CachingRegistryClient. (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:251:14) -46 verbose stack at Request._callback (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:171:14) -46 verbose stack at Request.self.callback (/usr/local/lib/node_modules/npm/node_modules/request/request.js:198:22) -46 verbose stack at emitTwo (events.js:87:13) -46 verbose stack at Request.emit (events.js:172:7) -46 verbose stack at Request. (/usr/local/lib/node_modules/npm/node_modules/request/request.js:1073:14) -46 verbose stack at emitOne (events.js:82:20) -46 verbose stack at Request.emit (events.js:169:7) -46 verbose stack at IncomingMessage. (/usr/local/lib/node_modules/npm/node_modules/request/request.js:1019:12) -47 verbose statusCode 500 -48 verbose pkgid ui-select -49 verbose cwd /Users/arob35/Sites/forks/ui-select -50 error Darwin 15.6.0 -51 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "unpublish" "ui-select@0.19.5" -52 error node v4.1.1 -53 error npm v2.14.4 -54 error code E500 -55 error "cannot unpublish a version that is >24 hours old" : ui-select -56 error If you need help, you may report this error at: -56 error -57 verbose exit [ 1, true ] diff --git a/package.json b/package.json index 766a4d73f..97179d781 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "url": "git://github.com/angular-ui/ui-select.git" }, "style": "dist/select.css", - "version": "0.19.6", + "version": "0.19.8", "devDependencies": { "angular": "^1.2.18", "angular-mocks": "^1.2.18", diff --git a/src/uiSelectChoicesDirective.js b/src/uiSelectChoicesDirective.js index 911e83132..76f37605a 100644 --- a/src/uiSelectChoicesDirective.js +++ b/src/uiSelectChoicesDirective.js @@ -39,7 +39,7 @@ uis.directive('uiSelectChoices', choices.attr('ng-repeat', parserResult.repeatExpression(groupByExp)) .attr('ng-if', '$select.open'); //Prevent unnecessary watches when dropdown is closed - + var rowsInner = tElement.querySelectorAll('.ui-select-choices-row-inner'); if (rowsInner.length !== 1) { @@ -47,21 +47,21 @@ uis.directive('uiSelectChoices', } rowsInner.attr('uis-transclude-append', ''); //Adding uisTranscludeAppend directive to row element after choices element has ngRepeat - // If IE8 then need to target rowsInner to apply the ng-click attr as choices will not capture the event. + // If IE8 then need to target rowsInner to apply the ng-click attr as choices will not capture the event. var clickTarget = $window.document.addEventListener ? choices : rowsInner; clickTarget.attr('ng-click', '$select.select(' + parserResult.itemName + ',$select.skipFocusser,$event)'); - + return function link(scope, element, attrs, $select) { - + $select.parseRepeatAttr(attrs.repeat, groupByExp, groupFilterExp); //Result ready at $select.parserResult $select.disableChoiceExpression = attrs.uiDisableChoice; $select.onHighlightCallback = attrs.onHighlight; - $select.dropdownPosition = attrs.position ? attrs.position.toLowerCase() : uiSelectConfig.dropdownPosition; + $select.dropdownPosition = attrs.position ? attrs.position.toLowerCase() : uiSelectConfig.dropdownPosition; scope.$watch('$select.search', function(newValue) { if(newValue && !$select.open && $select.multiple) $select.activate(false, true); - $select.activeIndex = $select.tagging.isActivated ? -1 : 0; + $select.activeIndex = $select.tagging.isActivated || $select.allowFree.isActivated? -1 : 0; if (!attrs.minimumInputLength || $select.search.length >= attrs.minimumInputLength) { $select.refresh(attrs.refresh); } else { diff --git a/src/uiSelectController.js b/src/uiSelectController.js index e304279d4..dbe718f10 100644 --- a/src/uiSelectController.js +++ b/src/uiSelectController.js @@ -41,6 +41,7 @@ uis.controller('uiSelectCtrl', ctrl.disableChoiceExpression = undefined; // Initialized inside uiSelectChoices directive link function ctrl.tagging = {isActivated: false, fct: undefined}; ctrl.taggingTokens = {isActivated: false, tokens: undefined}; + ctrl.allowFree = {isActivated: false, fct: undefined}; //This will work the same way tagging does but for single select dropdowns ctrl.lockChoiceExpression = undefined; // Initialized inside uiSelectMatch directive link function ctrl.clickTriggeredSelect = false; ctrl.$filter = $filter; @@ -378,20 +379,22 @@ uis.controller('uiSelectCtrl', ctrl.select = function(item, skipFocusser, $event) { if (item === undefined || !_isItemDisabled(item)) { - if ( ! ctrl.items && ! ctrl.search && ! ctrl.tagging.isActivated) return; + if ( ! ctrl.items && ! ctrl.search && ! ctrl.tagging.isActivated && ! ctrl.allowFree.isActivated) return; if (!item || !_isItemDisabled(item)) { // if click is made on existing item, prevent from tagging, ctrl.search does not matter + var evtType = $event ? $event.type : ''; ctrl.clickTriggeredSelect = false; - if($event && ($event.type === 'click' || $event.type === 'touchend') && item) + if((evtType === 'click' || evtType === 'touchend') && item) ctrl.clickTriggeredSelect = true; - if(ctrl.tagging.isActivated && ctrl.clickTriggeredSelect === false) { + if((ctrl.tagging.isActivated || ctrl.allowFree.isActivated) && ctrl.clickTriggeredSelect === false && evtType !== 'clear') { // if taggingLabel is disabled and item is undefined we pull from ctrl.search - if ( ctrl.taggingLabel === false ) { + if ( ctrl.taggingLabel === false || ctrl.allowFree.isActivated) { if ( ctrl.activeIndex < 0 ) { if (item === undefined) { - item = ctrl.tagging.fct !== undefined ? ctrl.tagging.fct(ctrl.search) : ctrl.search; + var fct = ctrl.tagging.fct || ctrl.allowFree.fct; + item = fct !== undefined ? fct(ctrl.search) : ctrl.search; } if (!item || angular.equals( ctrl.items[0], item ) ) { return; @@ -432,7 +435,7 @@ uis.controller('uiSelectCtrl', if (ctrl.closeOnSelect) { ctrl.close(skipFocusser); } - } + } } }; @@ -451,7 +454,8 @@ uis.controller('uiSelectCtrl', }; ctrl.clear = function($event) { - ctrl.select(undefined); + $event.type = 'clear'; + ctrl.select(undefined, true, $event); $event.stopPropagation(); $timeout(function() { ctrl.focusser[0].focus(); @@ -597,6 +601,20 @@ uis.controller('uiSelectCtrl', return processed; } + ctrl.searchInput.on('blur', function() { + if ( ctrl.allowFree.isActivated && ctrl.search.length > 0 ) { + $timeout(function() { + ctrl.searchInput.triggerHandler('tagged'); + var newItem = ctrl.search.trim(); + var fct = ctrl.tagging.fct || ctrl.allowFree.fct; + if ( fct ) { + newItem = fct( newItem ); + } + if (newItem) ctrl.select(newItem, true); + }); + } + }); + // Bind to keyboard shortcuts ctrl.searchInput.on('keydown', function(e) { @@ -611,31 +629,36 @@ uis.controller('uiSelectCtrl', var tagged = false; - if (ctrl.items.length > 0 || ctrl.tagging.isActivated) { + if (ctrl.items.length > 0 || ctrl.tagging.isActivated || ctrl.allowFree.isActivated) { if(!_handleDropDownSelection(key) && !ctrl.searchEnabled) { e.preventDefault(); e.stopPropagation(); } - if ( ctrl.taggingTokens.isActivated ) { - for (var i = 0; i < ctrl.taggingTokens.tokens.length; i++) { - if ( ctrl.taggingTokens.tokens[i] === KEY.MAP[e.keyCode] ) { - // make sure there is a new value to push via tagging - if ( ctrl.search.length > 0 ) { - tagged = true; - } - } - } - if ( tagged ) { - $timeout(function() { - ctrl.searchInput.triggerHandler('tagged'); - var newItem = ctrl.search.replace(KEY.MAP[e.keyCode],'').trim(); - if ( ctrl.tagging.fct ) { - newItem = ctrl.tagging.fct( newItem ); - } - if (newItem) ctrl.select(newItem, true); - }); - } - } + if(ctrl.taggingTokens.isActivated) { + for (var i = 0; i < ctrl.taggingTokens.tokens.length; i++) { + if ( ctrl.taggingTokens.tokens[i] === KEY.MAP[e.keyCode] ) { + // make sure there is a new value to push via tagging + if ( ctrl.search.length > 0 ) { + tagged = true; + } + } + } + } else if(ctrl.allowFree.isActivated && ctrl.search.length > 0) { + if (~[KEY.ENTER, KEY.TAB].indexOf(key)){ + tagged = true; + } + } + if ( tagged ) { + $timeout(function() { + ctrl.searchInput.triggerHandler('tagged'); + var newItem = ctrl.search.replace(KEY.MAP[e.keyCode],'').trim(); + var fct = ctrl.tagging.fct || ctrl.allowFree.fct; + if ( fct ) { + newItem = fct( newItem ); + } + if (newItem) ctrl.select(newItem, true); + }); + } } }); diff --git a/src/uiSelectDirective.js b/src/uiSelectDirective.js index 285cfb4ac..6f01d864d 100644 --- a/src/uiSelectDirective.js +++ b/src/uiSelectDirective.js @@ -127,6 +127,15 @@ uis.directive('uiSelect', } }); + attrs.$observe('allowFree', function() { + if(attrs.allowFree !== undefined) { + var allowFreeFn = scope.$eval(attrs.allowFree); + if(typeof allowFreeFn !== 'undefined') { + $select.allowFree = {isActivated: true, fct: allowFreeFn}; + } + } + }); + attrs.$observe('taggingLabel', function() { if(attrs.tagging !== undefined ) { @@ -378,7 +387,7 @@ uis.directive('uiSelect', }; var opened = false; - + scope.calculateDropdownPos = function() { if ($select.open) { dropdown = angular.element(element).querySelectorAll('.ui-select-dropdown'); diff --git a/src/uiSelectSingleDirective.js b/src/uiSelectSingleDirective.js index 4d001dad9..13d03e3c5 100644 --- a/src/uiSelectSingleDirective.js +++ b/src/uiSelectSingleDirective.js @@ -34,6 +34,9 @@ uis.directive('uiSelectSingle', ['$timeout','$compile', function($timeout, $comp for (var i = data.length - 1; i >= 0; i--) { if (checkFnSingle(data[i])) return data[i]; } + if($select.allowFree.isActivated && $select.allowFree.fct) { + return $select.allowFree.fct(inputValue); + } } return inputValue; }); @@ -51,7 +54,7 @@ uis.directive('uiSelectSingle', ['$timeout','$compile', function($timeout, $comp scope.$on('uis:select', function (event, item) { $select.selected = item; - var locals = {}; + var locals = {}; locals[$select.parserResult.itemName] = item; $timeout(function(){