All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Emit all kind of the
TouchEvents
if reader is not selectable.
- Fix offset restoration bug in
IMAGE
viewer
- Fix problem status
isReadyToRead
was settrue
at the wrong time
AnnotationStore
's bug was fixed.
- Improve page calculation for
viewType === IMAGE
- Implement lazy loading
- The children of
<Reader>
component are mounted regardless of status of contents loading. - Hide annotation's rects outside content area
- Upgrade
@ridi/reader.js
package
- Renamed setting
fontSizeInPx
->fontSizeInEm
- Upgrade some dev dependencies
- Fix content style
- Upgrade
@ridi/reader.js
- Add
SCROLL_DEBOUNCED
event
- Add a hook
afterContentCalculated
- Add
getOffsetFromSerializedRange
andgetOffsetFromAnchor
methods toReaderJsHelper
- Add a hook
beforeContentCalculated
for calculation service
- Fix SelectionLayer(svg) layer style
- Prevent uncaught errors from Promise
- Remove
Events.TOUCH_ANNOTATION
and treat as a sort ofEvents.TOUCH
- Fix issue window resizing cannot trigger recalculation on image + scroll view mode
- Invalidate all calculations after
SET_ANNOTATIONS
event is occurred
- Revise images in HTML content via
@ridi/reader.js
- Content caching revised
<img>
tag (containswidth
andheight
property)
- Added more events related with annotation
- Give more accurate meaning to
calculations.contents[].isCalculated
in Redux - Fix
SettingConnector.getContainerWidthInternal()
calculation
- Selection(Annotation) property renaming:
style
->color
- Make RxJS-based
SelectionStore
replacing with Redux-basedSelectionConnector
- Fix
Range.expand()
error in the Electron environment - Fix Some circular dependency issues
- Add
constants
entry to build option
- Fix recalculation bug on image viewer
- Fix calculation issue when
viewType === PAGE
andcontentFormat === IMAGE
- Add additional information
viewPortRange
tocurrent
redux store
- Load reader.js using user touching position instead of
current
in redux store
- Upgrade and modify
.release-it.json
script
- Fix selection issue when two contents in the screen on
viewType === Scroll
- Selection / Annotation management PR#88
- Lifecycle management with RxJs PR#90
- Remove duplicated action for calculation offset update PR#83
- Provide new actions (
load
andunload
) to be available saving/restore current states - Add new Redux states (
status.isLoaded
,calculations.contents[].offset
,calculations.footer.offset
)
- Add default gap between contents on scroll mode
- Make sure
moveToOffset()
be called whenever current content is changed on page mode - Fix calculation error on getting height from scrolled contents
<Reader>
allows its children- Babel upgraded v7.0
- Remove internal loading/error indicators
- Published as multiple modules
status.isReadyToRead
in Redux store to improvement on user-side performance- Though page calculation is not completed,
status.isReadyToRead
can be true when current content(current.contentIndex
) is ready to read.
- Though page calculation is not completed,
- Separate action of loading contents
setContents
action ->setContentsByUri
,setContentsByValue
actions
READER:SCROLLED
action ->onScrolled
property of<Reader>
- Adaptively using
useCapture
oroptions
parameter foraddEventListener
,removeEventListener
according to browser supports - Manage properly
Reader.js
lifecycle
onTouched(event)
property will be called withevent
parameter.CommonUi
->BrowserWrapper
onMoveWrongDirection
property was removed.- No more handling current offset triggered by click, touch and keyboard events.
CommonUi
- Resolve some performance issues
- All settings using level will use actual numeric value.
fontSizeLevel
=>fontSizeInPx
paddingLevel
=>contentPaddingInPercent
contentWidthLevel
=>contentWidthInPercent
lineHeightLevel
=>lineHeightInEm
columnGap
=>columnGapInPercent
- At scroll view, calculations total(=total height) was adjusted.
- Change default Webpack's
mode
value toproduction
setting.updateSetting()
callscalculations.invalidate()
- HTML page view was applied
paddingLevel
setting - Move all calculations related with layout to
SettingConnector
- Fix using setting
maxWidth
value fromsetting.maxWidth
instead ofprops.maxWidth
- Fix wrong page calculation
!! Breaking Changes !!
- New features
- Double page view
- Set blank as a first page
- Handling with keyboard event for changing offset
- Introduce new settings
columnsInPage
columnGap
startWithBlankPage
maxWidth
contentFooterHeight
containerHorizontalMargin
containerVerticalMargin
extendedSideTouchWidth
- Refactoring almost overall for rendering multiple spines stably
- Rename:
<ViewerScreen>
-><Reader>
- Rename: classes extended
Connector
->...Connector
- Removed settings:
isFullScreen
availableViewType
- Update dependencies (includes settings for Greenkeeper)
styled-components
2.x.x => 3.x.xwebpack-manifest-plugin
(dev): 1.x.x => 2.x.x- And some minor version updates...
- Add peer dependencies:
react
,redux
,react-dom
,react-redux
- Reduce library bundle size by excluding peer dependencies from bundled file