@coolon/angular-ui-powerups 1.0.0-alpha.9 → 1.0.1-alpha.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 (53) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +22 -17
  3. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/lib/components/components.module.js +3 -1
  8. package/esm2015/lib/components/components.module.js.map +1 -1
  9. package/esm2015/lib/components/components.module.metadata.json +1 -1
  10. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  11. package/esm2015/lib/components/forms/abstract-input.component.js +6 -14
  12. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  13. package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
  14. package/esm2015/lib/components/forms/abstract-input.component.ngfactory.js.map +1 -0
  15. package/esm2015/lib/components/forms/number-input/number-input.component.js +6 -1
  16. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
  17. package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
  18. package/esm2015/lib/components/forms/password-input/password-input.component.js +6 -1
  19. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
  20. package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
  21. package/esm2015/lib/components/forms/select-input/select-input.component.js +4 -0
  22. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  23. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  24. package/esm2015/lib/components/forms/string-input/string-input.component.js +4 -0
  25. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
  26. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  27. package/esm5/lib/components/components.module.js +3 -1
  28. package/esm5/lib/components/components.module.js.map +1 -1
  29. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  30. package/esm5/lib/components/forms/abstract-input.component.js +6 -18
  31. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
  32. package/esm5/lib/components/forms/abstract-input.component.ngfactory.js.map +1 -0
  33. package/esm5/lib/components/forms/number-input/number-input.component.js +6 -1
  34. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
  35. package/esm5/lib/components/forms/password-input/password-input.component.js +6 -1
  36. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
  37. package/esm5/lib/components/forms/select-input/select-input.component.js +4 -0
  38. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
  39. package/esm5/lib/components/forms/string-input/string-input.component.js +4 -0
  40. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
  41. package/fesm2015/coolon-angular-ui-powerups.js +23 -14
  42. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  43. package/fesm5/coolon-angular-ui-powerups.js +23 -18
  44. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  45. package/lib/components/forms/abstract-input.component.d.ts +2 -3
  46. package/lib/components/forms/number-input/number-input.component.d.ts +3 -1
  47. package/lib/components/forms/password-input/password-input.component.d.ts +2 -0
  48. package/lib/components/forms/select-input/select-input.component.d.ts +2 -1
  49. package/lib/components/forms/string-input/string-input.component.d.ts +2 -1
  50. package/package.json +2 -2
  51. package/schematics/place-routes/place-builder.d.ts +1 -0
  52. package/schematics/place-routes/place-builder.js +18 -14
  53. package/schematics/place-routes/place-builder.js.map +1 -1
@@ -2,9 +2,8 @@ import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { ErrorStateMatcher } from '@angular/material/core';
3
3
  import { Command, DelegatingFormValueModel, ListModel, ValueModel } from '@coolon/pectin';
4
4
  import { DisposableComponent } from '../disposable-component';
5
- export declare abstract class AbstractInputComponent<T> extends DisposableComponent implements OnInit {
6
- readonly valueModel: DelegatingFormValueModel<T>;
7
- set userValueModel(model: ValueModel<T>);
5
+ export declare class AbstractInputComponent<T> extends DisposableComponent implements OnInit {
6
+ readonly delegatingFormValueModel: DelegatingFormValueModel<T>;
8
7
  label: string;
9
8
  floatLabel: 'auto' | 'always' | 'never';
10
9
  hint: string;
@@ -1,6 +1,8 @@
1
1
  import { OnInit } from '@angular/core';
2
+ import { FormValueModel, MutableValueModel } from '@coolon/pectin';
2
3
  import { AbstractInputComponent } from '../abstract-input.component';
3
- export declare class NumberInputComponent extends AbstractInputComponent<string> implements OnInit {
4
+ export declare class NumberInputComponent extends AbstractInputComponent<number> implements OnInit {
5
+ valueModel: FormValueModel<number> | MutableValueModel<number>;
4
6
  constructor();
5
7
  ngOnInit(): void;
6
8
  }
@@ -1,6 +1,8 @@
1
1
  import { OnInit } from '@angular/core';
2
+ import { FormValueModel, MutableValueModel } from '@coolon/pectin';
2
3
  import { AbstractInputComponent } from '../abstract-input.component';
3
4
  export declare class PasswordInputComponent extends AbstractInputComponent<string> implements OnInit {
5
+ valueModel: FormValueModel<string> | MutableValueModel<string>;
4
6
  constructor();
5
7
  ngOnInit(): void;
6
8
  }
@@ -1,7 +1,8 @@
1
1
  import { OnInit, TemplateRef } from '@angular/core';
2
- import { ListModel } from '@coolon/pectin';
2
+ import { FormValueModel, ListModel, MutableValueModel } from '@coolon/pectin';
3
3
  import { AbstractInputComponent } from '../abstract-input.component';
4
4
  export declare class SelectInputComponent<T = any> extends AbstractInputComponent<T> implements OnInit {
5
+ valueModel: FormValueModel<T> | MutableValueModel<T>;
5
6
  optionsModel: ListModel<T>;
6
7
  options: T[];
7
8
  optionLabel: keyof T;
@@ -1,7 +1,8 @@
1
1
  import { OnInit } from '@angular/core';
2
- import { Command, ValueModel } from '@coolon/pectin';
2
+ import { Command, FormValueModel, MutableValueModel, ValueModel } from '@coolon/pectin';
3
3
  import { AbstractInputComponent } from '../abstract-input.component';
4
4
  export declare class StringInputComponent extends AbstractInputComponent<string> implements OnInit {
5
+ valueModel: FormValueModel<string> | MutableValueModel<string>;
5
6
  enableClearModel: ValueModel<boolean>;
6
7
  enableClear: boolean;
7
8
  readonly clearCommand: Command<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coolon/angular-ui-powerups",
3
- "version": "1.0.0-alpha.9",
3
+ "version": "1.0.1-alpha.0",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "dependencies": {
6
6
  "ts-morph": "^7.0.3",
@@ -14,7 +14,7 @@
14
14
  "@angular/material": "^9.2.2",
15
15
  "@angular/animations": "^9.1.4",
16
16
  "@angular/cdk": "^9.2.2",
17
- "@coolon/pectin": ">=1.15.53",
17
+ "@coolon/pectin": ">=1.16.1",
18
18
  "resize-observer-polyfill": "^1.5.1",
19
19
  "tslib": "^1.10.0"
20
20
  },
@@ -10,6 +10,7 @@ export declare class PlaceBuilder {
10
10
  private sourceRoot;
11
11
  private workspaceProject;
12
12
  private typescriptProject;
13
+ private tsConfigPath;
13
14
  constructor(options: Schema, workspace: experimental.workspace.WorkspaceSchema, context: SchematicContext);
14
15
  loadTypeScriptProject(): Project;
15
16
  process(tree: Tree): Rule;
@@ -13,6 +13,7 @@ class PlaceBuilder {
13
13
  this.workspaceProject = workspace.projects[this.projectName];
14
14
  this.projectType = this.workspaceProject.projectType === 'application' ? 'app' : 'lib';
15
15
  this.sourceRoot = `${this.workspaceProject.sourceRoot}/${this.projectType}`;
16
+ this.tsConfigPath = this.workspaceProject.architect.build.options.tsConfig;
16
17
  this.typescriptProject = this.loadTypeScriptProject();
17
18
  this.context.logger.info(`sourceRoot=${this.sourceRoot}`);
18
19
  this.context.logger.info(`projectName=${this.projectName}`);
@@ -20,16 +21,15 @@ class PlaceBuilder {
20
21
  }
21
22
  loadTypeScriptProject() {
22
23
  // TODO: this barfs if you're not running it from teh project root directory
23
- const tsConfigPath = this.workspaceProject.architect.build.options.tsConfig;
24
- this.context.logger.info(`loading tsConfig from -> ${tsConfigPath}`);
24
+ this.context.logger.info(`loading tsConfig from -> ${this.tsConfigPath}`);
25
25
  try {
26
26
  return new ts_morph_1.Project({
27
- tsConfigFilePath: tsConfigPath
27
+ tsConfigFilePath: this.tsConfigPath
28
28
  });
29
29
  }
30
30
  catch (error) {
31
31
  this.context.logger.error(error.toString());
32
- this.context.logger.fatal(`Failed to load typescript project from: ${tsConfigPath} You probably need to specify the --project option?`);
32
+ this.context.logger.fatal(`Failed to load typescript project from: ${this.tsConfigPath} You probably need to specify the --project option?`);
33
33
  throw error;
34
34
  }
35
35
  }
@@ -84,17 +84,21 @@ class PlaceBuilder {
84
84
  if (!content) {
85
85
  return;
86
86
  }
87
- // this.context.logger.info("project dirs -> " + this.typescriptProject.getRootDirectories().map(d => d.getPath()).join(","))
88
- const sourceFile = this.typescriptProject.getSourceFileOrThrow(`./${filePath}`);
89
- const imports = sourceFile.getImportDeclarations();
90
- sourceFile.getClasses().forEach((classDecl) => {
91
- place_def_1.PlaceDef.scan(sourceFile, classDecl, this.context).onMatch(result => {
92
- const moduleImportPath = `.${filePath.substr(placeRoot.length, filePath.length - placeRoot.length - '.ts'.length)}`;
93
- const definition = result.createDefinition(moduleImportPath);
94
- this.context.logger.info(`${classDecl.getName()}(route: /${definition.fullPath}) -> ${moduleImportPath}`);
95
- placeDefs.push(definition);
87
+ const sourceFile = this.typescriptProject.getSourceFile(`./${filePath}`);
88
+ if (!sourceFile) {
89
+ throw new Error(`${filePath} is not included by ${this.tsConfigPath}. You might need to add an '"include": ["**/*.d.ts"]'`);
90
+ }
91
+ else {
92
+ const imports = sourceFile.getImportDeclarations();
93
+ sourceFile.getClasses().forEach((classDecl) => {
94
+ place_def_1.PlaceDef.scan(sourceFile, classDecl, this.context).onMatch(result => {
95
+ const moduleImportPath = `.${filePath.substr(placeRoot.length, filePath.length - placeRoot.length - '.ts'.length)}`;
96
+ const definition = result.createDefinition(moduleImportPath);
97
+ this.context.logger.info(`${classDecl.getName()}(route: /${definition.fullPath}) -> ${moduleImportPath}`);
98
+ placeDefs.push(definition);
99
+ });
96
100
  });
97
- });
101
+ }
98
102
  });
99
103
  const rootPlaces = this.buildPlaceHierarchy(placeDefs);
100
104
  return placeDefs;
@@ -1 +1 @@
1
- {"version":3,"file":"place-builder.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/schematics/place-routes/place-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"place-builder.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/schematics/place-routes/place-builder.ts"],"names":[],"mappings":"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"}