From cc1a76df575c18f0d0ee96e8658461efdce3a918 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 17 一月 2023 18:01:01 +0800 Subject: [PATCH] 2023-01-17 --- src/pc/menushell/index.jsx | 50 ++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 36 insertions(+), 14 deletions(-) diff --git a/src/pc/menushell/index.jsx b/src/pc/menushell/index.jsx index 714e6c9..3bd54a3 100644 --- a/src/pc/menushell/index.jsx +++ b/src/pc/menushell/index.jsx @@ -1,12 +1,9 @@ import React, { useState } from 'react' import { useDrop } from 'react-dnd' -import { is, fromJS } from 'immutable' import update from 'immutability-helper' import { Empty, notification, Modal } from 'antd' import Utils from '@/utils/utils.js' -import MKEmitter from '@/utils/events.js' -import MenuUtils from '@/menu/utils/menuUtils.js' import Card from './card' import './index.scss' @@ -18,9 +15,10 @@ const { card, index } = findCard(id) const _cards = update(cards, { $splice: [[index, 1], [atIndex, 0, card]] }) handleList({...menu, components: _cards}) + setCards(_cards) } - if (!is(fromJS(cards), fromJS(menu.components))) { + if (menu.components.length > cards.length) { setCards(menu.components) } @@ -33,7 +31,9 @@ } const updateConfig = (element) => { - handleList({...menu, components: cards.map(item => item.uuid === element.uuid ? element : item)}) + const _cards = cards.map(item => item.uuid === element.uuid ? element : item) + handleList({...menu, components: _cards}) + setCards(_cards) } const deleteCard = (id) => { @@ -48,14 +48,13 @@ }) } - let uuids = MenuUtils.getDelButtonIds(card) - confirm({ - title: `纭畾鍒犻櫎銆�${card.name}銆嬪悧锛焋, + title: `纭畾鍒犻櫎${card.name ? `銆�${card.name}銆媊 : '缁勪欢'}鍚楋紵`, content: hasComponent ? '褰撳墠缁勪欢涓惈鏈夊瓙缁勪欢锛�' : '', onOk() { - MKEmitter.emit('delButtons', uuids) - handleList({...menu, components: cards.filter(item => item.uuid !== card.uuid)}) + const _cards = cards.filter(item => item.uuid !== card.uuid) + handleList({...menu, components: _cards}) + setCards(_cards) }, onCancel() {} }) @@ -68,6 +67,8 @@ delete item.added // 鍒犻櫎缁勪欢娣诲姞鏍囪 return } + + let style = null if (item.component === 'search') { // 鎼滅储缁勪欢涓嶅彲閲嶅娣诲姞 if (cards.filter(card => card.type === 'search').length > 0) { @@ -87,11 +88,16 @@ }) return } + + if (!menu.style.paddingTop) { + style = {...menu.style, paddingTop: '50px'} + } } let name = '' let names = { bar: '鏌辩姸鍥�', + chart: '鍥捐〃', line: '鎶樼嚎鍥�', tabs: '鏍囩缁�', pie: '楗煎浘', @@ -101,7 +107,15 @@ editor: '瀵屾枃鏈�', code: '鑷畾涔�', navbar: '瀵艰埅鏍�', - card: '鍗$墖' + carousel: '杞挱', + dashboard: '浠〃鐩�', + tree: '鏍戝舰鍒楄〃', + card: '鍗$墖', + balcony: '娴姩鍗�', + timeline: '鏃堕棿杞�', + antvG6: '鏍戝浘', + login: '鐧诲綍', + iframe: 'iframe' } let i = 1 @@ -119,7 +133,6 @@ subtype: item.subtype, config: item.config, width: item.width || 24, - dataName: Utils.getdataName(), name: name, floor: 1, // 缁勪欢鐨勫眰绾� isNew: true // 鏂版坊鍔犳爣蹇楋紝鐢ㄤ簬鍒濆鍖� @@ -137,12 +150,21 @@ const { index: overIndex } = findCard(`${targetId}`) const _cards = update(cards, { $splice: [[overIndex + 1, 0, newcard]] }) - handleList({...menu, components: _cards}) + if (style) { + handleList({...menu, style, components: _cards}) + } else { + handleList({...menu, components: _cards}) + } + setCards(_cards) } }) + let style = JSON.stringify(menu.style || {}) + style = style.replace(/@mywebsite@\//ig, window.GLOB.baseurl) + style = JSON.parse(style) + return ( - <div ref={drop} className="menu-shell-inner" id="menu-shell-inner" style={menu.style}> + <div ref={drop} className="menu-shell-inner" id="menu-shell-inner" style={style}> <div className="ant-row"> {cards.map(card => ( <Card -- Gitblit v1.8.0