aril 1.1.67 → 1.1.69
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/esm2022/util/directives/src/dialog-component/plugin-dialog.component.mjs +5 -4
- package/esm2022/util/pipes/src/round-number.pipe.mjs +17 -7
- package/fesm2022/aril-util-directives.mjs +4 -3
- package/fesm2022/aril-util-directives.mjs.map +1 -1
- package/fesm2022/aril-util-pipes.mjs +16 -6
- package/fesm2022/aril-util-pipes.mjs.map +1 -1
- package/package.json +58 -58
- package/util/directives/src/dialog-component/plugin-dialog.component.d.ts +2 -1
|
@@ -7,19 +7,20 @@ import * as i2 from "@angular-architects/module-federation-tools";
|
|
|
7
7
|
export class CustomizedPluginDialogComponent {
|
|
8
8
|
constructor(dialogConfig) {
|
|
9
9
|
this.dialogConfig = dialogConfig;
|
|
10
|
+
this.name = this.dialogConfig.data.name;
|
|
11
|
+
this.props = this.dialogConfig.data.props || {};
|
|
10
12
|
this.PLUGINS = PLUGINS;
|
|
11
13
|
this.dialogConfig.draggable = true;
|
|
12
|
-
this.name = this.dialogConfig.data;
|
|
13
14
|
}
|
|
14
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CustomizedPluginDialogComponent, deps: [{ token: i1.DynamicDialogConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: CustomizedPluginDialogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `<mft-wc-wrapper [options]="PLUGINS[name].options" />`, isInline: true, dependencies: [{ kind: "ngmodule", type: ModuleFederationToolsModule }, { kind: "component", type: i2.WebComponentWrapper, selector: "mft-wc-wrapper", inputs: ["options", "props", "events"] }] }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: CustomizedPluginDialogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `<mft-wc-wrapper [options]="PLUGINS[name].options" [props]="props" />`, isInline: true, dependencies: [{ kind: "ngmodule", type: ModuleFederationToolsModule }, { kind: "component", type: i2.WebComponentWrapper, selector: "mft-wc-wrapper", inputs: ["options", "props", "events"] }] }); }
|
|
16
17
|
}
|
|
17
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CustomizedPluginDialogComponent, decorators: [{
|
|
18
19
|
type: Component,
|
|
19
20
|
args: [{
|
|
20
21
|
standalone: true,
|
|
21
22
|
imports: [ModuleFederationToolsModule],
|
|
22
|
-
template: `<mft-wc-wrapper [options]="PLUGINS[name].options" />`
|
|
23
|
+
template: `<mft-wc-wrapper [options]="PLUGINS[name].options" [props]="props" />`
|
|
23
24
|
}]
|
|
24
25
|
}], ctorParameters: () => [{ type: i1.DynamicDialogConfig }] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3V0aWwvZGlyZWN0aXZlcy9zcmMvZGlhbG9nLWNvbXBvbmVudC9wbHVnaW4tZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTFDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTFGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQU9uRCxNQUFNLE9BQU8sK0JBQStCO0lBSzNDLFlBQTZCLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUo5RCxTQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ25DLFVBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzNDLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFHakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7OEdBUFcsK0JBQStCO2tHQUEvQiwrQkFBK0Isd0VBRmpDLHNFQUFzRSwyREFEdEUsMkJBQTJCOzsyRkFHekIsK0JBQStCO2tCQUwzQyxTQUFTO21CQUFDO29CQUNWLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDdEMsUUFBUSxFQUFFLHNFQUFzRTtpQkFDaEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dDb25maWcgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgTW9kdWxlRmVkZXJhdGlvblRvb2xzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItYXJjaGl0ZWN0cy9tb2R1bGUtZmVkZXJhdGlvbi10b29scyc7XHJcblxyXG5pbXBvcnQgeyBQTFVHSU5TIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9wbHVnaW5zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW01vZHVsZUZlZGVyYXRpb25Ub29sc01vZHVsZV0sXHJcblx0dGVtcGxhdGU6IGA8bWZ0LXdjLXdyYXBwZXIgW29wdGlvbnNdPVwiUExVR0lOU1tuYW1lXS5vcHRpb25zXCIgW3Byb3BzXT1cInByb3BzXCIgLz5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21pemVkUGx1Z2luRGlhbG9nQ29tcG9uZW50IHtcclxuXHRuYW1lID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5uYW1lO1xyXG5cdHByb3BzID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5wcm9wcyB8fCB7fTtcclxuXHRQTFVHSU5TID0gUExVR0lOUztcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2dDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcpIHtcclxuXHRcdHRoaXMuZGlhbG9nQ29uZmlnLmRyYWdnYWJsZSA9IHRydWU7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -16,6 +16,11 @@ export class RoundNumberPipe {
|
|
|
16
16
|
round(value, decimals, mode) {
|
|
17
17
|
const multiplier = Math.pow(10, decimals);
|
|
18
18
|
const scaledValue = value * multiplier;
|
|
19
|
+
const truncated = Math.trunc(scaledValue);
|
|
20
|
+
const fractionalAbs = Math.abs(scaledValue - truncated);
|
|
21
|
+
// Floating point safety: scaledValue can be something like 4764.999999999 due to binary floats.
|
|
22
|
+
// We treat values very close to .5 as a tie.
|
|
23
|
+
const isHalfTie = Math.abs(fractionalAbs - 0.5) <= Math.max(Number.EPSILON * Math.abs(scaledValue) * 2, 1e-12);
|
|
19
24
|
switch (mode) {
|
|
20
25
|
case 'UP':
|
|
21
26
|
return (Math.ceil(Math.abs(scaledValue)) * Math.sign(value)) / multiplier;
|
|
@@ -26,16 +31,21 @@ export class RoundNumberPipe {
|
|
|
26
31
|
case 'FLOOR':
|
|
27
32
|
return Math.floor(scaledValue) / multiplier;
|
|
28
33
|
case 'HALF_UP':
|
|
34
|
+
if (isHalfTie) {
|
|
35
|
+
return (truncated + Math.sign(scaledValue)) / multiplier;
|
|
36
|
+
}
|
|
29
37
|
return Math.round(scaledValue) / multiplier;
|
|
30
38
|
case 'HALF_DOWN':
|
|
31
|
-
|
|
39
|
+
if (isHalfTie) {
|
|
40
|
+
return truncated / multiplier;
|
|
41
|
+
}
|
|
42
|
+
return Math.round(scaledValue) / multiplier;
|
|
32
43
|
case 'HALF_EVEN':
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return (Math.floor(scaledValue) % 2 === 0 ? Math.floor(scaledValue) : Math.ceil(scaledValue)) / multiplier;
|
|
44
|
+
if (isHalfTie) {
|
|
45
|
+
const awayFromZero = truncated + Math.sign(scaledValue);
|
|
46
|
+
return (Math.abs(truncated) % 2 === 0 ? truncated : awayFromZero) / multiplier;
|
|
37
47
|
}
|
|
38
|
-
return
|
|
48
|
+
return Math.round(scaledValue) / multiplier;
|
|
39
49
|
case 'UNNECESSARY':
|
|
40
50
|
return value;
|
|
41
51
|
default:
|
|
@@ -52,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
52
62
|
standalone: true
|
|
53
63
|
}]
|
|
54
64
|
}] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQtbnVtYmVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3V0aWwvcGlwZXMvc3JjL3JvdW5kLW51bWJlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTVELE1BQU0sT0FBTyxlQUFlO0lBSjVCO1FBS1MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FpRTFDO0lBL0RBLFNBQVMsQ0FDUixLQUFnQyxFQUNoQyxXQUFtQixDQUFDLEVBQ3BCLGVBQW9DLGFBQWEsRUFDakQsU0FBaUIsT0FBTztRQUV4QixJQUFJLEtBQUssSUFBSSxJQUFJO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFN0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzFELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztRQUM3QixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUM7UUFFN0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxXQUFXLElBQUksV0FBVyxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdGLENBQUM7SUFFTyxLQUFLLENBQUMsS0FBYSxFQUFFLFFBQWdCLEVBQUUsSUFBeUI7UUFDdkUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUMsTUFBTSxXQUFXLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELGdHQUFnRztRQUNoRyw2Q0FBNkM7UUFDN0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRS9HLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDZCxLQUFLLElBQUk7Z0JBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7WUFFM0UsS0FBSyxNQUFNO2dCQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBRTVFLEtBQUssU0FBUztnQkFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBRTVDLEtBQUssT0FBTztnQkFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBRTdDLEtBQUssU0FBUztnQkFDYixJQUFJLFNBQVMsRUFBRSxDQUFDO29CQUNmLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQztnQkFDMUQsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBRTdDLEtBQUssV0FBVztnQkFDZixJQUFJLFNBQVMsRUFBRSxDQUFDO29CQUNmLE9BQU8sU0FBUyxHQUFHLFVBQVUsQ0FBQztnQkFDL0IsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBRTdDLEtBQUssV0FBVztnQkFDZixJQUFJLFNBQVMsRUFBRSxDQUFDO29CQUNmLE1BQU0sWUFBWSxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN4RCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLFVBQVUsQ0FBQztnQkFDaEYsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBRTdDLEtBQUssYUFBYTtnQkFDakIsT0FBTyxLQUFLLENBQUM7WUFFZDtnQkFDQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsVUFBVSxDQUFDO1FBQzlDLENBQUM7SUFDRixDQUFDOzhHQWpFVyxlQUFlOzRHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBSjNCLElBQUk7bUJBQUM7b0JBQ0wsSUFBSSxFQUFFLGFBQWE7b0JBQ25CLFVBQVUsRUFBRSxJQUFJO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG50eXBlIERlY2ltYWxSb3VuZGluZ1R5cGUgPSAnVU5ORUNFU1NBUlknIHwgJ1VQJyB8ICdET1dOJyB8ICdDRUlMSU5HJyB8ICdGTE9PUicgfCAnSEFMRl9VUCcgfCAnSEFMRl9ET1dOJyB8ICdIQUxGX0VWRU4nO1xyXG5cclxuQFBpcGUoe1xyXG5cdG5hbWU6ICdyb3VuZE51bWJlcicsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm91bmROdW1iZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblx0cHJpdmF0ZSBkZWNpbWFsUGlwZSA9IGluamVjdChEZWNpbWFsUGlwZSk7XHJcblxyXG5cdHRyYW5zZm9ybShcclxuXHRcdHZhbHVlOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkLFxyXG5cdFx0ZGVjaW1hbHM6IG51bWJlciA9IDIsXHJcblx0XHRyb3VuZGluZ01vZGU6IERlY2ltYWxSb3VuZGluZ1R5cGUgPSAnVU5ORUNFU1NBUlknLFxyXG5cdFx0bG9jYWxlOiBzdHJpbmcgPSAndHItVFInXHJcblx0KTogc3RyaW5nIHtcclxuXHRcdGlmICh2YWx1ZSA9PSBudWxsKSByZXR1cm4gJyc7XHJcblxyXG5cdFx0Y29uc3Qgcm91bmRlZCA9IHRoaXMucm91bmQodmFsdWUsIGRlY2ltYWxzLCByb3VuZGluZ01vZGUpO1xyXG5cdFx0Y29uc3QgbWluRGVjaW1hbHMgPSBkZWNpbWFscztcclxuXHRcdGNvbnN0IG1heERlY2ltYWxzID0gZGVjaW1hbHM7XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKHJvdW5kZWQsIGAxLiR7bWluRGVjaW1hbHN9LSR7bWF4RGVjaW1hbHN9YCwgbG9jYWxlKSB8fCAnJztcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgcm91bmQodmFsdWU6IG51bWJlciwgZGVjaW1hbHM6IG51bWJlciwgbW9kZTogRGVjaW1hbFJvdW5kaW5nVHlwZSk6IG51bWJlciB7XHJcblx0XHRjb25zdCBtdWx0aXBsaWVyID0gTWF0aC5wb3coMTAsIGRlY2ltYWxzKTtcclxuXHRcdGNvbnN0IHNjYWxlZFZhbHVlID0gdmFsdWUgKiBtdWx0aXBsaWVyO1xyXG5cdFx0Y29uc3QgdHJ1bmNhdGVkID0gTWF0aC50cnVuYyhzY2FsZWRWYWx1ZSk7XHJcblx0XHRjb25zdCBmcmFjdGlvbmFsQWJzID0gTWF0aC5hYnMoc2NhbGVkVmFsdWUgLSB0cnVuY2F0ZWQpO1xyXG5cdFx0Ly8gRmxvYXRpbmcgcG9pbnQgc2FmZXR5OiBzY2FsZWRWYWx1ZSBjYW4gYmUgc29tZXRoaW5nIGxpa2UgNDc2NC45OTk5OTk5OTkgZHVlIHRvIGJpbmFyeSBmbG9hdHMuXHJcblx0XHQvLyBXZSB0cmVhdCB2YWx1ZXMgdmVyeSBjbG9zZSB0byAuNSBhcyBhIHRpZS5cclxuXHRcdGNvbnN0IGlzSGFsZlRpZSA9IE1hdGguYWJzKGZyYWN0aW9uYWxBYnMgLSAwLjUpIDw9IE1hdGgubWF4KE51bWJlci5FUFNJTE9OICogTWF0aC5hYnMoc2NhbGVkVmFsdWUpICogMiwgMWUtMTIpO1xyXG5cdFx0XHJcblx0XHRzd2l0Y2ggKG1vZGUpIHtcclxuXHRcdFx0Y2FzZSAnVVAnOlxyXG5cdFx0XHRcdHJldHVybiAoTWF0aC5jZWlsKE1hdGguYWJzKHNjYWxlZFZhbHVlKSkgKiBNYXRoLnNpZ24odmFsdWUpKSAvIG11bHRpcGxpZXI7XHJcblxyXG5cdFx0XHRjYXNlICdET1dOJzpcclxuXHRcdFx0XHRyZXR1cm4gKE1hdGguZmxvb3IoTWF0aC5hYnMoc2NhbGVkVmFsdWUpKSAqIE1hdGguc2lnbih2YWx1ZSkpIC8gbXVsdGlwbGllcjtcclxuXHJcblx0XHRcdGNhc2UgJ0NFSUxJTkcnOlxyXG5cdFx0XHRcdHJldHVybiBNYXRoLmNlaWwoc2NhbGVkVmFsdWUpIC8gbXVsdGlwbGllcjtcclxuXHJcblx0XHRcdGNhc2UgJ0ZMT09SJzpcclxuXHRcdFx0XHRyZXR1cm4gTWF0aC5mbG9vcihzY2FsZWRWYWx1ZSkgLyBtdWx0aXBsaWVyO1xyXG5cclxuXHRcdFx0Y2FzZSAnSEFMRl9VUCc6XHJcblx0XHRcdFx0aWYgKGlzSGFsZlRpZSkge1xyXG5cdFx0XHRcdFx0cmV0dXJuICh0cnVuY2F0ZWQgKyBNYXRoLnNpZ24oc2NhbGVkVmFsdWUpKSAvIG11bHRpcGxpZXI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJldHVybiBNYXRoLnJvdW5kKHNjYWxlZFZhbHVlKSAvIG11bHRpcGxpZXI7XHJcblxyXG5cdFx0XHRjYXNlICdIQUxGX0RPV04nOlxyXG5cdFx0XHRcdGlmIChpc0hhbGZUaWUpIHtcclxuXHRcdFx0XHRcdHJldHVybiB0cnVuY2F0ZWQgLyBtdWx0aXBsaWVyO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gTWF0aC5yb3VuZChzY2FsZWRWYWx1ZSkgLyBtdWx0aXBsaWVyO1xyXG5cclxuXHRcdFx0Y2FzZSAnSEFMRl9FVkVOJzpcclxuXHRcdFx0XHRpZiAoaXNIYWxmVGllKSB7XHJcblx0XHRcdFx0XHRjb25zdCBhd2F5RnJvbVplcm8gPSB0cnVuY2F0ZWQgKyBNYXRoLnNpZ24oc2NhbGVkVmFsdWUpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIChNYXRoLmFicyh0cnVuY2F0ZWQpICUgMiA9PT0gMCA/IHRydW5jYXRlZCA6IGF3YXlGcm9tWmVybykgLyBtdWx0aXBsaWVyO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gTWF0aC5yb3VuZChzY2FsZWRWYWx1ZSkgLyBtdWx0aXBsaWVyO1xyXG5cclxuXHRcdFx0Y2FzZSAnVU5ORUNFU1NBUlknOlxyXG5cdFx0XHRcdHJldHVybiB2YWx1ZTtcclxuXHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0cmV0dXJuIE1hdGgucm91bmQoc2NhbGVkVmFsdWUpIC8gbXVsdGlwbGllcjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -307,19 +307,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
307
307
|
class CustomizedPluginDialogComponent {
|
|
308
308
|
constructor(dialogConfig) {
|
|
309
309
|
this.dialogConfig = dialogConfig;
|
|
310
|
+
this.name = this.dialogConfig.data.name;
|
|
311
|
+
this.props = this.dialogConfig.data.props || {};
|
|
310
312
|
this.PLUGINS = PLUGINS;
|
|
311
313
|
this.dialogConfig.draggable = true;
|
|
312
|
-
this.name = this.dialogConfig.data;
|
|
313
314
|
}
|
|
314
315
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CustomizedPluginDialogComponent, deps: [{ token: i1.DynamicDialogConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
315
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: CustomizedPluginDialogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `<mft-wc-wrapper [options]="PLUGINS[name].options" />`, isInline: true, dependencies: [{ kind: "ngmodule", type: ModuleFederationToolsModule }, { kind: "component", type: i2.WebComponentWrapper, selector: "mft-wc-wrapper", inputs: ["options", "props", "events"] }] }); }
|
|
316
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: CustomizedPluginDialogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `<mft-wc-wrapper [options]="PLUGINS[name].options" [props]="props" />`, isInline: true, dependencies: [{ kind: "ngmodule", type: ModuleFederationToolsModule }, { kind: "component", type: i2.WebComponentWrapper, selector: "mft-wc-wrapper", inputs: ["options", "props", "events"] }] }); }
|
|
316
317
|
}
|
|
317
318
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CustomizedPluginDialogComponent, decorators: [{
|
|
318
319
|
type: Component,
|
|
319
320
|
args: [{
|
|
320
321
|
standalone: true,
|
|
321
322
|
imports: [ModuleFederationToolsModule],
|
|
322
|
-
template: `<mft-wc-wrapper [options]="PLUGINS[name].options" />`
|
|
323
|
+
template: `<mft-wc-wrapper [options]="PLUGINS[name].options" [props]="props" />`
|
|
323
324
|
}]
|
|
324
325
|
}], ctorParameters: () => [{ type: i1.DynamicDialogConfig }] });
|
|
325
326
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-util-directives.mjs","sources":["../../projects/aril/util/directives/src/detail-page-customization/models.ts","../../projects/aril/util/directives/src/detail-page-customization/detail-page-customization.directive.ts","../../projects/aril/util/directives/src/dialog-component/plugin-dialog.component.ts","../../projects/aril/util/directives/src/dialog-service/plugin-dialog.service.ts","../../projects/aril/util/directives/aril-util-directives.ts"],"sourcesContent":["import { InjectionToken, Signal } from '@angular/core';\r\n\r\nimport { MenuItem } from 'primeng/api';\r\nimport { TabView } from 'primeng/tabview';\r\n\r\nimport { solidIcons } from 'aril/util/lib';\r\n\r\nexport interface DetailComponent {\r\n\tmdInfoPluginProps: {\r\n\t\tgeneralMenu: Signal<MenuItem[]>;\r\n\t};\r\n\t// signals for reactive updates\r\n\tconfigTabs: Signal<TabConfig[]>;\r\n\tactiveTabComponents: Signal<TabConfig['components']>;\r\n\ttabs: TabConfig[];\r\n\ttabView?: TabView;\r\n}\r\n\r\nexport const DETAIL_COMPONENT = new InjectionToken<DetailComponent>('DETAIL_COMPONENT');\r\nexport const PLUGIN_DIALOG_SERVICE = new InjectionToken('PLUGIN_DIALOG_SERVICE');\r\n\r\nexport interface TabConfig {\r\n\tid: string | number | null;\r\n\theader: string;\r\n\ticon: keyof typeof solidIcons;\r\n\tvisible: boolean;\r\n\tposition: number;\r\n\tcomponents: Array<{\r\n\t\tid: string | null;\r\n\t\tpluginName: string;\r\n\t\tvisible: boolean;\r\n\t\torder?: number;\r\n\t}>;\r\n}\r\n\r\nexport interface DetailConfigMenuItem {\r\n\tlabel: {\r\n\t\t[key: string]: string;\r\n\t};\r\n\tcommand: string;\r\n\ticon: string;\r\n}\r\n\r\nexport interface DetailConfig {\r\n\tmenu: Array<DetailConfigMenuItem>;\r\n\ttabs: Array<{\r\n\t\tid: string | null;\r\n\t\ticon: keyof typeof solidIcons;\r\n\t\tlabel?: {\r\n\t\t\t[key: string]: string;\r\n\t\t};\r\n\t\tvisible: boolean;\r\n\t\tposition: number;\r\n\t\tcomponents: Array<{\r\n\t\t\tid: string | null;\r\n\t\t\tpluginName: string;\r\n\t\t\tvisible: boolean;\r\n\t\t\torder?: number;\r\n\t\t}>;\r\n\t}>;\r\n}\r\n","import { Directive, Inject, Signal, computed, effect, inject, signal } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { MenuItem } from 'primeng/api';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport {\r\n\tDETAIL_COMPONENT,\r\n\tDetailComponent,\r\n\tDetailConfig,\r\n\tDetailConfigMenuItem,\r\n\tPLUGIN_DIALOG_SERVICE,\r\n\tTabConfig\r\n} from './models';\r\n\r\n@Directive({\r\n\tstandalone: true\r\n})\r\nexport class DetailPageCustomizationDirective {\r\n\tprivate readonly route = inject(ActivatedRoute);\r\n\tprivate readonly router = inject(Router);\r\n\tprivate readonly dialogService = inject(PLUGIN_DIALOG_SERVICE); // Use token instead\r\n\tprivate readonly translocoService = inject(TranslocoService);\r\n\r\n\t// Internal signal to track when TabView and the menu are ready\r\n\tprivate viewsInitialized = signal(false);\r\n\tprivate config: DetailConfig | undefined;\r\n\tprivate getRouteConfig = (): DetailConfig | undefined => {\r\n\t\tconst configs = (globalThis as any).routeConfigs as\r\n\t\t\t| Array<{ path: string; content: string; version: number }>\r\n\t\t\t| undefined;\r\n\t\tif (!configs || !Array.isArray(configs)) return undefined;\r\n\r\n\t\tconst currentUrl = this.router.url.split('?')[0];\r\n\r\n\t\tlet bestMatch: { path: string; content: string; version: number } | undefined;\r\n\r\n\t\tfor (const config of configs) {\r\n\t\t\tif (!config.path) continue;\r\n\r\n\t\t\tconst urlToCheck = config.path.startsWith('/') ? config.path : `/${config.path}`;\r\n\r\n\t\t\tif (currentUrl.startsWith(urlToCheck)) {\r\n\t\t\t\tbestMatch = config;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!bestMatch) return undefined;\r\n\r\n\t\ttry {\r\n\t\t\treturn JSON.parse(bestMatch.content) as DetailConfig;\r\n\t\t} catch (e) {\r\n\t\t\tconsole.error('Failed to parse route config content:', e);\r\n\t\t\treturn undefined;\r\n\t\t}\r\n\t};\r\n\r\n\tprivate getProcessedTabs: Signal<TabConfig[]> = computed(() => {\r\n\t\tif (!this.config?.tabs) return [];\r\n\r\n\t\tconst activeLang = this.translocoService.getActiveLang();\r\n\r\n\t\treturn this.config.tabs\r\n\t\t\t.filter((tab) => tab.visible !== false)\r\n\t\t\t.map((tab) => ({\r\n\t\t\t\tid: tab.id ?? null,\r\n\t\t\t\ticon: tab.icon,\r\n\t\t\t\theader: tab.label ? tab.label[activeLang] : '',\r\n\t\t\t\tvisible: tab.visible,\r\n\t\t\t\tposition: tab.position,\r\n\t\t\t\tcomponents: tab.components || []\r\n\t\t\t}));\r\n\t});\r\n\r\n\tconstructor(@Inject(DETAIL_COMPONENT) private readonly detailComponent: DetailComponent) {\r\n\t\tthis.config = this.getRouteConfig();\r\n\t\teffect(\r\n\t\t\t(onCleanup) => {\r\n\t\t\t\tif (this.viewsInitialized()) return;\r\n\r\n\t\t\t\t// Poll every animation frame until both TabView and the menu is ready\r\n\t\t\t\t// The menu can be directly defined in the component from init step, or be built dynamically after waiting for a network response. So we must wait for it to be ready.\r\n\t\t\t\tconst checkViews = () => {\r\n\t\t\t\t\tif (this.detailComponent.tabView?.tabs && this.detailComponent.mdInfoPluginProps?.generalMenu()?.length) {\r\n\t\t\t\t\t\tthis.viewsInitialized.set(true);\r\n\t\t\t\t\t\tthis.onViewsReady();\r\n\t\t\t\t\t} else if (!this.viewsInitialized()) {\r\n\t\t\t\t\t\tframeId = requestAnimationFrame(checkViews);\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\tlet frameId = requestAnimationFrame(checkViews);\r\n\r\n\t\t\t\tonCleanup(() => {\r\n\t\t\t\t\tcancelAnimationFrame(frameId);\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t{ allowSignalWrites: true }\r\n\t\t);\r\n\t}\r\n\r\n\tprivate onViewsReady(): void {\r\n\t\tif (!this.config) return;\r\n\r\n\t\t// step 1 - hide tabs based on config\r\n\t\tif (this.detailComponent.tabView?.tabs) {\r\n\t\t\tthis.updateTabVisibility();\r\n\t\t}\r\n\t\t// step 2 - append config tabs to the static tabs (only new ones, not those matching static tabs)\r\n\t\tconst allConfigTabs = this.getProcessedTabs();\r\n\r\n\t\t// Get IDs of existing static tabs\r\n\t\tconst staticTabIds = new Set<string | number | null>();\r\n\t\tif (this.detailComponent.tabView?.tabs) {\r\n\t\t\tthis.detailComponent.tabView.tabs.forEach((tabPanel) => {\r\n\t\t\t\tconst tabId = tabPanel?.el?.nativeElement?.id;\r\n\t\t\t\tif (tabId) {\r\n\t\t\t\t\tstaticTabIds.add(tabId);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Filter out config tabs that are meant to *reorder* existing static tabs.\r\n\t\t// Any tab whose id matches an existing static tab id is considered a \"reorder\"\r\n\t\t// instruction; everything else (id === null OR an id that doesn't exist yet)\r\n\t\t// is treated as a brand new tab.\r\n\t\tconst newConfigTabs = allConfigTabs.filter((tab) => {\r\n\t\t\t// new tab when id is null/undefined\r\n\t\t\tif (!tab.id) return true;\r\n\r\n\t\t\t// new tab when id is provided but doesn't match any static tab id\r\n\t\t\treturn !staticTabIds.has(tab.id);\r\n\t\t});\r\n\r\n\t\tif (newConfigTabs.length > 0 && this.detailComponent.configTabs) {\r\n\t\t\t(this.detailComponent.configTabs as any).set(newConfigTabs);\r\n\t\t} else if (newConfigTabs.length > 0) {\r\n\t\t\tthis.detailComponent.tabs = newConfigTabs;\r\n\t\t}\r\n\r\n\t\t// using setTimeout to ensure tabView is ready as we want to work directly with the generated elements\r\n\t\tsetTimeout(() => {\r\n\t\t\t// step 3 - reorder tabs\r\n\t\t\tthis.reorderTabsByPosition();\r\n\t\t\t// step 4 - activate tab from URL if specified\r\n\t\t\tthis.activateTabFromUrl();\r\n\t\t\t// step 5 - update the menu\r\n\t\t\tif (this.config?.menu) {\r\n\t\t\t\tthis.updateMenu(this.config.menu);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate updateTabVisibility(): void {\r\n\t\tif (!this.config?.tabs) return;\r\n\r\n\t\t// Find tabs in config that have visible: false\r\n\t\tconst hiddenTabPositions = this.config.tabs.filter((tab) => tab.visible === false).map((tab) => tab.position);\r\n\r\n\t\thiddenTabPositions.forEach((position) => {\r\n\t\t\tthis.hideTabByPosition(position, true);\r\n\t\t});\r\n\t}\r\n\r\n\thideTabByPosition(position: number, hide = true): void {\r\n\t\tif (!this.detailComponent.tabView?.tabs) return;\r\n\r\n\t\tconst panelToHide = this.detailComponent.tabView.tabs[position];\r\n\t\tconst tabToHide = this.detailComponent.tabView.list?.children[position] as HTMLElement;\r\n\r\n\t\tif (tabToHide && panelToHide) {\r\n\t\t\tpanelToHide.el.nativeElement.hidden = hide;\r\n\t\t\ttabToHide.style.display = 'none';\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Reorder tabs based on config positions\r\n\t * Iterates over visible config tabs and rearranges both static and config tabs\r\n\t */\r\n\tprivate reorderTabsByPosition(): void {\r\n\t\tif (!this.detailComponent.tabView?.tabs || !this.detailComponent.tabView?.list) return;\r\n\r\n\t\tconst configTabs = this.getProcessedTabs();\r\n\t\tconst allTabs = this.detailComponent.tabView.tabs;\r\n\t\tconst navList = this.detailComponent.tabView.list;\r\n\r\n\t\tconst configTabMap = new Map<string | number | null, TabConfig>();\r\n\t\tconfigTabs.forEach((tab) => {\r\n\t\t\t// Only treat tabs that both:\r\n\t\t\t// - have an id\r\n\t\t\t// - and have an explicit position\r\n\t\t\t// as \"reorder instructions\" for existing static tabs.\r\n\t\t\t// Tabs without a position (even if they have an id) are considered\r\n\t\t\t// regular/new tabs and should keep their natural order.\r\n\t\t\tif (tab.id && tab.position) {\r\n\t\t\t\tconfigTabMap.set(tab.id, tab);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// separate static from config tabs\r\n\t\tconst staticTabs: Array<{ tab: any; index: number; id: string | number | null }> = [];\r\n\t\tconst configTabInstances: Array<{ tab: any; index: number; config: TabConfig }> = [];\r\n\r\n\t\tallTabs.forEach((tabPanel, index) => {\r\n\t\t\tconst tabId = tabPanel?.el?.nativeElement?.id || null;\r\n\t\t\tconst configTab = tabId ? configTabMap.get(tabId) : null;\r\n\r\n\t\t\tif (configTab) {\r\n\t\t\t\tconfigTabInstances.push({ tab: tabPanel, index, config: configTab });\r\n\t\t\t} else {\r\n\t\t\t\tstaticTabs.push({ tab: tabPanel, index, id: tabId });\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tconst positionMap = new Map<number, { tab: any; isConfig: boolean; id: string | number | null }>();\r\n\r\n\t\t// place config tabs at their specified positions\r\n\t\tconfigTabInstances.forEach(({ tab, config }) => {\r\n\t\t\tif (config.position !== undefined && config.position !== null) {\r\n\t\t\t\tpositionMap.set(config.position, { tab, isConfig: true, id: config.id });\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// place static tabs at available positions (maintaining relative order)\r\n\t\tlet staticIndex = 0;\r\n\t\tlet currentPosition = 0;\r\n\r\n\t\twhile (staticIndex < staticTabs.length) {\r\n\t\t\twhile (positionMap.has(currentPosition)) {\r\n\t\t\t\tcurrentPosition++;\r\n\t\t\t}\r\n\r\n\t\t\t// place static tab at this position\r\n\t\t\tconst staticTab = staticTabs[staticIndex];\r\n\t\t\tpositionMap.set(currentPosition, { tab: staticTab.tab, isConfig: false, id: staticTab.id });\r\n\t\t\tstaticIndex++;\r\n\t\t\tcurrentPosition++;\r\n\t\t}\r\n\r\n\t\t// build ordered array\r\n\t\tconst sortedPositions = Array.from(positionMap.keys()).sort((a, b) => a - b);\r\n\t\tconst reorderedTabs: any[] = [];\r\n\t\tconst reorderedHeaders: HTMLElement[] = [];\r\n\r\n\t\tsortedPositions.forEach((position) => {\r\n\t\t\tconst tabInfo = positionMap.get(position)!;\r\n\t\t\treorderedTabs.push(tabInfo.tab);\r\n\r\n\t\t\tconst originalIndex = allTabs.indexOf(tabInfo.tab);\r\n\t\t\tif (originalIndex !== -1 && navList.children[originalIndex]) {\r\n\t\t\t\treorderedHeaders.push(navList.children[originalIndex] as HTMLElement);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// reorder tabs array\r\n\t\tthis.detailComponent.tabView.tabs.length = 0;\r\n\t\treorderedTabs.forEach((tab) => this.detailComponent.tabView!.tabs.push(tab));\r\n\r\n\t\t// reorder dom headers\r\n\t\treorderedHeaders.forEach((header, newIndex) => {\r\n\t\t\tconst targetHeader = navList.children[newIndex];\r\n\t\t\tif (targetHeader && targetHeader !== header) {\r\n\t\t\t\tnavList.insertBefore(header, targetHeader);\r\n\t\t\t} else if (!targetHeader) {\r\n\t\t\t\tnavList.appendChild(header);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// reorder dom panels\r\n\t\tconst panelsContainer = allTabs[0]?.el.nativeElement.parentElement;\r\n\t\tif (panelsContainer) {\r\n\t\t\treorderedTabs.forEach((tabPanel, newIndex) => {\r\n\t\t\t\tconst targetPanel = panelsContainer.children[newIndex];\r\n\t\t\t\tif (targetPanel && targetPanel !== tabPanel.el.nativeElement) {\r\n\t\t\t\t\tpanelsContainer.insertBefore(tabPanel.el.nativeElement, targetPanel);\r\n\t\t\t\t} else if (!targetPanel) {\r\n\t\t\t\t\tpanelsContainer.appendChild(tabPanel.el.nativeElement);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (this.detailComponent.tabView.cd) {\r\n\t\t\tthis.detailComponent.tabView.cd.markForCheck();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate activateTabFromUrl(): void {\r\n\t\tif (!this.detailComponent.tabView) return;\r\n\r\n\t\tconst activeTabParam = this.route.snapshot.queryParamMap.get('activeTab');\r\n\t\tif (activeTabParam) {\r\n\t\t\tconst activeTabIndex = Number(activeTabParam);\r\n\r\n\t\t\tif (\r\n\t\t\t\t!isNaN(activeTabIndex) &&\r\n\t\t\t\tactiveTabIndex >= 0 &&\r\n\t\t\t\tthis.detailComponent.tabView.tabs &&\r\n\t\t\t\tactiveTabIndex < this.detailComponent.tabView.tabs.length\r\n\t\t\t) {\r\n\t\t\t\tthis.detailComponent.tabView.activeIndex = activeTabIndex;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate updateMenu(menuConfig: DetailConfigMenuItem[]) {\r\n\t\tconst context = {\r\n\t\t\trouter: this.router,\r\n\t\t\troute: this.route,\r\n\t\t\tdialogService: this.dialogService,\r\n\t\t\tcomponent: this.detailComponent\r\n\t\t};\r\n\r\n\t\tconst activeLang = this.translocoService.getActiveLang();\r\n\t\tconst dynamicMenu: MenuItem[] = menuConfig.map((m) => ({\r\n\t\t\tlabel: m.label[activeLang] ?? '',\r\n\t\t\ticon: m.icon,\r\n\t\t\tcommand: (_event: any) => {\r\n\t\t\t\tconst commandFn = new Function('ctx', m.command);\r\n\t\t\t\tcommandFn(context)(context);\r\n\t\t\t}\r\n\t\t}));\r\n\r\n\t\t// Update the existing signal instead of replacing it to ensure change\r\n\t\t// detection picks up the menu update after browser back navigation.\r\n\t\tconst generalMenuSignal = this.detailComponent.mdInfoPluginProps.generalMenu as any;\r\n\t\tconst existingMenu: MenuItem[] = generalMenuSignal();\r\n\r\n\t\t// Avoid duplicating previously added dynamic items (identified by label/icon match)\r\n\t\tconst mergedMenu = [\r\n\t\t\t...existingMenu.filter((item) => !dynamicMenu.some((dyn) => dyn.label === item.label && dyn.icon === item.icon)),\r\n\t\t\t...dynamicMenu\r\n\t\t];\r\n\r\n\t\tif (generalMenuSignal?.set) {\r\n\t\t\tgeneralMenuSignal.set(mergedMenu);\r\n\t\t} else {\r\n\t\t\tthis.detailComponent.mdInfoPluginProps.generalMenu = signal(mergedMenu);\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { DynamicDialogConfig } from 'primeng/dynamicdialog';\r\n\r\nimport { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';\r\n\r\nimport { PLUGINS } from 'aril/boot/config/plugins';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\timports: [ModuleFederationToolsModule],\r\n\ttemplate: `<mft-wc-wrapper [options]=\"PLUGINS[name].options\" />`\r\n})\r\nexport class CustomizedPluginDialogComponent {\r\n\tname: string;\r\n\tPLUGINS = PLUGINS;\r\n\r\n\tconstructor(private readonly dialogConfig: DynamicDialogConfig) {\r\n\t\tthis.dialogConfig.draggable = true;\r\n\t\tthis.name = this.dialogConfig.data;\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { DialogService, DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\n\r\nimport { CustomizedPluginDialogComponent } from '../dialog-component/plugin-dialog.component';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CustomizedPluginDialogService extends DialogService {\r\n\topenDialog(config: DynamicDialogConfig): DynamicDialogRef {\r\n\t\treturn super.open(CustomizedPluginDialogComponent, config);\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aril-util-directives.mjs","sources":["../../projects/aril/util/directives/src/detail-page-customization/models.ts","../../projects/aril/util/directives/src/detail-page-customization/detail-page-customization.directive.ts","../../projects/aril/util/directives/src/dialog-component/plugin-dialog.component.ts","../../projects/aril/util/directives/src/dialog-service/plugin-dialog.service.ts","../../projects/aril/util/directives/aril-util-directives.ts"],"sourcesContent":["import { InjectionToken, Signal } from '@angular/core';\r\n\r\nimport { MenuItem } from 'primeng/api';\r\nimport { TabView } from 'primeng/tabview';\r\n\r\nimport { solidIcons } from 'aril/util/lib';\r\n\r\nexport interface DetailComponent {\r\n\tmdInfoPluginProps: {\r\n\t\tgeneralMenu: Signal<MenuItem[]>;\r\n\t};\r\n\t// signals for reactive updates\r\n\tconfigTabs: Signal<TabConfig[]>;\r\n\tactiveTabComponents: Signal<TabConfig['components']>;\r\n\ttabs: TabConfig[];\r\n\ttabView?: TabView;\r\n}\r\n\r\nexport const DETAIL_COMPONENT = new InjectionToken<DetailComponent>('DETAIL_COMPONENT');\r\nexport const PLUGIN_DIALOG_SERVICE = new InjectionToken('PLUGIN_DIALOG_SERVICE');\r\n\r\nexport interface TabConfig {\r\n\tid: string | number | null;\r\n\theader: string;\r\n\ticon: keyof typeof solidIcons;\r\n\tvisible: boolean;\r\n\tposition: number;\r\n\tcomponents: Array<{\r\n\t\tid: string | null;\r\n\t\tpluginName: string;\r\n\t\tvisible: boolean;\r\n\t\torder?: number;\r\n\t}>;\r\n}\r\n\r\nexport interface DetailConfigMenuItem {\r\n\tlabel: {\r\n\t\t[key: string]: string;\r\n\t};\r\n\tcommand: string;\r\n\ticon: string;\r\n}\r\n\r\nexport interface DetailConfig {\r\n\tmenu: Array<DetailConfigMenuItem>;\r\n\ttabs: Array<{\r\n\t\tid: string | null;\r\n\t\ticon: keyof typeof solidIcons;\r\n\t\tlabel?: {\r\n\t\t\t[key: string]: string;\r\n\t\t};\r\n\t\tvisible: boolean;\r\n\t\tposition: number;\r\n\t\tcomponents: Array<{\r\n\t\t\tid: string | null;\r\n\t\t\tpluginName: string;\r\n\t\t\tvisible: boolean;\r\n\t\t\torder?: number;\r\n\t\t}>;\r\n\t}>;\r\n}\r\n","import { Directive, Inject, Signal, computed, effect, inject, signal } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { MenuItem } from 'primeng/api';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport {\r\n\tDETAIL_COMPONENT,\r\n\tDetailComponent,\r\n\tDetailConfig,\r\n\tDetailConfigMenuItem,\r\n\tPLUGIN_DIALOG_SERVICE,\r\n\tTabConfig\r\n} from './models';\r\n\r\n@Directive({\r\n\tstandalone: true\r\n})\r\nexport class DetailPageCustomizationDirective {\r\n\tprivate readonly route = inject(ActivatedRoute);\r\n\tprivate readonly router = inject(Router);\r\n\tprivate readonly dialogService = inject(PLUGIN_DIALOG_SERVICE); // Use token instead\r\n\tprivate readonly translocoService = inject(TranslocoService);\r\n\r\n\t// Internal signal to track when TabView and the menu are ready\r\n\tprivate viewsInitialized = signal(false);\r\n\tprivate config: DetailConfig | undefined;\r\n\tprivate getRouteConfig = (): DetailConfig | undefined => {\r\n\t\tconst configs = (globalThis as any).routeConfigs as\r\n\t\t\t| Array<{ path: string; content: string; version: number }>\r\n\t\t\t| undefined;\r\n\t\tif (!configs || !Array.isArray(configs)) return undefined;\r\n\r\n\t\tconst currentUrl = this.router.url.split('?')[0];\r\n\r\n\t\tlet bestMatch: { path: string; content: string; version: number } | undefined;\r\n\r\n\t\tfor (const config of configs) {\r\n\t\t\tif (!config.path) continue;\r\n\r\n\t\t\tconst urlToCheck = config.path.startsWith('/') ? config.path : `/${config.path}`;\r\n\r\n\t\t\tif (currentUrl.startsWith(urlToCheck)) {\r\n\t\t\t\tbestMatch = config;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!bestMatch) return undefined;\r\n\r\n\t\ttry {\r\n\t\t\treturn JSON.parse(bestMatch.content) as DetailConfig;\r\n\t\t} catch (e) {\r\n\t\t\tconsole.error('Failed to parse route config content:', e);\r\n\t\t\treturn undefined;\r\n\t\t}\r\n\t};\r\n\r\n\tprivate getProcessedTabs: Signal<TabConfig[]> = computed(() => {\r\n\t\tif (!this.config?.tabs) return [];\r\n\r\n\t\tconst activeLang = this.translocoService.getActiveLang();\r\n\r\n\t\treturn this.config.tabs\r\n\t\t\t.filter((tab) => tab.visible !== false)\r\n\t\t\t.map((tab) => ({\r\n\t\t\t\tid: tab.id ?? null,\r\n\t\t\t\ticon: tab.icon,\r\n\t\t\t\theader: tab.label ? tab.label[activeLang] : '',\r\n\t\t\t\tvisible: tab.visible,\r\n\t\t\t\tposition: tab.position,\r\n\t\t\t\tcomponents: tab.components || []\r\n\t\t\t}));\r\n\t});\r\n\r\n\tconstructor(@Inject(DETAIL_COMPONENT) private readonly detailComponent: DetailComponent) {\r\n\t\tthis.config = this.getRouteConfig();\r\n\t\teffect(\r\n\t\t\t(onCleanup) => {\r\n\t\t\t\tif (this.viewsInitialized()) return;\r\n\r\n\t\t\t\t// Poll every animation frame until both TabView and the menu is ready\r\n\t\t\t\t// The menu can be directly defined in the component from init step, or be built dynamically after waiting for a network response. So we must wait for it to be ready.\r\n\t\t\t\tconst checkViews = () => {\r\n\t\t\t\t\tif (this.detailComponent.tabView?.tabs && this.detailComponent.mdInfoPluginProps?.generalMenu()?.length) {\r\n\t\t\t\t\t\tthis.viewsInitialized.set(true);\r\n\t\t\t\t\t\tthis.onViewsReady();\r\n\t\t\t\t\t} else if (!this.viewsInitialized()) {\r\n\t\t\t\t\t\tframeId = requestAnimationFrame(checkViews);\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\tlet frameId = requestAnimationFrame(checkViews);\r\n\r\n\t\t\t\tonCleanup(() => {\r\n\t\t\t\t\tcancelAnimationFrame(frameId);\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t{ allowSignalWrites: true }\r\n\t\t);\r\n\t}\r\n\r\n\tprivate onViewsReady(): void {\r\n\t\tif (!this.config) return;\r\n\r\n\t\t// step 1 - hide tabs based on config\r\n\t\tif (this.detailComponent.tabView?.tabs) {\r\n\t\t\tthis.updateTabVisibility();\r\n\t\t}\r\n\t\t// step 2 - append config tabs to the static tabs (only new ones, not those matching static tabs)\r\n\t\tconst allConfigTabs = this.getProcessedTabs();\r\n\r\n\t\t// Get IDs of existing static tabs\r\n\t\tconst staticTabIds = new Set<string | number | null>();\r\n\t\tif (this.detailComponent.tabView?.tabs) {\r\n\t\t\tthis.detailComponent.tabView.tabs.forEach((tabPanel) => {\r\n\t\t\t\tconst tabId = tabPanel?.el?.nativeElement?.id;\r\n\t\t\t\tif (tabId) {\r\n\t\t\t\t\tstaticTabIds.add(tabId);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Filter out config tabs that are meant to *reorder* existing static tabs.\r\n\t\t// Any tab whose id matches an existing static tab id is considered a \"reorder\"\r\n\t\t// instruction; everything else (id === null OR an id that doesn't exist yet)\r\n\t\t// is treated as a brand new tab.\r\n\t\tconst newConfigTabs = allConfigTabs.filter((tab) => {\r\n\t\t\t// new tab when id is null/undefined\r\n\t\t\tif (!tab.id) return true;\r\n\r\n\t\t\t// new tab when id is provided but doesn't match any static tab id\r\n\t\t\treturn !staticTabIds.has(tab.id);\r\n\t\t});\r\n\r\n\t\tif (newConfigTabs.length > 0 && this.detailComponent.configTabs) {\r\n\t\t\t(this.detailComponent.configTabs as any).set(newConfigTabs);\r\n\t\t} else if (newConfigTabs.length > 0) {\r\n\t\t\tthis.detailComponent.tabs = newConfigTabs;\r\n\t\t}\r\n\r\n\t\t// using setTimeout to ensure tabView is ready as we want to work directly with the generated elements\r\n\t\tsetTimeout(() => {\r\n\t\t\t// step 3 - reorder tabs\r\n\t\t\tthis.reorderTabsByPosition();\r\n\t\t\t// step 4 - activate tab from URL if specified\r\n\t\t\tthis.activateTabFromUrl();\r\n\t\t\t// step 5 - update the menu\r\n\t\t\tif (this.config?.menu) {\r\n\t\t\t\tthis.updateMenu(this.config.menu);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate updateTabVisibility(): void {\r\n\t\tif (!this.config?.tabs) return;\r\n\r\n\t\t// Find tabs in config that have visible: false\r\n\t\tconst hiddenTabPositions = this.config.tabs.filter((tab) => tab.visible === false).map((tab) => tab.position);\r\n\r\n\t\thiddenTabPositions.forEach((position) => {\r\n\t\t\tthis.hideTabByPosition(position, true);\r\n\t\t});\r\n\t}\r\n\r\n\thideTabByPosition(position: number, hide = true): void {\r\n\t\tif (!this.detailComponent.tabView?.tabs) return;\r\n\r\n\t\tconst panelToHide = this.detailComponent.tabView.tabs[position];\r\n\t\tconst tabToHide = this.detailComponent.tabView.list?.children[position] as HTMLElement;\r\n\r\n\t\tif (tabToHide && panelToHide) {\r\n\t\t\tpanelToHide.el.nativeElement.hidden = hide;\r\n\t\t\ttabToHide.style.display = 'none';\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Reorder tabs based on config positions\r\n\t * Iterates over visible config tabs and rearranges both static and config tabs\r\n\t */\r\n\tprivate reorderTabsByPosition(): void {\r\n\t\tif (!this.detailComponent.tabView?.tabs || !this.detailComponent.tabView?.list) return;\r\n\r\n\t\tconst configTabs = this.getProcessedTabs();\r\n\t\tconst allTabs = this.detailComponent.tabView.tabs;\r\n\t\tconst navList = this.detailComponent.tabView.list;\r\n\r\n\t\tconst configTabMap = new Map<string | number | null, TabConfig>();\r\n\t\tconfigTabs.forEach((tab) => {\r\n\t\t\t// Only treat tabs that both:\r\n\t\t\t// - have an id\r\n\t\t\t// - and have an explicit position\r\n\t\t\t// as \"reorder instructions\" for existing static tabs.\r\n\t\t\t// Tabs without a position (even if they have an id) are considered\r\n\t\t\t// regular/new tabs and should keep their natural order.\r\n\t\t\tif (tab.id && tab.position) {\r\n\t\t\t\tconfigTabMap.set(tab.id, tab);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// separate static from config tabs\r\n\t\tconst staticTabs: Array<{ tab: any; index: number; id: string | number | null }> = [];\r\n\t\tconst configTabInstances: Array<{ tab: any; index: number; config: TabConfig }> = [];\r\n\r\n\t\tallTabs.forEach((tabPanel, index) => {\r\n\t\t\tconst tabId = tabPanel?.el?.nativeElement?.id || null;\r\n\t\t\tconst configTab = tabId ? configTabMap.get(tabId) : null;\r\n\r\n\t\t\tif (configTab) {\r\n\t\t\t\tconfigTabInstances.push({ tab: tabPanel, index, config: configTab });\r\n\t\t\t} else {\r\n\t\t\t\tstaticTabs.push({ tab: tabPanel, index, id: tabId });\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tconst positionMap = new Map<number, { tab: any; isConfig: boolean; id: string | number | null }>();\r\n\r\n\t\t// place config tabs at their specified positions\r\n\t\tconfigTabInstances.forEach(({ tab, config }) => {\r\n\t\t\tif (config.position !== undefined && config.position !== null) {\r\n\t\t\t\tpositionMap.set(config.position, { tab, isConfig: true, id: config.id });\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// place static tabs at available positions (maintaining relative order)\r\n\t\tlet staticIndex = 0;\r\n\t\tlet currentPosition = 0;\r\n\r\n\t\twhile (staticIndex < staticTabs.length) {\r\n\t\t\twhile (positionMap.has(currentPosition)) {\r\n\t\t\t\tcurrentPosition++;\r\n\t\t\t}\r\n\r\n\t\t\t// place static tab at this position\r\n\t\t\tconst staticTab = staticTabs[staticIndex];\r\n\t\t\tpositionMap.set(currentPosition, { tab: staticTab.tab, isConfig: false, id: staticTab.id });\r\n\t\t\tstaticIndex++;\r\n\t\t\tcurrentPosition++;\r\n\t\t}\r\n\r\n\t\t// build ordered array\r\n\t\tconst sortedPositions = Array.from(positionMap.keys()).sort((a, b) => a - b);\r\n\t\tconst reorderedTabs: any[] = [];\r\n\t\tconst reorderedHeaders: HTMLElement[] = [];\r\n\r\n\t\tsortedPositions.forEach((position) => {\r\n\t\t\tconst tabInfo = positionMap.get(position)!;\r\n\t\t\treorderedTabs.push(tabInfo.tab);\r\n\r\n\t\t\tconst originalIndex = allTabs.indexOf(tabInfo.tab);\r\n\t\t\tif (originalIndex !== -1 && navList.children[originalIndex]) {\r\n\t\t\t\treorderedHeaders.push(navList.children[originalIndex] as HTMLElement);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// reorder tabs array\r\n\t\tthis.detailComponent.tabView.tabs.length = 0;\r\n\t\treorderedTabs.forEach((tab) => this.detailComponent.tabView!.tabs.push(tab));\r\n\r\n\t\t// reorder dom headers\r\n\t\treorderedHeaders.forEach((header, newIndex) => {\r\n\t\t\tconst targetHeader = navList.children[newIndex];\r\n\t\t\tif (targetHeader && targetHeader !== header) {\r\n\t\t\t\tnavList.insertBefore(header, targetHeader);\r\n\t\t\t} else if (!targetHeader) {\r\n\t\t\t\tnavList.appendChild(header);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// reorder dom panels\r\n\t\tconst panelsContainer = allTabs[0]?.el.nativeElement.parentElement;\r\n\t\tif (panelsContainer) {\r\n\t\t\treorderedTabs.forEach((tabPanel, newIndex) => {\r\n\t\t\t\tconst targetPanel = panelsContainer.children[newIndex];\r\n\t\t\t\tif (targetPanel && targetPanel !== tabPanel.el.nativeElement) {\r\n\t\t\t\t\tpanelsContainer.insertBefore(tabPanel.el.nativeElement, targetPanel);\r\n\t\t\t\t} else if (!targetPanel) {\r\n\t\t\t\t\tpanelsContainer.appendChild(tabPanel.el.nativeElement);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (this.detailComponent.tabView.cd) {\r\n\t\t\tthis.detailComponent.tabView.cd.markForCheck();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate activateTabFromUrl(): void {\r\n\t\tif (!this.detailComponent.tabView) return;\r\n\r\n\t\tconst activeTabParam = this.route.snapshot.queryParamMap.get('activeTab');\r\n\t\tif (activeTabParam) {\r\n\t\t\tconst activeTabIndex = Number(activeTabParam);\r\n\r\n\t\t\tif (\r\n\t\t\t\t!isNaN(activeTabIndex) &&\r\n\t\t\t\tactiveTabIndex >= 0 &&\r\n\t\t\t\tthis.detailComponent.tabView.tabs &&\r\n\t\t\t\tactiveTabIndex < this.detailComponent.tabView.tabs.length\r\n\t\t\t) {\r\n\t\t\t\tthis.detailComponent.tabView.activeIndex = activeTabIndex;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate updateMenu(menuConfig: DetailConfigMenuItem[]) {\r\n\t\tconst context = {\r\n\t\t\trouter: this.router,\r\n\t\t\troute: this.route,\r\n\t\t\tdialogService: this.dialogService,\r\n\t\t\tcomponent: this.detailComponent\r\n\t\t};\r\n\r\n\t\tconst activeLang = this.translocoService.getActiveLang();\r\n\t\tconst dynamicMenu: MenuItem[] = menuConfig.map((m) => ({\r\n\t\t\tlabel: m.label[activeLang] ?? '',\r\n\t\t\ticon: m.icon,\r\n\t\t\tcommand: (_event: any) => {\r\n\t\t\t\tconst commandFn = new Function('ctx', m.command);\r\n\t\t\t\tcommandFn(context)(context);\r\n\t\t\t}\r\n\t\t}));\r\n\r\n\t\t// Update the existing signal instead of replacing it to ensure change\r\n\t\t// detection picks up the menu update after browser back navigation.\r\n\t\tconst generalMenuSignal = this.detailComponent.mdInfoPluginProps.generalMenu as any;\r\n\t\tconst existingMenu: MenuItem[] = generalMenuSignal();\r\n\r\n\t\t// Avoid duplicating previously added dynamic items (identified by label/icon match)\r\n\t\tconst mergedMenu = [\r\n\t\t\t...existingMenu.filter((item) => !dynamicMenu.some((dyn) => dyn.label === item.label && dyn.icon === item.icon)),\r\n\t\t\t...dynamicMenu\r\n\t\t];\r\n\r\n\t\tif (generalMenuSignal?.set) {\r\n\t\t\tgeneralMenuSignal.set(mergedMenu);\r\n\t\t} else {\r\n\t\t\tthis.detailComponent.mdInfoPluginProps.generalMenu = signal(mergedMenu);\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { DynamicDialogConfig } from 'primeng/dynamicdialog';\r\n\r\nimport { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';\r\n\r\nimport { PLUGINS } from 'aril/boot/config/plugins';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\timports: [ModuleFederationToolsModule],\r\n\ttemplate: `<mft-wc-wrapper [options]=\"PLUGINS[name].options\" [props]=\"props\" />`\r\n})\r\nexport class CustomizedPluginDialogComponent {\r\n\tname = this.dialogConfig.data.name;\r\n\tprops = this.dialogConfig.data.props || {};\r\n\tPLUGINS = PLUGINS;\r\n\r\n\tconstructor(private readonly dialogConfig: DynamicDialogConfig) {\r\n\t\tthis.dialogConfig.draggable = true;\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { DialogService, DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\n\r\nimport { CustomizedPluginDialogComponent } from '../dialog-component/plugin-dialog.component';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CustomizedPluginDialogService extends DialogService {\r\n\topenDialog(config: DynamicDialogConfig): DynamicDialogRef {\r\n\t\treturn super.open(CustomizedPluginDialogComponent, config);\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -158,6 +158,11 @@ class RoundNumberPipe {
|
|
|
158
158
|
round(value, decimals, mode) {
|
|
159
159
|
const multiplier = Math.pow(10, decimals);
|
|
160
160
|
const scaledValue = value * multiplier;
|
|
161
|
+
const truncated = Math.trunc(scaledValue);
|
|
162
|
+
const fractionalAbs = Math.abs(scaledValue - truncated);
|
|
163
|
+
// Floating point safety: scaledValue can be something like 4764.999999999 due to binary floats.
|
|
164
|
+
// We treat values very close to .5 as a tie.
|
|
165
|
+
const isHalfTie = Math.abs(fractionalAbs - 0.5) <= Math.max(Number.EPSILON * Math.abs(scaledValue) * 2, 1e-12);
|
|
161
166
|
switch (mode) {
|
|
162
167
|
case 'UP':
|
|
163
168
|
return (Math.ceil(Math.abs(scaledValue)) * Math.sign(value)) / multiplier;
|
|
@@ -168,16 +173,21 @@ class RoundNumberPipe {
|
|
|
168
173
|
case 'FLOOR':
|
|
169
174
|
return Math.floor(scaledValue) / multiplier;
|
|
170
175
|
case 'HALF_UP':
|
|
176
|
+
if (isHalfTie) {
|
|
177
|
+
return (truncated + Math.sign(scaledValue)) / multiplier;
|
|
178
|
+
}
|
|
171
179
|
return Math.round(scaledValue) / multiplier;
|
|
172
180
|
case 'HALF_DOWN':
|
|
173
|
-
|
|
181
|
+
if (isHalfTie) {
|
|
182
|
+
return truncated / multiplier;
|
|
183
|
+
}
|
|
184
|
+
return Math.round(scaledValue) / multiplier;
|
|
174
185
|
case 'HALF_EVEN':
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
return (Math.floor(scaledValue) % 2 === 0 ? Math.floor(scaledValue) : Math.ceil(scaledValue)) / multiplier;
|
|
186
|
+
if (isHalfTie) {
|
|
187
|
+
const awayFromZero = truncated + Math.sign(scaledValue);
|
|
188
|
+
return (Math.abs(truncated) % 2 === 0 ? truncated : awayFromZero) / multiplier;
|
|
179
189
|
}
|
|
180
|
-
return
|
|
190
|
+
return Math.round(scaledValue) / multiplier;
|
|
181
191
|
case 'UNNECESSARY':
|
|
182
192
|
return value;
|
|
183
193
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-util-pipes.mjs","sources":["../../projects/aril/util/pipes/src/translate-json/translate-json.pipe.ts","../../projects/aril/util/pipes/src/distance-to-now.pipe.ts","../../projects/aril/util/pipes/src/safe.pipe.ts","../../projects/aril/util/pipes/src/parse.pipe.ts","../../projects/aril/util/pipes/src/get-column-by-field.pipe.ts","../../projects/aril/util/pipes/src/round-number.pipe.ts","../../projects/aril/util/pipes/aril-util-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\n@Pipe({\r\n\tname: 'translateJson',\r\n\tstandalone: true,\r\n\tpure: false\r\n})\r\nexport class TranslateJsonPipe implements PipeTransform {\r\n\tconstructor(readonly translocoService: TranslocoService) {}\r\n\r\n\ttransform(value: string | null | undefined): string {\r\n\t\tif (!value) {\r\n return '';\r\n }\r\n\r\n let languageObj: any;\r\n \r\n if (typeof value === 'object') {\r\n languageObj = value;\r\n } else if (typeof value === 'string') {\r\n try {\r\n languageObj = JSON.parse(value);\r\n } catch (error) {\r\n return value;\r\n }\r\n } else {\r\n return String(value);\r\n }\r\n\r\n const currentLang = this.translocoService.getActiveLang();\r\n return languageObj[currentLang] || '';\r\n\t}\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { FormatDistanceToNowOptions, differenceInMinutes, differenceInMonths, formatDistanceToNow } from 'date-fns';\r\nimport { tr } from 'date-fns/locale';\r\n\r\nimport 'aril/util/primitive-extensions';\r\n\r\n@Pipe({\r\n\tname: 'distanceToNow',\r\n\tstandalone: true\r\n})\r\nexport class DistanceToNowPipe implements PipeTransform {\r\n\tconstructor(private readonly transloco: TranslocoService) {}\r\n\r\n\ttransform(value: number | Date): string {\r\n\t\tif (!value) return '';\r\n\r\n\t\tconst date = value instanceof Date ? value : value.longToDate()!;\r\n\r\n\t\tconst opt: FormatDistanceToNowOptions = {\r\n\t\t\taddSuffix: true\r\n\t\t};\r\n\r\n\t\tswitch (this.transloco.getActiveLang()) {\r\n\t\t\tcase 'tr':\r\n\t\t\t\topt.locale = tr;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (differenceInMinutes(new Date(), date) < 1) {\r\n\t\t\treturn this.transloco.translate('justNow');\r\n\t\t}\r\n\r\n\t\treturn differenceInMonths(new Date(), date) < 1 ? formatDistanceToNow(date, opt) : (date.dateToString() as string);\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n\tname: 'safe',\r\n\tstandalone: true\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n\tconstructor(protected sanitizer: DomSanitizer) {}\r\n\r\n\ttransform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n\t\tswitch (type) {\r\n\t\t\tcase 'html':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustHtml(value);\r\n\t\t\tcase 'style':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustStyle(value);\r\n\t\t\tcase 'script':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustScript(value);\r\n\t\t\tcase 'url':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustUrl(value);\r\n\t\t\tcase 'resourceUrl':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustResourceUrl(value);\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(`Invalid safe type specified: ${type}`);\r\n\t\t}\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n\tname: 'parse',\r\n\tstandalone: true\r\n})\r\nexport class ParsePipe implements PipeTransform {\r\n\ttransform(text: string) {\r\n\t\ttry {\r\n\t\t\treturn JSON.parse(text);\r\n\t\t} catch (error) {\r\n\t\t\treturn text;\r\n\t\t}\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform, Signal } from '@angular/core';\r\n\r\n@Pipe({\r\n\tname: 'getColumnByField',\r\n\tstandalone: true\r\n})\r\nexport class GetColumnByFieldPipe implements PipeTransform {\r\n\ttransform(columns: { _results: { field: Signal<string> }[] }, field: string): any {\r\n\t\treturn columns._results.find((col) => col?.field() === field);\r\n\t}\r\n}\r\n","import { DecimalPipe } from '@angular/common';\r\nimport { Pipe, PipeTransform, inject } from '@angular/core';\r\n\r\ntype DecimalRoundingType = 'UNNECESSARY' | 'UP' | 'DOWN' | 'CEILING' | 'FLOOR' | 'HALF_UP' | 'HALF_DOWN' | 'HALF_EVEN';\r\n\r\n@Pipe({\r\n\tname: 'roundNumber',\r\n\tstandalone: true\r\n})\r\nexport class RoundNumberPipe implements PipeTransform {\r\n\tprivate decimalPipe = inject(DecimalPipe);\r\n\r\n\ttransform(\r\n\t\tvalue: number | null | undefined,\r\n\t\tdecimals: number = 2,\r\n\t\troundingMode: DecimalRoundingType = 'UNNECESSARY',\r\n\t\tlocale: string = 'tr-TR'\r\n\t): string {\r\n\t\tif (value == null) return '';\r\n\r\n\t\tconst rounded = this.round(value, decimals, roundingMode);\r\n\t\tconst minDecimals = decimals;\r\n\t\tconst maxDecimals = decimals;\r\n\r\n\t\treturn this.decimalPipe.transform(rounded, `1.${minDecimals}-${maxDecimals}`, locale) || '';\r\n\t}\r\n\r\n\tprivate round(value: number, decimals: number, mode: DecimalRoundingType): number {\r\n\t\tconst multiplier = Math.pow(10, decimals);\r\n\t\tconst scaledValue = value * multiplier;\r\n\r\n\t\tswitch (mode) {\r\n\t\t\tcase 'UP':\r\n\t\t\t\treturn (Math.ceil(Math.abs(scaledValue)) * Math.sign(value)) / multiplier;\r\n\r\n\t\t\tcase 'DOWN':\r\n\t\t\t\treturn (Math.floor(Math.abs(scaledValue)) * Math.sign(value)) / multiplier;\r\n\r\n\t\t\tcase 'CEILING':\r\n\t\t\t\treturn Math.ceil(scaledValue) / multiplier;\r\n\r\n\t\t\tcase 'FLOOR':\r\n\t\t\t\treturn Math.floor(scaledValue) / multiplier;\r\n\r\n\t\t\tcase 'HALF_UP':\r\n\t\t\t\treturn Math.round(scaledValue) / multiplier;\r\n\r\n\t\t\tcase 'HALF_DOWN':\r\n\t\t\t\treturn (scaledValue >= 0 ? Math.floor(scaledValue + 0.5) : Math.ceil(scaledValue - 0.5)) / multiplier;\r\n\r\n\t\t\tcase 'HALF_EVEN':\r\n\t\t\t\tconst rounded = Math.round(scaledValue);\r\n\t\t\t\tconst diff = Math.abs(scaledValue - Math.floor(scaledValue));\r\n\r\n\t\t\t\tif (diff === 0.5) {\r\n\t\t\t\t\treturn (Math.floor(scaledValue) % 2 === 0 ? Math.floor(scaledValue) : Math.ceil(scaledValue)) / multiplier;\r\n\t\t\t\t}\r\n\t\t\t\treturn rounded / multiplier;\r\n\r\n\t\t\tcase 'UNNECESSARY':\r\n\t\t\t\treturn value;\r\n\r\n\t\t\tdefault:\r\n\t\t\t\treturn Math.round(scaledValue) / multiplier;\r\n\t\t}\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aril-util-pipes.mjs","sources":["../../projects/aril/util/pipes/src/translate-json/translate-json.pipe.ts","../../projects/aril/util/pipes/src/distance-to-now.pipe.ts","../../projects/aril/util/pipes/src/safe.pipe.ts","../../projects/aril/util/pipes/src/parse.pipe.ts","../../projects/aril/util/pipes/src/get-column-by-field.pipe.ts","../../projects/aril/util/pipes/src/round-number.pipe.ts","../../projects/aril/util/pipes/aril-util-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\n@Pipe({\r\n\tname: 'translateJson',\r\n\tstandalone: true,\r\n\tpure: false\r\n})\r\nexport class TranslateJsonPipe implements PipeTransform {\r\n\tconstructor(readonly translocoService: TranslocoService) {}\r\n\r\n\ttransform(value: string | null | undefined): string {\r\n\t\tif (!value) {\r\n return '';\r\n }\r\n\r\n let languageObj: any;\r\n \r\n if (typeof value === 'object') {\r\n languageObj = value;\r\n } else if (typeof value === 'string') {\r\n try {\r\n languageObj = JSON.parse(value);\r\n } catch (error) {\r\n return value;\r\n }\r\n } else {\r\n return String(value);\r\n }\r\n\r\n const currentLang = this.translocoService.getActiveLang();\r\n return languageObj[currentLang] || '';\r\n\t}\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { FormatDistanceToNowOptions, differenceInMinutes, differenceInMonths, formatDistanceToNow } from 'date-fns';\r\nimport { tr } from 'date-fns/locale';\r\n\r\nimport 'aril/util/primitive-extensions';\r\n\r\n@Pipe({\r\n\tname: 'distanceToNow',\r\n\tstandalone: true\r\n})\r\nexport class DistanceToNowPipe implements PipeTransform {\r\n\tconstructor(private readonly transloco: TranslocoService) {}\r\n\r\n\ttransform(value: number | Date): string {\r\n\t\tif (!value) return '';\r\n\r\n\t\tconst date = value instanceof Date ? value : value.longToDate()!;\r\n\r\n\t\tconst opt: FormatDistanceToNowOptions = {\r\n\t\t\taddSuffix: true\r\n\t\t};\r\n\r\n\t\tswitch (this.transloco.getActiveLang()) {\r\n\t\t\tcase 'tr':\r\n\t\t\t\topt.locale = tr;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (differenceInMinutes(new Date(), date) < 1) {\r\n\t\t\treturn this.transloco.translate('justNow');\r\n\t\t}\r\n\r\n\t\treturn differenceInMonths(new Date(), date) < 1 ? formatDistanceToNow(date, opt) : (date.dateToString() as string);\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n\tname: 'safe',\r\n\tstandalone: true\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n\tconstructor(protected sanitizer: DomSanitizer) {}\r\n\r\n\ttransform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n\t\tswitch (type) {\r\n\t\t\tcase 'html':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustHtml(value);\r\n\t\t\tcase 'style':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustStyle(value);\r\n\t\t\tcase 'script':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustScript(value);\r\n\t\t\tcase 'url':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustUrl(value);\r\n\t\t\tcase 'resourceUrl':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustResourceUrl(value);\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(`Invalid safe type specified: ${type}`);\r\n\t\t}\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n\tname: 'parse',\r\n\tstandalone: true\r\n})\r\nexport class ParsePipe implements PipeTransform {\r\n\ttransform(text: string) {\r\n\t\ttry {\r\n\t\t\treturn JSON.parse(text);\r\n\t\t} catch (error) {\r\n\t\t\treturn text;\r\n\t\t}\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform, Signal } from '@angular/core';\r\n\r\n@Pipe({\r\n\tname: 'getColumnByField',\r\n\tstandalone: true\r\n})\r\nexport class GetColumnByFieldPipe implements PipeTransform {\r\n\ttransform(columns: { _results: { field: Signal<string> }[] }, field: string): any {\r\n\t\treturn columns._results.find((col) => col?.field() === field);\r\n\t}\r\n}\r\n","import { DecimalPipe } from '@angular/common';\r\nimport { Pipe, PipeTransform, inject } from '@angular/core';\r\n\r\ntype DecimalRoundingType = 'UNNECESSARY' | 'UP' | 'DOWN' | 'CEILING' | 'FLOOR' | 'HALF_UP' | 'HALF_DOWN' | 'HALF_EVEN';\r\n\r\n@Pipe({\r\n\tname: 'roundNumber',\r\n\tstandalone: true\r\n})\r\nexport class RoundNumberPipe implements PipeTransform {\r\n\tprivate decimalPipe = inject(DecimalPipe);\r\n\r\n\ttransform(\r\n\t\tvalue: number | null | undefined,\r\n\t\tdecimals: number = 2,\r\n\t\troundingMode: DecimalRoundingType = 'UNNECESSARY',\r\n\t\tlocale: string = 'tr-TR'\r\n\t): string {\r\n\t\tif (value == null) return '';\r\n\r\n\t\tconst rounded = this.round(value, decimals, roundingMode);\r\n\t\tconst minDecimals = decimals;\r\n\t\tconst maxDecimals = decimals;\r\n\r\n\t\treturn this.decimalPipe.transform(rounded, `1.${minDecimals}-${maxDecimals}`, locale) || '';\r\n\t}\r\n\r\n\tprivate round(value: number, decimals: number, mode: DecimalRoundingType): number {\r\n\t\tconst multiplier = Math.pow(10, decimals);\r\n\t\tconst scaledValue = value * multiplier;\r\n\t\tconst truncated = Math.trunc(scaledValue);\r\n\t\tconst fractionalAbs = Math.abs(scaledValue - truncated);\r\n\t\t// Floating point safety: scaledValue can be something like 4764.999999999 due to binary floats.\r\n\t\t// We treat values very close to .5 as a tie.\r\n\t\tconst isHalfTie = Math.abs(fractionalAbs - 0.5) <= Math.max(Number.EPSILON * Math.abs(scaledValue) * 2, 1e-12);\r\n\t\t\r\n\t\tswitch (mode) {\r\n\t\t\tcase 'UP':\r\n\t\t\t\treturn (Math.ceil(Math.abs(scaledValue)) * Math.sign(value)) / multiplier;\r\n\r\n\t\t\tcase 'DOWN':\r\n\t\t\t\treturn (Math.floor(Math.abs(scaledValue)) * Math.sign(value)) / multiplier;\r\n\r\n\t\t\tcase 'CEILING':\r\n\t\t\t\treturn Math.ceil(scaledValue) / multiplier;\r\n\r\n\t\t\tcase 'FLOOR':\r\n\t\t\t\treturn Math.floor(scaledValue) / multiplier;\r\n\r\n\t\t\tcase 'HALF_UP':\r\n\t\t\t\tif (isHalfTie) {\r\n\t\t\t\t\treturn (truncated + Math.sign(scaledValue)) / multiplier;\r\n\t\t\t\t}\r\n\t\t\t\treturn Math.round(scaledValue) / multiplier;\r\n\r\n\t\t\tcase 'HALF_DOWN':\r\n\t\t\t\tif (isHalfTie) {\r\n\t\t\t\t\treturn truncated / multiplier;\r\n\t\t\t\t}\r\n\t\t\t\treturn Math.round(scaledValue) / multiplier;\r\n\r\n\t\t\tcase 'HALF_EVEN':\r\n\t\t\t\tif (isHalfTie) {\r\n\t\t\t\t\tconst awayFromZero = truncated + Math.sign(scaledValue);\r\n\t\t\t\t\treturn (Math.abs(truncated) % 2 === 0 ? truncated : awayFromZero) / multiplier;\r\n\t\t\t\t}\r\n\t\t\t\treturn Math.round(scaledValue) / multiplier;\r\n\r\n\t\t\tcase 'UNNECESSARY':\r\n\t\t\t\treturn value;\r\n\r\n\t\t\tdefault:\r\n\t\t\t\treturn Math.round(scaledValue) / multiplier;\r\n\t\t}\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aril",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.69",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/cdk": "~17.1.0",
|
|
6
6
|
"@angular/common": "^17.1.0",
|
|
@@ -51,18 +51,18 @@
|
|
|
51
51
|
"esm": "./esm2022/boot/aril-boot.mjs",
|
|
52
52
|
"default": "./fesm2022/aril-boot.mjs"
|
|
53
53
|
},
|
|
54
|
-
"./i18n": {
|
|
55
|
-
"types": "./i18n/index.d.ts",
|
|
56
|
-
"esm2022": "./esm2022/i18n/aril-i18n.mjs",
|
|
57
|
-
"esm": "./esm2022/i18n/aril-i18n.mjs",
|
|
58
|
-
"default": "./fesm2022/aril-i18n.mjs"
|
|
59
|
-
},
|
|
60
54
|
"./http": {
|
|
61
55
|
"types": "./http/index.d.ts",
|
|
62
56
|
"esm2022": "./esm2022/http/aril-http.mjs",
|
|
63
57
|
"esm": "./esm2022/http/aril-http.mjs",
|
|
64
58
|
"default": "./fesm2022/aril-http.mjs"
|
|
65
59
|
},
|
|
60
|
+
"./i18n": {
|
|
61
|
+
"types": "./i18n/index.d.ts",
|
|
62
|
+
"esm2022": "./esm2022/i18n/aril-i18n.mjs",
|
|
63
|
+
"esm": "./esm2022/i18n/aril-i18n.mjs",
|
|
64
|
+
"default": "./fesm2022/aril-i18n.mjs"
|
|
65
|
+
},
|
|
66
66
|
"./keycloak": {
|
|
67
67
|
"types": "./keycloak/index.d.ts",
|
|
68
68
|
"esm2022": "./esm2022/keycloak/aril-keycloak.mjs",
|
|
@@ -129,18 +129,18 @@
|
|
|
129
129
|
"esm": "./esm2022/ui/badge/aril-ui-badge.mjs",
|
|
130
130
|
"default": "./fesm2022/aril-ui-badge.mjs"
|
|
131
131
|
},
|
|
132
|
-
"./ui/calendar": {
|
|
133
|
-
"types": "./ui/calendar/index.d.ts",
|
|
134
|
-
"esm2022": "./esm2022/ui/calendar/aril-ui-calendar.mjs",
|
|
135
|
-
"esm": "./esm2022/ui/calendar/aril-ui-calendar.mjs",
|
|
136
|
-
"default": "./fesm2022/aril-ui-calendar.mjs"
|
|
137
|
-
},
|
|
138
132
|
"./ui/button": {
|
|
139
133
|
"types": "./ui/button/index.d.ts",
|
|
140
134
|
"esm2022": "./esm2022/ui/button/aril-ui-button.mjs",
|
|
141
135
|
"esm": "./esm2022/ui/button/aril-ui-button.mjs",
|
|
142
136
|
"default": "./fesm2022/aril-ui-button.mjs"
|
|
143
137
|
},
|
|
138
|
+
"./ui/calendar": {
|
|
139
|
+
"types": "./ui/calendar/index.d.ts",
|
|
140
|
+
"esm2022": "./esm2022/ui/calendar/aril-ui-calendar.mjs",
|
|
141
|
+
"esm": "./esm2022/ui/calendar/aril-ui-calendar.mjs",
|
|
142
|
+
"default": "./fesm2022/aril-ui-calendar.mjs"
|
|
143
|
+
},
|
|
144
144
|
"./ui/charts": {
|
|
145
145
|
"types": "./ui/charts/index.d.ts",
|
|
146
146
|
"esm2022": "./esm2022/ui/charts/aril-ui-charts.mjs",
|
|
@@ -201,23 +201,17 @@
|
|
|
201
201
|
"esm": "./esm2022/ui/form/aril-ui-form.mjs",
|
|
202
202
|
"default": "./fesm2022/aril-ui-form.mjs"
|
|
203
203
|
},
|
|
204
|
-
"./ui/img-viewer": {
|
|
205
|
-
"types": "./ui/img-viewer/index.d.ts",
|
|
206
|
-
"esm2022": "./esm2022/ui/img-viewer/aril-ui-img-viewer.mjs",
|
|
207
|
-
"esm": "./esm2022/ui/img-viewer/aril-ui-img-viewer.mjs",
|
|
208
|
-
"default": "./fesm2022/aril-ui-img-viewer.mjs"
|
|
209
|
-
},
|
|
210
204
|
"./ui/json-diff-comparison": {
|
|
211
205
|
"types": "./ui/json-diff-comparison/index.d.ts",
|
|
212
206
|
"esm2022": "./esm2022/ui/json-diff-comparison/aril-ui-json-diff-comparison.mjs",
|
|
213
207
|
"esm": "./esm2022/ui/json-diff-comparison/aril-ui-json-diff-comparison.mjs",
|
|
214
208
|
"default": "./fesm2022/aril-ui-json-diff-comparison.mjs"
|
|
215
209
|
},
|
|
216
|
-
"./ui/
|
|
217
|
-
"types": "./ui/
|
|
218
|
-
"esm2022": "./esm2022/ui/
|
|
219
|
-
"esm": "./esm2022/ui/
|
|
220
|
-
"default": "./fesm2022/aril-ui-
|
|
210
|
+
"./ui/img-viewer": {
|
|
211
|
+
"types": "./ui/img-viewer/index.d.ts",
|
|
212
|
+
"esm2022": "./esm2022/ui/img-viewer/aril-ui-img-viewer.mjs",
|
|
213
|
+
"esm": "./esm2022/ui/img-viewer/aril-ui-img-viewer.mjs",
|
|
214
|
+
"default": "./fesm2022/aril-ui-img-viewer.mjs"
|
|
221
215
|
},
|
|
222
216
|
"./ui/lib": {
|
|
223
217
|
"types": "./ui/lib/index.d.ts",
|
|
@@ -225,6 +219,12 @@
|
|
|
225
219
|
"esm": "./esm2022/ui/lib/aril-ui-lib.mjs",
|
|
226
220
|
"default": "./fesm2022/aril-ui-lib.mjs"
|
|
227
221
|
},
|
|
222
|
+
"./ui/loader": {
|
|
223
|
+
"types": "./ui/loader/index.d.ts",
|
|
224
|
+
"esm2022": "./esm2022/ui/loader/aril-ui-loader.mjs",
|
|
225
|
+
"esm": "./esm2022/ui/loader/aril-ui-loader.mjs",
|
|
226
|
+
"default": "./fesm2022/aril-ui-loader.mjs"
|
|
227
|
+
},
|
|
228
228
|
"./ui/mask": {
|
|
229
229
|
"types": "./ui/mask/index.d.ts",
|
|
230
230
|
"esm2022": "./esm2022/ui/mask/aril-ui-mask.mjs",
|
|
@@ -261,18 +261,18 @@
|
|
|
261
261
|
"esm": "./esm2022/ui/panel/aril-ui-panel.mjs",
|
|
262
262
|
"default": "./fesm2022/aril-ui-panel.mjs"
|
|
263
263
|
},
|
|
264
|
-
"./ui/password": {
|
|
265
|
-
"types": "./ui/password/index.d.ts",
|
|
266
|
-
"esm2022": "./esm2022/ui/password/aril-ui-password.mjs",
|
|
267
|
-
"esm": "./esm2022/ui/password/aril-ui-password.mjs",
|
|
268
|
-
"default": "./fesm2022/aril-ui-password.mjs"
|
|
269
|
-
},
|
|
270
264
|
"./ui/pdf-viewer": {
|
|
271
265
|
"types": "./ui/pdf-viewer/index.d.ts",
|
|
272
266
|
"esm2022": "./esm2022/ui/pdf-viewer/aril-ui-pdf-viewer.mjs",
|
|
273
267
|
"esm": "./esm2022/ui/pdf-viewer/aril-ui-pdf-viewer.mjs",
|
|
274
268
|
"default": "./fesm2022/aril-ui-pdf-viewer.mjs"
|
|
275
269
|
},
|
|
270
|
+
"./ui/password": {
|
|
271
|
+
"types": "./ui/password/index.d.ts",
|
|
272
|
+
"esm2022": "./esm2022/ui/password/aril-ui-password.mjs",
|
|
273
|
+
"esm": "./esm2022/ui/password/aril-ui-password.mjs",
|
|
274
|
+
"default": "./fesm2022/aril-ui-password.mjs"
|
|
275
|
+
},
|
|
276
276
|
"./ui/progressbar": {
|
|
277
277
|
"types": "./ui/progressbar/index.d.ts",
|
|
278
278
|
"esm2022": "./esm2022/ui/progressbar/aril-ui-progressbar.mjs",
|
|
@@ -297,18 +297,18 @@
|
|
|
297
297
|
"esm": "./esm2022/ui/selectBox/aril-ui-selectBox.mjs",
|
|
298
298
|
"default": "./fesm2022/aril-ui-selectBox.mjs"
|
|
299
299
|
},
|
|
300
|
-
"./ui/table": {
|
|
301
|
-
"types": "./ui/table/index.d.ts",
|
|
302
|
-
"esm2022": "./esm2022/ui/table/aril-ui-table.mjs",
|
|
303
|
-
"esm": "./esm2022/ui/table/aril-ui-table.mjs",
|
|
304
|
-
"default": "./fesm2022/aril-ui-table.mjs"
|
|
305
|
-
},
|
|
306
300
|
"./ui/switch": {
|
|
307
301
|
"types": "./ui/switch/index.d.ts",
|
|
308
302
|
"esm2022": "./esm2022/ui/switch/aril-ui-switch.mjs",
|
|
309
303
|
"esm": "./esm2022/ui/switch/aril-ui-switch.mjs",
|
|
310
304
|
"default": "./fesm2022/aril-ui-switch.mjs"
|
|
311
305
|
},
|
|
306
|
+
"./ui/table": {
|
|
307
|
+
"types": "./ui/table/index.d.ts",
|
|
308
|
+
"esm2022": "./esm2022/ui/table/aril-ui-table.mjs",
|
|
309
|
+
"esm": "./esm2022/ui/table/aril-ui-table.mjs",
|
|
310
|
+
"default": "./fesm2022/aril-ui-table.mjs"
|
|
311
|
+
},
|
|
312
312
|
"./ui/table-expand": {
|
|
313
313
|
"types": "./ui/table-expand/index.d.ts",
|
|
314
314
|
"esm2022": "./esm2022/ui/table-expand/aril-ui-table-expand.mjs",
|
|
@@ -333,11 +333,11 @@
|
|
|
333
333
|
"esm": "./esm2022/ui/text/aril-ui-text.mjs",
|
|
334
334
|
"default": "./fesm2022/aril-ui-text.mjs"
|
|
335
335
|
},
|
|
336
|
-
"./ui/
|
|
337
|
-
"types": "./ui/
|
|
338
|
-
"esm2022": "./esm2022/ui/
|
|
339
|
-
"esm": "./esm2022/ui/
|
|
340
|
-
"default": "./fesm2022/aril-ui-
|
|
336
|
+
"./ui/textArea": {
|
|
337
|
+
"types": "./ui/textArea/index.d.ts",
|
|
338
|
+
"esm2022": "./esm2022/ui/textArea/aril-ui-textArea.mjs",
|
|
339
|
+
"esm": "./esm2022/ui/textArea/aril-ui-textArea.mjs",
|
|
340
|
+
"default": "./fesm2022/aril-ui-textArea.mjs"
|
|
341
341
|
},
|
|
342
342
|
"./ui/toggle-button": {
|
|
343
343
|
"types": "./ui/toggle-button/index.d.ts",
|
|
@@ -345,11 +345,11 @@
|
|
|
345
345
|
"esm": "./esm2022/ui/toggle-button/aril-ui-toggle-button.mjs",
|
|
346
346
|
"default": "./fesm2022/aril-ui-toggle-button.mjs"
|
|
347
347
|
},
|
|
348
|
-
"./ui/
|
|
349
|
-
"types": "./ui/
|
|
350
|
-
"esm2022": "./esm2022/ui/
|
|
351
|
-
"esm": "./esm2022/ui/
|
|
352
|
-
"default": "./fesm2022/aril-ui-
|
|
348
|
+
"./ui/tooltip": {
|
|
349
|
+
"types": "./ui/tooltip/index.d.ts",
|
|
350
|
+
"esm2022": "./esm2022/ui/tooltip/aril-ui-tooltip.mjs",
|
|
351
|
+
"esm": "./esm2022/ui/tooltip/aril-ui-tooltip.mjs",
|
|
352
|
+
"default": "./fesm2022/aril-ui-tooltip.mjs"
|
|
353
353
|
},
|
|
354
354
|
"./ui/translate-input": {
|
|
355
355
|
"types": "./ui/translate-input/index.d.ts",
|
|
@@ -405,18 +405,18 @@
|
|
|
405
405
|
"esm": "./esm2022/ui-business/image-viewer/aril-ui-business-image-viewer.mjs",
|
|
406
406
|
"default": "./fesm2022/aril-ui-business-image-viewer.mjs"
|
|
407
407
|
},
|
|
408
|
-
"./ui-business/notification-templates-dialog": {
|
|
409
|
-
"types": "./ui-business/notification-templates-dialog/index.d.ts",
|
|
410
|
-
"esm2022": "./esm2022/ui-business/notification-templates-dialog/aril-ui-business-notification-templates-dialog.mjs",
|
|
411
|
-
"esm": "./esm2022/ui-business/notification-templates-dialog/aril-ui-business-notification-templates-dialog.mjs",
|
|
412
|
-
"default": "./fesm2022/aril-ui-business-notification-templates-dialog.mjs"
|
|
413
|
-
},
|
|
414
408
|
"./ui-business/multiple-ref-value": {
|
|
415
409
|
"types": "./ui-business/multiple-ref-value/index.d.ts",
|
|
416
410
|
"esm2022": "./esm2022/ui-business/multiple-ref-value/aril-ui-business-multiple-ref-value.mjs",
|
|
417
411
|
"esm": "./esm2022/ui-business/multiple-ref-value/aril-ui-business-multiple-ref-value.mjs",
|
|
418
412
|
"default": "./fesm2022/aril-ui-business-multiple-ref-value.mjs"
|
|
419
413
|
},
|
|
414
|
+
"./ui-business/notification-templates-dialog": {
|
|
415
|
+
"types": "./ui-business/notification-templates-dialog/index.d.ts",
|
|
416
|
+
"esm2022": "./esm2022/ui-business/notification-templates-dialog/aril-ui-business-notification-templates-dialog.mjs",
|
|
417
|
+
"esm": "./esm2022/ui-business/notification-templates-dialog/aril-ui-business-notification-templates-dialog.mjs",
|
|
418
|
+
"default": "./fesm2022/aril-ui-business-notification-templates-dialog.mjs"
|
|
419
|
+
},
|
|
420
420
|
"./ui-business/operation-types-dialog": {
|
|
421
421
|
"types": "./ui-business/operation-types-dialog/index.d.ts",
|
|
422
422
|
"esm2022": "./esm2022/ui-business/operation-types-dialog/aril-ui-business-operation-types-dialog.mjs",
|
|
@@ -507,18 +507,18 @@
|
|
|
507
507
|
"esm": "./esm2022/util/unwrap/aril-util-unwrap.mjs",
|
|
508
508
|
"default": "./fesm2022/aril-util-unwrap.mjs"
|
|
509
509
|
},
|
|
510
|
-
"./boot/config/apps": {
|
|
511
|
-
"types": "./boot/config/apps/index.d.ts",
|
|
512
|
-
"esm2022": "./esm2022/boot/config/apps/aril-boot-config-apps.mjs",
|
|
513
|
-
"esm": "./esm2022/boot/config/apps/aril-boot-config-apps.mjs",
|
|
514
|
-
"default": "./fesm2022/aril-boot-config-apps.mjs"
|
|
515
|
-
},
|
|
516
510
|
"./boot/config/api": {
|
|
517
511
|
"types": "./boot/config/api/index.d.ts",
|
|
518
512
|
"esm2022": "./esm2022/boot/config/api/aril-boot-config-api.mjs",
|
|
519
513
|
"esm": "./esm2022/boot/config/api/aril-boot-config-api.mjs",
|
|
520
514
|
"default": "./fesm2022/aril-boot-config-api.mjs"
|
|
521
515
|
},
|
|
516
|
+
"./boot/config/apps": {
|
|
517
|
+
"types": "./boot/config/apps/index.d.ts",
|
|
518
|
+
"esm2022": "./esm2022/boot/config/apps/aril-boot-config-apps.mjs",
|
|
519
|
+
"esm": "./esm2022/boot/config/apps/aril-boot-config-apps.mjs",
|
|
520
|
+
"default": "./fesm2022/aril-boot-config-apps.mjs"
|
|
521
|
+
},
|
|
522
522
|
"./boot/config/plugins": {
|
|
523
523
|
"types": "./boot/config/plugins/index.d.ts",
|
|
524
524
|
"esm2022": "./esm2022/boot/config/plugins/aril-boot-config-plugins.mjs",
|
|
@@ -2,7 +2,8 @@ import { DynamicDialogConfig } from 'primeng/dynamicdialog';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class CustomizedPluginDialogComponent {
|
|
4
4
|
private readonly dialogConfig;
|
|
5
|
-
name:
|
|
5
|
+
name: any;
|
|
6
|
+
props: any;
|
|
6
7
|
PLUGINS: import("../../../../../../dist/boot/config/plugins/src/interfaces").FactoryClass & import("../../../../../../dist/boot/config/plugins/src/interfaces").PluginConfigs;
|
|
7
8
|
constructor(dialogConfig: DynamicDialogConfig);
|
|
8
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<CustomizedPluginDialogComponent, never>;
|