diff --git a/dist/select.css b/dist/select.css index aef902f10..e6a9393db 100644 --- a/dist/select.css +++ b/dist/select.css @@ -1,7 +1,7 @@ /*! * ui-select * http://github.com/angular-ui/ui-select - * Version: 0.18.1 - 2016-07-10T00:18:11.107Z + * Version: 0.18.1 - 2016-07-20T20:40:49.941Z * License: MIT */ diff --git a/dist/select.js b/dist/select.js index fa4d686bb..d40a4a845 100644 --- a/dist/select.js +++ b/dist/select.js @@ -1,7 +1,7 @@ /*! * ui-select * http://github.com/angular-ui/ui-select - * Version: 0.18.1 - 2016-07-10T00:18:10.535Z + * Version: 0.18.1 - 2016-07-20T20:40:49.880Z * License: MIT */ @@ -630,7 +630,7 @@ uis.controller('uiSelectCtrl', function _isItemDisabled(item) { return disabledItems.indexOf(item) > -1; } - + ctrl.isDisabled = function(itemScope) { if (!ctrl.open) return; @@ -638,7 +638,7 @@ uis.controller('uiSelectCtrl', var item = itemScope[ctrl.itemProperty]; var itemIndex = ctrl.items.indexOf(item); var isDisabled = false; - + if (itemIndex >= 0 && (angular.isDefined(ctrl.disableChoiceExpression) || ctrl.multiple)) { if (item.isTag) return false; @@ -650,7 +650,7 @@ uis.controller('uiSelectCtrl', if (!isDisabled && angular.isDefined(ctrl.disableChoiceExpression)) { isDisabled = !!(itemScope.$eval(ctrl.disableChoiceExpression)); } - + _updateItemDisabled(item, isDisabled); } @@ -665,7 +665,12 @@ uis.controller('uiSelectCtrl', if ( ! ctrl.items && ! ctrl.search && ! ctrl.tagging.isActivated) return; if (!item || !_isItemDisabled(item)) { - if(ctrl.tagging.isActivated) { + // if click is made on existing item, prevent from tagging, ctrl.search does not matter + ctrl.clickTriggeredSelect = false; + if($event && $event.type === 'click' && item) + ctrl.clickTriggeredSelect = true; + + if(ctrl.tagging.isActivated && ctrl.clickTriggeredSelect === false) { // if taggingLabel is disabled and item is undefined we pull from ctrl.search if ( ctrl.taggingLabel === false ) { if ( ctrl.activeIndex < 0 ) { @@ -721,9 +726,6 @@ uis.controller('uiSelectCtrl', if (ctrl.closeOnSelect) { ctrl.close(skipFocusser); } - if ($event && $event.type === 'click') { - ctrl.clickTriggeredSelect = true; - } } } }; @@ -762,7 +764,7 @@ uis.controller('uiSelectCtrl', } }; - // Set default function for locked choices - avoids unnecessary + // Set default function for locked choices - avoids unnecessary // logic if functionality is not being used ctrl.isLocked = function () { return false; @@ -774,7 +776,7 @@ uis.controller('uiSelectCtrl', function _initaliseLockedChoices(doInitalise) { if(!doInitalise) return; - + var lockedItems = []; function _updateItemLocked(item, isLocked) { @@ -808,7 +810,7 @@ uis.controller('uiSelectCtrl', return isLocked; }; } - + var sizeWatch = null; var updaterScheduled = false; @@ -1386,6 +1388,8 @@ uis.directive('uiSelect', }); }; + var opened = false; + scope.calculateDropdownPos = function() { if ($select.open) { dropdown = angular.element(element).querySelectorAll('.ui-select-dropdown'); @@ -1394,8 +1398,11 @@ uis.directive('uiSelect', return; } - // Hide the dropdown so there is no flicker until $timeout is done executing. - dropdown[0].style.opacity = 0; + // Hide the dropdown so there is no flicker until $timeout is done executing. + if ($select.search === '' && !opened) { + dropdown[0].style.opacity = 0; + opened = true; + } if (!uisOffset(dropdown).height && $select.$animate && $select.$animate.on && $select.$animate.enabled(dropdown)) { var needsCalculated = true; @@ -2065,6 +2072,156 @@ uis.directive('uiSelectSingle', ['$timeout','$compile', function($timeout, $comp }); + //Copied from multiselect + $select.searchInput.on('keyup', function (e) { + + if (!KEY.isVerticalMovement(e.which)) { + scope.$evalAsync(function () { + $select.activeIndex = $select.taggingLabel === false ? -1 : 0; + }); + } + // Push a "create new" item into array if there is a search string + if ($select.tagging.isActivated && $select.search.length > 0) { + + // return early with these keys + if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC || KEY.isVerticalMovement(e.which)) { + return; + } + // always reset the activeIndex to the first item when tagging + $select.activeIndex = $select.taggingLabel === false ? -1 : 0; + // taggingLabel === false bypasses all of this + if ($select.taggingLabel === false) return; + + var items = angular.copy($select.items); + var stashArr = angular.copy($select.items); + var newItem; + var item; + var hasTag = false; + var dupeIndex = -1; + var tagItems; + var tagItem; + + // case for object tagging via transform `$select.tagging.fct` function + if ($select.tagging.fct !== undefined) { + tagItems = $select.$filter('filter')(items, { 'isTag': true }); + if (tagItems.length > 0) { + tagItem = tagItems[0]; + } + // remove the first element, if it has the `isTag` prop we generate a new one with each keyup, shaving the previous + if (items.length > 0 && tagItem) { + hasTag = true; + items = items.slice(1, items.length); + stashArr = stashArr.slice(1, stashArr.length); + } + newItem = $select.tagging.fct($select.search); + // verify the new tag doesn't match the value of a possible selection choice or an already selected item. + if ( + stashArr.some(function (origItem) { + return angular.equals(origItem, newItem); + })) { + scope.$evalAsync(function () { + $select.activeIndex = 0; + $select.items = items; + }); + return; + } + if (newItem) newItem.isTag = true; + // handle newItem string and stripping dupes in tagging string context + } else { + // find any tagging items already in the $select.items array and store them + tagItems = $select.$filter('filter')(items, function (item) { + return item.match($select.taggingLabel); + }); + if (tagItems.length > 0) { + tagItem = tagItems[0]; + } + item = items[0]; + // remove existing tag item if found (should only ever be one tag item) + if (item !== undefined && items.length > 0 && tagItem) { + hasTag = true; + items = items.slice(1, items.length); + stashArr = stashArr.slice(1, stashArr.length); + } + newItem = $select.search + ' ' + $select.taggingLabel; + if (_findApproxDupe($select.selected, $select.search) > -1) { + return; + } + // verify the the tag doesn't match the value of an existing item from + // the searched data set or the items already selected + if (_findCaseInsensitiveDupe(stashArr.concat($select.selected))) { + // if there is a tag from prev iteration, strip it / queue the change + // and return early + if (hasTag) { + items = stashArr; + scope.$evalAsync(function () { + $select.activeIndex = 0; + $select.items = items; + }); + } + return; + } + if (_findCaseInsensitiveDupe(stashArr)) { + // if there is a tag from prev iteration, strip it + if (hasTag) { + $select.items = stashArr.slice(1, stashArr.length); + } + return; + } + } + if (hasTag) dupeIndex = _findApproxDupe($select.selected, newItem); + // dupe found, shave the first item + if (dupeIndex > -1) { + items = items.slice(dupeIndex + 1, items.length - 1); + } else { + items = []; + if (newItem) items.push(newItem); + items = items.concat(stashArr); + } + scope.$evalAsync(function () { + $select.activeIndex = 0; + $select.items = items; + + if ($select.isGrouped) { + // update item references in groups, so that indexOf will work after angular.copy + var itemsWithoutTag = newItem ? items.slice(1) : items; + $select.setItemsFn(itemsWithoutTag); + if (newItem) { + // add tag item as a new group + $select.items.unshift(newItem); + $select.groups.unshift({ name: '', items: [newItem], tagging: true }); + } + } + }); + } + }); + + //Copied from uiSelectMultipleDirective + function _findApproxDupe(haystack, needle) { + var dupeIndex = -1; + if (angular.isArray(haystack)) { + var tempArr = angular.copy(haystack); + for (var i = 0; i < tempArr.length; i++) { + // handle the simple string version of tagging + if ($select.tagging.fct === undefined) { + // search the array for the match + if (tempArr[i] + ' ' + $select.taggingLabel === needle) { + dupeIndex = i; + } + // handle the object tagging implementation + } else { + var mockObj = tempArr[i]; + if (angular.isObject(mockObj)) { + mockObj.isTag = true; + } + if (angular.equals(mockObj, needle)) { + dupeIndex = i; + } + } + } + } + return dupeIndex; + } + } }; @@ -2298,7 +2455,7 @@ uis.service('uisRepeatParser', ['uiSelectMinErr','$parse', function(uiSelectMinE }; self.getGroupNgRepeatExpression = function() { - return '$group in $select.groups'; + return '$group in $select.groups track by $group.name'; }; }]); diff --git a/dist/select.min.css b/dist/select.min.css index ab343f00f..34b1d5856 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.18.1 - 2016-07-10T00:18:11.107Z + * Version: 0.18.1 - 2016-07-20T20:40:49.941Z * 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}.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}.selectize-input.selectize-focus{border-color:#007FBB!important}.selectize-control>.selectize-dropdown,.selectize-control>.selectize-input>input{width:100%}.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}.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-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>a{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>a:focus,.ui-select-bootstrap .ui-select-choices-row>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.ui-select-bootstrap .ui-select-choices-row.active>a{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.ui-select-bootstrap .ui-select-choices-row.active.disabled>a,.ui-select-bootstrap .ui-select-choices-row.disabled>a{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)} /*# sourceMappingURL=select.min.css.map */ diff --git a/dist/select.min.css.map b/dist/select.min.css.map index 453b42253..438185b0b 100644 --- a/dist/select.min.css.map +++ b/dist/select.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["common.css"],"names":[],"mappings":";;;;;AAIA,qBACA,YAAA,IALA,qBACA,KAAA,wBACA,MAAA,cACA,OAAA,cACA,OAAA,YACA,OAAA,YACA,QAAA,YACA,SAAA,iBACA,SAAA,mBACA,QAAA,YACA,KAAA,YACA,IAAA,YAIA,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,QAMA,iCACA,aAAA,kBASA,uCALA,0CACA,MAAA,KASA,yCACA,aAAA,QAIA,uEACA,WAAA,EAAA,KAAA,IAAA,gBAEA,WAAA,KAMA,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,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,8CACA,QAAA,MACA,QAAA,IAAA,KACA,MAAA,KACA,YAAA,IACA,YAAA,WACA,MAAA,KACA,YAAA,OAGA,oDAAA,oDACA,gBAAA,KACA,MAAA,QACA,iBAAA,QAGA,qDACA,MAAA,KACA,gBAAA,KACA,QAAA,EACA,iBAAA,QAIA,8DADA,uDAEA,MAAA,KACA,OAAA,YACA,iBAAA,KAIA,6BACA,8BACA,QAAA,eAIA,oEACA,aAAA,QAIA,uEACA,WAAA,EAAA,KAAA,IAAA","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/* 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 > .selectize-input > input {\n width: 100%;\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\n margin-top: -2px; /* FIXME hardcoded value :-/ */\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-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>a {\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>a:hover, .ui-select-bootstrap .ui-select-choices-row>a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n\n.ui-select-bootstrap .ui-select-choices-row.active>a {\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>a,\n.ui-select-bootstrap .ui-select-choices-row.active.disabled>a {\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"],"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,YAIA,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,QAMA,iCACA,aAAA,kBASA,uCALA,0CACA,MAAA,KASA,yCACA,aAAA,QAIA,uEACA,WAAA,EAAA,KAAA,IAAA,gBAEA,WAAA,KAMA,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,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,8CACA,QAAA,MACA,QAAA,IAAA,KACA,MAAA,KACA,YAAA,IACA,YAAA,WACA,MAAA,KACA,YAAA,OAGA,oDAAA,oDACA,gBAAA,KACA,MAAA,QACA,iBAAA,QAGA,qDACA,MAAA,KACA,gBAAA,KACA,QAAA,EACA,iBAAA,QAIA,8DADA,uDAEA,MAAA,KACA,OAAA,YACA,iBAAA,KAIA,6BACA,8BACA,QAAA,eAIA,oEACA,aAAA,QAIA,uEACA,WAAA,EAAA,KAAA,IAAA","file":"select.min.css","sourcesContent":["/*!\n * ui-select\n * http://github.com/angular-ui/ui-select\n * Version: 0.18.1 - 2016-07-20T20:40:49.941Z\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/* 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 > .selectize-input > input {\n width: 100%;\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\n margin-top: -2px; /* FIXME hardcoded value :-/ */\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-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>a {\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>a:hover, .ui-select-bootstrap .ui-select-choices-row>a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n\n.ui-select-bootstrap .ui-select-choices-row.active>a {\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>a,\n.ui-select-bootstrap .ui-select-choices-row.active.disabled>a {\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","/* 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/* 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 > .selectize-input > input {\n width: 100%;\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\n margin-top: -2px; /* FIXME hardcoded value :-/ */\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-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>a {\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>a:hover, .ui-select-bootstrap .ui-select-choices-row>a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n\n.ui-select-bootstrap .ui-select-choices-row.active>a {\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>a,\n.ui-select-bootstrap .ui-select-choices-row.active.disabled>a {\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"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/dist/select.min.js b/dist/select.min.js index f100a7056..eee466038 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.18.1 - 2016-07-10T00:18:10.535Z + * Version: 0.18.1 - 2016-07-20T20:40:49.880Z * 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 i=t.which;switch(i){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 i={ENTER:"\n",TAB:" ",SPACE:" "}[t];return i?i: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],i=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;t;){if(i.bind(t)(e))return t;t=t.parentElement}return!1});var t=0,i=angular.module("ui.select",[]).constant("uiSelectConfig",{theme:"bootstrap",searchEnabled:!0,sortable:!1,placeholder:"",refreshDelay:1e3,closeOnSelect:!0,skipFocusser:!1,dropdownPosition:"auto",removeSelected:!0,generateId:function(){return t++},appendToBody:!1}).service("uiSelectMinErr",function(){var e=angular.$$minErr("ui.select");return function(){var t=e.apply(this,arguments),i=t.message.replace(new RegExp("\nhttp://errors.angularjs.org/.*"),"");return new Error(i)}}).directive("uisTranscludeAppend",function(){return{link:function(e,t,i,c,s){s(e,function(e){t.append(e)})}}}).filter("highlight",function(){function e(e){return(""+e).replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(t,i){return i&&t?(""+t).replace(new RegExp(e(i),"gi"),'$&'):t}}).factory("uisOffset",["$document","$window",function(e,t){return function(i){var c=i[0].getBoundingClientRect();return{width:c.width||i.prop("offsetWidth"),height:c.height||i.prop("offsetHeight"),top:c.top+(t.pageYOffset||e[0].documentElement.scrollTop),left:c.left+(t.pageXOffset||e[0].documentElement.scrollLeft)}}}]);i.factory("$$uisDebounce",["$timeout",function(e){return function(t,i){var c;return function(){var s=this,n=Array.prototype.slice.call(arguments);c&&e.cancel(c),c=e(function(){t.apply(s,n)},i)}}}]),i.directive("uiSelectChoices",["uiSelectConfig","uisRepeatParser","uiSelectMinErr","$compile","$window",function(e,t,i,c,s){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){t.addClass("ui-select-choices");var i=t.parent().attr("theme")||e.theme;return i+"/choices.tpl.html"},compile:function(c,n){if(!n.repeat)throw i("repeat","Expected 'repeat' expression.");var l=n.groupBy,a=n.groupFilter;if(l){var r=c.querySelectorAll(".ui-select-choices-group");if(1!==r.length)throw i("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=c.querySelectorAll(".ui-select-choices-row");if(1!==u.length)throw i("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=c.querySelectorAll(".ui-select-choices-row-inner");if(1!==d.length)throw i("rows","Expected 1 .ui-select-choices-row-inner but got '{0}'.",d.length);d.attr("uis-transclude-append","");var p=s.document.addEventListener?u:d;return p.attr("ng-click","$select.select("+o.itemName+",$select.skipFocusser,$event)"),function(t,i,c,s){s.parseRepeatAttr(c.repeat,l,a),s.disableChoiceExpression=c.uiDisableChoice,s.onHighlightCallback=c.onHighlight,s.dropdownPosition=c.position?c.position.toLowerCase():e.dropdownPosition,t.$on("$destroy",function(){u.remove()}),t.$watch("$select.search",function(e){e&&!s.open&&s.multiple&&s.activate(!1,!0),s.activeIndex=s.tagging.isActivated?-1:0,!c.minimumInputLength||s.search.length>=c.minimumInputLength?s.refresh(c.refresh):s.items=[]}),c.$observe("refreshDelay",function(){var i=t.$eval(c.refreshDelay);s.refreshDelay=void 0!==i?i:e.refreshDelay})}}}}]),i.controller("uiSelectCtrl",["$scope","$element","$timeout","$filter","$$uisDebounce","uisRepeatParser","uiSelectMinErr","uiSelectConfig","$parse","$injector","$window",function(t,i,c,s,n,l,a,r,o,u,d){function p(e,t,i){if(e.findIndex)return e.findIndex(t,i);for(var c,s=Object(e),n=s.length>>>0,l=0;n>l;l++)if(c=s[l],t.call(i,c,l,s))return l;return-1}function h(){(w.resetSearchInput||void 0===w.resetSearchInput&&r.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 i,c,s=[];for(i=0;i-1&&S.splice(i,0)}function v(e){return S.indexOf(e)>-1}function m(e){function t(e,t){var i=c.indexOf(e);t&&-1===i&&c.push(e),!t&&i>-1&&c.splice(i,0)}function i(e){return c.indexOf(e)>-1}if(e){var c=[];w.isLocked=function(e,c){var s=!1,n=w.selected[c];return n&&(e?(s=!!e.$eval(w.lockChoiceExpression),t(n,s)):s=i(n)),s}}}function $(t){var i=!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:i=!1}return i}function b(){var e=i.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 c=t[w.activeIndex],s=c.offsetTop+c.clientHeight-e[0].scrollTop,n=e[0].offsetHeight;s>n?e[0].scrollTop+=s-n:s=w.items.length?0:w.activeIndex,-1===w.activeIndex&&w.taggingLabel!==!1&&(w.activeIndex=0);var n=i.querySelectorAll(".ui-select-choices-content"),l=i.querySelectorAll(".ui-select-search");if(w.$animate&&w.$animate.on&&w.$animate.enabled(n[0])){var a=function(t,i){"start"===i&&0===w.items.length?(w.$animate.off("removeClass",l[0],a),c(function(){w.focusSearchInput(e)})):"close"===i&&(w.$animate.off("enter",n[0],a),c(function(){w.focusSearchInput(e)}))};w.items.length>0?w.$animate.on("enter",n[0],a):w.$animate.on("removeClass",l[0],a)}else c(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,i,c){function s(e){var s=t.$eval(i);if(w.groups=[],angular.forEach(e,function(e){var t=angular.isFunction(s)?s(e):e[s],i=w.findGroupByName(t);i?i.items.push(e):w.groups.push({name:t,items:[e]})}),c){var n=t.$eval(c);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=i?s:n,w.parserResult=l.parse(e),w.isGrouped=!!i,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 i={};return i[w.parserResult.keyName]=t,i.value=e[t],i})};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 i=w.selected;if(w.isEmpty()||angular.isArray(i)&&!i.length||!w.multiple||!w.removeSelected)w.setItemsFn(e);else if(void 0!==e&&null!==e){var c=e.filter(function(e){return angular.isArray(i)?i.every(function(t){return!angular.equals(e,t)}):!angular.equals(e,i)});w.setItemsFn(c)}"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&&c.cancel(x),x=c(function(){t.$eval(e)},w.refreshDelay))},w.isActive=function(e){if(!w.open)return!1;var t=w.items.indexOf(e[w.itemProperty]),i=t==w.activeIndex;return!i||0>t?!1:(i&&!angular.isUndefined(w.onHighlightCallback)&&e.$eval(w.onHighlightCallback),i)};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],i=w.items.indexOf(t),c=!1;if(i>=0&&(angular.isDefined(w.disableChoiceExpression)||w.multiple)){if(t.isTag)return!1;w.multiple&&(c=E(t)),!c&&angular.isDefined(w.disableChoiceExpression)&&(c=!!e.$eval(w.disableChoiceExpression)),f(t,c)}return c}},w.select=function(e,i,s){if(void 0===e||!v(e)){if(!w.items&&!w.search&&!w.tagging.isActivated)return;if(!e||!v(e)){if(w.tagging.isActivated){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(i)}t.$broadcast("uis:select",e);var n={};n[w.parserResult.itemName]=e,c(function(){w.onSelectCallback(t,{$item:e,$model:w.parserResult.modelMapper(t,n)})}),w.closeOnSelect&&w.close(i),s&&"click"===s.type&&(w.clickTriggeredSelect=!0)}}},w.close=function(e){w.open&&(w.ngModel&&w.ngModel.$setTouched&&w.ngModel.$setTouched(),h(),w.open=!1,t.$broadcast("uis:close",e))},w.setFocus=function(){w.focus||w.focusInput[0].focus()},w.clear=function(e){w.select(void 0),e.stopPropagation(),c(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,A=!1;w.sizeSearchInput=function(){var e=w.searchInput[0],i=w.searchInput.parent().parent()[0],s=function(){return i.clientWidth*!!e.offsetParent},n=function(t){if(0===t)return!1;var i=t-e.offsetLeft-10;return 50>i&&(i=t),w.searchInput.css("width",i+"px"),!0};w.searchInput.css("width","10px"),c(function(){null!==I||n(s())||(I=t.$watch(function(){A||(A=!0,t.$$postDigest(function(){A=!1,n(s())&&(I(),I=null)}))},angular.noop))})},w.searchInput.on("keydown",function(i){var s=i.which;~[e.ENTER,e.ESC].indexOf(s)&&(i.preventDefault(),i.stopPropagation()),t.$apply(function(){var t=!1;if((w.items.length>0||w.tagging.isActivated)&&($(s),w.taggingTokens.isActivated)){for(var n=0;n0&&(t=!0);t&&c(function(){w.searchInput.triggerHandler("tagged");var t=w.search.replace(e.MAP[i.keyCode],"").trim();w.tagging.fct&&(t=w.tagging.fct(t)),t&&w.select(t,!0)})}}),e.isVerticalMovement(s)&&w.items.length>0&&b(),s!==e.ENTER&&s!==e.ESC||(i.preventDefault(),i.stopPropagation())}),w.searchInput.on("paste",function(t){var i;if(i=window.clipboardData&&window.clipboardData.getData?window.clipboardData.getData("Text"):(t.originalEvent||t).clipboardData.getData("text/plain"),i=w.search+i,i&&i.length>0)if(w.taggingTokens.isActivated){for(var c=[],s=0;s-1){c=i.split(n);break}}0===c.length&&(c=[i]);var l=w.search;angular.forEach(c,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(i),w.search=y,t.preventDefault(),t.stopPropagation())}),w.searchInput.on("tagged",function(){c(function(){h()})});var C=n(function(){w.sizeSearchInput()},50);angular.element(d).bind("resize",C),t.$on("$destroy",function(){w.searchInput.off("keyup keydown tagged blur paste"),angular.element(d).off("resize",C)})}]),i.directive("uiSelect",["$document","uiSelectConfig","uiSelectMinErr","uisOffset","$compile","$parse","$timeout",function(e,t,i,c,s,n,l){return{restrict:"EA",templateUrl:function(e,i){var c=i.theme||t.theme;return c+(angular.isDefined(i.multiple)?"/select-multiple.tpl.html":"/select.tpl.html")},replace:!0,transclude:!0,require:["uiSelect","^ngModel"],scope:!0,controller:"uiSelectCtrl",controllerAs:"$select",compile:function(s,a){var r=/{(.*)}\s*{(.*)}/.exec(a.ngClass);if(r){var o="{"+r[1]+", "+r[2]+"}";a.ngClass=o,s.attr("ng-class",o)}return angular.isDefined(a.multiple)?s.append("").removeAttr("multiple"):s.append(""),a.inputId&&(s.querySelectorAll("input.ui-select-search")[0].id=a.inputId),function(s,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 i;if(g.skipFocusser)i=!0;else{var c=["input","button","textarea","select"],n=angular.element(e.target).controller("uiSelect");i=n&&n!==g,i||(i=~c.indexOf(e.target.tagName.toLowerCase()))}g.close(i),s.$digest()}g.clickTriggeredSelect=!1}}function p(){var t=c(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)?n(r.closeOnSelect)():t.closeOnSelect}(),s.$watch("skipFocusser",function(){var e=s.$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")}),s.$watch(function(){return s.$eval(r.searchEnabled)},function(e){g.searchEnabled=void 0!==e?e:t.searchEnabled}),s.$watch("sortable",function(){var e=s.$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}),s.$watch("removeSelected",function(){var e=s.$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=s.$eval(r.resetSearchInput);g.resetSearchInput=void 0!==e?e:!0}),r.$observe("paste",function(){g.paste=s.$eval(r.paste)}),r.$observe("tagging",function(){if(void 0!==r.tagging){var e=s.$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}}}),angular.isDefined(r.autofocus)&&l(function(){g.setFocus()}),angular.isDefined(r.focusOn)&&s.$on(r.focusOn,function(){l(function(){g.setFocus()})}),e.on("click",d),s.$on("$destroy",function(){e.off("click",d)}),u(s,function(e){var t=angular.element("
").append(e),c=t.querySelectorAll(".ui-select-match");if(c.removeAttr("ui-select-match"),c.removeAttr("data-ui-select-match"),1!==c.length)throw i("transcluded","Expected 1 .ui-select-match but got '{0}'.",c.length);a.querySelectorAll(".ui-select-match").replaceWith(c);var s=t.querySelectorAll(".ui-select-choices");if(s.removeAttr("ui-select-choices"),s.removeAttr("data-ui-select-choices"),1!==s.length)throw i("transcluded","Expected 1 .ui-select-choices but got '{0}'.",s.length);a.querySelectorAll(".ui-select-choices").replaceWith(s);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=s.$eval(r.appendToBody);(void 0!==v?v:t.appendToBody)&&(s.$watch("$select.open",function(e){e?p():h()}),s.$on("$destroy",function(){h()}));var m=null,$="",b=null,w="direction-up";s.$watch("$select.open",function(){"auto"!==g.dropdownPosition&&"up"!==g.dropdownPosition||s.calculateDropdownPos()});var y=function(e,t){e=e||c(a),t=t||c(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||c(a),t=t||c(b),b[0].style.position="",b[0].style.top=""},E=function(){l(function(){if("up"===g.dropdownPosition)y();else{a.removeClass(w);var t=c(a),i=c(b),s=e[0].documentElement.scrollTop||e[0].body.scrollTop;t.top+t.height+i.height>s+e[0].documentElement.clientHeight?y(t,i):x(t,i)}b[0].style.opacity=1})};s.calculateDropdownPos=function(){if(g.open){if(b=angular.element(a).querySelectorAll(".ui-select-dropdown"),0===b.length)return;if(b[0].style.opacity=0,!c(b).height&&g.$animate&&g.$animate.on&&g.$animate.enabled(b)){var e=!0;g.$animate.on("enter",b,function(t,i){"close"===i&&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)}}}}}}]),i.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(i){i.addClass("ui-select-match");var c=i.parent(),s=t(c,"theme")||e.theme,n=angular.isDefined(t(c,"multiple"));return s+(n?"/match-multiple.tpl.html":"/match.tpl.html")},link:function(t,i,c,s){function n(e){s.allowClear=angular.isDefined(e)?""===e?!0:"true"===e.toLowerCase():!1}s.lockChoiceExpression=c.uiLockChoice,c.$observe("placeholder",function(t){s.placeholder=void 0!==t?t:e.placeholder}),c.$observe("allowClear",n),n(c.allowClear),s.multiple&&s.sizeSearchInput()}}}]),i.directive("uiSelectMultiple",["uiSelectMinErr","$timeout",function(t,i){return{restrict:"EA",require:["^uiSelect","^ngModel"],controller:["$scope","$timeout",function(e,t){var i,c=this,s=e.$select;angular.isUndefined(s.selected)&&(s.selected=[]),e.$evalAsync(function(){i=e.ngModel}),c.activeMatchIndex=-1,c.updateModel=function(){i.$setViewValue(Date.now()),c.refreshComponent()},c.refreshComponent=function(){s.refreshItems&&s.refreshItems(),s.sizeSearchInput&&s.sizeSearchInput()},c.removeChoice=function(i){if(s.isLocked(null,i))return!1;var n=s.selected[i],l={};return l[s.parserResult.itemName]=n,s.selected.splice(i,1),c.activeMatchIndex=-1,s.sizeSearchInput(),t(function(){s.onRemoveCallback(e,{$item:n,$model:s.parserResult.modelMapper(e,l)})}),c.updateModel(),!0},c.getPlaceholder=function(){return s.selected&&s.selected.length?void 0:s.placeholder}}],controllerAs:"$selectMultiple",link:function(c,s,n,l){function a(e){return angular.isNumber(e.selectionStart)?e.selectionStart:e.value.length}function r(t){function i(){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 c=a(d.searchInput[0]),s=d.selected.length,n=0,l=s-1,r=h.activeMatchIndex,o=h.activeMatchIndex+1,u=h.activeMatchIndex-1,p=r;return c>0||d.search.length&&t==e.RIGHT?!1:(d.close(),p=i(),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 i=-1;if(angular.isArray(e))for(var c=angular.copy(e),s=0;s=0;s--)t={},t[d.parserResult.itemName]=d.selected[s],e=d.parserResult.modelMapper(c,t),i.unshift(e);return i}),p.$formatters.unshift(function(e){var t,i=d.parserResult&&d.parserResult.source(c,{$select:{search:""}}),s={};if(!i)return e;var n=[],l=function(e,i){if(e&&e.length){for(var l=e.length-1;l>=0;l--){if(s[d.parserResult.itemName]=e[l],t=d.parserResult.modelMapper(c,s),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]]==i[r[1]])return n.unshift(e[l]),!0}if(angular.equals(t,i))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(i,e[a])||n.unshift(e[a]);return n}),c.$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(),c.$evalAsync()},c.$on("uis:select",function(e,t){d.selected.length>=d.limit||(d.selected.push(t),h.updateModel())}),c.$on("uis:activate",function(){h.activeMatchIndex=-1}),c.$watch("$select.disabled",function(e,t){t&&!e&&d.sizeSearchInput()}),d.searchInput.on("keydown",function(t){var i=t.which;c.$apply(function(){var c=!1;e.isHorizontalMovement(i)&&(c=r(i)),c&&i!=e.TAB&&(t.preventDefault(),t.stopPropagation())})}),d.searchInput.on("keyup",function(t){if(e.isVerticalMovement(t.which)||c.$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 i,s,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)),i=d.tagging.fct(d.search),r.some(function(e){return angular.equals(e,i)})||d.selected.some(function(e){return angular.equals(e,i)}))return void c.$evalAsync(function(){d.activeIndex=0,d.items=a});i&&(i.isTag=!0)}else{if(n=d.$filter("filter")(a,function(e){return e.match(d.taggingLabel)}),n.length>0&&(l=n[0]),s=a[0],void 0!==s&&a.length>0&&l&&(p=!0,a=a.slice(1,a.length),r=r.slice(1,r.length)),i=d.search+" "+d.taggingLabel,u(d.selected,d.search)>-1)return;if(o(r.concat(d.selected)))return void(p&&(a=r,c.$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,i)),h>-1?a=a.slice(h+1,a.length-1):(a=[],i&&a.push(i),a=a.concat(r)),c.$evalAsync(function(){if(d.activeIndex=0,d.items=a,d.isGrouped){var e=i?a.slice(1):a;d.setItemsFn(e),i&&(d.items.unshift(i),d.groups.unshift({name:"",items:[i],tagging:!0}))}})}}),d.searchInput.on("blur",function(){i(function(){h.activeMatchIndex=-1})})}}}]),i.directive("uiSelectNoChoice",["uiSelectConfig",function(e){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){t.addClass("ui-select-no-choice");var i=t.parent().attr("theme")||e.theme;return i+"/no-choice.tpl.html"}}}]),i.directive("uiSelectSingle",["$timeout","$compile",function(t,i){return{restrict:"EA",require:["^uiSelect","^ngModel"],link:function(c,s,n,l){var a=l[0],r=l[1];r.$parsers.unshift(function(e){var t,i={};return i[a.parserResult.itemName]=e,t=a.parserResult.modelMapper(c,i)}),r.$formatters.unshift(function(e){var t,i=a.parserResult&&a.parserResult.source(c,{$select:{search:""}}),s={};if(i){var n=function(i){return s[a.parserResult.itemName]=i,t=a.parserResult.modelMapper(c,s),t===e};if(a.selected&&n(a.selected))return a.selected;for(var l=i.length-1;l>=0;l--)if(n(i[l]))return i[l]}return e}),c.$watch("$select.selected",function(e){r.$viewValue!==e&&r.$setViewValue(e)}),r.$render=function(){a.selected=r.$viewValue},c.$on("uis:select",function(e,t){a.selected=t}),c.$on("uis:close",function(e,i){t(function(){a.focusser.prop("disabled",!1),i||a.focusser[0].focus()},0,!1)}),c.$on("uis:activate",function(){o.prop("disabled",!0)});var o=angular.element("");i(o)(c),a.focusser=o,a.focusInput=o,s.parent().append(o),o.bind("focus",function(){c.$evalAsync(function(){a.focus=!0})}),o.bind("blur",function(){c.$evalAsync(function(){a.focus=!1})}),o.bind("keydown",function(t){return t.which===e.BACKSPACE?(t.preventDefault(),t.stopPropagation(),a.select(void 0),void c.$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()),c.$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(""),c.$digest())})}}}]),i.directive("uiSelectSort",["$timeout","uiSelectConfig","uiSelectMinErr",function(e,t,i){return{require:["^^uiSelect","^ngModel"],link:function(t,c,s,n){if(null===t[s.uiSelectSort])throw i("sort","Expected a list to sort");var l=n[0],a=n[1],r=angular.extend({axis:"horizontal"},t.$eval(s.uiSelectSortOptions)),o=r.axis,u="dragging",d="dropping",p="dropping-before",h="dropping-after";t.$watch(function(){return l.sortable},function(e){e?c.attr("draggable",!0):c.removeAttr("draggable")}),c.on("dragstart",function(e){c.addClass(u),(e.dataTransfer||e.originalEvent.dataTransfer).setData("text",t.$index.toString())}),c.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)})},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.tpl.html",'
    '),e.put("selectize/no-choice.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 i=t.which;switch(i){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 i={ENTER:"\n",TAB:"\t",SPACE:" "}[t];return i?i: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],i=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;t;){if(i.bind(t)(e))return t;t=t.parentElement}return!1});var t=0,i=angular.module("ui.select",[]).constant("uiSelectConfig",{theme:"bootstrap",searchEnabled:!0,sortable:!1,placeholder:"",refreshDelay:1e3,closeOnSelect:!0,skipFocusser:!1,dropdownPosition:"auto",removeSelected:!0,generateId:function(){return t++},appendToBody:!1}).service("uiSelectMinErr",function(){var e=angular.$$minErr("ui.select");return function(){var t=e.apply(this,arguments),i=t.message.replace(new RegExp("\nhttp://errors.angularjs.org/.*"),"");return new Error(i)}}).directive("uisTranscludeAppend",function(){return{link:function(e,t,i,c,n){n(e,function(e){t.append(e)})}}}).filter("highlight",function(){function e(e){return(""+e).replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(t,i){return i&&t?(""+t).replace(new RegExp(e(i),"gi"),'$&'):t}}).factory("uisOffset",["$document","$window",function(e,t){return function(i){var c=i[0].getBoundingClientRect();return{width:c.width||i.prop("offsetWidth"),height:c.height||i.prop("offsetHeight"),top:c.top+(t.pageYOffset||e[0].documentElement.scrollTop),left:c.left+(t.pageXOffset||e[0].documentElement.scrollLeft)}}}]);i.factory("$$uisDebounce",["$timeout",function(e){return function(t,i){var c;return function(){var n=this,s=Array.prototype.slice.call(arguments);c&&e.cancel(c),c=e(function(){t.apply(n,s)},i)}}}]),i.directive("uiSelectChoices",["uiSelectConfig","uisRepeatParser","uiSelectMinErr","$compile","$window",function(e,t,i,c,n){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){t.addClass("ui-select-choices");var i=t.parent().attr("theme")||e.theme;return i+"/choices.tpl.html"},compile:function(c,s){if(!s.repeat)throw i("repeat","Expected 'repeat' expression.");var l=s.groupBy,a=s.groupFilter;if(l){var r=c.querySelectorAll(".ui-select-choices-group");if(1!==r.length)throw i("rows","Expected 1 .ui-select-choices-group but got '{0}'.",r.length);r.attr("ng-repeat",t.getGroupNgRepeatExpression())}var o=t.parse(s.repeat),u=c.querySelectorAll(".ui-select-choices-row");if(1!==u.length)throw i("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=c.querySelectorAll(".ui-select-choices-row-inner");if(1!==d.length)throw i("rows","Expected 1 .ui-select-choices-row-inner but got '{0}'.",d.length);d.attr("uis-transclude-append","");var p=n.document.addEventListener?u:d;return p.attr("ng-click","$select.select("+o.itemName+",$select.skipFocusser,$event)"),function(t,i,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 i=t.$eval(c.refreshDelay);n.refreshDelay=void 0!==i?i:e.refreshDelay})}}}}]),i.controller("uiSelectCtrl",["$scope","$element","$timeout","$filter","$$uisDebounce","uisRepeatParser","uiSelectMinErr","uiSelectConfig","$parse","$injector","$window",function(t,i,c,n,s,l,a,r,o,u,d){function p(e,t,i){if(e.findIndex)return e.findIndex(t,i);for(var c,n=Object(e),s=n.length>>>0,l=0;l-1&&S.splice(i,0)}function v(e){return S.indexOf(e)>-1}function m(e){function t(e,t){var i=c.indexOf(e);t&&i===-1&&c.push(e),!t&&i>-1&&c.splice(i,0)}function i(e){return c.indexOf(e)>-1}if(e){var c=[];w.isLocked=function(e,c){var n=!1,s=w.selected[c];return s&&(e?(n=!!e.$eval(w.lockChoiceExpression),t(s,n)):n=i(s)),n}}}function $(t){var i=!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:i=!1}return i}function b(){var e=i.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 c=t[w.activeIndex],n=c.offsetTop+c.clientHeight-e[0].scrollTop,s=e[0].offsetHeight;n>s?e[0].scrollTop+=n-s:n=w.items.length?0:w.activeIndex,w.activeIndex===-1&&w.taggingLabel!==!1&&(w.activeIndex=0);var s=i.querySelectorAll(".ui-select-choices-content"),l=i.querySelectorAll(".ui-select-search");if(w.$animate&&w.$animate.on&&w.$animate.enabled(s[0])){var a=function(t,i){"start"===i&&0===w.items.length?(w.$animate.off("removeClass",l[0],a),c(function(){w.focusSearchInput(e)})):"close"===i&&(w.$animate.off("enter",s[0],a),c(function(){w.focusSearchInput(e)}))};w.items.length>0?w.$animate.on("enter",s[0],a):w.$animate.on("removeClass",l[0],a)}else c(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,i,c){function n(e){var n=t.$eval(i);if(w.groups=[],angular.forEach(e,function(e){var t=angular.isFunction(n)?n(e):e[n],i=w.findGroupByName(t);i?i.items.push(e):w.groups.push({name:t,items:[e]})}),c){var s=t.$eval(c);angular.isFunction(s)?w.groups=s(w.groups):angular.isArray(s)&&(w.groups=h(w.groups,s))}w.items=[],w.groups.forEach(function(e){w.items=w.items.concat(e.items)})}function s(e){w.items=e}w.setItemsFn=i?n:s,w.parserResult=l.parse(e),w.isGrouped=!!i,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 i={};return i[w.parserResult.keyName]=t,i.value=e[t],i})};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 i=w.selected;if(w.isEmpty()||angular.isArray(i)&&!i.length||!w.multiple||!w.removeSelected)w.setItemsFn(e);else if(void 0!==e&&null!==e){var c=e.filter(function(e){return angular.isArray(i)?i.every(function(t){return!angular.equals(e,t)}):!angular.equals(e,i)});w.setItemsFn(c)}"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&&c.cancel(x),x=c(function(){t.$eval(e)},w.refreshDelay))},w.isActive=function(e){if(!w.open)return!1;var t=w.items.indexOf(e[w.itemProperty]),i=t==w.activeIndex;return!(!i||t<0)&&(i&&!angular.isUndefined(w.onHighlightCallback)&&e.$eval(w.onHighlightCallback),i)};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],i=w.items.indexOf(t),c=!1;if(i>=0&&(angular.isDefined(w.disableChoiceExpression)||w.multiple)){if(t.isTag)return!1;w.multiple&&(c=E(t)),!c&&angular.isDefined(w.disableChoiceExpression)&&(c=!!e.$eval(w.disableChoiceExpression)),f(t,c)}return c}},w.select=function(e,i,n){if(void 0===e||!v(e)){if(!w.items&&!w.search&&!w.tagging.isActivated)return;if(!e||!v(e)){if(w.clickTriggeredSelect=!1,n&&"click"===n.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(i)}t.$broadcast("uis:select",e);var s={};s[w.parserResult.itemName]=e,c(function(){w.onSelectCallback(t,{$item:e,$model:w.parserResult.modelMapper(t,s)})}),w.closeOnSelect&&w.close(i)}}},w.close=function(e){w.open&&(w.ngModel&&w.ngModel.$setTouched&&w.ngModel.$setTouched(),g(),w.open=!1,t.$broadcast("uis:close",e))},w.setFocus=function(){w.focus||w.focusInput[0].focus()},w.clear=function(e){w.select(void 0),e.stopPropagation(),c(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,A=!1;w.sizeSearchInput=function(){var e=w.searchInput[0],i=w.searchInput.parent().parent()[0],n=function(){return i.clientWidth*!!e.offsetParent},s=function(t){if(0===t)return!1;var i=t-e.offsetLeft-10;return i<50&&(i=t),w.searchInput.css("width",i+"px"),!0};w.searchInput.css("width","10px"),c(function(){null!==I||s(n())||(I=t.$watch(function(){A||(A=!0,t.$$postDigest(function(){A=!1,s(n())&&(I(),I=null)}))},angular.noop))})},w.searchInput.on("keydown",function(i){var n=i.which;~[e.ENTER,e.ESC].indexOf(n)&&(i.preventDefault(),i.stopPropagation()),t.$apply(function(){var t=!1;if((w.items.length>0||w.tagging.isActivated)&&($(n),w.taggingTokens.isActivated)){for(var s=0;s0&&(t=!0);t&&c(function(){w.searchInput.triggerHandler("tagged");var t=w.search.replace(e.MAP[i.keyCode],"").trim();w.tagging.fct&&(t=w.tagging.fct(t)),t&&w.select(t,!0)})}}),e.isVerticalMovement(n)&&w.items.length>0&&b(),n!==e.ENTER&&n!==e.ESC||(i.preventDefault(),i.stopPropagation())}),w.searchInput.on("paste",function(t){var i;if(i=window.clipboardData&&window.clipboardData.getData?window.clipboardData.getData("Text"):(t.originalEvent||t).clipboardData.getData("text/plain"),i=w.search+i,i&&i.length>0)if(w.taggingTokens.isActivated){for(var c=[],n=0;n-1){c=i.split(s);break}}0===c.length&&(c=[i]);var l=w.search;angular.forEach(c,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(i),w.search=y,t.preventDefault(),t.stopPropagation())}),w.searchInput.on("tagged",function(){c(function(){g()})});var C=s(function(){w.sizeSearchInput()},50);angular.element(d).bind("resize",C),t.$on("$destroy",function(){w.searchInput.off("keyup keydown tagged blur paste"),angular.element(d).off("resize",C)})}]),i.directive("uiSelect",["$document","uiSelectConfig","uiSelectMinErr","uisOffset","$compile","$parse","$timeout",function(e,t,i,c,n,s,l){return{restrict:"EA",templateUrl:function(e,i){var c=i.theme||t.theme;return c+(angular.isDefined(i.multiple)?"/select-multiple.tpl.html":"/select.tpl.html")},replace:!0,transclude:!0,require:["uiSelect","^ngModel"],scope:!0,controller:"uiSelectCtrl",controllerAs:"$select",compile:function(n,a){var r=/{(.*)}\s*{(.*)}/.exec(a.ngClass);if(r){var o="{"+r[1]+", "+r[2]+"}";a.ngClass=o,n.attr("ng-class",o)}return angular.isDefined(a.multiple)?n.append("").removeAttr("multiple"):n.append(""),a.inputId&&(n.querySelectorAll("input.ui-select-search")[0].id=a.inputId),function(n,a,r,o,u){function d(e){if(h.open){var t=!1;if(t=window.jQuery?window.jQuery.contains(a[0],e.target):a[0].contains(e.target),!t&&!h.clickTriggeredSelect){var i;if(h.skipFocusser)i=!0;else{var c=["input","button","textarea","select"],s=angular.element(e.target).controller("uiSelect");i=s&&s!==h,i||(i=~c.indexOf(e.target.tagName.toLowerCase()))}h.close(i),n.$digest()}h.clickTriggeredSelect=!1}}function p(){var t=c(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 g(){null!==m&&(m.replaceWith(a),m=null,a[0].style.position="",a[0].style.left="",a[0].style.top="",a[0].style.width=$,h.setFocus())}var h=o[0],f=o[1];h.generatedId=t.generateId(),h.baseTitle=r.title||"Select box",h.focusserTitle=h.baseTitle+" focus",h.focusserId="focusser-"+h.generatedId,h.closeOnSelect=function(){return angular.isDefined(r.closeOnSelect)?s(r.closeOnSelect)():t.closeOnSelect}(),n.$watch("skipFocusser",function(){var e=n.$eval(r.skipFocusser);h.skipFocusser=void 0!==e?e:t.skipFocusser}),h.onSelectCallback=s(r.onSelect),h.onRemoveCallback=s(r.onRemove),h.ngModel=f,h.choiceGrouped=function(e){return h.isGrouped&&e&&e.name},r.tabindex&&r.$observe("tabindex",function(e){h.focusInput.attr("tabindex",e),a.removeAttr("tabindex")}),n.$watch(function(){return n.$eval(r.searchEnabled)},function(e){h.searchEnabled=void 0!==e?e:t.searchEnabled}),n.$watch("sortable",function(){var e=n.$eval(r.sortable);h.sortable=void 0!==e?e:t.sortable}),r.$observe("limit",function(){h.limit=angular.isDefined(r.limit)?parseInt(r.limit,10):void 0}),n.$watch("removeSelected",function(){var e=n.$eval(r.removeSelected);h.removeSelected=void 0!==e?e:t.removeSelected}),r.$observe("disabled",function(){h.disabled=void 0!==r.disabled&&r.disabled}),r.$observe("resetSearchInput",function(){var e=n.$eval(r.resetSearchInput);h.resetSearchInput=void 0===e||e}),r.$observe("paste",function(){h.paste=n.$eval(r.paste)}),r.$observe("tagging",function(){if(void 0!==r.tagging){var e=n.$eval(r.tagging);h.tagging={isActivated:!0,fct:e!==!0?e:void 0}}else h.tagging={isActivated:!1,fct:void 0}}),r.$observe("taggingLabel",function(){void 0!==r.tagging&&("false"===r.taggingLabel?h.taggingLabel=!1:h.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"];h.taggingTokens={isActivated:!0,tokens:e}}}),angular.isDefined(r.autofocus)&&l(function(){h.setFocus()}),angular.isDefined(r.focusOn)&&n.$on(r.focusOn,function(){l(function(){h.setFocus()})}),e.on("click",d),n.$on("$destroy",function(){e.off("click",d)}),u(n,function(e){var t=angular.element("
    ").append(e),c=t.querySelectorAll(".ui-select-match");if(c.removeAttr("ui-select-match"),c.removeAttr("data-ui-select-match"),1!==c.length)throw i("transcluded","Expected 1 .ui-select-match but got '{0}'.",c.length);a.querySelectorAll(".ui-select-match").replaceWith(c);var n=t.querySelectorAll(".ui-select-choices");if(n.removeAttr("ui-select-choices"),n.removeAttr("data-ui-select-choices"),1!==n.length)throw i("transcluded","Expected 1 .ui-select-choices but got '{0}'.",n.length);a.querySelectorAll(".ui-select-choices").replaceWith(n);var s=t.querySelectorAll(".ui-select-no-choice");s.removeAttr("ui-select-no-choice"),s.removeAttr("data-ui-select-no-choice"),1==s.length&&a.querySelectorAll(".ui-select-no-choice").replaceWith(s)});var v=n.$eval(r.appendToBody);(void 0!==v?v:t.appendToBody)&&(n.$watch("$select.open",function(e){e?p():g()}),n.$on("$destroy",function(){g()}));var m=null,$="",b=null,w="direction-up";n.$watch("$select.open",function(){"auto"!==h.dropdownPosition&&"up"!==h.dropdownPosition||n.calculateDropdownPos()});var y=function(e,t){e=e||c(a),t=t||c(b),b[0].style.position="absolute",b[0].style.top=t.height*-1+"px",a.addClass(w)},x=function(e,t){a.removeClass(w),e=e||c(a),t=t||c(b),b[0].style.position="",b[0].style.top=""},E=function(){l(function(){if("up"===h.dropdownPosition)y();else{a.removeClass(w);var t=c(a),i=c(b),n=e[0].documentElement.scrollTop||e[0].body.scrollTop;t.top+t.height+i.height>n+e[0].documentElement.clientHeight?y(t,i):x(t,i)}b[0].style.opacity=1})},S=!1;n.calculateDropdownPos=function(){if(h.open){if(b=angular.element(a).querySelectorAll(".ui-select-dropdown"),0===b.length)return;if(""!==h.search||S||(b[0].style.opacity=0,S=!0),!c(b).height&&h.$animate&&h.$animate.on&&h.$animate.enabled(b)){var e=!0;h.$animate.on("enter",b,function(t,i){"close"===i&&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)}}}}}}]),i.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(i){i.addClass("ui-select-match");var c=i.parent(),n=t(c,"theme")||e.theme,s=angular.isDefined(t(c,"multiple"));return n+(s?"/match-multiple.tpl.html":"/match.tpl.html")},link:function(t,i,c,n){function s(e){n.allowClear=!!angular.isDefined(e)&&(""===e||"true"===e.toLowerCase())}n.lockChoiceExpression=c.uiLockChoice,c.$observe("placeholder",function(t){n.placeholder=void 0!==t?t:e.placeholder}),c.$observe("allowClear",s),s(c.allowClear),n.multiple&&n.sizeSearchInput()}}}]),i.directive("uiSelectMultiple",["uiSelectMinErr","$timeout",function(t,i){return{restrict:"EA",require:["^uiSelect","^ngModel"],controller:["$scope","$timeout",function(e,t){var i,c=this,n=e.$select;angular.isUndefined(n.selected)&&(n.selected=[]),e.$evalAsync(function(){i=e.ngModel}),c.activeMatchIndex=-1,c.updateModel=function(){i.$setViewValue(Date.now()),c.refreshComponent()},c.refreshComponent=function(){n.refreshItems&&n.refreshItems(),n.sizeSearchInput&&n.sizeSearchInput()},c.removeChoice=function(i){if(n.isLocked(null,i))return!1;var s=n.selected[i],l={};return l[n.parserResult.itemName]=s,n.selected.splice(i,1),c.activeMatchIndex=-1,n.sizeSearchInput(),t(function(){n.onRemoveCallback(e,{$item:s,$model:n.parserResult.modelMapper(e,l)})}),c.updateModel(),!0},c.getPlaceholder=function(){if(!n.selected||!n.selected.length)return n.placeholder}}],controllerAs:"$selectMultiple",link:function(c,n,s,l){function a(e){return angular.isNumber(e.selectionStart)?e.selectionStart:e.value.length}function r(t){function i(){switch(t){case e.LEFT:return~g.activeMatchIndex?u:l;case e.RIGHT:return~g.activeMatchIndex&&r!==l?o:(d.activate(),!1);case e.BACKSPACE:return~g.activeMatchIndex?g.removeChoice(r)?u:r:l;case e.DELETE:return!!~g.activeMatchIndex&&(g.removeChoice(g.activeMatchIndex),r)}}var c=a(d.searchInput[0]),n=d.selected.length,s=0,l=n-1,r=g.activeMatchIndex,o=g.activeMatchIndex+1,u=g.activeMatchIndex-1,p=r;return!(c>0||d.search.length&&t==e.RIGHT)&&(d.close(),p=i(),d.selected.length&&p!==!1?g.activeMatchIndex=Math.min(l,Math.max(s,p)):g.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 i=-1;if(angular.isArray(e))for(var c=angular.copy(e),n=0;n=0;n--)t={},t[d.parserResult.itemName]=d.selected[n],e=d.parserResult.modelMapper(c,t),i.unshift(e);return i}),p.$formatters.unshift(function(e){var t,i=d.parserResult&&d.parserResult.source(c,{$select:{search:""}}),n={};if(!i)return e;var s=[],l=function(e,i){if(e&&e.length){for(var l=e.length-1;l>=0;l--){if(n[d.parserResult.itemName]=e[l],t=d.parserResult.modelMapper(c,n),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]]==i[r[1]])return s.unshift(e[l]),!0}if(angular.equals(t,i))return s.unshift(e[l]),!0}return!1}};if(!e)return s;for(var a=e.length-1;a>=0;a--)l(d.selected,e[a])||l(i,e[a])||s.unshift(e[a]);return s}),c.$watchCollection(function(){return p.$modelValue},function(e,t){t!=e&&(angular.isDefined(p.$modelValue)&&(p.$modelValue=null),g.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,g.refreshComponent(),c.$evalAsync()},c.$on("uis:select",function(e,t){d.selected.length>=d.limit||(d.selected.push(t),g.updateModel())}),c.$on("uis:activate",function(){g.activeMatchIndex=-1}),c.$watch("$select.disabled",function(e,t){t&&!e&&d.sizeSearchInput()}),d.searchInput.on("keydown",function(t){var i=t.which;c.$apply(function(){var c=!1;e.isHorizontalMovement(i)&&(c=r(i)),c&&i!=e.TAB&&(t.preventDefault(),t.stopPropagation())})}),d.searchInput.on("keyup",function(t){if(e.isVerticalMovement(t.which)||c.$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 i,n,s,l,a=angular.copy(d.items),r=angular.copy(d.items),p=!1,g=-1;if(void 0!==d.tagging.fct){if(s=d.$filter("filter")(a,{isTag:!0}),s.length>0&&(l=s[0]),a.length>0&&l&&(p=!0,a=a.slice(1,a.length),r=r.slice(1,r.length)),i=d.tagging.fct(d.search),r.some(function(e){return angular.equals(e,i)})||d.selected.some(function(e){return angular.equals(e,i)}))return void c.$evalAsync(function(){d.activeIndex=0,d.items=a});i&&(i.isTag=!0)}else{if(s=d.$filter("filter")(a,function(e){return e.match(d.taggingLabel)}),s.length>0&&(l=s[0]),n=a[0],void 0!==n&&a.length>0&&l&&(p=!0,a=a.slice(1,a.length),r=r.slice(1,r.length)),i=d.search+" "+d.taggingLabel,u(d.selected,d.search)>-1)return;if(o(r.concat(d.selected)))return void(p&&(a=r,c.$evalAsync(function(){d.activeIndex=0,d.items=a})));if(o(r))return void(p&&(d.items=r.slice(1,r.length)))}p&&(g=u(d.selected,i)),g>-1?a=a.slice(g+1,a.length-1):(a=[],i&&a.push(i),a=a.concat(r)),c.$evalAsync(function(){if(d.activeIndex=0,d.items=a,d.isGrouped){var e=i?a.slice(1):a;d.setItemsFn(e),i&&(d.items.unshift(i),d.groups.unshift({name:"",items:[i],tagging:!0}))}})}}),d.searchInput.on("blur",function(){i(function(){g.activeMatchIndex=-1})})}}}]),i.directive("uiSelectNoChoice",["uiSelectConfig",function(e){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){t.addClass("ui-select-no-choice");var i=t.parent().attr("theme")||e.theme;return i+"/no-choice.tpl.html"}}}]),i.directive("uiSelectSingle",["$timeout","$compile",function(t,i){return{restrict:"EA",require:["^uiSelect","^ngModel"],link:function(c,n,s,l){function a(e,t){var i=-1;if(angular.isArray(e))for(var c=angular.copy(e),n=0;n=0;l--)if(s(i[l]))return i[l]}return e}),c.$watch("$select.selected",function(e){o.$viewValue!==e&&o.$setViewValue(e)}),o.$render=function(){r.selected=o.$viewValue},c.$on("uis:select",function(e,t){r.selected=t}),c.$on("uis:close",function(e,i){t(function(){r.focusser.prop("disabled",!1),i||r.focusser[0].focus()},0,!1)}),c.$on("uis:activate",function(){u.prop("disabled",!0)});var u=angular.element("");i(u)(c),r.focusser=u,r.focusInput=u,n.parent().append(u),u.bind("focus",function(){c.$evalAsync(function(){r.focus=!0})}),u.bind("blur",function(){c.$evalAsync(function(){r.focus=!1})}),u.bind("keydown",function(t){return t.which===e.BACKSPACE?(t.preventDefault(),t.stopPropagation(),r.select(void 0),void c.$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(),r.activate()),c.$digest()))}),u.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||(r.activate(u.val()),u.val(""),c.$digest())}),r.searchInput.on("keyup",function(t){if(e.isVerticalMovement(t.which)||c.$evalAsync(function(){r.activeIndex=r.taggingLabel===!1?-1:0}),r.tagging.isActivated&&r.search.length>0){if(t.which===e.TAB||e.isControl(t)||e.isFunctionKey(t)||t.which===e.ESC||e.isVerticalMovement(t.which))return;if(r.activeIndex=r.taggingLabel===!1?-1:0,r.taggingLabel===!1)return;var i,n,s,l,o=angular.copy(r.items),u=angular.copy(r.items),d=!1,p=-1;if(void 0!==r.tagging.fct){if(s=r.$filter("filter")(o,{isTag:!0}),s.length>0&&(l=s[0]),o.length>0&&l&&(d=!0,o=o.slice(1,o.length),u=u.slice(1,u.length)),i=r.tagging.fct(r.search),u.some(function(e){return angular.equals(e,i)}))return void c.$evalAsync(function(){r.activeIndex=0,r.items=o});i&&(i.isTag=!0)}else{if(s=r.$filter("filter")(o,function(e){return e.match(r.taggingLabel)}),s.length>0&&(l=s[0]),n=o[0],void 0!==n&&o.length>0&&l&&(d=!0,o=o.slice(1,o.length),u=u.slice(1,u.length)),i=r.search+" "+r.taggingLabel,a(r.selected,r.search)>-1)return;if(_findCaseInsensitiveDupe(u.concat(r.selected)))return void(d&&(o=u,c.$evalAsync(function(){r.activeIndex=0,r.items=o})));if(_findCaseInsensitiveDupe(u))return void(d&&(r.items=u.slice(1,u.length)))}d&&(p=a(r.selected,i)),p>-1?o=o.slice(p+1,o.length-1):(o=[],i&&o.push(i),o=o.concat(u)),c.$evalAsync(function(){if(r.activeIndex=0,r.items=o,r.isGrouped){var e=i?o.slice(1):o;r.setItemsFn(e),i&&(r.items.unshift(i),r.groups.unshift({name:"",items:[i],tagging:!0}))}})}})}}}]),i.directive("uiSelectSort",["$timeout","uiSelectConfig","uiSelectMinErr",function(e,t,i){return{require:["^^uiSelect","^ngModel"],link:function(t,c,n,s){if(null===t[n.uiSelectSort])throw i("sort","Expected a list to sort");var l=s[0],a=s[1],r=angular.extend({axis:"horizontal"},t.$eval(n.uiSelectSortOptions)),o=r.axis,u="dragging",d="dropping",p="dropping-before",g="dropping-after";t.$watch(function(){return l.sortable},function(e){e?c.attr("draggable",!0):c.removeAttr("draggable")}),c.on("dragstart",function(e){c.addClass(u),(e.dataTransfer||e.originalEvent.dataTransfer).setData("text",t.$index.toString())}),c.on("dragend",function(){v(u)});var h,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)})},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.tpl.html",'
    '),e.put("selectize/no-choice.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 886028e5c..f3abaf666 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","generateId","appendToBody","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","$on","remove","$watch","newValue","open","multiple","activate","activeIndex","tagging","isActivated","minimumInputLength","search","refresh","items","$observe","$eval","controller","$scope","$element","$filter","$$uisDebounce","$parse","$injector","_findIndex","collection","predicate","thisArg","findIndex","value","list","Object","i","_resetSearchInput","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","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","isActive","_isItemSelected","selection","isTag","$event","trim","locals","onSelectCallback","$item","$model","modelMapper","type","$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","uisOffset","controllerAs","match","exec","ngClass","combined","removeAttr","inputId","id","ctrls","transcludeFn","onDocumentClick","contains","jQuery","target","focusableControls","targetController","tagName","$digest","positionDropdown","offset","style","after","originalWidth","find","resetDropdown","replaceWith","generatedId","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","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","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","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.18.1 - 2016-07-10T00:18:10.535Z\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 * 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';\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.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/no-choice.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","generateId","appendToBody","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","$on","remove","$watch","newValue","open","multiple","activate","activeIndex","tagging","isActivated","minimumInputLength","search","refresh","items","$observe","$eval","controller","$scope","$element","$filter","$$uisDebounce","$parse","$injector","_findIndex","collection","predicate","thisArg","findIndex","value","list","Object","i","_resetSearchInput","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","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","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","uisOffset","controllerAs","match","exec","ngClass","combined","removeAttr","inputId","id","ctrls","transcludeFn","onDocumentClick","contains","jQuery","target","focusableControls","targetController","tagName","$digest","positionDropdown","offset","style","after","originalWidth","find","resetDropdown","replaceWith","generatedId","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","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","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.18.1 - 2016-07-20T20:40:49.880Z\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 //Copied from multiselect\n $select.searchInput.on('keyup', function (e) {\r\n\n if (!KEY.isVerticalMovement(e.which)) {\r\n scope.$evalAsync(function () {\r\n $select.activeIndex = $select.taggingLabel === false ? -1 : 0;\r\n });\r\n }\n // Push a \"create new\" item into array if there is a search string\n if ($select.tagging.isActivated && $select.search.length > 0) {\n\n // return early with these keys\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC || KEY.isVerticalMovement(e.which)) {\r\n return;\r\n }\n // always reset the activeIndex to the first item when tagging\n $select.activeIndex = $select.taggingLabel === false ? -1 : 0;\n // taggingLabel === false bypasses all of this\n if ($select.taggingLabel === false) return;\n\n var items = angular.copy($select.items);\n var stashArr = angular.copy($select.items);\n var newItem;\n var item;\n var hasTag = false;\n var dupeIndex = -1;\n var tagItems;\n var tagItem;\n\n // case for object tagging via transform `$select.tagging.fct` function\n if ($select.tagging.fct !== undefined) {\r\n tagItems = $select.$filter('filter')(items, { 'isTag': true });\n if (tagItems.length > 0) {\r\n tagItem = tagItems[0];\r\n }\n // remove the first element, if it has the `isTag` prop we generate a new one with each keyup, shaving the previous\n if (items.length > 0 && tagItem) {\r\n hasTag = true;\n items = items.slice(1, items.length);\n stashArr = stashArr.slice(1, stashArr.length);\r\n }\n newItem = $select.tagging.fct($select.search);\n // verify the new tag doesn't match the value of a possible selection choice or an already selected item.\n if (\n stashArr.some(function (origItem) {\r\n return angular.equals(origItem, newItem);\r\n })) {\r\n scope.$evalAsync(function () {\r\n $select.activeIndex = 0;\n $select.items = items;\r\n });\n return;\r\n }\n if (newItem) newItem.isTag = true;\n // handle newItem string and stripping dupes in tagging string context\n } else {\n // find any tagging items already in the $select.items array and store them\n tagItems = $select.$filter('filter')(items, function (item) {\r\n return item.match($select.taggingLabel);\r\n });\n if (tagItems.length > 0) {\r\n tagItem = tagItems[0];\r\n }\n item = items[0];\n // remove existing tag item if found (should only ever be one tag item)\n if (item !== undefined && items.length > 0 && tagItem) {\r\n hasTag = true;\n items = items.slice(1, items.length);\n stashArr = stashArr.slice(1, stashArr.length);\r\n }\n newItem = $select.search + ' ' + $select.taggingLabel;\n if (_findApproxDupe($select.selected, $select.search) > -1) {\r\n return;\r\n }\n // verify the the tag doesn't match the value of an existing item from\n // the searched data set or the items already selected\n if (_findCaseInsensitiveDupe(stashArr.concat($select.selected))) {\n // if there is a tag from prev iteration, strip it / queue the change\n // and return early\n if (hasTag) {\r\n items = stashArr;\n scope.$evalAsync(function () {\r\n $select.activeIndex = 0;\n $select.items = items;\r\n });\r\n }\n return;\r\n }\n if (_findCaseInsensitiveDupe(stashArr)) {\n // if there is a tag from prev iteration, strip it\n if (hasTag) {\r\n $select.items = stashArr.slice(1, stashArr.length);\r\n }\n return;\r\n }\r\n }\n if (hasTag) dupeIndex = _findApproxDupe($select.selected, newItem);\n // dupe found, shave the first item\n if (dupeIndex > -1) {\r\n items = items.slice(dupeIndex + 1, items.length - 1);\r\n } else {\r\n items = [];\n if (newItem) items.push(newItem);\n items = items.concat(stashArr);\r\n }\n scope.$evalAsync(function () {\r\n $select.activeIndex = 0;\n $select.items = items;\n\n if ($select.isGrouped) {\n // update item references in groups, so that indexOf will work after angular.copy\n var itemsWithoutTag = newItem ? items.slice(1) : items;\n $select.setItemsFn(itemsWithoutTag);\n if (newItem) {\n // add tag item as a new group\n $select.items.unshift(newItem);\n $select.groups.unshift({ name: '', items: [newItem], tagging: true });\r\n }\r\n }\r\n });\r\n }\r\n });\n\n //Copied from uiSelectMultipleDirective\n function _findApproxDupe(haystack, needle) {\r\n var dupeIndex = -1;\n if (angular.isArray(haystack)) {\r\n var tempArr = angular.copy(haystack);\n for (var i = 0; i < tempArr.length; i++) {\n // handle the simple string version of tagging\n if ($select.tagging.fct === undefined) {\n // search the array for the match\n if (tempArr[i] + ' ' + $select.taggingLabel === needle) {\r\n dupeIndex = i;\r\n }\n // handle the object tagging implementation\n } else {\r\n var mockObj = tempArr[i];\n if (angular.isObject(mockObj)) {\r\n mockObj.isTag = true;\r\n }\n if (angular.equals(mockObj, needle)) {\r\n dupeIndex = i;\r\n }\r\n }\r\n }\r\n }\n return dupeIndex;\r\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 * 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.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/no-choice.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/select.tpl.html\",\"
    \");}]);",null,null],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/src/uiSelectSingleDirective.js b/src/uiSelectSingleDirective.js index 73abedd23..6783498c1 100644 --- a/src/uiSelectSingleDirective.js +++ b/src/uiSelectSingleDirective.js @@ -118,6 +118,156 @@ uis.directive('uiSelectSingle', ['$timeout','$compile', function($timeout, $comp }); + //Copied from multiselect + $select.searchInput.on('keyup', function (e) { + + if (!KEY.isVerticalMovement(e.which)) { + scope.$evalAsync(function () { + $select.activeIndex = $select.taggingLabel === false ? -1 : 0; + }); + } + // Push a "create new" item into array if there is a search string + if ($select.tagging.isActivated && $select.search.length > 0) { + + // return early with these keys + if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC || KEY.isVerticalMovement(e.which)) { + return; + } + // always reset the activeIndex to the first item when tagging + $select.activeIndex = $select.taggingLabel === false ? -1 : 0; + // taggingLabel === false bypasses all of this + if ($select.taggingLabel === false) return; + + var items = angular.copy($select.items); + var stashArr = angular.copy($select.items); + var newItem; + var item; + var hasTag = false; + var dupeIndex = -1; + var tagItems; + var tagItem; + + // case for object tagging via transform `$select.tagging.fct` function + if ($select.tagging.fct !== undefined) { + tagItems = $select.$filter('filter')(items, { 'isTag': true }); + if (tagItems.length > 0) { + tagItem = tagItems[0]; + } + // remove the first element, if it has the `isTag` prop we generate a new one with each keyup, shaving the previous + if (items.length > 0 && tagItem) { + hasTag = true; + items = items.slice(1, items.length); + stashArr = stashArr.slice(1, stashArr.length); + } + newItem = $select.tagging.fct($select.search); + // verify the new tag doesn't match the value of a possible selection choice or an already selected item. + if ( + stashArr.some(function (origItem) { + return angular.equals(origItem, newItem); + })) { + scope.$evalAsync(function () { + $select.activeIndex = 0; + $select.items = items; + }); + return; + } + if (newItem) newItem.isTag = true; + // handle newItem string and stripping dupes in tagging string context + } else { + // find any tagging items already in the $select.items array and store them + tagItems = $select.$filter('filter')(items, function (item) { + return item.match($select.taggingLabel); + }); + if (tagItems.length > 0) { + tagItem = tagItems[0]; + } + item = items[0]; + // remove existing tag item if found (should only ever be one tag item) + if (item !== undefined && items.length > 0 && tagItem) { + hasTag = true; + items = items.slice(1, items.length); + stashArr = stashArr.slice(1, stashArr.length); + } + newItem = $select.search + ' ' + $select.taggingLabel; + if (_findApproxDupe($select.selected, $select.search) > -1) { + return; + } + // verify the the tag doesn't match the value of an existing item from + // the searched data set or the items already selected + if (_findCaseInsensitiveDupe(stashArr.concat($select.selected))) { + // if there is a tag from prev iteration, strip it / queue the change + // and return early + if (hasTag) { + items = stashArr; + scope.$evalAsync(function () { + $select.activeIndex = 0; + $select.items = items; + }); + } + return; + } + if (_findCaseInsensitiveDupe(stashArr)) { + // if there is a tag from prev iteration, strip it + if (hasTag) { + $select.items = stashArr.slice(1, stashArr.length); + } + return; + } + } + if (hasTag) dupeIndex = _findApproxDupe($select.selected, newItem); + // dupe found, shave the first item + if (dupeIndex > -1) { + items = items.slice(dupeIndex + 1, items.length - 1); + } else { + items = []; + if (newItem) items.push(newItem); + items = items.concat(stashArr); + } + scope.$evalAsync(function () { + $select.activeIndex = 0; + $select.items = items; + + if ($select.isGrouped) { + // update item references in groups, so that indexOf will work after angular.copy + var itemsWithoutTag = newItem ? items.slice(1) : items; + $select.setItemsFn(itemsWithoutTag); + if (newItem) { + // add tag item as a new group + $select.items.unshift(newItem); + $select.groups.unshift({ name: '', items: [newItem], tagging: true }); + } + } + }); + } + }); + + //Copied from uiSelectMultipleDirective + function _findApproxDupe(haystack, needle) { + var dupeIndex = -1; + if (angular.isArray(haystack)) { + var tempArr = angular.copy(haystack); + for (var i = 0; i < tempArr.length; i++) { + // handle the simple string version of tagging + if ($select.tagging.fct === undefined) { + // search the array for the match + if (tempArr[i] + ' ' + $select.taggingLabel === needle) { + dupeIndex = i; + } + // handle the object tagging implementation + } else { + var mockObj = tempArr[i]; + if (angular.isObject(mockObj)) { + mockObj.isTag = true; + } + if (angular.equals(mockObj, needle)) { + dupeIndex = i; + } + } + } + } + return dupeIndex; + } + } };