pds-dev-kit-web-test 2.5.61 → 2.5.63
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.
- package/dist/src/sub/DynamicLayout/sectionActionTypes.d.ts +5 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.js +59 -55
- package/dist/src/sub/DynamicLayout/sections/CustomSection/FlexGridCustomSection.js +11 -52
- package/dist/src/sub/DynamicLayout/sections/CustomSection/{hooks/useGroupDrag/utils.d.ts → newUtils/group.d.ts} +4 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/{hooks/useGroupDrag/utils.js → newUtils/group.js} +14 -1
- package/package.json +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/index.d.ts +0 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/index.js +0 -8
- package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/useGroupDrag.d.ts +0 -24
- package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/useGroupDrag.js +0 -297
- /package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/{/bclsx.d.ts" → clsx.d.ts} +0 -0
- /package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/{/bclsx.js" → clsx.js} +0 -0
@@ -86,6 +86,11 @@ type ActionHandlerPayload = {
|
|
86
86
|
sectionId: number;
|
87
87
|
e: React.MouseEvent;
|
88
88
|
};
|
89
|
+
'@CUSTOMSECTION/GROUP_RIGHT_CLICKED': {
|
90
|
+
e: React.MouseEvent;
|
91
|
+
blockId: string;
|
92
|
+
isEditingGroup: boolean;
|
93
|
+
};
|
89
94
|
'@CUSTOMSECTION/BULK_CREATED': {
|
90
95
|
message: string;
|
91
96
|
data: LayoutItem;
|
@@ -61,10 +61,8 @@ var styled_components_1 = __importDefault(require("styled-components"));
|
|
61
61
|
var components_1 = require("../../components");
|
62
62
|
var ComponentBlockMatcher_1 = __importDefault(require("./components/ComponentBlock/ComponentBlockMatcher"));
|
63
63
|
var S_HiddenCover_1 = require("./components/ComponentBlock/componentBlocks/components/S_HiddenCover");
|
64
|
-
var
|
65
|
-
var
|
66
|
-
var utils_1 = require("./hooks/useGroupDrag/utils");
|
67
|
-
var _clsx_1 = require("./newUtils/\bclsx");
|
64
|
+
var clsx_1 = require("./newUtils/clsx");
|
65
|
+
var group_2 = require("./newUtils/group");
|
68
66
|
var util_1 = require("./util");
|
69
67
|
var parseSectionPadding_1 = __importDefault(require("./util/layoutPropParsers/parseSectionPadding"));
|
70
68
|
var Responsive = (0, publ_echo_test_1.WidthProvider)(publ_echo_test_1.ResponsiveGridEditor);
|
@@ -99,17 +97,6 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
99
97
|
sm: sm
|
100
98
|
};
|
101
99
|
}), layouts = _l[0], setLayouts = _l[1];
|
102
|
-
var _m = (0, useGroupDrag_1.useGroupDrag)({
|
103
|
-
layouts: layouts,
|
104
|
-
setLayouts: setLayouts,
|
105
|
-
device: device,
|
106
|
-
sectionActionHandler: sectionActionHandler
|
107
|
-
}), setGroupCB = _m.setGroupCB,
|
108
|
-
// breakGroupCB,
|
109
|
-
// escapeFromGroup,
|
110
|
-
// makeAllInOneGroup,
|
111
|
-
// makeCollisionGroup,
|
112
|
-
makeCollisionOfBulk = _m.makeCollisionOfBulk, getCollisionGroupIds = _m.getCollisionGroupIds;
|
113
100
|
(0, react_1.useImperativeHandle)(ref, function () {
|
114
101
|
return {
|
115
102
|
selectCB: function (cbId) {
|
@@ -130,21 +117,21 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
130
117
|
setLayouts(function (prev) {
|
131
118
|
var _a;
|
132
119
|
var _b;
|
133
|
-
var group = (0,
|
120
|
+
var group = (0, group_2.getGroupCB)(prev[layoutByDevice]);
|
134
121
|
var groupedCBIds = (_b = group === null || group === void 0 ? void 0 : group.childrenIds) !== null && _b !== void 0 ? _b : [];
|
135
|
-
var filteredLayout = (0,
|
122
|
+
var filteredLayout = (0, group_2.filterItemsById)(parsedLayouts[layoutByDevice], groupedCBIds);
|
136
123
|
if (group === null || group === void 0 ? void 0 : group.groupLayouts) {
|
137
124
|
var groupCbs = parsedLayouts[layoutByDevice].filter(function (each) {
|
138
125
|
return groupedCBIds.includes(each.i);
|
139
126
|
});
|
140
127
|
if (groupCbs.length > 0) {
|
141
|
-
var newGroupLayout = (0,
|
128
|
+
var newGroupLayout = (0, group_2.getGroupForMultiple)(groupCbs);
|
142
129
|
filteredLayout.push(newGroupLayout);
|
143
130
|
}
|
144
131
|
}
|
145
132
|
return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = filteredLayout, _a));
|
146
133
|
});
|
147
|
-
}, [componentBlocks,
|
134
|
+
}, [componentBlocks, group_2.getGroupCB, layoutByDevice]);
|
148
135
|
(0, react_1.useEffect)(function () {
|
149
136
|
if (editingSectionId !== props.id) {
|
150
137
|
setSelectedBlockId(null);
|
@@ -187,27 +174,29 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
187
174
|
if (!selectedCBId) {
|
188
175
|
return;
|
189
176
|
}
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
177
|
+
// const bulks = getCollisionGroupIds(selectedCBId).map(
|
178
|
+
// (cbid) => blockIdMap.CB_ID[Number(cbid)]
|
179
|
+
// );
|
180
|
+
// const bulkIds = findAccessibleChildrenBlocks(pedigreeState, editingGroupBlock, bulks);
|
181
|
+
// setBulkBlockIds(bulkIds);
|
182
|
+
// sectionActionHandler &&
|
183
|
+
// sectionActionHandler({
|
184
|
+
// type: '@CUSTOMSECTION/BLOCK_CLICKED',
|
185
|
+
// payload: {
|
186
|
+
// block: { type: 'BULK', blockId: 'BULK', childrenBlockIds: bulks }
|
187
|
+
// }
|
188
|
+
// });
|
200
189
|
setSelectedBlockId('BULK');
|
201
190
|
}
|
202
|
-
}, [selectedBlockId, shortcutKeyMode,
|
191
|
+
}, [selectedBlockId, shortcutKeyMode, sectionActionHandler, setSelectedBlockId]);
|
203
192
|
var makeAllInOneGroup = function () {
|
204
193
|
var allRootChildIds = (0, group_1.findAllChildrenIds)(pedigreeState, editingGroupBlock, 'current');
|
205
194
|
setBulkBlockIds(allRootChildIds);
|
206
195
|
};
|
207
|
-
var
|
196
|
+
var _m = (0, util_1.parseCustomSectionPlacement)({
|
208
197
|
isMobile: isMobile,
|
209
198
|
customSectionProps: CB_PLACEMENT_PROP_SECTION
|
210
|
-
}), rows =
|
199
|
+
}), rows = _m.rows, width = _m.width, minHeight = _m.minHeight, isFullWidth = _m.isFullWidth;
|
211
200
|
var customSectionStyles = {
|
212
201
|
minHeight: "".concat(minHeight, "vh"),
|
213
202
|
width: '100%',
|
@@ -248,21 +237,23 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
248
237
|
}
|
249
238
|
if (shortcutKeyMode === 'COLLISION_SELECT') {
|
250
239
|
var selectedCBId = selectedBlockId ? blockIdMap.BLOCK_ID[selectedBlockId] : undefined;
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
240
|
+
// const bulks = getCollisionGroupIds(id, selectedCBId).map(
|
241
|
+
// (cbid) => blockIdMap.CB_ID[Number(cbid)]
|
242
|
+
// );
|
243
|
+
// const bulkIds = findAccessibleChildrenBlocks(pedigreeState, editingGroupBlock, bulks);
|
244
|
+
// setBulkBlockIds(bulkIds);
|
245
|
+
// sectionActionHandler &&
|
246
|
+
// sectionActionHandler({
|
247
|
+
// type: '@CUSTOMSECTION/BLOCK_CLICKED',
|
248
|
+
// payload: {
|
249
|
+
// block: {
|
250
|
+
// type: 'BULK',
|
251
|
+
// blockId: 'BULK',
|
252
|
+
// childrenBlockIds: bulkIds
|
253
|
+
// }
|
254
|
+
// }
|
255
|
+
// });
|
256
|
+
// setSelectedBlockId('BULK');
|
266
257
|
return;
|
267
258
|
}
|
268
259
|
setSelectedBlockId(blockId);
|
@@ -346,7 +337,7 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
346
337
|
var blockId = blockIdMap.CB_ID[numberId];
|
347
338
|
var isIdNumber = !Number.isNaN(numberId);
|
348
339
|
if (blockId) {
|
349
|
-
if ((0,
|
340
|
+
if ((0, group_2.getGroupCB)(layouts[layoutByDevice])) {
|
350
341
|
setTimeout(function () {
|
351
342
|
setBulkBlockIds([]);
|
352
343
|
}, 100);
|
@@ -431,11 +422,24 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
431
422
|
}
|
432
423
|
});
|
433
424
|
};
|
425
|
+
var onContextGroup = function (e, blockId, isEditingGroup) {
|
426
|
+
console.log(e, blockId, isEditingGroup);
|
427
|
+
setSelectedBlockId(blockId);
|
428
|
+
sectionActionHandler &&
|
429
|
+
sectionActionHandler({
|
430
|
+
type: '@CUSTOMSECTION/GROUP_RIGHT_CLICKED',
|
431
|
+
payload: {
|
432
|
+
blockId: blockId,
|
433
|
+
e: e,
|
434
|
+
isEditingGroup: isEditingGroup
|
435
|
+
}
|
436
|
+
});
|
437
|
+
};
|
434
438
|
var onContextSection = function (e) {
|
435
439
|
if (!isEditMode) {
|
436
440
|
return;
|
437
441
|
}
|
438
|
-
if ((0,
|
442
|
+
if ((0, group_2.getGroupCB)(layouts[layoutByDevice])) {
|
439
443
|
setBulkBlockIds([]);
|
440
444
|
}
|
441
445
|
setSelectedBlockId(null);
|
@@ -469,7 +473,7 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
469
473
|
var clickOneCBInBulk = function (id) {
|
470
474
|
var blockId = blockIdMap.CB_ID[id];
|
471
475
|
if (shortcutKeyMode === 'COLLISION_SELECT') {
|
472
|
-
makeCollisionOfBulk();
|
476
|
+
// makeCollisionOfBulk();
|
473
477
|
return;
|
474
478
|
}
|
475
479
|
if (shortcutKeyMode === 'BULK_SELECT') {
|
@@ -501,7 +505,7 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
501
505
|
if (shortcutKeyMode !== 'COLLISION_SELECT') {
|
502
506
|
return;
|
503
507
|
}
|
504
|
-
makeCollisionOfBulk();
|
508
|
+
// makeCollisionOfBulk();
|
505
509
|
};
|
506
510
|
var showSectionHiddenCover = (function () {
|
507
511
|
if (mode === 'EDIT') {
|
@@ -515,8 +519,8 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
515
519
|
}
|
516
520
|
return false;
|
517
521
|
})();
|
518
|
-
var
|
519
|
-
var
|
522
|
+
var _o = (0, react_1.useState)('ROOT'), editingGroupBlock = _o[0], setEditingGroupBlock = _o[1];
|
523
|
+
var _p = (0, react_1.useState)([]), bulkBlockIds = _p[0], setBulkBlockIds = _p[1];
|
520
524
|
var newblock = bulkBlockIds.length > 0
|
521
525
|
? (0, group_1.addBulkToTarget)(pedigreeState, editingGroupBlock, bulkBlockIds)
|
522
526
|
: pedigreeState;
|
@@ -631,13 +635,13 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
631
635
|
fontSize: "".concat(baseFontSize, "px")
|
632
636
|
}, onLayoutChange: onLayoutChange, onDragStart: onDragStart, onDragStop: onDragStop, onResizeStop: onResizeStop, onDragStopForGroup: onGroupDragStop, onFitToContent: onAutoFitContent, onWidthChange: onWidthChange, minNbRow: rows, isDraggable: isEditMode, isResizable: isEditMode,
|
633
637
|
// GROUP
|
634
|
-
selectedGroupBlock: (_c = selectedBlockId === null || selectedBlockId === void 0 ? void 0 : selectedBlockId.toString()) !== null && _c !== void 0 ? _c : 'ROOT', editingGroupBlock: editingGroupBlock, blockStructure: newblock, bulkIds: bulkBlockIds, onDoubleClickGroup: onDoubleClickGroup, onClickGroup: onClickGroup, onDoubleClickOutsideGroup: onDoubleClickOutsideGroup }, { children: layouts[layoutByDevice].map(function (each, index) {
|
638
|
+
selectedGroupBlock: (_c = selectedBlockId === null || selectedBlockId === void 0 ? void 0 : selectedBlockId.toString()) !== null && _c !== void 0 ? _c : 'ROOT', editingGroupBlock: editingGroupBlock, blockStructure: newblock, bulkIds: bulkBlockIds, onDoubleClickGroup: onDoubleClickGroup, onClickGroup: onClickGroup, onDoubleClickOutsideGroup: onDoubleClickOutsideGroup, onContextGroup: onContextGroup }, { children: layouts[layoutByDevice].map(function (each, index) {
|
635
639
|
var matchedCB = componentBlocks === null || componentBlocks === void 0 ? void 0 : componentBlocks.find(function (cb) { return cb.id.toString() === each.i; });
|
636
640
|
var isInBulk = bulkBlockIds.includes((0, group_1.getBlockIdByComponentId)(pedigreeState, Number(each.i)));
|
637
641
|
if (!matchedCB) {
|
638
642
|
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
639
643
|
}
|
640
|
-
return ((0, jsx_runtime_1.jsx)("div", __assign({ className: (0,
|
644
|
+
return ((0, jsx_runtime_1.jsx)("div", __assign({ className: (0, clsx_1.clsx)({
|
641
645
|
'react-grid-item-selected': selectedBlockId === blockIdMap.CB_ID[matchedCB.id]
|
642
646
|
}) }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ className: "grid-item-child", style: {
|
643
647
|
width: '100%',
|
@@ -42,6 +42,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
42
42
|
};
|
43
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
44
44
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
45
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
45
46
|
var react_1 = __importStar(require("react"));
|
46
47
|
var ErrorBoundary_1 = require("../../../DynamicLayout/components/Section/ErrorBoundary");
|
47
48
|
var dynamicLayoutContext_1 = require("../../../DynamicLayout/dynamicLayoutContext");
|
@@ -49,8 +50,6 @@ var styled_components_1 = __importDefault(require("styled-components"));
|
|
49
50
|
var components_1 = require("../../components");
|
50
51
|
var CustomSection_1 = require("./CustomSection");
|
51
52
|
var FlexGridItem_1 = __importDefault(require("./FlexGridItem"));
|
52
|
-
var useGroupDrag_1 = require("./hooks/useGroupDrag/useGroupDrag");
|
53
|
-
var utils_1 = require("./hooks/useGroupDrag/utils");
|
54
53
|
var useResizableObserver_1 = require("./hooks/useResizableObserver");
|
55
54
|
var util_1 = require("./util");
|
56
55
|
var parseSectionPadding_1 = __importDefault(require("./util/layoutPropParsers/parseSectionPadding"));
|
@@ -70,51 +69,14 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
70
69
|
var gleRef = (0, react_1.useRef)(null);
|
71
70
|
var isMobile = device === 'MOBILE';
|
72
71
|
var isEditMode = mode === 'EDIT';
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
})
|
81
|
-
(0, react_1.useImperativeHandle)(ref, function () {
|
82
|
-
return {
|
83
|
-
selectCB: function (cbId) {
|
84
|
-
setSelectedCB(cbId);
|
85
|
-
},
|
86
|
-
selectCBInBulk: function (cbIds) {
|
87
|
-
var parsedLayouts = (0, util_1.parsePlacement)(componentBlocks !== null && componentBlocks !== void 0 ? componentBlocks : []);
|
88
|
-
setLayouts(function (prev) {
|
89
|
-
var _a;
|
90
|
-
var filteredLayout = (0, useGroupDrag_1.filterItemsById)(parsedLayouts[layoutByDevice], cbIds);
|
91
|
-
var newGroupLayout = (0, utils_1.getGroupForMultiple)(parsedLayouts[layoutByDevice].filter(function (each) { return cbIds.includes(each.i); }));
|
92
|
-
filteredLayout.push(newGroupLayout);
|
93
|
-
return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = filteredLayout, _a));
|
94
|
-
});
|
95
|
-
}
|
96
|
-
};
|
97
|
-
}, [componentBlocks]);
|
98
|
-
(0, react_1.useLayoutEffect)(function () {
|
99
|
-
var parsedLayouts = (0, util_1.parsePlacement)(componentBlocks !== null && componentBlocks !== void 0 ? componentBlocks : []);
|
100
|
-
setLayouts(function (prev) {
|
101
|
-
var _a;
|
102
|
-
var _b;
|
103
|
-
var group = (0, useGroupDrag_1.getGroupCB)(prev[layoutByDevice]);
|
104
|
-
var groupedCBIds = (_b = group === null || group === void 0 ? void 0 : group.childrenIds) !== null && _b !== void 0 ? _b : [];
|
105
|
-
var filteredLayout = (0, useGroupDrag_1.filterItemsById)(parsedLayouts[layoutByDevice], groupedCBIds);
|
106
|
-
if (group === null || group === void 0 ? void 0 : group.groupLayouts) {
|
107
|
-
var groupCbs = parsedLayouts[layoutByDevice].filter(function (each) {
|
108
|
-
return groupedCBIds.includes(each.i);
|
109
|
-
});
|
110
|
-
if (groupCbs.length > 0) {
|
111
|
-
var newGroupLayout = (0, utils_1.getGroupForMultiple)(groupCbs);
|
112
|
-
filteredLayout.push(newGroupLayout);
|
113
|
-
}
|
114
|
-
}
|
115
|
-
return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = filteredLayout, _a));
|
116
|
-
});
|
117
|
-
}, [componentBlocks, useGroupDrag_1.getGroupCB, layoutByDevice]);
|
72
|
+
// const layoutByDevice = device === 'DESKTOP' ? 'lg' : 'sm';
|
73
|
+
// const [layouts] = useState<LayoutsType>(() => {
|
74
|
+
// const { lg, sm } = parsePlacement(componentBlocks ?? []);
|
75
|
+
// return {
|
76
|
+
// lg,
|
77
|
+
// sm
|
78
|
+
// };
|
79
|
+
// });
|
118
80
|
(0, react_1.useEffect)(function () {
|
119
81
|
if (editingSectionId !== props.id) {
|
120
82
|
setSelectedCB(null);
|
@@ -162,10 +124,10 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
162
124
|
setSelectedCB('BULK');
|
163
125
|
}
|
164
126
|
}, [selectedCB, shortcutKeyMode, sectionActionHandler, setSelectedCB]);
|
165
|
-
var
|
127
|
+
var _e = (0, util_1.parseCustomSectionPlacement)({
|
166
128
|
isMobile: isMobile,
|
167
129
|
customSectionProps: CB_PLACEMENT_PROP_SECTION
|
168
|
-
}), width =
|
130
|
+
}), width = _e.width, minHeight = _e.minHeight, isFullWidth = _e.isFullWidth;
|
169
131
|
var customSectionStyles = {
|
170
132
|
minHeight: "".concat(minHeight, "vh"),
|
171
133
|
width: '100%',
|
@@ -175,9 +137,6 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
175
137
|
if (!isEditMode) {
|
176
138
|
return;
|
177
139
|
}
|
178
|
-
if ((0, useGroupDrag_1.getGroupCB)(layouts[layoutByDevice])) {
|
179
|
-
// breakGroupCB();
|
180
|
-
}
|
181
140
|
setSelectedCB(null);
|
182
141
|
sectionActionHandler &&
|
183
142
|
sectionActionHandler({
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import type { ComponentBlock } from '
|
1
|
+
import type { ComponentBlock } from '../types';
|
2
|
+
import type { Layout } from 'publ-echo-test/dist/lib';
|
2
3
|
import type { LayoutItem } from 'publ-echo/dist/lib';
|
3
4
|
export interface LayoutItemWithGroupType extends LayoutItem {
|
4
5
|
childrenIds: string[];
|
@@ -11,3 +12,5 @@ export declare function splitComponentBlocksByGroup(componentBlocks: ComponentBl
|
|
11
12
|
inGroup: ComponentBlock[];
|
12
13
|
notInGroup: ComponentBlock[];
|
13
14
|
};
|
15
|
+
export declare function getGroupCB(layout: Layout): LayoutItemWithGroupType | null;
|
16
|
+
export declare const filterItemsById: (layout: Layout, idsToRemove: Array<string>) => import("publ-echo-test/dist/lib").LayoutItem[];
|
@@ -20,7 +20,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
20
20
|
return to.concat(ar || Array.prototype.slice.call(from));
|
21
21
|
};
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
23
|
-
exports.splitComponentBlocksByGroup = exports.getGroupForMultiple = exports.recalculatedGroup = exports.getGroupData = void 0;
|
23
|
+
exports.filterItemsById = exports.getGroupCB = exports.splitComponentBlocksByGroup = exports.getGroupForMultiple = exports.recalculatedGroup = exports.getGroupData = void 0;
|
24
24
|
function getGroupData(elem1, elem2) {
|
25
25
|
var _a, _b;
|
26
26
|
var minX = Math.min(elem1.x, elem2.x);
|
@@ -125,3 +125,16 @@ function splitComponentBlocksByGroup(componentBlocks, groupIds) {
|
|
125
125
|
};
|
126
126
|
}
|
127
127
|
exports.splitComponentBlocksByGroup = splitComponentBlocksByGroup;
|
128
|
+
function getGroupCB(layout) {
|
129
|
+
var groupIdx = layout.findIndex(function (item) { return item.i === 'group'; });
|
130
|
+
if (groupIdx < 0) {
|
131
|
+
return null;
|
132
|
+
}
|
133
|
+
var groupItem = layout[groupIdx];
|
134
|
+
return groupItem;
|
135
|
+
}
|
136
|
+
exports.getGroupCB = getGroupCB;
|
137
|
+
var filterItemsById = function (layout, idsToRemove) {
|
138
|
+
return layout.filter(function (item) { return !idsToRemove.includes(item.i); });
|
139
|
+
};
|
140
|
+
exports.filterItemsById = filterItemsById;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "pds-dev-kit-web-test",
|
3
|
-
"version": "2.5.
|
3
|
+
"version": "2.5.63",
|
4
4
|
"license": "MIT",
|
5
5
|
"private": false,
|
6
6
|
"main": "dist/index.js",
|
@@ -23,7 +23,7 @@
|
|
23
23
|
"lottie-react": "^2.3.1",
|
24
24
|
"nuka-carousel": "^4.8.4",
|
25
25
|
"publ-echo": "^0.0.99",
|
26
|
-
"publ-echo-test": "^0.0.
|
26
|
+
"publ-echo-test": "^0.0.108",
|
27
27
|
"react-hook-form": "^7.28.1",
|
28
28
|
"react-i18next": "^11.12.0",
|
29
29
|
"react-router-dom": "^5.2.0",
|
@@ -1 +0,0 @@
|
|
1
|
-
export { default as useGroupDrag } from './useGroupDrag';
|
@@ -1,8 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.useGroupDrag = void 0;
|
7
|
-
var useGroupDrag_1 = require("./useGroupDrag");
|
8
|
-
Object.defineProperty(exports, "useGroupDrag", { enumerable: true, get: function () { return __importDefault(useGroupDrag_1).default; } });
|
package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/useGroupDrag.d.ts
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
/// <reference types="react" />
|
2
|
-
import { LayoutItemWithGroupType } from './utils';
|
3
|
-
import type { LayoutsType } from '../../CustomSection';
|
4
|
-
import type { Device } from '../../util/types';
|
5
|
-
import type { DynamicLayoutProps } from '../../../../../DynamicLayout/types';
|
6
|
-
import type { Layout, LayoutItem } from 'publ-echo/dist/lib';
|
7
|
-
type Props = {
|
8
|
-
device: Device;
|
9
|
-
layouts: LayoutsType;
|
10
|
-
setLayouts: React.Dispatch<React.SetStateAction<LayoutsType>>;
|
11
|
-
sectionActionHandler: DynamicLayoutProps['sectionActionHandler'];
|
12
|
-
};
|
13
|
-
declare function useGroupDrag({ device, setLayouts, sectionActionHandler, layouts }: Props): {
|
14
|
-
setGroupCB: (selectedId: number | 'group', newId: number) => void;
|
15
|
-
breakGroupCB: () => void;
|
16
|
-
makeAllInOneGroup: () => void;
|
17
|
-
escapeFromGroup: (id: string) => void;
|
18
|
-
makeCollisionGroup: (id: number, selectedCBId?: number) => void;
|
19
|
-
makeCollisionOfBulk: () => void;
|
20
|
-
getCollisionGroupIds: (id: number, selectedCBId?: number) => string[];
|
21
|
-
};
|
22
|
-
export declare function getGroupCB(layout: Layout): LayoutItemWithGroupType | null;
|
23
|
-
export declare const filterItemsById: (layout: Layout, idsToRemove: Array<string>) => LayoutItem[];
|
24
|
-
export default useGroupDrag;
|
package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/useGroupDrag.js
DELETED
@@ -1,297 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
3
|
-
__assign = Object.assign || function(t) {
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
-
s = arguments[i];
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
-
t[p] = s[p];
|
8
|
-
}
|
9
|
-
return t;
|
10
|
-
};
|
11
|
-
return __assign.apply(this, arguments);
|
12
|
-
};
|
13
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
14
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
15
|
-
if (ar || !(i in from)) {
|
16
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
17
|
-
ar[i] = from[i];
|
18
|
-
}
|
19
|
-
}
|
20
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
21
|
-
};
|
22
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
23
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
24
|
-
};
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
-
exports.filterItemsById = exports.getGroupCB = void 0;
|
27
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
28
|
-
var renderHelpers_1 = require("publ-echo/dist/lib/GridLayoutEditor/utils/renderHelpers");
|
29
|
-
var react_1 = require("react");
|
30
|
-
var deepCopy_1 = __importDefault(require("../../../../../DynamicLayout/utils/deepCopy"));
|
31
|
-
var utils_1 = require("./utils");
|
32
|
-
function useGroupDrag(_a) {
|
33
|
-
var device = _a.device, setLayouts = _a.setLayouts, sectionActionHandler = _a.sectionActionHandler, layouts = _a.layouts;
|
34
|
-
var layoutByDevice = device === 'DESKTOP' ? 'lg' : 'sm';
|
35
|
-
function makeAllInOneGroup() {
|
36
|
-
setLayouts(function (prev) {
|
37
|
-
var _a, _b;
|
38
|
-
var _c;
|
39
|
-
// TODO: 임시용 카피
|
40
|
-
var currentLayoutCopy = (0, deepCopy_1.default)(prev[layoutByDevice]);
|
41
|
-
if (currentLayoutCopy.length === 0) {
|
42
|
-
return prev;
|
43
|
-
}
|
44
|
-
var groupIdx = currentLayoutCopy.findIndex(function (item) { return item.i === 'group'; });
|
45
|
-
// NOTE: 그룹이 없는 경우
|
46
|
-
if (groupIdx < 0) {
|
47
|
-
var group_1 = (0, utils_1.getGroupForMultiple)(currentLayoutCopy);
|
48
|
-
sectionActionHandler &&
|
49
|
-
sectionActionHandler({
|
50
|
-
type: '@CUSTOMSECTION/BULK_CREATED',
|
51
|
-
payload: {
|
52
|
-
message: 'group generated',
|
53
|
-
data: group_1
|
54
|
-
}
|
55
|
-
});
|
56
|
-
return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = [group_1], _a));
|
57
|
-
}
|
58
|
-
// NOTE: 그룹이 이미 있는경우
|
59
|
-
var groupItem = currentLayoutCopy.splice(groupIdx, 1)[0];
|
60
|
-
if (!groupItem.groupLayouts) {
|
61
|
-
return prev;
|
62
|
-
}
|
63
|
-
var groupItems = (_c = groupItem.groupLayouts.map(function (each) { return (__assign(__assign({}, each), { x: groupItem.x + each.x, y: groupItem.y + each.y })); })) !== null && _c !== void 0 ? _c : [];
|
64
|
-
currentLayoutCopy.push.apply(currentLayoutCopy, groupItems);
|
65
|
-
var group = (0, utils_1.getGroupForMultiple)(currentLayoutCopy);
|
66
|
-
sectionActionHandler &&
|
67
|
-
sectionActionHandler({
|
68
|
-
type: '@CUSTOMSECTION/BULK_CREATED',
|
69
|
-
payload: {
|
70
|
-
message: 'group generated',
|
71
|
-
data: group
|
72
|
-
}
|
73
|
-
});
|
74
|
-
return __assign(__assign({}, prev), (_b = {}, _b[layoutByDevice] = [group], _b));
|
75
|
-
});
|
76
|
-
}
|
77
|
-
function escapeFromGroup(id) {
|
78
|
-
setLayouts(function (prev) {
|
79
|
-
var _a;
|
80
|
-
// TODO: 임시용 카피
|
81
|
-
var currentLayoutCopy = (0, deepCopy_1.default)(prev[layoutByDevice]);
|
82
|
-
var groupIdx = currentLayoutCopy.findIndex(function (item) { return item.i === 'group'; });
|
83
|
-
var group = currentLayoutCopy[groupIdx];
|
84
|
-
if (!group || !group.groupLayouts) {
|
85
|
-
return prev;
|
86
|
-
}
|
87
|
-
var escapeIndex = group.groupLayouts.findIndex(function (each) { return each.i === id; });
|
88
|
-
if (escapeIndex < 0) {
|
89
|
-
return prev;
|
90
|
-
}
|
91
|
-
var escapedItem = group.groupLayouts.splice(escapeIndex, 1)[0];
|
92
|
-
escapedItem.x += group.x;
|
93
|
-
escapedItem.y += group.y;
|
94
|
-
currentLayoutCopy.push(escapedItem);
|
95
|
-
var newGroup = (0, utils_1.recalculatedGroup)(group);
|
96
|
-
currentLayoutCopy.splice(groupIdx, 1, newGroup);
|
97
|
-
sectionActionHandler &&
|
98
|
-
sectionActionHandler({
|
99
|
-
type: '@CUSTOMSECTION/ESCAPE_ONE_FROM_BULK',
|
100
|
-
payload: {
|
101
|
-
id: id
|
102
|
-
}
|
103
|
-
});
|
104
|
-
return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = currentLayoutCopy, _a));
|
105
|
-
});
|
106
|
-
}
|
107
|
-
function setGroupCB(selectedId, newId) {
|
108
|
-
setLayouts(function (prev) {
|
109
|
-
var _a;
|
110
|
-
var currentLayoutCopy = (0, deepCopy_1.default)(prev[layoutByDevice]);
|
111
|
-
var firstIdx = currentLayoutCopy.findIndex(function (item) {
|
112
|
-
if (selectedId === 'group') {
|
113
|
-
return item.i === 'group';
|
114
|
-
}
|
115
|
-
if (Number(item.i) === selectedId) {
|
116
|
-
return true;
|
117
|
-
}
|
118
|
-
return false;
|
119
|
-
});
|
120
|
-
var firstElem = currentLayoutCopy.splice(firstIdx, 1)[0];
|
121
|
-
var secondIdx = currentLayoutCopy.findIndex(function (item) { return Number(item.i) === newId; });
|
122
|
-
var secondElem = currentLayoutCopy.splice(secondIdx, 1)[0];
|
123
|
-
var group = (0, utils_1.getGroupData)(firstElem, secondElem);
|
124
|
-
currentLayoutCopy.unshift(group);
|
125
|
-
sectionActionHandler &&
|
126
|
-
sectionActionHandler({
|
127
|
-
type: '@CUSTOMSECTION/BULK_CREATED',
|
128
|
-
payload: {
|
129
|
-
message: 'group generated',
|
130
|
-
data: group
|
131
|
-
}
|
132
|
-
});
|
133
|
-
return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = currentLayoutCopy, _a));
|
134
|
-
});
|
135
|
-
}
|
136
|
-
var breakGroupCB = (0, react_1.useCallback)(function () {
|
137
|
-
setLayouts(function (prev) {
|
138
|
-
var _a;
|
139
|
-
var _b;
|
140
|
-
// TODO: 임시용 카피
|
141
|
-
var currentLayoutCopy = (0, deepCopy_1.default)(prev[layoutByDevice]);
|
142
|
-
var groupIdx = currentLayoutCopy.findIndex(function (item) { return item.i === 'group'; });
|
143
|
-
if (groupIdx < 0) {
|
144
|
-
return prev;
|
145
|
-
}
|
146
|
-
var groupItem = currentLayoutCopy.splice(groupIdx, 1)[0];
|
147
|
-
if (!groupItem.groupLayouts) {
|
148
|
-
return prev;
|
149
|
-
}
|
150
|
-
var groupItems = (_b = groupItem.groupLayouts.map(function (each) { return (__assign(__assign({}, each), { x: groupItem.x + each.x, y: groupItem.y + each.y })); })) !== null && _b !== void 0 ? _b : [];
|
151
|
-
currentLayoutCopy.push.apply(currentLayoutCopy, groupItems);
|
152
|
-
return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = currentLayoutCopy, _a));
|
153
|
-
});
|
154
|
-
sectionActionHandler &&
|
155
|
-
sectionActionHandler({
|
156
|
-
type: '@CUSTOMSECTION/BULK_DISMISSED',
|
157
|
-
payload: {
|
158
|
-
message: 'group dismissed'
|
159
|
-
}
|
160
|
-
});
|
161
|
-
}, []);
|
162
|
-
function getCollisionGroupIds(id, selectedCBId) {
|
163
|
-
var currentLayoutCopy = (0, deepCopy_1.default)(layouts[layoutByDevice]); // 현재 레이아웃 복사
|
164
|
-
var additionalSelectedCBLayout = (function () {
|
165
|
-
if (selectedCBId === undefined || id === selectedCBId) {
|
166
|
-
return null;
|
167
|
-
}
|
168
|
-
return (0, renderHelpers_1.getLayoutItem)(currentLayoutCopy, selectedCBId.toString());
|
169
|
-
})();
|
170
|
-
var layout = (0, renderHelpers_1.getLayoutItem)(currentLayoutCopy, id.toString());
|
171
|
-
if (!layout) {
|
172
|
-
return []; // 해당 id에 대한 layout이 없으면 빈 배열 반환
|
173
|
-
}
|
174
|
-
var collisions = (0, renderHelpers_1.getAllCollisions)(currentLayoutCopy, layout);
|
175
|
-
var groupLayouts = __spreadArray([layout], collisions, true);
|
176
|
-
if (additionalSelectedCBLayout) {
|
177
|
-
var alreadyHas = collisions.some(function (each) { return each.i === additionalSelectedCBLayout.i; });
|
178
|
-
if (!alreadyHas) {
|
179
|
-
groupLayouts.push(additionalSelectedCBLayout);
|
180
|
-
}
|
181
|
-
}
|
182
|
-
// 충돌 그룹 내의 layout 아이템의 id만 반환
|
183
|
-
return groupLayouts.map(function (item) { return item.i; });
|
184
|
-
}
|
185
|
-
function makeCollisionGroup(id, selectedCBId) {
|
186
|
-
setLayouts(function (prev) {
|
187
|
-
var _a, _b;
|
188
|
-
var _c, _d;
|
189
|
-
var currentLayoutCopy = (0, deepCopy_1.default)(prev[layoutByDevice]);
|
190
|
-
var additionalSelectedCBLayout = (function () {
|
191
|
-
if (selectedCBId === undefined) {
|
192
|
-
return null;
|
193
|
-
}
|
194
|
-
if (id === selectedCBId) {
|
195
|
-
return null;
|
196
|
-
}
|
197
|
-
return (0, renderHelpers_1.getLayoutItem)(currentLayoutCopy, selectedCBId.toString());
|
198
|
-
})();
|
199
|
-
var layout = (0, renderHelpers_1.getLayoutItem)(currentLayoutCopy, id.toString());
|
200
|
-
if (!layout) {
|
201
|
-
return prev;
|
202
|
-
}
|
203
|
-
var prevGroupIdx = currentLayoutCopy.findIndex(function (item) { return item.i === 'group'; });
|
204
|
-
if (prevGroupIdx < 0) {
|
205
|
-
var collisions = (0, renderHelpers_1.getAllCollisions)(currentLayoutCopy, layout);
|
206
|
-
var groupLayouts = __spreadArray([layout], collisions, true);
|
207
|
-
if (collisions.length === 0 && !additionalSelectedCBLayout) {
|
208
|
-
sectionActionHandler &&
|
209
|
-
sectionActionHandler({
|
210
|
-
type: '@CUSTOMSECTION/COLLISION_NOT_FOUND',
|
211
|
-
payload: {
|
212
|
-
message: '겹치는 부분이 없어, 아무련 변화가 없습니다.'
|
213
|
-
}
|
214
|
-
});
|
215
|
-
return prev;
|
216
|
-
}
|
217
|
-
if (additionalSelectedCBLayout) {
|
218
|
-
var alreadyHas = collisions.some(function (each) { return each.i === additionalSelectedCBLayout.i; });
|
219
|
-
!alreadyHas && groupLayouts.push(additionalSelectedCBLayout);
|
220
|
-
}
|
221
|
-
var group_2 = (0, utils_1.getGroupForMultiple)(groupLayouts);
|
222
|
-
var filtered = currentLayoutCopy.filter(function (layout) { return !group_2.childrenIds.includes(layout.i); });
|
223
|
-
sectionActionHandler &&
|
224
|
-
sectionActionHandler({
|
225
|
-
type: '@CUSTOMSECTION/BULK_CREATED',
|
226
|
-
payload: {
|
227
|
-
message: 'group generated with collision detect',
|
228
|
-
data: group_2
|
229
|
-
}
|
230
|
-
});
|
231
|
-
return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = __spreadArray([group_2], filtered, true), _a));
|
232
|
-
}
|
233
|
-
var groupItem = currentLayoutCopy.splice(prevGroupIdx, 1)[0];
|
234
|
-
if (groupItem) {
|
235
|
-
var collisions = (0, renderHelpers_1.getAllCollisions)(currentLayoutCopy, layout);
|
236
|
-
var groupItems = (_d = (_c = groupItem.groupLayouts) === null || _c === void 0 ? void 0 : _c.map(function (each) { return (__assign(__assign({}, each), { x: groupItem.x + each.x, y: groupItem.y + each.y })); })) !== null && _d !== void 0 ? _d : [];
|
237
|
-
var newGroup_1 = (0, utils_1.getGroupForMultiple)([layout].concat(collisions).concat(groupItems));
|
238
|
-
var filtered = currentLayoutCopy.filter(function (layout) { return !newGroup_1.childrenIds.includes(layout.i); });
|
239
|
-
sectionActionHandler &&
|
240
|
-
sectionActionHandler({
|
241
|
-
type: '@CUSTOMSECTION/BULK_CREATED',
|
242
|
-
payload: {
|
243
|
-
message: 'group generated with collision detect',
|
244
|
-
data: newGroup_1
|
245
|
-
}
|
246
|
-
});
|
247
|
-
return __assign(__assign({}, prev), (_b = {}, _b[layoutByDevice] = __spreadArray([newGroup_1], filtered, true), _b));
|
248
|
-
}
|
249
|
-
return prev;
|
250
|
-
});
|
251
|
-
}
|
252
|
-
function makeCollisionOfBulk() {
|
253
|
-
setLayouts(function (prev) {
|
254
|
-
var _a;
|
255
|
-
var _b, _c;
|
256
|
-
var currentLayoutCopy = (0, deepCopy_1.default)(prev[layoutByDevice]);
|
257
|
-
var prevGroupIdx = currentLayoutCopy.findIndex(function (item) { return item.i === 'group'; });
|
258
|
-
var groupItem = currentLayoutCopy.splice(prevGroupIdx, 1)[0];
|
259
|
-
var collisions = (0, renderHelpers_1.getAllCollisions)(currentLayoutCopy, groupItem);
|
260
|
-
var groupItems = (_c = (_b = groupItem.groupLayouts) === null || _b === void 0 ? void 0 : _b.map(function (each) { return (__assign(__assign({}, each), { x: groupItem.x + each.x, y: groupItem.y + each.y })); })) !== null && _c !== void 0 ? _c : [];
|
261
|
-
var newGroup = (0, utils_1.getGroupForMultiple)(groupItems.concat(collisions));
|
262
|
-
var filtered = currentLayoutCopy.filter(function (layout) { return !newGroup.childrenIds.includes(layout.i); });
|
263
|
-
sectionActionHandler &&
|
264
|
-
sectionActionHandler({
|
265
|
-
type: '@CUSTOMSECTION/BULK_CREATED',
|
266
|
-
payload: {
|
267
|
-
message: 'group generated with collision detect',
|
268
|
-
data: newGroup
|
269
|
-
}
|
270
|
-
});
|
271
|
-
return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = __spreadArray([newGroup], filtered, true), _a));
|
272
|
-
});
|
273
|
-
}
|
274
|
-
return {
|
275
|
-
setGroupCB: setGroupCB,
|
276
|
-
breakGroupCB: breakGroupCB,
|
277
|
-
makeAllInOneGroup: makeAllInOneGroup,
|
278
|
-
escapeFromGroup: escapeFromGroup,
|
279
|
-
makeCollisionGroup: makeCollisionGroup,
|
280
|
-
makeCollisionOfBulk: makeCollisionOfBulk,
|
281
|
-
getCollisionGroupIds: getCollisionGroupIds
|
282
|
-
};
|
283
|
-
}
|
284
|
-
function getGroupCB(layout) {
|
285
|
-
var groupIdx = layout.findIndex(function (item) { return item.i === 'group'; });
|
286
|
-
if (groupIdx < 0) {
|
287
|
-
return null;
|
288
|
-
}
|
289
|
-
var groupItem = layout[groupIdx];
|
290
|
-
return groupItem;
|
291
|
-
}
|
292
|
-
exports.getGroupCB = getGroupCB;
|
293
|
-
var filterItemsById = function (layout, idsToRemove) {
|
294
|
-
return layout.filter(function (item) { return !idsToRemove.includes(item.i); });
|
295
|
-
};
|
296
|
-
exports.filterItemsById = filterItemsById;
|
297
|
-
exports.default = useGroupDrag;
|
/package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/{/bclsx.d.ts" → clsx.d.ts}
RENAMED
File without changes
|
File without changes
|