diff --git a/src/core.js b/src/core.js index 8e28ba6..6230683 100644 --- a/src/core.js +++ b/src/core.js @@ -126,6 +126,7 @@ luckysheet.create = function (setting) { luckysheetConfigsetting.workbookCreateBefore = extendsetting.workbookCreateBefore; luckysheetConfigsetting.workbookCreateAfter = extendsetting.workbookCreateAfter; luckysheetConfigsetting.remoteFunction = extendsetting.remoteFunction; + luckysheetConfigsetting.customFunctions = extendsetting.customFunctions; luckysheetConfigsetting.fireMousedown = extendsetting.fireMousedown; luckysheetConfigsetting.forceCalculation = extendsetting.forceCalculation; @@ -156,7 +157,7 @@ luckysheet.create = function (setting) { initPlugins(extendsetting.plugins , extendsetting.data); // Store formula information, including internationalization - functionlist(); + functionlist(extendsetting.customFunctions); let devicePixelRatio = extendsetting.devicePixelRatio; if(devicePixelRatio == null){ diff --git a/src/function/functionlist.js b/src/function/functionlist.js index 15e1a17..59fa32c 100644 --- a/src/function/functionlist.js +++ b/src/function/functionlist.js @@ -3,10 +3,10 @@ import Store from '../store/index' import locale from '../locale/locale'; //{"0":"数学","1":"统计","2":"查找","3":"Luckysheet内置","4":"数据挖掘","5":"数据源","6":"日期","7":"过滤器","8":"财务","9":"工程计算","10":"逻辑","11":"运算符","12":"文本","13":"转换工具","14":"数组"} -const functionlist = function(){ +const functionlist = function(customFunctions){ let _locale = locale(); // internationalization,get function list - let functionListOrigin = _locale.functionlist; + let functionListOrigin = [..._locale.functionlist]; // add new property f for (let i = 0; i < functionListOrigin.length; i++) { @@ -14,6 +14,10 @@ const functionlist = function(){ func.f = functionImplementation[func.n]; } + if (customFunctions) { + functionListOrigin.push(...customFunctions); + } + Store.functionlist = functionListOrigin; // get n property @@ -29,4 +33,4 @@ const functionlist = function(){ Store.luckysheet_function = luckysheet_function; } -export default functionlist; \ No newline at end of file +export default functionlist;