@genexus/genexus-ide-ui 1.1.39 → 1.1.41

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.
Files changed (140) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-server-selector.cjs.entry.js +12 -28
  3. package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
  4. package/dist/cjs/{gx-ide-status-message.cjs.entry.js → gx-ide-sign-in-result.cjs.entry.js} +10 -9
  5. package/dist/cjs/gx-ide-sign-in-result.cjs.entry.js.map +1 -0
  6. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +20 -4
  7. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +99 -238
  9. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +9 -7
  11. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +60 -10
  13. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/cjs/tabular-grid-column-sort-5ca06dc1.js +43 -0
  16. package/dist/cjs/tabular-grid-column-sort-5ca06dc1.js.map +1 -0
  17. package/dist/cjs/tabular-grid-render-4350dbaf.js +223 -0
  18. package/dist/cjs/tabular-grid-render-4350dbaf.js.map +1 -0
  19. package/dist/cjs/uncheck-ignored-77ca69fe.js +43 -0
  20. package/dist/cjs/uncheck-ignored-77ca69fe.js.map +1 -0
  21. package/dist/collection/collection-manifest.json +1 -1
  22. package/dist/collection/common/chameleon/tabular-grid-column-sort.js +39 -0
  23. package/dist/collection/common/chameleon/tabular-grid-column-sort.js.map +1 -0
  24. package/dist/collection/components/{status-message/status-message.css → sign-in-result/sign-in-result.css} +2 -0
  25. package/dist/collection/components/{status-message/status-message.js → sign-in-result/sign-in-result.js} +10 -9
  26. package/dist/collection/components/sign-in-result/sign-in-result.js.map +1 -0
  27. package/dist/collection/components/team-dev/bring-changes/bring-changes.js +18 -4
  28. package/dist/collection/components/team-dev/bring-changes/bring-changes.js.map +1 -1
  29. package/dist/collection/components/team-dev/history/history.js +10 -8
  30. package/dist/collection/components/team-dev/history/history.js.map +1 -1
  31. package/dist/collection/components/team-dev/server-selector/server-selector.css +18 -14
  32. package/dist/collection/components/team-dev/server-selector/server-selector.js +11 -27
  33. package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
  34. package/dist/collection/components/team-dev/update/update.css +1 -0
  35. package/dist/collection/components/team-dev/update/update.js +62 -9
  36. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  37. package/dist/collection/components/team-dev/version-control/commit/commit.css +1 -0
  38. package/dist/collection/components/team-dev/version-control/commit/commit.js +79 -20
  39. package/dist/collection/components/team-dev/version-control/commit/commit.js.map +1 -1
  40. package/dist/collection/components/team-dev/version-control/common/are-sets-equal.js +21 -0
  41. package/dist/collection/components/team-dev/version-control/common/are-sets-equal.js.map +1 -0
  42. package/dist/collection/components/team-dev/version-control/common/tabular-grid-render.js +13 -3
  43. package/dist/collection/components/team-dev/version-control/common/tabular-grid-render.js.map +1 -1
  44. package/dist/collection/components/team-dev/version-control/common/uncheck-ignored.js +18 -0
  45. package/dist/collection/components/team-dev/version-control/common/uncheck-ignored.js.map +1 -0
  46. package/dist/collection/testing/locale.e2e.js +1 -1
  47. package/dist/collection/testing/locale.e2e.js.map +1 -1
  48. package/dist/components/gx-ide-server-selector.js +12 -28
  49. package/dist/components/gx-ide-server-selector.js.map +1 -1
  50. package/dist/components/{gx-ide-status-message.d.ts → gx-ide-sign-in-result.d.ts} +4 -4
  51. package/dist/components/{gx-ide-status-message.js → gx-ide-sign-in-result.js} +15 -14
  52. package/dist/components/gx-ide-sign-in-result.js.map +1 -0
  53. package/dist/components/gx-ide-team-dev-bring-changes.js +18 -4
  54. package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
  55. package/dist/components/gx-ide-team-dev-commit.js +78 -221
  56. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  57. package/dist/components/gx-ide-team-dev-history.js +9 -7
  58. package/dist/components/gx-ide-team-dev-history.js.map +1 -1
  59. package/dist/components/gx-ide-team-dev-update.js +61 -10
  60. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  61. package/dist/components/tabular-grid-column-sort.js +41 -0
  62. package/dist/components/tabular-grid-column-sort.js.map +1 -0
  63. package/dist/components/tabular-grid-render.js +216 -0
  64. package/dist/components/tabular-grid-render.js.map +1 -0
  65. package/dist/components/uncheck-ignored.js +40 -0
  66. package/dist/components/uncheck-ignored.js.map +1 -0
  67. package/dist/esm/genexus-ide-ui.js +1 -1
  68. package/dist/esm/gx-ide-server-selector.entry.js +12 -28
  69. package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
  70. package/dist/esm/{gx-ide-status-message.entry.js → gx-ide-sign-in-result.entry.js} +10 -9
  71. package/dist/esm/gx-ide-sign-in-result.entry.js.map +1 -0
  72. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +20 -4
  73. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
  74. package/dist/esm/gx-ide-team-dev-commit.entry.js +81 -220
  75. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  76. package/dist/esm/gx-ide-team-dev-history.entry.js +9 -7
  77. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
  78. package/dist/esm/gx-ide-team-dev-update.entry.js +60 -10
  79. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  80. package/dist/esm/loader.js +1 -1
  81. package/dist/esm/tabular-grid-column-sort-1d503b27.js +41 -0
  82. package/dist/esm/tabular-grid-column-sort-1d503b27.js.map +1 -0
  83. package/dist/esm/tabular-grid-render-f7eb612b.js +216 -0
  84. package/dist/esm/tabular-grid-render-f7eb612b.js.map +1 -0
  85. package/dist/esm/uncheck-ignored-4ba48c9e.js +40 -0
  86. package/dist/esm/uncheck-ignored-4ba48c9e.js.map +1 -0
  87. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  88. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  89. package/dist/genexus-ide-ui/p-02fb496a.js +36 -0
  90. package/dist/genexus-ide-ui/p-02fb496a.js.map +1 -0
  91. package/dist/genexus-ide-ui/p-06e8d9d6.entry.js +63 -0
  92. package/dist/genexus-ide-ui/p-06e8d9d6.entry.js.map +1 -0
  93. package/dist/genexus-ide-ui/{p-585fac4a.entry.js → p-2b38e18e.entry.js} +15 -13
  94. package/dist/genexus-ide-ui/p-2b38e18e.entry.js.map +1 -0
  95. package/dist/genexus-ide-ui/{p-970e89ac.entry.js → p-4b06b578.entry.js} +100 -115
  96. package/dist/genexus-ide-ui/p-4b06b578.entry.js.map +1 -0
  97. package/dist/genexus-ide-ui/{p-34447b77.entry.js → p-4e3ad78d.entry.js} +261 -234
  98. package/dist/genexus-ide-ui/p-4e3ad78d.entry.js.map +1 -0
  99. package/dist/genexus-ide-ui/p-77c2e69d.js +314 -0
  100. package/dist/genexus-ide-ui/p-77c2e69d.js.map +1 -0
  101. package/dist/genexus-ide-ui/p-a7883e6b.entry.js +691 -0
  102. package/dist/genexus-ide-ui/p-a7883e6b.entry.js.map +1 -0
  103. package/dist/genexus-ide-ui/p-c9b9e260.js +36 -0
  104. package/dist/genexus-ide-ui/p-c9b9e260.js.map +1 -0
  105. package/dist/genexus-ide-ui/{p-42f37527.entry.js → p-e1a2550e.entry.js} +351 -289
  106. package/dist/genexus-ide-ui/p-e1a2550e.entry.js.map +1 -0
  107. package/dist/types/common/chameleon/tabular-grid-column-sort.d.ts +4 -0
  108. package/dist/types/components/{status-message/status-message.d.ts → sign-in-result/sign-in-result.d.ts} +2 -2
  109. package/dist/types/components/team-dev/history/history.d.ts +2 -2
  110. package/dist/types/components/team-dev/update/update.d.ts +6 -0
  111. package/dist/types/components/team-dev/version-control/commit/commit.d.ts +15 -13
  112. package/dist/types/components/team-dev/version-control/common/are-sets-equal.d.ts +12 -0
  113. package/dist/types/components/team-dev/version-control/common/tabular-grid-render.d.ts +13 -1
  114. package/dist/types/components/team-dev/version-control/common/uncheck-ignored.d.ts +13 -0
  115. package/dist/types/components.d.ts +13 -13
  116. package/package.json +1 -1
  117. package/dist/cjs/gx-ide-status-message.cjs.entry.js.map +0 -1
  118. package/dist/collection/components/status-message/status-message.js.map +0 -1
  119. package/dist/components/gx-ide-status-message.js.map +0 -1
  120. package/dist/esm/gx-ide-status-message.entry.js.map +0 -1
  121. package/dist/genexus-ide-ui/p-34447b77.entry.js.map +0 -1
  122. package/dist/genexus-ide-ui/p-42f37527.entry.js.map +0 -1
  123. package/dist/genexus-ide-ui/p-50253b96.entry.js +0 -61
  124. package/dist/genexus-ide-ui/p-50253b96.entry.js.map +0 -1
  125. package/dist/genexus-ide-ui/p-585fac4a.entry.js.map +0 -1
  126. package/dist/genexus-ide-ui/p-723d25ae.entry.js +0 -912
  127. package/dist/genexus-ide-ui/p-723d25ae.entry.js.map +0 -1
  128. package/dist/genexus-ide-ui/p-970e89ac.entry.js.map +0 -1
  129. /package/dist/collection/components/{status-message/gx-ide-assets/status-message → sign-in-result/gx-ide-assets/sign-in-result}/images/genexus-next-logo.svg +0 -0
  130. /package/dist/collection/components/{status-message/gx-ide-assets/status-message → sign-in-result/gx-ide-assets/sign-in-result}/images/left-side-illustration.svg +0 -0
  131. /package/dist/collection/components/{status-message/gx-ide-assets/status-message → sign-in-result/gx-ide-assets/sign-in-result}/images/right-side-illustration.svg +0 -0
  132. /package/dist/collection/components/{status-message/gx-ide-assets/status-message/langs/status-message.lang.en.json → sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.en.json} +0 -0
  133. /package/dist/collection/components/{status-message/gx-ide-assets/status-message/langs/status-message.lang.ja.json → sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.ja.json} +0 -0
  134. /package/dist/collection/components/{status-message/gx-ide-assets/status-message/langs/status-message.lang.zh.json → sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.zh.json} +0 -0
  135. /package/dist/genexus-ide-ui/gx-ide-assets/{status-message → sign-in-result}/images/genexus-next-logo.svg +0 -0
  136. /package/dist/genexus-ide-ui/gx-ide-assets/{status-message → sign-in-result}/images/left-side-illustration.svg +0 -0
  137. /package/dist/genexus-ide-ui/gx-ide-assets/{status-message → sign-in-result}/images/right-side-illustration.svg +0 -0
  138. /package/dist/genexus-ide-ui/gx-ide-assets/{status-message/langs/status-message.lang.en.json → sign-in-result/langs/sign-in-result.lang.en.json} +0 -0
  139. /package/dist/genexus-ide-ui/gx-ide-assets/{status-message/langs/status-message.lang.ja.json → sign-in-result/langs/sign-in-result.lang.ja.json} +0 -0
  140. /package/dist/genexus-ide-ui/gx-ide-assets/{status-message/langs/status-message.lang.zh.json → sign-in-result/langs/sign-in-result.lang.zh.json} +0 -0
@@ -14,13 +14,14 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
14
14
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
15
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
16
  };
17
- var _GxIdeServerSelector_chSearchIcon, _GxIdeServerSelector_versionsSelect, _GxIdeServerSelector__componentLocale, _GxIdeServerSelector_chGridRecentlyUsedServersEl, _GxIdeServerSelector_chGridConnectedServersEl, _GxIdeServerSelector_previousSelectedRowId, _GxIdeServerSelector_selectedRowId, _GxIdeServerSelector_serverUrlEL, _GxIdeServerSelector_cancelHandler, _GxIdeServerSelector_confirmHandler, _GxIdeServerSelector_filterValueChangedHandler, _GxIdeServerSelector_inputHandler, _GxIdeServerSelector_validateUrl, _GxIdeServerSelector_enableConfirmButton, _GxIdeServerSelector_onConnectedServersRowDoubleClickHandler, _GxIdeServerSelector_onRecentlyUsedRowDoubleClickHandler, _GxIdeServerSelector_selectConnectedServersHandler, _GxIdeServerSelector_selectRecentlyUsedServersHandler, _GxIdeServerSelector_handleServerSelection, _GxIdeServerSelector_connectionTypeChangedHandler, _GxIdeServerSelector_renderTabularGridColumnSet, _GxIdeServerSelector_renderTooltip, _GxIdeServerSelector_renderTabularGridCommonCells, _GxIdeServerSelector_renderRecentlyUsedServersGrid, _GxIdeServerSelector_renderConnectedServersGrid, _GxIdeServerSelector_handleColumnSortChanged, _GxIdeServerSelector_renderIcon, _GxIdeServerSelector_renderFooter;
17
+ var _GxIdeServerSelector_chSearchIcon, _GxIdeServerSelector_versionsSelect, _GxIdeServerSelector__componentLocale, _GxIdeServerSelector_chGridRecentlyUsedServersEl, _GxIdeServerSelector_chGridConnectedServersEl, _GxIdeServerSelector_previousSelectedRowId, _GxIdeServerSelector_selectedRowId, _GxIdeServerSelector_serverUrlEL, _GxIdeServerSelector_cancelHandler, _GxIdeServerSelector_confirmHandler, _GxIdeServerSelector_filterValueChangedHandler, _GxIdeServerSelector_inputHandler, _GxIdeServerSelector_validateUrl, _GxIdeServerSelector_enableConfirmButton, _GxIdeServerSelector_selectConnectedServersHandler, _GxIdeServerSelector_selectRecentlyUsedServersHandler, _GxIdeServerSelector_handleServerSelection, _GxIdeServerSelector_connectionTypeChangedHandler, _GxIdeServerSelector_sortTabularGridColumnCallback, _GxIdeServerSelector_renderTabularGridColumnSet, _GxIdeServerSelector_renderTooltip, _GxIdeServerSelector_renderTabularGridCommonCells, _GxIdeServerSelector_renderRecentlyUsedServersGrid, _GxIdeServerSelector_renderConnectedServersGrid, _GxIdeServerSelector_renderIcon, _GxIdeServerSelector_renderFooter;
18
18
  // Stencil
19
19
  import { h, Host } from "@stencil/core";
20
20
  // Other Libraries
21
21
  import { getIconPath } from "@genexus/mercury";
22
22
  import { config } from "../../../common/config";
23
23
  import { Locale } from "../../../common/locale";
24
+ import sortTabularGridColumn from "../../../common/chameleon/tabular-grid-column-sort";
24
25
  const CSS_BUNDLES = [
25
26
  "resets/box-sizing",
26
27
  "utils/form--full",
@@ -114,14 +115,6 @@ export class GxIdeServerSelector {
114
115
  this.enableConfirmButton = false;
115
116
  }
116
117
  });
117
- _GxIdeServerSelector_onConnectedServersRowDoubleClickHandler.set(this, (event) => {
118
- __classPrivateFieldGet(this, _GxIdeServerSelector_selectConnectedServersHandler, "f").call(this, event);
119
- __classPrivateFieldGet(this, _GxIdeServerSelector_confirmHandler, "f").call(this);
120
- });
121
- _GxIdeServerSelector_onRecentlyUsedRowDoubleClickHandler.set(this, (event) => {
122
- __classPrivateFieldGet(this, _GxIdeServerSelector_selectRecentlyUsedServersHandler, "f").call(this, event);
123
- __classPrivateFieldGet(this, _GxIdeServerSelector_confirmHandler, "f").call(this);
124
- });
125
118
  _GxIdeServerSelector_selectConnectedServersHandler.set(this, (event) => __classPrivateFieldGet(this, _GxIdeServerSelector_handleServerSelection, "f").call(this, event, this.connectedServersData, __classPrivateFieldGet(this, _GxIdeServerSelector_chGridRecentlyUsedServersEl, "f")));
126
119
  _GxIdeServerSelector_selectRecentlyUsedServersHandler.set(this, (event) => __classPrivateFieldGet(this, _GxIdeServerSelector_handleServerSelection, "f").call(this, event, this.recentlyUsedServersData, __classPrivateFieldGet(this, _GxIdeServerSelector_chGridConnectedServersEl, "f")));
127
120
  _GxIdeServerSelector_handleServerSelection.set(this, async (event, serversData, otherGridEl) => {
@@ -153,8 +146,13 @@ export class GxIdeServerSelector {
153
146
  }
154
147
  this.selectedServerName = "None";
155
148
  });
149
+ _GxIdeServerSelector_sortTabularGridColumnCallback.set(this, (e) => {
150
+ this.filteredConnectedServersData = [
151
+ ...sortTabularGridColumn(e, this.filteredConnectedServersData, "string", undefined)
152
+ ];
153
+ });
156
154
  _GxIdeServerSelector_renderTabularGridColumnSet.set(this, (hideColumnName = false) => {
157
- return (h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { columnId: "icon", class: "tabular-grid-column", columnName: "Icon", settingable: false, columnNameHidden: true, size: config.tabularGrid.colSize.maxContent, resizable: false }), h("ch-tabular-grid-column", { columnId: "serverName", class: "tabular-grid-column", sortable: true, columnName: "Server Name", settingable: false, columnNameHidden: hideColumnName, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeServerSelector_handleColumnSortChanged, "f"), size: config.tabularGrid.colSize.serverName, resizable: false }), h("ch-tabular-grid-column", { columnId: "serverUrl", class: "tabular-grid-column", sortable: true, columnName: "Server Url", settingable: false, columnNameHidden: hideColumnName, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeServerSelector_handleColumnSortChanged, "f"), size: config.tabularGrid.colSize.auto, resizable: false }), h("ch-tabular-grid-column", { columnId: "userName", class: "tabular-grid-column", sortable: true, columnName: "Username", settingable: false, columnNameHidden: hideColumnName, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeServerSelector_handleColumnSortChanged, "f"), size: config.tabularGrid.colSize.userName, resizable: false }), h("ch-tabular-grid-column", { columnId: "status", class: "tabular-grid-column", sortable: true, columnName: "Status", settingable: false, columnNameHidden: hideColumnName, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeServerSelector_handleColumnSortChanged, "f"), size: config.tabularGrid.colSize.maxContent, resizable: false })));
155
+ return (h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { columnId: "icon", class: "tabular-grid-column tabular-grid-column-icon", columnName: "Icon", settingable: false, columnNameHidden: true, size: config.tabularGrid.colSize.maxContent, resizable: false, sortable: false }), h("ch-tabular-grid-column", { columnId: "serverName", class: "tabular-grid-column", columnName: "Server Name", settingable: false, columnNameHidden: hideColumnName, size: config.tabularGrid.colSize.serverName, resizable: false, sortable: !hideColumnName, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeServerSelector_sortTabularGridColumnCallback, "f") }), h("ch-tabular-grid-column", { columnId: "serverUrl", class: "tabular-grid-column", columnName: "Server Url", settingable: false, columnNameHidden: hideColumnName, size: config.tabularGrid.colSize.auto, resizable: false, sortable: !hideColumnName, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeServerSelector_sortTabularGridColumnCallback, "f") }), h("ch-tabular-grid-column", { columnId: "userName", class: "tabular-grid-column", columnName: "Username", settingable: false, columnNameHidden: hideColumnName, size: config.tabularGrid.colSize.userName, resizable: false, sortable: !hideColumnName, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeServerSelector_sortTabularGridColumnCallback, "f") }), h("ch-tabular-grid-column", { columnId: "status", class: "tabular-grid-column", columnName: "Status", settingable: false, columnNameHidden: hideColumnName, size: config.tabularGrid.colSize.maxContent, resizable: false, sortable: false })));
158
156
  });
159
157
  _GxIdeServerSelector_renderTooltip.set(this, (text) => {
160
158
  return text !== "" ? (h("ch-tooltip", { class: "tooltip", actionElement: null, blockAlign: "outside-end", inlineAlign: config.tooltipSettings.inlineAlign, delay: config.tooltipSettings.delay }, text)) : null;
@@ -169,24 +167,10 @@ export class GxIdeServerSelector {
169
167
  ];
170
168
  });
171
169
  _GxIdeServerSelector_renderRecentlyUsedServersGrid.set(this, (hideColumnName) => {
172
- return (h("ch-tabular-grid", { class: "tabular-grid-recently-used tabular-grid", rowSelectionMode: "single", ref: (el) => (__classPrivateFieldSet(this, _GxIdeServerSelector_chGridRecentlyUsedServersEl, el, "f")), allowColumnReorder: false, onRowClicked: __classPrivateFieldGet(this, _GxIdeServerSelector_selectRecentlyUsedServersHandler, "f"), onRowDoubleClicked: __classPrivateFieldGet(this, _GxIdeServerSelector_onRecentlyUsedRowDoubleClickHandler, "f"), id: "recently-used-servers" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridColumnSet, "f").call(this, hideColumnName), this.recentlyUsedServersData.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, this.recentlyUsedServersData.map((server) => (h("ch-tabular-grid-row", { rowid: server.id, class: "tabular-grid-row" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridCommonCells, "f").call(this, server)))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", null, h("gx-ide-empty-state", { stateIconSrc: INFO_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").emptyConnectedServers, isAnimated: true }))))));
170
+ return (h("ch-tabular-grid", { class: "tabular-grid-recently-used tabular-grid", rowSelectionMode: "single", ref: (el) => (__classPrivateFieldSet(this, _GxIdeServerSelector_chGridRecentlyUsedServersEl, el, "f")), allowColumnReorder: false, onRowClicked: __classPrivateFieldGet(this, _GxIdeServerSelector_selectRecentlyUsedServersHandler, "f"), id: "recently-used-servers" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridColumnSet, "f").call(this, hideColumnName), this.recentlyUsedServersData.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, this.recentlyUsedServersData.map((server) => (h("ch-tabular-grid-row", { rowid: server.id, class: "tabular-grid-row" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridCommonCells, "f").call(this, server)))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", null, h("gx-ide-empty-state", { stateIconSrc: INFO_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").emptyConnectedServers, isAnimated: true }))))));
173
171
  });
174
172
  _GxIdeServerSelector_renderConnectedServersGrid.set(this, () => {
175
- return (h("ch-tabular-grid", { class: "tabular-grid tabular-grid-all-servers", rowSelectionMode: "single", ref: (el) => (__classPrivateFieldSet(this, _GxIdeServerSelector_chGridConnectedServersEl, el, "f")), allowColumnReorder: false, onRowClicked: __classPrivateFieldGet(this, _GxIdeServerSelector_selectConnectedServersHandler, "f"), onRowDoubleClicked: __classPrivateFieldGet(this, _GxIdeServerSelector_onConnectedServersRowDoubleClickHandler, "f"), id: "all-servers" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridColumnSet, "f").call(this), this.filteredConnectedServersData.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, this.filteredConnectedServersData.map((server) => (h("ch-tabular-grid-row", { rowid: server.id, class: "tabular-grid-row" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridCommonCells, "f").call(this, server)))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", { class: "tabular-grid-rowset-empty" }, h("gx-ide-empty-state", { stateIconSrc: INFO_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").emptyConnectedServers, isAnimated: true }))))));
176
- });
177
- _GxIdeServerSelector_handleColumnSortChanged.set(this, (e) => {
178
- const { columnId, sortDirection } = e.detail;
179
- const aux = this.connectedServersData;
180
- aux.sort((a, b) => {
181
- if (a[columnId] < b[columnId]) {
182
- return sortDirection === "asc" ? -1 : 1;
183
- }
184
- if (a[columnId] > b[columnId]) {
185
- return sortDirection === "asc" ? 1 : -1;
186
- }
187
- return 0;
188
- });
189
- this.connectedServersData = [...aux];
173
+ return (h("div", { class: "tabular-grid-wrapper" }, h("div", { class: "border-patch" }), h("ch-tabular-grid", { class: "tabular-grid tabular-grid-all-servers", rowSelectionMode: "single", ref: (el) => (__classPrivateFieldSet(this, _GxIdeServerSelector_chGridConnectedServersEl, el, "f")), allowColumnReorder: false, onRowClicked: __classPrivateFieldGet(this, _GxIdeServerSelector_selectConnectedServersHandler, "f"), id: "all-servers" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridColumnSet, "f").call(this), this.filteredConnectedServersData.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, this.filteredConnectedServersData.map((server) => (h("ch-tabular-grid-row", { rowid: server.id, class: "tabular-grid-row" }, __classPrivateFieldGet(this, _GxIdeServerSelector_renderTabularGridCommonCells, "f").call(this, server)))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", { class: "tabular-grid-rowset-empty" }, h("gx-ide-empty-state", { stateIconSrc: INFO_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeServerSelector__componentLocale, "f").emptyConnectedServers, isAnimated: true })))))));
190
174
  });
191
175
  _GxIdeServerSelector_renderIcon.set(this, (accessLevel) => {
192
176
  const icon = accessLevel === "private" ? LOCK_ICON : LANGUAGE_ICON;
@@ -370,5 +354,5 @@ export class GxIdeServerSelector {
370
354
  }
371
355
  static get elementRef() { return "el"; }
372
356
  }
373
- _GxIdeServerSelector_chSearchIcon = new WeakMap(), _GxIdeServerSelector_versionsSelect = new WeakMap(), _GxIdeServerSelector__componentLocale = new WeakMap(), _GxIdeServerSelector_chGridRecentlyUsedServersEl = new WeakMap(), _GxIdeServerSelector_chGridConnectedServersEl = new WeakMap(), _GxIdeServerSelector_previousSelectedRowId = new WeakMap(), _GxIdeServerSelector_selectedRowId = new WeakMap(), _GxIdeServerSelector_serverUrlEL = new WeakMap(), _GxIdeServerSelector_cancelHandler = new WeakMap(), _GxIdeServerSelector_confirmHandler = new WeakMap(), _GxIdeServerSelector_filterValueChangedHandler = new WeakMap(), _GxIdeServerSelector_inputHandler = new WeakMap(), _GxIdeServerSelector_validateUrl = new WeakMap(), _GxIdeServerSelector_enableConfirmButton = new WeakMap(), _GxIdeServerSelector_onConnectedServersRowDoubleClickHandler = new WeakMap(), _GxIdeServerSelector_onRecentlyUsedRowDoubleClickHandler = new WeakMap(), _GxIdeServerSelector_selectConnectedServersHandler = new WeakMap(), _GxIdeServerSelector_selectRecentlyUsedServersHandler = new WeakMap(), _GxIdeServerSelector_handleServerSelection = new WeakMap(), _GxIdeServerSelector_connectionTypeChangedHandler = new WeakMap(), _GxIdeServerSelector_renderTabularGridColumnSet = new WeakMap(), _GxIdeServerSelector_renderTooltip = new WeakMap(), _GxIdeServerSelector_renderTabularGridCommonCells = new WeakMap(), _GxIdeServerSelector_renderRecentlyUsedServersGrid = new WeakMap(), _GxIdeServerSelector_renderConnectedServersGrid = new WeakMap(), _GxIdeServerSelector_handleColumnSortChanged = new WeakMap(), _GxIdeServerSelector_renderIcon = new WeakMap(), _GxIdeServerSelector_renderFooter = new WeakMap();
357
+ _GxIdeServerSelector_chSearchIcon = new WeakMap(), _GxIdeServerSelector_versionsSelect = new WeakMap(), _GxIdeServerSelector__componentLocale = new WeakMap(), _GxIdeServerSelector_chGridRecentlyUsedServersEl = new WeakMap(), _GxIdeServerSelector_chGridConnectedServersEl = new WeakMap(), _GxIdeServerSelector_previousSelectedRowId = new WeakMap(), _GxIdeServerSelector_selectedRowId = new WeakMap(), _GxIdeServerSelector_serverUrlEL = new WeakMap(), _GxIdeServerSelector_cancelHandler = new WeakMap(), _GxIdeServerSelector_confirmHandler = new WeakMap(), _GxIdeServerSelector_filterValueChangedHandler = new WeakMap(), _GxIdeServerSelector_inputHandler = new WeakMap(), _GxIdeServerSelector_validateUrl = new WeakMap(), _GxIdeServerSelector_enableConfirmButton = new WeakMap(), _GxIdeServerSelector_selectConnectedServersHandler = new WeakMap(), _GxIdeServerSelector_selectRecentlyUsedServersHandler = new WeakMap(), _GxIdeServerSelector_handleServerSelection = new WeakMap(), _GxIdeServerSelector_connectionTypeChangedHandler = new WeakMap(), _GxIdeServerSelector_sortTabularGridColumnCallback = new WeakMap(), _GxIdeServerSelector_renderTabularGridColumnSet = new WeakMap(), _GxIdeServerSelector_renderTooltip = new WeakMap(), _GxIdeServerSelector_renderTabularGridCommonCells = new WeakMap(), _GxIdeServerSelector_renderRecentlyUsedServersGrid = new WeakMap(), _GxIdeServerSelector_renderConnectedServersGrid = new WeakMap(), _GxIdeServerSelector_renderIcon = new WeakMap(), _GxIdeServerSelector_renderFooter = new WeakMap();
374
358
  //# sourceMappingURL=server-selector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-selector.js","sourceRoot":"","sources":["../../../../src/components/team-dev/server-selector/server-selector.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport { Component, Element, h, Host, Prop, State } from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport {\n ChEditCustomEvent,\n TabularGridRowClickedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\nimport { JSX } from \"@stencil/core/internal\";\nimport { config } from \"../../../common/config\";\nimport {\n ControlValidation\n // validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/tooltip\",\n \"chameleon/scrollbar\",\n \"components/tabular-grid\"\n];\n\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-surface\"\n});\n\nconst LOCK_ICON = getIconPath({\n category: \"system\",\n name: \"lock\",\n colorType: \"on-surface\"\n});\n\nconst LANGUAGE_ICON = getIconPath({\n category: \"system\",\n name: \"language\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-server-selector\",\n styleUrl: \"server-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/server-selector\"]\n})\nexport class GxIdeServerSelector {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"select\", caption: \"Select a server from the list below\" },\n { value: \"new\", caption: \"Enter a server URL manually\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n\n #chGridRecentlyUsedServersEl: HTMLChTabularGridElement;\n #chGridConnectedServersEl: HTMLChTabularGridElement;\n #previousSelectedRowId: string | undefined;\n #selectedRowId: string | undefined;\n #serverUrlEL: HTMLChEditElement;\n\n @Element() el: HTMLGxIdeServerSelectorElement;\n\n /**\n * State to enable/disable confirm button.\n */\n @State() enableConfirmButton: boolean = false;\n\n /**\n * State to track if this is the first selection made by the user.\n */\n @State() isFirstSelection: boolean = true;\n\n /**\n * State to track if the server URL is valid.\n */\n @State() isValidUrl: boolean = true;\n\n /**\n * The current server URL input value.\n */\n @State() serverUrlInputValue: string = \"\";\n\n /**\n * The current server URL input value.\n */\n @State() serverNameInputValue: string = \"\";\n\n /**\n * The selected server URI.\n */\n @State() selectedServerUri: string | undefined;\n\n /**\n * The selected server name.\n */\n @State() selectedServerName: string | undefined = \"None\";\n\n /**\n * The user name of the selected server.\n */\n @State() userName: string;\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * Servers filtered\n */\n @State() filteredConnectedServersData: ConnectedGXServerData[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The selected connection type\n */\n @State() selectedConnectionType: ConnectionOption = \"select\";\n\n /**\n * The list of connected GX servers.\n */\n @Prop({ mutable: true }) connectedServersData: ConnectedGXServerData[] = [];\n\n /**\n * The list of recently used servers.\n */\n @Prop() readonly recentlyUsedServersData: ConnectedGXServerData[] = [];\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Confirm' button is pressed and the Select Server option is checked.\n */\n @Prop() readonly selectServerCallback!: (\n authenticationSessionOrigin: AuthenticationSessionOrigin\n ) => Promise<void>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.selectedServerUri = this.connectedServersData[0]?.serverUrl;\n this.userName = this.connectedServersData[0]?.gxServerUsername;\n\n this.filteredConnectedServersData = this.connectedServersData;\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #confirmHandler = async (): Promise<void | ServerType> => {\n if (this.selectedConnectionType === \"select\") {\n await this.selectServerCallback({\n uri: this.selectedServerUri,\n name: this.selectedServerName\n });\n } else if (this.selectedConnectionType === \"new\") {\n this.isValidUrl = this.#validateUrl(this.serverUrlInputValue);\n if (this.isValidUrl) {\n await this.selectServerCallback({\n uri: this.serverUrlInputValue,\n name: this.serverNameInputValue\n });\n }\n }\n };\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.filteredConnectedServersData = this.connectedServersData.filter(item =>\n item.serverName.toLowerCase().includes(this.filterValue)\n );\n };\n\n #inputHandler = (\n event: ChEditCustomEvent<string> | InputEvent,\n field: \"serverUrlInputValue\" | \"serverNameInputValue\"\n ) => {\n this.enableConfirmButton = false;\n this[field] = event.detail as string;\n this.#enableConfirmButton();\n };\n\n #validateUrl = (url: string): boolean => {\n try {\n const serverUrl = new URL(url);\n const protocolValid =\n (serverUrl.protocol === \"http:\" || serverUrl.protocol === \"https:\") &&\n url.startsWith(`${serverUrl.protocol}//`);\n return protocolValid;\n } catch (ex) {\n return false;\n }\n };\n\n #enableConfirmButton = () => {\n if (\n this.serverUrlInputValue &&\n this.serverUrlInputValue.length > 0 &&\n this.serverNameInputValue &&\n this.serverNameInputValue.length > 0\n ) {\n this.enableConfirmButton = true;\n } else {\n this.enableConfirmButton = false;\n }\n };\n\n #onConnectedServersRowDoubleClickHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) => {\n this.#selectConnectedServersHandler(event);\n this.#confirmHandler();\n };\n\n #onRecentlyUsedRowDoubleClickHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) => {\n this.#selectRecentlyUsedServersHandler(event);\n this.#confirmHandler();\n };\n\n #selectConnectedServersHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) =>\n this.#handleServerSelection(\n event,\n this.connectedServersData,\n this.#chGridRecentlyUsedServersEl\n );\n\n #selectRecentlyUsedServersHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) =>\n this.#handleServerSelection(\n event,\n this.recentlyUsedServersData,\n this.#chGridConnectedServersEl\n );\n\n #handleServerSelection = async (\n event: CustomEvent<TabularGridRowClickedEvent>,\n serversData: ConnectedGXServerData[],\n otherGridEl: HTMLChTabularGridElement\n ): Promise<void> => {\n if (!this.isFirstSelection) {\n this.#previousSelectedRowId = this.#selectedRowId;\n }\n this.#selectedRowId = event.detail.rowId;\n if (this.#selectedRowId === undefined) {\n this.enableConfirmButton = false;\n this.selectedServerUri = undefined;\n this.selectedServerName = undefined;\n return;\n } else {\n const selectedServer = serversData.find(\n server => server.id === this.#selectedRowId\n );\n this.enableConfirmButton = true;\n this.selectedServerName = selectedServer?.serverName;\n this.selectedServerUri = selectedServer?.serverUrl;\n this.userName = selectedServer?.gxServerUsername || \"\";\n this.isFirstSelection = false;\n await otherGridEl?.selectRow(this.#previousSelectedRowId, false);\n }\n };\n\n #connectionTypeChangedHandler = (event: CustomEvent<string>) => {\n this.selectedConnectionType = event.detail as ConnectionOption;\n if (this.selectedConnectionType === \"new\") {\n this.enableConfirmButton = false;\n this.serverUrlInputValue = \"\";\n }\n this.selectedServerName = \"None\";\n };\n\n #renderTabularGridColumnSet = (\n hideColumnName: boolean = false\n ): HTMLChTabularGridColumnsetElement => {\n return (\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnId=\"icon\"\n class=\"tabular-grid-column\"\n columnName=\"Icon\"\n settingable={false}\n columnNameHidden={true}\n size={config.tabularGrid.colSize.maxContent}\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"serverName\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Server Name\"\n settingable={false}\n columnNameHidden={hideColumnName}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.serverName}\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"serverUrl\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Server Url\"\n settingable={false}\n columnNameHidden={hideColumnName}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.auto}\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"userName\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Username\"\n settingable={false}\n columnNameHidden={hideColumnName}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.userName}\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"status\"\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Status\"\n settingable={false}\n columnNameHidden={hideColumnName}\n onColumnSortChanged={this.#handleColumnSortChanged}\n size={config.tabularGrid.colSize.maxContent}\n resizable={false}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n );\n };\n\n #renderTooltip = (text: string): JSX.Element | null => {\n return text !== \"\" ? (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={null}\n blockAlign=\"outside-end\"\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {text}\n </ch-tooltip>\n ) : null;\n };\n\n #renderTabularGridCommonCells = (server: ConnectedGXServerData) => {\n return [\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#renderIcon(server.accessLevel)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-server-name\">\n {server.serverName}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-server-url\">\n {server.serverUrl}\n {this.#renderTooltip(server.serverUrl)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {server.gxServerUsername}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell text-neutral-gray-400 body-italic-s\">\n {server.isConnected && \"Connected\"}\n </ch-tabular-grid-cell>\n ];\n };\n\n #renderRecentlyUsedServersGrid = (hideColumnName: boolean): Element => {\n return (\n <ch-tabular-grid\n class={\"tabular-grid-recently-used tabular-grid\"}\n rowSelectionMode=\"single\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridRecentlyUsedServersEl = el)\n }\n allowColumnReorder={false}\n onRowClicked={this.#selectRecentlyUsedServersHandler}\n onRowDoubleClicked={this.#onRecentlyUsedRowDoubleClickHandler}\n id=\"recently-used-servers\"\n >\n {this.#renderTabularGridColumnSet(hideColumnName)}\n {this.recentlyUsedServersData.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.recentlyUsedServersData.map(\n (server: ConnectedGXServerData) => (\n <ch-tabular-grid-row rowid={server.id} class=\"tabular-grid-row\">\n {this.#renderTabularGridCommonCells(server)}\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyConnectedServers}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #renderConnectedServersGrid = (): Element => {\n return (\n <ch-tabular-grid\n class={\"tabular-grid tabular-grid-all-servers\"}\n rowSelectionMode=\"single\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridConnectedServersEl = el)\n }\n allowColumnReorder={false}\n onRowClicked={this.#selectConnectedServersHandler}\n onRowDoubleClicked={this.#onConnectedServersRowDoubleClickHandler}\n id=\"all-servers\"\n >\n {this.#renderTabularGridColumnSet()}\n {this.filteredConnectedServersData.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.filteredConnectedServersData.map(\n (server: ConnectedGXServerData) => (\n <ch-tabular-grid-row rowid={server.id} class=\"tabular-grid-row\">\n {this.#renderTabularGridCommonCells(server)}\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty class=\"tabular-grid-rowset-empty\">\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyConnectedServers}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #handleColumnSortChanged = (e: CustomEvent) => {\n const { columnId, sortDirection } = e.detail;\n\n const aux = this.connectedServersData;\n aux.sort((a: any, b: any) => {\n if (a[columnId] < b[columnId]) {\n return sortDirection === \"asc\" ? -1 : 1;\n }\n if (a[columnId] > b[columnId]) {\n return sortDirection === \"asc\" ? 1 : -1;\n }\n return 0;\n });\n\n this.connectedServersData = [...aux];\n };\n\n #renderIcon = (accessLevel: string): JSX.Element => {\n const icon = accessLevel === \"private\" ? LOCK_ICON : LANGUAGE_ICON;\n return <ch-image class=\"icon-md\" src={icon}></ch-image>;\n };\n\n #renderFooter = () => {\n const isSelectionMode = this.selectedConnectionType === \"select\";\n return (\n <footer\n class={{\n \"control-footer-with-border\": true,\n \"control-footer-space-between\":\n this.selectedConnectionType === \"select\",\n \"space-between\": isSelectionMode,\n \"spacing-body-inline\": true,\n \"spacing-body-block\": true\n }}\n >\n {isSelectionMode && (\n <p class=\"body-italic-m\">Selected: {this.selectedServerName}</p>\n )}\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // confirm button\n class=\"button-primary\"\n onClick={this.enableConfirmButton && this.#confirmHandler}\n disabled={!this.enableConfirmButton}\n >\n {this.#_componentLocale.footer.confirm}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n const connectionTypeClass =\n this.selectedConnectionType === \"new\" && \"new-connection\";\n const recentlyUsedEmptyClass =\n this.recentlyUsedServersData.length === 0 && \"recently-used-empty\";\n return (\n <Host\n class={`widget elevation-1 ${connectionTypeClass} ${recentlyUsedEmptyClass}`}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <main class=\"section\">\n <header class=\"header spacing-body-block-start spacing-body-inline\">\n <div class=\"field-group\">\n <label class=\"body-regular-m text-neutral-gray-400\">\n {this.#_componentLocale.header.title}\n </label>\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#connectionTypeChangedHandler}\n value={this.#versionsSelect[0].value}\n ></ch-radio-group-render>\n\n {this.selectedConnectionType === \"select\" && (\n <ch-edit\n class=\"input search-server\"\n id=\"server-name-search\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={\n this.#_componentLocale.placeholders.searchServers\n }\n accessibleName=\"search server\"\n type=\"search\"\n ></ch-edit>\n )}\n </div>\n </header>\n {this.selectedConnectionType === \"select\" && [\n this.recentlyUsedServersData.length > 0 && (\n <div class=\"field field-block spacing-body-inline\">\n <label class=\"label\" htmlFor=\"recently-used-servers\">\n {this.#_componentLocale.recentlyUsed.title}\n </label>\n {this.#renderRecentlyUsedServersGrid(true)}\n </div>\n ),\n <div class=\"field field-block field-block-all-servers spacing-body-inline\">\n <label class=\"label\" htmlFor=\"all-servers\">\n {this.#_componentLocale.allServers.title}\n </label>\n {this.#renderConnectedServersGrid()}\n </div>\n ]}\n\n {this.selectedConnectionType === \"new\" && (\n <section class=\"spacing-body-inline\">\n <div class=\"layout layout--cols-2\">\n <div class=\"field field-block layout__panel\">\n <label class=\"label\" htmlFor=\"server-url\">\n {this.#_componentLocale.labels.serverUrl}\n </label>\n <ch-edit\n // server url\n class={{ \"input\": true, \"input-error\": !this.isValidUrl }}\n id=\"server-url\"\n value={this.serverUrlInputValue}\n onInput={event =>\n this.#inputHandler(event, \"serverUrlInputValue\")\n }\n placeholder={this.#_componentLocale.placeholders.serverUrl}\n ref={el => (this.#serverUrlEL = el as HTMLChEditElement)}\n ></ch-edit>\n </div>\n <div class=\"field field-block layout__panel\">\n <label class=\"label\" htmlFor=\"server-name\">\n {this.#_componentLocale.labels.serverName}\n </label>\n <ch-edit\n // server friendly name\n class=\"input\"\n id=\"server-name\"\n value={this.serverNameInputValue}\n onInput={event =>\n this.#inputHandler(event, \"serverNameInputValue\")\n }\n placeholder={this.#_componentLocale.placeholders.serverName}\n maxLength={18}\n ></ch-edit>\n </div>\n {!this.isValidUrl && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={\n this.#serverUrlEL as unknown as HTMLButtonElement\n }\n blockAlign=\"outside-end\"\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.#_componentLocale.errors.serverUrlInvalid}\n </ch-tooltip>\n )}\n </div>\n </section>\n )}\n\n {this.#renderFooter()}\n </main>\n </Host>\n );\n }\n}\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n};\n\nexport type ConnectionOption = \"select\" | \"new\";\n\nexport type ServerType = \"legacy\" | \"next\";\n\nexport type ServerAccessLevel = \"public\" | \"private\";\n\nexport type AuthenticationSessionOrigin = {\n uri: string;\n name: string;\n};\n\nexport type ConnectedGXServerData = {\n id: string;\n serverUrl: string;\n accessLevel: ServerAccessLevel;\n masterSessionUsername: string;\n serverName?: string;\n gxServerUsername: string;\n isConnected: boolean;\n};\n\nexport type NewServerConnectionData = {\n serverUrl: string;\n serverName: string;\n};\n"]}
1
+ {"version":3,"file":"server-selector.js","sourceRoot":"","sources":["../../../../src/components/team-dev/server-selector/server-selector.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport { Component, Element, h, Host, Prop, State } from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport {\n ChEditCustomEvent,\n TabularGridColumnSortChangedEvent,\n TabularGridRowClickedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\nimport { JSX } from \"@stencil/core/internal\";\nimport { config } from \"../../../common/config\";\nimport {\n ControlValidation\n // validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\n\nimport sortTabularGridColumn from \"../../../common/chameleon/tabular-grid-column-sort\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/tooltip\",\n \"chameleon/scrollbar\",\n \"components/tabular-grid\"\n];\n\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-surface\"\n});\n\nconst LOCK_ICON = getIconPath({\n category: \"system\",\n name: \"lock\",\n colorType: \"on-surface\"\n});\n\nconst LANGUAGE_ICON = getIconPath({\n category: \"system\",\n name: \"language\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-server-selector\",\n styleUrl: \"server-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/server-selector\"]\n})\nexport class GxIdeServerSelector {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"select\", caption: \"Select a server from the list below\" },\n { value: \"new\", caption: \"Enter a server URL manually\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n\n #chGridRecentlyUsedServersEl: HTMLChTabularGridElement;\n #chGridConnectedServersEl: HTMLChTabularGridElement;\n #previousSelectedRowId: string | undefined;\n #selectedRowId: string | undefined;\n #serverUrlEL: HTMLChEditElement;\n\n @Element() el: HTMLGxIdeServerSelectorElement;\n\n /**\n * State to enable/disable confirm button.\n */\n @State() enableConfirmButton: boolean = false;\n\n /**\n * State to track if this is the first selection made by the user.\n */\n @State() isFirstSelection: boolean = true;\n\n /**\n * State to track if the server URL is valid.\n */\n @State() isValidUrl: boolean = true;\n\n /**\n * The current server URL input value.\n */\n @State() serverUrlInputValue: string = \"\";\n\n /**\n * The current server URL input value.\n */\n @State() serverNameInputValue: string = \"\";\n\n /**\n * The selected server URI.\n */\n @State() selectedServerUri: string | undefined;\n\n /**\n * The selected server name.\n */\n @State() selectedServerName: string | undefined = \"None\";\n\n /**\n * The user name of the selected server.\n */\n @State() userName: string;\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * Servers filtered\n */\n @State() filteredConnectedServersData: ConnectedGXServerData[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The selected connection type\n */\n @State() selectedConnectionType: ConnectionOption = \"select\";\n\n /**\n * The list of connected GX servers.\n */\n @Prop({ mutable: true }) connectedServersData: ConnectedGXServerData[] = [];\n\n /**\n * The list of recently used servers.\n */\n @Prop() readonly recentlyUsedServersData: ConnectedGXServerData[] = [];\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Confirm' button is pressed and the Select Server option is checked.\n */\n @Prop() readonly selectServerCallback!: (\n authenticationSessionOrigin: AuthenticationSessionOrigin\n ) => Promise<void>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.selectedServerUri = this.connectedServersData[0]?.serverUrl;\n this.userName = this.connectedServersData[0]?.gxServerUsername;\n\n this.filteredConnectedServersData = this.connectedServersData;\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #confirmHandler = async (): Promise<void | ServerType> => {\n if (this.selectedConnectionType === \"select\") {\n await this.selectServerCallback({\n uri: this.selectedServerUri,\n name: this.selectedServerName\n });\n } else if (this.selectedConnectionType === \"new\") {\n this.isValidUrl = this.#validateUrl(this.serverUrlInputValue);\n if (this.isValidUrl) {\n await this.selectServerCallback({\n uri: this.serverUrlInputValue,\n name: this.serverNameInputValue\n });\n }\n }\n };\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.filteredConnectedServersData = this.connectedServersData.filter(item =>\n item.serverName.toLowerCase().includes(this.filterValue)\n );\n };\n\n #inputHandler = (\n event: ChEditCustomEvent<string> | InputEvent,\n field: \"serverUrlInputValue\" | \"serverNameInputValue\"\n ) => {\n this.enableConfirmButton = false;\n this[field] = event.detail as string;\n this.#enableConfirmButton();\n };\n\n #validateUrl = (url: string): boolean => {\n try {\n const serverUrl = new URL(url);\n const protocolValid =\n (serverUrl.protocol === \"http:\" || serverUrl.protocol === \"https:\") &&\n url.startsWith(`${serverUrl.protocol}//`);\n return protocolValid;\n } catch (ex) {\n return false;\n }\n };\n\n #enableConfirmButton = () => {\n if (\n this.serverUrlInputValue &&\n this.serverUrlInputValue.length > 0 &&\n this.serverNameInputValue &&\n this.serverNameInputValue.length > 0\n ) {\n this.enableConfirmButton = true;\n } else {\n this.enableConfirmButton = false;\n }\n };\n\n #selectConnectedServersHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) =>\n this.#handleServerSelection(\n event,\n this.connectedServersData,\n this.#chGridRecentlyUsedServersEl\n );\n\n #selectRecentlyUsedServersHandler = (\n event: CustomEvent<TabularGridRowClickedEvent>\n ) =>\n this.#handleServerSelection(\n event,\n this.recentlyUsedServersData,\n this.#chGridConnectedServersEl\n );\n\n #handleServerSelection = async (\n event: CustomEvent<TabularGridRowClickedEvent>,\n serversData: ConnectedGXServerData[],\n otherGridEl: HTMLChTabularGridElement\n ): Promise<void> => {\n if (!this.isFirstSelection) {\n this.#previousSelectedRowId = this.#selectedRowId;\n }\n this.#selectedRowId = event.detail.rowId;\n if (this.#selectedRowId === undefined) {\n this.enableConfirmButton = false;\n this.selectedServerUri = undefined;\n this.selectedServerName = undefined;\n return;\n } else {\n const selectedServer = serversData.find(\n server => server.id === this.#selectedRowId\n );\n this.enableConfirmButton = true;\n this.selectedServerName = selectedServer?.serverName;\n this.selectedServerUri = selectedServer?.serverUrl;\n this.userName = selectedServer?.gxServerUsername || \"\";\n this.isFirstSelection = false;\n await otherGridEl?.selectRow(this.#previousSelectedRowId, false);\n }\n };\n\n #connectionTypeChangedHandler = (event: CustomEvent<string>) => {\n this.selectedConnectionType = event.detail as ConnectionOption;\n if (this.selectedConnectionType === \"new\") {\n this.enableConfirmButton = false;\n this.serverUrlInputValue = \"\";\n }\n this.selectedServerName = \"None\";\n };\n\n #sortTabularGridColumnCallback = (\n e: CustomEvent<TabularGridColumnSortChangedEvent>\n ) => {\n this.filteredConnectedServersData = [\n ...sortTabularGridColumn(\n e,\n this.filteredConnectedServersData,\n \"string\",\n undefined\n )\n ];\n };\n\n #renderTabularGridColumnSet = (\n hideColumnName: boolean = false\n ): HTMLChTabularGridColumnsetElement => {\n return (\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnId=\"icon\"\n class=\"tabular-grid-column tabular-grid-column-icon\"\n columnName=\"Icon\"\n settingable={false}\n columnNameHidden={true}\n size={config.tabularGrid.colSize.maxContent}\n resizable={false}\n sortable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"serverName\"\n class=\"tabular-grid-column\"\n columnName=\"Server Name\"\n settingable={false}\n columnNameHidden={hideColumnName}\n size={config.tabularGrid.colSize.serverName}\n resizable={false}\n sortable={!hideColumnName}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"serverUrl\"\n class=\"tabular-grid-column\"\n columnName=\"Server Url\"\n settingable={false}\n columnNameHidden={hideColumnName}\n size={config.tabularGrid.colSize.auto}\n resizable={false}\n sortable={!hideColumnName}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"userName\"\n class=\"tabular-grid-column\"\n columnName=\"Username\"\n settingable={false}\n columnNameHidden={hideColumnName}\n size={config.tabularGrid.colSize.userName}\n resizable={false}\n sortable={!hideColumnName}\n onColumnSortChanged={this.#sortTabularGridColumnCallback}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"status\"\n class=\"tabular-grid-column\"\n columnName=\"Status\"\n settingable={false}\n columnNameHidden={hideColumnName}\n size={config.tabularGrid.colSize.maxContent}\n resizable={false}\n sortable={false}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n );\n };\n\n #renderTooltip = (text: string): JSX.Element | null => {\n return text !== \"\" ? (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={null}\n blockAlign=\"outside-end\"\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {text}\n </ch-tooltip>\n ) : null;\n };\n\n #renderTabularGridCommonCells = (server: ConnectedGXServerData) => {\n return [\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#renderIcon(server.accessLevel)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-server-name\">\n {server.serverName}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-server-url\">\n {server.serverUrl}\n {this.#renderTooltip(server.serverUrl)}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {server.gxServerUsername}\n </ch-tabular-grid-cell>,\n <ch-tabular-grid-cell class=\"tabular-grid-cell text-neutral-gray-400 body-italic-s\">\n {server.isConnected && \"Connected\"}\n </ch-tabular-grid-cell>\n ];\n };\n\n #renderRecentlyUsedServersGrid = (hideColumnName: boolean): Element => {\n return (\n <ch-tabular-grid\n class={\"tabular-grid-recently-used tabular-grid\"}\n rowSelectionMode=\"single\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridRecentlyUsedServersEl = el)\n }\n allowColumnReorder={false}\n onRowClicked={this.#selectRecentlyUsedServersHandler}\n id=\"recently-used-servers\"\n >\n {this.#renderTabularGridColumnSet(hideColumnName)}\n {this.recentlyUsedServersData.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.recentlyUsedServersData.map(\n (server: ConnectedGXServerData) => (\n <ch-tabular-grid-row rowid={server.id} class=\"tabular-grid-row\">\n {this.#renderTabularGridCommonCells(server)}\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyConnectedServers}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #renderConnectedServersGrid = (): Element => {\n return (\n <div class=\"tabular-grid-wrapper\">\n <div class=\"border-patch\"></div>\n <ch-tabular-grid\n class={\"tabular-grid tabular-grid-all-servers\"}\n rowSelectionMode=\"single\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chGridConnectedServersEl = el)\n }\n allowColumnReorder={false}\n onRowClicked={this.#selectConnectedServersHandler}\n id=\"all-servers\"\n >\n {this.#renderTabularGridColumnSet()}\n {this.filteredConnectedServersData.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.filteredConnectedServersData.map(\n (server: ConnectedGXServerData) => (\n <ch-tabular-grid-row\n rowid={server.id}\n class=\"tabular-grid-row\"\n >\n {this.#renderTabularGridCommonCells(server)}\n </ch-tabular-grid-row>\n )\n )}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty class=\"tabular-grid-rowset-empty\">\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyConnectedServers}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n </div>\n );\n };\n\n #renderIcon = (accessLevel: string): JSX.Element => {\n const icon = accessLevel === \"private\" ? LOCK_ICON : LANGUAGE_ICON;\n return <ch-image class=\"icon-md\" src={icon}></ch-image>;\n };\n\n #renderFooter = () => {\n const isSelectionMode = this.selectedConnectionType === \"select\";\n return (\n <footer\n class={{\n \"control-footer-with-border\": true,\n \"control-footer-space-between\":\n this.selectedConnectionType === \"select\",\n \"space-between\": isSelectionMode,\n \"spacing-body-inline\": true,\n \"spacing-body-block\": true\n }}\n >\n {isSelectionMode && (\n <p class=\"body-italic-m\">Selected: {this.selectedServerName}</p>\n )}\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // confirm button\n class=\"button-primary\"\n onClick={this.enableConfirmButton && this.#confirmHandler}\n disabled={!this.enableConfirmButton}\n >\n {this.#_componentLocale.footer.confirm}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n const connectionTypeClass =\n this.selectedConnectionType === \"new\" && \"new-connection\";\n const recentlyUsedEmptyClass =\n this.recentlyUsedServersData.length === 0 && \"recently-used-empty\";\n return (\n <Host\n class={`widget elevation-1 ${connectionTypeClass} ${recentlyUsedEmptyClass}`}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <main class=\"section\">\n <header class=\"header spacing-body-block-start spacing-body-inline\">\n <div class=\"field-group\">\n <label class=\"body-regular-m text-neutral-gray-400\">\n {this.#_componentLocale.header.title}\n </label>\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#connectionTypeChangedHandler}\n value={this.#versionsSelect[0].value}\n ></ch-radio-group-render>\n\n {this.selectedConnectionType === \"select\" && (\n <ch-edit\n class=\"input search-server\"\n id=\"server-name-search\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={\n this.#_componentLocale.placeholders.searchServers\n }\n accessibleName=\"search server\"\n type=\"search\"\n ></ch-edit>\n )}\n </div>\n </header>\n {this.selectedConnectionType === \"select\" && [\n this.recentlyUsedServersData.length > 0 && (\n <div class=\"field field-block spacing-body-inline\">\n <label class=\"label\" htmlFor=\"recently-used-servers\">\n {this.#_componentLocale.recentlyUsed.title}\n </label>\n {this.#renderRecentlyUsedServersGrid(true)}\n </div>\n ),\n <div class=\"field field-block field-block-all-servers spacing-body-inline\">\n <label class=\"label\" htmlFor=\"all-servers\">\n {this.#_componentLocale.allServers.title}\n </label>\n {this.#renderConnectedServersGrid()}\n </div>\n ]}\n\n {this.selectedConnectionType === \"new\" && (\n <section class=\"spacing-body-inline\">\n <div class=\"layout layout--cols-2\">\n <div class=\"field field-block layout__panel\">\n <label class=\"label\" htmlFor=\"server-url\">\n {this.#_componentLocale.labels.serverUrl}\n </label>\n <ch-edit\n // server url\n class={{ \"input\": true, \"input-error\": !this.isValidUrl }}\n id=\"server-url\"\n value={this.serverUrlInputValue}\n onInput={event =>\n this.#inputHandler(event, \"serverUrlInputValue\")\n }\n placeholder={this.#_componentLocale.placeholders.serverUrl}\n ref={el => (this.#serverUrlEL = el as HTMLChEditElement)}\n ></ch-edit>\n </div>\n <div class=\"field field-block layout__panel\">\n <label class=\"label\" htmlFor=\"server-name\">\n {this.#_componentLocale.labels.serverName}\n </label>\n <ch-edit\n // server friendly name\n class=\"input\"\n id=\"server-name\"\n value={this.serverNameInputValue}\n onInput={event =>\n this.#inputHandler(event, \"serverNameInputValue\")\n }\n placeholder={this.#_componentLocale.placeholders.serverName}\n maxLength={18}\n ></ch-edit>\n </div>\n {!this.isValidUrl && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={\n this.#serverUrlEL as unknown as HTMLButtonElement\n }\n blockAlign=\"outside-end\"\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.#_componentLocale.errors.serverUrlInvalid}\n </ch-tooltip>\n )}\n </div>\n </section>\n )}\n\n {this.#renderFooter()}\n </main>\n </Host>\n );\n }\n}\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n};\n\nexport type ConnectionOption = \"select\" | \"new\";\n\nexport type ServerType = \"legacy\" | \"next\";\n\nexport type ServerAccessLevel = \"public\" | \"private\";\n\nexport type AuthenticationSessionOrigin = {\n uri: string;\n name: string;\n};\n\nexport type ConnectedGXServerData = {\n id: string;\n serverUrl: string;\n accessLevel: ServerAccessLevel;\n masterSessionUsername: string;\n serverName?: string;\n gxServerUsername: string;\n isConnected: boolean;\n};\n\nexport type NewServerConnectionData = {\n serverUrl: string;\n serverName: string;\n};\n"]}
@@ -363,6 +363,7 @@ ch-tabular-grid-cell.tabular-grid-cell::part(actions-icon) {
363
363
 
364
364
  .tabular-grid-cell.no-checkbox-custom-selector::part(selector-label) {
365
365
  visibility: hidden;
366
+ pointer-events: none;
366
367
  }
367
368
 
368
369
  .tabular-grid-row-actions::part(window) {
@@ -14,14 +14,18 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
14
14
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
15
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
16
  };
17
- var _GxIdeTeamDevUpdate_componentLocale, _GxIdeTeamDevUpdate_actionsComboBoxModel, _GxIdeTeamDevUpdate_rowCheckedChangedByTheUser, _GxIdeTeamDevUpdate_chGridPendingForUpdateEl, _GxIdeTeamDevUpdate_updateCheckedClickedHandler, _GxIdeTeamDevUpdate_reloadClickedHandler, _GxIdeTeamDevUpdate_updateObjectsHandler, _GxIdeTeamDevUpdate_renderActionCellContent, _GxIdeTeamDevUpdate_updateSingleObject, _GxIdeTeamDevUpdate_renderObjectStatus, _GxIdeTeamDevUpdate_renderRows, _GxIdeTeamDevUpdate_rowMarkingChangedHandler, _GxIdeTeamDevUpdate_updatePendingCheckedItems, _GxIdeTeamDevUpdate_searchInputHandler, _GxIdeTeamDevUpdate_actionChangedHandler, _GxIdeTeamDevUpdate_typeChangedHandler, _GxIdeTeamDevUpdate_setInitialObjectsStatus, _GxIdeTeamDevUpdate_loadData, _GxIdeTeamDevUpdate_markPendingObjects, _GxIdeTeamDevUpdate_applyClientFilter, _GxIdeTeamDevUpdate_onRowContextMenuHandler, _GxIdeTeamDevUpdate_revertPendingCommitsCheckboxes, _GxIdeTeamDevUpdate_togglePendingCommitsCheckboxes, _GxIdeTeamDevUpdate_kbPropertiesChangedHandler;
17
+ var _GxIdeTeamDevUpdate_componentLocale, _GxIdeTeamDevUpdate_actionsComboBoxModel, _GxIdeTeamDevUpdate_rowCheckedChangedByTheUser, _GxIdeTeamDevUpdate_chGridPendingForUpdateEl, _GxIdeTeamDevUpdate_updateCheckedClickedHandler, _GxIdeTeamDevUpdate_reloadClickedHandler, _GxIdeTeamDevUpdate_updateObjectsHandler, _GxIdeTeamDevUpdate_renderActionCellContent, _GxIdeTeamDevUpdate_updateSingleObject, _GxIdeTeamDevUpdate_renderObjectStatus, _GxIdeTeamDevUpdate_renderRows, _GxIdeTeamDevUpdate_rowMarkingChangedHandler, _GxIdeTeamDevUpdate_updatePendingCheckedItems, _GxIdeTeamDevUpdate_searchInputHandler, _GxIdeTeamDevUpdate_actionChangedHandler, _GxIdeTeamDevUpdate_typeChangedHandler, _GxIdeTeamDevUpdate_setInitialObjectsStatus, _GxIdeTeamDevUpdate_loadData, _GxIdeTeamDevUpdate_markPendingObjects, _GxIdeTeamDevUpdate_applyClientFilter, _GxIdeTeamDevUpdate_onRowContextMenuHandler, _GxIdeTeamDevUpdate_revertPendingCommitsCheckboxes, _GxIdeTeamDevUpdate_togglePendingCommitsCheckboxes, _GxIdeTeamDevUpdate_kbPropertiesChangedHandler, _GxIdeTeamDevUpdate_sortTabularGridColumnCallback, _GxIdeTeamDevUpdate_columnSelectorClickedCallback;
18
18
  import { Host, h } from "@stencil/core";
19
19
  import { getIconPath } from "@genexus/mercury";
20
20
  import { Locale } from "../../../common/locale";
21
+ import uncheckIgnoredObjects from "../version-control/common/uncheck-ignored";
21
22
  import { renderObjectTypeWithIcon } from "../common/utilities";
22
23
  import { formatDate } from "../../../common/helpers";
23
24
  import { config } from "../../../common/config";
24
25
  import { mapObjectTypeToComboBoxItemModel } from "../version-control/common/object-type-to-combo-box";
26
+ import { COLUMNS_IDS } from "../version-control/common/tabular-grid-render";
27
+ import sortTabularGridColumn from "../../../common/chameleon/tabular-grid-column-sort";
28
+ import areSetsEqual from "../version-control/common/are-sets-equal";
25
29
  const CSS_BUNDLES = [
26
30
  "resets/box-sizing",
27
31
  "components/tabular-grid",
@@ -123,7 +127,7 @@ export class GxIdeTeamDevUpdate {
123
127
  this.objectsMessagesDataMap.delete(objectResult.id);
124
128
  }
125
129
  if (objectResult.result === "updated") {
126
- this.alreadyUpdatedObjectsIdsSet.add(objectResult.id);
130
+ this.alreadyUpdatedObjectsIdsSet = new Set(this.alreadyUpdatedObjectsIdsSet).add(objectResult.id);
127
131
  this.objectsStatusMap.set(objectResult.id, "updated");
128
132
  await __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_chGridPendingForUpdateEl, "f").markRow(objectResult.id, false);
129
133
  }
@@ -401,6 +405,39 @@ export class GxIdeTeamDevUpdate {
401
405
  this.kbPropertiesChecked = event.detail === CHECKBOX_CHECKED_VALUE;
402
406
  __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_loadData, "f").call(this, true);
403
407
  });
408
+ _GxIdeTeamDevUpdate_sortTabularGridColumnCallback.set(this, (e) => {
409
+ const columnId = e.detail.columnId;
410
+ let objectProperty;
411
+ let dateType = "string";
412
+ if (columnId === COLUMNS_IDS.modifiedOn ||
413
+ columnId === COLUMNS_IDS.lastSynchronized) {
414
+ dateType = "dateString";
415
+ }
416
+ this.pendingObjectsAfterActionFilter = [
417
+ ...sortTabularGridColumn(e, this.pendingObjectsAfterActionFilter, dateType, objectProperty)
418
+ ];
419
+ this.ignoredObjectsAfterActionFilter = [
420
+ ...sortTabularGridColumn(e, this.ignoredObjectsAfterActionFilter, dateType, objectProperty)
421
+ ];
422
+ });
423
+ /**
424
+ * WA: Ignored objects must always remain unchecked.
425
+ * Because `tabular-grid` selects all rows when the checkbox column is toggled,
426
+ * we need to manually unselect the ignored IDs. // TODO: Move this function
427
+ * to common
428
+ */
429
+ _GxIdeTeamDevUpdate_columnSelectorClickedCallback.set(this, async (e) => {
430
+ const allRowsChecked = e.detail;
431
+ if (allRowsChecked) {
432
+ const markedRowsIds = await __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_chGridPendingForUpdateEl, "f").getMarkedRows();
433
+ const ignoredMarkedRowsIds = markedRowsIds.filter(rowId => {
434
+ return this.ignoredIdsSet.has(rowId);
435
+ });
436
+ if (ignoredMarkedRowsIds.length) {
437
+ uncheckIgnoredObjects(ignoredMarkedRowsIds, __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_chGridPendingForUpdateEl, "f"));
438
+ }
439
+ }
440
+ });
404
441
  this.atLeastOneObjectIsChecked = false;
405
442
  this.loading = true;
406
443
  this.menuContextAction = undefined;
@@ -412,6 +449,7 @@ export class GxIdeTeamDevUpdate {
412
449
  this.ignoredIdsSet = new Set([]);
413
450
  this.objectsMessagesDataMap = new Map();
414
451
  this.updating = false;
452
+ this.allPendingAreUpdated = false;
415
453
  this.kbPropertiesChecked = false;
416
454
  this.typesComboBoxModel = undefined;
417
455
  this.selectedType = undefined;
@@ -434,6 +472,11 @@ export class GxIdeTeamDevUpdate {
434
472
  markedObjectsSetChanged(newMarkedObjectsSet) {
435
473
  this.atLeastOneObjectIsChecked = newMarkedObjectsSet.size > 0;
436
474
  }
475
+ alreadyUpdatedObjectsIdsSetChanged(newUpdatedObjectsIdsSet) {
476
+ const pendingIdsSetAndUpdatedIdsSetAreEqual = areSetsEqual(newUpdatedObjectsIdsSet, this.pendingIdsSet);
477
+ this.allPendingAreUpdated =
478
+ pendingIdsSetAndUpdatedIdsSetAreEqual && this.pendingIdsSet.size > 0;
479
+ }
437
480
  objectsStatusMapChanged(newObjectsStatusMap) {
438
481
  const someObjectIsUpdating = [...newObjectsStatusMap.entries()].find(([, state]) => state === "updating");
439
482
  if (!someObjectIsUpdating) {
@@ -441,15 +484,20 @@ export class GxIdeTeamDevUpdate {
441
484
  }
442
485
  }
443
486
  pendingAndIgnoredChanged() {
444
- __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_applyClientFilter, "f").call(this);
445
- this.pendingIdsSet.clear();
487
+ this.pendingIdsSet.clear(); // before pendingIdsSet.add
488
+ this.ignoredIdsSet.clear(); // before pendingIdsSet.add
489
+ this.objectsMessagesDataMap = new Map();
490
+ this.alreadyUpdatedObjectsIdsSet = new Set();
491
+ this.markedObjectsSet = new Set(); // before #markPendingObjects
446
492
  this.pendingAndIgnored.pendingForUpdate.forEach(pending => {
447
493
  this.pendingIdsSet.add(pending.id);
448
494
  });
449
- this.ignoredIdsSet.clear();
450
495
  this.pendingAndIgnored.ignoredObjects.forEach(ignored => {
451
496
  this.ignoredIdsSet.add(ignored.id);
452
497
  });
498
+ __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_markPendingObjects, "f").call(this); // after pendingIdsSet.add and ignoredIdsSet.add
499
+ __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_setInitialObjectsStatus, "f").call(this); // after pendingIdsSet.add and ignoredIdsSet.add
500
+ __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_applyClientFilter, "f").call(this);
453
501
  }
454
502
  async componentWillLoad() {
455
503
  var _a;
@@ -483,6 +531,8 @@ export class GxIdeTeamDevUpdate {
483
531
  }
484
532
  async componentDidLoad() {
485
533
  await __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_loadData, "f").call(this, true);
534
+ // initialize "allPendingAreUpdated"
535
+ this.alreadyUpdatedObjectsIdsSetChanged(this.alreadyUpdatedObjectsIdsSet);
486
536
  }
487
537
  /**
488
538
  * Used by the host to instruct the component to force a data reload in the grids.
@@ -491,7 +541,6 @@ export class GxIdeTeamDevUpdate {
491
541
  __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_loadData, "f").call(this, true);
492
542
  }
493
543
  render() {
494
- const enableRichRowSelector = true;
495
544
  const disableControls = this.updating || this.loading;
496
545
  const gridIsEmpty = this.pendingObjectsAfterActionFilter.length === 0 &&
497
546
  this.ignoredObjectsAfterActionFilter.length === 0;
@@ -533,10 +582,10 @@ export class GxIdeTeamDevUpdate {
533
582
  "objects-tabular-grid": true,
534
583
  "disabled-custom-selector": this.updating,
535
584
  "empty-result": gridIsEmpty
536
- }, keyboardNavigationMode: "focus", rowSelectionMode: "multiple", onRowMarkingChanged: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_rowMarkingChangedHandler, "f"), onRowContextMenu: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_onRowContextMenuHandler, "f").call(this), ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevUpdate_chGridPendingForUpdateEl, el, "f")) }, h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "name", columnName: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_componentLocale, "f").objects.name, columnType: "rich", richRowSelector: enableRichRowSelector, richRowSelectorMode: "mark", settingable: false, size: "max-content" }), h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "type", columnName: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_componentLocale, "f").objects.type, settingable: false, size: "max-content" }), h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "description", columnName: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_componentLocale, "f").objects.description, settingable: false, size: config.tabularGrid.colSize.description }), h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "modified-on", columnName: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_componentLocale, "f").objects.modifiedOn, settingable: false, size: "max-content" }), h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: "action", columnName: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_componentLocale, "f").objects.action, settingable: false, size: "max-content" }), h("ch-tabular-grid-column", {
585
+ }, keyboardNavigationMode: "focus", rowSelectionMode: "multiple", onRowMarkingChanged: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_rowMarkingChangedHandler, "f"), onRowContextMenu: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_onRowContextMenuHandler, "f").call(this), ref: (el) => (__classPrivateFieldSet(this, _GxIdeTeamDevUpdate_chGridPendingForUpdateEl, el, "f")) }, h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: COLUMNS_IDS.name, columnName: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_componentLocale, "f").objects.name, columnType: "rich", richRowSelector: !this.allPendingAreUpdated, richRowSelectorMode: "mark", settingable: false, sortable: true, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_sortTabularGridColumnCallback, "f"), onColumnSelectorClicked: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_columnSelectorClickedCallback, "f"), size: "max-content" }), h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: COLUMNS_IDS.type, columnName: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_componentLocale, "f").objects.type, settingable: false, sortable: true, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_sortTabularGridColumnCallback, "f"), size: "max-content" }), h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: COLUMNS_IDS.description, columnName: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_componentLocale, "f").objects.description, settingable: false, sortable: true, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_sortTabularGridColumnCallback, "f"), size: config.tabularGrid.colSize.description }), h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: COLUMNS_IDS.modifiedOn, columnName: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_componentLocale, "f").objects.modifiedOn, settingable: false, sortable: true, onColumnSortChanged: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_sortTabularGridColumnCallback, "f"), size: "max-content" }), h("ch-tabular-grid-column", { class: "tabular-grid-column", columnId: COLUMNS_IDS.action, columnName: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_componentLocale, "f").objects.action, settingable: false, sortable: false, size: "max-content" }), h("ch-tabular-grid-column", {
537
586
  // size of this column should the enough for the largest pill, and no more.
538
587
  // this prevents layout shifts when pills state changes.
539
- class: "tabular-grid-column", columnId: "status", columnName: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_componentLocale, "f").objects.status, settingable: false, size: "100px"
588
+ class: "tabular-grid-column", columnId: COLUMNS_IDS.status, columnName: __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_componentLocale, "f").objects.status, settingable: false, sortable: false, size: "100px"
540
589
  })), !gridIsEmpty
541
590
  ? [
542
591
  h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-legend", { class: "tabular-grid-rowset-legend" }, __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_componentLocale, "f").objects.pending), __classPrivateFieldGet(this, _GxIdeTeamDevUpdate_renderRows, "f").call(this, "pending")),
@@ -738,6 +787,7 @@ export class GxIdeTeamDevUpdate {
738
787
  "ignoredIdsSet": {},
739
788
  "objectsMessagesDataMap": {},
740
789
  "updating": {},
790
+ "allPendingAreUpdated": {},
741
791
  "kbPropertiesChecked": {},
742
792
  "typesComboBoxModel": {},
743
793
  "selectedType": {},
@@ -773,6 +823,9 @@ export class GxIdeTeamDevUpdate {
773
823
  return [{
774
824
  "propName": "markedObjectsSet",
775
825
  "methodName": "markedObjectsSetChanged"
826
+ }, {
827
+ "propName": "alreadyUpdatedObjectsIdsSet",
828
+ "methodName": "alreadyUpdatedObjectsIdsSetChanged"
776
829
  }, {
777
830
  "propName": "objectsStatusMap",
778
831
  "methodName": "objectsStatusMapChanged"
@@ -782,5 +835,5 @@ export class GxIdeTeamDevUpdate {
782
835
  }];
783
836
  }
784
837
  }
785
- _GxIdeTeamDevUpdate_componentLocale = new WeakMap(), _GxIdeTeamDevUpdate_actionsComboBoxModel = new WeakMap(), _GxIdeTeamDevUpdate_rowCheckedChangedByTheUser = new WeakMap(), _GxIdeTeamDevUpdate_chGridPendingForUpdateEl = new WeakMap(), _GxIdeTeamDevUpdate_updateCheckedClickedHandler = new WeakMap(), _GxIdeTeamDevUpdate_reloadClickedHandler = new WeakMap(), _GxIdeTeamDevUpdate_updateObjectsHandler = new WeakMap(), _GxIdeTeamDevUpdate_renderActionCellContent = new WeakMap(), _GxIdeTeamDevUpdate_updateSingleObject = new WeakMap(), _GxIdeTeamDevUpdate_renderObjectStatus = new WeakMap(), _GxIdeTeamDevUpdate_renderRows = new WeakMap(), _GxIdeTeamDevUpdate_rowMarkingChangedHandler = new WeakMap(), _GxIdeTeamDevUpdate_updatePendingCheckedItems = new WeakMap(), _GxIdeTeamDevUpdate_searchInputHandler = new WeakMap(), _GxIdeTeamDevUpdate_actionChangedHandler = new WeakMap(), _GxIdeTeamDevUpdate_typeChangedHandler = new WeakMap(), _GxIdeTeamDevUpdate_setInitialObjectsStatus = new WeakMap(), _GxIdeTeamDevUpdate_loadData = new WeakMap(), _GxIdeTeamDevUpdate_markPendingObjects = new WeakMap(), _GxIdeTeamDevUpdate_applyClientFilter = new WeakMap(), _GxIdeTeamDevUpdate_onRowContextMenuHandler = new WeakMap(), _GxIdeTeamDevUpdate_revertPendingCommitsCheckboxes = new WeakMap(), _GxIdeTeamDevUpdate_togglePendingCommitsCheckboxes = new WeakMap(), _GxIdeTeamDevUpdate_kbPropertiesChangedHandler = new WeakMap();
838
+ _GxIdeTeamDevUpdate_componentLocale = new WeakMap(), _GxIdeTeamDevUpdate_actionsComboBoxModel = new WeakMap(), _GxIdeTeamDevUpdate_rowCheckedChangedByTheUser = new WeakMap(), _GxIdeTeamDevUpdate_chGridPendingForUpdateEl = new WeakMap(), _GxIdeTeamDevUpdate_updateCheckedClickedHandler = new WeakMap(), _GxIdeTeamDevUpdate_reloadClickedHandler = new WeakMap(), _GxIdeTeamDevUpdate_updateObjectsHandler = new WeakMap(), _GxIdeTeamDevUpdate_renderActionCellContent = new WeakMap(), _GxIdeTeamDevUpdate_updateSingleObject = new WeakMap(), _GxIdeTeamDevUpdate_renderObjectStatus = new WeakMap(), _GxIdeTeamDevUpdate_renderRows = new WeakMap(), _GxIdeTeamDevUpdate_rowMarkingChangedHandler = new WeakMap(), _GxIdeTeamDevUpdate_updatePendingCheckedItems = new WeakMap(), _GxIdeTeamDevUpdate_searchInputHandler = new WeakMap(), _GxIdeTeamDevUpdate_actionChangedHandler = new WeakMap(), _GxIdeTeamDevUpdate_typeChangedHandler = new WeakMap(), _GxIdeTeamDevUpdate_setInitialObjectsStatus = new WeakMap(), _GxIdeTeamDevUpdate_loadData = new WeakMap(), _GxIdeTeamDevUpdate_markPendingObjects = new WeakMap(), _GxIdeTeamDevUpdate_applyClientFilter = new WeakMap(), _GxIdeTeamDevUpdate_onRowContextMenuHandler = new WeakMap(), _GxIdeTeamDevUpdate_revertPendingCommitsCheckboxes = new WeakMap(), _GxIdeTeamDevUpdate_togglePendingCommitsCheckboxes = new WeakMap(), _GxIdeTeamDevUpdate_kbPropertiesChangedHandler = new WeakMap(), _GxIdeTeamDevUpdate_sortTabularGridColumnCallback = new WeakMap(), _GxIdeTeamDevUpdate_columnSelectorClickedCallback = new WeakMap();
786
839
  //# sourceMappingURL=update.js.map