@ai-table/state 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. package/ai-table-state.d.ts.map +1 -0
  2. package/esm2022/ai-table-state.mjs +5 -0
  3. package/esm2022/index.mjs +2 -0
  4. package/esm2022/public-api.mjs +6 -0
  5. package/esm2022/shared/index.mjs +5 -0
  6. package/esm2022/shared/to-table/array-event.mjs +136 -0
  7. package/esm2022/shared/to-table/index.mjs +29 -0
  8. package/esm2022/shared/to-table/map-event.mjs +50 -0
  9. package/esm2022/shared/to-yjs/add-node.mjs +30 -0
  10. package/esm2022/shared/to-yjs/index.mjs +30 -0
  11. package/esm2022/shared/to-yjs/remove-node.mjs +40 -0
  12. package/esm2022/shared/to-yjs/set-node.mjs +33 -0
  13. package/esm2022/shared/to-yjs/update-field-value.mjs +17 -0
  14. package/esm2022/shared/utils/index.mjs +4 -0
  15. package/esm2022/shared/utils/init-shared.mjs +48 -0
  16. package/esm2022/shared/utils/init-table.mjs +13 -0
  17. package/esm2022/shared/utils/translate.mjs +62 -0
  18. package/esm2022/shared/yjs-table.mjs +39 -0
  19. package/esm2022/types/index.mjs +3 -0
  20. package/esm2022/types/shared.mjs +2 -0
  21. package/esm2022/types/view.mjs +39 -0
  22. package/esm2022/view/action/general.mjs +53 -0
  23. package/esm2022/view/action/index.mjs +3 -0
  24. package/esm2022/view/action/view.mjs +47 -0
  25. package/esm2022/view/constants/view.mjs +3 -0
  26. package/esm2022/view/plugins/view.plugin.mjs +25 -0
  27. package/fesm2022/ai-table-state.mjs +668 -0
  28. package/fesm2022/ai-table-state.mjs.map +1 -0
  29. package/index.d.ts +2 -0
  30. package/index.d.ts.map +1 -0
  31. package/package.json +24 -0
  32. package/public-api.d.ts +6 -0
  33. package/public-api.d.ts.map +1 -0
  34. package/shared/index.d.ts +5 -0
  35. package/shared/index.d.ts.map +1 -0
  36. package/shared/to-table/array-event.d.ts +7 -0
  37. package/shared/to-table/array-event.d.ts.map +1 -0
  38. package/shared/to-table/index.d.ts +6 -0
  39. package/shared/to-table/index.d.ts.map +1 -0
  40. package/shared/to-table/map-event.d.ts +4 -0
  41. package/shared/to-table/map-event.d.ts.map +1 -0
  42. package/shared/to-yjs/add-node.d.ts +4 -0
  43. package/shared/to-yjs/add-node.d.ts.map +1 -0
  44. package/shared/to-yjs/index.d.ts +11 -0
  45. package/shared/to-yjs/index.d.ts.map +1 -0
  46. package/shared/to-yjs/remove-node.d.ts +4 -0
  47. package/shared/to-yjs/remove-node.d.ts.map +1 -0
  48. package/shared/to-yjs/set-node.d.ts +4 -0
  49. package/shared/to-yjs/set-node.d.ts.map +1 -0
  50. package/shared/to-yjs/update-field-value.d.ts +4 -0
  51. package/shared/to-yjs/update-field-value.d.ts.map +1 -0
  52. package/shared/utils/index.d.ts +4 -0
  53. package/shared/utils/index.d.ts.map +1 -0
  54. package/shared/utils/init-shared.d.ts +16 -0
  55. package/shared/utils/init-shared.d.ts.map +1 -0
  56. package/shared/utils/init-table.d.ts +7 -0
  57. package/shared/utils/init-table.d.ts.map +1 -0
  58. package/shared/utils/translate.d.ts +15 -0
  59. package/shared/utils/translate.d.ts.map +1 -0
  60. package/shared/yjs-table.d.ts +14 -0
  61. package/shared/yjs-table.d.ts.map +1 -0
  62. package/types/index.d.ts +3 -0
  63. package/types/index.d.ts.map +1 -0
  64. package/types/shared.d.ts +5 -0
  65. package/types/shared.d.ts.map +1 -0
  66. package/types/view.d.ts +87 -0
  67. package/types/view.d.ts.map +1 -0
  68. package/view/action/general.d.ts +6 -0
  69. package/view/action/general.d.ts.map +1 -0
  70. package/view/action/index.d.ts +3 -0
  71. package/view/action/index.d.ts.map +1 -0
  72. package/view/action/view.d.ts +10 -0
  73. package/view/action/view.d.ts.map +1 -0
  74. package/view/constants/view.d.ts +3 -0
  75. package/view/constants/view.d.ts.map +1 -0
  76. package/view/plugins/view.plugin.d.ts +3 -0
  77. package/view/plugins/view.plugin.d.ts.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-table-state.mjs","sources":["../../../packages/state/src/types/view.ts","../../../packages/state/src/shared/utils/init-shared.ts","../../../packages/state/src/shared/utils/translate.ts","../../../packages/state/src/shared/utils/init-table.ts","../../../packages/state/src/shared/to-table/array-event.ts","../../../packages/state/src/shared/to-table/map-event.ts","../../../packages/state/src/shared/yjs-table.ts","../../../packages/state/src/shared/to-table/index.ts","../../../packages/state/src/shared/to-yjs/update-field-value.ts","../../../packages/state/src/shared/to-yjs/set-node.ts","../../../packages/state/src/shared/to-yjs/add-node.ts","../../../packages/state/src/shared/to-yjs/remove-node.ts","../../../packages/state/src/shared/to-yjs/index.ts","../../../packages/state/src/view/action/general.ts","../../../packages/state/src/view/action/view.ts","../../../packages/state/src/view/constants/view.ts","../../../packages/state/src/view/plugins/view.plugin.ts","../../../packages/state/src/ai-table-state.ts"],"sourcesContent":["import { AITable, AITableAction, AITableField, AITableRecord } from '@ai-table/grid';\nimport { WritableSignal } from '@angular/core';\nimport { Id } from 'ngx-tethys/types';\n\nexport class Positions {\n [view_id: string]: number;\n}\n\nexport interface AITableViewRecord extends AITableRecord {\n positions: Positions;\n}\n\nexport interface AITableViewField extends AITableField {\n positions: Positions;\n}\n\nexport type AITableViewRecords = AITableViewRecord[];\n\nexport type AITableViewFields = AITableViewField[];\n\nexport enum Direction {\n default = 0,\n ascending = 1,\n descending = -1\n}\n\nexport enum LogicalOperator {\n and = 'and',\n or = 'or'\n}\n\nexport enum FilterOperationSymbol {\n eq = 'eq',\n gte = 'gte',\n lte = 'lte',\n gt = 'gt',\n lt = 'lt',\n in = 'in',\n contain = 'contain',\n ne = 'ne',\n nin = 'nin',\n between = 'between',\n besides = 'besides',\n empty = 'empty',\n exists = 'exists',\n notContain = 'not_contain'\n}\n\nexport interface AITableView {\n _id: string;\n name: string;\n emoji_icon?: string;\n settings?: GridSettings;\n}\n\nexport class GridSettings {\n is_keep_sort?: boolean;\n sorts?: {\n sort_by: Id;\n direction: Direction;\n // xxx\n }[];\n condition_logical?: LogicalOperator;\n conditions?: {\n field_id: Id;\n operation: FilterOperationSymbol;\n value: string | []; // TODO 明确类型\n }[];\n}\n\nexport type AITableViews = AITableView[];\n\nexport type AIViewPath = [string];\n\nexport interface AIViewTable extends AITable {\n views: WritableSignal<AITableView[]>;\n apply: (action: AITableSharedAction) => void;\n}\n\nexport enum ViewActionName {\n SetView = 'set_view',\n AddView = 'add_view',\n RemoveView = 'remove_view'\n}\n\nexport interface SetViewAction {\n type: ViewActionName.SetView;\n properties: Partial<AITableView>;\n newProperties: Partial<AITableView>;\n path: AIViewPath;\n}\n\nexport interface AddViewAction {\n type: ViewActionName.AddView;\n view: AITableView;\n path: [number];\n}\n\nexport interface RemoveViewAction {\n type: ViewActionName.RemoveView;\n path: AIViewPath;\n}\n\nexport type AITableViewAction = SetViewAction | AddViewAction | RemoveViewAction;\n\nexport type AITableSharedAction = AITableViewAction | AITableAction;\n","import * as Y from 'yjs';\nimport { AITableViewFields, AITableViewRecord, AITableViewRecords, AITableViews, Positions, SyncMapElement } from '../../types';\n\nexport const createSharedType = () => {\n const doc = new Y.Doc();\n const sharedType = doc.getMap<any>('ai-table');\n return sharedType;\n};\n\nexport const initSharedType = (\n doc: Y.Doc,\n initializeValue: {\n fields: AITableViewFields;\n records: AITableViewRecords;\n views: AITableViews;\n }\n) => {\n const sharedType = doc.getMap<any>('ai-table');\n toSharedType(sharedType, initializeValue);\n return sharedType;\n};\n\nexport function toSharedType(\n sharedType: Y.Map<any>,\n data: {\n fields: AITableViewFields;\n records: AITableViewRecords;\n views: AITableViews;\n }\n): void {\n sharedType.doc!.transact(() => {\n const fieldSharedType = new Y.Array();\n fieldSharedType.insert(0, data.fields.map(toSyncElement));\n sharedType.set('fields', fieldSharedType);\n\n const recordSharedType = new Y.Array<Y.Array<any>>();\n sharedType.set('records', recordSharedType);\n recordSharedType.insert(0, data.records.map(toRecordSyncElement));\n\n const viewsSharedType = new Y.Array();\n sharedType.set('views', viewsSharedType);\n viewsSharedType.insert(0, data.views.map(toSyncElement));\n });\n}\n\nexport function toSyncElement(node: any): SyncMapElement {\n const element: SyncMapElement = new Y.Map();\n for (const key in node) {\n element.set(key, node[key]);\n }\n return element;\n}\n\nexport function toRecordSyncElement(record: AITableViewRecord): Y.Array<Y.Array<any>> {\n const nonEditableArray = new Y.Array();\n // 临时方案:为了解决删除时协同操作无法精准获取删除的 id 的问题,将原来的[idValue] 改为[{'_id': idValue}]\n // 后续可能改为 YMap 或者通过在 views 中存储 positions 解决\n nonEditableArray.insert(0, [{ _id: record['_id'] }]);\n\n const editableArray = new Y.Array();\n const editableFields = [];\n for (const fieldId in record['values']) {\n editableFields.push(record['values'][fieldId]);\n }\n editableArray.insert(0, [...editableFields, record['positions']]);\n\n // To save memory, convert map to array.\n const element = new Y.Array<Y.Array<any>>();\n element.insert(0, [nonEditableArray, editableArray]);\n return element;\n}\n","import { AITableViewFields, AITableViewRecords, SyncArrayElement, SyncMapElement } from '../../types';\nimport * as Y from 'yjs';\n\nexport const translateToRecordValues = (arrayRecord: any[], fields: AITableViewFields) => {\n const fieldIds = fields.map((item) => item._id);\n const recordValue: Record<string, any> = {};\n fieldIds.forEach((item, index) => {\n recordValue[item] = arrayRecord[index] || '';\n });\n return recordValue;\n};\n\nexport const translateToRecords = (arrayRecords: any[], fields: AITableViewFields) => {\n return arrayRecords.map((record: any) => {\n const [nonEditableArray, editableArray] = record;\n return {\n _id: nonEditableArray[0]['_id'],\n positions: editableArray[editableArray.length - 1],\n values: translateToRecordValues(editableArray.slice(0, editableArray.length - 1), fields)\n };\n });\n};\n\nexport function translatePositionToPath(data: AITableViewRecords | AITableViewFields, position: number, activeViewId: string) {\n let index = data.findIndex((value, index) => {\n if (index === 0) {\n return position < value.positions[activeViewId];\n }\n return position > data[index - 1].positions[activeViewId] && position < value.positions[activeViewId];\n });\n if (index === -1) {\n index = data.length;\n }\n\n return [index];\n}\n\nexport function getShareTypeNumberPath(path: (string | number)[]): number[] {\n return path.filter((node) => typeof node === 'number') as number[];\n}\n\nexport function getSharedRecordId(records: Y.Array<SyncArrayElement>, recordIndex: number) {\n return records && (records as Y.Array<SyncArrayElement>).get(recordIndex).get(0).get(0)['_id'];\n}\n\nexport function getSharedMapValueId(values: Y.Array<SyncMapElement>, index: number) {\n return values && values.get(index).get('_id');\n}\n\nexport function getSharedRecordIndex(sharedRecords: Y.Array<SyncArrayElement>, recordId: string) {\n let recordIndex = -1;\n for (let index = 0; index < sharedRecords.length; index++) {\n const sharedRecordId = getSharedRecordId(sharedRecords, index);\n if (sharedRecordId === recordId) {\n recordIndex = index;\n break;\n }\n }\n return recordIndex;\n}\n\nexport function getSharedMapValueIndex(sharedNodes: Y.Array<SyncMapElement>, id: string) {\n let nodeIndex = -1;\n for (let index = 0; index < sharedNodes.length; index++) {\n const sharedId = getSharedMapValueId(sharedNodes, index);\n if (sharedId === id) {\n nodeIndex = index;\n break;\n }\n }\n return nodeIndex;\n}\n","import { AITableViewFields, AITableViewRecords, SharedType } from '../../types';\nimport { translateToRecords } from './translate';\n\nexport const initTable = (sharedType: SharedType) => {\n const data = sharedType.toJSON();\n const fields: AITableViewFields = data['fields'];\n const records: AITableViewRecords = translateToRecords(data['records'], fields);\n const views = data['views'];\n return {\n records,\n fields,\n views\n };\n};\n","import { ActionName, AIFieldIdPath, AIFieldPath, AIFieldValueIdPath, AIRecordPath, AITableField, AITableQueries } from '@ai-table/grid';\nimport * as Y from 'yjs';\nimport { isArray } from 'ngx-tethys/util';\nimport {\n AITableSharedAction,\n AITableView,\n AITableViewFields,\n AITableViewRecords,\n AIViewTable,\n SharedType,\n SyncArrayElement,\n SyncMapElement,\n ViewActionName\n} from '../../types';\nimport { translatePositionToPath, getShareTypeNumberPath } from '../utils';\nimport { getSharedMapValueId, getSharedRecordId, translateToRecordValues } from '../utils/translate';\n\nexport default function translateArrayEvent(aiTable: AIViewTable, activeViewId: string, sharedType: SharedType, event: Y.YEvent<any>): AITableSharedAction[] {\n let offset = 0;\n let targetPath = getShareTypeNumberPath(event.path);\n const isRecordsTranslate = event.path.includes('records');\n const isFieldsTranslate = event.path.includes('fields');\n const isViewsTranslate = event.path.includes('views');\n const actions: AITableSharedAction[] = [];\n\n event.changes.delta.forEach((delta) => {\n if ('retain' in delta) {\n offset += delta.retain ?? 0;\n }\n\n if ('delete' in delta) {\n if (isAddOrRemove(targetPath)) {\n if (isViewsTranslate) {\n const removeView = aiTable.views()[offset];\n if (removeView) {\n actions.push({\n type: ViewActionName.RemoveView,\n path: [removeView._id]\n });\n }\n } else {\n const type = isRecordsTranslate ? ActionName.RemoveRecord : ActionName.RemoveField;\n const removeIds = getRemoveIds(event, type);\n if (removeIds.length) {\n removeIds.forEach((path) => {\n actions.push({\n type,\n path\n });\n });\n }\n }\n }\n }\n\n if ('insert' in delta) {\n if (isArray(delta.insert)) {\n if (isRecordsTranslate) {\n if (isAddOrRemove(targetPath)) {\n delta.insert?.map((item: Y.Array<any>) => {\n const data = item.toJSON();\n const [fixedField, customField] = data;\n const position = customField[customField.length - 1][activeViewId];\n const path = translatePositionToPath(\n aiTable.records() as AITableViewRecords,\n position,\n activeViewId\n ) as AIRecordPath;\n\n actions.push({\n type: ActionName.AddRecord,\n path: path,\n record: {\n _id: fixedField[0]['_id'],\n values: translateToRecordValues(customField, aiTable.fields() as AITableViewFields)\n }\n });\n });\n } else {\n try {\n delta.insert?.map((item: any) => {\n const recordIndex = targetPath[0] as number;\n const fieldIndex = offset;\n const recordId = getSharedRecordId(sharedType.get('records')! as Y.Array<SyncArrayElement>, recordIndex);\n const fieldId = getSharedMapValueId(sharedType.get('fields')! as Y.Array<SyncMapElement>, fieldIndex);\n const path = [recordId, fieldId] as AIFieldValueIdPath;\n const fieldValue = AITableQueries.getFieldValue(aiTable, path);\n\n // To exclude insert triggered by field inserts.\n if (fieldValue !== item) {\n actions.push({\n type: ActionName.UpdateFieldValue,\n path,\n fieldValue,\n newFieldValue: item\n });\n }\n });\n } catch (error) {}\n }\n }\n if (isFieldsTranslate) {\n delta.insert?.map((item: Y.Map<any>) => {\n const data = item.toJSON();\n const path = translatePositionToPath(\n aiTable.fields() as AITableViewFields,\n data['positions'][activeViewId],\n activeViewId\n ) as AIFieldPath;\n actions.push({\n type: ActionName.AddField,\n path,\n field: data as AITableField\n });\n });\n }\n if (isViewsTranslate) {\n delta.insert?.map((item: Y.Map<any>, index) => {\n const data = item.toJSON();\n actions.push({\n type: ViewActionName.AddView,\n path: [offset + index],\n view: data as AITableView\n });\n });\n }\n }\n }\n });\n return actions;\n}\n\nexport function isAddOrRemove(targetPath: number[]): boolean {\n return targetPath.length === 0;\n}\n\nexport function getRemoveIds(event: Y.YEvent<any>, type: ActionName.RemoveField | ActionName.RemoveRecord) {\n const ids: [string][] = [];\n if (!type) {\n return ids;\n }\n\n Y.iterateDeletedStructs(\n event.transaction,\n event.transaction.deleteSet,\n // @param {Item|GC} item\n (item) => {\n if (item instanceof Y.Item && item.deleted) {\n if (type === ActionName.RemoveField && item.parentSub === '_id') {\n ids.push(item.content.getContent() as AIFieldIdPath);\n }\n if (type === ActionName.RemoveRecord) {\n const content = item.content.getContent();\n if (content[0] && content[0]['_id']) {\n ids.push([content[0]['_id']]);\n }\n }\n }\n }\n );\n return ids;\n}\n","import { ActionName, AITableField } from '@ai-table/grid';\nimport * as Y from 'yjs';\nimport { getShareTypeNumberPath } from '../utils';\nimport { AITableSharedAction, AITableView, AIViewTable, SharedType, SyncMapElement, ViewActionName } from '../../types';\n\nexport default function translateMapEvent(\n aiTable: AIViewTable,\n sharedType: SharedType,\n event: Y.YMapEvent<unknown>\n): AITableSharedAction[] {\n const isFieldsTranslate = event.path.includes('fields');\n const isViewTranslate = event.path.includes('views');\n\n if (isViewTranslate || isFieldsTranslate) {\n let [targetPath] = getShareTypeNumberPath(event.path) as [number];\n let targetElement;\n const targetSyncElement = event.target as SharedType;\n if (isFieldsTranslate) {\n const field = sharedType.get('fields')?.get(targetPath) as SyncMapElement;\n const fieldId = field && field.get('_id');\n targetElement = fieldId && aiTable.fields().find((item) => item._id === field.get('_id'));\n }\n\n if (isViewTranslate) {\n targetElement = aiTable.views()[targetPath];\n }\n\n if (targetElement) {\n const keyChanges: [string, { action: 'add' | 'update' | 'delete'; oldValue: any }][] = Array.from(event.changes.keys.entries());\n const newProperties: Partial<AITableView | AITableField> = {};\n const properties: Partial<AITableView | AITableField> = {};\n\n const entries: [string, any][] = keyChanges.map(([key, info]) => {\n const value = targetSyncElement.get(key);\n return [key, info.action === 'delete' ? null : value instanceof Y.AbstractType ? value.toJSON() : value];\n });\n\n for (const [key, value] of entries) {\n const k = key as keyof (AITableView | AITableField);\n newProperties[k] = value;\n }\n\n const oldEntries = keyChanges.map(([key]) => [key, (targetElement as any)[key]]);\n for (const [key, value] of oldEntries) {\n const k = key as keyof (AITableView | AITableField);\n properties[k] = value;\n }\n const type = isFieldsTranslate ? ActionName.SetField : ViewActionName.SetView;\n return [\n {\n type,\n properties: properties,\n newProperties: newProperties,\n path: [targetElement._id]\n }\n ] as AITableSharedAction[];\n }\n }\n return [];\n}\n","import { AITable } from \"@ai-table/grid\";\n\nconst IS_LOCAL: WeakSet<any> = new WeakSet();\nconst IS_REMOTE: WeakSet<any> = new WeakSet();\nconst IS_UNDO: WeakSet<any> = new WeakSet();\n\nexport interface YjsAITable {\n isLocal: () => boolean;\n asLocal: () => void;\n}\n\nexport const YjsAITable = {\n isLocal: (aiTable: AITable): boolean => {\n return IS_LOCAL.has(aiTable);\n },\n\n asLocal: (aiTable: AITable, fn: () => void): void => {\n const wasLocal = YjsAITable.isLocal(aiTable);\n IS_LOCAL.add(aiTable);\n\n fn();\n\n if (!wasLocal) {\n IS_LOCAL.delete(aiTable);\n }\n },\n\n isRemote: (aiTable: AITable): boolean => {\n return IS_REMOTE.has(aiTable);\n },\n\n asRemote: (aiTable: AITable, fn: () => void): void => {\n const wasRemote = YjsAITable.isRemote(aiTable);\n IS_REMOTE.add(aiTable);\n\n fn();\n\n if (!wasRemote) {\n Promise.resolve().then(() => IS_REMOTE.delete(aiTable));\n }\n },\n\n isUndo: (aiTable: AITable): boolean => {\n return IS_UNDO.has(aiTable);\n },\n\n asUndo: (aiTable: AITable, fn: () => void): void => {\n const wasUndo = YjsAITable.isUndo(aiTable);\n IS_UNDO.add(aiTable);\n\n fn();\n\n if (!wasUndo) {\n Promise.resolve().then(() => IS_UNDO.delete(aiTable));\n }\n }\n};\n","import * as Y from 'yjs';\nimport translateArrayEvent from './array-event';\nimport translateMapEvent from './map-event';\nimport { YjsAITable } from '../yjs-table';\nimport { AITableSharedAction, AIViewTable, SharedType } from '../../types';\n\nexport function translateYjsEvent(aiTable: AIViewTable, activeViewId: string, sharedType: SharedType, event: Y.YEvent<any>): AITableSharedAction[] {\n if (event instanceof Y.YArrayEvent) {\n return translateArrayEvent(aiTable, activeViewId, sharedType, event);\n }\n if (event instanceof Y.YMapEvent) {\n return translateMapEvent(aiTable, sharedType, event);\n }\n return [];\n}\n\nexport function applyEvents(aiTable: AIViewTable, activeViewId: string, sharedType: SharedType, events: Y.YEvent<any>[]) {\n events.forEach((event) =>\n translateYjsEvent(aiTable, activeViewId, sharedType, event).forEach((item: AITableSharedAction) => {\n aiTable.apply(item);\n })\n );\n}\n\nexport function applyYjsEvents(aiTable: AIViewTable, activeViewId: string, sharedType: SharedType, events: Y.YEvent<any>[]): void {\n if (YjsAITable.isUndo(aiTable)) {\n applyEvents(aiTable, activeViewId, sharedType, events);\n } else {\n YjsAITable.asRemote(aiTable, () => {\n applyEvents(aiTable, activeViewId, sharedType, events);\n });\n }\n}\n","import { UpdateFieldValueAction } from '@ai-table/grid';\nimport { SharedType, SyncArrayElement, SyncMapElement } from '../../types';\nimport { getSharedMapValueIndex, getSharedRecordIndex } from '../utils';\nimport * as Y from 'yjs';\n\nexport default function updateFieldValue(sharedType: SharedType, action: UpdateFieldValueAction): SharedType {\n const sharedRecords = sharedType.get('records');\n const sharedFields = sharedType.get('fields')!;\n if (sharedRecords && sharedFields) {\n const recordIndex = getSharedRecordIndex(sharedRecords as Y.Array<SyncArrayElement>, action.path[0]);\n const fieldIndex = getSharedMapValueIndex(sharedFields as Y.Array<SyncMapElement>, action.path[1]);\n if (recordIndex > -1 && fieldIndex > -1) {\n const record = sharedRecords?.get(recordIndex) as SyncArrayElement;\n const customField = record.get(1);\n customField.delete(fieldIndex);\n customField.insert(fieldIndex, [action.newFieldValue]);\n }\n }\n\n return sharedType;\n}\n","import { getSharedMapValueIndex } from '../utils';\nimport { SetViewAction, SharedType, SyncMapElement, ViewActionName } from '../../types';\nimport { ActionName, SetFieldAction } from '@ai-table/grid';\nimport * as Y from 'yjs';\n\nexport default function setNode(sharedType: SharedType, action: SetFieldAction | SetViewAction): SharedType {\n let sharedNodes;\n if (action.type === ActionName.SetField) {\n sharedNodes = sharedType.get('fields')! as Y.Array<SyncMapElement>;\n }\n\n if (action.type === ViewActionName.SetView) {\n sharedNodes = sharedType.get('views')! as Y.Array<SyncMapElement>;\n }\n\n if (sharedNodes) {\n let nodeIndex = getSharedMapValueIndex(sharedNodes, action.path[0] as string);\n if (nodeIndex > -1) {\n const node = sharedNodes.get(nodeIndex) as SyncMapElement;\n Object.entries(action.newProperties).forEach(([key, value]) => {\n if (value == null) {\n node.delete(key);\n } else {\n node.set(key, value);\n }\n });\n Object.entries(action.properties).forEach(([key]) => {\n if (!action.newProperties.hasOwnProperty(key)) {\n node.delete(key);\n }\n });\n }\n }\n return sharedType;\n}\n","import { toRecordSyncElement, toSyncElement } from '../utils';\nimport { AddViewAction, AITableViewRecord, SharedType, SyncArrayElement, ViewActionName } from '../../types';\nimport { ActionName, AddFieldAction, AddRecordAction, getDefaultFieldValue } from '@ai-table/grid';\n\nexport default function addNode(sharedType: SharedType, action: AddFieldAction | AddRecordAction | AddViewAction): SharedType {\n switch (action.type) {\n case ActionName.AddRecord:\n const records = sharedType.get('records')!;\n records && records.push([toRecordSyncElement(action.record as AITableViewRecord)]);\n break;\n case ViewActionName.AddView:\n const views = sharedType.get('views')!;\n views && views.push([toSyncElement(action.view)]);\n break;\n case ActionName.AddField:\n const sharedFields = sharedType.get('fields')!;\n const sharedRecords = sharedType.get('records') as SyncArrayElement;\n if (sharedFields && sharedRecords) {\n sharedFields.push([toSyncElement(action.field)]);\n const path = action.path[0];\n for (let value of sharedRecords) {\n const newRecord = getDefaultFieldValue(action.field);\n const customField = value.get(1);\n customField.insert(path, [newRecord]);\n }\n }\n break;\n }\n\n return sharedType;\n}\n","import { ActionName, RemoveFieldAction, RemoveRecordAction } from '@ai-table/grid';\nimport { RemoveViewAction, SharedType, SyncArrayElement, SyncMapElement, ViewActionName } from '../../types';\nimport { getSharedMapValueIndex, getSharedRecordIndex } from '../utils';\nimport * as Y from 'yjs';\n\nexport default function removeNode(sharedType: SharedType, action: RemoveFieldAction | RemoveRecordAction | RemoveViewAction): SharedType {\n switch (action.type) {\n case ActionName.RemoveRecord:\n const records = sharedType.get('records')! as Y.Array<SyncArrayElement>;\n if (records) {\n const recordIndex = getSharedRecordIndex(records, action.path[0]);\n if (recordIndex > -1) {\n records.delete(recordIndex);\n }\n }\n break;\n case ViewActionName.RemoveView:\n const views = sharedType.get('views')! as Y.Array<SyncMapElement>;\n if (views) {\n const viewIndex = getSharedMapValueIndex(views, action.path[0]);\n if (viewIndex > -1) {\n views.delete(viewIndex);\n }\n }\n break;\n case ActionName.RemoveField:\n const sharedFields = sharedType.get('fields') as Y.Array<SyncMapElement>;\n const sharedRecords = sharedType.get('records') as Y.Array<SyncArrayElement>;\n if (sharedFields && sharedRecords) {\n const fieldIndex = getSharedMapValueIndex(sharedFields, action.path[0]);\n if (fieldIndex > -1) {\n sharedFields.delete(fieldIndex);\n for (let value of sharedRecords) {\n value.get(1).delete(fieldIndex);\n }\n }\n }\n break;\n }\n\n return sharedType;\n}\n","import { AITable, AITableAction } from '@ai-table/grid';\nimport updateFieldValue from './update-field-value';\nimport { SharedType } from '../../types';\nimport setNode from './set-node';\nimport addNode from './add-node';\nimport removeNode from './remove-node';\n\nexport type ActionMapper<O extends AITableAction = AITableAction> = {\n [K in O['type']]: O extends { type: K } ? ApplyFunc<O> : never;\n};\n\nexport type ApplyFunc<O extends AITableAction = AITableAction> = (sharedType: SharedType, op: O) => SharedType;\n\nexport const actionMappers: Partial<ActionMapper<any>> = {\n add_record: addNode,\n update_field_value: updateFieldValue,\n remove_record: removeNode,\n add_field: addNode,\n set_field: setNode,\n remove_field: removeNode,\n set_view: setNode,\n add_view: addNode,\n remove_view: removeNode,\n};\n\nexport function applyActionOps(sharedType: SharedType, actions: AITableAction[], aiTable: AITable): SharedType {\n if (actions.length > 0) {\n sharedType.doc!.transact(() => {\n actions.forEach((action) => {\n const apply = actionMappers[action.type] as ApplyFunc<typeof action>;\n if (apply) {\n return apply(sharedType, action);\n }\n return null;\n });\n }, aiTable);\n }\n\n return sharedType;\n}\n","import { createDraft, finishDraft } from 'immer';\nimport { AITableView, AITableViewAction, AIViewTable, ViewActionName } from '../../types';\n\nexport const GeneralViewActions = {\n transform(aiTable: AIViewTable, action: AITableViewAction): void {\n const views = createDraft(aiTable.views());\n applyView(aiTable, views, action);\n aiTable.views.update(() => {\n return finishDraft(views);\n });\n }\n};\n\nexport const applyView = (aiTable: AIViewTable, views: AITableView[], action: AITableViewAction) => {\n switch (action.type) {\n case ViewActionName.SetView: {\n const view = views.find((item) => item._id === action.path[0]) as AITableView;\n if (view) {\n for (const key in action.newProperties) {\n const k = key as keyof AITableView;\n const value = action.newProperties[k];\n if (value == null) {\n delete view[k];\n } else {\n (view[k] as any) = value;\n }\n }\n\n // properties that were previously defined, but are now missing, must be deleted\n for (const key in action.properties) {\n if (!action.newProperties.hasOwnProperty(key)) {\n delete view[<keyof AITableView>key];\n }\n }\n }\n break;\n }\n case ViewActionName.AddView: {\n const [viewIndex] = action.path;\n if (viewIndex > -1) {\n views.splice(viewIndex, 0, action.view);\n }\n break;\n }\n case ViewActionName.RemoveView: {\n const [viewId] = action.path;\n const viewIndex = views.findIndex((item) => item._id === viewId);\n if (viewIndex > -1) {\n views.splice(viewIndex, 1);\n }\n break;\n }\n }\n};\n","import { AddViewAction, AITableView, AIViewTable, RemoveViewAction, SetViewAction, ViewActionName } from '../../types';\n\nexport function setView(aiTable: AIViewTable, value: Partial<AITableView>, path: [string]) {\n const view = aiTable.views().find((item) => item._id === path[0]);\n if (view) {\n const properties: Partial<AITableView> = {};\n const newProperties: Partial<AITableView> = {};\n for (const key in value) {\n const k = key as keyof AITableView;\n if (JSON.stringify(view[k]) !== JSON.stringify(value[k])) {\n if (view.hasOwnProperty(k)) {\n properties[k] = view[k] as any;\n }\n if (newProperties[k] !== null) {\n newProperties[k] = value[k] as any;\n }\n }\n }\n\n const operation: SetViewAction = {\n type: ViewActionName.SetView,\n properties,\n newProperties,\n path\n };\n aiTable.apply(operation);\n }\n}\n\nexport function addView(aiTable: AIViewTable, view: AITableView, path: [number]) {\n const operation: AddViewAction = {\n type: ViewActionName.AddView,\n view,\n path\n };\n aiTable.apply(operation);\n}\n\nexport function removeView(aiTable: AIViewTable, path: [string]) {\n const operation: RemoveViewAction = {\n type: ViewActionName.RemoveView,\n path\n };\n aiTable.apply(operation);\n}\n\n\nexport const ViewActions = {\n setView,\n addView,\n removeView\n};","import { ViewActionName } from '../../types';\n\nexport const VIEW_ACTIONS = [ViewActionName.SetView, ViewActionName.AddView, ViewActionName.RemoveView];\n","import { Actions, AITable, AITableAction, FLUSHING } from '@ai-table/grid';\nimport { GeneralViewActions } from '../action';\nimport { AITableSharedAction, AITableViewAction, AIViewTable, ViewActionName } from '../../types';\nimport { VIEW_ACTIONS } from '../constants/view';\n\nexport const withView = (aiTable: AITable) => {\n const viewTable = aiTable as AIViewTable;\n viewTable.apply = (action: AITableSharedAction) => {\n (aiTable.actions as AITableSharedAction[]).push(action);\n if (VIEW_ACTIONS.includes(action.type as ViewActionName)) {\n GeneralViewActions.transform(viewTable, action as AITableViewAction);\n } else {\n Actions.transform(aiTable, action as AITableAction);\n }\n\n if (!FLUSHING.get(aiTable)) {\n FLUSHING.set(aiTable, true);\n Promise.resolve().then(() => {\n FLUSHING.set(aiTable, false);\n aiTable.onChange();\n aiTable.actions = [];\n });\n }\n };\n return aiTable;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './public-api';
2
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/state/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@ai-table/state",
3
+ "version": "0.0.8",
4
+ "peerDependencies": {
5
+ "@ai-table/grid": "^0.0.7"
6
+ },
7
+ "dependencies": {
8
+ "tslib": "^2.3.0"
9
+ },
10
+ "module": "fesm2022/ai-table-state.mjs",
11
+ "typings": "index.d.ts",
12
+ "exports": {
13
+ "./package.json": {
14
+ "default": "./package.json"
15
+ },
16
+ ".": {
17
+ "types": "./index.d.ts",
18
+ "esm2022": "./esm2022/ai-table-state.mjs",
19
+ "esm": "./esm2022/ai-table-state.mjs",
20
+ "default": "./fesm2022/ai-table-state.mjs"
21
+ }
22
+ },
23
+ "sideEffects": false
24
+ }
@@ -0,0 +1,6 @@
1
+ export * from './shared';
2
+ export * from './types';
3
+ export * from './view/action';
4
+ export * from './view/plugins/view.plugin';
5
+ export * from './view/constants/view';
6
+ //# sourceMappingURL=public-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../packages/state/src/public-api.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './to-table';
2
+ export * from './to-yjs';
3
+ export * from './yjs-table';
4
+ export * from './utils';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/state/src/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ActionName } from '@ai-table/grid';
2
+ import * as Y from 'yjs';
3
+ import { AITableSharedAction, AIViewTable, SharedType } from '../../types';
4
+ export default function translateArrayEvent(aiTable: AIViewTable, activeViewId: string, sharedType: SharedType, event: Y.YEvent<any>): AITableSharedAction[];
5
+ export declare function isAddOrRemove(targetPath: number[]): boolean;
6
+ export declare function getRemoveIds(event: Y.YEvent<any>, type: ActionName.RemoveField | ActionName.RemoveRecord): [string][];
7
+ //# sourceMappingURL=array-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-event.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/shared/to-table/array-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA8F,MAAM,gBAAgB,CAAC;AACxI,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EACH,mBAAmB,EAInB,WAAW,EACX,UAAU,EAIb,MAAM,aAAa,CAAC;AAIrB,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,EAAE,CAiH3J;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAE3D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,YAAY,cAyBxG"}
@@ -0,0 +1,6 @@
1
+ import * as Y from 'yjs';
2
+ import { AITableSharedAction, AIViewTable, SharedType } from '../../types';
3
+ export declare function translateYjsEvent(aiTable: AIViewTable, activeViewId: string, sharedType: SharedType, event: Y.YEvent<any>): AITableSharedAction[];
4
+ export declare function applyEvents(aiTable: AIViewTable, activeViewId: string, sharedType: SharedType, events: Y.YEvent<any>[]): void;
5
+ export declare function applyYjsEvents(aiTable: AIViewTable, activeViewId: string, sharedType: SharedType, events: Y.YEvent<any>[]): void;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/shared/to-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAIzB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE3E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,EAAE,CAQjJ;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,QAMtH;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAQhI"}
@@ -0,0 +1,4 @@
1
+ import * as Y from 'yjs';
2
+ import { AITableSharedAction, AIViewTable, SharedType } from '../../types';
3
+ export default function translateMapEvent(aiTable: AIViewTable, sharedType: SharedType, event: Y.YMapEvent<unknown>): AITableSharedAction[];
4
+ //# sourceMappingURL=map-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-event.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/shared/to-table/map-event.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAe,WAAW,EAAE,UAAU,EAAkC,MAAM,aAAa,CAAC;AAExH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACrC,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAC5B,mBAAmB,EAAE,CAkDvB"}
@@ -0,0 +1,4 @@
1
+ import { AddViewAction, SharedType } from '../../types';
2
+ import { AddFieldAction, AddRecordAction } from '@ai-table/grid';
3
+ export default function addNode(sharedType: SharedType, action: AddFieldAction | AddRecordAction | AddViewAction): SharedType;
4
+ //# sourceMappingURL=add-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-node.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/shared/to-yjs/add-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAqB,UAAU,EAAoC,MAAM,aAAa,CAAC;AAC7G,OAAO,EAAc,cAAc,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AAEnG,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,GAAG,eAAe,GAAG,aAAa,GAAG,UAAU,CA0B5H"}
@@ -0,0 +1,11 @@
1
+ import { AITable, AITableAction } from '@ai-table/grid';
2
+ import { SharedType } from '../../types';
3
+ export type ActionMapper<O extends AITableAction = AITableAction> = {
4
+ [K in O['type']]: O extends {
5
+ type: K;
6
+ } ? ApplyFunc<O> : never;
7
+ };
8
+ export type ApplyFunc<O extends AITableAction = AITableAction> = (sharedType: SharedType, op: O) => SharedType;
9
+ export declare const actionMappers: Partial<ActionMapper<any>>;
10
+ export declare function applyActionOps(sharedType: SharedType, actions: AITableAction[], aiTable: AITable): SharedType;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/shared/to-yjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI;KAC/D,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK;CACjE,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,KAAK,UAAU,CAAC;AAE/G,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAUpD,CAAC;AAEF,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,CAc7G"}
@@ -0,0 +1,4 @@
1
+ import { RemoveFieldAction, RemoveRecordAction } from '@ai-table/grid';
2
+ import { RemoveViewAction, SharedType } from '../../types';
3
+ export default function removeNode(sharedType: SharedType, action: RemoveFieldAction | RemoveRecordAction | RemoveViewAction): SharedType;
4
+ //# sourceMappingURL=remove-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-node.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/shared/to-yjs/remove-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAoD,MAAM,aAAa,CAAC;AAI7G,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,UAAU,CAoCxI"}
@@ -0,0 +1,4 @@
1
+ import { SetViewAction, SharedType } from '../../types';
2
+ import { SetFieldAction } from '@ai-table/grid';
3
+ export default function setNode(sharedType: SharedType, action: SetFieldAction | SetViewAction): SharedType;
4
+ //# sourceMappingURL=set-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-node.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/shared/to-yjs/set-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkC,MAAM,aAAa,CAAC;AACxF,OAAO,EAAc,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG5D,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,GAAG,aAAa,GAAG,UAAU,CA6B1G"}
@@ -0,0 +1,4 @@
1
+ import { UpdateFieldValueAction } from '@ai-table/grid';
2
+ import { SharedType } from '../../types';
3
+ export default function updateFieldValue(sharedType: SharedType, action: UpdateFieldValueAction): SharedType;
4
+ //# sourceMappingURL=update-field-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-field-value.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/shared/to-yjs/update-field-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAoC,MAAM,aAAa,CAAC;AAI3E,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,sBAAsB,GAAG,UAAU,CAe3G"}
@@ -0,0 +1,4 @@
1
+ export * from './init-shared';
2
+ export * from './init-table';
3
+ export * from './translate';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/shared/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,16 @@
1
+ import * as Y from 'yjs';
2
+ import { AITableViewFields, AITableViewRecord, AITableViewRecords, AITableViews, SyncMapElement } from '../../types';
3
+ export declare const createSharedType: () => Y.Map<any>;
4
+ export declare const initSharedType: (doc: Y.Doc, initializeValue: {
5
+ fields: AITableViewFields;
6
+ records: AITableViewRecords;
7
+ views: AITableViews;
8
+ }) => Y.Map<any>;
9
+ export declare function toSharedType(sharedType: Y.Map<any>, data: {
10
+ fields: AITableViewFields;
11
+ records: AITableViewRecords;
12
+ views: AITableViews;
13
+ }): void;
14
+ export declare function toSyncElement(node: any): SyncMapElement;
15
+ export declare function toRecordSyncElement(record: AITableViewRecord): Y.Array<Y.Array<any>>;
16
+ //# sourceMappingURL=init-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-shared.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/shared/utils/init-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAa,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhI,eAAO,MAAM,gBAAgB,kBAI5B,CAAC;AAEF,eAAO,MAAM,cAAc,QAClB,EAAE,GAAG,mBACO;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,KAAK,EAAE,YAAY,CAAC;CACvB,eAKJ,CAAC;AAEF,wBAAgB,YAAY,CACxB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EACtB,IAAI,EAAE;IACF,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,KAAK,EAAE,YAAY,CAAC;CACvB,GACF,IAAI,CAcN;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,cAAc,CAMvD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAiBpF"}
@@ -0,0 +1,7 @@
1
+ import { AITableViewFields, AITableViewRecords, SharedType } from '../../types';
2
+ export declare const initTable: (sharedType: SharedType) => {
3
+ records: AITableViewRecords;
4
+ fields: AITableViewFields;
5
+ views: any;
6
+ };
7
+ //# sourceMappingURL=init-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-table.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/shared/utils/init-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGhF,eAAO,MAAM,SAAS;;;;CAUrB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { AITableViewFields, AITableViewRecords, SyncArrayElement, SyncMapElement } from '../../types';
2
+ import * as Y from 'yjs';
3
+ export declare const translateToRecordValues: (arrayRecord: any[], fields: AITableViewFields) => Record<string, any>;
4
+ export declare const translateToRecords: (arrayRecords: any[], fields: AITableViewFields) => {
5
+ _id: any;
6
+ positions: any;
7
+ values: Record<string, any>;
8
+ }[];
9
+ export declare function translatePositionToPath(data: AITableViewRecords | AITableViewFields, position: number, activeViewId: string): number[];
10
+ export declare function getShareTypeNumberPath(path: (string | number)[]): number[];
11
+ export declare function getSharedRecordId(records: Y.Array<SyncArrayElement>, recordIndex: number): any;
12
+ export declare function getSharedMapValueId(values: Y.Array<SyncMapElement>, index: number): any;
13
+ export declare function getSharedRecordIndex(sharedRecords: Y.Array<SyncArrayElement>, recordId: string): number;
14
+ export declare function getSharedMapValueIndex(sharedNodes: Y.Array<SyncMapElement>, id: string): number;
15
+ //# sourceMappingURL=translate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translate.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/shared/utils/translate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACtG,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,eAAO,MAAM,uBAAuB,gBAAiB,GAAG,EAAE,mDAOzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,iBAAkB,GAAG,EAAE;;;;GASrD,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,YAY3H;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,CAE1E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,MAAM,OAExF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,OAEjF;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,UAU9F;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,UAUtF"}
@@ -0,0 +1,14 @@
1
+ import { AITable } from "@ai-table/grid";
2
+ export interface YjsAITable {
3
+ isLocal: () => boolean;
4
+ asLocal: () => void;
5
+ }
6
+ export declare const YjsAITable: {
7
+ isLocal: (aiTable: AITable) => boolean;
8
+ asLocal: (aiTable: AITable, fn: () => void) => void;
9
+ isRemote: (aiTable: AITable) => boolean;
10
+ asRemote: (aiTable: AITable, fn: () => void) => void;
11
+ isUndo: (aiTable: AITable) => boolean;
12
+ asUndo: (aiTable: AITable, fn: () => void) => void;
13
+ };
14
+ //# sourceMappingURL=yjs-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yjs-table.d.ts","sourceRoot":"","sources":["../../../packages/state/src/shared/yjs-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAMzC,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,UAAU;uBACA,OAAO,KAAG,OAAO;uBAIjB,OAAO,MAAM,MAAM,IAAI,KAAG,IAAI;wBAW7B,OAAO,KAAG,OAAO;wBAIjB,OAAO,MAAM,MAAM,IAAI,KAAG,IAAI;sBAWhC,OAAO,KAAG,OAAO;sBAIjB,OAAO,MAAM,MAAM,IAAI,KAAG,IAAI;CAUnD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './view';
2
+ export * from './shared';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/state/src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as Y from 'yjs';
2
+ export type SyncMapElement = Y.Map<any>;
3
+ export type SyncArrayElement = Y.Array<any>;
4
+ export type SharedType = Y.Map<Y.Array<SyncMapElement | SyncArrayElement>>;
5
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../packages/state/src/types/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAExC,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAE5C,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { AITable, AITableAction, AITableField, AITableRecord } from '@ai-table/grid';
2
+ import { WritableSignal } from '@angular/core';
3
+ import { Id } from 'ngx-tethys/types';
4
+ export declare class Positions {
5
+ [view_id: string]: number;
6
+ }
7
+ export interface AITableViewRecord extends AITableRecord {
8
+ positions: Positions;
9
+ }
10
+ export interface AITableViewField extends AITableField {
11
+ positions: Positions;
12
+ }
13
+ export type AITableViewRecords = AITableViewRecord[];
14
+ export type AITableViewFields = AITableViewField[];
15
+ export declare enum Direction {
16
+ default = 0,
17
+ ascending = 1,
18
+ descending = -1
19
+ }
20
+ export declare enum LogicalOperator {
21
+ and = "and",
22
+ or = "or"
23
+ }
24
+ export declare enum FilterOperationSymbol {
25
+ eq = "eq",
26
+ gte = "gte",
27
+ lte = "lte",
28
+ gt = "gt",
29
+ lt = "lt",
30
+ in = "in",
31
+ contain = "contain",
32
+ ne = "ne",
33
+ nin = "nin",
34
+ between = "between",
35
+ besides = "besides",
36
+ empty = "empty",
37
+ exists = "exists",
38
+ notContain = "not_contain"
39
+ }
40
+ export interface AITableView {
41
+ _id: string;
42
+ name: string;
43
+ emoji_icon?: string;
44
+ settings?: GridSettings;
45
+ }
46
+ export declare class GridSettings {
47
+ is_keep_sort?: boolean;
48
+ sorts?: {
49
+ sort_by: Id;
50
+ direction: Direction;
51
+ }[];
52
+ condition_logical?: LogicalOperator;
53
+ conditions?: {
54
+ field_id: Id;
55
+ operation: FilterOperationSymbol;
56
+ value: string | [];
57
+ }[];
58
+ }
59
+ export type AITableViews = AITableView[];
60
+ export type AIViewPath = [string];
61
+ export interface AIViewTable extends AITable {
62
+ views: WritableSignal<AITableView[]>;
63
+ apply: (action: AITableSharedAction) => void;
64
+ }
65
+ export declare enum ViewActionName {
66
+ SetView = "set_view",
67
+ AddView = "add_view",
68
+ RemoveView = "remove_view"
69
+ }
70
+ export interface SetViewAction {
71
+ type: ViewActionName.SetView;
72
+ properties: Partial<AITableView>;
73
+ newProperties: Partial<AITableView>;
74
+ path: AIViewPath;
75
+ }
76
+ export interface AddViewAction {
77
+ type: ViewActionName.AddView;
78
+ view: AITableView;
79
+ path: [number];
80
+ }
81
+ export interface RemoveViewAction {
82
+ type: ViewActionName.RemoveView;
83
+ path: AIViewPath;
84
+ }
85
+ export type AITableViewAction = SetViewAction | AddViewAction | RemoveViewAction;
86
+ export type AITableSharedAction = AITableViewAction | AITableAction;
87
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../packages/state/src/types/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,qBAAa,SAAS;IAClB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACpD,SAAS,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IAClD,SAAS,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,EAAE,CAAC;AAEnD,oBAAY,SAAS;IACjB,OAAO,IAAI;IACX,SAAS,IAAI;IACb,UAAU,KAAK;CAClB;AAED,oBAAY,eAAe;IACvB,GAAG,QAAQ;IACX,EAAE,OAAO;CACZ;AAED,oBAAY,qBAAqB;IAC7B,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,OAAO,YAAY;IACnB,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,UAAU,gBAAgB;CAC7B;AAED,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED,qBAAa,YAAY;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE;QACJ,OAAO,EAAE,EAAE,CAAC;QACZ,SAAS,EAAE,SAAS,CAAC;KAExB,EAAE,CAAC;IACJ,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,UAAU,CAAC,EAAE;QACT,QAAQ,EAAE,EAAE,CAAC;QACb,SAAS,EAAE,qBAAqB,CAAC;QACjC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC;KACtB,EAAE,CAAC;CACP;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,EAAE,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,CAAC;AAElC,MAAM,WAAW,WAAY,SAAQ,OAAO;IACxC,KAAK,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;IACrC,KAAK,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAChD;AAED,oBAAY,cAAc;IACtB,OAAO,aAAa;IACpB,OAAO,aAAa;IACpB,UAAU,gBAAgB;CAC7B;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC;IAChC,IAAI,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAEjF,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { AITableView, AITableViewAction, AIViewTable } from '../../types';
2
+ export declare const GeneralViewActions: {
3
+ transform(aiTable: AIViewTable, action: AITableViewAction): void;
4
+ };
5
+ export declare const applyView: (aiTable: AIViewTable, views: AITableView[], action: AITableViewAction) => void;
6
+ //# sourceMappingURL=general.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/view/action/general.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE1F,eAAO,MAAM,kBAAkB;uBACR,WAAW,UAAU,iBAAiB,GAAG,IAAI;CAOnE,CAAC;AAEF,eAAO,MAAM,SAAS,YAAa,WAAW,SAAS,WAAW,EAAE,UAAU,iBAAiB,SAwC9F,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './general';
2
+ export * from './view';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/view/action/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { AITableView, AIViewTable } from '../../types';
2
+ export declare function setView(aiTable: AIViewTable, value: Partial<AITableView>, path: [string]): void;
3
+ export declare function addView(aiTable: AIViewTable, view: AITableView, path: [number]): void;
4
+ export declare function removeView(aiTable: AIViewTable, path: [string]): void;
5
+ export declare const ViewActions: {
6
+ setView: typeof setView;
7
+ addView: typeof addView;
8
+ removeView: typeof removeView;
9
+ };
10
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/view/action/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAE,WAAW,EAAmD,MAAM,aAAa,CAAC;AAEvH,wBAAgB,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,QAyBxF;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,QAO9E;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,QAM9D;AAGD,eAAO,MAAM,WAAW;;;;CAIvB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ViewActionName } from '../../types';
2
+ export declare const VIEW_ACTIONS: ViewActionName[];
3
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/view/constants/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,YAAY,kBAA8E,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { AITable } from '@ai-table/grid';
2
+ export declare const withView: (aiTable: AITable) => AITable;
3
+ //# sourceMappingURL=view.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.plugin.d.ts","sourceRoot":"","sources":["../../../../packages/state/src/view/plugins/view.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAA2B,MAAM,gBAAgB,CAAC;AAK3E,eAAO,MAAM,QAAQ,YAAa,OAAO,YAoBxC,CAAC"}