@smarterplan/ngx-smarterplan-admin 0.1.27

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 (46) hide show
  1. package/README.md +24 -0
  2. package/esm2020/lib/admin/admin.component.mjs +33 -0
  3. package/esm2020/lib/chevron/chevron.component.mjs +19 -0
  4. package/esm2020/lib/guest-link/guest-link.component.mjs +62 -0
  5. package/esm2020/lib/guide.guard.mjs +25 -0
  6. package/esm2020/lib/name-from-id.pipe.mjs +29 -0
  7. package/esm2020/lib/ngx-smarterplan-admin-routing.module.mjs +47 -0
  8. package/esm2020/lib/ngx-smarterplan-admin.module.mjs +90 -0
  9. package/esm2020/lib/ngx-smarterplan-admin.service.mjs +14 -0
  10. package/esm2020/lib/organisation/organisation.component.mjs +166 -0
  11. package/esm2020/lib/sp-admin.guard.mjs +31 -0
  12. package/esm2020/lib/user/detail-organisation/detail-organisation.component.mjs +160 -0
  13. package/esm2020/lib/user/form-mission/form-mission.component.mjs +205 -0
  14. package/esm2020/lib/user/form-organisation/form-organisation.component.mjs +125 -0
  15. package/esm2020/lib/user/user-mission-form/user-mission-form.component.mjs +106 -0
  16. package/esm2020/lib/user/user.component.mjs +325 -0
  17. package/esm2020/lib/visitor/create-batch/create-batch.component.mjs +108 -0
  18. package/esm2020/lib/visitor/template/template.component.mjs +219 -0
  19. package/esm2020/lib/visitor/visitor.component.mjs +284 -0
  20. package/esm2020/public-api.mjs +6 -0
  21. package/esm2020/smarterplan-ngx-smarterplan-admin.mjs +5 -0
  22. package/fesm2015/smarterplan-ngx-smarterplan-admin.mjs +2026 -0
  23. package/fesm2015/smarterplan-ngx-smarterplan-admin.mjs.map +1 -0
  24. package/fesm2020/smarterplan-ngx-smarterplan-admin.mjs +1921 -0
  25. package/fesm2020/smarterplan-ngx-smarterplan-admin.mjs.map +1 -0
  26. package/lib/admin/admin.component.d.ts +13 -0
  27. package/lib/chevron/chevron.component.d.ts +9 -0
  28. package/lib/guest-link/guest-link.component.d.ts +20 -0
  29. package/lib/guide.guard.d.ts +11 -0
  30. package/lib/name-from-id.pipe.d.ts +11 -0
  31. package/lib/ngx-smarterplan-admin-routing.module.d.ts +7 -0
  32. package/lib/ngx-smarterplan-admin.module.d.ts +26 -0
  33. package/lib/ngx-smarterplan-admin.service.d.ts +6 -0
  34. package/lib/organisation/organisation.component.d.ts +53 -0
  35. package/lib/sp-admin.guard.d.ts +12 -0
  36. package/lib/user/detail-organisation/detail-organisation.component.d.ts +39 -0
  37. package/lib/user/form-mission/form-mission.component.d.ts +54 -0
  38. package/lib/user/form-organisation/form-organisation.component.d.ts +32 -0
  39. package/lib/user/user-mission-form/user-mission-form.component.d.ts +28 -0
  40. package/lib/user/user.component.d.ts +100 -0
  41. package/lib/visitor/create-batch/create-batch.component.d.ts +23 -0
  42. package/lib/visitor/template/template.component.d.ts +52 -0
  43. package/lib/visitor/visitor.component.d.ts +65 -0
  44. package/package.json +39 -0
  45. package/public-api.d.ts +2 -0
  46. package/smarterplan-ngx-smarterplan-admin.d.ts +5 -0
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # NgxSmarterplanAdmin
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project ngx-smarterplan-admin` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-smarterplan-admin`.
8
+ > Note: Don't forget to add `--project ngx-smarterplan-admin` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build ngx-smarterplan-admin` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build ngx-smarterplan-admin`, go to the dist folder `cd dist/ngx-smarterplan-admin` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test ngx-smarterplan-admin` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,33 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "ngx-smarterplan-core";
4
+ import * as i2 from "@angular/router";
5
+ import * as i3 from "@angular/common";
6
+ import * as i4 from "@ngx-translate/core";
7
+ export class AdminComponent {
8
+ constructor(userService) {
9
+ this.userService = userService;
10
+ this.isSmarterPlanUser = false;
11
+ this.isGuide = false;
12
+ this.userService.isChanged.subscribe((isChanged) => {
13
+ if (isChanged) {
14
+ this.isSmarterPlanUser = this.userService.isSPAdmin();
15
+ }
16
+ });
17
+ }
18
+ ngOnInit() {
19
+ this.isSmarterPlanUser = this.userService.isSPAdmin();
20
+ this.isGuide = this.userService.isGuide();
21
+ }
22
+ getIcon(path, isActive) {
23
+ const suffix = isActive ? "-over" : "";
24
+ return `/icons/${path.join("/")}${suffix}.svg`;
25
+ }
26
+ }
27
+ AdminComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AdminComponent, deps: [{ token: i1.BaseUserService }], target: i0.ɵɵFactoryTarget.Component });
28
+ AdminComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: AdminComponent, selector: "lib-admin", ngImport: i0, template: "<div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"d-none col-md-3 col-lg-2 d-md-block sidebar\">\n <ul class=\"nav nav-pills flex-column\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"/admin/users\" [routerLinkActive]=\"['active']\"\n #rlaUser=\"routerLinkActive\">\n <img class=\"big-icon\" [src]=\"getIcon(['menu', 'user'], rlaUser.isActive)\" />{{'Users' |\n translate}}</a></li>\n <li class=\"nav-item\" *ngIf=\"isSmarterPlanUser\"><a class=\"nav-link\" routerLink=\"/admin/clients\"\n [routerLinkActive]=\"['active']\" #rlaOrganization=\"routerLinkActive\">\n <img class=\"big-icon\"\n [src]=\"getIcon(['menu', 'organisation'], rlaOrganization.isActive)\" />{{'Clients' |\n translate}}</a></li>\n <li class=\"nav-item\" *ngIf=\"isSmarterPlanUser || isGuide\"><a class=\"nav-link\"\n routerLink=\"/admin/visitors\" [routerLinkActive]=\"['active']\" #rlaVisitor=\"routerLinkActive\">\n <img class=\"big-icon\" [src]=\"getIcon(['menu', 'user'], rlaVisitor.isActive)\" />\n {{'Museum Visitors' | translate }}</a></li>\n </ul>\n </div> <!-- ml-sm-auto -->\n <main role=\"main\" class=\"col-12 col-md-9 col-lg-10 px-md-4\">\n <router-outlet></router-outlet>\n </main>\n </div>\n</div>", styles: [""], directives: [{ type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "translate": i4.TranslatePipe } });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AdminComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'lib-admin', template: "<div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"d-none col-md-3 col-lg-2 d-md-block sidebar\">\n <ul class=\"nav nav-pills flex-column\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"/admin/users\" [routerLinkActive]=\"['active']\"\n #rlaUser=\"routerLinkActive\">\n <img class=\"big-icon\" [src]=\"getIcon(['menu', 'user'], rlaUser.isActive)\" />{{'Users' |\n translate}}</a></li>\n <li class=\"nav-item\" *ngIf=\"isSmarterPlanUser\"><a class=\"nav-link\" routerLink=\"/admin/clients\"\n [routerLinkActive]=\"['active']\" #rlaOrganization=\"routerLinkActive\">\n <img class=\"big-icon\"\n [src]=\"getIcon(['menu', 'organisation'], rlaOrganization.isActive)\" />{{'Clients' |\n translate}}</a></li>\n <li class=\"nav-item\" *ngIf=\"isSmarterPlanUser || isGuide\"><a class=\"nav-link\"\n routerLink=\"/admin/visitors\" [routerLinkActive]=\"['active']\" #rlaVisitor=\"routerLinkActive\">\n <img class=\"big-icon\" [src]=\"getIcon(['menu', 'user'], rlaVisitor.isActive)\" />\n {{'Museum Visitors' | translate }}</a></li>\n </ul>\n </div> <!-- ml-sm-auto -->\n <main role=\"main\" class=\"col-12 col-md-9 col-lg-10 px-md-4\">\n <router-outlet></router-outlet>\n </main>\n </div>\n</div>", styles: [""] }]
32
+ }], ctorParameters: function () { return [{ type: i1.BaseUserService }]; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWFkbWluL3NyYy9saWIvYWRtaW4vYWRtaW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWFkbWluL3NyYy9saWIvYWRtaW4vYWRtaW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUWxELE1BQU0sT0FBTyxjQUFjO0lBTXZCLFlBQW9CLFdBQTRCO1FBQTVCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUpoRCxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFMUIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUdaLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQy9DLElBQUksU0FBUyxFQUFFO2dCQUNYLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ3pEO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQWMsRUFBRSxRQUFpQjtRQUNyQyxNQUFNLE1BQU0sR0FBVyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9DLE9BQU8sVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sTUFBTSxDQUFDO0lBQ25ELENBQUM7OzJHQXJCUSxjQUFjOytGQUFkLGNBQWMsaURDUjNCLDhoREF1Qk07MkZEZk8sY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZVVzZXJTZXJ2aWNlfSBmcm9tICduZ3gtc21hcnRlcnBsYW4tY29yZSdcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFkbWluJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FkbWluLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkbWluQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBpc1NtYXJ0ZXJQbGFuVXNlciA9IGZhbHNlO1xyXG5cclxuICAgIGlzR3VpZGUgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVzZXJTZXJ2aWNlOiBCYXNlVXNlclNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmlzQ2hhbmdlZC5zdWJzY3JpYmUoKGlzQ2hhbmdlZCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoaXNDaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzU21hcnRlclBsYW5Vc2VyID0gdGhpcy51c2VyU2VydmljZS5pc1NQQWRtaW4oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNTbWFydGVyUGxhblVzZXIgPSB0aGlzLnVzZXJTZXJ2aWNlLmlzU1BBZG1pbigpO1xyXG4gICAgICAgIHRoaXMuaXNHdWlkZSA9IHRoaXMudXNlclNlcnZpY2UuaXNHdWlkZSgpO1xyXG4gICAgfVxyXG4gICAgZ2V0SWNvbihwYXRoOiBzdHJpbmdbXSwgaXNBY3RpdmU6IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHN1ZmZpeDogc3RyaW5nID0gaXNBY3RpdmUgPyBcIi1vdmVyXCIgOiBcIlwiO1xyXG4gICAgICAgIHJldHVybiBgL2ljb25zLyR7cGF0aC5qb2luKFwiL1wiKX0ke3N1ZmZpeH0uc3ZnYDtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtbm9uZSBjb2wtbWQtMyBjb2wtbGctMiBkLW1kLWJsb2NrIHNpZGViYXJcIj5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtcGlsbHMgZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwiL2FkbWluL3VzZXJzXCIgW3JvdXRlckxpbmtBY3RpdmVdPVwiWydhY3RpdmUnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAjcmxhVXNlcj1cInJvdXRlckxpbmtBY3RpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJiaWctaWNvblwiIFtzcmNdPVwiZ2V0SWNvbihbJ21lbnUnLCAndXNlciddLCBybGFVc2VyLmlzQWN0aXZlKVwiIC8+e3snVXNlcnMnIHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZX19PC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAqbmdJZj1cImlzU21hcnRlclBsYW5Vc2VyXCI+PGEgY2xhc3M9XCJuYXYtbGlua1wiIHJvdXRlckxpbms9XCIvYWRtaW4vY2xpZW50c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZV09XCJbJ2FjdGl2ZSddXCIgI3JsYU9yZ2FuaXphdGlvbj1cInJvdXRlckxpbmtBY3RpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJiaWctaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJnZXRJY29uKFsnbWVudScsICdvcmdhbmlzYXRpb24nXSwgcmxhT3JnYW5pemF0aW9uLmlzQWN0aXZlKVwiIC8+e3snQ2xpZW50cycgfFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlfX08L2E+PC9saT5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiICpuZ0lmPVwiaXNTbWFydGVyUGxhblVzZXIgfHwgaXNHdWlkZVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluaz1cIi9hZG1pbi92aXNpdG9yc1wiIFtyb3V0ZXJMaW5rQWN0aXZlXT1cIlsnYWN0aXZlJ11cIiAjcmxhVmlzaXRvcj1cInJvdXRlckxpbmtBY3RpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJiaWctaWNvblwiIFtzcmNdPVwiZ2V0SWNvbihbJ21lbnUnLCAndXNlciddLCBybGFWaXNpdG9yLmlzQWN0aXZlKVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eydNdXNldW0gVmlzaXRvcnMnIHwgdHJhbnNsYXRlIH19PC9hPjwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj4gPCEtLSBtbC1zbS1hdXRvIC0tPlxuICAgICAgICA8bWFpbiByb2xlPVwibWFpblwiIGNsYXNzPVwiY29sLTEyIGNvbC1tZC05IGNvbC1sZy0xMCBweC1tZC00XCI+XG4gICAgICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgICAgIDwvbWFpbj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Input } from '@angular/core';
2
+ import { Component } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class ChevronComponent {
5
+ constructor() {
6
+ this.conditionShowing = false;
7
+ }
8
+ ngOnInit() {
9
+ }
10
+ }
11
+ ChevronComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ChevronComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ ChevronComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ChevronComponent, selector: "lib-chevron", inputs: { conditionShowing: "conditionShowing" }, ngImport: i0, template: "<div style=\"height: 30px; width: 30px;\">\r\n <span class=\"icon-container\" >\r\n <div [class]=\"conditionShowing ? 'icon-img-up' : 'icon-img-down'\"></div>\r\n </span>\r\n</div>\r\n", styles: [".icon-container{height:30px;width:30px}.icon-img-down{width:30px;height:100%;background:url(https://api.iconify.design/mdi-light/chevron-right.svg?width=28) no-repeat center center/contain}.icon-img-up{width:30px;height:100%;background:url(https://api.iconify.design/mdi-light/chevron-down.svg?width=28) no-repeat center center/contain}\n"] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ChevronComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'lib-chevron', template: "<div style=\"height: 30px; width: 30px;\">\r\n <span class=\"icon-container\" >\r\n <div [class]=\"conditionShowing ? 'icon-img-up' : 'icon-img-down'\"></div>\r\n </span>\r\n</div>\r\n", styles: [".icon-container{height:30px;width:30px}.icon-img-down{width:30px;height:100%;background:url(https://api.iconify.design/mdi-light/chevron-right.svg?width=28) no-repeat center center/contain}.icon-img-up{width:30px;height:100%;background:url(https://api.iconify.design/mdi-light/chevron-down.svg?width=28) no-repeat center center/contain}\n"] }]
16
+ }], ctorParameters: function () { return []; }, propDecorators: { conditionShowing: [{
17
+ type: Input
18
+ }] } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hldnJvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tYWRtaW4vc3JjL2xpYi9jaGV2cm9uL2NoZXZyb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWFkbWluL3NyYy9saWIvY2hldnJvbi9jaGV2cm9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFPbEQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQjtRQUZTLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQUVsQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDOzs2R0FOVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixxR0NSN0IscU1BS0E7MkZER2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGFBQWE7MEVBS2QsZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jaGV2cm9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZXZyb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGV2cm9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2hldnJvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbmRpdGlvblNob3dpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiIsIjxkaXYgc3R5bGU9XCJoZWlnaHQ6IDMwcHg7IHdpZHRoOiAzMHB4O1wiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiID5cclxuICAgICAgPGRpdiBbY2xhc3NdPVwiY29uZGl0aW9uU2hvd2luZyA/ICdpY29uLWltZy11cCcgOiAnaWNvbi1pbWctZG93bidcIj48L2Rpdj5cclxuICAgIDwvc3Bhbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as CryptoJS from "crypto-js";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "ngx-smarterplan-core";
5
+ import * as i2 from "@ng-bootstrap/ng-bootstrap";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "ngx-clipboard";
8
+ import * as i5 from "@ngx-translate/core";
9
+ export class GuestLinkComponent {
10
+ constructor(spaceService, activeModal) {
11
+ this.spaceService = spaceService;
12
+ this.activeModal = activeModal;
13
+ }
14
+ ngOnInit() {
15
+ this.setModel3D();
16
+ }
17
+ async setModel3D() {
18
+ this.model3D = await this.spaceService.getModel3DForSpace(this.spaceID);
19
+ }
20
+ async onGenerate() {
21
+ const inputElement = document.querySelector("#password");
22
+ const password = inputElement.value;
23
+ if (password.length < 8) {
24
+ this.errorMessage = "register.password.weak";
25
+ return;
26
+ }
27
+ this.errorMessage = null;
28
+ const encrypted = CryptoJS.AES.encrypt(JSON.stringify({
29
+ user: this.username,
30
+ password,
31
+ }), "EncryptedUser").toString();
32
+ const redirect = `redirect?spaceID=${this.spaceID}&model3D=${this.model3D}&user=${encrypted}`;
33
+ const { origin } = document.location;
34
+ this.link = `${origin}/${redirect}`;
35
+ setTimeout(() => {
36
+ const hyperlink = document.querySelector("#linkHref");
37
+ if (hyperlink) {
38
+ hyperlink.setAttribute("href", this.link);
39
+ }
40
+ }, 200); // wait until the element is rendered because of *ngIf
41
+ await this.spaceService.updateSpace({
42
+ id: this.spaceID,
43
+ guestLink: redirect,
44
+ });
45
+ }
46
+ onCancel() {
47
+ if (this.activeModal) {
48
+ this.activeModal.close();
49
+ }
50
+ }
51
+ }
52
+ GuestLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: GuestLinkComponent, deps: [{ token: i1.SpaceService }, { token: i2.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
53
+ GuestLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: GuestLinkComponent, selector: "lib-guest-link", inputs: { spaceID: "spaceID", username: "username" }, ngImport: i0, template: "<div class=\"main\">\r\n <p>{{'Current password for account:' | translate}} {{username}}</p>\r\n <input type=\"password\" class=\"form-control\" id=\"password\">\r\n <p *ngIf=\"errorMessage\">{{errorMessage}}</p>\r\n <div class=\"row ml-0 mt-3\" *ngIf=\"link\">\r\n <a id=\"linkHref\" target=\"_blank\">{{'Try the link' | translate }}</a>\r\n <div ngxClipboard [cbContent]=\"link\" [style.cursor]=\"'pointer'\" style=\"margin-left: 5px; max-width: 20px;\"\r\n ngbTooltip=\"Copied!\" triggers=\"click:blur\">\r\n <span class=\"iconify\" data-icon=\"mdi:content-copy\" data-inline=\"false\" data-width=\"20\"\r\n data-height=\"20\"></span>\r\n </div>\r\n\r\n </div>\r\n <div class=\"row ml-0 mt-3\">\r\n <button class=\"btn btn-primary rounded-pill mr-2\" (click)=\"onGenerate()\">{{'Generate link' | translate\r\n }}</button>\r\n <button class=\"btn btn-primary rounded-pill\" (click)=\"onCancel()\">{{'Cancel' | translate }}</button>\r\n </div>\r\n\r\n</div>\r\n", styles: [".main{margin:1.5rem}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.ClipboardDirective, selector: "[ngxClipboard]", inputs: ["ngxClipboard", "container", "cbContent", "cbSuccessMsg"], outputs: ["cbOnSuccess", "cbOnError"] }, { type: i2.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }], pipes: { "translate": i5.TranslatePipe } });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: GuestLinkComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ selector: 'lib-guest-link', template: "<div class=\"main\">\r\n <p>{{'Current password for account:' | translate}} {{username}}</p>\r\n <input type=\"password\" class=\"form-control\" id=\"password\">\r\n <p *ngIf=\"errorMessage\">{{errorMessage}}</p>\r\n <div class=\"row ml-0 mt-3\" *ngIf=\"link\">\r\n <a id=\"linkHref\" target=\"_blank\">{{'Try the link' | translate }}</a>\r\n <div ngxClipboard [cbContent]=\"link\" [style.cursor]=\"'pointer'\" style=\"margin-left: 5px; max-width: 20px;\"\r\n ngbTooltip=\"Copied!\" triggers=\"click:blur\">\r\n <span class=\"iconify\" data-icon=\"mdi:content-copy\" data-inline=\"false\" data-width=\"20\"\r\n data-height=\"20\"></span>\r\n </div>\r\n\r\n </div>\r\n <div class=\"row ml-0 mt-3\">\r\n <button class=\"btn btn-primary rounded-pill mr-2\" (click)=\"onGenerate()\">{{'Generate link' | translate\r\n }}</button>\r\n <button class=\"btn btn-primary rounded-pill\" (click)=\"onCancel()\">{{'Cancel' | translate }}</button>\r\n </div>\r\n\r\n</div>\r\n", styles: [".main{margin:1.5rem}\n"] }]
57
+ }], ctorParameters: function () { return [{ type: i1.SpaceService }, { type: i2.NgbActiveModal }]; }, propDecorators: { spaceID: [{
58
+ type: Input
59
+ }], username: [{
60
+ type: Input
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Vlc3QtbGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tYWRtaW4vc3JjL2xpYi9ndWVzdC1saW5rL2d1ZXN0LWxpbmsuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWFkbWluL3NyYy9saWIvZ3Vlc3QtbGluay9ndWVzdC1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDOzs7Ozs7O0FBT3RDLE1BQU0sT0FBTyxrQkFBa0I7SUFZM0IsWUFDWSxZQUEwQixFQUMzQixXQUEyQjtRQUQxQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7SUFDbEMsQ0FBQztJQUVMLFFBQVE7UUFDSixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVO1FBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVTtRQUNaLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQ3ZDLFdBQVcsQ0FDTSxDQUFDO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLHdCQUF3QixDQUFDO1lBQzdDLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ25CLFFBQVE7U0FDWCxDQUFDLEVBQ0YsZUFBZSxDQUNsQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2IsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLElBQUksQ0FBQyxPQUFPLFlBQVksSUFBSSxDQUFDLE9BQU8sU0FBUyxTQUFTLEVBQUUsQ0FBQztRQUM5RixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNyQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsTUFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUNwQyxXQUFXLENBQ0MsQ0FBQztZQUNqQixJQUFJLFNBQVMsRUFBRTtnQkFDWCxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0M7UUFDTCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxzREFBc0Q7UUFFL0QsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUNoQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDaEIsU0FBUyxFQUFFLFFBQVE7U0FDdEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7OytHQWhFUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw0R0NWL0IsNGlDQW9CQTsyRkRWYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCO2dJQU1mLE9BQU87c0JBQWYsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBTcGFjZVNlcnZpY2UgfSBmcm9tICduZ3gtc21hcnRlcnBsYW4tY29yZSc7XHJcbmltcG9ydCAqIGFzIENyeXB0b0pTIGZyb20gXCJjcnlwdG8tanNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWd1ZXN0LWxpbmsnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ndWVzdC1saW5rLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ndWVzdC1saW5rLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEd1ZXN0TGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQElucHV0KCkgc3BhY2VJRDogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpIHVzZXJuYW1lOiBzdHJpbmc7XHJcblxyXG4gICAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcblxyXG4gICAgbW9kZWwzRDogc3RyaW5nO1xyXG5cclxuICAgIGxpbms6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHNwYWNlU2VydmljZTogU3BhY2VTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBhY3RpdmVNb2RhbDogTmdiQWN0aXZlTW9kYWwsXHJcbiAgICApIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2V0TW9kZWwzRCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNldE1vZGVsM0QoKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbDNEID0gYXdhaXQgdGhpcy5zcGFjZVNlcnZpY2UuZ2V0TW9kZWwzREZvclNwYWNlKHRoaXMuc3BhY2VJRCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25HZW5lcmF0ZSgpIHtcclxuICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICAgICBcIiNwYXNzd29yZFwiLFxyXG4gICAgICAgICkgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgICAgICBjb25zdCBwYXNzd29yZCA9IGlucHV0RWxlbWVudC52YWx1ZTtcclxuICAgICAgICBpZiAocGFzc3dvcmQubGVuZ3RoIDwgOCkge1xyXG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IFwicmVnaXN0ZXIucGFzc3dvcmQud2Vha1wiO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbDtcclxuICAgICAgICBjb25zdCBlbmNyeXB0ZWQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChcclxuICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgICAgICAgdXNlcjogdGhpcy51c2VybmFtZSxcclxuICAgICAgICAgICAgICAgIHBhc3N3b3JkLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgXCJFbmNyeXB0ZWRVc2VyXCIsXHJcbiAgICAgICAgKS50b1N0cmluZygpO1xyXG4gICAgICAgIGNvbnN0IHJlZGlyZWN0ID0gYHJlZGlyZWN0P3NwYWNlSUQ9JHt0aGlzLnNwYWNlSUR9Jm1vZGVsM0Q9JHt0aGlzLm1vZGVsM0R9JnVzZXI9JHtlbmNyeXB0ZWR9YDtcclxuICAgICAgICBjb25zdCB7IG9yaWdpbiB9ID0gZG9jdW1lbnQubG9jYXRpb247XHJcbiAgICAgICAgdGhpcy5saW5rID0gYCR7b3JpZ2lufS8ke3JlZGlyZWN0fWA7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGh5cGVybGluayA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgICAgICAgICAgICBcIiNsaW5rSHJlZlwiLFxyXG4gICAgICAgICAgICApIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICBpZiAoaHlwZXJsaW5rKSB7XHJcbiAgICAgICAgICAgICAgICBoeXBlcmxpbmsuc2V0QXR0cmlidXRlKFwiaHJlZlwiLCB0aGlzLmxpbmspO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMjAwKTsgLy8gd2FpdCB1bnRpbCB0aGUgZWxlbWVudCBpcyByZW5kZXJlZCBiZWNhdXNlIG9mICpuZ0lmXHJcblxyXG4gICAgICAgIGF3YWl0IHRoaXMuc3BhY2VTZXJ2aWNlLnVwZGF0ZVNwYWNlKHtcclxuICAgICAgICAgICAgaWQ6IHRoaXMuc3BhY2VJRCxcclxuICAgICAgICAgICAgZ3Vlc3RMaW5rOiByZWRpcmVjdCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNhbmNlbCgpIHtcclxuICAgICAgICBpZiAodGhpcy5hY3RpdmVNb2RhbCkge1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWFpblwiPlxyXG4gICAgPHA+e3snQ3VycmVudCBwYXNzd29yZCBmb3IgYWNjb3VudDonIHwgdHJhbnNsYXRlfX0ge3t1c2VybmFtZX19PC9wPlxyXG4gICAgPGlucHV0IHR5cGU9XCJwYXNzd29yZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJwYXNzd29yZFwiPlxyXG4gICAgPHAgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57e2Vycm9yTWVzc2FnZX19PC9wPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBtbC0wIG10LTNcIiAqbmdJZj1cImxpbmtcIj5cclxuICAgICAgICA8YSBpZD1cImxpbmtIcmVmXCIgdGFyZ2V0PVwiX2JsYW5rXCI+e3snVHJ5IHRoZSBsaW5rJyB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICA8ZGl2IG5neENsaXBib2FyZCBbY2JDb250ZW50XT1cImxpbmtcIiBbc3R5bGUuY3Vyc29yXT1cIidwb2ludGVyJ1wiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweDsgbWF4LXdpZHRoOiAyMHB4O1wiXHJcbiAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJDb3BpZWQhXCIgdHJpZ2dlcnM9XCJjbGljazpibHVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbmlmeVwiIGRhdGEtaWNvbj1cIm1kaTpjb250ZW50LWNvcHlcIiBkYXRhLWlubGluZT1cImZhbHNlXCIgZGF0YS13aWR0aD1cIjIwXCJcclxuICAgICAgICAgICAgICAgIGRhdGEtaGVpZ2h0PVwiMjBcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IG1sLTAgbXQtM1wiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcm91bmRlZC1waWxsIG1yLTJcIiAoY2xpY2spPVwib25HZW5lcmF0ZSgpXCI+e3snR2VuZXJhdGUgbGluaycgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgfX08L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHJvdW5kZWQtcGlsbFwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+e3snQ2FuY2VsJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,25 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "ngx-smarterplan-core";
4
+ import * as i2 from "@angular/router";
5
+ export class GuideGuard {
6
+ constructor(userService, router) {
7
+ this.userService = userService;
8
+ this.router = router;
9
+ }
10
+ async canActivate(route, state) {
11
+ if (this.userService.isGuide() || this.userService.isSPAdmin()) {
12
+ return true;
13
+ }
14
+ return this.router.parseUrl("/notauthorized");
15
+ }
16
+ }
17
+ GuideGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: GuideGuard, deps: [{ token: i1.BaseUserService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
18
+ GuideGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: GuideGuard, providedIn: 'root' });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: GuideGuard, decorators: [{
20
+ type: Injectable,
21
+ args: [{
22
+ providedIn: 'root'
23
+ }]
24
+ }], ctorParameters: function () { return [{ type: i1.BaseUserService }, { type: i2.Router }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGUuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tYWRtaW4vc3JjL2xpYi9ndWlkZS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTzNDLE1BQU0sT0FBTyxVQUFVO0lBQ25CLFlBQW9CLFdBQTRCLEVBQVUsTUFBYztRQUFwRCxnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUU1RSxLQUFLLENBQUMsV0FBVyxDQUNiLEtBQTZCLEVBQzdCLEtBQTBCO1FBRTFCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQzVELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQzs7dUdBWFEsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEJhc2VVc2VyU2VydmljZSB9IGZyb20gJ25neC1zbWFydGVycGxhbi1jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEd1aWRlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVzZXJTZXJ2aWNlOiBCYXNlVXNlclNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XHJcblxyXG4gICAgYXN5bmMgY2FuQWN0aXZhdGUoXHJcbiAgICAgICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICAgICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsXHJcbiAgICApOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XHJcbiAgICAgICAgaWYgKHRoaXMudXNlclNlcnZpY2UuaXNHdWlkZSgpIHx8IHRoaXMudXNlclNlcnZpY2UuaXNTUEFkbWluKCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5wYXJzZVVybChcIi9ub3RhdXRob3JpemVkXCIpO1xyXG4gICAgfVxyXG4gIFxyXG59XHJcbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "ngx-smarterplan-core";
4
+ export class NameFromIdPipe {
5
+ constructor(userService) {
6
+ this.userService = userService;
7
+ }
8
+ async transform(userId) {
9
+ if (NameFromIdPipe.cache[userId] !== undefined) {
10
+ return new Promise((resolve) => {
11
+ resolve(NameFromIdPipe.cache[userId]);
12
+ });
13
+ }
14
+ const user = await this.userService.userFromUserID(userId);
15
+ // @ts-ignore
16
+ NameFromId.cache[userId] = `${user.displayName}`;
17
+ return NameFromIdPipe.cache[userId];
18
+ }
19
+ }
20
+ NameFromIdPipe.cache = {};
21
+ NameFromIdPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NameFromIdPipe, deps: [{ token: i1.BaseUserService }], target: i0.ɵɵFactoryTarget.Pipe });
22
+ NameFromIdPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NameFromIdPipe, name: "nameFromId" });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NameFromIdPipe, decorators: [{
24
+ type: Pipe,
25
+ args: [{
26
+ name: 'nameFromId'
27
+ }]
28
+ }], ctorParameters: function () { return [{ type: i1.BaseUserService }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZS1mcm9tLWlkLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tYWRtaW4vc3JjL2xpYi9uYW1lLWZyb20taWQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBTXBELE1BQU0sT0FBTyxjQUFjO0lBR3ZCLFlBQW9CLFdBQTRCO1FBQTVCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtJQUFHLENBQUM7SUFFcEQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFjO1FBQzFCLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDNUMsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNuQyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNELGFBQWE7UUFDYixVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pELE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDOztBQWRNLG9CQUFLLEdBQUcsRUFBRSxDQUFDOzJHQURULGNBQWM7eUdBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUgxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZVVzZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LXNtYXJ0ZXJwbGFuLWNvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICduYW1lRnJvbUlkJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmFtZUZyb21JZFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHN0YXRpYyBjYWNoZSA9IHt9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdXNlclNlcnZpY2U6IEJhc2VVc2VyU2VydmljZSkge31cclxuXHJcbiAgICBhc3luYyB0cmFuc2Zvcm0odXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIGlmIChOYW1lRnJvbUlkUGlwZS5jYWNoZVt1c2VySWRdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoTmFtZUZyb21JZFBpcGUuY2FjaGVbdXNlcklkXSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy51c2VyU2VydmljZS51c2VyRnJvbVVzZXJJRCh1c2VySWQpO1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBOYW1lRnJvbUlkLmNhY2hlW3VzZXJJZF0gPSBgJHt1c2VyLmRpc3BsYXlOYW1lfWA7XHJcbiAgICAgICAgcmV0dXJuIE5hbWVGcm9tSWRQaXBlLmNhY2hlW3VzZXJJZF07XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { RouterModule } from "@angular/router";
3
+ import { AdminComponent } from "./admin/admin.component";
4
+ import { GuideGuard } from "./guide.guard";
5
+ import { OrganisationComponent } from "./organisation/organisation.component";
6
+ import { SpAdminGuard } from "./sp-admin.guard";
7
+ import { UserComponent } from "./user/user.component";
8
+ import { TemplateComponent } from "./visitor/template/template.component";
9
+ import { VisitorComponent } from "./visitor/visitor.component";
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/router";
12
+ const routes = [
13
+ {
14
+ path: "",
15
+ component: AdminComponent,
16
+ children: [
17
+ { path: "users", component: UserComponent },
18
+ {
19
+ path: "visitors",
20
+ children: [
21
+ { path: "", component: VisitorComponent },
22
+ { path: "template", component: TemplateComponent },
23
+ ],
24
+ canActivate: [GuideGuard]
25
+ },
26
+ {
27
+ path: "clients",
28
+ component: OrganisationComponent,
29
+ canActivate: [SpAdminGuard]
30
+ },
31
+ { path: "", redirectTo: "users", pathMatch: "full" },
32
+ ]
33
+ },
34
+ ];
35
+ export class AdminRoutingModule {
36
+ }
37
+ AdminRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AdminRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
38
+ AdminRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AdminRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
39
+ AdminRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AdminRoutingModule, imports: [[RouterModule.forChild(routes)], RouterModule] });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AdminRoutingModule, decorators: [{
41
+ type: NgModule,
42
+ args: [{
43
+ imports: [RouterModule.forChild(routes)],
44
+ exports: [RouterModule],
45
+ }]
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNtYXJ0ZXJwbGFuLWFkbWluLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWFkbWluL3NyYy9saWIvbmd4LXNtYXJ0ZXJwbGFuLWFkbWluLXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUUvRCxNQUFNLE1BQU0sR0FBVztJQUNuQjtRQUNJLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLGNBQWM7UUFDekIsUUFBUSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7WUFDM0M7Z0JBQ0ksSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLFFBQVEsRUFBRTtvQkFDTixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO29CQUN6QyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFO2lCQUNyRDtnQkFDRCxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUM7YUFDNUI7WUFDRDtnQkFDSSxJQUFJLEVBQUUsU0FBUztnQkFDZixTQUFTLEVBQUUscUJBQXFCO2dCQUNoQyxXQUFXLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDOUI7WUFDRCxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO1NBQ3ZEO0tBQ0o7Q0FDRixDQUFDO0FBTUosTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLHdDQUZqQixZQUFZO2dIQUViLGtCQUFrQixZQUhsQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDOUIsWUFBWTsyRkFFYixrQkFBa0I7a0JBSjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVzLCBSb3V0ZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IEFkbWluQ29tcG9uZW50IH0gZnJvbSBcIi4vYWRtaW4vYWRtaW4uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEd1aWRlR3VhcmQgfSBmcm9tIFwiLi9ndWlkZS5ndWFyZFwiO1xyXG5pbXBvcnQgeyBPcmdhbmlzYXRpb25Db21wb25lbnQgfSBmcm9tIFwiLi9vcmdhbmlzYXRpb24vb3JnYW5pc2F0aW9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTcEFkbWluR3VhcmQgfSBmcm9tIFwiLi9zcC1hZG1pbi5ndWFyZFwiO1xyXG5pbXBvcnQgeyBVc2VyQ29tcG9uZW50IH0gZnJvbSBcIi4vdXNlci91c2VyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBDcmVhdGVCYXRjaENvbXBvbmVudCB9IGZyb20gXCIuL3Zpc2l0b3IvY3JlYXRlLWJhdGNoL2NyZWF0ZS1iYXRjaC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi92aXNpdG9yL3RlbXBsYXRlL3RlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBWaXNpdG9yQ29tcG9uZW50IH0gZnJvbSBcIi4vdmlzaXRvci92aXNpdG9yLmNvbXBvbmVudFwiO1xyXG5cclxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogXCJcIixcclxuICAgICAgICBjb21wb25lbnQ6IEFkbWluQ29tcG9uZW50LFxyXG4gICAgICAgIGNoaWxkcmVuOiBbXHJcbiAgICAgICAgICAgIHsgcGF0aDogXCJ1c2Vyc1wiLCBjb21wb25lbnQ6IFVzZXJDb21wb25lbnQgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcGF0aDogXCJ2aXNpdG9yc1wiLFxyXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcclxuICAgICAgICAgICAgICAgICAgICB7IHBhdGg6IFwiXCIsIGNvbXBvbmVudDogVmlzaXRvckNvbXBvbmVudCB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHsgcGF0aDogXCJ0ZW1wbGF0ZVwiLCBjb21wb25lbnQ6IFRlbXBsYXRlQ29tcG9uZW50IH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgY2FuQWN0aXZhdGU6IFtHdWlkZUd1YXJkXVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwYXRoOiBcImNsaWVudHNcIixcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogT3JnYW5pc2F0aW9uQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgY2FuQWN0aXZhdGU6IFtTcEFkbWluR3VhcmRdXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgcGF0aDogXCJcIiwgcmVkaXJlY3RUbzogXCJ1c2Vyc1wiLCBwYXRoTWF0Y2g6IFwiZnVsbFwiIH0sXHJcbiAgICAgICAgXVxyXG4gICAgfSxcclxuICBdO1xyXG4gIFxyXG4gIEBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxyXG4gICAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXHJcbiAgfSlcclxuZXhwb3J0IGNsYXNzIEFkbWluUm91dGluZ01vZHVsZSB7IH0iXX0=
@@ -0,0 +1,90 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { OrganisationComponent } from './organisation/organisation.component';
3
+ import { UserComponent } from './user/user.component';
4
+ import { VisitorComponent } from './visitor/visitor.component';
5
+ import { AdminComponent } from './admin/admin.component';
6
+ import { AdminRoutingModule } from './ngx-smarterplan-admin-routing.module';
7
+ import { TranslateModule } from "@ngx-translate/core";
8
+ import { FormsModule, ReactiveFormsModule } from "@angular/forms";
9
+ import { GuestLinkComponent } from './guest-link/guest-link.component';
10
+ import { ChevronComponent } from './chevron/chevron.component';
11
+ import { CommonModule } from '@angular/common';
12
+ import { FormMissionComponent } from './user/form-mission/form-mission.component';
13
+ import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
14
+ import { UserMissionFormComponent } from './user/user-mission-form/user-mission-form.component';
15
+ import { FormOrganisationComponent } from './user/form-organisation/form-organisation.component';
16
+ import { DetailOrganisationComponent } from './user/detail-organisation/detail-organisation.component';
17
+ import { ClipboardModule } from 'ngx-clipboard';
18
+ import { CreateBatchComponent } from './visitor/create-batch/create-batch.component';
19
+ import { NameFromIdPipe } from './name-from-id.pipe';
20
+ import { TemplateComponent } from './visitor/template/template.component';
21
+ import { NgxSmarterplanCoreModule } from 'ngx-smarterplan-core';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "@ngx-translate/core";
24
+ export class NgxSmarterplanAdminModule {
25
+ }
26
+ NgxSmarterplanAdminModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSmarterplanAdminModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
+ NgxSmarterplanAdminModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSmarterplanAdminModule, declarations: [AdminComponent,
28
+ UserComponent,
29
+ VisitorComponent,
30
+ OrganisationComponent,
31
+ GuestLinkComponent,
32
+ ChevronComponent,
33
+ FormMissionComponent,
34
+ UserMissionFormComponent,
35
+ FormOrganisationComponent,
36
+ DetailOrganisationComponent,
37
+ CreateBatchComponent,
38
+ NameFromIdPipe,
39
+ TemplateComponent], imports: [ClipboardModule,
40
+ NgbModule,
41
+ CommonModule,
42
+ FormsModule,
43
+ ReactiveFormsModule,
44
+ NgxSmarterplanCoreModule, i1.TranslateModule, AdminRoutingModule] });
45
+ NgxSmarterplanAdminModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSmarterplanAdminModule, imports: [[
46
+ ClipboardModule,
47
+ NgbModule,
48
+ CommonModule,
49
+ FormsModule,
50
+ ReactiveFormsModule,
51
+ NgxSmarterplanCoreModule,
52
+ TranslateModule.forChild({
53
+ extend: true
54
+ }),
55
+ AdminRoutingModule
56
+ ]] });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSmarterplanAdminModule, decorators: [{
58
+ type: NgModule,
59
+ args: [{
60
+ declarations: [
61
+ AdminComponent,
62
+ UserComponent,
63
+ VisitorComponent,
64
+ OrganisationComponent,
65
+ GuestLinkComponent,
66
+ ChevronComponent,
67
+ FormMissionComponent,
68
+ UserMissionFormComponent,
69
+ FormOrganisationComponent,
70
+ DetailOrganisationComponent,
71
+ CreateBatchComponent,
72
+ NameFromIdPipe,
73
+ TemplateComponent,
74
+ ],
75
+ imports: [
76
+ ClipboardModule,
77
+ NgbModule,
78
+ CommonModule,
79
+ FormsModule,
80
+ ReactiveFormsModule,
81
+ NgxSmarterplanCoreModule,
82
+ TranslateModule.forChild({
83
+ extend: true
84
+ }),
85
+ AdminRoutingModule
86
+ ],
87
+ exports: []
88
+ }]
89
+ }] });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNtYXJ0ZXJwbGFuLWFkbWluLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1hZG1pbi9zcmMvbGliL25neC1zbWFydGVycGxhbi1hZG1pbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBaUNoRSxNQUFNLE9BQU8seUJBQXlCOztzSEFBekIseUJBQXlCO3VIQUF6Qix5QkFBeUIsaUJBNUI5QixjQUFjO1FBQ2QsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixvQkFBb0I7UUFDcEIsd0JBQXdCO1FBQ3hCLHlCQUF5QjtRQUN6QiwyQkFBMkI7UUFDM0Isb0JBQW9CO1FBQ3BCLGNBQWM7UUFDZCxpQkFBaUIsYUFHakIsZUFBZTtRQUNmLFNBQVM7UUFDVCxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQix3QkFBd0Isc0JBSXhCLGtCQUFrQjt1SEFJYix5QkFBeUIsWUFkekI7WUFDTCxlQUFlO1lBQ2YsU0FBUztZQUNULFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4QixlQUFlLENBQUMsUUFBUSxDQUFDO2dCQUNyQixNQUFNLEVBQUUsSUFBSTthQUNmLENBQUM7WUFDRixrQkFBa0I7U0FDckI7MkZBR1EseUJBQXlCO2tCQTlCckMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsaUJBQWlCO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsZUFBZTt3QkFDZixTQUFTO3dCQUNULFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsZUFBZSxDQUFDLFFBQVEsQ0FBQzs0QkFDckIsTUFBTSxFQUFFLElBQUk7eUJBQ2YsQ0FBQzt3QkFDRixrQkFBa0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3JnYW5pc2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9vcmdhbmlzYXRpb24vb3JnYW5pc2F0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVzZXJDb21wb25lbnQgfSBmcm9tICcuL3VzZXIvdXNlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWaXNpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi92aXNpdG9yL3Zpc2l0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWRtaW5Db21wb25lbnQgfSBmcm9tICcuL2FkbWluL2FkbWluLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkbWluUm91dGluZ01vZHVsZSB9IGZyb20gJy4vbmd4LXNtYXJ0ZXJwbGFuLWFkbWluLXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgR3Vlc3RMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9ndWVzdC1saW5rL2d1ZXN0LWxpbmsuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hldnJvbkNvbXBvbmVudCB9IGZyb20gJy4vY2hldnJvbi9jaGV2cm9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1NaXNzaW9uQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyL2Zvcm0tbWlzc2lvbi9mb3JtLW1pc3Npb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBVc2VyTWlzc2lvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuL3VzZXIvdXNlci1taXNzaW9uLWZvcm0vdXNlci1taXNzaW9uLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybU9yZ2FuaXNhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdXNlci9mb3JtLW9yZ2FuaXNhdGlvbi9mb3JtLW9yZ2FuaXNhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZXRhaWxPcmdhbmlzYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3VzZXIvZGV0YWlsLW9yZ2FuaXNhdGlvbi9kZXRhaWwtb3JnYW5pc2F0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENsaXBib2FyZE1vZHVsZSB9IGZyb20gJ25neC1jbGlwYm9hcmQnO1xyXG5pbXBvcnQgeyBDcmVhdGVCYXRjaENvbXBvbmVudCB9IGZyb20gJy4vdmlzaXRvci9jcmVhdGUtYmF0Y2gvY3JlYXRlLWJhdGNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5hbWVGcm9tSWRQaXBlIH0gZnJvbSAnLi9uYW1lLWZyb20taWQucGlwZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi92aXNpdG9yL3RlbXBsYXRlL3RlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5neFNtYXJ0ZXJwbGFuQ29yZU1vZHVsZSB9IGZyb20gJ25neC1zbWFydGVycGxhbi1jb3JlJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgQWRtaW5Db21wb25lbnQsXHJcbiAgICAgICAgVXNlckNvbXBvbmVudCxcclxuICAgICAgICBWaXNpdG9yQ29tcG9uZW50LFxyXG4gICAgICAgIE9yZ2FuaXNhdGlvbkNvbXBvbmVudCxcclxuICAgICAgICBHdWVzdExpbmtDb21wb25lbnQsXHJcbiAgICAgICAgQ2hldnJvbkNvbXBvbmVudCxcclxuICAgICAgICBGb3JtTWlzc2lvbkNvbXBvbmVudCxcclxuICAgICAgICBVc2VyTWlzc2lvbkZvcm1Db21wb25lbnQsXHJcbiAgICAgICAgRm9ybU9yZ2FuaXNhdGlvbkNvbXBvbmVudCxcclxuICAgICAgICBEZXRhaWxPcmdhbmlzYXRpb25Db21wb25lbnQsXHJcbiAgICAgICAgQ3JlYXRlQmF0Y2hDb21wb25lbnQsXHJcbiAgICAgICAgTmFtZUZyb21JZFBpcGUsXHJcbiAgICAgICAgVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENsaXBib2FyZE1vZHVsZSxcclxuICAgICAgICBOZ2JNb2R1bGUsXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgTmd4U21hcnRlcnBsYW5Db3JlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCh7XHJcbiAgICAgICAgICAgIGV4dGVuZDogdHJ1ZVxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIEFkbWluUm91dGluZ01vZHVsZVxyXG4gICAgXSwgXHJcbiAgICBleHBvcnRzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4U21hcnRlcnBsYW5BZG1pbk1vZHVsZSB7fVxyXG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NgxSmarterplanAdminService {
4
+ constructor() { }
5
+ }
6
+ NgxSmarterplanAdminService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSmarterplanAdminService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7
+ NgxSmarterplanAdminService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSmarterplanAdminService, providedIn: 'root' });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSmarterplanAdminService, decorators: [{
9
+ type: Injectable,
10
+ args: [{
11
+ providedIn: 'root'
12
+ }]
13
+ }], ctorParameters: function () { return []; } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNtYXJ0ZXJwbGFuLWFkbWluLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tYWRtaW4vc3JjL2xpYi9uZ3gtc21hcnRlcnBsYW4tYWRtaW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sMEJBQTBCO0lBRXJDLGdCQUFnQixDQUFDOzt1SEFGTiwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5neFNtYXJ0ZXJwbGFuQWRtaW5TZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxufVxuIl19