"use strict";(function(){angular.module("WebAssets.Components",[]);angular.module("WebAssets",["WebAssets.Components"])})(),function(){function t(){return function(n){return eig.formatTelUri(n)}}var n=angular.module("WebAssets.Components");n.filter("telUri",t)}();angular.module("WebAssets.Components").run(["$templateCache",function(n){n.put("templates/custom-modal-template.html",'<div class="modal-wrapper" style="display:none" data-ng-show="show == showvalue" role="dialog" aria-labelledby="{{modalHeader}}" aria-modal="true" tabindex="-1" data-ng-keyup="modalKeyUp($event)"> <div class="modal-content"> <div id="{{modalHeader}}" class="modal-header" data-ng-show="showHeader">{{modalTitle}}<\/div> <button class="close-icon" data-ng-click="closeModal($event)" data-ng-show="showHeader" aria-label="Close"><\/button> <div class="modal-body-row" data-ng-class="{ \'is-loading\' : isLoading }"> <div class="modal-body" data-ng-transclude> <\/div> <\/div> <\/div> <\/div> ')}]);angular.module("WebAssets.Components").run(["$templateCache",function(n){n.put("templates/multi-select-template.html",'<label data-ng-if="settings.labelText" data-ng-class="{\'sr-only\' : settings.hideLabel}" id="{{settings.labelId}}" for="txt{{settings.id}}">{{settings.labelText}}<\/label> <div id="{{settings.id}}-multi-select" class="select-multi select-wrapper" data-ng-class="{\'select-wrapper-disabled\': settings.isDisabled}" role="combobox" aria-labelledby="{{settings.labelId}}" aria-expanded="false" aria-haspopup="listbox" aria-owns="{{settings.id}}-options" data-filter="{{settings.isFilter}}" data-selectall-text="{{settings.selectAllText}}"> <input id="txt{{settings.id}}" type="text" class="select-multi-value form-control" placeholder="{{settings.placeholderText}}" readonly aria-autocomplete="none" aria-controls="{{settings.id}}-options" aria-activedescendant="" data-ng-disabled="settings.isDisabled" /> <div id="{{settings.id}}-options" class="select-multi-options" role="listbox"> <ul class="select-multi-list" role="presentation"> <li id="{{settings.id}}-opt-all" role="option" data-ng-if="settings.isFilter" class="select-multi-all"> <input type="checkbox" id="select-all-{{settings.id}}" class="select-multi-optall" data-ng-model="optionsModel[\'ALL\']" value="ALL" data-ng-disabled="settings.isDisabled" /> <label for="select-all-{{settings.id}}">{{settings.selectAllText}}<\/label> <\/li> <li data-ng-repeat="section in optionSections" data-ng-if="optionSections.length > 0"> <span id="{{settings.id}}-sec-lbl-{{$index}}" class="dropdown-section-header">{{section}}<\/span> <ul role="presentation"> <li id="{{settings.id}}-opt-{{$parent.$index + \'-\' + $index}}" role="option" aria-selected="{{optionsModel[option.value]}}" aria-describedby="{{settings.id}}-sec-lbl-{{$parent.$index}}" data-ng-repeat="option in selectOptions | filter: filterSection(section)"> <input type="checkbox" id="select-{{settings.id}}-{{option.value}}" data-ng-model="optionsModel[option.value]" value="{{option.value}}" data-ng-disabled="settings.isDisabled" /> <label for="select-{{settings.id}}-{{option.value}}" class="preserve-space">{{option.label}}<\/label> <\/li> <\/ul> <\/li> <li id="{{settings.id}}-opt-{{$index}}" role="option" aria-selected="{{optionsModel[option.value]}}" data-ng-if="!optionSections.length" data-ng-repeat="option in selectOptions"> <input type="checkbox" id="select-{{settings.id}}-{{option.value}}" data-ng-model="optionsModel[option.value]" value="{{option.value}}" data-ng-disabled="settings.isDisabled" /> <label for="select-{{settings.id}}-{{option.value}}" class="preserve-space">{{option.label}}<\/label> <\/li> <\/ul> <\/div> <div class="select-multi-live-region" aria-live="polite"><\/div> <\/div>')}]),function(){function n(n){return{restrict:"E",transclude:!0,templateUrl:"templates/custom-modal-template.html",scope:{modalTitle:"@",show:"=",showvalue:"=?",hidevalue:"=?",height:"@",width:"@",isLoading:"=?",onclose:"&",onopen:"&",showHeader:"=?","class":"@",setFocus:"@?"},link:function(t,i){function r(){var n=i.find(".modal-content :tabbable:first");n.length===1&&n.focus()}if(t.firstShow=!0,angular.isUndefined(t.showvalue)&&(t.showvalue=!0),angular.isUndefined(t.hidevalue)&&(t.hidevalue=!1),angular.isUndefined(t.showHeader)&&(t.showHeader=!0),t.modalHeader=eig.getUniqueId("modal-header"),angular.isDefined(t.height)&&(i.find(".modal-wrapper").addClass("show-backdrop"),i.find(".modal-content").css("height",t.height)),angular.isDefined(t.width)){i.find(".modal-content").css("width",t.width);var u=parseInt(t.width.replace("px",""))/-2;i.find(".modal-content").css("margin-left",u.toString()+"px")}angular.isDefined(t.class)&&i.find(".modal-content").addClass(t.class);t.closeModal=function(n){($(n.target).hasClass("modal-wrapper")||$(n.target).hasClass("close-icon")||$(n.target).hasClass("close-modal-button"))&&(t.show=t.hidevalue,n.stopPropagation())};t.modalKeyUp=function(n){n.keyCode==27&&($(n.target).hasClass("modal-wrapper")||$(n.target).hasClass("close-icon")||$(n.target).hasClass("close-modal-button"))&&(t.show=t.hidevalue,n.stopPropagation())};i.bind("keydown.eigAngularModal",function(n){var t=$(".modal-content");return eig.keepTabFocusWithinElement(t,n)});t.$watch("show",function(u){if(u===t.showvalue){t.firstShow&&(i.find(".modal-wrapper").css("display",""),t.firstShow=!1);angular.isDefined(t.height)||$("body").addClass("modal-open");n(function(){var n,u;angular.isDefined(t.onopen)&&t.onopen();n=!1;angular.isDefined(t.setFocus)&&(n=!0);n?(u=i.find(t.setFocus).first(),u.length===1?u.focus():r()):r();i.find(".modal-content").scrollTop(0)},100);return}u===t.hidevalue&&(angular.isDefined(t.height)||$("body").removeClass("modal-open"),angular.isDefined(t.onclose)&&t.onclose())})}}}var t=angular.module("WebAssets.Components");n.$inject=["$timeout"];t.directive("customModal",n)}(),function(){function n(n){return{restrict:"A",link:function(t,i,r){var f=function(){return r.focusOn?r.focusOn=="true"||r.focusOn=="false"?Boolean(r.focusOn):t.$eval(r.focusOn):!0},e=function(){return r.focusDelay?/^\+?(0|[1-9]\d*)$/.test(r.focusDelay)?parseInt(r.focusDelay):t.$eval(r.focusDelay):0},o=f(),u;o&&(u=e(),n(function(){i.focus()},u,!1))}}}var t=angular.module("WebAssets.Components");n.$inject=["$timeout"];t.directive("focusOn",n)}(),function(){function n(n){return{restrict:"E",scope:{selectOptions:"=",labelText:"@",labelId:"@",selectAllText:"@",isFilter:"@",hideLabel:"@",isDisabled:"@",placeholderText:"@",optionsModel:"=ngModel",id:"@"},templateUrl:"templates/multi-select-template.html",link:function(t,i,r){function u(){f();e();o();s();c();eig.Multiselect.add(i.find(".select-multi"))}function f(){if(angular.isUndefined(r.ngModel))throw"ng-model is a required attribute for multi-select directive";if(angular.isUndefined(r.selectOptions))throw"select-options is a required attribute for multi-select directive";}function e(){t.settings={selectAllText:t.selectAllText||"Select all",labelText:t.labelText,isFilter:angular.isDefined(t.isFilter)&&t.isFilter==="true",hideLabel:angular.isDefined(t.hideLabel)&&t.hideLabel==="true",isDisabled:angular.isDefined(t.isDisabled)&&t.isDisabled==="true",placeholderText:t.placeholderText,id:t.id||eig.getUniqueId("multi-")};t.settings.labelId=t.settings.id+"-label"}function o(){angular.forEach(t.selectOptions,function(n){n.section&&t.optionSections.indexOf(n.section)===-1&&t.optionSections.push(n.section)})}function s(){if(!t.settings.isFilter){t.optionsModel.ALL=!1;return}t.$watch("optionsModel",function(t){t&&(h(),n(function(){eig.Multiselect.update(i.find(".select-multi"))}))},!0)}function h(){t.optionsModel.ALL=!0;angular.forEach(t.optionsModel,function(n){t.optionsModel.ALL=t.optionsModel.ALL&&n})}function c(){i.on("change",".select-multi-optall",function(){$(this).is(":checked")&&t.$apply(l);i.find('[type="checkbox"]:not(.select-multi-optall)').prop("checked",!1)});i.on("change",'input[type="checkbox"]:not(.select-multi-optall)',a)}function l(){angular.forEach(t.optionsModel,function(n,i){t.optionsModel[i]=!0})}function a(){n(function(){var n=t.settings.isFilter&&i.find(".select-multi-optall").is(":checked");angular.forEach(t.optionsModel,function(r,u){u!=="ALL"&&(t.optionsModel[u]=i.find('[type="checkbox"][value="'+u+'"]').is(":checked")||n)})})}t.optionSections=[];t.filterSection=function(n){return function(t){return t.section===n}};u()}}}var t=angular.module("WebAssets.Components");n.$inject=["$timeout"];t.directive("multiSelect",n)}()