Skip to content

Commit 0ffc16f

Browse files
author
甚平(郭建强)
committed
update layout by @rainbow_deer/layout
1 parent e7a1311 commit 0ffc16f

12 files changed

+5524
-26680
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
git地址 [https://github.com/guo-jianqiang/react-antd-admin](https://github.com/guo-jianqiang/react-antd-admin)
1212

1313
## 单独使用Layout
14-
详情请查看[little-deer-ui](https://gitee.com/gjq0208/little-deer-ui)
14+
详情请查看[rainbow_deer/layout](https://guo-jianqiang.github.io/rainbow_deer/Components/ReactComponent/layout#/)
1515

1616
## 1.ConfigurationDrawer
1717

package-lock.json

-15,741
This file was deleted.

package.json

+3-8
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,7 @@
2020
},
2121
"lint-staged": {
2222
"src/**/*.{ts,tsx}": [
23-
"lint-fix",
24-
"git add"
25-
],
26-
"src/**/**/*.less": [
27-
"lint:style-fix",
28-
"git add"
23+
"eslint src --fix --ext .ts,.tsx"
2924
]
3025
},
3126
"repository": {
@@ -104,13 +99,13 @@
10499
"webpackbar": "^5.0.0-3"
105100
},
106101
"dependencies": {
107-
"antd": "^4.11.2",
102+
"@rainbow_deer/layout": "^0.1.6",
103+
"antd": "^4.16.2",
108104
"axios": "^0.21.1",
109105
"classnames": "^2.2.6",
110106
"common-tree-func": "^1.0.3",
111107
"history": "4.10.1",
112108
"js-base64": "^3.6.0",
113-
"little-deer-ui": "^1.5.1",
114109
"npm": "^7.6.3",
115110
"nprogress": "^0.2.0",
116111
"react": "^17.0.1",

push.sh

-6
This file was deleted.

src/index.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import React from 'react'
44
import ReactDom from 'react-dom'
55
import App from './App'
6+
import 'antd/dist/antd.css'
67
import './style/index.less'
78

89
ReactDom.render(<App />, document.getElementById('root'))

src/lib/tree.ts

+41-41
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
/** @format */
12

23
// 深拷贝
3-
export const deepAssign: (to: { [key: string]: any }, from: { [key: string]: any }) => Object = (to, from) => {
4+
export const deepAssign: (to: {[key: string]: any}, from: {[key: string]: any}) => Object = (to, from) => {
45
Object.keys(from).forEach(key => {
56
const val = from[key]
67
if (typeof val === 'object') {
@@ -12,7 +13,7 @@ export const deepAssign: (to: { [key: string]: any }, from: { [key: string]: any
1213
return to
1314
}
1415

15-
export const deepClone: (obj: Object) => Object = (obj) => {
16+
export const deepClone: (obj: Object) => Object = obj => {
1617
if (Array.isArray(obj)) {
1718
return obj.map(item => deepClone(item))
1819
}
@@ -23,25 +24,25 @@ export const deepClone: (obj: Object) => Object = (obj) => {
2324
}
2425

2526
// 广度优先
26-
export function treeForeach<T extends { routes?: Array<T> }>(tree: Array<T>, func: (node: T) => void) {
27+
export function treeForeach<T extends {routes?: Array<T>}>(tree: Array<T>, func: (node: T) => void) {
2728
let node
2829
const list = [...tree]
2930
while ((node = list.shift())) {
3031
func(node)
3132
node.routes && list.push(...node.routes)
3233
}
3334
}
34-
type nodeType = { [index: string]: any }
35+
type nodeType = {[index: string]: any}
3536
/**
3637
* 深度优先遍历,返回节点信息及深度
37-
* @param tree
38-
* @param func
39-
* @param childrenKey
38+
* @param tree
39+
* @param func
40+
* @param childrenKey
4041
*/
4142
export const treeDeepForeach = (
4243
tree: Array<any> | Object,
4344
func: (node: nodeType, deep: number) => void,
44-
childrenKey = 'children'
45+
childrenKey = 'children',
4546
) => {
4647
let deep = 0
4748
const each = (node: nodeType) => {
@@ -65,25 +66,25 @@ export const treeDeepForeach = (
6566
/**
6667
* @author guojianqiang
6768
* @description 查找匹配树节点并返回当前节点信息及深度
68-
* @param tree
69-
* @param func
69+
* @param tree
70+
* @param func
7071
* @param childrenKey
7172
*/
7273
export const findTreeNode = (
7374
tree: Array<any> | Object,
7475
func: (node: nodeType) => boolean,
75-
childrenKey = 'children'
76+
childrenKey = 'children',
7677
) => {
7778
let deep = 0
78-
const find: (node: nodeType) => any = (node) => {
79+
const find: (node: nodeType) => any = node => {
7980
deep++
8081
if (func(node)) {
81-
return { ...node, deep }
82+
return {...node, deep}
8283
}
8384
if (node[childrenKey] && node[childrenKey].length) {
8485
for (let item of node[childrenKey]) {
8586
const rnode = find(item)
86-
if (rnode) return { ...rnode, deep }
87+
if (rnode) return {...rnode, deep}
8788
}
8889
}
8990
deep--
@@ -100,15 +101,11 @@ export const findTreeNode = (
100101
}
101102
/**
102103
* 树条件过滤
103-
* @param tree
104-
* @param func
105-
* @param childrenKey
104+
* @param tree
105+
* @param func
106+
* @param childrenKey
106107
*/
107-
export const filterTree = (
108-
tree: any,
109-
func: (node: nodeType) => boolean,
110-
childrenKey = 'children'
111-
) => {
108+
export const filterTree = (tree: any, func: (node: nodeType) => boolean, childrenKey = 'children') => {
112109
let _tree
113110
if (typeof tree !== 'object') {
114111
console.warn('the tree is not object')
@@ -118,20 +115,22 @@ export const filterTree = (
118115
_tree = [tree]
119116
}
120117
_tree = [...tree]
121-
const filter: (arr: Array<any>) => Array<any> = (arr) => {
122-
return arr.map(node => ({...node})).filter((item) => {
123-
if (item[childrenKey] && item[childrenKey].length) item[childrenKey] = filter(item[childrenKey])
124-
if (item[childrenKey] && !item[childrenKey].length) delete item[childrenKey]
125-
return (item[childrenKey] && item[childrenKey]) || func(item)
126-
})
118+
const filter: (arr: Array<any>) => Array<any> = arr => {
119+
return arr
120+
.map(node => ({...node}))
121+
.filter(item => {
122+
if (item[childrenKey] && item[childrenKey].length) item[childrenKey] = filter(item[childrenKey])
123+
if (item[childrenKey] && !item[childrenKey].length) delete item[childrenKey]
124+
return (item[childrenKey] && item[childrenKey]) || func(item)
125+
})
127126
}
128127
return filter(_tree)
129128
}
130129

131-
type listNodeType = {parentId: number | string, id: number | string, [key: string]: any}
130+
type listNodeType = {parentId: number | string; id: number | string; [key: string]: any}
132131
/**
133132
* 数组转树
134-
* @param list
133+
* @param list
135134
* @param childrenKey 孩子键
136135
* @param parentIdKey 父id键
137136
* @param defaultRootId 默认根级id
@@ -140,7 +139,7 @@ export const listToTree = (
140139
list: Array<listNodeType>,
141140
childrenKey = 'children',
142141
parentIdKey = 'parentId',
143-
defaultRootId = 0
142+
defaultRootId = 0,
144143
) => {
145144
const map = list.reduce((prevMap: any, current) => {
146145
prevMap[current.id] = current
@@ -156,17 +155,18 @@ export const listToTree = (
156155
}
157156
/**
158157
* 树转数组
159-
* @param tree
160-
* @param childrenKey
158+
* @param tree
159+
* @param childrenKey
161160
*/
162-
export const treeToList = (
163-
tree: any,
164-
childrenKey = 'children'
165-
) => {
161+
export const treeToList = (tree: any, childrenKey = 'children') => {
166162
const list: Array<any> = []
167-
treeDeepForeach(tree, node => {
168-
list.push(node)
169-
}, childrenKey)
163+
treeDeepForeach(
164+
tree,
165+
node => {
166+
list.push(node)
167+
},
168+
childrenKey,
169+
)
170170
return list
171171
}
172172

@@ -197,4 +197,4 @@ export function getTreePath<T>(nodes: Array<T>, handler: (node: T) => {}, key =
197197
return []
198198
}
199199
return getPaths(nodes)
200-
}
200+
}

src/lib/until.ts

+15-15
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/** @format */
22

3-
import { RouteItem } from '../route/routeItems'
3+
import {RouteItem} from '../route/routeItems'
44

55
/**
66
* @description 判空
@@ -19,25 +19,25 @@ export const isEmpty = (obj: any) => {
1919
}
2020

2121
// 广度优先
22-
export function treeForeach<T extends { routes?: Array<T> }>(tree: Array<T>, func: (node: T) => void) {
22+
export function treeForeach<T extends {routes?: Array<T>}>(tree: Array<T>, func: (node: T) => void) {
2323
let node
2424
const list = [...tree]
2525
while ((node = list.shift())) {
2626
func(node)
2727
node.routes && list.push(...node.routes)
2828
}
2929
}
30-
type nodeType = { [index: string]: any }
30+
type nodeType = {[index: string]: any}
3131
/**
3232
* 深度优先遍历,返回节点信息及深度
33-
* @param tree
34-
* @param func
35-
* @param childrenKey
33+
* @param tree
34+
* @param func
35+
* @param childrenKey
3636
*/
3737
export const treeDeepForeach = (
3838
tree: Array<any> | Object,
3939
func: (node: nodeType, deep: number) => void,
40-
childrenKey = 'children'
40+
childrenKey = 'children',
4141
) => {
4242
let deep = 0
4343
const each = (node: nodeType) => {
@@ -61,17 +61,17 @@ export const treeDeepForeach = (
6161
/**
6262
* @author guojianqiang
6363
* @description 查找匹配树节点并返回当前节点信息及深度
64-
* @param tree
65-
* @param func
64+
* @param tree
65+
* @param func
6666
* @param childrenKey
6767
*/
6868
export const findTreeNode = (
6969
tree: Array<any> | Object,
7070
func: (node: nodeType) => boolean,
71-
childrenKey = 'children'
71+
childrenKey = 'children',
7272
) => {
7373
let deep = 0
74-
const find: (node: nodeType) => any = (node) => {
74+
const find: (node: nodeType) => any = node => {
7575
deep++
7676
if (func(node)) {
7777
return {...node, deep}
@@ -157,7 +157,7 @@ export const getObjectURL = (file: File) => {
157157
return url
158158
}
159159

160-
export const deepAssign: (to: { [key: string]: any }, from: { [key: string]: any }) => Object = (to, from) => {
160+
export const deepAssign: (to: {[key: string]: any}, from: {[key: string]: any}) => Object = (to, from) => {
161161
Object.keys(from).forEach(key => {
162162
const val = from[key]
163163
if (typeof val === 'object') {
@@ -169,7 +169,7 @@ export const deepAssign: (to: { [key: string]: any }, from: { [key: string]: any
169169
return to
170170
}
171171

172-
export const deepClone: (obj: Object) => Object = (obj) => {
172+
export const deepClone: (obj: Object) => Object = obj => {
173173
if (Array.isArray(obj)) {
174174
return obj.map(item => deepClone(item))
175175
}
@@ -179,10 +179,10 @@ export const deepClone: (obj: Object) => Object = (obj) => {
179179
return obj
180180
}
181181

182-
export const getValue: (origin: { [key: string]: any }, path: string) => any = (origin, path) => {
182+
export const getValue: (origin: {[key: string]: any}, path: string) => any = (origin, path) => {
183183
const reg = /\["?([0-9a-zA-Z_-]+)"?\]/g
184184
const pathArr: any[] = path.replace(reg, '.$1').split('.')
185-
let val = { ...origin }
185+
let val = {...origin}
186186
for (let i = 0; i < pathArr.length; i++) {
187187
const key = pathArr[i]
188188
if (!val) return val

src/route/route.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import Login from '../view/login'
1515
import routeItems, {RouteItem} from './routeItems'
1616
// import Layout from '../layout/Layout'
1717
import pkg from '../../package.json'
18-
import {Layout} from 'little-deer-ui'
18+
import Layout from '@rainbow_deer/layout'
1919
import {removeUserData, UserInterface} from '../lib/userData'
2020
import userContext from '../context/userContext'
2121
import {getFirstRoute, isEmpty} from '../lib/until'
@@ -83,8 +83,7 @@ const Routes = () => {
8383
username={userData?.username || ''}
8484
history={history}
8585
aliveControl={aliveControl}
86-
onClickDrop={handleClickDrop}
87-
>
86+
onClickDrop={handleClickDrop}>
8887
{renderRoutes()}
8988
</Layout>
9089
</CacheSwitch>

0 commit comments

Comments
 (0)