Commit 6f665b8d33af0f994078db285a8d0faeb40986f1

Authored by ly525
1 parent 67c4845b

refactor: add getPluginProps && getCommonStyle function

front-end/h5/src/components/core/models/element.js
... ... @@ -31,12 +31,31 @@ class Element {
31 31 * 3. 为何需要 clone,因为会有 element.clone() 以及 page.clone(),
32 32 * element.pluginProps 和 elementcommonStyle 是引用类型,如果不做 deep_clone 可能会出现意外错误
33 33 */
34   - this.pluginProps = (typeof ele.pluginProps === 'object' && cloneObj({ ...ele.pluginProps, uuid: this.uuid })) || this.getDefaultPluginProps(ele.props || {})
35   - this.commonStyle = (typeof ele.commonStyle === 'object' && cloneObj(ele.commonStyle)) || { ...defaultStyle, zindex: ele.zindex, ...ele.defaultStyle }
  34 + this.pluginProps = this.getPluginProps(ele)
  35 + this.commonStyle = this.getCommonStyle(ele)
36 36 this.events = []
37 37 this.animations = ele.animations || []
38 38 }
39 39  
  40 + getCommonStyle (ele) {
  41 + if (typeof ele.commonStyle === 'object') {
  42 + return cloneObj(ele.commonStyle)
  43 + }
  44 + return {
  45 + ...defaultStyle,
  46 + zindex: ele.zindex,
  47 + ...ele.defaultStyle,
  48 + ...ele.customStyle
  49 + }
  50 + }
  51 +
  52 + getPluginProps (ele) {
  53 + if (typeof ele.pluginProps === 'object') {
  54 + return cloneObj({ ...ele.pluginProps, uuid: this.uuid })
  55 + }
  56 + return this.getDefaultPluginProps(ele.props || {})
  57 + }
  58 +
40 59 // init prop of plugin
41 60 getDefaultPluginProps (props) {
42 61 const pluginProps = {
... ...