Online Table Cell Splitting Using Existing Layout Primitives
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing online document editors face challenges in splitting table cells efficiently without increasing computational resources or code complexity, as introducing new storage and layout primitives for split cells leads to a high engineering burden and resource requirements.
Innovation Solution
Implement table cell splitting at a controller level using existing storage and layout primitives for rows, columns, and merged cells, allowing for efficient cell splitting operations with minimal computational impact by avoiding the introduction of new primitives.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If new storage and layout primitives are introduced for split cells, then cell splitting functionality is enabled, but device complexity and engineering burden increase significantly
Solution Approach 1:
The patent segments the cell splitting functionality into two distinct layers: the storage/layout layer (using existing primitives) and the display/editing layer (using virtual split cells). This segmentation allows the system to provide split cell functionality without modifying the core storage and layout primitives, thereby avoiding the complexity increase while enabling the desired adaptability.
Solution Approach 2:
The patent introduces a controller as an intermediary component that mediates between the user interface (displaying/editing virtual split cells) and the storage layer (using existing primitives). The controller translates user interactions with virtual split cells into operations on the underlying table structure, preventing the need to modify storage primitives while enabling split cell functionality.
2Adaptability or versatility
If new storage and layout primitives are added for split cells, then split cell operations are supported, but resource requirements (processor and memory) increase
Solution Approach 1:
The patent creates virtual copies of split cell representations in the display layer without creating actual duplicate data structures in storage. The controller manages these virtual representations, allowing multiple views of the same underlying cell data without increasing memory requirements for storing the actual table content.
Solution Approach 2:
The controller acts as a mediator that handles the computational overhead of managing split cell operations, translating high-level user intentions into efficient low-level operations on the existing table structure. This prevents the increase in processor requirements from propagating to the entire system.
3Adaptability or versatility
If code is added to handle display and editing operations on new split cell primitives, then split cell functionality is implemented, but code complexity increases
Solution Approach 1:
The patent segments the codebase into distinct modules: the existing storage/layout code (unchanged), the controller logic (new), and the display/editing UI code (new). This segmentation isolates the complexity of split cell handling to specific modules, preventing it from propagating throughout the entire codebase and making the system easier to maintain.
Solution Approach 2:
The controller serves as an intermediary layer that absorbs the complexity of coordinating between the display/editing operations and the storage system. By centralizing this coordination logic in the controller, the patent prevents complexity from being distributed across multiple parts of the codebase, thereby reducing overall code complexity.
4Device complexity
If existing storage and layout primitives are used for cell splitting, then engineering burden is reduced, but complex splitting operations require automated processing
Solution Approach 1:
The system implements self-service automation where the controller automatically handles the complex coordination of split cell operations based on simple user input. When a user requests to split a cell, the controller automatically manages the creation of virtual split representations, updates the display, and coordinates with the storage layer without requiring manual intervention for each sub-operation.
Solution Approach 2:
The controller implements feedback mechanisms that monitor the state of the table and automatically adjust the display and storage representations accordingly. This feedback loop enables the system to automatically handle complex splitting operations while maintaining consistency across layers, reducing the engineering burden of manually managing each aspect of cell splitting.
Data Source
AI summary
Techniques are described herein for table cell splitting in an online document editor. A method includes: responsive to a request to split a cell in a table, determining a target number of rows and a target number of columns, automatically inserting rows adjacent to rows of the cell to reach the target number of rows, automatically inserting columns adjacent to columns of the cell to reach the target number of columns, and automatically merging groups of cells within an initial boundary of the cell, each group spanning a determined number of rows per group and a determined number of columns per group.


