@nocobase/plugin-field-formula 2.1.0-beta.37 → 2.1.0-beta.40
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.
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { FieldConfigurePropertyComponentProps } from '@nocobase/client-v2';
|
|
10
|
+
import React from 'react';
|
|
11
|
+
export declare function FormulaExpressionConfigureField(props: FieldConfigurePropertyComponentProps): React.JSX.Element;
|
package/dist/client-v2/index.js
CHANGED
|
@@ -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("@nocobase/client-v2"),require("@formily/reactive"),require("@nocobase/evaluators/client"),require("react"),require("antd"),require("@formily/react"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("@nocobase/utils/client"),require("lodash")):"function"==typeof define&&define.amd?define("@nocobase/plugin-field-formula/client-v2",["@nocobase/client-v2","@formily/reactive","@nocobase/evaluators/client","react","antd","@formily/react","@ant-design/icons","@nocobase/flow-engine","@nocobase/utils/client","lodash"],t):"object"==typeof exports?exports["@nocobase/plugin-field-formula/client-v2"]=t(require("@nocobase/client-v2"),require("@formily/reactive"),require("@nocobase/evaluators/client"),require("react"),require("antd"),require("@formily/react"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("@nocobase/utils/client"),require("lodash")):e["@nocobase/plugin-field-formula/client-v2"]=t(e["@nocobase/client-v2"],e["@formily/reactive"],e["@nocobase/evaluators/client"],e.react,e.antd,e["@formily/react"],e["@ant-design/icons"],e["@nocobase/flow-engine"],e["@nocobase/utils/client"],e.lodash)}(self,function(e,t,n,r,o,l,i,a,u,c){return function(){"use strict";var s,p,f,d={143:function(e,t,n){n.d(t,{M:function(){return l}});var r=n(694),o=JSON.parse('{"UU":"@nocobase/plugin-field-formula"}');function l(e){return(0,r.tExpr)(e,{ns:[o.UU,"client"]})}},375:function(e){e.exports=i},230:function(e){e.exports=l},992:function(e){e.exports=t},485:function(t){t.exports=e},275:function(e){e.exports=n},694:function(e){e.exports=a},768:function(e){e.exports=u},59:function(e){e.exports=o},773:function(e){e.exports=c},155:function(e){e.exports=r}},b={};function m(e){var t=b[e];if(void 0!==t)return t.exports;var n=b[e]={exports:{}};return d[e](n,n.exports,m),n.exports}m.m=d,m.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return m.d(t,{a:t}),t},m.d=function(e,t){for(var n in t)m.o(t,n)&&!m.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},m.f={},m.e=function(e){return Promise.all(Object.keys(m.f).reduce(function(t,n){return m.f[n](e,t),t},[]))},m.u=function(e){return""+e+".4435ceef7bdbf216.js"},m.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),m.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},y={},m.l=function(e,t,n,r){if(y[e])return void y[e].push(t);if(void 0!==n)for(var o,l,i=document.getElementsByTagName("script"),a=0;a<i.length;a++){var u=i[a];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="@nocobase/plugin-field-formula/client-v2:"+n){o=u;break}}o||(l=!0,(o=document.createElement("script")).timeout=120,m.nc&&o.setAttribute("nonce",m.nc),o.setAttribute("data-rspack","@nocobase/plugin-field-formula/client-v2:"+n),o.src=e),y[e]=[t];var c=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=y[e];if(delete y[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(c.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=c.bind(null,o.onerror),o.onload=c.bind(null,o.onload),l&&document.head.appendChild(o)},m.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},m.g.importScripts&&(v=m.g.location+"");var y,v,h=m.g.document;if(!v&&h&&(h.currentScript&&"SCRIPT"===h.currentScript.tagName.toUpperCase()&&(v=h.currentScript.src),!v)){var g=h.getElementsByTagName("script");if(g.length)for(var x=g.length-1;x>-1&&(!v||!/^http(s?):/.test(v));)v=g[x--].src}if(!v)throw Error("Automatic publicPath is not supported in this browser");m.p=v.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s={889:0},m.f.j=function(e,t){var n=m.o(s,e)?s[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=s[e]=[t,r]});t.push(n[2]=r);var o=m.p+m.u(e),l=Error();m.l(o,function(t){if(m.o(s,e)&&(0!==(n=s[e])&&(s[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",l.name="ChunkLoadError",l.type=r,l.request=o,n[1](l)}},"chunk-"+e,e)}},p=function(e,t){var n,r,o=t[0],l=t[1],i=t[2],a=0;if(o.some(function(e){return 0!==s[e]})){for(n in l)m.o(l,n)&&(m.m[n]=l[n]);i&&i(m)}for(e&&e(t);a<o.length;a++)r=o[a],m.o(s,r)&&s[r]&&s[r][0](),s[r]=0},(f=self.webpackChunk_nocobase_plugin_field_formula_client_v2=self.webpackChunk_nocobase_plugin_field_formula_client_v2||[]).forEach(p.bind(null,0)),f.push=p.bind(null,f.push.bind(f));var w={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/@nocobase/plugin-field-formula/dist/client-v2/")}if(!e){if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var r=window.location.pathname||"/",o=r.indexOf("/v2/");e=o>=0?r.slice(0,o+1):"/"}e&&(e=e.replace(/\/v2\/?$/,"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-field-formula/dist/client-v2/"}m.p=e}(),!function(){m.r(w),m.d(w,{default:function(){return A}});var e=m(485),t=m(275),n=m(143);function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){o(e,t,n[t])})}return e}function a(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}}function s(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(s=function(){return!!e})()}var p=[{dependencies:["dataType"],fulfill:{state:{display:'{{["double", "decimal"].includes($deps[0]) ? "visible" : "none"}}'}}}],f=[{dependencies:["dataType"],fulfill:{state:{display:'{{$deps[0] === "date" ? "visible" : "none"}}'}}}],d=function(e){var t,n;return(null==e||null==(t=e.options)?void 0:t.dataType)||(null==e?void 0:e.dataType)||(null==e?void 0:e.type)||(null==e||null==(n=e.uiSchema)?void 0:n.type)||"double"},b=[{types:["boolean"],operators:[{label:'{{t("Yes")}}',value:"$isTruly",selected:!0,noValue:!0,schema:{"x-component":"Select","x-component-props":{multiple:!1,options:[{label:'{{t("Yes")}}',value:!0},{label:'{{t("No")}}',value:!1}]}}},{label:'{{t("No")}}',value:"$isFalsy",noValue:!0,schema:{"x-component":"Select","x-component-props":{multiple:!1,options:[{label:'{{t("Yes")}}',value:!0},{label:'{{t("No")}}',value:!1}]}}},{label:"{{ t('is empty') }}",value:"$empty",noValue:!0},{label:"{{ t('is not empty') }}",value:"$notEmpty",noValue:!0}]},{types:["string"],operators:[{label:'{{t("contains")}}',value:"$includes",selected:!0},{label:'{{t("does not contain")}}',value:"$notIncludes"},{label:'{{t("is")}}',value:"$eq"},{label:'{{t("is not")}}',value:"$ne"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}]},{types:["date"],operators:[{label:"{{ t('is') }}",value:"$dateOn",selected:!0,schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is not') }}",value:"$dateNotOn",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is before') }}",value:"$dateBefore",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is after') }}",value:"$dateAfter",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is between') }}",value:"$dateBetween",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!0}}},{label:"{{ t('is empty') }}",value:"$empty",noValue:!0},{label:"{{ t('is not empty') }}",value:"$notEmpty",noValue:!0}]},{types:["integer","double","bigInt","number"],operators:[{label:'{{t("=")}}',value:"$eq",selected:!0},{label:'{{t("≠")}}',value:"$ne"},{label:'{{t(">")}}',value:"$gt"},{label:'{{t("≥")}}',value:"$gte"},{label:'{{t("<")}}',value:"$lt"},{label:'{{t("≤")}}',value:"$lte"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}]}].flatMap(function(e){var t=e.types;return e.operators.map(function(e){return a(i({},e),{visible:function(n){var r=t.includes(d(n));return"function"==typeof e.visible?e.visible(n)&&r:r}})})}),y={"uiSchema.x-component-props.dateFormat":{type:"string",title:'{{t("Date format")}}',"x-decorator":"FormItem","x-component":"Select",enum:[{label:"YYYY-MM-DD",value:"YYYY-MM-DD"},{label:"YYYY/MM/DD",value:"YYYY/MM/DD"},{label:"MM/DD/YY",value:"MM/DD/YY"},{label:"DD/MM/YYYY",value:"DD/MM/YYYY"},{label:'{{t("Custom")}}',value:"custom"}],default:"YYYY-MM-DD","x-reactions":f},"uiSchema.x-component-props.showTime":{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Show time")}}',default:!0,"x-reactions":f},"uiSchema.x-component-props.timeFormat":{type:"string",title:'{{t("Time format")}}',"x-component":"Radio.Group","x-decorator":"FormItem",default:"HH:mm:ss",enum:[{label:'{{t("12 hour")}}',value:"hh:mm:ss a"},{label:'{{t("24 hour")}}',value:"HH:mm:ss"}],"x-reactions":((function(e){if(Array.isArray(e))return r(e)})(f)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(f)||c(f)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([{dependencies:["uiSchema.x-component-props.showTime"],fulfill:{state:{hidden:"{{ !$deps[0] }}"}}}])}},v=function(e){var r;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function f(){var e,r,u;if(!(this instanceof f))throw TypeError("Cannot call a class as a function");return r=f,u=arguments,r=l(r),o(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,s()?Reflect.construct(r,u||[],l(this).constructor):r.apply(this,u)),"name","formula"),o(e,"type","object"),o(e,"group","advanced"),o(e,"order",1),o(e,"title",(0,n.M)("Formula")),o(e,"description",(0,n.M)("Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.")),o(e,"sortable",!0),o(e,"default",{interface:"formula",type:"formula",uiSchema:{type:"string","x-component":"Input","x-read-pretty":!0,"x-component-props":{stringMode:!0,step:"1"}}}),o(e,"properties",a(i({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":p}},y),{engine:{type:"string",title:(0,n.M)("Calculation engine"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:Array.from(t.evaluators.getEntities()).reduce(function(e,t){var n=function(e){if(Array.isArray(e))return e}(t)||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],l=!0,i=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(i)throw n}}return o}}(t)||c(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.")}(),r=n[0],o=n[1];return e.concat(i({value:r},o))},[]),required:!0,default:"formula.js"},expression:{type:"string",title:(0,n.M)("Expression"),required:!0,"x-component":"FormulaExpression","x-decorator":"FormItem","x-component-props":{useCurrentFields:"{{ useCurrentFields }}"},"x-reactions":{dependencies:["engine"],fulfill:{schema:{description:'{{ $deps[0] ? t("Syntax references") : "" }}'}}}}})),o(e,"filterable",{operators:b}),o(e,"titleUsable",!0),e}return f.prototype=Object.create(e&&e.prototype,{constructor:{value:f,writable:!0,configurable:!0}}),e&&u(f,e),r=[{key:"schemaInitialize",value:function(e,t){["Table","Kanban"].includes(t.block)&&(e["x-component-props"]=e["x-component-props"]||{},e["x-component-props"].ellipsis=!0,e["x-component-props"].size="small")}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(f.prototype,r),f}(e.CollectionFieldInterface),h=m(155),g=m.n(h),x=m(230),S=m(694);function O(e,t,n,r,o,l,i){try{var a=e[l](i),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function j(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function i(e){O(l,r,o,i,a,"next",e)}function a(e){O(l,r,o,i,a,"throw",e)}i(void 0)})}}function F(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(i,"next",{value:u(0)}),a(i,"throw",{value:u(1)}),a(i,"return",{value:u(2)}),"function"==typeof Symbol&&a(i,Symbol.iterator,{value:function(){return this}}),i;function u(a){return function(u){var c=[a,u];if(n)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var _=function(e,t,n){var r,o,l,i,a,u=String(null!=(r=null!=(o=null==e||null==(a=e.uiSchema)?void 0:a.title)?o:null==e?void 0:e.name)?r:"");return{name:String(null!=(l=null==e?void 0:e.name)?l:""),title:u,type:"field",interface:null==e?void 0:e.interface,uiSchema:null==e?void 0:e.uiSchema,paths:[String(null!=(i=null==e?void 0:e.name)?i:"")],parentTitles:t,children:n}},M=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return Array.isArray(e)?e.map(function(e){if(!e)return null;var r,o,l,i,a=null!=(r=null!=(o=e.value)?o:e.name)?r:e.key;if(null==a)return null;var u=String(null!=(l=null!=(i=e.label)?i:e.title)?l:a),c=n.concat(String(a)),s={name:String(a),title:u,type:e.type||"field",interface:e.interface,options:e.options,uiSchema:e.uiSchema,paths:c,parentTitles:t};return Array.isArray(e.children)?s.children=M(e.children,t.concat(u),c):"function"==typeof e.children&&(s.children=function(){return j(function(){return F(this,function(n){switch(n.label){case 0:return[4,e.children()];case 1:return[2,M(n.sent(),t.concat(u),c)]}})})()}),s}).filter(Boolean):[]},P=function(e){var t,n,r,o,l=e.value,i=e.onChange,a=e.useCurrentFields,u=(0,x.useField)(),c=(0,S.useFlowEngine)(),s=(0,S.useFlowContext)().t,p=null==(n=c.context)?void 0:n.fieldFormula,f=(null==p?void 0:p.expressionFields)||[],d=(0,h.useMemo)(function(){try{var e,t=null!=(e=null==a?void 0:a())?e:[];return Array.isArray(t)?t:[]}catch(e){return[]}},[a]),b=(0,h.useMemo)(function(){return function(){return j(function(){var e,t,n,r,o,l,i,a,u,s,p,b,m,y,v,h,g,x,w;return F(this,function(S){n=null==(t=c.context)||null==(e=t.dataSourceManager)?void 0:e.collectionFieldInterfaceManager,r=[],o=!0,l=!1,i=void 0;try{for(a=d[Symbol.iterator]();!(o=(u=a.next()).done);o=!0)(null==(s=u.value)?void 0:s.interface)&&f.includes(s.interface)&&(g=null==(h=null==n||null==(y=n.getFieldInterface)?void 0:y.call(n,s.interface))?void 0:h.usePathOptions,x="function"==typeof g?g(s):void 0,w=M(x,[String(null!=(p=null!=(b=null==s||null==(v=s.uiSchema)?void 0:v.title)?b:null==s?void 0:s.name)?p:"")],[String(null!=(m=null==s?void 0:s.name)?m:"")]),r.push(_(s,[],w.length?w:void 0)))}catch(e){l=!0,i=e}finally{try{o||null==a.return||a.return()}finally{if(l)throw i}}return[2,r]})})()}},[d,f,null==(o=c.context)||null==(r=o.dataSourceManager)?void 0:r.collectionFieldInterfaceManager]),m=String(null!=(t=null==e?void 0:e.placeholder)?t:s("Input text, use {{ to insert variables"));return g().createElement(S.SlateVariableEditor,{value:void 0===l?"":l,onChange:function(e){null==i||i(e),u&&"function"==typeof u.setValue&&u.setValue(e)},metaTree:b,placeholder:m,multiline:!0})};function E(e,t,n,r,o,l,i){try{var a=e[l](i),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function $(e,t,n){return($=k()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&Y(o,n.prototype),o}).apply(null,arguments)}function D(e){return(D=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Y(e,t){return(Y=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function T(e){var t="function"==typeof Map?new Map:void 0;return(T=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,n)}function n(){return $(e,arguments,D(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),Y(n,e)})(e)}function k(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(k=function(){return!!e})()}var A=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t,r,o,l;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return t=n,r=arguments,t=D(t),e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,k()?Reflect.construct(t,r||[],D(this).constructor):t.apply(this,r)),l=["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:l,enumerable:!0,configurable:!0,writable:!0}):e[o]=l,e}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&Y(n,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;return(e=function(){var e;return function(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(i,"next",{value:u(0)}),a(i,"throw",{value:u(1)}),a(i,"return",{value:u(2)}),"function"==typeof Symbol&&a(i,Symbol.iterator,{value:function(){return this}}),i;function u(a){return function(u){var c=[a,u];if(n)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(t){return e=this,this.app.addComponents({FormulaExpression:P}),this.app.addFieldInterfaces([v]),this.flowEngine.context.defineProperty("fieldFormula",{get:function(){return{expressionFields:e.expressionFields,registerExpressionFieldInterface:e.registerExpressionFieldInterface.bind(e)}}}),this.flowEngine.registerModelLoaders({FormulaFieldModel:{loader:function(){return m.e("408").then(m.bind(m,379))}}}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function i(e){E(l,r,o,i,a,"next",e)}function a(e){E(l,r,o,i,a,"throw",e)}i(void 0)})}).call(this)}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(n.prototype,t),n}(T(e.Plugin))}(),w}()});
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("lodash"),require("@nocobase/client-v2"),require("@formily/reactive"),require("@nocobase/evaluators/client"),require("antd"),require("react"),require("@formily/react"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("@nocobase/utils/client")):"function"==typeof define&&define.amd?define("@nocobase/plugin-field-formula/client-v2",["lodash","@nocobase/client-v2","@formily/reactive","@nocobase/evaluators/client","antd","react","@formily/react","@ant-design/icons","@nocobase/flow-engine","@nocobase/utils/client"],t):"object"==typeof exports?exports["@nocobase/plugin-field-formula/client-v2"]=t(require("lodash"),require("@nocobase/client-v2"),require("@formily/reactive"),require("@nocobase/evaluators/client"),require("antd"),require("react"),require("@formily/react"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("@nocobase/utils/client")):e["@nocobase/plugin-field-formula/client-v2"]=t(e.lodash,e["@nocobase/client-v2"],e["@formily/reactive"],e["@nocobase/evaluators/client"],e.antd,e.react,e["@formily/react"],e["@ant-design/icons"],e["@nocobase/flow-engine"],e["@nocobase/utils/client"])}(self,function(e,t,n,r,o,i,l,a,u,c){return function(){"use strict";var s,f,p,d={143:function(e,t,n){n.d(t,{M:function(){return l},k:function(){return i}});var r=n(694),o=JSON.parse('{"UU":"@nocobase/plugin-field-formula"}');function i(){var e=(0,r.useFlowEngine)();return function(t){return e.context.t(t,{ns:[o.UU,"client"]})}}function l(e){return(0,r.tExpr)(e,{ns:[o.UU,"client"]})}},375:function(e){e.exports=a},230:function(e){e.exports=l},992:function(e){e.exports=n},485:function(e){e.exports=t},275:function(e){e.exports=r},694:function(e){e.exports=u},768:function(e){e.exports=c},59:function(e){e.exports=o},773:function(t){t.exports=e},155:function(e){e.exports=i}},v={};function b(e){var t=v[e];if(void 0!==t)return t.exports;var n=v[e]={exports:{}};return d[e](n,n.exports,b),n.exports}b.m=d,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 n in t)b.o(t,n)&&!b.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},b.f={},b.e=function(e){return Promise.all(Object.keys(b.f).reduce(function(t,n){return b.f[n](e,t),t},[]))},b.u=function(e){return""+e+".4435ceef7bdbf216.js"},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},m={},b.l=function(e,t,n,r){if(m[e])return void m[e].push(t);if(void 0!==n)for(var o,i,l=document.getElementsByTagName("script"),a=0;a<l.length;a++){var u=l[a];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="@nocobase/plugin-field-formula/client-v2:"+n){o=u;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,b.nc&&o.setAttribute("nonce",b.nc),o.setAttribute("data-rspack","@nocobase/plugin-field-formula/client-v2:"+n),o.src=e),m[e]=[t];var c=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=m[e];if(delete m[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(c.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=c.bind(null,o.onerror),o.onload=c.bind(null,o.onload),i&&document.head.appendChild(o)},b.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.g.importScripts&&(h=b.g.location+"");var m,h,y=b.g.document;if(!h&&y&&(y.currentScript&&"SCRIPT"===y.currentScript.tagName.toUpperCase()&&(h=y.currentScript.src),!h)){var g=y.getElementsByTagName("script");if(g.length)for(var x=g.length-1;x>-1&&(!h||!/^http(s?):/.test(h));)h=g[x--].src}if(!h)throw Error("Automatic publicPath is not supported in this browser");b.p=h.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s={889:0},b.f.j=function(e,t){var n=b.o(s,e)?s[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=s[e]=[t,r]});t.push(n[2]=r);var o=b.p+b.u(e),i=Error();b.l(o,function(t){if(b.o(s,e)&&(0!==(n=s[e])&&(s[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+e,e)}},f=function(e,t){var n,r,o=t[0],i=t[1],l=t[2],a=0;if(o.some(function(e){return 0!==s[e]})){for(n in i)b.o(i,n)&&(b.m[n]=i[n]);l&&l(b)}for(e&&e(t);a<o.length;a++)r=o[a],b.o(s,r)&&s[r]&&s[r][0](),s[r]=0},(p=self.webpackChunk_nocobase_plugin_field_formula_client_v2=self.webpackChunk_nocobase_plugin_field_formula_client_v2||[]).forEach(f.bind(null,0)),p.push=f.bind(null,p.push.bind(p));var S={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/@nocobase/plugin-field-formula/dist/client-v2/")}if(!e){if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var r=window.location.pathname||"/",o=r.indexOf("/v2/");e=o>=0?r.slice(0,o+1):"/"}e&&(e=e.replace(/\/v2\/?$/,"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-field-formula/dist/client-v2/"}b.p=e}(),!function(){b.r(S),b.d(S,{default:function(){return N}});var e=b(485),t=b(275),n=b(694),r=b(59),o=b(155),i=b.n(o),l=b(143);function a(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}var u=["checkbox","number","percent","integer","input","textarea","email","phone","date","datetime","datetimeNoTz","unixTimestamp","createdAt","updatedAt","radioGroup","checkboxGroup","select","multipleSelect"];function c(e){var t,r,l,c,s,f,p=(0,n.useFlowContext)(),d=p.dataSourceManager.collectionFieldInterfaceManager,v=(null==(t=p.fieldFormula)?void 0:t.expressionFields)||(null==(c=p.flowEngine)||null==(l=c.context)||null==(r=l.fieldFormula)?void 0:r.expressionFields)||u,b=(0,o.useMemo)(function(){return{formatPathToValue:function(e){var t;return(null==e||null==(t=e.paths)?void 0:t.length)?"{{".concat(e.paths.join("."),"}}"):void 0},parseValueToPath:function(e){var t=null==e?void 0:e.trim().match(/^\{\{\s*(.+?)\s*\}\}$/);return(null==t?void 0:t[1])?t[1].split("."):void 0}}},[]),m=(0,o.useMemo)(function(){var t;return new Set(((null==(t=e.collection)?void 0:t.fields)||[]).map(function(e){return null==e?void 0:e.foreignKey}).filter(function(e){return"string"==typeof e&&!!e}))},[null==(s=e.collection)?void 0:s.fields]),h=(0,o.useCallback)(function(){var t;return(t=function(){var t;return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(l,"next",{value:u(0)}),a(l,"throw",{value:u(1)}),a(l,"return",{value:u(2)}),"function"==typeof Symbol&&a(l,Symbol.iterator,{value:function(){return this}}),l;function u(a){return function(u){var c=[a,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){return[2,((null==(t=e.collection)?void 0:t.fields)||[]).filter(function(t){return!(!(null==t?void 0:t.name)||t.name===e.currentFieldName||m.has(t.name))&&(null==t?void 0:t.interface)&&v.includes(t.interface)}).map(function(e){var t,n,r,o,i,l,a,u,c=null==d||null==(a=d.getFieldInterface)?void 0:a.call(d,e.interface),s=null==c?void 0:c.usePathOptions,f="function"==typeof s?s(e):void 0,p=String(null!=(t=null!=(n=null!=(r=null==e||null==(u=e.uiSchema)?void 0:u.title)?r:null==e?void 0:e.title)?n:null==e?void 0:e.name)?t:""),v=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return Array.isArray(t)?t.map(function(t){var o,i,l,a,u=null!=(o=null!=(i=null==t?void 0:t.value)?i:null==t?void 0:t.name)?o:null==t?void 0:t.key;if(null==u)return null;var c=String(null!=(l=null!=(a=t.label)?a:t.title)?l:u),s=r.concat(String(u)),f={name:String(u),title:c,type:t.type||"field",interface:t.interface,options:t.options,uiSchema:t.uiSchema,paths:s,parentTitles:n};return Array.isArray(t.children)&&(f.children=e(t.children,n.concat(c),s)),f}).filter(Boolean):[]}(f,[p],[String(null!=(o=null==e?void 0:e.name)?o:"")]);return{name:String(null!=(i=null==e?void 0:e.name)?i:""),title:p,type:"field",interface:null==e?void 0:e.interface,uiSchema:null==e?void 0:e.uiSchema,paths:[String(null!=(l=null==e?void 0:e.name)?l:"")],parentTitles:[],children:v.length?v:void 0}})]})},function(){var e=this,n=arguments;return new Promise(function(r,o){var i=t.apply(e,n);function l(e){a(i,r,o,l,u,"next",e)}function u(e){a(i,r,o,l,u,"throw",e)}l(void 0)})})()},[v,m,d,null==(f=e.collection)?void 0:f.fields,e.currentFieldName]);return i().createElement(n.VariableHybridInput,{value:e.value||"",onChange:function(t){var n;return null==(n=e.onChange)?void 0:n.call(e,t)},metaTree:h,converters:b,placeholder:p.t("Input text, use {{ to insert variables")})}function s(e){var n=(0,l.k)(),r=e.engine?t.evaluators.get(e.engine):void 0;return(null==r?void 0:r.link)?i().createElement("span",null,n("Syntax references"),":\xa0",i().createElement("a",{href:n(r.link),target:"_blank",rel:"noreferrer"},r.label)):null}function f(e){var t,n=r.Form.useWatch("engine",e.form),l=r.Form.useWatch("name",e.form),a=(0,o.useMemo)(function(){return i().createElement(s,{engine:n||"formula.js"})},[n]);return i().createElement(r.Form.Item,{name:e.namePath,label:e.title,extra:a,rules:(null==(t=e.schema)?void 0:t.required)?[{required:!0}]:void 0},i().createElement(c,{collection:e.collection,currentFieldName:l}))}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(e){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t){return(m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e,t){if(e){if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(e,t)}}function y(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(y=function(){return!!e})()}var g=function(e){var t,n;return(null==e||null==(t=e.options)?void 0:t.dataType)||(null==e?void 0:e.dataType)||(null==e?void 0:e.type)||(null==e||null==(n=e.uiSchema)?void 0:n.type)||"double"},x=(0,e.resolveFilterOperators)("datetime").filter(function(e){return!["$dateNotBefore","$dateNotAfter"].includes(e.value)}),w=function(n){if("function"!=typeof n&&null!==n)throw TypeError("Super expression must either be null or a function");function r(){var n,o,i,a;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return o=r,i=arguments,o=v(o),d(n=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,y()?Reflect.construct(o,i||[],v(this).constructor):o.apply(this,i)),"name","formula"),d(n,"type","object"),d(n,"group","advanced"),d(n,"order",1),d(n,"title",(0,l.M)("Formula")),d(n,"description",(0,l.M)("Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.")),d(n,"sortable",!0),d(n,"default",{interface:"formula",type:"formula",uiSchema:{type:"string","x-component":"Input","x-read-pretty":!0,"x-component-props":{stringMode:!0,step:"1"}}}),d(n,"configure",{items:[{name:"dataType",title:'{{t("Storage type")}}',component:"Select",disabled:function(e){return!e.context.createOnly},options:[{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,defaultValue:"double"},{name:"uiSchema.x-component-props.step",title:'{{t("Precision")}}',component:"Select",required:!0,defaultValue:"0",options:[{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"}],hidden:function(e){return!["double","decimal"].includes(String((0,e.getValue)("dataType")))}}].concat(function(e){if(Array.isArray(e))return p(e)}(a=(0,e.dateTimeFormatConfigureItems)({includePicker:!1,showTimeDefault:!0,hidden:function(e){return"date"!==(0,e.getValue)("dataType")}}))||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||h(a)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[{name:"engine",title:(0,l.M)("Calculation engine"),component:"Radio.Group",options:Array.from(t.evaluators.getEntities()).reduce(function(e,t){var n=function(e){if(Array.isArray(e))return e}(t)||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(t=r.next()).done)&&(o.push(t.value),2!==o.length);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw n}}return o}}(t)||h(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.")}(),r=n[0],o=n[1];return e.concat({value:String(r),label:o.label})},[]),required:!0,defaultValue:"formula.js"},{name:"expression",title:(0,l.M)("Expression"),required:!0,Component:f,componentProps:{useCurrentFields:"{{ useCurrentFields }}"},description:(0,l.M)("Syntax references")}])}),d(n,"filterable",(0,e.createTypedFilterable)([{types:["boolean"],operators:"boolean"},{types:["string"],operators:"string"},{types:["date"],operators:"formulaDate"},{types:["integer","double","bigInt","number"],operators:"number"}],g)),d(n,"titleUsable",!0),n}return r.prototype=Object.create(n&&n.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),n&&m(r,n),r}(e.CollectionFieldInterface),F=b(230);function O(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function _(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){O(i,r,o,l,a,"next",e)}function a(e){O(i,r,o,l,a,"throw",e)}l(void 0)})}}function j(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(l,"next",{value:u(0)}),a(l,"throw",{value:u(1)}),a(l,"return",{value:u(2)}),"function"==typeof Symbol&&a(l,Symbol.iterator,{value:function(){return this}}),l;function u(a){return function(u){var c=[a,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var E=function(e,t,n){var r,o,i,l,a,u=String(null!=(r=null!=(o=null==e||null==(a=e.uiSchema)?void 0:a.title)?o:null==e?void 0:e.name)?r:"");return{name:String(null!=(i=null==e?void 0:e.name)?i:""),title:u,type:"field",interface:null==e?void 0:e.interface,uiSchema:null==e?void 0:e.uiSchema,paths:[String(null!=(l=null==e?void 0:e.name)?l:"")],parentTitles:t,children:n}},k=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return Array.isArray(e)?e.map(function(e){if(!e)return null;var r,o,i,l,a=null!=(r=null!=(o=e.value)?o:e.name)?r:e.key;if(null==a)return null;var u=String(null!=(i=null!=(l=e.label)?l:e.title)?i:a),c=n.concat(String(a)),s={name:String(a),title:u,type:e.type||"field",interface:e.interface,options:e.options,uiSchema:e.uiSchema,paths:c,parentTitles:t};return Array.isArray(e.children)?s.children=k(e.children,t.concat(u),c):"function"==typeof e.children&&(s.children=function(){return _(function(){return j(this,function(n){switch(n.label){case 0:return[4,e.children()];case 1:return[2,k(n.sent(),t.concat(u),c)]}})})()}),s}).filter(Boolean):[]},T=function(e){var t,r,l,a,u=e.value,c=e.onChange,s=e.useCurrentFields,f=(0,F.useField)(),p=(0,n.useFlowEngine)(),d=(0,n.useFlowContext)().t,v=null==(r=p.context)?void 0:r.fieldFormula,b=(null==v?void 0:v.expressionFields)||[],m=(0,o.useMemo)(function(){try{var e,t=null!=(e=null==s?void 0:s())?e:[];return Array.isArray(t)?t:[]}catch(e){return[]}},[s]),h=(0,o.useMemo)(function(){return function(){return _(function(){var e,t,n,r,o,i,l,a,u,c,s,f,d,v,h,y,g,x,S;return j(this,function(w){n=null==(t=p.context)||null==(e=t.dataSourceManager)?void 0:e.collectionFieldInterfaceManager,r=[],o=!0,i=!1,l=void 0;try{for(a=m[Symbol.iterator]();!(o=(u=a.next()).done);o=!0)(null==(c=u.value)?void 0:c.interface)&&b.includes(c.interface)&&(g=null==(y=null==n||null==(v=n.getFieldInterface)?void 0:v.call(n,c.interface))?void 0:y.usePathOptions,x="function"==typeof g?g(c):void 0,S=k(x,[String(null!=(s=null!=(f=null==c||null==(h=c.uiSchema)?void 0:h.title)?f:null==c?void 0:c.name)?s:"")],[String(null!=(d=null==c?void 0:c.name)?d:"")]),r.push(E(c,[],S.length?S:void 0)))}catch(e){i=!0,l=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw l}}return[2,r]})})()}},[m,b,null==(a=p.context)||null==(l=a.dataSourceManager)?void 0:l.collectionFieldInterfaceManager]),y=String(null!=(t=null==e?void 0:e.placeholder)?t:d("Input text, use {{ to insert variables"));return i().createElement(n.SlateVariableEditor,{value:void 0===u?"":u,onChange:function(e){null==c||c(e),f&&"function"==typeof f.setValue&&f.setValue(e)},metaTree:h,placeholder:y,multiline:!0})};function P(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function A(e,t,n){return(A=C()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&q(o,n.prototype),o}).apply(null,arguments)}function I(e){return(I=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function q(e,t){return(q=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function M(e){var t="function"==typeof Map?new Map:void 0;return(M=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,n)}function n(){return A(e,arguments,I(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),q(n,e)})(e)}function C(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(C=function(){return!!e})()}var N=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t,r,o,i;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return t=n,r=arguments,t=I(t),e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,C()?Reflect.construct(t,r||[],I(this).constructor):t.apply(this,r)),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 n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&q(n,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;return(e=function(){var e;return function(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(l,"next",{value:u(0)}),a(l,"throw",{value:u(1)}),a(l,"return",{value:u(2)}),"function"==typeof Symbol&&a(l,Symbol.iterator,{value:function(){return this}}),l;function u(a){return function(u){var c=[a,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(t){return e=this,this.app.addComponents({FormulaExpression:T}),this.app.registerFieldFilterOperatorGroup("formulaDate",x),this.app.addFieldInterfaces([w]),this.flowEngine.context.defineProperty("fieldFormula",{get:function(){return{expressionFields:e.expressionFields,registerExpressionFieldInterface:e.registerExpressionFieldInterface.bind(e)}}}),this.flowEngine.registerModelLoaders({FormulaFieldModel:{loader:function(){return b.e("408").then(b.bind(b,379))}}}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){P(i,r,o,l,a,"next",e)}function a(e){P(i,r,o,l,a,"throw",e)}l(void 0)})}).call(this)}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(n.prototype,t),n}(M(e.Plugin))}(),S}()});
|
|
@@ -6,8 +6,18 @@
|
|
|
6
6
|
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
|
-
import type
|
|
10
|
-
|
|
9
|
+
import { CollectionFieldInterface, type FieldInterfaceConfigure } from '@nocobase/client-v2';
|
|
10
|
+
type FormulaFilterMeta = {
|
|
11
|
+
options?: {
|
|
12
|
+
dataType?: string;
|
|
13
|
+
};
|
|
14
|
+
dataType?: string;
|
|
15
|
+
type?: string;
|
|
16
|
+
uiSchema?: {
|
|
17
|
+
type?: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export declare const formulaDateOperators: import("@nocobase/client-v2").FieldFilterOperator<unknown>[];
|
|
11
21
|
export declare class FormulaFieldInterface extends CollectionFieldInterface {
|
|
12
22
|
name: string;
|
|
13
23
|
type: string;
|
|
@@ -29,131 +39,8 @@ export declare class FormulaFieldInterface extends CollectionFieldInterface {
|
|
|
29
39
|
};
|
|
30
40
|
};
|
|
31
41
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
type: string;
|
|
35
|
-
title: string;
|
|
36
|
-
'x-decorator': string;
|
|
37
|
-
'x-component': string;
|
|
38
|
-
enum: unknown;
|
|
39
|
-
required: boolean;
|
|
40
|
-
default: string;
|
|
41
|
-
};
|
|
42
|
-
expression: {
|
|
43
|
-
type: string;
|
|
44
|
-
title: string;
|
|
45
|
-
required: boolean;
|
|
46
|
-
'x-component': string;
|
|
47
|
-
'x-decorator': string;
|
|
48
|
-
'x-component-props': {
|
|
49
|
-
useCurrentFields: string;
|
|
50
|
-
};
|
|
51
|
-
'x-reactions': {
|
|
52
|
-
dependencies: string[];
|
|
53
|
-
fulfill: {
|
|
54
|
-
schema: {
|
|
55
|
-
description: string;
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
};
|
|
60
|
-
'uiSchema.x-component-props.dateFormat': {
|
|
61
|
-
type: string;
|
|
62
|
-
title: string;
|
|
63
|
-
'x-decorator': string;
|
|
64
|
-
'x-component': string;
|
|
65
|
-
enum: {
|
|
66
|
-
label: string;
|
|
67
|
-
value: string;
|
|
68
|
-
}[];
|
|
69
|
-
default: string;
|
|
70
|
-
'x-reactions': {
|
|
71
|
-
dependencies: string[];
|
|
72
|
-
fulfill: {
|
|
73
|
-
state: {
|
|
74
|
-
display: string;
|
|
75
|
-
};
|
|
76
|
-
};
|
|
77
|
-
}[];
|
|
78
|
-
};
|
|
79
|
-
'uiSchema.x-component-props.showTime': {
|
|
80
|
-
type: string;
|
|
81
|
-
'x-decorator': string;
|
|
82
|
-
'x-component': string;
|
|
83
|
-
'x-content': string;
|
|
84
|
-
default: boolean;
|
|
85
|
-
'x-reactions': {
|
|
86
|
-
dependencies: string[];
|
|
87
|
-
fulfill: {
|
|
88
|
-
state: {
|
|
89
|
-
display: string;
|
|
90
|
-
};
|
|
91
|
-
};
|
|
92
|
-
}[];
|
|
93
|
-
};
|
|
94
|
-
'uiSchema.x-component-props.timeFormat': {
|
|
95
|
-
type: string;
|
|
96
|
-
title: string;
|
|
97
|
-
'x-component': string;
|
|
98
|
-
'x-decorator': string;
|
|
99
|
-
default: string;
|
|
100
|
-
enum: {
|
|
101
|
-
label: string;
|
|
102
|
-
value: string;
|
|
103
|
-
}[];
|
|
104
|
-
'x-reactions': ({
|
|
105
|
-
dependencies: string[];
|
|
106
|
-
fulfill: {
|
|
107
|
-
state: {
|
|
108
|
-
display: string;
|
|
109
|
-
};
|
|
110
|
-
};
|
|
111
|
-
} | {
|
|
112
|
-
dependencies: string[];
|
|
113
|
-
fulfill: {
|
|
114
|
-
state: {
|
|
115
|
-
hidden: string;
|
|
116
|
-
};
|
|
117
|
-
};
|
|
118
|
-
})[];
|
|
119
|
-
};
|
|
120
|
-
dataType: {
|
|
121
|
-
type: string;
|
|
122
|
-
title: string;
|
|
123
|
-
'x-decorator': string;
|
|
124
|
-
'x-component': string;
|
|
125
|
-
'x-disabled': string;
|
|
126
|
-
enum: {
|
|
127
|
-
value: string;
|
|
128
|
-
label: string;
|
|
129
|
-
}[];
|
|
130
|
-
required: boolean;
|
|
131
|
-
default: string;
|
|
132
|
-
};
|
|
133
|
-
'uiSchema.x-component-props.step': {
|
|
134
|
-
type: string;
|
|
135
|
-
title: string;
|
|
136
|
-
'x-component': string;
|
|
137
|
-
'x-decorator': string;
|
|
138
|
-
required: boolean;
|
|
139
|
-
default: string;
|
|
140
|
-
enum: {
|
|
141
|
-
value: string;
|
|
142
|
-
label: string;
|
|
143
|
-
}[];
|
|
144
|
-
'x-reactions': {
|
|
145
|
-
dependencies: string[];
|
|
146
|
-
fulfill: {
|
|
147
|
-
state: {
|
|
148
|
-
display: string;
|
|
149
|
-
};
|
|
150
|
-
};
|
|
151
|
-
}[];
|
|
152
|
-
};
|
|
153
|
-
};
|
|
154
|
-
filterable: {
|
|
155
|
-
operators: any[];
|
|
156
|
-
};
|
|
42
|
+
configure: FieldInterfaceConfigure;
|
|
43
|
+
filterable: import("@nocobase/client-v2").FieldFilterable<FormulaFilterMeta>;
|
|
157
44
|
titleUsable: boolean;
|
|
158
|
-
schemaInitialize(schema: ISchema, { block }: any): void;
|
|
159
45
|
}
|
|
46
|
+
export {};
|
package/dist/externalVersion.js
CHANGED
|
@@ -9,19 +9,19 @@
|
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
11
|
"@formily/react": "2.3.7",
|
|
12
|
-
"@nocobase/client": "2.1.0-beta.
|
|
13
|
-
"@nocobase/evaluators": "2.1.0-beta.
|
|
14
|
-
"@nocobase/utils": "2.1.0-beta.
|
|
12
|
+
"@nocobase/client": "2.1.0-beta.40",
|
|
13
|
+
"@nocobase/evaluators": "2.1.0-beta.40",
|
|
14
|
+
"@nocobase/utils": "2.1.0-beta.40",
|
|
15
15
|
"react": "18.2.0",
|
|
16
|
-
"@nocobase/flow-engine": "2.1.0-beta.
|
|
17
|
-
"@nocobase/client-v2": "2.1.0-beta.
|
|
18
|
-
"@nocobase/database": "2.1.0-beta.
|
|
19
|
-
"@nocobase/server": "2.1.0-beta.
|
|
20
|
-
"@nocobase/test": "2.1.0-beta.
|
|
16
|
+
"@nocobase/flow-engine": "2.1.0-beta.40",
|
|
17
|
+
"@nocobase/client-v2": "2.1.0-beta.40",
|
|
18
|
+
"@nocobase/database": "2.1.0-beta.40",
|
|
19
|
+
"@nocobase/server": "2.1.0-beta.40",
|
|
20
|
+
"@nocobase/test": "2.1.0-beta.40",
|
|
21
21
|
"react-i18next": "11.18.6",
|
|
22
|
+
"antd": "5.24.2",
|
|
22
23
|
"@formily/reactive": "2.3.7",
|
|
23
24
|
"@ant-design/icons": "5.6.1",
|
|
24
|
-
"antd": "5.24.2",
|
|
25
25
|
"lodash": "4.18.1",
|
|
26
26
|
"@formily/core": "2.3.7"
|
|
27
27
|
};
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
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.",
|
|
7
7
|
"description.zh-CN": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎",
|
|
8
8
|
"description.ru-RU": "Настройка и сохранение результатов вычислений между значениями нескольких полей в одной записи с поддержкой движков Math.js и Excel formula functions.",
|
|
9
|
-
"version": "2.1.0-beta.
|
|
9
|
+
"version": "2.1.0-beta.40",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"main": "./dist/server/index.js",
|
|
12
12
|
"homepage": "https://docs.nocobase.com/handbook/field-formula",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"@nocobase/test": "2.x",
|
|
30
30
|
"@nocobase/utils": "2.x"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "36e906138f6305723abbef676a61006058feb5ea",
|
|
33
33
|
"keywords": [
|
|
34
34
|
"Collection fields"
|
|
35
35
|
]
|