publ-echo-test 0.0.129 → 0.0.131

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.
@@ -37,7 +37,7 @@ import { bottom, cloneLayoutItem, compact, getAllCollisions, getBoundingArea, ge
37
37
  import { calcGridColWidth, calcXY, resolveRowHeight, } from "../GridItem/utils/calculateUtils";
38
38
  import GridItem from "../GridItem/GridItem";
39
39
  import isEqual from "../../external-lib/lodash.isEqual";
40
- import { findAllChildrenCbIds, findDirectChildrenBlockIds, findDirectChildrenCbIds, findGroupBlocks, formatCbIdToBlockId, getBlockSpecificType, zIndexMap } from "./group";
40
+ import { findAllChildrenCbIds, findBlockByBlockId, findDirectChildrenBlockIds, findDirectChildrenCbIds, findGroupBlocks, formatCbIdToBlockId, getBlockSpecificType, zIndexMap } from "./group";
41
41
  import GroupItem from "../GridItem/GroupItem";
42
42
  import OutsideClickHandler from "../GridItem/OutsideClickHandler";
43
43
  var layoutClassName = "react-grid-layout";
@@ -50,6 +50,7 @@ var ReactGridLayout = function (_a) {
50
50
  } : _w, // TODO fix
51
51
  _x = props.resizeHandles, // TODO fix
52
52
  resizeHandles = _x === void 0 ? ["se"] : _x, _y = props.width, width = _y === void 0 ? 0 : _y, resizeHandle = props.resizeHandle, _z = props.isHiddenVisibility, isHiddenVisibility = _z === void 0 ? true : _z, innerRef = props.innerRef, minNbRow = props.minNbRow, customColWidth = props.customColWidth, blockStructure = props.blockStructure, onDoubleClickGroup = props.onDoubleClickGroup, _0 = props.editingGroupBlock, editingGroupBlock = _0 === void 0 ? 'ROOT' : _0, _1 = props.selectedGroupBlock, selectedGroupBlock = _1 === void 0 ? 'ROOT' : _1, onClickGroup = props.onClickGroup, bulkIds = props.bulkIds, onDoubleClickOutsideGroup = props.onDoubleClickOutsideGroup;
53
+ var device = cols === 24 ? 'DESKTOP' : 'MOBILE';
53
54
  var _2 = useState(), activeDrag = _2[0], setActiveDrag = _2[1];
54
55
  var _3 = useState(), oldDragItem = _3[0], setOldDragItem = _3[1];
55
56
  var _4 = useState(), oldLayout = _4[0], setOldLayout = _4[1];
@@ -57,6 +58,7 @@ var ReactGridLayout = function (_a) {
57
58
  var _6 = useState(), droppingDOMNode = _6[0], setDroppingDOMNode = _6[1];
58
59
  var _7 = useState(), droppingPosition = _7[0], setDroppingPosition = _7[1];
59
60
  var _8 = useState(false), isMounted = _8[0], setIsMounted = _8[1];
61
+ var editorMode = props.isDraggable && props.isResizable ? 'EDIT' : 'VIEW';
60
62
  var editableBlockIds = blockStructure ? findDirectChildrenCbIds(blockStructure, editingGroupBlock) : [];
61
63
  var editingGroupAllChildren = (blockStructure && editingGroupBlock) ? findAllChildrenCbIds(blockStructure, editingGroupBlock).map(function (i) { return i.toString(); }) : [];
62
64
  var _9 = useState([]), oldGroupChildren = _9[0], setOldGroupChildren = _9[1];
@@ -527,6 +529,7 @@ var ReactGridLayout = function (_a) {
527
529
  * @return {Element} Element wrapped in draggable and properly placed.
528
530
  */
529
531
  var processGridItem = function (child, isDroppingItem) {
532
+ var _a;
530
533
  if (!child || !child.key)
531
534
  return;
532
535
  var l = getLayoutItem(layout, String(child.key));
@@ -546,29 +549,42 @@ var ReactGridLayout = function (_a) {
546
549
  var z = l.z || 0;
547
550
  var isInBulk = blockStructure && (bulkIds === null || bulkIds === void 0 ? void 0 : bulkIds.includes(formatCbIdToBlockId(Number(activeDrag === null || activeDrag === void 0 ? void 0 : activeDrag.i))));
548
551
  var isRoot = editingGroupBlock === 'ROOT';
549
- var baseZ = function () {
550
- if (isInBulk) {
551
- return zIndexMap.BULK;
552
+ var block = blockStructure ? findBlockByBlockId(blockStructure, formatCbIdToBlockId(Number(l.i))) : undefined;
553
+ if (!block) {
554
+ return _jsx(_Fragment, { children: "NO-BLOCK-FOUND" });
555
+ }
556
+ var zOrder = (_a = block[device === 'DESKTOP' ? 'zOrderDesktopInternal' : 'zOrderMobileInternal']) !== null && _a !== void 0 ? _a : 0;
557
+ var editorZIndex = (function () {
558
+ // if (isInBulk) {
559
+ // const bulkBlock = findBlockByBlockId(blockStructure, 'BULK');
560
+ // const bulkZOrder = bulkBlock?.[device === 'DESKTOP' ? 'zOrderDesktopInternal' : 'zOrderMobileInternal'] ?? 0;
561
+ // return zIndexMap.EDITING_GROUP;
562
+ // }
563
+ if (!isRoot && isInBulk) {
564
+ return zIndexMap.EDITING_GROUP_CHILD + zOrder;
552
565
  }
553
566
  if (!isRoot && editable) {
554
- return zIndexMap.EDITING_GROUP;
567
+ return zIndexMap.EDITING_GROUP_CHILD + zOrder;
555
568
  }
556
569
  if (isRoot && editable) {
557
- return zIndexMap.ROOT;
570
+ return zIndexMap.ROOT + zOrder;
571
+ }
572
+ if (isRoot && !editable) {
573
+ return zIndexMap.ROOT + zOrder;
558
574
  }
559
575
  if (!editable) {
560
576
  return 0;
561
577
  }
562
578
  return 0;
563
- };
564
- console.log('id: ', l.i, 'z: ', z, 'baseZ: ', baseZ());
579
+ })();
565
580
  var outsideOfEditingGroup = !editingGroupAllChildren.includes(l.i);
581
+ var zIndex = editorMode === 'EDIT' ? editorZIndex : z;
566
582
  return (_jsx(GridItem, { className: classNames({
567
583
  'editable-grid-item': (!isRoot && editable),
568
584
  'not-editable-grid-item': (!isRoot && !editable),
569
585
  'bulk-child-item': isInBulk,
570
586
  'outside-of-editing-group': outsideOfEditingGroup,
571
- }), z: baseZ() + z, isDraggable: editable && !isInBulk, isResizable: editable && !isInBulk, containerWidth: width, cols: cols, margin: margin, containerPadding: containerPadding || margin, maxRows: maxRows, rowHeight: rowHeight, cancel: draggableCancel, handle: draggableHandle, onDragStop: onDragStopHandler, onDragStart: onDragStartHandler, onDrag: onDragHandler, onResizeStart: onResizeStartHandler, onResize: onResizeHandler, onResizeStop: onResizeStopHandler, onFitToContent: onFitToContentHandler, isBounded: bounded, useCSSTransforms: useCSSTransforms && isMounted, usePercentages: !isMounted, transformScale: transformScale, w: l.w, h: l.h, x: l.x, y: l.y, i: l.i, minH: l.minH, minW: l.minW, maxH: l.maxH, maxW: l.maxW, static: l.static, droppingPosition: isDroppingItem ? droppingPosition : undefined, resizeHandles: resizeHandlesOptions, resizeHandle: resizeHandle, isHiddenVisibility: isHiddenVisibility, customColWidth: colWidth, autoResize: !!l.autoResize, children: child }, l.i));
587
+ }), z: zIndex, isDraggable: editable && !isInBulk, isResizable: editable && !isInBulk, containerWidth: width, cols: cols, margin: margin, containerPadding: containerPadding || margin, maxRows: maxRows, rowHeight: rowHeight, cancel: draggableCancel, handle: draggableHandle, onDragStop: onDragStopHandler, onDragStart: onDragStartHandler, onDrag: onDragHandler, onResizeStart: onResizeStartHandler, onResize: onResizeHandler, onResizeStop: onResizeStopHandler, onFitToContent: onFitToContentHandler, isBounded: bounded, useCSSTransforms: useCSSTransforms && isMounted, usePercentages: !isMounted, transformScale: transformScale, w: l.w, h: l.h, x: l.x, y: l.y, i: l.i, minH: l.minH, minW: l.minW, maxH: l.maxH, maxW: l.maxW, static: l.static, droppingPosition: isDroppingItem ? droppingPosition : undefined, resizeHandles: resizeHandlesOptions, resizeHandle: resizeHandle, isHiddenVisibility: isHiddenVisibility, customColWidth: colWidth, autoResize: !!l.autoResize, children: child }, l.i));
572
588
  };
573
589
  var onDragOverHandler = function (e) {
574
590
  var _a;
@@ -637,6 +653,7 @@ var ReactGridLayout = function (_a) {
637
653
  var mergedClassName = classNames(layoutClassName, className);
638
654
  var mergedStyle = __assign({ height: containerHeight() }, style);
639
655
  var processGroup = function (block, viewOnly) {
656
+ var _a;
640
657
  if (!blockStructure) {
641
658
  return;
642
659
  }
@@ -645,13 +662,23 @@ var ReactGridLayout = function (_a) {
645
662
  if (!groupItem) {
646
663
  return _jsx(_Fragment, {});
647
664
  }
665
+ var zOrder = (_a = block[device === 'DESKTOP' ? 'zOrderDesktopInternal' : 'zOrderMobileInternal']) !== null && _a !== void 0 ? _a : 0;
648
666
  var isEditingGroup = block.blockId === editingGroupBlock;
649
667
  var type = getBlockSpecificType(block);
650
668
  var isRoot = editingGroupBlock === 'ROOT';
651
669
  var isInBulk = bulkIds === null || bulkIds === void 0 ? void 0 : bulkIds.includes(block.blockId);
652
- var z = (function () {
653
- if (isInBulk) {
654
- return zIndexMap.BULK;
670
+ var isBulk = block.blockId === 'BULK';
671
+ var baseZ = (function () {
672
+ if (isEditingGroup) {
673
+ return zIndexMap.EDITING_GROUP;
674
+ }
675
+ if (isBulk) {
676
+ return zIndexMap.EDITING_GROUP_CHILD + zOrder;
677
+ }
678
+ if (isInBulk) { // 위와 같지만 이것은 not-editable이긴 함.
679
+ // const bulkBlock = findBlockByBlockId(blockStructure, 'BULK');
680
+ // const bulkZOrder = bulkBlock?.[device === 'DESKTOP' ? 'zOrderDesktopInternal' : 'zOrderMobileInternal'] ?? 0;
681
+ return zIndexMap.EDITING_GROUP_CHILD + zOrder;
655
682
  }
656
683
  if (!isRoot && type === 'GROUP_BLOCK') {
657
684
  return zIndexMap.EDITING_GROUP;
@@ -664,6 +691,7 @@ var ReactGridLayout = function (_a) {
664
691
  }
665
692
  return zIndexMap.CB;
666
693
  })();
694
+ var zIndex = editorMode === 'EDIT' ? baseZ : zOrder;
667
695
  var handleClick = function (e) {
668
696
  onClickGroup && onClickGroup(e, block.blockId, type);
669
697
  };
@@ -678,7 +706,7 @@ var ReactGridLayout = function (_a) {
678
706
  'grid-bulk-block': block.blockId === 'BULK',
679
707
  'editing': editingGroupBlock === block.blockId,
680
708
  'selected': selectedGroupBlock === block.blockId
681
- }), containerWidth: width, cols: cols, margin: margin, containerPadding: containerPadding || margin, maxRows: maxRows, rowHeight: rowHeight, cancel: draggableCancel, handle: draggableHandle, onDragStop: onDragStopGroupHandler, onDragStart: onDragStartHandler, onDrag: onDragHandler, onResizeStart: onResizeStartHandler, onResize: onResizeHandler, onResizeStop: onResizeStopHandler, onFitToContent: onFitToContentHandler, isDraggable: !viewOnly && !isEditingGroup && !isInBulk, isResizable: !viewOnly && !isEditingGroup && !isInBulk, isBounded: false, useCSSTransforms: useCSSTransforms && isMounted, usePercentages: !isMounted, transformScale: transformScale, w: groupItem.w, h: groupItem.h, x: groupItem.x, y: groupItem.y, z: z, i: block.blockId,
709
+ }), z: zIndex, containerWidth: width, cols: cols, margin: margin, containerPadding: containerPadding || margin, maxRows: maxRows, rowHeight: rowHeight, cancel: draggableCancel, handle: draggableHandle, onDragStop: onDragStopGroupHandler, onDragStart: onDragStartHandler, onDrag: onDragHandler, onResizeStart: onResizeStartHandler, onResize: onResizeHandler, onResizeStop: onResizeStopHandler, onFitToContent: onFitToContentHandler, isDraggable: !viewOnly && !isEditingGroup && !isInBulk, isResizable: !viewOnly && !isEditingGroup && !isInBulk, isBounded: false, useCSSTransforms: useCSSTransforms && isMounted, usePercentages: !isMounted, transformScale: transformScale, w: groupItem.w, h: groupItem.h, x: groupItem.x, y: groupItem.y, i: block.blockId,
682
710
  // minH={l.minH}
683
711
  // minW={l.minW}
684
712
  // maxH={l.maxH}
@@ -690,7 +718,6 @@ var ReactGridLayout = function (_a) {
690
718
  isHiddenVisibility: isHiddenVisibility, customColWidth: colWidth, autoResize: false, onContextGroup: handleClickContextGroup, children: _jsx("div", { onClick: handleClick, onDoubleClick: handleDoubleClick }) }, block.blockId) }));
691
719
  };
692
720
  var currentGroupBlocks = blockStructure ? findGroupBlocks(blockStructure, editingGroupBlock) : [];
693
- console.log('currentGroupBlocks', currentGroupBlocks);
694
721
  return (_jsxs("div", { ref: innerRef, className: mergedClassName, style: mergedStyle, onDrop: isDroppable ? onDropHandler : noop, onDragLeave: isDroppable ? onDragLeaveHandler : noop, onDragEnter: isDroppable ? onDragEnterHandler : noop, onDragOver: isDroppable ? onDragOverHandler : noop, children: [currentGroupBlocks.map(function (each) { return processGroup(each); }), React.Children.map(children, function (child) { return processGridItem(child); }), placeholder(), activeDrag && _jsx("div", { className: "grid-guide-line-center" }), activeDrag && (_jsx("div", { className: "grid-placeholder", style: {
695
722
  marginTop: margin[1] + "px",
696
723
  marginBottom: margin[1] + "px",
@@ -1,5 +1,6 @@
1
1
  export declare const zIndexMap: {
2
2
  BULK: number;
3
+ EDITING_GROUP_CHILD: number;
3
4
  EDITING_GROUP: number;
4
5
  GROUP: number;
5
6
  CB: number;
@@ -9,7 +9,8 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
9
9
  };
10
10
  export var zIndexMap = {
11
11
  'BULK': 20000,
12
- 'EDITING_GROUP': 10000,
12
+ 'EDITING_GROUP_CHILD': 10000,
13
+ 'EDITING_GROUP': 9000,
13
14
  'GROUP': 5000,
14
15
  'CB': 500,
15
16
  'ROOT': 500, //?
@@ -211,12 +212,16 @@ export var addBulkToTarget = function (block, targetId, bulkBlockIds) {
211
212
  }
212
213
  // Remove bulk blocks from target's children
213
214
  targetBlock.children = targetBlock.children.filter(function (child) { return !bulkBlockIds.includes(child.blockId); });
215
+ var zOrdersDesktop = bulkBlocks.map(function (block) { return block.zOrderDesktopInternal; }).filter(function (each) { return each !== null; });
216
+ var zOrdersMobile = bulkBlocks.map(function (block) { return block.zOrderMobileInternal; }).filter(function (each) { return each !== null; });
217
+ var zOrderDesktopInternal = Math.max.apply(Math, zOrdersDesktop);
218
+ var zOrderMobileInternal = Math.max.apply(Math, zOrdersMobile);
214
219
  // Create the new bulkBlock
215
220
  var bulkBlock = {
216
221
  blockId: 'BULK',
217
222
  type: 'GROUP_BLOCK',
218
- zOrderDesktopInternal: zIndexMap.BULK,
219
- zOrderMobileInternal: zIndexMap.BULK,
223
+ zOrderDesktopInternal: zOrderDesktopInternal,
224
+ zOrderMobileInternal: zOrderMobileInternal,
220
225
  children: bulkBlocks,
221
226
  };
222
227
  // Add the bulkBlock to the target's children
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "publ-echo-test",
3
- "version": "0.0.129",
3
+ "version": "0.0.131",
4
4
  "private": false,
5
5
  "main": "dist/lib/index.js",
6
6
  "types": "dist/lib/index.d.js",