* Add tooltip for cover image button
* Add cover img tooltip to v1 editor
* Use a slightly different message
* Fix tests
* Use proper comment syntax for front matter
* Fix Cypress test
* Use regex to find matching label
* test(cover-image): uses correct queries for ui unit tests
* test(form): replaces queries to getByRole and adds expect where necessary
* feat(help): adds expect assert and uses within to test inside specific block
* feat(image-uploader): uses correct queries to validate behaviour
* test: corrects queries and adds expect assertions to some unit tests
* add runtime utilities in webpack land, refactor webpack JS using old class
* access Runtime in legacy JS code via window.Forem namespace
* refactor
* make sure data-runtime added only after page does initial load
* Re-enable imageUpload native integration
* remove temporary inline comments
* move addEventListener to useEffect hook
* console.log on native messages from image upload integration
* Debug suggestions
* store text area in ref rather than state
* call error callback from native message handler
* Remove debug logs
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* add default placeholder, remove focus on first load
* fix some bugs re autofocus and mouse click to select
* allow custom selected styles to be passed in
* operate on objects with name property rather than plain strings
* WIP main functionality in place
* set default selections, allow a max to be placed on selections
* switch help context
* bug fixes to edit mode, static suggestions
* make sure suggestion resumes when edit begins
* cleanup and docs
* update existing form test
* add component tests
* add more component test cases
* refactor max selections flow, ensure default tag data only loads once
* stop removing combobox properties now the input stays visible
* add max selections test
* refactor
* make sure input refocus happens after blur event
* update cypress tests
* some small renames and doc changes
* only fetch exact matches from added tags
* fix test, update dark theme background
* set a max height on the popover, and ensure options can be scrolled into view
* woops - max height
* Update app/javascript/article-form/components/TagsField.jsx
Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
* refactors
* stop dropdown from flickering
* use ButtonNew
* remove redundant variant
* nudge PR checks
Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
* initial add of toolbar to v2 editor WIP
* fix Form test knocked out by rebase
* basic image upload functionality added to toolbar
* add cypress tests for toolbar
* move image tests to previous cypress spec
* test markdown insertion from buttons in jest
* small tidy up
* remove right padding in scrollable layout, hide scrollbar
* update tests following new line changes
* add more doc comments
* tweak padding css
* create constant for image placeholder
* add image uploader change missed in staging after merge conflict resolution
* window.ForemMobile namespaced functions
* Fix broken Buildkite
* Wait for data-loaded before using Runtime in pack
* Bring back sprockets base
* Better error handling
* Smal fixes to ConsumerApp to support Android platform
* Fix typo
* utilities/waitForDataLoaded.js
* Update app/javascript/utilities/waitForDataLoaded.js
Co-authored-by: Nick Taylor <nick@forem.com>
* Review feedback
* Fix failing spec
* Cleanup promise
* Remove old utility file
* Add Cypress check for namespaced availability
* More specs
* Refactor to rely on ForemMobile for native bridge messaging
* Fix spec/requests/api/v0/instances_spec.rb
* Fix devices spec
* Remove changes to /api/instance
* Refactor to dynamic import
* Fix typo
* Fixed custom event detail payload for tests.
* mock ForemMobile function instead of webkit call directly
* failing jest test debug
* Another attempt
* Fixed broken test that was missing an onMainImageUrlChange prop on the component.
* Fixed mobile bridging E2E tests.
* Move Cypress tests to mobileFlows
* Add JSDocs + cypress spec for injectJSMessage when logged out
* Cleanup + Disable native image upload until AppStore approval
Co-authored-by: Nick Taylor <nick@forem.com>
Co-authored-by: Nick Taylor <nick@dev.to>
* initial rough version
* link to relevant rules, extract image text, only show if more than 0 errors
* jsdoc and tweaks
* refactors
* add tests
* open info links in new tab
* add new window link icon
* WIP - initial exploration into post mentioon autocomplete
* replace the autosize textarea with mention autocomplete, adjusting height
* add cypress tests for mentioning in a post
* fix resizing of text areas
* refactor text area resize hook
* refactoring
* update cypress tests
* remove mergeRefs from utils, extract UserListItemContent
* allow useTextAreaAutoResize elements to have height greater than minimum, apply styles to container
* Trigger Travis CI
* Travis plz
* small refactors
* add comments and constants as per PR feedback
Co-authored-by: Nick Taylor <nick@dev.to>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
Co-authored-by: Nick Taylor <nick@dev.to>
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* First working version to integrate native bridge image upload
* ImageUploader base64 experiment
* Adds message handling
* Adds support for cover image
* Revert pre-commit hook changes
* Revert pre-commit hook changes
* Better native image upload logic + mock Runtime class in tests
* Dont render hidden fields unless necessary
* Better test coverage & inline comments for better context/documentation
* Added an a11y test for when native iOS image upload is available.
* Added more test
Co-authored-by: Nick Taylor <nick@dev.to>
* Fixed unhandled rejection in <ImageUploader /> test.
* Fixed <FollowUsers /> tests.
* Fixed the tests for the <RequestManager /> component.
* Fixed unhandled rejection in search utilities.
* Added an unhandledRejection listener so tests will fail if a Promise fails.
* Added a comment about why you might get an unhandled rejection exception.
* Refactored drag n drop functionality to a hook and component.
* Add the snackbar to the article editor.
* Now you can drag and drop images in the post body content.
* Cleaning up a few things.
* Now post cover images can be dragged and dropped.
* Removed unused empty function.
* Added @testing-library/preact-hooks so that we can test hooks.
* Some renaming, small refactor.
* Added tests
* Added more tests.
* Added more tests.
* Added message about dropping only one image in post body.
* Added message about dropping only one image for cover image.
* put onDrop into it's own meethod.
* More tests.
* Added some API documentation.
* Updated editor help with drag and drop image help.
* drag and drop styling
* .
* revert
* Fixed broken test.
Co-authored-by: Nick Taylor <nick@dev.to>
* Refactored drag n drop functionality to a hook and component.
* Add the snackbar to the article editor.
* Now you can drag and drop images in the post body content.
* Cleaning up a few things.
* Now post cover images can be dragged and dropped.
* Removed unused empty function.
* Added @testing-library/preact-hooks so that we can test hooks.
* Some renaming, small refactor.
* Added tests
* Added more tests.
* Added more tests.
* Added message about dropping only one image in post body.
* Added message about dropping only one image for cover image.
* put onDrop into it's own meethod.
* More tests.
* Added some API documentation.
* Updated editor help with drag and drop image help.
* Changed wording.
* Now the alt text for markdown removes the file extension.
* Updated help wording. Thanks @rhymes
* Now the image markdown adds a new line at the end as we currently do not support inline images.