@fonixtree/magic-design 0.0.98 → 0.0.100

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.
Files changed (63) hide show
  1. package/es/assets/images/layout-icon/imageGalleryLayout1.png +0 -0
  2. package/es/common/LinkModal/FilteredProductModal/index.js +21 -18
  3. package/es/composite-comp/bol/components/Banner/mobile/index.js +11 -18
  4. package/es/composite-comp/bol/components/Banner/pc/index.js +10 -10
  5. package/es/composite-comp/bol/components/Carousel/defaultJSON.js +4 -4
  6. package/es/composite-comp/bol/components/Carousel/mobile/index.js +2 -5
  7. package/es/composite-comp/bol/components/Carousel/mobile/index.less +8 -7
  8. package/es/composite-comp/bol/components/Carousel/pc/index.js +1 -4
  9. package/es/composite-comp/bol/components/Carousel/pc/index.less +8 -7
  10. package/es/composite-comp/bol/components/ImageGallery/defaultJSON.js +4 -4
  11. package/es/composite-comp/bol/components/ImageGallery/mobile/index.js +3 -3
  12. package/es/composite-comp/bol/components/ImageGallery/mobile/index.less +0 -3
  13. package/es/composite-comp/bol/components/ImageGallery/pc/index.js +6 -4
  14. package/es/composite-comp/bol/components/ImageGallery/pc/index.less +0 -3
  15. package/es/composite-comp/bol/components/ImageText/pc/index.less +2 -0
  16. package/es/composite-comp/bol/components/Newsletter/index.js +15 -2
  17. package/es/composite-comp/common/config-panels/SpacingConfig/index.js +14 -1
  18. package/es/composite-comp/dito/components/PcNavigation/pc/index.js +0 -2
  19. package/es/composite-comp/dito/components/SearchBar/defaultJSON.js +5 -4
  20. package/es/composite-comp/dito/components/SearchBar/imgs/xt-logo.png +0 -0
  21. package/es/composite-comp/dito/config-panels/SearchBarConfig/index.js +2 -1
  22. package/es/core/Designer/AppointmentModal/index.js +4 -1
  23. package/es/core/Designer/PageCompList/index.js +29 -1
  24. package/es/core/Designer/QuickMenuBar/index.js +3 -1
  25. package/es/core/Designer/ViewArea/index.js +3 -4
  26. package/es/core/Designer/ViewArea/index.less +3 -7
  27. package/es/core/Designer/index.js +1 -1
  28. package/es/core/Renderer/index.js +5 -3
  29. package/es/decorator/compositeDecorator.js +131 -38
  30. package/es/decorator/metaDecorator.js +1 -1
  31. package/es/mobx/Store.js +4 -1
  32. package/lib/assets/images/layout-icon/imageGalleryLayout1.png +0 -0
  33. package/lib/common/LinkModal/FilteredProductModal/index.js +21 -18
  34. package/lib/composite-comp/bol/components/Banner/mobile/index.js +11 -18
  35. package/lib/composite-comp/bol/components/Banner/pc/index.js +10 -10
  36. package/lib/composite-comp/bol/components/Carousel/defaultJSON.js +4 -4
  37. package/lib/composite-comp/bol/components/Carousel/mobile/index.js +2 -5
  38. package/lib/composite-comp/bol/components/Carousel/mobile/index.less +8 -7
  39. package/lib/composite-comp/bol/components/Carousel/pc/index.js +1 -4
  40. package/lib/composite-comp/bol/components/Carousel/pc/index.less +8 -7
  41. package/lib/composite-comp/bol/components/ImageGallery/defaultJSON.js +4 -4
  42. package/lib/composite-comp/bol/components/ImageGallery/mobile/index.js +3 -3
  43. package/lib/composite-comp/bol/components/ImageGallery/mobile/index.less +0 -3
  44. package/lib/composite-comp/bol/components/ImageGallery/pc/index.js +6 -4
  45. package/lib/composite-comp/bol/components/ImageGallery/pc/index.less +0 -3
  46. package/lib/composite-comp/bol/components/ImageText/pc/index.less +2 -0
  47. package/lib/composite-comp/bol/components/Newsletter/index.js +15 -2
  48. package/lib/composite-comp/common/config-panels/SpacingConfig/index.js +14 -1
  49. package/lib/composite-comp/dito/components/PcNavigation/pc/index.js +0 -2
  50. package/lib/composite-comp/dito/components/SearchBar/defaultJSON.js +5 -4
  51. package/lib/composite-comp/dito/components/SearchBar/imgs/xt-logo.png +0 -0
  52. package/lib/composite-comp/dito/config-panels/SearchBarConfig/index.js +2 -1
  53. package/lib/core/Designer/AppointmentModal/index.js +4 -1
  54. package/lib/core/Designer/PageCompList/index.js +29 -1
  55. package/lib/core/Designer/QuickMenuBar/index.js +3 -1
  56. package/lib/core/Designer/ViewArea/index.js +3 -4
  57. package/lib/core/Designer/ViewArea/index.less +3 -7
  58. package/lib/core/Designer/index.js +1 -1
  59. package/lib/core/Renderer/index.js +5 -3
  60. package/lib/decorator/compositeDecorator.js +131 -38
  61. package/lib/decorator/metaDecorator.js +1 -1
  62. package/lib/mobx/Store.js +4 -1
  63. package/package.json +1 -1
@@ -48,13 +48,13 @@ var getDefaultJSON = function getDefaultJSON() {
48
48
  groupSource: [imagesGroupSourceJSON()],
49
49
  spacing: {
50
50
  pc: {
51
- paddingTop: 10,
52
- paddingBottom: 10,
51
+ paddingTop: 0,
52
+ paddingBottom: 0,
53
53
  marginBottom: window.magicDesign.compSpacing * 1.5
54
54
  },
55
55
  mobile: {
56
- paddingTop: 10,
57
- paddingBottom: 10,
56
+ paddingTop: 0,
57
+ paddingBottom: 0,
58
58
  marginBottom: window.magicDesign.compSpacing
59
59
  }
60
60
  },
@@ -114,9 +114,9 @@ function (_super) {
114
114
  className: (0, _classnames["default"])('line', {
115
115
  isHorizontal: isHorizontal
116
116
  }),
117
- style: {
117
+ style: isHorizontal ? {
118
118
  gap: MOBILE_IMG_SIZE[colNum].gap
119
- }
119
+ } : {}
120
120
  }, arr.map(function (item) {
121
121
  return /*#__PURE__*/_react["default"].createElement("div", {
122
122
  key: item.id,
@@ -127,7 +127,7 @@ function (_super) {
127
127
  }, /*#__PURE__*/_react["default"].createElement(_components.MetaImage, {
128
128
  data: item.image,
129
129
  maxHeight: MOBILE_IMG_SIZE[colNum].maxH,
130
- maxWidth: MOBILE_IMG_SIZE[colNum].maxW
130
+ maxWidth: "100%"
131
131
  }));
132
132
  }));
133
133
  })));
@@ -1,8 +1,5 @@
1
1
  .m-image-gallery-mobile {
2
2
  .content {
3
- max-width: 345px;
4
- margin: 0 auto;
5
-
6
3
  .line {
7
4
  margin-bottom: 12px;
8
5
 
@@ -61,6 +61,8 @@ var PC_IMG_SIZE = {
61
61
  maxW: 1280,
62
62
  minH: 150,
63
63
  maxH: 960,
64
+ defW: 1072,
65
+ defH: 400,
64
66
  gap: 20
65
67
  },
66
68
  2: {
@@ -131,9 +133,9 @@ function (_super) {
131
133
  className: (0, _classnames["default"])('line', {
132
134
  isHorizontal: isHorizontal
133
135
  }),
134
- style: {
136
+ style: isHorizontal ? {
135
137
  gap: PC_IMG_SIZE[colNum].gap
136
- }
138
+ } : {}
137
139
  }, arr.map(function (item) {
138
140
  return /*#__PURE__*/_react["default"].createElement("div", {
139
141
  key: item.id,
@@ -143,8 +145,8 @@ function (_super) {
143
145
  }
144
146
  }, /*#__PURE__*/_react["default"].createElement(_components.MetaImage, {
145
147
  data: item.image,
146
- maxHeight: PC_IMG_SIZE[colNum].maxH,
147
- maxWidth: PC_IMG_SIZE[colNum].maxW,
148
+ maxHeight: item.image.content.pcImgSrc ? PC_IMG_SIZE[colNum].maxH : PC_IMG_SIZE[colNum].defH,
149
+ maxWidth: item.image.content.pcImgSrc ? '100%' : PC_IMG_SIZE[colNum].defW,
148
150
  minHeight: PC_IMG_SIZE[colNum].minH,
149
151
  minWidth: PC_IMG_SIZE[colNum].minW
150
152
  }));
@@ -1,8 +1,5 @@
1
1
  .m-image-gallery-pc {
2
2
  .content {
3
- max-width: 1280px;
4
- margin: 0 auto;
5
-
6
3
  .line {
7
4
  margin-bottom: 20px;
8
5
 
@@ -45,9 +45,11 @@
45
45
  width: fit-content;
46
46
  display: flex;
47
47
  .card-first-btn {
48
+ cursor: pointer;
48
49
  margin-right: 12px;
49
50
  }
50
51
  .card-second-btn {
52
+ cursor: pointer;
51
53
  margin-top: 0;
52
54
  }
53
55
  }
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -17,6 +15,8 @@ var _components = require("../../../../meta-comp/components");
17
15
 
18
16
  var _Text = require("../../../../meta-comp/components/Text");
19
17
 
18
+ var _compositeDecorator = _interopRequireDefault(require("../../../../decorator/compositeDecorator"));
19
+
20
20
  require("./index.less");
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -25,6 +25,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
25
 
26
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
27
 
28
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
29
+
28
30
  var __extends = void 0 && (void 0).__extends || function () {
29
31
  var _extendStatics = function extendStatics(d, b) {
30
32
  _extendStatics = Object.setPrototypeOf || {
@@ -67,6 +69,16 @@ var __assign = void 0 && (void 0).__assign || function () {
67
69
  return __assign.apply(this, arguments);
68
70
  };
69
71
 
72
+ var __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {
73
+ var c = arguments.length,
74
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
75
+ d;
76
+ if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {
77
+ if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
78
+ }
79
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
80
+ };
81
+
70
82
  var Newsletter =
71
83
  /** @class */
72
84
  function (_super) {
@@ -115,6 +127,7 @@ function (_super) {
115
127
 
116
128
  Newsletter.type = 'NEWSLETTER';
117
129
  Newsletter.getDefaultJSON = _defaultJSON.getDefaultJSON;
130
+ Newsletter = __decorate([_compositeDecorator["default"]], Newsletter);
118
131
  return Newsletter;
119
132
  }(_react.Component);
120
133
 
@@ -63,7 +63,8 @@ function (_super) {
63
63
  var _a = this.props,
64
64
  data = _a.data,
65
65
  configCompSpace = _a.configCompSpace,
66
- configWidth = _a.configWidth;
66
+ configWidth = _a.configWidth,
67
+ fillUpWidth = _a.fillUpWidth;
67
68
  var obj = data[window.magicDesign.device] || {};
68
69
  return /*#__PURE__*/_react["default"].createElement("div", {
69
70
  className: "spacing-config-container"
@@ -80,6 +81,17 @@ function (_super) {
80
81
  value: {
81
82
  count: obj.contentWidth
82
83
  }
84
+ })), fillUpWidth && window.magicDesign.device === 'pc' && /*#__PURE__*/_react["default"].createElement(_common.Field, {
85
+ layout: "horizontal",
86
+ title: "Fill the page"
87
+ }, /*#__PURE__*/_react["default"].createElement(_antd.Checkbox, {
88
+ checked: obj.fillUp,
89
+ onChange: function onChange(e) {
90
+ console.log('ddd fill up', e.target.checked);
91
+ obj.fillUp = e.target.checked;
92
+
93
+ _this.selfRender();
94
+ }
83
95
  })), /*#__PURE__*/_react["default"].createElement(_common.Field, {
84
96
  title: (0, _locale.i18n)('PADDING')
85
97
  }, /*#__PURE__*/_react["default"].createElement("div", {
@@ -147,6 +159,7 @@ function (_super) {
147
159
  SpacingConfig.defaultProps = {
148
160
  configCompSpace: true,
149
161
  configWidth: false,
162
+ fillUpWidth: false,
150
163
  data: {
151
164
  pc: {
152
165
  paddingTop: 0,
@@ -336,8 +336,6 @@ function (_super) {
336
336
  };
337
337
 
338
338
  _this.getListArr = function (pre, arr, index) {
339
- console.log('---getListArr', pre, arr);
340
-
341
339
  if (arr) {
342
340
  pre[index] = arr.map(function (item) {
343
341
  return __assign(__assign({}, item), {
@@ -7,7 +7,7 @@ exports.getDefaultJSON = void 0;
7
7
 
8
8
  var _uuid = require("uuid");
9
9
 
10
- var _ditoLogo = _interopRequireDefault(require("./imgs/dito-logo.svg"));
10
+ var _xtLogo = _interopRequireDefault(require("./imgs/xt-logo.png"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
13
 
@@ -25,8 +25,8 @@ var getDefaultJSON = function getDefaultJSON() {
25
25
  content: {
26
26
  h5Name: 'name2',
27
27
  pcName: 'name2',
28
- h5ImgSrc: _ditoLogo["default"],
29
- pcImgSrc: _ditoLogo["default"],
28
+ h5ImgSrc: _xtLogo["default"],
29
+ pcImgSrc: _xtLogo["default"],
30
30
  clickUrl: ''
31
31
  },
32
32
  hover: {
@@ -58,7 +58,8 @@ var getDefaultJSON = function getDefaultJSON() {
58
58
  pc: {
59
59
  paddingTop: 20,
60
60
  paddingBottom: 30,
61
- marginBottom: 0
61
+ marginBottom: 0,
62
+ fillUp: false
62
63
  },
63
64
  mobile: {
64
65
  paddingTop: 8,
@@ -74,7 +74,8 @@ function (_super) {
74
74
  name: (0, _locale.i18n)('SPACING'),
75
75
  value: /*#__PURE__*/_react["default"].createElement(_SpacingConfig["default"], {
76
76
  configCompSpace: true,
77
- data: data.spacing
77
+ data: data.spacing,
78
+ fillUpWidth: true
78
79
  })
79
80
  }, {
80
81
  key: 'searchBar2',
@@ -36,7 +36,7 @@ function AppointmentModal(props) {
36
36
  };
37
37
 
38
38
  var disabledDate = function disabledDate(current) {
39
- return current && current < (0, _moment["default"])().add(30, 'minutes');
39
+ return current && (current < (0, _moment["default"])().add(30, 'minutes') || current > (0, _moment["default"])().add(30, 'days'));
40
40
  };
41
41
 
42
42
  return /*#__PURE__*/_react["default"].createElement(_antd.Modal, {
@@ -62,6 +62,9 @@ function AppointmentModal(props) {
62
62
  }, /*#__PURE__*/_react["default"].createElement(_antd.Form, {
63
63
  autoComplete: "off",
64
64
  form: form,
65
+ initialValues: {
66
+ date: (0, _moment["default"])().add(31, 'minutes')
67
+ },
65
68
  layout: "vertical",
66
69
  onFinish: onFinish
67
70
  }, /*#__PURE__*/_react["default"].createElement(_antd.Form.Item, {
@@ -73,6 +73,10 @@ function PageCompList(_a) {
73
73
  clickedFloor = _d[0],
74
74
  setClickedFloor = _d[1];
75
75
 
76
+ var _e = (0, _react.useState)(''),
77
+ hoveredFloor = _e[0],
78
+ setHoveredFloor = _e[1];
79
+
76
80
  var ref = (0, _react.useRef)();
77
81
  (0, _react.useEffect)(function () {
78
82
  setComponents(pageData || []);
@@ -80,6 +84,7 @@ function PageCompList(_a) {
80
84
  (0, _react.useEffect)(function () {
81
85
  var distroy = (0, _mobx.autorun)(function () {
82
86
  setClickedFloor(_mobx.store.clickedFloor);
87
+ setHoveredFloor(_mobx.store.hoveredFloor);
83
88
  });
84
89
  return distroy;
85
90
  }, []);
@@ -104,6 +109,7 @@ function PageCompList(_a) {
104
109
  };
105
110
 
106
111
  var onDragEnter = function onDragEnter(e) {
112
+ console.log('drag enter');
107
113
  var hoverNodeId = e.currentTarget.dataset.nodeid;
108
114
 
109
115
  if (dragId === hoverNodeId) {
@@ -196,8 +202,28 @@ function PageCompList(_a) {
196
202
  value: "4"
197
203
  }, (0, _locale.i18n)('DELETE')));
198
204
 
205
+ var onMouseEnter = function onMouseEnter() {
206
+ if (window.magicDesign.mode === 'renderer') {
207
+ return;
208
+ }
209
+
210
+ _mobx.store.setState({
211
+ hoveredFloor: comp.id
212
+ });
213
+ };
214
+
215
+ var onMouseLeave = function onMouseLeave() {
216
+ if (window.magicDesign.mode === 'renderer') {
217
+ return;
218
+ }
219
+
220
+ _mobx.store.setState({
221
+ hoveredFloor: ''
222
+ });
223
+ };
224
+
199
225
  var dragging = dragId === String(comp.id);
200
- var active = clickedFloor === String(comp.id);
226
+ var active = [hoveredFloor, clickedFloor].includes(comp.id);
201
227
  return /*#__PURE__*/_react["default"].createElement("div", {
202
228
  key: "card" + comp.id,
203
229
  className: (0, _classnames["default"])('card-wrap', {
@@ -212,6 +238,8 @@ function PageCompList(_a) {
212
238
  e.preventDefault();
213
239
  },
214
240
  onDragStart: onDragStart,
241
+ onMouseEnter: onMouseEnter,
242
+ onMouseLeave: onMouseLeave,
215
243
  style: {
216
244
  opacity: dragging ? '0.4' : '1'
217
245
  }
@@ -88,7 +88,9 @@ function (_super) {
88
88
 
89
89
  if (code === _constants.quickMenuCode.SAVE || code === _constants.quickMenuCode.PUBLISH) {
90
90
  _mobx.store.setState({
91
- clickedFloor: ''
91
+ clickedFloor: '',
92
+ clickedGroup: '',
93
+ clickedMeta: ''
92
94
  });
93
95
  }
94
96
 
@@ -146,6 +146,7 @@ function (_super) {
146
146
  renderHeader = _a.renderHeader,
147
147
  pageData = _a.pageData,
148
148
  appointmentDate = _a.appointmentDate;
149
+ var pageBackground = window.magicDesign.pageBackground;
149
150
  return /*#__PURE__*/_react["default"].createElement("div", {
150
151
  className: (0, _classnames["default"])('design-area-wrap', {
151
152
  'phone-edit': this.isPhoneEdit()
@@ -162,10 +163,8 @@ function (_super) {
162
163
  }, /*#__PURE__*/_react["default"].createElement("div", {
163
164
  className: "device_border",
164
165
  style: {
165
- background: window.magicDesign.pageBackground
166
+ background: pageBackground
166
167
  }
167
- }, /*#__PURE__*/_react["default"].createElement("div", {
168
- className: "device_content"
169
168
  }, this.filterCompFloor(pageData).map(function (nodeData) {
170
169
  var Clazz = _componentTypes.componentMap[nodeData.type];
171
170
 
@@ -181,7 +180,7 @@ function (_super) {
181
180
  key: nodeData.id,
182
181
  id: "view" + nodeData.id
183
182
  }, /*#__PURE__*/_react["default"].createElement(Clazz, __assign({}, newInstanceProps), null));
184
- })))));
183
+ }))));
185
184
  };
186
185
 
187
186
  return ViewArea;
@@ -10,6 +10,7 @@
10
10
  transition-timing-function: ease;
11
11
 
12
12
  .appointment_wrap {
13
+ flex-shrink: 0;
13
14
  height: 44px;
14
15
  background-color: #FFF8F0;
15
16
  display: flex;
@@ -28,7 +29,7 @@
28
29
  font-family: 'Open Sans';
29
30
  font-style: normal;
30
31
  font-weight: 400;
31
- font-size: 14px;
32
+ font-size: 13px;
32
33
  margin-left: 10px;
33
34
  display: flex;
34
35
  align-items: center;
@@ -74,9 +75,8 @@
74
75
  padding: 24px;
75
76
 
76
77
  .device_border {
77
- padding: 1px;
78
- max-width: 1240px;
79
78
  width: 100%;
79
+ padding: 1px;
80
80
  min-height: 70vh;
81
81
  border: 16px solid #FFF;
82
82
  border-radius: 12px;
@@ -84,10 +84,6 @@
84
84
  height: 100%;
85
85
  overflow: scroll;
86
86
  box-sizing: content-box;
87
-
88
- .device_content {
89
- min-width: 1200px;
90
- }
91
87
  }
92
88
  }
93
89
  }
@@ -516,7 +516,7 @@ function (_super) {
516
516
  onCancelPublish: onCancelPublish,
517
517
  pageData: MPageData,
518
518
  renderHeader: this.renderHeader
519
- })), /*#__PURE__*/_react["default"].createElement(_AppointmentModal["default"], {
519
+ })), appointmentVisible && /*#__PURE__*/_react["default"].createElement(_AppointmentModal["default"], {
520
520
  onClose: function onClose() {
521
521
  return _this.setState({
522
522
  appointmentVisible: false
@@ -41,7 +41,8 @@ var setDesignConfig = function setDesignConfig(props) {
41
41
  device: device,
42
42
  isShop: isShop
43
43
  }, config), {
44
- compSpacing: Number(config.compSpacing)
44
+ compSpacing: Number(config.compSpacing),
45
+ compWidth: Number(config.compWidth)
45
46
  });
46
47
  };
47
48
  /**
@@ -51,7 +52,8 @@ var setDesignConfig = function setDesignConfig(props) {
51
52
 
52
53
  var Renderer = function Renderer(props) {
53
54
  var pageData = props.pageData;
54
- setDesignConfig(props); // 根据楼层展示设备进行过滤
55
+ setDesignConfig(props);
56
+ var pageBackground = window.magicDesign.pageBackground; // 根据楼层展示设备进行过滤
55
57
 
56
58
  var filterCompFloor = function filterCompFloor() {
57
59
  var source = [];
@@ -69,7 +71,7 @@ var Renderer = function Renderer(props) {
69
71
  className: "render_wrap",
70
72
  magic_design: "",
71
73
  style: {
72
- background: window.magicDesign.pageBackground
74
+ background: pageBackground
73
75
  }
74
76
  }, filterCompFloor().map(function (nodeData) {
75
77
  var Clazz = _componentTypes.componentMap[nodeData.type];
@@ -11,6 +11,8 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _mobx = require("../mobx");
13
13
 
14
+ var _constants = require("../constants");
15
+
14
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
17
 
16
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -58,6 +60,17 @@ var __assign = void 0 && (void 0).__assign || function () {
58
60
  };
59
61
 
60
62
  function compositeDecorator(WrappedComponent) {
63
+ var floorNameStyle = {
64
+ backgroundColor: '#2F54EB',
65
+ height: '18px',
66
+ color: '#FFF',
67
+ fontSize: '10px',
68
+ padding: '0 5px',
69
+ display: 'flex',
70
+ alignItems: 'center',
71
+ width: 'fit-content'
72
+ };
73
+
61
74
  var Wrapper =
62
75
  /** @class */
63
76
  function (_super) {
@@ -67,7 +80,8 @@ function compositeDecorator(WrappedComponent) {
67
80
  var _this = _super !== null && _super.apply(this, arguments) || this;
68
81
 
69
82
  _this.state = {
70
- clickedFloor: ''
83
+ clickedFloor: '',
84
+ hoveredFloor: ''
71
85
  }; // 复合组件点击事件
72
86
 
73
87
  _this.onCompositeCompClick = function (event) {
@@ -89,48 +103,115 @@ function compositeDecorator(WrappedComponent) {
89
103
  window.document.dispatchEvent(evt);
90
104
  };
91
105
 
92
- _this.getStyle = function () {
106
+ _this.getCompositeStyle = function () {
107
+ var _a;
108
+
93
109
  var nodeData = _this.props.nodeData;
94
- var wrapStyle = {
95
- border: 'none'
96
- };
97
- var _a = window.magicDesign,
98
- device = _a.device,
99
- mode = _a.mode;
100
110
  var spacing = nodeData.spacing,
101
- background = nodeData.background; // 处理复合组件的选中状态
111
+ background = nodeData.background;
112
+ var _b = window.magicDesign,
113
+ device = _b.device,
114
+ compWidth = _b.compWidth;
115
+ var wrapStyle = {
116
+ border: 'none',
117
+ position: 'relative',
118
+ zIndex: '1',
119
+ margin: '0 auto'
120
+ }; // 复合组件内边距
121
+
122
+ if (spacing && spacing[device]) {
123
+ wrapStyle = __assign(__assign({}, wrapStyle), spacing[device]);
124
+ } // 复合组件背景
125
+
126
+
127
+ if (background) {
128
+ if (background.bgType === 'color') {
129
+ wrapStyle.backgroundColor = background.color;
130
+ wrapStyle.opacity = background.opacity ? background.opacity : 1;
131
+ } else {
132
+ wrapStyle.backgroundImage = "url(" + background.image + ")";
133
+ wrapStyle.backgroundPosition = '0px 0px';
134
+ wrapStyle.backgroundSize = 'auto 100%';
135
+ wrapStyle.backgroundRepeat = 'no-repeat';
136
+ }
137
+ } // 复合组件宽度
138
+ // 此处特殊处理一些占满整屏的组件: spacing.pc.fillUp = true时,沾满全屏
139
+
140
+
141
+ if (device === _constants.deviceTypeMap.PC && compWidth && !((_a = spacing.pc) === null || _a === void 0 ? void 0 : _a.fillUp)) {
142
+ wrapStyle.width = compWidth;
143
+ }
144
+
145
+ return wrapStyle;
146
+ };
147
+
148
+ _this.getMaskStyle = function () {
149
+ var nodeData = _this.props.nodeData;
150
+ var mode = window.magicDesign.mode;
151
+ var _a = _this.state,
152
+ hoveredFloor = _a.hoveredFloor,
153
+ clickedFloor = _a.clickedFloor; // 选中状态
154
+
155
+ var maskStyle = {
156
+ border: '2px solid #2F54EB',
157
+ position: 'absolute',
158
+ inset: '0px',
159
+ zIndex: '0',
160
+ opacity: '0'
161
+ }; // 处理复合组件的hover状态
102
162
 
103
163
  if (mode === 'designer') {
104
- // style.border = '1px solid transparent';
105
- wrapStyle.border = 'none';
164
+ if (clickedFloor !== hoveredFloor && hoveredFloor === nodeData.id) {
165
+ maskStyle.backgroundColor = 'rgba(47, 84, 235, 0.08)';
166
+ maskStyle.opacity = '100%';
167
+ maskStyle.zIndex = '3';
168
+ } // 处理复合组件的选中状态
106
169
 
107
- if (nodeData.id === _this.state.clickedFloor) {
108
- wrapStyle.border = '1px dashed red';
109
- }
110
- } // banner的padding和background单独处理
111
-
112
-
113
- if (nodeData.type != 'BANNER') {
114
- // 边距
115
- if (spacing && spacing[device]) {
116
- wrapStyle = __assign(__assign({}, wrapStyle), spacing[device]);
117
- } // 背景
118
-
119
-
120
- if (background) {
121
- if (background.bgType === 'color') {
122
- wrapStyle.backgroundColor = background.color;
123
- wrapStyle.opacity = background.opacity ? background.opacity : 1;
124
- } else {
125
- wrapStyle.backgroundImage = "url(" + background.image + ")";
126
- wrapStyle.backgroundPosition = '0px 0px';
127
- wrapStyle.backgroundSize = 'auto 100%';
128
- wrapStyle.backgroundRepeat = 'no-repeat';
129
- }
170
+
171
+ if (clickedFloor === nodeData.id) {
172
+ maskStyle.backgroundColor = 'transparent';
173
+ maskStyle.opacity = '100%';
174
+ maskStyle.zIndex = '0';
130
175
  }
131
176
  }
132
177
 
133
- return wrapStyle;
178
+ return maskStyle;
179
+ };
180
+
181
+ _this.getWrapStyle = function () {
182
+ var mode = window.magicDesign.mode;
183
+ var nodeData = _this.props.nodeData;
184
+ var style = {
185
+ position: 'relative',
186
+ zIndex: '1'
187
+ };
188
+ var clickedFloor = _this.state.clickedFloor; // banner 和 recommend 在选中状态需要加padding,让选中的外边框展示出来
189
+
190
+ if (mode === 'designer' && clickedFloor === nodeData.id && ['BANNER', 'RECOMMEND'].includes(nodeData.type)) {
191
+ style.padding = '2px';
192
+ }
193
+
194
+ return style;
195
+ };
196
+
197
+ _this.onMouseEnter = function () {
198
+ if (window.magicDesign.mode === 'renderer') {
199
+ return;
200
+ }
201
+
202
+ _mobx.store.setState({
203
+ hoveredFloor: _this.props.nodeData.id
204
+ });
205
+ };
206
+
207
+ _this.onMouseLeave = function () {
208
+ if (window.magicDesign.mode === 'renderer') {
209
+ return;
210
+ }
211
+
212
+ _mobx.store.setState({
213
+ hoveredFloor: ''
214
+ });
134
215
  };
135
216
 
136
217
  return _this;
@@ -141,7 +222,8 @@ function compositeDecorator(WrappedComponent) {
141
222
 
142
223
  this.distroy = (0, _mobx.autorun)(function () {
143
224
  _this.setState({
144
- clickedFloor: _mobx.store.clickedFloor
225
+ clickedFloor: _mobx.store.clickedFloor,
226
+ hoveredFloor: _mobx.store.hoveredFloor
145
227
  });
146
228
  });
147
229
  };
@@ -151,11 +233,22 @@ function compositeDecorator(WrappedComponent) {
151
233
  };
152
234
 
153
235
  Wrapper.prototype.render = function () {
236
+ var nodeData = this.props.nodeData;
237
+ var clickedFloor = this.state.clickedFloor;
154
238
  return /*#__PURE__*/_react["default"].createElement("div", {
155
239
  className: "composite_wrap",
156
240
  onClick: this.onCompositeCompClick,
157
- style: this.getStyle()
158
- }, /*#__PURE__*/_react["default"].createElement(WrappedComponent, this.props));
241
+ onMouseEnter: this.onMouseEnter,
242
+ onMouseLeave: this.onMouseLeave,
243
+ style: this.getCompositeStyle()
244
+ }, /*#__PURE__*/_react["default"].createElement("div", {
245
+ className: "composite_mask",
246
+ style: this.getMaskStyle()
247
+ }, clickedFloor !== nodeData.id && /*#__PURE__*/_react["default"].createElement("span", {
248
+ style: floorNameStyle
249
+ }, _constants.compInfoMap[nodeData.type].name)), /*#__PURE__*/_react["default"].createElement("div", {
250
+ style: this.getWrapStyle()
251
+ }, /*#__PURE__*/_react["default"].createElement(WrappedComponent, this.props)));
159
252
  };
160
253
 
161
254
  Wrapper.getDefaultJSON = WrappedComponent.getDefaultJSON;