x-star-design 0.0.78 → 0.0.79
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/dist/index.d.ts +5 -0
- package/dist/index.js +3 -0
- package/dist/locale-address-cascader/define.d.ts +25 -0
- package/dist/locale-address-cascader/define.js +113 -0
- package/dist/locale-address-cascader/index.d.ts +4 -0
- package/dist/locale-address-cascader/index.js +48 -0
- package/dist/locale-address-cascader/usa-map.json +3393 -0
- package/dist/locales/en_US.d.ts +5 -0
- package/dist/locales/en_US.js +5 -0
- package/dist/locales/index.d.ts +11 -1
- package/dist/locales/zh_CN.d.ts +5 -0
- package/dist/locales/zh_CN.js +5 -0
- package/dist/micro-app/index.d.ts +1 -2
- package/dist/school-input/define.d.ts +26 -0
- package/dist/school-input/define.js +1 -0
- package/dist/school-input/index.d.ts +12 -0
- package/dist/school-input/index.js +149 -0
- package/dist/score-report/define.d.ts +2 -1
- package/dist/score-report/index.js +7 -4
- package/dist/study-status-cascader/index.js +4 -2
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -26,12 +26,17 @@ export { default as InputNumbers } from './input-numbers';
|
|
|
26
26
|
export type { InputNumbersProps } from './input-numbers';
|
|
27
27
|
export { default as LoadingMask } from './loading-mask';
|
|
28
28
|
export type { LoadingMaskProps } from './loading-mask';
|
|
29
|
+
export { default as LocaleAddressCascader } from './locale-address-cascader';
|
|
30
|
+
export { CHINA_MAP, USA_MAP, getCodesFromLabels, getLabelsFromCodes, } from './locale-address-cascader/define';
|
|
31
|
+
export type { LocaleAddressCascaderProps } from './locale-address-cascader/define';
|
|
29
32
|
export { LocaleProvider } from './locales';
|
|
30
33
|
export type { LocaleProviderProps } from './locales';
|
|
31
34
|
export { default as MicroApp } from './micro-app';
|
|
32
35
|
export type { MicroAppProps } from './micro-app';
|
|
33
36
|
export { default as RainbowCat } from './rainbow-cat';
|
|
34
37
|
export type { RainbowCatProps } from './rainbow-cat';
|
|
38
|
+
export { default as SchoolInput } from './school-input';
|
|
39
|
+
export type { SchoolData, SchoolInputProps, SchoolItem, } from './school-input/define';
|
|
35
40
|
export { default as ScoreReport } from './score-report';
|
|
36
41
|
export type { ScoreMessage, ScoreReportDetail, ScoreReportProps, ScoreType, } from './score-report/define';
|
|
37
42
|
export { default as SortTable } from './sort-table';
|
package/dist/index.js
CHANGED
|
@@ -13,9 +13,12 @@ export { default as ErrorBoundary } from "./error-boundary";
|
|
|
13
13
|
export { default as Feedback } from "./feedback";
|
|
14
14
|
export { default as InputNumbers } from "./input-numbers";
|
|
15
15
|
export { default as LoadingMask } from "./loading-mask";
|
|
16
|
+
export { default as LocaleAddressCascader } from "./locale-address-cascader";
|
|
17
|
+
export { CHINA_MAP, USA_MAP, getCodesFromLabels, getLabelsFromCodes } from "./locale-address-cascader/define";
|
|
16
18
|
export { LocaleProvider } from "./locales";
|
|
17
19
|
export { default as MicroApp } from "./micro-app";
|
|
18
20
|
export { default as RainbowCat } from "./rainbow-cat";
|
|
21
|
+
export { default as SchoolInput } from "./school-input";
|
|
19
22
|
export { default as ScoreReport } from "./score-report";
|
|
20
23
|
export { default as SortTable } from "./sort-table";
|
|
21
24
|
export { default as StatusTag } from "./status-tag";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { TenantName } from '../tenant-provider';
|
|
2
|
+
export interface LocaleAddressCascaderProps {
|
|
3
|
+
tenant?: TenantName;
|
|
4
|
+
value?: string[];
|
|
5
|
+
onChange?: (value: string[]) => void;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
allowClear?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface OptionType {
|
|
10
|
+
code: string;
|
|
11
|
+
name: string;
|
|
12
|
+
children?: OptionType[];
|
|
13
|
+
}
|
|
14
|
+
export declare const CHINA_MAP: OptionType[];
|
|
15
|
+
export declare const USA_MAP: OptionType[];
|
|
16
|
+
/**
|
|
17
|
+
* 将code装为label
|
|
18
|
+
* @param codes
|
|
19
|
+
*/
|
|
20
|
+
export declare const getLabelsFromCodes: (codes: string[], tenantName?: TenantName) => string[];
|
|
21
|
+
/**
|
|
22
|
+
* 将label转为code
|
|
23
|
+
* @param labels
|
|
24
|
+
*/
|
|
25
|
+
export declare const getCodesFromLabels: (labels: string[], tenantName?: TenantName) => string[];
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import ChinaMapData from 'province-city-china/dist/level.json';
|
|
3
|
+
import USAMapData from "./usa-map.json";
|
|
4
|
+
var OTHER_AREA = [{
|
|
5
|
+
children: [],
|
|
6
|
+
code: '其他',
|
|
7
|
+
name: '其他'
|
|
8
|
+
}];
|
|
9
|
+
var OTHER_AREA_USA = [{
|
|
10
|
+
children: [],
|
|
11
|
+
code: 'Other',
|
|
12
|
+
name: 'Other'
|
|
13
|
+
}];
|
|
14
|
+
var otherProvinces = {
|
|
15
|
+
香港: '810000',
|
|
16
|
+
澳门: '820000',
|
|
17
|
+
台湾: '710000',
|
|
18
|
+
其他: '其他'
|
|
19
|
+
};
|
|
20
|
+
export var CHINA_MAP = ChinaMapData.concat(OTHER_AREA);
|
|
21
|
+
export var USA_MAP = USAMapData.concat(OTHER_AREA_USA);
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 将code装为label
|
|
25
|
+
* @param codes
|
|
26
|
+
*/
|
|
27
|
+
export var getLabelsFromCodes = function getLabelsFromCodes(codes, tenantName) {
|
|
28
|
+
var _codes = _slicedToArray(codes, 3),
|
|
29
|
+
province = _codes[0],
|
|
30
|
+
cityOrArea = _codes[1],
|
|
31
|
+
area = _codes[2];
|
|
32
|
+
var mapData = tenantName === 'xyd' ? CHINA_MAP : USA_MAP;
|
|
33
|
+
var res = [];
|
|
34
|
+
if (otherProvinces[province]) {
|
|
35
|
+
return [otherProvinces[province]];
|
|
36
|
+
}
|
|
37
|
+
mapData.some(function (item) {
|
|
38
|
+
if (item.code === province) {
|
|
39
|
+
var _item$children;
|
|
40
|
+
res.push(item.name);
|
|
41
|
+
return item === null || item === void 0 ? void 0 : (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.some(function (levelCity) {
|
|
42
|
+
if (area && levelCity.code === cityOrArea && levelCity !== null && levelCity !== void 0 && levelCity.children) {
|
|
43
|
+
// 正常情况三级结构
|
|
44
|
+
res.push(levelCity.name);
|
|
45
|
+
return levelCity.children.some(function (levelArea) {
|
|
46
|
+
if (levelArea.code === area) {
|
|
47
|
+
res.push(levelArea.name);
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
if (!area && levelCity.code === cityOrArea) {
|
|
54
|
+
// 二级结构
|
|
55
|
+
res.push(levelCity.name);
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
});
|
|
63
|
+
return res;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* 将label转为code
|
|
68
|
+
* @param labels
|
|
69
|
+
*/
|
|
70
|
+
export var getCodesFromLabels = function getCodesFromLabels(labels, tenantName) {
|
|
71
|
+
var _labels = _slicedToArray(labels, 3),
|
|
72
|
+
province = _labels[0],
|
|
73
|
+
city = _labels[1],
|
|
74
|
+
area = _labels[2];
|
|
75
|
+
var res = [];
|
|
76
|
+
var mapData = tenantName === 'xyd' ? CHINA_MAP : USA_MAP;
|
|
77
|
+
|
|
78
|
+
// 兼容香港/澳门/台湾版本
|
|
79
|
+
if (otherProvinces[province]) {
|
|
80
|
+
return [otherProvinces[province]];
|
|
81
|
+
}
|
|
82
|
+
mapData.some(function (item) {
|
|
83
|
+
if (item.name === province) {
|
|
84
|
+
var _item$children2;
|
|
85
|
+
res.push(item.code);
|
|
86
|
+
return item === null || item === void 0 ? void 0 : (_item$children2 = item.children) === null || _item$children2 === void 0 ? void 0 : _item$children2.some(function (levelCity) {
|
|
87
|
+
if (levelCity.name === city) {
|
|
88
|
+
res.push(levelCity.code);
|
|
89
|
+
if (levelCity.children) {
|
|
90
|
+
// 存在第三级结构
|
|
91
|
+
return levelCity.children.some(function (levelArea) {
|
|
92
|
+
if (levelArea.name === area) {
|
|
93
|
+
res.push(levelArea.code);
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
return false;
|
|
97
|
+
});
|
|
98
|
+
} else {
|
|
99
|
+
// 适用于北京市等二级结构
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
} else if (levelCity.name === area) {
|
|
103
|
+
// 兼容市级为市辖区
|
|
104
|
+
res.push(levelCity.code);
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
return false;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return false;
|
|
111
|
+
});
|
|
112
|
+
return res;
|
|
113
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import { Cascader } from 'antd';
|
|
3
|
+
import React, { useEffect, useState } from 'react';
|
|
4
|
+
import { useTenant } from "../tenant-provider";
|
|
5
|
+
import { CHINA_MAP, USA_MAP, getCodesFromLabels, getLabelsFromCodes } from "./define";
|
|
6
|
+
var LocaleAddressCascader = function LocaleAddressCascader(_ref) {
|
|
7
|
+
var tenant = _ref.tenant,
|
|
8
|
+
value = _ref.value,
|
|
9
|
+
_onChange = _ref.onChange,
|
|
10
|
+
_ref$allowClear = _ref.allowClear,
|
|
11
|
+
allowClear = _ref$allowClear === void 0 ? false : _ref$allowClear,
|
|
12
|
+
placeholder = _ref.placeholder;
|
|
13
|
+
var _useState = useState([]),
|
|
14
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
15
|
+
originValue = _useState2[0],
|
|
16
|
+
setOriginValue = _useState2[1];
|
|
17
|
+
var tenantName = useTenant().tenant.name;
|
|
18
|
+
tenantName = tenant !== null && tenant !== void 0 ? tenant : tenantName;
|
|
19
|
+
useEffect(function () {
|
|
20
|
+
if (value) {
|
|
21
|
+
var res = getCodesFromLabels(value, tenantName);
|
|
22
|
+
if (!res.length && value.length) {
|
|
23
|
+
// 切换域名不匹配时显示原值
|
|
24
|
+
res = value.filter(function (item) {
|
|
25
|
+
return !!item;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
setOriginValue(res);
|
|
29
|
+
}
|
|
30
|
+
}, [value]);
|
|
31
|
+
return /*#__PURE__*/React.createElement(Cascader, {
|
|
32
|
+
value: originValue,
|
|
33
|
+
allowClear: allowClear,
|
|
34
|
+
options: tenantName === 'xyd' ? CHINA_MAP : USA_MAP,
|
|
35
|
+
fieldNames: {
|
|
36
|
+
label: 'name',
|
|
37
|
+
value: 'code',
|
|
38
|
+
children: 'children'
|
|
39
|
+
},
|
|
40
|
+
placeholder: placeholder,
|
|
41
|
+
onChange: function onChange() {
|
|
42
|
+
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
43
|
+
setOriginValue(value);
|
|
44
|
+
_onChange === null || _onChange === void 0 ? void 0 : _onChange(getLabelsFromCodes(value, tenantName));
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
export default LocaleAddressCascader;
|