@genexus/genexus-ide-ui 1.1.54 → 1.1.56

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 (44) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-new-version.cjs.entry.js +15 -3
  3. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +2 -4
  5. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +20 -6
  7. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/collection/components/new-version/gx-ide-assets/new-version/shortcuts.json +15 -0
  10. package/dist/collection/components/new-version/new-version.js +17 -4
  11. package/dist/collection/components/new-version/new-version.js.map +1 -1
  12. package/dist/collection/components/select-kb-items/select-kb-items.js +2 -4
  13. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  14. package/dist/collection/components/team-dev/history/history.js +21 -8
  15. package/dist/collection/components/team-dev/history/history.js.map +1 -1
  16. package/dist/components/gx-ide-new-version.js +17 -4
  17. package/dist/components/gx-ide-new-version.js.map +1 -1
  18. package/dist/components/gx-ide-team-dev-history.js +20 -6
  19. package/dist/components/gx-ide-team-dev-history.js.map +1 -1
  20. package/dist/components/select-kb-items.js +2 -4
  21. package/dist/components/select-kb-items.js.map +1 -1
  22. package/dist/esm/genexus-ide-ui.js +1 -1
  23. package/dist/esm/gx-ide-new-version.entry.js +16 -4
  24. package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
  25. package/dist/esm/gx-ide-select-kb-items.entry.js +2 -4
  26. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  27. package/dist/esm/gx-ide-team-dev-history.entry.js +20 -6
  28. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
  29. package/dist/esm/loader.js +1 -1
  30. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  31. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  32. package/dist/genexus-ide-ui/gx-ide-assets/new-version/shortcuts.json +15 -0
  33. package/dist/genexus-ide-ui/p-3c14bdfc.entry.js +234 -0
  34. package/dist/genexus-ide-ui/p-3c14bdfc.entry.js.map +1 -0
  35. package/dist/genexus-ide-ui/{p-57ed2623.entry.js → p-4f88fecd.entry.js} +21 -10
  36. package/dist/genexus-ide-ui/p-4f88fecd.entry.js.map +1 -0
  37. package/dist/genexus-ide-ui/{p-46147e3c.entry.js → p-e1d0adf6.entry.js} +3 -5
  38. package/dist/genexus-ide-ui/p-e1d0adf6.entry.js.map +1 -0
  39. package/dist/types/components/new-version/new-version.d.ts +4 -0
  40. package/package.json +1 -1
  41. package/dist/genexus-ide-ui/p-46147e3c.entry.js.map +0 -1
  42. package/dist/genexus-ide-ui/p-57ed2623.entry.js.map +0 -1
  43. package/dist/genexus-ide-ui/p-5f65a4bb.entry.js +0 -218
  44. package/dist/genexus-ide-ui/p-5f65a4bb.entry.js.map +0 -1
@@ -77,9 +77,19 @@ export class GxIdeTeamDevHistory {
77
77
  user: __classPrivateFieldGet(this, _GxIdeTeamDevHistory_userEl, "f").value ? __classPrivateFieldGet(this, _GxIdeTeamDevHistory_userEl, "f").value : "",
78
78
  type: __classPrivateFieldGet(this, _GxIdeTeamDevHistory_typesEl, "f").value === "all" ? "" : __classPrivateFieldGet(this, _GxIdeTeamDevHistory_typesEl, "f").value
79
79
  };
80
- this.objects = await this.loadCallback(filters, versionId, isRefresh);
81
- await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getSelectedRevision, "f").call(this, (_a = this.objects[0]) === null || _a === void 0 ? void 0 : _a.id);
82
- this.loading = false;
80
+ try {
81
+ this.objects = await this.loadCallback(filters, versionId, isRefresh);
82
+ await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getSelectedRevision, "f").call(this, (_a = this.objects[0]) === null || _a === void 0 ? void 0 : _a.id);
83
+ }
84
+ catch (error) {
85
+ this.versions = [];
86
+ this.objects = [];
87
+ this.historyDetail = null;
88
+ this.selectedRevisionId = null;
89
+ }
90
+ finally {
91
+ this.loading = false;
92
+ }
83
93
  });
84
94
  _GxIdeTeamDevHistory_getSelectedRevision.set(this, async (revisionId) => {
85
95
  if (revisionId) {
@@ -132,9 +142,9 @@ export class GxIdeTeamDevHistory {
132
142
  } }, h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").mainGrid.columns.id, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "max-content" }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").mainGrid.columns.comment, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "1fr" }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").mainGrid.columns.user, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "max-content" }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").mainGrid.columns.commitDate, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "max-content" })), this.objects.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, this.objects.map((obj) => (h("ch-tabular-grid-row", { rowid: obj.id, key: obj.id, class: "tabular-grid-row" }, h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.id), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.comment), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.user), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, `${formatDate(obj.commitDate, "date-time")}`)))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", null, h("gx-ide-empty-state", { stateTitle: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").emptyRevisionsText, isAnimated: true })))), h("ch-tabular-grid-row", { class: "tabular-grid-row" })));
133
143
  });
134
144
  _GxIdeTeamDevHistory_renderAffectedObjectsGrid.set(this, () => {
135
- var _a;
145
+ var _a, _b;
136
146
  const iterable = this.historyDetail ? this.historyDetail.objects : [];
137
- const tabularGridEmpty = ((_a = this.historyDetail) === null || _a === void 0 ? void 0 : _a.objects.length) === 0 || !this.historyDetail;
147
+ const tabularGridEmpty = ((_b = (_a = this.historyDetail) === null || _a === void 0 ? void 0 : _a.objects) === null || _b === void 0 ? void 0 : _b.length) === 0 || !this.historyDetail;
138
148
  return (h("ch-tabular-grid", { class: {
139
149
  "affected-objects-grid": true,
140
150
  "tabular-grid": true,
@@ -162,7 +172,7 @@ export class GxIdeTeamDevHistory {
162
172
  this.itemContextMenuCallback = undefined;
163
173
  this.gridContextMenuCallback = undefined;
164
174
  this.selectedVersionId = undefined;
165
- this.versions = [];
175
+ this.versions = undefined;
166
176
  this.loadCallback = undefined;
167
177
  this.loadDetailCallback = undefined;
168
178
  this.selectedVersionChangeCallback = undefined;
@@ -190,6 +200,10 @@ export class GxIdeTeamDevHistory {
190
200
  await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getObjectsFromVersion, "f").call(this, this.selectedVersionId, false);
191
201
  this.isFirstLoad = false;
192
202
  }
203
+ else if (newVersionsList.length === 0 && this.isFirstLoad) {
204
+ this.loading = false;
205
+ this.isFirstLoad = false;
206
+ }
193
207
  }
194
208
  async componentWillLoad() {
195
209
  __classPrivateFieldSet(this, _GxIdeTeamDevHistory__componentLocale, await Locale.getComponentStrings(this.el), "f");
@@ -332,8 +346,7 @@ export class GxIdeTeamDevHistory {
332
346
  "docs": {
333
347
  "tags": [],
334
348
  "text": "List of versions to show in the versions tree"
335
- },
336
- "defaultValue": "[]"
349
+ }
337
350
  },
338
351
  "loadCallback": {
339
352
  "type": "unknown",
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/components/team-dev/history/history.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { config } from \"../../../common/config\";\nimport { formatDate } from \"../../../common/helpers\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../components\";\nimport { ItemNode } from \"../../select-kb-items/select-kb-items\";\nimport {\n hasActiveVersionInList,\n mapObjectTypeToComboBoxItemModel\n} from \"./helpers\";\nimport {\n renderObjectStateWithIcon,\n renderObjectTypeWithIcon\n} from \"../common/utilities\";\nimport { ObjectState } from \"../version-control/common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\",\n \"chameleon/scrollbar\",\n \"components/tabular-grid\",\n \"components/accordion\",\n \"components/sidebar\"\n];\n\nconst FILTER_ICON_PRIMARY = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"primary\"\n});\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-surface\"\n});\n\nconst RESET_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\n\nconst SEARCH_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-team-dev-history\",\n styleUrl: \"history.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-history\"]\n})\nexport class GxIdeTeamDevHistory {\n #_componentLocale: any;\n\n #types: ComboBoxItemModel[] = [];\n\n @Element() el: HTMLGxIdeTeamDevHistoryElement;\n\n #fromEl?: HTMLChEditElement;\n #revisionEl?: HTMLChEditElement;\n #searchEl: HTMLChEditElement;\n #toEl?: HTMLChEditElement;\n #typesEl?: HTMLChComboBoxRenderElement;\n #userEl?: HTMLChEditElement;\n #sidebarEl: HTMLChSidebarElement;\n #revisionsGridEl: HTMLChTabularGridElement;\n\n @State() historyDetail: RevisionDetailData;\n\n /**\n * The files rendered in the table\n */\n @State() objects: RevisionData[] = [];\n\n /**\n * Used to call getObjectsFromVersion from the versionsChanged method only once after receiving the versions for the first time.\n */\n @State() isFirstLoad: boolean = true;\n\n /**\n * Used to hide the select-kb-items when collapsed\n */\n @State() sidebarExpanded: boolean = true;\n\n /**\n * Used to show or hide the filters section\n */\n @State() filtersHidden = true;\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * The Id of the selected revision in the revisions grid\n */\n @State() selectedRevisionId: string;\n\n /**\n * Used to customize the select-kb-items \"header\" part grid layout\n */\n @State() hasActiveVersion: boolean = false; // TODO:\n\n /**\n * Possible values of type filter\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Callback invoked when user right-clicks on the grid\n */\n @Prop() readonly gridContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * The Id of the selected version in the select-kb-items component\n */\n @Prop({ mutable: true }) selectedVersionId: string;\n @Watch(\"selectedVersionId\")\n async selectedVersionIdChanged(\n newSelectedVersionId: string,\n oldSelectedVersionId?: string\n ) {\n if (newSelectedVersionId === oldSelectedVersionId) {\n return;\n }\n\n // Reset filters\n this.#searchEl.value = null;\n this.#fromEl.value = null;\n this.#toEl.value = null;\n this.#revisionEl.value = null;\n this.#userEl.value = null;\n this.#typesEl.value = this.#types[0]?.value;\n\n await this.#getObjectsFromVersion(newSelectedVersionId, false);\n }\n\n /**\n * List of versions to show in the versions tree\n */\n @Prop({ mutable: true }) versions: ItemNode[] = [];\n @Watch(\"versions\")\n async versionsListChanged(newVersionsList: ItemNode[]) {\n this.versions = newVersionsList;\n this.hasActiveVersion = hasActiveVersionInList(newVersionsList);\n\n if (\n newVersionsList.length > 0 &&\n this.selectedVersionId &&\n this.isFirstLoad\n ) {\n await this.#getObjectsFromVersion(this.selectedVersionId, false);\n this.isFirstLoad = false;\n }\n }\n\n /**\n * Callback invoked when is necessary to reload the history info. Receive the filters as parameters and only returns the info corresponding to the master grid.\n\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked to obtain detailed info from a revision. As parameter receive internal revision id\n */\n @Prop() readonly loadDetailCallback: LoadDetailCallback;\n\n /**\n * Callback invoked when the selected version changes. As parameter receive the selected version id\n */\n @Prop() readonly selectedVersionChangeCallback: SelectedVersionChangeCallback;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#types = mapObjectTypeToComboBoxItemModel(this.types);\n }\n\n async componentDidLoad() {\n this.#sidebarEl.addEventListener(\n \"expandedChange\",\n (e: CustomEvent<boolean>) => {\n this.sidebarExpanded = e.detail;\n }\n );\n }\n\n #getObjectsFromVersion = async (\n versionId: string,\n isRefresh: boolean\n ): Promise<void> => {\n this.loading = true;\n\n const filters: FiltersData = {\n search: this.#searchEl.value ? this.#searchEl.value : \"\",\n from: this.#fromEl.value ? new Date(this.#fromEl.value) : null,\n to: this.#toEl.value ? new Date(this.#toEl.value) : null,\n revision: this.#revisionEl.value ? this.#revisionEl.value : \"\",\n user: this.#userEl.value ? this.#userEl.value : \"\",\n type: this.#typesEl.value === \"all\" ? \"\" : this.#typesEl.value\n };\n\n this.objects = await this.loadCallback(filters, versionId, isRefresh);\n await this.#getSelectedRevision(this.objects[0]?.id);\n this.loading = false;\n };\n\n #getSelectedRevision = async (revisionId: string) => {\n if (revisionId) {\n this.historyDetail = await this.loadDetailCallback(revisionId);\n this.historyDetail.title = this.#formatHistoryDetailDate(\n this.historyDetail.title\n );\n this.selectedRevisionId = revisionId;\n } else {\n this.historyDetail = null;\n }\n };\n\n #registerGridContextMenuListener = (): void => {\n if (this.#revisionsGridEl) {\n this.#revisionsGridEl.addEventListener(\n \"contextmenu\",\n (ev: MouseEvent): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.#gridContextMenuCallbackHandler(ev);\n }\n );\n }\n };\n\n #gridContextMenuCallbackHandler = async (ev: MouseEvent): Promise<void> => {\n this.gridContextMenuCallback({\n selection: [this.selectedRevisionId],\n clientX: ev.clientX,\n clientY: ev.clientY\n });\n };\n\n #toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n #renderCommitsGrid = (): Element => {\n const tabularGridEmpty = this.objects?.length === 0 || !this.objects;\n return (\n <ch-tabular-grid\n class={{\n \"commits-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n onSelectionChanged={(ev: any) => {\n this.objects.length > 0 &&\n this.#getSelectedRevision(ev.detail.rowsId[0]);\n }}\n ref={(el: HTMLChTabularGridElement) => {\n if (el && this.#revisionsGridEl !== el) {\n this.#revisionsGridEl = el as HTMLChTabularGridElement;\n\n this.#registerGridContextMenuListener();\n\n if (this.objects.length > 0) {\n this.#revisionsGridEl.selectRow(this.objects[0]?.id, true);\n }\n }\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.id}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.comment}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"1fr\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.user}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.commitDate}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: RevisionData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n key={obj.id}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.id}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.comment}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.user}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.commitDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\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 stateTitle={this.#_componentLocale.emptyRevisionsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderAffectedObjectsGrid = (): Element => {\n const iterable = this.historyDetail ? this.historyDetail.objects : [];\n const tabularGridEmpty =\n this.historyDetail?.objects.length === 0 || !this.historyDetail;\n return (\n <ch-tabular-grid\n class={{\n \"affected-objects-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.name\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.types\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.description\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.action\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.historyDetail && this.historyDetail.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {iterable.map((obj: ObjectData) => (\n <ch-tabular-grid-row class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectTypeWithIcon(obj.type)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectStateWithIcon(obj.state)}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\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={FILTER_ICON}\n stateTitle={this.#_componentLocale.emptyHistoryDetailText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderLoader = (): Element => {\n return (\n this.loading && (\n <div class=\"main__content scrollable\">\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n show\n description={this.#_componentLocale.loader.description}\n ></gx-ide-loader>\n </div>\n )\n );\n };\n\n #formatHistoryDetailDate = (title: string): string => {\n const parts = title.split(\" - \");\n const datePart = new Date(parts[1]);\n const formattedDate = formatDate(datePart, \"date-time\");\n return `${parts[0]} - ${formattedDate} - ${parts[2]}`;\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <ch-sidebar\n ref={(el: HTMLChSidebarElement) =>\n (this.#sidebarEl = el as HTMLChSidebarElement)\n }\n class=\"sidebar\"\n expanded={this.sidebarExpanded}\n expandButtonCollapseAccessibleName={\n this.#_componentLocale.sidebar.collapseAriaLabel\n }\n expandButtonExpandAccessibleName={\n this.#_componentLocale.sidebar.expandAriaLabel\n }\n showExpandButton\n >\n <gx-ide-select-kb-items\n class={{\n \"sidebar-expanded\": this.sidebarExpanded,\n \"has-active-version\": this.hasActiveVersion\n }}\n checkboxType=\"none\"\n itemsList={this.versions}\n expandOnClick={false}\n selectionChanged={this.selectedVersionChangeCallback}\n itemContextMenuCallback={this.itemContextMenuCallback}\n ></gx-ide-select-kb-items>\n </ch-sidebar>\n\n <main class=\"main spacing-body-block-start spacing-body-inline\">\n <div class=\"main__header\">\n <div class=\"search-filter\">\n <div class=\"field field-inline\">\n <label class=\"label\" htmlFor=\"search\">\n {this.#_componentLocale.filters.search}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n startImgSrc={SEARCH_ICON}\n part=\"search\"\n id=\"search\"\n ref={(el: HTMLChEditElement) =>\n (this.#searchEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <button\n id=\"filter-toggle-button\"\n class=\"button-teritary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.filterAriaLabel}\n aria-expanded={this.filtersHidden ? \"false\" : \"true\"}\n aria-controls=\"filters-container\"\n onClick={() => this.#toggleFiltersHandler()}\n >\n <ch-image class=\"icon-md\" src={FILTER_ICON_PRIMARY}></ch-image>\n </button>\n\n <button\n class=\"button-teritary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.reloadAriaLabel}\n onClick={() =>\n this.#getObjectsFromVersion(this.selectedVersionId, true)\n }\n part={this.#_componentLocale.searchFilter.reloadAriaLabel}\n >\n <ch-image class=\"icon-md\" src={RESET_ICON}></ch-image>\n </button>\n </div>\n\n <div\n id=\"filters-container\"\n aria-labelledby=\"filter-toggle-button\"\n class={{\n \"filters-container-visible\": !this.filtersHidden,\n \"filters-container\": true\n }}\n inert={this.filtersHidden}\n hidden={this.filtersHidden}\n >\n <div>\n <div class=\"filters-grid\">\n <div class=\"field field-block field-from\">\n <label class=\"label\" htmlFor=\"from\">\n {this.#_componentLocale.filters.from}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n part=\"from\"\n id=\"from\"\n ref={(el: HTMLChEditElement) =>\n (this.#fromEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-to\">\n <label class=\"label\" htmlFor=\"to\">\n {this.#_componentLocale.filters.to}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n id=\"to\"\n ref={(el: HTMLChEditElement) =>\n (this.#toEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-type\">\n <label class=\"label\" htmlFor=\"type\">\n {this.#_componentLocale.filters.type}\n </label>\n\n <ch-combo-box-render\n accessibleName=\"types\"\n class=\"combo-box\"\n part=\"type\"\n model={this.#types}\n value={this.#types[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#typesEl = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <div class=\"field field-block field-user\">\n <label class=\"label\" htmlFor=\"user\">\n {this.#_componentLocale.filters.user}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"user\"\n class=\"input\"\n id=\"user\"\n ref={(el: HTMLChEditElement) =>\n (this.#userEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-revision\">\n <label class=\"label\" htmlFor=\"revision\">\n {this.#_componentLocale.filters.revision}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"revision\"\n class=\"input\"\n id=\"revision\"\n ref={(el: HTMLChEditElement) =>\n (this.#revisionEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {this.#renderLoader()}\n\n {!this.loading && (\n <div class=\"main__content scrollable\">\n {this.#renderCommitsGrid()}\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"comment-area\">\n {this.historyDetail ? this.historyDetail.title : null}\n </label>\n <ch-edit\n class=\"input comment-text-area\"\n value={this.historyDetail ? this.historyDetail.comment : null}\n multiline\n autoGrow\n readonly={true}\n part=\"comment-area\"\n id=\"comment-area\"\n ></ch-edit>\n </div>\n\n {this.#renderAffectedObjectsGrid()}\n </div>\n )}\n </main>\n </Host>\n );\n }\n}\n\n// Types\nexport type ObjectType = {\n id: string;\n name: string;\n icon?: string;\n};\n\nexport type FiltersData = {\n search: string;\n from?: Date;\n to?: Date;\n user?: string;\n revision?: string;\n type?: string;\n};\nexport type RevisionData = {\n id: string;\n comment: string;\n user: string;\n commitDate: Date;\n};\n\nexport type RevisionDetailData = {\n title: string;\n comment: string;\n objects: ObjectData[];\n};\nexport type ObjectData = {\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: ObjectType;\n description: string;\n action: string;\n};\n\nexport type LoadCallback = (\n filters: FiltersData,\n versionId: string,\n isRefresh: boolean\n) => Promise<RevisionData[]>;\n\nexport type LoadDetailCallback = (\n revision: string\n) => Promise<RevisionDetailData>;\n\nexport type SelectedVersionChangeCallback = (\n selectedVersion: string[]\n) => Promise<void>;\n"]}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/components/team-dev/history/history.tsx"],"names":[],"mappings":"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","sourcesContent":["/* STENCIL IMPORTS */\nimport { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { config } from \"../../../common/config\";\nimport { formatDate } from \"../../../common/helpers\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../components\";\nimport { ItemNode } from \"../../select-kb-items/select-kb-items\";\nimport {\n hasActiveVersionInList,\n mapObjectTypeToComboBoxItemModel\n} from \"./helpers\";\nimport {\n renderObjectStateWithIcon,\n renderObjectTypeWithIcon\n} from \"../common/utilities\";\nimport { ObjectState } from \"../version-control/common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\",\n \"chameleon/scrollbar\",\n \"components/tabular-grid\",\n \"components/accordion\",\n \"components/sidebar\"\n];\n\nconst FILTER_ICON_PRIMARY = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"primary\"\n});\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-surface\"\n});\n\nconst RESET_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\n\nconst SEARCH_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-team-dev-history\",\n styleUrl: \"history.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-history\"]\n})\nexport class GxIdeTeamDevHistory {\n #_componentLocale: any;\n\n #types: ComboBoxItemModel[] = [];\n\n @Element() el: HTMLGxIdeTeamDevHistoryElement;\n\n #fromEl?: HTMLChEditElement;\n #revisionEl?: HTMLChEditElement;\n #searchEl: HTMLChEditElement;\n #toEl?: HTMLChEditElement;\n #typesEl?: HTMLChComboBoxRenderElement;\n #userEl?: HTMLChEditElement;\n #sidebarEl: HTMLChSidebarElement;\n #revisionsGridEl: HTMLChTabularGridElement;\n\n @State() historyDetail: RevisionDetailData;\n\n /**\n * The files rendered in the table\n */\n @State() objects: RevisionData[] = [];\n\n /**\n * Used to call getObjectsFromVersion from the versionsChanged method only once after receiving the versions for the first time.\n */\n @State() isFirstLoad: boolean = true;\n\n /**\n * Used to hide the select-kb-items when collapsed\n */\n @State() sidebarExpanded: boolean = true;\n\n /**\n * Used to show or hide the filters section\n */\n @State() filtersHidden = true;\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * The Id of the selected revision in the revisions grid\n */\n @State() selectedRevisionId: string;\n\n /**\n * Used to customize the select-kb-items \"header\" part grid layout\n */\n @State() hasActiveVersion: boolean = false; // TODO:\n\n /**\n * Possible values of type filter\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Callback invoked when user right-clicks on the grid\n */\n @Prop() readonly gridContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * The Id of the selected version in the select-kb-items component\n */\n @Prop({ mutable: true }) selectedVersionId: string;\n @Watch(\"selectedVersionId\")\n async selectedVersionIdChanged(\n newSelectedVersionId: string,\n oldSelectedVersionId?: string\n ) {\n if (newSelectedVersionId === oldSelectedVersionId) {\n return;\n }\n\n // Reset filters\n this.#searchEl.value = null;\n this.#fromEl.value = null;\n this.#toEl.value = null;\n this.#revisionEl.value = null;\n this.#userEl.value = null;\n this.#typesEl.value = this.#types[0]?.value;\n\n await this.#getObjectsFromVersion(newSelectedVersionId, false);\n }\n\n /**\n * List of versions to show in the versions tree\n */\n @Prop({ mutable: true }) versions: ItemNode[];\n @Watch(\"versions\")\n async versionsListChanged(newVersionsList: ItemNode[]) {\n this.versions = newVersionsList;\n this.hasActiveVersion = hasActiveVersionInList(newVersionsList);\n\n if (\n newVersionsList.length > 0 &&\n this.selectedVersionId &&\n this.isFirstLoad\n ) {\n await this.#getObjectsFromVersion(this.selectedVersionId, false);\n this.isFirstLoad = false;\n } else if (newVersionsList.length === 0 && this.isFirstLoad) {\n this.loading = false;\n this.isFirstLoad = false;\n }\n }\n\n /**\n * Callback invoked when is necessary to reload the history info. Receive the filters as parameters and only returns the info corresponding to the master grid.\n\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked to obtain detailed info from a revision. As parameter receive internal revision id\n */\n @Prop() readonly loadDetailCallback: LoadDetailCallback;\n\n /**\n * Callback invoked when the selected version changes. As parameter receive the selected version id\n */\n @Prop() readonly selectedVersionChangeCallback: SelectedVersionChangeCallback;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#types = mapObjectTypeToComboBoxItemModel(this.types);\n }\n\n async componentDidLoad() {\n this.#sidebarEl.addEventListener(\n \"expandedChange\",\n (e: CustomEvent<boolean>) => {\n this.sidebarExpanded = e.detail;\n }\n );\n }\n\n #getObjectsFromVersion = async (\n versionId: string,\n isRefresh: boolean\n ): Promise<void> => {\n this.loading = true;\n\n const filters: FiltersData = {\n search: this.#searchEl.value ? this.#searchEl.value : \"\",\n from: this.#fromEl.value ? new Date(this.#fromEl.value) : null,\n to: this.#toEl.value ? new Date(this.#toEl.value) : null,\n revision: this.#revisionEl.value ? this.#revisionEl.value : \"\",\n user: this.#userEl.value ? this.#userEl.value : \"\",\n type: this.#typesEl.value === \"all\" ? \"\" : this.#typesEl.value\n };\n try {\n this.objects = await this.loadCallback(filters, versionId, isRefresh);\n await this.#getSelectedRevision(this.objects[0]?.id);\n } catch (error) {\n this.versions = [];\n this.objects = [];\n this.historyDetail = null;\n this.selectedRevisionId = null;\n } finally {\n this.loading = false;\n }\n };\n\n #getSelectedRevision = async (revisionId: string) => {\n if (revisionId) {\n this.historyDetail = await this.loadDetailCallback(revisionId);\n this.historyDetail.title = this.#formatHistoryDetailDate(\n this.historyDetail.title\n );\n this.selectedRevisionId = revisionId;\n } else {\n this.historyDetail = null;\n }\n };\n\n #registerGridContextMenuListener = (): void => {\n if (this.#revisionsGridEl) {\n this.#revisionsGridEl.addEventListener(\n \"contextmenu\",\n (ev: MouseEvent): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.#gridContextMenuCallbackHandler(ev);\n }\n );\n }\n };\n\n #gridContextMenuCallbackHandler = async (ev: MouseEvent): Promise<void> => {\n this.gridContextMenuCallback({\n selection: [this.selectedRevisionId],\n clientX: ev.clientX,\n clientY: ev.clientY\n });\n };\n\n #toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n #renderCommitsGrid = (): Element => {\n const tabularGridEmpty = this.objects?.length === 0 || !this.objects;\n return (\n <ch-tabular-grid\n class={{\n \"commits-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n onSelectionChanged={(ev: any) => {\n this.objects.length > 0 &&\n this.#getSelectedRevision(ev.detail.rowsId[0]);\n }}\n ref={(el: HTMLChTabularGridElement) => {\n if (el && this.#revisionsGridEl !== el) {\n this.#revisionsGridEl = el as HTMLChTabularGridElement;\n\n this.#registerGridContextMenuListener();\n\n if (this.objects.length > 0) {\n this.#revisionsGridEl.selectRow(this.objects[0]?.id, true);\n }\n }\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.id}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.comment}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"1fr\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.user}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.commitDate}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: RevisionData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n key={obj.id}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.id}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.comment}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.user}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.commitDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\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 stateTitle={this.#_componentLocale.emptyRevisionsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderAffectedObjectsGrid = (): Element => {\n const iterable = this.historyDetail ? this.historyDetail.objects : [];\n const tabularGridEmpty =\n this.historyDetail?.objects?.length === 0 || !this.historyDetail;\n return (\n <ch-tabular-grid\n class={{\n \"affected-objects-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.name\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.types\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.description\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.action\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.historyDetail && this.historyDetail.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {iterable.map((obj: ObjectData) => (\n <ch-tabular-grid-row class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectTypeWithIcon(obj.type)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectStateWithIcon(obj.state)}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\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={FILTER_ICON}\n stateTitle={this.#_componentLocale.emptyHistoryDetailText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderLoader = (): Element => {\n return (\n this.loading && (\n <div class=\"main__content scrollable\">\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n show\n description={this.#_componentLocale.loader.description}\n ></gx-ide-loader>\n </div>\n )\n );\n };\n\n #formatHistoryDetailDate = (title: string): string => {\n const parts = title.split(\" - \");\n const datePart = new Date(parts[1]);\n const formattedDate = formatDate(datePart, \"date-time\");\n return `${parts[0]} - ${formattedDate} - ${parts[2]}`;\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <ch-sidebar\n ref={(el: HTMLChSidebarElement) =>\n (this.#sidebarEl = el as HTMLChSidebarElement)\n }\n class=\"sidebar\"\n expanded={this.sidebarExpanded}\n expandButtonCollapseAccessibleName={\n this.#_componentLocale.sidebar.collapseAriaLabel\n }\n expandButtonExpandAccessibleName={\n this.#_componentLocale.sidebar.expandAriaLabel\n }\n showExpandButton\n >\n <gx-ide-select-kb-items\n class={{\n \"sidebar-expanded\": this.sidebarExpanded,\n \"has-active-version\": this.hasActiveVersion\n }}\n checkboxType=\"none\"\n itemsList={this.versions}\n expandOnClick={false}\n selectionChanged={this.selectedVersionChangeCallback}\n itemContextMenuCallback={this.itemContextMenuCallback}\n ></gx-ide-select-kb-items>\n </ch-sidebar>\n\n <main class=\"main spacing-body-block-start spacing-body-inline\">\n <div class=\"main__header\">\n <div class=\"search-filter\">\n <div class=\"field field-inline\">\n <label class=\"label\" htmlFor=\"search\">\n {this.#_componentLocale.filters.search}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n startImgSrc={SEARCH_ICON}\n part=\"search\"\n id=\"search\"\n ref={(el: HTMLChEditElement) =>\n (this.#searchEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <button\n id=\"filter-toggle-button\"\n class=\"button-teritary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.filterAriaLabel}\n aria-expanded={this.filtersHidden ? \"false\" : \"true\"}\n aria-controls=\"filters-container\"\n onClick={() => this.#toggleFiltersHandler()}\n >\n <ch-image class=\"icon-md\" src={FILTER_ICON_PRIMARY}></ch-image>\n </button>\n\n <button\n class=\"button-teritary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.reloadAriaLabel}\n onClick={() =>\n this.#getObjectsFromVersion(this.selectedVersionId, true)\n }\n part={this.#_componentLocale.searchFilter.reloadAriaLabel}\n >\n <ch-image class=\"icon-md\" src={RESET_ICON}></ch-image>\n </button>\n </div>\n\n <div\n id=\"filters-container\"\n aria-labelledby=\"filter-toggle-button\"\n class={{\n \"filters-container-visible\": !this.filtersHidden,\n \"filters-container\": true\n }}\n inert={this.filtersHidden}\n hidden={this.filtersHidden}\n >\n <div>\n <div class=\"filters-grid\">\n <div class=\"field field-block field-from\">\n <label class=\"label\" htmlFor=\"from\">\n {this.#_componentLocale.filters.from}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n part=\"from\"\n id=\"from\"\n ref={(el: HTMLChEditElement) =>\n (this.#fromEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-to\">\n <label class=\"label\" htmlFor=\"to\">\n {this.#_componentLocale.filters.to}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n id=\"to\"\n ref={(el: HTMLChEditElement) =>\n (this.#toEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-type\">\n <label class=\"label\" htmlFor=\"type\">\n {this.#_componentLocale.filters.type}\n </label>\n\n <ch-combo-box-render\n accessibleName=\"types\"\n class=\"combo-box\"\n part=\"type\"\n model={this.#types}\n value={this.#types[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#typesEl = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <div class=\"field field-block field-user\">\n <label class=\"label\" htmlFor=\"user\">\n {this.#_componentLocale.filters.user}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"user\"\n class=\"input\"\n id=\"user\"\n ref={(el: HTMLChEditElement) =>\n (this.#userEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-revision\">\n <label class=\"label\" htmlFor=\"revision\">\n {this.#_componentLocale.filters.revision}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"revision\"\n class=\"input\"\n id=\"revision\"\n ref={(el: HTMLChEditElement) =>\n (this.#revisionEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {this.#renderLoader()}\n\n {!this.loading && (\n <div class=\"main__content scrollable\">\n {this.#renderCommitsGrid()}\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"comment-area\">\n {this.historyDetail ? this.historyDetail.title : null}\n </label>\n <ch-edit\n class=\"input comment-text-area\"\n value={this.historyDetail ? this.historyDetail.comment : null}\n multiline\n autoGrow\n readonly={true}\n part=\"comment-area\"\n id=\"comment-area\"\n ></ch-edit>\n </div>\n\n {this.#renderAffectedObjectsGrid()}\n </div>\n )}\n </main>\n </Host>\n );\n }\n}\n\n// Types\nexport type ObjectType = {\n id: string;\n name: string;\n icon?: string;\n};\n\nexport type FiltersData = {\n search: string;\n from?: Date;\n to?: Date;\n user?: string;\n revision?: string;\n type?: string;\n};\nexport type RevisionData = {\n id: string;\n comment: string;\n user: string;\n commitDate: Date;\n};\n\nexport type RevisionDetailData = {\n title: string;\n comment: string;\n objects: ObjectData[];\n};\nexport type ObjectData = {\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: ObjectType;\n description: string;\n action: string;\n};\n\nexport type LoadCallback = (\n filters: FiltersData,\n versionId: string,\n isRefresh: boolean\n) => Promise<RevisionData[]>;\n\nexport type LoadDetailCallback = (\n revision: string\n) => Promise<RevisionDetailData>;\n\nexport type SelectedVersionChangeCallback = (\n selectedVersion: string[]\n) => Promise<void>;\n"]}
@@ -1,4 +1,4 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
1
+ import { proxyCustomElement, HTMLElement, getAssetPath, h, Host } from '@stencil/core/internal/client';
2
2
  import { L as Locale } from './locale.js';
3
3
  import { v as validateControls } from './form-validation.js';
4
4
  import { c as config } from './config.js';
@@ -21,7 +21,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
21
21
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
22
22
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
23
23
  };
24
- var _GxIdeNewVersion_componentLocale, _GxIdeNewVersion_versionNameEl, _GxIdeNewVersion_handleCheckBoxValueChange, _GxIdeNewVersion_handleNameValueChange, _GxIdeNewVersion_handleDescriptionValueChange, _GxIdeNewVersion_cancelClickHandler, _GxIdeNewVersion_createClickHandler, _GxIdeNewVersion_initializeValidatableControls, _GxIdeNewVersion_evaluateTooltipRender;
24
+ var _GxIdeNewVersion_componentLocale, _GxIdeNewVersion_versionNameEl, _GxIdeNewVersion_shortcutsSrc, _GxIdeNewVersion_handleCheckBoxValueChange, _GxIdeNewVersion_handleNameValueChange, _GxIdeNewVersion_handleDescriptionValueChange, _GxIdeNewVersion_cancelClickHandler, _GxIdeNewVersion_createClickHandler, _GxIdeNewVersion_initializeValidatableControls, _GxIdeNewVersion_evaluateTooltipRender;
25
25
  const CSS_BUNDLES = [
26
26
  "resets/box-sizing",
27
27
  "utils/form",
@@ -49,6 +49,7 @@ const GxIdeNewVersion$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeNewVersion
49
49
  // eslint-disable-next-line @stencil-community/own-props-must-be-private
50
50
  _GxIdeNewVersion_componentLocale.set(this, void 0);
51
51
  _GxIdeNewVersion_versionNameEl.set(this, void 0);
52
+ _GxIdeNewVersion_shortcutsSrc.set(this, getAssetPath(`./gx-ide-assets/new-version/shortcuts.json`));
52
53
  _GxIdeNewVersion_handleCheckBoxValueChange.set(this, (event) => {
53
54
  const target = event.target;
54
55
  if (target.id === SET_NEW_VERSION_AS_ACTIVE_ID) {
@@ -63,9 +64,19 @@ const GxIdeNewVersion$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeNewVersion
63
64
  });
64
65
  _GxIdeNewVersion_handleNameValueChange.set(this, (event) => {
65
66
  this.versionName = event.detail;
67
+ if (!this.versionDescriptionEdited) {
68
+ this.versionDescription = event.detail;
69
+ }
66
70
  });
67
71
  _GxIdeNewVersion_handleDescriptionValueChange.set(this, (event) => {
68
72
  this.versionDescription = event.detail;
73
+ if (this.versionDescription === "") {
74
+ this.versionDescriptionEdited = false;
75
+ this.versionDescription = this.versionName;
76
+ }
77
+ else {
78
+ this.versionDescriptionEdited = true;
79
+ }
69
80
  });
70
81
  _GxIdeNewVersion_cancelClickHandler.set(this, async () => {
71
82
  this.cancelCallback();
@@ -103,6 +114,7 @@ const GxIdeNewVersion$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeNewVersion
103
114
  });
104
115
  this.versionName = undefined;
105
116
  this.versionDescription = undefined;
117
+ this.versionDescriptionEdited = false;
106
118
  this.setNewVersionAsActive = false;
107
119
  this.createLinkedLocalVersion = false;
108
120
  this.createAsProtectedVersion = false;
@@ -127,7 +139,7 @@ const GxIdeNewVersion$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeNewVersion
127
139
  }
128
140
  render() {
129
141
  const createButtonDisabled = !this.versionName || this.versionName.length === 0;
130
- return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "section" }, h("div", { class: "main scrollable field-group spacing-body" }, h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "version-name" }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.name), h("ch-edit", { type: "text", id: "version-name", class: "input", placeholder: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").placeHolders.name, value: this.versionName, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleNameValueChange, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeNewVersion_versionNameEl, el, "f")) }), __classPrivateFieldGet(this, _GxIdeNewVersion_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeNewVersion_versionNameEl, "f"))), h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "version-description" }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.description), h("ch-edit", { type: "text", id: "version-description", class: "input", placeholder: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").placeHolders.description, value: this.versionDescription, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleDescriptionValueChange, "f") })), !this.isRemoteOperation ? (h("div", { class: "field field-inline" }, h("ch-checkbox", { class: "checkbox", id: "set-new-version-as-active", checkedValue: CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleCheckBoxValueChange, "f"), caption: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.setActive }))) : (h("div", { class: "layout layout--cols-2" }, this.showLinkedLocalVersionCheckbox && (h("div", { class: "layout__panel" }, h("ch-checkbox", { class: "checkbox", id: "create-linked-local-version", checkedValue: CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleCheckBoxValueChange, "f"), caption: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.createLinkedLocalVersion }))), !this.isFreezeOperation && (h("div", { class: "layout__panel" }, h("ch-checkbox", { class: "checkbox", id: "create-as-protected-version", checkedValue: CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleCheckBoxValueChange, "f"), caption: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.createAsProtectedVersion })))))), h("footer", { class: "control-footer-with-border spacing-body" }, h("div", { class: "buttons-spacer" }, h("button", { class: "button-secondary", onClick: __classPrivateFieldGet(this, _GxIdeNewVersion_cancelClickHandler, "f") }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").buttons.cancel), h("button", { class: "button-primary", onClick: __classPrivateFieldGet(this, _GxIdeNewVersion_createClickHandler, "f"), disabled: createButtonDisabled }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").buttons.create))))));
142
+ return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-shortcuts", { src: __classPrivateFieldGet(this, _GxIdeNewVersion_shortcutsSrc, "f") }), h("section", { class: "section" }, h("div", { class: "main scrollable field-group spacing-body" }, h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "version-name" }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.name), h("ch-edit", { type: "text", id: "version-name", class: "input", placeholder: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").placeHolders.name, value: this.versionName, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleNameValueChange, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeNewVersion_versionNameEl, el, "f")), autoFocus: true }), __classPrivateFieldGet(this, _GxIdeNewVersion_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeNewVersion_versionNameEl, "f"))), h("div", { class: "field field-block" }, h("label", { class: "label", htmlFor: "version-description" }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.description), h("ch-edit", { type: "text", id: "version-description", class: "input", placeholder: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").placeHolders.description, value: this.versionDescription, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleDescriptionValueChange, "f") })), !this.isRemoteOperation ? (h("div", { class: "field field-inline" }, h("ch-checkbox", { class: "checkbox", id: "set-new-version-as-active", checkedValue: CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleCheckBoxValueChange, "f"), caption: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.setActive }))) : (h("div", { class: "layout layout--cols-2" }, this.showLinkedLocalVersionCheckbox && (h("div", { class: "layout__panel" }, h("ch-checkbox", { class: "checkbox", id: "create-linked-local-version", checkedValue: CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleCheckBoxValueChange, "f"), caption: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.createLinkedLocalVersion }))), !this.isFreezeOperation && (h("div", { class: "layout__panel" }, h("ch-checkbox", { class: "checkbox", id: "create-as-protected-version", checkedValue: CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeNewVersion_handleCheckBoxValueChange, "f"), caption: __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").labels.createAsProtectedVersion })))))), h("footer", { class: "control-footer-with-border spacing-body" }, h("div", { class: "buttons-spacer" }, h("button", { id: "cancel-button", class: "button-secondary", onClick: __classPrivateFieldGet(this, _GxIdeNewVersion_cancelClickHandler, "f") }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").buttons.cancel), h("button", { id: "create-button", class: "button-primary", onClick: __classPrivateFieldGet(this, _GxIdeNewVersion_createClickHandler, "f"), disabled: createButtonDisabled }, __classPrivateFieldGet(this, _GxIdeNewVersion_componentLocale, "f").buttons.create))))));
131
143
  }
132
144
  static get assetsDirs() { return ["gx-ide-assets/new-version"]; }
133
145
  get el() { return this; }
@@ -144,6 +156,7 @@ const GxIdeNewVersion$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeNewVersion
144
156
  "defaultInputValues": [16],
145
157
  "versionName": [32],
146
158
  "versionDescription": [32],
159
+ "versionDescriptionEdited": [32],
147
160
  "setNewVersionAsActive": [32],
148
161
  "createLinkedLocalVersion": [32],
149
162
  "createAsProtectedVersion": [32],
@@ -151,7 +164,7 @@ const GxIdeNewVersion$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeNewVersion
151
164
  }, undefined, {
152
165
  "defaultInputValues": ["defaultInputValuesChanged"]
153
166
  }]);
154
- _GxIdeNewVersion_componentLocale = new WeakMap(), _GxIdeNewVersion_versionNameEl = new WeakMap(), _GxIdeNewVersion_handleCheckBoxValueChange = new WeakMap(), _GxIdeNewVersion_handleNameValueChange = new WeakMap(), _GxIdeNewVersion_handleDescriptionValueChange = new WeakMap(), _GxIdeNewVersion_cancelClickHandler = new WeakMap(), _GxIdeNewVersion_createClickHandler = new WeakMap(), _GxIdeNewVersion_initializeValidatableControls = new WeakMap(), _GxIdeNewVersion_evaluateTooltipRender = new WeakMap();
167
+ _GxIdeNewVersion_componentLocale = new WeakMap(), _GxIdeNewVersion_versionNameEl = new WeakMap(), _GxIdeNewVersion_shortcutsSrc = new WeakMap(), _GxIdeNewVersion_handleCheckBoxValueChange = new WeakMap(), _GxIdeNewVersion_handleNameValueChange = new WeakMap(), _GxIdeNewVersion_handleDescriptionValueChange = new WeakMap(), _GxIdeNewVersion_cancelClickHandler = new WeakMap(), _GxIdeNewVersion_createClickHandler = new WeakMap(), _GxIdeNewVersion_initializeValidatableControls = new WeakMap(), _GxIdeNewVersion_evaluateTooltipRender = new WeakMap();
155
168
  function defineCustomElement$1() {
156
169
  if (typeof customElements === "undefined") {
157
170
  return;
@@ -1 +1 @@
1
- {"file":"gx-ide-new-version.js","mappings":"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","names":["GxIdeNewVersion"],"sources":["src/components/new-version/new-version.scss?tag=gx-ide-new-version&encapsulation=shadow","src/components/new-version/new-version.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: 1fr max-content;\n}\n\n.field-group {\n grid-auto-rows: max-content;\n}\n\n.main {\n overflow: auto;\n}\n\n.section {\n display: contents;\n}\n\n.tooltip {\n position: absolute;\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\n\nimport { ChCheckboxCustomEvent } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { FormSubmitResult } from \"../../components\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../common/form-validation\";\nimport { config } from \"../../common/config\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/spacing\",\n \"utils/layout\",\n \"chameleon/scrollbar\",\n \"components/checkbox\",\n \"components/button\",\n \"components/edit\",\n \"components/tooltip\"\n];\n\n// ch-checkbox\nconst CHECKED_VALUE = \"on\";\nconst SET_NEW_VERSION_AS_ACTIVE_ID = \"set-new-version-as-active\";\nconst CREATE_LINKED_LOCAL_VERSION_ID = \"create-linked-local-version\";\nconst CREATE_AS_PROTECTED_VERSION_ID = \"create-as-protected-version\";\n\n@Component({\n tag: \"gx-ide-new-version\",\n styleUrl: \"new-version.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-version\"]\n})\nexport class GxIdeNewVersion {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n #versionNameEl!: HTMLChEditElement;\n\n @Element() el: HTMLGxIdeNewVersionElement;\n\n /**\n * The version selected name\n */\n @State() versionName: string;\n\n /**\n * The version selected description\n */\n @State() versionDescription: string;\n\n /**\n * Checkbox value to set the new version as active\n */\n @State() setNewVersionAsActive: boolean = false;\n\n /**\n * Checkbox value to create new remote version linked to the local version\n */\n @State() createLinkedLocalVersion: boolean = false;\n\n /**\n * Checkbox value to create new remote version as protected version\n */\n @State() createAsProtectedVersion: boolean = false;\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * Indicates if the component is going to be used to create a new remote version\n */\n @Prop() readonly isRemoteOperation: boolean = false;\n\n /**\n * Indicates if the component is going to be used to create a new remote frozen version\n */\n @Prop() readonly isFreezeOperation: boolean = false;\n\n /**\n * Indicates if the component must show the checkbox to create a linked local version\n */\n @Prop() readonly showLinkedLocalVersionCheckbox: boolean = false;\n\n /**\n * Callback that must be invoked when the 'Cancel' button is pressed.\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create' button is pressed.\n */\n @Prop() readonly createCallback: (\n newVersionData: NewVersionData\n ) => Promise<FormSubmitResult>;\n\n /**\n * This property is used to set the initial values of the input fields when the component is loaded.\n */\n @Prop() readonly defaultInputValues: NewVersionData;\n @Watch(\"defaultInputValues\")\n defaultInputValuesChanged(newDefaultInputValues: NewVersionData) {\n this.versionName = newDefaultInputValues?.versionName;\n this.versionDescription = newDefaultInputValues?.versionDescription;\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.defaultInputValuesChanged(this.defaultInputValues);\n }\n\n componentDidLoad() {\n this.#initializeValidatableControls();\n }\n\n #handleCheckBoxValueChange = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n const target = event.target as HTMLInputElement;\n if (target.id === SET_NEW_VERSION_AS_ACTIVE_ID) {\n this.setNewVersionAsActive = event.detail === CHECKED_VALUE;\n } else if (target.id === CREATE_LINKED_LOCAL_VERSION_ID) {\n this.createLinkedLocalVersion = event.detail === CHECKED_VALUE;\n } else if (target.id === CREATE_AS_PROTECTED_VERSION_ID) {\n this.createAsProtectedVersion = event.detail === CHECKED_VALUE;\n }\n };\n\n #handleNameValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.versionName = event.detail as string;\n };\n\n #handleDescriptionValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.versionDescription = event.detail as string;\n };\n\n #cancelClickHandler = async () => {\n this.cancelCallback();\n };\n\n #createClickHandler = async () => {\n const newVersionData: NewVersionData = {\n versionName: this.versionName,\n versionDescription: this.versionDescription,\n setNewVersionAsActive: this.setNewVersionAsActive,\n createLocalLinkedVersion: this.createLinkedLocalVersion,\n createProtectedVersion: this.createAsProtectedVersion\n };\n const formSubmitResult = await this.createCallback(newVersionData);\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#versionNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n render() {\n const createButtonDisabled =\n !this.versionName || this.versionName.length === 0;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <div class=\"main scrollable field-group spacing-body\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"version-name\">\n {this.#componentLocale.labels.name}\n </label>\n <ch-edit\n type=\"text\"\n id=\"version-name\"\n class=\"input\"\n placeholder={this.#componentLocale.placeHolders.name}\n value={this.versionName}\n onInput={this.#handleNameValueChange}\n ref={(el: HTMLChEditElement) =>\n (this.#versionNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#versionNameEl)}\n </div>\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"version-description\">\n {this.#componentLocale.labels.description}\n </label>\n <ch-edit\n type=\"text\"\n id=\"version-description\"\n class=\"input\"\n placeholder={this.#componentLocale.placeHolders.description}\n value={this.versionDescription}\n onInput={this.#handleDescriptionValueChange}\n ></ch-edit>\n </div>\n {!this.isRemoteOperation ? (\n <div class=\"field field-inline\">\n <ch-checkbox\n class=\"checkbox\"\n id=\"set-new-version-as-active\"\n checkedValue={CHECKED_VALUE}\n onInput={this.#handleCheckBoxValueChange}\n caption={this.#componentLocale.labels.setActive}\n ></ch-checkbox>\n </div>\n ) : (\n <div class=\"layout layout--cols-2\">\n {this.showLinkedLocalVersionCheckbox && (\n <div class=\"layout__panel\">\n <ch-checkbox\n class=\"checkbox\"\n id=\"create-linked-local-version\"\n checkedValue={CHECKED_VALUE}\n onInput={this.#handleCheckBoxValueChange}\n caption={\n this.#componentLocale.labels.createLinkedLocalVersion\n }\n ></ch-checkbox>\n </div>\n )}\n {!this.isFreezeOperation && (\n <div class=\"layout__panel\">\n <ch-checkbox\n class=\"checkbox\"\n id=\"create-as-protected-version\"\n checkedValue={CHECKED_VALUE}\n onInput={this.#handleCheckBoxValueChange}\n caption={\n this.#componentLocale.labels.createAsProtectedVersion\n }\n ></ch-checkbox>\n </div>\n )}\n </div>\n )}\n </div>\n\n <footer class=\"control-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n onClick={this.#cancelClickHandler}\n >\n {this.#componentLocale.buttons.cancel}\n </button>\n\n <button\n class=\"button-primary\"\n onClick={this.#createClickHandler}\n disabled={createButtonDisabled}\n >\n {this.#componentLocale.buttons.create}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type NewVersionData = {\n versionName: string;\n versionDescription: string;\n setNewVersionAsActive?: boolean;\n createLocalLinkedVersion?: boolean;\n createProtectedVersion?: boolean;\n};\n"],"version":3}
1
+ {"file":"gx-ide-new-version.js","mappings":"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","names":["GxIdeNewVersion"],"sources":["src/components/new-version/new-version.scss?tag=gx-ide-new-version&encapsulation=shadow","src/components/new-version/new-version.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: 1fr max-content;\n}\n\n.field-group {\n grid-auto-rows: max-content;\n}\n\n.main {\n overflow: auto;\n}\n\n.section {\n display: contents;\n}\n\n.tooltip {\n position: absolute;\n}\n","import {\n Component,\n Element,\n getAssetPath,\n h,\n Host,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n\nimport { ChCheckboxCustomEvent } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { FormSubmitResult } from \"../../components\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../common/form-validation\";\nimport { config } from \"../../common/config\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/spacing\",\n \"utils/layout\",\n \"chameleon/scrollbar\",\n \"components/checkbox\",\n \"components/button\",\n \"components/edit\",\n \"components/tooltip\"\n];\n\n// ch-checkbox\nconst CHECKED_VALUE = \"on\";\nconst SET_NEW_VERSION_AS_ACTIVE_ID = \"set-new-version-as-active\";\nconst CREATE_LINKED_LOCAL_VERSION_ID = \"create-linked-local-version\";\nconst CREATE_AS_PROTECTED_VERSION_ID = \"create-as-protected-version\";\n\n@Component({\n tag: \"gx-ide-new-version\",\n styleUrl: \"new-version.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-version\"]\n})\nexport class GxIdeNewVersion {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n #versionNameEl!: HTMLChEditElement;\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/new-version/shortcuts.json`);\n\n @Element() el: HTMLGxIdeNewVersionElement;\n\n /**\n * The version selected name\n */\n @State() versionName: string;\n\n /**\n * The version selected description\n */\n @State() versionDescription: string;\n\n /**\n * Indicates if the version description has been edited\n */\n @State() versionDescriptionEdited: boolean = false;\n\n /**\n * Checkbox value to set the new version as active\n */\n @State() setNewVersionAsActive: boolean = false;\n\n /**\n * Checkbox value to create new remote version linked to the local version\n */\n @State() createLinkedLocalVersion: boolean = false;\n\n /**\n * Checkbox value to create new remote version as protected version\n */\n @State() createAsProtectedVersion: boolean = false;\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * Indicates if the component is going to be used to create a new remote version\n */\n @Prop() readonly isRemoteOperation: boolean = false;\n\n /**\n * Indicates if the component is going to be used to create a new remote frozen version\n */\n @Prop() readonly isFreezeOperation: boolean = false;\n\n /**\n * Indicates if the component must show the checkbox to create a linked local version\n */\n @Prop() readonly showLinkedLocalVersionCheckbox: boolean = false;\n\n /**\n * Callback that must be invoked when the 'Cancel' button is pressed.\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create' button is pressed.\n */\n @Prop() readonly createCallback: (\n newVersionData: NewVersionData\n ) => Promise<FormSubmitResult>;\n\n /**\n * This property is used to set the initial values of the input fields when the component is loaded.\n */\n @Prop() readonly defaultInputValues: NewVersionData;\n @Watch(\"defaultInputValues\")\n defaultInputValuesChanged(newDefaultInputValues: NewVersionData) {\n this.versionName = newDefaultInputValues?.versionName;\n this.versionDescription = newDefaultInputValues?.versionDescription;\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.defaultInputValuesChanged(this.defaultInputValues);\n }\n\n componentDidLoad() {\n this.#initializeValidatableControls();\n }\n\n #handleCheckBoxValueChange = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n const target = event.target as HTMLInputElement;\n if (target.id === SET_NEW_VERSION_AS_ACTIVE_ID) {\n this.setNewVersionAsActive = event.detail === CHECKED_VALUE;\n } else if (target.id === CREATE_LINKED_LOCAL_VERSION_ID) {\n this.createLinkedLocalVersion = event.detail === CHECKED_VALUE;\n } else if (target.id === CREATE_AS_PROTECTED_VERSION_ID) {\n this.createAsProtectedVersion = event.detail === CHECKED_VALUE;\n }\n };\n\n #handleNameValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.versionName = event.detail as string;\n if (!this.versionDescriptionEdited) {\n this.versionDescription = event.detail as string;\n }\n };\n\n #handleDescriptionValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.versionDescription = event.detail as string;\n if (this.versionDescription === \"\") {\n this.versionDescriptionEdited = false;\n this.versionDescription = this.versionName;\n } else {\n this.versionDescriptionEdited = true;\n }\n };\n\n #cancelClickHandler = async () => {\n this.cancelCallback();\n };\n\n #createClickHandler = async () => {\n const newVersionData: NewVersionData = {\n versionName: this.versionName,\n versionDescription: this.versionDescription,\n setNewVersionAsActive: this.setNewVersionAsActive,\n createLocalLinkedVersion: this.createLinkedLocalVersion,\n createProtectedVersion: this.createAsProtectedVersion\n };\n const formSubmitResult = await this.createCallback(newVersionData);\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#versionNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n render() {\n const createButtonDisabled =\n !this.versionName || this.versionName.length === 0;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n <section class=\"section\">\n <div class=\"main scrollable field-group spacing-body\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"version-name\">\n {this.#componentLocale.labels.name}\n </label>\n <ch-edit\n type=\"text\"\n id=\"version-name\"\n class=\"input\"\n placeholder={this.#componentLocale.placeHolders.name}\n value={this.versionName}\n onInput={this.#handleNameValueChange}\n ref={(el: HTMLChEditElement) =>\n (this.#versionNameEl = el as HTMLChEditElement)\n }\n autoFocus\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#versionNameEl)}\n </div>\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"version-description\">\n {this.#componentLocale.labels.description}\n </label>\n <ch-edit\n type=\"text\"\n id=\"version-description\"\n class=\"input\"\n placeholder={this.#componentLocale.placeHolders.description}\n value={this.versionDescription}\n onInput={this.#handleDescriptionValueChange}\n ></ch-edit>\n </div>\n {!this.isRemoteOperation ? (\n <div class=\"field field-inline\">\n <ch-checkbox\n class=\"checkbox\"\n id=\"set-new-version-as-active\"\n checkedValue={CHECKED_VALUE}\n onInput={this.#handleCheckBoxValueChange}\n caption={this.#componentLocale.labels.setActive}\n ></ch-checkbox>\n </div>\n ) : (\n <div class=\"layout layout--cols-2\">\n {this.showLinkedLocalVersionCheckbox && (\n <div class=\"layout__panel\">\n <ch-checkbox\n class=\"checkbox\"\n id=\"create-linked-local-version\"\n checkedValue={CHECKED_VALUE}\n onInput={this.#handleCheckBoxValueChange}\n caption={\n this.#componentLocale.labels.createLinkedLocalVersion\n }\n ></ch-checkbox>\n </div>\n )}\n {!this.isFreezeOperation && (\n <div class=\"layout__panel\">\n <ch-checkbox\n class=\"checkbox\"\n id=\"create-as-protected-version\"\n checkedValue={CHECKED_VALUE}\n onInput={this.#handleCheckBoxValueChange}\n caption={\n this.#componentLocale.labels.createAsProtectedVersion\n }\n ></ch-checkbox>\n </div>\n )}\n </div>\n )}\n </div>\n\n <footer class=\"control-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button\n id=\"cancel-button\"\n class=\"button-secondary\"\n onClick={this.#cancelClickHandler}\n >\n {this.#componentLocale.buttons.cancel}\n </button>\n\n <button\n id=\"create-button\"\n class=\"button-primary\"\n onClick={this.#createClickHandler}\n disabled={createButtonDisabled}\n >\n {this.#componentLocale.buttons.create}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type NewVersionData = {\n versionName: string;\n versionDescription: string;\n setNewVersionAsActive?: boolean;\n createLocalLinkedVersion?: boolean;\n createProtectedVersion?: boolean;\n};\n"],"version":3}
@@ -102,9 +102,19 @@ const GxIdeTeamDevHistory$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeTeamDe
102
102
  user: __classPrivateFieldGet(this, _GxIdeTeamDevHistory_userEl, "f").value ? __classPrivateFieldGet(this, _GxIdeTeamDevHistory_userEl, "f").value : "",
103
103
  type: __classPrivateFieldGet(this, _GxIdeTeamDevHistory_typesEl, "f").value === "all" ? "" : __classPrivateFieldGet(this, _GxIdeTeamDevHistory_typesEl, "f").value
104
104
  };
105
- this.objects = await this.loadCallback(filters, versionId, isRefresh);
106
- await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getSelectedRevision, "f").call(this, (_a = this.objects[0]) === null || _a === void 0 ? void 0 : _a.id);
107
- this.loading = false;
105
+ try {
106
+ this.objects = await this.loadCallback(filters, versionId, isRefresh);
107
+ await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getSelectedRevision, "f").call(this, (_a = this.objects[0]) === null || _a === void 0 ? void 0 : _a.id);
108
+ }
109
+ catch (error) {
110
+ this.versions = [];
111
+ this.objects = [];
112
+ this.historyDetail = null;
113
+ this.selectedRevisionId = null;
114
+ }
115
+ finally {
116
+ this.loading = false;
117
+ }
108
118
  });
109
119
  _GxIdeTeamDevHistory_getSelectedRevision.set(this, async (revisionId) => {
110
120
  if (revisionId) {
@@ -157,9 +167,9 @@ const GxIdeTeamDevHistory$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeTeamDe
157
167
  } }, h("ch-tabular-grid-columnset", { class: "tabular-grid-column-set" }, h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").mainGrid.columns.id, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "max-content" }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").mainGrid.columns.comment, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "1fr" }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").mainGrid.columns.user, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "max-content" }), h("ch-tabular-grid-column", { "column-name": __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").mainGrid.columns.commitDate, "column-name-position": "text", class: "tabular-grid-column", settingable: false, size: "max-content" })), this.objects.length > 0 ? (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, this.objects.map((obj) => (h("ch-tabular-grid-row", { rowid: obj.id, key: obj.id, class: "tabular-grid-row" }, h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.id), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.comment), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, obj.user), h("ch-tabular-grid-cell", { class: "tabular-grid-cell" }, `${formatDate(obj.commitDate, "date-time")}`)))))) : (h("ch-tabular-grid-rowset", { class: "tabular-grid-rowset" }, h("ch-tabular-grid-rowset-empty", null, h("gx-ide-empty-state", { stateTitle: __classPrivateFieldGet(this, _GxIdeTeamDevHistory__componentLocale, "f").emptyRevisionsText, isAnimated: true })))), h("ch-tabular-grid-row", { class: "tabular-grid-row" })));
158
168
  });
159
169
  _GxIdeTeamDevHistory_renderAffectedObjectsGrid.set(this, () => {
160
- var _a;
170
+ var _a, _b;
161
171
  const iterable = this.historyDetail ? this.historyDetail.objects : [];
162
- const tabularGridEmpty = ((_a = this.historyDetail) === null || _a === void 0 ? void 0 : _a.objects.length) === 0 || !this.historyDetail;
172
+ const tabularGridEmpty = ((_b = (_a = this.historyDetail) === null || _a === void 0 ? void 0 : _a.objects) === null || _b === void 0 ? void 0 : _b.length) === 0 || !this.historyDetail;
163
173
  return (h("ch-tabular-grid", { class: {
164
174
  "affected-objects-grid": true,
165
175
  "tabular-grid": true,
@@ -187,7 +197,7 @@ const GxIdeTeamDevHistory$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeTeamDe
187
197
  this.itemContextMenuCallback = undefined;
188
198
  this.gridContextMenuCallback = undefined;
189
199
  this.selectedVersionId = undefined;
190
- this.versions = [];
200
+ this.versions = undefined;
191
201
  this.loadCallback = undefined;
192
202
  this.loadDetailCallback = undefined;
193
203
  this.selectedVersionChangeCallback = undefined;
@@ -215,6 +225,10 @@ const GxIdeTeamDevHistory$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeTeamDe
215
225
  await __classPrivateFieldGet(this, _GxIdeTeamDevHistory_getObjectsFromVersion, "f").call(this, this.selectedVersionId, false);
216
226
  this.isFirstLoad = false;
217
227
  }
228
+ else if (newVersionsList.length === 0 && this.isFirstLoad) {
229
+ this.loading = false;
230
+ this.isFirstLoad = false;
231
+ }
218
232
  }
219
233
  async componentWillLoad() {
220
234
  __classPrivateFieldSet(this, _GxIdeTeamDevHistory__componentLocale, await Locale.getComponentStrings(this.el), "f");