king
2025-01-18 f9f60bb0dd17a764ba03faa8041f5b6e9e071553
src/mob/components/formdragelement/index.jsx
@@ -1,6 +1,7 @@
import React, { useState } from 'react'
import { useDrop } from 'react-dnd'
import { is, fromJS } from 'immutable'
import { Col } from 'antd'
import update from 'immutability-helper'
import Utils from '@/utils/utils.js'
import Card from './card'
@@ -41,6 +42,14 @@
    closeForm(card)
  }
  const setStyle = (style, id) => {
    const { card, index } = findCard(id)
    const _cards = update(cards, { $splice: [[index, 1, {...card, style}]] })
    handleList(_cards)
  }
  const copyCard = id => {
    const { card, index: overIndex } = findCard(id)
@@ -52,6 +61,8 @@
    let oInput = document.createElement('input')
    let val = JSON.parse(JSON.stringify(_card))
    val.copyType = 'form'
    _card.$copy = true
    oInput.value = window.btoa(window.encodeURIComponent(JSON.stringify(val)))
    document.body.appendChild(oInput)
@@ -83,7 +94,15 @@
      newcard.options = []
      newcard.readonly = 'false'
      newcard.required = 'true'
      newcard.span = 24
      newcard.focus = true
      if (item.subType === 'linkMain') {
        newcard.hidden = 'true'
        newcard.verifyVal = 'true'
      } else if (item.subType === 'textarea') {
        newcard.required = 'false'
      }
      let targetId = ''
@@ -111,20 +130,31 @@
    style.paddingRight = setting.paddingRight
  }
  if (setting.display === 'drawer' && (setting.placement === 'top' || setting.placement === 'bottom') && setting.width !== 100) {
    style.minHeight = 'auto'
  }
  return (
    <div ref={drop} className="ant-row modal-fields-row mob-form" style={style}>
      {cards.map(card => {
        return <Card
          id={card.uuid}
          key={card.uuid}
          card={card}
          showField={showField}
          moveCard={moveCard}
          editCard={editCard}
          closeCard={closeCard}
          copyCard={copyCard}
          findCard={findCard}
        />
        let span = card.span || 24
        if (![24, 12, 8, 6].includes(span)) {
          span = 24
        }
        return <Col key={card.uuid} span={span}>
          <Card
            id={card.uuid}
            key={card.uuid}
            card={card}
            showField={showField}
            moveCard={moveCard}
            editCard={editCard}
            setStyle={setStyle}
            closeCard={closeCard}
            copyCard={copyCard}
            findCard={findCard}
          />
        </Col>
      })}
    </div>
  )