diff --git a/dist/select.css b/dist/select.css index 5d5f72e94..8c9573742 100644 --- a/dist/select.css +++ b/dist/select.css @@ -1,4 +1,4 @@ -/*! ui-select@0.20.1 https://github.com/bdb-opensource/ui-select (MIT License) */ +/*! ui-select@0.20.3 https://github.com/bdb-opensource/ui-select (MIT License) */ /* Style when highlighting a search. */ .ui-select-highlight { font-weight: bold; diff --git a/dist/select.js b/dist/select.js index cddc91cbd..ed7913bf8 100644 --- a/dist/select.js +++ b/dist/select.js @@ -1,4 +1,4 @@ -/*! ui-select@0.20.1 https://github.com/bdb-opensource/ui-select (MIT License) */ +/*! ui-select@0.20.3 https://github.com/bdb-opensource/ui-select (MIT License) */ (function () { "use strict"; var KEY = { @@ -242,23 +242,21 @@ uis.directive('uiSelectChoices', var parserResult = RepeatParser.parse(tAttrs.repeat); - var choices = tElement.querySelectorAll('.ui-select-choices-row'); + // find the row within the only group (i.e. ignore the null choice) + var choices = angular.element(groups[0]).querySelectorAll('.ui-select-choices-row'); if (choices.length !== 1) { throw uiSelectMinErr('rows', "Expected 1 .ui-select-choices-row but got '{0}'.", choices.length); } choices.attr('ng-repeat', parserResult.repeatExpression(groupByExp)); + choices.attr('ng-click', '$select.select(' + parserResult.itemName + ',$select.skipFocusser,$event)'); - var rowsInner = tElement.querySelectorAll('.ui-select-choices-row-inner'); + var rowsInner = angular.element(choices[0]).querySelectorAll('.ui-select-choices-row-inner'); if (rowsInner.length !== 1) { throw uiSelectMinErr('rows', "Expected 1 .ui-select-choices-row-inner but got '{0}'.", rowsInner.length); } rowsInner.attr('uis-transclude-append', ''); //Adding uisTranscludeAppend directive to row element after choices element has ngRepeat - // If IE8 then need to target rowsInner to apply the ng-click attr as choices will not capture the event. - var clickTarget = $window.document.addEventListener ? choices : rowsInner; - clickTarget.attr('ng-click', '$select.select(' + parserResult.itemName + ',$select.skipFocusser,$event)'); - return function link(scope, element, attrs, $select) { $select.parseRepeatAttr(attrs.repeat, groupByExp, groupFilterExp); //Result ready at $select.parserResult $select.disableChoiceExpression = attrs.uiDisableChoice; @@ -293,7 +291,6 @@ uis.directive('uiSelectChoices', attrs.$observe('nullValue', function(value) { value = scope.$eval(value); $select.nullValue = value !== undefined ? value : null; - $select.refreshItems(); }); attrs.$observe('nullLabel', function(value) { @@ -373,6 +370,7 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat ctrl.cancelEvent = cancelEvent; ctrl.clear = clear; ctrl.close = close; + ctrl.displayNullValue = displayNullValue; ctrl.findGroupByName = findGroupByName; ctrl.focusSearchInput = focusSearchInput; ctrl.getPlaceholder = getPlaceholder; @@ -409,7 +407,7 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat //#region Controller Functions function isEmpty() { var selected = ctrl.selected; - return isNil(selected) || selected === '' || selected.$$null || (ctrl.multiple && !selected.length); + return isNil(selected) || selected === '' || selected === ctrl.nullValue || (ctrl.multiple && !selected.length); } function getSelectedText() { @@ -458,9 +456,7 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat var active = -1; var selected = ctrl.selected; var parserResult = ctrl.parserResult; - if (angular.equals(selected, ctrl.nullValue)) { - active = _findIndex(ctrl.items, isNullValue); - } else if (parserResult && ctrl.items.length) { + if (parserResult && ctrl.items.length) { // If tracked by option.field.id, ng-model={field: {id}}, and items [{field: {id}, oopsNotSelected: true}], // angular.equals will not find the ng-model, thus leaving unselected, due to oopsNotSelected. var trackedValue = parserResult.getTrackedValue($scope, selected); @@ -469,10 +465,10 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat }); } - // If we don't have an active index, select first enabled non-generated null item. - if (active < 0) { + // If we don't have an active index and we're not displaying the "none" option, select first enabled item. + if (active < 0 && !ctrl.displayNullValue()) { active = _findIndex(ctrl.items, function(item) { - return !item.$$null && !_isItemDisabled(item); + return !_isItemDisabled(item); }); } @@ -491,10 +487,6 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat return result; } - function isNullValue(item) { - return item.$$null || angular.equals(item[ctrl.itemProperty], ctrl.nullValue); - } - // When the user clicks on ui-select, displays the dropdown list function activate(initSearchValue, avoidReset) { if (!ctrl.disabled && !ctrl.open) { @@ -524,6 +516,10 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat } } + function displayNullValue() { + return !ctrl.multiple && !ctrl.taggingLabel && !ctrl.required && (!ctrl.search || ctrl.nullLabel.toLowerCase().indexOf(ctrl.search) > -1); + } + function focusSearchInput(initSearchValue) { ctrl.search = initSearchValue || ctrl.search; ctrl.searchInput[0].focus(); @@ -568,16 +564,6 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat }); } - function createNullItem() { - var nullItem = {$$null: true}; - nullItem[ctrl.itemProperty] = ctrl.nullValue; - return nullItem; - } - - function needsNullItem(items) { - return !ctrl.taggingLabel && !ctrl.required && (!ctrl.search || ctrl.nullLabel.toLowerCase().indexOf(ctrl.search) > -1) && !items.some(isNullValue); - } - function onOriginalSourceChange(newVal, oldVal) { if (newVal !== oldVal) { createArrayFromObject(); @@ -627,11 +613,6 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat function updateFlatItems(items) { ctrl.items = items; - - // Insert our null item at the head of the items - if (needsNullItem(items)) { - items.unshift(createNullItem()); - } } function updateGroups(items) { @@ -663,14 +644,6 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat items = ctrl.items = ctrl.groups.reduce(function(items, group) { return items.concat(group.items); }, []); - - // Insert our null item at the head of the list if we dont have an item that represents null. - if (needsNullItem(items)) { - var group = ctrl.groups[0] || (ctrl.groups[0] = {name: '', items: []}); - var nullItem = createNullItem(); - group.items.unshift(nullItem); - items.unshift(nullItem); - } } } @@ -941,6 +914,8 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat function _handleDropDownSelection(key, shiftKey) { var processed = true; + var minActiveIndex = displayNullValue() ? -1 : 0; + switch (key) { case KEY.DOWN: case KEY.UP: @@ -951,28 +926,33 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat var len = ctrl.items.length; do { ctrl.activeIndex += key === KEY.UP ? -1 : 1; - } while (ctrl.activeIndex > 0 && ctrl.activeIndex < len && _isItemDisabled(ctrl.items[ctrl.activeIndex])); + } while (ctrl.activeIndex > minActiveIndex && ctrl.activeIndex < len && _isItemDisabled(ctrl.items[ctrl.activeIndex])); - ctrl.activeIndex = Math.max(0, Math.min(len - 1, ctrl.activeIndex)); + ctrl.activeIndex = Math.max(minActiveIndex, Math.min(len - 1, ctrl.activeIndex)); } break; case KEY.TAB: if (!ctrl.multiple || ctrl.open) { - select(ctrl.items[ctrl.activeIndex], true); + if(ctrl.activeIndex === -1 && displayNullValue()){ + select(ctrl.nullValue, true); + } else { + select(ctrl.items[ctrl.activeIndex], true); + } tabNavigate(shiftKey); } break; case KEY.ENTER: - if (ctrl.open && (ctrl.tagging.isActivated || ctrl.activeIndex >= 0)) { + if(ctrl.open && ctrl.activeIndex === -1 && displayNullValue()) { + select(ctrl.nullValue, ctrl.skipFocusser); + } else if (ctrl.open && (ctrl.tagging.isActivated || ctrl.activeIndex >= 0)) { // Make sure at least one dropdown item is highlighted before adding if not in tagging mode select(ctrl.items[ctrl.activeIndex], ctrl.skipFocusser); } else { // In case its the search input in 'multiple' mode activate(false, true); } - break; case KEY.ESC: close(); @@ -1110,8 +1090,9 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat throw uiSelectMinErr('choices', "Expected multiple .ui-select-choices-row but got '{0}'.", choices.length); } + // When searching for the highlighted item by activeIndex add 1 for the "none" option if rendered + var highlighted = choices[ctrl.activeIndex + (displayNullValue() ? 1 : 0)]; // Bail out if we can't find the highlighted row. - var highlighted = choices[ctrl.activeIndex]; if (!highlighted) { return; } var posY = highlighted.offsetTop + highlighted.clientHeight - container[0].scrollTop; @@ -2185,11 +2166,6 @@ uis.directive('uiSelectSingle', ['$timeout','$compile', function($timeout, $comp return inputValue; } - // Allow the null value to be considered a valid model value - if (inputValue.$$null) { - return inputValue[$select.itemProperty]; - } - var locals = {}; locals[$select.parserResult.itemName] = inputValue; return $select.parserResult.modelMapper(scope, locals); @@ -2584,7 +2560,7 @@ uis.service('uisRepeatParser', ['uiSelectMinErr', '$parse', function(uiSelectMin }]); }()); -angular.module("ui.select").run(["$templateCache", function($templateCache) {$templateCache.put("bootstrap/choices.tpl.html",""); +angular.module("ui.select").run(["$templateCache", function($templateCache) {$templateCache.put("bootstrap/choices.tpl.html",""); $templateCache.put("bootstrap/footer.tpl.html","
"); $templateCache.put("bootstrap/header.tpl.html","
"); $templateCache.put("bootstrap/match-multiple.tpl.html"," × "); @@ -2592,7 +2568,7 @@ $templateCache.put("bootstrap/match.tpl.html","
  • "); $templateCache.put("bootstrap/select-multiple.tpl.html","
    0\" class=\"ui-select-dropdown dropdown-menu\">
    "); $templateCache.put("bootstrap/select.tpl.html","
    0\" class=\"ui-select-dropdown dropdown-menu\">
    "); -$templateCache.put("select2/choices.tpl.html",""); +$templateCache.put("select2/choices.tpl.html",""); $templateCache.put("select2/footer.tpl.html","
    "); $templateCache.put("select2/header.tpl.html","
    "); $templateCache.put("select2/match-multiple.tpl.html","
  • "); @@ -2600,7 +2576,7 @@ $templateCache.put("select2/match.tpl.html","
    "); $templateCache.put("select2/select-multiple.tpl.html","
    "); $templateCache.put("select2/select.tpl.html","
    "); -$templateCache.put("selectize/choices.tpl.html","
    "); +$templateCache.put("selectize/choices.tpl.html","
    "); $templateCache.put("selectize/footer.tpl.html","
    "); $templateCache.put("selectize/header.tpl.html","
    "); $templateCache.put("selectize/match-multiple.tpl.html","
    ×
    "); diff --git a/dist/select.min.css b/dist/select.min.css index 078fb5c54..1b54b42fe 100644 --- a/dist/select.min.css +++ b/dist/select.min.css @@ -1,2 +1,2 @@ -/*! ui-select@0.20.1 https://github.com/bdb-opensource/ui-select (MIT License) */.ui-select-choices-row:hover,.ui-select-container[theme=selectize] .ui-select-header-group-selectable:hover{background-color:#f5f5f5}.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-bootstrap .ui-select-toggle,.ui-select-choices-row{position:relative}.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}.select2 .ui-select-footer,.select2 .ui-select-header{padding:4px 10px}.select2 .ui-select-footer{border-top:1px solid #dfe5eb}.select2 .ui-select-header{border-bottom:1px solid #dfe5eb}.ui-select-container.select2.direction-up .ui-select-match,.ui-select-container[theme=select2].direction-up .ui-select-match{border-radius:0 0 4px 4px}.ui-select-container.select2.direction-up .ui-select-dropdown,.ui-select-container[theme=select2].direction-up .ui-select-dropdown{border-radius:4px 4px 0 0;border-top-width:1px;border-top-style:solid;box-shadow:0 -4px 8px rgba(0,0,0,.25);margin-top:-4px}.ui-select-container.select2.direction-up .ui-select-dropdown .select2-search,.ui-select-container[theme=select2].direction-up .ui-select-dropdown .select2-search{margin-top:4px}.ui-select-container.select2.direction-up.select2-dropdown-open .ui-select-match,.ui-select-container[theme=select2].direction-up.select2-dropdown-open .ui-select-match{border-bottom-color:#5897fb}.ui-select-container[theme=select2] .ui-select-dropdown .ui-select-search-hidden,.ui-select-container[theme=select2] .ui-select-dropdown .ui-select-search-hidden input{opacity:0;height:0;min-height:0;padding:0;margin:0;border:0}.selectize-input.selectize-focus{border-color:#007FBB!important}.selectize-control.single>.selectize-input>input{width:100%}.selectize-control.multi>.selectize-input>input{margin:0!important}.selectize-control>.selectize-dropdown{width:100%}.selectize-dropdown .ui-select-footer,.selectize-dropdown .ui-select-header{padding:5px 8px}.selectize-dropdown .ui-select-header{border-bottom:1px solid #b8b8b8}.selectize-dropdown .ui-select-footer{border-top:1px solid #b8b8b8}.ng-dirty.ng-invalid>div.selectize-input{border-color:#D44950}.ui-select-container[theme=selectize].direction-up .ui-select-dropdown{box-shadow:0 -4px 8px rgba(0,0,0,.25);margin-top:-2px}.ui-select-container[theme=selectize] input.ui-select-search-hidden{opacity:0;height:0;min-height:0;padding:0;margin:0;border:0;width:0}.ui-select-container[theme=selectize] .ui-select-header-group-selectable{cursor:pointer;padding-left:15px}.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>.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:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.input-group .ui-select-bootstrap:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.input-group>.ui-select-bootstrap>input.ui-select-search.form-control{border-radius:4px 0 0 4px}.input-group>.ui-select-bootstrap>input.ui-select-search.form-control.direction-up{border-radius:4px 0 0 4px!important}.ui-select-bootstrap .ui-select-search-hidden{opacity:0;height:0;min-height:0;padding:0;margin:0;border:0}.ui-select-bootstrap>.ui-select-match>.btn{text-align:left!important}.ui-select-bootstrap>.ui-select-match>.caret{position:absolute;top:45%;right:15px}.ui-select-bootstrap .ui-select-choices,.ui-select-bootstrap .ui-select-no-choice{width:100%;height:auto;max-height:200px;overflow-x:hidden;margin-top:-1px}body>.ui-select-bootstrap.open{z-index:1000}.ui-select-multiple.ui-select-bootstrap{height:auto;padding:3px 3px 0}.ui-select-multiple.ui-select-bootstrap input.ui-select-search{background-color:transparent!important;border:none;outline:0;height:1.666666em;margin-bottom:3px}.ui-select-multiple.ui-select-bootstrap .ui-select-match .close{font-size:1.6em;line-height:.75}.ui-select-multiple.ui-select-bootstrap .ui-select-match-item{outline:0;margin:0 3px 3px 0}.ui-select-multiple .ui-select-match-item{position:relative}.ui-select-multiple .ui-select-match-item.dropping .ui-select-match-close{pointer-events:none}.ui-select-multiple:hover .ui-select-match-item.dropping-before:before{content:"";position:absolute;top:0;right:100%;height:100%;margin-right:2px;border-left:1px solid #428bca}.ui-select-multiple:hover .ui-select-match-item.dropping-after:after{content:"";position:absolute;top:0;left:100%;height:100%;margin-left:2px;border-right:1px solid #428bca}.ui-select-bootstrap .ui-select-choices{padding:5px 0;margin:0;list-style:none}.ui-select-bootstrap .ui-select-header-group-selectable:hover{background-color:#f5f5f5}.ui-select-bootstrap .ui-select-header-group-selectable{color:#000;cursor:pointer;padding:3px 10px}.ui-select-bootstrap .ui-select-choices-row>span{cursor:pointer;display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.ui-select-bootstrap .ui-select-choices-row>span:focus,.ui-select-bootstrap .ui-select-choices-row>span:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.ui-select-bootstrap .ui-select-choices-row.active>span{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.ui-select-bootstrap .ui-select-choices-row.active.disabled>span,.ui-select-bootstrap .ui-select-choices-row.disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.ui-select-bootstrap .ui-select-footer,.ui-select-bootstrap .ui-select-header{display:block;padding:5px 20px;clear:both;font-weight:400;line-height:1.42857143}.ui-select-bootstrap .ui-select-footer{border-top:1px solid #dfe5eb}.ui-select-bootstrap .ui-select-header{border-bottom:1px solid #dfe5eb}.ui-select-bootstrap .ui-select-dropdown{min-width:100%;padding:0;margin-top:-1px}.ui-select-match.ng-hide-add,.ui-select-search.ng-hide-add{display:none!important}.ui-select-bootstrap.ng-dirty.ng-invalid>button.btn.ui-select-match{border-color:#D44950}.ui-select-container[theme=bootstrap].direction-up .ui-select-dropdown{box-shadow:0 -4px 8px rgba(0,0,0,.25)}.ui-select-bootstrap .ui-select-match-text{width:100%;padding-right:1em}.ui-select-bootstrap .ui-select-match-text span{display:inline-block;width:100%;overflow:hidden}.ui-select-bootstrap .ui-select-toggle>a.btn{position:absolute;height:10px;right:10px;margin-top:-2px}.ui-select-refreshing.glyphicon{position:absolute;right:0;padding:8px 27px}@-webkit-keyframes ui-select-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes ui-select-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.ui-select-spin{-webkit-animation:ui-select-spin 2s infinite linear;animation:ui-select-spin 2s infinite linear}.ui-select-refreshing.ng-animate{animation:none 0s;-webkit-animation:none 0s} +/*! ui-select@0.20.3 https://github.com/bdb-opensource/ui-select (MIT License) */.ui-select-choices-row:hover,.ui-select-container[theme=selectize] .ui-select-header-group-selectable:hover{background-color:#f5f5f5}.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-bootstrap .ui-select-toggle,.ui-select-choices-row{position:relative}.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}.select2 .ui-select-footer,.select2 .ui-select-header{padding:4px 10px}.select2 .ui-select-footer{border-top:1px solid #dfe5eb}.select2 .ui-select-header{border-bottom:1px solid #dfe5eb}.ui-select-container.select2.direction-up .ui-select-match,.ui-select-container[theme=select2].direction-up .ui-select-match{border-radius:0 0 4px 4px}.ui-select-container.select2.direction-up .ui-select-dropdown,.ui-select-container[theme=select2].direction-up .ui-select-dropdown{border-radius:4px 4px 0 0;border-top-width:1px;border-top-style:solid;box-shadow:0 -4px 8px rgba(0,0,0,.25);margin-top:-4px}.ui-select-container.select2.direction-up .ui-select-dropdown .select2-search,.ui-select-container[theme=select2].direction-up .ui-select-dropdown .select2-search{margin-top:4px}.ui-select-container.select2.direction-up.select2-dropdown-open .ui-select-match,.ui-select-container[theme=select2].direction-up.select2-dropdown-open .ui-select-match{border-bottom-color:#5897fb}.ui-select-container[theme=select2] .ui-select-dropdown .ui-select-search-hidden,.ui-select-container[theme=select2] .ui-select-dropdown .ui-select-search-hidden input{opacity:0;height:0;min-height:0;padding:0;margin:0;border:0}.selectize-input.selectize-focus{border-color:#007FBB!important}.selectize-control.single>.selectize-input>input{width:100%}.selectize-control.multi>.selectize-input>input{margin:0!important}.selectize-control>.selectize-dropdown{width:100%}.selectize-dropdown .ui-select-footer,.selectize-dropdown .ui-select-header{padding:5px 8px}.selectize-dropdown .ui-select-header{border-bottom:1px solid #b8b8b8}.selectize-dropdown .ui-select-footer{border-top:1px solid #b8b8b8}.ng-dirty.ng-invalid>div.selectize-input{border-color:#D44950}.ui-select-container[theme=selectize].direction-up .ui-select-dropdown{box-shadow:0 -4px 8px rgba(0,0,0,.25);margin-top:-2px}.ui-select-container[theme=selectize] input.ui-select-search-hidden{opacity:0;height:0;min-height:0;padding:0;margin:0;border:0;width:0}.ui-select-container[theme=selectize] .ui-select-header-group-selectable{cursor:pointer;padding-left:15px}.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>.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:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.input-group .ui-select-bootstrap:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.input-group>.ui-select-bootstrap>input.ui-select-search.form-control{border-radius:4px 0 0 4px}.input-group>.ui-select-bootstrap>input.ui-select-search.form-control.direction-up{border-radius:4px 0 0 4px!important}.ui-select-bootstrap .ui-select-search-hidden{opacity:0;height:0;min-height:0;padding:0;margin:0;border:0}.ui-select-bootstrap>.ui-select-match>.btn{text-align:left!important}.ui-select-bootstrap>.ui-select-match>.caret{position:absolute;top:45%;right:15px}.ui-select-bootstrap .ui-select-choices,.ui-select-bootstrap .ui-select-no-choice{width:100%;height:auto;max-height:200px;overflow-x:hidden;margin-top:-1px}body>.ui-select-bootstrap.open{z-index:1000}.ui-select-multiple.ui-select-bootstrap{height:auto;padding:3px 3px 0}.ui-select-multiple.ui-select-bootstrap input.ui-select-search{background-color:transparent!important;border:none;outline:0;height:1.666666em;margin-bottom:3px}.ui-select-multiple.ui-select-bootstrap .ui-select-match .close{font-size:1.6em;line-height:.75}.ui-select-multiple.ui-select-bootstrap .ui-select-match-item{outline:0;margin:0 3px 3px 0}.ui-select-multiple .ui-select-match-item{position:relative}.ui-select-multiple .ui-select-match-item.dropping .ui-select-match-close{pointer-events:none}.ui-select-multiple:hover .ui-select-match-item.dropping-before:before{content:"";position:absolute;top:0;right:100%;height:100%;margin-right:2px;border-left:1px solid #428bca}.ui-select-multiple:hover .ui-select-match-item.dropping-after:after{content:"";position:absolute;top:0;left:100%;height:100%;margin-left:2px;border-right:1px solid #428bca}.ui-select-bootstrap .ui-select-choices{padding:5px 0;margin:0;list-style:none}.ui-select-bootstrap .ui-select-header-group-selectable:hover{background-color:#f5f5f5}.ui-select-bootstrap .ui-select-header-group-selectable{color:#000;cursor:pointer;padding:3px 10px}.ui-select-bootstrap .ui-select-choices-row>span{cursor:pointer;display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.ui-select-bootstrap .ui-select-choices-row>span:focus,.ui-select-bootstrap .ui-select-choices-row>span:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.ui-select-bootstrap .ui-select-choices-row.active>span{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.ui-select-bootstrap .ui-select-choices-row.active.disabled>span,.ui-select-bootstrap .ui-select-choices-row.disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.ui-select-bootstrap .ui-select-footer,.ui-select-bootstrap .ui-select-header{display:block;padding:5px 20px;clear:both;font-weight:400;line-height:1.42857143}.ui-select-bootstrap .ui-select-footer{border-top:1px solid #dfe5eb}.ui-select-bootstrap .ui-select-header{border-bottom:1px solid #dfe5eb}.ui-select-bootstrap .ui-select-dropdown{min-width:100%;padding:0;margin-top:-1px}.ui-select-match.ng-hide-add,.ui-select-search.ng-hide-add{display:none!important}.ui-select-bootstrap.ng-dirty.ng-invalid>button.btn.ui-select-match{border-color:#D44950}.ui-select-container[theme=bootstrap].direction-up .ui-select-dropdown{box-shadow:0 -4px 8px rgba(0,0,0,.25)}.ui-select-bootstrap .ui-select-match-text{width:100%;padding-right:1em}.ui-select-bootstrap .ui-select-match-text span{display:inline-block;width:100%;overflow:hidden}.ui-select-bootstrap .ui-select-toggle>a.btn{position:absolute;height:10px;right:10px;margin-top:-2px}.ui-select-refreshing.glyphicon{position:absolute;right:0;padding:8px 27px}@-webkit-keyframes ui-select-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes ui-select-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.ui-select-spin{-webkit-animation:ui-select-spin 2s infinite linear;animation:ui-select-spin 2s infinite linear}.ui-select-refreshing.ng-animate{animation:none 0s;-webkit-animation:none 0s} /*# sourceMappingURL=select.min.css.map */ diff --git a/dist/select.min.js b/dist/select.min.js index 1044eb979..e05f4f700 100644 --- a/dist/select.min.js +++ b/dist/select.min.js @@ -1,4 +1,4 @@ -/*! ui-select@0.20.1 https://github.com/bdb-opensource/ui-select (MIT License) */ -!function(){"use strict";function e(e){return void 0===e||null===e}function t(t,s,i,c,n,a,r,o,u,d){function p(){var t=Y.selected;return e(t)||""===t||t.$$null||Y.multiple&&!t.length}function h(){return Y.$element.find(".ui-select-match-text").text()}function g(){var e=Y.selected;if(!e||!e.length)return Y.placeholder}function f(e,t,l){if(e.findIndex)return e.findIndex(t,l);for(var s,i=Object(e),c=i.length>>>0,n=0;n1&&Y.open&&H()}))}function E(e){Y.search=e||Y.search,Y.searchInput[0].focus()}function y(e,t){return Y.groups&&Y.groups.filter(function(l){return t?l.name==e:l.name===e})[0]}function x(l,s,c){function n(){var e=E(t);t.$uisSource=Object.keys(e).map(function(t){var l={};return l[Y.parserResult.keyName]=t,l.value=e[t],l})}function o(){var e={$$null:!0};return e[Y.itemProperty]=Y.nullValue,e}function d(e){return!Y.taggingLabel&&!Y.required&&(!Y.search||Y.nullLabel.toLowerCase().indexOf(Y.search)>-1)&&!e.some(b)}function h(e,t){e!==t&&n()}function g(t){if(e(t))Y.items=[];else{if(!angular.isArray(t))throw r("items","Expected an array but got '{0}'.",t);Y.refreshItems(t),angular.isDefined(Y.ngModel.$modelValue)&&(Y.ngModel.$modelValue=null)}}function f(l){function s(e){function t(t){return!angular.equals(e,t)}return angular.isArray(c)?c.every(t):t(c)}var c=Y.selected;l=l||Y.parserResult.source(t)||Y.items||[],!Y.multiple||!Y.removeSelected||p()||angular.isArray(c)&&!c.length?Y.setItemsFn(l):e(l)||Y.setItemsFn(l.filter(s)),i(t.calculateDropdownPos),t.$broadcast("uis:refresh")}function v(e){Y.items=e,d(e)&&e.unshift(o())}function m(e){e=e||Y.items;var l=t.$eval(s);Y.items=[],Y.groups=[],e.forEach(function(e){var t=angular.isFunction(l)?l(e):e[l],s=y(t);s?s.items.push(e):Y.groups.push({name:t,items:[e]})});var i=c&&t.$eval(c);if(angular.isFunction(i)?Y.groups=i(Y.groups):angular.isArray(i)&&(Y.groups=$(Y.groups,i)),e=Y.items=Y.groups.reduce(function(e,t){return e.concat(t.items)},[]),d(e)){var n=Y.groups[0]||(Y.groups[0]={name:"",items:[]}),a=o();n.items.unshift(a),e.unshift(a)}}var w=a.parse(l),E=w.source;Y.isGrouped=!!s,Y.itemProperty=w.itemName,Y.parserResult=w,Y.refreshItems=f,Y.setItemsFn=s?m:v,w.keyName&&(n(),w.source=u("$uisSource"+w.filters),t.$watch(E,h,!0)),t.$watchCollection(w.source,g)}function S(l){e(l)||(X&&i.cancel(X),X=i(function(){if(t.$select.search.length>=t.$select.minimumInputLength){var e=t.$eval(l);e&&angular.isFunction(e.then)&&!Y.refreshing&&(Y.refreshing=!0,e["finally"](function(){Y.refreshing=!1}))}},Y.refreshDelay))}function A(e){if(!Y.open)return!1;var t=Y.items.indexOf(e[Y.itemProperty]),l=t==Y.activeIndex;return!(!l||t<0)&&(l&&!angular.isUndefined(Y.onHighlightCallback)&&e.$eval(Y.onHighlightCallback),l)}function C(e){var t=Y.selected;return angular.isArray(t)&&t.filter(function(t){return angular.equals(t,e)}).length>0}function k(e,t){var l=j.indexOf(e);t&&l===-1&&j.push(e),!t&&l>-1&&j.splice(l,1)}function I(e){return j.indexOf(e)>-1}function T(e){if(Y.open){var t=e[Y.itemProperty],l=Y.items.indexOf(t),s=!1;if(l>=0&&(angular.isDefined(Y.disableChoiceExpression)||Y.multiple)){if(t.isTag)return!1;Y.multiple&&(s=C(t)),!s&&angular.isDefined(Y.disableChoiceExpression)&&(s=!!e.$eval(Y.disableChoiceExpression)),k(t,s)}return s}}function M(l,s,i){if(e(l)||!I(l)){if(!Y.items&&!Y.search&&!Y.tagging.isActivated)return;if(!l||!I(l)){if(Y.clickTriggeredSelect=!1,i&&("click"===i.type||"touchend"===i.type)&&l&&(Y.clickTriggeredSelect=!0),Y.tagging.isActivated&&Y.clickTriggeredSelect===!1){if(Y.taggingLabel===!1)if(Y.activeIndex<0){if(void 0===l&&(l=void 0!==Y.tagging.fct?Y.tagging.fct(Y.search):Y.search),!l||angular.equals(Y.items[0],l))return}else l=Y.items[Y.activeIndex];else if(0===Y.activeIndex){if(void 0===l)return;if(void 0!==Y.tagging.fct&&"string"==typeof l){if(l=Y.tagging.fct(l),!l)return}else"string"==typeof l&&(l=l.replace(Y.taggingLabel,"").trim())}if(C(l))return void L(s)}v(),t.$broadcast("uis:select",l),Y.closeOnSelect&&L(s)}}}function L(e){Y.open&&(Y.ngModel&&Y.ngModel.$setTouched&&Y.ngModel.$setTouched(),Y.open=!1,v(),t.$broadcast("uis:close",e))}function R(){Y.focus||Y.searchInput[0].focus()}function D(e){M(Y.nullValue),e.stopPropagation(),i(function(){Y.focusser[0].focus()},0,!1)}function P(e){Y.open?L():w(),F(e)}function O(e){function t(e,t){var l=i.indexOf(e);t&&l===-1&&i.push(e),!t&&l>-1&&i.splice(l,1)}function l(e){return i.indexOf(e)>-1}function s(e,s){var i=!1,c=Y.selected[s];return c&&(e?(i=!!e.$eval(Y.lockChoiceExpression),t(c,i)):i=l(c)),i}if(e){var i=[];Y.isLocked=s}}function q(){function e(){return c.clientWidth*!!s.offsetParent}function l(e){if(0===e)return!1;var t=e-s.offsetLeft;return t<50&&(t=e),Y.searchInput.css("width",t+"px"),!0}var s=Y.searchInput[0],c=Y.$element[0];Y.searchInput.css("width","10px"),i(function(){null!==Z||l(e())||(Z=t.$watch(function(){ee||(ee=!0,t.$$postDigest(function(){ee=!1,l(e())&&(Z(),Z=null)}))},angular.noop))})}function N(e,t){var s=!0;switch(e){case l.DOWN:case l.UP:if(!Y.open&&Y.multiple)w(!1,!0);else{var i=Y.items.length;do Y.activeIndex+=e===l.UP?-1:1;while(Y.activeIndex>0&&Y.activeIndex=0)?M(Y.items[Y.activeIndex],Y.skipFocusser):w(!1,!0);break;case l.ESC:L();break;default:s=!1}return s}function F(e){e.preventDefault(),e.stopPropagation()}function V(e){L(!0),i(function(){var t=Y.focusser&&Y.focusser[0];if(t){var l=angular.element(":tabbable"),s=l.index(t);if(s>-1){s+=e?-1:1;var i=l[s+(s<0?l.length:0)];i&&i.focus()}}},50)}function z(e){var s=e.which;~[l.ENTER,l.ESC,l.TAB].indexOf(s)&&F(e),t.$apply(function(){var t=!1;if(Y.items.length>0||Y.tagging.isActivated){if(N(s,e.shiftKey)||Y.searchEnabled||F(e),Y.taggingTokens.isActivated){for(var c=0;c0&&(t=!0);t&&i(function(){Y.searchInput.triggerHandler("tagged");var t=Y.search.replace(l.MAP[e.keyCode],"").trim();Y.tagging.fct&&(t=Y.tagging.fct(t)),t&&M(t,!0)})}}else s===l.TAB&&V(e.shiftKey)}),l.isVerticalMovement(s)&&Y.items.length>0&&H()}function B(e){var t;if(t=window.clipboardData&&window.clipboardData.getData?window.clipboardData.getData("Text"):(e.originalEvent||e).clipboardData.getData("text/plain"),t=Y.search+t,t&&t.length>0)if(Y.taggingTokens.isActivated){for(var s=[],i=0;i-1){s=t.split(c);break}}0===s.length&&(s=[t]);var n=Y.search;s.forEach(function(e){var t=Y.tagging.fct?Y.tagging.fct(e):e;t&&M(t,!0)}),Y.search=n||Q,F(e)}else Y.paste&&(Y.paste(t),Y.search=Q,F(e))}function G(){i(v)}function H(){var e=s.querySelectorAll(".ui-select-choices-content"),t=e.querySelectorAll(".ui-select-choices-row");if(t.length<1)throw r("choices","Expected multiple .ui-select-choices-row but got '{0}'.",t.length);var l=t[Y.activeIndex];if(l){var i=l.offsetTop+l.clientHeight-e[0].scrollTop,c=e[0].offsetHeight;i>c?e[0].scrollTop+=i-c:i=112&&e<=123},isVerticalMovement:function(e){return~[l.UP,l.DOWN].indexOf(e)},isHorizontalMovement:function(e){return~[l.LEFT,l.RIGHT,l.BACKSPACE,l.DELETE].indexOf(e)},toSeparator:function(e){var t={ENTER:"\n",TAB:"\t",SPACE:" "}[e];return t?t:l[e]?void 0:e}};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],l=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;t;){if(l.bind(t)(e))return t;t=t.parentElement}return!1});var s=0,i=angular.module("ui.select",[]).constant("uiSelectConfig",{theme:"bootstrap",searchEnabled:!0,sortable:!1,placeholder:"",refreshDelay:1e3,closeOnSelect:!0,skipFocusser:!1,dropdownXPosition:"auto",dropdownYPosition:"auto",removeSelected:!0,resetSearchInput:!0,generateId:function(){return s++},appendToBody:!1,spinnerEnabled:!1,spinnerClass:"glyphicon glyphicon-refresh ui-select-spin",backspaceReset:!0,nullLabel:"(none)",nullValue:null}).service("uiSelectMinErr",function(){var e=angular.$$minErr("ui.select");return function(){var t=e.apply(this,arguments),l=t.message.replace(new RegExp("\nhttp://errors.angularjs.org/.*"),"");return new Error(l)}}).directive("uisTranscludeAppend",function(){return{link:function(e,t,l,s,i){i(e,function(e){t.append(e)})}}}).filter("highlight",function(){function e(e){return(""+e).replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(t,l){return l&&t?(""+t).replace(new RegExp(e(l),"gi"),'$&'):t}}).factory("uisOffset",["$document","$window",function(e,t){return function(l){var s=l[0].getBoundingClientRect();return{width:s.width||l.prop("offsetWidth"),height:s.height||l.prop("offsetHeight"),top:s.top+(t.pageYOffset||e[0].documentElement.scrollTop),left:s.left+(t.pageXOffset||e[0].documentElement.scrollLeft)}}}]);i.factory("$$uisDebounce",["$timeout",function(e){return function(t,l){var s;return function(){var i=this,c=Array.prototype.slice.call(arguments);s&&e.cancel(s),s=e(function(){t.apply(i,c)},l)}}}]),i.directive("uiSelectChoices",["uiSelectConfig","uisRepeatParser","uiSelectMinErr","$compile","$window",function(e,t,l,s,i){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){t.addClass("ui-select-choices");var l=t.parent().attr("theme")||e.theme;return l+"/choices.tpl.html"},compile:function(s,c){if(!c.repeat)throw l("repeat","Expected 'repeat' expression.");var n=c.groupBy,a=c.groupFilter,r=s.querySelectorAll(".ui-select-choices-group");if(r.attr("ng-if","$select.open || $select.prerender"),n){if(1!==r.length)throw l("rows","Expected 1 .ui-select-choices-group but got '{0}'.",r.length);r.attr("ng-repeat",t.getGroupNgRepeatExpression())}var o=t.parse(c.repeat),u=s.querySelectorAll(".ui-select-choices-row");if(1!==u.length)throw l("rows","Expected 1 .ui-select-choices-row but got '{0}'.",u.length);u.attr("ng-repeat",o.repeatExpression(n));var d=s.querySelectorAll(".ui-select-choices-row-inner");if(1!==d.length)throw l("rows","Expected 1 .ui-select-choices-row-inner but got '{0}'.",d.length);d.attr("uis-transclude-append","");var p=i.document.addEventListener?u:d;return p.attr("ng-click","$select.select("+o.itemName+",$select.skipFocusser,$event)"),function(t,l,s,i){i.parseRepeatAttr(s.repeat,n,a),i.disableChoiceExpression=s.uiDisableChoice,i.onHighlightCallback=s.onHighlight,i.minimumInputLength=parseInt(s.minimumInputLength)||0;var c=String(s.position||"").toLowerCase().split(/\s+/g);i.dropdownYPosition=c[0]||e.dropdownYPosition,i.dropdownXPosition=c[1]||e.dropdownXPosition,t.$watch("$select.search",function(e){e&&!i.open&&i.multiple&&i.activate(!1,!0),i.activeIndex=i.tagging.isActivated?-1:0,!s.minimumInputLength||i.search.length>=s.minimumInputLength?i.refresh(s.refresh):i.items=[]}),s.$observe("prerender",function(e){e=t.$eval(e),i.prerender=e!==!1}),s.$observe("refreshDelay",function(l){l=t.$eval(l),i.refreshDelay=void 0!==l?l:e.refreshDelay}),s.$observe("nullValue",function(e){e=t.$eval(e),i.nullValue=void 0!==e?e:null,i.refreshItems()}),s.$observe("nullLabel",function(t){i.nullLabel=void 0!==t&&""!==t?t:e.nullLabel}),t.$watch("$select.open",function(e){e?(l.attr("role","listbox"),i.refresh(s.refresh)):l.removeAttr("role")})}}}}]),i.controller("uiSelectCtrl",["$scope","$element","$timeout","$filter","$$uisDebounce","uisRepeatParser","uiSelectMinErr","uiSelectConfig","$parse","$window",t]),i.directive("uiSelect",["$document","uiSelectConfig","uiSelectMinErr","uisOffset","$parse","$timeout","$window",function(e,t,l,s,i,c,n){return{restrict:"EA",templateUrl:function(e,l){var s=l.theme||t.theme;return s+(angular.isDefined(l.multiple)?"/select-multiple.tpl.html":"/select.tpl.html")},replace:!0,transclude:!0,require:["uiSelect","^ngModel","?^^fieldset"],scope:!0,controller:"uiSelectCtrl",controllerAs:"$select",compile:function(a,r){var o=/{(.*)}\s*{(.*)}/.exec(r.ngClass);if(o){var u="{"+o[1]+", "+o[2]+"}";r.ngClass=u,a.attr("ng-class",u)}return angular.isDefined(r.multiple)?a.append("").removeAttr("multiple"):a.append(""),r.inputId&&(a.querySelectorAll("input.ui-select-search")[0].id=r.inputId),function(a,r,o,u,d){function p(t){var l=y.scrollLeft||e[0].body.scrollLeft,s=t.left+t.width-(l+y.clientWidth),i=30,c=t.left;return s>0&&(c-=s+i),c}function h(e){if(b.open){var t=!1,l=e.target||e.srcElement;if(t=window.jQuery?window.jQuery.contains(r[0],l):r[0].contains(l),!t&&!b.clickTriggeredSelect){var s;if(b.skipFocusser)s=!0;else{var i=["input","button","textarea","select"],c=angular.element(l).controller("uiSelect");s=c&&c!==b,s||(s=~i.indexOf(l.tagName.toLowerCase()))}b.close(s),a.$digest()}b.clickTriggeredSelect=!1}}function g(){b.close(!1)}function f(e){r[0].contains(e.target||e.srcElement)||b.close(!1)}function v(){var t=s(r);A=angular.element('
    '),A[0].style.width=t.width+"px",A[0].style.height=t.height+"px",r.after(A),S=r[0].style.width,r[0].style.position="absolute",r[0].style.left=p(t)+"px",r[0].style.top=t.top+"px",r[0].style.width=t.width+"px",e[0].body.appendChild(r[0])}function m(){n.removeEventListener("mousedown",h,!0),n.removeEventListener("scroll",g,!0),n.removeEventListener("resize",m,!0),A&&(r[0].style.position="",r[0].style.left="",r[0].style.top="",r[0].style.width=S,A.replaceWith(r),A=null,$())}function $(){c(b.setFocus)}var b=u[0],w=u[1],E=u[2],y=e[0].documentElement,x=angular.element(),S="",A=null,C=a.$eval(o.appendToBody);void 0===C&&(C=t.appendToBody),b.generatedId=t.generateId(),b.baseTitle=o.title||"Select box",b.focusserTitle=b.baseTitle+" focus",b.focusserId="focusser-"+b.generatedId,b.closeOnSelect=function(){return angular.isDefined(o.closeOnSelect)?i(o.closeOnSelect)():t.closeOnSelect}(),a.$watch("skipFocusser",function(){var e=a.$eval(o.skipFocusser);b.skipFocusser=void 0!==e?e:t.skipFocusser}),b.onSelectCallback=i(o.onSelect),b.onRemoveCallback=i(o.onRemove),b.ngModel=w,b.choiceGrouped=function(e){return b.isGrouped&&e&&e.name},o.tabindex&&o.$observe("tabindex",function(e){b.searchInput.attr("tabindex",e),r.removeAttr("tabindex")}),a.$watch(function(){return a.$eval(o.searchEnabled)},function(e){b.searchEnabled=void 0!==e?e:t.searchEnabled}),a.$watch("sortable",function(){var e=a.$eval(o.sortable);b.sortable=void 0!==e?e:t.sortable}),o.$observe("backspaceReset",function(){var e=a.$eval(o.backspaceReset);b.backspaceReset=void 0===e||e}),o.$observe("limit",function(){b.limit=angular.isDefined(o.limit)?parseInt(o.limit,10):void 0}),a.$watch("removeSelected",function(){var e=a.$eval(o.removeSelected);b.removeSelected=void 0!==e?e:t.removeSelected}),a.$watch(function(){return r.attr("disabled")||E&&E.isDisabled()},function(e){b.disabled=e}),o.$observe("resetSearchInput",function(){var e=a.$eval(o.resetSearchInput);b.resetSearchInput=void 0===e||e}),o.$observe("paste",function(){b.paste=a.$eval(o.paste)}),o.$observe("tagging",function(){if(void 0!==o.tagging){var e=a.$eval(o.tagging);b.tagging={isActivated:!0,fct:e!==!0?e:void 0}}else b.tagging={isActivated:!1,fct:void 0}}),o.$observe("taggingLabel",function(){void 0!==o.tagging&&("false"===o.taggingLabel?b.taggingLabel=!1:b.taggingLabel=void 0!==o.taggingLabel?o.taggingLabel:"(new)")}),o.$observe("taggingTokens",function(){if(void 0!==o.tagging){var e=void 0!==o.taggingTokens?o.taggingTokens.split("|"):[",","ENTER"];b.taggingTokens={isActivated:!0,tokens:e}}}),o.$observe("spinnerEnabled",function(){var e=a.$eval(o.spinnerEnabled);b.spinnerEnabled=void 0!==e?e:t.spinnerEnabled}),o.$observe("spinnerClass",function(){var e=o.spinnerClass;b.spinnerClass=void 0!==e?o.spinnerClass:t.spinnerClass}),a.$watch(function(){return!!a.$eval(o.ngRequired)},function(e,t){b.required=e,b.refreshItems()}),angular.isDefined(o.autofocus)&&$(),angular.isDefined(o.focusOn)&&a.$on(o.focusOn,$),d(a,function(e){var t=angular.element("
    ").append(e),s=t.querySelectorAll(".ui-select-match");if(s.removeAttr("ui-select-match"),s.removeAttr("data-ui-select-match"),1!==s.length)throw l("transcluded","Expected 1 .ui-select-match but got '{0}'.",s.length);r.querySelectorAll(".ui-select-match").replaceWith(s);var i=t.querySelectorAll(".ui-select-choices");if(i.removeAttr("ui-select-choices"),i.removeAttr("data-ui-select-choices"),1!==i.length)throw l("transcluded","Expected 1 .ui-select-choices but got '{0}'.",i.length);r.querySelectorAll(".ui-select-choices").replaceWith(i);var c=t.querySelectorAll(".ui-select-no-choice");c.removeAttr("ui-select-no-choice"),c.removeAttr("data-ui-select-no-choice"),1==c.length&&r.querySelectorAll(".ui-select-no-choice").replaceWith(c);var n=t.querySelectorAll(".ui-select-header");n.removeAttr("ui-select-header"),n.removeAttr("data-ui-select-header"),1==n.length?r.querySelectorAll(".ui-select-header").replaceWith(n):r.querySelectorAll(".ui-select-header").remove();var a=t.querySelectorAll(".ui-select-footer");a.removeAttr("ui-select-footer"),a.removeAttr("data-ui-select-footer"),1==a.length?r.querySelectorAll(".ui-select-footer").replaceWith(a):r.querySelectorAll(".ui-select-footer").remove()}),a.$watch("$select.open",function(e){e?(n.addEventListener("mousedown",h,!0),n.addEventListener("scroll",f,!0),n.addEventListener("resize",g,!0),C&&a.$evalAsync(v),a.calculateDropdownPos()):m()}),a.$on("$destroy",m),a.calculateDropdownPos=function(){if(b.open&&(x=x.length?x:angular.element(r).querySelectorAll(".ui-select-dropdown"),x.length)){x[0].style.position="",x[0].style.top="",x[0].style.visibility="hidden",r.removeClass("direction-up dropdown-menu-right");var t=s(r),l=s(x),i=y||e[0].body,c=b.dropdownXPosition;x.toggleClass("dropdown-menu-right","right"===c||"auto"===c&&t.left+l.width-i.scrollLeft>y.clientWidth);var n=b.dropdownYPosition,a="up"===n||"auto"===n&&t.top+t.height+l.height-i.scrollTop>y.clientHeight?l.height*-1+"px":"";x[0].style.position=a?"absolute":"",x[0].style.top=a,x[0].style.visibility="",a&&r.addClass("direction-up")}}}}}}]),i.directive("uiSelectFooter",["uiSelectConfig",function(e){return{templateUrl:function(t){t.addClass("ui-select-footer");var l=t.parent().attr("theme")||e.theme;return l+"/footer.tpl.html"},restrict:"EA",transclude:!0,replace:!0}}]),i.directive("uiSelectHeader",["uiSelectConfig",function(e){return{templateUrl:function(t){t.addClass("ui-select-header");var l=t.parent().attr("theme")||e.theme;return l+"/header.tpl.html"},restrict:"EA",transclude:!0,replace:!0}}]),i.directive("uiSelectHeaderGroupSelectable",["$timeout",function(e){return{restrict:"EA",require:["^uiSelect"],scope:{isEnabled:"0||p.search.length&&e==l.RIGHT)&&(p.close(),d=t(),p.selected.length&&d!==!1?g.activeMatchIndex=Math.min(n,Math.max(c,d)):g.activeMatchIndex=-1,!0)}function u(e){if(void 0===e||void 0===p.search)return!1;var t=e.filter(function(e){return void 0!==p.search.toUpperCase()&&void 0!==e&&e.toUpperCase()===p.search.toUpperCase()}).length>0;return t}function d(e,t){var l=-1;if(angular.isArray(e))for(var s=angular.copy(e),i=0;i=0;s--)t={},t[p.parserResult.itemName]=p.selected[s],e=p.parserResult.modelMapper(i,t),l.unshift(e);return l}),h.$formatters.unshift(function(e){var t,l=p.parserResult&&p.parserResult.source(i,{$select:{search:""}}),s={};if(!l)return e;var c=[],n=function(e,l){if(e&&e.length){for(var n=e.length-1;n>=0;n--){if(s[p.parserResult.itemName]=e[n],t=p.parserResult.modelMapper(i,s),p.parserResult.trackByExp){var a=/(\w*)\./.exec(p.parserResult.trackByExp),r=/\.([^\s]+)/.exec(p.parserResult.trackByExp);if(a&&a.length>0&&a[1]==p.parserResult.itemName&&r&&r.length>0&&t[r[1]]==l[r[1]])return c.unshift(e[n]),!0}if(angular.equals(t,l))return c.unshift(e[n]),!0}return!1}};if(!e)return c;for(var a=e.length-1;a>=0;a--)n(p.selected,e[a])||n(l,e[a])||c.unshift(e[a]);return c}),i.$watchCollection(function(){return h.$modelValue},function(e,t){t!=e&&(angular.isDefined(h.$modelValue)&&(h.$modelValue=null),g.refreshComponent())}),h.$render=function(){if(!angular.isArray(h.$viewValue)){if(!e(h.$viewValue))throw t("multiarr","Expected model value to be array but got '{0}'",h.$viewValue);h.$viewValue=[]}p.selected=h.$viewValue,g.refreshComponent(),i.$evalAsync()},i.$on("uis:select",function(e,t){if(!(p.selected.length>=p.limit)){p.selected.push(t);var l={};l[p.parserResult.itemName]=t,s(function(){p.onSelectCallback(i,{$item:t,$model:p.parserResult.modelMapper(i,l)})}),g.updateModel()}}),i.$on("uis:activate",function(){g.activeMatchIndex=-1}),i.$watch("$select.disabled",function(e,t){t&&!e&&p.sizeSearchInput()}),p.searchInput.on("keydown",function(e){var t=e.which;i.$apply(function(){var s=!1;l.isHorizontalMovement(t)&&(s=o(t)),s&&t!=l.TAB&&p.cancelEvent(e)})}),p.searchInput.on("keyup",function(e){if(l.isVerticalMovement(e.which)||i.$evalAsync(function(){p.activeIndex=p.taggingLabel===!1?-1:0}),p.tagging.isActivated&&p.search.length>0){if(e.which===l.TAB||l.isControl(e)||l.isFunctionKey(e)||e.which===l.ESC||l.isVerticalMovement(e.which))return;if(p.activeIndex=p.taggingLabel===!1?-1:0,p.taggingLabel===!1)return;var t,s,c,n,a=angular.copy(p.items),r=angular.copy(p.items),o=!1,h=-1;if(void 0!==p.tagging.fct){if(c=p.$filter("filter")(a,{isTag:!0}),c.length>0&&(n=c[0]),a.length>0&&n&&(o=!0,a=a.slice(1,a.length),r=r.slice(1,r.length)),t=p.tagging.fct(p.search),r.some(function(e){return angular.equals(e,t)})||p.selected.some(function(e){return angular.equals(e,t)}))return void i.$evalAsync(function(){p.activeIndex=0,p.items=a});t&&(t.isTag=!0)}else{if(c=p.$filter("filter")(a,function(e){return e.match(p.taggingLabel)}),c.length>0&&(n=c[0]),s=a[0],void 0!==s&&a.length>0&&n&&(o=!0,a=a.slice(1,a.length),r=r.slice(1,r.length)),t=p.search+" "+p.taggingLabel,d(p.selected,p.search)>-1)return;if(u(r.concat(p.selected)))return void(o&&(a=r,i.$evalAsync(function(){p.activeIndex=0,p.items=a})));if(u(r))return void(o&&(p.items=r.slice(1,r.length)))}o&&(h=d(p.selected,t)),h>-1?a=a.slice(h+1,a.length-1):(a=[],t&&a.push(t),a=a.concat(r)),i.$evalAsync(function(){if(p.activeIndex=0,p.items=a,p.isGrouped){var e=t?a.slice(1):a;p.setItemsFn(e),t&&(p.items.unshift(t),p.groups.unshift({name:"",items:[t],tagging:!0}))}})}}),p.searchInput.on("blur",function(){s(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 l=t.parent().attr("theme")||e.theme;return l+"/no-choice.tpl.html"}}}]),i.directive("uiSelectSingle",["$timeout","$compile",function(t,s){return{restrict:"EA",require:["^uiSelect","^ngModel"],link:function(i,c,n,a){var r=a[0],o=a[1];o.$parsers.unshift(function(t){if(e(t))return t;if(t.$$null)return t[r.itemProperty];var l={};return l[r.parserResult.itemName]=t,r.parserResult.modelMapper(i,l)}),o.$formatters.unshift(function(t){if(e(t))return t;var l,s=r.parserResult&&r.parserResult.source(i,{$select:{search:""}}),c={};if(s){var n=function(e){return c[r.parserResult.itemName]=e,l=r.parserResult.modelMapper(i,c),l===t};if(r.selected&&n(r.selected))return r.selected;for(var a=s.length-1;a>=0;a--)if(n(s[a]))return s[a]}return t}),i.$watch("$select.selected",function(e){o.$viewValue!==e&&o.$setViewValue(e)}),o.$render=function(){r.selected=o.$viewValue},i.$on("uis:select",function(l,s){r.selected=s;var c={};c[r.parserResult.itemName]=s,t(function(){r.onSelectCallback(i,{$item:s,$model:e(s)?s:r.parserResult.modelMapper(i,c)})})}),i.$on("uis:close",function(e,l){t(function(){l||r.focusser[0].focus()},0,!1)});var u=angular.element("");s(u)(i),r.focusser=u,c.parent().parent().prepend(u),i.$on("$destroy",function(){r.focusser&&r.focusser.remove()}),u.on("focus",function(){i.$evalAsync(function(){r.focus=!0})}),u.on("blur",function(){i.$evalAsync(function(){r.focus=!1})}),u.on("keydown",function(e){return e.which===l.BACKSPACE&&r.backspaceReset!==!1?(r.select(r.nullValue),r.cancelEvent(e),void i.$apply()):e.which===l.TAB?(r.tabNavigate(e.shiftKey),void r.cancelEvent(e)):void(e.which===l.TAB||l.isControl(e)||l.isFunctionKey(e)||e.which===l.ESC||(e.which!=l.DOWN&&e.which!=l.UP&&e.which!=l.ENTER&&e.which!=l.SPACE||(r.cancelEvent(e),r.activate()),i.$digest()))}),u.on("keyup input",function(e){e.which===l.TAB||l.isControl(e)||l.isFunctionKey(e)||e.which===l.ESC||e.which==l.ENTER||e.which===l.BACKSPACE||(r.activate(u.val()), -u.val(""),i.$digest())})}}}]),i.directive("uiSelectSort",["$timeout","uiSelectConfig","uiSelectMinErr",function(e,t,l){return{require:["^^uiSelect","^ngModel"],link:function(t,s,i,c){if(null===t[i.uiSelectSort])throw l("sort","Expected a list to sort");var n=c[0],a=c[1],r=angular.extend({axis:"horizontal"},t.$eval(i.uiSelectSortOptions)),o=r.axis,u="dragging",d="dropping",p="dropping-before",h="dropping-after";if(t.$watch(function(){return n.sortable},function(e){e?s.attr("draggable",!0):s.removeAttr("draggable")}),!s.data("disallowDrop")){s.on("dragstart",function(e){s.addClass(u),(e.dataTransfer||e.originalEvent.dataTransfer).setData("text",t.$index.toString())}),s.on("dragend",function(){v(u)});var g,f=function(e,t){this.splice(t,0,this.splice(e,1)[0])},v=function(e){angular.forEach(n.$element.querySelectorAll("."+e),function(t){angular.element(t).removeClass(e)})},m=function(e){e.preventDefault();var t="vertical"===o?e.offsetY||e.layerY||(e.originalEvent?e.originalEvent.offsetY:0):e.offsetX||e.layerX||(e.originalEvent?e.originalEvent.offsetX:0);t
  • '),e.put("bootstrap/footer.tpl.html",''),e.put("bootstrap/header.tpl.html",'
    '),e.put("bootstrap/match-multiple.tpl.html",' × '),e.put("bootstrap/match.tpl.html",'
    '),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/footer.tpl.html",''),e.put("select2/header.tpl.html",'
    '),e.put("select2/match-multiple.tpl.html",'
  • '),e.put("select2/match.tpl.html",' '),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/footer.tpl.html",''),e.put("selectize/header.tpl.html",'
    '),e.put("selectize/match-multiple.tpl.html",'
    ×
    '),e.put("selectize/match.tpl.html",'
    '),e.put("selectize/no-choice.tpl.html",'
    '),e.put("selectize/select-multiple.tpl.html",'
    '),e.put("selectize/select.tpl.html",'
    ')}]); +/*! ui-select@0.20.3 https://github.com/bdb-opensource/ui-select (MIT License) */ +!function(){"use strict";function e(e){return void 0===e||null===e}function t(t,i,s,c,n,a,r,o,u,d){function p(){var t=Y.selected;return e(t)||""===t||t===Y.nullValue||Y.multiple&&!t.length}function h(){return Y.$element.find(".ui-select-match-text").text()}function g(){var e=Y.selected;if(!e||!e.length)return Y.placeholder}function f(e,t,l){if(e.findIndex)return e.findIndex(t,l);for(var i,s=Object(e),c=s.length>>>0,n=0;n1&&Y.open&&H()}))}function w(){return!Y.multiple&&!Y.taggingLabel&&!Y.required&&(!Y.search||Y.nullLabel.toLowerCase().indexOf(Y.search)>-1)}function E(e){Y.search=e||Y.search,Y.searchInput[0].focus()}function x(e,t){return Y.groups&&Y.groups.filter(function(l){return t?l.name==e:l.name===e})[0]}function y(l,i,c){function n(){var e=m(t);t.$uisSource=Object.keys(e).map(function(t){var l={};return l[Y.parserResult.keyName]=t,l.value=e[t],l})}function o(e,t){e!==t&&n()}function d(t){if(e(t))Y.items=[];else{if(!angular.isArray(t))throw r("items","Expected an array but got '{0}'.",t);Y.refreshItems(t),angular.isDefined(Y.ngModel.$modelValue)&&(Y.ngModel.$modelValue=null)}}function h(l){function i(e){function t(t){return!angular.equals(e,t)}return angular.isArray(c)?c.every(t):t(c)}var c=Y.selected;l=l||Y.parserResult.source(t)||Y.items||[],!Y.multiple||!Y.removeSelected||p()||angular.isArray(c)&&!c.length?Y.setItemsFn(l):e(l)||Y.setItemsFn(l.filter(i)),s(t.calculateDropdownPos),t.$broadcast("uis:refresh")}function g(e){Y.items=e}function f(e){e=e||Y.items;var l=t.$eval(i);Y.items=[],Y.groups=[],e.forEach(function(e){var t=angular.isFunction(l)?l(e):e[l],i=x(t);i?i.items.push(e):Y.groups.push({name:t,items:[e]})});var s=c&&t.$eval(c);angular.isFunction(s)?Y.groups=s(Y.groups):angular.isArray(s)&&(Y.groups=$(Y.groups,s)),e=Y.items=Y.groups.reduce(function(e,t){return e.concat(t.items)},[])}var v=a.parse(l),m=v.source;Y.isGrouped=!!i,Y.itemProperty=v.itemName,Y.parserResult=v,Y.refreshItems=h,Y.setItemsFn=i?f:g,v.keyName&&(n(),v.source=u("$uisSource"+v.filters),t.$watch(m,o,!0)),t.$watchCollection(v.source,d)}function S(l){e(l)||(X&&s.cancel(X),X=s(function(){if(t.$select.search.length>=t.$select.minimumInputLength){var e=t.$eval(l);e&&angular.isFunction(e.then)&&!Y.refreshing&&(Y.refreshing=!0,e["finally"](function(){Y.refreshing=!1}))}},Y.refreshDelay))}function A(e){if(!Y.open)return!1;var t=Y.items.indexOf(e[Y.itemProperty]),l=t==Y.activeIndex;return!(!l||t<0)&&(l&&!angular.isUndefined(Y.onHighlightCallback)&&e.$eval(Y.onHighlightCallback),l)}function k(e){var t=Y.selected;return angular.isArray(t)&&t.filter(function(t){return angular.equals(t,e)}).length>0}function C(e,t){var l=j.indexOf(e);t&&l===-1&&j.push(e),!t&&l>-1&&j.splice(l,1)}function I(e){return j.indexOf(e)>-1}function T(e){if(Y.open){var t=e[Y.itemProperty],l=Y.items.indexOf(t),i=!1;if(l>=0&&(angular.isDefined(Y.disableChoiceExpression)||Y.multiple)){if(t.isTag)return!1;Y.multiple&&(i=k(t)),!i&&angular.isDefined(Y.disableChoiceExpression)&&(i=!!e.$eval(Y.disableChoiceExpression)),C(t,i)}return i}}function M(l,i,s){if(e(l)||!I(l)){if(!Y.items&&!Y.search&&!Y.tagging.isActivated)return;if(!l||!I(l)){if(Y.clickTriggeredSelect=!1,s&&("click"===s.type||"touchend"===s.type)&&l&&(Y.clickTriggeredSelect=!0),Y.tagging.isActivated&&Y.clickTriggeredSelect===!1){if(Y.taggingLabel===!1)if(Y.activeIndex<0){if(void 0===l&&(l=void 0!==Y.tagging.fct?Y.tagging.fct(Y.search):Y.search),!l||angular.equals(Y.items[0],l))return}else l=Y.items[Y.activeIndex];else if(0===Y.activeIndex){if(void 0===l)return;if(void 0!==Y.tagging.fct&&"string"==typeof l){if(l=Y.tagging.fct(l),!l)return}else"string"==typeof l&&(l=l.replace(Y.taggingLabel,"").trim())}if(k(l))return void L(i)}v(),t.$broadcast("uis:select",l),Y.closeOnSelect&&L(i)}}}function L(e){Y.open&&(Y.ngModel&&Y.ngModel.$setTouched&&Y.ngModel.$setTouched(),Y.open=!1,v(),t.$broadcast("uis:close",e))}function R(){Y.focus||Y.searchInput[0].focus()}function D(e){M(Y.nullValue),e.stopPropagation(),s(function(){Y.focusser[0].focus()},0,!1)}function N(e){Y.open?L():b(),F(e)}function P(e){function t(e,t){var l=s.indexOf(e);t&&l===-1&&s.push(e),!t&&l>-1&&s.splice(l,1)}function l(e){return s.indexOf(e)>-1}function i(e,i){var s=!1,c=Y.selected[i];return c&&(e?(s=!!e.$eval(Y.lockChoiceExpression),t(c,s)):s=l(c)),s}if(e){var s=[];Y.isLocked=i}}function O(){function e(){return c.clientWidth*!!i.offsetParent}function l(e){if(0===e)return!1;var t=e-i.offsetLeft;return t<50&&(t=e),Y.searchInput.css("width",t+"px"),!0}var i=Y.searchInput[0],c=Y.$element[0];Y.searchInput.css("width","10px"),s(function(){null!==Z||l(e())||(Z=t.$watch(function(){ee||(ee=!0,t.$$postDigest(function(){ee=!1,l(e())&&(Z(),Z=null)}))},angular.noop))})}function q(e,t){var i=!0,s=w()?-1:0;switch(e){case l.DOWN:case l.UP:if(!Y.open&&Y.multiple)b(!1,!0);else{var c=Y.items.length;do Y.activeIndex+=e===l.UP?-1:1;while(Y.activeIndex>s&&Y.activeIndex=0)?M(Y.items[Y.activeIndex],Y.skipFocusser):b(!1,!0);break;case l.ESC:L();break;default:i=!1}return i}function F(e){e.preventDefault(),e.stopPropagation()}function V(e){L(!0),s(function(){var t=Y.focusser&&Y.focusser[0];if(t){var l=angular.element(":tabbable"),i=l.index(t);if(i>-1){i+=e?-1:1;var s=l[i+(i<0?l.length:0)];s&&s.focus()}}},50)}function z(e){var i=e.which;~[l.ENTER,l.ESC,l.TAB].indexOf(i)&&F(e),t.$apply(function(){var t=!1;if(Y.items.length>0||Y.tagging.isActivated){if(q(i,e.shiftKey)||Y.searchEnabled||F(e),Y.taggingTokens.isActivated){for(var c=0;c0&&(t=!0);t&&s(function(){Y.searchInput.triggerHandler("tagged");var t=Y.search.replace(l.MAP[e.keyCode],"").trim();Y.tagging.fct&&(t=Y.tagging.fct(t)),t&&M(t,!0)})}}else i===l.TAB&&V(e.shiftKey)}),l.isVerticalMovement(i)&&Y.items.length>0&&H()}function B(e){var t;if(t=window.clipboardData&&window.clipboardData.getData?window.clipboardData.getData("Text"):(e.originalEvent||e).clipboardData.getData("text/plain"),t=Y.search+t,t&&t.length>0)if(Y.taggingTokens.isActivated){for(var i=[],s=0;s-1){i=t.split(c);break}}0===i.length&&(i=[t]);var n=Y.search;i.forEach(function(e){var t=Y.tagging.fct?Y.tagging.fct(e):e;t&&M(t,!0)}),Y.search=n||Q,F(e)}else Y.paste&&(Y.paste(t),Y.search=Q,F(e))}function G(){s(v)}function H(){var e=i.querySelectorAll(".ui-select-choices-content"),t=e.querySelectorAll(".ui-select-choices-row");if(t.length<1)throw r("choices","Expected multiple .ui-select-choices-row but got '{0}'.",t.length);var l=t[Y.activeIndex+(w()?1:0)];if(l){var s=l.offsetTop+l.clientHeight-e[0].scrollTop,c=e[0].offsetHeight;s>c?e[0].scrollTop+=s-c:s=112&&e<=123},isVerticalMovement:function(e){return~[l.UP,l.DOWN].indexOf(e)},isHorizontalMovement:function(e){return~[l.LEFT,l.RIGHT,l.BACKSPACE,l.DELETE].indexOf(e)},toSeparator:function(e){var t={ENTER:"\n",TAB:"\t",SPACE:" "}[e];return t?t:l[e]?void 0:e}};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],l=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;t;){if(l.bind(t)(e))return t;t=t.parentElement}return!1});var i=0,s=angular.module("ui.select",[]).constant("uiSelectConfig",{theme:"bootstrap",searchEnabled:!0,sortable:!1,placeholder:"",refreshDelay:1e3,closeOnSelect:!0,skipFocusser:!1,dropdownXPosition:"auto",dropdownYPosition:"auto",removeSelected:!0,resetSearchInput:!0,generateId:function(){return i++},appendToBody:!1,spinnerEnabled:!1,spinnerClass:"glyphicon glyphicon-refresh ui-select-spin",backspaceReset:!0,nullLabel:"(none)",nullValue:null}).service("uiSelectMinErr",function(){var e=angular.$$minErr("ui.select");return function(){var t=e.apply(this,arguments),l=t.message.replace(new RegExp("\nhttp://errors.angularjs.org/.*"),"");return new Error(l)}}).directive("uisTranscludeAppend",function(){return{link:function(e,t,l,i,s){s(e,function(e){t.append(e)})}}}).filter("highlight",function(){function e(e){return(""+e).replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(t,l){return l&&t?(""+t).replace(new RegExp(e(l),"gi"),'$&'):t}}).factory("uisOffset",["$document","$window",function(e,t){return function(l){var i=l[0].getBoundingClientRect();return{width:i.width||l.prop("offsetWidth"),height:i.height||l.prop("offsetHeight"),top:i.top+(t.pageYOffset||e[0].documentElement.scrollTop),left:i.left+(t.pageXOffset||e[0].documentElement.scrollLeft)}}}]);s.factory("$$uisDebounce",["$timeout",function(e){return function(t,l){var i;return function(){var s=this,c=Array.prototype.slice.call(arguments);i&&e.cancel(i),i=e(function(){t.apply(s,c)},l)}}}]),s.directive("uiSelectChoices",["uiSelectConfig","uisRepeatParser","uiSelectMinErr","$compile","$window",function(e,t,l,i,s){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){t.addClass("ui-select-choices");var l=t.parent().attr("theme")||e.theme;return l+"/choices.tpl.html"},compile:function(i,s){if(!s.repeat)throw l("repeat","Expected 'repeat' expression.");var c=s.groupBy,n=s.groupFilter,a=i.querySelectorAll(".ui-select-choices-group");if(a.attr("ng-if","$select.open || $select.prerender"),c){if(1!==a.length)throw l("rows","Expected 1 .ui-select-choices-group but got '{0}'.",a.length);a.attr("ng-repeat",t.getGroupNgRepeatExpression())}var r=t.parse(s.repeat),o=angular.element(a[0]).querySelectorAll(".ui-select-choices-row");if(1!==o.length)throw l("rows","Expected 1 .ui-select-choices-row but got '{0}'.",o.length);o.attr("ng-repeat",r.repeatExpression(c)),o.attr("ng-click","$select.select("+r.itemName+",$select.skipFocusser,$event)");var u=angular.element(o[0]).querySelectorAll(".ui-select-choices-row-inner");if(1!==u.length)throw l("rows","Expected 1 .ui-select-choices-row-inner but got '{0}'.",u.length);return u.attr("uis-transclude-append",""),function(t,l,i,s){s.parseRepeatAttr(i.repeat,c,n),s.disableChoiceExpression=i.uiDisableChoice,s.onHighlightCallback=i.onHighlight,s.minimumInputLength=parseInt(i.minimumInputLength)||0;var a=String(i.position||"").toLowerCase().split(/\s+/g);s.dropdownYPosition=a[0]||e.dropdownYPosition,s.dropdownXPosition=a[1]||e.dropdownXPosition,t.$watch("$select.search",function(e){e&&!s.open&&s.multiple&&s.activate(!1,!0),s.activeIndex=s.tagging.isActivated?-1:0,!i.minimumInputLength||s.search.length>=i.minimumInputLength?s.refresh(i.refresh):s.items=[]}),i.$observe("prerender",function(e){e=t.$eval(e),s.prerender=e!==!1}),i.$observe("refreshDelay",function(l){l=t.$eval(l),s.refreshDelay=void 0!==l?l:e.refreshDelay}),i.$observe("nullValue",function(e){e=t.$eval(e),s.nullValue=void 0!==e?e:null}),i.$observe("nullLabel",function(t){s.nullLabel=void 0!==t&&""!==t?t:e.nullLabel}),t.$watch("$select.open",function(e){e?(l.attr("role","listbox"),s.refresh(i.refresh)):l.removeAttr("role")})}}}}]),s.controller("uiSelectCtrl",["$scope","$element","$timeout","$filter","$$uisDebounce","uisRepeatParser","uiSelectMinErr","uiSelectConfig","$parse","$window",t]),s.directive("uiSelect",["$document","uiSelectConfig","uiSelectMinErr","uisOffset","$parse","$timeout","$window",function(e,t,l,i,s,c,n){return{restrict:"EA",templateUrl:function(e,l){var i=l.theme||t.theme;return i+(angular.isDefined(l.multiple)?"/select-multiple.tpl.html":"/select.tpl.html")},replace:!0,transclude:!0,require:["uiSelect","^ngModel","?^^fieldset"],scope:!0,controller:"uiSelectCtrl",controllerAs:"$select",compile:function(a,r){var o=/{(.*)}\s*{(.*)}/.exec(r.ngClass);if(o){var u="{"+o[1]+", "+o[2]+"}";r.ngClass=u,a.attr("ng-class",u)}return angular.isDefined(r.multiple)?a.append("").removeAttr("multiple"):a.append(""),r.inputId&&(a.querySelectorAll("input.ui-select-search")[0].id=r.inputId),function(a,r,o,u,d){function p(t){var l=x.scrollLeft||e[0].body.scrollLeft,i=t.left+t.width-(l+x.clientWidth),s=30,c=t.left;return i>0&&(c-=i+s),c}function h(e){if(b.open){var t=!1,l=e.target||e.srcElement;if(t=window.jQuery?window.jQuery.contains(r[0],l):r[0].contains(l),!t&&!b.clickTriggeredSelect){var i;if(b.skipFocusser)i=!0;else{var s=["input","button","textarea","select"],c=angular.element(l).controller("uiSelect");i=c&&c!==b,i||(i=~s.indexOf(l.tagName.toLowerCase()))}b.close(i),a.$digest()}b.clickTriggeredSelect=!1}}function g(){b.close(!1)}function f(e){r[0].contains(e.target||e.srcElement)||b.close(!1)}function v(){var t=i(r);A=angular.element('
    '),A[0].style.width=t.width+"px",A[0].style.height=t.height+"px",r.after(A),S=r[0].style.width,r[0].style.position="absolute",r[0].style.left=p(t)+"px",r[0].style.top=t.top+"px",r[0].style.width=t.width+"px",e[0].body.appendChild(r[0])}function m(){n.removeEventListener("mousedown",h,!0),n.removeEventListener("scroll",g,!0),n.removeEventListener("resize",m,!0),A&&(r[0].style.position="",r[0].style.left="",r[0].style.top="",r[0].style.width=S,A.replaceWith(r),A=null,$())}function $(){c(b.setFocus)}var b=u[0],w=u[1],E=u[2],x=e[0].documentElement,y=angular.element(),S="",A=null,k=a.$eval(o.appendToBody);void 0===k&&(k=t.appendToBody),b.generatedId=t.generateId(),b.baseTitle=o.title||"Select box",b.focusserTitle=b.baseTitle+" focus",b.focusserId="focusser-"+b.generatedId,b.closeOnSelect=function(){return angular.isDefined(o.closeOnSelect)?s(o.closeOnSelect)():t.closeOnSelect}(),a.$watch("skipFocusser",function(){var e=a.$eval(o.skipFocusser);b.skipFocusser=void 0!==e?e:t.skipFocusser}),b.onSelectCallback=s(o.onSelect),b.onRemoveCallback=s(o.onRemove),b.ngModel=w,b.choiceGrouped=function(e){return b.isGrouped&&e&&e.name},o.tabindex&&o.$observe("tabindex",function(e){b.searchInput.attr("tabindex",e),r.removeAttr("tabindex")}),a.$watch(function(){return a.$eval(o.searchEnabled)},function(e){b.searchEnabled=void 0!==e?e:t.searchEnabled}),a.$watch("sortable",function(){var e=a.$eval(o.sortable);b.sortable=void 0!==e?e:t.sortable}),o.$observe("backspaceReset",function(){var e=a.$eval(o.backspaceReset);b.backspaceReset=void 0===e||e}),o.$observe("limit",function(){b.limit=angular.isDefined(o.limit)?parseInt(o.limit,10):void 0}),a.$watch("removeSelected",function(){var e=a.$eval(o.removeSelected);b.removeSelected=void 0!==e?e:t.removeSelected}),a.$watch(function(){return r.attr("disabled")||E&&E.isDisabled()},function(e){b.disabled=e}),o.$observe("resetSearchInput",function(){var e=a.$eval(o.resetSearchInput);b.resetSearchInput=void 0===e||e}),o.$observe("paste",function(){b.paste=a.$eval(o.paste)}),o.$observe("tagging",function(){if(void 0!==o.tagging){var e=a.$eval(o.tagging);b.tagging={isActivated:!0,fct:e!==!0?e:void 0}}else b.tagging={isActivated:!1,fct:void 0}}),o.$observe("taggingLabel",function(){void 0!==o.tagging&&("false"===o.taggingLabel?b.taggingLabel=!1:b.taggingLabel=void 0!==o.taggingLabel?o.taggingLabel:"(new)")}),o.$observe("taggingTokens",function(){if(void 0!==o.tagging){var e=void 0!==o.taggingTokens?o.taggingTokens.split("|"):[",","ENTER"];b.taggingTokens={isActivated:!0,tokens:e}}}),o.$observe("spinnerEnabled",function(){var e=a.$eval(o.spinnerEnabled);b.spinnerEnabled=void 0!==e?e:t.spinnerEnabled}),o.$observe("spinnerClass",function(){var e=o.spinnerClass;b.spinnerClass=void 0!==e?o.spinnerClass:t.spinnerClass}),a.$watch(function(){return!!a.$eval(o.ngRequired)},function(e,t){b.required=e,b.refreshItems()}),angular.isDefined(o.autofocus)&&$(),angular.isDefined(o.focusOn)&&a.$on(o.focusOn,$),d(a,function(e){var t=angular.element("
    ").append(e),i=t.querySelectorAll(".ui-select-match");if(i.removeAttr("ui-select-match"),i.removeAttr("data-ui-select-match"),1!==i.length)throw l("transcluded","Expected 1 .ui-select-match but got '{0}'.",i.length);r.querySelectorAll(".ui-select-match").replaceWith(i);var s=t.querySelectorAll(".ui-select-choices");if(s.removeAttr("ui-select-choices"),s.removeAttr("data-ui-select-choices"),1!==s.length)throw l("transcluded","Expected 1 .ui-select-choices but got '{0}'.",s.length);r.querySelectorAll(".ui-select-choices").replaceWith(s);var c=t.querySelectorAll(".ui-select-no-choice");c.removeAttr("ui-select-no-choice"),c.removeAttr("data-ui-select-no-choice"),1==c.length&&r.querySelectorAll(".ui-select-no-choice").replaceWith(c);var n=t.querySelectorAll(".ui-select-header");n.removeAttr("ui-select-header"),n.removeAttr("data-ui-select-header"),1==n.length?r.querySelectorAll(".ui-select-header").replaceWith(n):r.querySelectorAll(".ui-select-header").remove();var a=t.querySelectorAll(".ui-select-footer");a.removeAttr("ui-select-footer"),a.removeAttr("data-ui-select-footer"),1==a.length?r.querySelectorAll(".ui-select-footer").replaceWith(a):r.querySelectorAll(".ui-select-footer").remove()}),a.$watch("$select.open",function(e){e?(n.addEventListener("mousedown",h,!0),n.addEventListener("scroll",f,!0),n.addEventListener("resize",g,!0),k&&a.$evalAsync(v),a.calculateDropdownPos()):m()}),a.$on("$destroy",m),a.calculateDropdownPos=function(){if(b.open&&(y=y.length?y:angular.element(r).querySelectorAll(".ui-select-dropdown"),y.length)){y[0].style.position="",y[0].style.top="",y[0].style.visibility="hidden",r.removeClass("direction-up dropdown-menu-right");var t=i(r),l=i(y),s=x||e[0].body,c=b.dropdownXPosition;y.toggleClass("dropdown-menu-right","right"===c||"auto"===c&&t.left+l.width-s.scrollLeft>x.clientWidth);var n=b.dropdownYPosition,a="up"===n||"auto"===n&&t.top+t.height+l.height-s.scrollTop>x.clientHeight?l.height*-1+"px":"";y[0].style.position=a?"absolute":"",y[0].style.top=a,y[0].style.visibility="",a&&r.addClass("direction-up")}}}}}}]),s.directive("uiSelectFooter",["uiSelectConfig",function(e){return{templateUrl:function(t){t.addClass("ui-select-footer");var l=t.parent().attr("theme")||e.theme;return l+"/footer.tpl.html"},restrict:"EA",transclude:!0,replace:!0}}]),s.directive("uiSelectHeader",["uiSelectConfig",function(e){return{templateUrl:function(t){t.addClass("ui-select-header");var l=t.parent().attr("theme")||e.theme;return l+"/header.tpl.html"},restrict:"EA",transclude:!0,replace:!0}}]),s.directive("uiSelectHeaderGroupSelectable",["$timeout",function(e){return{restrict:"EA",require:["^uiSelect"],scope:{isEnabled:"0||p.search.length&&e==l.RIGHT)&&(p.close(),d=t(),p.selected.length&&d!==!1?g.activeMatchIndex=Math.min(n,Math.max(c,d)):g.activeMatchIndex=-1,!0)}function u(e){if(void 0===e||void 0===p.search)return!1;var t=e.filter(function(e){return void 0!==p.search.toUpperCase()&&void 0!==e&&e.toUpperCase()===p.search.toUpperCase()}).length>0;return t}function d(e,t){var l=-1;if(angular.isArray(e))for(var i=angular.copy(e),s=0;s=0;i--)t={},t[p.parserResult.itemName]=p.selected[i],e=p.parserResult.modelMapper(s,t),l.unshift(e);return l}),h.$formatters.unshift(function(e){var t,l=p.parserResult&&p.parserResult.source(s,{$select:{search:""}}),i={};if(!l)return e;var c=[],n=function(e,l){if(e&&e.length){for(var n=e.length-1;n>=0;n--){if(i[p.parserResult.itemName]=e[n],t=p.parserResult.modelMapper(s,i),p.parserResult.trackByExp){var a=/(\w*)\./.exec(p.parserResult.trackByExp),r=/\.([^\s]+)/.exec(p.parserResult.trackByExp);if(a&&a.length>0&&a[1]==p.parserResult.itemName&&r&&r.length>0&&t[r[1]]==l[r[1]])return c.unshift(e[n]),!0}if(angular.equals(t,l))return c.unshift(e[n]),!0}return!1}};if(!e)return c;for(var a=e.length-1;a>=0;a--)n(p.selected,e[a])||n(l,e[a])||c.unshift(e[a]);return c}),s.$watchCollection(function(){return h.$modelValue},function(e,t){t!=e&&(angular.isDefined(h.$modelValue)&&(h.$modelValue=null),g.refreshComponent())}),h.$render=function(){if(!angular.isArray(h.$viewValue)){if(!e(h.$viewValue))throw t("multiarr","Expected model value to be array but got '{0}'",h.$viewValue);h.$viewValue=[]}p.selected=h.$viewValue,g.refreshComponent(),s.$evalAsync()},s.$on("uis:select",function(e,t){if(!(p.selected.length>=p.limit)){p.selected.push(t);var l={};l[p.parserResult.itemName]=t,i(function(){p.onSelectCallback(s,{$item:t,$model:p.parserResult.modelMapper(s,l)})}),g.updateModel()}}),s.$on("uis:activate",function(){g.activeMatchIndex=-1}),s.$watch("$select.disabled",function(e,t){t&&!e&&p.sizeSearchInput()}),p.searchInput.on("keydown",function(e){var t=e.which;s.$apply(function(){var i=!1;l.isHorizontalMovement(t)&&(i=o(t)),i&&t!=l.TAB&&p.cancelEvent(e)})}),p.searchInput.on("keyup",function(e){if(l.isVerticalMovement(e.which)||s.$evalAsync(function(){p.activeIndex=p.taggingLabel===!1?-1:0}),p.tagging.isActivated&&p.search.length>0){if(e.which===l.TAB||l.isControl(e)||l.isFunctionKey(e)||e.which===l.ESC||l.isVerticalMovement(e.which))return;if(p.activeIndex=p.taggingLabel===!1?-1:0,p.taggingLabel===!1)return;var t,i,c,n,a=angular.copy(p.items),r=angular.copy(p.items),o=!1,h=-1;if(void 0!==p.tagging.fct){if(c=p.$filter("filter")(a,{isTag:!0}),c.length>0&&(n=c[0]),a.length>0&&n&&(o=!0,a=a.slice(1,a.length),r=r.slice(1,r.length)),t=p.tagging.fct(p.search),r.some(function(e){return angular.equals(e,t)})||p.selected.some(function(e){return angular.equals(e,t)}))return void s.$evalAsync(function(){p.activeIndex=0,p.items=a});t&&(t.isTag=!0)}else{if(c=p.$filter("filter")(a,function(e){return e.match(p.taggingLabel)}),c.length>0&&(n=c[0]),i=a[0],void 0!==i&&a.length>0&&n&&(o=!0,a=a.slice(1,a.length),r=r.slice(1,r.length)),t=p.search+" "+p.taggingLabel,d(p.selected,p.search)>-1)return;if(u(r.concat(p.selected)))return void(o&&(a=r,s.$evalAsync(function(){p.activeIndex=0,p.items=a})));if(u(r))return void(o&&(p.items=r.slice(1,r.length)))}o&&(h=d(p.selected,t)),h>-1?a=a.slice(h+1,a.length-1):(a=[],t&&a.push(t),a=a.concat(r)),s.$evalAsync(function(){if(p.activeIndex=0,p.items=a,p.isGrouped){var e=t?a.slice(1):a;p.setItemsFn(e),t&&(p.items.unshift(t),p.groups.unshift({name:"",items:[t],tagging:!0}))}})}}),p.searchInput.on("blur",function(){i(function(){g.activeMatchIndex=-1})})}}}]),s.directive("uiSelectNoChoice",["uiSelectConfig",function(e){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){t.addClass("ui-select-no-choice");var l=t.parent().attr("theme")||e.theme;return l+"/no-choice.tpl.html"}}}]),s.directive("uiSelectSingle",["$timeout","$compile",function(t,i){return{restrict:"EA",require:["^uiSelect","^ngModel"],link:function(s,c,n,a){var r=a[0],o=a[1];o.$parsers.unshift(function(t){if(e(t))return t;var l={};return l[r.parserResult.itemName]=t,r.parserResult.modelMapper(s,l)}),o.$formatters.unshift(function(t){if(e(t))return t;var l,i=r.parserResult&&r.parserResult.source(s,{$select:{search:""}}),c={};if(i){var n=function(e){return c[r.parserResult.itemName]=e,l=r.parserResult.modelMapper(s,c),l===t};if(r.selected&&n(r.selected))return r.selected;for(var a=i.length-1;a>=0;a--)if(n(i[a]))return i[a]}return t}),s.$watch("$select.selected",function(e){o.$viewValue!==e&&o.$setViewValue(e)}),o.$render=function(){r.selected=o.$viewValue},s.$on("uis:select",function(l,i){r.selected=i;var c={};c[r.parserResult.itemName]=i,t(function(){r.onSelectCallback(s,{$item:i,$model:e(i)?i:r.parserResult.modelMapper(s,c)})})}),s.$on("uis:close",function(e,l){t(function(){l||r.focusser[0].focus()},0,!1)});var u=angular.element("");i(u)(s),r.focusser=u,c.parent().parent().prepend(u),s.$on("$destroy",function(){r.focusser&&r.focusser.remove()}),u.on("focus",function(){s.$evalAsync(function(){r.focus=!0})}),u.on("blur",function(){s.$evalAsync(function(){r.focus=!1})}),u.on("keydown",function(e){return e.which===l.BACKSPACE&&r.backspaceReset!==!1?(r.select(r.nullValue),r.cancelEvent(e),void s.$apply()):e.which===l.TAB?(r.tabNavigate(e.shiftKey),void r.cancelEvent(e)):void(e.which===l.TAB||l.isControl(e)||l.isFunctionKey(e)||e.which===l.ESC||(e.which!=l.DOWN&&e.which!=l.UP&&e.which!=l.ENTER&&e.which!=l.SPACE||(r.cancelEvent(e),r.activate()),s.$digest()))}),u.on("keyup input",function(e){e.which===l.TAB||l.isControl(e)||l.isFunctionKey(e)||e.which===l.ESC||e.which==l.ENTER||e.which===l.BACKSPACE||(r.activate(u.val()),u.val(""),s.$digest())})}}}]),s.directive("uiSelectSort",["$timeout","uiSelectConfig","uiSelectMinErr",function(e,t,l){return{require:["^^uiSelect","^ngModel"], +link:function(t,i,s,c){if(null===t[s.uiSelectSort])throw l("sort","Expected a list to sort");var n=c[0],a=c[1],r=angular.extend({axis:"horizontal"},t.$eval(s.uiSelectSortOptions)),o=r.axis,u="dragging",d="dropping",p="dropping-before",h="dropping-after";if(t.$watch(function(){return n.sortable},function(e){e?i.attr("draggable",!0):i.removeAttr("draggable")}),!i.data("disallowDrop")){i.on("dragstart",function(e){i.addClass(u),(e.dataTransfer||e.originalEvent.dataTransfer).setData("text",t.$index.toString())}),i.on("dragend",function(){v(u)});var g,f=function(e,t){this.splice(t,0,this.splice(e,1)[0])},v=function(e){angular.forEach(n.$element.querySelectorAll("."+e),function(t){angular.element(t).removeClass(e)})},m=function(e){e.preventDefault();var t="vertical"===o?e.offsetY||e.layerY||(e.originalEvent?e.originalEvent.offsetY:0):e.offsetX||e.layerX||(e.originalEvent?e.originalEvent.offsetX:0);t
  • '),e.put("bootstrap/footer.tpl.html",''),e.put("bootstrap/header.tpl.html",'
    '),e.put("bootstrap/match-multiple.tpl.html",' × '),e.put("bootstrap/match.tpl.html",'
    '),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/footer.tpl.html",''),e.put("select2/header.tpl.html",'
    '),e.put("select2/match-multiple.tpl.html",'
  • '),e.put("select2/match.tpl.html",' '),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/footer.tpl.html",''),e.put("selectize/header.tpl.html",'
    '),e.put("selectize/match-multiple.tpl.html",'
    ×
    '),e.put("selectize/match.tpl.html",'
    '),e.put("selectize/no-choice.tpl.html",'
    '),e.put("selectize/select-multiple.tpl.html",'
    '),e.put("selectize/select.tpl.html",'
    ')}]); //# sourceMappingURL=select.min.js.map diff --git a/dist/select.min.js.map b/dist/select.min.js.map index 813ae045c..725b50f8a 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":["isNil","value","undefined","uiSelectCtrl","$scope","$element","$timeout","$filter","$$uisDebounce","RepeatParser","uiSelectMinErr","uiSelectConfig","$parse","$window","isEmpty","selected","ctrl","$$null","multiple","length","getSelectedText","find","text","getPlaceholder","placeholder","_findIndex","collection","predicate","thisArg","findIndex","list","Object","i","call","_resetSearchInput","resetSearchInput","search","EMPTY_SEARCH","setActiveIndexToSelected","active","parserResult","angular","equals","nullValue","items","isNullValue","trackedValue","getTrackedValue","item","_isItemDisabled","activeIndex","_groupsFilter","groups","groupNames","j","result","name","push","itemProperty","activate","initSearchValue","avoidReset","disabled","open","searchEnabled","close","$broadcast","taggingLabel","focusSearchInput","tagging","isActivated","_ensureHighlightVisible","searchInput","focus","findGroupByName","noStrict","filter","group","parseRepeatAttr","repeatAttr","groupByExp","groupFilterExp","createArrayFromObject","origSrc","originalSource","$uisSource","keys","map","v","keyName","createNullItem","nullItem","needsNullItem","required","nullLabel","toLowerCase","indexOf","some","onOriginalSourceChange","newVal","oldVal","onSourceChange","isArray","refreshItems","isDefined","ngModel","$modelValue","data","excludeSelected","isNotSelected","selectedItem","selectedItems","every","source","removeSelected","setItemsFn","calculateDropdownPos","updateFlatItems","unshift","updateGroups","groupFn","$eval","forEach","groupName","isFunction","groupFilterFn","reduce","concat","parse","isGrouped","itemName","filters","$watch","$watchCollection","refresh","refreshAttr","refreshDelayPromise","cancel","$select","minimumInputLength","refreshPromise","then","refreshing","refreshDelay","isActive","itemScope","itemIndex","isUndefined","onHighlightCallback","_isItemSelected","selection","_updateItemDisabled","isDisabled","disabledItemIndex","disabledItems","splice","disableChoiceExpression","isTag","select","skipFocusser","$event","clickTriggeredSelect","type","fct","replace","trim","closeOnSelect","$setTouched","setFocus","clear","stopPropagation","focusser","toggle","e","cancelEvent","_initaliseLockedChoices","doInitalise","_updateItemLocked","isLocked","lockedItemIndex","lockedItems","_isItemlocked","isLockedFn","lockChoiceExpression","sizeSearchInput","calculateContainerWidth","container","clientWidth","input","offsetParent","updateIfVisible","containerWidth","inputWidth","offsetLeft","css","sizeWatch","updaterScheduled","$$postDigest","noop","_handleDropDownSelection","key","shiftKey","processed","KEY","DOWN","UP","len","Math","max","min","TAB","tabNavigate","ENTER","ESC","preventDefault","focusEl","focusable","element","index","el","onSearchInputKeyDown","which","$apply","tagged","taggingTokens","tokens","MAP","keyCode","triggerHandler","newItem","isVerticalMovement","onSearchInputPaste","window","clipboardData","getData","originalEvent","separator","toSeparator","split","oldsearch","paste","onSearchInputTagged","querySelectorAll","choices","highlighted","posY","offsetTop","clientHeight","scrollTop","height","offsetHeight","isLockChoiceExpressionDefined","onActiveIndexChange","attr","generatedId","onDestroy","off","onResize","onOpenChange","removeAttr","this","dropdownXPosition","dropdownYPosition","sortable","spinnerClass","spinnerEnabled","on","$on","SPACE","LEFT","RIGHT","SHIFT","CTRL","ALT","PAGE_UP","PAGE_DOWN","HOME","END","BACKSPACE","DELETE","COMMAND","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","k","metaKey","ctrlKey","isFunctionKey","isHorizontalMovement","sep","prototype","selector","closest","elem","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","bind","parentElement","latestId","uis","module","constant","theme","generateId","appendToBody","backspaceReset","service","minErr","$$minErr","error","apply","arguments","message","RegExp","Error","directive","link","scope","attrs","transclude","clone","append","escapeRegexp","queryToEscape","matchItem","query","factory","$document","boundingClientRect","getBoundingClientRect","width","prop","top","pageYOffset","documentElement","left","pageXOffset","scrollLeft","callback","debounceTime","timeoutPromise","self","args","Array","slice","$compile","restrict","require","templateUrl","tElement","addClass","parent","compile","tAttrs","repeat","groupBy","groupFilter","getGroupNgRepeatExpression","repeatExpression","rowsInner","clickTarget","document","addEventListener","uiDisableChoice","onHighlight","parseInt","position","String","newValue","$observe","prerender","controller","uisOffset","controllerAs","match","exec","ngClass","combined","inputId","id","ctrls","transcludeFn","calculateSelectLeftPosition","offset","body","edgeOffscreenAmount","paddingFromEdge","leftPosition","closeOnClick","contains","target","srcElement","jQuery","focusableControls","targetController","tagName","$digest","closeOnResize","closeOnScroll","positionDropdown","style","after","originalWidth","appendChild","resetDropdown","removeEventListener","replaceWith","resetFocus","$fieldset","dropdown","baseTitle","title","focusserTitle","focusserId","onSelectCallback","onSelect","onRemoveCallback","onRemove","choiceGrouped","tabindex","limit","taggingEval","ngRequired","oldRequired","autofocus","focusOn","transcluded","transcludedMatch","transcludedChoices","transcludedNoChoice","transcludedHeader","remove","transcludedFooter","isOpen","$evalAsync","visibility","removeClass","offsetDropdown","scrollTarget","xState","toggleClass","yState","isEnabled","getElements","console","enableClick","hasClass","disableClick","getAttribute","attribute","hasAttribute","multi","uiLockChoice","activeMatchIndex","updateModel","$setViewValue","Date","now","refreshComponent","removeChoice","removedChoice","locals","$item","$model","modelMapper","_getCaretPosition","isNumber","selectionStart","_handleMatchSelection","getNewActiveMatchIndex","$selectMultiple","prev","last","curr","next","caretPosition","first","newIndex","_findCaseInsensitiveDupe","arr","hasDupe","origItem","toUpperCase","_findApproxDupe","haystack","needle","dupeIndex","tempArr","copy","mockObj","isObject","$isEmpty","$parsers","resultMultiple","$formatters","inputValue","checkFnMultiple","p","trackByExp","propsItemNameMatches","oldValue","$render","$viewValue","event","tagItems","tagItem","stashArr","hasTag","itemsWithoutTag","checkFnSingle","d","prepend","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","$emit","array","onOpenCloseCallback","uisOpenClose","previousState","expression","filterMatch","grouped","run","$templateCache","put"],"mappings":"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","file":"select.min.js","sourcesContent":["/*! ui-select@0.20.1 https://github.com/bdb-opensource/ui-select (MIT License) */\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 return true;\n }\n\n if (e.metaKey || e.ctrlKey) 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\nfunction isNil(value) {\n return value === undefined || value === null;\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 // Move focuser out of because append-to-body=\"true\" will move the focusser out of :tabbable order.\n element.parent().parent().prepend(focusser);\n\n scope.$on('$destroy', function() {\n if ($select.focusser) {\n $select.focusser.remove();\n }\n });\n\n focusser.on(\"focus\", function(){\n scope.$evalAsync(function(){\n $select.focus = true;\n });\n });\n\n focusser.on(\"blur\", function(){\n scope.$evalAsync(function(){\n $select.focus = false;\n });\n });\n\n focusser.on(\"keydown\", function(e){\n if (e.which === KEY.BACKSPACE && $select.backspaceReset !== false) {\n $select.select($select.nullValue);\n $select.cancelEvent(e);\n scope.$apply();\n return;\n }\n\n if (e.which === KEY.TAB) {\n $select.tabNavigate(e.shiftKey);\n $select.cancelEvent(e);\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 $select.cancelEvent(e);\n $select.activate();\n }\n\n scope.$digest();\n });\n\n focusser.on(\"keyup input\", function(e){\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// 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 if (element.data('disallowDrop')) {\n return;\n }\n\n element.on('dragstart', function(event) {\n element.addClass(draggingClassName);\n\n (event.dataTransfer || event.originalEvent.dataTransfer).setData('text', scope.$index.toString());\n });\n\n element.on('dragend', function() {\n removeClass(draggingClassName);\n });\n\n var move = function(from, to) {\n /*jshint validthis: true */\n this.splice(to, 0, this.splice(from, 1)[0]);\n };\n\n var removeClass = function(className) {\n angular.forEach($select.$element.querySelectorAll('.' + className), function(el){\n angular.element(el).removeClass(className);\n });\n };\n\n var dragOverHandler = function(event) {\n event.preventDefault();\n\n var offset = axis === 'vertical' ? event.offsetY || event.layerY || (event.originalEvent ? event.originalEvent.offsetY : 0) : event.offsetX || event.layerX || (event.originalEvent ? event.originalEvent.offsetX : 0);\n\n if (offset < (this[axis === 'vertical' ? 'offsetHeight' : 'offsetWidth'] / 2)) {\n removeClass(droppingAfterClassName);\n element.addClass(droppingBeforeClassName);\n\n } else {\n removeClass(droppingBeforeClassName);\n element.addClass(droppingAfterClassName);\n }\n };\n\n var dropTimeout;\n\n var dropHandler = function(event) {\n event.preventDefault();\n\n var droppedItemIndex = parseInt((event.dataTransfer || event.originalEvent.dataTransfer).getData('text'), 10);\n\n // prevent event firing multiple times in firefox\n $timeout.cancel(dropTimeout);\n dropTimeout = $timeout(function() {\n _dropHandler(droppedItemIndex);\n }, 20);\n };\n\n var _dropHandler = function(droppedItemIndex) {\n var theList = scope.$eval(attrs.uiSelectSort);\n var itemToMove = theList[droppedItemIndex];\n var newIndex = null;\n\n if (element.hasClass(droppingBeforeClassName)) {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index - 1;\n } else {\n newIndex = scope.$index;\n }\n } else {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index;\n } else {\n newIndex = scope.$index + 1;\n }\n }\n\n move.apply(theList, [droppedItemIndex, newIndex]);\n\n $ngModel.$setViewValue(Date.now());\n\n scope.$apply(function() {\n scope.$emit('uiSelectSort:change', {\n array: theList,\n item: itemToMove,\n from: droppedItemIndex,\n to: newIndex\n });\n });\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('drop', dropHandler);\n };\n\n element.on('dragenter', function() {\n if (element.hasClass(draggingClassName)) {\n return;\n }\n\n element.addClass(droppingClassName);\n\n element.on('dragover', dragOverHandler);\n element.on('drop', dropHandler);\n });\n\n element.on('dragleave', function(event) {\n if (event.target != element) {\n return;\n }\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('dragover', dragOverHandler);\n element.off('drop', dropHandler);\n });\n }\n };\n}]);\n\nuis.directive('uisOpenClose', ['$parse', '$timeout', function ($parse, $timeout) {\n return {\n restrict: 'A',\n require: 'uiSelect',\n link: function (scope, element, attrs, $select) {\n $select.onOpenCloseCallback = $parse(attrs.uisOpenClose);\n\n scope.$watch('$select.open', function (isOpen, previousState) {\n if (isOpen !== previousState) {\n $timeout(function () {\n $select.onOpenCloseCallback(scope, {\n isOpen: isOpen\n });\n });\n }\n });\n }\n };\n}]);\n\n/**\n * Parses \"repeat\" attribute.\n *\n * Taken from AngularJS ngRepeat source code\n * See https://github.com/angular/angular.js/blob/v1.2.15/src/ng/directive/ngRepeat.js#L211\n *\n * Original discussion about parsing \"repeat\" attribute instead of fully relying on ng-repeat:\n * https://github.com/angular-ui/ui-select/commit/5dd63ad#commitcomment-5504697\n */\n\nuis.service('uisRepeatParser', ['uiSelectMinErr', '$parse', function(uiSelectMinErr, $parse) {\n var self = this;\n\n /**\n * Example:\n * expression = \"address in addresses | filter: {street: $select.search} track by $index\"\n * itemName = \"address\",\n * source = \"addresses | filter: {street: $select.search}\",\n * trackByExp = \"$index\",\n */\n self.parse = function(expression) {\n\n\n var match;\n //var isObjectCollection = /\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)/.test(expression);\n // If an array is used as collection\n\n // if (isObjectCollection){\n // 000000000000000000000000000000111111111000000000000000222222222222220033333333333333333333330000444444444444444444000000000000000055555555555000000000000000000000066666666600000000\n match = expression.match(/^\\s*(?:([\\s\\S]+?)\\s+as\\s+)?(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+(\\s*[\\s\\S]+?)?(?:\\s+track\\s+by\\s+([\\s\\S]+?))?\\s*$/);\n\n // 1 Alias\n // 2 Item\n // 3 Key on (key,value)\n // 4 Value on (key,value)\n // 5 Source expression (including filters)\n // 6 Track by\n\n if (!match) {\n throw uiSelectMinErr('iexp', \"Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.\",\n expression);\n }\n\n var source = match[5],\n filters = '';\n\n // When using (key,value) ui-select requires filters to be extracted, since the object\n // is converted to an array for $select.items\n // (in which case the filters need to be reapplied)\n if (match[3]) {\n // Remove any enclosing parenthesis\n source = match[5].replace(/(^\\()|(\\)$)/g, '');\n // match all after | but not after ||\n var filterMatch = match[5].match(/^\\s*(?:[\\s\\S]+?)(?:[^\\|]|\\|\\|)+([\\s\\S]*)\\s*$/);\n if(filterMatch && filterMatch[1].trim()) {\n filters = filterMatch[1];\n source = source.replace(filters, '');\n }\n }\n\n return {\n itemName: match[4] || match[2], // (lhs) Left-hand side,\n keyName: match[3], //for (key, value) syntax\n source: $parse(source),\n filters: filters,\n trackByExp: match[6],\n getTrackedValue: function(scope, item) {\n if (!this.trackByExp) {\n return item;\n } else {\n var locals = {};\n locals[this.itemName] = item;\n return scope.$eval(this.trackByExp, locals);\n }\n },\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\\\">
    \");\n$templateCache.put(\"bootstrap/footer.tpl.html\",\"
    \");\n$templateCache.put(\"bootstrap/header.tpl.html\",\"
    \");\n$templateCache.put(\"bootstrap/match-multiple.tpl.html\",\" × \");\n$templateCache.put(\"bootstrap/match.tpl.html\",\"
    \");\n$templateCache.put(\"bootstrap/no-choice.tpl.html\",\"
    \");\n$templateCache.put(\"bootstrap/select-multiple.tpl.html\",\"
    0\\\" class=\\\"ui-select-dropdown dropdown-menu\\\">
    \");\n$templateCache.put(\"bootstrap/select.tpl.html\",\"
    0\\\" class=\\\"ui-select-dropdown dropdown-menu\\\">
    \");\n$templateCache.put(\"select2/choices.tpl.html\",\"
    \");\n$templateCache.put(\"select2/footer.tpl.html\",\"
    \");\n$templateCache.put(\"select2/header.tpl.html\",\"
    \");\n$templateCache.put(\"select2/match-multiple.tpl.html\",\"
  • \");\n$templateCache.put(\"select2/match.tpl.html\",\" \");\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/footer.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/header.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/match-multiple.tpl.html\",\"
    ×
    \");\n$templateCache.put(\"selectize/match.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/no-choice.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/select-multiple.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/select.tpl.html\",\"
    \");}]);",null,null]} \ No newline at end of file +{"version":3,"sources":["select.js","select_without_templates.js","templates.js"],"names":["isNil","value","undefined","uiSelectCtrl","$scope","$element","$timeout","$filter","$$uisDebounce","RepeatParser","uiSelectMinErr","uiSelectConfig","$parse","$window","isEmpty","selected","ctrl","nullValue","multiple","length","getSelectedText","find","text","getPlaceholder","placeholder","_findIndex","collection","predicate","thisArg","findIndex","list","Object","i","call","_resetSearchInput","resetSearchInput","search","EMPTY_SEARCH","setActiveIndexToSelected","active","parserResult","items","trackedValue","getTrackedValue","item","angular","equals","displayNullValue","_isItemDisabled","activeIndex","_groupsFilter","groups","groupNames","j","result","name","push","activate","initSearchValue","avoidReset","disabled","open","searchEnabled","close","$broadcast","taggingLabel","focusSearchInput","tagging","isActivated","_ensureHighlightVisible","required","nullLabel","toLowerCase","indexOf","searchInput","focus","findGroupByName","noStrict","filter","group","parseRepeatAttr","repeatAttr","groupByExp","groupFilterExp","createArrayFromObject","origSrc","originalSource","$uisSource","keys","map","v","keyName","onOriginalSourceChange","newVal","oldVal","onSourceChange","isArray","refreshItems","isDefined","ngModel","$modelValue","data","excludeSelected","isNotSelected","selectedItem","selectedItems","every","source","removeSelected","setItemsFn","calculateDropdownPos","updateFlatItems","updateGroups","groupFn","$eval","forEach","groupName","isFunction","groupFilterFn","reduce","concat","parse","isGrouped","itemProperty","itemName","filters","$watch","$watchCollection","refresh","refreshAttr","refreshDelayPromise","cancel","$select","minimumInputLength","refreshPromise","then","refreshing","refreshDelay","isActive","itemScope","itemIndex","isUndefined","onHighlightCallback","_isItemSelected","selection","_updateItemDisabled","isDisabled","disabledItemIndex","disabledItems","splice","disableChoiceExpression","isTag","select","skipFocusser","$event","clickTriggeredSelect","type","fct","replace","trim","closeOnSelect","$setTouched","setFocus","clear","stopPropagation","focusser","toggle","e","cancelEvent","_initaliseLockedChoices","doInitalise","_updateItemLocked","isLocked","lockedItemIndex","lockedItems","_isItemlocked","isLockedFn","lockChoiceExpression","sizeSearchInput","calculateContainerWidth","container","clientWidth","input","offsetParent","updateIfVisible","containerWidth","inputWidth","offsetLeft","css","sizeWatch","updaterScheduled","$$postDigest","noop","_handleDropDownSelection","key","shiftKey","processed","minActiveIndex","KEY","DOWN","UP","len","Math","max","min","TAB","tabNavigate","ENTER","ESC","preventDefault","focusEl","focusable","element","index","el","onSearchInputKeyDown","which","$apply","tagged","taggingTokens","tokens","MAP","keyCode","triggerHandler","newItem","isVerticalMovement","onSearchInputPaste","window","clipboardData","getData","originalEvent","separator","toSeparator","split","oldsearch","paste","onSearchInputTagged","querySelectorAll","choices","highlighted","posY","offsetTop","clientHeight","scrollTop","height","offsetHeight","isLockChoiceExpressionDefined","onActiveIndexChange","attr","generatedId","onDestroy","off","onResize","onOpenChange","removeAttr","this","dropdownXPosition","dropdownYPosition","sortable","spinnerClass","spinnerEnabled","on","$on","SPACE","LEFT","RIGHT","SHIFT","CTRL","ALT","PAGE_UP","PAGE_DOWN","HOME","END","BACKSPACE","DELETE","COMMAND","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","k","metaKey","ctrlKey","isFunctionKey","isHorizontalMovement","sep","prototype","selector","closest","elem","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","bind","parentElement","latestId","uis","module","constant","theme","generateId","appendToBody","backspaceReset","service","minErr","$$minErr","error","apply","arguments","message","RegExp","Error","directive","link","scope","attrs","transclude","clone","append","escapeRegexp","queryToEscape","matchItem","query","factory","$document","boundingClientRect","getBoundingClientRect","width","prop","top","pageYOffset","documentElement","left","pageXOffset","scrollLeft","callback","debounceTime","timeoutPromise","self","args","Array","slice","$compile","restrict","require","templateUrl","tElement","addClass","parent","compile","tAttrs","repeat","groupBy","groupFilter","getGroupNgRepeatExpression","repeatExpression","rowsInner","uiDisableChoice","onHighlight","parseInt","position","String","newValue","$observe","prerender","controller","uisOffset","controllerAs","match","exec","ngClass","combined","inputId","id","ctrls","transcludeFn","calculateSelectLeftPosition","offset","body","edgeOffscreenAmount","paddingFromEdge","leftPosition","closeOnClick","contains","target","srcElement","jQuery","focusableControls","targetController","tagName","$digest","closeOnResize","closeOnScroll","positionDropdown","style","after","originalWidth","appendChild","resetDropdown","removeEventListener","replaceWith","resetFocus","$fieldset","dropdown","baseTitle","title","focusserTitle","focusserId","onSelectCallback","onSelect","onRemoveCallback","onRemove","choiceGrouped","tabindex","limit","taggingEval","ngRequired","oldRequired","autofocus","focusOn","transcluded","transcludedMatch","transcludedChoices","transcludedNoChoice","transcludedHeader","remove","transcludedFooter","isOpen","addEventListener","$evalAsync","visibility","removeClass","offsetDropdown","scrollTarget","xState","toggleClass","yState","isEnabled","getElements","console","enableClick","hasClass","disableClick","getAttribute","attribute","hasAttribute","multi","uiLockChoice","activeMatchIndex","updateModel","$setViewValue","Date","now","refreshComponent","removeChoice","removedChoice","locals","$item","$model","modelMapper","_getCaretPosition","isNumber","selectionStart","_handleMatchSelection","getNewActiveMatchIndex","$selectMultiple","prev","last","curr","next","caretPosition","first","newIndex","_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","prepend","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","$emit","array","onOpenCloseCallback","uisOpenClose","previousState","expression","filterMatch","grouped","run","$templateCache","put"],"mappings":"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","file":"select.min.js","sourcesContent":["/*! ui-select@0.20.3 https://github.com/bdb-opensource/ui-select (MIT License) */\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 return true;\n }\n\n if (e.metaKey || e.ctrlKey) 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\nfunction isNil(value) {\n return value === undefined || value === null;\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 // Move focuser out of because append-to-body=\"true\" will move the focusser out of :tabbable order.\n element.parent().parent().prepend(focusser);\n\n scope.$on('$destroy', function() {\n if ($select.focusser) {\n $select.focusser.remove();\n }\n });\n\n focusser.on(\"focus\", function(){\n scope.$evalAsync(function(){\n $select.focus = true;\n });\n });\n\n focusser.on(\"blur\", function(){\n scope.$evalAsync(function(){\n $select.focus = false;\n });\n });\n\n focusser.on(\"keydown\", function(e){\n if (e.which === KEY.BACKSPACE && $select.backspaceReset !== false) {\n $select.select($select.nullValue);\n $select.cancelEvent(e);\n scope.$apply();\n return;\n }\n\n if (e.which === KEY.TAB) {\n $select.tabNavigate(e.shiftKey);\n $select.cancelEvent(e);\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 $select.cancelEvent(e);\n $select.activate();\n }\n\n scope.$digest();\n });\n\n focusser.on(\"keyup input\", function(e){\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// 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 if (element.data('disallowDrop')) {\n return;\n }\n\n element.on('dragstart', function(event) {\n element.addClass(draggingClassName);\n\n (event.dataTransfer || event.originalEvent.dataTransfer).setData('text', scope.$index.toString());\n });\n\n element.on('dragend', function() {\n removeClass(draggingClassName);\n });\n\n var move = function(from, to) {\n /*jshint validthis: true */\n this.splice(to, 0, this.splice(from, 1)[0]);\n };\n\n var removeClass = function(className) {\n angular.forEach($select.$element.querySelectorAll('.' + className), function(el){\n angular.element(el).removeClass(className);\n });\n };\n\n var dragOverHandler = function(event) {\n event.preventDefault();\n\n var offset = axis === 'vertical' ? event.offsetY || event.layerY || (event.originalEvent ? event.originalEvent.offsetY : 0) : event.offsetX || event.layerX || (event.originalEvent ? event.originalEvent.offsetX : 0);\n\n if (offset < (this[axis === 'vertical' ? 'offsetHeight' : 'offsetWidth'] / 2)) {\n removeClass(droppingAfterClassName);\n element.addClass(droppingBeforeClassName);\n\n } else {\n removeClass(droppingBeforeClassName);\n element.addClass(droppingAfterClassName);\n }\n };\n\n var dropTimeout;\n\n var dropHandler = function(event) {\n event.preventDefault();\n\n var droppedItemIndex = parseInt((event.dataTransfer || event.originalEvent.dataTransfer).getData('text'), 10);\n\n // prevent event firing multiple times in firefox\n $timeout.cancel(dropTimeout);\n dropTimeout = $timeout(function() {\n _dropHandler(droppedItemIndex);\n }, 20);\n };\n\n var _dropHandler = function(droppedItemIndex) {\n var theList = scope.$eval(attrs.uiSelectSort);\n var itemToMove = theList[droppedItemIndex];\n var newIndex = null;\n\n if (element.hasClass(droppingBeforeClassName)) {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index - 1;\n } else {\n newIndex = scope.$index;\n }\n } else {\n if (droppedItemIndex < scope.$index) {\n newIndex = scope.$index;\n } else {\n newIndex = scope.$index + 1;\n }\n }\n\n move.apply(theList, [droppedItemIndex, newIndex]);\n\n $ngModel.$setViewValue(Date.now());\n\n scope.$apply(function() {\n scope.$emit('uiSelectSort:change', {\n array: theList,\n item: itemToMove,\n from: droppedItemIndex,\n to: newIndex\n });\n });\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('drop', dropHandler);\n };\n\n element.on('dragenter', function() {\n if (element.hasClass(draggingClassName)) {\n return;\n }\n\n element.addClass(droppingClassName);\n\n element.on('dragover', dragOverHandler);\n element.on('drop', dropHandler);\n });\n\n element.on('dragleave', function(event) {\n if (event.target != element) {\n return;\n }\n\n removeClass(droppingClassName);\n removeClass(droppingBeforeClassName);\n removeClass(droppingAfterClassName);\n\n element.off('dragover', dragOverHandler);\n element.off('drop', dropHandler);\n });\n }\n };\n}]);\n\nuis.directive('uisOpenClose', ['$parse', '$timeout', function ($parse, $timeout) {\n return {\n restrict: 'A',\n require: 'uiSelect',\n link: function (scope, element, attrs, $select) {\n $select.onOpenCloseCallback = $parse(attrs.uisOpenClose);\n\n scope.$watch('$select.open', function (isOpen, previousState) {\n if (isOpen !== previousState) {\n $timeout(function () {\n $select.onOpenCloseCallback(scope, {\n isOpen: isOpen\n });\n });\n }\n });\n }\n };\n}]);\n\n/**\n * Parses \"repeat\" attribute.\n *\n * Taken from AngularJS ngRepeat source code\n * See https://github.com/angular/angular.js/blob/v1.2.15/src/ng/directive/ngRepeat.js#L211\n *\n * Original discussion about parsing \"repeat\" attribute instead of fully relying on ng-repeat:\n * https://github.com/angular-ui/ui-select/commit/5dd63ad#commitcomment-5504697\n */\n\nuis.service('uisRepeatParser', ['uiSelectMinErr', '$parse', function(uiSelectMinErr, $parse) {\n var self = this;\n\n /**\n * Example:\n * expression = \"address in addresses | filter: {street: $select.search} track by $index\"\n * itemName = \"address\",\n * source = \"addresses | filter: {street: $select.search}\",\n * trackByExp = \"$index\",\n */\n self.parse = function(expression) {\n\n\n var match;\n //var isObjectCollection = /\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)/.test(expression);\n // If an array is used as collection\n\n // if (isObjectCollection){\n // 000000000000000000000000000000111111111000000000000000222222222222220033333333333333333333330000444444444444444444000000000000000055555555555000000000000000000000066666666600000000\n match = expression.match(/^\\s*(?:([\\s\\S]+?)\\s+as\\s+)?(?:([\\$\\w][\\$\\w]*)|(?:\\(\\s*([\\$\\w][\\$\\w]*)\\s*,\\s*([\\$\\w][\\$\\w]*)\\s*\\)))\\s+in\\s+(\\s*[\\s\\S]+?)?(?:\\s+track\\s+by\\s+([\\s\\S]+?))?\\s*$/);\n\n // 1 Alias\n // 2 Item\n // 3 Key on (key,value)\n // 4 Value on (key,value)\n // 5 Source expression (including filters)\n // 6 Track by\n\n if (!match) {\n throw uiSelectMinErr('iexp', \"Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.\",\n expression);\n }\n\n var source = match[5],\n filters = '';\n\n // When using (key,value) ui-select requires filters to be extracted, since the object\n // is converted to an array for $select.items\n // (in which case the filters need to be reapplied)\n if (match[3]) {\n // Remove any enclosing parenthesis\n source = match[5].replace(/(^\\()|(\\)$)/g, '');\n // match all after | but not after ||\n var filterMatch = match[5].match(/^\\s*(?:[\\s\\S]+?)(?:[^\\|]|\\|\\|)+([\\s\\S]*)\\s*$/);\n if(filterMatch && filterMatch[1].trim()) {\n filters = filterMatch[1];\n source = source.replace(filters, '');\n }\n }\n\n return {\n itemName: match[4] || match[2], // (lhs) Left-hand side,\n keyName: match[3], //for (key, value) syntax\n source: $parse(source),\n filters: filters,\n trackByExp: match[6],\n getTrackedValue: function(scope, item) {\n if (!this.trackByExp) {\n return item;\n } else {\n var locals = {};\n locals[this.itemName] = item;\n return scope.$eval(this.trackByExp, locals);\n }\n },\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\\\">
    \");\n$templateCache.put(\"bootstrap/footer.tpl.html\",\"
    \");\n$templateCache.put(\"bootstrap/header.tpl.html\",\"
    \");\n$templateCache.put(\"bootstrap/match-multiple.tpl.html\",\" × \");\n$templateCache.put(\"bootstrap/match.tpl.html\",\"
    \");\n$templateCache.put(\"bootstrap/no-choice.tpl.html\",\"
    \");\n$templateCache.put(\"bootstrap/select-multiple.tpl.html\",\"
    0\\\" class=\\\"ui-select-dropdown dropdown-menu\\\">
    \");\n$templateCache.put(\"bootstrap/select.tpl.html\",\"
    0\\\" class=\\\"ui-select-dropdown dropdown-menu\\\">
    \");\n$templateCache.put(\"select2/choices.tpl.html\",\"
    \");\n$templateCache.put(\"select2/footer.tpl.html\",\"
    \");\n$templateCache.put(\"select2/header.tpl.html\",\"
    \");\n$templateCache.put(\"select2/match-multiple.tpl.html\",\"
  • \");\n$templateCache.put(\"select2/match.tpl.html\",\" \");\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/footer.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/header.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/match-multiple.tpl.html\",\"
    ×
    \");\n$templateCache.put(\"selectize/match.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/no-choice.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/select-multiple.tpl.html\",\"
    \");\n$templateCache.put(\"selectize/select.tpl.html\",\"
    \");}]);",null,null]} \ No newline at end of file diff --git a/package.json b/package.json index 7885436ca..a8898b46b 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "url": "git://github.com/angular-ui/ui-select.git" }, "style": "dist/select.css", - "version": "0.20.1", + "version": "0.20.3", "devDependencies": { "angular": "^1.2.18", "angular-mocks": "^1.2.18", diff --git a/src/bootstrap/choices.tpl.html b/src/bootstrap/choices.tpl.html index d6c22425c..f6c277b52 100644 --- a/src/bootstrap/choices.tpl.html +++ b/src/bootstrap/choices.tpl.html @@ -1,14 +1,18 @@
      +
    • +
      + +
      +
    • - - + ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}" role="option"> +
    diff --git a/src/select2/choices.tpl.html b/src/select2/choices.tpl.html index 2bda6cd7b..7ae50ca40 100644 --- a/src/select2/choices.tpl.html +++ b/src/select2/choices.tpl.html @@ -1,4 +1,10 @@
      +
    • +
      +
      +
      +
    • @@ -6,11 +12,8 @@
      • -
        -
        -
        + ng-class="{'select2-highlighted': $select.isActive(this), 'select2-disabled': $select.isDisabled(this)}"> +
    • diff --git a/src/selectize/choices.tpl.html b/src/selectize/choices.tpl.html index 9679e278b..92b361cc6 100644 --- a/src/selectize/choices.tpl.html +++ b/src/selectize/choices.tpl.html @@ -1,14 +1,15 @@
      +
      +
      +
      -
      -
      -
      -
      +
      +
      diff --git a/src/uiSelectChoicesDirective.js b/src/uiSelectChoicesDirective.js index 34fde921a..14e3fc002 100644 --- a/src/uiSelectChoicesDirective.js +++ b/src/uiSelectChoicesDirective.js @@ -36,23 +36,21 @@ uis.directive('uiSelectChoices', var parserResult = RepeatParser.parse(tAttrs.repeat); - var choices = tElement.querySelectorAll('.ui-select-choices-row'); + // find the row within the only group (i.e. ignore the null choice) + var choices = angular.element(groups[0]).querySelectorAll('.ui-select-choices-row'); if (choices.length !== 1) { throw uiSelectMinErr('rows', "Expected 1 .ui-select-choices-row but got '{0}'.", choices.length); } choices.attr('ng-repeat', parserResult.repeatExpression(groupByExp)); + choices.attr('ng-click', '$select.select(' + parserResult.itemName + ',$select.skipFocusser,$event)'); - var rowsInner = tElement.querySelectorAll('.ui-select-choices-row-inner'); + var rowsInner = angular.element(choices[0]).querySelectorAll('.ui-select-choices-row-inner'); if (rowsInner.length !== 1) { throw uiSelectMinErr('rows', "Expected 1 .ui-select-choices-row-inner but got '{0}'.", rowsInner.length); } rowsInner.attr('uis-transclude-append', ''); //Adding uisTranscludeAppend directive to row element after choices element has ngRepeat - // If IE8 then need to target rowsInner to apply the ng-click attr as choices will not capture the event. - var clickTarget = $window.document.addEventListener ? choices : rowsInner; - clickTarget.attr('ng-click', '$select.select(' + parserResult.itemName + ',$select.skipFocusser,$event)'); - return function link(scope, element, attrs, $select) { $select.parseRepeatAttr(attrs.repeat, groupByExp, groupFilterExp); //Result ready at $select.parserResult $select.disableChoiceExpression = attrs.uiDisableChoice; @@ -87,7 +85,6 @@ uis.directive('uiSelectChoices', attrs.$observe('nullValue', function(value) { value = scope.$eval(value); $select.nullValue = value !== undefined ? value : null; - $select.refreshItems(); }); attrs.$observe('nullLabel', function(value) { diff --git a/src/uiSelectController.js b/src/uiSelectController.js index 2e327c36e..f7369c183 100644 --- a/src/uiSelectController.js +++ b/src/uiSelectController.js @@ -58,6 +58,7 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat ctrl.cancelEvent = cancelEvent; ctrl.clear = clear; ctrl.close = close; + ctrl.displayNullValue = displayNullValue; ctrl.findGroupByName = findGroupByName; ctrl.focusSearchInput = focusSearchInput; ctrl.getPlaceholder = getPlaceholder; @@ -94,7 +95,7 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat //#region Controller Functions function isEmpty() { var selected = ctrl.selected; - return isNil(selected) || selected === '' || selected.$$null || (ctrl.multiple && !selected.length); + return isNil(selected) || selected === '' || selected === ctrl.nullValue || (ctrl.multiple && !selected.length); } function getSelectedText() { @@ -143,9 +144,7 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat var active = -1; var selected = ctrl.selected; var parserResult = ctrl.parserResult; - if (angular.equals(selected, ctrl.nullValue)) { - active = _findIndex(ctrl.items, isNullValue); - } else if (parserResult && ctrl.items.length) { + if (parserResult && ctrl.items.length) { // If tracked by option.field.id, ng-model={field: {id}}, and items [{field: {id}, oopsNotSelected: true}], // angular.equals will not find the ng-model, thus leaving unselected, due to oopsNotSelected. var trackedValue = parserResult.getTrackedValue($scope, selected); @@ -154,10 +153,10 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat }); } - // If we don't have an active index, select first enabled non-generated null item. - if (active < 0) { + // If we don't have an active index and we're not displaying the "none" option, select first enabled item. + if (active < 0 && !ctrl.displayNullValue()) { active = _findIndex(ctrl.items, function(item) { - return !item.$$null && !_isItemDisabled(item); + return !_isItemDisabled(item); }); } @@ -176,10 +175,6 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat return result; } - function isNullValue(item) { - return item.$$null || angular.equals(item[ctrl.itemProperty], ctrl.nullValue); - } - // When the user clicks on ui-select, displays the dropdown list function activate(initSearchValue, avoidReset) { if (!ctrl.disabled && !ctrl.open) { @@ -209,6 +204,10 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat } } + function displayNullValue() { + return !ctrl.multiple && !ctrl.taggingLabel && !ctrl.required && (!ctrl.search || ctrl.nullLabel.toLowerCase().indexOf(ctrl.search) > -1); + } + function focusSearchInput(initSearchValue) { ctrl.search = initSearchValue || ctrl.search; ctrl.searchInput[0].focus(); @@ -253,16 +252,6 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat }); } - function createNullItem() { - var nullItem = {$$null: true}; - nullItem[ctrl.itemProperty] = ctrl.nullValue; - return nullItem; - } - - function needsNullItem(items) { - return !ctrl.taggingLabel && !ctrl.required && (!ctrl.search || ctrl.nullLabel.toLowerCase().indexOf(ctrl.search) > -1) && !items.some(isNullValue); - } - function onOriginalSourceChange(newVal, oldVal) { if (newVal !== oldVal) { createArrayFromObject(); @@ -312,11 +301,6 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat function updateFlatItems(items) { ctrl.items = items; - - // Insert our null item at the head of the items - if (needsNullItem(items)) { - items.unshift(createNullItem()); - } } function updateGroups(items) { @@ -348,14 +332,6 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat items = ctrl.items = ctrl.groups.reduce(function(items, group) { return items.concat(group.items); }, []); - - // Insert our null item at the head of the list if we dont have an item that represents null. - if (needsNullItem(items)) { - var group = ctrl.groups[0] || (ctrl.groups[0] = {name: '', items: []}); - var nullItem = createNullItem(); - group.items.unshift(nullItem); - items.unshift(nullItem); - } } } @@ -626,6 +602,8 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat function _handleDropDownSelection(key, shiftKey) { var processed = true; + var minActiveIndex = displayNullValue() ? -1 : 0; + switch (key) { case KEY.DOWN: case KEY.UP: @@ -636,28 +614,33 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat var len = ctrl.items.length; do { ctrl.activeIndex += key === KEY.UP ? -1 : 1; - } while (ctrl.activeIndex > 0 && ctrl.activeIndex < len && _isItemDisabled(ctrl.items[ctrl.activeIndex])); + } while (ctrl.activeIndex > minActiveIndex && ctrl.activeIndex < len && _isItemDisabled(ctrl.items[ctrl.activeIndex])); - ctrl.activeIndex = Math.max(0, Math.min(len - 1, ctrl.activeIndex)); + ctrl.activeIndex = Math.max(minActiveIndex, Math.min(len - 1, ctrl.activeIndex)); } break; case KEY.TAB: if (!ctrl.multiple || ctrl.open) { - select(ctrl.items[ctrl.activeIndex], true); + if(ctrl.activeIndex === -1 && displayNullValue()){ + select(ctrl.nullValue, true); + } else { + select(ctrl.items[ctrl.activeIndex], true); + } tabNavigate(shiftKey); } break; case KEY.ENTER: - if (ctrl.open && (ctrl.tagging.isActivated || ctrl.activeIndex >= 0)) { + if(ctrl.open && ctrl.activeIndex === -1 && displayNullValue()) { + select(ctrl.nullValue, ctrl.skipFocusser); + } else if (ctrl.open && (ctrl.tagging.isActivated || ctrl.activeIndex >= 0)) { // Make sure at least one dropdown item is highlighted before adding if not in tagging mode select(ctrl.items[ctrl.activeIndex], ctrl.skipFocusser); } else { // In case its the search input in 'multiple' mode activate(false, true); } - break; case KEY.ESC: close(); @@ -795,8 +778,9 @@ function uiSelectCtrl($scope, $element, $timeout, $filter, $$uisDebounce, Repeat throw uiSelectMinErr('choices', "Expected multiple .ui-select-choices-row but got '{0}'.", choices.length); } + // When searching for the highlighted item by activeIndex add 1 for the "none" option if rendered + var highlighted = choices[ctrl.activeIndex + (displayNullValue() ? 1 : 0)]; // Bail out if we can't find the highlighted row. - var highlighted = choices[ctrl.activeIndex]; if (!highlighted) { return; } var posY = highlighted.offsetTop + highlighted.clientHeight - container[0].scrollTop; diff --git a/src/uiSelectSingleDirective.js b/src/uiSelectSingleDirective.js index 3a4e9790b..081599d28 100644 --- a/src/uiSelectSingleDirective.js +++ b/src/uiSelectSingleDirective.js @@ -14,11 +14,6 @@ uis.directive('uiSelectSingle', ['$timeout','$compile', function($timeout, $comp return inputValue; } - // Allow the null value to be considered a valid model value - if (inputValue.$$null) { - return inputValue[$select.itemProperty]; - } - var locals = {}; locals[$select.parserResult.itemName] = inputValue; return $select.parserResult.modelMapper(scope, locals);