Unverified Commit 51fdecd1 authored by badboy-huaqiao's avatar badboy-huaqiao Committed by GitHub
Browse files

feat: Issue #474 (#491)


* feat: add health check for each microsevice when enter into every microservice module
Signed-off-by: default avatarHuaqiao Zhang <huaqiaoz@vmware.com>

* feat: update build product artifact GUI
Signed-off-by: default avatarHuaqiao Zhang <huaqiaoz@vmware.com>
parent e4807412
Showing with 64 additions and 14 deletions
+64 -14
This diff is collapsed.
This diff is collapsed.
"use strict";(self.webpackChunkweb=self.webpackChunkweb||[]).push([[216],{8216:(D,p,s)=>{s.r(p),s.d(p,{CoreDataModule:()=>c});var l=s(8583),d=s(9502),_=s(476);let g=(()=>{class t{constructor(){}ngOnInit(){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=_.Xpm({type:t,selectors:[["app-core-data"]],decls:21,vars:0,consts:function(){let n,e,a;return n=" An event represents a collection of one or more sensor readings. Some sensors or devices are only providing a single value \u2013 a single reading - at a time. Other sensors spew multiple values whenever they are read. An event must have at least one reading. Events are associated to a sensor or device. " + "[\ufffd#7\ufffd\ufffd/#7\ufffd|\ufffd#8\ufffd\ufffd/#8\ufffd|\ufffd#9\ufffd\ufffd/#9\ufffd]" + "" + "[\ufffd#7\ufffd\ufffd/#7\ufffd|\ufffd#8\ufffd\ufffd/#8\ufffd|\ufffd#9\ufffd\ufffd/#9\ufffd]" + " The following data is only for the convenience of the user to view the data format of the data center, which does not make any sense to manipulate! " + "[\ufffd#7\ufffd\ufffd/#7\ufffd|\ufffd#8\ufffd\ufffd/#8\ufffd|\ufffd#9\ufffd\ufffd/#9\ufffd]" + " The dynamic display effect of the data is that only the API of the Core Data service is called periodically, with intervals of 3 seconds. ",n=_.Zx4(n),e="Event",a="Reading",[[1,"card","mb-2"],[1,"card-header"],[1,"fa","fa-info-circle","mr-2","text-info"],[1,"card-body"],n,[1,"card"],[1,"nav","nav-tabs","card-header-tabs","font-weight-bold"],[1,"nav-item"],["routerLink","./event","routerLinkActive","active",1,"nav-link"],e,["routerLink","./reading","routerLinkActive","active",1,"nav-link"],a]},template:function(e,a){1&e&&(_.TgZ(0,"div",0),_.TgZ(1,"div",1),_._UZ(2,"i",2),_.TgZ(3,"span"),_._uU(4,"Tips"),_.qZA(),_.qZA(),_.TgZ(5,"div",3),_.tHW(6,4),_._UZ(7,"br"),_._UZ(8,"br"),_._UZ(9,"br"),_.N_p(),_.qZA(),_.qZA(),_.TgZ(10,"div",5),_.TgZ(11,"div",1),_.TgZ(12,"ul",6),_.TgZ(13,"li",7),_.TgZ(14,"a",8),_.SDv(15,9),_.qZA(),_.qZA(),_.TgZ(16,"li",7),_.TgZ(17,"a",10),_.SDv(18,11),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(19,"div",3),_._UZ(20,"router-outlet"),_.qZA(),_.qZA())},directives:[d.yS,d.Od,d.lC],styles:[""]}),t})();var A=s(2468);let u=(()=>{class t{constructor(e){this.dataSvc=e,this.pauseOperate=!0}ngOnInit(){}feedEvents(){this.feedInterval=setInterval(()=>{this.dataSvc.allEventsPagination(0,5).subscribe(e=>{0!==e.events.length?e.events.forEach((a,i)=>{$("#data-event-stream").prepend('<p class="user-select-all">'+JSON.stringify(a)+"</p>")}):$("#data-event-stream").prepend('<p class="user-select-all">no data stream available, please confirm whether there is at least one device to collect data</p>')})},3e3)}start(){this.pauseOperate=!1,this.feedEvents()}pause(){this.pauseOperate=!0,window.clearInterval(this.feedInterval)}operateToggle(){this.pauseOperate=!this.pauseOperate}ngOnDestroy(){window.clearInterval(this.feedInterval)}}return t.\u0275fac=function(e){return new(e||t)(_.Y36(A.D))},t.\u0275cmp=_.Xpm({type:t,selectors:[["app-event"]],decls:20,vars:2,consts:function(){let n,e,a;return n="Event Data Stream",e="Start",a="Pause",[[1,"card"],[1,"card-header"],[1,"font-weight-bold"],[1,"fa","fa-area-chart","mr-2","text-danger"],[1,"text-secondary"],n,[1,"card-header","p-2"],["role","group",1,"btn-group","btn-group-sm"],[1,"btn","btn-primary",3,"disabled","click"],[1,"fa","fa-play","mr-1"],e,["type","button",1,"btn","btn-info",3,"disabled","click"],[1,"fa","fa-pause","mr-1"],a,[1,"card-body"],["id","data-event-stream",1,"w-100","overflow-auto",2,"height","350px"]]},template:function(e,a){1&e&&(_.TgZ(0,"div",0),_.TgZ(1,"div",1),_.TgZ(2,"span",2),_._UZ(3,"span",3),_.TgZ(4,"span",4),_.SDv(5,5),_.qZA(),_.qZA(),_.qZA(),_.TgZ(6,"div",6),_.TgZ(7,"div",7),_.TgZ(8,"button",8),_.NdJ("click",function(){return a.start()}),_.TgZ(9,"span"),_._UZ(10,"i",9),_.TgZ(11,"span"),_.SDv(12,10),_.qZA(),_.qZA(),_.qZA(),_.TgZ(13,"button",11),_.NdJ("click",function(){return a.pause()}),_.TgZ(14,"span"),_._UZ(15,"i",12),_.TgZ(16,"span"),_.SDv(17,13),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(18,"div",14),_._UZ(19,"pre",15),_.qZA(),_.qZA()),2&e&&(_.xp6(8),_.Q6J("disabled",!a.pauseOperate),_.xp6(5),_.Q6J("disabled",a.pauseOperate))},styles:[".btn[disabled][_ngcontent-%COMP%]:hover{cursor:not-allowed}"]}),t})(),O=(()=>{class t{constructor(e){this.dataSvc=e,this.pauseOperate=!0}ngOnInit(){}feedEvents(){this.feedInterval=setInterval(()=>{this.dataSvc.allReadingsPagination(0,5).subscribe(e=>{0!==e.readings.length?e.readings.forEach((a,i)=>{$("#data-reading-stream").prepend('<p class="user-select-all">'+JSON.stringify(a)+"</p>")}):$("#data-event-stream").prepend('<p class="user-select-all">no data stream available, please confirm whether there is at least one device to collect data</p>')})},3e3)}start(){this.pauseOperate=!1,this.feedEvents()}pause(){this.pauseOperate=!0,window.clearInterval(this.feedInterval)}operateToggle(){this.pauseOperate=!this.pauseOperate}ngOnDestroy(){window.clearInterval(this.feedInterval)}}return t.\u0275fac=function(e){return new(e||t)(_.Y36(A.D))},t.\u0275cmp=_.Xpm({type:t,selectors:[["app-reading"]],decls:20,vars:2,consts:function(){let n,e,a;return n="Reading Data Stream",e="Start",a="Pause",[[1,"card"],[1,"card-header"],[1,"font-weight-bold"],[1,"fa","fa-area-chart","mr-2","text-danger"],[1,"text-secondary"],n,[1,"card-header","p-2"],["role","group",1,"btn-group","btn-group-sm"],[1,"btn","btn-primary",3,"disabled","click"],[1,"fa","fa-play","mr-1"],e,["type","button",1,"btn","btn-info",3,"disabled","click"],[1,"fa","fa-pause","mr-1"],a,[1,"card-body"],["id","data-reading-stream",1,"w-100","overflow-auto",2,"height","350px"]]},template:function(e,a){1&e&&(_.TgZ(0,"div",0),_.TgZ(1,"div",1),_.TgZ(2,"span",2),_._UZ(3,"span",3),_.TgZ(4,"span",4),_.SDv(5,5),_.qZA(),_.qZA(),_.qZA(),_.TgZ(6,"div",6),_.TgZ(7,"div",7),_.TgZ(8,"button",8),_.NdJ("click",function(){return a.start()}),_.TgZ(9,"span"),_._UZ(10,"i",9),_.TgZ(11,"span"),_.SDv(12,10),_.qZA(),_.qZA(),_.qZA(),_.TgZ(13,"button",11),_.NdJ("click",function(){return a.pause()}),_.TgZ(14,"span"),_._UZ(15,"i",12),_.TgZ(16,"span"),_.SDv(17,13),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(18,"div",14),_._UZ(19,"pre",15),_.qZA(),_.qZA()),2&e&&(_.xp6(8),_.Q6J("disabled",!a.pauseOperate),_.xp6(5),_.Q6J("disabled",a.pauseOperate))},styles:[".btn[disabled][_ngcontent-%COMP%]:hover{cursor:not-allowed}"]}),t})();const o=[{path:"",canActivate:[s(5473).a],component:g,children:[{path:"",redirectTo:"event",pathMatch:"full"},{path:"event",component:u},{path:"reading",component:O}]}];let E=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=_.oAB({type:t}),t.\u0275inj=_.cJS({imports:[[d.Bz.forChild(o)],d.Bz]}),t})(),c=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=_.oAB({type:t}),t.\u0275inj=_.cJS({imports:[[l.ez,E]]}),t})()},2468:(D,p,s)=>{s.d(p,{D:()=>A});var l=s(5894),d=s(476),_=s(1841),g=s(4889);let A=(()=>{class u{constructor(r,o){this.http=r,this.errorSvc=o,this.endpoint="/core-data",this.version="/api/v2",this.urlPrefix=`${this.endpoint}${this.version}`,this.configUrl="/config",this.endpointHealthUrl=`${this.urlPrefix}/ping`,this.eventCountUrl=`${this.urlPrefix}/event/count`,this.readingCountUrl=`${this.urlPrefix}/reading/count`,this.allEventsUrl=`${this.urlPrefix}/event/all`,this.allReadingsUrl=`${this.urlPrefix}/reading/all`,this.associatedEventsByDeviceNameUrl=`${this.urlPrefix}/event/device/name/`,this.associatedReadinsByDeviceNameUrl=`${this.urlPrefix}/reading/device/name/`}getConfig(){return this.http.get(`${this.urlPrefix}${this.configUrl}`).pipe((0,l.K)(o=>this.errorSvc.handleError(o)))}endpointHealth(){return this.http.get(`${this.endpointHealthUrl}`).pipe((0,l.K)(o=>this.errorSvc.handleError(o)))}eventCount(){return this.http.get(`${this.eventCountUrl}`).pipe((0,l.K)(o=>this.errorSvc.handleError(o)))}readingCount(){return this.http.get(`${this.readingCountUrl}`).pipe((0,l.K)(o=>this.errorSvc.handleError(o)))}allEventsPagination(r,o){return this.http.get(`${this.allEventsUrl}?offset=${r}&limit=${o}`).pipe((0,l.K)(c=>this.errorSvc.handleError(c)))}allReadingsPagination(r,o){return this.http.get(`${this.allReadingsUrl}?offset=${r}&limit=${o}`).pipe((0,l.K)(c=>this.errorSvc.handleError(c)))}allAssocaitedReadingsByDeviceNamePagination(r,o){return this.http.get(`${this.associatedEventsByDeviceNameUrl}?offset=${r}&limit=${o}`).pipe((0,l.K)(c=>this.errorSvc.handleError(c)))}allAssocaitedEventsByDeviceNamePagination(r,o){return this.http.get(`${this.associatedReadinsByDeviceNameUrl}?offset=${r}&limit=${o}`).pipe((0,l.K)(c=>this.errorSvc.handleError(c)))}}return u.\u0275fac=function(r){return new(r||u)(d.LFG(_.eN),d.LFG(g.T))},u.\u0275prov=d.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"}),u})()}}]);
\ No newline at end of file
"use strict";(self.webpackChunkweb=self.webpackChunkweb||[]).push([[489],{3489:(R,d,r)=>{r.r(d),r.d(d,{CoreDataModule:()=>f});var E=r(8583),s=r(9502),_=r(476);let c=(()=>{class t{constructor(){}ngOnInit(){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=_.Xpm({type:t,selectors:[["app-core-data"]],decls:21,vars:0,consts:function(){let n,e,a;return n=" An event represents a collection of one or more sensor readings. Some sensors or devices are only providing a single value \u2013 a single reading - at a time. Other sensors spew multiple values whenever they are read. An event must have at least one reading. Events are associated to a sensor or device. " + "[\ufffd#7\ufffd\ufffd/#7\ufffd|\ufffd#8\ufffd\ufffd/#8\ufffd|\ufffd#9\ufffd\ufffd/#9\ufffd]" + "" + "[\ufffd#7\ufffd\ufffd/#7\ufffd|\ufffd#8\ufffd\ufffd/#8\ufffd|\ufffd#9\ufffd\ufffd/#9\ufffd]" + " The following data is only for the convenience of the user to view the data format of the data center, which does not make any sense to manipulate! " + "[\ufffd#7\ufffd\ufffd/#7\ufffd|\ufffd#8\ufffd\ufffd/#8\ufffd|\ufffd#9\ufffd\ufffd/#9\ufffd]" + " The dynamic display effect of the data is that only the API of the Core Data service is called periodically, with intervals of 3 seconds. ",n=_.Zx4(n),e="Event",a="Reading",[[1,"card","mb-2"],[1,"card-header"],[1,"fa","fa-info-circle","mr-2","text-info"],[1,"card-body"],n,[1,"card"],[1,"nav","nav-tabs","card-header-tabs","font-weight-bold"],[1,"nav-item"],["routerLink","./event","routerLinkActive","active",1,"nav-link"],e,["routerLink","./reading","routerLinkActive","active",1,"nav-link"],a]},template:function(e,a){1&e&&(_.TgZ(0,"div",0),_.TgZ(1,"div",1),_._UZ(2,"i",2),_.TgZ(3,"span"),_._uU(4,"Tips"),_.qZA(),_.qZA(),_.TgZ(5,"div",3),_.tHW(6,4),_._UZ(7,"br"),_._UZ(8,"br"),_._UZ(9,"br"),_.N_p(),_.qZA(),_.qZA(),_.TgZ(10,"div",5),_.TgZ(11,"div",1),_.TgZ(12,"ul",6),_.TgZ(13,"li",7),_.TgZ(14,"a",8),_.SDv(15,9),_.qZA(),_.qZA(),_.TgZ(16,"li",7),_.TgZ(17,"a",10),_.SDv(18,11),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(19,"div",3),_._UZ(20,"router-outlet"),_.qZA(),_.qZA())},directives:[s.yS,s.Od,s.lC],styles:[""]}),t})();var i=r(2468);let u=(()=>{class t{constructor(e){this.dataSvc=e,this.pauseOperate=!0}ngOnInit(){}feedEvents(){this.feedInterval=setInterval(()=>{this.dataSvc.allEventsPagination(0,5).subscribe(e=>{0!==e.events.length?e.events.forEach((a,o)=>{$("#data-event-stream").prepend('<p class="user-select-all">'+JSON.stringify(a)+"</p>")}):$("#data-event-stream").prepend('<p class="user-select-all">no data stream available, please confirm whether there is at least one device to collect data</p>')})},3e3)}start(){this.pauseOperate=!1,this.feedEvents()}pause(){this.pauseOperate=!0,window.clearInterval(this.feedInterval)}operateToggle(){this.pauseOperate=!this.pauseOperate}ngOnDestroy(){window.clearInterval(this.feedInterval)}}return t.\u0275fac=function(e){return new(e||t)(_.Y36(i.D))},t.\u0275cmp=_.Xpm({type:t,selectors:[["app-event"]],decls:20,vars:2,consts:function(){let n,e,a;return n="Event Data Stream",e="Start",a="Pause",[[1,"card"],[1,"card-header"],[1,"font-weight-bold"],[1,"fa","fa-area-chart","mr-2","text-danger"],[1,"text-secondary"],n,[1,"card-header","p-2"],["role","group",1,"btn-group","btn-group-sm"],[1,"btn","btn-primary",3,"disabled","click"],[1,"fa","fa-play","mr-1"],e,["type","button",1,"btn","btn-info",3,"disabled","click"],[1,"fa","fa-pause","mr-1"],a,[1,"card-body"],["id","data-event-stream",1,"w-100","overflow-auto",2,"height","350px"]]},template:function(e,a){1&e&&(_.TgZ(0,"div",0),_.TgZ(1,"div",1),_.TgZ(2,"span",2),_._UZ(3,"span",3),_.TgZ(4,"span",4),_.SDv(5,5),_.qZA(),_.qZA(),_.qZA(),_.TgZ(6,"div",6),_.TgZ(7,"div",7),_.TgZ(8,"button",8),_.NdJ("click",function(){return a.start()}),_.TgZ(9,"span"),_._UZ(10,"i",9),_.TgZ(11,"span"),_.SDv(12,10),_.qZA(),_.qZA(),_.qZA(),_.TgZ(13,"button",11),_.NdJ("click",function(){return a.pause()}),_.TgZ(14,"span"),_._UZ(15,"i",12),_.TgZ(16,"span"),_.SDv(17,13),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(18,"div",14),_._UZ(19,"pre",15),_.qZA(),_.qZA()),2&e&&(_.xp6(8),_.Q6J("disabled",!a.pauseOperate),_.xp6(5),_.Q6J("disabled",a.pauseOperate))},styles:[".btn[disabled][_ngcontent-%COMP%]:hover{cursor:not-allowed}"]}),t})(),A=(()=>{class t{constructor(e){this.dataSvc=e,this.pauseOperate=!0}ngOnInit(){}feedEvents(){this.feedInterval=setInterval(()=>{this.dataSvc.allReadingsPagination(0,5).subscribe(e=>{0!==e.readings.length?e.readings.forEach((a,o)=>{$("#data-reading-stream").prepend('<p class="user-select-all">'+JSON.stringify(a)+"</p>")}):$("#data-event-stream").prepend('<p class="user-select-all">no data stream available, please confirm whether there is at least one device to collect data</p>')})},3e3)}start(){this.pauseOperate=!1,this.feedEvents()}pause(){this.pauseOperate=!0,window.clearInterval(this.feedInterval)}operateToggle(){this.pauseOperate=!this.pauseOperate}ngOnDestroy(){window.clearInterval(this.feedInterval)}}return t.\u0275fac=function(e){return new(e||t)(_.Y36(i.D))},t.\u0275cmp=_.Xpm({type:t,selectors:[["app-reading"]],decls:20,vars:2,consts:function(){let n,e,a;return n="Reading Data Stream",e="Start",a="Pause",[[1,"card"],[1,"card-header"],[1,"font-weight-bold"],[1,"fa","fa-area-chart","mr-2","text-danger"],[1,"text-secondary"],n,[1,"card-header","p-2"],["role","group",1,"btn-group","btn-group-sm"],[1,"btn","btn-primary",3,"disabled","click"],[1,"fa","fa-play","mr-1"],e,["type","button",1,"btn","btn-info",3,"disabled","click"],[1,"fa","fa-pause","mr-1"],a,[1,"card-body"],["id","data-reading-stream",1,"w-100","overflow-auto",2,"height","350px"]]},template:function(e,a){1&e&&(_.TgZ(0,"div",0),_.TgZ(1,"div",1),_.TgZ(2,"span",2),_._UZ(3,"span",3),_.TgZ(4,"span",4),_.SDv(5,5),_.qZA(),_.qZA(),_.qZA(),_.TgZ(6,"div",6),_.TgZ(7,"div",7),_.TgZ(8,"button",8),_.NdJ("click",function(){return a.start()}),_.TgZ(9,"span"),_._UZ(10,"i",9),_.TgZ(11,"span"),_.SDv(12,10),_.qZA(),_.qZA(),_.qZA(),_.TgZ(13,"button",11),_.NdJ("click",function(){return a.pause()}),_.TgZ(14,"span"),_._UZ(15,"i",12),_.TgZ(16,"span"),_.SDv(17,13),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(18,"div",14),_._UZ(19,"pre",15),_.qZA(),_.qZA()),2&e&&(_.xp6(8),_.Q6J("disabled",!a.pauseOperate),_.xp6(5),_.Q6J("disabled",a.pauseOperate))},styles:[".btn[disabled][_ngcontent-%COMP%]:hover{cursor:not-allowed}"]}),t})();var O=r(8253),F=r(1964),p=r(4294),D=r(5894),g=r(7216);let l=(()=>{class t{constructor(e,a){this.router=e,this.dataSvc=a}canActivate(e,a){return this.checkAvailable(e,a)}canActivateChild(e,a){return this.canActivate(e,a)}checkAvailable(e,a){return this.dataSvc.ping().pipe((0,p.q)(1),(0,D.K)(o=>this.router.navigate(["/svc-unavailable"],{queryParams:{svcName:"core data",routerPath:`/${a.url.split("/")[1]}`}})),(0,g.z)(()=>(0,F.of)(!0)))}}return t.\u0275fac=function(e){return new(e||t)(_.LFG(s.F0),_.LFG(i.D))},t.\u0275prov=_.Yz7({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const T=[{path:"",component:c,canActivate:[O.a,l],canActivateChild:[l],children:[{path:"",redirectTo:"event",pathMatch:"full"},{path:"event",component:u},{path:"reading",component:A}]}];let C=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=_.oAB({type:t}),t.\u0275inj=_.cJS({imports:[[s.Bz.forChild(T)],s.Bz]}),t})(),f=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=_.oAB({type:t}),t.\u0275inj=_.cJS({imports:[[E.ez,C]]}),t})()}}]);
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
"use strict";(self.webpackChunkweb=self.webpackChunkweb||[]).push([[849],{8849:(h,c,i)=>{i.r(c),i.d(c,{DashboardModule:()=>G});var E=i(8583),S=i(9502),_=i(476),D=i(2468),g=i(2437),u=i(8391),v=i(9744),l=i(9386);let C=(()=>{class t{constructor(e,o,s,a,A){this.dataService=e,this.metadataSvc=o,this.schedulerSvc=s,this.notiSvc=a,this.sysSvc=A,this.eventCount=0,this.readingCount=0,this.deviceSvcCount=0,this.deviceCount=0,this.deviceProfileCount=0,this.schedulerCount=0,this.notiCount=0,this.sysSvcStatusDown=0,this.deviceStatusLocked=0,this.deviceSvcStatusLocked=0}ngOnInit(){this.dataService.eventCount().subscribe(e=>this.eventCount=e.Count),this.dataService.readingCount().subscribe(e=>this.readingCount=e.Count),this.metadataSvc.allDeviceServices().subscribe(e=>{this.deviceSvcCount=e.services.length,e.services.forEach((o,s)=>{"LOCKED"===o.adminState&&this.deviceSvcStatusLocked++})}),this.metadataSvc.allDevices().subscribe(e=>{this.deviceCount=e.devices.length,e.devices.forEach((o,s)=>{"LOCKED"===o.adminState&&this.deviceStatusLocked++})}),this.metadataSvc.allDeviceProfolesPagination(0,-1).subscribe(e=>{this.deviceProfileCount=e.profiles.length}),this.schedulerSvc.findAllIntervalsPagination(0,-1).subscribe(e=>{this.schedulerCount=e.intervals.length}),this.notiSvc.findNotificationsByStatusPagination(0,-1,"NEW").subscribe(e=>{this.notiCount=e.notifications.length})}}return t.\u0275fac=function(e){return new(e||t)(_.Y36(D.D),_.Y36(g.D),_.Y36(u.G),_.Y36(v.T),_.Y36(l.J))},t.\u0275cmp=_.Xpm({type:t,selectors:[["app-dashboard"]],decls:76,vars:11,consts:function(){let n,e,o,s,a,A,r,O;return n=" Device Services ",e="Devices",o="Device Profiles",s="Schedulers",a="Notifications",A="Events",r="Readings",O="System Services Monitor",[[1,"row"],[1,"col-lg-4"],["role","button","routerLink","/metadata",1,"card"],[1,"card-body"],[1,"card-title"],n,[1,"d-inline"],[1,"badge","badge-info"],[1,"float-right","badge","badge-danger"],[1,"float-right","badge","badge-success","mr-2"],["role","button","routerLink","/metadata/device-center",1,"card"],e,["role","button","routerLink","/metadata/device-profile-center",1,"card"],o,[1,"row","mt-3"],[1,"col-lg-6"],["role","button","routerLink","/scheduler",1,"card"],s,["href","#",1,"card-link","font-weight-bolder","badge","badge-info"],["role","button","routerLink","/notifications",1,"card"],a,["role","button","routerLink","/core-data",1,"card"],A,r,[1,"col-md-12"],["role","button","routerLink","/system-agent",1,"card"],O]},template:function(e,o){1&e&&(_.TgZ(0,"div",0),_.TgZ(1,"div",1),_.TgZ(2,"div",2),_.TgZ(3,"div",3),_.TgZ(4,"h5",4),_.SDv(5,5),_.qZA(),_.TgZ(6,"h5",6),_.TgZ(7,"span",7),_._uU(8),_.qZA(),_.TgZ(9,"span",8),_._uU(10),_.qZA(),_.TgZ(11,"span",9),_._uU(12),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(13,"div",1),_.TgZ(14,"div",10),_.TgZ(15,"div",3),_.TgZ(16,"h5",4),_.SDv(17,11),_.qZA(),_.TgZ(18,"h5",6),_.TgZ(19,"span",7),_._uU(20),_.qZA(),_.TgZ(21,"span",8),_._uU(22),_.qZA(),_.TgZ(23,"span",9),_._uU(24),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(25,"div",1),_.TgZ(26,"div",12),_.TgZ(27,"div",3),_.TgZ(28,"h5",4),_.SDv(29,13),_.qZA(),_.TgZ(30,"h5",6),_.TgZ(31,"span",7),_._uU(32),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(33,"div",14),_.TgZ(34,"div",15),_.TgZ(35,"div",16),_.TgZ(36,"div",3),_.TgZ(37,"h5",4),_.SDv(38,17),_.qZA(),_.TgZ(39,"h5"),_.TgZ(40,"a",18),_._uU(41),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(42,"div",15),_.TgZ(43,"div",19),_.TgZ(44,"div",3),_.TgZ(45,"h5",4),_.SDv(46,20),_.qZA(),_.TgZ(47,"h5"),_.TgZ(48,"a",18),_._uU(49),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(50,"div",14),_.TgZ(51,"div",15),_.TgZ(52,"div",21),_.TgZ(53,"div",3),_.TgZ(54,"h5",4),_.SDv(55,22),_.qZA(),_.TgZ(56,"h5"),_.TgZ(57,"a",18),_._uU(58),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(59,"div",15),_.TgZ(60,"div",21),_.TgZ(61,"div",3),_.TgZ(62,"h5",4),_.SDv(63,23),_.qZA(),_.TgZ(64,"h5"),_.TgZ(65,"a",18),_._uU(66),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(67,"div",14),_.TgZ(68,"div",24),_.TgZ(69,"div",25),_.TgZ(70,"div",3),_.TgZ(71,"h5",4),_.SDv(72,26),_.qZA(),_.TgZ(73,"h5"),_.TgZ(74,"span",7),_._uU(75,"7"),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA()),2&e&&(_.xp6(8),_.hij(" ",o.deviceSvcCount>20?"20+":o.deviceSvcCount," "),_.xp6(2),_.hij("Locked ",o.deviceSvcStatusLocked,""),_.xp6(2),_.hij("Unlocked ",o.deviceSvcCount-o.deviceSvcStatusLocked,""),_.xp6(8),_.hij(" ",o.deviceCount>20?"20+":o.deviceCount," "),_.xp6(2),_.hij("Locked ",o.deviceStatusLocked,""),_.xp6(2),_.hij("Unlocked ",o.deviceCount-o.deviceStatusLocked,""),_.xp6(8),_.Oqu(o.deviceProfileCount>20?"20+":o.deviceProfileCount),_.xp6(9),_.Oqu(o.schedulerCount>20?"20+":o.schedulerCount),_.xp6(8),_.Oqu(o.notiCount>20?"20+":o.notiCount),_.xp6(9),_.Oqu(o.eventCount),_.xp6(8),_.Oqu(o.readingCount))},directives:[S.rH],styles:[".shadow[_ngcontent-%COMP%]{box-shadow:0 .5rem 1rem #00000026!important;border-radius:.25rem!important}.card[_ngcontent-%COMP%]:hover{box-shadow:0 .5rem 1rem #00000026!important;border-radius:.25rem!important}"]}),t})();const R=[{path:"",canActivate:[i(5473).a],component:C}];let Z=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=_.oAB({type:t}),t.\u0275inj=_.cJS({imports:[[S.Bz.forChild(R)],S.Bz]}),t})(),G=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=_.oAB({type:t}),t.\u0275inj=_.cJS({imports:[[E.ez,Z]]}),t})()}}]);
\ No newline at end of file
"use strict";(self.webpackChunkweb=self.webpackChunkweb||[]).push([[849],{8849:(h,c,i)=>{i.r(c),i.d(c,{DashboardModule:()=>G});var E=i(8583),S=i(9502),_=i(476),D=i(2468),g=i(2437),u=i(8391),v=i(9744),l=i(9386);let C=(()=>{class t{constructor(e,o,s,a,A){this.dataService=e,this.metadataSvc=o,this.schedulerSvc=s,this.notiSvc=a,this.sysSvc=A,this.eventCount=0,this.readingCount=0,this.deviceSvcCount=0,this.deviceCount=0,this.deviceProfileCount=0,this.schedulerCount=0,this.notiCount=0,this.sysSvcStatusDown=0,this.deviceStatusLocked=0,this.deviceSvcStatusLocked=0}ngOnInit(){this.dataService.eventCount().subscribe(e=>this.eventCount=e.Count),this.dataService.readingCount().subscribe(e=>this.readingCount=e.Count),this.metadataSvc.allDeviceServices().subscribe(e=>{this.deviceSvcCount=e.services.length,e.services.forEach((o,s)=>{"LOCKED"===o.adminState&&this.deviceSvcStatusLocked++})}),this.metadataSvc.allDevices().subscribe(e=>{this.deviceCount=e.devices.length,e.devices.forEach((o,s)=>{"LOCKED"===o.adminState&&this.deviceStatusLocked++})}),this.metadataSvc.allDeviceProfolesPagination(0,-1).subscribe(e=>{this.deviceProfileCount=e.profiles.length}),this.schedulerSvc.findAllIntervalsPagination(0,-1).subscribe(e=>{this.schedulerCount=e.intervals.length}),this.notiSvc.findNotificationsByStatusPagination(0,-1,"NEW").subscribe(e=>{this.notiCount=e.notifications.length})}}return t.\u0275fac=function(e){return new(e||t)(_.Y36(D.D),_.Y36(g.D),_.Y36(u.G),_.Y36(v.T),_.Y36(l.J))},t.\u0275cmp=_.Xpm({type:t,selectors:[["app-dashboard"]],decls:76,vars:11,consts:function(){let n,e,o,s,a,A,r,O;return n=" Device Services ",e="Devices",o="Device Profiles",s="Schedulers",a="Notifications",A="Events",r="Readings",O="System Services Monitor",[[1,"row"],[1,"col-lg-4"],["role","button","routerLink","/metadata",1,"card"],[1,"card-body"],[1,"card-title"],n,[1,"d-inline"],[1,"badge","badge-info"],[1,"float-right","badge","badge-danger"],[1,"float-right","badge","badge-success","mr-2"],["role","button","routerLink","/metadata/device-center",1,"card"],e,["role","button","routerLink","/metadata/device-profile-center",1,"card"],o,[1,"row","mt-3"],[1,"col-lg-6"],["role","button","routerLink","/scheduler",1,"card"],s,["href","#",1,"card-link","font-weight-bolder","badge","badge-info"],["role","button","routerLink","/notifications",1,"card"],a,["role","button","routerLink","/core-data",1,"card"],A,r,[1,"col-md-12"],["role","button","routerLink","/system-agent",1,"card"],O]},template:function(e,o){1&e&&(_.TgZ(0,"div",0),_.TgZ(1,"div",1),_.TgZ(2,"div",2),_.TgZ(3,"div",3),_.TgZ(4,"h5",4),_.SDv(5,5),_.qZA(),_.TgZ(6,"h5",6),_.TgZ(7,"span",7),_._uU(8),_.qZA(),_.TgZ(9,"span",8),_._uU(10),_.qZA(),_.TgZ(11,"span",9),_._uU(12),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(13,"div",1),_.TgZ(14,"div",10),_.TgZ(15,"div",3),_.TgZ(16,"h5",4),_.SDv(17,11),_.qZA(),_.TgZ(18,"h5",6),_.TgZ(19,"span",7),_._uU(20),_.qZA(),_.TgZ(21,"span",8),_._uU(22),_.qZA(),_.TgZ(23,"span",9),_._uU(24),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(25,"div",1),_.TgZ(26,"div",12),_.TgZ(27,"div",3),_.TgZ(28,"h5",4),_.SDv(29,13),_.qZA(),_.TgZ(30,"h5",6),_.TgZ(31,"span",7),_._uU(32),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(33,"div",14),_.TgZ(34,"div",15),_.TgZ(35,"div",16),_.TgZ(36,"div",3),_.TgZ(37,"h5",4),_.SDv(38,17),_.qZA(),_.TgZ(39,"h5"),_.TgZ(40,"a",18),_._uU(41),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(42,"div",15),_.TgZ(43,"div",19),_.TgZ(44,"div",3),_.TgZ(45,"h5",4),_.SDv(46,20),_.qZA(),_.TgZ(47,"h5"),_.TgZ(48,"a",18),_._uU(49),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(50,"div",14),_.TgZ(51,"div",15),_.TgZ(52,"div",21),_.TgZ(53,"div",3),_.TgZ(54,"h5",4),_.SDv(55,22),_.qZA(),_.TgZ(56,"h5"),_.TgZ(57,"a",18),_._uU(58),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(59,"div",15),_.TgZ(60,"div",21),_.TgZ(61,"div",3),_.TgZ(62,"h5",4),_.SDv(63,23),_.qZA(),_.TgZ(64,"h5"),_.TgZ(65,"a",18),_._uU(66),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.TgZ(67,"div",14),_.TgZ(68,"div",24),_.TgZ(69,"div",25),_.TgZ(70,"div",3),_.TgZ(71,"h5",4),_.SDv(72,26),_.qZA(),_.TgZ(73,"h5"),_.TgZ(74,"span",7),_._uU(75,"7"),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA(),_.qZA()),2&e&&(_.xp6(8),_.hij(" ",o.deviceSvcCount>20?"20+":o.deviceSvcCount," "),_.xp6(2),_.hij("Locked ",o.deviceSvcStatusLocked,""),_.xp6(2),_.hij("Unlocked ",o.deviceSvcCount-o.deviceSvcStatusLocked,""),_.xp6(8),_.hij(" ",o.deviceCount>20?"20+":o.deviceCount," "),_.xp6(2),_.hij("Locked ",o.deviceStatusLocked,""),_.xp6(2),_.hij("Unlocked ",o.deviceCount-o.deviceStatusLocked,""),_.xp6(8),_.Oqu(o.deviceProfileCount>20?"20+":o.deviceProfileCount),_.xp6(9),_.Oqu(o.schedulerCount>20?"20+":o.schedulerCount),_.xp6(8),_.Oqu(o.notiCount>20?"20+":o.notiCount),_.xp6(9),_.Oqu(o.eventCount),_.xp6(8),_.Oqu(o.readingCount))},directives:[S.rH],styles:[".shadow[_ngcontent-%COMP%]{box-shadow:0 .5rem 1rem #00000026!important;border-radius:.25rem!important}.card[_ngcontent-%COMP%]:hover{box-shadow:0 .5rem 1rem #00000026!important;border-radius:.25rem!important}"]}),t})();const R=[{path:"",canActivate:[i(8253).a],component:C}];let Z=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=_.oAB({type:t}),t.\u0275inj=_.cJS({imports:[[S.Bz.forChild(R)],S.Bz]}),t})(),G=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=_.oAB({type:t}),t.\u0275inj=_.cJS({imports:[[E.ez,Z]]}),t})()}}]);
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
......@@ -23,6 +23,6 @@
<style>*{font-size:14px;}:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;}*,:after,:before{box-sizing:border-box;}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff;}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important;}@page {size:a3;}body{min-width:992px!important;}}</style><link rel="stylesheet" href="styles.35d28981b0fb25a8c5fa.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.35d28981b0fb25a8c5fa.css"></noscript></head>
<body style="background-color: #F1F0F2;">
<app-root></app-root>
<script src="runtime.7a535f9653e7ee591b05.js" defer></script><script src="polyfills.6d7de3732baa4761ebb1.js" defer></script><script src="scripts.36254836038febf0085a.js" defer></script><script src="main.ca8ba0fb3c263cd5716e.js" defer></script>
<script src="runtime.dd47628e4c17717f944f.js" defer></script><script src="polyfills.6d7de3732baa4761ebb1.js" defer></script><script src="scripts.26ebac9fef22bab5ee60.js" defer></script><script src="main.e3dac9b709c99e613431.js" defer></script>
</body></html>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
(()=>{"use strict";var e,v={},m={};function r(e){var n=m[e];if(void 0!==n)return n.exports;var a=m[e]={exports:{}};return v[e](a,a.exports,r),a.exports}r.m=v,e=[],r.O=(n,a,i,o)=>{if(!a){var t=1/0;for(f=0;f<e.length;f++){for(var[a,i,o]=e[f],c=!0,u=0;u<a.length;u++)(!1&o||t>=o)&&Object.keys(r.O).every(p=>r.O[p](a[u]))?a.splice(u--,1):(c=!1,o<t&&(t=o));if(c){e.splice(f--,1);var l=i();void 0!==l&&(n=l)}}return n}o=o||0;for(var f=e.length;f>0&&e[f-1][2]>o;f--)e[f]=e[f-1];e[f]=[a,i,o]},r.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return r.d(n,{a:n}),n},r.d=(e,n)=>{for(var a in n)r.o(n,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:n[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((n,a)=>(r.f[a](e,n),n),[])),r.u=e=>e+"."+{216:"39e2e29b6e96371dd743",357:"b8944818e2c1fc7d3389",568:"70c6ffec67753f9ff2d1",631:"620510a7ea13f778ccd3",641:"367339641eaf3098ce15",679:"76aa13a3029079ba84f5",707:"a7ee9078563e50e63e19",795:"5939e094a017ff81fa46",827:"cb27fecd9077a510a884",849:"2e20a41b9a0740a20e1b",978:"46266348784e56ca63a0"}[e]+".js",r.miniCssF=e=>"styles.35d28981b0fb25a8c5fa.css",r.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),(()=>{var e={},n="web:";r.l=(a,i,o,f)=>{if(e[a])e[a].push(i);else{var t,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),l=0;l<u.length;l++){var d=u[l];if(d.getAttribute("src")==a||d.getAttribute("data-webpack")==n+o){t=d;break}}t||(c=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",n+o),t.src=r.tu(a)),e[a]=[i];var s=(g,p)=>{t.onerror=t.onload=null,clearTimeout(b);var _=e[a];if(delete e[a],t.parentNode&&t.parentNode.removeChild(t),_&&_.forEach(h=>h(p)),g)return g(p)},b=setTimeout(s.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=s.bind(null,t.onerror),t.onload=s.bind(null,t.onload),c&&document.head.appendChild(t)}}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tu=n=>(void 0===e&&(e={createScriptURL:a=>a},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e.createScriptURL(n))})(),r.p="",(()=>{var e={666:0};r.f.j=(i,o)=>{var f=r.o(e,i)?e[i]:void 0;if(0!==f)if(f)o.push(f[2]);else if(666!=i){var t=new Promise((d,s)=>f=e[i]=[d,s]);o.push(f[2]=t);var c=r.p+r.u(i),u=new Error;r.l(c,d=>{if(r.o(e,i)&&(0!==(f=e[i])&&(e[i]=void 0),f)){var s=d&&("load"===d.type?"missing":d.type),b=d&&d.target&&d.target.src;u.message="Loading chunk "+i+" failed.\n("+s+": "+b+")",u.name="ChunkLoadError",u.type=s,u.request=b,f[1](u)}},"chunk-"+i,i)}else e[i]=0},r.O.j=i=>0===e[i];var n=(i,o)=>{var u,l,[f,t,c]=o,d=0;for(u in t)r.o(t,u)&&(r.m[u]=t[u]);if(c)var s=c(r);for(i&&i(o);d<f.length;d++)r.o(e,l=f[d])&&e[l]&&e[l][0](),e[f[d]]=0;return r.O(s)},a=self.webpackChunkweb=self.webpackChunkweb||[];a.forEach(n.bind(null,0)),a.push=n.bind(null,a.push.bind(a))})()})();
\ No newline at end of file
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment