@es.framework/ng.ui.core 2.0.66 → 2.0.67
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/README.md +3 -3
- package/attachments/README.md +3 -3
- package/base-crud/README.md +3 -3
- package/breadcrumb/README.md +3 -3
- package/checkbox/README.md +3 -3
- package/collapsible/README.md +3 -3
- package/color-picker/README.md +3 -3
- package/column-settings-popover/README.md +3 -3
- package/custom-switch/README.md +3 -3
- package/datepicker/README.md +3 -3
- package/deactivation-reason/README.md +3 -3
- package/excel-import/README.md +3 -3
- package/fesm2022/es.framework-ng.ui.core-attachments.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-attachments.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-base-crud.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-breadcrumb.mjs +110 -109
- package/fesm2022/es.framework-ng.ui.core-breadcrumb.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-checkbox.mjs +54 -54
- package/fesm2022/es.framework-ng.ui.core-checkbox.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-collapsible.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-color-picker.mjs +44 -44
- package/fesm2022/es.framework-ng.ui.core-color-picker.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-column-settings-popover.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-column-settings-popover.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-custom-switch.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-datepicker.mjs +178 -178
- package/fesm2022/es.framework-ng.ui.core-datepicker.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-deactivation-reason.mjs +46 -46
- package/fesm2022/es.framework-ng.ui.core-deactivation-reason.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-excel-import.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-filter-templates.mjs +624 -624
- package/fesm2022/es.framework-ng.ui.core-filter-templates.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-form-button.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-form-field.mjs +80 -80
- package/fesm2022/es.framework-ng.ui.core-form-field.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-form-template.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-formly-avatar-image.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-formly-avatar-label.mjs +44 -44
- package/fesm2022/es.framework-ng.ui.core-formly-avatar-label.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-formly-button-selector.mjs +92 -92
- package/fesm2022/es.framework-ng.ui.core-formly-button-selector.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-formly-button.mjs +24 -24
- package/fesm2022/es.framework-ng.ui.core-formly-button.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-formly-presets.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-formly-prime-icon-picker.mjs +366 -366
- package/fesm2022/es.framework-ng.ui.core-formly-prime-icon-picker.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-formly-split-button.mjs +16 -16
- package/fesm2022/es.framework-ng.ui.core-formly-split-button.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-formly-ui-all.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-formly-ui.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-formly-username-with-domain.mjs +16 -16
- package/fesm2022/es.framework-ng.ui.core-formly-username-with-domain.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-assets.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-autocomplete.mjs +38 -38
- package/fesm2022/es.framework-ng.ui.core-generic-autocomplete.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-button.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-generic-button.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-card.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-generic-card.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-crud-table.mjs +12 -5
- package/fesm2022/es.framework-ng.ui.core-generic-crud-table.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-dialog.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-generic-dialog.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-errormessage.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-generic-errormessage.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-formly-fields.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-generic-formly-fields.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-listbox.mjs +64 -64
- package/fesm2022/es.framework-ng.ui.core-generic-listbox.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-loadingspinner.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-generic-loadingspinner.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-report-tabs.mjs +68 -68
- package/fesm2022/es.framework-ng.ui.core-generic-report-tabs.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-report.mjs +4 -2
- package/fesm2022/es.framework-ng.ui.core-generic-report.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-search-advanced.mjs +518 -495
- package/fesm2022/es.framework-ng.ui.core-generic-search-advanced.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-search.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-generic-search.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-selector.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-table.mjs +4 -4
- package/fesm2022/es.framework-ng.ui.core-generic-table.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-generic-view.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-generic-view.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-header-wrapper.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-header-wrapper.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-icon-picker.mjs +106 -106
- package/fesm2022/es.framework-ng.ui.core-icon-picker.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-input-switch.mjs +58 -58
- package/fesm2022/es.framework-ng.ui.core-input-switch.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-input-with-icon.mjs +26 -26
- package/fesm2022/es.framework-ng.ui.core-input-with-icon.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-input.mjs +64 -64
- package/fesm2022/es.framework-ng.ui.core-input.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-label-type.mjs +16 -16
- package/fesm2022/es.framework-ng.ui.core-label-type.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-loading-skeletons.mjs +22 -22
- package/fesm2022/es.framework-ng.ui.core-loading-skeletons.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-odata-query-builder.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-odata-query-builder.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-query-type.mjs +14 -14
- package/fesm2022/es.framework-ng.ui.core-query-type.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-radio.mjs +30 -30
- package/fesm2022/es.framework-ng.ui.core-radio.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-repeat.mjs +354 -354
- package/fesm2022/es.framework-ng.ui.core-repeat.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-select.mjs +84 -84
- package/fesm2022/es.framework-ng.ui.core-select.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-sidebar-cards.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-sidebar-cards.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-sidebar-toggles.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core-sidebar-toggles.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-tabs.mjs +14 -14
- package/fesm2022/es.framework-ng.ui.core-tabs.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-tag-type.mjs +80 -80
- package/fesm2022/es.framework-ng.ui.core-tag-type.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-text-editor.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-textarea.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core-wrappers.mjs +118 -118
- package/fesm2022/es.framework-ng.ui.core-wrappers.mjs.map +1 -1
- package/fesm2022/es.framework-ng.ui.core.mjs +2 -2
- package/fesm2022/es.framework-ng.ui.core.mjs.map +1 -1
- package/filter-templates/README.md +3 -3
- package/form-button/README.md +3 -3
- package/form-field/README.md +3 -3
- package/form-template/README.md +3 -3
- package/formly-avatar-image/README.md +3 -3
- package/formly-avatar-label/README.md +3 -3
- package/formly-button/README.md +3 -3
- package/formly-button-selector/README.md +3 -3
- package/formly-presets/README.md +3 -3
- package/formly-prime-icon-picker/README.md +3 -3
- package/formly-split-button/README.md +3 -3
- package/formly-ui/README.md +3 -3
- package/formly-ui-all/README.md +3 -3
- package/formly-username-with-domain/README.md +3 -3
- package/generic-assets/README.md +3 -3
- package/generic-autocomplete/README.md +3 -3
- package/generic-button/README.md +3 -3
- package/generic-card/README.md +3 -3
- package/generic-crud-table/README.md +3 -3
- package/generic-dialog/README.md +3 -3
- package/generic-errormessage/README.md +3 -3
- package/generic-formly-fields/README.md +3 -3
- package/generic-loadingspinner/README.md +3 -3
- package/generic-report/README.md +3 -3
- package/generic-search/README.md +3 -3
- package/generic-search-advanced/README.md +3 -3
- package/generic-selector/README.md +3 -3
- package/generic-table/README.md +3 -3
- package/generic-view/README.md +3 -3
- package/header-wrapper/README.md +3 -3
- package/icon-picker/README.md +3 -3
- package/input/README.md +3 -3
- package/input-switch/README.md +3 -3
- package/input-with-icon/README.md +3 -3
- package/label-type/README.md +3 -3
- package/loading-skeletons/README.md +3 -3
- package/odata-query-builder/README.md +3 -3
- package/package.json +1 -1
- package/query-type/README.md +3 -3
- package/radio/README.md +3 -3
- package/repeat/README.md +3 -3
- package/select/README.md +3 -3
- package/sidebar-cards/README.md +3 -3
- package/sidebar-toggles/README.md +3 -3
- package/styles.css +0 -0
- package/tabs/README.md +3 -3
- package/tag-type/README.md +3 -3
- package/text-editor/README.md +3 -3
- package/textarea/README.md +3 -3
- package/types/es.framework-ng.ui.core-generic-crud-table.d.ts +1 -0
- package/types/es.framework-ng.ui.core-generic-search-advanced.d.ts +5 -2
- package/wrappers/README.md +3 -3
|
@@ -43,76 +43,76 @@ class FormlyFieldInput extends FieldType {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: FormlyFieldInput, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: FormlyFieldInput, isStandalone: true, selector: "formly-field-primeng-input", viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "inputNumberElement", first: true, predicate: ["inputNumberElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
47
|
-
@if (props.type !== 'number') {
|
|
48
|
-
<input
|
|
49
|
-
pInputText
|
|
50
|
-
[type]="props['type'] || 'text'"
|
|
51
|
-
[formControl]="formControl"
|
|
52
|
-
[formlyAttributes]="field"
|
|
53
|
-
[placeholder]="(props['placeholder'] ?? '')| translate"
|
|
54
|
-
class="w-full rounded-none block"
|
|
55
|
-
#inputElement
|
|
56
|
-
/>
|
|
57
|
-
} @else {
|
|
58
|
-
<p-inputNumber
|
|
59
|
-
[formControl]="formControl"
|
|
60
|
-
[formlyAttributes]="field"
|
|
61
|
-
[readonly]="props['readonly'] || false"
|
|
62
|
-
class="w-full rounded-none block"
|
|
63
|
-
[min]="props['min'] || 0"
|
|
64
|
-
[showButtons]="props['showButtons'] ?? false"
|
|
65
|
-
buttonLayout="horizontal"
|
|
66
|
-
spinnerMode="horizontal"
|
|
67
|
-
[useGrouping]="props['useGrouping']"
|
|
68
|
-
[placeholder]="(props['placeholder'] ?? '')| translate"
|
|
69
|
-
#inputNumberElement>
|
|
70
|
-
<ng-template #incrementbuttonicon>
|
|
71
|
-
<span class="pi pi-plus"></span>
|
|
72
|
-
</ng-template>
|
|
73
|
-
<ng-template #decrementbuttonicon>
|
|
74
|
-
<span class="pi pi-minus"></span>
|
|
75
|
-
</ng-template>
|
|
76
|
-
</p-inputNumber>
|
|
77
|
-
}
|
|
46
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: FormlyFieldInput, isStandalone: true, selector: "formly-field-primeng-input", viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "inputNumberElement", first: true, predicate: ["inputNumberElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
47
|
+
@if (props.type !== 'number') {
|
|
48
|
+
<input
|
|
49
|
+
pInputText
|
|
50
|
+
[type]="props['type'] || 'text'"
|
|
51
|
+
[formControl]="formControl"
|
|
52
|
+
[formlyAttributes]="field"
|
|
53
|
+
[placeholder]="(props['placeholder'] ?? '')| translate"
|
|
54
|
+
class="w-full rounded-none block"
|
|
55
|
+
#inputElement
|
|
56
|
+
/>
|
|
57
|
+
} @else {
|
|
58
|
+
<p-inputNumber
|
|
59
|
+
[formControl]="formControl"
|
|
60
|
+
[formlyAttributes]="field"
|
|
61
|
+
[readonly]="props['readonly'] || false"
|
|
62
|
+
class="w-full rounded-none block"
|
|
63
|
+
[min]="props['min'] || 0"
|
|
64
|
+
[showButtons]="props['showButtons'] ?? false"
|
|
65
|
+
buttonLayout="horizontal"
|
|
66
|
+
spinnerMode="horizontal"
|
|
67
|
+
[useGrouping]="props['useGrouping']"
|
|
68
|
+
[placeholder]="(props['placeholder'] ?? '')| translate"
|
|
69
|
+
#inputNumberElement>
|
|
70
|
+
<ng-template #incrementbuttonicon>
|
|
71
|
+
<span class="pi pi-plus"></span>
|
|
72
|
+
</ng-template>
|
|
73
|
+
<ng-template #decrementbuttonicon>
|
|
74
|
+
<span class="pi pi-minus"></span>
|
|
75
|
+
</ng-template>
|
|
76
|
+
</p-inputNumber>
|
|
77
|
+
}
|
|
78
78
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "ngmodule", type: FormlyFormFieldModule }, { kind: "directive", type: FormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabelledBy", "ariaDescribedBy", "ariaLabel", "ariaRequired", "autocomplete", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
79
79
|
}
|
|
80
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: FormlyFieldInput, decorators: [{
|
|
81
81
|
type: Component,
|
|
82
82
|
args: [{
|
|
83
83
|
selector: 'formly-field-primeng-input',
|
|
84
|
-
template: `
|
|
85
|
-
@if (props.type !== 'number') {
|
|
86
|
-
<input
|
|
87
|
-
pInputText
|
|
88
|
-
[type]="props['type'] || 'text'"
|
|
89
|
-
[formControl]="formControl"
|
|
90
|
-
[formlyAttributes]="field"
|
|
91
|
-
[placeholder]="(props['placeholder'] ?? '')| translate"
|
|
92
|
-
class="w-full rounded-none block"
|
|
93
|
-
#inputElement
|
|
94
|
-
/>
|
|
95
|
-
} @else {
|
|
96
|
-
<p-inputNumber
|
|
97
|
-
[formControl]="formControl"
|
|
98
|
-
[formlyAttributes]="field"
|
|
99
|
-
[readonly]="props['readonly'] || false"
|
|
100
|
-
class="w-full rounded-none block"
|
|
101
|
-
[min]="props['min'] || 0"
|
|
102
|
-
[showButtons]="props['showButtons'] ?? false"
|
|
103
|
-
buttonLayout="horizontal"
|
|
104
|
-
spinnerMode="horizontal"
|
|
105
|
-
[useGrouping]="props['useGrouping']"
|
|
106
|
-
[placeholder]="(props['placeholder'] ?? '')| translate"
|
|
107
|
-
#inputNumberElement>
|
|
108
|
-
<ng-template #incrementbuttonicon>
|
|
109
|
-
<span class="pi pi-plus"></span>
|
|
110
|
-
</ng-template>
|
|
111
|
-
<ng-template #decrementbuttonicon>
|
|
112
|
-
<span class="pi pi-minus"></span>
|
|
113
|
-
</ng-template>
|
|
114
|
-
</p-inputNumber>
|
|
115
|
-
}
|
|
84
|
+
template: `
|
|
85
|
+
@if (props.type !== 'number') {
|
|
86
|
+
<input
|
|
87
|
+
pInputText
|
|
88
|
+
[type]="props['type'] || 'text'"
|
|
89
|
+
[formControl]="formControl"
|
|
90
|
+
[formlyAttributes]="field"
|
|
91
|
+
[placeholder]="(props['placeholder'] ?? '')| translate"
|
|
92
|
+
class="w-full rounded-none block"
|
|
93
|
+
#inputElement
|
|
94
|
+
/>
|
|
95
|
+
} @else {
|
|
96
|
+
<p-inputNumber
|
|
97
|
+
[formControl]="formControl"
|
|
98
|
+
[formlyAttributes]="field"
|
|
99
|
+
[readonly]="props['readonly'] || false"
|
|
100
|
+
class="w-full rounded-none block"
|
|
101
|
+
[min]="props['min'] || 0"
|
|
102
|
+
[showButtons]="props['showButtons'] ?? false"
|
|
103
|
+
buttonLayout="horizontal"
|
|
104
|
+
spinnerMode="horizontal"
|
|
105
|
+
[useGrouping]="props['useGrouping']"
|
|
106
|
+
[placeholder]="(props['placeholder'] ?? '')| translate"
|
|
107
|
+
#inputNumberElement>
|
|
108
|
+
<ng-template #incrementbuttonicon>
|
|
109
|
+
<span class="pi pi-plus"></span>
|
|
110
|
+
</ng-template>
|
|
111
|
+
<ng-template #decrementbuttonicon>
|
|
112
|
+
<span class="pi pi-minus"></span>
|
|
113
|
+
</ng-template>
|
|
114
|
+
</p-inputNumber>
|
|
115
|
+
}
|
|
116
116
|
`,
|
|
117
117
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
118
118
|
standalone: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"es.framework-ng.ui.core-input.mjs","sources":["../../../../libs/ng.ui.core/input/src/lib/input-module.ts","../../../../libs/ng.ui.core/input/src/lib/input.type.ts","../../../../libs/ng.ui.core/input/src/lib/input.config.ts","../../../../libs/ng.ui.core/input/src/lib/input.module.ts","../../../../libs/ng.ui.core/input/src/lib/advanced-input.config.ts","../../../../libs/ng.ui.core/input/src/es.framework-ng.ui.core-input.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n})\r\nexport class InputModule {}\r\n","import { Component, ChangeDetectionStrategy, Type, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { FieldType, FieldTypeConfig, FormlyAttributes, FormlyFieldConfig } from '@ngx-formly/core';\r\n\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { FormlyFormFieldModule } from '@ngx-formly/primeng/form-field';\r\nimport { DatePickerModule } from 'primeng/datepicker';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { TranslatePipe } from '@es.framework/ng.core/pipes';\r\nimport { FormlyFieldProps } from '@es.framework/ng.ui.core/form-field';\r\nimport { InputNumber } from 'primeng/inputnumber';\r\n\r\ninterface InputProps extends FormlyFieldProps {\r\n showButtons?: boolean;\r\n autofocus?: boolean;\r\n useGrouping?: boolean;\r\n}\r\n\r\nexport interface FormlyInputFieldConfig extends FormlyFieldConfig<InputProps> {\r\n type: 'input' | Type<FormlyFieldInput>;\r\n}\r\n\r\n@Component({\r\n selector: 'formly-field-primeng-input',\r\n template: `\r\n @if (props.type !== 'number') {\r\n <input\r\n pInputText\r\n [type]=\"props['type'] || 'text'\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [placeholder]=\"(props['placeholder'] ?? '')| translate\"\r\n class=\"w-full rounded-none block\"\r\n #inputElement\r\n />\r\n } @else {\r\n <p-inputNumber\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [readonly]=\"props['readonly'] || false\"\r\n class=\"w-full rounded-none block\"\r\n [min]=\"props['min'] || 0\"\r\n [showButtons]=\"props['showButtons'] ?? false\"\r\n buttonLayout=\"horizontal\"\r\n spinnerMode=\"horizontal\"\r\n [useGrouping]=\"props['useGrouping']\"\r\n [placeholder]=\"(props['placeholder'] ?? '')| translate\"\r\n #inputNumberElement>\r\n <ng-template #incrementbuttonicon>\r\n <span class=\"pi pi-plus\"></span>\r\n </ng-template>\r\n <ng-template #decrementbuttonicon>\r\n <span class=\"pi pi-minus\"></span>\r\n </ng-template>\r\n </p-inputNumber>\r\n }\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [\r\n ReactiveFormsModule,\r\n DatePickerModule,\r\n FormlyFormFieldModule,\r\n FormlyAttributes,\r\n InputTextModule,\r\n TranslatePipe,\r\n InputNumber\r\n]\r\n})\r\nexport class FormlyFieldInput extends FieldType<FieldTypeConfig<InputProps>> implements AfterViewInit {\r\n @ViewChild('inputElement') inputElement?: ElementRef<HTMLInputElement>;\r\n @ViewChild('inputNumberElement') inputNumberElement?: any; // p-inputNumber component reference\r\n\r\n ngAfterViewInit() {\r\n if (this.props.autofocus) {\r\n setTimeout(() => {\r\n if (this.props.type === 'number' && this.inputNumberElement?.el?.nativeElement) {\r\n // Focus for p-inputNumber\r\n this.inputNumberElement.el.nativeElement.querySelector('input')?.focus();\r\n } else if (this.inputElement?.nativeElement) {\r\n // Focus for regular input\r\n this.inputElement.nativeElement.focus();\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { ConfigOption } from '@ngx-formly/core';\r\nimport { FormlyFieldInput } from './input.type';\r\n\r\nexport function withFormlyFieldInput(): ConfigOption {\r\n return {\r\n types: [\r\n {\r\n name: 'input',\r\n component: FormlyFieldInput,\r\n wrappers: ['form-field'],\r\n },\r\n { name: 'string', extends: 'input' },\r\n {\r\n name: 'number',\r\n extends: 'input',\r\n defaultOptions: {\r\n props: {\r\n type: 'number',\r\n },\r\n },\r\n },\r\n {\r\n name: 'integer',\r\n extends: 'input',\r\n defaultOptions: {\r\n props: {\r\n type: 'number',\r\n },\r\n },\r\n },\r\n ],\r\n };\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormlyModule } from '@ngx-formly/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\n\r\nimport { FormlyFieldInput } from './input.type';\r\nimport { withFormlyFieldInput } from './input.config';\r\nimport { FormlyFormFieldModule } from '@es.framework/ng.ui.core/form-field';\r\n// import { FormlyFormFieldModule } from '../../components/form-field';\r\n\r\n@NgModule({\r\n // declarations: [FormlyFieldInput],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n InputTextModule,\r\n FormlyFormFieldModule,\r\n FormlyModule.forChild(withFormlyFieldInput()),\r\n ],\r\n})\r\nexport class FormlyInputModule {}\r\n","\r\nimport { ConfigOption } from \"@ngx-formly/core\";\r\nimport { FormlyFieldInput } from \"./input.type\";\r\n\r\n\r\nexport function withFormlyFieldAdvancedInput(): ConfigOption {\r\n return {\r\n types: [\r\n {\r\n name: 'advanced-input',\r\n component: FormlyFieldInput,\r\n wrappers: ['form-field'],\r\n },\r\n ],\r\n };\r\n}\r\n\r\nexport function withFormlyFieldString(): ConfigOption {\r\n return {\r\n types: [\r\n {\r\n name: 'string',\r\n extends: 'input',\r\n },\r\n ],\r\n };\r\n}\r\n\r\nexport function withFormlyFieldNumber(): ConfigOption {\r\n return {\r\n types: [\r\n {\r\n name: 'number',\r\n extends: 'input',\r\n defaultOptions: {\r\n props: {\r\n type: 'number',\r\n },\r\n },\r\n },\r\n ],\r\n };\r\n}\r\n\r\nexport function withFormlyFieldInteger(): ConfigOption {\r\n return {\r\n types: [\r\n {\r\n name: 'integer',\r\n extends: 'input',\r\n defaultOptions: {\r\n props: {\r\n type: 'number',\r\n },\r\n },\r\n },\r\n ],\r\n };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["FormlyFormFieldModule","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"es.framework-ng.ui.core-input.mjs","sources":["../../../../libs/ng.ui.core/input/src/lib/input-module.ts","../../../../libs/ng.ui.core/input/src/lib/input.type.ts","../../../../libs/ng.ui.core/input/src/lib/input.config.ts","../../../../libs/ng.ui.core/input/src/lib/input.module.ts","../../../../libs/ng.ui.core/input/src/lib/advanced-input.config.ts","../../../../libs/ng.ui.core/input/src/es.framework-ng.ui.core-input.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [CommonModule],\n})\nexport class InputModule {}\n","import { Component, ChangeDetectionStrategy, Type, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\nimport { FieldType, FieldTypeConfig, FormlyAttributes, FormlyFieldConfig } from '@ngx-formly/core';\n\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyFormFieldModule } from '@ngx-formly/primeng/form-field';\nimport { DatePickerModule } from 'primeng/datepicker';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { TranslatePipe } from '@es.framework/ng.core/pipes';\nimport { FormlyFieldProps } from '@es.framework/ng.ui.core/form-field';\nimport { InputNumber } from 'primeng/inputnumber';\n\ninterface InputProps extends FormlyFieldProps {\n showButtons?: boolean;\n autofocus?: boolean;\n useGrouping?: boolean;\n}\n\nexport interface FormlyInputFieldConfig extends FormlyFieldConfig<InputProps> {\n type: 'input' | Type<FormlyFieldInput>;\n}\n\n@Component({\n selector: 'formly-field-primeng-input',\n template: `\n @if (props.type !== 'number') {\n <input\n pInputText\n [type]=\"props['type'] || 'text'\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"(props['placeholder'] ?? '')| translate\"\n class=\"w-full rounded-none block\"\n #inputElement\n />\n } @else {\n <p-inputNumber\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [readonly]=\"props['readonly'] || false\"\n class=\"w-full rounded-none block\"\n [min]=\"props['min'] || 0\"\n [showButtons]=\"props['showButtons'] ?? false\"\n buttonLayout=\"horizontal\"\n spinnerMode=\"horizontal\"\n [useGrouping]=\"props['useGrouping']\"\n [placeholder]=\"(props['placeholder'] ?? '')| translate\"\n #inputNumberElement>\n <ng-template #incrementbuttonicon>\n <span class=\"pi pi-plus\"></span>\n </ng-template>\n <ng-template #decrementbuttonicon>\n <span class=\"pi pi-minus\"></span>\n </ng-template>\n </p-inputNumber>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n ReactiveFormsModule,\n DatePickerModule,\n FormlyFormFieldModule,\n FormlyAttributes,\n InputTextModule,\n TranslatePipe,\n InputNumber\n]\n})\nexport class FormlyFieldInput extends FieldType<FieldTypeConfig<InputProps>> implements AfterViewInit {\n @ViewChild('inputElement') inputElement?: ElementRef<HTMLInputElement>;\n @ViewChild('inputNumberElement') inputNumberElement?: any; // p-inputNumber component reference\n\n ngAfterViewInit() {\n if (this.props.autofocus) {\n setTimeout(() => {\n if (this.props.type === 'number' && this.inputNumberElement?.el?.nativeElement) {\n // Focus for p-inputNumber\n this.inputNumberElement.el.nativeElement.querySelector('input')?.focus();\n } else if (this.inputElement?.nativeElement) {\n // Focus for regular input\n this.inputElement.nativeElement.focus();\n }\n });\n }\n }\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyFieldInput } from './input.type';\n\nexport function withFormlyFieldInput(): ConfigOption {\n return {\n types: [\n {\n name: 'input',\n component: FormlyFieldInput,\n wrappers: ['form-field'],\n },\n { name: 'string', extends: 'input' },\n {\n name: 'number',\n extends: 'input',\n defaultOptions: {\n props: {\n type: 'number',\n },\n },\n },\n {\n name: 'integer',\n extends: 'input',\n defaultOptions: {\n props: {\n type: 'number',\n },\n },\n },\n ],\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { InputTextModule } from 'primeng/inputtext';\n\nimport { FormlyFieldInput } from './input.type';\nimport { withFormlyFieldInput } from './input.config';\nimport { FormlyFormFieldModule } from '@es.framework/ng.ui.core/form-field';\n// import { FormlyFormFieldModule } from '../../components/form-field';\n\n@NgModule({\n // declarations: [FormlyFieldInput],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n InputTextModule,\n FormlyFormFieldModule,\n FormlyModule.forChild(withFormlyFieldInput()),\n ],\n})\nexport class FormlyInputModule {}\n","\r\nimport { ConfigOption } from \"@ngx-formly/core\";\r\nimport { FormlyFieldInput } from \"./input.type\";\r\n\r\n\r\nexport function withFormlyFieldAdvancedInput(): ConfigOption {\r\n return {\r\n types: [\r\n {\r\n name: 'advanced-input',\r\n component: FormlyFieldInput,\r\n wrappers: ['form-field'],\r\n },\r\n ],\r\n };\r\n}\r\n\r\nexport function withFormlyFieldString(): ConfigOption {\r\n return {\r\n types: [\r\n {\r\n name: 'string',\r\n extends: 'input',\r\n },\r\n ],\r\n };\r\n}\r\n\r\nexport function withFormlyFieldNumber(): ConfigOption {\r\n return {\r\n types: [\r\n {\r\n name: 'number',\r\n extends: 'input',\r\n defaultOptions: {\r\n props: {\r\n type: 'number',\r\n },\r\n },\r\n },\r\n ],\r\n };\r\n}\r\n\r\nexport function withFormlyFieldInteger(): ConfigOption {\r\n return {\r\n types: [\r\n {\r\n name: 'integer',\r\n extends: 'input',\r\n defaultOptions: {\r\n props: {\r\n type: 'number',\r\n },\r\n },\r\n },\r\n ],\r\n };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["FormlyFormFieldModule","i1"],"mappings":"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"}
|
|
@@ -40,10 +40,10 @@ class LabelTypeComponent extends FieldType {
|
|
|
40
40
|
return val ?? '--';
|
|
41
41
|
}
|
|
42
42
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: LabelTypeComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: LabelTypeComponent, isStandalone: true, selector: "formly-label-type", usesInheritance: true, ngImport: i0, template: `
|
|
44
|
-
<div [class]="to['className'] || 'text-gray-700 font-bold'">
|
|
45
|
-
<span [innerHTML]="displayValue"></span>
|
|
46
|
-
</div>
|
|
43
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: LabelTypeComponent, isStandalone: true, selector: "formly-label-type", usesInheritance: true, ngImport: i0, template: `
|
|
44
|
+
<div [class]="to['className'] || 'text-gray-700 font-bold'">
|
|
45
|
+
<span [innerHTML]="displayValue"></span>
|
|
46
|
+
</div>
|
|
47
47
|
`, isInline: true });
|
|
48
48
|
}
|
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: LabelTypeComponent, decorators: [{
|
|
@@ -51,10 +51,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
51
51
|
args: [{
|
|
52
52
|
selector: 'formly-label-type',
|
|
53
53
|
standalone: true,
|
|
54
|
-
template: `
|
|
55
|
-
<div [class]="to['className'] || 'text-gray-700 font-bold'">
|
|
56
|
-
<span [innerHTML]="displayValue"></span>
|
|
57
|
-
</div>
|
|
54
|
+
template: `
|
|
55
|
+
<div [class]="to['className'] || 'text-gray-700 font-bold'">
|
|
56
|
+
<span [innerHTML]="displayValue"></span>
|
|
57
|
+
</div>
|
|
58
58
|
`,
|
|
59
59
|
}]
|
|
60
60
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }] });
|
|
@@ -83,10 +83,10 @@ class CustomTypeComponent extends FieldType {
|
|
|
83
83
|
return val ?? '--';
|
|
84
84
|
}
|
|
85
85
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: CustomTypeComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
86
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: CustomTypeComponent, isStandalone: true, selector: "custom-label-type", usesInheritance: true, ngImport: i0, template: `
|
|
87
|
-
<div [class]="to['className'] || 'text-gray-700 font-bold'">
|
|
88
|
-
<span [innerHTML]="displayValue"></span>
|
|
89
|
-
</div>
|
|
86
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: CustomTypeComponent, isStandalone: true, selector: "custom-label-type", usesInheritance: true, ngImport: i0, template: `
|
|
87
|
+
<div [class]="to['className'] || 'text-gray-700 font-bold'">
|
|
88
|
+
<span [innerHTML]="displayValue"></span>
|
|
89
|
+
</div>
|
|
90
90
|
`, isInline: true });
|
|
91
91
|
}
|
|
92
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: CustomTypeComponent, decorators: [{
|
|
@@ -94,10 +94,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
94
94
|
args: [{
|
|
95
95
|
selector: 'custom-label-type',
|
|
96
96
|
standalone: true,
|
|
97
|
-
template: `
|
|
98
|
-
<div [class]="to['className'] || 'text-gray-700 font-bold'">
|
|
99
|
-
<span [innerHTML]="displayValue"></span>
|
|
100
|
-
</div>
|
|
97
|
+
template: `
|
|
98
|
+
<div [class]="to['className'] || 'text-gray-700 font-bold'">
|
|
99
|
+
<span [innerHTML]="displayValue"></span>
|
|
100
|
+
</div>
|
|
101
101
|
`,
|
|
102
102
|
}]
|
|
103
103
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"es.framework-ng.ui.core-label-type.mjs","sources":["../../../../libs/ng.ui.core/label-type/src/lib/label-type-module.ts","../../../../libs/ng.ui.core/label-type/src/lib/label-type.ts","../../../../libs/ng.ui.core/label-type/src/lib/custom-label-type.ts","../../../../libs/ng.ui.core/label-type/src/lib/clickable-label-type.ts","../../../../libs/ng.ui.core/label-type/src/es.framework-ng.ui.core-label-type.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\
|
|
1
|
+
{"version":3,"file":"es.framework-ng.ui.core-label-type.mjs","sources":["../../../../libs/ng.ui.core/label-type/src/lib/label-type-module.ts","../../../../libs/ng.ui.core/label-type/src/lib/label-type.ts","../../../../libs/ng.ui.core/label-type/src/lib/custom-label-type.ts","../../../../libs/ng.ui.core/label-type/src/lib/clickable-label-type.ts","../../../../libs/ng.ui.core/label-type/src/es.framework-ng.ui.core-label-type.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [CommonModule],\n})\nexport class LabelTypeModule {}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'formly-label-type',\n standalone: true,\n template: `\n <div [class]=\"to['className'] || 'text-gray-700 font-bold'\">\n <span [innerHTML]=\"displayValue\"></span>\n </div>\n `,\n})\nexport class LabelTypeComponent extends FieldType {\n constructor(private sanitizer: DomSanitizer) {\n super();\n }\n\n get displayValue(): SafeHtml {\n const key = this.key as string;\n const val = this.model?.[key];\n const row = this.model ?? {};\n\n const formatter = this.props['formatter'];\n if (formatter && typeof formatter === 'function') {\n try {\n const html = formatter(row, val);\n return this.sanitizer.bypassSecurityTrustHtml(html); // 🔑 هنا\n } catch (e) {\n console.warn('Formatter error:', e);\n return val ?? '--';\n }\n }\n\n return val ?? '--';\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'custom-label-type',\n standalone: true,\n template: `\n <div [class]=\"to['className'] || 'text-gray-700 font-bold'\">\n <span [innerHTML]=\"displayValue\"></span>\n </div>\n `,\n})\nexport class CustomTypeComponent extends FieldType {\n constructor(private sanitizer: DomSanitizer) {\n super();\n }\n\n get displayValue(): SafeHtml {\n const key = this.key as string;\n const val = this.model?.[key];\n const row = this.model ?? {};\n\n const formatter = this.props['formatter'];\n if (formatter && typeof formatter === 'function') {\n try {\n const html = formatter(row, val);\n return this.sanitizer.bypassSecurityTrustHtml(html); // 🔑 هنا\n } catch (e) {\n console.warn('Formatter error:', e);\n return val ?? '--';\n }\n }\n\n return val ?? '--';\n }\n}\n","\r\n\r\nimport { Component } from '@angular/core';\r\nimport { FieldType } from '@ngx-formly/core';\r\n\r\n@Component({\r\n selector: 'formly-clickable-label-type',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n<!-- (mouseenter)=\"props['hoverable'] && onCellHover(props, model, $event)\" -->\r\n<a class=\"cursor-pointer hover:underline hover:text-blue-600 font-bold\"\r\n (click)=\"handleCellClick(props,model, $event)\"\r\n(mouseenter)=\"props['hoverable'] && onCellHover(props, model, $event)\"\r\n (mouseleave)=\"props['hoverable'] && onCellLeave(props, model, $event)\"\r\n >\r\n @if(props['formatter']){\r\n <span [innerHTML]=\"props['formatter'](model)\"></span>\r\n }\r\n @else{\r\n {{ getCellValue(props, model) }}\r\n }\r\n\r\n\r\n </a>\r\n `,\r\n})\r\nexport class ClickableLabelTypeComponent extends FieldType {\r\n hovering = false;\r\n\r\n onCellLeave(col: any, row: any, event: MouseEvent) { // <--- تعديل هنا\r\n event.stopPropagation(); // يمنع اختيار الصف\r\n col.onCellMouseLeave?.(row, event); // <--- استدعاء الدالة المخصصة للمغادرة\r\n\r\n }\r\n onCellHover(col: any, row: any, event: MouseEvent) {\r\n if (this.hovering) return; // prevent re-entry\r\n this.hovering = true;\r\n\r\n event.stopPropagation();\r\n\r\n // call external callback if exists\r\n col.onCellMouseEnter?.(row, event);\r\n\r\n setTimeout(() => {\r\n this.hovering = false;\r\n }, 0); // release after current cycle\r\n}\r\n\r\n handleCellClick(col: any, model: any, event: MouseEvent) {\r\n event.stopPropagation();\r\n if (col?.clickAction && typeof col.clickAction === 'function') {\r\n col.clickAction(model, event);\r\n }\r\n // col?.clickAction?.(model, event);\r\n }\r\n\r\ngetCellValue(col: any, model: any) {\r\n const field = this.key as string;\r\n const pipeFn = this.props['pipe'] as ((v: any) => any) | undefined;\r\n return pipeFn ? pipeFn(model[field]) : model[field];\r\n}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -22,17 +22,17 @@ class LoadingSkeletonComponent {
|
|
|
22
22
|
/** عدد الـ skeletons داخل القائمة */
|
|
23
23
|
itemsCount = 6;
|
|
24
24
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: LoadingSkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: LoadingSkeletonComponent, isStandalone: true, selector: "app-loading-skeleton", inputs: { itemsCount: "itemsCount" }, ngImport: i0, template: `
|
|
26
|
-
<div class="p-4 space-y-4">
|
|
27
|
-
<!-- العنوان -->
|
|
28
|
-
<p-skeleton width="100%" height="3rem"></p-skeleton>
|
|
29
|
-
<p-skeleton width="40%" height="1.5rem"></p-skeleton>
|
|
30
|
-
|
|
31
|
-
<!-- العناصر المتكررة -->
|
|
32
|
-
<ng-container *ngFor="let _ of [].constructor(itemsCount)">
|
|
33
|
-
<p-skeleton width="100%" height="5rem"></p-skeleton>
|
|
34
|
-
</ng-container>
|
|
35
|
-
</div>
|
|
25
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: LoadingSkeletonComponent, isStandalone: true, selector: "app-loading-skeleton", inputs: { itemsCount: "itemsCount" }, ngImport: i0, template: `
|
|
26
|
+
<div class="p-4 space-y-4">
|
|
27
|
+
<!-- العنوان -->
|
|
28
|
+
<p-skeleton width="100%" height="3rem"></p-skeleton>
|
|
29
|
+
<p-skeleton width="40%" height="1.5rem"></p-skeleton>
|
|
30
|
+
|
|
31
|
+
<!-- العناصر المتكررة -->
|
|
32
|
+
<ng-container *ngFor="let _ of [].constructor(itemsCount)">
|
|
33
|
+
<p-skeleton width="100%" height="5rem"></p-skeleton>
|
|
34
|
+
</ng-container>
|
|
35
|
+
</div>
|
|
36
36
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: i2.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "shape", "animation", "borderRadius", "size", "width", "height"] }] });
|
|
37
37
|
}
|
|
38
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: LoadingSkeletonComponent, decorators: [{
|
|
@@ -41,17 +41,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
41
41
|
selector: 'app-loading-skeleton',
|
|
42
42
|
standalone: true,
|
|
43
43
|
imports: [CommonModule, SkeletonModule],
|
|
44
|
-
template: `
|
|
45
|
-
<div class="p-4 space-y-4">
|
|
46
|
-
<!-- العنوان -->
|
|
47
|
-
<p-skeleton width="100%" height="3rem"></p-skeleton>
|
|
48
|
-
<p-skeleton width="40%" height="1.5rem"></p-skeleton>
|
|
49
|
-
|
|
50
|
-
<!-- العناصر المتكررة -->
|
|
51
|
-
<ng-container *ngFor="let _ of [].constructor(itemsCount)">
|
|
52
|
-
<p-skeleton width="100%" height="5rem"></p-skeleton>
|
|
53
|
-
</ng-container>
|
|
54
|
-
</div>
|
|
44
|
+
template: `
|
|
45
|
+
<div class="p-4 space-y-4">
|
|
46
|
+
<!-- العنوان -->
|
|
47
|
+
<p-skeleton width="100%" height="3rem"></p-skeleton>
|
|
48
|
+
<p-skeleton width="40%" height="1.5rem"></p-skeleton>
|
|
49
|
+
|
|
50
|
+
<!-- العناصر المتكررة -->
|
|
51
|
+
<ng-container *ngFor="let _ of [].constructor(itemsCount)">
|
|
52
|
+
<p-skeleton width="100%" height="5rem"></p-skeleton>
|
|
53
|
+
</ng-container>
|
|
54
|
+
</div>
|
|
55
55
|
`
|
|
56
56
|
}]
|
|
57
57
|
}], propDecorators: { itemsCount: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"es.framework-ng.ui.core-loading-skeletons.mjs","sources":["../../../../libs/ng.ui.core/loading-skeletons/src/lib/loading-skeletons.module.ts","../../../../libs/ng.ui.core/loading-skeletons/src/lib/loading-skeletons.ts","../../../../libs/ng.ui.core/loading-skeletons/src/es.framework-ng.ui.core-loading-skeletons.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [CommonModule],\n})\nexport class LoadingSkeletonsModule {}\n","// projects/shared/src/lib/components/loading-skeleton/loading-skeleton.component.ts\
|
|
1
|
+
{"version":3,"file":"es.framework-ng.ui.core-loading-skeletons.mjs","sources":["../../../../libs/ng.ui.core/loading-skeletons/src/lib/loading-skeletons.module.ts","../../../../libs/ng.ui.core/loading-skeletons/src/lib/loading-skeletons.ts","../../../../libs/ng.ui.core/loading-skeletons/src/es.framework-ng.ui.core-loading-skeletons.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [CommonModule],\n})\nexport class LoadingSkeletonsModule {}\n","// projects/shared/src/lib/components/loading-skeleton/loading-skeleton.component.ts\nimport { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SkeletonModule } from 'primeng/skeleton';\n\n@Component({\n selector: 'app-loading-skeleton',\n standalone: true,\n imports: [CommonModule, SkeletonModule],\n template: `\n <div class=\"p-4 space-y-4\">\n <!-- العنوان -->\n <p-skeleton width=\"100%\" height=\"3rem\"></p-skeleton>\n <p-skeleton width=\"40%\" height=\"1.5rem\"></p-skeleton>\n\n <!-- العناصر المتكررة -->\n <ng-container *ngFor=\"let _ of [].constructor(itemsCount)\">\n <p-skeleton width=\"100%\" height=\"5rem\"></p-skeleton>\n </ng-container>\n </div>\n `\n})\nexport class LoadingSkeletonComponent {\n /** عدد الـ skeletons داخل القائمة */\n @Input() itemsCount = 6;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAMa,sBAAsB,CAAA;uGAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAFvB,YAAY,CAAA,EAAA,CAAA;AAEX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAFvB,YAAY,CAAA,EAAA,CAAA;;2FAEX,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA;;;ACLD;MAsBa,wBAAwB,CAAA;;IAE1B,UAAU,GAAG,CAAC;uGAFZ,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAbzB;;;;;;;;;;;GAWT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAZS,YAAY,2JAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,WAAA,EAAA,cAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAc3B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAjBpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;AACvC,oBAAA,QAAQ,EAAE;;;;;;;;;;;AAWT,EAAA;AACF,iBAAA;;sBAGE;;;ACxBH;;AAEG;;;;"}
|
|
@@ -288,11 +288,11 @@ class ODataQueryBuilderComponent {
|
|
|
288
288
|
return query;
|
|
289
289
|
}
|
|
290
290
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ODataQueryBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
291
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ODataQueryBuilderComponent, isStandalone: true, selector: "app-odata-query-builder", inputs: { entityFields: "entityFields" }, outputs: { queryChange: "queryChange" }, ngImport: i0, template: "<div class=\"p-4 bg-white rounded-lg shadow-md\">\
|
|
291
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ODataQueryBuilderComponent, isStandalone: true, selector: "app-odata-query-builder", inputs: { entityFields: "entityFields" }, outputs: { queryChange: "queryChange" }, ngImport: i0, template: "<div class=\"p-4 bg-white rounded-lg shadow-md\">\n <h2 class=\"text-xl font-semibold mb-4 text-gray-800\">OData Query Builder</h2>\n\n <formly-form\n [form]=\"form\"\n [model]=\"model\"\n [fields]=\"fields\"\n class=\"space-y-4\"\n ></formly-form>\n\n <div class=\"mt-6 flex justify-end space-x-3\">\n <button\n pButton\n type=\"button\"\n label=\"Reset\"\n icon=\"pi pi-refresh\"\n class=\"p-button-outlined\"\n (click)=\"form.reset()\"\n ></button>\n\n <button\n pButton\n type=\"button\"\n label=\"Build Query\"\n icon=\"pi pi-cog\"\n (click)=\"buildQuery()\"\n ></button>\n </div>\n\n @if (form.valid && form.dirty) {\n <div class=\"mt-6 p-4 bg-gray-50 rounded\">\n <h3 class=\"font-medium text-gray-700 mb-2\">Generated OData Query:</h3>\n <pre class=\"p-3 bg-gray-100 rounded text-sm overflow-x-auto\">{{ buildQuery() }}</pre>\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }] });
|
|
292
292
|
}
|
|
293
293
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ODataQueryBuilderComponent, decorators: [{
|
|
294
294
|
type: Component,
|
|
295
|
-
args: [{ selector: 'app-odata-query-builder', imports: [FormlyForm], template: "<div class=\"p-4 bg-white rounded-lg shadow-md\">\
|
|
295
|
+
args: [{ selector: 'app-odata-query-builder', imports: [FormlyForm], template: "<div class=\"p-4 bg-white rounded-lg shadow-md\">\n <h2 class=\"text-xl font-semibold mb-4 text-gray-800\">OData Query Builder</h2>\n\n <formly-form\n [form]=\"form\"\n [model]=\"model\"\n [fields]=\"fields\"\n class=\"space-y-4\"\n ></formly-form>\n\n <div class=\"mt-6 flex justify-end space-x-3\">\n <button\n pButton\n type=\"button\"\n label=\"Reset\"\n icon=\"pi pi-refresh\"\n class=\"p-button-outlined\"\n (click)=\"form.reset()\"\n ></button>\n\n <button\n pButton\n type=\"button\"\n label=\"Build Query\"\n icon=\"pi pi-cog\"\n (click)=\"buildQuery()\"\n ></button>\n </div>\n\n @if (form.valid && form.dirty) {\n <div class=\"mt-6 p-4 bg-gray-50 rounded\">\n <h3 class=\"font-medium text-gray-700 mb-2\">Generated OData Query:</h3>\n <pre class=\"p-3 bg-gray-100 rounded text-sm overflow-x-auto\">{{ buildQuery() }}</pre>\n </div>\n }\n</div>\n" }]
|
|
296
296
|
}], propDecorators: { entityFields: [{
|
|
297
297
|
type: Input
|
|
298
298
|
}], queryChange: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"es.framework-ng.ui.core-odata-query-builder.mjs","sources":["../../../../libs/ng.ui.core/odata-query-builder/src/lib/odata-query-builder-module.ts","../../../../libs/ng.ui.core/odata-query-builder/src/lib/odata-query-builder.component.ts","../../../../libs/ng.ui.core/odata-query-builder/src/lib/odata-query-builder.component.html","../../../../libs/ng.ui.core/odata-query-builder/src/es.framework-ng.ui.core-odata-query-builder.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n})\r\nexport class OdataQueryBuilderModule {}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { FormlyFieldConfig, FormlyFieldProps, FormlyForm } from '@ngx-formly/core';\r\nimport { EntityField } from './odata-types';\r\n\r\n\r\ninterface ConditionGroup {\r\n operator: 'and' | 'or';\r\n conditions: Condition[];\r\n}\r\n\r\ninterface Condition {\r\n field: string;\r\n operator: string;\r\n value: any;\r\n}\r\n\r\ninterface OrderBy {\r\n field: string;\r\n direction: 'asc' | 'desc';\r\n}\r\n\r\ninterface GroupBy {\r\n field: string;\r\n}\r\n\r\ninterface QueryModel {\r\n conditionGroups: ConditionGroup[];\r\n orderBy: OrderBy[];\r\n groupBy: GroupBy[];\r\n top: number | null;\r\n skip: number | null;\r\n}\r\n\r\ninterface FieldSelectProps extends FormlyFieldProps {\r\n options: { value: string; label: string }[];\r\n}\r\n\r\ninterface RepeatFieldProps extends FormlyFieldProps {\r\n addText: string;\r\n}\r\n\r\ninterface FieldArrayConfig extends FormlyFieldConfig {\r\n fieldGroup: FormlyFieldConfig[];\r\n}\r\n\r\n@Component({\r\n selector: 'app-odata-query-builder',\r\n templateUrl: './odata-query-builder.component.html',\r\n styleUrls: ['./odata-query-builder.component.css'],\r\n imports: [FormlyForm]\r\n})\r\nexport class ODataQueryBuilderComponent {\r\n @Input() set entityFields(fields: EntityField[]) {\r\n this._entityFields = fields || [];\r\n this.updateFieldOptions();\r\n }\r\n get entityFields(): EntityField[] {\r\n return this._entityFields;\r\n }\r\n private _entityFields: EntityField[] = [];\r\n\r\n @Output() queryChange = new EventEmitter<string>();\r\n\r\n form = new FormGroup({});\r\n model: QueryModel = {\r\n conditionGroups: [\r\n {\r\n operator: 'and',\r\n conditions: []\r\n }\r\n ],\r\n orderBy: [],\r\n groupBy: [],\r\n top: null,\r\n skip: null\r\n };\r\n\r\n fields: FormlyFieldConfig[] = [\r\n {\r\n key: 'conditionGroups',\r\n type: 'repeat',\r\n props: {\r\n addText: 'Add Condition Group',\r\n required: true\r\n } as RepeatFieldProps,\r\n fieldArray: {\r\n fieldGroup: [\r\n {\r\n key: 'operator',\r\n type: 'select',\r\n props: {\r\n label: 'Group Operator',\r\n required: true,\r\n options: [\r\n { value: 'and', label: 'AND' },\r\n { value: 'or', label: 'OR' }\r\n ]\r\n } as FieldSelectProps\r\n },\r\n {\r\n key: 'conditions',\r\n type: 'repeat',\r\n props: {\r\n addText: 'Add Condition',\r\n required: true\r\n } as RepeatFieldProps,\r\n fieldArray: {\r\n fieldGroup: [\r\n {\r\n key: 'field',\r\n type: 'select',\r\n props: {\r\n label: 'Field',\r\n required: true,\r\n options: []\r\n } as FieldSelectProps\r\n },\r\n {\r\n key: 'operator',\r\n type: 'select',\r\n props: {\r\n label: 'Operator',\r\n required: true,\r\n options: [\r\n { value: 'eq', label: 'Equals' },\r\n { value: 'ne', label: 'Not Equals' },\r\n { value: 'gt', label: 'Greater Than' },\r\n { value: 'ge', label: 'Greater or Equal' },\r\n { value: 'lt', label: 'Less Than' },\r\n { value: 'le', label: 'Less or Equal' },\r\n { value: 'contains', label: 'Contains' },\r\n { value: 'startswith', label: 'Starts With' },\r\n { value: 'endswith', label: 'Ends With' }\r\n ]\r\n } as FieldSelectProps\r\n },\r\n {\r\n key: 'value',\r\n type: 'input',\r\n props: {\r\n label: 'Value',\r\n required: true\r\n },\r\n expressions: {\r\n 'props.type': (field: FormlyFieldConfig) => {\r\n const model = field.model as Condition;\r\n if (!model?.field) return 'string';\r\n const selectedField = this.entityFields.find(f => f.value === model.field);\r\n return selectedField?.type || 'string';\r\n }\r\n }\r\n }\r\n ]\r\n } as FieldArrayConfig\r\n }\r\n ]\r\n } as FieldArrayConfig\r\n },\r\n {\r\n key: 'orderBy',\r\n type: 'repeat',\r\n props: {\r\n addText: 'Add Order By'\r\n } as RepeatFieldProps,\r\n fieldArray: {\r\n fieldGroup: [\r\n {\r\n key: 'field',\r\n type: 'select',\r\n props: {\r\n label: 'Field',\r\n required: true,\r\n options: []\r\n } as FieldSelectProps\r\n },\r\n {\r\n key: 'direction',\r\n type: 'select',\r\n props: {\r\n label: 'Direction',\r\n required: true,\r\n options: [\r\n { value: 'asc', label: 'Ascending' },\r\n { value: 'desc', label: 'Descending' }\r\n ]\r\n } as FieldSelectProps\r\n }\r\n ]\r\n } as FieldArrayConfig\r\n },\r\n {\r\n key: 'groupBy',\r\n type: 'repeat',\r\n props: {\r\n addText: 'Add Group By'\r\n } as RepeatFieldProps,\r\n fieldArray: {\r\n fieldGroup: [\r\n {\r\n key: 'field',\r\n type: 'select',\r\n props: {\r\n label: 'Field',\r\n required: true,\r\n options: []\r\n } as FieldSelectProps\r\n }\r\n ]\r\n } as FieldArrayConfig\r\n },\r\n {\r\n key: 'top',\r\n type: 'input',\r\n props: {\r\n label: 'Top',\r\n type: 'number',\r\n min: 1\r\n }\r\n },\r\n {\r\n key: 'skip',\r\n type: 'input',\r\n props: {\r\n label: 'Skip',\r\n type: 'number',\r\n min: 0\r\n }\r\n }\r\n ];\r\n\r\n\r\n\r\n private updateFieldOptions(): void {\r\n const fieldOptions = this.entityFields.map(f => ({ value: f.value, label: f.label }));\r\n\r\n // Update conditions field options in all groups\r\n const conditionGroupsField = this.fields.find(f => f.key === 'conditionGroups');\r\n if (conditionGroupsField && (conditionGroupsField.fieldArray as FieldArrayConfig)?.fieldGroup) {\r\n const conditionsField = (conditionGroupsField.fieldArray as FieldArrayConfig).fieldGroup.find(f => f.key === 'conditions');\r\n if (conditionsField && (conditionsField.fieldArray as FieldArrayConfig)?.fieldGroup) {\r\n const fieldSelect = (conditionsField.fieldArray as FieldArrayConfig).fieldGroup.find(f => f.key === 'field');\r\n if (fieldSelect) {\r\n (fieldSelect.props as FieldSelectProps).options = fieldOptions;\r\n }\r\n }\r\n }\r\n\r\n // Update orderBy field options\r\n const orderByField = this.fields.find(f => f.key === 'orderBy');\r\n if (orderByField && (orderByField.fieldArray as FieldArrayConfig)?.fieldGroup) {\r\n const fieldSelect = (orderByField.fieldArray as FieldArrayConfig).fieldGroup.find(f => f.key === 'field');\r\n if (fieldSelect) {\r\n (fieldSelect.props as FieldSelectProps).options = fieldOptions;\r\n }\r\n }\r\n\r\n // Update groupBy field options\r\n const groupByField = this.fields.find(f => f.key === 'groupBy');\r\n if (groupByField && (groupByField.fieldArray as FieldArrayConfig)?.fieldGroup) {\r\n const fieldSelect = (groupByField.fieldArray as FieldArrayConfig).fieldGroup.find(f => f.key === 'field');\r\n if (fieldSelect) {\r\n (fieldSelect.props as FieldSelectProps).options = fieldOptions;\r\n }\r\n }\r\n }\r\n\r\n buildQuery(): string {\r\n const queryParts = [];\r\n\r\n // Handle condition groups\r\n if (this.model.conditionGroups?.length > 0) {\r\n const groupFilters = this.model.conditionGroups\r\n .filter((group: ConditionGroup) => group.conditions?.length > 0)\r\n .map((group: ConditionGroup) => {\r\n const conditionParts = group.conditions\r\n .filter((cond: Condition) => cond.field && cond.operator && cond.value !== undefined && cond.value !== null)\r\n .map((cond: Condition) => {\r\n const field = this.entityFields.find(f => f.value === cond.field);\r\n let value = cond.value;\r\n\r\n if (field?.type === 'string') {\r\n value = `'${String(value).replace(/'/g, \"''\")}'`; // Escape single quotes\r\n } else if (field?.type === 'date' && value) {\r\n value = new Date(value).toISOString();\r\n } else if (field?.type === 'boolean') {\r\n value = value ? 'true' : 'false';\r\n }\r\n\r\n return `${cond.field} ${cond.operator} ${value}`;\r\n });\r\n\r\n if (conditionParts.length > 0) {\r\n return conditionParts.length > 1\r\n ? `(${conditionParts.join(` ${group.operator} `)})`\r\n : conditionParts[0];\r\n }\r\n return null;\r\n })\r\n .filter(Boolean);\r\n\r\n if (groupFilters.length > 0) {\r\n queryParts.push(`$filter=${groupFilters.join(' and ')}`);\r\n }\r\n }\r\n\r\n // Handle order by\r\n if (this.model.orderBy?.length > 0) {\r\n const orderParts = this.model.orderBy\r\n .filter((order: OrderBy) => order.field && order.direction)\r\n .map((order: OrderBy) => `${order.field} ${order.direction}`);\r\n\r\n if (orderParts.length > 0) {\r\n queryParts.push(`$orderby=${orderParts.join(', ')}`);\r\n }\r\n }\r\n\r\n // Handle group by\r\n if (this.model.groupBy?.length > 0) {\r\n const groupParts = this.model.groupBy\r\n .filter((group: GroupBy) => group.field)\r\n .map((group: GroupBy) => group.field);\r\n\r\n if (groupParts.length > 0) {\r\n queryParts.push(`$groupby=${groupParts.join(',')}`);\r\n }\r\n }\r\n\r\n // Handle top\r\n if (this.model.top) {\r\n queryParts.push(`$top=${this.model.top}`);\r\n }\r\n\r\n // Handle skip\r\n if (this.model.skip) {\r\n queryParts.push(`$skip=${this.model.skip}`);\r\n }\r\n\r\n const query = queryParts.join('&');\r\n this.queryChange.emit(query);\r\n return query;\r\n }\r\n}\r\n","<div class=\"p-4 bg-white rounded-lg shadow-md\">\r\n <h2 class=\"text-xl font-semibold mb-4 text-gray-800\">OData Query Builder</h2>\r\n\r\n <formly-form\r\n [form]=\"form\"\r\n [model]=\"model\"\r\n [fields]=\"fields\"\r\n class=\"space-y-4\"\r\n ></formly-form>\r\n\r\n <div class=\"mt-6 flex justify-end space-x-3\">\r\n <button\r\n pButton\r\n type=\"button\"\r\n label=\"Reset\"\r\n icon=\"pi pi-refresh\"\r\n class=\"p-button-outlined\"\r\n (click)=\"form.reset()\"\r\n ></button>\r\n\r\n <button\r\n pButton\r\n type=\"button\"\r\n label=\"Build Query\"\r\n icon=\"pi pi-cog\"\r\n (click)=\"buildQuery()\"\r\n ></button>\r\n </div>\r\n\r\n @if (form.valid && form.dirty) {\r\n <div class=\"mt-6 p-4 bg-gray-50 rounded\">\r\n <h3 class=\"font-medium text-gray-700 mb-2\">Generated OData Query:</h3>\r\n <pre class=\"p-3 bg-gray-100 rounded text-sm overflow-x-auto\">{{ buildQuery() }}</pre>\r\n </div>\r\n }\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAMa,uBAAuB,CAAA;uGAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAFxB,YAAY,CAAA,EAAA,CAAA;AAEX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAFxB,YAAY,CAAA,EAAA,CAAA;;2FAEX,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA;;;MC+CY,0BAA0B,CAAA;IACrC,IAAa,YAAY,CAAC,MAAqB,EAAA;AAC7C,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,EAAE;QACjC,IAAI,CAAC,kBAAkB,EAAE;IAC3B;AACA,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;IAC3B;IACQ,aAAa,GAAkB,EAAE;AAE/B,IAAA,WAAW,GAAG,IAAI,YAAY,EAAU;AAElD,IAAA,IAAI,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC;AACxB,IAAA,KAAK,GAAe;AAClB,QAAA,eAAe,EAAE;AACf,YAAA;AACE,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,UAAU,EAAE;AACb;AACF,SAAA;AACD,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,IAAI,EAAE;KACP;AAED,IAAA,MAAM,GAAwB;AAC5B,QAAA;AACE,YAAA,GAAG,EAAE,iBAAiB;AACtB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,qBAAqB;AAC9B,gBAAA,QAAQ,EAAE;AACS,aAAA;AACrB,YAAA,UAAU,EAAE;AACV,gBAAA,UAAU,EAAE;AACV,oBAAA;AACE,wBAAA,GAAG,EAAE,UAAU;AACf,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,gBAAgB;AACvB,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,OAAO,EAAE;AACP,gCAAA,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC9B,gCAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;AAC3B;AACkB;AACtB,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,YAAY;AACjB,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE;AACL,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,QAAQ,EAAE;AACS,yBAAA;AACrB,wBAAA,UAAU,EAAE;AACV,4BAAA,UAAU,EAAE;AACV,gCAAA;AACE,oCAAA,GAAG,EAAE,OAAO;AACZ,oCAAA,IAAI,EAAE,QAAQ;AACd,oCAAA,KAAK,EAAE;AACL,wCAAA,KAAK,EAAE,OAAO;AACd,wCAAA,QAAQ,EAAE,IAAI;AACd,wCAAA,OAAO,EAAE;AACU;AACtB,iCAAA;AACD,gCAAA;AACE,oCAAA,GAAG,EAAE,UAAU;AACf,oCAAA,IAAI,EAAE,QAAQ;AACd,oCAAA,KAAK,EAAE;AACL,wCAAA,KAAK,EAAE,UAAU;AACjB,wCAAA,QAAQ,EAAE,IAAI;AACd,wCAAA,OAAO,EAAE;AACP,4CAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;AAChC,4CAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE;AACpC,4CAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE;AACtC,4CAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE;AAC1C,4CAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE;AACnC,4CAAA,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE;AACvC,4CAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;AACxC,4CAAA,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE;AAC7C,4CAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW;AACxC;AACkB;AACtB,iCAAA;AACD,gCAAA;AACE,oCAAA,GAAG,EAAE,OAAO;AACZ,oCAAA,IAAI,EAAE,OAAO;AACb,oCAAA,KAAK,EAAE;AACL,wCAAA,KAAK,EAAE,OAAO;AACd,wCAAA,QAAQ,EAAE;AACX,qCAAA;AACD,oCAAA,WAAW,EAAE;AACX,wCAAA,YAAY,EAAE,CAAC,KAAwB,KAAI;AACzC,4CAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAkB;4CACtC,IAAI,CAAC,KAAK,EAAE,KAAK;AAAE,gDAAA,OAAO,QAAQ;4CAClC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;AAC1E,4CAAA,OAAO,aAAa,EAAE,IAAI,IAAI,QAAQ;wCACxC;AACD;AACF;AACF;AACkB;AACtB;AACF;AACkB;AACtB,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE;AACU,aAAA;AACrB,YAAA,UAAU,EAAE;AACV,gBAAA,UAAU,EAAE;AACV,oBAAA;AACE,wBAAA,GAAG,EAAE,OAAO;AACZ,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO;AACd,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,OAAO,EAAE;AACU;AACtB,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,WAAW;AAChB,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,WAAW;AAClB,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,OAAO,EAAE;AACP,gCAAA,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;AACpC,gCAAA,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY;AACrC;AACkB;AACtB;AACF;AACkB;AACtB,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE;AACU,aAAA;AACrB,YAAA,UAAU,EAAE;AACV,gBAAA,UAAU,EAAE;AACV,oBAAA;AACE,wBAAA,GAAG,EAAE,OAAO;AACZ,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,OAAO;AACd,4BAAA,QAAQ,EAAE,IAAI;AACd,4BAAA,OAAO,EAAE;AACU;AACtB;AACF;AACkB;AACtB,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,GAAG,EAAE;AACN;AACF,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,MAAM;AACX,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,GAAG,EAAE;AACN;AACF;KACF;IAIO,kBAAkB,GAAA;AACxB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;;AAGrF,QAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,iBAAiB,CAAC;QAC/E,IAAI,oBAAoB,IAAK,oBAAoB,CAAC,UAA+B,EAAE,UAAU,EAAE;YAC7F,MAAM,eAAe,GAAI,oBAAoB,CAAC,UAA+B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC;YAC1H,IAAI,eAAe,IAAK,eAAe,CAAC,UAA+B,EAAE,UAAU,EAAE;gBACnF,MAAM,WAAW,GAAI,eAAe,CAAC,UAA+B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC;gBAC5G,IAAI,WAAW,EAAE;AACd,oBAAA,WAAW,CAAC,KAA0B,CAAC,OAAO,GAAG,YAAY;gBAChE;YACF;QACF;;AAGA,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC;QAC/D,IAAI,YAAY,IAAK,YAAY,CAAC,UAA+B,EAAE,UAAU,EAAE;YAC7E,MAAM,WAAW,GAAI,YAAY,CAAC,UAA+B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC;YACzG,IAAI,WAAW,EAAE;AACd,gBAAA,WAAW,CAAC,KAA0B,CAAC,OAAO,GAAG,YAAY;YAChE;QACF;;AAGA,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC;QAC/D,IAAI,YAAY,IAAK,YAAY,CAAC,UAA+B,EAAE,UAAU,EAAE;YAC7E,MAAM,WAAW,GAAI,YAAY,CAAC,UAA+B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC;YACzG,IAAI,WAAW,EAAE;AACd,gBAAA,WAAW,CAAC,KAA0B,CAAC,OAAO,GAAG,YAAY;YAChE;QACF;IACF;IAEA,UAAU,GAAA;QACR,MAAM,UAAU,GAAG,EAAE;;QAGrB,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,GAAG,CAAC,EAAE;AAC1C,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;AAC7B,iBAAA,MAAM,CAAC,CAAC,KAAqB,KAAK,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC;AAC9D,iBAAA,GAAG,CAAC,CAAC,KAAqB,KAAI;AAC7B,gBAAA,MAAM,cAAc,GAAG,KAAK,CAAC;qBAC1B,MAAM,CAAC,CAAC,IAAe,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;AAC1G,qBAAA,GAAG,CAAC,CAAC,IAAe,KAAI;oBACvB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;AACjE,oBAAA,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;AAEtB,oBAAA,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE;AAC5B,wBAAA,KAAK,GAAG,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA,CAAA,CAAG,CAAC;oBACnD;yBAAO,IAAI,KAAK,EAAE,IAAI,KAAK,MAAM,IAAI,KAAK,EAAE;wBAC1C,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;oBACvC;AAAO,yBAAA,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS,EAAE;wBACpC,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO;oBAClC;oBAEA,OAAO,CAAA,EAAG,IAAI,CAAC,KAAK,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE;AAClD,gBAAA,CAAC,CAAC;AAEJ,gBAAA,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7B,oBAAA,OAAO,cAAc,CAAC,MAAM,GAAG;AAC7B,0BAAE,CAAA,CAAA,EAAI,cAAc,CAAC,IAAI,CAAC,CAAA,CAAA,EAAI,KAAK,CAAC,QAAQ,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA;AAChD,0BAAE,cAAc,CAAC,CAAC,CAAC;gBACvB;AACA,gBAAA,OAAO,IAAI;AACb,YAAA,CAAC;iBACA,MAAM,CAAC,OAAO,CAAC;AAElB,YAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,gBAAA,UAAU,CAAC,IAAI,CAAC,CAAA,QAAA,EAAW,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAE,CAAC;YAC1D;QACF;;QAGA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;AAClC,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;AAC3B,iBAAA,MAAM,CAAC,CAAC,KAAc,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS;AACzD,iBAAA,GAAG,CAAC,CAAC,KAAc,KAAK,CAAA,EAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAA,CAAE,CAAC;AAE/D,YAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,gBAAA,UAAU,CAAC,IAAI,CAAC,CAAA,SAAA,EAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC;YACtD;QACF;;QAGA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;AAClC,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;iBAC3B,MAAM,CAAC,CAAC,KAAc,KAAK,KAAK,CAAC,KAAK;iBACtC,GAAG,CAAC,CAAC,KAAc,KAAK,KAAK,CAAC,KAAK,CAAC;AAEvC,YAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,gBAAA,UAAU,CAAC,IAAI,CAAC,CAAA,SAAA,EAAY,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC;YACrD;QACF;;AAGA,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YAClB,UAAU,CAAC,IAAI,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA,CAAE,CAAC;QAC3C;;AAGA,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACnB,UAAU,CAAC,IAAI,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA,CAAE,CAAC;QAC7C;QAEA,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;AAClC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5B,QAAA,OAAO,KAAK;IACd;uGAjSW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpDvC,wgCAoCA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDcY,UAAU,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAET,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;+BACE,yBAAyB,EAAA,OAAA,EAG1B,CAAC,UAAU,CAAC,EAAA,QAAA,EAAA,wgCAAA,EAAA;;sBAGpB;;sBASA;;;AE9DH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"es.framework-ng.ui.core-odata-query-builder.mjs","sources":["../../../../libs/ng.ui.core/odata-query-builder/src/lib/odata-query-builder-module.ts","../../../../libs/ng.ui.core/odata-query-builder/src/lib/odata-query-builder.component.ts","../../../../libs/ng.ui.core/odata-query-builder/src/lib/odata-query-builder.component.html","../../../../libs/ng.ui.core/odata-query-builder/src/es.framework-ng.ui.core-odata-query-builder.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [CommonModule],\n})\nexport class OdataQueryBuilderModule {}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { FormlyFieldConfig, FormlyFieldProps, FormlyForm } from '@ngx-formly/core';\r\nimport { EntityField } from './odata-types';\r\n\r\n\r\ninterface ConditionGroup {\r\n operator: 'and' | 'or';\r\n conditions: Condition[];\r\n}\r\n\r\ninterface Condition {\r\n field: string;\r\n operator: string;\r\n value: any;\r\n}\r\n\r\ninterface OrderBy {\r\n field: string;\r\n direction: 'asc' | 'desc';\r\n}\r\n\r\ninterface GroupBy {\r\n field: string;\r\n}\r\n\r\ninterface QueryModel {\r\n conditionGroups: ConditionGroup[];\r\n orderBy: OrderBy[];\r\n groupBy: GroupBy[];\r\n top: number | null;\r\n skip: number | null;\r\n}\r\n\r\ninterface FieldSelectProps extends FormlyFieldProps {\r\n options: { value: string; label: string }[];\r\n}\r\n\r\ninterface RepeatFieldProps extends FormlyFieldProps {\r\n addText: string;\r\n}\r\n\r\ninterface FieldArrayConfig extends FormlyFieldConfig {\r\n fieldGroup: FormlyFieldConfig[];\r\n}\r\n\r\n@Component({\r\n selector: 'app-odata-query-builder',\r\n templateUrl: './odata-query-builder.component.html',\r\n styleUrls: ['./odata-query-builder.component.css'],\r\n imports: [FormlyForm]\r\n})\r\nexport class ODataQueryBuilderComponent {\r\n @Input() set entityFields(fields: EntityField[]) {\r\n this._entityFields = fields || [];\r\n this.updateFieldOptions();\r\n }\r\n get entityFields(): EntityField[] {\r\n return this._entityFields;\r\n }\r\n private _entityFields: EntityField[] = [];\r\n\r\n @Output() queryChange = new EventEmitter<string>();\r\n\r\n form = new FormGroup({});\r\n model: QueryModel = {\r\n conditionGroups: [\r\n {\r\n operator: 'and',\r\n conditions: []\r\n }\r\n ],\r\n orderBy: [],\r\n groupBy: [],\r\n top: null,\r\n skip: null\r\n };\r\n\r\n fields: FormlyFieldConfig[] = [\r\n {\r\n key: 'conditionGroups',\r\n type: 'repeat',\r\n props: {\r\n addText: 'Add Condition Group',\r\n required: true\r\n } as RepeatFieldProps,\r\n fieldArray: {\r\n fieldGroup: [\r\n {\r\n key: 'operator',\r\n type: 'select',\r\n props: {\r\n label: 'Group Operator',\r\n required: true,\r\n options: [\r\n { value: 'and', label: 'AND' },\r\n { value: 'or', label: 'OR' }\r\n ]\r\n } as FieldSelectProps\r\n },\r\n {\r\n key: 'conditions',\r\n type: 'repeat',\r\n props: {\r\n addText: 'Add Condition',\r\n required: true\r\n } as RepeatFieldProps,\r\n fieldArray: {\r\n fieldGroup: [\r\n {\r\n key: 'field',\r\n type: 'select',\r\n props: {\r\n label: 'Field',\r\n required: true,\r\n options: []\r\n } as FieldSelectProps\r\n },\r\n {\r\n key: 'operator',\r\n type: 'select',\r\n props: {\r\n label: 'Operator',\r\n required: true,\r\n options: [\r\n { value: 'eq', label: 'Equals' },\r\n { value: 'ne', label: 'Not Equals' },\r\n { value: 'gt', label: 'Greater Than' },\r\n { value: 'ge', label: 'Greater or Equal' },\r\n { value: 'lt', label: 'Less Than' },\r\n { value: 'le', label: 'Less or Equal' },\r\n { value: 'contains', label: 'Contains' },\r\n { value: 'startswith', label: 'Starts With' },\r\n { value: 'endswith', label: 'Ends With' }\r\n ]\r\n } as FieldSelectProps\r\n },\r\n {\r\n key: 'value',\r\n type: 'input',\r\n props: {\r\n label: 'Value',\r\n required: true\r\n },\r\n expressions: {\r\n 'props.type': (field: FormlyFieldConfig) => {\r\n const model = field.model as Condition;\r\n if (!model?.field) return 'string';\r\n const selectedField = this.entityFields.find(f => f.value === model.field);\r\n return selectedField?.type || 'string';\r\n }\r\n }\r\n }\r\n ]\r\n } as FieldArrayConfig\r\n }\r\n ]\r\n } as FieldArrayConfig\r\n },\r\n {\r\n key: 'orderBy',\r\n type: 'repeat',\r\n props: {\r\n addText: 'Add Order By'\r\n } as RepeatFieldProps,\r\n fieldArray: {\r\n fieldGroup: [\r\n {\r\n key: 'field',\r\n type: 'select',\r\n props: {\r\n label: 'Field',\r\n required: true,\r\n options: []\r\n } as FieldSelectProps\r\n },\r\n {\r\n key: 'direction',\r\n type: 'select',\r\n props: {\r\n label: 'Direction',\r\n required: true,\r\n options: [\r\n { value: 'asc', label: 'Ascending' },\r\n { value: 'desc', label: 'Descending' }\r\n ]\r\n } as FieldSelectProps\r\n }\r\n ]\r\n } as FieldArrayConfig\r\n },\r\n {\r\n key: 'groupBy',\r\n type: 'repeat',\r\n props: {\r\n addText: 'Add Group By'\r\n } as RepeatFieldProps,\r\n fieldArray: {\r\n fieldGroup: [\r\n {\r\n key: 'field',\r\n type: 'select',\r\n props: {\r\n label: 'Field',\r\n required: true,\r\n options: []\r\n } as FieldSelectProps\r\n }\r\n ]\r\n } as FieldArrayConfig\r\n },\r\n {\r\n key: 'top',\r\n type: 'input',\r\n props: {\r\n label: 'Top',\r\n type: 'number',\r\n min: 1\r\n }\r\n },\r\n {\r\n key: 'skip',\r\n type: 'input',\r\n props: {\r\n label: 'Skip',\r\n type: 'number',\r\n min: 0\r\n }\r\n }\r\n ];\r\n\r\n\r\n\r\n private updateFieldOptions(): void {\r\n const fieldOptions = this.entityFields.map(f => ({ value: f.value, label: f.label }));\r\n\r\n // Update conditions field options in all groups\r\n const conditionGroupsField = this.fields.find(f => f.key === 'conditionGroups');\r\n if (conditionGroupsField && (conditionGroupsField.fieldArray as FieldArrayConfig)?.fieldGroup) {\r\n const conditionsField = (conditionGroupsField.fieldArray as FieldArrayConfig).fieldGroup.find(f => f.key === 'conditions');\r\n if (conditionsField && (conditionsField.fieldArray as FieldArrayConfig)?.fieldGroup) {\r\n const fieldSelect = (conditionsField.fieldArray as FieldArrayConfig).fieldGroup.find(f => f.key === 'field');\r\n if (fieldSelect) {\r\n (fieldSelect.props as FieldSelectProps).options = fieldOptions;\r\n }\r\n }\r\n }\r\n\r\n // Update orderBy field options\r\n const orderByField = this.fields.find(f => f.key === 'orderBy');\r\n if (orderByField && (orderByField.fieldArray as FieldArrayConfig)?.fieldGroup) {\r\n const fieldSelect = (orderByField.fieldArray as FieldArrayConfig).fieldGroup.find(f => f.key === 'field');\r\n if (fieldSelect) {\r\n (fieldSelect.props as FieldSelectProps).options = fieldOptions;\r\n }\r\n }\r\n\r\n // Update groupBy field options\r\n const groupByField = this.fields.find(f => f.key === 'groupBy');\r\n if (groupByField && (groupByField.fieldArray as FieldArrayConfig)?.fieldGroup) {\r\n const fieldSelect = (groupByField.fieldArray as FieldArrayConfig).fieldGroup.find(f => f.key === 'field');\r\n if (fieldSelect) {\r\n (fieldSelect.props as FieldSelectProps).options = fieldOptions;\r\n }\r\n }\r\n }\r\n\r\n buildQuery(): string {\r\n const queryParts = [];\r\n\r\n // Handle condition groups\r\n if (this.model.conditionGroups?.length > 0) {\r\n const groupFilters = this.model.conditionGroups\r\n .filter((group: ConditionGroup) => group.conditions?.length > 0)\r\n .map((group: ConditionGroup) => {\r\n const conditionParts = group.conditions\r\n .filter((cond: Condition) => cond.field && cond.operator && cond.value !== undefined && cond.value !== null)\r\n .map((cond: Condition) => {\r\n const field = this.entityFields.find(f => f.value === cond.field);\r\n let value = cond.value;\r\n\r\n if (field?.type === 'string') {\r\n value = `'${String(value).replace(/'/g, \"''\")}'`; // Escape single quotes\r\n } else if (field?.type === 'date' && value) {\r\n value = new Date(value).toISOString();\r\n } else if (field?.type === 'boolean') {\r\n value = value ? 'true' : 'false';\r\n }\r\n\r\n return `${cond.field} ${cond.operator} ${value}`;\r\n });\r\n\r\n if (conditionParts.length > 0) {\r\n return conditionParts.length > 1\r\n ? `(${conditionParts.join(` ${group.operator} `)})`\r\n : conditionParts[0];\r\n }\r\n return null;\r\n })\r\n .filter(Boolean);\r\n\r\n if (groupFilters.length > 0) {\r\n queryParts.push(`$filter=${groupFilters.join(' and ')}`);\r\n }\r\n }\r\n\r\n // Handle order by\r\n if (this.model.orderBy?.length > 0) {\r\n const orderParts = this.model.orderBy\r\n .filter((order: OrderBy) => order.field && order.direction)\r\n .map((order: OrderBy) => `${order.field} ${order.direction}`);\r\n\r\n if (orderParts.length > 0) {\r\n queryParts.push(`$orderby=${orderParts.join(', ')}`);\r\n }\r\n }\r\n\r\n // Handle group by\r\n if (this.model.groupBy?.length > 0) {\r\n const groupParts = this.model.groupBy\r\n .filter((group: GroupBy) => group.field)\r\n .map((group: GroupBy) => group.field);\r\n\r\n if (groupParts.length > 0) {\r\n queryParts.push(`$groupby=${groupParts.join(',')}`);\r\n }\r\n }\r\n\r\n // Handle top\r\n if (this.model.top) {\r\n queryParts.push(`$top=${this.model.top}`);\r\n }\r\n\r\n // Handle skip\r\n if (this.model.skip) {\r\n queryParts.push(`$skip=${this.model.skip}`);\r\n }\r\n\r\n const query = queryParts.join('&');\r\n this.queryChange.emit(query);\r\n return query;\r\n }\r\n}\r\n","<div class=\"p-4 bg-white rounded-lg shadow-md\">\n <h2 class=\"text-xl font-semibold mb-4 text-gray-800\">OData Query Builder</h2>\n\n <formly-form\n [form]=\"form\"\n [model]=\"model\"\n [fields]=\"fields\"\n class=\"space-y-4\"\n ></formly-form>\n\n <div class=\"mt-6 flex justify-end space-x-3\">\n <button\n pButton\n type=\"button\"\n label=\"Reset\"\n icon=\"pi pi-refresh\"\n class=\"p-button-outlined\"\n (click)=\"form.reset()\"\n ></button>\n\n <button\n pButton\n type=\"button\"\n label=\"Build Query\"\n icon=\"pi pi-cog\"\n (click)=\"buildQuery()\"\n ></button>\n </div>\n\n @if (form.valid && form.dirty) {\n <div class=\"mt-6 p-4 bg-gray-50 rounded\">\n <h3 class=\"font-medium text-gray-700 mb-2\">Generated OData Query:</h3>\n <pre class=\"p-3 bg-gray-100 rounded text-sm overflow-x-auto\">{{ buildQuery() }}</pre>\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -125,13 +125,13 @@ class QueryTypeComponent extends FieldType {
|
|
|
125
125
|
this.destroy$.complete();
|
|
126
126
|
}
|
|
127
127
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: QueryTypeComponent, deps: [{ token: i1.QueryBuilderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
128
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: QueryTypeComponent, isStandalone: true, selector: "formly-query-type", usesInheritance: true, ngImport: i0, template: `
|
|
129
|
-
<formly-form
|
|
130
|
-
[form]="queryForm"
|
|
131
|
-
[fields]="fields_"
|
|
132
|
-
[model]="queryModel"
|
|
133
|
-
[options]="queryOptions">
|
|
134
|
-
</formly-form>
|
|
128
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: QueryTypeComponent, isStandalone: true, selector: "formly-query-type", usesInheritance: true, ngImport: i0, template: `
|
|
129
|
+
<formly-form
|
|
130
|
+
[form]="queryForm"
|
|
131
|
+
[fields]="fields_"
|
|
132
|
+
[model]="queryModel"
|
|
133
|
+
[options]="queryOptions">
|
|
134
|
+
</formly-form>
|
|
135
135
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { kind: "ngmodule", type: FormsModule }] });
|
|
136
136
|
}
|
|
137
137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: QueryTypeComponent, decorators: [{
|
|
@@ -143,13 +143,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
143
143
|
FormlyForm,
|
|
144
144
|
FormsModule,
|
|
145
145
|
],
|
|
146
|
-
template: `
|
|
147
|
-
<formly-form
|
|
148
|
-
[form]="queryForm"
|
|
149
|
-
[fields]="fields_"
|
|
150
|
-
[model]="queryModel"
|
|
151
|
-
[options]="queryOptions">
|
|
152
|
-
</formly-form>
|
|
146
|
+
template: `
|
|
147
|
+
<formly-form
|
|
148
|
+
[form]="queryForm"
|
|
149
|
+
[fields]="fields_"
|
|
150
|
+
[model]="queryModel"
|
|
151
|
+
[options]="queryOptions">
|
|
152
|
+
</formly-form>
|
|
153
153
|
`,
|
|
154
154
|
}]
|
|
155
155
|
}], ctorParameters: () => [{ type: i1.QueryBuilderService }] });
|