Skip to content
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

Mobile Stories block (part3: refactor / rename) #26005

Conversation

mzorz
Copy link
Contributor

@mzorz mzorz commented Oct 10, 2020

Description

This PR builds on top of #25771, and renames the components with a more generic abstraction

Related PRs:
Jetpack: Automattic/jetpack#17456

Gutenberg mobile: wordpress-mobile/gutenberg-mobile#2706

WPAndroid: wordpress-mobile/WordPress-Android#13101

How has this been tested?

Please use this PR in the WordPress Android repo wordpress-mobile/WordPress-Android#12982

Types of changes

No changes in functionality, just renaming for now

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR.

@mzorz mzorz added [Type] Enhancement A suggestion for improvement. Mobile App - i.e. Android or iOS Native mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change) labels Oct 10, 2020
@mzorz mzorz requested a review from etoledom October 10, 2020 16:36
@github-actions
Copy link

github-actions bot commented Oct 10, 2020

Size Change: 0 B

Total Size: 1.19 MB

ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.54 kB 0 B
build/api-fetch/index.js 3.35 kB 0 B
build/autop/index.js 2.72 kB 0 B
build/blob/index.js 668 B 0 B
build/block-directory/index.js 8.55 kB 0 B
build/block-directory/style-rtl.css 943 B 0 B
build/block-directory/style.css 942 B 0 B
build/block-editor/index.js 129 kB 0 B
build/block-editor/style-rtl.css 11 kB 0 B
build/block-editor/style.css 11 kB 0 B
build/block-library/editor-rtl.css 8.65 kB 0 B
build/block-library/editor.css 8.65 kB 0 B
build/block-library/index.js 145 kB 0 B
build/block-library/style-rtl.css 7.66 kB 0 B
build/block-library/style.css 7.65 kB 0 B
build/block-library/theme-rtl.css 741 B 0 B
build/block-library/theme.css 741 B 0 B
build/block-serialization-default-parser/index.js 1.78 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 47.6 kB 0 B
build/components/index.js 169 kB 0 B
build/components/style-rtl.css 15.5 kB 0 B
build/components/style.css 15.5 kB 0 B
build/compose/index.js 9.43 kB 0 B
build/core-data/index.js 12 kB 0 B
build/data-controls/index.js 685 B 0 B
build/data/index.js 8.6 kB 0 B
build/date/index.js 31.9 kB 0 B
build/deprecated/index.js 772 B 0 B
build/dom-ready/index.js 568 B 0 B
build/dom/index.js 4.42 kB 0 B
build/edit-navigation/index.js 10.6 kB 0 B
build/edit-navigation/style-rtl.css 868 B 0 B
build/edit-navigation/style.css 871 B 0 B
build/edit-post/index.js 306 kB 0 B
build/edit-post/style-rtl.css 6.29 kB 0 B
build/edit-post/style.css 6.27 kB 0 B
build/edit-site/index.js 21 kB 0 B
build/edit-site/style-rtl.css 3.73 kB 0 B
build/edit-site/style.css 3.73 kB 0 B
build/edit-widgets/index.js 21.2 kB 0 B
build/edit-widgets/style-rtl.css 3.02 kB 0 B
build/edit-widgets/style.css 3.02 kB 0 B
build/editor/editor-styles-rtl.css 492 B 0 B
build/editor/editor-styles.css 493 B 0 B
build/editor/index.js 45.5 kB 0 B
build/editor/style-rtl.css 3.85 kB 0 B
build/editor/style.css 3.84 kB 0 B
build/element/index.js 4.45 kB 0 B
build/escape-html/index.js 734 B 0 B
build/format-library/index.js 7.49 kB 0 B
build/format-library/style-rtl.css 547 B 0 B
build/format-library/style.css 548 B 0 B
build/hooks/index.js 1.74 kB 0 B
build/html-entities/index.js 621 B 0 B
build/i18n/index.js 3.54 kB 0 B
build/is-shallow-equal/index.js 710 B 0 B
build/keyboard-shortcuts/index.js 2.39 kB 0 B
build/keycodes/index.js 1.85 kB 0 B
build/list-reusable-blocks/index.js 3.02 kB 0 B
build/list-reusable-blocks/style-rtl.css 476 B 0 B
build/list-reusable-blocks/style.css 476 B 0 B
build/media-utils/index.js 5.12 kB 0 B
build/notices/index.js 1.69 kB 0 B
build/nux/index.js 3.27 kB 0 B
build/nux/style-rtl.css 671 B 0 B
build/nux/style.css 668 B 0 B
build/plugins/index.js 2.44 kB 0 B
build/primitives/index.js 1.34 kB 0 B
build/priority-queue/index.js 790 B 0 B
build/redux-routine/index.js 2.85 kB 0 B
build/rich-text/index.js 13 kB 0 B
build/server-side-render/index.js 2.6 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.24 kB 0 B
build/url/index.js 4.06 kB 0 B
build/viewport/index.js 1.74 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.17 kB 0 B

compressed-size-action

@@ -228,8 +228,8 @@ public void requestMediaEditor(String mediaUrl, final Callback onUploadMediaSele
}

@ReactMethod
public void requestStoryCreatorLoad(ReadableArray mediaFiles, String blockId) {
mGutenbergBridgeJS2Parent.requestStoryCreatorLoad((savedMediaFiles, savedBlockId) ->
public void requestMediaFilesEditorLoad(ReadableArray mediaFiles, String blockId) {
Copy link
Contributor Author

@mzorz mzorz Oct 10, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternative to use sendActionButtonPressed

It was discussed previously that we could probably use sendActionButtonPressed in place of the dedicated requestMediaFilesEditorLoad (previously named requestStoryCreatorLoad) but I understand the sendActionButtonPressed exists to signal the host app about something, and then changing state and then being able to actually trigger the fallback (as for example requestUnsupportedBlockFallback in the following piece of code), and I believe this is because we had a bottom sheet appearing for the unsupported block case.

				onModalHide={ () => {
					if ( this.state.sendFallbackMessage ) {
						// On iOS, onModalHide is called when the controller is still part of the hierarchy.
						// A small delay will ensure that the controller has already been removed.
						this.timeout = setTimeout( () => {
							// for the Classic block, the content is kept in the `content` attribute
							const content =
								blockName === 'core/freeform'
									? attributes.content
									: attributes.originalContent;
							requestUnsupportedBlockFallback(
								content,
								clientId,
								blockName,
								blockTitle
							);
						}, 100 );
						this.setState( { sendFallbackMessage: false } );
					} else if ( this.state.sendButtonPressMessage ) {
						this.timeout = setTimeout( () => {
							sendActionButtonPressedAction(
								actionButtons.missingBlockAlertActionButton
							);
						}, 100 );
						this.setState( { sendButtonPressMessage: false } );
					}
				} }

Given we don't have a bottom sheet but rather have a direct signal to trigger the media files editor (in particular, the story block editor), I think just making the previously named requestStoryCreatorLoad bridge method more generic is enough (as it is now).

I have saved my work though in these following branches, in case there's a compelling reason to go with the 2-phased signaling of 1) sendActionButtonPressedAction and then 2) a similarly named to requestUnsupportedBlockFallback method, because otherwise we would need to add all these optionals to sendActionButtonPressedAction: blockId, mediaFiles, and the ReplaceMediaFilesEditedBlockCallback callback function as well. I don't think it's necessary, but interested in knowing what your thoughts on this are @etoledom 🙇

The WIP branches showing this exploration are all the same name on all 4 repos: (WPAndroid, gutenberg-mobile, jetpack, and gutenberg):
base branch: try/jetpack-stories-block-mobile-on-done-refactor
exercise branch: try/jetpack-stories-try-send-action

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could add an optional block ID and callback block but I agree that the need of mediaFiles as an argument makes it specific enough to have its own method 👍

Copy link
Contributor

@etoledom etoledom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for taking care of this! 🙏

Now there's one question that became more evident, about the differences between MediaUpdateProgress and the new BlockMediaUpdateProgress.

It looks like the new BlockMediaUpdateProgress is based on MediaUpdateProgress but with extra functionality.

So the question is:

Could we add this new functionality directly to MediaUploadProgress, making it optional so can be used by both the new block and our old Media blocks?

Pinging @Tug get his feedback since I haven't been much involved on the Media work.

@mzorz
Copy link
Contributor Author

mzorz commented Oct 13, 2020

Thank you for taking care of this! 🙏

Thank you for your review @etoledom 🙇 🙌

Could we add this new functionality directly to MediaUploadProgress, making it optional so can be used by both the new block and our old Media blocks?

Good question! totally it'd make sense to replace the old MediaUploadProgress component with this one once everything has proven to be working, but wanted to have all the work in place before doing such a refactor given I really want to keep old media blocks working appropriately :D - so basically yes, seems reasonable to do once everything is in place 👍

@etoledom
Copy link
Contributor

so basically yes, seems reasonable to do once everything is in place

Cool! :shipit:

@mzorz mzorz merged commit e288930 into try/jetpack-stories-block-mobile-on-done Oct 14, 2020
@mzorz mzorz deleted the try/jetpack-stories-block-mobile-on-done-refactor branch October 14, 2020 14:55
mzorz added a commit that referenced this pull request Oct 14, 2020
* added mobile StoryUpdateProgress component and bridge code to send/receive save progress

* updated WPAndroid bridge DeferredEventEmitter to handle Story save events separately

* changed all Save event interface methods to use String ids instead of int, and removed serverMediaId params as these don't apply while saving locally

* redefined upload/save state constants

* added onStorySaveResult handling to bridge, and renamed STORY_SAVE_STATE_* events to MEDIA_SAVE_STATE_* where appropriate

* checking for matches of mediaId in  mediaFiles while saving to send save progress updates

* added mediaModelCreated() method to the bridge, so a new ID can be assigned to a mediaFile in a Story block

* mediaId should always be a string in mediaFiles so, converting to avoid strict comparison to fail

* removed commented code

* updated documentation

* added missing implementation of method storySaveSync() in demo app

* fixed prettier warning

* Update packages/block-editor/src/components/story-update-progress/README.md

Co-authored-by: Joel Dean <[email protected]>

* Update packages/block-editor/src/components/story-update-progress/README.md

Co-authored-by: Joel Dean <[email protected]>

* Mobile Stories block (part3: refactor / rename) (#26005)

* renames for generic media files collection block and BlockMediaUpdateProgres

* referencing the right props method in finishMediaSaveWithFailure

* mistaken renames of  parameters in bridge methods

* renamed more abstract/generic method names requestMediaFilesEditorLoad

* removed extra whtie space

* renamed argument type

Co-authored-by: Joel Dean <[email protected]>
mzorz added a commit that referenced this pull request Nov 10, 2020
* updated initial example html content file with story block

* adding method requestStoryCreatorLoad() to the bridge

* added new interface OnStoryCreatorRequestListener

* passing mediaFiles and blockId over the bridge in requestStoryCreatorLoad()

* prettier fix

* added gray-700 color, missing if not after retiring and changes made in  (#25213)

* removed jetpack stories example block from initial demo load

* Mobile Stories block (part2: on done) (#25771)

* added mobile StoryUpdateProgress component and bridge code to send/receive save progress

* updated WPAndroid bridge DeferredEventEmitter to handle Story save events separately

* changed all Save event interface methods to use String ids instead of int, and removed serverMediaId params as these don't apply while saving locally

* redefined upload/save state constants

* added onStorySaveResult handling to bridge, and renamed STORY_SAVE_STATE_* events to MEDIA_SAVE_STATE_* where appropriate

* checking for matches of mediaId in  mediaFiles while saving to send save progress updates

* added mediaModelCreated() method to the bridge, so a new ID can be assigned to a mediaFile in a Story block

* mediaId should always be a string in mediaFiles so, converting to avoid strict comparison to fail

* removed commented code

* updated documentation

* added missing implementation of method storySaveSync() in demo app

* fixed prettier warning

* Update packages/block-editor/src/components/story-update-progress/README.md

Co-authored-by: Joel Dean <[email protected]>

* Update packages/block-editor/src/components/story-update-progress/README.md

Co-authored-by: Joel Dean <[email protected]>

* Mobile Stories block (part3: refactor / rename) (#26005)

* renames for generic media files collection block and BlockMediaUpdateProgres

* referencing the right props method in finishMediaSaveWithFailure

* mistaken renames of  parameters in bridge methods

* renamed more abstract/generic method names requestMediaFilesEditorLoad

* removed extra whtie space

* renamed argument type

Co-authored-by: Joel Dean <[email protected]>

* Update packages/block-editor/src/components/block-media-update-progress/README.md

Co-authored-by: Paul Von Schrottky <[email protected]>

* using array.some() to find element in array

* prettified function call

* removed commented code

* Media Files Collection (part4: error handling) (#26008)

* added mobile StoryUpdateProgress component and bridge code to send/receive save progress

* updated WPAndroid bridge DeferredEventEmitter to handle Story save events separately

* changed all Save event interface methods to use String ids instead of int, and removed serverMediaId params as these don't apply while saving locally

* redefined upload/save state constants

* added onStorySaveResult handling to bridge, and renamed STORY_SAVE_STATE_* events to MEDIA_SAVE_STATE_* where appropriate

* checking for matches of mediaId in  mediaFiles while saving to send save progress updates

* added mediaModelCreated() method to the bridge, so a new ID can be assigned to a mediaFile in a Story block

* mediaId should always be a string in mediaFiles so, converting to avoid strict comparison to fail

* removed commented code

* updated documentation

* added missing implementation of method storySaveSync() in demo app

* fixed prettier warning

* renames for generic media files collection block and BlockMediaUpdateProgres

* referencing the right props method in finishMediaSaveWithFailure

* mistaken renames of  parameters in bridge methods

* renamed more abstract/generic method names requestMediaFilesEditorLoad

* removed extra whtie space

* renamed argument type

* renamed event paramter name to easier to understand 'success' boolean, matching the native counterpart

* added cancel and retry bridge methods specific for mediaFiles collection based blocks

* added requestMediaFilesSaveCancelDialog bridge method

* renamed bridge method mediaModelCreatedForFile for more general purpose mediaIdChanged

* Add missing iOS bridge declarations

* added jsdoc like description for methods

* removed unneeded return statement in some bridge methods

* Update packages/react-native-bridge/index.js

Co-authored-by: Joel Dean <[email protected]>

* Update packages/react-native-bridge/index.js

Co-authored-by: Joel Dean <[email protected]>

* Update packages/react-native-bridge/index.js

Co-authored-by: Joel Dean <[email protected]>

* fixed typo, added punctuation

Co-authored-by: eToledo <[email protected]>
Co-authored-by: Joel Dean <[email protected]>

* [RNMobile] added jetpack node_modules folder to cleanup step in JSbundle building (#26247)

* added mobile StoryUpdateProgress component and bridge code to send/receive save progress

* updated WPAndroid bridge DeferredEventEmitter to handle Story save events separately

* changed all Save event interface methods to use String ids instead of int, and removed serverMediaId params as these don't apply while saving locally

* redefined upload/save state constants

* added onStorySaveResult handling to bridge, and renamed STORY_SAVE_STATE_* events to MEDIA_SAVE_STATE_* where appropriate

* checking for matches of mediaId in  mediaFiles while saving to send save progress updates

* added mediaModelCreated() method to the bridge, so a new ID can be assigned to a mediaFile in a Story block

* mediaId should always be a string in mediaFiles so, converting to avoid strict comparison to fail

* removed commented code

* updated documentation

* added missing implementation of method storySaveSync() in demo app

* fixed prettier warning

* renames for generic media files collection block and BlockMediaUpdateProgres

* referencing the right props method in finishMediaSaveWithFailure

* mistaken renames of  parameters in bridge methods

* renamed more abstract/generic method names requestMediaFilesEditorLoad

* removed extra whtie space

* renamed argument type

* renamed event paramter name to easier to understand 'success' boolean, matching the native counterpart

* added cancel and retry bridge methods specific for mediaFiles collection based blocks

* added requestMediaFilesSaveCancelDialog bridge method

* renamed bridge method mediaModelCreatedForFile for more general purpose mediaIdChanged

* added jetpack node_modules folder to cleanup step in JSbundle building tasks

* Mobile Stories block - unit tests for BlockMediaUpdateProgress (#26423)

* adding upload progress tests on BLockMediaUpdateProgress component (mediaFiles collection)

* added save event tests for BlockMediaUpdateProgress component

* ids in mediaFiles array are always strings, fixed that

* updated function name passed by props

* fixed mediaFiles const passing for saving, using tempMediaFiles

* fixed state change for saveReset signal, was changing upload state instead

* fixed typo

* fixed using save state var

* changed to more descriptive test names

* removed commented line

* renamed vars to match bridge signal name

* Mobile stories block: hide behind feature flag (#26522)

* hide Story block in non-DEV builds

* prettified

* passing enableStories feature flag in GutenbergProps and hiding block from picker if false

* added space

* renamed bridge GutenbergProps property to agnostic abstraction mediaFilesCollectionBlock

* renamed var on Capabilities enum

* removed stories specific block behavior

* added Jdoc descriptions

* [RNMobile] iOS side of bridge for media collection blocks (#26704)

* Activate media files collection capabilitie on iOS example app

* Implement iOS side of Bridge for Media Collection blocks

* Update packages/react-native-bridge/ios/RNReactNativeGutenbergBridge.swift

Co-authored-by: Paul Von Schrottky <[email protected]>

Co-authored-by: Paul Von Schrottky <[email protected]>

Co-authored-by: Joel Dean <[email protected]>
Co-authored-by: Paul Von Schrottky <[email protected]>
Co-authored-by: eToledo <[email protected]>
cameronvoell pushed a commit that referenced this pull request Nov 14, 2020
* updated initial example html content file with story block

* adding method requestStoryCreatorLoad() to the bridge

* added new interface OnStoryCreatorRequestListener

* passing mediaFiles and blockId over the bridge in requestStoryCreatorLoad()

* prettier fix

* added gray-700 color, missing if not after retiring and changes made in  (#25213)

* removed jetpack stories example block from initial demo load

* Mobile Stories block (part2: on done) (#25771)

* added mobile StoryUpdateProgress component and bridge code to send/receive save progress

* updated WPAndroid bridge DeferredEventEmitter to handle Story save events separately

* changed all Save event interface methods to use String ids instead of int, and removed serverMediaId params as these don't apply while saving locally

* redefined upload/save state constants

* added onStorySaveResult handling to bridge, and renamed STORY_SAVE_STATE_* events to MEDIA_SAVE_STATE_* where appropriate

* checking for matches of mediaId in  mediaFiles while saving to send save progress updates

* added mediaModelCreated() method to the bridge, so a new ID can be assigned to a mediaFile in a Story block

* mediaId should always be a string in mediaFiles so, converting to avoid strict comparison to fail

* removed commented code

* updated documentation

* added missing implementation of method storySaveSync() in demo app

* fixed prettier warning

* Update packages/block-editor/src/components/story-update-progress/README.md

Co-authored-by: Joel Dean <[email protected]>

* Update packages/block-editor/src/components/story-update-progress/README.md

Co-authored-by: Joel Dean <[email protected]>

* Mobile Stories block (part3: refactor / rename) (#26005)

* renames for generic media files collection block and BlockMediaUpdateProgres

* referencing the right props method in finishMediaSaveWithFailure

* mistaken renames of  parameters in bridge methods

* renamed more abstract/generic method names requestMediaFilesEditorLoad

* removed extra whtie space

* renamed argument type

Co-authored-by: Joel Dean <[email protected]>

* Update packages/block-editor/src/components/block-media-update-progress/README.md

Co-authored-by: Paul Von Schrottky <[email protected]>

* using array.some() to find element in array

* prettified function call

* removed commented code

* Media Files Collection (part4: error handling) (#26008)

* added mobile StoryUpdateProgress component and bridge code to send/receive save progress

* updated WPAndroid bridge DeferredEventEmitter to handle Story save events separately

* changed all Save event interface methods to use String ids instead of int, and removed serverMediaId params as these don't apply while saving locally

* redefined upload/save state constants

* added onStorySaveResult handling to bridge, and renamed STORY_SAVE_STATE_* events to MEDIA_SAVE_STATE_* where appropriate

* checking for matches of mediaId in  mediaFiles while saving to send save progress updates

* added mediaModelCreated() method to the bridge, so a new ID can be assigned to a mediaFile in a Story block

* mediaId should always be a string in mediaFiles so, converting to avoid strict comparison to fail

* removed commented code

* updated documentation

* added missing implementation of method storySaveSync() in demo app

* fixed prettier warning

* renames for generic media files collection block and BlockMediaUpdateProgres

* referencing the right props method in finishMediaSaveWithFailure

* mistaken renames of  parameters in bridge methods

* renamed more abstract/generic method names requestMediaFilesEditorLoad

* removed extra whtie space

* renamed argument type

* renamed event paramter name to easier to understand 'success' boolean, matching the native counterpart

* added cancel and retry bridge methods specific for mediaFiles collection based blocks

* added requestMediaFilesSaveCancelDialog bridge method

* renamed bridge method mediaModelCreatedForFile for more general purpose mediaIdChanged

* Add missing iOS bridge declarations

* added jsdoc like description for methods

* removed unneeded return statement in some bridge methods

* Update packages/react-native-bridge/index.js

Co-authored-by: Joel Dean <[email protected]>

* Update packages/react-native-bridge/index.js

Co-authored-by: Joel Dean <[email protected]>

* Update packages/react-native-bridge/index.js

Co-authored-by: Joel Dean <[email protected]>

* fixed typo, added punctuation

Co-authored-by: eToledo <[email protected]>
Co-authored-by: Joel Dean <[email protected]>

* [RNMobile] added jetpack node_modules folder to cleanup step in JSbundle building (#26247)

* added mobile StoryUpdateProgress component and bridge code to send/receive save progress

* updated WPAndroid bridge DeferredEventEmitter to handle Story save events separately

* changed all Save event interface methods to use String ids instead of int, and removed serverMediaId params as these don't apply while saving locally

* redefined upload/save state constants

* added onStorySaveResult handling to bridge, and renamed STORY_SAVE_STATE_* events to MEDIA_SAVE_STATE_* where appropriate

* checking for matches of mediaId in  mediaFiles while saving to send save progress updates

* added mediaModelCreated() method to the bridge, so a new ID can be assigned to a mediaFile in a Story block

* mediaId should always be a string in mediaFiles so, converting to avoid strict comparison to fail

* removed commented code

* updated documentation

* added missing implementation of method storySaveSync() in demo app

* fixed prettier warning

* renames for generic media files collection block and BlockMediaUpdateProgres

* referencing the right props method in finishMediaSaveWithFailure

* mistaken renames of  parameters in bridge methods

* renamed more abstract/generic method names requestMediaFilesEditorLoad

* removed extra whtie space

* renamed argument type

* renamed event paramter name to easier to understand 'success' boolean, matching the native counterpart

* added cancel and retry bridge methods specific for mediaFiles collection based blocks

* added requestMediaFilesSaveCancelDialog bridge method

* renamed bridge method mediaModelCreatedForFile for more general purpose mediaIdChanged

* added jetpack node_modules folder to cleanup step in JSbundle building tasks

* Mobile Stories block - unit tests for BlockMediaUpdateProgress (#26423)

* adding upload progress tests on BLockMediaUpdateProgress component (mediaFiles collection)

* added save event tests for BlockMediaUpdateProgress component

* ids in mediaFiles array are always strings, fixed that

* updated function name passed by props

* fixed mediaFiles const passing for saving, using tempMediaFiles

* fixed state change for saveReset signal, was changing upload state instead

* fixed typo

* fixed using save state var

* changed to more descriptive test names

* removed commented line

* renamed vars to match bridge signal name

* Mobile stories block: hide behind feature flag (#26522)

* hide Story block in non-DEV builds

* prettified

* passing enableStories feature flag in GutenbergProps and hiding block from picker if false

* added space

* renamed bridge GutenbergProps property to agnostic abstraction mediaFilesCollectionBlock

* renamed var on Capabilities enum

* removed stories specific block behavior

* added Jdoc descriptions

* [RNMobile] iOS side of bridge for media collection blocks (#26704)

* Activate media files collection capabilitie on iOS example app

* Implement iOS side of Bridge for Media Collection blocks

* Update packages/react-native-bridge/ios/RNReactNativeGutenbergBridge.swift

Co-authored-by: Paul Von Schrottky <[email protected]>

Co-authored-by: Paul Von Schrottky <[email protected]>

Co-authored-by: Joel Dean <[email protected]>
Co-authored-by: Paul Von Schrottky <[email protected]>
Co-authored-by: eToledo <[email protected]>
mzorz added a commit that referenced this pull request Nov 14, 2020
* updated initial example html content file with story block

* adding method requestStoryCreatorLoad() to the bridge

* added new interface OnStoryCreatorRequestListener

* passing mediaFiles and blockId over the bridge in requestStoryCreatorLoad()

* prettier fix

* added gray-700 color, missing if not after retiring and changes made in  (#25213)

* removed jetpack stories example block from initial demo load

* Mobile Stories block (part2: on done) (#25771)

* added mobile StoryUpdateProgress component and bridge code to send/receive save progress

* updated WPAndroid bridge DeferredEventEmitter to handle Story save events separately

* changed all Save event interface methods to use String ids instead of int, and removed serverMediaId params as these don't apply while saving locally

* redefined upload/save state constants

* added onStorySaveResult handling to bridge, and renamed STORY_SAVE_STATE_* events to MEDIA_SAVE_STATE_* where appropriate

* checking for matches of mediaId in  mediaFiles while saving to send save progress updates

* added mediaModelCreated() method to the bridge, so a new ID can be assigned to a mediaFile in a Story block

* mediaId should always be a string in mediaFiles so, converting to avoid strict comparison to fail

* removed commented code

* updated documentation

* added missing implementation of method storySaveSync() in demo app

* fixed prettier warning

* Update packages/block-editor/src/components/story-update-progress/README.md

Co-authored-by: Joel Dean <[email protected]>

* Update packages/block-editor/src/components/story-update-progress/README.md

Co-authored-by: Joel Dean <[email protected]>

* Mobile Stories block (part3: refactor / rename) (#26005)

* renames for generic media files collection block and BlockMediaUpdateProgres

* referencing the right props method in finishMediaSaveWithFailure

* mistaken renames of  parameters in bridge methods

* renamed more abstract/generic method names requestMediaFilesEditorLoad

* removed extra whtie space

* renamed argument type

Co-authored-by: Joel Dean <[email protected]>

* Update packages/block-editor/src/components/block-media-update-progress/README.md

Co-authored-by: Paul Von Schrottky <[email protected]>

* using array.some() to find element in array

* prettified function call

* removed commented code

* Media Files Collection (part4: error handling) (#26008)

* added mobile StoryUpdateProgress component and bridge code to send/receive save progress

* updated WPAndroid bridge DeferredEventEmitter to handle Story save events separately

* changed all Save event interface methods to use String ids instead of int, and removed serverMediaId params as these don't apply while saving locally

* redefined upload/save state constants

* added onStorySaveResult handling to bridge, and renamed STORY_SAVE_STATE_* events to MEDIA_SAVE_STATE_* where appropriate

* checking for matches of mediaId in  mediaFiles while saving to send save progress updates

* added mediaModelCreated() method to the bridge, so a new ID can be assigned to a mediaFile in a Story block

* mediaId should always be a string in mediaFiles so, converting to avoid strict comparison to fail

* removed commented code

* updated documentation

* added missing implementation of method storySaveSync() in demo app

* fixed prettier warning

* renames for generic media files collection block and BlockMediaUpdateProgres

* referencing the right props method in finishMediaSaveWithFailure

* mistaken renames of  parameters in bridge methods

* renamed more abstract/generic method names requestMediaFilesEditorLoad

* removed extra whtie space

* renamed argument type

* renamed event paramter name to easier to understand 'success' boolean, matching the native counterpart

* added cancel and retry bridge methods specific for mediaFiles collection based blocks

* added requestMediaFilesSaveCancelDialog bridge method

* renamed bridge method mediaModelCreatedForFile for more general purpose mediaIdChanged

* Add missing iOS bridge declarations

* added jsdoc like description for methods

* removed unneeded return statement in some bridge methods

* Update packages/react-native-bridge/index.js

Co-authored-by: Joel Dean <[email protected]>

* Update packages/react-native-bridge/index.js

Co-authored-by: Joel Dean <[email protected]>

* Update packages/react-native-bridge/index.js

Co-authored-by: Joel Dean <[email protected]>

* fixed typo, added punctuation

Co-authored-by: eToledo <[email protected]>
Co-authored-by: Joel Dean <[email protected]>

* [RNMobile] added jetpack node_modules folder to cleanup step in JSbundle building (#26247)

* added mobile StoryUpdateProgress component and bridge code to send/receive save progress

* updated WPAndroid bridge DeferredEventEmitter to handle Story save events separately

* changed all Save event interface methods to use String ids instead of int, and removed serverMediaId params as these don't apply while saving locally

* redefined upload/save state constants

* added onStorySaveResult handling to bridge, and renamed STORY_SAVE_STATE_* events to MEDIA_SAVE_STATE_* where appropriate

* checking for matches of mediaId in  mediaFiles while saving to send save progress updates

* added mediaModelCreated() method to the bridge, so a new ID can be assigned to a mediaFile in a Story block

* mediaId should always be a string in mediaFiles so, converting to avoid strict comparison to fail

* removed commented code

* updated documentation

* added missing implementation of method storySaveSync() in demo app

* fixed prettier warning

* renames for generic media files collection block and BlockMediaUpdateProgres

* referencing the right props method in finishMediaSaveWithFailure

* mistaken renames of  parameters in bridge methods

* renamed more abstract/generic method names requestMediaFilesEditorLoad

* removed extra whtie space

* renamed argument type

* renamed event paramter name to easier to understand 'success' boolean, matching the native counterpart

* added cancel and retry bridge methods specific for mediaFiles collection based blocks

* added requestMediaFilesSaveCancelDialog bridge method

* renamed bridge method mediaModelCreatedForFile for more general purpose mediaIdChanged

* added jetpack node_modules folder to cleanup step in JSbundle building tasks

* Mobile Stories block - unit tests for BlockMediaUpdateProgress (#26423)

* adding upload progress tests on BLockMediaUpdateProgress component (mediaFiles collection)

* added save event tests for BlockMediaUpdateProgress component

* ids in mediaFiles array are always strings, fixed that

* updated function name passed by props

* fixed mediaFiles const passing for saving, using tempMediaFiles

* fixed state change for saveReset signal, was changing upload state instead

* fixed typo

* fixed using save state var

* changed to more descriptive test names

* removed commented line

* renamed vars to match bridge signal name

* Mobile stories block: hide behind feature flag (#26522)

* hide Story block in non-DEV builds

* prettified

* passing enableStories feature flag in GutenbergProps and hiding block from picker if false

* added space

* renamed bridge GutenbergProps property to agnostic abstraction mediaFilesCollectionBlock

* renamed var on Capabilities enum

* removed stories specific block behavior

* added Jdoc descriptions

* [RNMobile] iOS side of bridge for media collection blocks (#26704)

* Activate media files collection capabilitie on iOS example app

* Implement iOS side of Bridge for Media Collection blocks

* Update packages/react-native-bridge/ios/RNReactNativeGutenbergBridge.swift

Co-authored-by: Paul Von Schrottky <[email protected]>

Co-authored-by: Paul Von Schrottky <[email protected]>

Co-authored-by: Joel Dean <[email protected]>
Co-authored-by: Paul Von Schrottky <[email protected]>
Co-authored-by: eToledo <[email protected]>

Co-authored-by: mzorz <[email protected]>
Co-authored-by: Joel Dean <[email protected]>
Co-authored-by: Paul Von Schrottky <[email protected]>
Co-authored-by: eToledo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Mobile App - i.e. Android or iOS Native mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change) [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants