@nocobase/plugin-field-formula 2.0.0-alpha.9 → 2.0.0-beta.1

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.
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@formily/core"),require("@nocobase/client"),require("react"),require("@formily/reactive"),require("@nocobase/flow-engine"),require("@formily/react"),require("@nocobase/evaluators/client"),require("lodash"),require("@nocobase/utils/client"),require("antd"),require("react-i18next")):"function"==typeof define&&define.amd?define("@nocobase/plugin-field-formula",["@formily/core","@nocobase/client","react","@formily/reactive","@nocobase/flow-engine","@formily/react","@nocobase/evaluators/client","lodash","@nocobase/utils/client","antd","react-i18next"],t):"object"==typeof exports?exports["@nocobase/plugin-field-formula"]=t(require("@formily/core"),require("@nocobase/client"),require("react"),require("@formily/reactive"),require("@nocobase/flow-engine"),require("@formily/react"),require("@nocobase/evaluators/client"),require("lodash"),require("@nocobase/utils/client"),require("antd"),require("react-i18next")):e["@nocobase/plugin-field-formula"]=t(e["@formily/core"],e["@nocobase/client"],e.react,e["@formily/reactive"],e["@nocobase/flow-engine"],e["@formily/react"],e["@nocobase/evaluators/client"],e.lodash,e["@nocobase/utils/client"],e.antd,e["react-i18next"])}(self,function(e,t,r,n,o,i,u,a,l,c,f){return function(){"use strict";var s={563:function(t){t.exports=e},505:function(e){e.exports=i},229:function(e){e.exports=n},772:function(e){e.exports=t},47:function(e){e.exports=u},667:function(e){e.exports=o},584:function(e){e.exports=l},721:function(e){e.exports=c},467:function(e){e.exports=a},156:function(e){e.exports=r},238:function(e){e.exports=f}},p={};function b(e){var t=p[e];if(void 0!==t)return t.exports;var r=p[e]={exports:{}};return s[e](r,r.exports,b),r.exports}b.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return b.d(t,{a:t}),t},b.d=function(e,t){for(var r in t)b.o(t,r)&&!b.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},b.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},b.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var d={};return!function(){b.r(d),b.d(d,{PluginFieldFormulaClient:function(){return en},default:function(){return eo}});var e=b(772),t=b(505),r=b(156),n=b.n(r),o=b(563),i=b(229),u=b(467),a=b.n(u),l=b(47),c=b(584),f={boolean:Boolean,integer:{boolean:function(e){return Number(e)},number:function(e){return e>=0?Math.floor(e):Math.ceil(e)},bigint:function(e){return Number(e)},string:function(e){var t=Number.parseInt(e,10);return Number.isNaN(t)||!Number.isFinite(t)?null:t},date:function(e){var t=e.valueOf();return Number.isNaN(t)?null:t}},bigInt:{boolean:function(e){return Number(e)},number:function(e){return Math.floor(e>=0?Math.floor(e):Math.ceil(e))},bigint:function(e){return Number(e)},string:function(e){var t=Number.parseInt(e,10);return Number.isNaN(t)||!Number.isFinite(t)?null:t},date:function(e){var t=e.valueOf();return Number.isNaN(t)?null:t}},double:{boolean:function(e){return Number(e)},number:function(e){return e},bigint:function(e){return Number(e)},string:function(e){var t=Number.parseFloat(e);return Number.isNaN(t)||!Number.isFinite(t)?null:t},date:function(e){var t=e.valueOf();return Number.isNaN(t)?null:t}},decimal:{boolean:function(e){return Number(e)},number:function(e){return e},bigint:function(e){return e},date:function(e){var t=e.valueOf();return Number.isNaN(t)?null:t}},string:{boolean:function(e){return e.toString()},number:function(e){return e.toString()},bigint:function(e){return e.toString()},string:function(e){return e},date:function(e){return e.toISOString()}},date:{boolean:function(e){return null},number:function(e){var t=new Date(e);return Number.isNaN(t.valueOf())?null:t},bigint:function(e){var t=new Date(Number(e));return Number.isNaN(t.valueOf())?null:t},string:function(e){var t=Date.parse(e);return Number.isNaN(t)?null:new Date(t)},date:function(e){return new Date(e)}}};function s(e,t){if(null==e)return null;var r,n=void 0===e?"undefined":e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e;"object"==n&&(null!=(r=Date)&&"undefined"!=typeof Symbol&&r[Symbol.hasInstance]?!!r[Symbol.hasInstance](e):e instanceof r)&&(n="date");var o=f[t];if(!o)return null;if("function"==typeof o)return o(e);var i=o[n];return i?i(e):null}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var y={boolean:e.Checkbox.ReadPretty,integer:e.InputNumber.ReadPretty,bigInt:e.InputNumber.ReadPretty,double:e.InputNumber.ReadPretty,decimal:e.InputNumber.ReadPretty,date:e.DatePicker.ReadPretty,string:e.Input.ReadPretty};function m(r){for(var n,o=(0,t.useFieldSchema)(),i=r||o,u=(0,e.useCollection_deprecated)(),a=(0,e.useCollectionManager_deprecated)(),l=a.getCollection,c=a.getCollectionField,f=(null==i||null==(n=i.name)?void 0:n.split("."))||[],s=u,p=0;p<f.length-1;p++)s=l(s.getField(f[p]).target);return c("".concat(s.name,".").concat(f[f.length-1]))}var v=function(){return null};v.Expression=function(t){var r,o=t.value,i=t.useCurrentFields,u=t.onChange,a=(0,e.useApp)().pm.get("field-formula").expressionFields,l=(0,e.useCompile)(),c=(0,e.useCollectionManager_deprecated)().interfaces,f=(null!=(r=null==i?void 0:i())?r:[]).filter(function(e){return a.includes(e.interface)}).map(function(e){var t,r;return{label:l(e.uiSchema.title),value:e.name,children:null==(t=(r=c[e.interface]).usePathOptions)?void 0:t.call(r,e)}});return n().createElement(e.Variable.TextArea,{value:void 0===o?"":o,onChange:u,scope:f})},v.Result=(0,t.connect)(function(u){var f,b,d,v,h,g,O=u.value,S=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(u,["value"]),j=(0,t.useFieldSchema)(),x=null!=(h=m())?h:{},w=x.dataType,P=x.expression,F=x.engine,N=(f=(0,r.useState)(O),function(e){if(Array.isArray(e))return e}(f)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],u=!0,a=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(i.push(r.value),i.length!==t);u=!0);}catch(e){a=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(a)throw n}}return i}}(f,2)||function(e,t){if(e){if("string"==typeof e)return p(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return p(e,t)}}(f,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),I=N[0],D=N[1],E=l.evaluators.get(void 0===F?"math.js":F).evaluate,T=(0,e.useFormBlockContext)(),M=(0,t.useField)(),A=null==M||null==(v=M.path)?void 0:v.entire,_=null==A?void 0:A.replace(".".concat(j.name),"");(0,r.useEffect)(function(){D(O)},[O]),(0,t.useFormEffects)(function(){(0,o.onFormValuesChange)(function(e){if(!(j.name.indexOf(".")>=0)&&(null==T?void 0:T.form)&&(null==(t=T.form)||!t.readPretty)&&"FormItem"===j["x-decorator"]){var t,r,n=(0,i.toJS)(function(e,t){for(var r=t.split("."),n=0,o=e;n<r.length;){var i=r[n],u=parseInt(null==r?void 0:r[n+1]);o=function(e,t,r){var n=e[t];return Array.isArray(n)?n[r]:n&&(void 0===n?"undefined":n&&"undefined"!=typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)=="object"?n:e}(o,i,u),n+=u>=0?2:1}return o}(e.values,_));try{r=(r=E(P,n))&&s(r,w)}catch(e){r=null}null==r&&null==I&&D(r),D(r)}})}),(0,r.useEffect)(function(){var e,t;e=M.value,t=I,((a().isString(e)&&!isNaN(Date.parse(e))&&(e=new Date(e)),a().isString(t)&&!isNaN(Date.parse(t))&&(t=new Date(t)),a().isDate(e)&&a().isDate(t))?e.getTime()===t.getTime():a().isEqual(e,t))||setTimeout(function(){M.value=I})},[I]);var C=null!=(g=y[w])?g:e.Input;return n().createElement(C,(b=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},S),d=d={value:"double"===w?(0,c.toFixedByStep)(I,u.step):I},Object.getOwnPropertyDescriptors?Object.defineProperties(b,Object.getOwnPropertyDescriptors(d)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(d)).forEach(function(e){Object.defineProperty(b,e,Object.getOwnPropertyDescriptor(d,e))}),b))});var h=new e.SchemaSettings({name:"fieldSettings:component:Formula.Result",items:[{name:"displayFormat",Component:e.SchemaSettingsNumberFormat,useComponentProps:function(){var r=(0,t.useFieldSchema)();return{fieldSchema:(0,e.useColumnSchema)().fieldSchema||r}},useVisible:function(){var r=(0,t.useFieldSchema)(),n=["integer","bigInt","double","decimal"].includes((m((0,e.useColumnSchema)().fieldSchema||r)||{}).dataType);return(0,e.useIsFieldReadPretty)()&&n}}]}),g=b(238),O="field-formula";function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function j(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function x(e){return(x=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){j(e,t,r[t])})}return e}function P(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function F(e,t){return(F=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function N(e){return function(e){if(Array.isArray(e))return S(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||I(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e,t){if(e){if("string"==typeof e)return S(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return S(e,t)}}function D(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(D=function(){return!!e})()}var E=[{dependencies:["dataType"],fulfill:{state:{display:'{{["double", "decimal"].includes($deps[0]) ? "visible" : "none"}}'}}}],T=[{dependencies:["dataType"],fulfill:{state:{display:'{{$deps[0] === "date" ? "visible" : "none"}}'}}}],M=e.interfacesProperties.defaultProps,A=e.interfacesProperties.dateTimeProps,_=e.interfacesProperties.operators,C={"uiSchema.x-component-props.dateFormat":P(w({},c.lodash.cloneDeep(A["uiSchema.x-component-props.dateFormat"])),{"x-reactions":T}),"uiSchema.x-component-props.showTime":P(w({},c.lodash.cloneDeep(A["uiSchema.x-component-props.showTime"])),{"x-reactions":N(A["uiSchema.x-component-props.showTime"]["x-reactions"]).concat(N(T))}),"uiSchema.x-component-props.timeFormat":w({},c.lodash.cloneDeep(A["uiSchema.x-component-props.timeFormat"]))},R=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function t(){var e,r,n;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");return r=t,n=arguments,r=x(r),j(e=function(e,t){var r;if(t&&("object"==((r=t)&&"undefined"!=typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,D()?Reflect.construct(r,n||[],x(this).constructor):r.apply(this,n)),"name","formula"),j(e,"type","object"),j(e,"group","advanced"),j(e,"order",1),j(e,"title",'{{t("Formula", { ns: "'.concat(O,'" })}}')),j(e,"description",'{{t("Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.", { ns: "'.concat(O,'" })}}')),j(e,"sortable",!0),j(e,"default",{type:"formula",uiSchema:{type:"string","x-component":"Formula.Result","x-component-props":{stringMode:!0,step:"1"},"x-read-pretty":!0}}),j(e,"properties",P(w(P(w({},M),{dataType:{type:"string",title:'{{t("Storage type")}}',"x-decorator":"FormItem","x-component":"Select","x-disabled":"{{ !createOnly }}",enum:[{value:"boolean",label:"Boolean"},{value:"integer",label:"Integer"},{value:"bigInt",label:"Big integer"},{value:"double",label:"Double"},{value:"string",label:"String"},{value:"date",label:"Datetime"}],required:!0,default:"double"},"uiSchema.x-component-props.step":{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",required:!0,default:"0",enum:[{value:"0",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"}],"x-reactions":E}}),C),{engine:{type:"string",title:'{{t("Calculation engine", { ns: "'.concat(O,'" })}}'),"x-decorator":"FormItem","x-component":"Radio.Group",enum:Array.from(l.evaluators.getEntities()).reduce(function(e,t){var r=function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],u=!0,a=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(i.push(r.value),i.length!==t);u=!0);}catch(e){a=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(a)throw n}}return i}}(t,2)||I(t,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),n=r[0],o=r[1];return e.concat(w({value:n},o))},[]),required:!0,default:"formula.js"},expression:{type:"string",title:'{{t("Expression", { ns: "'.concat(O,'" })}}'),required:!0,"x-component":"Formula.Expression","x-decorator":"FormItem","x-component-props":{useCurrentFields:"{{ useCurrentFields }}"},"x-reactions":{dependencies:["engine"],fulfill:{schema:{description:"{{renderExpressionDescription($deps[0])}}"}}}}})),j(e,"filterable",{operators:_.number}),j(e,"titleUsable",!0),e}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&F(t,e),t}(e.CollectionFieldInterface);function k(){var e,t,r=(e=["\n &:after {\n content: ':';\n }\n & + a {\n margin-left: 0.25em;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return k=function(){return r},r}function q(t){var r=l.evaluators.get(t);return(null==r?void 0:r.link)?n().createElement(n().Fragment,null,n().createElement("span",{className:(0,e.css)(k())},e.i18n.t("Syntax references",{ns:O})),n().createElement("a",{href:r.link,target:"_blank",rel:"noreferrer"},r.label)):null}var B=b(667),$=b(721);function V(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function G(e){return(G=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function U(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function z(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function J(e,t){return(J=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function W(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function H(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(H=function(){return!!e})()}var K={boolean:e.Checkbox.ReadPretty,integer:e.InputNumber.ReadPretty,bigInt:e.InputNumber.ReadPretty,double:e.InputNumber.ReadPretty,decimal:e.InputNumber.ReadPretty,date:e.DatePicker.ReadPretty,string:e.Input.ReadPretty};function L(t){var o,u,f=t.value,p=t.collectionField,b=t.form,d=t.id,y=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(t,["value","collectionField","form","id"]),m=(null==p?void 0:p.options)||{},v=m.dataType,h=m.expression,O=m.engine,S=(o=(0,r.useState)(f),function(e){if(Array.isArray(e))return e}(o)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],u=!0,a=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(i.push(r.value),i.length!==t);u=!0);}catch(e){a=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(a)throw n}}return i}}(o,2)||function(e,t){if(e){if("string"==typeof e)return V(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return V(e,t)}}(o,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),j=S[0],x=S[1],w=l.evaluators.get(void 0===O?"math.js":O).evaluate,P=$.Form.useWatch([],b),F=Array.isArray(d)?null==d?void 0:d.join("."):d;(0,g.useTranslation)().t,(0,r.useEffect)(function(){x(f)},[f]),(0,r.useEffect)(function(){if(null==b||!b.readPretty){var e,t=(0,i.toJS)(function(e,t){for(var r=t.split("."),n=0,o=e||{};n<r.length;){var i=r[n],u=parseInt(null==r?void 0:r[n+1]);o=function(e,t,r){var n=null==e?void 0:e[t];return Array.isArray(n)?n[r]:n&&(void 0===n?"undefined":W(n))==="object"?n:e}(o,i,u),n+=u>=0?2:1}return o}(b.getFieldsValue(),F));try{e=(e=w(h,t))&&s(e,v)}catch(t){e=null}null==e&&null==j&&x(e),x(e)}},[P]),(0,r.useEffect)(function(){var e,t;e=f,t=j,((a().isString(e)&&!isNaN(Date.parse(e))&&(e=new Date(e)),a().isString(t)&&!isNaN(Date.parse(t))&&(t=new Date(t)),a().isDate(e)&&a().isDate(t))?e.getTime()===t.getTime():a().isEqual(e,t))||setTimeout(function(){b.setFieldValue(F,j)})},[j]);var N=null!=(u=K[v])?u:e.Input;if(p)return n().createElement(N,z(U({},y),{value:"double"===v?(0,c.toFixedByStep)(j,t.step):j}))}var Q=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=G(e),function(e,t){if(t&&("object"===W(t)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,H()?Reflect.construct(e,t||[],G(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&J(r,e),t=[{key:"render",value:function(){return n().createElement(L,z(U({},this.props),{collectionField:this.context.collectionField,form:this.context.form}))}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(e.FieldModel);function X(e,t,r,n,o,i,u){try{var a=e[i](u),l=a.value}catch(e){r(e);return}a.done?t(l):Promise.resolve(l).then(n,o)}function Y(e,t,r){return(Y=er()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&ee(o,r.prototype),o}).apply(null,arguments)}B.EditableItemModel.bindModelToInterface("FormulaFieldModel",["formula"],{isDefault:!0}),B.DisplayItemModel.bindModelToInterface("DisplayCheckboxFieldModel",["formula"],{isDefault:!0,when:function(e,t){return"formula"!==t.type||"boolean"===t.dataType}}),B.DisplayItemModel.bindModelToInterface("DisplayDateTimeFieldModel",["formula"],{isDefault:!0,when:function(e,t){return"formula"!==t.type||"date"===t.dataType}}),B.DisplayItemModel.bindModelToInterface("DisplayTextFieldModel",["formula"],{isDefault:!0,when:function(e,t){return"formula"!==t.type||"string"===t.dataType}}),B.DisplayItemModel.bindModelToInterface("DisplayNumberFieldModel",["formula"],{isDefault:!0,when:function(e,t){return"formula"!==t.type||["double","bigint","integer"].includes(t.dataType)}});function Z(e){return(Z=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ee(e,t){return(ee=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function et(e){var t="function"==typeof Map?new Map:void 0;return(et=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return Y(e,arguments,Z(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),ee(r,e)})(e)}function er(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(er=function(){return!!e})()}var en=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t,n,o,i;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return t=r,n=arguments,t=Z(t),e=function(e,t){var r;if(t&&("object"==((r=t)&&"undefined"!=typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,er()?Reflect.construct(t,n||[],Z(this).constructor):t.apply(this,n)),i=["checkbox","number","percent","integer","number","percent","input","textarea","email","phone","date","datetime","datetimeNoTz","unixTimestamp","createdAt","updatedAt","radioGroup","checkboxGroup","select","multipleSelect"],(o="expressionFields")in e?Object.defineProperty(e,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[o]=i,e}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&ee(r,e),t=[{key:"registerExpressionFieldInterface",value:function(e){if(Array.isArray(e)){var t=this.expressionFields.concat(e);this.expressionFields=t}else this.expressionFields.push(e)}},{key:"load",value:function(){var e,t=this;return(e=function(){return function(e,t){var r,n,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var l=[i,a];if(r)throw TypeError("Generator is already executing.");for(;u;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return u.label++,{value:l[1],done:!1};case 5:u.label++,n=l[1],l=[0];continue;case 7:l=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){u=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){u.label=l[1];break}if(6===l[0]&&u.label<o[1]){u.label=o[1],o=l;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(l);break}o[2]&&u.ops.pop(),u.trys.pop();continue}l=t.call(e,u)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(e){return t.app.addComponents({Formula:v}),t.app.addScopes({renderExpressionDescription:q}),t.app.dataSourceManager.addFieldInterfaces([R]),t.app.schemaSettingsManager.add(h),t.flowEngine.registerModels({FormulaFieldModel:Q}),[2]})},function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function u(e){X(i,n,o,u,a,"next",e)}function a(e){X(i,n,o,u,a,"throw",e)}u(void 0)})})()}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(et(e.Plugin)),eo=en}(),d}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@formily/core"),require("@nocobase/client"),require("react"),require("@formily/reactive"),require("@nocobase/flow-engine"),require("@formily/react"),require("@nocobase/evaluators/client"),require("lodash"),require("@nocobase/utils/client"),require("antd"),require("react-i18next")):"function"==typeof define&&define.amd?define("@nocobase/plugin-field-formula",["@formily/core","@nocobase/client","react","@formily/reactive","@nocobase/flow-engine","@formily/react","@nocobase/evaluators/client","lodash","@nocobase/utils/client","antd","react-i18next"],t):"object"==typeof exports?exports["@nocobase/plugin-field-formula"]=t(require("@formily/core"),require("@nocobase/client"),require("react"),require("@formily/reactive"),require("@nocobase/flow-engine"),require("@formily/react"),require("@nocobase/evaluators/client"),require("lodash"),require("@nocobase/utils/client"),require("antd"),require("react-i18next")):e["@nocobase/plugin-field-formula"]=t(e["@formily/core"],e["@nocobase/client"],e.react,e["@formily/reactive"],e["@nocobase/flow-engine"],e["@formily/react"],e["@nocobase/evaluators/client"],e.lodash,e["@nocobase/utils/client"],e.antd,e["react-i18next"])}(self,function(e,t,r,n,o,i,u,l,a,c,f){return function(){"use strict";var s={563:function(t){t.exports=e},505:function(e){e.exports=i},229:function(e){e.exports=n},772:function(e){e.exports=t},47:function(e){e.exports=u},667:function(e){e.exports=o},584:function(e){e.exports=a},721:function(e){e.exports=c},467:function(e){e.exports=l},156:function(e){e.exports=r},238:function(e){e.exports=f}},p={};function d(e){var t=p[e];if(void 0!==t)return t.exports;var r=p[e]={exports:{}};return s[e](r,r.exports,d),r.exports}d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},d.d=function(e,t){for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},d.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var b={};return!function(){d.r(b),d.d(b,{PluginFieldFormulaClient:function(){return ei},default:function(){return eu}});var e=d(772),t=d(505),r=d(156),n=d.n(r),o=d(563),i=d(229),u=d(467),l=d.n(u),a=d(47),c=d(584),f={boolean:Boolean,integer:{boolean:function(e){return Number(e)},number:function(e){return e>=0?Math.floor(e):Math.ceil(e)},bigint:function(e){return Number(e)},string:function(e){var t=Number.parseInt(e,10);return Number.isNaN(t)||!Number.isFinite(t)?null:t},date:function(e){var t=e.valueOf();return Number.isNaN(t)?null:t}},bigInt:{boolean:function(e){return Number(e)},number:function(e){return Math.floor(e>=0?Math.floor(e):Math.ceil(e))},bigint:function(e){return Number(e)},string:function(e){var t=Number.parseInt(e,10);return Number.isNaN(t)||!Number.isFinite(t)?null:t},date:function(e){var t=e.valueOf();return Number.isNaN(t)?null:t}},double:{boolean:function(e){return Number(e)},number:function(e){return e},bigint:function(e){return Number(e)},string:function(e){var t=Number.parseFloat(e);return Number.isNaN(t)||!Number.isFinite(t)?null:t},date:function(e){var t=e.valueOf();return Number.isNaN(t)?null:t}},decimal:{boolean:function(e){return Number(e)},number:function(e){return e},bigint:function(e){return e},date:function(e){var t=e.valueOf();return Number.isNaN(t)?null:t}},string:{boolean:function(e){return e.toString()},number:function(e){return e.toString()},bigint:function(e){return e.toString()},string:function(e){return e},date:function(e){return e.toISOString()}},date:{boolean:function(e){return null},number:function(e){var t=new Date(e);return Number.isNaN(t.valueOf())?null:t},bigint:function(e){var t=new Date(Number(e));return Number.isNaN(t.valueOf())?null:t},string:function(e){var t=Date.parse(e);return Number.isNaN(t)?null:new Date(t)},date:function(e){return new Date(e)}}};function s(e,t){if(null==e)return null;var r,n=void 0===e?"undefined":e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e;"object"==n&&(null!=(r=Date)&&"undefined"!=typeof Symbol&&r[Symbol.hasInstance]?!!r[Symbol.hasInstance](e):e instanceof r)&&(n="date");var o=f[t];if(!o)return null;if("function"==typeof o)return o(e);var i=o[n];return i?i(e):null}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var m={boolean:e.Checkbox.ReadPretty,integer:e.InputNumber.ReadPretty,bigInt:e.InputNumber.ReadPretty,double:e.InputNumber.ReadPretty,decimal:e.InputNumber.ReadPretty,date:e.DatePicker.ReadPretty,string:e.Input.ReadPretty};function y(r){for(var n,o=(0,t.useFieldSchema)(),i=r||o,u=(0,e.useCollection_deprecated)(),l=(0,e.useCollectionManager_deprecated)(),a=l.getCollection,c=l.getCollectionField,f=(null==i||null==(n=i.name)?void 0:n.split("."))||[],s=u,p=0;p<f.length-1;p++)s=a(s.getField(f[p]).target);return c("".concat(s.name,".").concat(f[f.length-1]))}var v=function(){return null};v.Expression=function(t){var r,o=t.value,i=t.useCurrentFields,u=t.onChange,l=(0,e.useApp)().pm.get("field-formula").expressionFields,a=(0,e.useCompile)(),c=(0,e.useCollectionManager_deprecated)().interfaces,f=(null!=(r=null==i?void 0:i())?r:[]).filter(function(e){return l.includes(e.interface)}).map(function(e){var t,r;return{label:a(e.uiSchema.title),value:e.name,children:null==(t=(r=c[e.interface]).usePathOptions)?void 0:t.call(r,e)}});return n().createElement(e.Variable.TextArea,{value:void 0===o?"":o,onChange:u,scope:f})},v.Result=(0,t.connect)(function(u){var f,d,b,v,g,h,O=u.value,S=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(u,["value"]),x=(0,t.useFieldSchema)(),j=null!=(g=y())?g:{},w=j.dataType,P=j.expression,F=j.engine,I=(f=(0,r.useState)(O),function(e){if(Array.isArray(e))return e}(f)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],u=!0,l=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(i.push(r.value),i.length!==t);u=!0);}catch(e){l=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(l)throw n}}return i}}(f,2)||function(e,t){if(e){if("string"==typeof e)return p(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return p(e,t)}}(f,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),N=I[0],D=I[1],T=a.evaluators.get(void 0===F?"math.js":F).evaluate,M=(0,e.useFormBlockContext)(),E=(0,t.useField)(),C=null==E||null==(v=E.path)?void 0:v.entire,A=null==C?void 0:C.replace(".".concat(x.name),"");(0,r.useEffect)(function(){D(O)},[O]),(0,t.useFormEffects)(function(){(0,o.onFormValuesChange)(function(e){if(!(x.name.indexOf(".")>=0)&&(null==M?void 0:M.form)&&(null==(t=M.form)||!t.readPretty)&&"FormItem"===x["x-decorator"]){var t,r,n=(0,i.toJS)(function(e,t){for(var r=t.split("."),n=0,o=e;n<r.length;){var i=r[n],u=parseInt(null==r?void 0:r[n+1]);o=function(e,t,r){var n=e[t];return Array.isArray(n)?n[r]:n&&(void 0===n?"undefined":n&&"undefined"!=typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)=="object"?n:e}(o,i,u),n+=u>=0?2:1}return o}(e.values,A));try{r=(r=T(P,n))&&s(r,w)}catch(e){r=null}null==r&&null==N&&D(r),D(r)}})}),(0,r.useEffect)(function(){var e,t;e=E.value,t=N,((l().isString(e)&&!isNaN(Date.parse(e))&&(e=new Date(e)),l().isString(t)&&!isNaN(Date.parse(t))&&(t=new Date(t)),l().isDate(e)&&l().isDate(t))?e.getTime()===t.getTime():l().isEqual(e,t))||setTimeout(function(){E.value=N})},[N]);var k=null!=(h=m[w])?h:e.Input;return n().createElement(k,(d=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},S),b=b={value:"double"===w?(0,c.toFixedByStep)(N,u.step):N},Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(b)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(b)).forEach(function(e){Object.defineProperty(d,e,Object.getOwnPropertyDescriptor(b,e))}),d))});var g=new e.SchemaSettings({name:"fieldSettings:component:Formula.Result",items:[{name:"displayFormat",Component:e.SchemaSettingsNumberFormat,useComponentProps:function(){var r=(0,t.useFieldSchema)();return{fieldSchema:(0,e.useColumnSchema)().fieldSchema||r}},useVisible:function(){var r=(0,t.useFieldSchema)(),n=["integer","bigInt","double","decimal"].includes((y((0,e.useColumnSchema)().fieldSchema||r)||{}).dataType);return(0,e.useIsFieldReadPretty)()&&n}}]}),h=d(238),O="field-formula";function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function x(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function j(e){return(j=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){x(e,t,r[t])})}return e}function P(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function F(e,t){return(F=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function I(e){return function(e){if(Array.isArray(e))return S(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||N(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function N(e,t){if(e){if("string"==typeof e)return S(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return S(e,t)}}function D(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(D=function(){return!!e})()}var T=[{dependencies:["dataType"],fulfill:{state:{display:'{{["double", "decimal"].includes($deps[0]) ? "visible" : "none"}}'}}}],M=[{dependencies:["dataType"],fulfill:{state:{display:'{{$deps[0] === "date" ? "visible" : "none"}}'}}}],E=e.interfacesProperties.defaultProps,C=e.interfacesProperties.dateTimeProps,A=e.interfacesProperties.operators,k={"uiSchema.x-component-props.dateFormat":P(w({},c.lodash.cloneDeep(C["uiSchema.x-component-props.dateFormat"])),{"x-reactions":M}),"uiSchema.x-component-props.showTime":P(w({},c.lodash.cloneDeep(C["uiSchema.x-component-props.showTime"])),{"x-reactions":I(C["uiSchema.x-component-props.showTime"]["x-reactions"]).concat(I(M))}),"uiSchema.x-component-props.timeFormat":w({},c.lodash.cloneDeep(C["uiSchema.x-component-props.timeFormat"]))},_=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function t(){var e,r,n;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");return r=t,n=arguments,r=j(r),x(e=function(e,t){var r;if(t&&("object"==((r=t)&&"undefined"!=typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,D()?Reflect.construct(r,n||[],j(this).constructor):r.apply(this,n)),"name","formula"),x(e,"type","object"),x(e,"group","advanced"),x(e,"order",1),x(e,"title",'{{t("Formula", { ns: "'.concat(O,'" })}}')),x(e,"description",'{{t("Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.", { ns: "'.concat(O,'" })}}')),x(e,"sortable",!0),x(e,"default",{type:"formula",uiSchema:{type:"string","x-component":"Formula.Result","x-component-props":{stringMode:!0,step:"1"},"x-read-pretty":!0}}),x(e,"properties",P(w(P(w({},E),{dataType:{type:"string",title:'{{t("Storage type")}}',"x-decorator":"FormItem","x-component":"Select","x-disabled":"{{ !createOnly }}",enum:[{value:"boolean",label:"Boolean"},{value:"integer",label:"Integer"},{value:"bigInt",label:"Big integer"},{value:"double",label:"Double"},{value:"string",label:"String"},{value:"date",label:"Datetime"}],required:!0,default:"double"},"uiSchema.x-component-props.step":{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",required:!0,default:"0",enum:[{value:"0",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"}],"x-reactions":T}}),k),{engine:{type:"string",title:'{{t("Calculation engine", { ns: "'.concat(O,'" })}}'),"x-decorator":"FormItem","x-component":"Radio.Group",enum:Array.from(a.evaluators.getEntities()).reduce(function(e,t){var r=function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],u=!0,l=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(i.push(r.value),i.length!==t);u=!0);}catch(e){l=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(l)throw n}}return i}}(t,2)||N(t,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),n=r[0],o=r[1];return e.concat(w({value:n},o))},[]),required:!0,default:"formula.js"},expression:{type:"string",title:'{{t("Expression", { ns: "'.concat(O,'" })}}'),required:!0,"x-component":"Formula.Expression","x-decorator":"FormItem","x-component-props":{useCurrentFields:"{{ useCurrentFields }}"},"x-reactions":{dependencies:["engine"],fulfill:{schema:{description:"{{renderExpressionDescription($deps[0])}}"}}}}})),x(e,"filterable",{operators:A.number}),x(e,"titleUsable",!0),e}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&F(t,e),t}(e.CollectionFieldInterface);function R(){var e,t,r=(e=["\n &:after {\n content: ':';\n }\n & + a {\n margin-left: 0.25em;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return R=function(){return r},r}function q(t){var r=a.evaluators.get(t);return(null==r?void 0:r.link)?n().createElement(n().Fragment,null,n().createElement("span",{className:(0,e.css)(R())},e.i18n.t("Syntax references")),n().createElement("a",{href:e.i18n.t(r.link),target:"_blank",rel:"noreferrer"},r.label)):null}var B=d(667),V=d(721);function $(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function G(e){return(G=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function U(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function z(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function J(e,t){return(J=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function W(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function H(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(H=function(){return!!e})()}var K={boolean:e.Checkbox.ReadPretty,integer:e.InputNumber.ReadPretty,bigInt:e.InputNumber.ReadPretty,double:e.InputNumber.ReadPretty,decimal:e.InputNumber.ReadPretty,number:e.InputNumber.ReadPretty,date:e.DatePicker.ReadPretty,string:e.Input.ReadPretty},L={boolean:e.Checkbox,integer:e.InputNumber,bigInt:e.InputNumber,double:e.InputNumber,decimal:e.InputNumber,number:e.InputNumber,date:e.DatePicker,string:e.Input},Q=function(e,t){var r,n=(null==e||null==(r=e.props)?void 0:r["x-flag"])||(null==t?void 0:t.flags)||{},o=!!n&&Object.keys(n).length>0,i=!!((null==n?void 0:n.isInFilterFormBlock)||(null==n?void 0:n.isInFilterAction)),u=!!(null==n?void 0:n.isInSetDefaultValueDialog);return{flags:n,hasFlags:o,isFilterContext:i,isDefaultValueDialog:u}};function X(t){var o,u=t.value,f=t.collectionField,p=t.form,d=t.id,b=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(t,["value","collectionField","form","id"]),m=(null==f?void 0:f.options)||{},y=m.dataType,v=m.expression,g=m.engine,O=(T=(0,r.useState)(u),function(e){if(Array.isArray(e))return e}(T)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],u=!0,l=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(i.push(r.value),i.length!==t);u=!0);}catch(e){l=!0,n=e}finally{try{u||null==o.return||o.return()}finally{if(l)throw n}}return i}}(T,2)||function(e,t){if(e){if("string"==typeof e)return $(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $(e,t)}}(T,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),S=O[0],x=O[1],j=a.evaluators.get(void 0===g?"math.js":g).evaluate,w=V.Form.useWatch([],p),P=Array.isArray(d)?null==d?void 0:d.join("."):d;(0,h.useTranslation)().t;var F=Q(p),I=F.flags,N=F.isFilterContext,D=F.isDefaultValueDialog;if((0,r.useEffect)(function(){x(u)},[u]),(0,r.useEffect)(function(){var e,t=D&&((null==I?void 0:I.constant)||(null==I?void 0:I.null)||(null==I?void 0:I.root)==="constant");if((null==p||!p.readPretty)&&!N&&!t){var r=(0,i.toJS)(function(e,t){for(var r=t.split("."),n=0,o=e||{};n<r.length;){var i=r[n],u=parseInt(null==r?void 0:r[n+1]);o=function(e,t,r){var n=null==e?void 0:e[t];return Array.isArray(n)?n[r]:n&&(void 0===n?"undefined":W(n))==="object"?n:e}(o,i,u),n+=u>=0?2:1}return o}(p.getFieldsValue(),P));try{e=(e=j(v,r))&&s(e,y)}catch(t){e=null}null==e&&null==S&&x(e),x(e)}},[w]),(0,r.useEffect)(function(){var e,t;e=u,t=S,((l().isString(e)&&!isNaN(Date.parse(e))&&(e=new Date(e)),l().isString(t)&&!isNaN(Date.parse(t))&&(t=new Date(t)),l().isDate(e)&&l().isDate(t))?e.getTime()===t.getTime():l().isEqual(e,t))||N||setTimeout(function(){p.setFieldValue(P,S)})},[S,N]),N){var T,M,E=null!=(M=L[y])?M:e.Input;return n().createElement(E,z(U({},b),{value:u,onChange:function(e){var t;return null==b||null==(t=b.onChange)?void 0:t.call(b,e)}}))}var C=null!=(o=K[y])?o:e.Input;if(f)return n().createElement(C,z(U({},b),{value:"double"===y?(0,c.toFixedByStep)(S,t.step):S}))}var Y=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=G(e),function(e,t){if(t&&("object"===W(t)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,H()?Reflect.construct(e,t||[],G(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&J(r,e),t=[{key:"render",value:function(){return n().createElement(X,z(U({},this.props),{collectionField:this.context.collectionField,form:this.context.form}))}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(e.FieldModel);function Z(e,t,r,n,o,i,u){try{var l=e[i](u),a=l.value}catch(e){r(e);return}l.done?t(a):Promise.resolve(a).then(n,o)}function ee(e,t,r){return(ee=eo()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&er(o,r.prototype),o}).apply(null,arguments)}B.EditableItemModel.bindModelToInterface("FormulaFieldModel",["formula"],{isDefault:!0}),B.DisplayItemModel.bindModelToInterface("DisplayCheckboxFieldModel",["formula"],{isDefault:!0,when:function(e,t){return"formula"!==t.type||"boolean"===t.dataType}}),B.DisplayItemModel.bindModelToInterface("DisplayDateTimeFieldModel",["formula"],{isDefault:!0,when:function(e,t){return"formula"!==t.type||"date"===t.dataType}}),B.DisplayItemModel.bindModelToInterface("DisplayTextFieldModel",["formula"],{isDefault:!0,when:function(e,t){return"formula"!==t.type||"string"===t.dataType}}),B.DisplayItemModel.bindModelToInterface("DisplayNumberFieldModel",["formula"],{isDefault:!0,when:function(e,t){return"formula"!==t.type||["double","bigInt","integer"].includes(t.dataType)}}),B.FilterableItemModel.bindModelToInterface("FormulaFieldModel",["formula"],{isDefault:!0,when:function(e){var t=Q(null==e?void 0:e.form,e),r=t.hasFlags,n=t.isFilterContext;return r&&!n}}),B.FilterableItemModel.bindModelToInterface("InputFieldModel",["formula"],{isDefault:!1,when:function(e,t){return!!Q(null==e?void 0:e.form,e).isFilterContext&&!["date","boolean","integer","bigInt","double","decimal","number"].includes(null==t?void 0:t.dataType)}}),B.FilterableItemModel.bindModelToInterface("DateTimeFilterFieldModel",["formula"],{isDefault:!1,when:function(e,t){return Q(null==e?void 0:e.form,e).isFilterContext&&(null==t?void 0:t.dataType)==="date"}}),B.FilterableItemModel.bindModelToInterface("CheckboxFieldModel",["formula"],{isDefault:!1,when:function(e,t){return Q(null==e?void 0:e.form,e).isFilterContext&&(null==t?void 0:t.dataType)==="boolean"}}),B.FilterableItemModel.bindModelToInterface("NumberFieldModel",["formula"],{isDefault:!1,when:function(e,t){return!!Q(null==e?void 0:e.form,e).isFilterContext&&["integer","bigInt","double","decimal","number"].includes(null==t?void 0:t.dataType)}});function et(e){return(et=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function er(e,t){return(er=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function en(e){var t="function"==typeof Map?new Map:void 0;return(en=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return ee(e,arguments,et(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),er(r,e)})(e)}function eo(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eo=function(){return!!e})()}var ei=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t,n,o,i;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return t=r,n=arguments,t=et(t),e=function(e,t){var r;if(t&&("object"==((r=t)&&"undefined"!=typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,eo()?Reflect.construct(t,n||[],et(this).constructor):t.apply(this,n)),i=["checkbox","number","percent","integer","number","percent","input","textarea","email","phone","date","datetime","datetimeNoTz","unixTimestamp","createdAt","updatedAt","radioGroup","checkboxGroup","select","multipleSelect"],(o="expressionFields")in e?Object.defineProperty(e,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[o]=i,e}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&er(r,e),t=[{key:"registerExpressionFieldInterface",value:function(e){if(Array.isArray(e)){var t=this.expressionFields.concat(e);this.expressionFields=t}else this.expressionFields.push(e)}},{key:"load",value:function(){var e,t=this;return(e=function(){return function(e,t){var r,n,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(i){return function(l){var a=[i,l];if(r)throw TypeError("Generator is already executing.");for(;u;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return u.label++,{value:a[1],done:!1};case 5:u.label++,n=a[1],a=[0];continue;case 7:a=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){u=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){u.label=a[1];break}if(6===a[0]&&u.label<o[1]){u.label=o[1],o=a;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(a);break}o[2]&&u.ops.pop(),u.trys.pop();continue}a=t.call(e,u)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}}}(this,function(e){return t.app.addComponents({Formula:v}),t.app.addScopes({renderExpressionDescription:q}),t.app.dataSourceManager.addFieldInterfaces([_]),t.app.schemaSettingsManager.add(g),t.flowEngine.registerModels({FormulaFieldModel:Y}),[2]})},function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function u(e){Z(i,n,o,u,l,"next",e)}function l(e){Z(i,n,o,u,l,"throw",e)}u(void 0)})})()}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(en(e.Plugin)),eu=ei}(),b}()});
@@ -9,17 +9,17 @@
9
9
 
10
10
  module.exports = {
11
11
  "@formily/react": "2.3.7",
12
- "@nocobase/client": "2.0.0-alpha.9",
12
+ "@nocobase/client": "2.0.0-beta.1",
13
13
  "react-i18next": "11.18.6",
14
14
  "@formily/reactive": "2.3.7",
15
- "@nocobase/flow-engine": "2.0.0-alpha.9",
15
+ "@nocobase/flow-engine": "2.0.0-beta.1",
16
16
  "antd": "5.24.2",
17
- "@nocobase/evaluators": "2.0.0-alpha.9",
18
- "@nocobase/utils": "2.0.0-alpha.9",
17
+ "@nocobase/evaluators": "2.0.0-beta.1",
18
+ "@nocobase/utils": "2.0.0-beta.1",
19
19
  "lodash": "4.17.21",
20
20
  "react": "18.2.0",
21
- "@nocobase/database": "2.0.0-alpha.9",
22
- "@nocobase/server": "2.0.0-alpha.9",
23
- "@nocobase/test": "2.0.0-alpha.9",
21
+ "@nocobase/database": "2.0.0-beta.1",
22
+ "@nocobase/server": "2.0.0-beta.1",
23
+ "@nocobase/test": "2.0.0-beta.1",
24
24
  "@formily/core": "2.3.7"
25
25
  };
@@ -1,9 +1,9 @@
1
1
  {
2
- "Formula": "Formel",
3
2
  "Calculation engine": "Berechnungs-Engine",
3
+ "Compute a value based on the other fields": "Berechnen Sie einen Wert basierend auf den anderen Feldern",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Konfigurieren und speichern Sie die Ergebnisse von Berechnungen zwischen mehreren Feldwerten im selben Datensatz, unterstützt sowohl Math.js als auch Excel-Formelfunktionen.",
4
5
  "Expression": "Ausdruck",
5
6
  "Expression syntax error": "Ausdruckssyntaxfehler",
6
- "Syntax references": "Syntaxreferenzen",
7
- "Compute a value based on the other fields": "Berechnen Sie einen Wert basierend auf den anderen Feldern",
8
- "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Konfigurieren und speichern Sie die Ergebnisse von Berechnungen zwischen mehreren Feldwerten im selben Datensatz, unterstützt sowohl Math.js als auch Excel-Formelfunktionen."
9
- }
7
+ "Formula": "Formel",
8
+ "Syntax references": "Syntaxreferenzen"
9
+ }
@@ -1,8 +1,9 @@
1
1
  {
2
- "Formula": "Formula",
3
2
  "Calculation engine": "Calculation engine",
3
+ "Compute a value based on the other fields": "Compute a value based on the other fields",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.",
4
5
  "Expression": "Expression",
5
6
  "Expression syntax error": "Expression syntax error",
6
- "Syntax references": "Syntax references",
7
- "Compute a value based on the other fields": "Compute a value based on the other fields"
8
- }
7
+ "Formula": "Formula",
8
+ "Syntax references": "Syntax references"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Calculation engine": "Calculation engine",
3
+ "Compute a value based on the other fields": "Compute a value based on the other fields",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.",
5
+ "Expression": "Expression",
6
+ "Expression syntax error": "Expression syntax error",
7
+ "Formula": "Formula",
8
+ "Syntax references": "Syntax references"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Calculation engine": "Calculation engine",
3
+ "Compute a value based on the other fields": "Compute a value based on the other fields",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.",
5
+ "Expression": "Expression",
6
+ "Expression syntax error": "Expression syntax error",
7
+ "Formula": "Formula",
8
+ "Syntax references": "Syntax references"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Calculation engine": "Számítási motor",
3
+ "Compute a value based on the other fields": "Érték kiszámítása más mezők alapján",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Több mezőérték közötti számítások eredményeinek konfigurálása és tárolása ugyanabban a rekordban, támogatva mind a Math.js, mind az Excel formula funkciókat.",
5
+ "Expression": "Kifejezés",
6
+ "Expression syntax error": "Kifejezés szintaktikai hiba",
7
+ "Formula": "Képlet",
8
+ "Syntax references": "Szintaxis referenciák"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Calculation engine": "Mesin perhitungan",
3
+ "Compute a value based on the other fields": "Hitung nilai berdasarkan bidang lain",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Konfigurasi dan simpan hasil perhitungan antara beberapa nilai bidang dalam catatan yang sama, mendukung fungsi Math.js dan rumus Excel.",
5
+ "Expression": "Ekspresi",
6
+ "Expression syntax error": "Kesalahan sintaks ekspresi",
7
+ "Formula": "Rumus",
8
+ "Syntax references": "Referensi sintaks"
9
+ }
@@ -1,8 +1,9 @@
1
1
  {
2
- "Formula": "Formula",
3
2
  "Calculation engine": "Motore di calcolo",
3
+ "Compute a value based on the other fields": "Compute a value based on the other fields",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Configura e memorizza i risultati dei calcoli tra più valori dei campi nello stesso record, supportando sia funzioni delle formule Math.js che quelli Excel.",
4
5
  "Expression": "Espressione",
5
6
  "Expression syntax error": "Errore sintassi espressione",
6
- "Syntax references": "Riferimenti sintassi",
7
- "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Configura e memorizza i risultati dei calcoli tra più valori dei campi nello stesso record, supportando sia funzioni delle formule Math.js che quelli Excel."
8
- }
7
+ "Formula": "Formula",
8
+ "Syntax references": "Riferimenti sintassi"
9
+ }
@@ -1,9 +1,9 @@
1
1
  {
2
- "Formula": "公式",
3
2
  "Calculation engine": "計算エンジン",
3
+ "Compute a value based on the other fields": "他のフィールドを基に値を計算します",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "同じレコード内の複数フィールドの計算結果を設定して保存します。Math.jsおよびExcelの関数をサポートしています。",
4
5
  "Expression": "式",
5
6
  "Expression syntax error": "式の構文エラー",
6
- "Syntax references": "構文リファレンス",
7
- "Compute a value based on the other fields": "他のフィールドを基に値を計算します",
8
- "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "同じレコード内の複数フィールドの計算結果を設定して保存します。Math.jsおよびExcelの関数をサポートしています。"
7
+ "Formula": "公式",
8
+ "Syntax references": "構文リファレンス"
9
9
  }
@@ -1,8 +1,9 @@
1
1
  {
2
- "Formula": "수식",
3
2
  "Calculation engine": "계산 엔진",
3
+ "Compute a value based on the other fields": "다른 필드를 기반으로 값 계산",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "여러 필드 값 간의 계산 결과를 동일한 레코드에 구성하고 저장할 수 있으며, Math.js와 Excel 수식 함수 모두를 지원합니다.",
4
5
  "Expression": "표현식",
5
6
  "Expression syntax error": "표현식 구문 오류",
6
- "Syntax references": "구문 참조",
7
- "Compute a value based on the other fields": "다른 필드를 기반으로 값 계산"
8
- }
7
+ "Formula": "수식",
8
+ "Syntax references": "구문 참조"
9
+ }
@@ -1,9 +1,9 @@
1
1
  {
2
- "Formula": "Formule",
3
- "Calculation engine": "Berekeningsengine",
4
- "Expression": "Expressie",
5
- "Expression syntax error": "Fout in expressiesyntax",
6
- "Syntax references": "Syntaxverwijzingen",
7
- "Compute a value based on the other fields": "Bereken een waarde op basis van de andere velden",
8
- "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Configureer en sla de resultaten op van berekeningen tussen meerdere veldwaarden in hetzelfde record, met ondersteuning voor zowel Math.js als Excel-formulefuncties."
9
- }
2
+ "Calculation engine": "Berekeningsengine",
3
+ "Compute a value based on the other fields": "Bereken een waarde op basis van de andere velden",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Configureer en sla de resultaten op van berekeningen tussen meerdere veldwaarden in hetzelfde record, met ondersteuning voor zowel Math.js als Excel-formulefuncties.",
5
+ "Expression": "Expressie",
6
+ "Expression syntax error": "Fout in expressiesyntax",
7
+ "Formula": "Formule",
8
+ "Syntax references": "Syntaxverwijzingen"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Calculation engine": "Calculation engine",
3
+ "Compute a value based on the other fields": "Compute a value based on the other fields",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.",
5
+ "Expression": "Expression",
6
+ "Expression syntax error": "Expression syntax error",
7
+ "Formula": "Formula",
8
+ "Syntax references": "Syntax references"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Calculation engine": "Вычислительный механизм",
3
+ "Compute a value based on the other fields": "Вычисление значения на основе других полей",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Настройте и сохраните результаты вычислений между несколькими значениями полей в одной записи, поддерживаются функции Math.js и формул Excel.",
5
+ "Expression": "Выражение",
6
+ "Expression syntax error": "Синтаксическая ошибка выражения",
7
+ "Formula": "Формула",
8
+ "Syntax references": "Справка по синтаксису"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Calculation engine": "Calculation engine",
3
+ "Compute a value based on the other fields": "Compute a value based on the other fields",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.",
5
+ "Expression": "Expression",
6
+ "Expression syntax error": "Expression syntax error",
7
+ "Formula": "Formula",
8
+ "Syntax references": "Syntax references"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Calculation engine": "Calculation engine",
3
+ "Compute a value based on the other fields": "Compute a value based on the other fields",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.",
5
+ "Expression": "Expression",
6
+ "Expression syntax error": "Expression syntax error",
7
+ "Formula": "Formula",
8
+ "Syntax references": "Syntax references"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Calculation engine": "Calculation engine",
3
+ "Compute a value based on the other fields": "Compute a value based on the other fields",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.",
5
+ "Expression": "Biểu thức",
6
+ "Expression syntax error": "Expression syntax error",
7
+ "Formula": "Công thức",
8
+ "Syntax references": "Syntax references"
9
+ }
@@ -1,8 +1,9 @@
1
1
  {
2
- "Formula": "公式",
3
2
  "Calculation engine": "计算引擎",
3
+ "Compute a value based on the other fields": "Compute a value based on the other fields",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎。",
4
5
  "Expression": "表达式",
5
6
  "Expression syntax error": "表达式语法错误",
6
- "Syntax references": "语法参考",
7
- "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎。"
8
- }
7
+ "Formula": "公式",
8
+ "Syntax references": "语法参考"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Calculation engine": "Calculation engine",
3
+ "Compute a value based on the other fields": "Compute a value based on the other fields",
4
+ "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.",
5
+ "Expression": "Expression",
6
+ "Expression syntax error": "Expression syntax error",
7
+ "Formula": "Formula",
8
+ "Syntax references": "Syntax references"
9
+ }
package/package.json CHANGED
@@ -2,13 +2,16 @@
2
2
  "name": "@nocobase/plugin-field-formula",
3
3
  "displayName": "Collection field: Formula",
4
4
  "displayName.zh-CN": "数据表字段:公式",
5
+ "displayName.ru-RU": "Поле коллекции: Формула",
5
6
  "description": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.",
6
7
  "description.zh-CN": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎",
7
- "version": "2.0.0-alpha.9",
8
+ "description.ru-RU": "Настройка и сохранение результатов вычислений между значениями нескольких полей в одной записи с поддержкой движков Math.js и Excel formula functions.",
9
+ "version": "2.0.0-beta.1",
8
10
  "license": "AGPL-3.0",
9
11
  "main": "./dist/server/index.js",
10
12
  "homepage": "https://docs.nocobase.com/handbook/field-formula",
11
13
  "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/field-formula",
14
+ "homepage.ru-RU": "https://docs-ru.nocobase.com/handbook/field-formula",
12
15
  "devDependencies": {
13
16
  "@formily/antd-v5": "1.x",
14
17
  "@formily/core": "2.x",
@@ -25,7 +28,7 @@
25
28
  "@nocobase/test": "2.x",
26
29
  "@nocobase/utils": "2.x"
27
30
  },
28
- "gitHead": "4a9acf96f21a3aa35bccbd188b942595b09da0a9",
31
+ "gitHead": "b3d1f65848fc91e673372ee734dafe6b1cf80586",
29
32
  "keywords": [
30
33
  "Collection fields"
31
34
  ]