@openli1115/lowcode-edit-pro-table 1.0.53 → 1.0.55

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 (92) hide show
  1. package/build/docs/404.html +3 -3
  2. package/build/docs/_demos/:uuid +3 -3
  3. package/build/docs/colorful-button.html +3 -3
  4. package/build/docs/colorful-input.html +3 -3
  5. package/build/docs/index.html +3 -3
  6. package/build/docs/umi.f54e4184.js +1 -0
  7. package/build/docs/~demos/:uuid.html +3 -3
  8. package/build/docs/~demos/colorful-button-demo.html +3 -3
  9. package/build/docs/~demos/colorful-input-demo.html +3 -3
  10. package/build/lowcode/assets-daily.json +13 -13
  11. package/build/lowcode/assets-dev.json +2 -2
  12. package/build/lowcode/assets-prod.json +13 -13
  13. package/build/lowcode/meta.design.js +1 -1
  14. package/build/lowcode/meta.js +1 -1
  15. package/build/lowcode/render/default/view.js +2 -2
  16. package/build/lowcode/view.js +2 -2
  17. package/dist/BizComps.js +7 -7
  18. package/dist/BizComps.js.map +1 -1
  19. package/es/components/ProCascaderSelect/index.js +29 -32
  20. package/es/components/ProCheckbox/index.d.ts +1 -9
  21. package/es/components/ProCheckbox/index.js +27 -40
  22. package/es/components/ProDatePicker/index.js +23 -29
  23. package/es/components/ProInput/index.d.ts +0 -3
  24. package/es/components/ProInput/index.js +23 -31
  25. package/es/components/ProRadio/index.d.ts +1 -9
  26. package/es/components/ProRadio/index.js +26 -40
  27. package/es/components/ProSelect/index.js +27 -32
  28. package/es/components/ProTextArea/index.d.ts +2 -2
  29. package/es/components/ProTextArea/index.js +23 -29
  30. package/es/components/ProTimePicker/index.js +24 -33
  31. package/es/components/utils/index.d.ts +15 -1
  32. package/es/components/utils/index.js +39 -9
  33. package/es/context/useComponentContext.d.ts +3 -1
  34. package/es/context/useComponentContext.js +17 -17
  35. package/es/context/useProBoundValue.d.ts +6 -0
  36. package/es/context/useProBoundValue.js +34 -0
  37. package/es/index.d.ts +2 -1
  38. package/es/index.js +2 -1
  39. package/lib/components/ProCascaderSelect/index.js +28 -31
  40. package/lib/components/ProCheckbox/index.d.ts +1 -9
  41. package/lib/components/ProCheckbox/index.js +26 -39
  42. package/lib/components/ProDatePicker/index.js +22 -28
  43. package/lib/components/ProInput/index.d.ts +0 -3
  44. package/lib/components/ProInput/index.js +22 -30
  45. package/lib/components/ProRadio/index.d.ts +1 -9
  46. package/lib/components/ProRadio/index.js +25 -39
  47. package/lib/components/ProSelect/index.js +26 -31
  48. package/lib/components/ProTextArea/index.d.ts +2 -2
  49. package/lib/components/ProTextArea/index.js +22 -28
  50. package/lib/components/ProTimePicker/index.js +23 -32
  51. package/lib/components/utils/index.d.ts +15 -1
  52. package/lib/components/utils/index.js +40 -10
  53. package/lib/context/useComponentContext.d.ts +3 -1
  54. package/lib/context/useComponentContext.js +18 -18
  55. package/lib/context/useProBoundValue.d.ts +6 -0
  56. package/lib/context/useProBoundValue.js +39 -0
  57. package/lib/index.d.ts +2 -1
  58. package/lib/index.js +5 -2
  59. package/lowcode/pro-cascader-select/meta.ts +0 -5
  60. package/lowcode/pro-checkbox/meta.ts +0 -5
  61. package/lowcode/pro-date-picker/meta.ts +0 -5
  62. package/lowcode/pro-input/meta.ts +0 -5
  63. package/lowcode/pro-radio-group/meta.ts +0 -5
  64. package/lowcode/pro-select/meta.ts +0 -5
  65. package/lowcode/pro-text-area/meta.ts +0 -5
  66. package/lowcode/pro-time-picker/meta.ts +0 -5
  67. package/lowcode_es/meta.js +1 -1
  68. package/lowcode_es/pro-cascader-select/meta.js +0 -4
  69. package/lowcode_es/pro-checkbox/meta.js +0 -4
  70. package/lowcode_es/pro-date-picker/meta.d.ts +0 -14
  71. package/lowcode_es/pro-date-picker/meta.js +0 -4
  72. package/lowcode_es/pro-input/meta.js +0 -4
  73. package/lowcode_es/pro-radio-group/meta.js +0 -4
  74. package/lowcode_es/pro-select/meta.d.ts +0 -11
  75. package/lowcode_es/pro-select/meta.js +0 -4
  76. package/lowcode_es/pro-text-area/meta.d.ts +0 -5
  77. package/lowcode_es/pro-text-area/meta.js +0 -4
  78. package/lowcode_es/pro-time-picker/meta.js +0 -4
  79. package/lowcode_lib/meta.js +1 -1
  80. package/lowcode_lib/pro-cascader-select/meta.js +0 -4
  81. package/lowcode_lib/pro-checkbox/meta.js +0 -4
  82. package/lowcode_lib/pro-date-picker/meta.d.ts +0 -14
  83. package/lowcode_lib/pro-date-picker/meta.js +0 -4
  84. package/lowcode_lib/pro-input/meta.js +0 -4
  85. package/lowcode_lib/pro-radio-group/meta.js +0 -4
  86. package/lowcode_lib/pro-select/meta.d.ts +0 -11
  87. package/lowcode_lib/pro-select/meta.js +0 -4
  88. package/lowcode_lib/pro-text-area/meta.d.ts +0 -5
  89. package/lowcode_lib/pro-text-area/meta.js +0 -4
  90. package/lowcode_lib/pro-time-picker/meta.js +0 -4
  91. package/package.json +3 -3
  92. package/build/docs/umi.bfd70739.js +0 -1
@@ -1,24 +1,14 @@
1
1
  import _TimePicker from "@alifd/next/es/time-picker";
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
4
- var _excluded = ["screen_structure", "screen_structure_field", "screen_inner_id", "range_inner_table", "defaultValue", "disableEdit"];
5
- import { getFormBindingPath } from "../utils";
6
- import { useComponentContext } from "../../context/useComponentContext";
7
- var React = window.React;
8
- var createElement = React.createElement,
9
- useEffect = React.useEffect,
10
- useRef = React.useRef,
11
- useState = React.useState;
3
+ import { resolveProScreenBinding } from "../utils";
4
+ import { useProBoundValue } from "../../context/useProBoundValue";
5
+ var createElement = window.React.createElement;
12
6
  var moment = window.moment;
13
-
14
- // 工具函数:Date 转字符串 "HH:mm:ss"
15
7
  function timeDateToString(date) {
16
8
  if (!date) return '';
17
9
  if (moment) {
18
- // 使用 moment 格式化
19
10
  return moment(date).format('HH:mm:ss');
20
11
  }
21
- // 降级方案
22
12
  var d = new Date(date);
23
13
  var h = String(d.getHours()).padStart(2, '0');
24
14
  var m = String(d.getMinutes()).padStart(2, '0');
@@ -30,32 +20,33 @@ var ProTimePicker = function ProTimePicker(props) {
30
20
  screen_structure_field = props.screen_structure_field,
31
21
  screen_inner_id = props.screen_inner_id,
32
22
  range_inner_table = props.range_inner_table,
33
- defaultValue = props.defaultValue,
34
23
  disableEdit = props.disableEdit,
35
- otherProps = _objectWithoutPropertiesLoose(props, _excluded);
36
- var _getFormBindingPath = getFormBindingPath(screen_structure, screen_structure_field, range_inner_table),
37
- structureName = _getFormBindingPath.structureName,
38
- structureField = _getFormBindingPath.structureField;
39
- var fieldPath = structureName + "." + structureField;
40
- var _useComponentContext = useComponentContext(fieldPath),
41
- value = _useComponentContext.value,
42
- onValueChange = _useComponentContext.onValueChange;
43
- console.log('ProTimePicker useComponentContext value', value, fieldPath);
44
- // console.log('otherProps', otherProps);
45
-
24
+ readOnlyProp = props.readOnly,
25
+ disabledProp = props.disabled,
26
+ _v = props.value,
27
+ schemaOnChange = props.onChange,
28
+ defaultValue = props.defaultValue;
29
+ var _resolveProScreenBind = resolveProScreenBinding({
30
+ screen_structure: screen_structure,
31
+ screen_structure_field: screen_structure_field,
32
+ range_inner_table: range_inner_table
33
+ }),
34
+ structureName = _resolveProScreenBind.structureName,
35
+ structureField = _resolveProScreenBind.structureField,
36
+ fieldPath = _resolveProScreenBind.fieldPath;
37
+ var _useProBoundValue = useProBoundValue(fieldPath, defaultValue, ''),
38
+ value = _useProBoundValue.value,
39
+ commit = _useProBoundValue.commit;
46
40
  var handleChange = function handleChange(newValue) {
47
- // updateScreenStructure(screen_structure, screen_structure_field, value);
48
- if (onValueChange) {
49
- onValueChange(timeDateToString(newValue));
50
- }
51
- // 触发标准 onChange
52
- if (props.onChange) {
53
- props.onChange(timeDateToString(newValue), structureName, structureField);
54
- }
41
+ var str = timeDateToString(newValue);
42
+ commit(str);
43
+ schemaOnChange === null || schemaOnChange === void 0 ? void 0 : schemaOnChange(str, structureName, structureField);
55
44
  };
56
45
  return /*#__PURE__*/React.createElement("span", {
57
46
  className: "field-wrapper " + (disableEdit ? 'disable-edit' : 'enable-edit')
58
47
  }, /*#__PURE__*/React.createElement(_TimePicker, _extends({}, props, {
48
+ readOnly: disableEdit ? true : readOnlyProp,
49
+ disabled: disabledProp,
59
50
  value: value,
60
51
  onChange: handleChange
61
52
  })));
@@ -3,9 +3,23 @@ export declare const getStructureFieldName: (screen_structure: string, screen_st
3
3
  structureName: string;
4
4
  structureField: string;
5
5
  };
6
- /** 范围内表:表名来自 range_inner_table,字段名仍来自 screen_structure_field */
6
+ /**
7
+ * 屏幕结构:screen_structure + screen_structure_field。
8
+ * 范围内表:仅 range_inner_table;未选结构字段时默认绑定 low(内表行值)。
9
+ */
7
10
  export declare const getFormBindingPath: (screen_structure?: string, screen_structure_field?: string, range_inner_table?: string) => {
8
11
  structureName: string;
9
12
  structureField: string;
10
13
  };
14
+ /** 合法表单路径;缺省时为空串,避免 lodash path `'.'` 污染数据 */
15
+ export declare const getFormFieldPath: (screen_structure?: string, screen_structure_field?: string, range_inner_table?: string) => string;
16
+ export declare const resolveProScreenBinding: (props: {
17
+ screen_structure?: string;
18
+ screen_structure_field?: string;
19
+ range_inner_table?: string;
20
+ }) => {
21
+ structureName: string;
22
+ structureField: string;
23
+ fieldPath: string;
24
+ };
11
25
  export declare const baseUrl: string;
@@ -30,17 +30,47 @@ export var getStructureFieldName = function getStructureFieldName(screen_structu
30
30
  };
31
31
  };
32
32
 
33
- /** 范围内表:表名来自 range_inner_table,字段名仍来自 screen_structure_field */
33
+ /**
34
+ * 屏幕结构:screen_structure + screen_structure_field。
35
+ * 范围内表:仅 range_inner_table;未选结构字段时默认绑定 low(内表行值)。
36
+ */
34
37
  export var getFormBindingPath = function getFormBindingPath(screen_structure, screen_structure_field, range_inner_table) {
35
38
  var rt = range_inner_table && String(range_inner_table).trim();
36
- if (rt && screen_structure_field) {
37
- var structureName = String(range_inner_table).split('__')[1] || '';
38
- var structureField = String(screen_structure_field).split('__')[1] || '';
39
- return {
40
- structureName: structureName,
41
- structureField: structureField
42
- };
39
+ var structureName = '';
40
+ var structureField = '';
41
+ if (rt) {
42
+ structureName = String(range_inner_table).split('__')[1] || '';
43
+ structureField = screen_structure_field ? String(screen_structure_field).split('__')[1] || '' : '';
44
+ if (structureName && !structureField) {
45
+ structureField = 'low';
46
+ }
47
+ } else {
48
+ var pair = getStructureFieldName(screen_structure || '', screen_structure_field || '');
49
+ structureName = pair.structureName || '';
50
+ structureField = pair.structureField || '';
43
51
  }
44
- return getStructureFieldName(screen_structure || '', screen_structure_field || '');
52
+ return {
53
+ structureName: structureName,
54
+ structureField: structureField
55
+ };
56
+ };
57
+
58
+ /** 合法表单路径;缺省时为空串,避免 lodash path `'.'` 污染数据 */
59
+ export var getFormFieldPath = function getFormFieldPath(screen_structure, screen_structure_field, range_inner_table) {
60
+ var _getFormBindingPath = getFormBindingPath(screen_structure, screen_structure_field, range_inner_table),
61
+ structureName = _getFormBindingPath.structureName,
62
+ structureField = _getFormBindingPath.structureField;
63
+ return structureName && structureField ? structureName + "." + structureField : '';
64
+ };
65
+ export var resolveProScreenBinding = function resolveProScreenBinding(props) {
66
+ var _getFormBindingPath2 = getFormBindingPath(props.screen_structure, props.screen_structure_field, props.range_inner_table),
67
+ structureName = _getFormBindingPath2.structureName,
68
+ structureField = _getFormBindingPath2.structureField;
69
+ var fieldPath = structureName && structureField ? structureName + "." + structureField : '';
70
+ return {
71
+ structureName: structureName,
72
+ structureField: structureField,
73
+ fieldPath: fieldPath
74
+ };
45
75
  };
46
76
  export var baseUrl = "https://" + window.location.hostname + ":18080/prod-api";
@@ -1,4 +1,6 @@
1
- export declare const useComponentContext: (path: string) => {
1
+ /** 级联等组件用稳定空数组,避免 deps 抖动 */
2
+ export declare const FORM_EMPTY_ARRAY: never[];
3
+ export declare const useComponentContext: (path: string, whenNull?: any) => {
2
4
  value: any;
3
5
  onValueChange: (newValue: any) => void;
4
6
  };
@@ -3,27 +3,27 @@ import { useContext, useCallback, useMemo } from 'react';
3
3
  import { get } from 'lodash';
4
4
  import { getFormContext } from "./FormProvider";
5
5
  var FormContext = getFormContext();
6
- export var useComponentContext = function useComponentContext(path) {
7
- var formContext = useContext(FormContext);
8
6
 
9
- // 使用 useMemo 缓存值
7
+ /** 级联等组件用稳定空数组,避免 deps 抖动 */
8
+ export var FORM_EMPTY_ARRAY = [];
9
+ export var useComponentContext = function useComponentContext(path, whenNull) {
10
+ if (whenNull === void 0) {
11
+ whenNull = '';
12
+ }
13
+ var formContext = useContext(FormContext);
14
+ var safePath = path && path !== '.' ? path : '';
10
15
  var value = useMemo(function () {
11
- var _get;
12
- console.log("[useComponentContext] \u2705 initial value for '" + path + "':", formContext, value);
13
- if (!(formContext !== null && formContext !== void 0 && formContext.initialized)) return '';
14
- return (_get = get(formContext.values, path)) !== null && _get !== void 0 ? _get : '';
15
- }, [formContext, path]);
16
-
17
- // 使用 useCallback 缓存 onValueChange
16
+ if (!safePath || !(formContext !== null && formContext !== void 0 && formContext.initialized)) return whenNull;
17
+ var v = get(formContext.values, safePath);
18
+ if (v === undefined || v === null) return whenNull;
19
+ return v;
20
+ }, [formContext, safePath, whenNull]);
18
21
  var onValueChange = useCallback(function (newValue) {
19
- if (!(formContext !== null && formContext !== void 0 && formContext.setFieldValue)) return;
20
- console.log("[useComponentContext] \uD83D\uDCDD onValueChange triggered for '" + path + "' -> new value:", newValue);
21
-
22
- // 检查值是否实际变化
23
- var currentValue = get(formContext.values, path);
22
+ if (!safePath || !(formContext !== null && formContext !== void 0 && formContext.setFieldValue)) return;
23
+ var currentValue = get(formContext.values, safePath);
24
24
  if (currentValue === newValue) return;
25
- formContext.setFieldValue(path, newValue);
26
- }, [formContext, path]);
25
+ formContext.setFieldValue(safePath, newValue);
26
+ }, [formContext, safePath]);
27
27
  return {
28
28
  value: value,
29
29
  onValueChange: onValueChange
@@ -0,0 +1,6 @@
1
+ /** contextWhenNull:绑定路径下值为 null/undefined 时的展示值(级联用 FORM_EMPTY_ARRAY,选择器用 undefined) */
2
+ export declare function useProBoundValue(fieldPath: string, unboundInitial: any, contextWhenNull?: any): {
3
+ value: any;
4
+ commit: (next: any) => void;
5
+ bound: boolean;
6
+ };
@@ -0,0 +1,34 @@
1
+ // 表单上下文绑定 + 无路径时本地状态(与 ProInput 等行为一致)
2
+ import { useComponentContext } from "./useComponentContext";
3
+ var React = window.React;
4
+ var useCallback = React.useCallback,
5
+ useState = React.useState;
6
+
7
+ /** contextWhenNull:绑定路径下值为 null/undefined 时的展示值(级联用 FORM_EMPTY_ARRAY,选择器用 undefined) */
8
+ export function useProBoundValue(fieldPath, unboundInitial, contextWhenNull) {
9
+ if (contextWhenNull === void 0) {
10
+ contextWhenNull = '';
11
+ }
12
+ var _useComponentContext = useComponentContext(fieldPath, contextWhenNull),
13
+ ctxValue = _useComponentContext.value,
14
+ onValueChange = _useComponentContext.onValueChange;
15
+ var bound = Boolean(fieldPath);
16
+ var _useState = useState(function () {
17
+ return unboundInitial;
18
+ }),
19
+ localValue = _useState[0],
20
+ setLocalValue = _useState[1];
21
+ var value = bound ? ctxValue : localValue;
22
+ var commit = useCallback(function (next) {
23
+ if (bound) {
24
+ onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(next);
25
+ } else {
26
+ setLocalValue(next);
27
+ }
28
+ }, [bound, onValueChange]);
29
+ return {
30
+ value: value,
31
+ commit: commit,
32
+ bound: bound
33
+ };
34
+ }
package/es/index.d.ts CHANGED
@@ -14,4 +14,5 @@ export { default as ProRadio } from './components/ProRadio';
14
14
  export { default as ProCascaderSelect } from './components/ProCascaderSelect';
15
15
  export { DatePicker, TimePicker } from 'antd';
16
16
  export { getFormContext, initializeFormContext, FormProvider } from './context/FormProvider';
17
- export { useComponentContext } from './context/useComponentContext';
17
+ export { useComponentContext, FORM_EMPTY_ARRAY } from './context/useComponentContext';
18
+ export { useProBoundValue } from './context/useProBoundValue';
package/es/index.js CHANGED
@@ -12,4 +12,5 @@ export { default as ProRadio } from "./components/ProRadio";
12
12
  export { default as ProCascaderSelect } from "./components/ProCascaderSelect";
13
13
  export { DatePicker, TimePicker } from 'antd';
14
14
  export { getFormContext, initializeFormContext, FormProvider } from "./context/FormProvider";
15
- export { useComponentContext } from "./context/useComponentContext";
15
+ export { useComponentContext, FORM_EMPTY_ARRAY } from "./context/useComponentContext";
16
+ export { useProBoundValue } from "./context/useProBoundValue";
@@ -5,50 +5,47 @@ exports.__esModule = true;
5
5
  exports["default"] = void 0;
6
6
  var _cascaderSelect = _interopRequireDefault(require("@alifd/next/lib/cascader-select"));
7
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
8
  var _utils = require("../utils");
10
- var _useComponentContext2 = require("../../context/useComponentContext");
11
- var _excluded = ["screen_structure", "screen_structure_field", "screen_inner_id", "range_inner_table", "dataSource", "defaultValue", "disableEdit"];
12
- var React = window.React;
13
- var createElement = React.createElement,
14
- useEffect = React.useEffect,
15
- useRef = React.useRef,
16
- useState = React.useState;
9
+ var _useProBoundValue2 = require("../../context/useProBoundValue");
10
+ var _useComponentContext = require("../../context/useComponentContext");
11
+ var createElement = window.React.createElement;
17
12
  var ProCascaderSelect = function ProCascaderSelect(props) {
18
13
  var screen_structure = props.screen_structure,
19
14
  screen_structure_field = props.screen_structure_field,
20
15
  screen_inner_id = props.screen_inner_id,
21
16
  range_inner_table = props.range_inner_table,
22
17
  dataSource = props.dataSource,
23
- defaultValue = props.defaultValue,
24
18
  disableEdit = props.disableEdit,
25
- otherProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
26
- var _getFormBindingPath = (0, _utils.getFormBindingPath)(screen_structure, screen_structure_field, range_inner_table),
27
- structureName = _getFormBindingPath.structureName,
28
- structureField = _getFormBindingPath.structureField;
29
- var fieldPath = structureName + "." + structureField;
30
- var _useComponentContext = (0, _useComponentContext2.useComponentContext)(fieldPath),
31
- value = _useComponentContext.value,
32
- onValueChange = _useComponentContext.onValueChange;
33
- console.log('ProCascaderSelect useComponentContext value', value, fieldPath);
34
- // console.log('otherProps', otherProps);
35
-
19
+ readOnlyProp = props.readOnly,
20
+ disabledProp = props.disabled,
21
+ _v = props.value,
22
+ schemaOnChange = props.onChange,
23
+ defaultValue = props.defaultValue;
24
+ var _resolveProScreenBind = (0, _utils.resolveProScreenBinding)({
25
+ screen_structure: screen_structure,
26
+ screen_structure_field: screen_structure_field,
27
+ range_inner_table: range_inner_table
28
+ }),
29
+ structureName = _resolveProScreenBind.structureName,
30
+ structureField = _resolveProScreenBind.structureField,
31
+ fieldPath = _resolveProScreenBind.fieldPath;
32
+ var unboundInit = defaultValue != null && Array.isArray(defaultValue) ? defaultValue : _useComponentContext.FORM_EMPTY_ARRAY;
33
+ var _useProBoundValue = (0, _useProBoundValue2.useProBoundValue)(fieldPath, unboundInit, _useComponentContext.FORM_EMPTY_ARRAY),
34
+ value = _useProBoundValue.value,
35
+ commit = _useProBoundValue.commit;
36
36
  var handleChange = function handleChange(newValue) {
37
- // updateScreenStructure(screen_structure, screen_structure_field, value);
38
- if (onValueChange) {
39
- onValueChange(newValue);
40
- }
41
- // 触发标准 onChange
42
- if (props.onChange) {
43
- props.onChange(newValue, structureName, structureField);
44
- }
37
+ commit(newValue);
38
+ schemaOnChange === null || schemaOnChange === void 0 ? void 0 : schemaOnChange(newValue, structureName, structureField);
45
39
  };
40
+ var displayValue = Array.isArray(value) ? value : _useComponentContext.FORM_EMPTY_ARRAY;
46
41
  return /*#__PURE__*/React.createElement("span", {
47
42
  className: "field-wrapper " + (disableEdit ? 'disable-edit' : 'enable-edit')
48
43
  }, /*#__PURE__*/React.createElement(_cascaderSelect["default"], (0, _extends2["default"])({}, props, {
49
- value: value,
50
- onChange: handleChange,
51
- dataSource: dataSource
44
+ readOnly: disableEdit ? true : readOnlyProp,
45
+ disabled: disabledProp,
46
+ dataSource: dataSource,
47
+ value: displayValue,
48
+ onChange: handleChange
52
49
  })));
53
50
  };
54
51
  var _default = exports["default"] = ProCascaderSelect;
@@ -1,14 +1,6 @@
1
1
  import { Checkbox } from '@alifd/next';
2
2
  /**
3
- * ProCheckbox
4
- * @description 复选按钮
5
- * @param {string} screen_structure_field 屏幕结构字段
6
- * @param {string} screen_inner_id 屏幕内部id
7
- * @param {string} screen_structure 屏幕结构
8
- * @param {string} dataSource 数据源
9
- * @param {string} checkedValue 选中值
10
- * @param {string} defaultChecked 默认选中
11
- * @param {string} checked 是否选中
3
+ * ProCheckbox — 复选框(单框 checked)
12
4
  */
13
5
  declare const ProCheckbox: typeof Checkbox;
14
6
  export default ProCheckbox;
@@ -5,26 +5,12 @@ exports.__esModule = true;
5
5
  exports["default"] = void 0;
6
6
  var _checkbox = _interopRequireDefault(require("@alifd/next/lib/checkbox"));
7
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
8
  var _utils = require("../utils");
10
- var _useComponentContext2 = require("../../context/useComponentContext");
11
- var _excluded = ["screen_structure", "screen_structure_field", "screen_inner_id", "range_inner_table", "checkedValue", "checked", "disableEdit"];
12
- var React = window.React;
13
- var createElement = React.createElement,
14
- useEffect = React.useEffect,
15
- useRef = React.useRef,
16
- useState = React.useState;
9
+ var _useProBoundValue2 = require("../../context/useProBoundValue");
10
+ var createElement = window.React.createElement;
17
11
 
18
12
  /**
19
- * ProCheckbox
20
- * @description 复选按钮
21
- * @param {string} screen_structure_field 屏幕结构字段
22
- * @param {string} screen_inner_id 屏幕内部id
23
- * @param {string} screen_structure 屏幕结构
24
- * @param {string} dataSource 数据源
25
- * @param {string} checkedValue 选中值
26
- * @param {string} defaultChecked 默认选中
27
- * @param {string} checked 是否选中
13
+ * ProCheckbox — 复选框(单框 checked)
28
14
  */
29
15
  var ProCheckbox = function ProCheckbox(props) {
30
16
  var screen_structure = props.screen_structure,
@@ -32,33 +18,34 @@ var ProCheckbox = function ProCheckbox(props) {
32
18
  screen_inner_id = props.screen_inner_id,
33
19
  range_inner_table = props.range_inner_table,
34
20
  checkedValue = props.checkedValue,
35
- checked = props.checked,
21
+ _checkedProp = props.checked,
36
22
  disableEdit = props.disableEdit,
37
- otherProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
38
- var _getFormBindingPath = (0, _utils.getFormBindingPath)(screen_structure, screen_structure_field, range_inner_table),
39
- structureName = _getFormBindingPath.structureName,
40
- structureField = _getFormBindingPath.structureField;
41
- var fieldPath = structureName + "." + structureField;
42
- var _useComponentContext = (0, _useComponentContext2.useComponentContext)(fieldPath),
43
- value = _useComponentContext.value,
44
- onValueChange = _useComponentContext.onValueChange;
45
- console.log('ProCheckbox useComponentContext value', value, fieldPath);
46
- // console.log('otherProps', otherProps);
47
-
48
- var handleChange = function handleChange(newValue) {
49
- // updateScreenStructure(screen_structure, screen_structure_field, value);
50
- if (onValueChange) {
51
- onValueChange(newValue);
52
- }
53
- // 触发标准 onChange
54
- if (props.onChange) {
55
- props.onChange(newValue, structureName, structureField);
56
- }
23
+ readOnlyProp = props.readOnly,
24
+ disabledProp = props.disabled,
25
+ _v = props.value,
26
+ schemaOnChange = props.onChange;
27
+ var _resolveProScreenBind = (0, _utils.resolveProScreenBinding)({
28
+ screen_structure: screen_structure,
29
+ screen_structure_field: screen_structure_field,
30
+ range_inner_table: range_inner_table
31
+ }),
32
+ structureName = _resolveProScreenBind.structureName,
33
+ structureField = _resolveProScreenBind.structureField,
34
+ fieldPath = _resolveProScreenBind.fieldPath;
35
+ var _useProBoundValue = (0, _useProBoundValue2.useProBoundValue)(fieldPath, false, false),
36
+ value = _useProBoundValue.value,
37
+ commit = _useProBoundValue.commit;
38
+ var handleChange = function handleChange(checked) {
39
+ commit(checked);
40
+ schemaOnChange === null || schemaOnChange === void 0 ? void 0 : schemaOnChange(checked, structureName, structureField);
57
41
  };
58
42
  return /*#__PURE__*/React.createElement("span", {
59
43
  className: "field-wrapper " + (disableEdit ? 'disable-edit' : 'enable-edit')
60
44
  }, /*#__PURE__*/React.createElement(_checkbox["default"], (0, _extends2["default"])({}, props, {
61
- checked: value,
45
+ readOnly: disableEdit ? true : readOnlyProp,
46
+ disabled: disabledProp,
47
+ checkedValue: checkedValue,
48
+ checked: Boolean(value),
62
49
  onChange: handleChange
63
50
  })));
64
51
  };
@@ -5,46 +5,40 @@ exports.__esModule = true;
5
5
  exports["default"] = void 0;
6
6
  var _datePicker = _interopRequireDefault(require("@alifd/next/lib/date-picker"));
7
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
8
  var _utils = require("../utils");
10
- var _useComponentContext2 = require("../../context/useComponentContext");
11
- var _excluded = ["screen_structure", "screen_structure_field", "screen_inner_id", "range_inner_table", "defaultValue", "disableEdit"];
12
- var React = window.React;
13
- var createElement = React.createElement,
14
- useEffect = React.useEffect,
15
- useRef = React.useRef,
16
- useState = React.useState;
9
+ var _useProBoundValue2 = require("../../context/useProBoundValue");
10
+ var createElement = window.React.createElement;
17
11
  var ProDatePicker = function ProDatePicker(props) {
18
12
  var screen_structure = props.screen_structure,
19
13
  screen_structure_field = props.screen_structure_field,
20
14
  screen_inner_id = props.screen_inner_id,
21
15
  range_inner_table = props.range_inner_table,
22
- defaultValue = props.defaultValue,
23
16
  disableEdit = props.disableEdit,
24
- otherProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
25
- var _getFormBindingPath = (0, _utils.getFormBindingPath)(screen_structure, screen_structure_field, range_inner_table),
26
- structureName = _getFormBindingPath.structureName,
27
- structureField = _getFormBindingPath.structureField;
28
- var fieldPath = structureName + "." + structureField;
29
- var _useComponentContext = (0, _useComponentContext2.useComponentContext)(fieldPath),
30
- value = _useComponentContext.value,
31
- onValueChange = _useComponentContext.onValueChange;
32
- console.log('ProDatePicker useComponentContext value', value, fieldPath);
33
- // console.log('otherProps', otherProps);
34
-
17
+ readOnlyProp = props.readOnly,
18
+ disabledProp = props.disabled,
19
+ _v = props.value,
20
+ schemaOnChange = props.onChange,
21
+ defaultValue = props.defaultValue;
22
+ var _resolveProScreenBind = (0, _utils.resolveProScreenBinding)({
23
+ screen_structure: screen_structure,
24
+ screen_structure_field: screen_structure_field,
25
+ range_inner_table: range_inner_table
26
+ }),
27
+ structureName = _resolveProScreenBind.structureName,
28
+ structureField = _resolveProScreenBind.structureField,
29
+ fieldPath = _resolveProScreenBind.fieldPath;
30
+ var _useProBoundValue = (0, _useProBoundValue2.useProBoundValue)(fieldPath, defaultValue, ''),
31
+ value = _useProBoundValue.value,
32
+ commit = _useProBoundValue.commit;
35
33
  var handleChange = function handleChange(newValue) {
36
- // updateScreenStructure(screen_structure, screen_structure_field, value);
37
- if (onValueChange) {
38
- onValueChange(newValue);
39
- }
40
- // 触发标准 onChange
41
- if (props.onChange) {
42
- props.onChange(newValue, structureName, structureField);
43
- }
34
+ commit(newValue);
35
+ schemaOnChange === null || schemaOnChange === void 0 ? void 0 : schemaOnChange(newValue, structureName, structureField);
44
36
  };
45
37
  return /*#__PURE__*/React.createElement("span", {
46
38
  className: "field-wrapper " + (disableEdit ? 'disable-edit' : 'enable-edit')
47
39
  }, /*#__PURE__*/React.createElement(_datePicker["default"], (0, _extends2["default"])({}, props, {
40
+ readOnly: disableEdit ? true : readOnlyProp,
41
+ disabled: disabledProp,
48
42
  value: value,
49
43
  onChange: handleChange
50
44
  })));
@@ -2,9 +2,6 @@ import { Input } from '@alifd/next';
2
2
  /**
3
3
  * ProInput
4
4
  * @description 输入框组件
5
- * @param {string} screen_structure_field 屏幕结构字段
6
- * @param {string} screen_inner_id 屏幕内部id
7
- * @param {string} screen_structure 屏幕结构
8
5
  */
9
6
  declare const ProInput: typeof Input;
10
7
  export default ProInput;
@@ -5,22 +5,13 @@ exports.__esModule = true;
5
5
  exports["default"] = void 0;
6
6
  var _input = _interopRequireDefault(require("@alifd/next/lib/input"));
7
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
8
  var _utils = require("../utils");
10
- var _useComponentContext2 = require("../../context/useComponentContext");
11
- var _excluded = ["screen_structure", "screen_structure_field", "screen_inner_id", "range_inner_table", "disableEdit"];
12
- var React = window.React;
13
- var createElement = React.createElement,
14
- useEffect = React.useEffect,
15
- useRef = React.useRef,
16
- useState = React.useState;
9
+ var _useProBoundValue2 = require("../../context/useProBoundValue");
10
+ var createElement = window.React.createElement;
17
11
 
18
12
  /**
19
13
  * ProInput
20
14
  * @description 输入框组件
21
- * @param {string} screen_structure_field 屏幕结构字段
22
- * @param {string} screen_inner_id 屏幕内部id
23
- * @param {string} screen_structure 屏幕结构
24
15
  */
25
16
  var ProInput = function ProInput(props) {
26
17
  var screen_structure = props.screen_structure,
@@ -28,30 +19,31 @@ var ProInput = function ProInput(props) {
28
19
  screen_inner_id = props.screen_inner_id,
29
20
  range_inner_table = props.range_inner_table,
30
21
  disableEdit = props.disableEdit,
31
- otherProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
32
- var _getFormBindingPath = (0, _utils.getFormBindingPath)(screen_structure, screen_structure_field, range_inner_table),
33
- structureName = _getFormBindingPath.structureName,
34
- structureField = _getFormBindingPath.structureField;
35
- var fieldPath = structureName + "." + structureField;
36
- var _useComponentContext = (0, _useComponentContext2.useComponentContext)(fieldPath),
37
- value = _useComponentContext.value,
38
- onValueChange = _useComponentContext.onValueChange;
39
- console.log('ProInput useComponentContext value', value, fieldPath);
40
- // console.log('otherProps', otherProps);
41
-
22
+ readOnlyProp = props.readOnly,
23
+ disabledProp = props.disabled,
24
+ _schemaValue = props.value,
25
+ schemaOnChange = props.onChange,
26
+ schemaDefaultValue = props.defaultValue;
27
+ var _resolveProScreenBind = (0, _utils.resolveProScreenBinding)({
28
+ screen_structure: screen_structure,
29
+ screen_structure_field: screen_structure_field,
30
+ range_inner_table: range_inner_table
31
+ }),
32
+ structureName = _resolveProScreenBind.structureName,
33
+ structureField = _resolveProScreenBind.structureField,
34
+ fieldPath = _resolveProScreenBind.fieldPath;
35
+ var _useProBoundValue = (0, _useProBoundValue2.useProBoundValue)(fieldPath, schemaDefaultValue != null ? String(schemaDefaultValue) : '', ''),
36
+ value = _useProBoundValue.value,
37
+ commit = _useProBoundValue.commit;
42
38
  var handleChange = function handleChange(newValue) {
43
- // updateScreenStructure(screen_structure, screen_structure_field, value);
44
- if (onValueChange) {
45
- onValueChange(newValue);
46
- }
47
- // 触发标准 onChange
48
- if (props.onChange) {
49
- props.onChange(newValue, structureName, structureField);
50
- }
39
+ commit(newValue);
40
+ schemaOnChange === null || schemaOnChange === void 0 ? void 0 : schemaOnChange(newValue, structureName, structureField);
51
41
  };
52
42
  return /*#__PURE__*/React.createElement("span", {
53
43
  className: "field-wrapper " + (disableEdit ? 'disable-edit' : 'enable-edit')
54
44
  }, /*#__PURE__*/React.createElement(_input["default"], (0, _extends2["default"])({}, props, {
45
+ readOnly: disableEdit ? true : readOnlyProp,
46
+ disabled: disabledProp,
55
47
  value: value,
56
48
  onChange: handleChange
57
49
  })));
@@ -1,14 +1,6 @@
1
1
  import { Radio } from '@alifd/next';
2
2
  /**
3
- * ProRadio
4
- * @description 单选按钮组
5
- * @param {string} defaultValue 默认值(radio.group才有的字段)
6
- * @param {string} screen_structure_field 屏幕结构字段
7
- * @param {string} screen_inner_id 屏幕内部id
8
- * @param {string} screen_structure 屏幕结构
9
- * @param {string} dataSource 数据源
10
- * @param {string} checkedValue 选中值
11
- * @param {string} checked 默认选中
3
+ * ProRadio — 单选按钮组
12
4
  */
13
5
  declare const ProRadio: typeof Radio;
14
6
  export default ProRadio;