@genexus/genexus-ide-ui 0.0.79 → 0.0.80

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 (173) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
  3. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
  4. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +105 -0
  7. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +2 -2
  9. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +2 -2
  10. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +2 -2
  13. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  14. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  16. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  18. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +2 -2
  20. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +2 -2
  22. package/dist/cjs/{gxg-card.cjs.entry.js → gxg-card_2.cjs.entry.js} +79 -0
  23. package/dist/cjs/gxg-color-picker.cjs.entry.js +2 -2
  24. package/dist/cjs/{helpers-e25e57cb.js → helpers-8d026db9.js} +9 -1
  25. package/dist/cjs/loader.cjs.js +1 -1
  26. package/dist/collection/collection-manifest.json +1 -0
  27. package/dist/collection/common/helpers.js +9 -1
  28. package/dist/collection/components/_starting-template/template.css +15 -0
  29. package/dist/collection/components/ai-assistant/ai-assistant.css +15 -0
  30. package/dist/collection/components/bpm-application-declaration/bpm-app-declaration.css +15 -0
  31. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +15 -0
  32. package/dist/collection/components/dashboard-home/dashboard-home.css +300 -0
  33. package/dist/collection/components/dashboard-home/dashboard-home.js +299 -0
  34. package/dist/collection/components/dashboard-home/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.en.json +28 -0
  35. package/dist/collection/components/dashboard-home/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.ja.json +3 -0
  36. package/dist/collection/components/dashboard-home/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.zh.json +3 -0
  37. package/dist/collection/components/kb-manager-export/kb-manager-export.css +15 -0
  38. package/dist/collection/components/kb-manager-import/kb-manager-import.css +15 -0
  39. package/dist/collection/components/new-environment/new-environment.css +15 -0
  40. package/dist/collection/components/new-kb/new-kb.css +15 -0
  41. package/dist/collection/components/new-object/new-object.css +15 -0
  42. package/dist/collection/components/object-selector/object-selector.css +15 -0
  43. package/dist/collection/components/references/references.css +15 -0
  44. package/dist/collection/components/share-kb/share-kb.css +15 -0
  45. package/dist/collection/components/team-dev/commit/commit.css +15 -0
  46. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +15 -0
  47. package/dist/collection/components/team-dev/update/update.css +15 -0
  48. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +15 -0
  49. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +15 -0
  50. package/dist/collection/components/ww-images/ww-images.css +15 -0
  51. package/dist/{esm/gxg-card.entry.js → components/card.js} +60 -8
  52. package/dist/components/gx-ide-ai-assistant.js +1 -1
  53. package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
  54. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  55. package/dist/components/gx-ide-dashboard-home.d.ts +11 -0
  56. package/dist/components/gx-ide-dashboard-home.js +191 -0
  57. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  58. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  59. package/dist/components/gx-ide-new-environment.js +1 -1
  60. package/dist/components/gx-ide-new-kb.js +1 -1
  61. package/dist/components/gx-ide-new-object.js +1 -1
  62. package/dist/components/gx-ide-object-selector.js +1 -1
  63. package/dist/components/gx-ide-references.js +1 -1
  64. package/dist/components/gx-ide-share-kb.js +1 -1
  65. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  66. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  67. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  68. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  69. package/dist/components/gx-ide-team-dev-update.js +1 -1
  70. package/dist/components/gx-ide-template.js +1 -1
  71. package/dist/components/gx-ide-ww-images.js +1 -1
  72. package/dist/components/gxg-card.js +1 -132
  73. package/dist/components/gxg-color-picker.js +2 -2
  74. package/dist/components/gxg-pill.js +1 -114
  75. package/dist/components/helpers2.js +9 -1
  76. package/dist/components/index.d.ts +1 -0
  77. package/dist/components/index.js +1 -0
  78. package/dist/{esm/gxg-pill.entry.js → components/pill.js} +44 -10
  79. package/dist/esm/ch-suggest_4.entry.js +1 -1
  80. package/dist/esm/{form-397b839e.js → form-1e8f483d.js} +1 -1
  81. package/dist/esm/genexus-ide-ui.js +1 -1
  82. package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
  83. package/dist/esm/gx-ide-ai-message.entry.js +1 -1
  84. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  85. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  86. package/dist/esm/gx-ide-dashboard-home.entry.js +101 -0
  87. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  88. package/dist/esm/gx-ide-kb-manager-import.entry.js +2 -2
  89. package/dist/esm/gx-ide-new-environment.entry.js +2 -2
  90. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  91. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  92. package/dist/esm/gx-ide-object-selector.entry.js +2 -2
  93. package/dist/esm/gx-ide-references.entry.js +1 -1
  94. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  95. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  96. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  97. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  98. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  99. package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
  100. package/dist/esm/gx-ide-template.entry.js +1 -1
  101. package/dist/esm/gx-ide-ww-images.entry.js +2 -2
  102. package/dist/esm/gxg-card_2.entry.js +160 -0
  103. package/dist/esm/gxg-color-picker.entry.js +2 -2
  104. package/dist/esm/gxg-combo-box_2.entry.js +1 -1
  105. package/dist/esm/gxg-form-checkbox-group.entry.js +1 -1
  106. package/dist/esm/gxg-form-checkbox.entry.js +1 -1
  107. package/dist/esm/gxg-form-radio-group.entry.js +1 -1
  108. package/dist/esm/gxg-form-text.entry.js +1 -1
  109. package/dist/esm/gxg-form-textarea.entry.js +1 -1
  110. package/dist/esm/gxg-list-box_2.entry.js +1 -1
  111. package/dist/esm/gxg-select.entry.js +1 -1
  112. package/dist/esm/gxg-title-editable.entry.js +1 -1
  113. package/dist/esm/{helpers-a11a19fb.js → helpers-2607df78.js} +9 -1
  114. package/dist/esm/loader.js +1 -1
  115. package/dist/genexus-ide-ui/genexus-ide-ui.css +1 -1
  116. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  117. package/dist/genexus-ide-ui/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.en.json +28 -0
  118. package/dist/genexus-ide-ui/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.ja.json +3 -0
  119. package/dist/genexus-ide-ui/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.zh.json +3 -0
  120. package/dist/genexus-ide-ui/{p-b5fb3c0b.entry.js → p-16532b36.entry.js} +1 -1
  121. package/dist/genexus-ide-ui/{p-626bf7ad.entry.js → p-26c275b5.entry.js} +1 -1
  122. package/dist/genexus-ide-ui/{p-a5bbf490.entry.js → p-2aa2b066.entry.js} +1 -1
  123. package/dist/genexus-ide-ui/{p-db7d339f.entry.js → p-2c384ea8.entry.js} +1 -1
  124. package/dist/genexus-ide-ui/{p-6c59cca0.entry.js → p-2e599385.entry.js} +1 -1
  125. package/dist/genexus-ide-ui/{p-bc9446a0.entry.js → p-31a0baf1.entry.js} +1 -1
  126. package/dist/genexus-ide-ui/{p-e4e7e070.entry.js → p-34e9cfb6.entry.js} +1 -1
  127. package/dist/genexus-ide-ui/{p-fcb44a8c.entry.js → p-382a461c.entry.js} +1 -1
  128. package/dist/genexus-ide-ui/p-399217ed.entry.js +1 -0
  129. package/dist/genexus-ide-ui/p-3e713453.entry.js +1 -0
  130. package/dist/genexus-ide-ui/{p-7aabd69b.entry.js → p-40cba1ef.entry.js} +1 -1
  131. package/dist/genexus-ide-ui/{p-7a4ff1fe.entry.js → p-4d074686.entry.js} +1 -1
  132. package/dist/genexus-ide-ui/{p-b456e3aa.entry.js → p-5a0a2882.entry.js} +1 -1
  133. package/dist/genexus-ide-ui/p-6e51ea87.entry.js +1 -0
  134. package/dist/genexus-ide-ui/{p-4e2db053.entry.js → p-6e9cc16b.entry.js} +1 -1
  135. package/dist/genexus-ide-ui/{p-b141f6e4.entry.js → p-7e3f439e.entry.js} +1 -1
  136. package/dist/genexus-ide-ui/p-99bdb8f7.entry.js +1 -0
  137. package/dist/genexus-ide-ui/{p-56627675.entry.js → p-a2a856d8.entry.js} +1 -1
  138. package/dist/genexus-ide-ui/p-a479705e.entry.js +3 -0
  139. package/dist/genexus-ide-ui/p-a69aaabc.entry.js +1 -0
  140. package/dist/genexus-ide-ui/p-acea5e0c.entry.js +1 -0
  141. package/dist/genexus-ide-ui/p-b600039f.entry.js +1 -0
  142. package/dist/genexus-ide-ui/{p-a2469a76.js → p-b9fca59c.js} +1 -1
  143. package/dist/genexus-ide-ui/{p-9596d186.entry.js → p-bb842602.entry.js} +1 -1
  144. package/dist/genexus-ide-ui/{p-e452e69d.entry.js → p-c414f031.entry.js} +1 -1
  145. package/dist/{cjs/gxg-pill.cjs.entry.js → genexus-ide-ui/p-ca28bfdf.entry.js} +1 -86
  146. package/dist/genexus-ide-ui/{p-0967fafc.entry.js → p-cc0e7136.entry.js} +1 -1
  147. package/dist/genexus-ide-ui/p-ce98ad84.entry.js +1 -0
  148. package/dist/genexus-ide-ui/p-cf72f115.entry.js +1 -0
  149. package/dist/genexus-ide-ui/p-d410aa15.js +1 -0
  150. package/dist/genexus-ide-ui/p-d98beed6.entry.js +1 -0
  151. package/dist/genexus-ide-ui/{p-96e00630.entry.js → p-e43f7f5f.entry.js} +1 -1
  152. package/dist/genexus-ide-ui/p-f13a18fb.entry.js +1 -0
  153. package/dist/genexus-ide-ui/{p-4165015f.entry.js → p-fb73f868.entry.js} +1 -1
  154. package/dist/types/common/helpers.d.ts +1 -1
  155. package/dist/types/components/dashboard-home/dashboard-home.d.ts +105 -0
  156. package/dist/types/components.d.ts +90 -0
  157. package/package.json +1 -1
  158. package/dist/collection/common/format-date.js +0 -11
  159. package/dist/genexus-ide-ui/p-2753da85.entry.js +0 -1
  160. package/dist/genexus-ide-ui/p-36d5d83b.entry.js +0 -1
  161. package/dist/genexus-ide-ui/p-377d7066.entry.js +0 -1
  162. package/dist/genexus-ide-ui/p-4772d5ae.entry.js +0 -1
  163. package/dist/genexus-ide-ui/p-59b366c2.entry.js +0 -1
  164. package/dist/genexus-ide-ui/p-5bb2b052.entry.js +0 -1
  165. package/dist/genexus-ide-ui/p-64d3885f.js +0 -1
  166. package/dist/genexus-ide-ui/p-67869d00.entry.js +0 -1
  167. package/dist/genexus-ide-ui/p-7e52f6fb.entry.js +0 -1
  168. package/dist/genexus-ide-ui/p-ab4e48bc.entry.js +0 -1
  169. package/dist/genexus-ide-ui/p-cf341ae3.entry.js +0 -1
  170. package/dist/genexus-ide-ui/p-cf6646a4.entry.js +0 -1
  171. package/dist/genexus-ide-ui/p-d83dea7c.entry.js +0 -1
  172. package/dist/genexus-ide-ui/p-e34c90b6.entry.js +0 -1
  173. package/dist/types/common/format-date.d.ts +0 -1
@@ -0,0 +1,300 @@
1
+ /*Gemini*/
2
+ /*Gx Ide*/
3
+ /*@container queries*/
4
+ /* hiChar styles
5
+ Found on /common/helpers.tsx hiChar function is used to add a span/class to every character that matches a search value. It is used to help the user see why the filter results are filtered. The span/class on the characters are useless without proper styling.
6
+ */
7
+ /* Helper Classes */
8
+ .gxi-hidden {
9
+ display: none !important;
10
+ }
11
+
12
+ .gxi-full-height {
13
+ height: 100%;
14
+ }
15
+
16
+ .gxi-overflow-auto {
17
+ overflow: auto;
18
+ }
19
+
20
+ .gxi-display-flex {
21
+ display: flex;
22
+ }
23
+
24
+ .align-start {
25
+ display: flex;
26
+ align-items: start;
27
+ }
28
+
29
+ .align-center {
30
+ display: flex;
31
+ align-items: center;
32
+ }
33
+
34
+ .align-end {
35
+ display: flex;
36
+ align-items: end;
37
+ }
38
+
39
+ .overflow-auto {
40
+ overflow: auto;
41
+ }
42
+
43
+ .justify-start {
44
+ display: flex;
45
+ justify-content: start;
46
+ }
47
+
48
+ .justify-center {
49
+ display: flex;
50
+ justify-content: center;
51
+ }
52
+
53
+ .justify-end {
54
+ display: flex;
55
+ justify-content: end;
56
+ }
57
+
58
+ /* Grids */
59
+ .grid {
60
+ display: grid;
61
+ grid-row-gap: var(--gx-ide-grid-row-gap);
62
+ grid-column-gap: var(--gx-ide-grid-column-gap);
63
+ grid-template-rows: auto;
64
+ }
65
+
66
+ ch-grid-cell {
67
+ display: flex;
68
+ }
69
+
70
+ ch-grid {
71
+ overflow: auto;
72
+ height: 100%;
73
+ }
74
+
75
+ ch-grid-column {
76
+ /*to be removed when this works inside a component with shadow: true*/
77
+ z-index: 99;
78
+ border-bottom: 1px solid var(--gray-01);
79
+ }
80
+
81
+ ch-grid-column:first-child {
82
+ padding-inline-start: var(--gxg-container--padding) !important;
83
+ }
84
+
85
+ ch-grid-column:last-child {
86
+ padding-inline-end: var(--gxg-container--padding) !important;
87
+ }
88
+
89
+ ch-grid-cell {
90
+ --spacing-comp-02: var(--gxg-container--padding);
91
+ }
92
+
93
+ /*Gxg Tabs*/
94
+ gxg-tabs {
95
+ box-shadow: none;
96
+ }
97
+
98
+ /*All components Host should have this class set. !important is set on every rule, since this styles could be overridden by the host user, since they are applied on the host component*/
99
+ :host(.gx-ide-component) {
100
+ box-shadow: var(--box-shadow-01) !important;
101
+ height: 100% !important;
102
+ display: flex !important;
103
+ flex-direction: column !important;
104
+ }
105
+
106
+ /*stylize the top bar*/
107
+ :host(:focus-within) gx-ide-top-bar::part(wrapper) {
108
+ background-color: var(--color-secondary-enabled);
109
+ }
110
+
111
+ /* Main wrapper (should be the first element inside the host. Everything should be inside .gx-ide-main-wrapper) */
112
+ .gx-ide-main-wrapper {
113
+ color: var(--gx-ide-component-text-color);
114
+ font-weight: var(--font-weight-regular);
115
+ font-size: var(--font-size-lg);
116
+ font-family: var(--font-family-primary);
117
+ line-height: 1.6em;
118
+ height: 100%;
119
+ background-color: var(--gx-ide-component-background-color);
120
+ display: flex;
121
+ flex-direction: column;
122
+ flex-grow: 1;
123
+ box-sizing: border-box;
124
+ }
125
+
126
+ /*This is the main element. This is the one that take the remaining vertical space*/
127
+ .gx-ide-main {
128
+ flex-grow: 1;
129
+ overflow-y: auto;
130
+ /* Track */
131
+ /* Handle */
132
+ /* Handle on hover */
133
+ }
134
+ .gx-ide-main::-webkit-scrollbar {
135
+ width: 6px;
136
+ height: 6px;
137
+ }
138
+ .gx-ide-main::-webkit-scrollbar-track {
139
+ background-color: var(--gray-02);
140
+ border-radius: 10px;
141
+ }
142
+ .gx-ide-main::-webkit-scrollbar-thumb {
143
+ background: var(--gray-05);
144
+ border-radius: 10px;
145
+ }
146
+ .gx-ide-main::-webkit-scrollbar-thumb:hover {
147
+ background: var(--gray-04);
148
+ cursor: pointer;
149
+ }
150
+ .gx-ide-main .gxg-scroll {
151
+ display: block;
152
+ overflow-y: auto;
153
+ padding-inline-end: 2px;
154
+ }
155
+
156
+ .gx-ide-overflow {
157
+ overflow-y: auto;
158
+ /* Track */
159
+ /* Handle */
160
+ /* Handle on hover */
161
+ }
162
+ .gx-ide-overflow::-webkit-scrollbar {
163
+ width: 6px;
164
+ height: 6px;
165
+ }
166
+ .gx-ide-overflow::-webkit-scrollbar-track {
167
+ background-color: var(--gray-02);
168
+ border-radius: 10px;
169
+ }
170
+ .gx-ide-overflow::-webkit-scrollbar-thumb {
171
+ background: var(--gray-05);
172
+ border-radius: 10px;
173
+ }
174
+ .gx-ide-overflow::-webkit-scrollbar-thumb:hover {
175
+ background: var(--gray-04);
176
+ cursor: pointer;
177
+ }
178
+ .gx-ide-overflow .gxg-scroll {
179
+ display: block;
180
+ overflow-y: auto;
181
+ padding-inline-end: 2px;
182
+ }
183
+
184
+ /*gxg-tree-view*/
185
+ .tree-container {
186
+ display: flex;
187
+ height: 100%;
188
+ width: 100%;
189
+ box-sizing: border-box;
190
+ }
191
+
192
+ /*Gemini*/
193
+ /*Gx Ide*/
194
+ /*@container queries*/
195
+ /* hiChar styles
196
+ Found on /common/helpers.tsx hiChar function is used to add a span/class to every character that matches a search value. It is used to help the user see why the filter results are filtered. The span/class on the characters are useless without proper styling.
197
+ */
198
+ :host {
199
+ display: block;
200
+ height: 100%;
201
+ overflow: auto;
202
+ }
203
+
204
+ :host,
205
+ .gx-ide-main-wrapper,
206
+ .grid--basic,
207
+ .project,
208
+ .recent-objects {
209
+ height: 100%;
210
+ overflow: auto;
211
+ }
212
+
213
+ .kb {
214
+ grid-area: kb;
215
+ align-self: center;
216
+ }
217
+ .kb .version-pill {
218
+ white-space: nowrap;
219
+ text-overflow: ellipsis;
220
+ }
221
+ .kb .kb-detail {
222
+ flex-wrap: wrap;
223
+ margin-block-start: var(--spacing-comp-04);
224
+ gap: var(--spacing-comp-04);
225
+ }
226
+ .kb .kb-detail .display-inline {
227
+ display: -webkit-box;
228
+ -webkit-line-clamp: 1;
229
+ -webkit-box-orient: vertical;
230
+ overflow: hidden;
231
+ }
232
+
233
+ .environment {
234
+ grid-area: environment;
235
+ }
236
+ .environment gxg-title-editable {
237
+ margin-block-end: var(--gx-ide-cards-vertical-spacing);
238
+ }
239
+ .environment .grid--environments {
240
+ flex-grow: 1;
241
+ grid-template-columns: 1fr 1fr 1fr;
242
+ gap: var(--gx-ide-grid-column-gap);
243
+ }
244
+ .environment .grid--environments .align-center {
245
+ gap: var(--spacing-comp-01);
246
+ }
247
+ .environment .grid--environments .front-end {
248
+ display: flex;
249
+ flex-direction: column;
250
+ gap: var(--gx-ide-cards-vertical-spacing);
251
+ }
252
+
253
+ .project {
254
+ grid-area: project;
255
+ }
256
+ .project .project-buttons {
257
+ margin-block-start: var(--spacing-comp-04);
258
+ gap: var(--spacing-comp-04);
259
+ }
260
+ .project gxg-form-textarea::part(textarea) {
261
+ width: 100%;
262
+ background-color: transparent;
263
+ line-height: var(--line-height-default);
264
+ font-size: var(--mc-font-size-xs);
265
+ }
266
+
267
+ .recent-objects {
268
+ grid-area: recent-objects;
269
+ }
270
+ .recent-objects .recent-objects-card {
271
+ margin-block-end: var(--gx-ide-cards-vertical-spacing);
272
+ }
273
+ .recent-objects .recent-objects-card:last-child {
274
+ margin-block-end: 0;
275
+ }
276
+ .recent-objects .recent-objects-card .grid--recent-objects {
277
+ flex-grow: 1;
278
+ grid-template-columns: 1fr 10fr 12fr 1fr;
279
+ gap: var(--gx-ide-cards-horizontal-spacing);
280
+ height: 100%;
281
+ }
282
+ .recent-objects .recent-objects-card .grid--recent-objects .obj-name {
283
+ color: var(--gray-06);
284
+ }
285
+
286
+ .grid--basic {
287
+ flex-grow: 1;
288
+ grid-template-columns: 1.12fr 1fr;
289
+ gap: var(--spacing-comp-06);
290
+ grid-template-areas: "kb environment" "project recent-objects";
291
+ grid-template-rows: auto 1fr;
292
+ }
293
+
294
+ gxg-title-editable {
295
+ width: 100%;
296
+ }
297
+
298
+ gx-ide-card {
299
+ height: 100%;
300
+ }
@@ -0,0 +1,299 @@
1
+ /* STENCIL IMPORTS */
2
+ import { Host, h } from "@stencil/core";
3
+ /* OTHER LIBRARIES IMPORTS */
4
+ /* CUSTOM IMPORTS */
5
+ import { Locale } from "../../common/locale";
6
+ import { formatDate } from "../../common/helpers";
7
+ const mapStatusToIcons = {
8
+ new: "gx-server/new",
9
+ modified: "patterns-default-associated/modified",
10
+ conflicted: "patterns-default-associated/synchronized",
11
+ unmodified: "gx-server/delete"
12
+ };
13
+ export class GxIdeDashboardHome {
14
+ constructor() {
15
+ // 7.LISTENERS //
16
+ // 8.PUBLIC METHODS API //
17
+ // 9.LOCAL METHODS //
18
+ // Kb Name
19
+ this.handleKbNameChange = async () => {
20
+ if (this.renameKBCallback) {
21
+ const response = this.renameKBCallback(this.kbNameEl.value);
22
+ response.then((result) => {
23
+ this.editValidation(result, this.kb.name, this.kbNameEl);
24
+ });
25
+ }
26
+ };
27
+ // Environment Name
28
+ this.handleEnvNameChange = async () => {
29
+ if (this.renameEnvironmentCallback) {
30
+ const response = this.renameEnvironmentCallback(this.envNameEl.value);
31
+ response.then((result) => {
32
+ this.editValidation(result, this.environment.name, this.envNameEl);
33
+ });
34
+ }
35
+ };
36
+ // Project Description
37
+ this.toggleEditDescription = async () => {
38
+ this.editingProjectDescription = !this.editingProjectDescription;
39
+ };
40
+ this.handleDescriptionChange = async () => {
41
+ if (this.editDescriptionCallback) {
42
+ await this.editDescriptionCallback();
43
+ }
44
+ };
45
+ // Recent Objects
46
+ this.openObject = (id) => {
47
+ this.openObjectCallback(id);
48
+ };
49
+ // Validation
50
+ this.editValidation = (result, name, el) => {
51
+ if (!result.success) {
52
+ el.validationStatus = "error";
53
+ el.validationMessage = result.errorMessage;
54
+ }
55
+ else {
56
+ name = el.value;
57
+ }
58
+ };
59
+ // 10.RENDER() FUNCTIONS //
60
+ this.renderProjectContent = () => {
61
+ return this.editingProjectDescription ? (h("div", null, h("gxg-form-textarea", { rows: 12, value: this.projectDescription, ref: (el) => (this.projectDescriptionEl = el) }), h("div", { class: "project-buttons align-center" }, h("gxg-text", { type: "text-link", onClick: this.handleDescriptionChange }, this._componentLocale.save), h("gxg-text", { type: "text-link", onClick: this.toggleEditDescription }, this._componentLocale.discard)))) : (h("div", null, h("div", { innerHTML: this.projectDescription }), h("gxg-text", { icon: "gemini-tools/edit", type: "text-link", onClick: this.toggleEditDescription }, this._componentLocale.edit)));
62
+ };
63
+ this.editingKbName = false;
64
+ this.editingEnvName = false;
65
+ this.editingProjectDescription = false;
66
+ this.kb = undefined;
67
+ this.environment = undefined;
68
+ this.projectDescription = undefined;
69
+ this.recentObjects = undefined;
70
+ this.renameKBCallback = undefined;
71
+ this.renameEnvironmentCallback = undefined;
72
+ this.editDescriptionCallback = undefined;
73
+ this.openObjectCallback = undefined;
74
+ }
75
+ // 6.COMPONENT LIFECYCLE METHODS //
76
+ async componentWillLoad() {
77
+ this._componentLocale = await Locale.getComponentStrings(this.el);
78
+ }
79
+ componentDidRender() {
80
+ this.componentDidRenderEvent.emit(this._componentLocale.componentName);
81
+ }
82
+ renderFrontEndTitle() {
83
+ return this.environment.frontEnd.length <= 1
84
+ ? this._componentLocale.environment.frontEndLang
85
+ : this._componentLocale.environment.frontEndLangs;
86
+ }
87
+ // 11.RENDER() MAIN FUNCTION //
88
+ render() {
89
+ return (h(Host, { class: "gx-ide-component", id: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("div", { class: "grid grid--basic" }, h("div", { class: "kb gxi-overflow-auto" }, h("gxg-title-editable", { value: this.kb.name, "disable-edition": this.editingKbName, "click-to-edit": true, fluid: true, ref: el => (this.kbNameEl = el), onValueChanged: this.handleKbNameChange, focusType: "text", debounce: true }), h("div", { class: "align-center kb-detail" }, h("gxg-pill", { id: "pill", class: "version-pill", type: "static", icon: "objects/procedure" }, this._componentLocale.version, ": ", this.kb.currentVersion), h("gxg-text", { class: "display-inline", type: "text-regular", padding: "s", italic: true }, this._componentLocale.created, ":", " ", formatDate(this.kb.created, "date-time-short"), " -", " ", this._componentLocale.lastBuild, ":", " ", formatDate(this.kb.lastBuild, "date-time-short")))), h("div", { class: "environment" }, h("gxg-title-editable", { value: this.environment.name, "disable-edition": this.editingEnvName, "click-to-edit": true, "title-type": "h3", ref: el => (this.envNameEl = el), onValueChanged: this.handleEnvNameChange, focusType: "text", debounce: true }), h("div", { class: "grid grid--environments" }, h("gxg-card", { background: "gray-01", cardType: "mini", padding: "s", cardTitle: this.renderFrontEndTitle() }, h("div", { class: "front-end" }, this.environment.frontEnd.map((obj) => (h("div", { class: "align-center" }, h("gxg-icon", { type: obj.icon, color: "onbackground", style: {
90
+ "--color-on-background": "var(--gray-05);"
91
+ } }), obj.name))))), h("gxg-card", { background: "gray-01", cardType: "mini", padding: "s", cardTitle: this._componentLocale.environment.backEnd }, h("div", { class: "align-center" }, h("gxg-icon", { type: this.environment.backEnd.icon, color: "onbackground", style: {
92
+ "--color-on-background": "var(--gray-05);"
93
+ } }), this.environment.backEnd.name)), h("gxg-card", { background: "gray-01", cardType: "mini", padding: "s", cardTitle: this._componentLocale.environment.dataStore }, h("div", { class: "align-center" }, h("gxg-icon", { type: this.environment.dataStore.icon, color: "onbackground", style: {
94
+ "--color-on-background": "var(--gray-05);"
95
+ } }), this.environment.dataStore.name)))), h("gxg-card", { editableTitle: false, cardTitle: this._componentLocale.project.title, class: "project" }, this.renderProjectContent()), h("gxg-card", { editableTitle: false, cardTitle: this._componentLocale.recent.title, class: "recent-objects", cardType: "section", "no-padding-top": true }, this.recentObjects.map((obj, index) => (h("gxg-card", { background: "gray-01", padding: "m", cardType: "article", class: "recent-objects-card", actionable: true, onClick: () => this.openObject(index) }, h("div", { class: "grid grid--recent-objects" }, h("gxg-icon", { type: obj.typeIcon, color: "auto" }), h("gxg-text", { type: "text-regular", class: "obj-name" }, obj.name), h("gxg-text", { italic: true, class: "justify-end" }, this._componentLocale.recent.modified, ":", " ", `${formatDate(obj.modificationDate, "date")}`), h("div", { class: " justify-end" }, h("gxg-icon", { type: mapStatusToIcons[obj.status], color: "auto" })))))))))));
96
+ }
97
+ static get is() { return "gx-ide-dashboard-home"; }
98
+ static get encapsulation() { return "shadow"; }
99
+ static get originalStyleUrls() {
100
+ return {
101
+ "$": ["dashboard-home.scss"]
102
+ };
103
+ }
104
+ static get styleUrls() {
105
+ return {
106
+ "$": ["dashboard-home.css"]
107
+ };
108
+ }
109
+ static get assetsDirs() { return ["gx-ide-assets/dashboard-home"]; }
110
+ static get properties() {
111
+ return {
112
+ "kb": {
113
+ "type": "unknown",
114
+ "mutable": false,
115
+ "complexType": {
116
+ "original": "KBData",
117
+ "resolved": "{ name: string; currentVersion: string; created: Date; lastBuild?: Date; }",
118
+ "references": {
119
+ "KBData": {
120
+ "location": "local"
121
+ }
122
+ }
123
+ },
124
+ "required": false,
125
+ "optional": false,
126
+ "docs": {
127
+ "tags": [],
128
+ "text": "The KB basic properties."
129
+ }
130
+ },
131
+ "environment": {
132
+ "type": "unknown",
133
+ "mutable": false,
134
+ "complexType": {
135
+ "original": "EnvironmentData",
136
+ "resolved": "{ name: string; frontEnd: EnvironmentItemData[]; backEnd: EnvironmentItemData; dataStore: EnvironmentItemData; }",
137
+ "references": {
138
+ "EnvironmentData": {
139
+ "location": "local"
140
+ }
141
+ }
142
+ },
143
+ "required": false,
144
+ "optional": false,
145
+ "docs": {
146
+ "tags": [],
147
+ "text": "Information of the current environment."
148
+ }
149
+ },
150
+ "projectDescription": {
151
+ "type": "string",
152
+ "mutable": false,
153
+ "complexType": {
154
+ "original": "string",
155
+ "resolved": "string",
156
+ "references": {}
157
+ },
158
+ "required": false,
159
+ "optional": false,
160
+ "docs": {
161
+ "tags": [],
162
+ "text": "Project Detail description."
163
+ },
164
+ "attribute": "project-description",
165
+ "reflect": false
166
+ },
167
+ "recentObjects": {
168
+ "type": "unknown",
169
+ "mutable": false,
170
+ "complexType": {
171
+ "original": "recentObjectData[]",
172
+ "resolved": "recentObjectData[]",
173
+ "references": {
174
+ "recentObjectData": {
175
+ "location": "local"
176
+ }
177
+ }
178
+ },
179
+ "required": false,
180
+ "optional": false,
181
+ "docs": {
182
+ "tags": [],
183
+ "text": "Recently edited objects."
184
+ }
185
+ },
186
+ "renameKBCallback": {
187
+ "type": "unknown",
188
+ "mutable": false,
189
+ "complexType": {
190
+ "original": "(name: string) => Promise<EditResult>",
191
+ "resolved": "(name: string) => Promise<EditResult>",
192
+ "references": {
193
+ "Promise": {
194
+ "location": "global"
195
+ },
196
+ "EditResult": {
197
+ "location": "local"
198
+ }
199
+ }
200
+ },
201
+ "required": false,
202
+ "optional": false,
203
+ "docs": {
204
+ "tags": [],
205
+ "text": "Callback invoked when user tries to rename the KB.\nReceives the new name as a parameter\nand returns a promise with the result of the operation."
206
+ }
207
+ },
208
+ "renameEnvironmentCallback": {
209
+ "type": "unknown",
210
+ "mutable": false,
211
+ "complexType": {
212
+ "original": "(\n name: string\n ) => Promise<EditResult>",
213
+ "resolved": "(name: string) => Promise<EditResult>",
214
+ "references": {
215
+ "Promise": {
216
+ "location": "global"
217
+ },
218
+ "EditResult": {
219
+ "location": "local"
220
+ }
221
+ }
222
+ },
223
+ "required": false,
224
+ "optional": false,
225
+ "docs": {
226
+ "tags": [],
227
+ "text": "Callback invoked when user tries to rename the KB environment.\nReceives the new name as a parameter\nand returns a promise with the result of the operation."
228
+ }
229
+ },
230
+ "editDescriptionCallback": {
231
+ "type": "unknown",
232
+ "mutable": false,
233
+ "complexType": {
234
+ "original": "() => Promise<void>",
235
+ "resolved": "() => Promise<void>",
236
+ "references": {
237
+ "Promise": {
238
+ "location": "global"
239
+ }
240
+ }
241
+ },
242
+ "required": false,
243
+ "optional": false,
244
+ "docs": {
245
+ "tags": [],
246
+ "text": "Callback invoked when user tries to edit the Project Description.\nThe edition is resolved by the host."
247
+ }
248
+ },
249
+ "openObjectCallback": {
250
+ "type": "unknown",
251
+ "mutable": false,
252
+ "complexType": {
253
+ "original": "(id: number) => Promise<void>",
254
+ "resolved": "(id: number) => Promise<void>",
255
+ "references": {
256
+ "Promise": {
257
+ "location": "global"
258
+ }
259
+ }
260
+ },
261
+ "required": false,
262
+ "optional": false,
263
+ "docs": {
264
+ "tags": [],
265
+ "text": "Callback invoked when user tries to open one of the listed Recent Objects\nReceives the internal ID of the object"
266
+ }
267
+ }
268
+ };
269
+ }
270
+ static get states() {
271
+ return {
272
+ "editingKbName": {},
273
+ "editingEnvName": {},
274
+ "editingProjectDescription": {}
275
+ };
276
+ }
277
+ static get events() {
278
+ return [{
279
+ "method": "componentDidRenderEvent",
280
+ "name": "componentDidRenderEvent",
281
+ "bubbles": true,
282
+ "cancelable": true,
283
+ "composed": true,
284
+ "docs": {
285
+ "tags": [{
286
+ "name": "description",
287
+ "text": "Gets fired when the component has rendered for the first time."
288
+ }],
289
+ "text": ""
290
+ },
291
+ "complexType": {
292
+ "original": "string",
293
+ "resolved": "string",
294
+ "references": {}
295
+ }
296
+ }];
297
+ }
298
+ static get elementRef() { return "el"; }
299
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "componentName": "Dashboard Home",
3
+ "version": "Version",
4
+ "created": "Created",
5
+ "lastBuild": "Last Build",
6
+ "edit": "Edit Description",
7
+ "save": "Save Changes",
8
+ "discard": "Discard Changes",
9
+ "project": {
10
+ "title": "Project Detail",
11
+ "tabs": {
12
+ "description": "Description",
13
+ "lookFeel": "Look & feel",
14
+ "architecture": "Architecture"
15
+ }
16
+ },
17
+ "environment": {
18
+ "title": "Environment Name",
19
+ "frontEndLang": "Frontend Language",
20
+ "frontEndLangs": "Frontend Languages",
21
+ "backEnd": "Backend Language",
22
+ "dataStore": "Main Data Store"
23
+ },
24
+ "recent": {
25
+ "title": "Recent Objects",
26
+ "modified": "Modified"
27
+ }
28
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "presentation": "「こんにちは、私の名前は {0} です。オレゴンに住んでいます。」"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "presentation": "你好,我的名字是 {0},我住在俄勒冈州。"
3
+ }
@@ -40,6 +40,21 @@ Found on /common/helpers.tsx hiChar function is used to add a span/class to ever
40
40
  overflow: auto;
41
41
  }
42
42
 
43
+ .justify-start {
44
+ display: flex;
45
+ justify-content: start;
46
+ }
47
+
48
+ .justify-center {
49
+ display: flex;
50
+ justify-content: center;
51
+ }
52
+
53
+ .justify-end {
54
+ display: flex;
55
+ justify-content: end;
56
+ }
57
+
43
58
  /* Grids */
44
59
  .grid {
45
60
  display: grid;
@@ -40,6 +40,21 @@ Found on /common/helpers.tsx hiChar function is used to add a span/class to ever
40
40
  overflow: auto;
41
41
  }
42
42
 
43
+ .justify-start {
44
+ display: flex;
45
+ justify-content: start;
46
+ }
47
+
48
+ .justify-center {
49
+ display: flex;
50
+ justify-content: center;
51
+ }
52
+
53
+ .justify-end {
54
+ display: flex;
55
+ justify-content: end;
56
+ }
57
+
43
58
  /* Grids */
44
59
  .grid {
45
60
  display: grid;