@knockout-js/layout 0.1.1 → 0.1.2
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/dictionary/index.d.ts +6 -0
- package/es2017/components/dictionary/index.js +71 -0
- package/es2017/components/dictionary/index.js.map +1 -0
- package/es2017/components/dictionary/index.module.css +4 -0
- package/es2017/components/dictionary/select.d.ts +19 -0
- package/es2017/components/dictionary/select.js +51 -0
- package/es2017/components/dictionary/select.js.map +1 -0
- package/es2017/components/dictionary/text.d.ts +23 -0
- package/es2017/components/dictionary/text.js +28 -0
- package/es2017/components/dictionary/text.js.map +1 -0
- package/es2017/components/index.d.ts +2 -0
- package/es2017/components/index.js +2 -0
- package/es2017/components/index.js.map +1 -1
- package/es2017/components/theme-switch/index.js +14 -14
- package/es2017/components/theme-switch/index.js.map +1 -1
- package/es2017/components/theme-switch/index.module.css +14 -0
- package/esm/components/dictionary/index.d.ts +6 -0
- package/esm/components/dictionary/index.js +92 -0
- package/esm/components/dictionary/index.js.map +1 -0
- package/esm/components/dictionary/index.module.css +4 -0
- package/esm/components/dictionary/select.d.ts +19 -0
- package/esm/components/dictionary/select.js +71 -0
- package/esm/components/dictionary/select.js.map +1 -0
- package/esm/components/dictionary/text.d.ts +23 -0
- package/esm/components/dictionary/text.js +31 -0
- package/esm/components/dictionary/text.js.map +1 -0
- package/esm/components/index.d.ts +2 -0
- package/esm/components/index.js +2 -0
- package/esm/components/index.js.map +1 -1
- package/esm/components/theme-switch/index.js +14 -14
- package/esm/components/theme-switch/index.js.map +1 -1
- package/esm/components/theme-switch/index.module.css +14 -0
- package/package.json +3 -3
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { getDictItems } from "@knockout-js/api";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
let timeoutFn = undefined, isLoad = false;
|
|
4
|
+
const distData = {}, collectCode = [];
|
|
5
|
+
/**
|
|
6
|
+
* 用来处理缓存字典项列表
|
|
7
|
+
* @returns
|
|
8
|
+
*/ export const useDistItems = (dictCode, dataSource)=>{
|
|
9
|
+
var _distData_dictCode;
|
|
10
|
+
const [items, setItems] = useState((_distData_dictCode = distData[dictCode]) !== null && _distData_dictCode !== void 0 ? _distData_dictCode : []);
|
|
11
|
+
/**
|
|
12
|
+
* 通过列表设置存储
|
|
13
|
+
* @param list
|
|
14
|
+
*/ const setDistItems = (list)=>{
|
|
15
|
+
const dictCodes = [
|
|
16
|
+
...new Set(list.map((item)=>{
|
|
17
|
+
var _item_dict;
|
|
18
|
+
return (_item_dict = item.dict) === null || _item_dict === void 0 ? void 0 : _item_dict.code;
|
|
19
|
+
}))
|
|
20
|
+
];
|
|
21
|
+
dictCodes.forEach((code)=>{
|
|
22
|
+
if (code) distData[code] = list.filter((item)=>{
|
|
23
|
+
var _item_dict;
|
|
24
|
+
return ((_item_dict = item.dict) === null || _item_dict === void 0 ? void 0 : _item_dict.code) == code;
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* 刷新列表接口
|
|
30
|
+
*/ const reloadDistItems = async ()=>{
|
|
31
|
+
const result = await getDictItems(dictCode, true);
|
|
32
|
+
if (result.length) setDistItems(result);
|
|
33
|
+
};
|
|
34
|
+
useEffect(()=>{
|
|
35
|
+
if (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) setDistItems(dataSource);
|
|
36
|
+
else {
|
|
37
|
+
if (!collectCode.includes(dictCode)) {
|
|
38
|
+
collectCode.push(dictCode);
|
|
39
|
+
isLoad = true;
|
|
40
|
+
}
|
|
41
|
+
if (isLoad) {
|
|
42
|
+
clearTimeout(timeoutFn);
|
|
43
|
+
timeoutFn = setTimeout(()=>{
|
|
44
|
+
getDictItems(collectCode).then((result)=>{
|
|
45
|
+
if (result.length) setDistItems(result);
|
|
46
|
+
isLoad = false;
|
|
47
|
+
});
|
|
48
|
+
}, 100);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}, [
|
|
52
|
+
dictCode,
|
|
53
|
+
dataSource
|
|
54
|
+
]);
|
|
55
|
+
useEffect(()=>{
|
|
56
|
+
var _distData_dictCode;
|
|
57
|
+
var _distData_dictCode_filter;
|
|
58
|
+
setItems((_distData_dictCode_filter = (_distData_dictCode = distData[dictCode]) === null || _distData_dictCode === void 0 ? void 0 : _distData_dictCode.filter((item)=>{
|
|
59
|
+
var _item_dict;
|
|
60
|
+
return ((_item_dict = item.dict) === null || _item_dict === void 0 ? void 0 : _item_dict.code) === dictCode;
|
|
61
|
+
})) !== null && _distData_dictCode_filter !== void 0 ? _distData_dictCode_filter : []);
|
|
62
|
+
}, [
|
|
63
|
+
distData[dictCode]
|
|
64
|
+
]);
|
|
65
|
+
return [
|
|
66
|
+
items,
|
|
67
|
+
reloadDistItems
|
|
68
|
+
];
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\dictionary\index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\dictionary\\index.ts"],"sourcesContent":["import { getDictItems } from \"@knockout-js/api\";\r\nimport { AppDictItem } from \"@knockout-js/api/ucenter\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nlet timeoutFn: NodeJS.Timeout | undefined = undefined, isLoad = false;\r\nconst distData: Record<string, AppDictItem[] | undefined> = {},\r\n collectCode: string[] = [];\r\n\r\n/**\r\n * 用来处理缓存字典项列表\r\n * @returns\r\n */\r\nexport const useDistItems = (dictCode: string, dataSource?: AppDictItem[]): [AppDictItem[], () => Promise<void>] => {\r\n\r\n const [items, setItems] = useState<AppDictItem[]>(distData[dictCode] ?? []);\r\n\r\n /**\r\n * 通过列表设置存储\r\n * @param list\r\n */\r\n const setDistItems = (list: AppDictItem[]) => {\r\n const dictCodes = [...new Set(list.map(item => item.dict?.code))];\r\n dictCodes.forEach(code => {\r\n if (code) {\r\n distData[code] = list.filter(item => item.dict?.code == code);\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 刷新列表接口\r\n */\r\n const reloadDistItems = async () => {\r\n const result = await getDictItems(dictCode, true);\r\n if (result.length) {\r\n setDistItems(result);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (dataSource?.length) {\r\n setDistItems(dataSource);\r\n } else {\r\n if (!collectCode.includes(dictCode)) {\r\n collectCode.push(dictCode);\r\n isLoad = true;\r\n }\r\n if (isLoad) {\r\n clearTimeout(timeoutFn)\r\n timeoutFn = setTimeout(() => {\r\n getDictItems(collectCode).then(result => {\r\n if (result.length) {\r\n setDistItems(result);\r\n }\r\n isLoad = false;\r\n });\r\n }, 100);\r\n }\r\n }\r\n }, [dictCode, dataSource]);\r\n\r\n useEffect(() => {\r\n setItems(distData[dictCode]?.filter(item => item.dict?.code === dictCode) ?? [])\r\n }, [distData[dictCode]])\r\n\r\n\r\n return [items, reloadDistItems];\r\n}\r\n"],"names":["getDictItems","useEffect","useState","timeoutFn","undefined","isLoad","distData","collectCode","useDistItems","dictCode","dataSource","items","setItems","setDistItems","list","dictCodes","Set","map","item","dict","code","forEach","filter","reloadDistItems","result","length","includes","push","clearTimeout","setTimeout","then"],"mappings":"AAAA,SAASA,YAAY,QAAQ,mBAAmB;AAEhD,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAE5C,IAAIC,YAAwCC,WAAWC,SAAS,KAAK;AACrE,MAAMC,WAAsD,CAAC,GAC3DC,cAAwB,EAAE;AAE5B;;;CAGC,GACD,OAAO,MAAMC,eAAe,CAACC,UAAkBC,aAAqE;QAEhEJ;IAAlD,MAAM,CAACK,OAAOC,SAAS,GAAGV,SAAwBI,CAAAA,qBAAAA,QAAQ,CAACG,SAAS,cAAlBH,gCAAAA,qBAAsB,EAAE;IAE1E;;;GAGC,GACD,MAAMO,eAAe,CAACC,OAAwB;QAC5C,MAAMC,YAAY;eAAI,IAAIC,IAAIF,KAAKG,GAAG,CAACC,CAAAA;oBAAQA;gBAAAA,OAAAA,CAAAA,aAAAA,KAAKC,IAAI,cAATD,wBAAAA,KAAAA,IAAAA,WAAWE,IAAI;;SAAG;QACjEL,UAAUM,OAAO,CAACD,CAAAA,OAAQ;YACxB,IAAIA,MACFd,QAAQ,CAACc,KAAK,GAAGN,KAAKQ,MAAM,CAACJ,CAAAA;oBAAQA;gBAAAA,OAAAA,CAAAA,CAAAA,aAAAA,KAAKC,IAAI,cAATD,wBAAAA,KAAAA,IAAAA,WAAWE,IAAI,AAAD,KAAKA;;QAE5D;IACF;IAEA;;GAEC,GACD,MAAMG,kBAAkB,UAAY;QAClC,MAAMC,SAAS,MAAMxB,aAAaS,UAAU,IAAI;QAChD,IAAIe,OAAOC,MAAM,EACfZ,aAAaW;IAEjB;IAEAvB,UAAU,IAAM;QACd,IAAIS,uBAAAA,wBAAAA,KAAAA,IAAAA,WAAYe,MAAM,EACpBZ,aAAaH;aACR;YACL,IAAI,CAACH,YAAYmB,QAAQ,CAACjB,WAAW;gBACnCF,YAAYoB,IAAI,CAAClB;gBACjBJ,SAAS,IAAI;YACf,CAAC;YACD,IAAIA,QAAQ;gBACVuB,aAAazB;gBACbA,YAAY0B,WAAW,IAAM;oBAC3B7B,aAAaO,aAAauB,IAAI,CAACN,CAAAA,SAAU;wBACvC,IAAIA,OAAOC,MAAM,EACfZ,aAAaW;wBAEfnB,SAAS,KAAK;oBAChB;gBACF,GAAG;YACL,CAAC;QACH,CAAC;IACH,GAAG;QAACI;QAAUC;KAAW;IAEzBT,UAAU,IAAM;YACLK;YAAAA;QAATM,SAASN,CAAAA,4BAAAA,CAAAA,qBAAAA,QAAQ,CAACG,SAAS,cAAlBH,gCAAAA,KAAAA,IAAAA,mBAAoBgB,OAAOJ,CAAAA;gBAAQA;YAAAA,OAAAA,CAAAA,CAAAA,aAAAA,KAAKC,IAAI,cAATD,wBAAAA,KAAAA,IAAAA,WAAWE,IAAI,AAAD,MAAMX;wBAAvDH,uCAAAA,4BAAoE,EAAE;IACjF,GAAG;QAACA,QAAQ,CAACG,SAAS;KAAC;IAGvB,OAAO;QAACE;QAAOY;KAAgB;AACjC,EAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { AppDictItem } from "@knockout-js/api/ucenter";
|
|
3
|
+
import { SelectProps } from "antd";
|
|
4
|
+
export interface DictionarySelectProps extends SelectProps {
|
|
5
|
+
/**
|
|
6
|
+
* 字典code
|
|
7
|
+
*/
|
|
8
|
+
dictCode: string;
|
|
9
|
+
/**
|
|
10
|
+
* 外部提供数据源
|
|
11
|
+
*/
|
|
12
|
+
dataSource?: AppDictItem[];
|
|
13
|
+
/**
|
|
14
|
+
* changeValue=id: onChange的第一个参数值就为code
|
|
15
|
+
*/
|
|
16
|
+
changeValue?: "id" | "code";
|
|
17
|
+
}
|
|
18
|
+
declare const _default: (props: DictionarySelectProps) => JSX.Element;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import _object_spread from "@swc/helpers/src/_object_spread.mjs";
|
|
2
|
+
import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
|
|
3
|
+
import _object_without_properties from "@swc/helpers/src/_object_without_properties.mjs";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ice/jsx-runtime/jsx-runtime";
|
|
5
|
+
import { ReloadOutlined } from "@ant-design/icons";
|
|
6
|
+
import { Select } from "antd";
|
|
7
|
+
import { useEffect, useState } from "react";
|
|
8
|
+
import styles from "./index.module.css";
|
|
9
|
+
import { useDistItems } from "./index";
|
|
10
|
+
export default ((props)=>{
|
|
11
|
+
const { dictCode , dataSource , changeValue } = props, restProps = _object_without_properties(props, [
|
|
12
|
+
"dictCode",
|
|
13
|
+
"dataSource",
|
|
14
|
+
"changeValue"
|
|
15
|
+
]), [items, itemsReload] = useDistItems(dictCode, dataSource), [loading, setLoading] = useState(false), [options, setOptions] = useState([]);
|
|
16
|
+
useEffect(()=>{
|
|
17
|
+
setOptions(items.map((item)=>({
|
|
18
|
+
label: item.name,
|
|
19
|
+
value: item[changeValue !== null && changeValue !== void 0 ? changeValue : 'code'],
|
|
20
|
+
data: item
|
|
21
|
+
})));
|
|
22
|
+
}, [
|
|
23
|
+
items
|
|
24
|
+
]);
|
|
25
|
+
return /*#__PURE__*/ _jsx(Select, _object_spread_props(_object_spread({
|
|
26
|
+
style: {
|
|
27
|
+
width: '100%'
|
|
28
|
+
}
|
|
29
|
+
}, restProps), {
|
|
30
|
+
loading: loading,
|
|
31
|
+
options: options,
|
|
32
|
+
dropdownRender: (menu)=>/*#__PURE__*/ _jsxs(_Fragment, {
|
|
33
|
+
children: [
|
|
34
|
+
menu,
|
|
35
|
+
/*#__PURE__*/ _jsx("div", {
|
|
36
|
+
className: styles.selectActions,
|
|
37
|
+
children: /*#__PURE__*/ _jsx(ReloadOutlined, {
|
|
38
|
+
rev: undefined,
|
|
39
|
+
onClick: async ()=>{
|
|
40
|
+
setLoading(true);
|
|
41
|
+
await itemsReload();
|
|
42
|
+
setLoading(false);
|
|
43
|
+
}
|
|
44
|
+
})
|
|
45
|
+
})
|
|
46
|
+
]
|
|
47
|
+
})
|
|
48
|
+
}));
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\dictionary\select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\dictionary\\select.tsx"],"sourcesContent":["import { ReloadOutlined } from \"@ant-design/icons\";\r\nimport { AppDictItem } from \"@knockout-js/api/ucenter\";\r\nimport { Select, SelectProps } from \"antd\";\r\nimport { useEffect, useState } from \"react\";\r\nimport styles from \"./index.module.css\";\r\nimport { useDistItems } from \".\";\r\n\r\nexport interface DictionarySelectProps extends SelectProps {\r\n /**\r\n * 字典code\r\n */\r\n dictCode: string;\r\n /**\r\n * 外部提供数据源\r\n */\r\n dataSource?: AppDictItem[];\r\n /**\r\n * changeValue=id: onChange的第一个参数值就为code\r\n */\r\n changeValue?: \"id\" | \"code\";\r\n}\r\n\r\ntype DictionarySelectOption = {\r\n label: string;\r\n value: string;\r\n data: AppDictItem;\r\n}\r\n\r\nexport default (props: DictionarySelectProps) => {\r\n const { dictCode, dataSource, changeValue, ...restProps } = props,\r\n [items, itemsReload] = useDistItems(dictCode, dataSource),\r\n [loading, setLoading] = useState(false),\r\n [options, setOptions] = useState<DictionarySelectOption[]>([]);\r\n\r\n useEffect(() => {\r\n setOptions(items\r\n .map(item => ({\r\n label: item.name,\r\n value: item[changeValue ?? 'code'],\r\n data: item,\r\n }))\r\n );\r\n }, [items])\r\n\r\n return <Select\r\n style={{ width: '100%' }}\r\n {...restProps}\r\n loading={loading}\r\n options={options}\r\n dropdownRender={(menu) => <>\r\n {menu}\r\n <div className={styles.selectActions}>\r\n <ReloadOutlined rev={undefined} onClick={async () => {\r\n setLoading(true);\r\n await itemsReload();\r\n setLoading(false);\r\n }} />\r\n </div>\r\n </>\r\n }\r\n />\r\n}\r\n"],"names":["ReloadOutlined","Select","useEffect","useState","styles","useDistItems","props","dictCode","dataSource","changeValue","restProps","items","itemsReload","loading","setLoading","options","setOptions","map","item","label","name","value","data","style","width","dropdownRender","menu","div","className","selectActions","rev","undefined","onClick"],"mappings":";;;;AAAA,SAASA,cAAc,QAAQ,oBAAoB;AAEnD,SAASC,MAAM,QAAqB,OAAO;AAC3C,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAC5C,OAAOC,YAAY,qBAAqB;AACxC,SAASC,YAAY,QAAQ,UAAI;AAuBjC,eAAe,CAAA,CAACC,QAAiC;IAC/C,MAAM,EAAEC,SAAQ,EAAEC,WAAU,EAAEC,YAAW,EAAgB,GAAGH,OAAdI,uCAAcJ;QAApDC;QAAUC;QAAYC;QAC5B,CAACE,OAAOC,YAAY,GAAGP,aAAaE,UAAUC,aAC9C,CAACK,SAASC,WAAW,GAAGX,SAAS,KAAK,GACtC,CAACY,SAASC,WAAW,GAAGb,SAAmC,EAAE;IAE/DD,UAAU,IAAM;QACdc,WAAWL,MACRM,GAAG,CAACC,CAAAA,OAAS,CAAA;gBACZC,OAAOD,KAAKE,IAAI;gBAChBC,OAAOH,IAAI,CAACT,wBAAAA,yBAAAA,cAAe,MAAM,CAAC;gBAClCa,MAAMJ;YACR,CAAA;IAEJ,GAAG;QAACP;KAAM;IAEV,qBAAO,KAACV;QACNsB,OAAO;YAAEC,OAAO;QAAO;OACnBd;QACJG,SAASA;QACTE,SAASA;QACTU,gBAAgB,CAACC,qBAAS;;oBACvBA;kCACD,KAACC;wBAAIC,WAAWxB,OAAOyB,aAAa;kCAClC,cAAA,KAAC7B;4BAAe8B,KAAKC;4BAAWC,SAAS,UAAY;gCACnDlB,WAAW,IAAI;gCACf,MAAMF;gCACNE,WAAW,KAAK;4BAClB;;;;;;AAKR,CAAA,EAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { AppDictItem } from "@knockout-js/api/ucenter";
|
|
3
|
+
import { TextProps } from "antd/es/typography/Text";
|
|
4
|
+
export interface DictionaryTextProps extends TextProps {
|
|
5
|
+
/**
|
|
6
|
+
* 值
|
|
7
|
+
*/
|
|
8
|
+
value?: string;
|
|
9
|
+
/**
|
|
10
|
+
* 字典code
|
|
11
|
+
*/
|
|
12
|
+
dictCode: string;
|
|
13
|
+
/**
|
|
14
|
+
* 外部提供数据源
|
|
15
|
+
*/
|
|
16
|
+
dataSource?: AppDictItem[];
|
|
17
|
+
/**
|
|
18
|
+
* 默认使用code来匹配value
|
|
19
|
+
*/
|
|
20
|
+
valueKey?: "id" | "code";
|
|
21
|
+
}
|
|
22
|
+
declare const _default: (props: DictionaryTextProps) => JSX.Element;
|
|
23
|
+
export default _default;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import _object_spread from "@swc/helpers/src/_object_spread.mjs";
|
|
2
|
+
import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
|
|
3
|
+
import _object_without_properties from "@swc/helpers/src/_object_without_properties.mjs";
|
|
4
|
+
import { jsx as _jsx } from "@ice/jsx-runtime/jsx-runtime";
|
|
5
|
+
import { Typography } from "antd";
|
|
6
|
+
import { useEffect, useState } from "react";
|
|
7
|
+
import { useDistItems } from "./index";
|
|
8
|
+
export default ((props)=>{
|
|
9
|
+
const { value , dataSource , dictCode , valueKey } = props, restProps = _object_without_properties(props, [
|
|
10
|
+
"value",
|
|
11
|
+
"dataSource",
|
|
12
|
+
"dictCode",
|
|
13
|
+
"valueKey"
|
|
14
|
+
]), [items] = useDistItems(dictCode, dataSource), [dictItem, setDictItem] = useState();
|
|
15
|
+
useEffect(()=>{
|
|
16
|
+
setDictItem(items.find((item)=>item[valueKey !== null && valueKey !== void 0 ? valueKey : 'code'] === value));
|
|
17
|
+
}, [
|
|
18
|
+
value,
|
|
19
|
+
valueKey,
|
|
20
|
+
items
|
|
21
|
+
]);
|
|
22
|
+
var _dictItem_name, _ref;
|
|
23
|
+
return /*#__PURE__*/ _jsx(Typography.Text, _object_spread_props(_object_spread({}, restProps), {
|
|
24
|
+
children: (_ref = (_dictItem_name = dictItem === null || dictItem === void 0 ? void 0 : dictItem.name) !== null && _dictItem_name !== void 0 ? _dictItem_name : value) !== null && _ref !== void 0 ? _ref : ''
|
|
25
|
+
}));
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\es2017\components\dictionary\text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\dictionary\\text.tsx"],"sourcesContent":["import { AppDictItem } from \"@knockout-js/api/ucenter\";\r\nimport { Typography } from \"antd\"\r\nimport { TextProps } from \"antd/es/typography/Text\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useDistItems } from \".\";\r\n\r\nexport interface DictionaryTextProps extends TextProps {\r\n /**\r\n * 值\r\n */\r\n value?: string;\r\n /**\r\n * 字典code\r\n */\r\n dictCode: string;\r\n /**\r\n * 外部提供数据源\r\n */\r\n dataSource?: AppDictItem[];\r\n /**\r\n * 默认使用code来匹配value\r\n */\r\n valueKey?: \"id\" | \"code\";\r\n}\r\n\r\n\r\nexport default (props: DictionaryTextProps) => {\r\n const { value, dataSource, dictCode, valueKey, ...restProps } = props,\r\n [items] = useDistItems(dictCode, dataSource),\r\n [dictItem, setDictItem] = useState<AppDictItem>();\r\n\r\n\r\n useEffect(() => {\r\n setDictItem(items.find(item => item[valueKey ?? 'code'] === value));\r\n }, [value, valueKey, items]);\r\n\r\n return <Typography.Text {...restProps}>\r\n {dictItem?.name ?? value ?? ''}\r\n </Typography.Text>\r\n}\r\n"],"names":["Typography","useEffect","useState","useDistItems","props","value","dataSource","dictCode","valueKey","restProps","items","dictItem","setDictItem","find","item","Text","name"],"mappings":";;;;AACA,SAASA,UAAU,QAAQ,OAAM;AAEjC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAC5C,SAASC,YAAY,QAAQ,UAAI;AAsBjC,eAAe,CAAA,CAACC,QAA+B;IAC7C,MAAM,EAAEC,MAAK,EAAEC,WAAU,EAAEC,SAAQ,EAAEC,SAAQ,EAAgB,GAAGJ,OAAdK,uCAAcL;QAAxDC;QAAOC;QAAYC;QAAUC;QACnC,CAACE,MAAM,GAAGP,aAAaI,UAAUD,aACjC,CAACK,UAAUC,YAAY,GAAGV;IAG5BD,UAAU,IAAM;QACdW,YAAYF,MAAMG,IAAI,CAACC,CAAAA,OAAQA,IAAI,CAACN,qBAAAA,sBAAAA,WAAY,MAAM,CAAC,KAAKH;IAC9D,GAAG;QAACA;QAAOG;QAAUE;KAAM;QAGxBC,gBAAAA;IADH,qBAAO,KAACX,WAAWe,IAAI,0CAAKN;kBACzBE,CAAAA,OAAAA,CAAAA,iBAAAA,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAUK,IAAI,cAAdL,4BAAAA,iBAAkBN,KAAK,cAAvBM,kBAAAA,OAA2B,EAAE;;AAElC,CAAA,EAAC"}
|
|
@@ -2,6 +2,8 @@ export { default as Provider, Context, type ProviderProps, } from './provider';
|
|
|
2
2
|
export { default as ThemeSwitch } from './theme-switch';
|
|
3
3
|
export { default as AvatarDropdown } from './avatar-dropdown';
|
|
4
4
|
export { default as KeepAlive } from './keep-alive';
|
|
5
|
+
export { default as DictText } from './dictionary/text';
|
|
6
|
+
export { default as DictSelect } from './dictionary/select';
|
|
5
7
|
export { default as TenantDropdown } from './tenant-dropdown';
|
|
6
8
|
export { default as MsgDropdown } from './msg-dropdown';
|
|
7
9
|
export { default as LeavePrompt, useLeavePrompt } from './leave-prompt';
|
|
@@ -2,6 +2,8 @@ export { default as Provider, Context } from "./provider/index";
|
|
|
2
2
|
export { default as ThemeSwitch } from "./theme-switch/index";
|
|
3
3
|
export { default as AvatarDropdown } from "./avatar-dropdown/index";
|
|
4
4
|
export { default as KeepAlive } from "./keep-alive/index";
|
|
5
|
+
export { default as DictText } from "./dictionary/text";
|
|
6
|
+
export { default as DictSelect } from "./dictionary/select";
|
|
5
7
|
export { default as TenantDropdown } from "./tenant-dropdown/index";
|
|
6
8
|
export { default as MsgDropdown } from "./msg-dropdown/index";
|
|
7
9
|
export { default as LeavePrompt, useLeavePrompt } from "./leave-prompt/index";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\index.ts"],"sourcesContent":["export { default as Provider, Context, type ProviderProps, } from './provider';\r\nexport { default as ThemeSwitch } from './theme-switch';\r\nexport { default as AvatarDropdown } from './avatar-dropdown';\r\nexport { default as KeepAlive } from './keep-alive';\r\nexport { default as TenantDropdown } from './tenant-dropdown';\r\nexport { default as MsgDropdown } from './msg-dropdown';\r\nexport { default as LeavePrompt, useLeavePrompt } from './leave-prompt';\r\nexport { default as I18nDropdown } from './i18n-dropdown';\r\nexport { default as CollectProviders } from './collect-providers';\r\nexport { LocaleType } from './provider';\r\nexport { default as Layout } from './layout';\r\nexport { default as Modal, type ModalProps } from './modal';\r\nexport { default as AggregateMenu, type AggregateMenuDataSource } from './aggregate-menu';\r\nexport { default as UploadAvatar } from './upload-file/uploadAvatar';\r\nexport { default as UploadMultiple } from './upload-file/uploadMultiple';\r\nexport { default as UploadTemp } from './upload-file/uploadTemp';\r\n\r\nexport * as util from './_util';\r\n"],"names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","TenantDropdown","MsgDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","util"],"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,mBAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,uBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,0BAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,qBAAe;AACpD,SAASL,WAAWM,cAAc,QAAQ,0BAAoB;AAC9D,
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\index.ts"],"sourcesContent":["export { default as Provider, Context, type ProviderProps, } from './provider';\r\nexport { default as ThemeSwitch } from './theme-switch';\r\nexport { default as AvatarDropdown } from './avatar-dropdown';\r\nexport { default as KeepAlive } from './keep-alive';\r\nexport { default as DictText } from './dictionary/text';\r\nexport { default as DictSelect } from './dictionary/select';\r\nexport { default as TenantDropdown } from './tenant-dropdown';\r\nexport { default as MsgDropdown } from './msg-dropdown';\r\nexport { default as LeavePrompt, useLeavePrompt } from './leave-prompt';\r\nexport { default as I18nDropdown } from './i18n-dropdown';\r\nexport { default as CollectProviders } from './collect-providers';\r\nexport { LocaleType } from './provider';\r\nexport { default as Layout } from './layout';\r\nexport { default as Modal, type ModalProps } from './modal';\r\nexport { default as AggregateMenu, type AggregateMenuDataSource } from './aggregate-menu';\r\nexport { default as UploadAvatar } from './upload-file/uploadAvatar';\r\nexport { default as UploadMultiple } from './upload-file/uploadMultiple';\r\nexport { default as UploadTemp } from './upload-file/uploadTemp';\r\n\r\nexport * as util from './_util';\r\n"],"names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","DictText","DictSelect","TenantDropdown","MsgDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","util"],"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,mBAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,uBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,0BAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,qBAAe;AACpD,SAASL,WAAWM,QAAQ,QAAQ,oBAAoB;AACxD,SAASN,WAAWO,UAAU,QAAQ,sBAAsB;AAC5D,SAASP,WAAWQ,cAAc,QAAQ,0BAAoB;AAC9D,SAASR,WAAWS,WAAW,QAAQ,uBAAiB;AACxD,SAAST,WAAWU,WAAW,EAAEC,cAAc,QAAQ,uBAAiB;AACxE,SAASX,WAAWY,YAAY,QAAQ,wBAAkB;AAC1D,SAASZ,WAAWa,gBAAgB,QAAQ,4BAAsB;AAClE,SAASC,UAAU,QAAQ,mBAAa;AACxC,SAASd,WAAWe,MAAM,QAAQ,iBAAW;AAC7C,SAASf,WAAWgB,KAAK,QAAyB,gBAAU;AAC5D,SAAShB,WAAWiB,aAAa,QAAsC,yBAAmB;AAC1F,SAASjB,WAAWkB,YAAY,QAAQ,6BAA6B;AACrE,SAASlB,WAAWmB,cAAc,QAAQ,+BAA+B;AACzE,SAASnB,WAAWoB,UAAU,QAAQ,2BAA2B;AAEjE,uBAAsB,gBAAU;AAAhC,SAAO,SAAKC,IAAI,GAAgB"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@ice/jsx-runtime/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { Moon, Sun } from "../icons/index";
|
|
4
|
+
import styles from "./index.module.css";
|
|
4
5
|
const ThemeSwitch = (props)=>{
|
|
5
|
-
return
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
6
|
+
return /*#__PURE__*/ _jsx("span", {
|
|
7
|
+
className: styles.action,
|
|
8
|
+
children: /*#__PURE__*/ _jsx("span", {
|
|
9
|
+
children: props.value ? /*#__PURE__*/ _jsx(Moon, {
|
|
10
|
+
onClick: ()=>{
|
|
11
|
+
props.onChange(false);
|
|
12
|
+
}
|
|
13
|
+
}) : /*#__PURE__*/ _jsx(Sun, {
|
|
14
|
+
onClick: ()=>{
|
|
15
|
+
props.onChange(true);
|
|
16
|
+
}
|
|
17
|
+
})
|
|
18
|
+
})
|
|
19
19
|
});
|
|
20
20
|
};
|
|
21
21
|
export default ThemeSwitch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\theme-switch\\index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Moon, Sun } from '../icons';\r\n\r\nexport interface ThemeSwitchLocale {\r\n bright: string;\r\n dark: string;\r\n}\r\n\r\nexport interface ThemeSwitchProps {\r\n /**\r\n * 值\r\n */\r\n value: boolean;\r\n /**\r\n * 值变更事件 (value: boolean) => void;\r\n */\r\n onChange: (value: boolean) => void;\r\n}\r\n\r\nconst ThemeSwitch: React.FC<ThemeSwitchProps> = (props: ThemeSwitchProps) => {\r\n return props.value ? <
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\theme-switch\\index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Moon, Sun } from '../icons';\r\nimport styles from './index.module.css';\r\n\r\nexport interface ThemeSwitchLocale {\r\n bright: string;\r\n dark: string;\r\n}\r\n\r\nexport interface ThemeSwitchProps {\r\n /**\r\n * 值\r\n */\r\n value: boolean;\r\n /**\r\n * 值变更事件 (value: boolean) => void;\r\n */\r\n onChange: (value: boolean) => void;\r\n}\r\n\r\nconst ThemeSwitch: React.FC<ThemeSwitchProps> = (props: ThemeSwitchProps) => {\r\n return <span className={styles.action}>\r\n <span>{\r\n props.value ? <Moon onClick={() => {\r\n props.onChange(false)\r\n\r\n }} /> : <Sun onClick={() => {\r\n props.onChange(true)\r\n\r\n }} />}\r\n </span>\r\n </span>\r\n};\r\n\r\nexport default ThemeSwitch;\r\n"],"names":["React","Moon","Sun","styles","ThemeSwitch","props","span","className","action","value","onClick","onChange"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,IAAI,EAAEC,GAAG,QAAQ,iBAAW;AACrC,OAAOC,YAAY,qBAAqB;AAkBxC,MAAMC,cAA0C,CAACC,QAA4B;IAC3E,qBAAO,KAACC;QAAKC,WAAWJ,OAAOK,MAAM;kBACnC,cAAA,KAACF;sBACCD,MAAMI,KAAK,iBAAG,KAACR;gBAAKS,SAAS,IAAM;oBACjCL,MAAMM,QAAQ,CAAC,KAAK;gBAEtB;+BAAQ,KAACT;gBAAIQ,SAAS,IAAM;oBAC1BL,MAAMM,QAAQ,CAAC,IAAI;gBAErB;cAAK;;;AAGX;AAEA,eAAeP,YAAY"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import _async_to_generator from "@swc/helpers/src/_async_to_generator.mjs";
|
|
2
|
+
import _sliced_to_array from "@swc/helpers/src/_sliced_to_array.mjs";
|
|
3
|
+
import _to_consumable_array from "@swc/helpers/src/_to_consumable_array.mjs";
|
|
4
|
+
import _ts_generator from "@swc/helpers/src/_ts_generator.mjs";
|
|
5
|
+
import { getDictItems } from "@knockout-js/api";
|
|
6
|
+
import { useEffect, useState } from "react";
|
|
7
|
+
var timeoutFn = undefined, isLoad = false;
|
|
8
|
+
var distData = {}, collectCode = [];
|
|
9
|
+
/**
|
|
10
|
+
* 用来处理缓存字典项列表
|
|
11
|
+
* @returns
|
|
12
|
+
*/ export var useDistItems = function(dictCode, dataSource) {
|
|
13
|
+
var _distData_dictCode;
|
|
14
|
+
var _useState = _sliced_to_array(useState((_distData_dictCode = distData[dictCode]) !== null && _distData_dictCode !== void 0 ? _distData_dictCode : []), 2), items = _useState[0], setItems = _useState[1];
|
|
15
|
+
/**
|
|
16
|
+
* 通过列表设置存储
|
|
17
|
+
* @param list
|
|
18
|
+
*/ var setDistItems = function(list) {
|
|
19
|
+
var dictCodes = _to_consumable_array(new Set(list.map(function(item) {
|
|
20
|
+
var _item_dict;
|
|
21
|
+
return (_item_dict = item.dict) === null || _item_dict === void 0 ? void 0 : _item_dict.code;
|
|
22
|
+
})));
|
|
23
|
+
dictCodes.forEach(function(code) {
|
|
24
|
+
if (code) distData[code] = list.filter(function(item) {
|
|
25
|
+
var _item_dict;
|
|
26
|
+
return ((_item_dict = item.dict) === null || _item_dict === void 0 ? void 0 : _item_dict.code) == code;
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* 刷新列表接口
|
|
32
|
+
*/ var reloadDistItems = function() {
|
|
33
|
+
var _ref = _async_to_generator(function() {
|
|
34
|
+
var result;
|
|
35
|
+
return _ts_generator(this, function(_state) {
|
|
36
|
+
switch(_state.label){
|
|
37
|
+
case 0:
|
|
38
|
+
return [
|
|
39
|
+
4,
|
|
40
|
+
getDictItems(dictCode, true)
|
|
41
|
+
];
|
|
42
|
+
case 1:
|
|
43
|
+
result = _state.sent();
|
|
44
|
+
if (result.length) setDistItems(result);
|
|
45
|
+
return [
|
|
46
|
+
2
|
|
47
|
+
];
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
return function reloadDistItems() {
|
|
52
|
+
return _ref.apply(this, arguments);
|
|
53
|
+
};
|
|
54
|
+
}();
|
|
55
|
+
useEffect(function() {
|
|
56
|
+
if (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) setDistItems(dataSource);
|
|
57
|
+
else {
|
|
58
|
+
if (!collectCode.includes(dictCode)) {
|
|
59
|
+
collectCode.push(dictCode);
|
|
60
|
+
isLoad = true;
|
|
61
|
+
}
|
|
62
|
+
if (isLoad) {
|
|
63
|
+
clearTimeout(timeoutFn);
|
|
64
|
+
timeoutFn = setTimeout(function() {
|
|
65
|
+
getDictItems(collectCode).then(function(result) {
|
|
66
|
+
if (result.length) setDistItems(result);
|
|
67
|
+
isLoad = false;
|
|
68
|
+
});
|
|
69
|
+
}, 100);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}, [
|
|
73
|
+
dictCode,
|
|
74
|
+
dataSource
|
|
75
|
+
]);
|
|
76
|
+
useEffect(function() {
|
|
77
|
+
var _distData_dictCode;
|
|
78
|
+
var _distData_dictCode_filter;
|
|
79
|
+
setItems((_distData_dictCode_filter = (_distData_dictCode = distData[dictCode]) === null || _distData_dictCode === void 0 ? void 0 : _distData_dictCode.filter(function(item) {
|
|
80
|
+
var _item_dict;
|
|
81
|
+
return ((_item_dict = item.dict) === null || _item_dict === void 0 ? void 0 : _item_dict.code) === dictCode;
|
|
82
|
+
})) !== null && _distData_dictCode_filter !== void 0 ? _distData_dictCode_filter : []);
|
|
83
|
+
}, [
|
|
84
|
+
distData[dictCode]
|
|
85
|
+
]);
|
|
86
|
+
return [
|
|
87
|
+
items,
|
|
88
|
+
reloadDistItems
|
|
89
|
+
];
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
//# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\esm\components\dictionary\index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\dictionary\\index.ts"],"sourcesContent":["import { getDictItems } from \"@knockout-js/api\";\r\nimport { AppDictItem } from \"@knockout-js/api/ucenter\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nlet timeoutFn: NodeJS.Timeout | undefined = undefined, isLoad = false;\r\nconst distData: Record<string, AppDictItem[] | undefined> = {},\r\n collectCode: string[] = [];\r\n\r\n/**\r\n * 用来处理缓存字典项列表\r\n * @returns\r\n */\r\nexport const useDistItems = (dictCode: string, dataSource?: AppDictItem[]): [AppDictItem[], () => Promise<void>] => {\r\n\r\n const [items, setItems] = useState<AppDictItem[]>(distData[dictCode] ?? []);\r\n\r\n /**\r\n * 通过列表设置存储\r\n * @param list\r\n */\r\n const setDistItems = (list: AppDictItem[]) => {\r\n const dictCodes = [...new Set(list.map(item => item.dict?.code))];\r\n dictCodes.forEach(code => {\r\n if (code) {\r\n distData[code] = list.filter(item => item.dict?.code == code);\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 刷新列表接口\r\n */\r\n const reloadDistItems = async () => {\r\n const result = await getDictItems(dictCode, true);\r\n if (result.length) {\r\n setDistItems(result);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (dataSource?.length) {\r\n setDistItems(dataSource);\r\n } else {\r\n if (!collectCode.includes(dictCode)) {\r\n collectCode.push(dictCode);\r\n isLoad = true;\r\n }\r\n if (isLoad) {\r\n clearTimeout(timeoutFn)\r\n timeoutFn = setTimeout(() => {\r\n getDictItems(collectCode).then(result => {\r\n if (result.length) {\r\n setDistItems(result);\r\n }\r\n isLoad = false;\r\n });\r\n }, 100);\r\n }\r\n }\r\n }, [dictCode, dataSource]);\r\n\r\n useEffect(() => {\r\n setItems(distData[dictCode]?.filter(item => item.dict?.code === dictCode) ?? [])\r\n }, [distData[dictCode]])\r\n\r\n\r\n return [items, reloadDistItems];\r\n}\r\n"],"names":["getDictItems","useEffect","useState","timeoutFn","undefined","isLoad","distData","collectCode","useDistItems","dictCode","dataSource","items","setItems","setDistItems","list","dictCodes","Set","map","item","dict","code","forEach","filter","reloadDistItems","result","length","includes","push","clearTimeout","setTimeout","then"],"mappings":";;;;AAAA,SAASA,YAAY,QAAQ,mBAAmB;AAEhD,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAE5C,IAAIC,YAAwCC,WAAWC,SAAS,KAAK;AACrE,IAAMC,WAAsD,CAAC,GAC3DC,cAAwB,EAAE;AAE5B;;;CAGC,GACD,OAAO,IAAMC,eAAe,SAACC,UAAkBC,YAAqE;QAEhEJ;IAAlD,IAA0BJ,6BAAAA,SAAwBI,CAAAA,qBAAAA,QAAQ,CAACG,SAAS,cAAlBH,gCAAAA,qBAAsB,EAAE,OAAnEK,QAAmBT,cAAZU,WAAYV;IAE1B;;;GAGC,GACD,IAAMW,eAAe,SAACC,MAAwB;QAC5C,IAAMC,YAAa,qBAAG,IAAIC,IAAIF,KAAKG,GAAG,CAACC,SAAAA;gBAAQA;YAAAA,OAAAA,CAAAA,aAAAA,KAAKC,IAAI,cAATD,wBAAAA,KAAAA,IAAAA,WAAWE,IAAI;;QAC9DL,UAAUM,OAAO,CAACD,SAAAA,MAAQ;YACxB,IAAIA,MACFd,QAAQ,CAACc,KAAK,GAAGN,KAAKQ,MAAM,CAACJ,SAAAA;oBAAQA;gBAAAA,OAAAA,CAAAA,CAAAA,aAAAA,KAAKC,IAAI,cAATD,wBAAAA,KAAAA,IAAAA,WAAWE,IAAI,AAAD,KAAKA;;QAE5D;IACF;IAEA;;GAEC,GACD,IAAMG;mBAAkB,oBAAA,WAAY;gBAC5BC;;;;wBAAS;;4BAAMxB,aAAaS,UAAU,IAAI;;;wBAA1Ce,SAAS;wBACf,IAAIA,OAAOC,MAAM,EACfZ,aAAaW;;;;;;QAEjB;wBALMD;;;;IAONtB,UAAU,WAAM;QACd,IAAIS,uBAAAA,wBAAAA,KAAAA,IAAAA,WAAYe,MAAM,EACpBZ,aAAaH;aACR;YACL,IAAI,CAACH,YAAYmB,QAAQ,CAACjB,WAAW;gBACnCF,YAAYoB,IAAI,CAAClB;gBACjBJ,SAAS,IAAI;YACf,CAAC;YACD,IAAIA,QAAQ;gBACVuB,aAAazB;gBACbA,YAAY0B,WAAW,WAAM;oBAC3B7B,aAAaO,aAAauB,IAAI,CAACN,SAAAA,QAAU;wBACvC,IAAIA,OAAOC,MAAM,EACfZ,aAAaW;wBAEfnB,SAAS,KAAK;oBAChB;gBACF,GAAG;YACL,CAAC;QACH,CAAC;IACH,GAAG;QAACI;QAAUC;KAAW;IAEzBT,UAAU,WAAM;YACLK;YAAAA;QAATM,SAASN,CAAAA,4BAAAA,CAAAA,qBAAAA,QAAQ,CAACG,SAAS,cAAlBH,gCAAAA,KAAAA,IAAAA,mBAAoBgB,OAAOJ,SAAAA;gBAAQA;YAAAA,OAAAA,CAAAA,CAAAA,aAAAA,KAAKC,IAAI,cAATD,wBAAAA,KAAAA,IAAAA,WAAWE,IAAI,AAAD,MAAMX;wBAAvDH,uCAAAA,4BAAoE,EAAE;IACjF,GAAG;QAACA,QAAQ,CAACG,SAAS;KAAC;IAGvB,OAAO;QAACE;QAAOY;KAAgB;AACjC,EAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { AppDictItem } from "@knockout-js/api/ucenter";
|
|
3
|
+
import { SelectProps } from "antd";
|
|
4
|
+
export interface DictionarySelectProps extends SelectProps {
|
|
5
|
+
/**
|
|
6
|
+
* 字典code
|
|
7
|
+
*/
|
|
8
|
+
dictCode: string;
|
|
9
|
+
/**
|
|
10
|
+
* 外部提供数据源
|
|
11
|
+
*/
|
|
12
|
+
dataSource?: AppDictItem[];
|
|
13
|
+
/**
|
|
14
|
+
* changeValue=id: onChange的第一个参数值就为code
|
|
15
|
+
*/
|
|
16
|
+
changeValue?: "id" | "code";
|
|
17
|
+
}
|
|
18
|
+
declare const _default: (props: DictionarySelectProps) => JSX.Element;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import _async_to_generator from "@swc/helpers/src/_async_to_generator.mjs";
|
|
2
|
+
import _object_spread from "@swc/helpers/src/_object_spread.mjs";
|
|
3
|
+
import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
|
|
4
|
+
import _object_without_properties from "@swc/helpers/src/_object_without_properties.mjs";
|
|
5
|
+
import _sliced_to_array from "@swc/helpers/src/_sliced_to_array.mjs";
|
|
6
|
+
import _ts_generator from "@swc/helpers/src/_ts_generator.mjs";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ice/jsx-runtime/jsx-runtime";
|
|
8
|
+
import { ReloadOutlined } from "@ant-design/icons";
|
|
9
|
+
import { Select } from "antd";
|
|
10
|
+
import { useEffect, useState } from "react";
|
|
11
|
+
import styles from "./index.module.css";
|
|
12
|
+
import { useDistItems } from "./index";
|
|
13
|
+
export default function(props) {
|
|
14
|
+
var dictCode = props.dictCode, dataSource = props.dataSource, changeValue = props.changeValue, restProps = _object_without_properties(props, [
|
|
15
|
+
"dictCode",
|
|
16
|
+
"dataSource",
|
|
17
|
+
"changeValue"
|
|
18
|
+
]), _useDistItems = _sliced_to_array(useDistItems(dictCode, dataSource), 2), items = _useDistItems[0], itemsReload = _useDistItems[1], _useState = _sliced_to_array(useState(false), 2), loading = _useState[0], setLoading = _useState[1], _useState1 = _sliced_to_array(useState([]), 2), options = _useState1[0], setOptions = _useState1[1];
|
|
19
|
+
useEffect(function() {
|
|
20
|
+
setOptions(items.map(function(item) {
|
|
21
|
+
return {
|
|
22
|
+
label: item.name,
|
|
23
|
+
value: item[changeValue !== null && changeValue !== void 0 ? changeValue : "code"],
|
|
24
|
+
data: item
|
|
25
|
+
};
|
|
26
|
+
}));
|
|
27
|
+
}, [
|
|
28
|
+
items
|
|
29
|
+
]);
|
|
30
|
+
return /*#__PURE__*/ _jsx(Select, _object_spread_props(_object_spread({
|
|
31
|
+
style: {
|
|
32
|
+
width: "100%"
|
|
33
|
+
}
|
|
34
|
+
}, restProps), {
|
|
35
|
+
loading: loading,
|
|
36
|
+
options: options,
|
|
37
|
+
dropdownRender: function(menu) {
|
|
38
|
+
return /*#__PURE__*/ _jsxs(_Fragment, {
|
|
39
|
+
children: [
|
|
40
|
+
menu,
|
|
41
|
+
/*#__PURE__*/ _jsx("div", {
|
|
42
|
+
className: styles.selectActions,
|
|
43
|
+
children: /*#__PURE__*/ _jsx(ReloadOutlined, {
|
|
44
|
+
rev: undefined,
|
|
45
|
+
onClick: /*#__PURE__*/ _async_to_generator(function() {
|
|
46
|
+
return _ts_generator(this, function(_state) {
|
|
47
|
+
switch(_state.label){
|
|
48
|
+
case 0:
|
|
49
|
+
setLoading(true);
|
|
50
|
+
return [
|
|
51
|
+
4,
|
|
52
|
+
itemsReload()
|
|
53
|
+
];
|
|
54
|
+
case 1:
|
|
55
|
+
_state.sent();
|
|
56
|
+
setLoading(false);
|
|
57
|
+
return [
|
|
58
|
+
2
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
})
|
|
65
|
+
]
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}));
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\esm\components\dictionary\select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\dictionary\\select.tsx"],"sourcesContent":["import { ReloadOutlined } from \"@ant-design/icons\";\r\nimport { AppDictItem } from \"@knockout-js/api/ucenter\";\r\nimport { Select, SelectProps } from \"antd\";\r\nimport { useEffect, useState } from \"react\";\r\nimport styles from \"./index.module.css\";\r\nimport { useDistItems } from \".\";\r\n\r\nexport interface DictionarySelectProps extends SelectProps {\r\n /**\r\n * 字典code\r\n */\r\n dictCode: string;\r\n /**\r\n * 外部提供数据源\r\n */\r\n dataSource?: AppDictItem[];\r\n /**\r\n * changeValue=id: onChange的第一个参数值就为code\r\n */\r\n changeValue?: \"id\" | \"code\";\r\n}\r\n\r\ntype DictionarySelectOption = {\r\n label: string;\r\n value: string;\r\n data: AppDictItem;\r\n}\r\n\r\nexport default (props: DictionarySelectProps) => {\r\n const { dictCode, dataSource, changeValue, ...restProps } = props,\r\n [items, itemsReload] = useDistItems(dictCode, dataSource),\r\n [loading, setLoading] = useState(false),\r\n [options, setOptions] = useState<DictionarySelectOption[]>([]);\r\n\r\n useEffect(() => {\r\n setOptions(items\r\n .map(item => ({\r\n label: item.name,\r\n value: item[changeValue ?? 'code'],\r\n data: item,\r\n }))\r\n );\r\n }, [items])\r\n\r\n return <Select\r\n style={{ width: '100%' }}\r\n {...restProps}\r\n loading={loading}\r\n options={options}\r\n dropdownRender={(menu) => <>\r\n {menu}\r\n <div className={styles.selectActions}>\r\n <ReloadOutlined rev={undefined} onClick={async () => {\r\n setLoading(true);\r\n await itemsReload();\r\n setLoading(false);\r\n }} />\r\n </div>\r\n </>\r\n }\r\n />\r\n}\r\n"],"names":["ReloadOutlined","Select","useEffect","useState","styles","useDistItems","props","dictCode","dataSource","changeValue","restProps","items","itemsReload","loading","setLoading","options","setOptions","map","item","label","name","value","data","style","width","dropdownRender","menu","div","className","selectActions","rev","undefined","onClick"],"mappings":";;;;;;;AAAA,SAASA,cAAc,QAAQ,oBAAoB;AAEnD,SAASC,MAAM,QAAqB,OAAO;AAC3C,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAC5C,OAAOC,YAAY,qBAAqB;AACxC,SAASC,YAAY,QAAQ,UAAI;AAuBjC,eAAe,SAACC,OAAiC;IAC/C,IAAQC,WAAoDD,MAApDC,UAAUC,aAA0CF,MAA1CE,YAAYC,cAA8BH,MAA9BG,aAAgBC,uCAAcJ;QAApDC;QAAUC;QAAYC;QACLJ,iCAAAA,aAAaE,UAAUC,iBAA7CG,QAAsBN,kBAAfO,cAAeP,kBACCF,6BAAAA,SAAS,KAAK,OAArCU,UAAuBV,cAAdW,aAAcX,cACAA,8BAAAA,SAAmC,EAAE,OAA5DY,UAAuBZ,eAAda,aAAcb;IAE1BD,UAAU,WAAM;QACdc,WAAWL,MACRM,GAAG,CAACC,SAAAA;mBAAS;gBACZC,OAAOD,KAAKE,IAAI;gBAChBC,OAAOH,IAAI,CAACT,wBAAAA,yBAAAA,cAAe,MAAM,CAAC;gBAClCa,MAAMJ;YACR;;IAEJ,GAAG;QAACP;KAAM;IAEV,qBAAO,KAACV;QACNsB,OAAO;YAAEC,OAAO;QAAO;OACnBd;QACJG,SAASA;QACTE,SAASA;QACTU,gBAAgB,SAACC;iCAAS;;oBACvBA;kCACD,KAACC;wBAAIC,WAAWxB,OAAOyB,aAAa;kCAClC,cAAA,KAAC7B;4BAAe8B,KAAKC;4BAAWC,uBAAS,oBAAA,WAAY;;;;4CACnDlB,WAAW,IAAI;4CACf;;gDAAMF;;;4CAAN;4CACAE,WAAW,KAAK;;;;;;4BAClB;;;;;;;AAKR,EAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { AppDictItem } from "@knockout-js/api/ucenter";
|
|
3
|
+
import { TextProps } from "antd/es/typography/Text";
|
|
4
|
+
export interface DictionaryTextProps extends TextProps {
|
|
5
|
+
/**
|
|
6
|
+
* 值
|
|
7
|
+
*/
|
|
8
|
+
value?: string;
|
|
9
|
+
/**
|
|
10
|
+
* 字典code
|
|
11
|
+
*/
|
|
12
|
+
dictCode: string;
|
|
13
|
+
/**
|
|
14
|
+
* 外部提供数据源
|
|
15
|
+
*/
|
|
16
|
+
dataSource?: AppDictItem[];
|
|
17
|
+
/**
|
|
18
|
+
* 默认使用code来匹配value
|
|
19
|
+
*/
|
|
20
|
+
valueKey?: "id" | "code";
|
|
21
|
+
}
|
|
22
|
+
declare const _default: (props: DictionaryTextProps) => JSX.Element;
|
|
23
|
+
export default _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import _object_spread from "@swc/helpers/src/_object_spread.mjs";
|
|
2
|
+
import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
|
|
3
|
+
import _object_without_properties from "@swc/helpers/src/_object_without_properties.mjs";
|
|
4
|
+
import _sliced_to_array from "@swc/helpers/src/_sliced_to_array.mjs";
|
|
5
|
+
import { jsx as _jsx } from "@ice/jsx-runtime/jsx-runtime";
|
|
6
|
+
import { Typography } from "antd";
|
|
7
|
+
import { useEffect, useState } from "react";
|
|
8
|
+
import { useDistItems } from "./index";
|
|
9
|
+
export default function(props) {
|
|
10
|
+
var value = props.value, dataSource = props.dataSource, dictCode = props.dictCode, valueKey = props.valueKey, restProps = _object_without_properties(props, [
|
|
11
|
+
"value",
|
|
12
|
+
"dataSource",
|
|
13
|
+
"dictCode",
|
|
14
|
+
"valueKey"
|
|
15
|
+
]), _useDistItems = _sliced_to_array(useDistItems(dictCode, dataSource), 1), items = _useDistItems[0], _useState = _sliced_to_array(useState(), 2), dictItem = _useState[0], setDictItem = _useState[1];
|
|
16
|
+
useEffect(function() {
|
|
17
|
+
setDictItem(items.find(function(item) {
|
|
18
|
+
return item[valueKey !== null && valueKey !== void 0 ? valueKey : "code"] === value;
|
|
19
|
+
}));
|
|
20
|
+
}, [
|
|
21
|
+
value,
|
|
22
|
+
valueKey,
|
|
23
|
+
items
|
|
24
|
+
]);
|
|
25
|
+
var _dictItem_name, _ref;
|
|
26
|
+
return /*#__PURE__*/ _jsx(Typography.Text, _object_spread_props(_object_spread({}, restProps), {
|
|
27
|
+
children: (_ref = (_dictItem_name = dictItem === null || dictItem === void 0 ? void 0 : dictItem.name) !== null && _dictItem_name !== void 0 ? _dictItem_name : value) !== null && _ref !== void 0 ? _ref : ""
|
|
28
|
+
}));
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=D:\codeing\git\github\knockout-js\packages\layout\esm\components\dictionary\text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\dictionary\\text.tsx"],"sourcesContent":["import { AppDictItem } from \"@knockout-js/api/ucenter\";\r\nimport { Typography } from \"antd\"\r\nimport { TextProps } from \"antd/es/typography/Text\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useDistItems } from \".\";\r\n\r\nexport interface DictionaryTextProps extends TextProps {\r\n /**\r\n * 值\r\n */\r\n value?: string;\r\n /**\r\n * 字典code\r\n */\r\n dictCode: string;\r\n /**\r\n * 外部提供数据源\r\n */\r\n dataSource?: AppDictItem[];\r\n /**\r\n * 默认使用code来匹配value\r\n */\r\n valueKey?: \"id\" | \"code\";\r\n}\r\n\r\n\r\nexport default (props: DictionaryTextProps) => {\r\n const { value, dataSource, dictCode, valueKey, ...restProps } = props,\r\n [items] = useDistItems(dictCode, dataSource),\r\n [dictItem, setDictItem] = useState<AppDictItem>();\r\n\r\n\r\n useEffect(() => {\r\n setDictItem(items.find(item => item[valueKey ?? 'code'] === value));\r\n }, [value, valueKey, items]);\r\n\r\n return <Typography.Text {...restProps}>\r\n {dictItem?.name ?? value ?? ''}\r\n </Typography.Text>\r\n}\r\n"],"names":["Typography","useEffect","useState","useDistItems","props","value","dataSource","dictCode","valueKey","restProps","items","dictItem","setDictItem","find","item","Text","name"],"mappings":";;;;;AACA,SAASA,UAAU,QAAQ,OAAM;AAEjC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAC5C,SAASC,YAAY,QAAQ,UAAI;AAsBjC,eAAe,SAACC,OAA+B;IAC7C,IAAQC,QAAwDD,MAAxDC,OAAOC,aAAiDF,MAAjDE,YAAYC,WAAqCH,MAArCG,UAAUC,WAA2BJ,MAA3BI,UAAaC,uCAAcL;QAAxDC;QAAOC;QAAYC;QAAUC;QACzBL,iCAAAA,aAAaI,UAAUD,iBAAhCI,QAASP,kBACgBD,6BAAAA,gBAAzBS,WAAyBT,cAAfU,cAAeV;IAG5BD,UAAU,WAAM;QACdW,YAAYF,MAAMG,IAAI,CAACC,SAAAA;mBAAQA,IAAI,CAACN,qBAAAA,sBAAAA,WAAY,MAAM,CAAC,KAAKH;;IAC9D,GAAG;QAACA;QAAOG;QAAUE;KAAM;QAGxBC,gBAAAA;IADH,qBAAO,KAACX,WAAWe,IAAI,0CAAKN;kBACzBE,CAAAA,OAAAA,CAAAA,iBAAAA,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAUK,IAAI,cAAdL,4BAAAA,iBAAkBN,KAAK,cAAvBM,kBAAAA,OAA2B,EAAE;;AAElC,EAAC"}
|
|
@@ -2,6 +2,8 @@ export { default as Provider, Context, type ProviderProps, } from './provider';
|
|
|
2
2
|
export { default as ThemeSwitch } from './theme-switch';
|
|
3
3
|
export { default as AvatarDropdown } from './avatar-dropdown';
|
|
4
4
|
export { default as KeepAlive } from './keep-alive';
|
|
5
|
+
export { default as DictText } from './dictionary/text';
|
|
6
|
+
export { default as DictSelect } from './dictionary/select';
|
|
5
7
|
export { default as TenantDropdown } from './tenant-dropdown';
|
|
6
8
|
export { default as MsgDropdown } from './msg-dropdown';
|
|
7
9
|
export { default as LeavePrompt, useLeavePrompt } from './leave-prompt';
|
package/esm/components/index.js
CHANGED
|
@@ -2,6 +2,8 @@ export { default as Provider, Context } from "./provider/index";
|
|
|
2
2
|
export { default as ThemeSwitch } from "./theme-switch/index";
|
|
3
3
|
export { default as AvatarDropdown } from "./avatar-dropdown/index";
|
|
4
4
|
export { default as KeepAlive } from "./keep-alive/index";
|
|
5
|
+
export { default as DictText } from "./dictionary/text";
|
|
6
|
+
export { default as DictSelect } from "./dictionary/select";
|
|
5
7
|
export { default as TenantDropdown } from "./tenant-dropdown/index";
|
|
6
8
|
export { default as MsgDropdown } from "./msg-dropdown/index";
|
|
7
9
|
export { default as LeavePrompt, useLeavePrompt } from "./leave-prompt/index";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\index.ts"],"sourcesContent":["export { default as Provider, Context, type ProviderProps, } from './provider';\r\nexport { default as ThemeSwitch } from './theme-switch';\r\nexport { default as AvatarDropdown } from './avatar-dropdown';\r\nexport { default as KeepAlive } from './keep-alive';\r\nexport { default as TenantDropdown } from './tenant-dropdown';\r\nexport { default as MsgDropdown } from './msg-dropdown';\r\nexport { default as LeavePrompt, useLeavePrompt } from './leave-prompt';\r\nexport { default as I18nDropdown } from './i18n-dropdown';\r\nexport { default as CollectProviders } from './collect-providers';\r\nexport { LocaleType } from './provider';\r\nexport { default as Layout } from './layout';\r\nexport { default as Modal, type ModalProps } from './modal';\r\nexport { default as AggregateMenu, type AggregateMenuDataSource } from './aggregate-menu';\r\nexport { default as UploadAvatar } from './upload-file/uploadAvatar';\r\nexport { default as UploadMultiple } from './upload-file/uploadMultiple';\r\nexport { default as UploadTemp } from './upload-file/uploadTemp';\r\n\r\nexport * as util from './_util';\r\n"],"names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","TenantDropdown","MsgDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","util"],"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,mBAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,uBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,0BAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,qBAAe;AACpD,SAASL,WAAWM,cAAc,QAAQ,0BAAoB;AAC9D,
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\index.ts"],"sourcesContent":["export { default as Provider, Context, type ProviderProps, } from './provider';\r\nexport { default as ThemeSwitch } from './theme-switch';\r\nexport { default as AvatarDropdown } from './avatar-dropdown';\r\nexport { default as KeepAlive } from './keep-alive';\r\nexport { default as DictText } from './dictionary/text';\r\nexport { default as DictSelect } from './dictionary/select';\r\nexport { default as TenantDropdown } from './tenant-dropdown';\r\nexport { default as MsgDropdown } from './msg-dropdown';\r\nexport { default as LeavePrompt, useLeavePrompt } from './leave-prompt';\r\nexport { default as I18nDropdown } from './i18n-dropdown';\r\nexport { default as CollectProviders } from './collect-providers';\r\nexport { LocaleType } from './provider';\r\nexport { default as Layout } from './layout';\r\nexport { default as Modal, type ModalProps } from './modal';\r\nexport { default as AggregateMenu, type AggregateMenuDataSource } from './aggregate-menu';\r\nexport { default as UploadAvatar } from './upload-file/uploadAvatar';\r\nexport { default as UploadMultiple } from './upload-file/uploadMultiple';\r\nexport { default as UploadTemp } from './upload-file/uploadTemp';\r\n\r\nexport * as util from './_util';\r\n"],"names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","DictText","DictSelect","TenantDropdown","MsgDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","util"],"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,mBAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,uBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,0BAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,qBAAe;AACpD,SAASL,WAAWM,QAAQ,QAAQ,oBAAoB;AACxD,SAASN,WAAWO,UAAU,QAAQ,sBAAsB;AAC5D,SAASP,WAAWQ,cAAc,QAAQ,0BAAoB;AAC9D,SAASR,WAAWS,WAAW,QAAQ,uBAAiB;AACxD,SAAST,WAAWU,WAAW,EAAEC,cAAc,QAAQ,uBAAiB;AACxE,SAASX,WAAWY,YAAY,QAAQ,wBAAkB;AAC1D,SAASZ,WAAWa,gBAAgB,QAAQ,4BAAsB;AAClE,SAASC,UAAU,QAAQ,mBAAa;AACxC,SAASd,WAAWe,MAAM,QAAQ,iBAAW;AAC7C,SAASf,WAAWgB,KAAK,QAAyB,gBAAU;AAC5D,SAAShB,WAAWiB,aAAa,QAAsC,yBAAmB;AAC1F,SAASjB,WAAWkB,YAAY,QAAQ,6BAA6B;AACrE,SAASlB,WAAWmB,cAAc,QAAQ,+BAA+B;AACzE,SAASnB,WAAWoB,UAAU,QAAQ,2BAA2B;AAEjE,uBAAsB,gBAAU;AAAhC,SAAO,SAAKC,IAAI,GAAgB"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@ice/jsx-runtime/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { Moon, Sun } from "../icons/index";
|
|
4
|
+
import styles from "./index.module.css";
|
|
4
5
|
var ThemeSwitch = function(props) {
|
|
5
|
-
return
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
6
|
+
return /*#__PURE__*/ _jsx("span", {
|
|
7
|
+
className: styles.action,
|
|
8
|
+
children: /*#__PURE__*/ _jsx("span", {
|
|
9
|
+
children: props.value ? /*#__PURE__*/ _jsx(Moon, {
|
|
10
|
+
onClick: function() {
|
|
11
|
+
props.onChange(false);
|
|
12
|
+
}
|
|
13
|
+
}) : /*#__PURE__*/ _jsx(Sun, {
|
|
14
|
+
onClick: function() {
|
|
15
|
+
props.onChange(true);
|
|
16
|
+
}
|
|
17
|
+
})
|
|
18
|
+
})
|
|
19
19
|
});
|
|
20
20
|
};
|
|
21
21
|
export default ThemeSwitch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\theme-switch\\index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Moon, Sun } from '../icons';\r\n\r\nexport interface ThemeSwitchLocale {\r\n bright: string;\r\n dark: string;\r\n}\r\n\r\nexport interface ThemeSwitchProps {\r\n /**\r\n * 值\r\n */\r\n value: boolean;\r\n /**\r\n * 值变更事件 (value: boolean) => void;\r\n */\r\n onChange: (value: boolean) => void;\r\n}\r\n\r\nconst ThemeSwitch: React.FC<ThemeSwitchProps> = (props: ThemeSwitchProps) => {\r\n return props.value ? <
|
|
1
|
+
{"version":3,"sources":["D:\\codeing\\git\\github\\knockout-js\\packages\\layout\\src\\components\\theme-switch\\index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Moon, Sun } from '../icons';\r\nimport styles from './index.module.css';\r\n\r\nexport interface ThemeSwitchLocale {\r\n bright: string;\r\n dark: string;\r\n}\r\n\r\nexport interface ThemeSwitchProps {\r\n /**\r\n * 值\r\n */\r\n value: boolean;\r\n /**\r\n * 值变更事件 (value: boolean) => void;\r\n */\r\n onChange: (value: boolean) => void;\r\n}\r\n\r\nconst ThemeSwitch: React.FC<ThemeSwitchProps> = (props: ThemeSwitchProps) => {\r\n return <span className={styles.action}>\r\n <span>{\r\n props.value ? <Moon onClick={() => {\r\n props.onChange(false)\r\n\r\n }} /> : <Sun onClick={() => {\r\n props.onChange(true)\r\n\r\n }} />}\r\n </span>\r\n </span>\r\n};\r\n\r\nexport default ThemeSwitch;\r\n"],"names":["React","Moon","Sun","styles","ThemeSwitch","props","span","className","action","value","onClick","onChange"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,IAAI,EAAEC,GAAG,QAAQ,iBAAW;AACrC,OAAOC,YAAY,qBAAqB;AAkBxC,IAAMC,cAA0C,SAACC,OAA4B;IAC3E,qBAAO,KAACC;QAAKC,WAAWJ,OAAOK,MAAM;kBACnC,cAAA,KAACF;sBACCD,MAAMI,KAAK,iBAAG,KAACR;gBAAKS,SAAS,WAAM;oBACjCL,MAAMM,QAAQ,CAAC,KAAK;gBAEtB;+BAAQ,KAACT;gBAAIQ,SAAS,WAAM;oBAC1BL,MAAMM,QAAQ,CAAC,IAAI;gBAErB;cAAK;;;AAGX;AAEA,eAAeP,YAAY"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knockout-js/layout",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "组件功能描述",
|
|
5
5
|
"files": [
|
|
6
6
|
"esm",
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"dayjs": "^1.11.9",
|
|
51
51
|
"react-activation": "^0.12.4",
|
|
52
52
|
"react-draggable": "^4.4.5",
|
|
53
|
-
"@knockout-js/api": "^0.1.
|
|
54
|
-
"@knockout-js/ice-urql": "^0.1.
|
|
53
|
+
"@knockout-js/api": "^0.1.2",
|
|
54
|
+
"@knockout-js/ice-urql": "^0.1.2"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@ice/pkg": "^1.5.0",
|