Skip to content

mP1/walkingkooka-spreadsheet-dominokit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Coverage Status License Language grade: Java Total alerts J2CL compatible

walkingkooka-spreadsheet-dominokit

A fat browser spreadsheet using the wonderful dominoKit library.

Client / Server

The spreadsheet is a combination of a rich web application which executes in the browser and a variety of services provided by a server. All the server code transpiles to javascript so it should be possible to move the server into web workers.

Server

Run jetty server HERE

git clone walkingkooka-spreadsheet-server-platform

java walkingkooka.spreadsheet.server.platform.JettyHttpServerSpreadsheetHttpServer2

This will provide a variety of services that are consumed by the rich web (this repo).

Expression Functions

About 150 functions are currently implemented with automated tests, and available within any expression. For more info including a list of available functions goto HERE

Client

Run GWT code server.

mvn build-helper:add-source gwt:codeserver -X -f pom.xml

Open in a browser, this will load the rich web-app, ready to be used.

http://localhost:12345/walkingkooka.spreadsheet.dominokit.App/index.html

Architecture | Design

Features

This provides an overview of currently available features and future goals for this spreadsheet. Note it should not be considered complete but can be considered attempt at sharing knowledge of what has been done and what is outstanding. Individual issues that breakdown outstanding tasks will be added.

Formulas

  • Formulas editing DONE
  • Formula evaluation when ENTER hit.
  • Interactive function code completion when entering expression TODO
  • Expression error messages are shown, without any point to the actual position of the mistake TODO

Viewport (grid of cells)

  • Keyboard
    • Cursor key navigation DONE
    • ENTER gives focus to Formula for editing
  • Mouse
    • Click cell, column, row to select DONE
    • Mouse SHIFT click to extend cell/column/row range.
    • Support dragging mouse to select/extend a range TODO
  • Cell formatting:
    • Alignment: Left, Center, Right, Justify DONE
    • Vertical alignment: Top, Middle, Bottom DONE
    • Text Color DONE
    • Background color DONE
    • Bold DONE
    • Italics DONE
    • Strikethru DONE
    • Underline DONE
    • Format patterns: select & edit Date, DateTime, Number, Text, Time DONE
    • Parse patterns: select & edit Date, DateTime, Number, Text, Time DONE
    • Text case: Normal, Capitalize, Lowercase, Uppercase DONE
    • Border
      • direction: Top, Left, Right, Bottom, All DONE
      • color DONE
      • style DONE
      • width 0, 1, 2, 3, 4 DONE
        • User edited width TODO
    • Wrapping: clip, Overflow, Wrap DONE
  • Column, Row, Cell actions:
    • Insert columns before DONE
    • Insert columns after DONE
    • Clear DONE
    • Delete DONE
  • Sort
    • cells any rectangular cell range of at least 2 cells DONE
    • columns DONE
    • rows DONE
    • Build sort request dialog DONE
    • Sort by by Date, Date-time Day of month, Day of week, Hour of am, Hour of day, Minute of Hour, Month of Year, Nano of Second, Number, Second of Minute, Text, Text case-insensitive, Time, Year DONE
    • Up and down DONE
  • Clipboard cell, formula, format-pattern, parse-pattern, formatted-value
    • CUT DONE
    • COPY DONE
    • PASTE DONE
    • Additional clipboard text formats such as

Toolbar

  • Many context menu items are also available as buttons in the toolbar.
  • Add a Font drop down TODO
  • Add a Font size drop down TODO
  • Print spreadsheet to PDF TODO
  • Find icon, feature to find and highlight cells using an expression. DONE Needs polish.

Global settings (aka SpreadsheetMetadata)

Global settings that may be added or updated appear in a panel that appears on the right edge of the web-app

  • View audit info such as creator, last updated by, timestamps DONE
  • Locale editing, affects default format and parse patterns and various symbols decimal point character etc. TODO
  • Support for changing various locale sourced characters such as decimal point, currency sign etc DONE
  • Editing of default format & parse patterns, eg the default the Number format pattern when a cell is missing one DONE

File management

  • Browser Dialog
    • open DONE
    • rename DONE
    • delete DONE
    • print TODO
    • download TODO

UI, Theme, icons

  • The UI can be described as spartan as it uses the default DominoKit theme. No work has been done to improve.

CC Acknowledgements

About

A fat browser spreadsheet using the wonderful dominoKit library.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published