ns-base-module 1.0.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.
Files changed (148) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +20 -0
  3. package/dist/Button/AntdIconButton.d.ts +11 -0
  4. package/dist/Button/AntdIconButton.d.ts.map +1 -0
  5. package/dist/Button/AntdIconButton.js +22 -0
  6. package/dist/Button/ConfigButton.d.ts +18 -0
  7. package/dist/Button/ConfigButton.d.ts.map +1 -0
  8. package/dist/Button/ConfigButton.js +78 -0
  9. package/dist/Button/index.d.ts +8 -0
  10. package/dist/Button/index.d.ts.map +1 -0
  11. package/dist/Button/index.js +19 -0
  12. package/dist/ClassFilter/index.d.ts +11 -0
  13. package/dist/ClassFilter/index.d.ts.map +1 -0
  14. package/dist/ClassFilter/index.js +119 -0
  15. package/dist/ClassFilter/indexVertical.d.ts +10 -0
  16. package/dist/ClassFilter/indexVertical.d.ts.map +1 -0
  17. package/dist/ClassFilter/indexVertical.js +69 -0
  18. package/dist/ClassFilter/util.d.ts +17 -0
  19. package/dist/ClassFilter/util.d.ts.map +1 -0
  20. package/dist/ClassFilter/util.js +135 -0
  21. package/dist/CopyCol/index.d.ts +4 -0
  22. package/dist/CopyCol/index.d.ts.map +1 -0
  23. package/dist/CopyCol/index.js +57 -0
  24. package/dist/Entry/EntryCriteria.d.ts +17 -0
  25. package/dist/Entry/EntryCriteria.d.ts.map +1 -0
  26. package/dist/Entry/EntryCriteria.js +138 -0
  27. package/dist/Entry/EntryItem.d.ts +34 -0
  28. package/dist/Entry/EntryItem.d.ts.map +1 -0
  29. package/dist/Entry/EntryItem.js +757 -0
  30. package/dist/Entry/components/Checkbox.d.ts +12 -0
  31. package/dist/Entry/components/Checkbox.d.ts.map +1 -0
  32. package/dist/Entry/components/Checkbox.js +15 -0
  33. package/dist/Entry/components/ChooseModalTable.d.ts +15 -0
  34. package/dist/Entry/components/ChooseModalTable.d.ts.map +1 -0
  35. package/dist/Entry/components/ChooseModalTable.js +407 -0
  36. package/dist/Entry/components/Condition.d.ts +9 -0
  37. package/dist/Entry/components/Condition.d.ts.map +1 -0
  38. package/dist/Entry/components/Condition.js +30 -0
  39. package/dist/Entry/components/DatePicker.d.ts +12 -0
  40. package/dist/Entry/components/DatePicker.d.ts.map +1 -0
  41. package/dist/Entry/components/DatePicker.js +12 -0
  42. package/dist/Entry/components/Etable2Modal.d.ts +4 -0
  43. package/dist/Entry/components/Etable2Modal.d.ts.map +1 -0
  44. package/dist/Entry/components/Etable2Modal.js +122 -0
  45. package/dist/Entry/components/Express.d.ts +8 -0
  46. package/dist/Entry/components/Express.d.ts.map +1 -0
  47. package/dist/Entry/components/Express.js +30 -0
  48. package/dist/Entry/components/GroupInput.d.ts +13 -0
  49. package/dist/Entry/components/GroupInput.d.ts.map +1 -0
  50. package/dist/Entry/components/GroupInput.js +77 -0
  51. package/dist/Entry/components/ImageText.d.ts +13 -0
  52. package/dist/Entry/components/ImageText.d.ts.map +1 -0
  53. package/dist/Entry/components/ImageText.js +235 -0
  54. package/dist/Entry/components/Input.d.ts +27 -0
  55. package/dist/Entry/components/Input.d.ts.map +1 -0
  56. package/dist/Entry/components/Input.js +86 -0
  57. package/dist/Entry/components/InputNumber.d.ts +18 -0
  58. package/dist/Entry/components/InputNumber.d.ts.map +1 -0
  59. package/dist/Entry/components/InputNumber.js +111 -0
  60. package/dist/Entry/components/InputNumberRange.d.ts +10 -0
  61. package/dist/Entry/components/InputNumberRange.d.ts.map +1 -0
  62. package/dist/Entry/components/InputNumberRange.js +58 -0
  63. package/dist/Entry/components/ListSelect.d.ts +15 -0
  64. package/dist/Entry/components/ListSelect.d.ts.map +1 -0
  65. package/dist/Entry/components/ListSelect.js +110 -0
  66. package/dist/Entry/components/ObjectSelect.d.ts +14 -0
  67. package/dist/Entry/components/ObjectSelect.d.ts.map +1 -0
  68. package/dist/Entry/components/ObjectSelect.js +91 -0
  69. package/dist/Entry/components/Progress.d.ts +11 -0
  70. package/dist/Entry/components/Progress.d.ts.map +1 -0
  71. package/dist/Entry/components/Progress.js +63 -0
  72. package/dist/Entry/components/Radio.d.ts +15 -0
  73. package/dist/Entry/components/Radio.d.ts.map +1 -0
  74. package/dist/Entry/components/Radio.js +17 -0
  75. package/dist/Entry/components/Select.d.ts +29 -0
  76. package/dist/Entry/components/Select.d.ts.map +1 -0
  77. package/dist/Entry/components/Select.js +113 -0
  78. package/dist/Entry/components/Switch.d.ts +6 -0
  79. package/dist/Entry/components/Switch.d.ts.map +1 -0
  80. package/dist/Entry/components/Switch.js +19 -0
  81. package/dist/Entry/components/TagsDatePicker.d.ts +7 -0
  82. package/dist/Entry/components/TagsDatePicker.d.ts.map +1 -0
  83. package/dist/Entry/components/TagsDatePicker.js +229 -0
  84. package/dist/Entry/components/TimePicker.d.ts +6 -0
  85. package/dist/Entry/components/TimePicker.d.ts.map +1 -0
  86. package/dist/Entry/components/TimePicker.js +6 -0
  87. package/dist/Entry/components/TreeSelect.d.ts +6 -0
  88. package/dist/Entry/components/TreeSelect.d.ts.map +1 -0
  89. package/dist/Entry/components/TreeSelect.js +18 -0
  90. package/dist/Entry/components/index.scss +97 -0
  91. package/dist/Entry/components/utils.d.ts +1 -0
  92. package/dist/Entry/components/utils.d.ts.map +1 -0
  93. package/dist/Entry/components/utils.js +6 -0
  94. package/dist/Entry/data.d.ts +133 -0
  95. package/dist/Entry/index.d.ts +54 -0
  96. package/dist/Entry/index.d.ts.map +1 -0
  97. package/dist/Entry/index.js +45 -0
  98. package/dist/FilterPopover/Filter.d.ts +24 -0
  99. package/dist/FilterPopover/Filter.d.ts.map +1 -0
  100. package/dist/FilterPopover/Filter.js +370 -0
  101. package/dist/FilterPopover/FilterClearIcon.d.ts +8 -0
  102. package/dist/FilterPopover/FilterClearIcon.d.ts.map +1 -0
  103. package/dist/FilterPopover/FilterClearIcon.js +45 -0
  104. package/dist/FilterPopover/index.d.ts +20 -0
  105. package/dist/FilterPopover/index.d.ts.map +1 -0
  106. package/dist/FilterPopover/index.js +136 -0
  107. package/dist/Icon/IconCreate.d.ts +11 -0
  108. package/dist/Icon/IconCreate.d.ts.map +1 -0
  109. package/dist/Icon/IconCreate.js +22 -0
  110. package/dist/Icon/index.d.ts +6 -0
  111. package/dist/Icon/index.d.ts.map +1 -0
  112. package/dist/Icon/index.js +22 -0
  113. package/dist/WidgetConfig/index.d.ts +40 -0
  114. package/dist/WidgetConfig/index.d.ts.map +1 -0
  115. package/dist/WidgetConfig/index.js +129 -0
  116. package/dist/index.d.ts +2 -0
  117. package/dist/index.d.ts.map +1 -0
  118. package/dist/index.js +4 -0
  119. package/dist/test/index.d.ts +4 -0
  120. package/dist/test/index.d.ts.map +1 -0
  121. package/dist/test/index.js +7 -0
  122. package/dist/umd/ns-base-module.min.js +1 -0
  123. package/dist/utils/cache.d.ts +17 -0
  124. package/dist/utils/cache.d.ts.map +1 -0
  125. package/dist/utils/cache.js +127 -0
  126. package/dist/utils/enum.d.ts +22 -0
  127. package/dist/utils/enum.d.ts.map +1 -0
  128. package/dist/utils/enum.js +37 -0
  129. package/dist/utils/language.d.ts +241 -0
  130. package/dist/utils/language.d.ts.map +1 -0
  131. package/dist/utils/language.js +247 -0
  132. package/dist/utils/request.d.ts +15 -0
  133. package/dist/utils/request.d.ts.map +1 -0
  134. package/dist/utils/request.js +180 -0
  135. package/dist/utils/utils.d.ts +113 -0
  136. package/dist/utils/utils.d.ts.map +1 -0
  137. package/dist/utils/utils.js +462 -0
  138. package/package.json +97 -0
  139. package/style/basics.scss +671 -0
  140. package/style/components/ClassFilter.scss +69 -0
  141. package/style/components/FilterPopover.scss +34 -0
  142. package/style/components/index.scss +2 -0
  143. package/style/default.scss +1219 -0
  144. package/style/index.scss +1 -0
  145. package/style/mixins/index.scss +28 -0
  146. package/style/mixins/libs/tint.scss +23 -0
  147. package/style/variables.scss +684 -0
  148. package/types/Action.d.ts +43 -0
@@ -0,0 +1,180 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ /**
8
+ * request 网络请求工具
9
+ * 更详细的 api 文档: https://github.com/umijs/umi-request
10
+ */
11
+ import { notification } from "antd";
12
+ import { history } from "umi";
13
+ import Request, { extend } from "umi-request";
14
+ import Cookies from "js-cookie";
15
+ import { initLang } from "./language";
16
+ // import { getToken } from '@/utils/utils';
17
+
18
+ export var re = /[0-9]/;
19
+ export var isDomain = !(window.location.hostname == "localhost" || re.test(window.location.host));
20
+ // 获取当前token
21
+ export var getToken = function getToken() {
22
+ var domain = ".".concat(window.location.host);
23
+ return Cookies.get("token", !isDomain ? undefined : {
24
+ path: "/",
25
+ domain: domain
26
+ });
27
+ };
28
+ var CancelToken = Request.CancelToken;
29
+ var sourceMap = new Map();
30
+ var codeMessage = {
31
+ 200: "服务器成功返回请求的数据。",
32
+ 201: "新建或修改数据成功。",
33
+ 202: "一个请求已经进入后台排队(异步任务)。",
34
+ 204: "删除数据成功。",
35
+ 400: "发出的请求有错误,服务器没有进行新建或修改数据的操作。",
36
+ 401: "登录超时,请重新登录",
37
+ 403: "用户得到授权,但是访问是被禁止的。",
38
+ 404: "发出的请求针对的是不存在的记录,服务器没有进行操作。",
39
+ 406: "请求的格式不可得。",
40
+ 410: "请求的资源被永久删除,且不会再得到的。",
41
+ 422: "当创建一个对象时,发生一个验证错误。",
42
+ 500: "服务器发生错误,请检查服务器。",
43
+ 502: "网关错误。",
44
+ 503: "服务不可用,服务器暂时过载或维护。",
45
+ 504: "网关超时。"
46
+ };
47
+
48
+ /**
49
+ * 异常处理程序
50
+ */
51
+ var errorHandler = function errorHandler(error) {
52
+ var response = error.response;
53
+ // console.log(error);
54
+ if (response && response.status) {
55
+ // console.log(response);
56
+ var errorText = codeMessage[response.status] || response.statusText;
57
+ var status = response.status;
58
+ // console.log(url);
59
+ notification.error({
60
+ message: "".concat(initLang({
61
+ id: "message.error.request.status"
62
+ }), " ").concat(status),
63
+ description: errorText
64
+ });
65
+ if ((response === null || response === void 0 ? void 0 : response.status) == 401) {
66
+ Cookies.remove("token");
67
+ history.replace({
68
+ pathname: "/user/login"
69
+ // search: stringify({
70
+ // redirect: window.location.href,
71
+ // }),
72
+ });
73
+ window.sessionStorage.removeItem("TABS_LOCATION");
74
+ window.sessionStorage.removeItem("TABS_ACTIVE");
75
+ // changeNotifyCount;
76
+ // window.sessionStorage.removeItem('userInfo');
77
+ }
78
+ } else if (!response) {
79
+ // notification.error({
80
+ // description: initLang({ id: 'message.error.network.desc' }),
81
+ // message: initLang({ id: 'message.error.network' }),
82
+ // });
83
+ }
84
+ return response;
85
+ };
86
+
87
+ /**
88
+ * 配置request请求时的默认参数
89
+ */
90
+ var request = extend({
91
+ errorHandler: errorHandler,
92
+ // 默认错误处理
93
+ credentials: "include" // 默认请求是否带上cookie
94
+ });
95
+ // let cancel: any;
96
+ // request.use((ctx, next) => {
97
+ // // const { res } = ctx;
98
+ // // console.log('use', ctx);
99
+ // // console.log(req.options);
100
+ // // if (!req.options.cancelToken && res.code == 401) {
101
+ // // req.options.cancelToken = new CancelToken((c) => {
102
+ // // cancel = c;
103
+ // // });
104
+ // // cancel?.();
105
+ // // return Promise.resolve();
106
+ // // }
107
+ // // debugger;
108
+ // // if (res.code == 401) {
109
+ // // // console.log(res.code);
110
+ // // // cancel();
111
+ // // }
112
+ // // for (let source of sourceMap.values()) {
113
+ // // console.log(source);
114
+ // // source?.cancel?.();
115
+ // // }
116
+ // console.log('use');
117
+ // return next();
118
+ // });
119
+
120
+ request.interceptors.request.use(function (url1, options) {
121
+ var url = url1;
122
+ var source = CancelToken.source();
123
+ options.cancelToken = source.token;
124
+ options.cancelKey = url + Date.now();
125
+ sourceMap.set(options.cancelKey, source);
126
+ // console.log(url);
127
+ // 李胜要求把/api放在此处统一加上
128
+ url = "/api".concat(url);
129
+ if (url.indexOf("/login") !== -1 || url.indexOf("/externalLogin") !== -1 || url.indexOf("/captchaImage") !== -1 || url.indexOf("/loginInfo") !== -1) return {
130
+ url: url,
131
+ options: options
132
+ };
133
+ // console.log(url, getToken());
134
+ if (!getToken()) return {
135
+ url: url,
136
+ options: options
137
+ };
138
+ var headers = {
139
+ Authorization: getToken() ? "Bearer ".concat(getToken()) : "",
140
+ lang: "zh_CN"
141
+ // 'Content-Type': 'application/json',
142
+ };
143
+ if (url !== "/api/upload") {
144
+ headers["Content-Type"] = "application/json";
145
+ }
146
+
147
+ // console.log(options.headers);
148
+
149
+ return {
150
+ url: url,
151
+ options: _objectSpread(_objectSpread({}, options), {}, {
152
+ headers: _objectSpread(_objectSpread({}, headers), (options === null || options === void 0 ? void 0 : options.headers) || {})
153
+ })
154
+ };
155
+ });
156
+ request.interceptors.response.use(function (response, options) {
157
+ // console.log('rep', response, options);
158
+ // debugger;
159
+ // console.log(sourceMap);
160
+ if ((response === null || response === void 0 ? void 0 : response.status) == 401) {
161
+ sourceMap.delete(options.cancelKey);
162
+ window.localStorage.setItem("LIST_ARGUMENTS", JSON.stringify({})); // 清空查询缓存
163
+ window.localStorage.setItem("COLUMNS_UPDATE", JSON.stringify({})); // 清空查询缓存
164
+ window.localStorage.setItem("ARGUMENTS_UPDATE", JSON.stringify({})); // 清空查询缓存
165
+ // for (const source of sourceMap.values()) {
166
+ // source?.cancel?.(); // 印象登录页的图片显示
167
+ // }
168
+ } else if ((response === null || response === void 0 ? void 0 : response.status) == 600) {
169
+ var _response$data;
170
+ console.log("response:", response);
171
+ notification.info({
172
+ message: response === null || response === void 0 || (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.msg
173
+ });
174
+ } else {
175
+ sourceMap.delete(options.cancelKey);
176
+ }
177
+ // console.log(sourceMap);
178
+ return response;
179
+ });
180
+ export default request;
@@ -0,0 +1,113 @@
1
+ /// <reference types="node" />
2
+ import type { ButtonsType } from '@/components/v2/ButtonGroup';
3
+ import type { EntryType } from '@/components/v2/Form';
4
+ import type { EntryType as AppEntryType } from '@/components/v2/Mobile2/Entry';
5
+ import type { AppButtonsType } from '@/components/v2/Mobile2/ButtonGroup';
6
+ import type { rulesFn } from '@/utils/type';
7
+ export declare const isUrl: (path: string) => boolean;
8
+ export declare const regMap: rulesFn;
9
+ export declare const isAntDesignPro: () => boolean;
10
+ export declare const isAntDesignProOrDev: () => boolean;
11
+ export declare const getPageQuery: () => import("querystring").ParsedUrlQuery;
12
+ export declare const pathAddIds: (url: string, dataSource: Record<string, any>[], hasPageTurning: boolean) => string;
13
+ export declare type dynamicPathParamsType = ButtonsType | AppButtonsType | {
14
+ config: {
15
+ path: string;
16
+ redirect: string;
17
+ };
18
+ } | undefined;
19
+ /**
20
+ * 处理动态路径的动态参数
21
+ * @param detail 按钮详情
22
+ * @param record 数据
23
+ * @returns
24
+ */
25
+ export declare const dynamicPath: (detail: dynamicPathParamsType, record?: Record<string, any>, dataSource?: Record<string, any>[]) => any;
26
+ export declare const dynamicRedirect: (detail: dynamicPathParamsType, record?: Record<string, any>) => any;
27
+ export declare const formatUnit: (value: any, unit?: string) => any;
28
+ export declare const formatData: (value: any, format?: any) => any;
29
+ export declare const re: RegExp;
30
+ export declare const isDomain: boolean;
31
+ export declare const getToken: () => any;
32
+ export declare const rulesCustom: (type: rulesEnum) => rulesFn;
33
+ export declare const rules: (required: boolean | undefined, entryType: EntryType | AppEntryType | undefined, label: string, entryAttr: Record<string, any> | undefined) => any[];
34
+ export declare const matchCondition: (condition: TagConditionEnum, value: string | number, cdtValue: string | number) => boolean | undefined;
35
+ /**
36
+ * 取对象多级key下的值
37
+ * @param keysStr 对象的多级key,用.分割,a.a1 = obj[a][a1]
38
+ * @param obj 取值的对象
39
+ * @returns
40
+ */
41
+ export declare const getMuilObjectValue: (keysStr: string, obj: Record<string, any>) => any;
42
+ export declare const handlePercentage: (width: string | undefined) => string | number | undefined;
43
+ export declare const buttonCount: (buttonConfig: any[], record: any[]) => any[];
44
+ export declare function flattenArrayObjects(arr: any[], children?: string): any[];
45
+ export interface IColorObj {
46
+ r: number;
47
+ g: number;
48
+ b: number;
49
+ a?: number;
50
+ }
51
+ /**
52
+ * 255颜色值转16进制颜色值
53
+ * @param n 255颜色值
54
+ * @returns hex 16进制颜色值
55
+ */
56
+ export declare const toHex: (n: number) => string;
57
+ /**
58
+ * 颜色对象转化为16进制颜色字符串
59
+ * @param colorObj 颜色对象
60
+ */
61
+ export declare const toHexString: (colorObj: IColorObj) => string;
62
+ /**
63
+ * 颜色对象转化为rgb颜色字符串
64
+ * @param colorObj 颜色对象
65
+ */
66
+ export declare const toRgbString: (colorObj: IColorObj) => string;
67
+ /**
68
+ * 颜色对象转化为rgba颜色字符串
69
+ * @param colorObj 颜色对象
70
+ */
71
+ export declare const toRgbaString: (colorObj: IColorObj, n?: number) => string;
72
+ /**
73
+ * 16进制颜色字符串解析为颜色对象
74
+ * @param color 颜色字符串
75
+ * @returns IColorObj
76
+ */
77
+ export declare const parseHexColor: (color: string, op?: number) => IColorObj;
78
+ /**
79
+ * rgba颜色字符串解析为颜色对象
80
+ * @param color 颜色字符串
81
+ * @returns IColorObj
82
+ */
83
+ export declare const parseRgbaColor: (color: string, op?: number) => IColorObj;
84
+ /**
85
+ * 颜色字符串解析为颜色对象
86
+ * @param color 颜色字符串
87
+ * @returns IColorObj
88
+ */
89
+ export declare const parseColorString: (color: string, op?: number) => IColorObj;
90
+ /**
91
+ * 颜色字符串解析为各种颜色表达方式
92
+ * @param color 颜色字符串
93
+ * @returns IColorObj
94
+ */
95
+ export declare const getColorInfo: (color: string, op: number) => {
96
+ hex: string;
97
+ rgba: string;
98
+ rgb: string;
99
+ rgbaObj: IColorObj;
100
+ };
101
+ /**
102
+ * 16进制颜色字符串转化为rgba颜色字符串
103
+ * @param hex 16进制颜色字符串
104
+ * @returns rgba颜色字符串
105
+ */
106
+ export declare const hexToRgba: (hex: string, op: number) => string;
107
+ /**
108
+ * rgba颜色字符串转化为16进制颜色字符串
109
+ * @param rgba rgba颜色字符串
110
+ * @returns 16进制颜色字符串
111
+ */
112
+ export declare const rgbaToHex: (rgba: string) => string;
113
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}