@knockout-js/layout 0.0.4-beta.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es2017/components/_util/index.d.ts +40 -0
- package/es2017/components/_util/index.js +69 -0
- package/es2017/components/_util/index.js.map +1 -0
- package/es2017/components/aggregate-menu/index.d.ts +6 -1
- package/es2017/components/aggregate-menu/index.js +156 -69
- package/es2017/components/aggregate-menu/index.js.map +1 -1
- package/es2017/components/aggregate-menu/index.module.css +38 -16
- package/es2017/components/index.d.ts +1 -0
- package/es2017/components/index.js +2 -0
- package/es2017/components/index.js.map +1 -1
- package/es2017/components/layout/index.d.ts +7 -1
- package/es2017/components/layout/index.js +12 -26
- package/es2017/components/layout/index.js.map +1 -1
- package/es2017/components/upload-file/index.d.ts +0 -2
- package/es2017/components/upload-file/index.js +1 -13
- package/es2017/components/upload-file/index.js.map +1 -1
- package/es2017/components/upload-file/uploadAvatar.js +1 -1
- package/es2017/components/upload-file/uploadAvatar.js.map +1 -1
- package/es2017/components/upload-file/uploadMultiple.js +1 -1
- package/es2017/components/upload-file/uploadMultiple.js.map +1 -1
- package/es2017/components/upload-file/uploadTemp.js +1 -1
- package/es2017/components/upload-file/uploadTemp.js.map +1 -1
- package/esm/components/_util/index.d.ts +40 -0
- package/esm/components/_util/index.js +75 -0
- package/esm/components/_util/index.js.map +1 -0
- package/esm/components/aggregate-menu/index.d.ts +6 -1
- package/esm/components/aggregate-menu/index.js +258 -70
- package/esm/components/aggregate-menu/index.js.map +1 -1
- package/esm/components/aggregate-menu/index.module.css +38 -16
- package/esm/components/index.d.ts +1 -0
- package/esm/components/index.js +2 -0
- package/esm/components/index.js.map +1 -1
- package/esm/components/layout/index.d.ts +7 -1
- package/esm/components/layout/index.js +12 -31
- package/esm/components/layout/index.js.map +1 -1
- package/esm/components/upload-file/index.d.ts +0 -2
- package/esm/components/upload-file/index.js +1 -13
- package/esm/components/upload-file/index.js.map +1 -1
- package/esm/components/upload-file/uploadAvatar.js +1 -1
- package/esm/components/upload-file/uploadAvatar.js.map +1 -1
- package/esm/components/upload-file/uploadMultiple.js +1 -1
- package/esm/components/upload-file/uploadMultiple.js.map +1 -1
- package/esm/components/upload-file/uploadTemp.js +1 -1
- package/esm/components/upload-file/uploadTemp.js.map +1 -1
- package/package.json +7 -3
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 列表数据格式化成树结构
|
|
3
|
+
* @param allList
|
|
4
|
+
* @param parentList
|
|
5
|
+
* @param defineKey
|
|
6
|
+
* @param parentId
|
|
7
|
+
* @returns
|
|
8
|
+
*/ import _object_spread from "@swc/helpers/src/_object_spread.mjs";
|
|
9
|
+
import _to_consumable_array from "@swc/helpers/src/_to_consumable_array.mjs";
|
|
10
|
+
export var listFormatTreeData = function(allList, parentList, defineKey, parentId) {
|
|
11
|
+
var dataKey = _object_spread({
|
|
12
|
+
key: "key",
|
|
13
|
+
parentId: "parentId"
|
|
14
|
+
}, defineKey), pid = parentId === undefined ? "0" : parentId;
|
|
15
|
+
if (!parentList) parentList = allList.filter(function(item) {
|
|
16
|
+
return item[dataKey.parentId] == pid;
|
|
17
|
+
});
|
|
18
|
+
parentList.forEach(function(pItem) {
|
|
19
|
+
var children = allList.filter(function(allItem) {
|
|
20
|
+
return allItem[dataKey.parentId] == pItem[dataKey.key];
|
|
21
|
+
});
|
|
22
|
+
if (children && children.length) pItem.children = listFormatTreeData(allList, children, dataKey);
|
|
23
|
+
});
|
|
24
|
+
return parentList;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* 解析树结构按树顺序处理成列表
|
|
28
|
+
* @param treeList
|
|
29
|
+
* @returns
|
|
30
|
+
*/ export var treeFormatList = function(treeList) {
|
|
31
|
+
var allList = [];
|
|
32
|
+
treeList.forEach(function(item) {
|
|
33
|
+
var _allList;
|
|
34
|
+
var children = item.children;
|
|
35
|
+
delete item.children;
|
|
36
|
+
allList === null || allList === void 0 ? void 0 : allList.push(item);
|
|
37
|
+
if (children) (_allList = allList).push.apply(_allList, _to_consumable_array(treeFormatList(children)));
|
|
38
|
+
});
|
|
39
|
+
return allList;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* 字节大小展示处理
|
|
43
|
+
* @param fileSize
|
|
44
|
+
* @returns
|
|
45
|
+
*/ export var formatFileSize = function(fileSize) {
|
|
46
|
+
if (fileSize < 1024) return fileSize + "B";
|
|
47
|
+
else if (fileSize < 1048576) return (fileSize / 1024).toFixed(2) + "KB";
|
|
48
|
+
else if (fileSize < 1073741824) return (fileSize / 1048576).toFixed(2) + "MB";
|
|
49
|
+
else return (fileSize / 1073741824).toFixed(2) + "GB";
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* 随机数
|
|
53
|
+
* @param len
|
|
54
|
+
* @returns
|
|
55
|
+
*/ export var randomId = function(len) {
|
|
56
|
+
var str = "";
|
|
57
|
+
for(; str.length < len; str += Math.random().toString(36).substring(2));
|
|
58
|
+
return str.substring(0, len);
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* 解析env配置的app地址字符串
|
|
62
|
+
* @param evnStr appCode@deploy_address;
|
|
63
|
+
* @returns
|
|
64
|
+
*/ export var parseEnvAppAddress = function(evnStr) {
|
|
65
|
+
var address = {};
|
|
66
|
+
evnStr.split(";").forEach(function(str) {
|
|
67
|
+
if (str) {
|
|
68
|
+
var adds = str.split("@");
|
|
69
|
+
if (adds.length === 2) address[adds[0]] = adds[1];
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
return address;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
//# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\esm\components\_util\index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\_util\\index.ts"],"sourcesContent":["/**\r\n * 列表数据格式化成树结构\r\n * @param allList\r\n * @param parentList\r\n * @param defineKey\r\n * @param parentId\r\n * @returns\r\n */\r\nexport const listFormatTreeData = <T extends Record<string, any> & { children?: T[] }>(\r\n allList: T[],\r\n parentList?: T[],\r\n defineKey?: {\r\n key?: string;\r\n parentId?: string;\r\n },\r\n parentId?: string | number,\r\n) => {\r\n const dataKey = { key: 'key', parentId: 'parentId', ...defineKey },\r\n pid = parentId === undefined ? '0' : parentId;\r\n\r\n if (!parentList) {\r\n parentList = allList.filter(item => item[dataKey.parentId] == pid);\r\n }\r\n\r\n parentList.forEach((pItem) => {\r\n const children = allList.filter(\r\n (allItem) => allItem[dataKey.parentId] == pItem[dataKey.key],\r\n );\r\n if (children && children.length) {\r\n pItem.children = listFormatTreeData(allList, children, dataKey);\r\n }\r\n });\r\n return parentList;\r\n};\r\n\r\n/**\r\n * 解析树结构按树顺序处理成列表\r\n * @param treeList\r\n * @returns\r\n */\r\nexport const treeFormatList = <T extends Record<string, any> & { children?: T[] }>(treeList: T[]) => {\r\n const allList: T[] = [];\r\n\r\n treeList.forEach(item => {\r\n const children = item.children;\r\n delete item.children;\r\n allList?.push(item);\r\n if (children) {\r\n allList.push(...treeFormatList(children));\r\n }\r\n });\r\n\r\n return allList;\r\n}\r\n\r\n/**\r\n * 字节大小展示处理\r\n * @param fileSize\r\n * @returns\r\n */\r\nexport const formatFileSize = (fileSize: number) => {\r\n if (fileSize < 1024) {\r\n return fileSize + 'B';\r\n } else if (fileSize < (1024 * 1024)) {\r\n return (fileSize / 1024).toFixed(2) + 'KB';\r\n } else if (fileSize < (1024 * 1024 * 1024)) {\r\n return (fileSize / (1024 * 1024)).toFixed(2) + 'MB';\r\n } else {\r\n return (fileSize / (1024 * 1024 * 1024)).toFixed(2) + 'GB';\r\n }\r\n}\r\n\r\n/**\r\n * 随机数\r\n * @param len\r\n * @returns\r\n */\r\nexport const randomId = (len: number) => {\r\n let str = '';\r\n for (; str.length < len; str += Math.random().toString(36).substring(2));\r\n return str.substring(0, len);\r\n}\r\n\r\n\r\n/**\r\n * 解析env配置的app地址字符串\r\n * @param evnStr appCode@deploy_address;\r\n * @returns\r\n */\r\nexport const parseEnvAppAddress = (evnStr: string) => {\r\n const address: Record<string, string> = {};\r\n evnStr.split(';').forEach(str => {\r\n if (str) {\r\n const adds = str.split('@');\r\n if (adds.length === 2) {\r\n address[adds[0]] = adds[1];\r\n }\r\n }\r\n })\r\n return address;\r\n}\r\n"],"names":["listFormatTreeData","allList","parentList","defineKey","parentId","dataKey","key","pid","undefined","filter","item","forEach","pItem","children","allItem","length","treeFormatList","treeList","push","formatFileSize","fileSize","toFixed","randomId","len","str","Math","random","toString","substring","parseEnvAppAddress","evnStr","address","split","adds"],"mappings":"AAAA;;;;;;;CAOC;;AACD,OAAO,IAAMA,qBAAqB,SAChCC,SACAC,YACAC,WAIAC,UACG;IACH,IAAMC,UAAU;QAAEC,KAAK;QAAOF,UAAU;OAAeD,YACrDI,MAAMH,aAAaI,YAAY,MAAMJ,QAAQ;IAE/C,IAAI,CAACF,YACHA,aAAaD,QAAQQ,MAAM,CAACC,SAAAA;eAAQA,IAAI,CAACL,QAAQD,QAAQ,CAAC,IAAIG;;IAGhEL,WAAWS,OAAO,CAAC,SAACC,OAAU;QAC5B,IAAMC,WAAWZ,QAAQQ,MAAM,CAC7B,SAACK;mBAAYA,OAAO,CAACT,QAAQD,QAAQ,CAAC,IAAIQ,KAAK,CAACP,QAAQC,GAAG,CAAC;;QAE9D,IAAIO,YAAYA,SAASE,MAAM,EAC7BH,MAAMC,QAAQ,GAAGb,mBAAmBC,SAASY,UAAUR;IAE3D;IACA,OAAOH;AACT,EAAE;AAEF;;;;CAIC,GACD,OAAO,IAAMc,iBAAiB,SAAqDC,UAAkB;IACnG,IAAMhB,UAAe,EAAE;IAEvBgB,SAASN,OAAO,CAACD,SAAAA,MAAQ;YAKrBT;QAJF,IAAMY,WAAWH,KAAKG,QAAQ;QAC9B,OAAOH,KAAKG,QAAQ;QACpBZ,oBAAAA,qBAAAA,KAAAA,IAAAA,QAASiB,IAAI,CAACR;QACd,IAAIG,UACFZ,CAAAA,WAAAA,SAAQiB,IAAI,CAAZjB,MAAAA,UAAa,qBAAGe,eAAeH;IAEnC;IAEA,OAAOZ;AACT,EAAC;AAED;;;;CAIC,GACD,OAAO,IAAMkB,iBAAiB,SAACC,UAAqB;IAClD,IAAIA,WAAW,MACb,OAAOA,WAAW;SACb,IAAIA,WAAY,SACrB,OAAO,AAACA,CAAAA,WAAW,IAAG,EAAGC,OAAO,CAAC,KAAK;SACjC,IAAID,WAAY,YACrB,OAAO,AAACA,CAAAA,WAAY,OAAW,EAAGC,OAAO,CAAC,KAAK;SAE/C,OAAO,AAACD,CAAAA,WAAY,UAAkB,EAAGC,OAAO,CAAC,KAAK;AAE1D,EAAC;AAED;;;;CAIC,GACD,OAAO,IAAMC,WAAW,SAACC,KAAgB;IACvC,IAAIC,MAAM;IACV,MAAOA,IAAIT,MAAM,GAAGQ,KAAKC,OAAOC,KAAKC,MAAM,GAAGC,QAAQ,CAAC,IAAIC,SAAS,CAAC;IACrE,OAAOJ,IAAII,SAAS,CAAC,GAAGL;AAC1B,EAAC;AAGD;;;;CAIC,GACD,OAAO,IAAMM,qBAAqB,SAACC,QAAmB;IACpD,IAAMC,UAAkC,CAAC;IACzCD,OAAOE,KAAK,CAAC,KAAKrB,OAAO,CAACa,SAAAA,KAAO;QAC/B,IAAIA,KAAK;YACP,IAAMS,OAAOT,IAAIQ,KAAK,CAAC;YACvB,IAAIC,KAAKlB,MAAM,KAAK,GAClBgB,OAAO,CAACE,IAAI,CAAC,EAAE,CAAC,GAAGA,IAAI,CAAC,EAAE;QAE9B,CAAC;IACH;IACA,OAAOF;AACT,EAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { DrawerProps } from "antd";
|
|
2
3
|
import { App, AppMenu } from "@knockout-js/api";
|
|
3
4
|
export type AggregateMenuLocale = {
|
|
4
5
|
title: string;
|
|
@@ -19,6 +20,10 @@ export interface AggregateMenuProps {
|
|
|
19
20
|
* 数据源
|
|
20
21
|
*/
|
|
21
22
|
dataSource?: AggregateMenuDataSource;
|
|
23
|
+
/**
|
|
24
|
+
* 弹框设置
|
|
25
|
+
*/
|
|
26
|
+
drawerProps?: DrawerProps;
|
|
22
27
|
/**
|
|
23
28
|
* 弹出开关变更
|
|
24
29
|
*/
|
|
@@ -26,7 +31,7 @@ export interface AggregateMenuProps {
|
|
|
26
31
|
/**
|
|
27
32
|
* 选中菜单
|
|
28
33
|
*/
|
|
29
|
-
onClick?: (menuItem: AppMenu, app: App) => void;
|
|
34
|
+
onClick?: (menuItem: AppMenu, app: App, isOpen?: boolean) => void;
|
|
30
35
|
}
|
|
31
36
|
declare const _default: (props: AggregateMenuProps) => JSX.Element;
|
|
32
37
|
export default _default;
|
|
@@ -9,16 +9,20 @@ import { CloseOutlined, DragOutlined, SearchOutlined, StarOutlined } from "@ant-
|
|
|
9
9
|
import { useCallback, useEffect, useState } from "react";
|
|
10
10
|
import styles from "./index.module.css";
|
|
11
11
|
import { Drawer, Empty, Input, Space } from "antd";
|
|
12
|
-
import { gql, paging, query } from "@knockout-js/ice-urql/request";
|
|
12
|
+
import { gql, mutation, paging, query } from "@knockout-js/ice-urql/request";
|
|
13
13
|
import { AppMenuKind } from "@knockout-js/api";
|
|
14
14
|
import { iceUrqlInstance } from "../index";
|
|
15
15
|
import { DndContext, closestCenter, KeyboardSensor, PointerSensor, useSensor, useSensors } from "@dnd-kit/core";
|
|
16
16
|
import { arrayMove, SortableContext, useSortable, sortableKeyboardCoordinates, verticalListSortingStrategy } from "@dnd-kit/sortable";
|
|
17
17
|
import { CSS } from "@dnd-kit/utilities";
|
|
18
18
|
import { useLocale } from "../locale/index";
|
|
19
|
-
import { useDark
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
import { useDark } from "../provider/index";
|
|
20
|
+
import { listFormatTreeData, treeFormatList } from "../_util/index";
|
|
21
|
+
import { OpenWin } from "../icons/index";
|
|
22
|
+
var userMenuListQuery = gql("query layoutPkgUserMenuList($appCode:String!){\n userMenus(appCode: $appCode){\n id,name,route,appID,parentID,displaySort,kind\n }\n}");
|
|
23
|
+
var userAppsQuery = gql("query layoutPkgUserAppList{\n userApps{\n id,name,code\n }\n}");
|
|
24
|
+
var userPreferenceQuery = gql("query layoutPkgUserPreference{\n orgUserPreference{\n id,menuFavorite,menuRecent,\n }\n}");
|
|
25
|
+
var userPreferenceMut = gql("mutation layoutPkgSaveUserPreference($input:OrgUserPreferenceInput!){\n saveOrgUserPreference(input: $input){ id }\n}");
|
|
22
26
|
/**
|
|
23
27
|
* 排序拖拽使用的控件
|
|
24
28
|
* https://docs.dndkit.com/
|
|
@@ -50,9 +54,17 @@ var userOrgAppsQuery = gql("query layoutPkgUserRootOrgs($first:Int){\n userRoot
|
|
|
50
54
|
className: styles.aggregateMenuDrawerMenuItemIcons,
|
|
51
55
|
children: /*#__PURE__*/ _jsxs(Space, {
|
|
52
56
|
children: [
|
|
57
|
+
/*#__PURE__*/ _jsx(OpenWin, {
|
|
58
|
+
className: "anticon",
|
|
59
|
+
onClick: function(event) {
|
|
60
|
+
event.stopPropagation();
|
|
61
|
+
props.onClick(true);
|
|
62
|
+
}
|
|
63
|
+
}),
|
|
53
64
|
/*#__PURE__*/ _jsx(CloseOutlined, {
|
|
54
65
|
rev: undefined,
|
|
55
|
-
onClick: function() {
|
|
66
|
+
onClick: function(event) {
|
|
67
|
+
event.stopPropagation();
|
|
56
68
|
props.onDel();
|
|
57
69
|
}
|
|
58
70
|
}),
|
|
@@ -68,32 +80,24 @@ var userOrgAppsQuery = gql("query layoutPkgUserRootOrgs($first:Int){\n userRoot
|
|
|
68
80
|
}));
|
|
69
81
|
};
|
|
70
82
|
export default function(props) {
|
|
71
|
-
var _useState = _sliced_to_array(useState([]), 2), all = _useState[0], setAll = _useState[1], _useState1 = _sliced_to_array(useState([]), 2), filterList = _useState1[0], setFilterList = _useState1[1], _useState2 = _sliced_to_array(useState([]), 2), collects = _useState2[0], setCollects = _useState2[1], _useState3 = _sliced_to_array(useState([]), 2), latelys = _useState3[0], setLately = _useState3[1], locale = useLocale("AggregateMenu"), isDark = useDark(),
|
|
83
|
+
var _useState = _sliced_to_array(useState([]), 2), all = _useState[0], setAll = _useState[1], _useState1 = _sliced_to_array(useState([]), 2), filterList = _useState1[0], setFilterList = _useState1[1], _useState2 = _sliced_to_array(useState([]), 2), collects = _useState2[0], setCollects = _useState2[1], _useState3 = _sliced_to_array(useState([]), 2), latelys = _useState3[0], setLately = _useState3[1], locale = useLocale("AggregateMenu"), isDark = useDark(), sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor, {
|
|
72
84
|
coordinateGetter: sortableKeyboardCoordinates
|
|
73
85
|
}));
|
|
74
86
|
var request = useCallback(/*#__PURE__*/ _async_to_generator(function() {
|
|
75
|
-
var _appsResult_data, appsResult, apps, newAll, _tmp, _tmp1, _i, i, _menuResult_data, menuResult, menu;
|
|
87
|
+
var _appsResult_data, _preferenceResult_data, _preferenceResult_data_orgUserPreference, appsResult, apps, newAll, _tmp, _tmp1, _i, i, _menuResult_data, menuResult, menu, preferenceResult, menuFavorite, menuRecent, collectsList, latelyList;
|
|
76
88
|
return _ts_generator(this, function(_state) {
|
|
77
89
|
switch(_state.label){
|
|
78
90
|
case 0:
|
|
79
91
|
return [
|
|
80
92
|
4,
|
|
81
|
-
paging(
|
|
82
|
-
first: 30
|
|
83
|
-
}, 1, {
|
|
93
|
+
paging(userAppsQuery, {}, 1, {
|
|
84
94
|
instanceName: iceUrqlInstance.ucenter
|
|
85
95
|
})
|
|
86
96
|
];
|
|
87
97
|
case 1:
|
|
88
98
|
appsResult = _state.sent(), apps = [];
|
|
89
|
-
if ((_appsResult_data = appsResult.data) === null || _appsResult_data === void 0 ? void 0 : _appsResult_data.
|
|
90
|
-
|
|
91
|
-
if (tenantId === org.id) (_org_apps_edges = org.apps.edges) === null || _org_apps_edges === void 0 ? void 0 : _org_apps_edges.forEach(function(oApp) {
|
|
92
|
-
if ((oApp === null || oApp === void 0 ? void 0 : oApp.node) && !apps.find(function(app) {
|
|
93
|
-
var _oApp_node;
|
|
94
|
-
return app.id === ((_oApp_node = oApp.node) === null || _oApp_node === void 0 ? void 0 : _oApp_node.id);
|
|
95
|
-
})) apps.push(oApp.node);
|
|
96
|
-
});
|
|
99
|
+
if ((_appsResult_data = appsResult.data) === null || _appsResult_data === void 0 ? void 0 : _appsResult_data.userApps) appsResult.data.userApps.forEach(function(app) {
|
|
100
|
+
apps.push(app);
|
|
97
101
|
});
|
|
98
102
|
newAll = [];
|
|
99
103
|
_tmp = [];
|
|
@@ -123,7 +127,10 @@ export default function(props) {
|
|
|
123
127
|
});
|
|
124
128
|
newAll.push({
|
|
125
129
|
app: apps[i],
|
|
126
|
-
menu: menu
|
|
130
|
+
menu: treeFormatList(listFormatTreeData(menu, undefined, {
|
|
131
|
+
key: "id",
|
|
132
|
+
parentId: "parentID"
|
|
133
|
+
}))
|
|
127
134
|
});
|
|
128
135
|
}
|
|
129
136
|
_state.label = 4;
|
|
@@ -136,26 +143,154 @@ export default function(props) {
|
|
|
136
143
|
case 5:
|
|
137
144
|
setAll(newAll);
|
|
138
145
|
setFilterList(newAll);
|
|
146
|
+
return [
|
|
147
|
+
4,
|
|
148
|
+
query(userPreferenceQuery, {}, {
|
|
149
|
+
instanceName: iceUrqlInstance.ucenter
|
|
150
|
+
})
|
|
151
|
+
];
|
|
152
|
+
case 6:
|
|
153
|
+
preferenceResult = _state.sent();
|
|
154
|
+
if ((_preferenceResult_data = preferenceResult.data) === null || _preferenceResult_data === void 0 ? void 0 : (_preferenceResult_data_orgUserPreference = _preferenceResult_data.orgUserPreference) === null || _preferenceResult_data_orgUserPreference === void 0 ? void 0 : _preferenceResult_data_orgUserPreference.id) {
|
|
155
|
+
menuFavorite = preferenceResult.data.orgUserPreference.menuFavorite, menuRecent = preferenceResult.data.orgUserPreference.menuRecent, collectsList = [], latelyList = [];
|
|
156
|
+
if (menuFavorite) menuFavorite.forEach(function(id) {
|
|
157
|
+
for(var i in newAll){
|
|
158
|
+
var menuItem = newAll[i].menu.find(function(item) {
|
|
159
|
+
return item.id == id;
|
|
160
|
+
});
|
|
161
|
+
if (menuItem) {
|
|
162
|
+
collectsList.push(menuItem);
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
if (menuRecent) menuRecent.forEach(function(id) {
|
|
168
|
+
for(var i in newAll){
|
|
169
|
+
var menuItem = newAll[i].menu.find(function(item) {
|
|
170
|
+
return item.id == id;
|
|
171
|
+
});
|
|
172
|
+
if (menuItem) {
|
|
173
|
+
latelyList.push(menuItem);
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
setCollects(collectsList);
|
|
179
|
+
setLately(latelyList);
|
|
180
|
+
}
|
|
139
181
|
return [
|
|
140
182
|
2
|
|
141
183
|
];
|
|
142
184
|
}
|
|
143
185
|
});
|
|
144
|
-
}), []),
|
|
186
|
+
}), []), requestFavorite = function() {
|
|
187
|
+
var _ref = _async_to_generator(function(list) {
|
|
188
|
+
return _ts_generator(this, function(_state) {
|
|
189
|
+
switch(_state.label){
|
|
190
|
+
case 0:
|
|
191
|
+
// 异步存储收藏
|
|
192
|
+
return [
|
|
193
|
+
4,
|
|
194
|
+
mutation(userPreferenceMut, {
|
|
195
|
+
input: {
|
|
196
|
+
menuFavorite: list.map(function(item) {
|
|
197
|
+
return item.id;
|
|
198
|
+
})
|
|
199
|
+
}
|
|
200
|
+
}, {
|
|
201
|
+
instanceName: iceUrqlInstance.ucenter
|
|
202
|
+
})
|
|
203
|
+
];
|
|
204
|
+
case 1:
|
|
205
|
+
_state.sent();
|
|
206
|
+
return [
|
|
207
|
+
2
|
|
208
|
+
];
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
return function requestFavorite(list) {
|
|
213
|
+
return _ref.apply(this, arguments);
|
|
214
|
+
};
|
|
215
|
+
}(), requestRecent = function() {
|
|
216
|
+
var _ref = _async_to_generator(function(ids) {
|
|
217
|
+
return _ts_generator(this, function(_state) {
|
|
218
|
+
switch(_state.label){
|
|
219
|
+
case 0:
|
|
220
|
+
// 异步存储访问菜单记录
|
|
221
|
+
return [
|
|
222
|
+
4,
|
|
223
|
+
mutation(userPreferenceMut, {
|
|
224
|
+
input: {
|
|
225
|
+
menuRecent: ids
|
|
226
|
+
}
|
|
227
|
+
}, {
|
|
228
|
+
instanceName: iceUrqlInstance.ucenter
|
|
229
|
+
})
|
|
230
|
+
];
|
|
231
|
+
case 1:
|
|
232
|
+
_state.sent();
|
|
233
|
+
return [
|
|
234
|
+
2
|
|
235
|
+
];
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
return function requestRecent(ids) {
|
|
240
|
+
return _ref.apply(this, arguments);
|
|
241
|
+
};
|
|
242
|
+
}(), checkCollect = useCallback(function(menuItem) {
|
|
145
243
|
return !!collects.find(function(item) {
|
|
146
244
|
return item.id === menuItem.id && item.appID === menuItem.appID;
|
|
147
245
|
});
|
|
148
246
|
}, [
|
|
149
247
|
collects
|
|
150
|
-
]),
|
|
248
|
+
]), onClickItem = function() {
|
|
249
|
+
var _ref = _async_to_generator(function(menuItem, isOpen) {
|
|
250
|
+
var allApp, _props_onClick, latelyList, oldIdx;
|
|
251
|
+
return _ts_generator(this, function(_state) {
|
|
252
|
+
switch(_state.label){
|
|
253
|
+
case 0:
|
|
254
|
+
allApp = all.find(function(allItem) {
|
|
255
|
+
return allItem.app.id == menuItem.appID;
|
|
256
|
+
});
|
|
257
|
+
if (!allApp) return [
|
|
258
|
+
3,
|
|
259
|
+
2
|
|
260
|
+
];
|
|
261
|
+
latelyList = _to_consumable_array(latelys);
|
|
262
|
+
oldIdx = latelyList.findIndex(function(lately) {
|
|
263
|
+
return lately.id == menuItem.id;
|
|
264
|
+
});
|
|
265
|
+
if (oldIdx > -1) latelyList.splice(oldIdx, 1);
|
|
266
|
+
latelyList.unshift(menuItem);
|
|
267
|
+
latelyList.splice(6);
|
|
268
|
+
return [
|
|
269
|
+
4,
|
|
270
|
+
requestRecent(latelyList.map(function(item) {
|
|
271
|
+
return item.id;
|
|
272
|
+
}))
|
|
273
|
+
];
|
|
274
|
+
case 1:
|
|
275
|
+
_state.sent();
|
|
276
|
+
setLately(latelyList);
|
|
277
|
+
(_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, menuItem, allApp.app, isOpen);
|
|
278
|
+
_state.label = 2;
|
|
279
|
+
case 2:
|
|
280
|
+
return [
|
|
281
|
+
2
|
|
282
|
+
];
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
});
|
|
286
|
+
return function onClickItem(menuItem, isOpen) {
|
|
287
|
+
return _ref.apply(this, arguments);
|
|
288
|
+
};
|
|
289
|
+
}(), menuItemRender = function(menuItem) {
|
|
151
290
|
return /*#__PURE__*/ _jsxs("div", {
|
|
152
291
|
className: styles.aggregateMenuDrawerAllMenuItem,
|
|
153
292
|
onClick: function() {
|
|
154
|
-
|
|
155
|
-
var allApp = all.find(function(allItem) {
|
|
156
|
-
return allItem.app.id == menuItem.appID;
|
|
157
|
-
});
|
|
158
|
-
if (allApp) (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, menuItem, allApp.app);
|
|
293
|
+
onClickItem(menuItem);
|
|
159
294
|
},
|
|
160
295
|
children: [
|
|
161
296
|
/*#__PURE__*/ _jsxs("div", {
|
|
@@ -166,18 +301,52 @@ export default function(props) {
|
|
|
166
301
|
]
|
|
167
302
|
}),
|
|
168
303
|
/*#__PURE__*/ _jsx("div", {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
304
|
+
className: styles.aggregateMenuDrawerAllMenuItemIcons,
|
|
305
|
+
children: /*#__PURE__*/ _jsxs(Space, {
|
|
306
|
+
children: [
|
|
307
|
+
/*#__PURE__*/ _jsx(OpenWin, {
|
|
308
|
+
className: "anticon",
|
|
309
|
+
onClick: function(event) {
|
|
310
|
+
event.stopPropagation();
|
|
311
|
+
onClickItem(menuItem, true);
|
|
312
|
+
}
|
|
313
|
+
}),
|
|
314
|
+
/*#__PURE__*/ _jsx(StarOutlined, {
|
|
315
|
+
rev: undefined,
|
|
316
|
+
className: checkCollect(menuItem) ? "collect" : "",
|
|
317
|
+
onClick: function() {
|
|
318
|
+
var _ref = _async_to_generator(function(event) {
|
|
319
|
+
var collectList;
|
|
320
|
+
return _ts_generator(this, function(_state) {
|
|
321
|
+
switch(_state.label){
|
|
322
|
+
case 0:
|
|
323
|
+
event.stopPropagation();
|
|
324
|
+
collectList = [];
|
|
325
|
+
if (checkCollect(menuItem)) collectList = collects.filter(function(c) {
|
|
326
|
+
return !(c.id === menuItem.id && c.appID === menuItem.appID);
|
|
327
|
+
});
|
|
328
|
+
else collectList = _to_consumable_array(collects).concat([
|
|
329
|
+
menuItem
|
|
330
|
+
]);
|
|
331
|
+
return [
|
|
332
|
+
4,
|
|
333
|
+
requestFavorite(collectList)
|
|
334
|
+
];
|
|
335
|
+
case 1:
|
|
336
|
+
_state.sent();
|
|
337
|
+
setCollects(collectList);
|
|
338
|
+
return [
|
|
339
|
+
2
|
|
340
|
+
];
|
|
341
|
+
}
|
|
342
|
+
});
|
|
343
|
+
});
|
|
344
|
+
return function(event) {
|
|
345
|
+
return _ref.apply(this, arguments);
|
|
346
|
+
};
|
|
347
|
+
}()
|
|
348
|
+
})
|
|
349
|
+
]
|
|
181
350
|
})
|
|
182
351
|
})
|
|
183
352
|
]
|
|
@@ -192,12 +361,14 @@ export default function(props) {
|
|
|
192
361
|
props.dataSource
|
|
193
362
|
]);
|
|
194
363
|
return /*#__PURE__*/ _jsx(_Fragment, {
|
|
195
|
-
children: /*#__PURE__*/ _jsx(Drawer, {
|
|
196
|
-
className: "".concat(styles.aggregateMenuDrawer, " ").concat(isDark ? styles.aggregateMenuDark : ""),
|
|
364
|
+
children: /*#__PURE__*/ _jsx(Drawer, _object_spread_props(_object_spread({
|
|
197
365
|
title: locale.title,
|
|
366
|
+
maskClosable: false,
|
|
198
367
|
placement: "left",
|
|
368
|
+
width: 1060
|
|
369
|
+
}, props.drawerProps), {
|
|
370
|
+
className: "".concat(styles.aggregateMenuDrawer, " ").concat(isDark ? styles.aggregateMenuDark : ""),
|
|
199
371
|
open: props.open,
|
|
200
|
-
width: 1060,
|
|
201
372
|
onClose: function() {
|
|
202
373
|
var _props_onChangeOpen;
|
|
203
374
|
(_props_onChangeOpen = props.onChangeOpen) === null || _props_onChangeOpen === void 0 ? void 0 : _props_onChangeOpen.call(props, false);
|
|
@@ -222,7 +393,9 @@ export default function(props) {
|
|
|
222
393
|
var newIndex = items.findIndex(function(nItem) {
|
|
223
394
|
return "".concat(nItem.id, "-").concat(nItem.appID) == over.id;
|
|
224
395
|
});
|
|
225
|
-
|
|
396
|
+
var collectList = arrayMove(items, oldIndex, newIndex);
|
|
397
|
+
requestFavorite(collectList);
|
|
398
|
+
return collectList;
|
|
226
399
|
});
|
|
227
400
|
},
|
|
228
401
|
children: /*#__PURE__*/ _jsx(SortableContext, {
|
|
@@ -231,19 +404,31 @@ export default function(props) {
|
|
|
231
404
|
}),
|
|
232
405
|
strategy: verticalListSortingStrategy,
|
|
233
406
|
children: collects.map(function(item) {
|
|
234
|
-
/*#__PURE__*/
|
|
407
|
+
return /*#__PURE__*/ _jsx(DargItem, {
|
|
235
408
|
value: item,
|
|
236
|
-
onDel: function() {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
409
|
+
onDel: /*#__PURE__*/ _async_to_generator(function() {
|
|
410
|
+
var collectList;
|
|
411
|
+
return _ts_generator(this, function(_state) {
|
|
412
|
+
switch(_state.label){
|
|
413
|
+
case 0:
|
|
414
|
+
collectList = collects.filter(function(c) {
|
|
415
|
+
return !(c.id === item.id && c.appID === item.appID);
|
|
416
|
+
});
|
|
417
|
+
return [
|
|
418
|
+
4,
|
|
419
|
+
requestFavorite(collectList)
|
|
420
|
+
];
|
|
421
|
+
case 1:
|
|
422
|
+
_state.sent();
|
|
423
|
+
setCollects(collectList);
|
|
424
|
+
return [
|
|
425
|
+
2
|
|
426
|
+
];
|
|
427
|
+
}
|
|
245
428
|
});
|
|
246
|
-
|
|
429
|
+
}),
|
|
430
|
+
onClick: function(isOpen) {
|
|
431
|
+
onClickItem(item, isOpen);
|
|
247
432
|
}
|
|
248
433
|
}, "c".concat(item.id, "-").concat(item.appID));
|
|
249
434
|
})
|
|
@@ -304,29 +489,32 @@ export default function(props) {
|
|
|
304
489
|
style: {
|
|
305
490
|
height: latelys.length ? "calc(100% - 164px)" : "calc(100% - 52px)"
|
|
306
491
|
},
|
|
307
|
-
children:
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
492
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
493
|
+
className: styles.aggregateMenuDrawerAllMenuColumn,
|
|
494
|
+
children: filterList.map(function(item) {
|
|
495
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
496
|
+
className: styles.aggregateMenuDrawerAllMenuColumnItem,
|
|
497
|
+
children: [
|
|
498
|
+
/*#__PURE__*/ _jsx("div", {
|
|
499
|
+
className: styles.aggregateMenuDrawerAllAppTitle,
|
|
500
|
+
children: item.app.name
|
|
501
|
+
}),
|
|
502
|
+
item.menu.map(function(menuItem) {
|
|
503
|
+
return menuItem.kind === AppMenuKind.Menu ? menuItemRender(menuItem) : /*#__PURE__*/ _jsx("div", {
|
|
504
|
+
className: styles.aggregateMenuDrawerAllMenuItemDir,
|
|
505
|
+
children: menuItem.name
|
|
506
|
+
}, "".concat(menuItem.appID, "-").concat(menuItem.id));
|
|
507
|
+
})
|
|
508
|
+
]
|
|
509
|
+
}, item.app.code);
|
|
510
|
+
})
|
|
323
511
|
})
|
|
324
512
|
})
|
|
325
513
|
]
|
|
326
514
|
})
|
|
327
515
|
]
|
|
328
516
|
})
|
|
329
|
-
})
|
|
517
|
+
}))
|
|
330
518
|
});
|
|
331
519
|
};
|
|
332
520
|
|