@genexus/genexus-ide-ui 1.1.36 → 1.1.38
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-create-kb-from-server.cjs.entry.js +9 -3
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js +19 -34
- package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +59 -17
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js +12 -4
- package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/details-acknowledgements/details-acknowledgements.js +19 -34
- package/dist/collection/components/details-acknowledgements/details-acknowledgements.js.map +1 -1
- package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.en.json +3 -1
- package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +3 -1
- package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.zh.json +3 -1
- package/dist/collection/components/kb-manager-import/helpers.js +6 -3
- package/dist/collection/components/kb-manager-import/helpers.js.map +1 -1
- package/dist/collection/components/kb-manager-import/kb-manager-import.css +5 -0
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +56 -12
- package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +9 -3
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
- package/dist/collection/components/team-dev/server-selector/server-selector.js +12 -4
- package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +9 -3
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-details-acknowledgements.js +19 -34
- package/dist/components/gx-ide-details-acknowledgements.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-import.js +59 -18
- package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
- package/dist/components/gx-ide-server-selector.js +12 -4
- package/dist/components/gx-ide-server-selector.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +9 -3
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-details-acknowledgements.entry.js +19 -34
- package/dist/esm/gx-ide-details-acknowledgements.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +59 -17
- package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-server-selector.entry.js +12 -4
- package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
- 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/details-acknowledgements/langs/details-acknowledgements.lang.en.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.zh.json +3 -1
- package/dist/genexus-ide-ui/{p-56c0c556.entry.js → p-48e87e4f.entry.js} +180 -145
- package/dist/genexus-ide-ui/p-48e87e4f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-bee71b20.entry.js → p-970e89ac.entry.js} +55 -45
- package/dist/genexus-ide-ui/p-970e89ac.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-9ad85231.entry.js → p-b34ecbdc.entry.js} +35 -28
- package/dist/genexus-ide-ui/p-b34ecbdc.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-5e2f9545.entry.js → p-bd0ffc08.entry.js} +56 -72
- package/dist/genexus-ide-ui/p-bd0ffc08.entry.js.map +1 -0
- package/dist/types/components/details-acknowledgements/types.d.ts +1 -1
- package/dist/types/components/kb-manager-import/helpers.d.ts +2 -1
- package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +0 -1
- package/package.json +1 -1
- package/dist/genexus-ide-ui/p-56c0c556.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-5e2f9545.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-9ad85231.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-bee71b20.entry.js.map +0 -1
|
@@ -11,22 +11,12 @@ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) ||
|
|
|
11
11
|
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
12
12
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
13
13
|
};
|
|
14
|
-
var _GxIdeDetailsAcknowledgements_getFormatedDate,
|
|
14
|
+
var _GxIdeDetailsAcknowledgements_getFormatedDate, _GxIdeDetailsAcknowledgements_renderLicenseInfo, _GxIdeDetailsAcknowledgements_renderLicensesViewButtons, _GxIdeDetailsAcknowledgements_getLicenseId, _GxIdeDetailsAcknowledgements_viewLicenseClickedHandler, _GxIdeDetailsAcknowledgements_openLinkClickedHandler;
|
|
15
15
|
const OPEN_WINDOW_ICON = getIconPath({
|
|
16
16
|
category: "gemini-tools",
|
|
17
17
|
name: "open-window",
|
|
18
18
|
colorType: "primary"
|
|
19
19
|
});
|
|
20
|
-
const EXPAND_ICON = getIconPath({
|
|
21
|
-
category: "system",
|
|
22
|
-
name: "expand",
|
|
23
|
-
colorType: "on-primary"
|
|
24
|
-
});
|
|
25
|
-
const COLLAPSE_ICON = getIconPath({
|
|
26
|
-
category: "system",
|
|
27
|
-
name: "collapse-content",
|
|
28
|
-
colorType: "on-primary"
|
|
29
|
-
});
|
|
30
20
|
const IMAGES_PATH = "./gx-ide-assets/details-acknowledgements/images";
|
|
31
21
|
const BACKGROUND_SIZE = "300px";
|
|
32
22
|
const GENEXUS_NEXT_LOGO_SRC = getAssetPath(`${IMAGES_PATH}/genexus-next-logo.svg`);
|
|
@@ -49,28 +39,23 @@ const GxIdeDetailsAcknowledgements$1 = /*@__PURE__*/ proxyCustomElement(class Gx
|
|
|
49
39
|
_GxIdeDetailsAcknowledgements_getFormatedDate.set(this, (date) => {
|
|
50
40
|
return date === null || date === void 0 ? void 0 : date.toISOString().split("T")[0];
|
|
51
41
|
});
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}))) : (h("ul", { class: "licenses-descriptions-list" }, licenses.
|
|
56
|
-
const licenseId = __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_getLicenseId, "f").call(this, packageData, license.name);
|
|
57
|
-
const showDescription = licenseId === this.expandedLicenseId;
|
|
58
|
-
return (h("li", { class: "licenses-descriptions-item", key: licenseId }, showDescription ? (h("p", { class: "code-box color-neutral licenses-descriptions-description scrollable" }, license.description)) : null));
|
|
59
|
-
})));
|
|
42
|
+
_GxIdeDetailsAcknowledgements_renderLicenseInfo.set(this, (license, type = "name", packageData) => {
|
|
43
|
+
const licenseId = __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_getLicenseId, "f").call(this, packageData, license.name);
|
|
44
|
+
const showDescription = licenseId === this.expandedLicenseId;
|
|
45
|
+
return type === "name" ? (h("ul", { class: "licenses-names-list" }, h("li", { class: "color-default body-regular-m licenses-names-item" }, license.name))) : (h("ul", { class: "licenses-descriptions-list" }, h("li", { class: "licenses-descriptions-item", key: license.name }, showDescription ? (h("p", { class: "code-box color-neutral licenses-descriptions-description scrollable" }, license.description)) : null)));
|
|
60
46
|
});
|
|
61
|
-
_GxIdeDetailsAcknowledgements_renderLicensesViewButtons.set(this, (
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
})));
|
|
47
|
+
_GxIdeDetailsAcknowledgements_renderLicensesViewButtons.set(this, (license, packageData) => {
|
|
48
|
+
const licenseId = __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_getLicenseId, "f").call(this, packageData, license.name);
|
|
49
|
+
const visibleLicenseButton = licenseId === this.expandedLicenseId;
|
|
50
|
+
const viewLicenseButtonLabel = visibleLicenseButton
|
|
51
|
+
? this._componentLocale.detailsCard.hide
|
|
52
|
+
: this._componentLocale.detailsCard.show;
|
|
53
|
+
return (h("div", { class: "licenses-buttons-container buttons-spacer" }, h("button", { class: {
|
|
54
|
+
"button-icon-and-text": true,
|
|
55
|
+
"button-primary": !visibleLicenseButton,
|
|
56
|
+
"button-secondary": visibleLicenseButton,
|
|
57
|
+
"show-more-button": true
|
|
58
|
+
}, onClick: __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_viewLicenseClickedHandler, "f").call(this, licenseId) }, viewLicenseButtonLabel)));
|
|
74
59
|
});
|
|
75
60
|
_GxIdeDetailsAcknowledgements_getLicenseId.set(this, (packageData, licenseName) => {
|
|
76
61
|
return `${packageData.packageName}-${packageData.packageVersion}-${licenseName}`;
|
|
@@ -116,7 +101,7 @@ const GxIdeDetailsAcknowledgements$1 = /*@__PURE__*/ proxyCustomElement(class Gx
|
|
|
116
101
|
"subtitle-semi-bold-s": true,
|
|
117
102
|
"package-name": true,
|
|
118
103
|
"has-link": !!packageItem.packageURL
|
|
119
|
-
} }, headingContent), h("p", { class: "color-default subtitle-semi-bold-s" }, this._componentLocale.packageCard.declaredLicenses), __classPrivateFieldGet(this,
|
|
104
|
+
} }, headingContent), h("p", { class: "color-default subtitle-semi-bold-s" }, this._componentLocale.packageCard.declaredLicenses), __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_renderLicenseInfo, "f").call(this, packageItem.declaredLicense, "name", packageItem), __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_renderLicenseInfo, "f").call(this, packageItem.declaredLicense, "description", packageItem), __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_renderLicensesViewButtons, "f").call(this, packageItem.declaredLicense, packageItem)));
|
|
120
105
|
}))));
|
|
121
106
|
}
|
|
122
107
|
static get assetsDirs() { return ["gx-ide-assets/details-acknowledgements"]; }
|
|
@@ -129,7 +114,7 @@ const GxIdeDetailsAcknowledgements$1 = /*@__PURE__*/ proxyCustomElement(class Gx
|
|
|
129
114
|
"openPackageUrlCallback": [16],
|
|
130
115
|
"expandedLicenseId": [32]
|
|
131
116
|
}]);
|
|
132
|
-
_GxIdeDetailsAcknowledgements_getFormatedDate = new WeakMap(),
|
|
117
|
+
_GxIdeDetailsAcknowledgements_getFormatedDate = new WeakMap(), _GxIdeDetailsAcknowledgements_renderLicenseInfo = new WeakMap(), _GxIdeDetailsAcknowledgements_renderLicensesViewButtons = new WeakMap(), _GxIdeDetailsAcknowledgements_getLicenseId = new WeakMap(), _GxIdeDetailsAcknowledgements_viewLicenseClickedHandler = new WeakMap(), _GxIdeDetailsAcknowledgements_openLinkClickedHandler = new WeakMap();
|
|
133
118
|
function defineCustomElement$1() {
|
|
134
119
|
if (typeof customElements === "undefined") {
|
|
135
120
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-details-acknowledgements.js","mappings":"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","names":["GxIdeDetailsAcknowledgements"],"sources":["src/components/details-acknowledgements/details-acknowledgements.scss?tag=gx-ide-details-acknowledgements&encapsulation=shadow","src/components/details-acknowledgements/details-acknowledgements.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-auto-rows: max-content;\n justify-content: center;\n padding: 95px var(--mer-spacing--lg) 95px var(--mer-spacing--lg);\n overflow: auto;\n}\n\n%resetList {\n // TODO: Use mixin from common\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.main-wrapper {\n max-inline-size: 1000px;\n display: grid;\n gap: var(--mer-spacing--xl);\n}\n\n.logo {\n inline-size: 200px;\n margin: 0 auto;\n margin-block-end: var(--mer-spacing--2xl);\n opacity: 0;\n transform: translateY(var(--mer-spacing--2xs));\n animation: showLogo var(--mer-timing--regular) ease-out forwards;\n animation-delay: var(--mer-timing--regular);\n}\n@keyframes showLogo {\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n// general\n\n.card {\n display: grid;\n border-radius: var(--mer-border__radius--sm);\n border-width: var(--mer-border__width--sm);\n border-color: var(--elevation-border-color);\n border-style: solid;\n padding: var(--mer-spacing--lg);\n gap: var(--mer-spacing--md);\n opacity: 0;\n animation: showCard var(--mer-timing--fast) ease-out forwards;\n animation-delay: calc(var(--mer-timing--regular) * 2);\n}\n@keyframes showCard {\n 100% {\n opacity: 1;\n }\n}\n\n// details card\n\nh1.title {\n font-weight: 600;\n}\n\n.intro-container {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.date-container {\n display: grid;\n gap: var(--mer-spacing--sm);\n}\n\n// package card\n\n.card-package {\n opacity: 0;\n transition: opacity var(--mer-timing--fast);\n}\n\n.package-name {\n --package-name-color: var(--mer-text__primary);\n color: var(--package-name-color);\n\n a {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n &.has-link {\n // TODO: This should be a class in Mercury\n &:hover {\n --package-name-color: var(--mer-text__primary--hover);\n }\n &:active {\n --package-name-color: var(--mer-text__primary--active);\n }\n }\n}\n.package-link {\n display: inline-block;\n}\n\n.licenses-names-list {\n @extend %resetList;\n display: flex;\n align-items: center;\n}\n.licenses-names-item:not(:first-child)::before {\n content: \"•\";\n padding-inline: 8px;\n}\n\n.licenses-descriptions-list {\n @extend %resetList;\n}\n.licenses-descriptions-description {\n white-space: break-spaces;\n max-block-size: 940px;\n overflow: auto;\n line-height: 1.5;\n}\n.licenses-descriptions-item {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.code-box {\n border-radius: var(--mer-border__radius--sm);\n background-color: var(--mer-surface);\n border: 1px solid var(--mer-border-color__on-elevation--01);\n padding: var(--mer-spacing--md);\n font-family: var(--font-family-code);\n font-size: var(--font-size-body-s);\n display: grid;\n gap: var(--mer-spacing--lg);\n}\n\n.description-list {\n display: grid;\n gap: var(--mer-spacing--xs);\n max-inline-size: 400px;\n margin: 0 auto;\n}\n\n.show-more-button {\n justify-self: start;\n}\n\n// utilities\n// WA/TODO: This should be defined on Mercury\n.color-default {\n color: var(--mer-text__highlighted);\n}\n.color-neutral {\n color: var(--mer-color__neutral-gray--400);\n}\n.color-primary {\n color: var(--mer-text__primary);\n}\n\np {\n // TODO: Update line-height values on Mercury\n --line-height-tight: 1.5;\n --font-weight-regular: 300;\n}\n\nhr {\n // WA/TODO: A style for hr should be defined on Mercury\n border-block-start: 0;\n border-color: var(--mer-border-color__on-elevation--01);\n inline-size: 100%;\n margin: 0;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nimport type { PackageData, License, OpenPackageURLCallback } from \"./types\";\n\nconst OPEN_WINDOW_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"open-window\",\n colorType: \"primary\"\n});\nconst EXPAND_ICON = getIconPath({\n category: \"system\",\n name: \"expand\",\n colorType: \"on-primary\"\n});\nconst COLLAPSE_ICON = getIconPath({\n category: \"system\",\n name: \"collapse-content\",\n colorType: \"on-primary\"\n});\n\nconst IMAGES_PATH = \"./gx-ide-assets/details-acknowledgements/images\";\nconst BACKGROUND_SIZE = \"300px\";\n\nconst GENEXUS_NEXT_LOGO_SRC = getAssetPath(\n `${IMAGES_PATH}/genexus-next-logo.svg`\n);\nconst BG_IMAGE_TOP_START = getAssetPath(`${IMAGES_PATH}/top-start.svg`);\nconst BG_IMAGE_BOTTOM_START = getAssetPath(`${IMAGES_PATH}/bottom-start.svg`);\nconst BG_IMAGE_BOTTOM_END = getAssetPath(`${IMAGES_PATH}/bottom-end.svg`);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/elevation\",\n \"components/button\",\n \"components/icon\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-details-acknowledgements\",\n styleUrl: \"details-acknowledgements.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/details-acknowledgements\"]\n})\nexport class GxIdeDetailsAcknowledgements {\n /**\n * The component hard-coded strings translations.\n */\n _componentLocale: any;\n\n @Element() el: HTMLGxIdeDetailsAcknowledgementsElement;\n\n /**\n * Identifier of the currently expanded license. Should combine:\n * packageName + packageVersion + license.name. Example:\n * @sentry/core-6.7.1-mit\n */\n @State() expandedLicenseId?: string;\n\n /** The date when the current release was published */\n @Prop() readonly dateGenerated?: Date;\n\n /** The version of the current release*/\n @Prop() readonly release?: string;\n\n /** The list of packages that the current release contains*/\n @Prop() readonly packages: PackageData[];\n\n /**\n * Callback invoked when the user clicks a package with a packageURL.\n * If openPackageUrlCallback is defined, the default link action is\n * prevented and the URL is passed to the host via the callback.\n * Otherwise, the link opens in a new tab as usual.\n */\n @Prop() readonly openPackageUrlCallback: OpenPackageURLCallback;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #getFormatedDate = (date: Date) => {\n return date?.toISOString().split(\"T\")[0];\n };\n\n #renderLicensesInfo = (\n licenses: License[],\n type: \"name\" | \"description\" = \"name\",\n packageData?: PackageData\n ): JSX.Element => {\n return type === \"name\" ? (\n <ul class=\"licenses-names-list\">\n {licenses.map(license => {\n return (\n <li class=\"color-default body-regular-m licenses-names-item\">\n {license.name}\n </li>\n );\n })}\n </ul>\n ) : (\n <ul class=\"licenses-descriptions-list\">\n {licenses.map(license => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const showDescription = licenseId === this.expandedLicenseId;\n\n return (\n <li class=\"licenses-descriptions-item\" key={licenseId}>\n {showDescription ? (\n <p class=\"code-box color-neutral licenses-descriptions-description scrollable\">\n {license.description}\n </p>\n ) : null}\n </li>\n );\n })}\n </ul>\n );\n };\n\n #renderLicensesViewButtons = (\n licenses: License[],\n packageData?: PackageData\n ): JSX.Element => {\n return (\n <div class=\"licenses-buttons-container buttons-spacer\">\n {licenses.map(license => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const visibleLicenseButton = licenseId === this.expandedLicenseId;\n const icon = visibleLicenseButton ? COLLAPSE_ICON : EXPAND_ICON;\n\n const viewLicenseButtonLabel = `${license.name} ${this._componentLocale.packageCard.licenseLabel}`;\n\n return (\n <button\n class={{\n \"button-icon-and-text\": true,\n \"button-primary\": !visibleLicenseButton,\n \"button-secondary\": visibleLicenseButton,\n \"show-more-button\": true\n }}\n onClick={this.#viewLicenseClickedHandler(licenseId)}\n >\n <ch-image src={icon} class=\"package-icon icon-md\"></ch-image>\n {viewLicenseButtonLabel}\n </button>\n );\n })}\n </div>\n );\n };\n\n #getLicenseId = (packageData: PackageData, licenseName: string): string => {\n return `${packageData.packageName}-${packageData.packageVersion}-${licenseName}`;\n };\n\n #viewLicenseClickedHandler = (licenseId: string) => () => {\n if (licenseId === this.expandedLicenseId) {\n // collapse\n this.expandedLicenseId = undefined;\n } else {\n // expand collapse\n this.expandedLicenseId = licenseId;\n }\n };\n\n #openLinkClickedHandler = (url: string) => (e: MouseEvent) => {\n if (this.openPackageUrlCallback) {\n e.preventDefault();\n this.openPackageUrlCallback(url);\n }\n };\n\n render() {\n const formatedDate = this.#getFormatedDate(this.dateGenerated);\n return (\n <Host\n class=\"scrollable\"\n style={{\n backgroundImage: `url(${BG_IMAGE_TOP_START}), url(${BG_IMAGE_BOTTOM_START}), url(${BG_IMAGE_BOTTOM_END})`,\n backgroundPosition: \"left top, left bottom, right bottom\",\n backgroundRepeat: \"no-repeat, no-repeat, no-repeat\",\n backgroundSize: `${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}`\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"main-wrapper\">\n <img src={GENEXUS_NEXT_LOGO_SRC} class=\"logo\"></img>\n <div class=\"card card-details elevation-1\">\n <div class=\"intro-container\">\n <h1 class=\"title heading-3 color-default\">\n {this._componentLocale.detailsCard.title}\n </h1>\n <p class=\"color-default body-regular-m\">\n {this._componentLocale.detailsCard.mainDescription}\n </p>\n <p class=\"color-neutral body-italic-s\">\n {this._componentLocale.detailsCard.secondaryDescription}\n </p>\n </div>\n\n <hr />\n\n <div class=\"date-container\">\n <p class=\"color-neutral\">\n {this._componentLocale.detailsCard.dateGenerated}\n </p>\n <time class=\"color-default\" dateTime={formatedDate}>\n {formatedDate}\n </time>\n </div>\n </div>\n\n {this.packages?.map(packageItem => {\n let packageName = `${packageItem.packageName} ${packageItem.packageVersion}`;\n const headingContent = packageItem.packageURL ? (\n <a\n href={packageItem.packageURL}\n target=\"_blank\"\n onClick={this.#openLinkClickedHandler(packageItem.packageURL)}\n class=\"package-link\"\n >\n {packageName}\n <ch-image\n src={OPEN_WINDOW_ICON}\n class=\"package-icon icon-md\"\n ></ch-image>\n </a>\n ) : (\n packageName\n );\n\n return (\n <article class=\"card card-package elevation-1\">\n <h2\n class={{\n \"subtitle-semi-bold-s\": true,\n \"package-name\": true,\n \"has-link\": !!packageItem.packageURL\n }}\n >\n {headingContent}\n </h2>\n <p class=\"color-default subtitle-semi-bold-s\">\n {this._componentLocale.packageCard.declaredLicenses}\n </p>\n {this.#renderLicensesInfo(packageItem.declaredLicenses, \"name\")}\n\n {this.#renderLicensesInfo(\n packageItem.declaredLicenses,\n \"description\",\n packageItem\n )}\n\n {this.#renderLicensesViewButtons(\n packageItem.declaredLicenses,\n packageItem\n )}\n </article>\n );\n })}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"gx-ide-details-acknowledgements.js","mappings":"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","names":["GxIdeDetailsAcknowledgements"],"sources":["src/components/details-acknowledgements/details-acknowledgements.scss?tag=gx-ide-details-acknowledgements&encapsulation=shadow","src/components/details-acknowledgements/details-acknowledgements.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-auto-rows: max-content;\n justify-content: center;\n padding: 95px var(--mer-spacing--lg) 95px var(--mer-spacing--lg);\n overflow: auto;\n}\n\n%resetList {\n // TODO: Use mixin from common\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.main-wrapper {\n max-inline-size: 1000px;\n display: grid;\n gap: var(--mer-spacing--xl);\n}\n\n.logo {\n inline-size: 200px;\n margin: 0 auto;\n margin-block-end: var(--mer-spacing--2xl);\n opacity: 0;\n transform: translateY(var(--mer-spacing--2xs));\n animation: showLogo var(--mer-timing--regular) ease-out forwards;\n animation-delay: var(--mer-timing--regular);\n}\n@keyframes showLogo {\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n// general\n\n.card {\n display: grid;\n border-radius: var(--mer-border__radius--sm);\n border-width: var(--mer-border__width--sm);\n border-color: var(--elevation-border-color);\n border-style: solid;\n padding: var(--mer-spacing--lg);\n gap: var(--mer-spacing--md);\n opacity: 0;\n animation: showCard var(--mer-timing--fast) ease-out forwards;\n animation-delay: calc(var(--mer-timing--regular) * 2);\n}\n@keyframes showCard {\n 100% {\n opacity: 1;\n }\n}\n\n// details card\n\nh1.title {\n font-weight: 600;\n}\n\n.intro-container {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.date-container {\n display: grid;\n gap: var(--mer-spacing--sm);\n}\n\n// package card\n\n.card-package {\n opacity: 0;\n transition: opacity var(--mer-timing--fast);\n}\n\n.package-name {\n --package-name-color: var(--mer-text__primary);\n color: var(--package-name-color);\n\n a {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n &.has-link {\n // TODO: This should be a class in Mercury\n &:hover {\n --package-name-color: var(--mer-text__primary--hover);\n }\n &:active {\n --package-name-color: var(--mer-text__primary--active);\n }\n }\n}\n.package-link {\n display: inline-block;\n}\n\n.licenses-names-list {\n @extend %resetList;\n display: flex;\n align-items: center;\n}\n.licenses-names-item:not(:first-child)::before {\n content: \"•\";\n padding-inline: 8px;\n}\n\n.licenses-descriptions-list {\n @extend %resetList;\n}\n.licenses-descriptions-description {\n white-space: break-spaces;\n max-block-size: 940px;\n overflow: auto;\n line-height: 1.5;\n}\n.licenses-descriptions-item {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.code-box {\n border-radius: var(--mer-border__radius--sm);\n background-color: var(--mer-surface);\n border: 1px solid var(--mer-border-color__on-elevation--01);\n padding: var(--mer-spacing--md);\n font-family: var(--font-family-code);\n font-size: var(--font-size-body-s);\n display: grid;\n gap: var(--mer-spacing--lg);\n}\n\n.description-list {\n display: grid;\n gap: var(--mer-spacing--xs);\n max-inline-size: 400px;\n margin: 0 auto;\n}\n\n.show-more-button {\n justify-self: start;\n}\n\n// utilities\n// WA/TODO: This should be defined on Mercury\n.color-default {\n color: var(--mer-text__highlighted);\n}\n.color-neutral {\n color: var(--mer-color__neutral-gray--400);\n}\n.color-primary {\n color: var(--mer-text__primary);\n}\n\np {\n // TODO: Update line-height values on Mercury\n --line-height-tight: 1.5;\n --font-weight-regular: 300;\n}\n\nhr {\n // WA/TODO: A style for hr should be defined on Mercury\n border-block-start: 0;\n border-color: var(--mer-border-color__on-elevation--01);\n inline-size: 100%;\n margin: 0;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nimport type { PackageData, License, OpenPackageURLCallback } from \"./types\";\n\nconst OPEN_WINDOW_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"open-window\",\n colorType: \"primary\"\n});\n\nconst IMAGES_PATH = \"./gx-ide-assets/details-acknowledgements/images\";\nconst BACKGROUND_SIZE = \"300px\";\n\nconst GENEXUS_NEXT_LOGO_SRC = getAssetPath(\n `${IMAGES_PATH}/genexus-next-logo.svg`\n);\nconst BG_IMAGE_TOP_START = getAssetPath(`${IMAGES_PATH}/top-start.svg`);\nconst BG_IMAGE_BOTTOM_START = getAssetPath(`${IMAGES_PATH}/bottom-start.svg`);\nconst BG_IMAGE_BOTTOM_END = getAssetPath(`${IMAGES_PATH}/bottom-end.svg`);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/elevation\",\n \"components/button\",\n \"components/icon\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-details-acknowledgements\",\n styleUrl: \"details-acknowledgements.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/details-acknowledgements\"]\n})\nexport class GxIdeDetailsAcknowledgements {\n /**\n * The component hard-coded strings translations.\n */\n _componentLocale: any;\n\n @Element() el: HTMLGxIdeDetailsAcknowledgementsElement;\n\n /**\n * Identifier of the currently expanded license. Should combine:\n * packageName + packageVersion + license.name. Example:\n * @sentry/core-6.7.1-mit\n */\n @State() expandedLicenseId?: string;\n\n /** The date when the current release was published */\n @Prop() readonly dateGenerated?: Date;\n\n /** The version of the current release*/\n @Prop() readonly release?: string;\n\n /** The list of packages that the current release contains*/\n @Prop() readonly packages: PackageData[];\n\n /**\n * Callback invoked when the user clicks a package with a packageURL.\n * If openPackageUrlCallback is defined, the default link action is\n * prevented and the URL is passed to the host via the callback.\n * Otherwise, the link opens in a new tab as usual.\n */\n @Prop() readonly openPackageUrlCallback: OpenPackageURLCallback;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #getFormatedDate = (date: Date) => {\n return date?.toISOString().split(\"T\")[0];\n };\n\n #renderLicenseInfo = (\n license: License,\n type: \"name\" | \"description\" = \"name\",\n packageData: PackageData\n ): JSX.Element => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const showDescription = licenseId === this.expandedLicenseId;\n return type === \"name\" ? (\n <ul class=\"licenses-names-list\">\n <li class=\"color-default body-regular-m licenses-names-item\">\n {license.name}\n </li>\n </ul>\n ) : (\n <ul class=\"licenses-descriptions-list\">\n <li class=\"licenses-descriptions-item\" key={license.name}>\n {showDescription ? (\n <p class=\"code-box color-neutral licenses-descriptions-description scrollable\">\n {license.description}\n </p>\n ) : null}\n </li>\n </ul>\n );\n };\n\n #renderLicensesViewButtons = (\n license: License,\n packageData?: PackageData\n ): JSX.Element => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const visibleLicenseButton = licenseId === this.expandedLicenseId;\n const viewLicenseButtonLabel = visibleLicenseButton\n ? this._componentLocale.detailsCard.hide\n : this._componentLocale.detailsCard.show;\n return (\n <div class=\"licenses-buttons-container buttons-spacer\">\n {\n <button\n class={{\n \"button-icon-and-text\": true,\n \"button-primary\": !visibleLicenseButton,\n \"button-secondary\": visibleLicenseButton,\n \"show-more-button\": true\n }}\n onClick={this.#viewLicenseClickedHandler(licenseId)}\n >\n {viewLicenseButtonLabel}\n </button>\n }\n </div>\n );\n };\n\n #getLicenseId = (packageData: PackageData, licenseName: string): string => {\n return `${packageData.packageName}-${packageData.packageVersion}-${licenseName}`;\n };\n\n #viewLicenseClickedHandler = (licenseId: string) => () => {\n if (licenseId === this.expandedLicenseId) {\n // collapse\n this.expandedLicenseId = undefined;\n } else {\n // expand collapse\n this.expandedLicenseId = licenseId;\n }\n };\n\n #openLinkClickedHandler = (url: string) => (e: MouseEvent) => {\n if (this.openPackageUrlCallback) {\n e.preventDefault();\n this.openPackageUrlCallback(url);\n }\n };\n\n render() {\n const formatedDate = this.#getFormatedDate(this.dateGenerated);\n return (\n <Host\n class=\"scrollable\"\n style={{\n backgroundImage: `url(${BG_IMAGE_TOP_START}), url(${BG_IMAGE_BOTTOM_START}), url(${BG_IMAGE_BOTTOM_END})`,\n backgroundPosition: \"left top, left bottom, right bottom\",\n backgroundRepeat: \"no-repeat, no-repeat, no-repeat\",\n backgroundSize: `${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}`\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"main-wrapper\">\n <img src={GENEXUS_NEXT_LOGO_SRC} class=\"logo\"></img>\n <div class=\"card card-details elevation-1\">\n <div class=\"intro-container\">\n <h1 class=\"title heading-3 color-default\">\n {this._componentLocale.detailsCard.title}\n </h1>\n <p class=\"color-default body-regular-m\">\n {this._componentLocale.detailsCard.mainDescription}\n </p>\n <p class=\"color-neutral body-italic-s\">\n {this._componentLocale.detailsCard.secondaryDescription}\n </p>\n </div>\n\n <hr />\n\n <div class=\"date-container\">\n <p class=\"color-neutral\">\n {this._componentLocale.detailsCard.dateGenerated}\n </p>\n <time class=\"color-default\" dateTime={formatedDate}>\n {formatedDate}\n </time>\n </div>\n </div>\n\n {this.packages?.map(packageItem => {\n let packageName = `${packageItem.packageName} ${packageItem.packageVersion}`;\n const headingContent = packageItem.packageURL ? (\n <a\n href={packageItem.packageURL}\n target=\"_blank\"\n onClick={this.#openLinkClickedHandler(packageItem.packageURL)}\n class=\"package-link\"\n >\n {packageName}\n <ch-image\n src={OPEN_WINDOW_ICON}\n class=\"package-icon icon-md\"\n ></ch-image>\n </a>\n ) : (\n packageName\n );\n\n return (\n <article class=\"card card-package elevation-1\">\n <h2\n class={{\n \"subtitle-semi-bold-s\": true,\n \"package-name\": true,\n \"has-link\": !!packageItem.packageURL\n }}\n >\n {headingContent}\n </h2>\n <p class=\"color-default subtitle-semi-bold-s\">\n {this._componentLocale.packageCard.declaredLicenses}\n </p>\n {this.#renderLicenseInfo(\n packageItem.declaredLicense,\n \"name\",\n packageItem\n )}\n\n {this.#renderLicenseInfo(\n packageItem.declaredLicense,\n \"description\",\n packageItem\n )}\n\n {this.#renderLicensesViewButtons(\n packageItem.declaredLicense,\n packageItem\n )}\n </article>\n );\n })}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -6,6 +6,7 @@ import { d as defineCustomElement$4 } from './list-selector.js';
|
|
|
6
6
|
import { d as defineCustomElement$3 } from './list-selector-item.js';
|
|
7
7
|
import { d as defineCustomElement$2 } from './gx-ide-status-buttons2.js';
|
|
8
8
|
|
|
9
|
+
const MAX_CATEGORY_ITEMS_FIRST_RENDER = 30;
|
|
9
10
|
/* objects in file metadata*/
|
|
10
11
|
const KB_OBJECT = "object";
|
|
11
12
|
const KB_CATEGORY = "category";
|
|
@@ -36,11 +37,13 @@ const convertImportCategoryDataToTreeView = (importCategoryData) => {
|
|
|
36
37
|
const importCategoryTreeItem = {
|
|
37
38
|
id: importCategory.id,
|
|
38
39
|
caption: `${importCategory.name} (${importCategory.items.length})`,
|
|
39
|
-
expanded:
|
|
40
|
+
expanded: importCategory.items.length <= MAX_CATEGORY_ITEMS_FIRST_RENDER,
|
|
41
|
+
lazy: importCategory.items.length > MAX_CATEGORY_ITEMS_FIRST_RENDER,
|
|
40
42
|
leaf: false,
|
|
41
43
|
startImgSrc: importCategory.icon,
|
|
42
44
|
metadata: KB_CATEGORY,
|
|
43
|
-
items:
|
|
45
|
+
items: importCategory.items.length <= MAX_CATEGORY_ITEMS_FIRST_RENDER ?
|
|
46
|
+
convertImportCategoryItemToTreeItem(importCategory.icon, importCategory.items) : []
|
|
44
47
|
};
|
|
45
48
|
treeData.push(importCategoryTreeItem);
|
|
46
49
|
});
|
|
@@ -111,7 +114,7 @@ const addImportItemResultDataItem = (importItemResultData, categoryItemMap, obje
|
|
|
111
114
|
return updatedImportTreeModel;
|
|
112
115
|
};
|
|
113
116
|
|
|
114
|
-
const kbManagerImportCss = ":host{display:grid;block-size:100%;grid-template:\"header header\" max-content \"objects-in-file import-status\" 1fr \"footer footer\" max-content;grid-template-columns:1fr 1fr}.section{display:contents}.header{grid-template-columns:1fr max-content;grid-area:header}.objects-in-file__section{grid-area:objects-in-file}.objects-in-file__main{border-inline-end:var(--section-common-border);grid-template-rows:1fr max-content}.objects-in-file__footer{display:grid}.import-status__section{grid-area:import-status}.import-status__main{grid-template-rows:1fr max-content}.import-status__footer{display:flex}.import-clear-status-btn{margin-inline-start:auto}.objects-in-file__section,.import-status__section{display:grid;grid-template-rows:max-content 1fr}.control-header__objects-in-file,.control-header__import-status{padding-block-start:var(--mer-spacing--md)}.objects-in-file__main,.import-status__main{grid-auto-rows:max-content;padding-block:var(--content-block-spacing);overflow:auto}.footer{display:flex;grid-area:footer;border-block-start:var(--section-common-border)}.text-align-center{text-align:center}.tree-view::part(item__action tree-view-item--status){grid-template:\"first-img left-img text right-img\"/max-content max-content 1fr max-content}.tree-view::part(item__action tree-view-item--status)::before{grid-area:first-img;content:\"\";width:var(--mer-spacing--xs);height:var(--mer-spacing--xs);border-radius:50%;background-color:var(--gray-03);margin-inline-end:var(--mer-spacing--xxs)}.tree-view::part(item__action tree-view-item--success):before{background-image:none;background-color:var(--color-success-dark)}.tree-view::part(item__action tree-view-item--warning):before{background-image:none;background-color:var(--color-warning-dark)}.tree-view::part(item__action tree-view-item--error):before{background-image:none;background-color:var(--color-error-dark)}";
|
|
117
|
+
const kbManagerImportCss = ":host{display:grid;block-size:100%;grid-template:\"header header\" max-content \"objects-in-file import-status\" 1fr \"footer footer\" max-content;grid-template-columns:1fr 1fr}.section{display:contents}.header{grid-template-columns:1fr max-content;grid-area:header}.objects-in-file__section{grid-area:objects-in-file}.objects-in-file__main{border-inline-end:var(--section-common-border);grid-template-rows:1fr max-content}.objects-in-file__footer{display:grid}.import-status__section{grid-area:import-status}.import-status__main{grid-template-rows:1fr max-content}.import-status__footer{display:flex}.import-clear-status-btn{margin-inline-start:auto}.objects-in-file__section,.import-status__section{display:grid;grid-template-rows:max-content 1fr}.control-header__objects-in-file,.control-header__import-status{padding-block-start:var(--mer-spacing--md)}.objects-in-file__main,.import-status__main{grid-auto-rows:max-content;padding-block:var(--content-block-spacing);overflow:auto}.footer{display:flex;grid-area:footer;border-block-start:var(--section-common-border)}.text-align-center{text-align:center}.tree-view::part(item__action tree-view-item--status){grid-template:\"first-img left-img text right-img\"/max-content max-content 1fr max-content}.tree-view::part(item__action tree-view-item--status)::before{grid-area:first-img;content:\"\";width:var(--mer-spacing--xs);height:var(--mer-spacing--xs);border-radius:50%;background-color:var(--gray-03);margin-inline-end:var(--mer-spacing--xxs)}.tree-view::part(item__action tree-view-item--success):before{background-image:none;background-color:var(--color-success-dark)}.tree-view::part(item__action tree-view-item--warning):before{background-image:none;background-color:var(--color-warning-dark)}.tree-view::part(item__action tree-view-item--error):before{background-image:none;background-color:var(--color-error-dark)}.tree-view-import::part(item){content-visibility:auto;contain-intrinsic-size:auto 22px}";
|
|
115
118
|
|
|
116
119
|
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
117
120
|
if (kind === "a" && !f)
|
|
@@ -129,7 +132,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
|
|
|
129
132
|
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
130
133
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
131
134
|
};
|
|
132
|
-
var _GxIdeKbManagerImport_componentLocale, _GxIdeKbManagerImport_selectedObjectsInFileIds, _GxIdeKbManagerImport_fileInputEl, _GxIdeKbManagerImport_fileInputHiddenEl, _GxIdeKbManagerImport_objectsTreeEl, _GxIdeKbManagerImport_successItemsIds, _GxIdeKbManagerImport_warningItemsIds, _GxIdeKbManagerImport_errorItemsIds, _GxIdeKbManagerImport_categoryItemMap, _GxIdeKbManagerImport_objectCategoryItemMap, _GxIdeKbManagerImport_cancelImportHandler, _GxIdeKbManagerImport_clearStatusHandler, _GxIdeKbManagerImport_evaluateImport, _GxIdeKbManagerImport_evaluateImportStatusMessage, _GxIdeKbManagerImport_importObjectsHandler, _GxIdeKbManagerImport_loadFileHandler, _GxIdeKbManagerImport_objectsTreeCheckedItemsChangedHandler, _GxIdeKbManagerImport_objectsTreeContextMenuHandler, _GxIdeKbManagerImport_objectsTreeSelectedItemsChangedHandler, _GxIdeKbManagerImport_optionsHandler, _GxIdeKbManagerImport_removeFileSelection, _GxIdeKbManagerImport_selectFileInputHandler, _GxIdeKbManagerImport_selectFileInputChangedHandler, _GxIdeKbManagerImport_statusButtonsSelectionChangedHandler, _GxIdeKbManagerImport_toggleSelectionClickHandler, _GxIdeKbManagerImport_updateStatusItemsState;
|
|
135
|
+
var _GxIdeKbManagerImport_componentLocale, _GxIdeKbManagerImport_selectedObjectsInFileIds, _GxIdeKbManagerImport_fileInputEl, _GxIdeKbManagerImport_fileInputHiddenEl, _GxIdeKbManagerImport_objectsTreeEl, _GxIdeKbManagerImport_successItemsIds, _GxIdeKbManagerImport_warningItemsIds, _GxIdeKbManagerImport_errorItemsIds, _GxIdeKbManagerImport_categoryItemMap, _GxIdeKbManagerImport_objectCategoryItemMap, _GxIdeKbManagerImport_importedCategoryData, _GxIdeKbManagerImport_cancelImportHandler, _GxIdeKbManagerImport_clearStatusHandler, _GxIdeKbManagerImport_evaluateImport, _GxIdeKbManagerImport_evaluateImportStatusMessage, _GxIdeKbManagerImport_importObjectsHandler, _GxIdeKbManagerImport_loadFileHandler, _GxIdeKbManagerImport_lazyLoadTreeItems, _GxIdeKbManagerImport_objectsTreeCheckedItemsChangedHandler, _GxIdeKbManagerImport_objectsTreeContextMenuHandler, _GxIdeKbManagerImport_objectsTreeSelectedItemsChangedHandler, _GxIdeKbManagerImport_optionsHandler, _GxIdeKbManagerImport_removeFileSelection, _GxIdeKbManagerImport_selectFileInputHandler, _GxIdeKbManagerImport_selectFileInputChangedHandler, _GxIdeKbManagerImport_statusButtonsSelectionChangedHandler, _GxIdeKbManagerImport_toggleSelectionClickHandler, _GxIdeKbManagerImport_updateStatusItemsState;
|
|
133
136
|
const CSS_BUNDLES = [
|
|
134
137
|
"resets/box-sizing",
|
|
135
138
|
"components/button",
|
|
@@ -187,6 +190,7 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeKbMan
|
|
|
187
190
|
// required for the "import status" tree.
|
|
188
191
|
_GxIdeKbManagerImport_categoryItemMap.set(this, new Map());
|
|
189
192
|
_GxIdeKbManagerImport_objectCategoryItemMap.set(this, new Map());
|
|
193
|
+
_GxIdeKbManagerImport_importedCategoryData.set(this, void 0);
|
|
190
194
|
_GxIdeKbManagerImport_cancelImportHandler.set(this, () => {
|
|
191
195
|
this.cancelCallback();
|
|
192
196
|
});
|
|
@@ -207,19 +211,47 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeKbMan
|
|
|
207
211
|
this.statusInfo.success.display;
|
|
208
212
|
});
|
|
209
213
|
_GxIdeKbManagerImport_importObjectsHandler.set(this, async () => {
|
|
214
|
+
var _a;
|
|
210
215
|
/* first clear imported objects (this clears errors/warnings/success counts as well)*/
|
|
211
216
|
__classPrivateFieldGet(this, _GxIdeKbManagerImport_clearStatusHandler, "f").call(this);
|
|
212
217
|
/* then do the import*/
|
|
213
218
|
this.importingIsInProcess = true;
|
|
214
|
-
|
|
219
|
+
/*
|
|
220
|
+
Process checked objects manually, considering lazy loading.
|
|
221
|
+
Example:
|
|
222
|
+
1. The "Attributes" category is lazy-loaded and marked as checked.
|
|
223
|
+
2. The user runs the import without expanding the node.
|
|
224
|
+
3. No attribute objects appear as checked, since lazy load was not triggered.
|
|
225
|
+
4. Still, all attribute objects must be included, because the category itself is checked.
|
|
226
|
+
|
|
227
|
+
This avoids forcing users to expand nodes just to select objects.
|
|
228
|
+
Large categories are not expanded by default to improve performance, which is crucial
|
|
229
|
+
for very large imports (1000+ objects).
|
|
230
|
+
*/
|
|
231
|
+
const checkedObjectsIds = [];
|
|
232
|
+
for (let category of __classPrivateFieldGet(this, _GxIdeKbManagerImport_objectsTreeEl, "f").model) {
|
|
233
|
+
if (((_a = category.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
234
|
+
for (let obj of category.items) {
|
|
235
|
+
if (obj.checked)
|
|
236
|
+
checkedObjectsIds.push(obj.id);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
else if (category.lazy && category.checked) {
|
|
240
|
+
const categoryData = __classPrivateFieldGet(this, _GxIdeKbManagerImport_importedCategoryData, "f").find(cat => cat.id == category.id);
|
|
241
|
+
for (let obj of categoryData.items) {
|
|
242
|
+
checkedObjectsIds.push(obj.id);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
this.importCallback(checkedObjectsIds).then(() => {
|
|
215
247
|
this.importingIsInProcess = false;
|
|
216
248
|
});
|
|
217
249
|
});
|
|
218
250
|
_GxIdeKbManagerImport_loadFileHandler.set(this, async (file) => {
|
|
219
|
-
|
|
251
|
+
__classPrivateFieldSet(this, _GxIdeKbManagerImport_importedCategoryData, await this.loadCallback(file), "f");
|
|
220
252
|
__classPrivateFieldGet(this, _GxIdeKbManagerImport_categoryItemMap, "f").clear();
|
|
221
253
|
__classPrivateFieldGet(this, _GxIdeKbManagerImport_objectCategoryItemMap, "f").clear();
|
|
222
|
-
|
|
254
|
+
__classPrivateFieldGet(this, _GxIdeKbManagerImport_importedCategoryData, "f").forEach(category => {
|
|
223
255
|
__classPrivateFieldGet(this, _GxIdeKbManagerImport_categoryItemMap, "f").set(category.id, {
|
|
224
256
|
name: category.name,
|
|
225
257
|
icon: category.icon
|
|
@@ -228,22 +260,33 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeKbMan
|
|
|
228
260
|
__classPrivateFieldGet(this, _GxIdeKbManagerImport_objectCategoryItemMap, "f").set(object.id, category.id);
|
|
229
261
|
});
|
|
230
262
|
});
|
|
231
|
-
const importCategoryTreeData = convertImportCategoryDataToTreeView(
|
|
263
|
+
const importCategoryTreeData = convertImportCategoryDataToTreeView(__classPrivateFieldGet(this, _GxIdeKbManagerImport_importedCategoryData, "f"));
|
|
232
264
|
this.objectsTreeModel = importCategoryTreeData;
|
|
233
265
|
});
|
|
266
|
+
_GxIdeKbManagerImport_lazyLoadTreeItems.set(this, async (treeItemId) => {
|
|
267
|
+
const category = __classPrivateFieldGet(this, _GxIdeKbManagerImport_importedCategoryData, "f").find(cat => cat.id === treeItemId);
|
|
268
|
+
return category && category.items.length > 0 ?
|
|
269
|
+
convertImportCategoryItemToTreeItem(category.icon, category.items) :
|
|
270
|
+
[];
|
|
271
|
+
});
|
|
234
272
|
_GxIdeKbManagerImport_objectsTreeCheckedItemsChangedHandler.set(this, (event) => {
|
|
235
273
|
const allItems = event.detail;
|
|
236
274
|
const checkedItemIds = [];
|
|
237
|
-
const
|
|
275
|
+
const pendingCheckedItemIds = [];
|
|
238
276
|
allItems.forEach(item => {
|
|
239
277
|
if (item.item.checked) {
|
|
240
278
|
checkedItemIds.push(item.item.id);
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
checkedObjectsIds.push(item.item.id);
|
|
279
|
+
if (item.item.lazy && !item.item.items)
|
|
280
|
+
pendingCheckedItemIds.push(item.item.id);
|
|
244
281
|
}
|
|
245
282
|
});
|
|
246
|
-
|
|
283
|
+
for (let pendingCheckedItemId of pendingCheckedItemIds) {
|
|
284
|
+
const category = __classPrivateFieldGet(this, _GxIdeKbManagerImport_importedCategoryData, "f").find(cat => cat.id === pendingCheckedItemId);
|
|
285
|
+
if (category) {
|
|
286
|
+
for (let item of category.items) {
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
247
290
|
// Evaluate "Select All / Unselect All" checkbox state
|
|
248
291
|
if (allItems.size === checkedItemIds.length) {
|
|
249
292
|
this.selectAllCheckboxValue = CHECKBOX_ALL_CHECKED_VALUE;
|
|
@@ -352,7 +395,6 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeKbMan
|
|
|
352
395
|
});
|
|
353
396
|
});
|
|
354
397
|
});
|
|
355
|
-
this.checkedObjectsIds = [];
|
|
356
398
|
this.selectAllCheckboxValue = undefined;
|
|
357
399
|
this.selectAllCheckboxIndeterminate = false;
|
|
358
400
|
this.importStatusMessage = undefined;
|
|
@@ -446,7 +488,7 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeKbMan
|
|
|
446
488
|
class: "objects-in-file__section"
|
|
447
489
|
}, h("h2", { class: "control-header control-header-with-border control-header__objects-in-file subtitle-regular-xs\t text-align-center spacing-body-inline" }, __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").main.objectsInFile.title), h("div", { class: "field-group objects-in-file__main" }, !this.noObjects ? (h("ch-tree-view-render", {
|
|
448
490
|
// objects in file tree
|
|
449
|
-
showLines: "last", class: "tree-view", model: this.objectsTreeModel, dragDisabled: true, dropDisabled: true, toggleCheckboxes: true, checkbox: true, checked: true, onCheckedItemsChange: __classPrivateFieldGet(this, _GxIdeKbManagerImport_objectsTreeCheckedItemsChangedHandler, "f"), onSelectedItemsChange: __classPrivateFieldGet(this, _GxIdeKbManagerImport_objectsTreeSelectedItemsChangedHandler, "f"), onItemContextmenu: __classPrivateFieldGet(this, _GxIdeKbManagerImport_objectsTreeContextMenuHandler, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeKbManagerImport_objectsTreeEl, el, "f"))
|
|
491
|
+
showLines: "last", class: "tree-view tree-view-import", model: this.objectsTreeModel, dragDisabled: true, dropDisabled: true, toggleCheckboxes: true, checkbox: true, checked: true, lazyLoadTreeItemsCallback: __classPrivateFieldGet(this, _GxIdeKbManagerImport_lazyLoadTreeItems, "f"), onCheckedItemsChange: __classPrivateFieldGet(this, _GxIdeKbManagerImport_objectsTreeCheckedItemsChangedHandler, "f"), onSelectedItemsChange: __classPrivateFieldGet(this, _GxIdeKbManagerImport_objectsTreeSelectedItemsChangedHandler, "f"), onItemContextmenu: __classPrivateFieldGet(this, _GxIdeKbManagerImport_objectsTreeContextMenuHandler, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeKbManagerImport_objectsTreeEl, el, "f"))
|
|
450
492
|
})) : (h("gx-ide-empty-state", { isAnimated: false, stateTitle: __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").main.objectsInFile.noObjects, key: "no-objects-empty-state" }, h("button", {
|
|
451
493
|
// begin by selecting a file
|
|
452
494
|
class: "button-secondary", onClick: __classPrivateFieldGet(this, _GxIdeKbManagerImport_selectFileInputHandler, "f")
|
|
@@ -469,7 +511,7 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeKbMan
|
|
|
469
511
|
class: "import-status__section"
|
|
470
512
|
}, h("h2", { class: "control-header control-header-with-border control-header__import-status subtitle-regular-xs\t text-align-center spacing-body-inline" }, __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").main.importStatus.title), h("div", { class: "field-group import-status__main" }, !this.noImport && this.someStatusVisible ? (h("ch-tree-view-render", {
|
|
471
513
|
// import status tree
|
|
472
|
-
model: this.importTreeState, toggleCheckboxes: true, showLines: "last", class: "tree-view", filter: this.importedTreeFilterRegExp, filterType: "metadata", filterOptions: {
|
|
514
|
+
model: this.importTreeState, toggleCheckboxes: true, showLines: "last", class: "tree-view tree-view-import", filter: this.importedTreeFilterRegExp, filterType: "metadata", filterOptions: {
|
|
473
515
|
autoExpand: true,
|
|
474
516
|
hideMatchesAndShowNonMatches: false
|
|
475
517
|
}
|
|
@@ -497,7 +539,6 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeKbMan
|
|
|
497
539
|
"optionsCallback": [16],
|
|
498
540
|
"selectedFile": [1040],
|
|
499
541
|
"statusMinimal": [4, "status-minimal"],
|
|
500
|
-
"checkedObjectsIds": [32],
|
|
501
542
|
"selectAllCheckboxValue": [32],
|
|
502
543
|
"selectAllCheckboxIndeterminate": [32],
|
|
503
544
|
"importStatusMessage": [32],
|
|
@@ -517,7 +558,7 @@ const GxIdeKbManagerImport$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeKbMan
|
|
|
517
558
|
"objectsTreeModel": ["watchObjectsTreeModelHandler"],
|
|
518
559
|
"selectedFile": ["selectedFileChanged"]
|
|
519
560
|
}]);
|
|
520
|
-
_GxIdeKbManagerImport_componentLocale = new WeakMap(), _GxIdeKbManagerImport_selectedObjectsInFileIds = new WeakMap(), _GxIdeKbManagerImport_fileInputEl = new WeakMap(), _GxIdeKbManagerImport_fileInputHiddenEl = new WeakMap(), _GxIdeKbManagerImport_objectsTreeEl = new WeakMap(), _GxIdeKbManagerImport_successItemsIds = new WeakMap(), _GxIdeKbManagerImport_warningItemsIds = new WeakMap(), _GxIdeKbManagerImport_errorItemsIds = new WeakMap(), _GxIdeKbManagerImport_categoryItemMap = new WeakMap(), _GxIdeKbManagerImport_objectCategoryItemMap = new WeakMap(), _GxIdeKbManagerImport_cancelImportHandler = new WeakMap(), _GxIdeKbManagerImport_clearStatusHandler = new WeakMap(), _GxIdeKbManagerImport_evaluateImport = new WeakMap(), _GxIdeKbManagerImport_evaluateImportStatusMessage = new WeakMap(), _GxIdeKbManagerImport_importObjectsHandler = new WeakMap(), _GxIdeKbManagerImport_loadFileHandler = new WeakMap(), _GxIdeKbManagerImport_objectsTreeCheckedItemsChangedHandler = new WeakMap(), _GxIdeKbManagerImport_objectsTreeContextMenuHandler = new WeakMap(), _GxIdeKbManagerImport_objectsTreeSelectedItemsChangedHandler = new WeakMap(), _GxIdeKbManagerImport_optionsHandler = new WeakMap(), _GxIdeKbManagerImport_removeFileSelection = new WeakMap(), _GxIdeKbManagerImport_selectFileInputHandler = new WeakMap(), _GxIdeKbManagerImport_selectFileInputChangedHandler = new WeakMap(), _GxIdeKbManagerImport_statusButtonsSelectionChangedHandler = new WeakMap(), _GxIdeKbManagerImport_toggleSelectionClickHandler = new WeakMap(), _GxIdeKbManagerImport_updateStatusItemsState = new WeakMap();
|
|
561
|
+
_GxIdeKbManagerImport_componentLocale = new WeakMap(), _GxIdeKbManagerImport_selectedObjectsInFileIds = new WeakMap(), _GxIdeKbManagerImport_fileInputEl = new WeakMap(), _GxIdeKbManagerImport_fileInputHiddenEl = new WeakMap(), _GxIdeKbManagerImport_objectsTreeEl = new WeakMap(), _GxIdeKbManagerImport_successItemsIds = new WeakMap(), _GxIdeKbManagerImport_warningItemsIds = new WeakMap(), _GxIdeKbManagerImport_errorItemsIds = new WeakMap(), _GxIdeKbManagerImport_categoryItemMap = new WeakMap(), _GxIdeKbManagerImport_objectCategoryItemMap = new WeakMap(), _GxIdeKbManagerImport_importedCategoryData = new WeakMap(), _GxIdeKbManagerImport_cancelImportHandler = new WeakMap(), _GxIdeKbManagerImport_clearStatusHandler = new WeakMap(), _GxIdeKbManagerImport_evaluateImport = new WeakMap(), _GxIdeKbManagerImport_evaluateImportStatusMessage = new WeakMap(), _GxIdeKbManagerImport_importObjectsHandler = new WeakMap(), _GxIdeKbManagerImport_loadFileHandler = new WeakMap(), _GxIdeKbManagerImport_lazyLoadTreeItems = new WeakMap(), _GxIdeKbManagerImport_objectsTreeCheckedItemsChangedHandler = new WeakMap(), _GxIdeKbManagerImport_objectsTreeContextMenuHandler = new WeakMap(), _GxIdeKbManagerImport_objectsTreeSelectedItemsChangedHandler = new WeakMap(), _GxIdeKbManagerImport_optionsHandler = new WeakMap(), _GxIdeKbManagerImport_removeFileSelection = new WeakMap(), _GxIdeKbManagerImport_selectFileInputHandler = new WeakMap(), _GxIdeKbManagerImport_selectFileInputChangedHandler = new WeakMap(), _GxIdeKbManagerImport_statusButtonsSelectionChangedHandler = new WeakMap(), _GxIdeKbManagerImport_toggleSelectionClickHandler = new WeakMap(), _GxIdeKbManagerImport_updateStatusItemsState = new WeakMap();
|
|
521
562
|
function defineCustomElement$1() {
|
|
522
563
|
if (typeof customElements === "undefined") {
|
|
523
564
|
return;
|