@genexus/genexus-ide-ui 1.0.44 → 1.0.46
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.
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +10 -11
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +3 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-loader.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +38 -11
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +75 -13
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +244 -0
- package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js +4 -2
- package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
- package/dist/collection/components/_helpers/ide-loader/ide-loader.css +1 -1
- package/dist/collection/components/current-user-info/current-user-info.css +6 -1
- package/dist/collection/components/current-user-info/current-user-info.js +32 -11
- package/dist/collection/components/current-user-info/current-user-info.js.map +1 -1
- package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/langs/current-user-info.lang.en.json +2 -1
- package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/langs/current-user-info.lang.ja.json +2 -1
- package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/langs/current-user-info.lang.zh.json +2 -1
- package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +5 -1
- package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +5 -1
- package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +5 -1
- package/dist/collection/components/select-user-team/helpers.js +1 -1
- package/dist/collection/components/select-user-team/helpers.js.map +1 -1
- package/dist/collection/components/select-user-team/select-user-team.css +8 -0
- package/dist/collection/components/select-user-team/select-user-team.js +42 -9
- package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
- package/dist/collection/components/sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.en.json +15 -5
- package/dist/collection/components/sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.ja.json +13 -3
- package/dist/collection/components/sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.zh.json +13 -3
- package/dist/collection/components/sign-in-team/sign-in-team.css +9 -4
- package/dist/collection/components/sign-in-team/sign-in-team.js +116 -15
- package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
- package/dist/collection/components/ww-attributes/gx-ide-assets/ww-attributes/langs/ww-attributes.lang.en.json +30 -0
- package/dist/collection/components/ww-attributes/gx-ide-assets/ww-attributes/langs/ww-attributes.lang.ja.json +30 -0
- package/dist/collection/components/ww-attributes/gx-ide-assets/ww-attributes/langs/ww-attributes.lang.zh.json +30 -0
- package/dist/collection/components/ww-attributes/helpers.js +11 -0
- package/dist/collection/components/ww-attributes/helpers.js.map +1 -0
- package/dist/collection/components/ww-attributes/ww-attributes.css +70 -0
- package/dist/collection/components/ww-attributes/ww-attributes.js +468 -0
- package/dist/collection/components/ww-attributes/ww-attributes.js.map +1 -0
- package/dist/collection/testing/locale.e2e.js +1 -0
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/entity-selector.js +3 -1
- package/dist/components/entity-selector.js.map +1 -1
- package/dist/components/gx-ide-current-user-info.js +12 -12
- package/dist/components/gx-ide-current-user-info.js.map +1 -1
- package/dist/components/gx-ide-select-user-team.js +48 -13
- package/dist/components/gx-ide-select-user-team.js.map +1 -1
- package/dist/components/gx-ide-sign-in-team.js +86 -15
- package/dist/components/gx-ide-sign-in-team.js.map +1 -1
- package/dist/components/gx-ide-ww-attributes.d.ts +11 -0
- package/dist/components/gx-ide-ww-attributes.js +294 -0
- package/dist/components/gx-ide-ww-attributes.js.map +1 -0
- package/dist/components/ide-loader.js +1 -1
- package/dist/components/ide-loader.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-current-user-info.entry.js +10 -11
- package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
- package/dist/esm/gx-ide-entity-selector.entry.js +3 -1
- package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
- package/dist/esm/gx-ide-loader.entry.js +1 -1
- package/dist/esm/gx-ide-loader.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js +38 -11
- package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in-team.entry.js +75 -13
- package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-ww-attributes.entry.js +240 -0
- package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/current-user-info/langs/current-user-info.lang.en.json +2 -1
- package/dist/genexus-ide-ui/gx-ide-assets/current-user-info/langs/current-user-info.lang.ja.json +2 -1
- package/dist/genexus-ide-ui/gx-ide-assets/current-user-info/langs/current-user-info.lang.zh.json +2 -1
- package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +5 -1
- package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +5 -1
- package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +5 -1
- package/dist/genexus-ide-ui/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.en.json +15 -5
- package/dist/genexus-ide-ui/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.ja.json +13 -3
- package/dist/genexus-ide-ui/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.zh.json +13 -3
- package/dist/genexus-ide-ui/gx-ide-assets/ww-attributes/langs/ww-attributes.lang.en.json +30 -0
- package/dist/genexus-ide-ui/gx-ide-assets/ww-attributes/langs/ww-attributes.lang.ja.json +30 -0
- package/dist/genexus-ide-ui/gx-ide-assets/ww-attributes/langs/ww-attributes.lang.zh.json +30 -0
- package/dist/genexus-ide-ui/{p-04d7f44c.entry.js → p-1693a2d1.entry.js} +4 -2
- package/dist/genexus-ide-ui/p-1693a2d1.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-5619120d.entry.js +341 -0
- package/dist/genexus-ide-ui/p-5619120d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-b12a5426.entry.js → p-a27c088d.entry.js} +45 -41
- package/dist/genexus-ide-ui/p-a27c088d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-c9b0fd13.entry.js → p-ab653cc2.entry.js} +44 -18
- package/dist/genexus-ide-ui/p-ab653cc2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-b04a0ae3.entry.js +236 -0
- package/dist/genexus-ide-ui/p-b04a0ae3.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-6db2056c.entry.js → p-efebc74b.entry.js} +7 -7
- package/dist/genexus-ide-ui/p-efebc74b.entry.js.map +1 -0
- package/dist/types/components/_helpers/entity-selector/entity-selector.d.ts +1 -1
- package/dist/types/components/current-user-info/current-user-info.d.ts +6 -2
- package/dist/types/components/select-user-team/select-user-team.d.ts +9 -0
- package/dist/types/components/sign-in-team/sign-in-team.d.ts +13 -1
- package/dist/types/components/ww-attributes/helpers.d.ts +3 -0
- package/dist/types/components/ww-attributes/ww-attributes.d.ts +95 -0
- package/dist/types/components.d.ts +128 -17
- package/package.json +1 -1
- package/dist/genexus-ide-ui/p-04d7f44c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-0b33d2f9.entry.js +0 -163
- package/dist/genexus-ide-ui/p-0b33d2f9.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-6db2056c.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-b12a5426.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-c9b0fd13.entry.js.map +0 -1
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { ContextMenuInfo, EntityData, GxOption } from "../../common/types";
|
|
2
|
+
export declare class GxIdeWWAttributes {
|
|
3
|
+
#private;
|
|
4
|
+
el: HTMLGxIdeWwAttributesElement;
|
|
5
|
+
/**
|
|
6
|
+
* Attributes rendered in the table
|
|
7
|
+
*/
|
|
8
|
+
attributes: AttributeData[];
|
|
9
|
+
/**
|
|
10
|
+
* Selected attributes in the table of attributes
|
|
11
|
+
*/
|
|
12
|
+
selectedAttributesIds: string[];
|
|
13
|
+
/**
|
|
14
|
+
* Show or hide advanced filters
|
|
15
|
+
*/
|
|
16
|
+
filterMore: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* The attribute filter name
|
|
19
|
+
*/
|
|
20
|
+
name: string;
|
|
21
|
+
/**
|
|
22
|
+
* True if loadCallback hasn't been resolved yet
|
|
23
|
+
*/
|
|
24
|
+
loading: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* The attribute object value
|
|
27
|
+
*/
|
|
28
|
+
object: EntityData;
|
|
29
|
+
/**
|
|
30
|
+
* The attribute filter type value
|
|
31
|
+
*/
|
|
32
|
+
type: string;
|
|
33
|
+
/**
|
|
34
|
+
* Callback invoked when user right-clicks on the grid
|
|
35
|
+
*/
|
|
36
|
+
readonly contextMenuCallback: ContextMenuCallback;
|
|
37
|
+
/**
|
|
38
|
+
* Callback invoked when user deletes an object
|
|
39
|
+
*/
|
|
40
|
+
readonly deleteSelectionCallback: DeleteSelectionCallback;
|
|
41
|
+
/**
|
|
42
|
+
* Callback invoked when user filters the objects
|
|
43
|
+
*/
|
|
44
|
+
readonly loadCallback: LoadCallback;
|
|
45
|
+
/**
|
|
46
|
+
* Callback invoked when user executes filter action
|
|
47
|
+
*/
|
|
48
|
+
readonly objectActionCallback: ObjectActionCallback;
|
|
49
|
+
/**
|
|
50
|
+
* Objects rendered in the object selector
|
|
51
|
+
*/
|
|
52
|
+
readonly objects: GxOption[];
|
|
53
|
+
/**
|
|
54
|
+
* Callback invoked when user opens the selection dialog
|
|
55
|
+
*/
|
|
56
|
+
readonly openSelectionCallback: OpenSelectionCallback;
|
|
57
|
+
/**
|
|
58
|
+
* Callback invoked when user selects or deselects an object
|
|
59
|
+
*/
|
|
60
|
+
readonly selectionChangeCallback: SelectionChangeCallback;
|
|
61
|
+
/**
|
|
62
|
+
* Types rendered in the filter type selector
|
|
63
|
+
*/
|
|
64
|
+
readonly types: GxOption[];
|
|
65
|
+
componentWillLoad(): Promise<void>;
|
|
66
|
+
componentDidLoad(): void;
|
|
67
|
+
keyDownHandler(eventInfo: KeyboardEvent): void;
|
|
68
|
+
/**
|
|
69
|
+
* Reloads the view, refreshing the filters and attributes table.
|
|
70
|
+
*/
|
|
71
|
+
reload(): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Validate necessary data input
|
|
74
|
+
*/
|
|
75
|
+
validate(): Promise<boolean>;
|
|
76
|
+
render(): void;
|
|
77
|
+
}
|
|
78
|
+
export type ContextMenuCallback = (contextMenuInfo: ContextMenuInfo) => Promise<void>;
|
|
79
|
+
export type DeleteSelectionCallback = (ids: string[]) => Promise<void>;
|
|
80
|
+
export type LoadCallback = (filters: AttributeFiltersData) => Promise<AttributeData[]>;
|
|
81
|
+
export type ObjectActionCallback = () => Promise<EntityData | undefined>;
|
|
82
|
+
export type OpenSelectionCallback = (ids: string[]) => Promise<void>;
|
|
83
|
+
export type SelectionChangeCallback = (ids: string[]) => Promise<void>;
|
|
84
|
+
export interface AttributeData {
|
|
85
|
+
id: string;
|
|
86
|
+
icon: string;
|
|
87
|
+
name: string;
|
|
88
|
+
type: string;
|
|
89
|
+
description: string;
|
|
90
|
+
}
|
|
91
|
+
export interface AttributeFiltersData {
|
|
92
|
+
name?: string;
|
|
93
|
+
type?: string;
|
|
94
|
+
object?: string;
|
|
95
|
+
}
|
|
@@ -58,7 +58,8 @@ import { cancelCallbackFn, confirmCallbackFn } from "./components/team-dev/updat
|
|
|
58
58
|
import { TitleAlignment as TitleAlignment1, TitleType as TitleType1 } from "./components/_helpers/title/title";
|
|
59
59
|
import { CloseCallback as CloseCallback1, SlideInfo, TransitionType } from "./components/welcome-page/welcome-page";
|
|
60
60
|
import { WFConfigData } from "./components/wf-settings/wf-settings";
|
|
61
|
-
import { ContextMenuCallback, DeleteSelectionCallback, LoadCallback as LoadCallback5,
|
|
61
|
+
import { ContextMenuCallback, DeleteSelectionCallback, LoadCallback as LoadCallback5, ObjectActionCallback, OpenSelectionCallback as OpenSelectionCallback1, SelectionChangeCallback } from "./components/ww-attributes/ww-attributes";
|
|
62
|
+
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";
|
|
62
63
|
export { AiStatus, Message, UserMessageCallback } from "./components/ai-assistant/ai-assistant";
|
|
63
64
|
export { MessageType } from "./components/ai-assistant/ai-assistant";
|
|
64
65
|
export { Translations } from "./components/ai-assistant/ai-message";
|
|
@@ -112,7 +113,8 @@ export { cancelCallbackFn, confirmCallbackFn } from "./components/team-dev/updat
|
|
|
112
113
|
export { TitleAlignment as TitleAlignment1, TitleType as TitleType1 } from "./components/_helpers/title/title";
|
|
113
114
|
export { CloseCallback as CloseCallback1, SlideInfo, TransitionType } from "./components/welcome-page/welcome-page";
|
|
114
115
|
export { WFConfigData } from "./components/wf-settings/wf-settings";
|
|
115
|
-
export { ContextMenuCallback, DeleteSelectionCallback, LoadCallback as LoadCallback5,
|
|
116
|
+
export { ContextMenuCallback, DeleteSelectionCallback, LoadCallback as LoadCallback5, ObjectActionCallback, OpenSelectionCallback as OpenSelectionCallback1, SelectionChangeCallback } from "./components/ww-attributes/ww-attributes";
|
|
117
|
+
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";
|
|
116
118
|
export namespace Components {
|
|
117
119
|
interface GxIdeAiAssistant {
|
|
118
120
|
/**
|
|
@@ -562,13 +564,17 @@ export namespace Components {
|
|
|
562
564
|
*/
|
|
563
565
|
"myAccountCallback": () => Promise<void>;
|
|
564
566
|
/**
|
|
565
|
-
* Callback executed when the user
|
|
567
|
+
* Callback executed when the user clicks on the "privacy policy" link
|
|
566
568
|
*/
|
|
567
|
-
"
|
|
569
|
+
"privacyCallback": () => Promise<void>;
|
|
568
570
|
/**
|
|
569
571
|
* Callback executed when the user click "Sign Out" link
|
|
570
572
|
*/
|
|
571
573
|
"signOutCallback": () => Promise<void>;
|
|
574
|
+
/**
|
|
575
|
+
* Callback executed when the user clicks on the "term and conditions" link
|
|
576
|
+
*/
|
|
577
|
+
"termsCallback": () => Promise<void>;
|
|
572
578
|
/**
|
|
573
579
|
* User data
|
|
574
580
|
*/
|
|
@@ -858,7 +864,7 @@ export namespace Components {
|
|
|
858
864
|
/**
|
|
859
865
|
* Callback invoked when the action button is pressed. Returns the new value.
|
|
860
866
|
*/
|
|
861
|
-
"selectEntityCallback": () => Promise<EntityData
|
|
867
|
+
"selectEntityCallback": () => Promise<EntityData> | null;
|
|
862
868
|
/**
|
|
863
869
|
* Value currently assigned.
|
|
864
870
|
*/
|
|
@@ -1512,6 +1518,10 @@ export namespace Components {
|
|
|
1512
1518
|
* Callback executed when the user clicks the 'Continue' button
|
|
1513
1519
|
*/
|
|
1514
1520
|
"continueCallback": (teamId: string) => Promise<void>;
|
|
1521
|
+
/**
|
|
1522
|
+
* Callback executed when the user clicks on the "privacy policy" link
|
|
1523
|
+
*/
|
|
1524
|
+
"privacyCallback": () => Promise<void>;
|
|
1515
1525
|
/**
|
|
1516
1526
|
* Callback executed when the user click the "Sign In" button
|
|
1517
1527
|
*/
|
|
@@ -1524,6 +1534,10 @@ export namespace Components {
|
|
|
1524
1534
|
* Callback executed when the user clicks on the "term and conditions" link
|
|
1525
1535
|
*/
|
|
1526
1536
|
"termsCallback": () => Promise<void>;
|
|
1537
|
+
/**
|
|
1538
|
+
* When true, it will diplay checkboxes for the user to confirm terms and conditions
|
|
1539
|
+
*/
|
|
1540
|
+
"termsConfirmationRequired": boolean;
|
|
1527
1541
|
}
|
|
1528
1542
|
interface GxIdeSplash {
|
|
1529
1543
|
/**
|
|
@@ -1869,6 +1883,48 @@ export namespace Components {
|
|
|
1869
1883
|
*/
|
|
1870
1884
|
"saveCallback": (config: WFConfigData) => Promise<void>;
|
|
1871
1885
|
}
|
|
1886
|
+
interface GxIdeWwAttributes {
|
|
1887
|
+
/**
|
|
1888
|
+
* Callback invoked when user right-clicks on the grid
|
|
1889
|
+
*/
|
|
1890
|
+
"contextMenuCallback": ContextMenuCallback;
|
|
1891
|
+
/**
|
|
1892
|
+
* Callback invoked when user deletes an object
|
|
1893
|
+
*/
|
|
1894
|
+
"deleteSelectionCallback": DeleteSelectionCallback;
|
|
1895
|
+
/**
|
|
1896
|
+
* Callback invoked when user filters the objects
|
|
1897
|
+
*/
|
|
1898
|
+
"loadCallback": LoadCallback5;
|
|
1899
|
+
/**
|
|
1900
|
+
* Callback invoked when user executes filter action
|
|
1901
|
+
*/
|
|
1902
|
+
"objectActionCallback": ObjectActionCallback;
|
|
1903
|
+
/**
|
|
1904
|
+
* Objects rendered in the object selector
|
|
1905
|
+
*/
|
|
1906
|
+
"objects": GxOption[];
|
|
1907
|
+
/**
|
|
1908
|
+
* Callback invoked when user opens the selection dialog
|
|
1909
|
+
*/
|
|
1910
|
+
"openSelectionCallback": OpenSelectionCallback1;
|
|
1911
|
+
/**
|
|
1912
|
+
* Reloads the view, refreshing the filters and attributes table.
|
|
1913
|
+
*/
|
|
1914
|
+
"reload": () => Promise<void>;
|
|
1915
|
+
/**
|
|
1916
|
+
* Callback invoked when user selects or deselects an object
|
|
1917
|
+
*/
|
|
1918
|
+
"selectionChangeCallback": SelectionChangeCallback;
|
|
1919
|
+
/**
|
|
1920
|
+
* Types rendered in the filter type selector
|
|
1921
|
+
*/
|
|
1922
|
+
"types": GxOption[];
|
|
1923
|
+
/**
|
|
1924
|
+
* Validate necessary data input
|
|
1925
|
+
*/
|
|
1926
|
+
"validate": () => Promise<boolean>;
|
|
1927
|
+
}
|
|
1872
1928
|
interface GxIdeWwImages {
|
|
1873
1929
|
/**
|
|
1874
1930
|
* The categories render in the filter category selector
|
|
@@ -1877,7 +1933,7 @@ export namespace Components {
|
|
|
1877
1933
|
/**
|
|
1878
1934
|
* This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
|
|
1879
1935
|
*/
|
|
1880
|
-
"contextMenuCallback":
|
|
1936
|
+
"contextMenuCallback": ContextMenuCallback1;
|
|
1881
1937
|
/**
|
|
1882
1938
|
* The default value for the 'categories' filter
|
|
1883
1939
|
*/
|
|
@@ -1893,7 +1949,7 @@ export namespace Components {
|
|
|
1893
1949
|
/**
|
|
1894
1950
|
* This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
|
|
1895
1951
|
*/
|
|
1896
|
-
"deleteSelectionCallback":
|
|
1952
|
+
"deleteSelectionCallback": DeleteSelectionCallback1;
|
|
1897
1953
|
/**
|
|
1898
1954
|
* The densities render in the filter density selector
|
|
1899
1955
|
*/
|
|
@@ -1917,7 +1973,7 @@ export namespace Components {
|
|
|
1917
1973
|
/**
|
|
1918
1974
|
* This is a function provided by the developer that return a list of images to populate the table of images.
|
|
1919
1975
|
*/
|
|
1920
|
-
"loadCallback":
|
|
1976
|
+
"loadCallback": LoadCallback6;
|
|
1921
1977
|
/**
|
|
1922
1978
|
* This is a function provided by the developer that return a list of items of the image selected.
|
|
1923
1979
|
*/
|
|
@@ -1929,7 +1985,7 @@ export namespace Components {
|
|
|
1929
1985
|
/**
|
|
1930
1986
|
* This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
|
|
1931
1987
|
*/
|
|
1932
|
-
"openSelectionCallback":
|
|
1988
|
+
"openSelectionCallback": OpenSelectionCallback2;
|
|
1933
1989
|
/**
|
|
1934
1990
|
* This method reload the view, refreshing the filters and the table of images.
|
|
1935
1991
|
*/
|
|
@@ -2765,6 +2821,12 @@ declare global {
|
|
|
2765
2821
|
prototype: HTMLGxIdeWfSettingsElement;
|
|
2766
2822
|
new (): HTMLGxIdeWfSettingsElement;
|
|
2767
2823
|
};
|
|
2824
|
+
interface HTMLGxIdeWwAttributesElement extends Components.GxIdeWwAttributes, HTMLStencilElement {
|
|
2825
|
+
}
|
|
2826
|
+
var HTMLGxIdeWwAttributesElement: {
|
|
2827
|
+
prototype: HTMLGxIdeWwAttributesElement;
|
|
2828
|
+
new (): HTMLGxIdeWwAttributesElement;
|
|
2829
|
+
};
|
|
2768
2830
|
interface HTMLGxIdeWwImagesElementEventMap {
|
|
2769
2831
|
"componentDidLoadEvent": boolean;
|
|
2770
2832
|
"componentDidRenderFirstTime": string;
|
|
@@ -2840,6 +2902,7 @@ declare global {
|
|
|
2840
2902
|
"gx-ide-top-bar": HTMLGxIdeTopBarElement;
|
|
2841
2903
|
"gx-ide-welcome-page": HTMLGxIdeWelcomePageElement;
|
|
2842
2904
|
"gx-ide-wf-settings": HTMLGxIdeWfSettingsElement;
|
|
2905
|
+
"gx-ide-ww-attributes": HTMLGxIdeWwAttributesElement;
|
|
2843
2906
|
"gx-ide-ww-images": HTMLGxIdeWwImagesElement;
|
|
2844
2907
|
}
|
|
2845
2908
|
}
|
|
@@ -3324,13 +3387,17 @@ declare namespace LocalJSX {
|
|
|
3324
3387
|
*/
|
|
3325
3388
|
"myAccountCallback": () => Promise<void>;
|
|
3326
3389
|
/**
|
|
3327
|
-
* Callback executed when the user
|
|
3390
|
+
* Callback executed when the user clicks on the "privacy policy" link
|
|
3328
3391
|
*/
|
|
3329
|
-
"
|
|
3392
|
+
"privacyCallback"?: () => Promise<void>;
|
|
3330
3393
|
/**
|
|
3331
3394
|
* Callback executed when the user click "Sign Out" link
|
|
3332
3395
|
*/
|
|
3333
3396
|
"signOutCallback": () => Promise<void>;
|
|
3397
|
+
/**
|
|
3398
|
+
* Callback executed when the user clicks on the "term and conditions" link
|
|
3399
|
+
*/
|
|
3400
|
+
"termsCallback"?: () => Promise<void>;
|
|
3334
3401
|
/**
|
|
3335
3402
|
* User data
|
|
3336
3403
|
*/
|
|
@@ -3624,7 +3691,7 @@ declare namespace LocalJSX {
|
|
|
3624
3691
|
/**
|
|
3625
3692
|
* Callback invoked when the action button is pressed. Returns the new value.
|
|
3626
3693
|
*/
|
|
3627
|
-
"selectEntityCallback": () => Promise<EntityData
|
|
3694
|
+
"selectEntityCallback": () => Promise<EntityData> | null;
|
|
3628
3695
|
/**
|
|
3629
3696
|
* Value currently assigned.
|
|
3630
3697
|
*/
|
|
@@ -4298,10 +4365,14 @@ declare namespace LocalJSX {
|
|
|
4298
4365
|
* Callback executed when the user clicks the 'Continue' button
|
|
4299
4366
|
*/
|
|
4300
4367
|
"continueCallback": (teamId: string) => Promise<void>;
|
|
4368
|
+
/**
|
|
4369
|
+
* Callback executed when the user clicks on the "privacy policy" link
|
|
4370
|
+
*/
|
|
4371
|
+
"privacyCallback"?: () => Promise<void>;
|
|
4301
4372
|
/**
|
|
4302
4373
|
* Callback executed when the user click the "Sign In" button
|
|
4303
4374
|
*/
|
|
4304
|
-
"signInCallback"
|
|
4375
|
+
"signInCallback": () => Promise<void>;
|
|
4305
4376
|
/**
|
|
4306
4377
|
* Array that contains the user's teams
|
|
4307
4378
|
*/
|
|
@@ -4310,6 +4381,10 @@ declare namespace LocalJSX {
|
|
|
4310
4381
|
* Callback executed when the user clicks on the "term and conditions" link
|
|
4311
4382
|
*/
|
|
4312
4383
|
"termsCallback"?: () => Promise<void>;
|
|
4384
|
+
/**
|
|
4385
|
+
* When true, it will diplay checkboxes for the user to confirm terms and conditions
|
|
4386
|
+
*/
|
|
4387
|
+
"termsConfirmationRequired"?: boolean;
|
|
4313
4388
|
}
|
|
4314
4389
|
interface GxIdeSplash {
|
|
4315
4390
|
/**
|
|
@@ -4691,6 +4766,40 @@ declare namespace LocalJSX {
|
|
|
4691
4766
|
*/
|
|
4692
4767
|
"saveCallback"?: (config: WFConfigData) => Promise<void>;
|
|
4693
4768
|
}
|
|
4769
|
+
interface GxIdeWwAttributes {
|
|
4770
|
+
/**
|
|
4771
|
+
* Callback invoked when user right-clicks on the grid
|
|
4772
|
+
*/
|
|
4773
|
+
"contextMenuCallback": ContextMenuCallback;
|
|
4774
|
+
/**
|
|
4775
|
+
* Callback invoked when user deletes an object
|
|
4776
|
+
*/
|
|
4777
|
+
"deleteSelectionCallback": DeleteSelectionCallback;
|
|
4778
|
+
/**
|
|
4779
|
+
* Callback invoked when user filters the objects
|
|
4780
|
+
*/
|
|
4781
|
+
"loadCallback": LoadCallback5;
|
|
4782
|
+
/**
|
|
4783
|
+
* Callback invoked when user executes filter action
|
|
4784
|
+
*/
|
|
4785
|
+
"objectActionCallback": ObjectActionCallback;
|
|
4786
|
+
/**
|
|
4787
|
+
* Objects rendered in the object selector
|
|
4788
|
+
*/
|
|
4789
|
+
"objects": GxOption[];
|
|
4790
|
+
/**
|
|
4791
|
+
* Callback invoked when user opens the selection dialog
|
|
4792
|
+
*/
|
|
4793
|
+
"openSelectionCallback": OpenSelectionCallback1;
|
|
4794
|
+
/**
|
|
4795
|
+
* Callback invoked when user selects or deselects an object
|
|
4796
|
+
*/
|
|
4797
|
+
"selectionChangeCallback": SelectionChangeCallback;
|
|
4798
|
+
/**
|
|
4799
|
+
* Types rendered in the filter type selector
|
|
4800
|
+
*/
|
|
4801
|
+
"types": GxOption[];
|
|
4802
|
+
}
|
|
4694
4803
|
interface GxIdeWwImages {
|
|
4695
4804
|
/**
|
|
4696
4805
|
* The categories render in the filter category selector
|
|
@@ -4699,7 +4808,7 @@ declare namespace LocalJSX {
|
|
|
4699
4808
|
/**
|
|
4700
4809
|
* This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
|
|
4701
4810
|
*/
|
|
4702
|
-
"contextMenuCallback":
|
|
4811
|
+
"contextMenuCallback": ContextMenuCallback1;
|
|
4703
4812
|
/**
|
|
4704
4813
|
* The default value for the 'categories' filter
|
|
4705
4814
|
*/
|
|
@@ -4715,7 +4824,7 @@ declare namespace LocalJSX {
|
|
|
4715
4824
|
/**
|
|
4716
4825
|
* This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
|
|
4717
4826
|
*/
|
|
4718
|
-
"deleteSelectionCallback":
|
|
4827
|
+
"deleteSelectionCallback": DeleteSelectionCallback1;
|
|
4719
4828
|
/**
|
|
4720
4829
|
* The densities render in the filter density selector
|
|
4721
4830
|
*/
|
|
@@ -4739,7 +4848,7 @@ declare namespace LocalJSX {
|
|
|
4739
4848
|
/**
|
|
4740
4849
|
* This is a function provided by the developer that return a list of images to populate the table of images.
|
|
4741
4850
|
*/
|
|
4742
|
-
"loadCallback":
|
|
4851
|
+
"loadCallback": LoadCallback6;
|
|
4743
4852
|
/**
|
|
4744
4853
|
* This is a function provided by the developer that return a list of items of the image selected.
|
|
4745
4854
|
*/
|
|
@@ -4759,7 +4868,7 @@ declare namespace LocalJSX {
|
|
|
4759
4868
|
/**
|
|
4760
4869
|
* This is a function provided by the developer for expanded the data of images that is double-clicked or entered.
|
|
4761
4870
|
*/
|
|
4762
|
-
"openSelectionCallback":
|
|
4871
|
+
"openSelectionCallback": OpenSelectionCallback2;
|
|
4763
4872
|
/**
|
|
4764
4873
|
* Displays a secondary filter, used to filter over the filtered images
|
|
4765
4874
|
*/
|
|
@@ -4842,6 +4951,7 @@ declare namespace LocalJSX {
|
|
|
4842
4951
|
"gx-ide-top-bar": GxIdeTopBar;
|
|
4843
4952
|
"gx-ide-welcome-page": GxIdeWelcomePage;
|
|
4844
4953
|
"gx-ide-wf-settings": GxIdeWfSettings;
|
|
4954
|
+
"gx-ide-ww-attributes": GxIdeWwAttributes;
|
|
4845
4955
|
"gx-ide-ww-images": GxIdeWwImages;
|
|
4846
4956
|
}
|
|
4847
4957
|
}
|
|
@@ -4905,6 +5015,7 @@ declare module "@stencil/core" {
|
|
|
4905
5015
|
"gx-ide-top-bar": LocalJSX.GxIdeTopBar & JSXBase.HTMLAttributes<HTMLGxIdeTopBarElement>;
|
|
4906
5016
|
"gx-ide-welcome-page": LocalJSX.GxIdeWelcomePage & JSXBase.HTMLAttributes<HTMLGxIdeWelcomePageElement>;
|
|
4907
5017
|
"gx-ide-wf-settings": LocalJSX.GxIdeWfSettings & JSXBase.HTMLAttributes<HTMLGxIdeWfSettingsElement>;
|
|
5018
|
+
"gx-ide-ww-attributes": LocalJSX.GxIdeWwAttributes & JSXBase.HTMLAttributes<HTMLGxIdeWwAttributesElement>;
|
|
4908
5019
|
"gx-ide-ww-images": LocalJSX.GxIdeWwImages & JSXBase.HTMLAttributes<HTMLGxIdeWwImagesElement>;
|
|
4909
5020
|
}
|
|
4910
5021
|
}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["entitySelectorCss","CSS_BUNDLES","SELECT_DEFAULT_ICON","getIconPath","category","name","colorType","CLEAR_ICON","GxIdeEntitySelector","_GxIdeEntitySelector_componentLocale","set","this","_GxIdeEntitySelector_btnClearClickHandler","value","defaultValue","iconSrc","_a","_GxIdeEntitySelector_btnSelectClickHandler","selectEntityCallback","then","result","_GxIdeEntitySelector_buttonFocusHandler","e","type","buttonHasFocus","_GxIdeEntitySelector_renderControl","h","part","class","accessibleName","labelPosition","__classPrivateFieldGet","entitySelectorInputAccessibleName","disabled","entitySelectorNameAttribute","startImgSrc","readonly","_b","id","clearButtonLabel","title","onClick","onFocus","undefined","onBlur","src","selectButtonLabel","_GxIdeEntitySelector_updateIconSrc","valueChangedHandler","valueChanged","emit","call","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","connectedCallback","render","Host","model","field","htmlFor","labelCaption"],"sources":["src/components/_helpers/entity-selector/entity-selector.scss?tag=gx-ide-entity-selector&encapsulation=shadow","src/components/_helpers/entity-selector/entity-selector.tsx"],"sourcesContent":["/*wrapper*/\n.wrapper {\n display: grid;\n grid-template-columns: 1fr max-content max-content;\n gap: var(--mer-spacing--xs);\n border-radius: var(--control__border-radius);\n border: var(--control__border-width) var(--control__border-style)\n var(--control__border-color);\n padding: var(--control__padding-block) var(--control__padding-inline);\n\n &:hover {\n --control__border-color: var(--control__border-color--hover);\n }\n &:focus {\n }\n}\n/*input*/\n.input {\n --control__padding-block: 0;\n --control__padding-inline: 0;\n // Remove control border. We want to simulate a input that includes two buttons at the end.\n --control__border-width: 0;\n --focus__outline-width: 0;\n}\n:host(:focus-within) {\n .wrapper {\n --control__border-color: var(--focus__outline-color);\n }\n}\n:host(.entity-selector--button-has-focus) {\n .wrapper {\n outline: none;\n }\n}\n\n:host([disabled]) {\n pointer-events: none;\n .wrapper {\n background-color: var(--control__background-color--disabled);\n border-color: var(--control__border-color--disabled);\n }\n}\n/*custom button icon*/\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Event,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\nimport { LabelPosition } from \"../../../common/types\";\nimport { EntityData } from \"../../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/edit\",\n \"components/button\",\n \"components/icon\",\n \"utils/form\"\n];\nconst SELECT_DEFAULT_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst CLEAR_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\n\n@Component({\n tag: \"gx-ide-entity-selector\",\n styleUrl: \"entity-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/entity-selector\"]\n})\nexport class GxIdeEntitySelector {\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeEntitySelectorElement;\n\n /**\n * Adds/removes a CSS class on the host. It removes focus-within styles when\n * focus is on a button.\n */\n @State() buttonHasFocus = false;\n\n @State() iconSrc: string = null;\n\n /**\n * Default value for the component. Used when the 'X' button is pressed.\n */\n @Prop() readonly defaultValue?: EntityData | null | undefined;\n\n /**\n * This attribute lets you specify if the element is disabled.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false;\n\n /**\n * The label caption. Only visible if \"labelPosition\" is not \"none\".\n * I no \"labelCaption\" is provided, a generic caption \"Select Entity\" will be provided\n */\n @Prop() readonly labelCaption?: string;\n\n /**\n * The label position\n */\n @Prop({ reflect: true }) readonly labelPosition?: LabelPosition =\n \"block-start\";\n\n /**\n * This property specifies the `name` of the control when used in a form.\n */\n @Prop({ reflect: true }) readonly name?: string;\n\n /**\n * Callback invoked when the action button is pressed. Returns the new value.\n */\n @Prop() readonly selectEntityCallback!: () => Promise<EntityData>;\n\n /**\n * Value currently assigned.\n */\n @Prop({ mutable: true }) value: EntityData | null | undefined;\n @Watch(\"value\")\n valueChangedHandler() {\n this.valueChanged.emit(this.value);\n this.#updateIconSrc();\n }\n\n /**\n * Emits the input value every time it changes\n */\n @Event() valueChanged: EventEmitter<EntityData>;\n\n // 6.Component Lifecycle Events\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n connectedCallback() {\n this.#updateIconSrc();\n }\n\n #btnClearClickHandler = () => {\n this.value = this.defaultValue;\n this.iconSrc = this.defaultValue?.iconSrc;\n };\n\n #btnSelectClickHandler = () => {\n this.selectEntityCallback().then(result => {\n this.value = result;\n });\n };\n\n #buttonFocusHandler = (e: FocusEvent) => {\n if (e.type === \"focus\") {\n this.buttonHasFocus = true;\n } else if (e.type === \"blur\") {\n this.buttonHasFocus = false;\n }\n };\n\n #renderControl = (): HTMLDivElement => {\n return (\n <div part=\"wrapper\" class=\"wrapper\">\n <ch-edit\n accessibleName={\n this.labelPosition === \"none\" &&\n this.#componentLocale.entitySelectorInputAccessibleName\n }\n class=\"input\"\n disabled={this.disabled}\n name={this.name || this.#componentLocale.entitySelectorNameAttribute}\n startImgSrc={this.iconSrc}\n readonly\n value={this.value?.name || this.defaultValue?.name}\n id=\"entity-input\"\n ></ch-edit>\n\n <button\n part=\"button-clear\"\n class=\"icon-button\"\n aria-label={this.#componentLocale.clearButtonLabel}\n title={this.#componentLocale.clearButtonLabel}\n type=\"button\"\n disabled={this.disabled}\n onClick={this.#btnClearClickHandler}\n onFocus={this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n onBlur={!this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n >\n <ch-image\n class=\"icon-md\"\n src={CLEAR_ICON}\n disabled={this.disabled}\n ></ch-image>\n </button>\n\n <button\n class=\"icon-button\"\n aria-label={this.#componentLocale.selectButtonLabel}\n title={this.#componentLocale.selectButtonLabel}\n type=\"button\"\n disabled={!this.selectEntityCallback || this.disabled}\n onClick={this.#btnSelectClickHandler}\n onBlur={!this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n onFocus={this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n >\n <ch-image\n class=\"icon-md\"\n src={SELECT_DEFAULT_ICON}\n disabled={this.disabled}\n ></ch-image>\n </button>\n </div>\n );\n };\n\n #updateIconSrc = () => {\n if (this.value && this.value.iconSrc) {\n this.iconSrc = this.value.iconSrc;\n }\n };\n\n render() {\n return (\n <Host\n class={{\n \"entity-selector--button-has-focus\": this.buttonHasFocus\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.labelPosition !== \"none\" ? (\n <div\n class={{\n \"field\": true,\n \"field-block\": this.labelPosition === \"block-start\",\n \"field-inline\": this.labelPosition === \"inline-start\"\n }}\n >\n <label class=\"label\" htmlFor=\"entity-input\">\n {this.labelCaption ||\n this.#componentLocale.entitySelectorInputAccessibleName}\n </label>\n {this.#renderControl()}\n </div>\n ) : (\n this.#renderControl()\n )}\n </Host>\n );\n }\n}\n\nexport type EntitySelectorLabels = {\n buttonClearLabel: string;\n buttonSelectLabel: string;\n};\n"],"mappings":"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"}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { a as n, r as e, h as i, H as t, g as s } from "./p-49712340.js";
|
|
2
|
-
|
|
3
|
-
import { L as a } from "./p-311eedf3.js";
|
|
4
|
-
|
|
5
|
-
const mapTeamsToComboBoxItemModel = n => {
|
|
6
|
-
if (!n) {
|
|
7
|
-
return [];
|
|
8
|
-
}
|
|
9
|
-
return n.map((n => ({
|
|
10
|
-
value: n.id,
|
|
11
|
-
caption: n.name
|
|
12
|
-
})));
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const r = ":host {\n display: grid;\n container-type: inline-size;\n container-name: host-container;\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 grid-template-columns: 1fr 1fr;\n block-size: 100%;\n max-block-size: 700px;\n max-inline-size: 1100px;\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--mer-spacing--md);\n overflow: hidden;\n}\n.slide__illustration {\n overflow: hidden;\n object-fit: cover;\n object-position: left;\n block-size: 100%;\n inline-size: 100%;\n}\n.slide__main {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n transform: translateY(var(--mer-spacing--2xs));\n transition: var(--switch-step-transtion-time) all;\n opacity: 0;\n}\n.slide__main--visible {\n transform: translateY(0);\n opacity: 1;\n}\n.slide__main-container {\n display: grid;\n place-self: center;\n gap: var(--mer-spacing--lg);\n max-inline-size: 480px;\n}\n.slide__main-header {\n display: grid;\n gap: var(--mer-spacing--lg);\n}\n.slide__main-title {\n display: flex;\n flex-direction: column;\n font-size: var(--mer-font__size--xl);\n font-weight: var(--mer-font__weight--semi-bold);\n letter-spacing: 0.02em;\n color: var(--mer-text__on-surface);\n}\n.slide__main-description {\n display: grid;\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 color: var(--mer-text__complementary);\n}\n\n.terms-conditions {\n text-decoration: underline;\n}\n\n.teams-list {\n inline-size: 100%;\n max-inline-size: 400px;\n}\n\n.main-btn {\n inline-size: 100%;\n max-inline-size: 124px;\n}\n\n@container host-container (max-width: 768px) {\n .slide {\n grid-template-columns: 1fr 2fr;\n }\n}\n@container host-container (max-width: 640px) {\n .slide {\n grid-template-columns: 1fr 5fr;\n }\n}";
|
|
16
|
-
|
|
17
|
-
var o = undefined && undefined.__classPrivateFieldGet || function(n, e, i, t) {
|
|
18
|
-
if (i === "a" && !t) throw new TypeError("Private accessor was defined without a getter");
|
|
19
|
-
if (typeof e === "function" ? n !== e || !t : !e.has(n)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
20
|
-
return i === "m" ? t : i === "a" ? t.call(n) : t ? t.value : e.get(n);
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
var l = undefined && undefined.__classPrivateFieldSet || function(n, e, i, t, s) {
|
|
24
|
-
if (t === "m") throw new TypeError("Private method is not writable");
|
|
25
|
-
if (t === "a" && !s) throw new TypeError("Private accessor was defined without a setter");
|
|
26
|
-
if (typeof e === "function" ? n !== e || !s : !e.has(n)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
27
|
-
return t === "a" ? s.call(n, i) : s ? s.value = i : e.set(n, i), i;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
var d, c, h, m, p, f;
|
|
31
|
-
|
|
32
|
-
const g = n(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
|
|
33
|
-
|
|
34
|
-
const u = n(`./gx-ide-assets/welcome-page/images/icon-next.svg`);
|
|
35
|
-
|
|
36
|
-
const _ = [ "resets/box-sizing", "utils/typography", "components/button", "components/combo-box" ];
|
|
37
|
-
|
|
38
|
-
const v = class {
|
|
39
|
-
constructor(n) {
|
|
40
|
-
e(this, n);
|
|
41
|
-
/**
|
|
42
|
-
* The component hard-coded strings translations.
|
|
43
|
-
*/
|
|
44
|
-
// eslint-disable-next-line @stencil-community/own-props-must-be-private
|
|
45
|
-
d.set(this, void 0);
|
|
46
|
-
// Select User Team References :
|
|
47
|
-
c.set(this, []);
|
|
48
|
-
h.set(this, void 0);
|
|
49
|
-
m.set(this, 100);
|
|
50
|
-
p.set(this, (() => {
|
|
51
|
-
if (this.authStep === "signIn") {
|
|
52
|
-
this.signInCallback();
|
|
53
|
-
} else if (this.authStep === "selectUserTeam") {
|
|
54
|
-
o(this, f, "f").call(this);
|
|
55
|
-
}
|
|
56
|
-
}));
|
|
57
|
-
f.set(this, (async () => {
|
|
58
|
-
await this.continueCallback(o(this, h, "f").value);
|
|
59
|
-
}));
|
|
60
|
-
this.authStepInternal = undefined;
|
|
61
|
-
this.slideIsVisible = true;
|
|
62
|
-
this.authStep = "signIn";
|
|
63
|
-
this.continueCallback = undefined;
|
|
64
|
-
this.signInCallback = undefined;
|
|
65
|
-
this.teams = undefined;
|
|
66
|
-
this.termsCallback = undefined;
|
|
67
|
-
}
|
|
68
|
-
authStepChanged(n) {
|
|
69
|
-
this.slideIsVisible = false;
|
|
70
|
-
// switch step
|
|
71
|
-
setTimeout((() => {
|
|
72
|
-
this.authStepInternal = n;
|
|
73
|
-
}), o(this, m, "f"));
|
|
74
|
-
// show slide
|
|
75
|
-
setTimeout((() => {
|
|
76
|
-
this.slideIsVisible = true;
|
|
77
|
-
}), o(this, m, "f") * 2);
|
|
78
|
-
}
|
|
79
|
-
teamsChanged(n) {
|
|
80
|
-
l(this, c, mapTeamsToComboBoxItemModel(n), "f");
|
|
81
|
-
}
|
|
82
|
-
async componentWillLoad() {
|
|
83
|
-
l(this, d, await a.getComponentStrings(this.el), "f");
|
|
84
|
-
this.el.style.setProperty("--switch-step-transtion-time", o(this, m, "f").toString() + "ms");
|
|
85
|
-
// Initialize values
|
|
86
|
-
this.authStepInternal = this.authStep;
|
|
87
|
-
this.teamsChanged(this.teams);
|
|
88
|
-
}
|
|
89
|
-
render() {
|
|
90
|
-
var n;
|
|
91
|
-
return i(t, null, i("ch-theme", {
|
|
92
|
-
model: _
|
|
93
|
-
}), i("section", {
|
|
94
|
-
class: "slide"
|
|
95
|
-
}, i("img", {
|
|
96
|
-
src: g,
|
|
97
|
-
class: "slide__illustration",
|
|
98
|
-
alt: ""
|
|
99
|
-
}), i("div", {
|
|
100
|
-
class: {
|
|
101
|
-
slide__main: true,
|
|
102
|
-
"slide__main--visible": this.slideIsVisible
|
|
103
|
-
}
|
|
104
|
-
}, i("div", {
|
|
105
|
-
class: "slide__main-container"
|
|
106
|
-
}, i("header", {
|
|
107
|
-
class: "slide__main-header"
|
|
108
|
-
}, i("img", {
|
|
109
|
-
src: u,
|
|
110
|
-
alt: ""
|
|
111
|
-
}), i("h2", {
|
|
112
|
-
// Split the title into two spans for better styling
|
|
113
|
-
class: "slide__main-title"
|
|
114
|
-
}, i("span", null, o(this, d, "f")[this.authStepInternal].titlePart1), i("span", null, o(this, d, "f")[this.authStepInternal].titlePart2))), this.authStepInternal === "signIn" ? i("div", {
|
|
115
|
-
class: "slide__main-description"
|
|
116
|
-
}, i("p", {
|
|
117
|
-
hidden: true
|
|
118
|
-
}, i("span", null, o(this, d, "f").descriptionText)), i("span", null, o(this, d, "f").signIn.byContinuingText, i("a", {
|
|
119
|
-
class: "terms-conditions",
|
|
120
|
-
onClick: this.termsCallback
|
|
121
|
-
}, o(this, d, "f").signIn.byContinuingCallBackText))) : [ i("div", {
|
|
122
|
-
class: "slide__select-team-description"
|
|
123
|
-
}, i("p", {
|
|
124
|
-
class: "text-body-highlighted-l"
|
|
125
|
-
}, o(this, d, "f").selectUserTeam.infoMessage)), i("div", {
|
|
126
|
-
class: "field-group"
|
|
127
|
-
}, i("div", {
|
|
128
|
-
class: "field field-block"
|
|
129
|
-
}, i("label", {
|
|
130
|
-
htmlFor: "teams"
|
|
131
|
-
}, o(this, d, "f").teams), i("ch-combo-box-render", {
|
|
132
|
-
id: "teams",
|
|
133
|
-
accessibleName: "Teams",
|
|
134
|
-
class: "combo-box teams-list",
|
|
135
|
-
model: o(this, c, "f"),
|
|
136
|
-
value: (n = o(this, c, "f")[0]) === null || n === void 0 ? void 0 : n.value,
|
|
137
|
-
ref: n => l(this, h, n, "f")
|
|
138
|
-
}))) ], i("div", null, i("button", {
|
|
139
|
-
class: "button-primary main-btn",
|
|
140
|
-
onClick: o(this, p, "f")
|
|
141
|
-
}, o(this, d, "f")[this.authStepInternal].buttonCaption))))));
|
|
142
|
-
}
|
|
143
|
-
static get assetsDirs() {
|
|
144
|
-
return [ "gx-ide-assets/sign-in-team" ];
|
|
145
|
-
}
|
|
146
|
-
get el() {
|
|
147
|
-
return s(this);
|
|
148
|
-
}
|
|
149
|
-
static get watchers() {
|
|
150
|
-
return {
|
|
151
|
-
authStep: [ "authStepChanged" ],
|
|
152
|
-
teams: [ "teamsChanged" ]
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
d = new WeakMap, c = new WeakMap, h = new WeakMap, m = new WeakMap, p = new WeakMap,
|
|
158
|
-
f = new WeakMap;
|
|
159
|
-
|
|
160
|
-
v.style = r;
|
|
161
|
-
|
|
162
|
-
export { v as gx_ide_sign_in_team };
|
|
163
|
-
//# sourceMappingURL=p-0b33d2f9.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["mapTeamsToComboBoxItemModel","teams","map","team","value","id","caption","name","signInTeamCss","COPYRIGHTS_ILLUSTRATION","getAssetPath","ICON_NEXT","CSS_BUNDLES","GxIdeSignInTeam","_GxIdeSignInTeam_componentLocale","set","this","_GxIdeSignInTeam_userTeamsModel","_GxIdeSignInTeam_chSelectTeamEl","_GxIdeSignInTeam_switchStepTransitionTime","_GxIdeSignInTeam_authStepCallback","authStep","signInCallback","__classPrivateFieldGet","_GxIdeSignInTeam_continueHandler","call","async","continueCallback","authStepChanged","newAuthStep","slideIsVisible","setTimeout","authStepInternal","teamsChanged","newTeams","__classPrivateFieldSet","componentWillLoad","Locale","getComponentStrings","el","style","setProperty","toString","render","h","Host","model","class","src","alt","slide__main","titlePart1","titlePart2","hidden","descriptionText","signIn","byContinuingText","onClick","termsCallback","byContinuingCallBackText","selectUserTeam","infoMessage","htmlFor","accessibleName","_a","ref","buttonCaption"],"sources":["src/components/sign-in-team/helpers.ts","src/components/sign-in-team/sign-in-team.scss?tag=gx-ide-sign-in-team&encapsulation=shadow","src/components/sign-in-team/sign-in-team.tsx"],"sourcesContent":["import { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { TeamData } from \"./sign-in-team\";\n\nexport const mapTeamsToComboBoxItemModel = (\n teams?: TeamData[]\n): ComboBoxItemModel[] | undefined => {\n if (!teams) {\n return [];\n }\n return teams.map(team => ({\n value: team.id,\n caption: team.name\n }));\n};\n",":host {\n display: grid;\n container-type: inline-size;\n container-name: host-container;\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 grid-template-columns: 1fr 1fr;\n block-size: 100%;\n max-block-size: 700px;\n max-inline-size: 1100px;\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 object-fit: cover;\n object-position: left;\n block-size: 100%;\n inline-size: 100%;\n }\n\n &__main {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n transform: translateY(var(--mer-spacing--2xs));\n transition: var(--switch-step-transtion-time) all;\n opacity: 0;\n\n &--visible {\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n &__main-container {\n display: grid;\n place-self: center;\n gap: var(--mer-spacing--lg);\n max-inline-size: 480px;\n }\n\n &__main-header {\n display: grid;\n gap: var(--mer-spacing--lg);\n }\n\n &__main-title {\n display: flex;\n flex-direction: column;\n font-size: var(--mer-font__size--xl);\n font-weight: var(--mer-font__weight--semi-bold);\n letter-spacing: 0.02em;\n color: var(--mer-text__on-surface);\n }\n\n &__main-description {\n display: grid;\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 color: var(--mer-text__complementary);\n }\n}\n\n.terms-conditions {\n text-decoration: underline;\n}\n\n.teams-list {\n inline-size: 100%;\n max-inline-size: 400px;\n}\n\n.main-btn {\n inline-size: 100%;\n max-inline-size: 124px;\n}\n\n@container host-container (max-width: 768px) {\n .slide {\n grid-template-columns: 1fr 2fr;\n }\n}\n\n@container host-container (max-width: 640px) {\n .slide {\n grid-template-columns: 1fr 5fr;\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Element,\n getAssetPath\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\nimport { mapTeamsToComboBoxItemModel } from \"./helpers\";\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 \"components/combo-box\"\n];\n\n@Component({\n tag: \"gx-ide-sign-in-team\",\n styleUrl: \"sign-in-team.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/sign-in-team\"]\n})\nexport class GxIdeSignInTeam {\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 // Select User Team References :\n #userTeamsModel: ComboBoxItemModel[] = [];\n #chSelectTeamEl: HTMLChComboBoxRenderElement;\n #switchStepTransitionTime: number = 100;\n\n @Element() el: HTMLGxIdeSignInTeamElement;\n\n /**\n * This is a handover from \"authStep\" that allows updating descriptions once\n * the slide is hidden. This enables a smooth transition between descriptions.\n */\n\n @State() authStepInternal: AuthStep;\n\n /**\n * Defines if the main slide is visible or not. Used for smooth transitions\n * between slides.\n */\n @State() slideIsVisible: boolean = true;\n\n /**\n * The authentication step to display\n */\n @Prop() readonly authStep: AuthStep = \"signIn\";\n @Watch(\"authStep\")\n authStepChanged(newAuthStep: AuthStep) {\n this.slideIsVisible = false;\n // switch step\n setTimeout(() => {\n this.authStepInternal = newAuthStep;\n }, this.#switchStepTransitionTime);\n // show slide\n setTimeout(() => {\n this.slideIsVisible = true;\n }, this.#switchStepTransitionTime * 2);\n }\n\n /**\n * Callback executed when the user clicks the 'Continue' button\n */\n @Prop() readonly continueCallback!: (teamId: string) => Promise<void>;\n\n /**\n * Callback executed when the user click the \"Sign In\" button\n */\n @Prop() readonly signInCallback: () => Promise<void>;\n\n /**\n * Array that contains the user's teams\n */\n @Prop() readonly teams!: TeamData[];\n @Watch(\"teams\")\n teamsChanged(newTeams: TeamData[]) {\n this.#userTeamsModel = mapTeamsToComboBoxItemModel(newTeams);\n }\n\n /**\n * Callback executed when the user clicks on the \"term and conditions\" link\n */\n @Prop() readonly termsCallback: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.el.style.setProperty(\n \"--switch-step-transtion-time\",\n this.#switchStepTransitionTime.toString() + \"ms\"\n );\n // Initialize values\n this.authStepInternal = this.authStep;\n this.teamsChanged(this.teams);\n }\n\n #authStepCallback = () => {\n if (this.authStep === \"signIn\") {\n this.signInCallback();\n } else if (this.authStep === \"selectUserTeam\") {\n this.#continueHandler();\n }\n };\n\n #continueHandler = async () => {\n await this.continueCallback(this.#chSelectTeamEl.value);\n };\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"slide\">\n <img\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt=\"\" // decorative\n />\n\n <div\n class={{\n \"slide__main\": true,\n \"slide__main--visible\": this.slideIsVisible\n }}\n >\n <div class=\"slide__main-container\">\n <header class=\"slide__main-header\">\n <img\n src={ICON_NEXT}\n alt=\"\" // decorative\n />\n <h2\n // Split the title into two spans for better styling\n class=\"slide__main-title\"\n >\n <span>\n {this.#componentLocale[this.authStepInternal].titlePart1}\n </span>\n <span>\n {this.#componentLocale[this.authStepInternal].titlePart2}\n </span>\n </h2>\n </header>\n\n {this.authStepInternal === \"signIn\" ? (\n <div class=\"slide__main-description\">\n <p hidden>\n <span>{this.#componentLocale.descriptionText}</span>\n </p>\n <span>\n {this.#componentLocale.signIn.byContinuingText}\n <a class=\"terms-conditions\" onClick={this.termsCallback}>\n {this.#componentLocale.signIn.byContinuingCallBackText}\n </a>\n </span>\n </div>\n ) : (\n [\n <div class=\"slide__select-team-description\">\n <p class=\"text-body-highlighted-l\">\n {this.#componentLocale.selectUserTeam.infoMessage}\n </p>\n </div>,\n\n <div class=\"field-group\">\n <div class=\"field field-block\">\n <label htmlFor=\"teams\">\n {this.#componentLocale.teams}\n </label>\n <ch-combo-box-render\n id=\"teams\"\n accessibleName=\"Teams\"\n class=\"combo-box teams-list\"\n model={this.#userTeamsModel}\n value={this.#userTeamsModel[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#chSelectTeamEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n </div>\n ]\n )}\n\n <div>\n <button\n class=\"button-primary main-btn\"\n onClick={this.#authStepCallback}\n >\n {this.#componentLocale[this.authStepInternal].buttonCaption}\n </button>\n </div>\n </div>\n </div>\n </section>\n </Host>\n );\n }\n}\n\nexport type AuthStep = \"signIn\" | \"selectUserTeam\";\n\nexport type TeamData = {\n id: string;\n name: string;\n};\n"],"mappings":"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"}
|