@valtimo/dossier 4.15.3-next-main.16 → 4.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/bundles/valtimo-dossier.umd.js +1820 -1675
  2. package/bundles/valtimo-dossier.umd.js.map +1 -1
  3. package/bundles/valtimo-dossier.umd.min.js +1 -15
  4. package/bundles/valtimo-dossier.umd.min.js.map +1 -1
  5. package/esm2015/lib/dossier-detail/dossier-detail.component.js +92 -92
  6. package/esm2015/lib/dossier-detail/tab/audit/audit.component.js +79 -79
  7. package/esm2015/lib/dossier-detail/tab/contact-moments/contact-moments.component.js +90 -91
  8. package/esm2015/lib/dossier-detail/tab/documents/documents.component.js +122 -119
  9. package/esm2015/lib/dossier-detail/tab/progress/progress.component.js +49 -49
  10. package/esm2015/lib/dossier-detail/tab/summary/summary.component.js +126 -126
  11. package/esm2015/lib/dossier-detail-tab-enum.js +24 -24
  12. package/esm2015/lib/dossier-list/dossier-list.component.js +216 -216
  13. package/esm2015/lib/dossier-process-start-modal/dossier-process-start-modal.component.js +130 -131
  14. package/esm2015/lib/dossier-routing.module.js +58 -58
  15. package/esm2015/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.js +125 -126
  16. package/esm2015/lib/dossier-update/dossier-update.component.js +121 -121
  17. package/esm2015/lib/dossier.config.js +29 -29
  18. package/esm2015/lib/dossier.module.js +121 -121
  19. package/esm2015/lib/dossier.service.js +53 -53
  20. package/esm2015/lib/models/index.js +19 -0
  21. package/esm2015/lib/models/tabs.model.js +104 -0
  22. package/esm2015/lib/tab.service.js +44 -44
  23. package/esm2015/public_api.js +32 -31
  24. package/esm2015/valtimo-dossier.js +9 -9
  25. package/fesm2015/valtimo-dossier.js +1457 -1333
  26. package/fesm2015/valtimo-dossier.js.map +1 -1
  27. package/lib/dossier-detail/dossier-detail.component.d.ts +34 -34
  28. package/lib/dossier-detail/tab/audit/audit.component.d.ts +21 -21
  29. package/lib/dossier-detail/tab/contact-moments/contact-moments.component.d.ts +26 -27
  30. package/lib/dossier-detail/tab/documents/documents.component.d.ts +43 -44
  31. package/lib/dossier-detail/tab/progress/progress.component.d.ts +14 -14
  32. package/lib/dossier-detail/tab/summary/summary.component.d.ts +37 -37
  33. package/lib/dossier-detail-tab-enum.d.ts +7 -7
  34. package/lib/dossier-list/dossier-list.component.d.ts +64 -65
  35. package/lib/dossier-process-start-modal/dossier-process-start-modal.component.d.ts +36 -37
  36. package/lib/dossier-routing.module.d.ts +2 -2
  37. package/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts +34 -35
  38. package/lib/dossier-update/dossier-update.component.d.ts +33 -33
  39. package/lib/dossier.config.d.ts +3 -3
  40. package/lib/dossier.module.d.ts +5 -5
  41. package/lib/dossier.service.d.ts +10 -10
  42. package/lib/models/index.d.ts +1 -0
  43. package/lib/models/tabs.model.d.ts +50 -0
  44. package/lib/tab.service.d.ts +7 -7
  45. package/package.json +1 -1
  46. package/public_api.d.ts +13 -12
  47. package/valtimo-dossier.d.ts +8 -8
  48. package/valtimo-dossier.metadata.json +1 -1
@@ -1,92 +1,92 @@
1
- /*
2
- * Copyright 2015-2020 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component, ComponentFactoryResolver, ViewChild, ViewContainerRef, } from '@angular/core';
17
- import { ActivatedRoute, Router } from '@angular/router';
18
- import { DocumentService } from '@valtimo/document';
19
- import { TabLoaderImpl } from '@valtimo/contract';
20
- import { TranslateService } from '@ngx-translate/core';
21
- import { Location } from '@angular/common';
22
- import { TabService } from '../tab.service';
23
- import { ProcessService } from '@valtimo/process';
24
- import { DossierSupportingProcessStartModalComponent } from '../dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component';
25
- export class DossierDetailComponent {
26
- constructor(componentFactoryResolver, translateService, documentService, processService, route, router, location, tabService) {
27
- this.componentFactoryResolver = componentFactoryResolver;
28
- this.translateService = translateService;
29
- this.documentService = documentService;
30
- this.processService = processService;
31
- this.route = route;
32
- this.router = router;
33
- this.location = location;
34
- this.tabService = tabService;
35
- this.document = null;
36
- this.tabLoader = null;
37
- this.processDefinitionListFields = [];
38
- this.processDocumentDefinitions = [];
39
- this.snapshot = this.route.snapshot.paramMap;
40
- this.documentDefinitionName = this.snapshot.get('documentDefinitionName') || '';
41
- this.documentId = this.snapshot.get('documentId') || '';
42
- }
43
- ngOnInit() {
44
- this.tabLoader = new TabLoaderImpl(this.tabService.getTabs(), this.componentFactoryResolver, this.viewContainerRef, this.translateService, this.router, this.location);
45
- this.documentService
46
- .getDocumentDefinition(this.documentDefinitionName)
47
- .subscribe(definition => {
48
- this.documentDefinitionNameTitle = definition.schema.title;
49
- });
50
- this.initialTabName = this.snapshot.get('tab');
51
- this.tabLoader.initial(this.initialTabName);
52
- this.getAllAssociatedProcessDefinitions();
53
- }
54
- getAllAssociatedProcessDefinitions() {
55
- this.documentService
56
- .findProcessDocumentDefinitions(this.documentDefinitionName)
57
- .subscribe(processDocumentDefinitions => {
58
- this.processDocumentDefinitions = processDocumentDefinitions.filter(processDocumentDefinition => processDocumentDefinition.startableByUser);
59
- this.processDefinitionListFields = [
60
- {
61
- key: 'processName',
62
- label: 'Proces',
63
- },
64
- ];
65
- });
66
- }
67
- startProcess(processDocumentDefinition) {
68
- this.supportingProcessStart.openModal(processDocumentDefinition, this.documentId);
69
- }
70
- }
71
- DossierDetailComponent.decorators = [
72
- { type: Component, args: [{
73
- selector: 'valtimo-dossier-detail',
74
- template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"card-header bg-light card-header-divider pb-5\">\n {{ documentDefinitionNameTitle }}\n <div class=\"btn-group mt-m3px mb-3 float-right\">\n <valtimo-extension\n module=\"dossier\"\n page=\"dossier-detail\"\n section=\"card-header\"\n ></valtimo-extension>\n <div class=\"dropdown\">\n <button\n class=\"btn btn-primary dropdown-toggle\"\n type=\"button\"\n id=\"startProcessDropdown\"\n placement=\"bottom\"\n [ngbTooltip]=\"processDocumentDefinitions.length === 0 ? 'No action' : null\"\n [disabled]=\"processDocumentDefinitions.length === 0\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <span>Start</span>\n <i class=\"pl-2 fas fa-caret-down\"></i>\n </button>\n <div class=\"dropdown-menu dropdown-menu-right\" aria-labelledby=\"startProcessDropdown\">\n <button\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n class=\"dropdown-item p\"\n href=\"#\"\n (click)=\"startProcess(processDocumentDefinition)\"\n >\n {{ processDocumentDefinition.processName }}\n </button>\n </div>\n </div>\n </div>\n </div>\n <ul class=\"nav nav-tabs\">\n <li class=\"nav-item\" *ngFor=\"let tab of tabLoader.tabs\">\n <a\n id=\"{{ tab.name }}-tab\"\n class=\"nav-link clickable\"\n [ngClass]=\"{active: tab.isActive()}\"\n data-toggle=\"tab\"\n (click)=\"tabLoader.load(tab)\"\n >\n {{ tabLoader.translateTabName(tab) }}\n </a>\n </li>\n </ul>\n <div class=\"card-body bg-white p-5 position-relative tab-container\">\n <ng-template #tabContainer>Loading...</ng-template>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </div>\n <valtimo-dossier-supporting-process-start-modal\n (formSubmit)=\"tabLoader.refreshView()\"\n #supportingProcessStartModal\n ></valtimo-dossier-supporting-process-start-modal>\n </div>\n</div>\n",
75
- styles: [".tab-container{min-height:300px}"]
76
- },] }
77
- ];
78
- DossierDetailComponent.ctorParameters = () => [
79
- { type: ComponentFactoryResolver },
80
- { type: TranslateService },
81
- { type: DocumentService },
82
- { type: ProcessService },
83
- { type: ActivatedRoute },
84
- { type: Router },
85
- { type: Location },
86
- { type: TabService }
87
- ];
88
- DossierDetailComponent.propDecorators = {
89
- viewContainerRef: [{ type: ViewChild, args: ['tabContainer', { read: ViewContainerRef, static: true },] }],
90
- supportingProcessStart: [{ type: ViewChild, args: ['supportingProcessStartModal',] }]
91
- };
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1dvcmtzcGFjZS92YWx0aW1vL3ZhbHRpbW8tZnJvbnRlbmQtbGlicmFyaWVzL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvIiwic291cmNlcyI6WyJsaWIvZG9zc2llci1kZXRhaWwvZG9zc2llci1kZXRhaWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCx3QkFBd0IsRUFFeEIsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsY0FBYyxFQUFZLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQXNDLGFBQWEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBQywyQ0FBMkMsRUFBQyxNQUFNLDRGQUE0RixDQUFDO0FBT3ZKLE1BQU0sT0FBTyxzQkFBc0I7SUFnQmpDLFlBQ1Usd0JBQWtELEVBQ2xELGdCQUFrQyxFQUNsQyxlQUFnQyxFQUNoQyxjQUE4QixFQUM5QixLQUFxQixFQUNyQixNQUFjLEVBQ2QsUUFBa0IsRUFDbEIsVUFBc0I7UUFQdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWpCekIsYUFBUSxHQUFhLElBQUksQ0FBQztRQUMxQixjQUFTLEdBQWtCLElBQUksQ0FBQztRQUVoQyxnQ0FBMkIsR0FBZSxFQUFFLENBQUM7UUFDN0MsK0JBQTBCLEdBQWdDLEVBQUUsQ0FBQztRQWVsRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUM3QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksYUFBYSxDQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUN6QixJQUFJLENBQUMsd0JBQXdCLEVBQzdCLElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsSUFBSSxDQUFDLGdCQUFnQixFQUNyQixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlO2FBQ2pCLHFCQUFxQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQzthQUNsRCxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLDJCQUEyQixHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVNLGtDQUFrQztRQUN2QyxJQUFJLENBQUMsZUFBZTthQUNqQiw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7YUFDM0QsU0FBUyxDQUFDLDBCQUEwQixDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLDBCQUEwQixDQUFDLE1BQU0sQ0FDakUseUJBQXlCLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLGVBQWUsQ0FDdkUsQ0FBQztZQUNGLElBQUksQ0FBQywyQkFBMkIsR0FBRztnQkFDakM7b0JBQ0UsR0FBRyxFQUFFLGFBQWE7b0JBQ2xCLEtBQUssRUFBRSxRQUFRO2lCQUNoQjthQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxZQUFZLENBQUMseUJBQW9EO1FBQy9ELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7OztZQXpFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsK3NHQUE4Qzs7YUFFL0M7OztZQWxCQyx3QkFBd0I7WUFRbEIsZ0JBQWdCO1lBRmhCLGVBQWU7WUFLZixjQUFjO1lBTmQsY0FBYztZQUFZLE1BQU07WUFJaEMsUUFBUTtZQUNSLFVBQVU7OzsrQkFVZixTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7cUNBWWhFLFNBQVMsU0FBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXAsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge0RvY3VtZW50LCBQcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uLCBUYWJMb2FkZXJJbXBsfSBmcm9tICdAdmFsdGltby9jb250cmFjdCc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtMb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VGFiU2VydmljZX0gZnJvbSAnLi4vdGFiLnNlcnZpY2UnO1xuaW1wb3J0IHtQcm9jZXNzU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vcHJvY2Vzcyc7XG5pbXBvcnQge0Rvc3NpZXJTdXBwb3J0aW5nUHJvY2Vzc1N0YXJ0TW9kYWxDb21wb25lbnR9IGZyb20gJy4uL2Rvc3NpZXItc3VwcG9ydGluZy1wcm9jZXNzLXN0YXJ0LW1vZGFsL2Rvc3NpZXItc3VwcG9ydGluZy1wcm9jZXNzLXN0YXJ0LW1vZGFsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZG9zc2llci1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9zc2llci1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb3NzaWVyLWRldGFpbC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCd0YWJDb250YWluZXInLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlfSlcbiAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZjtcblxuICBwdWJsaWMgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZG9jdW1lbnREZWZpbml0aW9uTmFtZVRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBkb2N1bWVudElkOiBzdHJpbmc7XG4gIHB1YmxpYyBkb2N1bWVudDogRG9jdW1lbnQgPSBudWxsO1xuICBwdWJsaWMgdGFiTG9hZGVyOiBUYWJMb2FkZXJJbXBsID0gbnVsbDtcbiAgcHJpdmF0ZSBzbmFwc2hvdDogUGFyYW1NYXA7XG4gIHB1YmxpYyBwcm9jZXNzRGVmaW5pdGlvbkxpc3RGaWVsZHM6IEFycmF5PGFueT4gPSBbXTtcbiAgcHVibGljIHByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zOiBQcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBpbml0aWFsVGFiTmFtZTogc3RyaW5nO1xuICBAVmlld0NoaWxkKCdzdXBwb3J0aW5nUHJvY2Vzc1N0YXJ0TW9kYWwnKVxuICBzdXBwb3J0aW5nUHJvY2Vzc1N0YXJ0OiBEb3NzaWVyU3VwcG9ydGluZ1Byb2Nlc3NTdGFydE1vZGFsQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcm9jZXNzU2VydmljZTogUHJvY2Vzc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICBwcml2YXRlIHRhYlNlcnZpY2U6IFRhYlNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zbmFwc2hvdCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXA7XG4gICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lID0gdGhpcy5zbmFwc2hvdC5nZXQoJ2RvY3VtZW50RGVmaW5pdGlvbk5hbWUnKSB8fCAnJztcbiAgICB0aGlzLmRvY3VtZW50SWQgPSB0aGlzLnNuYXBzaG90LmdldCgnZG9jdW1lbnRJZCcpIHx8ICcnO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy50YWJMb2FkZXIgPSBuZXcgVGFiTG9hZGVySW1wbChcbiAgICAgIHRoaXMudGFiU2VydmljZS5nZXRUYWJzKCksXG4gICAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSxcbiAgICAgIHRoaXMucm91dGVyLFxuICAgICAgdGhpcy5sb2NhdGlvblxuICAgICk7XG4gICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcbiAgICAgIC5nZXREb2N1bWVudERlZmluaXRpb24odGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgICAgLnN1YnNjcmliZShkZWZpbml0aW9uID0+IHtcbiAgICAgICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lVGl0bGUgPSBkZWZpbml0aW9uLnNjaGVtYS50aXRsZTtcbiAgICAgIH0pO1xuICAgIHRoaXMuaW5pdGlhbFRhYk5hbWUgPSB0aGlzLnNuYXBzaG90LmdldCgndGFiJyk7XG4gICAgdGhpcy50YWJMb2FkZXIuaW5pdGlhbCh0aGlzLmluaXRpYWxUYWJOYW1lKTtcbiAgICB0aGlzLmdldEFsbEFzc29jaWF0ZWRQcm9jZXNzRGVmaW5pdGlvbnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxBc3NvY2lhdGVkUHJvY2Vzc0RlZmluaXRpb25zKCkge1xuICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlXG4gICAgICAuZmluZFByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zKHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcbiAgICAgIC5zdWJzY3JpYmUocHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnMgPT4ge1xuICAgICAgICB0aGlzLnByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zID0gcHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnMuZmlsdGVyKFxuICAgICAgICAgIHByb2Nlc3NEb2N1bWVudERlZmluaXRpb24gPT4gcHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbi5zdGFydGFibGVCeVVzZXJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbkxpc3RGaWVsZHMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiAncHJvY2Vzc05hbWUnLFxuICAgICAgICAgICAgbGFiZWw6ICdQcm9jZXMnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICB9KTtcbiAgfVxuXG4gIHN0YXJ0UHJvY2Vzcyhwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uOiBQcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uKSB7XG4gICAgdGhpcy5zdXBwb3J0aW5nUHJvY2Vzc1N0YXJ0Lm9wZW5Nb2RhbChwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uLCB0aGlzLmRvY3VtZW50SWQpO1xuICB9XG59XG4iXX0=
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, ComponentFactoryResolver, ViewChild, ViewContainerRef, } from '@angular/core';
17
+ import { ActivatedRoute, Router } from '@angular/router';
18
+ import { DocumentService } from '@valtimo/document';
19
+ import { TabLoaderImpl } from '../models';
20
+ import { TranslateService } from '@ngx-translate/core';
21
+ import { Location } from '@angular/common';
22
+ import { TabService } from '../tab.service';
23
+ import { ProcessService } from '@valtimo/process';
24
+ import { DossierSupportingProcessStartModalComponent } from '../dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component';
25
+ export class DossierDetailComponent {
26
+ constructor(componentFactoryResolver, translateService, documentService, processService, route, router, location, tabService) {
27
+ this.componentFactoryResolver = componentFactoryResolver;
28
+ this.translateService = translateService;
29
+ this.documentService = documentService;
30
+ this.processService = processService;
31
+ this.route = route;
32
+ this.router = router;
33
+ this.location = location;
34
+ this.tabService = tabService;
35
+ this.document = null;
36
+ this.tabLoader = null;
37
+ this.processDefinitionListFields = [];
38
+ this.processDocumentDefinitions = [];
39
+ this.snapshot = this.route.snapshot.paramMap;
40
+ this.documentDefinitionName = this.snapshot.get('documentDefinitionName') || '';
41
+ this.documentId = this.snapshot.get('documentId') || '';
42
+ }
43
+ ngOnInit() {
44
+ this.tabLoader = new TabLoaderImpl(this.tabService.getTabs(), this.componentFactoryResolver, this.viewContainerRef, this.translateService, this.router, this.location);
45
+ this.documentService
46
+ .getDocumentDefinition(this.documentDefinitionName)
47
+ .subscribe(definition => {
48
+ this.documentDefinitionNameTitle = definition.schema.title;
49
+ });
50
+ this.initialTabName = this.snapshot.get('tab');
51
+ this.tabLoader.initial(this.initialTabName);
52
+ this.getAllAssociatedProcessDefinitions();
53
+ }
54
+ getAllAssociatedProcessDefinitions() {
55
+ this.documentService
56
+ .findProcessDocumentDefinitions(this.documentDefinitionName)
57
+ .subscribe(processDocumentDefinitions => {
58
+ this.processDocumentDefinitions = processDocumentDefinitions.filter(processDocumentDefinition => processDocumentDefinition.startableByUser);
59
+ this.processDefinitionListFields = [
60
+ {
61
+ key: 'processName',
62
+ label: 'Proces',
63
+ },
64
+ ];
65
+ });
66
+ }
67
+ startProcess(processDocumentDefinition) {
68
+ this.supportingProcessStart.openModal(processDocumentDefinition, this.documentId);
69
+ }
70
+ }
71
+ DossierDetailComponent.decorators = [
72
+ { type: Component, args: [{
73
+ selector: 'valtimo-dossier-detail',
74
+ template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"card-header bg-light card-header-divider pb-5\">\n {{ documentDefinitionNameTitle }}\n <div class=\"btn-group mt-m3px mb-3 float-right\">\n <valtimo-extension\n module=\"dossier\"\n page=\"dossier-detail\"\n section=\"card-header\"\n ></valtimo-extension>\n <div class=\"dropdown\">\n <button\n class=\"btn btn-primary dropdown-toggle\"\n type=\"button\"\n id=\"startProcessDropdown\"\n placement=\"bottom\"\n [ngbTooltip]=\"processDocumentDefinitions.length === 0 ? 'No action' : null\"\n [disabled]=\"processDocumentDefinitions.length === 0\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <span>Start</span>\n <i class=\"pl-2 fas fa-caret-down\"></i>\n </button>\n <div class=\"dropdown-menu dropdown-menu-right\" aria-labelledby=\"startProcessDropdown\">\n <button\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n class=\"dropdown-item p\"\n href=\"#\"\n (click)=\"startProcess(processDocumentDefinition)\"\n >\n {{ processDocumentDefinition.processName }}\n </button>\n </div>\n </div>\n </div>\n </div>\n <ul class=\"nav nav-tabs\">\n <li class=\"nav-item\" *ngFor=\"let tab of tabLoader.tabs\">\n <a\n id=\"{{ tab.name }}-tab\"\n class=\"nav-link clickable\"\n [ngClass]=\"{active: tab.isActive()}\"\n data-toggle=\"tab\"\n (click)=\"tabLoader.load(tab)\"\n >\n {{ tabLoader.translateTabName(tab) }}\n </a>\n </li>\n </ul>\n <div class=\"card-body bg-white p-5 position-relative tab-container\">\n <ng-template #tabContainer>Loading...</ng-template>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </div>\n <valtimo-dossier-supporting-process-start-modal\n (formSubmit)=\"tabLoader.refreshView()\"\n #supportingProcessStartModal\n ></valtimo-dossier-supporting-process-start-modal>\n </div>\n</div>\n",
75
+ styles: [".tab-container{min-height:300px}"]
76
+ },] }
77
+ ];
78
+ DossierDetailComponent.ctorParameters = () => [
79
+ { type: ComponentFactoryResolver },
80
+ { type: TranslateService },
81
+ { type: DocumentService },
82
+ { type: ProcessService },
83
+ { type: ActivatedRoute },
84
+ { type: Router },
85
+ { type: Location },
86
+ { type: TabService }
87
+ ];
88
+ DossierDetailComponent.propDecorators = {
89
+ viewContainerRef: [{ type: ViewChild, args: ['tabContainer', { read: ViewContainerRef, static: true },] }],
90
+ supportingProcessStart: [{ type: ViewChild, args: ['supportingProcessStartModal',] }]
91
+ };
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii90bXAvamVua2lucy0zZmYzYTE5YS93b3Jrc3BhY2Uvcm9udGVuZF9saWJyYXJpZXNfLV9yZWxlYXNlX21haW4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kb3NzaWVyLWRldGFpbC9kb3NzaWVyLWRldGFpbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUV4QixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxjQUFjLEVBQVksTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFDLGVBQWUsRUFBc0MsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBQywyQ0FBMkMsRUFBQyxNQUFNLDRGQUE0RixDQUFDO0FBT3ZKLE1BQU0sT0FBTyxzQkFBc0I7SUFnQmpDLFlBQ1Usd0JBQWtELEVBQ2xELGdCQUFrQyxFQUNsQyxlQUFnQyxFQUNoQyxjQUE4QixFQUM5QixLQUFxQixFQUNyQixNQUFjLEVBQ2QsUUFBa0IsRUFDbEIsVUFBc0I7UUFQdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWpCekIsYUFBUSxHQUFhLElBQUksQ0FBQztRQUMxQixjQUFTLEdBQWtCLElBQUksQ0FBQztRQUVoQyxnQ0FBMkIsR0FBZSxFQUFFLENBQUM7UUFDN0MsK0JBQTBCLEdBQWdDLEVBQUUsQ0FBQztRQWVsRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUM3QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksYUFBYSxDQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUN6QixJQUFJLENBQUMsd0JBQXdCLEVBQzdCLElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsSUFBSSxDQUFDLGdCQUFnQixFQUNyQixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlO2FBQ2pCLHFCQUFxQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQzthQUNsRCxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLDJCQUEyQixHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVNLGtDQUFrQztRQUN2QyxJQUFJLENBQUMsZUFBZTthQUNqQiw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7YUFDM0QsU0FBUyxDQUFDLDBCQUEwQixDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLDBCQUEwQixDQUFDLE1BQU0sQ0FDakUseUJBQXlCLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLGVBQWUsQ0FDdkUsQ0FBQztZQUNGLElBQUksQ0FBQywyQkFBMkIsR0FBRztnQkFDakM7b0JBQ0UsR0FBRyxFQUFFLGFBQWE7b0JBQ2xCLEtBQUssRUFBRSxRQUFRO2lCQUNoQjthQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxZQUFZLENBQUMseUJBQW9EO1FBQy9ELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7OztZQXpFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsK3NHQUE4Qzs7YUFFL0M7OztZQWxCQyx3QkFBd0I7WUFRbEIsZ0JBQWdCO1lBRmhCLGVBQWU7WUFLZixjQUFjO1lBTmQsY0FBYztZQUFZLE1BQU07WUFJaEMsUUFBUTtZQUNSLFVBQVU7OzsrQkFVZixTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7cUNBWWhFLFNBQVMsU0FBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXAsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlLCBEb2N1bWVudCwgUHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbn0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtUYWJMb2FkZXJJbXBsfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7TG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1RhYlNlcnZpY2V9IGZyb20gJy4uL3RhYi5zZXJ2aWNlJztcbmltcG9ydCB7UHJvY2Vzc1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3Byb2Nlc3MnO1xuaW1wb3J0IHtEb3NzaWVyU3VwcG9ydGluZ1Byb2Nlc3NTdGFydE1vZGFsQ29tcG9uZW50fSBmcm9tICcuLi9kb3NzaWVyLXN1cHBvcnRpbmctcHJvY2Vzcy1zdGFydC1tb2RhbC9kb3NzaWVyLXN1cHBvcnRpbmctcHJvY2Vzcy1zdGFydC1tb2RhbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItZGV0YWlsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rvc3NpZXItZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9zc2llci1kZXRhaWwuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyRGV0YWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgndGFiQ29udGFpbmVyJywge3JlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgcHVibGljIGRvY3VtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbiAgcHVibGljIGRvY3VtZW50RGVmaW5pdGlvbk5hbWVUaXRsZTogc3RyaW5nO1xuICBwdWJsaWMgZG9jdW1lbnRJZDogc3RyaW5nO1xuICBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50ID0gbnVsbDtcbiAgcHVibGljIHRhYkxvYWRlcjogVGFiTG9hZGVySW1wbCA9IG51bGw7XG4gIHByaXZhdGUgc25hcHNob3Q6IFBhcmFtTWFwO1xuICBwdWJsaWMgcHJvY2Vzc0RlZmluaXRpb25MaXN0RmllbGRzOiBBcnJheTxhbnk+ID0gW107XG4gIHB1YmxpYyBwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uczogUHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbltdID0gW107XG4gIHByaXZhdGUgaW5pdGlhbFRhYk5hbWU6IHN0cmluZztcbiAgQFZpZXdDaGlsZCgnc3VwcG9ydGluZ1Byb2Nlc3NTdGFydE1vZGFsJylcbiAgc3VwcG9ydGluZ1Byb2Nlc3NTdGFydDogRG9zc2llclN1cHBvcnRpbmdQcm9jZXNzU3RhcnRNb2RhbENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvY2Vzc1NlcnZpY2U6IFByb2Nlc3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgcHJpdmF0ZSB0YWJTZXJ2aWNlOiBUYWJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc25hcHNob3QgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwO1xuICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9IHRoaXMuc25hcHNob3QuZ2V0KCdkb2N1bWVudERlZmluaXRpb25OYW1lJykgfHwgJyc7XG4gICAgdGhpcy5kb2N1bWVudElkID0gdGhpcy5zbmFwc2hvdC5nZXQoJ2RvY3VtZW50SWQnKSB8fCAnJztcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudGFiTG9hZGVyID0gbmV3IFRhYkxvYWRlckltcGwoXG4gICAgICB0aGlzLnRhYlNlcnZpY2UuZ2V0VGFicygpLFxuICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICB0aGlzLnJvdXRlcixcbiAgICAgIHRoaXMubG9jYXRpb25cbiAgICApO1xuICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlXG4gICAgICAuZ2V0RG9jdW1lbnREZWZpbml0aW9uKHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcbiAgICAgIC5zdWJzY3JpYmUoZGVmaW5pdGlvbiA9PiB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZVRpdGxlID0gZGVmaW5pdGlvbi5zY2hlbWEudGl0bGU7XG4gICAgICB9KTtcbiAgICB0aGlzLmluaXRpYWxUYWJOYW1lID0gdGhpcy5zbmFwc2hvdC5nZXQoJ3RhYicpO1xuICAgIHRoaXMudGFiTG9hZGVyLmluaXRpYWwodGhpcy5pbml0aWFsVGFiTmFtZSk7XG4gICAgdGhpcy5nZXRBbGxBc3NvY2lhdGVkUHJvY2Vzc0RlZmluaXRpb25zKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsQXNzb2NpYXRlZFByb2Nlc3NEZWZpbml0aW9ucygpIHtcbiAgICB0aGlzLmRvY3VtZW50U2VydmljZVxuICAgICAgLmZpbmRQcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucyh0aGlzLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUpXG4gICAgICAuc3Vic2NyaWJlKHByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zID0+IHtcbiAgICAgICAgdGhpcy5wcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucyA9IHByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zLmZpbHRlcihcbiAgICAgICAgICBwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uID0+IHByb2Nlc3NEb2N1bWVudERlZmluaXRpb24uc3RhcnRhYmxlQnlVc2VyXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25MaXN0RmllbGRzID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ3Byb2Nlc3NOYW1lJyxcbiAgICAgICAgICAgIGxhYmVsOiAnUHJvY2VzJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gIH1cblxuICBzdGFydFByb2Nlc3MocHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbjogUHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbikge1xuICAgIHRoaXMuc3VwcG9ydGluZ1Byb2Nlc3NTdGFydC5vcGVuTW9kYWwocHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbiwgdGhpcy5kb2N1bWVudElkKTtcbiAgfVxufVxuIl19
@@ -1,79 +1,79 @@
1
- /*
2
- * Copyright 2015-2020 Ritense BV, the Netherlands.
3
- *
4
- * Licensed under EUPL, Version 1.2 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" basis,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component, EventEmitter, Output } from '@angular/core';
17
- import { TimelineItemImpl } from '@valtimo/contract';
18
- import * as moment_ from 'moment';
19
- import { ActivatedRoute } from '@angular/router';
20
- import { DocumentService } from '@valtimo/document';
21
- import { NgxSpinnerService } from 'ngx-spinner';
22
- const moment = moment_;
23
- moment.locale(localStorage.getItem('langKey') || '');
24
- moment.defaultFormat = 'DD MMM YYYY HH:mm';
25
- export class DossierDetailTabAuditComponent {
26
- constructor(route, documentService, spinnerService) {
27
- this.route = route;
28
- this.documentService = documentService;
29
- this.spinnerService = spinnerService;
30
- this.paginationClicked = new EventEmitter();
31
- this.defaultAuditPage = 0;
32
- this.spinnerService.show('auditSpinner');
33
- const snapshot = this.route.snapshot.paramMap;
34
- this.documentId = snapshot.get('documentId') || '';
35
- }
36
- static getTranslationKey(auditEvent) {
37
- const classNameArray = auditEvent.className.split('.');
38
- const eventName = classNameArray[classNameArray.length - 1];
39
- return 'events.' + eventName;
40
- }
41
- ngOnInit() {
42
- this.loadAuditPage(this.defaultAuditPage);
43
- }
44
- loadAuditPage(pageNumber) {
45
- this.documentService.getAuditLog(this.documentId, pageNumber).subscribe(page => {
46
- const timelineItems = [];
47
- page.content.forEach(auditRecord => {
48
- const occurredOn = moment(auditRecord.metaData.occurredOn);
49
- const fromNow = occurredOn.fromNow();
50
- timelineItems.push(new TimelineItemImpl(occurredOn.format('DD MMM YYYY'), occurredOn.format('HH:mm'), auditRecord.metaData.user, fromNow, DossierDetailTabAuditComponent.getTranslationKey(auditRecord.auditEvent), auditRecord.auditEvent));
51
- });
52
- this.timelineItems = timelineItems;
53
- this.spinnerService.hide('auditSpinner');
54
- this.pagination = page;
55
- this.pagination.number += 1;
56
- });
57
- }
58
- onChangePagination(page) {
59
- this.paginationClicked.emit(page);
60
- this.currentAuditPage = page - 1;
61
- this.loadAuditPage(this.currentAuditPage);
62
- }
63
- }
64
- DossierDetailTabAuditComponent.decorators = [
65
- { type: Component, args: [{
66
- selector: 'valtimo-dossier-detail-tab-audit',
67
- template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div *ngIf=\"timelineItems\">\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n</div>\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n<div\n class=\"pagination-holder audit-pagination bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n <br />\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate: {number: pagination.content.length})\n : ('list.showingResults'\n | translate: {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n <div class=\"col-8\">\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n </div>\n</div>\n",
68
- styles: [".audit-pagination{border-top:1px solid #dee2e6;margin:0 -1.923rem -1.923rem!important}"]
69
- },] }
70
- ];
71
- DossierDetailTabAuditComponent.ctorParameters = () => [
72
- { type: ActivatedRoute },
73
- { type: DocumentService },
74
- { type: NgxSpinnerService }
75
- ];
76
- DossierDetailTabAuditComponent.propDecorators = {
77
- paginationClicked: [{ type: Output }]
78
- };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1dvcmtzcGFjZS92YWx0aW1vL3ZhbHRpbW8tZnJvbnRlbmQtbGlicmFyaWVzL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvIiwic291cmNlcyI6WyJsaWIvZG9zc2llci1kZXRhaWwvdGFiL2F1ZGl0L2F1ZGl0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQTJCLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDN0UsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFOUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBQ3ZCLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNyRCxNQUFNLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDO0FBTzNDLE1BQU0sT0FBTyw4QkFBOEI7SUFTekMsWUFDVSxLQUFxQixFQUNyQixlQUFnQyxFQUNoQyxjQUFpQztRQUZqQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBWGpDLHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSzVELHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQVEzQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN6QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLFVBQXNCO1FBQ3JELE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVELE9BQU8sU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3RSxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ2pDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMzRCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3JDLGFBQWEsQ0FBQyxJQUFJLENBQ2hCLElBQUksZ0JBQWdCLENBQ2xCLFVBQVUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQ2hDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQzFCLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUN6QixPQUFPLEVBQ1AsOEJBQThCLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUN4RSxXQUFXLENBQUMsVUFBVSxDQUN2QixDQUNGLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1lBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxJQUFJO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxDQUFDOzs7WUE5REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQ0FBa0M7Z0JBQzVDLHcvREFBcUM7O2FBRXRDOzs7WUFaTyxjQUFjO1lBQ2QsZUFBZTtZQUNmLGlCQUFpQjs7O2dDQVl0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBdWRpdEV2ZW50LCBUaW1lbGluZUl0ZW0sIFRpbWVsaW5lSXRlbUltcGx9IGZyb20gJ0B2YWx0aW1vL2NvbnRyYWN0JztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtOZ3hTcGlubmVyU2VydmljZX0gZnJvbSAnbmd4LXNwaW5uZXInO1xuXG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xubW9tZW50LmxvY2FsZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ0tleScpIHx8ICcnKTtcbm1vbWVudC5kZWZhdWx0Rm9ybWF0ID0gJ0REIE1NTSBZWVlZIEhIOm1tJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLWRldGFpbC10YWItYXVkaXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXVkaXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdWRpdC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJBdWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBwYWdpbmF0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHRpbWVsaW5lSXRlbXM6IFRpbWVsaW5lSXRlbVtdO1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50SWQ6IHN0cmluZztcbiAgcHVibGljIHBhZ2luYXRpb246IGFueTtcbiAgcHJpdmF0ZSBkZWZhdWx0QXVkaXRQYWdlID0gMDtcbiAgcHJpdmF0ZSBjdXJyZW50QXVkaXRQYWdlOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHNwaW5uZXJTZXJ2aWNlOiBOZ3hTcGlubmVyU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNwaW5uZXJTZXJ2aWNlLnNob3coJ2F1ZGl0U3Bpbm5lcicpO1xuICAgIGNvbnN0IHNuYXBzaG90ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcDtcbiAgICB0aGlzLmRvY3VtZW50SWQgPSBzbmFwc2hvdC5nZXQoJ2RvY3VtZW50SWQnKSB8fCAnJztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFRyYW5zbGF0aW9uS2V5KGF1ZGl0RXZlbnQ6IEF1ZGl0RXZlbnQpIHtcbiAgICBjb25zdCBjbGFzc05hbWVBcnJheSA9IGF1ZGl0RXZlbnQuY2xhc3NOYW1lLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgZXZlbnROYW1lID0gY2xhc3NOYW1lQXJyYXlbY2xhc3NOYW1lQXJyYXkubGVuZ3RoIC0gMV07XG4gICAgcmV0dXJuICdldmVudHMuJyArIGV2ZW50TmFtZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZEF1ZGl0UGFnZSh0aGlzLmRlZmF1bHRBdWRpdFBhZ2UpO1xuICB9XG5cbiAgcHVibGljIGxvYWRBdWRpdFBhZ2UocGFnZU51bWJlcjogbnVtYmVyKSB7XG4gICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0QXVkaXRMb2codGhpcy5kb2N1bWVudElkLCBwYWdlTnVtYmVyKS5zdWJzY3JpYmUocGFnZSA9PiB7XG4gICAgICBjb25zdCB0aW1lbGluZUl0ZW1zID0gW107XG4gICAgICBwYWdlLmNvbnRlbnQuZm9yRWFjaChhdWRpdFJlY29yZCA9PiB7XG4gICAgICAgIGNvbnN0IG9jY3VycmVkT24gPSBtb21lbnQoYXVkaXRSZWNvcmQubWV0YURhdGEub2NjdXJyZWRPbik7XG4gICAgICAgIGNvbnN0IGZyb21Ob3cgPSBvY2N1cnJlZE9uLmZyb21Ob3coKTtcbiAgICAgICAgdGltZWxpbmVJdGVtcy5wdXNoKFxuICAgICAgICAgIG5ldyBUaW1lbGluZUl0ZW1JbXBsKFxuICAgICAgICAgICAgb2NjdXJyZWRPbi5mb3JtYXQoJ0REIE1NTSBZWVlZJyksXG4gICAgICAgICAgICBvY2N1cnJlZE9uLmZvcm1hdCgnSEg6bW0nKSxcbiAgICAgICAgICAgIGF1ZGl0UmVjb3JkLm1ldGFEYXRhLnVzZXIsXG4gICAgICAgICAgICBmcm9tTm93LFxuICAgICAgICAgICAgRG9zc2llckRldGFpbFRhYkF1ZGl0Q29tcG9uZW50LmdldFRyYW5zbGF0aW9uS2V5KGF1ZGl0UmVjb3JkLmF1ZGl0RXZlbnQpLFxuICAgICAgICAgICAgYXVkaXRSZWNvcmQuYXVkaXRFdmVudFxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy50aW1lbGluZUl0ZW1zID0gdGltZWxpbmVJdGVtcztcbiAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgnYXVkaXRTcGlubmVyJyk7XG4gICAgICB0aGlzLnBhZ2luYXRpb24gPSBwYWdlO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uLm51bWJlciArPSAxO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlUGFnaW5hdGlvbihwYWdlKSB7XG4gICAgdGhpcy5wYWdpbmF0aW9uQ2xpY2tlZC5lbWl0KHBhZ2UpO1xuICAgIHRoaXMuY3VycmVudEF1ZGl0UGFnZSA9IHBhZ2UgLSAxO1xuICAgIHRoaXMubG9hZEF1ZGl0UGFnZSh0aGlzLmN1cnJlbnRBdWRpdFBhZ2UpO1xuICB9XG59XG4iXX0=
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, EventEmitter, Output } from '@angular/core';
17
+ import { TimelineItemImpl } from '@valtimo/components';
18
+ import * as moment_ from 'moment';
19
+ import { ActivatedRoute } from '@angular/router';
20
+ import { DocumentService } from '@valtimo/document';
21
+ import { NgxSpinnerService } from 'ngx-spinner';
22
+ const moment = moment_;
23
+ moment.locale(localStorage.getItem('langKey') || '');
24
+ moment.defaultFormat = 'DD MMM YYYY HH:mm';
25
+ export class DossierDetailTabAuditComponent {
26
+ constructor(route, documentService, spinnerService) {
27
+ this.route = route;
28
+ this.documentService = documentService;
29
+ this.spinnerService = spinnerService;
30
+ this.paginationClicked = new EventEmitter();
31
+ this.defaultAuditPage = 0;
32
+ this.spinnerService.show('auditSpinner');
33
+ const snapshot = this.route.snapshot.paramMap;
34
+ this.documentId = snapshot.get('documentId') || '';
35
+ }
36
+ static getTranslationKey(auditEvent) {
37
+ const classNameArray = auditEvent.className.split('.');
38
+ const eventName = classNameArray[classNameArray.length - 1];
39
+ return 'events.' + eventName;
40
+ }
41
+ ngOnInit() {
42
+ this.loadAuditPage(this.defaultAuditPage);
43
+ }
44
+ loadAuditPage(pageNumber) {
45
+ this.documentService.getAuditLog(this.documentId, pageNumber).subscribe(page => {
46
+ const timelineItems = [];
47
+ page.content.forEach(auditRecord => {
48
+ const occurredOn = moment(auditRecord.metaData.occurredOn);
49
+ const fromNow = occurredOn.fromNow();
50
+ timelineItems.push(new TimelineItemImpl(occurredOn.format('DD MMM YYYY'), occurredOn.format('HH:mm'), auditRecord.metaData.user, fromNow, DossierDetailTabAuditComponent.getTranslationKey(auditRecord.auditEvent), auditRecord.auditEvent));
51
+ });
52
+ this.timelineItems = timelineItems;
53
+ this.spinnerService.hide('auditSpinner');
54
+ this.pagination = page;
55
+ this.pagination.number += 1;
56
+ });
57
+ }
58
+ onChangePagination(page) {
59
+ this.paginationClicked.emit(page);
60
+ this.currentAuditPage = page - 1;
61
+ this.loadAuditPage(this.currentAuditPage);
62
+ }
63
+ }
64
+ DossierDetailTabAuditComponent.decorators = [
65
+ { type: Component, args: [{
66
+ selector: 'valtimo-dossier-detail-tab-audit',
67
+ template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div *ngIf=\"timelineItems\">\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n</div>\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n<div\n class=\"pagination-holder audit-pagination bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n <br />\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate: {number: pagination.content.length})\n : ('list.showingResults'\n | translate: {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n <div class=\"col-8\">\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n </div>\n</div>\n",
68
+ styles: [".audit-pagination{border-top:1px solid #dee2e6;margin:0 -1.923rem -1.923rem!important}"]
69
+ },] }
70
+ ];
71
+ DossierDetailTabAuditComponent.ctorParameters = () => [
72
+ { type: ActivatedRoute },
73
+ { type: DocumentService },
74
+ { type: NgxSpinnerService }
75
+ ];
76
+ DossierDetailTabAuditComponent.propDecorators = {
77
+ paginationClicked: [{ type: Output }]
78
+ };
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii90bXAvamVua2lucy0zZmYzYTE5YS93b3Jrc3BhY2Uvcm9udGVuZF9saWJyYXJpZXNfLV9yZWxlYXNlX21haW4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kb3NzaWVyLWRldGFpbC90YWIvYXVkaXQvYXVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBZSxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sYUFBYSxDQUFDO0FBRTlDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQUN2QixNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQU8zQyxNQUFNLE9BQU8sOEJBQThCO0lBU3pDLFlBQ1UsS0FBcUIsRUFDckIsZUFBZ0MsRUFDaEMsY0FBaUM7UUFGakMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQVhqQyxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUs1RCxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFRM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxVQUFzQjtRQUNyRCxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2RCxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RCxPQUFPLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0UsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNqQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDM0QsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNyQyxhQUFhLENBQUMsSUFBSSxDQUNoQixJQUFJLGdCQUFnQixDQUNsQixVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUNoQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUMxQixXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFDekIsT0FBTyxFQUNQLDhCQUE4QixDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFDeEUsV0FBVyxDQUFDLFVBQVUsQ0FDdkIsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztZQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsSUFBSTtRQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsQ0FBQzs7O1lBOURGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0NBQWtDO2dCQUM1Qyx3L0RBQXFDOzthQUV0Qzs7O1lBWk8sY0FBYztZQUNkLGVBQWU7WUFDZixpQkFBaUI7OztnQ0FZdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VGltZWxpbmVJdGVtLCBUaW1lbGluZUl0ZW1JbXBsfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZSwgQXVkaXRFdmVudH0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtOZ3hTcGlubmVyU2VydmljZX0gZnJvbSAnbmd4LXNwaW5uZXInO1xuXG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xubW9tZW50LmxvY2FsZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ0tleScpIHx8ICcnKTtcbm1vbWVudC5kZWZhdWx0Rm9ybWF0ID0gJ0REIE1NTSBZWVlZIEhIOm1tJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLWRldGFpbC10YWItYXVkaXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXVkaXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdWRpdC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJEZXRhaWxUYWJBdWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBwYWdpbmF0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHRpbWVsaW5lSXRlbXM6IFRpbWVsaW5lSXRlbVtdO1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50SWQ6IHN0cmluZztcbiAgcHVibGljIHBhZ2luYXRpb246IGFueTtcbiAgcHJpdmF0ZSBkZWZhdWx0QXVkaXRQYWdlID0gMDtcbiAgcHJpdmF0ZSBjdXJyZW50QXVkaXRQYWdlOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHNwaW5uZXJTZXJ2aWNlOiBOZ3hTcGlubmVyU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNwaW5uZXJTZXJ2aWNlLnNob3coJ2F1ZGl0U3Bpbm5lcicpO1xuICAgIGNvbnN0IHNuYXBzaG90ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcDtcbiAgICB0aGlzLmRvY3VtZW50SWQgPSBzbmFwc2hvdC5nZXQoJ2RvY3VtZW50SWQnKSB8fCAnJztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFRyYW5zbGF0aW9uS2V5KGF1ZGl0RXZlbnQ6IEF1ZGl0RXZlbnQpIHtcbiAgICBjb25zdCBjbGFzc05hbWVBcnJheSA9IGF1ZGl0RXZlbnQuY2xhc3NOYW1lLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgZXZlbnROYW1lID0gY2xhc3NOYW1lQXJyYXlbY2xhc3NOYW1lQXJyYXkubGVuZ3RoIC0gMV07XG4gICAgcmV0dXJuICdldmVudHMuJyArIGV2ZW50TmFtZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZEF1ZGl0UGFnZSh0aGlzLmRlZmF1bHRBdWRpdFBhZ2UpO1xuICB9XG5cbiAgcHVibGljIGxvYWRBdWRpdFBhZ2UocGFnZU51bWJlcjogbnVtYmVyKSB7XG4gICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0QXVkaXRMb2codGhpcy5kb2N1bWVudElkLCBwYWdlTnVtYmVyKS5zdWJzY3JpYmUocGFnZSA9PiB7XG4gICAgICBjb25zdCB0aW1lbGluZUl0ZW1zID0gW107XG4gICAgICBwYWdlLmNvbnRlbnQuZm9yRWFjaChhdWRpdFJlY29yZCA9PiB7XG4gICAgICAgIGNvbnN0IG9jY3VycmVkT24gPSBtb21lbnQoYXVkaXRSZWNvcmQubWV0YURhdGEub2NjdXJyZWRPbik7XG4gICAgICAgIGNvbnN0IGZyb21Ob3cgPSBvY2N1cnJlZE9uLmZyb21Ob3coKTtcbiAgICAgICAgdGltZWxpbmVJdGVtcy5wdXNoKFxuICAgICAgICAgIG5ldyBUaW1lbGluZUl0ZW1JbXBsKFxuICAgICAgICAgICAgb2NjdXJyZWRPbi5mb3JtYXQoJ0REIE1NTSBZWVlZJyksXG4gICAgICAgICAgICBvY2N1cnJlZE9uLmZvcm1hdCgnSEg6bW0nKSxcbiAgICAgICAgICAgIGF1ZGl0UmVjb3JkLm1ldGFEYXRhLnVzZXIsXG4gICAgICAgICAgICBmcm9tTm93LFxuICAgICAgICAgICAgRG9zc2llckRldGFpbFRhYkF1ZGl0Q29tcG9uZW50LmdldFRyYW5zbGF0aW9uS2V5KGF1ZGl0UmVjb3JkLmF1ZGl0RXZlbnQpLFxuICAgICAgICAgICAgYXVkaXRSZWNvcmQuYXVkaXRFdmVudFxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy50aW1lbGluZUl0ZW1zID0gdGltZWxpbmVJdGVtcztcbiAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgnYXVkaXRTcGlubmVyJyk7XG4gICAgICB0aGlzLnBhZ2luYXRpb24gPSBwYWdlO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uLm51bWJlciArPSAxO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlUGFnaW5hdGlvbihwYWdlKSB7XG4gICAgdGhpcy5wYWdpbmF0aW9uQ2xpY2tlZC5lbWl0KHBhZ2UpO1xuICAgIHRoaXMuY3VycmVudEF1ZGl0UGFnZSA9IHBhZ2UgLSAxO1xuICAgIHRoaXMubG9hZEF1ZGl0UGFnZSh0aGlzLmN1cnJlbnRBdWRpdFBhZ2UpO1xuICB9XG59XG4iXX0=