!function(e,t){"use strict";angular.module("adf",["adf.provider","ui.bootstrap"]).value("adfTemplatePath","../src/templates/").value("rowTemplate",'').value("columnTemplate",'').value("adfVersion","0.11.0"),angular.module("adf").directive("adfDashboardColumn",["$log","$compile","$rootScope","adfTemplatePath","rowTemplate","dashboard",function(e,t,i,o,l,a){function d(e,t,o){var l=t.widgets;e.$apply(function(){l.splice(o.newIndex,0,l.splice(o.oldIndex,1)[0]),i.$broadcast("adfWidgetMovedInColumn")})}function n(e,t){for(var i=null,o=0;o0)for(var i=e.widgets.shift();i;)t.widgets.push(i),i=e.widgets.shift()}function r(e,t,i){return i=i||0,angular.isDefined(e.rows)&&angular.forEach(e.rows,function(e){angular.forEach(e.columns,function(e){e.widgets||(e.widgets=[]),angular.isDefined(t[i])&&(angular.isDefined(e.rows)||(n(t[i],e),i++)),i=r(e,t,i)})}),i}function s(e,t){return t=t||[],angular.isDefined(e.rows)&&angular.forEach(e.rows,function(e){angular.forEach(e.columns,function(e){t.push(e),s(e,t)})}),t}function c(e,t){var i=s(e),o=0;for(e.rows=angular.copy(t.rows);o{}',l='
\n
\n loading ...\n
\n
',a=function(){return!0};this.widget=function(t,i){var o=angular.extend({reload:!1,frameless:!1},i);if(o.edit){var l={reload:!0,immediate:!1,apply:a};angular.extend(l,o.edit),o.edit=l}return e[t]=o,this},this.widgetsPath=function(e){return t=e,this},this.structure=function(e,t){return i[e]=t,this},this.messageTemplate=function(e){return o=e,this},this.loadingTemplate=function(e){return l=e,this},this.$get=function(){var a=0;return{widgets:e,widgetsPath:t,structures:i,messageTemplate:o,loadingTemplate:l,id:function(){return(new Date).getTime()+"-"+ ++a},idEquals:function(e,t){return e&&t&&e.toString()===t.toString()}}}}),angular.module("adf").directive("adfDashboardRow",["$compile","adfTemplatePath","columnTemplate",function(e,t,i){return{restrict:"E",replace:!0,scope:{row:"=",adfModel:"=",editMode:"=",continuousEditMode:"=",options:"="},templateUrl:t+"dashboard-row.html",link:function(t,o){angular.isDefined(t.row.columns)&&angular.isArray(t.row.columns)&&e(i)(t,function(e){o.append(e)})}}}]),angular.module("adf").directive("adfWidgetContent",["$log","$q","$sce","$http","$templateCache","$compile","$controller","$injector","dashboard",function(e,t,i,o,l,a,d,n,r){function s(e){var t=e;return e.indexOf("{widgetsPath}")>=0&&(t=e.replace("{widgetsPath}",r.widgetsPath).replace("//","/"),0===t.indexOf("/")&&(t=t.substring(1))),t}function c(e){var a=t.defer();if(e.template)a.resolve(e.template);else if(e.templateUrl){var d=l.get(e.templateUrl);if(d)a.resolve(d);else{var n=i.getTrustedResourceUrl(s(e.templateUrl));o.get(n).success(function(t){l.put(e.templateUrl,t),a.resolve(t)}).error(function(){a.reject("could not load template")})}}return a.promise}function u(i,o,l){var s=i.model,u=i.content;o.html(r.loadingTemplate);var g=i.$new();s.config||(s.config={}),g.config=s.config;var f={$scope:g,widget:s,config:s.config},p={};return p.$tpl=c(u),u.resolve&&angular.forEach(u.resolve,function(e,t){angular.isString(e)?p[t]=n.get(e):p[t]=n.invoke(e,e,f)}),t.all(p).then(function(e){angular.extend(e,f);var t=e.$tpl;if(o.html(t),u.controller){var i=d(u.controller,e);u.controllerAs&&(g[u.controllerAs]=i),o.children().data("$ngControllerController",i)}a(o.contents())(g)},function(t){var i="Could not resolve all promises";t&&(i+=": "+t),e.warn(i),o.html(r.messageTemplate.replace(/{}/g,i))}),l&&l.$destroy(),g}return{replace:!0,restrict:"EA",transclude:!1,scope:{model:"=",content:"="},link:function(e,t){var i=u(e,t,null);e.$on("widgetConfigChanged",function(){i=u(e,t,i)}),e.$on("widgetReload",function(){i=u(e,t,i)})}}}]),angular.module("adf").directive("adfWidget",["$injector","$q","$log","$uibModal","$rootScope","dashboard","adfTemplatePath",function(e,t,i,o,l,a,d){function n(e){var t=e.definition;if(t){var o=a.widgets[t.type];if(o){t.title||(t.title=o.title),t.titleTemplateUrl||(t.titleTemplateUrl=d+"widget-title.html",o.titleTemplateUrl&&(t.titleTemplateUrl=o.titleTemplateUrl)),t.titleTemplateUrl||(t.frameless=o.frameless),t.styleClass||(t.styleClass=o.styleClass),t.wid||(t.wid=a.id()),e.widget=angular.copy(o);var l=t.config;l?angular.isString(l)&&(l=angular.fromJson(l)):l={},e.config=l,e.widgetState||(e.widgetState={},e.widgetState.isCollapsed=o.collapsed===!0?o.collapsed:!1)}else i.warn("could not find widget "+t.type)}else i.debug("definition not specified, widget was probably removed")}function r(a,n){var r=a.definition;if(r){var s=function(){var e=a.col;if(e){var t=e.widgets.indexOf(r);t>=0&&e.widgets.splice(t,1)}n.remove(),l.$broadcast("adfWidgetRemovedFromColumn")};a.remove=function(){if(a.options.enableConfirmDelete){var e=a.$new(),t=d+"widget-delete.html";r.deleteTemplateUrl&&(t=r.deleteTemplateUrl);var i={scope:e,templateUrl:t,backdrop:"static"},l=o.open(i);e.closeDialog=function(){l.close(),e.$destroy()},e.deleteDialog=function(){s(),e.closeDialog()}}else s()},a.reload=function(){a.$broadcast("widgetReload")},a.edit=function(){function i(e){var i;if("boolean"==typeof e){var o=t.defer();e?o.resolve():o.reject(),i=o.promise}else i=t.when(e);return i}var l=a.$new();l.definition=angular.copy(r);var n=d+"widget-edit.html";r.editTemplateUrl&&(n=r.editTemplateUrl);var s={scope:l,templateUrl:n,backdrop:"static"},c=o.open(s);l.closeDialog=function(){c.close(),l.$destroy()},l.saveDialog=function(){l.validationError=null;var t=a.widget,o=t.edit.apply,d={widget:t,definition:l.definition,config:l.definition.config},n=e.invoke(o,o,d);i(n).then(function(){r.title=l.definition.title,angular.extend(r.config,l.definition.config),t.edit&&t.edit.reload&&a.$broadcast("widgetConfigChanged"),l.closeDialog()},function(e){e?l.validationError=e:l.validationError="Validation durring apply failed"})}}}else i.debug("widget not found")}return{replace:!0,restrict:"EA",transclude:!1,templateUrl:d+"widget.html",scope:{definition:"=",col:"=column",editMode:"=",options:"=",widgetState:"="},controller:["$scope",function(e){e.$on("adfDashboardCollapseExpand",function(t,i){e.widgetState.isCollapsed=i.collapseExpandStatus}),e.$on("adfWidgetEnterEditMode",function(t,i){a.idEquals(e.definition.wid,i.wid)&&e.edit()}),e.widgetClasses=function(t,i){var o=i.styleClass||"";return(!t.frameless||e.editMode)&&(o+=" panel panel-default"),o},e.openFullScreen=function(){var t=e.definition,i=e.$new(),l={scope:i,templateUrl:d+"widget-fullscreen.html",size:t.modalSize||"lg",backdrop:"static",windowClass:t.fullScreen?"dashboard-modal widget-fullscreen":"dashboard-modal"},a=o.open(l);i.closeDialog=function(){a.close(),i.$destroy()}}}],compile:function(){return{pre:n,post:r}}}}]),angular.module("adf").run(["$templateCache",function(e){e.put("../src/templates/dashboard-column.html",'
'),e.put("../src/templates/dashboard-edit.html",' '),e.put("../src/templates/dashboard-row.html","
"),e.put("../src/templates/dashboard-title.html",'

{{model.title}}

'),e.put("../src/templates/dashboard.html",'
'),e.put("../src/templates/widget-add.html",' '),e.put("../src/templates/widget-delete.html",' '),e.put("../src/templates/widget-edit.html",'
'),e.put("../src/templates/widget-fullscreen.html",' '),e.put("../src/templates/widget-title.html",'

{{definition.title}}

'),e.put("../src/templates/widget.html",'
')}])}(window); //# sourceMappingURL=angular-dashboard-framework.min.js.map