@rosoftlab/formly 1.0.0-alpha-0

Sign up to get free protection for your applications and to get access to all the features.
package/README.md ADDED
@@ -0,0 +1,27 @@
1
+ # RslWorkspace
2
+
3
+ This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.1.3.
4
+
5
+ ## Development server
6
+
7
+ Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
8
+
9
+ ## Code scaffolding
10
+
11
+ Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
12
+
13
+ ## Build
14
+
15
+ Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
16
+
17
+ ## Running unit tests
18
+
19
+ Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
20
+
21
+ ## Running end-to-end tests
22
+
23
+ Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
24
+
25
+ ## Further help
26
+
27
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,93 @@
1
+ // import { BaseModel, BaseService } from "@rosoftlab/core";
2
+ import { BaseModel } from "@rosoftlab/core";
3
+ export class BaseModelFormly extends BaseModel {
4
+ getFormlyFields(baseService) {
5
+ return this.getFormlyFieldsForObject(baseService, this);
6
+ }
7
+ getFormlyFieldsForObject(baseService, instance) {
8
+ const formlyLayout = Reflect.getMetadata('FormlyLayout', instance);
9
+ const formlyFields = [];
10
+ const that = instance;
11
+ if (formlyLayout) {
12
+ formlyLayout.forEach(property => {
13
+ if (property.key !== 'id') {
14
+ const value = that[property.key] !== undefined ? that[property.key] : property.defaultValue;
15
+ const propType = Reflect.getMetadata('design:type', instance, property.key);
16
+ const required = property.required !== undefined ? property.required : false;
17
+ if (typeof propType === 'function' &&
18
+ propType.prototype &&
19
+ propType.prototype.constructor === propType &&
20
+ propType.prototype.constructor.toString().startsWith('class ')) {
21
+ const fields = this.getFormlyFieldsForObject(baseService, new propType());
22
+ if (fields)
23
+ formlyFields.push({
24
+ key: property.key,
25
+ props: {
26
+ translate: true,
27
+ label: property.label
28
+ },
29
+ wrappers: ['panel'],
30
+ fieldGroup: fields
31
+ });
32
+ }
33
+ else {
34
+ switch (property.type) {
35
+ case "select": {
36
+ formlyFields.push({
37
+ key: property.key,
38
+ type: property.type,
39
+ defaultValue: value,
40
+ props: {
41
+ translate: true,
42
+ label: property.label,
43
+ required,
44
+ labelPosition: 'floating',
45
+ description: property.description,
46
+ placeholder: property.placeholder,
47
+ options: baseService.getSelectValues(property.key),
48
+ valueProp: property.valueProp || 'value',
49
+ labelProp: property.labelProp || 'label',
50
+ },
51
+ });
52
+ break;
53
+ }
54
+ case "toggle": {
55
+ formlyFields.push({
56
+ key: property.key,
57
+ type: property.type,
58
+ defaultValue: value,
59
+ props: {
60
+ translate: true,
61
+ label: property.label,
62
+ required,
63
+ description: property.description,
64
+ placeholder: property.placeholder,
65
+ },
66
+ });
67
+ break;
68
+ }
69
+ default: {
70
+ formlyFields.push({
71
+ key: property.key,
72
+ type: property.type,
73
+ defaultValue: value,
74
+ props: {
75
+ translate: true,
76
+ label: property.label,
77
+ required,
78
+ labelPosition: 'floating',
79
+ description: property.description,
80
+ placeholder: property.placeholder
81
+ },
82
+ });
83
+ break;
84
+ }
85
+ }
86
+ }
87
+ }
88
+ });
89
+ }
90
+ return formlyFields;
91
+ }
92
+ }
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb2RlbC1mb3JtbHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvZm9ybWx5L3NyYy9saWIvYmFzZS1tb2RlbC1mb3JtbHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsNERBQTREO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQztBQUl6RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxTQUFTO0lBRTVDLGVBQWUsQ0FBQyxXQUF5QztRQUN2RCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNPLHdCQUF3QixDQUFDLFdBQXlDLEVBQUUsUUFBYTtRQUN2RixNQUFNLFlBQVksR0FBd0IsT0FBTyxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEYsTUFBTSxZQUFZLEdBQXdCLEVBQUUsQ0FBQztRQUM3QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUM7UUFDdEIsSUFBSSxZQUFZLEVBQUU7WUFDaEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDOUIsSUFBSSxRQUFRLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRTtvQkFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7b0JBQzVGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUE7b0JBQzNFLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FB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aW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tIFwiQG5neC1mb3JtbHkvY29yZVwiO1xuLy8gaW1wb3J0IHsgQmFzZU1vZGVsLCBCYXNlU2VydmljZSB9IGZyb20gXCJAcm9zb2Z0bGFiL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VNb2RlbCwgQmFzZVNlcnZpY2UgfSBmcm9tIFwiQHJvc29mdGxhYi9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtbHlNb2RlbENvbmZpZyB9IGZyb20gXCIuL2ludGVyZmFjZXMvZm9ybWx5LW1vZGVsLWNvbmZpZ1wiO1xuXG5cbmV4cG9ydCBjbGFzcyBCYXNlTW9kZWxGb3JtbHkgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBwdWJsaWMgc2hvd0Vycm9yU3RhdGU6IGZhbHNlXG4gIGdldEZvcm1seUZpZWxkcyhiYXNlU2VydmljZTogQmFzZVNlcnZpY2U8QmFzZU1vZGVsRm9ybWx5PikgeyAgICBcbiAgICByZXR1cm4gdGhpcy5nZXRGb3JtbHlGaWVsZHNGb3JPYmplY3QoYmFzZVNlcnZpY2UsIHRoaXMpO1xuICB9XG4gIHByaXZhdGUgZ2V0Rm9ybWx5RmllbGRzRm9yT2JqZWN0KGJhc2VTZXJ2aWNlOiBCYXNlU2VydmljZTxCYXNlTW9kZWxGb3JtbHk+LCBpbnN0YW5jZTogYW55KSB7XG4gICAgY29uc3QgZm9ybWx5TGF5b3V0OiBGb3JtbHlNb2RlbENvbmZpZ1tdID0gUmVmbGVjdC5nZXRNZXRhZGF0YSgnRm9ybWx5TGF5b3V0JywgaW5zdGFuY2UpO1xuICAgIGNvbnN0IGZvcm1seUZpZWxkczogRm9ybWx5RmllbGRDb25maWdbXSA9IFtdO1xuICAgIGNvbnN0IHRoYXQgPSBpbnN0YW5jZTtcbiAgICBpZiAoZm9ybWx5TGF5b3V0KSB7XG4gICAgICBmb3JtbHlMYXlvdXQuZm9yRWFjaChwcm9wZXJ0eSA9PiB7XG4gICAgICAgIGlmIChwcm9wZXJ0eS5rZXkgIT09ICdpZCcpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoYXRbcHJvcGVydHkua2V5XSAhPT0gdW5kZWZpbmVkID8gdGhhdFtwcm9wZXJ0eS5rZXldIDogcHJvcGVydHkuZGVmYXVsdFZhbHVlO1xuICAgICAgICAgIGNvbnN0IHByb3BUeXBlID0gUmVmbGVjdC5nZXRNZXRhZGF0YSgnZGVzaWduOnR5cGUnLCBpbnN0YW5jZSwgcHJvcGVydHkua2V5KVxuICAgICAgICAgIGNvbnN0IHJlcXVpcmVkID0gcHJvcGVydHkucmVxdWlyZWQgIT09IHVuZGVmaW5lZCA/IHByb3BlcnR5LnJlcXVpcmVkIDogZmFsc2VcbiAgICAgICAgICBpZiAodHlwZW9mIHByb3BUeXBlID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICAgICBwcm9wVHlwZS5wcm90b3R5cGUgJiZcbiAgICAgICAgICAgIHByb3BUeXBlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0gcHJvcFR5cGUgJiZcbiAgICAgICAgICAgIHByb3BUeXBlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci50b1N0cmluZygpLnN0YXJ0c1dpdGgoJ2NsYXNzICcpKSB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZHMgPSB0aGlzLmdldEZvcm1seUZpZWxkc0Zvck9iamVjdChiYXNlU2VydmljZSwgbmV3IHByb3BUeXBlKCkpXG4gICAgICAgICAgICBpZiAoZmllbGRzKVxuICAgICAgICAgICAgICBmb3JtbHlGaWVsZHMucHVzaChcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBrZXk6IHByb3BlcnR5LmtleSxcbiAgICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHByb3BlcnR5LmxhYmVsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgd3JhcHBlcnM6IFsncGFuZWwnXSxcbiAgICAgICAgICAgICAgICAgIGZpZWxkR3JvdXA6IGZpZWxkc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHByb3BlcnR5LnR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSBcInNlbGVjdFwiOiB7XG4gICAgICAgICAgICAgICAgZm9ybWx5RmllbGRzLnB1c2goXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGtleTogcHJvcGVydHkua2V5LFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBwcm9wZXJ0eS50eXBlLFxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogcHJvcGVydHkubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWxQb3NpdGlvbjogJ2Zsb2F0aW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogcHJvcGVydHkuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHByb3BlcnR5LnBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGJhc2VTZXJ2aWNlLmdldFNlbGVjdFZhbHVlcyhwcm9wZXJ0eS5rZXkpLFxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlUHJvcDogcHJvcGVydHkudmFsdWVQcm9wIHx8ICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWxQcm9wOiBwcm9wZXJ0eS5sYWJlbFByb3AgfHwgJ2xhYmVsJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2FzZSBcInRvZ2dsZVwiOiB7XG4gICAgICAgICAgICAgICAgZm9ybWx5RmllbGRzLnB1c2goXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGtleTogcHJvcGVydHkua2V5LFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBwcm9wZXJ0eS50eXBlLFxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogcHJvcGVydHkubGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHByb3BlcnR5LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBwcm9wZXJ0eS5wbGFjZWhvbGRlcixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIGZvcm1seUZpZWxkcy5wdXNoKFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IHByb3BlcnR5LmtleSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogcHJvcGVydHkudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHByb3BlcnR5LmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkLFxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsUG9zaXRpb246ICdmbG9hdGluZycsXG4gICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHByb3BlcnR5LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBwcm9wZXJ0eS5wbGFjZWhvbGRlclxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBmb3JtbHlGaWVsZHM7XG4gIH1cblxufSJdfQ==
@@ -0,0 +1,7 @@
1
+ import { BaseService } from "@rosoftlab/core";
2
+ export class BaseServiceFormly extends BaseService {
3
+ getFormlyFields(model) {
4
+ return model.getFormlyFields(this);
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWJhc2Utc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9mb3JtbHkvc3JjL2xpYi9mb3JtbHktYmFzZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUc5QyxNQUFNLE9BQU8saUJBQTZDLFNBQVEsV0FBYztJQUVyRSxlQUFlLENBQUMsS0FBUTtRQUMzQixPQUFPLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tIFwiQHJvc29mdGxhYi9jb3JlXCI7XG5pbXBvcnQgeyBCYXNlTW9kZWxGb3JtbHkgfSBmcm9tIFwiLi9iYXNlLW1vZGVsLWZvcm1seVwiO1xuXG5leHBvcnQgY2xhc3MgQmFzZVNlcnZpY2VGb3JtbHk8VCBleHRlbmRzIEJhc2VNb2RlbEZvcm1seT4gZXh0ZW5kcyBCYXNlU2VydmljZTxUPiB7XG5cbiAgICBwdWJsaWMgZ2V0Rm9ybWx5RmllbGRzKG1vZGVsOiBUKSB7XG4gICAgICAgIHJldHVybiBtb2RlbC5nZXRGb3JtbHlGaWVsZHModGhpcyk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,9 @@
1
+ export function FormlyLayout(config) {
2
+ return (target, propertyName) => {
3
+ const annotations = Reflect.getMetadata('FormlyLayout', target) || [];
4
+ config.key = propertyName;
5
+ annotations.push(config);
6
+ Reflect.defineMetadata('FormlyLayout', annotations, target);
7
+ };
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWxheW91dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9mb3JtbHkvc3JjL2xpYi9mb3JtbHktbGF5b3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBeUI7SUFDbEQsT0FBTyxDQUFDLE1BQVcsRUFBRSxZQUFvQixFQUFFLEVBQUU7UUFDekMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RFLE1BQU0sQ0FBQyxHQUFHLEdBQUMsWUFBWSxDQUFDO1FBQ3hCLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB9IGZyb20gJ3JlZmxlY3QtbWV0YWRhdGEnO1xyXG5pbXBvcnQgeyBGb3JtbHlNb2RlbENvbmZpZyB9IGZyb20gXCIuL2ludGVyZmFjZXMvZm9ybWx5LW1vZGVsLWNvbmZpZ1wiO1xyXG5leHBvcnQgZnVuY3Rpb24gRm9ybWx5TGF5b3V0KGNvbmZpZzogRm9ybWx5TW9kZWxDb25maWcpIHtcclxuICAgIHJldHVybiAodGFyZ2V0OiBhbnksIHByb3BlcnR5TmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYW5ub3RhdGlvbnMgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdGb3JtbHlMYXlvdXQnLCB0YXJnZXQpIHx8IFtdO1xyXG4gICAgICAgIGNvbmZpZy5rZXk9cHJvcGVydHlOYW1lO1xyXG4gICAgICAgIGFubm90YXRpb25zLnB1c2goY29uZmlnKTtcclxuXHJcbiAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YSgnRm9ybWx5TGF5b3V0JywgYW5ub3RhdGlvbnMsIHRhcmdldCk7XHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LW1vZGVsLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9mb3JtbHkvc3JjL2xpYi9pbnRlcmZhY2VzL2Zvcm1seS1tb2RlbC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5TW9kZWxDb25maWcge1xuICAgIGtleT86IHN0cmluZztcbiAgICB0eXBlOiAnaW5wdXQnIHwgJ3RleHRhcmVhJyB8ICdjaGVja2JveCcgfCAncmFkaW8nIHwgJ3NlbGVjdCcgfCAnZGF0ZXRpbWUnIHwgJ3JhbmdlJyB8ICd0b2dnbGUnIHwgJ3N1Ym9iamVjdCcgfCBhbnk7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgZGVmYXVsdFZhbHVlPzogYW55O1xuXG4gICAgdmFsdWVQcm9wPzogc3RyaW5nO1xuICAgIGxhYmVsUHJvcD86IHN0cmluZztcblxufVxuIl19
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Public API Surface of formly
3
+ */
4
+ export * from './lib/base-model-formly';
5
+ export * from './lib/formly-base-service';
6
+ export * from './lib/formly-layout';
7
+ export * from './lib/interfaces/formly-model-config';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9mb3JtbHkvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBmb3JtbHlcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLW1vZGVsLWZvcm1seSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtbHktYmFzZS1zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1seS1sYXlvdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9mb3JtbHktbW9kZWwtY29uZmlnJztcblxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9zb2Z0bGFiLWZvcm1seS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9mb3JtbHkvc3JjL3Jvc29mdGxhYi1mb3JtbHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,119 @@
1
+ import { BaseModel, BaseService } from '@rosoftlab/core';
2
+
3
+ // import { BaseModel, BaseService } from "@rosoftlab/core";
4
+ class BaseModelFormly extends BaseModel {
5
+ getFormlyFields(baseService) {
6
+ return this.getFormlyFieldsForObject(baseService, this);
7
+ }
8
+ getFormlyFieldsForObject(baseService, instance) {
9
+ const formlyLayout = Reflect.getMetadata('FormlyLayout', instance);
10
+ const formlyFields = [];
11
+ const that = instance;
12
+ if (formlyLayout) {
13
+ formlyLayout.forEach(property => {
14
+ if (property.key !== 'id') {
15
+ const value = that[property.key] !== undefined ? that[property.key] : property.defaultValue;
16
+ const propType = Reflect.getMetadata('design:type', instance, property.key);
17
+ const required = property.required !== undefined ? property.required : false;
18
+ if (typeof propType === 'function' &&
19
+ propType.prototype &&
20
+ propType.prototype.constructor === propType &&
21
+ propType.prototype.constructor.toString().startsWith('class ')) {
22
+ const fields = this.getFormlyFieldsForObject(baseService, new propType());
23
+ if (fields)
24
+ formlyFields.push({
25
+ key: property.key,
26
+ props: {
27
+ translate: true,
28
+ label: property.label
29
+ },
30
+ wrappers: ['panel'],
31
+ fieldGroup: fields
32
+ });
33
+ }
34
+ else {
35
+ switch (property.type) {
36
+ case "select": {
37
+ formlyFields.push({
38
+ key: property.key,
39
+ type: property.type,
40
+ defaultValue: value,
41
+ props: {
42
+ translate: true,
43
+ label: property.label,
44
+ required,
45
+ labelPosition: 'floating',
46
+ description: property.description,
47
+ placeholder: property.placeholder,
48
+ options: baseService.getSelectValues(property.key),
49
+ valueProp: property.valueProp || 'value',
50
+ labelProp: property.labelProp || 'label',
51
+ },
52
+ });
53
+ break;
54
+ }
55
+ case "toggle": {
56
+ formlyFields.push({
57
+ key: property.key,
58
+ type: property.type,
59
+ defaultValue: value,
60
+ props: {
61
+ translate: true,
62
+ label: property.label,
63
+ required,
64
+ description: property.description,
65
+ placeholder: property.placeholder,
66
+ },
67
+ });
68
+ break;
69
+ }
70
+ default: {
71
+ formlyFields.push({
72
+ key: property.key,
73
+ type: property.type,
74
+ defaultValue: value,
75
+ props: {
76
+ translate: true,
77
+ label: property.label,
78
+ required,
79
+ labelPosition: 'floating',
80
+ description: property.description,
81
+ placeholder: property.placeholder
82
+ },
83
+ });
84
+ break;
85
+ }
86
+ }
87
+ }
88
+ }
89
+ });
90
+ }
91
+ return formlyFields;
92
+ }
93
+ }
94
+
95
+ class BaseServiceFormly extends BaseService {
96
+ getFormlyFields(model) {
97
+ return model.getFormlyFields(this);
98
+ }
99
+ }
100
+
101
+ function FormlyLayout(config) {
102
+ return (target, propertyName) => {
103
+ const annotations = Reflect.getMetadata('FormlyLayout', target) || [];
104
+ config.key = propertyName;
105
+ annotations.push(config);
106
+ Reflect.defineMetadata('FormlyLayout', annotations, target);
107
+ };
108
+ }
109
+
110
+ /*
111
+ * Public API Surface of formly
112
+ */
113
+
114
+ /**
115
+ * Generated bundle index. Do not edit.
116
+ */
117
+
118
+ export { BaseModelFormly, BaseServiceFormly, FormlyLayout };
119
+ //# sourceMappingURL=rosoftlab-formly.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rosoftlab-formly.mjs","sources":["../../../../projects/rosoftlab/formly/src/lib/base-model-formly.ts","../../../../projects/rosoftlab/formly/src/lib/formly-base-service.ts","../../../../projects/rosoftlab/formly/src/lib/formly-layout.ts","../../../../projects/rosoftlab/formly/src/public-api.ts","../../../../projects/rosoftlab/formly/src/rosoftlab-formly.ts"],"sourcesContent":["import { FormlyFieldConfig } from \"@ngx-formly/core\";\n// import { BaseModel, BaseService } from \"@rosoftlab/core\";\nimport { BaseModel, BaseService } from \"@rosoftlab/core\";\nimport { FormlyModelConfig } from \"./interfaces/formly-model-config\";\n\n\nexport class BaseModelFormly extends BaseModel {\n public showErrorState: false\n getFormlyFields(baseService: BaseService<BaseModelFormly>) { \n return this.getFormlyFieldsForObject(baseService, this);\n }\n private getFormlyFieldsForObject(baseService: BaseService<BaseModelFormly>, instance: any) {\n const formlyLayout: FormlyModelConfig[] = Reflect.getMetadata('FormlyLayout', instance);\n const formlyFields: FormlyFieldConfig[] = [];\n const that = instance;\n if (formlyLayout) {\n formlyLayout.forEach(property => {\n if (property.key !== 'id') {\n const value = that[property.key] !== undefined ? that[property.key] : property.defaultValue;\n const propType = Reflect.getMetadata('design:type', instance, property.key)\n const required = property.required !== undefined ? property.required : false\n if (typeof propType === 'function' &&\n propType.prototype &&\n propType.prototype.constructor === propType &&\n propType.prototype.constructor.toString().startsWith('class ')) {\n const fields = this.getFormlyFieldsForObject(baseService, new propType())\n if (fields)\n formlyFields.push(\n {\n key: property.key,\n props: {\n translate: true,\n label: property.label\n },\n wrappers: ['panel'],\n fieldGroup: fields\n }\n )\n } else {\n switch (property.type) {\n case \"select\": {\n formlyFields.push(\n {\n key: property.key,\n type: property.type,\n defaultValue: value,\n props: {\n translate: true,\n label: property.label,\n required,\n labelPosition: 'floating',\n description: property.description,\n placeholder: property.placeholder,\n options: baseService.getSelectValues(property.key),\n valueProp: property.valueProp || 'value',\n labelProp: property.labelProp || 'label',\n },\n })\n break;\n }\n case \"toggle\": {\n formlyFields.push(\n {\n key: property.key,\n type: property.type,\n defaultValue: value,\n props: {\n translate: true,\n label: property.label,\n required,\n description: property.description,\n placeholder: property.placeholder,\n },\n })\n break;\n }\n default: {\n formlyFields.push(\n {\n key: property.key,\n type: property.type,\n defaultValue: value,\n props: {\n translate: true,\n label: property.label,\n required,\n labelPosition: 'floating',\n description: property.description,\n placeholder: property.placeholder\n },\n })\n break;\n }\n }\n }\n }\n });\n }\n return formlyFields;\n }\n\n}","import { BaseService } from \"@rosoftlab/core\";\nimport { BaseModelFormly } from \"./base-model-formly\";\n\nexport class BaseServiceFormly<T extends BaseModelFormly> extends BaseService<T> {\n\n public getFormlyFields(model: T) {\n return model.getFormlyFields(this);\n }\n}\n","import { } from 'reflect-metadata';\r\nimport { FormlyModelConfig } from \"./interfaces/formly-model-config\";\r\nexport function FormlyLayout(config: FormlyModelConfig) {\r\n return (target: any, propertyName: string) => {\r\n const annotations = Reflect.getMetadata('FormlyLayout', target) || [];\r\n config.key=propertyName;\r\n annotations.push(config);\r\n\r\n Reflect.defineMetadata('FormlyLayout', annotations, target);\r\n };\r\n}\r\n","/*\n * Public API Surface of formly\n */\n\nexport * from './lib/base-model-formly';\nexport * from './lib/formly-base-service';\nexport * from './lib/formly-layout';\nexport * from './lib/interfaces/formly-model-config';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@rosoftlab/formly" />
5
+ export * from './public-api';
@@ -0,0 +1,9 @@
1
+ import { FormlyFieldConfig } from "@ngx-formly/core";
2
+ import { BaseModel, BaseService } from "@rosoftlab/core";
3
+ export declare class BaseModelFormly extends BaseModel {
4
+ showErrorState: false;
5
+ getFormlyFields(baseService: BaseService<BaseModelFormly>): FormlyFieldConfig<import("@ngx-formly/core").FormlyFieldProps & {
6
+ [additionalProperties: string]: any;
7
+ }>[];
8
+ private getFormlyFieldsForObject;
9
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseService } from "@rosoftlab/core";
2
+ import { BaseModelFormly } from "./base-model-formly";
3
+ export declare class BaseServiceFormly<T extends BaseModelFormly> extends BaseService<T> {
4
+ getFormlyFields(model: T): import("@ngx-formly/core").FormlyFieldConfig<import("@ngx-formly/core").FormlyFieldProps & {
5
+ [additionalProperties: string]: any;
6
+ }>[];
7
+ }
@@ -0,0 +1,2 @@
1
+ import { FormlyModelConfig } from "./interfaces/formly-model-config";
2
+ export declare function FormlyLayout(config: FormlyModelConfig): (target: any, propertyName: string) => void;
@@ -0,0 +1,11 @@
1
+ export interface FormlyModelConfig {
2
+ key?: string;
3
+ type: 'input' | 'textarea' | 'checkbox' | 'radio' | 'select' | 'datetime' | 'range' | 'toggle' | 'subobject' | any;
4
+ label: string;
5
+ required?: boolean;
6
+ placeholder?: string;
7
+ description?: string;
8
+ defaultValue?: any;
9
+ valueProp?: string;
10
+ labelProp?: string;
11
+ }
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@rosoftlab/formly",
3
+ "version": "1.0.0-alpha-0",
4
+ "peerDependencies": {
5
+ "@angular/common": "^16.0.0",
6
+ "@angular/core": "^16.0.0",
7
+ "@ngx-formly/core": "^6.1.6",
8
+ "@rosoftlab/core": "1.0.0-alpha-0"
9
+ },
10
+ "dependencies": {
11
+ "tslib": "^2.3.0"
12
+ },
13
+ "sideEffects": false,
14
+ "module": "fesm2022/rosoftlab-formly.mjs",
15
+ "typings": "index.d.ts",
16
+ "exports": {
17
+ "./package.json": {
18
+ "default": "./package.json"
19
+ },
20
+ ".": {
21
+ "types": "./index.d.ts",
22
+ "esm2022": "./esm2022/rosoftlab-formly.mjs",
23
+ "esm": "./esm2022/rosoftlab-formly.mjs",
24
+ "default": "./fesm2022/rosoftlab-formly.mjs"
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,4 @@
1
+ export * from './lib/base-model-formly';
2
+ export * from './lib/formly-base-service';
3
+ export * from './lib/formly-layout';
4
+ export * from './lib/interfaces/formly-model-config';