diff --git a/src/forge/Issues/Component/editMenus.jsx b/src/forge/Issues/Component/editMenus.jsx deleted file mode 100644 index 9de52548..00000000 --- a/src/forge/Issues/Component/editMenus.jsx +++ /dev/null @@ -1,179 +0,0 @@ -import React ,{ useState , useEffect , useRef } from 'react'; -import { Dropdown , Menu , Input, message } from 'antd'; -import { findDOMNode } from 'react-dom'; -import { getImageUrl } from 'educoder'; - -const { Search } = Input; - -/** - * - * @param name:显示的标题 - * @param names:选择下拉项后显示的内容 - * @param list[]:选项 - * @param emptyName:没有选择项时显示的内容 - * @param value[]:显示的值 - * @param onAdd:标记管理、只针对标记 - * @param searchFlag:是否显示搜索输入框 - * @param editFlag:是否有编辑按钮 - * @param double:可多选 - * @param onChange:选择项后返回id数组 - * @param permission:权限 - * @returns - */ -function EditMenus({ - name , - names, - emptyName='未设置', - list, - value , - onAdd , - searchFlag , - editFlag , - searchFunc , - double , - onChange , - imgFlag, - permission -}){ - const [ menus , setMenus ] = useState([]); - const [ searchValue , setSearchValue ]= useState(undefined); - const [ showValue , setShowValue ] = useState(undefined); - const [ valueId , setValueId ] = useState([]); - const [ visible , setVisible ] = useState(false); - - const refFa = useRef(null); - const refBox = useRef(null); - - useEffect(()=>{ - setMenus(list); - setValueId(value); - setShowValue(names && names.length >0 ? names : undefined); - },[names,value,list]) - - useEffect(() => { - document.addEventListener('click', clickMe , false); - }, []) - - const clickMe = ({ target }) => { - // 查找父组件 - const faComponent = findDOMNode(refFa.current); - const boxComponent = findDOMNode(refBox.current); - if (faComponent && boxComponent) { - const isChild = faComponent.contains(target); - const isBox = boxComponent.contains(target); - if(!isChild && !isBox){ - setVisible(false); - } - } - } - - function chooseMenu(i){ - if(!double){ - setVisible(false); - } - let l = valueId; - let idStr = i && i.id ? i.id.toString() :i.name; - // 分支列表没有id,只能根据name判断 - if(double){ - l = valueId || [] ; - let nameArr = names || [] ; - if(l && l.indexOf(idStr)>=0){ - l = l.filter(k=>k.toString() !== idStr); - nameArr = nameArr.filter(k=>k.toString() !== i.name); - }else{ - if(valueId && valueId.length >= double){ - message.info(`最多只能添加${double}个${name}`); - return; - } - l.push(idStr); - nameArr.push(i.name); - } - setValueId(l); - setShowValue(nameArr); - onChange(l,nameArr); - }else{ - if(l && l.indexOf(idStr)>=0){ - setValueId([]); - onChange([]); - setShowValue(undefined); - }else{ - setValueId([`${i.id || i.name}`]); - onChange([`${i.id || i.name}`],[i.name]); - setShowValue(i.name); - } - } - } - - // 搜索 - function changeSearchvalue(e){ - setSearchValue(e.target.value); - searchFunc(e.target.value); - } - - function renderNames(nameArrs){ - return - { - nameArrs && nameArrs.length>0? - nameArrs.map((i,k)=>{ - return( -

{i}

- ) - }) - :"" - } -
- } - - - return( -
  • - - {name} - {!editFlag && setVisible(visible ? false : true)}>} - - - { searchFlag && -
    - -
    - } - { - menus && menus.length >0? - - { - menus.map((i,k)=>{ - return( - chooseMenu(i)}> - { imgFlag && } - {i.color && } - {i.name} - - ) - }) - } - - : -
    -

    {searchValue ? 暂无{name}“{searchValue}”: `暂无${name}`}

    - { onAdd && (permission && permission!=="reporter") && {setVisible(false);onAdd()}}>标记管理} -
    - } - - }> -
    { names ? renderNames(names) : emptyName}
    -
    -
  • - ) -} -export default EditMenus; \ No newline at end of file diff --git a/src/forge/Issues/Pages/details.jsx b/src/forge/Issues/Pages/details.jsx index 3d686954..7e159f48 100644 --- a/src/forge/Issues/Pages/details.jsx +++ b/src/forge/Issues/Pages/details.jsx @@ -4,7 +4,6 @@ import { getImageUrl } from 'educoder'; import { Link } from 'react-router-dom'; import { Box , LongWidth } from '../../Component/layout'; import RenderHtml from "../../../components/render-html"; -import EditMenus from '../Component/editMenus'; import DropMenu from '../Component/dropMenu'; import NewPanel from '../Component/newPanel'; import Attachments from "../../Upload/attachment";