devextreme-schematics 1.3.0-beta.1 → 1.3.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 (96) hide show
  1. package/package.json +10 -8
  2. package/src/add-app-template/index.js +2 -1
  3. package/src/add-app-template/index.js.map +1 -1
  4. package/src/add-app-template/index.ts +30 -0
  5. package/src/add-app-template/index_spec.js +6 -5
  6. package/src/add-app-template/index_spec.js.map +1 -1
  7. package/src/add-app-template/index_spec.ts +73 -0
  8. package/src/add-app-template/schema.json +7 -3
  9. package/src/add-layout/files/devextreme.json +1 -1
  10. package/src/add-layout/files/src/app/__name__.component.html +3 -3
  11. package/src/add-layout/files/src/app/__name__.component.ts +1 -1
  12. package/src/add-layout/files/src/app/app-routing.module.ts +1 -1
  13. package/src/add-layout/files/src/app/layouts/side-nav-inner-toolbar/side-nav-inner-toolbar.component.ts +13 -11
  14. package/src/add-layout/files/src/app/layouts/side-nav-outer-toolbar/side-nav-outer-toolbar.component.ts +10 -9
  15. package/src/add-layout/files/src/app/layouts/single-card/single-card.component.ts +4 -4
  16. package/src/add-layout/files/src/app/not-authorized-container.ts +2 -0
  17. package/src/add-layout/files/src/app/shared/components/change-password-form/change-password-form.component.html +8 -6
  18. package/src/add-layout/files/src/app/shared/components/change-password-form/change-password-form.component.ts +6 -15
  19. package/src/add-layout/files/src/app/shared/components/create-account-form/create-account-form.component.html +9 -7
  20. package/src/add-layout/files/src/app/shared/components/create-account-form/create-account-form.component.ts +4 -13
  21. package/src/add-layout/files/src/app/shared/components/header/header.component.ts +11 -6
  22. package/src/add-layout/files/src/app/shared/components/login-form/login-form.component.html +8 -6
  23. package/src/add-layout/files/src/app/shared/components/login-form/login-form.component.ts +2 -12
  24. package/src/add-layout/files/src/app/shared/components/reset-password-form/reset-password-form.component.html +8 -6
  25. package/src/add-layout/files/src/app/shared/components/reset-password-form/reset-password-form.component.ts +2 -12
  26. package/src/add-layout/files/src/app/shared/components/side-navigation-menu/side-navigation-menu.component.ts +8 -7
  27. package/src/add-layout/files/src/app/shared/components/user-panel/user-panel.component.html +5 -2
  28. package/src/add-layout/files/src/app/shared/components/user-panel/user-panel.component.ts +3 -2
  29. package/src/add-layout/files/src/app/shared/services/auth.service.ts +11 -5
  30. package/src/add-layout/files/src/app/shared/services/screen.service.ts +2 -2
  31. package/src/add-layout/files/src/app/unauthenticated-content.ts +53 -0
  32. package/src/add-layout/files/src/dx-styles.scss +4 -0
  33. package/src/add-layout/index.js +45 -31
  34. package/src/add-layout/index.js.map +1 -1
  35. package/src/add-layout/index.ts +384 -0
  36. package/src/add-layout/index_spec.js +42 -28
  37. package/src/add-layout/index_spec.js.map +1 -1
  38. package/src/add-layout/index_spec.ts +340 -0
  39. package/src/add-layout/schema.json +6 -2
  40. package/src/add-sample-views/files/pages/home/home.component.html +5 -5
  41. package/src/add-sample-views/files/pages/profile/profile.component.ts +1 -1
  42. package/src/add-sample-views/files/pages/tasks/tasks.component.html +1 -0
  43. package/src/add-sample-views/index.js +13 -4
  44. package/src/add-sample-views/index.js.map +1 -1
  45. package/src/add-sample-views/index.ts +141 -0
  46. package/src/add-sample-views/index_spec.js +5 -4
  47. package/src/add-sample-views/index_spec.js.map +1 -1
  48. package/src/add-sample-views/index_spec.ts +74 -0
  49. package/src/add-sample-views/schema.json +1 -1
  50. package/src/add-view/index.d.ts +2 -2
  51. package/src/add-view/index.js +33 -22
  52. package/src/add-view/index.js.map +1 -1
  53. package/src/add-view/index.ts +166 -0
  54. package/src/add-view/index_spec.js +12 -12
  55. package/src/add-view/index_spec.js.map +1 -1
  56. package/src/add-view/index_spec.ts +155 -0
  57. package/src/add-view/schema.json +4 -4
  58. package/src/collection.json +2 -1
  59. package/src/install/index.js +16 -3
  60. package/src/install/index.js.map +1 -1
  61. package/src/install/index.ts +88 -0
  62. package/src/install/index_spec.js +10 -9
  63. package/src/install/index_spec.js.map +1 -1
  64. package/src/install/index_spec.ts +106 -0
  65. package/src/install/schema.json +2 -2
  66. package/src/utility/array.js +1 -0
  67. package/src/utility/array.js.map +1 -1
  68. package/src/utility/array.ts +3 -0
  69. package/src/utility/change.js +1 -0
  70. package/src/utility/change.js.map +1 -1
  71. package/src/utility/change.ts +66 -0
  72. package/src/utility/latest-versions.d.ts +1 -1
  73. package/src/utility/latest-versions.js +3 -2
  74. package/src/utility/latest-versions.js.map +1 -1
  75. package/src/utility/latest-versions.ts +6 -0
  76. package/src/utility/modify-json-file.d.ts +1 -0
  77. package/src/utility/modify-json-file.js +7 -3
  78. package/src/utility/modify-json-file.js.map +1 -1
  79. package/src/utility/modify-json-file.ts +16 -0
  80. package/src/utility/project.d.ts +4 -4
  81. package/src/utility/project.js +35 -12
  82. package/src/utility/project.js.map +1 -1
  83. package/src/utility/project.ts +30 -0
  84. package/src/utility/routing.js +1 -0
  85. package/src/utility/routing.js.map +1 -1
  86. package/src/utility/routing.ts +44 -0
  87. package/src/utility/source.js +1 -0
  88. package/src/utility/source.js.map +1 -1
  89. package/src/utility/source.ts +16 -0
  90. package/src/utility/string.js +1 -0
  91. package/src/utility/string.js.map +1 -1
  92. package/src/utility/string.ts +5 -0
  93. package/src/utility/styles.d.ts +1 -2
  94. package/src/utility/styles.js +3 -4
  95. package/src/utility/styles.js.map +1 -1
  96. package/src/utility/styles.ts +30 -0
@@ -1,11 +1,12 @@
1
1
  import { Component, NgModule, Input, Output, EventEmitter, OnInit } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
 
4
- import { AuthService } from '../../services';
4
+ import { AuthService, IUser } from '../../services';
5
5
  import { UserPanelModule } from '../user-panel/user-panel.component';
6
6
  import { DxButtonModule } from 'devextreme-angular/ui/button';
7
7
  import { DxToolbarModule } from 'devextreme-angular/ui/toolbar';
8
8
 
9
+ import { Router } from '@angular/router';
9
10
  @Component({
10
11
  selector: 'app-header',
11
12
  templateUrl: 'header.component.html',
@@ -20,14 +21,18 @@ export class HeaderComponent implements OnInit {
20
21
  menuToggleEnabled = false;
21
22
 
22
23
  @Input()
23
- title: string;
24
+ title!: string;
24
25
 
25
- user = { email: '' };
26
+ user: IUser | null = { email: '' };
26
27
 
27
28
  userMenuItems = [{
28
29
  text: 'Profile',
29
- icon: 'user'
30
- }, {
30
+ icon: 'user',
31
+ onClick: () => {
32
+ this.router.navigate(['/profile']);
33
+ }
34
+ },
35
+ {
31
36
  text: 'Logout',
32
37
  icon: 'runner',
33
38
  onClick: () => {
@@ -35,7 +40,7 @@ export class HeaderComponent implements OnInit {
35
40
  }
36
41
  }];
37
42
 
38
- constructor(private authService: AuthService) { }
43
+ constructor(private authService: AuthService, private router: Router) { }
39
44
 
40
45
  ngOnInit() {
41
46
  this.authService.getUser().then((e) => this.user = e.data);
@@ -35,12 +35,14 @@
35
35
  </dxi-item>
36
36
 
37
37
  <ng-container *dxTemplate="let item of 'signInTemplate'">
38
- <span class="dx-button-text">
39
- <ng-container *ngIf="loading; else notLoading">
40
- <dx-load-indicator width="24px" height="24px" [visible]="true"></dx-load-indicator>
41
- </ng-container>
42
- <ng-template #notLoading>Sign In</ng-template>
43
- </span>
38
+ <div>
39
+ <span class="dx-button-text">
40
+ <ng-container *ngIf="loading; else notLoading">
41
+ <dx-load-indicator width="24px" height="24px" [visible]="true"></dx-load-indicator>
42
+ </ng-container>
43
+ <ng-template #notLoading>Sign In</ng-template>
44
+ </span>
45
+ </div>
44
46
  </ng-container>
45
47
 
46
48
  </dx-form>
@@ -1,13 +1,8 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { Component, NgModule } from '@angular/core';
3
3
  import { Router, RouterModule } from '@angular/router';
4
- import { DxButtonModule } from 'devextreme-angular/ui/button';
5
- import { DxCheckBoxModule } from 'devextreme-angular/ui/check-box';
6
4
  import { DxFormModule } from 'devextreme-angular/ui/form';
7
5
  import { DxLoadIndicatorModule } from 'devextreme-angular/ui/load-indicator';
8
- import { DxTextBoxModule } from 'devextreme-angular/ui/text-box';
9
- import { DxValidationGroupModule } from 'devextreme-angular/ui/validation-group';
10
- import { DxValidatorModule } from 'devextreme-angular/ui/validator';
11
6
  import notify from 'devextreme/ui/notify';
12
7
  import { AuthService } from '../../services';
13
8
 
@@ -23,7 +18,7 @@ export class LoginFormComponent {
23
18
 
24
19
  constructor(private authService: AuthService, private router: Router) { }
25
20
 
26
- async onSubmit(e) {
21
+ async onSubmit(e: Event) {
27
22
  e.preventDefault();
28
23
  const { email, password } = this.formData;
29
24
  this.loading = true;
@@ -43,13 +38,8 @@ export class LoginFormComponent {
43
38
  imports: [
44
39
  CommonModule,
45
40
  RouterModule,
46
- DxButtonModule,
47
- DxCheckBoxModule,
48
- DxTextBoxModule,
49
41
  DxFormModule,
50
- DxValidatorModule,
51
- DxLoadIndicatorModule,
52
- DxValidationGroupModule
42
+ DxLoadIndicatorModule
53
43
  ],
54
44
  declarations: [ LoginFormComponent ],
55
45
  exports: [ LoginFormComponent ]
@@ -20,12 +20,14 @@
20
20
  </dxi-item>
21
21
 
22
22
  <ng-container *dxTemplate="let item of 'resetPasswordTemplate'">
23
- <span class="dx-button-text">
24
- <ng-container *ngIf="loading; else notLoading">
25
- <dx-load-indicator width="24px" height="24px" [visible]="true"></dx-load-indicator>
26
- </ng-container>
27
- <ng-template #notLoading>Reset my password</ng-template>
28
- </span>
23
+ <div>
24
+ <span class="dx-button-text">
25
+ <ng-container *ngIf="loading; else notLoading">
26
+ <dx-load-indicator width="24px" height="24px" [visible]="true"></dx-load-indicator>
27
+ </ng-container>
28
+ <ng-template #notLoading>Reset my password</ng-template>
29
+ </span>
30
+ </div>>
29
31
  </ng-container>
30
32
 
31
33
  </dx-form>
@@ -1,13 +1,8 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { Component, NgModule } from '@angular/core';
3
3
  import { Router, RouterModule } from '@angular/router';
4
- import { DxButtonModule } from 'devextreme-angular/ui/button';
5
- import { DxCheckBoxModule } from 'devextreme-angular/ui/check-box';
6
4
  import { DxFormModule } from 'devextreme-angular/ui/form';
7
5
  import { DxLoadIndicatorModule } from 'devextreme-angular/ui/load-indicator';
8
- import { DxTextBoxModule } from 'devextreme-angular/ui/text-box';
9
- import { DxValidationGroupModule } from 'devextreme-angular/ui/validation-group';
10
- import { DxValidatorModule } from 'devextreme-angular/ui/validator';
11
6
  import notify from 'devextreme/ui/notify';
12
7
  import { AuthService } from '../../services';
13
8
 
@@ -24,7 +19,7 @@ export class ResetPasswordFormComponent {
24
19
 
25
20
  constructor(private authService: AuthService, private router: Router) { }
26
21
 
27
- async onSubmit(e) {
22
+ async onSubmit(e: Event) {
28
23
  e.preventDefault();
29
24
  const { email } = this.formData;
30
25
  this.loading = true;
@@ -44,13 +39,8 @@ export class ResetPasswordFormComponent {
44
39
  imports: [
45
40
  CommonModule,
46
41
  RouterModule,
47
- DxButtonModule,
48
- DxCheckBoxModule,
49
- DxTextBoxModule,
50
42
  DxFormModule,
51
- DxValidatorModule,
52
- DxLoadIndicatorModule,
53
- DxValidationGroupModule
43
+ DxLoadIndicatorModule
54
44
  ],
55
45
  declarations: [ResetPasswordFormComponent],
56
46
  exports: [ResetPasswordFormComponent]
@@ -1,4 +1,5 @@
1
1
  import { Component, NgModule, Output, Input, EventEmitter, ViewChild, ElementRef, AfterViewInit, OnDestroy } from '@angular/core';
2
+ import { ItemClickEvent } from 'devextreme/ui/tree_view';
2
3
  import { DxTreeViewModule, DxTreeViewComponent } from 'devextreme-angular/ui/tree-view';
3
4
  import { navigation } from '../../../app-navigation';
4
5
 
@@ -11,15 +12,15 @@ import * as events from 'devextreme/events';
11
12
  })
12
13
  export class SideNavigationMenuComponent implements AfterViewInit, OnDestroy {
13
14
  @ViewChild(DxTreeViewComponent, { static: true })
14
- menu: DxTreeViewComponent;
15
+ menu!: DxTreeViewComponent;
15
16
 
16
17
  @Output()
17
- selectedItemChanged = new EventEmitter<string>();
18
+ selectedItemChanged = new EventEmitter<ItemClickEvent>();
18
19
 
19
20
  @Output()
20
21
  openMenu = new EventEmitter<any>();
21
22
 
22
- private _selectedItem: String;
23
+ private _selectedItem!: String;
23
24
  @Input()
24
25
  set selectedItem(value: String) {
25
26
  this._selectedItem = value;
@@ -30,11 +31,11 @@ export class SideNavigationMenuComponent implements AfterViewInit, OnDestroy {
30
31
  this.menu.instance.selectItem(value);
31
32
  }
32
33
 
33
- private _items;
34
+ private _items!: Record <string, unknown>[];
34
35
  get items() {
35
36
  if (!this._items) {
36
37
  this._items = navigation.map((item) => {
37
- if(item.path && !(/^\//.test(item.path))){
38
+ if(item.path && !(/^\//.test(item.path))){
38
39
  item.path = `/${item.path}`;
39
40
  }
40
41
  return { ...item, expanded: !this._compactMode }
@@ -65,12 +66,12 @@ export class SideNavigationMenuComponent implements AfterViewInit, OnDestroy {
65
66
 
66
67
  constructor(private elementRef: ElementRef) { }
67
68
 
68
- onItemClick(event) {
69
+ onItemClick(event: ItemClickEvent) {
69
70
  this.selectedItemChanged.emit(event);
70
71
  }
71
72
 
72
73
  ngAfterViewInit() {
73
- events.on(this.elementRef.nativeElement, 'dxclick', (e) => {
74
+ events.on(this.elementRef.nativeElement, 'dxclick', (e: Event) => {
74
75
  this.openMenu.next(e);
75
76
  });
76
77
  }
@@ -3,7 +3,7 @@
3
3
  <div class="image-container">
4
4
  <div class="user-image"></div>
5
5
  </div>
6
- <div class="user-name">{{user.email}}</div>
6
+ <div class="user-name">{{user?.email}}</div>
7
7
  </div>
8
8
  <dx-context-menu
9
9
  *ngIf="menuMode === 'context'"
@@ -11,7 +11,10 @@
11
11
  target=".user-button"
12
12
  showEvent="dxclick"
13
13
  width="210px"
14
- [position]="{ my: 'top center', at: 'bottom center' }"
14
+ [position]="{
15
+ my: 'top',
16
+ at: 'bottom'
17
+ }"
15
18
  cssClass="user-menu">
16
19
  </dx-context-menu>
17
20
  <dx-list
@@ -3,6 +3,7 @@ import { CommonModule } from '@angular/common';
3
3
 
4
4
  import { DxListModule } from 'devextreme-angular/ui/list';
5
5
  import { DxContextMenuModule } from 'devextreme-angular/ui/context-menu';
6
+ import { IUser } from '../../services/auth.service';
6
7
 
7
8
  @Component({
8
9
  selector: 'app-user-panel',
@@ -15,10 +16,10 @@ export class UserPanelComponent {
15
16
  menuItems: any;
16
17
 
17
18
  @Input()
18
- menuMode: string;
19
+ menuMode!: string;
19
20
 
20
21
  @Input()
21
- user: { email: string };
22
+ user!: IUser | null;
22
23
 
23
24
  constructor() {}
24
25
  }
@@ -1,6 +1,11 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { CanActivate, Router, ActivatedRouteSnapshot } from '@angular/router';
3
3
 
4
+ export interface IUser {
5
+ email: string;
6
+ avatarUrl?: string
7
+ }
8
+
4
9
  const defaultPath = '/';
5
10
  const defaultUser = {
6
11
  email: 'sandra@example.com',
@@ -9,7 +14,7 @@ const defaultUser = {
9
14
 
10
15
  @Injectable()
11
16
  export class AuthService {
12
- private _user = defaultUser;
17
+ private _user: IUser | null = defaultUser;
13
18
  get loggedIn(): boolean {
14
19
  return !!this._user;
15
20
  }
@@ -53,12 +58,13 @@ export class AuthService {
53
58
  }
54
59
  catch {
55
60
  return {
56
- isOk: false
61
+ isOk: false,
62
+ data: null
57
63
  };
58
64
  }
59
65
  }
60
66
 
61
- async createAccount(email, password) {
67
+ async createAccount(email: string, password: string) {
62
68
  try {
63
69
  // Send request
64
70
  console.log(email, password);
@@ -127,7 +133,7 @@ export class AuthGuardService implements CanActivate {
127
133
  'reset-password',
128
134
  'create-account',
129
135
  'change-password/:recoveryCode'
130
- ].includes(route.routeConfig.path);
136
+ ].includes(route.routeConfig?.path || defaultPath);
131
137
 
132
138
  if (isLoggedIn && isAuthForm) {
133
139
  this.authService.lastAuthenticatedPath = defaultPath;
@@ -140,7 +146,7 @@ export class AuthGuardService implements CanActivate {
140
146
  }
141
147
 
142
148
  if (isLoggedIn) {
143
- this.authService.lastAuthenticatedPath = route.routeConfig.path;
149
+ this.authService.lastAuthenticatedPath = route.routeConfig?.path || defaultPath;
144
150
  }
145
151
 
146
152
  return isLoggedIn || isAuthForm;
@@ -8,7 +8,7 @@ export class ScreenService {
8
8
  constructor(private breakpointObserver: BreakpointObserver) {
9
9
  this.breakpointObserver
10
10
  .observe([Breakpoints.XSmall, Breakpoints.Small, Breakpoints.Medium, Breakpoints.Large])
11
- .subscribe(() => this.changed.next());
11
+ .subscribe(() => this.changed.next(true));
12
12
  }
13
13
 
14
14
  private isLargeScreen() {
@@ -18,7 +18,7 @@ export class ScreenService {
18
18
  return isLarge || isXLarge;
19
19
  }
20
20
 
21
- public get sizes() {
21
+ public get sizes(): Record<string, boolean> {
22
22
  return {
23
23
  'screen-x-small': this.breakpointObserver.isMatched(Breakpoints.XSmall),
24
24
  'screen-small': this.breakpointObserver.isMatched(Breakpoints.Small),
@@ -0,0 +1,53 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, NgModule } from '@angular/core';
3
+ import { RouterModule } from '@angular/router';
4
+ import { SingleCardModule } from 'src/app/layouts';
5
+ import { Router } from '@angular/router';
6
+
7
+ @Component({
8
+ selector: 'app-unauthenticated-content',
9
+ template: `
10
+ <app-single-card [title]="title" [description]="description">
11
+ <router-outlet></router-outlet>
12
+ </app-single-card>
13
+ `,
14
+ styles: [`
15
+ :host {
16
+ width: 100%;
17
+ height: 100%;
18
+ }
19
+ `]
20
+ })
21
+ export class UnauthenticatedContentComponent {
22
+
23
+ constructor(private router: Router) { }
24
+
25
+ get title() {
26
+ const path = this.router.url.split('/')[1];
27
+ switch (path) {
28
+ case 'login-form': return 'Sign In';
29
+ case 'reset-password': return 'Reset Password';
30
+ case 'create-account': return 'Sign Up';
31
+ case 'change-password': return 'Change Password';
32
+ default: return '';
33
+ }
34
+ }
35
+
36
+ get description() {
37
+ const path = this.router.url.split('/')[1];
38
+ switch (path) {
39
+ case 'reset-password': return 'Please enter the email address that you used to register, and we will send you a link to reset your password via Email.';
40
+ default: return '';
41
+ }
42
+ }
43
+ }
44
+ @NgModule({
45
+ imports: [
46
+ CommonModule,
47
+ RouterModule,
48
+ SingleCardModule,
49
+ ],
50
+ declarations: [UnauthenticatedContentComponent],
51
+ exports: [UnauthenticatedContentComponent]
52
+ })
53
+ export class UnauthenticatedContentModule { }
@@ -18,6 +18,10 @@ html, body {
18
18
  }
19
19
  }
20
20
 
21
+ .side-nav-outer-toolbar .dx-drawer {
22
+ height: calc(100% - 56px)
23
+ }
24
+
21
25
  .content-block {
22
26
  margin-left: 40px;
23
27
  margin-right: 40px;
@@ -1,7 +1,15 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  const schematics_1 = require("@angular-devkit/schematics");
4
- const rxjs_1 = require("rxjs");
5
13
  const core_1 = require("@angular-devkit/core");
6
14
  const path_1 = require("path");
7
15
  const project_1 = require("../utility/project");
@@ -14,7 +22,7 @@ const source_1 = require("../utility/source");
14
22
  const change_1 = require("../utility/change");
15
23
  const routing_1 = require("../utility/routing");
16
24
  const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
17
- const config_1 = require("@schematics/angular/utility/config");
25
+ const workspace_1 = require("@schematics/angular/utility/workspace");
18
26
  const projectFilesSource = './files/src';
19
27
  const workspaceFilesSource = './files';
20
28
  function addScriptSafe(scripts, name, value) {
@@ -42,8 +50,9 @@ function addBuildThemeScript() {
42
50
  return host;
43
51
  };
44
52
  }
45
- function addCustomThemeStyles(options, sourcePath) {
46
- return (host) => {
53
+ function addCustomThemeStyles(host, options, sourcePath = '') {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ const projectName = yield project_1.getProjectName(host, options.project);
47
56
  modify_json_file_1.modifyJSONFile(host, './angular.json', config => {
48
57
  const stylesList = [
49
58
  `${sourcePath}/dx-styles.scss`,
@@ -51,27 +60,27 @@ function addCustomThemeStyles(options, sourcePath) {
51
60
  `${sourcePath}/themes/generated/theme.base.css`,
52
61
  'node_modules/devextreme/dist/css/dx.common.css'
53
62
  ];
54
- return styles_1.addStylesToApp(host, options.project, config, stylesList);
63
+ return styles_1.addStylesToApp(projectName, config, stylesList);
55
64
  });
56
65
  return host;
57
- };
66
+ });
58
67
  }
59
- function updateBudgets(options) {
60
- return (host) => {
68
+ function updateBudgets(host, options) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ const projectName = yield project_1.getProjectName(host, options.project);
61
71
  modify_json_file_1.modifyJSONFile(host, './angular.json', config => {
62
- const projectName = project_1.getProjectName(host, options.project);
63
72
  const budgets = config.projects[projectName].architect.build.configurations.production.budgets;
64
73
  const budget = budgets.find((item) => item.type === 'initial');
65
74
  if (budget) {
66
75
  budget.maximumWarning = '4mb';
67
- budget.maximumError = '6mb';
76
+ budget.maximumError = '7mb';
68
77
  }
69
78
  return config;
70
79
  });
71
80
  return host;
72
- };
81
+ });
73
82
  }
74
- function addViewportToBody(sourcePath) {
83
+ function addViewportToBody(sourcePath = '') {
75
84
  return (host) => {
76
85
  const indexPath = path_1.join(sourcePath, 'index.html');
77
86
  let indexContent = host.read(indexPath).toString();
@@ -107,11 +116,14 @@ function updateAppModule(host, sourcePath) {
107
116
  modifyFileRule(appModulePath, importSetter('SideNavInnerToolbarModule', './layouts')),
108
117
  modifyFileRule(appModulePath, importSetter('SingleCardModule', './layouts')),
109
118
  modifyFileRule(appModulePath, importSetter('FooterModule', './shared/components')),
119
+ modifyFileRule(appModulePath, importSetter('ResetPasswordFormModule', './shared/components')),
120
+ modifyFileRule(appModulePath, importSetter('CreateAccountFormModule', './shared/components')),
121
+ modifyFileRule(appModulePath, importSetter('ChangePasswordFormModule', './shared/components')),
110
122
  modifyFileRule(appModulePath, importSetter('LoginFormModule', './shared/components')),
111
123
  modifyFileRule(appModulePath, providerSetter('AuthService', './shared/services')),
112
124
  modifyFileRule(appModulePath, providerSetter('ScreenService', './shared/services')),
113
125
  modifyFileRule(appModulePath, providerSetter('AppInfoService', './shared/services')),
114
- modifyFileRule(appModulePath, importSetter('NotAuthorizedContainerModule', './not-authorized-container')),
126
+ modifyFileRule(appModulePath, importSetter('UnauthenticatedContentModule', './unauthenticated-content')),
115
127
  ];
116
128
  if (!hasRoutingModule(host, sourcePath)) {
117
129
  rules.push(modifyFileRule(appModulePath, importSetter('AppRoutingModule', './app-routing.module')));
@@ -135,17 +147,17 @@ function getComponentName(host, sourcePath) {
135
147
  function hasRoutingModule(host, sourcePath) {
136
148
  return host.exists(sourcePath + 'app-routing.module.ts');
137
149
  }
138
- function addPackagesToDependency() {
150
+ function addPackagesToDependency(globalNgCliVersion) {
139
151
  return (host) => {
140
152
  dependencies_1.addPackageJsonDependency(host, {
141
153
  type: dependencies_1.NodeDependencyType.Default,
142
154
  name: '@angular/cdk',
143
- version: '^8.0.0'
155
+ version: globalNgCliVersion
144
156
  });
145
157
  return host;
146
158
  };
147
159
  }
148
- function modifyContentByTemplate(sourcePath, templateSourcePath, filePath, templateOptions = {}, modifyContent) {
160
+ function modifyContentByTemplate(sourcePath = '', templateSourcePath, filePath, templateOptions = {}, modifyContent) {
149
161
  return (host, context) => {
150
162
  const modifyIfExists = (fileEntry) => {
151
163
  const fileEntryPath = path_1.join(sourcePath, fileEntry.path.toString());
@@ -174,13 +186,12 @@ function modifyContentByTemplate(sourcePath, templateSourcePath, filePath, templ
174
186
  ];
175
187
  const modifiedSource = schematics_1.apply(schematics_1.url(templateSourcePath), rules);
176
188
  const resultRule = schematics_1.mergeWith(modifiedSource);
177
- return schematics_1.callRule(resultRule, rxjs_1.of(host), context);
189
+ return schematics_1.callRule(resultRule, host, context);
178
190
  };
179
191
  }
180
- function updateDevextremeConfig(sourcePath) {
192
+ function updateDevextremeConfig(sourcePath = '') {
181
193
  const devextremeConfigPath = '/devextreme.json';
182
194
  const templateOptions = {
183
- engine: 'angular',
184
195
  sourcePath
185
196
  };
186
197
  const modifyConfig = (templateContent, currentContent) => {
@@ -205,17 +216,20 @@ const modifyRoutingModule = (host, routingModulePath) => {
205
216
  }
206
217
  };
207
218
  function default_1(options) {
208
- return (host) => {
209
- const project = project_1.getProjectName(host, options.project);
210
- const workspace = config_1.getWorkspace(host);
211
- const prefix = workspace.projects[project].prefix;
219
+ return (host) => __awaiter(this, void 0, void 0, function* () {
220
+ const ngConfig = host.read('./angular.json').toString();
221
+ const defaultProjectName = modify_json_file_1.parseJson(ngConfig).defaultProject;
222
+ const project = yield project_1.getProjectName(host, options.project);
223
+ const workspace = yield workspace_1.getWorkspace(host);
224
+ const ngProject = workspace.projects.get(project);
225
+ const prefix = ngProject === null || ngProject === void 0 ? void 0 : ngProject.prefix;
212
226
  const title = string_1.humanize(project);
213
- const appPath = project_1.getApplicationPath(host, project);
214
- const sourcePath = project_1.getSourceRootPath(host, project);
227
+ const appPath = yield project_1.getApplicationPath(host, project);
228
+ const sourcePath = yield project_1.getSourceRootPath(host, project);
215
229
  const layout = options.layout;
216
230
  const override = options.resolveConflicts === 'override';
217
231
  const componentName = override ? 'app' : getComponentName(host, appPath);
218
- const pathToCss = sourcePath.replace(/\/?(\w)+\/?/g, '../');
232
+ const pathToCss = sourcePath === null || sourcePath === void 0 ? void 0 : sourcePath.replace(/\/?(\w)+\/?/g, '../');
219
233
  const templateOptions = {
220
234
  name: componentName,
221
235
  layout,
@@ -239,12 +253,12 @@ function default_1(options) {
239
253
  updateDevextremeConfig(sourcePath),
240
254
  updateAppModule(host, appPath),
241
255
  addBuildThemeScript(),
242
- addCustomThemeStyles(options, sourcePath),
256
+ () => addCustomThemeStyles(host, options, sourcePath),
243
257
  addViewportToBody(sourcePath),
244
- addPackagesToDependency()
258
+ addPackagesToDependency(options.globalNgCliVersion)
245
259
  ];
246
260
  if (options.updateBudgets) {
247
- rules.push(updateBudgets(options));
261
+ rules.push(() => updateBudgets(host, options));
248
262
  }
249
263
  if (!options.skipInstall) {
250
264
  rules.push((_, context) => {
@@ -252,13 +266,13 @@ function default_1(options) {
252
266
  });
253
267
  }
254
268
  if (override) {
255
- if (project === workspace.defaultProject) {
269
+ if (project === defaultProjectName) {
256
270
  rules.push(modifyContentByTemplate('./', workspaceFilesSource, 'e2e/src/app.e2e-spec.ts', { title }));
257
271
  rules.push(modifyContentByTemplate('./', workspaceFilesSource, 'e2e/src/app.po.ts'));
258
272
  }
259
273
  }
260
274
  return schematics_1.chain(rules);
261
- };
275
+ });
262
276
  }
263
277
  exports.default = default_1;
264
278
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}