chore: cleanup
This commit is contained in:
		
							parent
							
								
									b6cd540f72
								
							
						
					
					
						commit
						fd8c6f8e50
					
				@ -5,11 +5,9 @@
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@nocobase/actions": "^0.4.0-alpha.0",
 | 
			
		||||
    "@nocobase/client": "^0.4.0-alpha.0",
 | 
			
		||||
    "@nocobase/database": "^0.4.0-alpha.0",
 | 
			
		||||
    "@nocobase/resourcer": "^0.4.0-alpha.0",
 | 
			
		||||
    "@nocobase/server": "^0.4.0-alpha.0",
 | 
			
		||||
    "crypto-random-string": "^3.3.1",
 | 
			
		||||
    "react": "16.14.0"
 | 
			
		||||
    "crypto-random-string": "^3.3.1"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,9 +0,0 @@
 | 
			
		||||
import React from 'react';
 | 
			
		||||
 | 
			
		||||
export function CollectionLoader(props: any) {
 | 
			
		||||
  return (
 | 
			
		||||
    <div>
 | 
			
		||||
      Collection Loader
 | 
			
		||||
    </div>
 | 
			
		||||
  )
 | 
			
		||||
}
 | 
			
		||||
@ -1,4 +0,0 @@
 | 
			
		||||
export { PageLoader } from './page-loader';
 | 
			
		||||
export { TemplateLoader } from './template-loader';
 | 
			
		||||
export { CollectionLoader } from './collection-loader';
 | 
			
		||||
export { PageLoader as default } from './page-loader';
 | 
			
		||||
@ -1,24 +0,0 @@
 | 
			
		||||
import React, { useState } from 'react';
 | 
			
		||||
import { TemplateLoader } from './template-loader';
 | 
			
		||||
import { useRequest, request } from '@nocobase/client';
 | 
			
		||||
 | 
			
		||||
export function PageLoader(props: any) {
 | 
			
		||||
  const { path } = props.match.params;
 | 
			
		||||
  const { data = {}, error, loading, run } = useRequest(() => request('/routes'));
 | 
			
		||||
  const [first, setFirst] = useState(true);
 | 
			
		||||
  // @ts-ignore
 | 
			
		||||
  window.routesReload = async () => {
 | 
			
		||||
    setFirst(false);
 | 
			
		||||
    await run();
 | 
			
		||||
  };
 | 
			
		||||
  // const routes = pages2routes(data);
 | 
			
		||||
  console.log(data);
 | 
			
		||||
  return (
 | 
			
		||||
    <TemplateLoader
 | 
			
		||||
      {...props}
 | 
			
		||||
      loading={loading && first}
 | 
			
		||||
      pages={data.data||{}}
 | 
			
		||||
      pathname={`/${path}`}
 | 
			
		||||
    />
 | 
			
		||||
  );
 | 
			
		||||
}
 | 
			
		||||
@ -1,52 +0,0 @@
 | 
			
		||||
import React from 'react';
 | 
			
		||||
import get from 'lodash/get';
 | 
			
		||||
import { Spin, Redirect } from '@nocobase/client';
 | 
			
		||||
 | 
			
		||||
function getRoutes(path: string, pages: any) {
 | 
			
		||||
  const keys = path.split('/');
 | 
			
		||||
  const routes: Array<any> = [];
 | 
			
		||||
  while(keys.length) {
 | 
			
		||||
    const uri = keys.join('/');
 | 
			
		||||
    if (pages[uri]) {
 | 
			
		||||
      routes.push({...pages[uri], path: uri});
 | 
			
		||||
    }
 | 
			
		||||
    keys.pop();
 | 
			
		||||
  }
 | 
			
		||||
  if (path && pages['/']) {
 | 
			
		||||
    routes.push({...pages['/'], path: '/'});
 | 
			
		||||
  }
 | 
			
		||||
  return routes;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function TemplateLoader(props: any) {
 | 
			
		||||
  const { loading, pathname, pages } = props;
 | 
			
		||||
  if (loading) {
 | 
			
		||||
    return <Spin size={'large'} className={'spinning--absolute'}></Spin>;
 | 
			
		||||
  }
 | 
			
		||||
  const redirect = get(pages, [pathname, 'redirect']);
 | 
			
		||||
  if (redirect) {
 | 
			
		||||
    return <Redirect to={redirect}/>
 | 
			
		||||
  }
 | 
			
		||||
  const routes = getRoutes(pathname, pages);
 | 
			
		||||
  let component: any;
 | 
			
		||||
  console.log(...routes);
 | 
			
		||||
  const len = routes.length;
 | 
			
		||||
  const componentProps = {...props};
 | 
			
		||||
  while(routes.length) {
 | 
			
		||||
    const route = routes.shift();
 | 
			
		||||
    console.log(route.template);
 | 
			
		||||
    const Component = require(route.template).default;
 | 
			
		||||
    if (route.type === 'collection') {
 | 
			
		||||
      componentProps.match.params['collection'] = route.collection;
 | 
			
		||||
    }
 | 
			
		||||
    if (len === routes.length+1) {
 | 
			
		||||
      componentProps['lastPage'] = route;
 | 
			
		||||
    }
 | 
			
		||||
    componentProps['page'] = route;
 | 
			
		||||
    component = <Component key={`page-${route.id}`} {...componentProps}>{component}</Component>;
 | 
			
		||||
    if (route.inherit === false) {
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return component;
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user