@nocobase/client 2.0.14 → 2.0.16
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.
- package/es/index.mjs +116 -81
- package/es/schema-component/antd/date-picker/DatePicker.d.ts +26 -0
- package/lib/index.js +11 -7
- package/package.json +6 -6
package/es/index.mjs
CHANGED
|
@@ -875,6 +875,9 @@ const bp = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
875
875
|
get removeNullCondition() {
|
|
876
876
|
return removeNullCondition;
|
|
877
877
|
},
|
|
878
|
+
get resolveFilterPickerFormat() {
|
|
879
|
+
return resolveFilterPickerFormat;
|
|
880
|
+
},
|
|
878
881
|
get storePopupContext() {
|
|
879
882
|
return storePopupContext;
|
|
880
883
|
},
|
|
@@ -4107,6 +4110,9 @@ const bp = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
4107
4110
|
get resolveDefaultCustomFieldOperator() {
|
|
4108
4111
|
return resolveDefaultCustomFieldOperator;
|
|
4109
4112
|
},
|
|
4113
|
+
get resolveFilterPickerFormat() {
|
|
4114
|
+
return resolveFilterPickerFormat;
|
|
4115
|
+
},
|
|
4110
4116
|
get reverseFieldProperties() {
|
|
4111
4117
|
return reverseFieldProperties;
|
|
4112
4118
|
},
|
|
@@ -9955,7 +9961,7 @@ function addAppVersion(e, t) {
|
|
|
9955
9961
|
addAppVersion((n = e.properties) == null ? void 0 : n[o], t);
|
|
9956
9962
|
}), e;
|
|
9957
9963
|
}
|
|
9958
|
-
const name = "@nocobase/client", version = "2.0.
|
|
9964
|
+
const name = "@nocobase/client", version = "2.0.16", license = "Apache-2.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
|
|
9959
9965
|
"@ahooksjs/use-url-state": "3.5.1",
|
|
9960
9966
|
"@ant-design/cssinjs": "^1.11.1",
|
|
9961
9967
|
"@ant-design/icons": "^5.6.1",
|
|
@@ -9978,10 +9984,10 @@ const name = "@nocobase/client", version = "2.0.14", license = "Apache-2.0", mai
|
|
|
9978
9984
|
"@formily/reactive-react": "^2.2.27",
|
|
9979
9985
|
"@formily/shared": "^2.2.27",
|
|
9980
9986
|
"@formily/validator": "^2.2.27",
|
|
9981
|
-
"@nocobase/evaluators": "2.0.
|
|
9982
|
-
"@nocobase/flow-engine": "2.0.
|
|
9983
|
-
"@nocobase/sdk": "2.0.
|
|
9984
|
-
"@nocobase/utils": "2.0.
|
|
9987
|
+
"@nocobase/evaluators": "2.0.16",
|
|
9988
|
+
"@nocobase/flow-engine": "2.0.16",
|
|
9989
|
+
"@nocobase/sdk": "2.0.16",
|
|
9990
|
+
"@nocobase/utils": "2.0.16",
|
|
9985
9991
|
"@tanstack/react-table": "^8.21.3",
|
|
9986
9992
|
"@types/tabulator-tables": "^6.2.6",
|
|
9987
9993
|
"acorn-jsx": "^5.3.2",
|
|
@@ -14311,7 +14317,10 @@ ReadPretty$d.DateRangePicker = function(t) {
|
|
|
14311
14317
|
return /* @__PURE__ */ jsx("div", { className: classNames(o, t.className), style: t.style, children: r() });
|
|
14312
14318
|
};
|
|
14313
14319
|
ReadPretty$d.DatePicker = withPopupWrapper(ReadPretty$d.DatePicker);
|
|
14314
|
-
const
|
|
14320
|
+
const stripTimeFromFormat$3 = (e) => e && e.replace(/\s*[Hh]{1,2}:mm(?::ss)?(?:\.SSS)?(?:\s*[aA])?/g, "").trim(), resolveFilterPickerFormat = (e) => {
|
|
14321
|
+
const { targetPicker: t, picker: o = "date", format: n, dateFormat: r, showTime: i, timeFormat: a } = e, l = r || n, c = t === o && l ? l : getPickerFormat(t), u = t === "date" ? stripTimeFromFormat$3(c) : c;
|
|
14322
|
+
return getDateTimeFormat(t, u, i, a);
|
|
14323
|
+
}, DatePickerContext = React.createContext({ utc: !0 }), useDatePickerContext = () => React.useContext(DatePickerContext), DatePickerProvider = DatePickerContext.Provider, InternalDatePicker = connect(DatePicker$1, mapProps(mapDatePicker()), mapReadPretty(ReadPretty$d.DatePicker)), InternalRangePicker = connect(
|
|
14315
14324
|
DatePicker$1.RangePicker,
|
|
14316
14325
|
mapProps(mapRangePicker()),
|
|
14317
14326
|
mapReadPretty(ReadPretty$d.DateRangePicker)
|
|
@@ -14363,35 +14372,42 @@ const DatePickerContext = React.createContext({ utc: !0 }), useDatePickerContext
|
|
|
14363
14372
|
};
|
|
14364
14373
|
DatePicker.ReadPretty = ReadPretty$d.DatePicker;
|
|
14365
14374
|
DatePicker.RangePicker = function(t) {
|
|
14366
|
-
const { value: o, picker: n = "date", format: r,
|
|
14367
|
-
{ label:
|
|
14368
|
-
{ label:
|
|
14369
|
-
{ label:
|
|
14370
|
-
{ label:
|
|
14371
|
-
{ label:
|
|
14372
|
-
{ label:
|
|
14373
|
-
{ label:
|
|
14374
|
-
{ label:
|
|
14375
|
-
{ label:
|
|
14376
|
-
{ label:
|
|
14377
|
-
{ label:
|
|
14378
|
-
{ label:
|
|
14379
|
-
{ label:
|
|
14380
|
-
{ label:
|
|
14381
|
-
{ label:
|
|
14382
|
-
{ label:
|
|
14383
|
-
{ label:
|
|
14384
|
-
{ label:
|
|
14385
|
-
{ label:
|
|
14386
|
-
],
|
|
14387
|
-
utc:
|
|
14388
|
-
presets:
|
|
14375
|
+
const { value: o, picker: n = "date", format: r, dateFormat: i, showTime: a, timeFormat: l } = t, { t: c } = useTranslation(), u = useFieldSchema(), d = useField(), { utc: p = !0 } = useDatePickerContext(), m = getDateRanges(), h = useCompile(), g = !(u != null && u["x-filter-operator"]), f = [
|
|
14376
|
+
{ label: c("Today"), value: m.today },
|
|
14377
|
+
{ label: c("Last week"), value: m.lastWeek },
|
|
14378
|
+
{ label: c("This week"), value: m.thisWeek },
|
|
14379
|
+
{ label: c("Next week"), value: m.nextWeek },
|
|
14380
|
+
{ label: c("Last month"), value: m.lastMonth },
|
|
14381
|
+
{ label: c("This month"), value: m.thisMonth },
|
|
14382
|
+
{ label: c("Next month"), value: m.nextMonth },
|
|
14383
|
+
{ label: c("Last quarter"), value: m.lastQuarter },
|
|
14384
|
+
{ label: c("This quarter"), value: m.thisQuarter },
|
|
14385
|
+
{ label: c("Next quarter"), value: m.nextQuarter },
|
|
14386
|
+
{ label: c("Last year"), value: m.lastYear },
|
|
14387
|
+
{ label: c("This year"), value: m.thisYear },
|
|
14388
|
+
{ label: c("Next year"), value: m.nextYear },
|
|
14389
|
+
{ label: c("Last 7 days"), value: m.last7Days },
|
|
14390
|
+
{ label: c("Next 7 days"), value: m.next7Days },
|
|
14391
|
+
{ label: c("Last 30 days"), value: m.last30Days },
|
|
14392
|
+
{ label: c("Next 30 days"), value: m.next30Days },
|
|
14393
|
+
{ label: c("Last 90 days"), value: m.last90Days },
|
|
14394
|
+
{ label: c("Next 90 days"), value: m.next90Days }
|
|
14395
|
+
], y = o ? inferPickerType(o == null ? void 0 : o[0], n) : n, b = A(x({
|
|
14396
|
+
utc: p,
|
|
14397
|
+
presets: f
|
|
14389
14398
|
}, t), {
|
|
14390
|
-
format:
|
|
14391
|
-
|
|
14392
|
-
|
|
14393
|
-
|
|
14394
|
-
|
|
14399
|
+
format: resolveFilterPickerFormat({
|
|
14400
|
+
targetPicker: y,
|
|
14401
|
+
picker: n,
|
|
14402
|
+
format: r,
|
|
14403
|
+
dateFormat: i,
|
|
14404
|
+
showTime: a,
|
|
14405
|
+
timeFormat: l
|
|
14406
|
+
}),
|
|
14407
|
+
picker: y,
|
|
14408
|
+
showTime: a ? { defaultValue: [dayjs("00:00:00", "HH:mm:ss"), dayjs("23:59:59", "HH:mm:ss")] } : !1
|
|
14409
|
+
});
|
|
14410
|
+
return g ? /* @__PURE__ */ jsxs(Space$1.Compact, { children: [
|
|
14395
14411
|
/* @__PURE__ */ jsx(
|
|
14396
14412
|
Select$1,
|
|
14397
14413
|
{
|
|
@@ -14399,58 +14415,71 @@ DatePicker.RangePicker = function(t) {
|
|
|
14399
14415
|
"data-testid": "select-picker",
|
|
14400
14416
|
style: { width: "100px" },
|
|
14401
14417
|
popupMatchSelectWidth: !1,
|
|
14402
|
-
defaultValue:
|
|
14403
|
-
options:
|
|
14418
|
+
defaultValue: y,
|
|
14419
|
+
options: h([
|
|
14404
14420
|
{
|
|
14405
|
-
label:
|
|
14421
|
+
label: c("Date"),
|
|
14406
14422
|
value: "date"
|
|
14407
14423
|
},
|
|
14408
14424
|
{
|
|
14409
|
-
label:
|
|
14425
|
+
label: c("Month"),
|
|
14410
14426
|
value: "month"
|
|
14411
14427
|
},
|
|
14412
14428
|
{
|
|
14413
|
-
label:
|
|
14429
|
+
label: c("Quarter"),
|
|
14414
14430
|
value: "quarter"
|
|
14415
14431
|
},
|
|
14416
14432
|
{
|
|
14417
|
-
label:
|
|
14433
|
+
label: c("Year"),
|
|
14418
14434
|
value: "year"
|
|
14419
14435
|
}
|
|
14420
14436
|
]),
|
|
14421
|
-
onChange: (
|
|
14422
|
-
const
|
|
14423
|
-
|
|
14424
|
-
picker:
|
|
14425
|
-
|
|
14426
|
-
|
|
14427
|
-
|
|
14428
|
-
|
|
14429
|
-
|
|
14437
|
+
onChange: (S) => {
|
|
14438
|
+
const C = getPickerFormat(S), F = getDateTimeFormat(S, C, a, l);
|
|
14439
|
+
d == null || d.setComponentProps({
|
|
14440
|
+
picker: S,
|
|
14441
|
+
dateFormat: C,
|
|
14442
|
+
format: F
|
|
14443
|
+
}), u && (u["x-component-props"] = A(x({}, t), {
|
|
14444
|
+
picker: S,
|
|
14445
|
+
dateFormat: C,
|
|
14446
|
+
format: F
|
|
14447
|
+
})), d && (d.value = void 0);
|
|
14430
14448
|
}
|
|
14431
14449
|
}
|
|
14432
14450
|
),
|
|
14433
|
-
/* @__PURE__ */ jsx(InternalRangePicker, A(x({},
|
|
14451
|
+
/* @__PURE__ */ jsx(InternalRangePicker, A(x({}, b), { value: o }))
|
|
14434
14452
|
] }) : /* @__PURE__ */ jsx(InternalRangePicker, x({}, b));
|
|
14435
14453
|
};
|
|
14436
14454
|
function toLocalNaiveISOString(e, t) {
|
|
14437
14455
|
return e && e.endsWith("Z") ? dayjs(e).format(t) : e;
|
|
14438
14456
|
}
|
|
14439
14457
|
DatePicker.FilterWithPicker = function(t) {
|
|
14440
|
-
const { picker: o = "date", format: n,
|
|
14441
|
-
|
|
14442
|
-
|
|
14458
|
+
const { picker: o = "date", format: n, dateFormat: r, showTime: i, timeFormat: a } = t, l = isMobile(), { utc: c = !0 } = useDatePickerContext(), u = Array.isArray(t.value) ? t.value[0] : t.value, d = useFieldSchema(), p = u ? inferPickerType(u, o) : o, [m, h] = useState(p), { t: g } = useTranslation();
|
|
14459
|
+
useEffect(() => {
|
|
14460
|
+
h(p);
|
|
14461
|
+
}, [p]);
|
|
14462
|
+
const f = A(x({
|
|
14463
|
+
utc: c,
|
|
14464
|
+
inputReadOnly: l
|
|
14443
14465
|
}, t), {
|
|
14444
14466
|
underFilter: !0,
|
|
14445
|
-
showTime:
|
|
14446
|
-
format:
|
|
14447
|
-
|
|
14448
|
-
|
|
14467
|
+
showTime: i ? { defaultValue: dayjs("00:00:00", "HH:mm:ss") } : !1,
|
|
14468
|
+
format: resolveFilterPickerFormat({
|
|
14469
|
+
targetPicker: m,
|
|
14470
|
+
picker: o,
|
|
14471
|
+
format: n,
|
|
14472
|
+
dateFormat: r,
|
|
14473
|
+
showTime: i,
|
|
14474
|
+
timeFormat: a
|
|
14475
|
+
}),
|
|
14476
|
+
picker: m,
|
|
14477
|
+
onChange: (b) => {
|
|
14449
14478
|
t.onChange(void 0), setTimeout(() => {
|
|
14450
|
-
t.onChange(
|
|
14479
|
+
t.onChange(b);
|
|
14451
14480
|
});
|
|
14452
14481
|
}
|
|
14453
|
-
}), y = useField()
|
|
14482
|
+
}), y = useField();
|
|
14454
14483
|
return /* @__PURE__ */ jsxs(Space$1.Compact, { style: { width: "100%" }, children: [
|
|
14455
14484
|
/* @__PURE__ */ jsx(
|
|
14456
14485
|
Select$1,
|
|
@@ -14459,7 +14488,7 @@ DatePicker.FilterWithPicker = function(t) {
|
|
|
14459
14488
|
"data-testid": "select-picker",
|
|
14460
14489
|
style: { width: "100px" },
|
|
14461
14490
|
popupMatchSelectWidth: !1,
|
|
14462
|
-
value:
|
|
14491
|
+
value: m,
|
|
14463
14492
|
options: [
|
|
14464
14493
|
{
|
|
14465
14494
|
label: g("Date"),
|
|
@@ -14478,25 +14507,22 @@ DatePicker.FilterWithPicker = function(t) {
|
|
|
14478
14507
|
value: "year"
|
|
14479
14508
|
}
|
|
14480
14509
|
],
|
|
14481
|
-
onChange: (
|
|
14482
|
-
|
|
14483
|
-
const
|
|
14510
|
+
onChange: (b) => {
|
|
14511
|
+
h(b);
|
|
14512
|
+
const S = getPickerFormat(b), C = getDateTimeFormat(b, S, i, a);
|
|
14484
14513
|
y == null || y.setComponentProps({
|
|
14485
|
-
picker:
|
|
14486
|
-
|
|
14487
|
-
|
|
14488
|
-
|
|
14489
|
-
|
|
14514
|
+
picker: b,
|
|
14515
|
+
dateFormat: S,
|
|
14516
|
+
format: C
|
|
14517
|
+
}), d != null && d["x-component-props"] && (d["x-component-props"] = A(x({}, t), {
|
|
14518
|
+
picker: b,
|
|
14519
|
+
dateFormat: S,
|
|
14520
|
+
format: C
|
|
14490
14521
|
})), y && (y.value = null);
|
|
14491
14522
|
}
|
|
14492
14523
|
}
|
|
14493
14524
|
),
|
|
14494
|
-
/* @__PURE__ */ jsx(
|
|
14495
|
-
InternalDatePicker,
|
|
14496
|
-
A(x({}, b), {
|
|
14497
|
-
value: toLocalNaiveISOString(c, getDateTimeFormat(p, h, r, i))
|
|
14498
|
-
})
|
|
14499
|
-
)
|
|
14525
|
+
/* @__PURE__ */ jsx(InternalDatePicker, A(x({}, f), { value: toLocalNaiveISOString(u, f.format) }))
|
|
14500
14526
|
] });
|
|
14501
14527
|
};
|
|
14502
14528
|
const useDateVariable = ({ operator: e, schema: t, noDisabled: o }) => {
|
|
@@ -32252,7 +32278,10 @@ function SchemaSettingsConnectDataBlocks(e) {
|
|
|
32252
32278
|
title: f,
|
|
32253
32279
|
value: (S == null ? void 0 : S.field) || "",
|
|
32254
32280
|
options: [
|
|
32255
|
-
...getSupportFieldsByAssociation(
|
|
32281
|
+
...getSupportFieldsByAssociation(
|
|
32282
|
+
m(a.name, a.dataSource),
|
|
32283
|
+
g
|
|
32284
|
+
).map((C) => ({
|
|
32256
32285
|
label: p(C.uiSchema.title) || C.name,
|
|
32257
32286
|
value: `${C.name}.${getTargetKey(C)}`
|
|
32258
32287
|
})),
|
|
@@ -72521,8 +72550,9 @@ class BlockModel extends FlowModel {
|
|
|
72521
72550
|
* @returns 'auto' | 'manual'
|
|
72522
72551
|
*/
|
|
72523
72552
|
getDataLoadingMode() {
|
|
72524
|
-
var
|
|
72525
|
-
|
|
72553
|
+
var n;
|
|
72554
|
+
const o = this.getStepParams("dataLoadingModeSettings");
|
|
72555
|
+
return ((n = o == null ? void 0 : o.dataLoadingMode) == null ? void 0 : n.mode) || "auto";
|
|
72526
72556
|
}
|
|
72527
72557
|
static _getScene() {
|
|
72528
72558
|
return _.castArray(this.scene || []);
|
|
@@ -91957,9 +91987,13 @@ const HighPerformanceTable = React.memo(
|
|
|
91957
91987
|
.ant-table-tbody > tr > td.ant-table-selection-column {
|
|
91958
91988
|
padding-left: 32px !important;
|
|
91959
91989
|
}
|
|
91960
|
-
` : void 0
|
|
91961
|
-
|
|
91962
|
-
|
|
91990
|
+
` : void 0, w = d != null && d.y ? css`
|
|
91991
|
+
.ant-table-body {
|
|
91992
|
+
min-height: ${d.y}px;
|
|
91993
|
+
}
|
|
91994
|
+
` : void 0;
|
|
91995
|
+
return classNames(M, T, w);
|
|
91996
|
+
}, [t.props.dragSort, t.props.dragSortBy, d == null ? void 0 : d.y]);
|
|
91963
91997
|
return /* @__PURE__ */ jsx(
|
|
91964
91998
|
MemoizedTable,
|
|
91965
91999
|
{
|
|
@@ -96861,7 +96895,7 @@ const titleField = defineAction({
|
|
|
96861
96895
|
if (!o)
|
|
96862
96896
|
return;
|
|
96863
96897
|
const n = o.resource;
|
|
96864
|
-
n instanceof MultiRecordResource && (
|
|
96898
|
+
n instanceof MultiRecordResource && (t.mode === "manual" && !o.hasActiveFilters() ? (n.setData([]), n.setMeta({ count: 0, hasNext: !1 }), typeof n.setPage == "function" && n.setPage(1), n.loading = !1) : t.mode === "auto" && n.refresh());
|
|
96865
96899
|
}
|
|
96866
96900
|
}), renderMode = defineAction({
|
|
96867
96901
|
title: tExpr("Render mode"),
|
|
@@ -108478,6 +108512,7 @@ export {
|
|
|
108478
108512
|
required,
|
|
108479
108513
|
resolveCustomFieldOperatorList,
|
|
108480
108514
|
resolveDefaultCustomFieldOperator,
|
|
108515
|
+
resolveFilterPickerFormat,
|
|
108481
108516
|
reverseFieldProperties,
|
|
108482
108517
|
runjs,
|
|
108483
108518
|
schemaSettingsLabelLayout,
|
|
@@ -10,6 +10,32 @@ import React from 'react';
|
|
|
10
10
|
interface IDatePickerProps {
|
|
11
11
|
utc?: boolean;
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* 解析筛选日期组件的展示格式。
|
|
15
|
+
*
|
|
16
|
+
* 这里优先使用 schema 上显式配置的 dateFormat / format,
|
|
17
|
+
* 只有在当前 picker 没有自定义格式时才回退到默认 picker 格式。
|
|
18
|
+
*
|
|
19
|
+
* @param options 当前筛选日期组件的格式参数
|
|
20
|
+
* @returns 适用于当前 picker 的最终展示格式
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* resolveFilterPickerFormat({
|
|
24
|
+
* targetPicker: 'date',
|
|
25
|
+
* picker: 'date',
|
|
26
|
+
* dateFormat: 'MM/DD/YY',
|
|
27
|
+
* showTime: false,
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare const resolveFilterPickerFormat: (options: {
|
|
32
|
+
targetPicker: string;
|
|
33
|
+
picker?: string;
|
|
34
|
+
format?: string;
|
|
35
|
+
dateFormat?: string;
|
|
36
|
+
showTime?: boolean;
|
|
37
|
+
timeFormat?: string;
|
|
38
|
+
}) => any;
|
|
13
39
|
export declare const useDatePickerContext: () => IDatePickerProps;
|
|
14
40
|
export declare const DatePickerProvider: React.Provider<IDatePickerProps>;
|
|
15
41
|
export declare const DatePicker: {
|