@antscorp/antsomi-ui 1.3.10 → 1.3.11

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.
@@ -34,7 +34,7 @@ const defaultProps = {
34
34
  selectColor: '#2f79bf80',
35
35
  };
36
36
  export const ResizeGrid = props => {
37
- const { containerStyle, cellBorder, cellStyle, cellActiveStyle, isPreview, renderCell, grid: initGrid, image, imageSize, imagePosition, isCompact, onChange, delayUpdate, selectColor, } = props;
37
+ const { containerStyle, cellBorder, cellStyle, cellActiveStyle, isPreview, renderCell, grid: initGrid, image, imageSize, imagePosition, isCompact, onChange, delayUpdate, selectColor, reCalculateFlag, } = props;
38
38
  const [grid, setGrid] = useState(buildGrid(initGrid || GRID_TEMPLATE.GRID_2_3));
39
39
  const startRef = useRef(null);
40
40
  const startCellRef = useRef(null);
@@ -106,7 +106,7 @@ export const ResizeGrid = props => {
106
106
  useEffect(() => {
107
107
  handleChangeGrid();
108
108
  // eslint-disable-next-line react-hooks/exhaustive-deps
109
- }, [grid]);
109
+ }, [grid, reCalculateFlag]);
110
110
  useDeepCompareEffect(() => {
111
111
  // console.log('changed grid', initGrid, acceptUpdateRef.current, initGrid?.rows, initGrid?.cols)
112
112
  // console.log(initRef.current < 2,!initDoneRef.current, acceptUpdateRef.current)
@@ -560,11 +560,15 @@ export const ResizeGrid = props => {
560
560
  };
561
561
  const downSelect = (idx, cell) => {
562
562
  // console.log('dow select', idx, cell);
563
+ if (isPreview)
564
+ return;
563
565
  !cell.active && activeCell({ idx });
564
566
  selectRef.current = { idx, cell };
565
567
  gridRef.current = grid;
566
568
  };
567
569
  const unMerge = (cell, idx) => {
570
+ if (isPreview)
571
+ return;
568
572
  const { colStart, colEnd, rowStart, rowEnd } = cell;
569
573
  if (colStart + 1 === colEnd && rowStart + 1 === rowEnd) {
570
574
  return;
@@ -604,6 +608,8 @@ export const ResizeGrid = props => {
604
608
  });
605
609
  }
606
610
  const upSelect = (idx, cell) => {
611
+ if (isPreview)
612
+ return;
607
613
  // console.log('up select', idx, cell);
608
614
  if (selectRef.current &&
609
615
  selectEndRef.current &&
@@ -634,6 +640,8 @@ export const ResizeGrid = props => {
634
640
  selectEndRef.current = null;
635
641
  };
636
642
  const hoverSelect = (idx, cell) => {
643
+ if (isPreview)
644
+ return;
637
645
  if (selectRef.current && gridRef.current) {
638
646
  // console.log('hover select', idx, cell);
639
647
  const { cell: cellStart, idx: idxStart } = selectRef.current;
@@ -136,6 +136,7 @@ export interface IResizeGridProps {
136
136
  containerStyle?: React.CSSProperties;
137
137
  isCompact?: boolean;
138
138
  delayUpdate?: number;
139
+ reCalculateFlag?: number | boolean;
139
140
  }
140
141
  export type TCordinate = {
141
142
  x: number;
@@ -9,5 +9,6 @@ export interface RichMenuBlockProps {
9
9
  cellActiveIdx?: number;
10
10
  onClickCell?: (cellIdx: number) => void;
11
11
  onChange?: (richMenu: RichMenu, source?: 'user' | 'system') => void;
12
+ reCalculateFlag?: boolean | number;
12
13
  }
13
14
  export declare const RichMenuBlock: React.FC<RichMenuBlockProps>;
@@ -8,7 +8,7 @@ import { RichMenuCell } from './RichMenuCell';
8
8
  import { tryCatchWrapper } from '@antscorp/antsomi-ui/es/utils';
9
9
  const PATH = 'src/app/modules/Dashboard/containers/RichMenu/containers/Design/components/Workspace/components/RichMenuBlock/index.tsx';
10
10
  export const RichMenuBlock = props => {
11
- const { richMenu, layerActive, cellActiveIdx, isPreview, isActionLink = false, onClickCell, onChange, } = props;
11
+ const { richMenu, layerActive, cellActiveIdx, isPreview, isActionLink = false, onClickCell, onChange, reCalculateFlag, } = props;
12
12
  const { gridTemplateCols = [], gridTemplateRows = [], cells = [], uploadMode, image, layoutType, rows, cols, } = richMenu || {};
13
13
  const { imageUrl, imageStyles } = image || {};
14
14
  const grid = {
@@ -45,7 +45,7 @@ export const RichMenuBlock = props => {
45
45
  }
46
46
  }, PATH);
47
47
  const renderCell = (cellInfo, ctx) => (React.createElement(RichMenuCell, { context: ctx, isActionLink: isActionLink, isPreview: isPreview, layerActive: layerActive, cellActiveIdx: cellActiveIdx, cell: cellInfo, isSingleMode: isSingleUploadMode, onClick: handleClickCell }));
48
- return (React.createElement(ResizeGrid, Object.assign({ grid: grid, isPreview: isPreview, containerStyle: imageStyles, isCompact: layoutType === 'compact', renderCell: renderCell, cellActiveStyle: { background: 'rgba(0, 95, 184, 0.5)' }, cellBorder: isSingleUploadMode ? '1px solid rgba(0, 95, 184, 1)' : '1px dotted #000000', onChange: handleGridChange }, Object.assign({}, (isSingleUploadMode && {
48
+ return (React.createElement(ResizeGrid, Object.assign({ grid: grid, isPreview: isPreview, containerStyle: imageStyles, isCompact: layoutType === 'compact', renderCell: renderCell, cellActiveStyle: { background: 'rgba(0, 95, 184, 0.5)' }, cellBorder: isSingleUploadMode ? '1px solid rgba(0, 95, 184, 1)' : '1px dotted #000000', onChange: handleGridChange, reCalculateFlag: reCalculateFlag }, Object.assign({}, (isSingleUploadMode && {
49
49
  image: imageUrl,
50
50
  imagePosition: imageStyles === null || imageStyles === void 0 ? void 0 : imageStyles.objectPosition,
51
51
  imageSize: imageStyles === null || imageStyles === void 0 ? void 0 : imageStyles.objectFit,
@@ -5,6 +5,7 @@ interface RichMenuMobileViewProps extends React.HTMLAttributes<HTMLDivElement> {
5
5
  isPreview?: boolean;
6
6
  onChangeRichMenu?: (richMenu: RichMenu, source?: 'user' | 'system') => void;
7
7
  onClickCell?: (cellIndex: number) => void;
8
+ reCalculateFlag?: boolean | number;
8
9
  }
9
10
  export declare const RichMenuMobileView: React.FC<RichMenuMobileViewProps>;
10
11
  export {};
@@ -20,7 +20,7 @@ import { RichMenuBlock } from '../RichMenuBlock';
20
20
  // Styles
21
21
  import { MobileContent, RichMenuWrapper, TopBar } from './styled';
22
22
  export const RichMenuMobileView = props => {
23
- const { richMenu, className, isPreview, onChangeRichMenu, onClickCell } = props, restOfProps = __rest(props, ["richMenu", "className", "isPreview", "onChangeRichMenu", "onClickCell"]);
23
+ const { richMenu, className, isPreview, onChangeRichMenu, onClickCell, reCalculateFlag } = props, restOfProps = __rest(props, ["richMenu", "className", "isPreview", "onChangeRichMenu", "onClickCell", "reCalculateFlag"]);
24
24
  // State
25
25
  const [state, setState] = useState({
26
26
  showRichMenu: true,
@@ -32,6 +32,6 @@ export const RichMenuMobileView = props => {
32
32
  return (React.createElement(MobileFrame, Object.assign({ className: `ants-mx-auto ${className}` }, restOfProps),
33
33
  isPreview && React.createElement(TopBar, { src: IphoneTopBar, width: "100%", height: "auto" }),
34
34
  React.createElement(MobileContent, null,
35
- React.createElement(RichMenuWrapper, { "$showRichMenu": showRichMenu && !showTypingChat, "$isPreview": !!isPreview }, richMenu && (React.createElement(RichMenuBlock, { richMenu: richMenu, isPreview: isPreview, onChange: onChangeRichMenu, onClickCell: onClickCell }))),
35
+ React.createElement(RichMenuWrapper, { "$showRichMenu": showRichMenu && !showTypingChat, "$isPreview": !!isPreview }, richMenu && (React.createElement(RichMenuBlock, { richMenu: richMenu, isPreview: isPreview, onChange: onChangeRichMenu, onClickCell: onClickCell, reCalculateFlag: reCalculateFlag }))),
36
36
  React.createElement(RichMenuChatBar, { disabled: !isPreview, label: richMenu === null || richMenu === void 0 ? void 0 : richMenu.chatBar.label, showRichMenu: showRichMenu, showTypingChat: showTypingChat, onToggleRichMenu: showRichMenu => setState(prevState => (Object.assign(Object.assign({}, prevState), { showRichMenu: !!showRichMenu }))), onToggleTypingChat: showTypingChat => setState(prevState => (Object.assign(Object.assign({}, prevState), { showTypingChat: !!showTypingChat }))) }))));
37
37
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antscorp/antsomi-ui",
3
- "version": "1.3.10",
3
+ "version": "1.3.11",
4
4
  "description": "An enterprise-class UI design language and React UI library.",
5
5
  "sideEffects": [
6
6
  "dist/*",