{"version":3,"sources":["/source/modules/jobs/module_create.ts","/source/modules/jobs/services/jobService.ts","/source/modules/jobs/directives/jobDirective.ts","/source/modules/jobs/contracts/contracts.ts","/source/modules/jobs/controller/jobCtrl.ts","/source/modules/jobs/controller/jobDetailCtrl.ts","cr.job-tmpl.js"],"names":["cr","cr.job","cr.job.jobService","cr.job.jobService.constructor","cr.job.jobService.Summary","cr.job.jobService.WaitForJob","cr.job.jobService.GetResponse","cr.job.jobService.Details","cr.job.jobService.Hide","cr.job.jobsDirective","cr.job.jobsDirective.constructor","cr.job.jobDirective","cr.job.jobDirective.constructor","cr.job.jobCtrl","cr.job.jobCtrl.constructor","cr.job.jobDetailCtrl","cr.job.jobDetailCtrl.constructor","module","angular","err","run","$templateCache","put"],"mappings":"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","file":"cr.job.js","sourcesContent":["/// \r\n/// \r\n/// \r\n\r\nmodule cr.job\r\n{\r\n jobModule = angular.module(\"cr.job\", [\"cr.infrastructure\"]);\r\n}\r\n","module cr.job\r\n{\r\n class jobService {\r\n\r\n private url:string;\r\n static $inject = ['$http', '$q', '$log','$interval','$modal','cfg'];\r\n\r\n private $log:angular.ILogService;\r\n\r\n Summary(includeDetails:boolean=false):angular.IPromise>\r\n {\r\n return this.$http({url: this.url + 'summary/'+includeDetails, method: \"GET\"}).then(result=> result.data);\r\n }\r\n\r\n // execute a long running remote request\r\n ExecuteAsync=(fct)=>\r\n {\r\n var toRet=this.$q.defer();\r\n fct().then(data=>{\r\n if (data.Success)\r\n {\r\n this.WaitForJob(data.JobIdentifier,true).then(t=>{\r\n toRet.resolve(t);\r\n },err=>{\r\n toRet.reject(err);\r\n },n=>toRet.notify(n));\r\n } else {\r\n toRet.reject(data);\r\n }\r\n },error=>{\r\n toRet.reject(error);\r\n });\r\n return toRet.promise;\r\n }\r\n\r\n WaitForJob(identifier:string,closeWhenDone:boolean=false):angular.IPromise\r\n {\r\n var toRet=this.$q.defer();\r\n\r\n var jobData={};\r\n\r\n var modal=this.$modal.open(\r\n {\r\n controller: jobDetailCtrl,\r\n controllerAs: 'jobDetailCtrl',\r\n resolve :\r\n {\r\n jobData : ()=>\r\n {\r\n return {\r\n jobData: jobData\r\n }\r\n }\r\n }\r\n , size: 'lg'\r\n , templateUrl: 'modules/jobs/views/jobdetails.html'\r\n , show: true });\r\n\r\n\r\n var timer = this.$interval(()=>\r\n {\r\n this.Details(identifier).then(data=>{\r\n\r\n jobData.Data=data;\r\n\r\n if (data.Job.Busy)\r\n {\r\n toRet.notify(data);\r\n }\r\n else\r\n {\r\n //console.log(\"busy false: \"+angular.toJson(data));\r\n\r\n this.$interval.cancel(timer);\r\n\r\n if (data.Job.Errors>0)\r\n {\r\n console.log(\"ERRORS\");\r\n toRet.reject(data);\r\n } else {\r\n console.log(\"SUCCESS\");\r\n toRet.resolve(data);\r\n }\r\n\r\n console.log(\"closewhendon: \"+closeWhenDone);\r\n if (closeWhenDone) modal.close();\r\n }\r\n\r\n },error=>{\r\n this.$interval.cancel(timer);\r\n toRet.reject(error);\r\n console.log(\"error: \"+closeWhenDone);\r\n if (closeWhenDone) modal.close();\r\n });\r\n\r\n },2000);\r\n\r\n return toRet.promise;\r\n }\r\n\r\n GetResponse(identifier) : angular.IPromise\r\n {\r\n return this.$http({url: this.url + 'response/'+identifier, method: \"GET\"}).then(result=> result.data);\r\n }\r\n\r\n Details(identifier:string=null):angular.IPromise\r\n {\r\n console.log(\"details: \"+identifier);\r\n return this.$http({url: this.url + 'details/'+identifier, method: \"GET\"}).then(result=> result.data);\r\n }\r\n\r\n Hide(identifier:string=null):angular.IPromise>\r\n {\r\n return this.$http({url: this.url + 'hide/'+identifier, method: \"POST\"}).then(result=> result.data);\r\n }\r\n\r\n constructor(public $http:angular.IHttpService,\r\n private $q:angular.IQService,\r\n $log:any,private $interval,\r\n private $modal,cfg)\r\n {\r\n this.$log = $log.getInstance('jobService');\r\n //this.url = \"/api/jobs/\";\r\n\r\n this.url = cfg.WebApiUrl+\"jobs/\";\r\n }\r\n\r\n }\r\n\r\n // Module registrations.\r\n jobModule.service('jobService', jobService);\r\n}\r\n","module cr.job\r\n{\r\n class jobsDirective {\r\n restrict: string;\r\n replace: boolean;\r\n scope: any;\r\n //template:string=\"
erg
\";\r\n templateUrl: string = \"modules/jobs/views/jobsdirective.html\";\r\n\r\n controller = jobCtrl;\r\n controllerAs = 'jobCtrl';\r\n\r\n /* compile = (tElement, tAttrs, transclude)=>\r\n {\r\n //console.log(\"post: \"+angular.toJson(tElement.parent().html()));\r\n\r\n var interval=this.$interval;\r\n\r\n return {\r\n pre: function preLink(scope, iElement, iAttrs, controller) {\r\n console.log(\"prelink: \"+angular.toJson(iElement.parent().html()));\r\n },\r\n post: function postLink(scope, iElement, iAttrs, controller) {\r\n //if ((iElement.parent()[1])){\r\n interval(()=>console.log(\"postlink: \"+angular.toJson(iElement.parent().find(\"li\").hasClass(\"open\"))),1000);\r\n //}\r\n\r\n }\r\n }\r\n\r\n }*/\r\n\r\n constructor(public $interval){\r\n\r\n this.restrict = 'E';\r\n this.replace = true;\r\n\r\n this.scope = {\r\n selectionDisabled: '='\r\n };\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n class jobDirective {\r\n restrict: string;\r\n templateUrl: string = \"modules/jobs/views/taskdirective.html\";\r\n\r\n constructor()\r\n {\r\n this.restrict = 'E';\r\n }\r\n\r\n }\r\n\r\n\r\n jobModule.directive( 'crJobs', ['$interval',($interval)=>new jobsDirective($interval)] );\r\n jobModule.directive( 'crTask', ()=>new jobDirective() );\r\n\r\n}\r\n","module cr.job\r\n{\r\n export var jobModule: angular.IModule;\r\n}\r\n","module cr.job\r\n{\r\n export class jobCtrl {\r\n static $inject = ['$scope','$state','jobService','$interval','$element','$modal'];\r\n\r\n includeDetails:boolean=false;\r\n Summary={};\r\n\r\n GetStyle=percentage=>{\r\n return {width:percentage+\"%\"};\r\n }\r\n\r\n Refresh=()=>{\r\n this.includeDetails=this.$element.parent().find(\"li\").hasClass('open');\r\n\r\n this.jobService.Summary(this.includeDetails).then(data=>{\r\n this.Summary=data;\r\n });\r\n }\r\n\r\n RefreshAsync=()=>{\r\n setTimeout(()=>this.Refresh(),0);\r\n }\r\n\r\n Hide=(identifier,$event)=>{\r\n console.log(\"hide => \"+identifier);\r\n $event.stopPropagation();\r\n\r\n this.jobService.Hide(identifier).then(ok=>this.Refresh(),error=>{\r\n console.log(\"Error: \"+angular.toJson(error));\r\n });\r\n }\r\n\r\n Details=(identifier,$event)=>{\r\n console.log(\"details => \"+identifier);\r\n $event.stopPropagation();\r\n\r\n this.jobService.Details(identifier).then(jobData=>{\r\n\r\n console.log(\"details: \"+angular.toJson(jobData));\r\n\r\n var modal=this.$modal.open(\r\n {\r\n controller: jobDetailCtrl,\r\n controllerAs: 'jobDetailCtrl',\r\n resolve :\r\n {\r\n jobData : ()=>\r\n {\r\n return {\r\n jobData: { Data: jobData}\r\n }\r\n }\r\n }\r\n , size: 'lg'\r\n , templateUrl: 'modules/jobs/views/jobdetails.html'\r\n , show: true });\r\n\r\n });\r\n }\r\n\r\n constructor(private $scope,private $state,private jobService,private $interval,private $element,private $modal)\r\n {\r\n $scope.context=\"job\";\r\n console.log(\"jobcontroller\");\r\n\r\n //console.log(\"txt: \"+this.$element.html());\r\n\r\n var timer = $interval(()=>\r\n {\r\n this.Refresh();\r\n },10000);\r\n\r\n this.Refresh();\r\n\r\n $scope.$on('$destroy', () => {\r\n // Make sure that the interval is destroyed too\r\n console.log(\"destroy timer on jobCtrl\");\r\n $interval.cancel(timer);\r\n });\r\n\r\n }\r\n }\r\n\r\n}\r\n","module cr.job\r\n{\r\n export class jobDetailCtrl {\r\n static $inject = ['$scope','jobService','jobData'];\r\n\r\n getClass=(type)=>{\r\n switch (type)\r\n {\r\n case \"Info\":\r\n return \"text-info\";\r\n }\r\n //console.log(\"GetClass: \"+type);\r\n }\r\n\r\n constructor(private $scope,private jobService,public jobData)\r\n {\r\n $scope.context=\"job\";\r\n console.log(\"JobDetailController\");\r\n }\r\n }\r\n}\r\n","(function(module) {\ntry { module = angular.module(\"cr.job\"); }\ncatch(err) { module = angular.module(\"cr.job\", []); }\nmodule.run([\"$templateCache\", function($templateCache) {\n $templateCache.put(\"modules/jobs/views/jobdetails.html\",\n \"

{{'JOBDETAIL'|tc:null:messageData }}

  • {{event.Time | date:'h:mm:ss'}} - {{event.Message}}

\");\n}]);\n})();\n\n(function(module) {\ntry { module = angular.module(\"cr.job\"); }\ncatch(err) { module = angular.module(\"cr.job\", []); }\nmodule.run([\"$templateCache\", function($templateCache) {\n $templateCache.put(\"modules/jobs/views/jobsdirective.html\",\n \"
  • Tâches ({{jobCtrl.Summary.Count-jobCtrl.Summary.BusyCount}} / {{jobCtrl.Summary.Count}} terminées)

    0,'progress-bar-warning':jobCtrl.Summary.Warnings>0}\\\" role=\\\"progressbar\\\" aria-valuenow=\\\"{{jobCtrl.Summary.PercentageComplete}}\\\" aria-valuemin=\\\"0\\\" aria-valuemax=\\\"100\\\" ng-style=\\\"jobCtrl.GetStyle(jobCtrl.Summary.PercentageComplete)\\\">{{jobCtrl.Summary.PercentageComplete}}%
  • \");\n}]);\n})();\n\n(function(module) {\ntry { module = angular.module(\"cr.job\"); }\ncatch(err) { module = angular.module(\"cr.job\", []); }\nmodule.run([\"$templateCache\", function($templateCache) {\n $templateCache.put(\"modules/jobs/views/taskdirective.html\",\n \"

    {{task.Type}} - {{task.Status}}

    0,'progress-bar-warning':task.Warnings>0}\\\" role=\\\"progressbar\\\" aria-valuenow=\\\"45\\\" aria-valuemin=\\\"0\\\" aria-valuemax=\\\"100\\\" ng-style=\\\"jobCtrl.GetStyle(task.PercentageComplete)\\\">{{task.PercentageComplete}}% {{'COMPLETE'|t}}

    {{task.Message}}

    \");\n}]);\n})();\n"],"sourceRoot":"/source/"}