ztxkui 2.6.4 → 2.6.7

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.
@@ -24,7 +24,7 @@ var __rest = (this && this.__rest) || function (s, e) {
24
24
  * @author cyx
25
25
  * @description 增强下拉框功能
26
26
  */
27
- import React, { useCallback, useEffect, memo, useRef } from 'react';
27
+ import React, { useCallback, useEffect, memo, useRef, useState } from 'react';
28
28
  import { Select } from 'antd';
29
29
  import { useFetchState } from 'ztxkutils/dist/hooks';
30
30
  import debounce from 'lodash/debounce';
@@ -87,6 +87,8 @@ function EnhanceSelect(_a) {
87
87
  var _l = useFetchState(false), firstLoading = _l[0], setFirstLoading = _l[1];
88
88
  // 第一次清空时,才做远程查询
89
89
  var _m = useFetchState(false), firstClearData = _m[0], setFirstClearData = _m[1];
90
+ // 获得焦点选中
91
+ var _o = useState(false), isOpen = _o[0], setIsOpen = _o[1];
90
92
  // 如果selectList 发生改变,那么触发onCompleted事件
91
93
  useEffect(function () {
92
94
  if (Array.isArray(selectList) && onCompleted) {
@@ -444,6 +446,13 @@ function EnhanceSelect(_a) {
444
446
  onChange && onChange(value, option);
445
447
  }
446
448
  };
447
- return (React.createElement(Select, __assign({ defaultValue: showAll ? '' : undefined, allowClear: true, showSearch: true, filterOption: remoteSearch ? false : filterOptionHandle, onSearch: remoteSearch ? onSearchHandle : undefined, onChange: onChangeHandle, optionLabelProp: "title", loading: loading }, restProps, { disabled: remoteSearch ? restProps.disabled : loading || restProps.disabled }), renderSelectOption()));
449
+ // 焦点事件
450
+ var onFocusHandle = function () {
451
+ setIsOpen(true);
452
+ };
453
+ var onBlurHandle = function () {
454
+ setIsOpen(false);
455
+ };
456
+ return (React.createElement(Select, __assign({ defaultValue: showAll ? '' : undefined, allowClear: true, showSearch: true, filterOption: remoteSearch ? false : filterOptionHandle, onSearch: remoteSearch ? onSearchHandle : undefined, onChange: onChangeHandle, optionLabelProp: "title", loading: loading, onFocus: onFocusHandle, onBlur: onBlurHandle, open: isOpen }, restProps, { disabled: remoteSearch ? restProps.disabled : loading || restProps.disabled }), renderSelectOption()));
448
457
  }
449
458
  export default memo(EnhanceSelect);
@@ -20,11 +20,20 @@ var __rest = (this && this.__rest) || function (s, e) {
20
20
  }
21
21
  return t;
22
22
  };
23
- import React from 'react';
23
+ import React, { useState } from 'react';
24
24
  import { Select as AntSelect } from 'antd';
25
25
  function Select(props) {
26
26
  var children = props.children, restProps = __rest(props, ["children"]);
27
- return React.createElement(AntSelect, __assign({}, restProps), children);
27
+ // 获得焦点选中
28
+ var _a = useState(false), isOpen = _a[0], setIsOpen = _a[1];
29
+ // 焦点事件
30
+ var onFocusHandle = function () {
31
+ setIsOpen(true);
32
+ };
33
+ var onBlurHandle = function () {
34
+ setIsOpen(false);
35
+ };
36
+ return (React.createElement(AntSelect, __assign({ onFocus: onFocusHandle, onBlur: onBlurHandle, open: isOpen }, restProps), children));
28
37
  }
29
38
  Select.Option = AntSelect.Option;
30
39
  Select.OptGroup = AntSelect.OptGroup;
@@ -11,6 +11,10 @@ export interface ISearchLayout {
11
11
  * @param value 值
12
12
  */
13
13
  export declare function setDynamicKey(dynamicStorageKey: string, value: any): void;
14
+ /**
15
+ * @description 比对方法,获取最终数据
16
+ */
17
+ export declare function getSearchParams(storageKey: string, params: any, otherKeys: any): any;
14
18
  declare function useDynamic(children: React.ReactNode, isDynamic?: boolean, // 是否利用动态列配置
15
19
  dynamicStorageKey?: string): {
16
20
  dynamicArr: ISearchLayout[];
@@ -1,3 +1,14 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  import React, { useEffect, useState } from 'react';
2
13
  var LOCALSTORAGE_KEY = 'ztui_dynamic_list_key';
3
14
  /**
@@ -16,6 +27,47 @@ export function setDynamicKey(dynamicStorageKey, value) {
16
27
  obj[dynamicStorageKey] = value;
17
28
  localStorage.setItem(LOCALSTORAGE_KEY, JSON.stringify(obj));
18
29
  }
30
+ /**
31
+ * @description 比对方法,获取最终数据
32
+ */
33
+ export function getSearchParams(storageKey, params, otherKeys) {
34
+ var obj = {};
35
+ try {
36
+ obj = JSON.parse(localStorage.getItem(LOCALSTORAGE_KEY) || '{}') || {};
37
+ }
38
+ catch (err) {
39
+ console.error(err);
40
+ }
41
+ var config = obj[storageKey] || [];
42
+ var resultParams = __assign({}, params);
43
+ if (Array.isArray(config) && config.length > 0) {
44
+ for (var i = 0; i < config.length; i++) {
45
+ var _a = config[i] || {}, name_1 = _a.name, show = _a.show;
46
+ // 如果这个key存在,那么不用处理
47
+ if (show) {
48
+ continue;
49
+ }
50
+ // 如果不展示当前key
51
+ // 如果key在源数据中,直接删除
52
+ if (resultParams.hasOwnProperty(name_1)) {
53
+ Reflect.deleteProperty(resultParams, name_1);
54
+ }
55
+ else if (otherKeys.hasOwnProperty(name_1)) {
56
+ // 如果key不在源数据中,找到该key对应的keys
57
+ var keys = otherKeys[name_1];
58
+ if (Array.isArray(keys)) {
59
+ keys.forEach(function (key) {
60
+ Reflect.deleteProperty(resultParams, key);
61
+ });
62
+ }
63
+ else {
64
+ Reflect.deleteProperty(resultParams, keys);
65
+ }
66
+ }
67
+ }
68
+ }
69
+ return resultParams;
70
+ }
19
71
  function useDynamic(children, isDynamic, // 是否利用动态列配置
20
72
  dynamicStorageKey // 动态列配置的key值
21
73
  ) {
@@ -46,16 +98,16 @@ dynamicStorageKey // 动态列配置的key值
46
98
  // 遍历当前子元素
47
99
  React.Children.forEach(children, function (item) {
48
100
  if (item === null || item === void 0 ? void 0 : item.props) {
49
- var _a = item.props, name_1 = _a.name, label = _a.label, disabled = _a.disabled;
101
+ var _a = item.props, name_2 = _a.name, label = _a.label, disabled = _a.disabled;
50
102
  _initDynamicList_1.push({
51
- name: name_1,
103
+ name: name_2,
52
104
  label: label,
53
105
  show: true,
54
106
  disabled: disabled,
55
107
  });
56
108
  if (!dynamicList_1 || dynamicList_1.length === 0) {
57
109
  _currentDynamicList_1.push({
58
- name: name_1,
110
+ name: name_2,
59
111
  label: label,
60
112
  show: true,
61
113
  disabled: disabled,
@@ -13,7 +13,13 @@ function useConfigChildren(children) {
13
13
  return { configChildren: configChildren };
14
14
  }
15
15
  var SearchLeft = function (_a) {
16
- var children = _a.children, className = _a.className, isDynamic = _a.isDynamic, dynamicStorageKey = _a.dynamicStorageKey, onChange = _a.onChange, _b = _a.isFlex, isFlex = _b === void 0 ? true : _b, configInfo = _a.configInfo;
16
+ var children = _a.children, className = _a.className, isDynamic = _a.isDynamic, _dynamicStorageKey = _a.dynamicStorageKey, onChange = _a.onChange, _b = _a.isFlex, isFlex = _b === void 0 ? true : _b, configInfo = _a.configInfo;
17
+ // 为了兼容之前的写法,默认取当前路由地址,但是这种情况会导致微前端下面出现一些问题
18
+ // 所以在使用组件的时候,如果要使用动态配置,必须传入dynamicStorageKey
19
+ // 如果有时间还是需要传入storageKey,之前的写法需要简化
20
+ var dynamicStorageKey = _dynamicStorageKey
21
+ ? _dynamicStorageKey
22
+ : window.location.pathname;
17
23
  /**缓存初始化值 */
18
24
  var _c = useDynamic(children, isDynamic, dynamicStorageKey), dynamicArr = _c.dynamicArr, initDynamicArr = _c.initDynamicArr, newChildren = _c.newChildren;
19
25
  var configChildren = useConfigChildren(children).configChildren;
@@ -0,0 +1,2 @@
1
+ import { getSearchParams } from '../business/SearchContainer/hooks/useDynamic';
2
+ export { getSearchParams };
@@ -0,0 +1,2 @@
1
+ import { getSearchParams } from '../business/SearchContainer/hooks/useDynamic';
2
+ export { getSearchParams };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ztxkui",
3
- "version": "2.6.4",
3
+ "version": "2.6.7",
4
4
  "private": false,
5
5
  "description": "React components library",
6
6
  "author": "zt-front-end",