@genexus/genexus-ide-ui 1.1.71 → 1.1.73
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 +15 -3
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-restore-version.cjs.entry.js +15 -3
- package/dist/cjs/gx-ide-restore-version.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +28 -17
- package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +15 -3
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +18 -51
- package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/restore-version/restore-version.js +40 -3
- package/dist/collection/components/restore-version/restore-version.js.map +1 -1
- package/dist/collection/components/select-kb-items/select-kb-items.js +75 -28
- package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
- package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +40 -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/history/history.js +50 -69
- package/dist/collection/components/team-dev/history/history.js.map +1 -1
- package/dist/collection/components/team-dev/share-kb/share-kb.js +40 -3
- package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
- package/dist/components/gx-ide-create-kb-from-server.js +17 -4
- package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
- package/dist/components/gx-ide-restore-version.js +17 -4
- package/dist/components/gx-ide-restore-version.js.map +1 -1
- package/dist/components/gx-ide-share-kb.js +17 -4
- package/dist/components/gx-ide-share-kb.js.map +1 -1
- package/dist/components/gx-ide-team-dev-history.js +21 -58
- package/dist/components/gx-ide-team-dev-history.js.map +1 -1
- package/dist/components/select-kb-items.js +32 -20
- package/dist/components/select-kb-items.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +15 -3
- package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
- package/dist/esm/gx-ide-restore-version.entry.js +15 -3
- package/dist/esm/gx-ide-restore-version.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-kb-items.entry.js +28 -17
- package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +15 -3
- package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-team-dev-history.entry.js +18 -51
- package/dist/esm/gx-ide-team-dev-history.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/{p-8897c6de.entry.js → p-2d6228e8.entry.js} +201 -194
- package/dist/genexus-ide-ui/p-2d6228e8.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8dedbcd9.entry.js → p-519fed7a.entry.js} +67 -56
- package/dist/genexus-ide-ui/p-519fed7a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ac79f7e8.entry.js → p-65b69fe0.entry.js} +79 -69
- package/dist/genexus-ide-ui/p-65b69fe0.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-941f470f.entry.js → p-679f037e.entry.js} +44 -34
- package/dist/genexus-ide-ui/p-679f037e.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-3ca03a38.entry.js → p-74f8bd45.entry.js} +60 -90
- package/dist/genexus-ide-ui/p-74f8bd45.entry.js.map +1 -0
- package/dist/types/components/restore-version/restore-version.d.ts +4 -0
- package/dist/types/components/select-kb-items/select-kb-items.d.ts +12 -3
- package/dist/types/components/team-dev/create-kb-from-server/create-kb-from-server.d.ts +4 -0
- package/dist/types/components/team-dev/history/history.d.ts +3 -12
- package/dist/types/components/team-dev/share-kb/share-kb.d.ts +4 -0
- package/dist/types/components.d.ts +34 -20
- package/package.json +1 -1
- package/dist/genexus-ide-ui/p-3ca03a38.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-8897c6de.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-8dedbcd9.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-941f470f.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ac79f7e8.entry.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["shareKbCss","CSS_BUNDLES","GxIdeShareKb","_GxIdeShareKb_showMoreIcon","set","this","getIconPath","category","name","colorType","_GxIdeShareKb_versionsSelect","value","caption","_GxIdeShareKb__componentLocale","_GxIdeShareKb_kbVersions","_GxIdeShareKb_renderedFirstTime","_GxIdeShareKb_chShortcutsEl","_GxIdeShareKb_shortcutsSrc","getAssetPath","_GxIdeShareKb_selectedKbId","_GxIdeShareKb_versionSelectedTypeEl","_GxIdeShareKb_KBNameEl","_GxIdeShareKb_cancelHandler","cancelCallback","_GxIdeShareKb_changeConnectionHandler","async","changeConnectionCallback","authenticationType","connectionData","serverUrl","userName","userPassword","_GxIdeShareKb_shareKBHandler","versionSelectedType","__classPrivateFieldSet","shareKBCallback","kbName","versionList","__classPrivateFieldGet","allVersions","then","formSubmitResult","validatableControls","validateControls","_GxIdeShareKb_evaluateTooltipRender","controlReference","_b","_a","get","id","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeShareKb_initializeValidatableControls","forEach","validatableControl","reference","undefined","_GxIdeShareKb_kbNameInputHandler","event","detail","_GxIdeShareKb_selectedVersionHandler","selectKBVersionsCallback","result","length","map","kbVersion","localKbNameInputValue","versionsValueInput","kb","versionsPlaceholder","toString","versionSelectedFieldValue","oneVersionSelectedFieldValue","_GxIdeShareKb_versionsChangedHandler","enableSelectVersionsButton","_GxIdeShareKb_renderFooter","disableShareKbButton","onClick","part","footer","cancel","disabled","shareKB","Map","componentDidLoad","call","componentDidRender","componentDidRenderFirstTime","emit","componentName","componentWillLoad","Locale","getComponentStrings","el","suspendShortcuts","suspend","render","Host","model","src","ref","header","user","change","htmlFor","aliasLabel","onInput","placeholder","localKbNamePlaceholder","onChange","versionsLabel","readonly","versionsPlaceholderDisabled"],"sources":["src/components/team-dev/share-kb/share-kb.scss?tag=gx-ide-share-kb&encapsulation=shadow","src/components/team-dev/share-kb/share-kb.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n }\n}\n\n.button-icon-only.button-tertiary {\n border-color: var(--mer-color__neutral-gray--500);\n border-width: var(--mer-border__width--sm);\n border-radius: var(--mer-border__radius--sm);\n}\n\n.button-icon-only:hover {\n border-color: var(--mer-color__neutral-gray--100);\n}\n","// Stencil\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n getAssetPath,\n h,\n Host,\n Method,\n Prop,\n State\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { ChEditCustomEvent } from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\nimport { config } from \"../../../common/config\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { KBVersion } from \"../version-control/common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-share-kb\",\n styleUrl: \"share-kb.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/share-kb\"]\n})\nexport class GxIdeShareKb {\n #showMoreIcon = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" },\n { value: \"Select\", caption: \"Select Version\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbVersions: KBVersion[] = [];\n #renderedFirstTime = false;\n #chShortcutsEl: HTMLChShortcutsElement;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeShareKbElement;\n\n #KBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * The name of the KB.\n */\n @Prop({ mutable: true }) kbName: string;\n\n /**\n * Callback that must be invoked when the Share button is pressed.\n */\n @Prop() readonly shareKBCallback: (\n data: ShareKBData\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n /**\n * Emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n componentDidLoad() {\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n\n this.#initializeValidatableControls();\n }\n\n componentDidRender() {\n if (!this.#renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this.#_componentLocale.componentName\n );\n this.#renderedFirstTime = true;\n }\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #shareKBHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.shareKBCallback({\n name: this.kbName,\n serverUrl: this.connectionData.serverUrl,\n versionList: this.#kbVersions,\n allVersions: this.versionSelectedType === \"All\"\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#KBNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #kbNameInputHandler = (event: ChEditCustomEvent<string> | InputEvent) => {\n this.kbName = event.detail as string;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.#kbVersions = result.map(kbVersion => ({\n id: kbVersion.id,\n name: kbVersion.name\n }));\n\n if (result.length === 1 && this.#kbVersions[0].id === 0) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput =\n this.#_componentLocale.kb.versionsPlaceholder;\n } else if (result.length > 1) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput = `${result.length.toString()} ${\n this.#_componentLocale.kb.versionSelectedFieldValue\n }`;\n } else {\n this.localKbNameInputValue = `${this.#selectedKbId}_${\n this.#kbVersions[0].name\n }`;\n this.versionsValueInput = `${result[0].name} ${\n this.#_componentLocale.kb.oneVersionSelectedFieldValue\n }`;\n }\n }\n });\n }\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n if (this.versionSelectedType === \"Select\") {\n this.enableSelectVersionsButton = true;\n } else {\n this.enableSelectVersionsButton = false;\n }\n };\n\n #renderFooter = () => {\n const disableShareKbButton = !this.kbName.length;\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // share kb button\n class=\"button-primary\"\n onClick={!disableShareKbButton && this.#shareKBHandler}\n disabled={disableShareKbButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.shareKB}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n id=\"change-connection-button\"\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n\n <section class=\"main field-group spacing-body\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"alias\">\n {this.#_componentLocale.kb.aliasLabel}\n </label>\n <ch-edit\n // alias\n class=\"input\"\n id=\"kb-name\"\n value={this.kbName}\n onInput={this.#kbNameInputHandler}\n placeholder={this.#_componentLocale.kb.localKbNamePlaceholder}\n ref={(el: HTMLChEditElement) =>\n (this.#KBNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#KBNameEl)}\n </div>\n\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={(el: HTMLChRadioGroupRenderElement) =>\n (this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement)\n }\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n id=\"select-version-button\"\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-sm\"\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type ShareKBData = {\n name: string;\n serverUrl: string;\n versionList: KBVersion[];\n allVersions: boolean;\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { f as r } from "./p-5bab65ea.js";
|
|
|
6
6
|
|
|
7
7
|
import { L as l } from "./p-311eedf3.js";
|
|
8
8
|
|
|
9
|
-
import { r as n, a as o, I as
|
|
9
|
+
import { r as n, a as o, I as c } from "./p-32b37b3d.js";
|
|
10
10
|
|
|
11
11
|
import "./p-d42e842b.js";
|
|
12
12
|
|
|
@@ -24,19 +24,7 @@ const mapObjectTypeToComboBoxItemModel = t => t.map((t => ({
|
|
|
24
24
|
startImgSrc: t.icon
|
|
25
25
|
})));
|
|
26
26
|
|
|
27
|
-
const
|
|
28
|
-
if (t.active) {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
if (Array.isArray(t.nodes)) {
|
|
32
|
-
return t.nodes.some(hasActiveNode);
|
|
33
|
-
}
|
|
34
|
-
return false;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
const hasActiveVersionInList = t => t.some(hasActiveNode);
|
|
38
|
-
|
|
39
|
-
const c = '.custom-icon-text-wrapper{display:flex;align-items:center;gap:10px}.warning-error-description{display:flex;align-items:center;gap:8px;padding:8px;max-inline-size:800px;line-height:1.5}.warning-error-icon{flex-shrink:0}:host{display:grid;grid-template-columns:max-content 1fr;block-size:100%;overflow:auto}.sidebar{background-color:transparent !important;border-inline-end:var(--section-common-border)}.sidebar::part(expand-button){border-radius:var(--control__border-radius)}gx-ide-select-kb-items{--search-input-max-inline-size:300px;opacity:0;transition:opacity var(--mer-timing--fast)}gx-ide-select-kb-items.sidebar-expanded{opacity:1}ch-tabular-grid.tabular-grid--empty::part(main){overflow:hidden}ch-tabular-grid-rowset-empty{position:relative}.main{display:grid;grid-template-rows:max-content 1fr;grid-row-gap:var(--mer-spacing--sm);overflow:auto}.main__header{display:grid}.main__content{position:relative;overflow:auto;display:grid;grid-template-rows:1fr max-content 2fr;grid-row-gap:var(--mer-spacing--sm)}.tabular-grid{overflow:auto}.search-filter{display:grid;grid-template-columns:1fr max-content max-content;gap:var(--gx-ide-grid-column-gap)}.action-buttons{justify-self:flex-end}.filters-grid{display:grid;grid-template-columns:repeat(6, 1fr);grid-template-areas:"from from to to type type" "user user user revision revision revision";grid-gap:var(--gx-ide-grid-column-gap);padding-block-start:var(--mer-spacing--sm)}.filters-container{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--mer-timing--fast)}.filters-container-visible{grid-template-rows:1fr}.filters-container>div{overflow:hidden}.field-from{grid-area:from}.field-to{grid-area:to}.field-type{grid-area:type}.field-user{grid-area:user}.field-revision{grid-area:revision}.commits-grid ch-tabular-grid-cell:is(:nth-child(2)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;min-inline-size:200px}.affected-objects-grid ch-tabular-grid-cell:is(:nth-child(5)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;min-inline-size:200px}.button-tertiary.button-icon-only{border-color:var(--control__border-color--enabled)}';
|
|
27
|
+
const d = '.custom-icon-text-wrapper{display:flex;align-items:center;gap:10px}.warning-error-description{display:flex;align-items:center;gap:8px;padding:8px;max-inline-size:800px;line-height:1.5}.warning-error-icon{flex-shrink:0}:host{display:grid;grid-template-columns:max-content 1fr;block-size:100%;overflow:auto}.sidebar{background-color:transparent !important;border-inline-end:var(--section-common-border)}.sidebar::part(expand-button){border-radius:var(--control__border-radius)}gx-ide-select-kb-items{--search-input-max-inline-size:300px;opacity:0;transition:opacity var(--mer-timing--fast)}gx-ide-select-kb-items.sidebar-expanded{opacity:1}ch-tabular-grid.tabular-grid--empty::part(main){overflow:hidden}ch-tabular-grid-rowset-empty{position:relative}.main{display:grid;grid-template-rows:max-content 1fr;grid-row-gap:var(--mer-spacing--sm);overflow:auto}.main__header{display:grid}.main__content{position:relative;overflow:auto;display:grid;grid-template-rows:1fr max-content 2fr;grid-row-gap:var(--mer-spacing--sm)}.tabular-grid{overflow:auto}.search-filter{display:grid;grid-template-columns:1fr max-content max-content;gap:var(--gx-ide-grid-column-gap)}.action-buttons{justify-self:flex-end}.filters-grid{display:grid;grid-template-columns:repeat(6, 1fr);grid-template-areas:"from from to to type type" "user user user revision revision revision";grid-gap:var(--gx-ide-grid-column-gap);padding-block-start:var(--mer-spacing--sm)}.filters-container{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--mer-timing--fast)}.filters-container-visible{grid-template-rows:1fr}.filters-container>div{overflow:hidden}.field-from{grid-area:from}.field-to{grid-area:to}.field-type{grid-area:type}.field-user{grid-area:user}.field-revision{grid-area:revision}.commits-grid ch-tabular-grid-cell:is(:nth-child(2)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;min-inline-size:200px}.affected-objects-grid ch-tabular-grid-cell:is(:nth-child(5)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;min-inline-size:200px}.button-tertiary.button-icon-only{border-color:var(--control__border-color--enabled)}';
|
|
40
28
|
|
|
41
29
|
var h = undefined && undefined.__classPrivateFieldGet || function(t, i, e, a) {
|
|
42
30
|
if (e === "a" && !a) throw new TypeError("Private accessor was defined without a getter");
|
|
@@ -51,39 +39,45 @@ var u = undefined && undefined.__classPrivateFieldSet || function(t, i, e, a, s)
|
|
|
51
39
|
return a === "a" ? s.call(t, e) : s ? s.value = e : i.set(t, e), e;
|
|
52
40
|
};
|
|
53
41
|
|
|
54
|
-
var f, m,
|
|
42
|
+
var f, m, p, g, b, v, w, y, x, k, _, M, W, j, z, C, T, E, F, D, I, A;
|
|
55
43
|
|
|
56
|
-
const
|
|
44
|
+
const S = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/spacing", "utils/typography", "chameleon/scrollbar", "components/tabular-grid", "components/accordion", "components/sidebar" ];
|
|
57
45
|
|
|
58
|
-
const
|
|
46
|
+
const $ = class {
|
|
59
47
|
constructor(e) {
|
|
60
48
|
t(this, e);
|
|
61
49
|
f.set(this, void 0);
|
|
62
50
|
m.set(this, []);
|
|
63
|
-
g.set(this, void 0);
|
|
64
51
|
p.set(this, void 0);
|
|
52
|
+
g.set(this, void 0);
|
|
65
53
|
b.set(this, void 0);
|
|
66
54
|
v.set(this, void 0);
|
|
67
55
|
w.set(this, void 0);
|
|
68
56
|
y.set(this, void 0);
|
|
69
57
|
x.set(this, void 0);
|
|
70
58
|
k.set(this, void 0);
|
|
71
|
-
_.set(this,
|
|
59
|
+
_.set(this, void 0);
|
|
60
|
+
M.set(this, (async t => {
|
|
61
|
+
if (this.selectedVersionChangeCallback) {
|
|
62
|
+
await this.selectedVersionChangeCallback(t);
|
|
63
|
+
}
|
|
64
|
+
await h(this, W, "f").call(this, t[0], true);
|
|
65
|
+
}));
|
|
66
|
+
W.set(this, (async (t, i) => {
|
|
72
67
|
var e;
|
|
73
68
|
this.loading = true;
|
|
74
69
|
const a = {
|
|
75
70
|
search: h(this, b, "f").value ? h(this, b, "f").value : "",
|
|
76
|
-
from: h(this,
|
|
71
|
+
from: h(this, p, "f").value ? new Date(h(this, p, "f").value) : null,
|
|
77
72
|
to: h(this, v, "f").value ? new Date(h(this, v, "f").value) : null,
|
|
78
|
-
revision: h(this,
|
|
73
|
+
revision: h(this, g, "f").value ? h(this, g, "f").value : "",
|
|
79
74
|
user: h(this, y, "f").value ? h(this, y, "f").value : "",
|
|
80
75
|
type: h(this, w, "f").value === "all" ? "" : h(this, w, "f").value
|
|
81
76
|
};
|
|
82
77
|
try {
|
|
83
78
|
this.objects = await this.loadCallback(a, t, i);
|
|
84
|
-
await h(this,
|
|
79
|
+
await h(this, j, "f").call(this, (e = this.objects[0]) === null || e === void 0 ? void 0 : e.id);
|
|
85
80
|
} catch (t) {
|
|
86
|
-
this.versions = [];
|
|
87
81
|
this.objects = [];
|
|
88
82
|
this.historyDetail = null;
|
|
89
83
|
this.selectedRevisionId = null;
|
|
@@ -91,35 +85,35 @@ const L = class {
|
|
|
91
85
|
this.loading = false;
|
|
92
86
|
}
|
|
93
87
|
}));
|
|
94
|
-
|
|
88
|
+
j.set(this, (async t => {
|
|
95
89
|
if (t) {
|
|
96
90
|
this.historyDetail = await this.loadDetailCallback(t);
|
|
97
|
-
this.historyDetail.title = h(this,
|
|
91
|
+
this.historyDetail.title = h(this, I, "f").call(this, this.historyDetail.title);
|
|
98
92
|
this.selectedRevisionId = t;
|
|
99
93
|
} else {
|
|
100
94
|
this.historyDetail = null;
|
|
101
95
|
}
|
|
102
96
|
}));
|
|
103
|
-
|
|
97
|
+
z.set(this, (() => {
|
|
104
98
|
if (h(this, k, "f")) {
|
|
105
99
|
h(this, k, "f").addEventListener("contextmenu", (t => {
|
|
106
100
|
t.preventDefault();
|
|
107
101
|
t.stopPropagation();
|
|
108
|
-
h(this,
|
|
102
|
+
h(this, C, "f").call(this, t);
|
|
109
103
|
}));
|
|
110
104
|
}
|
|
111
105
|
}));
|
|
112
|
-
|
|
106
|
+
C.set(this, (async t => {
|
|
113
107
|
this.gridContextMenuCallback({
|
|
114
108
|
selection: [ this.selectedRevisionId ],
|
|
115
109
|
clientX: t.clientX,
|
|
116
110
|
clientY: t.clientY
|
|
117
111
|
});
|
|
118
112
|
}));
|
|
119
|
-
|
|
113
|
+
T.set(this, (() => {
|
|
120
114
|
this.filtersHidden = !this.filtersHidden;
|
|
121
115
|
}));
|
|
122
|
-
|
|
116
|
+
E.set(this, (() => {
|
|
123
117
|
var t;
|
|
124
118
|
const e = ((t = this.objects) === null || t === void 0 ? void 0 : t.length) === 0 || !this.objects;
|
|
125
119
|
return i("ch-tabular-grid", {
|
|
@@ -129,13 +123,13 @@ const L = class {
|
|
|
129
123
|
"tabular-grid--empty": e
|
|
130
124
|
},
|
|
131
125
|
onSelectionChanged: t => {
|
|
132
|
-
this.objects.length > 0 && h(this,
|
|
126
|
+
this.objects.length > 0 && h(this, j, "f").call(this, t.detail.rowsId[0]);
|
|
133
127
|
},
|
|
134
128
|
ref: t => {
|
|
135
129
|
var i;
|
|
136
130
|
if (t && h(this, k, "f") !== t) {
|
|
137
131
|
u(this, k, t, "f");
|
|
138
|
-
h(this,
|
|
132
|
+
h(this, z, "f").call(this);
|
|
139
133
|
if (this.objects.length > 0) {
|
|
140
134
|
h(this, k, "f").selectRow((i = this.objects[0]) === null || i === void 0 ? void 0 : i.id, true);
|
|
141
135
|
}
|
|
@@ -190,7 +184,7 @@ const L = class {
|
|
|
190
184
|
class: "tabular-grid-row"
|
|
191
185
|
}));
|
|
192
186
|
}));
|
|
193
|
-
|
|
187
|
+
F.set(this, (() => {
|
|
194
188
|
var t, e;
|
|
195
189
|
const a = this.historyDetail ? this.historyDetail.objects : [];
|
|
196
190
|
const r = ((e = (t = this.historyDetail) === null || t === void 0 ? void 0 : t.objects) === null || e === void 0 ? void 0 : e.length) === 0 || !this.historyDetail;
|
|
@@ -241,29 +235,32 @@ const L = class {
|
|
|
241
235
|
}, o(t.state)))))) : i("ch-tabular-grid-rowset", {
|
|
242
236
|
class: "tabular-grid-rowset"
|
|
243
237
|
}, i("ch-tabular-grid-rowset-empty", null, i("gx-ide-empty-state", {
|
|
244
|
-
stateIconSrc:
|
|
238
|
+
stateIconSrc: c.filter,
|
|
245
239
|
stateTitle: h(this, f, "f").emptyHistoryDetailText,
|
|
246
240
|
isAnimated: true
|
|
247
241
|
}))), i("ch-tabular-grid-row", {
|
|
248
242
|
class: "tabular-grid-row"
|
|
249
243
|
}));
|
|
250
244
|
}));
|
|
251
|
-
|
|
245
|
+
D.set(this, (() => this.loading && i("div", {
|
|
252
246
|
class: "main__content scrollable"
|
|
253
247
|
}, i("gx-ide-loader", {
|
|
254
248
|
loaderTitle: h(this, f, "f").loader.title,
|
|
255
249
|
show: true,
|
|
256
250
|
description: h(this, f, "f").loader.description
|
|
257
251
|
}))));
|
|
258
|
-
|
|
252
|
+
I.set(this, (t => {
|
|
259
253
|
const i = t.split(" - ");
|
|
260
254
|
const e = new Date(i[1]);
|
|
261
255
|
const a = r(e, "date-time");
|
|
262
256
|
return `${i[0]} - ${a} - ${i[2]}`;
|
|
263
257
|
}));
|
|
258
|
+
A.set(this, (async () => {
|
|
259
|
+
this.loading = true;
|
|
260
|
+
await h(this, _, "f").reloadItems();
|
|
261
|
+
}));
|
|
264
262
|
this.historyDetail = undefined;
|
|
265
263
|
this.objects = [];
|
|
266
|
-
this.isFirstLoad = true;
|
|
267
264
|
this.sidebarExpanded = true;
|
|
268
265
|
this.filtersHidden = true;
|
|
269
266
|
this.loading = true;
|
|
@@ -272,37 +269,11 @@ const L = class {
|
|
|
272
269
|
this.types = undefined;
|
|
273
270
|
this.itemContextMenuCallback = undefined;
|
|
274
271
|
this.gridContextMenuCallback = undefined;
|
|
275
|
-
this.
|
|
276
|
-
this.versions = undefined;
|
|
272
|
+
this.loadVersionsCallback = undefined;
|
|
277
273
|
this.loadCallback = undefined;
|
|
278
274
|
this.loadDetailCallback = undefined;
|
|
279
275
|
this.selectedVersionChangeCallback = undefined;
|
|
280
276
|
}
|
|
281
|
-
async selectedVersionIdChanged(t, i) {
|
|
282
|
-
var e;
|
|
283
|
-
if (t === i) {
|
|
284
|
-
return;
|
|
285
|
-
}
|
|
286
|
-
// Reset filters
|
|
287
|
-
h(this, b, "f").value = null;
|
|
288
|
-
h(this, g, "f").value = null;
|
|
289
|
-
h(this, v, "f").value = null;
|
|
290
|
-
h(this, p, "f").value = null;
|
|
291
|
-
h(this, y, "f").value = null;
|
|
292
|
-
h(this, w, "f").value = (e = h(this, m, "f")[0]) === null || e === void 0 ? void 0 : e.value;
|
|
293
|
-
await h(this, _, "f").call(this, t, false);
|
|
294
|
-
}
|
|
295
|
-
async versionsListChanged(t) {
|
|
296
|
-
this.versions = t;
|
|
297
|
-
this.hasActiveVersion = hasActiveVersionInList(t);
|
|
298
|
-
if (t.length > 0 && this.selectedVersionId && this.isFirstLoad) {
|
|
299
|
-
await h(this, _, "f").call(this, this.selectedVersionId, false);
|
|
300
|
-
this.isFirstLoad = false;
|
|
301
|
-
} else if (t.length === 0 && this.isFirstLoad) {
|
|
302
|
-
this.loading = false;
|
|
303
|
-
this.isFirstLoad = false;
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
277
|
async componentWillLoad() {
|
|
307
278
|
u(this, f, await l.getComponentStrings(this.el), "f");
|
|
308
279
|
u(this, m, mapObjectTypeToComboBoxItemModel(this.types), "f");
|
|
@@ -312,12 +283,15 @@ const L = class {
|
|
|
312
283
|
this.sidebarExpanded = t.detail;
|
|
313
284
|
}));
|
|
314
285
|
}
|
|
286
|
+
async reload() {
|
|
287
|
+
await h(this, A, "f").call(this);
|
|
288
|
+
}
|
|
315
289
|
render() {
|
|
316
290
|
var t;
|
|
317
291
|
return i(e, {
|
|
318
292
|
class: "widget"
|
|
319
293
|
}, i("ch-theme", {
|
|
320
|
-
model:
|
|
294
|
+
model: S
|
|
321
295
|
}), i("ch-sidebar", {
|
|
322
296
|
ref: t => u(this, x, t, "f"),
|
|
323
297
|
class: "sidebar",
|
|
@@ -331,10 +305,11 @@ const L = class {
|
|
|
331
305
|
"has-active-version": this.hasActiveVersion
|
|
332
306
|
},
|
|
333
307
|
checkboxType: "none",
|
|
334
|
-
|
|
308
|
+
loadItemsCallback: () => this.loadVersionsCallback(),
|
|
335
309
|
expandOnClick: false,
|
|
336
|
-
selectionChanged: this
|
|
337
|
-
itemContextMenuCallback: this.itemContextMenuCallback
|
|
310
|
+
selectionChanged: h(this, M, "f"),
|
|
311
|
+
itemContextMenuCallback: t => this.itemContextMenuCallback(t),
|
|
312
|
+
ref: t => u(this, _, t, "f")
|
|
338
313
|
})), i("main", {
|
|
339
314
|
class: "main spacing-body-block-start spacing-body-inline"
|
|
340
315
|
}, i("div", {
|
|
@@ -349,7 +324,7 @@ const L = class {
|
|
|
349
324
|
}, h(this, f, "f").filters.search), i("ch-edit", {
|
|
350
325
|
value: "",
|
|
351
326
|
class: "input",
|
|
352
|
-
startImgSrc:
|
|
327
|
+
startImgSrc: c.search,
|
|
353
328
|
part: "search",
|
|
354
329
|
id: "search",
|
|
355
330
|
ref: t => u(this, b, t, "f")
|
|
@@ -359,18 +334,18 @@ const L = class {
|
|
|
359
334
|
"aria-label": h(this, f, "f").searchFilter.filterAriaLabel,
|
|
360
335
|
"aria-expanded": this.filtersHidden ? "false" : "true",
|
|
361
336
|
"aria-controls": "filters-container",
|
|
362
|
-
onClick: () => h(this,
|
|
337
|
+
onClick: () => h(this, T, "f").call(this)
|
|
363
338
|
}, i("ch-image", {
|
|
364
339
|
class: "icon-md",
|
|
365
|
-
src:
|
|
340
|
+
src: c.filter
|
|
366
341
|
})), i("button", {
|
|
367
342
|
class: "button-tertiary button-icon-only",
|
|
368
343
|
"aria-label": h(this, f, "f").searchFilter.reloadAriaLabel,
|
|
369
|
-
onClick: () => h(this,
|
|
344
|
+
onClick: () => h(this, A, "f").call(this),
|
|
370
345
|
part: h(this, f, "f").searchFilter.reloadAriaLabel
|
|
371
346
|
}, i("ch-image", {
|
|
372
347
|
class: "icon-md",
|
|
373
|
-
src:
|
|
348
|
+
src: c.refresh
|
|
374
349
|
}))), i("div", {
|
|
375
350
|
id: "filters-container",
|
|
376
351
|
"aria-labelledby": "filter-toggle-button",
|
|
@@ -393,7 +368,7 @@ const L = class {
|
|
|
393
368
|
type: "date",
|
|
394
369
|
part: "from",
|
|
395
370
|
id: "from",
|
|
396
|
-
ref: t => u(this,
|
|
371
|
+
ref: t => u(this, p, t, "f")
|
|
397
372
|
})), i("div", {
|
|
398
373
|
class: "field field-block field-to"
|
|
399
374
|
}, i("label", {
|
|
@@ -438,10 +413,10 @@ const L = class {
|
|
|
438
413
|
part: "revision",
|
|
439
414
|
class: "input",
|
|
440
415
|
id: "revision",
|
|
441
|
-
ref: t => u(this,
|
|
442
|
-
})))))), h(this,
|
|
416
|
+
ref: t => u(this, g, t, "f")
|
|
417
|
+
})))))), h(this, D, "f").call(this), !this.loading && i("div", {
|
|
443
418
|
class: "main__content scrollable"
|
|
444
|
-
}, h(this,
|
|
419
|
+
}, h(this, E, "f").call(this), i("div", {
|
|
445
420
|
class: "field field-block"
|
|
446
421
|
}, i("label", {
|
|
447
422
|
class: "label",
|
|
@@ -454,7 +429,7 @@ const L = class {
|
|
|
454
429
|
readonly: true,
|
|
455
430
|
part: "comment-area",
|
|
456
431
|
id: "comment-area"
|
|
457
|
-
})), h(this,
|
|
432
|
+
})), h(this, F, "f").call(this))));
|
|
458
433
|
}
|
|
459
434
|
static get assetsDirs() {
|
|
460
435
|
return [ "gx-ide-assets/team-dev-history" ];
|
|
@@ -462,20 +437,15 @@ const L = class {
|
|
|
462
437
|
get el() {
|
|
463
438
|
return a(this);
|
|
464
439
|
}
|
|
465
|
-
static get watchers() {
|
|
466
|
-
return {
|
|
467
|
-
selectedVersionId: [ "selectedVersionIdChanged" ],
|
|
468
|
-
versions: [ "versionsListChanged" ]
|
|
469
|
-
};
|
|
470
|
-
}
|
|
471
440
|
};
|
|
472
441
|
|
|
473
|
-
f = new WeakMap, m = new WeakMap,
|
|
442
|
+
f = new WeakMap, m = new WeakMap, p = new WeakMap, g = new WeakMap, b = new WeakMap,
|
|
474
443
|
v = new WeakMap, w = new WeakMap, y = new WeakMap, x = new WeakMap, k = new WeakMap,
|
|
475
|
-
_ = new WeakMap, M = new WeakMap, W = new WeakMap, j = new WeakMap,
|
|
476
|
-
|
|
444
|
+
_ = new WeakMap, M = new WeakMap, W = new WeakMap, j = new WeakMap, z = new WeakMap,
|
|
445
|
+
C = new WeakMap, T = new WeakMap, E = new WeakMap, F = new WeakMap, D = new WeakMap,
|
|
446
|
+
I = new WeakMap, A = new WeakMap;
|
|
477
447
|
|
|
478
|
-
|
|
448
|
+
$.style = d;
|
|
479
449
|
|
|
480
|
-
export {
|
|
481
|
-
//# sourceMappingURL=p-
|
|
450
|
+
export { $ as gx_ide_team_dev_history };
|
|
451
|
+
//# sourceMappingURL=p-74f8bd45.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mapObjectTypeToComboBoxItemModel","objectTypeModel","map","objectType","value","id","caption","name","startImgSrc","icon","historyCss","CSS_BUNDLES","GxIdeTeamDevHistory","_GxIdeTeamDevHistory__componentLocale","set","this","_GxIdeTeamDevHistory_types","_GxIdeTeamDevHistory_fromEl","_GxIdeTeamDevHistory_revisionEl","_GxIdeTeamDevHistory_searchEl","_GxIdeTeamDevHistory_toEl","_GxIdeTeamDevHistory_typesEl","_GxIdeTeamDevHistory_userEl","_GxIdeTeamDevHistory_sidebarEl","_GxIdeTeamDevHistory_revisionsGridEl","_GxIdeTeamDevHistory_selectKBItemsEL","_GxIdeTeamDevHistory_selectedVersionChanged","async","selectedVersion","selectedVersionChangeCallback","__classPrivateFieldGet","_GxIdeTeamDevHistory_getObjectsFromVersion","call","versionId","isRefresh","loading","filters","search","from","Date","to","revision","user","type","objects","loadCallback","_GxIdeTeamDevHistory_getSelectedRevision","_a","error","historyDetail","selectedRevisionId","revisionId","loadDetailCallback","title","_GxIdeTeamDevHistory_formatHistoryDetailDate","_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","_b","affectedObjectsGrid","config","tabularGrid","colSize","maxContent","types","description","auto","action","renderObjectTypeWithIcon","renderObjectStateWithIcon","state","stateIconSrc","ICONS","filter","emptyHistoryDetailText","_GxIdeTeamDevHistory_renderLoader","loaderTitle","loader","show","parts","split","datePart","formattedDate","_GxIdeTeamDevHistory_reloadHandler","reloadItems","componentWillLoad","Locale","getComponentStrings","componentDidLoad","e","sidebarExpanded","reload","render","Host","model","expanded","expandButtonCollapseAccessibleName","sidebar","collapseAriaLabel","expandButtonExpandAccessibleName","expandAriaLabel","showExpandButton","hasActiveVersion","checkboxType","loadItemsCallback","loadVersionsCallback","expandOnClick","selectionChanged","itemContextMenuCallback","info","htmlFor","part","searchFilter","filterAriaLabel","onClick","src","reloadAriaLabel","refresh","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\n.button-tertiary.button-icon-only {\n border-color: var(--control__border-color--enabled);\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n h,\n Host,\n Method,\n Prop,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { 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 renderObjectStateWithIcon,\n renderObjectTypeWithIcon\n} from \"../common/utilities\";\nimport ICONS from \"../version-control/common/constants\";\nimport { ObjectState } from \"../version-control/common/types\";\nimport { mapObjectTypeToComboBoxItemModel } from \"./helpers\";\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\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 #selectKBItemsEL: HTMLGxIdeSelectKbItemsElement;\n\n @State() historyDetail: RevisionDetailData;\n\n /**\n * The files rendered in the table\n */\n @State() objects: RevisionData[] = [];\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 * Callback to load the items list model\n */\n @Prop() readonly loadVersionsCallback!: () => Promise<ItemNode[]>;\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 @Method()\n async reload(): Promise<void> {\n await this.#reloadHandler();\n }\n\n #selectedVersionChanged = async (selectedVersion: string[]) => {\n if (this.selectedVersionChangeCallback) {\n await this.selectedVersionChangeCallback(selectedVersion);\n }\n await this.#getObjectsFromVersion(selectedVersion[0], true);\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 try {\n this.objects = await this.loadCallback(filters, versionId, isRefresh);\n await this.#getSelectedRevision(this.objects[0]?.id);\n } catch (error) {\n this.objects = [];\n this.historyDetail = null;\n this.selectedRevisionId = null;\n } finally {\n this.loading = false;\n }\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={ICONS.filter}\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 #reloadHandler = async (): Promise<void> => {\n this.loading = true;\n await this.#selectKBItemsEL.reloadItems();\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 loadItemsCallback={() => this.loadVersionsCallback()}\n expandOnClick={false}\n selectionChanged={this.#selectedVersionChanged}\n itemContextMenuCallback={(info: ContextMenuInfo) =>\n this.itemContextMenuCallback(info)\n }\n ref={(el: HTMLGxIdeSelectKbItemsElement) =>\n (this.#selectKBItemsEL = el as HTMLGxIdeSelectKbItemsElement)\n }\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={ICONS.search}\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-tertiary 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={ICONS.filter}></ch-image>\n </button>\n\n <button\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.searchFilter.reloadAriaLabel}\n onClick={() => this.#reloadHandler()}\n part={this.#_componentLocale.searchFilter.reloadAriaLabel}\n >\n <ch-image class=\"icon-md\" src={ICONS.refresh}></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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"}
|
|
@@ -41,6 +41,10 @@ export declare class GxIdeRestoreVersion {
|
|
|
41
41
|
readonly versions: KBVersion[];
|
|
42
42
|
versionsChanged(): void;
|
|
43
43
|
componentWillLoad(): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Suspends or reactivates the shortcuts
|
|
46
|
+
*/
|
|
47
|
+
suspendShortcuts(suspendShortcuts: boolean): Promise<void>;
|
|
44
48
|
render(): any;
|
|
45
49
|
}
|
|
46
50
|
export type RestoreVersionData = {
|
|
@@ -39,6 +39,10 @@ export declare class GxIdeSelectKbItems {
|
|
|
39
39
|
* It maps to the ch-tree-view-render "toggleCheckboxes" property.
|
|
40
40
|
*/
|
|
41
41
|
toggleCheckboxes: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Represents the itemLis list model
|
|
44
|
+
*/
|
|
45
|
+
itemsList: ItemNode[];
|
|
42
46
|
/**
|
|
43
47
|
* Callback emitted when the user clicks on the "Active item"
|
|
44
48
|
*/
|
|
@@ -72,14 +76,13 @@ export declare class GxIdeSelectKbItems {
|
|
|
72
76
|
*/
|
|
73
77
|
readonly itemContextMenuCallback: (info: ContextMenuInfo) => Promise<void>;
|
|
74
78
|
/**
|
|
75
|
-
*
|
|
79
|
+
* Callback to load the items list model
|
|
76
80
|
*/
|
|
77
|
-
readonly
|
|
81
|
+
readonly loadItemsCallback: () => Promise<ItemNode[]>;
|
|
78
82
|
/**
|
|
79
83
|
* Used to define if the component must show the "Toggle Checkboxes" option or not
|
|
80
84
|
*/
|
|
81
85
|
readonly showToggleCheckboxes: boolean;
|
|
82
|
-
watchNodeListHandler(newItemsList: ItemNode[]): void;
|
|
83
86
|
/**
|
|
84
87
|
* This define if the selection is unique or not
|
|
85
88
|
*/
|
|
@@ -92,11 +95,16 @@ export declare class GxIdeSelectKbItems {
|
|
|
92
95
|
* Used to define if the component must show the "Active item" link or not
|
|
93
96
|
*/
|
|
94
97
|
readonly showActiveItemLink?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Defines whether to show a loader while loading items
|
|
100
|
+
*/
|
|
101
|
+
readonly useLoader?: boolean;
|
|
95
102
|
/**
|
|
96
103
|
* Callback emitted when the items selection change
|
|
97
104
|
*/
|
|
98
105
|
readonly selectionChanged?: (selectedItem: string[]) => Promise<void>;
|
|
99
106
|
componentWillLoad(): Promise<void>;
|
|
107
|
+
reloadItems(): Promise<void>;
|
|
100
108
|
/**
|
|
101
109
|
* Suspends or reactivates the shortcuts
|
|
102
110
|
*/
|
|
@@ -130,6 +138,7 @@ export type ItemNode = {
|
|
|
130
138
|
iconEnd?: string;
|
|
131
139
|
id: string;
|
|
132
140
|
name: string;
|
|
141
|
+
guid?: string;
|
|
133
142
|
nodes?: ItemNode[];
|
|
134
143
|
parts?: string;
|
|
135
144
|
selected?: boolean;
|
|
@@ -62,6 +62,10 @@ export declare class GxIdeCreateKbFromServer {
|
|
|
62
62
|
readonly selectKBVersionsCallback: (selectedKB: string) => Promise<KBVersion[]>;
|
|
63
63
|
componentDidLoad(): Promise<void>;
|
|
64
64
|
componentWillLoad(): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Suspends or reactivates the shortcuts
|
|
67
|
+
*/
|
|
68
|
+
suspendShortcuts(suspendShortcuts: boolean): Promise<void>;
|
|
65
69
|
render(): void;
|
|
66
70
|
}
|
|
67
71
|
export type KBData = {
|
|
@@ -9,10 +9,6 @@ export declare class GxIdeTeamDevHistory {
|
|
|
9
9
|
* The files rendered in the table
|
|
10
10
|
*/
|
|
11
11
|
objects: RevisionData[];
|
|
12
|
-
/**
|
|
13
|
-
* Used to call getObjectsFromVersion from the versionsChanged method only once after receiving the versions for the first time.
|
|
14
|
-
*/
|
|
15
|
-
isFirstLoad: boolean;
|
|
16
12
|
/**
|
|
17
13
|
* Used to hide the select-kb-items when collapsed
|
|
18
14
|
*/
|
|
@@ -46,15 +42,9 @@ export declare class GxIdeTeamDevHistory {
|
|
|
46
42
|
*/
|
|
47
43
|
readonly gridContextMenuCallback: (info: ContextMenuInfo) => Promise<void>;
|
|
48
44
|
/**
|
|
49
|
-
*
|
|
50
|
-
*/
|
|
51
|
-
selectedVersionId: string;
|
|
52
|
-
selectedVersionIdChanged(newSelectedVersionId: string, oldSelectedVersionId?: string): Promise<void>;
|
|
53
|
-
/**
|
|
54
|
-
* List of versions to show in the versions tree
|
|
45
|
+
* Callback to load the items list model
|
|
55
46
|
*/
|
|
56
|
-
|
|
57
|
-
versionsListChanged(newVersionsList: ItemNode[]): Promise<void>;
|
|
47
|
+
readonly loadVersionsCallback: () => Promise<ItemNode[]>;
|
|
58
48
|
/**
|
|
59
49
|
* 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.
|
|
60
50
|
|
|
@@ -70,6 +60,7 @@ export declare class GxIdeTeamDevHistory {
|
|
|
70
60
|
readonly selectedVersionChangeCallback: SelectedVersionChangeCallback;
|
|
71
61
|
componentWillLoad(): Promise<void>;
|
|
72
62
|
componentDidLoad(): Promise<void>;
|
|
63
|
+
reload(): Promise<void>;
|
|
73
64
|
render(): any;
|
|
74
65
|
}
|
|
75
66
|
export type ObjectType = {
|
|
@@ -51,6 +51,10 @@ export declare class GxIdeShareKb {
|
|
|
51
51
|
componentDidLoad(): void;
|
|
52
52
|
componentDidRender(): void;
|
|
53
53
|
componentWillLoad(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Suspends or reactivates the shortcuts
|
|
56
|
+
*/
|
|
57
|
+
suspendShortcuts(suspendShortcuts: boolean): Promise<void>;
|
|
54
58
|
render(): void;
|
|
55
59
|
}
|
|
56
60
|
export type KBData = {
|