@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.
- package/CHANGELOG.md +28 -0
- package/bundles/coolon-angular-ui-powerups.umd.js +22 -17
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/lib/components/components.module.js +3 -1
- package/esm2015/lib/components/components.module.js.map +1 -1
- package/esm2015/lib/components/components.module.metadata.json +1 -1
- package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
- package/esm2015/lib/components/forms/abstract-input.component.js +6 -14
- package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/abstract-input.component.ngfactory.js.map +1 -0
- package/esm2015/lib/components/forms/number-input/number-input.component.js +6 -1
- package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/password-input/password-input.component.js +6 -1
- package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/select-input/select-input.component.js +4 -0
- package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
- package/esm2015/lib/components/forms/string-input/string-input.component.js +4 -0
- package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
- package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
- package/esm5/lib/components/components.module.js +3 -1
- package/esm5/lib/components/components.module.js.map +1 -1
- package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
- package/esm5/lib/components/forms/abstract-input.component.js +6 -18
- package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
- package/esm5/lib/components/forms/abstract-input.component.ngfactory.js.map +1 -0
- package/esm5/lib/components/forms/number-input/number-input.component.js +6 -1
- package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
- package/esm5/lib/components/forms/password-input/password-input.component.js +6 -1
- package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
- package/esm5/lib/components/forms/select-input/select-input.component.js +4 -0
- package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
- package/esm5/lib/components/forms/string-input/string-input.component.js +4 -0
- package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
- package/fesm2015/coolon-angular-ui-powerups.js +23 -14
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +23 -18
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/components/forms/abstract-input.component.d.ts +2 -3
- package/lib/components/forms/number-input/number-input.component.d.ts +3 -1
- package/lib/components/forms/password-input/password-input.component.d.ts +2 -0
- package/lib/components/forms/select-input/select-input.component.d.ts +2 -1
- package/lib/components/forms/string-input/string-input.component.d.ts +2 -1
- package/package.json +2 -2
- package/schematics/place-routes/place-builder.d.ts +1 -0
- package/schematics/place-routes/place-builder.js +18 -14
- 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
|
|
6
|
-
readonly
|
|
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<
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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":";;AAAA,+CAA6D;AAC7D,2DAYoC;AACpC,+BAA+B;AAC/B,uCAAqD;AACrD,2CAAuC;AAiBvC,MAAa,YAAY;
|
|
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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"}
|