@genexus/genexus-ide-ui 0.0.78 → 0.0.79

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 (165) hide show
  1. package/dist/cjs/{common-2100f35f.js → common-fbd24d42.js} +1 -1
  2. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  3. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +4 -2
  4. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +3 -2
  5. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +3 -0
  6. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +3 -0
  7. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +3 -2
  8. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +4 -2
  9. package/dist/cjs/gx-ide-new-object.cjs.entry.js +5 -4
  10. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +3 -2
  11. package/dist/cjs/gx-ide-references.cjs.entry.js +6 -2
  12. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +6 -2
  13. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -0
  14. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -1
  16. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +3 -1
  17. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -0
  18. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +2 -1
  19. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +8 -1
  20. package/dist/cjs/gxg-form-checkbox.cjs.entry.js +1 -1
  21. package/dist/cjs/gxg-form-radio-group.cjs.entry.js +2 -6
  22. package/dist/cjs/gxg-form-radio.cjs.entry.js +3 -3
  23. package/dist/cjs/gxg-list-box_2.cjs.entry.js +1 -2
  24. package/dist/cjs/loader.cjs.js +1 -1
  25. package/dist/collection/common/common.js +1 -1
  26. package/dist/collection/components/bpm-application-declaration/bpm-app-declaration.js +5 -3
  27. package/dist/collection/components/bpm-application-declaration/gx-ide-assets/bpm-app-declaration/shortcuts.json +20 -0
  28. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +3 -2
  29. package/dist/collection/components/create-kb-from-server/gx-ide-assets/create-kb-from-server/shortcuts.json +7 -0
  30. package/dist/collection/components/kb-manager-export/kb-manager-export.js +3 -0
  31. package/dist/collection/components/kb-manager-import/kb-manager-import.js +3 -0
  32. package/dist/collection/components/new-environment/gx-ide-assets/new-environment/shortcuts.json +1 -4
  33. package/dist/collection/components/new-environment/new-environment.js +2 -1
  34. package/dist/collection/components/new-kb/gx-ide-assets/new-kb/shortcuts.json +18 -0
  35. package/dist/collection/components/new-kb/new-kb.js +4 -2
  36. package/dist/collection/components/new-object/gx-ide-assets/new-object/shortcuts.json +18 -0
  37. package/dist/collection/components/new-object/new-object.js +6 -5
  38. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/shortcuts.json +15 -0
  39. package/dist/collection/components/object-selector/object-selector.js +4 -3
  40. package/dist/collection/components/references/gx-ide-assets/references/shortcuts.json +15 -0
  41. package/dist/collection/components/references/references.js +7 -3
  42. package/dist/collection/components/share-kb/gx-ide-assets/share-kb/shortcuts.json +7 -0
  43. package/dist/collection/components/share-kb/share-kb.js +6 -2
  44. package/dist/collection/components/team-dev/commit/commit.js +1 -0
  45. package/dist/collection/components/team-dev/select-recent-comment/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.en.json +5 -0
  46. package/dist/collection/components/team-dev/select-recent-comment/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.ja.json +3 -0
  47. package/dist/collection/components/team-dev/select-recent-comment/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.zh.json +3 -0
  48. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.js +1 -1
  49. package/dist/collection/components/team-dev/update/update.js +1 -0
  50. package/dist/collection/components/team-dev/update-partial-selection/gx-ide-assets/team-dev-update-partial-selection/shortcuts.json +15 -0
  51. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +3 -2
  52. package/dist/collection/components/team-dev/update-to-revision/gx-ide-assets/team-dev-update-to-revision/shortcuts.json +15 -0
  53. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.js +4 -2
  54. package/dist/collection/components/ww-images/ww-images.js +1 -0
  55. package/dist/components/combo-box.js +9 -1
  56. package/dist/components/common.js +1 -1
  57. package/dist/components/form-checkbox.js +1 -1
  58. package/dist/components/form-radio-group.js +2 -6
  59. package/dist/components/form-radio.js +3 -3
  60. package/dist/components/gx-ide-bpm-app-declaration.js +61 -47
  61. package/dist/components/gx-ide-create-kb-from-server.js +53 -28
  62. package/dist/components/gx-ide-kb-manager-export.js +3 -0
  63. package/dist/components/gx-ide-kb-manager-import.js +3 -0
  64. package/dist/components/gx-ide-new-environment.js +2 -1
  65. package/dist/components/gx-ide-new-kb.js +52 -26
  66. package/dist/components/gx-ide-new-object.js +52 -27
  67. package/dist/components/gx-ide-object-selector.js +60 -47
  68. package/dist/components/gx-ide-references.js +51 -35
  69. package/dist/components/gx-ide-share-kb.js +52 -24
  70. package/dist/components/gx-ide-team-dev-commit.js +1 -0
  71. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  72. package/dist/components/gx-ide-team-dev-update-partial-selection.js +45 -32
  73. package/dist/components/gx-ide-team-dev-update-to-revision.js +46 -20
  74. package/dist/components/gx-ide-team-dev-update.js +1 -0
  75. package/dist/components/gx-ide-ww-images.js +1 -0
  76. package/dist/components/list-box.js +1 -2
  77. package/dist/esm/{common-202491f0.js → common-3bda62ed.js} +1 -1
  78. package/dist/esm/genexus-ide-ui.js +1 -1
  79. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +5 -3
  80. package/dist/esm/gx-ide-create-kb-from-server.entry.js +4 -3
  81. package/dist/esm/gx-ide-kb-manager-export.entry.js +3 -0
  82. package/dist/esm/gx-ide-kb-manager-import.entry.js +3 -0
  83. package/dist/esm/gx-ide-new-environment.entry.js +3 -2
  84. package/dist/esm/gx-ide-new-kb.entry.js +5 -3
  85. package/dist/esm/gx-ide-new-object.entry.js +6 -5
  86. package/dist/esm/gx-ide-object-selector.entry.js +4 -3
  87. package/dist/esm/gx-ide-references.entry.js +7 -3
  88. package/dist/esm/gx-ide-share-kb.entry.js +7 -3
  89. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -0
  90. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  91. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +3 -2
  92. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +4 -2
  93. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -0
  94. package/dist/esm/gx-ide-ww-images.entry.js +2 -1
  95. package/dist/esm/gxg-combo-box_2.entry.js +8 -1
  96. package/dist/esm/gxg-form-checkbox.entry.js +1 -1
  97. package/dist/esm/gxg-form-radio-group.entry.js +2 -6
  98. package/dist/esm/gxg-form-radio.entry.js +3 -3
  99. package/dist/esm/gxg-list-box_2.entry.js +1 -2
  100. package/dist/esm/loader.js +1 -1
  101. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  102. package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/shortcuts.json +20 -0
  103. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/shortcuts.json +7 -0
  104. package/dist/genexus-ide-ui/gx-ide-assets/new-environment/shortcuts.json +1 -4
  105. package/dist/genexus-ide-ui/gx-ide-assets/new-kb/shortcuts.json +18 -0
  106. package/dist/genexus-ide-ui/gx-ide-assets/new-object/shortcuts.json +18 -0
  107. package/dist/genexus-ide-ui/gx-ide-assets/object-selector/shortcuts.json +15 -0
  108. package/dist/genexus-ide-ui/gx-ide-assets/references/shortcuts.json +15 -0
  109. package/dist/genexus-ide-ui/gx-ide-assets/share-kb/shortcuts.json +7 -0
  110. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.en.json +5 -0
  111. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.ja.json +3 -0
  112. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-select-recent-comment/langs/team-dev-select-recent-comment.lang.zh.json +3 -0
  113. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-partial-selection/shortcuts.json +15 -0
  114. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update-to-revision/shortcuts.json +15 -0
  115. package/dist/genexus-ide-ui/p-2753da85.entry.js +1 -0
  116. package/dist/genexus-ide-ui/p-36d5d83b.entry.js +1 -0
  117. package/dist/genexus-ide-ui/p-377d7066.entry.js +1 -0
  118. package/dist/genexus-ide-ui/p-4772d5ae.entry.js +1 -0
  119. package/dist/genexus-ide-ui/p-4e2db053.entry.js +1 -0
  120. package/dist/genexus-ide-ui/{p-1b1fd856.entry.js → p-56627675.entry.js} +1 -1
  121. package/dist/genexus-ide-ui/p-59b366c2.entry.js +1 -0
  122. package/dist/genexus-ide-ui/p-626bf7ad.entry.js +1 -0
  123. package/dist/genexus-ide-ui/{p-33961b41.entry.js → p-6c59cca0.entry.js} +1 -1
  124. package/dist/genexus-ide-ui/p-7aabd69b.entry.js +1 -0
  125. package/dist/genexus-ide-ui/p-9596d186.entry.js +1 -0
  126. package/dist/genexus-ide-ui/p-96e00630.entry.js +1 -0
  127. package/dist/genexus-ide-ui/p-a52333fe.js +1 -0
  128. package/dist/genexus-ide-ui/p-b141f6e4.entry.js +1 -0
  129. package/dist/genexus-ide-ui/{p-5e50df3c.entry.js → p-b456e3aa.entry.js} +1 -1
  130. package/dist/genexus-ide-ui/p-b5fb3c0b.entry.js +1 -0
  131. package/dist/genexus-ide-ui/p-bc9446a0.entry.js +1 -0
  132. package/dist/genexus-ide-ui/p-cf6646a4.entry.js +1 -0
  133. package/dist/genexus-ide-ui/p-db7d339f.entry.js +1 -0
  134. package/dist/genexus-ide-ui/p-e34c90b6.entry.js +1 -0
  135. package/dist/genexus-ide-ui/p-fcb44a8c.entry.js +1 -0
  136. package/dist/types/components/bpm-application-declaration/bpm-app-declaration.d.ts +1 -0
  137. package/dist/types/components/create-kb-from-server/create-kb-from-server.d.ts +1 -0
  138. package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +1 -0
  139. package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +1 -0
  140. package/dist/types/components/new-kb/new-kb.d.ts +1 -0
  141. package/dist/types/components/new-object/new-object.d.ts +2 -1
  142. package/dist/types/components/object-selector/object-selector.d.ts +2 -1
  143. package/dist/types/components/references/references.d.ts +3 -0
  144. package/dist/types/components/share-kb/share-kb.d.ts +2 -0
  145. package/dist/types/components/team-dev/update-partial-selection/update-partial-selection.d.ts +1 -0
  146. package/dist/types/components/team-dev/update-to-revision/update-to-revision.d.ts +1 -0
  147. package/package.json +3 -3
  148. package/dist/genexus-ide-ui/p-11fa1c83.entry.js +0 -1
  149. package/dist/genexus-ide-ui/p-1da59907.entry.js +0 -1
  150. package/dist/genexus-ide-ui/p-2b6a3afa.entry.js +0 -1
  151. package/dist/genexus-ide-ui/p-3d4722f2.entry.js +0 -1
  152. package/dist/genexus-ide-ui/p-4bceda48.entry.js +0 -1
  153. package/dist/genexus-ide-ui/p-6bb17c51.js +0 -1
  154. package/dist/genexus-ide-ui/p-711613dc.entry.js +0 -1
  155. package/dist/genexus-ide-ui/p-8edc2bbc.entry.js +0 -1
  156. package/dist/genexus-ide-ui/p-92a4add2.entry.js +0 -1
  157. package/dist/genexus-ide-ui/p-9a15e22e.entry.js +0 -1
  158. package/dist/genexus-ide-ui/p-9ad85778.entry.js +0 -1
  159. package/dist/genexus-ide-ui/p-a43dc4e7.entry.js +0 -1
  160. package/dist/genexus-ide-ui/p-abfa88ed.entry.js +0 -1
  161. package/dist/genexus-ide-ui/p-b34d258d.entry.js +0 -1
  162. package/dist/genexus-ide-ui/p-ba31a49e.entry.js +0 -1
  163. package/dist/genexus-ide-ui/p-baffd9b1.entry.js +0 -1
  164. package/dist/genexus-ide-ui/p-d2aca59f.entry.js +0 -1
  165. package/dist/genexus-ide-ui/p-d664fa18.entry.js +0 -1
@@ -1,5 +1,5 @@
1
1
  /* STENCIL IMPORTS */
2
- import { Host, h } from "@stencil/core";
2
+ import { Host, h, getAssetPath } from "@stencil/core";
3
3
  /* CUSTOM IMPORTS */
4
4
  import { Locale } from "../../common/locale";
5
5
  import { config } from "../../common/config";
@@ -9,6 +9,7 @@ export class GxIdeNewKb {
9
9
  constructor() {
10
10
  this.renderedFirstTime = false;
11
11
  this.selectedFrontEndsIds = [];
12
+ this.shortcutsSrc = getAssetPath(`./gx-ide-assets/new-kb/shortcuts.json`);
12
13
  // 7.LISTENERS //
13
14
  // 8.PUBLIC METHODS API //
14
15
  // 9.LOCAL METHODS //
@@ -233,6 +234,7 @@ export class GxIdeNewKb {
233
234
  }
234
235
  componentDidLoad() {
235
236
  this.initialSetup();
237
+ this.kbNameEl.focus();
236
238
  }
237
239
  componentDidRender() {
238
240
  if (!this.renderedFirstTime) {
@@ -254,7 +256,7 @@ export class GxIdeNewKb {
254
256
  h("gxg-form-text", { labelPosition: "start", placeholder: "C:\\Models", maxWidth: "100%", value: this.kbLocation, ref: (el) => (this.locationEl = el), disabled: !this.isAdvanced, part: "kb-location", class: "location-input" }),
255
257
  h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/folder", onClick: this.selectLocationHandler, part: "button-select-location", class: "location-icon" })
256
258
  ]
257
- : null), h("main", { class: "gxi-full-height" }, h("gxg-tabs", { class: "gxg-tabs" }, this.isAdvanced ? (h("gxg-tab-bar", { slot: "tab-bar-container", part: "tab-bar", displayBorder: true }, h("gxg-tab-button", { slot: "tab-bar", tabLabel: this._componentLocale.tabBasic.tabLabel, tab: "basic", "is-selected": true, hidden: !this.isAdvanced, part: "tab-button-basic" }), h("gxg-tab-button", { slot: "tab-bar", tabLabel: this._componentLocale.tabAdvanced.tabLabel, tab: "advanced", hidden: !this.isAdvanced, part: "tab-button-advanced" }))) : null, this.renderTabBasic(), this.isAdvanced && this.renderTabAdvanced())), h("gxg-button", { id: "button-create", type: "primary-text-only", onClick: this.createKbHandler, part: "button-create", slot: "footer-end" }, this._componentLocale.footer.btnCreate), h("gxg-button", { id: "button-cancel", type: "outlined", onClick: this.cancelKbHandler, part: "button-cancel", slot: "footer-end" }, this._componentLocale.footer.btnCancel)))));
259
+ : null), h("main", { class: "gxi-full-height" }, h("gxg-tabs", { class: "gxg-tabs" }, this.isAdvanced ? (h("gxg-tab-bar", { slot: "tab-bar-container", part: "tab-bar", displayBorder: true }, h("gxg-tab-button", { slot: "tab-bar", tabLabel: this._componentLocale.tabBasic.tabLabel, tab: "basic", "is-selected": true, hidden: !this.isAdvanced, part: "tab-button-basic" }), h("gxg-tab-button", { slot: "tab-bar", tabLabel: this._componentLocale.tabAdvanced.tabLabel, tab: "advanced", hidden: !this.isAdvanced, part: "tab-button-advanced" }))) : null, this.renderTabBasic(), this.isAdvanced && this.renderTabAdvanced())), h("gxg-button", { id: "button-cancel", type: "outlined", onClick: this.cancelKbHandler, part: "button-cancel", slot: "footer-end" }, this._componentLocale.footer.btnCancel), h("gxg-button", { id: "button-create", type: "primary-text-only", onClick: this.createKbHandler, part: "button-create", slot: "footer-end" }, this._componentLocale.footer.btnCreate))), h("gxg-shortcuts", { src: this.shortcutsSrc })));
258
260
  }
259
261
  static get is() { return "gx-ide-new-kb"; }
260
262
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,18 @@
1
+ [
2
+ {
3
+ "selector": "[part~='gxg-button--create']",
4
+ "keyShortcuts": "Enter",
5
+ "action": "click",
6
+ "conditions": {
7
+ "focusExclude": [
8
+ "[part~='gxg-button--cancel']",
9
+ "#module::part(button-clear)"
10
+ ]
11
+ }
12
+ },
13
+ {
14
+ "selector": "[part~='gxg-button--cancel']",
15
+ "keyShortcuts": "Escape",
16
+ "action": "click"
17
+ }
18
+ ]
@@ -1,11 +1,12 @@
1
1
  /* STENCIL IMPORTS */
2
- import { Host, h } from "@stencil/core";
2
+ import { Host, h, getAssetPath } from "@stencil/core";
3
3
  /* CUSTOM IMPORTS */
4
4
  import { Locale } from "../../common/locale";
5
5
  import { config } from "../../common/config";
6
6
  export class GxIdeNewObject {
7
7
  constructor() {
8
8
  this.renderedFirstTime = false;
9
+ this.shortcutsSrc = getAssetPath(`./gx-ide-assets/new-object/shortcuts.json`);
9
10
  this.descriptionModifiedByUser = false;
10
11
  // 7.LISTENERS //
11
12
  // 8.PUBLIC METHODS API //
@@ -25,7 +26,7 @@ export class GxIdeNewObject {
25
26
  }
26
27
  return [
27
28
  h("gxg-label", { labelPosition: "start" }, labelDescription),
28
- h("gx-ide-entity-selector", { value: this.parent, defaultValue: this.defaultParent, selectEntityCallback: this.selectModuleCallback, ref: (el) => (this.parentEl = el), part: "module" })
29
+ h("gx-ide-entity-selector", { value: this.parent, defaultValue: this.defaultParent, selectEntityCallback: this.selectModuleCallback, ref: (el) => (this.moduleFolderEl = el), id: "module", part: "module" })
29
30
  ];
30
31
  }
31
32
  return null;
@@ -79,14 +80,14 @@ export class GxIdeNewObject {
79
80
  }
80
81
  };
81
82
  this.createCallbackHandler = async () => {
82
- var _a;
83
+ var _a, _b, _c;
83
84
  const data = {
84
85
  typeId: (_a = this.selectedType) === null || _a === void 0 ? void 0 : _a.id,
85
86
  name: this.nameEl.value,
86
87
  description: !this.descriptionModifiedByUser
87
88
  ? undefined
88
89
  : this.descriptionEl.value,
89
- moduleId: this.parentEl.value.id
90
+ moduleId: (_c = (_b = this.moduleFolderEl) === null || _b === void 0 ? void 0 : _b.value) === null || _c === void 0 ? void 0 : _c.id
90
91
  };
91
92
  const result = await this.createCallback(data);
92
93
  this.validateNameHandler(result);
@@ -153,7 +154,7 @@ export class GxIdeNewObject {
153
154
  var _a;
154
155
  return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noContentGap: true, slimmerFooter: config.gxIdeContainer.slimmerFooter, containerTitle: this.displayTitle ? this._componentLocale.componentName : null, noHeadingBorder: true }, h("main", { class: "main" }, h("div", { class: "categories-types-container" }, h("div", { class: "categories" }, this.typeCategories.length > 0 ? (h("gxg-list-box", { class: "category", "single-selection": true, noBorder: true, borderEnd: true, "the-title": this._componentLocale.categorySelectionTitle, onSelectionChanged: this.categoryOnSelectionChangedHandler }, this.typeCategories.map(category => (h("gxg-list-box-item", { key: category.id, value: category.id, icon: category.icon, part: `category-${category.id}` }, category.name))))) : null), h("div", { class: "types" }, this.selectedCategory.types.length > 0 ? (h("gxg-list-box", { class: "types", "single-selection": true, noBorder: true, theTitle: this.selectedCategory.name
155
156
  ? `${this.selectedCategory.name} ${this._componentLocale.typeSelectionTitleSuffix}`
156
- : this._componentLocale.typeSelectionTitle, key: this.selectedCategory.id, onSelectionChanged: this.typeOnSelectionChangedHandler }, this.selectedCategory.types.map(type => (h("gxg-list-box-item", { key: `${this.selectedCategory.id}-${type.id}`, icon: type.icon, part: `type-${this.selectedCategory.id}-${type.id}` }, type.name))))) : (h("p", null, "No Categories to display")))), h("div", { class: "api-description" }, h("gxg-title", { type: "title-05" }, (_a = this.selectedType) === null || _a === void 0 ? void 0 : _a.description), h("div", { class: "form" }, h("gxg-label", { labelPosition: "start" }, this._componentLocale.objectName), h("gxg-form-text", { "label-position": "start", placeholder: "Name", "max-width": "100%", value: this.selectedType.name, toolTip: config.tooltip, ref: (el) => (this.nameEl = el), onInput: this.onInputNameHandler, onBlur: this.onBlurNameHandler, onValueChanged: this.onNameValueChangedHandler, debounce: true, part: "name", "display-validation-styles": true, "display-validation-message": true }), h("gxg-label", { labelPosition: "start" }, this._componentLocale.objectDescription), h("gxg-form-text", { "label-position": "start", placeholder: "Description", "max-width": "100%", value: this.selectedType.name, ref: (el) => (this.descriptionEl = el), onInput: this.onInputDescriptionHandler, part: "description", "display-validation-styles": true, "display-validation-message": true }), this.renderModuleFolder()))), h("gxg-button", { id: "button-cancel", slot: "footer-end", type: "outlined", onClick: this.cancelCallbackHandler, part: "gxg-button gxg-button--cancel" }, this._componentLocale.footer.btnCancel), h("gxg-button", { id: "button-create", slot: "footer-end", type: "primary-text-only", onClick: this.createCallbackHandler, disabled: !this.nameIsValid, part: "gxg-button gxg-button--create" }, this._componentLocale.footer.btnCreate)))));
157
+ : this._componentLocale.typeSelectionTitle, key: this.selectedCategory.id, onSelectionChanged: this.typeOnSelectionChangedHandler }, this.selectedCategory.types.map(type => (h("gxg-list-box-item", { key: `${this.selectedCategory.id}-${type.id}`, icon: type.icon, part: `type-${this.selectedCategory.id}-${type.id}` }, type.name))))) : (h("p", null, "No Categories to display")))), h("div", { class: "api-description" }, h("gxg-title", { type: "title-05" }, (_a = this.selectedType) === null || _a === void 0 ? void 0 : _a.description), h("div", { class: "form" }, h("gxg-label", { labelPosition: "start" }, this._componentLocale.objectName), h("gxg-form-text", { "label-position": "start", placeholder: "Name", "max-width": "100%", value: this.selectedType.name, toolTip: config.tooltip, ref: (el) => (this.nameEl = el), onInput: this.onInputNameHandler, onBlur: this.onBlurNameHandler, onValueChanged: this.onNameValueChangedHandler, debounce: true, part: "name", "display-validation-styles": true, "display-validation-message": true }), h("gxg-label", { labelPosition: "start" }, this._componentLocale.objectDescription), h("gxg-form-text", { "label-position": "start", placeholder: "Description", "max-width": "100%", value: this.selectedType.name, ref: (el) => (this.descriptionEl = el), onInput: this.onInputDescriptionHandler, part: "description", "display-validation-styles": true, "display-validation-message": true }), this.renderModuleFolder()))), h("gxg-button", { id: "button-cancel", slot: "footer-end", type: "outlined", onClick: this.cancelCallbackHandler, part: "gxg-button gxg-button--cancel" }, this._componentLocale.footer.btnCancel), h("gxg-button", { id: "button-create", slot: "footer-end", type: "primary-text-only", onClick: this.createCallbackHandler, disabled: !this.nameIsValid, part: "gxg-button gxg-button--create" }, this._componentLocale.footer.btnCreate))), h("gxg-shortcuts", { src: this.shortcutsSrc })));
157
158
  }
158
159
  static get is() { return "gx-ide-new-object"; }
159
160
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,15 @@
1
+ [
2
+ {
3
+ "selector": "[part~='gxg-button--ok']",
4
+ "keyShortcuts": "Enter",
5
+ "action": "click",
6
+ "conditions": {
7
+ "focusExclude": "[part='ch-grid-objects']"
8
+ }
9
+ },
10
+ {
11
+ "selector": "[part~='gxg-button--cancel']",
12
+ "keyShortcuts": "Escape",
13
+ "action": "click"
14
+ }
15
+ ]
@@ -1,5 +1,5 @@
1
1
  /* STENCIL IMPORTS */
2
- import { Host, h } from "@stencil/core";
2
+ import { Host, h, getAssetPath } from "@stencil/core";
3
3
  /* OTHER LIBRARIES IMPORTS */
4
4
  /* CUSTOM IMPORTS */
5
5
  import { Locale } from "../../common/locale";
@@ -11,6 +11,7 @@ import { FILTER_AFTER } from "../../common/constants";
11
11
  export class GxIdeObjectSelector {
12
12
  constructor() {
13
13
  this.renderedFirstTime = false;
14
+ this.shortcutsSrc = getAssetPath(`./gx-ide-assets/object-selector/shortcuts.json`);
14
15
  // 9.LOCAL METHODS //
15
16
  this.renderFilter = () => {
16
17
  var _a, _b;
@@ -100,7 +101,7 @@ export class GxIdeObjectSelector {
100
101
  this.deselectAll = () => {
101
102
  this.chGridEl.selectAllRows(false);
102
103
  };
103
- this.newObjectCallbackHandle = () => {
104
+ this.newObjectCallbackHandler = () => {
104
105
  this.newObjectCallback();
105
106
  };
106
107
  this.listenChanges = async () => {
@@ -220,7 +221,7 @@ export class GxIdeObjectSelector {
220
221
  }
221
222
  // 10.RENDER() FUNCTION //
222
223
  render() {
223
- return (h(Host, { class: "gx-ide-component", onKeyPress: this.hostKeyPressHandler }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { containerTitle: this.displayTitle ? this._componentLocale.componentName : null, noContentPadding: true, noAboveFooterPadding: true, noHeadingPadding: true, headingPaddingTop: true, noHeadingBorder: true, slimmerFooter: config.gxIdeContainer.slimmerFooter }, this.renderFilter(), this.renderObjects(), h("div", { class: "objects-count", slot: "footer-above" }, h("gxg-text", { class: "align-end", part: "objects-selected", textAlign: "center" }, this.evaluateObjectsCount("selected")), h("gxg-text", { class: "align-end", part: "objects-matching", textAlign: "center" }, this.evaluateObjectsCount("matching"))), h("gxg-button", { type: "outlined", onClick: this.cancelCallbackHandle, part: "gxg-button gxg-button--cancel", slot: "footer-end" }, this._componentLocale.footer.btnCancel), h("gxg-button", { type: "primary-text-only", onClick: this.openSelectionCallbackHandler, part: "gxg-button gxg-button--ok", slot: "footer-end" }, this._componentLocale.footer.btnConfirm), h("gxg-button", { type: "primary-text-icon", icon: "menus/new-object", onClick: this.newObjectCallbackHandle, part: "gxg-button gxg-button--new", slot: "footer-start" }, this._componentLocale.footer.btnNew), this.multiSelection ? (h("gxg-button", { type: "secondary-text-only", onClick: this.selectAll, part: "gxg-button gxg-button--select-all", slot: "footer-start" }, this._componentLocale.footer.btnSelectAll)) : null))));
224
+ return (h(Host, { class: "gx-ide-component", onKeyPress: this.hostKeyPressHandler }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { containerTitle: this.displayTitle ? this._componentLocale.componentName : null, noContentPadding: true, noAboveFooterPadding: true, noHeadingPadding: true, headingPaddingTop: true, noHeadingBorder: true, slimmerFooter: config.gxIdeContainer.slimmerFooter }, this.renderFilter(), this.renderObjects(), h("div", { class: "objects-count", slot: "footer-above" }, h("gxg-text", { class: "align-end", part: "objects-selected", textAlign: "center" }, this.evaluateObjectsCount("selected")), h("gxg-text", { class: "align-end", part: "objects-matching", textAlign: "center" }, this.evaluateObjectsCount("matching"))), h("gxg-button", { type: "outlined", onClick: this.cancelCallbackHandle, part: "gxg-button gxg-button--cancel", slot: "footer-end" }, this._componentLocale.footer.btnCancel), h("gxg-button", { type: "primary-text-only", onClick: this.openSelectionCallbackHandler, part: "gxg-button gxg-button--ok", slot: "footer-end" }, this._componentLocale.footer.btnConfirm), h("gxg-button", { type: "primary-text-icon", icon: "menus/new-object", onClick: this.newObjectCallbackHandler, part: "gxg-button gxg-button--new", slot: "footer-start" }, this._componentLocale.footer.btnNew), this.multiSelection ? (h("gxg-button", { type: "secondary-text-only", onClick: this.selectAll, part: "gxg-button gxg-button--select-all", slot: "footer-start" }, this._componentLocale.footer.btnSelectAll)) : null)), h("gxg-shortcuts", { src: this.shortcutsSrc })));
224
225
  }
225
226
  static get is() { return "gx-ide-object-selector"; }
226
227
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,15 @@
1
+ [
2
+ {
3
+ "selector": "[part~='gxg-button--create']",
4
+ "keyShortcuts": "Enter",
5
+ "action": "click",
6
+ "conditions": {
7
+ "focusExclude": "[part~='gxg-button--cancel']"
8
+ }
9
+ },
10
+ {
11
+ "selector": "[part~='gxg-button--cancel']",
12
+ "keyShortcuts": "Escape",
13
+ "action": "click"
14
+ }
15
+ ]
@@ -1,5 +1,5 @@
1
1
  /* STENCIL IMPORTS */
2
- import { Host, h } from "@stencil/core";
2
+ import { Host, h, getAssetPath } from "@stencil/core";
3
3
  /* CUSTOM IMPORTS */
4
4
  import { Locale } from "../../common/locale";
5
5
  import { config } from "../../common/config";
@@ -8,6 +8,7 @@ import { convertObjectDataToSuggestData, convertReferenceDataToTreeViewData } fr
8
8
  export class GxIdeReferences {
9
9
  constructor() {
10
10
  this.renderedFirstTime = false;
11
+ this.shortcutsSrc = getAssetPath(`./gx-ide-assets/references/shortcuts.json`);
11
12
  /**
12
13
  * The last SelectorCategoryData[] returned by selectorSourceCallback
13
14
  */
@@ -143,6 +144,9 @@ export class GxIdeReferences {
143
144
  this._componentLocale = await Locale.getComponentStrings(this.el);
144
145
  this.evaluateInitialReferenceData();
145
146
  }
147
+ componentDidLoad() {
148
+ this.selectObjectSuggestEl.focus();
149
+ }
146
150
  componentDidRender() {
147
151
  if (!this.renderedFirstTime) {
148
152
  this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
@@ -152,7 +156,7 @@ export class GxIdeReferences {
152
156
  // 10.RENDER() FUNCTION //
153
157
  render() {
154
158
  var _a, _b, _c, _d, _e, _f, _g, _h;
155
- return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { displayBorderBottom: true, noContentPadding: true, containerTitle: this.displayTitle ? this._componentLocale.componentName : null }, h("header", { class: "header", slot: "header" }, h("div", { class: "header__top grid" }, h("gxg-button", { icon: "navigation/arrow-down", type: "secondary-icon-only", class: "hide-bar-button", onClick: this.hideBarButtonClickedHandler, part: "toggle-bar-button" }), h("gxg-label", { labelPosition: "start", class: "suggest-label", part: "select-object-label" }, this._componentLocale.header.selectObject), h("gxg-suggest", null, h("ch-suggest", { value: this.selectedObject.name, onValueChanged: this.selectObjectValueChangedHandler, onSelectionChanged: this.selectObjectSelectionChanged, part: "object-selector-suggest", exportparts: "dropdown:select-object-dropdown" }, renderSuggestLists(this.objectsSuggestions))), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-horizontal", onClick: this.openSelectorDialogCallbackHandler, class: "selector-dialog-button", part: "open-selector-dialog-button" })), h("div", { class: {
159
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { displayBorderBottom: true, noContentPadding: true, containerTitle: this.displayTitle ? this._componentLocale.componentName : null }, h("header", { class: "header", slot: "header" }, h("div", { class: "header__top grid" }, h("gxg-button", { icon: "navigation/arrow-down", type: "secondary-icon-only", class: "hide-bar-button", onClick: this.hideBarButtonClickedHandler, part: "toggle-bar-button" }), h("gxg-label", { labelPosition: "start", class: "suggest-label", part: "select-object-label" }, this._componentLocale.header.selectObject), h("gxg-suggest", null, h("ch-suggest", { value: this.selectedObject.name, onValueChanged: this.selectObjectValueChangedHandler, onSelectionChanged: this.selectObjectSelectionChanged, part: "object-selector-suggest", exportparts: "dropdown:select-object-dropdown", ref: el => (this.selectObjectSuggestEl = el) }, renderSuggestLists(this.objectsSuggestions))), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-horizontal", onClick: this.openSelectorDialogCallbackHandler, class: "selector-dialog-button", part: "open-selector-dialog-button" })), h("div", { class: {
156
160
  "header__bottom": true,
157
161
  "header__bottom--hidden": this.barHidden
158
162
  } }, h("div", { class: "outer-wrapper" }, h("div", { class: "inner-wrapper" }, h("div", { class: "inner-wrapper__left" }, h("gxg-icon", { type: this.selectedObject.icon, color: "auto" }), h("gxg-text", { padding: "s", type: "text-link", part: "open-object-text-link", onClick: this.openObjectCallbackHandler }, `${this.selectedObject.name} : ${this.selectedObject.description}`)), h("div", { class: "inner-wrapper__right gxi-hidden" }, h("gxg-form-checkbox", { id: "references-by-type", label: "Group references by type", required: true, "display-validation-styles": true, part: "references-type-checkbox" })))))), h("main", { class: "main" }, h("gx-ide-container", { containerTitle: this._componentLocale.main.isReferencedBy, noContentPadding: true, part: "referenced-by-container", contentBorderEnd: true, titleType: "secondary" }, h("div", { class: {
@@ -165,7 +169,7 @@ export class GxIdeReferences {
165
169
  "reference-container--no-references": !((_e = this.referencesToTreeData) === null || _e === void 0 ? void 0 : _e.length)
166
170
  } }, h("gxg-tree-view", { class: { "gxi-hidden": !((_f = this.referencesToTreeData) === null || _f === void 0 ? void 0 : _f.length) }, part: "referenced-to-tree", treeModel: this.referencesToTreeData, lazyLoadTreeItemsCallback: this.referencesLazyLoadCallbackHandler("references-to"), onSelectedItemsChange: this.referenceSelectedHandler, dragDisabled: true, dropDisabled: true, onItemOpenReference: this.referencesItemOpenReferenceCallback }), !((_g = this.referencesToTreeData) === null || _g === void 0 ? void 0 : _g.length) && (h("gxg-text", { textAlign: config.gxgMessage.common.textAlign, padding: config.gxgMessage.common.textAlign, type: config.gxgMessage.common.type, maxWidth: config.gxgMessage.common.maxWidth, part: "references-to-text", class: "gx-ide-message" }, ((_h = this.referencesToTreeData) === null || _h === void 0 ? void 0 : _h.length) === 0
167
171
  ? this._componentLocale.main.hasReferencesEmpty
168
- : this._componentLocale.main.hasReferencesToError)))))))));
172
+ : this._componentLocale.main.hasReferencesToError))))))), h("gxg-shortcuts", { src: this.shortcutsSrc })));
169
173
  }
170
174
  static get is() { return "gx-ide-references"; }
171
175
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "selector": "[part='share-kb']",
4
+ "keyShortcuts": "Enter",
5
+ "action": "click"
6
+ }
7
+ ]
@@ -1,7 +1,7 @@
1
1
  // Define your constants
2
2
  const AUTHENTICATION_TYPE = ["GeneXus Account", "Local"];
3
3
  /* STENCIL IMPORTS */
4
- import { Host, h } from "@stencil/core";
4
+ import { Host, h, getAssetPath } from "@stencil/core";
5
5
  /* OTHER LIBRARIES IMPORTS */
6
6
  /* CUSTOM IMPORTS */
7
7
  import { Locale } from "../../common/locale";
@@ -11,6 +11,7 @@ import { renderFormItems } from "../../common/common";
11
11
  export class GxIdeShareKb {
12
12
  constructor() {
13
13
  this.renderedFirstTime = false;
14
+ this.shortcutsSrc = getAssetPath(`./gx-ide-assets/share-kb/shortcuts.json`);
14
15
  // 7.LISTENERS //
15
16
  // 8.PUBLIC METHODS API //
16
17
  this.createKBCallbackHandler = async () => {
@@ -36,6 +37,9 @@ export class GxIdeShareKb {
36
37
  async componentWillLoad() {
37
38
  this._componentLocale = await Locale.getComponentStrings(this.el);
38
39
  }
40
+ componentDidLoad() {
41
+ this.kbNameEl.focus();
42
+ }
39
43
  componentDidRender() {
40
44
  if (!this.renderedFirstTime) {
41
45
  this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
@@ -51,7 +55,7 @@ export class GxIdeShareKb {
51
55
  })), "server-url")), h("gxg-label", { labelPosition: "start", class: "auth-type-label", noMargin: true }, this._componentLocale.main.authentication), h("gxg-combo-box", { labelPosition: "start", placeholder: "https://myexampleserver.com", "max-width": "100%", value: AUTHENTICATION_TYPE[0], ref: (el) => (this.authTypeEl = el), part: "auth-type", class: "auth-type-input" }, renderFormItems("gxg-combo-box-item", AUTHENTICATION_TYPE.map((item) => ({
52
56
  id: item,
53
57
  label: item
54
- })), "auth-type")), h("gxg-label", { labelPosition: "start", class: "user-name-label", noMargin: true }, this._componentLocale.main.userName), h("gxg-form-text", { labelPosition: "start", placeholder: "My User", "max-width": "100%", toolTip: config.tooltip, ref: (el) => (this.userNameEl = el), part: "user-name", class: "user-name-input" }), h("gxg-label", { labelPosition: "start", class: "password-label", noMargin: true }, this._componentLocale.main.password), h("gxg-form-text", { labelPosition: "start", password: true, toolTip: config.tooltip, "max-width": "100%", ref: (el) => (this.passwordEl = el), part: "password", class: "password-input" })), h("gxg-button", { slot: "footer-end", type: "primary-text-icon", icon: "gemini-tools/share", onClick: this.createKBCallbackHandler }, this._componentLocale.footer.shareBtn)))));
58
+ })), "auth-type")), h("gxg-label", { labelPosition: "start", class: "user-name-label", noMargin: true }, this._componentLocale.main.userName), h("gxg-form-text", { labelPosition: "start", placeholder: "My User", "max-width": "100%", toolTip: config.tooltip, ref: (el) => (this.userNameEl = el), part: "user-name", class: "user-name-input" }), h("gxg-label", { labelPosition: "start", class: "password-label", noMargin: true }, this._componentLocale.main.password), h("gxg-form-text", { labelPosition: "start", password: true, toolTip: config.tooltip, "max-width": "100%", ref: (el) => (this.passwordEl = el), part: "password", class: "password-input" })), h("gxg-button", { slot: "footer-end", type: "primary-text-icon", icon: "gemini-tools/share", onClick: this.createKBCallbackHandler, part: "share-kb" }, this._componentLocale.footer.shareBtn))), h("gxg-shortcuts", { src: this.shortcutsSrc })));
55
59
  }
56
60
  static get is() { return "gx-ide-share-kb"; }
57
61
  static get encapsulation() { return "shadow"; }
@@ -198,6 +198,7 @@ export class GxIdeTeamDevCommit {
198
198
  this.loadDataCalledFirstTime = true;
199
199
  this.componentDidLoadEvent.emit(true);
200
200
  this.conditionToCommit();
201
+ this.commitCommentEl.focus();
201
202
  }
202
203
  async componentDidRender() {
203
204
  if (!this.renderedFirstTime) {
@@ -0,0 +1,5 @@
1
+ {
2
+ "componentName": "Team Dev Recent Comment",
3
+ "confirmButton": "Confirm",
4
+ "cancelButton": "Cancel"
5
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "presentation": "「こんにちは、私の名前は {0} です。オレゴンに住んでいます。」"
3
+ }
@@ -55,7 +55,7 @@ export class GxIdeTeamDevSelectRecentComment {
55
55
  "$": ["select-recent-comment.css"]
56
56
  };
57
57
  }
58
- static get assetsDirs() { return ["gx-ide-assets/select-recent-comment"]; }
58
+ static get assetsDirs() { return ["gx-ide-assets/team-dev-select-recent-comment"]; }
59
59
  static get properties() {
60
60
  return {
61
61
  "displayTitle": {
@@ -252,6 +252,7 @@ export class GxIdeTeamDevUpdate {
252
252
  }
253
253
  async componentDidLoad() {
254
254
  await this.loadData();
255
+ this.filterPatternEl.focus();
255
256
  }
256
257
  async componentDidRender() {
257
258
  if (!this.renderedFirstTime) {
@@ -0,0 +1,15 @@
1
+ [
2
+ {
3
+ "selector": "[part='confirm']",
4
+ "keyShortcuts": "Enter",
5
+ "action": "click",
6
+ "conditions": {
7
+ "focusExclude": ["[part='clear']", "[part='cancel']"]
8
+ }
9
+ },
10
+ {
11
+ "selector": "[part='cancel']",
12
+ "keyShortcuts": "Escape",
13
+ "action": "click"
14
+ }
15
+ ]
@@ -1,5 +1,5 @@
1
1
  /* STENCIL IMPORTS */
2
- import { Host, h } from "@stencil/core";
2
+ import { Host, h, getAssetPath } from "@stencil/core";
3
3
  /* OTHER LIBRARIES IMPORTS */
4
4
  /* CUSTOM IMPORTS */
5
5
  import { Locale } from "../../../common/locale";
@@ -8,6 +8,7 @@ import { gridCommon } from "../../../common/grid";
8
8
  export class GxIdeTeamDevUpdatePartialSelection {
9
9
  constructor() {
10
10
  this.renderedFirstTime = false;
11
+ this.shortcutsSrc = getAssetPath(`./gx-ide-assets/team-dev-update-partial-selection/shortcuts.json`);
11
12
  // 9.LOCAL METHODS //
12
13
  this.renderObjects = () => {
13
14
  return (h("gxg-grid", { "ellipsis-cell-wrapper": true, noBorder: true }, h("ch-grid", { "row-selection-mode": "multiple", ref: (el) => (this.chGridEl = el), part: "ch-grid-objects" }, h("ch-grid-columnset", null, h("ch-grid-column", { columnName: "", settingable: false, sortable: false, size: gridCommon.colSize.minContent }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.name, settingable: false, size: gridCommon.colSize.auto }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.type, settingable: false, size: gridCommon.colSize.auto }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.description, settingable: false, size: gridCommon.colSize.auto }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.modifiedOn, settingable: false, size: gridCommon.colSize.auto })), this.selection.map((obj) => (h("ch-grid-row", { rowid: obj.id, key: obj.id }, h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, h("gxg-icon", { type: obj.typeIcon, color: "auto" }))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, obj.name)), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, obj.type)), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, obj.description)), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, `${obj.modifiedOn.toISOString().slice(0, 10)}`))))))));
@@ -77,7 +78,7 @@ export class GxIdeTeamDevUpdatePartialSelection {
77
78
  }
78
79
  // 10.RENDER() FUNCTION //
79
80
  render() {
80
- return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noContentGap: true, containerTitle: this.displayTitle ? this._componentLocale.componentName : null, slimmerFooter: config.gxIdeContainer.slimmerFooter }, h("div", { class: "top-actions" }, h("gxg-button", { id: "button-add", type: "outlined", icon: "gemini-tools/add", onClick: this.getObjectsHandler, part: "add" }, this._componentLocale.btnAddObject), h("gxg-button", { id: "button-remove", type: "secondary-text-only", onClick: this.removeSelectedObjectsHandler, part: "remove", disabled: !(this.selectedObjectsIds.length > 0) }, this._componentLocale.btnRemoveSelectedObjects)), this.renderObjects(), h("gxg-text", { id: "button-clear", type: "button-like", onClick: this.removeAllHandler, disabled: !(this.selection.length > 0), part: "clear", slot: "footer-start" }, this._componentLocale.footer.btnRemoveAll), h("gxg-button", { id: "button-cancel", type: "outlined", onClick: this.cancelHandler, part: "cancel", slot: "footer-end" }, this._componentLocale.footer.btnCancel), h("gxg-button", { id: "button-ok", type: "primary-text-only", onClick: this.confirmHandler, part: "confirm", slot: "footer-end" }, this._componentLocale.footer.btnConfirm)))));
81
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noContentGap: true, containerTitle: this.displayTitle ? this._componentLocale.componentName : null, slimmerFooter: config.gxIdeContainer.slimmerFooter }, h("div", { class: "top-actions" }, h("gxg-button", { id: "button-add", type: "outlined", icon: "gemini-tools/add", onClick: this.getObjectsHandler, part: "add" }, this._componentLocale.btnAddObject), h("gxg-button", { id: "button-remove", type: "secondary-text-only", onClick: this.removeSelectedObjectsHandler, part: "remove", disabled: !(this.selectedObjectsIds.length > 0) }, this._componentLocale.btnRemoveSelectedObjects)), this.renderObjects(), h("gxg-text", { id: "button-clear", type: "button-like", onClick: this.removeAllHandler, disabled: !(this.selection.length > 0), part: "clear", slot: "footer-start" }, this._componentLocale.footer.btnRemoveAll), h("gxg-button", { id: "button-cancel", type: "outlined", onClick: this.cancelHandler, part: "cancel", slot: "footer-end" }, this._componentLocale.footer.btnCancel), h("gxg-button", { id: "button-ok", type: "primary-text-only", onClick: this.confirmHandler, part: "confirm", slot: "footer-end" }, this._componentLocale.footer.btnConfirm))), h("gxg-shortcuts", { src: this.shortcutsSrc })));
81
82
  }
82
83
  static get is() { return "gx-ide-team-dev-update-partial-selection"; }
83
84
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,15 @@
1
+ [
2
+ {
3
+ "selector": "[part='update']",
4
+ "keyShortcuts": "Enter",
5
+ "action": "click",
6
+ "conditions": {
7
+ "focusExclude": "[part='cancel']"
8
+ }
9
+ },
10
+ {
11
+ "selector": "[part='cancel']",
12
+ "keyShortcuts": "Escape",
13
+ "action": "click"
14
+ }
15
+ ]
@@ -1,5 +1,5 @@
1
1
  /* STENCIL IMPORTS */
2
- import { Host, h } from "@stencil/core";
2
+ import { Host, h, getAssetPath } from "@stencil/core";
3
3
  /* OTHER LIBRARIES IMPORTS */
4
4
  /* CUSTOM IMPORTS */
5
5
  import { Locale } from "../../../common/locale";
@@ -7,6 +7,7 @@ import { config } from "../../../common/config";
7
7
  export class GxIdeTeamDevUpdateToRevision {
8
8
  constructor() {
9
9
  this.renderedFirstTime = false;
10
+ this.shortcutsSrc = getAssetPath(`./gx-ide-assets/team-dev-update-to-revision/shortcuts.json`);
10
11
  // 9.LOCAL METHODS //
11
12
  this.setInitialCheckedRadio = () => {
12
13
  if (this.currentRevision === undefined) {
@@ -41,6 +42,7 @@ export class GxIdeTeamDevUpdateToRevision {
41
42
  componentDidLoad() {
42
43
  this.componentDidLoadEvent.emit(true);
43
44
  this.setInitialCheckedRadio();
45
+ this.revisionNumberEl.focus();
44
46
  }
45
47
  componentDidRender() {
46
48
  if (!this.renderedFirstTime) {
@@ -59,7 +61,7 @@ export class GxIdeTeamDevUpdateToRevision {
59
61
  }
60
62
  // 10.RENDER() FUNCTION //
61
63
  render() {
62
- return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { slimmerFooter: config.gxIdeContainer.slimmerFooter, containerTitle: this.displayTitle ? this._componentLocale.componentName : null }, h("gxg-form-radio-group", null, h("gxg-form-radio", { label: this._componentLocale.options.updateToLatest, value: "updateToLatest", ref: (el) => (this.updateToLatestEl = el), part: "radio-to-latest" }), h("div", { class: "revision-number" }, h("gxg-form-radio", { label: this._componentLocale.options.updateToRevision, value: "updateToRevision", ref: (el) => (this.updateToRevisionEl = el), part: "radio-to-revision" }), h("gxg-form-text", { ref: (el) => (this.revisionNumberEl = el), onFocus: this.updateToRevisionOnFocusHandler, value: this.currentRevision, part: "revision-number" }))), h("gxg-button", { id: "button-cancel", type: "outlined", onClick: this.cancel, part: "cancel", slot: "footer-end" }, this._componentLocale.footer.btnCancel), h("gxg-button", { id: "button-ok", type: "primary-text-only", onClick: this.confirm, part: "update", slot: "footer-end" }, this._componentLocale.footer.btnUpdate)))));
64
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { slimmerFooter: config.gxIdeContainer.slimmerFooter, containerTitle: this.displayTitle ? this._componentLocale.componentName : null }, h("gxg-form-radio-group", null, h("gxg-form-radio", { label: this._componentLocale.options.updateToLatest, value: "updateToLatest", ref: (el) => (this.updateToLatestEl = el), part: "radio-to-latest" }), h("div", { class: "revision-number" }, h("gxg-form-radio", { label: this._componentLocale.options.updateToRevision, value: "updateToRevision", ref: (el) => (this.updateToRevisionEl = el), part: "radio-to-revision" }), h("gxg-form-text", { ref: (el) => (this.revisionNumberEl = el), onFocus: this.updateToRevisionOnFocusHandler, value: this.currentRevision, part: "revision-number" }))), h("gxg-button", { id: "button-cancel", type: "outlined", onClick: this.cancel, part: "cancel", slot: "footer-end" }, this._componentLocale.footer.btnCancel), h("gxg-button", { id: "button-ok", type: "primary-text-only", onClick: this.confirm, part: "update", slot: "footer-end" }, this._componentLocale.footer.btnUpdate))), h("gxg-shortcuts", { src: this.shortcutsSrc })));
63
65
  }
64
66
  static get is() { return "gx-ide-team-dev-update-to-revision"; }
65
67
  static get encapsulation() { return "shadow"; }
@@ -300,6 +300,7 @@ export class GxIdeWWImages {
300
300
  this.listenChanges();
301
301
  this.getImages();
302
302
  this.saveInitialFilterData();
303
+ this.filterNameEl.focus();
303
304
  }
304
305
  componentDidRender() {
305
306
  if (!this.renderedFirstTime) {
@@ -53,6 +53,10 @@ const GxgComboBox = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
53
53
  * The presence of this attribute displays a tooltip message, instead of a block message below the control
54
54
  */
55
55
  this.toolTip = false;
56
+ /**
57
+ * If true, it will prevent Enter key propagation only when the list is open. This prop. was created to prevent issues with ch-shortcuts, when an Enter key has to fire a callback on another element (such as a button) but it has to be ignored when the list is open, since an Enter key on a list-box-item, has to select the item only.
58
+ */
59
+ this.preventEnterPropagation = false;
56
60
  /**
57
61
  * The presence of this attribute makes the input disabled
58
62
  */
@@ -172,6 +176,9 @@ const GxgComboBox = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
172
176
  repositionScroll(this.itemsContainer, this.selectedItem, KeyboardKeys.ARROW_UP);
173
177
  }
174
178
  else if (e.code === KeyboardKeys.ENTER) {
179
+ if (this.preventEnterPropagation && this.listIsOpen) {
180
+ e.stopPropagation();
181
+ }
175
182
  this.hideList();
176
183
  this.showAllItems();
177
184
  }
@@ -461,7 +468,7 @@ const GxgComboBox = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
461
468
  this.inputText.focus();
462
469
  }
463
470
  }
464
- /*********************************
471
+ /********************************
465
472
  WATCH
466
473
  *********************************/
467
474
  onValueChanged(newValue) {
@@ -636,6 +643,7 @@ const GxgComboBox = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
636
643
  }, [17, "gxg-combo-box", {
637
644
  "popOver": [4, "pop-over"],
638
645
  "toolTip": [4, "tool-tip"],
646
+ "preventEnterPropagation": [4, "prevent-enter-propagation"],
639
647
  "fixedIcon": [1, "fixed-icon"],
640
648
  "disabled": [4],
641
649
  "label": [1],
@@ -16,7 +16,7 @@ const renderFormItems = (componentType = "gxg-combo-box-item", options, group =
16
16
  items.push(item);
17
17
  break;
18
18
  case "gxg-form-radio":
19
- item = (h("gxg-form-radio", { "radio-id": option.id, checked: option.checked, disabled: option.disabled, label: option.label, value: option.value, name: group, part: `${group}-${option.id}` }));
19
+ item = (h("gxg-form-radio", { radioId: option.id, checked: option.checked, disabled: option.disabled, label: option.label, value: option.value, name: group, part: `${group}-${option.id}` }));
20
20
  items.push(item);
21
21
  break;
22
22
  }
@@ -104,7 +104,7 @@ const GxgFormCheckbox = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
104
104
  });
105
105
  }
106
106
  handlerOnKeyUp(event) {
107
- if (event.code == "Enter") {
107
+ if (event.code == "Space") {
108
108
  this.checked = !this.checked;
109
109
  }
110
110
  }
@@ -167,14 +167,10 @@ const GxgFormRadioGroup = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
167
167
  newRadio = radiosArray[currentRadioIndex - 1];
168
168
  }
169
169
  }
170
- else if (key === "Enter") {
171
- const gxgFormRadio = currentRadio;
172
- if (!gxgFormRadio.checked) {
173
- this.value = gxgFormRadio.value;
174
- }
175
- }
176
170
  if (newRadio) {
177
171
  newRadio.focus();
172
+ newRadio.checked = true;
173
+ this.value = newRadio.value;
178
174
  }
179
175
  }
180
176
  }
@@ -23,7 +23,7 @@ const GxgFormRadio = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
23
23
  * The presence of this attribute disables the radio
24
24
  */
25
25
  this.disabled = false;
26
- this.clickedHandler = () => {
26
+ this.clickedHandler = (e) => {
27
27
  this.checked = true;
28
28
  };
29
29
  }
@@ -38,8 +38,8 @@ const GxgFormRadio = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
38
38
  });
39
39
  }
40
40
  }
41
- handlerOnKeyDown(event) {
42
- this.keyPressed.emit(event.key);
41
+ handlerOnKeyDown(e) {
42
+ this.keyPressed.emit(e.key);
43
43
  }
44
44
  render() {
45
45
  return (h(Host, { class: { "gxg-form-radio--disabled": this.disabled } }, h("gxg-label", { noMargin: true, class: "label", disabled: this.disabled, onClick: this.clickedHandler }, h("input", { ref: (el) => (this.radioInput = el), type: "radio", name: this.name, value: this.value, disabled: this.disabled, onKeyDown: this.handlerOnKeyDown.bind(this), checked: this.checked, class: { checked: this.checked } }), h("span", { class: { radiobtn: true, "radiobtn--error": this.error } }), this.label)));