@decaf-ts/ui-decorators 0.4.3 → 0.4.5
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/LICENSE.md +157 -21
- package/package.json +15 -15
- package/dist/esm/ui-decorators.bundle.min.esm.js +0 -2
- package/dist/esm/ui-decorators.bundle.min.esm.js.LICENSE.txt +0 -14
- package/dist/ui-decorators.bundle.min.js +0 -2
- package/dist/ui-decorators.bundle.min.js.LICENSE.txt +0 -14
- package/lib/esm/index.d.ts +0 -12
- package/lib/esm/index.js +0 -14
- package/lib/esm/model/Renderable.d.ts +0 -3
- package/lib/esm/model/Renderable.js +0 -3
- package/lib/esm/model/decorators.d.ts +0 -25
- package/lib/esm/model/decorators.js +0 -41
- package/lib/esm/model/index.d.ts +0 -8
- package/lib/esm/model/index.js +0 -10
- package/lib/esm/model/model.d.ts +0 -115
- package/lib/esm/model/model.js +0 -3
- package/lib/esm/model/overrides.d.ts +0 -1
- package/lib/esm/model/overrides.js +0 -7
- package/lib/esm/ui/Rendering.d.ts +0 -17
- package/lib/esm/ui/Rendering.js +0 -145
- package/lib/esm/ui/constants.d.ts +0 -63
- package/lib/esm/ui/constants.js +0 -87
- package/lib/esm/ui/decorators.d.ts +0 -34
- package/lib/esm/ui/decorators.js +0 -62
- package/lib/esm/ui/errors.d.ts +0 -4
- package/lib/esm/ui/errors.js +0 -8
- package/lib/esm/ui/index.d.ts +0 -11
- package/lib/esm/ui/index.js +0 -13
- package/lib/esm/ui/interfaces.d.ts +0 -7
- package/lib/esm/ui/interfaces.js +0 -3
- package/lib/esm/ui/types.d.ts +0 -44
- package/lib/esm/ui/types.js +0 -3
- package/lib/esm/ui/utils.d.ts +0 -9
- package/lib/esm/ui/utils.js +0 -85
- package/lib/index.cjs +0 -31
- package/lib/index.d.ts +0 -12
- package/lib/model/Renderable.cjs +0 -4
- package/lib/model/Renderable.d.ts +0 -3
- package/lib/model/decorators.cjs +0 -45
- package/lib/model/decorators.d.ts +0 -25
- package/lib/model/index.cjs +0 -26
- package/lib/model/index.d.ts +0 -8
- package/lib/model/model.cjs +0 -4
- package/lib/model/model.d.ts +0 -115
- package/lib/model/overrides.cjs +0 -9
- package/lib/model/overrides.d.ts +0 -1
- package/lib/ui/Rendering.cjs +0 -149
- package/lib/ui/Rendering.d.ts +0 -17
- package/lib/ui/constants.cjs +0 -90
- package/lib/ui/constants.d.ts +0 -63
- package/lib/ui/decorators.cjs +0 -68
- package/lib/ui/decorators.d.ts +0 -34
- package/lib/ui/errors.cjs +0 -12
- package/lib/ui/errors.d.ts +0 -4
- package/lib/ui/index.cjs +0 -29
- package/lib/ui/index.d.ts +0 -11
- package/lib/ui/interfaces.cjs +0 -4
- package/lib/ui/interfaces.d.ts +0 -7
- package/lib/ui/types.cjs +0 -4
- package/lib/ui/types.d.ts +0 -44
- package/lib/ui/utils.cjs +0 -91
- package/lib/ui/utils.d.ts +0 -9
package/lib/esm/ui/Rendering.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { InternalError } from "@decaf-ts/db-decorators";
|
|
2
|
-
import { Model, ReservedModels, ValidationKeys, } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import { HTML5InputTypes, UIKeys, ValidatableByAttribute, ValidatableByType, } from "./constants";
|
|
4
|
-
import { RenderingError } from "./errors";
|
|
5
|
-
import { Reflection } from "@decaf-ts/reflection";
|
|
6
|
-
export class RenderingEngine {
|
|
7
|
-
static { this.cache = {}; }
|
|
8
|
-
constructor(flavour) {
|
|
9
|
-
this.flavour = flavour;
|
|
10
|
-
this.initialized = false;
|
|
11
|
-
RenderingEngine.register(this);
|
|
12
|
-
console.log(`decaf's ${flavour} rendering engine loaded`);
|
|
13
|
-
}
|
|
14
|
-
translate(key, toView = true) {
|
|
15
|
-
if (toView) {
|
|
16
|
-
switch (key) {
|
|
17
|
-
case ReservedModels.STRING:
|
|
18
|
-
return HTML5InputTypes.TEXT;
|
|
19
|
-
case ReservedModels.NUMBER:
|
|
20
|
-
case ReservedModels.BIGINT:
|
|
21
|
-
return HTML5InputTypes.NUMBER;
|
|
22
|
-
case ReservedModels.BOOLEAN:
|
|
23
|
-
return HTML5InputTypes.CHECKBOX;
|
|
24
|
-
case ReservedModels.DATE:
|
|
25
|
-
return HTML5InputTypes.DATE;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
switch (key) {
|
|
30
|
-
case HTML5InputTypes.TEXT:
|
|
31
|
-
case HTML5InputTypes.EMAIL:
|
|
32
|
-
case HTML5InputTypes.COLOR:
|
|
33
|
-
case HTML5InputTypes.PASSWORD:
|
|
34
|
-
case HTML5InputTypes.TEL:
|
|
35
|
-
case HTML5InputTypes.URL:
|
|
36
|
-
return ReservedModels.STRING;
|
|
37
|
-
case HTML5InputTypes.NUMBER:
|
|
38
|
-
return ReservedModels.NUMBER;
|
|
39
|
-
case HTML5InputTypes.CHECKBOX:
|
|
40
|
-
return ReservedModels.BOOLEAN;
|
|
41
|
-
case HTML5InputTypes.DATE:
|
|
42
|
-
case HTML5InputTypes.DATETIME_LOCAL:
|
|
43
|
-
case HTML5InputTypes.TIME:
|
|
44
|
-
return ReservedModels.DATE;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return key;
|
|
48
|
-
}
|
|
49
|
-
render(model, globalProps = {},
|
|
50
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
51
|
-
...args) {
|
|
52
|
-
const classDecorator = Reflect.getMetadata(RenderingEngine.key(UIKeys.UIMODEL), model.constructor) ||
|
|
53
|
-
Reflect.getMetadata(RenderingEngine.key(UIKeys.UIMODEL), Model.get(model.constructor.name));
|
|
54
|
-
if (!classDecorator)
|
|
55
|
-
throw new RenderingError(`No ui definitions set for model ${model.constructor.name}. Did you use @uimodel?`);
|
|
56
|
-
const { tag, props } = classDecorator;
|
|
57
|
-
const uiDecorators = Reflection.getAllPropertyDecorators(model, UIKeys.REFLECT);
|
|
58
|
-
let children;
|
|
59
|
-
const childProps = {};
|
|
60
|
-
if (uiDecorators) {
|
|
61
|
-
const validationDecorators = Reflection.getAllPropertyDecorators(model, ValidationKeys.REFLECT);
|
|
62
|
-
// // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
63
|
-
// const dbDecorators: Record<string, DecoratorMetadata[]> =
|
|
64
|
-
// Reflection.getAllPropertyDecorators(model, DBKeys.REFLECT) as Record<
|
|
65
|
-
// string,
|
|
66
|
-
// DecoratorMetadata[]
|
|
67
|
-
// >;
|
|
68
|
-
for (const key in uiDecorators) {
|
|
69
|
-
const decs = uiDecorators[key];
|
|
70
|
-
if (decs.length !== 2)
|
|
71
|
-
throw new RenderingError(`Only one type of decoration is allowed. Please choose between @uiprop and @uielement`);
|
|
72
|
-
const dec = decs[1]; // Ignore 0, its the design:type
|
|
73
|
-
if (!dec)
|
|
74
|
-
throw new RenderingError(`No decorator found`);
|
|
75
|
-
switch (dec.key) {
|
|
76
|
-
case UIKeys.PROP:
|
|
77
|
-
childProps[key] = dec.props;
|
|
78
|
-
break;
|
|
79
|
-
case UIKeys.ELEMENT: {
|
|
80
|
-
children = children || [];
|
|
81
|
-
const childDefinition = {
|
|
82
|
-
tag: dec.props.tag,
|
|
83
|
-
props: Object.assign({}, dec.props.props, globalProps),
|
|
84
|
-
};
|
|
85
|
-
const validationDecs = validationDecorators[key];
|
|
86
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
87
|
-
const typeDec = validationDecs.shift();
|
|
88
|
-
for (const dec of validationDecs) {
|
|
89
|
-
if (dec.key in ValidatableByAttribute) {
|
|
90
|
-
childProps[this.translate(key)] = dec.props;
|
|
91
|
-
continue;
|
|
92
|
-
}
|
|
93
|
-
if (dec.key in ValidatableByType) {
|
|
94
|
-
childProps[UIKeys.TYPE] = dec.props;
|
|
95
|
-
continue;
|
|
96
|
-
}
|
|
97
|
-
console.log(dec);
|
|
98
|
-
}
|
|
99
|
-
children.push(childDefinition);
|
|
100
|
-
break;
|
|
101
|
-
}
|
|
102
|
-
default:
|
|
103
|
-
throw new RenderingError(`Invalid key: ${dec.key}`);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return {
|
|
108
|
-
tag: tag,
|
|
109
|
-
props: Object.assign({}, props, globalProps),
|
|
110
|
-
children: children,
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
static register(engine) {
|
|
114
|
-
if (engine.flavour in this.cache)
|
|
115
|
-
throw new InternalError(`Rendering engine under ${engine.flavour} already exists`);
|
|
116
|
-
this.cache[engine.flavour] = engine;
|
|
117
|
-
this.current = engine;
|
|
118
|
-
}
|
|
119
|
-
static getOrBoot(obj) {
|
|
120
|
-
if (obj instanceof RenderingEngine)
|
|
121
|
-
return obj;
|
|
122
|
-
const engine = new obj();
|
|
123
|
-
engine.initialize(); // make the booting async. use the initialized flag to control it
|
|
124
|
-
return engine;
|
|
125
|
-
}
|
|
126
|
-
static get(flavour) {
|
|
127
|
-
if (!flavour)
|
|
128
|
-
return this.getOrBoot(this.current);
|
|
129
|
-
if (!(flavour in this.cache))
|
|
130
|
-
throw new InternalError(`Rendering engine under ${flavour} does not exist`);
|
|
131
|
-
return this.getOrBoot(this.cache[flavour]);
|
|
132
|
-
}
|
|
133
|
-
static render(model, ...args) {
|
|
134
|
-
const constructor = Model.get(model.constructor.name);
|
|
135
|
-
if (!constructor)
|
|
136
|
-
throw new InternalError("No model registered found");
|
|
137
|
-
const flavour = Reflect.getMetadata(RenderingEngine.key(UIKeys.RENDERED_BY), constructor);
|
|
138
|
-
return RenderingEngine.get(flavour).render(model, ...args);
|
|
139
|
-
}
|
|
140
|
-
static key(key) {
|
|
141
|
-
return `${UIKeys.REFLECT}${key}`;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,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RyxJQUFXO1FBQ3JELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsV0FBVztZQUFFLE1BQU0sSUFBSSxhQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUN2RSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUNqQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFDdkMsV0FBc0MsQ0FDdkMsQ0FBQztRQUNGLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBVztRQUNwQixPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNuQyxDQUFDIiwiZmlsZSI6InVpL1JlbmRlcmluZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7XG4gIENvbnN0cnVjdG9yLFxuICBNb2RlbCxcbiAgTW9kZWxDb25zdHJ1Y3RvcixcbiAgUmVzZXJ2ZWRNb2RlbHMsXG4gIFZhbGlkYXRpb25LZXlzLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBIVE1MNUlucHV0VHlwZXMsXG4gIFVJS2V5cyxcbiAgVmFsaWRhdGFibGVCeUF0dHJpYnV0ZSxcbiAgVmFsaWRhdGFibGVCeVR5cGUsXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgRmllbGREZWZpbml0aW9uLFxuICBVSUVsZW1lbnRNZXRhZGF0YSxcbiAgVUlNb2RlbE1ldGFkYXRhLFxuICBVSVByb3BNZXRhZGF0YSxcbn0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IFJlbmRlcmluZ0Vycm9yIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBSZWZsZWN0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZW5kZXJpbmdFbmdpbmU8VCA9IHZvaWQ+IHtcbiAgcHJpdmF0ZSBzdGF0aWMgY2FjaGU6IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgQ29uc3RydWN0b3I8UmVuZGVyaW5nRW5naW5lPHVua25vd24+PiB8IFJlbmRlcmluZ0VuZ2luZTx1bmtub3duPlxuICA+ID0ge307XG4gIHByaXZhdGUgc3RhdGljIGN1cnJlbnQ6XG4gICAgfCBDb25zdHJ1Y3RvcjxSZW5kZXJpbmdFbmdpbmU8dW5rbm93bj4+XG4gICAgfCBSZW5kZXJpbmdFbmdpbmU8dW5rbm93bj47XG5cbiAgcHJvdGVjdGVkIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZsYXZvdXI6IHN0cmluZykge1xuICAgIFJlbmRlcmluZ0VuZ2luZS5yZWdpc3Rlcih0aGlzKTtcbiAgICBjb25zb2xlLmxvZyhgZGVjYWYncyAke2ZsYXZvdXJ9IHJlbmRlcmluZyBlbmdpbmUgbG9hZGVkYCk7XG4gIH1cblxuICBhYnN0cmFjdCBpbml0aWFsaXplKC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPjtcblxuICB0cmFuc2xhdGUoa2V5OiBzdHJpbmcsIHRvVmlldyA9IHRydWUpOiBzdHJpbmcge1xuICAgIGlmICh0b1ZpZXcpIHtcbiAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgIGNhc2UgUmVzZXJ2ZWRNb2RlbHMuU1RSSU5HOlxuICAgICAgICAgIHJldHVybiBIVE1MNUlucHV0VHlwZXMuVEVYVDtcbiAgICAgICAgY2FzZSBSZXNlcnZlZE1vZGVscy5OVU1CRVI6XG4gICAgICAgIGNhc2UgUmVzZXJ2ZWRNb2RlbHMuQklHSU5UOlxuICAgICAgICAgIHJldHVybiBIVE1MNUlucHV0VHlwZXMuTlVNQkVSO1xuICAgICAgICBjYXNlIFJlc2VydmVkTW9kZWxzLkJPT0xFQU46XG4gICAgICAgICAgcmV0dXJuIEhUTUw1SW5wdXRUeXBlcy5DSEVDS0JPWDtcbiAgICAgICAgY2FzZSBSZXNlcnZlZE1vZGVscy5EQVRFOlxuICAgICAgICAgIHJldHVybiBIVE1MNUlucHV0VHlwZXMuREFURTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuVEVYVDpcbiAgICAgICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuRU1BSUw6XG4gICAgICAgIGNhc2UgSFRNTDVJbnB1dFR5cGVzLkNPTE9SOlxuICAgICAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5QQVNTV09SRDpcbiAgICAgICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuVEVMOlxuICAgICAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5VUkw6XG4gICAgICAgICAgcmV0dXJuIFJlc2VydmVkTW9kZWxzLlNUUklORztcbiAgICAgICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuTlVNQkVSOlxuICAgICAgICAgIHJldHVybiBSZXNlcnZlZE1vZGVscy5OVU1CRVI7XG4gICAgICAgIGNhc2UgSFRNTDVJbnB1dFR5cGVzLkNIRUNLQk9YOlxuICAgICAgICAgIHJldHVybiBSZXNlcnZlZE1vZGVscy5CT09MRUFOO1xuICAgICAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5EQVRFOlxuICAgICAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5EQVRFVElNRV9MT0NBTDpcbiAgICAgICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuVElNRTpcbiAgICAgICAgICByZXR1cm4gUmVzZXJ2ZWRNb2RlbHMuREFURTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGtleTtcbiAgfVxuXG4gIHJlbmRlcjxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIG1vZGVsOiBNLFxuICAgIGdsb2JhbFByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBGaWVsZERlZmluaXRpb248VD4ge1xuICAgIGNvbnN0IGNsYXNzRGVjb3JhdG9yOiBVSU1vZGVsTWV0YWRhdGEgPVxuICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShcbiAgICAgICAgUmVuZGVyaW5nRW5naW5lLmtleShVSUtleXMuVUlNT0RFTCksXG4gICAgICAgIG1vZGVsLmNvbnN0cnVjdG9yXG4gICAgICApIHx8XG4gICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKFxuICAgICAgICBSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5VSU1PREVMKSxcbiAgICAgICAgTW9kZWwuZ2V0KG1vZGVsLmNvbnN0cnVjdG9yLm5hbWUpIGFzIGFueVxuICAgICAgKTtcblxuICAgIGlmICghY2xhc3NEZWNvcmF0b3IpXG4gICAgICB0aHJvdyBuZXcgUmVuZGVyaW5nRXJyb3IoXG4gICAgICAgIGBObyB1aSBkZWZpbml0aW9ucyBzZXQgZm9yIG1vZGVsICR7bW9kZWwuY29uc3RydWN0b3IubmFtZX0uIERpZCB5b3UgdXNlIEB1aW1vZGVsP2BcbiAgICAgICk7XG5cbiAgICBjb25zdCB7IHRhZywgcHJvcHMgfSA9IGNsYXNzRGVjb3JhdG9yO1xuXG4gICAgY29uc3QgdWlEZWNvcmF0b3JzOiBSZWNvcmQ8c3RyaW5nLCBEZWNvcmF0b3JNZXRhZGF0YVtdPiA9XG4gICAgICBSZWZsZWN0aW9uLmdldEFsbFByb3BlcnR5RGVjb3JhdG9ycyhtb2RlbCwgVUlLZXlzLlJFRkxFQ1QpIGFzIFJlY29yZDxcbiAgICAgICAgc3RyaW5nLFxuICAgICAgICBEZWNvcmF0b3JNZXRhZGF0YVtdXG4gICAgICA+O1xuICAgIGxldCBjaGlsZHJlbjogRmllbGREZWZpbml0aW9uPFQ+W10gfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgY2hpbGRQcm9wczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gICAgaWYgKHVpRGVjb3JhdG9ycykge1xuICAgICAgY29uc3QgdmFsaWRhdGlvbkRlY29yYXRvcnM6IFJlY29yZDxzdHJpbmcsIERlY29yYXRvck1ldGFkYXRhW10+ID1cbiAgICAgICAgUmVmbGVjdGlvbi5nZXRBbGxQcm9wZXJ0eURlY29yYXRvcnMoXG4gICAgICAgICAgbW9kZWwsXG4gICAgICAgICAgVmFsaWRhdGlvbktleXMuUkVGTEVDVFxuICAgICAgICApIGFzIFJlY29yZDxzdHJpbmcsIERlY29yYXRvck1ldGFkYXRhW10+O1xuICAgICAgLy8gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgLy8gY29uc3QgZGJEZWNvcmF0b3JzOiBSZWNvcmQ8c3RyaW5nLCBEZWNvcmF0b3JNZXRhZGF0YVtdPiA9XG4gICAgICAvLyAgIFJlZmxlY3Rpb24uZ2V0QWxsUHJvcGVydHlEZWNvcmF0b3JzKG1vZGVsLCBEQktleXMuUkVGTEVDVCkgYXMgUmVjb3JkPFxuICAgICAgLy8gICAgIHN0cmluZyxcbiAgICAgIC8vICAgICBEZWNvcmF0b3JNZXRhZGF0YVtdXG4gICAgICAvLyAgID47XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IGluIHVpRGVjb3JhdG9ycykge1xuICAgICAgICBjb25zdCBkZWNzID0gdWlEZWNvcmF0b3JzW2tleV07XG4gICAgICAgIGlmIChkZWNzLmxlbmd0aCAhPT0gMilcbiAgICAgICAgICB0aHJvdyBuZXcgUmVuZGVyaW5nRXJyb3IoXG4gICAgICAgICAgICBgT25seSBvbmUgdHlwZSBvZiBkZWNvcmF0aW9uIGlzIGFsbG93ZWQuIFBsZWFzZSBjaG9vc2UgYmV0d2VlbiBAdWlwcm9wIGFuZCBAdWllbGVtZW50YFxuICAgICAgICAgICk7XG4gICAgICAgIGNvbnN0IGRlYyA9IGRlY3NbMV07IC8vIElnbm9yZSAwLCBpdHMgdGhlIGRlc2lnbjp0eXBlXG4gICAgICAgIGlmICghZGVjKSB0aHJvdyBuZXcgUmVuZGVyaW5nRXJyb3IoYE5vIGRlY29yYXRvciBmb3VuZGApO1xuICAgICAgICBzd2l0Y2ggKGRlYy5rZXkpIHtcbiAgICAgICAgICBjYXNlIFVJS2V5cy5QUk9QOlxuICAgICAgICAgICAgY2hpbGRQcm9wc1trZXldID0gZGVjLnByb3BzIGFzIFVJUHJvcE1ldGFkYXRhO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBVSUtleXMuRUxFTUVOVDoge1xuICAgICAgICAgICAgY2hpbGRyZW4gPSBjaGlsZHJlbiB8fCBbXTtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkRGVmaW5pdGlvbjogRmllbGREZWZpbml0aW9uPFQ+ID0ge1xuICAgICAgICAgICAgICB0YWc6IChkZWMucHJvcHMgYXMgVUlFbGVtZW50TWV0YWRhdGEpLnRhZyxcbiAgICAgICAgICAgICAgcHJvcHM6IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAgKGRlYy5wcm9wcyBhcyBVSUVsZW1lbnRNZXRhZGF0YSkucHJvcHMgYXMgYW55LFxuICAgICAgICAgICAgICAgIGdsb2JhbFByb3BzXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uRGVjczogRGVjb3JhdG9yTWV0YWRhdGFPYmplY3RbXSA9XG4gICAgICAgICAgICAgIHZhbGlkYXRpb25EZWNvcmF0b3JzW2tleV0gYXMgRGVjb3JhdG9yTWV0YWRhdGFPYmplY3RbXTtcblxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgY29uc3QgdHlwZURlYzogRGVjb3JhdG9yTWV0YWRhdGFPYmplY3QgPVxuICAgICAgICAgICAgICB2YWxpZGF0aW9uRGVjcy5zaGlmdCgpIGFzIERlY29yYXRvck1ldGFkYXRhT2JqZWN0O1xuICAgICAgICAgICAgZm9yIChjb25zdCBkZWMgb2YgdmFsaWRhdGlvbkRlY3MpIHtcbiAgICAgICAgICAgICAgaWYgKChkZWMua2V5IGFzIHN0cmluZykgaW4gVmFsaWRhdGFibGVCeUF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgICAgIGNoaWxkUHJvcHNbdGhpcy50cmFuc2xhdGUoa2V5KV0gPSBkZWMucHJvcHM7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKChkZWMua2V5IGFzIHN0cmluZykgaW4gVmFsaWRhdGFibGVCeVR5cGUpIHtcbiAgICAgICAgICAgICAgICBjaGlsZFByb3BzW1VJS2V5cy5UWVBFXSA9IGRlYy5wcm9wcztcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkZWMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGNoaWxkRGVmaW5pdGlvbik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBSZW5kZXJpbmdFcnJvcihgSW52YWxpZCBrZXk6ICR7ZGVjLmtleX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0YWc6IHRhZyxcbiAgICAgIHByb3BzOiBPYmplY3QuYXNzaWduKHt9LCBwcm9wcywgZ2xvYmFsUHJvcHMpLFxuICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxuICAgIH0gYXMgRmllbGREZWZpbml0aW9uPFQ+O1xuICB9XG5cbiAgc3RhdGljIHJlZ2lzdGVyKGVuZ2luZTogUmVuZGVyaW5nRW5naW5lPHVua25vd24+KSB7XG4gICAgaWYgKGVuZ2luZS5mbGF2b3VyIGluIHRoaXMuY2FjaGUpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYFJlbmRlcmluZyBlbmdpbmUgdW5kZXIgJHtlbmdpbmUuZmxhdm91cn0gYWxyZWFkeSBleGlzdHNgXG4gICAgICApO1xuICAgIHRoaXMuY2FjaGVbZW5naW5lLmZsYXZvdXJdID0gZW5naW5lO1xuICAgIHRoaXMuY3VycmVudCA9IGVuZ2luZTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldE9yQm9vdDxPPihcbiAgICBvYmo6IENvbnN0cnVjdG9yPFJlbmRlcmluZ0VuZ2luZTxPPj4gfCBSZW5kZXJpbmdFbmdpbmU8Tz5cbiAgKTogUmVuZGVyaW5nRW5naW5lPE8+IHtcbiAgICBpZiAob2JqIGluc3RhbmNlb2YgUmVuZGVyaW5nRW5naW5lKSByZXR1cm4gb2JqIGFzIFJlbmRlcmluZ0VuZ2luZTxPPjtcbiAgICBjb25zdCBlbmdpbmU6IFJlbmRlcmluZ0VuZ2luZTxPPiA9IG5ldyBvYmooKTtcbiAgICBlbmdpbmUuaW5pdGlhbGl6ZSgpOyAvLyBtYWtlIHRoZSBib290aW5nIGFzeW5jLiB1c2UgdGhlIGluaXRpYWxpemVkIGZsYWcgdG8gY29udHJvbCBpdFxuICAgIHJldHVybiBlbmdpbmUgYXMgUmVuZGVyaW5nRW5naW5lPE8+O1xuICB9XG5cbiAgc3RhdGljIGdldDxPPihmbGF2b3VyPzogc3RyaW5nKTogUmVuZGVyaW5nRW5naW5lPE8+IHtcbiAgICBpZiAoIWZsYXZvdXIpXG4gICAgICByZXR1cm4gdGhpcy5nZXRPckJvb3Q8Tz4oXG4gICAgICAgIHRoaXMuY3VycmVudCBhcyBDb25zdHJ1Y3RvcjxSZW5kZXJpbmdFbmdpbmU8Tz4+IHwgUmVuZGVyaW5nRW5naW5lPE8+XG4gICAgICApO1xuICAgIGlmICghKGZsYXZvdXIgaW4gdGhpcy5jYWNoZSkpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYFJlbmRlcmluZyBlbmdpbmUgdW5kZXIgJHtmbGF2b3VyfSBkb2VzIG5vdCBleGlzdGBcbiAgICAgICk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0T3JCb290PE8+KFxuICAgICAgdGhpcy5jYWNoZVtmbGF2b3VyXSBhc1xuICAgICAgICB8IENvbnN0cnVjdG9yPFJlbmRlcmluZ0VuZ2luZTxPPj5cbiAgICAgICAgfCBSZW5kZXJpbmdFbmdpbmU8Tz5cbiAgICApO1xuICB9XG5cbiAgc3RhdGljIHJlbmRlcjxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBNLCAuLi5hcmdzOiBhbnlbXSk6IGFueSB7XG4gICAgY29uc3QgY29uc3RydWN0b3IgPSBNb2RlbC5nZXQobW9kZWwuY29uc3RydWN0b3IubmFtZSk7XG4gICAgaWYgKCFjb25zdHJ1Y3RvcikgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJObyBtb2RlbCByZWdpc3RlcmVkIGZvdW5kXCIpO1xuICAgIGNvbnN0IGZsYXZvdXIgPSBSZWZsZWN0LmdldE1ldGFkYXRhKFxuICAgICAgUmVuZGVyaW5nRW5naW5lLmtleShVSUtleXMuUkVOREVSRURfQlkpLFxuICAgICAgY29uc3RydWN0b3IgYXMgTW9kZWxDb25zdHJ1Y3RvcjxNb2RlbD5cbiAgICApO1xuICAgIHJldHVybiBSZW5kZXJpbmdFbmdpbmUuZ2V0KGZsYXZvdXIpLnJlbmRlcihtb2RlbCwgLi4uYXJncyk7XG4gIH1cblxuICBzdGF0aWMga2V5KGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke1VJS2V5cy5SRUZMRUNUfSR7a2V5fWA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { Constructor, Validator } from "@decaf-ts/decorator-validation";
|
|
2
|
-
/**
|
|
3
|
-
* @enum UIKeys
|
|
4
|
-
* @category Constants
|
|
5
|
-
*/
|
|
6
|
-
export declare const UIKeys: {
|
|
7
|
-
REFLECT: string;
|
|
8
|
-
UIMODEL: string;
|
|
9
|
-
RENDERED_BY: string;
|
|
10
|
-
ELEMENT: string;
|
|
11
|
-
PROP: string;
|
|
12
|
-
NAME: string;
|
|
13
|
-
NAME_PREFIX: string;
|
|
14
|
-
CUSTOM_PROPS: string;
|
|
15
|
-
TYPE: string;
|
|
16
|
-
SUB_TYPE: string;
|
|
17
|
-
HIDDEN: string;
|
|
18
|
-
READ_ONLY: string;
|
|
19
|
-
REQUIRED: string;
|
|
20
|
-
MIN: string;
|
|
21
|
-
MIN_LENGTH: string;
|
|
22
|
-
MAX: string;
|
|
23
|
-
MAX_LENGTH: string;
|
|
24
|
-
PATTERN: string;
|
|
25
|
-
URL: string;
|
|
26
|
-
STEP: string;
|
|
27
|
-
DATE: string;
|
|
28
|
-
EMAIL: string;
|
|
29
|
-
PASSWORD: string;
|
|
30
|
-
};
|
|
31
|
-
export declare const ValidatableByType: Record<string, Constructor<Validator>>;
|
|
32
|
-
/**
|
|
33
|
-
* @constant ValidatableByAttribute
|
|
34
|
-
*
|
|
35
|
-
* @memberOf ui-decorators-web.ui
|
|
36
|
-
*/
|
|
37
|
-
export declare const ValidatableByAttribute: Record<string, Constructor<Validator>>;
|
|
38
|
-
export declare const HTML5DateFormat = "yyyy-MM-dd";
|
|
39
|
-
export declare const HTML5InputTypes: {
|
|
40
|
-
BUTTON: string;
|
|
41
|
-
CHECKBOX: string;
|
|
42
|
-
COLOR: string;
|
|
43
|
-
DATE: string;
|
|
44
|
-
DATETIME_LOCAL: string;
|
|
45
|
-
EMAIL: string;
|
|
46
|
-
FILE: string;
|
|
47
|
-
HIDDEN: string;
|
|
48
|
-
IMAGE: string;
|
|
49
|
-
MONTH: string;
|
|
50
|
-
NUMBER: string;
|
|
51
|
-
PASSWORD: string;
|
|
52
|
-
RADIO: string;
|
|
53
|
-
RANGE: string;
|
|
54
|
-
RESET: string;
|
|
55
|
-
SEARCH: string;
|
|
56
|
-
SUBMIT: string;
|
|
57
|
-
TEL: string;
|
|
58
|
-
TEXT: string;
|
|
59
|
-
TIME: string;
|
|
60
|
-
URL: string;
|
|
61
|
-
WEEK: string;
|
|
62
|
-
};
|
|
63
|
-
export declare const HTML5CheckTypes: string[];
|
package/lib/esm/ui/constants.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { DateValidator, EmailValidator, MaxLengthValidator, MaxValidator, MinLengthValidator, MinValidator, ModelKeys, PasswordValidator, PatternValidator, RequiredValidator, StepValidator, URLValidator, ValidationKeys, } from "@decaf-ts/decorator-validation";
|
|
2
|
-
/**
|
|
3
|
-
* @enum UIKeys
|
|
4
|
-
* @category Constants
|
|
5
|
-
*/
|
|
6
|
-
export const UIKeys = {
|
|
7
|
-
REFLECT: `${ModelKeys.REFLECT}.ui.`,
|
|
8
|
-
UIMODEL: "uimodel",
|
|
9
|
-
RENDERED_BY: "rendered-by",
|
|
10
|
-
ELEMENT: "element",
|
|
11
|
-
PROP: "prop",
|
|
12
|
-
NAME: "name",
|
|
13
|
-
NAME_PREFIX: "input-",
|
|
14
|
-
CUSTOM_PROPS: "customValidationProps",
|
|
15
|
-
TYPE: "type",
|
|
16
|
-
SUB_TYPE: "subtype",
|
|
17
|
-
HIDDEN: "hidden",
|
|
18
|
-
READ_ONLY: "readonly",
|
|
19
|
-
REQUIRED: ValidationKeys.REQUIRED,
|
|
20
|
-
MIN: ValidationKeys.MIN,
|
|
21
|
-
MIN_LENGTH: ValidationKeys.MIN_LENGTH,
|
|
22
|
-
MAX: ValidationKeys.MAX,
|
|
23
|
-
MAX_LENGTH: ValidationKeys.MAX_LENGTH,
|
|
24
|
-
PATTERN: ValidationKeys.PATTERN,
|
|
25
|
-
URL: ValidationKeys.URL,
|
|
26
|
-
STEP: ValidationKeys.STEP,
|
|
27
|
-
DATE: ValidationKeys.DATE,
|
|
28
|
-
EMAIL: ValidationKeys.EMAIL,
|
|
29
|
-
PASSWORD: ValidationKeys.PASSWORD,
|
|
30
|
-
};
|
|
31
|
-
export const ValidatableByType = [
|
|
32
|
-
{ validationKey: UIKeys.EMAIL, validator: EmailValidator },
|
|
33
|
-
{ validationKey: UIKeys.URL, validator: URLValidator },
|
|
34
|
-
{ validationKey: UIKeys.DATE, validator: DateValidator },
|
|
35
|
-
{ validationKey: UIKeys.PASSWORD, validator: PasswordValidator },
|
|
36
|
-
].reduce((accum, vd) => {
|
|
37
|
-
accum[vd.validationKey] = vd.validator;
|
|
38
|
-
return accum;
|
|
39
|
-
}, {});
|
|
40
|
-
/**
|
|
41
|
-
* @constant ValidatableByAttribute
|
|
42
|
-
*
|
|
43
|
-
* @memberOf ui-decorators-web.ui
|
|
44
|
-
*/
|
|
45
|
-
export const ValidatableByAttribute = [
|
|
46
|
-
{ validationKey: UIKeys.REQUIRED, validator: RequiredValidator },
|
|
47
|
-
{ validationKey: UIKeys.MIN, validator: MinValidator },
|
|
48
|
-
{ validationKey: UIKeys.MAX, validator: MaxValidator },
|
|
49
|
-
{ validationKey: UIKeys.STEP, validator: StepValidator },
|
|
50
|
-
{ validationKey: UIKeys.MIN_LENGTH, validator: MinLengthValidator },
|
|
51
|
-
{ validationKey: UIKeys.MAX_LENGTH, validator: MaxLengthValidator },
|
|
52
|
-
{ validationKey: UIKeys.PATTERN, validator: PatternValidator },
|
|
53
|
-
].reduce((accum, vd) => {
|
|
54
|
-
accum[vd.validationKey] = vd.validator;
|
|
55
|
-
return accum;
|
|
56
|
-
}, {});
|
|
57
|
-
export const HTML5DateFormat = "yyyy-MM-dd";
|
|
58
|
-
export const HTML5InputTypes = {
|
|
59
|
-
BUTTON: "button",
|
|
60
|
-
CHECKBOX: "checkbox",
|
|
61
|
-
COLOR: "color",
|
|
62
|
-
DATE: UIKeys.DATE,
|
|
63
|
-
DATETIME_LOCAL: "datetime-local",
|
|
64
|
-
EMAIL: UIKeys.EMAIL,
|
|
65
|
-
FILE: "file",
|
|
66
|
-
HIDDEN: "hidden",
|
|
67
|
-
IMAGE: "image",
|
|
68
|
-
MONTH: "month",
|
|
69
|
-
NUMBER: "number",
|
|
70
|
-
PASSWORD: UIKeys.PASSWORD,
|
|
71
|
-
RADIO: "radio",
|
|
72
|
-
RANGE: "range",
|
|
73
|
-
RESET: "reset",
|
|
74
|
-
SEARCH: "search",
|
|
75
|
-
SUBMIT: "submit",
|
|
76
|
-
TEL: "tel",
|
|
77
|
-
TEXT: "text",
|
|
78
|
-
TIME: "time",
|
|
79
|
-
URL: UIKeys.URL,
|
|
80
|
-
WEEK: "week",
|
|
81
|
-
};
|
|
82
|
-
export const HTML5CheckTypes = [
|
|
83
|
-
HTML5InputTypes.CHECKBOX,
|
|
84
|
-
HTML5InputTypes.RADIO,
|
|
85
|
-
];
|
|
86
|
-
|
|
87
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGFBQWEsRUFDYixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsWUFBWSxFQUNaLGNBQWMsR0FFZixNQUFNLGdDQUFnQyxDQUFDO0FBRXhDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRztJQUNwQixPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxNQUFNO0lBQ25DLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE1BQU07SUFDWixXQUFXLEVBQUUsUUFBUTtJQUNyQixZQUFZLEVBQUUsdUJBQXVCO0lBRXJDLElBQUksRUFBRSxNQUFNO0lBQ1osUUFBUSxFQUFFLFNBQVM7SUFFbkIsTUFBTSxFQUFFLFFBQVE7SUFFaEIsU0FBUyxFQUFFLFVBQVU7SUFDckIsUUFBUSxFQUFFLGNBQWMsQ0FBQyxRQUFRO0lBQ2pDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRztJQUN2QixVQUFVLEVBQUUsY0FBYyxDQUFDLFVBQVU7SUFDckMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHO0lBQ3ZCLFVBQVUsRUFBRSxjQUFjLENBQUMsVUFBVTtJQUNyQyxPQUFPLEVBQUUsY0FBYyxDQUFDLE9BQU87SUFDL0IsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHO0lBQ3ZCLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSTtJQUN6QixJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUk7SUFDekIsS0FBSyxFQUFFLGNBQWMsQ0FBQyxLQUFLO0lBQzNCLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFB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OlsiaW1wb3J0IHtcbiAgQ29uc3RydWN0b3IsXG4gIERhdGVWYWxpZGF0b3IsXG4gIEVtYWlsVmFsaWRhdG9yLFxuICBNYXhMZW5ndGhWYWxpZGF0b3IsXG4gIE1heFZhbGlkYXRvcixcbiAgTWluTGVuZ3RoVmFsaWRhdG9yLFxuICBNaW5WYWxpZGF0b3IsXG4gIE1vZGVsS2V5cyxcbiAgUGFzc3dvcmRWYWxpZGF0b3IsXG4gIFBhdHRlcm5WYWxpZGF0b3IsXG4gIFJlcXVpcmVkVmFsaWRhdG9yLFxuICBTdGVwVmFsaWRhdG9yLFxuICBVUkxWYWxpZGF0b3IsXG4gIFZhbGlkYXRpb25LZXlzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuLyoqXG4gKiBAZW51bSBVSUtleXNcbiAqIEBjYXRlZ29yeSBDb25zdGFudHNcbiAqL1xuZXhwb3J0IGNvbnN0IFVJS2V5cyA9IHtcbiAgUkVGTEVDVDogYCR7TW9kZWxLZXlzLlJFRkxFQ1R9LnVpLmAsXG4gIFVJTU9ERUw6IFwidWltb2RlbFwiLFxuICBSRU5ERVJFRF9CWTogXCJyZW5kZXJlZC1ieVwiLFxuICBFTEVNRU5UOiBcImVsZW1lbnRcIixcbiAgUFJPUDogXCJwcm9wXCIsXG4gIE5BTUU6IFwibmFtZVwiLFxuICBOQU1FX1BSRUZJWDogXCJpbnB1dC1cIixcbiAgQ1VTVE9NX1BST1BTOiBcImN1c3RvbVZhbGlkYXRpb25Qcm9wc1wiLFxuXG4gIFRZUEU6IFwidHlwZVwiLFxuICBTVUJfVFlQRTogXCJzdWJ0eXBlXCIsXG5cbiAgSElEREVOOiBcImhpZGRlblwiLFxuXG4gIFJFQURfT05MWTogXCJyZWFkb25seVwiLFxuICBSRVFVSVJFRDogVmFsaWRhdGlvbktleXMuUkVRVUlSRUQsXG4gIE1JTjogVmFsaWRhdGlvbktleXMuTUlOLFxuICBNSU5fTEVOR1RIOiBWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RILFxuICBNQVg6IFZhbGlkYXRpb25LZXlzLk1BWCxcbiAgTUFYX0xFTkdUSDogVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSCxcbiAgUEFUVEVSTjogVmFsaWRhdGlvbktleXMuUEFUVEVSTixcbiAgVVJMOiBWYWxpZGF0aW9uS2V5cy5VUkwsXG4gIFNURVA6IFZhbGlkYXRpb25LZXlzLlNURVAsXG4gIERBVEU6IFZhbGlkYXRpb25LZXlzLkRBVEUsXG4gIEVNQUlMOiBWYWxpZGF0aW9uS2V5cy5FTUFJTCxcbiAgUEFTU1dPUkQ6IFZhbGlkYXRpb25LZXlzLlBBU1NXT1JELFxufTtcblxuZXhwb3J0IGNvbnN0IFZhbGlkYXRhYmxlQnlUeXBlOiBSZWNvcmQ8c3RyaW5nLCBDb25zdHJ1Y3RvcjxWYWxpZGF0b3I+PiA9IFtcbiAgeyB2YWxpZGF0aW9uS2V5OiBVSUtleXMuRU1BSUwsIHZhbGlkYXRvcjogRW1haWxWYWxpZGF0b3IgfSxcbiAgeyB2YWxpZGF0aW9uS2V5OiBVSUtleXMuVVJMLCB2YWxpZGF0b3I6IFVSTFZhbGlkYXRvciB9LFxuICB7IHZhbGlkYXRpb25LZXk6IFVJS2V5cy5EQVRFLCB2YWxpZGF0b3I6IERhdGVWYWxpZGF0b3IgfSxcbiAgeyB2YWxpZGF0aW9uS2V5OiBVSUtleXMuUEFTU1dPUkQsIHZhbGlkYXRvcjogUGFzc3dvcmRWYWxpZGF0b3IgfSxcbl0ucmVkdWNlKChhY2N1bTogUmVjb3JkPHN0cmluZywgQ29uc3RydWN0b3I8VmFsaWRhdG9yPj4sIHZkKSA9PiB7XG4gIGFjY3VtW3ZkLnZhbGlkYXRpb25LZXldID0gdmQudmFsaWRhdG9yO1xuICByZXR1cm4gYWNjdW07XG59LCB7fSk7XG5cbi8qKlxuICogQGNvbnN0YW50IFZhbGlkYXRhYmxlQnlBdHRyaWJ1dGVcbiAqXG4gKiBAbWVtYmVyT2YgdWktZGVjb3JhdG9ycy13ZWIudWlcbiAqL1xuZXhwb3J0IGNvbnN0IFZhbGlkYXRhYmxlQnlBdHRyaWJ1dGU6IFJlY29yZDxzdHJpbmcsIENvbnN0cnVjdG9yPFZhbGlkYXRvcj4+ID0gW1xuICB7IHZhbGlkYXRpb25LZXk6IFVJS2V5cy5SRVFVSVJFRCwgdmFsaWRhdG9yOiBSZXF1aXJlZFZhbGlkYXRvciB9LFxuICB7IHZhbGlkYXRpb25LZXk6IFVJS2V5cy5NSU4sIHZhbGlkYXRvcjogTWluVmFsaWRhdG9yIH0sXG4gIHsgdmFsaWRhdGlvbktleTogVUlLZXlzLk1BWCwgdmFsaWRhdG9yOiBNYXhWYWxpZGF0b3IgfSxcbiAgeyB2YWxpZGF0aW9uS2V5OiBVSUtleXMuU1RFUCwgdmFsaWRhdG9yOiBTdGVwVmFsaWRhdG9yIH0sXG4gIHsgdmFsaWRhdGlvbktleTogVUlLZXlzLk1JTl9MRU5HVEgsIHZhbGlkYXRvcjogTWluTGVuZ3RoVmFsaWRhdG9yIH0sXG4gIHsgdmFsaWRhdGlvbktleTogVUlLZXlzLk1BWF9MRU5HVEgsIHZhbGlkYXRvcjogTWF4TGVuZ3RoVmFsaWRhdG9yIH0sXG4gIHsgdmFsaWRhdGlvbktleTogVUlLZXlzLlBBVFRFUk4sIHZhbGlkYXRvcjogUGF0dGVyblZhbGlkYXRvciB9LFxuXS5yZWR1Y2UoKGFjY3VtOiBSZWNvcmQ8c3RyaW5nLCBDb25zdHJ1Y3RvcjxWYWxpZGF0b3I+PiwgdmQpID0+IHtcbiAgYWNjdW1bdmQudmFsaWRhdGlvbktleV0gPSB2ZC52YWxpZGF0b3I7XG4gIHJldHVybiBhY2N1bTtcbn0sIHt9KTtcblxuZXhwb3J0IGNvbnN0IEhUTUw1RGF0ZUZvcm1hdCA9IFwieXl5eS1NTS1kZFwiO1xuXG5leHBvcnQgY29uc3QgSFRNTDVJbnB1dFR5cGVzID0ge1xuICBCVVRUT046IFwiYnV0dG9uXCIsXG4gIENIRUNLQk9YOiBcImNoZWNrYm94XCIsXG4gIENPTE9SOiBcImNvbG9yXCIsXG4gIERBVEU6IFVJS2V5cy5EQVRFLFxuICBEQVRFVElNRV9MT0NBTDogXCJkYXRldGltZS1sb2NhbFwiLFxuICBFTUFJTDogVUlLZXlzLkVNQUlMLFxuICBGSUxFOiBcImZpbGVcIixcbiAgSElEREVOOiBcImhpZGRlblwiLFxuICBJTUFHRTogXCJpbWFnZVwiLFxuICBNT05USDogXCJtb250aFwiLFxuICBOVU1CRVI6IFwibnVtYmVyXCIsXG4gIFBBU1NXT1JEOiBVSUtleXMuUEFTU1dPUkQsXG4gIFJBRElPOiBcInJhZGlvXCIsXG4gIFJBTkdFOiBcInJhbmdlXCIsXG4gIFJFU0VUOiBcInJlc2V0XCIsXG4gIFNFQVJDSDogXCJzZWFyY2hcIixcbiAgU1VCTUlUOiBcInN1Ym1pdFwiLFxuICBURUw6IFwidGVsXCIsXG4gIFRFWFQ6IFwidGV4dFwiLFxuICBUSU1FOiBcInRpbWVcIixcbiAgVVJMOiBVSUtleXMuVVJMLFxuICBXRUVLOiBcIndlZWtcIixcbn07XG5cbmV4cG9ydCBjb25zdCBIVE1MNUNoZWNrVHlwZXMgPSBbXG4gIEhUTUw1SW5wdXRUeXBlcy5DSEVDS0JPWCxcbiAgSFRNTDVJbnB1dFR5cGVzLlJBRElPLFxuXTtcbiJdfQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import "reflect-metadata";
|
|
2
|
-
import { CrudOperationKeys } from "./types";
|
|
3
|
-
/**
|
|
4
|
-
* @namespace ui-decorators.ui.decorators
|
|
5
|
-
* @memberOf ui-decorators.ui
|
|
6
|
-
*/
|
|
7
|
-
export declare function hideOn(...operations: CrudOperationKeys[]): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
8
|
-
export declare function hidden(): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
9
|
-
/**
|
|
10
|
-
* Adds the UIElement definition as metadata to the property, allowing it to be read by any {@link RenderStrategy}
|
|
11
|
-
*
|
|
12
|
-
* @param {string} tag The component/HTML element tag name
|
|
13
|
-
* @param {{}} [props] The properties to pass to that component/HTML Element
|
|
14
|
-
* @param serialize
|
|
15
|
-
*
|
|
16
|
-
* @decorator uielement
|
|
17
|
-
*
|
|
18
|
-
* @category Decorators
|
|
19
|
-
* @subcategory ui-decorators
|
|
20
|
-
*/
|
|
21
|
-
export declare function uielement(tag: string, props?: Record<string, any>, serialize?: boolean): (original: any, propertyKey?: any) => void;
|
|
22
|
-
/**
|
|
23
|
-
* Adds the UIProp definition as metadata to the property, allowing it to be read by any {@link RenderStrategy}
|
|
24
|
-
*
|
|
25
|
-
* this requires a '@uimodel' with a defined tag
|
|
26
|
-
*
|
|
27
|
-
* @param {string} [propName] the property name that will be passed to the component. defaults to the PropertyKey
|
|
28
|
-
*
|
|
29
|
-
* @decorator uiprop
|
|
30
|
-
*
|
|
31
|
-
* @category Decorators
|
|
32
|
-
* @subcategory ui-decorators
|
|
33
|
-
*/
|
|
34
|
-
export declare function uiprop(propName?: string | undefined, stringify?: boolean): (target: any, propertyKey: string) => void;
|
package/lib/esm/ui/decorators.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import "reflect-metadata";
|
|
2
|
-
import { UIKeys } from "./constants";
|
|
3
|
-
import { propMetadata } from "@decaf-ts/decorator-validation";
|
|
4
|
-
import { RenderingEngine } from "./Rendering";
|
|
5
|
-
import { OperationKeys } from "@decaf-ts/db-decorators";
|
|
6
|
-
/**
|
|
7
|
-
* @namespace ui-decorators.ui.decorators
|
|
8
|
-
* @memberOf ui-decorators.ui
|
|
9
|
-
*/
|
|
10
|
-
export function hideOn(...operations) {
|
|
11
|
-
return propMetadata(RenderingEngine.key(UIKeys.HIDDEN), operations);
|
|
12
|
-
}
|
|
13
|
-
export function hidden() {
|
|
14
|
-
return hideOn(OperationKeys.CREATE, OperationKeys.READ, OperationKeys.UPDATE, OperationKeys.DELETE);
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Adds the UIElement definition as metadata to the property, allowing it to be read by any {@link RenderStrategy}
|
|
18
|
-
*
|
|
19
|
-
* @param {string} tag The component/HTML element tag name
|
|
20
|
-
* @param {{}} [props] The properties to pass to that component/HTML Element
|
|
21
|
-
* @param serialize
|
|
22
|
-
*
|
|
23
|
-
* @decorator uielement
|
|
24
|
-
*
|
|
25
|
-
* @category Decorators
|
|
26
|
-
* @subcategory ui-decorators
|
|
27
|
-
*/
|
|
28
|
-
export function uielement(tag, props, serialize = false) {
|
|
29
|
-
return (original, propertyKey) => {
|
|
30
|
-
const metadata = {
|
|
31
|
-
tag: tag,
|
|
32
|
-
serialize: serialize,
|
|
33
|
-
props: Object.assign({
|
|
34
|
-
name: propertyKey,
|
|
35
|
-
}, props || {}),
|
|
36
|
-
};
|
|
37
|
-
return propMetadata(RenderingEngine.key(UIKeys.ELEMENT), metadata)(original, propertyKey);
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Adds the UIProp definition as metadata to the property, allowing it to be read by any {@link RenderStrategy}
|
|
42
|
-
*
|
|
43
|
-
* this requires a '@uimodel' with a defined tag
|
|
44
|
-
*
|
|
45
|
-
* @param {string} [propName] the property name that will be passed to the component. defaults to the PropertyKey
|
|
46
|
-
*
|
|
47
|
-
* @decorator uiprop
|
|
48
|
-
*
|
|
49
|
-
* @category Decorators
|
|
50
|
-
* @subcategory ui-decorators
|
|
51
|
-
*/
|
|
52
|
-
export function uiprop(propName = undefined, stringify = false) {
|
|
53
|
-
return (target, propertyKey) => {
|
|
54
|
-
const metadata = {
|
|
55
|
-
name: propName || propertyKey,
|
|
56
|
-
stringify: stringify,
|
|
57
|
-
};
|
|
58
|
-
propMetadata(RenderingEngine.key(UIKeys.PROP), metadata)(target, propertyKey);
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQ7OztHQUdHO0FBRUgsTUFBTSxVQUFVLE1BQU0sQ0FBQyxHQUFHLFVBQStCO0lBQ3ZELE9BQU8sWUFBWSxDQUNqQixlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFDbEMsVUFBVSxDQUNYLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU07SUFDcEIsT0FBTyxNQUFNLENBQ1gsYUFBYSxDQUFDLE1BQU0sRUFDcEIsYUFBYSxDQUFDLElBQUksRUFDbEIsYUFBYSxDQUFDLE1BQU0sRUFDcEIsYUFBYSxDQUFDLE1BQU0sQ0FDckIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQ3ZCLEdBQVcsRUFDWCxLQUEyQixFQUMzQixZQUFxQixLQUFLO0lBRTFCLE9BQU8sQ0FBQyxRQUFhLEVBQUUsV0FBaUIsRUFBRSxFQUFFO1FBQzFDLE1BQU0sUUFBUSxHQUFzQjtZQUNsQyxHQUFHLEVBQUUsR0FBRztZQUNSLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUNsQjtnQkFDRSxJQUFJLEVBQUUsV0FBVzthQUNsQixFQUNELEtBQUssSUFBSSxFQUFFLENBQ1o7U0FDRixDQUFDO1FBRUYsT0FBTyxZQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQ2hFLFFBQVEsRUFDUixXQUFXLENBQ1osQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQ3BCLFdBQStCLFNBQVMsRUFDeEMsWUFBcUIsS0FBSztJQUUxQixPQUFPLENBQUMsTUFBVyxFQUFFLFdBQW1CLEVBQUUsRUFBRTtRQUMxQyxNQUFNLFFBQVEsR0FBbUI7WUFDL0IsSUFBSSxFQUFFLFFBQVEsSUFBSSxXQUFXO1lBQzdCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7UUFDRixZQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQ3RELE1BQU0sRUFDTixXQUFXLENBQ1osQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJmaWxlIjoidWkvZGVjb3JhdG9ycy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInJlZmxlY3QtbWV0YWRhdGFcIjtcbmltcG9ydCB7IFVJS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgcHJvcE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQ3J1ZE9wZXJhdGlvbktleXMsIFVJRWxlbWVudE1ldGFkYXRhLCBVSVByb3BNZXRhZGF0YSB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBSZW5kZXJpbmdFbmdpbmUgfSBmcm9tIFwiLi9SZW5kZXJpbmdcIjtcbmltcG9ydCB7IE9wZXJhdGlvbktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuLyoqXG4gKiBAbmFtZXNwYWNlIHVpLWRlY29yYXRvcnMudWkuZGVjb3JhdG9yc1xuICogQG1lbWJlck9mIHVpLWRlY29yYXRvcnMudWlcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gaGlkZU9uKC4uLm9wZXJhdGlvbnM6IENydWRPcGVyYXRpb25LZXlzW10pIHtcbiAgcmV0dXJuIHByb3BNZXRhZGF0YTxDcnVkT3BlcmF0aW9uS2V5c1tdPihcbiAgICBSZW5kZXJpbmdFbmdpbmUua2V5KFVJS2V5cy5ISURERU4pLFxuICAgIG9wZXJhdGlvbnNcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhpZGRlbigpIHtcbiAgcmV0dXJuIGhpZGVPbihcbiAgICBPcGVyYXRpb25LZXlzLkNSRUFURSxcbiAgICBPcGVyYXRpb25LZXlzLlJFQUQsXG4gICAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gICAgT3BlcmF0aW9uS2V5cy5ERUxFVEVcbiAgKTtcbn1cblxuLyoqXG4gKiBBZGRzIHRoZSBVSUVsZW1lbnQgZGVmaW5pdGlvbiBhcyBtZXRhZGF0YSB0byB0aGUgcHJvcGVydHksIGFsbG93aW5nIGl0IHRvIGJlIHJlYWQgYnkgYW55IHtAbGluayBSZW5kZXJTdHJhdGVneX1cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdGFnIFRoZSBjb21wb25lbnQvSFRNTCBlbGVtZW50IHRhZyBuYW1lXG4gKiBAcGFyYW0ge3t9fSBbcHJvcHNdIFRoZSBwcm9wZXJ0aWVzIHRvIHBhc3MgdG8gdGhhdCBjb21wb25lbnQvSFRNTCBFbGVtZW50XG4gKiBAcGFyYW0gc2VyaWFsaXplXG4gKlxuICogQGRlY29yYXRvciB1aWVsZW1lbnRcbiAqXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yc1xuICogQHN1YmNhdGVnb3J5IHVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVpZWxlbWVudChcbiAgdGFnOiBzdHJpbmcsXG4gIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgc2VyaWFsaXplOiBib29sZWFuID0gZmFsc2Vcbikge1xuICByZXR1cm4gKG9yaWdpbmFsOiBhbnksIHByb3BlcnR5S2V5PzogYW55KSA9PiB7XG4gICAgY29uc3QgbWV0YWRhdGE6IFVJRWxlbWVudE1ldGFkYXRhID0ge1xuICAgICAgdGFnOiB0YWcsXG4gICAgICBzZXJpYWxpemU6IHNlcmlhbGl6ZSxcbiAgICAgIHByb3BzOiBPYmplY3QuYXNzaWduKFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogcHJvcGVydHlLZXksXG4gICAgICAgIH0sXG4gICAgICAgIHByb3BzIHx8IHt9XG4gICAgICApLFxuICAgIH07XG5cbiAgICByZXR1cm4gcHJvcE1ldGFkYXRhKFJlbmRlcmluZ0VuZ2luZS5rZXkoVUlLZXlzLkVMRU1FTlQpLCBtZXRhZGF0YSkoXG4gICAgICBvcmlnaW5hbCxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBBZGRzIHRoZSBVSVByb3AgZGVmaW5pdGlvbiBhcyBtZXRhZGF0YSB0byB0aGUgcHJvcGVydHksIGFsbG93aW5nIGl0IHRvIGJlIHJlYWQgYnkgYW55IHtAbGluayBSZW5kZXJTdHJhdGVneX1cbiAqXG4gKiB0aGlzIHJlcXVpcmVzIGEgJ0B1aW1vZGVsJyB3aXRoIGEgZGVmaW5lZCB0YWdcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW3Byb3BOYW1lXSB0aGUgcHJvcGVydHkgbmFtZSB0aGF0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBjb21wb25lbnQuIGRlZmF1bHRzIHRvIHRoZSBQcm9wZXJ0eUtleVxuICpcbiAqIEBkZWNvcmF0b3IgdWlwcm9wXG4gKlxuICogQGNhdGVnb3J5IERlY29yYXRvcnNcbiAqIEBzdWJjYXRlZ29yeSB1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aXByb3AoXG4gIHByb3BOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gIHN0cmluZ2lmeTogYm9vbGVhbiA9IGZhbHNlXG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBVSVByb3BNZXRhZGF0YSA9IHtcbiAgICAgIG5hbWU6IHByb3BOYW1lIHx8IHByb3BlcnR5S2V5LFxuICAgICAgc3RyaW5naWZ5OiBzdHJpbmdpZnksXG4gICAgfTtcbiAgICBwcm9wTWV0YWRhdGEoUmVuZGVyaW5nRW5naW5lLmtleShVSUtleXMuUFJPUCksIG1ldGFkYXRhKShcbiAgICAgIHRhcmdldCxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfTtcbn1cbiJdfQ==
|
package/lib/esm/ui/errors.d.ts
DELETED
package/lib/esm/ui/errors.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { BaseError } from "@decaf-ts/db-decorators";
|
|
2
|
-
export class RenderingError extends BaseError {
|
|
3
|
-
constructor(msg) {
|
|
4
|
-
super(RenderingError.name, msg);
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXBELE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBUztJQUMzQyxZQUFZLEdBQW1CO1FBQzdCLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsImZpbGUiOiJ1aS9lcnJvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuZXhwb3J0IGNsYXNzIFJlbmRlcmluZ0Vycm9yIGV4dGVuZHMgQmFzZUVycm9yIHtcbiAgY29uc3RydWN0b3IobXNnOiBzdHJpbmcgfCBFcnJvcikge1xuICAgIHN1cGVyKFJlbmRlcmluZ0Vycm9yLm5hbWUsIG1zZyk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/esm/ui/index.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @namespace ui-decorators.ui
|
|
3
|
-
* @memberOf ui-decorators
|
|
4
|
-
*/
|
|
5
|
-
export * from "./constants";
|
|
6
|
-
export * from "./decorators";
|
|
7
|
-
export * from "./errors";
|
|
8
|
-
export * from "./interfaces";
|
|
9
|
-
export * from "./Rendering";
|
|
10
|
-
export * from "./types";
|
|
11
|
-
export * from "./utils";
|
package/lib/esm/ui/index.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @namespace ui-decorators.ui
|
|
3
|
-
* @memberOf ui-decorators
|
|
4
|
-
*/
|
|
5
|
-
export * from "./constants";
|
|
6
|
-
export * from "./decorators";
|
|
7
|
-
export * from "./errors";
|
|
8
|
-
export * from "./interfaces";
|
|
9
|
-
export * from "./Rendering";
|
|
10
|
-
export * from "./types";
|
|
11
|
-
export * from "./utils";
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQyIsImZpbGUiOiJ1aS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG5hbWVzcGFjZSB1aS1kZWNvcmF0b3JzLnVpXG4gKiBAbWVtYmVyT2YgdWktZGVjb3JhdG9yc1xuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbnRlcmZhY2VzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SZW5kZXJpbmdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsc1wiO1xuIl19
|
package/lib/esm/ui/interfaces.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJmaWxlIjoidWkvaW50ZXJmYWNlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkUHJvcGVydGllcyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBDcnVkT3BlcmF0aW9ucyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENydWRGb3JtRmllbGQ8VCA9IHZvaWQ+IHtcbiAgb3BlcmF0aW9uOiBDcnVkT3BlcmF0aW9ucztcbiAgcHJvcHM6IEZpZWxkUHJvcGVydGllcyAmIFQ7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG4iXX0=
|
package/lib/esm/ui/types.d.ts
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { OperationKeys } from "@decaf-ts/db-decorators";
|
|
2
|
-
export interface FieldDefinition<T = void> {
|
|
3
|
-
tag: string;
|
|
4
|
-
props: T & FieldProperties;
|
|
5
|
-
children?: FieldDefinition<T>[];
|
|
6
|
-
}
|
|
7
|
-
export interface FieldProperties extends Record<string, any> {
|
|
8
|
-
name: string;
|
|
9
|
-
label: string;
|
|
10
|
-
placeholder?: string;
|
|
11
|
-
type: string;
|
|
12
|
-
hidden?: boolean;
|
|
13
|
-
required?: boolean;
|
|
14
|
-
readonly?: boolean;
|
|
15
|
-
maxLength?: number;
|
|
16
|
-
minLength?: number;
|
|
17
|
-
max?: number | Date;
|
|
18
|
-
min?: number | Date;
|
|
19
|
-
pattern?: string;
|
|
20
|
-
step?: number;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* @typedef UIElementMetadata
|
|
24
|
-
* @memberOf ui-decorators.ui.decorators
|
|
25
|
-
*/
|
|
26
|
-
export type UIElementMetadata = {
|
|
27
|
-
tag: string;
|
|
28
|
-
props?: Record<string, any>;
|
|
29
|
-
serialize?: boolean;
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* @typedef UIElementMetadata
|
|
33
|
-
* @memberOf ui-decorators.ui.decorators
|
|
34
|
-
*/
|
|
35
|
-
export type UIModelMetadata = Omit<UIElementMetadata, "serialize">;
|
|
36
|
-
/**
|
|
37
|
-
* @typedef UIPropMetadata
|
|
38
|
-
* @memberOf ui-decorators.ui.decorators
|
|
39
|
-
*/
|
|
40
|
-
export type UIPropMetadata = {
|
|
41
|
-
name: string;
|
|
42
|
-
stringify: boolean;
|
|
43
|
-
};
|
|
44
|
-
export type CrudOperationKeys = OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE;
|
package/lib/esm/ui/types.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwiZmlsZSI6InVpL3R5cGVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BlcmF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkRGVmaW5pdGlvbjxUID0gdm9pZD4ge1xuICB0YWc6IHN0cmluZztcbiAgcHJvcHM6IFQgJiBGaWVsZFByb3BlcnRpZXM7XG4gIGNoaWxkcmVuPzogRmllbGREZWZpbml0aW9uPFQ+W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRQcm9wZXJ0aWVzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgLy8gVmFsaWRhdGlvblxuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIG1heD86IG51bWJlciB8IERhdGU7XG4gIG1pbj86IG51bWJlciB8IERhdGU7XG4gIHBhdHRlcm4/OiBzdHJpbmc7XG4gIHN0ZXA/OiBudW1iZXI7XG59XG5cbi8qKlxuICogQHR5cGVkZWYgVUlFbGVtZW50TWV0YWRhdGFcbiAqIEBtZW1iZXJPZiB1aS1kZWNvcmF0b3JzLnVpLmRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlFbGVtZW50TWV0YWRhdGEgPSB7XG4gIHRhZzogc3RyaW5nO1xuICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHNlcmlhbGl6ZT86IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJRWxlbWVudE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgdWktZGVjb3JhdG9ycy51aS5kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJTW9kZWxNZXRhZGF0YSA9IE9taXQ8VUlFbGVtZW50TWV0YWRhdGEsIFwic2VyaWFsaXplXCI+O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJUHJvcE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgdWktZGVjb3JhdG9ycy51aS5kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJUHJvcE1ldGFkYXRhID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHN0cmluZ2lmeTogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIENydWRPcGVyYXRpb25LZXlzID1cbiAgfCBPcGVyYXRpb25LZXlzLkNSRUFURVxuICB8IE9wZXJhdGlvbktleXMuUkVBRFxuICB8IE9wZXJhdGlvbktleXMuVVBEQVRFXG4gIHwgT3BlcmF0aW9uS2V5cy5ERUxFVEU7XG4iXX0=
|
package/lib/esm/ui/utils.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @function formatByType
|
|
3
|
-
*
|
|
4
|
-
* @memberOf ui-decorators-web.ui
|
|
5
|
-
*/
|
|
6
|
-
export declare function formatByType(type: any, value: any): any;
|
|
7
|
-
export declare function parseToNumber(value: string | number): number | undefined;
|
|
8
|
-
export declare function escapeHtml(value: string): string | undefined;
|
|
9
|
-
export declare function revertHtml(value: string): string;
|