diff --git a/packages/ketchup-react/package.json b/packages/ketchup-react/package.json index 46da7a5e9..6f03891ab 100644 --- a/packages/ketchup-react/package.json +++ b/packages/ketchup-react/package.json @@ -1,6 +1,6 @@ { "name": "@sme.up/ketchup-react", - "version": "10.4.9", + "version": "10.4.10", "main": "dist/components.js", "module": "dist/components.js", "types": "dist/components.d.ts", @@ -22,7 +22,7 @@ "license": "Apache-2.0", "repository": "https://github.com/smeup/ketchup", "dependencies": { - "@sme.up/ketchup": "10.4.9", + "@sme.up/ketchup": "10.4.10", "@stencil/react-output-target": "^0.8" }, "devDependencies": { diff --git a/packages/ketchup-showcase/package.json b/packages/ketchup-showcase/package.json index 3cb65e105..2999b1a80 100644 --- a/packages/ketchup-showcase/package.json +++ b/packages/ketchup-showcase/package.json @@ -19,7 +19,7 @@ "lint": "vue-cli-service lint" }, "dependencies": { - "@sme.up/ketchup": "^10.4.9", + "@sme.up/ketchup": "^10.4.10", "core-js": "^3.30.2", "vue": "^2.6.14", "vue-router": "^3.5.1" diff --git a/packages/ketchup-showcase/src/App.vue b/packages/ketchup-showcase/src/App.vue index 987ac3712..43e523868 100644 --- a/packages/ketchup-showcase/src/App.vue +++ b/packages/ketchup-showcase/src/App.vue @@ -55,8 +55,8 @@ @kup-tree-nodeselected="treeClick" >
v10.4.9v10.4.10
diff --git a/packages/ketchup/package.json b/packages/ketchup/package.json index dea007998..8f39db04a 100644 --- a/packages/ketchup/package.json +++ b/packages/ketchup/package.json @@ -1,6 +1,6 @@ { "name": "@sme.up/ketchup", - "version": "10.4.9", + "version": "10.4.10", "keywords": [ "smeup", "KetchUP", diff --git a/packages/ketchup/src/components/kup-card/dialog/kup-card-dialog.tsx b/packages/ketchup/src/components/kup-card/dialog/kup-card-dialog.tsx index 9f4649d0a..7d90fe272 100644 --- a/packages/ketchup/src/components/kup-card/dialog/kup-card-dialog.tsx +++ b/packages/ketchup/src/components/kup-card/dialog/kup-card-dialog.tsx @@ -317,7 +317,7 @@ export function create8(component: KupCard): VNode { const isReservedID = (id: string) => { return ( id === KupColumnMenuIds.BUTTON_OPEN_IN_NEW || - id === KupColumnMenuIds.BUTTON_SEARCH || + id === KupColumnMenuIds.BUTTON_PREVIEW || id === KupColumnMenuIds.BUTTON_COPY_OBJ ); }; @@ -377,7 +377,7 @@ export function create8(component: KupCard): VNode {
{textArray[0] || buttonsIds.includes(KupColumnMenuIds.BUTTON_OPEN_IN_NEW) || - buttonsIds.includes(KupColumnMenuIds.BUTTON_SEARCH) || + buttonsIds.includes(KupColumnMenuIds.BUTTON_PREVIEW) || buttonsIds.includes(KupColumnMenuIds.BUTTON_COPY_OBJ) ? (
{textArray[0] ? ( @@ -394,7 +394,7 @@ export function create8(component: KupCard): VNode { KupColumnMenuIds.BUTTON_OPEN_IN_NEW ) || buttonsIds.includes( - KupColumnMenuIds.BUTTON_SEARCH + KupColumnMenuIds.BUTTON_PREVIEW ) || buttonsIds.includes( KupColumnMenuIds.BUTTON_COPY_OBJ @@ -412,13 +412,13 @@ export function create8(component: KupCard): VNode { /> ) : null} {buttonsIds.includes( - KupColumnMenuIds.BUTTON_SEARCH + KupColumnMenuIds.BUTTON_PREVIEW ) ? ( x.id === - KupColumnMenuIds.BUTTON_SEARCH + KupColumnMenuIds.BUTTON_PREVIEW )} /> ) : null} diff --git a/packages/ketchup/src/components/kup-card/standard/kup-card-standard.tsx b/packages/ketchup/src/components/kup-card/standard/kup-card-standard.tsx index c11d262eb..eab05081d 100644 --- a/packages/ketchup/src/components/kup-card/standard/kup-card-standard.tsx +++ b/packages/ketchup/src/components/kup-card/standard/kup-card-standard.tsx @@ -1094,7 +1094,7 @@ export function create14(component: KupCard): VNode { buttonsIds.includes( KupColumnMenuIds.BUTTON_OPEN_IN_NEW ) || - buttonsIds.includes(KupColumnMenuIds.BUTTON_SEARCH) ? ( + buttonsIds.includes(KupColumnMenuIds.BUTTON_PREVIEW) ? (
{textArray[0] ? (
@@ -1110,7 +1110,7 @@ export function create14(component: KupCard): VNode { KupColumnMenuIds.BUTTON_OPEN_IN_NEW ) || buttonsIds.includes( - KupColumnMenuIds.BUTTON_SEARCH + KupColumnMenuIds.BUTTON_PREVIEW ) ? (
{buttonsIds.includes( @@ -1125,13 +1125,13 @@ export function create14(component: KupCard): VNode { /> ) : null} {buttonsIds.includes( - KupColumnMenuIds.BUTTON_SEARCH + KupColumnMenuIds.BUTTON_PREVIEW ) ? ( x.id === - KupColumnMenuIds.BUTTON_SEARCH + KupColumnMenuIds.BUTTON_PREVIEW )} /> ) : null} @@ -1432,7 +1432,7 @@ export function create15(component: KupCard): VNode { const isReservedID = (id: string) => { return ( id === KupColumnMenuIds.BUTTON_OPEN_IN_NEW || - id === KupColumnMenuIds.BUTTON_SEARCH || + id === KupColumnMenuIds.BUTTON_PREVIEW || id === KupColumnMenuIds.BUTTON_COPY_OBJ ); }; @@ -1491,7 +1491,7 @@ export function create15(component: KupCard): VNode {
{textArray[0] || buttonsIds.includes(KupColumnMenuIds.BUTTON_OPEN_IN_NEW) || - buttonsIds.includes(KupColumnMenuIds.BUTTON_SEARCH) || + buttonsIds.includes(KupColumnMenuIds.BUTTON_PREVIEW) || buttonsIds.includes(KupColumnMenuIds.BUTTON_COPY_OBJ) ? (
{textArray[0] ? ( @@ -1508,7 +1508,7 @@ export function create15(component: KupCard): VNode { KupColumnMenuIds.BUTTON_OPEN_IN_NEW ) || buttonsIds.includes( - KupColumnMenuIds.BUTTON_SEARCH + KupColumnMenuIds.BUTTON_PREVIEW ) || buttonsIds.includes( KupColumnMenuIds.BUTTON_COPY_OBJ @@ -1526,13 +1526,13 @@ export function create15(component: KupCard): VNode { /> ) : null} {buttonsIds.includes( - KupColumnMenuIds.BUTTON_SEARCH + KupColumnMenuIds.BUTTON_PREVIEW ) ? ( x.id === - KupColumnMenuIds.BUTTON_SEARCH + KupColumnMenuIds.BUTTON_PREVIEW )} /> ) : null} diff --git a/packages/ketchup/src/components/kup-data-table/kup-data-table.tsx b/packages/ketchup/src/components/kup-data-table/kup-data-table.tsx index f7ef5afc9..2ce686987 100644 --- a/packages/ketchup/src/components/kup-data-table/kup-data-table.tsx +++ b/packages/ketchup/src/components/kup-data-table/kup-data-table.tsx @@ -2113,12 +2113,28 @@ export class KupDataTable { result: string | KupDataColumn, afterColumn: string ) { - this.visibleColumns = this.getVisibleColumns({ - includeCodVer: true, - }).map((col) => col.name); - if (typeof result !== 'string') { - if (this.visibleColumns.findIndex((c) => c === result.name) < 0) { + // Check if dataTable has visible columns + const dataTableHasVisibleColumns = + this.visibleColumns && this.visibleColumns.length > 0; + + // - If dataTableHasVisibleColumns is true: + // return every col.name without filterings + // - If dataTableHasVisibleColumns is false: + // result column is filtered out because it is already inserted in the data + // and will make resultColumnIndexNotFound false, not adding the column + this.visibleColumns = this.getVisibleColumns({ + includeCodVer: true, + }).map((col) => { + if (dataTableHasVisibleColumns || col.name !== result.name) { + return col.name; + } + }); + + const resultColumnIndexNotFound = + this.visibleColumns.findIndex((c) => c === result.name) < 0; + + if (resultColumnIndexNotFound) { this.#kupManager.debug.logMessage( this, 'New column [' + diff --git a/packages/ketchup/src/f-components/f-cell/f-cell.tsx b/packages/ketchup/src/f-components/f-cell/f-cell.tsx index 63f31e1e0..beb31e8df 100644 --- a/packages/ketchup/src/f-components/f-cell/f-cell.tsx +++ b/packages/ketchup/src/f-components/f-cell/f-cell.tsx @@ -145,7 +145,7 @@ export const FCell: FunctionalComponent = ( content = setEditableCell(cellType, classObj, cell, column, props); } else if (cell.data && kupTypes.includes(cellType)) { if (props.setSizes) { - setCellSizeKup(cellType, subcomponentProps, cell); + setCellSizeKup(cellType, subcomponentProps, cell, column); } if (!props.renderKup) { const lazyClass = 'cell-' + cellType + ' placeholder'; @@ -295,7 +295,11 @@ const handleMouseEnter = ( const handleMouseLeave = (event: MouseEvent) => { const parent = event.currentTarget as HTMLElement; - const iconContainer = parent.querySelector('kup-image'); + // only remove the action icon we added on mouse enter, not the first + // kup-image in the cell (which might be the BAR/IMAGE itself) + const iconContainer = parent.querySelector( + 'kup-image.f-cell__iconfunction' + ); if (iconContainer) { iconContainer.remove(); @@ -607,13 +611,17 @@ function setCellSize( function setCellSizeKup( cellType: string, subcomponentProps: unknown, - cell: KupDataCell + cell: KupDataCell, + column: KupDataColumn ) { switch (cellType) { case FCellTypes.BAR: if (!(subcomponentProps as FImageProps).sizeY) { (subcomponentProps as FImageProps).sizeY = '26px'; } + if (!(subcomponentProps as FImageProps).sizeX && column.size) { + (subcomponentProps as FImageProps).sizeX = column.size; + } break; case FCellTypes.BUTTON: let height: string = ''; diff --git a/packages/ketchup/src/managers/kup-data/kup-data-column-helper.ts b/packages/ketchup/src/managers/kup-data/kup-data-column-helper.ts index 907cd3b77..d697ec6bc 100644 --- a/packages/ketchup/src/managers/kup-data/kup-data-column-helper.ts +++ b/packages/ketchup/src/managers/kup-data/kup-data-column-helper.ts @@ -370,8 +370,9 @@ function newColumnFromMath( ...firstColumn, name: newName, title: title ? title : newTitle, - obj: newObj, + obj: newObj ?? { t: '', p: '', k: '' }, resultOf: formula, + visible: true, }; dataset.columns.splice( dataset.columns.indexOf(firstColumn) + 1, diff --git a/packages/ketchup/src/utils/kup-column-menu/kup-column-menu-declarations.ts b/packages/ketchup/src/utils/kup-column-menu/kup-column-menu-declarations.ts index f41355b13..40b4a9571 100644 --- a/packages/ketchup/src/utils/kup-column-menu/kup-column-menu-declarations.ts +++ b/packages/ketchup/src/utils/kup-column-menu/kup-column-menu-declarations.ts @@ -8,7 +8,7 @@ export enum KupColumnMenuIds { BUTTON_NEW = 'new', BUTTON_OPEN_IN_NEW = 'open-in-new', BUTTON_REMOVE = 'remove', - BUTTON_SEARCH = 'search', + BUTTON_PREVIEW = 'preview', BUTTON_COPY_OBJ = 'copy-obj', CHECKBOX_GLOBAL = 'global-checkbox', SWITCH_GROUP = 'group', diff --git a/yarn.lock b/yarn.lock index 5731e3e05..abd7e5a1d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3191,7 +3191,7 @@ __metadata: version: 0.0.0-use.local resolution: "@sme.up/ketchup-react@workspace:packages/ketchup-react" dependencies: - "@sme.up/ketchup": 10.4.9 + "@sme.up/ketchup": 10.4.10 "@stencil/core": ^4 "@stencil/react-output-target": ^0.8 react: ^19.0.0 @@ -3227,7 +3227,7 @@ __metadata: resolution: "@sme.up/ketchup-showcase@workspace:packages/ketchup-showcase" dependencies: "@babel/plugin-transform-private-methods": ^7.24.1 - "@sme.up/ketchup": ^10.4.9 + "@sme.up/ketchup": ^10.4.10 "@typescript-eslint/eslint-plugin": ^5.59.8 "@typescript-eslint/parser": ^5.59.8 "@vue/cli-plugin-babel": ~5.0.8 @@ -3251,7 +3251,7 @@ __metadata: languageName: unknown linkType: soft -"@sme.up/ketchup@10.4.9, @sme.up/ketchup@^10.4.9, @sme.up/ketchup@workspace:packages/ketchup": +"@sme.up/ketchup@10.4.10, @sme.up/ketchup@^10.4.10, @sme.up/ketchup@workspace:packages/ketchup": version: 0.0.0-use.local resolution: "@sme.up/ketchup@workspace:packages/ketchup" dependencies: