@genexus/genexus-ide-ui 1.0.68 → 1.0.70

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 (77) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-new-version.cjs.entry.js +101 -0
  3. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -0
  4. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +2 -1
  5. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-sign-in.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +372 -0
  9. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -0
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/collection/collection-manifest.json +2 -0
  12. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.en.json +16 -0
  13. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.ja.json +16 -0
  14. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.zh.json +16 -0
  15. package/dist/collection/components/new-version/new-version.css +17 -0
  16. package/dist/collection/components/new-version/new-version.js +181 -0
  17. package/dist/collection/components/new-version/new-version.js.map +1 -0
  18. package/dist/collection/components/select-kb-items/select-kb-items.js +20 -1
  19. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  20. package/dist/collection/components/sign-in/gx-ide-assets/sign-in/langs/sign-in.lang.en.json +3 -3
  21. package/dist/collection/components/sign-in/sign-in.js +1 -1
  22. package/dist/collection/components/sign-in/sign-in.js.map +1 -1
  23. package/dist/collection/components/ww-files/gx-ide-assets/ww-files/langs/ww-files.lang.en.json +45 -0
  24. package/dist/collection/components/ww-files/gx-ide-assets/ww-files/langs/ww-files.lang.ja.json +45 -0
  25. package/dist/collection/components/ww-files/gx-ide-assets/ww-files/langs/ww-files.lang.zh.json +45 -0
  26. package/dist/collection/components/ww-files/helpers.js +11 -0
  27. package/dist/collection/components/ww-files/helpers.js.map +1 -0
  28. package/dist/collection/components/ww-files/ww-files.css +147 -0
  29. package/dist/collection/components/ww-files/ww-files.js +822 -0
  30. package/dist/collection/components/ww-files/ww-files.js.map +1 -0
  31. package/dist/collection/testing/locale.e2e.js +2 -0
  32. package/dist/collection/testing/locale.e2e.js.map +1 -1
  33. package/dist/components/gx-ide-new-version.d.ts +11 -0
  34. package/dist/components/gx-ide-new-version.js +124 -0
  35. package/dist/components/gx-ide-new-version.js.map +1 -0
  36. package/dist/components/gx-ide-select-kb-items.js +3 -1
  37. package/dist/components/gx-ide-select-kb-items.js.map +1 -1
  38. package/dist/components/gx-ide-sign-in.js +1 -1
  39. package/dist/components/gx-ide-sign-in.js.map +1 -1
  40. package/dist/components/gx-ide-ww-files.d.ts +11 -0
  41. package/dist/components/gx-ide-ww-files.js +427 -0
  42. package/dist/components/gx-ide-ww-files.js.map +1 -0
  43. package/dist/esm/genexus-ide-ui.js +1 -1
  44. package/dist/esm/gx-ide-new-version.entry.js +97 -0
  45. package/dist/esm/gx-ide-new-version.entry.js.map +1 -0
  46. package/dist/esm/gx-ide-select-kb-items.entry.js +2 -1
  47. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  48. package/dist/esm/gx-ide-sign-in.entry.js +1 -1
  49. package/dist/esm/gx-ide-sign-in.entry.js.map +1 -1
  50. package/dist/esm/gx-ide-ww-files.entry.js +368 -0
  51. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -0
  52. package/dist/esm/loader.js +1 -1
  53. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  54. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  55. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.en.json +16 -0
  56. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.ja.json +16 -0
  57. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.zh.json +16 -0
  58. package/dist/genexus-ide-ui/gx-ide-assets/sign-in/langs/sign-in.lang.en.json +3 -3
  59. package/dist/genexus-ide-ui/gx-ide-assets/ww-files/langs/ww-files.lang.en.json +45 -0
  60. package/dist/genexus-ide-ui/gx-ide-assets/ww-files/langs/ww-files.lang.ja.json +45 -0
  61. package/dist/genexus-ide-ui/gx-ide-assets/ww-files/langs/ww-files.lang.zh.json +45 -0
  62. package/dist/genexus-ide-ui/{p-842a081e.entry.js → p-6b957e82.entry.js} +2 -4
  63. package/dist/genexus-ide-ui/p-6b957e82.entry.js.map +1 -0
  64. package/dist/genexus-ide-ui/{p-6331b2f2.entry.js → p-72d32141.entry.js} +10 -8
  65. package/dist/genexus-ide-ui/p-72d32141.entry.js.map +1 -0
  66. package/dist/genexus-ide-ui/p-839f1b44.entry.js +564 -0
  67. package/dist/genexus-ide-ui/p-839f1b44.entry.js.map +1 -0
  68. package/dist/genexus-ide-ui/p-c91af626.entry.js +149 -0
  69. package/dist/genexus-ide-ui/p-c91af626.entry.js.map +1 -0
  70. package/dist/types/components/new-version/new-version.d.ts +36 -0
  71. package/dist/types/components/select-kb-items/select-kb-items.d.ts +4 -0
  72. package/dist/types/components/ww-files/helpers.d.ts +3 -0
  73. package/dist/types/components/ww-files/ww-files.d.ts +172 -0
  74. package/dist/types/components.d.ts +251 -12
  75. package/package.json +1 -1
  76. package/dist/genexus-ide-ui/p-6331b2f2.entry.js.map +0 -1
  77. package/dist/genexus-ide-ui/p-842a081e.entry.js.map +0 -1
@@ -44,6 +44,7 @@ import { CancelCallback as CancelCallback9, CloseCallback, ConfirmCallback as Co
44
44
  import { CancelCallback as CancelCallback10, CreateCallback, GetDataSourcesCallback, GetEnvironmentNameCallback, GetFrontEndsCallback } from "./components/new-environment/new-environment";
45
45
  import { CancelCallback as CancelCallback11, CreateCallback as CreateCallback1, GetDataSourcesCallback as GetDataSourcesCallback1, GetFrontEndsCallback as GetFrontEndsCallback1, SelectLocationCallback } from "./components/new-kb/new-kb";
46
46
  import { CancelCallback as CancelCallback12, CreateCallback as CreateCallback2, NewObjectData, SelectModuleCallback as SelectModuleCallback1, SuggestDescriptionCallback, SuggestNameCallback, TypeCategoryData, ValidateNameCallback } from "./components/new-object/new-object";
47
+ import { NewVersionData } from "./components/new-version/new-version";
47
48
  import { CancelCallback as CancelCallback13, LoadCallback as LoadCallback2, NewObjectCallback, OpenSelectionCallback, SelectModuleCallback as SelectModuleCallback2 } from "./components/object-selector/object-selector";
48
49
  import { LoadReferencesCallback, ObjectData as ObjectData1, OpenObjectCallback, OpenSelectorDialogCallback, SelectorSourceCallback, SelectReferenceCallback } from "./components/references/references";
49
50
  import { CheckboxType, DialogAction, ItemNode } from "./components/select-kb-items/select-kb-items";
@@ -62,7 +63,8 @@ import { TitleAlignment as TitleAlignment1, TitleType as TitleType1 } from "./co
62
63
  import { CloseCallback as CloseCallback1, SlideInfo, TransitionType } from "./components/welcome-page/welcome-page";
63
64
  import { WFConfigData } from "./components/wf-settings/wf-settings";
64
65
  import { ContextMenuCallback, DeleteSelectionCallback, LoadCallback as LoadCallback5, ObjectActionCallback, OpenSelectionCallback as OpenSelectionCallback1, SelectionChangeCallback } from "./components/ww-attributes/ww-attributes";
65
- import { ContextMenuCallback as ContextMenuCallback1, DeleteSelectionCallback as DeleteSelectionCallback1, LoadCallback as LoadCallback6, LoadImageItemsCallback, NewObjectCallback as NewObjectCallback1, OpenSelectionCallback as OpenSelectionCallback2, SelectionObjectCallback, SelectModuleCallback as SelectModuleCallback3 } from "./components/ww-images/ww-images";
66
+ import { ContextMenuCallback as ContextMenuCallback1, DeleteSelectionCallback as DeleteSelectionCallback1, LoadCallback as LoadCallback6, NewFileCallback, OpenSelectionCallback as OpenSelectionCallback2, SelectionChangeCallback as SelectionChangeCallback1, SelectModuleCallback as SelectModuleCallback3 } from "./components/ww-files/ww-files";
67
+ import { ContextMenuCallback as ContextMenuCallback2, DeleteSelectionCallback as DeleteSelectionCallback2, LoadCallback as LoadCallback7, LoadImageItemsCallback, NewObjectCallback as NewObjectCallback1, OpenSelectionCallback as OpenSelectionCallback3, SelectionObjectCallback, SelectModuleCallback as SelectModuleCallback4 } from "./components/ww-images/ww-images";
66
68
  export { DetailsCallback, PrivacyPolicyCallback, TermsAndConditionsCallback } from "./components/_branding/about/about";
67
69
  export { AiStatus, Message, UserMessageCallback } from "./components/ai-assistant/ai-assistant";
68
70
  export { MessageType } from "./components/ai-assistant/ai-assistant";
@@ -102,6 +104,7 @@ export { CancelCallback as CancelCallback9, CloseCallback, ConfirmCallback as Co
102
104
  export { CancelCallback as CancelCallback10, CreateCallback, GetDataSourcesCallback, GetEnvironmentNameCallback, GetFrontEndsCallback } from "./components/new-environment/new-environment";
103
105
  export { CancelCallback as CancelCallback11, CreateCallback as CreateCallback1, GetDataSourcesCallback as GetDataSourcesCallback1, GetFrontEndsCallback as GetFrontEndsCallback1, SelectLocationCallback } from "./components/new-kb/new-kb";
104
106
  export { CancelCallback as CancelCallback12, CreateCallback as CreateCallback2, NewObjectData, SelectModuleCallback as SelectModuleCallback1, SuggestDescriptionCallback, SuggestNameCallback, TypeCategoryData, ValidateNameCallback } from "./components/new-object/new-object";
107
+ export { NewVersionData } from "./components/new-version/new-version";
105
108
  export { CancelCallback as CancelCallback13, LoadCallback as LoadCallback2, NewObjectCallback, OpenSelectionCallback, SelectModuleCallback as SelectModuleCallback2 } from "./components/object-selector/object-selector";
106
109
  export { LoadReferencesCallback, ObjectData as ObjectData1, OpenObjectCallback, OpenSelectorDialogCallback, SelectorSourceCallback, SelectReferenceCallback } from "./components/references/references";
107
110
  export { CheckboxType, DialogAction, ItemNode } from "./components/select-kb-items/select-kb-items";
@@ -120,7 +123,8 @@ export { TitleAlignment as TitleAlignment1, TitleType as TitleType1 } from "./co
120
123
  export { CloseCallback as CloseCallback1, SlideInfo, TransitionType } from "./components/welcome-page/welcome-page";
121
124
  export { WFConfigData } from "./components/wf-settings/wf-settings";
122
125
  export { ContextMenuCallback, DeleteSelectionCallback, LoadCallback as LoadCallback5, ObjectActionCallback, OpenSelectionCallback as OpenSelectionCallback1, SelectionChangeCallback } from "./components/ww-attributes/ww-attributes";
123
- export { ContextMenuCallback as ContextMenuCallback1, DeleteSelectionCallback as DeleteSelectionCallback1, LoadCallback as LoadCallback6, LoadImageItemsCallback, NewObjectCallback as NewObjectCallback1, OpenSelectionCallback as OpenSelectionCallback2, SelectionObjectCallback, SelectModuleCallback as SelectModuleCallback3 } from "./components/ww-images/ww-images";
126
+ export { ContextMenuCallback as ContextMenuCallback1, DeleteSelectionCallback as DeleteSelectionCallback1, LoadCallback as LoadCallback6, NewFileCallback, OpenSelectionCallback as OpenSelectionCallback2, SelectionChangeCallback as SelectionChangeCallback1, SelectModuleCallback as SelectModuleCallback3 } from "./components/ww-files/ww-files";
127
+ export { ContextMenuCallback as ContextMenuCallback2, DeleteSelectionCallback as DeleteSelectionCallback2, LoadCallback as LoadCallback7, LoadImageItemsCallback, NewObjectCallback as NewObjectCallback1, OpenSelectionCallback as OpenSelectionCallback3, SelectionObjectCallback, SelectModuleCallback as SelectModuleCallback4 } from "./components/ww-images/ww-images";
124
128
  export namespace Components {
125
129
  interface GxIdeAbout {
126
130
  /**
@@ -1419,6 +1423,22 @@ export namespace Components {
1419
1423
  */
1420
1424
  "validateNameCallback": ValidateNameCallback;
1421
1425
  }
1426
+ interface GxIdeNewVersion {
1427
+ /**
1428
+ * Callback that must be invoked when the 'Cancel' button is pressed.
1429
+ */
1430
+ "cancelCallback": () => Promise<void>;
1431
+ /**
1432
+ * Callback that must be invoked when the 'Create' button is pressed.
1433
+ */
1434
+ "createCallback": (
1435
+ newVersionData: NewVersionData
1436
+ ) => Promise<void>;
1437
+ /**
1438
+ * This property is used to set the initial values of the input fields when the component is loaded.
1439
+ */
1440
+ "defaultInputValues": NewVersionData;
1441
+ }
1422
1442
  interface GxIdeObjectSelector {
1423
1443
  /**
1424
1444
  * Callback invoked when the user wishes to cancel the selection of objects.
@@ -1530,6 +1550,10 @@ export namespace Components {
1530
1550
  * Set of additional actions (callbacks) to those already provided by default by the selector (cancelCallback and selectCallback)
1531
1551
  */
1532
1552
  "dialogActions": DialogAction[];
1553
+ /**
1554
+ * Define if a item node is expanded on click interaction. If false item-node will only be expanded on double click.
1555
+ */
1556
+ "expandOnClick": boolean;
1533
1557
  /**
1534
1558
  * Callback emitted when the user right click on an item
1535
1559
  */
@@ -2049,6 +2073,89 @@ export namespace Components {
2049
2073
  */
2050
2074
  "validate": () => Promise<boolean>;
2051
2075
  }
2076
+ interface GxIdeWwFiles {
2077
+ /**
2078
+ * The categories render in the filter category selector
2079
+ */
2080
+ "categories": GxOption[];
2081
+ /**
2082
+ * This is a function provided by the developer for show the context menu of the selected files.
2083
+ */
2084
+ "contextMenuCallback": ContextMenuCallback1;
2085
+ /**
2086
+ * The default value for the category filter
2087
+ */
2088
+ "defaultCategory": string;
2089
+ /**
2090
+ * The default value for the module/folder filter
2091
+ */
2092
+ "defaultModule": EntityData;
2093
+ /**
2094
+ * This is a function provided by the developer for delete the selected files.
2095
+ */
2096
+ "deleteSelectionCallback": DeleteSelectionCallback1;
2097
+ /**
2098
+ * The modules/folders render in the module/folder selector
2099
+ */
2100
+ "filterModules": GxOption[];
2101
+ /**
2102
+ * This is a function provided by the developer that return a list of files to populate the table of files.
2103
+ */
2104
+ "loadCallback": LoadCallback6;
2105
+ "newFileCallback": NewFileCallback;
2106
+ /**
2107
+ * This is a function provided by the developer to expand the data of files that is double-clicked or entered.
2108
+ */
2109
+ "openSelectionCallback": OpenSelectionCallback2;
2110
+ /**
2111
+ * This method reload the view, refreshing the filters and the table of files.
2112
+ */
2113
+ "reload": () => Promise<void>;
2114
+ /**
2115
+ * Callback invoked when the action is executed on the Module/Folder filter (button '...'). It returns the information of the selected object (id and name) or 'undefined' if it was canceled.
2116
+ */
2117
+ "selectModuleCallback": SelectModuleCallback3;
2118
+ /**
2119
+ * This is a function provided by the developer for expanded the data of files that is double-clicked or entered.
2120
+ */
2121
+ "selectionChangeCallback": SelectionChangeCallback1;
2122
+ /**
2123
+ * Controls whether to show the description column in the grid
2124
+ */
2125
+ "showDescription": boolean;
2126
+ /**
2127
+ * Controls whether to show the import date column in the grid
2128
+ */
2129
+ "showImportDate": boolean;
2130
+ /**
2131
+ * Controls whether to show the last build date column in the grid
2132
+ */
2133
+ "showLastBuildDate": boolean;
2134
+ /**
2135
+ * Controls whether to show the last user column in the grid
2136
+ */
2137
+ "showLastUser": boolean;
2138
+ /**
2139
+ * Controls whether to show the modified date column in the grid
2140
+ */
2141
+ "showModifiedDate": boolean;
2142
+ /**
2143
+ * Controls whether to show the Search contents field in the advanced filter section
2144
+ */
2145
+ "showSearchContents": boolean;
2146
+ /**
2147
+ * Controls whether to show the type column in the grid
2148
+ */
2149
+ "showType": boolean;
2150
+ /**
2151
+ * The types render in the filter type selector
2152
+ */
2153
+ "types": GxOption[];
2154
+ /**
2155
+ * Validate necessary data input
2156
+ */
2157
+ "validate": () => Promise<boolean>;
2158
+ }
2052
2159
  interface GxIdeWwImages {
2053
2160
  /**
2054
2161
  * The categories render in the filter category selector
@@ -2057,7 +2164,7 @@ export namespace Components {
2057
2164
  /**
2058
2165
  * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
2059
2166
  */
2060
- "contextMenuCallback": ContextMenuCallback1;
2167
+ "contextMenuCallback": ContextMenuCallback2;
2061
2168
  /**
2062
2169
  * The default value for the 'categories' filter
2063
2170
  */
@@ -2073,7 +2180,7 @@ export namespace Components {
2073
2180
  /**
2074
2181
  * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
2075
2182
  */
2076
- "deleteSelectionCallback": DeleteSelectionCallback1;
2183
+ "deleteSelectionCallback": DeleteSelectionCallback2;
2077
2184
  /**
2078
2185
  * The densities render in the filter density selector
2079
2186
  */
@@ -2097,7 +2204,7 @@ export namespace Components {
2097
2204
  /**
2098
2205
  * This is a function provided by the developer that return a list of images to populate the table of images.
2099
2206
  */
2100
- "loadCallback": LoadCallback6;
2207
+ "loadCallback": LoadCallback7;
2101
2208
  /**
2102
2209
  * This is a function provided by the developer that return a list of items of the image selected.
2103
2210
  */
@@ -2109,7 +2216,7 @@ export namespace Components {
2109
2216
  /**
2110
2217
  * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
2111
2218
  */
2112
- "openSelectionCallback": OpenSelectionCallback2;
2219
+ "openSelectionCallback": OpenSelectionCallback3;
2113
2220
  /**
2114
2221
  * This method reload the view, refreshing the filters and the table of images.
2115
2222
  */
@@ -2121,7 +2228,7 @@ export namespace Components {
2121
2228
  /**
2122
2229
  * Callback invoked when the action is executed on the Module/Folder filter (button '...'). It returns the information of the selected object (id and name) or 'undefined' if it was canceled.
2123
2230
  */
2124
- "selectModuleCallback": SelectModuleCallback3;
2231
+ "selectModuleCallback": SelectModuleCallback4;
2125
2232
  /**
2126
2233
  * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
2127
2234
  */
@@ -2256,6 +2363,10 @@ export interface GxIdeWfSettingsCustomEvent<T> extends CustomEvent<T> {
2256
2363
  detail: T;
2257
2364
  target: HTMLGxIdeWfSettingsElement;
2258
2365
  }
2366
+ export interface GxIdeWwFilesCustomEvent<T> extends CustomEvent<T> {
2367
+ detail: T;
2368
+ target: HTMLGxIdeWwFilesElement;
2369
+ }
2259
2370
  export interface GxIdeWwImagesCustomEvent<T> extends CustomEvent<T> {
2260
2371
  detail: T;
2261
2372
  target: HTMLGxIdeWwImagesElement;
@@ -2691,6 +2802,12 @@ declare global {
2691
2802
  prototype: HTMLGxIdeNewObjectElement;
2692
2803
  new (): HTMLGxIdeNewObjectElement;
2693
2804
  };
2805
+ interface HTMLGxIdeNewVersionElement extends Components.GxIdeNewVersion, HTMLStencilElement {
2806
+ }
2807
+ var HTMLGxIdeNewVersionElement: {
2808
+ prototype: HTMLGxIdeNewVersionElement;
2809
+ new (): HTMLGxIdeNewVersionElement;
2810
+ };
2694
2811
  interface HTMLGxIdeObjectSelectorElement extends Components.GxIdeObjectSelector, HTMLStencilElement {
2695
2812
  }
2696
2813
  var HTMLGxIdeObjectSelectorElement: {
@@ -2945,6 +3062,23 @@ declare global {
2945
3062
  prototype: HTMLGxIdeWwAttributesElement;
2946
3063
  new (): HTMLGxIdeWwAttributesElement;
2947
3064
  };
3065
+ interface HTMLGxIdeWwFilesElementEventMap {
3066
+ "componentDidLoadEvent": boolean;
3067
+ }
3068
+ interface HTMLGxIdeWwFilesElement extends Components.GxIdeWwFiles, HTMLStencilElement {
3069
+ addEventListener<K extends keyof HTMLGxIdeWwFilesElementEventMap>(type: K, listener: (this: HTMLGxIdeWwFilesElement, ev: GxIdeWwFilesCustomEvent<HTMLGxIdeWwFilesElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3070
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3071
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3072
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3073
+ removeEventListener<K extends keyof HTMLGxIdeWwFilesElementEventMap>(type: K, listener: (this: HTMLGxIdeWwFilesElement, ev: GxIdeWwFilesCustomEvent<HTMLGxIdeWwFilesElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3074
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3075
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3076
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3077
+ }
3078
+ var HTMLGxIdeWwFilesElement: {
3079
+ prototype: HTMLGxIdeWwFilesElement;
3080
+ new (): HTMLGxIdeWwFilesElement;
3081
+ };
2948
3082
  interface HTMLGxIdeWwImagesElementEventMap {
2949
3083
  "componentDidLoadEvent": boolean;
2950
3084
  "componentDidRenderFirstTime": string;
@@ -3000,6 +3134,7 @@ declare global {
3000
3134
  "gx-ide-new-environment": HTMLGxIdeNewEnvironmentElement;
3001
3135
  "gx-ide-new-kb": HTMLGxIdeNewKbElement;
3002
3136
  "gx-ide-new-object": HTMLGxIdeNewObjectElement;
3137
+ "gx-ide-new-version": HTMLGxIdeNewVersionElement;
3003
3138
  "gx-ide-object-selector": HTMLGxIdeObjectSelectorElement;
3004
3139
  "gx-ide-references": HTMLGxIdeReferencesElement;
3005
3140
  "gx-ide-sc-chat-container": HTMLGxIdeScChatContainerElement;
@@ -3025,6 +3160,7 @@ declare global {
3025
3160
  "gx-ide-welcome-page": HTMLGxIdeWelcomePageElement;
3026
3161
  "gx-ide-wf-settings": HTMLGxIdeWfSettingsElement;
3027
3162
  "gx-ide-ww-attributes": HTMLGxIdeWwAttributesElement;
3163
+ "gx-ide-ww-files": HTMLGxIdeWwFilesElement;
3028
3164
  "gx-ide-ww-images": HTMLGxIdeWwImagesElement;
3029
3165
  }
3030
3166
  }
@@ -4374,6 +4510,22 @@ declare namespace LocalJSX {
4374
4510
  */
4375
4511
  "validateNameCallback"?: ValidateNameCallback;
4376
4512
  }
4513
+ interface GxIdeNewVersion {
4514
+ /**
4515
+ * Callback that must be invoked when the 'Cancel' button is pressed.
4516
+ */
4517
+ "cancelCallback"?: () => Promise<void>;
4518
+ /**
4519
+ * Callback that must be invoked when the 'Create' button is pressed.
4520
+ */
4521
+ "createCallback"?: (
4522
+ newVersionData: NewVersionData
4523
+ ) => Promise<void>;
4524
+ /**
4525
+ * This property is used to set the initial values of the input fields when the component is loaded.
4526
+ */
4527
+ "defaultInputValues"?: NewVersionData;
4528
+ }
4377
4529
  interface GxIdeObjectSelector {
4378
4530
  /**
4379
4531
  * Callback invoked when the user wishes to cancel the selection of objects.
@@ -4477,6 +4629,10 @@ declare namespace LocalJSX {
4477
4629
  * Set of additional actions (callbacks) to those already provided by default by the selector (cancelCallback and selectCallback)
4478
4630
  */
4479
4631
  "dialogActions"?: DialogAction[];
4632
+ /**
4633
+ * Define if a item node is expanded on click interaction. If false item-node will only be expanded on double click.
4634
+ */
4635
+ "expandOnClick"?: boolean;
4480
4636
  /**
4481
4637
  * Callback emitted when the user right click on an item
4482
4638
  */
@@ -5020,6 +5176,85 @@ declare namespace LocalJSX {
5020
5176
  */
5021
5177
  "types": GxOption[];
5022
5178
  }
5179
+ interface GxIdeWwFiles {
5180
+ /**
5181
+ * The categories render in the filter category selector
5182
+ */
5183
+ "categories": GxOption[];
5184
+ /**
5185
+ * This is a function provided by the developer for show the context menu of the selected files.
5186
+ */
5187
+ "contextMenuCallback": ContextMenuCallback1;
5188
+ /**
5189
+ * The default value for the category filter
5190
+ */
5191
+ "defaultCategory"?: string;
5192
+ /**
5193
+ * The default value for the module/folder filter
5194
+ */
5195
+ "defaultModule"?: EntityData;
5196
+ /**
5197
+ * This is a function provided by the developer for delete the selected files.
5198
+ */
5199
+ "deleteSelectionCallback": DeleteSelectionCallback1;
5200
+ /**
5201
+ * The modules/folders render in the module/folder selector
5202
+ */
5203
+ "filterModules": GxOption[];
5204
+ /**
5205
+ * This is a function provided by the developer that return a list of files to populate the table of files.
5206
+ */
5207
+ "loadCallback": LoadCallback6;
5208
+ "newFileCallback": NewFileCallback;
5209
+ /**
5210
+ * This event is emitted once just after the component is fully loaded and the first render() occurs.
5211
+ */
5212
+ "onComponentDidLoadEvent"?: (event: GxIdeWwFilesCustomEvent<boolean>) => void;
5213
+ /**
5214
+ * This is a function provided by the developer to expand the data of files that is double-clicked or entered.
5215
+ */
5216
+ "openSelectionCallback": OpenSelectionCallback2;
5217
+ /**
5218
+ * Callback invoked when the action is executed on the Module/Folder filter (button '...'). It returns the information of the selected object (id and name) or 'undefined' if it was canceled.
5219
+ */
5220
+ "selectModuleCallback": SelectModuleCallback3;
5221
+ /**
5222
+ * This is a function provided by the developer for expanded the data of files that is double-clicked or entered.
5223
+ */
5224
+ "selectionChangeCallback": SelectionChangeCallback1;
5225
+ /**
5226
+ * Controls whether to show the description column in the grid
5227
+ */
5228
+ "showDescription"?: boolean;
5229
+ /**
5230
+ * Controls whether to show the import date column in the grid
5231
+ */
5232
+ "showImportDate"?: boolean;
5233
+ /**
5234
+ * Controls whether to show the last build date column in the grid
5235
+ */
5236
+ "showLastBuildDate"?: boolean;
5237
+ /**
5238
+ * Controls whether to show the last user column in the grid
5239
+ */
5240
+ "showLastUser"?: boolean;
5241
+ /**
5242
+ * Controls whether to show the modified date column in the grid
5243
+ */
5244
+ "showModifiedDate"?: boolean;
5245
+ /**
5246
+ * Controls whether to show the Search contents field in the advanced filter section
5247
+ */
5248
+ "showSearchContents"?: boolean;
5249
+ /**
5250
+ * Controls whether to show the type column in the grid
5251
+ */
5252
+ "showType"?: boolean;
5253
+ /**
5254
+ * The types render in the filter type selector
5255
+ */
5256
+ "types": GxOption[];
5257
+ }
5023
5258
  interface GxIdeWwImages {
5024
5259
  /**
5025
5260
  * The categories render in the filter category selector
@@ -5028,7 +5263,7 @@ declare namespace LocalJSX {
5028
5263
  /**
5029
5264
  * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
5030
5265
  */
5031
- "contextMenuCallback": ContextMenuCallback1;
5266
+ "contextMenuCallback": ContextMenuCallback2;
5032
5267
  /**
5033
5268
  * The default value for the 'categories' filter
5034
5269
  */
@@ -5044,7 +5279,7 @@ declare namespace LocalJSX {
5044
5279
  /**
5045
5280
  * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
5046
5281
  */
5047
- "deleteSelectionCallback": DeleteSelectionCallback1;
5282
+ "deleteSelectionCallback": DeleteSelectionCallback2;
5048
5283
  /**
5049
5284
  * The densities render in the filter density selector
5050
5285
  */
@@ -5068,7 +5303,7 @@ declare namespace LocalJSX {
5068
5303
  /**
5069
5304
  * This is a function provided by the developer that return a list of images to populate the table of images.
5070
5305
  */
5071
- "loadCallback": LoadCallback6;
5306
+ "loadCallback": LoadCallback7;
5072
5307
  /**
5073
5308
  * This is a function provided by the developer that return a list of items of the image selected.
5074
5309
  */
@@ -5088,7 +5323,7 @@ declare namespace LocalJSX {
5088
5323
  /**
5089
5324
  * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
5090
5325
  */
5091
- "openSelectionCallback": OpenSelectionCallback2;
5326
+ "openSelectionCallback": OpenSelectionCallback3;
5092
5327
  /**
5093
5328
  * Displays a secondary filter, used to filter over the filtered images
5094
5329
  */
@@ -5096,7 +5331,7 @@ declare namespace LocalJSX {
5096
5331
  /**
5097
5332
  * Callback invoked when the action is executed on the Module/Folder filter (button '...'). It returns the information of the selected object (id and name) or 'undefined' if it was canceled.
5098
5333
  */
5099
- "selectModuleCallback": SelectModuleCallback3;
5334
+ "selectModuleCallback": SelectModuleCallback4;
5100
5335
  /**
5101
5336
  * This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
5102
5337
  */
@@ -5151,6 +5386,7 @@ declare namespace LocalJSX {
5151
5386
  "gx-ide-new-environment": GxIdeNewEnvironment;
5152
5387
  "gx-ide-new-kb": GxIdeNewKb;
5153
5388
  "gx-ide-new-object": GxIdeNewObject;
5389
+ "gx-ide-new-version": GxIdeNewVersion;
5154
5390
  "gx-ide-object-selector": GxIdeObjectSelector;
5155
5391
  "gx-ide-references": GxIdeReferences;
5156
5392
  "gx-ide-sc-chat-container": GxIdeScChatContainer;
@@ -5176,6 +5412,7 @@ declare namespace LocalJSX {
5176
5412
  "gx-ide-welcome-page": GxIdeWelcomePage;
5177
5413
  "gx-ide-wf-settings": GxIdeWfSettings;
5178
5414
  "gx-ide-ww-attributes": GxIdeWwAttributes;
5415
+ "gx-ide-ww-files": GxIdeWwFiles;
5179
5416
  "gx-ide-ww-images": GxIdeWwImages;
5180
5417
  }
5181
5418
  }
@@ -5219,6 +5456,7 @@ declare module "@stencil/core" {
5219
5456
  "gx-ide-new-environment": LocalJSX.GxIdeNewEnvironment & JSXBase.HTMLAttributes<HTMLGxIdeNewEnvironmentElement>;
5220
5457
  "gx-ide-new-kb": LocalJSX.GxIdeNewKb & JSXBase.HTMLAttributes<HTMLGxIdeNewKbElement>;
5221
5458
  "gx-ide-new-object": LocalJSX.GxIdeNewObject & JSXBase.HTMLAttributes<HTMLGxIdeNewObjectElement>;
5459
+ "gx-ide-new-version": LocalJSX.GxIdeNewVersion & JSXBase.HTMLAttributes<HTMLGxIdeNewVersionElement>;
5222
5460
  "gx-ide-object-selector": LocalJSX.GxIdeObjectSelector & JSXBase.HTMLAttributes<HTMLGxIdeObjectSelectorElement>;
5223
5461
  "gx-ide-references": LocalJSX.GxIdeReferences & JSXBase.HTMLAttributes<HTMLGxIdeReferencesElement>;
5224
5462
  "gx-ide-sc-chat-container": LocalJSX.GxIdeScChatContainer & JSXBase.HTMLAttributes<HTMLGxIdeScChatContainerElement>;
@@ -5244,6 +5482,7 @@ declare module "@stencil/core" {
5244
5482
  "gx-ide-welcome-page": LocalJSX.GxIdeWelcomePage & JSXBase.HTMLAttributes<HTMLGxIdeWelcomePageElement>;
5245
5483
  "gx-ide-wf-settings": LocalJSX.GxIdeWfSettings & JSXBase.HTMLAttributes<HTMLGxIdeWfSettingsElement>;
5246
5484
  "gx-ide-ww-attributes": LocalJSX.GxIdeWwAttributes & JSXBase.HTMLAttributes<HTMLGxIdeWwAttributesElement>;
5485
+ "gx-ide-ww-files": LocalJSX.GxIdeWwFiles & JSXBase.HTMLAttributes<HTMLGxIdeWwFilesElement>;
5247
5486
  "gx-ide-ww-images": LocalJSX.GxIdeWwImages & JSXBase.HTMLAttributes<HTMLGxIdeWwImagesElement>;
5248
5487
  }
5249
5488
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genexus/genexus-ide-ui",
3
3
  "license": "Apache-2.0",
4
- "version": "1.0.68",
4
+ "version": "1.0.70",
5
5
  "description": "GeneXus IDE UI components",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.js",
@@ -1 +0,0 @@
1
- {"version":3,"names":["convertItemsNodeListToFlattenedTreeViewModel","itemsList","checkboxType","itemsListFlattenedTreeViewModel","processNode","item","leaf","_a","nodes","length","checkbox","metaData","JSON","stringify","versionType","type","push","id","toString","metadata","caption","name","checked","expanded","startImgSrc","iconStart","endImgSrc","iconEnd","items","selected","forEach","childNode","convertItemsListToTreeViewModel","itemsListTreeViewModel","order","parseInt","findItemNode","itemNode","result","findItemInArray","itemsNodes","setAllLeafsCheckedFalse","uncheck","unselectAllNodes","unselect","checkItems","idsChecked","itemFind","expandItems","selectItems","idsSelected","searchInNode","node","parents","searchParentsItems","ids","rootItem","results","selectKbItemsCss","CSS_BUNDLES","SYSTEM_SEARCH_ICON","getIconPath","category","colorType","VIEW_AS_TREE_ID","VIEW_AS_LIST_ID","TOGGLE_CHECKBOXES_CHECKED_VALUE","GxIdeSelectKbItems","_GxIdeSelectKbItems__componentLocale","set","this","_GxIdeSelectKbItems_checkedNodesIds","_GxIdeSelectKbItems_chShortcutsEl","_GxIdeSelectKbItems_selectedNodesIds","_GxIdeSelectKbItems_shortcutsSrc","getAssetPath","_GxIdeSelectKbItems_updatedModelList","_GxIdeSelectKbItems_viewItemsAsModel","_GxIdeSelectKbItems_treeViewRenderEl","_GxIdeSelectKbItems_cancelHandler","cancelCallback","_GxIdeSelectKbItems_checkedItemsChangeHandler","async","e","checkedNodesIds","detail","__classPrivateFieldSet","__classPrivateFieldGet","checkedChanged","_GxIdeSelectKbItems_confirmHandler","confirmCallback","_GxIdeSelectKbItems_contextMenuHandler","itemContextMenuCallback","info","isSelected","find","updateItemsProperties","clientX","contextmenuEvent","clientY","selection","_GxIdeSelectKbItems_executeDialogAction","callback","_GxIdeSelectKbItems_patternSearchValueChangedHandler","event","searchPatternValue","_GxIdeSelectKbItems_renderActionButtons","h","dialogActions","map","action","class","part","onClick","call","disabled","loading","_GxIdeSelectKbItems_renderFooter","footer","cancel","select","_GxIdeSelectKbItems_selectedItemsChangeHandler","selectedNodesIds","selectionChanged","_GxIdeSelectKbItems_toggleAndSelectNodesInModelItems","selectedItemsIds","nodesToToggle","newItemsSelected","newItemsExpanded","_GxIdeSelectKbItems_updateViews","_GxIdeSelectKbItems_toggleCheckedNodesInModelItems","newItemsList","nodeVersionsListTreeModel","nodeListFlattenedTreeModel","_GxIdeSelectKbItems_viewItemsAsChangedHandler","selectedViewType","nodesVersionsViewType","_GxIdeSelectKbItems_toggleCheckboxesChangedHandler","toggleCheckboxes","watchNodeListHandler","componentWillLoad","Locale","getComponentStrings","el","value","main","tree","suspendShortcuts","suspend","updateSelection","render","Host","model","src","ref","htmlFor","onChange","checkedValue","onInput","placeholder","header","searchPatternPlaceholder","loaderTitle","loader","title","show","expandableButton","onItemContextmenu","onCheckedItemsChange","onSelectedItemsChange","multiSelection","filter","filterType"],"sources":["src/components/select-kb-items/helpers.tsx","src/components/select-kb-items/select-kb-items.scss?tag=gx-ide-select-kb-items&encapsulation=shadow","src/components/select-kb-items/select-kb-items.tsx"],"sourcesContent":["import { ItemNode, CheckboxType } from \"./select-kb-items\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\n\nexport const convertItemsNodeListToFlattenedTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListFlattenedTreeViewModel: TreeViewItemModel[] = [];\n\n const processNode = (item: ItemNode) => {\n const leaf = !item.nodes?.length;\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const metaData = JSON.stringify({\n versionType: item.type\n });\n itemsListFlattenedTreeViewModel.push({\n id: item.id.toString(),\n metadata: metaData,\n caption: item.name,\n checked: item.checked,\n checkbox: checkbox,\n expanded: item.expanded,\n startImgSrc: item.iconStart,\n endImgSrc: item.iconEnd,\n items: null,\n leaf: leaf,\n selected: item.selected\n });\n\n if (item.nodes) {\n item.nodes.forEach(childNode => processNode(childNode));\n }\n };\n\n itemsList.forEach(item => processNode(item));\n return itemsListFlattenedTreeViewModel;\n};\n\nexport const convertItemsListToTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListTreeViewModel: TreeViewItemModel[] = [];\n itemsList.forEach(item => {\n const leaf = !item.nodes?.length;\n const expanded = item.expanded;\n const iconStart = item.iconStart;\n const iconEnd = item.iconEnd;\n const order = parseInt(item.id);\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const metaData = JSON.stringify({\n versionType: item.type\n });\n itemsListTreeViewModel.push({\n id: item.id.toString(),\n metadata: metaData,\n caption: item.name,\n checkbox: checkbox,\n checked: item.checked,\n order: order,\n selected: item.selected,\n expanded: expanded,\n startImgSrc: iconStart,\n endImgSrc: iconEnd,\n items: !leaf\n ? convertItemsListToTreeViewModel(item.nodes, checkboxType)\n : null,\n leaf: leaf\n });\n });\n\n return itemsListTreeViewModel;\n};\n\nconst findItemNode = (id: string, item: ItemNode): ItemNode | null => {\n if (item.id === id) {\n return item;\n }\n\n if (item.nodes) {\n for (const itemNode of item.nodes) {\n const result = findItemNode(id, itemNode);\n if (result) {\n return result;\n }\n }\n }\n return null;\n};\n\nfunction findItemInArray(itemsNodes: ItemNode[], id: string): ItemNode | null {\n for (const item of itemsNodes) {\n const result = findItemNode(id, item);\n if (result) {\n return result;\n }\n }\n return null;\n}\nconst setAllLeafsCheckedFalse = (itemsList: ItemNode[]): ItemNode[] => {\n const uncheck = (itemNode: ItemNode) => {\n itemNode.checked = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => uncheck(childNode));\n }\n };\n\n itemsList.forEach(item => uncheck(item));\n return itemsList;\n};\n\nexport const unselectAllNodes = (itemsList: ItemNode[]) => {\n const unselect = (itemNode: ItemNode) => {\n itemNode.selected = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => unselect(childNode));\n }\n };\n\n itemsList.forEach(item => unselect(item));\n};\n\nexport const checkItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n setAllLeafsCheckedFalse(itemsList);\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.checked = true;\n }\n });\n\n return itemsList;\n};\n\nexport const expandItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.expanded = true;\n }\n });\n\n return itemsList;\n};\n\nexport const selectItems = (\n itemsList: ItemNode[],\n idsSelected: string[]\n): ItemNode[] => {\n idsSelected.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.selected = true;\n }\n });\n return itemsList;\n};\n\nfunction searchInNode(item: ItemNode, id: string): string[] | null {\n // If the current node is the searched node, we return an empty list (it has no parents in this branch)\n if (item.id === id) {\n return [];\n }\n\n // We traverse each child looking for the target node\n if (item.nodes?.length) {\n for (const node of item.nodes) {\n const parents = searchInNode(node, id);\n if (parents !== null) {\n // If we find it, we include the current node at the beginning of the path and return\n return [item.id, ...parents];\n }\n }\n }\n return null;\n}\n\nexport const searchParentsItems = (\n items: ItemNode[],\n ids: string[]\n): string[] | null => {\n const parents: string[] = [];\n for (const id of ids) {\n for (const rootItem of items) {\n const results = searchInNode(rootItem, id);\n if (results !== null) {\n results.forEach(result => {\n parents.push(result);\n });\n }\n }\n }\n return parents;\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// header\n.view-mode__toggle-checkboxes {\n grid-template-columns: max-content max-content;\n}\n.field__items-view-type {\n align-items: center;\n .label {\n margin-block-start: 0 !important; // WA to center label with radio-group\n }\n}\n.field__toggle-checkboxes {\n .label {\n margin-block-start: 0 !important; // WA to center label with radio-group\n }\n}\n\n.trees {\n position: relative;\n}\n","import {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Watch,\n Method\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n\nimport {\n checkItems,\n convertItemsListToTreeViewModel,\n convertItemsNodeListToFlattenedTreeViewModel,\n expandItems,\n searchParentsItems,\n selectItems,\n unselectAllNodes\n} from \"./helpers\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ContextMenuInfo } from \"../../common/types\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\",\n \"components/tooltip\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\nconst SYSTEM_SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\nconst VIEW_AS_TREE_ID: NodesVersionsViewType = \"tree\";\nconst VIEW_AS_LIST_ID: NodesVersionsViewType = \"list\";\n\nconst TOGGLE_CHECKBOXES_CHECKED_VALUE = \"on\";\n\n@Component({\n tag: \"gx-ide-select-kb-items\",\n styleUrl: \"select-kb-items.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/select-kb-items\"]\n})\nexport class GxIdeSelectKbItems {\n #_componentLocale: any;\n\n #checkedNodesIds: string[] = [];\n #chShortcutsEl: HTMLChShortcutsElement;\n #selectedNodesIds: string[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/select-kb-items/shortcuts.json`\n );\n #updatedModelList: ItemNode[] = [];\n\n #viewItemsAsModel: RadioGroupItemModel[];\n\n @Element() el: HTMLGxIdeSelectKbItemsElement;\n #treeViewRenderEl: HTMLChTreeViewRenderElement;\n\n /**\n * Represents the nodes list model\n */\n @State() nodeListFlattenedTreeModel: TreeViewItemModel[] = [];\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * View type for the nodes.\n */\n @State() nodesVersionsViewType: NodesVersionsViewType = \"tree\";\n\n /**\n * Represents the nodes tree model\n */\n @State() nodeVersionsListTreeModel: TreeViewItemModel[] = [];\n\n /**\n * \"Search Pattern\" input value, used to filter the nodes tree/list.\n */\n @State() searchPatternValue: string = null;\n\n /**\n * It maps to the ch-tree-view-render \"toggleCheckboxes\" property.\n */\n @State() toggleCheckboxes: boolean = true;\n\n /**\n * Callback emitted when the 'cancel' button is pressed\n */\n @Prop() readonly cancelCallback?: () => Promise<void>;\n /**\n * Defines which nodes of the component have checkboxes.\n */\n @Prop() readonly checkboxType: CheckboxType;\n\n /**\n * Callback emitted when the items checked items change\n */\n @Prop() readonly checkedChanged?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Callback emitted when the 'select' button is pressed\n */\n @Prop() readonly confirmCallback?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Set of additional actions (callbacks) to those already provided by default by the selector (cancelCallback and selectCallback)\n */\n @Prop() readonly dialogActions: DialogAction[] = [];\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 * Represents the itemLis list model\n */\n @Prop() readonly itemsList: ItemNode[] = [];\n\n @Watch(\"itemsList\")\n watchNodeListHandler(newItemsList: ItemNode[]) {\n if (newItemsList.length > 0) {\n this.loading = false;\n }\n this.#updateViews(newItemsList);\n }\n\n /**\n * This define if the selection is unique or not\n */\n @Prop() readonly multiSelection?: boolean = false;\n\n /**\n * Callback emitted when the items selection change\n */\n @Prop() readonly selectionChanged?: (selectedItem: string[]) => Promise<void>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#viewItemsAsModel = [\n { value: VIEW_AS_TREE_ID, caption: this.#_componentLocale.main.tree },\n { value: VIEW_AS_LIST_ID, caption: \"List\" }\n ];\n this.watchNodeListHandler(this.itemsList);\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Allow to update the selected items\n */\n @Method()\n async updateSelection(selectedItemsIds: string[]) {\n // first clear selected\n this.#treeViewRenderEl.updateItemsProperties(this.#selectedNodesIds, {\n selected: false\n });\n // then select\n this.#treeViewRenderEl.updateItemsProperties(selectedItemsIds, {\n selected: true\n });\n }\n\n #cancelHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n #checkedItemsChangeHandler = async (\n e: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const checkedNodesIds: string[] = [];\n e.detail.forEach(node => {\n node.item.checked && checkedNodesIds.push(node.item.id);\n });\n this.#checkedNodesIds = checkedNodesIds;\n this.#updatedModelList = checkItems(this.itemsList, this.#checkedNodesIds);\n\n if (this.checkedChanged) {\n this.checkedChanged(this.#checkedNodesIds);\n }\n };\n\n #confirmHandler = () => {\n if (this.confirmCallback) {\n this.confirmCallback(this.#checkedNodesIds);\n }\n };\n\n #contextMenuHandler = async (\n e: CustomEvent<{\n id: string;\n itemRef: HTMLChTreeViewItemElement;\n metadata: string;\n contextmenuEvent: PointerEvent;\n }>\n ) => {\n if (this.itemContextMenuCallback) {\n let info: ContextMenuInfo;\n const isSelected = this.#selectedNodesIds.find(id => id === e.detail.id);\n if (!this.#selectedNodesIds.length || !isSelected) {\n await this.#treeViewRenderEl.updateItemsProperties(\n this.#selectedNodesIds,\n { selected: false }\n );\n await this.#treeViewRenderEl.updateItemsProperties([e.detail.id], {\n selected: true\n });\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: [e.detail.id]\n };\n } else {\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: this.#selectedNodesIds\n };\n }\n this.itemContextMenuCallback(info);\n }\n };\n\n #executeDialogAction = (\n callback: (checkedNodesIds: string[], selectedNodesIds: string[]) => void\n ) => {\n return () => {\n callback(this.#checkedNodesIds, this.#selectedNodesIds);\n };\n };\n\n #patternSearchValueChangedHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.searchPatternValue = event.detail.toString();\n };\n\n #renderActionButtons = (): HTMLElement[] => {\n return (\n <div>\n {this.dialogActions.map(action => {\n return (\n <button\n class={\"button-tertiary\"}\n part={`button button-${action.name}`}\n onClick={this.#executeDialogAction(action.callback)}\n disabled={this.loading}\n >\n {action.name}\n </button>\n );\n })}\n </div>\n );\n };\n\n #renderFooter = (): HTMLElement => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end control-footer-space-between\">\n {this.#renderActionButtons()}\n <div class=\"buttons-spacer \">\n {this.cancelCallback && (\n <button\n class={\"button-secondary\"}\n part={\"cancel-button\"}\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n )}\n {this.confirmCallback && (\n <button\n class={\"button-primary\"}\n part={\"confirm-button\"}\n onClick={this.#confirmHandler}\n disabled={this.loading}\n >\n {this.#_componentLocale.footer.select}\n </button>\n )}\n </div>\n </footer>\n );\n };\n\n #selectedItemsChangeHandler = (\n e: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n const selectedNodesIds: string[] = [];\n unselectAllNodes(this.itemsList);\n e.detail.forEach(node => {\n selectedNodesIds.push(node.item.id);\n });\n this.#selectedNodesIds = selectedNodesIds;\n if (this.selectionChanged) {\n this.selectionChanged(this.#selectedNodesIds);\n }\n\n this.#updatedModelList = selectItems(this.itemsList, selectedNodesIds);\n };\n\n #toggleAndSelectNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsSelected = selectItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(newItemsSelected, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #toggleCheckedNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(this.itemsList, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #updateViews = (newItemsList: ItemNode[]) => {\n this.nodeVersionsListTreeModel = convertItemsListToTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n\n this.nodeListFlattenedTreeModel =\n convertItemsNodeListToFlattenedTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n };\n\n #viewItemsAsChangedHandler = async (event: CustomEvent<string>) => {\n const selectedViewType = event.detail as NodesVersionsViewType;\n this.nodesVersionsViewType = selectedViewType;\n if (this.nodesVersionsViewType === \"tree\") {\n await this.#toggleAndSelectNodesInModelItems(this.#selectedNodesIds);\n await this.#toggleCheckedNodesInModelItems(this.#checkedNodesIds);\n }\n this.#updateViews(this.#updatedModelList);\n };\n\n #toggleCheckboxesChangedHandler = (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => {\n this.toggleCheckboxes = event.detail === TOGGLE_CHECKBOXES_CHECKED_VALUE;\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section\">\n <header class=\"control-header field-group spacing-body-block-start spacing-body-inline\">\n <div class=\"field-group view-mode__toggle-checkboxes\">\n <div class=\"field field-inline field__items-view-type\">\n <label class=\"label\" htmlFor=\"view-mode\">\n Select view mode:\n </label>\n <ch-radio-group-render\n class=\"radio-group\"\n id=\"view-mode\"\n model={this.#viewItemsAsModel}\n onChange={this.#viewItemsAsChangedHandler}\n value={this.#viewItemsAsModel[0].value}\n ></ch-radio-group-render>\n </div>\n\n {this.checkboxType !== \"none\" && (\n <div class=\"field field-inline field__toggle-checkboxes\">\n <label class=\"label\" htmlFor=\"toggle-checkboxes\">\n Toggle Checkboxes\n </label>\n <ch-checkbox\n class=\"checkbox\"\n id=\"toggle-checkboxes\"\n checkedValue={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n value={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n onInput={this.#toggleCheckboxesChangedHandler}\n ></ch-checkbox>\n </div>\n )}\n </div>\n\n <ch-edit\n class=\"input pattern-filter\"\n placeholder={\n this.#_componentLocale.header.searchPatternPlaceholder\n }\n startImgSrc={SYSTEM_SEARCH_ICON}\n onInput={this.#patternSearchValueChangedHandler}\n ></ch-edit>\n </header>\n\n <div class=\"spacing-body-inline-start trees\">\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n show\n ></gx-ide-loader>\n ) : (\n <ch-tree-view-render\n class=\"tree-view\"\n model={\n this.nodesVersionsViewType === \"tree\"\n ? this.nodeVersionsListTreeModel\n : this.nodeListFlattenedTreeModel\n }\n show-lines={\n this.nodesVersionsViewType === \"tree\" ? \"all\" : \"none\"\n }\n expandableButton={\n this.nodesVersionsViewType === \"tree\" ? \"decorative\" : \"no\"\n }\n onItemContextmenu={this.#contextMenuHandler}\n onCheckedItemsChange={this.#checkedItemsChangeHandler}\n onSelectedItemsChange={this.#selectedItemsChangeHandler}\n multiSelection={this.multiSelection}\n filter={this.searchPatternValue}\n filterType=\"caption\"\n toggleCheckboxes={this.toggleCheckboxes}\n ref={(el: HTMLChTreeViewRenderElement) => {\n this.#treeViewRenderEl = el as HTMLChTreeViewRenderElement;\n }}\n ></ch-tree-view-render>\n )}\n </div>\n {(this.dialogActions.length > 0 ||\n this.cancelCallback ||\n this.confirmCallback) &&\n this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type CheckboxType = \"none\" | \"all\" | \"leaf\" | \"custom\";\n\nexport type DialogAction = {\n name: string;\n callback: DialogActionCallback;\n};\n\nexport type DialogActionCallback = (...args: any[]) => void;\n\nexport type ItemCommon = {\n icon: string;\n expanded: boolean;\n};\n\nexport type ItemNode = {\n checkbox?: boolean;\n checked?: boolean;\n expanded?: boolean;\n iconStart?: string;\n iconEnd?: string;\n id: string;\n name: string;\n nodes?: ItemNode[];\n selected?: boolean;\n type: ItemType;\n};\n\nexport type ItemType = {\n id: string;\n name: string;\n};\n\ntype NodesVersionsViewType = \"tree\" | \"list\";\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["signInCss","COPYRIGHTS_ILLUSTRATION","getAssetPath","ICON_NEXT","CSS_BUNDLES","GxIdeUiSplash","_GxIdeUiSplash_componentLocale","set","this","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","render","h","Host","model","class","role","__classPrivateFieldGet","illustrationAriaLabel","src","alt","illustrationFigureAriaLabel","illustrationAlternativeText","title","hidden","descriptionText","byContinuingTextFirstPart","onClick","termsCallback","byContinuingCallBackText","signInCallback","signInButtonCaption"],"sources":["src/components/sign-in/sign-in.scss?tag=gx-ide-sign-in&encapsulation=shadow","src/components/sign-in/sign-in.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n padding: var(--mer-spacing--xl);\n}\n\n.slide {\n display: grid;\n max-inline-size: 1100px;\n grid-template-columns: 1fr 550px;\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--mer-spacing--md);\n overflow: hidden;\n\n &__illustration {\n overflow: hidden;\n max-block-size: 700px;\n }\n\n &__sign-in {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n }\n\n &__sign-in-container {\n display: grid;\n gap: var(--mer-spacing--lg);\n max-inline-size: 480px;\n place-self: center;\n }\n\n &__sign-in-header {\n display: grid;\n gap: var(--mer-spacing--lg);\n }\n\n &__sign-in-title {\n font-size: var(--mer-font__size--xl);\n color: var(--mer-text__on-surface);\n letter-spacing: 0.02em;\n font-weight: var(--mer-font__weight--semi-bold);\n }\n\n &__sign-in-description {\n display: grid;\n color: var(--mer-text__complementary);\n gap: var(--mer-spacing--2xl);\n font-size: var(--mer-font__size--sm);\n font-weight: var(--mer-font__weight--light);\n line-height: var(--mer-line-height--spaced);\n }\n}\n\n.terms-conditions {\n text-decoration: underline;\n}\n.sign-in-btn {\n padding-inline-start: var(--mer-spacing--3xl) !important;\n padding-inline-end: var(--mer-spacing--3xl) !important;\n}\n","// Stencil\nimport { Component, Host, h, Prop, Element, getAssetPath } from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/welcome-page/images/copyrights-illustration.png`\n);\nconst ICON_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"components/button\"\n];\n\n@Component({\n tag: \"gx-ide-sign-in\",\n styleUrl: \"sign-in.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/sign-in\"]\n})\nexport class GxIdeUiSplash {\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 @Element() el: HTMLGxIdeSignInElement;\n\n /**\n * Callback executed when the user click on the \"term and conditions\" link\n */\n @Prop() readonly termsCallback: () => Promise<void>;\n\n /**\n * Callback executed when the user click the Sign In button\n */\n @Prop() readonly signInCallback: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"slide\">\n <div\n class=\"slide__illustration\"\n role=\"img\"\n aria-label={this.#componentLocale.illustrationAriaLabel}\n >\n <img\n // base image (acts like a background)\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt={this.#componentLocale.illustrationFigureAriaLabel}\n />\n </div>\n\n <div class=\"slide__sign-in\">\n <div class=\"slide__sign-in-container\">\n <header class=\"slide__sign-in-header\">\n <img\n src={ICON_NEXT}\n alt={this.#componentLocale.illustrationAlternativeText}\n />\n <h2 class=\"slide__sign-in-title\">\n {this.#componentLocale.title}\n </h2>\n </header>\n <div class=\"slide__sign-in-description\">\n <p hidden>\n <span>{this.#componentLocale.descriptionText}</span>\n </p>\n <span>\n {this.#componentLocale.byContinuingTextFirstPart}\n <a class=\"terms-conditions\" onClick={this.termsCallback}>\n {this.#componentLocale.byContinuingCallBackText}\n </a>\n </span>\n </div>\n <div>\n <button\n class=\"button-primary sign-in-btn\"\n onClick={this.signInCallback}\n >\n {this.#componentLocale.signInButtonCaption}\n </button>\n </div>\n </div>\n </div>\n </section>\n </Host>\n );\n }\n}\n"],"mappings":";;;;AAAA,MAAMA,IAAY;;;;;;;;;;;;;;;;;ACOlB,MAAMC,IAA0BC,EAC9B;;AAEF,MAAMC,IAAYD,EAChB;;AAEF,MAAME,IAA8B,EAClC,qBACA,oBACA;;MASWC,IAAa;;;;;;;QAKxBC,EAAAC,IAAAC,WAAA;;;;EAcA,uBAAMC;IACJC,EAAAF,MAAIF,SAA0BK,EAAOC,oBAAoBJ,KAAKK,KAAG;;EAGnE,MAAAC;IACE,OACEC,EAACC,GAAI,MACHD,EAAA;MAAUE,OAAOb;QACjBW,EAAA;MAASG,OAAM;OACbH,EAAA;MACEG,OAAM;MACNC,MAAK;MAAK,cACEC,EAAAZ,MAAIF,GAAA,KAAkBe;OAElCN,EAAA;;MAEEO,KAAKrB;MACLiB,OAAM;MACNK,KAAKH,EAAAZ,MAAIF,GAAA,KAAkBkB;SAI/BT,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAQG,OAAM;OACZH,EAAA;MACEO,KAAKnB;MACLoB,KAAKH,EAAAZ,MAAIF,GAAA,KAAkBmB;QAE7BV,EAAA;MAAIG,OAAM;OACPE,EAAAZ,MAAIF,GAAA,KAAkBoB,SAG3BX,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAGY,QAAM;OACPZ,EAAA,cAAOK,EAAAZ,MAAIF,GAAA,KAAkBsB,mBAE/Bb,EAAA,cACGK,EAAAZ,MAAIF,GAAA,KAAkBuB,2BACvBd,EAAA;MAAGG,OAAM;MAAmBY,SAAStB,KAAKuB;OACvCX,EAAAZ,MAAIF,GAAA,KAAkB0B,6BAI7BjB,EAAA,aACEA,EAAA;MACEG,OAAM;MACNY,SAAStB,KAAKyB;OAEbb,EAAAZ,MAAIF,GAAA,KAAkB4B"}