@nokecy/qc-ui 1.1.85 → 1.1.87

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.
@@ -51,6 +51,15 @@ export declare class GridPlusError extends Error {
51
51
  * 获取用户友好的错误消息
52
52
  */
53
53
  getUserMessage(): string;
54
+ /**
55
+ * 获取 ABP 远程服务返回的业务错误,供提示和列表空态保留准确原因。
56
+ *
57
+ * @author nokecy
58
+ */
59
+ getRemoteServiceError(): {
60
+ code?: string;
61
+ message?: string;
62
+ } | undefined;
54
63
  /**
55
64
  * 获取错误详情(用于日志)
56
65
  */
@@ -87,6 +87,12 @@ var GridPlusError = exports.GridPlusError = /*#__PURE__*/function (_Error) {
87
87
  _createClass(GridPlusError, [{
88
88
  key: "getUserMessage",
89
89
  value: function getUserMessage() {
90
+ var _this$getRemoteServic;
91
+ var remoteMessage = (_this$getRemoteServic = this.getRemoteServiceError()) === null || _this$getRemoteServic === void 0 ? void 0 : _this$getRemoteServic.message;
92
+ if (remoteMessage) {
93
+ return remoteMessage;
94
+ }
95
+
90
96
  // 在生产环境下,返回更友好的消息
91
97
  if (process.env.NODE_ENV === 'production') {
92
98
  switch (this.type) {
@@ -109,6 +115,20 @@ var GridPlusError = exports.GridPlusError = /*#__PURE__*/function (_Error) {
109
115
  return this.message;
110
116
  }
111
117
 
118
+ /**
119
+ * 获取 ABP 远程服务返回的业务错误,供提示和列表空态保留准确原因。
120
+ *
121
+ * @author nokecy
122
+ */
123
+ }, {
124
+ key: "getRemoteServiceError",
125
+ value: function getRemoteServiceError() {
126
+ var _this$context$origina, _this$context, _response;
127
+ var originalError = (_this$context$origina = (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.originalError) !== null && _this$context$origina !== void 0 ? _this$context$origina : this.originalError;
128
+ var remoteError = originalError === null || originalError === void 0 || (_response = originalError.response) === null || _response === void 0 || (_response = _response.data) === null || _response === void 0 ? void 0 : _response.error;
129
+ return remoteError && _typeof(remoteError) === 'object' ? remoteError : undefined;
130
+ }
131
+
112
132
  /**
113
133
  * 获取错误详情(用于日志)
114
134
  */
@@ -1,3 +1,4 @@
1
+ /** 包含 AG Grid 全部中文词条,避免组件局部配置覆盖宿主语言包后菜单回退英文。@author nokecy */
1
2
  export declare const localeText: {
2
3
  page: string;
3
4
  more: string;
@@ -138,7 +139,7 @@ export declare const localeText: {
138
139
  toolPanelButton: string;
139
140
  noRowsToShow: string;
140
141
  valueAggregation: string;
141
- autosizeThiscolumn: string;
142
+ autosizeThisColumn: string;
142
143
  autosizeAllColumns: string;
143
144
  groupBy: string;
144
145
  ungroupBy: string;
@@ -159,4 +160,415 @@ export declare const localeText: {
159
160
  totalAndFilteredRows: string;
160
161
  and: string;
161
162
  or: string;
163
+ selectAllSearchResults: string;
164
+ addCurrentSelectionToFilter: string;
165
+ noMatches: string;
166
+ blank: string;
167
+ notBlank: string;
168
+ empty: string;
169
+ inRangeStart: string;
170
+ inRangeEnd: string;
171
+ before: string;
172
+ after: string;
173
+ andCondition: string;
174
+ orCondition: string;
175
+ resetFilter: string;
176
+ clearFilter: string;
177
+ cancelFilter: string;
178
+ textFilter: string;
179
+ numberFilter: string;
180
+ dateFilter: string;
181
+ setFilter: string;
182
+ groupFilterSelect: string;
183
+ advancedFilterContains: string;
184
+ advancedFilterNotContains: string;
185
+ advancedFilterTextEquals: string;
186
+ advancedFilterTextNotEqual: string;
187
+ advancedFilterStartsWith: string;
188
+ advancedFilterEndsWith: string;
189
+ advancedFilterBlank: string;
190
+ advancedFilterNotBlank: string;
191
+ advancedFilterEquals: string;
192
+ advancedFilterNotEqual: string;
193
+ advancedFilterGreaterThan: string;
194
+ advancedFilterGreaterThanOrEqual: string;
195
+ advancedFilterLessThan: string;
196
+ advancedFilterLessThanOrEqual: string;
197
+ advancedFilterTrue: string;
198
+ advancedFilterFalse: string;
199
+ advancedFilterAnd: string;
200
+ advancedFilterOr: string;
201
+ advancedFilterApply: string;
202
+ advancedFilterBuilder: string;
203
+ advancedFilterValidationMissingColumn: string;
204
+ advancedFilterValidationMissingOption: string;
205
+ advancedFilterValidationMissingValue: string;
206
+ advancedFilterValidationInvalidColumn: string;
207
+ advancedFilterValidationInvalidOption: string;
208
+ advancedFilterValidationMissingQuote: string;
209
+ advancedFilterValidationNotANumber: string;
210
+ advancedFilterValidationInvalidDate: string;
211
+ advancedFilterValidationMissingCondition: string;
212
+ advancedFilterValidationJoinOperatorMismatch: string;
213
+ advancedFilterValidationInvalidJoinOperator: string;
214
+ advancedFilterValidationMissingEndBracket: string;
215
+ advancedFilterValidationExtraEndBracket: string;
216
+ advancedFilterValidationMessage: string;
217
+ advancedFilterValidationMessageAtEnd: string;
218
+ advancedFilterBuilderTitle: string;
219
+ advancedFilterBuilderApply: string;
220
+ advancedFilterBuilderCancel: string;
221
+ advancedFilterBuilderAddButtonTooltip: string;
222
+ advancedFilterBuilderRemoveButtonTooltip: string;
223
+ advancedFilterBuilderMoveUpButtonTooltip: string;
224
+ advancedFilterBuilderMoveDownButtonTooltip: string;
225
+ advancedFilterBuilderAddJoin: string;
226
+ advancedFilterBuilderAddCondition: string;
227
+ advancedFilterBuilderSelectColumn: string;
228
+ advancedFilterBuilderSelectOption: string;
229
+ advancedFilterBuilderEnterValue: string;
230
+ advancedFilterBuilderValidationAlreadyApplied: string;
231
+ advancedFilterBuilderValidationIncomplete: string;
232
+ advancedFilterBuilderValidationSelectColumn: string;
233
+ advancedFilterBuilderValidationSelectOption: string;
234
+ advancedFilterBuilderValidationEnterValue: string;
235
+ filters: string;
236
+ pivotMode: string;
237
+ groups: string;
238
+ values: string;
239
+ pivots: string;
240
+ rowDragRow: string;
241
+ rowDragRows: string;
242
+ loadingError: string;
243
+ enabled: string;
244
+ noAggregation: string;
245
+ ungroupAll: string;
246
+ addToValues: string;
247
+ removeFromValues: string;
248
+ addToLabels: string;
249
+ removeFromLabels: string;
250
+ ctrlX: string;
251
+ columnFilter: string;
252
+ columnChooser: string;
253
+ chooseColumns: string;
254
+ sortAscending: string;
255
+ sortDescending: string;
256
+ sortUnSort: string;
257
+ pageLastRowUnknown: string;
258
+ nextPage: string;
259
+ lastPage: string;
260
+ firstPage: string;
261
+ previousPage: string;
262
+ pageSizeSelectorLabel: string;
263
+ footerTotal: string;
264
+ statusBarLastRowUnknown: string;
265
+ scrollColumnIntoView: string;
266
+ pivotColumnGroupTotals: string;
267
+ pivotChartAndPivotMode: string;
268
+ donut: string;
269
+ stackedLine: string;
270
+ normalizedLine: string;
271
+ scatter: string;
272
+ bubble: string;
273
+ polarChart: string;
274
+ radarLine: string;
275
+ radarArea: string;
276
+ nightingale: string;
277
+ radialColumn: string;
278
+ radialBar: string;
279
+ statisticalChart: string;
280
+ boxPlot: string;
281
+ rangeBar: string;
282
+ rangeArea: string;
283
+ hierarchicalChart: string;
284
+ treemap: string;
285
+ sunburst: string;
286
+ specializedChart: string;
287
+ waterfall: string;
288
+ heatmap: string;
289
+ AreaColumnCombo: string;
290
+ defaultCategory: string;
291
+ switchCategorySeries: string;
292
+ categoryValues: string;
293
+ seriesLabels: string;
294
+ aggregate: string;
295
+ xyValues: string;
296
+ paired: string;
297
+ xAxis: string;
298
+ yAxis: string;
299
+ polarAxis: string;
300
+ radiusAxis: string;
301
+ navigator: string;
302
+ zoom: string;
303
+ animation: string;
304
+ crosshair: string;
305
+ preferredLength: string;
306
+ xType: string;
307
+ axisType: string;
308
+ automatic: string;
309
+ category: string;
310
+ number: string;
311
+ time: string;
312
+ timeFormat: string;
313
+ autoRotate: string;
314
+ labelRotation: string;
315
+ circle: string;
316
+ polygon: string;
317
+ square: string;
318
+ cross: string;
319
+ diamond: string;
320
+ plus: string;
321
+ triangle: string;
322
+ heart: string;
323
+ orientation: string;
324
+ fixed: string;
325
+ parallel: string;
326
+ perpendicular: string;
327
+ radiusAxisPosition: string;
328
+ gridLines: string;
329
+ spacing: string;
330
+ chartStyle: string;
331
+ chartTitles: string;
332
+ chartTitle: string;
333
+ chartSubtitle: string;
334
+ horizontalAxisTitle: string;
335
+ verticalAxisTitle: string;
336
+ polarAxisTitle: string;
337
+ titlePlaceholder: string;
338
+ weight: string;
339
+ calloutLabels: string;
340
+ sectorLabels: string;
341
+ positionRatio: string;
342
+ shape: string;
343
+ minSize: string;
344
+ maxSize: string;
345
+ itemSpacing: string;
346
+ layoutHorizontalSpacing: string;
347
+ layoutVerticalSpacing: string;
348
+ lineDash: string;
349
+ lineDashOffset: string;
350
+ scrollingZoom: string;
351
+ scrollingStep: string;
352
+ selectingZoom: string;
353
+ durationMillis: string;
354
+ crosshairLabel: string;
355
+ crosshairSnap: string;
356
+ strokeColor: string;
357
+ miniChart: string;
358
+ seriesItems: string;
359
+ seriesItemType: string;
360
+ seriesItemPositive: string;
361
+ seriesItemNegative: string;
362
+ seriesItemLabels: string;
363
+ columnGroup: string;
364
+ barGroup: string;
365
+ pieGroup: string;
366
+ lineGroup: string;
367
+ scatterGroup: string;
368
+ areaGroup: string;
369
+ polarGroup: string;
370
+ statisticalGroup: string;
371
+ hierarchicalGroup: string;
372
+ specializedGroup: string;
373
+ combinationGroup: string;
374
+ groupedColumnTooltip: string;
375
+ stackedColumnTooltip: string;
376
+ normalizedColumnTooltip: string;
377
+ groupedBarTooltip: string;
378
+ stackedBarTooltip: string;
379
+ normalizedBarTooltip: string;
380
+ pieTooltip: string;
381
+ donutTooltip: string;
382
+ lineTooltip: string;
383
+ stackedLineTooltip: string;
384
+ normalizedLineTooltip: string;
385
+ groupedAreaTooltip: string;
386
+ stackedAreaTooltip: string;
387
+ normalizedAreaTooltip: string;
388
+ scatterTooltip: string;
389
+ bubbleTooltip: string;
390
+ histogramTooltip: string;
391
+ radialColumnTooltip: string;
392
+ radialBarTooltip: string;
393
+ radarLineTooltip: string;
394
+ radarAreaTooltip: string;
395
+ nightingaleTooltip: string;
396
+ rangeBarTooltip: string;
397
+ rangeAreaTooltip: string;
398
+ boxPlotTooltip: string;
399
+ treemapTooltip: string;
400
+ sunburstTooltip: string;
401
+ waterfallTooltip: string;
402
+ heatmapTooltip: string;
403
+ columnLineComboTooltip: string;
404
+ areaColumnComboTooltip: string;
405
+ customComboTooltip: string;
406
+ innerRadius: string;
407
+ startAngle: string;
408
+ endAngle: string;
409
+ reverseDirection: string;
410
+ seriesPadding: string;
411
+ tile: string;
412
+ whisker: string;
413
+ cap: string;
414
+ capLengthRatio: string;
415
+ labelPlacement: string;
416
+ inside: string;
417
+ outside: string;
418
+ noDataToChart: string;
419
+ pivotChartRequiresPivotMode: string;
420
+ chartSettingsToolbarTooltip: string;
421
+ chartLinkToolbarTooltip: string;
422
+ chartUnlinkToolbarTooltip: string;
423
+ chartDownloadToolbarTooltip: string;
424
+ chartMenuToolbarTooltip: string;
425
+ chartEdit: string;
426
+ chartAdvancedSettings: string;
427
+ chartLink: string;
428
+ chartUnlink: string;
429
+ chartDownload: string;
430
+ histogramFrequency: string;
431
+ seriesChartType: string;
432
+ secondaryAxis: string;
433
+ seriesAdd: string;
434
+ categoryAdd: string;
435
+ bar: string;
436
+ column: string;
437
+ histogram: string;
438
+ advancedSettings: string;
439
+ direction: string;
440
+ horizontal: string;
441
+ vertical: string;
442
+ seriesGroupType: string;
443
+ groupedSeriesGroupType: string;
444
+ stackedSeriesGroupType: string;
445
+ normalizedSeriesGroupType: string;
446
+ legendEnabled: string;
447
+ invalidColor: string;
448
+ groupedColumnFull: string;
449
+ stackedColumnFull: string;
450
+ normalizedColumnFull: string;
451
+ groupedBarFull: string;
452
+ stackedBarFull: string;
453
+ normalizedBarFull: string;
454
+ stackedAreaFull: string;
455
+ normalizedAreaFull: string;
456
+ customCombo: string;
457
+ funnel: string;
458
+ coneFunnel: string;
459
+ pyramid: string;
460
+ funnelGroup: string;
461
+ funnelTooltip: string;
462
+ coneFunnelTooltip: string;
463
+ pyramidTooltip: string;
464
+ dropOff: string;
465
+ stageLabels: string;
466
+ reverse: string;
467
+ ariaAdvancedFilterBuilderItem: string;
468
+ ariaAdvancedFilterBuilderItemValidation: string;
469
+ ariaAdvancedFilterBuilderList: string;
470
+ ariaAdvancedFilterBuilderFilterItem: string;
471
+ ariaAdvancedFilterBuilderGroupItem: string;
472
+ ariaAdvancedFilterBuilderColumn: string;
473
+ ariaAdvancedFilterBuilderOption: string;
474
+ ariaAdvancedFilterBuilderValueP: string;
475
+ ariaAdvancedFilterBuilderJoinOperator: string;
476
+ ariaAdvancedFilterInput: string;
477
+ ariaChecked: string;
478
+ ariaColumn: string;
479
+ ariaColumnGroup: string;
480
+ ariaColumnFiltered: string;
481
+ ariaColumnSelectAll: string;
482
+ ariaDateFilterInput: string;
483
+ ariaDefaultListName: string;
484
+ ariaFilterColumnsInput: string;
485
+ ariaFilterFromValue: string;
486
+ ariaFilterInput: string;
487
+ ariaFilterList: string;
488
+ ariaFilterToValue: string;
489
+ ariaFilterValue: string;
490
+ ariaFilterMenuOpen: string;
491
+ ariaFilteringOperator: string;
492
+ ariaHidden: string;
493
+ ariaIndeterminate: string;
494
+ ariaInputEditor: string;
495
+ ariaMenuColumn: string;
496
+ ariaFilterColumn: string;
497
+ ariaRowDeselect: string;
498
+ ariaHeaderSelection: string;
499
+ ariaSelectAllCells: string;
500
+ ariaRowSelectAll: string;
501
+ ariaRowToggleSelection: string;
502
+ ariaRowSelect: string;
503
+ ariaRowSelectionDisabled: string;
504
+ ariaSearch: string;
505
+ ariaSortableColumn: string;
506
+ ariaToggleVisibility: string;
507
+ ariaToggleCellValue: string;
508
+ ariaUnchecked: string;
509
+ ariaVisible: string;
510
+ ariaSearchFilterValues: string;
511
+ ariaPageSizeSelectorLabel: string;
512
+ ariaChartMenuClose: string;
513
+ ariaChartSelected: string;
514
+ ariaSkeletonCellLoadingFailed: string;
515
+ ariaSkeletonCellLoading: string;
516
+ ariaRowGroupDropZonePanelLabel: string;
517
+ ariaValuesDropZonePanelLabel: string;
518
+ ariaPivotDropZonePanelLabel: string;
519
+ ariaDropZoneColumnComponentDescription: string;
520
+ ariaDropZoneColumnValueItemDescription: string;
521
+ ariaDropZoneColumnGroupItemDescription: string;
522
+ ariaDropZoneColumnComponentAggFuncSeparator: string;
523
+ ariaDropZoneColumnComponentSortAscending: string;
524
+ ariaDropZoneColumnComponentSortDescending: string;
525
+ ariaLabelDialog: string;
526
+ ariaLabelColumnMenu: string;
527
+ ariaLabelColumnFilter: string;
528
+ ariaLabelCellEditor: string;
529
+ ariaLabelSelectField: string;
530
+ ariaLabelLoadingContextMenu: string;
531
+ ariaLabelRichSelectField: string;
532
+ ariaLabelRichSelectToggleSelection: string;
533
+ ariaLabelRichSelectDeselectAllItems: string;
534
+ ariaLabelRichSelectDeleteSelection: string;
535
+ ariaLabelTooltip: string;
536
+ ariaLabelContextMenu: string;
537
+ ariaLabelSubMenu: string;
538
+ ariaLabelAggregationFunction: string;
539
+ ariaLabelAdvancedFilterAutocomplete: string;
540
+ ariaLabelAdvancedFilterBuilderAddField: string;
541
+ ariaLabelAdvancedFilterBuilderColumnSelectField: string;
542
+ ariaLabelAdvancedFilterBuilderOptionSelectField: string;
543
+ ariaLabelAdvancedFilterBuilderJoinSelectField: string;
544
+ ariaColumnPanelList: string;
545
+ ariaFilterPanelList: string;
546
+ thousandSeparator: string;
547
+ decimalSeparator: string;
548
+ true: string;
549
+ false: string;
550
+ invalidDate: string;
551
+ invalidNumber: string;
552
+ january: string;
553
+ february: string;
554
+ march: string;
555
+ april: string;
556
+ may: string;
557
+ june: string;
558
+ july: string;
559
+ august: string;
560
+ september: string;
561
+ october: string;
562
+ november: string;
563
+ december: string;
564
+ timeFormatSlashesDDMMYYYY: string;
565
+ timeFormatSlashesMMDDYYYY: string;
566
+ timeFormatSlashesDDMMYY: string;
567
+ timeFormatSlashesMMDDYY: string;
568
+ timeFormatDotsDDMYY: string;
569
+ timeFormatDotsMDDYY: string;
570
+ timeFormatDashesYYYYMMDD: string;
571
+ timeFormatSpacesDDMMMMYYYY: string;
572
+ timeFormatHHMMSS: string;
573
+ timeFormatHHMMSSAmPm: string;
162
574
  };
@@ -4,7 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.localeText = void 0;
7
- var localeText = exports.localeText = {
7
+ var _locale = require("@ag-grid-community/locale");
8
+ 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); }
9
+ 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; }
10
+ 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; }
11
+ 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; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
13
+ 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); }
14
+ /** QC_UI 在完整 AG Grid 中文包上覆写公司约定用语。@author nokecy */
15
+ var localeTextOverrides = {
8
16
  // for filter panel
9
17
  page: '页',
10
18
  more: '更多',
@@ -154,7 +162,7 @@ var localeText = exports.localeText = {
154
162
  toolPanelButton: '工具面板按钮',
155
163
  noRowsToShow: '暂无数据',
156
164
  valueAggregation: '值聚合',
157
- autosizeThiscolumn: '自动调整此列',
165
+ autosizeThisColumn: '自动调整此列',
158
166
  autosizeAllColumns: '自动调整所有列',
159
167
  groupBy: '按此列分组',
160
168
  ungroupBy: '取消此列分组',
@@ -175,4 +183,7 @@ var localeText = exports.localeText = {
175
183
  totalAndFilteredRows: '行',
176
184
  and: '和',
177
185
  or: '或'
178
- };
186
+ };
187
+
188
+ /** 包含 AG Grid 全部中文词条,避免组件局部配置覆盖宿主语言包后菜单回退英文。@author nokecy */
189
+ var localeText = exports.localeText = _objectSpread(_objectSpread({}, _locale.AG_GRID_LOCALE_CN), localeTextOverrides);
@@ -69,6 +69,20 @@ var CellFocusScope = exports.CellFocusScope = function CellFocusScope(_ref) {
69
69
  var handlePointerDownCapture = function handlePointerDownCapture(event) {
70
70
  pointerEventsInScopeRef.current.add(event.nativeEvent);
71
71
  };
72
+ var handleClickCapture = function handleClickCapture(event) {
73
+ var target = event.target;
74
+ if (!(target instanceof Element)) return;
75
+ // DatePicker 选中日期后会关闭弹层,但通常把焦点留在输入框里,单靠 blur 无法恢复静默态。
76
+ // 只处理日期面板里的提交动作;范围日期选择第一端后面板仍开着,不会提前退出编辑。
77
+ // @author nokecy
78
+ var selected = target.closest('.ant-picker-dropdown .ant-picker-cell-inner, .ant-picker-dropdown .ant-picker-ok, .ant-picker-dropdown .ant-picker-today-btn, .ant-picker-dropdown .ant-picker-now-btn');
79
+ if (!selected) return;
80
+ var dropdown = selected.closest('.ant-picker-dropdown');
81
+ window.setTimeout(function () {
82
+ if (dropdown !== null && dropdown !== void 0 && dropdown.isConnected && !dropdown.classList.contains('ant-picker-dropdown-hidden')) return;
83
+ scheduleLeave(true, true);
84
+ }, 0);
85
+ };
72
86
  (0, _react.useEffect)(function () {
73
87
  var handleDocumentPointerDown = function handleDocumentPointerDown(event) {
74
88
  var root = rootRef.current;
@@ -93,6 +107,7 @@ var CellFocusScope = exports.CellFocusScope = function CellFocusScope(_ref) {
93
107
  },
94
108
  onFocus: handleFocus,
95
109
  onBlur: handleBlur,
110
+ onClickCapture: handleClickCapture,
96
111
  onPointerDownCapture: handlePointerDownCapture
97
112
  }, children);
98
113
  };
@@ -8,6 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _agGridReact = require("ag-grid-react");
9
9
  var _react2 = require("@formily/react");
10
10
  var _uniqueId = _interopRequireDefault(require("lodash/uniqueId"));
11
+ var _locale = require("../ag-grid-plus/locale");
11
12
  var _utils = require("./utils");
12
13
  var _columnGroup = require("./columnGroup");
13
14
  var _indexColumn = require("./indexColumn");
@@ -364,6 +365,7 @@ var ArrayTableInner = (0, _react2.observer)(function (props) {
364
365
  }
365
366
  }, /*#__PURE__*/_react.default.createElement(_agGridReact.AgGridReact, {
366
367
  theme: arrayTableTheme,
368
+ localeText: _locale.localeText,
367
369
  context: gridContext,
368
370
  onGridReady: function onGridReady(params) {
369
371
  params.api.hidePopupMenu();
@@ -8,6 +8,7 @@ var _antdV = require("@formily/antd-v5");
8
8
  var _antd = require("antd");
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _hoistStatics = require("./hoistStatics");
11
+ var _selectNumberInputTextOnClick = require("./selectNumberInputTextOnClick");
11
12
  var _values = require("./values");
12
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -16,6 +17,7 @@ var readingControl = function readingControl(Control, Preview) {
16
17
  var map = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (props) {
17
18
  return props;
18
19
  };
20
+ var selectNumberOnClick = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
19
21
  var Component = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
20
22
  var _props$disabled;
21
23
  var _ConfigProvider$useCo = _antd.ConfigProvider.useConfig(),
@@ -23,7 +25,9 @@ var readingControl = function readingControl(Control, Preview) {
23
25
  var reading = props.readOnly || ((_props$disabled = props.disabled) !== null && _props$disabled !== void 0 ? _props$disabled : componentDisabled);
24
26
  return reading ? /*#__PURE__*/_react.default.createElement(_antdV.PreviewText.Placeholder, {
25
27
  value: "\u2014"
26
- }, /*#__PURE__*/_react.default.createElement(Preview, map(props))) : /*#__PURE__*/_react.default.createElement(Control, _extends({}, props, {
28
+ }, /*#__PURE__*/_react.default.createElement(Preview, map(props))) : /*#__PURE__*/_react.default.createElement(Control, _extends({}, props, selectNumberOnClick ? {
29
+ onClick: (0, _selectNumberInputTextOnClick.selectNumberInputTextOnClick)(props.onClick)
30
+ } : {}, {
27
31
  ref: ref
28
32
  }));
29
33
  });
@@ -53,7 +57,7 @@ var Input = exports.Input = readingControl(_antd.Input, _antdV.PreviewText.Input
53
57
  Input.TextArea = readingControl(_antd.Input.TextArea, _antdV.PreviewText.Input);
54
58
  Input.Password = readingControl(_antd.Input.Password, PasswordPreview);
55
59
  Input.Search = readingControl(_antd.Input.Search, _antdV.PreviewText.Input);
56
- var InputNumber = exports.InputNumber = readingControl(_antd.InputNumber, _antdV.PreviewText.NumberPicker);
60
+ var InputNumber = exports.InputNumber = readingControl(_antd.InputNumber, _antdV.PreviewText.NumberPicker, undefined, true);
57
61
  var Select = exports.Select = readingControl(_antd.Select, ChoicePreview);
58
62
  var Switch = exports.Switch = readingControl(_antd.Switch, BooleanPreview);
59
63
  var Checkbox = exports.Checkbox = readingControl(_antd.Checkbox, BooleanPreview);
@@ -8,6 +8,7 @@ var _react = require("@formily/react");
8
8
  var _react2 = _interopRequireDefault(require("react"));
9
9
  var _hoistStatics = require("./hoistStatics");
10
10
  var Reading = _interopRequireWildcard(require("./controls"));
11
+ var _selectNumberInputTextOnClick = require("./selectNumberInputTextOnClick");
11
12
  var _arrayTable = require("./arrayTable");
12
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
14
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -30,6 +31,7 @@ function withReadingFields(components) {
30
31
  Password: Reading.Input.Password
31
32
  });
32
33
  var wrap = function wrap(Control, Preview) {
34
+ var selectNumberOnClick = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
33
35
  var Component = (0, _react.observer)(function (props) {
34
36
  var field = (0, _react.useField)();
35
37
  if (props.disabled || props.readOnly || field !== null && field !== void 0 && field.disabled || field !== null && field !== void 0 && field.readOnly) {
@@ -41,7 +43,9 @@ function withReadingFields(components) {
41
43
  disabled: true
42
44
  }));
43
45
  }
44
- return /*#__PURE__*/_react2.default.createElement(Control, props);
46
+ return /*#__PURE__*/_react2.default.createElement(Control, _extends({}, props, selectNumberOnClick ? {
47
+ onClick: (0, _selectNumberInputTextOnClick.selectNumberInputTextOnClick)(props.onClick)
48
+ } : {}));
45
49
  });
46
50
  var Wrapped = (0, _hoistStatics.hoistStatics)(Component, Control);
47
51
  // 嵌套控件同样按字段状态展示,例如Input.TextArea、DatePicker.RangePicker。
@@ -58,7 +62,7 @@ function withReadingFields(components) {
58
62
  try {
59
63
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
60
64
  var name = _step.value;
61
- result[name] = wrap(components[name], previews[name]);
65
+ result[name] = wrap(components[name], previews[name], name === 'NumberPicker');
62
66
  }
63
67
  // ArrayTable 阅读态保留动态列的标题和显隐状态。@author nokecy
64
68
  } catch (err) {
@@ -0,0 +1,3 @@
1
+ import type { MouseEventHandler } from 'react';
2
+ /** 数字框点击时全选当前输入文本,便于直接替换数值。@author nokecy */
3
+ export declare const selectNumberInputTextOnClick: (onClick?: MouseEventHandler<HTMLElement>) => MouseEventHandler<HTMLElement>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.selectNumberInputTextOnClick = void 0;
7
+ /** 数字框点击时全选当前输入文本,便于直接替换数值。@author nokecy */
8
+ var selectNumberInputTextOnClick = exports.selectNumberInputTextOnClick = function selectNumberInputTextOnClick(onClick) {
9
+ return function (event) {
10
+ onClick === null || onClick === void 0 || onClick(event);
11
+ var target = event.target;
12
+ if (target instanceof HTMLInputElement && !target.disabled && !target.readOnly) target.select();
13
+ };
14
+ };
@@ -38,6 +38,15 @@ var GridEmptyState = exports.GridEmptyState = function GridEmptyState() {
38
38
  actions = _React$useContext.actions,
39
39
  clearFilterAction = _React$useContext.clearFilterAction,
40
40
  onRetry = _React$useContext.onRetry;
41
+ var remoteError = error === null || error === void 0 ? void 0 : error.getRemoteServiceError();
42
+
43
+ // 组织上下文校验失败不是列表权限配置错误,应提示用户重新选择组织。
44
+ if ((remoteError === null || remoteError === void 0 ? void 0 : remoteError.code) === 'FactoryManagement:OrganizationNotAvailable') {
45
+ return /*#__PURE__*/_react.default.createElement(_antd.Empty, {
46
+ image: _antd.Empty.PRESENTED_IMAGE_SIMPLE,
47
+ description: remoteError.message || '所选组织不可用或未获得访问权限,请重新选择。'
48
+ });
49
+ }
41
50
 
42
51
  // 分支 1:无权限(403)——说明原因,不给任何入口
43
52
  if (error && httpStatusOf(error) === 403) {
@@ -51,6 +51,15 @@ export declare class GridPlusError extends Error {
51
51
  * 获取用户友好的错误消息
52
52
  */
53
53
  getUserMessage(): string;
54
+ /**
55
+ * 获取 ABP 远程服务返回的业务错误,供提示和列表空态保留准确原因。
56
+ *
57
+ * @author nokecy
58
+ */
59
+ getRemoteServiceError(): {
60
+ code?: string;
61
+ message?: string;
62
+ } | undefined;
54
63
  /**
55
64
  * 获取错误详情(用于日志)
56
65
  */