web-apps/apps/spreadsheeteditor/mobile/src/store/functions.js
2022-02-08 11:18:35 +03:00

39 lines
1.1 KiB
JavaScript

import {action, observable, makeObservable} from 'mobx';
export class storeFunctions {
constructor() {
makeObservable(this, {
initFunctions: action,
functions: observable
});
}
functions = {};
initFunctions (groups, data, separator) {
this.functions = this.getFunctions(groups, data, separator);
}
getFunctions (groups, data, separator) {
const functions = {};
for (let g in groups) {
const group = groups[g];
const groupname = group.asc_getGroupName();
const funcarr = group.asc_getFormulasArray();
for (let f in funcarr) {
const func = funcarr[f];
const _name = func.asc_getName();
functions[_name] = {
type: _name,
group: groupname,
caption: func.asc_getLocaleName(),
args: ((data && data[_name]) ? data[_name].a : '').replace(/[,;]/g, separator),
descr: (data && data[_name]) ? data[_name].d : ''
};
}
}
return functions;
}
}