How Spread.Views Works
- GridLayoutEngine: Standard grid used as the basis for standard grids, calendars, trellis views, and more. See an example.
- HorizontalLayoutEngine: Similar to the GridLayoutEngine with the columns and rows flipped. See an example.
- CardLayoutEngine: Organizes rows into cards that display in list or grid layout. See an example.
- MasonryLayoutEngine: Creates a card from each row and places it in optimum position according to horizontal size. Think Pinterest. See an example.
Once you have applied your primary layout engine, you can apply grouping strategies to arrange the data into a particular layout. A few examples:
- Apply TimelineGroupStrategy to group grid data into a formatted timeline. See an example.
- Apply TrellisGroupStrategy to group grid data into a Trello-like view. See an example.
- Apply CalendarGroupStrategy to group grid data into a Calendar view. See an example.
Once you have your layout, you can customize everything. Here are some of the customization points:
- Row Templates: Use HTML and CSS to format rows into multi-line templates or cards. See an example.
- Data Presenters: Use built-in or write presenters to present data fields however you like. Example include Sparklines, histograms, gauges, and images. See an example.
- Themes: Use standard CSS to theme everything.
- Editing Modes: Choose to allow users to edit data inline, in a pop-up, or in a form. Each case is customizable. See an example.
Spread.Views includes a calculation engine that you can plug in and use to create calculated fields, group summaries, and even provide Excel-like ad-hoc formula creation. Check out these examples:
- Calculated columns: Simple example that adds a calculated field to a table.
- Column Aggregator: Sums grouped data.
Ad-hoc Foumlas: Provides an Excel-like interface to perform calculations on data for what-if scenarios.
Designed for Speed
We haven't forgotten one of the most important factors: speed. Spread.Views is designed to be as fast and lightweight as possible. We have provided a live performance comparison here.
At the time of writing this article, Spread.Views is a Community Technology Preview and is not a production release. We plan to release it as part of the SpreadJS product line with SpreadJS v10 due in November 2016.