diff --git a/client/common/directives/ModelField/ModelField.js b/client/common/directives/ModelField/ModelField.js index 82d97dab..3b3d3f26 100644 --- a/client/common/directives/ModelField/ModelField.js +++ b/client/common/directives/ModelField/ModelField.js @@ -12,6 +12,7 @@ angular.module('dashboard.directives.ModelField', [ 'dashboard.directives.ModelFieldMultiSelect', 'dashboard.directives.ModelFieldNumber', 'dashboard.directive.DateTimePicker', + 'dashboard.directive.AutoSize', 'ngCookies', 'ngSlider', 'ngSignaturePad', @@ -221,7 +222,7 @@ angular.module('dashboard.directives.ModelField', [ template = '\
\
{{ display.error }}
\ - \ + \
\ {{ display.description | translate }} \  ({{ charsLeft }} characters left) \ diff --git a/client/common/directives/NgAutoSize/ng-autosize.js b/client/common/directives/NgAutoSize/ng-autosize.js new file mode 100644 index 00000000..d76e2575 --- /dev/null +++ b/client/common/directives/NgAutoSize/ng-autosize.js @@ -0,0 +1,30 @@ +// https://hassantariqblog.wordpress.com/2016/07/27/angularjs-textarea-auto-resize-directive + +angular.module('dashboard.directive.AutoSize', [ +]) + +.directive('autoSize', function($timeout, $window) { + return { + restrict: 'A', + link: function(scope, element, attrs) { + + scope.minTextAreaHeight = 150; + + element.css({ 'height': 'auto', 'overflow-y': 'hidden' }); + $timeout(function() { + var scrollHeight = element[0].scrollHeight; + var height = Math.max(scrollHeight, scope.minTextAreaHeight); + element.css('height', height + 'px'); + }, 100); + + function update() { + element.css({ 'height': 'auto', 'overflow-y': 'hidden' }); + element.css('height', element[0].scrollHeight + 'px'); + } + + element.on('input', update); + element.on('load', update); + angular.element($window).bind('resize', update); + } + } +}); \ No newline at end of file diff --git a/dist/app.js b/dist/app.js index 6292efc5..87df3117 100644 --- a/dist/app.js +++ b/dist/app.js @@ -1,14 +1,14 @@ /** - * isbx-loopback-cms - v0.1.2 - 2017-09-07 + * isbx-loopback-cms - v0.1.2 - 2017-09-08 * * * Copyright (c) 2017 ISBX * Licensed MIT <> */ -angular.module("dashboard",["dashboard.Dashboard","dashboard.Login","dashboard.Register","dashboard.directives","dashboard.filters","dashboard.services.Cache","dashboard.services.Session","templates-app","templates-common","ui.router","oc.lazyLoad","ngCookies","ngAnimate","pascalprecht.translate"]).config(["$locationProvider","$stateProvider","$urlRouterProvider","$compileProvider","$qProvider","$translateProvider","Config",function(a,b,c,d,e,f,g){"ngInject";d.aHrefSanitizationWhitelist(/^\s*(http|https|ftp|mailto|tel|file|blo‌​b|data):/),c.otherwise("/login"),g.serverParams.disableRegistration&&c.when("/register","/login"),a.html5Mode(!0),f.useSanitizeValueStrategy("escape"),g.serverParams.translateUrl&&f.useUrlLoader(g.serverParams.translateUrl),g.serverParams.defaultLanguage&&f.fallbackLanguage(g.serverParams.defaultLanguage),b.state("public",{abstract:!0,template:""}).state("public.accessDenied",{url:"/access-denied",template:'

Access Denied

You are not authorized to access this page.

',data:{pageTitle:"Access Denied"}}),c.deferIntercept()}]).run(["$ocLazyLoad","$rootScope","$urlRouter","$injector","$translate","Config",function(a,b,c,d,e,f){"ngInject";f.serverParams.defaultLanguage&&e.use(f.serverParams.defaultLanguage),f.serverParams.translateUrl&&e.refresh();var g=!1;f.serverParams.customModules?a.load(f.serverParams.customModules).then(function(){g=!0,b.$broadcast("modulesLoaded"),Array.isArray(f.serverParams.injectOnStart)&&f.serverParams.injectOnStart.forEach(d.get)},function(a){console.log(a)}):g=!0,b.$on("$locationChangeSuccess",function(a){if(g)c.sync();else var d=b.$on("modulesLoaded",function(){c.sync(),d()})})}]).constant("constants",{TIMEOUT_INTERVAL:5e3,PUBLIC_STATE:"public",LOGIN_STATE:"public.login"}).controller("AppCtrl",["$scope","$location","$state","$rootScope","$timeout","$document","$cookies","SessionService","CacheService","Config","constants",function(a,b,c,d,e,f,g,h,i,j,k){"ngInject";d.$state=c,j.serverParams.gaTrackingId&&ga("create",j.serverParams.gaTrackingId,"auto"),d.$on("$stateChangeStart",function(a,b,d,e,f){var g=b.name;if(g=g.substr(g,g.indexOf(".")),!h.getAuthToken()&&g!=k.PUBLIC_STATE){var l={state:b,params:d};return i.set("desiredState",l),j.serverParams.loginState?c.go(j.serverParams.loginState):g!=k.PUBLIC_STATE&&c.go(k.LOGIN_STATE),void a.preventDefault()}h.isAuthorized(b,d)||(c.go("public.accessDenied"),a.preventDefault())}),a.$on("$stateChangeSuccess",function(b,c,d,e,f){angular.isDefined(c.data.pageTitle)&&(a.pageTitle=c.data.pageTitle)}),d.logOut=function(){h.getAuthToken()&&(i.reset(),h.logOut().then(function(a){j.serverParams.loginState?c.go(j.serverParams.loginState):c.go(k.LOGIN_STATE)}).catch(function(a){c.go(k.LOGIN_STATE)}))};var l=new Date;d.persistSession=function(){e.cancel(d.persistId),c.current.name.indexOf(k.PUBLIC_STATE)>-1||(l=new Date,new Date-l>k.TIMEOUT_INTERVAL?d.checkTimeout()&&g.put("lastActive",new Date):d.persistId=e(function(){d.checkTimeout()&&g.put("lastActive",new Date)},k.TIMEOUT_INTERVAL))},d.checkTimeout=function(){if(e.cancel(d.timeoutId),!g.get("lastActive"))return console.error("Session Timedout on another window/tab"),c.go(k.LOGIN_STATE),!1;var a=new Date(g.get("lastActive"));return new Date-a>j.serverParams.sessionTimeout?(d.logOut(),!1):(d.timeoutId=e(d.checkTimeout,k.TIMEOUT_INTERVAL),!0)},j.serverParams.sessionTimeout&&"localhost"!=b.host()&&(f.on("mousemove",function(){d.persistSession()}),f.on("touchmove",function(){d.persistSession()}),f.on("keydown",function(){d.persistSession()}))}]),angular.module("dashboard.Alert",["ui.bootstrap","ui.bootstrap.modal"]).controller("AlertCtrl",["$scope","$modalInstance",function(a,b){"ngInject";a.closeAlert=function(){b.close()},a.okAlert=function(){"function"==typeof a.okHandler&&a.okHandler(),b.close()},a.cancelAlert=function(){"function"==typeof a.cancelHandler&&a.cancelHandler(),b.close()},function(){a.isConfirm="confirm"==a.alertType}()}]),angular.module("dashboard.Dashboard",["dashboard.Config","dashboard.Profile","dashboard.Dashboard.Model","dashboard.services.Dashboard","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard",{url:"/dashboard",controller:"DashboardCtrl",templateUrl:"app/dashboard/Dashboard.html",data:{pageTitle:"Dashboard"}}).state("portal",{url:"/portal",controller:"DashboardCtrl",templateUrl:"app/dashboard/Dashboard.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardCtrl",["$scope","$rootScope","$state","$stateParams","$location","$cookies","$modal","Config","DashboardService",function(a,b,c,d,e,f,g,h,i){"ngInject";var j=this;this.init=function(){a.toggleSideMenu=j.toggleSideMenu,a.hideSideMenu=j.hideSideMenu,a.editProfile=j.editProfile,a.logout=j.logout,a.locationPath=e.path(),a.username=f.get("username"),a.email=f.get("email"),a.userId=f.get("userId");try{a.userInfo=JSON.parse(f.get("session")),a.userInfo.user.roles=JSON.parse(f.get("roles"))}catch(a){console.error("Unable to parse $cookies.get(session)",a)}if(a.title=h.serverParams.title||"Content Management System",a.nav=i.getNavigation(),"dashboard"==c.current.name&&h.serverParams.defaultNav){var b=i.getDefaultNav(a.nav,angular.copy(h.serverParams.defaultNav));b.state?c.go(b.state,b.params):c.go("dashboard.model.action."+b.route,b.params)}a.$watch(function(){return e.path()},function(){a.locationPath=e.path()}),a.$on("modelEditSaved",function(){a.modalInstance&&a.modalInstance.close()})},this.toggleSideMenu=function(){var a=$(".dashboard");a.hasClass("show-side-menu")?a.removeClass("show-side-menu"):a.addClass("show-side-menu")},this.hideSideMenu=function(){$(".dashboard").removeClass("show-side-menu")},this.editProfile=function(b){b&&b.preventDefault(),a.action={options:{model:h.serverParams.profileModel,key:h.serverParams.profileKey,id:f.get("userId"),hideDelete:!0}},a.modalInstance=g.open({templateUrl:"app/dashboard/profile/Profile.html",controller:"ProfileCtrl",size:"lg",scope:a})},this.logout=function(a){b.logOut(),a&&a.preventDefault()},j.init()}]),angular.module("dashboard.Dashboard.Model",["dashboard.Dashboard.Model.Action","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model",{url:"/:model",controller:"DashboardModelCtrl",templateUrl:"app/dashboard/model/DashboardModel.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardModelCtrl",["$rootScope","$scope","$stateParams","Config",function(a,b,c,d){"ngInject";!function(){b.section=angular.copy(_.find(b.nav,{path:c.model}))}()}]),angular.module("dashboard.Dashboard.Model.Action",["dashboard.Dashboard.Model.Edit","dashboard.Dashboard.Model.List","dashboard.Dashboard.Model.Sort","dashboard.Dashboard.Model.View","dashboard.Dashboard.Model.Nav","dashboard.Dashboard.Model.Definition","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action",{url:"/:action",controller:"DashboardModelActionCtrl",templateUrl:"app/dashboard/model/DashboardModelAction.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardModelActionCtrl",["$scope","$stateParams",function(a,b){"ngInject";!function(){a.section&&a.section.subnav&&(a.action=angular.copy(_.find(a.section.subnav,{label:b.action})))}()}]),angular.module("dashboard.Dashboard.Model.Definition",["dashboard.Config","dashboard.services.Settings","ui.router","ui.bootstrap.modal"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.definition",{url:"/definition",templateUrl:"app/dashboard/model/definition/ModelDefinition.html",data:{pageTitle:"Settings - Model Definitions"}})}]).controller("ModelDefinitionCtrl",["$scope","$timeout","$state","$location","$modal","Config","SettingsService",function(a,b,c,d,e,f,g){"ngInject";a.clickSave=function(){}}]),angular.module("dashboard.Dashboard.Model.Edit",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","dashboard.directives.ModelField","dashboard.services.Cache","dashboard.services.GeneralModel","dashboard.services.FileUpload","dashboard.filters.locale","ui.router","ui.bootstrap","ui.bootstrap.datepicker","ui.bootstrap.modal","ngCookies"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.edit",{url:"/edit/:id",templateUrl:"app/dashboard/model/edit/ModelEdit.html",data:{pageTitle:"Edit"}})}]).constant("modelEditConstants",{keys:{save:"button.save",delete:"button.delete",confirmMessage:"button.delete.confirm"},defaults:{save:"Save",delete:"Delete",confirmMessage:"Are you sure you want to delete this record?"}}).controller("ModelEditCtrl",["$rootScope","$scope","$cookies","$location","$stateParams","$state","$window","$modal","$filter","Config","GeneralModelService","FileUploadService","CacheService","modelEditConstants","$translate",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){"ngInject";function p(){if(b.modelDisplay=b.model.display,b.action.options.display&&(b.modelDisplay=b.model[b.action.options.display]),!b.modelDisplay||0==b.modelDisplay.length){b.modelDisplay=[];var a=Object.keys(b.model.properties);for(var c in a){var d=a[c];b.modelDisplay.push(d),b.data[d]||(b.data[d]=null)}}b.$emit("onModelLoad",{data:b.data})}function q(c){var d=b.data[b.action.options.key];k.saveWithFiles(b.model.name,d,b.data).then(function(b){t&&t.close(),a.$broadcast("modelEditSaved"),c&&c(b)},r,s)}function r(b){if(a.$broadcast("modelEditSaveFailed",{error:b}),_.isPlainObject(b))if("string"==typeof b.translate&&b.translate.length>0){var c=o.instant(b.translate);c===b.translate&&(c=b.message),alert(c)}else b.code||b.message?("ER_DUP_ENTRY"===b.code&&(b.message="There was a duplicate entry found. Please make sure the entry is unique."),alert(b.message)):b.error?r(b.error):alert(angular.toJson(b));else alert(b);t&&t.close()}function s(a){if(_.isPlainObject(a)){if(a.translate){var c=o.instant(a.translate,a.params);b.status=c===a.translate?a.message:c}else a.message&&(b.status=a.message);a.progress&&(b.progress=a.progress)}}var t=null;b.clickSaveModel=function(a){s({message:"Saving",translate:"cms.status.saving",progress:0}),t=h.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:b}),q(function(a){m.clear(b.action.options.model),b.action.options&&b.action.options.returnAfterEdit?g.history.back():b.section?f.go(b.section.state?b.section.state:"dashboard.model.action.edit",{model:b.section.path,action:b.action.label,id:a[b.action.options.key]}):t&&t.close()})},b.clickDeleteModel=function(c,d){if(b.deleteDialogText=d&&d.deleteDialogText?d.deleteDialogText:b.deleteDialogText,confirm(b.deleteDialogText)){var e=c[b.action.options.key];b.model.options&&b.model.options.softDeleteProperty?(b.data[b.model.options.softDeleteProperty]=!0,q(function(){m.clear(b.action.options.model),g.history.back()})):k.remove(b.model.plural,e).then(function(c){a.$broadcast("modelDeleted"),m.clear(b.action.options.model),g.history.back()},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)})}},b.hasPermission=function(a){var d=null;if("object"==typeof a)d=a;else{var e=b.model.properties[a];d=e.display}if(!d)return!0;if(d.askIf){var f=Object.keys(d.askIf);for(var g in f){var e=f[g];if(b.data[e]!=d.askIf[e])return!1}}if(!d.roles)return!0;if(!c.get("roles"))return!1;var h=JSON.parse(c.get("roles"));for(var g in h){var i=h[g];if(d.roles.indexOf(i.name)>-1)return!0}return!1},function(){if(b.hideSideMenu(),g.ga&&g.ga("send","pageview",{page:d.path()}),b.action||(b.action={}),b.action.options||(b.action.options={model:e.model,key:e.key}),b.model=angular.copy(j.serverParams.models[b.action.options.model]),b.action.options.key){var a=b.action.options.key;b.model.properties[a].display||(b.model.properties[a].display={}),b.model.properties[a].display.readonly=!0}var c=o.use();if(b.locale=i("iso-639-1")(c),_.forEach(b.model.properties,function(a){if(a.display||(a.display={}),a.display.options||(a.display.options={}),b.action.options.readonly&&(a.display.readonly=!0),"string"==typeof a.type)switch(a.type.toLowerCase()){case"date":case"datetime":a.display.options.locale=b.locale}}),b.isLoading=!0,b.data={},b.action.options.data){var f=Object.keys(b.action.options.data);for(var h in f){var a=f[h];b.data[a]=b.action.options.data[a]}}k.checkDefaultValues(b.model,b.data);var l=null;e.id&&e.id>0&&(l=e.id),b.action.options.id&&b.action.options.id>0&&(l=b.action.options.id),l?(b.isEdit=!0,b.modelDisplay=null,k.get(b.model.plural,l).then(function(a){a&&(b.data=a,p(),b.isLoading=!1)})):(p(),b.isEdit=!1,b.isLoading=!1),o([n.keys.save,n.keys.delete,n.keys.confirmMessage]).then(function(a){b.saveButtonText=a[n.keys.save]==n.keys.save?n.defaults.save:a[n.keys.save],b.deleteButtonText=a[n.keys.delete]==n.keys.delete?n.defaults.delete:a[n.keys.delete],b.deleteDialogText=a[n.keys.confirmMessage]==n.keys.confirmMessage?n.defaults.confirmMessage:a[n.keys.confirmMessage]},function(a){b.saveButtonText=n.defaults.save,b.deleteButtonText=n.defaults.delete,b.deleteDialogText=n.defaults.confirmMessage}),b.$on("saveModel",function(){b.clickSaveModel(b.data)}),b.$on("deleteModel",function(a,c){b.clickDeleteModel(b.data,c)}),b.$on("onModelSave",function(){b.clickSaveModel(b.data)}),b.$on("onModelDelete",function(a,c){b.clickDeleteModel(b.data,c)}),b.$watchCollection("data",function(a,c){b.isLoading||b.$emit("onModelChange",a,c)}),b.$on("onModelFieldReferenceChange",function(a,c,d,e){b.data.hasOwnProperty(c)&&_.isEqual(d,e)||(b.data[c]=d)})}()}]),angular.module("dashboard.Dashboard.Model.Edit.SaveDialog",["ui.bootstrap","ui.bootstrap.progressbar","ui.bootstrap.modal"]).controller("ModelEditSaveDialogCtrl",["$scope","$modalInstance","$translate",function(a,b,c){"ngInject";!function(){a.statusLabel="Status",c("cms.status").then(function(b){"string"==typeof b&&b.length>0&&"cms.status"!==b&&(a.statusLabel=b)},function(a){console.log("Failed to translate cms.status",a)})}()}]),angular.module("dashboard.Dashboard.Model.List",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","dashboard.services.Cache","dashboard.services.GeneralModel","dashboard.directives.ModelFieldReference","ui.router","ngCookies","ngGrid","googlechart"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.list",{url:"/list",templateUrl:"app/dashboard/model/list/ModelList.html",data:{pageTitle:"List"}})}]).controller("ModelListCtrl",["$scope","$cookies","$timeout","$state","$location","$window","$modal","Config","GeneralModelService","CacheService",function ModelListCtrl($scope,$cookies,$timeout,$state,$location,$window,$modal,Config,GeneralModelService,CacheService){"ngInject";function init(){$scope.isLoading=!0,$scope.moment=moment,$scope.columnCount=0,$scope.list=[],$scope.selected=[],$scope.columns=[],$scope.listTemplateUrl="",$scope.totalServerItems=0,$scope.isEditing=!1,$scope.searchFields=$scope.action.options.searchFields,$scope.action.options.sort?$scope.sortInfo=$scope.action.options.sort:$scope.sortInfo={fields:[$scope.action.options.key],directions:["ASC"]},$scope.filterOptions={filterText:"",useExternalFilter:"boolean"==typeof $scope.action.options.useExternalFilter&&$scope.action.options.useExternalFilter},$scope.pagingOptions={pageSizes:["25","50","100","250","500"],pageSize:$scope.action.options.pageSize?$scope.action.options.pageSize:"25",currentPage:1},$scope.sortInfo||($scope.sortInfo={}),$scope.sortInfo.columns||($scope.sortInfo.columns=[]),$scope.gridOptions={data:"list",enableColumnResize:!0,enableRowSelection:"boolean"!=typeof $scope.action.options.enableRowSelection||$scope.action.options.enableRowSelection,multiSelect:!1,enablePaging:!0,useExternalSorting:!0,showSelectionCheckbox:!1,sortInfo:$scope.sortInfo,showFooter:!0,showFilter:$scope.action.options.showFilter,headerRowHeight:44,footerRowHeight:44,totalServerItems:"totalServerItems",pagingOptions:$scope.pagingOptions,filterOptions:$scope.filterOptions,selectedItems:$scope.selected,rowHeight:$scope.action.options.rowHeight?$scope.action.options.rowHeight:44},$scope.hideSideMenu(),$window.ga&&$window.ga("send","pageview",{page:$location.path()}),$scope.gridContainerTopMargin=0,$scope.action.options.chart&&($scope.gridContainerTopMarginMax=$scope.action.options.chart.height+60,$scope.gridContainerTopMargin=$scope.gridContainerTopMarginMax,processChart()),window.ngGrid.i18n.en.ngTotalItemsLabel="Total Records: ",window.ngGrid.i18n.en.ngPageSizeLabel="Show: ",$scope.columns=getColumnDefinition(),$scope.gridOptions.columnDefs="columns",$scope.action.options.editable&&($scope.gridOptions.enableCellEdit=!0,$scope.gridOptions.enableCellEditOnFocus=!1,$scope.gridOptions.enableCellSelection=!0,$scope.gridOptions.enableRowSelection=!1),$scope.action.options.params||($scope.action.options.params={}),$scope.action.options.model&&($scope.model=Config.serverParams.models[$scope.action.options.model]),$scope.action.options.api?$scope.apiPath=$scope.action.options.api:$scope.action.options.model&&($scope.apiPath=$scope.model.plural),$scope.origApiPath=$scope.apiPath,addQueryStringParams(),$scope.getTotalServerItems(),$timeout(function(){$(".ngFooterPanel select").addClass("form-control"),$(".ngFooterPanel button").addClass("btn btn-default")}),$scope.$grid=$(".grid"),angular.element($window).bind("resize",function(){processWindowSize()}),$scope.$on("ngGridEventStartCellEdit",function(){startEdit()}),$scope.$on("ModelListLoadItems",function(a,b){b&&b.resetPaging&&($scope.pagingOptions.currentPage=1),$scope.getTotalServerItems()}),(/(iPad|iPhone|iPod|Android)/g.test(navigator.userAgent)||$scope.action.options.flexibleHeight)&&($scope.gridOptions.plugins=[new ngGridFlexibleHeightPlugin]),$scope.action.options.allowCSVExport&&($scope.gridOptions.plugins||($scope.gridOptions.plugins=[]),$scope.gridOptions.plugins.push(new ngGridCsvExportPlugin)),Config.serverParams.strings&&($scope.cancelButtonText=Config.serverParams.strings.cancelButton,$scope.saveButtonText=Config.serverParams.strings.saveButton)}function getColumnDefinition(){var a=$scope.action.options.columnRef,b=$scope.action.options.columns;if(a&&"object"==typeof a&&a.label)if(a.path){var c=_.find(Config.serverParams.nav,{path:a.path}),d=_.find(c.subnav,{label:a.label});b=d.options.columns}else{var d=_.find($scope.section.subnav,{label:a.label});b=d.options.columns}if((b=angular.copy(b))&&$cookies.get("roles")){var e=JSON.parse($cookies.get("roles"));if(e)for(var f=0;f-1){h=!0;break}}h||(b.splice(f,1),f--)}}}return b}function processWindowSize(){var a=$scope.$grid,b=$window.innerWidth,c=b/$scope.columnCount;c<90&&!a.hasClass("hide-optional")?(a.addClass("hide-optional"),$scope.columns=$scope.columns.filter(function(a){return!a.optional})):c>=90&&a.hasClass("hide-optional")&&(a.removeClass("hide-optional"),$scope.columns=$scope.columns=getColumnDefinition())}function addQueryStringParams(){var queryStringParams=$location.search();$scope.queryStringParams=queryStringParams,$scope.apiPath=$scope.origApiPath;var keys=Object.keys(queryStringParams);for(var i in keys){var key=keys[i];$scope.action.options.params[key]=queryStringParams[key],$scope.apiPath&&($scope.apiPath=$scope.apiPath.replace("{"+key+"}",queryStringParams[key]))}try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=$scope.apiPath.indexOf("{session.");startPos>-1;){var endPos=$scope.apiPath.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for $scope.apiPath");break}var sessionKey=$scope.apiPath.substring(startPos+1,endPos);$scope.apiPath=$scope.apiPath.slice(0,startPos)+eval(sessionKey)+$scope.apiPath.slice(endPos+1),startPos=$scope.apiPath.indexOf("{session.")}}catch(a){console.error(a)}var filterDescription=queryStringParams.filterDescription;if($scope.filterDescription=filterDescription||$scope.action.label,queryStringParams.pageSize&&($scope.pagingOptions.pageSize=queryStringParams.pageSize),queryStringParams.currentPage&&($scope.pagingOptions.currentPage=parseInt(queryStringParams.currentPage)),queryStringParams.sortInfo)try{var sortInfo=JSON.parse(queryStringParams.sortInfo);_.extend($scope.sortInfo,sortInfo)}catch(a){console.warn("There are errors with the querystring param 'pagingOptions'")}queryStringParams.search&&($scope.filterOptions.filterText=queryStringParams.search)}function setupPagination(){var a=angular.copy($scope.action.options.params);if(a&&a.filter&&a.filter.length>0)try{var b=JSON.parse(a.filter);if(b.limit=parseInt($scope.pagingOptions.pageSize),b.skip=($scope.pagingOptions.currentPage-1)*parseInt($scope.pagingOptions.pageSize),$scope.sortInfo.fields.length>0){b.order="";for(var c in $scope.sortInfo.fields){var d=$scope.sortInfo.fields[c],e=$scope.sortInfo.directions[c];e||(e="ASC"),parseInt(c)>0&&(b.order+=", "),b.order+=d+" "+e}}a.filter=JSON.stringify(b)}catch(a){console.error(a),alert("Error with list filter. Please contact administrator for assistance.")}else{if(a=_.extend(a,{"filter[limit]":parseInt($scope.pagingOptions.pageSize),"filter[skip]":($scope.pagingOptions.currentPage-1)*parseInt($scope.pagingOptions.pageSize)}),$scope.sortInfo.fields.length>0){var f="";for(var c in $scope.sortInfo.fields){var d=$scope.sortInfo.fields[c],e=$scope.sortInfo.directions[c];e||(e="ASC"),parseInt(c)>0&&(f+=", "),f+=d+" "+e}a=_.extend(a,{"filter[order]":f})}if($scope.searchFields&&$scope.gridOptions.filterOptions.filterText){a=GeneralModelService.queryStringParamsToJSON(a);var g=$scope.gridOptions.filterOptions.filterText;if("object"==typeof a.filter.where){var h=angular.copy(a.filter.where);a.filter.where={and:[]},_.forEach(h,function(b,c){var d={};d[c]=b,a.filter.where.and.push(d)});var i={or:[]};angular.forEach($scope.searchFields,function(a,b){var c="["+a+"][like]",d=_.set({},c,"%"+g+"%");i.or.push(d)}),a.filter.where.and.push(i)}else angular.forEach($scope.searchFields,function(b,c){var d="filter[where][or]["+c+"]["+b+"][like]";a=_.set(a,d,"%"+g+"%")})}}$location.search("pageSize",$scope.pagingOptions.pageSize),$location.search("currentPage",$scope.pagingOptions.currentPage);var j=angular.copy($scope.sortInfo);return delete j.columns,$location.search("sortInfo",JSON.stringify(j)),$location.replace(),addQueryStringParams(),a}function processChart(){$scope.action.options.chart.api&&GeneralModelService.list($scope.action.options.chart.api,{}).then(function(a){$scope.chart=$scope.action.options.chart,$scope.chart.data=a,$scope.chart.options||($scope.chart.options={}),$scope.chart.options.vAxis||($scope.chart.options.vAxis={}),$scope.chart.options.hAxis||($scope.chart.options.hAxis={}),$scope.chart.options.hAxis.textStyle||($scope.chart.options.hAxis.textStyle={}),$scope.chart.options.vAxis.textStyle||($scope.chart.options.vAxis.textStyle={}),$scope.chart.options.vAxis.gridlines||($scope.chart.options.vAxis.gridlines={}),$scope.chart.options.hAxis.textStyle.fontSize||($scope.chart.options.hAxis.textStyle.fontSize=11),$scope.chart.options.vAxis.textStyle.fontSize||($scope.chart.options.vAxis.textStyle.fontSize=11),$scope.chart.options.hAxis.textStyle.color||($scope.chart.options.hAxis.textStyle.color="#999"),$scope.chart.options.vAxis.textStyle.color||($scope.chart.options.vAxis.textStyle.color="#999"),$scope.chart.options.vAxis.baselineColor||($scope.chart.options.vAxis.baselineColor="#999"),$scope.chart.options.hAxis.baselineColor||($scope.chart.options.hAxis.baselineColor="#999"),$scope.chart.options.vAxis.gridlines.color||($scope.chart.options.vAxis.gridlines.color="#eee"),$scope.chart.options.hAxis.gridlines.color||($scope.chart.options.hAxis.gridlines.color="#eee")})}function startEdit(){$scope.isEditing||($scope.oldList=angular.copy($scope.list),$scope.isEditing=!0)}function endEdit(){$scope.isEditing&&($scope.isEditing=!1,$scope.oldList=void 0,$scope.loadItems())}var isFirstLoad=!0,modalInstance=null;$scope.getTotalServerItems=function(){var a=setupPagination();GeneralModelService.count($scope.apiPath,a).then(function(b){if(b){if("string"==typeof b)$scope.totalServerItems=b;else{b instanceof Array&&b.length>0&&(b=b[0]);var c=Object.keys(b);!b.count&&c.length>0&&(b.count=b[c[0]]),$scope.totalServerItems=b.count}$scope.loadItems(a)}},function(a){$scope.errorMessage="There was an error while loading...",console.error(a)})},$scope.loadItems=function(a){$scope.$emit("ModelListLoadItemsLoading"),a||(a=setupPagination());var b=CacheService.getKeyForAction($scope.action,a);if(!$scope.filterOptions.useExternalFilter&&CacheService.get(b))try{$scope.list=CacheService.get(b),$scope.columnCount=$scope.list.length>0?Object.keys($scope.list[0]).length:0,processWindowSize()}catch(a){console.warn("ModelList Cache is corupt for key = "+b)}$scope.isLoading=!0,GeneralModelService.list($scope.apiPath,a).then(function(a){a&&(void 0!==$scope.action.options.resultField&&void 0!==a[$scope.action.options.resultField]?$scope.list=a[$scope.action.options.resultField]:$scope.list=a,$scope.columnCount=$scope.list.length>0?Object.keys($scope.list[0]).length:0,$scope.filterOptions.useExternalFilter||CacheService.set(b,$scope.list),processWindowSize(),$scope.$emit("ModelListLoadItemsLoaded"),isFirstLoad=!1,$scope.isLoading=!1,$scope.loadAttempted=!0)},function(a){$scope.errorMessage="There was an error while loading...",console.error(a)})},$scope.hasButtonPermission=function(a){if(!a.roles)return!0;if(!$cookies.get("roles"))return!1;var b=JSON.parse($cookies.get("roles"));for(var c in b){var d=b[c];if(a.roles.indexOf(d.name)>-1)return!0}return!1},$scope.clickListButton=function(button){if(button.click)eval("$scope."+button.click);else if(button.route){if(button.options&&(button.options.model&&($scope.action.options.model=button.options.model),button.options.key&&($scope.action.options.key=button.options.key),button.options.display&&($scope.action.options.display=button.options.display),button.returnAfterEdit&&($scope.action.options.returnAfterEdit=button.returnAfterEdit),button.options.data)){var keys=Object.keys(button.options.data);for(var i in keys){var key=keys[i],value=button.options.data[key];value.lastIndexOf("{")>-1&&(value=value.substring(value.lastIndexOf("{")+1,value.lastIndexOf("}")),value=$scope.queryStringParams[value]),$scope.action.options.data||($scope.action.options.data={}),$scope.action.options.data[key]=value}}$state.go("dashboard.model.action."+button.route)}else if(button.path&&button.label){var section=_.find(Config.serverParams.nav,{path:button.path}),action=_.find(section.subnav,{label:button.label});$state.go("dashboard.model.action."+action.route,{model:section.path,action:action.label})}},$scope.clickAdd=function(){$scope.list&&$scope.list.length,$scope.list.push({}),startEdit()},$scope.clickSaveEdit=function(){if($scope.oldList){var deltaList=[];for(var i in $scope.list){var newRow=$scope.list[i],oldRow=$scope.oldList[i];if(newRow&&("object"!=typeof newRow||0!=Object.keys(newRow).length)&&0!=newRow.length&&(!oldRow||JSON.stringify(newRow)!=JSON.stringify(oldRow))){var rowKeys=Object.keys(newRow);for(var i in rowKeys){var key=rowKeys[i];newRow[key]&&"object"==typeof newRow[key]&&delete newRow[key]}if($scope.action.options.defaults){var keys=Object.keys($scope.action.options.defaults);for(var i in keys){var key=keys[i],property=$scope.action.options.defaults[key];!property||!property.foreceDefaultOnSave&&newRow[key]||(property.default?newRow[key]=property.default:property.evalDefault&&(newRow[key]=eval(property.evalDefault)))}}if($scope.action.options.columns)for(var i in $scope.action.options.columns){var column=$scope.action.options.columns[i];if(column.required&&!newRow[column.field])return void alert("Please fill in all required fields: "+column.displayName)}deltaList.push(newRow)}}var recordIndex=0;$scope.status="Saving...",$scope.progress=0,modalInstance=$modal.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:$scope});var saveRecord=function(a,b){var c=a[$scope.action.options.key];GeneralModelService.save($scope.action.options.model,c,a).then(function(a){b()},function(a){if("object"==typeof a&&a.message)alert(a.message);else if("object"==typeof a&&a.error&&a.error.message)alert(a.error.message);else if("object"==typeof a&&a.code)switch(a.code){case"ER_DUP_ENTRY":alert("There was a duplicate entry found. Please make sure the entry is unique.")}else"object"==typeof a?alert(JSON.stringify(a)):alert(a);b()})},saveNextRecord=function(){if(recordIndex>=deltaList.length)return $scope.status="Saved Successful",modalInstance&&modalInstance.close(),$scope.loadItems(),void endEdit();$scope.status="Saving "+(recordIndex+1)+" of "+deltaList.length,$scope.progress=(recordIndex+1)/deltaList.length;var a=deltaList[recordIndex];saveRecord(a,function(){recordIndex++,saveNextRecord()})};saveNextRecord()}},$scope.clickCancelEdit=function(){confirm("Are you sure you want can cancel all changes?")&&endEdit()},$scope.deleteRowWithMessage=function(a,b){if(b)return void(confirm(b)&&$scope.deleteRow(a,!0));$scope.deleteRow(a)},$scope.deleteRow=function(a,b){if(!$scope.model||!$scope.model.plural)return void console.error("$scope.model or $scope.model.plural not found!");if(b||confirm("Are you sure you want to delete this item?")){var c=a.entity[$scope.action.options.key];c?$scope.model.options&&$scope.model.options.softDeleteProperty?(startEdit(),a.entity[$scope.model.options.softDeleteProperty]=!0,$scope.clickSaveEdit()):GeneralModelService.remove($scope.model.plural,c).then(function(b){$scope.list.splice(a.rowIndex,1)},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)}):$scope.list.splice(a.rowIndex,1)}},$scope.$watch("selected",function(a,b){a!==b&&a.length>0&&!$scope.action.options.editable&&($scope.action.options.selectedState?$state.go($scope.action.options.selectedState.stateName||"dashboard.model.action.edit",{model:$scope.action.options.selectedState.stateModel||$scope.section.path,key:$scope.action.options.key,action:$scope.action.options.selectedState.stateAction||$scope.action.label,id:a[0][$scope.action.options.selectedState.stateId||$scope.action.options.key]}):$state.go("dashboard.model.action.edit",{model:$scope.section.path,key:$scope.action.options.key,action:$scope.action.label,id:a[0][$scope.action.options.key]}))},!0),$scope.$watch("pagingOptions",function(a,b){a.currentPage==b.currentPage&&a.pageSize==b.pageSize||($scope.pagingOptions.pageSize=$scope.pagingOptions.pageSize.toString(),$scope.loadItems())},!0),$scope.$watch("gridOptions.$gridScope.filterText",_.debounce(function(a,b){a!=b&&$scope.$apply(function(){$scope.pagingOptions.currentPage=1,$scope.filterOptions.filterText=a,$scope.getTotalServerItems()})},250),!0),$scope.$watch("sortInfo",function(a,b){isFirstLoad||a===b||$scope.loadItems()},!0);var ngGridUnWatch=$scope.$watch("gridOptions.ngGrid",function(){if($scope.gridOptions.ngGrid){var a=$scope.gridOptions.ngGrid.$viewport;ngGridUnWatch(),$footerPanel=$(".ngFooterPanel"),$listContainer=$(".grid-container.list");var b=null,c=function(){$scope.gridOptions.$gridServices.DomUtilityService.RebuildGrid($scope.gridOptions.$gridScope,$scope.gridOptions.ngGrid)},d=function(d){var e=d.originalEvent.detail?-d.originalEvent.detail:d.originalEvent.wheelDelta/4,f=a.scrollTop();if(e<0){var f=a.scrollTop();0==f&&(f=-e),$scope.gridContainerTopMargin-f>0?($scope.gridContainerTopMargin-=f,a.height(a.height()+f),a.scrollTop(0)):(a.height(a.height()+$scope.gridContainerTopMargin),$scope.gridContainerTopMargin=0),$scope.gridOptions.$gridServices&&(clearTimeout(b),b=setTimeout(c,30))}else e>0&&(0==f&&$scope.gridContainerTopMargin<$scope.gridContainerTopMarginMax?(f=e,$scope.gridContainerTopMargin+=f, -a.height(a.height()-f)):0==f&&($scope.gridContainerTopMargin=$scope.gridContainerTopMarginMax,a.height($footerPanel.offset().top-a.offset().top)));$scope.$digest()};(/(iPad|iPhone|iPod|Android)/g.test(navigator.userAgent)||$scope.action.options.flexibleHeight)&&($(".model-list .grid-container").addClass("flexible"),$(".model-list .grid").css({bottom:"auto"}),$(".model-list .ngFooterPanel").css({position:"static",bottom:"auto"})),$scope.action.options.chart&&(angular.element($window).bind("mousewheel",d),angular.element($window).bind("DOMMouseScroll",d)),$(".search .ngColMenu input").on("keyup",function(){$location.search("search",$(this).val()),$location.replace()})}});init()}]).filter("encodeURIComponent",function(){return window.encodeURIComponent}),angular.module("dashboard.Dashboard.Model.Nav",["dashboard.Config","dashboard.services.Settings","ui.router","ui.bootstrap.modal"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.nav",{url:"/config",templateUrl:"app/dashboard/model/nav/ModelNav.html",data:{pageTitle:"Settings - Navigation"}})}]).controller("ModelNavCtrl",["$scope","$timeout","$state","$location","$modal","Config","SettingsService",function(a,b,c,d,e,f,g){"ngInject";function h(a){for(var b=angular.copy(j),c=0;cc[a.action.options.sortField]?-1:0}))})},a.moveUp=function(b){var c=a.list.indexOf(b);if(0!=c){var d=c-1;a.list.splice(d,0,a.list.splice(c,1)[0])}},a.moveDown=function(b){var c=a.list.indexOf(b);if(c!=a.list.length-1){var d=c+1;a.list.splice(d,0,a.list.splice(c,1)[0])}},a.edit=function(b){a.action.options.onEdit?a.action.options.onEdit(b[a.action.options.key]):c.go("dashboard.model.action.edit",{model:a.section.path,action:a.action.label,id:b[a.action.options.key]})},a.saveSort=function(){a.alertTitle="Saving...",a.alertMessage="Saving new sort order",a.allowAlertClose=!1,i=d.open({templateUrl:"app/dashboard/alert/Alert.html",controller:"AlertCtrl",size:"sm",scope:a});var b=[];for(var c in a.list){var e=a.list[c],f=e[a.action.options.key];b.unshift(f)}g.sort(a.action.options.model,a.action.options.key,a.action.options.sortField,b).then(function(b){a.alertMessage="Saved Successful!",a.allowAlertClose=!0},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)})},function(){a.hideSideMenu(),e.ga&&e.ga("send","pageview",{page:h.path()}),a.action.options.params||(a.action.options.params={}),a.model=f.serverParams.models[a.action.options.model],a.title=a.action.options.title?a.action.options.title:a.action.options.key,a.loadItems()}()}]),angular.module("dashboard.Dashboard.Model.View",["dashboard.Config","dashboard.directives.ModelField","dashboard.services.GeneralModel","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.view",{url:"/view/:id",controller:"ModelViewCtrl",templateUrl:"app/dashboard/model/view/ModelView.html",data:{pageTitle:"View"}})}]).controller("ModelViewCtrl",["$scope","$stateParams","Config","GeneralModelService",function(a,b,c,d){"ngInject";!function(){d.get(a.model.model,b.id).then(function(b){a.data=b})}()}]),angular.module("dashboard.Profile",["ui.bootstrap","ui.bootstrap.modal","dashboard.Dashboard.Model.Edit"]).controller("ProfileCtrl",["$scope","$modalInstance","$translate",function(a,b,c){!function(){c("user_profile.title").then(function(b){a.modalTitle=b},function(){a.modalTitle="User Profile"})}()}]),angular.module("dashboard.Login",["dashboard.Config","dashboard.services.Cache","dashboard.services.Session","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("public.login",{url:"/login",controller:"LoginCtrl",templateUrl:"app/login/Login.html",data:{pageTitle:"Login"}})}]).controller("LoginCtrl",["$scope","$state","$window","Config","SessionService","CacheService",function(a,b,c,d,e,f){"ngInject";var g=this;this.init=function(){a.login={},a.clickLogin=g.clickLogin},this.clickLogin=function(){e.logIn(a.login.email,a.login.password).then(function(a){var c=f.get("desiredState");f.reset(),c?b.go(c.state.name,c.params):b.go("dashboard")}).catch(function(a){a&&a[0]&&a[0].error&&a[0].error.message?alert(a[0].error.message):alert("Invalid login.")})},g.init()}]),angular.module("dashboard.Register",["dashboard.Config","dashboard.services.Session","dashboard.services.User","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("public.register",{url:"/register",controller:"RegisterCtrl",templateUrl:"app/Register/Register.html",data:{pageTitle:"Register"}})}]).controller("RegisterCtrl",["$scope","Config","SessionService","UserService",function(a,b,c,d){"ngInject";a.login={},a.register=function(){d.register(a.login.email,a.login.password).then(function(b){c.logIn(a.login.email,a.login.password).then(function(a){$state.go("dashboard")}).catch(function(a){alert("Error registering")})}).catch(function(a){alert("Error registering")})}}]),angular.module("dashboard.Config",[]).constant("Config",{apiBaseUrl:window.config.apiBaseUrl||"/api/",serverParams:window.config}),angular.module("dashboard.directive.DateTimePicker",[]).directive("dateTimePicker",["$rootScope",function(a){"ngInject";return{require:"?ngModel",restrict:"AE",scope:{control:"=",format:"@",ngFormat:"=ngFormat",ngTimeZone:"=ngTimeZone",defaultDate:"@",viewMode:"@",ngViewMode:"=ngViewMode",horizontal:"@",locale:"@",maxDate:"@",minDate:"@"},link:function(a,b,c,d){a.format||(a.format=a.ngFormat),a.viewMode||(a.viewMode=a.ngViewMode),a.format&&a.format.indexOf("DD-MMM-YYYY")>-1&&"es"===a.locale&&(a.format=a.format.replace("DD-MMM-","DD MMM ")),d.$formatters.push(function(b){if(a.format||(a.format=a.ngFormat),b){var c=moment(b);return a.ngTimeZone&&c.tz&&(c=c.tz(a.ngTimeZone)),c.format(a.format)}}),a.defaultDate=a.defaultDate&&"string"==typeof a.defaultDate?a.defaultDate.replace(/"/g,""):a.defaultDate;var e={format:a.format,useCurrent:!1,locale:a.locale,defaultDate:a.defaultDate?moment(a.defaultDate).toDate():void 0,viewMode:a.viewMode,widgetPositioning:{horizontal:a.horizontal?a.horizontal:"auto"}};a.minDate&&(e.minDate=a.minDate),a.maxDate&&(e.maxDate=a.maxDate),b.datetimepicker(e),a.control||(a.control={}),a.control.show=function(){b.focus()},b.on("blur",function(){a.format||(a.format=a.ngFormat),a.locale&&moment.locale(a.locale);var c=moment(b.val(),a.format);c.isValid()?d.$setViewValue(c):d.$setViewValue(null)})}}}]),angular.module("dashboard.directives",[]),angular.module("dashboard.directives.ModelField",["dashboard.directives.ModelFieldImage","dashboard.directives.ModelFieldVideo","dashboard.directives.ModelFieldFile","dashboard.directives.ModelFieldReference","dashboard.directives.ModelFieldReferenceSort","dashboard.directives.ModelFieldList","dashboard.directives.ModelFieldWYSIWYG","dashboard.directives.ModelFieldCanvas","dashboard.directives.ModelFieldLocation","dashboard.directives.ModelFieldPointsOfInterest","dashboard.directives.ModelFieldMultiSelect","dashboard.directives.ModelFieldNumber","dashboard.directive.DateTimePicker","ngCookies","ngSlider","ngSignaturePad","cwill747.phonenumber","monospaced.elastic"]).directive("modelFieldView",["$compile",function(a){"ngInject";function b(a){return"{{ field.label }}: {{ data[field.name] }}"}return{restrict:"E",scope:{key:"=key",model:"=model",data:"=ngModel"},link:function(c,d,e){d.html(b(c.field.type)).show(),a(d.contents())(c)}}}]).directive("modelFieldEdit",["$compile",function(a){"ngInject";function b(a,b){var c="";switch(a){case"reference":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"reference-sort":c='
{{ display.error }}
{{ display.description | translate }}
{{ display.description | translate }}
';break;case"list":c='
{{ display.error }}
{{ display.description | translate }}
{{ display.description | translate }}
';break;case"file":c='
{{ display.error }}

{{ display.description | translate }}
';break;case"image":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"video":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"datetime":c='
{{ display.error }}

{{ display.description | translate }}
';break;case"multi-select":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"select":var d="key as (value | translate) for (key, value) in display.options";b.property.display.options instanceof Array&&(d="object"!=typeof b.property.display.options[0]||Array.isArray(b.property.display.options[0])?"value as value for value in display.options":"item.key as item.value disable when item.disabled for item in display.options"),c='
{{ display.error }}
{{ display.description | translate }}
';break;case"radio":var e="(value, text) in display.options";b.property.display.options instanceof Array&&(e="object"!=typeof b.property.display.options[0]||Array.isArray(b.property.display.options[0])?"text in display.options":"item in display.options"),c='
{{ display.error }}
{{ display.description | translate }}
';break;case"slider":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"boolean":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"password":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"textarea":c='
{{ display.error }}
{{ display.description | translate }}  ({{ charsLeft }} characters left)
';break;case"wysiwyg":case"WYSIWYG":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"draw":case"signature":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"location":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"poi":case"POI":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"number":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"phoneNumber":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"text":default:c='
{{ display.error }}
{{ display.description | translate }}  ({{ charsLeft }} characters left)
'}return c}function c(a,b){var c=$(a).find("input");if(b&&c)for(var d in b)c.attr(d,b[d])}return{restrict:"E",scope:{key:"=key",model:"=model",data:"=ngModel",ngError:"&"},link:function(d,e,f){function g(a){a&&a.message?i.display.error=a.message:delete i.display.error,d.ngError&&d.ngError({error:a})}function h(){if("text"===i.display.type||"textarea"===i.display.type){var a=d.data[d.key]?d.data[d.key].length:0;d.charsLeft=i.display.maxLength-a,d.lengthCheck=function(a){return d.charsLeft=i.display.maxLength-a.target.value.length,i.display.maxLength&&a.target.value.length>i.display.maxLength?(d.display.error="Text is longer than the maximum allowed length of "+d.display.maxLength+" characters.",void(d.ngError&&d.ngError({error:new Error(d.display.error)}))):i.display.maxLength&&a.target.value.length<=i.display.maxLength&&a.target.value.length>0?(delete d.display.error,delete d.display.errorCode,void(d.ngError&&d.ngError({error:null}))):void(0===a.target.value.length&&i.display.isRequired&&(d.display.error="This is a required field.",d.ngError&&d.ngError({error:new Error(d.display.error)})))}}if("file"==i.display.type&&d.data[d.key]){var b=d.data[d.key];if("object"==typeof b&&b.filename?b=b.filename:"object"==typeof b&&b.file&&(b=b.file.name),b){var c=b.toLowerCase().substring(b.length-4);".png"!=c&&".jpg"!=c&&"jpeg"!=c&&".bmp"!=c||(i=angular.copy(i),i.display.type="image")}}"datetime"==i.display.type&&(i.display.options||(i.display.options={}),i.display.options.format||(i.display.options.format="YYYY-MM-DD h:mm A")),!d.data[d.key]&&i.display.defaultValueUsingModelKey&&(d.data[d.key]=d.data[i.display.defaultValueUsingModelKey]),d.data[d.key]&&!1===i.display.convertToLocalTime&&(d.data[d.key]=d.data[d.key].substring(0,d.data[d.key].length-1)),"boolean"==i.display.type&&(d.check=function(a,b){var c=a[b];return void 0==c||null==c?i.display.default:(a[b]="1"==c||1==c,a[b])},"string"==typeof d.data[d.key]&&(d.data[d.key]=parseInt(d.data[d.key]))),"slider"==i.display.type&&(void 0!==d.data[d.key]&&null!=d.data[d.key]||(d.data[d.key]=i.display.options.from+";"+i.display.options.to))}var i;!function(){if(d.onFieldError=g,null!==d.key&&"object"==typeof d.key&&(d.model.properties[d.key.property]||(d.model.properties[d.key.property]={}),d.model.properties[d.key.property].display=d.key,d.key=d.key.property),i={display:{type:"text"}},d.model.properties&&d.model.properties[d.key]&&(i=d.model.properties[d.key]),!i)return void console.log("ModelField link error: no property for model '"+d.model.name+"'; property key = '"+d.key+"' found!");if(!i.display||!i.display.type)switch(i.display||(i.display={}),i.type){case"date":case"Date":i.display.type="datetime";break;default:i.display.type="text"}h(),d.data[d.key]||!i.default&&"number"!=typeof i.default||(d.data[d.key]=i.default),d.property=i,d.display=i.display,i.display.editTemplate?e.html(i.display.editTemplate).show():e.html(b(i.display.type,d)).show(),c(e,d.property.display.inputAttr),d.display.pattern&&"/"==d.display.pattern[0]&&"/"==d.display.pattern[d.display.pattern.length-1]&&(d.display.pattern=d.display.pattern.slice(1,d.display.pattern.length-2)),a(e.contents())(d)}()}}}]),angular.module("dashboard.directives.ModelFieldCanvas",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","ui.bootstrap","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldCanvasView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldCanvasEdit",["$compile","$cookies","$timeout","$modal","Config","FileUploadService",function(a,b,c,d,e,f){"ngInject";function g(){return' '}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d,e){b.isLoading=!0,b.signature={},b.clearCanvas=function(){var a=b.signature._canvas;a.width=a.width,b.data=null},b.$watch("signature._mouseButtonDown",function(){if(b.signature.fromDataURL&&b.isLoading){b.isLoading=!1 -;var a=new Image;a.setAttribute("crossOrigin","anonymous"),a.onload=function(){b.signature._canvas.getContext("2d").drawImage(a,0,0)},"object"==typeof b.data&&b.data.fileUrl?a.src=b.data.fileUrl:a.src=b.data}else if(b.signature.toDataURL){var c=b.signature.toDataURL();b.data=c}}),c.html(g()).show(),a(c.contents())(b)}}}]),angular.module("dashboard.directives.ModelFieldFile",["dashboard.services.GeneralModel"]).directive("modelFieldFileView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldFileEdit",["$compile","$document","$window","GeneralModelService","SessionService","$translate",function(a,b,c,d,e,f){"ngInject";return{restrict:"E",template:'   {{ filename }}  (download | preview)
Drop File Here
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(a,c,d){a.selectFileButtonText="Select File",a.clearButtonText="Clear";var e=["button.select_file"];f(e).then(function(b){-1===e.indexOf(b["button.select_file"])&&(a.selectFileButtonText=b["button.select_file"])});var g=a.$watch("data",function(b){if(b)if(g(),a.data&&a.data&&a.data.filename)a.filename=a.data.filename,a.fileUrl=a.data.fileUrl,a.previewUrl=a.data.previewUrl;else if("string"==typeof a.data){a.fileUrl=a.data.replace(/%2F/g,"/");var c=a.fileUrl.lastIndexOf("/");a.filename=a.fileUrl.substring(c+1)}else if("object"==typeof a.data.file){var d=a.options.path;a.data={path:d,file:a.data.file},a.filename=a.data.file.name,a.fileUrl=null,a.previewUrl=null}});a.getFileIcon=function(a){switch(a.substring(a.lastIndexOf(".")).toLowerCase()){case".txt":return"fa-file-text-o";case".doc":case".docx":return"fa-file-word-o";case".wav":case".mp3":case".aif":return"fa-file-audio-o";case".m4v":case".mov":case".mp4":case".avi":return"fa-file-video-o";case".jpg":case".jpeg":case".png":case".gif":case".bmp":case".tif":return"fa-file-image-o";case".xls":case".xlsx":return"fa-file-excel-o";case".ppt":case".pptx":return"fa-file-excel-o";case".pdf":return"fa-file-pdf-o";default:return"fa-file-o"}},a.onFileSelect=function(b){if(!(b.length<1)){var c=b[0],d=a.options.path;a.data={path:d,file:c},a.filename=c.name,a.fileUrl=null}},a.clear=function(b){b.preventDefault(),a.options.confirm&&!confirm("Are you sure you would like to clear the file?")||(a.data=null,a.filename=null,a.fileUrl=null)},b.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),b.on("dragover",function(a){a.preventDefault(),c.find(".file-drop").addClass("show")}),$(window).on("mouseleave",function(){c.find(".file-drop").removeClass("show")}),a.$on("$destroy",function(){b.off("drop"),b.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldImage",["dashboard.services.GeneralModel","dashboard.services.Image"]).directive("modelFieldImageView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldImageEdit",["$compile","$document","GeneralModelService","ImageService","SessionService","$timeout","$translate",function(a,b,c,d,e,f,g){"ngInject";return{restrict:"E",template:'
{{ uploadStatus }}
HTML5 Drop File is not supported!
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(a,e,h){var i=null;a.selectFileButtonText="Select File",a.clearButtonText="Clear";var j=["button.select_file","button.clear"];g(j).then(function(b){-1===j.indexOf(b["button.select_file"])&&(a.selectFileButtonText=b["button.select_file"]),-1===j.indexOf(b["button.clear"])&&(a.clearButtonText=b["button.clear"])}),a.uploadStatus="Upload File";var k=a.$watch("data",function(b){if(b)if(k(),a.options&&a.options.model)c.get(a.options.model,b).then(function(b){b&&(a.imageUrl=b[a.options.urlKey],a.imageUrl||(a.imageUrl=b.mediumUrl),a.thumbnailUrl=a.imageUrl)});else if("string"==typeof b)if(a.imageUrl=b,a.thumbnailUrl=a.options.thumbnailUrl,a.thumbnailUrl){var d=new Image;d.onerror=function(){f(function(){a.thumbnailUrl=a.imageUrl})},d.src=a.thumbnailUrl}else a.thumbnailUrl=a.imageUrl;else"object"==typeof b&&(b.fileUrl&&(a.imageUrl=b.fileUrl),b.imageUrl&&(a.imageUrl=b.imageUrl),!a.imageUrl&&b.file&&l.readAsDataURL(b.file))}),l=new FileReader;l.onload=function(b){var c=a.options.path,e={path:c,file:i};a.modelData.__ModelFieldImageData||(a.modelData.__ModelFieldImageData={}),a.options&&a.options.urlKey?(a.modelData.__ModelFieldImageData[a.key]||(a.modelData.__ModelFieldImageData[a.key]={}),a.modelData.__ModelFieldImageData[a.key][a.options.urlKey]=e):a.modelData.__ModelFieldImageData[a.key]=e,d.fixOrientationWithDataURI(b.target.result,function(b,c){a.imageUrl=c,a.thumbnailUrl=c,e.file=a.dataURItoBlob(c),e.file.name=i.name,a.options&&a.options.export?(a.uploadStatus="Creatimg Image Sizes",a.exportImages(function(){a.uploadStatus="Upload File",a.$apply()})):a.options&&a.options.resize&&a.resizeImage(c,a.options.resize,function(a){e.file=a}),a.$apply()})},l.onerror=function(a){console.log(a)},a.clear=function(){a.options.confirm&&!confirm("Are you sure you would like to clear this photo?")||(a.data=null,a.modelData.__ModelFieldImageData&&a.modelData.__ModelFieldImageData[a.key]&&delete a.modelData.__ModelFieldImageData[a.key],delete a.imageUrl,delete a.thumbnailUrl)},a.onFileSelect=function(b){if(!(b.length<1)){i=b[0];var c=!1;a.options.extensions?a.options.extensions.forEach(function(a){i.type.match("image/"+a)&&(c=!0)}):c=!0,c?l.readAsDataURL(i):alert("File must be of the following file types ("+a.options.extensions.join(", ")+").")}},a.exportImages=function(b){var c=arguments[1];c||(c=0);var d=Object.keys(a.options.export);if(c>=d.length)return void b();var e=d[c],f=a.options.export[e];a.resizeImage(a.imageUrl,f,function(d){a.modelData.__ModelFieldImageData[a.key][e]=d,c++,a.exportImages(b,c)})},a.resizeImage=function(b,c,e){d.resize(b,c,function(b,c){var d=a.dataURItoBlob(c);e(d)})},a.dataURItoBlob=function(a){var b;b=a.split(",")[0].indexOf("base64")>=0?atob(a.split(",")[1]):unescape(a.split(",")[1]);for(var c=a.split(",")[0].split(":")[1].split(";")[0],d=new Uint8Array(b.length),e=0;e
'),d=$('
');if(c.append(d),$("body").append(c),a.options.isLightbox){var e=Math.min(d.width()/b.width,d.height()/b.height),f=b.width*e,g=b.height*e;d.css({background:"no-repeat center center url("+a.imageUrl+")",backgroundSize:f+"px "+g+"px"})}else{var h=$('
'),i=$('
');d.append(h),d.append(i);var e=Math.min(h.width()/b.width,h.height()/b.height),j=b.width*e,k=b.height*e;h.css({background:"no-repeat center center url("+a.imageUrl+")",backgroundSize:j+"px "+k+"px"});e=1;var l=b.width*e,m=b.height*e;i.css({background:"no-repeat center center url("+a.imageUrl+"), #111",backgroundSize:l+"px "+m+"px",border:"solid 1px #000"});var n="center",o="center",p=function(a){n=a.offsetX,o=a.offsetY,n||(n=a.pageX),o||(o=a.pageY),n-=h.width()/2-j/2,o-=h.height()/2-k/2,n*=-l/j,o*=-m/k,n+=i.width()/2,o+=i.height()/2,i.css({backgroundPosition:n+"px "+o+"px",backgroundSize:l+"px "+m+"px"})};h.on("mousemove",p),h.bind("mousewheel",function(a){a.originalEvent.wheelDelta/120>0&&e+.01<=1.1?e+=.01:e-.01>=.1&&(e-=.01),l=b.width*e,m=b.height*e,p(a)})}c.animate({backgroundColor:"rgba(0,0,0,0.65)"},600,function(){d.animate({opacity:1},300)}),d.click(function(){c.animate({opacity:0},300,function(){c.remove()})})},b.src=a.imageUrl}else{var c=e.find(".image-container");c.width()<=160?c.animate({width:"400px",height:"400px"},300):c.animate({width:"160px",height:"160px"},300)}},b.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),b.on("dragover",function(a){a.preventDefault(),e.find(".image-drop").addClass("show-upload"),e.find(".input[type=file]").addClass("show-upload"),e.find(".button-menu").addClass("hide-menu")}),$(window).on("mouseleave",function(){e.find(".image-drop").removeClass("show-upload"),e.find(".input[type=file]").removeClass("show-upload"),e.find(".button-menu").removeClass("hide-menu")}),a.$on("$destroy",function(){b.off("drop"),b.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldList",["dashboard.Config","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldListView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldListEdit",["$compile","$cookies","$timeout","Config","GeneralModelService",function(a,b,c,d,e){"ngInject";function f(a){return' '}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d){b.list||(b.list=[]),b.options.addLabel||(b.options.addLabel="Add Item"),b.sortableOptions={placeholder:"sortable-placeholder",update:self.updateData,disabled:b.disabled},b.setData=function(){"object"==b.options.output?b.data=b.list:b.data=JSON.stringify(b.list)},b.addItem=function(){b.list.push({}),b.setData()},b.removeItem=function(a){b.list[a];b.list.splice(a,1),b.setData()},b.updateData=function(){b.setData()};b.$watchCollection("[data, options, modelData]",function(a){if(b.data&&b.options)if(b.data instanceof Array)b.list=b.data;else try{b.list=JSON.parse(b.data)}catch(a){b.list=[],console.error("ModelFieldList failed to parse scope.data",a)}});c.html(f(b.options.key)).show(),a(c.contents())(b)}}}]),angular.module("dashboard.directives.ModelFieldLocation",["dashboard.services.Location","ui.bootstrap","dashboard.services.GeneralModel"]).directive("modelFieldLocationView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldLocationEdit",["$compile","$q","LocationService",function(a,b,c){"ngInject";function d(){var a=b.defer();if(angular.element("#google_maps").length)return a.resolve(),a.promise;var c=document.createElement("script");return c.onload=function(){a.resolve()},c.id="google_maps",c.type="text/javascript",c.src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,places",document.getElementsByTagName("head")[0].appendChild(c),a.promise}function e(){return'
Loading your location...
{{geocodeError}}
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,f,g){function h(){b.isMapLoading=!1,b.isLoaded=!0,k=new google.maps.Map(angular.element("#map_canvas")[0],{center:b.location,zoom:12}),i()}function i(){j()}function j(){if(b.data)if(m){var a=new google.maps.LatLng(b.data.lat,b.data.lng);m.setPosition(a),m.setMap(k),k.setCenter(a)}else{m=new google.maps.Marker({position:b.location,map:k,icon:new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|2F76EE",new google.maps.Size(21,34),new google.maps.Point(0,0),new google.maps.Point(10,34)),draggable:!0,tooltip:"Current location"}),google.maps.event.addListener(m,"dragend",function(){var a={lat:m.position.lat(),lng:m.position.lng()};b.data=a,b.$digest()})}}var k,l,m,n;b.isMapLoading=!0,b.isLoaded=!1,b.geocodeSearch={value:""},b.geocodeError=null,b.showGeocode=!1,d().then(function(){l=new google.maps.Geocoder,b.showGeocode=!1,b.property.display.options&&b.property.display.options.allowGeocode&&(b.showGeocode=!0);b.property.display.options&&b.property.display.options.query&&b.property.display.options.query,f.html(e()).show(),a(f.contents())(b),b.data?(n=b.data,b.location=angular.copy(b.data),h()):c.currentLocation().then(function(a){var c={lat:a.latitude,lng:a.longitude};n=c,b.data=c,h()}),b.$watch("data",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())}),b.$watch("data.lat",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())}),b.$watch("data.lng",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())})},function(){console.error("Error loading Google Maps")}),b.doGeocode=function(){b.geocodeError=null,b.geocodeSearch.value?l.geocode({address:b.geocodeSearch.value},function(a,c){c==google.maps.GeocoderStatus.OK?b.$apply(function(){var c={lat:a[0].geometry.location.lat(),lng:a[0].geometry.location.lng()};b.data=c,h()}):c===google.maps.GeocoderStatus.OVER_QUERY_LIMIT?console.log("Geocode was not successful for the following reason: "+c):c===google.maps.GeocoderStatus.ZERO_RESULTS?(b.geocodeError="Couldn't match the specified query with a geopoint",b.$digest(),console.log("Geocode was not successful for the following reason: "+c)):console.log("Geocode was not successful for the following reason:"+c)}):alert("Please enter the address of a location to geocode.")},b.clearSearch=function(){b.hasSearched=!1},b.revertValue=function(){n&&(b.data=n)}}}}]),angular.module("dashboard.directives.ModelFieldMultiSelect",[]).directive("modelFieldMultiSelect",["$compile",function(a){"ngInject";function b(){return'
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(c,d,e,f){function g(){var a=c.options||j.display.options;"string"==typeof a&&(a=a.indexOf("\n")>-1?a.split("\n"):a.split(","));var b=j.display.key||"key",d=j.display.value||"value";if(Array.isArray(a))for(var e in a){var f=a[e];if("string"==typeof f){var g={key:f,value:f};c.multiSelectOptions.push(g)}else if(f&&"object"==typeof f){var h=f[b]||e,g={key:h,value:f[d],item:f};c.multiSelectOptions.push(g)}}else if(a&&"object"==typeof a){var i=Object.keys(a);for(var k in i){var h=i[k],g={key:h,value:a[h]};c.multiSelectOptions.push(g)}}}function h(){if(void 0===j.display.output){var a=c.options||j.display.options;j.display.output=a instanceof Array?"comma":"object"}if("string"==typeof c.data){c.data||(c.data="");var b=c.data.split('","');for(var d in b){var e=b[d];'"'==e[0]&&(e=e.substring(1,e.length)),'"'==e[e.length-1]&&(e=e.substring(0,e.length-1));var f=_.findIndex(c.multiSelectOptions,{key:e});f>-1&&(c.selected[f]=!0)}}else if(Array.isArray(c.data)){c.data||(c.data=[]);for(var d in c.data){var g=c.data[d],f=_.findIndex(c.multiSelectOptions,{key:g});f>-1&&(c.selected[f]=!0)}}else if(c.data&&"object"==typeof c.data){c.data||(c.data={});var h=Object.keys(c.data);for(var i in h){var k=h[i],f=_.findIndex(c.multiSelectOptions,{key:k});f>-1&&(c.selected[f]=!0)}}}function i(a,b){var d="array"===j.display.output?[]:"object"===j.display.output?{}:"";for(var e in c.selected)if(c.selected[e]){var f=c.multiSelectOptions[e];switch(j.display.output){case"object":d[f.key]=f.value;break;case"comma":d+='"'+f.key+'",';break;case"array":d.push(b.item||b.key)}}"comma"===j.display.output&&d.length>0&&(d=d.substring(0,d.length-1)),c.data=d}var j=c.property;!function(){c.multiSelectOptions=[],c.selected=[],j||(j={}),j.display||(j.display={}),g(),h(),c.clickMultiSelectCheckbox=i,d.html(b()).show(),a(d.contents())(c)}()}}}]),angular.module("dashboard.directives.ModelFieldNumber",[]).directive("modelFieldNumber",["$compile","$filter",function(a,b){"ngInject";function c(){return''}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled",required:"=ngRequired",ngError:"&"},link:function(d,e,f,g){function h(a){var b=0;if(document.selection){var c=document.selection.createRange();c.moveStart("character",-a.target.value.length),b=c.text.length}else(a.target.selectionStart||0===a.target.selectionStart)&&(b=a.target.selectionStart);var d=a.target.value;if("string"==typeof d){var e=d.indexOf(".");if(!(-1===e||e>=b)){var f=d.split(".");if(!(f.length<1))return f[1].length>=k.display.scaleValue?void a.preventDefault():void 0}}}function i(a){if((""===a.target.value||null===a.target.value)&&!a.target.validity.badInput)return void(d.ngError&&k.display.isRequired?d.ngError({error:new Error("This is a required field.")}):d.ngError&&d.ngError({error:null}));if(!0===k.display.allowDecimal){var c=b("decimalWithScale")(a.target.value,k.display.scaleValue);if(isNaN(c)&&d.ngError)return void d.ngError({error:new Error("Please enter a valid number")});if(d.data=c,void 0!==k.display.minValue&&j(k.display.minValue,a.target.value))return void(d.ngError&&d.ngError({error:new Error("Value is less than the minimum allowed value ("+k.display.minValue+").")}));if(void 0!==k.display.maxValue&&j(a.target.value,k.display.maxValue))return void(d.ngError&&d.ngError({error:new Error("Value is greater than the maximum allowed value ("+k.display.maxValue+").")}));d.ngError&&d.ngError({error:null})}else if(!1===k.display.allowDecimal){if(isNaN(_.round(a.target.value))||isNaN(parseInt(a.target.value)))return void(d.ngError&&d.ngError({error:new Error("Please enter a valid number")}));var e=_.round(a.target.value,0);if(d.data=e,void 0!==k.display.minValue&&k.display.minValue>parseFloat(a.target.value))return void(d.ngError&&d.ngError({error:new Error("Value is less than the minimum allowed value ("+k.display.minValue+").")}));if(void 0!==k.display.maxValue&&k.display.maxValueparseInt(e[0]))return!0;if(parseInt(d[0])=0&&parseInt(e[0])>=0,g=0;gparseInt(e[1].charAt(g)))return f;if(parseInt(d[1].charAt(g)){{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldPointsOfInterestEdit",["$compile","$cookies","$timeout","$modal","$http","$q","$window","Config","GeneralModelService","LocationService",function(a,b,c,d,e,f,g,h,i,j){"ngInject";function k(a){var b=f.defer();if(angular.element("#google_maps").length)return b.resolve(),b.promise;var c=document.createElement("script");return c.onload=function(){b.resolve()},c.id="google_maps",c.type="text/javascript",c.src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,places",a&&(c.src+="&key="+a),document.getElementsByTagName("head")[0].appendChild(c),b.promise}function l(a){return a.replace(/ /g,"_").toLowerCase()}function m(){return' \t\t\t
Search results are loading...
\t\t\t
\t\t\t \t\t\t \t\t\t\t\t\t\t\t\t \t\t\t{{searchError}}\t\t\t\t\t\t \t\t\t
\t\t\t
    \t\t\t\t
  • \t\t\t\t\t
    {{ $index + 1 }}. {{ item.name }}
    \t\t\t\t\t\t{{item.formatted_address}} \t\t\t\t\t
    \t\t\t\t\t\t \t\t\t\t\t\t \t\t\t\t\t
    \t\t\t\t
  • \t\t\t
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d){function e(){b.isMapLoading=!1,b.isLoaded=!0,q=new google.maps.Map(document.getElementById("map_canvas"),{center:b.request.location,zoom:s}),f()}function f(){g()}function g(){b.clearSearch();var a=jQuery.extend(!0,{},b.request);a.radius=.5*a.radius,new google.maps.places.PlacesService(q).textSearch(a,function(a,c){c==google.maps.places.PlacesServiceStatus.OK?(h(a),b.boundaries.length>0&&p(),b.markers.length>0&&i(),j(),n(),o(),b.$digest()):console.log("search was not successful for the following reason: "+c)})}function h(a){u&&u.close();for(var c=0;c{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldReferenceEdit",["$compile","$cookies","Config","GeneralModelService",function($compile,$cookies,Config,GeneralModelService){"ngInject";function getTemplate(a,b,c){return a?' '+b+' '+c+" ":' '+b+' '+c+" "}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled",rowData:"=ngRowData",textOutputPath:"=ngTextOutputPath",onModelChanged:"&onModelChanged",appendToBody:"=appendToBody"},link:function(scope,element,attrs){function replaceSessionVariables(string){if("string"!=typeof string)return string;try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for string");break}var sessionKey=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+eval(sessionKey)+string.slice(endPos+1),startPos=string.indexOf(searchString)}for(searchString="{",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for string");break}var key=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+scope.modelData[key]+string.slice(endPos+1),startPos=string.indexOf(searchString)}}catch(a){console.error(a)}return string}function mergeArray(a,b){for(var c in a){var d=a[c];-1==b.indexOf(d)&&b.push(d)}}function assignJunctionMeta(){if(scope.options.junctionMeta)for(var a in scope.selected.items){var b=scope.selected.items[a];b.junctionMeta=scope.options.junctionMeta}}scope.moment=moment,scope.isFirstTimeLoad=!0,scope.selected={},scope.selected.items=[],scope.selected.item=null,scope.list=[],scope.$watch("selected.items",function(a,b){var c=element.hasClass("ng-invalid");scope.property&&scope.property.display&&scope.property.display.required&&a&&0===a.length&&element.addClass("ng-invalid"),a&&a.length>0&&c&&element.removeClass("ng-invalid"),scope.$emit("onModelFieldReferenceChange",scope.options.relationship?scope.options.relationship:scope.key,a,b)}),scope.refreshChoices=function(a){var b=Config.serverParams.models[scope.options.model],c={"filter[limit]":100};if(c["filter[where]["+scope.options.searchField+"][like]"]="%"+a+"%",scope.options.where){var d=Object.keys(scope.options.where);for(var e in d){var f=d[e];c["filter[where]["+f+"]"]=replaceSessionVariables(scope.options.where[f])}}if(scope.options.filters){var d=Object.keys(scope.options.filters);for(var e in d){var f=d[e];c[f]=replaceSessionVariables(scope.options.filters[f])}}var g=b.plural;scope.options.api&&(g=replaceSessionVariables(scope.options.api)),GeneralModelService.list(g,c,{preventCancel:!0}).then(function(a){if(a){if(scope.list=a,scope.options.allowInsert){var b={};b[scope.options.searchField]="[Add New Item]",scope.list.push(b)}if(scope.options.allowClear){var b={};b[scope.options.searchField]="[clear]",scope.list.unshift(b)}"number"==typeof scope.options.defaultIndex&&a[scope.options.defaultIndex]&&scope.onSelect(a[scope.options.defaultIndex])}})};var unwatch=scope.$watchCollection("[data, options, modelData]",function(a){if(scope.modelData&&scope.modelData&&scope.options&&scope.options.multiple){if(!scope.property.display.sourceModel)return unwatch(),void(scope.modelData[scope.property.display.options.relationship]&&(scope.selected.items=scope.modelData[scope.property.display.options.relationship],assignJunctionMeta(),scope.list=scope.selected.items));var b=Config.serverParams.models[scope.property.display.sourceModel],c=Config.serverParams.models[scope.options.model],d=b.plural,e=(c.plural,scope.modelData[scope.property.display.sourceKey]);if(!e)return;unwatch();var f={};if(scope.options.junctionMeta){var g=Object.keys(scope.options.junctionMeta);for(var h in g){var i=g[h];f["filter[where]["+i+"]"]=scope.options.junctionMeta[i]}}GeneralModelService.getMany(d,e,scope.options.relationship,f,{preventCancel:!0}).then(function(a){if(a)if(scope.options.api&&a.length>0){var b={filter:{where:{}}};b.filter.where[scope.options.key]={inq:[]};for(var c in a){var d=a[c];b.filter.where[scope.options.key].inq.push(d[scope.options.key])}apiPath=replaceSessionVariables(scope.options.api),GeneralModelService.list(apiPath,b,{preventCancel:!0}).then(function(a){a&&(scope.selected.items=a,assignJunctionMeta(),scope.list=a)})}else scope.selected.items=a,assignJunctionMeta(),scope.list=a})}else if(scope.data&&scope.options&&scope.options.model){var j=Config.serverParams.models[scope.options.model];GeneralModelService.get(j.plural,scope.data).then(function(a){a&&(scope.selected.item=a,assignJunctionMeta(),scope.list=[scope.selected.item],scope.onModelChanged&&scope.onModelChanged({$item:scope.selected.item}))},function(a){if(scope.options.allowInsert){var b={};b[scope.options.key]=scope.data,b[scope.options.searchField]=scope.data,scope.selected.item=b,assignJunctionMeta(),scope.list.push(b)}})}});scope.onSelect=function(a,b){if(scope.options.multiple){if(a&&"[Add New Item]"==a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();a[scope.key]=c}assignJunctionMeta(),scope.modelData[scope.options.relationship]?mergeArray(scope.selected.items,scope.modelData[scope.options.relationship]):scope.modelData[scope.options.relationship]=scope.selected.items}else{scope.data=a[scope.options.key],scope.rowData&&(scope.rowData[scope.options.key]=scope.data),scope.$emit("onModelFieldReferenceSelect",scope.modelData,scope.key,a,scope.rowData);var d=a[scope.options.searchField];if(a&&"[Add New Item]"==a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();scope.data=c;var e={};e[scope.options.key]=c,e[scope.options.searchField]=c,scope.selected.item=e,scope.list.push(e)}else a&&"[clear]"==a[scope.options.searchField]&&(scope.data=null,d="");if(scope.rowData&&scope.textOutputPath&&a[scope.options.searchField])if(scope.textOutputPath.indexOf(".")>-1){for(var f=scope.textOutputPath.split("."),g=scope.rowData,h=0;h-1&&(scope.selected.items.splice(c,1),assignJunctionMeta()),scope.modelData[scope.options.relationship]){if(scope.options.key&&a[scope.options.key]){var d={};d[scope.options.key]=a[scope.options.key];var c=_.findIndex(scope.modelData[scope.options.relationship],d);c>-1&&scope.modelData[scope.options.relationship].splice(c,1)}var c=scope.modelData[scope.options.relationship].indexOf(a);c>-1&&scope.modelData[scope.options.relationship].splice(c,1),mergeArray(scope.selected.items,scope.modelData[scope.options.relationship])}else scope.modelData[scope.options.relationship]=scope.selected.items}else scope.data=null},scope.$on("ngGridEventStartCellEdit",function(){element.find("button").trigger("click"),element.find("input.ui-select-search").focus()}),element.html(getTemplate(scope.options.multiple,scope.options.matchTemplate,scope.options.choiceTemplate)).show(),$compile(element.contents())(scope)}}}]),angular.module("dashboard.directives.ModelFieldReferenceSort",["dashboard.Config","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldReferenceSortView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldReferenceSortEdit",["$compile","$cookies","$timeout","Config","GeneralModelService",function($compile,$cookies,$timeout,Config,GeneralModelService){"ngInject";function getTemplate(a,b,c,d){var e="(index, item) in selectedList";return d||(e+=" track by item."+a),' '+b+' '+c+'
  • '+c+'
'}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(scope,element,attrs){function replaceSessionVariables(string){if("string"!=typeof string)return string;try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for string");break}var sessionKey=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+eval(sessionKey)+string.slice(endPos+1),startPos=string.indexOf(searchString)}for(searchString="{",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for string");break}var key=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+scope.modelData[key]+string.slice(endPos+1),startPos=string.indexOf(searchString)}}catch(a){console.error(a)}return string}scope.selected={},scope.selected.item=null,scope.list=[],scope.selectedList=[],scope.sortableOptions={placeholder:"sortable-placeholder",disabled:scope.disabled},scope.refreshChoices=function(a){var b=Config.serverParams.models[scope.options.model],c={"filter[limit]":100};if(c["filter[where]["+scope.options.searchField+"][like]"]="%"+a+"%",scope.options.where){var d=Object.keys(scope.options.where);for(var e in d){var f=d[e];c["filter[where]["+f+"]"]=replaceSessionVariables(scope.options.where[f])}}if(scope.options.filters){var d=Object.keys(scope.options.filters);for(var e in d){var f=d[e];c[f]=replaceSessionVariables(scope.options.filters[f])}}var g=b.plural;scope.options.api&&(g=replaceSessionVariables(scope.options.api)),GeneralModelService.list(g,c).then(function(a){if(a){scope.list=a;for(var b in scope.selectedList){var c=scope.selectedList[b],d={};d[scope.options.key]=c[scope.options.key];var e=_.find(scope.list,d);e&&scope.list.splice(scope.list.indexOf(e),1)}if(scope.options.allowInsert){var f={};f[scope.options.searchField]=scope.options.insertText?scope.options.insertText:"[Add New Item]",scope.list.push(f)}"number"==typeof scope.options.defaultIndex&&a[scope.options.defaultIndex]&&scope.onSelect(a[scope.options.defaultIndex])}})};var unwatch=scope.$watchCollection("[data, options, modelData]",function(a){scope.data&&scope.options&&scope.options.model&&(unwatch(),scope.selectedList=scope.data)});scope.onSelect=function(a,b){if(scope.$emit("onModelFieldReferenceSortSelect",scope.modelData,scope.key,a),!a[scope.options.key]&&a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();a[scope.options.key]=c,a[scope.options.searchField]=c}_.find(scope.selectedList,function(b){return b[scope.options.key]===a[scope.options.key]||b.name&&a.name&&b.name.toLowerCase()===a.name.toLowerCase()})||(scope.selectedList.push(a),scope.data=scope.selectedList),$timeout(function(){delete scope.selected.item})},scope.removeItem=function(a){var b=scope.selectedList[a];scope.selectedList.splice(a,1),scope.list.push(b)},element.html(getTemplate(scope.options.key,scope.options.matchTemplate,scope.options.choiceTemplate,scope.options.allowInsert)).show(),$compile(element.contents())(scope)}}}]),angular.module("dashboard.directives.ModelFieldVideo",["dashboard.services.GeneralModel"]).directive("modelFieldVideoView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldVideoEdit",["$sce","$compile","$document","GeneralModelService","SessionService",function(a,b,c,d,e){"ngInject";return{restrict:"E",template:'
Upload a Video File
{{ uploadStatus }}
HTML5 Drop File is not supported!
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(b,d,e){var f=null;b.uploadStatus="Upload File";var g=b.$watch("data",function(c){c&&(g(),"string"==typeof c?b.videoUrl=a.trustAsResourceUrl(c):"object"==typeof c&&(c.fileUrl&&(b.videoUrl=a.trustAsResourceUrl(c.fileUrl)),c.videoUrl&&(b.videoUrl=a.trustAsResourceUrl(c.videoUrl))))}),h=new FileReader;h.onload=function(c){b.videoUrl=a.trustAsResourceUrl(c.target.result),b.$apply()},h.onerror=function(a){console.error(a)},b.clear=function(){b.data=null,delete b.videoUrl},b.onFileSelect=function(a){if(!(a.length<1)){f=a[0];var c=b.options.path;b.data={path:c,file:f},h.readAsDataURL(f)}},c.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),c.on("dragover",function(a){a.preventDefault(),d.find(".image-drop").addClass("show-upload"),d.find(".input[type=file]").addClass("show-upload"),d.find(".button-menu").addClass("hide-menu")}),$(window).on("mouseleave",function(){d.find(".image-drop").removeClass("show-upload"),d.find(".input[type=file]").removeClass("show-upload"),d.find(".button-menu").removeClass("hide-menu")}),b.$on("$destroy",function(){c.off("drop"),c.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldWYSIWYG",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","ui.bootstrap","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldWysiwygView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldWysiwygEdit",["$compile","$cookies","$timeout","$modal","Config","FileUploadService",function(a,b,c,d,e,f){"ngInject";function g(a){var b="";if(a.options&&a.options.fonts)for(var c=a.options.fonts,d=0;d"+c[d]+"";return'
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,e,h){function i(){var a=$(".wysiwyg-editor"),d=0;a&&a.length>0&&(d=a.length),n=angular.element(c).find(".wysiwyg-editor");var e="wysiwyg-editor-"+d,f="editor"+d+"-toolbar";n.attr("id",e);var g=angular.element(c).find(".wysiwyg-toolbar");g.attr("data-role",f),g.attr("data-target","#"+e),b.disabled||n.wysiwyg({toolbarSelector:"[data-role="+f+"]",hotKeys:{},dragAndDropImages:!1})}function j(){var a=angular.element(c).find(".font-color-picker");a&&a.spectrum({flat:!0,cancelText:"",clickoutFiresChange:!1,preferredFormat:"rgb",showInput:!0,change:function(a){$(this).closest(".dropdown").find(".color-sample").css({backgroundColor:a.toHexString()}),n.focus(),document.execCommand("foreColor",0,a.toHexString()),$(this).parent(".menu").removeClass("open")}})}function k(a){var b=$(a.currentTarget).parent().find(".menu");b.hasClass("open")?b.removeClass("open"):b.addClass("open")}function l(a){if(b.options.allowImageUpload&&0!=a.length){b.status="Uploading Image",b.progress=0;var c=d.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:b});f.uploadFile(a[0],b.options.imagePath).then(function(a){b.status="Upload Complete",document.execCommand("insertimage",0,a.fileUrl),c.close()},function(a){console.error(a),b.status="There was an error uploading the image. Please contact an Administrator."},function(a){b.progress=a})}}function m(){if(b.isEditingCode=!b.isEditingCode,b.isEditingCode){var a=n[0].innerHTML;a=html_beautify(a,{indent_size:2}),h.$setViewValue(a),o.setValue(a)}else h.$setViewValue(o.getValue()),n.html(h.$viewValue)}var n,o;!function(){b.isEditingCode=!1,b.toggleDropdown=k,b.onFileSelect=l,b.toggleCodeEdit=m,c.html(g(b)).show(),a(c.contents())(b),i(),j(),o=ace.edit(c.find(".code-editor")[0]),o.getSession().setMode("ace/mode/html"),$(c).find(".wysiwyg-toolbar [data-role=magic-overlay]").each(function(){var a=$(this);$(a.data("target")),a.css({opacity:0,position:"absolute",width:"40px",height:"34px",top:"0",left:"0"})}),h.$render=function(){n.html(h.$viewValue||"")},n.bind("blur keyup change",function(){b.$apply(function(){h.$setViewValue(n.html())})}),o.on("blur",function(){h.$setViewValue(o.getValue()),n.html(h.$viewValue)})}()}}}]),angular.module("dashboard.filters",[]).filter("decimalWithScale",function(){"ngInject";return function(a,b){if(void 0===a||""===a)return"";value=a+"";var c=value.indexOf(".");-1===c?value+=".0":1===c&&"-"===value.charAt(0)?value=value.slice(0,1)+"0"+value.slice(1):0===c&&(value="0"+value);var d=value.split(".");if(d.length>1){if(d[0]&&0!==d[0].length||(d[0]=0),isNaN(parseInt(d[0])))return NaN;if(1===c&&"-"===value.charAt(0)?value="-"+parseInt(d[0])+".":value=parseInt(d[0])+".",null!==d[1].match(/[\D]/))return NaN;if(d[1].length>b?value+=d[1].substring(0,b):value+=d[1],d[1].length0){var f=this.restrictMenuItems(e.subnav);if(f&&(e.subnav=f,null!==e.defaultSubNavIndex&&void 0!==e.defaultSubNavIndex&&e.subnav[e.defaultSubNavIndex]&&e.subnav[e.defaultSubNavIndex].hidden))for(var g in e.subnav){var h=e.subnav[g];if(c.hasAccess(d,h)&&!h.hidden){e.defaultSubNavIndex=parseInt(g);break}}}}else e.hidden=!0}return a},this.hasAccess=function(a,b){if(!(b.hasOwnProperty("roles")&&b.roles instanceof Array))return!0;for(var c in a)if(b.roles.indexOf(a[c].name)>-1)return!0;return!1}}]),angular.module("dashboard.services.FileUpload",["dashboard.Config","dashboard.Utils","ngCookies","angularFileUpload"]).service("FileUploadService",["$cookies","$q","$upload","Config","Utils",function(a,b,c,d,e){"ngInject";var f=this;this.getS3Credentials=function(b,c){var f={access_token:a.get("accessToken"),path:b,fileType:c,r:(new Date).getTime()};return e.apiHelper("GET",d.serverParams.cmsBaseUrl+"/aws/s3/credentials",f)},this.getFileUploadData=function(a){return{key:a.uniqueFilePath,AWSAccessKeyId:a.AWSAccessKeyId,acl:"public-read",policy:a.policy,signature:a.signature,success_action_status:"201","Cache-Control":"max-age=31536000"}},this.uploadFile=function(a,d){("string"==typeof a||a instanceof String&&0==a.indexOf("data:"))&&(a=f.dataURItoBlob(a));var e="";a.type?e=a.type:a.name&&(e=f.detectMimeTypeByExt(a.name));var g=b.defer();return f.getS3Credentials(d,e||"").then(function(b){c.upload({url:b.uploadUrl,method:"POST",data:f.getFileUploadData(b),file:a}).progress(function(b){var c=b.position/a.size;g.notify(c)}).success(function(b){var c,d=(new DOMParser).parseFromString(b,"text/xml");try{var e=d.evaluate("/PostResponse/Location",d,null,XPathResult.STRING_TYPE,null);c=e.stringValue}catch(a){for(var f=d.documentElement.childNodes,h=0;h0)return d++,e=0,void f.uploadImages(a,d,e,h,i);l=r}else{var s=Object.keys(r);if(e>=s.length)return d++,e=0,void f.uploadImages(a,d,e,h,i);k=s[e],r[k]&&r[k].file?(g=r[k].path,l=r[k].file):l=r[k]}h||(h={});for(var o=0;o=0?atob(a.split(",")[1]):unescape(a.split(",")[1]);for(var c=a.split(",")[0].split(":")[1].split(";")[0],d=new Uint8Array(b.length),e=0;e0){var b=a.split(".").pop();if(b.length>0){return{"3dm":"x-world/x-3dmf","3dmf":"x-world/x-3dmf",a:"application/octet-stream",aab:"application/x-authorware-bin",aam:"application/x-authorware-map",aas:"application/x-authorware-seg",abc:"text/vnd.abc",acgi:"text/html",afl:"video/animaflex",ai:"application/postscript",aif:"audio/aiff",aifc:"audio/aiff",aiff:"audio/aiff",aim:"application/x-aim",aip:"text/x-audiosoft-intra",ani:"application/x-navi-animation",aos:"application/x-nokia-9000-communicator-add-on-software",aps:"application/mime",arc:"application/octet-stream",arj:"application/arj",art:"image/x-jg",asf:"video/x-ms-asf",asm:"text/x-asm",asp:"text/asp",asx:"application/x-mplayer2",au:"audio/basic",avi:"application/x-troff-msvideo",avs:"video/avs-video",bcpio:"application/x-bcpio",bin:"application/mac-binary",bm:"image/bmp",bmp:"image/bmp",boo:"application/book",book:"application/book",boz:"application/x-bzip2",bsh:"application/x-bsh",bz:"application/x-bzip",bz2:"application/x-bzip2",c:"text/plain","c++":"text/plain",cat:"application/vnd.ms-pki.seccat",cc:"text/plain",ccad:"application/clariscad",cco:"application/x-cocoa",cdf:"application/cdf",cer:"application/pkix-cert",cha:"application/x-chat",chat:"application/x-chat",class:"application/java",com:"application/octet-stream",conf:"text/plain",cpio:"application/x-cpio",cpp:"text/x-c",cpt:"application/mac-compactpro",crl:"application/pkcs-crl",crt:"application/pkix-cert",csh:"application/x-csh",css:"application/x-pointplus",cxx:"text/plain",dcr:"application/x-director",deepv:"application/x-deepv",def:"text/plain",der:"application/x-x509-ca-cert",dif:"video/x-dv",dir:"application/x-director",dl:"video/dl",doc:"application/msword",dot:"application/msword",dp:"application/commonground",drw:"application/drafting",dump:"application/octet-stream",dv:"video/x-dv",dvi:"application/x-dvi",dwf:"drawing/x-dwf (old)",dwg:"application/acad",dxf:"application/dxf",dxr:"application/x-director",el:"text/x-script.elisp",elc:"application/x-bytecode.elisp (compiled elisp)",env:"application/x-envoy",eps:"application/postscript",es:"application/x-esrehber",etx:"text/x-setext",evy:"application/envoy",exe:"application/octet-stream",f:"text/plain",f77:"text/x-fortran",f90:"text/plain",fdf:"application/vnd.fdf",fif:"application/fractals",fli:"video/fli",flo:"image/florian",flx:"text/vnd.fmi.flexstor",fmf:"video/x-atomic3d-feature",for:"text/plain",fpx:"image/vnd.fpx",frl:"application/freeloader",funk:"audio/make",g:"text/plain",g3:"image/g3fax",gif:"image/gif",gl:"video/gl",gsd:"audio/x-gsm",gsm:"audio/x-gsm",gsp:"application/x-gsp",gss:"application/x-gss",gtar:"application/x-gtar",gz:"application/x-compressed",gzip:"application/x-gzip",h:"text/plain",hdf:"application/x-hdf",help:"application/x-helpfile",hgl:"application/vnd.hp-hpgl",hh:"text/plain",hlb:"text/x-script",hlp:"application/hlp",hpg:"application/vnd.hp-hpgl",hpgl:"application/vnd.hp-hpgl",hqx:"application/binhex",hta:"application/hta",htc:"text/x-component",htm:"text/html",html:"text/html",htmls:"text/html",htt:"text/webviewhtml",htx:"text/html",ice:"x-conference/x-cooltalk",ico:"image/x-icon",idc:"text/plain",ief:"image/ief",iefs:"image/ief",iges:"application/iges",igs:"application/iges",ima:"application/x-ima",imap:"application/x-httpd-imap",inf:"application/inf",ins:"application/x-internett-signup",ip:"application/x-ip2",isu:"video/x-isvideo",it:"audio/it",iv:"application/x-inventor",ivr:"i-world/i-vrml",ivy:"application/x-livescreen",jam:"audio/x-jam",jav:"text/plain",java:"text/plain",jcm:"application/x-java-commerce",jfif:"image/jpeg","jfif-tbnl":"image/jpeg",jpe:"image/jpeg",jpeg:"image/jpeg",jpg:"image/jpeg",jps:"image/x-jps",js:"application/x-javascript",jut:"image/jutvision",kar:"audio/midi",ksh:"application/x-ksh",la:"audio/nspaudio",lam:"audio/x-liveaudio",latex:"application/x-latex",lha:"application/lha",lhx:"application/octet-stream",list:"text/plain",lma:"audio/nspaudio",log:"text/plain",lsp:"application/x-lisp",lst:"text/plain",lsx:"text/x-la-asf",ltx:"application/x-latex",lzh:"application/octet-stream",lzx:"application/lzx",m:"text/plain",m1v:"video/mpeg",m2a:"audio/mpeg",m2v:"video/mpeg",m3u:"audio/x-mpequrl",man:"application/x-troff-man",map:"application/x-navimap",mar:"text/plain",mbd:"application/mbedlet",mc$:"application/x-magic-cap-package-1.0",mcd:"application/mcad",mcf:"image/vasa",mcp:"application/netmc",me:"application/x-troff-me",mht:"message/rfc822",mhtml:"message/rfc822",mid:"application/x-midi",midi:"application/x-midi",mif:"application/x-frame",mime:"message/rfc822",mjf:"audio/x-vnd.audioexplosion.mjuicemediafile",mjpg:"video/x-motion-jpeg",mm:"application/base64",mme:"application/base64",mod:"audio/mod",moov:"video/quicktime",mov:"video/quicktime",movie:"video/x-sgi-movie",mp2:"audio/mpeg",mp3:"audio/mpeg3",mpa:"audio/mpeg",mpc:"application/x-project",mpe:"video/mpeg",mpeg:"video/mpeg",mpg:"audio/mpeg",mpga:"audio/mpeg",mpp:"application/vnd.ms-project",mpt:"application/x-project",mpv:"application/x-project",mpx:"application/x-project",mrc:"application/marc",ms:"application/x-troff-ms",mv:"video/x-sgi-movie",my:"audio/make",mzz:"application/x-vnd.audioexplosion.mzz",nap:"image/naplps",naplps:"image/naplps",nc:"application/x-netcdf",ncm:"application/vnd.nokia.configuration-message",nif:"image/x-niff",niff:"image/x-niff",nix:"application/x-mix-transfer",nsc:"application/x-conference",nvd:"application/x-navidoc",o:"application/octet-stream",oda:"application/oda",omc:"application/x-omc",omcd:"application/x-omcdatamaker",omcr:"application/x-omcregerator",p:"text/x-pascal",p10:"application/pkcs10",p12:"application/pkcs-12",p7a:"application/x-pkcs7-signature",p7c:"application/pkcs7-mime",p7m:"application/pkcs7-mime",p7r:"application/x-pkcs7-certreqresp",p7s:"application/pkcs7-signature",part:"application/pro_eng",pas:"text/pascal",pbm:"image/x-portable-bitmap",pcl:"application/vnd.hp-pcl",pct:"image/x-pict",pcx:"image/x-pcx",pdb:"chemical/x-pdb",pdf:"application/pdf",pfunk:"audio/make",pgm:"image/x-portable-graymap",pic:"image/pict",pict:"image/pict",pkg:"application/x-newton-compatible-pkg",pko:"application/vnd.ms-pki.pko",pl:"text/plain",plx:"application/x-pixclscript",pm:"image/x-xpixmap",pm4:"application/x-pagemaker",pm5:"application/x-pagemaker",png:"image/png",pnm:"application/x-portable-anymap",pot:"application/mspowerpoint",pov:"model/x-pov",ppa:"application/vnd.ms-powerpoint",ppm:"image/x-portable-pixmap",pps:"application/mspowerpoint",ppt:"application/mspowerpoint",ppz:"application/mspowerpoint",pre:"application/x-freelance",prt:"application/pro_eng",ps:"application/postscript",psd:"application/octet-stream",pvu:"paleovu/x-pv",pwz:"application/vnd.ms-powerpoint",py:"text/x-script.phyton",pyc:"application/x-bytecode.python",qcp:"audio/vnd.qcelp",qd3:"x-world/x-3dmf",qd3d:"x-world/x-3dmf",qif:"image/x-quicktime",qt:"video/quicktime",qtc:"video/x-qtc",qti:"image/x-quicktime",qtif:"image/x-quicktime",ra:"audio/x-pn-realaudio",ram:"audio/x-pn-realaudio",ras:"application/x-cmu-raster",rast:"image/cmu-raster",rexx:"text/x-script.rexx",rf:"image/vnd.rn-realflash",rgb:"image/x-rgb",rm:"application/vnd.rn-realmedia",rmi:"audio/mid",rmm:"audio/x-pn-realaudio",rmp:"audio/x-pn-realaudio",rng:"application/ringing-tones",rnx:"application/vnd.rn-realplayer",roff:"application/x-troff",rp:"image/vnd.rn-realpix",rpm:"audio/x-pn-realaudio-plugin",rt:"text/richtext",rtf:"application/rtf",rtx:"application/rtf",rv:"video/vnd.rn-realvideo",s:"text/x-asm",s3m:"audio/s3m",saveme:"application/octet-stream",sbk:"application/x-tbook",scm:"application/x-lotusscreencam",sdml:"text/plain",sdp:"application/sdp",sdr:"application/sounder",sea:"application/sea",set:"application/set",sgm:"text/sgml",sgml:"text/sgml",sh:"application/x-bsh",shar:"application/x-bsh",shtml:"text/html",sid:"audio/x-psid",sit:"application/x-sit",skd:"application/x-koan",skm:"application/x-koan",skp:"application/x-koan",skt:"application/x-koan",sl:"application/x-seelogo",smi:"application/smil",smil:"application/smil",snd:"audio/basic",sol:"application/solids",spc:"application/x-pkcs7-certificates",spl:"application/futuresplash",spr:"application/x-sprite",sprite:"application/x-sprite",src:"application/x-wais-source",ssi:"text/x-server-parsed-html",ssm:"application/streamingmedia",sst:"application/vnd.ms-pki.certstore",step:"application/step",stl:"application/sla",stp:"application/step",sv4cpio:"application/x-sv4cpio",sv4crc:"application/x-sv4crc",svf:"image/vnd.dwg",svr:"application/x-world",swf:"application/x-shockwave-flash",t:"application/x-troff",talk:"text/x-speech",tar:"application/x-tar",tbk:"application/toolbook",tcl:"application/x-tcl",tcsh:"text/x-script.tcsh",tex:"application/x-tex",texi:"application/x-texinfo",texinfo:"application/x-texinfo",text:"application/plain",tgz:"application/gnutar",tif:"image/tiff",tiff:"image/tiff",tr:"application/x-troff",tsi:"audio/tsp-audio",tsp:"application/dsptype",tsv:"text/tab-separated-values",turbot:"image/florian",txt:"text/plain",uil:"text/x-uil",uni:"text/uri-list",unis:"text/uri-list",unv:"application/i-deas",uri:"text/uri-list",uris:"text/uri-list",ustar:"application/x-ustar",uu:"application/octet-stream",uue:"text/x-uuencode",vcd:"application/x-cdlink",vcs:"text/x-vcalendar",vda:"application/vda",vdo:"video/vdo",vew:"application/groupwise",viv:"video/vivo",vivo:"video/vivo",vmd:"application/vocaltec-media-desc",vmf:"application/vocaltec-media-file",voc:"audio/voc",vos:"video/vosaic",vox:"audio/voxware",vqe:"audio/x-twinvq-plugin",vqf:"audio/x-twinvq",vql:"audio/x-twinvq-plugin",vrml:"application/x-vrml",vrt:"x-world/x-vrt",vsd:"application/x-visio",vst:"application/x-visio",vsw:"application/x-visio",w60:"application/wordperfect6.0",w61:"application/wordperfect6.1",w6w:"application/msword",wav:"audio/wav",wb1:"application/x-qpro",wbmp:"image/vnd.wap.wbmp",web:"application/vnd.xara",wiz:"application/msword",wk1:"application/x-123",wmf:"windows/metafile",wml:"text/vnd.wap.wml",wmlc:"application/vnd.wap.wmlc",wmls:"text/vnd.wap.wmlscript",wmlsc:"application/vnd.wap.wmlscriptc",word:"application/msword",wp:"application/wordperfect",wp5:"application/wordperfect",wp6:"application/wordperfect",wpd:"application/wordperfect",wq1:"application/x-lotus",wri:"application/mswrite",wrl:"application/x-world",wrz:"model/vrml",wsc:"text/scriplet",wsrc:"application/x-wais-source",wtk:"application/x-wintalk",xbm:"image/x-xbitmap",xdr:"video/x-amt-demorun",xgz:"xgl/drawing",xif:"image/vnd.xiff",xl:"application/excel",xla:"application/excel",xlb:"application/excel",xlc:"application/excel",xld:"application/excel",xlk:"application/excel",xll:"application/excel",xlm:"application/excel",xls:"application/excel",xlt:"application/excel",xlv:"application/excel",xlw:"application/excel",xm:"audio/xm",xml:"application/xml",xmz:"xgl/movie",xpix:"application/x-vnd.ls-xpix",xpm:"image/x-xpixmap","x-png":"image/png",xsr:"video/x-amt-showrun",xwd:"image/x-xwd",xyz:"chemical/x-pdb",z:"application/x-compress",zip:"application/x-compressed",zoo:"application/octet-stream",zsh:"text/x-script.zsh"}[b]}}return""}}]),angular.module("dashboard.services.GeneralModel",["dashboard.services.FileUpload","dashboard.Config","dashboard.Utils","ngCookies"]).service("GeneralModelService",["$cookies","$q","Config","Utils","FileUploadService",function($cookies,$q,Config,Utils,FileUploadService){"ngInject";var self=this;this.list=function(a,b,c){var a=a+(a.indexOf("?")>-1?"&":"?")+"access_token="+$cookies.get("accessToken");return c&&c.preventCancel||Utils.apiCancel("GET",a),Utils.apiHelper("GET",a,b)},this.count=function(a,b){a.indexOf("?")>-1&&(a=a.substr(0,a.indexOf("?")));var c=Object.keys(b);for(var d in c){var e=c[d];e.indexOf("filter[where]")>-1?(newKey=e.replace("filter[where]","where"),b[newKey]=b[e]):"filter"==e&&(b.where=b.filter.where)}return a=a+"/count?access_token="+$cookies.get("accessToken"),Utils.apiCancel("GET",a),Utils.apiHelper("GET",a,b)},this.get=function(a,b,c){var d=a+"/"+b+"?access_token="+$cookies.get("accessToken");return Utils.apiHelper("GET",d,c)},this.getMany=function(a,b,c,d,e){var f=a+"/"+b+"/"+c,g=f+"?access_token="+$cookies.get("accessToken");return e&&e.preventCancel||Utils.apiCancel("GET",g),Utils.apiHelper("GET",g,d)},this.sort=function(a,b,c,d){var e=Config.serverParams.cmsBaseUrl+"/model/sort?access_token="+$cookies.accessToken,f={model:a,key:b,sortField:c,sortData:d};return Utils.apiHelper("POST",e,f)},this.remove=function(a,b){var c=a;return b&&(c=c+"/"+b),c+="?access_token="+$cookies.get("accessToken"),Utils.apiHelper("DELETE",c,{})},this.post=function(a,b){var c=a+"?access_token="+$cookies.get("accessToken");return Utils.apiHelper("POST",c,b)},this.save=function(a,b,c){var d=Config.serverParams.cmsBaseUrl+"/model/save";return c.__model=a,c.__id=b,c.__accessToken=$cookies.get("accessToken"),Utils.apiHelper("PUT",d,c)},this.saveWithFiles=function(a,b,c){var d=Config.serverParams.models[a],e=$q.defer(),f=function(a){var b=0,d=Object.keys(c),f=function(){if(b>=d.length)return void a();var g=d[b],h=c[g];h&&"object"==typeof h&&h.file?(e.notify({message:"Uploading file: "+h.file.name,translate:"cms.status.uploading_file",params:{file:h.file.name},progress:0}),FileUploadService.uploadFile(h.file,h.path).then(function(a){c[g]=a.fileUrl,b++,f()},function(a){"object"==typeof a&&a.error?e.reject({message:"The file being uploaded is not an accepted file type for this form",translate:"cms.error.file_upload.not_accepted"}):e.reject(a)},function(a){e.notify({progress:a})})):(b++,f())};f()};return function(a){c.__ModelFieldImageData?(e.notify({message:"Uploading image file(s)",progress:0,translate:"cms.status.uploading_image_files"}),FileUploadService.uploadImages(c.__ModelFieldImageData).then(function(b){self.assignImageFileMetaData(d,c,b),e.notify({message:"Saving...",progress:0,translate:"cms.status.saving"}),a()},function(a){console.log(a),e.reject(a)},function(a){e.notify({progress:a})})):a()}(function(){f(function(){self.checkDefaultValues(d,c),self.save(a,b,c).then(function(a){e.resolve(a)},function(a){e.reject(a)})})}),e.promise},this.assignImageFileMetaData=function(a,b,c){var d=Object.keys(c);for(var e in d){var f=d[e],g=a.properties[f],h=g.display.options;if(h&&h.model&&h.relationship){b[h.relationship]||(b[h.relationship]={});var i=b[h.relationship];b[f]&&(i[h.key]=b[f]),i[h.urlKey]=c[f][h.urlKey];var j=Object.keys(h.export);for(var k in j){var l=j[k];i[l]=c[f][l]}if(b.__ModelFieldImageData[f]&&b.__ModelFieldImageData[f][h.urlKey]){var m=b.__ModelFieldImageData[f][h.urlKey],n=m?m.file:{};i.filename=n.name}else i.filename="unknown";if(h.meta){var o=Object.keys(h.meta);for(var p in o){var q=o[p];i[q]=h.meta[q]}}}else b[f]=c[f]}delete b.__ModelFieldImageData},this.checkDefaultValues=function(modelDef,data){var keys=Object.keys(modelDef.properties);for(var i in keys){var key=keys[i],property=modelDef.properties[key];property&&property.display&&(void 0===data[key]||null==data[key]||property.display.forceDefaultOnSave)&&(void 0!==property.default&&(data[key]=property.default),void 0!==property.display.evalDefault&&(data[key]=eval(property.display.evalDefault)))}},this.queryStringParamsToJSON=function(a){var b={};return _.forEach(a,function(a,c){b=_.set(b,c,a)}),b},this.validateRequiredFields=function(a,b){var c=a.display.filter(function(c){if("string"==typeof c){var d=a.properties[c];return d&&d.required&&!b[c]}return"object"==typeof c&&(c.required&&c.options&&c.options.relationship&&_.isEmpty(b[c.options.relationship]))});return _.isEmpty(c)}}]),angular.module("dashboard.services.Image",[]).service("ImageService",["$q",function(a){"ngInject";var b=this;this.resize=function(a,c,d){b.loadImageURI(a,function(a,e){if(a)return d(a);EXIF.getData(e,function(a){var f=document.createElement("canvas"),g=f.getContext("2d"),h=EXIF.getTag(this,"Orientation");c||(c={});var i=c.width?c.width:e.width,j=c.height?c.height:e.height;switch(c.aspect?c.aspect:"fit"){case"stretch":f.width=i,f.height=j;break;case"fill":f.width=i,f.height=j;var k=Math.max(i/e.width,j/e.height);i=e.width*k,j=e.height*k;break;case"fit":default:var k=Math.min(i/e.width,j/e.height);k>1&&(k=1),i=e.width*k,j=e.height*k,f.width=i,f.height=j}g.save(),b.setOrientation(f,g,i,j,h),g.drawImage(e,0,0,i,j),g.restore();var l=f.toDataURL("image/jpeg",.8);d(null,l)})})},this.fixOrientationWithDataURI=function(a,c){b.resize(a,{},c)},this.setOrientation=function(a,b,c,d,e){switch(e){case 2:b.translate(c,0),b.scale(-1,1);break;case 3:b.translate(c,d),b.rotate(Math.PI);break;case 4:b.translate(0,d),b.scale(1,-1);break;case 5:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.scale(1,-1);break;case 6:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.translate(0,-d);break;case 7:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.translate(c,-d),b.scale(-1,1);break;case 8:a.width=d,a.height=c,b.rotate(-.5*Math.PI),b.translate(-c,0)}},this.loadImageURI=function(a,b){var c=new Image;c.onload=function(){b(null,c)},c.onerror=function(a){b(a)},c.src=a}}]),angular.module("dashboard.services.Location",["dashboard.Config","dashboard.Utils"]).service("LocationService",["Config","Utils","$q","$rootScope",function(a,b,c,d){"ngInject";var e=c.defer();this.currentLocation=function(){return navigator.geolocation?navigator.geolocation.getCurrentPosition(function(a){d.$apply(function(){e.resolve(a.coords)})},function(a){e.reject(a)}):e.reject("location services not allowed"),e.promise}}]),angular.module("dashboard.services.Session",["dashboard.Utils","dashboard.services.User","ngCookies"]).service("SessionService",["$cookies","$cookieStore","$q","UserService","Config","Utils","DashboardService",function(a,b,c,d,e,f,g){"ngInject";var h=this,i=null;this.logIn=function(b,d,e){var g="Users";return config.authModel&&(g=config.authModel),f.apiHelper("POST",g+"/login?include=user",{email:b,password:d,options:e}).then(function(a){return h.setSession(a)}).catch(function(){return a.put("session",null),c.reject(arguments)})},this.logOut=function(){var c="Users";config.authModel&&(c=config.authModel);var d=a.get("accessToken");return b.remove("username"),b.remove("userId"),b.remove("accessToken"),b.remove("roles"),b.remove("session"),b.remove("lastActive"),f.apiHelper("POST",c+"/logout?access_token="+d)},this.setSession=function(b){var d="Users";return config.authModel&&(d=config.authModel),f.apiHelper("GET",d+"/"+b.userId+"/Roles?access_token="+b.id).then(function(c){return a.put("lastActive",new Date),i=b,a.put("username",b.user.username),a.put("userId",b.userId),a.put("accessToken",b.id),a.put("session",JSON.stringify(i)),a.put("roles",JSON.stringify(c)),b}).catch(function(){return a.put("session",null),c.reject(arguments)})},this.getAuthToken=function(){return i&&i.id},this.put=function(b,c){var d=JSON.parse(a.get("session"));d[b]=c,a.put("session",JSON.stringify(d))},this.get=function(b){return JSON.parse(a.get("session"))[b]},this.isAuthorized=function(b,c){if(_.startsWith(b.name,"public"))return!0;var d=g.getNavigation(),e=b.name,f=c.model,h=c.action,i=angular.fromJson(a.get("roles"));if(_.isEmpty(f)){var j=_.find(d,{state:e});if(j)return g.hasAccess(i,j)}else{var j=_.find(d,{path:f});if(j){if(!g.hasAccess(i,j))return!1;if(_.isArray(j.subnav)&&!_.isEmpty(h)){var k=_.find(j.subnav,{label:h});if(k)return g.hasAccess(i,k)}}}var l=b.data.roles;return!(!_.isEmpty(l)&&_.isArray(l))||g.hasAccess(i,{roles:l})},function(){var b=a.get("session");b&&(i=JSON.parse(b))}()}]),angular.module("dashboard.services.Settings",["dashboard.Config","dashboard.Utils","ngCookies"]).service("SettingsService",["$cookies","Config","Utils",function(a,b,c){"ngInject";this.saveNav=function(d){var e=b.serverParams.cmsBaseUrl+"/settings/config/nav?access_token="+a.get("accessToken");return c.apiHelper("POST",e,d)}}]),angular.module("dashboard.services.User",["dashboard.Config","dashboard.Utils"]).service("UserService",["Config","Utils","$q","$rootScope",function(a,b,c,d){"ngInject";this.register=function(a,c){var d="Users";return config.authModel&&(d=config.authModel),b.apiHelper("POST",d,{email:a,password:c})}}]),angular.module("dashboard.Utils",["dashboard.Config"]).service("Utils",["Config","$http","$q",function(a,b,c){"ngInject";var d={};this.apiCancel=function(a,b){var c=d[a+":"+b];c&&c.resolve&&c.resolve(),delete d[a+":"+b]},this.apiHelper=function(e,f,g,h){var i=c.defer();return h=h||{},h.method=e,"/"==f[0]?h.url=f:(a.apiBaseUrl&&"/"!=a.apiBaseUrl[a.apiBaseUrl.length-1]&&"/"!=f[f.length-1]&&(a.apiBaseUrl+="/"),h.url=a.apiBaseUrl+f),"POST"==e||"PUT"==e?h.data=g:h.params=g,d[e+":"+f]=i,h.timeout=i.promise,b(h).then(function(a){i.resolve(a.data)},function(a){i.reject(a.data)}),i.promise}}]),$.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},window,window.angular; +angular.module("dashboard",["dashboard.Dashboard","dashboard.Login","dashboard.Register","dashboard.directives","dashboard.filters","dashboard.services.Cache","dashboard.services.Session","templates-app","templates-common","ui.router","oc.lazyLoad","ngCookies","ngAnimate","pascalprecht.translate"]).config(["$locationProvider","$stateProvider","$urlRouterProvider","$compileProvider","$qProvider","$translateProvider","Config",function(a,b,c,d,e,f,g){"ngInject";d.aHrefSanitizationWhitelist(/^\s*(http|https|ftp|mailto|tel|file|blo‌​b|data):/),c.otherwise("/login"),g.serverParams.disableRegistration&&c.when("/register","/login"),a.html5Mode(!0),f.useSanitizeValueStrategy("escape"),g.serverParams.translateUrl&&f.useUrlLoader(g.serverParams.translateUrl),g.serverParams.defaultLanguage&&f.fallbackLanguage(g.serverParams.defaultLanguage),b.state("public",{abstract:!0,template:""}).state("public.accessDenied",{url:"/access-denied",template:'

Access Denied

You are not authorized to access this page.

',data:{pageTitle:"Access Denied"}}),c.deferIntercept()}]).run(["$ocLazyLoad","$rootScope","$urlRouter","$injector","$translate","Config",function(a,b,c,d,e,f){"ngInject";f.serverParams.defaultLanguage&&e.use(f.serverParams.defaultLanguage),f.serverParams.translateUrl&&e.refresh();var g=!1;f.serverParams.customModules?a.load(f.serverParams.customModules).then(function(){g=!0,b.$broadcast("modulesLoaded"),Array.isArray(f.serverParams.injectOnStart)&&f.serverParams.injectOnStart.forEach(d.get)},function(a){console.log(a)}):g=!0,b.$on("$locationChangeSuccess",function(a){if(g)c.sync();else var d=b.$on("modulesLoaded",function(){c.sync(),d()})})}]).constant("constants",{TIMEOUT_INTERVAL:5e3,PUBLIC_STATE:"public",LOGIN_STATE:"public.login"}).controller("AppCtrl",["$scope","$location","$state","$rootScope","$timeout","$document","$cookies","SessionService","CacheService","Config","constants",function(a,b,c,d,e,f,g,h,i,j,k){"ngInject";d.$state=c,j.serverParams.gaTrackingId&&ga("create",j.serverParams.gaTrackingId,"auto"),d.$on("$stateChangeStart",function(a,b,d,e,f){var g=b.name;if(g=g.substr(g,g.indexOf(".")),!h.getAuthToken()&&g!=k.PUBLIC_STATE){var l={state:b,params:d};return i.set("desiredState",l),j.serverParams.loginState?c.go(j.serverParams.loginState):g!=k.PUBLIC_STATE&&c.go(k.LOGIN_STATE),void a.preventDefault()}h.isAuthorized(b,d)||(c.go("public.accessDenied"),a.preventDefault())}),a.$on("$stateChangeSuccess",function(b,c,d,e,f){angular.isDefined(c.data.pageTitle)&&(a.pageTitle=c.data.pageTitle)}),d.logOut=function(){h.getAuthToken()&&(i.reset(),h.logOut().then(function(a){j.serverParams.loginState?c.go(j.serverParams.loginState):c.go(k.LOGIN_STATE)}).catch(function(a){c.go(k.LOGIN_STATE)}))};var l=new Date;d.persistSession=function(){e.cancel(d.persistId),c.current.name.indexOf(k.PUBLIC_STATE)>-1||(l=new Date,new Date-l>k.TIMEOUT_INTERVAL?d.checkTimeout()&&g.put("lastActive",new Date):d.persistId=e(function(){d.checkTimeout()&&g.put("lastActive",new Date)},k.TIMEOUT_INTERVAL))},d.checkTimeout=function(){if(e.cancel(d.timeoutId),!g.get("lastActive"))return console.error("Session Timedout on another window/tab"),c.go(k.LOGIN_STATE),!1;var a=new Date(g.get("lastActive"));return new Date-a>j.serverParams.sessionTimeout?(d.logOut(),!1):(d.timeoutId=e(d.checkTimeout,k.TIMEOUT_INTERVAL),!0)},j.serverParams.sessionTimeout&&"localhost"!=b.host()&&(f.on("mousemove",function(){d.persistSession()}),f.on("touchmove",function(){d.persistSession()}),f.on("keydown",function(){d.persistSession()}))}]),angular.module("dashboard.Alert",["ui.bootstrap","ui.bootstrap.modal"]).controller("AlertCtrl",["$scope","$modalInstance",function(a,b){"ngInject";a.closeAlert=function(){b.close()},a.okAlert=function(){"function"==typeof a.okHandler&&a.okHandler(),b.close()},a.cancelAlert=function(){"function"==typeof a.cancelHandler&&a.cancelHandler(),b.close()},function(){a.isConfirm="confirm"==a.alertType}()}]),angular.module("dashboard.Dashboard",["dashboard.Config","dashboard.Profile","dashboard.Dashboard.Model","dashboard.services.Dashboard","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard",{url:"/dashboard",controller:"DashboardCtrl",templateUrl:"app/dashboard/Dashboard.html",data:{pageTitle:"Dashboard"}}).state("portal",{url:"/portal",controller:"DashboardCtrl",templateUrl:"app/dashboard/Dashboard.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardCtrl",["$scope","$rootScope","$state","$stateParams","$location","$cookies","$modal","Config","DashboardService",function(a,b,c,d,e,f,g,h,i){"ngInject";var j=this;this.init=function(){a.toggleSideMenu=j.toggleSideMenu,a.hideSideMenu=j.hideSideMenu,a.editProfile=j.editProfile,a.logout=j.logout,a.locationPath=e.path(),a.username=f.get("username"),a.email=f.get("email"),a.userId=f.get("userId");try{a.userInfo=JSON.parse(f.get("session")),a.userInfo.user.roles=JSON.parse(f.get("roles"))}catch(a){console.error("Unable to parse $cookies.get(session)",a)}if(a.title=h.serverParams.title||"Content Management System",a.nav=i.getNavigation(),"dashboard"==c.current.name&&h.serverParams.defaultNav){var b=i.getDefaultNav(a.nav,angular.copy(h.serverParams.defaultNav));b.state?c.go(b.state,b.params):c.go("dashboard.model.action."+b.route,b.params)}a.$watch(function(){return e.path()},function(){a.locationPath=e.path()}),a.$on("modelEditSaved",function(){a.modalInstance&&a.modalInstance.close()})},this.toggleSideMenu=function(){var a=$(".dashboard");a.hasClass("show-side-menu")?a.removeClass("show-side-menu"):a.addClass("show-side-menu")},this.hideSideMenu=function(){$(".dashboard").removeClass("show-side-menu")},this.editProfile=function(b){b&&b.preventDefault(),a.action={options:{model:h.serverParams.profileModel,key:h.serverParams.profileKey,id:f.get("userId"),hideDelete:!0}},a.modalInstance=g.open({templateUrl:"app/dashboard/profile/Profile.html",controller:"ProfileCtrl",size:"lg",scope:a})},this.logout=function(a){b.logOut(),a&&a.preventDefault()},j.init()}]),angular.module("dashboard.Dashboard.Model",["dashboard.Dashboard.Model.Action","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model",{url:"/:model",controller:"DashboardModelCtrl",templateUrl:"app/dashboard/model/DashboardModel.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardModelCtrl",["$rootScope","$scope","$stateParams","Config",function(a,b,c,d){"ngInject";!function(){b.section=angular.copy(_.find(b.nav,{path:c.model}))}()}]),angular.module("dashboard.Dashboard.Model.Action",["dashboard.Dashboard.Model.Edit","dashboard.Dashboard.Model.List","dashboard.Dashboard.Model.Sort","dashboard.Dashboard.Model.View","dashboard.Dashboard.Model.Nav","dashboard.Dashboard.Model.Definition","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action",{url:"/:action",controller:"DashboardModelActionCtrl",templateUrl:"app/dashboard/model/DashboardModelAction.html",data:{pageTitle:"Dashboard"}})}]).controller("DashboardModelActionCtrl",["$scope","$stateParams",function(a,b){"ngInject";!function(){a.section&&a.section.subnav&&(a.action=angular.copy(_.find(a.section.subnav,{label:b.action})))}()}]),angular.module("dashboard.Dashboard.Model.Definition",["dashboard.Config","dashboard.services.Settings","ui.router","ui.bootstrap.modal"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.definition",{url:"/definition",templateUrl:"app/dashboard/model/definition/ModelDefinition.html",data:{pageTitle:"Settings - Model Definitions"}})}]).controller("ModelDefinitionCtrl",["$scope","$timeout","$state","$location","$modal","Config","SettingsService",function(a,b,c,d,e,f,g){"ngInject";a.clickSave=function(){}}]),angular.module("dashboard.Dashboard.Model.Edit",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","dashboard.directives.ModelField","dashboard.services.Cache","dashboard.services.GeneralModel","dashboard.services.FileUpload","dashboard.filters.locale","ui.router","ui.bootstrap","ui.bootstrap.datepicker","ui.bootstrap.modal","ngCookies"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.edit",{url:"/edit/:id",templateUrl:"app/dashboard/model/edit/ModelEdit.html",data:{pageTitle:"Edit"}})}]).constant("modelEditConstants",{keys:{save:"button.save",delete:"button.delete",confirmMessage:"button.delete.confirm"},defaults:{save:"Save",delete:"Delete",confirmMessage:"Are you sure you want to delete this record?"}}).controller("ModelEditCtrl",["$rootScope","$scope","$cookies","$location","$stateParams","$state","$window","$modal","$filter","Config","GeneralModelService","FileUploadService","CacheService","modelEditConstants","$translate",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){"ngInject";function p(){if(b.modelDisplay=b.model.display,b.action.options.display&&(b.modelDisplay=b.model[b.action.options.display]),!b.modelDisplay||0==b.modelDisplay.length){b.modelDisplay=[];var a=Object.keys(b.model.properties);for(var c in a){var d=a[c];b.modelDisplay.push(d),b.data[d]||(b.data[d]=null)}}b.$emit("onModelLoad",{data:b.data})}function q(c){var d=b.data[b.action.options.key];k.saveWithFiles(b.model.name,d,b.data).then(function(b){t&&t.close(),a.$broadcast("modelEditSaved"),c&&c(b)},r,s)}function r(b){if(a.$broadcast("modelEditSaveFailed",{error:b}),_.isPlainObject(b))if("string"==typeof b.translate&&b.translate.length>0){var c=o.instant(b.translate);c===b.translate&&(c=b.message),alert(c)}else b.code||b.message?("ER_DUP_ENTRY"===b.code&&(b.message="There was a duplicate entry found. Please make sure the entry is unique."),alert(b.message)):b.error?r(b.error):alert(angular.toJson(b));else alert(b);t&&t.close()}function s(a){if(_.isPlainObject(a)){if(a.translate){var c=o.instant(a.translate,a.params);b.status=c===a.translate?a.message:c}else a.message&&(b.status=a.message);a.progress&&(b.progress=a.progress)}}var t=null;b.clickSaveModel=function(a){s({message:"Saving",translate:"cms.status.saving",progress:0}),t=h.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:b}),q(function(a){m.clear(b.action.options.model),b.action.options&&b.action.options.returnAfterEdit?g.history.back():b.section?f.go(b.section.state?b.section.state:"dashboard.model.action.edit",{model:b.section.path,action:b.action.label,id:a[b.action.options.key]}):t&&t.close()})},b.clickDeleteModel=function(c,d){if(b.deleteDialogText=d&&d.deleteDialogText?d.deleteDialogText:b.deleteDialogText,confirm(b.deleteDialogText)){var e=c[b.action.options.key];b.model.options&&b.model.options.softDeleteProperty?(b.data[b.model.options.softDeleteProperty]=!0,q(function(){m.clear(b.action.options.model),g.history.back()})):k.remove(b.model.plural,e).then(function(c){a.$broadcast("modelDeleted"),m.clear(b.action.options.model),g.history.back()},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)})}},b.hasPermission=function(a){var d=null;if("object"==typeof a)d=a;else{var e=b.model.properties[a];d=e.display}if(!d)return!0;if(d.askIf){var f=Object.keys(d.askIf);for(var g in f){var e=f[g];if(b.data[e]!=d.askIf[e])return!1}}if(!d.roles)return!0;if(!c.get("roles"))return!1;var h=JSON.parse(c.get("roles"));for(var g in h){var i=h[g];if(d.roles.indexOf(i.name)>-1)return!0}return!1},function(){if(b.hideSideMenu(),g.ga&&g.ga("send","pageview",{page:d.path()}),b.action||(b.action={}),b.action.options||(b.action.options={model:e.model,key:e.key}),b.model=angular.copy(j.serverParams.models[b.action.options.model]),b.action.options.key){var a=b.action.options.key;b.model.properties[a].display||(b.model.properties[a].display={}),b.model.properties[a].display.readonly=!0}var c=o.use();if(b.locale=i("iso-639-1")(c),_.forEach(b.model.properties,function(a){if(a.display||(a.display={}),a.display.options||(a.display.options={}),b.action.options.readonly&&(a.display.readonly=!0),"string"==typeof a.type)switch(a.type.toLowerCase()){case"date":case"datetime":a.display.options.locale=b.locale}}),b.isLoading=!0,b.data={},b.action.options.data){var f=Object.keys(b.action.options.data);for(var h in f){var a=f[h];b.data[a]=b.action.options.data[a]}}k.checkDefaultValues(b.model,b.data);var l=null;e.id&&e.id>0&&(l=e.id),b.action.options.id&&b.action.options.id>0&&(l=b.action.options.id),l?(b.isEdit=!0,b.modelDisplay=null,k.get(b.model.plural,l).then(function(a){a&&(b.data=a,p(),b.isLoading=!1)})):(p(),b.isEdit=!1,b.isLoading=!1),o([n.keys.save,n.keys.delete,n.keys.confirmMessage]).then(function(a){b.saveButtonText=a[n.keys.save]==n.keys.save?n.defaults.save:a[n.keys.save],b.deleteButtonText=a[n.keys.delete]==n.keys.delete?n.defaults.delete:a[n.keys.delete],b.deleteDialogText=a[n.keys.confirmMessage]==n.keys.confirmMessage?n.defaults.confirmMessage:a[n.keys.confirmMessage]},function(a){b.saveButtonText=n.defaults.save,b.deleteButtonText=n.defaults.delete,b.deleteDialogText=n.defaults.confirmMessage}),b.$on("saveModel",function(){b.clickSaveModel(b.data)}),b.$on("deleteModel",function(a,c){b.clickDeleteModel(b.data,c)}),b.$on("onModelSave",function(){b.clickSaveModel(b.data)}),b.$on("onModelDelete",function(a,c){b.clickDeleteModel(b.data,c)}),b.$watchCollection("data",function(a,c){b.isLoading||b.$emit("onModelChange",a,c)}),b.$on("onModelFieldReferenceChange",function(a,c,d,e){b.data.hasOwnProperty(c)&&_.isEqual(d,e)||(b.data[c]=d)})}()}]),angular.module("dashboard.Dashboard.Model.Edit.SaveDialog",["ui.bootstrap","ui.bootstrap.progressbar","ui.bootstrap.modal"]).controller("ModelEditSaveDialogCtrl",["$scope","$modalInstance","$translate",function(a,b,c){"ngInject";!function(){a.statusLabel="Status",c("cms.status").then(function(b){"string"==typeof b&&b.length>0&&"cms.status"!==b&&(a.statusLabel=b)},function(a){console.log("Failed to translate cms.status",a)})}()}]),angular.module("dashboard.Dashboard.Model.List",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","dashboard.services.Cache","dashboard.services.GeneralModel","dashboard.directives.ModelFieldReference","ui.router","ngCookies","ngGrid","googlechart"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.list",{url:"/list",templateUrl:"app/dashboard/model/list/ModelList.html",data:{pageTitle:"List"}})}]).controller("ModelListCtrl",["$scope","$cookies","$timeout","$state","$location","$window","$modal","Config","GeneralModelService","CacheService",function ModelListCtrl($scope,$cookies,$timeout,$state,$location,$window,$modal,Config,GeneralModelService,CacheService){"ngInject";function init(){$scope.isLoading=!0,$scope.moment=moment,$scope.columnCount=0,$scope.list=[],$scope.selected=[],$scope.columns=[],$scope.listTemplateUrl="",$scope.totalServerItems=0,$scope.isEditing=!1,$scope.searchFields=$scope.action.options.searchFields,$scope.action.options.sort?$scope.sortInfo=$scope.action.options.sort:$scope.sortInfo={fields:[$scope.action.options.key],directions:["ASC"]},$scope.filterOptions={filterText:"",useExternalFilter:"boolean"==typeof $scope.action.options.useExternalFilter&&$scope.action.options.useExternalFilter},$scope.pagingOptions={pageSizes:["25","50","100","250","500"],pageSize:$scope.action.options.pageSize?$scope.action.options.pageSize:"25",currentPage:1},$scope.sortInfo||($scope.sortInfo={}),$scope.sortInfo.columns||($scope.sortInfo.columns=[]),$scope.gridOptions={data:"list",enableColumnResize:!0,enableRowSelection:"boolean"!=typeof $scope.action.options.enableRowSelection||$scope.action.options.enableRowSelection,multiSelect:!1,enablePaging:!0,useExternalSorting:!0,showSelectionCheckbox:!1,sortInfo:$scope.sortInfo,showFooter:!0,showFilter:$scope.action.options.showFilter,headerRowHeight:44,footerRowHeight:44,totalServerItems:"totalServerItems",pagingOptions:$scope.pagingOptions,filterOptions:$scope.filterOptions,selectedItems:$scope.selected,rowHeight:$scope.action.options.rowHeight?$scope.action.options.rowHeight:44},$scope.hideSideMenu(),$window.ga&&$window.ga("send","pageview",{page:$location.path()}),$scope.gridContainerTopMargin=0,$scope.action.options.chart&&($scope.gridContainerTopMarginMax=$scope.action.options.chart.height+60,$scope.gridContainerTopMargin=$scope.gridContainerTopMarginMax,processChart()),window.ngGrid.i18n.en.ngTotalItemsLabel="Total Records: ",window.ngGrid.i18n.en.ngPageSizeLabel="Show: ",$scope.columns=getColumnDefinition(),$scope.gridOptions.columnDefs="columns",$scope.action.options.editable&&($scope.gridOptions.enableCellEdit=!0,$scope.gridOptions.enableCellEditOnFocus=!1,$scope.gridOptions.enableCellSelection=!0,$scope.gridOptions.enableRowSelection=!1),$scope.action.options.params||($scope.action.options.params={}),$scope.action.options.model&&($scope.model=Config.serverParams.models[$scope.action.options.model]),$scope.action.options.api?$scope.apiPath=$scope.action.options.api:$scope.action.options.model&&($scope.apiPath=$scope.model.plural),$scope.origApiPath=$scope.apiPath,addQueryStringParams(),$scope.getTotalServerItems(),$timeout(function(){$(".ngFooterPanel select").addClass("form-control"),$(".ngFooterPanel button").addClass("btn btn-default")}),$scope.$grid=$(".grid"),angular.element($window).bind("resize",function(){processWindowSize()}),$scope.$on("ngGridEventStartCellEdit",function(){startEdit()}),$scope.$on("ModelListLoadItems",function(a,b){b&&b.resetPaging&&($scope.pagingOptions.currentPage=1),$scope.getTotalServerItems()}),(/(iPad|iPhone|iPod|Android)/g.test(navigator.userAgent)||$scope.action.options.flexibleHeight)&&($scope.gridOptions.plugins=[new ngGridFlexibleHeightPlugin]),$scope.action.options.allowCSVExport&&($scope.gridOptions.plugins||($scope.gridOptions.plugins=[]),$scope.gridOptions.plugins.push(new ngGridCsvExportPlugin)),Config.serverParams.strings&&($scope.cancelButtonText=Config.serverParams.strings.cancelButton,$scope.saveButtonText=Config.serverParams.strings.saveButton)}function getColumnDefinition(){var a=$scope.action.options.columnRef,b=$scope.action.options.columns;if(a&&"object"==typeof a&&a.label)if(a.path){var c=_.find(Config.serverParams.nav,{path:a.path}),d=_.find(c.subnav,{label:a.label});b=d.options.columns}else{var d=_.find($scope.section.subnav,{label:a.label});b=d.options.columns}if((b=angular.copy(b))&&$cookies.get("roles")){var e=JSON.parse($cookies.get("roles"));if(e)for(var f=0;f-1){h=!0;break}}h||(b.splice(f,1),f--)}}}return b}function processWindowSize(){var a=$scope.$grid,b=$window.innerWidth,c=b/$scope.columnCount;c<90&&!a.hasClass("hide-optional")?(a.addClass("hide-optional"),$scope.columns=$scope.columns.filter(function(a){return!a.optional})):c>=90&&a.hasClass("hide-optional")&&(a.removeClass("hide-optional"),$scope.columns=$scope.columns=getColumnDefinition())}function addQueryStringParams(){var queryStringParams=$location.search();$scope.queryStringParams=queryStringParams,$scope.apiPath=$scope.origApiPath;var keys=Object.keys(queryStringParams);for(var i in keys){var key=keys[i];$scope.action.options.params[key]=queryStringParams[key],$scope.apiPath&&($scope.apiPath=$scope.apiPath.replace("{"+key+"}",queryStringParams[key]))}try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=$scope.apiPath.indexOf(searchString);startPos>-1;){var endPos=$scope.apiPath.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for $scope.apiPath");break}var sessionKey=$scope.apiPath.substring(startPos+1,endPos);$scope.apiPath=$scope.apiPath.slice(0,startPos)+eval(sessionKey)+$scope.apiPath.slice(endPos+1),startPos=$scope.apiPath.indexOf(searchString)}}catch(a){console.error(a)}var filterDescription=queryStringParams.filterDescription;if($scope.filterDescription=filterDescription||$scope.action.label,queryStringParams.pageSize&&($scope.pagingOptions.pageSize=queryStringParams.pageSize),queryStringParams.currentPage&&($scope.pagingOptions.currentPage=parseInt(queryStringParams.currentPage)),queryStringParams.sortInfo)try{var sortInfo=JSON.parse(queryStringParams.sortInfo);_.extend($scope.sortInfo,sortInfo)}catch(a){console.warn("There are errors with the querystring param 'pagingOptions'")}queryStringParams.search&&($scope.filterOptions.filterText=queryStringParams.search)}function setupPagination(){var a=angular.copy($scope.action.options.params);if(a&&a.filter&&a.filter.length>0)try{var b=JSON.parse(a.filter);if(b.limit=parseInt($scope.pagingOptions.pageSize),b.skip=($scope.pagingOptions.currentPage-1)*parseInt($scope.pagingOptions.pageSize),$scope.sortInfo.fields.length>0){b.order="";for(var c in $scope.sortInfo.fields){var d=$scope.sortInfo.fields[c],e=$scope.sortInfo.directions[c];e||(e="ASC"),parseInt(c)>0&&(b.order+=", "),b.order+=d+" "+e}}a.filter=JSON.stringify(b)}catch(a){console.error(a),alert("Error with list filter. Please contact administrator for assistance.")}else{if(a=_.extend(a,{"filter[limit]":parseInt($scope.pagingOptions.pageSize),"filter[skip]":($scope.pagingOptions.currentPage-1)*parseInt($scope.pagingOptions.pageSize)}),$scope.sortInfo.fields.length>0){var f="";for(var c in $scope.sortInfo.fields){var d=$scope.sortInfo.fields[c],e=$scope.sortInfo.directions[c];e||(e="ASC"),parseInt(c)>0&&(f+=", "),f+=d+" "+e}a=_.extend(a,{"filter[order]":f})}if($scope.searchFields&&$scope.gridOptions.filterOptions.filterText){a=GeneralModelService.queryStringParamsToJSON(a);var g=$scope.gridOptions.filterOptions.filterText;if("object"==typeof a.filter.where){var h=angular.copy(a.filter.where);a.filter.where={and:[]},_.forEach(h,function(b,c){var d={};d[c]=b,a.filter.where.and.push(d)});var i={or:[]};angular.forEach($scope.searchFields,function(a,b){var c="["+a+"][like]",d=_.set({},c,"%"+g+"%");i.or.push(d)}),a.filter.where.and.push(i)}else angular.forEach($scope.searchFields,function(b,c){var d="filter[where][or]["+c+"]["+b+"][like]";a=_.set(a,d,"%"+g+"%")})}}$location.search("pageSize",$scope.pagingOptions.pageSize),$location.search("currentPage",$scope.pagingOptions.currentPage);var j=angular.copy($scope.sortInfo);return delete j.columns,$location.search("sortInfo",JSON.stringify(j)),$location.replace(),addQueryStringParams(),a}function processChart(){$scope.action.options.chart.api&&GeneralModelService.list($scope.action.options.chart.api,{}).then(function(a){$scope.chart=$scope.action.options.chart,$scope.chart.data=a,$scope.chart.options||($scope.chart.options={}),$scope.chart.options.vAxis||($scope.chart.options.vAxis={}),$scope.chart.options.hAxis||($scope.chart.options.hAxis={}),$scope.chart.options.hAxis.textStyle||($scope.chart.options.hAxis.textStyle={}),$scope.chart.options.vAxis.textStyle||($scope.chart.options.vAxis.textStyle={}),$scope.chart.options.vAxis.gridlines||($scope.chart.options.vAxis.gridlines={}),$scope.chart.options.hAxis.textStyle.fontSize||($scope.chart.options.hAxis.textStyle.fontSize=11),$scope.chart.options.vAxis.textStyle.fontSize||($scope.chart.options.vAxis.textStyle.fontSize=11),$scope.chart.options.hAxis.textStyle.color||($scope.chart.options.hAxis.textStyle.color="#999"),$scope.chart.options.vAxis.textStyle.color||($scope.chart.options.vAxis.textStyle.color="#999"),$scope.chart.options.vAxis.baselineColor||($scope.chart.options.vAxis.baselineColor="#999"),$scope.chart.options.hAxis.baselineColor||($scope.chart.options.hAxis.baselineColor="#999"),$scope.chart.options.vAxis.gridlines.color||($scope.chart.options.vAxis.gridlines.color="#eee"),$scope.chart.options.hAxis.gridlines.color||($scope.chart.options.hAxis.gridlines.color="#eee")})}function startEdit(){$scope.isEditing||($scope.oldList=angular.copy($scope.list),$scope.isEditing=!0)}function endEdit(){$scope.isEditing&&($scope.isEditing=!1,$scope.oldList=void 0,$scope.loadItems())}var isFirstLoad=!0,modalInstance=null;$scope.getTotalServerItems=function(){var a=setupPagination();GeneralModelService.count($scope.apiPath,a).then(function(b){if(b){if("string"==typeof b)$scope.totalServerItems=b;else{b instanceof Array&&b.length>0&&(b=b[0]);var c=Object.keys(b);!b.count&&c.length>0&&(b.count=b[c[0]]),$scope.totalServerItems=b.count}$scope.loadItems(a)}},function(a){$scope.errorMessage="There was an error while loading...",console.error(a)})},$scope.loadItems=function(a){$scope.$emit("ModelListLoadItemsLoading"),a||(a=setupPagination());var b=CacheService.getKeyForAction($scope.action,a);if(!$scope.filterOptions.useExternalFilter&&CacheService.get(b))try{$scope.list=CacheService.get(b),$scope.columnCount=$scope.list.length>0?Object.keys($scope.list[0]).length:0,processWindowSize()}catch(a){console.warn("ModelList Cache is corupt for key = "+b)}$scope.isLoading=!0,GeneralModelService.list($scope.apiPath,a).then(function(a){a&&(void 0!==$scope.action.options.resultField&&void 0!==a[$scope.action.options.resultField]?$scope.list=a[$scope.action.options.resultField]:$scope.list=a,$scope.columnCount=$scope.list.length>0?Object.keys($scope.list[0]).length:0,$scope.filterOptions.useExternalFilter||CacheService.set(b,$scope.list),processWindowSize(),$scope.$emit("ModelListLoadItemsLoaded"),isFirstLoad=!1,$scope.isLoading=!1,$scope.loadAttempted=!0)},function(a){$scope.errorMessage="There was an error while loading...",console.error(a)})},$scope.hasButtonPermission=function(a){if(!a.roles)return!0;if(!$cookies.get("roles"))return!1;var b=JSON.parse($cookies.get("roles"));for(var c in b){var d=b[c];if(a.roles.indexOf(d.name)>-1)return!0}return!1},$scope.clickListButton=function(button){if(button.click)eval("$scope."+button.click);else if(button.route){if(button.options&&(button.options.model&&($scope.action.options.model=button.options.model),button.options.key&&($scope.action.options.key=button.options.key),button.options.display&&($scope.action.options.display=button.options.display),button.returnAfterEdit&&($scope.action.options.returnAfterEdit=button.returnAfterEdit),button.options.data)){var keys=Object.keys(button.options.data);for(var i in keys){var key=keys[i],value=button.options.data[key];value.lastIndexOf("{")>-1&&(value=value.substring(value.lastIndexOf("{")+1,value.lastIndexOf("}")),value=$scope.queryStringParams[value]),$scope.action.options.data||($scope.action.options.data={}),$scope.action.options.data[key]=value}}$state.go("dashboard.model.action."+button.route)}else if(button.path&&button.label){var section=_.find(Config.serverParams.nav,{path:button.path}),action=_.find(section.subnav,{label:button.label});$state.go("dashboard.model.action."+action.route,{model:section.path,action:action.label})}},$scope.clickAdd=function(){$scope.list&&$scope.list.length,$scope.list.push({}),startEdit()},$scope.clickSaveEdit=function(){if($scope.oldList){var deltaList=[];for(var i in $scope.list){var newRow=$scope.list[i],oldRow=$scope.oldList[i];if(newRow&&("object"!=typeof newRow||0!=Object.keys(newRow).length)&&0!=newRow.length&&(!oldRow||JSON.stringify(newRow)!=JSON.stringify(oldRow))){var rowKeys=Object.keys(newRow);for(var i in rowKeys){var key=rowKeys[i];newRow[key]&&"object"==typeof newRow[key]&&delete newRow[key]}if($scope.action.options.defaults){var keys=Object.keys($scope.action.options.defaults);for(var i in keys){var key=keys[i],property=$scope.action.options.defaults[key];!property||!property.foreceDefaultOnSave&&newRow[key]||(property.default?newRow[key]=property.default:property.evalDefault&&(newRow[key]=eval(property.evalDefault)))}}if($scope.action.options.columns)for(var i in $scope.action.options.columns){var column=$scope.action.options.columns[i];if(column.required&&!newRow[column.field])return void alert("Please fill in all required fields: "+column.displayName)}deltaList.push(newRow)}}var recordIndex=0;$scope.status="Saving...",$scope.progress=0,modalInstance=$modal.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:$scope});var saveRecord=function(a,b){var c=a[$scope.action.options.key];GeneralModelService.save($scope.action.options.model,c,a).then(function(a){b()},function(a){if("object"==typeof a&&a.message)alert(a.message);else if("object"==typeof a&&a.error&&a.error.message)alert(a.error.message);else if("object"==typeof a&&a.code)switch(a.code){case"ER_DUP_ENTRY":alert("There was a duplicate entry found. Please make sure the entry is unique.")}else"object"==typeof a?alert(JSON.stringify(a)):alert(a);b()})},saveNextRecord=function(){if(recordIndex>=deltaList.length)return $scope.status="Saved Successful",modalInstance&&modalInstance.close(),$scope.loadItems(),void endEdit();$scope.status="Saving "+(recordIndex+1)+" of "+deltaList.length,$scope.progress=(recordIndex+1)/deltaList.length;var a=deltaList[recordIndex];saveRecord(a,function(){recordIndex++,saveNextRecord()})};saveNextRecord()}},$scope.clickCancelEdit=function(){confirm("Are you sure you want can cancel all changes?")&&endEdit()},$scope.deleteRowWithMessage=function(a,b){if(b)return void(confirm(b)&&$scope.deleteRow(a,!0));$scope.deleteRow(a)},$scope.deleteRow=function(a,b){if(!$scope.model||!$scope.model.plural)return void console.error("$scope.model or $scope.model.plural not found!");if(b||confirm("Are you sure you want to delete this item?")){var c=a.entity[$scope.action.options.key];c?$scope.model.options&&$scope.model.options.softDeleteProperty?(startEdit(),a.entity[$scope.model.options.softDeleteProperty]=!0,$scope.clickSaveEdit()):GeneralModelService.remove($scope.model.plural,c).then(function(b){$scope.list.splice(a.rowIndex,1)},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)}):$scope.list.splice(a.rowIndex,1)}},$scope.$watch("selected",function(a,b){a!==b&&a.length>0&&!$scope.action.options.editable&&($scope.action.options.selectedState?$state.go($scope.action.options.selectedState.stateName||"dashboard.model.action.edit",{model:$scope.action.options.selectedState.stateModel||$scope.section.path,key:$scope.action.options.key,action:$scope.action.options.selectedState.stateAction||$scope.action.label,id:a[0][$scope.action.options.selectedState.stateId||$scope.action.options.key]}):$state.go("dashboard.model.action.edit",{model:$scope.section.path,key:$scope.action.options.key,action:$scope.action.label,id:a[0][$scope.action.options.key]}))},!0),$scope.$watch("pagingOptions",function(a,b){a.currentPage==b.currentPage&&a.pageSize==b.pageSize||($scope.pagingOptions.pageSize=$scope.pagingOptions.pageSize.toString(),$scope.loadItems())},!0),$scope.$watch("gridOptions.$gridScope.filterText",_.debounce(function(a,b){a!=b&&$scope.$apply(function(){$scope.pagingOptions.currentPage=1,$scope.filterOptions.filterText=a,$scope.getTotalServerItems()})},250),!0),$scope.$watch("sortInfo",function(a,b){isFirstLoad||a===b||$scope.loadItems()},!0);var ngGridUnWatch=$scope.$watch("gridOptions.ngGrid",function(){if($scope.gridOptions.ngGrid){var a=$scope.gridOptions.ngGrid.$viewport;ngGridUnWatch(),$footerPanel=$(".ngFooterPanel"),$listContainer=$(".grid-container.list");var b=null,c=function(){$scope.gridOptions.$gridServices.DomUtilityService.RebuildGrid($scope.gridOptions.$gridScope,$scope.gridOptions.ngGrid)},d=function(d){var e=d.originalEvent.detail?-d.originalEvent.detail:d.originalEvent.wheelDelta/4,f=a.scrollTop();if(e<0){var f=a.scrollTop();0==f&&(f=-e),$scope.gridContainerTopMargin-f>0?($scope.gridContainerTopMargin-=f,a.height(a.height()+f),a.scrollTop(0)):(a.height(a.height()+$scope.gridContainerTopMargin),$scope.gridContainerTopMargin=0),$scope.gridOptions.$gridServices&&(clearTimeout(b),b=setTimeout(c,30))}else e>0&&(0==f&&$scope.gridContainerTopMargin<$scope.gridContainerTopMarginMax?(f=e,$scope.gridContainerTopMargin+=f, +a.height(a.height()-f)):0==f&&($scope.gridContainerTopMargin=$scope.gridContainerTopMarginMax,a.height($footerPanel.offset().top-a.offset().top)));$scope.$digest()};(/(iPad|iPhone|iPod|Android)/g.test(navigator.userAgent)||$scope.action.options.flexibleHeight)&&($(".model-list .grid-container").addClass("flexible"),$(".model-list .grid").css({bottom:"auto"}),$(".model-list .ngFooterPanel").css({position:"static",bottom:"auto"})),$scope.action.options.chart&&(angular.element($window).bind("mousewheel",d),angular.element($window).bind("DOMMouseScroll",d)),$(".search .ngColMenu input").on("keyup",function(){$location.search("search",$(this).val()),$location.replace()})}});init()}]).filter("encodeURIComponent",function(){return window.encodeURIComponent}),angular.module("dashboard.Dashboard.Model.Nav",["dashboard.Config","dashboard.services.Settings","ui.router","ui.bootstrap.modal"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.nav",{url:"/config",templateUrl:"app/dashboard/model/nav/ModelNav.html",data:{pageTitle:"Settings - Navigation"}})}]).controller("ModelNavCtrl",["$scope","$timeout","$state","$location","$modal","Config","SettingsService",function(a,b,c,d,e,f,g){"ngInject";function h(a){for(var b=angular.copy(j),c=0;cc[a.action.options.sortField]?-1:0}))})},a.moveUp=function(b){var c=a.list.indexOf(b);if(0!=c){var d=c-1;a.list.splice(d,0,a.list.splice(c,1)[0])}},a.moveDown=function(b){var c=a.list.indexOf(b);if(c!=a.list.length-1){var d=c+1;a.list.splice(d,0,a.list.splice(c,1)[0])}},a.edit=function(b){a.action.options.onEdit?a.action.options.onEdit(b[a.action.options.key]):c.go("dashboard.model.action.edit",{model:a.section.path,action:a.action.label,id:b[a.action.options.key]})},a.saveSort=function(){a.alertTitle="Saving...",a.alertMessage="Saving new sort order",a.allowAlertClose=!1,i=d.open({templateUrl:"app/dashboard/alert/Alert.html",controller:"AlertCtrl",size:"sm",scope:a});var b=[];for(var c in a.list){var e=a.list[c],f=e[a.action.options.key];b.unshift(f)}g.sort(a.action.options.model,a.action.options.key,a.action.options.sortField,b).then(function(b){a.alertMessage="Saved Successful!",a.allowAlertClose=!0},function(a){"object"==typeof a&&a.message?alert(a.message):"object"==typeof a&&a.error&&a.error.message?alert(a.error.message):"object"==typeof a?alert(JSON.stringify(a)):alert(a)})},function(){a.hideSideMenu(),e.ga&&e.ga("send","pageview",{page:h.path()}),a.action.options.params||(a.action.options.params={}),a.model=f.serverParams.models[a.action.options.model],a.title=a.action.options.title?a.action.options.title:a.action.options.key,a.loadItems()}()}]),angular.module("dashboard.Dashboard.Model.View",["dashboard.Config","dashboard.directives.ModelField","dashboard.services.GeneralModel","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("dashboard.model.action.view",{url:"/view/:id",controller:"ModelViewCtrl",templateUrl:"app/dashboard/model/view/ModelView.html",data:{pageTitle:"View"}})}]).controller("ModelViewCtrl",["$scope","$stateParams","Config","GeneralModelService",function(a,b,c,d){"ngInject";!function(){d.get(a.model.model,b.id).then(function(b){a.data=b})}()}]),angular.module("dashboard.Profile",["ui.bootstrap","ui.bootstrap.modal","dashboard.Dashboard.Model.Edit"]).controller("ProfileCtrl",["$scope","$modalInstance","$translate",function(a,b,c){!function(){c("user_profile.title").then(function(b){a.modalTitle=b},function(){a.modalTitle="User Profile"})}()}]),angular.module("dashboard.Login",["dashboard.Config","dashboard.services.Cache","dashboard.services.Session","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("public.login",{url:"/login",controller:"LoginCtrl",templateUrl:"app/login/Login.html",data:{pageTitle:"Login"}})}]).controller("LoginCtrl",["$scope","$state","$window","Config","SessionService","CacheService",function(a,b,c,d,e,f){"ngInject";var g=this;this.init=function(){a.login={},a.clickLogin=g.clickLogin},this.clickLogin=function(){e.logIn(a.login.email,a.login.password).then(function(a){var c=f.get("desiredState");f.reset(),c?b.go(c.state.name,c.params):b.go("dashboard")}).catch(function(a){a&&a[0]&&a[0].error&&a[0].error.message?alert(a[0].error.message):alert("Invalid login.")})},g.init()}]),angular.module("dashboard.Register",["dashboard.Config","dashboard.services.Session","dashboard.services.User","ui.router"]).config(["$stateProvider",function(a){"ngInject";a.state("public.register",{url:"/register",controller:"RegisterCtrl",templateUrl:"app/Register/Register.html",data:{pageTitle:"Register"}})}]).controller("RegisterCtrl",["$scope","Config","SessionService","UserService",function(a,b,c,d){"ngInject";a.login={},a.register=function(){d.register(a.login.email,a.login.password).then(function(b){c.logIn(a.login.email,a.login.password).then(function(a){$state.go("dashboard")}).catch(function(a){alert("Error registering")})}).catch(function(a){alert("Error registering")})}}]),angular.module("dashboard.Config",[]).constant("Config",{apiBaseUrl:window.config.apiBaseUrl||"/api/",serverParams:window.config}),angular.module("dashboard.directive.DateTimePicker",[]).directive("dateTimePicker",["$rootScope",function(a){"ngInject";return{require:"?ngModel",restrict:"AE",scope:{control:"=",format:"@",ngFormat:"=ngFormat",ngTimeZone:"=ngTimeZone",defaultDate:"@",viewMode:"@",ngViewMode:"=ngViewMode",horizontal:"@",locale:"@",maxDate:"@",minDate:"@"},link:function(a,b,c,d){a.format||(a.format=a.ngFormat),a.viewMode||(a.viewMode=a.ngViewMode),a.format&&a.format.indexOf("DD-MMM-YYYY")>-1&&"es"===a.locale&&(a.format=a.format.replace("DD-MMM-","DD MMM ")),d.$formatters.push(function(b){if(a.format||(a.format=a.ngFormat),b){var c=moment(b);return a.ngTimeZone&&c.tz&&(c=c.tz(a.ngTimeZone)),c.format(a.format)}}),a.defaultDate=a.defaultDate&&"string"==typeof a.defaultDate?a.defaultDate.replace(/"/g,""):a.defaultDate;var e={format:a.format,useCurrent:!1,locale:a.locale,defaultDate:a.defaultDate?moment(a.defaultDate).toDate():void 0,viewMode:a.viewMode,widgetPositioning:{horizontal:a.horizontal?a.horizontal:"auto"}};a.minDate&&(e.minDate=a.minDate),a.maxDate&&(e.maxDate=a.maxDate),b.datetimepicker(e),a.control||(a.control={}),a.control.show=function(){b.focus()},b.on("blur",function(){a.format||(a.format=a.ngFormat),a.locale&&moment.locale(a.locale);var c=moment(b.val(),a.format);c.isValid()?d.$setViewValue(c):d.$setViewValue(null)})}}}]),angular.module("dashboard.directives",[]),angular.module("dashboard.directives.ModelField",["dashboard.directives.ModelFieldImage","dashboard.directives.ModelFieldVideo","dashboard.directives.ModelFieldFile","dashboard.directives.ModelFieldReference","dashboard.directives.ModelFieldReferenceSort","dashboard.directives.ModelFieldList","dashboard.directives.ModelFieldWYSIWYG","dashboard.directives.ModelFieldCanvas","dashboard.directives.ModelFieldLocation","dashboard.directives.ModelFieldPointsOfInterest","dashboard.directives.ModelFieldMultiSelect","dashboard.directives.ModelFieldNumber","dashboard.directive.DateTimePicker","dashboard.directive.AutoSize","ngCookies","ngSlider","ngSignaturePad","cwill747.phonenumber","monospaced.elastic"]).directive("modelFieldView",["$compile",function(a){"ngInject";function b(a){return"{{ field.label }}: {{ data[field.name] }}"}return{restrict:"E",scope:{key:"=key",model:"=model",data:"=ngModel"},link:function(c,d,e){d.html(b(c.field.type)).show(),a(d.contents())(c)}}}]).directive("modelFieldEdit",["$compile",function(a){"ngInject";function b(a,b){var c="";switch(a){case"reference":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"reference-sort":c='
{{ display.error }}
{{ display.description | translate }}
{{ display.description | translate }}
';break;case"list":c='
{{ display.error }}
{{ display.description | translate }}
{{ display.description | translate }}
';break;case"file":c='
{{ display.error }}

{{ display.description | translate }}
';break;case"image":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"video":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"datetime":c='
{{ display.error }}

{{ display.description | translate }}
';break;case"multi-select":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"select":var d="key as (value | translate) for (key, value) in display.options";b.property.display.options instanceof Array&&(d="object"!=typeof b.property.display.options[0]||Array.isArray(b.property.display.options[0])?"value as value for value in display.options":"item.key as item.value disable when item.disabled for item in display.options"),c='
{{ display.error }}
{{ display.description | translate }}
';break;case"radio":var e="(value, text) in display.options";b.property.display.options instanceof Array&&(e="object"!=typeof b.property.display.options[0]||Array.isArray(b.property.display.options[0])?"text in display.options":"item in display.options"),c='
{{ display.error }}
{{ display.description | translate }}
';break;case"slider":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"boolean":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"password":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"textarea":c='
{{ display.error }}
{{ display.description | translate }}  ({{ charsLeft }} characters left)
';break;case"wysiwyg":case"WYSIWYG":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"draw":case"signature":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"location":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"poi":case"POI":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"number":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"phoneNumber":c='
{{ display.error }}
{{ display.description | translate }}
';break;case"text":default:c='
{{ display.error }}
{{ display.description | translate }}  ({{ charsLeft }} characters left)
'}return c}function c(a,b){var c=$(a).find("input");if(b&&c)for(var d in b)c.attr(d,b[d])}return{restrict:"E",scope:{key:"=key",model:"=model",data:"=ngModel",ngError:"&"},link:function(d,e,f){function g(a){a&&a.message?i.display.error=a.message:delete i.display.error,d.ngError&&d.ngError({error:a})}function h(){if("text"===i.display.type||"textarea"===i.display.type){var a=d.data[d.key]?d.data[d.key].length:0;d.charsLeft=i.display.maxLength-a,d.lengthCheck=function(a){return d.charsLeft=i.display.maxLength-a.target.value.length,i.display.maxLength&&a.target.value.length>i.display.maxLength?(d.display.error="Text is longer than the maximum allowed length of "+d.display.maxLength+" characters.",void(d.ngError&&d.ngError({error:new Error(d.display.error)}))):i.display.maxLength&&a.target.value.length<=i.display.maxLength&&a.target.value.length>0?(delete d.display.error,delete d.display.errorCode,void(d.ngError&&d.ngError({error:null}))):void(0===a.target.value.length&&i.display.isRequired&&(d.display.error="This is a required field.",d.ngError&&d.ngError({error:new Error(d.display.error)})))}}if("file"==i.display.type&&d.data[d.key]){var b=d.data[d.key];if("object"==typeof b&&b.filename?b=b.filename:"object"==typeof b&&b.file&&(b=b.file.name),b){var c=b.toLowerCase().substring(b.length-4);".png"!=c&&".jpg"!=c&&"jpeg"!=c&&".bmp"!=c||(i=angular.copy(i),i.display.type="image")}}"datetime"==i.display.type&&(i.display.options||(i.display.options={}),i.display.options.format||(i.display.options.format="YYYY-MM-DD h:mm A")),!d.data[d.key]&&i.display.defaultValueUsingModelKey&&(d.data[d.key]=d.data[i.display.defaultValueUsingModelKey]),d.data[d.key]&&!1===i.display.convertToLocalTime&&(d.data[d.key]=d.data[d.key].substring(0,d.data[d.key].length-1)),"boolean"==i.display.type&&(d.check=function(a,b){var c=a[b];return void 0==c||null==c?i.display.default:(a[b]="1"==c||1==c,a[b])},"string"==typeof d.data[d.key]&&(d.data[d.key]=parseInt(d.data[d.key]))),"slider"==i.display.type&&(void 0!==d.data[d.key]&&null!=d.data[d.key]||(d.data[d.key]=i.display.options.from+";"+i.display.options.to))}var i;!function(){if(d.onFieldError=g,null!==d.key&&"object"==typeof d.key&&(d.model.properties[d.key.property]||(d.model.properties[d.key.property]={}),d.model.properties[d.key.property].display=d.key,d.key=d.key.property),i={display:{type:"text"}},d.model.properties&&d.model.properties[d.key]&&(i=d.model.properties[d.key]),!i)return void console.log("ModelField link error: no property for model '"+d.model.name+"'; property key = '"+d.key+"' found!");if(!i.display||!i.display.type)switch(i.display||(i.display={}),i.type){case"date":case"Date":i.display.type="datetime";break;default:i.display.type="text"}h(),d.data[d.key]||!i.default&&"number"!=typeof i.default||(d.data[d.key]=i.default),d.property=i,d.display=i.display,i.display.editTemplate?e.html(i.display.editTemplate).show():e.html(b(i.display.type,d)).show(),c(e,d.property.display.inputAttr),d.display.pattern&&"/"==d.display.pattern[0]&&"/"==d.display.pattern[d.display.pattern.length-1]&&(d.display.pattern=d.display.pattern.slice(1,d.display.pattern.length-2)),a(e.contents())(d)}()}}}]),angular.module("dashboard.directives.ModelFieldCanvas",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","ui.bootstrap","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldCanvasView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldCanvasEdit",["$compile","$cookies","$timeout","$modal","Config","FileUploadService",function(a,b,c,d,e,f){"ngInject";function g(){return' '}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d,e){b.isLoading=!0,b.signature={},b.clearCanvas=function(){var a=b.signature._canvas;a.width=a.width,b.data=null},b.$watch("signature._mouseButtonDown",function(){if(b.signature.fromDataURL&&b.isLoading){ +b.isLoading=!1;var a=new Image;a.setAttribute("crossOrigin","anonymous"),a.onload=function(){b.signature._canvas.getContext("2d").drawImage(a,0,0)},"object"==typeof b.data&&b.data.fileUrl?a.src=b.data.fileUrl:a.src=b.data}else if(b.signature.toDataURL){var c=b.signature.toDataURL();b.data=c}}),c.html(g()).show(),a(c.contents())(b)}}}]),angular.module("dashboard.directives.ModelFieldFile",["dashboard.services.GeneralModel"]).directive("modelFieldFileView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldFileEdit",["$compile","$document","$window","GeneralModelService","SessionService","$translate",function(a,b,c,d,e,f){"ngInject";return{restrict:"E",template:'   {{ filename }}  (download | preview)
Drop File Here
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(a,c,d){a.selectFileButtonText="Select File",a.clearButtonText="Clear";var e=["button.select_file"];f(e).then(function(b){-1===e.indexOf(b["button.select_file"])&&(a.selectFileButtonText=b["button.select_file"])});var g=a.$watch("data",function(b){if(b)if(g(),a.data&&a.data&&a.data.filename)a.filename=a.data.filename,a.fileUrl=a.data.fileUrl,a.previewUrl=a.data.previewUrl;else if("string"==typeof a.data){a.fileUrl=a.data.replace(/%2F/g,"/");var c=a.fileUrl.lastIndexOf("/");a.filename=a.fileUrl.substring(c+1)}else if("object"==typeof a.data.file){var d=a.options.path;a.data={path:d,file:a.data.file},a.filename=a.data.file.name,a.fileUrl=null,a.previewUrl=null}});a.getFileIcon=function(a){switch(a.substring(a.lastIndexOf(".")).toLowerCase()){case".txt":return"fa-file-text-o";case".doc":case".docx":return"fa-file-word-o";case".wav":case".mp3":case".aif":return"fa-file-audio-o";case".m4v":case".mov":case".mp4":case".avi":return"fa-file-video-o";case".jpg":case".jpeg":case".png":case".gif":case".bmp":case".tif":return"fa-file-image-o";case".xls":case".xlsx":return"fa-file-excel-o";case".ppt":case".pptx":return"fa-file-excel-o";case".pdf":return"fa-file-pdf-o";default:return"fa-file-o"}},a.onFileSelect=function(b){if(!(b.length<1)){var c=b[0],d=a.options.path;a.data={path:d,file:c},a.filename=c.name,a.fileUrl=null}},a.clear=function(b){b.preventDefault(),a.options.confirm&&!confirm("Are you sure you would like to clear the file?")||(a.data=null,a.filename=null,a.fileUrl=null)},b.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),b.on("dragover",function(a){a.preventDefault(),c.find(".file-drop").addClass("show")}),$(window).on("mouseleave",function(){c.find(".file-drop").removeClass("show")}),a.$on("$destroy",function(){b.off("drop"),b.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldImage",["dashboard.services.GeneralModel","dashboard.services.Image"]).directive("modelFieldImageView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldImageEdit",["$compile","$document","GeneralModelService","ImageService","SessionService","$timeout","$translate",function(a,b,c,d,e,f,g){"ngInject";return{restrict:"E",template:'
{{ uploadStatus }}
HTML5 Drop File is not supported!
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(a,e,h){var i=null;a.selectFileButtonText="Select File",a.clearButtonText="Clear";var j=["button.select_file","button.clear"];g(j).then(function(b){-1===j.indexOf(b["button.select_file"])&&(a.selectFileButtonText=b["button.select_file"]),-1===j.indexOf(b["button.clear"])&&(a.clearButtonText=b["button.clear"])}),a.uploadStatus="Upload File";var k=a.$watch("data",function(b){if(b)if(k(),a.options&&a.options.model)c.get(a.options.model,b).then(function(b){b&&(a.imageUrl=b[a.options.urlKey],a.imageUrl||(a.imageUrl=b.mediumUrl),a.thumbnailUrl=a.imageUrl)});else if("string"==typeof b)if(a.imageUrl=b,a.thumbnailUrl=a.options.thumbnailUrl,a.thumbnailUrl){var d=new Image;d.onerror=function(){f(function(){a.thumbnailUrl=a.imageUrl})},d.src=a.thumbnailUrl}else a.thumbnailUrl=a.imageUrl;else"object"==typeof b&&(b.fileUrl&&(a.imageUrl=b.fileUrl),b.imageUrl&&(a.imageUrl=b.imageUrl),!a.imageUrl&&b.file&&l.readAsDataURL(b.file))}),l=new FileReader;l.onload=function(b){var c=a.options.path,e={path:c,file:i};a.modelData.__ModelFieldImageData||(a.modelData.__ModelFieldImageData={}),a.options&&a.options.urlKey?(a.modelData.__ModelFieldImageData[a.key]||(a.modelData.__ModelFieldImageData[a.key]={}),a.modelData.__ModelFieldImageData[a.key][a.options.urlKey]=e):a.modelData.__ModelFieldImageData[a.key]=e,d.fixOrientationWithDataURI(b.target.result,function(b,c){a.imageUrl=c,a.thumbnailUrl=c,e.file=a.dataURItoBlob(c),e.file.name=i.name,a.options&&a.options.export?(a.uploadStatus="Creatimg Image Sizes",a.exportImages(function(){a.uploadStatus="Upload File",a.$apply()})):a.options&&a.options.resize&&a.resizeImage(c,a.options.resize,function(a){e.file=a}),a.$apply()})},l.onerror=function(a){console.log(a)},a.clear=function(){a.options.confirm&&!confirm("Are you sure you would like to clear this photo?")||(a.data=null,a.modelData.__ModelFieldImageData&&a.modelData.__ModelFieldImageData[a.key]&&delete a.modelData.__ModelFieldImageData[a.key],delete a.imageUrl,delete a.thumbnailUrl)},a.onFileSelect=function(b){if(!(b.length<1)){i=b[0];var c=!1;a.options.extensions?a.options.extensions.forEach(function(a){i.type.match("image/"+a)&&(c=!0)}):c=!0,c?l.readAsDataURL(i):alert("File must be of the following file types ("+a.options.extensions.join(", ")+").")}},a.exportImages=function(b){var c=arguments[1];c||(c=0);var d=Object.keys(a.options.export);if(c>=d.length)return void b();var e=d[c],f=a.options.export[e];a.resizeImage(a.imageUrl,f,function(d){a.modelData.__ModelFieldImageData[a.key][e]=d,c++,a.exportImages(b,c)})},a.resizeImage=function(b,c,e){d.resize(b,c,function(b,c){var d=a.dataURItoBlob(c);e(d)})},a.dataURItoBlob=function(a){var b;b=a.split(",")[0].indexOf("base64")>=0?atob(a.split(",")[1]):unescape(a.split(",")[1]);for(var c=a.split(",")[0].split(":")[1].split(";")[0],d=new Uint8Array(b.length),e=0;e
'),d=$('
');if(c.append(d),$("body").append(c),a.options.isLightbox){var e=Math.min(d.width()/b.width,d.height()/b.height),f=b.width*e,g=b.height*e;d.css({background:"no-repeat center center url("+a.imageUrl+")",backgroundSize:f+"px "+g+"px"})}else{var h=$('
'),i=$('
');d.append(h),d.append(i);var e=Math.min(h.width()/b.width,h.height()/b.height),j=b.width*e,k=b.height*e;h.css({background:"no-repeat center center url("+a.imageUrl+")",backgroundSize:j+"px "+k+"px"});e=1;var l=b.width*e,m=b.height*e;i.css({background:"no-repeat center center url("+a.imageUrl+"), #111",backgroundSize:l+"px "+m+"px",border:"solid 1px #000"});var n="center",o="center",p=function(a){n=a.offsetX,o=a.offsetY,n||(n=a.pageX),o||(o=a.pageY),n-=h.width()/2-j/2,o-=h.height()/2-k/2,n*=-l/j,o*=-m/k,n+=i.width()/2,o+=i.height()/2,i.css({backgroundPosition:n+"px "+o+"px",backgroundSize:l+"px "+m+"px"})};h.on("mousemove",p),h.bind("mousewheel",function(a){a.originalEvent.wheelDelta/120>0&&e+.01<=1.1?e+=.01:e-.01>=.1&&(e-=.01),l=b.width*e,m=b.height*e,p(a)})}c.animate({backgroundColor:"rgba(0,0,0,0.65)"},600,function(){d.animate({opacity:1},300)}),d.click(function(){c.animate({opacity:0},300,function(){c.remove()})})},b.src=a.imageUrl}else{var c=e.find(".image-container");c.width()<=160?c.animate({width:"400px",height:"400px"},300):c.animate({width:"160px",height:"160px"},300)}},b.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),b.on("dragover",function(a){a.preventDefault(),e.find(".image-drop").addClass("show-upload"),e.find(".input[type=file]").addClass("show-upload"),e.find(".button-menu").addClass("hide-menu")}),$(window).on("mouseleave",function(){e.find(".image-drop").removeClass("show-upload"),e.find(".input[type=file]").removeClass("show-upload"),e.find(".button-menu").removeClass("hide-menu")}),a.$on("$destroy",function(){b.off("drop"),b.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldList",["dashboard.Config","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldListView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldListEdit",["$compile","$cookies","$timeout","Config","GeneralModelService",function(a,b,c,d,e){"ngInject";function f(a){return'
'}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d){b.list||(b.list=[]),b.options.addLabel||(b.options.addLabel="Add Item"),b.sortableOptions={placeholder:"sortable-placeholder",update:self.updateData,disabled:b.disabled},b.setData=function(){"object"==b.options.output?b.data=b.list:b.data=JSON.stringify(b.list)},b.addItem=function(){b.list.push({}),b.setData()},b.removeItem=function(a){b.list[a];b.list.splice(a,1),b.setData()},b.updateData=function(){b.setData()};b.$watchCollection("[data, options, modelData]",function(a){if(b.data&&b.options)if(b.data instanceof Array)b.list=b.data;else try{b.list=JSON.parse(b.data)}catch(a){b.list=[],console.error("ModelFieldList failed to parse scope.data",a)}});c.html(f(b.options.key)).show(),a(c.contents())(b)}}}]),angular.module("dashboard.directives.ModelFieldLocation",["dashboard.services.Location","ui.bootstrap","dashboard.services.GeneralModel"]).directive("modelFieldLocationView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldLocationEdit",["$compile","$q","LocationService",function(a,b,c){"ngInject";function d(){var a=b.defer();if(angular.element("#google_maps").length)return a.resolve(),a.promise;var c=document.createElement("script");return c.onload=function(){a.resolve()},c.id="google_maps",c.type="text/javascript",c.src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,places",document.getElementsByTagName("head")[0].appendChild(c),a.promise}function e(){return'
Loading your location...
{{geocodeError}}
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,f,g){function h(){b.isMapLoading=!1,b.isLoaded=!0,k=new google.maps.Map(angular.element("#map_canvas")[0],{center:b.location,zoom:12}),i()}function i(){j()}function j(){if(b.data)if(m){var a=new google.maps.LatLng(b.data.lat,b.data.lng);m.setPosition(a),m.setMap(k),k.setCenter(a)}else{m=new google.maps.Marker({position:b.location,map:k,icon:new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|2F76EE",new google.maps.Size(21,34),new google.maps.Point(0,0),new google.maps.Point(10,34)),draggable:!0,tooltip:"Current location"}),google.maps.event.addListener(m,"dragend",function(){var a={lat:m.position.lat(),lng:m.position.lng()};b.data=a,b.$digest()})}}var k,l,m,n;b.isMapLoading=!0,b.isLoaded=!1,b.geocodeSearch={value:""},b.geocodeError=null,b.showGeocode=!1,d().then(function(){l=new google.maps.Geocoder,b.showGeocode=!1,b.property.display.options&&b.property.display.options.allowGeocode&&(b.showGeocode=!0);b.property.display.options&&b.property.display.options.query&&b.property.display.options.query,f.html(e()).show(),a(f.contents())(b),b.data?(n=b.data,b.location=angular.copy(b.data),h()):c.currentLocation().then(function(a){var c={lat:a.latitude,lng:a.longitude};n=c,b.data=c,h()}),b.$watch("data",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())}),b.$watch("data.lat",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())}),b.$watch("data.lng",function(a,c){a!=c&&(b.valueChanged=JSON.stringify(b.data)!=JSON.stringify(n),j())})},function(){console.error("Error loading Google Maps")}),b.doGeocode=function(){b.geocodeError=null,b.geocodeSearch.value?l.geocode({address:b.geocodeSearch.value},function(a,c){c==google.maps.GeocoderStatus.OK?b.$apply(function(){var c={lat:a[0].geometry.location.lat(),lng:a[0].geometry.location.lng()};b.data=c,h()}):c===google.maps.GeocoderStatus.OVER_QUERY_LIMIT?console.log("Geocode was not successful for the following reason: "+c):c===google.maps.GeocoderStatus.ZERO_RESULTS?(b.geocodeError="Couldn't match the specified query with a geopoint",b.$digest(),console.log("Geocode was not successful for the following reason: "+c)):console.log("Geocode was not successful for the following reason:"+c)}):alert("Please enter the address of a location to geocode.")},b.clearSearch=function(){b.hasSearched=!1},b.revertValue=function(){n&&(b.data=n)}}}}]),angular.module("dashboard.directives.ModelFieldMultiSelect",[]).directive("modelFieldMultiSelect",["$compile",function(a){"ngInject";function b(){return'
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(c,d,e,f){function g(){var a=c.options||j.display.options;"string"==typeof a&&(a=a.indexOf("\n")>-1?a.split("\n"):a.split(","));var b=j.display.key||"key",d=j.display.value||"value";if(Array.isArray(a))for(var e in a){var f=a[e];if("string"==typeof f){var g={key:f,value:f};c.multiSelectOptions.push(g)}else if(f&&"object"==typeof f){var h=f[b]||e,g={key:h,value:f[d],item:f};c.multiSelectOptions.push(g)}}else if(a&&"object"==typeof a){var i=Object.keys(a);for(var k in i){var h=i[k],g={key:h,value:a[h]};c.multiSelectOptions.push(g)}}}function h(){if(void 0===j.display.output){var a=c.options||j.display.options;j.display.output=a instanceof Array?"comma":"object"}if("string"==typeof c.data){c.data||(c.data="");var b=c.data.split('","');for(var d in b){var e=b[d];'"'==e[0]&&(e=e.substring(1,e.length)),'"'==e[e.length-1]&&(e=e.substring(0,e.length-1));var f=_.findIndex(c.multiSelectOptions,{key:e});f>-1&&(c.selected[f]=!0)}}else if(Array.isArray(c.data)){c.data||(c.data=[]);for(var d in c.data){var g=c.data[d],f=_.findIndex(c.multiSelectOptions,{key:g});f>-1&&(c.selected[f]=!0)}}else if(c.data&&"object"==typeof c.data){c.data||(c.data={});var h=Object.keys(c.data);for(var i in h){var k=h[i],f=_.findIndex(c.multiSelectOptions,{key:k});f>-1&&(c.selected[f]=!0)}}}function i(a,b){var d="array"===j.display.output?[]:"object"===j.display.output?{}:"";for(var e in c.selected)if(c.selected[e]){var f=c.multiSelectOptions[e];switch(j.display.output){case"object":d[f.key]=f.value;break;case"comma":d+='"'+f.key+'",';break;case"array":d.push(b.item||b.key)}}"comma"===j.display.output&&d.length>0&&(d=d.substring(0,d.length-1)),c.data=d}var j=c.property;!function(){c.multiSelectOptions=[],c.selected=[],j||(j={}),j.display||(j.display={}),g(),h(),c.clickMultiSelectCheckbox=i,d.html(b()).show(),a(d.contents())(c)}()}}}]),angular.module("dashboard.directives.ModelFieldNumber",[]).directive("modelFieldNumber",["$compile","$filter",function(a,b){"ngInject";function c(){return''}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled",required:"=ngRequired",ngError:"&"},link:function(d,e,f,g){function h(a){var b=0;if(document.selection){var c=document.selection.createRange();c.moveStart("character",-a.target.value.length),b=c.text.length}else(a.target.selectionStart||0===a.target.selectionStart)&&(b=a.target.selectionStart);var d=a.target.value;if("string"==typeof d){var e=d.indexOf(".");if(!(-1===e||e>=b)){var f=d.split(".");if(!(f.length<1))return f[1].length>=k.display.scaleValue?void a.preventDefault():void 0}}}function i(a){if((""===a.target.value||null===a.target.value)&&!a.target.validity.badInput)return void(d.ngError&&k.display.isRequired?d.ngError({error:new Error("This is a required field.")}):d.ngError&&d.ngError({error:null}));if(!0===k.display.allowDecimal){var c=b("decimalWithScale")(a.target.value,k.display.scaleValue);if(isNaN(c)&&d.ngError)return void d.ngError({error:new Error("Please enter a valid number")});if(d.data=c,void 0!==k.display.minValue&&j(k.display.minValue,a.target.value))return void(d.ngError&&d.ngError({error:new Error("Value is less than the minimum allowed value ("+k.display.minValue+").")}));if(void 0!==k.display.maxValue&&j(a.target.value,k.display.maxValue))return void(d.ngError&&d.ngError({error:new Error("Value is greater than the maximum allowed value ("+k.display.maxValue+").")}));d.ngError&&d.ngError({error:null})}else if(!1===k.display.allowDecimal){if(isNaN(_.round(a.target.value))||isNaN(parseInt(a.target.value)))return void(d.ngError&&d.ngError({error:new Error("Please enter a valid number")}));var e=_.round(a.target.value,0);if(d.data=e,void 0!==k.display.minValue&&k.display.minValue>parseFloat(a.target.value))return void(d.ngError&&d.ngError({error:new Error("Value is less than the minimum allowed value ("+k.display.minValue+").")}));if(void 0!==k.display.maxValue&&k.display.maxValueparseInt(e[0]))return!0;if(parseInt(d[0])=0&&parseInt(e[0])>=0,g=0;gparseInt(e[1].charAt(g)))return f;if(parseInt(d[1].charAt(g)){{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldPointsOfInterestEdit",["$compile","$cookies","$timeout","$modal","$http","$q","$window","Config","GeneralModelService","LocationService",function(a,b,c,d,e,f,g,h,i,j){"ngInject";function k(a){var b=f.defer();if(angular.element("#google_maps").length)return b.resolve(),b.promise;var c=document.createElement("script");return c.onload=function(){b.resolve()},c.id="google_maps",c.type="text/javascript",c.src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,places",a&&(c.src+="&key="+a),document.getElementsByTagName("head")[0].appendChild(c),b.promise}function l(a){return a.replace(/ /g,"_").toLowerCase()}function m(){return' \t\t\t
Search results are loading...
\t\t\t
\t\t\t \t\t\t \t\t\t\t\t\t\t\t\t \t\t\t{{searchError}}\t\t\t\t\t\t \t\t\t
\t\t\t
    \t\t\t\t
  • \t\t\t\t\t
    {{ $index + 1 }}. {{ item.name }}
    \t\t\t\t\t\t{{item.formatted_address}} \t\t\t\t\t
    \t\t\t\t\t\t \t\t\t\t\t\t \t\t\t\t\t
    \t\t\t\t
  • \t\t\t
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,d){function e(){b.isMapLoading=!1,b.isLoaded=!0,q=new google.maps.Map(document.getElementById("map_canvas"),{center:b.request.location,zoom:s}),f()}function f(){g()}function g(){b.clearSearch();var a=jQuery.extend(!0,{},b.request);a.radius=.5*a.radius,new google.maps.places.PlacesService(q).textSearch(a,function(a,c){c==google.maps.places.PlacesServiceStatus.OK?(h(a),b.boundaries.length>0&&p(),b.markers.length>0&&i(),j(),n(),o(),b.$digest()):console.log("search was not successful for the following reason: "+c)})}function h(a){u&&u.close();for(var c=0;c{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldReferenceEdit",["$compile","$cookies","Config","GeneralModelService",function($compile,$cookies,Config,GeneralModelService){"ngInject";function getTemplate(a,b,c){return a?' '+b+' '+c+" ":' '+b+' '+c+" "}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled",rowData:"=ngRowData",textOutputPath:"=ngTextOutputPath",onModelChanged:"&onModelChanged",appendToBody:"=appendToBody"},link:function(scope,element,attrs){function replaceSessionVariables(string){if("string"!=typeof string)return string;try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for string");break}var sessionKey=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+eval(sessionKey)+string.slice(endPos+1),startPos=string.indexOf(searchString)}for(searchString="{",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for string");break}var key=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+scope.modelData[key]+string.slice(endPos+1),startPos=string.indexOf(searchString)}}catch(a){console.error(a)}return string}function mergeArray(a,b){for(var c in a){var d=a[c];-1==b.indexOf(d)&&b.push(d)}}function assignJunctionMeta(){if(scope.options.junctionMeta)for(var a in scope.selected.items){var b=scope.selected.items[a];b.junctionMeta=scope.options.junctionMeta}}scope.moment=moment,scope.isFirstTimeLoad=!0,scope.selected={},scope.selected.items=[],scope.selected.item=null,scope.list=[],scope.$watch("selected.items",function(a,b){var c=element.hasClass("ng-invalid");scope.property&&scope.property.display&&scope.property.display.required&&a&&0===a.length&&element.addClass("ng-invalid"),a&&a.length>0&&c&&element.removeClass("ng-invalid"),scope.$emit("onModelFieldReferenceChange",scope.options.relationship?scope.options.relationship:scope.key,a,b)}),scope.refreshChoices=function(a){var b=Config.serverParams.models[scope.options.model],c={"filter[limit]":100};if(c["filter[where]["+scope.options.searchField+"][like]"]="%"+a+"%",scope.options.where){var d=Object.keys(scope.options.where);for(var e in d){var f=d[e];c["filter[where]["+f+"]"]=replaceSessionVariables(scope.options.where[f])}}if(scope.options.filters){var d=Object.keys(scope.options.filters);for(var e in d){var f=d[e];c[f]=replaceSessionVariables(scope.options.filters[f])}}var g=b.plural;scope.options.api&&(g=replaceSessionVariables(scope.options.api)),GeneralModelService.list(g,c,{preventCancel:!0}).then(function(a){if(a){if(scope.list=a,scope.options.allowInsert){var b={};b[scope.options.searchField]="[Add New Item]",scope.list.push(b)}if(scope.options.allowClear){var b={};b[scope.options.searchField]="[clear]",scope.list.unshift(b)}"number"==typeof scope.options.defaultIndex&&a[scope.options.defaultIndex]&&scope.onSelect(a[scope.options.defaultIndex])}})};var unwatch=scope.$watchCollection("[data, options, modelData]",function(a){if(scope.modelData&&scope.modelData&&scope.options&&scope.options.multiple){if(!scope.property.display.sourceModel)return unwatch(),void(scope.modelData[scope.property.display.options.relationship]&&(scope.selected.items=scope.modelData[scope.property.display.options.relationship],assignJunctionMeta(),scope.list=scope.selected.items));var b=Config.serverParams.models[scope.property.display.sourceModel],c=Config.serverParams.models[scope.options.model],d=b.plural,e=(c.plural,scope.modelData[scope.property.display.sourceKey]);if(!e)return;unwatch();var f={};if(scope.options.junctionMeta){var g=Object.keys(scope.options.junctionMeta);for(var h in g){var i=g[h];f["filter[where]["+i+"]"]=scope.options.junctionMeta[i]}}GeneralModelService.getMany(d,e,scope.options.relationship,f,{preventCancel:!0}).then(function(a){if(a)if(scope.options.api&&a.length>0){var b={filter:{where:{}}};b.filter.where[scope.options.key]={inq:[]};for(var c in a){var d=a[c];b.filter.where[scope.options.key].inq.push(d[scope.options.key])}apiPath=replaceSessionVariables(scope.options.api),GeneralModelService.list(apiPath,b,{preventCancel:!0}).then(function(a){a&&(scope.selected.items=a,assignJunctionMeta(),scope.list=a)})}else scope.selected.items=a,assignJunctionMeta(),scope.list=a})}else if(scope.data&&scope.options&&scope.options.model){var j=Config.serverParams.models[scope.options.model];GeneralModelService.get(j.plural,scope.data).then(function(a){a&&(scope.selected.item=a,assignJunctionMeta(),scope.list=[scope.selected.item],scope.onModelChanged&&scope.onModelChanged({$item:scope.selected.item}))},function(a){if(scope.options.allowInsert){var b={};b[scope.options.key]=scope.data,b[scope.options.searchField]=scope.data,scope.selected.item=b,assignJunctionMeta(),scope.list.push(b)}})}});scope.onSelect=function(a,b){if(scope.options.multiple){if(a&&"[Add New Item]"==a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();a[scope.key]=c}assignJunctionMeta(),scope.modelData[scope.options.relationship]?mergeArray(scope.selected.items,scope.modelData[scope.options.relationship]):scope.modelData[scope.options.relationship]=scope.selected.items}else{scope.data=a[scope.options.key],scope.rowData&&(scope.rowData[scope.options.key]=scope.data),scope.$emit("onModelFieldReferenceSelect",scope.modelData,scope.key,a,scope.rowData);var d=a[scope.options.searchField];if(a&&"[Add New Item]"==a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();scope.data=c;var e={};e[scope.options.key]=c,e[scope.options.searchField]=c,scope.selected.item=e,scope.list.push(e)}else a&&"[clear]"==a[scope.options.searchField]&&(scope.data=null,d="");if(scope.rowData&&scope.textOutputPath&&a[scope.options.searchField])if(scope.textOutputPath.indexOf(".")>-1){for(var f=scope.textOutputPath.split("."),g=scope.rowData,h=0;h-1&&(scope.selected.items.splice(c,1),assignJunctionMeta()),scope.modelData[scope.options.relationship]){if(scope.options.key&&a[scope.options.key]){var d={};d[scope.options.key]=a[scope.options.key];var c=_.findIndex(scope.modelData[scope.options.relationship],d);c>-1&&scope.modelData[scope.options.relationship].splice(c,1)}var c=scope.modelData[scope.options.relationship].indexOf(a);c>-1&&scope.modelData[scope.options.relationship].splice(c,1),mergeArray(scope.selected.items,scope.modelData[scope.options.relationship])}else scope.modelData[scope.options.relationship]=scope.selected.items}else scope.data=null},scope.$on("ngGridEventStartCellEdit",function(){element.find("button").trigger("click"),element.find("input.ui-select-search").focus()}),element.html(getTemplate(scope.options.multiple,scope.options.matchTemplate,scope.options.choiceTemplate)).show(),$compile(element.contents())(scope)}}}]),angular.module("dashboard.directives.ModelFieldReferenceSort",["dashboard.Config","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldReferenceSortView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"ngDisabled"},link:function(a,b,c){}}}]).directive("modelFieldReferenceSortEdit",["$compile","$cookies","$timeout","Config","GeneralModelService",function($compile,$cookies,$timeout,Config,GeneralModelService){"ngInject";function getTemplate(a,b,c,d){var e="(index, item) in selectedList";return d||(e+=" track by item."+a),' '+b+' '+c+'
  • '+c+'
'}return{restrict:"E",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(scope,element,attrs){function replaceSessionVariables(string){if("string"!=typeof string)return string;try{for(var session=JSON.parse($cookies.get("session")),searchString="{session.",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for string");break}var sessionKey=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+eval(sessionKey)+string.slice(endPos+1),startPos=string.indexOf(searchString)}for(searchString="{",startPos=string.indexOf(searchString);startPos>-1;){var endPos=string.indexOf("}",startPos);if(-1==endPos){console.error("ModelList session parsing malformed for string");break}var key=string.substring(startPos+1,endPos);string=string.slice(0,startPos)+scope.modelData[key]+string.slice(endPos+1),startPos=string.indexOf(searchString)}}catch(a){console.error(a)}return string}scope.selected={},scope.selected.item=null,scope.list=[],scope.selectedList=[],scope.sortableOptions={placeholder:"sortable-placeholder",disabled:scope.disabled},scope.refreshChoices=function(a){var b=Config.serverParams.models[scope.options.model],c={"filter[limit]":100};if(c["filter[where]["+scope.options.searchField+"][like]"]="%"+a+"%",scope.options.where){var d=Object.keys(scope.options.where);for(var e in d){var f=d[e];c["filter[where]["+f+"]"]=replaceSessionVariables(scope.options.where[f])}}if(scope.options.filters){var d=Object.keys(scope.options.filters);for(var e in d){var f=d[e];c[f]=replaceSessionVariables(scope.options.filters[f])}}var g=b.plural;scope.options.api&&(g=replaceSessionVariables(scope.options.api)),GeneralModelService.list(g,c).then(function(a){if(a){scope.list=a;for(var b in scope.selectedList){var c=scope.selectedList[b],d={};d[scope.options.key]=c[scope.options.key];var e=_.find(scope.list,d);e&&scope.list.splice(scope.list.indexOf(e),1)}if(scope.options.allowInsert){var f={};f[scope.options.searchField]=scope.options.insertText?scope.options.insertText:"[Add New Item]",scope.list.push(f)}"number"==typeof scope.options.defaultIndex&&a[scope.options.defaultIndex]&&scope.onSelect(a[scope.options.defaultIndex])}})};var unwatch=scope.$watchCollection("[data, options, modelData]",function(a){scope.data&&scope.options&&scope.options.model&&(unwatch(),scope.selectedList=scope.data)});scope.onSelect=function(a,b){if(scope.$emit("onModelFieldReferenceSortSelect",scope.modelData,scope.key,a),!a[scope.options.key]&&a[scope.options.searchField]){var c=element.find("input.ui-select-search").val();a[scope.options.key]=c,a[scope.options.searchField]=c}_.find(scope.selectedList,function(b){return b[scope.options.key]===a[scope.options.key]||b.name&&a.name&&b.name.toLowerCase()===a.name.toLowerCase()})||(scope.selectedList.push(a),scope.data=scope.selectedList),$timeout(function(){delete scope.selected.item})},scope.removeItem=function(a){var b=scope.selectedList[a];scope.selectedList.splice(a,1),scope.list.push(b)},element.html(getTemplate(scope.options.key,scope.options.matchTemplate,scope.options.choiceTemplate,scope.options.allowInsert)).show(),$compile(element.contents())(scope)}}}]),angular.module("dashboard.directives.ModelFieldVideo",["dashboard.services.GeneralModel"]).directive("modelFieldVideoView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ field.label }}: {{ data[field.name] }}",scope:{field:"=options",data:"=ngModel"},link:function(a,b,c){}}}]).directive("modelFieldVideoEdit",["$sce","$compile","$document","GeneralModelService","SessionService",function(a,b,c,d,e){"ngInject";return{restrict:"E",template:'
Upload a Video File
{{ uploadStatus }}
HTML5 Drop File is not supported!
',scope:{key:"=key",options:"=options",disabled:"=ngDisabled",data:"=ngModel",modelData:"=modelData"},link:function(b,d,e){var f=null;b.uploadStatus="Upload File";var g=b.$watch("data",function(c){c&&(g(),"string"==typeof c?b.videoUrl=a.trustAsResourceUrl(c):"object"==typeof c&&(c.fileUrl&&(b.videoUrl=a.trustAsResourceUrl(c.fileUrl)),c.videoUrl&&(b.videoUrl=a.trustAsResourceUrl(c.videoUrl))))}),h=new FileReader;h.onload=function(c){b.videoUrl=a.trustAsResourceUrl(c.target.result),b.$apply()},h.onerror=function(a){console.error(a)},b.clear=function(){b.data=null,delete b.videoUrl},b.onFileSelect=function(a){if(!(a.length<1)){f=a[0];var c=b.options.path;b.data={path:c,file:f},h.readAsDataURL(f)}},c.on("drop",function(a){"INPUT"!=a.target.nodeName&&a.preventDefault()}),c.on("dragover",function(a){a.preventDefault(),d.find(".image-drop").addClass("show-upload"),d.find(".input[type=file]").addClass("show-upload"),d.find(".button-menu").addClass("hide-menu")}),$(window).on("mouseleave",function(){d.find(".image-drop").removeClass("show-upload"),d.find(".input[type=file]").removeClass("show-upload"),d.find(".button-menu").removeClass("hide-menu")}),b.$on("$destroy",function(){c.off("drop"),c.off("dragover"),$(window).off("mouseleave")})}}}]),angular.module("dashboard.directives.ModelFieldWYSIWYG",["dashboard.Dashboard.Model.Edit.SaveDialog","dashboard.Config","ui.bootstrap","dashboard.services.GeneralModel","ui.select"]).directive("modelFieldWysiwygView",["$compile",function(a){"ngInject";return{restrict:"E",template:"{{ options.model }}: {{ data[options.key] }}",scope:{options:"=options",data:"=ngModel",required:"ngRequired",disabled:"disabled"},link:function(a,b,c){}}}]).directive("modelFieldWysiwygEdit",["$compile","$cookies","$timeout","$modal","Config","FileUploadService",function(a,b,c,d,e,f){"ngInject";function g(a){var b="";if(a.options&&a.options.fonts)for(var c=a.options.fonts,d=0;d"+c[d]+"";return'
'}return{restrict:"E",require:"ngModel",scope:{key:"=key",property:"=property",options:"=options",data:"=ngModel",modelData:"=modelData",disabled:"=ngDisabled"},link:function(b,c,e,h){function i(){var a=$(".wysiwyg-editor"),d=0;a&&a.length>0&&(d=a.length),n=angular.element(c).find(".wysiwyg-editor");var e="wysiwyg-editor-"+d,f="editor"+d+"-toolbar";n.attr("id",e);var g=angular.element(c).find(".wysiwyg-toolbar");g.attr("data-role",f),g.attr("data-target","#"+e),b.disabled||n.wysiwyg({toolbarSelector:"[data-role="+f+"]",hotKeys:{},dragAndDropImages:!1})}function j(){var a=angular.element(c).find(".font-color-picker");a&&a.spectrum({flat:!0,cancelText:"",clickoutFiresChange:!1,preferredFormat:"rgb",showInput:!0,change:function(a){$(this).closest(".dropdown").find(".color-sample").css({backgroundColor:a.toHexString()}),n.focus(),document.execCommand("foreColor",0,a.toHexString()),$(this).parent(".menu").removeClass("open")}})}function k(a){var b=$(a.currentTarget).parent().find(".menu");b.hasClass("open")?b.removeClass("open"):b.addClass("open")}function l(a){if(b.options.allowImageUpload&&0!=a.length){b.status="Uploading Image",b.progress=0;var c=d.open({templateUrl:"app/dashboard/model/edit/ModelEditSaveDialog.html",controller:"ModelEditSaveDialogCtrl",scope:b});f.uploadFile(a[0],b.options.imagePath).then(function(a){b.status="Upload Complete",document.execCommand("insertimage",0,a.fileUrl),c.close()},function(a){console.error(a),b.status="There was an error uploading the image. Please contact an Administrator."},function(a){b.progress=a})}}function m(){if(b.isEditingCode=!b.isEditingCode,b.isEditingCode){var a=n[0].innerHTML;a=html_beautify(a,{indent_size:2}),h.$setViewValue(a),o.setValue(a)}else h.$setViewValue(o.getValue()),n.html(h.$viewValue)}var n,o;!function(){b.isEditingCode=!1,b.toggleDropdown=k,b.onFileSelect=l,b.toggleCodeEdit=m,c.html(g(b)).show(),a(c.contents())(b),i(),j(),o=ace.edit(c.find(".code-editor")[0]),o.getSession().setMode("ace/mode/html"),$(c).find(".wysiwyg-toolbar [data-role=magic-overlay]").each(function(){var a=$(this);$(a.data("target")),a.css({opacity:0,position:"absolute",width:"40px",height:"34px",top:"0",left:"0"})}),h.$render=function(){n.html(h.$viewValue||"")},n.bind("blur keyup change",function(){b.$apply(function(){h.$setViewValue(n.html())})}),o.on("blur",function(){h.$setViewValue(o.getValue()),n.html(h.$viewValue)})}()}}}]),angular.module("dashboard.directive.AutoSize",[]).directive("autoSize",["$timeout","$window",function(a,b){return{restrict:"A",link:function(c,d,e){function f(){d.css({height:"auto","overflow-y":"hidden"}),d.css("height",d[0].scrollHeight+"px")}c.minTextAreaHeight=150,d.css({height:"auto","overflow-y":"hidden"}),a(function(){var a=d[0].scrollHeight,b=Math.max(a,c.minTextAreaHeight);d.css("height",b+"px")},100),d.on("input",f),d.on("load",f),angular.element(b).bind("resize",f)}}}]),angular.module("dashboard.filters",[]).filter("decimalWithScale",function(){"ngInject";return function(a,b){if(void 0===a||""===a)return"";value=a+"";var c=value.indexOf(".");-1===c?value+=".0":1===c&&"-"===value.charAt(0)?value=value.slice(0,1)+"0"+value.slice(1):0===c&&(value="0"+value);var d=value.split(".");if(d.length>1){if(d[0]&&0!==d[0].length||(d[0]=0),isNaN(parseInt(d[0])))return NaN;if(1===c&&"-"===value.charAt(0)?value="-"+parseInt(d[0])+".":value=parseInt(d[0])+".",null!==d[1].match(/[\D]/))return NaN;if(d[1].length>b?value+=d[1].substring(0,b):value+=d[1],d[1].length0){var f=this.restrictMenuItems(e.subnav);if(f&&(e.subnav=f,null!==e.defaultSubNavIndex&&void 0!==e.defaultSubNavIndex&&e.subnav[e.defaultSubNavIndex]&&e.subnav[e.defaultSubNavIndex].hidden))for(var g in e.subnav){var h=e.subnav[g];if(c.hasAccess(d,h)&&!h.hidden){e.defaultSubNavIndex=parseInt(g);break}}}}else e.hidden=!0}return a},this.hasAccess=function(a,b){if(!(b.hasOwnProperty("roles")&&b.roles instanceof Array))return!0;for(var c in a)if(b.roles.indexOf(a[c].name)>-1)return!0;return!1}}]),angular.module("dashboard.services.FileUpload",["dashboard.Config","dashboard.Utils","ngCookies","angularFileUpload"]).service("FileUploadService",["$cookies","$q","$upload","Config","Utils",function(a,b,c,d,e){"ngInject";var f=this;this.getS3Credentials=function(b,c){var f={access_token:a.get("accessToken"),path:b,fileType:c,r:(new Date).getTime()};return e.apiHelper("GET",d.serverParams.cmsBaseUrl+"/aws/s3/credentials",f)},this.getFileUploadData=function(a){return{key:a.uniqueFilePath,AWSAccessKeyId:a.AWSAccessKeyId,acl:"public-read",policy:a.policy,signature:a.signature,success_action_status:"201","Cache-Control":"max-age=31536000"}},this.uploadFile=function(a,d){("string"==typeof a||a instanceof String&&0==a.indexOf("data:"))&&(a=f.dataURItoBlob(a));var e="";a.type?e=a.type:a.name&&(e=f.detectMimeTypeByExt(a.name));var g=b.defer();return f.getS3Credentials(d,e||"").then(function(b){c.upload({url:b.uploadUrl,method:"POST",data:f.getFileUploadData(b),file:a}).progress(function(b){var c=b.position/a.size;g.notify(c)}).success(function(b){var c,d=(new DOMParser).parseFromString(b,"text/xml");try{var e=d.evaluate("/PostResponse/Location",d,null,XPathResult.STRING_TYPE,null);c=e.stringValue}catch(a){for(var f=d.documentElement.childNodes,h=0;h0)return d++,e=0,void f.uploadImages(a,d,e,h,i);l=r}else{var s=Object.keys(r);if(e>=s.length)return d++,e=0,void f.uploadImages(a,d,e,h,i);k=s[e],r[k]&&r[k].file?(g=r[k].path,l=r[k].file):l=r[k]}h||(h={});for(var o=0;o=0?atob(a.split(",")[1]):unescape(a.split(",")[1]);for(var c=a.split(",")[0].split(":")[1].split(";")[0],d=new Uint8Array(b.length),e=0;e0){var b=a.split(".").pop();if(b.length>0){return{"3dm":"x-world/x-3dmf","3dmf":"x-world/x-3dmf",a:"application/octet-stream",aab:"application/x-authorware-bin",aam:"application/x-authorware-map",aas:"application/x-authorware-seg",abc:"text/vnd.abc",acgi:"text/html",afl:"video/animaflex",ai:"application/postscript",aif:"audio/aiff",aifc:"audio/aiff",aiff:"audio/aiff",aim:"application/x-aim",aip:"text/x-audiosoft-intra",ani:"application/x-navi-animation",aos:"application/x-nokia-9000-communicator-add-on-software",aps:"application/mime",arc:"application/octet-stream",arj:"application/arj",art:"image/x-jg",asf:"video/x-ms-asf",asm:"text/x-asm",asp:"text/asp",asx:"application/x-mplayer2",au:"audio/basic",avi:"application/x-troff-msvideo",avs:"video/avs-video",bcpio:"application/x-bcpio",bin:"application/mac-binary",bm:"image/bmp",bmp:"image/bmp",boo:"application/book",book:"application/book",boz:"application/x-bzip2",bsh:"application/x-bsh",bz:"application/x-bzip",bz2:"application/x-bzip2",c:"text/plain","c++":"text/plain",cat:"application/vnd.ms-pki.seccat",cc:"text/plain",ccad:"application/clariscad",cco:"application/x-cocoa",cdf:"application/cdf",cer:"application/pkix-cert",cha:"application/x-chat",chat:"application/x-chat",class:"application/java",com:"application/octet-stream",conf:"text/plain",cpio:"application/x-cpio",cpp:"text/x-c",cpt:"application/mac-compactpro",crl:"application/pkcs-crl",crt:"application/pkix-cert",csh:"application/x-csh",css:"application/x-pointplus",cxx:"text/plain",dcr:"application/x-director",deepv:"application/x-deepv",def:"text/plain",der:"application/x-x509-ca-cert",dif:"video/x-dv",dir:"application/x-director",dl:"video/dl",doc:"application/msword",dot:"application/msword",dp:"application/commonground",drw:"application/drafting",dump:"application/octet-stream",dv:"video/x-dv",dvi:"application/x-dvi",dwf:"drawing/x-dwf (old)",dwg:"application/acad",dxf:"application/dxf",dxr:"application/x-director",el:"text/x-script.elisp",elc:"application/x-bytecode.elisp (compiled elisp)",env:"application/x-envoy",eps:"application/postscript",es:"application/x-esrehber",etx:"text/x-setext",evy:"application/envoy",exe:"application/octet-stream",f:"text/plain",f77:"text/x-fortran",f90:"text/plain",fdf:"application/vnd.fdf",fif:"application/fractals",fli:"video/fli",flo:"image/florian",flx:"text/vnd.fmi.flexstor",fmf:"video/x-atomic3d-feature",for:"text/plain",fpx:"image/vnd.fpx",frl:"application/freeloader",funk:"audio/make",g:"text/plain",g3:"image/g3fax",gif:"image/gif",gl:"video/gl",gsd:"audio/x-gsm",gsm:"audio/x-gsm",gsp:"application/x-gsp",gss:"application/x-gss",gtar:"application/x-gtar",gz:"application/x-compressed",gzip:"application/x-gzip",h:"text/plain",hdf:"application/x-hdf",help:"application/x-helpfile",hgl:"application/vnd.hp-hpgl",hh:"text/plain",hlb:"text/x-script",hlp:"application/hlp",hpg:"application/vnd.hp-hpgl",hpgl:"application/vnd.hp-hpgl",hqx:"application/binhex",hta:"application/hta",htc:"text/x-component",htm:"text/html",html:"text/html",htmls:"text/html",htt:"text/webviewhtml",htx:"text/html",ice:"x-conference/x-cooltalk",ico:"image/x-icon",idc:"text/plain",ief:"image/ief",iefs:"image/ief",iges:"application/iges",igs:"application/iges",ima:"application/x-ima",imap:"application/x-httpd-imap",inf:"application/inf",ins:"application/x-internett-signup",ip:"application/x-ip2",isu:"video/x-isvideo",it:"audio/it",iv:"application/x-inventor",ivr:"i-world/i-vrml",ivy:"application/x-livescreen",jam:"audio/x-jam",jav:"text/plain",java:"text/plain",jcm:"application/x-java-commerce",jfif:"image/jpeg","jfif-tbnl":"image/jpeg",jpe:"image/jpeg",jpeg:"image/jpeg",jpg:"image/jpeg",jps:"image/x-jps",js:"application/x-javascript",jut:"image/jutvision",kar:"audio/midi",ksh:"application/x-ksh",la:"audio/nspaudio",lam:"audio/x-liveaudio",latex:"application/x-latex",lha:"application/lha",lhx:"application/octet-stream",list:"text/plain",lma:"audio/nspaudio",log:"text/plain",lsp:"application/x-lisp",lst:"text/plain",lsx:"text/x-la-asf",ltx:"application/x-latex",lzh:"application/octet-stream",lzx:"application/lzx",m:"text/plain",m1v:"video/mpeg",m2a:"audio/mpeg",m2v:"video/mpeg",m3u:"audio/x-mpequrl",man:"application/x-troff-man",map:"application/x-navimap",mar:"text/plain",mbd:"application/mbedlet",mc$:"application/x-magic-cap-package-1.0",mcd:"application/mcad",mcf:"image/vasa",mcp:"application/netmc",me:"application/x-troff-me",mht:"message/rfc822",mhtml:"message/rfc822",mid:"application/x-midi",midi:"application/x-midi",mif:"application/x-frame",mime:"message/rfc822",mjf:"audio/x-vnd.audioexplosion.mjuicemediafile",mjpg:"video/x-motion-jpeg",mm:"application/base64",mme:"application/base64",mod:"audio/mod",moov:"video/quicktime",mov:"video/quicktime",movie:"video/x-sgi-movie",mp2:"audio/mpeg",mp3:"audio/mpeg3",mpa:"audio/mpeg",mpc:"application/x-project",mpe:"video/mpeg",mpeg:"video/mpeg",mpg:"audio/mpeg",mpga:"audio/mpeg",mpp:"application/vnd.ms-project",mpt:"application/x-project",mpv:"application/x-project",mpx:"application/x-project",mrc:"application/marc",ms:"application/x-troff-ms",mv:"video/x-sgi-movie",my:"audio/make",mzz:"application/x-vnd.audioexplosion.mzz",nap:"image/naplps",naplps:"image/naplps",nc:"application/x-netcdf",ncm:"application/vnd.nokia.configuration-message",nif:"image/x-niff",niff:"image/x-niff",nix:"application/x-mix-transfer",nsc:"application/x-conference",nvd:"application/x-navidoc",o:"application/octet-stream",oda:"application/oda",omc:"application/x-omc",omcd:"application/x-omcdatamaker",omcr:"application/x-omcregerator",p:"text/x-pascal",p10:"application/pkcs10",p12:"application/pkcs-12",p7a:"application/x-pkcs7-signature",p7c:"application/pkcs7-mime",p7m:"application/pkcs7-mime",p7r:"application/x-pkcs7-certreqresp",p7s:"application/pkcs7-signature",part:"application/pro_eng",pas:"text/pascal",pbm:"image/x-portable-bitmap",pcl:"application/vnd.hp-pcl",pct:"image/x-pict",pcx:"image/x-pcx",pdb:"chemical/x-pdb",pdf:"application/pdf",pfunk:"audio/make",pgm:"image/x-portable-graymap",pic:"image/pict",pict:"image/pict",pkg:"application/x-newton-compatible-pkg",pko:"application/vnd.ms-pki.pko",pl:"text/plain",plx:"application/x-pixclscript",pm:"image/x-xpixmap",pm4:"application/x-pagemaker",pm5:"application/x-pagemaker",png:"image/png",pnm:"application/x-portable-anymap",pot:"application/mspowerpoint",pov:"model/x-pov",ppa:"application/vnd.ms-powerpoint",ppm:"image/x-portable-pixmap",pps:"application/mspowerpoint",ppt:"application/mspowerpoint",ppz:"application/mspowerpoint",pre:"application/x-freelance",prt:"application/pro_eng",ps:"application/postscript",psd:"application/octet-stream",pvu:"paleovu/x-pv",pwz:"application/vnd.ms-powerpoint",py:"text/x-script.phyton",pyc:"application/x-bytecode.python",qcp:"audio/vnd.qcelp",qd3:"x-world/x-3dmf",qd3d:"x-world/x-3dmf",qif:"image/x-quicktime",qt:"video/quicktime",qtc:"video/x-qtc",qti:"image/x-quicktime",qtif:"image/x-quicktime",ra:"audio/x-pn-realaudio",ram:"audio/x-pn-realaudio",ras:"application/x-cmu-raster",rast:"image/cmu-raster",rexx:"text/x-script.rexx",rf:"image/vnd.rn-realflash",rgb:"image/x-rgb",rm:"application/vnd.rn-realmedia",rmi:"audio/mid",rmm:"audio/x-pn-realaudio",rmp:"audio/x-pn-realaudio",rng:"application/ringing-tones",rnx:"application/vnd.rn-realplayer",roff:"application/x-troff",rp:"image/vnd.rn-realpix",rpm:"audio/x-pn-realaudio-plugin",rt:"text/richtext",rtf:"application/rtf",rtx:"application/rtf",rv:"video/vnd.rn-realvideo",s:"text/x-asm",s3m:"audio/s3m",saveme:"application/octet-stream",sbk:"application/x-tbook",scm:"application/x-lotusscreencam",sdml:"text/plain",sdp:"application/sdp",sdr:"application/sounder",sea:"application/sea",set:"application/set",sgm:"text/sgml",sgml:"text/sgml",sh:"application/x-bsh",shar:"application/x-bsh",shtml:"text/html",sid:"audio/x-psid",sit:"application/x-sit",skd:"application/x-koan",skm:"application/x-koan",skp:"application/x-koan",skt:"application/x-koan",sl:"application/x-seelogo",smi:"application/smil",smil:"application/smil",snd:"audio/basic",sol:"application/solids",spc:"application/x-pkcs7-certificates",spl:"application/futuresplash",spr:"application/x-sprite",sprite:"application/x-sprite",src:"application/x-wais-source",ssi:"text/x-server-parsed-html",ssm:"application/streamingmedia",sst:"application/vnd.ms-pki.certstore",step:"application/step",stl:"application/sla",stp:"application/step",sv4cpio:"application/x-sv4cpio",sv4crc:"application/x-sv4crc",svf:"image/vnd.dwg",svr:"application/x-world",swf:"application/x-shockwave-flash",t:"application/x-troff",talk:"text/x-speech",tar:"application/x-tar",tbk:"application/toolbook",tcl:"application/x-tcl",tcsh:"text/x-script.tcsh",tex:"application/x-tex",texi:"application/x-texinfo",texinfo:"application/x-texinfo",text:"application/plain",tgz:"application/gnutar",tif:"image/tiff",tiff:"image/tiff",tr:"application/x-troff",tsi:"audio/tsp-audio",tsp:"application/dsptype",tsv:"text/tab-separated-values",turbot:"image/florian",txt:"text/plain",uil:"text/x-uil",uni:"text/uri-list",unis:"text/uri-list",unv:"application/i-deas",uri:"text/uri-list",uris:"text/uri-list",ustar:"application/x-ustar",uu:"application/octet-stream",uue:"text/x-uuencode",vcd:"application/x-cdlink",vcs:"text/x-vcalendar",vda:"application/vda",vdo:"video/vdo",vew:"application/groupwise",viv:"video/vivo",vivo:"video/vivo",vmd:"application/vocaltec-media-desc",vmf:"application/vocaltec-media-file",voc:"audio/voc",vos:"video/vosaic",vox:"audio/voxware",vqe:"audio/x-twinvq-plugin",vqf:"audio/x-twinvq",vql:"audio/x-twinvq-plugin",vrml:"application/x-vrml",vrt:"x-world/x-vrt",vsd:"application/x-visio",vst:"application/x-visio",vsw:"application/x-visio",w60:"application/wordperfect6.0",w61:"application/wordperfect6.1",w6w:"application/msword",wav:"audio/wav",wb1:"application/x-qpro",wbmp:"image/vnd.wap.wbmp",web:"application/vnd.xara",wiz:"application/msword",wk1:"application/x-123",wmf:"windows/metafile",wml:"text/vnd.wap.wml",wmlc:"application/vnd.wap.wmlc",wmls:"text/vnd.wap.wmlscript",wmlsc:"application/vnd.wap.wmlscriptc",word:"application/msword",wp:"application/wordperfect",wp5:"application/wordperfect",wp6:"application/wordperfect",wpd:"application/wordperfect",wq1:"application/x-lotus",wri:"application/mswrite",wrl:"application/x-world",wrz:"model/vrml",wsc:"text/scriplet",wsrc:"application/x-wais-source",wtk:"application/x-wintalk",xbm:"image/x-xbitmap",xdr:"video/x-amt-demorun",xgz:"xgl/drawing",xif:"image/vnd.xiff",xl:"application/excel",xla:"application/excel",xlb:"application/excel",xlc:"application/excel",xld:"application/excel",xlk:"application/excel",xll:"application/excel",xlm:"application/excel",xls:"application/excel",xlt:"application/excel",xlv:"application/excel",xlw:"application/excel",xm:"audio/xm",xml:"application/xml",xmz:"xgl/movie",xpix:"application/x-vnd.ls-xpix",xpm:"image/x-xpixmap","x-png":"image/png",xsr:"video/x-amt-showrun",xwd:"image/x-xwd",xyz:"chemical/x-pdb",z:"application/x-compress",zip:"application/x-compressed",zoo:"application/octet-stream",zsh:"text/x-script.zsh"}[b]}}return""}}]),angular.module("dashboard.services.GeneralModel",["dashboard.services.FileUpload","dashboard.Config","dashboard.Utils","ngCookies"]).service("GeneralModelService",["$cookies","$q","Config","Utils","FileUploadService",function($cookies,$q,Config,Utils,FileUploadService){"ngInject";var self=this;this.list=function(a,b,c){var a=a+(a.indexOf("?")>-1?"&":"?")+"access_token="+$cookies.get("accessToken");return c&&c.preventCancel||Utils.apiCancel("GET",a),Utils.apiHelper("GET",a,b)},this.count=function(a,b){a.indexOf("?")>-1&&(a=a.substr(0,a.indexOf("?")));var c=Object.keys(b);for(var d in c){var e=c[d];e.indexOf("filter[where]")>-1?(newKey=e.replace("filter[where]","where"),b[newKey]=b[e]):"filter"==e&&(b.where=b.filter.where)}return a=a+"/count?access_token="+$cookies.get("accessToken"),Utils.apiCancel("GET",a),Utils.apiHelper("GET",a,b)},this.get=function(a,b,c){var d=a+"/"+b+"?access_token="+$cookies.get("accessToken");return Utils.apiHelper("GET",d,c)},this.getMany=function(a,b,c,d,e){var f=a+"/"+b+"/"+c,g=f+"?access_token="+$cookies.get("accessToken");return e&&e.preventCancel||Utils.apiCancel("GET",g),Utils.apiHelper("GET",g,d)},this.sort=function(a,b,c,d){var e=Config.serverParams.cmsBaseUrl+"/model/sort?access_token="+$cookies.accessToken,f={model:a,key:b,sortField:c,sortData:d};return Utils.apiHelper("POST",e,f)},this.remove=function(a,b){var c=a;return b&&(c=c+"/"+b),c+="?access_token="+$cookies.get("accessToken"),Utils.apiHelper("DELETE",c,{})},this.post=function(a,b){var c=a+"?access_token="+$cookies.get("accessToken");return Utils.apiHelper("POST",c,b)},this.save=function(a,b,c){var d=Config.serverParams.cmsBaseUrl+"/model/save";return c.__model=a,c.__id=b,c.__accessToken=$cookies.get("accessToken"),Utils.apiHelper("PUT",d,c)},this.saveWithFiles=function(a,b,c){var d=Config.serverParams.models[a],e=$q.defer(),f=function(a){var b=0,d=Object.keys(c),f=function(){if(b>=d.length)return void a();var g=d[b],h=c[g];h&&"object"==typeof h&&h.file?(e.notify({message:"Uploading file: "+h.file.name,translate:"cms.status.uploading_file",params:{file:h.file.name},progress:0}),FileUploadService.uploadFile(h.file,h.path).then(function(a){c[g]=a.fileUrl,b++,f()},function(a){"object"==typeof a&&a.error?e.reject({message:"The file being uploaded is not an accepted file type for this form",translate:"cms.error.file_upload.not_accepted"}):e.reject(a)},function(a){e.notify({progress:a})})):(b++,f())};f()};return function(a){c.__ModelFieldImageData?(e.notify({message:"Uploading image file(s)",progress:0,translate:"cms.status.uploading_image_files"}),FileUploadService.uploadImages(c.__ModelFieldImageData).then(function(b){self.assignImageFileMetaData(d,c,b),e.notify({message:"Saving...",progress:0,translate:"cms.status.saving"}),a()},function(a){console.log(a),e.reject(a)},function(a){e.notify({progress:a})})):a()}(function(){f(function(){self.checkDefaultValues(d,c),self.save(a,b,c).then(function(a){e.resolve(a)},function(a){e.reject(a)})})}),e.promise},this.assignImageFileMetaData=function(a,b,c){var d=Object.keys(c);for(var e in d){var f=d[e],g=a.properties[f],h=g.display.options;if(h&&h.model&&h.relationship){b[h.relationship]||(b[h.relationship]={});var i=b[h.relationship];b[f]&&(i[h.key]=b[f]),i[h.urlKey]=c[f][h.urlKey];var j=Object.keys(h.export);for(var k in j){var l=j[k];i[l]=c[f][l]}if(b.__ModelFieldImageData[f]&&b.__ModelFieldImageData[f][h.urlKey]){var m=b.__ModelFieldImageData[f][h.urlKey],n=m?m.file:{};i.filename=n.name}else i.filename="unknown";if(h.meta){var o=Object.keys(h.meta);for(var p in o){var q=o[p];i[q]=h.meta[q]}}}else b[f]=c[f]}delete b.__ModelFieldImageData},this.checkDefaultValues=function(modelDef,data){var keys=Object.keys(modelDef.properties);for(var i in keys){var key=keys[i],property=modelDef.properties[key];property&&property.display&&(void 0===data[key]||null==data[key]||property.display.forceDefaultOnSave)&&(void 0!==property.default&&(data[key]=property.default),void 0!==property.display.evalDefault&&(data[key]=eval(property.display.evalDefault)))}},this.queryStringParamsToJSON=function(a){var b={};return _.forEach(a,function(a,c){b=_.set(b,c,a)}),b},this.validateRequiredFields=function(a,b){var c=a.display.filter(function(c){if("string"==typeof c){var d=a.properties[c];return d&&d.required&&!b[c]}return"object"==typeof c&&(c.required&&c.options&&c.options.relationship&&_.isEmpty(b[c.options.relationship]))});return _.isEmpty(c)}}]),angular.module("dashboard.services.Image",[]).service("ImageService",["$q",function(a){"ngInject";var b=this;this.resize=function(a,c,d){b.loadImageURI(a,function(a,e){if(a)return d(a);EXIF.getData(e,function(a){var f=document.createElement("canvas"),g=f.getContext("2d"),h=EXIF.getTag(this,"Orientation");c||(c={});var i=c.width?c.width:e.width,j=c.height?c.height:e.height;switch(c.aspect?c.aspect:"fit"){case"stretch":f.width=i,f.height=j;break;case"fill":f.width=i,f.height=j;var k=Math.max(i/e.width,j/e.height);i=e.width*k,j=e.height*k;break;case"fit":default:var k=Math.min(i/e.width,j/e.height);k>1&&(k=1),i=e.width*k,j=e.height*k,f.width=i,f.height=j}g.save(),b.setOrientation(f,g,i,j,h),g.drawImage(e,0,0,i,j),g.restore();var l=f.toDataURL("image/jpeg",.8);d(null,l)})})},this.fixOrientationWithDataURI=function(a,c){b.resize(a,{},c)},this.setOrientation=function(a,b,c,d,e){switch(e){case 2:b.translate(c,0),b.scale(-1,1);break;case 3:b.translate(c,d),b.rotate(Math.PI);break;case 4:b.translate(0,d),b.scale(1,-1);break;case 5:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.scale(1,-1);break;case 6:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.translate(0,-d);break;case 7:a.width=d,a.height=c,b.rotate(.5*Math.PI),b.translate(c,-d),b.scale(-1,1);break;case 8:a.width=d,a.height=c,b.rotate(-.5*Math.PI),b.translate(-c,0)}},this.loadImageURI=function(a,b){var c=new Image;c.onload=function(){b(null,c)},c.onerror=function(a){b(a)},c.src=a}}]),angular.module("dashboard.services.Location",["dashboard.Config","dashboard.Utils"]).service("LocationService",["Config","Utils","$q","$rootScope",function(a,b,c,d){"ngInject";var e=c.defer();this.currentLocation=function(){return navigator.geolocation?navigator.geolocation.getCurrentPosition(function(a){d.$apply(function(){e.resolve(a.coords)})},function(a){e.reject(a)}):e.reject("location services not allowed"),e.promise}}]),angular.module("dashboard.services.Session",["dashboard.Utils","dashboard.services.User","ngCookies"]).service("SessionService",["$cookies","$cookieStore","$q","UserService","Config","Utils","DashboardService",function(a,b,c,d,e,f,g){"ngInject";var h=this,i=null;this.logIn=function(b,d,e){var g="Users";return config.authModel&&(g=config.authModel),f.apiHelper("POST",g+"/login?include=user",{email:b,password:d,options:e}).then(function(a){return h.setSession(a)}).catch(function(){return a.put("session",null),c.reject(arguments)})},this.logOut=function(){var c="Users";config.authModel&&(c=config.authModel);var d=a.get("accessToken");return b.remove("username"),b.remove("userId"),b.remove("accessToken"),b.remove("roles"),b.remove("session"),b.remove("lastActive"),f.apiHelper("POST",c+"/logout?access_token="+d)},this.setSession=function(b){var d="Users";return config.authModel&&(d=config.authModel),f.apiHelper("GET",d+"/"+b.userId+"/Roles?access_token="+b.id).then(function(c){return a.put("lastActive",new Date),i=b,a.put("username",b.user.username),a.put("userId",b.userId),a.put("accessToken",b.id),a.put("session",JSON.stringify(i)),a.put("roles",JSON.stringify(c)),b}).catch(function(){return a.put("session",null),c.reject(arguments)})},this.getAuthToken=function(){return i&&i.id},this.put=function(b,c){var d=JSON.parse(a.get("session"));d[b]=c,a.put("session",JSON.stringify(d))},this.get=function(b){return JSON.parse(a.get("session"))[b]},this.isAuthorized=function(b,c){if(_.startsWith(b.name,"public"))return!0;var d=g.getNavigation(),e=b.name,f=c.model,h=c.action,i=angular.fromJson(a.get("roles"));if(_.isEmpty(f)){var j=_.find(d,{state:e});if(j)return g.hasAccess(i,j)}else{var j=_.find(d,{path:f});if(j){if(!g.hasAccess(i,j))return!1;if(_.isArray(j.subnav)&&!_.isEmpty(h)){var k=_.find(j.subnav,{label:h});if(k)return g.hasAccess(i,k)}}}var l=b.data.roles;return!(!_.isEmpty(l)&&_.isArray(l))||g.hasAccess(i,{roles:l})},function(){var b=a.get("session");b&&(i=JSON.parse(b))}()}]),angular.module("dashboard.services.Settings",["dashboard.Config","dashboard.Utils","ngCookies"]).service("SettingsService",["$cookies","Config","Utils",function(a,b,c){"ngInject";this.saveNav=function(d){var e=b.serverParams.cmsBaseUrl+"/settings/config/nav?access_token="+a.get("accessToken");return c.apiHelper("POST",e,d)}}]),angular.module("dashboard.services.User",["dashboard.Config","dashboard.Utils"]).service("UserService",["Config","Utils","$q","$rootScope",function(a,b,c,d){"ngInject";this.register=function(a,c){var d="Users";return config.authModel&&(d=config.authModel),b.apiHelper("POST",d,{email:a,password:c})}}]),angular.module("dashboard.Utils",["dashboard.Config"]).service("Utils",["Config","$http","$q",function(a,b,c){"ngInject";var d={};this.apiCancel=function(a,b){var c=d[a+":"+b];c&&c.resolve&&c.resolve(),delete d[a+":"+b]},this.apiHelper=function(e,f,g,h){var i=c.defer();return h=h||{},h.method=e,"/"==f[0]?h.url=f:(a.apiBaseUrl&&"/"!=a.apiBaseUrl[a.apiBaseUrl.length-1]&&"/"!=f[f.length-1]&&(a.apiBaseUrl+="/"),h.url=a.apiBaseUrl+f),"POST"==e||"PUT"==e?h.data=g:h.params=g,d[e+":"+f]=i,h.timeout=i.promise,b(h).then(function(a){i.resolve(a.data)},function(a){i.reject(a.data)}),i.promise}}]),$.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},window,window.angular; //# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/dist/app.js.map b/dist/app.js.map index c01b4961..e03ce64d 100644 --- a/dist/app.js.map +++ b/dist/app.js.map @@ -1 +1 @@ -{"version":3,"sources":["app.js"],"names":["angular","module","config","$locationProvider","$stateProvider","$urlRouterProvider","$compileProvider","$qProvider","$translateProvider","Config","aHrefSanitizationWhitelist","otherwise","serverParams","disableRegistration","when","html5Mode","useSanitizeValueStrategy","translateUrl","useUrlLoader","defaultLanguage","fallbackLanguage","state","abstract","template","url","data","pageTitle","deferIntercept","run","$ocLazyLoad","$rootScope","$urlRouter","$injector","$translate","use","refresh","modulesLoaded","customModules","load","then","$broadcast","Array","isArray","injectOnStart","forEach","get","error","console","log","$on","e","sync","listener","constant","TIMEOUT_INTERVAL","PUBLIC_STATE","LOGIN_STATE","controller","$scope","$location","$state","$timeout","$document","$cookies","SessionService","CacheService","constants","gaTrackingId","ga","event","toState","toParams","fromState","fromParams","toStateName","name","substr","indexOf","getAuthToken","desiredState","params","set","loginState","go","preventDefault","isAuthorized","isDefined","logOut","reset","result","catch","lastPersistDate","Date","persistSession","cancel","persistId","current","checkTimeout","put","timeoutId","lastActiveDate","sessionTimeout","host","on","$modalInstance","closeAlert","close","okAlert","okHandler","cancelAlert","cancelHandler","isConfirm","alertType","templateUrl","$stateParams","$modal","DashboardService","self","this","init","toggleSideMenu","hideSideMenu","editProfile","logout","locationPath","path","username","email","userId","userInfo","JSON","parse","user","roles","title","nav","getNavigation","defaultNav","getDefaultNav","copy","route","$watch","modalInstance","$dashboard","$","hasClass","removeClass","addClass","$event","action","options","model","profileModel","key","profileKey","id","hideDelete","open","size","scope","section","_","find","subnav","label","SettingsService","clickSave","keys","save","delete","confirmMessage","defaults","$window","$filter","GeneralModelService","FileUploadService","modelEditConstants","layoutModelDisplay","modelDisplay","display","length","Object","properties","i","push","$emit","callback","saveWithFiles","response","displayError","displayStatus","isPlainObject","translate","msg","instant","message","alert","code","toJson","status","statusMsg","progress","clickSaveModel","clear","returnAfterEdit","history","back","clickDeleteModel","formParams","deleteDialogText","confirm","softDeleteProperty","remove","plural","stringify","hasPermission","displayInfo","property","askIf","userRoles","role","page","models","readonly","languageCode","locale","type","toLowerCase","isLoading","checkDefaultValues","isEdit","translated","saveButtonText","deleteButtonText","transId","$watchCollection","newData","oldData","newValue","oldValue","hasOwnProperty","isEqual","statusLabel","ModelListCtrl","moment","columnCount","list","selected","columns","listTemplateUrl","totalServerItems","isEditing","searchFields","sort","sortInfo","fields","directions","filterOptions","filterText","useExternalFilter","pagingOptions","pageSizes","pageSize","currentPage","gridOptions","enableColumnResize","enableRowSelection","multiSelect","enablePaging","useExternalSorting","showSelectionCheckbox","showFooter","showFilter","headerRowHeight","footerRowHeight","selectedItems","rowHeight","gridContainerTopMargin","chart","gridContainerTopMarginMax","height","processChart","window","ngGrid","i18n","ngTotalItemsLabel","ngPageSizeLabel","getColumnDefinition","columnDefs","editable","enableCellEdit","enableCellEditOnFocus","enableCellSelection","api","apiPath","origApiPath","addQueryStringParams","getTotalServerItems","$grid","element","bind","processWindowSize","startEdit","resetPaging","test","navigator","userAgent","flexibleHeight","plugins","ngGridFlexibleHeightPlugin","allowCSVExport","ngGridCsvExportPlugin","strings","cancelButtonText","cancelButton","saveButton","columnRef","column","isRoleFound","r","splice","windowWidth","innerWidth","averageColumnWidth","filter","optional","queryStringParams","search","replace","session","searchString","startPos","endPos","sessionKey","substring","slice","eval","filterDescription","parseInt","extend","warn","setupPagination","limit","skip","order","field","direction","filter[limit]","filter[skip]","sortOrder","filter[order]","queryStringParamsToJSON","where","and","v","k","item","orFilter","or","idx","searchFilter","vAxis","hAxis","textStyle","gridlines","fontSize","color","baselineColor","oldList","endEdit","undefined","loadItems","isFirstLoad","count","errorMessage","cacheKey","getKeyForAction","resultField","loadAttempted","hasButtonPermission","button","clickListButton","click","value","lastIndexOf","clickAdd","clickSaveEdit","deltaList","newRow","oldRow","rowKeys","foreceDefaultOnSave","evalDefault","required","displayName","recordIndex","saveRecord","record","saveNextRecord","clickCancelEdit","deleteRowWithMessage","row","deleteRow","bypassPrompt","entity","rowIndex","newVal","oldVal","selectedState","stateName","stateModel","stateAction","stateId","toString","debounce","$apply","ngGridUnWatch","$viewport","$footerPanel","$listContainer","rebuildTimeout","rebuildGrid","$gridServices","DomUtilityService","RebuildGrid","$gridScope","handleScrollEvent","originalEvent","detail","wheelDelta","scrollY","scrollTop","clearTimeout","setTimeout","offset","top","$digest","css","bottom","position","val","encodeURIComponent","filterNav","currentNavIndex","modifiedNav","jsonEditor","alertTitle","alertMessage","allowAlertClose","getEditor","getValue","saveNav","document","getElementById","theme","iconlib","layout","startval","disable_properties","disable_edit_json","disable_delete_all","disable_delete_last","schema","format","disable_collapse","items","headerTemplate","icon","collapsed","className","enum","tite","sortField","description","width","headerClass","cellClass","cellTemplate","cellFilter","minWidth","maxWidth","sortable","resizable","defaultProperties","defaultSubNavIndex","watch","enumSource","source","JSONEditor","parent","temp","index","setValue","a","b","moveUp","from","to","moveDown","edit","onEdit","saveSort","newOrder","unshift","modalTitle","login","clickLogin","logIn","password","UserService","register","apiBaseUrl","directive","require","restrict","control","ngFormat","ngTimeZone","defaultDate","viewMode","ngViewMode","horizontal","maxDate","minDate","link","elem","attrs","ngModel","$formatters","date","tz","useCurrent","toDate","widgetPositioning","datetimepicker","show","focus","dateValue","isValid","$setViewValue","$compile","getTemplate","html","contents","ngOptions","ngRepeat","addInputAttributes","inputAttr","$input","attr","ngError","onFieldError","initFieldType","charsLeft","maxLength","lengthCheck","target","Error","errorCode","isRequired","filename","file","extension","defaultValueUsingModelKey","convertToLocalTime","check","default","editTemplate","pattern","disabled","modelData","signature","clearCanvas","canvas","_canvas","fromDataURL","image","Image","setAttribute","onload","getContext","drawImage","fileUrl","src","toDataURL","dataUrl","selectFileButtonText","clearButtonText","translationBtnKeys","unwatch","previewUrl","pos","s3Path","getFileIcon","onFileSelect","$files","selectedFile","nodeName","off","ImageService","uploadStatus","imageUrl","urlKey","thumbnailUrl","onerror","fileReader","readAsDataURL","FileReader","imageData","__ModelFieldImageData","fixOrientationWithDataURI","dataURI","dataURItoBlob","export","exportImages","resize","resizeImage","blob","isAllowed","extensions","match","join","arguments","exportKey","settings","byteString","split","atob","unescape","mimeString","ia","Uint8Array","charCodeAt","Blob","imageClick","isLightbox","isLightboxWithZoom","$container","append","scale","Math","min","background","backgroundSize","$thumbnail","$zoom","thumbnailWidth","thumbnailHeight","zoomWidth","zoomHeight","border","x","y","positionImage","offsetX","offsetY","pageX","pageY","backgroundPosition","maxScale","animate","backgroundColor","opacity","$imageContainer","addLabel","sortableOptions","placeholder","update","updateData","setData","output","addItem","removeItem","results","$q","LocationService","loadScript","deferred","defer","resolve","promise","googleMapsApiJS","createElement","getElementsByTagName","appendChild","initMap","isMapLoading","isLoaded","map","google","maps","Map","center","location","zoom","initialize","initSelectedMarker","selectedMarker","LatLng","lat","lng","setPosition","setMap","setCenter","Marker","MarkerImage","Size","Point","draggable","tooltip","addListener","geocoder","originalValue","geocodeSearch","geocodeError","showGeocode","Geocoder","allowGeocode","query","currentLocation","pointLocation","latitude","longitude","valueChanged","doGeocode","geocode","address","GeocoderStatus","OK","geometry","OVER_QUERY_LIMIT","ZERO_RESULTS","clearSearch","hasSearched","revertValue","initOptions","keyOverride","valueOverride","option","multiSelectOptions","initData","findIndex","clickMultiSelectCheckbox","selectedOption","checkNumber","cursorPosition","selection","range","createRange","moveStart","text","selectionStart","indexOfDecimal","valueComponents","scaleValue","validateAndParseNumbers","validity","badInput","allowDecimal","decimalString","isNaN","minValue","isFirstDecLarger","maxValue","round","roundedValue","parseFloat","dec1","dec2","dec1Components","dec2Components","areBothPositive","max","charAt","$http","googleApiKey","convertStringToGoogleTypeFormat","str","request","initQuery","jQuery","radius","places","PlacesService","textSearch","PlacesServiceStatus","createMarkers","boundaries","clearOverlays","markers","removeMarkers","createCircle","displayMarkers","listSearchResults","infowindow","searchResults","marker","markerLocation","getPosition","setContent","getClickedMarker","circle","Circle","fillOpacity","fillColor","bounds","LatLngBounds","spherical","computeDistanceBetween","displayedMarkers","fitBounds","searchError","displayedSearchResults","placeId","perviouslySavedLatLng","requestQuery","placeType","googleType","zipCode","InfoWindow","doSearch","reverseGeocode","coordinates","resultPlaceId","place_id","getAdditionPlaceInformation","checked","getSelectResultData","placeRequest","service","getDetails","place","address_components","types","short_name","phoneNumber","formatted_phone_number","formatted_address","updateInfoWindow","checkedLocation","updateSelection","selectedIdx","multiple","matchTemplate","choiceTemplate","rowData","textOutputPath","onModelChanged","appendToBody","replaceSessionVariables","string","mergeArray","fromArray","toArray","assignJunctionMeta","junctionMeta","selectedItem","isFirstTimeLoad","relationship","refreshChoices","searchField","filters","preventCancel","allowInsert","addNewItem","allowClear","defaultIndex","onSelect","sourceModel","referenceModel","sourceModelName","sourceId","sourceKey","getMany","inq","$item","newItem","textValue","obj","onRemove","trigger","repeatExpression","selectedList","insertText","$sce","videoUrl","trustAsResourceUrl","fontsList","fonts","initWysiwygEditor","instances","instanceIdx","$wysiwyg","editorId","toolbarId","$toolbar","wysiwyg","toolbarSelector","hotKeys","dragAndDropImages","initColorPicker","$colorPicker","spectrum","flat","cancelText","clickoutFiresChange","preferredFormat","showInput","change","closest","toHexString","execCommand","toggleDropdown","$element","currentTarget","allowImageUpload","uploadFile","imagePath","toggleCodeEdit","isEditingCode","htmlCode","innerHTML","html_beautify","indent_size","codeEditor","$viewValue","ace","getSession","setMode","each","overlay","left","$render","number","NaN","localeMap","aar","abk","afr","aka","alb","amh","ara","arg","arm","asm","ava","ave","aym","aze","bak","bam","baq","bel","ben","bih","bis","bod","bos","bre","bul","bur","cat","ces","cha","che","chi","chu","chv","cor","cos","cre","cym","cze","dan","deu","div","dut","dzo","ell","eng","epo","est","eus","ewe","fao","fas","fij","fin","fra","fre","fry","ful","geo","ger","gla","gle","glg","glv","gre","grn","guj","hat","hau","heb","her","hin","hmo","hrv","hun","hye","ibo","ice","ido","iii","iku","ile","ina","ind","ipk","isl","ita","jav","jpn","kal","kan","kas","kat","kau","kaz","khm","kik","kin","kir","kom","kon","kor","kua","kur","lao","lav","lim","lin","lit","ltz","lub","lug","mac","mah","mal","mao","mar","may","mkd","mlg","mlt","mon","mri","msa","mya","nau","nbl","nde","ndo","nep","nld","nno","nob","nor","nya","oci","oji","ori","orm","oss","pan","per","pli","pol","por","pus","que","roh","ron","rum","rus","sag","san","sin","slk","slo","slv","sme","smo","sna","snd","som","sot","spa","sqi","srd","srp","ssw","sun","swa","swe","tah","tam","tat","tel","tgk","tgl","tha","tib","tir","ton","tsn","tso","tuk","tur","twi","uig","ukr","urd","uzb","ven","vie","vol","wel","wln","wol","xho","yid","yor","zha","zho","zul","KEY_DELIMITER","localStorage","getItem","setItem","regex","RegExp","_roles","_nav","fromJson","isEmpty","restrictMenuItems","navList","hidden","menus","menu","hasAccess","subItems","subNavIndex","$upload","Utils","getS3Credentials","fileType","access_token","getTime","apiHelper","cmsBaseUrl","getFileUploadData","credentials","uniqueFilePath","AWSAccessKeyId","acl","policy","success_action_status","Cache-Control","String","detectMimeTypeByExt","upload","uploadUrl","method","notify","success","locationUrl","xmldoc","DOMParser","parseFromString","evaluate","XPathResult","STRING_TYPE","stringValue","documentElement","childNodes","node","firstChild","nodeValue","reject","uploadFilePath","uploadImages","imageFiles","fileIndex","exportIndex","imageUploadResults","fileKey","currentUploadedSize","totalUploadSize","imageFile","fileKeys","exports","exportKeys","fkey","ekey","ext","pop","3dm","3dmf","aab","aam","aas","abc","acgi","afl","ai","aif","aifc","aiff","aim","aip","ani","aos","aps","arc","arj","art","asf","asp","asx","au","avi","avs","bcpio","bin","bm","bmp","boo","book","boz","bsh","bz","bz2","c","c++","cc","ccad","cco","cdf","cer","chat","class","com","conf","cpio","cpp","cpt","crl","crt","csh","cxx","dcr","deepv","def","der","dif","dir","dl","doc","dot","dp","drw","dump","dv","dvi","dwf","dwg","dxf","dxr","el","elc","env","eps","es","etx","evy","exe","f","f77","f90","fdf","fif","fli","flo","flx","fmf","for","fpx","frl","funk","g","g3","gif","gl","gsd","gsm","gsp","gss","gtar","gz","gzip","h","hdf","help","hgl","hh","hlb","hlp","hpg","hpgl","hqx","hta","htc","htm","htmls","htt","htx","ico","idc","ief","iefs","iges","igs","ima","imap","inf","ins","ip","isu","it","iv","ivr","ivy","jam","java","jcm","jfif","jfif-tbnl","jpe","jpeg","jpg","jps","js","jut","kar","ksh","la","lam","latex","lha","lhx","lma","lsp","lst","lsx","ltx","lzh","lzx","m","m1v","m2a","m2v","m3u","man","mbd","mc$","mcd","mcf","mcp","me","mht","mhtml","mid","midi","mif","mime","mjf","mjpg","mm","mme","mod","moov","mov","movie","mp2","mp3","mpa","mpc","mpe","mpeg","mpg","mpga","mpp","mpt","mpv","mpx","mrc","ms","mv","my","mzz","nap","naplps","nc","ncm","nif","niff","nix","nsc","nvd","o","oda","omc","omcd","omcr","p","p10","p12","p7a","p7c","p7m","p7r","p7s","part","pas","pbm","pcl","pct","pcx","pdb","pdf","pfunk","pgm","pic","pict","pkg","pko","pl","plx","pm","pm4","pm5","png","pnm","pot","pov","ppa","ppm","pps","ppt","ppz","pre","prt","ps","psd","pvu","pwz","py","pyc","qcp","qd3","qd3d","qif","qt","qtc","qti","qtif","ra","ram","ras","rast","rexx","rf","rgb","rm","rmi","rmm","rmp","rng","rnx","roff","rp","rpm","rt","rtf","rtx","rv","s","s3m","saveme","sbk","scm","sdml","sdp","sdr","sea","sgm","sgml","sh","shar","shtml","sid","sit","skd","skm","skp","skt","sl","smi","smil","sol","spc","spl","spr","sprite","ssi","ssm","sst","step","stl","stp","sv4cpio","sv4crc","svf","svr","swf","t","talk","tar","tbk","tcl","tcsh","tex","texi","texinfo","tgz","tif","tiff","tr","tsi","tsp","tsv","turbot","txt","uil","uni","unis","unv","uri","uris","ustar","uu","uue","vcd","vcs","vda","vdo","vew","viv","vivo","vmd","vmf","voc","vos","vox","vqe","vqf","vql","vrml","vrt","vsd","vst","vsw","w60","w61","w6w","wav","wb1","wbmp","web","wiz","wk1","wmf","wml","wmlc","wmls","wmlsc","word","wp","wp5","wp6","wpd","wq1","wri","wrl","wrz","wsc","wsrc","wtk","xbm","xdr","xgz","xif","xl","xla","xlb","xlc","xld","xlk","xll","xlm","xls","xlt","xlv","xlw","xm","xml","xmz","xpix","xpm","x-png","xsr","xwd","xyz","z","zip","zoo","zsh","apiCancel","newKey","sortData","accessToken","post","__model","__id","__accessToken","modelDef","uploadFiles","nextFile","assignImageFileMetaData","fieldKey","mediaRelationshipModel","j","fileInfo","meta","metaKeys","metaKey","forceDefaultOnSave","json","validateRequiredFields","invalids","loadImageURI","EXIF","getData","exif","context","orientation","getTag","aspect","setOrientation","restore","rotate","PI","d","geolocation","getCurrentPosition","coords","$cookieStore","authModel","setSession","startsWith","found","ctrlRoles","sessionStr","apiRequests","canceller","timeout","swap","args","ret","old","style","apply"],"mappings":"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ACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPpV,IAAO,KACPqV,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACP75B,IAAO,KACP85B,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPhiC,IAAO,KACPiiC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KAC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","file":"app.js"} \ No newline at end of file +{"version":3,"sources":["app.js"],"names":["angular","module","config","$locationProvider","$stateProvider","$urlRouterProvider","$compileProvider","$qProvider","$translateProvider","Config","aHrefSanitizationWhitelist","otherwise","serverParams","disableRegistration","when","html5Mode","useSanitizeValueStrategy","translateUrl","useUrlLoader","defaultLanguage","fallbackLanguage","state","abstract","template","url","data","pageTitle","deferIntercept","run","$ocLazyLoad","$rootScope","$urlRouter","$injector","$translate","use","refresh","modulesLoaded","customModules","load","then","$broadcast","Array","isArray","injectOnStart","forEach","get","error","console","log","$on","e","sync","listener","constant","TIMEOUT_INTERVAL","PUBLIC_STATE","LOGIN_STATE","controller","$scope","$location","$state","$timeout","$document","$cookies","SessionService","CacheService","constants","gaTrackingId","ga","event","toState","toParams","fromState","fromParams","toStateName","name","substr","indexOf","getAuthToken","desiredState","params","set","loginState","go","preventDefault","isAuthorized","isDefined","logOut","reset","result","catch","lastPersistDate","Date","persistSession","cancel","persistId","current","checkTimeout","put","timeoutId","lastActiveDate","sessionTimeout","host","on","$modalInstance","closeAlert","close","okAlert","okHandler","cancelAlert","cancelHandler","isConfirm","alertType","templateUrl","$stateParams","$modal","DashboardService","self","this","init","toggleSideMenu","hideSideMenu","editProfile","logout","locationPath","path","username","email","userId","userInfo","JSON","parse","user","roles","title","nav","getNavigation","defaultNav","getDefaultNav","copy","route","$watch","modalInstance","$dashboard","$","hasClass","removeClass","addClass","$event","action","options","model","profileModel","key","profileKey","id","hideDelete","open","size","scope","section","_","find","subnav","label","SettingsService","clickSave","keys","save","delete","confirmMessage","defaults","$window","$filter","GeneralModelService","FileUploadService","modelEditConstants","layoutModelDisplay","modelDisplay","display","length","Object","properties","i","push","$emit","callback","saveWithFiles","response","displayError","displayStatus","isPlainObject","translate","msg","instant","message","alert","code","toJson","status","statusMsg","progress","clickSaveModel","clear","returnAfterEdit","history","back","clickDeleteModel","formParams","deleteDialogText","confirm","softDeleteProperty","remove","plural","stringify","hasPermission","displayInfo","property","askIf","userRoles","role","page","models","readonly","languageCode","locale","type","toLowerCase","isLoading","checkDefaultValues","isEdit","translated","saveButtonText","deleteButtonText","transId","$watchCollection","newData","oldData","newValue","oldValue","hasOwnProperty","isEqual","statusLabel","ModelListCtrl","moment","columnCount","list","selected","columns","listTemplateUrl","totalServerItems","isEditing","searchFields","sort","sortInfo","fields","directions","filterOptions","filterText","useExternalFilter","pagingOptions","pageSizes","pageSize","currentPage","gridOptions","enableColumnResize","enableRowSelection","multiSelect","enablePaging","useExternalSorting","showSelectionCheckbox","showFooter","showFilter","headerRowHeight","footerRowHeight","selectedItems","rowHeight","gridContainerTopMargin","chart","gridContainerTopMarginMax","height","processChart","window","ngGrid","i18n","ngTotalItemsLabel","ngPageSizeLabel","getColumnDefinition","columnDefs","editable","enableCellEdit","enableCellEditOnFocus","enableCellSelection","api","apiPath","origApiPath","addQueryStringParams","getTotalServerItems","$grid","element","bind","processWindowSize","startEdit","resetPaging","test","navigator","userAgent","flexibleHeight","plugins","ngGridFlexibleHeightPlugin","allowCSVExport","ngGridCsvExportPlugin","strings","cancelButtonText","cancelButton","saveButton","columnRef","column","isRoleFound","r","splice","windowWidth","innerWidth","averageColumnWidth","filter","optional","queryStringParams","search","replace","session","searchString","startPos","endPos","sessionKey","substring","slice","eval","filterDescription","parseInt","extend","warn","setupPagination","limit","skip","order","field","direction","filter[limit]","filter[skip]","sortOrder","filter[order]","queryStringParamsToJSON","where","and","v","k","item","orFilter","or","idx","searchFilter","vAxis","hAxis","textStyle","gridlines","fontSize","color","baselineColor","oldList","endEdit","undefined","loadItems","isFirstLoad","count","errorMessage","cacheKey","getKeyForAction","resultField","loadAttempted","hasButtonPermission","button","clickListButton","click","value","lastIndexOf","clickAdd","clickSaveEdit","deltaList","newRow","oldRow","rowKeys","foreceDefaultOnSave","evalDefault","required","displayName","recordIndex","saveRecord","record","saveNextRecord","clickCancelEdit","deleteRowWithMessage","row","deleteRow","bypassPrompt","entity","rowIndex","newVal","oldVal","selectedState","stateName","stateModel","stateAction","stateId","toString","debounce","$apply","ngGridUnWatch","$viewport","$footerPanel","$listContainer","rebuildTimeout","rebuildGrid","$gridServices","DomUtilityService","RebuildGrid","$gridScope","handleScrollEvent","originalEvent","detail","wheelDelta","scrollY","scrollTop","clearTimeout","setTimeout","offset","top","$digest","css","bottom","position","val","encodeURIComponent","filterNav","currentNavIndex","modifiedNav","jsonEditor","alertTitle","alertMessage","allowAlertClose","getEditor","getValue","saveNav","document","getElementById","theme","iconlib","layout","startval","disable_properties","disable_edit_json","disable_delete_all","disable_delete_last","schema","format","disable_collapse","items","headerTemplate","icon","collapsed","className","enum","tite","sortField","description","width","headerClass","cellClass","cellTemplate","cellFilter","minWidth","maxWidth","sortable","resizable","defaultProperties","defaultSubNavIndex","watch","enumSource","source","JSONEditor","parent","temp","index","setValue","a","b","moveUp","from","to","moveDown","edit","onEdit","saveSort","newOrder","unshift","modalTitle","login","clickLogin","logIn","password","UserService","register","apiBaseUrl","directive","require","restrict","control","ngFormat","ngTimeZone","defaultDate","viewMode","ngViewMode","horizontal","maxDate","minDate","link","elem","attrs","ngModel","$formatters","date","tz","useCurrent","toDate","widgetPositioning","datetimepicker","show","focus","dateValue","isValid","$setViewValue","$compile","getTemplate","html","contents","ngOptions","ngRepeat","addInputAttributes","inputAttr","$input","attr","ngError","onFieldError","initFieldType","charsLeft","maxLength","lengthCheck","target","Error","errorCode","isRequired","filename","file","extension","defaultValueUsingModelKey","convertToLocalTime","check","default","editTemplate","pattern","disabled","modelData","signature","clearCanvas","canvas","_canvas","fromDataURL","image","Image","setAttribute","onload","getContext","drawImage","fileUrl","src","toDataURL","dataUrl","selectFileButtonText","clearButtonText","translationBtnKeys","unwatch","previewUrl","pos","s3Path","getFileIcon","onFileSelect","$files","selectedFile","nodeName","off","ImageService","uploadStatus","imageUrl","urlKey","thumbnailUrl","onerror","fileReader","readAsDataURL","FileReader","imageData","__ModelFieldImageData","fixOrientationWithDataURI","dataURI","dataURItoBlob","export","exportImages","resize","resizeImage","blob","isAllowed","extensions","match","join","arguments","exportKey","settings","byteString","split","atob","unescape","mimeString","ia","Uint8Array","charCodeAt","Blob","imageClick","isLightbox","isLightboxWithZoom","$container","append","scale","Math","min","background","backgroundSize","$thumbnail","$zoom","thumbnailWidth","thumbnailHeight","zoomWidth","zoomHeight","border","x","y","positionImage","offsetX","offsetY","pageX","pageY","backgroundPosition","maxScale","animate","backgroundColor","opacity","$imageContainer","addLabel","sortableOptions","placeholder","update","updateData","setData","output","addItem","removeItem","results","$q","LocationService","loadScript","deferred","defer","resolve","promise","googleMapsApiJS","createElement","getElementsByTagName","appendChild","initMap","isMapLoading","isLoaded","map","google","maps","Map","center","location","zoom","initialize","initSelectedMarker","selectedMarker","LatLng","lat","lng","setPosition","setMap","setCenter","Marker","MarkerImage","Size","Point","draggable","tooltip","addListener","geocoder","originalValue","geocodeSearch","geocodeError","showGeocode","Geocoder","allowGeocode","query","currentLocation","pointLocation","latitude","longitude","valueChanged","doGeocode","geocode","address","GeocoderStatus","OK","geometry","OVER_QUERY_LIMIT","ZERO_RESULTS","clearSearch","hasSearched","revertValue","initOptions","keyOverride","valueOverride","option","multiSelectOptions","initData","findIndex","clickMultiSelectCheckbox","selectedOption","checkNumber","cursorPosition","selection","range","createRange","moveStart","text","selectionStart","indexOfDecimal","valueComponents","scaleValue","validateAndParseNumbers","validity","badInput","allowDecimal","decimalString","isNaN","minValue","isFirstDecLarger","maxValue","round","roundedValue","parseFloat","dec1","dec2","dec1Components","dec2Components","areBothPositive","max","charAt","$http","googleApiKey","convertStringToGoogleTypeFormat","str","request","initQuery","jQuery","radius","places","PlacesService","textSearch","PlacesServiceStatus","createMarkers","boundaries","clearOverlays","markers","removeMarkers","createCircle","displayMarkers","listSearchResults","infowindow","searchResults","marker","markerLocation","getPosition","setContent","getClickedMarker","circle","Circle","fillOpacity","fillColor","bounds","LatLngBounds","spherical","computeDistanceBetween","displayedMarkers","fitBounds","searchError","displayedSearchResults","placeId","perviouslySavedLatLng","requestQuery","placeType","googleType","zipCode","InfoWindow","doSearch","reverseGeocode","coordinates","resultPlaceId","place_id","getAdditionPlaceInformation","checked","getSelectResultData","placeRequest","service","getDetails","place","address_components","types","short_name","phoneNumber","formatted_phone_number","formatted_address","updateInfoWindow","checkedLocation","updateSelection","selectedIdx","multiple","matchTemplate","choiceTemplate","rowData","textOutputPath","onModelChanged","appendToBody","replaceSessionVariables","string","mergeArray","fromArray","toArray","assignJunctionMeta","junctionMeta","selectedItem","isFirstTimeLoad","relationship","refreshChoices","searchField","filters","preventCancel","allowInsert","addNewItem","allowClear","defaultIndex","onSelect","sourceModel","referenceModel","sourceModelName","sourceId","sourceKey","getMany","inq","$item","newItem","textValue","obj","onRemove","trigger","repeatExpression","selectedList","insertText","$sce","videoUrl","trustAsResourceUrl","fontsList","fonts","initWysiwygEditor","instances","instanceIdx","$wysiwyg","editorId","toolbarId","$toolbar","wysiwyg","toolbarSelector","hotKeys","dragAndDropImages","initColorPicker","$colorPicker","spectrum","flat","cancelText","clickoutFiresChange","preferredFormat","showInput","change","closest","toHexString","execCommand","toggleDropdown","$element","currentTarget","allowImageUpload","uploadFile","imagePath","toggleCodeEdit","isEditingCode","htmlCode","innerHTML","html_beautify","indent_size","codeEditor","$viewValue","ace","getSession","setMode","each","overlay","left","$render","overflow-y","scrollHeight","minTextAreaHeight","number","NaN","localeMap","aar","abk","afr","aka","alb","amh","ara","arg","arm","asm","ava","ave","aym","aze","bak","bam","baq","bel","ben","bih","bis","bod","bos","bre","bul","bur","cat","ces","cha","che","chi","chu","chv","cor","cos","cre","cym","cze","dan","deu","div","dut","dzo","ell","eng","epo","est","eus","ewe","fao","fas","fij","fin","fra","fre","fry","ful","geo","ger","gla","gle","glg","glv","gre","grn","guj","hat","hau","heb","her","hin","hmo","hrv","hun","hye","ibo","ice","ido","iii","iku","ile","ina","ind","ipk","isl","ita","jav","jpn","kal","kan","kas","kat","kau","kaz","khm","kik","kin","kir","kom","kon","kor","kua","kur","lao","lav","lim","lin","lit","ltz","lub","lug","mac","mah","mal","mao","mar","may","mkd","mlg","mlt","mon","mri","msa","mya","nau","nbl","nde","ndo","nep","nld","nno","nob","nor","nya","oci","oji","ori","orm","oss","pan","per","pli","pol","por","pus","que","roh","ron","rum","rus","sag","san","sin","slk","slo","slv","sme","smo","sna","snd","som","sot","spa","sqi","srd","srp","ssw","sun","swa","swe","tah","tam","tat","tel","tgk","tgl","tha","tib","tir","ton","tsn","tso","tuk","tur","twi","uig","ukr","urd","uzb","ven","vie","vol","wel","wln","wol","xho","yid","yor","zha","zho","zul","KEY_DELIMITER","localStorage","getItem","setItem","regex","RegExp","_roles","_nav","fromJson","isEmpty","restrictMenuItems","navList","hidden","menus","menu","hasAccess","subItems","subNavIndex","$upload","Utils","getS3Credentials","fileType","access_token","getTime","apiHelper","cmsBaseUrl","getFileUploadData","credentials","uniqueFilePath","AWSAccessKeyId","acl","policy","success_action_status","Cache-Control","String","detectMimeTypeByExt","upload","uploadUrl","method","notify","success","locationUrl","xmldoc","DOMParser","parseFromString","evaluate","XPathResult","STRING_TYPE","stringValue","documentElement","childNodes","node","firstChild","nodeValue","reject","uploadFilePath","uploadImages","imageFiles","fileIndex","exportIndex","imageUploadResults","fileKey","currentUploadedSize","totalUploadSize","imageFile","fileKeys","exports","exportKeys","fkey","ekey","ext","pop","3dm","3dmf","aab","aam","aas","abc","acgi","afl","ai","aif","aifc","aiff","aim","aip","ani","aos","aps","arc","arj","art","asf","asp","asx","au","avi","avs","bcpio","bin","bm","bmp","boo","book","boz","bsh","bz","bz2","c","c++","cc","ccad","cco","cdf","cer","chat","class","com","conf","cpio","cpp","cpt","crl","crt","csh","cxx","dcr","deepv","def","der","dif","dir","dl","doc","dot","dp","drw","dump","dv","dvi","dwf","dwg","dxf","dxr","el","elc","env","eps","es","etx","evy","exe","f","f77","f90","fdf","fif","fli","flo","flx","fmf","for","fpx","frl","funk","g","g3","gif","gl","gsd","gsm","gsp","gss","gtar","gz","gzip","h","hdf","help","hgl","hh","hlb","hlp","hpg","hpgl","hqx","hta","htc","htm","htmls","htt","htx","ico","idc","ief","iefs","iges","igs","ima","imap","inf","ins","ip","isu","it","iv","ivr","ivy","jam","java","jcm","jfif","jfif-tbnl","jpe","jpeg","jpg","jps","js","jut","kar","ksh","la","lam","latex","lha","lhx","lma","lsp","lst","lsx","ltx","lzh","lzx","m","m1v","m2a","m2v","m3u","man","mbd","mc$","mcd","mcf","mcp","me","mht","mhtml","mid","midi","mif","mime","mjf","mjpg","mm","mme","mod","moov","mov","movie","mp2","mp3","mpa","mpc","mpe","mpeg","mpg","mpga","mpp","mpt","mpv","mpx","mrc","ms","mv","my","mzz","nap","naplps","nc","ncm","nif","niff","nix","nsc","nvd","o","oda","omc","omcd","omcr","p","p10","p12","p7a","p7c","p7m","p7r","p7s","part","pas","pbm","pcl","pct","pcx","pdb","pdf","pfunk","pgm","pic","pict","pkg","pko","pl","plx","pm","pm4","pm5","png","pnm","pot","pov","ppa","ppm","pps","ppt","ppz","pre","prt","ps","psd","pvu","pwz","py","pyc","qcp","qd3","qd3d","qif","qt","qtc","qti","qtif","ra","ram","ras","rast","rexx","rf","rgb","rm","rmi","rmm","rmp","rng","rnx","roff","rp","rpm","rt","rtf","rtx","rv","s","s3m","saveme","sbk","scm","sdml","sdp","sdr","sea","sgm","sgml","sh","shar","shtml","sid","sit","skd","skm","skp","skt","sl","smi","smil","sol","spc","spl","spr","sprite","ssi","ssm","sst","step","stl","stp","sv4cpio","sv4crc","svf","svr","swf","t","talk","tar","tbk","tcl","tcsh","tex","texi","texinfo","tgz","tif","tiff","tr","tsi","tsp","tsv","turbot","txt","uil","uni","unis","unv","uri","uris","ustar","uu","uue","vcd","vcs","vda","vdo","vew","viv","vivo","vmd","vmf","voc","vos","vox","vqe","vqf","vql","vrml","vrt","vsd","vst","vsw","w60","w61","w6w","wav","wb1","wbmp","web","wiz","wk1","wmf","wml","wmlc","wmls","wmlsc","word","wp","wp5","wp6","wpd","wq1","wri","wrl","wrz","wsc","wsrc","wtk","xbm","xdr","xgz","xif","xl","xla","xlb","xlc","xld","xlk","xll","xlm","xls","xlt","xlv","xlw","xm","xml","xmz","xpix","xpm","x-png","xsr","xwd","xyz","z","zip","zoo","zsh","apiCancel","newKey","sortData","accessToken","post","__model","__id","__accessToken","modelDef","uploadFiles","nextFile","assignImageFileMetaData","fieldKey","mediaRelationshipModel","j","fileInfo","meta","metaKeys","metaKey","forceDefaultOnSave","json","validateRequiredFields","invalids","loadImageURI","EXIF","getData","exif","context","orientation","getTag","aspect","setOrientation","restore","rotate","PI","d","geolocation","getCurrentPosition","coords","$cookieStore","authModel","setSession","startsWith","found","ctrlRoles","sessionStr","apiRequests","canceller","timeout","swap","args","ret","old","style","apply"],"mappings":"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PC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPvV,IAAO,KACPwV,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPh6B,IAAO,KACPi6B,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAAO,KACPC,IAA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","file":"app.js"} \ No newline at end of file diff --git a/dist/vendor.js b/dist/vendor.js index cf94d268..0bdfc7c1 100644 --- a/dist/vendor.js +++ b/dist/vendor.js @@ -1,5 +1,5 @@ /** - * isbx-loopback-cms - v0.1.2 - 2017-09-07 + * isbx-loopback-cms - v0.1.2 - 2017-09-08 * * * Copyright (c) 2017 ISBX @@ -7,63 +7,63 @@ */ function ngGridFlexibleHeightPlugin(a){var b=this;b.grid=null,b.scope=null,b.init=function(c,d,e){b.domUtilityService=e.DomUtilityService,b.grid=d,b.scope=c;var f=function(){setTimeout(g,1)},g=function(){var c=b.grid.gridId,d="."+c+" .ngFooterPanel",e=b.grid.$topPanel.height()+$(d).height(),f=b.grid.$canvas.height()+1;null!=a&&(null!=a.minHeight&&f+ea.maxHeight&&(f=a.maxHeight));var g=f+3;b.scope.baseViewportHeight&&b.scope.baseViewportHeight===g||(b.grid.$viewport.css("height",g+"px"),b.grid.$root.css("height",g+e+"px"),b.scope.baseViewportHeight=g,b.domUtilityService.RebuildGrid(b.scope,b.grid))};b.scope.catHashKeys=function(){var a,c="";for(a in b.scope.renderedRows)c+=b.scope.renderedRows[a].$$hashKey;return c},b.scope.$watch("catHashKeys()",g),b.scope.$watch(b.grid.config.data,f)}}function ngGridCsvExportPlugin(a){var b=this;b.grid=null,b.scope=null,b.services=null,a=a||{},a.containerPanel=a.containerPanel||".ngFooterPanel",a.linkClass=a.linkCss||"csv-data-link-span",a.linkLabel=a.linkLabel||"CSV Export",a.fileName=a.fileName||"Export.csv",b.init=function(c,d,e){function f(){function c(a){return null==a?"":"number"==typeof a?""+a:"boolean"==typeof a?a?"TRUE":"FALSE":"string"==typeof a?a.replace(/"/g,'""'):JSON.stringify(a).replace(/"/g,'""')}function e(a){return a.substr(0,a.length-1)+"\n"}var f=[],g="";for(var h in d.config.columnDefs)d.config.columnDefs.hasOwnProperty(h)&&(f.push(d.config.columnDefs[h].field),g+='"',void 0!==d.config.columnDefs[h].displayName?g+=c(d.config.columnDefs[h].displayName):g+=c(d.config.columnDefs[h].field),g+='",');g=e(g);var i=d.data;for(var j in i){var k="";for(var l in f){var m;m=null!=a&&null!=a.columnOverrides&&null!=a.columnOverrides[f[l]]?a.columnOverrides[f[l]](b.services.UtilityService.evalProperty(i[j],f[l])):b.services.UtilityService.evalProperty(i[j],f[l]),k+='"'+c(m)+'",'}g+=e(k)}var n=d.$root.find(a.containerPanel),o=d.$root.find(a.containerPanel+" ."+a.linkClass);null!=o&&o.remove();var p='';p+='
'+a.linkLabel+"
",n.append(p)}b.grid=d,b.scope=c,b.services=e,setTimeout(f,0),c.catHashKeys=function(){var a="";for(var b in c.renderedRows)a+=c.renderedRows[b].$$hashKey;return a},a&&a.customDataWatcher?c.$watch(a.customDataWatcher,f):c.$watch(c.catHashKeys,f)}}(function(){function a(a,b){return a.set(b[0],b[1]),a}function b(a,b){return a.add(b),a}function c(a,b,c){switch(c?c.length:0){case 0:return a.call(b);case 1:return a.call(b,c[0]);case 2:return a.call(b,c[0],c[1]);case 3:return a.call(b,c[0],c[1],c[2])}return a.apply(b,c)}function d(a,b){for(var c=-1,d=a.length;++cb&&!f||!e||c&&!g&&h||d&&h)return 1;if(b>a&&!c||!h||f&&!d&&e||g&&e)return-1}return 0}function C(a){return Ea[a]}function D(a){return Fa[a]}function E(a){return"\\"+Ia[a]}function F(a,b,c){var d=a.length;for(b+=c?0:-1;c?b--:++b-1&&0==a%1&&(null==b?9007199254740991:b)>a}function I(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c}function J(a){var b=-1,c=Array(a.size);return a.forEach(function(a,d){c[++b]=[d,a]}),c}function K(a,b){for(var c=-1,d=a.length,e=-1,f=[];++cc)&&(c==a.length-1?a.pop():qe.call(a,c,1),!0)}function Oa(a,b){var c=Pa(a,b);return 0>c?P:a[c][1]}function Pa(a,b){for(var c=a.length;c--;)if(dd(a[c][0],b))return c;return-1}function Qa(a,b,c){var d=Pa(a,b);0>d?a.push([b,c]):a[d][1]=c}function Ta(a,b,c,d){return a===P||dd(a,$d[c])&&!ae.call(d,c)?b:a}function Ua(a,b,c){(c!==P&&!dd(a[b],c)||"number"==typeof b&&c===P&&!(b in a))&&(a[b]=c)}function Va(a,b,c){var d=a[b];(!dd(d,c)||dd(d,$d[b])&&!ae.call(a,b)||c===P&&!(b in a))&&(a[b]=c)}function Wa(a,b){return a&&Sb(b,Fd(b),a)}function Xa(a,b){for(var c=-1,d=null==a,e=b.length,f=Array(e);++cc?c:a),b!==P&&(a=b>a?b:a)),a}function Za(a,b,c,e,f,g){var h;if(c&&(h=f?c(a,e,f,g):c(a)),h!==P)return h;if(!md(a))return a;if(e=Ef(a)){if(h=uc(a),!b)return Rb(a,h)}else{var i=sc(a),j="[object Function]"==i||"[object GeneratorFunction]"==i;if("[object Object]"!=i&&"[object Arguments]"!=i&&(!j||f))return Da[i]?wc(a,i,b):f?a:{};if(G(a))return f?a:{};if(h=vc(j?{}:a),!b)return Ub(a,Wa(h,a))}return g||(g=new Ma),(f=g.get(a))?f:(g.set(a,h),(e?d:fb)(a,function(d,e){Va(h,e,Za(d,b,c,e,a,g))}),e?h:Ub(a,h))}function $a(a){var b=Fd(a),c=b.length;return function(d){if(null==d)return!c;for(var e=c;e--;){var f=b[e],g=a[f],h=d[f];if(h===P&&!(f in Object(d))||!g(h))return!1}return!0}}function _a(a,b,c){if("function"!=typeof a)throw new Yd("Expected a function");return pe(function(){a.apply(P,c)},b)}function ab(a,b,c,d){var e=-1,f=g,j=!0,k=a.length,l=[],m=b.length;if(!k)return l;c&&(b=i(b,w(c))),d?(f=h,j=!1):b.length>=200&&(f=La,j=!1,b=new Ia(b));a:for(;++ec;)a=a[b[c++]];return c&&c==d?a:P}function jb(a,b){return ae.call(a,b)||"object"==typeof a&&b in a&&null===le(a)}function kb(a,b){return b in Object(a)}function lb(a,b,c){for(var d=c?h:g,e=a.length,f=e,j=Array(e),k=[];f--;){var l=a[f];f&&b&&(l=i(l,w(b))),j[f]=c||!b&&120>l.length?P:new Ia(f&&l)}var l=a[0],m=-1,n=l.length,o=j[0];a:for(;++md?i*("desc"==c[d]?-1:1):i;break a}}d=a.b-b.b}return d})}function wb(a,b){return a=Object(a),k(b,function(b,c){return c in a&&(b[c]=a[c]),b},{})}function xb(a,b){var c={};return eb(a,function(a,d){b(a,d)&&(c[d]=a)}),c}function yb(a){return function(b){return null==b?P:b[a]}}function zb(a){return function(b){return ib(b,a)}}function Ab(a,b,c){var d=-1,e=b.length,f=a;for(c&&(f=i(a,function(a){return c(a)}));++db&&(b=-b>e?0:e+b),c=c>e?e:c,0>c&&(c+=e),e=b>c?0:c-b>>>0,b>>>=0,c=Array(e);++d=e){for(;e>d;){var f=d+e>>>1,g=a[f];(c?b>=g:b>g)&&null!==g?d=f+1:e=f}return e}return Hb(a,b,Nd,c)}function Hb(a,b,c,d){b=c(b);for(var e=0,f=a?a.length:0,g=b!==b,h=null===b,i=b===P;f>e;){var j=se((e+f)/2),k=c(a[j]),l=k!==P,m=k===k;(g?m||d:h?m&&l&&(d||null!=k):i?m&&(d||l):null==k?0:d?b>=k:b>k)?e=j+1:f=j}return xe(f,4294967294)}function Ib(a,b){for(var c=0,d=a.length,e=a[0],f=b?b(e):e,g=f,h=0,i=[e];++c1?c[e-1]:P,g=e>2?c[2]:P,f="function"==typeof f?(e--,f):P;for(g&&yc(c[0],c[1],g)&&(f=3>e?P:f,e=1),b=Object(b);++dg&&i[0]!==k&&i[g-1]!==k?[]:K(i,k),g-=h.length,d>g?ic(a,b,dc,k,P,i,h,P,P,d-g):c(j,this,i)}var f=ac(a);return e}function cc(a){return cd(function(b){b=db(b);var c=b.length,d=c,e=Ea.prototype.thru;for(a&&b.reverse();d--;){var f=b[d];if("function"!=typeof f)throw new Yd("Expected a function");if(e&&!g&&"wrapper"==oc(f))var g=new Ea([],!0)}for(d=g?d:c;++d=200)return g.plant(d).value();for(var e=0,a=c?b[e].apply(this,a):d;++es)return ic(a,b,dc,t,c,u,v,h,i,j-s)}if(s=m?c:this,t=n?s[a]:a,h)for(var v=u.length,w=xe(h.length,v),x=Rb(u);w--;){var y=h[w];u[w]=H(y,v)?x[y]:P}else q&&u.length>1&&u.reverse();return l&&u.length>i&&(u.length=i),this&&this!==Ra&&this instanceof k&&(t=r||ac(t)),t.apply(s,u)}var l=128&b,m=1&b,n=2&b,o=8&b,p=16&b,q=512&b,r=n?P:ac(a);return k}function ec(a){return cd(function(b){return b=i(db(b),pc()),cd(function(d){var e=this;return a(b,function(a){return c(a,e,d)})})})}function fc(a,b,c){return b=xd(b),a=M(a),b&&b>a?(b-=a,c=c===P?" ":c+"",a=Ld(c,re(b/M(c))),xa.test(c)?a.match(wa).slice(0,b).join(""):a.slice(0,b)):""}function gc(a,b,d,e){function f(){for(var b=-1,i=arguments.length,j=-1,k=e.length,l=Array(k+i),m=this&&this!==Ra&&this instanceof f?h:a;++jb?1:-1:zd(d)||0;var e=-1;c=we(re((c-b)/(d||1)),0);for(var f=Array(c);c--;)f[a?c:++e]=b,b+=d;return f}}function ic(a,b,c,d,e,f,g,h,i,j){var k=8&b;h=h?Rb(h):P;var l=k?g:P;g=k?P:g;var m=k?f:P;return f=k?P:f,b=(b|(k?32:64))&~(k?64:32),4&b||(b&=-4),b=[a,b,e,m,l,f,g,h,i,j],c=c.apply(P,b),Bc(a)&&We(c,b),c.placeholder=d,c}function jc(a){var b=Wd[a];return function(a,c){if(a=zd(a),c=xd(c)){var d=(Bd(a)+"e").split("e"),d=b(d[0]+"e"+(+d[1]+c)),d=(Bd(d)+"e").split("e");return+(d[0]+"e"+(+d[1]-c))}return b(a)}}function kc(a,b,c,d,e,f,g,h){var i=2&b;if(!i&&"function"!=typeof a)throw new Yd("Expected a function");var j=d?d.length:0;if(j||(b&=-97,d=e=P),g=g===P?g:we(xd(g),0),h=h===P?h:xd(h),j-=e?e.length:0,64&b){var k=d,l=e;d=e=P}var m=i?P:Te(a);return f=[a,b,c,d,e,k,l,f,g,h],m&&(c=f[1],a=m[1],b=c|a,d=128==a&&8==c||128==a&&256==c&&m[8]>=f[7].length||384==a&&m[8]>=m[7].length&&8==c,131>b||d)&&(1&a&&(f[2]=m[2],b|=1&c?0:4),(c=m[3])&&(d=f[3],f[3]=d?Pb(d,c,m[4]):Rb(c),f[4]=d?K(f[3],"__lodash_placeholder__"):Rb(m[4])),(c=m[5])&&(d=f[5],f[5]=d?Qb(d,c,m[6]):Rb(c),f[6]=d?K(f[5],"__lodash_placeholder__"):Rb(m[6])),(c=m[7])&&(f[7]=Rb(c)),128&a&&(f[8]=null==f[8]?m[8]:xe(f[8],m[8])),null==f[9]&&(f[9]=m[9]),f[0]=m[0],f[1]=b),a=f[0],b=f[1],c=f[2],d=f[3],e=f[4],h=f[9]=null==f[9]?i?0:a.length:we(f[9]-j,0),!h&&24&b&&(b&=-25),(m?Re:We)(b&&1!=b?8==b||16==b?bc(a,b,h):32!=b&&33!=b||e.length?dc.apply(P,f):gc(a,b,c,d):Zb(a,b,c),f)}function lc(a,b,c,d,e,f){var g=-1,h=2&e,i=1&e,j=a.length,k=b.length;if(!(j==k||h&&k>j))return!1;if(k=f.get(a))return k==b;for(k=!0,f.set(a,b);++gb?0:b,d)):[]}function Kc(a,b,c){var d=a?a.length:0;return d?(b=c||b===P?1:xd(b),b=d-b,Eb(a,0,0>b?0:b)):[]}function Lc(a){return a?a[0]:P}function Mc(a){var b=a?a.length:0;return b?a[b-1]:P}function Nc(a,b){return a&&a.length&&b&&b.length?Ab(a,b):a}function Oc(a){return a?Ae.call(a):a}function Pc(a){if(!a||!a.length)return[];var b=0;return a=f(a,function(a){return hd(a)?(b=we(a.length,b),!0):void 0}),u(b,function(b){return i(a,yb(b))})}function Qc(a,b){if(!a||!a.length)return[];var d=Pc(a);return null==b?d:i(d,function(a){return c(b,P,a)})}function Rc(a){return a=qa(a),a.__chain__=!0,a}function Sc(a,b){return b(a)}function Tc(){return this}function Uc(a,b){return"function"==typeof b&&Ef(a)?d(a,b):Ne(a,Hc(b))}function Vc(a,b){var c;if("function"==typeof b&&Ef(a)){for(c=a.length;c--&&!1!==b(a[c],c,a););c=a}else c=Oe(a,Hc(b));return c}function Wc(a,b){var c=-1,d=wd(a),e=d.length,f=e-1;for(b=Ya(xd(b),0,e);++c=a&&(b=P),c}}function $c(a,b,c){return b=c?P:b,a=kc(a,8,P,P,P,P,P,b),a.placeholder=$c.placeholder,a}function _c(a,b,c){return b=c?P:b,a=kc(a,16,P,P,P,P,P,b),a.placeholder=_c.placeholder,a}function ad(a,b,c){function d(){n&&je(n),j&&je(j),p=0,i=j=m=n=o=P}function e(b,c){c&&je(c),j=n=o=P,b&&(p=vf(),k=a.apply(m,i),n||j||(i=m=P))}function f(){var a=b-(vf()-l);0>=a||a>b?e(o,j):n=pe(f,a)}function g(){e(s,n)}function h(){if(i=arguments,l=vf(),m=this,o=s&&(n||!q),!1===r)var c=q&&!n;else{j||q||(p=l);var d=r-(l-p),e=0>=d||d>r;e?(j&&(j=je(j)),p=l,k=a.apply(m,i)):j||(j=pe(g,d))}return e&&n?n=je(n):n||b===r||(n=pe(f,b)),c&&(e=!0,k=a.apply(m,i)),!e||n||j||(i=m=P),k}var i,j,k,l,m,n,o,p=0,q=!1,r=!1,s=!0;if("function"!=typeof a)throw new Yd("Expected a function");return b=zd(b)||0,md(c)&&(q=!!c.leading,r="maxWait"in c&&we(zd(c.maxWait)||0,b),s="trailing"in c?!!c.trailing:s),h.cancel=d,h.flush=function(){return(n&&o||j&&s)&&(k=a.apply(m,i)),d(),k},h}function bd(a,b){function c(){var d=arguments,e=b?b.apply(this,d):d[0],f=c.cache;return f.has(e)?f.get(e):(d=a.apply(this,d),c.cache=f.set(e,d),d)}if("function"!=typeof a||b&&"function"!=typeof b)throw new Yd("Expected a function");return c.cache=new bd.Cache,c}function cd(a,b){if("function"!=typeof a)throw new Yd("Expected a function");return b=we(b===P?a.length-1:xd(b),0),function(){for(var d=arguments,e=-1,f=we(d.length-b,0),g=Array(f);++eb}function fd(a){return hd(a)&&ae.call(a,"callee")&&(!oe.call(a,"callee")||"[object Arguments]"==de.call(a))}function gd(a){return null!=a&&!("function"==typeof a&&jd(a))&&ld(Ue(a))}function hd(a){return nd(a)&&gd(a)}function id(a){return nd(a)&&"string"==typeof a.message&&"[object Error]"==de.call(a)}function jd(a){return"[object Function]"==(a=md(a)?de.call(a):"")||"[object GeneratorFunction]"==a}function kd(a){return"number"==typeof a&&a==xd(a)}function ld(a){return"number"==typeof a&&a>-1&&0==a%1&&9007199254740991>=a}function md(a){var b=typeof a;return!!a&&("object"==b||"function"==b)}function nd(a){return!!a&&"object"==typeof a}function od(a){return null!=a&&(jd(a)?fe.test(_d.call(a)):nd(a)&&(G(a)?fe:oa).test(a))}function pd(a){return"number"==typeof a||nd(a)&&"[object Number]"==de.call(a)}function qd(a){if(!nd(a)||"[object Object]"!=de.call(a)||G(a))return!1;var b=$d;return"function"==typeof a.constructor&&(b=le(a)),null===b||"function"==typeof(a=b.constructor)&&a instanceof a&&_d.call(a)==ce}function rd(a){return md(a)&&"[object RegExp]"==de.call(a)}function sd(a){return"string"==typeof a||!Ef(a)&&nd(a)&&"[object String]"==de.call(a)}function td(a){return"symbol"==typeof a||nd(a)&&"[object Symbol]"==de.call(a)}function ud(a){return nd(a)&&ld(a.length)&&!!Ca[de.call(a)]}function vd(a,b){return b>a}function wd(a){if(!a)return[];if(gd(a))return sd(a)?a.match(wa):Rb(a);if(ne&&a[ne])return I(a[ne]());var b=sc(a);return("[object Map]"==b?J:"[object Set]"==b?L:Id)(a)}function xd(a){if(!a)return 0===a?a:0;if((a=zd(a))===Q||a===-Q)return 1.7976931348623157e308*(0>a?-1:1);var b=a%1;return a===a?b?a-b:a:0}function yd(a){return a?Ya(xd(a),0,4294967295):0}function zd(a){if(md(a)&&(a=jd(a.valueOf)?a.valueOf():a,a=md(a)?a+"":a),"string"!=typeof a)return 0===a?a:+a;a=a.replace(fa,"");var b=na.test(a);return b||pa.test(a)?Ka(a.slice(2),b?2:8):ma.test(a)?R:+a}function Ad(a){return Sb(a,Gd(a))}function Bd(a){if("string"==typeof a)return a;if(null==a)return"";if(td(a))return he?Ke.call(a):"";var b=a+"";return"0"==b&&1/a==-Q?"-0":b}function Cd(a,b,c){return a=null==a?P:ib(a,b),a===P?c:a}function Dd(a,b){return tc(a,b,jb)}function Ed(a,b){return tc(a,b,kb)}function Fd(a){var b=Cc(a);if(!b&&!gd(a))return ve(Object(a));var c,d=xc(a),e=!!d,d=d||[],f=d.length;for(c in a)!jb(a,c)||e&&("length"==c||H(c,f))||b&&"constructor"==c||d.push(c);return d}function Gd(a){for(var b=-1,c=Cc(a),d=qb(a),e=d.length,f=xc(a),g=!!f,f=f||[],h=f.length;++bb||b>9007199254740991)return c;do{b%2&&(c+=a),b=se(b/2),a+=a}while(b);return c}function Md(a,b,c){return a=Bd(a),b=c?P:b,b===P&&(b=Aa.test(a)?za:ya),a.match(b)||[]}function Nd(a){return a}function Od(a){return nd(a)&&!Ef(a)?Pd(a):pb(a)}function Pd(a){return sb(Za(a,!0))}function Qd(a,b,c){var e=Fd(b),f=hb(b,e);null!=c||md(b)&&(f.length||!e.length)||(c=b,b=a,a=this,f=hb(b,Fd(b)));var g=!(md(c)&&"chain"in c)||c.chain,h=jd(a);return d(f,function(c){var d=b[c];a[c]=d,h&&(a.prototype[c]=function(){var b=this.__chain__;if(g||b){var c=a(this.__wrapped__);return(c.__actions__=Rb(this.__actions__)).push({func:d,args:arguments,thisArg:a}),c.__chain__=b,c}return d.apply(a,j([this.value()],arguments))})}),a}function Rd(){}function Sd(a){return zc(a)?yb(a):zb(a)}function Td(a){return a&&a.length?t(a,Nd):P}A=A?Sa.defaults({},A,Sa.pick(Ra,Ba)):Ra;var Ud=A.Date,Vd=A.Error,Wd=A.Math,Xd=A.RegExp,Yd=A.TypeError,Zd=A.Array.prototype,$d=A.Object.prototype,_d=A.Function.prototype.toString,ae=$d.hasOwnProperty,be=0,ce=_d.call(Object),de=$d.toString,ee=Ra._,fe=Xd("^"+_d.call(ae).replace(da,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ge=A.f,he=A.Symbol,ie=A.Uint8Array,je=A.clearTimeout,ke=ge?ge.g:P,le=Object.getPrototypeOf,me=Object.getOwnPropertySymbols,ne="symbol"==typeof(ne=he&&he.iterator)?ne:P,oe=$d.propertyIsEnumerable,pe=A.setTimeout,qe=Zd.splice,re=Wd.ceil,se=Wd.floor,te=A.isFinite,ue=Zd.join,ve=Object.keys,we=Wd.max,xe=Wd.min,ye=A.parseInt,ze=Wd.random,Ae=Zd.reverse,Be=rc(A,"Map"),Ce=rc(A,"Set"),De=rc(A,"WeakMap"),Ee=rc(Object,"create"),Fe=De&&new De,Ge=Be?_d.call(Be):"",He=Ce?_d.call(Ce):"",Ie=he?he.prototype:P,Je=he?Ie.valueOf:P,Ke=he?Ie.toString:P,Le={};qa.templateSettings={escape:Z,evaluate:$,interpolate:_,variable:"",imports:{_:qa}};var Me=function(){function a(){}return function(b){if(md(b)){a.prototype=b;var c=new a;a.prototype=P}return c||{}}}(),Ne=Xb(fb),Oe=Xb(gb,!0),Pe=Yb(),Qe=Yb(!0);ke&&!oe.call({valueOf:1},"valueOf")&&(qb=function(a){return I(ke(a))});var Re=Fe?function(a,b){return Fe.set(a,b),a}:Nd,Se=Ce&&2===new Ce([1,2]).size?function(a){return new Ce(a)}:Rd,Te=Fe?function(a){return Fe.get(a)}:Rd,Ue=yb("length"),Ve=me||function(){return[]} -;(Be&&"[object Map]"!=sc(new Be)||Ce&&"[object Set]"!=sc(new Ce))&&(sc=function(a){var b=de.call(a);if(a="[object Object]"==b?a.constructor:null,a="function"==typeof a?_d.call(a):""){if(a==Ge)return"[object Map]";if(a==He)return"[object Set]"}return b});var We=function(){var a=0,b=0;return function(c,d){var e=vf(),f=16-(e-b);if(b=e,f>0){if(150<=++a)return c}else a=0;return Re(c,d)}}(),Xe=cd(function(a,b){Ef(a)||(a=null==a?[]:[Object(a)]),b=db(b);for(var c=a,d=b,e=-1,f=c.length,g=-1,h=d.length,i=Array(f+h);++e1?a[b-1]:P,b="function"==typeof b?(a.pop(),b):P;return Qc(a,b)}),of=cd(function(a){function b(b){return Xa(b,a)}a=db(a);var c=a.length,d=c?a[0]:0,e=this.__wrapped__;return 1>=c&&!this.__actions__.length&&e instanceof Fa&&H(d)?(e=e.slice(d,+d+(c?1:0)),e.__actions__.push({func:Sc,args:[b],thisArg:P}),new Ea(e,this.__chain__).thru(function(a){return c&&!a.length&&a.push(P),a})):this.thru(b)}),pf=Vb(function(a,b,c){ae.call(a,c)?++a[c]:a[c]=1}),qf=Vb(function(a,b,c){ae.call(a,c)?a[c].push(b):a[c]=[b]}),rf=cd(function(a,b,d){var e=-1,f="function"==typeof b,g=zc(b),h=gd(a)?Array(a.length):[];return Ne(a,function(a){var i=f?b:g&&null!=a?a[b]:P;h[++e]=i?c(i,a,d):mb(a,b,d)}),h}),sf=Vb(function(a,b,c){a[c]=b}),tf=Vb(function(a,b,c){a[c?0:1].push(b)},function(){return[[],[]]}),uf=cd(function(a,b){if(null==a)return[];var c=b.length;return c>1&&yc(a,b[0],b[1])?b=[]:c>2&&yc(b[0],b[1],b[2])&&(b.length=1),vb(a,db(b),[])}),vf=Ud.now,wf=cd(function(a,b,c){var d=1;if(c.length)var e=K(c,wf.placeholder),d=32|d;return kc(a,d,b,c,e)}),xf=cd(function(a,b,c){var d=3;if(c.length)var e=K(c,xf.placeholder),d=32|d;return kc(b,d,a,c,e)}),yf=cd(function(a,b){return _a(a,1,b)}),zf=cd(function(a,b,c){return _a(a,zd(b)||0,c)}),Af=cd(function(a,b){b=i(db(b),pc());var d=b.length;return cd(function(e){for(var f=-1,g=xe(e.length,d);++fd.length?Qa(d,a,b):(c.array=null,c.map=new Ha(d))),(c=c.map)&&c.set(a,b),this},bd.Cache=Ha,qa.after=function(a,b){if("function"!=typeof b)throw new Yd("Expected a function");return a=xd(a),function(){return 1>--a?b.apply(this,arguments):void 0}},qa.ary=Yc,qa.assign=Ff,qa.assignIn=Gf,qa.assignInWith=Hf,qa.assignWith=If,qa.at=Jf,qa.before=Zc,qa.bind=wf,qa.bindAll=$f,qa.bindKey=xf,qa.chain=Rc,qa.chunk=function(a,b){b=we(xd(b),0);var c=a?a.length:0;if(!c||1>b)return[];for(var d=0,e=-1,f=Array(re(c/b));c>d;)f[++e]=Eb(a,d,d+=b);return f},qa.compact=function(a){for(var b=-1,c=a?a.length:0,d=-1,e=[];++bc&&(c=-c>e?0:e+c),d=d===P||d>e?e:xd(d),0>d&&(d+=e),d=c>d?0:yd(d);d>c;)a[c++]=b;return a},qa.filter=function(a,b){return(Ef(a)?f:cb)(a,pc(b,3))},qa.flatMap=function(a,b){return a&&a.length?db(i(a,pc(b,3))):[]},qa.flatten=function(a){return a&&a.length?db(a):[]},qa.flattenDeep=function(a){return a&&a.length?db(a,!0):[]},qa.flip=function(a){return kc(a,512)},qa.flow=_f,qa.flowRight=ag,qa.fromPairs=function(a){for(var b=-1,c=a?a.length:0,d={};++bb?0:b)):[]},qa.takeRight=function(a,b,c){var d=a?a.length:0;return d?(b=c||b===P?1:xd(b),b=d-b,Eb(a,0>b?0:b,d)):[]},qa.takeRightWhile=function(a,b){return a&&a.length?Lb(a,pc(b,3),!1,!0):[]},qa.takeWhile=function(a,b){return a&&a.length?Lb(a,pc(b,3)):[]},qa.tap=function(a,b){return b(a),a},qa.throttle=function(a,b,c){var d=!0,e=!0;if("function"!=typeof a)throw new Yd("Expected a function");return md(c)&&(d="leading"in c?!!c.leading:d,e="trailing"in c?!!c.trailing:e),ad(a,b,{leading:d,maxWait:b,trailing:e})},qa.thru=Sc,qa.toArray=wd,qa.toPairs=Hd,qa.toPairsIn=function(a){return v(a,Gd(a))},qa.toPath=function(a){return Ef(a)?i(a,String):Fc(a)},qa.toPlainObject=Ad,qa.transform=function(a,b,c){var e=Ef(a)||ud(a);if(b=pc(b,4),null==c)if(e||md(a)){var f=a.constructor;c=e?Ef(a)?new f:[]:Me(jd(f)?f.prototype:P)}else c={};return(e?d:fb)(a,function(a,d,e){return b(c,a,d,e)}),c},qa.unary=function(a){return Yc(a,1)},qa.union=ef,qa.unionBy=ff,qa.unionWith=gf,qa.uniq=function(a){return a&&a.length?Kb(a):[]},qa.uniqBy=function(a,b){return a&&a.length?Kb(a,pc(b)):[]},qa.uniqWith=function(a,b){return a&&a.length?Kb(a,P,b):[]},qa.unset=function(a,b){var c;if(null==a)c=!0;else{c=a;var d=b,d=zc(d,c)?[d+""]:Jb(d);c=Ec(c,d),d=Mc(d),c=null==c||!Dd(c,d)||delete c[d]}return c},qa.unzip=Pc,qa.unzipWith=Qc,qa.values=Id,qa.valuesIn=function(a){return null==a?x(a,Gd(a)):[]},qa.without=hf,qa.words=Md,qa.wrap=function(a,b){return b=null==b?Nd:b,Bf(b,a)},qa.xor=jf,qa.xorBy=kf,qa.xorWith=lf,qa.zip=mf,qa.zipObject=function(a,b){for(var c=-1,d=a?a.length:0,e=b?b.length:0,f={};++cc?b[c]:P);return f},qa.zipWith=nf,qa.extend=Gf,qa.extendWith=Hf,Qd(qa,qa),qa.add=function(a,b){var c;return a!==P&&(c=a),b!==P&&(c=c===P?b:c+b),c},qa.attempt=Zf,qa.camelCase=Rf,qa.capitalize=Jd,qa.ceil=ig,qa.clamp=function(a,b,c){return c===P&&(c=b,b=P),c!==P&&(c=zd(c),c=c===c?c:0),b!==P&&(b=zd(b),b=b===b?b:0),Ya(zd(a),b,c)},qa.clone=function(a){return Za(a)},qa.cloneDeep=function(a){return Za(a,!0)},qa.cloneDeepWith=function(a,b){return Za(a,!0,b)},qa.cloneWith=function(a,b){return Za(a,!1,b)},qa.deburr=Kd,qa.endsWith=function(a,b,c){a=Bd(a),b="string"==typeof b?b:b+"";var d=a.length;return c=c===P?d:Ya(xd(c),0,d),(c-=b.length)>=0&&a.indexOf(b,c)==c},qa.eq=dd,qa.escape=function(a){return(a=Bd(a))&&Y.test(a)?a.replace(W,D):a},qa.escapeRegExp=function(a){return(a=Bd(a))&&ea.test(a)?a.replace(da,"\\$&"):a},qa.every=function(a,b,c){var d=Ef(a)?e:bb;return c&&yc(a,b,c)&&(b=P),d(a,pc(b,3))},qa.find=function(a,b){if(b=pc(b,3),Ef(a)){var c=p(a,b);return c>-1?a[c]:P}return o(a,b,Ne)},qa.findIndex=function(a,b){return a&&a.length?p(a,pc(b,3)):-1},qa.findKey=function(a,b){return o(a,pc(b,3),fb,!0)},qa.findLast=function(a,b){if(b=pc(b,3),Ef(a)){var c=p(a,b,!0);return c>-1?a[c]:P}return o(a,b,Oe)},qa.findLastIndex=function(a,b){return a&&a.length?p(a,pc(b,3),!0):-1},qa.findLastKey=function(a,b){return o(a,pc(b,3),gb,!0)},qa.floor=jg,qa.forEach=Uc,qa.forEachRight=Vc,qa.forIn=function(a,b){return null==a?a:Pe(a,Hc(b),Gd)},qa.forInRight=function(a,b){return null==a?a:Qe(a,Hc(b),Gd)},qa.forOwn=function(a,b){return a&&fb(a,Hc(b))},qa.forOwnRight=function(a,b){return a&&gb(a,Hc(b))},qa.get=Cd,qa.gt=ed,qa.gte=function(a,b){return a>=b},qa.has=Dd,qa.hasIn=Ed,qa.head=Lc,qa.identity=Nd,qa.includes=function(a,b,c,d){return a=gd(a)?a:Id(a),c=c&&!d?xd(c):0,d=a.length,0>c&&(c=we(d+c,0)),sd(a)?d>=c&&-1c&&(c=we(d+c,0)),q(a,b,c)):-1},qa.inRange=function(a,b,c){return b=zd(b)||0,c===P?(c=b,b=0):c=zd(c)||0,(a=zd(a))>=xe(b,c)&&a=-9007199254740991&&9007199254740991>=a},qa.isString=sd,qa.isSymbol=td,qa.isTypedArray=ud,qa.isUndefined=function(a){return a===P},qa.join=function(a,b){return a?ue.call(a,b):""},qa.kebabCase=Sf,qa.last=Mc,qa.lastIndexOf=function(a,b,c){var d=a?a.length:0;if(!d)return-1;var e=d;if(c!==P&&(e=xd(c),e=(0>e?we(d+e,0):xe(e,d-1))+1),b!==b)return F(a,e,!0);for(;e--;)if(a[e]===b)return e;return-1},qa.lowerCase=Tf,qa.lowerFirst=Uf,qa.lt=vd,qa.lte=function(a,b){return b>=a},qa.max=function(a){return a&&a.length?n(a,Nd,ed):P},qa.maxBy=function(a,b){return a&&a.length?n(a,pc(b),ed):P},qa.mean=function(a){return Td(a)/(a?a.length:0)},qa.min=function(a){return a&&a.length?n(a,Nd,vd):P},qa.minBy=function(a,b){return a&&a.length?n(a,pc(b),vd):P},qa.noConflict=function(){return Ra._===this&&(Ra._=ee),this},qa.noop=Rd,qa.now=vf,qa.pad=function(a,b,c){a=Bd(a),b=xd(b);var d=M(a);return b&&b>d?(d=(b-d)/2,b=se(d),d=re(d),fc("",b,c)+a+fc("",d,c)):a},qa.padEnd=function(a,b,c){return(a=Bd(a))+fc(a,b,c)},qa.padStart=function(a,b,c){return a=Bd(a),fc(a,b,c)+a},qa.parseInt=function(a,b,c){return c||null==b?b=0:b&&(b=+b),a=Bd(a).replace(fa,""),ye(a,b||(la.test(a)?16:10))},qa.random=function(a,b,c){if(c&&"boolean"!=typeof c&&yc(a,b,c)&&(b=c=P),c===P&&("boolean"==typeof b?(c=b,b=P):"boolean"==typeof a&&(c=a,a=P)),a===P&&b===P?(a=0,b=1):(a=zd(a)||0,b===P?(b=a,a=0):b=zd(b)||0),a>b){var d=a;a=b,b=d}return c||a%1||b%1?(c=ze(),xe(a+c*(b-a+Ja("1e-"+((c+"").length-1))),b)):Cb(a,b)},qa.reduce=function(a,b,c){var d=Ef(a)?k:r,e=3>arguments.length;return d(a,pc(b,4),c,e,Ne)},qa.reduceRight=function(a,b,c){var d=Ef(a)?l:r,e=3>arguments.length;return d(a,pc(b,4),c,e,Oe)},qa.repeat=Ld,qa.replace=function(){var a=arguments,b=Bd(a[0]);return 3>a.length?b:b.replace(a[1],a[2])},qa.result=function(a,b,c){if(zc(b,a))d=null==a?P:a[b];else{b=Jb(b);var d=Cd(a,b);a=Ec(a,b)}return d===P&&(d=c),jd(d)?d.call(a):d},qa.round=kg,qa.runInContext=O,qa.sample=function(a){a=gd(a)?a:Id(a);var b=a.length;return b>0?a[Cb(0,b-1)]:P},qa.size=Xc,qa.snakeCase=Wf,qa.some=function(a,b,c){var d=Ef(a)?m:Fb;return c&&yc(a,b,c)&&(b=P),d(a,pc(b,3))},qa.sortedIndex=function(a,b){return Gb(a,b)},qa.sortedIndexBy=function(a,b,c){return Hb(a,b,pc(c))},qa.sortedIndexOf=function(a,b){var c=a?a.length:0;if(c){var d=Gb(a,b);if(c>d&&dd(a[d],b))return d}return-1},qa.sortedLastIndex=function(a,b){return Gb(a,b,!0)},qa.sortedLastIndexBy=function(a,b,c){return Hb(a,b,pc(c),!0)},qa.sortedLastIndexOf=function(a,b){if(a&&a.length){var c=Gb(a,b,!0)-1;if(dd(a[c],b))return c}return-1},qa.startCase=Xf,qa.startsWith=function(a,b,c){return a=Bd(a),c=Ya(xd(c),0,a.length),a.lastIndexOf(b,c)==c},qa.subtract=function(a,b){var c;return a!==P&&(c=a),b!==P&&(c=c===P?b:c-b),c},qa.sum=Td,qa.sumBy=function(a,b){return a&&a.length?t(a,pc(b)):P},qa.template=function(a,b,c){var d=qa.templateSettings;c&&yc(a,b,c)&&(b=P),a=Bd(a),b=Hf({},b,d,Ta),c=Hf({},b.imports,d.imports,Ta);var e,f,g=Fd(c),h=x(c,g),i=0;c=b.interpolate||sa;var j="__p+='";c=Xd((b.escape||sa).source+"|"+c.source+"|"+(c===_?ja:sa).source+"|"+(b.evaluate||sa).source+"|$","g");var k="sourceURL"in b?"//# sourceURL="+b.sourceURL+"\n":"";if(a.replace(c,function(b,c,d,g,h,k){return d||(d=g),j+=a.slice(i,k).replace(ta,E),c&&(e=!0,j+="'+__e("+c+")+'"),h&&(f=!0,j+="';"+h+";\n__p+='"),d&&(j+="'+((__t=("+d+"))==null?'':__t)+'"),i=k+b.length,b}),j+="';",(b=b.variable)||(j="with(obj){"+j+"}"),j=(f?j.replace(S,""):j).replace(T,"$1").replace(U,"$1;"),j="function("+(b||"obj")+"){"+(b?"":"obj||(obj={});")+"var __t,__p=''"+(e?",__e=_.escape":"")+(f?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+j+"return __p}",b=Zf(function(){return Function(g,k+"return "+j).apply(P,h)}),b.source=j,id(b))throw b;return b},qa.times=function(a,b){if(1>(a=xd(a))||a>9007199254740991)return[];var c=4294967295,d=xe(a,4294967295);for(b=Hc(b),a-=4294967295,d=u(d,b);++c=f)return a;if(1>(f=c-M(d)))return d;if(c=g?g.slice(0,f).join(""):a.slice(0,f),e===P)return c+d;if(g&&(f+=c.length-f),rd(e)){if(a.slice(f).search(e)){var h=c;for(e.global||(e=Xd(e.source,Bd(ka.exec(e))+"g")),e.lastIndex=0;g=e.exec(h);)var i=g.index;c=c.slice(0,i===P?f:i)}}else a.indexOf(e,f)!=f&&(e=c.lastIndexOf(e))>-1&&(c=c.slice(0,e));return c+d},qa.unescape=function(a){return(a=Bd(a))&&X.test(a)?a.replace(V,N):a},qa.uniqueId=function(a){var b=++be;return Bd(a)+b},qa.upperCase=Yf,qa.upperFirst=Vf,qa.each=Uc,qa.eachRight=Vc,qa.first=Lc,Qd(qa,function(){var a={};return fb(qa,function(b,c){ae.call(qa.prototype,c)||(a[c]=b)}),a}(),{chain:!1}),qa.VERSION="4.0.1",d("bind bindKey curry curryRight partial partialRight".split(" "),function(a){qa[a].placeholder=qa}),d(["drop","take"],function(a,b){Fa.prototype[a]=function(c){var d=this.__filtered__;if(d&&!b)return new Fa(this);c=c===P?1:we(xd(c),0);var e=this.clone();return d?e.__takeCount__=xe(c,e.__takeCount__):e.__views__.push({size:xe(c,4294967295),type:a+(0>e.__dir__?"Right":"")}),e},Fa.prototype[a+"Right"]=function(b){return this.reverse()[a](b).reverse()}}),d(["filter","map","takeWhile"],function(a,b){var c=b+1,d=1==c||3==c;Fa.prototype[a]=function(a){var b=this.clone();return b.__iteratees__.push({iteratee:pc(a,3),type:c}),b.__filtered__=b.__filtered__||d,b}}),d(["head","last"],function(a,b){var c="take"+(b?"Right":"");Fa.prototype[a]=function(){return this[c](1).value()[0]}}),d(["initial","tail"],function(a,b){var c="drop"+(b?"":"Right");Fa.prototype[a]=function(){return this.__filtered__?new Fa(this):this[c](1)}}),Fa.prototype.compact=function(){return this.filter(Nd)},Fa.prototype.find=function(a){return this.filter(a).head()},Fa.prototype.findLast=function(a){return this.reverse().find(a)},Fa.prototype.invokeMap=cd(function(a,b){return"function"==typeof a?new Fa(this):this.map(function(c){return mb(c,a,b)})}),Fa.prototype.reject=function(a){return a=pc(a,3),this.filter(function(b){return!a(b)})},Fa.prototype.slice=function(a,b){a=xd(a);var c=this;return c.__filtered__&&(a>0||0>b)?new Fa(c):(0>a?c=c.takeRight(-a):a&&(c=c.drop(a)),b!==P&&(b=xd(b),c=0>b?c.dropRight(-b):c.take(b-a)),c)},Fa.prototype.takeRightWhile=function(a){return this.reverse().takeWhile(a).reverse()},Fa.prototype.toArray=function(){return this.take(4294967295)},fb(Fa.prototype,function(a,b){var c=/^(?:filter|find|map|reject)|While$/.test(b),d=/^(?:head|last)$/.test(b),e=qa[d?"take"+("last"==b?"Right":""):b],f=d||/^find/.test(b);e&&(qa.prototype[b]=function(){function b(a){return a=e.apply(qa,j([a],h)),d&&m?a[0]:a}var g=this.__wrapped__,h=d?[1]:arguments,i=g instanceof Fa,k=h[0],l=i||Ef(g);l&&c&&"function"==typeof k&&1!=k.length&&(i=l=!1);var m=this.__chain__,n=!!this.__actions__.length,k=f&&!m,i=i&&!n;return!f&&l?(g=i?g:new Fa(this),g=a.apply(g,h),g.__actions__.push({func:Sc,args:[b],thisArg:P}),new Ea(g,m)):k&&i?a.apply(this,h):(g=this.thru(b),k?d?g.value()[0]:g.value():g)})}),d("pop push shift sort splice unshift".split(" "),function(a){var b=Zd[a],c=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",d=/^(?:pop|shift)$/.test(a);qa.prototype[a]=function(){var a=arguments;return d&&!this.__chain__?b.apply(this.value(),a):this[c](function(c){return b.apply(c,a)})}}),fb(Fa.prototype,function(a,b){var c=qa[b];if(c){var d=c.name+"";(Le[d]||(Le[d]=[])).push({name:b,func:c})}}),Le[dc(P,2).name]=[{name:"wrapper",func:P}],Fa.prototype.clone=function(){var a=new Fa(this.__wrapped__);return a.__actions__=Rb(this.__actions__),a.__dir__=this.__dir__,a.__filtered__=this.__filtered__,a.__iteratees__=Rb(this.__iteratees__),a.__takeCount__=this.__takeCount__,a.__views__=Rb(this.__views__),a},Fa.prototype.reverse=function(){if(this.__filtered__){var a=new Fa(this);a.__dir__=-1,a.__filtered__=!0}else a=this.clone(),a.__dir__*=-1;return a},Fa.prototype.value=function(){var a,b=this.__wrapped__.value(),c=this.__dir__,d=Ef(b),e=0>c,f=d?b.length:0;a=f;for(var g=this.__views__,h=0,i=-1,j=g.length;++if||f==a&&j==a)return Mb(b,this.__actions__);d=[];a:for(;a--&&j>i;){for(e+=c,f=-1,k=b[e];++f=this.__values__.length;return{done:a,value:a?P:this.__values__[this.__index__++]}},qa.prototype.plant=function(a){for(var b,c=this;c instanceof ua;){var d=Ic(c);d.__index__=0,d.__values__=P,b?e.__wrapped__=d:b=d;var e=d,c=c.__wrapped__}return e.__wrapped__=a,b},qa.prototype.reverse=function(){var a=this.__wrapped__;return a instanceof Fa?(this.__actions__.length&&(a=new Fa(this)),a=a.reverse(),a.__actions__.push({func:Sc,args:[Oc],thisArg:P}),new Ea(a,this.__chain__)):this.thru(Oc)},qa.prototype.toJSON=qa.prototype.valueOf=qa.prototype.value=function(){return Mb(this.__wrapped__,this.__actions__)},ne&&(qa.prototype[ne]=Tc),qa}var P,Q=1/0,R=NaN,S=/\b__p\+='';/g,T=/\b(__p\+=)''\+/g,U=/(__e\(.*?\)|\b__t\))\+'';/g,V=/&(?:amp|lt|gt|quot|#39|#96);/g,W=/[&<>"'`]/g,X=RegExp(V.source),Y=RegExp(W.source),Z=/<%-([\s\S]+?)%>/g,$=/<%([\s\S]+?)%>/g,_=/<%=([\s\S]+?)%>/g,aa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ba=/^\w*$/,ca=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,da=/[\\^$.*+?()[\]{}|]/g,ea=RegExp(da.source),fa=/^\s+|\s+$/g,ga=/^\s+/,ha=/\s+$/,ia=/\\(\\)?/g,ja=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ka=/\w*$/,la=/^0x/i,ma=/^[-+]0x[0-9a-f]+$/i,na=/^0b[01]+$/i,oa=/^\[object .+?Constructor\]$/,pa=/^0o[0-7]+$/i,qa=/^(?:0|[1-9]\d*)$/,ra=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,sa=/($^)/,ta=/['\n\r\u2028\u2029\\]/g,ua="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?)*",va=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]","g"),wa=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]?|[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])"+ua,"g"),xa=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ufe0e\\ufe0f]"),ya=/[a-zA-Z0-9]+/g,za=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+|[A-Z\\xc0-\\xd6\\xd8-\\xde]+|\\d+","(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+ua].join("|"),"g"),Aa=/[a-z][A-Z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ba="Array Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Reflect RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Ca={};Ca["[object Float32Array]"]=Ca["[object Float64Array]"]=Ca["[object Int8Array]"]=Ca["[object Int16Array]"]=Ca["[object Int32Array]"]=Ca["[object Uint8Array]"]=Ca["[object Uint8ClampedArray]"]=Ca["[object Uint16Array]"]=Ca["[object Uint32Array]"]=!0,Ca["[object Arguments]"]=Ca["[object Array]"]=Ca["[object ArrayBuffer]"]=Ca["[object Boolean]"]=Ca["[object Date]"]=Ca["[object Error]"]=Ca["[object Function]"]=Ca["[object Map]"]=Ca["[object Number]"]=Ca["[object Object]"]=Ca["[object RegExp]"]=Ca["[object Set]"]=Ca["[object String]"]=Ca["[object WeakMap]"]=!1;var Da={};Da["[object Arguments]"]=Da["[object Array]"]=Da["[object ArrayBuffer]"]=Da["[object Boolean]"]=Da["[object Date]"]=Da["[object Float32Array]"]=Da["[object Float64Array]"]=Da["[object Int8Array]"]=Da["[object Int16Array]"]=Da["[object Int32Array]"]=Da["[object Map]"]=Da["[object Number]"]=Da["[object Object]"]=Da["[object RegExp]"]=Da["[object Set]"]=Da["[object String]"]=Da["[object Symbol]"]=Da["[object Uint8Array]"]=Da["[object Uint8ClampedArray]"]=Da["[object Uint16Array]"]=Da["[object Uint32Array]"]=!0,Da["[object Error]"]=Da["[object Function]"]=Da["[object WeakMap]"]=!1;var Ea={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Fa={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Ga={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Ha={function:!0,object:!0},Ia={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ja=parseFloat,Ka=parseInt,La=Ha[typeof exports]&&exports&&!exports.nodeType?exports:null,Ma=Ha[typeof module]&&module&&!module.nodeType?module:null,Na=A(Ha[typeof self]&&self),Oa=A(Ha[typeof window]&&window),Pa=Ma&&Ma.exports===La?La:null,Qa=A(Ha[typeof this]&&this),Ra=A(La&&Ma&&"object"==typeof global&&global)||Oa!==(Qa&&Qa.window)&&Oa||Na||Qa||Function("return this")(),Sa=O();(Oa||Na||{})._=Sa,"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return Sa}):La&&Ma?(Pa&&((Ma.exports=Sa)._=Sa),La._=Sa):Ra._=Sa}).call(this),function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){ -if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=!!a&&"length"in a&&a.length,c=fa.type(a);return"function"!==c&&!fa.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}function d(a,b,c){if(fa.isFunction(b))return fa.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return fa.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ma.test(b))return fa.filter(b,a,c);b=fa.filter(b,a)}return fa.grep(a,function(a){return _.call(b,a)>-1!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b={};return fa.each(a.match(ra)||[],function(a,c){b[c]=!0}),b}function g(){X.removeEventListener("DOMContentLoaded",g),a.removeEventListener("load",g),fa.ready()}function h(){this.expando=fa.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ya,"-$&").toLowerCase(),"string"==typeof(c=a.getAttribute(d))){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:xa.test(c)?fa.parseJSON(c):c)}catch(a){}wa.set(a,b,c)}else c=void 0;return c}function j(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return fa.css(a,b,"")},i=h(),j=c&&c[3]||(fa.cssNumber[b]?"":"px"),k=(fa.cssNumber[b]||"px"!==j&&+i)&&Aa.exec(fa.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do{f=f||".5",k/=f,fa.style(a,b,k+j)}while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}function k(a,b){var c=void 0!==a.getElementsByTagName?a.getElementsByTagName(b||"*"):void 0!==a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&fa.nodeName(a,b)?fa.merge([a],c):c}function l(a,b){for(var c=0,d=a.length;d>c;c++)va.set(a[c],"globalEval",!b||va.get(b[c],"globalEval"))}function m(a,b,c,d,e){for(var f,g,h,i,j,m,n=b.createDocumentFragment(),o=[],p=0,q=a.length;q>p;p++)if((f=a[p])||0===f)if("object"===fa.type(f))fa.merge(o,f.nodeType?[f]:f);else if(Ha.test(f)){for(g=g||n.appendChild(b.createElement("div")),h=(Ea.exec(f)||["",""])[1].toLowerCase(),i=Ga[h]||Ga._default,g.innerHTML=i[1]+fa.htmlPrefilter(f)+i[2],m=i[0];m--;)g=g.lastChild;fa.merge(o,g.childNodes),g=n.firstChild,g.textContent=""}else o.push(b.createTextNode(f));for(n.textContent="",p=0;f=o[p++];)if(d&&fa.inArray(f,d)>-1)e&&e.push(f);else if(j=fa.contains(f.ownerDocument,f),g=k(n.appendChild(f),"script"),j&&l(g),c)for(m=0;f=g[m++];)Fa.test(f.type||"")&&c.push(f);return n}function n(){return!0}function o(){return!1}function p(){try{return X.activeElement}catch(a){}}function q(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)q(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),!1===e)e=o;else if(!e)return a;return 1===f&&(g=e,e=function(a){return fa().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=fa.guid++)),a.each(function(){fa.event.add(this,b,e,d,c)})}function r(a,b){return fa.nodeName(a,"table")&&fa.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function s(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function t(a){var b=Na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function u(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(va.hasData(a)&&(f=va.access(a),g=va.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)fa.event.add(b,e,j[e][c])}wa.hasData(a)&&(h=wa.access(a),i=fa.extend({},h),wa.set(b,i))}}function v(a,b){var c=b.nodeName.toLowerCase();"input"===c&&Da.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function w(a,b,c,d){b=Z.apply([],b);var e,f,g,h,i,j,l=0,n=a.length,o=n-1,p=b[0],q=fa.isFunction(p);if(q||n>1&&"string"==typeof p&&!da.checkClone&&Ma.test(p))return a.each(function(e){var f=a.eq(e);q&&(b[0]=p.call(this,e,f.html())),w(f,b,c,d)});if(n&&(e=m(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(g=fa.map(k(e,"script"),s),h=g.length;n>l;l++)i=e,l!==o&&(i=fa.clone(i,!0,!0),h&&fa.merge(g,k(i,"script"))),c.call(a[l],i,l);if(h)for(j=g[g.length-1].ownerDocument,fa.map(g,t),l=0;h>l;l++)i=g[l],Fa.test(i.type||"")&&!va.access(i,"globalEval")&&fa.contains(j,i)&&(i.src?fa._evalUrl&&fa._evalUrl(i.src):fa.globalEval(i.textContent.replace(Oa,"")))}return a}function x(a,b,c){for(var d,e=b?fa.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||fa.cleanData(k(d)),d.parentNode&&(c&&fa.contains(d.ownerDocument,d)&&l(k(d,"script")),d.parentNode.removeChild(d));return a}function y(a,b){var c=fa(b.createElement(a)).appendTo(b.body),d=fa.css(c[0],"display");return c.detach(),d}function z(a){var b=X,c=Qa[a];return c||(c=y(a,b),"none"!==c&&c||(Pa=(Pa||fa("