pds-dev-kit-web-test 0.3.50 → 0.3.52

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.
@@ -41,7 +41,7 @@ type ActionHandlerPayload = {
41
41
  id: number;
42
42
  };
43
43
  '@CUSTOMSECTION/CB_RIGHT_CLICKED': {
44
- id: number;
44
+ id: number | 'group';
45
45
  e: React.MouseEvent;
46
46
  };
47
47
  '@CUSTOMSECTION/SECTION_CLICKED': {
@@ -94,7 +94,7 @@ var CommentList = (0, react_1.forwardRef)(function CustomSection(props, ref) {
94
94
  setLayouts: setLayouts,
95
95
  device: device,
96
96
  sectionActionHandler: sectionActionHandler
97
- }), setGroupCB = _g.setGroupCB, breakGroupCB = _g.breakGroupCB, escapeFromGroup = _g.escapeFromGroup, makeAllInOneGroup = _g.makeAllInOneGroup, makeCollisionGroup = _g.makeCollisionGroup;
97
+ }), setGroupCB = _g.setGroupCB, breakGroupCB = _g.breakGroupCB, escapeFromGroup = _g.escapeFromGroup, makeAllInOneGroup = _g.makeAllInOneGroup, makeCollisionGroup = _g.makeCollisionGroup, makeCollisionOfBulk = _g.makeCollisionOfBulk;
98
98
  (0, react_1.useImperativeHandle)(ref, function () {
99
99
  return {
100
100
  selectCB: function (cbId) {
@@ -353,15 +353,24 @@ var CommentList = (0, react_1.forwardRef)(function CustomSection(props, ref) {
353
353
  var padding = (0, parseSectionPadding_1.default)(CB_LAYOUT_PROP_PADDING, device);
354
354
  var breakpoints = device === 'DESKTOP' ? { lg: 100, sm: 0 } : { lg: 1200, sm: 480 };
355
355
  var innerRef = (0, react_1.useRef)(null);
356
- var clickGroupedOne = function (id, groupLayouts) {
357
- if (shortcutKeyMode !== 'BULK_SELECT') {
356
+ var clickOneCBInBulk = function (id, groupLayouts) {
357
+ if (shortcutKeyMode === 'COLLISION_SELECT') {
358
+ makeCollisionOfBulk();
358
359
  return;
359
360
  }
360
- if (groupLayouts.length <= 2) {
361
- breakGroupCB();
361
+ if (shortcutKeyMode === 'BULK_SELECT') {
362
+ if (groupLayouts.length <= 2) {
363
+ breakGroupCB();
364
+ return;
365
+ }
366
+ escapeFromGroup(id.toString());
367
+ }
368
+ };
369
+ var onClickBulk = function () {
370
+ if (shortcutKeyMode !== 'COLLISION_SELECT') {
362
371
  return;
363
372
  }
364
- escapeFromGroup(id.toString());
373
+ makeCollisionOfBulk();
365
374
  };
366
375
  return ((0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(S_gleStyles, { children: (0, jsx_runtime_1.jsx)(S_SectionWrapper, __assign({ ref: gleRef, "x-dlayout-section-type": "NO_NAME", onClick: onClickSection }, { children: (0, jsx_runtime_1.jsx)(components_1.CustomSection, __assign({}, props, { isMobile: isMobile, overrideStyles: {
367
376
  minHeight: customSectionStyles.minHeight,
@@ -381,7 +390,13 @@ var CommentList = (0, react_1.forwardRef)(function CustomSection(props, ref) {
381
390
  }
382
391
  var matchedCB = componentBlocks === null || componentBlocks === void 0 ? void 0 : componentBlocks.find(function (cb) { return cb.id.toString() === each.i; });
383
392
  if (each.i === 'group' && each.groupLayouts) {
384
- return ((0, jsx_runtime_1.jsx)("div", __assign({ className: "iamgroup", onClick: function (e) { return e.stopPropagation(); } }, { children: (0, jsx_runtime_1.jsx)(WidthProvidedRGL, __assign({ cols: each.w, allowOverlap: true, layout: each.groupLayouts, rowHeight: rowHeight, containerPadding: [0, 0], margin: [10, 10], isDraggable: false, isResizable: false, style: {
393
+ return ((0, jsx_runtime_1.jsx)("div", __assign({ className: "iamgroup", onClick: function (e) {
394
+ e.stopPropagation();
395
+ onClickBulk();
396
+ }, onContextMenu: function (e) {
397
+ e.stopPropagation();
398
+ onContextMenuCB('group', e);
399
+ } }, { children: (0, jsx_runtime_1.jsx)(WidthProvidedRGL, __assign({ cols: each.w, allowOverlap: true, layout: each.groupLayouts, rowHeight: rowHeight, containerPadding: [0, 0], margin: [10, 10], isDraggable: false, isResizable: false, style: {
385
400
  width: '100%'
386
401
  } }, { children: (_a = each.groupLayouts) === null || _a === void 0 ? void 0 : _a.map(function (layoutItem, index, array) {
387
402
  var matchedCB = componentBlocks === null || componentBlocks === void 0 ? void 0 : componentBlocks.find(function (cb) { return cb.id.toString() === layoutItem.i; });
@@ -394,7 +409,7 @@ var CommentList = (0, react_1.forwardRef)(function CustomSection(props, ref) {
394
409
  cbCopy.jsonProperties.data.CB_EFFECT_PROP_ENTANIM['CB_EFFECT_PROP_ENTANIM_SPEC_TYPE:MOBILE'] = 'NONE';
395
410
  return ((0, jsx_runtime_1.jsx)("div", __assign({ className: "cb-box-in-group", onClick: function (e) {
396
411
  e.stopPropagation();
397
- clickGroupedOne(matchedCB.id, array);
412
+ clickOneCBInBulk(matchedCB.id, array);
398
413
  } }, { children: (0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(ComponentBlockMatcher_1.default, { cbProps: cbCopy, device: device, index: index }) }) }), matchedCB.id));
399
414
  }) })) }), each.i));
400
415
  }
@@ -15,6 +15,7 @@ declare function useGroupDrag({ device, setLayouts, sectionActionHandler }: Prop
15
15
  makeAllInOneGroup: () => void;
16
16
  escapeFromGroup: (id: string) => void;
17
17
  makeCollisionGroup: (id: number, selectedCBId?: number) => void;
18
+ makeCollisionOfBulk: () => void;
18
19
  };
19
20
  export declare function getGroupCB(layout: Layout): LayoutItemWithGroupType | null;
20
21
  export declare const filterItemsById: (layout: Layout, idsToRemove: Array<string>) => LayoutItem[];
@@ -226,7 +226,36 @@ function useGroupDrag(_a) {
226
226
  return prev;
227
227
  });
228
228
  }
229
- return { setGroupCB: setGroupCB, breakGroupCB: breakGroupCB, makeAllInOneGroup: makeAllInOneGroup, escapeFromGroup: escapeFromGroup, makeCollisionGroup: makeCollisionGroup };
229
+ function makeCollisionOfBulk() {
230
+ setLayouts(function (prev) {
231
+ var _a;
232
+ var _b, _c;
233
+ var currentLayoutCopy = (0, deepCopy_1.default)(prev[layoutByDevice]);
234
+ var prevGroupIdx = currentLayoutCopy.findIndex(function (item) { return item.i === 'group'; });
235
+ var groupItem = currentLayoutCopy.splice(prevGroupIdx, 1)[0];
236
+ var collisions = (0, renderHelpers_1.getAllCollisions)(currentLayoutCopy, groupItem);
237
+ 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 : [];
238
+ var newGroup = (0, utils_1.getGroupForMultiple)(groupItems.concat(collisions));
239
+ var filtered = currentLayoutCopy.filter(function (layout) { return !newGroup.childrenIds.includes(layout.i); });
240
+ sectionActionHandler &&
241
+ sectionActionHandler({
242
+ type: '@CUSTOMSECTION/GROUP_CREATED',
243
+ payload: {
244
+ message: 'group generated with collision detect',
245
+ data: newGroup
246
+ }
247
+ });
248
+ return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = __spreadArray([newGroup], filtered, true), _a));
249
+ });
250
+ }
251
+ return {
252
+ setGroupCB: setGroupCB,
253
+ breakGroupCB: breakGroupCB,
254
+ makeAllInOneGroup: makeAllInOneGroup,
255
+ escapeFromGroup: escapeFromGroup,
256
+ makeCollisionGroup: makeCollisionGroup,
257
+ makeCollisionOfBulk: makeCollisionOfBulk
258
+ };
230
259
  }
231
260
  function getGroupCB(layout) {
232
261
  var groupIdx = layout.findIndex(function (item) { return item.i === 'group'; });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pds-dev-kit-web-test",
3
- "version": "0.3.50",
3
+ "version": "0.3.52",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "main": "dist/index.js",