import { Store } from 'unistore'; import { IStoreState, ID } from '../index.data'; import { FormulaManagerConfig } from './index.data'; abstract class FormulaManager { /** * @param store * @param getExternalValue:在parse时调用, 使用 id22!11 这样的格式 */ constructor(public store: Store, public config: FormulaManagerConfig) {} // {{11}}+1 => A1+1 // 假设B2表.id===22, 则: // {{id22!11}} + 1 => B2!A1+1 abstract transformToUser(internalFormula: string): string; // A1+1 => {{id11}}+1 // 假设B2表.id===22, 则: // B2!A1+1 => {{id22!11}} + 1 abstract transformToInternal(userFormula: string): string; // 11 => A1 // id22!11 => B2!A1 // 用于用户pick, 此时仅返回id, 不返回{{}}号 abstract transformCellToUser(internalCellId: ID): any; } export default FormulaManager;