@wemake4u/form-player-se 1.0.24 → 1.0.25
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/lib/dialog/dialog.component.mjs +15 -7
- package/esm2022/lib/directives/collapse.directive.mjs +20 -12
- package/esm2022/lib/directives/date.directive.mjs +2 -2
- package/esm2022/lib/directives/dialog.directive.mjs +2 -1
- package/esm2022/lib/directives/dropdown.directive.mjs +23 -5
- package/esm2022/lib/directives/formIndex.directive.mjs +25 -0
- package/esm2022/lib/directives/grid.directive.mjs +64 -19
- package/esm2022/lib/directives/readonly.directive.mjs +101 -0
- package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +51 -25
- package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +80 -92
- package/esm2022/lib/locale/locale-de.mjs +3 -2
- package/esm2022/lib/locale/locale-en.mjs +3 -2
- package/esm2022/lib/locale/locale-es.mjs +3 -2
- package/esm2022/lib/locale/locale-fr.mjs +3 -2
- package/esm2022/lib/locale/locale-it.mjs +3 -2
- package/esm2022/lib/locale/locale-pt.mjs +3 -2
- package/esm2022/lib/services/chart.service.mjs +62 -56
- package/esm2022/lib/services/dialog.service.mjs +1 -1
- package/esm2022/lib/services/feel.service.mjs +186 -19
- package/esm2022/lib/services/form.service.mjs +76 -12
- package/esm2022/lib/services/formatter.service.mjs +68 -54
- package/esm2022/lib/services/function.service.mjs +2 -4
- package/esm2022/lib/services/grid.service.mjs +163 -51
- package/esm2022/lib/services/metadata.service.mjs +1 -8
- package/esm2022/lib/services/programmability.service.mjs +318 -64
- package/esm2022/lib/services/weak.service.mjs +3 -5
- package/esm2022/lib/utils/groupByRow.mjs +3 -1
- package/fesm2022/wemake4u-form-player-se.mjs +1254 -566
- package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
- package/lib/components/deleteRowRenderer/deleteRowRenderer.component.d.ts +1 -0
- package/lib/components/objectURLRenderer/objectURLRenderer.component.d.ts +1 -0
- package/lib/components/setFilter/setFilter.component.d.ts +1 -0
- package/lib/dialog/dialog.component.d.ts +11 -0
- package/lib/directives/collapse.directive.d.ts +7 -4
- package/lib/directives/dropdown.directive.d.ts +4 -0
- package/lib/directives/formIndex.directive.d.ts +10 -0
- package/lib/directives/grid.directive.d.ts +12 -5
- package/lib/directives/{disable.directive.d.ts → readonly.directive.d.ts} +7 -4
- package/lib/dynamic-fields/dynamic-fields.component.d.ts +27 -4
- package/lib/dynamic-form/dynamic-form.component.d.ts +17 -10
- package/lib/locale/locale-de.d.ts +1 -0
- package/lib/locale/locale-en.d.ts +1 -0
- package/lib/locale/locale-es.d.ts +1 -0
- package/lib/locale/locale-fr.d.ts +1 -0
- package/lib/locale/locale-it.d.ts +1 -0
- package/lib/locale/locale-pt.d.ts +1 -0
- package/lib/locale/locale.d.ts +7 -0
- package/lib/services/chart.service.d.ts +5 -2
- package/lib/services/dialog.service.d.ts +0 -1
- package/lib/services/feel.service.d.ts +8 -0
- package/lib/services/form.service.d.ts +10 -1
- package/lib/services/formatter.service.d.ts +8 -6
- package/lib/services/grid.service.d.ts +13 -3
- package/lib/services/metadata.service.d.ts +0 -3
- package/lib/services/programmability.service.d.ts +28 -4
- package/lib/utils/groupByRow.d.ts +2 -0
- package/package.json +2 -2
- package/esm2022/lib/directives/disable.directive.mjs +0 -90
- package/esm2022/lib/directives/disable.path.directive.mjs +0 -40
- package/lib/directives/disable.path.directive.d.ts +0 -16
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IEvaluatorProvider } from './programmability.service';
|
|
2
|
-
import { AbstractControl } from '@angular/forms';
|
|
2
|
+
import { AbstractControl, FormControlStatus } from '@angular/forms';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export type Path = string | number | Array<string | number>;
|
|
5
5
|
type ControlType = 'array' | 'group' | 'control';
|
|
@@ -20,15 +20,24 @@ export interface PathOptions {
|
|
|
20
20
|
export declare class FormService implements IEvaluatorProvider {
|
|
21
21
|
set(control: AbstractControl, path: Path, value: any, pathOptions?: PathOptions, patchOptions?: PatchOptions): boolean;
|
|
22
22
|
get(control: AbstractControl, path: Path, pathOptions?: PathOptions): any;
|
|
23
|
+
getControl(control: AbstractControl, path: Path, pathOptions?: PathOptions): AbstractControl | undefined;
|
|
23
24
|
prepend(control: AbstractControl, path: Path, value: any, pathOptions?: PathOptions, patchOptions?: PatchOptions): boolean;
|
|
24
25
|
append(control: AbstractControl, path: Path, value: any, pathOptions?: PathOptions, patchOptions?: PatchOptions): boolean;
|
|
25
26
|
insert(control: AbstractControl, path: Path, index: number, value: any, pathOptions?: PathOptions, patchOptions?: PatchOptions): boolean;
|
|
26
27
|
remove(control: AbstractControl, path: Path, index: number): boolean;
|
|
27
28
|
moveUp(control: AbstractControl, path: Path, index: number): boolean;
|
|
28
29
|
moveDown(control: AbstractControl, path: Path, index: number): boolean;
|
|
30
|
+
status(control: AbstractControl, path: Path, pathOptions?: PathOptions): FormControlStatus | undefined;
|
|
31
|
+
getInvalidControls(control: AbstractControl): {
|
|
32
|
+
path: string;
|
|
33
|
+
control: AbstractControl;
|
|
34
|
+
}[];
|
|
29
35
|
patch(control: AbstractControl, value: any, options?: PatchOptions): void;
|
|
36
|
+
getPath(control: AbstractControl): (string | number)[];
|
|
30
37
|
getContext(formGroup: any): Record<string, any>;
|
|
31
38
|
private applyPath;
|
|
39
|
+
private asObject;
|
|
40
|
+
private asArray;
|
|
32
41
|
private insertIntoArray;
|
|
33
42
|
private removeFromArray;
|
|
34
43
|
private createArrayItem;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import { IEvaluatorProvider } from '../services/programmability.service';
|
|
1
2
|
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class FormatterService {
|
|
3
|
+
export declare class FormatterService implements IEvaluatorProvider {
|
|
3
4
|
constructor();
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
formatDateTime(
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
formatDate(isoDate: string | null | undefined, options?: Intl.DateTimeFormatOptions, locale?: string): string;
|
|
6
|
+
formatTime(isoDate: string | null | undefined, options?: Intl.DateTimeFormatOptions, locale?: string): string;
|
|
7
|
+
formatDateTime(isoDate: string | null | undefined, options?: Intl.DateTimeFormatOptions, locale?: string): string;
|
|
8
|
+
formatCurrency(value: number, currency?: string, locale?: string): string;
|
|
9
|
+
formatNumber(value: number, decimals?: number, locale?: string): string;
|
|
10
|
+
getContext(): Record<string, any>;
|
|
9
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FormatterService, never>;
|
|
10
12
|
static ɵprov: i0.ɵɵInjectableDeclaration<FormatterService>;
|
|
11
13
|
}
|
|
@@ -2,17 +2,27 @@ import { Module, ColDef, GridOptions } from 'ag-grid-community';
|
|
|
2
2
|
import { FormGroup } from '@angular/forms';
|
|
3
3
|
import { FormatterService } from '../services/formatter.service';
|
|
4
4
|
import { ProgrammabilityService } from '../services/programmability.service';
|
|
5
|
+
import { LanguageService } from '@wemake4u/interact';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class GridService {
|
|
7
8
|
private formatter;
|
|
9
|
+
private languageService;
|
|
8
10
|
private programmability;
|
|
9
|
-
constructor(formatter: FormatterService, programmability: ProgrammabilityService);
|
|
11
|
+
constructor(formatter: FormatterService, languageService: LanguageService, programmability: ProgrammabilityService);
|
|
10
12
|
getModules(): Module[];
|
|
11
|
-
getOptions(component: any, formGroup: FormGroup
|
|
12
|
-
getColumnDefs(component: any, columns: any, formGroup: FormGroup
|
|
13
|
+
getOptions(component: any, formGroup: FormGroup): GridOptions;
|
|
14
|
+
getColumnDefs(component: any, columns: any, formGroup: FormGroup): ColDef[];
|
|
13
15
|
onSelectionChanged(component: any, formGroup: FormGroup, event: any): any;
|
|
16
|
+
private get language();
|
|
14
17
|
private locale;
|
|
15
18
|
private resizeGrid;
|
|
19
|
+
private hasActions;
|
|
20
|
+
private hasRowNumbers;
|
|
21
|
+
private createColumnDefs;
|
|
22
|
+
private addActionColumnDef;
|
|
23
|
+
private addRowNumbersColumnDef;
|
|
24
|
+
private groupColumns;
|
|
25
|
+
private groupsToColumnDefs;
|
|
16
26
|
private setCellDataType;
|
|
17
27
|
private setCellRenderer;
|
|
18
28
|
private setAutoHeight;
|
|
@@ -7,11 +7,8 @@ export declare class MetadataService {
|
|
|
7
7
|
getTemplateByName(name: string): any;
|
|
8
8
|
getForms(): any[];
|
|
9
9
|
getFormByName(name: string): any;
|
|
10
|
-
setLanguage(language: string): void;
|
|
11
|
-
getLanguage(): string;
|
|
12
10
|
private schema;
|
|
13
11
|
private forms;
|
|
14
|
-
private language;
|
|
15
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<MetadataService, never>;
|
|
16
13
|
static ɵprov: i0.ɵɵInjectableDeclaration<MetadataService>;
|
|
17
14
|
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { OnDestroy } from '@angular/core';
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
2
|
+
import { AbstractControl, FormGroup, ValidatorFn } from '@angular/forms';
|
|
3
3
|
import { FeelService } from '../services/feel.service';
|
|
4
4
|
import { ScopeService } from '../services/scope.service';
|
|
5
5
|
import { RegisterService } from '../services/register.service';
|
|
6
6
|
import { ToastService } from '../services/toast.service';
|
|
7
7
|
import { FunctionService } from '../services/function.service';
|
|
8
|
+
import { GlobalService } from '../services/global.service';
|
|
8
9
|
import { FormService } from './form.service';
|
|
9
10
|
import { DialogService } from '../services/dialog.service';
|
|
11
|
+
import { FormatterService } from '../services/formatter.service';
|
|
10
12
|
import { WeakService } from '../services/weak.service';
|
|
11
13
|
import * as i0 from "@angular/core";
|
|
12
14
|
export declare class ProgrammabilityService implements OnDestroy {
|
|
@@ -14,17 +16,18 @@ export declare class ProgrammabilityService implements OnDestroy {
|
|
|
14
16
|
private weakService;
|
|
15
17
|
private toastService;
|
|
16
18
|
private dialogService;
|
|
19
|
+
private formatterService;
|
|
17
20
|
private functionService;
|
|
18
21
|
private formService;
|
|
22
|
+
private globalService;
|
|
19
23
|
private register;
|
|
20
24
|
private scope;
|
|
21
|
-
constructor(feelService: FeelService, weakService: WeakService, toastService: ToastService, dialogService: DialogService, functionService: FunctionService, formService: FormService, register: RegisterService, scope: ScopeService);
|
|
25
|
+
constructor(feelService: FeelService, weakService: WeakService, toastService: ToastService, dialogService: DialogService, formatterService: FormatterService, functionService: FunctionService, formService: FormService, globalService: GlobalService, register: RegisterService, scope: ScopeService);
|
|
22
26
|
private readonly predefinedFunctions;
|
|
23
27
|
private destroy$;
|
|
24
28
|
ngOnDestroy(): void;
|
|
25
29
|
isExpression(text: string | null): boolean;
|
|
26
30
|
getExpression(text: string | null): string;
|
|
27
|
-
watchExpression(formGroup: FormGroup, value: string | null, callback: (value: any) => void): void;
|
|
28
31
|
evaluateString(formGroup: FormGroup, value: string | null): string;
|
|
29
32
|
evaluateBoolean(formGroup: FormGroup, value: boolean | string | null, options?: EvaluateOptions): boolean | null;
|
|
30
33
|
evaluateNumber(formGroup: FormGroup, value: number | string | null): number | null;
|
|
@@ -32,10 +35,18 @@ export declare class ProgrammabilityService implements OnDestroy {
|
|
|
32
35
|
evaluateTemplate(formGroup: FormGroup, value: string | null): any;
|
|
33
36
|
evaluateUnary(formGroup: FormGroup, value: string | null, input: any): any;
|
|
34
37
|
invalidate(value: string | null): void;
|
|
38
|
+
watch(formGroup: FormGroup, dependencies: (string | string[])[], callback: () => void): void;
|
|
39
|
+
getDependencies(expression: string): (string | string[])[];
|
|
40
|
+
disable(formGroup: FormGroup, control: AbstractControl, value: boolean | string | null): void;
|
|
41
|
+
validate(formGroup: FormGroup, key: string, required?: boolean, validations?: ValidationRule[]): [ValidatorFn[], (control: AbstractControl) => void];
|
|
35
42
|
private cacheable;
|
|
43
|
+
private verbose;
|
|
44
|
+
private onErrorHandler;
|
|
45
|
+
private Init;
|
|
36
46
|
private evalUnaryTest;
|
|
37
47
|
private evalExpression;
|
|
38
48
|
private evalTemplate;
|
|
49
|
+
private onError;
|
|
39
50
|
private getPredefinedFunctions;
|
|
40
51
|
private getFormFunctions;
|
|
41
52
|
private getParentContext;
|
|
@@ -43,8 +54,16 @@ export declare class ProgrammabilityService implements OnDestroy {
|
|
|
43
54
|
private getParent;
|
|
44
55
|
private getContext;
|
|
45
56
|
private watchingExpression;
|
|
57
|
+
private watchingTemplateExpression;
|
|
46
58
|
private watchingDependencies;
|
|
47
|
-
|
|
59
|
+
private invalidateExpression;
|
|
60
|
+
private processDependencies;
|
|
61
|
+
private getPath;
|
|
62
|
+
private validateFn;
|
|
63
|
+
private invalidateFn;
|
|
64
|
+
private validateRule;
|
|
65
|
+
private watchForValidation;
|
|
66
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ProgrammabilityService, [null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }]>;
|
|
48
67
|
static ɵprov: i0.ɵɵInjectableDeclaration<ProgrammabilityService>;
|
|
49
68
|
}
|
|
50
69
|
export interface IEvaluatorProvider {
|
|
@@ -55,3 +74,8 @@ export interface EvaluateOptions {
|
|
|
55
74
|
extendContext?: ExtendContextFn;
|
|
56
75
|
}
|
|
57
76
|
export type ExtendContextFn = () => Record<string, any>;
|
|
77
|
+
export interface ValidationRule {
|
|
78
|
+
expression: string;
|
|
79
|
+
type: "validate" | "invalidate";
|
|
80
|
+
message: string;
|
|
81
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wemake4u/form-player-se",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.25",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/cdk": "^18.2.0",
|
|
6
6
|
"@angular/common": "^18.2.0",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"ag-charts-community": "^11.3.2",
|
|
16
16
|
"ngx-sirio-lib": "^1.2.6-A16",
|
|
17
17
|
"util": "^0.12.5",
|
|
18
|
-
"@wemake4u/interact": "^1.0.
|
|
18
|
+
"@wemake4u/interact": "^1.0.3"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"tslib": "^2.3.0",
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/forms";
|
|
4
|
-
import * as i2 from "../services/global.service";
|
|
5
|
-
export class DisableDirective {
|
|
6
|
-
ngControl;
|
|
7
|
-
global;
|
|
8
|
-
el;
|
|
9
|
-
renderer;
|
|
10
|
-
disableControl = null;
|
|
11
|
-
readonly = null;
|
|
12
|
-
placeholder = null;
|
|
13
|
-
componentRef;
|
|
14
|
-
properties;
|
|
15
|
-
constructor(ngControl, global, el, renderer) {
|
|
16
|
-
this.ngControl = ngControl;
|
|
17
|
-
this.global = global;
|
|
18
|
-
this.el = el;
|
|
19
|
-
this.renderer = renderer;
|
|
20
|
-
}
|
|
21
|
-
disableClass = "is-disabled";
|
|
22
|
-
readonlyClass = "is-readonly";
|
|
23
|
-
lightReadonlyClass = "light-readonly";
|
|
24
|
-
ngOnChanges(changes) {
|
|
25
|
-
if (changes["disableControl"] || changes["readonly"]) {
|
|
26
|
-
if (this.ngControl.control) {
|
|
27
|
-
if (this.disableControl) {
|
|
28
|
-
this.ngControl.control.disable();
|
|
29
|
-
this.toggleClass(true, this.disableClass);
|
|
30
|
-
this.overridePlaceholder(false);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
this.ngControl.control.enable();
|
|
34
|
-
this.toggleClass(false, this.disableClass);
|
|
35
|
-
const disabled = this.readonly === true;
|
|
36
|
-
this.ngControl.valueAccessor?.setDisabledState(disabled);
|
|
37
|
-
if (this.useLightReadonly()) {
|
|
38
|
-
this.toggleClass(disabled, this.lightReadonlyClass);
|
|
39
|
-
this.overridePlaceholder(disabled);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
this.toggleClass(disabled, this.readonlyClass);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
toggleClass(value, className) {
|
|
49
|
-
if (value) {
|
|
50
|
-
this.renderer.addClass(this.el.nativeElement, className);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this.renderer.removeClass(this.el.nativeElement, className);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
overridePlaceholder(value) {
|
|
57
|
-
if ('placeholder' in this.componentRef) {
|
|
58
|
-
this.componentRef.placeholder = value
|
|
59
|
-
? "-"
|
|
60
|
-
: this.placeholder;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
useLightReadonly() {
|
|
64
|
-
const value = this.properties?.useLightReadonly
|
|
65
|
-
|| this.global.getProperty("useLightReadonly", "yes");
|
|
66
|
-
if (value !== "yes" && value !== "no")
|
|
67
|
-
return true;
|
|
68
|
-
return (value === "yes");
|
|
69
|
-
}
|
|
70
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DisableDirective, deps: [{ token: i1.NgControl }, { token: i2.GlobalService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
71
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DisableDirective, isStandalone: true, selector: "[disableControl], [readonly]", inputs: { disableControl: "disableControl", readonly: "readonly", placeholder: "placeholder", componentRef: "componentRef", properties: "properties" }, usesOnChanges: true, ngImport: i0 });
|
|
72
|
-
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DisableDirective, decorators: [{
|
|
74
|
-
type: Directive,
|
|
75
|
-
args: [{
|
|
76
|
-
selector: '[disableControl], [readonly]',
|
|
77
|
-
standalone: true
|
|
78
|
-
}]
|
|
79
|
-
}], ctorParameters: () => [{ type: i1.NgControl }, { type: i2.GlobalService }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { disableControl: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], readonly: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], placeholder: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], componentRef: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], properties: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL2Rpc2FibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFtRCxNQUFNLGVBQWUsQ0FBQzs7OztBQVFsRyxNQUFNLE9BQU8sZ0JBQWdCO0lBT1A7SUFDUjtJQUNBO0lBQ0E7SUFUSCxjQUFjLEdBQW1CLElBQUksQ0FBQztJQUN0QyxRQUFRLEdBQW1CLElBQUksQ0FBQztJQUNoQyxXQUFXLEdBQWtCLElBQUksQ0FBQztJQUNsQyxZQUFZLENBQU07SUFDbEIsVUFBVSxDQUFNO0lBRXpCLFlBQW9CLFNBQW9CLEVBQzVCLE1BQXFCLEVBQ3JCLEVBQWMsRUFDZCxRQUFtQjtRQUhYLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDNUIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUMvQixDQUFDO0lBRU8sWUFBWSxHQUFXLGFBQWEsQ0FBQztJQUNyQyxhQUFhLEdBQVcsYUFBYSxDQUFDO0lBQ3RDLGtCQUFrQixHQUFXLGdCQUFnQixDQUFDO0lBR3RELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQzFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbEMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQzNDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDO29CQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQXFCLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ2xFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQzt3QkFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7d0JBQ3BELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDckMsQ0FBQzt5QkFDSSxDQUFDO3dCQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDakQsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWMsRUFBRSxTQUFpQjtRQUNuRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDM0QsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQWM7UUFDeEMsSUFBSSxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxHQUFHLEtBQUs7Z0JBQ25DLENBQUMsQ0FBQyxHQUFHO2dCQUNMLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCO2VBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hELElBQUksS0FBSyxLQUFLLEtBQUssSUFBSSxLQUFLLEtBQUssSUFBSTtZQUNuQyxPQUFPLElBQUksQ0FBQztRQUNkLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzt3R0FoRVUsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzJKQUVVLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgRWxlbWVudFJlZiwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgR2xvYmFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2dsb2JhbC5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2Rpc2FibGVDb250cm9sXSwgW3JlYWRvbmx5XScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlzYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgZGlzYWJsZUNvbnRyb2w6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBjb21wb25lbnRSZWY6IGFueTtcclxuICBASW5wdXQoKSBwcm9wZXJ0aWVzOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdDb250cm9sOiBOZ0NvbnRyb2xcclxuICAgICwgcHJpdmF0ZSBnbG9iYWw6IEdsb2JhbFNlcnZpY2VcclxuICAgICwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZlxyXG4gICAgLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGlzYWJsZUNsYXNzOiBzdHJpbmcgPSBcImlzLWRpc2FibGVkXCI7XHJcbiAgcHJpdmF0ZSByZWFkb25seUNsYXNzOiBzdHJpbmcgPSBcImlzLXJlYWRvbmx5XCI7XHJcbiAgcHJpdmF0ZSBsaWdodFJlYWRvbmx5Q2xhc3M6IHN0cmluZyA9IFwibGlnaHQtcmVhZG9ubHlcIjtcclxuICBcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbXCJkaXNhYmxlQ29udHJvbFwiXSB8fCBjaGFuZ2VzW1wicmVhZG9ubHlcIl0pIHtcclxuICAgICAgaWYgKHRoaXMubmdDb250cm9sLmNvbnRyb2wpIHtcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlQ29udHJvbCkge1xyXG4gICAgICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICAgICAgICB0aGlzLnRvZ2dsZUNsYXNzKHRydWUsIHRoaXMuZGlzYWJsZUNsYXNzKTtcclxuICAgICAgICAgIHRoaXMub3ZlcnJpZGVQbGFjZWhvbGRlcihmYWxzZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICAgICAgICB0aGlzLnRvZ2dsZUNsYXNzKGZhbHNlLCB0aGlzLmRpc2FibGVDbGFzcyk7XHJcbiAgICAgICAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMucmVhZG9ubHkgPT09IHRydWU7XHJcbiAgICAgICAgICAodGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciBhcyBhbnkpPy5zZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkKTtcclxuICAgICAgICAgIGlmICh0aGlzLnVzZUxpZ2h0UmVhZG9ubHkoKSkge1xyXG4gICAgICAgICAgICB0aGlzLnRvZ2dsZUNsYXNzKGRpc2FibGVkLCB0aGlzLmxpZ2h0UmVhZG9ubHlDbGFzcyk7XHJcbiAgICAgICAgICAgIHRoaXMub3ZlcnJpZGVQbGFjZWhvbGRlcihkaXNhYmxlZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy50b2dnbGVDbGFzcyhkaXNhYmxlZCwgdGhpcy5yZWFkb25seUNsYXNzKTtcclxuICAgICAgICAgIH0gICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZUNsYXNzKHZhbHVlOiBib29sZWFuLCBjbGFzc05hbWU6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG92ZXJyaWRlUGxhY2Vob2xkZXIodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICgncGxhY2Vob2xkZXInIGluIHRoaXMuY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLnBsYWNlaG9sZGVyID0gdmFsdWVcclxuICAgICAgICA/IFwiLVwiXHJcbiAgICAgICAgOiB0aGlzLnBsYWNlaG9sZGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1c2VMaWdodFJlYWRvbmx5KCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnByb3BlcnRpZXM/LnVzZUxpZ2h0UmVhZG9ubHlcclxuICAgICAgfHwgdGhpcy5nbG9iYWwuZ2V0UHJvcGVydHkoXCJ1c2VMaWdodFJlYWRvbmx5XCIsIFwieWVzXCIpO1xyXG4gICAgaWYgKHZhbHVlICE9PSBcInllc1wiICYmIHZhbHVlICE9PSBcIm5vXCIpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuICh2YWx1ZSA9PT0gXCJ5ZXNcIik7XHJcbiAgfVxyXG5cclxuICBcclxufVxyXG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class DisablePathDirective {
|
|
5
|
-
viewContainer;
|
|
6
|
-
config;
|
|
7
|
-
constructor(viewContainer) {
|
|
8
|
-
this.viewContainer = viewContainer;
|
|
9
|
-
}
|
|
10
|
-
ngOnChanges(changes) {
|
|
11
|
-
if (this.hasValue(this.config.path) && this.config.formGroup) {
|
|
12
|
-
var formGroup = this.config.formGroup.get(this.config.path);
|
|
13
|
-
if (formGroup instanceof FormGroup) {
|
|
14
|
-
if (this.config.disabled) {
|
|
15
|
-
formGroup.disable();
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
formGroup.enable();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
this.viewContainer.clear();
|
|
23
|
-
}
|
|
24
|
-
hasValue(value) {
|
|
25
|
-
return value != null && value.trim().length > 0;
|
|
26
|
-
}
|
|
27
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DisablePathDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
28
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DisablePathDirective, isStandalone: true, selector: "[disablePath]", inputs: { config: ["disablePath", "config"] }, usesOnChanges: true, ngImport: i0 });
|
|
29
|
-
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DisablePathDirective, decorators: [{
|
|
31
|
-
type: Directive,
|
|
32
|
-
args: [{
|
|
33
|
-
selector: '[disablePath]',
|
|
34
|
-
standalone: true
|
|
35
|
-
}]
|
|
36
|
-
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { config: [{
|
|
37
|
-
type: Input,
|
|
38
|
-
args: ['disablePath']
|
|
39
|
-
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS5wYXRoLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvZGlzYWJsZS5wYXRoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBOEMsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU0zQyxNQUFNLE9BQU8sb0JBQW9CO0lBUXJCO0lBUFksTUFBTSxDQUkxQjtJQUVGLFlBQ1UsYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQ3JDLENBQUM7SUFFTCxXQUFXLENBQUMsT0FBc0I7UUFFaEMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3RCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1RCxJQUFJLFNBQVMsWUFBWSxTQUFTLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUN6QixTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3JCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFvQjtRQUNuQyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQzt3R0E3QlUsb0JBQW9COzRGQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtxRkFFdUIsTUFBTTtzQkFBM0IsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2Rpc2FibGVQYXRoXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlzYWJsZVBhdGhEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgnZGlzYWJsZVBhdGgnKSBjb25maWchOiB7XHJcbiAgICBkaXNhYmxlZDogYm9vbGVhbiB8IG51bGw7XHJcbiAgICBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcclxuICAgIHBhdGg6IHN0cmluZztcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZlxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5oYXNWYWx1ZSh0aGlzLmNvbmZpZy5wYXRoKSAmJiB0aGlzLmNvbmZpZy5mb3JtR3JvdXApIHtcclxuICAgICAgdmFyIGZvcm1Hcm91cCA9IHRoaXMuY29uZmlnLmZvcm1Hcm91cC5nZXQodGhpcy5jb25maWcucGF0aCk7XHJcbiAgICAgIGlmIChmb3JtR3JvdXAgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcclxuICAgICAgICBpZiAodGhpcy5jb25maWcuZGlzYWJsZWQpIHtcclxuICAgICAgICAgIGZvcm1Hcm91cC5kaXNhYmxlKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGZvcm1Hcm91cC5lbmFibGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhc1ZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiB2YWx1ZS50cmltKCkubGVuZ3RoID4gMDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ViewContainerRef, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class DisablePathDirective implements OnChanges {
|
|
5
|
-
private viewContainer;
|
|
6
|
-
config: {
|
|
7
|
-
disabled: boolean | null;
|
|
8
|
-
formGroup: FormGroup;
|
|
9
|
-
path: string;
|
|
10
|
-
};
|
|
11
|
-
constructor(viewContainer: ViewContainerRef);
|
|
12
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
13
|
-
private hasValue;
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DisablePathDirective, never>;
|
|
15
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DisablePathDirective, "[disablePath]", never, { "config": { "alias": "disablePath"; "required": false; }; }, {}, never, never, true, never>;
|
|
16
|
-
}
|