- fix bug: editing a cell whose rendered text differs from what it stores ( a number
with a
formatfromcellcfg, for one ) puts the rendered text into the editor, so committing writes that back as the value.1234567shown as1,234,567becomes the string1,234,567, which then renders asNaN. editing now starts from the raw value in@_data. cells holding advanced content ( an object ) keep falling back to what is rendered, there being no other textual form.
- fix bug:
enableScrolling: falsestops the wheel handler but the sheet still swallows the scroll..sheetis a scroll container even atoverflow: hidden, and theoverscroll-behavior: containguarding against swipe back keeps the gesture from ever reaching the page. it now relaxes tooverscroll-behavior-y: autowhile scrolling is off, via ano-scrollingclass. the horizontal axis keepscontain, that being the axis swipe back lives on, and behaviour with scrolling enabled is unchanged.
- fix bug: a sheet with neither an index nor a fixed row/col renders every track
collapsed, since
regridemitsrepeat(0, max-content)-repeat()takes an integer of at least 1, so the wholegrid-template-*declaration is dropped. - fix bug: an all empty row collapses, since an empty cell has no line box and
.cellhad nomin-heightto fall back on. only visible without an index column, whose row number used to be what kept such rows open. - add a no index / no fixed example to the demo page.
- fix bug: copying a whole row / column /
select allincludes one extra empty row and column, since_boundfills in sizes where inclusive indices are expected. deleting a whole row used to grow the data by one column every time for the same reason.
- support horizontal scrolling with shift + wheel, for mouse with vertical wheel only
- add
scrollbaroption for optional overlay scrollbars - fix bug:
Math.max.applyover@_datagives NaN once@_databecomes sparse, which happens after scrolling far away. this madeselect allproduce a NaN column bound. - fix bug:
select allbound grows as we scroll, since rendering out of range cells extends@_datawith empty rows - upgrade dependencies
- add context dev dependency
- fix bug: pasting HTML table with whitespace/newlines in cell content causes unexpected line breaks due to
white-space: pre - fix bug: row headers collapse and become invisible after deleting all cell content
- fix bug:
_contentaccessing wrong DOM node when pasted data exceeds visible column range - fix bug:
cellcfgoption causes exception if non-function value is provided - upgrade dev dependencies for vulnerability fixing
- support number formatting based on d3-format
- tweak textarea focus rule to prevent race condition in focus between multiple sheets
- fix bug: selection moving with arrow keys beyond top / left with frozen cells doesn't work correctly
- add
ctrl(keycode 17) in the skip list when reacting to keyboard events.
- fix bug: keydown cause exception if selection is out of viewport after scrolled.
- call
focuswithpreventScroll: truein render-selection to prevent scrolling from non-interaction update.
- skip cell copy/cut if we are editing in textarea to preserve content editing experience.
- add
enableScrollingoption for enabling scrolling which by default is true - upgrade dependencies
- tweak scroll controller speed
- add sample code for overscrolling
- bug fix: check
ccfgexistence before using it
- bug fix: sliders is covered by grid due to z-index issue
- bug fix: change isn't fired when editing
- simplify
opt.cellcfgto_ccfg - prevent readonly cells to be edited by paste, cut or delete
- add
papaparsein demo page
- optionally disable pasting if
papaparseis not available (not yet implemented TODO) - support slider with
slideroption to toggle it on - let
tabkey stroke move cursor one cell forward in x direction. - support shift + arrow key to extend selection.
- fix bug: IME composition isn't working at the first keystroke to enter editing mode.
- support
cellcfg()for customizing cells withreadonlyandclasstype. - check
Papafor existency before parsing CSV with papaparse.
- add sorting API
- support html parsing when HTML code is detected in paste event.
- correctly handle ctrl+
+event for row/col insertion - prevent
enterfrom sending newline to cell when it's used to toggle editing.
- fix bug: selection out of range isn't rendered correctly if current view is closer to origin point.
- support
menu.onandmenu.offevent - fix bug: right click incorrectly considered as selection.
- add
insertapi
- cell lookup now doesn't throw exception if node not found. instead, null returned value is handled by caller
- fix bug: for narrow table, cell lookup of previous location may fail due to sheet move.
- trim class name.
- fix bug: exception when slice without selection
- upgrade dev modules and fix vulnerabilities
- add
sliceapi
- add
selectapi for set / get selection status - add test code for selection in demo page
- fix bug: selection should also be rendered when
renderis called.
- fix bug: selection issue in frozen cell
- fic bug: row/col based deletion doesn't work when range start out of canvas
- fix bug: selection out of canvas rendered incorrectly
- fix bug:
changeevent should be fired for row-wise / col-wise deletion - fix bug:
changeevent for range update should be fired in one batch
- support in-sheet cut / paste
- support row-wise / column-wise deletion by ctrl+
- - separate
_to-textfunction fromcopy - parameterize
render-selectionfor possibly future features such as multiple selection
- support shift-select a range
- support selection from idx cells
- support selection without boundary
- add
styleinpackage.json - add
mainandbrowserfield inpackage.json. - further minimize generated js file with mangling and compression
- upgrade modules
- patch test code to make it work with upgraded modules
- release with compact directory structure
- add
overscroll-behaviorover.sheet - swipe back note in README.md
- support resizing after initialization
- support custom class names in cells
- make it possible to add node instead of pure text.
- fix bug:
0wasn't shown when set cell content. fix this by checking!(textContent?)instead of!(textContent).
- add
data(d)api
- add
scrollLockoption for locking body scrolling to prevent swipe gesture.
- fix bug: escape should cancel editing.
- fix bug: caret position incorrect after pressing enter.
- fix bug: should re-focus after enter.
- fix bug: caret and range should not be hidden after edited.
- rename
updateevent tochangeevent. - check sheet focus before pasting data
- support copy tsv format text to clipboard. use
navigator.clipboard, which doesn't support older browsers.
- fix selection issue across frozen cells
- fix column label issue (#1)
- fix bug: cell overflow should be hidden so content won't overflow and cover following cells if size is fixed.
- support sheet in shadow DOM mode
- add editing option / api for togglgin editability
- add size option
- tweak style for
.fixed.frozencell.
- re-focus sheet after selection moved to support quick editing
- remove outline of sheet to prevent unwanted focus style.
- tweak code for updating content
- add event handler
- fix bug of content updating issue when setting new data
- fire update event when data is changed.
- support range in
setapi.
- add
tabindexin root element to make it possible to capture key events. - check some events for event source.
- tweak fixed cell style
- prevent fixed cell from being edited
- support fixed rows / columns, frozen rows / columns and idx cells toggling
- fix bug: edited failed if edited node is outside range of visible sheet.
init commit