logisheets 0.8.0 → 1.0.0

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.
Files changed (442) hide show
  1. package/dist/src/api/cell.d.ts +3 -2
  2. package/dist/src/api/cell.js +20 -17
  3. package/dist/src/api/craft-calc.d.ts +83 -0
  4. package/dist/src/api/craft-calc.js +223 -0
  5. package/dist/src/api/index.d.ts +1 -0
  6. package/dist/src/api/index.js +1 -0
  7. package/dist/src/api/utils.js +4 -2
  8. package/dist/src/api/workbook.d.ts +54 -4
  9. package/dist/src/api/workbook.js +186 -105
  10. package/dist/src/api/worksheet.d.ts +14 -1
  11. package/dist/src/api/worksheet.js +109 -20
  12. package/dist/src/bindings/action_effect.d.ts +56 -0
  13. package/dist/src/bindings/action_effect.js +96 -1
  14. package/dist/src/bindings/alignment.d.ts +1 -0
  15. package/dist/src/bindings/app_data.d.ts +4 -0
  16. package/dist/src/bindings/appendix.d.ts +5 -0
  17. package/dist/src/bindings/appendix_with_cell.d.ts +8 -0
  18. package/dist/src/bindings/async_func_result.d.ts +10 -0
  19. package/dist/src/bindings/async_func_result.js +19 -1
  20. package/dist/src/bindings/bind_form_schema.d.ts +42 -0
  21. package/dist/src/bindings/bind_form_schema.js +68 -0
  22. package/dist/src/bindings/bind_random_schema.d.ts +23 -0
  23. package/dist/src/bindings/bind_random_schema.js +33 -0
  24. package/dist/src/bindings/block_cell_id.js +0 -1
  25. package/dist/src/bindings/block_cell_info.d.ts +5 -0
  26. package/dist/src/bindings/block_display_info.d.ts +7 -0
  27. package/dist/src/bindings/block_field.d.ts +5 -0
  28. package/dist/src/bindings/block_info.d.ts +8 -0
  29. package/dist/src/bindings/block_info.js +0 -1
  30. package/dist/src/bindings/block_input.d.ts +19 -0
  31. package/dist/src/bindings/block_input.js +40 -2
  32. package/dist/src/bindings/block_line_name_field_update.d.ts +34 -0
  33. package/dist/src/bindings/block_line_name_field_update.js +50 -0
  34. package/dist/src/bindings/block_line_style_update.d.ts +31 -0
  35. package/dist/src/bindings/block_line_style_update.js +47 -0
  36. package/dist/src/bindings/block_schema.d.ts +11 -0
  37. package/dist/src/bindings/block_schema_field_entry.d.ts +5 -0
  38. package/dist/src/bindings/block_schema_key_entry.d.ts +4 -0
  39. package/dist/src/bindings/block_schema_random_entry.d.ts +6 -0
  40. package/dist/src/bindings/block_schema_type.d.ts +1 -0
  41. package/dist/src/bindings/block_style_update.d.ts +19 -0
  42. package/dist/src/bindings/block_style_update.js +40 -1
  43. package/dist/src/bindings/cell_alignment.d.ts +6 -6
  44. package/dist/src/bindings/cell_clear.d.ts +13 -0
  45. package/dist/src/bindings/cell_clear.js +26 -2
  46. package/dist/src/bindings/cell_coordinate.d.ts +4 -0
  47. package/dist/src/bindings/cell_coordinate_with_sheet.d.ts +5 -0
  48. package/dist/src/bindings/cell_coordinate_with_sheet.js +1 -0
  49. package/dist/src/bindings/cell_format_brush.d.ts +28 -0
  50. package/dist/src/bindings/cell_format_brush.js +61 -2
  51. package/dist/src/bindings/cell_id.d.ts +6 -3
  52. package/dist/src/bindings/cell_info.d.ts +1 -0
  53. package/dist/src/bindings/cell_input.d.ts +16 -0
  54. package/dist/src/bindings/cell_input.js +33 -2
  55. package/dist/src/bindings/cell_position.js +0 -1
  56. package/dist/src/bindings/cell_protection.js +0 -1
  57. package/dist/src/bindings/cell_ref.d.ts +9 -0
  58. package/dist/src/bindings/cell_ref.js +1 -0
  59. package/dist/src/bindings/cell_style_update.d.ts +16 -0
  60. package/dist/src/bindings/cell_style_update.js +33 -1
  61. package/dist/src/bindings/col_info.js +0 -1
  62. package/dist/src/bindings/color.js +0 -1
  63. package/dist/src/bindings/comment.js +0 -1
  64. package/dist/src/bindings/convert_block.d.ts +30 -0
  65. package/dist/src/bindings/convert_block.js +47 -0
  66. package/dist/src/bindings/create_appendix.d.ts +38 -0
  67. package/dist/src/bindings/create_appendix.js +57 -0
  68. package/dist/src/bindings/create_block.d.ts +31 -0
  69. package/dist/src/bindings/create_block.js +57 -2
  70. package/dist/src/bindings/create_diy_cell.d.ts +18 -0
  71. package/dist/src/bindings/create_diy_cell.js +26 -0
  72. package/dist/src/bindings/create_diy_cell_by_id.d.ts +22 -0
  73. package/dist/src/bindings/create_diy_cell_by_id.js +33 -0
  74. package/dist/src/bindings/create_sheet.d.ts +10 -0
  75. package/dist/src/bindings/create_sheet.js +19 -2
  76. package/dist/src/bindings/ct_border.d.ts +13 -0
  77. package/dist/src/bindings/ct_border.js +1 -0
  78. package/dist/src/bindings/ct_border_pr.d.ts +6 -0
  79. package/dist/src/bindings/ct_border_pr.js +1 -0
  80. package/dist/src/bindings/ct_color.d.ts +7 -0
  81. package/dist/src/bindings/ct_color.js +1 -0
  82. package/dist/src/bindings/ct_fill.d.ts +9 -0
  83. package/dist/src/bindings/ct_fill.js +1 -0
  84. package/dist/src/bindings/ct_font.d.ts +25 -0
  85. package/dist/src/bindings/ct_font.js +1 -0
  86. package/dist/src/bindings/ct_gradient_fill.d.ts +11 -0
  87. package/dist/src/bindings/ct_gradient_fill.js +1 -0
  88. package/dist/src/bindings/ct_gradient_stop.d.ts +5 -0
  89. package/dist/src/bindings/ct_gradient_stop.js +1 -0
  90. package/dist/src/bindings/ct_pattern_fill.d.ts +7 -0
  91. package/dist/src/bindings/ct_pattern_fill.js +1 -0
  92. package/dist/src/bindings/delete_cols.d.ts +13 -0
  93. package/dist/src/bindings/delete_cols.js +26 -2
  94. package/dist/src/bindings/delete_cols_in_block.d.ts +16 -0
  95. package/dist/src/bindings/delete_cols_in_block.js +33 -2
  96. package/dist/src/bindings/delete_rows.d.ts +13 -0
  97. package/dist/src/bindings/delete_rows.js +26 -2
  98. package/dist/src/bindings/delete_rows_in_block.d.ts +16 -0
  99. package/dist/src/bindings/delete_rows_in_block.js +33 -2
  100. package/dist/src/bindings/delete_sheet.d.ts +7 -0
  101. package/dist/src/bindings/delete_sheet.js +12 -2
  102. package/dist/src/bindings/display_window.d.ts +2 -2
  103. package/dist/src/bindings/display_window_request.js +0 -1
  104. package/dist/src/bindings/edit_action.d.ts +4 -2
  105. package/dist/src/bindings/edit_payload.d.ts +142 -33
  106. package/dist/src/bindings/ephemeral_cell_input.d.ts +13 -0
  107. package/dist/src/bindings/ephemeral_cell_input.js +26 -2
  108. package/dist/src/bindings/ephemeral_cell_remove.d.ts +14 -0
  109. package/dist/src/bindings/ephemeral_cell_remove.js +19 -0
  110. package/dist/src/bindings/ephemeral_cell_style_update.d.ts +13 -0
  111. package/dist/src/bindings/ephemeral_cell_style_update.js +26 -1
  112. package/dist/src/bindings/error_message.js +0 -1
  113. package/dist/src/bindings/field_render_entry.d.ts +6 -0
  114. package/dist/src/bindings/field_render_entry.js +1 -0
  115. package/dist/src/bindings/fill.d.ts +4 -2
  116. package/dist/src/bindings/font_family.js +0 -1
  117. package/dist/src/bindings/font_name.js +0 -1
  118. package/dist/src/bindings/font_size.d.ts +3 -0
  119. package/dist/src/bindings/font_size.js +1 -0
  120. package/dist/src/bindings/formula_display_info.d.ts +6 -0
  121. package/dist/src/bindings/formula_display_info.js +1 -0
  122. package/dist/src/bindings/horizontal_alignment.js +0 -1
  123. package/dist/src/bindings/index.d.ts +107 -0
  124. package/dist/src/bindings/index.js +107 -0
  125. package/dist/src/bindings/insert_cols.d.ts +13 -0
  126. package/dist/src/bindings/insert_cols.js +26 -2
  127. package/dist/src/bindings/insert_cols_in_block.d.ts +16 -0
  128. package/dist/src/bindings/insert_cols_in_block.js +33 -2
  129. package/dist/src/bindings/insert_rows.d.ts +13 -0
  130. package/dist/src/bindings/insert_rows.js +26 -2
  131. package/dist/src/bindings/insert_rows_in_block.d.ts +16 -0
  132. package/dist/src/bindings/insert_rows_in_block.js +33 -2
  133. package/dist/src/bindings/int_property.d.ts +3 -0
  134. package/dist/src/bindings/int_property.js +1 -0
  135. package/dist/src/bindings/line_format_brush.d.ts +25 -0
  136. package/dist/src/bindings/line_format_brush.js +54 -2
  137. package/dist/src/bindings/line_style_update.d.ts +19 -0
  138. package/dist/src/bindings/line_style_update.js +40 -1
  139. package/dist/src/bindings/merge_cell.js +0 -1
  140. package/dist/src/bindings/merge_cells.d.ts +19 -0
  141. package/dist/src/bindings/merge_cells.js +40 -2
  142. package/dist/src/bindings/modify_policy.d.ts +1 -0
  143. package/dist/src/bindings/modify_policy.js +1 -0
  144. package/dist/src/bindings/move_block.d.ts +16 -0
  145. package/dist/src/bindings/move_block.js +33 -2
  146. package/dist/src/bindings/move_block_line.d.ts +26 -0
  147. package/dist/src/bindings/move_block_line.js +40 -0
  148. package/dist/src/bindings/msg_sequencer_action_invalid_message.js +0 -1
  149. package/dist/src/bindings/msg_sequencer_init_workbook.js +0 -1
  150. package/dist/src/bindings/msg_sequencer_message.d.ts +6 -3
  151. package/dist/src/bindings/msg_user_message.d.ts +4 -2
  152. package/dist/src/bindings/normal_cell_id.js +0 -1
  153. package/dist/src/bindings/random_schema_unit.d.ts +22 -0
  154. package/dist/src/bindings/random_schema_unit.js +33 -0
  155. package/dist/src/bindings/raw_style.d.ts +13 -0
  156. package/dist/src/bindings/raw_style.js +1 -0
  157. package/dist/src/bindings/remove_appendix.d.ts +26 -0
  158. package/dist/src/bindings/remove_appendix.js +36 -0
  159. package/dist/src/bindings/remove_block.d.ts +10 -0
  160. package/dist/src/bindings/remove_block.js +19 -2
  161. package/dist/src/bindings/remove_diy_cell.d.ts +18 -0
  162. package/dist/src/bindings/remove_diy_cell.js +26 -0
  163. package/dist/src/bindings/remove_diy_cell_by_id.d.ts +22 -0
  164. package/dist/src/bindings/remove_diy_cell_by_id.js +33 -0
  165. package/dist/src/bindings/reorder_block_lines.d.ts +6 -0
  166. package/dist/src/bindings/reorder_block_lines.js +1 -0
  167. package/dist/src/bindings/reproduce_cells.d.ts +23 -0
  168. package/dist/src/bindings/reproduce_cells.js +33 -0
  169. package/dist/src/bindings/reproducible_cell.d.ts +10 -0
  170. package/dist/src/bindings/reproducible_cell.js +1 -0
  171. package/dist/src/bindings/resize_block.d.ts +22 -0
  172. package/dist/src/bindings/resize_block.js +29 -0
  173. package/dist/src/bindings/row_info.js +0 -1
  174. package/dist/src/bindings/rpc_batch_get_cell_coordinate_with_sheet_by_id_params.d.ts +4 -0
  175. package/dist/src/bindings/rpc_batch_get_cell_coordinate_with_sheet_by_id_params.js +1 -0
  176. package/dist/src/bindings/rpc_batch_get_cell_info_by_id_params.d.ts +4 -0
  177. package/dist/src/bindings/rpc_batch_get_cell_info_by_id_params.js +1 -0
  178. package/dist/src/bindings/rpc_calc_condition_params.d.ts +4 -0
  179. package/dist/src/bindings/rpc_calc_condition_params.js +1 -0
  180. package/dist/src/bindings/rpc_check_formula_params.d.ts +3 -0
  181. package/dist/src/bindings/rpc_check_formula_params.js +1 -0
  182. package/dist/src/bindings/rpc_direction.d.ts +1 -0
  183. package/dist/src/bindings/rpc_direction.js +1 -0
  184. package/dist/src/bindings/rpc_get_available_block_id_params.d.ts +3 -0
  185. package/dist/src/bindings/rpc_get_available_block_id_params.js +1 -0
  186. package/dist/src/bindings/rpc_get_block_col_id_params.d.ts +5 -0
  187. package/dist/src/bindings/rpc_get_block_col_id_params.js +1 -0
  188. package/dist/src/bindings/rpc_get_block_display_window_params.d.ts +4 -0
  189. package/dist/src/bindings/rpc_get_block_display_window_params.js +1 -0
  190. package/dist/src/bindings/rpc_get_block_info_params.d.ts +4 -0
  191. package/dist/src/bindings/rpc_get_block_info_params.js +1 -0
  192. package/dist/src/bindings/rpc_get_block_row_id_params.d.ts +5 -0
  193. package/dist/src/bindings/rpc_get_block_row_id_params.js +1 -0
  194. package/dist/src/bindings/rpc_get_block_values_params.d.ts +6 -0
  195. package/dist/src/bindings/rpc_get_block_values_params.js +1 -0
  196. package/dist/src/bindings/rpc_get_cell_id_by_block_ref_params.d.ts +5 -0
  197. package/dist/src/bindings/rpc_get_cell_id_by_block_ref_params.js +1 -0
  198. package/dist/src/bindings/rpc_get_cell_id_params.d.ts +5 -0
  199. package/dist/src/bindings/rpc_get_cell_id_params.js +1 -0
  200. package/dist/src/bindings/rpc_get_cell_infos_params.d.ts +7 -0
  201. package/dist/src/bindings/rpc_get_cell_infos_params.js +1 -0
  202. package/dist/src/bindings/rpc_get_cell_params.d.ts +5 -0
  203. package/dist/src/bindings/rpc_get_cell_params.js +1 -0
  204. package/dist/src/bindings/rpc_get_cell_position_params.d.ts +5 -0
  205. package/dist/src/bindings/rpc_get_cell_position_params.js +1 -0
  206. package/dist/src/bindings/rpc_get_cells_except_window_params.d.ts +11 -0
  207. package/dist/src/bindings/rpc_get_cells_except_window_params.js +1 -0
  208. package/dist/src/bindings/rpc_get_cells_params.d.ts +7 -0
  209. package/dist/src/bindings/rpc_get_cells_params.js +1 -0
  210. package/dist/src/bindings/rpc_get_col_width_params.d.ts +4 -0
  211. package/dist/src/bindings/rpc_get_col_width_params.js +1 -0
  212. package/dist/src/bindings/rpc_get_display_units_of_formula_params.d.ts +3 -0
  213. package/dist/src/bindings/rpc_get_display_units_of_formula_params.js +1 -0
  214. package/dist/src/bindings/rpc_get_display_window_params.d.ts +7 -0
  215. package/dist/src/bindings/rpc_get_display_window_params.js +1 -0
  216. package/dist/src/bindings/rpc_get_display_window_with_start_point_params.d.ts +7 -0
  217. package/dist/src/bindings/rpc_get_display_window_with_start_point_params.js +1 -0
  218. package/dist/src/bindings/rpc_get_display_window_within_cell_params.d.ts +7 -0
  219. package/dist/src/bindings/rpc_get_display_window_within_cell_params.js +1 -0
  220. package/dist/src/bindings/rpc_get_diy_cell_id_with_block_id_params.d.ts +6 -0
  221. package/dist/src/bindings/rpc_get_diy_cell_id_with_block_id_params.js +1 -0
  222. package/dist/src/bindings/rpc_get_merged_cells_params.d.ts +7 -0
  223. package/dist/src/bindings/rpc_get_merged_cells_params.js +1 -0
  224. package/dist/src/bindings/rpc_get_next_visible_cell_params.d.ts +7 -0
  225. package/dist/src/bindings/rpc_get_next_visible_cell_params.js +1 -0
  226. package/dist/src/bindings/rpc_get_reproducible_cell_params.d.ts +5 -0
  227. package/dist/src/bindings/rpc_get_reproducible_cell_params.js +1 -0
  228. package/dist/src/bindings/rpc_get_reproducible_cells_params.d.ts +5 -0
  229. package/dist/src/bindings/rpc_get_reproducible_cells_params.js +1 -0
  230. package/dist/src/bindings/rpc_get_row_height_params.d.ts +4 -0
  231. package/dist/src/bindings/rpc_get_row_height_params.js +1 -0
  232. package/dist/src/bindings/rpc_get_row_info_params.d.ts +4 -0
  233. package/dist/src/bindings/rpc_get_row_info_params.js +1 -0
  234. package/dist/src/bindings/rpc_get_shadow_cell_id_params.d.ts +7 -0
  235. package/dist/src/bindings/rpc_get_shadow_cell_id_params.js +1 -0
  236. package/dist/src/bindings/rpc_get_shadow_cell_ids_params.d.ts +7 -0
  237. package/dist/src/bindings/rpc_get_shadow_cell_ids_params.js +1 -0
  238. package/dist/src/bindings/rpc_get_shadow_info_by_id_params.d.ts +3 -0
  239. package/dist/src/bindings/rpc_get_shadow_info_by_id_params.js +1 -0
  240. package/dist/src/bindings/rpc_get_sheet_dimension_params.d.ts +3 -0
  241. package/dist/src/bindings/rpc_get_sheet_dimension_params.js +1 -0
  242. package/dist/src/bindings/rpc_get_sheet_id_params.d.ts +3 -0
  243. package/dist/src/bindings/rpc_get_sheet_id_params.js +1 -0
  244. package/dist/src/bindings/rpc_get_sheet_idx_params.d.ts +3 -0
  245. package/dist/src/bindings/rpc_get_sheet_idx_params.js +1 -0
  246. package/dist/src/bindings/rpc_get_sheet_name_by_idx_params.d.ts +3 -0
  247. package/dist/src/bindings/rpc_get_sheet_name_by_idx_params.js +1 -0
  248. package/dist/src/bindings/rpc_handle_transaction_params.d.ts +4 -0
  249. package/dist/src/bindings/rpc_handle_transaction_params.js +1 -0
  250. package/dist/src/bindings/rpc_load_workbook_params.d.ts +4 -0
  251. package/dist/src/bindings/rpc_load_workbook_params.js +1 -0
  252. package/dist/src/bindings/rpc_lookup_appendix_upward_params.d.ts +8 -0
  253. package/dist/src/bindings/rpc_lookup_appendix_upward_params.js +1 -0
  254. package/dist/src/bindings/rpc_save_params.d.ts +3 -0
  255. package/dist/src/bindings/rpc_save_params.js +1 -0
  256. package/dist/src/bindings/rpc_toggle_status_params.d.ts +3 -0
  257. package/dist/src/bindings/rpc_toggle_status_params.js +1 -0
  258. package/dist/src/bindings/rpc_transaction.d.ts +6 -0
  259. package/dist/src/bindings/rpc_transaction.js +1 -0
  260. package/dist/src/bindings/rpc_workbook_methods.d.ts +116 -0
  261. package/dist/src/bindings/rpc_workbook_methods.js +1 -0
  262. package/dist/src/bindings/save_file_result.d.ts +4 -0
  263. package/dist/src/bindings/save_file_result.js +1 -0
  264. package/dist/src/bindings/set_col_width.d.ts +13 -0
  265. package/dist/src/bindings/set_col_width.js +26 -2
  266. package/dist/src/bindings/set_row_height.d.ts +13 -0
  267. package/dist/src/bindings/set_row_height.js +26 -2
  268. package/dist/src/bindings/set_sheet_color.d.ts +14 -0
  269. package/dist/src/bindings/set_sheet_color.js +19 -0
  270. package/dist/src/bindings/set_sheet_visible.d.ts +14 -0
  271. package/dist/src/bindings/set_sheet_visible.js +19 -0
  272. package/dist/src/bindings/set_visible.d.ts +16 -0
  273. package/dist/src/bindings/set_visible.js +33 -2
  274. package/dist/src/bindings/shadow_cell_info.d.ts +7 -0
  275. package/dist/src/bindings/shadow_cell_info.js +1 -0
  276. package/dist/src/bindings/shadow_kind.d.ts +1 -0
  277. package/dist/src/bindings/shadow_kind.js +1 -0
  278. package/dist/src/bindings/sheet_cell_id.d.ts +15 -0
  279. package/dist/src/bindings/sheet_cell_id.js +19 -0
  280. package/dist/src/bindings/sheet_col_id.d.ts +14 -0
  281. package/dist/src/bindings/sheet_col_id.js +19 -0
  282. package/dist/src/bindings/sheet_coordinate.d.ts +4 -0
  283. package/dist/src/bindings/sheet_coordinate.js +1 -0
  284. package/dist/src/bindings/sheet_dimension.js +0 -1
  285. package/dist/src/bindings/sheet_info.js +0 -1
  286. package/dist/src/bindings/sheet_rename.d.ts +13 -0
  287. package/dist/src/bindings/sheet_rename.js +22 -2
  288. package/dist/src/bindings/sheet_row_id.d.ts +14 -0
  289. package/dist/src/bindings/sheet_row_id.js +19 -0
  290. package/dist/src/bindings/split_merged_cells.d.ts +13 -0
  291. package/dist/src/bindings/split_merged_cells.js +26 -2
  292. package/dist/src/bindings/st_border_style.js +0 -1
  293. package/dist/src/bindings/st_font_scheme.js +0 -1
  294. package/dist/src/bindings/st_gradient_type.js +0 -1
  295. package/dist/src/bindings/st_horizontal_alignment.d.ts +1 -1
  296. package/dist/src/bindings/st_horizontal_alignment.js +0 -1
  297. package/dist/src/bindings/st_pattern_type.js +0 -1
  298. package/dist/src/bindings/st_underline_values.js +0 -1
  299. package/dist/src/bindings/st_vertical_align_run.js +0 -1
  300. package/dist/src/bindings/st_vertical_alignment.d.ts +1 -1
  301. package/dist/src/bindings/st_vertical_alignment.js +0 -1
  302. package/dist/src/bindings/status_code.d.ts +4 -2
  303. package/dist/src/bindings/style_update_type.d.ts +77 -0
  304. package/dist/src/bindings/style_update_type.js +125 -1
  305. package/dist/src/bindings/task.js +0 -1
  306. package/dist/src/bindings/temp_cell_change.d.ts +8 -0
  307. package/dist/src/bindings/temp_cell_change.js +1 -0
  308. package/dist/src/bindings/temp_status_diff.d.ts +4 -0
  309. package/dist/src/bindings/temp_status_diff.js +1 -0
  310. package/dist/src/bindings/token_type.d.ts +1 -0
  311. package/dist/src/bindings/token_type.js +1 -0
  312. package/dist/src/bindings/token_unit.d.ts +6 -0
  313. package/dist/src/bindings/token_unit.js +1 -0
  314. package/dist/src/bindings/upsert_field_formulas.d.ts +18 -0
  315. package/dist/src/bindings/upsert_field_formulas.js +26 -0
  316. package/dist/src/bindings/upsert_field_render_info.d.ts +19 -0
  317. package/dist/src/bindings/upsert_field_render_info.js +26 -0
  318. package/dist/src/bindings/value.d.ts +8 -4
  319. package/dist/src/bindings/value.js +0 -1
  320. package/dist/src/bindings/vertical_alignment.js +0 -1
  321. package/dist/src/bindings/workbook_file.js +0 -1
  322. package/dist/src/bindings/workbook_update_type.js +0 -1
  323. package/dist/src/client.d.ts +18 -75
  324. package/dist/src/index.d.ts +4 -2
  325. package/dist/src/index.js +4 -1
  326. package/dist/src/layout.d.ts +7 -0
  327. package/dist/src/layout.js +1 -0
  328. package/dist/src/payloads/index.d.ts +1 -65
  329. package/dist/src/payloads/index.js +1 -32
  330. package/dist/src/payloads/set_block_line_name_field.d.ts +34 -0
  331. package/dist/src/payloads/set_block_line_name_field.js +62 -0
  332. package/dist/src/payloads/set_block_line_num_fmt.d.ts +23 -0
  333. package/dist/src/payloads/set_block_line_num_fmt.js +54 -0
  334. package/dist/src/payloads/set_cell_alignment.d.ts +0 -1
  335. package/dist/src/payloads/set_cell_alignment.js +0 -1
  336. package/dist/src/payloads/set_cell_border.d.ts +0 -1
  337. package/dist/src/payloads/set_cell_border.js +0 -1
  338. package/dist/src/payloads/set_cell_font.d.ts +0 -1
  339. package/dist/src/payloads/set_cell_font.js +0 -1
  340. package/dist/src/payloads/{cell_clear.d.ts → set_cell_num_fmt.d.ts} +6 -4
  341. package/dist/src/payloads/{cell_input.js → set_cell_num_fmt.js} +7 -8
  342. package/dist/src/payloads/set_cell_pattern_fill.d.ts +0 -1
  343. package/dist/src/payloads/set_cell_pattern_fill.js +0 -1
  344. package/dist/src/payloads/{split_merged_cells.d.ts → set_cell_wrap_text.d.ts} +6 -4
  345. package/dist/src/payloads/{cell_clear.js → set_cell_wrap_text.js} +9 -2
  346. package/dist/src/payloads/set_field_num_fmt.d.ts +14 -0
  347. package/dist/src/payloads/set_field_num_fmt.js +30 -0
  348. package/dist/src/payloads/set_line_alignment.d.ts +0 -1
  349. package/dist/src/payloads/set_line_alignment.js +0 -1
  350. package/dist/src/payloads/set_line_border.d.ts +0 -1
  351. package/dist/src/payloads/set_line_border.js +0 -1
  352. package/dist/src/payloads/set_line_font.d.ts +0 -1
  353. package/dist/src/payloads/set_line_font.js +0 -1
  354. package/dist/src/payloads/set_line_num_fmt.d.ts +20 -0
  355. package/dist/src/payloads/set_line_num_fmt.js +46 -0
  356. package/dist/src/payloads/set_line_pattern_fill.d.ts +0 -1
  357. package/dist/src/payloads/set_line_pattern_fill.js +0 -1
  358. package/dist/src/payloads/set_line_wrap_text.d.ts +20 -0
  359. package/dist/src/payloads/set_line_wrap_text.js +46 -0
  360. package/dist/src/types.d.ts +31 -0
  361. package/dist/src/types.js +21 -0
  362. package/dist/src/utils.d.ts +1 -0
  363. package/dist/src/utils.js +22 -0
  364. package/package.json +3 -2
  365. package/dist/src/bindings/cell_formula_value.d.ts +0 -7
  366. package/dist/src/bindings/cell_style.d.ts +0 -6
  367. package/dist/src/bindings/display_patch.d.ts +0 -25
  368. package/dist/src/bindings/display_request.d.ts +0 -4
  369. package/dist/src/bindings/display_request.js +0 -2
  370. package/dist/src/bindings/display_response.d.ts +0 -5
  371. package/dist/src/bindings/sheet_blocks.d.ts +0 -5
  372. package/dist/src/bindings/sheet_col_info.d.ts +0 -6
  373. package/dist/src/bindings/sheet_comments.d.ts +0 -5
  374. package/dist/src/bindings/sheet_merge_cells.d.ts +0 -5
  375. package/dist/src/bindings/sheet_names.d.ts +0 -3
  376. package/dist/src/bindings/sheet_names.js +0 -2
  377. package/dist/src/bindings/sheet_row_info.d.ts +0 -6
  378. package/dist/src/bindings/sheet_styles.d.ts +0 -5
  379. package/dist/src/bindings/sheet_values.d.ts +0 -5
  380. package/dist/src/bindings/style_update.d.ts +0 -7
  381. package/dist/src/payloads/block_input.d.ts +0 -21
  382. package/dist/src/payloads/block_input.js +0 -47
  383. package/dist/src/payloads/cell_format_brush.d.ts +0 -30
  384. package/dist/src/payloads/cell_format_brush.js +0 -71
  385. package/dist/src/payloads/cell_input.d.ts +0 -18
  386. package/dist/src/payloads/create_block.d.ts +0 -24
  387. package/dist/src/payloads/create_block.js +0 -61
  388. package/dist/src/payloads/delete_block_cols.d.ts +0 -18
  389. package/dist/src/payloads/delete_block_cols.js +0 -39
  390. package/dist/src/payloads/delete_block_rows.d.ts +0 -18
  391. package/dist/src/payloads/delete_block_rows.js +0 -39
  392. package/dist/src/payloads/delete_cols.d.ts +0 -15
  393. package/dist/src/payloads/delete_cols.js +0 -31
  394. package/dist/src/payloads/delete_rows.d.ts +0 -15
  395. package/dist/src/payloads/delete_rows.js +0 -31
  396. package/dist/src/payloads/delete_sheet.d.ts +0 -9
  397. package/dist/src/payloads/delete_sheet.js +0 -15
  398. package/dist/src/payloads/insert_block_cols.d.ts +0 -18
  399. package/dist/src/payloads/insert_block_cols.js +0 -39
  400. package/dist/src/payloads/insert_block_rows.d.ts +0 -18
  401. package/dist/src/payloads/insert_block_rows.js +0 -39
  402. package/dist/src/payloads/insert_cols.d.ts +0 -15
  403. package/dist/src/payloads/insert_cols.js +0 -31
  404. package/dist/src/payloads/insert_rows.d.ts +0 -15
  405. package/dist/src/payloads/insert_rows.js +0 -31
  406. package/dist/src/payloads/insert_sheet.d.ts +0 -12
  407. package/dist/src/payloads/insert_sheet.js +0 -23
  408. package/dist/src/payloads/line_format_brush.d.ts +0 -27
  409. package/dist/src/payloads/line_format_brush.js +0 -63
  410. package/dist/src/payloads/merge_cells.d.ts +0 -21
  411. package/dist/src/payloads/merge_cells.js +0 -47
  412. package/dist/src/payloads/move_block.d.ts +0 -18
  413. package/dist/src/payloads/move_block.js +0 -39
  414. package/dist/src/payloads/set_border.d.ts +0 -49
  415. package/dist/src/payloads/set_border.js +0 -97
  416. package/dist/src/payloads/set_col_visible.d.ts +0 -15
  417. package/dist/src/payloads/set_col_visible.js +0 -31
  418. package/dist/src/payloads/set_col_width.d.ts +0 -15
  419. package/dist/src/payloads/set_col_width.js +0 -31
  420. package/dist/src/payloads/set_font.d.ts +0 -46
  421. package/dist/src/payloads/set_font.js +0 -91
  422. package/dist/src/payloads/set_row_height.d.ts +0 -15
  423. package/dist/src/payloads/set_row_height.js +0 -31
  424. package/dist/src/payloads/set_row_visible.d.ts +0 -15
  425. package/dist/src/payloads/set_row_visible.js +0 -31
  426. package/dist/src/payloads/sheet_rename.d.ts +0 -15
  427. package/dist/src/payloads/sheet_rename.js +0 -29
  428. package/dist/src/payloads/split_merged_cells.js +0 -31
  429. package/dist/src/transactions.d.ts +0 -13
  430. package/dist/src/transactions.js +0 -23
  431. /package/dist/src/bindings/{cell_formula_value.js → app_data.js} +0 -0
  432. /package/dist/src/bindings/{cell_style.js → appendix.js} +0 -0
  433. /package/dist/src/bindings/{display_patch.js → appendix_with_cell.js} +0 -0
  434. /package/dist/src/bindings/{display_response.js → block_cell_info.js} +0 -0
  435. /package/dist/src/bindings/{sheet_blocks.js → block_display_info.js} +0 -0
  436. /package/dist/src/bindings/{sheet_col_info.js → block_field.js} +0 -0
  437. /package/dist/src/bindings/{sheet_comments.js → block_schema.js} +0 -0
  438. /package/dist/src/bindings/{sheet_merge_cells.js → block_schema_field_entry.js} +0 -0
  439. /package/dist/src/bindings/{sheet_row_info.js → block_schema_key_entry.js} +0 -0
  440. /package/dist/src/bindings/{sheet_styles.js → block_schema_random_entry.js} +0 -0
  441. /package/dist/src/bindings/{sheet_values.js → block_schema_type.js} +0 -0
  442. /package/dist/src/bindings/{style_update.js → cell_coordinate.js} +0 -0
@@ -1,42 +1,63 @@
1
- import { block_input, block_line_shift, calc_condition, cell_clear, cell_input, check_bind_block, check_formula, col_delete, col_insert, create_block, create_sheet, delete_sheet, get_all_sheet_info, get_available_block_id, get_sheet_count, get_sheet_id, input_async_result, merge_cells, move_block, new_workbook, read_file, redo, release, row_delete, row_insert, set_cell_alignment, set_cell_border, set_cell_format_brush, set_cell_pattern_fill, set_col_width, set_font, set_line_alignment, set_line_border, set_line_font, set_line_format_brush, set_line_pattern_fill, set_row_height, sheet_rename_by_idx, sheet_rename_by_name, split_merged_cells, transaction_end, transaction_start, undo, } from '../../wasm/logisheets_wasm_server';
2
- import { Transaction } from '../transactions';
1
+ import { handle, input_async_result } from '../../wasm/logisheets_wasm_server';
3
2
  import { Worksheet } from './worksheet';
4
3
  import { Calculator } from './calculator';
4
+ import { isErrorMessage } from './utils';
5
5
  import { BlockManager } from './block_manager';
6
+ function rpc(method, params, bookId
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
+ ) {
9
+ const msg = params === undefined ? method : { method, value: params };
10
+ return handle(msg, bookId ?? null);
11
+ }
6
12
  export class Workbook {
7
13
  constructor() {
8
- this._id = new_workbook();
14
+ this._id = rpc('newWorkbook');
9
15
  this._blockManager = new BlockManager((sheetIdx, blockId, rowCount, colCount) => {
10
- return check_bind_block(this._id, sheetIdx, blockId, rowCount, colCount);
16
+ return rpc('checkBindBlock', { sheetIdx, blockId, rowCount, colCount }, this._id);
11
17
  }, (sheetIdx) => {
12
- return get_available_block_id(this._id, sheetIdx);
18
+ return rpc('getAvailableBlockId', { sheetIdx }, this._id);
13
19
  });
14
20
  }
21
+ getSheetIdx(sheetId) {
22
+ return rpc('getSheetIdx', { sheetId }, this._id);
23
+ }
24
+ getBlockValues(params) {
25
+ return rpc('getBlockValues', params, this._id);
26
+ }
27
+ getAvailableBlockId(params) {
28
+ return rpc('getAvailableBlockId', params, this._id);
29
+ }
15
30
  /**
16
31
  * @returns the block id if success, otherwise the error message
17
32
  *
18
33
  * It is caller's responsibility to store the block id.
19
34
  */
20
- createBlockForNewCraft(sheetIdx, masterRow, masterCol, rowCount, colCount) {
35
+ createBlockForNewCraft(sheetIdx, masterRow, masterCol, rowCnt, colCnt) {
21
36
  const id = this._blockManager.getAvailableBlockId(sheetIdx);
22
- const effect = this.execTransaction(new Transaction([
23
- {
24
- type: 'createBlock',
25
- sheetIdx,
26
- blockId: id,
27
- masterRow,
28
- masterCol,
29
- rowCnt: rowCount,
30
- colCnt: colCount,
31
- },
32
- ], false));
33
- if ('err' in effect.status) {
37
+ const effect = this.execTransaction({
38
+ payloads: [
39
+ {
40
+ type: 'createBlock',
41
+ value: {
42
+ sheetIdx,
43
+ id,
44
+ masterRow,
45
+ masterCol,
46
+ rowCnt,
47
+ colCnt,
48
+ },
49
+ },
50
+ ],
51
+ undoable: false,
52
+ temp: false,
53
+ });
54
+ if (effect.status.type === 'err') {
34
55
  return {
35
56
  msg: 'failed to create block',
36
- ty: effect.status.err,
57
+ ty: effect.status.value,
37
58
  };
38
59
  }
39
- const bind = this._blockManager.bindBlock(sheetIdx, id, rowCount, colCount);
60
+ const bind = this._blockManager.bindBlock(sheetIdx, id, rowCnt, colCnt);
40
61
  if (!bind) {
41
62
  return {
42
63
  msg: 'failed to bind block',
@@ -46,7 +67,7 @@ export class Workbook {
46
67
  return id;
47
68
  }
48
69
  undo() {
49
- const result = undo(this._id);
70
+ const result = rpc('undo', undefined, this._id);
50
71
  if (result) {
51
72
  this._onCellUpdate();
52
73
  this._onSheetUpdate();
@@ -54,7 +75,7 @@ export class Workbook {
54
75
  return result;
55
76
  }
56
77
  redo() {
57
- const result = redo(this._id);
78
+ const result = rpc('redo', undefined, this._id);
58
79
  if (result) {
59
80
  this._onCellUpdate();
60
81
  this._onSheetUpdate();
@@ -67,24 +88,113 @@ export class Workbook {
67
88
  registerSheetInfoUpdateCallback(callback) {
68
89
  this._sheetInfoUpdatedCallbacks.push(callback);
69
90
  }
91
+ /**
92
+ * Fires after a transaction with sheet indices whose row/column headers
93
+ * changed (i.e. SetRowHeight / SetColWidth payloads). Useful for the UI
94
+ * to know which sheets need their header strip re-rendered.
95
+ */
96
+ registerHeaderUpdatedCallback(callback) {
97
+ this._headerUpdatedCallbacks.push(callback);
98
+ }
99
+ getSheetNameByIdx(idx) {
100
+ return rpc('getSheetNameByIdx', { idx }, this._id);
101
+ }
70
102
  getAllSheetInfo() {
71
- return get_all_sheet_info(this._id);
103
+ return rpc('getAllSheetInfo', undefined, this._id);
72
104
  }
73
105
  checkFormula(f) {
74
- return check_formula(this._id, f);
106
+ return rpc('checkFormula', { formula: f }, this._id);
75
107
  }
76
108
  calcCondition(sheetIdx, f) {
77
- return calc_condition(this._id, sheetIdx, f);
109
+ return rpc('calcCondition', { sheetIdx, condition: f }, this._id);
110
+ }
111
+ /**
112
+ * Resolve a (refName, key, field) triple to a concrete cell, the same
113
+ * way the BLOCKREF formula resolves at evaluation time. Useful for
114
+ * subscribing to block cells without threading sheet/block/row/col
115
+ * coordinates.
116
+ */
117
+ getCellIdByBlockRef(refName, key, field) {
118
+ return rpc('getCellIdByBlockRef', { refName, key, field }, this._id);
119
+ }
120
+ /**
121
+ * Snapshot of all cell-value differences between the active temp
122
+ * branch and the committed (fork) status. Returns an empty diff
123
+ * when no temp branch is active. Used by the host's diff layer to
124
+ * drive its overlay without needing JS-side snapshot/compare.
125
+ */
126
+ getTempStatusChanges() {
127
+ return rpc('getTempStatusChanges', undefined, this._id);
78
128
  }
79
129
  getSheetId(sheetIdx) {
80
- return get_sheet_id(this._id, sheetIdx);
130
+ return rpc('getSheetId', { sheetIdx }, this._id);
81
131
  }
82
- execTransaction(tx) {
83
- transaction_start(this._id);
84
- tx.payloads.forEach((p) => {
85
- this._addPayload(p);
132
+ getBlockRowId(sheetId, blockId, rowIdx) {
133
+ return rpc('getBlockRowId', { sheetId, blockId, rowIdx }, this._id);
134
+ }
135
+ getBlockColId(sheetId, blockId, colIdx) {
136
+ return rpc('getBlockColId', { sheetId, blockId, colIdx }, this._id);
137
+ }
138
+ getDisplayUnitsOfFormula(f) {
139
+ return rpc('getDisplayUnitsOfFormula', { formula: f }, this._id);
140
+ }
141
+ onCellValueChanged(sheetIdx, rowIdx, colIdx, callback) {
142
+ const cellId = this.getCellId({ sheetIdx, rowIdx, colIdx });
143
+ if (isErrorMessage(cellId)) {
144
+ return cellId;
145
+ }
146
+ this._registerCellValueChangedCallback(cellId, callback);
147
+ }
148
+ onCellRemoved(sheetIdx, rowIdx, colIdx, callback) {
149
+ const cellId = this.getCellId({ sheetIdx, rowIdx, colIdx });
150
+ if (isErrorMessage(cellId)) {
151
+ return cellId;
152
+ }
153
+ this._registerCellRemovedCallback(cellId, callback);
154
+ }
155
+ onShadowCellValueChanged(sheetIdx, rowIdx, colIdx, callback) {
156
+ const shadowId = this.getShadowCellId({
157
+ sheetIdx,
158
+ rowIdx,
159
+ colIdx,
86
160
  });
87
- const result = transaction_end(this._id, tx.undoable);
161
+ if (isErrorMessage(shadowId)) {
162
+ return shadowId;
163
+ }
164
+ this._registerCellValueChangedCallback(shadowId, callback);
165
+ }
166
+ _registerCellRemovedCallback(cellId, callback) {
167
+ if (!this._cellRemovedCallbacks.has(cellId)) {
168
+ this._cellRemovedCallbacks.set(cellId, []);
169
+ }
170
+ this._cellRemovedCallbacks.get(cellId)?.push(callback);
171
+ }
172
+ _registerCellValueChangedCallback(id, callback) {
173
+ if (!this._cellValueChangedCallbacks.has(id)) {
174
+ this._cellValueChangedCallbacks.set(id, []);
175
+ }
176
+ this._cellValueChangedCallbacks.get(id)?.push(callback);
177
+ }
178
+ registerCellValueChangedByCellId(cellId, callback) {
179
+ this._registerCellValueChangedCallback(cellId, callback);
180
+ }
181
+ commitTempStatus() {
182
+ rpc('commitTempStatus', undefined, this._id);
183
+ }
184
+ cleanupTempStatus() {
185
+ rpc('cleanTempStatus', undefined, this._id);
186
+ }
187
+ toggleStatus(useTemp) {
188
+ rpc('toggleStatus', { useTemp }, this._id);
189
+ }
190
+ batchGetCellInfoById(ids) {
191
+ return rpc('batchGetCellInfoById', { ids }, this._id);
192
+ }
193
+ batchGetCellCoordinateWithSheetById(ids) {
194
+ return rpc('batchGetCellCoordinateWithSheetById', { ids }, this._id);
195
+ }
196
+ execTransaction(tx) {
197
+ const result = rpc('handleTransaction', { transaction: tx }, this._id);
88
198
  if (result.asyncTasks.length > 0) {
89
199
  const asyncResult = this._calculator.calc(result.asyncTasks);
90
200
  asyncResult.then((result) => {
@@ -92,8 +202,8 @@ export class Workbook {
92
202
  this._onCellUpdate();
93
203
  });
94
204
  }
95
- if ('ok' in result.status) {
96
- switch (result.status.ok) {
205
+ if (result.status.type === 'ok') {
206
+ switch (result.status.value) {
97
207
  case 'cell':
98
208
  this._onCellUpdate();
99
209
  break;
@@ -112,17 +222,40 @@ export class Workbook {
112
222
  this._onCellUpdate();
113
223
  this._onSheetUpdate();
114
224
  }
225
+ result.valueChanged.forEach((cellId) => {
226
+ this._cellValueChangedCallbacks
227
+ .get(cellId)
228
+ ?.forEach((callback) => {
229
+ callback();
230
+ });
231
+ });
232
+ result.cellRemoved.forEach((cellId) => {
233
+ this._cellRemovedCallbacks.get(cellId)?.forEach((callback) => {
234
+ callback();
235
+ });
236
+ this._cellRemovedCallbacks.delete(cellId);
237
+ this._cellValueChangedCallbacks.delete(cellId);
238
+ });
239
+ if (result.headerUpdated.length > 0) {
240
+ this._headerUpdatedCallbacks.forEach((cb) => cb(result.headerUpdated));
241
+ }
115
242
  }
116
243
  return result;
117
244
  }
118
245
  load(buf, bookName) {
119
- return read_file(this._id, bookName, buf);
246
+ return rpc('loadWorkbook', { content: Array.from(buf), name: bookName }, this._id);
247
+ }
248
+ save(data) {
249
+ return rpc('saveWorkbook', { appData: data }, this._id);
250
+ }
251
+ getAppData() {
252
+ return rpc('getAppData', undefined, this._id);
120
253
  }
121
254
  release() {
122
- release(this._id);
255
+ rpc('release', undefined, this._id);
123
256
  }
124
257
  getSheetCount() {
125
- return get_sheet_count(this._id);
258
+ return rpc('getSheetCount', undefined, this._id);
126
259
  }
127
260
  getWorksheet(idx) {
128
261
  if (idx >= this.getSheetCount())
@@ -135,75 +268,20 @@ export class Workbook {
135
268
  registryCustomFunc(customFunc) {
136
269
  this._calculator.registry(customFunc);
137
270
  }
138
- _addPayload(p) {
139
- if (p.type === 'cellInput')
140
- return cell_input(this._id, p.sheetIdx, p.row, p.col, p.input);
141
- if (p.type === 'insertRows')
142
- return row_insert(this._id, p.sheetIdx, p.start, p.cnt);
143
- if (p.type === 'deleteRows')
144
- return row_delete(this._id, p.sheetIdx, p.start, p.cnt);
145
- if (p.type === 'insertCols')
146
- return col_insert(this._id, p.sheetIdx, p.start, p.cnt);
147
- if (p.type === 'deleteCols')
148
- return col_delete(this._id, p.sheetIdx, p.start, p.cnt);
149
- if (p.type === 'createBlock')
150
- return create_block(this._id, p.sheetIdx, p.blockId, p.masterRow, p.masterCol, p.rowCnt, p.colCnt);
151
- if (p.type === 'moveBlock')
152
- return move_block(this._id, p.sheetIdx, p.blockId, p.newMasterRow, p.newMasterCol);
153
- if (p.type === 'setCellBorder')
154
- return set_cell_border(this._id, p.sheetIdx, p.row, p.col, p.leftColor, p.rightColor, p.topColor, p.bottomColor, p.leftBorderType, p.rightBorderType, p.topBorderType, p.bottomBorderType, p.outline, p.diagonalUp, p.diagonalDown);
155
- if (p.type === 'setLineBorder')
156
- return set_line_border(this._id, p.sheetIdx, p.row, p.line, p.leftColor, p.rightColor, p.topColor, p.bottomColor, p.leftBorderType, p.rightBorderType, p.topBorderType, p.bottomBorderType, p.outline, p.diagonalUp, p.diagonalDown);
157
- if (p.type === 'setCellFont')
158
- return set_font(this._id, p.sheetIdx, p.row, p.col, p.bold, p.italic, p.name, p.underline, p.color, p.size, p.outline, p.shadow, p.strike, p.condense);
159
- if (p.type === 'setLineFont')
160
- return set_line_font(this._id, p.sheetIdx, p.from, p.to, p.row, p.bold, p.italic, p.name, p.underline, p.color, p.size, p.outline, p.shadow, p.strike, p.condense);
161
- if (p.type === 'blockInput')
162
- return block_input(this._id, p.sheetIdx, p.blockId, p.row, p.col, p.input);
163
- if (p.type === 'insertBlockCols')
164
- return block_line_shift(this._id, p.sheetIdx, p.blockId, p.colIdx, p.cnt, false, true);
165
- if (p.type === 'insertBlockRows')
166
- return block_line_shift(this._id, p.sheetIdx, p.blockId, p.rowIdx, p.cnt, true, true);
167
- if (p.type === 'deleteBlockRows')
168
- return block_line_shift(this._id, p.sheetIdx, p.blockId, p.rowIdx, p.cnt, true, false);
169
- if (p.type === 'deleteBlockCols')
170
- return block_line_shift(this._id, p.sheetIdx, p.blockId, p.colIdx, p.cnt, true, true);
171
- if (p.type === 'sheetRename') {
172
- if (p.oldName) {
173
- return sheet_rename_by_name(this._id, p.oldName, p.newName);
174
- }
175
- if (p.idx) {
176
- return sheet_rename_by_idx(this._id, p.idx, p.newName);
177
- }
178
- }
179
- if (p.type === 'deleteSheet')
180
- return delete_sheet(this._id, p.sheetIdx);
181
- if (p.type === 'insertSheet')
182
- return create_sheet(this._id, p.sheetIdx, p.name);
183
- if (p.type === 'cellClear')
184
- return cell_clear(this._id, p.sheetIdx, p.row, p.col);
185
- if (p.type === 'setColWidth')
186
- return set_col_width(this._id, p.sheetIdx, p.col, p.width);
187
- if (p.type === 'setRowHeight')
188
- return set_row_height(this._id, p.sheetIdx, p.row, p.height);
189
- if (p.type === 'setLineAlignment')
190
- return set_line_alignment(this._id, p.sheetIdx, p.row, p.from, p.to, p.alignment.horizontal, p.alignment.vertical);
191
- if (p.type === 'setCellAlignment')
192
- return set_cell_alignment(this._id, p.sheetIdx, p.row, p.col, p.alignment.horizontal, p.alignment.vertical);
193
- if (p.type === 'setCellPatternFill')
194
- return set_cell_pattern_fill(this._id, p.sheetIdx, p.row, p.col, p.fgColor, p.bgColor, p.pattern);
195
- if (p.type === 'setLinePatternFill')
196
- return set_line_pattern_fill(this._id, p.sheetIdx, p.row, p.from, p.to, p.fgColor, p.bgColor, p.pattern);
197
- if (p.type === 'mergeCells')
198
- return merge_cells(this._id, p.sheetIdx, p.startRow, p.startCol, p.endRow, p.endCol);
199
- if (p.type === 'splitMergedCells')
200
- return split_merged_cells(this._id, p.sheetIdx, p.row, p.col);
201
- if (p.type === 'cellFormatBrush')
202
- return set_cell_format_brush(this._id, p.srcSheetIdx, p.srcRow, p.srcCol, p.dstSheetIdx, p.dstRowStart, p.dstColStart, p.dstRowEnd, p.dstColEnd);
203
- if (p.type === 'lineFormatBrush')
204
- return set_line_format_brush(this._id, p.srcSheetIdx, p.srcRow, p.srcCol, p.dstSheetIdx, p.row, p.from, p.to);
205
- // eslint-disable-next-line no-console
206
- console.log(`Unimplemented!: ${p.type}`);
271
+ getShadowCellId(params) {
272
+ return rpc('getShadowCellId', params, this._id);
273
+ }
274
+ getShadowCellIds(params) {
275
+ return rpc('getShadowCellIds', params, this._id);
276
+ }
277
+ getShadowInfoById(params) {
278
+ return rpc('getShadowInfoById', params, this._id);
279
+ }
280
+ getCellId(params) {
281
+ return rpc('getCellId', params, this._id);
282
+ }
283
+ getAllBlockFields() {
284
+ return rpc('getAllBlockFields', undefined, this._id);
207
285
  }
208
286
  _inputAsyncResult(r) {
209
287
  return input_async_result(this._id, r);
@@ -220,6 +298,9 @@ export class Workbook {
220
298
  }
221
299
  _cellUpdatedCallbacks = [];
222
300
  _sheetInfoUpdatedCallbacks = [];
301
+ _headerUpdatedCallbacks = [];
302
+ _cellValueChangedCallbacks = new Map();
303
+ _cellRemovedCallbacks = new Map();
223
304
  // The book id which is generated by `WASM`
224
305
  _id;
225
306
  _blockManager;
@@ -1,4 +1,4 @@
1
- import { BlockInfo, CellPosition, ColInfo, DisplayWindow, DisplayWindowWithStartPoint, RowInfo, Style, Value, CellInfo, SheetDimension, MergeCell } from '../bindings';
1
+ import { BlockInfo, CellPosition, ColInfo, DisplayWindow, DisplayWindowWithStartPoint, RowInfo, Style, Value, CellInfo, SheetDimension, MergeCell, AppendixWithCell, ReproducibleCell, SheetCoordinate } from '../bindings';
2
2
  import { Cell } from './cell';
3
3
  import { Result } from './utils';
4
4
  export declare class Worksheet {
@@ -7,18 +7,31 @@ export declare class Worksheet {
7
7
  getDisplayWindow(startRow: number, endRow: number, startCol: number, endCol: number): Result<DisplayWindow>;
8
8
  getDisplayWindowWithStartPoint(startX: number, startY: number, height: number, width: number): DisplayWindowWithStartPoint;
9
9
  getCellPosition(row: number, col: number): CellPosition;
10
+ getNextUpwardVisibleCell(row: number, col: number): CellPosition;
11
+ getNextDownwardVisibleCell(row: number, col: number): CellPosition;
12
+ getNextLeftwardVisibleCell(row: number, col: number): CellPosition;
13
+ getNextRightwardVisibleCell(row: number, col: number): CellPosition;
10
14
  getDisplayWindowWithCellPosition(row: number, col: number, height: number, width: number): DisplayWindowWithStartPoint;
15
+ getBlockDisplayWindow(blockId: number): Result<DisplayWindow>;
11
16
  getRowHeight(rowIdx: number): Result<number>;
12
17
  getColWidth(colIdx: number): Result<number>;
13
18
  getRowInfo(rowIdx: number): Result<RowInfo>;
14
19
  getColInfo(colIdx: number): Result<ColInfo>;
15
20
  getCellInfo(rowIdx: number, colIdx: number): Result<CellInfo>;
21
+ getReproducibleCell(rowIdx: number, colIdx: number): Result<ReproducibleCell>;
22
+ getReproducibleCells(coordinates: readonly SheetCoordinate[]): Result<readonly ReproducibleCell[]>;
23
+ getCellInfos(startRow: number, startCol: number, endRow: number, endCol: number): Result<readonly CellInfo[]>;
24
+ getCellInfosExceptWindow(startRow: number, startCol: number, endRow: number, endCol: number, windowStartRow: number, windowStartCol: number, windowEndRow: number, windowEndCol: number): Result<readonly CellInfo[]>;
25
+ getBlockInfo(blockId: number): BlockInfo;
16
26
  getMergedCells(startRow: number, startCol: number, endRow: number, endCol: number): readonly MergeCell[];
17
27
  getCell(rowIdx: number, colIdx: number): Result<Cell>;
18
28
  getFormula(rowIdx: number, colIdx: number): Result<string>;
19
29
  getStyle(rowIdx: number, colIdx: number): Result<Style>;
20
30
  getValue(rowIdx: number, colIdx: number): Result<Value>;
31
+ getDiyCellIdWithBlockId(blockId: number, row: number, col: number): Result<number>;
32
+ lookupAppendixUpward(blockId: number, row: number, col: number, craftId: string, tag: number): Result<AppendixWithCell>;
21
33
  getFullyCoveredBlocks(rowIdx: number, colIdx: number, rowCnt: number, colCnt: number): Result<BlockInfo[]>;
22
34
  private _id;
23
35
  private _sheetId;
36
+ private _sheetIdx;
24
37
  }
@@ -1,51 +1,116 @@
1
- import { get_cell_info, get_col_info, get_col_width, get_formula, get_row_height, get_row_info, get_style, get_value, get_display_window, get_display_window_with_start_point, get_display_window_within_cell, get_cell_position, get_all_fully_covered_blocks, get_sheet_dimension, get_sheet_id, } from '../../wasm';
2
- import { get_merged_cells } from '../../wasm/logisheets_wasm_server';
1
+ import { handle } from '../../wasm/logisheets_wasm_server';
3
2
  import { Cell } from './cell';
4
3
  import { isErrorMessage } from './utils';
4
+ function rpc(method, params, bookId
5
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
+ ) {
7
+ const msg = params === undefined ? method : { method, value: params };
8
+ return handle(msg, bookId ?? null);
9
+ }
5
10
  export class Worksheet {
6
11
  constructor(id, sheetIdxOrId, isSheetIdx = true) {
7
12
  this._id = id;
8
13
  if (isSheetIdx) {
9
- this._sheetId = get_sheet_id(id, sheetIdxOrId);
14
+ this._sheetIdx = sheetIdxOrId;
15
+ this._sheetId = rpc('getSheetId', { sheetIdx: sheetIdxOrId }, id);
10
16
  }
11
17
  else {
12
18
  this._sheetId = sheetIdxOrId;
19
+ this._sheetIdx = rpc('getSheetIdx', { sheetId: sheetIdxOrId }, id);
13
20
  }
14
21
  }
15
22
  getSheetDimension() {
16
- return get_sheet_dimension(this._id, this._sheetId);
23
+ return rpc('getSheetDimension', { sheetId: this._sheetId }, this._id);
17
24
  }
18
25
  getDisplayWindow(startRow, endRow, startCol, endCol) {
19
- return get_display_window(this._id, this._sheetId, startRow, endRow, startCol, endCol);
26
+ return rpc('getDisplayWindow', { sheetIdx: this._sheetIdx, startRow, endRow, startCol, endCol }, this._id);
20
27
  }
21
28
  getDisplayWindowWithStartPoint(startX, startY, height, width) {
22
- return get_display_window_with_start_point(this._id, this._sheetId, startX, startY, height, width);
29
+ return rpc('getDisplayWindowWithStartPoint', { sheetIdx: this._sheetIdx, startX, startY, height, width }, this._id);
23
30
  }
24
31
  getCellPosition(row, col) {
25
- const result = get_cell_position(this._id, this._sheetId, row, col);
26
- return result;
32
+ return rpc('getCellPosition', { sheetIdx: this._sheetIdx, row, col }, this._id);
33
+ }
34
+ getNextUpwardVisibleCell(row, col) {
35
+ return rpc('getNextVisibleCell', {
36
+ sheetIdx: this._sheetIdx,
37
+ rowIdx: row,
38
+ colIdx: col,
39
+ direction: 'up',
40
+ }, this._id);
41
+ }
42
+ getNextDownwardVisibleCell(row, col) {
43
+ return rpc('getNextVisibleCell', {
44
+ sheetIdx: this._sheetIdx,
45
+ rowIdx: row,
46
+ colIdx: col,
47
+ direction: 'down',
48
+ }, this._id);
49
+ }
50
+ getNextLeftwardVisibleCell(row, col) {
51
+ return rpc('getNextVisibleCell', {
52
+ sheetIdx: this._sheetIdx,
53
+ rowIdx: row,
54
+ colIdx: col,
55
+ direction: 'left',
56
+ }, this._id);
57
+ }
58
+ getNextRightwardVisibleCell(row, col) {
59
+ return rpc('getNextVisibleCell', {
60
+ sheetIdx: this._sheetIdx,
61
+ rowIdx: row,
62
+ colIdx: col,
63
+ direction: 'right',
64
+ }, this._id);
27
65
  }
28
66
  getDisplayWindowWithCellPosition(row, col, height, width) {
29
- return get_display_window_within_cell(this._id, this._sheetId, row, col, height, width);
67
+ return rpc('getDisplayWindowWithinCell', { sheetIdx: this._sheetIdx, row, col, height, width }, this._id);
68
+ }
69
+ getBlockDisplayWindow(blockId) {
70
+ return rpc('getBlockDisplayWindow', { sheetId: this._sheetId, blockId }, this._id);
30
71
  }
31
72
  getRowHeight(rowIdx) {
32
- return get_row_height(this._id, this._sheetId, rowIdx);
73
+ return rpc('getRowHeight', { sheetId: this._sheetId, rowIdx }, this._id);
33
74
  }
34
75
  getColWidth(colIdx) {
35
- return get_col_width(this._id, this._sheetId, colIdx);
76
+ return rpc('getColWidth', { sheetId: this._sheetId, colIdx }, this._id);
36
77
  }
37
78
  getRowInfo(rowIdx) {
38
- return get_row_info(this._id, this._sheetId, rowIdx);
79
+ return rpc('getRowInfo', { sheetIdx: this._sheetIdx, rowIdx }, this._id);
39
80
  }
40
81
  getColInfo(colIdx) {
41
- return get_col_info(this._id, this._sheetId, colIdx);
82
+ return rpc('getColInfo', { sheetIdx: this._sheetIdx, colIdx }, this._id);
42
83
  }
43
84
  getCellInfo(rowIdx, colIdx) {
44
- const cellInfo = get_cell_info(this._id, this._sheetId, rowIdx, colIdx);
45
- return cellInfo;
85
+ return rpc('getCell', { sheetIdx: this._sheetIdx, row: rowIdx, col: colIdx }, this._id);
86
+ }
87
+ getReproducibleCell(rowIdx, colIdx) {
88
+ return rpc('getReproducibleCell', { sheetIdx: this._sheetIdx, row: rowIdx, col: colIdx }, this._id);
89
+ }
90
+ getReproducibleCells(coordinates) {
91
+ return rpc('getReproducibleCells', { sheetIdx: this._sheetIdx, coordinates }, this._id);
92
+ }
93
+ getCellInfos(startRow, startCol, endRow, endCol) {
94
+ return rpc('getCellInfos', { sheetIdx: this._sheetIdx, startRow, startCol, endRow, endCol }, this._id);
95
+ }
96
+ getCellInfosExceptWindow(startRow, startCol, endRow, endCol, windowStartRow, windowStartCol, windowEndRow, windowEndCol) {
97
+ return rpc('getCellsExceptWindow', {
98
+ sheetIdx: this._sheetIdx,
99
+ startRow,
100
+ startCol,
101
+ endRow,
102
+ endCol,
103
+ windowStartRow,
104
+ windowStartCol,
105
+ windowEndRow,
106
+ windowEndCol,
107
+ }, this._id);
108
+ }
109
+ getBlockInfo(blockId) {
110
+ return rpc('getBlockInfo', { sheetId: this._sheetId, blockId }, this._id);
46
111
  }
47
112
  getMergedCells(startRow, startCol, endRow, endCol) {
48
- return get_merged_cells(this._id, this._sheetId, startRow, startCol, endRow, endCol);
113
+ return rpc('getMergedCells', { sheetIdx: this._sheetIdx, startRow, startCol, endRow, endCol }, this._id);
49
114
  }
50
115
  getCell(rowIdx, colIdx) {
51
116
  const cellInfo = this.getCellInfo(rowIdx, colIdx);
@@ -55,17 +120,41 @@ export class Worksheet {
55
120
  return new Cell(cellInfo);
56
121
  }
57
122
  getFormula(rowIdx, colIdx) {
58
- return get_formula(this._id, this._sheetId, rowIdx, colIdx);
123
+ return rpc('getFormula', { sheetIdx: this._sheetIdx, row: rowIdx, col: colIdx }, this._id);
59
124
  }
60
125
  getStyle(rowIdx, colIdx) {
61
- return get_style(this._id, this._sheetId, rowIdx, colIdx);
126
+ return rpc('getStyle', { sheetIdx: this._sheetIdx, row: rowIdx, col: colIdx }, this._id);
62
127
  }
63
128
  getValue(rowIdx, colIdx) {
64
- return get_value(this._id, this._sheetId, rowIdx, colIdx);
129
+ return rpc('getValue', { sheetIdx: this._sheetIdx, row: rowIdx, col: colIdx }, this._id);
130
+ }
131
+ getDiyCellIdWithBlockId(blockId, row, col) {
132
+ const cellId = rpc('getDiyCellIdWithBlockId', { sheetId: this._sheetId, blockId, row, col }, this._id);
133
+ if (cellId === undefined) {
134
+ return { msg: 'Cell not found', ty: 0 };
135
+ }
136
+ return cellId;
137
+ }
138
+ lookupAppendixUpward(blockId, row, col, craftId, tag) {
139
+ return rpc('lookupAppendixUpward', {
140
+ sheetId: this._sheetId,
141
+ blockId,
142
+ row,
143
+ col,
144
+ craftId,
145
+ tag,
146
+ }, this._id);
65
147
  }
66
148
  getFullyCoveredBlocks(rowIdx, colIdx, rowCnt, colCnt) {
67
- return get_all_fully_covered_blocks(this._id, this._sheetId, rowIdx, colIdx, rowCnt, colCnt);
149
+ return rpc('getFullyCoveredBlocks', {
150
+ sheetId: this._sheetId,
151
+ row: rowIdx,
152
+ col: colIdx,
153
+ rowCnt,
154
+ colCnt,
155
+ }, this._id);
68
156
  }
69
157
  _id;
70
158
  _sheetId;
159
+ _sheetIdx;
71
160
  }
@@ -1,7 +1,63 @@
1
+ import { SheetCellId } from './sheet_cell_id';
2
+ import { SheetColId } from './sheet_col_id';
3
+ import { SheetRowId } from './sheet_row_id';
1
4
  import { StatusCode } from './status_code';
2
5
  import { Task } from './task';
3
6
  export interface ActionEffect {
4
7
  version: number;
5
8
  asyncTasks: readonly Task[];
6
9
  status: StatusCode;
10
+ valueChanged: readonly SheetCellId[];
11
+ cellRemoved: readonly SheetCellId[];
12
+ styleChanged: readonly SheetCellId[];
13
+ rowInserted: readonly SheetRowId[];
14
+ rowRemoved: readonly SheetRowId[];
15
+ rowUpdated: readonly SheetRowId[];
16
+ colInserted: readonly SheetColId[];
17
+ colRemoved: readonly SheetColId[];
18
+ colUpdated: readonly SheetColId[];
19
+ headerUpdated: readonly number[];
20
+ }
21
+ export declare class ActionEffectBuilder {
22
+ private _version;
23
+ private _asyncTasks;
24
+ private _status;
25
+ private _valueChanged;
26
+ private _cellRemoved;
27
+ private _styleChanged;
28
+ private _rowInserted;
29
+ private _rowRemoved;
30
+ private _rowUpdated;
31
+ private _colInserted;
32
+ private _colRemoved;
33
+ private _colUpdated;
34
+ private _headerUpdated;
35
+ version(value: number): this;
36
+ asyncTasks(value: readonly Task[]): this;
37
+ status(value: StatusCode): this;
38
+ valueChanged(value: readonly SheetCellId[]): this;
39
+ cellRemoved(value: readonly SheetCellId[]): this;
40
+ styleChanged(value: readonly SheetCellId[]): this;
41
+ rowInserted(value: readonly SheetRowId[]): this;
42
+ rowRemoved(value: readonly SheetRowId[]): this;
43
+ rowUpdated(value: readonly SheetRowId[]): this;
44
+ colInserted(value: readonly SheetColId[]): this;
45
+ colRemoved(value: readonly SheetColId[]): this;
46
+ colUpdated(value: readonly SheetColId[]): this;
47
+ headerUpdated(value: readonly number[]): this;
48
+ build(): {
49
+ version: number;
50
+ asyncTasks: readonly Task[];
51
+ status: StatusCode;
52
+ valueChanged: readonly SheetCellId[];
53
+ cellRemoved: readonly SheetCellId[];
54
+ styleChanged: readonly SheetCellId[];
55
+ rowInserted: readonly SheetRowId[];
56
+ rowRemoved: readonly SheetRowId[];
57
+ rowUpdated: readonly SheetRowId[];
58
+ colInserted: readonly SheetColId[];
59
+ colRemoved: readonly SheetColId[];
60
+ colUpdated: readonly SheetColId[];
61
+ headerUpdated: readonly number[];
62
+ };
7
63
  }