@es.framework/ng.ui.core 2.0.58
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 -0
- package/attachments/README.md +3 -0
- package/base-crud/README.md +3 -0
- package/breadcrumb/README.md +3 -0
- package/checkbox/README.md +3 -0
- package/collapsible/README.md +3 -0
- package/color-picker/README.md +3 -0
- package/column-settings-popover/README.md +3 -0
- package/custom-switch/README.md +3 -0
- package/datepicker/README.md +3 -0
- package/deactivation-reason/README.md +3 -0
- package/excel-import/README.md +3 -0
- package/fesm2022/es.framework-ng.ui.core-attachments.mjs +217 -0
- package/fesm2022/es.framework-ng.ui.core-attachments.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-base-crud.mjs +370 -0
- package/fesm2022/es.framework-ng.ui.core-base-crud.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-breadcrumb.mjs +145 -0
- package/fesm2022/es.framework-ng.ui.core-breadcrumb.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-checkbox.mjs +131 -0
- package/fesm2022/es.framework-ng.ui.core-checkbox.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-collapsible.mjs +90 -0
- package/fesm2022/es.framework-ng.ui.core-collapsible.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-color-picker.mjs +87 -0
- package/fesm2022/es.framework-ng.ui.core-color-picker.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-column-settings-popover.mjs +183 -0
- package/fesm2022/es.framework-ng.ui.core-column-settings-popover.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-custom-switch.mjs +119 -0
- package/fesm2022/es.framework-ng.ui.core-custom-switch.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-datepicker.mjs +519 -0
- package/fesm2022/es.framework-ng.ui.core-datepicker.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-deactivation-reason.mjs +144 -0
- package/fesm2022/es.framework-ng.ui.core-deactivation-reason.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-excel-import.mjs +566 -0
- package/fesm2022/es.framework-ng.ui.core-excel-import.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-filter-templates.mjs +386 -0
- package/fesm2022/es.framework-ng.ui.core-filter-templates.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-form-button.mjs +62 -0
- package/fesm2022/es.framework-ng.ui.core-form-button.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-form-field.mjs +155 -0
- package/fesm2022/es.framework-ng.ui.core-form-field.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-form-template.mjs +37 -0
- package/fesm2022/es.framework-ng.ui.core-form-template.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-avatar-image.mjs +132 -0
- package/fesm2022/es.framework-ng.ui.core-formly-avatar-image.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-avatar-label.mjs +89 -0
- package/fesm2022/es.framework-ng.ui.core-formly-avatar-label.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-button-selector.mjs +195 -0
- package/fesm2022/es.framework-ng.ui.core-formly-button-selector.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-button.mjs +73 -0
- package/fesm2022/es.framework-ng.ui.core-formly-button.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-presets.mjs +201 -0
- package/fesm2022/es.framework-ng.ui.core-formly-presets.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-prime-icon-picker.mjs +542 -0
- package/fesm2022/es.framework-ng.ui.core-formly-prime-icon-picker.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-split-button.mjs +62 -0
- package/fesm2022/es.framework-ng.ui.core-formly-split-button.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-ui-all.mjs +422 -0
- package/fesm2022/es.framework-ng.ui.core-formly-ui-all.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-ui.mjs +48 -0
- package/fesm2022/es.framework-ng.ui.core-formly-ui.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-formly-username-with-domain.mjs +85 -0
- package/fesm2022/es.framework-ng.ui.core-formly-username-with-domain.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-assets.mjs +22 -0
- package/fesm2022/es.framework-ng.ui.core-generic-assets.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-autocomplete.mjs +173 -0
- package/fesm2022/es.framework-ng.ui.core-generic-autocomplete.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-button.mjs +150 -0
- package/fesm2022/es.framework-ng.ui.core-generic-button.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-card.mjs +218 -0
- package/fesm2022/es.framework-ng.ui.core-generic-card.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-crud-table.mjs +929 -0
- package/fesm2022/es.framework-ng.ui.core-generic-crud-table.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-dialog.mjs +321 -0
- package/fesm2022/es.framework-ng.ui.core-generic-dialog.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-errormessage.mjs +35 -0
- package/fesm2022/es.framework-ng.ui.core-generic-errormessage.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-formly-fields.mjs +63 -0
- package/fesm2022/es.framework-ng.ui.core-generic-formly-fields.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-loadingspinner.mjs +34 -0
- package/fesm2022/es.framework-ng.ui.core-generic-loadingspinner.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-report-tabs.mjs +196 -0
- package/fesm2022/es.framework-ng.ui.core-generic-report-tabs.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-report.mjs +556 -0
- package/fesm2022/es.framework-ng.ui.core-generic-report.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-search-advanced.mjs +2995 -0
- package/fesm2022/es.framework-ng.ui.core-generic-search-advanced.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-search.mjs +103 -0
- package/fesm2022/es.framework-ng.ui.core-generic-search.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-selector.mjs +684 -0
- package/fesm2022/es.framework-ng.ui.core-generic-selector.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-table.mjs +388 -0
- package/fesm2022/es.framework-ng.ui.core-generic-table.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-generic-view.mjs +465 -0
- package/fesm2022/es.framework-ng.ui.core-generic-view.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-header-wrapper.mjs +31 -0
- package/fesm2022/es.framework-ng.ui.core-header-wrapper.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-icon-picker.mjs +205 -0
- package/fesm2022/es.framework-ng.ui.core-icon-picker.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-input-switch.mjs +102 -0
- package/fesm2022/es.framework-ng.ui.core-input-switch.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-input-with-icon.mjs +67 -0
- package/fesm2022/es.framework-ng.ui.core-input-with-icon.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-input.mjs +250 -0
- package/fesm2022/es.framework-ng.ui.core-input.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-label-type.mjs +184 -0
- package/fesm2022/es.framework-ng.ui.core-label-type.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-loading-skeletons.mjs +66 -0
- package/fesm2022/es.framework-ng.ui.core-loading-skeletons.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-odata-query-builder.mjs +307 -0
- package/fesm2022/es.framework-ng.ui.core-odata-query-builder.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-query-type.mjs +162 -0
- package/fesm2022/es.framework-ng.ui.core-query-type.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-radio.mjs +120 -0
- package/fesm2022/es.framework-ng.ui.core-radio.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-repeat.mjs +290 -0
- package/fesm2022/es.framework-ng.ui.core-repeat.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-select.mjs +179 -0
- package/fesm2022/es.framework-ng.ui.core-select.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-sidebar-cards.mjs +52 -0
- package/fesm2022/es.framework-ng.ui.core-sidebar-cards.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-sidebar-toggles.mjs +53 -0
- package/fesm2022/es.framework-ng.ui.core-sidebar-toggles.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-tabs.mjs +57 -0
- package/fesm2022/es.framework-ng.ui.core-tabs.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-tag-type.mjs +209 -0
- package/fesm2022/es.framework-ng.ui.core-tag-type.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-text-editor.mjs +58 -0
- package/fesm2022/es.framework-ng.ui.core-text-editor.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-textarea.mjs +93 -0
- package/fesm2022/es.framework-ng.ui.core-textarea.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core-wrappers.mjs +245 -0
- package/fesm2022/es.framework-ng.ui.core-wrappers.mjs.map +1 -0
- package/fesm2022/es.framework-ng.ui.core.mjs +20 -0
- package/fesm2022/es.framework-ng.ui.core.mjs.map +1 -0
- package/filter-templates/README.md +3 -0
- package/form-button/README.md +3 -0
- package/form-field/README.md +3 -0
- package/form-template/README.md +3 -0
- package/formly-avatar-image/README.md +3 -0
- package/formly-avatar-label/README.md +3 -0
- package/formly-button/README.md +3 -0
- package/formly-button-selector/README.md +3 -0
- package/formly-presets/README.md +3 -0
- package/formly-prime-icon-picker/README.md +3 -0
- package/formly-split-button/README.md +3 -0
- package/formly-ui/README.md +3 -0
- package/formly-ui-all/README.md +3 -0
- package/formly-username-with-domain/README.md +3 -0
- package/generic-assets/README.md +3 -0
- package/generic-autocomplete/README.md +3 -0
- package/generic-button/README.md +3 -0
- package/generic-card/README.md +3 -0
- package/generic-crud-table/README.md +3 -0
- package/generic-dialog/README.md +3 -0
- package/generic-errormessage/README.md +3 -0
- package/generic-formly-fields/README.md +3 -0
- package/generic-loadingspinner/README.md +3 -0
- package/generic-report/README.md +3 -0
- package/generic-report-tabs/README.md +0 -0
- package/generic-search/README.md +3 -0
- package/generic-search-advanced/README.md +3 -0
- package/generic-selector/README.md +3 -0
- package/generic-table/README.md +3 -0
- package/generic-view/README.md +3 -0
- package/header-wrapper/README.md +3 -0
- package/icon-picker/README.md +3 -0
- package/input/README.md +3 -0
- package/input-switch/README.md +3 -0
- package/input-with-icon/README.md +3 -0
- package/label-type/README.md +3 -0
- package/loading-skeletons/README.md +3 -0
- package/odata-query-builder/README.md +3 -0
- package/package.json +264 -0
- package/query-type/README.md +3 -0
- package/radio/README.md +3 -0
- package/repeat/README.md +3 -0
- package/select/README.md +3 -0
- package/sidebar-cards/README.md +3 -0
- package/sidebar-toggles/README.md +3 -0
- package/styles.css +2 -0
- package/tabs/README.md +3 -0
- package/tag-type/README.md +3 -0
- package/text-editor/README.md +3 -0
- package/textarea/README.md +3 -0
- package/types/es.framework-ng.ui.core-attachments.d.ts +38 -0
- package/types/es.framework-ng.ui.core-base-crud.d.ts +74 -0
- package/types/es.framework-ng.ui.core-breadcrumb.d.ts +17 -0
- package/types/es.framework-ng.ui.core-checkbox.d.ts +33 -0
- package/types/es.framework-ng.ui.core-collapsible.d.ts +18 -0
- package/types/es.framework-ng.ui.core-color-picker.d.ts +16 -0
- package/types/es.framework-ng.ui.core-column-settings-popover.d.ts +46 -0
- package/types/es.framework-ng.ui.core-custom-switch.d.ts +19 -0
- package/types/es.framework-ng.ui.core-datepicker.d.ts +23 -0
- package/types/es.framework-ng.ui.core-deactivation-reason.d.ts +32 -0
- package/types/es.framework-ng.ui.core-excel-import.d.ts +69 -0
- package/types/es.framework-ng.ui.core-filter-templates.d.ts +57 -0
- package/types/es.framework-ng.ui.core-form-button.d.ts +17 -0
- package/types/es.framework-ng.ui.core-form-field.d.ts +30 -0
- package/types/es.framework-ng.ui.core-form-template.d.ts +16 -0
- package/types/es.framework-ng.ui.core-formly-avatar-image.d.ts +18 -0
- package/types/es.framework-ng.ui.core-formly-avatar-label.d.ts +36 -0
- package/types/es.framework-ng.ui.core-formly-button-selector.d.ts +35 -0
- package/types/es.framework-ng.ui.core-formly-button.d.ts +20 -0
- package/types/es.framework-ng.ui.core-formly-presets.d.ts +37 -0
- package/types/es.framework-ng.ui.core-formly-prime-icon-picker.d.ts +45 -0
- package/types/es.framework-ng.ui.core-formly-split-button.d.ts +23 -0
- package/types/es.framework-ng.ui.core-formly-ui-all.d.ts +40 -0
- package/types/es.framework-ng.ui.core-formly-ui.d.ts +13 -0
- package/types/es.framework-ng.ui.core-formly-username-with-domain.d.ts +19 -0
- package/types/es.framework-ng.ui.core-generic-assets.d.ts +10 -0
- package/types/es.framework-ng.ui.core-generic-autocomplete.d.ts +41 -0
- package/types/es.framework-ng.ui.core-generic-button.d.ts +39 -0
- package/types/es.framework-ng.ui.core-generic-card.d.ts +93 -0
- package/types/es.framework-ng.ui.core-generic-crud-table.d.ts +293 -0
- package/types/es.framework-ng.ui.core-generic-dialog.d.ts +93 -0
- package/types/es.framework-ng.ui.core-generic-errormessage.d.ts +17 -0
- package/types/es.framework-ng.ui.core-generic-formly-fields.d.ts +26 -0
- package/types/es.framework-ng.ui.core-generic-loadingspinner.d.ts +16 -0
- package/types/es.framework-ng.ui.core-generic-report-tabs.d.ts +21 -0
- package/types/es.framework-ng.ui.core-generic-report.d.ts +121 -0
- package/types/es.framework-ng.ui.core-generic-search-advanced.d.ts +305 -0
- package/types/es.framework-ng.ui.core-generic-search.d.ts +36 -0
- package/types/es.framework-ng.ui.core-generic-selector.d.ts +99 -0
- package/types/es.framework-ng.ui.core-generic-table.d.ts +84 -0
- package/types/es.framework-ng.ui.core-generic-view.d.ts +97 -0
- package/types/es.framework-ng.ui.core-header-wrapper.d.ts +15 -0
- package/types/es.framework-ng.ui.core-icon-picker.d.ts +30 -0
- package/types/es.framework-ng.ui.core-input-switch.d.ts +16 -0
- package/types/es.framework-ng.ui.core-input-with-icon.d.ts +17 -0
- package/types/es.framework-ng.ui.core-input.d.ts +47 -0
- package/types/es.framework-ng.ui.core-label-type.d.ts +38 -0
- package/types/es.framework-ng.ui.core-loading-skeletons.d.ts +17 -0
- package/types/es.framework-ng.ui.core-odata-query-builder.d.ts +87 -0
- package/types/es.framework-ng.ui.core-query-type.d.ts +37 -0
- package/types/es.framework-ng.ui.core-radio.d.ts +38 -0
- package/types/es.framework-ng.ui.core-repeat.d.ts +31 -0
- package/types/es.framework-ng.ui.core-select.d.ts +42 -0
- package/types/es.framework-ng.ui.core-sidebar-cards.d.ts +25 -0
- package/types/es.framework-ng.ui.core-sidebar-toggles.d.ts +25 -0
- package/types/es.framework-ng.ui.core-tabs.d.ts +17 -0
- package/types/es.framework-ng.ui.core-tag-type.d.ts +34 -0
- package/types/es.framework-ng.ui.core-text-editor.d.ts +16 -0
- package/types/es.framework-ng.ui.core-textarea.d.ts +36 -0
- package/types/es.framework-ng.ui.core-wrappers.d.ts +36 -0
- package/types/es.framework-ng.ui.core.d.ts +8 -0
- package/wrappers/README.md +3 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1$1 from '@ngx-formly/core';
|
|
4
|
+
import { FieldType, FormlyAttributes, FormlyModule } from '@ngx-formly/core';
|
|
5
|
+
import { FormlyFormFieldModule } from '@es.framework/ng.ui.core/form-field';
|
|
6
|
+
import * as i1 from '@angular/forms';
|
|
7
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
8
|
+
import { TranslatePipe } from '@es.framework/ng.core/pipes';
|
|
9
|
+
import { DatePickerModule } from 'primeng/datepicker';
|
|
10
|
+
import * as i2 from 'primeng/checkbox';
|
|
11
|
+
import { CheckboxModule } from 'primeng/checkbox';
|
|
12
|
+
import { CommonModule } from '@angular/common';
|
|
13
|
+
|
|
14
|
+
class FormlyFieldCheckbox extends FieldType {
|
|
15
|
+
defaultOptions = { props: { hideLabel: true } };
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: FormlyFieldCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: FormlyFieldCheckbox, isStandalone: true, selector: "formly-field-primeng-checkbox", usesInheritance: true, ngImport: i0, template: `
|
|
18
|
+
<!-- <div class="p-field-checkbox flex items-center gap-1">
|
|
19
|
+
|
|
20
|
+
<p-checkbox
|
|
21
|
+
[binary]="true"
|
|
22
|
+
[formControl]="formControl"
|
|
23
|
+
[formlyAttributes]="field"
|
|
24
|
+
[inputId]="id"
|
|
25
|
+
|
|
26
|
+
/>
|
|
27
|
+
<label [for]="id" class="ml-2">{{ (props['label'] ?? '') | translate}}</label>
|
|
28
|
+
</div> -->
|
|
29
|
+
|
|
30
|
+
<div class="flex gap-2 items-center ltr:justify-end rtl:justify-start rtl:flex-row-reverse w-full px-2 py-1" style=" border-radius: var(--p-inputtext-border-radius);">
|
|
31
|
+
<!-- text-lg -->
|
|
32
|
+
|
|
33
|
+
<p-checkbox
|
|
34
|
+
[binary]="true"
|
|
35
|
+
[formControl]="formControl"
|
|
36
|
+
[formlyAttributes]="field"
|
|
37
|
+
[inputId]="id"
|
|
38
|
+
|
|
39
|
+
/>
|
|
40
|
+
<label [for]="id" class="font-bold text-gray-800 ltr:mr-2 rtl:ml-2 whitespace-nowrap">
|
|
41
|
+
{{ (to.label ?? '') | translate }}
|
|
42
|
+
</label>
|
|
43
|
+
</div>
|
|
44
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { 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: CheckboxModule }, { kind: "component", type: i2.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["hostName", "value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: FormlyFieldCheckbox, decorators: [{
|
|
47
|
+
type: Component,
|
|
48
|
+
args: [{
|
|
49
|
+
selector: 'formly-field-primeng-checkbox',
|
|
50
|
+
template: `
|
|
51
|
+
<!-- <div class="p-field-checkbox flex items-center gap-1">
|
|
52
|
+
|
|
53
|
+
<p-checkbox
|
|
54
|
+
[binary]="true"
|
|
55
|
+
[formControl]="formControl"
|
|
56
|
+
[formlyAttributes]="field"
|
|
57
|
+
[inputId]="id"
|
|
58
|
+
|
|
59
|
+
/>
|
|
60
|
+
<label [for]="id" class="ml-2">{{ (props['label'] ?? '') | translate}}</label>
|
|
61
|
+
</div> -->
|
|
62
|
+
|
|
63
|
+
<div class="flex gap-2 items-center ltr:justify-end rtl:justify-start rtl:flex-row-reverse w-full px-2 py-1" style=" border-radius: var(--p-inputtext-border-radius);">
|
|
64
|
+
<!-- text-lg -->
|
|
65
|
+
|
|
66
|
+
<p-checkbox
|
|
67
|
+
[binary]="true"
|
|
68
|
+
[formControl]="formControl"
|
|
69
|
+
[formlyAttributes]="field"
|
|
70
|
+
[inputId]="id"
|
|
71
|
+
|
|
72
|
+
/>
|
|
73
|
+
<label [for]="id" class="font-bold text-gray-800 ltr:mr-2 rtl:ml-2 whitespace-nowrap">
|
|
74
|
+
{{ (to.label ?? '') | translate }}
|
|
75
|
+
</label>
|
|
76
|
+
</div>
|
|
77
|
+
`,
|
|
78
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
79
|
+
standalone: true,
|
|
80
|
+
imports: [ReactiveFormsModule, DatePickerModule, FormlyFormFieldModule, FormlyAttributes, TranslatePipe, CheckboxModule]
|
|
81
|
+
}]
|
|
82
|
+
}] });
|
|
83
|
+
|
|
84
|
+
function withFormlyFieldCheckbox() {
|
|
85
|
+
return {
|
|
86
|
+
types: [
|
|
87
|
+
{
|
|
88
|
+
name: 'checkbox',
|
|
89
|
+
component: FormlyFieldCheckbox,
|
|
90
|
+
wrappers: ['form-field'],
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'boolean',
|
|
94
|
+
extends: 'checkbox',
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
class FormlyCheckboxModule {
|
|
101
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: FormlyCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
102
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: FormlyCheckboxModule, imports: [CommonModule,
|
|
103
|
+
ReactiveFormsModule,
|
|
104
|
+
CheckboxModule,
|
|
105
|
+
FormlyFormFieldModule, i1$1.FormlyModule] });
|
|
106
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: FormlyCheckboxModule, imports: [CommonModule,
|
|
107
|
+
ReactiveFormsModule,
|
|
108
|
+
CheckboxModule,
|
|
109
|
+
FormlyFormFieldModule,
|
|
110
|
+
FormlyModule.forChild(withFormlyFieldCheckbox())] });
|
|
111
|
+
}
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: FormlyCheckboxModule, decorators: [{
|
|
113
|
+
type: NgModule,
|
|
114
|
+
args: [{
|
|
115
|
+
// declarations: [FormlyFieldCheckbox],
|
|
116
|
+
imports: [
|
|
117
|
+
CommonModule,
|
|
118
|
+
ReactiveFormsModule,
|
|
119
|
+
CheckboxModule,
|
|
120
|
+
FormlyFormFieldModule,
|
|
121
|
+
FormlyModule.forChild(withFormlyFieldCheckbox()),
|
|
122
|
+
],
|
|
123
|
+
}]
|
|
124
|
+
}] });
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Generated bundle index. Do not edit.
|
|
128
|
+
*/
|
|
129
|
+
|
|
130
|
+
export { FormlyCheckboxModule, FormlyFieldCheckbox, withFormlyFieldCheckbox };
|
|
131
|
+
//# sourceMappingURL=es.framework-ng.ui.core-checkbox.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"es.framework-ng.ui.core-checkbox.mjs","sources":["../../../../libs/ng.ui.core/checkbox/src/lib/checkbox.type.ts","../../../../libs/ng.ui.core/checkbox/src/lib/checkbox.config.ts","../../../../libs/ng.ui.core/checkbox/src/lib/checkbox.module.ts","../../../../libs/ng.ui.core/checkbox/src/es.framework-ng.ui.core-checkbox.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, Type } from '@angular/core';\nimport { FieldType, FieldTypeConfig, FormlyAttributes, FormlyFieldConfig } from '@ngx-formly/core';\n// import { FormlyFieldProps as CheckboxProps, FormlyFormFieldModule } from '@es.framework/ng.core/form-field';\nimport { FormlyFieldProps as CheckboxProps,FormlyFormFieldModule } from '@es.framework/ng.ui.core/form-field';\n\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslatePipe } from '@es.framework/ng.core/pipes';\nimport { DatePickerModule } from 'primeng/datepicker';\nimport { CheckboxModule } from 'primeng/checkbox';\n\nexport interface FormlyCheckboxFieldConfig extends FormlyFieldConfig<CheckboxProps> {\n type: 'checkbox' | Type<FormlyFieldCheckbox>;\n}\n\n@Component({\n selector: 'formly-field-primeng-checkbox',\n template: `\n <!-- <div class=\"p-field-checkbox flex items-center gap-1\">\n\n <p-checkbox\n [binary]=\"true\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [inputId]=\"id\"\n\n />\n <label [for]=\"id\" class=\"ml-2\">{{ (props['label'] ?? '') | translate}}</label>\n </div> -->\n\n <div class=\"flex gap-2 items-center ltr:justify-end rtl:justify-start rtl:flex-row-reverse w-full px-2 py-1\" style=\" border-radius: var(--p-inputtext-border-radius);\">\n<!-- text-lg -->\n\n <p-checkbox\n [binary]=\"true\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [inputId]=\"id\"\n\n />\n <label [for]=\"id\" class=\"font-bold text-gray-800 ltr:mr-2 rtl:ml-2 whitespace-nowrap\">\n {{ (to.label ?? '') | translate }}\n </label>\n</div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone:true,\n imports: [ReactiveFormsModule, DatePickerModule, FormlyFormFieldModule, FormlyAttributes, TranslatePipe, CheckboxModule]\n})\nexport class FormlyFieldCheckbox extends FieldType<FieldTypeConfig<CheckboxProps>> {\n override defaultOptions = { props: { hideLabel: true } };\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyFieldCheckbox } from './checkbox.type';\n\nexport function withFormlyFieldCheckbox(): ConfigOption {\n return {\n types: [\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'boolean',\n extends: 'checkbox',\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 { CheckboxModule } from 'primeng/checkbox';\n\nimport { FormlyFieldCheckbox } from './checkbox.type';\nimport { withFormlyFieldCheckbox } from './checkbox.config';\nimport { FormlyFormFieldModule } from '@es.framework/ng.ui.core/form-field';\n\n@NgModule({\n // declarations: [FormlyFieldCheckbox],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n CheckboxModule,\n FormlyFormFieldModule,\n FormlyModule.forChild(withFormlyFieldCheckbox()),\n ],\n})\nexport class FormlyCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule, Component } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { FieldWrapper, FormlyModule } from '@ngx-formly/core';
|
|
6
|
+
|
|
7
|
+
class CollapsibleModule {
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: CollapsibleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: CollapsibleModule, imports: [CommonModule] });
|
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: CollapsibleModule, imports: [CommonModule] });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: CollapsibleModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [CommonModule],
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
|
|
19
|
+
class CollapsibleWrapper extends FieldWrapper {
|
|
20
|
+
isCollapsed = true;
|
|
21
|
+
toggleCollapse() {
|
|
22
|
+
this.isCollapsed = !this.isCollapsed;
|
|
23
|
+
}
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: CollapsibleWrapper, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: CollapsibleWrapper, isStandalone: true, selector: "formly-wrapper-collapsible", usesInheritance: true, ngImport: i0, template: `
|
|
26
|
+
<div class="w-full flex flex-col rounded-lg shadow-md overflow-hidden border border-gray-300 bg-white">
|
|
27
|
+
<!-- Header -->
|
|
28
|
+
<div
|
|
29
|
+
class="flex items-center p-4 bg-gray-50 border-b border-gray-200 cursor-pointer transition duration-200 hover:bg-gray-100"
|
|
30
|
+
(click)="toggleCollapse()"
|
|
31
|
+
>
|
|
32
|
+
<div class="flex items-center gap-2">
|
|
33
|
+
@if (props['icon']) {
|
|
34
|
+
<i class="{{ props['icon'] }} text-blue-500 text-lg"></i>
|
|
35
|
+
}
|
|
36
|
+
<span class="text-lg font-semibold text-gray-700">{{ props.label }}</span>
|
|
37
|
+
</div>
|
|
38
|
+
<i
|
|
39
|
+
class="pi mr-auto text-gray-600 text-xl transition-transform duration-300"
|
|
40
|
+
[ngClass]="{ 'pi-angle-up': !isCollapsed, 'pi-angle-down': isCollapsed }"
|
|
41
|
+
></i>
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
<!-- Body -->
|
|
45
|
+
<div [ngClass]="{ hidden: isCollapsed, 'p-6': !isCollapsed }">
|
|
46
|
+
<ng-container #fieldComponent></ng-container>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormlyModule }] });
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: CollapsibleWrapper, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{
|
|
54
|
+
selector: 'formly-wrapper-collapsible',
|
|
55
|
+
standalone: true,
|
|
56
|
+
imports: [CommonModule, FormlyModule],
|
|
57
|
+
template: `
|
|
58
|
+
<div class="w-full flex flex-col rounded-lg shadow-md overflow-hidden border border-gray-300 bg-white">
|
|
59
|
+
<!-- Header -->
|
|
60
|
+
<div
|
|
61
|
+
class="flex items-center p-4 bg-gray-50 border-b border-gray-200 cursor-pointer transition duration-200 hover:bg-gray-100"
|
|
62
|
+
(click)="toggleCollapse()"
|
|
63
|
+
>
|
|
64
|
+
<div class="flex items-center gap-2">
|
|
65
|
+
@if (props['icon']) {
|
|
66
|
+
<i class="{{ props['icon'] }} text-blue-500 text-lg"></i>
|
|
67
|
+
}
|
|
68
|
+
<span class="text-lg font-semibold text-gray-700">{{ props.label }}</span>
|
|
69
|
+
</div>
|
|
70
|
+
<i
|
|
71
|
+
class="pi mr-auto text-gray-600 text-xl transition-transform duration-300"
|
|
72
|
+
[ngClass]="{ 'pi-angle-up': !isCollapsed, 'pi-angle-down': isCollapsed }"
|
|
73
|
+
></i>
|
|
74
|
+
</div>
|
|
75
|
+
|
|
76
|
+
<!-- Body -->
|
|
77
|
+
<div [ngClass]="{ hidden: isCollapsed, 'p-6': !isCollapsed }">
|
|
78
|
+
<ng-container #fieldComponent></ng-container>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
`,
|
|
82
|
+
}]
|
|
83
|
+
}] });
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Generated bundle index. Do not edit.
|
|
87
|
+
*/
|
|
88
|
+
|
|
89
|
+
export { CollapsibleModule, CollapsibleWrapper };
|
|
90
|
+
//# sourceMappingURL=es.framework-ng.ui.core-collapsible.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"es.framework-ng.ui.core-collapsible.mjs","sources":["../../../../libs/ng.ui.core/collapsible/src/lib/collapsible-module.ts","../../../../libs/ng.ui.core/collapsible/src/lib/collapsible-wrapper.ts","../../../../libs/ng.ui.core/collapsible/src/es.framework-ng.ui.core-collapsible.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [CommonModule],\n})\nexport class CollapsibleModule {}\n","import { Component } from '@angular/core';\r\nimport { FieldWrapper, FormlyModule } from '@ngx-formly/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'formly-wrapper-collapsible',\r\n standalone: true,\r\n imports: [CommonModule, FormlyModule],\r\n template: `\n <div class=\"w-full flex flex-col rounded-lg shadow-md overflow-hidden border border-gray-300 bg-white\">\n <!-- Header -->\n <div\n class=\"flex items-center p-4 bg-gray-50 border-b border-gray-200 cursor-pointer transition duration-200 hover:bg-gray-100\"\n (click)=\"toggleCollapse()\"\n >\n <div class=\"flex items-center gap-2\">\n @if (props['icon']) {\n <i class=\"{{ props['icon'] }} text-blue-500 text-lg\"></i>\n }\n <span class=\"text-lg font-semibold text-gray-700\">{{ props.label }}</span>\n </div>\n <i\n class=\"pi mr-auto text-gray-600 text-xl transition-transform duration-300\"\n [ngClass]=\"{ 'pi-angle-up': !isCollapsed, 'pi-angle-down': isCollapsed }\"\n ></i>\n </div>\n \n <!-- Body -->\n <div [ngClass]=\"{ hidden: isCollapsed, 'p-6': !isCollapsed }\">\n <ng-container #fieldComponent></ng-container>\n </div>\n </div>\n `,\r\n})\r\nexport class CollapsibleWrapper extends FieldWrapper {\r\n isCollapsed = true;\r\n\r\n toggleCollapse() {\r\n this.isCollapsed = !this.isCollapsed;\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAMa,iBAAiB,CAAA;uGAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAFlB,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,iBAAiB,YAFlB,YAAY,CAAA,EAAA,CAAA;;2FAEX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA;;;AC6BK,MAAO,kBAAmB,SAAQ,YAAY,CAAA;IAClD,WAAW,GAAG,IAAI;IAElB,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW;IACtC;uGALW,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA1BnB;;;;;;;;;;;;;;;;;;;;;;;;KAwBP,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAzBO,YAAY,4HAAE,YAAY,EAAA,CAAA,EAAA,CAAA;;2FA2BzB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBA9B9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;AACrC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;AAwBP,IAAA,CAAA;AACJ,iBAAA;;;ACjCD;;AAEG;;;;"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { FieldType } from '@ngx-formly/core';
|
|
5
|
+
import * as i2 from '@angular/forms';
|
|
6
|
+
import { FormsModule } from '@angular/forms';
|
|
7
|
+
import * as i1 from 'primeng/colorpicker';
|
|
8
|
+
import { ColorPickerModule as ColorPickerModule$1 } from 'primeng/colorpicker';
|
|
9
|
+
import { TranslatePipe } from '@es.framework/ng.core/pipes';
|
|
10
|
+
|
|
11
|
+
class ColorPickerModule {
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColorPickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ColorPickerModule, imports: [CommonModule] });
|
|
14
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColorPickerModule, imports: [CommonModule] });
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColorPickerModule, decorators: [{
|
|
17
|
+
type: NgModule,
|
|
18
|
+
args: [{
|
|
19
|
+
imports: [CommonModule],
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
|
|
23
|
+
class ColorPickerComponent extends FieldType {
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColorPickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: ColorPickerComponent, isStandalone: true, selector: "formly-field-color-picker", usesInheritance: true, ngImport: i0, template: `
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
<div class="flex items-center justify-between rtl:flex-row-reverse w-full px-2 py-1" style=" border-radius: var(--p-inputtext-border-radius);">
|
|
29
|
+
<p-colorPicker
|
|
30
|
+
[style.direction]="'ltr'"
|
|
31
|
+
[(ngModel)]="formControl.value"
|
|
32
|
+
(ngModelChange)="formControl.setValue($event)"
|
|
33
|
+
[style]="to['style']"
|
|
34
|
+
[disabled]="to.disabled ?? false"
|
|
35
|
+
[inline]="to['inline'] ?? false"
|
|
36
|
+
[format]="to['format'] ?? 'hex'"
|
|
37
|
+
[tabindex]="'' + (to.tabindex ?? 0)"
|
|
38
|
+
[id]="id"
|
|
39
|
+
[name]="to['name'] || key"
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
></p-colorPicker>
|
|
43
|
+
<!-- appendTo="body" -->
|
|
44
|
+
<label [for]="id" class="text-sm text-gray-800 mr-2 whitespace-nowrap">
|
|
45
|
+
{{ (to.label ?? '') | translate}}
|
|
46
|
+
</label>
|
|
47
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ColorPickerModule$1 }, { kind: "component", type: i1.ColorPicker, selector: "p-colorPicker, p-colorpicker, p-color-picker", inputs: ["styleClass", "inline", "format", "tabindex", "inputId", "autoZIndex", "showTransitionOptions", "hideTransitionOptions", "autofocus", "defaultColor", "appendTo"], outputs: ["onChange", "onShow", "onHide"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
48
|
+
}
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColorPickerComponent, decorators: [{
|
|
50
|
+
type: Component,
|
|
51
|
+
args: [{
|
|
52
|
+
standalone: true,
|
|
53
|
+
selector: 'formly-field-color-picker',
|
|
54
|
+
imports: [ColorPickerModule$1, FormsModule, TranslatePipe],
|
|
55
|
+
template: `
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
<div class="flex items-center justify-between rtl:flex-row-reverse w-full px-2 py-1" style=" border-radius: var(--p-inputtext-border-radius);">
|
|
59
|
+
<p-colorPicker
|
|
60
|
+
[style.direction]="'ltr'"
|
|
61
|
+
[(ngModel)]="formControl.value"
|
|
62
|
+
(ngModelChange)="formControl.setValue($event)"
|
|
63
|
+
[style]="to['style']"
|
|
64
|
+
[disabled]="to.disabled ?? false"
|
|
65
|
+
[inline]="to['inline'] ?? false"
|
|
66
|
+
[format]="to['format'] ?? 'hex'"
|
|
67
|
+
[tabindex]="'' + (to.tabindex ?? 0)"
|
|
68
|
+
[id]="id"
|
|
69
|
+
[name]="to['name'] || key"
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
></p-colorPicker>
|
|
73
|
+
<!-- appendTo="body" -->
|
|
74
|
+
<label [for]="id" class="text-sm text-gray-800 mr-2 whitespace-nowrap">
|
|
75
|
+
{{ (to.label ?? '') | translate}}
|
|
76
|
+
</label>
|
|
77
|
+
`,
|
|
78
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
79
|
+
}]
|
|
80
|
+
}] });
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Generated bundle index. Do not edit.
|
|
84
|
+
*/
|
|
85
|
+
|
|
86
|
+
export { ColorPickerComponent, ColorPickerModule };
|
|
87
|
+
//# sourceMappingURL=es.framework-ng.ui.core-color-picker.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"es.framework-ng.ui.core-color-picker.mjs","sources":["../../../../libs/ng.ui.core/color-picker/src/lib/color-picker-module.ts","../../../../libs/ng.ui.core/color-picker/src/lib/color-picker.type.ts","../../../../libs/ng.ui.core/color-picker/src/es.framework-ng.ui.core-color-picker.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [CommonModule],\n})\nexport class ColorPickerModule {}\n","import { Component, ChangeDetectionStrategy, inject } from '@angular/core';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { FormsModule, NgModel } from '@angular/forms';\n\nimport { ColorPickerModule } from 'primeng/colorpicker';\nimport { TranslatePipe } from '@es.framework/ng.core/pipes';\n\n@Component({\n standalone: true,\n selector: 'formly-field-color-picker',\n imports: [ColorPickerModule, FormsModule, TranslatePipe],\n template: `\n\n\n <div class=\"flex items-center justify-between rtl:flex-row-reverse w-full px-2 py-1\" style=\" border-radius: var(--p-inputtext-border-radius);\">\n <p-colorPicker\n [style.direction]=\"'ltr'\"\n [(ngModel)]=\"formControl.value\"\n (ngModelChange)=\"formControl.setValue($event)\"\n [style]=\"to['style']\"\n [disabled]=\"to.disabled ?? false\"\n [inline]=\"to['inline'] ?? false\"\n [format]=\"to['format'] ?? 'hex'\"\n [tabindex]=\"'' + (to.tabindex ?? 0)\"\n [id]=\"id\"\n [name]=\"to['name'] || key\"\n\n\n ></p-colorPicker>\n <!-- appendTo=\"body\" -->\n <label [for]=\"id\" class=\"text-sm text-gray-800 mr-2 whitespace-nowrap\">\n {{ (to.label ?? '') | translate}}\n </label>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ColorPickerComponent extends FieldType<FieldTypeConfig> {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ColorPickerModule"],"mappings":"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"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule, EventEmitter, Output, Input, ViewChild, Component } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import * as i2 from '@angular/forms';
|
|
5
|
+
import { FormsModule } from '@angular/forms';
|
|
6
|
+
import * as i3 from 'primeng/popover';
|
|
7
|
+
import { PopoverModule } from 'primeng/popover';
|
|
8
|
+
import { DividerModule } from 'primeng/divider';
|
|
9
|
+
import { ButtonModule } from 'primeng/button';
|
|
10
|
+
import { TooltipModule } from 'primeng/tooltip';
|
|
11
|
+
import { TranslatePipe } from '@es.framework/ng.core/pipes';
|
|
12
|
+
import * as i5 from 'primeng/orderlist';
|
|
13
|
+
import { OrderListModule } from 'primeng/orderlist';
|
|
14
|
+
import * as i6 from 'primeng/checkbox';
|
|
15
|
+
import { CheckboxModule, Checkbox } from 'primeng/checkbox';
|
|
16
|
+
import * as i1 from '@es.framework/ng.core/services';
|
|
17
|
+
import * as i4 from 'primeng/api';
|
|
18
|
+
|
|
19
|
+
class ColumnSettingsPopoverModule {
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColumnSettingsPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
21
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ColumnSettingsPopoverModule, imports: [CommonModule] });
|
|
22
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColumnSettingsPopoverModule, imports: [CommonModule] });
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColumnSettingsPopoverModule, decorators: [{
|
|
25
|
+
type: NgModule,
|
|
26
|
+
args: [{
|
|
27
|
+
imports: [CommonModule],
|
|
28
|
+
}]
|
|
29
|
+
}] });
|
|
30
|
+
|
|
31
|
+
// src/app/shared/column-settings-popover/column-settings-popover.component.ts
|
|
32
|
+
class ColumnSettingsPopoverComponent {
|
|
33
|
+
translate;
|
|
34
|
+
op;
|
|
35
|
+
fixedColumns = [];
|
|
36
|
+
toggleableColumns = [];
|
|
37
|
+
// تم إزالة @Input() tableId لأنه لن يستخدم هنا للحفظ
|
|
38
|
+
tableId = 'defaultTable';
|
|
39
|
+
_displayOrderListColumns = [];
|
|
40
|
+
_selectedToggleableColumns = [];
|
|
41
|
+
get selectedToggleableColumns() {
|
|
42
|
+
return this._selectedToggleableColumns;
|
|
43
|
+
}
|
|
44
|
+
set selectedToggleableColumns(val) {
|
|
45
|
+
if (!this.areColumnsEqual(this._selectedToggleableColumns, val)) {
|
|
46
|
+
this._selectedToggleableColumns = val;
|
|
47
|
+
this.syncDisplayColumnsWithSelectedInput();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
selectedToggleableColumnsChange = new EventEmitter();
|
|
51
|
+
// تم إزالة @Output() columnRemoved و @Output() popoverHidden لأن selectedToggleableColumnsChange يغني عنهما
|
|
52
|
+
constructor(translate) {
|
|
53
|
+
this.translate = translate;
|
|
54
|
+
}
|
|
55
|
+
ngOnInit() {
|
|
56
|
+
console.log('ColumnSettingsPopoverComponent: ngOnInit called.');
|
|
57
|
+
// في ngOnInit، نقوم فقط بتهيئة الأعمدة للعرض بناءً على المدخلات
|
|
58
|
+
this.initializeDisplayColumns();
|
|
59
|
+
this.syncDisplayColumnsWithSelectedInput();
|
|
60
|
+
}
|
|
61
|
+
ngOnChanges(changes) {
|
|
62
|
+
// عند تغير toggleableColumns، نعيد تهيئة القائمة للعرض
|
|
63
|
+
if (changes['toggleableColumns']) {
|
|
64
|
+
console.log('ColumnSettingsPopoverComponent: toggleableColumns input changed.');
|
|
65
|
+
this.initializeDisplayColumns();
|
|
66
|
+
}
|
|
67
|
+
// عند تغير selectedToggleableColumns من المكون الأب، نقوم بمزامنة حالتها
|
|
68
|
+
if (changes['selectedToggleableColumns']) {
|
|
69
|
+
console.log('ColumnSettingsPopoverComponent: selectedToggleableColumns input changed (from parent).');
|
|
70
|
+
this.syncDisplayColumnsWithSelectedInput();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// ⭐ Getter/Setter لمربع الاختيار "تحديد الكل" ⭐
|
|
74
|
+
get allColumnsSelected() {
|
|
75
|
+
if (!this._displayOrderListColumns || this._displayOrderListColumns.length === 0) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
return this._displayOrderListColumns.every(col => col.isSelected);
|
|
79
|
+
}
|
|
80
|
+
set allColumnsSelected(value) {
|
|
81
|
+
this._displayOrderListColumns.forEach(col => col.isSelected = value);
|
|
82
|
+
this.emitCurrentSelection();
|
|
83
|
+
}
|
|
84
|
+
// ⭐ دالة لتهيئة _displayOrderListColumns من toggleableColumns ⭐
|
|
85
|
+
initializeDisplayColumns() {
|
|
86
|
+
this._displayOrderListColumns = this.toggleableColumns.map(col => ({
|
|
87
|
+
...col,
|
|
88
|
+
isSelected: false // نترك isSelected كـ false مؤقتاً
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
// دالة لمزامنة حالة العرض مع الأعمدة المحددة من المكون الأب
|
|
92
|
+
syncDisplayColumnsWithSelectedInput() {
|
|
93
|
+
if (!this._displayOrderListColumns || this._displayOrderListColumns.length === 0) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const selectedFieldsSet = new Set(this._selectedToggleableColumns.map(col => col.field));
|
|
97
|
+
// تحديث خاصية isSelected بناءً على selectedFieldsSet
|
|
98
|
+
this._displayOrderListColumns.forEach(col => {
|
|
99
|
+
col.isSelected = selectedFieldsSet.has(col.field);
|
|
100
|
+
});
|
|
101
|
+
// إعادة ترتيب القائمة لتكون الأعمدة المحددة في الأعلى
|
|
102
|
+
const orderedSelected = this._displayOrderListColumns
|
|
103
|
+
.filter(col => selectedFieldsSet.has(col.field))
|
|
104
|
+
.sort((a, b) => {
|
|
105
|
+
return Array.from(selectedFieldsSet).indexOf(a.field) - Array.from(selectedFieldsSet).indexOf(b.field);
|
|
106
|
+
});
|
|
107
|
+
const orderedUnselected = this._displayOrderListColumns.filter(col => !selectedFieldsSet.has(col.field));
|
|
108
|
+
this._displayOrderListColumns = [...orderedSelected, ...orderedUnselected];
|
|
109
|
+
console.log('ColumnSettingsPopoverComponent: _displayOrderListColumns synced with selectedToggleableColumns input:', this._displayOrderListColumns);
|
|
110
|
+
}
|
|
111
|
+
toggle(event) {
|
|
112
|
+
this.op.toggle(event);
|
|
113
|
+
}
|
|
114
|
+
hide() {
|
|
115
|
+
this.op.hide();
|
|
116
|
+
}
|
|
117
|
+
// عند تغيير حالة أي مربع اختيار
|
|
118
|
+
onColumnVisibilityChange(column) {
|
|
119
|
+
this.emitCurrentSelection();
|
|
120
|
+
}
|
|
121
|
+
// عند إعادة ترتيب القائمة
|
|
122
|
+
onOrderListReorder(event) {
|
|
123
|
+
this.emitCurrentSelection();
|
|
124
|
+
}
|
|
125
|
+
// دالة لإرسال التغييرات إلى المكون الأب
|
|
126
|
+
emitCurrentSelection() {
|
|
127
|
+
const currentSelected = this._displayOrderListColumns
|
|
128
|
+
.filter(col => col.isSelected)
|
|
129
|
+
.map(col => {
|
|
130
|
+
const { isSelected, ...rest } = col;
|
|
131
|
+
return rest;
|
|
132
|
+
});
|
|
133
|
+
this.selectedToggleableColumnsChange.emit(currentSelected);
|
|
134
|
+
}
|
|
135
|
+
areColumnsEqual(cols1, cols2) {
|
|
136
|
+
if (cols1.length !== cols2.length) {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
// التحقق من أن العناصر هي نفسها وبنفس الترتيب
|
|
140
|
+
for (let i = 0; i < cols1.length; i++) {
|
|
141
|
+
if (cols1[i].field !== cols2[i].field) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColumnSettingsPopoverComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
148
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: ColumnSettingsPopoverComponent, isStandalone: true, selector: "lib-column-settings-popover", inputs: { fixedColumns: "fixedColumns", toggleableColumns: "toggleableColumns", tableId: "tableId", selectedToggleableColumns: "selectedToggleableColumns" }, outputs: { selectedToggleableColumnsChange: "selectedToggleableColumnsChange" }, viewQueries: [{ propertyName: "op", first: true, predicate: ["op"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p-popover #op appendTo=\"body\" styleClass=\"w-80\">\n\n\n\n\n <!-- \u2B50 \u0645\u0631\u0628\u0639 \u0627\u062E\u062A\u064A\u0627\u0631 \"\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0643\u0644\" \u2B50 -->\n <div class=\"flex items-center mb-3\">\n <p-checkbox\n [(ngModel)]=\"allColumnsSelected\"\n [binary]=\"true\"\n inputId=\"selectAllColumns\"\n ></p-checkbox>\n <label for=\"selectAllColumns\" class=\"ml-2 cursor-pointer font-medium text-color-secondary\">\n {{ 'COMMON.SELECT_ALL' | translate }}\n </label>\n </div>\n\n <p-orderList\n [value]=\"_displayOrderListColumns\"\n header=\"{{ 'COMMON.REORDER_AND_SELECT_COLUMNS' | translate }}\"\n [listStyle]=\"{'height':'250px'}\"\n [responsive]=\"true\"\n [dragdrop]=\"true\"\n (onReorder)=\"onOrderListReorder($event)\"\n styleClass=\"w-full\"\n >\n <ng-template let-col pTemplate=\"item\">\n <div class=\"p-2 border rounded-md flex items-center justify-between w-full\">\n <!-- \u0645\u0631\u0628\u0639 \u0627\u062E\u062A\u064A\u0627\u0631 \u0644\u0644\u062A\u062D\u0643\u0645 \u0641\u064A \u0627\u0644\u0631\u0624\u064A\u0629 -->\n <p-checkbox\n [(ngModel)]=\"col.isSelected\"\n (ngModelChange)=\"onColumnVisibilityChange(col)\"\n [binary]=\"true\"\n class=\"mr-4\"\n ></p-checkbox>\n <span class=\"flex-grow\">{{ col.header | translate }}</span>\n <i class=\"pi pi-bars text-surface-400 cursor-grab\"></i> <!-- \u0623\u064A\u0642\u0648\u0646\u0629 \u0627\u0644\u0633\u062D\u0628 -->\n </div>\n </ng-template>\n </p-orderList>\n\n\n</p-popover>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i3.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: DividerModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: OrderListModule }, { kind: "component", type: i5.OrderList, selector: "p-orderList, p-orderlist, p-order-list", inputs: ["header", "styleClass", "tabindex", "ariaLabel", "ariaLabelledBy", "listStyle", "responsive", "filterBy", "filterPlaceholder", "filterLocale", "metaKeySelection", "dragdrop", "controlsPosition", "ariaFilterLabel", "filterMatchMode", "breakpoint", "stripedRows", "disabled", "trackBy", "scrollHeight", "autoOptionFocus", "dataKey", "selection", "value", "buttonProps", "moveUpButtonProps", "moveTopButtonProps", "moveDownButtonProps", "moveBottomButtonProps"], outputs: ["selectionChange", "onReorder", "onSelectionChange", "onFilterEvent", "onFocus", "onBlur"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i6.Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["hostName", "value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
149
|
+
}
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ColumnSettingsPopoverComponent, decorators: [{
|
|
151
|
+
type: Component,
|
|
152
|
+
args: [{ selector: 'lib-column-settings-popover', standalone: true, imports: [
|
|
153
|
+
FormsModule,
|
|
154
|
+
PopoverModule,
|
|
155
|
+
DividerModule,
|
|
156
|
+
ButtonModule,
|
|
157
|
+
TooltipModule,
|
|
158
|
+
TranslatePipe,
|
|
159
|
+
OrderListModule,
|
|
160
|
+
CheckboxModule,
|
|
161
|
+
Checkbox
|
|
162
|
+
], template: "<p-popover #op appendTo=\"body\" styleClass=\"w-80\">\n\n\n\n\n <!-- \u2B50 \u0645\u0631\u0628\u0639 \u0627\u062E\u062A\u064A\u0627\u0631 \"\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0643\u0644\" \u2B50 -->\n <div class=\"flex items-center mb-3\">\n <p-checkbox\n [(ngModel)]=\"allColumnsSelected\"\n [binary]=\"true\"\n inputId=\"selectAllColumns\"\n ></p-checkbox>\n <label for=\"selectAllColumns\" class=\"ml-2 cursor-pointer font-medium text-color-secondary\">\n {{ 'COMMON.SELECT_ALL' | translate }}\n </label>\n </div>\n\n <p-orderList\n [value]=\"_displayOrderListColumns\"\n header=\"{{ 'COMMON.REORDER_AND_SELECT_COLUMNS' | translate }}\"\n [listStyle]=\"{'height':'250px'}\"\n [responsive]=\"true\"\n [dragdrop]=\"true\"\n (onReorder)=\"onOrderListReorder($event)\"\n styleClass=\"w-full\"\n >\n <ng-template let-col pTemplate=\"item\">\n <div class=\"p-2 border rounded-md flex items-center justify-between w-full\">\n <!-- \u0645\u0631\u0628\u0639 \u0627\u062E\u062A\u064A\u0627\u0631 \u0644\u0644\u062A\u062D\u0643\u0645 \u0641\u064A \u0627\u0644\u0631\u0624\u064A\u0629 -->\n <p-checkbox\n [(ngModel)]=\"col.isSelected\"\n (ngModelChange)=\"onColumnVisibilityChange(col)\"\n [binary]=\"true\"\n class=\"mr-4\"\n ></p-checkbox>\n <span class=\"flex-grow\">{{ col.header | translate }}</span>\n <i class=\"pi pi-bars text-surface-400 cursor-grab\"></i> <!-- \u0623\u064A\u0642\u0648\u0646\u0629 \u0627\u0644\u0633\u062D\u0628 -->\n </div>\n </ng-template>\n </p-orderList>\n\n\n</p-popover>\n" }]
|
|
163
|
+
}], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { op: [{
|
|
164
|
+
type: ViewChild,
|
|
165
|
+
args: ['op']
|
|
166
|
+
}], fixedColumns: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}], toggleableColumns: [{
|
|
169
|
+
type: Input
|
|
170
|
+
}], tableId: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}], selectedToggleableColumns: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}], selectedToggleableColumnsChange: [{
|
|
175
|
+
type: Output
|
|
176
|
+
}] } });
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Generated bundle index. Do not edit.
|
|
180
|
+
*/
|
|
181
|
+
|
|
182
|
+
export { ColumnSettingsPopoverComponent, ColumnSettingsPopoverModule };
|
|
183
|
+
//# sourceMappingURL=es.framework-ng.ui.core-column-settings-popover.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"es.framework-ng.ui.core-column-settings-popover.mjs","sources":["../../../../libs/ng.ui.core/column-settings-popover/src/lib/column-settings-popover-module.ts","../../../../libs/ng.ui.core/column-settings-popover/src/lib/column-settings-popover.ts","../../../../libs/ng.ui.core/column-settings-popover/src/lib/column-settings-popover.html","../../../../libs/ng.ui.core/column-settings-popover/src/es.framework-ng.ui.core-column-settings-popover.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [CommonModule],\n})\nexport class ColumnSettingsPopoverModule {}\n","// src/app/shared/column-settings-popover/column-settings-popover.component.ts\nimport { Component, Input, Output, EventEmitter, ViewChild, OnInit, OnChanges, SimpleChanges, inject } from '@angular/core';\n\nimport { FormsModule } from '@angular/forms';\nimport { PopoverModule } from 'primeng/popover';\nimport { DividerModule } from 'primeng/divider';\nimport { ButtonModule } from 'primeng/button';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { TranslatePipe } from '@es.framework/ng.core/pipes';\nimport { ColumnDef } from '@es.framework/ng.core/models';\nimport { OrderListModule } from 'primeng/orderlist';\nimport { CheckboxModule, Checkbox } from 'primeng/checkbox';\nimport { LocalizationService } from '@es.framework/ng.core/services';\n\ntype PopoverColumnDef<T> = ColumnDef<T> & { isSelected?: boolean };\n\n@Component({\n selector: 'lib-column-settings-popover',\n standalone: true,\n imports: [\n FormsModule,\n PopoverModule,\n DividerModule,\n ButtonModule,\n TooltipModule,\n TranslatePipe,\n OrderListModule,\n CheckboxModule,\n Checkbox\n],\n templateUrl: './column-settings-popover.html',\n styleUrls: ['./column-settings-popover.css']\n})\nexport class ColumnSettingsPopoverComponent<T extends { [key: string]: any }> implements OnInit, OnChanges {\n @ViewChild('op') op: any;\n\n @Input() fixedColumns: ColumnDef<T>[] = [];\n @Input() toggleableColumns: ColumnDef<T>[] = [];\n\n // تم إزالة @Input() tableId لأنه لن يستخدم هنا للحفظ\n @Input() tableId = 'defaultTable';\n\n\n _displayOrderListColumns: PopoverColumnDef<T>[] = [];\n private _selectedToggleableColumns: ColumnDef<T>[] = [];\n\n @Input()\n get selectedToggleableColumns(): ColumnDef<T>[] {\n return this._selectedToggleableColumns;\n }\n set selectedToggleableColumns(val: ColumnDef<T>[]) {\n if (!this.areColumnsEqual(this._selectedToggleableColumns, val)) {\n this._selectedToggleableColumns = val;\n this.syncDisplayColumnsWithSelectedInput();\n }\n }\n\n @Output() selectedToggleableColumnsChange = new EventEmitter<ColumnDef<T>[]>();\n\n // تم إزالة @Output() columnRemoved و @Output() popoverHidden لأن selectedToggleableColumnsChange يغني عنهما\n\n constructor(private translate: LocalizationService) {}\n\n ngOnInit(): void {\n console.log('ColumnSettingsPopoverComponent: ngOnInit called.');\n // في ngOnInit، نقوم فقط بتهيئة الأعمدة للعرض بناءً على المدخلات\n this.initializeDisplayColumns();\n this.syncDisplayColumnsWithSelectedInput();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // عند تغير toggleableColumns، نعيد تهيئة القائمة للعرض\n if (changes['toggleableColumns']) {\n console.log('ColumnSettingsPopoverComponent: toggleableColumns input changed.');\n this.initializeDisplayColumns();\n }\n // عند تغير selectedToggleableColumns من المكون الأب، نقوم بمزامنة حالتها\n if (changes['selectedToggleableColumns']) {\n console.log('ColumnSettingsPopoverComponent: selectedToggleableColumns input changed (from parent).');\n this.syncDisplayColumnsWithSelectedInput();\n }\n }\n // ⭐ Getter/Setter لمربع الاختيار \"تحديد الكل\" ⭐\n get allColumnsSelected(): boolean {\n if (!this._displayOrderListColumns || this._displayOrderListColumns.length === 0) {\n return false;\n }\n return this._displayOrderListColumns.every(col => col.isSelected);\n }\n\n set allColumnsSelected(value: boolean) {\n this._displayOrderListColumns.forEach(col => col.isSelected = value);\n this.emitCurrentSelection();\n }\n\n // ⭐ دالة لتهيئة _displayOrderListColumns من toggleableColumns ⭐\n private initializeDisplayColumns(): void {\n this._displayOrderListColumns = this.toggleableColumns.map(col => ({\n ...col,\n isSelected: false // نترك isSelected كـ false مؤقتاً\n }));\n }\n\n // دالة لمزامنة حالة العرض مع الأعمدة المحددة من المكون الأب\n private syncDisplayColumnsWithSelectedInput(): void {\n if (!this._displayOrderListColumns || this._displayOrderListColumns.length === 0) {\n return;\n }\n\n const selectedFieldsSet = new Set(this._selectedToggleableColumns.map(col => col.field));\n\n // تحديث خاصية isSelected بناءً على selectedFieldsSet\n this._displayOrderListColumns.forEach(col => {\n col.isSelected = selectedFieldsSet.has(col.field);\n });\n\n // إعادة ترتيب القائمة لتكون الأعمدة المحددة في الأعلى\n const orderedSelected = this._displayOrderListColumns\n .filter(col => selectedFieldsSet.has(col.field))\n .sort((a, b) => {\n return Array.from(selectedFieldsSet).indexOf(a.field) - Array.from(selectedFieldsSet).indexOf(b.field);\n });\n\n const orderedUnselected = this._displayOrderListColumns.filter(col => !selectedFieldsSet.has(col.field));\n\n this._displayOrderListColumns = [...orderedSelected, ...orderedUnselected];\n console.log('ColumnSettingsPopoverComponent: _displayOrderListColumns synced with selectedToggleableColumns input:', this._displayOrderListColumns);\n }\n\n toggle(event: Event): void {\n this.op.toggle(event);\n }\n\n hide(): void {\n this.op.hide();\n }\n\n // عند تغيير حالة أي مربع اختيار\n onColumnVisibilityChange(column: PopoverColumnDef<T>): void {\n this.emitCurrentSelection();\n }\n\n // عند إعادة ترتيب القائمة\n onOrderListReorder(event: any): void {\n this.emitCurrentSelection();\n }\n\n // دالة لإرسال التغييرات إلى المكون الأب\n private emitCurrentSelection(): void {\n const currentSelected = this._displayOrderListColumns\n .filter(col => col.isSelected)\n .map(col => {\n const { isSelected, ...rest } = col;\n return rest as ColumnDef<T>;\n });\n\n this.selectedToggleableColumnsChange.emit(currentSelected);\n }\n\n private areColumnsEqual(cols1: ColumnDef<T>[], cols2: ColumnDef<T>[]): boolean {\n if (cols1.length !== cols2.length) {\n return false;\n }\n // التحقق من أن العناصر هي نفسها وبنفس الترتيب\n for (let i = 0; i < cols1.length; i++) {\n if (cols1[i].field !== cols2[i].field) {\n return false;\n }\n }\n return true;\n }\n}\n","<p-popover #op appendTo=\"body\" styleClass=\"w-80\">\n\n\n\n\n <!-- ⭐ مربع اختيار \"تحديد الكل\" ⭐ -->\n <div class=\"flex items-center mb-3\">\n <p-checkbox\n [(ngModel)]=\"allColumnsSelected\"\n [binary]=\"true\"\n inputId=\"selectAllColumns\"\n ></p-checkbox>\n <label for=\"selectAllColumns\" class=\"ml-2 cursor-pointer font-medium text-color-secondary\">\n {{ 'COMMON.SELECT_ALL' | translate }}\n </label>\n </div>\n\n <p-orderList\n [value]=\"_displayOrderListColumns\"\n header=\"{{ 'COMMON.REORDER_AND_SELECT_COLUMNS' | translate }}\"\n [listStyle]=\"{'height':'250px'}\"\n [responsive]=\"true\"\n [dragdrop]=\"true\"\n (onReorder)=\"onOrderListReorder($event)\"\n styleClass=\"w-full\"\n >\n <ng-template let-col pTemplate=\"item\">\n <div class=\"p-2 border rounded-md flex items-center justify-between w-full\">\n <!-- مربع اختيار للتحكم في الرؤية -->\n <p-checkbox\n [(ngModel)]=\"col.isSelected\"\n (ngModelChange)=\"onColumnVisibilityChange(col)\"\n [binary]=\"true\"\n class=\"mr-4\"\n ></p-checkbox>\n <span class=\"flex-grow\">{{ col.header | translate }}</span>\n <i class=\"pi pi-bars text-surface-400 cursor-grab\"></i> <!-- أيقونة السحب -->\n </div>\n </ng-template>\n </p-orderList>\n\n\n</p-popover>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|