@sankhyalabs/ezui 2.11.0 → 2.12.0
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/dist/cjs/ez-actions-button.cjs.entry.js +1 -1
- package/dist/cjs/ez-alert.cjs.entry.js +1 -1
- package/dist/cjs/ez-application.cjs.entry.js +1 -1
- package/dist/cjs/ez-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ez-button.cjs.entry.js +1 -1
- package/dist/cjs/ez-calendar.cjs.entry.js +1 -1
- package/dist/cjs/ez-card-item.cjs.entry.js +1 -1
- package/dist/cjs/ez-check.cjs.entry.js +1 -1
- package/dist/cjs/ez-chip.cjs.entry.js +1 -1
- package/dist/cjs/ez-collapsible-box.cjs.entry.js +1 -1
- package/dist/cjs/ez-combo-box.cjs.entry.js +1 -1
- package/dist/cjs/ez-date-input.cjs.entry.js +1 -1
- package/dist/cjs/ez-date-time-input.cjs.entry.js +1 -1
- package/dist/cjs/ez-dialog.cjs.entry.js +1 -1
- package/dist/cjs/ez-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/ez-file-item.cjs.entry.js +1 -1
- package/dist/cjs/ez-filter-input.cjs.entry.js +1 -1
- package/dist/cjs/ez-form-view.cjs.entry.js +140 -0
- package/dist/cjs/ez-form.cjs.entry.js +228 -330
- package/dist/cjs/ez-grid.cjs.entry.js +1 -1
- package/dist/cjs/ez-icon.cjs.entry.js +1 -1
- package/dist/cjs/ez-list.cjs.entry.js +1 -1
- package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
- package/dist/cjs/ez-modal-container.cjs.entry.js +1 -1
- package/dist/cjs/ez-modal.cjs.entry.js +1 -1
- package/dist/cjs/ez-number-input.cjs.entry.js +1 -1
- package/dist/cjs/ez-popover.cjs.entry.js +1 -1
- package/dist/cjs/ez-popup.cjs.entry.js +1 -1
- package/dist/cjs/ez-radio-button.cjs.entry.js +1 -1
- package/dist/cjs/ez-scroller.cjs.entry.js +1 -1
- package/dist/cjs/ez-search.cjs.entry.js +1 -1
- package/dist/cjs/ez-sidebar-button.cjs.entry.js +1 -1
- package/dist/cjs/ez-tabselector.cjs.entry.js +6 -3
- package/dist/cjs/ez-text-area.cjs.entry.js +1 -1
- package/dist/cjs/ez-text-edit.cjs.entry.js +1 -1
- package/dist/cjs/ez-text-input.cjs.entry.js +1 -1
- package/dist/cjs/ez-time-input.cjs.entry.js +1 -1
- package/dist/cjs/ez-toast.cjs.entry.js +1 -1
- package/dist/cjs/ez-tree.cjs.entry.js +109 -22
- package/dist/cjs/ez-upload.cjs.entry.js +1 -1
- package/dist/cjs/ez-view-stack.cjs.entry.js +1 -1
- package/dist/cjs/ezui.cjs.js +2 -2
- package/dist/cjs/{index-fb179d74.js → index-5e208fa5.js} +8 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/ez-form/{structure/FormSheetMetadata.js → FormMetadata.js} +39 -54
- package/dist/collection/components/ez-form/ez-form.css +7 -1
- package/dist/collection/components/ez-form/ez-form.js +128 -19
- package/dist/collection/components/ez-form/interfaces/IDefaultConfig.js +1 -0
- package/dist/collection/components/ez-form/interfaces/IFieldConfig.js +1 -0
- package/dist/collection/components/ez-form/interfaces/IFormConfig.js +1 -0
- package/dist/collection/components/ez-form/interfaces/IFormSheetMetadata.js +1 -0
- package/dist/collection/components/ez-form/interfaces/IInvalidField.js +1 -0
- package/dist/collection/components/ez-form/interfaces/IRecordValidator.js +1 -0
- package/dist/collection/components/ez-form/interfaces/ITabConfig.js +1 -0
- package/dist/collection/components/ez-form/interfaces/IValidationResult.js +1 -0
- package/dist/collection/components/ez-form/interfaces/index.js +1 -0
- package/dist/collection/components/ez-form/store/form.slice.js +6 -2
- package/dist/collection/components/ez-form-view/ez-form-view.css +6 -0
- package/dist/collection/components/ez-form-view/ez-form-view.js +71 -0
- package/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder.js +26 -0
- package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/CheckBox.tpl.js +4 -4
- package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/ComboBox.tpl.js +2 -2
- package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/DateInput.tpl.js +1 -1
- package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/NumberInput.tpl.js +3 -3
- package/dist/collection/components/ez-form-view/interfaces/IFormViewField.js +1 -0
- package/dist/collection/components/ez-form-view/interfaces/index.js +1 -0
- package/dist/collection/components/ez-tabselector/ez-tabselector.js +5 -2
- package/dist/collection/components/ez-tree/ez-tree.css +8 -6
- package/dist/collection/components/ez-tree/ez-tree.js +89 -11
- package/dist/collection/components/ez-tree/subcomponents/DefaultTooltipResolver.js +3 -0
- package/dist/collection/components/ez-tree/subcomponents/TreeItem.js +4 -4
- package/dist/collection/components/ez-tree/subcomponents/index.js +1 -0
- package/dist/collection/components/ez-tree/types/Node.js +26 -4
- package/dist/collection/components/ez-tree/types/Tree.js +23 -2
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +478 -355
- package/dist/esm/ez-actions-button.entry.js +1 -1
- package/dist/esm/ez-alert.entry.js +1 -1
- package/dist/esm/ez-application.entry.js +1 -1
- package/dist/esm/ez-breadcrumb.entry.js +1 -1
- package/dist/esm/ez-button.entry.js +1 -1
- package/dist/esm/ez-calendar.entry.js +1 -1
- package/dist/esm/ez-card-item.entry.js +1 -1
- package/dist/esm/ez-check.entry.js +1 -1
- package/dist/esm/ez-chip.entry.js +1 -1
- package/dist/esm/ez-collapsible-box.entry.js +1 -1
- package/dist/esm/ez-combo-box.entry.js +1 -1
- package/dist/esm/ez-date-input.entry.js +1 -1
- package/dist/esm/ez-date-time-input.entry.js +1 -1
- package/dist/esm/ez-dialog.entry.js +1 -1
- package/dist/esm/ez-dropdown.entry.js +1 -1
- package/dist/esm/ez-file-item.entry.js +1 -1
- package/dist/esm/ez-filter-input.entry.js +1 -1
- package/dist/esm/ez-form-view.entry.js +136 -0
- package/dist/esm/ez-form.entry.js +229 -331
- package/dist/esm/ez-grid.entry.js +1 -1
- package/dist/esm/ez-icon.entry.js +1 -1
- package/dist/esm/ez-list.entry.js +1 -1
- package/dist/esm/ez-loading-bar.entry.js +1 -1
- package/dist/esm/ez-modal-container.entry.js +1 -1
- package/dist/esm/ez-modal.entry.js +1 -1
- package/dist/esm/ez-number-input.entry.js +1 -1
- package/dist/esm/ez-popover.entry.js +1 -1
- package/dist/esm/ez-popup.entry.js +1 -1
- package/dist/esm/ez-radio-button.entry.js +1 -1
- package/dist/esm/ez-scroller.entry.js +1 -1
- package/dist/esm/ez-search.entry.js +1 -1
- package/dist/esm/ez-sidebar-button.entry.js +1 -1
- package/dist/esm/ez-tabselector.entry.js +6 -3
- package/dist/esm/ez-text-area.entry.js +1 -1
- package/dist/esm/ez-text-edit.entry.js +1 -1
- package/dist/esm/ez-text-input.entry.js +1 -1
- package/dist/esm/ez-time-input.entry.js +1 -1
- package/dist/esm/ez-toast.entry.js +1 -1
- package/dist/esm/ez-tree.entry.js +109 -22
- package/dist/esm/ez-upload.entry.js +1 -1
- package/dist/esm/ez-view-stack.entry.js +1 -1
- package/dist/esm/ezui.js +2 -2
- package/dist/esm/{index-b77dcd0d.js → index-c5203f95.js} +8 -0
- package/dist/esm/loader.js +2 -2
- package/dist/ezui/ezui.esm.js +1 -1
- package/dist/ezui/{p-22f06920.entry.js → p-0c3f7bf2.entry.js} +1 -1
- package/dist/ezui/{p-46c3cd8e.entry.js → p-0cd0545d.entry.js} +1 -1
- package/dist/ezui/{p-e881ec6d.entry.js → p-1a27bb9f.entry.js} +1 -1
- package/dist/ezui/{p-e9b4b3bd.entry.js → p-1b94b9dc.entry.js} +1 -1
- package/dist/ezui/{p-42f85e36.entry.js → p-20c01161.entry.js} +1 -1
- package/dist/ezui/{p-6c43b275.entry.js → p-24717f87.entry.js} +1 -1
- package/dist/ezui/{p-52a18a6c.entry.js → p-3320768e.entry.js} +1 -1
- package/dist/ezui/{p-6cdfe0db.entry.js → p-36ed5c45.entry.js} +1 -1
- package/dist/ezui/{p-b5efd273.entry.js → p-3b2091dd.entry.js} +1 -1
- package/dist/ezui/{p-42376b77.entry.js → p-47bcc678.entry.js} +1 -1
- package/dist/ezui/{p-5e3079cb.entry.js → p-47ca5e09.entry.js} +1 -1
- package/dist/ezui/{p-6a53943d.entry.js → p-4c444816.entry.js} +1 -1
- package/dist/ezui/{p-fe1f0c92.entry.js → p-608d13e8.entry.js} +1 -1
- package/dist/ezui/{p-d04f3bb1.entry.js → p-626b8940.entry.js} +1 -1
- package/dist/ezui/{p-bdb5e325.entry.js → p-6630eca2.entry.js} +1 -1
- package/dist/ezui/{p-b7a8708e.entry.js → p-67b9a2cb.entry.js} +1 -1
- package/dist/ezui/{p-7e9ab877.entry.js → p-6dec5cfa.entry.js} +1 -1
- package/dist/ezui/{p-5d19cd0d.entry.js → p-6f9aba86.entry.js} +1 -1
- package/dist/ezui/p-7799666d.entry.js +1 -0
- package/dist/ezui/{p-6ccf5720.js → p-7b80df03.js} +1 -1
- package/dist/ezui/{p-87dd65ba.entry.js → p-7d42065a.entry.js} +1 -1
- package/dist/ezui/{p-f58201e8.entry.js → p-81897c04.entry.js} +1 -1
- package/dist/ezui/{p-74a3f9d8.entry.js → p-91f8c816.entry.js} +1 -1
- package/dist/ezui/p-97d2d2f6.entry.js +1 -0
- package/dist/ezui/{p-4b93860c.entry.js → p-98c448c9.entry.js} +1 -1
- package/dist/ezui/{p-f8f87959.entry.js → p-99aea44b.entry.js} +1 -1
- package/dist/ezui/p-a4b4645d.entry.js +1 -0
- package/dist/ezui/{p-e3743d12.entry.js → p-ab5eee38.entry.js} +1 -1
- package/dist/ezui/{p-7d8e693d.entry.js → p-ad7151e0.entry.js} +1 -1
- package/dist/ezui/{p-2686fa5b.entry.js → p-ad8b7412.entry.js} +1 -1
- package/dist/ezui/{p-ba7b2b8f.entry.js → p-b2e861cb.entry.js} +1 -1
- package/dist/ezui/{p-8c273b22.entry.js → p-b2efb22c.entry.js} +1 -1
- package/dist/ezui/{p-9171043f.entry.js → p-b5557d33.entry.js} +1 -1
- package/dist/ezui/p-ba03ac61.entry.js +1 -0
- package/dist/ezui/{p-a4405e80.entry.js → p-bc324ee8.entry.js} +1 -1
- package/dist/ezui/{p-07d07b75.entry.js → p-bd9792e2.entry.js} +1 -1
- package/dist/ezui/{p-21782390.entry.js → p-bf8a633d.entry.js} +1 -1
- package/dist/ezui/{p-620e71e2.entry.js → p-c071db26.entry.js} +1 -1
- package/dist/ezui/{p-b9d91679.entry.js → p-c3529df3.entry.js} +1 -1
- package/dist/ezui/{p-297d4378.entry.js → p-ca7435a6.entry.js} +1 -1
- package/dist/ezui/{p-e628c8bd.entry.js → p-e203c89f.entry.js} +1 -1
- package/dist/ezui/{p-a7380524.entry.js → p-fc97f773.entry.js} +1 -1
- package/dist/types/components/ez-form/DataBinder.d.ts +1 -1
- package/dist/types/components/ez-form/FormMetadata.d.ts +16 -0
- package/dist/types/components/ez-form/ez-form.d.ts +21 -43
- package/dist/types/components/ez-form/interfaces/IDefaultConfig.d.ts +5 -0
- package/dist/types/components/ez-form/interfaces/IFieldConfig.d.ts +13 -0
- package/dist/types/components/ez-form/interfaces/IFormConfig.d.ts +7 -0
- package/dist/types/components/ez-form/interfaces/IFormSheetMetadata.d.ts +9 -0
- package/dist/types/components/ez-form/interfaces/IInvalidField.d.ts +4 -0
- package/dist/types/components/ez-form/interfaces/IRecordValidator.d.ts +6 -0
- package/dist/types/components/ez-form/interfaces/ITabConfig.d.ts +5 -0
- package/dist/types/components/ez-form/interfaces/IValidationResult.d.ts +8 -0
- package/dist/types/components/ez-form/interfaces/index.d.ts +8 -0
- package/dist/types/components/ez-form/store/form.slice.d.ts +5 -3
- package/dist/types/components/ez-form-view/fieldbuilder/FieldBuilder.d.ts +2 -0
- package/dist/types/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.d.ts +3 -0
- package/dist/types/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.d.ts +2 -0
- package/dist/types/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.d.ts +4 -0
- package/dist/types/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.d.ts +2 -0
- package/dist/types/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.d.ts +3 -0
- package/dist/types/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.d.ts +2 -0
- package/dist/types/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.d.ts +2 -0
- package/dist/types/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.d.ts +2 -0
- package/dist/types/components/ez-form-view/interfaces/IFormViewField.d.ts +10 -0
- package/dist/types/components/ez-form-view/interfaces/index.d.ts +1 -0
- package/dist/types/components/ez-tree/ez-tree.d.ts +13 -0
- package/dist/types/components/ez-tree/interfaces/ITreeItem.d.ts +1 -0
- package/dist/types/components/ez-tree/subcomponents/DefaultTooltipResolver.d.ts +2 -0
- package/dist/types/components/ez-tree/subcomponents/TreeItem.d.ts +2 -0
- package/dist/types/components/ez-tree/subcomponents/index.d.ts +1 -0
- package/dist/types/components/ez-tree/types/Node.d.ts +1 -0
- package/dist/types/components/ez-tree/types/Tree.d.ts +1 -0
- package/dist/types/components.d.ts +65 -2
- package/package.json +1 -1
- package/react/components.d.ts +1 -0
- package/react/components.js +1 -0
- package/react/components.js.map +1 -1
- package/dist/collection/components/ez-form/fieldbuilder/FieldBuilder.js +0 -48
- package/dist/collection/components/ez-form/structure/FormItem.js +0 -11
- package/dist/collection/components/ez-form/structure/FormSheet.js +0 -6
- package/dist/ezui/p-98c78c29.entry.js +0 -1
- package/dist/ezui/p-99e07a6b.entry.js +0 -1
- package/dist/ezui/p-a928ea8d.entry.js +0 -1
- package/dist/types/components/ez-form/fieldbuilder/FieldBuilder.d.ts +0 -2
- package/dist/types/components/ez-form/fieldbuilder/tpl/CheckBox.tpl.d.ts +0 -3
- package/dist/types/components/ez-form/fieldbuilder/tpl/ComboBox.tpl.d.ts +0 -6
- package/dist/types/components/ez-form/fieldbuilder/tpl/DateInput.tpl.d.ts +0 -15
- package/dist/types/components/ez-form/fieldbuilder/tpl/FileInput.tpl.d.ts +0 -5
- package/dist/types/components/ez-form/fieldbuilder/tpl/NumberInput.tpl.d.ts +0 -7
- package/dist/types/components/ez-form/fieldbuilder/tpl/SearchInput.tpl.d.ts +0 -6
- package/dist/types/components/ez-form/fieldbuilder/tpl/TextArea.tpl.d.ts +0 -5
- package/dist/types/components/ez-form/fieldbuilder/tpl/TextInput.tpl.d.ts +0 -5
- package/dist/types/components/ez-form/structure/FormItem.d.ts +0 -9
- package/dist/types/components/ez-form/structure/FormSheet.d.ts +0 -10
- package/dist/types/components/ez-form/structure/FormSheetMetadata.d.ts +0 -35
- /package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/FileInput.tpl.js +0 -0
- /package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/SearchInput.tpl.js +0 -0
- /package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/TextArea.tpl.js +0 -0
- /package/dist/collection/components/{ez-form/fieldbuilder/tpl → ez-form-view/fieldbuilder/templates}/TextInput.tpl.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HTMLElement as HTMLElement$1, createEvent, h, Host, forceUpdate, proxyCustomElement } from '@stencil/core/internal/client';
|
|
2
2
|
export { setAssetPath, setPlatformOptions } from '@stencil/core/internal/client';
|
|
3
|
-
import { FloatingManager, ElementIDUtils, StringUtils as StringUtils$1, DateUtils as DateUtils$1, TimeFormatter, ObjectUtils as ObjectUtils$1,
|
|
3
|
+
import { FloatingManager, ElementIDUtils, StringUtils as StringUtils$1, DateUtils as DateUtils$1, TimeFormatter, ObjectUtils as ObjectUtils$1, Action, WaitingChangeException, ApplicationContext, UserInterface, DataUnitAction, DataUnit, NumberUtils as NumberUtils$1, DataType, SortMode, JSUtils, MaskFormatter } from '@sankhyalabs/core';
|
|
4
4
|
|
|
5
5
|
var DialogType;
|
|
6
6
|
(function (DialogType) {
|
|
@@ -2714,284 +2714,6 @@ let EzFilterInput$1 = class extends HTMLElement$1 {
|
|
|
2714
2714
|
static get style() { return ezFilterInputCss; }
|
|
2715
2715
|
};
|
|
2716
2716
|
|
|
2717
|
-
class FormMetadata {
|
|
2718
|
-
constructor() {
|
|
2719
|
-
this._sheets = new Map();
|
|
2720
|
-
this._requiredFields = [];
|
|
2721
|
-
this._cleanOnCopyFields = [];
|
|
2722
|
-
this._defaultValues = {};
|
|
2723
|
-
}
|
|
2724
|
-
getSheet(name) {
|
|
2725
|
-
return this._sheets.get(name);
|
|
2726
|
-
}
|
|
2727
|
-
getAllSheets() {
|
|
2728
|
-
return this._sheets;
|
|
2729
|
-
}
|
|
2730
|
-
addSheet(sheet) {
|
|
2731
|
-
this._sheets.set(sheet.name, sheet);
|
|
2732
|
-
this._requiredFields = this._requiredFields.concat(sheet.requiredFields);
|
|
2733
|
-
this._cleanOnCopyFields = this._cleanOnCopyFields.concat(sheet.cleanOnCopyFields);
|
|
2734
|
-
this._defaultValues = sheet.defaultValues;
|
|
2735
|
-
}
|
|
2736
|
-
getRequiredFields() {
|
|
2737
|
-
return this._requiredFields;
|
|
2738
|
-
}
|
|
2739
|
-
getCleanOnCopyFields() {
|
|
2740
|
-
return this._cleanOnCopyFields;
|
|
2741
|
-
}
|
|
2742
|
-
getDefaultValues() {
|
|
2743
|
-
return this._defaultValues;
|
|
2744
|
-
}
|
|
2745
|
-
}
|
|
2746
|
-
const isRequiredField = (descriptor, config) => {
|
|
2747
|
-
if (descriptor.required) {
|
|
2748
|
-
//Se for required pelo descritor não olha pra configuração.
|
|
2749
|
-
return true;
|
|
2750
|
-
}
|
|
2751
|
-
return config === null || config === void 0 ? void 0 : config.required;
|
|
2752
|
-
};
|
|
2753
|
-
const isReadOnlyField = (descriptor, config) => {
|
|
2754
|
-
if (descriptor.readOnly) {
|
|
2755
|
-
//Se for readOnly pelo descritor não olha pra configuração.
|
|
2756
|
-
return true;
|
|
2757
|
-
}
|
|
2758
|
-
return config === null || config === void 0 ? void 0 : config.readOnly;
|
|
2759
|
-
};
|
|
2760
|
-
const buildFromDataUnit = (dataUnit) => {
|
|
2761
|
-
var _a, _b;
|
|
2762
|
-
const unitMD = dataUnit.metadata;
|
|
2763
|
-
const metadata = new FormMetadata();
|
|
2764
|
-
if (unitMD) {
|
|
2765
|
-
const visibleFields = (_a = unitMD.fields) === null || _a === void 0 ? void 0 : _a.filter(descriptor => descriptor.visible !== false);
|
|
2766
|
-
const items = new Map();
|
|
2767
|
-
(_b = unitMD === null || unitMD === void 0 ? void 0 : unitMD.fields) === null || _b === void 0 ? void 0 : _b.forEach((descriptor) => {
|
|
2768
|
-
if (descriptor.visible !== false) {
|
|
2769
|
-
resolveFieldGroup(items, null, descriptor);
|
|
2770
|
-
}
|
|
2771
|
-
});
|
|
2772
|
-
let defaultValues = {};
|
|
2773
|
-
visibleFields
|
|
2774
|
-
.filter(descriptor => descriptor.defaultValue)
|
|
2775
|
-
.map((descriptor) => defaultValues[descriptor.name] = descriptor.defaultValue);
|
|
2776
|
-
metadata.addSheet({
|
|
2777
|
-
label: unitMD.label,
|
|
2778
|
-
name: unitMD.name,
|
|
2779
|
-
items: Array.from(items.values()),
|
|
2780
|
-
requiredFields: visibleFields
|
|
2781
|
-
.filter(descriptor => descriptor.required)
|
|
2782
|
-
.map(descriptor => descriptor.name),
|
|
2783
|
-
cleanOnCopyFields: visibleFields
|
|
2784
|
-
.filter(descriptor => { var _a, _b; return ((_a = descriptor.properties) === null || _a === void 0 ? void 0 : _a.cleanOnCopy) || ((_b = descriptor.properties) === null || _b === void 0 ? void 0 : _b.autoNum); })
|
|
2785
|
-
.map(descriptor => descriptor.name),
|
|
2786
|
-
defaultValues
|
|
2787
|
-
});
|
|
2788
|
-
}
|
|
2789
|
-
return metadata;
|
|
2790
|
-
};
|
|
2791
|
-
function getTabConfig(tab, sheets) {
|
|
2792
|
-
const tabConfig = (typeof tab === "string" ? Array.from(sheets.keys()).find(t => t.label === tab) : tab);
|
|
2793
|
-
return tabConfig || { label: tab, visible: true };
|
|
2794
|
-
}
|
|
2795
|
-
function sortTabs(a, b) {
|
|
2796
|
-
return a[0].label == '__main' ? -1 : (a[0].order || 10000) - (b[0].order || 10000);
|
|
2797
|
-
}
|
|
2798
|
-
function resolveFieldGroup(items, field, descriptor) {
|
|
2799
|
-
const fieldMD = { config: field, descriptor: descriptor };
|
|
2800
|
-
let group = (field === null || field === void 0 ? void 0 : field.group) || descriptor.group;
|
|
2801
|
-
if (group) {
|
|
2802
|
-
const key = `group::${group}`;
|
|
2803
|
-
if (!items.has(key)) {
|
|
2804
|
-
items.set(key, { label: group, items: [fieldMD] });
|
|
2805
|
-
}
|
|
2806
|
-
else {
|
|
2807
|
-
items.get(key).items.push(fieldMD);
|
|
2808
|
-
}
|
|
2809
|
-
}
|
|
2810
|
-
else {
|
|
2811
|
-
items.set((field === null || field === void 0 ? void 0 : field.name) || descriptor.name, fieldMD);
|
|
2812
|
-
}
|
|
2813
|
-
}
|
|
2814
|
-
const buildFromConfig = (config, dataUnit) => {
|
|
2815
|
-
var _a, _b;
|
|
2816
|
-
const sheets = new Map();
|
|
2817
|
-
const hiddenTabs = new Map();
|
|
2818
|
-
const requiredFields = [];
|
|
2819
|
-
const cleanOnCopyFields = [];
|
|
2820
|
-
const defaultValues = {};
|
|
2821
|
-
(_a = config === null || config === void 0 ? void 0 : config.tabs) === null || _a === void 0 ? void 0 : _a.forEach((tab) => {
|
|
2822
|
-
if (!hiddenTabs.has(tab.label) && tab.visible === false) {
|
|
2823
|
-
hiddenTabs.set(tab.label, tab);
|
|
2824
|
-
}
|
|
2825
|
-
});
|
|
2826
|
-
(_b = config === null || config === void 0 ? void 0 : config.fields) === null || _b === void 0 ? void 0 : _b.forEach((field) => {
|
|
2827
|
-
var _a, _b, _c, _d;
|
|
2828
|
-
if (field.visible !== false) {
|
|
2829
|
-
const tabConfig = getTabConfig(field.tab || "__main", sheets);
|
|
2830
|
-
if (hiddenTabs.has(tabConfig.label)) {
|
|
2831
|
-
return;
|
|
2832
|
-
}
|
|
2833
|
-
const descriptor = dataUnit.getField(field.name);
|
|
2834
|
-
if (descriptor && tabConfig.visible) {
|
|
2835
|
-
if (!sheets.has(tabConfig)) {
|
|
2836
|
-
sheets.set(tabConfig, new Map());
|
|
2837
|
-
}
|
|
2838
|
-
const tabItens = sheets.get(tabConfig);
|
|
2839
|
-
if (isRequiredField(descriptor, field)) {
|
|
2840
|
-
requiredFields.push(field.name);
|
|
2841
|
-
}
|
|
2842
|
-
const cleanOnCopy = field.cleanOnCopy == undefined ? (_a = descriptor.properties) === null || _a === void 0 ? void 0 : _a.cleanOnCopy : field.cleanOnCopy;
|
|
2843
|
-
if (cleanOnCopy || ((_b = descriptor.properties) === null || _b === void 0 ? void 0 : _b.autoNum) || ((_c = descriptor.properties) === null || _c === void 0 ? void 0 : _c.cleanOnCopy)) {
|
|
2844
|
-
cleanOnCopyFields.push(field.name);
|
|
2845
|
-
}
|
|
2846
|
-
const defaultValue = field.defaultValue == undefined ? (_d = descriptor.properties) === null || _d === void 0 ? void 0 : _d.defaultValue : field.defaultValue;
|
|
2847
|
-
if (defaultValue) {
|
|
2848
|
-
defaultValues[field.name] = field.defaultValue;
|
|
2849
|
-
}
|
|
2850
|
-
resolveFieldGroup(tabItens, field, descriptor);
|
|
2851
|
-
}
|
|
2852
|
-
}
|
|
2853
|
-
});
|
|
2854
|
-
const metadata = new FormMetadata();
|
|
2855
|
-
Array.from(sheets.entries())
|
|
2856
|
-
.sort(sortTabs)
|
|
2857
|
-
.forEach(([key, value]) => {
|
|
2858
|
-
metadata.addSheet({
|
|
2859
|
-
label: (key.label === "__main") ? "Principal" : key.label,
|
|
2860
|
-
name: key.label,
|
|
2861
|
-
items: Array.from(value.values()),
|
|
2862
|
-
requiredFields,
|
|
2863
|
-
cleanOnCopyFields,
|
|
2864
|
-
defaultValues
|
|
2865
|
-
});
|
|
2866
|
-
});
|
|
2867
|
-
return metadata;
|
|
2868
|
-
};
|
|
2869
|
-
|
|
2870
|
-
const buildTextArea = ({ name, label, readOnly }) => {
|
|
2871
|
-
return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small", key: name },
|
|
2872
|
-
h("ez-text-area", { enabled: !readOnly, label: label, "data-field-name": name })));
|
|
2873
|
-
};
|
|
2874
|
-
|
|
2875
|
-
const buildTextInput = ({ name, label, readOnly }) => {
|
|
2876
|
-
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
2877
|
-
h("ez-text-input", { label: label, "data-field-name": name, key: name, enabled: !readOnly })));
|
|
2878
|
-
};
|
|
2879
|
-
|
|
2880
|
-
const buildSwitch = (fieldConfig) => {
|
|
2881
|
-
return buildField$1(fieldConfig.name, fieldConfig.label, fieldConfig.readOnly, true);
|
|
2882
|
-
};
|
|
2883
|
-
const buildCheckBox = (fieldConfig) => {
|
|
2884
|
-
return buildField$1(fieldConfig.name, fieldConfig.label, fieldConfig.readOnly, false);
|
|
2885
|
-
};
|
|
2886
|
-
function buildField$1(fieldName, fieldLabel, readOnly, switchMode = false) {
|
|
2887
|
-
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-align--middle ez-padding-horizontal--small ez-padding-bottom--large" },
|
|
2888
|
-
h("ez-check", { enabled: !readOnly, label: fieldLabel, mode: switchMode ? CheckMode.SWITCH : CheckMode.REGULAR, "data-field-name": fieldName, key: fieldName })));
|
|
2889
|
-
}
|
|
2890
|
-
|
|
2891
|
-
const buildComboBox = ({ name, label, readOnly, required }, properties) => {
|
|
2892
|
-
const prop = properties === null || properties === void 0 ? void 0 : properties.options;
|
|
2893
|
-
let options;
|
|
2894
|
-
if (typeof prop === "string") {
|
|
2895
|
-
const parsed = JSON.parse(prop);
|
|
2896
|
-
options = Object.keys(parsed).map(key => { return { value: key, label: parsed[key] }; });
|
|
2897
|
-
}
|
|
2898
|
-
else {
|
|
2899
|
-
options = prop;
|
|
2900
|
-
}
|
|
2901
|
-
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
2902
|
-
h("ez-combo-box", { enabled: !readOnly, suppressEmptyOption: required, label: label, "data-field-name": name, key: name, options: options })));
|
|
2903
|
-
};
|
|
2904
|
-
|
|
2905
|
-
const buildSearch = ({ name, label, readOnly, required }) => {
|
|
2906
|
-
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
2907
|
-
h("ez-search", { enabled: !readOnly, suppressEmptyOption: required, label: label, "data-field-name": name, key: name })));
|
|
2908
|
-
};
|
|
2909
|
-
|
|
2910
|
-
const buildFile = ({ name, label, readOnly }) => {
|
|
2911
|
-
return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
|
|
2912
|
-
h("ez-upload", { enabled: !readOnly, label: label, "data-field-name": name, key: name })));
|
|
2913
|
-
};
|
|
2914
|
-
|
|
2915
|
-
const buildDate = ({ name, label, readOnly }) => {
|
|
2916
|
-
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
2917
|
-
h("ez-date-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name })));
|
|
2918
|
-
};
|
|
2919
|
-
const buildTime = ({ name, label, readOnly }) => {
|
|
2920
|
-
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
2921
|
-
h("ez-time-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name })));
|
|
2922
|
-
};
|
|
2923
|
-
const buildTimeDate = ({ name, label, readOnly }) => {
|
|
2924
|
-
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
2925
|
-
h("ez-date-time-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name })));
|
|
2926
|
-
};
|
|
2927
|
-
|
|
2928
|
-
const buildDecimal = ({ name, label, readOnly }, properties) => {
|
|
2929
|
-
const precision = Number((properties === null || properties === void 0 ? void 0 : properties.precision) || 2);
|
|
2930
|
-
const prettyPrecision = Number((properties === null || properties === void 0 ? void 0 : properties.prettyPrecision) || precision);
|
|
2931
|
-
return buildNumeric(name, label, readOnly, precision, prettyPrecision);
|
|
2932
|
-
};
|
|
2933
|
-
const buildInteger = ({ name, label, readOnly }) => {
|
|
2934
|
-
return buildNumeric(name, label, readOnly, 0, 0);
|
|
2935
|
-
};
|
|
2936
|
-
function buildNumeric(fieldName, fieldLabel, readOnly, precision, prettyPrecision) {
|
|
2937
|
-
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
2938
|
-
h("ez-number-input", { enabled: !readOnly, label: fieldLabel, precision: precision, prettyPrecision: prettyPrecision, "data-field-name": fieldName, key: fieldName })));
|
|
2939
|
-
}
|
|
2940
|
-
|
|
2941
|
-
const uiBuilders = new Map();
|
|
2942
|
-
uiBuilders.set(UserInterface.LONGTEXT, buildTextArea);
|
|
2943
|
-
uiBuilders.set(UserInterface.CHECKBOX, buildCheckBox);
|
|
2944
|
-
uiBuilders.set(UserInterface.SWITCH, buildSwitch);
|
|
2945
|
-
uiBuilders.set(UserInterface.OPTIONSELECTOR, buildComboBox);
|
|
2946
|
-
uiBuilders.set(UserInterface.SEARCH, buildSearch);
|
|
2947
|
-
uiBuilders.set(UserInterface.FILE, buildFile);
|
|
2948
|
-
uiBuilders.set(UserInterface.DATE, buildDate);
|
|
2949
|
-
uiBuilders.set(UserInterface.TIME, buildTime);
|
|
2950
|
-
uiBuilders.set(UserInterface.DATETIME, buildTimeDate);
|
|
2951
|
-
uiBuilders.set(UserInterface.DECIMALNUMBER, buildDecimal);
|
|
2952
|
-
uiBuilders.set(UserInterface.INTEGERNUMBER, buildInteger);
|
|
2953
|
-
const buildField = (field) => {
|
|
2954
|
-
const descriptor = field.descriptor;
|
|
2955
|
-
const config = Object.assign({}, field.config);
|
|
2956
|
-
let builder;
|
|
2957
|
-
let props;
|
|
2958
|
-
if (descriptor) {
|
|
2959
|
-
if (!config.label) {
|
|
2960
|
-
config.label = descriptor.label;
|
|
2961
|
-
}
|
|
2962
|
-
if (!config.name) {
|
|
2963
|
-
config.name = descriptor.name;
|
|
2964
|
-
}
|
|
2965
|
-
// Forçamos uma avaliação priorizando o descriptor.
|
|
2966
|
-
config.required = isRequiredField(descriptor, config);
|
|
2967
|
-
config.readOnly = isReadOnlyField(descriptor, config);
|
|
2968
|
-
props = descriptor.properties;
|
|
2969
|
-
builder = uiBuilders.get(descriptor.userInterface);
|
|
2970
|
-
}
|
|
2971
|
-
if (config.required) {
|
|
2972
|
-
config.label = `${config.label} (obrigatório) *`;
|
|
2973
|
-
}
|
|
2974
|
-
if (!builder) {
|
|
2975
|
-
builder = buildTextInput;
|
|
2976
|
-
}
|
|
2977
|
-
return builder(config, props);
|
|
2978
|
-
};
|
|
2979
|
-
|
|
2980
|
-
const FormItem = ({ source }) => {
|
|
2981
|
-
if ("items" in source) {
|
|
2982
|
-
const fieldSet = source;
|
|
2983
|
-
return h("ez-collapsible-box", { label: source.label, "header-size": "large", key: source.label }, fieldSet.items.map(fi => buildField(fi)));
|
|
2984
|
-
}
|
|
2985
|
-
else {
|
|
2986
|
-
return buildField(source);
|
|
2987
|
-
}
|
|
2988
|
-
};
|
|
2989
|
-
|
|
2990
|
-
const FormSheet = ({ store, source, dataElementId }) => {
|
|
2991
|
-
return (h("div", { class: "dynamic-content ez-box__container", "data-element-id": dataElementId },
|
|
2992
|
-
h("div", { class: "ez-row ez-padding-vertical--small" }, source.items.map(item => h(FormItem, { store: store, source: item })))));
|
|
2993
|
-
};
|
|
2994
|
-
|
|
2995
2717
|
/**
|
|
2996
2718
|
* Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js
|
|
2997
2719
|
*
|
|
@@ -3315,45 +3037,6 @@ function createStore(reducer, preloadedState, enhancer) {
|
|
|
3315
3037
|
}, _ref2[$$observable] = observable, _ref2;
|
|
3316
3038
|
}
|
|
3317
3039
|
|
|
3318
|
-
const inicialState = {};
|
|
3319
|
-
/////////////////////////////// REDUCERS ///////////////////////////////
|
|
3320
|
-
function formReducer(state = inicialState, action) {
|
|
3321
|
-
switch (action.type) {
|
|
3322
|
-
case FormActions.METADATA_LOADED:
|
|
3323
|
-
return Object.assign(Object.assign({}, state), { formMetadata: action.payload, currentSheet: undefined });
|
|
3324
|
-
case FormActions.CHANGE_TAB:
|
|
3325
|
-
return Object.assign(Object.assign({}, state), { currentSheet: action.payload });
|
|
3326
|
-
default:
|
|
3327
|
-
return state;
|
|
3328
|
-
}
|
|
3329
|
-
}
|
|
3330
|
-
/////////////////////////////// ACTION CREATORS ///////////////////////////////
|
|
3331
|
-
function loadMetadata(formMetadata) {
|
|
3332
|
-
return {
|
|
3333
|
-
type: FormActions.METADATA_LOADED,
|
|
3334
|
-
payload: formMetadata
|
|
3335
|
-
};
|
|
3336
|
-
}
|
|
3337
|
-
function changeTab(currentSheet) {
|
|
3338
|
-
return {
|
|
3339
|
-
type: FormActions.CHANGE_TAB,
|
|
3340
|
-
payload: currentSheet.tabKey
|
|
3341
|
-
};
|
|
3342
|
-
}
|
|
3343
|
-
/////////////////////////////// SELECTORS ///////////////////////////////
|
|
3344
|
-
function selectFormMetadata(state) {
|
|
3345
|
-
return state.formMetadata;
|
|
3346
|
-
}
|
|
3347
|
-
function selectCurrentSheet(state) {
|
|
3348
|
-
return state.currentSheet ? state.formMetadata.getSheet(state.currentSheet) : Array.from(state.formMetadata.getAllSheets().values())[0];
|
|
3349
|
-
}
|
|
3350
|
-
/////////////////////////////// TYPES ///////////////////////////////
|
|
3351
|
-
var FormActions;
|
|
3352
|
-
(function (FormActions) {
|
|
3353
|
-
FormActions["METADATA_LOADED"] = "FORM/METADATA_LOADED";
|
|
3354
|
-
FormActions["CHANGE_TAB"] = "FORM/CHANGE_TAB";
|
|
3355
|
-
})(FormActions || (FormActions = {}));
|
|
3356
|
-
|
|
3357
3040
|
class DataBinder {
|
|
3358
3041
|
constructor(dataUnit) {
|
|
3359
3042
|
this._invalidFields = new Map();
|
|
@@ -3560,7 +3243,187 @@ class Bind {
|
|
|
3560
3243
|
}
|
|
3561
3244
|
}
|
|
3562
3245
|
|
|
3563
|
-
const
|
|
3246
|
+
const inicialState = {};
|
|
3247
|
+
/////////////////////////////// REDUCERS ///////////////////////////////
|
|
3248
|
+
function formReducer(state = inicialState, action) {
|
|
3249
|
+
switch (action.type) {
|
|
3250
|
+
case FormActions.METADATA_LOADED:
|
|
3251
|
+
return Object.assign(Object.assign({}, state), { formMetadata: action.payload, currentSheet: undefined });
|
|
3252
|
+
case FormActions.CHANGE_TAB:
|
|
3253
|
+
return Object.assign(Object.assign({}, state), { currentSheet: action.payload });
|
|
3254
|
+
default:
|
|
3255
|
+
return state;
|
|
3256
|
+
}
|
|
3257
|
+
}
|
|
3258
|
+
/////////////////////////////// ACTION CREATORS ///////////////////////////////
|
|
3259
|
+
function loadMetadata(formMetadata) {
|
|
3260
|
+
return {
|
|
3261
|
+
type: FormActions.METADATA_LOADED,
|
|
3262
|
+
payload: formMetadata
|
|
3263
|
+
};
|
|
3264
|
+
}
|
|
3265
|
+
function changeTab(currentSheet) {
|
|
3266
|
+
return {
|
|
3267
|
+
type: FormActions.CHANGE_TAB,
|
|
3268
|
+
payload: typeof currentSheet === "string" ? currentSheet : currentSheet.tabKey
|
|
3269
|
+
};
|
|
3270
|
+
}
|
|
3271
|
+
/////////////////////////////// SELECTORS ///////////////////////////////
|
|
3272
|
+
function selectFormMetadata(state) {
|
|
3273
|
+
return state.formMetadata;
|
|
3274
|
+
}
|
|
3275
|
+
function selectCurrentSheetId(state) {
|
|
3276
|
+
return state.currentSheet;
|
|
3277
|
+
}
|
|
3278
|
+
function selectCurrentSheet(state) {
|
|
3279
|
+
const currentSheetId = selectCurrentSheetId(state);
|
|
3280
|
+
return currentSheetId ? state.formMetadata.getSheet(currentSheetId) : Array.from(state.formMetadata.getAllSheets().values())[0];
|
|
3281
|
+
}
|
|
3282
|
+
/////////////////////////////// TYPES ///////////////////////////////
|
|
3283
|
+
var FormActions;
|
|
3284
|
+
(function (FormActions) {
|
|
3285
|
+
FormActions["METADATA_LOADED"] = "FORM/METADATA_LOADED";
|
|
3286
|
+
FormActions["CHANGE_TAB"] = "FORM/CHANGE_TAB";
|
|
3287
|
+
})(FormActions || (FormActions = {}));
|
|
3288
|
+
|
|
3289
|
+
class FormMetadata {
|
|
3290
|
+
constructor() {
|
|
3291
|
+
this._sheets = new Map();
|
|
3292
|
+
this._requiredFields = [];
|
|
3293
|
+
this._cleanOnCopyFields = [];
|
|
3294
|
+
this._defaultValues = {};
|
|
3295
|
+
}
|
|
3296
|
+
getSheet(name) {
|
|
3297
|
+
return this._sheets.get(name);
|
|
3298
|
+
}
|
|
3299
|
+
getAllSheets() {
|
|
3300
|
+
return this._sheets;
|
|
3301
|
+
}
|
|
3302
|
+
addSheet(sheet) {
|
|
3303
|
+
this._sheets.set(sheet.name, sheet);
|
|
3304
|
+
this._requiredFields = this._requiredFields.concat(sheet.requiredFields);
|
|
3305
|
+
this._cleanOnCopyFields = this._cleanOnCopyFields.concat(sheet.cleanOnCopyFields);
|
|
3306
|
+
this._defaultValues = sheet.defaultValues;
|
|
3307
|
+
}
|
|
3308
|
+
getRequiredFields() {
|
|
3309
|
+
return this._requiredFields;
|
|
3310
|
+
}
|
|
3311
|
+
getCleanOnCopyFields() {
|
|
3312
|
+
return this._cleanOnCopyFields;
|
|
3313
|
+
}
|
|
3314
|
+
getDefaultValues() {
|
|
3315
|
+
return this._defaultValues;
|
|
3316
|
+
}
|
|
3317
|
+
}
|
|
3318
|
+
const buildFromDataUnit = (dataUnit) => {
|
|
3319
|
+
const unitMD = dataUnit.metadata;
|
|
3320
|
+
const metadata = new FormMetadata();
|
|
3321
|
+
if (unitMD) {
|
|
3322
|
+
const visibleFields = (unitMD.fields || []).filter(descriptor => descriptor.visible !== false);
|
|
3323
|
+
const fields = visibleFields.map(descriptor => buildFormField(descriptor));
|
|
3324
|
+
let defaultValues = {};
|
|
3325
|
+
visibleFields
|
|
3326
|
+
.filter(descriptor => descriptor.defaultValue)
|
|
3327
|
+
.forEach((descriptor) => defaultValues[descriptor.name] = descriptor.defaultValue);
|
|
3328
|
+
metadata.addSheet({
|
|
3329
|
+
name: unitMD.name,
|
|
3330
|
+
label: unitMD.label,
|
|
3331
|
+
fields,
|
|
3332
|
+
requiredFields: visibleFields
|
|
3333
|
+
.filter(descriptor => descriptor.required)
|
|
3334
|
+
.map(descriptor => descriptor.name),
|
|
3335
|
+
cleanOnCopyFields: visibleFields
|
|
3336
|
+
.filter(descriptor => { var _a, _b; return ((_a = descriptor.properties) === null || _a === void 0 ? void 0 : _a.cleanOnCopy) || ((_b = descriptor.properties) === null || _b === void 0 ? void 0 : _b.autoNum); })
|
|
3337
|
+
.map(descriptor => descriptor.name),
|
|
3338
|
+
defaultValues
|
|
3339
|
+
});
|
|
3340
|
+
}
|
|
3341
|
+
return metadata;
|
|
3342
|
+
};
|
|
3343
|
+
const buildFromConfig = (config, dataUnit) => {
|
|
3344
|
+
var _a, _b;
|
|
3345
|
+
const sheets = new Map();
|
|
3346
|
+
const hiddenTabs = new Map();
|
|
3347
|
+
const requiredFields = [];
|
|
3348
|
+
const cleanOnCopyFields = [];
|
|
3349
|
+
const defaultValues = {};
|
|
3350
|
+
(_a = config === null || config === void 0 ? void 0 : config.tabs) === null || _a === void 0 ? void 0 : _a.forEach((tab) => {
|
|
3351
|
+
if (!hiddenTabs.has(tab.label) && tab.visible === false) {
|
|
3352
|
+
hiddenTabs.set(tab.label, tab);
|
|
3353
|
+
}
|
|
3354
|
+
});
|
|
3355
|
+
(_b = config === null || config === void 0 ? void 0 : config.fields) === null || _b === void 0 ? void 0 : _b.forEach((field) => {
|
|
3356
|
+
var _a, _b, _c, _d;
|
|
3357
|
+
if (field.visible !== false) {
|
|
3358
|
+
const tabConfig = getTabConfig(field.tab || "__main", sheets);
|
|
3359
|
+
if (hiddenTabs.has(tabConfig.label)) {
|
|
3360
|
+
return;
|
|
3361
|
+
}
|
|
3362
|
+
const descriptor = dataUnit.getField(field.name);
|
|
3363
|
+
if (descriptor && tabConfig.visible) {
|
|
3364
|
+
if (!sheets.has(tabConfig)) {
|
|
3365
|
+
sheets.set(tabConfig, []);
|
|
3366
|
+
}
|
|
3367
|
+
const formField = buildFormField(descriptor, field);
|
|
3368
|
+
sheets.get(tabConfig).push(formField);
|
|
3369
|
+
if (formField.required) {
|
|
3370
|
+
requiredFields.push(field.name);
|
|
3371
|
+
}
|
|
3372
|
+
const cleanOnCopy = field.cleanOnCopy == undefined ? (_a = descriptor.properties) === null || _a === void 0 ? void 0 : _a.cleanOnCopy : field.cleanOnCopy;
|
|
3373
|
+
if (cleanOnCopy || ((_b = descriptor.properties) === null || _b === void 0 ? void 0 : _b.autoNum) || ((_c = descriptor.properties) === null || _c === void 0 ? void 0 : _c.cleanOnCopy)) {
|
|
3374
|
+
cleanOnCopyFields.push(field.name);
|
|
3375
|
+
}
|
|
3376
|
+
const defaultValue = field.defaultValue == undefined ? (_d = descriptor.properties) === null || _d === void 0 ? void 0 : _d.defaultValue : field.defaultValue;
|
|
3377
|
+
if (defaultValue) {
|
|
3378
|
+
defaultValues[field.name] = field.defaultValue;
|
|
3379
|
+
}
|
|
3380
|
+
}
|
|
3381
|
+
}
|
|
3382
|
+
});
|
|
3383
|
+
const metadata = new FormMetadata();
|
|
3384
|
+
Array.from(sheets.entries())
|
|
3385
|
+
.sort(sortTabs)
|
|
3386
|
+
.forEach(([key, fields]) => {
|
|
3387
|
+
metadata.addSheet({
|
|
3388
|
+
label: (key.label === "__main") ? "Principal" : key.label,
|
|
3389
|
+
name: key.label,
|
|
3390
|
+
fields,
|
|
3391
|
+
requiredFields,
|
|
3392
|
+
cleanOnCopyFields,
|
|
3393
|
+
defaultValues
|
|
3394
|
+
});
|
|
3395
|
+
});
|
|
3396
|
+
return metadata;
|
|
3397
|
+
};
|
|
3398
|
+
const buildFormField = (descriptor, config) => {
|
|
3399
|
+
let { name, label, group } = Object.assign({}, config);
|
|
3400
|
+
let { readOnly, required } = Object.assign({}, config);
|
|
3401
|
+
let props;
|
|
3402
|
+
let userInterface;
|
|
3403
|
+
if (descriptor) {
|
|
3404
|
+
label = label || descriptor.label;
|
|
3405
|
+
name = name || descriptor.name;
|
|
3406
|
+
required = descriptor.required || (config === null || config === void 0 ? void 0 : config.required);
|
|
3407
|
+
readOnly = descriptor.readOnly || (config === null || config === void 0 ? void 0 : config.readOnly);
|
|
3408
|
+
props = descriptor.properties;
|
|
3409
|
+
userInterface = descriptor.userInterface;
|
|
3410
|
+
}
|
|
3411
|
+
return {
|
|
3412
|
+
name, label, group,
|
|
3413
|
+
readOnly, required,
|
|
3414
|
+
props,
|
|
3415
|
+
userInterface: userInterface || UserInterface.SHORTTEXT
|
|
3416
|
+
};
|
|
3417
|
+
};
|
|
3418
|
+
const getTabConfig = (tab, sheets) => {
|
|
3419
|
+
const tabConfig = (typeof tab === "string" ? Array.from(sheets.keys()).find(t => t.label === tab) : tab);
|
|
3420
|
+
return tabConfig || { label: tab, visible: true };
|
|
3421
|
+
};
|
|
3422
|
+
const sortTabs = (a, b) => {
|
|
3423
|
+
return a[0].label == '__main' ? -1 : (a[0].order || 10000) - (b[0].order || 10000);
|
|
3424
|
+
};
|
|
3425
|
+
|
|
3426
|
+
const ezFormCss = ".sc-ez-form-h{display:flex;flex-direction:column;width:100%}.dynamic-content.sc-ez-form ez-collapsible-box.sc-ez-form{--ez-collapsible-box__header--padding-right:var(--space-small, 6px);--ez-collapsible-box__header--padding-left:var(--space-small, 6px)}.multi-level__container.sc-ez-form{display:grid;grid-template-columns:minmax(20%, 300px) auto;width:100%}";
|
|
3564
3427
|
|
|
3565
3428
|
let EzForm$1 = class extends HTMLElement$1 {
|
|
3566
3429
|
constructor() {
|
|
@@ -3644,17 +3507,40 @@ let EzForm$1 = class extends HTMLElement$1 {
|
|
|
3644
3507
|
}
|
|
3645
3508
|
});
|
|
3646
3509
|
}
|
|
3510
|
+
resolveLevel(items) {
|
|
3511
|
+
if (!this.levelResolver) {
|
|
3512
|
+
return items;
|
|
3513
|
+
}
|
|
3514
|
+
return this.levelResolver(items);
|
|
3515
|
+
}
|
|
3516
|
+
getMultiLevelContent(sheets, currentSheet, currentSheetId) {
|
|
3517
|
+
const treeItems = this.resolveLevel(sheets.map(sheet => {
|
|
3518
|
+
const item = {
|
|
3519
|
+
id: sheet.name,
|
|
3520
|
+
label: sheet.label
|
|
3521
|
+
};
|
|
3522
|
+
return item;
|
|
3523
|
+
}));
|
|
3524
|
+
return (h("div", { class: "multi-level__container" }, h("div", null, h("ez-tree", { selectedId: currentSheet === null || currentSheet === void 0 ? void 0 : currentSheet.name, items: treeItems, onEzChange: (evt) => {
|
|
3525
|
+
var _a;
|
|
3526
|
+
const selectedItem = (_a = evt.detail) === null || _a === void 0 ? void 0 : _a.id;
|
|
3527
|
+
if (selectedItem && selectedItem !== (currentSheet === null || currentSheet === void 0 ? void 0 : currentSheet.name)) {
|
|
3528
|
+
this._store.dispatch(changeTab(selectedItem));
|
|
3529
|
+
}
|
|
3530
|
+
} })), h("div", null, this.buildFormContent(currentSheetId, currentSheet))));
|
|
3531
|
+
}
|
|
3647
3532
|
getDynamicContent() {
|
|
3648
|
-
var _a;
|
|
3533
|
+
var _a, _b;
|
|
3649
3534
|
const formMD = selectFormMetadata(this._store.getState());
|
|
3650
3535
|
if (!formMD)
|
|
3651
3536
|
return null;
|
|
3652
|
-
const currentSheet = selectCurrentSheet((_a = this._store) === null || _a === void 0 ? void 0 : _a.getState());
|
|
3653
|
-
if (!currentSheet) {
|
|
3654
|
-
return null;
|
|
3655
|
-
}
|
|
3656
3537
|
const allSheets = Array.from(formMD.getAllSheets().values());
|
|
3657
|
-
const
|
|
3538
|
+
const currentSheetId = selectCurrentSheetId((_a = this._store) === null || _a === void 0 ? void 0 : _a.getState());
|
|
3539
|
+
const currentSheet = selectCurrentSheet((_b = this._store) === null || _b === void 0 ? void 0 : _b.getState());
|
|
3540
|
+
if (this.multiLevel) {
|
|
3541
|
+
return this.getMultiLevelContent(allSheets, currentSheet, currentSheetId);
|
|
3542
|
+
}
|
|
3543
|
+
let result = [];
|
|
3658
3544
|
if (allSheets.length > 1) {
|
|
3659
3545
|
const tabs = allSheets.map((sheet, index) => {
|
|
3660
3546
|
return { tabKey: sheet.name, label: sheet.label, index };
|
|
@@ -3662,12 +3548,25 @@ let EzForm$1 = class extends HTMLElement$1 {
|
|
|
3662
3548
|
const idTabSelector = `selector`;
|
|
3663
3549
|
result.push(h("ez-tabselector", { tabs: this.buildIdTabSelector(tabs), onEzChange: (evt) => this._store.dispatch(changeTab(evt.detail)), selectedTab: currentSheet.name, "data-element-id": idTabSelector }));
|
|
3664
3550
|
}
|
|
3665
|
-
|
|
3666
|
-
result.push(h(FormSheet, { store: this._store, source: currentSheet, dataElementId: idFormSheet }));
|
|
3551
|
+
result = result.concat(this.buildFormContent(currentSheetId, currentSheet));
|
|
3667
3552
|
return result;
|
|
3668
3553
|
}
|
|
3554
|
+
buildFormContent(sheetId, currentSheet) {
|
|
3555
|
+
const fields = currentSheet === null || currentSheet === void 0 ? void 0 : currentSheet.fields;
|
|
3556
|
+
if (this.contentBuilder != undefined) {
|
|
3557
|
+
const customContent = this.contentBuilder(sheetId, fields);
|
|
3558
|
+
if (customContent != undefined) {
|
|
3559
|
+
return h("div", { "innerHTML": customContent });
|
|
3560
|
+
}
|
|
3561
|
+
}
|
|
3562
|
+
if (currentSheet == undefined) {
|
|
3563
|
+
return;
|
|
3564
|
+
}
|
|
3565
|
+
const idFormSheet = `${StringUtils$1.replaceAccentuatedChars(StringUtils$1.toCamelCase(currentSheet === null || currentSheet === void 0 ? void 0 : currentSheet.label), false)}_selectorContainer`;
|
|
3566
|
+
return (h("div", { class: "dynamic-content ez-box__container", "data-element-id": idFormSheet }, h("ez-form-view", { class: "ez-row ez-padding-vertical--small", fields: fields })));
|
|
3567
|
+
}
|
|
3669
3568
|
processMetadata() {
|
|
3670
|
-
if (!this.isStatic() && this.dataUnit) {
|
|
3569
|
+
if (!this.isStatic() && this.dataUnit && this._store) {
|
|
3671
3570
|
const metadata = this.config != undefined && Object.values(this.config).length > 0 ? buildFromConfig(this.config, this.dataUnit) : buildFromDataUnit(this.dataUnit);
|
|
3672
3571
|
this._store.dispatch(loadMetadata(metadata));
|
|
3673
3572
|
}
|
|
@@ -3707,7 +3606,7 @@ let EzForm$1 = class extends HTMLElement$1 {
|
|
|
3707
3606
|
}
|
|
3708
3607
|
if (action.type === Action.RECORDS_ADDED) {
|
|
3709
3608
|
const metadata = selectFormMetadata(this._store.getState());
|
|
3710
|
-
const defaultValues = metadata.getDefaultValues();
|
|
3609
|
+
const defaultValues = metadata === null || metadata === void 0 ? void 0 : metadata.getDefaultValues();
|
|
3711
3610
|
if (defaultValues) {
|
|
3712
3611
|
const records = action.payload;
|
|
3713
3612
|
return new DataUnitAction(Action.RECORDS_ADDED, records.map(record => {
|
|
@@ -3762,6 +3661,138 @@ let EzForm$1 = class extends HTMLElement$1 {
|
|
|
3762
3661
|
static get style() { return ezFormCss; }
|
|
3763
3662
|
};
|
|
3764
3663
|
|
|
3664
|
+
const buildSwitch = (field) => {
|
|
3665
|
+
return buildField(field.name, field.label, field.readOnly, true);
|
|
3666
|
+
};
|
|
3667
|
+
const buildCheckBox = (field) => {
|
|
3668
|
+
return buildField(field.name, field.label, field.readOnly, false);
|
|
3669
|
+
};
|
|
3670
|
+
function buildField(fieldName, fieldLabel, readOnly, switchMode = false) {
|
|
3671
|
+
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-align--middle ez-padding-horizontal--small ez-padding-bottom--large" },
|
|
3672
|
+
h("ez-check", { enabled: !readOnly, label: fieldLabel, mode: switchMode ? CheckMode.SWITCH : CheckMode.REGULAR, "data-field-name": fieldName, key: fieldName })));
|
|
3673
|
+
}
|
|
3674
|
+
|
|
3675
|
+
const buildComboBox = ({ name, label, readOnly, required, props }) => {
|
|
3676
|
+
const prop = props === null || props === void 0 ? void 0 : props.options;
|
|
3677
|
+
let options;
|
|
3678
|
+
if (typeof prop === "string") {
|
|
3679
|
+
const parsed = JSON.parse(prop);
|
|
3680
|
+
options = Object.keys(parsed).map(key => { return { value: key, label: parsed[key] }; });
|
|
3681
|
+
}
|
|
3682
|
+
else {
|
|
3683
|
+
options = prop;
|
|
3684
|
+
}
|
|
3685
|
+
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
3686
|
+
h("ez-combo-box", { enabled: !readOnly, suppressEmptyOption: required, label: label, "data-field-name": name, key: name, options: options })));
|
|
3687
|
+
};
|
|
3688
|
+
|
|
3689
|
+
const buildDate = ({ name, label, readOnly }) => {
|
|
3690
|
+
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
3691
|
+
h("ez-date-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name })));
|
|
3692
|
+
};
|
|
3693
|
+
const buildTime = ({ name, label, readOnly }) => {
|
|
3694
|
+
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
3695
|
+
h("ez-time-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name })));
|
|
3696
|
+
};
|
|
3697
|
+
const buildDateTime = ({ name, label, readOnly }) => {
|
|
3698
|
+
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
3699
|
+
h("ez-date-time-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name })));
|
|
3700
|
+
};
|
|
3701
|
+
|
|
3702
|
+
const buildFile = ({ name, label, readOnly }) => {
|
|
3703
|
+
return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
|
|
3704
|
+
h("ez-upload", { enabled: !readOnly, label: label, "data-field-name": name, key: name })));
|
|
3705
|
+
};
|
|
3706
|
+
|
|
3707
|
+
const buildDecimal = ({ name, label, readOnly, props }) => {
|
|
3708
|
+
const precision = Number((props === null || props === void 0 ? void 0 : props.precision) || 2);
|
|
3709
|
+
const prettyPrecision = Number((props === null || props === void 0 ? void 0 : props.prettyPrecision) || precision);
|
|
3710
|
+
return buildNumeric(name, label, readOnly, precision, prettyPrecision);
|
|
3711
|
+
};
|
|
3712
|
+
const buildInteger = ({ name, label, readOnly }) => {
|
|
3713
|
+
return buildNumeric(name, label, readOnly, 0, 0);
|
|
3714
|
+
};
|
|
3715
|
+
function buildNumeric(fieldName, fieldLabel, readOnly, precision, prettyPrecision) {
|
|
3716
|
+
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
3717
|
+
h("ez-number-input", { enabled: !readOnly, label: fieldLabel, precision: precision, prettyPrecision: prettyPrecision, "data-field-name": fieldName, key: fieldName })));
|
|
3718
|
+
}
|
|
3719
|
+
|
|
3720
|
+
const buildSearch = ({ name, label, readOnly, required }) => {
|
|
3721
|
+
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
3722
|
+
h("ez-search", { enabled: !readOnly, suppressEmptyOption: required, label: label, "data-field-name": name, key: name })));
|
|
3723
|
+
};
|
|
3724
|
+
|
|
3725
|
+
const buildTextArea = ({ name, label, readOnly }) => {
|
|
3726
|
+
return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small", key: name },
|
|
3727
|
+
h("ez-text-area", { enabled: !readOnly, label: label, "data-field-name": name })));
|
|
3728
|
+
};
|
|
3729
|
+
|
|
3730
|
+
const buildTextInput = ({ name, label, readOnly }) => {
|
|
3731
|
+
return (h("div", { class: "ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small" },
|
|
3732
|
+
h("ez-text-input", { label: label, "data-field-name": name, key: name, enabled: !readOnly })));
|
|
3733
|
+
};
|
|
3734
|
+
|
|
3735
|
+
const uiBuilders = new Map();
|
|
3736
|
+
uiBuilders.set(UserInterface.CHECKBOX, buildCheckBox);
|
|
3737
|
+
uiBuilders.set(UserInterface.SWITCH, buildSwitch);
|
|
3738
|
+
uiBuilders.set(UserInterface.OPTIONSELECTOR, buildComboBox);
|
|
3739
|
+
uiBuilders.set(UserInterface.DATE, buildDate);
|
|
3740
|
+
uiBuilders.set(UserInterface.TIME, buildTime);
|
|
3741
|
+
uiBuilders.set(UserInterface.DATETIME, buildDateTime);
|
|
3742
|
+
uiBuilders.set(UserInterface.FILE, buildFile);
|
|
3743
|
+
uiBuilders.set(UserInterface.DECIMALNUMBER, buildDecimal);
|
|
3744
|
+
uiBuilders.set(UserInterface.INTEGERNUMBER, buildInteger);
|
|
3745
|
+
uiBuilders.set(UserInterface.SEARCH, buildSearch);
|
|
3746
|
+
uiBuilders.set(UserInterface.LONGTEXT, buildTextArea);
|
|
3747
|
+
const fieldBuilder = (field) => {
|
|
3748
|
+
const builder = uiBuilders.get(field.userInterface) || buildTextInput;
|
|
3749
|
+
const label = field.required ? `${field.label} (obrigatório) *` : field.label;
|
|
3750
|
+
return builder(Object.assign(Object.assign({}, field), { label }));
|
|
3751
|
+
};
|
|
3752
|
+
|
|
3753
|
+
const ezFormViewCss = ".sc-ez-form-view-h{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}";
|
|
3754
|
+
|
|
3755
|
+
let EzFormView$1 = class extends HTMLElement$1 {
|
|
3756
|
+
constructor() {
|
|
3757
|
+
super();
|
|
3758
|
+
this.__registerHost();
|
|
3759
|
+
}
|
|
3760
|
+
groupFields(fields) {
|
|
3761
|
+
const result = new Map();
|
|
3762
|
+
fields.forEach(item => {
|
|
3763
|
+
const groupLabel = item.group;
|
|
3764
|
+
if (groupLabel) {
|
|
3765
|
+
let groupFields = result.get(groupLabel);
|
|
3766
|
+
if (groupFields == undefined) {
|
|
3767
|
+
groupFields = [];
|
|
3768
|
+
result.set(groupLabel, groupFields);
|
|
3769
|
+
}
|
|
3770
|
+
groupFields.push(item);
|
|
3771
|
+
}
|
|
3772
|
+
else {
|
|
3773
|
+
result.set(item.name, item);
|
|
3774
|
+
}
|
|
3775
|
+
});
|
|
3776
|
+
return result;
|
|
3777
|
+
}
|
|
3778
|
+
render() {
|
|
3779
|
+
ElementIDUtils.addIDInfoIfNotExists(this._element, 'ezFormView');
|
|
3780
|
+
if (this.fields == undefined) {
|
|
3781
|
+
return;
|
|
3782
|
+
}
|
|
3783
|
+
return (h(Host, null, Array.from(this.groupFields(this.fields).entries()).map(([label, value]) => {
|
|
3784
|
+
if (Array.isArray(value)) {
|
|
3785
|
+
return (h("ez-collapsible-box", { id: `group-${label}`, label: label, "header-size": "large", key: label }, value.map(fi => fieldBuilder(fi))));
|
|
3786
|
+
}
|
|
3787
|
+
else {
|
|
3788
|
+
return fieldBuilder(value);
|
|
3789
|
+
}
|
|
3790
|
+
})));
|
|
3791
|
+
}
|
|
3792
|
+
get _element() { return this; }
|
|
3793
|
+
static get style() { return ezFormViewCss; }
|
|
3794
|
+
};
|
|
3795
|
+
|
|
3765
3796
|
/**
|
|
3766
3797
|
* @ag-grid-community/all-modules - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue * @version v28.1.1
|
|
3767
3798
|
* @link https://www.ag-grid.com/
|
|
@@ -120713,9 +120744,12 @@ let EzTabselector$1 = class extends HTMLElement$1 {
|
|
|
120713
120744
|
}
|
|
120714
120745
|
componentWillRender() {
|
|
120715
120746
|
if (!this._processedTabs) {
|
|
120716
|
-
this._processedTabs = [];
|
|
120717
120747
|
if (this.tabs) {
|
|
120718
|
-
if (
|
|
120748
|
+
if (Array.isArray(this.tabs)) {
|
|
120749
|
+
this._processedTabs = [...this.tabs];
|
|
120750
|
+
}
|
|
120751
|
+
else {
|
|
120752
|
+
this._processedTabs = [];
|
|
120719
120753
|
this.tabs.split(",").forEach((label) => {
|
|
120720
120754
|
label = label.trim();
|
|
120721
120755
|
this._processedTabs.push({ label, tabKey: label, index: this._processedTabs.length });
|
|
@@ -121628,8 +121662,12 @@ const defaultIconResolver = (item, expanded, _level) => {
|
|
|
121628
121662
|
return item.iconContracted || ICON_COLAPSED;
|
|
121629
121663
|
};
|
|
121630
121664
|
|
|
121665
|
+
const defaultTooltipResolver = (item, _enabled, _level) => {
|
|
121666
|
+
return item.tooltip || item.label;
|
|
121667
|
+
};
|
|
121668
|
+
|
|
121631
121669
|
const TreeItem = (props) => {
|
|
121632
|
-
const { node, selectedId, itemClick, iconResolver, itemsList } = props;
|
|
121670
|
+
const { node, selectedId, itemClick, iconClick, iconResolver, tooltipResolver, itemsList } = props;
|
|
121633
121671
|
const treeItem = node.item;
|
|
121634
121672
|
const level = props.level || 1;
|
|
121635
121673
|
const disabled = node.isDisabled();
|
|
@@ -121639,17 +121677,17 @@ const TreeItem = (props) => {
|
|
|
121639
121677
|
if (available) {
|
|
121640
121678
|
itemsList.push(treeItem);
|
|
121641
121679
|
}
|
|
121642
|
-
return (h("ul", { title: treeItem
|
|
121680
|
+
return (h("ul", { title: tooltipResolver(treeItem, !disabled, level), class: level === 1 ? "first-level" : undefined },
|
|
121643
121681
|
h("li", Object.assign({ class: "tree-item", onClick: () => available && itemClick(treeItem) }, {
|
|
121644
121682
|
disabled,
|
|
121645
121683
|
selected: treeItem.id === selectedId,
|
|
121646
121684
|
[ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezTreeItem_${treeItem.id}`)
|
|
121647
121685
|
}),
|
|
121648
121686
|
h("div", { class: "item-icon-box" }, expandable &&
|
|
121649
|
-
h("ez-icon", { id: treeItem.id, class: "item-icon", size: "small", iconName: iconResolver(treeItem, expanded, level) })),
|
|
121687
|
+
h("ez-icon", { id: treeItem.id, class: "item-icon", size: "small", iconName: iconResolver(treeItem, expanded, level), onClick: () => available && iconClick(treeItem) })),
|
|
121650
121688
|
h("label", { class: "item-label" }, treeItem.label)),
|
|
121651
121689
|
expanded
|
|
121652
|
-
&& node.getChildren().map(child => h(TreeItem, { selectedId: selectedId, node: child, itemClick: itemClick, level: level + 1, iconResolver: iconResolver, itemsList: itemsList }))));
|
|
121690
|
+
&& node.getChildren().map(child => h(TreeItem, { selectedId: selectedId, node: child, itemClick: itemClick, iconClick: iconClick, level: level + 1, iconResolver: iconResolver, tooltipResolver: tooltipResolver, itemsList: itemsList }))));
|
|
121653
121691
|
};
|
|
121654
121692
|
|
|
121655
121693
|
class Node$1 {
|
|
@@ -121671,6 +121709,31 @@ class Node$1 {
|
|
|
121671
121709
|
this._childrenLoaded = true;
|
|
121672
121710
|
}
|
|
121673
121711
|
}
|
|
121712
|
+
refresh(newItem) {
|
|
121713
|
+
if (this.isPlaceHolder) {
|
|
121714
|
+
return;
|
|
121715
|
+
}
|
|
121716
|
+
this.item = Object.assign(Object.assign({}, newItem), { expanded: this.item.expanded });
|
|
121717
|
+
this._isLazyLoad = typeof this.item.children === "function" || this.item.childrenCount > 0;
|
|
121718
|
+
const oldChildren = this.children;
|
|
121719
|
+
this.children = new Map();
|
|
121720
|
+
if (Array.isArray(this.item.children)) {
|
|
121721
|
+
Array.from(this.item.children).forEach(item => {
|
|
121722
|
+
const node = oldChildren.get(item.id);
|
|
121723
|
+
if (node) {
|
|
121724
|
+
node.refresh(item);
|
|
121725
|
+
this.children.set(item.id, node);
|
|
121726
|
+
}
|
|
121727
|
+
else {
|
|
121728
|
+
this.addChild(this._tree, Object.assign({}, item));
|
|
121729
|
+
}
|
|
121730
|
+
});
|
|
121731
|
+
this._childrenLoaded = true;
|
|
121732
|
+
}
|
|
121733
|
+
else {
|
|
121734
|
+
this._childrenLoaded = false;
|
|
121735
|
+
}
|
|
121736
|
+
}
|
|
121674
121737
|
isDisabled() {
|
|
121675
121738
|
if (this.isPlaceHolder) {
|
|
121676
121739
|
return false;
|
|
@@ -121681,10 +121744,7 @@ class Node$1 {
|
|
|
121681
121744
|
if (this.isPlaceHolder) {
|
|
121682
121745
|
return;
|
|
121683
121746
|
}
|
|
121684
|
-
this.
|
|
121685
|
-
this._childrenLoaded = true;
|
|
121686
|
-
this.children.clear();
|
|
121687
|
-
children.forEach(item => this.addChild(this._tree, Object.assign({}, item)));
|
|
121747
|
+
this.refresh(Object.assign(Object.assign({}, this.item), { children }));
|
|
121688
121748
|
}
|
|
121689
121749
|
addChild(tree, item) {
|
|
121690
121750
|
if (!this.children.has(item.id)) {
|
|
@@ -121750,8 +121810,29 @@ class Tree extends Node$1 {
|
|
|
121750
121810
|
return this._disabledValues.get(id);
|
|
121751
121811
|
}
|
|
121752
121812
|
load(items) {
|
|
121753
|
-
this.children
|
|
121754
|
-
|
|
121813
|
+
const oldChildren = this.children;
|
|
121814
|
+
this.children = new Map();
|
|
121815
|
+
items.forEach(item => {
|
|
121816
|
+
const node = oldChildren.get(item.id);
|
|
121817
|
+
if (node) {
|
|
121818
|
+
node.refresh(item);
|
|
121819
|
+
this.children.set(item.id, node);
|
|
121820
|
+
}
|
|
121821
|
+
else {
|
|
121822
|
+
this.addChild(this, Object.assign({}, item));
|
|
121823
|
+
}
|
|
121824
|
+
});
|
|
121825
|
+
}
|
|
121826
|
+
updateItem(item) {
|
|
121827
|
+
if (item == undefined) {
|
|
121828
|
+
return;
|
|
121829
|
+
}
|
|
121830
|
+
const node = this.getNode(item.id);
|
|
121831
|
+
if (node == undefined) {
|
|
121832
|
+
return;
|
|
121833
|
+
}
|
|
121834
|
+
Object.keys(item).forEach(attrib => node.item[attrib] = item[attrib]);
|
|
121835
|
+
this._changeCallback();
|
|
121755
121836
|
}
|
|
121756
121837
|
async open(path) {
|
|
121757
121838
|
return new Promise(async (resolve) => {
|
|
@@ -121795,7 +121876,7 @@ class Tree extends Node$1 {
|
|
|
121795
121876
|
}
|
|
121796
121877
|
}
|
|
121797
121878
|
|
|
121798
|
-
const ezTreeCss = ":host{--ez-tree--border-radius:var(--border--radius-small, 8px);--ez-tree--padding-inline-start:20px;--ez-tree--margin:var(--space--extra-small, 3px);--ez-tree--font-family:var(--font-pattern, Arial);--ez-tree--font-size:var(--text--medium, 14px);--ez-tree--selected--font-weight:var(--text-weight--large, 600);--ez-tree--font-weight:var(--text-weight--small, 400);--ez-tree--color:var(--title--primary, #2B3A54);--ez-tree--selected--color:var(--color--primary, #008561);--ez-tree--disabled--color:var(--text--disable, #AFB6C0);--ez-tree__tree-item--height:var(--size-medium, 18px);--ez-tree__tree-item--padding:var(--space--small, 6px);--ez-tree__tree-item--background-color:var(--background--xlight, #FFFFFF);--ez-tree__tree-item--selected--background-color:var(--color--primary-300, #E2F4EF);--ez-tree__tree-item--hover--background-color:var(--background--medium, #F0F3F7);--ez-tree__tree-item--disabled--background-color:var(--ez-tree__tree-Item--background-color);--ez-tree__item-icon-box--height:var(--ez-tree__tree-item--height);--ez-tree__item-icon-box--width:var(--size-medium, 18px);--ez-tree__item-icon-box--padding:var(--ez-tree__tree-item--padding);display:flex;flex-direction:column;margin:0 var(--ez-tree--margin) var(--ez-tree--margin) var(--ez-tree--margin);outline:none}ul{list-style-type:none;margin:0;padding-inline-start:var(--ez-tree--padding-inline-start)}ul.first-level{padding-inline-start:0}.tree-item{display:flex;align-items:center;margin-top:var(--ez-tree--margin);border-radius:var(--ez-tree--border-radius);height:var(--ez-tree__tree-item--height);padding:var(--ez-tree__tree-item--padding)}.tree-item[selected]{background-color:var(--ez-tree__tree-item--selected--background-color)}.tree-item:hover{
|
|
121879
|
+
const ezTreeCss = ":host{--ez-tree--border-radius:var(--border--radius-small, 8px);--ez-tree--padding-inline-start:20px;--ez-tree--margin:var(--space--extra-small, 3px);--ez-tree--font-family:var(--font-pattern, Arial);--ez-tree--font-size:var(--text--medium, 14px);--ez-tree--selected--font-weight:var(--text-weight--large, 600);--ez-tree--font-weight:var(--text-weight--small, 400);--ez-tree--color:var(--title--primary, #2B3A54);--ez-tree--selected--color:var(--color--primary, #008561);--ez-tree--disabled--color:var(--text--disable, #AFB6C0);--ez-tree__tree-item--height:var(--size-medium, 18px);--ez-tree__tree-item--padding:var(--space--small, 6px);--ez-tree__tree-item--background-color:var(--background--xlight, #FFFFFF);--ez-tree__tree-item--selected--background-color:var(--color--primary-300, #E2F4EF);--ez-tree__tree-item--hover--background-color:var(--background--medium, #F0F3F7);--ez-tree__tree-item--disabled--background-color:var(--ez-tree__tree-Item--background-color);--ez-tree__item-icon-box--height:var(--ez-tree__tree-item--height);--ez-tree__item-icon-box--width:var(--size-medium, 18px);--ez-tree__item-icon-box--padding:var(--ez-tree__tree-item--padding);display:flex;flex-direction:column;margin:0 var(--ez-tree--margin) var(--ez-tree--margin) var(--ez-tree--margin);outline:none}ul{list-style-type:none;margin:0;padding-inline-start:var(--ez-tree--padding-inline-start)}ul.first-level{padding-inline-start:0}.tree-item{display:flex;align-items:center;margin-top:var(--ez-tree--margin);border-radius:var(--ez-tree--border-radius);height:var(--ez-tree__tree-item--height);padding:var(--ez-tree__tree-item--padding)}.tree-item[selected]{background-color:var(--ez-tree__tree-item--selected--background-color)}.tree-item:hover{background-color:var(--ez-tree__tree-item--hover--background-color)}.tree-item[disabled],.tree-item[disabled]:hover{background-color:var(--ez-tree__tree-item--disabled--background-color)}.item-icon-box{display:flex;align-items:center;justify-content:center;width:var(--ez-tree__item-icon-box--width);height:var(--ez-tree__item-icon-box--height);padding:var(--ez-tree__item-icon-box--padding) var(--ez-tree__item-icon-box--padding) var(--ez-tree__item-icon-box--padding) 0}.item-icon{--ez-icon--color:var(--ez-tree--color)}.item-icon:hover{cursor:pointer}.tree-item[selected] .item-icon{--ez-icon--color:var(--ez-tree--selected--color)}.tree-item[disabled] .item-icon{cursor:unset;--ez-icon--color:var(--ez-tree--disabled--color)}.item-label{cursor:inherit;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--ez-tree--font-family);font-size:var(--ez-tree--font-size);font-weight:var(--ez-tree--font-weight);color:var(--ez-tree--color)}.tree-item[selected] .item-label{color:var(--ez-tree--selected--color);font-weight:var(--ez-tree--selected--font-weight)}.tree-item[disabled] .item-label{color:var(--ez-tree--disabled--color)}";
|
|
121799
121880
|
|
|
121800
121881
|
let EzTree$1 = class extends HTMLElement$1 {
|
|
121801
121882
|
constructor() {
|
|
@@ -121806,6 +121887,9 @@ let EzTree$1 = class extends HTMLElement$1 {
|
|
|
121806
121887
|
this.ezOpenItem = createEvent(this, "ezOpenItem", 7);
|
|
121807
121888
|
this._tree = new Tree(() => forceUpdate(this));
|
|
121808
121889
|
this._onItemClick = (item) => {
|
|
121890
|
+
this.value = item;
|
|
121891
|
+
};
|
|
121892
|
+
this._onIconClick = (item) => {
|
|
121809
121893
|
this.openClose(item);
|
|
121810
121894
|
this.value = item;
|
|
121811
121895
|
};
|
|
@@ -121817,6 +121901,10 @@ let EzTree$1 = class extends HTMLElement$1 {
|
|
|
121817
121901
|
* Define uma função que vai resolver o ícone daquele item. Retorna o nome do ícone da lib de icones do DS.
|
|
121818
121902
|
*/
|
|
121819
121903
|
this.iconResolver = defaultIconResolver;
|
|
121904
|
+
/**
|
|
121905
|
+
* Define uma função que vai resolver o `tooltip` ou `title` daquele item.
|
|
121906
|
+
*/
|
|
121907
|
+
this.tooltipResolver = defaultTooltipResolver;
|
|
121820
121908
|
}
|
|
121821
121909
|
/**
|
|
121822
121910
|
* Efetua a seleção de um item.
|
|
@@ -121876,7 +121964,9 @@ let EzTree$1 = class extends HTMLElement$1 {
|
|
|
121876
121964
|
this._tree.load(this.items);
|
|
121877
121965
|
}
|
|
121878
121966
|
observeValue() {
|
|
121967
|
+
var _a;
|
|
121879
121968
|
this.ezChange.emit(this.value);
|
|
121969
|
+
this.selectedId = (_a = this.value) === null || _a === void 0 ? void 0 : _a.id;
|
|
121880
121970
|
}
|
|
121881
121971
|
onKeyDownListener(event) {
|
|
121882
121972
|
if (!this.value) {
|
|
@@ -121919,7 +122009,7 @@ let EzTree$1 = class extends HTMLElement$1 {
|
|
|
121919
122009
|
if (expanded) {
|
|
121920
122010
|
this.ezOpenItem.emit(item);
|
|
121921
122011
|
}
|
|
121922
|
-
|
|
122012
|
+
this._tree.updateItem(item);
|
|
121923
122013
|
}
|
|
121924
122014
|
previousLevel() {
|
|
121925
122015
|
var _a;
|
|
@@ -121928,7 +122018,7 @@ let EzTree$1 = class extends HTMLElement$1 {
|
|
|
121928
122018
|
}
|
|
121929
122019
|
if (this.value.expanded) {
|
|
121930
122020
|
this.value.expanded = false;
|
|
121931
|
-
|
|
122021
|
+
this._tree.updateItem(this.value);
|
|
121932
122022
|
}
|
|
121933
122023
|
else {
|
|
121934
122024
|
const node = this._tree.getNode(this.value.id);
|
|
@@ -121951,19 +122041,50 @@ let EzTree$1 = class extends HTMLElement$1 {
|
|
|
121951
122041
|
}
|
|
121952
122042
|
else {
|
|
121953
122043
|
this.value.expanded = true;
|
|
121954
|
-
|
|
122044
|
+
this._tree.updateItem(this.value);
|
|
121955
122045
|
}
|
|
121956
122046
|
}
|
|
121957
|
-
|
|
121958
|
-
|
|
121959
|
-
|
|
122047
|
+
indexOf(id) {
|
|
122048
|
+
if (id == undefined) {
|
|
122049
|
+
return -1;
|
|
122050
|
+
}
|
|
122051
|
+
for (let i = 0; i < this._visibleItems.length; i++) {
|
|
122052
|
+
const item = this._visibleItems[i];
|
|
122053
|
+
if (item.id === id) {
|
|
122054
|
+
return i;
|
|
122055
|
+
}
|
|
122056
|
+
}
|
|
122057
|
+
return -1;
|
|
122058
|
+
}
|
|
122059
|
+
selectNextItem(indexIncrement) {
|
|
122060
|
+
var _a;
|
|
122061
|
+
const nextIndex = this.indexOf((_a = this.value) === null || _a === void 0 ? void 0 : _a.id) + indexIncrement;
|
|
122062
|
+
if (nextIndex > -1 && nextIndex < this._visibleItems.length) {
|
|
121960
122063
|
this.value = this._visibleItems[nextIndex];
|
|
121961
122064
|
}
|
|
121962
122065
|
}
|
|
122066
|
+
nextItem() {
|
|
122067
|
+
this.selectNextItem(1);
|
|
122068
|
+
}
|
|
121963
122069
|
previousItem() {
|
|
121964
|
-
|
|
121965
|
-
|
|
121966
|
-
|
|
122070
|
+
this.selectNextItem(-1);
|
|
122071
|
+
}
|
|
122072
|
+
connectedCallback() {
|
|
122073
|
+
if (this.items) {
|
|
122074
|
+
this._tree.load(this.items);
|
|
122075
|
+
}
|
|
122076
|
+
}
|
|
122077
|
+
componentWillRender() {
|
|
122078
|
+
var _a;
|
|
122079
|
+
if (!this.selectedId || ((_a = this.value) === null || _a === void 0 ? void 0 : _a.id) === this.selectedId) {
|
|
122080
|
+
return;
|
|
122081
|
+
}
|
|
122082
|
+
const node = this._tree.getNode(this.selectedId);
|
|
122083
|
+
if (node) {
|
|
122084
|
+
this.value = node.item;
|
|
122085
|
+
}
|
|
122086
|
+
else {
|
|
122087
|
+
this.selectedId = undefined;
|
|
121967
122088
|
}
|
|
121968
122089
|
}
|
|
121969
122090
|
render() {
|
|
@@ -121977,7 +122098,7 @@ let EzTree$1 = class extends HTMLElement$1 {
|
|
|
121977
122098
|
:
|
|
121978
122099
|
this._tree.getChildren().map(node => {
|
|
121979
122100
|
var _a;
|
|
121980
|
-
return h(TreeItem, { selectedId: (_a = this.value) === null || _a === void 0 ? void 0 : _a.id, node: node, itemClick: this._onItemClick, iconResolver: this.iconResolver, itemsList: this._visibleItems });
|
|
122101
|
+
return h(TreeItem, { selectedId: (_a = this.value) === null || _a === void 0 ? void 0 : _a.id, node: node, itemClick: this._onItemClick, iconClick: this._onIconClick, iconResolver: this.iconResolver, tooltipResolver: this.tooltipResolver, itemsList: this._visibleItems });
|
|
121981
122102
|
})));
|
|
121982
122103
|
}
|
|
121983
122104
|
get _element() { return this; }
|
|
@@ -122462,7 +122583,8 @@ const EzDialog = /*@__PURE__*/proxyCustomElement(EzDialog$1, [1,"ez-dialog",{"co
|
|
|
122462
122583
|
const EzDropdown = /*@__PURE__*/proxyCustomElement(EzDropdown$1, [1,"ez-dropdown",{"items":[1040],"value":[1040],"itemBuilder":[16]}]);
|
|
122463
122584
|
const EzFileItem = /*@__PURE__*/proxyCustomElement(EzFileItem$1, [1,"ez-file-item",{"canRemove":[4,"can-remove"],"fileName":[1,"file-name"],"iconName":[1,"icon-name"],"fileSize":[2,"file-size"],"progress":[2]}]);
|
|
122464
122585
|
const EzFilterInput = /*@__PURE__*/proxyCustomElement(EzFilterInput$1, [1,"ez-filter-input",{"label":[1],"value":[1537],"enabled":[4],"errorMessage":[1537,"error-message"],"restrict":[1],"mode":[513]}]);
|
|
122465
|
-
const EzForm = /*@__PURE__*/proxyCustomElement(EzForm$1, [
|
|
122586
|
+
const EzForm = /*@__PURE__*/proxyCustomElement(EzForm$1, [2,"ez-form",{"dataUnit":[1040],"config":[16],"recordsValidator":[16],"multiLevel":[4,"multi-level"],"levelResolver":[16],"contentBuilder":[16]}]);
|
|
122587
|
+
const EzFormView = /*@__PURE__*/proxyCustomElement(EzFormView$1, [2,"ez-form-view",{"fields":[16]}]);
|
|
122466
122588
|
const EzGrid = /*@__PURE__*/proxyCustomElement(EzGrid$1, [6,"ez-grid",{"multipleSelection":[4,"multiple-selection"],"config":[1040],"serverUrl":[1,"server-url"],"dataUnit":[16],"statusResolver":[16],"_paginationInfo":[32],"_paginationChangedByKeyboard":[32]},[[0,"ezSelectionChange","onSelectionChange"]]]);
|
|
122467
122589
|
const EzIcon = /*@__PURE__*/proxyCustomElement(EzIcon$1, [1,"ez-icon",{"size":[513],"href":[513],"iconName":[513,"icon-name"]}]);
|
|
122468
122590
|
const EzList = /*@__PURE__*/proxyCustomElement(EzList$1, [1,"ez-list",{"dataSource":[1040],"useGroups":[1540,"use-groups"],"ezDraggable":[1028,"ez-draggable"],"ezSelectable":[1028,"ez-selectable"],"itemSlotBuilder":[1040],"_listItems":[32],"_listGroupItems":[32]}]);
|
|
@@ -122482,7 +122604,7 @@ const EzTextEdit = /*@__PURE__*/proxyCustomElement(EzTextEdit$1, [1,"ez-text-edi
|
|
|
122482
122604
|
const EzTextInput = /*@__PURE__*/proxyCustomElement(EzTextInput$1, [1,"ez-text-input",{"label":[513],"value":[1537],"enabled":[516],"errorMessage":[1537,"error-message"],"mask":[1],"canShowError":[516,"can-show-error"],"restrict":[1],"mode":[513],"noBorder":[516,"no-border"]}]);
|
|
122483
122605
|
const EzTimeInput = /*@__PURE__*/proxyCustomElement(EzTimeInput$1, [1,"ez-time-input",{"label":[513],"value":[1026],"enabled":[516],"errorMessage":[1537,"error-message"],"showSeconds":[516,"show-seconds"],"mode":[513]}]);
|
|
122484
122606
|
const EzToast = /*@__PURE__*/proxyCustomElement(EzToast$1, [1,"ez-toast",{"message":[1025],"fadeTime":[1026,"fade-time"],"useIcon":[1028,"use-icon"],"canClose":[1028,"can-close"]}]);
|
|
122485
|
-
const EzTree = /*@__PURE__*/proxyCustomElement(EzTree$1, [1,"ez-tree",{"items":[16],"value":[1040],"iconResolver":[16],"_waintingForLoad":[32]},[[2,"keydown","onKeyDownListener"]]]);
|
|
122607
|
+
const EzTree = /*@__PURE__*/proxyCustomElement(EzTree$1, [1,"ez-tree",{"items":[16],"value":[1040],"selectedId":[1537,"selected-id"],"iconResolver":[16],"tooltipResolver":[16],"_waintingForLoad":[32]},[[2,"keydown","onKeyDownListener"]]]);
|
|
122486
122608
|
const EzUpload = /*@__PURE__*/proxyCustomElement(EzUpload$1, [1,"ez-upload",{"label":[1],"enabled":[4],"maxFileSize":[2,"max-file-size"],"maxFiles":[2,"max-files"],"requestHeaders":[8,"request-headers"],"urlUpload":[1,"url-upload"],"urlDelete":[1,"url-delete"],"value":[1040]}]);
|
|
122487
122609
|
const EzViewStack = /*@__PURE__*/proxyCustomElement(EzViewStack$1, [0,"ez-view-stack"]);
|
|
122488
122610
|
const defineCustomElements = (opts) => {
|
|
@@ -122506,6 +122628,7 @@ const defineCustomElements = (opts) => {
|
|
|
122506
122628
|
EzFileItem,
|
|
122507
122629
|
EzFilterInput,
|
|
122508
122630
|
EzForm,
|
|
122631
|
+
EzFormView,
|
|
122509
122632
|
EzGrid,
|
|
122510
122633
|
EzIcon,
|
|
122511
122634
|
EzList,
|
|
@@ -122536,4 +122659,4 @@ const defineCustomElements = (opts) => {
|
|
|
122536
122659
|
}
|
|
122537
122660
|
};
|
|
122538
122661
|
|
|
122539
|
-
export { EzActionsButton, EzAlert, EzApplication, EzBreadcrumb, EzButton, EzCalendar, EzCardItem, EzCheck, EzChip, EzCollapsibleBox, EzComboBox, EzDateInput, EzDateTimeInput, EzDialog, EzDropdown, EzFileItem, EzFilterInput, EzForm, EzGrid, EzIcon, EzList, EzLoadingBar, EzModal, EzModalContainer, EzNumberInput, EzPopover, EzPopup, EzRadioButton, EzScroller, EzSearch, EzSidebarButton, EzTabselector, EzTextArea, EzTextEdit, EzTextInput, EzTimeInput, EzToast, EzTree, EzUpload, EzViewStack, defineCustomElements };
|
|
122662
|
+
export { EzActionsButton, EzAlert, EzApplication, EzBreadcrumb, EzButton, EzCalendar, EzCardItem, EzCheck, EzChip, EzCollapsibleBox, EzComboBox, EzDateInput, EzDateTimeInput, EzDialog, EzDropdown, EzFileItem, EzFilterInput, EzForm, EzFormView, EzGrid, EzIcon, EzList, EzLoadingBar, EzModal, EzModalContainer, EzNumberInput, EzPopover, EzPopup, EzRadioButton, EzScroller, EzSearch, EzSidebarButton, EzTabselector, EzTextArea, EzTextEdit, EzTextInput, EzTimeInput, EzToast, EzTree, EzUpload, EzViewStack, defineCustomElements };
|