vap1 0.2.5 → 0.2.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.
Files changed (111) hide show
  1. package/components/Box/Box.js +1 -5
  2. package/components/Box/SelectBar.js +3 -3
  3. package/components/SearchBar/ByField.d.ts +19 -0
  4. package/components/SearchBar/ByField.js +94 -83
  5. package/components/SearchBar/ByKeyword.js +20 -18
  6. package/components/SearchBar/index.d.ts +2 -4
  7. package/components/Tables/Components/ActionBar.js +6 -6
  8. package/components/Tables/Components/Actions.js +7 -7
  9. package/components/Tables/Util.js +2 -2
  10. package/components/Tables/VTable.js +3 -1
  11. package/components/Trees/ActionTree.js +34 -34
  12. package/components/Trees/STree.js +2 -2
  13. package/components/UForm/UForm.js +2 -1
  14. package/components/UForm/UFormModal.js +3 -3
  15. package/components/UForm/UInfoModal.js +3 -3
  16. package/components/UForm/_FormUtils.js +4 -4
  17. package/components/UForm/_input.js +3 -3
  18. package/components/Upload/UploadFile.js +2 -2
  19. package/components/Upload/UploadImage.js +2 -2
  20. package/components/Upload/UploadModal.js +9 -9
  21. package/components/Upload/useUpload.js +4 -4
  22. package/components/_adapt/Layout.js +1 -1
  23. package/components/_common/DateRange.js +3 -3
  24. package/components/_common/MonthRange.js +3 -3
  25. package/components/_common/Upagination.js +3 -2
  26. package/hooks/useApiBase.js +9 -9
  27. package/index.js +1 -1
  28. package/package.json +1 -1
  29. package/utils/Global.d.ts +13 -0
  30. package/utils/Global.js +4 -1
  31. package/utils/PageUtil.d.ts +27 -1
  32. package/utils/PageUtil.js +24 -1
  33. package/utils/Renders/ApiGetRender.js +5 -5
  34. package/utils/Renders/DictRender.js +6 -6
  35. package/utils/Renders/FileRender.js +2 -2
  36. package/utils/Renders/ListRender.js +12 -12
  37. package/utils/Renders/StatusRender.js +2 -2
  38. package/utils/_AjaxUtil.d.ts +2 -2
  39. package/utils/_AjaxUtil.js +13 -12
  40. package/utils/_Support.d.ts +8 -2
  41. package/utils/screenful.js +2 -2
  42. package/components/_setup/I18N/enUS.d.ts +0 -1
  43. package/components/_setup/I18N/enUS.js +0 -106
  44. package/components/_setup/I18N/index.d.ts +0 -3
  45. package/components/_setup/I18N/index.js +0 -5
  46. package/components/_setup/I18N/zhCN.d.ts +0 -3
  47. package/components/_setup/I18N/zhCN.js +0 -109
  48. package/components/_setup/I18N/zhHK.d.ts +0 -1
  49. package/components/_setup/I18N/zhHK.js +0 -107
  50. package/components/_setup/ICON/IconTypes.d.ts +0 -1
  51. package/components/_setup/ICON/IconTypes.js +0 -10
  52. package/components/_setup/SearchField/SearchFieldAdvance.d.ts +0 -1
  53. package/components/_setup/SearchField/SearchFieldAdvance.js +0 -68
  54. package/components/_setup/SearchField/SearchFieldDate.d.ts +0 -1
  55. package/components/_setup/SearchField/SearchFieldDate.js +0 -223
  56. package/components/_setup/SearchField/SearchFieldInput.d.ts +0 -3
  57. package/components/_setup/SearchField/SearchFieldInput.js +0 -31
  58. package/components/_setup/SearchField/SearchFieldSelect.d.ts +0 -1
  59. package/components/_setup/SearchField/SearchFieldSelect.js +0 -99
  60. package/components/_setup/SearchField/SearchFieldTree.d.ts +0 -1
  61. package/components/_setup/SearchField/SearchFieldTree.js +0 -162
  62. package/components/_setup/SelectBar/SelectList.d.ts +0 -1
  63. package/components/_setup/SelectBar/SelectList.js +0 -32
  64. package/components/_setup/SelectBar/SelectTree.d.ts +0 -1
  65. package/components/_setup/SelectBar/SelectTree.js +0 -42
  66. package/components/_setup/UForm/UFormAdvanceInput.d.ts +0 -1
  67. package/components/_setup/UForm/UFormAdvanceInput.js +0 -352
  68. package/components/_setup/UForm/UFormAdvanceSelect.d.ts +0 -0
  69. package/components/_setup/UForm/UFormAdvanceSelect.js +0 -26
  70. package/components/_setup/UForm/UFormCOTree.d.ts +0 -1
  71. package/components/_setup/UForm/UFormCOTree.js +0 -34
  72. package/components/_setup/UForm/UFormCrontab.d.ts +0 -1
  73. package/components/_setup/UForm/UFormCrontab.js +0 -215
  74. package/components/_setup/UForm/UFormDate.d.ts +0 -1
  75. package/components/_setup/UForm/UFormDate.js +0 -462
  76. package/components/_setup/UForm/UFormInput.d.ts +0 -1
  77. package/components/_setup/UForm/UFormInput.js +0 -197
  78. package/components/_setup/UForm/UFormJSON.d.ts +0 -1
  79. package/components/_setup/UForm/UFormJSON.js +0 -259
  80. package/components/_setup/UForm/UFormJSONTable.d.ts +0 -1
  81. package/components/_setup/UForm/UFormJSONTable.js +0 -195
  82. package/components/_setup/UForm/UFormOrg.d.ts +0 -1
  83. package/components/_setup/UForm/UFormOrg.js +0 -185
  84. package/components/_setup/UForm/UFormRole.d.ts +0 -1
  85. package/components/_setup/UForm/UFormRole.js +0 -58
  86. package/components/_setup/UForm/UFormSearch.d.ts +0 -0
  87. package/components/_setup/UForm/UFormSearch.js +0 -35
  88. package/components/_setup/UForm/UFormSelect.d.ts +0 -1
  89. package/components/_setup/UForm/UFormSelect.js +0 -231
  90. package/components/_setup/UForm/UFormTree.d.ts +0 -1
  91. package/components/_setup/UForm/UFormTree.js +0 -110
  92. package/components/_setup/UForm/UFormUpload.d.ts +0 -1
  93. package/components/_setup/UForm/UFormUpload.js +0 -201
  94. package/components/_setup/UForm/_utils.d.ts +0 -11
  95. package/components/_setup/UForm/_utils.js +0 -41
  96. package/components/_setup/index.d.ts +0 -22
  97. package/components/_setup/index.js +0 -26
  98. package/login/cems/index.d.ts +0 -10
  99. package/login/cems/index.js +0 -17
  100. package/login/jit/index.d.ts +0 -32
  101. package/login/jit/index.js +0 -125
  102. package/login/jit/pnxclient.d.ts +0 -55
  103. package/login/jit/pnxclient.js +0 -577
  104. package/login/sso/index.d.ts +0 -0
  105. package/login/sso/index.js +0 -0
  106. package/login/vap/index.d.ts +0 -1
  107. package/login/vap/index.js +0 -6
  108. package/login/xrtx/index.d.ts +0 -2
  109. package/login/xrtx/index.js +0 -33
  110. /package/components/{_setup/Const.d.ts → _i18n.d.ts} +0 -0
  111. /package/components/{_setup/Const.js → _i18n.js} +0 -0
@@ -160,10 +160,6 @@ exports.Box = (0, react_1.forwardRef)(function (props, ref) {
160
160
  (0, react_1.useLayoutEffect)(function () {
161
161
  setTimeout(resize, 5);
162
162
  }, []);
163
- var paginationProps = {};
164
- // if (props.pagination && props.mode == 'inner') {
165
- // paginationProps.hideOnSinglePage = true;
166
- // }
167
163
  return react_1.default.createElement(Layout_1.Layout, { id: domId, className: utils_1.StringUtil.className(className, props.className), style: style, ref: _layoutRef },
168
164
  props.selectBar && (0, _register_1.getSelectBar)(props.selectBar.type) != null && react_1.default.createElement(SelectBar_1.SelectBar, __assign({}, props.selectBar, { ref: selectRef, onSelect: function () {
169
165
  var args = [];
@@ -195,5 +191,5 @@ exports.Box = (0, react_1.forwardRef)(function (props, ref) {
195
191
  } }), props.actionBar ? (lodash_1.default.isArray(props.actionBar) ? react_1.default.createElement(SearchBar_1.SearchBar.ActionButtons, { buttons: props.actionBar }) : props.actionBar) : []),
196
192
  react_1.default.createElement(BoxContext.Provider, { value: { state: state, resize: resize, root: contextRef, selectRef: selectRef } },
197
193
  react_1.default.createElement("div", { className: 'ubox-content', ref: contextRef }, state != null && props.children)),
198
- props.pagination && react_1.default.createElement(Upagination_1.UPagination, __assign({}, paginationProps, props.pagination, { className: HEIGHT_OMIT }))));
194
+ props.pagination && react_1.default.createElement(Upagination_1.UPagination, __assign({}, props.pagination, { className: HEIGHT_OMIT }))));
199
195
  });
@@ -60,7 +60,7 @@ var antd_1 = require("antd");
60
60
  var hooks_1 = require("../../hooks");
61
61
  var utils_1 = require("../../utils");
62
62
  var _register_1 = require("./_register");
63
- var Const_1 = require("../_setup/Const");
63
+ var _i18n_1 = require("../_i18n");
64
64
  var Icon_1 = require("../_adapt/Icon");
65
65
  exports.SelectBar = (0, react_1.forwardRef)(function (props, ref) {
66
66
  var _a = __read((0, react_1.useState)(null), 2), keyword = _a[0], setKeyword = _a[1];
@@ -108,11 +108,11 @@ exports.SelectBar = (0, react_1.forwardRef)(function (props, ref) {
108
108
  react_1.default.createElement(Icon_1.Icon, __assign({}, iconProps, { evt: true })));
109
109
  };
110
110
  return react_1.default.createElement(antd_1.Layout.Sider, { className: 'c-selectbar-' + utils_1.GLOBAL.CONFIG.BOX.SELECT_CLOSE, collapsed: collapsed, collapsedWidth: utils_1.GLOBAL.CONFIG.BOX.SELECT_CLOSE == 2 ? 0 : 6, width: width },
111
- react_1.default.createElement("div", { className: 'c-selectbar-closed', onClick: setCollapsed, title: utils_1.i18n.txt(Const_1.V.TXT_EXPAND) }),
111
+ react_1.default.createElement("div", { className: 'c-selectbar-closed', onClick: setCollapsed, title: utils_1.i18n.txt(_i18n_1.V.TXT_EXPAND) }),
112
112
  react_1.default.createElement("div", { className: 'c-selectbar' },
113
113
  react_1.default.createElement("div", { className: 'c-selectbar-head' },
114
114
  react_1.default.createElement("div", { className: 'c-selectbar-title' },
115
- react_1.default.createElement(Icon_1.Icon, { type: "left-circle", title: utils_1.i18n.txt(Const_1.V.TXT_COLLAPSE), onClick: setCollapsed }),
115
+ react_1.default.createElement(Icon_1.Icon, { type: "left-circle", title: utils_1.i18n.txt(_i18n_1.V.TXT_COLLAPSE), onClick: setCollapsed }),
116
116
  props.filter && react_1.default.createElement("input", { onChange: function (evt) { return utils_1.PageUtil.stopEvent(evt, function () { return setKeyword(evt.target.value); }); }, value: keyword, placeholder: utils_1.i18n.getText(props.ik, props.title) }),
117
117
  !props.filter && react_1.default.createElement("span", null, title)),
118
118
  react_1.default.createElement("div", { className: 'c-selectbar-action' }, (props.actions || []).map(function (item) { return react_1.default.createElement(SearchAction, __assign({}, item)); }))),
@@ -1,3 +1,22 @@
1
1
  import React from 'react';
2
2
  import type { SearchBarByFieldProps } from './index';
3
+ /**
4
+ * 仅内容使用
5
+ */
6
+ type InnerSearchBarByFieldProps = SearchBarByFieldProps & {
7
+ /**
8
+ * 强制展开
9
+ */
10
+ __innerExpand?: boolean;
11
+ /**
12
+ * 强制外展示
13
+ */
14
+ __innerOutside?: boolean;
15
+ /**
16
+ * 是否在Keyword中弹出
17
+ */
18
+ __innnerPopup?: boolean;
19
+ };
20
+ export declare const InnerSearchBarByField: React.FC<InnerSearchBarByFieldProps>;
3
21
  export declare const SearchBarByField: React.FC<SearchBarByFieldProps>;
22
+ export {};
@@ -53,35 +53,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
53
53
  return (mod && mod.__esModule) ? mod : { "default": mod };
54
54
  };
55
55
  Object.defineProperty(exports, "__esModule", { value: true });
56
- exports.SearchBarByField = void 0;
56
+ exports.SearchBarByField = exports.InnerSearchBarByField = void 0;
57
57
  var react_1 = __importStar(require("react"));
58
58
  var lodash_1 = __importDefault(require("lodash"));
59
59
  var antd_1 = require("antd");
60
60
  var Button_1 = require("../_adapt/Button");
61
61
  var Popover_1 = require("../_adapt/Popover");
62
- // import { Icon, } from '../_adapt/Icon';
63
62
  var utils_1 = require("../../utils");
64
- var Const_1 = require("../_setup/Const");
63
+ var _i18n_1 = require("../_i18n");
65
64
  var SearchField_1 = require("./SearchField");
66
65
  var _register_1 = require("./_register");
67
- var txt = utils_1.i18n.txt;
68
- var SearchBarByField = function (props) {
69
- // @ts-ignore
66
+ var InnerSearchBarByField = function (props) {
70
67
  var isAwaysExpand = utils_1.GLOBAL.CONFIG.SEARCHBAR.AWAYS_EXPAND || props.__innerExpand;
71
68
  var _a = __read((0, react_1.useState)(props.default || {}), 2), data = _a[0], setData = _a[1];
72
69
  var _b = __read((0, react_1.useState)(isAwaysExpand), 2), isExpand = _b[0], _setIsExpand = _b[1];
73
- var _c = __read((0, react_1.useState)(null), 2), layout = _c[0], setLayout = _c[1];
74
- // const warpData = (data) => {
75
- // let result: any = {};
76
- // _.keys(data).map(key => {
77
- // if (data[key] === null || data[key] === undefined) {
78
- // result[key] = ''
79
- // } else {
80
- // result[key] = data[key];
81
- // }
82
- // })
83
- // return result;
84
- // }
85
70
  var clear = function () { return setData(function (prev) {
86
71
  var data = {};
87
72
  lodash_1.default.keys(prev).map(function (item) {
@@ -98,105 +83,108 @@ var SearchBarByField = function (props) {
98
83
  setTimeout(function () { return props.onExpand(isExpand); }, 3);
99
84
  }
100
85
  };
101
- (0, react_1.useLayoutEffect)(function () {
102
- var layout = {
103
- rows: [],
104
- cols: 3,
105
- minWidth: 0,
106
- // @ts-ignore
107
- isOutSide: utils_1.GLOBAL.CONFIG.SEARCHBAR.FIELD_AWAYS_OUTSIDE || props.__innerOutside,
108
- labelWidth: 0,
109
- inputWidth: 0,
110
- };
111
- if (props.fields == undefined || props.fields.length == 0) {
112
- setLayout(layout);
113
- return;
86
+ // 说明,默认以 3 列展示,弹框展示时,超过6个字段默认两列,小于6个字段默认1列
87
+ var cols = (0, react_1.useMemo)(function () {
88
+ if (props.cols)
89
+ return props.cols;
90
+ if (props.fields == undefined || !lodash_1.default.isArray(props.fields) || props.fields.length == 0)
91
+ return 3;
92
+ if (props.__innnerPopup) {
93
+ if (props.fields.length < 6)
94
+ return 1;
95
+ return 2;
114
96
  }
115
97
  ;
116
- if (lodash_1.default.has(props, 'cols'))
117
- layout.cols = props.cols;
118
- layout.rows.push([]);
98
+ return 3;
99
+ }, [props.fields]);
100
+ var layout = (0, react_1.useMemo)(function () {
101
+ if (props.fields == undefined || !lodash_1.default.isArray(props.fields) || props.fields.length == 0)
102
+ return null;
103
+ var rows = [];
104
+ var isOutSide = utils_1.GLOBAL.CONFIG.SEARCHBAR.FIELD_AWAYS_OUTSIDE || props.__innerOutside;
105
+ rows.push([]); // 日前已使用
119
106
  var rowUse = 0;
120
107
  props.fields.map(function (field) {
121
108
  if (field.roleCode && !utils_1.PageUtil.hasRole(field.roleCode))
122
109
  return;
123
110
  var SearchField = (0, _register_1.getSearchField)(field.type);
124
111
  if (SearchField.outside)
125
- layout.isOutSide = true;
126
- field.span = field.span || SearchField.defaultSpan || 1;
112
+ isOutSide = true;
113
+ if (field.span) {
114
+ if (field.span > cols)
115
+ field.span = cols;
116
+ }
117
+ else {
118
+ field.span = SearchField.defaultSpan || 1;
119
+ }
127
120
  var tryfill = rowUse + field.span;
128
- if (tryfill > layout.cols) {
129
- layout.rows.push([{ field: field, SearchField: SearchField.component }]);
121
+ if (tryfill > cols) {
122
+ rows.push([{ field: field, SearchField: SearchField.component }]);
130
123
  rowUse = field.span;
131
124
  }
132
125
  else {
133
- layout.rows[layout.rows.length - 1].push({ field: field, SearchField: SearchField.component });
126
+ rows[rows.length - 1].push({ field: field, SearchField: SearchField.component });
134
127
  rowUse += field.span;
135
128
  }
136
129
  });
137
- if (layout.isOutSide) {
138
- if (lodash_1.default.isArray(props.fieldWidth)) {
139
- layout.labelWidth = props.fieldWidth[0];
140
- layout.inputWidth = props.fieldWidth[1];
141
- }
142
- else {
143
- layout.labelWidth = utils_1.GLOBAL.CONFIG.SEARCHBAR.FIELD_LABEL_WIDTH;
144
- layout.inputWidth = utils_1.GLOBAL.CONFIG.SEARCHBAR.FIELD_IPNUT_WIDTH;
145
- }
146
- }
147
- else if (lodash_1.default.has(props, 'fieldWidth')) {
148
- if (lodash_1.default.isNumber(props.fieldWidth)) {
149
- layout.inputWidth = props.fieldWidth;
150
- }
151
- else {
152
- layout.inputWidth = props.fieldWidth[0] + props.fieldWidth[1];
130
+ return { rows: rows, isOutSide: isOutSide };
131
+ }, [props.fields]);
132
+ var _c = __read((0, react_1.useMemo)(function () {
133
+ if (layout == null)
134
+ return [0, 0];
135
+ // 标签在内模式(placehoder表现)
136
+ if (!layout.isOutSide) {
137
+ if (lodash_1.default.has(props, 'fieldWidth')) {
138
+ if (lodash_1.default.isNumber(props.fieldWidth)) {
139
+ return [0, props.fieldWidth];
140
+ }
141
+ else {
142
+ return [0, props.fieldWidth[0] + props.fieldWidth[1]];
143
+ }
153
144
  }
145
+ return [0, utils_1.GLOBAL.CONFIG.SEARCHBAR.FIELD_INSIDE_WIDTH];
154
146
  }
155
- else {
156
- layout.inputWidth = utils_1.GLOBAL.CONFIG.SEARCHBAR.FIELD_INSIDE_WIDTH;
147
+ if (props.fieldWidth && lodash_1.default.isArray(props.fieldWidth))
148
+ return props.fieldWidth;
149
+ // 标签在外模式(label表现)
150
+ if (props.__innnerPopup) {
151
+ return [utils_1.GLOBAL.CONFIG.SEARCHBAR.FIELD_LABEL_WIDTH_POP, utils_1.GLOBAL.CONFIG.SEARCHBAR.FIELD_IPNUT_WIDTH_POP];
157
152
  }
158
- layout.minWidth = layout.rows[0].length * (layout.labelWidth + layout.inputWidth) + 90;
159
- setLayout(layout);
160
- }, [props.fields]);
161
- var rowRender = (0, react_1.useCallback)(function (rows, layout) { return rows.map(function (item) {
153
+ return [utils_1.GLOBAL.CONFIG.SEARCHBAR.FIELD_LABEL_WIDTH, utils_1.GLOBAL.CONFIG.SEARCHBAR.FIELD_IPNUT_WIDTH];
154
+ }, [layout]), 2), labelWidth = _c[0], inputWidth = _c[1];
155
+ var rowRender = (0, react_1.useCallback)(function (rows) { return rows.map(function (item) {
162
156
  var field = __assign({}, item.field);
163
157
  var txt;
164
158
  txt = (item.field.ik && utils_1.i18n.hasKey(item.field.ik)) ? utils_1.i18n.txt(item.field.ik) : item.field.label;
165
159
  field.label = txt;
166
160
  if (!lodash_1.default.has(field, 'placeholder')) {
167
- var key = lodash_1.default.isArray(item.field.options) ? Const_1.V.INPUT_SELECT : Const_1.V.INPUT_TEXT;
161
+ var key = lodash_1.default.isArray(item.field.options) ? _i18n_1.V.INPUT_SELECT : _i18n_1.V.INPUT_TEXT;
168
162
  field.placeholder = utils_1.i18n.txt(key) + txt;
169
163
  }
170
164
  var SearchInput = layout.isOutSide ? SearchField_1.InputOutSide : SearchField_1.InputInSide;
171
- return react_1.default.createElement(SearchInput, { key: item.field.field, disabled: props.disabled, labelWidth: layout.labelWidth, inputWidth: layout.inputWidth, field: field, SearchField: item.SearchField, onChange: function (value) {
165
+ return react_1.default.createElement(SearchInput, { key: item.field.field, disabled: props.disabled, labelWidth: labelWidth, inputWidth: inputWidth, field: field, SearchField: item.SearchField, onChange: function (value) { return setData(function (prev) {
172
166
  var _a, _b;
173
167
  var formData;
174
168
  if (lodash_1.default.isObject(value)) {
175
- formData = __assign(__assign({}, data), value);
169
+ formData = __assign(__assign({}, prev), value);
176
170
  }
177
171
  else if (lodash_1.default.isString(value)) {
178
172
  // let val = _.trim(value);
179
173
  // if (val.length == 0) {
180
174
  // formData = _.omit(data, item.field.field);
181
175
  // } else {
182
- formData = __assign(__assign({}, data), (_a = {}, _a[item.field.field] = value, _a));
176
+ formData = __assign(__assign({}, prev), (_a = {}, _a[item.field.field] = value, _a));
183
177
  // }
184
178
  }
185
179
  else {
186
- formData = __assign(__assign({}, data), (_b = {}, _b[item.field.field] = value, _b));
180
+ formData = __assign(__assign({}, prev), (_b = {}, _b[item.field.field] = value, _b));
187
181
  }
188
- // _.keys(formData).map(key => {
189
- // if (formData[key] === null || formData[key] === undefined) {
190
- // // _.unset(formData, key)
191
- // // formData[key] = undefined;
192
- // }
193
- // })
194
- setData(formData);
195
182
  if (lodash_1.default.isFunction(props.onChange)) {
196
183
  props.onChange(formData);
197
184
  }
198
- }, triggerSearch: function () { return props.onSearch(data); }, data: data });
199
- }); }, [data]);
185
+ return formData;
186
+ }); }, triggerSearch: function () { return props.onSearch(data); }, data: data });
187
+ }); }, [data, layout]);
200
188
  var btnRender = function (rowSize, isExpand) {
201
189
  if (props.hideAction || isExpand || isAwaysExpand)
202
190
  return utils_1.Const.NONE;
@@ -207,21 +195,44 @@ var SearchBarByField = function (props) {
207
195
  rowSize > 1 && utils_1.GLOBAL.CONFIG.SEARCHBAR.USE_MODAL && react_1.default.createElement(Popover_1.Popover, { content: "更多条件" },
208
196
  react_1.default.createElement(Button_1.Button, { disabled: props.disabled, icon: 'filter' })));
209
197
  };
198
+ var _d = __read((0, react_1.useMemo)(function () {
199
+ if (layout == null)
200
+ return ['', {}];
201
+ var clazz = ['c-searchbar-btns'];
202
+ var style = { marginLeft: layout.isOutSide ? labelWidth : 0 };
203
+ if (props.__innnerPopup) {
204
+ clazz.push('c-searchbar-btns-' + utils_1.GLOBAL.CONFIG.SEARCHBAR.POPUP_BUTTONS_POSITION);
205
+ if (utils_1.GLOBAL.CONFIG.SEARCHBAR.POPUP_BUTTONS_POSITION != 'left') {
206
+ lodash_1.default.unset(style, 'marginLeft');
207
+ }
208
+ }
209
+ return [clazz.join(' '), style];
210
+ }, [layout.isOutSide]), 2), btnsClass = _d[0], fristBtnStyle = _d[1];
210
211
  var moreRender = function (layout) { return [
211
- lodash_1.default.tail(layout.rows).map(function (row) { return layout.isOutSide ? react_1.default.createElement("div", { className: 'c-searchbar-outgroup' }, rowRender(row, layout)) : react_1.default.createElement(antd_1.Input.Group, { compact: true }, rowRender(row, layout)); }),
212
- props.hideAction ? utils_1.Const.NONE : react_1.default.createElement("div", { className: 'c-searchbar-btns' },
213
- react_1.default.createElement(Button_1.Button, { disabled: props.disabled, style: { marginLeft: layout.isOutSide ? layout.labelWidth : 0 }, icon: 'search', type: "primary", onClick: function (e) { return utils_1.PageUtil.stopEvent(e, search); } }, txt(Const_1.V.BTN_SEARCH)),
214
- react_1.default.createElement(Button_1.Button, { disabled: props.disabled, icon: 'redo', onClick: function (e) { return utils_1.PageUtil.stopEvent(e, clear); } }, txt(Const_1.V.BTN_RESET)),
215
- !isAwaysExpand && react_1.default.createElement(Button_1.Button, { disabled: props.disabled, icon: 'filter', onClick: function (e) { return utils_1.PageUtil.stopEvent(e, function () { return setIsExpand(false); }); } }, txt(Const_1.V.BTN_LESS)))
212
+ lodash_1.default.tail(layout.rows).map(function (row) { return layout.isOutSide ? react_1.default.createElement("div", { className: 'c-searchbar-outgroup' }, rowRender(row)) : react_1.default.createElement(antd_1.Input.Group, { compact: true }, rowRender(row)); }),
213
+ props.hideAction ? utils_1.Const.NONE : react_1.default.createElement("div", { className: btnsClass },
214
+ react_1.default.createElement(Button_1.Button, { disabled: props.disabled, style: fristBtnStyle, icon: 'search', type: "primary", onClick: function (e) { return utils_1.PageUtil.stopEvent(e, search); } }, utils_1.i18n.txt(_i18n_1.V.BTN_SEARCH)),
215
+ react_1.default.createElement(Button_1.Button, { disabled: props.disabled, icon: 'redo', onClick: function (e) { return utils_1.PageUtil.stopEvent(e, clear); } }, utils_1.i18n.txt(_i18n_1.V.BTN_RESET)),
216
+ !isAwaysExpand && react_1.default.createElement(Button_1.Button, { disabled: props.disabled, icon: 'filter', onClick: function (e) { return utils_1.PageUtil.stopEvent(e, function () { return setIsExpand(false); }); } }, utils_1.i18n.txt(_i18n_1.V.BTN_LESS)))
216
217
  ]; };
218
+ var fieldsStyle = (0, react_1.useMemo)(function () {
219
+ if (layout == null)
220
+ return {};
221
+ var width = cols * (labelWidth + inputWidth);
222
+ if (props.__innnerPopup)
223
+ return { width: width + 12 };
224
+ return { minWidth: width + 90 };
225
+ }, [layout.rows]);
217
226
  if (layout == null)
218
227
  return react_1.default.createElement("div", { className: 'c-searchbar-fields' });
219
- return react_1.default.createElement("div", { className: 'c-searchbar-fields', style: { minWidth: layout.minWidth } }, layout.rows.length && react_1.default.createElement(react_1.default.Fragment, null,
228
+ return react_1.default.createElement("div", { className: 'c-searchbar-fields', style: fieldsStyle }, layout.rows.length && react_1.default.createElement(react_1.default.Fragment, null,
220
229
  layout.isOutSide ? react_1.default.createElement("div", { className: "c-searchbar-outgroup c-searchbar-fixgroup" },
221
- rowRender(layout.rows[0], layout),
230
+ rowRender(layout.rows[0]),
222
231
  btnRender(layout.rows.length, isExpand)) : react_1.default.createElement(antd_1.Input.Group, { compact: true, className: "c-searchbar-fixgroup" },
223
- rowRender(layout.rows[0], layout),
232
+ rowRender(layout.rows[0]),
224
233
  btnRender(layout.rows.length, isExpand)),
225
234
  isExpand && moreRender(layout)));
226
235
  };
236
+ exports.InnerSearchBarByField = InnerSearchBarByField;
237
+ var SearchBarByField = function (props) { return react_1.default.createElement(exports.InnerSearchBarByField, __assign({}, props)); };
227
238
  exports.SearchBarByField = SearchBarByField;
@@ -56,32 +56,34 @@ var antd_1 = require("antd");
56
56
  var Popover_1 = require("../_adapt/Popover");
57
57
  var ByField_1 = require("./ByField");
58
58
  var utils_1 = require("../../utils");
59
- var Const_1 = require("../_setup/Const");
59
+ var _i18n_1 = require("../_i18n");
60
60
  var SearchBarByKeyword = function (props) {
61
61
  var _a = __read((0, react_1.useState)(false), 2), open = _a[0], setOpen = _a[1];
62
62
  var spanRef = (0, react_1.useRef)(null);
63
- var inputProps = {
64
- className: "c-searchbar-keyword",
65
- placeholder: utils_1.i18n.txt(Const_1.V.INPUT_SEARCH_KEYWORD),
66
- allowClear: true,
67
- };
68
- if (props.keyword !== true) {
69
- if (props.keyword.placeholder) {
70
- inputProps.placeholder = props.keyword.placeholder;
63
+ var inputProps = (0, react_1.useMemo)(function () {
64
+ var searchProps = {
65
+ className: "c-searchbar-keyword",
66
+ placeholder: utils_1.i18n.txt(_i18n_1.V.INPUT_SEARCH_KEYWORD),
67
+ allowClear: true,
68
+ };
69
+ if (props.keyword !== true) {
70
+ if (props.keyword.placeholder) {
71
+ searchProps.placeholder = props.keyword.placeholder;
72
+ }
71
73
  }
72
- }
74
+ return searchProps;
75
+ }, []);
76
+ var suffixProps = {};
73
77
  if (props.fields && props.fields.length) {
74
- inputProps.suffix = react_1.default.createElement(react_1.default.Fragment, null,
75
- react_1.default.createElement("span", { ref: spanRef, onClick: function () { return setOpen(true); }, style: { pointerEvents: props.disabled ? 'none' : 'unset' }, className: 'vicon vicon-menu', title: utils_1.i18n.txt(Const_1.V.INPUT_SEARCH_ADVANCE) }, "\u00A0"),
78
+ suffixProps.suffix = react_1.default.createElement(react_1.default.Fragment, null,
79
+ react_1.default.createElement("span", { ref: spanRef, onClick: function () { return setOpen(true); }, style: { pointerEvents: props.disabled ? 'none' : 'unset' }, className: 'vicon vicon-menu', title: utils_1.i18n.txt(_i18n_1.V.INPUT_SEARCH_ADVANCE) }, "\u00A0"),
76
80
  react_1.default.createElement(Popover_1.Popover, { open: open, onOpenChange: setOpen, trigger: "click", placement: "bottom", content: react_1.default.createElement(react_1.default.Fragment, null,
77
- react_1.default.createElement("h3", null, utils_1.i18n.txt(Const_1.V.INPUT_SEARCH_ADVANCE)),
81
+ react_1.default.createElement("h3", null, utils_1.i18n.txt(_i18n_1.V.INPUT_SEARCH_ADVANCE)),
78
82
  react_1.default.createElement("div", { className: 'c-searchbar' },
79
- react_1.default.createElement(ByField_1.SearchBarByField, __assign({}, props, { onSearch: function (param) {
83
+ react_1.default.createElement(ByField_1.InnerSearchBarByField, __assign({}, props, { __innerExpand: true, __innerOutside: true, __innnerPopup: true, onSearch: function (param) {
80
84
  props.onSearch(param);
81
85
  setOpen(false);
82
- },
83
- // @ts-ignore
84
- __innerExpand: true, __innerOutside: true })))), overlayClassName: 'c-searchbar-keyword-more', getPopupContainer: function () {
86
+ } })))), overlayClassName: 'c-searchbar-keyword-more', getPopupContainer: function () {
85
87
  var maskEls = document.getElementsByClassName('ant-modal-mask');
86
88
  var hasMask = false;
87
89
  for (var i = 0, _i = maskEls.length; i < _i; i++) {
@@ -95,6 +97,6 @@ var SearchBarByKeyword = function (props) {
95
97
  return spanRef.current.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement;
96
98
  } }));
97
99
  }
98
- return react_1.default.createElement(antd_1.Input.Search, __assign({}, inputProps, { onSearch: function (keyword) { return props.onSearch({ keyword_: keyword }); }, enterButton: utils_1.i18n.txt(Const_1.V.BTN_SEARCH) }));
100
+ return react_1.default.createElement(antd_1.Input.Search, __assign({}, inputProps, suffixProps, { onSearch: function (keyword) { return props.onSearch({ keyword_: keyword }); }, enterButton: utils_1.i18n.txt(_i18n_1.V.BTN_SEARCH) }));
99
101
  };
100
102
  exports.SearchBarByKeyword = SearchBarByKeyword;
@@ -64,10 +64,8 @@ export type Field = BaseItem & {
64
64
  config?: any;
65
65
  };
66
66
  /**
67
- *
68
- * 说明,内部两个属性,暂不开放,如需使用,自行处理编译问题
69
- * __innerExpand
70
- * __innerOutside
67
+ * 当没有指定 keyword时,SearchBar的配置参数
68
+ * 指字 keyword 时,将出以弹出方式展示
71
69
  */
72
70
  export type SearchBarByFieldProps = {
73
71
  /**
@@ -57,7 +57,7 @@ exports.BUTTON_EXPORT = exports.BUTTON_IMPORT = exports.BUTTON_MORE = exports.BU
57
57
  var react_1 = __importStar(require("react"));
58
58
  var lodash_1 = __importDefault(require("lodash"));
59
59
  var ActionButtons_1 = require("../../SearchBar/ActionButtons");
60
- var Const_1 = require("../../_setup/Const");
60
+ var _i18n_1 = require("../../_i18n");
61
61
  var i18n_1 = require("../../../utils/i18n");
62
62
  var hooks_1 = require("../../../hooks");
63
63
  var convertButton = function (item, selectedRowKeys, selectedObjects, queryParam) {
@@ -102,18 +102,18 @@ exports.ActionBar = ActionBar;
102
102
  /**
103
103
  * 通用添加按钮
104
104
  */
105
- var BUTTON_ADD = function (onClick, props) { return (__assign(__assign({ label: (0, i18n_1.txt)(Const_1.V.ACT_ADD), icon: 'plus', type: 'primary' }, props), { onClick: onClick })); };
105
+ var BUTTON_ADD = function (onClick, props) { return (__assign(__assign({ label: (0, i18n_1.txt)(_i18n_1.V.ACT_ADD), icon: 'plus', type: 'primary' }, props), { onClick: onClick })); };
106
106
  exports.BUTTON_ADD = BUTTON_ADD;
107
107
  /**
108
108
  * 通用删除按钮
109
109
  */
110
- var BUTTON_DELETE = function (onClick, props) { return (__assign(__assign({ label: (0, i18n_1.txt)(Const_1.V.ACT_DELETE), icon: 'delete', danger: true, mustSelected: true, confirm: (0, i18n_1.txt)(Const_1.V.ACT_DELETE_BATCH) }, props), { onClick: onClick })); };
110
+ var BUTTON_DELETE = function (onClick, props) { return (__assign(__assign({ label: (0, i18n_1.txt)(_i18n_1.V.ACT_DELETE), icon: 'delete', danger: true, mustSelected: true, confirm: (0, i18n_1.txt)(_i18n_1.V.ACT_DELETE_BATCH) }, props), { onClick: onClick })); };
111
111
  exports.BUTTON_DELETE = BUTTON_DELETE;
112
112
  /**
113
113
  * 通用更多按钮,需要传子菜单
114
114
  */
115
115
  var BUTTON_MORE = function (children) { return ({
116
- label: (0, i18n_1.txt)(Const_1.V.BTN_MORE),
116
+ label: (0, i18n_1.txt)(_i18n_1.V.BTN_MORE),
117
117
  onClick: null,
118
118
  children: children
119
119
  }); };
@@ -121,10 +121,10 @@ exports.BUTTON_MORE = BUTTON_MORE;
121
121
  /**
122
122
  * 通用导入按钮
123
123
  */
124
- var BUTTON_IMPORT = function (onClick, props) { return (__assign(__assign({ label: (0, i18n_1.txt)(Const_1.V.BTN_IMPORT), icon: 'import' }, props), { onClick: onClick })); };
124
+ var BUTTON_IMPORT = function (onClick, props) { return (__assign(__assign({ label: (0, i18n_1.txt)(_i18n_1.V.BTN_IMPORT), icon: 'import' }, props), { onClick: onClick })); };
125
125
  exports.BUTTON_IMPORT = BUTTON_IMPORT;
126
126
  /**
127
127
  * 通用导出按钮
128
128
  */
129
- var BUTTON_EXPORT = function (onClick, props) { return (__assign(__assign({ label: (0, i18n_1.txt)(Const_1.V.BTN_EXPORT), icon: 'export' }, props), { onClick: onClick })); };
129
+ var BUTTON_EXPORT = function (onClick, props) { return (__assign(__assign({ label: (0, i18n_1.txt)(_i18n_1.V.BTN_EXPORT), icon: 'export' }, props), { onClick: onClick })); };
130
130
  exports.BUTTON_EXPORT = BUTTON_EXPORT;
@@ -20,7 +20,7 @@ var lodash_1 = __importDefault(require("lodash"));
20
20
  var Popconfirm_1 = require("../../_adapt/Popconfirm");
21
21
  var Icon_1 = require("../../_adapt/Icon");
22
22
  var utils_1 = require("../../../utils");
23
- var Const_1 = require("../../_setup/Const");
23
+ var _i18n_1 = require("../../_i18n");
24
24
  var DEFAULT_CLASS = {
25
25
  INFO: 'c-oper-info',
26
26
  EDIT: 'c-oper-edit',
@@ -29,7 +29,7 @@ var DEFAULT_CLASS = {
29
29
  var INFO = function (props) {
30
30
  if (props.roleCode && !utils_1.PageUtil.hasRole(props.roleCode))
31
31
  return react_1.default.createElement(react_1.default.Fragment, null);
32
- var title = utils_1.i18n.getText(props.ik, props.title, Const_1.V.BTN_INFO);
32
+ var title = utils_1.i18n.getText(props.ik, props.title, _i18n_1.V.BTN_INFO);
33
33
  return react_1.default.createElement("span", { className: DEFAULT_CLASS.INFO, onClick: function (evt) { return utils_1.PageUtil.stopEvent(evt, props.onClick); }, title: "".concat(title, " ").concat(props.name || '') },
34
34
  react_1.default.createElement(Icon_1.Icon, { type: 'search' }),
35
35
  react_1.default.createElement("span", null, title));
@@ -38,7 +38,7 @@ exports.INFO = INFO;
38
38
  var EDIT = function (props) {
39
39
  if (props.roleCode && !utils_1.PageUtil.hasRole(props.roleCode))
40
40
  return react_1.default.createElement(react_1.default.Fragment, null);
41
- var title = utils_1.i18n.getText(props.ik, props.title, Const_1.V.ACT_UPDATE);
41
+ var title = utils_1.i18n.getText(props.ik, props.title, _i18n_1.V.ACT_UPDATE);
42
42
  return react_1.default.createElement("span", { className: DEFAULT_CLASS.EDIT, onClick: function (evt) { return utils_1.PageUtil.stopEvent(evt, props.onClick); }, title: "".concat(title, " ").concat(props.name || '') },
43
43
  react_1.default.createElement(Icon_1.Icon, { type: 'edit' }),
44
44
  react_1.default.createElement("span", null, title));
@@ -47,8 +47,8 @@ exports.EDIT = EDIT;
47
47
  var DELETE = function (props) {
48
48
  if (props.roleCode && !utils_1.PageUtil.hasRole(props.roleCode))
49
49
  return react_1.default.createElement(react_1.default.Fragment, null);
50
- var title = utils_1.i18n.getText(props.ik, props.title, Const_1.V.ACT_DELETE);
51
- var popTitle = utils_1.i18n.txt(Const_1.V.ACT_DELETE_CONFIRM, props.name || '');
50
+ var title = utils_1.i18n.getText(props.ik, props.title, _i18n_1.V.ACT_DELETE);
51
+ var popTitle = utils_1.i18n.txt(_i18n_1.V.ACT_DELETE_CONFIRM, props.name || '');
52
52
  return react_1.default.createElement(Popconfirm_1.Popconfirm, { onConfirm: function (e) { return utils_1.PageUtil.stopEvent(e, function () { return props.onClick(); }); }, placement: "right", title: react_1.default.createElement("span", null, popTitle), overlayClassName: 'c-table-action-confirm' },
53
53
  react_1.default.createElement("span", { className: DEFAULT_CLASS.DELETE, title: "".concat(title, " ").concat(props.name || '') },
54
54
  react_1.default.createElement(Icon_1.Icon, { type: 'delete' }),
@@ -92,11 +92,11 @@ var COL_OPERACTION = function (props) {
92
92
  if (len > 0) {
93
93
  clazz.push('c-table-actions-' + len);
94
94
  }
95
- return { align: 'center', title: utils_1.i18n.getText(Const_1.V.TXT_OPERATION), ellipsis: false, className: clazz.join(' '), render: props };
95
+ return { align: 'center', title: utils_1.i18n.getText(_i18n_1.V.TXT_OPERATION), ellipsis: false, className: clazz.join(' '), render: props };
96
96
  }
97
97
  else if (props.className) {
98
98
  clazz.push(props.className);
99
99
  }
100
- return __assign(__assign({ align: 'center' }, props), { title: utils_1.i18n.getText(props.ik, null, Const_1.V.TXT_OPERATION), ellipsis: false, className: clazz.join(' ') });
100
+ return __assign(__assign({ align: 'center' }, props), { title: utils_1.i18n.getText(props.ik, null, _i18n_1.V.TXT_OPERATION), ellipsis: false, className: clazz.join(' ') });
101
101
  };
102
102
  exports.COL_OPERACTION = COL_OPERACTION;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getIdxColumn = void 0;
7
7
  var lodash_1 = __importDefault(require("lodash"));
8
8
  var utils_1 = require("../../utils");
9
- var Const_1 = require("../_setup/Const");
9
+ var _i18n_1 = require("../_i18n");
10
10
  var getIdxColumn = function (ref, showIndex, isRank) {
11
11
  if (showIndex === void 0) { showIndex = null; }
12
12
  if (isRank === void 0) { isRank = false; }
@@ -21,7 +21,7 @@ var getIdxColumn = function (ref, showIndex, isRank) {
21
21
  }
22
22
  }
23
23
  else {
24
- title = utils_1.i18n.txt(isRank ? Const_1.V.TXT_RANK : Const_1.V.TXT_IDX);
24
+ title = utils_1.i18n.txt(isRank ? _i18n_1.V.TXT_RANK : _i18n_1.V.TXT_IDX);
25
25
  }
26
26
  var width = 48;
27
27
  if (ref.current < 1000) {
@@ -253,6 +253,8 @@ var _VTable = (0, react_1.forwardRef)(function (props, ref) {
253
253
  update();
254
254
  },
255
255
  getCheckboxProps: function (record) {
256
+ if (lodash_1.default.isFunction(props.selectDisabled))
257
+ return { disabled: props.selectDisabled(record) };
256
258
  if (!lodash_1.default.has(record, rowKey))
257
259
  return { disabled: true };
258
260
  return { disabled: false };
@@ -263,7 +265,7 @@ var _VTable = (0, react_1.forwardRef)(function (props, ref) {
263
265
  // scroll={scroll}
264
266
  // tableLayout="fixed"
265
267
  // showSorterTooltip={false}
266
- size: utils_1.GLOBAL.CONFIG.TABLE.SIZE, locale: { emptyText: react_1.default.createElement(antd_1.Empty, { style: { marginTop: 24 } }) } }, props, tableProps, { className: utils_1.StringUtil.className(['c-table'], props.className), pagination: false, columns: columns, dataSource: list, loading: isQuerying, onChange: function (x, y, field) {
268
+ size: utils_1.GLOBAL.CONFIG.TABLE.SIZE, locale: { emptyText: react_1.default.createElement(antd_1.Empty, { style: { marginTop: 24 } }) } }, lodash_1.default.omit(props, ['children']), tableProps, { className: utils_1.StringUtil.className(['c-table'], props.className), pagination: false, columns: columns, dataSource: list, loading: isQuerying, onChange: function (x, y, field) {
267
269
  if (field.column) {
268
270
  orderBy(field.field, field.order == 'ascend' ? 'asc' : 'desc');
269
271
  }