fix(graphical-interface): collection category does not display title (#1503)
This commit is contained in:
		
							parent
							
								
									68fcadf092
								
							
						
					
					
						commit
						4e0a1dedda
					
				@ -1,8 +1,10 @@
 | 
			
		||||
import {
 | 
			
		||||
  ApartmentOutlined,
 | 
			
		||||
  FullscreenExitOutlined,
 | 
			
		||||
  FullscreenOutlined, LineHeightOutlined, MenuOutlined,
 | 
			
		||||
  ShareAltOutlined
 | 
			
		||||
  FullscreenOutlined,
 | 
			
		||||
  LineHeightOutlined,
 | 
			
		||||
  MenuOutlined,
 | 
			
		||||
  ShareAltOutlined,
 | 
			
		||||
} from '@ant-design/icons';
 | 
			
		||||
import { Graph } from '@antv/x6';
 | 
			
		||||
import '@antv/x6-react-shape';
 | 
			
		||||
@ -10,13 +12,18 @@ import { css, cx } from '@emotion/css';
 | 
			
		||||
import { SchemaOptionsContext } from '@formily/react';
 | 
			
		||||
import {
 | 
			
		||||
  APIClientProvider,
 | 
			
		||||
  collection, CollectionManagerContext, CollectionManagerProvider,
 | 
			
		||||
  collection,
 | 
			
		||||
  CollectionManagerContext,
 | 
			
		||||
  CollectionManagerProvider,
 | 
			
		||||
  CurrentAppInfoContext,
 | 
			
		||||
  SchemaComponent,
 | 
			
		||||
  SchemaComponentOptions, Select, useAPIClient,
 | 
			
		||||
  SchemaComponentOptions,
 | 
			
		||||
  Select,
 | 
			
		||||
  useAPIClient,
 | 
			
		||||
  useCollectionManager,
 | 
			
		||||
  useCompile,
 | 
			
		||||
  useCurrentAppInfo
 | 
			
		||||
  useCurrentAppInfo,
 | 
			
		||||
  CollectionCategroriesProvider,
 | 
			
		||||
} from '@nocobase/client';
 | 
			
		||||
import { useFullscreen } from 'ahooks';
 | 
			
		||||
import { Button, Input, Layout, Menu, Popover, Switch, Tooltip } from 'antd';
 | 
			
		||||
@ -28,7 +35,14 @@ import { AddCollectionAction } from './components/AddCollectionAction';
 | 
			
		||||
import Entity from './components/Entity';
 | 
			
		||||
import { SimpleNodeView } from './components/ViewNode';
 | 
			
		||||
import { collectionListClass, graphCollectionContainerClass } from './style';
 | 
			
		||||
import { formatData, getChildrenCollections, getDiffEdge, getDiffNode, getInheritCollections, useGCMTranslation } from './utils';
 | 
			
		||||
import {
 | 
			
		||||
  formatData,
 | 
			
		||||
  getChildrenCollections,
 | 
			
		||||
  getDiffEdge,
 | 
			
		||||
  getDiffNode,
 | 
			
		||||
  getInheritCollections,
 | 
			
		||||
  useGCMTranslation,
 | 
			
		||||
} from './utils';
 | 
			
		||||
 | 
			
		||||
const LINE_HEIGHT = 40;
 | 
			
		||||
const NODE_WIDTH = 250;
 | 
			
		||||
@ -392,7 +406,6 @@ export const GraphDrawPage = React.memo(() => {
 | 
			
		||||
  };
 | 
			
		||||
  const refreshGM = async () => {
 | 
			
		||||
    const data = await refreshCM();
 | 
			
		||||
    console.log(data);
 | 
			
		||||
    targetGraph.collections = data;
 | 
			
		||||
    targetGraph.updatePositionAction = useUpdatePositionAction;
 | 
			
		||||
    const currentNodes = targetGraph.getNodes();
 | 
			
		||||
@ -491,6 +504,7 @@ export const GraphDrawPage = React.memo(() => {
 | 
			
		||||
          <CurrentAppInfoContext.Provider value={database}>
 | 
			
		||||
            <APIClientProvider apiClient={api}>
 | 
			
		||||
              <SchemaComponentOptions inherit scope={scope} components={components}>
 | 
			
		||||
                <CollectionCategroriesProvider>
 | 
			
		||||
                  <CollectionManagerProvider
 | 
			
		||||
                    collections={targetGraph?.collections}
 | 
			
		||||
                    refreshCM={refreshGM}
 | 
			
		||||
@ -500,6 +514,7 @@ export const GraphDrawPage = React.memo(() => {
 | 
			
		||||
                      <Entity node={node} setTargetNode={setTargetNode} targetGraph={targetGraph} />
 | 
			
		||||
                    </div>
 | 
			
		||||
                  </CollectionManagerProvider>
 | 
			
		||||
                </CollectionCategroriesProvider>
 | 
			
		||||
              </SchemaComponentOptions>
 | 
			
		||||
            </APIClientProvider>
 | 
			
		||||
          </CurrentAppInfoContext.Provider>
 | 
			
		||||
 | 
			
		||||
@ -23,10 +23,11 @@ import {
 | 
			
		||||
  useCompile,
 | 
			
		||||
  useCurrentAppInfo,
 | 
			
		||||
  useRecord,
 | 
			
		||||
  CollectionCategroriesContext,
 | 
			
		||||
} from '@nocobase/client';
 | 
			
		||||
import { Badge, Dropdown, Popover, Tag } from 'antd';
 | 
			
		||||
import { groupBy } from 'lodash';
 | 
			
		||||
import React, { useRef, useState } from 'react';
 | 
			
		||||
import React, { useRef, useState, useContext } from 'react';
 | 
			
		||||
import {
 | 
			
		||||
  useAsyncDataSource,
 | 
			
		||||
  useCancelAction,
 | 
			
		||||
@ -59,6 +60,7 @@ const Entity: React.FC<{
 | 
			
		||||
  } = node;
 | 
			
		||||
  const database = useCurrentAppInfo();
 | 
			
		||||
  const collectionData = useRef();
 | 
			
		||||
  const categoryData = useContext(CollectionCategroriesContext);
 | 
			
		||||
  collectionData.current = { ...item, title, inherits: item.inherits && new Proxy(item.inherits, {}) };
 | 
			
		||||
  const { category } = item;
 | 
			
		||||
  const compile = useCompile();
 | 
			
		||||
@ -68,6 +70,12 @@ const Entity: React.FC<{
 | 
			
		||||
      value: collection.name,
 | 
			
		||||
    }));
 | 
			
		||||
  };
 | 
			
		||||
  const loadCategories = async () => {
 | 
			
		||||
    return categoryData.data.map((item: any) => ({
 | 
			
		||||
      label: compile(item.name),
 | 
			
		||||
      value: item.id,
 | 
			
		||||
    }));
 | 
			
		||||
  };
 | 
			
		||||
  const portsProps = {
 | 
			
		||||
    targetGraph,
 | 
			
		||||
    collectionData,
 | 
			
		||||
@ -104,6 +112,7 @@ const Entity: React.FC<{
 | 
			
		||||
                    useUpdateCollectionActionAndRefreshCM,
 | 
			
		||||
                    useCancelAction,
 | 
			
		||||
                    loadCollections,
 | 
			
		||||
                    loadCategories,
 | 
			
		||||
                    useAsyncDataSource,
 | 
			
		||||
                    Action,
 | 
			
		||||
                    DeleteOutlined,
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user