pds-dev-kit-web-test 0.3.18 → 0.3.20

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.
@@ -47,6 +47,12 @@ type ActionHandlerPayload = {
47
47
  '@CUSTOMSECTION/SECTION_CLICKED': {
48
48
  sectionId: number;
49
49
  };
50
+ '@CUSTOMSECTION/GROUP_CREATED': {
51
+ message: string;
52
+ };
53
+ '@CUSTOMSECTION/GROUP_DISMISSED': {
54
+ message: string;
55
+ };
50
56
  };
51
57
  type ActionMap<M extends {
52
58
  [index: string]: any;
@@ -115,6 +115,13 @@ function CustomSection(props) {
115
115
  id: 'group'
116
116
  }
117
117
  });
118
+ sectionActionHandler &&
119
+ sectionActionHandler({
120
+ type: '@CUSTOMSECTION/GROUP_CREATED',
121
+ payload: {
122
+ message: 'group created'
123
+ }
124
+ });
118
125
  setSelectedCB('group');
119
126
  return;
120
127
  }
@@ -203,7 +210,16 @@ function CustomSection(props) {
203
210
  if (!isEditMode) {
204
211
  return;
205
212
  }
206
- breakGroupCB();
213
+ if (selectedCB === 'group') {
214
+ breakGroupCB();
215
+ sectionActionHandler &&
216
+ sectionActionHandler({
217
+ type: '@CUSTOMSECTION/GROUP_DISMISSED',
218
+ payload: {
219
+ message: 'group dismissed'
220
+ }
221
+ });
222
+ }
207
223
  setSelectedCB(null);
208
224
  sectionActionHandler &&
209
225
  sectionActionHandler({
@@ -17,32 +17,40 @@ function useGroupDrag(_a) {
17
17
  var layoutByDevice = device === 'DESKTOP' ? 'lg' : 'sm';
18
18
  function setGroupCB(selectedId, newId) {
19
19
  setLayouts(function (prev) {
20
- var currentLayout = prev[layoutByDevice];
21
- var firstIdx = currentLayout.findIndex(function (item) { return Number(item.i) === selectedId; });
22
- var firstElem = currentLayout.splice(firstIdx, 1)[0];
23
- var secondIdx = currentLayout.findIndex(function (item) { return Number(item.i) === newId; });
24
- var secondElem = currentLayout.splice(secondIdx, 1)[0];
25
- // if (currentLayout) {
26
- // firstElem.childrenIds = currentLayout.childrenIds;
27
- // firstElem.groupLayouts = currentLayout.groupLayouts;
28
- // }
20
+ var _a;
21
+ // TODO: 임시용 카피
22
+ var currentLayoutCopy = JSON.parse(JSON.stringify(prev[layoutByDevice]));
23
+ var firstIdx = currentLayoutCopy.findIndex(function (item) {
24
+ if (selectedId === 'group') {
25
+ return item.i === 'group';
26
+ }
27
+ if (Number(item.i) === selectedId) {
28
+ return true;
29
+ }
30
+ return false;
31
+ });
32
+ var firstElem = currentLayoutCopy.splice(firstIdx, 1)[0];
33
+ var secondIdx = currentLayoutCopy.findIndex(function (item) { return Number(item.i) === newId; });
34
+ var secondElem = currentLayoutCopy.splice(secondIdx, 1)[0];
29
35
  var group = (0, utils_1.getGroupData)(firstElem, secondElem);
30
- currentLayout.push(group);
31
- return __assign({}, prev);
36
+ currentLayoutCopy.push(group);
37
+ return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = currentLayoutCopy, _a));
32
38
  });
33
39
  }
34
40
  function breakGroupCB() {
35
41
  setLayouts(function (prev) {
36
- var _a, _b;
37
- var currentLayout = prev[layoutByDevice];
38
- var groupIdx = currentLayout.findIndex(function (item) { return item.i === 'group'; });
42
+ var _a;
43
+ var _b, _c;
44
+ // TODO: 임시용 카피
45
+ var currentLayoutCopy = JSON.parse(JSON.stringify(prev[layoutByDevice]));
46
+ var groupIdx = currentLayoutCopy.findIndex(function (item) { return item.i === 'group'; });
39
47
  if (groupIdx < 0) {
40
48
  return prev;
41
49
  }
42
- var groupItem = currentLayout.splice(groupIdx, 1)[0];
43
- var groupItems = (_b = (_a = groupItem === null || groupItem === void 0 ? void 0 : groupItem.groupLayouts) === null || _a === void 0 ? void 0 : _a.map(function (each) { return (__assign(__assign({}, each), { x: groupItem.x + each.x, y: groupItem.y + each.y })); })) !== null && _b !== void 0 ? _b : [];
44
- currentLayout.push.apply(currentLayout, groupItems);
45
- return __assign({}, prev);
50
+ var groupItem = currentLayoutCopy.splice(groupIdx, 1)[0];
51
+ var groupItems = (_c = (_b = groupItem === null || groupItem === void 0 ? void 0 : 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 : [];
52
+ currentLayoutCopy.push.apply(currentLayoutCopy, groupItems);
53
+ return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = currentLayoutCopy, _a));
46
54
  });
47
55
  }
48
56
  function getGroupCB(layout) {
@@ -30,20 +30,8 @@ function getGroupData(elem1, elem2) {
30
30
  var elem2H = elem2.y - minY + elem2.h;
31
31
  var maxW = Math.max(elem1W, elem2W);
32
32
  var maxH = Math.max(elem1H, elem2H);
33
- var elem1InnerData = {
34
- i: elem1.i,
35
- x: elem1.x - minX,
36
- y: elem1.y - minY,
37
- w: elem1.w,
38
- h: elem1.h
39
- };
40
- var elem2InnerData = {
41
- i: elem2.i,
42
- x: elem2.x - minX,
43
- y: elem2.y - minY,
44
- w: elem2.w,
45
- h: elem2.h
46
- };
33
+ var elem1InnerData = __assign(__assign({}, elem1), { x: elem1.x - minX, y: elem1.y - minY });
34
+ var elem2InnerData = __assign(__assign({}, elem2), { x: elem2.x - minX, y: elem2.y - minY });
47
35
  var groupLayouts = elem1.groupLayouts
48
36
  ? getAdaptedGroupLayouts(elem1.groupLayouts, elem2InnerData, elem1, minX, minY)
49
37
  : [elem1InnerData, elem2InnerData];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pds-dev-kit-web-test",
3
- "version": "0.3.18",
3
+ "version": "0.3.20",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "main": "dist/index.js",
package/release-note.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # PDS-DEV-KIT-WEB Release Notes
2
- ## [v0.3.18]
2
+ ## [v0.3.20]
3
3
  ## 기준 pds-dev-kit-web 버전 @2.2.41
4
4
  ### sub
5
5
  * DynamicLayout
6
- * echo 0.0.30으로 업데이트
7
- * echo 업데이트 내용: 충돌감지 움직임이 의도치않게 작동하는 이슈 픽스
6
+ * prop으로 받은 객체 수정하는 코드 수정
7
+ * 그룹화/그룹해제 중에 이상하게 작동하는 부분 수정