devextreme-schematics 1.3.0-beta.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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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"}