@genexus/genexus-ide-ui 1.1.39 → 1.1.41
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-server-selector.cjs.entry.js +12 -28
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/{gx-ide-status-message.cjs.entry.js → gx-ide-sign-in-result.cjs.entry.js} +10 -9
- package/dist/cjs/gx-ide-sign-in-result.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +20 -4
- package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +99 -238
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +9 -7
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +60 -10
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/tabular-grid-column-sort-5ca06dc1.js +43 -0
- package/dist/cjs/tabular-grid-column-sort-5ca06dc1.js.map +1 -0
- package/dist/cjs/tabular-grid-render-4350dbaf.js +223 -0
- package/dist/cjs/tabular-grid-render-4350dbaf.js.map +1 -0
- package/dist/cjs/uncheck-ignored-77ca69fe.js +43 -0
- package/dist/cjs/uncheck-ignored-77ca69fe.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/common/chameleon/tabular-grid-column-sort.js +39 -0
- package/dist/collection/common/chameleon/tabular-grid-column-sort.js.map +1 -0
- package/dist/collection/components/{status-message/status-message.css → sign-in-result/sign-in-result.css} +2 -0
- package/dist/collection/components/{status-message/status-message.js → sign-in-result/sign-in-result.js} +10 -9
- package/dist/collection/components/sign-in-result/sign-in-result.js.map +1 -0
- package/dist/collection/components/team-dev/bring-changes/bring-changes.js +18 -4
- package/dist/collection/components/team-dev/bring-changes/bring-changes.js.map +1 -1
- package/dist/collection/components/team-dev/history/history.js +10 -8
- package/dist/collection/components/team-dev/history/history.js.map +1 -1
- package/dist/collection/components/team-dev/server-selector/server-selector.css +18 -14
- package/dist/collection/components/team-dev/server-selector/server-selector.js +11 -27
- package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
- package/dist/collection/components/team-dev/update/update.css +1 -0
- package/dist/collection/components/team-dev/update/update.js +62 -9
- package/dist/collection/components/team-dev/update/update.js.map +1 -1
- package/dist/collection/components/team-dev/version-control/commit/commit.css +1 -0
- package/dist/collection/components/team-dev/version-control/commit/commit.js +79 -20
- package/dist/collection/components/team-dev/version-control/commit/commit.js.map +1 -1
- package/dist/collection/components/team-dev/version-control/common/are-sets-equal.js +21 -0
- package/dist/collection/components/team-dev/version-control/common/are-sets-equal.js.map +1 -0
- package/dist/collection/components/team-dev/version-control/common/tabular-grid-render.js +13 -3
- package/dist/collection/components/team-dev/version-control/common/tabular-grid-render.js.map +1 -1
- package/dist/collection/components/team-dev/version-control/common/uncheck-ignored.js +18 -0
- package/dist/collection/components/team-dev/version-control/common/uncheck-ignored.js.map +1 -0
- package/dist/collection/testing/locale.e2e.js +1 -1
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/gx-ide-server-selector.js +12 -28
- package/dist/components/gx-ide-server-selector.js.map +1 -1
- package/dist/components/{gx-ide-status-message.d.ts → gx-ide-sign-in-result.d.ts} +4 -4
- package/dist/components/{gx-ide-status-message.js → gx-ide-sign-in-result.js} +15 -14
- package/dist/components/gx-ide-sign-in-result.js.map +1 -0
- package/dist/components/gx-ide-team-dev-bring-changes.js +18 -4
- package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
- package/dist/components/gx-ide-team-dev-commit.js +78 -221
- package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
- package/dist/components/gx-ide-team-dev-history.js +9 -7
- package/dist/components/gx-ide-team-dev-history.js.map +1 -1
- package/dist/components/gx-ide-team-dev-update.js +61 -10
- package/dist/components/gx-ide-team-dev-update.js.map +1 -1
- package/dist/components/tabular-grid-column-sort.js +41 -0
- package/dist/components/tabular-grid-column-sort.js.map +1 -0
- package/dist/components/tabular-grid-render.js +216 -0
- package/dist/components/tabular-grid-render.js.map +1 -0
- package/dist/components/uncheck-ignored.js +40 -0
- package/dist/components/uncheck-ignored.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-server-selector.entry.js +12 -28
- package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
- package/dist/esm/{gx-ide-status-message.entry.js → gx-ide-sign-in-result.entry.js} +10 -9
- package/dist/esm/gx-ide-sign-in-result.entry.js.map +1 -0
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +20 -4
- package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-commit.entry.js +81 -220
- package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-history.entry.js +9 -7
- package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +60 -10
- package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/tabular-grid-column-sort-1d503b27.js +41 -0
- package/dist/esm/tabular-grid-column-sort-1d503b27.js.map +1 -0
- package/dist/esm/tabular-grid-render-f7eb612b.js +216 -0
- package/dist/esm/tabular-grid-render-f7eb612b.js.map +1 -0
- package/dist/esm/uncheck-ignored-4ba48c9e.js +40 -0
- package/dist/esm/uncheck-ignored-4ba48c9e.js.map +1 -0
- 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/p-02fb496a.js +36 -0
- package/dist/genexus-ide-ui/p-02fb496a.js.map +1 -0
- package/dist/genexus-ide-ui/p-06e8d9d6.entry.js +63 -0
- package/dist/genexus-ide-ui/p-06e8d9d6.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-585fac4a.entry.js → p-2b38e18e.entry.js} +15 -13
- package/dist/genexus-ide-ui/p-2b38e18e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-970e89ac.entry.js → p-4b06b578.entry.js} +100 -115
- package/dist/genexus-ide-ui/p-4b06b578.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-34447b77.entry.js → p-4e3ad78d.entry.js} +261 -234
- package/dist/genexus-ide-ui/p-4e3ad78d.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-77c2e69d.js +314 -0
- package/dist/genexus-ide-ui/p-77c2e69d.js.map +1 -0
- package/dist/genexus-ide-ui/p-a7883e6b.entry.js +691 -0
- package/dist/genexus-ide-ui/p-a7883e6b.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-c9b9e260.js +36 -0
- package/dist/genexus-ide-ui/p-c9b9e260.js.map +1 -0
- package/dist/genexus-ide-ui/{p-42f37527.entry.js → p-e1a2550e.entry.js} +351 -289
- package/dist/genexus-ide-ui/p-e1a2550e.entry.js.map +1 -0
- package/dist/types/common/chameleon/tabular-grid-column-sort.d.ts +4 -0
- package/dist/types/components/{status-message/status-message.d.ts → sign-in-result/sign-in-result.d.ts} +2 -2
- package/dist/types/components/team-dev/history/history.d.ts +2 -2
- package/dist/types/components/team-dev/update/update.d.ts +6 -0
- package/dist/types/components/team-dev/version-control/commit/commit.d.ts +15 -13
- package/dist/types/components/team-dev/version-control/common/are-sets-equal.d.ts +12 -0
- package/dist/types/components/team-dev/version-control/common/tabular-grid-render.d.ts +13 -1
- package/dist/types/components/team-dev/version-control/common/uncheck-ignored.d.ts +13 -0
- package/dist/types/components.d.ts +13 -13
- package/package.json +1 -1
- package/dist/cjs/gx-ide-status-message.cjs.entry.js.map +0 -1
- package/dist/collection/components/status-message/status-message.js.map +0 -1
- package/dist/components/gx-ide-status-message.js.map +0 -1
- package/dist/esm/gx-ide-status-message.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-34447b77.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-42f37527.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-50253b96.entry.js +0 -61
- package/dist/genexus-ide-ui/p-50253b96.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-585fac4a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-723d25ae.entry.js +0 -912
- package/dist/genexus-ide-ui/p-723d25ae.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-970e89ac.entry.js.map +0 -1
- /package/dist/collection/components/{status-message/gx-ide-assets/status-message → sign-in-result/gx-ide-assets/sign-in-result}/images/genexus-next-logo.svg +0 -0
- /package/dist/collection/components/{status-message/gx-ide-assets/status-message → sign-in-result/gx-ide-assets/sign-in-result}/images/left-side-illustration.svg +0 -0
- /package/dist/collection/components/{status-message/gx-ide-assets/status-message → sign-in-result/gx-ide-assets/sign-in-result}/images/right-side-illustration.svg +0 -0
- /package/dist/collection/components/{status-message/gx-ide-assets/status-message/langs/status-message.lang.en.json → sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.en.json} +0 -0
- /package/dist/collection/components/{status-message/gx-ide-assets/status-message/langs/status-message.lang.ja.json → sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.ja.json} +0 -0
- /package/dist/collection/components/{status-message/gx-ide-assets/status-message/langs/status-message.lang.zh.json → sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.zh.json} +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{status-message → sign-in-result}/images/genexus-next-logo.svg +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{status-message → sign-in-result}/images/left-side-illustration.svg +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{status-message → sign-in-result}/images/right-side-illustration.svg +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{status-message/langs/status-message.lang.en.json → sign-in-result/langs/sign-in-result.lang.en.json} +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{status-message/langs/status-message.lang.ja.json → sign-in-result/langs/sign-in-result.lang.ja.json} +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{status-message/langs/status-message.lang.zh.json → sign-in-result/langs/sign-in-result.lang.zh.json} +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const sortTabularGridColumn = (t, r, n = "string", e) => {
|
|
2
|
+
const {columnId: s, sortDirection: c} = t.detail;
|
|
3
|
+
// date or dateString
|
|
4
|
+
if (n === "date" || n === "dateString") {
|
|
5
|
+
return r.sort(((t, r) => {
|
|
6
|
+
const e = t[s];
|
|
7
|
+
const i = r[s];
|
|
8
|
+
if (n === "dateString") {
|
|
9
|
+
t = new Date(e);
|
|
10
|
+
r = new Date(i);
|
|
11
|
+
}
|
|
12
|
+
if (e.getTime() < i.getTime()) {
|
|
13
|
+
return c === "asc" ? -1 : 1;
|
|
14
|
+
}
|
|
15
|
+
if (e.getTime() > i.getTime()) {
|
|
16
|
+
return c === "asc" ? 1 : -1;
|
|
17
|
+
}
|
|
18
|
+
return 0;
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
// string or objectProperty
|
|
22
|
+
return r.sort(((t, r) => {
|
|
23
|
+
const n = e ? t[s][e] : t[s];
|
|
24
|
+
const i = e ? r[s][e] : r[s];
|
|
25
|
+
if (n < i) {
|
|
26
|
+
return c === "asc" ? -1 : 1;
|
|
27
|
+
}
|
|
28
|
+
if (n > i) {
|
|
29
|
+
return c === "asc" ? 1 : -1;
|
|
30
|
+
}
|
|
31
|
+
return 0;
|
|
32
|
+
}));
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export { sortTabularGridColumn as s };
|
|
36
|
+
//# sourceMappingURL=p-02fb496a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["sortTabularGridColumn","e","rowsArrayData","dateType","objectProperty","columnId","sortDirection","detail","sort","a","b","columnA","columnB","Date","getTime"],"sources":["src/common/chameleon/tabular-grid-column-sort.ts"],"sourcesContent":["import { TabularGridColumnSortChangedEvent } from \"@genexus/chameleon-controls-library\";\n\nconst sortTabularGridColumn = (\n e: CustomEvent<TabularGridColumnSortChangedEvent>,\n rowsArrayData: unknown[],\n dateType: SortTabularGridColumnDataType = \"string\",\n objectProperty?: any\n): any[] => {\n const { columnId, sortDirection } = e.detail;\n\n // date or dateString\n if (dateType === \"date\" || dateType === \"dateString\") {\n return rowsArrayData.sort((a: any, b: any) => {\n const columnA = a[columnId];\n const columnB = b[columnId];\n\n if (dateType === \"dateString\") {\n a = new Date(columnA);\n b = new Date(columnB);\n }\n\n if (columnA.getTime() < columnB.getTime()) {\n return sortDirection === \"asc\" ? -1 : 1;\n }\n if (columnA.getTime() > columnB.getTime()) {\n return sortDirection === \"asc\" ? 1 : -1;\n }\n return 0;\n });\n }\n\n // string or objectProperty\n return rowsArrayData.sort((a: any, b: any) => {\n const columnA = objectProperty\n ? a[columnId][objectProperty]\n : (a[columnId] as string);\n const columnB = objectProperty\n ? b[columnId][objectProperty]\n : (b[columnId] as string);\n\n if (columnA < columnB) {\n return sortDirection === \"asc\" ? -1 : 1;\n }\n if (columnA > columnB) {\n return sortDirection === \"asc\" ? 1 : -1;\n }\n return 0;\n });\n};\n\nexport default sortTabularGridColumn;\n\nexport type SortTabularGridColumnDataType =\n | \"string\"\n | \"date\"\n | \"dateString\"\n | \"object\";\n"],"mappings":"MAEMA,wBAAwB,CAC5BC,GACAC,GACAC,IAA0C,UAC1CC;EAEA,OAAMC,UAAEA,GAAQC,eAAEA,KAAkBL,EAAEM;;IAGtC,IAAIJ,MAAa,UAAUA,MAAa,cAAc;IACpD,OAAOD,EAAcM,MAAK,CAACC,GAAQC;MACjC,MAAMC,IAAUF,EAAEJ;MAClB,MAAMO,IAAUF,EAAEL;MAElB,IAAIF,MAAa,cAAc;QAC7BM,IAAI,IAAII,KAAKF;QACbD,IAAI,IAAIG,KAAKD;;MAGf,IAAID,EAAQG,YAAYF,EAAQE,WAAW;QACzC,OAAOR,MAAkB,SAAS,IAAI;;MAExC,IAAIK,EAAQG,YAAYF,EAAQE,WAAW;QACzC,OAAOR,MAAkB,QAAQ,KAAK;;MAExC,OAAO;AAAC;;;IAKZ,OAAOJ,EAAcM,MAAK,CAACC,GAAQC;IACjC,MAAMC,IAAUP,IACZK,EAAEJ,GAAUD,KACXK,EAAEJ;IACP,MAAMO,IAAUR,IACZM,EAAEL,GAAUD,KACXM,EAAEL;IAEP,IAAIM,IAAUC,GAAS;MACrB,OAAON,MAAkB,SAAS,IAAI;;IAExC,IAAIK,IAAUC,GAAS;MACrB,OAAON,MAAkB,QAAQ,KAAK;;IAExC,OAAO;AAAC;AACR"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { g as e, r as s, h as t, H as n, a as i } from "./p-97107ecc.js";
|
|
2
|
+
|
|
3
|
+
import { L as o } from "./p-311eedf3.js";
|
|
4
|
+
|
|
5
|
+
const a = ":host{display:grid;block-size:100%;overflow:auto;display:flex;align-items:center;justify-content:center}.content{display:flex;align-items:center;flex-direction:column;color:var(--mer-color__neutral-gray--100);gap:var(--mer-spacing--md);text-align:center;padding:var(--mer-spacing--lg)}.check-icon{block-size:64px;inline-size:64px;border-radius:50%;background-color:var(--color-green-1000);background-image:var(--icon__system_check_bright--enabled);background-repeat:no-repeat;background-position:center center;background-size:32px;margin-block-end:18px}.genexus-next-logo{inline-size:140px;margin-block-start:108px}";
|
|
6
|
+
|
|
7
|
+
const r = "gx-ide-assets/sign-in-result";
|
|
8
|
+
|
|
9
|
+
const c = e(`./${r}/images/left-side-illustration.svg`);
|
|
10
|
+
|
|
11
|
+
const g = e(`./${r}/images/right-side-illustration.svg`);
|
|
12
|
+
|
|
13
|
+
const l = e(`./${r}/images/genexus-next-logo.svg`);
|
|
14
|
+
|
|
15
|
+
const d = [
|
|
16
|
+
// Use only the bundles that are needed for this component.
|
|
17
|
+
"resets/box-sizing", "utils/typography", "utils/spacing" ];
|
|
18
|
+
|
|
19
|
+
const u = class {
|
|
20
|
+
constructor(e) {
|
|
21
|
+
s(this, e);
|
|
22
|
+
}
|
|
23
|
+
async componentWillLoad() {
|
|
24
|
+
this._componentLocale = await o.getComponentStrings(this.el);
|
|
25
|
+
}
|
|
26
|
+
componentDidLoad() {}
|
|
27
|
+
render() {
|
|
28
|
+
return t(n, {
|
|
29
|
+
class: "widget spacing-body",
|
|
30
|
+
style: {
|
|
31
|
+
backgroundImage: `url('${c}'), url('${g}')`,
|
|
32
|
+
backgroundRepeat: "no-repeat, no-repeat",
|
|
33
|
+
backgroundPosition: "left, right bottom",
|
|
34
|
+
backgroundSize: "auto 100%, auto 55%"
|
|
35
|
+
}
|
|
36
|
+
}, t("ch-theme", {
|
|
37
|
+
model: d
|
|
38
|
+
}), t("div", {
|
|
39
|
+
class: "content"
|
|
40
|
+
}, t("span", {
|
|
41
|
+
class: "check-icon"
|
|
42
|
+
}), t("h1", {
|
|
43
|
+
class: "heading-3"
|
|
44
|
+
}, this._componentLocale.title), t("p", {
|
|
45
|
+
class: "subtitle-regular-s"
|
|
46
|
+
}, this._componentLocale.description), t("img", {
|
|
47
|
+
src: l,
|
|
48
|
+
alt: "",
|
|
49
|
+
class: "genexus-next-logo"
|
|
50
|
+
})));
|
|
51
|
+
}
|
|
52
|
+
static get assetsDirs() {
|
|
53
|
+
return [ "gx-ide-assets/sign-in-result" ];
|
|
54
|
+
}
|
|
55
|
+
get el() {
|
|
56
|
+
return i(this);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
u.style = a;
|
|
61
|
+
|
|
62
|
+
export { u as gx_ide_sign_in_result };
|
|
63
|
+
//# sourceMappingURL=p-06e8d9d6.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["signInResultCss","ASSETS_DIR","LEFT_SIDE_ILLUSTRATION","getAssetPath","RIGHT_SIDE_ILLUSTRATION","GENEXUS_NEXT_LOGO","CSS_BUNDLES","GxIdeSignInResult","componentWillLoad","this","_componentLocale","Locale","getComponentStrings","el","componentDidLoad","render","h","Host","class","style","backgroundImage","backgroundRepeat","backgroundPosition","backgroundSize","model","title","description","src","alt"],"sources":["src/components/sign-in-result/sign-in-result.scss?tag=gx-ide-sign-in-result&encapsulation=shadow","src/components/sign-in-result/sign-in-result.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.content {\n display: flex;\n align-items: center;\n flex-direction: column;\n color: var(--mer-color__neutral-gray--100);\n gap: var(--mer-spacing--md);\n text-align: center;\n padding: var(--mer-spacing--lg);\n}\n\n.check-icon {\n $checkIconSize: 64px;\n block-size: $checkIconSize;\n inline-size: $checkIconSize;\n border-radius: 50%;\n background-color: var(--color-green-1000);\n background-image: var(--icon__system_check_bright--enabled);\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 32px;\n margin-block-end: 18px;\n}\n\n.genexus-next-logo {\n inline-size: 140px;\n margin-block-start: 108px;\n}\n","// This is a starting template. Do not edit this file directly.\n// Dupicate it and modify the new file as needed.\n\nimport { Component, Host, Element, getAssetPath, h } from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\n\nconst ASSETS_DIR = \"gx-ide-assets/sign-in-result\";\n\nconst LEFT_SIDE_ILLUSTRATION = getAssetPath(\n `./${ASSETS_DIR}/images/left-side-illustration.svg`\n);\nconst RIGHT_SIDE_ILLUSTRATION = getAssetPath(\n `./${ASSETS_DIR}/images/right-side-illustration.svg`\n);\nconst GENEXUS_NEXT_LOGO = getAssetPath(\n `./${ASSETS_DIR}/images/genexus-next-logo.svg`\n);\n\nconst CSS_BUNDLES: MercuryBundles = [\n // Use only the bundles that are needed for this component.\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/spacing\"\n];\n\n@Component({\n tag: \"gx-ide-sign-in-result\",\n styleUrl: \"sign-in-result.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/sign-in-result\"]\n})\nexport class GxIdeSignInResult {\n _componentLocale: any;\n\n @Element() el: HTMLGxIdeSignInResultElement;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {}\n\n render() {\n return (\n <Host\n class=\"widget spacing-body\"\n style={{\n backgroundImage: `url('${LEFT_SIDE_ILLUSTRATION}'), url('${RIGHT_SIDE_ILLUSTRATION}')`,\n backgroundRepeat: \"no-repeat, no-repeat\",\n backgroundPosition: \"left, right bottom\",\n backgroundSize: \"auto 100%, auto 55%\"\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"content\">\n <span class=\"check-icon\"></span>\n <h1 class=\"heading-3\">{this._componentLocale.title}</h1>\n <p class=\"subtitle-regular-s\">{this._componentLocale.description}</p>\n <img src={GENEXUS_NEXT_LOGO} alt=\"\" class=\"genexus-next-logo\" />\n </div>\n </Host>\n );\n }\n}\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SaveCallback = () => Promise<string>;\n"],"mappings":";;;;AAAA,MAAMA,IAAkB;;ACSxB,MAAMC,IAAa;;AAEnB,MAAMC,IAAyBC,EAC7B,KAAKF;;AAEP,MAAMG,IAA0BD,EAC9B,KAAKF;;AAEP,MAAMI,IAAoBF,EACxB,KAAKF;;AAGP,MAAMK,IAA8B;;AAElC,qBACA,oBACA;;MASWC,IAAiB;;;;EAK5B,uBAAMC;IACJC,KAAKC,yBAAyBC,EAAOC,oBAAoBH,KAAKI;;EAGhE,gBAAAC,IAAgB;EAEhB,MAAAC;IACE,OACEC,EAACC,GAAI;MACHC,OAAM;MACNC,OAAO;QACLC,iBAAiB,QAAQlB,aAAkCE;QAC3DiB,kBAAkB;QAClBC,oBAAoB;QACpBC,gBAAgB;;OAGlBP,EAAA;MAAUQ,OAAOlB;QACjBU,EAAA;MAAKE,OAAM;OACTF,EAAA;MAAME,OAAM;QACZF,EAAA;MAAIE,OAAM;OAAaT,KAAKC,iBAAiBe,QAC7CT,EAAA;MAAGE,OAAM;OAAsBT,KAAKC,iBAAiBgB,cACrDV,EAAA;MAAKW,KAAKtB;MAAmBuB,KAAI;MAAGV,OAAM"}
|
|
@@ -84,10 +84,10 @@ const $ = class {
|
|
|
84
84
|
y.set(this, void 0);
|
|
85
85
|
x.set(this, void 0);
|
|
86
86
|
k.set(this, void 0);
|
|
87
|
-
_.set(this, (async t => {
|
|
88
|
-
var
|
|
87
|
+
_.set(this, (async (t, i) => {
|
|
88
|
+
var e;
|
|
89
89
|
this.loading = true;
|
|
90
|
-
const
|
|
90
|
+
const a = {
|
|
91
91
|
search: h(this, b, "f").value ? h(this, b, "f").value : "",
|
|
92
92
|
from: h(this, g, "f").value ? new Date(h(this, g, "f").value) : null,
|
|
93
93
|
to: h(this, v, "f").value ? new Date(h(this, v, "f").value) : null,
|
|
@@ -95,8 +95,8 @@ const $ = class {
|
|
|
95
95
|
user: h(this, y, "f").value ? h(this, y, "f").value : "",
|
|
96
96
|
type: h(this, w, "f").value === "all" ? "" : h(this, w, "f").value
|
|
97
97
|
};
|
|
98
|
-
this.objects = await this.loadCallback(
|
|
99
|
-
await h(this, M, "f").call(this, (
|
|
98
|
+
this.objects = await this.loadCallback(a, t, i);
|
|
99
|
+
await h(this, M, "f").call(this, (e = this.objects[0]) === null || e === void 0 ? void 0 : e.id);
|
|
100
100
|
this.loading = false;
|
|
101
101
|
}));
|
|
102
102
|
M.set(this, (async t => {
|
|
@@ -286,23 +286,25 @@ const $ = class {
|
|
|
286
286
|
this.loadDetailCallback = undefined;
|
|
287
287
|
this.selectedVersionChangeCallback = undefined;
|
|
288
288
|
}
|
|
289
|
-
async selectedVersionIdChanged(t) {
|
|
290
|
-
var
|
|
291
|
-
|
|
289
|
+
async selectedVersionIdChanged(t, i) {
|
|
290
|
+
var e;
|
|
291
|
+
if (t === i) {
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
292
294
|
// Reset filters
|
|
293
295
|
h(this, b, "f").value = null;
|
|
294
296
|
h(this, g, "f").value = null;
|
|
295
297
|
h(this, v, "f").value = null;
|
|
296
298
|
h(this, p, "f").value = null;
|
|
297
299
|
h(this, y, "f").value = null;
|
|
298
|
-
h(this, w, "f").value = (
|
|
299
|
-
await h(this, _, "f").call(this, t);
|
|
300
|
+
h(this, w, "f").value = (e = h(this, m, "f")[0]) === null || e === void 0 ? void 0 : e.value;
|
|
301
|
+
await h(this, _, "f").call(this, t, false);
|
|
300
302
|
}
|
|
301
303
|
async versionsListChanged(t) {
|
|
302
304
|
this.versions = t;
|
|
303
305
|
this.hasActiveVersion = hasActiveVersionInList(t);
|
|
304
306
|
if (t.length > 0 && this.selectedVersionId && this.isFirstLoad) {
|
|
305
|
-
await h(this, _, "f").call(this, this.selectedVersionId);
|
|
307
|
+
await h(this, _, "f").call(this, this.selectedVersionId, false);
|
|
306
308
|
this.isFirstLoad = false;
|
|
307
309
|
}
|
|
308
310
|
}
|
|
@@ -369,7 +371,7 @@ const $ = class {
|
|
|
369
371
|
})), i("button", {
|
|
370
372
|
class: "button-teritary button-icon-only",
|
|
371
373
|
"aria-label": h(this, f, "f").searchFilter.reloadAriaLabel,
|
|
372
|
-
onClick: () => h(this, _, "f").call(this, this.selectedVersionId),
|
|
374
|
+
onClick: () => h(this, _, "f").call(this, this.selectedVersionId, true),
|
|
373
375
|
part: h(this, f, "f").searchFilter.reloadAriaLabel
|
|
374
376
|
}, i("ch-image", {
|
|
375
377
|
class: "icon-md",
|
|
@@ -481,4 +483,4 @@ z = new WeakMap, T = new WeakMap, E = new WeakMap, F = new WeakMap;
|
|
|
481
483
|
$.style = d;
|
|
482
484
|
|
|
483
485
|
export { $ as gx_ide_team_dev_history };
|
|
484
|
-
//# sourceMappingURL=p-
|
|
486
|
+
//# sourceMappingURL=p-2b38e18e.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mapObjectTypeToComboBoxItemModel","objectTypeModel","map","objectType","value","id","caption","name","startImgSrc","icon","hasActiveNode","node","active","Array","isArray","nodes","some","hasActiveVersionInList","versionsList","historyCss","CSS_BUNDLES","FILTER_ICON_PRIMARY","getIconPath","category","colorType","FILTER_ICON","RESET_ICON","SEARCH_ICON","GxIdeTeamDevHistory","_GxIdeTeamDevHistory__componentLocale","set","this","_GxIdeTeamDevHistory_types","_GxIdeTeamDevHistory_fromEl","_GxIdeTeamDevHistory_revisionEl","_GxIdeTeamDevHistory_searchEl","_GxIdeTeamDevHistory_toEl","_GxIdeTeamDevHistory_typesEl","_GxIdeTeamDevHistory_userEl","_GxIdeTeamDevHistory_sidebarEl","_GxIdeTeamDevHistory_revisionsGridEl","_GxIdeTeamDevHistory_getObjectsFromVersion","async","versionId","isRefresh","loading","filters","search","__classPrivateFieldGet","from","Date","to","revision","user","type","objects","loadCallback","_GxIdeTeamDevHistory_getSelectedRevision","call","_a","revisionId","historyDetail","loadDetailCallback","title","_GxIdeTeamDevHistory_formatHistoryDetailDate","selectedRevisionId","_GxIdeTeamDevHistory_registerGridContextMenuListener","addEventListener","ev","preventDefault","stopPropagation","_GxIdeTeamDevHistory_gridContextMenuCallbackHandler","gridContextMenuCallback","selection","clientX","clientY","_GxIdeTeamDevHistory_toggleFiltersHandler","filtersHidden","_GxIdeTeamDevHistory_renderCommitsGrid","tabularGridEmpty","length","h","class","onSelectionChanged","detail","rowsId","ref","el","__classPrivateFieldSet","selectRow","mainGrid","columns","settingable","size","comment","commitDate","obj","rowid","key","formatDate","stateTitle","emptyRevisionsText","isAnimated","_GxIdeTeamDevHistory_renderAffectedObjectsGrid","iterable","affectedObjectsGrid","config","tabularGrid","colSize","maxContent","types","description","auto","action","renderObjectTypeWithIcon","renderObjectStateWithIcon","state","stateIconSrc","emptyHistoryDetailText","_GxIdeTeamDevHistory_renderLoader","loaderTitle","loader","show","parts","split","datePart","formattedDate","selectedVersionIdChanged","newSelectedVersionId","oldSelectedVersionId","versionsListChanged","newVersionsList","versions","hasActiveVersion","selectedVersionId","isFirstLoad","componentWillLoad","Locale","getComponentStrings","componentDidLoad","e","sidebarExpanded","render","Host","model","expanded","expandButtonCollapseAccessibleName","sidebar","collapseAriaLabel","expandButtonExpandAccessibleName","expandAriaLabel","showExpandButton","checkboxType","itemsList","expandOnClick","selectionChanged","selectedVersionChangeCallback","itemContextMenuCallback","htmlFor","part","searchFilter","filterAriaLabel","onClick","src","reloadAriaLabel","inert","hidden","accessibleName","multiline","autoGrow","readonly"],"sources":["src/components/team-dev/history/helpers.ts","src/components/team-dev/history/history.scss?tag=gx-ide-team-dev-history&encapsulation=shadow","src/components/team-dev/history/history.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { ObjectType, GxOption } from \"../../../common/types\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { ItemNode } from \"../../select-kb-items/select-kb-items\";\n\nexport const mapObjectTypeToComboBoxItemModel = (\n objectTypeModel: ObjectType[]\n): ComboBoxItemModel[] =>\n objectTypeModel.map(objectType => ({\n value: objectType.id,\n caption: objectType.name,\n startImgSrc: objectType.icon\n }));\n\nexport const mapCategoryToComboBoxItemModel = (\n categoryModel: GxOption[]\n): ComboBoxModel =>\n categoryModel.map(category => ({\n value: category.id,\n caption: category.label\n }));\n\nconst hasActiveNode = (node: any): boolean => {\n if (node.active) {\n return true;\n }\n if (Array.isArray(node.nodes)) {\n return node.nodes.some(hasActiveNode);\n }\n return false;\n};\n\nexport const hasActiveVersionInList = (versionsList: ItemNode[]): boolean => {\n return versionsList.some(hasActiveNode);\n};\n","@import \"../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n@import \"../common/styles.scss\";\n\n// TODO: this should be a class on Mercury.\n// Not sure if applying \".field-group\" is the right thing to do.\n$commonRowGap: var(--mer-spacing--sm);\n\n:host {\n display: grid;\n grid-template-columns: max-content 1fr;\n block-size: 100%;\n overflow: auto;\n}\n\n.sidebar {\n background-color: transparent !important; // TODO: Apply elevation classes on Mercury.\n border-inline-end: var(--section-common-border);\n}\n\n.sidebar::part(expand-button) {\n border-radius: var(--control__border-radius);\n}\n\ngx-ide-select-kb-items {\n --search-input-max-inline-size: 300px;\n opacity: 0;\n transition: opacity var(--mer-timing--fast);\n}\ngx-ide-select-kb-items.sidebar-expanded {\n opacity: 1;\n}\n\nch-tabular-grid.tabular-grid--empty::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\n\nch-tabular-grid-rowset-empty {\n position: relative; // makes this the bounder element for the loader\n}\n\n.main {\n display: grid;\n grid-template-rows: max-content 1fr;\n grid-row-gap: $commonRowGap;\n overflow: auto;\n}\n.main__header {\n display: grid;\n}\n.main__content {\n position: relative;\n overflow: auto;\n display: grid;\n grid-template-rows: 1fr max-content 2fr;\n grid-row-gap: $commonRowGap;\n}\n\n.tabular-grid {\n overflow: auto;\n}\n\n/*SECOND GRID*/\n.search-filter {\n display: grid;\n grid-template-columns: 1fr max-content max-content;\n gap: var(--gx-ide-grid-column-gap);\n}\n\n.action-buttons {\n justify-self: flex-end;\n}\n\n.filters-grid {\n display: grid;\n grid-template-columns: repeat(6, 1fr);\n grid-template-areas:\n \"from from to to type type\"\n \"user user user revision revision revision\";\n grid-gap: var(--gx-ide-grid-column-gap);\n padding-block-start: $commonRowGap;\n}\n\n.filters-container {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--mer-timing--fast);\n}\n\n.filters-container-visible {\n grid-template-rows: 1fr;\n}\n\n.filters-container > div {\n overflow: hidden;\n}\n\n.field-from {\n grid-area: from;\n}\n\n.field-to {\n grid-area: to;\n}\n.field-type {\n grid-area: type;\n}\n.field-user {\n grid-area: user;\n}\n.field-revision {\n grid-area: revision;\n}\n\n// commits grid \"comment\" column\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".commits-grid\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-min-inline-size: 200px,\n $tabular-grid-affected-columns-nth-list: (\n 2\n )\n);\n\n// affected objects grid \"description\" column\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".affected-objects-grid\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-min-inline-size: 200px,\n $tabular-grid-affected-columns-nth-list: (\n 5\n )\n);\n","/* STENCIL IMPORTS */\nimport { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { config } from \"../../../common/config\";\nimport { formatDate } from \"../../../common/helpers\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../components\";\nimport { ItemNode } from \"../../select-kb-items/select-kb-items\";\nimport {\n hasActiveVersionInList,\n mapObjectTypeToComboBoxItemModel\n} from \"./helpers\";\nimport {\n renderObjectStateWithIcon,\n renderObjectTypeWithIcon\n} from \"../common/utilities\";\nimport { ObjectState } from \"../version-control/common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\",\n \"chameleon/scrollbar\",\n \"components/tabular-grid\",\n \"components/accordion\",\n \"components/sidebar\"\n];\n\nconst FILTER_ICON_PRIMARY = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"primary\"\n});\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-surface\"\n});\n\nconst RESET_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\n\nconst SEARCH_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-team-dev-history\",\n styleUrl: \"history.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-history\"]\n})\nexport class GxIdeTeamDevHistory {\n #_componentLocale: any;\n\n #types: ComboBoxItemModel[] = [];\n\n @Element() el: HTMLGxIdeTeamDevHistoryElement;\n\n #fromEl?: HTMLChEditElement;\n #revisionEl?: HTMLChEditElement;\n #searchEl: HTMLChEditElement;\n #toEl?: HTMLChEditElement;\n #typesEl?: HTMLChComboBoxRenderElement;\n #userEl?: HTMLChEditElement;\n #sidebarEl: HTMLChSidebarElement;\n #revisionsGridEl: HTMLChTabularGridElement;\n\n @State() historyDetail: RevisionDetailData;\n\n /**\n * The files rendered in the table\n */\n @State() objects: RevisionData[] = [];\n\n /**\n * Used to call getObjectsFromVersion from the versionsChanged method only once after receiving the versions for the first time.\n */\n @State() isFirstLoad: boolean = true;\n\n /**\n * Used to hide the select-kb-items when collapsed\n */\n @State() sidebarExpanded: boolean = true;\n\n /**\n * Used to show or hide the filters section\n */\n @State() filtersHidden = true;\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * The Id of the selected revision in the revisions grid\n */\n @State() selectedRevisionId: string;\n\n /**\n * Used to customize the select-kb-items \"header\" part grid layout\n */\n @State() hasActiveVersion: boolean = false; // TODO:\n\n /**\n * Possible values of type filter\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Callback invoked when user right-clicks on the grid\n */\n @Prop() readonly gridContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * The Id of the selected version in the select-kb-items component\n */\n @Prop({ mutable: true }) selectedVersionId: string;\n @Watch(\"selectedVersionId\")\n async selectedVersionIdChanged(\n newSelectedVersionId: string,\n oldSelectedVersionId?: string\n ) {\n if (newSelectedVersionId === oldSelectedVersionId) {\n return;\n }\n\n // Reset filters\n this.#searchEl.value = null;\n this.#fromEl.value = null;\n this.#toEl.value = null;\n this.#revisionEl.value = null;\n this.#userEl.value = null;\n this.#typesEl.value = this.#types[0]?.value;\n\n await this.#getObjectsFromVersion(newSelectedVersionId, false);\n }\n\n /**\n * List of versions to show in the versions tree\n */\n @Prop({ mutable: true }) versions: ItemNode[] = [];\n @Watch(\"versions\")\n async versionsListChanged(newVersionsList: ItemNode[]) {\n this.versions = newVersionsList;\n this.hasActiveVersion = hasActiveVersionInList(newVersionsList);\n\n if (\n newVersionsList.length > 0 &&\n this.selectedVersionId &&\n this.isFirstLoad\n ) {\n await this.#getObjectsFromVersion(this.selectedVersionId, false);\n this.isFirstLoad = false;\n }\n }\n\n /**\n * Callback invoked when is necessary to reload the history info. Receive the filters as parameters and only returns the info corresponding to the master grid.\n\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked to obtain detailed info from a revision. As parameter receive internal revision id\n */\n @Prop() readonly loadDetailCallback: LoadDetailCallback;\n\n /**\n * Callback invoked when the selected version changes. As parameter receive the selected version id\n */\n @Prop() readonly selectedVersionChangeCallback: SelectedVersionChangeCallback;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#types = mapObjectTypeToComboBoxItemModel(this.types);\n }\n\n async componentDidLoad() {\n this.#sidebarEl.addEventListener(\n \"expandedChange\",\n (e: CustomEvent<boolean>) => {\n this.sidebarExpanded = e.detail;\n }\n );\n }\n\n #getObjectsFromVersion = async (\n versionId: string,\n isRefresh: boolean\n ): Promise<void> => {\n this.loading = true;\n\n const filters: FiltersData = {\n search: this.#searchEl.value ? this.#searchEl.value : \"\",\n from: this.#fromEl.value ? new Date(this.#fromEl.value) : null,\n to: this.#toEl.value ? new Date(this.#toEl.value) : null,\n revision: this.#revisionEl.value ? this.#revisionEl.value : \"\",\n user: this.#userEl.value ? this.#userEl.value : \"\",\n type: this.#typesEl.value === \"all\" ? \"\" : this.#typesEl.value\n };\n\n this.objects = await this.loadCallback(filters, versionId, isRefresh);\n await this.#getSelectedRevision(this.objects[0]?.id);\n this.loading = false;\n };\n\n #getSelectedRevision = async (revisionId: string) => {\n if (revisionId) {\n this.historyDetail = await this.loadDetailCallback(revisionId);\n this.historyDetail.title = this.#formatHistoryDetailDate(\n this.historyDetail.title\n );\n this.selectedRevisionId = revisionId;\n } else {\n this.historyDetail = null;\n }\n };\n\n #registerGridContextMenuListener = (): void => {\n if (this.#revisionsGridEl) {\n this.#revisionsGridEl.addEventListener(\n \"contextmenu\",\n (ev: MouseEvent): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.#gridContextMenuCallbackHandler(ev);\n }\n );\n }\n };\n\n #gridContextMenuCallbackHandler = async (ev: MouseEvent): Promise<void> => {\n this.gridContextMenuCallback({\n selection: [this.selectedRevisionId],\n clientX: ev.clientX,\n clientY: ev.clientY\n });\n };\n\n #toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n #renderCommitsGrid = (): Element => {\n const tabularGridEmpty = this.objects?.length === 0 || !this.objects;\n return (\n <ch-tabular-grid\n class={{\n \"commits-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n onSelectionChanged={(ev: any) => {\n this.objects.length > 0 &&\n this.#getSelectedRevision(ev.detail.rowsId[0]);\n }}\n ref={(el: HTMLChTabularGridElement) => {\n if (el && this.#revisionsGridEl !== el) {\n this.#revisionsGridEl = el as HTMLChTabularGridElement;\n\n this.#registerGridContextMenuListener();\n\n if (this.objects.length > 0) {\n this.#revisionsGridEl.selectRow(this.objects[0]?.id, true);\n }\n }\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.id}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.comment}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"1fr\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.user}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#_componentLocale.mainGrid.columns.commitDate}\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size=\"max-content\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: RevisionData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n key={obj.id}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.id}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.comment}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.user}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.commitDate, \"date-time\")}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateTitle={this.#_componentLocale.emptyRevisionsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderAffectedObjectsGrid = (): Element => {\n const iterable = this.historyDetail ? this.historyDetail.objects : [];\n const tabularGridEmpty =\n this.historyDetail?.objects.length === 0 || !this.historyDetail;\n return (\n <ch-tabular-grid\n class={{\n \"affected-objects-grid\": true,\n \"tabular-grid\": true,\n \"tabular-grid--empty\": tabularGridEmpty\n }}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.name\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.types\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.description\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.auto}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={\n this.#_componentLocale.affectedObjectsGrid.columns.action\n }\n column-name-position=\"text\"\n class=\"tabular-grid-column\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.historyDetail && this.historyDetail.objects.length > 0 ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {iterable.map((obj: ObjectData) => (\n <ch-tabular-grid-row class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectTypeWithIcon(obj.type)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {renderObjectStateWithIcon(obj.state)}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#_componentLocale.emptyHistoryDetailText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n\n <ch-tabular-grid-row class=\"tabular-grid-row\"></ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderLoader = (): Element => {\n return (\n this.loading && (\n <div class=\"main__content scrollable\">\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n show\n description={this.#_componentLocale.loader.description}\n ></gx-ide-loader>\n </div>\n )\n );\n };\n\n #formatHistoryDetailDate = (title: string): string => {\n const parts = title.split(\" - \");\n const datePart = new Date(parts[1]);\n const formattedDate = formatDate(datePart, \"date-time\");\n return `${parts[0]} - ${formattedDate} - ${parts[2]}`;\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <ch-sidebar\n ref={(el: HTMLChSidebarElement) =>\n (this.#sidebarEl = el as HTMLChSidebarElement)\n }\n class=\"sidebar\"\n expanded={this.sidebarExpanded}\n expandButtonCollapseAccessibleName={\n this.#_componentLocale.sidebar.collapseAriaLabel\n }\n expandButtonExpandAccessibleName={\n this.#_componentLocale.sidebar.expandAriaLabel\n }\n showExpandButton\n >\n <gx-ide-select-kb-items\n class={{\n \"sidebar-expanded\": this.sidebarExpanded,\n \"has-active-version\": this.hasActiveVersion\n }}\n checkboxType=\"none\"\n itemsList={this.versions}\n expandOnClick={false}\n selectionChanged={this.selectedVersionChangeCallback}\n itemContextMenuCallback={this.itemContextMenuCallback}\n ></gx-ide-select-kb-items>\n </ch-sidebar>\n\n <main class=\"main spacing-body-block-start spacing-body-inline\">\n <div class=\"main__header\">\n <div class=\"search-filter\">\n <div class=\"field field-inline\">\n <label class=\"label\" htmlFor=\"search\">\n {this.#_componentLocale.filters.search}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n startImgSrc={SEARCH_ICON}\n part=\"search\"\n id=\"search\"\n ref={(el: HTMLChEditElement) =>\n (this.#searchEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <button\n id=\"filter-toggle-button\"\n class=\"button-teritary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.filterAriaLabel}\n aria-expanded={this.filtersHidden ? \"false\" : \"true\"}\n aria-controls=\"filters-container\"\n onClick={() => this.#toggleFiltersHandler()}\n >\n <ch-image class=\"icon-md\" src={FILTER_ICON_PRIMARY}></ch-image>\n </button>\n\n <button\n class=\"button-teritary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.reloadAriaLabel}\n onClick={() =>\n this.#getObjectsFromVersion(this.selectedVersionId, true)\n }\n part={this.#_componentLocale.searchFilter.reloadAriaLabel}\n >\n <ch-image class=\"icon-md\" src={RESET_ICON}></ch-image>\n </button>\n </div>\n\n <div\n id=\"filters-container\"\n aria-labelledby=\"filter-toggle-button\"\n class={{\n \"filters-container-visible\": !this.filtersHidden,\n \"filters-container\": true\n }}\n inert={this.filtersHidden}\n hidden={this.filtersHidden}\n >\n <div>\n <div class=\"filters-grid\">\n <div class=\"field field-block field-from\">\n <label class=\"label\" htmlFor=\"from\">\n {this.#_componentLocale.filters.from}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n part=\"from\"\n id=\"from\"\n ref={(el: HTMLChEditElement) =>\n (this.#fromEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-to\">\n <label class=\"label\" htmlFor=\"to\">\n {this.#_componentLocale.filters.to}\n </label>\n <ch-edit\n value=\"\"\n class=\"input\"\n type=\"date\"\n id=\"to\"\n ref={(el: HTMLChEditElement) =>\n (this.#toEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-type\">\n <label class=\"label\" htmlFor=\"type\">\n {this.#_componentLocale.filters.type}\n </label>\n\n <ch-combo-box-render\n accessibleName=\"types\"\n class=\"combo-box\"\n part=\"type\"\n model={this.#types}\n value={this.#types[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#typesEl = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <div class=\"field field-block field-user\">\n <label class=\"label\" htmlFor=\"user\">\n {this.#_componentLocale.filters.user}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"user\"\n class=\"input\"\n id=\"user\"\n ref={(el: HTMLChEditElement) =>\n (this.#userEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"field field-block field-revision\">\n <label class=\"label\" htmlFor=\"revision\">\n {this.#_componentLocale.filters.revision}\n </label>\n\n <ch-edit\n value=\"\"\n part=\"revision\"\n class=\"input\"\n id=\"revision\"\n ref={(el: HTMLChEditElement) =>\n (this.#revisionEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {this.#renderLoader()}\n\n {!this.loading && (\n <div class=\"main__content scrollable\">\n {this.#renderCommitsGrid()}\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"comment-area\">\n {this.historyDetail ? this.historyDetail.title : null}\n </label>\n <ch-edit\n class=\"input comment-text-area\"\n value={this.historyDetail ? this.historyDetail.comment : null}\n multiline\n autoGrow\n readonly={true}\n part=\"comment-area\"\n id=\"comment-area\"\n ></ch-edit>\n </div>\n\n {this.#renderAffectedObjectsGrid()}\n </div>\n )}\n </main>\n </Host>\n );\n }\n}\n\n// Types\nexport type ObjectType = {\n id: string;\n name: string;\n icon?: string;\n};\n\nexport type FiltersData = {\n search: string;\n from?: Date;\n to?: Date;\n user?: string;\n revision?: string;\n type?: string;\n};\nexport type RevisionData = {\n id: string;\n comment: string;\n user: string;\n commitDate: Date;\n};\n\nexport type RevisionDetailData = {\n title: string;\n comment: string;\n objects: ObjectData[];\n};\nexport type ObjectData = {\n typeIcon: string;\n state: ObjectState;\n name: string;\n type: ObjectType;\n description: string;\n action: string;\n};\n\nexport type LoadCallback = (\n filters: FiltersData,\n versionId: string,\n isRefresh: boolean\n) => Promise<RevisionData[]>;\n\nexport type LoadDetailCallback = (\n revision: string\n) => Promise<RevisionDetailData>;\n\nexport type SelectedVersionChangeCallback = (\n selectedVersion: string[]\n) => Promise<void>;\n"],"mappings":"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"}
|