@genexus/genexus-ide-ui 0.0.98 → 0.0.100
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/ch-icon_5.cjs.entry.js +3 -2
- package/dist/cjs/ch-icon_5.cjs.entry.js.map +1 -1
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gx-ide-container_3.cjs.entry.js} +53 -127
- package/dist/cjs/gx-ide-container_3.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +175 -0
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -0
- package/dist/cjs/{gx-ide-recent-news.cjs.entry.js → gx-ide-empty-state_2.cjs.entry.js} +64 -2
- package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +2 -9
- package/dist/cjs/gx-ide-import-from-design.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +9 -5
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +41 -27
- package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-card_2.cjs.entry.js +10 -5
- package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-combo-box_2.cjs.entry.js +62 -24
- package/dist/cjs/gxg-combo-box_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-form-checkbox.cjs.entry.js +151 -0
- package/dist/cjs/gxg-form-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/gxg-list-box_2.cjs.entry.js +28 -3
- package/dist/cjs/gxg-list-box_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-pill.cjs.entry.js +5 -5
- package/dist/cjs/gxg-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-pills.cjs.entry.js +1 -1
- package/dist/cjs/gxg-pills.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-tab_4.cjs.entry.js +97 -17
- package/dist/cjs/gxg-tab_4.cjs.entry.js.map +1 -1
- package/dist/cjs/gxg-window-v2.cjs.entry.js +28 -0
- package/dist/cjs/gxg-window-v2.cjs.entry.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +4 -1
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +40 -0
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js +180 -0
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js.map +1 -0
- package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
- package/dist/collection/components/_helpers/list-selector/list-selector.js +1 -1
- package/dist/collection/components/dashboard-home/dashboard-home.css +5 -0
- package/dist/collection/components/dashboard-home/dashboard-home.js +1 -1
- package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
- package/dist/collection/components/data-selector/data-selector.css +261 -0
- package/dist/collection/components/data-selector/data-selector.js +441 -0
- package/dist/collection/components/data-selector/data-selector.js.map +1 -0
- package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.en.json +23 -0
- package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +3 -0
- package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.zh.json +3 -0
- package/dist/collection/components/data-selector/gx-ide-assets/data-selector/shortcuts.json +15 -0
- package/dist/collection/components/import-from-design/import-from-design.js +3 -12
- package/dist/collection/components/import-from-design/import-from-design.js.map +1 -1
- package/dist/collection/components/start-page/recent-news.css +1 -1
- package/dist/collection/components/start-page/start-page.css +4 -0
- package/dist/collection/components/start-page/start-page.js +8 -4
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/components/card.js +11 -5
- package/dist/components/card.js.map +1 -1
- package/dist/components/combo-box.js +62 -24
- package/dist/components/combo-box.js.map +1 -1
- package/dist/components/gx-ide-dashboard-home.js +2 -2
- package/dist/components/gx-ide-dashboard-home.js.map +1 -1
- package/dist/components/gx-ide-data-selector.d.ts +11 -0
- package/dist/components/gx-ide-data-selector.js +347 -0
- package/dist/components/gx-ide-data-selector.js.map +1 -0
- package/dist/components/gx-ide-empty-state.d.ts +11 -0
- package/dist/components/gx-ide-empty-state.js +8 -0
- package/dist/components/gx-ide-empty-state.js.map +1 -0
- package/dist/components/gx-ide-empty-state2.js +126 -0
- package/dist/components/gx-ide-empty-state2.js.map +1 -0
- package/dist/components/gx-ide-import-from-design.js +3 -11
- package/dist/components/gx-ide-import-from-design.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +21 -11
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/gxg-menu-item.js +1 -1
- package/dist/components/gxg-menu-item.js.map +1 -1
- package/dist/components/gxg-pills.js +1 -1
- package/dist/components/gxg-pills.js.map +1 -1
- package/dist/components/gxg-top-state-bar2.js +46 -30
- package/dist/components/gxg-top-state-bar2.js.map +1 -1
- package/dist/components/gxg-window-v2.js +44 -0
- package/dist/components/gxg-window-v2.js.map +1 -0
- package/dist/components/icon2.js +3 -2
- package/dist/components/icon2.js.map +1 -1
- package/dist/components/list-box.js +27 -1
- package/dist/components/list-box.js.map +1 -1
- package/dist/components/pill.js +5 -5
- package/dist/components/pill.js.map +1 -1
- package/dist/components/recent-news.js +1 -1
- package/dist/components/recent-news.js.map +1 -1
- package/dist/components/tab-bar.js +17 -9
- package/dist/components/tab-bar.js.map +1 -1
- package/dist/components/tab-button.js +11 -4
- package/dist/components/tab-button.js.map +1 -1
- package/dist/components/tab.js +6 -3
- package/dist/components/tab.js.map +1 -1
- package/dist/components/tabs.js +73 -4
- package/dist/components/tabs.js.map +1 -1
- package/dist/esm/ch-icon_5.entry.js +3 -2
- package/dist/esm/ch-icon_5.entry.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/{gx-ide-container_2.entry.js → gx-ide-container_3.entry.js} +53 -128
- package/dist/esm/gx-ide-container_3.entry.js.map +1 -0
- package/dist/esm/gx-ide-dashboard-home.entry.js +2 -2
- package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +171 -0
- package/dist/esm/gx-ide-data-selector.entry.js.map +1 -0
- package/dist/esm/{gx-ide-recent-news.entry.js → gx-ide-empty-state_2.entry.js} +64 -3
- package/dist/esm/gx-ide-empty-state_2.entry.js.map +1 -0
- package/dist/esm/gx-ide-import-from-design.entry.js +2 -9
- package/dist/esm/gx-ide-import-from-design.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +9 -5
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/gx-ide-status-buttons_2.entry.js +41 -27
- package/dist/esm/gx-ide-status-buttons_2.entry.js.map +1 -1
- package/dist/esm/gxg-card_2.entry.js +10 -5
- package/dist/esm/gxg-card_2.entry.js.map +1 -1
- package/dist/esm/gxg-combo-box_2.entry.js +62 -24
- package/dist/esm/gxg-combo-box_2.entry.js.map +1 -1
- package/dist/esm/gxg-form-checkbox.entry.js +147 -0
- package/dist/esm/gxg-form-checkbox.entry.js.map +1 -0
- package/dist/esm/gxg-list-box_2.entry.js +27 -2
- package/dist/esm/gxg-list-box_2.entry.js.map +1 -1
- package/dist/esm/gxg-menu-item.entry.js +1 -1
- package/dist/esm/gxg-menu-item.entry.js.map +1 -1
- package/dist/esm/gxg-pill.entry.js +5 -5
- package/dist/esm/gxg-pill.entry.js.map +1 -1
- package/dist/esm/gxg-pills.entry.js +1 -1
- package/dist/esm/gxg-pills.entry.js.map +1 -1
- package/dist/esm/gxg-tab_4.entry.js +97 -17
- package/dist/esm/gxg-tab_4.entry.js.map +1 -1
- package/dist/esm/gxg-window-v2.entry.js +24 -0
- package/dist/esm/gxg-window-v2.entry.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.css +74 -7
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.en.json +23 -0
- package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/data-selector/shortcuts.json +15 -0
- package/dist/genexus-ide-ui/icon-assets/mercury/tests/balanza-path.svg +3 -0
- package/dist/genexus-ide-ui/icon-assets/mercury/tests/balanza-stroke.svg +9 -0
- package/dist/genexus-ide-ui/icon-assets/mercury/tests/folder-2.svg +3 -0
- package/dist/genexus-ide-ui/{p-b8fc93f4.entry.js → p-2c8afaa6.entry.js} +147 -112
- package/dist/genexus-ide-ui/p-2c8afaa6.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9b96b515.entry.js → p-40f21d2d.entry.js} +116 -192
- package/dist/genexus-ide-ui/p-40f21d2d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5ca84a03.entry.js → p-4e155cd5.entry.js} +27 -4
- package/dist/genexus-ide-ui/p-4e155cd5.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-4fc6d6a7.entry.js +24 -0
- package/dist/genexus-ide-ui/p-4fc6d6a7.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-54e4b362.entry.js +270 -0
- package/dist/genexus-ide-ui/p-54e4b362.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-73aa4e69.entry.js → p-71f8aba2.entry.js} +13 -13
- package/dist/genexus-ide-ui/{p-73aa4e69.entry.js.map → p-71f8aba2.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/p-75f0ba9d.entry.js +273 -0
- package/dist/genexus-ide-ui/p-75f0ba9d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-545291ad.entry.js → p-7dc3a137.entry.js} +4 -3
- package/dist/genexus-ide-ui/{p-545291ad.entry.js.map → p-7dc3a137.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-f186adfd.entry.js → p-85639fa5.entry.js} +100 -22
- package/dist/genexus-ide-ui/p-85639fa5.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-30365c44.entry.js → p-a3e07b86.entry.js} +6 -7
- package/dist/genexus-ide-ui/p-a3e07b86.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9c6c5a61.entry.js → p-a592930e.entry.js} +37 -32
- package/dist/genexus-ide-ui/p-a592930e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-b0e539fe.entry.js +41 -0
- package/dist/genexus-ide-ui/p-b0e539fe.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a439149b.entry.js → p-bff2603a.entry.js} +8 -3
- package/dist/genexus-ide-ui/p-bff2603a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-050bc199.entry.js → p-e0924e3f.entry.js} +96 -6
- package/dist/genexus-ide-ui/p-e0924e3f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-58cad79d.entry.js → p-e240361a.entry.js} +58 -68
- package/dist/genexus-ide-ui/p-e240361a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-e585f550.entry.js → p-e3925761.entry.js} +4 -5
- package/dist/genexus-ide-ui/{p-e585f550.entry.js.map → p-e3925761.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-219d7b29.entry.js → p-eeb35622.entry.js} +165 -89
- package/dist/genexus-ide-ui/p-eeb35622.entry.js.map +1 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/card/card.css +13 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pill.css +16 -51
- package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pills.css +1 -8
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab/tab.css +7 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.css +18 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +17 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +64 -13
- package/dist/node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css +120 -43
- package/dist/node_modules/@genexus/gemini/dist/collection/components/window-v2/window.css +3 -0
- package/dist/types/components/_helpers/empty-state/gx-ide-empty-state.d.ts +34 -0
- package/dist/types/components/data-selector/data-selector.d.ts +109 -0
- package/dist/types/components/import-from-design/import-from-design.d.ts +1 -3
- package/dist/types/components.d.ts +220 -40
- package/package.json +3 -3
- package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +0 -1
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +0 -1
- package/dist/cjs/gx-ide-title_2.cjs.entry.js +0 -77
- package/dist/cjs/gx-ide-title_2.cjs.entry.js.map +0 -1
- package/dist/cjs/reposition-scroll-86d8fac5.js +0 -33
- package/dist/cjs/reposition-scroll-86d8fac5.js.map +0 -1
- package/dist/components/reposition-scroll.js +0 -31
- package/dist/components/reposition-scroll.js.map +0 -1
- package/dist/esm/gx-ide-container_2.entry.js.map +0 -1
- package/dist/esm/gx-ide-recent-news.entry.js.map +0 -1
- package/dist/esm/gx-ide-title_2.entry.js +0 -72
- package/dist/esm/gx-ide-title_2.entry.js.map +0 -1
- package/dist/esm/reposition-scroll-cfff7017.js +0 -31
- package/dist/esm/reposition-scroll-cfff7017.js.map +0 -1
- package/dist/genexus-ide-ui/p-050bc199.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-219d7b29.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-30365c44.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-3e87257c.entry.js +0 -41
- package/dist/genexus-ide-ui/p-3e87257c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-58cad79d.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5ca84a03.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9b96b515.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9c6c5a61.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-a439149b.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-b8fc93f4.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-efa273d7.js +0 -27
- package/dist/genexus-ide-ui/p-efa273d7.js.map +0 -1
- package/dist/genexus-ide-ui/p-f186adfd.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f5034221.entry.js +0 -258
- package/dist/genexus-ide-ui/p-f5034221.entry.js.map +0 -1
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
/* STENCIL IMPORTS */
|
|
2
|
+
import { Host, h, getAssetPath } from "@stencil/core";
|
|
3
|
+
/* OTHER LIBRARIES IMPORTS */
|
|
4
|
+
/* CUSTOM IMPORTS */
|
|
5
|
+
import { Locale } from "../../common/locale";
|
|
6
|
+
import { config } from "../../common/config";
|
|
7
|
+
import { gridCommon } from "../../common/grid";
|
|
8
|
+
export class GxIdeDataSelector {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.renderedFirstTime = false;
|
|
11
|
+
this.shortcutsSrc = getAssetPath(`./gx-ide-assets/object-selector/shortcuts.json`);
|
|
12
|
+
// 9.LOCAL METHODS //
|
|
13
|
+
this.loaderCancelCallbackHandler = async () => {
|
|
14
|
+
this.cancelCallbackHandler();
|
|
15
|
+
};
|
|
16
|
+
this.getObjects = () => {
|
|
17
|
+
var _a, _b, _c;
|
|
18
|
+
const filters = {
|
|
19
|
+
pattern: (_a = this.filterPatternEl) === null || _a === void 0 ? void 0 : _a.value,
|
|
20
|
+
object: (_c = (_b = this.filterObjectEl) === null || _b === void 0 ? void 0 : _b.value) === null || _c === void 0 ? void 0 : _c.id
|
|
21
|
+
};
|
|
22
|
+
if (this.loadItemsCallback) {
|
|
23
|
+
if (this.loader) {
|
|
24
|
+
this.loaderEl.show = true;
|
|
25
|
+
}
|
|
26
|
+
this.loadItemsCallback(filters).then((items) => {
|
|
27
|
+
if (items) {
|
|
28
|
+
this.objects = items;
|
|
29
|
+
}
|
|
30
|
+
this.selectedObjectsIds = [];
|
|
31
|
+
this.deselectAll();
|
|
32
|
+
if (this.loader) {
|
|
33
|
+
this.loaderEl.show = false;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
this.editCallbackHandler = (e) => {
|
|
39
|
+
e.stopPropagation();
|
|
40
|
+
if (this.selectedObjectsIds[0]) {
|
|
41
|
+
this.editCallback(this.selectedObjectsIds[0]);
|
|
42
|
+
this.getObjects();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
this.confirmCallbackHandler = (e) => {
|
|
46
|
+
e.stopPropagation();
|
|
47
|
+
this.confirmCallback(this.selectedObjectsIds);
|
|
48
|
+
};
|
|
49
|
+
this.cancelCallbackHandler = () => {
|
|
50
|
+
this.cancelCallback();
|
|
51
|
+
};
|
|
52
|
+
this.deselectAll = () => {
|
|
53
|
+
this.chGridEl.selectAllRows(false);
|
|
54
|
+
};
|
|
55
|
+
this.newVariableCallbackHandler = () => {
|
|
56
|
+
this.newVariableCallback();
|
|
57
|
+
this.getObjects();
|
|
58
|
+
};
|
|
59
|
+
this.listenChanges = async () => {
|
|
60
|
+
/* pattern*/
|
|
61
|
+
this.filterPatternEl.addEventListener("valueChanged", () => {
|
|
62
|
+
this.getObjects();
|
|
63
|
+
});
|
|
64
|
+
/* object*/
|
|
65
|
+
this.filterObjectEl.addEventListener("valueChanged", () => {
|
|
66
|
+
this.getObjects();
|
|
67
|
+
});
|
|
68
|
+
// for grid selection
|
|
69
|
+
this.chGridEl.addEventListener("selectionChanged", (ev) => {
|
|
70
|
+
this.selectedObjectsIds = ev.detail.rowsId;
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
this.chGridKeyDownHandler = (e) => {
|
|
74
|
+
if (e.key === "Enter") {
|
|
75
|
+
this.confirmCallbackHandler(e);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
this.hostKeyPressHandler = (e) => {
|
|
79
|
+
// just prevent keypress propagation
|
|
80
|
+
if (e.key === "Enter") {
|
|
81
|
+
e.stopPropagation();
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
// 9.LOCAL METHODS -> RENDER//
|
|
85
|
+
this.renderFilter = () => {
|
|
86
|
+
return (h("div", { part: "filters-container", class: {
|
|
87
|
+
"filter-grid": true,
|
|
88
|
+
"filter-grid--no-title": !this.displayTitle
|
|
89
|
+
}, slot: "header" }, h("gxg-label", { labelPosition: "start", class: "pattern-label", noMargin: true }, this._componentLocale.filter.pattern), h("gxg-form-text", { ref: (el) => (this.filterPatternEl = el), class: "pattern-input", part: "filter-pattern", debounce: true }), h("gxg-label", { labelPosition: "start", class: "object-label", noMargin: true }, this._componentLocale.filter.object), h("gx-ide-entity-selector", { selectEntityCallback: this.selectObjectCallback, ref: (el) => (this.filterObjectEl = el), class: "object-input" })));
|
|
90
|
+
};
|
|
91
|
+
this.renderObjects = () => {
|
|
92
|
+
return (h("gxg-grid", { "ellipsis-cell-wrapper": true, noBorder: true }, h("ch-grid", { rowSelectionMode: this.selectionType, ref: (el) => (this.chGridEl = el), onKeyDown: this.chGridKeyDownHandler, part: "ch-grid-objects" }, h("ch-grid-columnset", null, h("ch-grid-column", { "column-name-position": "text", settingable: false, size: gridCommon.colSize.minContent }), h("ch-grid-column", { "column-name": this._componentLocale.tableHead.name, "column-name-position": "text", settingable: false, size: gridCommon.colSize.auto }), h("ch-grid-column", { "column-name": this._componentLocale.tableHead.dataType, "column-name-position": "text", settingable: false, size: gridCommon.colSize.auto }), h("ch-grid-column", { "column-name": this._componentLocale.tableHead.description, "column-name-position": "text", settingable: false, size: gridCommon.colSize.auto })), this.objects
|
|
93
|
+
.sort((a, b) => {
|
|
94
|
+
const nameA = a.name.toLowerCase(), nameB = b.name.toLowerCase();
|
|
95
|
+
if (nameA < nameB) {
|
|
96
|
+
return -1;
|
|
97
|
+
}
|
|
98
|
+
if (nameA > nameB) {
|
|
99
|
+
return 1;
|
|
100
|
+
}
|
|
101
|
+
return 0;
|
|
102
|
+
})
|
|
103
|
+
.map((obj) => (h("ch-grid-row", { rowid: obj.id, onDblClick: this.confirmCallbackHandler }, h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, h("gxg-icon", { type: obj.type === "attribute"
|
|
104
|
+
? "objects/attribute"
|
|
105
|
+
: "objects-parts/variables", color: "auto", size: "small" }))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, " ", obj.name, " ")), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, obj.dataType)), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, obj.description))))))));
|
|
106
|
+
};
|
|
107
|
+
this.objects = [];
|
|
108
|
+
this.selectedObjectsIds = [];
|
|
109
|
+
this.displayTitle = false;
|
|
110
|
+
this.loader = false;
|
|
111
|
+
this.selectionType = "multiple";
|
|
112
|
+
this.selectObjectCallback = undefined;
|
|
113
|
+
this.editCallback = undefined;
|
|
114
|
+
this.cancelCallback = undefined;
|
|
115
|
+
this.loadItemsCallback = undefined;
|
|
116
|
+
this.newVariableCallback = undefined;
|
|
117
|
+
this.confirmCallback = undefined;
|
|
118
|
+
}
|
|
119
|
+
// 6.COMPONENT LIFECYCLE EVENTS //
|
|
120
|
+
async componentWillLoad() {
|
|
121
|
+
this._componentLocale = await Locale.getComponentStrings(this.el);
|
|
122
|
+
this.componentDidLoadEvent.emit(true);
|
|
123
|
+
}
|
|
124
|
+
componentDidLoad() {
|
|
125
|
+
this.listenChanges();
|
|
126
|
+
this.loaderEl.container = this.chGridEl;
|
|
127
|
+
this.getObjects();
|
|
128
|
+
this.filterPatternEl.focus();
|
|
129
|
+
}
|
|
130
|
+
componentDidRender() {
|
|
131
|
+
if (!this.renderedFirstTime) {
|
|
132
|
+
this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
|
|
133
|
+
this.renderedFirstTime = true;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// 7.LISTENERS //
|
|
137
|
+
// 8.PUBLIC METHODS API //
|
|
138
|
+
/**
|
|
139
|
+
* Suspends or reactivates the shortcuts
|
|
140
|
+
*/
|
|
141
|
+
async suspendShortcuts(suspendShortcuts) {
|
|
142
|
+
if (suspendShortcuts) {
|
|
143
|
+
this.gxgShortcutsEl.suspend = true;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
this.gxgShortcutsEl.suspend = false;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Validate necessary data input
|
|
151
|
+
*/
|
|
152
|
+
async validate() {
|
|
153
|
+
const isValid = true;
|
|
154
|
+
return isValid;
|
|
155
|
+
}
|
|
156
|
+
// 10.RENDER() FUNCTION //
|
|
157
|
+
render() {
|
|
158
|
+
return (h(Host, { class: "gx-ide-component", onKeyPress: this.hostKeyPressHandler }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { containerTitle: this.displayTitle ? this._componentLocale.componentName : null, noContentPadding: true, noAboveFooterPadding: true, noHeadingPadding: true, headingPaddingTop: true, noHeadingBorder: true, slimmerFooter: config.gxIdeContainer.slimmerFooter }, this.renderFilter(), this.renderObjects(), h("gxg-button", { type: "outlined", onClick: this.cancelCallbackHandler, part: "gxg-button gxg-button--cancel", slot: "footer-end" }, this._componentLocale.footer.btnCancel), h("gxg-button", { type: "primary-text-only", onClick: this.confirmCallbackHandler, part: "gxg-button gxg-button--ok", slot: "footer-end" }, this._componentLocale.footer.btnConfirm), h("gxg-button", { type: "primary-text-only", onClick: this.newVariableCallbackHandler, part: "gxg-button gxg-button--new", slot: "footer-start" }, this._componentLocale.footer.btnNew), h("gxg-button", { type: "primary-text-only", onClick: this.editCallbackHandler, part: "gxg-button gxg-button--edit", slot: "footer-start" }, this._componentLocale.footer.btnEdit))), h("gxg-shortcuts", { src: this.shortcutsSrc, ref: (el) => (this.gxgShortcutsEl = el) }), this.loader ? (h("gxg-ide-loader", { cancelLabel: this._componentLocale.loader.cancelLabel, loaderTitle: this._componentLocale.loader.title, ref: el => (this.loaderEl = el), cancelCallback: this.loaderCancelCallbackHandler })) : null));
|
|
159
|
+
}
|
|
160
|
+
static get is() { return "gx-ide-data-selector"; }
|
|
161
|
+
static get encapsulation() { return "shadow"; }
|
|
162
|
+
static get delegatesFocus() { return true; }
|
|
163
|
+
static get originalStyleUrls() {
|
|
164
|
+
return {
|
|
165
|
+
"$": ["data-selector.scss"]
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
static get styleUrls() {
|
|
169
|
+
return {
|
|
170
|
+
"$": ["data-selector.css"]
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
static get assetsDirs() { return ["gx-ide-assets/data-selector"]; }
|
|
174
|
+
static get properties() {
|
|
175
|
+
return {
|
|
176
|
+
"displayTitle": {
|
|
177
|
+
"type": "boolean",
|
|
178
|
+
"mutable": false,
|
|
179
|
+
"complexType": {
|
|
180
|
+
"original": "false",
|
|
181
|
+
"resolved": "boolean",
|
|
182
|
+
"references": {}
|
|
183
|
+
},
|
|
184
|
+
"required": false,
|
|
185
|
+
"optional": false,
|
|
186
|
+
"docs": {
|
|
187
|
+
"tags": [],
|
|
188
|
+
"text": "If true it displays the component title on the header"
|
|
189
|
+
},
|
|
190
|
+
"attribute": "display-title",
|
|
191
|
+
"reflect": false,
|
|
192
|
+
"defaultValue": "false"
|
|
193
|
+
},
|
|
194
|
+
"loader": {
|
|
195
|
+
"type": "boolean",
|
|
196
|
+
"mutable": false,
|
|
197
|
+
"complexType": {
|
|
198
|
+
"original": "false",
|
|
199
|
+
"resolved": "boolean",
|
|
200
|
+
"references": {}
|
|
201
|
+
},
|
|
202
|
+
"required": false,
|
|
203
|
+
"optional": false,
|
|
204
|
+
"docs": {
|
|
205
|
+
"tags": [],
|
|
206
|
+
"text": "If true, it will display a loader when needed."
|
|
207
|
+
},
|
|
208
|
+
"attribute": "loader",
|
|
209
|
+
"reflect": false,
|
|
210
|
+
"defaultValue": "false"
|
|
211
|
+
},
|
|
212
|
+
"selectionType": {
|
|
213
|
+
"type": "string",
|
|
214
|
+
"mutable": false,
|
|
215
|
+
"complexType": {
|
|
216
|
+
"original": "\"single\" | \"multiple\"",
|
|
217
|
+
"resolved": "\"multiple\" | \"single\"",
|
|
218
|
+
"references": {}
|
|
219
|
+
},
|
|
220
|
+
"required": false,
|
|
221
|
+
"optional": false,
|
|
222
|
+
"docs": {
|
|
223
|
+
"tags": [],
|
|
224
|
+
"text": "Single if multiple object selection is not allowed. Default is multiple"
|
|
225
|
+
},
|
|
226
|
+
"attribute": "selection-type",
|
|
227
|
+
"reflect": false,
|
|
228
|
+
"defaultValue": "\"multiple\""
|
|
229
|
+
},
|
|
230
|
+
"selectObjectCallback": {
|
|
231
|
+
"type": "unknown",
|
|
232
|
+
"mutable": false,
|
|
233
|
+
"complexType": {
|
|
234
|
+
"original": "SelectObjectCallback",
|
|
235
|
+
"resolved": "() => Promise<EntityData>",
|
|
236
|
+
"references": {
|
|
237
|
+
"SelectObjectCallback": {
|
|
238
|
+
"location": "local",
|
|
239
|
+
"path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/data-selector/data-selector.tsx",
|
|
240
|
+
"id": "src/components/data-selector/data-selector.tsx::SelectObjectCallback"
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
"required": false,
|
|
245
|
+
"optional": false,
|
|
246
|
+
"docs": {
|
|
247
|
+
"tags": [],
|
|
248
|
+
"text": "Callback invoked when the action is executed in the Object filter. It returns the information of the selected object (id and name) or 'undefined' if it was canceled."
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
"editCallback": {
|
|
252
|
+
"type": "unknown",
|
|
253
|
+
"mutable": false,
|
|
254
|
+
"complexType": {
|
|
255
|
+
"original": "EditCallback",
|
|
256
|
+
"resolved": "(id: string) => Promise<boolean>",
|
|
257
|
+
"references": {
|
|
258
|
+
"EditCallback": {
|
|
259
|
+
"location": "local",
|
|
260
|
+
"path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/data-selector/data-selector.tsx",
|
|
261
|
+
"id": "src/components/data-selector/data-selector.tsx::EditCallback"
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
},
|
|
265
|
+
"required": false,
|
|
266
|
+
"optional": false,
|
|
267
|
+
"docs": {
|
|
268
|
+
"tags": [],
|
|
269
|
+
"text": "Callback invoked when user press edit button. Receives the first selected element id as parameter"
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
"cancelCallback": {
|
|
273
|
+
"type": "unknown",
|
|
274
|
+
"mutable": false,
|
|
275
|
+
"complexType": {
|
|
276
|
+
"original": "CancelCallback",
|
|
277
|
+
"resolved": "() => Promise<void>",
|
|
278
|
+
"references": {
|
|
279
|
+
"CancelCallback": {
|
|
280
|
+
"location": "local",
|
|
281
|
+
"path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/data-selector/data-selector.tsx",
|
|
282
|
+
"id": "src/components/data-selector/data-selector.tsx::CancelCallback"
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"required": true,
|
|
287
|
+
"optional": false,
|
|
288
|
+
"docs": {
|
|
289
|
+
"tags": [],
|
|
290
|
+
"text": "Callback invoked when the user wishes to cancel the selection of objects."
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
"loadItemsCallback": {
|
|
294
|
+
"type": "unknown",
|
|
295
|
+
"mutable": false,
|
|
296
|
+
"complexType": {
|
|
297
|
+
"original": "LoadItemsCallback",
|
|
298
|
+
"resolved": "(filters: FiltersData) => Promise<ItemData[]>",
|
|
299
|
+
"references": {
|
|
300
|
+
"LoadItemsCallback": {
|
|
301
|
+
"location": "local",
|
|
302
|
+
"path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/data-selector/data-selector.tsx",
|
|
303
|
+
"id": "src/components/data-selector/data-selector.tsx::LoadItemsCallback"
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
"required": true,
|
|
308
|
+
"optional": false,
|
|
309
|
+
"docs": {
|
|
310
|
+
"tags": [],
|
|
311
|
+
"text": "Callback invoked when the component needs to reload the list of attributes."
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
"newVariableCallback": {
|
|
315
|
+
"type": "unknown",
|
|
316
|
+
"mutable": false,
|
|
317
|
+
"complexType": {
|
|
318
|
+
"original": "NewVariableCallback",
|
|
319
|
+
"resolved": "() => Promise<void>",
|
|
320
|
+
"references": {
|
|
321
|
+
"NewVariableCallback": {
|
|
322
|
+
"location": "local",
|
|
323
|
+
"path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/data-selector/data-selector.tsx",
|
|
324
|
+
"id": "src/components/data-selector/data-selector.tsx::NewVariableCallback"
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
"required": true,
|
|
329
|
+
"optional": false,
|
|
330
|
+
"docs": {
|
|
331
|
+
"tags": [],
|
|
332
|
+
"text": "Callback invoked when the user presses the 'New' button."
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
"confirmCallback": {
|
|
336
|
+
"type": "unknown",
|
|
337
|
+
"mutable": false,
|
|
338
|
+
"complexType": {
|
|
339
|
+
"original": "ConfirmCallback",
|
|
340
|
+
"resolved": "(ids: string[]) => Promise<void>",
|
|
341
|
+
"references": {
|
|
342
|
+
"ConfirmCallback": {
|
|
343
|
+
"location": "local",
|
|
344
|
+
"path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/data-selector/data-selector.tsx",
|
|
345
|
+
"id": "src/components/data-selector/data-selector.tsx::ConfirmCallback"
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
"required": true,
|
|
350
|
+
"optional": false,
|
|
351
|
+
"docs": {
|
|
352
|
+
"tags": [],
|
|
353
|
+
"text": "Callback invoked when the user presses the 'OK' button"
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
static get states() {
|
|
359
|
+
return {
|
|
360
|
+
"objects": {},
|
|
361
|
+
"selectedObjectsIds": {}
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
static get events() {
|
|
365
|
+
return [{
|
|
366
|
+
"method": "componentDidRenderFirstTime",
|
|
367
|
+
"name": "componentDidRenderFirstTime",
|
|
368
|
+
"bubbles": true,
|
|
369
|
+
"cancelable": true,
|
|
370
|
+
"composed": true,
|
|
371
|
+
"docs": {
|
|
372
|
+
"tags": [],
|
|
373
|
+
"text": "This event is emitted once just after the component is fully loaded and the first render() occurs"
|
|
374
|
+
},
|
|
375
|
+
"complexType": {
|
|
376
|
+
"original": "boolean",
|
|
377
|
+
"resolved": "boolean",
|
|
378
|
+
"references": {}
|
|
379
|
+
}
|
|
380
|
+
}, {
|
|
381
|
+
"method": "componentDidLoadEvent",
|
|
382
|
+
"name": "componentDidLoadEvent",
|
|
383
|
+
"bubbles": true,
|
|
384
|
+
"cancelable": true,
|
|
385
|
+
"composed": true,
|
|
386
|
+
"docs": {
|
|
387
|
+
"tags": [],
|
|
388
|
+
"text": "This event is emitted once just after the component is fully loaded and the first render() occurs."
|
|
389
|
+
},
|
|
390
|
+
"complexType": {
|
|
391
|
+
"original": "boolean",
|
|
392
|
+
"resolved": "boolean",
|
|
393
|
+
"references": {}
|
|
394
|
+
}
|
|
395
|
+
}];
|
|
396
|
+
}
|
|
397
|
+
static get methods() {
|
|
398
|
+
return {
|
|
399
|
+
"suspendShortcuts": {
|
|
400
|
+
"complexType": {
|
|
401
|
+
"signature": "(suspendShortcuts: boolean) => Promise<void>",
|
|
402
|
+
"parameters": [{
|
|
403
|
+
"name": "suspendShortcuts",
|
|
404
|
+
"type": "boolean",
|
|
405
|
+
"docs": ""
|
|
406
|
+
}],
|
|
407
|
+
"references": {
|
|
408
|
+
"Promise": {
|
|
409
|
+
"location": "global",
|
|
410
|
+
"id": "global::Promise"
|
|
411
|
+
}
|
|
412
|
+
},
|
|
413
|
+
"return": "Promise<void>"
|
|
414
|
+
},
|
|
415
|
+
"docs": {
|
|
416
|
+
"text": "Suspends or reactivates the shortcuts",
|
|
417
|
+
"tags": []
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
"validate": {
|
|
421
|
+
"complexType": {
|
|
422
|
+
"signature": "() => Promise<boolean>",
|
|
423
|
+
"parameters": [],
|
|
424
|
+
"references": {
|
|
425
|
+
"Promise": {
|
|
426
|
+
"location": "global",
|
|
427
|
+
"id": "global::Promise"
|
|
428
|
+
}
|
|
429
|
+
},
|
|
430
|
+
"return": "Promise<boolean>"
|
|
431
|
+
},
|
|
432
|
+
"docs": {
|
|
433
|
+
"text": "Validate necessary data input",
|
|
434
|
+
"tags": []
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
static get elementRef() { return "el"; }
|
|
440
|
+
}
|
|
441
|
+
//# sourceMappingURL=data-selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-selector.js","sourceRoot":"","sources":["../../../src/components/data-selector/data-selector.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n getAssetPath\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\n\nimport { EntityData } from \"../../common/types\";\nimport { gridCommon } from \"../../common/grid\";\n\n@Component({\n tag: \"gx-ide-data-selector\",\n styleUrl: \"data-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/data-selector\"]\n})\nexport class GxIdeDataSelector {\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE EVENTS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/object-selector/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDataSelectorElement;\n\n /* References needed to collect data */\n private filterPatternEl!: HTMLGxgFormTextElement;\n private filterObjectEl!: HTMLGxIdeEntitySelectorElement;\n private chGridEl!: HTMLChGridElement;\n private gxgShortcutsEl: HTMLGxgShortcutsElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ItemData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIds: string[] = [];\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Single if multiple object selection is not allowed. Default is multiple\n */\n @Prop() readonly selectionType: \"single\" | \"multiple\" = \"multiple\";\n\n /**\n * Callback invoked when the action is executed in the Object filter. It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectObjectCallback: SelectObjectCallback;\n\n /**\n * Callback invoked when user press edit button. Receives the first selected element id as parameter\n */\n @Prop() readonly editCallback: EditCallback;\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadItemsCallback!: LoadItemsCallback;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newVariableCallback!: NewVariableCallback;\n\n /**\n * Callback invoked when the user presses the 'OK' button\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidLoad() {\n this.listenChanges();\n this.loaderEl.container = this.chGridEl;\n this.getObjects();\n this.filterPatternEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.gxgShortcutsEl.suspend = true;\n } else {\n this.gxgShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n // 9.LOCAL METHODS //\n\n private loaderCancelCallbackHandler = async () => {\n this.cancelCallbackHandler();\n };\n\n private getObjects = (): void => {\n const filters: FiltersData = {\n pattern: this.filterPatternEl?.value,\n object: this.filterObjectEl?.value?.id\n };\n if (this.loadItemsCallback) {\n if (this.loader) {\n this.loaderEl.show = true;\n }\n this.loadItemsCallback(filters).then((items: ItemData[]) => {\n if (items) {\n this.objects = items;\n }\n this.selectedObjectsIds = [];\n this.deselectAll();\n if (this.loader) {\n this.loaderEl.show = false;\n }\n });\n }\n };\n\n private editCallbackHandler = (e: MouseEvent): void => {\n e.stopPropagation();\n if (this.selectedObjectsIds[0]) {\n this.editCallback(this.selectedObjectsIds[0]);\n this.getObjects();\n }\n };\n\n private confirmCallbackHandler = (e: MouseEvent | KeyboardEvent): void => {\n e.stopPropagation();\n this.confirmCallback(this.selectedObjectsIds);\n };\n\n private cancelCallbackHandler = (): void => {\n this.cancelCallback();\n };\n\n private deselectAll = (): void => {\n (this.chGridEl as any).selectAllRows(false);\n };\n\n private newVariableCallbackHandler = (): void => {\n this.newVariableCallback();\n this.getObjects();\n };\n\n private listenChanges = async (): Promise<void> => {\n /* pattern*/\n this.filterPatternEl.addEventListener(\"valueChanged\", () => {\n this.getObjects();\n });\n\n /* object*/\n this.filterObjectEl.addEventListener(\"valueChanged\", () => {\n this.getObjects();\n });\n // for grid selection\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n });\n };\n\n private chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.confirmCallbackHandler(e);\n }\n };\n\n private hostKeyPressHandler = (e: KeyboardEvent) => {\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n // 9.LOCAL METHODS -> RENDER//\n\n private renderFilter = (): Element => {\n return (\n <div\n part=\"filters-container\"\n class={{\n \"filter-grid\": true,\n \"filter-grid--no-title\": !this.displayTitle\n }}\n slot=\"header\"\n >\n <gxg-label labelPosition=\"start\" class=\"pattern-label\" noMargin>\n {this._componentLocale.filter.pattern}\n </gxg-label>\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterPatternEl = el as HTMLGxgFormTextElement)\n }\n class=\"pattern-input\"\n part=\"filter-pattern\"\n debounce\n ></gxg-form-text>\n\n <gxg-label labelPosition=\"start\" class=\"object-label\" noMargin>\n {this._componentLocale.filter.object}\n </gxg-label>\n <gx-ide-entity-selector\n selectEntityCallback={this.selectObjectCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.filterObjectEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"object-input\"\n ></gx-ide-entity-selector>\n </div>\n );\n };\n\n private renderObjects = (): Element => {\n return (\n <gxg-grid ellipsis-cell-wrapper noBorder>\n <ch-grid\n rowSelectionMode={this.selectionType}\n ref={(el: HTMLChGridElement) => (this.chGridEl = el)}\n onKeyDown={this.chGridKeyDownHandler}\n part=\"ch-grid-objects\"\n >\n <ch-grid-columnset>\n <ch-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.minContent}\n ></ch-grid-column>\n <ch-grid-column\n column-name={this._componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.auto}\n ></ch-grid-column>\n <ch-grid-column\n column-name={this._componentLocale.tableHead.dataType}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.auto}\n ></ch-grid-column>\n\n <ch-grid-column\n column-name={this._componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.auto}\n ></ch-grid-column>\n </ch-grid-columnset>\n {this.objects\n .sort((a, b) => {\n const nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n })\n .map((obj: ItemData) => (\n <ch-grid-row\n rowid={obj.id}\n onDblClick={this.confirmCallbackHandler}\n >\n <ch-grid-cell>\n <span class=\"cell-wrapper\">\n <gxg-icon\n type={\n obj.type === \"attribute\"\n ? \"objects/attribute\"\n : \"objects-parts/variables\"\n }\n color=\"auto\"\n size=\"small\"\n ></gxg-icon>\n </span>\n </ch-grid-cell>\n <ch-grid-cell>\n <span class=\"cell-wrapper\"> {obj.name} </span>\n </ch-grid-cell>\n <ch-grid-cell>\n <span class=\"cell-wrapper\">{obj.dataType}</span>\n </ch-grid-cell>\n\n <ch-grid-cell>\n <span class=\"cell-wrapper\">{obj.description}</span>\n </ch-grid-cell>\n </ch-grid-row>\n ))}\n </ch-grid>\n </gxg-grid>\n );\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\" onKeyPress={this.hostKeyPressHandler}>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n noContentPadding\n noAboveFooterPadding\n noHeadingPadding\n headingPaddingTop\n noHeadingBorder\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n {this.renderFilter()}\n {this.renderObjects()}\n\n {/* footer */}\n {/* button cancel */}\n <gxg-button\n type=\"outlined\"\n onClick={this.cancelCallbackHandler}\n part=\"gxg-button gxg-button--cancel\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n {/* button confirm */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.confirmCallbackHandler}\n part=\"gxg-button gxg-button--ok\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnConfirm}\n </gxg-button>\n {/* button new... */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.newVariableCallbackHandler}\n part=\"gxg-button gxg-button--new\"\n slot=\"footer-start\"\n >\n {this._componentLocale.footer.btnNew}\n </gxg-button>\n {/* button edit */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.editCallbackHandler}\n part=\"gxg-button gxg-button--edit\"\n slot=\"footer-start\"\n >\n {this._componentLocale.footer.btnEdit}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts\n src={this.shortcutsSrc}\n ref={(el: HTMLGxgShortcutsElement) =>\n (this.gxgShortcutsEl = el as HTMLGxgShortcutsElement)\n }\n ></gxg-shortcuts>\n {/* loader*/}\n {this.loader ? (\n <gxg-ide-loader\n cancelLabel={this._componentLocale.loader.cancelLabel}\n loaderTitle={this._componentLocale.loader.title}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n cancelCallback={this.loaderCancelCallbackHandler}\n ></gxg-ide-loader>\n ) : null}\n </Host>\n );\n }\n}\n\nexport type NewVariableCallback = () => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectObjectCallback = () => Promise<EntityData | undefined>;\n\nexport type EditCallback = (id: string) => Promise<boolean>;\n\nexport type ConfirmCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadItemsCallback = (filters: FiltersData) => Promise<ItemData[]>;\n\nexport type FiltersData = {\n pattern?: string;\n object?: string;\n};\n\nexport type ItemData = {\n type: \"variable\" | \"attribute\";\n id: string;\n name: string;\n dataType: string;\n description: string;\n};\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"componentName": "Data Selector",
|
|
3
|
+
"location": "Location",
|
|
4
|
+
"filter": {
|
|
5
|
+
"pattern": "Pattern",
|
|
6
|
+
"object": "Object"
|
|
7
|
+
},
|
|
8
|
+
"tableHead": {
|
|
9
|
+
"name": "Name",
|
|
10
|
+
"dataType": "Type",
|
|
11
|
+
"description": "Description"
|
|
12
|
+
},
|
|
13
|
+
"footer": {
|
|
14
|
+
"btnNew": "New Variable",
|
|
15
|
+
"btnEdit": "Edit Variable",
|
|
16
|
+
"btnConfirm": "OK",
|
|
17
|
+
"btnCancel": "Cancel"
|
|
18
|
+
},
|
|
19
|
+
"loader": {
|
|
20
|
+
"title": "Loading Objects...",
|
|
21
|
+
"cancelLabel": "Cancel Process"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"selector": "[part~='gxg-button--ok']",
|
|
4
|
+
"keyShortcuts": "Enter",
|
|
5
|
+
"action": "click",
|
|
6
|
+
"conditions": {
|
|
7
|
+
"focusExclude": "[part='ch-grid-objects']"
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"selector": "[part~='gxg-button--cancel']",
|
|
12
|
+
"keyShortcuts": "Escape",
|
|
13
|
+
"action": "click"
|
|
14
|
+
}
|
|
15
|
+
]
|
|
@@ -276,11 +276,10 @@ export class GxIdeImportFromDesign {
|
|
|
276
276
|
return (h("div", { part: "data-panel-composition-preview", class: "data-preview" }, h("img", { src: this.selectedDesignItem ? this.selectedDesignItem : undefined, alt: "Preview" })));
|
|
277
277
|
};
|
|
278
278
|
this.renderDesignTabs = () => {
|
|
279
|
-
this.counter++;
|
|
280
279
|
return (h("gxg-tabs", { class: {
|
|
281
280
|
"design-tabs": true,
|
|
282
281
|
"design-tabs--fit-images": this.fitImages
|
|
283
|
-
}, part: "data-tabs", "no-border": true, noPadding: true, buttonsBorderAbove: true
|
|
282
|
+
}, part: "data-tabs", "no-border": true, noPadding: true, buttonsBorderAbove: true }, h("gxg-tab-bar", { slot: "tab-bar-container" }, h("gxg-tab-button", { hidden: !this.selectedDesignType ||
|
|
284
283
|
this.selectedDesignType !== DESIGN_DATA_TYPE_DESIGN_SYSTEM, slot: "tab-bar", "tab-label": this._componentLocale.tabs.tokens, tab: "tokens", key: "tokens", "is-selected": true }), h("gxg-tab-button", { hidden: !this.selectedDesignType ||
|
|
285
284
|
this.selectedDesignType !== DESIGN_DATA_TYPE_DESIGN_SYSTEM, slot: "tab-bar", "tab-label": this._componentLocale.tabs.styles, tab: "styles", key: "styles" }), h("gxg-tab-button", { hidden: !this.selectedDesignType ||
|
|
286
285
|
this.selectedDesignType === DESIGN_DATA_TYPE_DESIGN_SYSTEM, slot: "tab-bar", "tab-label": this._componentLocale.tabs.composition, tab: "composition", key: "composition", "is-selected": true }), h("gxg-tab-button", { hidden: !this.selectedDesignType ||
|
|
@@ -300,7 +299,7 @@ export class GxIdeImportFromDesign {
|
|
|
300
299
|
this.selectedDesignItem = undefined;
|
|
301
300
|
this.showAccessToken = undefined;
|
|
302
301
|
this.designDataTreeDataModel = [];
|
|
303
|
-
this.
|
|
302
|
+
this.updateTabsActiveTab = false;
|
|
304
303
|
this.fitImages = false;
|
|
305
304
|
this.shrinkTree = false;
|
|
306
305
|
this.shrunkenTree = false;
|
|
@@ -422,11 +421,6 @@ export class GxIdeImportFromDesign {
|
|
|
422
421
|
];
|
|
423
422
|
}
|
|
424
423
|
}
|
|
425
|
-
watchCounterHandler() {
|
|
426
|
-
if (this.tabsEl) {
|
|
427
|
-
this.tabsEl.setFirstActiveTab();
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
424
|
watchShrinkTreeHandler(shrink) {
|
|
431
425
|
if (shrink) {
|
|
432
426
|
this.attachTreeMouseListeners();
|
|
@@ -840,7 +834,7 @@ export class GxIdeImportFromDesign {
|
|
|
840
834
|
"selectedDesignItem": {},
|
|
841
835
|
"showAccessToken": {},
|
|
842
836
|
"designDataTreeDataModel": {},
|
|
843
|
-
"
|
|
837
|
+
"updateTabsActiveTab": {},
|
|
844
838
|
"fitImages": {},
|
|
845
839
|
"shrinkTree": {},
|
|
846
840
|
"shrunkenTree": {},
|
|
@@ -891,9 +885,6 @@ export class GxIdeImportFromDesign {
|
|
|
891
885
|
return [{
|
|
892
886
|
"propName": "designData",
|
|
893
887
|
"methodName": "watchDesignDataHandler"
|
|
894
|
-
}, {
|
|
895
|
-
"propName": "counter",
|
|
896
|
-
"methodName": "watchCounterHandler"
|
|
897
888
|
}, {
|
|
898
889
|
"propName": "shrinkTree",
|
|
899
890
|
"methodName": "watchShrinkTreeHandler"
|