@genexus/genexus-ide-ui 1.1.6 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +61 -20
  3. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-new-version.cjs.entry.js +58 -14
  7. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +16 -9
  9. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  11. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +270 -0
  13. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -0
  14. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/collection/collection-manifest.json +1 -0
  18. package/dist/collection/components/deployment-tool/deployment-tool.js +78 -20
  19. package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
  20. package/dist/collection/components/design-import/design-import.js +1 -1
  21. package/dist/collection/components/design-import/design-import.js.map +1 -1
  22. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.en.json +3 -1
  23. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.ja.json +3 -1
  24. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.zh.json +3 -1
  25. package/dist/collection/components/new-version/new-version.css +4 -0
  26. package/dist/collection/components/new-version/new-version.js +124 -18
  27. package/dist/collection/components/new-version/new-version.js.map +1 -1
  28. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +2 -1
  29. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +1 -0
  30. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +1 -0
  31. package/dist/collection/components/select-kb-items/select-kb-items.css +22 -27
  32. package/dist/collection/components/select-kb-items/select-kb-items.js +34 -8
  33. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  34. package/dist/collection/components/team-dev/commit/commit.js +2 -2
  35. package/dist/collection/components/team-dev/commit/commit.js.map +1 -1
  36. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.en.json +42 -0
  37. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.ja.json +42 -0
  38. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.zh.json +42 -0
  39. package/dist/collection/components/team-dev/history/helpers.js +22 -0
  40. package/dist/collection/components/team-dev/history/helpers.js.map +1 -0
  41. package/dist/collection/components/team-dev/history/history.css +124 -0
  42. package/dist/collection/components/team-dev/history/history.js +448 -0
  43. package/dist/collection/components/team-dev/history/history.js.map +1 -0
  44. package/dist/collection/components/team-dev/update/update.js +1 -1
  45. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  46. package/dist/collection/testing/locale.e2e.js +1 -0
  47. package/dist/collection/testing/locale.e2e.js.map +1 -1
  48. package/dist/components/gx-ide-deployment-tool.js +62 -20
  49. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  50. package/dist/components/gx-ide-design-import.js +1 -1
  51. package/dist/components/gx-ide-design-import.js.map +1 -1
  52. package/dist/components/gx-ide-new-version.js +65 -15
  53. package/dist/components/gx-ide-new-version.js.map +1 -1
  54. package/dist/components/gx-ide-select-kb-items.js +1 -507
  55. package/dist/components/gx-ide-select-kb-items.js.map +1 -1
  56. package/dist/components/gx-ide-team-dev-commit.js +2 -2
  57. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  58. package/dist/components/gx-ide-team-dev-history.d.ts +11 -0
  59. package/dist/components/gx-ide-team-dev-history.js +322 -0
  60. package/dist/components/gx-ide-team-dev-history.js.map +1 -0
  61. package/dist/components/gx-ide-team-dev-update.js +1 -1
  62. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  63. package/dist/components/select-kb-items.js +520 -0
  64. package/dist/components/select-kb-items.js.map +1 -0
  65. package/dist/esm/genexus-ide-ui.js +1 -1
  66. package/dist/esm/gx-ide-deployment-tool.entry.js +61 -20
  67. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  68. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  69. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  70. package/dist/esm/gx-ide-new-version.entry.js +58 -14
  71. package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
  72. package/dist/esm/gx-ide-select-kb-items.entry.js +16 -9
  73. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  74. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  75. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  76. package/dist/esm/gx-ide-team-dev-history.entry.js +266 -0
  77. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -0
  78. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  79. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  80. package/dist/esm/loader.js +1 -1
  81. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  82. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  83. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.en.json +3 -1
  84. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.ja.json +3 -1
  85. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.zh.json +3 -1
  86. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +2 -1
  87. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +1 -0
  88. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +1 -0
  89. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.en.json +42 -0
  90. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.ja.json +42 -0
  91. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.zh.json +42 -0
  92. package/dist/genexus-ide-ui/{p-3085add2.entry.js → p-03dbccde.entry.js} +193 -160
  93. package/dist/genexus-ide-ui/p-03dbccde.entry.js.map +1 -0
  94. package/dist/genexus-ide-ui/{p-48062d23.entry.js → p-0acf517c.entry.js} +2 -2
  95. package/dist/genexus-ide-ui/{p-48062d23.entry.js.map → p-0acf517c.entry.js.map} +1 -1
  96. package/dist/genexus-ide-ui/{p-d2107cb2.entry.js → p-34fd4875.entry.js} +3 -18
  97. package/dist/genexus-ide-ui/p-34fd4875.entry.js.map +1 -0
  98. package/dist/genexus-ide-ui/p-74715731.entry.js +541 -0
  99. package/dist/genexus-ide-ui/p-74715731.entry.js.map +1 -0
  100. package/dist/genexus-ide-ui/{p-036d005d.entry.js → p-75a5c51f.entry.js} +2 -2
  101. package/dist/genexus-ide-ui/p-75a5c51f.entry.js.map +1 -0
  102. package/dist/genexus-ide-ui/p-80c1ddc3.entry.js +218 -0
  103. package/dist/genexus-ide-ui/p-80c1ddc3.entry.js.map +1 -0
  104. package/dist/genexus-ide-ui/{p-9fa1200f.entry.js → p-a8d0b62e.entry.js} +139 -125
  105. package/dist/genexus-ide-ui/p-a8d0b62e.entry.js.map +1 -0
  106. package/dist/types/components/deployment-tool/deployment-tool.d.ts +5 -0
  107. package/dist/types/components/new-version/new-version.d.ts +27 -1
  108. package/dist/types/components/select-kb-items/select-kb-items.d.ts +8 -0
  109. package/dist/types/components/team-dev/history/helpers.d.ts +7 -0
  110. package/dist/types/components/team-dev/history/history.d.ts +109 -0
  111. package/dist/types/components.d.ts +149 -18
  112. package/package.json +1 -1
  113. package/dist/genexus-ide-ui/p-036d005d.entry.js.map +0 -1
  114. package/dist/genexus-ide-ui/p-3085add2.entry.js.map +0 -1
  115. package/dist/genexus-ide-ui/p-9fa1200f.entry.js.map +0 -1
  116. package/dist/genexus-ide-ui/p-c91af626.entry.js +0 -149
  117. package/dist/genexus-ide-ui/p-c91af626.entry.js.map +0 -1
  118. package/dist/genexus-ide-ui/p-d2107cb2.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["commitCss","CSS_BUNDLES","GxIdeTeamDevCommit","this","loadDataCalledFirstTime","renderedFirstTime","conditionToCommit","async","commitComment","commitCommentEl","value","length","pendingChecked","chGridPendingCommitsEl","getMarkedRows","commitButtonEnabled","markAllPendingCommitsRows","markAllRows","togglePendingCommitsCheckboxes","itemsToToggle","itemsToCheck","itemsToUncheck","rowId","markRow","revertPendingCommitsCheckboxes","addedRowsIds","removedRowsId","renderIconState","state","icon","h","src","class","pendingCommitsRowMarkingChangedHandler","e","removeEventListener","detail","addedRowsId","pendingItemCheckedResult","pendingItemsCheckedCallback","itemsChecked","itemsUnchecked","undefined","addEventListener","objectsOnContextMenuCallbackHandler","grid","ev","preventDefault","stopPropagation","selection","selectedRowsId","chGridIgnoredObjectsEl","getSelectedRows","objectsContextMenuCallback","clientX","clientY","gridOnSelectionChangedCallbackHandler","selectCallback","rowsId","renderPendingCommitsGrid","rowSelectionMode","ref","el","part","onRowContextMenu","onSelectionChanged","columnType","richRowSelector","richRowSelectorMode","settingable","sortable","size","config","tabularGrid","colSize","maxContent","columnName","commonDouble","pendingCommits","map","obj","rowid","id","iconType","name","type","description","formatDate","modifiedOn","module","localState","lastSynchronized","renderIgnoredObjectsGrid","ignoredObjects","selected","getRecentCommentHandler","getRecentCommentCallback","response","comment","commitCallbackHandler","then","pendingCommitsCheckedIds","commitCallback","loadData","filtersData","pattern","patternEl","changeSet","changeSetEl","folder","foldersEl","category","categoriesEl","typesEl","evaluateFilterConditions","loadCallback","pending","ignored","toggleFiltersHandler","filtersHidden","filterHasConditions","componentWillLoad","_componentLocale","Locale","getComponentStrings","componentDidLoad","componentDidLoadEvent","emit","focus","componentDidRender","componentDidRenderFirstTime","componentName","reload","render","Host","model","noContentPadding","noHeadingPadding","headingPaddingTop","containerTitle","displayTitle","slimmerFooter","gxIdeContainer","noHeadingBorder","slot","labelPosition","noMargin","header","commentLabel","onClick","recentCommentsButton","height","singleLine","onInput","placeholder","commentPlaceholder","filtersMenu","patternLabel","changesetLabel","onValueChanged","renderComboItems","typeLabel","types","folderLabel","folders","categoryLabel","categories","displayBorder","tabs","tab","flex","disabled","footer","commitButton"],"sources":["src/components/team-dev/commit/commit.scss?tag=gx-ide-team-dev-commit&encapsulation=shadow","src/components/team-dev/commit/commit.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n display: block;\n}\n/*--- Header ---*/\n.header {\n border-top: 1px solid var(--gx-ide-container-border-color);\n display: flex;\n flex-direction: column;\n > * {\n padding: var(--gx-ide-container__padding);\n }\n &__first-row {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n margin-bottom: -3px;\n .commit-label {\n flex: none;\n }\n .commit-textarea {\n flex: none;\n }\n &__right-col {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-column-gap);\n }\n }\n &__second-row {\n padding: 0 var(--gx-ide-container__padding) var(--gx-ide-container__padding)\n var(--gx-ide-container__padding);\n }\n .filters-outer-wrapper {\n display: grid;\n padding: 0;\n grid-template-rows: 1fr;\n transition: grid-template-rows 200ms;\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n &--hidden {\n grid-template-rows: 0fr;\n }\n }\n .filters-inner-wrapper {\n overflow: hidden;\n }\n &__third-row {\n padding: 0 var(--gx-ide-container__padding) var(--gx-ide-container__padding)\n var(--gx-ide-container__padding);\n display: grid;\n column-gap: var(--gx-ide-grid-column-gap);\n row-gap: var(--gx-ide-grid-row-gap);\n grid-template-columns: auto 1fr auto 1fr;\n grid-template-areas:\n \"pattern-label pattern-form-text pattern-form-text pattern-form-text\"\n \"changeset-label changeset-combo type-label type-combo\"\n \"folder-label folder-combo category-label category-combo\";\n\n .pattern-label {\n grid-area: pattern-label;\n }\n .pattern-form-text {\n grid-area: pattern-form-text;\n }\n .changeset-label {\n grid-area: changeset-label;\n }\n .changeset-combo {\n grid-area: changeset-combo;\n }\n .type-label {\n grid-area: type-label;\n }\n .type-combo {\n grid-area: type-combo;\n }\n .folder-label {\n grid-area: folder-label;\n }\n .folder-combo {\n grid-area: folder-combo;\n }\n .category-label {\n grid-area: category-label;\n }\n .category-combo {\n grid-area: category-combo;\n }\n }\n}\n/*--- Main ---*/\n.main {\n height: 100%;\n}\n.grid-container {\n padding: 0;\n}\nch-grid {\n height: auto;\n}\n\ngxg-tab::part(container) {\n line-height: unset;\n}\n\n.tabular-grid {\n block-size: 100%;\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-td-commit\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 6\n )\n);\n\n/*--- WA to be removed after gx-ide-container is removed ---*/\ngx-ide-container::part(content) {\n overflow: hidden;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Method,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport {\n TabularGridMarkingChangedEvent,\n TabularGridRowContextMenuEvent,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\nimport {\n GxOption,\n ObjectState,\n ContextMenuInfo,\n ObjectType,\n ItemsCheckedState,\n ItemsCheckedResult\n} from \"../../../common/types\";\nimport { renderComboItems } from \"../../../common/render-combo-items\";\nimport { formatDate } from \"../../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tabular-grid\"\n];\n@Component({\n tag: \"gx-ide-team-dev-commit\",\n styleUrl: \"commit.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-commit\"]\n})\nexport class GxIdeTeamDevCommit {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private loadDataCalledFirstTime = false; // pending commits grid checkboxes, should be checked, after loadData has loaded commits for the first time.\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevCommitElement;\n\n // filters\n private patternEl!: HTMLGxgFormTextElement;\n private changeSetEl!: HTMLGxgComboBoxElement;\n private typesEl!: HTMLGxgComboBoxElement;\n private foldersEl!: HTMLGxgComboBoxElement;\n private categoriesEl!: HTMLGxgComboBoxElement;\n // other\n private chGridPendingCommitsEl!: HTMLChGridElement;\n private chGridIgnoredObjectsEl!: HTMLChGridElement;\n private commitCommentEl!: HTMLGxgFormTextareaElement;\n\n // 3.STATE() VARIABLES //\n\n @State() filtersHidden = true;\n @State() comment = \"\";\n @State() pendingCommits: ModifiedObjectData[] = [];\n @State() ignoredObjects: ModifiedObjectData[] = [];\n @State() commitButtonEnabled = false;\n @State() filterHasConditions = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Possible values for ChangeSet filter\n */\n @Prop() readonly changeSet: GxOption[];\n\n /**\n * Possible values for Type filter\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * Possible values for Folders filter\n */\n @Prop() readonly folders: GxOption[];\n\n /**\n * Possible values for Categories filter\n */\n @Prop() readonly categories: GxOption[];\n\n /**\n * Callback invoked when user press Recent Comments button.\n */\n @Prop() readonly getRecentCommentCallback: GetRecentComment;\n\n /**\n * Callback invoked when user wants to reload the grid\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked when user starts the commit process\n */\n @Prop() readonly commitCallback: CommitCallback;\n\n /**\n * Callback that should be invoked when the user selects rows from the grids\n */\n @Prop() readonly selectCallback: CommitSelectCallback;\n\n /**\n * Callback invoked when user check/uncheck any item from the 'Pending to Commit' grid\n */\n @Prop() readonly pendingItemsCheckedCallback!: PendingItemsCheckedCallback;\n\n /**\n * Callback that must be invoked when user activate the context menu in any of the grids\n */\n @Prop() readonly objectsContextMenuCallback: ObjectsContextMenuCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n async componentDidLoad() {\n await this.loadData();\n this.loadDataCalledFirstTime = true;\n this.componentDidLoadEvent.emit(true);\n this.conditionToCommit();\n this.commitCommentEl.focus();\n }\n\n async componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n\n if (this.loadDataCalledFirstTime) {\n // call this method only once\n await this.markAllPendingCommitsRows();\n // attach \"rowMarkingChanged\" after rows have been checked for the first time.\n this.chGridPendingCommitsEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingCommitsRowMarkingChangedHandler\n );\n this.loadDataCalledFirstTime = false;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * The method used by the Host to instruct the component to force a data refresh in the grids.\n */\n @Method()\n async reload(): Promise<void> {\n this.loadData();\n }\n\n // 9.LOCAL METHODS //\n\n private conditionToCommit = async () => {\n const commitComment = !!this.commitCommentEl.value.length;\n const pendingChecked = await this.chGridPendingCommitsEl.getMarkedRows();\n if (commitComment && pendingChecked.length > 0) {\n this.commitButtonEnabled = true;\n } else {\n this.commitButtonEnabled = false;\n }\n };\n\n private markAllPendingCommitsRows = () => {\n this.chGridPendingCommitsEl.markAllRows();\n };\n\n private togglePendingCommitsCheckboxes = async (\n itemsToToggle: ItemsCheckedResult\n ) => {\n if (this.chGridPendingCommitsEl) {\n const itemsToCheck: string[] = itemsToToggle.itemsToCheck;\n const itemsToUncheck: string[] = itemsToToggle.itemsToUncheck;\n // check\n for (const rowId of itemsToCheck) {\n await this.chGridPendingCommitsEl.markRow(rowId, true);\n }\n // uncheck\n for (const rowId of itemsToUncheck) {\n await this.chGridPendingCommitsEl.markRow(rowId, false);\n }\n }\n };\n\n private revertPendingCommitsCheckboxes = async (\n addedRowsIds: string[],\n removedRowsId: string[]\n ) => {\n if (this.chGridPendingCommitsEl) {\n for (const rowId of addedRowsIds) {\n await this.chGridPendingCommitsEl.markRow(rowId, false);\n }\n for (const rowId of removedRowsId) {\n await this.chGridPendingCommitsEl.markRow(rowId, true);\n }\n }\n };\n\n private renderIconState = (state: ObjectState): HTMLChImageElement => {\n let icon: string;\n switch (state) {\n case \"inserted\":\n icon = \"gx-server/new\";\n break;\n case \"modified\":\n icon = \"gx-server/changes-commit-pending\";\n break;\n case \"deleted\":\n icon = \"gx-server/delete\";\n break;\n case \"conflicted\":\n icon = \"gx-server/conflict\";\n break;\n }\n return <ch-image src={icon} class=\"icon-md\"></ch-image>;\n };\n\n private pendingCommitsRowMarkingChangedHandler = async (\n e: CustomEvent<TabularGridMarkingChangedEvent>\n ): Promise<void> => {\n // remove \"rowMarkingChanged\" until checkboxes have been added/removed on togglePendingCommitsCheckboxes, to prevent loops.\n this.chGridPendingCommitsEl.removeEventListener(\n \"rowMarkingChanged\",\n this.pendingCommitsRowMarkingChangedHandler\n );\n if (this.chGridPendingCommitsEl) {\n const addedRowsIds = e.detail.addedRowsId;\n const removedRowsId = e.detail.removedRowsId;\n const pendingItemCheckedResult = await this.pendingItemsCheckedCallback({\n itemsChecked: addedRowsIds,\n itemsUnchecked: removedRowsId\n });\n if (pendingItemCheckedResult === undefined) {\n // undo check/uncheck\n await this.revertPendingCommitsCheckboxes(addedRowsIds, removedRowsId);\n } else {\n await this.togglePendingCommitsCheckboxes(pendingItemCheckedResult);\n }\n this.conditionToCommit();\n this.chGridPendingCommitsEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingCommitsRowMarkingChangedHandler\n );\n }\n };\n\n private objectsOnContextMenuCallbackHandler =\n (grid: CommitSourceType) =>\n async (ev: CustomEvent<TabularGridRowContextMenuEvent>) => {\n ev.preventDefault();\n ev.stopPropagation();\n let selection: string[] = [];\n if (grid === \"commit\") {\n selection = ev.detail.selectedRowsId;\n } else if (grid === \"ignored\") {\n selection = await this.chGridIgnoredObjectsEl.getSelectedRows();\n }\n if (this.objectsContextMenuCallback) {\n await this.objectsContextMenuCallback(grid, {\n selection: selection,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n };\n\n private gridOnSelectionChangedCallbackHandler =\n (grid: CommitSourceType) =>\n async (ev: CustomEvent<TabularGridSelectionChangedEvent>) => {\n if (this.selectCallback) {\n await this.selectCallback(grid, ev.detail.rowsId);\n }\n };\n\n /* pending commits grid render*/\n private renderPendingCommitsGrid = (): Element => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-td-commit\"\n rowSelectionMode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridPendingCommitsEl = el)\n }\n part=\"ch-grid-pending-commits\"\n onRowContextMenu={this.objectsOnContextMenuCallbackHandler(\"commit\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"commit\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnType=\"rich\"\n richRowSelector\n richRowSelectorMode=\"mark\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"State\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Name\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Type\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Description\"\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Modified On\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Module\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Local State\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Last Synchronized\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n {/* <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n sortable\n columnName=\"User\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column> */}\n </ch-tabular-grid-columnset>\n\n {this.pendingCommits.map((obj: ModifiedObjectData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector\n class=\"tabular-grid-cell\"\n ></ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.iconType} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\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 {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 {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module}\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.localState}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.lastSynchronized)}`}\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-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n /* ignored objects grid render*/\n private renderIgnoredObjectsGrid = (): Element => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n rowSelectionMode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridIgnoredObjectsEl = el)\n }\n part=\"ch-grid-pending-commits\"\n onRowContextMenu={this.objectsOnContextMenuCallbackHandler(\"ignored\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"ignored\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"TypeIcon\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Name\"\n settingable={false}\n sortable\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Type\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Description\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Modified On\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Module\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Local State\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Last Synchronized\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n {/* <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"User\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column> */}\n </ch-tabular-grid-columnset>\n\n {this.ignoredObjects.map((obj: ModifiedObjectData) => (\n <ch-tabular-grid-row rowid={obj.id} selected class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.iconType} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\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 {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 {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.localState}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.lastSynchronized)}`}\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-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private getRecentCommentHandler = async () => {\n if (this.getRecentCommentCallback) {\n const response = await this.getRecentCommentCallback();\n if (response) {\n this.comment = response;\n }\n }\n };\n\n private commitCallbackHandler = async () => {\n const commitCommentEl = this.commitCommentEl.value;\n this.chGridPendingCommitsEl\n .getMarkedRows()\n .then(async pendingCommitsCheckedIds => {\n await this.commitCallback(pendingCommitsCheckedIds, commitCommentEl);\n /* returns boolean*/\n });\n };\n\n private loadData = async (): Promise<void> => {\n const filtersData: FiltersData = {\n pattern: this.patternEl.value,\n changeSet: this.changeSetEl.value,\n folder: this.foldersEl.value,\n category: this.categoriesEl.value,\n type: this.typesEl.value\n };\n\n this.evaluateFilterConditions();\n\n // this.pendingCommits = null;\n // this.ignoredObjects = null;\n\n return await this.loadCallback(filtersData).then(\n async ({ pending, ignored }) => {\n this.pendingCommits = pending;\n this.ignoredObjects = ignored;\n }\n );\n };\n\n private toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n private evaluateFilterConditions = () => {\n if (\n this.patternEl.value ||\n this.changeSetEl.value ||\n this.typesEl.value ||\n this.foldersEl.value ||\n this.categoriesEl.value\n ) {\n this.filterHasConditions = true;\n } else {\n this.filterHasConditions = false;\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noHeadingPadding\n headingPaddingTop\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n noHeadingBorder\n >\n <div class=\"header\" slot=\"header\">\n <div class=\"header__first-row\">\n <div class=\"header__first-row__left-col\">\n <gxg-label\n part=\"commit-label\"\n labelPosition=\"start\"\n class=\"commit-label\"\n noMargin\n >\n {this._componentLocale.header.commentLabel}\n </gxg-label>\n </div>\n <div class=\"header__first-row__right-col\">\n {/* filter button*/}\n <gxg-button\n onClick={this.toggleFiltersHandler}\n type=\"secondary-icon-only\"\n icon={\n this.filterHasConditions\n ? \"window-tools/filter-conditions\"\n : \"window-tools/filter\"\n }\n part=\"gxg-button gxg-button--show-filter\"\n class=\"filter-btn\"\n ></gxg-button>\n\n {/* reset button*/}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.loadData}\n part=\"gxg-button gxg-button--reload\"\n class=\"reset-btn\"\n ></gxg-button>\n\n {/* recen comments button*/}\n <gxg-button\n class=\"header-button\"\n type=\"outlined\"\n part=\"location\"\n onClick={this.getRecentCommentHandler}\n >\n {this._componentLocale.header.recentCommentsButton}\n </gxg-button>\n </div>\n </div>\n <div class=\"header__second-row\">\n {/* commit comment textarea*/}\n <gxg-form-textarea\n height=\"90px\"\n value={this.comment}\n ref={(el: HTMLGxgFormTextareaElement) =>\n (this.commitCommentEl = el)\n }\n singleLine\n onInput={this.conditionToCommit}\n placeholder={this._componentLocale.header.commentPlaceholder}\n part=\"comment\"\n class=\"commit-textarea\"\n ></gxg-form-textarea>\n </div>\n <div\n class={{\n \"filters-outer-wrapper\": true,\n \"filters-outer-wrapper--hidden\": this.filtersHidden\n }}\n >\n <div\n class={{\n \"filters-inner-wrapper\": true\n }}\n >\n <div\n class={{\n \"header__third-row\": true\n }}\n >\n {/* pattern*/}\n <gxg-label\n part=\"pattern-label\"\n labelPosition=\"start\"\n class=\"pattern-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.patternLabel}\n </gxg-label>\n <gxg-form-text\n disable-filter\n value=\"\"\n ref={(el: HTMLGxgFormTextElement) =>\n (this.patternEl = el as HTMLGxgFormTextElement)\n }\n display-validation-styles\n display-validation-message\n part=\"pattern-form-text\"\n class=\"pattern-form-text\"\n onInput={this.loadData}\n ></gxg-form-text>\n\n {/* changeset */}\n <gxg-label\n part=\"changeset-label\"\n labelPosition=\"start\"\n class=\"changeset-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.changesetLabel}\n </gxg-label>\n <gxg-combo-box\n value={this.changeSet[0][\"id\"]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.changeSetEl = el as HTMLGxgComboBoxElement)\n }\n part=\"changeset-combo\"\n class=\"changeset-combo\"\n display-validation-styles\n display-validation-message\n onValueChanged={this.loadData}\n >\n {renderComboItems(this.changeSet)}\n </gxg-combo-box>\n\n {/* type */}\n <gxg-label\n part=\"type-label\"\n labelPosition=\"start\"\n class=\"type-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.typeLabel}\n </gxg-label>\n <gxg-combo-box\n labelPosition=\"start\"\n value={this.types[0][\"id\"]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.typesEl = el as HTMLGxgComboBoxElement)\n }\n part=\"type-combo\"\n class=\"type-combo\"\n onValueChanged={this.loadData}\n >\n {renderComboItems(this.types)}\n </gxg-combo-box>\n\n {/* folder */}\n <gxg-label\n part=\"folder-label\"\n labelPosition=\"start\"\n class=\"folder-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.folderLabel}\n </gxg-label>\n <gxg-combo-box\n value={this.folders[0][\"id\"]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.foldersEl = el as HTMLGxgComboBoxElement)\n }\n part=\"folder-combo\"\n display-validation-styles\n display-validation-message\n onValueChanged={this.loadData}\n >\n {renderComboItems(this.folders)}\n </gxg-combo-box>\n\n {/* category */}\n <gxg-label\n part=\"category-label\"\n labelPosition=\"start\"\n class=\"category-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.categoryLabel}\n </gxg-label>\n <gxg-combo-box\n value={this.categories[0][\"id\"]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.categoriesEl = el as HTMLGxgComboBoxElement)\n }\n part=\"category-combo\"\n class=\"category-combo\"\n onValueChanged={this.loadData}\n >\n {renderComboItems(this.categories)}\n </gxg-combo-box>\n </div>\n </div>\n </div>\n </div>\n <main class=\"main\">\n <gx-ide-container noContentPadding class=\"grid-container\">\n <div class=\"tabs-container gxi-full-height\">\n <gxg-tabs class=\"gxg-tabs\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={`${this._componentLocale.tabs.pendingCommits} (${this.pendingCommits.length})`}\n tab=\"pending-commits\"\n is-selected\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={`${this._componentLocale.tabs.ignoredObjects} (${this.ignoredObjects.length})`}\n tab=\"ignored-objects\"\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab tab=\"pending-commits\" no-padding flex>\n {this.renderPendingCommitsGrid()}\n </gxg-tab>\n <gxg-tab tab=\"ignored-objects\" no-padding flex>\n {this.renderIgnoredObjectsGrid()}\n </gxg-tab>\n </gxg-tabs>\n </div>\n </gx-ide-container>\n </main>\n\n {/* footer */}\n <gxg-button\n slot=\"footer-end\"\n type=\"primary-text-only\"\n onClick={this.commitCallbackHandler}\n part=\"commit-button\"\n disabled={!this.commitButtonEnabled}\n >\n {this._componentLocale.footer.commitButton}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type GetRecentComment = () => Promise<string | undefined>;\n\nexport type LoadCallback = (filters: FiltersData) => Promise<CommitData>;\n\nexport type CommitCallback = (\n selection: string[],\n commitCommentEl: string\n) => Promise<boolean>;\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type CommitSelectCallback = (\n grid: CommitSourceType,\n selectionIds: string[]\n) => Promise<void>;\n\nexport type ItemCheckedCallback = (\n checkedItemIds: string[]\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type ObjectsContextMenuCallback = (\n grid: CommitSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type CommitSourceType = \"commit\" | \"ignored\";\n\nexport type CommitData = {\n pending: ModifiedObjectData[];\n ignored: ModifiedObjectData[];\n};\n\nexport type ModifiedObjectData = {\n id: string;\n name: string;\n iconType: string;\n state: ObjectState;\n type: string;\n description: string;\n modifiedOn: Date;\n module: string;\n localState: ObjectState;\n lastSynchronized: Date;\n user: string;\n};\n\nexport type FiltersData = {\n pattern: string;\n changeSet: string;\n type: string;\n folder: string;\n category: string;\n};\n"],"mappings":"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"}
@@ -0,0 +1,541 @@
1
+ import { r as t, h as e, H as i, a } from "./p-25a9f1d7.js";
2
+
3
+ import { g as s } from "./p-ede7bd20.js";
4
+
5
+ import { c as r } from "./p-13738332.js";
6
+
7
+ import { f as l } from "./p-9ddea83b.js";
8
+
9
+ import { L as n } from "./p-311eedf3.js";
10
+
11
+ const mapObjectTypeToComboBoxItemModel = t => t.map((t => ({
12
+ value: t.id,
13
+ caption: t.name,
14
+ startImgSrc: t.icon
15
+ })));
16
+
17
+ const hasActiveNode = t => {
18
+ if (t.active) {
19
+ return true;
20
+ }
21
+ if (Array.isArray(t.nodes)) {
22
+ return t.nodes.some(hasActiveNode);
23
+ }
24
+ return false;
25
+ };
26
+
27
+ const hasActiveVersionInList = t => t.some(hasActiveNode);
28
+
29
+ const o = ':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}';
30
+
31
+ var c = undefined && undefined.__classPrivateFieldGet || function(t, e, i, a) {
32
+ if (i === "a" && !a) throw new TypeError("Private accessor was defined without a getter");
33
+ if (typeof e === "function" ? t !== e || !a : !e.has(t)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
34
+ return i === "m" ? a : i === "a" ? a.call(t) : a ? a.value : e.get(t);
35
+ };
36
+
37
+ var d = undefined && undefined.__classPrivateFieldSet || function(t, e, i, a, s) {
38
+ if (a === "m") throw new TypeError("Private method is not writable");
39
+ if (a === "a" && !s) throw new TypeError("Private accessor was defined without a setter");
40
+ if (typeof e === "function" ? t !== e || !s : !e.has(t)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
41
+ return a === "a" ? s.call(t, i) : s ? s.value = i : e.set(t, i), i;
42
+ };
43
+
44
+ var h, u, m, f, g, b, p, v, w, y, x, k, _, M, W, z, C, T, j;
45
+
46
+ const E = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/spacing", "utils/typography", "chameleon/scrollbar", "components/tabular-grid", "components/accordion", "components/sidebar" ];
47
+
48
+ const F = s({
49
+ category: "gx-server",
50
+ name: "changes-commit-pending"
51
+ });
52
+
53
+ const I = s({
54
+ category: "window-tools",
55
+ name: "filter",
56
+ colorType: "primary"
57
+ });
58
+
59
+ const L = s({
60
+ category: "window-tools",
61
+ name: "filter",
62
+ colorType: "on-surface"
63
+ });
64
+
65
+ const A = s({
66
+ category: "gx-server",
67
+ name: "delete"
68
+ });
69
+
70
+ const D = s({
71
+ category: "gx-server",
72
+ name: "new"
73
+ });
74
+
75
+ const S = s({
76
+ category: "gx-server",
77
+ name: "private"
78
+ });
79
+
80
+ const B = s({
81
+ category: "gemini-tools",
82
+ name: "reset",
83
+ colorType: "primary"
84
+ });
85
+
86
+ const N = s({
87
+ category: "gemini-tools",
88
+ name: "search",
89
+ colorType: "on-surface"
90
+ });
91
+
92
+ const P = class {
93
+ constructor(i) {
94
+ t(this, i);
95
+ h.set(this, void 0);
96
+ u.set(this, []);
97
+ m.set(this, void 0);
98
+ f.set(this, void 0);
99
+ g.set(this, void 0);
100
+ b.set(this, void 0);
101
+ p.set(this, void 0);
102
+ v.set(this, void 0);
103
+ w.set(this, void 0);
104
+ y.set(this, void 0);
105
+ x.set(this, (t => {
106
+ let i = e("ch-image", {
107
+ src: S,
108
+ class: "icon-sm"
109
+ });
110
+ switch (t) {
111
+ case "Inserted":
112
+ i = e("ch-image", {
113
+ src: D,
114
+ class: "icon-sm"
115
+ });
116
+ break;
117
+
118
+ case "Modified":
119
+ i = e("ch-image", {
120
+ src: F,
121
+ class: "icon-sm"
122
+ });
123
+ break;
124
+
125
+ case "Deleted":
126
+ i = e("ch-image", {
127
+ src: A,
128
+ class: "icon-sm"
129
+ });
130
+ break;
131
+ }
132
+ return i;
133
+ }));
134
+ k.set(this, (async t => {
135
+ var e;
136
+ this.loading = true;
137
+ const i = {
138
+ search: c(this, g, "f").value ? c(this, g, "f").value : "",
139
+ from: c(this, m, "f").value ? new Date(c(this, m, "f").value) : null,
140
+ to: c(this, b, "f").value ? new Date(c(this, b, "f").value) : null,
141
+ revision: c(this, f, "f").value ? c(this, f, "f").value : "",
142
+ user: c(this, v, "f").value ? c(this, v, "f").value : "",
143
+ type: c(this, p, "f").value === "all" ? "" : c(this, p, "f").value
144
+ };
145
+ this.objects = await this.loadCallback(i, t);
146
+ await c(this, _, "f").call(this, (e = this.objects[0]) === null || e === void 0 ? void 0 : e.id);
147
+ this.loading = false;
148
+ }));
149
+ _.set(this, (async t => {
150
+ if (t) {
151
+ this.historyDetail = await this.loadDetailCallback(t);
152
+ this.selectedRevisionId = t;
153
+ } else {
154
+ this.historyDetail = null;
155
+ }
156
+ }));
157
+ M.set(this, (() => {
158
+ if (c(this, y, "f")) {
159
+ c(this, y, "f").addEventListener("contextmenu", (t => {
160
+ t.preventDefault();
161
+ t.stopPropagation();
162
+ c(this, W, "f").call(this, t);
163
+ }));
164
+ }
165
+ }));
166
+ W.set(this, (async t => {
167
+ this.gridContextMenuCallback({
168
+ selection: [ this.selectedRevisionId ],
169
+ clientX: t.clientX,
170
+ clientY: t.clientY
171
+ });
172
+ }));
173
+ z.set(this, (() => {
174
+ this.filtersHidden = !this.filtersHidden;
175
+ }));
176
+ C.set(this, (() => {
177
+ var t;
178
+ const i = ((t = this.objects) === null || t === void 0 ? void 0 : t.length) === 0 || !this.objects;
179
+ return e("ch-tabular-grid", {
180
+ class: {
181
+ "commits-grid": true,
182
+ "tabular-grid": true,
183
+ "tabular-grid--empty": i
184
+ },
185
+ onSelectionChanged: t => {
186
+ this.objects.length > 0 && c(this, _, "f").call(this, t.detail.rowsId[0]);
187
+ },
188
+ ref: t => {
189
+ var e;
190
+ if (t && c(this, y, "f") !== t) {
191
+ d(this, y, t, "f");
192
+ c(this, M, "f").call(this);
193
+ if (this.objects.length > 0) {
194
+ c(this, y, "f").selectRow((e = this.objects[0]) === null || e === void 0 ? void 0 : e.id, true);
195
+ }
196
+ }
197
+ }
198
+ }, e("ch-tabular-grid-columnset", {
199
+ class: "tabular-grid-column-set"
200
+ }, e("ch-tabular-grid-column", {
201
+ "column-name": c(this, h, "f").mainGrid.columns.id,
202
+ "column-name-position": "text",
203
+ class: "tabular-grid-column",
204
+ settingable: false,
205
+ size: "max-content"
206
+ }), e("ch-tabular-grid-column", {
207
+ "column-name": c(this, h, "f").mainGrid.columns.comment,
208
+ "column-name-position": "text",
209
+ class: "tabular-grid-column",
210
+ settingable: false,
211
+ size: "1fr"
212
+ }), e("ch-tabular-grid-column", {
213
+ "column-name": c(this, h, "f").mainGrid.columns.user,
214
+ "column-name-position": "text",
215
+ class: "tabular-grid-column",
216
+ settingable: false,
217
+ size: "max-content"
218
+ }), e("ch-tabular-grid-column", {
219
+ "column-name": c(this, h, "f").mainGrid.columns.commitDate,
220
+ "column-name-position": "text",
221
+ class: "tabular-grid-column",
222
+ settingable: false,
223
+ size: "max-content"
224
+ })), this.objects.length > 0 ? e("ch-tabular-grid-rowset", {
225
+ class: "tabular-grid-rowset"
226
+ }, this.objects.map((t => e("ch-tabular-grid-row", {
227
+ rowid: t.id,
228
+ key: t.id,
229
+ class: "tabular-grid-row"
230
+ }, e("ch-tabular-grid-cell", {
231
+ class: "tabular-grid-cell"
232
+ }, t.id), e("ch-tabular-grid-cell", {
233
+ class: "tabular-grid-cell"
234
+ }, t.comment), e("ch-tabular-grid-cell", {
235
+ class: "tabular-grid-cell"
236
+ }, t.user), e("ch-tabular-grid-cell", {
237
+ class: "tabular-grid-cell"
238
+ }, `${l(t.commitDate, "date-time")}`))))) : e("ch-tabular-grid-rowset", {
239
+ class: "tabular-grid-rowset"
240
+ }, e("ch-tabular-grid-rowset-empty", null, e("gx-ide-empty-state", {
241
+ stateTitle: c(this, h, "f").emptyRevisionsText,
242
+ isAnimated: true
243
+ }))), e("ch-tabular-grid-row", {
244
+ class: "tabular-grid-row"
245
+ }));
246
+ }));
247
+ T.set(this, (() => {
248
+ var t;
249
+ const i = this.historyDetail ? this.historyDetail.objects : [];
250
+ const a = ((t = this.historyDetail) === null || t === void 0 ? void 0 : t.objects.length) === 0 || !this.historyDetail;
251
+ return e("ch-tabular-grid", {
252
+ class: {
253
+ "affected-objects-grid": true,
254
+ "tabular-grid": true,
255
+ "tabular-grid--empty": a
256
+ }
257
+ }, e("ch-tabular-grid-columnset", {
258
+ class: "tabular-grid-column-set"
259
+ }, e("ch-tabular-grid-column", {
260
+ "column-name-position": "text",
261
+ class: "tabular-grid-column",
262
+ settingable: false,
263
+ size: "max-content"
264
+ }), e("ch-tabular-grid-column", {
265
+ "column-name-position": "text",
266
+ class: "tabular-grid-column",
267
+ settingable: false,
268
+ size: r.tabularGrid.colSize.auto
269
+ }), e("ch-tabular-grid-column", {
270
+ "column-name": c(this, h, "f").affectedObjectsGrid.columns.name,
271
+ "column-name-position": "text",
272
+ class: "tabular-grid-column",
273
+ settingable: false,
274
+ size: "max-content"
275
+ }), e("ch-tabular-grid-column", {
276
+ "column-name": c(this, h, "f").affectedObjectsGrid.columns.types,
277
+ "column-name-position": "text",
278
+ class: "tabular-grid-column",
279
+ settingable: false,
280
+ size: "max-content"
281
+ }), e("ch-tabular-grid-column", {
282
+ "column-name": c(this, h, "f").affectedObjectsGrid.columns.description,
283
+ "column-name-position": "text",
284
+ class: "tabular-grid-column",
285
+ settingable: false,
286
+ size: "1fr"
287
+ }), e("ch-tabular-grid-column", {
288
+ "column-name": c(this, h, "f").affectedObjectsGrid.columns.action,
289
+ "column-name-position": "text",
290
+ class: "tabular-grid-column",
291
+ settingable: false,
292
+ size: "max-content"
293
+ })), this.historyDetail && this.historyDetail.objects.length > 0 ? e("ch-tabular-grid-rowset", {
294
+ class: "tabular-grid-rowset"
295
+ }, i.map((t => e("ch-tabular-grid-row", {
296
+ class: "tabular-grid-row"
297
+ }, e("ch-tabular-grid-cell", {
298
+ class: "tabular-grid-cell"
299
+ }, e("ch-image", {
300
+ src: t.typeIcon,
301
+ class: "icon-md"
302
+ })), e("ch-tabular-grid-cell", {
303
+ class: "tabular-grid-cell"
304
+ }, c(this, x, "f").call(this, t.state)), e("ch-tabular-grid-cell", {
305
+ class: "tabular-grid-cell"
306
+ }, t.name), e("ch-tabular-grid-cell", {
307
+ class: "tabular-grid-cell"
308
+ }, t.type), e("ch-tabular-grid-cell", {
309
+ class: "tabular-grid-cell"
310
+ }, t.description), e("ch-tabular-grid-cell", {
311
+ class: "tabular-grid-cell"
312
+ }, t.action))))) : e("ch-tabular-grid-rowset", {
313
+ class: "tabular-grid-rowset"
314
+ }, e("ch-tabular-grid-rowset-empty", null, e("gx-ide-empty-state", {
315
+ stateIconSrc: L,
316
+ stateTitle: c(this, h, "f").emptyHistoryDetailText,
317
+ isAnimated: true
318
+ }))), e("ch-tabular-grid-row", {
319
+ class: "tabular-grid-row"
320
+ }));
321
+ }));
322
+ j.set(this, (() => this.loading && e("div", {
323
+ class: "main__content scrollable"
324
+ }, e("gx-ide-loader", {
325
+ loaderTitle: c(this, h, "f").loader.title,
326
+ show: true,
327
+ description: c(this, h, "f").loader.description
328
+ }))));
329
+ this.historyDetail = undefined;
330
+ this.objects = [];
331
+ this.isFirstLoad = true;
332
+ this.sidebarExpanded = true;
333
+ this.filtersHidden = true;
334
+ this.loading = true;
335
+ this.selectedRevisionId = undefined;
336
+ this.hasActiveVersion = false;
337
+ this.types = undefined;
338
+ this.itemContextMenuCallback = undefined;
339
+ this.gridContextMenuCallback = undefined;
340
+ this.selectedVersionId = undefined;
341
+ this.versions = [];
342
+ this.loadCallback = undefined;
343
+ this.loadDetailCallback = undefined;
344
+ this.selectedVersionChangeCallback = undefined;
345
+ }
346
+ async selectedVersionIdChanged(t) {
347
+ var e;
348
+ this.selectedVersionId = t;
349
+ // Reset filters
350
+ c(this, g, "f").value = null;
351
+ c(this, m, "f").value = null;
352
+ c(this, b, "f").value = null;
353
+ c(this, f, "f").value = null;
354
+ c(this, v, "f").value = null;
355
+ c(this, p, "f").value = (e = c(this, u, "f")[0]) === null || e === void 0 ? void 0 : e.value;
356
+ await c(this, k, "f").call(this, t);
357
+ }
358
+ async versionsListChanged(t) {
359
+ this.versions = t;
360
+ this.hasActiveVersion = hasActiveVersionInList(t);
361
+ if (t.length > 0 && this.selectedVersionId && this.isFirstLoad) {
362
+ await c(this, k, "f").call(this, this.selectedVersionId);
363
+ this.isFirstLoad = false;
364
+ }
365
+ }
366
+ async componentWillLoad() {
367
+ d(this, h, await n.getComponentStrings(this.el), "f");
368
+ d(this, u, mapObjectTypeToComboBoxItemModel(this.types), "f");
369
+ }
370
+ async componentDidLoad() {
371
+ c(this, w, "f").addEventListener("expandedChange", (t => {
372
+ this.sidebarExpanded = t.detail;
373
+ }));
374
+ }
375
+ render() {
376
+ var t;
377
+ return e(i, {
378
+ class: "widget"
379
+ }, e("ch-theme", {
380
+ model: E
381
+ }), e("ch-sidebar", {
382
+ ref: t => d(this, w, t, "f"),
383
+ class: "sidebar",
384
+ expanded: this.sidebarExpanded,
385
+ expandButtonCollapseAccessibleName: c(this, h, "f").sidebar.collapseAriaLabel,
386
+ expandButtonExpandAccessibleName: c(this, h, "f").sidebar.expandAriaLabel,
387
+ showExpandButton: true
388
+ }, e("gx-ide-select-kb-items", {
389
+ class: {
390
+ "sidebar-expanded": this.sidebarExpanded,
391
+ "has-active-version": this.hasActiveVersion
392
+ },
393
+ checkboxType: "none",
394
+ itemsList: this.versions,
395
+ expandOnClick: false,
396
+ selectionChanged: this.selectedVersionChangeCallback,
397
+ itemContextMenuCallback: this.itemContextMenuCallback
398
+ })), e("main", {
399
+ class: "main spacing-body-block-start spacing-body-inline"
400
+ }, e("div", {
401
+ class: "main__header"
402
+ }, e("div", {
403
+ class: "search-filter"
404
+ }, e("div", {
405
+ class: "field field-inline"
406
+ }, e("label", {
407
+ class: "label",
408
+ htmlFor: "search"
409
+ }, c(this, h, "f").filters.search), e("ch-edit", {
410
+ value: "",
411
+ class: "input",
412
+ startImgSrc: N,
413
+ part: "search",
414
+ id: "search",
415
+ ref: t => d(this, g, t, "f")
416
+ })), e("button", {
417
+ id: "filter-toggle-button",
418
+ class: "button-teritary button-icon-only",
419
+ "aria-label": c(this, h, "f").searchFilter.filterAriaLabel,
420
+ "aria-expanded": this.filtersHidden ? "false" : "true",
421
+ "aria-controls": "filters-container",
422
+ onClick: () => c(this, z, "f").call(this)
423
+ }, e("ch-image", {
424
+ class: "icon-md",
425
+ src: I
426
+ })), e("button", {
427
+ class: "button-teritary button-icon-only",
428
+ "aria-label": c(this, h, "f").searchFilter.reloadAriaLabel,
429
+ onClick: () => c(this, k, "f").call(this, this.selectedVersionId),
430
+ part: c(this, h, "f").searchFilter.reloadAriaLabel
431
+ }, e("ch-image", {
432
+ class: "icon-md",
433
+ src: B
434
+ }))), e("div", {
435
+ id: "filters-container",
436
+ "aria-labelledby": "filter-toggle-button",
437
+ class: {
438
+ "filters-container-visible": !this.filtersHidden,
439
+ "filters-container": true
440
+ },
441
+ inert: this.filtersHidden,
442
+ hidden: this.filtersHidden
443
+ }, e("div", null, e("div", {
444
+ class: "filters-grid"
445
+ }, e("div", {
446
+ class: "field field-block field-from"
447
+ }, e("label", {
448
+ class: "label",
449
+ htmlFor: "from"
450
+ }, c(this, h, "f").filters.from), e("ch-edit", {
451
+ value: "",
452
+ class: "input",
453
+ type: "date",
454
+ part: "from",
455
+ id: "from",
456
+ ref: t => d(this, m, t, "f")
457
+ })), e("div", {
458
+ class: "field field-block field-to"
459
+ }, e("label", {
460
+ class: "label",
461
+ htmlFor: "to"
462
+ }, c(this, h, "f").filters.to), e("ch-edit", {
463
+ value: "",
464
+ class: "input",
465
+ type: "date",
466
+ id: "to",
467
+ ref: t => d(this, b, t, "f")
468
+ })), e("div", {
469
+ class: "field field-block field-type"
470
+ }, e("label", {
471
+ class: "label",
472
+ htmlFor: "type"
473
+ }, c(this, h, "f").filters.type), e("ch-combo-box-render", {
474
+ accessibleName: "types",
475
+ class: "combo-box",
476
+ part: "type",
477
+ model: c(this, u, "f"),
478
+ value: (t = c(this, u, "f")[0]) === null || t === void 0 ? void 0 : t.value,
479
+ ref: t => d(this, p, t, "f")
480
+ })), e("div", {
481
+ class: "field field-block field-user"
482
+ }, e("label", {
483
+ class: "label",
484
+ htmlFor: "user"
485
+ }, c(this, h, "f").filters.user), e("ch-edit", {
486
+ value: "",
487
+ part: "user",
488
+ class: "input",
489
+ id: "user",
490
+ ref: t => d(this, v, t, "f")
491
+ })), e("div", {
492
+ class: "field field-block field-revision"
493
+ }, e("label", {
494
+ class: "label",
495
+ htmlFor: "revision"
496
+ }, c(this, h, "f").filters.revision), e("ch-edit", {
497
+ value: "",
498
+ part: "revision",
499
+ class: "input",
500
+ id: "revision",
501
+ ref: t => d(this, f, t, "f")
502
+ })))))), c(this, j, "f").call(this), !this.loading && e("div", {
503
+ class: "main__content scrollable"
504
+ }, c(this, C, "f").call(this), e("div", {
505
+ class: "field field-block"
506
+ }, e("label", {
507
+ class: "label",
508
+ htmlFor: "comment-area"
509
+ }, this.historyDetail ? this.historyDetail.title : null), e("ch-edit", {
510
+ class: "input comment-text-area",
511
+ value: this.historyDetail ? this.historyDetail.comment : null,
512
+ multiline: true,
513
+ autoGrow: true,
514
+ readonly: true,
515
+ part: "comment-area",
516
+ id: "comment-area"
517
+ })), c(this, T, "f").call(this))));
518
+ }
519
+ static get assetsDirs() {
520
+ return [ "gx-ide-assets/team-dev-history" ];
521
+ }
522
+ get el() {
523
+ return a(this);
524
+ }
525
+ static get watchers() {
526
+ return {
527
+ selectedVersionId: [ "selectedVersionIdChanged" ],
528
+ versions: [ "versionsListChanged" ]
529
+ };
530
+ }
531
+ };
532
+
533
+ h = new WeakMap, u = new WeakMap, m = new WeakMap, f = new WeakMap, g = new WeakMap,
534
+ b = new WeakMap, p = new WeakMap, v = new WeakMap, w = new WeakMap, y = new WeakMap,
535
+ x = new WeakMap, k = new WeakMap, _ = new WeakMap, M = new WeakMap, W = new WeakMap,
536
+ z = new WeakMap, C = new WeakMap, T = new WeakMap, j = new WeakMap;
537
+
538
+ P.style = o;
539
+
540
+ export { P as gx_ide_team_dev_history };
541
+ //# sourceMappingURL=p-74715731.entry.js.map