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

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

Conversation

etoledom
Copy link
Contributor

@etoledom etoledom commented Nov 4, 2020

gutenberg-mobile PR: wordpress-mobile/gutenberg-mobile#2611

Description

This PR implements the native iOS side for media collection blocks.

Some of these new methods can not be tested until the iOS side of a media collection block is implemented.

How has this been tested?

  • Run metro project from the gutenberg-mobile branch.
  • Run the iOS demo app using Xcode.
  • Add a new Story block.
    • Check the Xcode console that it prints: gutenbergDidRequestMediaSaveSync()
  • Select the new block and press on ADD MEDIA.
    • Check the Xcode console that prints: gutenbergDidRequestMediaFilesEditorLoad(_:blockId:)
  • Smoke test Image and Video blocks (adding media from device)

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.

@etoledom etoledom added the Mobile App - i.e. Android or iOS Native mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change) label Nov 4, 2020
@etoledom etoledom self-assigned this Nov 4, 2020
@github-actions
Copy link

github-actions bot commented Nov 4, 2020

Size Change: 0 B

Total Size: 1.21 MB

ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.78 kB 0 B
build/api-fetch/index.js 3.45 kB 0 B
build/autop/index.js 2.84 kB 0 B
build/blob/index.js 665 B 0 B
build/block-directory/index.js 8.72 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 132 kB 0 B
build/block-editor/style-rtl.css 11.1 kB 0 B
build/block-editor/style.css 11.1 kB 0 B
build/block-library/editor-rtl.css 9.01 kB 0 B
build/block-library/editor.css 9.01 kB 0 B
build/block-library/index.js 146 kB 0 B
build/block-library/style-rtl.css 7.9 kB 0 B
build/block-library/style.css 7.89 kB 0 B
build/block-library/theme-rtl.css 792 B 0 B
build/block-library/theme.css 793 B 0 B
build/block-serialization-default-parser/index.js 1.88 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 48.1 kB 0 B
build/components/index.js 172 kB 0 B
build/components/style-rtl.css 15.3 kB 0 B
build/components/style.css 15.2 kB 0 B
build/compose/index.js 9.81 kB 0 B
build/core-data/index.js 12.5 kB 0 B
build/data-controls/index.js 772 B 0 B
build/data/index.js 8.77 kB 0 B
build/date/index.js 31.8 kB 0 B
build/deprecated/index.js 768 B 0 B
build/dom-ready/index.js 571 B 0 B
build/dom/index.js 4.46 kB 0 B
build/edit-navigation/index.js 11.2 kB 0 B
build/edit-navigation/style-rtl.css 881 B 0 B
build/edit-navigation/style.css 885 B 0 B
build/edit-post/index.js 306 kB 0 B
build/edit-post/style-rtl.css 6.41 kB 0 B
build/edit-post/style.css 6.39 kB 0 B
build/edit-site/index.js 22.5 kB 0 B
build/edit-site/style-rtl.css 3.88 kB 0 B
build/edit-site/style.css 3.88 kB 0 B
build/edit-widgets/index.js 26.3 kB 0 B
build/edit-widgets/style-rtl.css 3.13 kB 0 B
build/edit-widgets/style.css 3.13 kB 0 B
build/editor/editor-styles-rtl.css 480 B 0 B
build/editor/editor-styles.css 482 B 0 B
build/editor/index.js 43.1 kB 0 B
build/editor/style-rtl.css 3.85 kB 0 B
build/editor/style.css 3.85 kB 0 B
build/element/index.js 4.65 kB 0 B
build/escape-html/index.js 735 B 0 B
build/format-library/index.js 7.7 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 2.16 kB 0 B
build/html-entities/index.js 623 B 0 B
build/i18n/index.js 3.57 kB 0 B
build/is-shallow-equal/index.js 712 B 0 B
build/keyboard-shortcuts/index.js 2.52 kB 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/index.js 3.11 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.34 kB 0 B
build/notices/index.js 1.79 kB 0 B
build/nux/index.js 3.42 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.56 kB 0 B
build/primitives/index.js 1.43 kB 0 B
build/priority-queue/index.js 791 B 0 B
build/redux-routine/index.js 2.85 kB 0 B
build/reusable-blocks/index.js 3.06 kB 0 B
build/rich-text/index.js 13.2 kB 0 B
build/server-side-render/index.js 2.77 kB 0 B
build/shortcode/index.js 1.69 kB 0 B
build/token-list/index.js 1.27 kB 0 B
build/url/index.js 4.06 kB 0 B
build/viewport/index.js 1.84 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.22 kB 0 B

compressed-size-action

@etoledom etoledom changed the base branch from try/jetpack-stories-block-mobile to try/media-files-collection-block-mobile November 5, 2020 10:00
@@ -270,6 +289,7 @@ extension GutenbergViewController: GutenbergBridgeDataSource {
.mentions: true,
.unsupportedBlockEditor: unsupportedBlockEnabled,
.canEnableUnsupportedBlockEditor: unsupportedBlockCanBeActivated,
.mediaFilesCollectionBlock: true,
Copy link
Contributor

Choose a reason for hiding this comment

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

is it possible to get this from a variable instead of setting it to true? given the idea is that it should depend on a feature flag for now (we could also change this later given the features are not finished and connected on the host app yet, but just double checking here)

Copy link
Contributor

Choose a reason for hiding this comment

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

🤕 - it's the demo app, forget about this

Copy link
Contributor

@mzorz mzorz left a comment

Choose a reason for hiding this comment

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

LGTM from my side @etoledom ! Thanks a lot for writing the missing parts for me 🙇

@etoledom etoledom marked this pull request as ready for review November 5, 2020 10:37
@etoledom etoledom requested a review from guarani November 5, 2020 10:38
@etoledom
Copy link
Contributor Author

etoledom commented Nov 5, 2020

@guarani - Could you please take a look at the code? @mzorz has confirmed that it looks good conforming to the Stories project, and this is just the interface for the future work of Stories on iOS. So there are no many facilities for testing yet. Still we need to merge these changes to go forward.

@etoledom etoledom force-pushed the rnmobile/media-files-collection-ios branch from 59e0d9c to c63fb23 Compare November 5, 2020 12:35
@guarani guarani self-requested a review November 5, 2020 13:21
Copy link
Contributor

@guarani guarani left a comment

Choose a reason for hiding this comment

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

Working well, just left a comment here: #26704 (comment)

@etoledom etoledom force-pushed the rnmobile/media-files-collection-ios branch from 581d777 to f39bd33 Compare November 5, 2020 18:20
@etoledom etoledom merged commit b7a9918 into try/media-files-collection-block-mobile Nov 6, 2020
@etoledom etoledom deleted the rnmobile/media-files-collection-ios branch November 6, 2020 10:19
@etoledom
Copy link
Contributor Author

etoledom commented Nov 6, 2020

Thank you all! 🙏

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)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants