UNPKG

tdesign-react

Version:
173 lines (167 loc) 5.87 kB
/** * tdesign v1.13.2 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var slicedToArray = require('../../_chunks/dep-e17e2d31.js'); var toConsumableArray = require('../../_chunks/dep-64a1054a.js'); var createClass = require('../../_chunks/dep-5ad10091.js'); var defineProperty = require('../../_chunks/dep-cc768e34.js'); var React = require('react'); var log = require('../../_chunks/dep-4bc3c0ab.js'); require('../../_chunks/dep-b7d577ac.js'); require('../../_chunks/dep-6d4d8660.js'); var HOOK_MARK = "TD_FORM_INTERNAL_HOOKS"; var FormStore = /*#__PURE__*/createClass._createClass(function FormStore(forceReRender) { var _this = this; createClass._classCallCheck(this, FormStore); defineProperty._defineProperty(this, "prevStore", {}); defineProperty._defineProperty(this, "store", {}); defineProperty._defineProperty(this, "taskQueue", []); defineProperty._defineProperty(this, "flashQueue", function () { _this.taskQueue.forEach(function (task) { _this[task.name].apply(_this, toConsumableArray._toConsumableArray(task.args)); }); _this.taskQueue = []; }); defineProperty._defineProperty(this, "getForm", function () { return { submit: function submit() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this.taskQueue.push({ args: args, name: "submit" }); }, reset: function reset() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } _this.taskQueue.push({ args: args, name: "reset" }); }, validate: null, validateOnly: null, clearValidate: function clearValidate() { for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } _this.taskQueue.push({ args: args, name: "clearValidate" }); }, setFields: function setFields() { for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } _this.taskQueue.push({ args: args, name: "setFields" }); }, setFieldsValue: function setFieldsValue() { for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { args[_key5] = arguments[_key5]; } _this.taskQueue.push({ args: args, name: "setFieldsValue" }); }, setValidateMessage: function setValidateMessage() { for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { args[_key6] = arguments[_key6]; } _this.taskQueue.push({ args: args, name: "setValidateMessage" }); }, getValidateMessage: function getValidateMessage() { for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) { args[_key7] = arguments[_key7]; } _this.taskQueue.push({ args: args, name: "getValidateMessage" }); }, getFieldValue: null, getFieldsValue: null, _init: true, store: _this.store, getInternalHooks: _this.getInternalHooks }; }); defineProperty._defineProperty(this, "getInternalHooks", function (key) { if (key === HOOK_MARK) { return { setForm: function setForm(formInstance) { Object.keys(formInstance).forEach(function (key2) { _this[key2] = formInstance[key2]; }); }, flashQueue: _this.flashQueue, notifyWatch: _this.notifyWatch, registerWatch: _this.registerWatch, getPrevStore: function getPrevStore() { return _this.prevStore; }, setPrevStore: function setPrevStore(store) { _this.prevStore = store; } }; } log.log.warn("Form", "`getInternalHooks` is internal usage. Should not call directly."); return null; }); defineProperty._defineProperty(this, "watchList", []); defineProperty._defineProperty(this, "registerWatch", function (callback) { _this.watchList.push(callback); return function () { _this.watchList = _this.watchList.filter(function (fn) { return fn !== callback; }); }; }); defineProperty._defineProperty(this, "notifyWatch", function () { var namePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; if (_this.watchList.length) { var _this$getFieldsValue; var values = (_this$getFieldsValue = _this.getFieldsValue) === null || _this$getFieldsValue === void 0 ? void 0 : _this$getFieldsValue.call(_this, [namePath]); _this.watchList.forEach(function (callback) { callback(values, namePath); }); } }); this.forceRootUpdate = forceReRender; }); function useForm(form) { var formRef = React.useRef(/* @__PURE__ */Object.create({})); var _useState = React.useState({}), _useState2 = slicedToArray._slicedToArray(_useState, 2), forceUpdate = _useState2[1]; if (!formRef.current._init) { if (form) { formRef.current = form; formRef.current.store = {}; } else { var forceReRender = function forceReRender() { forceUpdate({}); }; var formStore = new FormStore(forceReRender); formRef.current = formStore.getForm(); } } return [formRef.current]; } exports.HOOK_MARK = HOOK_MARK; exports["default"] = useForm; //# sourceMappingURL=useForm.js.map