Refactors the canvas component to utilize internal state as opposed to directly modifying the selected asset from the properties. Fixes some race conditions when making changes to assets and their regions.
[AB#17114]
* Updated editor page state to not include child assets
* Added more unit tests to verify asset metadata saving
* Reverted changes to sidebar
* Renamed `isChildAssetType` to `isTaggableAssetType`
* Renamed parentAsset to rootAsset to make this more clear
* Address PR feedback
* WIP: Started refactoring canvas based assets
* Wired up editor page for basic experience
* WIP: Updated canvas to support single child element
* Making progress
* Got per frame tagging to work
* Load and set child assets
* Updated to filter out child assets from displaying in side bar
* Fixed issue with image regions now redrawing
* Integrated next/previous tagged frame buttons
* Wabrez/video test coverage (#549)
* Added unit tests for custom video player button
* Added unit tests for image asset component
* Added unit tests for video asset component
* Wired up editor page for basic experience
* WIP: Updated canvas to support single child element
* Making progress
* Load and set child assets
* Wabrez/video test coverage (#549)
* Added unit tests for custom video player button
* Added unit tests for image asset component
* Added unit tests for video asset component
* Canvas / Editor Page Test Coverage (#552)
* Added unit tests for asset preview component
* Moved components into correct location
* Re-enabled canvas unit tests
* Added more canvas unit tests
* Refactored canvas and editor page tests
* Fixed issue instantiating canvas tools editor
* Update TFRecords functions
* WIP: Adding TFRecord Asset Preview
* Loading Image from TFRecord file
* Adding State to TFRecord asset component
* Fix async read tfrecords attributes
* Removed image ref on TFRecord asset
* Ripristinated image ref in tfrecord asset
* Fix issues on render called before componentWillMount
* Update state only if asset changes
* Moved tfrecordAsset to new folder
* WIP: Adding tfrecordAsset unit test
* Updated tfrecordAsset to last refactor changes
* Updated path
* Refactored based on last changes and removed duplicates
* added docs
* init state with property and removed constructor
* Fixed unit test
* WIP: Started refactoring canvas based assets
* Wired up editor page for basic experience
* Wired up editor page for basic experience
* WIP: Updated canvas to support single child element
* WIP: Updated canvas to support single child element
* WIP: Adding TFRecord Asset Preview
* Making progress
* Making progress
* Got per frame tagging to work
* Load and set child assets
* Updated to filter out child assets from displaying in side bar
* Fixed issue with image regions now redrawing
* WIP: Reading Region metadata from TFRecord
* Integrated next/previous tagged frame buttons
* Added Features Array capability to TFRecords Reader
* Wabrez/video test coverage (#549)
* Added unit tests for custom video player button
* Added unit tests for image asset component
* Added unit tests for video asset component
* Creating IRegion array
* Adding Interface for TFRecord Object arrays
* Canvas / Editor Page Test Coverage (#552)
* Added unit tests for asset preview component
* Moved components into correct location
* Re-enabled canvas unit tests
* Added more canvas unit tests
* Refactored canvas and editor page tests
* Fixed issue instantiating canvas tools editor
* Fix TFRecord Object Array Interface
* Separated function for converting Region from TFRecord
* Replaced setTimeout() with setImmediate() in TFRecord asset test
* Removed HEAD file created in rebase
* Imported Tag name and color
* Test import metadata from tfrecord file
* Test region transformation
* Added comments and localization
* Fixed region bounding box calculus
* Fixed TFRecords region width/height export
* WIP: Started refactoring canvas based assets
* WIP: Started refactoring canvas based assets
* Wired up editor page for basic experience
* Wired up editor page for basic experience
* Wired up editor page for basic experience
* WIP: Updated canvas to support single child element
* WIP: Updated canvas to support single child element
* WIP: Updated canvas to support single child element
* Update TFRecords functions
* Add TFRecord new asset type changes
* WIP: Adding TFRecord Asset Preview
* Loading Image from TFRecord file
* Making progress
* Making progress
* Making progress
* Adding State to TFRecord asset component
* Got per frame tagging to work
* Got per frame tagging to work
* Fix async read tfrecords attributes
* Removed image ref on TFRecord asset
* Ripristinated image ref in tfrecord asset
* Fix issues on render called before componentWillMount
* Load and set child assets
* Load and set child assets
* Load and set child assets
* Update state only if asset changes
* Updated to filter out child assets from displaying in side bar
* Updated to filter out child assets from displaying in side bar
* Fixed issue with image regions now redrawing
* Integrated next/previous tagged frame buttons
* Wabrez/video test coverage (#549)
* Added unit tests for custom video player button
* Added unit tests for image asset component
* Added unit tests for video asset component
* Wabrez/video test coverage (#549)
* Added unit tests for custom video player button
* Added unit tests for image asset component
* Added unit tests for video asset component
* Moved tfrecordAsset to new folder
* WIP: Adding tfrecordAsset unit test
* Canvas / Editor Page Test Coverage (#552)
* Added unit tests for asset preview component
* Moved components into correct location
* Re-enabled canvas unit tests
* Added more canvas unit tests
* Refactored canvas and editor page tests
* Fixed issue instantiating canvas tools editor
* Updated tfrecordAsset to last refactor changes
* Updated path
* Refactored based on last changes and removed duplicates
* added docs
* init state with property and removed constructor
* Fixed unit test
* Removed ~HEAD files created by rebase
* Added comments and localization
* Fixed code duplication in test
* Removed duplicated mock
* Fixed test error
* Wired up editor page for basic experience
* WIP: Updated canvas to support single child element
* WIP: Adding TFRecord Asset Preview
* Making progress
* Fixed issue with image regions now redrawing
* WIP: Reading Region metadata from TFRecord
* Integrated next/previous tagged frame buttons
* Wabrez/video test coverage (#549)
* Added unit tests for custom video player button
* Added unit tests for image asset component
* Added unit tests for video asset component
* Creating IRegion array
* Canvas / Editor Page Test Coverage (#552)
* Added unit tests for asset preview component
* Moved components into correct location
* Re-enabled canvas unit tests
* Added more canvas unit tests
* Refactored canvas and editor page tests
* Fixed issue instantiating canvas tools editor
* Fix TFRecord Object Array Interface
* Replaced setTimeout() with setImmediate() in TFRecord asset test
* Removed HEAD file created in rebase
* Fixed code duplication in test
* Resolved some PR feedback
* Fixed import regions test
* temporary comment some code
* Removed comments from previous commit
* Moved ITFRecordMetadata interface to applicationState
* Fixed SonarCloud issue
* Removed duplicated test
* Removed empty prop interfaces
* Addressed feedback from PR
* Adding marks (yellow visited/green tagged) on video timeline
* Adding tests
* Cleaning up seeking of video to all go through same method, and adding new helpers
* Next/Previous "frame"
* Tests/strings
* Lock video frames to project settings keyframe rate
* WIP: Started refactoring canvas based assets
* Wired up editor page for basic experience
* WIP: Updated canvas to support single child element
* Making progress
* Got per frame tagging to work
* Load and set child assets
* Updated to filter out child assets from displaying in side bar
* Fixed issue with image regions now redrawing
* Integrated next/previous tagged frame buttons
* Wabrez/video test coverage (#549)
* Added unit tests for custom video player button
* Added unit tests for image asset component
* Added unit tests for video asset component
* Wired up editor page for basic experience
* WIP: Updated canvas to support single child element
* Update TFRecords functions
* Add TFRecord new asset type changes
* WIP: Adding TFRecord Asset Preview
* Loading Image from TFRecord file
* Making progress
* Adding State to TFRecord asset component
* Fix async read tfrecords attributes
* Removed image ref on TFRecord asset
* Ripristinated image ref in tfrecord asset
* Fix issues on render called before componentWillMount
* Load and set child assets
* Update state only if asset changes
* Wabrez/video test coverage (#549)
* Added unit tests for custom video player button
* Added unit tests for image asset component
* Added unit tests for video asset component
* Moved tfrecordAsset to new folder
* WIP: Adding tfrecordAsset unit test
* Canvas / Editor Page Test Coverage (#552)
* Added unit tests for asset preview component
* Moved components into correct location
* Re-enabled canvas unit tests
* Added more canvas unit tests
* Refactored canvas and editor page tests
* Fixed issue instantiating canvas tools editor
* Updated tfrecordAsset to last refactor changes
* Updated path
* Refactored based on last changes and removed duplicates
* added docs
* init state with property and removed constructor
* Fixed unit test
* Removed ~HEAD files created by rebase
* Added comments and localization
* Update videoAsset comments
* Fixes from PR feedback
* Fixes from PR feedback
* Fixes from PR feedback
* Removed wrong rebased line in EditorPage
* support up/down & w/s key for navigating assets
1. replace toolbar left/right button with up/down buttons
to match keyboard
1. add support for up/down & w/s key for moving between assets
* Update current project when connection changes
* Removed redundant test in editor page
* Updated toolbar to remove duplicate logic
* Addressed PR feedback
* WIP: Started refactoring canvas based assets
* Wired up editor page for basic experience
* WIP: Updated canvas to support single child element
* Making progress
* Got per frame tagging to work
* Load and set child assets
* Updated to filter out child assets from displaying in side bar
* Fixed issue with image regions now redrawing
* Integrated next/previous tagged frame buttons
* Mixed rebase issues
* Wabrez/video test coverage (#549)
* Added unit tests for custom video player button
* Added unit tests for image asset component
* Added unit tests for video asset component
* Canvas / Editor Page Test Coverage (#552)
* Added unit tests for asset preview component
* Moved components into correct location
* Re-enabled canvas unit tests
* Added more canvas unit tests
* Refactored canvas and editor page tests
* Addressed rebase/merge issues
* Fixed issue instantiating canvas tools editor
* Addressed PR feedback
* Add support for keyUp and keyPress
* Add prop to keyboard binding for registering on key event type
* Rename key event handler and added enums to event listener
* lint fix
* Add tests for keypress and keyup
* Add tests for keyboard registration manager
* Add key event type to JSDocs
* response to PR feedback
* Replace ITagMetadata with ITag, Refactor pieces of Canvas to make it easier for cut, copy, paste
* Cleanup extraneous info
* Remove unnecessary casts
* Initial tests for canvas helpers
* Update regex for color
* Lint fix
* Fix canvas helpers tests
* Added test cases for canvas and helper
* Dummy commit to kick off build
* Add more helper unit tests
* Lint fix
* WIP - Started on keyboard manager
* Added keyboard binding component
* Updated existing unit tests
* Added unit tests for keyboard registration manager
* Added unit tests for keyboard manager component
* Added unit tests for keyboard binding component
* Added unit tests for previous/next asset in editor page
* Updated unit tests for toolbar item
* Removed direct reference to keyboard manager context - no longer needed
* encodeurlcomponent not working
* encoded files are loaded and getting rid of comments
* moving logic to asset service
* add encoded name test
* remove unused code
* remove comments
* remove console statements
* proper test and regex
* fix lintint errors
* Use boundigBox
* WIP: Adding TFRecords Reader
* Read TFRecords with multiple records
* change length as a property
* Added TFRecords Builder-Reader integration tests
* Adding Guard and resolving other pr feedback
- Video player hooked into canvas tools
- Simplified AssetPreview to not use Video player, instead use still image from video @ timestamp 5s
- Update to only allow tag selection on videos when video is not playing
- Updated tests to include regions and mock state callbacks for videos
- Added Canvas error code type
* WIP: adding TFRecords Builder class
* Added TFRecordsBuilder class
* added unit test
* Refactored AddFeature and AddFeatureArray interface
* removed import
* WIG using TFRecord package
* Testing Protocol Buffer generation
* WIP Adding support for TFRecords ProtoBuf main containers
* WIP Adding internal methods for TFRecord Features
* WIP saving base64 and sha256 in TFRecords
* get asset tags/region
* WIP saving on TFRecords feature arrays
* Exported Features and FeatureLists on TFRecords
* WIG using TFRecord package
* Testing Protocol Buffer generation
* WIP Adding support for TFRecords ProtoBuf main containers
* WIP Adding internal methods for TFRecord Features
* WIP saving base64 and sha256 in TFRecords
* get asset tags/region
* WIP saving on TFRecords feature arrays
* Exported Features and FeatureLists on TFRecords
* removed test tag data
* update tests
* replaced string to utf-8 bytearray with custom implementation
* testing also pbtxt file
* excluded protocol buffer generated js file in codeconv
* rename TFRecord/ProtoBuf features object
* Added CRC to TFRecords
* Added 32bit and 64bit CRCs
* fix crc masking
* Write all Int in Low Endian
* Adding CRC to Buffer reusing V1 code
* try different crc package (buffer-crc32)
* Added TFRecords Helper file with utility methods for CRC and Buffer conversion
* Added unit tests for TFRecords Helper functions
* Fix Image encoding in TFRecords
* Refactored asset image download
* Added small comment on TFRecords write catch
* Export tag index position too
* Fix TFRecords features persistence
* Fixed last TFRecords features
* Added error codes to known errors
* Restructured errors for localization
* Added localized error messages for errors and messages
* Created error handler component to display application errors
* Added unit tests for error handler component
* Added unit tests for error handler component
* Updated setting AppError properties to resolve weird unit test failure
* Addressed PR feedback
* Split out appSettingsForm from appSettingsPage
* Added tests for app settings page
* Fixed merge conflictd issues
* Added string localizations for app settings form updates
* Started adding security token input component
* Updating security token input component
* Integrate security token into project settings
* Renamed to proected input and reused for all senstive data fields
* Added project encryption/decryption
* Making progress on syncing encrypted/decrypted project data
* Added unit tests to encrypt/decrypt object
* Updated project service unit tests
* Updated encrypted/decrypted data sync
* Updated project action tests
* Cleaned up unit tests
* Fixed editor page unit tests
* Fixing unit tests
* Updated editor page tests
* Refactored connection form tests
* Added unit tests for protected input component
* Added unit tests for security token picker
* Merged unit test changes
* Added unit test to verify new security token is created for new projects
* Addressed PR feedback
in order to test and integrate greenkeeper I have to enable CI on branches (right now it's disable). But I don't want this to run for all branches, so only enable it on greenkeeper-created branches which always starts with greenkeeper/
* Start ct integration
* Add componentdidmount
* Update ct library
* Update images in editor
* Begin saving regions
* Integrate ct as npm module
* Cleanup a bit
* Change ct back to git for now
* Fix ct package
* Saveregions after creation
* Expose public methods of region manager in canvas
* Fix IRegion type
* Correctly bind exposed api calls
* Add jsdocs and add types to exposed methods
* Updated canvastool and fix scaling issue
* Clean up comments
* Fix linting issues
* Updated canvastools and temporarily removed edoitorpage tests
* Clean up onComponentDidMount and add snapsvg types temoporarily
* Fixed linting..
* fix file location issue
* Begin footer work
* Preserve first tag color and remove svg
* Add tag control from footer. Still need to update canvstools for colors, toolbar removal/integration.
* Update canvastools and hook up toolabr
* Addimg tests back in
* Update canvastools and fix scaling issue
* Update region id to use shortid
* Add integration tests from footer and linting
* Add polygon support
* Start adding mock canvas
* install packages
* Continue testing
* Expose editor methods for testing and stub out canvas tests
* Still testing
* Setup canvas tools editor / regions manager mock
* Add most tests
* Add tests and change region to store tagmetadata
* Remove ct toolbar style (depricated)
* Fix tests
* Fix test
* Add toolbar integration tests
* Small change for CI/CD
* Refactor toolbar items to not take canvas or editormodechange
* Address pr comments
* Fix canvas test
* Address more PR comments
* Address latest comments, clean up
* Fix conflict
* Removed localStorage middleware from test runs
* Initial implementation of video player on editor page
* Includes video player with customizable playback speed
* Auto plays selected videos
* No longer auto plays videos in side bar
* Supports custom image to display when video not playing (defaults to 1st video frame)
* Updates tests
* Refactors a few other tests to centralize test asset creation
* Updates version of React to 16.7.0
* Rename IVideoSettings to IProjectVideoSettings for clarity