@muraai/mnl-form 0.0.1-alpha-db495b1 → 0.0.1-alpha-6116399
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/fesm2022/muraai-mnl-form.mjs +150 -143
- package/fesm2022/muraai-mnl-form.mjs.map +1 -1
- package/lib/types/upload-file.d.ts +1 -1
- package/lib/workflow-status/ workflow-status.module.d.ts +8 -8
- package/lib/workflow-status/workflow-status.component.d.ts +1 -1
- package/package.json +4 -5
- package/esm2022/lib/confirmation-dialog/confirmation-dialog.component.mjs +0 -34
- package/esm2022/lib/mnl-form/mnl-form-standalone.module.mjs +0 -155
- package/esm2022/lib/mnl-form/mnl-form.component.mjs +0 -199
- package/esm2022/lib/models/custom-form-field.model.mjs +0 -2
- package/esm2022/lib/models/workflow-status.model.mjs +0 -2
- package/esm2022/lib/services/graphql.service.mjs +0 -30
- package/esm2022/lib/services/scoring.service.mjs +0 -103
- package/esm2022/lib/types/action-button-renderer.component.mjs +0 -59
- package/esm2022/lib/types/autocomplete-type.component.mjs +0 -68
- package/esm2022/lib/types/button.type.mjs +0 -72
- package/esm2022/lib/types/comments.type.mjs +0 -102
- package/esm2022/lib/types/country-code-input.type.mjs +0 -181
- package/esm2022/lib/types/custom-date.type.mjs +0 -20
- package/esm2022/lib/types/custom-input.component.mjs +0 -62
- package/esm2022/lib/types/date-format.type.mjs +0 -196
- package/esm2022/lib/types/expansion-panel.types.mjs +0 -85
- package/esm2022/lib/types/formly-field-panel.type.mjs +0 -70
- package/esm2022/lib/types/grid-actionable.type.mjs +0 -197
- package/esm2022/lib/types/grid-formly-cell.component.mjs +0 -42
- package/esm2022/lib/types/grid.type.mjs +0 -125
- package/esm2022/lib/types/input.type.mjs +0 -43
- package/esm2022/lib/types/mu-helper-text.type.mjs +0 -331
- package/esm2022/lib/types/multi-select-autocomplete.mjs +0 -139
- package/esm2022/lib/types/multi-select-checkbox.component.mjs +0 -247
- package/esm2022/lib/types/radio.type.mjs +0 -71
- package/esm2022/lib/types/scrollable-tabs.types.mjs +0 -220
- package/esm2022/lib/types/select-api-auto-complete.component.mjs +0 -111
- package/esm2022/lib/types/select-autocomplete-redefined.component.mjs +0 -142
- package/esm2022/lib/types/select-autocomplete.type.mjs +0 -254
- package/esm2022/lib/types/stepper.type.mjs +0 -268
- package/esm2022/lib/types/table.types.mjs +0 -79
- package/esm2022/lib/types/tabs.types.mjs +0 -293
- package/esm2022/lib/types/tabular-form-dialog.component.mjs +0 -331
- package/esm2022/lib/types/tabular-form.type.mjs +0 -641
- package/esm2022/lib/types/upload-file.mjs +0 -524
- package/esm2022/lib/types/view-file-dialog.component.mjs +0 -90
- package/esm2022/lib/utils/formly.utils.mjs +0 -105
- package/esm2022/lib/validators/custom-email-validator.mjs +0 -18
- package/esm2022/lib/validators/ein-validators.mjs +0 -11
- package/esm2022/lib/validators/gst-validator.mjs +0 -11
- package/esm2022/lib/validators/normal-email-validator.mjs +0 -17
- package/esm2022/lib/validators/npi-validator.mjs +0 -11
- package/esm2022/lib/validators/pan-validator.mjs +0 -11
- package/esm2022/lib/validators/phone-number-validator.mjs +0 -22
- package/esm2022/lib/validators/select-validator.mjs +0 -7
- package/esm2022/lib/validators/tinSsn-validator.mjs +0 -12
- package/esm2022/lib/workflow-status/ workflow-status.module.mjs +0 -52
- package/esm2022/lib/workflow-status/workflow-status.component.mjs +0 -70
- package/esm2022/lib/wrappers/form-field-description-wrapper.component.mjs +0 -44
- package/esm2022/lib/wrappers/form-field-wrapper.component.mjs +0 -34
- package/esm2022/lib/wrappers/formly-wrapper-with-old-value.component.mjs +0 -140
- package/esm2022/lib/wrappers/prefix-suffix-wrapper.component.mjs +0 -95
- package/esm2022/lib/wrappers/prefix-sufix-extension.component.mjs +0 -9
- package/esm2022/muraai-mnl-form.mjs +0 -5
- package/esm2022/public-api.mjs +0 -12
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { FieldType } from '@ngx-formly/core';
|
|
6
|
-
import { FormlyMaterialModule } from '@ngx-formly/material';
|
|
7
|
-
import { FormlyModule } from '@ngx-formly/core';
|
|
8
|
-
import { MatCardModule } from '@angular/material/card';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@ngx-formly/core";
|
|
11
|
-
import * as i2 from "@angular/common";
|
|
12
|
-
import * as i3 from "@angular/material/card";
|
|
13
|
-
export class FormlyFieldPanelComponent extends FieldType {
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...arguments);
|
|
16
|
-
this.field = {};
|
|
17
|
-
}
|
|
18
|
-
isValid(field) {
|
|
19
|
-
if (field.key) {
|
|
20
|
-
return field?.formControl?.valid || true;
|
|
21
|
-
}
|
|
22
|
-
return field.fieldGroup ? field.fieldGroup.every((fieldItem) => this.isValid(fieldItem)) : true;
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FormlyFieldPanelComponent, isStandalone: true, selector: "mu-formly-field-panel", usesInheritance: true, ngImport: i0, template: `
|
|
26
|
-
<mat-card>
|
|
27
|
-
<mat-card-header [ngClass]="[field?.props?.backgroundColor, 'flex', 'flex-col', 'pb-1']">
|
|
28
|
-
<div>{{field?.props?.label}}</div>
|
|
29
|
-
<div class="text-xs">{{field?.props?.description ?? ''}}</div>
|
|
30
|
-
</mat-card-header>
|
|
31
|
-
|
|
32
|
-
<mat-card-content>
|
|
33
|
-
@for(fieldItem of field?.fieldGroup; track fieldItem) {
|
|
34
|
-
<formly-field [field]="fieldItem"></formly-field>
|
|
35
|
-
}
|
|
36
|
-
</mat-card-content>
|
|
37
|
-
</mat-card>
|
|
38
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: FormlyMaterialModule }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i1.FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
39
|
-
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldPanelComponent, decorators: [{
|
|
41
|
-
type: Component,
|
|
42
|
-
args: [{
|
|
43
|
-
selector: 'mu-formly-field-panel',
|
|
44
|
-
standalone: true,
|
|
45
|
-
encapsulation: ViewEncapsulation.None,
|
|
46
|
-
imports: [
|
|
47
|
-
MatFormFieldModule,
|
|
48
|
-
MatIconModule,
|
|
49
|
-
FormlyMaterialModule,
|
|
50
|
-
FormlyModule,
|
|
51
|
-
CommonModule,
|
|
52
|
-
MatCardModule
|
|
53
|
-
],
|
|
54
|
-
template: `
|
|
55
|
-
<mat-card>
|
|
56
|
-
<mat-card-header [ngClass]="[field?.props?.backgroundColor, 'flex', 'flex-col', 'pb-1']">
|
|
57
|
-
<div>{{field?.props?.label}}</div>
|
|
58
|
-
<div class="text-xs">{{field?.props?.description ?? ''}}</div>
|
|
59
|
-
</mat-card-header>
|
|
60
|
-
|
|
61
|
-
<mat-card-content>
|
|
62
|
-
@for(fieldItem of field?.fieldGroup; track fieldItem) {
|
|
63
|
-
<formly-field [field]="fieldItem"></formly-field>
|
|
64
|
-
}
|
|
65
|
-
</mat-card-content>
|
|
66
|
-
</mat-card>
|
|
67
|
-
`
|
|
68
|
-
}]
|
|
69
|
-
}] });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLXBhbmVsLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zvcm0vc3JjL2xpYi90eXBlcy9mb3JtbHktZmllbGQtcGFuZWwudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQThCdkQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFNBQVM7SUE1QnhEOztRQTZCVyxVQUFLLEdBQVEsRUFBRSxDQUFDO0tBUzFCO0lBUEMsT0FBTyxDQUFDLEtBQXdCO1FBQzlCLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDM0MsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xHLENBQUM7K0dBVFUseUJBQXlCO21HQUF6Qix5QkFBeUIsd0dBaEIxQjs7Ozs7Ozs7Ozs7OztPQWFMLDJEQXBCSCxrQkFBa0IsOEJBQ2xCLGFBQWEsOEJBQ2Isb0JBQW9CLDhCQUNwQixZQUFZLHdIQUNaLFlBQVksNEhBQ1osYUFBYTs7NEZBa0JKLHlCQUF5QjtrQkE1QnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGFBQWE7cUJBQ2Q7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O09BYUw7aUJBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGb3JtbHlNYXRlcmlhbE1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsJztcbmltcG9ydCB7IEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdS1mb3JtbHktZmllbGQtcGFuZWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgRm9ybWx5TWF0ZXJpYWxNb2R1bGUsXG4gICAgRm9ybWx5TW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1jYXJkPlxuICAgICAgICA8bWF0LWNhcmQtaGVhZGVyIFtuZ0NsYXNzXT1cIltmaWVsZD8ucHJvcHM/LmJhY2tncm91bmRDb2xvciwgJ2ZsZXgnLCAnZmxleC1jb2wnLCAncGItMSddXCI+XG4gICAgICAgICAgPGRpdj57e2ZpZWxkPy5wcm9wcz8ubGFiZWx9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXhzXCI+e3tmaWVsZD8ucHJvcHM/LmRlc2NyaXB0aW9uID8/ICcnfX08L2Rpdj5cbiAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG5cbiAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgQGZvcihmaWVsZEl0ZW0gb2YgZmllbGQ/LmZpZWxkR3JvdXA7IHRyYWNrIGZpZWxkSXRlbSkge1xuICAgICAgICAgICAgPGZvcm1seS1maWVsZCBbZmllbGRdPVwiZmllbGRJdGVtXCI+PC9mb3JtbHktZmllbGQ+XG4gICAgICAgICAgfVxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICA8L21hdC1jYXJkPlxuICAgICAgYFxufSlcblxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGUge1xuICBvdmVycmlkZSBmaWVsZDogYW55ID0ge307XG5cbiAgaXNWYWxpZChmaWVsZDogRm9ybWx5RmllbGRDb25maWcpOiBib29sZWFuIHtcbiAgICBpZiAoZmllbGQua2V5KSB7XG4gICAgICByZXR1cm4gZmllbGQ/LmZvcm1Db250cm9sPy52YWxpZCB8fCB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmaWVsZC5maWVsZEdyb3VwID8gZmllbGQuZmllbGRHcm91cC5ldmVyeSgoZmllbGRJdGVtKSA9PiB0aGlzLmlzVmFsaWQoZmllbGRJdGVtKSkgOiB0cnVlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { FieldArrayType } from '@ngx-formly/core';
|
|
3
|
-
import { GridFormlyCellComponent } from './grid-formly-cell.component';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { AgGridModule } from 'ag-grid-angular';
|
|
6
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
7
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
8
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
9
|
-
import { ActionButtonRendererComponent } from './action-button-renderer.component';
|
|
10
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
11
|
-
import { MatDialogModule } from '@angular/material/dialog';
|
|
12
|
-
import { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "@ngx-translate/core";
|
|
15
|
-
import * as i2 from "@angular/material/dialog";
|
|
16
|
-
import * as i3 from "@angular/common";
|
|
17
|
-
import * as i4 from "ag-grid-angular";
|
|
18
|
-
import * as i5 from "@angular/material/icon";
|
|
19
|
-
import * as i6 from "@angular/material/tooltip";
|
|
20
|
-
import * as i7 from "@angular/material/button";
|
|
21
|
-
` `;
|
|
22
|
-
export class ActionableFormlyFieldGridComponent extends FieldArrayType {
|
|
23
|
-
constructor(translateService, dialog) {
|
|
24
|
-
super();
|
|
25
|
-
this.translateService = translateService;
|
|
26
|
-
this.dialog = dialog;
|
|
27
|
-
this.style = {};
|
|
28
|
-
this.selectedRow = null;
|
|
29
|
-
this.hideButton = false;
|
|
30
|
-
this.gridHeight = 'auto';
|
|
31
|
-
this.maxVisibleRows = 5;
|
|
32
|
-
this.onRowDataUpdated = () => {
|
|
33
|
-
if (this.gridApi) {
|
|
34
|
-
this.adjustGridHeight();
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
ngOnInit() {
|
|
39
|
-
this.maxVisibleRows = this.field?.props?.['maxVisibleRows'] || 5;
|
|
40
|
-
if (this.field?.props?.['enabledForRoles']) {
|
|
41
|
-
this.hideButton = !this.options.formState?.userRoles?.some((role) => this.field?.props?.['enabledForRoles']?.includes(role));
|
|
42
|
-
}
|
|
43
|
-
this.style = {
|
|
44
|
-
width: this.props?.['width'],
|
|
45
|
-
height: this.props?.['height'],
|
|
46
|
-
};
|
|
47
|
-
this.props['gridOptions'].columnDefs.forEach((column) => {
|
|
48
|
-
column.minWidth = column.minWidth ?? 240;
|
|
49
|
-
column.cellRenderer = GridFormlyCellComponent;
|
|
50
|
-
column.headerName = this.translateService.instant(column.headerName || '');
|
|
51
|
-
});
|
|
52
|
-
let columnDefs = this.props['gridOptions'].columnDefs;
|
|
53
|
-
columnDefs = [
|
|
54
|
-
{
|
|
55
|
-
headerName: this.translateService.instant('Actions'),
|
|
56
|
-
field: 'delete',
|
|
57
|
-
minWidth: 100,
|
|
58
|
-
maxWidth: 120,
|
|
59
|
-
cellRenderer: ActionButtonRendererComponent,
|
|
60
|
-
cellRendererParams: {
|
|
61
|
-
onDelete: (rowNode) => this.deleteRow(rowNode),
|
|
62
|
-
disableButton: this.hideButton
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
...columnDefs
|
|
66
|
-
];
|
|
67
|
-
this.gridOptions = {
|
|
68
|
-
...this.props['gridOptions'],
|
|
69
|
-
domLayout: 'normal',
|
|
70
|
-
columnDefs: columnDefs,
|
|
71
|
-
onRowDataUpdated: this.onRowDataUpdated,
|
|
72
|
-
context: {
|
|
73
|
-
parentField: this.field,
|
|
74
|
-
onDelete: this.deleteRow.bind(this)
|
|
75
|
-
},
|
|
76
|
-
suppressMovableColumns: true
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
onGridReady(params) {
|
|
80
|
-
this.gridApi = params.api;
|
|
81
|
-
this.adjustGridHeight();
|
|
82
|
-
}
|
|
83
|
-
onFirstDataRendered(params) {
|
|
84
|
-
params.api.sizeColumnsToFit();
|
|
85
|
-
this.options.formState.gridActionableData = this.model;
|
|
86
|
-
}
|
|
87
|
-
onRowClicked(event) {
|
|
88
|
-
this.selectedRow = event.node;
|
|
89
|
-
}
|
|
90
|
-
addRow() {
|
|
91
|
-
const newRow = { id: this.generateRandomNumber() };
|
|
92
|
-
this.add();
|
|
93
|
-
this.gridApi.applyTransaction({ add: [newRow] });
|
|
94
|
-
this.adjustGridHeight();
|
|
95
|
-
}
|
|
96
|
-
adjustGridHeight() {
|
|
97
|
-
const rowCount = this.gridApi.getDisplayedRowCount();
|
|
98
|
-
const rowHeight = this.gridOptions?.rowHeight || 60;
|
|
99
|
-
if (rowCount === 0) {
|
|
100
|
-
this.gridHeight = '70px';
|
|
101
|
-
}
|
|
102
|
-
else if (rowCount <= this.maxVisibleRows) {
|
|
103
|
-
this.gridHeight = `${rowCount * rowHeight + 40}px`;
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
this.gridHeight = `${this.maxVisibleRows * rowHeight + 40}px`;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
deleteRow(rowNode) {
|
|
110
|
-
const dialog = this.dialog.open(ConfirmationDialogComponent, {
|
|
111
|
-
width: '50%',
|
|
112
|
-
height: '28%',
|
|
113
|
-
data: { title: 'Are you sure to delete?' }
|
|
114
|
-
});
|
|
115
|
-
dialog.afterClosed().subscribe((res) => {
|
|
116
|
-
if (res) {
|
|
117
|
-
if (rowNode && rowNode.id !== null) {
|
|
118
|
-
const rowIndex = rowNode.rowIndex;
|
|
119
|
-
if (rowIndex !== null && rowIndex >= 0) {
|
|
120
|
-
this.remove(rowIndex);
|
|
121
|
-
}
|
|
122
|
-
this.gridApi.applyTransaction({ remove: [rowNode.data] });
|
|
123
|
-
this.adjustGridHeight();
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
console.error('Row not found or invalid:', rowNode);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
generateRandomNumber() {
|
|
132
|
-
return Math.floor(1000 + Math.random() * 9000);
|
|
133
|
-
}
|
|
134
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionableFormlyFieldGridComponent, deps: [{ token: i1.TranslateService }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
135
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ActionableFormlyFieldGridComponent, isStandalone: true, selector: "mu-editable-formly-field-grid", usesInheritance: true, ngImport: i0, template: `
|
|
136
|
-
<div [ngStyle]="style" >
|
|
137
|
-
@if (!hideButton) {
|
|
138
|
-
<div class="mb-2 flex justify-start items-center">
|
|
139
|
-
<button
|
|
140
|
-
type="button"
|
|
141
|
-
(click)="addRow()"
|
|
142
|
-
matTooltip="{{ (field['props']['addButtonTooltip'] || 'ADD_ROW') | translate}}"
|
|
143
|
-
mat-button
|
|
144
|
-
>
|
|
145
|
-
<mat-icon>add</mat-icon>
|
|
146
|
-
<span>{{field.props['addBtnLabel'] | translate}}</span>
|
|
147
|
-
</button>
|
|
148
|
-
</div>
|
|
149
|
-
}
|
|
150
|
-
<ag-grid-angular
|
|
151
|
-
style="width: 100%;"
|
|
152
|
-
class="className"
|
|
153
|
-
[gridOptions]="gridOptions"
|
|
154
|
-
[rowData]="model"
|
|
155
|
-
[style.height]="gridHeight"
|
|
156
|
-
domLayout="normal"
|
|
157
|
-
(firstDataRendered)="onFirstDataRendered($event)"
|
|
158
|
-
(gridReady)="onGridReady($event)"
|
|
159
|
-
(rowClicked)="onRowClicked($event)"
|
|
160
|
-
>
|
|
161
|
-
</ag-grid-angular>
|
|
162
|
-
</div>
|
|
163
|
-
`, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: AgGridModule }, { kind: "component", type: i4.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDialogModule }] }); }
|
|
164
|
-
}
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionableFormlyFieldGridComponent, decorators: [{
|
|
166
|
-
type: Component,
|
|
167
|
-
args: [{ selector: 'mu-editable-formly-field-grid', standalone: true, imports: [CommonModule, AgGridModule, TranslateModule, MatIconModule, MatTooltipModule, MatButtonModule, MatDialogModule], template: `
|
|
168
|
-
<div [ngStyle]="style" >
|
|
169
|
-
@if (!hideButton) {
|
|
170
|
-
<div class="mb-2 flex justify-start items-center">
|
|
171
|
-
<button
|
|
172
|
-
type="button"
|
|
173
|
-
(click)="addRow()"
|
|
174
|
-
matTooltip="{{ (field['props']['addButtonTooltip'] || 'ADD_ROW') | translate}}"
|
|
175
|
-
mat-button
|
|
176
|
-
>
|
|
177
|
-
<mat-icon>add</mat-icon>
|
|
178
|
-
<span>{{field.props['addBtnLabel'] | translate}}</span>
|
|
179
|
-
</button>
|
|
180
|
-
</div>
|
|
181
|
-
}
|
|
182
|
-
<ag-grid-angular
|
|
183
|
-
style="width: 100%;"
|
|
184
|
-
class="className"
|
|
185
|
-
[gridOptions]="gridOptions"
|
|
186
|
-
[rowData]="model"
|
|
187
|
-
[style.height]="gridHeight"
|
|
188
|
-
domLayout="normal"
|
|
189
|
-
(firstDataRendered)="onFirstDataRendered($event)"
|
|
190
|
-
(gridReady)="onGridReady($event)"
|
|
191
|
-
(rowClicked)="onRowClicked($event)"
|
|
192
|
-
>
|
|
193
|
-
</ag-grid-angular>
|
|
194
|
-
</div>
|
|
195
|
-
` }]
|
|
196
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.MatDialog }] });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1hY3Rpb25hYmxlLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zvcm0vc3JjL2xpYi90eXBlcy9ncmlkLWFjdGlvbmFibGUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEgsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0FBQ25HLEtBQUssQ0FBQTtBQXFDTCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsY0FBYztJQVNwRSxZQUFvQixnQkFBa0MsRUFBVSxNQUFpQjtRQUMvRSxLQUFLLEVBQUUsQ0FBQztRQURVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBUGpGLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEIsZ0JBQVcsR0FBbUIsSUFBSSxD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Ozs7R0E0QlQseUVBN0JTLFlBQVksbUhBQUUsWUFBWSx3blNBQUUsZUFBZSwyRkFBRSxhQUFhLG1MQUFFLGdCQUFnQiw0VEFBRSxlQUFlLDJOQUFFLGVBQWU7OzRGQWdDN0csa0NBQWtDO2tCQW5DOUMsU0FBUzsrQkFDRSwrQkFBK0IsY0FDN0IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUMsWUFDL0c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0QlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRBcnJheVR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZpcnN0RGF0YVJlbmRlcmVkRXZlbnQsIEdyaWRPcHRpb25zLCBDb2xEZWYsIFJvd05vZGUsIEdyaWRBcGkgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBHcmlkRm9ybWx5Q2VsbENvbXBvbmVudCB9IGZyb20gJy4vZ3JpZC1mb3JtbHktY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFnR3JpZE1vZHVsZSB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztpbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBBY3Rpb25CdXR0b25SZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vYWN0aW9uLWJ1dHRvbi1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuYCAgIGBcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXUtZWRpdGFibGUtZm9ybWx5LWZpZWxkLWdyaWQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBZ0dyaWRNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXREaWFsb2dNb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW25nU3R5bGVdPVwic3R5bGVcIiA+XG4gICAgICBAaWYgKCFoaWRlQnV0dG9uKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGZsZXgganVzdGlmeS1zdGFydCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJhZGRSb3coKVwiXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwie3sgKGZpZWxkWydwcm9wcyddWydhZGRCdXR0b25Ub29sdGlwJ10gfHwgJ0FERF9ST1cnKSB8IHRyYW5zbGF0ZX19XCJcbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuPnt7ZmllbGQucHJvcHNbJ2FkZEJ0bkxhYmVsJ10gfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICA8YWctZ3JpZC1hbmd1bGFyXG4gICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMCU7XCJcbiAgICAgICAgY2xhc3M9XCJjbGFzc05hbWVcIlxuICAgICAgICBbZ3JpZE9wdGlvbnNdPVwiZ3JpZE9wdGlvbnNcIlxuICAgICAgICBbcm93RGF0YV09XCJtb2RlbFwiXG4gICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiZ3JpZEhlaWdodFwiXG4gICAgICAgIGRvbUxheW91dD1cIm5vcm1hbFwiXG4gICAgICAgIChmaXJzdERhdGFSZW5kZXJlZCk9XCJvbkZpcnN0RGF0YVJlbmRlcmVkKCRldmVudClcIlxuICAgICAgICAoZ3JpZFJlYWR5KT1cIm9uR3JpZFJlYWR5KCRldmVudClcIlxuICAgICAgICAocm93Q2xpY2tlZCk9XCJvblJvd0NsaWNrZWQoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L2FnLWdyaWQtYW5ndWxhcj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBgYFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25hYmxlRm9ybWx5RmllbGRHcmlkQ29tcG9uZW50IGV4dGVuZHMgRmllbGRBcnJheVR5cGUgaW1wbGVtZW50cyBPbkluaXQge1xuICBncmlkT3B0aW9ucyE6IEdyaWRPcHRpb25zO1xuICBzdHlsZTogYW55ID0ge307XG4gIHNlbGVjdGVkUm93OiBSb3dOb2RlIHwgbnVsbCA9IG51bGw7XG4gIGdyaWRBcGkhOiBHcmlkQXBpO1xuICBoaWRlQnV0dG9uID0gZmFsc2U7XG4gIGdyaWRIZWlnaHQgPSAnYXV0byc7XG4gIG1heFZpc2libGVSb3dzID0gNTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tYXhWaXNpYmxlUm93cyA9IHRoaXMuZmllbGQ/LnByb3BzPy5bJ21heFZpc2libGVSb3dzJ10gfHwgNTtcbiAgICBpZih0aGlzLmZpZWxkPy5wcm9wcz8uWydlbmFibGVkRm9yUm9sZXMnXSkge1xuICAgICAgdGhpcy5oaWRlQnV0dG9uID0gIXRoaXMub3B0aW9ucy5mb3JtU3RhdGU/LnVzZXJSb2xlcz8uc29tZSgocm9sZTogYW55KSA9PiB0aGlzLmZpZWxkPy5wcm9wcz8uWydlbmFibGVkRm9yUm9sZXMnXT8uaW5jbHVkZXMocm9sZSkpO1xuICAgIH1cbiAgICB0aGlzLnN0eWxlID0ge1xuICAgICAgd2lkdGg6IHRoaXMucHJvcHM/Llsnd2lkdGgnXSxcbiAgICAgIGhlaWdodDogdGhpcy5wcm9wcz8uWydoZWlnaHQnXSxcbiAgICB9O1xuICAgIHRoaXMucHJvcHNbJ2dyaWRPcHRpb25zJ10uY29sdW1uRGVmcy5mb3JFYWNoKChjb2x1bW46IENvbERlZikgPT4ge1xuICAgICAgY29sdW1uLm1pbldpZHRoID0gY29sdW1uLm1pbldpZHRoID8/IDI0MDtcbiAgICAgIGNvbHVtbi5jZWxsUmVuZGVyZXIgPSBHcmlkRm9ybWx5Q2VsbENvbXBvbmVudDtcbiAgICAgIGNvbHVtbi5oZWFkZXJOYW1lID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoY29sdW1uLmhlYWRlck5hbWUgfHwgJycpXG4gICAgfSk7XG5cbiAgICBsZXQgY29sdW1uRGVmczogQ29sRGVmW10gPSB0aGlzLnByb3BzWydncmlkT3B0aW9ucyddLmNvbHVtbkRlZnM7XG4gICAgY29sdW1uRGVmcyA9IFtcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0FjdGlvbnMnKSxcbiAgICAgICAgZmllbGQ6ICdkZWxldGUnLFxuICAgICAgICBtaW5XaWR0aDogMTAwLFxuICAgICAgICBtYXhXaWR0aDogMTIwLFxuICAgICAgICBjZWxsUmVuZGVyZXI6IEFjdGlvbkJ1dHRvblJlbmRlcmVyQ29tcG9uZW50LFxuICAgICAgICBjZWxsUmVuZGVyZXJQYXJhbXM6IHtcbiAgICAgICAgICBvbkRlbGV0ZTogKHJvd05vZGU6IFJvd05vZGUpID0+IHRoaXMuZGVsZXRlUm93KHJvd05vZGUpLFxuICAgICAgICAgIGRpc2FibGVCdXR0b246IHRoaXMuaGlkZUJ1dHRvblxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLi4uY29sdW1uRGVmc1xuICAgIF07XG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIC4uLnRoaXMucHJvcHNbJ2dyaWRPcHRpb25zJ10sXG4gICAgICBkb21MYXlvdXQ6ICdub3JtYWwnLFxuICAgICAgY29sdW1uRGVmczogY29sdW1uRGVmcyxcbiAgICAgIG9uUm93RGF0YVVwZGF0ZWQ6IHRoaXMub25Sb3dEYXRhVXBkYXRlZCxcbiAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgcGFyZW50RmllbGQ6IHRoaXMuZmllbGQsXG4gICAgICAgIG9uRGVsZXRlOiB0aGlzLmRlbGV0ZVJvdy5iaW5kKHRoaXMpXG4gICAgICB9LFxuICAgICAgc3VwcHJlc3NNb3ZhYmxlQ29sdW1uczogdHJ1ZVxuICAgIH07XG4gIH1cblxuICBvblJvd0RhdGFVcGRhdGVkID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLmdyaWRBcGkpIHtcbiAgICAgIHRoaXMuYWRqdXN0R3JpZEhlaWdodCgpO1xuICAgIH1cbiAgfTtcblxuICBvbkdyaWRSZWFkeShwYXJhbXM6IGFueSkge1xuICAgIHRoaXMuZ3JpZEFwaSA9IHBhcmFtcy5hcGk7XG4gICAgdGhpcy5hZGp1c3RHcmlkSGVpZ2h0KCk7XG4gIH1cblxuICBvbkZpcnN0RGF0YVJlbmRlcmVkKHBhcmFtczogRmlyc3REYXRhUmVuZGVyZWRFdmVudCkge1xuICAgIHBhcmFtcy5hcGkuc2l6ZUNvbHVtbnNUb0ZpdCgpO1xuICAgIHRoaXMub3B0aW9ucy5mb3JtU3RhdGUuZ3JpZEFjdGlvbmFibGVEYXRhID0gdGhpcy5tb2RlbDtcbiAgfVxuXG4gIG9uUm93Q2xpY2tlZChldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJvdyA9IGV2ZW50Lm5vZGU7XG4gIH1cblxuICBhZGRSb3coKSB7XG4gICAgY29uc3QgbmV3Um93ID0ge2lkOiB0aGlzLmdlbmVyYXRlUmFuZG9tTnVtYmVyKCl9O1xuICAgIHRoaXMuYWRkKCk7XG4gICAgdGhpcy5ncmlkQXBpLmFwcGx5VHJhbnNhY3Rpb24oeyBhZGQ6IFtuZXdSb3ddIH0pO1xuICAgIHRoaXMuYWRqdXN0R3JpZEhlaWdodCgpO1xuICB9XG5cbiAgYWRqdXN0R3JpZEhlaWdodCgpIHtcbiAgICBjb25zdCByb3dDb3VudCA9IHRoaXMuZ3JpZEFwaS5nZXREaXNwbGF5ZWRSb3dDb3VudCgpO1xuICAgIGNvbnN0IHJvd0hlaWdodCA9IHRoaXMuZ3JpZE9wdGlvbnM/LnJvd0hlaWdodCB8fCA2MDtcbiAgaWYgKHJvd0NvdW50ID09PSAwKSB7XG4gICAgdGhpcy5ncmlkSGVpZ2h0ID0gJzcwcHgnO1xuICB9IGVsc2UgaWYgKHJvd0NvdW50IDw9IHRoaXMubWF4VmlzaWJsZVJvd3MpIHtcbiAgICB0aGlzLmdyaWRIZWlnaHQgPSBgJHtyb3dDb3VudCAqIHJvd0hlaWdodCArIDQwfXB4YDtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLmdyaWRIZWlnaHQgPSBgJHt0aGlzLm1heFZpc2libGVSb3dzICogcm93SGVpZ2h0ICsgNDB9cHhgO1xuICB9XG4gIH1cbiAgZGVsZXRlUm93KHJvd05vZGU6IFJvd05vZGUpIHtcbiAgICBjb25zdCBkaWFsb2cgPSB0aGlzLmRpYWxvZy5vcGVuKENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgaGVpZ2h0OiAnMjglJyxcbiAgICAgIGRhdGE6IHsgdGl0bGU6ICdBcmUgeW91IHN1cmUgdG8gZGVsZXRlPyd9XG4gICAgfSk7XG4gICAgZGlhbG9nLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIGlmKHJlcykge1xuICAgICAgICBpZiAocm93Tm9kZSAmJiByb3dOb2RlLmlkICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3Qgcm93SW5kZXggPSByb3dOb2RlLnJvd0luZGV4O1xuICAgICAgICAgIGlmIChyb3dJbmRleCAhPT0gbnVsbCAmJiByb3dJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZShyb3dJbmRleCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuZ3JpZEFwaS5hcHBseVRyYW5zYWN0aW9uKHsgcmVtb3ZlOiBbcm93Tm9kZS5kYXRhXSB9KTtcbiAgICAgICAgICB0aGlzLmFkanVzdEdyaWRIZWlnaHQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdSb3cgbm90IGZvdW5kIG9yIGludmFsaWQ6Jywgcm93Tm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2VuZXJhdGVSYW5kb21OdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcigxMDAwICsgTWF0aC5yYW5kb20oKSAqIDkwMDApO1xuICB9XG59Il19
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { FormlyModule } from '@ngx-formly/core';
|
|
3
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@ngx-translate/core";
|
|
6
|
-
import * as i2 from "@ngx-formly/core";
|
|
7
|
-
export class GridFormlyCellComponent {
|
|
8
|
-
constructor(translateService) {
|
|
9
|
-
this.translateService = translateService;
|
|
10
|
-
}
|
|
11
|
-
agInit(params) {
|
|
12
|
-
this.params = params;
|
|
13
|
-
}
|
|
14
|
-
refresh() {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
getField() {
|
|
18
|
-
const rowIndex = this.params.node.rowIndex;
|
|
19
|
-
const prop = this.params.colDef.field;
|
|
20
|
-
const parentField = this.params.context.parentField;
|
|
21
|
-
const field = parentField.get([rowIndex, prop]);
|
|
22
|
-
if (field && field.props.label) {
|
|
23
|
-
field.props.label = this.translateService.instant(field.props?.label);
|
|
24
|
-
}
|
|
25
|
-
if (field && field.props.placeholder) {
|
|
26
|
-
field.props.placeholder = this.translateService.instant(field.props?.placeholder);
|
|
27
|
-
}
|
|
28
|
-
return field;
|
|
29
|
-
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GridFormlyCellComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: GridFormlyCellComponent, isStandalone: true, selector: "mu-formly-ag-grid-cell", ngImport: i0, template: ` <formly-field [field]="getField()"></formly-field> `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i2.FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "ngmodule", type: TranslateModule }] }); }
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GridFormlyCellComponent, decorators: [{
|
|
34
|
-
type: Component,
|
|
35
|
-
args: [{
|
|
36
|
-
selector: 'mu-formly-ag-grid-cell',
|
|
37
|
-
standalone: true,
|
|
38
|
-
imports: [FormlyModule, TranslateModule],
|
|
39
|
-
template: ` <formly-field [field]="getField()"></formly-field> `,
|
|
40
|
-
}]
|
|
41
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1mb3JtbHktY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zvcm0vc3JjL2xpYi90eXBlcy9ncmlkLWZvcm1seS1jZWxsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBcUIsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQVN4RSxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQztJQUUxRCxNQUFNLENBQUMsTUFBVztRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUNwRCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFaEQsSUFBRyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUNELElBQUcsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3BGLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7K0dBM0JVLHVCQUF1QjttR0FBdkIsdUJBQXVCLGtGQUZ4QixzREFBc0QsMkRBRHRELFlBQVksd0hBQUUsZUFBZTs7NEZBRzVCLHVCQUF1QjtrQkFObkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQztvQkFDeEMsUUFBUSxFQUFFLHNEQUFzRDtpQkFDakUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnLCBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXUtZm9ybWx5LWFnLWdyaWQtY2VsbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtGb3JtbHlNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgIDxmb3JtbHktZmllbGQgW2ZpZWxkXT1cImdldEZpZWxkKClcIj48L2Zvcm1seS1maWVsZD4gYCxcbn0pXG5leHBvcnQgY2xhc3MgR3JpZEZvcm1seUNlbGxDb21wb25lbnQgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAge1xuICBwcml2YXRlIHBhcmFtczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICBhZ0luaXQocGFyYW1zOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcbiAgfVxuXG4gIHJlZnJlc2goKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0RmllbGQoKTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5wYXJhbXMubm9kZS5yb3dJbmRleDtcbiAgICBjb25zdCBwcm9wID0gdGhpcy5wYXJhbXMuY29sRGVmLmZpZWxkO1xuICAgIGNvbnN0IHBhcmVudEZpZWxkID0gdGhpcy5wYXJhbXMuY29udGV4dC5wYXJlbnRGaWVsZDtcbiAgICBjb25zdCBmaWVsZCA9IHBhcmVudEZpZWxkLmdldChbcm93SW5kZXgsIHByb3BdKTtcbiAgICBcbiAgICBpZihmaWVsZCAmJiBmaWVsZC5wcm9wcy5sYWJlbCkge1xuICAgICAgZmllbGQucHJvcHMubGFiZWwgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChmaWVsZC5wcm9wcz8ubGFiZWwpO1xuICAgIH1cbiAgICBpZihmaWVsZCAmJiBmaWVsZC5wcm9wcy5wbGFjZWhvbGRlcikge1xuICAgICAgZmllbGQucHJvcHMucGxhY2Vob2xkZXIgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChmaWVsZC5wcm9wcz8ucGxhY2Vob2xkZXIpO1xuICAgIH1cbiAgICBcbiAgICByZXR1cm4gZmllbGQ7XG4gIH1cbn0iXX0=
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { FieldType, FormlyModule } from '@ngx-formly/core';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { AgGridModule } from 'ag-grid-angular';
|
|
5
|
-
import { isObservable } from 'rxjs';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@ngx-translate/core";
|
|
8
|
-
import * as i2 from "@angular/common";
|
|
9
|
-
import * as i3 from "ag-grid-angular";
|
|
10
|
-
export class FormlyFieldGridComponent extends FieldType {
|
|
11
|
-
constructor(translateService) {
|
|
12
|
-
super();
|
|
13
|
-
this.translateService = translateService;
|
|
14
|
-
this.style = {};
|
|
15
|
-
this.rowData = [];
|
|
16
|
-
this.columnDefs = [];
|
|
17
|
-
this.defaultColDef = {
|
|
18
|
-
sortable: true,
|
|
19
|
-
filter: true,
|
|
20
|
-
resizable: true,
|
|
21
|
-
flex: 1,
|
|
22
|
-
minWidth: 150,
|
|
23
|
-
wrapHeaderText: true,
|
|
24
|
-
autoHeaderHeight: true
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
onGridReady(params) {
|
|
28
|
-
this.gridApi = params.api;
|
|
29
|
-
}
|
|
30
|
-
ngOnInit() {
|
|
31
|
-
this.style = {
|
|
32
|
-
width: this.props?.['width'],
|
|
33
|
-
height: this.props?.['height'],
|
|
34
|
-
};
|
|
35
|
-
const gridOptions = this.props['gridOptions'] || {};
|
|
36
|
-
gridOptions.context = {
|
|
37
|
-
parentField: this.field,
|
|
38
|
-
};
|
|
39
|
-
gridOptions.suppressMovableColumns = true;
|
|
40
|
-
this.gridOptions = gridOptions;
|
|
41
|
-
this.columnDefs = [
|
|
42
|
-
...this.translateLabels(this.gridOptions?.['columnDefs'])
|
|
43
|
-
];
|
|
44
|
-
const gridData = findNestedKey(this.field.parent?.model, this.field.key);
|
|
45
|
-
this.rowData = Array.isArray(gridData) ? gridData : [];
|
|
46
|
-
if (this.field.props?.['rowData']) {
|
|
47
|
-
const rowData = this.field.props?.['rowData'];
|
|
48
|
-
if (isObservable(rowData)) {
|
|
49
|
-
rowData.pipe().subscribe((data = []) => {
|
|
50
|
-
if (!data.length) {
|
|
51
|
-
this.rowData = [];
|
|
52
|
-
this.gridApi?.deselectAll();
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
this.rowData = [...data];
|
|
56
|
-
this.gridApi?.deselectAll();
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
else if (Array.isArray(rowData)) {
|
|
61
|
-
this.rowData = [...rowData];
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
onFirstDataRendered(params) {
|
|
66
|
-
params.api.sizeColumnsToFit();
|
|
67
|
-
}
|
|
68
|
-
translateLabels(columnDefs) {
|
|
69
|
-
return columnDefs.map((column) => {
|
|
70
|
-
return {
|
|
71
|
-
...column,
|
|
72
|
-
headerName: this.translateService.instant(column.headerName)
|
|
73
|
-
};
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldGridComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
77
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyFieldGridComponent, isStandalone: true, selector: "mu-formly-field-grid", usesInheritance: true, ngImport: i0, template: `
|
|
78
|
-
<div [ngStyle]="style" >
|
|
79
|
-
<ag-grid-angular
|
|
80
|
-
style="width: 100%; height: 100%;"
|
|
81
|
-
class="ag-theme-alpine"
|
|
82
|
-
[rowData]="rowData || []"
|
|
83
|
-
[columnDefs]="columnDefs"
|
|
84
|
-
[defaultColDef]="defaultColDef"
|
|
85
|
-
[pagination]="true"
|
|
86
|
-
[gridOptions]="gridOptions">
|
|
87
|
-
</ag-grid-angular>
|
|
88
|
-
</div>
|
|
89
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: AgGridModule }, { kind: "component", type: i3.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }, { kind: "ngmodule", type: FormlyModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
90
|
-
}
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldGridComponent, decorators: [{
|
|
92
|
-
type: Component,
|
|
93
|
-
args: [{
|
|
94
|
-
selector: 'mu-formly-field-grid',
|
|
95
|
-
standalone: true,
|
|
96
|
-
imports: [CommonModule, AgGridModule, FormlyModule],
|
|
97
|
-
template: `
|
|
98
|
-
<div [ngStyle]="style" >
|
|
99
|
-
<ag-grid-angular
|
|
100
|
-
style="width: 100%; height: 100%;"
|
|
101
|
-
class="ag-theme-alpine"
|
|
102
|
-
[rowData]="rowData || []"
|
|
103
|
-
[columnDefs]="columnDefs"
|
|
104
|
-
[defaultColDef]="defaultColDef"
|
|
105
|
-
[pagination]="true"
|
|
106
|
-
[gridOptions]="gridOptions">
|
|
107
|
-
</ag-grid-angular>
|
|
108
|
-
</div>
|
|
109
|
-
`,
|
|
110
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
111
|
-
}]
|
|
112
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
113
|
-
function findNestedKey(obj, targetKey) {
|
|
114
|
-
for (const key in obj) {
|
|
115
|
-
if (key === targetKey)
|
|
116
|
-
return obj[key];
|
|
117
|
-
if (typeof obj[key] === 'object') {
|
|
118
|
-
const result = findNestedKey(obj[key], targetKey);
|
|
119
|
-
if (result)
|
|
120
|
-
return result;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
return undefined;
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mb3JtL3NyYy9saWIvdHlwZXMvZ3JpZC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFrQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQXNCcEMsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFNBQVM7SUFlckQsWUFBb0IsZ0JBQWtDO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWJ0RCxVQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ2hCLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFDcEIsZUFBVSxHQUFhLEVBQUUsQ0FBQztRQUMxQixrQkFBYSxHQUFHO1lBQ2QsUUFBUSxFQUFFLElBQUk7WUFDZCxNQUFNLEVBQUUsSUFBSTtZQUNaLFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLENBQUM7WUFDUCxRQUFRLEVBQUUsR0FBRztZQUNiLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGdCQUFnQixFQUFFLElBQUk7U0FDdkIsQ0FBQztJQUlGLENBQUM7SUFDRCxXQUFXLENBQUMsTUFBVztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFP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QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7QUEyRUQsU0FBUyxhQUFhLENBQUMsR0FBUSxFQUFFLFNBQWM7SUFDN0MsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLEdBQUcsS0FBSyxTQUFTO1lBQUUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqQyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2xELElBQUksTUFBTTtnQkFBRSxPQUFPLE1BQU0sQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkQXJyYXlUeXBlLCBGaWVsZFR5cGUsIEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRmlyc3REYXRhUmVuZGVyZWRFdmVudCwgR3JpZE9wdGlvbnMsIENvbERlZiwgR3JpZEFwaSB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZ0dyaWRNb2R1bGUgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXUtZm9ybWx5LWZpZWxkLWdyaWQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBZ0dyaWRNb2R1bGUsIEZvcm1seU1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbbmdTdHlsZV09XCJzdHlsZVwiID5cbiAgICAgIDxhZy1ncmlkLWFuZ3VsYXJcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1wiXG4gICAgICAgIGNsYXNzPVwiYWctdGhlbWUtYWxwaW5lXCJcbiAgICAgICAgW3Jvd0RhdGFdPVwicm93RGF0YSB8fCBbXVwiXG4gICAgICAgIFtjb2x1bW5EZWZzXT1cImNvbHVtbkRlZnNcIlxuICAgICAgICBbZGVmYXVsdENvbERlZl09XCJkZWZhdWx0Q29sRGVmXCJcbiAgICAgICAgW3BhZ2luYXRpb25dPVwidHJ1ZVwiXG4gICAgICAgIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiPlxuICAgICAgPC9hZy1ncmlkLWFuZ3VsYXI+XG4gICAgPC9kaXY+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlGaWVsZEdyaWRDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGUgaW1wbGVtZW50cyBPbkluaXQge1xuICBncmlkT3B0aW9ucyE6IEdyaWRPcHRpb25zO1xuICBzdHlsZTogYW55ID0ge307XG4gIHJvd0RhdGE6IGFueVtdID0gW107XG4gIGNvbHVtbkRlZnM6IENvbERlZltdID0gW107XG4gIGRlZmF1bHRDb2xEZWYgPSB7XG4gICAgc29ydGFibGU6IHRydWUsXG4gICAgZmlsdGVyOiB0cnVlLFxuICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICBmbGV4OiAxLFxuICAgIG1pbldpZHRoOiAxNTAsXG4gICAgd3JhcEhlYWRlclRleHQ6IHRydWUsXG4gICAgYXV0b0hlYWRlckhlaWdodDogdHJ1ZVxuICB9O1xuICBncmlkQXBpITogR3JpZEFwaTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICBvbkdyaWRSZWFkeShwYXJhbXM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZEFwaSA9IHBhcmFtcy5hcGk7XG4gIH1cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdHlsZSA9IHtcbiAgICAgIHdpZHRoOiB0aGlzLnByb3BzPy5bJ3dpZHRoJ10sXG4gICAgICBoZWlnaHQ6IHRoaXMucHJvcHM/LlsnaGVpZ2h0J10sXG4gICAgfTtcbiAgICBjb25zdCBncmlkT3B0aW9uczogR3JpZE9wdGlvbnMgPSB0aGlzLnByb3BzWydncmlkT3B0aW9ucyddIHx8IHt9O1xuICAgIGdyaWRPcHRpb25zLmNvbnRleHQgPSB7XG4gICAgICBwYXJlbnRGaWVsZDogdGhpcy5maWVsZCxcbiAgICB9O1xuICAgIGdyaWRPcHRpb25zLnN1cHByZXNzTW92YWJsZUNvbHVtbnMgPSB0cnVlO1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSBncmlkT3B0aW9ucztcbiAgICB0aGlzLmNvbHVtbkRlZnMgPSBbXG4gICAgICAuLi50aGlzLnRyYW5zbGF0ZUxhYmVscyh0aGlzLmdyaWRPcHRpb25zPy5bJ2NvbHVtbkRlZnMnXSBhcyBhbnlbXSlcbiAgICBdO1xuXG4gICAgY29uc3QgZ3JpZERhdGEgPSBmaW5kTmVzdGVkS2V5KHRoaXMuZmllbGQucGFyZW50Py5tb2RlbCwgdGhpcy5maWVsZC5rZXkpO1xuICAgIHRoaXMucm93RGF0YSA9IEFycmF5LmlzQXJyYXkoZ3JpZERhdGEpID8gZ3JpZERhdGEgOiBbXTtcblxuICAgIGlmKHRoaXMuZmllbGQucHJvcHM/Llsncm93RGF0YSddKSB7XG4gICAgICBjb25zdCByb3dEYXRhID0gdGhpcy5maWVsZC5wcm9wcz8uWydyb3dEYXRhJ107XG5cbiAgaWYgKGlzT2JzZXJ2YWJsZShyb3dEYXRhKSkge1xuICAgIHJvd0RhdGEucGlwZSgpLnN1YnNjcmliZSgoZGF0YTogYW55W10gPSBbXSkgPT4ge1xuICAgICAgaWYgKCFkYXRhLmxlbmd0aCkge1xuICAgICAgICB0aGlzLnJvd0RhdGEgPSBbXTtcbiAgICAgICAgdGhpcy5ncmlkQXBpPy5kZXNlbGVjdEFsbCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yb3dEYXRhID0gWy4uLmRhdGFdO1xuICAgICAgICB0aGlzLmdyaWRBcGk/LmRlc2VsZWN0QWxsKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShyb3dEYXRhKSkge1xuICAgIHRoaXMucm93RGF0YSA9IFsuLi5yb3dEYXRhXTtcbiAgfVxuICAgIH1cbiAgfVxuXG4gIG9uRmlyc3REYXRhUmVuZGVyZWQocGFyYW1zOiBGaXJzdERhdGFSZW5kZXJlZEV2ZW50KSB7XG4gICAgcGFyYW1zLmFwaS5zaXplQ29sdW1uc1RvRml0KCk7XG4gIH1cblxuICB0cmFuc2xhdGVMYWJlbHMoXG4gICAgY29sdW1uRGVmczogYW55W11cbiAgKTogYW55W10ge1xuICAgIHJldHVybiBjb2x1bW5EZWZzLm1hcCgoY29sdW1uKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jb2x1bW4sXG4gICAgICAgIGhlYWRlck5hbWU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGNvbHVtbi5oZWFkZXJOYW1lKVxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZE5lc3RlZEtleShvYmo6IGFueSwgdGFyZ2V0S2V5OiBhbnkpOiBhbnkge1xuICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcbiAgICBpZiAoa2V5ID09PSB0YXJnZXRLZXkpIHJldHVybiBvYmpba2V5XTtcbiAgICBpZiAodHlwZW9mIG9ialtrZXldID09PSAnb2JqZWN0Jykge1xuICAgICAgY29uc3QgcmVzdWx0ID0gZmluZE5lc3RlZEtleShvYmpba2V5XSwgdGFyZ2V0S2V5KTtcbiAgICAgIGlmIChyZXN1bHQpIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59Il19
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
5
|
-
import { MatInputModule } from '@angular/material/input';
|
|
6
|
-
import { FormlyModule } from '@ngx-formly/core';
|
|
7
|
-
import { FieldType } from '@ngx-formly/material';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/common";
|
|
10
|
-
import * as i2 from "@angular/material/input";
|
|
11
|
-
import * as i3 from "@angular/material/form-field";
|
|
12
|
-
import * as i4 from "@ngx-formly/core";
|
|
13
|
-
import * as i5 from "@angular/forms";
|
|
14
|
-
export class CustomFormlyMatInputComponent extends FieldType {
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomFormlyMatInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CustomFormlyMatInputComponent, isStandalone: true, selector: "mu-formly-field-mat-input", usesInheritance: true, ngImport: i0, template: `
|
|
17
|
-
<mat-form-field class="w-full" appearance="outline">
|
|
18
|
-
<mat-label>{{ to.label }}</mat-label>
|
|
19
|
-
<input matInput [formControl]="formControl" [formlyAttributes]="field" />
|
|
20
|
-
</mat-form-field>
|
|
21
|
-
<mat-error *ngIf="formControl.invalid && formControl.touched">
|
|
22
|
-
{{ field.validation?.messages?.['required'] || field.validation?.messages?.['pattern']}}
|
|
23
|
-
</mat-error>
|
|
24
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i4.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatFormFieldModule }] }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomFormlyMatInputComponent, decorators: [{
|
|
27
|
-
type: Component,
|
|
28
|
-
args: [{
|
|
29
|
-
selector: 'mu-formly-field-mat-input',
|
|
30
|
-
standalone: true,
|
|
31
|
-
imports: [CommonModule, MatInputModule, FormlyModule, ReactiveFormsModule, FormsModule, MatFormFieldModule],
|
|
32
|
-
template: `
|
|
33
|
-
<mat-form-field class="w-full" appearance="outline">
|
|
34
|
-
<mat-label>{{ to.label }}</mat-label>
|
|
35
|
-
<input matInput [formControl]="formControl" [formlyAttributes]="field" />
|
|
36
|
-
</mat-form-field>
|
|
37
|
-
<mat-error *ngIf="formControl.invalid && formControl.touched">
|
|
38
|
-
{{ field.validation?.messages?.['required'] || field.validation?.messages?.['pattern']}}
|
|
39
|
-
</mat-error>
|
|
40
|
-
`,
|
|
41
|
-
}]
|
|
42
|
-
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZm9ybS9zcmMvbGliL3R5cGVzL2lucHV0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQWdCakQsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFNBQTBCOytHQUFoRSw2QkFBNkI7bUdBQTdCLDZCQUE2Qiw0R0FWOUI7Ozs7Ozs7O0dBUVQsMkRBVFMsWUFBWSxrSUFBRSxjQUFjLG10QkFBRSxZQUFZLHFKQUFFLG1CQUFtQix5a0JBQUUsV0FBVyw4QkFBRSxrQkFBa0I7OzRGQVcvRiw2QkFBNkI7a0JBZHpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQztvQkFDM0csUUFBUSxFQUFFOzs7Ozs7OztHQVFUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnLCBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXUtZm9ybWx5LWZpZWxkLW1hdC1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdElucHV0TW9kdWxlLCBGb3JtbHlNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlLCBNYXRGb3JtRmllbGRNb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctZnVsbFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgPG1hdC1sYWJlbD57eyB0by5sYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCIgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbC5pbnZhbGlkICYmIGZvcm1Db250cm9sLnRvdWNoZWRcIj5cbiAgICAgIHt7IGZpZWxkLnZhbGlkYXRpb24/Lm1lc3NhZ2VzPy5bJ3JlcXVpcmVkJ10gfHwgZmllbGQudmFsaWRhdGlvbj8ubWVzc2FnZXM/LlsncGF0dGVybiddfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tRm9ybWx5TWF0SW5wdXRDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPiB7fVxuIl19
|