@sankhyalabs/sankhyablocks 8.16.0-dev.3 → 8.16.0-dev.31
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/{ConfigStorage-942ce74b.js → ConfigStorage-ecc0ed20.js} +3 -2
- package/dist/cjs/{IExporterProvider-597949f9.js → ContinuousInsertUtils-807730a8.js} +39 -6
- package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-cadeef8e.js} +21 -15
- package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
- package/dist/cjs/{SnkFormConfigManager-1b13bacd.js → SnkFormConfigManager-f1c92f79.js} +74 -20
- package/dist/cjs/{SnkMessageBuilder-722b104e.js → SnkMessageBuilder-bae64d0d.js} +7 -3
- package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-d68841bc.js} +1 -1
- package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-f89461c1.js} +46 -18
- package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
- package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-ed497282.js} +5 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{pesquisa-fetcher-680e198f.js → pesquisa-fetcher-ca89181c.js} +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-actions-button_4.cjs.entry.js +17 -14
- package/dist/cjs/snk-application.cjs.entry.js +7 -7
- package/dist/cjs/snk-attach.cjs.entry.js +37 -28
- package/dist/cjs/snk-crud.cjs.entry.js +14 -6
- package/dist/cjs/snk-data-exporter.cjs.entry.js +19 -18
- package/dist/cjs/{snk-data-unit-685272e7.js → snk-data-unit-668dc5e8.js} +42 -22
- package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
- package/dist/cjs/snk-detail-view.cjs.entry.js +12 -13
- package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-bar.cjs.entry.js +37 -25
- package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
- package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
- package/dist/cjs/snk-form-config.cjs.entry.js +17 -6
- package/dist/cjs/snk-form.cjs.entry.js +7 -6
- package/dist/cjs/snk-grid.cjs.entry.js +61 -21
- package/dist/cjs/{snk-guides-viewer-67605336.js → snk-guides-viewer-68777d37.js} +24 -12
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -9
- package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
- package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
- package/dist/cjs/snk-simple-crud.cjs.entry.js +64 -26
- package/dist/cjs/snk-taskbar.cjs.entry.js +23 -1
- package/dist/collection/components/snk-actions-button/actions/index.js +12 -9
- package/dist/collection/components/snk-attach/snk-attach.js +24 -15
- package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -4
- package/dist/collection/components/snk-crud/snk-crud.js +78 -1
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +3 -4
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +51 -6
- package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
- package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +4 -4
- package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +5 -5
- package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +1 -1
- package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
- package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +2 -2
- package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
- package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +57 -20
- package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -1
- package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +59 -21
- package/dist/collection/components/snk-form/snk-form.js +2 -2
- package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +72 -18
- package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
- package/dist/collection/components/snk-form-config/snk-form-config.js +14 -3
- package/dist/collection/components/snk-grid/snk-grid.css +2 -0
- package/dist/collection/components/snk-grid/snk-grid.js +68 -8
- package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +0 -1
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +89 -15
- package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
- package/dist/collection/components/snk-taskbar/snk-taskbar.js +64 -0
- package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
- package/dist/collection/lib/configs/ConfigStorage.js +1 -0
- package/dist/collection/lib/dataUnit/InMemoryLoader.js +2 -4
- package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +34 -9
- package/dist/collection/lib/http/data-fetcher/DataFetcher.js +22 -16
- package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
- package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +9 -2
- package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +4 -1
- package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -1
- package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
- package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
- package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
- package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
- package/dist/components/ConfigStorage.js +1 -0
- package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +40 -5
- package/dist/components/DataFetcher.js +22 -16
- package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
- package/dist/components/SnkFormConfigManager.js +72 -18
- package/dist/components/SnkMessageBuilder.js +7 -3
- package/dist/components/dataunit-fetcher.js +45 -15
- package/dist/components/form-config-fetcher.js +4 -1
- package/dist/components/snk-actions-button2.js +12 -9
- package/dist/components/snk-attach2.js +33 -24
- package/dist/components/snk-crud.js +12 -1
- package/dist/components/snk-data-exporter2.js +12 -11
- package/dist/components/snk-data-unit2.js +44 -60
- package/dist/components/snk-detail-view2.js +24 -11
- package/dist/components/snk-exporter-email-sender2.js +1 -1
- package/dist/components/snk-filter-bar2.js +35 -22
- package/dist/components/snk-filter-checkbox-list.js +1 -1
- package/dist/components/snk-form-config2.js +15 -4
- package/dist/components/snk-form.js +2 -2
- package/dist/components/snk-grid2.js +53 -11
- package/dist/components/snk-simple-bar2.js +1 -1
- package/dist/components/snk-simple-crud2.js +57 -15
- package/dist/components/snk-taskbar2.js +24 -2
- package/dist/esm/{ConfigStorage-86187da3.js → ConfigStorage-7b36d041.js} +3 -2
- package/dist/esm/{IExporterProvider-63a188b6.js → ContinuousInsertUtils-1a82a768.js} +40 -8
- package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-a9c598f2.js} +22 -16
- package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
- package/dist/esm/{SnkFormConfigManager-d4554df9.js → SnkFormConfigManager-139f09fa.js} +74 -20
- package/dist/esm/{SnkMessageBuilder-89925609.js → SnkMessageBuilder-6fff4a4c.js} +7 -3
- package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-749d880f.js} +1 -1
- package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-c24c76c6.js} +46 -16
- package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
- package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-adbe5d34.js} +5 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{pesquisa-fetcher-03c8f919.js → pesquisa-fetcher-8edaa8cd.js} +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-actions-button_4.entry.js +17 -14
- package/dist/esm/snk-application.entry.js +7 -7
- package/dist/esm/snk-attach.entry.js +37 -28
- package/dist/esm/snk-crud.entry.js +14 -6
- package/dist/esm/snk-data-exporter.entry.js +19 -18
- package/dist/esm/{snk-data-unit-63f83504.js → snk-data-unit-0fdfb6c2.js} +42 -22
- package/dist/esm/snk-data-unit.entry.js +5 -5
- package/dist/esm/snk-detail-view.entry.js +12 -13
- package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
- package/dist/esm/snk-filter-bar.entry.js +37 -25
- package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
- package/dist/esm/snk-filter-modal-item.entry.js +3 -3
- package/dist/esm/snk-form-config.entry.js +17 -6
- package/dist/esm/snk-form.entry.js +7 -6
- package/dist/esm/snk-grid.entry.js +56 -16
- package/dist/esm/{snk-guides-viewer-151f6091.js → snk-guides-viewer-b5dd30e6.js} +24 -12
- package/dist/esm/snk-guides-viewer.entry.js +9 -9
- package/dist/esm/snk-personalized-filter.entry.js +3 -3
- package/dist/esm/snk-simple-bar.entry.js +1 -1
- package/dist/esm/snk-simple-crud.entry.js +60 -22
- package/dist/esm/snk-taskbar.entry.js +23 -1
- package/dist/sankhyablocks/p-0035ad6e.entry.js +1 -0
- package/dist/sankhyablocks/{p-df5451c7.js → p-06421fdb.js} +2 -2
- package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
- package/dist/sankhyablocks/p-17425c72.js +1 -0
- package/dist/sankhyablocks/p-18ed15f4.entry.js +1 -0
- package/dist/sankhyablocks/{p-af8efd95.js → p-1bf06cd3.js} +2 -2
- package/dist/sankhyablocks/{p-a1d72395.entry.js → p-212213d9.entry.js} +1 -1
- package/dist/sankhyablocks/p-23736d75.js +1 -0
- package/dist/sankhyablocks/p-3ae9d08a.js +1 -0
- package/dist/sankhyablocks/p-3e3cc017.js +1 -0
- package/dist/sankhyablocks/p-430e4d3c.entry.js +1 -0
- package/dist/sankhyablocks/{p-aff76a53.js → p-4d9549cf.js} +2 -2
- package/dist/sankhyablocks/p-50779ad3.entry.js +1 -0
- package/dist/sankhyablocks/p-5dd8cf4f.js +1 -0
- package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
- package/dist/sankhyablocks/p-60b29483.entry.js +1 -0
- package/dist/sankhyablocks/p-694e1c4a.entry.js +1 -0
- package/dist/sankhyablocks/p-7ac7932c.js +60 -0
- package/dist/sankhyablocks/p-7dd49d15.js +1 -0
- package/dist/sankhyablocks/p-7eef0898.entry.js +1 -0
- package/dist/sankhyablocks/{p-82a0bfb0.entry.js → p-a42e7a1e.entry.js} +2 -2
- package/dist/sankhyablocks/p-afbb070d.js +1 -0
- package/dist/sankhyablocks/p-b9679243.entry.js +1 -0
- package/dist/sankhyablocks/p-b9c67e45.entry.js +1 -0
- package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
- package/dist/sankhyablocks/{p-913a9979.js → p-ca5ec380.js} +1 -1
- package/dist/sankhyablocks/p-d80a84fd.entry.js +1 -0
- package/dist/sankhyablocks/p-d836f72b.entry.js +1 -0
- package/dist/sankhyablocks/p-e16e87fc.entry.js +1 -0
- package/dist/sankhyablocks/p-eb9f0407.entry.js +1 -0
- package/dist/sankhyablocks/p-f3434fc4.js +1 -0
- package/dist/sankhyablocks/{p-eae7a817.entry.js → p-fb34e0cf.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
- package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
- package/dist/types/components/snk-crud/snk-crud.d.ts +13 -0
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +11 -0
- package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +7 -0
- package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +5 -0
- package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +9 -4
- package/dist/types/components/snk-grid/snk-grid.d.ts +12 -0
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +14 -0
- package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
- package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
- package/dist/types/components.d.ts +89 -0
- package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +12 -2
- package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
- package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +1 -1
- package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
- package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
- package/package.json +2 -2
- package/dist/sankhyablocks/p-14a08904.entry.js +0 -1
- package/dist/sankhyablocks/p-14b9f964.entry.js +0 -1
- package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
- package/dist/sankhyablocks/p-3a212712.js +0 -1
- package/dist/sankhyablocks/p-3a216b81.entry.js +0 -1
- package/dist/sankhyablocks/p-47b60deb.entry.js +0 -1
- package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
- package/dist/sankhyablocks/p-75f83d1d.entry.js +0 -1
- package/dist/sankhyablocks/p-7a337364.js +0 -1
- package/dist/sankhyablocks/p-829d4045.js +0 -1
- package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
- package/dist/sankhyablocks/p-8fc470e5.entry.js +0 -1
- package/dist/sankhyablocks/p-941bf3ef.entry.js +0 -1
- package/dist/sankhyablocks/p-9863d682.js +0 -1
- package/dist/sankhyablocks/p-b4b21558.entry.js +0 -1
- package/dist/sankhyablocks/p-bad55caa.entry.js +0 -1
- package/dist/sankhyablocks/p-c053256c.entry.js +0 -1
- package/dist/sankhyablocks/p-c2495304.js +0 -1
- package/dist/sankhyablocks/p-c5268346.entry.js +0 -1
- package/dist/sankhyablocks/p-cefba299.js +0 -1
- package/dist/sankhyablocks/p-dc7c9047.js +0 -1
- package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
- package/dist/sankhyablocks/p-fcac4dfc.js +0 -1
- package/dist/sankhyablocks/p-fe79f83a.js +0 -60
- package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
|
@@ -5,7 +5,7 @@ import { V as VIEW_MODE, S as SIMPLE_CRUD_MODE } from './constants.js';
|
|
|
5
5
|
import { T as TaskbarElement, d as defineCustomElement$2 } from './snk-taskbar2.js';
|
|
6
6
|
import './DataFetcher.js';
|
|
7
7
|
import './pesquisa-fetcher.js';
|
|
8
|
-
import { C as CommonsExporter, S as SnkMultiSelectionListDataSource, T as TaskbarProcessor, R as RmPrecisionCustomValueFormatter, b as buildFieldSearch, o as openFieldSearch, a as CrudUtils } from './
|
|
8
|
+
import { C as CommonsExporter, S as SnkMultiSelectionListDataSource, T as TaskbarProcessor, R as RmPrecisionCustomValueFormatter, c as ContinuousInsertUtils, b as buildFieldSearch, o as openFieldSearch, a as CrudUtils } from './ContinuousInsertUtils.js';
|
|
9
9
|
import { D as DataExporterOption, P as PresentationMode } from './ISave.js';
|
|
10
10
|
import '@sankhyalabs/ezui/dist/collection/utils/constants';
|
|
11
11
|
import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
|
@@ -14,12 +14,13 @@ import './filter-item-type.enum.js';
|
|
|
14
14
|
import { F as FormConfigFetcher } from './form-config-fetcher.js';
|
|
15
15
|
import { C as ConfigStorage } from './ConfigStorage.js';
|
|
16
16
|
import { S as SnkFormConfigManager } from './SnkFormConfigManager.js';
|
|
17
|
-
import { g as
|
|
17
|
+
import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo.js';
|
|
18
18
|
import { s as store } from './index2.js';
|
|
19
19
|
import { d as defineCustomElement$d } from './snk-actions-button2.js';
|
|
20
20
|
import { d as defineCustomElement$c } from './snk-config-options2.js';
|
|
21
21
|
import { d as defineCustomElement$b } from './snk-configurator2.js';
|
|
22
22
|
import { d as defineCustomElement$a } from './snk-data-exporter2.js';
|
|
23
|
+
import { d as defineCustomElement$9 } from './snk-data-unit2.js';
|
|
23
24
|
import { d as defineCustomElement$8 } from './snk-exporter-email-sender2.js';
|
|
24
25
|
import { d as defineCustomElement$7 } from './snk-field-config2.js';
|
|
25
26
|
import { d as defineCustomElement$6 } from './snk-form-config2.js';
|
|
@@ -41,7 +42,7 @@ class ClientSideExporterProvider extends CommonsExporter {
|
|
|
41
42
|
return total !== null && total !== void 0 ? total : (_c = (_b = this.dataUnit) === null || _b === void 0 ? void 0 : _b.records) === null || _c === void 0 ? void 0 : _c.length;
|
|
42
43
|
}
|
|
43
44
|
getSelectedIDs() {
|
|
44
|
-
return
|
|
45
|
+
return getSelectedRecordsIDsInfo(this.dataUnit);
|
|
45
46
|
}
|
|
46
47
|
getRecordID() {
|
|
47
48
|
var _a, _b, _c;
|
|
@@ -86,7 +87,7 @@ class ClientSideExporterProvider extends CommonsExporter {
|
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
89
|
|
|
89
|
-
const snkSimpleCrudCss = ".sc-snk-simple-crud-h{display:flex;height:100%;width:100%;--snk-simple-crud-grid--min-height:300px}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:auto 1fr;
|
|
90
|
+
const snkSimpleCrudCss = ".sc-snk-simple-crud-h{display:flex;height:100%;width:100%;--snk-simple-crud-grid--min-height:300px}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:auto 1fr;height:100%;width:100%}.simple-crud__container-section.sc-snk-simple-crud{flex-wrap:unset;flex-direction:column}.simple-crud__form--hidden.sc-snk-simple-crud{display:none}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;--ez-grid--min-height:var(--snk-simple-crud-grid--min-height)}ez-form.sc-snk-simple-crud{min-height:300px}";
|
|
90
91
|
|
|
91
92
|
const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
92
93
|
constructor() {
|
|
@@ -104,11 +105,11 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
104
105
|
this._customEditors = new Map();
|
|
105
106
|
this._customRenders = new Map();
|
|
106
107
|
this._taskbarProcessor = new TaskbarProcessor({
|
|
107
|
-
"snkSimpleCrudTaskbar.form_regular": this.getButtons(false, [TaskbarElement.GRID_MODE]),
|
|
108
|
+
"snkSimpleCrudTaskbar.form_regular": this.getButtons(false, [TaskbarElement.GRID_MODE], true),
|
|
108
109
|
"snkSimpleCrudTaskbar.grid_regular": this.getButtons(false, [TaskbarElement.DATA_EXPORTER, TaskbarElement.FORM_MODE]),
|
|
109
|
-
"snkSimpleCrudTaskbar.form_selected": this.getButtons(true, [TaskbarElement.GRID_MODE]),
|
|
110
|
+
"snkSimpleCrudTaskbar.form_selected": this.getButtons(true, [TaskbarElement.GRID_MODE], true),
|
|
110
111
|
"snkSimpleCrudTaskbar.grid_selected": this.getButtons(true, [TaskbarElement.DATA_EXPORTER, TaskbarElement.FORM_MODE]),
|
|
111
|
-
"snkSimpleCrudTaskbar.finish_edition":
|
|
112
|
+
"snkSimpleCrudTaskbar.finish_edition": this.getFinishEditionButtonsCallback.bind(this)
|
|
112
113
|
});
|
|
113
114
|
this._showPopUpGridConfig = false;
|
|
114
115
|
this._showFormConfig = false;
|
|
@@ -124,10 +125,12 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
124
125
|
this.formConfig = undefined;
|
|
125
126
|
this._formFields = [];
|
|
126
127
|
this._fieldsProps = new Map();
|
|
128
|
+
this._enableContinuousInsert = true;
|
|
127
129
|
this.multipleSelection = undefined;
|
|
128
130
|
this.useCancelConfirm = true;
|
|
129
131
|
this.pageSize = 150;
|
|
130
132
|
this.resourceID = undefined;
|
|
133
|
+
this.enableGridInsert = false;
|
|
131
134
|
this.taskbarManager = undefined;
|
|
132
135
|
this.messagesBuilder = undefined;
|
|
133
136
|
this.useEnterLikeTab = false;
|
|
@@ -138,6 +141,7 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
138
141
|
this.formLegacyConfigName = undefined;
|
|
139
142
|
this.ignoreReadOnlyFormFields = false;
|
|
140
143
|
this.autoFocus = true;
|
|
144
|
+
this.domainMessagesBuilder = undefined;
|
|
141
145
|
this.autoLoad = undefined;
|
|
142
146
|
}
|
|
143
147
|
/**
|
|
@@ -196,8 +200,19 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
196
200
|
newCustomFieldProps.set(fieldName, Object.assign(Object.assign({}, currentProps), { [propName]: value }));
|
|
197
201
|
this._fieldsProps = newCustomFieldProps;
|
|
198
202
|
}
|
|
199
|
-
|
|
200
|
-
|
|
203
|
+
getFinishEditionButtonsCallback() {
|
|
204
|
+
const btns = ["CANCEL", "SAVE"];
|
|
205
|
+
if (this.enableGridInsert && this._currentViewMode !== VIEW_MODE.ATTACHMENT) {
|
|
206
|
+
btns.push(this._currentViewMode === VIEW_MODE.GRID ? TaskbarElement.FORM_MODE : TaskbarElement.GRID_MODE);
|
|
207
|
+
}
|
|
208
|
+
return btns;
|
|
209
|
+
}
|
|
210
|
+
getButtons(selected, extraButtons, removeRefresh) {
|
|
211
|
+
let btnList = selected ? REGULAR_SELECTED_BTNS : REGULAR_DEFAULT_BTNS;
|
|
212
|
+
if (removeRefresh) {
|
|
213
|
+
btnList = btnList.filter(item => item !== TaskbarElement.REFRESH);
|
|
214
|
+
}
|
|
215
|
+
return this.addConfigButton(this.resolveInMemoryBtns(btnList)
|
|
201
216
|
.concat(extraButtons));
|
|
202
217
|
}
|
|
203
218
|
addConfigButton(buttons) {
|
|
@@ -359,7 +374,7 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
359
374
|
return;
|
|
360
375
|
}
|
|
361
376
|
if (this._formConfigManager == undefined) {
|
|
362
|
-
this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID());
|
|
377
|
+
this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID(), undefined, this.dataUnit);
|
|
363
378
|
this._formConfigManager.setConfig(this.formConfig);
|
|
364
379
|
}
|
|
365
380
|
if (this.formConfigIsLoaded() && !forceLoad) {
|
|
@@ -400,6 +415,10 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
400
415
|
this.onModeChange();
|
|
401
416
|
this.configDatasource();
|
|
402
417
|
this._rmPrecisionCustomValueFormatter = new RmPrecisionCustomValueFormatter();
|
|
418
|
+
this._continuousInsertUtils = new ContinuousInsertUtils(this.application, this.resolveResourceID(), this.configName);
|
|
419
|
+
if (this.enableGridInsert) {
|
|
420
|
+
this._continuousInsertUtils.getConfig().then(value => this._enableContinuousInsert = value);
|
|
421
|
+
}
|
|
403
422
|
}
|
|
404
423
|
componentDidLoad() {
|
|
405
424
|
CSSVarsUtils.applyVarsGrid(this._element, this._grid);
|
|
@@ -634,6 +653,9 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
634
653
|
const options = filteredFields.map(field => ({ value: field.name, label: field.label }));
|
|
635
654
|
return Promise.resolve(options);
|
|
636
655
|
}
|
|
656
|
+
isGridInsertActive() {
|
|
657
|
+
return this.enableGridInsert && this.dataUnit.hasNewRecord();
|
|
658
|
+
}
|
|
637
659
|
getActionsList() {
|
|
638
660
|
var _a, _b;
|
|
639
661
|
const hardList = [{
|
|
@@ -645,11 +667,22 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
645
667
|
? this.getColumnSearch(actionButton, item)
|
|
646
668
|
: this.getFieldSearch(actionButton, item)
|
|
647
669
|
}];
|
|
670
|
+
if (this.enableGridInsert) {
|
|
671
|
+
hardList.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert, this.handleEnableContinuousInsert));
|
|
672
|
+
}
|
|
673
|
+
if (this.isGridInsertActive())
|
|
674
|
+
return hardList;
|
|
648
675
|
if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
|
|
649
676
|
const taskbarID = this.getTopTaskBarId();
|
|
650
677
|
return hardList.concat(this.taskbarManager.getMoreOptions(taskbarID, this.configName, this.dataState, this.actionsList));
|
|
651
678
|
}
|
|
652
|
-
|
|
679
|
+
if (this.actionsList)
|
|
680
|
+
return hardList.concat(this.actionsList);
|
|
681
|
+
return hardList;
|
|
682
|
+
}
|
|
683
|
+
handleEnableContinuousInsert() {
|
|
684
|
+
this._enableContinuousInsert = !this._enableContinuousInsert;
|
|
685
|
+
this._continuousInsertUtils.handleSaveConfig(this._enableContinuousInsert);
|
|
653
686
|
}
|
|
654
687
|
getTopTaskBarId() {
|
|
655
688
|
var _a;
|
|
@@ -753,8 +786,8 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
753
786
|
return StringUtils.isEmpty(this.resourceID) ? this._resourceID : this.resourceID;
|
|
754
787
|
}
|
|
755
788
|
getFormConfig() {
|
|
756
|
-
var _a
|
|
757
|
-
const configFromManager = (_a = this._formConfigManager) === null || _a === void 0 ? void 0 : _a.getConfig(
|
|
789
|
+
var _a;
|
|
790
|
+
const configFromManager = (_a = this._formConfigManager) === null || _a === void 0 ? void 0 : _a.getConfig(this.dataUnit, this.ignoreReadOnlyFormFields);
|
|
758
791
|
if (!this.configName && !configFromManager) {
|
|
759
792
|
return this.formConfig;
|
|
760
793
|
}
|
|
@@ -768,15 +801,21 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
768
801
|
}
|
|
769
802
|
this._formConfigManager.setConfig(this.formConfig);
|
|
770
803
|
}
|
|
804
|
+
handleDataUnitOnInsertionMode() {
|
|
805
|
+
if (this.enableGridInsert)
|
|
806
|
+
return;
|
|
807
|
+
this.goToView(VIEW_MODE.FORM);
|
|
808
|
+
}
|
|
771
809
|
/* istanbul ignore next */
|
|
772
810
|
render() {
|
|
773
811
|
var _a;
|
|
774
812
|
if (this.dataUnit == undefined) {
|
|
775
813
|
return;
|
|
776
814
|
}
|
|
777
|
-
|
|
815
|
+
const taskbarContent = (h("snk-taskbar", { class: this._currentViewMode === VIEW_MODE.FORM && "ez-box ez-box--shadow ez-padding--small", dataUnit: this.dataUnit, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-element-id": "grid_left", messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, actionsList: this.getActionsList(), disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, "data-exporter-store-key": this.getDataExporterStoreKey(), slot: "leftButtons", presentationMode: PresentationMode.SECONDARY }, h("slot", { name: "TASKBAR_CUSTOM_ELEMENTS" })));
|
|
816
|
+
return (h("snk-data-unit", { ref: ref => this._snkDataUnit = ref, class: "simple-crud__container", dataUnit: this.dataUnit, useCancelConfirm: this.useCancelConfirm, onDataStateChange: evt => this.onDataStateChange(evt), onCancelEdition: this.handleCancelEdit.bind(this), pageSize: this.getPageSize(), onInsertionMode: this.handleDataUnitOnInsertionMode.bind(this), onDataUnitReady: (evt) => this.dataUnitReady.emit(evt.detail), ignoreSaveMessage: this._currentViewMode === VIEW_MODE.GRID, onMessagesBuilderUpdated: evt => this.messagesBuilder = evt.detail, onDataUnitFieldsHidded: this.updateFormConfig.bind(this), domainMessagesBuilder: this.domainMessagesBuilder }, h("header", null, h("slot", { name: "snkSimpleCrudHeader" })), h("section", { class: "ez-box ez-box--shadow simple-crud__container-section" }, this._currentViewMode === VIEW_MODE.FORM && taskbarContent, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, h("stack-item", null, h("ez-grid", { class: "ez-margin-bottom--large", ref: ref => this._grid = ref, dataUnit: this.dataUnit, config: this.gridConfig, "no-header": true, multipleSelection: this.multipleSelection, onEzDoubleClick: () => this.goToView(VIEW_MODE.FORM), onConfigChange: evt => this.gridConfigChangeHandler(evt), columnfilterDataSource: this.dataUnit.name && this.dataUnit.name.includes(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME)
|
|
778
817
|
? undefined
|
|
779
|
-
: this._multiSelectionListDataSource, useEnterLikeTab: this.useEnterLikeTab, autoFocus: this.autoFocus }, h("div", { slot: "footer" }, h("slot", { name: "snkSimpleCrudFooter" })))), h("stack-item", null, h("ez-form", { ref: (ref) => this._form = ref, class: `ez-margin-top--large ${this.handleShowFormConfig() ? "simple-crud__form--hidden" : ""}`, dataUnit: this.dataUnit, config: this.getFormConfig(), fieldToFocus: this._fieldToGetFocus, onEzFormSetFields: (evt) => this.handleFormSetFields(evt.detail), onEzFormRequestClearFieldToFocus: this.clearFieldToFocusHandler.bind(this) }), this.handleShowFormConfig() && h("snk-form-config", { messagesBuilder: this.messagesBuilder, dataUnit: this.dataUnit, configManager: this._formConfigManager, onConfigClose: () => this.closeFormConfig() })), this.messagesBuilder && h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.goToView(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showConfiguratorButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this.resolveResourceID(), customContainerId: this._customContainerId })), h("div", { id: `${this._customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }))), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._showPopUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this.gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resolveResourceID() }))));
|
|
818
|
+
: this._multiSelectionListDataSource, useEnterLikeTab: this.useEnterLikeTab, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableContinuousInsert: this._enableContinuousInsert }, this._currentViewMode === VIEW_MODE.GRID && taskbarContent, h("div", { slot: "footer" }, h("slot", { name: "snkSimpleCrudFooter" })))), h("stack-item", null, h("ez-form", { ref: (ref) => this._form = ref, class: `ez-margin-top--large ${this.handleShowFormConfig() ? "simple-crud__form--hidden" : ""}`, dataUnit: this.dataUnit, config: this.getFormConfig(), fieldToFocus: this._fieldToGetFocus, onEzFormSetFields: (evt) => this.handleFormSetFields(evt.detail), onEzFormRequestClearFieldToFocus: this.clearFieldToFocusHandler.bind(this) }), this.handleShowFormConfig() && h("snk-form-config", { messagesBuilder: this.messagesBuilder, dataUnit: this.dataUnit, configManager: this._formConfigManager, onConfigClose: () => this.closeFormConfig() })), this.messagesBuilder && h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.goToView(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showConfiguratorButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this.resolveResourceID(), customContainerId: this._customContainerId })), h("div", { id: `${this._customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }))), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._showPopUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this.gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resolveResourceID() }))));
|
|
780
819
|
}
|
|
781
820
|
get _element() { return this; }
|
|
782
821
|
static get watchers() { return {
|
|
@@ -799,6 +838,7 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
799
838
|
"useCancelConfirm": [4, "use-cancel-confirm"],
|
|
800
839
|
"pageSize": [2, "page-size"],
|
|
801
840
|
"resourceID": [1, "resource-i-d"],
|
|
841
|
+
"enableGridInsert": [4, "enable-grid-insert"],
|
|
802
842
|
"taskbarManager": [16],
|
|
803
843
|
"messagesBuilder": [1040],
|
|
804
844
|
"useEnterLikeTab": [4, "use-enter-like-tab"],
|
|
@@ -809,6 +849,7 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
809
849
|
"formLegacyConfigName": [1, "form-legacy-config-name"],
|
|
810
850
|
"ignoreReadOnlyFormFields": [4, "ignore-read-only-form-fields"],
|
|
811
851
|
"autoFocus": [4, "auto-focus"],
|
|
852
|
+
"domainMessagesBuilder": [1, "domain-messages-builder"],
|
|
812
853
|
"autoLoad": [4, "auto-load"],
|
|
813
854
|
"_showPopUpGridConfig": [32],
|
|
814
855
|
"_showFormConfig": [32],
|
|
@@ -818,6 +859,7 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
818
859
|
"_customContainerId": [32],
|
|
819
860
|
"_formFields": [32],
|
|
820
861
|
"_fieldsProps": [32],
|
|
862
|
+
"_enableContinuousInsert": [32],
|
|
821
863
|
"addCustomEditor": [64],
|
|
822
864
|
"addGridCustomRender": [64],
|
|
823
865
|
"addCustomValueFormatter": [64],
|
|
@@ -128,6 +128,8 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
128
128
|
super();
|
|
129
129
|
this.__registerHost();
|
|
130
130
|
this.actionClick = createEvent(this, "actionClick", 7);
|
|
131
|
+
this.taskbarSaveLocker = createEvent(this, "taskbarSaveLocker", 7);
|
|
132
|
+
this.taskbarSaveUnlocker = createEvent(this, "taskbarSaveUnlocker", 7);
|
|
131
133
|
this.TASKBAR_ITEM_ID_PREFIX = 'TASKBAR_ITEM_';
|
|
132
134
|
this.TASKBAR_CUSTOM_ELEMENTS_CONTAINER_CLASS_NAME = 'taskbar-custom-elements-container';
|
|
133
135
|
this.ACTIONS_BUTTON_TAG = 'TASKBAR-ACTIONS-BUTTON';
|
|
@@ -151,6 +153,7 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
151
153
|
this.onSaveEvent = (action) => {
|
|
152
154
|
switch (action.type) {
|
|
153
155
|
case Action.FIELD_INVALIDATED:
|
|
156
|
+
case Action.INVALIDATE_CLEAN:
|
|
154
157
|
case Action.DATA_SAVED:
|
|
155
158
|
case Action.SAVING_ERROR:
|
|
156
159
|
this._isWaitingForSave = false;
|
|
@@ -189,6 +192,16 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
189
192
|
this.getCustomElements(true);
|
|
190
193
|
}
|
|
191
194
|
}
|
|
195
|
+
handleTaskbarSaveLocker() {
|
|
196
|
+
if (this._isWaitingForSave !== true) {
|
|
197
|
+
this._isWaitingForSave = true;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
handleTaskbarSaveUnlocker() {
|
|
201
|
+
if (this._isWaitingForSave === true) {
|
|
202
|
+
this._isWaitingForSave = false;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
192
205
|
hasToSearchCustomElements(event) {
|
|
193
206
|
return this.customSlotId === event.detail && !this._slotContainer;
|
|
194
207
|
}
|
|
@@ -207,6 +220,14 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
207
220
|
this._hasToUpdateOverFlow = true;
|
|
208
221
|
}
|
|
209
222
|
}
|
|
223
|
+
observeIsWaitingForSave(newValue, oldValue) {
|
|
224
|
+
if (newValue == true && oldValue == false) {
|
|
225
|
+
this.taskbarSaveLocker.emit();
|
|
226
|
+
}
|
|
227
|
+
if (newValue == false && oldValue == true) {
|
|
228
|
+
this.taskbarSaveUnlocker.emit();
|
|
229
|
+
}
|
|
230
|
+
}
|
|
210
231
|
// Internal methods
|
|
211
232
|
elementsFromString(strButtons) {
|
|
212
233
|
const elements = [];
|
|
@@ -535,7 +556,8 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
535
556
|
static get watchers() { return {
|
|
536
557
|
"buttons": ["observeButtons"],
|
|
537
558
|
"disabledButtons": ["observeDisabledButtons"],
|
|
538
|
-
"_lastWidth": ["observeLastWidth"]
|
|
559
|
+
"_lastWidth": ["observeLastWidth"],
|
|
560
|
+
"_isWaitingForSave": ["observeIsWaitingForSave"]
|
|
539
561
|
}; }
|
|
540
562
|
static get style() { return snkTaskbarCss; }
|
|
541
563
|
}, [6, "snk-taskbar", {
|
|
@@ -562,7 +584,7 @@ const SnkTaskbar = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
562
584
|
"_lastWidth": [32],
|
|
563
585
|
"_hasToUpdateOverFlow": [32],
|
|
564
586
|
"_isWaitingForSave": [32]
|
|
565
|
-
}, [[8, "snkCustomSlotElementsLoaded", "handleCustomSlotElementsLoaded"]]]);
|
|
587
|
+
}, [[8, "snkCustomSlotElementsLoaded", "handleCustomSlotElementsLoaded"], [8, "taskbarSaveLocker", "handleTaskbarSaveLocker"], [8, "taskbarSaveUnlocker", "handleTaskbarSaveUnlocker"]]]);
|
|
566
588
|
function defineCustomElement() {
|
|
567
589
|
if (typeof customElements === "undefined") {
|
|
568
590
|
return;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { R as ResourceFetcher, F as FormConfigFetcher } from './form-config-fetcher-
|
|
1
|
+
import { R as ResourceFetcher, F as FormConfigFetcher } from './form-config-fetcher-adbe5d34.js';
|
|
2
2
|
import { F as FilterItemType } from './filter-item-type.enum-d45e026f.js';
|
|
3
3
|
import { ObjectUtils } from '@sankhyalabs/core';
|
|
4
|
-
import { d as dist, D as DataFetcher } from './DataFetcher-
|
|
4
|
+
import { d as dist, D as DataFetcher } from './DataFetcher-a9c598f2.js';
|
|
5
5
|
|
|
6
6
|
class GridConfigFetcher extends ResourceFetcher {
|
|
7
7
|
constructor() {
|
|
@@ -423,6 +423,7 @@ class ConfigStorage {
|
|
|
423
423
|
if (config == undefined) {
|
|
424
424
|
return;
|
|
425
425
|
}
|
|
426
|
+
name = this.handleLegacyConfigAsString(name, CONFIG_SOURCE.grid);
|
|
426
427
|
await this.deleteGridConfigCache(name, resourceID);
|
|
427
428
|
return this.gridConfigFetcher.saveConfig(config, name, resourceID);
|
|
428
429
|
}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { D as DataFetcher } from './DataFetcher-
|
|
2
|
-
import './pesquisa-fetcher-
|
|
3
|
-
import { SortMode, ApplicationContext, UserInterface, DateUtils, ObjectUtils, NumberUtils, DataType } from '@sankhyalabs/core';
|
|
1
|
+
import { D as DataFetcher } from './DataFetcher-a9c598f2.js';
|
|
2
|
+
import './pesquisa-fetcher-8edaa8cd.js';
|
|
3
|
+
import { SortMode, ApplicationContext, UserInterface, DateUtils, ObjectUtils, StringUtils, NumberUtils, DataType } from '@sankhyalabs/core';
|
|
4
4
|
import './index-3aa4977a.js';
|
|
5
5
|
import './ISave-d8c8bc59.js';
|
|
6
6
|
import '@sankhyalabs/ezui/dist/collection/utils/constants';
|
|
7
7
|
import { UserInterface as UserInterface$1 } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
|
8
|
-
import { P as PreloadManager } from './dataunit-fetcher-
|
|
8
|
+
import { P as PreloadManager } from './dataunit-fetcher-c24c76c6.js';
|
|
9
9
|
import './filter-item-type.enum-d45e026f.js';
|
|
10
|
-
import './form-config-fetcher-
|
|
10
|
+
import './form-config-fetcher-adbe5d34.js';
|
|
11
11
|
import InMemoryFilterColumnDataSource from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource';
|
|
12
|
+
import { h } from './index-a7d3d3f1.js';
|
|
12
13
|
|
|
13
14
|
class CrudUtils {
|
|
14
15
|
static assertDefaultSorting(gridConfig, dataUnit) {
|
|
@@ -140,7 +141,7 @@ class RmPrecisionCustomValueFormatter {
|
|
|
140
141
|
this.refreshSelectedRows();
|
|
141
142
|
}
|
|
142
143
|
setDataState(dataState) {
|
|
143
|
-
if (ObjectUtils.
|
|
144
|
+
if (this._dataState && ObjectUtils.equals(dataState === null || dataState === void 0 ? void 0 : dataState.metadataByRow, this._dataState.metadataByRow)) {
|
|
144
145
|
return;
|
|
145
146
|
}
|
|
146
147
|
this._dataState = dataState;
|
|
@@ -148,7 +149,7 @@ class RmPrecisionCustomValueFormatter {
|
|
|
148
149
|
}
|
|
149
150
|
format(currentValue, column, recordId) {
|
|
150
151
|
var _a;
|
|
151
|
-
if (
|
|
152
|
+
if (StringUtils.isEmpty(currentValue)) {
|
|
152
153
|
return currentValue;
|
|
153
154
|
}
|
|
154
155
|
const rowMetadata = (_a = this._dataState) === null || _a === void 0 ? void 0 : _a.metadataByRow.get(recordId);
|
|
@@ -218,4 +219,35 @@ class CommonsExporter {
|
|
|
218
219
|
}
|
|
219
220
|
}
|
|
220
221
|
|
|
221
|
-
|
|
222
|
+
class ContinuousInsertUtils {
|
|
223
|
+
constructor(snkApplication, resourceID, configName) {
|
|
224
|
+
this.snkApplication = snkApplication;
|
|
225
|
+
this.keyConfigEnableContinuousInsert = `${resourceID}enableContinuousInsert${configName ? configName : ''}`;
|
|
226
|
+
}
|
|
227
|
+
handleSaveConfig(enableContinuousInsert) {
|
|
228
|
+
return this.snkApplication.saveConfig(this.keyConfigEnableContinuousInsert, enableContinuousInsert);
|
|
229
|
+
}
|
|
230
|
+
getConfig() {
|
|
231
|
+
return this.snkApplication.getConfig(this.keyConfigEnableContinuousInsert).then(value => {
|
|
232
|
+
if (value) {
|
|
233
|
+
return value == "true" ? true : false;
|
|
234
|
+
}
|
|
235
|
+
return false;
|
|
236
|
+
}).catch(() => {
|
|
237
|
+
return false;
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
actionContinuousInsert(enableContinuousInsert, handleEnableContinuousInsert) {
|
|
241
|
+
return {
|
|
242
|
+
value: StringUtils.generateUUID(),
|
|
243
|
+
label: enableContinuousInsert ? 'Desativar inclusão contínua' : 'Ativar inclusão contínua',
|
|
244
|
+
enabled: true,
|
|
245
|
+
itemBuilder: () => {
|
|
246
|
+
return (h("div", { class: "ez-dropdown__item-wrapper", onClick: () => handleEnableContinuousInsert() },
|
|
247
|
+
h("span", { class: "ez-dropdown__item-label" }, enableContinuousInsert ? 'Desativar inclusão contínua' : 'Ativar inclusão contínua')));
|
|
248
|
+
},
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
export { CommonsExporter as C, RmPrecisionCustomValueFormatter as R, SnkMultiSelectionListDataSource as S, CrudUtils as a, ContinuousInsertUtils as b };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataType, ApplicationContext, StringUtils, ErrorException, WarningException, ObjectUtils } from '@sankhyalabs/core';
|
|
1
|
+
import { DataType, ApplicationContext, StringUtils, ErrorException, WarningException, ObjectUtils, ServiceCanceledException } from '@sankhyalabs/core';
|
|
2
2
|
import { P as PrintUtils } from './PrintUtils-3e4ff0f5.js';
|
|
3
3
|
import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
|
|
4
4
|
|
|
@@ -6863,6 +6863,7 @@ class DataFetcher {
|
|
|
6863
6863
|
}
|
|
6864
6864
|
}
|
|
6865
6865
|
async executePendingRequest(watingRequestsById) {
|
|
6866
|
+
var _a, _b;
|
|
6866
6867
|
const requestsBatch = [];
|
|
6867
6868
|
let quietMode = true;
|
|
6868
6869
|
watingRequestsById.forEach((waitingReq) => {
|
|
@@ -6873,31 +6874,36 @@ class DataFetcher {
|
|
|
6873
6874
|
const response = await this.fecthGraphQL(requestsBatch, quietMode);
|
|
6874
6875
|
const { data: dataResponse, errors: errorsResponse, extensions } = response;
|
|
6875
6876
|
//Reject promises with errors from query
|
|
6876
|
-
|
|
6877
|
-
Object.
|
|
6878
|
-
|
|
6877
|
+
for (const errorResponse of errorsResponse) {
|
|
6878
|
+
const values = Object.values(errorResponse);
|
|
6879
|
+
for (const value of values) {
|
|
6880
|
+
const waitingRequest = watingRequestsById.get(value.request.variables[value.index].queryID);
|
|
6879
6881
|
const hasClientEvent = await this.proccesGraphQLClientEvents(extensions, waitingRequest.request, waitingRequest.resolve, waitingRequest.reject);
|
|
6880
|
-
Promise.race([
|
|
6882
|
+
const data = await Promise.race([
|
|
6881
6883
|
waitingRequest.promise,
|
|
6882
6884
|
new Promise((resolve) => {
|
|
6883
6885
|
resolve(false);
|
|
6884
6886
|
})
|
|
6885
|
-
])
|
|
6886
|
-
|
|
6887
|
-
if (
|
|
6888
|
-
(((_a = watingRequestsById.get(
|
|
6887
|
+
]);
|
|
6888
|
+
if (!hasClientEvent || data === false) {
|
|
6889
|
+
if (Object.keys(errorResponse[0].extensions).includes("SERVICE_CANCELED") || Object.keys(extensions).includes("isServiceCancelled")) {
|
|
6890
|
+
(((_a = watingRequestsById.get(value.request.variables[value.index].queryID)) === null || _a === void 0 ? void 0 : _a.reject) || Promise.reject)(new ServiceCanceledException("Service canceled", value.message));
|
|
6889
6891
|
}
|
|
6890
|
-
|
|
6891
|
-
|
|
6892
|
-
|
|
6892
|
+
else {
|
|
6893
|
+
(((_b = watingRequestsById.get(value.request.variables[value.index].queryID)) === null || _b === void 0 ? void 0 : _b.reject) || Promise.reject)(new ErrorException("Falha detectada", value.message));
|
|
6894
|
+
}
|
|
6895
|
+
}
|
|
6896
|
+
}
|
|
6897
|
+
}
|
|
6893
6898
|
//Resolve promises with data from query
|
|
6894
|
-
|
|
6895
|
-
Object.entries(data)
|
|
6899
|
+
for (const data of dataResponse) {
|
|
6900
|
+
const entries = Object.entries(data);
|
|
6901
|
+
for (const [key, val] of entries) {
|
|
6896
6902
|
const waitingRequest = watingRequestsById.get(key);
|
|
6897
6903
|
await this.proccesGraphQLClientEvents(extensions, waitingRequest.request, waitingRequest.resolve, waitingRequest.reject);
|
|
6898
6904
|
((waitingRequest === null || waitingRequest === void 0 ? void 0 : waitingRequest.resolve) || Promise.resolve)(val);
|
|
6899
|
-
}
|
|
6900
|
-
}
|
|
6905
|
+
}
|
|
6906
|
+
}
|
|
6901
6907
|
}
|
|
6902
6908
|
buildGraphQlURL(quietMode) {
|
|
6903
6909
|
const urlParams = UrlUtils.getQueryParams(location.search);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { JSUtils, DataType } from '@sankhyalabs/core';
|
|
2
|
+
|
|
3
|
+
function getSelectedRecordsIDsInfo(dataUnit) {
|
|
4
|
+
const selectionInfo = dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.getSelectionInfo();
|
|
5
|
+
if (selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.isAllRecords()) {
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
const selectedRecordsIDsInfo = [];
|
|
9
|
+
const selectedRecords = selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.records;
|
|
10
|
+
if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) > 0) {
|
|
11
|
+
selectedRecords.forEach(({ __record__id__ }) => {
|
|
12
|
+
if (!dataUnit.isNewRecord(__record__id__)) {
|
|
13
|
+
/*
|
|
14
|
+
Esse if foi necessário para tratar corretamente o ID
|
|
15
|
+
do record quando está sendo utilizado no modo standAlone
|
|
16
|
+
isso não faz a exportação da grid funcionar no modo standAlone
|
|
17
|
+
mas deixa de causar erro nas oprações de CRUD.
|
|
18
|
+
*/
|
|
19
|
+
if (!JSUtils.isBase64(__record__id__)) {
|
|
20
|
+
selectedRecordsIDsInfo.push({
|
|
21
|
+
name: "__record__id__",
|
|
22
|
+
type: DataType.TEXT,
|
|
23
|
+
value: __record__id__
|
|
24
|
+
});
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const revertBase64ToObject = JSON.parse(window.atob(__record__id__));
|
|
28
|
+
Object.entries(revertBase64ToObject).forEach(([name, value]) => {
|
|
29
|
+
const metadataField = dataUnit === null || dataUnit === void 0 ? void 0 : dataUnit.getField(name);
|
|
30
|
+
if (metadataField == undefined) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
selectedRecordsIDsInfo.push(Object.assign({ name, type: metadataField.dataType }, value));
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
return selectedRecordsIDsInfo;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { getSelectedRecordsIDsInfo as g };
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { C as ConfigStorage } from './ConfigStorage-
|
|
1
|
+
import { C as ConfigStorage } from './ConfigStorage-7b36d041.js';
|
|
2
2
|
import { ObjectUtils, StringUtils } from '@sankhyalabs/core';
|
|
3
|
-
import { F as FormConfigFetcher } from './form-config-fetcher-
|
|
3
|
+
import { F as FormConfigFetcher } from './form-config-fetcher-adbe5d34.js';
|
|
4
|
+
import { T as TAB_NAMES } from './constants-8457af36.js';
|
|
4
5
|
|
|
5
6
|
class SnkFormConfigManager {
|
|
6
|
-
constructor(configName, resourceID, onConfigChange) {
|
|
7
|
+
constructor(configName, resourceID, onConfigChange, dataUnit) {
|
|
7
8
|
this._resourceID = resourceID;
|
|
8
9
|
this._configName = configName;
|
|
9
10
|
this._onConfigChange = onConfigChange;
|
|
11
|
+
this._dataUnit = dataUnit;
|
|
10
12
|
}
|
|
11
13
|
addFormLegacyConfig(legacyConfigName) {
|
|
12
14
|
if (this._configName) {
|
|
@@ -17,6 +19,7 @@ class SnkFormConfigManager {
|
|
|
17
19
|
return new Promise(resolve => {
|
|
18
20
|
ConfigStorage.loadFormConfig(this._configName, this._resourceID)
|
|
19
21
|
.then((config) => {
|
|
22
|
+
config = this.buildFormMetadataUITabs(config);
|
|
20
23
|
this.setConfig(config);
|
|
21
24
|
resolve(config);
|
|
22
25
|
})
|
|
@@ -25,6 +28,10 @@ class SnkFormConfigManager {
|
|
|
25
28
|
});
|
|
26
29
|
});
|
|
27
30
|
}
|
|
31
|
+
getEmptyConfig() {
|
|
32
|
+
const config = this.buildFormMetadataUITabs({ fields: [], emptyConfig: true }, true);
|
|
33
|
+
return config;
|
|
34
|
+
}
|
|
28
35
|
saveConfig(config) {
|
|
29
36
|
const configToSave = ObjectUtils.copy(config);
|
|
30
37
|
return new Promise(accept => {
|
|
@@ -68,27 +75,36 @@ class SnkFormConfigManager {
|
|
|
68
75
|
}
|
|
69
76
|
return updatingCardConfig;
|
|
70
77
|
}
|
|
71
|
-
|
|
78
|
+
hasConfig(config) {
|
|
79
|
+
var _a;
|
|
80
|
+
const currentConfig = config !== null && config !== void 0 ? config : this._config;
|
|
81
|
+
if (currentConfig && ((_a = currentConfig.fields) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
getFieldsList(descriptionFilter, forceEmptyConfig = false) {
|
|
72
87
|
var _a;
|
|
73
88
|
const fields = (_a = this._config) === null || _a === void 0 ? void 0 : _a.fields;
|
|
74
|
-
|
|
75
|
-
|
|
89
|
+
const hasConfig = this.hasConfig();
|
|
90
|
+
if (hasConfig && !forceEmptyConfig) {
|
|
91
|
+
return fields.map(({ label, name, readOnly, visible, required, tab }) => {
|
|
92
|
+
var _a;
|
|
76
93
|
if (label == undefined) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
visible,
|
|
80
|
-
required });
|
|
94
|
+
const currentField = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getField(name);
|
|
95
|
+
return Object.assign(Object.assign({}, currentField), { name: name !== null && name !== void 0 ? name : currentField.name, readOnly: readOnly !== null && readOnly !== void 0 ? readOnly : currentField.readOnly, visible: visible !== null && visible !== void 0 ? visible : currentField.visible, required: required !== null && required !== void 0 ? required : currentField.required, tab: tab });
|
|
81
96
|
}
|
|
82
|
-
return { name, label, readOnly, visible, required };
|
|
97
|
+
return { name, label, readOnly, visible, required, tab };
|
|
83
98
|
})
|
|
84
99
|
.filter(field => this.isFieldVisible(field, descriptionFilter));
|
|
85
100
|
}
|
|
86
|
-
if (
|
|
87
|
-
return
|
|
88
|
-
.filter(field => this.isFieldVisible(field, descriptionFilter))
|
|
89
|
-
.map(({ label, name, readOnly }) => { return { label, name, readOnly }; });
|
|
101
|
+
if (!this._dataUnit) {
|
|
102
|
+
return [];
|
|
90
103
|
}
|
|
91
|
-
|
|
104
|
+
const filteredFields = this._dataUnit.metadata.fields
|
|
105
|
+
.filter(field => this.isFieldVisible(field, descriptionFilter))
|
|
106
|
+
.map(({ label, name, readOnly, visible, required, properties }) => ({ label, name, readOnly, visible, required, tab: properties === null || properties === void 0 ? void 0 : properties.UITabName }));
|
|
107
|
+
return filteredFields;
|
|
92
108
|
}
|
|
93
109
|
isFieldVisible(field, descriptionFilter) {
|
|
94
110
|
if (field.visible === false) {
|
|
@@ -101,8 +117,8 @@ class SnkFormConfigManager {
|
|
|
101
117
|
const normalizedFilter = StringUtils.replaceAccentuatedCharsLower(descriptionFilter.toLocaleLowerCase());
|
|
102
118
|
return normalizedText.includes(normalizedFilter);
|
|
103
119
|
}
|
|
104
|
-
|
|
105
|
-
let fields = this.getFieldsList(
|
|
120
|
+
getFormConfig(dataUnit, ignoreReadOnlyFormFields, forceEmptyConfig = false) {
|
|
121
|
+
let fields = this.getFieldsList(undefined, forceEmptyConfig);
|
|
106
122
|
if (ignoreReadOnlyFormFields) {
|
|
107
123
|
fields = fields.filter(field => {
|
|
108
124
|
if (dataUnit) {
|
|
@@ -133,8 +149,8 @@ class SnkFormConfigManager {
|
|
|
133
149
|
this._onConfigChange(Object.assign({}, this._config));
|
|
134
150
|
}
|
|
135
151
|
}
|
|
136
|
-
getConfig(
|
|
137
|
-
return
|
|
152
|
+
getConfig(dataUnit, ignoreReadOnlyFormFields) {
|
|
153
|
+
return this.getFormConfig(dataUnit, ignoreReadOnlyFormFields !== null && ignoreReadOnlyFormFields !== void 0 ? ignoreReadOnlyFormFields : true);
|
|
138
154
|
}
|
|
139
155
|
getFormConfigFetcher() {
|
|
140
156
|
if (this._formConfigFetcher == undefined) {
|
|
@@ -155,6 +171,44 @@ class SnkFormConfigManager {
|
|
|
155
171
|
async fetchDefaultConfig() {
|
|
156
172
|
return this.getFormConfigFetcher().fetchDefaultConfig(this._configName, this._resourceID);
|
|
157
173
|
}
|
|
174
|
+
parseObjectList(object) {
|
|
175
|
+
if (!object) {
|
|
176
|
+
return [];
|
|
177
|
+
}
|
|
178
|
+
return Array.isArray(object) ? object : [object];
|
|
179
|
+
}
|
|
180
|
+
buildFormMetadataUITabs(config, forceEmptyConfig = false) {
|
|
181
|
+
var _a;
|
|
182
|
+
const hasConfig = this.hasConfig(config);
|
|
183
|
+
if (!forceEmptyConfig && (!this._dataUnit || hasConfig)) {
|
|
184
|
+
return config;
|
|
185
|
+
}
|
|
186
|
+
config = this.getFormConfig(this._dataUnit, false, true);
|
|
187
|
+
config.tabs = this.parseObjectList(config.tabs);
|
|
188
|
+
config.emptyConfig = false;
|
|
189
|
+
config.defaultConfiguration = true;
|
|
190
|
+
const fields = this._dataUnit.metadata.fields;
|
|
191
|
+
for (const currentField of fields) {
|
|
192
|
+
const field = config.fields.find(field => field.name === currentField.name);
|
|
193
|
+
const uiTabName = (_a = currentField.properties) === null || _a === void 0 ? void 0 : _a.UITabName;
|
|
194
|
+
if (!uiTabName || uiTabName === TAB_NAMES.main) {
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
const haveTab = config.tabs.some((tab) => tab.label === uiTabName);
|
|
198
|
+
if (!haveTab) {
|
|
199
|
+
config.tabs.push({
|
|
200
|
+
label: uiTabName,
|
|
201
|
+
name: uiTabName,
|
|
202
|
+
order: 0,
|
|
203
|
+
visible: true,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
if (field) {
|
|
207
|
+
field.tab = uiTabName;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return config;
|
|
211
|
+
}
|
|
158
212
|
}
|
|
159
213
|
|
|
160
214
|
export { SnkFormConfigManager as S };
|