New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Drawing Annotations Undo Redo #287
Conversation
…n/box-content-preview into branch/rebaseToRemote
…/MinhHNguyen/box-content-preview into feature/drawingAnnotationScaling
…-content-preview into feature/undoredo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this looks good!
src/lib/annotations/Annotator.js
Outdated
|
||
// NOTE (@minhnguyen): Move this logic to a new controller class | ||
const that = this; | ||
drawingThread.addListener('annotationevent', (data = {}) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
move this into a separate method + tests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm planning on doing this in a separate PR (the code is actually in the process of being written on a different branch). I don't think it makes sense to separate and test it at the moment when it will be moved and changed in a coming class change.
@@ -560,7 +536,7 @@ describe('lib/annotations/Annotator', () => { | |||
'click', | |||
sinon.match.func | |||
); | |||
expect(annotator.annotationModeHandlers.length).equals(4); | |||
expect(annotator.annotationModeHandlers.length).equals(6); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add tests for when only some of the buttons exist i.e postButtonEl, undoButton...etc
thread.addListener('threaddeleted', () => { | ||
this.showHighlightsOnPage(thread.location.page); | ||
}); | ||
if (annotatorUtil.isHighlightAnnotation(thread.type)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if (!annotatorUtil.isHighlightAnnotation(thread.type)) {
return;
}
thread.addListener(.....
@@ -116,16 +114,23 @@ class DocDrawingThread extends DrawingThread { | |||
* @return {void} | |||
*/ | |||
saveAnnotation(type, text) { | |||
super.saveAnnotation(type, text); | |||
this.emit('threadcleanup'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the reason for deleting the thread on save?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'threadcleanup' removes the listeners, 'threaddeleted' deletes the thread from the thread map. Once an annotation is saved (committed), all the listeners except 'threaddeleted' should be removed. Threaddeleted should only be removed on thread deletion.
I'll make the change of moving thread.removeAllListeners('threaddeleted') from unbindCustomListenersOnThread to the 'threaddeleted' callback.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Realized that bindings might be made to bind to 'threaddeleted' so I'll add a custom 'annotationevent' of type 'drawingcommit' to removeAllListeners('annotationevent'). We should be able to clean this up in the future once some logic is pulled out of Annotator.
*/ | ||
getNumberOfItems() { | ||
return { | ||
undo: this.undoStack.length, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe rename to undoCount and redoCount for clarity?
…-content-preview into feature/undoredo
https://github.com/box/box-annotations/releases/tag/v3.7.0 ## 3.7.0 (2019-01-22) * Fix: Creation of highlights on Edge/IE11/Firefox browsers (box#322) ([3d9ee7f](box/box-annotations@3d9ee7f)), closes [box#322](box/box-annotations#322) * Docs: Update badges (box#324) ([daf18a7](box/box-annotations@daf18a7)), closes [box#324](box/box-annotations#324) ## 3.6.0 (2019-01-15) * Fix: Don't display @mention selector in ACF (box#323) ([a474251](box/box-annotations@a474251)), closes [box#323](box/box-annotations#323) * Fix: Drawing threads now destroy their event handlers properly (box#317) ([ba3795d](box/box-annotations@ba3795d)), closes [box#317](box/box-annotations#317) * Fix: Functional tests (box#320) ([bba4a9c](box/box-annotations@bba4a9c)), closes [box#320](box/box-annotations#320) * Fix: Only unbind listeners from existing DOM elements (box#321) ([6a71a9e](box/box-annotations@6a71a9e)), closes [box#321](box/box-annotations#321) * Update: Improve and simplify annotation button and icon styles (box#318) ([538fbd2](box/box-annotations@538fbd2)), closes [box#318](box/box-annotations#318) * Chore: Add webpack-dev-server and basic fixture for local dev (box#316) ([7e3c01b](box/box-annotations@7e3c01b)), closes [box#316](box/box-annotations#316) * Chore: Update doc and test fixtures to support IE11 (box#319) ([6f9d783](box/box-annotations@6f9d783)), closes [box#319](box/box-annotations#319) ## 3.5.0 (2018-12-13) * Fix: AnnotationPopover CSS to not hide popover svgs (box#304) ([83ca5b7](box/box-annotations@83ca5b7)), closes [box#304](box/box-annotations#304) * Fix: date appears incorrectly for point annotations in IE11 (box#312) ([bcd6ae5](box/box-annotations@bcd6ae5)), closes [box#312](box/box-annotations#312) * Fix: Don't render until AFTER all are fetched (box#311) ([0e3fbff](box/box-annotations@0e3fbff)), closes [box#311](box/box-annotations#311) * Fix: Ensure dialog is still visible on undo/redo (box#302) ([1c8a7e2](box/box-annotations@1c8a7e2)), closes [box#302](box/box-annotations#302) * Fix: Ensure thread number is persisted for annotation replies (box#307) ([734fc6c](box/box-annotations@734fc6c)), closes [box#307](box/box-annotations#307) * Fix: Functional tests to work with React components (box#303) ([4f0418e](box/box-annotations@4f0418e)), closes [box#303](box/box-annotations#303) * Fix: Get mode button from header element rather than container (box#308) ([b50d72b](box/box-annotations@b50d72b)), closes [box#308](box/box-annotations#308) * Fix: Point image annotations popover should be on annotated element (box#305) ([6d71dee](box/box-annotations@6d71dee)), closes [box#305](box/box-annotations#305) * Fix: Reset current annotation thread immediately on save (box#313) ([19c89cc](box/box-annotations@19c89cc)), closes [box#313](box/box-annotations#313) * Fix: Reset undo/redo buttons on drawing save/delete (box#306) ([441f0f2](box/box-annotations@441f0f2)), closes [box#306](box/box-annotations#306) * Fix: Show comment list scrollbars only on overflow (box#314) ([83c143e](box/box-annotations@83c143e)), closes [box#314](box/box-annotations#314) * Chore: Remove NSP from build (defunct) (box#315) ([720802f](box/box-annotations@720802f)), closes [box#315](box/box-annotations#315) * Chore: Update test page for annotations 3.4 (box#301) ([71afd21](box/box-annotations@71afd21)), closes [box#301](box/box-annotations#301) * Update: CSS className constants for react classNames (box#299) ([b472a2e](box/box-annotations@b472a2e)), closes [box#299](box/box-annotations#299) ## 3.4.0 (2018-11-28) * Fix: Dialog not showing when creating points (box#295) ([c0ee86f](box/box-annotations@c0ee86f)), closes [box#295](box/box-annotations#295) * Fix: Don't clear selection if selecting outside of annotated element (box#298) ([5e277a0](box/box-annotations@5e277a0)), closes [box#298](box/box-annotations#298) * Fix: Fix test site for IE 11 (box#300) ([359bda3](box/box-annotations@359bda3)), closes [box#300](box/box-annotations#300) * Fix: Positioning of undo/redo drawing buttons in header on mobile (box#296) ([873394f](box/box-annotations@873394f)), closes [box#296](box/box-annotations#296) * Chore: Add Annotations test page to be hosted by github pages (box#294) ([b91ade9](box/box-annotations@b91ade9)), closes [box#294](box/box-annotations#294) * Chore: Ignore js and json in i18n (box#297) ([e691bdc](box/box-annotations@e691bdc)), closes [box#297](box/box-annotations#297) ## 3.3.0 (2018-11-20) * Fix: Clear highlight selection on mousedown and hideAnnotations() (box#293) ([b60bc56](box/box-annotations@b60bc56)), closes [box#293](box/box-annotations#293) * Fix: Ensure deleteSuccessHandler destroys thread when necessary (box#289) ([e972a72](box/box-annotations@e972a72)), closes [box#289](box/box-annotations#289) * Fix: Ensure popover parent element is determined correctly (box#292) ([eab98ec](box/box-annotations@eab98ec)), closes [box#292](box/box-annotations#292) * Fix: Popover CSS issues (box#287) ([e64b3f8](box/box-annotations@e64b3f8)), closes [box#287](box/box-annotations#287) * Fix: Reset create highlight UI when mouse hasn't moved on mouseup (box#290) ([4abd611](box/box-annotations@4abd611)), closes [box#290](box/box-annotations#290) * Fix: Reset popover UI on re-render/scale events (box#284) ([43e5cb0](box/box-annotations@43e5cb0)), closes [box#284](box/box-annotations#284) * Fix: Unfocus textarea on comment post/cancel (box#286) ([448347c](box/box-annotations@448347c)), closes [box#286](box/box-annotations#286) * Fix: Unregister drawing on mode cancel (box#288) ([12d5f6d](box/box-annotations@12d5f6d)), closes [box#288](box/box-annotations#288) * Chore: Remove unecesary highlightThread.onMouseDown() (box#291) ([a01db9f](box/box-annotations@a01db9f)), closes [box#291](box/box-annotations#291) * Update: Husky scripts (box#285) ([eaff0f0](box/box-annotations@eaff0f0)), closes [box#285](box/box-annotations#285) * Mojito: Update translations (box#283) ([529bbc0](box/box-annotations@529bbc0)), closes [box#283](box/box-annotations#283) ## 3.2.0 (2018-11-13) * Mojito: Update translations (box#282) ([48d2f8f](box/box-annotations@48d2f8f)), closes [box#282](box/box-annotations#282) ## 3.1.0 (2018-11-07) * Fix: Alignment of createdAt timestamp and user's name (box#277) ([b4980fb](box/box-annotations@b4980fb)), closes [box#277](box/box-annotations#277) * Fix: Ensure drawings are only registered once with the controller (box#278) ([feedc87](box/box-annotations@feedc87)), closes [box#278](box/box-annotations#278) * Fix: Ensure onSelectionChange isn't triggered while creating highlights (box#281) ([3130210](box/box-annotations@3130210)), closes [box#281](box/box-annotations#281) * Fix: Remove clickHandler from DrawingModeController (box#280) ([0c7fe0f](box/box-annotations@0c7fe0f)), closes [box#280](box/box-annotations#280) * Fix: Remove focus trap on AnnotationPopover on mobile (box#279) ([a14fe6b](box/box-annotations@a14fe6b)), closes [box#279](box/box-annotations#279) * Chore: Fix publish script (box#275) ([25c40f7](box/box-annotations@25c40f7)), closes [box#275](box/box-annotations#275) * Chore: Upgrade husky (box#276) ([14bda8a](box/box-annotations@14bda8a)), closes [box#276](box/box-annotations#276) ## 3.0.0 (2018-10-31) * Chore: Adding rsync to yarn run watch (box#241) ([afe6ab6](box/box-annotations@afe6ab6)), closes [box#241](box/box-annotations#241) * Chore: Cleanup flow types (box#274) ([33adb47](box/box-annotations@33adb47)), closes [box#274](box/box-annotations#274) * Chore: Reduce redundant point creation via buffering (box#237) ([2bfc2f1](box/box-annotations@2bfc2f1)), closes [box#237](box/box-annotations#237) * Breaking: Migrate Annotations UI into React (box#251) ([d853b80](box/box-annotations@d853b80)), closes [box#251](box/box-annotations#251) ## 2.3.0 (2018-10-16) * Chore: Add supported excel types. Remove greenkeeper badge (box#227) ([8bd1bb9](box/box-annotations@8bd1bb9)), closes [box#227](box/box-annotations#227) * Chore: break text to fit into dialog (box#230) ([3a5cc86](box/box-annotations@3a5cc86)), closes [box#230](box/box-annotations#230) * Chore: Remove unused thread.mouseoutHandler() (box#206) ([1017082](box/box-annotations@1017082)), closes [box#206](box/box-annotations#206) * Chore: Replace Karma with Jest for testing framework (box#199) ([a847b01](box/box-annotations@a847b01)), closes [box#199](box/box-annotations#199) * Chore: Update preview version to 1.54.0 in functional tests (box#239) ([6de2cf4](box/box-annotations@6de2cf4)), closes [box#239](box/box-annotations#239) * Fix: Cursor type in annotation dialog (box#195) ([b568288](box/box-annotations@b568288)), closes [box#195](box/box-annotations#195) * Fix: Functional tests scripts ([2dfc22e](box/box-annotations@2dfc22e)) * Fix: travis.yml config (box#203) ([a71ecb6](box/box-annotations@a71ecb6)), closes [box#203](box/box-annotations#203) * Update: Annotations with header (box#233) ([91cdce3](box/box-annotations@91cdce3)), closes [box#233](box/box-annotations#233) * Update: box-react-ui to v25.6.0 (box#204) ([398b4c3](box/box-annotations@398b4c3)), closes [box#204](box/box-annotations#204) * Update: Filter multi-image functional tests separately from image tests ([b15a007](box/box-annotations@b15a007)) * Update: Test yaml changes ([bb58296](box/box-annotations@bb58296)) * Update: Webpack 4 + dependencies (box#208) ([b2ba5df](box/box-annotations@b2ba5df)), closes [box#208](box/box-annotations#208) * Update .travis.yml ([9c09e8e](box/box-annotations@9c09e8e)) * Update .travis.yml ([236c383](box/box-annotations@236c383)) * Update add-annotation-type.md ([fcceb3e](box/box-annotations@fcceb3e)) * Update add-annotation-type.md ([ca5c6f0](box/box-annotations@ca5c6f0)) * Update webpack.selenium.config.js ([e008f68](box/box-annotations@e008f68)) * New: Add functional tests for image files (box#197) ([7c7b39e](box/box-annotations@7c7b39e)), closes [box#197](box/box-annotations#197)
https://github.com/box/box-annotations/releases/tag/v3.7.1 ## 3.7.0 (2019-01-22) * Fix: Creation of highlights on Edge/IE11/Firefox browsers (box#322) ([3d9ee7f](box/box-annotations@3d9ee7f)), closes [box#322](box/box-annotations#322) * Docs: Update badges (box#324) ([daf18a7](box/box-annotations@daf18a7)), closes [box#324](box/box-annotations#324) ## 3.6.0 (2019-01-15) * Fix: Don't display @mention selector in ACF (box#323) ([a474251](box/box-annotations@a474251)), closes [box#323](box/box-annotations#323) * Fix: Drawing threads now destroy their event handlers properly (box#317) ([ba3795d](box/box-annotations@ba3795d)), closes [box#317](box/box-annotations#317) * Fix: Functional tests (box#320) ([bba4a9c](box/box-annotations@bba4a9c)), closes [box#320](box/box-annotations#320) * Fix: Only unbind listeners from existing DOM elements (box#321) ([6a71a9e](box/box-annotations@6a71a9e)), closes [box#321](box/box-annotations#321) * Update: Improve and simplify annotation button and icon styles (box#318) ([538fbd2](box/box-annotations@538fbd2)), closes [box#318](box/box-annotations#318) * Chore: Add webpack-dev-server and basic fixture for local dev (box#316) ([7e3c01b](box/box-annotations@7e3c01b)), closes [box#316](box/box-annotations#316) * Chore: Update doc and test fixtures to support IE11 (box#319) ([6f9d783](box/box-annotations@6f9d783)), closes [box#319](box/box-annotations#319) ## 3.5.0 (2018-12-13) * Fix: AnnotationPopover CSS to not hide popover svgs (box#304) ([83ca5b7](box/box-annotations@83ca5b7)), closes [box#304](box/box-annotations#304) * Fix: date appears incorrectly for point annotations in IE11 (box#312) ([bcd6ae5](box/box-annotations@bcd6ae5)), closes [box#312](box/box-annotations#312) * Fix: Don't render until AFTER all are fetched (box#311) ([0e3fbff](box/box-annotations@0e3fbff)), closes [box#311](box/box-annotations#311) * Fix: Ensure dialog is still visible on undo/redo (box#302) ([1c8a7e2](box/box-annotations@1c8a7e2)), closes [box#302](box/box-annotations#302) * Fix: Ensure thread number is persisted for annotation replies (box#307) ([734fc6c](box/box-annotations@734fc6c)), closes [box#307](box/box-annotations#307) * Fix: Functional tests to work with React components (box#303) ([4f0418e](box/box-annotations@4f0418e)), closes [box#303](box/box-annotations#303) * Fix: Get mode button from header element rather than container (box#308) ([b50d72b](box/box-annotations@b50d72b)), closes [box#308](box/box-annotations#308) * Fix: Point image annotations popover should be on annotated element (box#305) ([6d71dee](box/box-annotations@6d71dee)), closes [box#305](box/box-annotations#305) * Fix: Reset current annotation thread immediately on save (box#313) ([19c89cc](box/box-annotations@19c89cc)), closes [box#313](box/box-annotations#313) * Fix: Reset undo/redo buttons on drawing save/delete (box#306) ([441f0f2](box/box-annotations@441f0f2)), closes [box#306](box/box-annotations#306) * Fix: Show comment list scrollbars only on overflow (box#314) ([83c143e](box/box-annotations@83c143e)), closes [box#314](box/box-annotations#314) * Chore: Remove NSP from build (defunct) (box#315) ([720802f](box/box-annotations@720802f)), closes [box#315](box/box-annotations#315) * Chore: Update test page for annotations 3.4 (box#301) ([71afd21](box/box-annotations@71afd21)), closes [box#301](box/box-annotations#301) * Update: CSS className constants for react classNames (box#299) ([b472a2e](box/box-annotations@b472a2e)), closes [box#299](box/box-annotations#299) ## 3.4.0 (2018-11-28) * Fix: Dialog not showing when creating points (box#295) ([c0ee86f](box/box-annotations@c0ee86f)), closes [box#295](box/box-annotations#295) * Fix: Don't clear selection if selecting outside of annotated element (box#298) ([5e277a0](box/box-annotations@5e277a0)), closes [box#298](box/box-annotations#298) * Fix: Fix test site for IE 11 (box#300) ([359bda3](box/box-annotations@359bda3)), closes [box#300](box/box-annotations#300) * Fix: Positioning of undo/redo drawing buttons in header on mobile (box#296) ([873394f](box/box-annotations@873394f)), closes [box#296](box/box-annotations#296) * Chore: Add Annotations test page to be hosted by github pages (box#294) ([b91ade9](box/box-annotations@b91ade9)), closes [box#294](box/box-annotations#294) * Chore: Ignore js and json in i18n (box#297) ([e691bdc](box/box-annotations@e691bdc)), closes [box#297](box/box-annotations#297) ## 3.3.0 (2018-11-20) * Fix: Clear highlight selection on mousedown and hideAnnotations() (box#293) ([b60bc56](box/box-annotations@b60bc56)), closes [box#293](box/box-annotations#293) * Fix: Ensure deleteSuccessHandler destroys thread when necessary (box#289) ([e972a72](box/box-annotations@e972a72)), closes [box#289](box/box-annotations#289) * Fix: Ensure popover parent element is determined correctly (box#292) ([eab98ec](box/box-annotations@eab98ec)), closes [box#292](box/box-annotations#292) * Fix: Popover CSS issues (box#287) ([e64b3f8](box/box-annotations@e64b3f8)), closes [box#287](box/box-annotations#287) * Fix: Reset create highlight UI when mouse hasn't moved on mouseup (box#290) ([4abd611](box/box-annotations@4abd611)), closes [box#290](box/box-annotations#290) * Fix: Reset popover UI on re-render/scale events (box#284) ([43e5cb0](box/box-annotations@43e5cb0)), closes [box#284](box/box-annotations#284) * Fix: Unfocus textarea on comment post/cancel (box#286) ([448347c](box/box-annotations@448347c)), closes [box#286](box/box-annotations#286) * Fix: Unregister drawing on mode cancel (box#288) ([12d5f6d](box/box-annotations@12d5f6d)), closes [box#288](box/box-annotations#288) * Chore: Remove unecesary highlightThread.onMouseDown() (box#291) ([a01db9f](box/box-annotations@a01db9f)), closes [box#291](box/box-annotations#291) * Update: Husky scripts (box#285) ([eaff0f0](box/box-annotations@eaff0f0)), closes [box#285](box/box-annotations#285) * Mojito: Update translations (box#283) ([529bbc0](box/box-annotations@529bbc0)), closes [box#283](box/box-annotations#283) ## 3.2.0 (2018-11-13) * Mojito: Update translations (box#282) ([48d2f8f](box/box-annotations@48d2f8f)), closes [box#282](box/box-annotations#282) ## 3.1.0 (2018-11-07) * Fix: Alignment of createdAt timestamp and user's name (box#277) ([b4980fb](box/box-annotations@b4980fb)), closes [box#277](box/box-annotations#277) * Fix: Ensure drawings are only registered once with the controller (box#278) ([feedc87](box/box-annotations@feedc87)), closes [box#278](box/box-annotations#278) * Fix: Ensure onSelectionChange isn't triggered while creating highlights (box#281) ([3130210](box/box-annotations@3130210)), closes [box#281](box/box-annotations#281) * Fix: Remove clickHandler from DrawingModeController (box#280) ([0c7fe0f](box/box-annotations@0c7fe0f)), closes [box#280](box/box-annotations#280) * Fix: Remove focus trap on AnnotationPopover on mobile (box#279) ([a14fe6b](box/box-annotations@a14fe6b)), closes [box#279](box/box-annotations#279) * Chore: Fix publish script (box#275) ([25c40f7](box/box-annotations@25c40f7)), closes [box#275](box/box-annotations#275) * Chore: Upgrade husky (box#276) ([14bda8a](box/box-annotations@14bda8a)), closes [box#276](box/box-annotations#276) ## 3.0.0 (2018-10-31) * Chore: Adding rsync to yarn run watch (box#241) ([afe6ab6](box/box-annotations@afe6ab6)), closes [box#241](box/box-annotations#241) * Chore: Cleanup flow types (box#274) ([33adb47](box/box-annotations@33adb47)), closes [box#274](box/box-annotations#274) * Chore: Reduce redundant point creation via buffering (box#237) ([2bfc2f1](box/box-annotations@2bfc2f1)), closes [box#237](box/box-annotations#237) * Breaking: Migrate Annotations UI into React (box#251) ([d853b80](box/box-annotations@d853b80)), closes [box#251](box/box-annotations#251) ## 2.3.0 (2018-10-16) * Chore: Add supported excel types. Remove greenkeeper badge (box#227) ([8bd1bb9](box/box-annotations@8bd1bb9)), closes [box#227](box/box-annotations#227) * Chore: break text to fit into dialog (box#230) ([3a5cc86](box/box-annotations@3a5cc86)), closes [box#230](box/box-annotations#230) * Chore: Remove unused thread.mouseoutHandler() (box#206) ([1017082](box/box-annotations@1017082)), closes [box#206](box/box-annotations#206) * Chore: Replace Karma with Jest for testing framework (box#199) ([a847b01](box/box-annotations@a847b01)), closes [box#199](box/box-annotations#199) * Chore: Update preview version to 1.54.0 in functional tests (box#239) ([6de2cf4](box/box-annotations@6de2cf4)), closes [box#239](box/box-annotations#239) * Fix: Cursor type in annotation dialog (box#195) ([b568288](box/box-annotations@b568288)), closes [box#195](box/box-annotations#195) * Fix: Functional tests scripts ([2dfc22e](box/box-annotations@2dfc22e)) * Fix: travis.yml config (box#203) ([a71ecb6](box/box-annotations@a71ecb6)), closes [box#203](box/box-annotations#203) * Update: Annotations with header (box#233) ([91cdce3](box/box-annotations@91cdce3)), closes [box#233](box/box-annotations#233) * Update: box-react-ui to v25.6.0 (box#204) ([398b4c3](box/box-annotations@398b4c3)), closes [box#204](box/box-annotations#204) * Update: Filter multi-image functional tests separately from image tests ([b15a007](box/box-annotations@b15a007)) * Update: Test yaml changes ([bb58296](box/box-annotations@bb58296)) * Update: Webpack 4 + dependencies (box#208) ([b2ba5df](box/box-annotations@b2ba5df)), closes [box#208](box/box-annotations#208) * Update .travis.yml ([9c09e8e](box/box-annotations@9c09e8e)) * Update .travis.yml ([236c383](box/box-annotations@236c383)) * Update add-annotation-type.md ([fcceb3e](box/box-annotations@fcceb3e)) * Update add-annotation-type.md ([ca5c6f0](box/box-annotations@ca5c6f0)) * Update webpack.selenium.config.js ([e008f68](box/box-annotations@e008f68)) * New: Add functional tests for image files (box#197) ([7c7b39e](box/box-annotations@7c7b39e)), closes [box#197](box/box-annotations#197)
Contains changes from #267 that need to be merged in first.