@pisell/materials 1.0.634 → 1.0.636

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 (38) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +5 -5
  7. package/build/lowcode/render/default/view.js +17 -17
  8. package/build/lowcode/view.js +16 -16
  9. package/es/components/dataSourceComponents/dataSourceForm/utils.js +17 -2
  10. package/es/components/dataSourceComponents/dataSourceMenu/Basic.js +12 -9
  11. package/es/components/dataSourceComponents/dataSourceMenu/index.js +24 -13
  12. package/es/components/dataSourceComponents/dataSourceTable/hooks/useFormat.js +17 -1
  13. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +6 -1
  14. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.js +29 -12
  15. package/es/components/dataSourceComponents/fields/DatePicker/WithMode.js +1 -1
  16. package/es/components/dataSourceComponents/provider/dataSource/DataSourceContext.d.ts +1 -0
  17. package/es/components/dataSourceComponents/provider/dataSource/DataSourceContext.js +2 -1
  18. package/es/components/dataSourceComponents/provider/dataSource/DataSourceProvider.js +8 -1
  19. package/es/components/date-picker/datePickerCpt.js +4 -2
  20. package/es/components/pisellLayout/content.js +2 -2
  21. package/es/components/pisellMenu/PisellMenu.d.ts +6 -2
  22. package/es/components/pisellMenu/PisellMenu.js +8 -8
  23. package/lib/components/dataSourceComponents/dataSourceForm/utils.js +15 -2
  24. package/lib/components/dataSourceComponents/dataSourceMenu/Basic.js +7 -4
  25. package/lib/components/dataSourceComponents/dataSourceMenu/index.js +44 -28
  26. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useFormat.js +58 -0
  27. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +6 -1
  28. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.js +17 -9
  29. package/lib/components/dataSourceComponents/fields/DatePicker/WithMode.js +1 -1
  30. package/lib/components/dataSourceComponents/provider/dataSource/DataSourceContext.d.ts +1 -0
  31. package/lib/components/dataSourceComponents/provider/dataSource/DataSourceContext.js +3 -1
  32. package/lib/components/dataSourceComponents/provider/dataSource/DataSourceProvider.js +6 -0
  33. package/lib/components/date-picker/datePickerCpt.js +4 -2
  34. package/lib/components/pisellLayout/content.js +2 -1
  35. package/lib/components/pisellMenu/PisellMenu.d.ts +6 -2
  36. package/lib/components/pisellMenu/PisellMenu.js +7 -6
  37. package/lowcode/data-source-table/meta.ts +22 -0
  38. package/package.json +3 -3
@@ -27,6 +27,7 @@ import useFormSetting from "./provider/hooks/useFormSetting";
27
27
  import useJsonPrefixPath from "./provider/hooks/useJsonPrefixPath";
28
28
  import DataSourceProvider from "../provider/dataSource/DataSourceProvider";
29
29
  import useTranslationOriginal from "../../../hooks/useTranslationOriginal";
30
+ import useVariables from "../hooks/useVariables";
30
31
  import "./style.less";
31
32
  /**
32
33
  * @title: 增加renderMode属性
@@ -375,14 +376,28 @@ export var withOptions = function withOptions(WrappedComponent) {
375
376
  labelField = props.labelField,
376
377
  valueField = props.valueField,
377
378
  extraParams = props.extraParams;
379
+ var _useVariables = useVariables(),
380
+ parseVariable = _useVariables.parseVariable;
378
381
  var _useDataSource2 = useDataSource(),
379
- list = _useDataSource2.list;
382
+ list = _useDataSource2.list,
383
+ getCurrentRecord = _useDataSource2.getCurrentRecord;
384
+ var parseParams = useMemo(function () {
385
+ var params = {};
386
+ if (extraParams) {
387
+ Object.keys(extraParams).forEach(function (key) {
388
+ params[key] = parseVariable === null || parseVariable === void 0 ? void 0 : parseVariable(extraParams[key], {
389
+ currentRecord: getCurrentRecord()
390
+ });
391
+ });
392
+ }
393
+ return params;
394
+ }, [extraParams]);
380
395
  useEffect(function () {
381
396
  if (optionSourceType === 'api') {
382
397
  list.run(_objectSpread({
383
398
  page: 1,
384
399
  pageSize: 500
385
- }, extraParams));
400
+ }, parseParams));
386
401
  }
387
402
  }, []);
388
403
  var options = useMemo(function () {
@@ -1,19 +1,22 @@
1
1
  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); }
2
2
  import React, { forwardRef } from 'react';
3
+ import useEngineContext from "../../../hooks/useEngineContext";
3
4
  import BaseMenu from "../../pisellMenu";
4
5
  /**
5
6
  * @title: 数据源表单组件
6
7
  * @description: 基于数据源动态生成表单,支持编辑、查看、禁用三种模式
7
8
  */
8
9
  var DataSourceMenu = /*#__PURE__*/forwardRef(function (props, ref) {
9
- var _window$app$menuManag = window.app.menuManager.useMenu(),
10
- menuItems = _window$app$menuManag.menuItems,
11
- selectedKeys = _window$app$menuManag.selectedKeys,
12
- openKeys = _window$app$menuManag.openKeys,
13
- setOpenKeys = _window$app$menuManag.setOpenKeys,
14
- getShowChildren = _window$app$menuManag.getShowChildren,
15
- handleClick = _window$app$menuManag.handleClick;
16
-
10
+ var _appHelper$utils, _appHelper$utils$getA2, _appHelper$utils$getA3, _appHelper$utils$getA4;
11
+ var _useEngineContext = useEngineContext(),
12
+ appHelper = _useEngineContext.appHelper;
13
+ var _appHelper$utils$getA = appHelper === null || appHelper === void 0 ? void 0 : (_appHelper$utils = appHelper.utils) === null || _appHelper$utils === void 0 ? void 0 : (_appHelper$utils$getA2 = _appHelper$utils.getApp) === null || _appHelper$utils$getA2 === void 0 ? void 0 : (_appHelper$utils$getA3 = _appHelper$utils$getA2.call(_appHelper$utils)) === null || _appHelper$utils$getA3 === void 0 ? void 0 : (_appHelper$utils$getA4 = _appHelper$utils$getA3.menuManager) === null || _appHelper$utils$getA4 === void 0 ? void 0 : _appHelper$utils$getA4.useMenu(),
14
+ menuItems = _appHelper$utils$getA.menuItems,
15
+ selectedKeys = _appHelper$utils$getA.selectedKeys,
16
+ openKeys = _appHelper$utils$getA.openKeys,
17
+ setOpenKeys = _appHelper$utils$getA.setOpenKeys,
18
+ getShowChildren = _appHelper$utils$getA.getShowChildren,
19
+ handleClick = _appHelper$utils$getA.handleClick;
17
20
  // 递归渲染菜单项
18
21
  var renderMenuItems = function renderMenuItems(items) {
19
22
  return items.map(function (item) {
@@ -51,7 +54,7 @@ var DataSourceMenu = /*#__PURE__*/forwardRef(function (props, ref) {
51
54
  }
52
55
  }, props, {
53
56
  other: {
54
- dataSource: undefined
57
+ items: undefined
55
58
  }
56
59
  }), renderMenuItems(menuItems));
57
60
  });
@@ -1,5 +1,5 @@
1
- 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); }
2
- import React, { forwardRef, useMemo } from 'react';
1
+ import React, { useMemo } from 'react';
2
+ import useEngineContext from "../../../hooks/useEngineContext";
3
3
  import PisellMenu from "../../pisellMenu";
4
4
  import useVariables from "../hooks/useVariables";
5
5
  import BaseMenu from "./Basic";
@@ -7,21 +7,35 @@ import BaseMenu from "./Basic";
7
7
  * @title: 数据源表单组件
8
8
  * @description: 基于数据源动态生成表单,支持编辑、查看、禁用三种模式
9
9
  */
10
- var DataSourceMenu = /*#__PURE__*/forwardRef(function (props, ref) {
10
+ var DataSourceMenu = function DataSourceMenu(props, ref) {
11
+ var _appHelper$utils, _appHelper$utils$getA, _appHelper$utils$getA2, _appHelper$utils$getA3;
11
12
  var dataSource = props.dataSource;
12
13
  var _useVariables = useVariables(),
13
14
  parseVariable = _useVariables.parseVariable;
15
+ var _useEngineContext = useEngineContext(),
16
+ appHelper = _useEngineContext.appHelper;
14
17
  var _dataSource = useMemo(function () {
18
+ return [{
19
+ label: '菜单项1',
20
+ key: 'item-1',
21
+ path: '/item-1'
22
+ }, {
23
+ label: '菜单项2',
24
+ key: 'item-2',
25
+ path: '/item-2'
26
+ }];
15
27
  if (Array.isArray(dataSource)) {
16
28
  return dataSource;
17
29
  }
18
30
  if (props.__designMode === 'design') {
19
31
  return [{
20
32
  label: '菜单项1',
21
- key: 'item-1'
33
+ key: 'item-1',
34
+ path: '/item-1'
22
35
  }, {
23
36
  label: '菜单项2',
24
- key: 'item-2'
37
+ key: 'item-2',
38
+ path: '/item-2'
25
39
  }];
26
40
  }
27
41
  if (typeof dataSource === 'string') {
@@ -32,15 +46,12 @@ var DataSourceMenu = /*#__PURE__*/forwardRef(function (props, ref) {
32
46
 
33
47
  // 设计模式下使用PisellMenu, 否则缺少app注入导致报错
34
48
  if (props.__designMode === 'design') {
35
- return /*#__PURE__*/React.createElement(PisellMenu, _extends({
36
- ref: ref
37
- }, props));
49
+ return /*#__PURE__*/React.createElement(PisellMenu, props);
38
50
  }
39
- var MenuProvider = window.app.menuManager.MenuProvider;
51
+ var MenuProvider = appHelper === null || appHelper === void 0 ? void 0 : (_appHelper$utils = appHelper.utils) === null || _appHelper$utils === void 0 ? void 0 : (_appHelper$utils$getA = _appHelper$utils.getApp) === null || _appHelper$utils$getA === void 0 ? void 0 : (_appHelper$utils$getA2 = _appHelper$utils$getA.call(_appHelper$utils)) === null || _appHelper$utils$getA2 === void 0 ? void 0 : (_appHelper$utils$getA3 = _appHelper$utils$getA2.menuManager) === null || _appHelper$utils$getA3 === void 0 ? void 0 : _appHelper$utils$getA3.MenuProvider;
52
+ console.log('MenuProvider', MenuProvider);
40
53
  return /*#__PURE__*/React.createElement(MenuProvider, {
41
54
  menus: _dataSource
42
- }, /*#__PURE__*/React.createElement(BaseMenu, _extends({
43
- ref: ref
44
- }, props)));
45
- });
55
+ }, /*#__PURE__*/React.createElement(BaseMenu, props));
56
+ };
46
57
  export default DataSourceMenu;
@@ -12,14 +12,20 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
12
12
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
13
13
  import { useMemoizedFn } from 'ahooks';
14
14
  import { formFieldFilterFuncMap } from "../../fields/utils";
15
- import { isArr, isString } from '@pisell/utils';
15
+ import { isArr, isJson, isString } from '@pisell/utils';
16
16
  import dayjs from 'dayjs';
17
+ // 过滤条件操作符 https://docs-cn.nocobase.com/api/database/operators
18
+ var filterOperatorArr = ['$eq', '$ne', '$is', '$not', '$col', '$in', '$notIn', '$empty', '$notEmpty', '$and', '$or', '$isFalsy', '$isTruly', '$gt', '$gte', '$lt', '$lte', '$between', '$notBetween', '$includes', '$notIncludes', '$startsWith', '$notStatsWith', '$endsWith', '$notEndsWith', '$like', '$notLike', '$iLike', '$notILike', '$regexp', '$notRegexp', '$iRegexp', '$notIRegexp', '$dateOn', '$dateNotOn', '$dateBefore', '$dateNotBefore', '$dateAfter', '$dateNotAfter', '$match', '$notMatch', '$anyOf', '$noneOf', '$arrayEmpty', '$arrayNotEmpty', '$exists', '$notExists'];
19
+
17
20
  // 转换过滤条件
18
21
  var formatFilter = function formatFilter(filterValue, fields) {
19
22
  var conditions = [];
20
23
  if (!filterValue || !(fields !== null && fields !== void 0 && fields.length)) {
21
24
  return JSON.stringify({});
22
25
  }
26
+ if (isString(filterValue)) {
27
+ return filterValue;
28
+ }
23
29
 
24
30
  // 处理关键字搜索
25
31
  if (filterValue._keywords) {
@@ -53,6 +59,16 @@ var formatFilter = function formatFilter(filterValue, fields) {
53
59
  if (key === '_keywords' || value === undefined || value === null || value === '' || isArr(value) && value.length === 0) {
54
60
  return;
55
61
  }
62
+
63
+ // 判断value是否包含filterOperatorArr中的元素
64
+ if (isString(value) && filterOperatorArr.some(function (item) {
65
+ return value.includes(item);
66
+ })) {
67
+ if (isJson(value)) {
68
+ conditions.push(_defineProperty({}, key, JSON.parse(value)));
69
+ }
70
+ return;
71
+ }
56
72
  var field = fieldsMap[key];
57
73
  if (!(field !== null && field !== void 0 && (_field$uiSchema = field.uiSchema) !== null && _field$uiSchema !== void 0 && _field$uiSchema['x-component'])) {
58
74
  return;
@@ -43,7 +43,12 @@ declare const useTableProps: (props: UseTablePropsProps) => {
43
43
  } | undefined;
44
44
  operation?: {
45
45
  show: boolean;
46
- title: string;
46
+ title: string; /**
47
+ * 处理table的props
48
+ * 转换title
49
+ * @param props
50
+ * @returns
51
+ */
47
52
  width: number;
48
53
  align: "center" | "left" | "right";
49
54
  fixed: false | "left" | "right";
@@ -1,11 +1,11 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
2
  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); }
3
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
3
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
6
  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; }
6
7
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
8
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
9
9
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
10
10
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
11
11
  import React, { useMemo, useEffect } from 'react';
@@ -21,6 +21,7 @@ import useDataSource from "../../hooks/useDataSource";
21
21
  import PisellToast from "../../../pisellToast";
22
22
  import { getText } from "../../../../locales";
23
23
  import PisellModal from "../../../pisellModal";
24
+ import dayjs from 'dayjs';
24
25
  /**
25
26
  * 处理table的props
26
27
  * 转换title
@@ -56,7 +57,8 @@ var useTableProps = function useTableProps(props) {
56
57
  var componentId = useComponentId(originProps);
57
58
  var _useDataSource = useDataSource(),
58
59
  list = _useDataSource.list,
59
- destroy = _useDataSource.destroy;
60
+ destroy = _useDataSource.destroy,
61
+ update = _useDataSource.update;
60
62
  var data = list.data;
61
63
  var pagination = usePagination({
62
64
  data: data
@@ -107,25 +109,40 @@ var useTableProps = function useTableProps(props) {
107
109
 
108
110
  // 删除记录
109
111
  var handleDelete = useMemoizedFn( /*#__PURE__*/function () {
110
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(record) {
112
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(record, softDelete) {
111
113
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
112
114
  while (1) switch (_context2.prev = _context2.next) {
113
115
  case 0:
114
116
  try {
115
117
  registerValueVariable === null || registerValueVariable === void 0 ? void 0 : registerValueVariable(componentId, {
116
- currentRecord: record
118
+ currentRecord: _objectSpread({}, record)
117
119
  });
118
120
  setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
121
+ var deleteTime;
119
122
  return _regeneratorRuntime().wrap(function _callee$(_context) {
120
123
  while (1) switch (_context.prev = _context.next) {
121
124
  case 0:
122
- destroy === null || destroy === void 0 ? void 0 : destroy.runAsync(record.id).then(function () {
123
- refreshData();
124
- PisellToast({
125
- content: getText('pisell-action-delete-success')
126
- });
125
+ if (!softDelete) {
126
+ _context.next = 6;
127
+ break;
128
+ }
129
+ deleteTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
130
+ _context.next = 4;
131
+ return update === null || update === void 0 ? void 0 : update.runAsync(_objectSpread(_objectSpread({}, record), {}, {
132
+ deleted_at: deleteTime
133
+ }));
134
+ case 4:
135
+ _context.next = 8;
136
+ break;
137
+ case 6:
138
+ _context.next = 8;
139
+ return destroy === null || destroy === void 0 ? void 0 : destroy.runAsync(record.id);
140
+ case 8:
141
+ refreshData();
142
+ PisellToast({
143
+ content: getText('pisell-action-delete-success')
127
144
  });
128
- case 1:
145
+ case 10:
129
146
  case "end":
130
147
  return _context.stop();
131
148
  }
@@ -143,7 +160,7 @@ var useTableProps = function useTableProps(props) {
143
160
  }
144
161
  }, _callee2);
145
162
  }));
146
- return function (_x) {
163
+ return function (_x, _x2) {
147
164
  return _ref2.apply(this, arguments);
148
165
  };
149
166
  }());
@@ -175,7 +192,7 @@ var useTableProps = function useTableProps(props) {
175
192
  okText: getText('pisell-delete-confirm-ok'),
176
193
  cancelText: getText('pisell-delete-confirm-cancel'),
177
194
  onOk: function onOk() {
178
- handleDelete(record);
195
+ handleDelete(record, item === null || item === void 0 ? void 0 : item.softDelete);
179
196
  }
180
197
  });
181
198
  return;
@@ -11,7 +11,7 @@ import ReadPretty from "./ReadPretty";
11
11
  import { withMode } from "../../dataSourceForm/utils";
12
12
  var DatePickerWithMode = withMode(DatePickerCpt, ReadPretty, function (props) {
13
13
  return _objectSpread(_objectSpread({}, props), {}, {
14
- value: isString(props.value) ? dayjs(props.value) : props.value
14
+ value: isString(props.value) && props.value ? dayjs(props.value) : props.value
15
15
  });
16
16
  });
17
17
  export default DatePickerWithMode;
@@ -113,6 +113,7 @@ export interface DataSourceContextType {
113
113
  update: Result<any, any>;
114
114
  create: Result<any, any>;
115
115
  __designMode?: string;
116
+ getCurrentRecord: () => any;
116
117
  }
117
118
  export declare const DataSourceContext: import("react").Context<DataSourceContextType>;
118
119
  export default DataSourceContext;
@@ -5,7 +5,8 @@ var initialContext = {
5
5
  destroy: {},
6
6
  get: {},
7
7
  update: {},
8
- create: {}
8
+ create: {},
9
+ getCurrentRecord: function getCurrentRecord() {}
9
10
  };
10
11
  export var DataSourceContext = /*#__PURE__*/createContext(initialContext);
11
12
  export default DataSourceContext;
@@ -5,12 +5,13 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
5
5
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
6
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
7
  import React, { useMemo } from 'react';
8
- import { useRequest } from 'ahooks';
8
+ import { useMemoizedFn, useRequest } from 'ahooks';
9
9
  import { isString, isBoolean } from '@pisell/utils';
10
10
  import DataSourceContext from "./DataSourceContext";
11
11
  import useActions from "../../hooks/useActions";
12
12
  import useVariables from "../../hooks/useVariables";
13
13
  import useSetRequest from "../../../../hooks/useSetRequest";
14
+ import useDataSource from "../../hooks/useDataSource";
14
15
 
15
16
  /**
16
17
  * @title: DataSource Provider
@@ -26,9 +27,14 @@ var DataSourceProvider = function DataSourceProvider(props) {
26
27
  autoRun = props.autoRun,
27
28
  requestOptions = props.requestOptions,
28
29
  __designMode = props.__designMode;
30
+ var _useDataSource = useDataSource(),
31
+ ctxGetCurrentRecord = _useDataSource.getCurrentRecord;
29
32
  useSetRequest();
30
33
  var _useVariables = useVariables(),
31
34
  parseVariable = _useVariables.parseVariable;
35
+ var getCurrentRecord = useMemoizedFn(function () {
36
+ return (parseVariable === null || parseVariable === void 0 ? void 0 : parseVariable(currentValue, {})) || ctxGetCurrentRecord();
37
+ });
32
38
  var dataSource = isString(propsDataSource) ? parseVariable === null || parseVariable === void 0 ? void 0 : parseVariable(propsDataSource) : propsDataSource;
33
39
 
34
40
  // 处理标准数据源
@@ -64,6 +70,7 @@ var DataSourceProvider = function DataSourceProvider(props) {
64
70
  return {
65
71
  __designMode: __designMode,
66
72
  dataSource: dataSource,
73
+ getCurrentRecord: getCurrentRecord,
67
74
  list: _objectSpread(_objectSpread({}, listResult), {}, {
68
75
  data: (overrideData === null || overrideData === void 0 ? void 0 : overrideData.list) || listResult.data
69
76
  }),
@@ -84,7 +84,8 @@ var DatePickerCpt = function DatePickerCpt(props) {
84
84
  setValue(value);
85
85
  }, [value]);
86
86
  useEffect(function () {
87
- setValueStr((_value === null || _value === void 0 ? void 0 : _value.format(format || 'YYYY-MM-DD')) || '');
87
+ var _value$format;
88
+ setValueStr((_value === null || _value === void 0 ? void 0 : (_value$format = _value.format) === null || _value$format === void 0 ? void 0 : _value$format.call(_value, format || 'YYYY-MM-DD')) || '');
88
89
  }, [_value]);
89
90
  var customPresetItems = useMemo(function () {
90
91
  var preset = [{
@@ -218,6 +219,7 @@ var DatePickerCpt = function DatePickerCpt(props) {
218
219
  });
219
220
  };
220
221
  var timeInputProps = useMemo(function () {
222
+ var _value$format2;
221
223
  var step = 1;
222
224
  var _format = '';
223
225
  if ((showTime === null || showTime === void 0 ? void 0 : showTime.format) === 'HH:mm') {
@@ -233,7 +235,7 @@ var DatePickerCpt = function DatePickerCpt(props) {
233
235
  var val = e.target.value;
234
236
  handleTimeChange(window.dayjs(val, _format));
235
237
  },
236
- value: _value === null || _value === void 0 ? void 0 : _value.format(_format)
238
+ value: _value === null || _value === void 0 ? void 0 : (_value$format2 = _value.format) === null || _value$format2 === void 0 ? void 0 : _value$format2.call(_value, _format)
237
239
  };
238
240
  }, [showTime, _value]);
239
241
  if (!picker || picker === 'date') {
@@ -20,7 +20,6 @@ var PisellContent = function PisellContent(props) {
20
20
  scroll = props.scroll,
21
21
  rest = _objectWithoutProperties(props, _excluded);
22
22
  var lowCodeProps = useEngineContext();
23
-
24
23
  /**
25
24
  * @title: 内容
26
25
  * @description: 该组件的children默认注入页面内容
@@ -29,11 +28,12 @@ var PisellContent = function PisellContent(props) {
29
28
  * @Author: zhiwei.Wang
30
29
  */
31
30
  var pageContent = useMemo(function () {
31
+ var _lowCodeProps$engine, _lowCodeProps$engine$;
32
32
  // 引擎模式下没有页面内容, 只展示提示
33
33
  if (props.__designMode === 'design') {
34
34
  return 'Page content';
35
35
  }
36
- return lowCodeProps.children;
36
+ return lowCodeProps === null || lowCodeProps === void 0 ? void 0 : (_lowCodeProps$engine = lowCodeProps.engine) === null || _lowCodeProps$engine === void 0 ? void 0 : (_lowCodeProps$engine$ = _lowCodeProps$engine.props) === null || _lowCodeProps$engine$ === void 0 ? void 0 : _lowCodeProps$engine$.children;
37
37
  }, [props.__designMode]);
38
38
  var contentStyle = useMemo(function () {
39
39
  return _objectSpread({
@@ -1,5 +1,9 @@
1
1
  import React from 'react';
2
2
  import './PisellMenu.less';
3
3
  import type { PisellMenuProps } from './types';
4
- declare const _default: React.ForwardRefExoticComponent<PisellMenuProps & React.RefAttributes<unknown>>;
5
- export default _default;
4
+ declare const PisellMenu: {
5
+ ({ className, style, mode, theme, defaultOpenKeys, defaultSelectedKeys, inlineCollapsed, openKeys, selectedKeys, onOpenChange, onSelect, dataSource, __designMode, children, other, ...restProps }: PisellMenuProps): React.JSX.Element;
6
+ Item: Omit<React.FunctionComponent<import("antd").MenuItemProps>, ""> & (<T extends import("antd").MenuItemProps>(props: T extends infer U extends import("antd").MenuItemProps ? unknown extends U ? import("antd").MenuItemProps : U : import("antd").MenuItemProps, context?: any) => React.ReactElement<any, any> | null);
7
+ SubMenu: React.FC<import("antd").SubMenuProps>;
8
+ };
9
+ export default PisellMenu;
@@ -3,9 +3,9 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
3
3
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
4
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
5
  import { Menu as AntdMenu } from 'antd';
6
- import React, { forwardRef, useMemo } from 'react';
6
+ import React, { useMemo } from 'react';
7
7
  import "./PisellMenu.less";
8
- var PisellMenu = function PisellMenu(_ref, ref) {
8
+ var PisellMenu = function PisellMenu(_ref) {
9
9
  var className = _ref.className,
10
10
  style = _ref.style,
11
11
  _ref$mode = _ref.mode,
@@ -31,10 +31,12 @@ var PisellMenu = function PisellMenu(_ref, ref) {
31
31
  if (__designMode === 'design') {
32
32
  return [{
33
33
  label: '菜单项1',
34
- key: 'item-1'
34
+ key: 'item-1',
35
+ path: '/item-1'
35
36
  }, {
36
37
  label: '菜单项2',
37
- key: 'item-2'
38
+ key: 'item-2',
39
+ path: '/item-2'
38
40
  }];
39
41
  }
40
42
  return [];
@@ -52,10 +54,8 @@ var PisellMenu = function PisellMenu(_ref, ref) {
52
54
  selectedKeys: selectedKeys,
53
55
  onOpenChange: onOpenChange,
54
56
  onSelect: onSelect
55
- }, restProps, other, {
56
- ref: ref
57
- }), children);
57
+ }, restProps, other), children);
58
58
  };
59
59
  PisellMenu.Item = AntdMenu.Item;
60
60
  PisellMenu.SubMenu = AntdMenu.SubMenu;
61
- export default /*#__PURE__*/forwardRef(PisellMenu);
61
+ export default PisellMenu;
@@ -54,6 +54,7 @@ var import_useFormSetting = __toESM(require("./provider/hooks/useFormSetting"));
54
54
  var import_useJsonPrefixPath = __toESM(require("./provider/hooks/useJsonPrefixPath"));
55
55
  var import_DataSourceProvider = __toESM(require("../provider/dataSource/DataSourceProvider"));
56
56
  var import_useTranslationOriginal = __toESM(require("../../../hooks/useTranslationOriginal"));
57
+ var import_useVariables = __toESM(require("../hooks/useVariables"));
57
58
  var import_style = require("./style.less");
58
59
  var withMode = (FieldComponent, ReadPrettyComponent, transformProps) => {
59
60
  return ({ renderMode = "edit", value, onChange, ...props }) => {
@@ -421,13 +422,25 @@ var withOptions = (WrappedComponent) => {
421
422
  valueField,
422
423
  extraParams
423
424
  } = props;
424
- const { list } = (0, import_useDataSource.default)();
425
+ const { parseVariable } = (0, import_useVariables.default)();
426
+ const { list, getCurrentRecord } = (0, import_useDataSource.default)();
427
+ const parseParams = (0, import_react.useMemo)(() => {
428
+ const params = {};
429
+ if (extraParams) {
430
+ Object.keys(extraParams).forEach((key) => {
431
+ params[key] = parseVariable == null ? void 0 : parseVariable(extraParams[key], {
432
+ currentRecord: getCurrentRecord()
433
+ });
434
+ });
435
+ }
436
+ return params;
437
+ }, [extraParams]);
425
438
  (0, import_react.useEffect)(() => {
426
439
  if (optionSourceType === "api") {
427
440
  list.run({
428
441
  page: 1,
429
442
  pageSize: 500,
430
- ...extraParams
443
+ ...parseParams
431
444
  });
432
445
  }
433
446
  }, []);
@@ -33,9 +33,12 @@ __export(Basic_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(Basic_exports);
35
35
  var import_react = __toESM(require("react"));
36
+ var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext"));
36
37
  var import_pisellMenu = __toESM(require("../../pisellMenu"));
37
38
  var DataSourceMenu = (0, import_react.forwardRef)(
38
39
  (props, ref) => {
40
+ var _a, _b, _c, _d;
41
+ const { appHelper } = (0, import_useEngineContext.default)();
39
42
  const {
40
43
  menuItems,
41
44
  selectedKeys,
@@ -43,7 +46,7 @@ var DataSourceMenu = (0, import_react.forwardRef)(
43
46
  setOpenKeys,
44
47
  getShowChildren,
45
48
  handleClick
46
- } = window.app.menuManager.useMenu();
49
+ } = (_d = (_c = (_b = (_a = appHelper == null ? void 0 : appHelper.utils) == null ? void 0 : _a.getApp) == null ? void 0 : _b.call(_a)) == null ? void 0 : _c.menuManager) == null ? void 0 : _d.useMenu();
47
50
  const renderMenuItems = (items) => {
48
51
  return items.map((item) => {
49
52
  if (item.hide) {
@@ -74,12 +77,12 @@ var DataSourceMenu = (0, import_react.forwardRef)(
74
77
  openKeys,
75
78
  onOpenChange: setOpenKeys,
76
79
  onClick: ({ item }) => {
77
- var _a;
78
- handleClick((_a = item.props) == null ? void 0 : _a.router);
80
+ var _a2;
81
+ handleClick((_a2 = item.props) == null ? void 0 : _a2.router);
79
82
  },
80
83
  ...props,
81
84
  other: {
82
- dataSource: void 0
85
+ items: void 0
83
86
  }
84
87
  },
85
88
  renderMenuItems(menuItems)