- overlapped items bugfix (time sectors merging) #417
- package.json updated
- (CSS) scroll issues on mobile devices fixed
- overlapped items bugfix #415
- ItemMovement and ItemResizing plugins did not update the position of items outside the visible range bugfix #414, #416
- when timeline pointer plugin is enabled/disabled it will takeover/restore default browser touch events (e.g. via
state.update('config.plugin.TimelinePointer.enabled', false);) - (CSS)
touch-actionproperty removed from couple of elements
- Calendar Scroll
bodyClassNameoption now also accepts an array of class names - You can now pass empty body class name to CalendarScroll to not use any class
- (CSS) CalendarScroll default body class name changed to
['gstc-scrolling', 'gstc-cursor-grabbing'] - (CSS) GrabScroll body class names option added
- (CSS) ScrollBars cursors removed
- GrabScroll plugin added (example)
- fixed some scrolling issues
- scrollToTime returns time that was set instead of scroll handle position
- added
currentPositionOriginto timeline pointer event which is not affected by scrolling precision - ItemResizing, ItemMovement
enabledreactivity improved
- updated wasm loader code
- fixed an issue where the component would block scrolling when it reached the end or when there was no scrolling.
- fixed an issue with scrolling the entire page using a trackpad/mouse wheel
- visible rows height calculation bugfix
- wrong vertical scroll height calculation bugfix
- when
config.scroll.vertical.byPixelswas set tofalsethe excess position was reset to 0 instead of the last possible position bugfix
- error messages improved
Componenttype changedRenderFunctiontype changedActionFunctionResulttype changed
- added missing required libraries for types
- npmignore updated
- slots props not updating in certain scenarios bugfix
- vido & lit-html (v3) & dayjs libs updated
- removed unused dependencies
- ignored cypress and examples directories for npm package - they are not required
- performance improvements
- performance improvements
- Item
rowIdchange bugfix - fixed pointer events on mobile devices
- ItemMovement & ItemResizing autoScroll is now time based (
ItemMovement.autoScroll.speed.timeout&ItemResizing.autoScroll.timeoutoption - 30 by default)
- ItemMovement autoScroll bugfix (#408)
- further performance optimizations
- improved performance when there are a lot of items in the chart
- Data loading is now twice as fast
- Fixed
shouldMuteNotNeededMethodsoption to ItemMovement & ItemResizing plugins (#402)
- Added
shouldMuteNotNeededMethodsoption to ItemMovement & ItemResizing plugins
- Fixed component not refreshing after changing default item values (
config.chart.item)
GSTC.api.fromArrayresult type modified
- Fixed a bug with the
Selectionplugin - the plugin tried to modify grid cells when they were not in the current view (they did not exist).
- ExportPDF plugin can now create PDF from user's screenshots (
gstc.api.plugins.ExportPDF:takeShot(),getPDF(filename)andclearPDF()methods added).
- ExportPDF plugin can now take the full content of a chart (not just the visible part) (
gstc.api.plugins.ExportPDF.downloadFull(filename))
npm-shrinkwrap.jsonignored in the package
- #393 bugfix (plugins were not initialized when multiple instances of gstc were created)
wasm-unsafe-evalsource directive message provided if there is an problem with loading wasm file- updated license check mechanism libraries
- Wildcard domain names now support regex (*.test domain will work)
- Debug info in the console when license check mechanism is not working
item.labeland row data must be a string or function otherwise it will return null- examples updated - import wasm file by default
- ItemMovement & ItemResizing default horizontal edge threshold changed to
60
- ItemMovement with
config.scroll.horizontal.byPixelsenabled bugfix - ItemResizing autoScroll right bugfix
- scroll bar improvements
- [breaking*]
config.scroll.horizontal.byPixelsandconfig.scroll.vertical.byPixelsare enabled by default now
- scroll bar not showing when chart contains only one day bugfix
- ItemMovement plugin - movement outside area could cause item to change its width with
config.scroll.horizontal.byPixelsenabled bugfix
- npm libraries updated
- DependencyLines plugin - fixed a bug where the lines were cut off when the row was higher than the chart area
- Fixed a bug where after clicking on an item, the chart area moved slightly (part 2)
- Fixed a bug where after clicking on an item, the chart area moved slightly (part 1)
- Progress bar shows up even when the item has no time (0ms) (#383)
- Fixed a bug with dynamic locale update - the calendar was not updated when the locale was changed (#368).
- Fixed a bug that occurred when the row was higher than innerHeight of the chart - the rows were not displayed.
- overlapped items order improvement
- fixed bug with items overlapping
- (#381) added new scrolling behavior (pixel based scrolling instead of row based)
config.scroll.vertical.byPixelsandconfig.scroll.horizontal.byPixels(boolean values)
- #380 bugfix (bug where item stayed on a lower level even when it was no longer overlapped by others)
- #373 bugfix - The mechanism for stacking items that overlap has been improved. They now appear in the order they were added when their timing is the same.
- license key check mechanism bug fix
- delete selected item bugfix (#348)
- fixed bug with clip-path attached to foreignObject which caused ItemTypes plugin to not respond to pointer events (like resize)
- multiple components on one page bugfix
- added example for multiple components
- origin check mechanism updated
- added
GSTC.api.mergeDeepandGSTC.api.clonemethods
fromArraywill now checklinkedWithalso
- Added
rowIdcheck for items. The component will throw an error when a row is not found or when the id has an invalid type. - Added checking that all items exist and that, for example, they have not been modified via references from
state.get.
- origin with wildcard bugfix
ItemMovementthresholdoptions ignored bugfix- added
ItemResizingthresholdoption - updated
complex-1andone-monthexamples
- updated and added dependent libraries to
package.jsondue to missing type errors
- complex example updated (missing bookmarks)
- garbage removed
- performance optimization
- throws an error when
item.time.startoritem.time.endis not a number - throws an error when
config.chart.time.fromorconfig.chart.time.tois not a number and is defined
- time bookmarks sometimes disappear without a reason bugfix
- fixed
api.time.getGlobalOffsetPxFromDates - performance optimization when all of the items are out of the view (on the left side or on the right side)
time.leftGlobalwas calculated based on centerDate, which was no longer available due to a change in dates bugfix
- fixed bug with
location.ancestorOriginson firefox - added origins property to the state
state.get('origins')
- array merging bugfix
- merging objects performance optimization
- removed non documented not needed
config.chart.time.allDatesandconfig.chart.time.datesCache(huge time calculation performance optimization) - grid cell generation little performance optimization
deep-state-observerupdated (update whole state bugfix)- added
$data.initializedPluginsSet - plugins are now destroyed only when whole gstc instance is destroyed or plugin was removed from config
recalculateTimemethod added to the time api (gstc.api.time.recalculateTime()) to regenerate calendar dates or recalculate$data.chart.timevalues - for example if some logic inonLevelDateswas changed then you might need this to generate new dates and triggeronLevelDatesagainItemMovement,ItemResizing,TimelinePointerandSelectionplugins refactoredgstc-loadedevent is triggered a little bit later now when all time calculations are completecomplex-1example updated - added history state management demoone-monthexample updated -gstc.api.time.recalculateTime()added instead of full reload
- when
periodIncrementis a function and the item is moved to the left side past the visible area we don't know which date to start generating dates from so we just returntime.fromwhich blocks the movement of the item - added
allowItemsToGoOutsideTheAreaboolean(default:true) value to ItemMovement and ItemResizing options
- support for iframe usage: domains with
>symbol likeone.com>two.com>three.com(available only with SaaS license)
- examples updated
- changelog reversed (latest versions on top)
- empty item style was not updated #344 bugfix
- not needed dependencies removed
- lit-html updated
- merge function improved
- added
GSTC.Vidoproperty withGSTC.Vido.directivesto easily create templates without need to importlit-html
- added
outOfViewwithleft,rightandwholeboolean properties toItemDatato know when the item is outside a view from item props only - all rows expander was missing bugfix
- row
visibleproperty added to determine whether the row should be visible on the list (usable for searching and filtering)
- ItemResizing plugin
onEndevent was fired twice bugfix - ItemMovement & ItemResizing
onEndevent was fired without dependant items bugfix
- ItemResizing plugin - dependant option set to false caused call to undefined method #343 bugfix
- npm dependencies updated
- ItemMovement & ItemResizing now snap to time from main dates by default (not startOf the current period because periodIncrement may be different than 1)
config.chart.time.alignLevelsToMainfixed dates positions calculation when main dates start and end values were in the middle of the other levels (weeks and months for example)- level dates calculations code refactoring
GSTC.api.fromArrayfixes gstcid in dependant items now- [breaking*] default
config.locale.weekStartis set to 0 now (Sunday) (not 1=Monday) - dayjs locale is now used locally inside time api from
gstc.api.time.datemethod GSTC.api.datemethod now supports locale configuration as third parameterGSTC.api.date(time, utcMode, localeConfig)GSTC.api.GSTCIDwill now check if given id is already in proper format
- dependency lines plugin stops draw lines when two connected items was detached bugfix
- there was a bug when gstc wanted to save dates to cache but cache was not ready for that
- added
percentto$data.scroll.horizontaland$data.scroll.vertical - when horizontal scroll bar position is at the beginning or at the end position then don't calculate new position basing on center date
- [breaking*] ItemMovement and ItemResizing do not snap dependant items to time because it led to time slips
- [breaking*] ItemMovement
snapToTime.endno longer snaps as default behavior as it can change duration when zoom mode is set to display months (different months have different number of days)
- ItemMovement & ItemResizing dependant items movement algorithm updated
- [breaking* - 3.23.0]
DataChartTimeLevelDatenow containsDSTwithdiffMs:number,afterTime:numberandafterDate:Dayjsobject instead ofdiffDST:numberonly - ItemMovement dependant items initial values bugfix
- ItemResizing plugin now takes DST into account while resizing
DataChartTimeLevelDatenow includesdiffDSTwhich is a difference between standard period and period in DST daylight saving time - date may be shorter (negative value) or longer than the standard date- ItemMovement plugin now takes DST into account while moving
- The row items are now sorted in ascending order by start time
- in some cases, the incorrect vertical position of the item was calculated #340 bugfix
- performance optimization
- new readonly dates cache added to
config.chart.time.datesCache
- changed
config.plugin.ItemMovement.autoScroll.edgeThreshold.horizontalandconfig.plugin.ItemResizing.autoScroll.edgeThresholddefault value to0because sometimes it may trigger unwanted auto scroll #339
- current date highlight blinking bugfix
- added ability to specify item spacing on the left and on the right side
config.chart.spacing.leftandconfig.chart.spacing.rightor just rightconfig.chart.spacing= number of pixels
- sometimes clicking of an item may trigger autoScroll feature in ItemResizing plugin #339 bugfix
- current dates are checked continuously
config.chart.time.checkCurrentDateIntervaldefault = 5minutes - added zoom levels down to 9 (minutes)
- sometimes clicking of an item may trigger autoScroll feature in ItemMovement plugin #339 bugfix
- current date highlight bugfix #338
- calendar date width calculation bugfix when date was bigger than view
- in some circumstances items from hidden rows was visible #317 bugfix
- lines was visible outside view in dependencyLines plugin bugfix
- fixed with wrong width of the item if it was moved outside view with hidden weekends enabled and start of the next month was a weekend
- when the end time of an item is inside a missing date and we move this item by 1px it will change its width bugfix
- in calculatedZoomMode + hide weekends when date was moved out of the scope wrong right date was calculated bugfix
- ItemMovement & ItemResizing move dependant items wrong time offset bugfix
- [breaking*] ItemMovement & ItemResizing dependant items automatically added to
items.initial,items.before&items.after - added ItemMovement
moveDependantVerticallyoption to move dependant items vertically along with the selected one - added
addedDependantIdsandselectedIdsto event argument in ItemMovement & ItemResizing - added
itemto snap time events (may be null when calculating pointer movement offset) - [breaking*] ItemResizing snap to start time can pass item as
nullnow when calculating pointer movement offset
- added a readonly
periodIncrementedByvalue to level datesDataChartTimeLevelDatethat tells what increment was used to calculate that date - added option
config.chart.time.alignLevelsToMainto automatically scale other levels to main dates when some of main dates are missing (weekends for example) - ItemMovement & ItemResizing better handling of dependant items
gstc.api.scrollToTimecentered wrong dates bugfix- added
config.chart.time.timePerPixelreadonly property
- itemResizing and itemMovement - item time calculation bugfix
config.chart.time.additionalChartSpacesremoved (was not documented)- time calculation now works better with removed dates by the user (onLevelDates event)
- added duration dayjs plugin loaded by default
- spacing is no longer taking into account with item.width - now it is full width without subtracting spacing (1px) for itemData.width and itemData.actualWidth
- default spacing is set to 4 instead of 1 (looks better)
config.chart.spacing - added
config.chart.time.autoExpandTimeFromItemsoption to expand time when item is out of the current view
- itemResizing plugin - item resizing wrong width calculation bugfix
- itemMovement plugin - item jumps over one cell when dragging bugfix
- itemMovement
ignoreMissingDatesoption added - itemMovement wrong item width bug fixed
- fixed bug 'Cannot read properties of undefined (reading leftPx)' when moving item outside view with autoscrolling enabled
- #325 bugfix (dayjs.locale is not a function)
- ability to use component on external servers on premise with domain keywords like app-name.*
- fixed bug when moving items outside a view
- scroll bar handle more visible in dark mode
- main import file with wasm file included
- removed junk dev dependencies
- added dark theme support
- fixed calculatedZoomMode initial render
- cypress updated to 9.2.0
- updating locale bugfix (#230)
- fixed column header resizing dots disappearing when width was smaller than text (#322)
- fixed missing api types
- types renamed from
*.d.tstomin.d.ts
- bad scroll position after changing chart width bugfix
- moving item outside of the current time resets scroll position bugfix
- empty chart after updating rows bugfix
- package.json updated
- package.json updated
- license key checking mechanism updated to v3
scrollToTimecentered bugfix
- grid cells cache bugfix
- dependency lines bugfix
- fixed issue with
calculatedZoomModechange (#316)
- fixed travis yml file needed to run tests in CI
- updated
@cypress/requestto2.88.9
- added before_script to travis to set timezone properly
- added timezone to travis
- do not upload videos if test is successful (cypress option added)
- utc mode bugfix #321
- utc mode tests added
- added
"@cypress/request": "2.88.7"topackage.jsonbecause of this cypress bug
- csstype junk removed
- cypress updated
- timeline bookmarks tests added
- added
isInCurrentViewin time api - fixed #319
- tests updated
.eslintignoreremoved and added ingore pattern to.eslintrc.json- tests updated
.eslintignoreadded
- tests updated
- tests updated
- tests updated
- tests updated
- cleaning up chart dimensions properties
- other package.json cypress commands updated (nodejs 17.x
Error: error:0308010C:digital envelope routines::unsupportedbugfix)
- test command updated (nodejs 17.x
Error: error:0308010C:digital envelope routines::unsupportedbugfix)
- updated rows were visible only after scroll bugfix
- change column visibility bugfix
- dates generation bugfix
- removed firefox from default testing because in some env actual firefox is not installed and tests cannot be executed
- added
npm run test:fullto test on firefox also
- resizing handles not visible when using item-types plugin and width is below threshold bugfix (#226)
- item tests improved
- testing in chrome and firefox
- calendar levels bugfix
- tests improvements
- column header render template bugfix
- tests improved
data-gstcidadded to some elements- cypress testing framework added
- horizontal scroll bar positive precise offset bugfix
- horizontal scroll bar last position was not accessible bugfix
ItemMovementandItemResizingDST (Daylight saving time) bugfix
- sorting nested rows bugfix (#303)
- style updated: list position is now
relative
- fixed missing
cachelist template variable - added
additionalSpaceuseful when we want to add new content above and below chart (seemessing-with-templatesexample)
- selection plugin optimization and item is returned in event (not
itemData) - state now contains license information
state.get('license') - item movement improved
- performance optimization
- row items pointer events bugfix
- detach directive removed (cache directive is a better alternative)
- when scroll position is higher than number of rows visible rows not showing up bugfix
- when
time.fromandtime.toare not set when changing data nothing shows up bugfix - huge performance optimizations
- grid cells cache bugfix
- a little bit of optimization again
- Math.round for all css positions
- bookmark height bugfix
- cell content bugfix
- performance optimizations
- scrollbar visibility bugfix when all dates are visible bugfix
- grid cells cache bugfix
- grid cells cache bugfix
- scroll bar pointer events works on touch devices now
config.chart.time.calendarLevels -> periodIncrementleftDateargument changed todate
config.chart.item.overlapoption added
- time diff bugfix
- bookmarks DOM divided into two parts
- chart overflow visible changed back to hidden
- bookmarks style option added and changed DOM position
- timeline pointer plugin precise position bugfix
- huge performance improvement
- fixed rows sorting (#297)
- horizontal scroll precise option implemented
- vertical scrollbar weird behavior at the end of the scroll area fixed
- working with bigger data set is now much faster
- loading big data set is a little bit faster now
- item
minWidthbugfix (#296)
ExportPDFplugin added
ExportImageplugin added
- vido updated (StyleMap bugfix)
- itemMovement & itemResizing update state bugfix
- calendar dates with wrong widths when week or non standard period is used as main date bugfix (#294)
- bookmarks improved (show only bookmarks that are in current view)
- bookmarks plugin
classNamebugfix
config.templatesconfiguration added - now you can use templates for all components
- time bookmarks plugin custom
classNamenot appearing bugfix
- do not expand view while resizing or moving in
config.chart.time.calculatedZoomMode
- jest testing engine updated
- move dependant items only when time was changed bugfix
- vido updated
DeepState,Api,publicApi,CSSProps,ComponentInstancetypes added
deep-state-observerupdated- gstcInstance.api.setScrollTop now accepts
number(for row index inside rows with parents expanded array) andstringfor rowId
deep-state-observerupdated
- deep-state-observer updated
- classes on the DOM Element is not displaying
ids to improve performance a lot
- add item by id bugfix (#286)
- add row by id bugfix
- scroll area watching bugfix
autoInnerHeightbugfix wheninnerHeightis not specified- horizontal scroll goes to vertical scroll position when window is resized with
autoInnerHeightoption enabled bugfix
- wrong scroll position after changing innerHeight bugfix
- innerHeight bugfix (#242)
- automatic innerHeight feature (#276)
- added
hiddento the column data to easily hide column without changing data - added
positionto show columns in specified order
- changing columns bugfix (#278)
- selection plugin not selecting grid cells bugfix
- performance optimization
gstc-loadedevent bugfix and it fires only once to listen config changes just subscribestate.subscribe('config;', ()=>{ console.log('gstc reloaded') })
- console.log :/
- (code cleanup) some properties from
config.scrollmoved to$data.scroll - (code cleanup)
config.items.*.selectedandconfig.items.*.selectingmoved to$data.items.*.selectedand$data.items.*.selecting - minor performance improvements
- performance optimization
- Selection plugin: changed path from
gstc.api.plugins.selectiontogstc.api.plugins.Selection - Selection plugin: added ITEM and CELL string to api
- gstc.api.render() method added to refresh the view if needed
- ItemResizing plugin handle content improvement (function | object) with left and right values
- right arrow not appearing in some circumstances bugfix
- cut items to last date
- cache calculation bugfix (chart not responding to all changes)
- #275 bugfix (wrong right position of the item in calculatedTimeZoom mode)
- license info stored in state (
state.get('license')) - grid cells bugfix
- offline licenses
- minified code undefined variables bugfix
- performance
- plugins destroy bugfix
- npm update
- minor types update
- types improvement
- #217 bugfix
- #216 bugfix
This domain is not registered for your license ( undefined ).bugfix
- Code refactoring
- gstc.api.getCurrentCalendarLevels method added
- #213 sorting bugfix
- load performance optimization (
state.update('config', ...),state.update('config.list.rows',...)andstate.update('config.chart.items',...)also) - #202 fixed
- ProgressBar width bugfix
- ProgressBar width bugfix
- rows height calculation bugfix
- changed slot a little bit so ItemTypes plugin can work with ItemResizer plugin (inside item)
- ItemTypes plugin is now compatible with item slots
- Component templates support (for item only just for now)
- ItemTypes plugin
- remove handles from item when selected property was set to false (ItemResizing plugin bugfix)
- more responsive item property watcher
- invalid item position caused by DependencyLines plugin (bugfix)
- console.log removed...
- invalid row height and disappearing overlapping items bugfix
- dependency lines plugin should not display lines if items are outside of the whole timeline (not current view)
- throw more reasonable error when there is no item or cell with specified id when selecting
- getAllGridCells and getAllGridRows added in gstc instance api
- a full reload was fired when it shouldn't (bugfix)
- deep-state-library updated with couple of bugfixes
- file:/// protocol warning (gstc will not work with local files)
- #204 bugfix
- moved tests to examples dir 😏
- moved tests to tests dir and linked examples
- readme update
- build bugfix
- dependency lines plugin
- check browser version
- add item by id bugfix
- invalid token error for license improvement
- package.json update
- readme update
- current time with seconds and minutes bugfix
- console.log removed 😏
config.chart.calendarLevels.periodIncrementas a number or function
- package.json update
- build version bugfix
- build fix
- gstc version inside
config.version(readonly)
- travis integration
- gstc disappeared after a few seconds bugfix
- scroll position was not updated properly
- html is not defined bugfix
- default configuration changed (precise vertical scroll = true now)
- readme update (react, vue, angular examples)
- dependencies updated
- removed resize-observer-polyfill
- *.map files removed
- types in package.json updated
[3.2.5 - 3.2.7]
- html is not defined bugfix inside vue projects
- do not exclude examples from npm package
- plugins types bugfix
- npmignore updated - do not delete ../gstc.d.ts (Cannot find module '../gstc' or its corresponding type declarations bugfix)
- api plugin initialization - now all plugins must inform api about their initialization and destruction (api.pluginInitialized, api.pluginDestroyed, api.isPluginInitialized, api.getPluginsPositions, api.isPluginInitializedBefore)
- auto scroll feature for item-resizing plugin - from now on item-resizing plugin must be initialized before item-movement plugin
- list rows data children property was not calculated correctly
- c_c_c is not defined bugfix
- c_c_c is not defined bugfix
- .npmignore added
- readme update
- just version update
- visible items generation bugfix
- auto-scroll feature for item-movement plugin
*breaking in some situations - depends on user configuration - but must be changed due to bug fixing or make it much easier to use