{"version":3,"file":"app-9d2a3790.123d4bfa84988b97.bundle.js","mappings":"sOAGIA,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,uyCAAwyC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,oFAAoF,MAAQ,GAAG,SAAW,oYAAoY,eAAiB,CAAC,i+DAAm+D,WAAa,MAE51H,S,iICJIH,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,6zBAA8zB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wDAAwD,MAAQ,GAAG,SAAW,iUAAiU,eAAiB,CAAC,42CAA82C,WAAa,MAE9pF,S,yECPAD,EAAOE,QAAU,+iH,6CCAjBF,EAAOE,QAAU,0xC,4nBCUV,IAAMC,EAAN,MAIH,WAAAC,CAAoBC,EAAwBC,EAA8BC,GAAtD,KAAAF,OAAAA,EAAwB,KAAAC,UAAAA,EAA8B,KAAAC,WAAAA,EAFlE,KAAAC,SAA8B,EAEoE,CAE1G,UAAMC,GACFC,QAAQC,IAAI,0BAA2BC,KAAKC,WAC5CD,KAAKE,gBAET,CAEA,sBAAMC,GACFH,KAAKE,gBACT,CAEA,oBAAMA,GACFF,KAAKJ,eAAiBI,KAAKN,UAAUU,QAAQJ,KAAKL,WAAWM,WAAWI,IAAI,sCAAsCC,0BAClHR,QAAQC,IAAI,iBAAmBC,KAAKJ,SACxC,CAEA,aAAAW,GACIP,KAAKP,OAAOe,gBAAgB,oBAAoB,CAACP,UAAWD,KAAKC,WACrE,CAEQ,mBAAAQ,CAAoBC,EAAwBC,GACtD,OAAOA,EAAmB,EAAI,GAAGD,OAAqBC,IAAqB,EAC5E,CAEW,UAAAC,CAAWC,GACrB,OAAO,IAAkBD,WAAWC,EACrC,GA9BG,GAAC,EAAAC,S,yDADQvB,EAAiB,GAD7B,EAAAwB,W,uBAK+B,KAA2B,IAA+B,OAJ7ExB,E,8MCEN,IAAMyB,EAAN,MAEH,WAAAxB,CAAmBG,EACbsB,EACAvB,EACAwB,EACAC,GAJa,KAAAxB,WAAAA,EACb,KAAAsB,oBAAAA,EACA,KAAAvB,UAAAA,EACA,KAAAwB,OAAAA,EACA,KAAAC,aAAAA,CACN,CAEA,cAAMC,CAASC,GACXvB,QAAQC,IAAI,iBAAkBsB,GACN,IAApBA,EAAOpB,WAAuCqB,MAApBD,EAAOpB,YACjCD,KAAKL,WAAW4B,WAAWF,EAAOpB,iBACrCD,KAAKiB,oBAAoBO,uBAAuBH,EAAOpB,UAAWD,KAAKN,WAC7EM,KAAKkB,OAAOO,QAAQ,oCACXzB,KAAK0B,eAAiB1B,KAAKL,WAAWgC,qBAI9C,CAEH,eAAMC,GACL,MACMC,QADyC7B,KAAKmB,aAAaW,YAAY,QAAQ,iBAAiB,GAEhGC,QAA8BF,EAAIG,YAClCC,EAAWF,EAAIG,OAGrB,GAFApC,QAAQC,IAAI,wBAAyBgC,GACrCjC,QAAQC,IAAI,aAAckC,GACtBA,EAASE,WAEZ,MADArC,QAAQC,IAAI,sBACN,qBAER,CAEA,iBAAMqC,CAAYf,EAAagB,EAA0BC,GACxD,aAAa,OAAuBjB,EAAQrB,KAAKiB,oBAAqBjB,KAAKN,UAC5E,CAEG,IAAAG,GACIC,QAAQC,IAAI,iBAChB,GAxCSiB,E,mUAAS,EADrB,EAAAD,W,kIAGiC,IACH,IACV,IACH,EAAAwB,gBACK,OANVvB,E","sources":["webpack://client-app/./src/app/project/dashboard/changelog-overview/changelog-overview.scss","webpack://client-app/./src/app/project/dashboard/dashboard.scss","webpack://client-app/./src/app/project/dashboard/changelog-overview/changelog-overview.html","webpack://client-app/./src/app/project/dashboard/dashboard.html","webpack://client-app/./src/app/project/dashboard/changelog-overview/changelog-overview.ts","webpack://client-app/./src/app/project/dashboard/dashboard.ts"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dashboard-container-changelog{padding:15px}.dashboard-container-changelog-top-area-left{float:left}.dashboard-container-changelog-top-area-right{float:right}.dashboard-container-changelog-top-area-right h5:hover{cursor:pointer}.dashboard-container-changelog .changelog-button{float:right}.dashboard-container-changelog-grid{width:100%}.dashboard-container-changelog-grid td,.dashboard-container-changelog-grid th{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:0;padding-left:5px;padding-right:5px}.dashboard-container-changelog-grid td button,.dashboard-container-changelog-grid th button{display:flex;width:15px;height:15px;justify-content:center;align-items:center}.dashboard-container-changelog-grid thead tr{line-height:3em;height:3em}.dashboard-container-changelog-grid thead tr th{border:1px solid rgba(0,0,0,.175);border-top:0px}.dashboard-container-changelog-grid thead tr th:first-child{border-left:0px}.dashboard-container-changelog-grid thead tr th:last-child{border-right:0px}.dashboard-container-changelog-grid tbody tr{line-height:2em;height:2em}.dashboard-container-changelog-grid tbody tr td{border:1px solid rgba(0,0,0,.175)}.dashboard-container-changelog-grid tbody tr td:first-child{border-left:0px}.dashboard-container-changelog-grid tbody tr td:last-child{border-right:0px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/project/dashboard/changelog-overview/changelog-overview.scss\"],\"names\":[],\"mappings\":\"AAEA,+BACI,YAAA,CAEI,6CACI,UAAA,CAEJ,8CACI,WAAA,CACA,uDACI,cAAA,CAIZ,iDACI,WAAA,CAEJ,oCAEI,UAAA,CACA,8EACI,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,gBAAA,CACA,iBAAA,CACA,4FACI,YAAA,CACA,UAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAAA,CASJ,6CACI,eAAA,CACA,UAAA,CACA,gDACI,iCAAA,CACA,cAAA,CAEJ,4DACI,eAAA,CAEJ,2DACI,gBAAA,CAKR,6CACI,eAAA,CACA,UAAA,CACA,gDACI,iCAAA,CAEJ,4DACI,eAAA,CAEJ,2DACI,gBAAA\",\"sourcesContent\":[\"@import \\\"src/resources/customized-styles/variables\\\";\\r\\n\\r\\n.dashboard-container-changelog {\\r\\n padding: 15px;\\r\\n &-top-area {\\r\\n &-left {\\r\\n float: left; \\r\\n }\\r\\n &-right {\\r\\n float: right; \\r\\n h5:hover {\\r\\n cursor: pointer;\\r\\n }\\r\\n }\\r\\n }\\r\\n .changelog-button {\\r\\n float:right;\\r\\n }\\r\\n &-grid {\\r\\n // background-color: red;\\r\\n width: 100%;\\r\\n td, th{\\r\\n overflow: hidden;\\r\\n white-space: nowrap;\\r\\n text-overflow: ellipsis;\\r\\n max-width: 0;\\r\\n padding-left:5px;\\r\\n padding-right:5px;\\r\\n button {\\r\\n display: flex;\\r\\n width: 15px;\\r\\n height: 15px;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n }\\r\\n thead {\\r\\n // position: sticky;\\r\\n // top:0;\\r\\n // z-index: 10;\\r\\n // background-color: white;\\r\\n tr {\\r\\n line-height: 3em;\\r\\n height: 3em;\\r\\n th {\\r\\n border: 1px solid $border-color;\\r\\n border-top: 0px;\\r\\n }\\r\\n th:first-child {\\r\\n border-left: 0px;\\r\\n }\\r\\n th:last-child {\\r\\n border-right: 0px;\\r\\n }\\r\\n }\\r\\n }\\r\\n tbody {\\r\\n tr {\\r\\n line-height: 2em;\\r\\n height: 2em;\\r\\n td {\\r\\n border: 1px solid $border-color;\\r\\n }\\r\\n td:first-child {\\r\\n border-left: 0px;\\r\\n }\\r\\n td:last-child {\\r\\n border-right: 0px;\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dashboard-top-bar{border-bottom:1px solid #d3d3d3}.dashboard-container{display:block;height:calc(100vh - 4em);overflow:auto}.dashboard-container dashboard-routes{display:block;min-width:600px;height:65px;width:calc(100% - 30px);margin:15px 15px 15px 15px}.dashboard-container changelog-overview{display:block;min-width:600px;height:calc(100vh - 360px - 65px - 4em);width:calc(100% - 30px);margin:15px 15px 15px 15px;border-radius:5px;overflow:hidden}.dashboard-container-bottom-area{display:grid;min-width:600px;grid-template-columns:calc(33.3333333333% - 10px) calc(33.3333333333% - 10px) calc(33.3333333333% - 10px);justify-content:space-between;height:290px;width:calc(100% - 30px);margin:15px 15px 15px 15px}.dashboard-container-bottom-area .bottom-area-column{padding:10px;height:100%;border-radius:10px;overflow:hidden}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/project/dashboard/dashboard.scss\"],\"names\":[],\"mappings\":\"AAGA,mBACI,+BAAA,CAEJ,qBACI,aAAA,CACA,wBAAA,CACA,aAAA,CACA,sCACI,aAAA,CACA,eAAA,CACA,WAZQ,CAaR,uBAAA,CACA,0BAAA,CAGJ,wCACI,aAAA,CACA,eAAA,CACA,uCAAA,CACA,uBAAA,CACA,0BAAA,CACA,iBAAA,CACA,eAAA,CAGJ,iCACI,YAAA,CACA,eAAA,CACA,yGAAA,CACA,6BAAA,CACA,YAAA,CACA,uBAAA,CACA,0BAAA,CACA,qDACI,YAAA,CACA,WAAA,CACA,kBAAA,CACA,eAAA\",\"sourcesContent\":[\"@import \\\"src/resources/customized-styles/variables\\\";\\r\\n$routes-height: 65px;\\r\\n$bottom-area: 360px;\\r\\n.dashboard-top-bar {\\r\\n border-bottom: 1px solid lightgray;\\r\\n}\\r\\n.dashboard-container {\\r\\n display: block;\\r\\n height: calc(100vh - ($top-bar-height));\\r\\n overflow: auto;\\r\\n dashboard-routes {\\r\\n display: block;\\r\\n min-width: 600px;\\r\\n height: $routes-height;\\r\\n width: calc(100% - 30px);\\r\\n margin: 15px 15px 15px 15px;\\r\\n }\\r\\n\\r\\n changelog-overview {\\r\\n display: block;\\r\\n min-width: 600px;\\r\\n height: calc(100vh - $bottom-area - $routes-height - $top-bar-height);\\r\\n width: calc(100% - 30px);\\r\\n margin: 15px 15px 15px 15px;\\r\\n border-radius: 5px;\\r\\n overflow: hidden;\\r\\n }\\r\\n \\r\\n &-bottom-area {\\r\\n display: grid;\\r\\n min-width: 600px;\\r\\n grid-template-columns: calc((100% / 3) - 10px) calc((100% / 3) - 10px) calc((100% / 3) - 10px);//A way to get 15 margin between the columns.\\r\\n justify-content: space-between;\\r\\n height: 290px;\\r\\n width: calc(100% - 30px);\\r\\n margin: 15px 15px 15px 15px;\\r\\n .bottom-area-column {\\r\\n padding: 10px;\\r\\n height: 100%;\\r\\n border-radius: 10px;\\r\\n overflow: hidden;\\r\\n }\\r\\n }\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = \"\";","module.exports = \"\\r\\n\";","import { SyncRevisionDto } from 'app/models/sync-revision-dto';\r\nimport { ApiClient } from 'app/services/api-client';\r\nimport { AppContextService } from 'app/services/app-context-service';\r\nimport { DateTimeFormatter } from 'app/services/date-time-formatter';\r\nimport { bindable } from 'aurelia-framework';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport { Router } from 'aurelia-router';\r\n\r\n\r\n@autoinject\r\nexport class ChangelogOverview {\r\n @bindable private projectId: string | undefined;\r\n private syncRevs: SyncRevisionDto[] = [];\r\n\r\n constructor(private router: Router, private apiClient: ApiClient, private appContext: AppContextService) {}\r\n\r\n async bind(): Promise {\r\n console.log(\"changelog-overview:bind\", this.projectId);\r\n this.setupChangeLog();//Should not be awaited.\r\n \r\n }\r\n\r\n async projectIdChanged(): Promise {\r\n this.setupChangeLog();\r\n }\r\n \r\n async setupChangeLog() {\r\n this.syncRevs = await this.apiClient.project(this.appContext.projectId).get(\"Changelog/GetChangeLogForDashboard\").jsonResultNoLoadingIcon();\r\n console.log(\"this.syncRevs \" , this.syncRevs);\r\n }\r\n\r\n goToChangeLog(): void {\r\n this.router.navigateToRoute('project/changelog',{projectId: this.projectId});\r\n }\r\n\r\n private inSyncInTotalFormat(instancesInSync:number, instancesInTotal: number): string {\r\n\t\treturn instancesInTotal > 0 ? `${instancesInSync} / ${instancesInTotal}` : \"\";\r\n\t}\r\n\r\n private formatDate(date: string): string {\r\n\t\treturn DateTimeFormatter.formatDate(date);\r\n\t}\r\n}","import { ModalService } from 'app/services/modal-service';\r\nimport { ProjectDto } from 'app/models/project-dto';\r\nimport { AppContextService } from 'app/services/app-context-service';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport {ProjectTokenService} from \"../../services/project-token-service\";\r\nimport {ApiClient} from \"../../services/api-client\";\r\nimport {EventAggregator} from \"aurelia-event-aggregator\";\r\nimport {NavigationInstruction, RouteConfig} from \"aurelia-router\";\r\nimport {verifyAccessOrRedirect} from \"../access-denied-page/access-redirecter\";\r\nimport { DialogCancellableOpenResult, DialogCloseResult, DialogOpenResult } from 'aurelia-dialog';\r\n\r\n@autoinject\r\nexport class Dashboard {\r\n private currentProject: ProjectDto | undefined;\r\n constructor(public appContext:AppContextService, \r\n\t\tprivate projectTokenService: ProjectTokenService, \r\n\t\tprivate apiClient: ApiClient, \r\n\t\tprivate events: EventAggregator,\r\n\t\tprivate modalService:ModalService\r\n\t) {}\r\n\r\n async activate(params: any): Promise {\r\n console.log(\"dashboard:bind\", params);\r\n if (params.projectId != \"\" && params.projectId != undefined) {\r\n this.appContext.setProject(params.projectId);//in-activate. \r\n\t\t\tawait this.projectTokenService.updatePrjTokenIfNeeded(params.projectId, this.apiClient)\r\n\t\t\tthis.events.publish(\"project-selector:project-changed\");\r\n this.currentProject = this.appContext.getSelectedProject();\r\n }\r\n\r\n\t\t//await this.testReset(); // use this to test whether Collab's reset works.\r\n }\r\n\r\n\tasync testReset():Promise {\r\n\t\tconst dcor:DialogCancellableOpenResult = await this.modalService.OpenMessage('title','testing reset', true);\r\n\t\tconst dor:DialogOpenResult = dcor;\r\n\t\tconst dcr:DialogCloseResult = await dor.closeResult;\r\n\t\tconst q_output = dcr.output;\r\n\t\tconsole.log('after testReset, dcr:', dcr);\r\n\t\tconsole.log('output is:', q_output);\r\n\t\tif (q_output.errorReset) {\r\n\t\t\tconsole.log('we will now throw!');\r\n\t\t\tthrow 'thrown by testReset'; \r\n\t\t} // hurra, vi har afsløret hvorfor collabs fejlhaandtering aldrig virkede..\r\n\t}\r\n\r\n\tasync canActivate(params: any, routeConfig: RouteConfig, navigationInstruction: NavigationInstruction) {\r\n\t\treturn await verifyAccessOrRedirect(params, this.projectTokenService, this.apiClient);\r\n\t}\r\n\r\n bind(): void {\r\n console.log(\"dashboard:bind\");\r\n }\r\n}\r\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","ChangelogOverview","constructor","router","apiClient","appContext","syncRevs","bind","console","log","this","projectId","setupChangeLog","projectIdChanged","project","get","jsonResultNoLoadingIcon","goToChangeLog","navigateToRoute","inSyncInTotalFormat","instancesInSync","instancesInTotal","formatDate","date","bindable","autoinject","Dashboard","projectTokenService","events","modalService","activate","params","undefined","setProject","updatePrjTokenIfNeeded","publish","currentProject","getSelectedProject","testReset","dor","OpenMessage","dcr","closeResult","q_output","output","errorReset","canActivate","routeConfig","navigationInstruction","EventAggregator"],"sourceRoot":""}