@nokecy/qc-ui 1.1.86 → 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
  };
@@ -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
  */
@@ -84,6 +84,12 @@ export var GridPlusError = /*#__PURE__*/function (_Error) {
84
84
  _createClass(GridPlusError, [{
85
85
  key: "getUserMessage",
86
86
  value: function getUserMessage() {
87
+ var _this$getRemoteServic;
88
+ var remoteMessage = (_this$getRemoteServic = this.getRemoteServiceError()) === null || _this$getRemoteServic === void 0 ? void 0 : _this$getRemoteServic.message;
89
+ if (remoteMessage) {
90
+ return remoteMessage;
91
+ }
92
+
87
93
  // 在生产环境下,返回更友好的消息
88
94
  if (process.env.NODE_ENV === 'production') {
89
95
  switch (this.type) {
@@ -106,6 +112,20 @@ export var GridPlusError = /*#__PURE__*/function (_Error) {
106
112
  return this.message;
107
113
  }
108
114
 
115
+ /**
116
+ * 获取 ABP 远程服务返回的业务错误,供提示和列表空态保留准确原因。
117
+ *
118
+ * @author nokecy
119
+ */
120
+ }, {
121
+ key: "getRemoteServiceError",
122
+ value: function getRemoteServiceError() {
123
+ var _this$context$origina, _this$context, _response;
124
+ 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;
125
+ 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;
126
+ return remoteError && _typeof(remoteError) === 'object' ? remoteError : undefined;
127
+ }
128
+
109
129
  /**
110
130
  * 获取错误详情(用于日志)
111
131
  */