@nocobase/plugin-field-formula 1.2.21-alpha → 1.2.22-alpha

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,11 +7,11 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- (function(n,r){typeof exports=="object"&&typeof module!="undefined"?r(exports,require("@nocobase/client"),require("@formily/react"),require("react/jsx-runtime"),require("@formily/core"),require("@formily/reactive"),require("lodash"),require("@nocobase/evaluators/client"),require("@nocobase/utils/client"),require("react"),require("react-i18next")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","@formily/react","react/jsx-runtime","@formily/core","@formily/reactive","lodash","@nocobase/evaluators/client","@nocobase/utils/client","react","react-i18next"],r):(n=typeof globalThis!="undefined"?globalThis:n||self,r(n["@nocobase/plugin-field-formula"]={},n["@nocobase/client"],n["@formily/react"],n.jsxRuntime,n["@formily/core"],n["@formily/reactive"],n.lodash,n["@nocobase/evaluators"],n["@nocobase/utils"],n.react))})(this,function(n,r,o,s,P,D,q,b,l,x){"use strict";var de=Object.defineProperty,pe=Object.defineProperties;var fe=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable;var R=(n,r,o)=>r in n?de(n,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[r]=o,y=(n,r)=>{for(var o in r||(r={}))J.call(r,o)&&R(n,o,r[o]);if(T)for(var o of T(r))U.call(r,o)&&R(n,o,r[o]);return n},v=(n,r)=>pe(n,fe(r));var z=(n,r)=>{var o={};for(var s in n)J.call(n,s)&&r.indexOf(s)<0&&(o[s]=n[s]);if(n!=null&&T)for(var s of T(n))r.indexOf(s)<0&&U.call(n,s)&&(o[s]=n[s]);return o};var c=(n,r,o)=>(R(n,typeof r!="symbol"?r+"":r,o),o);var H=(n,r,o)=>new Promise((s,P)=>{var D=l=>{try{b(o.next(l))}catch(x){P(x)}},q=l=>{try{b(o.throw(l))}catch(x){P(x)}},b=l=>l.done?s(l.value):Promise.resolve(l.value).then(D,q);b((o=o.apply(n,r)).next())});const K=e=>{var S;const{value:t="",supports:u=[],useCurrentFields:a,onChange:i}=e,h=r.useCompile(),{interfaces:d}=r.useCollectionManager_deprecated(),f=((S=a==null?void 0:a())!=null?S:[]).filter(m=>u.includes(m.interface)).map(m=>{var M,F;return{label:h(m.uiSchema.title),value:m.name,children:(F=(M=d[m.interface]).usePathOptions)==null?void 0:F.call(M,m)}});return s.jsx(r.Variable.TextArea,{value:t,onChange:i,scope:f})},L={boolean:Boolean,integer:{boolean(e){return Number(e)},number(e){return e>=0?Math.floor(e):Math.ceil(e)},bigint(e){return Number(e)},string(e){const t=Number.parseInt(e,10);return Number.isNaN(t)||!Number.isFinite(t)?null:t},date(e){const t=e.valueOf();return Number.isNaN(t)?null:t}},bigInt:{boolean(e){return Number(e)},number(e){return Math.floor(e>=0?Math.floor(e):Math.ceil(e))},bigint(e){return Number(e)},string(e){const t=Number.parseInt(e,10);return Number.isNaN(t)||!Number.isFinite(t)?null:t},date(e){const t=e.valueOf();return Number.isNaN(t)?null:t}},double:{boolean(e){return Number(e)},number(e){return e},bigint(e){return Number(e)},string(e){const t=Number.parseFloat(e);return Number.isNaN(t)||!Number.isFinite(t)?null:t},date(e){const t=e.valueOf();return Number.isNaN(t)?null:t}},decimal:{boolean(e){return Number(e)},number(e){return e},bigint(e){return e},date(e){const t=e.valueOf();return Number.isNaN(t)?null:t}},string:{boolean(e){return e.toString()},number(e){return e.toString()},bigint(e){return e.toString()},string(e){return e},date(e){return e.toISOString()}},date:{boolean(e){return null},number(e){const t=new Date(e);return Number.isNaN(t.valueOf())?null:t},bigint(e){const t=new Date(Number(e));return Number.isNaN(t.valueOf())?null:t},string(e){const t=Date.parse(e);return Number.isNaN(t)?null:new Date(t)},date(e){return new Date(e)}}};function Q(e,t){if(e==null)return null;let u=typeof e;u=="object"&&e instanceof Date&&(u="date");const a=L[t];if(!a)return null;if(typeof a=="function")return a(e);const i=a[u];return i?i(e):null}const W={boolean:r.Checkbox.ReadPretty,integer:r.InputNumber.ReadPretty,bigInt:r.InputNumber.ReadPretty,double:r.InputNumber.ReadPretty,decimal:r.InputNumber.ReadPretty,date:r.DatePicker.ReadPretty,string:r.Input.ReadPretty};function j(e){const t=o.useFieldSchema(),u=e||t,a=r.useCollection_deprecated(),{getCollection:i,getCollectionField:h}=r.useCollectionManager_deprecated(),d=u.name.split(".");let p=a;for(let f=0;f<d.length-1;f++){const S=p.getField(d[f]);p=i(S.target)}return h(`${p.name}.${d[d.length-1]}`)}function X(e,t,u){const a=e[t];return Array.isArray(a)?a[u]:a&&typeof a=="object"?a:e}function Y(e){var k,_,B;const V=e,{value:t}=V,u=z(V,["value"]),a=o.useFieldSchema(),{dataType:i,expression:h,engine:d="math.js"}=(k=j())!=null?k:{},[p,f]=x.useState(t),{evaluate:S}=b.evaluators.get(d),m=r.useFormBlockContext(),F=o.useField().path.entire,A=F==null?void 0:F.replace(`.${a.name}`,""),se=A.split(".")[0],ue=parseInt((_=A.split("."))==null?void 0:_[1]),C=x.useContext(r.ActionContext);x.useEffect(()=>{f(t)},[t]),o.useFormEffects(()=>{const le=q.debounce(e.onChange,300);P.onFormValuesChange(ce=>{var G,$;if(a.name.indexOf(".")>=0||!(m!=null&&m.form)||(G=m.form)!=null&&G.readPretty||a["x-decorator"]!=="FormItem")return;const me=D.toJS(X(ce.values,se,ue));let g;try{g=S(h,me),g=Q(g,i)}catch(be){g=null}g==null&&p==null&&f(g),f(g),le(g),($=C==null?void 0:C.setFormValueChanged)==null||$.call(C,!1)})});const ie=(B=W[i])!=null?B:r.Input;return s.jsx(ie,v(y({},u),{value:i==="double"?l.toFixedByStep(p,e.step):p}))}const E=()=>null;E.Expression=K,E.Result=o.connect(Y);const N="field-formula";function Z(e){const t=b.evaluators.get(e);return t!=null&&t.link?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:r.css`
10
+ (function(n,r){typeof exports=="object"&&typeof module!="undefined"?r(exports,require("@nocobase/client"),require("@formily/react"),require("react/jsx-runtime"),require("@formily/core"),require("@formily/reactive"),require("@nocobase/evaluators/client"),require("@nocobase/utils/client"),require("react"),require("react-i18next")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","@formily/react","react/jsx-runtime","@formily/core","@formily/reactive","@nocobase/evaluators/client","@nocobase/utils/client","react","react-i18next"],r):(n=typeof globalThis!="undefined"?globalThis:n||self,r(n["@nocobase/plugin-field-formula"]={},n["@nocobase/client"],n["@formily/react"],n.jsxRuntime,n["@formily/core"],n["@formily/reactive"],n["@nocobase/evaluators"],n["@nocobase/utils"],n.react))})(this,function(n,r,o,s,I,E,x,h,m){"use strict";var ue=Object.defineProperty,le=Object.defineProperties;var ce=Object.getOwnPropertyDescriptors;var D=Object.getOwnPropertySymbols;var G=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var q=(n,r,o)=>r in n?ue(n,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[r]=o,y=(n,r)=>{for(var o in r||(r={}))G.call(r,o)&&q(n,o,r[o]);if(D)for(var o of D(r))$.call(r,o)&&q(n,o,r[o]);return n},C=(n,r)=>le(n,ce(r));var J=(n,r)=>{var o={};for(var s in n)G.call(n,s)&&r.indexOf(s)<0&&(o[s]=n[s]);if(n!=null&&D)for(var s of D(n))r.indexOf(s)<0&&$.call(n,s)&&(o[s]=n[s]);return o};var l=(n,r,o)=>(q(n,typeof r!="symbol"?r+"":r,o),o);var U=(n,r,o)=>new Promise((s,I)=>{var E=m=>{try{h(o.next(m))}catch(P){I(P)}},x=m=>{try{h(o.throw(m))}catch(P){I(P)}},h=m=>m.done?s(m.value):Promise.resolve(m.value).then(E,x);h((o=o.apply(n,r)).next())});const P=e=>{var S;const{value:t="",supports:i=[],useCurrentFields:a,onChange:u}=e,g=r.useCompile(),{interfaces:d}=r.useCollectionManager_deprecated(),f=((S=a==null?void 0:a())!=null?S:[]).filter(c=>i.includes(c.interface)).map(c=>{var F,v;return{label:g(c.uiSchema.title),value:c.name,children:(v=(F=d[c.interface]).usePathOptions)==null?void 0:v.call(F,c)}});return s.jsx(r.Variable.TextArea,{value:t,onChange:u,scope:f})},z={boolean:Boolean,integer:{boolean(e){return Number(e)},number(e){return e>=0?Math.floor(e):Math.ceil(e)},bigint(e){return Number(e)},string(e){const t=Number.parseInt(e,10);return Number.isNaN(t)||!Number.isFinite(t)?null:t},date(e){const t=e.valueOf();return Number.isNaN(t)?null:t}},bigInt:{boolean(e){return Number(e)},number(e){return Math.floor(e>=0?Math.floor(e):Math.ceil(e))},bigint(e){return Number(e)},string(e){const t=Number.parseInt(e,10);return Number.isNaN(t)||!Number.isFinite(t)?null:t},date(e){const t=e.valueOf();return Number.isNaN(t)?null:t}},double:{boolean(e){return Number(e)},number(e){return e},bigint(e){return Number(e)},string(e){const t=Number.parseFloat(e);return Number.isNaN(t)||!Number.isFinite(t)?null:t},date(e){const t=e.valueOf();return Number.isNaN(t)?null:t}},decimal:{boolean(e){return Number(e)},number(e){return e},bigint(e){return e},date(e){const t=e.valueOf();return Number.isNaN(t)?null:t}},string:{boolean(e){return e.toString()},number(e){return e.toString()},bigint(e){return e.toString()},string(e){return e},date(e){return e.toISOString()}},date:{boolean(e){return null},number(e){const t=new Date(e);return Number.isNaN(t.valueOf())?null:t},bigint(e){const t=new Date(Number(e));return Number.isNaN(t.valueOf())?null:t},string(e){const t=Date.parse(e);return Number.isNaN(t)?null:new Date(t)},date(e){return new Date(e)}}};function H(e,t){if(e==null)return null;let i=typeof e;i=="object"&&e instanceof Date&&(i="date");const a=z[t];if(!a)return null;if(typeof a=="function")return a(e);const u=a[i];return u?u(e):null}const K={boolean:r.Checkbox.ReadPretty,integer:r.InputNumber.ReadPretty,bigInt:r.InputNumber.ReadPretty,double:r.InputNumber.ReadPretty,decimal:r.InputNumber.ReadPretty,date:r.DatePicker.ReadPretty,string:r.Input.ReadPretty};function R(e){const t=o.useFieldSchema(),i=e||t,a=r.useCollection_deprecated(),{getCollection:u,getCollectionField:g}=r.useCollectionManager_deprecated(),d=i.name.split(".");let p=a;for(let f=0;f<d.length-1;f++){const S=p.getField(d[f]);p=u(S.target)}return g(`${p.name}.${d[d.length-1]}`)}function L(e,t,i){const a=e[t];return Array.isArray(a)?a[i]:a&&typeof a=="object"?a:e}function Q(e){var k,V,_;const A=e,{value:t}=A,i=J(A,["value"]),a=o.useFieldSchema(),{dataType:u,expression:g,engine:d="math.js"}=(k=R())!=null?k:{},[p,f]=m.useState(t),{evaluate:S}=x.evaluators.get(d),c=r.useFormBlockContext(),F=o.useField(),v=F.path.entire,w=v==null?void 0:v.replace(`.${a.name}`,""),ne=w.split(".")[0],oe=parseInt((V=w.split("."))==null?void 0:V[1]);m.useEffect(()=>{f(t)},[t]),o.useFormEffects(()=>{I.onFormValuesChange(se=>{var B;if(a.name.indexOf(".")>=0||!(c!=null&&c.form)||(B=c.form)!=null&&B.readPretty||a["x-decorator"]!=="FormItem")return;const ie=E.toJS(L(se.values,ne,oe));let b;try{b=S(g,ie),b=H(b,u)}catch(me){b=null}b==null&&p==null&&f(b),f(b),b!==F.value&&(F.value=b)})});const ae=(_=K[u])!=null?_:r.Input;return s.jsx(ae,C(y({},i),{value:u==="double"?h.toFixedByStep(p,e.step):p}))}const M=()=>null;M.Expression=P,M.Result=o.connect(Q);const N="field-formula";function W(e){const t=x.evaluators.get(e);return t!=null&&t.link?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:r.css`
11
11
  &:after {
12
12
  content: ':';
13
13
  }
14
14
  & + a {
15
15
  margin-left: 0.25em;
16
16
  }
17
- `,children:r.i18n.t("Syntax references",{ns:N})}),s.jsx("a",{href:t.link,target:"_blank",rel:"noreferrer",children:t.label})]}):null}const ee=[{dependencies:["dataType"],fulfill:{state:{display:'{{["double", "decimal"].includes($deps[0]) ? "visible" : "none"}}'}}}],O=[{dependencies:["dataType"],fulfill:{state:{display:'{{$deps[0] === "date" ? "visible" : "none"}}'}}}],{defaultProps:te,dateTimeProps:I,operators:re}=r.interfacesProperties,ne={"uiSchema.x-component-props.dateFormat":v(y({},l.lodash.cloneDeep(I["uiSchema.x-component-props.dateFormat"])),{"x-reactions":O}),"uiSchema.x-component-props.showTime":v(y({},l.lodash.cloneDeep(I["uiSchema.x-component-props.showTime"])),{"x-reactions":[...I["uiSchema.x-component-props.showTime"]["x-reactions"],...O]}),"uiSchema.x-component-props.timeFormat":y({},l.lodash.cloneDeep(I["uiSchema.x-component-props.timeFormat"]))};class oe extends r.CollectionFieldInterface{constructor(){super(...arguments);c(this,"name","formula");c(this,"type","object");c(this,"group","advanced");c(this,"order",1);c(this,"title",`{{t("Formula", { ns: "${N}" })}}`);c(this,"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: "${N}" })}}`);c(this,"sortable",!0);c(this,"default",{type:"formula",uiSchema:{type:"string","x-component":"Formula.Result","x-component-props":{stringMode:!0,step:"1"},"x-read-pretty":!0}});c(this,"properties",v(y(v(y({},te),{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":ee}}),ne),{engine:{type:"string",title:`{{t("Calculation engine", { ns: "${N}" })}}`,"x-decorator":"FormItem","x-component":"Radio.Group",enum:Array.from(b.evaluators.getEntities()).reduce((u,[a,i])=>u.concat(y({value:a},i)),[]),required:!0,default:"math.js"},expression:{type:"string",title:`{{t("Expression", { ns: "${N}" })}}`,required:!0,"x-component":"Formula.Expression","x-decorator":"FormItem","x-component-props":{supports:["checkbox","number","percent","integer","number","percent","input","textarea","email","phone","datetime","createdAt","updatedAt","radioGroup","checkboxGroup","select","multipleSelect"],useCurrentFields:"{{ useCurrentFields }}"},"x-reactions":{dependencies:["engine"],fulfill:{schema:{description:"{{renderExpressionDescription($deps[0])}}"}}},"x-validator"(u,a,{form:i}){const{values:h}=i,{evaluate:d}=b.evaluators.get(h.engine),p=u.trim().replace(/{{\s*([^{}]+)\s*}}/g,"1");try{return d(p),""}catch(f){return r.i18n.t("Expression syntax error",{ns:N})}}}}));c(this,"filterable",{operators:re.number});c(this,"titleUsable",!0)}}const ae=new r.SchemaSettings({name:"fieldSettings:component:Formula.Result",items:[{name:"displayFormat",Component:r.SchemaSettingsNumberFormat,useComponentProps(){const e=o.useFieldSchema(),{fieldSchema:t}=r.useColumnSchema();return{fieldSchema:t||e}},useVisible(){const e=o.useFieldSchema(),{fieldSchema:t}=r.useColumnSchema(),u=t||e,{dataType:a}=j(u)||{},i=["integer","bigInt","double","decimal"].includes(a);return r.useIsFieldReadPretty()&&i}}]});class w extends r.Plugin{load(){return H(this,null,function*(){this.app.addComponents({Formula:E}),this.app.addScopes({renderExpressionDescription:Z}),this.app.dataSourceManager.addFieldInterfaces([oe]),this.app.schemaSettingsManager.add(ae)})}}n.PluginFieldFormulaClient=w,n.default=w,Object.defineProperties(n,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
17
+ `,children:r.i18n.t("Syntax references",{ns:N})}),s.jsx("a",{href:t.link,target:"_blank",rel:"noreferrer",children:t.label})]}):null}const X=[{dependencies:["dataType"],fulfill:{state:{display:'{{["double", "decimal"].includes($deps[0]) ? "visible" : "none"}}'}}}],j=[{dependencies:["dataType"],fulfill:{state:{display:'{{$deps[0] === "date" ? "visible" : "none"}}'}}}],{defaultProps:Y,dateTimeProps:T,operators:Z}=r.interfacesProperties,ee={"uiSchema.x-component-props.dateFormat":C(y({},h.lodash.cloneDeep(T["uiSchema.x-component-props.dateFormat"])),{"x-reactions":j}),"uiSchema.x-component-props.showTime":C(y({},h.lodash.cloneDeep(T["uiSchema.x-component-props.showTime"])),{"x-reactions":[...T["uiSchema.x-component-props.showTime"]["x-reactions"],...j]}),"uiSchema.x-component-props.timeFormat":y({},h.lodash.cloneDeep(T["uiSchema.x-component-props.timeFormat"]))};class te extends r.CollectionFieldInterface{constructor(){super(...arguments);l(this,"name","formula");l(this,"type","object");l(this,"group","advanced");l(this,"order",1);l(this,"title",`{{t("Formula", { ns: "${N}" })}}`);l(this,"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: "${N}" })}}`);l(this,"sortable",!0);l(this,"default",{type:"formula",uiSchema:{type:"string","x-component":"Formula.Result","x-component-props":{stringMode:!0,step:"1"},"x-read-pretty":!0}});l(this,"properties",C(y(C(y({},Y),{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":X}}),ee),{engine:{type:"string",title:`{{t("Calculation engine", { ns: "${N}" })}}`,"x-decorator":"FormItem","x-component":"Radio.Group",enum:Array.from(x.evaluators.getEntities()).reduce((i,[a,u])=>i.concat(y({value:a},u)),[]),required:!0,default:"math.js"},expression:{type:"string",title:`{{t("Expression", { ns: "${N}" })}}`,required:!0,"x-component":"Formula.Expression","x-decorator":"FormItem","x-component-props":{supports:["checkbox","number","percent","integer","number","percent","input","textarea","email","phone","datetime","createdAt","updatedAt","radioGroup","checkboxGroup","select","multipleSelect"],useCurrentFields:"{{ useCurrentFields }}"},"x-reactions":{dependencies:["engine"],fulfill:{schema:{description:"{{renderExpressionDescription($deps[0])}}"}}},"x-validator"(i,a,{form:u}){const{values:g}=u,{evaluate:d}=x.evaluators.get(g.engine),p=i.trim().replace(/{{\s*([^{}]+)\s*}}/g,"1");try{return d(p),""}catch(f){return r.i18n.t("Expression syntax error",{ns:N})}}}}));l(this,"filterable",{operators:Z.number});l(this,"titleUsable",!0)}}const re=new r.SchemaSettings({name:"fieldSettings:component:Formula.Result",items:[{name:"displayFormat",Component:r.SchemaSettingsNumberFormat,useComponentProps(){const e=o.useFieldSchema(),{fieldSchema:t}=r.useColumnSchema();return{fieldSchema:t||e}},useVisible(){const e=o.useFieldSchema(),{fieldSchema:t}=r.useColumnSchema(),i=t||e,{dataType:a}=R(i)||{},u=["integer","bigInt","double","decimal"].includes(a);return r.useIsFieldReadPretty()&&u}}]});class O extends r.Plugin{load(){return U(this,null,function*(){this.app.addComponents({Formula:M}),this.app.addScopes({renderExpressionDescription:W}),this.app.dataSourceManager.addFieldInterfaces([te]),this.app.schemaSettingsManager.add(re)})}}n.PluginFieldFormulaClient=O,n.default=O,Object.defineProperties(n,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -9,15 +9,14 @@
9
9
 
10
10
  module.exports = {
11
11
  "@formily/react": "2.3.0",
12
- "@nocobase/client": "1.2.21-alpha",
13
- "@nocobase/evaluators": "1.2.21-alpha",
14
- "@nocobase/utils": "1.2.21-alpha",
12
+ "@nocobase/client": "1.2.22-alpha",
13
+ "@nocobase/evaluators": "1.2.22-alpha",
14
+ "@nocobase/utils": "1.2.22-alpha",
15
15
  "react": "18.2.0",
16
- "@nocobase/database": "1.2.21-alpha",
17
- "@nocobase/server": "1.2.21-alpha",
18
- "@nocobase/test": "1.2.21-alpha",
16
+ "@nocobase/database": "1.2.22-alpha",
17
+ "@nocobase/server": "1.2.22-alpha",
18
+ "@nocobase/test": "1.2.22-alpha",
19
19
  "react-i18next": "11.18.6",
20
20
  "@formily/core": "2.3.0",
21
- "@formily/reactive": "2.3.0",
22
- "lodash": "4.17.21"
21
+ "@formily/reactive": "2.3.0"
23
22
  };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName.zh-CN": "数据表字段:公式",
5
5
  "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
6
  "description.zh-CN": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎",
7
- "version": "1.2.21-alpha",
7
+ "version": "1.2.22-alpha",
8
8
  "license": "AGPL-3.0",
9
9
  "main": "./dist/server/index.js",
10
10
  "homepage": "https://docs.nocobase.com/handbook/field-formula",
@@ -25,7 +25,7 @@
25
25
  "@nocobase/test": "1.x",
26
26
  "@nocobase/utils": "1.x"
27
27
  },
28
- "gitHead": "b015ec25d0f74e61a6f571e8a1f0a4afcd849703",
28
+ "gitHead": "f7d4b5b0555f9ce8e8db8076172d8fea4d99c4a1",
29
29
  "keywords": [
30
30
  "Collection fields"
31
31
  ]