@tap-payments/os-micro-frontend-shared 0.1.373-test.1 → 0.1.373-test.2-test.3

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.
@@ -36,9 +36,10 @@ function ViewSelector({ onViewChange, setIsViewVisible, setTableViews, tableView
36
36
  defaultTemplate,
37
37
  setInternalCustomViews,
38
38
  setInternalTableViews,
39
+ setDefaultColumns,
39
40
  });
40
41
  return (_jsxs(_Fragment, { children: [_jsx(ClickAwayListener, Object.assign({ onClickAway: handleCloseViewDropdown }, { children: _jsxs(ViewWrapper, Object.assign({ sx: { width: '32px' }, "data-testid": "ViewSelector" }, { children: [_jsx(StyledButton, Object.assign({ title: t('tableView'), "data-testid": "ViewSelector_button", onClick: handleViewButtonClick }, { children: _jsx(Icon, { src: viewIcon, alt: "view", sx: { width: 14, height: 14 } }) })), _jsx(ViewsDropdown, { open: Boolean(defaultViewEl), anchorEl: anchorViewEl, setSelectedViewInfo: handleSelectedViewInfo, selectedViewInfo: selectedViewInfo, onSelect: (e, selectedView) => {
41
42
  setDefaultViewElement(defaultViewEl ? null : e.currentTarget);
42
- }, setViews: handleResetViews, tableViews: tableViews, setTableViews: handleTableViewsChange, onCreateCustomView: handleOpenCreateDialog, customViews: customViews, onEditCustomView: handleOpenEditDialog, defaultColumns: defaultColumns, setDefaultColumns: setDefaultColumns })] })) })), _jsx(CreateViewDialog, { open: isCreateDialogOpen, onClose: handleCloseCreateDialog, availableColumns: defaultColumns, defaultColumns: defaultColumns, onCreate: handleSaveView, editingView: editingView, onDelete: handleDeleteView, tableViews: shouldUseCurrentState ? defaultColumns : undefined, mode: mode })] }));
43
+ }, setViews: handleResetViews, tableViews: tableViews, setTableViews: handleTableViewsChange, onCreateCustomView: handleOpenCreateDialog, customViews: customViews, onEditCustomView: handleOpenEditDialog, defaultColumns: defaultColumns, setDefaultColumns: setDefaultColumns, onViewChange: onViewChange })] })) })), _jsx(CreateViewDialog, { open: isCreateDialogOpen, onClose: handleCloseCreateDialog, availableColumns: defaultColumns, defaultColumns: defaultColumns, onCreate: handleSaveView, editingView: editingView, onDelete: handleDeleteView, tableViews: shouldUseCurrentState ? defaultColumns : undefined, mode: mode })] }));
43
44
  }
44
45
  export default memo(ViewSelector);
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import type { ViewsDropdownProps } from './types';
3
- declare function ViewsDropdown({ open, selectedViewInfo, setSelectedViewInfo, onSelect, setViews, anchorEl, onCreateCustomView, customViews, onEditCustomView, defaultColumns, setDefaultColumns, }: Readonly<ViewsDropdownProps>): import("react/jsx-runtime").JSX.Element;
3
+ declare function ViewsDropdown({ open, selectedViewInfo, setSelectedViewInfo, onSelect, setViews, anchorEl, onCreateCustomView, customViews, onEditCustomView, defaultColumns, setDefaultColumns, onViewChange, }: Readonly<ViewsDropdownProps>): import("react/jsx-runtime").JSX.Element;
4
4
  declare const _default: React.MemoExoticComponent<typeof ViewsDropdown>;
5
5
  export default _default;
@@ -14,7 +14,7 @@ import { defaultViewList } from './data';
14
14
  import { ViewsSubmenu } from './components/ViewsSubmenu';
15
15
  import { ListStyled, DropdownStyled, MenuItem as StyledMenuItem, Space, SpaceAfter, SubmenuContainer, SaveCustomViewBox, SaveCustomViewInnerBox, ButtonsContainer, CancelButtonSx, OkayButtonSx, ModifiedTextSx, } from './styles';
16
16
  import { deepCloneColumns, toggleSingleColumn, toggleSubItem, getSubmenuItems, hasSubmenu, areAllCurrentColumnsSelected, areSomeCurrentColumnsSelected, toggleAllCurrentColumns, areColumnsEqual, } from './utils';
17
- function ViewsDropdown({ open, selectedViewInfo, setSelectedViewInfo, onSelect, setViews, anchorEl, onCreateCustomView, customViews = [], onEditCustomView, defaultColumns = [], setDefaultColumns, }) {
17
+ function ViewsDropdown({ open, selectedViewInfo, setSelectedViewInfo, onSelect, setViews, anchorEl, onCreateCustomView, customViews = [], onEditCustomView, defaultColumns = [], setDefaultColumns, onViewChange, }) {
18
18
  const { t } = useTranslation();
19
19
  const { hoveredColumn: hoveredItem, anchorEl: submenuAnchorEl, openSubmenu: handleMenuItemHover, closeSubmenu: handleMenuItemLeave, cancelClose: handleSubmenuEnter, forceClose: forceCloseSubmenu, } = useSubmenuHover();
20
20
  const [hoveredCustomView, setHoveredCustomView] = React.useState(null);
@@ -123,6 +123,16 @@ function ViewsDropdown({ open, selectedViewInfo, setSelectedViewInfo, onSelect,
123
123
  setIsDefaultModified(hasChanges);
124
124
  if (hasChanges) {
125
125
  setBaselineColumns(deepCloneColumns(originalColumns));
126
+ // Update table when default columns change and default view is selected
127
+ if (selectedViewInfo.id === 'default' && defaultColumns.length > 0) {
128
+ const defaultViewWithColumns = {
129
+ id: 'default',
130
+ label: 'Default',
131
+ submenu: [...defaultColumns],
132
+ columns: defaultColumns.map((col) => col.name),
133
+ };
134
+ onViewChange === null || onViewChange === void 0 ? void 0 : onViewChange(defaultViewWithColumns);
135
+ }
126
136
  }
127
137
  else {
128
138
  setBaselineColumns([]);
@@ -29,8 +29,9 @@ export interface UseViewSelectorProps {
29
29
  defaultTemplate?: ViewMenuItem;
30
30
  setInternalCustomViews: (views: ViewMenuItem[]) => void;
31
31
  setInternalTableViews: (views: ColumnViewProps[]) => void;
32
+ setDefaultColumns?: (columns: ColumnViewProps[]) => void;
32
33
  }
33
- export declare const useViewSelector: ({ mode, onViewChange, onTableViewsChange, onCustomViewsChange, onCreateCustomView, onEditCustomView, onDeleteCustomView, resetTableViews, setTableViews, tableViews, customViews, defaultColumns, defaultTemplate, setInternalCustomViews, setInternalTableViews, }: UseViewSelectorProps) => {
34
+ export declare const useViewSelector: ({ mode, onViewChange, onTableViewsChange, onCustomViewsChange, onCreateCustomView, onEditCustomView, onDeleteCustomView, resetTableViews, setTableViews, tableViews, customViews, defaultColumns, defaultTemplate, setInternalCustomViews, setInternalTableViews, setDefaultColumns, }: UseViewSelectorProps) => {
34
35
  anchorViewEl: HTMLDivElement | null;
35
36
  defaultViewEl: HTMLDivElement | null;
36
37
  setDefaultViewElement: import("react").Dispatch<import("react").SetStateAction<HTMLDivElement | null>>;
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { useState, useCallback, useEffect } from 'react';
11
11
  import { createCustomViewMenuItem } from '../utils';
12
- export const useViewSelector = ({ mode, onViewChange, onTableViewsChange, onCustomViewsChange, onCreateCustomView, onEditCustomView, onDeleteCustomView, resetTableViews, setTableViews, tableViews, customViews, defaultColumns, defaultTemplate, setInternalCustomViews, setInternalTableViews, }) => {
12
+ export const useViewSelector = ({ mode, onViewChange, onTableViewsChange, onCustomViewsChange, onCreateCustomView, onEditCustomView, onDeleteCustomView, resetTableViews, setTableViews, tableViews, customViews, defaultColumns, defaultTemplate, setInternalCustomViews, setInternalTableViews, setDefaultColumns, }) => {
13
13
  const [anchorViewEl, setAnchorViewEl] = useState(null);
14
14
  const [defaultViewEl, setDefaultViewElement] = useState(null);
15
15
  const [isCreateDialogOpen, setIsCreateDialogOpen] = useState(false);
@@ -132,6 +132,7 @@ export interface ViewsDropdownProps {
132
132
  onEditCustomView?: (view: ViewMenuItem) => void;
133
133
  defaultColumns?: ColumnViewProps[];
134
134
  setDefaultColumns?: (columns: ColumnViewProps[]) => void;
135
+ onViewChange?: (selectedView?: ViewMenuItem) => void;
135
136
  }
136
137
  export interface ColumnListProps {
137
138
  selectedColumns: ColumnViewProps[];
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@tap-payments/os-micro-frontend-shared",
3
3
  "description": "Shared components and utilities for Tap Payments micro frontends",
4
- "version": "0.1.373-test.1",
5
- "testVersion": 1,
4
+ "version": "0.1.373-test.2-test.3",
5
+ "testVersion": 3,
6
6
  "type": "module",
7
7
  "main": "build/index.js",
8
8
  "module": "build/index.js",