@energycap/components 0.39.25-ECAP-26539-Item-Picker-Select-All.20240919-0932 → 0.39.25-rxjs-7-upgrade.20240920-1518

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/esm2020/lib/controls/checkbox/checkbox.component.mjs +3 -3
  2. package/esm2020/lib/controls/combobox/combobox.component.mjs +1 -1
  3. package/esm2020/lib/controls/dropdown/dropdown.component.mjs +1 -1
  4. package/esm2020/lib/controls/file-upload/file-upload.component.mjs +3 -2
  5. package/esm2020/lib/controls/form-control/form-control.component.mjs +2 -2
  6. package/esm2020/lib/controls/form-control-base.mjs +2 -2
  7. package/esm2020/lib/controls/form-control-label/form-control-label.component.mjs +1 -1
  8. package/esm2020/lib/controls/form-group/form-group.component.mjs +3 -3
  9. package/esm2020/lib/controls/item-picker/item-picker.component.mjs +15 -102
  10. package/esm2020/lib/controls/popover/popover.component.mjs +1 -1
  11. package/esm2020/lib/controls/select/select.component.mjs +2 -2
  12. package/esm2020/lib/core/validation-message.service.mjs +3 -3
  13. package/esm2020/lib/display/dialog/dialog.component.mjs +4 -4
  14. package/esm2020/lib/display/hierarchy/hierarchy-base.mjs +1 -1
  15. package/esm2020/lib/display/table/searchable-table.component.mjs +1 -1
  16. package/esm2020/lib/display/toast/toaster/toaster.component.mjs +1 -1
  17. package/esm2020/lib/display/tooltip-directive/tooltip.directive.mjs +2 -2
  18. package/esm2020/lib/display/tour/tour.component.mjs +3 -3
  19. package/esm2020/lib/shared/page/page-base/page-base.component.mjs +3 -3
  20. package/fesm2015/energycap-components.mjs +66 -152
  21. package/fesm2015/energycap-components.mjs.map +1 -1
  22. package/fesm2020/energycap-components.mjs +66 -152
  23. package/fesm2020/energycap-components.mjs.map +1 -1
  24. package/lib/controls/checkbox/checkbox.component.d.ts +2 -2
  25. package/lib/controls/form-control-base.d.ts +1 -1
  26. package/lib/controls/form-group/form-group.component.d.ts +1 -1
  27. package/lib/controls/item-picker/item-picker.component.d.ts +2 -38
  28. package/lib/display/hierarchy/hierarchy-base.d.ts +1 -1
  29. package/lib/display/table/searchable-table.component.d.ts +1 -1
  30. package/lib/shared/page/page-base/page-base.component.d.ts +1 -1
  31. package/package.json +3 -2
  32. package/schematics/collection.json +10 -0
  33. package/schematics/rxjs-7-upgrade/index.d.ts +3 -0
  34. package/schematics/rxjs-7-upgrade/index.js +68 -0
  35. package/schematics/rxjs-7-upgrade/index.js.map +1 -0
  36. package/schematics/rxjs-7-upgrade/schema.d.ts +4 -0
  37. package/schematics/rxjs-7-upgrade/schema.js +3 -0
  38. package/schematics/rxjs-7-upgrade/schema.js.map +1 -0
  39. package/schematics/rxjs-7-upgrade/schema.json +14 -0
  40. package/schematics/utilities/typescript.d.ts +7 -0
  41. package/schematics/utilities/typescript.js +42 -0
  42. package/schematics/utilities/typescript.js.map +1 -0
  43. package/schematics/utilities/workspace.d.ts +8 -0
  44. package/schematics/utilities/workspace.js +72 -0
  45. package/schematics/utilities/workspace.js.map +1 -0
  46. package/src/assets/locales/en_US.json +1 -4
@@ -1,9 +1,9 @@
1
1
  import { AfterViewInit, ElementRef, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { AbstractControl } from '@angular/forms';
2
3
  import { ValidationMessageService } from '../../core/validation-message.service';
4
+ import { ClickableElement } from '../../shared/directives/click-area-for/click-area-for.directive';
3
5
  import { FormGroupHelper } from '../../shared/form-group.helper';
4
6
  import { FormControlBase } from "../form-control-base";
5
- import { AbstractControl } from '@angular/forms';
6
- import { ClickableElement } from '../../shared/directives/click-area-for/click-area-for.directive';
7
7
  import * as i0 from "@angular/core";
8
8
  export type CheckboxState = 'unchecked' | 'indeterminate' | 'checked';
9
9
  export declare class CheckboxComponent extends FormControlBase implements AfterViewInit, ClickableElement, OnChanges {
@@ -82,7 +82,7 @@ export declare abstract class FormControlBase implements OnInit, OnDestroy, OnCh
82
82
  * [and this]{@link https://netbasal.com/when-to-unsubscribe-in-angular-d61c6b21bad3}
83
83
  * [and this]{@link http://brianflove.com/2016/12/11/anguar-2-unsubscribe-observables/}
84
84
  */
85
- protected componentDestroyed: Subject<any>;
85
+ protected componentDestroyed: Subject<void>;
86
86
  /**
87
87
  * Creates an instance of FormControlBase.
88
88
  */
@@ -1,5 +1,5 @@
1
1
  import { OnInit } from "@angular/core";
2
- import { UntypedFormGroup, UntypedFormArray, AbstractControl } from "@angular/forms";
2
+ import { AbstractControl, UntypedFormArray, UntypedFormGroup } from "@angular/forms";
3
3
  import { TranslateService } from "@ngx-translate/core";
4
4
  import { ValidationMessageService } from "../../core/validation-message.service";
5
5
  import { ControlLabelPosition } from "../form-control-base";
@@ -6,7 +6,6 @@ import { PagingInfo } from '../../display/table/table-pagination.component';
6
6
  import { TableSelectableRowContext } from '../../display/table/table-selectable-row.component';
7
7
  import { Overlay } from '../../display/view-overlay/view-overlay.component';
8
8
  import { MenuItem } from '../menu/menu.component';
9
- import { TranslateService } from '@ngx-translate/core';
10
9
  import * as i0 from "@angular/core";
11
10
  export interface PickerItem<TValue = any, SItems = any> extends MenuItem {
12
11
  id: string;
@@ -29,14 +28,8 @@ export declare class ItemPickerSelectableContext<T> extends TableSelectableRowCo
29
28
  * AdvancedRowClickBehavior is disabled for ItemPicker.
30
29
  */
31
30
  readonly disableAdvancedRowClickBehavior: boolean;
32
- /** When true the user has opted to select all items across all pages. Due to api pagination
33
- * we don't have all of the items locally, so the host will need to tell the API to operate on all
34
- * via api filters or other means.
35
- */
36
- isSelectingAllItems: boolean;
37
31
  }
38
32
  export declare class ItemPickerComponent<T> implements OnInit, OnChanges, OnDestroy {
39
- private translateService;
40
33
  /** Identifier for the component. This will be added to the beginning of all internal action elements */
41
34
  id?: string;
42
35
  /** Title displayed above the available items table */
@@ -68,12 +61,6 @@ export declare class ItemPickerComponent<T> implements OnInit, OnChanges, OnDest
68
61
  * interpolation will be used.
69
62
  */
70
63
  noSelectedItemsMessage?: string;
71
- /** Used to enable select all items across pages. When true the button to select all items will be visible in the available items header when
72
- * the header checkbox is checked and there are multiple pages of results
73
- */
74
- enableSelectAllItems: boolean;
75
- /** Used to display a message in the selected items table when the select all items button is clicked */
76
- selectAllItemsMessage: string;
77
64
  /** List of available items to pick from */
78
65
  availableItems: PickerItem[];
79
66
  /**
@@ -87,17 +74,6 @@ export declare class ItemPickerComponent<T> implements OnInit, OnChanges, OnDest
87
74
  /** Track by used for the searchable table rows */
88
75
  trackByIndex: (index: number) => number;
89
76
  tableStatus: Overlay;
90
- /** Text to display next to the checkbox in the available items header. Used to dislay how many items are
91
- * selected when select all items is enabled
92
- */
93
- availableCheckboxText: string;
94
- /** When set to true the select all items button will show in the available items header. This is
95
- * shown when the user has enabled select all for the item picker and the user selects the header checkbox
96
- * with more than one page of results.
97
- */
98
- showSelectAllItemsButton: boolean;
99
- /** The total number of items returned from the api across all pages */
100
- totalItemsBeforePaging?: number;
101
77
  /**
102
78
  * Template used to display the available and selected items as well as the available item header.
103
79
  * This will be set to the default template if a custom is not provided
@@ -111,7 +87,7 @@ export declare class ItemPickerComponent<T> implements OnInit, OnChanges, OnDest
111
87
  private defaultSelectedItemTemplate;
112
88
  /** Used to shut down our subscriptions when the component is destroyed */
113
89
  private destroyed;
114
- constructor(translateService: TranslateService);
90
+ constructor();
115
91
  ngOnInit(): void;
116
92
  /**
117
93
  * Watch for changes and react if the custom item template value changes
@@ -132,23 +108,11 @@ export declare class ItemPickerComponent<T> implements OnInit, OnChanges, OnDest
132
108
  * @param removeItem
133
109
  */
134
110
  removeSelectedItem(removeItem: PickerItem): void;
135
- /**
136
- * Click handler for the select all items button
137
- */
138
- selectAllItems(): void;
139
- /**
140
- * Removes all items from the selected items map. This was split from the onClearSelectionClick function to allow
141
- * selectAllItems to call this function but keep the row checkbox values in place. This was needed because when you are
142
- * selecting all items across all pages we want the current page of items to remain checked.
143
- *
144
- */
145
- private clearSelectedItemsMap;
146
111
  /**
147
112
  * Watch for changes to the row checkboxes form array and update the selected items
148
113
  * list
149
114
  */
150
115
  private setupRowCheckboxesWatcher;
151
- private updateAvailableCheckboxText;
152
116
  /**
153
117
  * Watch to be told if changes to the map were made outside of the component and if so update
154
118
  * the array displayed in the selected list and select checkboxes for visible available items
@@ -156,5 +120,5 @@ export declare class ItemPickerComponent<T> implements OnInit, OnChanges, OnDest
156
120
  private setupSelectedItemsChangedWatcher;
157
121
  private setInternalizedTemplates;
158
122
  static ɵfac: i0.ɵɵFactoryDeclaration<ItemPickerComponent<any>, never>;
159
- static ɵcmp: i0.ɵɵComponentDeclaration<ItemPickerComponent<any>, "ec-item-picker", never, { "id": "id"; "availableTitle": "availableTitle"; "selectedTitle": "selectedTitle"; "itemName": "itemName"; "formModel": "formModel"; "customAvailableHeaderTemplate": "customAvailableHeaderTemplate"; "customAvailableItemTemplate": "customAvailableItemTemplate"; "customSelectedItemTemplate": "customSelectedItemTemplate"; "ready": "ready"; "getItems": "getItems"; "selectionContext": "selectionContext"; "noDataMessage": "noDataMessage"; "noSelectedItemsMessage": "noSelectedItemsMessage"; "enableSelectAllItems": "enableSelectAllItems"; "selectAllItemsMessage": "selectAllItemsMessage"; }, {}, never, never, false, never>;
123
+ static ɵcmp: i0.ɵɵComponentDeclaration<ItemPickerComponent<any>, "ec-item-picker", never, { "id": "id"; "availableTitle": "availableTitle"; "selectedTitle": "selectedTitle"; "itemName": "itemName"; "formModel": "formModel"; "customAvailableHeaderTemplate": "customAvailableHeaderTemplate"; "customAvailableItemTemplate": "customAvailableItemTemplate"; "customSelectedItemTemplate": "customSelectedItemTemplate"; "ready": "ready"; "getItems": "getItems"; "selectionContext": "selectionContext"; "noDataMessage": "noDataMessage"; "noSelectedItemsMessage": "noSelectedItemsMessage"; }, {}, never, never, false, never>;
160
124
  }
@@ -73,7 +73,7 @@ export declare abstract class HierarchyBase implements OnChanges, OnDestroy {
73
73
  * Used to unsubscribe from observables
74
74
  */
75
75
  private _destroyed;
76
- get destroyed(): Subject<any>;
76
+ get destroyed(): Subject<void>;
77
77
  protected telemetryService: TelemetryService;
78
78
  constructor(injector: Injector);
79
79
  ngOnChanges(changes: SimpleChanges): void;
@@ -80,7 +80,7 @@ export declare class SearchableTableComponent implements OnInit, OnDestroy, OnCh
80
80
  */
81
81
  getItems: (search?: string, pageChangeInfo?: PagingInfo) => Observable<TableSearchResults>;
82
82
  /** Observable that will force the getItems function to get called again */
83
- refresh?: Observable<SearchableTableRefreshOptions | undefined>;
83
+ refresh?: Observable<SearchableTableRefreshOptions | void>;
84
84
  /** Allow the host component to supply an overlay to control the pending state of the table */
85
85
  status: Overlay;
86
86
  /**
@@ -77,7 +77,7 @@ export declare abstract class PageBaseComponent implements OnInit, AfterViewInit
77
77
  /**
78
78
  * Used to unsubscribe from observables
79
79
  */
80
- destroyed: Subject<any>;
80
+ destroyed: Subject<void>;
81
81
  /**
82
82
  * Used to know when the page has been loaded, this will be completed
83
83
  * after onAfterViewInit
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@energycap/components",
3
- "version": "0.39.25-ECAP-26539-Item-Picker-Select-All.20240919-0932",
3
+ "version": "0.39.25-rxjs-7-upgrade.20240920-1518",
4
+ "schematics": "./schematics/collection.json",
4
5
  "dependencies": {
5
6
  "tslib": "^2.0.0"
6
7
  },
@@ -11,7 +12,7 @@
11
12
  "@angular/router": ">=15.2.0",
12
13
  "@angular/cdk": ">=15.2.0",
13
14
  "@ngx-translate/core": "^14.0.0",
14
- "popper.js": "~1.11.1",
15
+ "popper.js": "^1.14.7",
15
16
  "lodash": "^4.17.21",
16
17
  "moment": "^2.29.0",
17
18
  "ngx-clipboard": "^12.0.0"
@@ -0,0 +1,10 @@
1
+ {
2
+ "$schema": "../../../node_modules/@angular-devkit/schematics/collection-schema.json",
3
+ "schematics": {
4
+ "rxjs-7-upgrade": {
5
+ "description": "Upgrade your project to RxJS 7",
6
+ "factory": "./rxjs-7-upgrade/index#rxjs7Upgrade",
7
+ "schema": "./rxjs-7-upgrade/schema.json"
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,3 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import { RxJSUpgradeSchema } from './schema';
3
+ export declare function rxjs7Upgrade(options: RxJSUpgradeSchema): Rule;
@@ -0,0 +1,68 @@
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
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.rxjs7Upgrade = void 0;
13
+ const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
14
+ const change_1 = require("@schematics/angular/utility/change");
15
+ const path_1 = require("path");
16
+ const ts = require("typescript");
17
+ const typescript_1 = require("../utilities/typescript");
18
+ const workspace_1 = require("../utilities/workspace");
19
+ function rxjs7Upgrade(options) {
20
+ return (tree) => __awaiter(this, void 0, void 0, function* () {
21
+ const path = options.path || '/';
22
+ const workspace = yield (0, workspace_1.getWorkspace)(path, tree);
23
+ // Get all tsconfig paths from the workspace, including test tsconfigs
24
+ const tsConfigPaths = (0, workspace_1.getTsConfigPaths)(workspace, tree);
25
+ // The base path in the file system for the path argument, replacing all backslashes with forward slashes (for cross-system compatibility).
26
+ // The absolute file system path is needed for the typescript compiler to resolve files correctly.
27
+ const basePath = process.cwd().replace(/\\/g, path);
28
+ tsConfigPaths.forEach(tsConfigPath => {
29
+ const program = (0, typescript_1.createTsProgram)(tree, tsConfigPath, basePath);
30
+ const checker = program.getTypeChecker();
31
+ for (const sourceFile of program.getSourceFiles()) {
32
+ // Skip declaration files and external library files
33
+ if (sourceFile.isDeclarationFile || program.isSourceFileFromExternalLibrary(sourceFile)) {
34
+ continue;
35
+ }
36
+ const observableSymbols = ['Observable', 'Subject', 'BehaviorSubject', 'ReplaySubject', 'AsyncSubject'];
37
+ const toPromiseCalls = (0, ast_utils_1.findNodes)(sourceFile, ts.isCallExpression, undefined, true).filter(node => {
38
+ if (ts.isPropertyAccessExpression(node.expression) && node.expression.name.text === 'toPromise') {
39
+ const symbol = checker.getTypeAtLocation(node.expression.expression).symbol;
40
+ return symbol && observableSymbols.includes(symbol.name);
41
+ }
42
+ return false;
43
+ });
44
+ if (toPromiseCalls.length) {
45
+ const fileToEdit = (0, path_1.relative)(basePath, sourceFile.fileName);
46
+ const recorder = tree.beginUpdate(fileToEdit);
47
+ const changes = [];
48
+ const printer = ts.createPrinter();
49
+ // Add import for lastValueFrom
50
+ changes.push((0, ast_utils_1.insertImport)(sourceFile, fileToEdit, 'lastValueFrom', 'rxjs'));
51
+ // Replace toPromise calls with lastValueFrom
52
+ toPromiseCalls.forEach(node => {
53
+ if (ts.isPropertyAccessExpression(node.expression)) {
54
+ const newCallExpression = ts.factory.createCallExpression(ts.factory.createIdentifier('lastValueFrom'), undefined, [node.expression.expression]);
55
+ const newNodeText = printer.printNode(ts.EmitHint.Unspecified, newCallExpression, sourceFile);
56
+ const change = new change_1.ReplaceChange(fileToEdit, node.getStart(), node.getText(), newNodeText);
57
+ changes.push(change);
58
+ }
59
+ });
60
+ (0, change_1.applyToUpdateRecorder)(recorder, changes);
61
+ tree.commitUpdate(recorder);
62
+ }
63
+ }
64
+ });
65
+ });
66
+ }
67
+ exports.rxjs7Upgrade = rxjs7Upgrade;
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/components/schematics/rxjs-7-upgrade/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export interface RxJSUpgradeSchema {
2
+ /** Path to the angular workspace. */
3
+ path?: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../projects/components/schematics/rxjs-7-upgrade/schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "EnergyCAP.RxJS7UpgradeSchema",
4
+ "title": "RxJS 7 Upgrade Schema",
5
+ "type": "object",
6
+ "properties": {
7
+ "path": {
8
+ "type": "string",
9
+ "format": "path",
10
+ "description": "The path to complete the upgrade.",
11
+ "visible": false
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,7 @@
1
+ import { Tree } from '@angular-devkit/schematics';
2
+ import * as ts from 'typescript';
3
+ /** Parses the TSConfig file to be used in the TS Compiler Program. */
4
+ export declare function parseTsConfig(absoluteTsConfigPath: string): ts.ParsedCommandLine;
5
+ /** Creates a file host to be used with with a TS Compiler program. */
6
+ export declare function createTsCompilerHost(tree: Tree, options: ts.CompilerOptions, basePath: string): ts.CompilerHost;
7
+ export declare function createTsProgram(tree: Tree, tsConfigPath: string, basePath: string): ts.Program;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTsProgram = exports.createTsCompilerHost = exports.parseTsConfig = void 0;
4
+ const path_1 = require("path");
5
+ const ts = require("typescript");
6
+ /** Parses the TSConfig file to be used in the TS Compiler Program. */
7
+ function parseTsConfig(absoluteTsConfigPath) {
8
+ const { config } = ts.readConfigFile(absoluteTsConfigPath, ts.sys.readFile);
9
+ const parseHost = {
10
+ useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames,
11
+ fileExists: ts.sys.fileExists,
12
+ readFile: ts.sys.readFile,
13
+ readDirectory: ts.sys.readDirectory
14
+ };
15
+ return ts.parseJsonConfigFileContent(config, parseHost, (0, path_1.dirname)(absoluteTsConfigPath), {});
16
+ }
17
+ exports.parseTsConfig = parseTsConfig;
18
+ /** Creates a file host to be used with with a TS Compiler program. */
19
+ function createTsCompilerHost(tree, options, basePath) {
20
+ const host = ts.createCompilerHost(options);
21
+ // Read files from the virtual tree to prevent conflicting changes between project migrations
22
+ host.readFile = (fileName) => {
23
+ var _a;
24
+ // The angular schematic tree reads files using paths relative to the project root
25
+ const filePath = (0, path_1.relative)(basePath, fileName);
26
+ const result = (_a = tree.read(filePath)) === null || _a === void 0 ? void 0 : _a.toString();
27
+ // Remove BOM header to prevent TSC parsing errors
28
+ return result === null || result === void 0 ? void 0 : result.replace(/^\uFEFF/, '');
29
+ };
30
+ return host;
31
+ }
32
+ exports.createTsCompilerHost = createTsCompilerHost;
33
+ function createTsProgram(tree, tsConfigPath, basePath) {
34
+ // Resolve the absolute file system path to the TSConfig file. This is needed for the TS Compiler to resolve files correctly.
35
+ const absoluteTsConfigPath = (0, path_1.resolve)(basePath, tsConfigPath);
36
+ const parsed = parseTsConfig(absoluteTsConfigPath);
37
+ const options = Object.assign(Object.assign({}, parsed.options), { skipLibCheck: true, skipDefaultLibCheck: true });
38
+ const host = createTsCompilerHost(tree, options, basePath);
39
+ return ts.createProgram(parsed.fileNames, options, host);
40
+ }
41
+ exports.createTsProgram = createTsProgram;
42
+ //# sourceMappingURL=typescript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../../projects/components/schematics/utilities/typescript.ts"],"names":[],"mappings":";;;AACA,+BAAkD;AAClD,iCAAiC;AAEjC,sEAAsE;AACtE,SAAgB,aAAa,CAAC,oBAA4B;IACxD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,oBAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG;QAChB,yBAAyB,EAAE,EAAE,CAAC,GAAG,CAAC,yBAAyB;QAC3D,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU;QAC7B,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ;QACzB,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa;KACpC,CAAC;IAEF,OAAO,EAAE,CAAC,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,IAAA,cAAO,EAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7F,CAAC;AAVD,sCAUC;AAED,sEAAsE;AACtE,SAAgB,oBAAoB,CAAC,IAAU,EAAE,OAA2B,EAAE,QAAgB;IAC5F,MAAM,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,6FAA6F;IAC7F,IAAI,CAAC,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE;;QACnC,kFAAkF;QAClF,MAAM,QAAQ,GAAG,IAAA,eAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0CAAE,QAAQ,EAAE,CAAC;QAC/C,kDAAkD;QAClD,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAXD,oDAWC;AAGD,SAAgB,eAAe,CAAC,IAAU,EAAE,YAAoB,EAAE,QAAgB;IAChF,6HAA6H;IAC7H,MAAM,oBAAoB,GAAG,IAAA,cAAO,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACnD,MAAM,OAAO,mCAAQ,MAAM,CAAC,OAAO,KAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,GAAE,CAAC;IACrF,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3D,OAAO,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAPD,0CAOC"}
@@ -0,0 +1,8 @@
1
+ import { workspaces } from '@angular-devkit/core';
2
+ import { Tree } from '@angular-devkit/schematics';
3
+ /** Creates a file host to be used with Angular-Devkit's workspace utilities */
4
+ export declare function createWorkspaceHost(tree: Tree): workspaces.WorkspaceHost;
5
+ /** Returns the Angular workspace definition for the given path. The path must be a directory containing an angular.json or .angular.json file. */
6
+ export declare function getWorkspace(path: string, tree: Tree): Promise<workspaces.WorkspaceDefinition>;
7
+ /** Returns all tsconfig paths from the angular workspace, including testing tsconfigs. */
8
+ export declare function getTsConfigPaths(workspace: workspaces.WorkspaceDefinition, tree: Tree): string[];
@@ -0,0 +1,72 @@
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
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getTsConfigPaths = exports.getWorkspace = exports.createWorkspaceHost = void 0;
13
+ const core_1 = require("@angular-devkit/core");
14
+ const workspace_1 = require("@schematics/angular/utility/workspace");
15
+ /** Creates a file host to be used with Angular-Devkit's workspace utilities */
16
+ function createWorkspaceHost(tree) {
17
+ return {
18
+ readFile(path) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ const data = tree.read(path);
21
+ if (!data) {
22
+ throw new Error(`File not found: ${path}`);
23
+ }
24
+ return core_1.virtualFs.fileBufferToString(data);
25
+ });
26
+ },
27
+ writeFile(path, data) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ return tree.overwrite(path, data);
30
+ });
31
+ },
32
+ isDirectory(path) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ return !tree.exists(path) && tree.getDir(path).subfiles.length > 0;
35
+ });
36
+ },
37
+ isFile(path) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ return tree.exists(path);
40
+ });
41
+ }
42
+ };
43
+ }
44
+ exports.createWorkspaceHost = createWorkspaceHost;
45
+ /** Returns the Angular workspace definition for the given path. The path must be a directory containing an angular.json or .angular.json file. */
46
+ function getWorkspace(path, tree) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const host = createWorkspaceHost(tree);
49
+ const { workspace } = yield core_1.workspaces.readWorkspace(path, host);
50
+ return workspace;
51
+ });
52
+ }
53
+ exports.getWorkspace = getWorkspace;
54
+ /** Returns all tsconfig paths from the angular workspace, including testing tsconfigs. */
55
+ function getTsConfigPaths(workspace, tree) {
56
+ const buildPaths = new Set();
57
+ const testPaths = new Set();
58
+ for (const [name, target] of (0, workspace_1.allWorkspaceTargets)(workspace)) {
59
+ if (name !== 'build' && name !== 'test') {
60
+ continue;
61
+ }
62
+ for (const [, options] of (0, workspace_1.allTargetOptions)(target)) {
63
+ if (options.tsConfig && typeof options.tsConfig === 'string' && tree.exists(options.tsConfig)) {
64
+ const normalizedPath = (0, core_1.normalize)(options.tsConfig);
65
+ name === 'build' ? buildPaths.add(normalizedPath) : testPaths.add(normalizedPath);
66
+ }
67
+ }
68
+ }
69
+ return [...buildPaths, ...testPaths];
70
+ }
71
+ exports.getTsConfigPaths = getTsConfigPaths;
72
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../projects/components/schematics/utilities/workspace.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAwE;AAExE,qEAA8F;AAE9F,+EAA+E;AAC/E,SAAgB,mBAAmB,CAAC,IAAU;IAC5C,OAAO;QACC,QAAQ,CAAC,IAAY;;gBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,EAAE;oBACT,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;iBAC5C;gBACD,OAAO,gBAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;SAAA;QACK,SAAS,CAAC,IAAY,EAAE,IAAY;;gBACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;SAAA;QACK,WAAW,CAAC,IAAY;;gBAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACrE,CAAC;SAAA;QACK,MAAM,CAAC,IAAY;;gBACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;SAAA;KACF,CAAA;AACH,CAAC;AAnBD,kDAmBC;AAED,kJAAkJ;AAClJ,SAAsB,YAAY,CAAC,IAAY,EAAE,IAAU;;QACzD,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAU,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;CAAA;AAJD,oCAIC;AAED,0FAA0F;AAC1F,SAAgB,gBAAgB,CAAC,SAAyC,EAAE,IAAU;IACpF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAA,+BAAmB,EAAC,SAAS,CAAC,EAAE;QAC3D,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE;YACvC,SAAS;SACV;QAED,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAA,4BAAgB,EAAC,MAAM,CAAC,EAAE;YAClD,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC7F,MAAM,cAAc,GAAG,IAAA,gBAAS,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;aACnF;SACF;KACF;IAED,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC;AACvC,CAAC;AAlBD,4CAkBC"}
@@ -44,8 +44,5 @@
44
44
  "LearnMore_SC": "Learn more",
45
45
  "SelectZipFiles_ELS": "Select ZIP files...",
46
46
  "Browse_TC": "Browse",
47
- "is invalid": "is invalid",
48
- "AllItemPickerItemsSelected_SC": "All {{count}} {{itemName}} selected",
49
- "SelectAllItemPickerItems_TC": "Select all {{count}} {{itemName}}",
50
- "CountSelected_TC": "{{count}} selected"
47
+ "is invalid": "is invalid"
51
48
  }