Comments (10)
I ended up grouping the focus issues in #196 and crossed them out of the list here
from gutenberg-mobile.
Adding rough design draft for v1 here:
This is how I plan to approach this:
State management / basic flow
- #88 add basic support for model addition
- #89
model addition: list item id generator / evaluate usages of IDs for list items in block managerproperly using GB'screateBlock
API which already generates an ID -
#95 unexpected fixsuperseded by #108BlockManager
to use list state/props correctly -
#96#110 make direct access inserter (insert anywhere, not just append to list) - WordPress/gutenberg#8457 obtain list of registered types
- #105 add basic block types selection mechanism (obtain list of registered types, show Picker, attach new block after selected block type)
- #129 and WordPress/gutenberg#9294 add svg icons to block types in modal picker
Navigation / Bottom sheet work
- #123 1st iteration with Picker (#88, #89,
#95, #108,#96#110, and #105) - #124 2nd iteration with Modal and Dialog
-
3rd iteration build bottom sheet to get in the direction of a reusable native component (not in a separate repo yet, just a bottom sheet implementation in RN that can be used in both iOS and Android), along the lines of designsBottom sheet component work will be disaggregated from Inserter actual work -
4th iteration (which I expect to be a longer thing to come): separate the component in its own repo so it can be reused both in WP natively and make a RN wrapped component for use in Gutenberg.
I believe this iterative approach will lead us to better understand the needs in each phase, and we'll be better prepared for iteration #4 to actually create the component out of the things we've found out to be useful/needed in the other iterations
from gutenberg-mobile.
Headsup @mzorz , I went ahead and struck out iteration No4 in #58 (comment) as I think it should not block the feature completion and it can be performed at a future point in time.
from gutenberg-mobile.
Maybe we can move focus on tap under #166 since it seems more related to that than the inserter?
Definitely feel free to move that there
from gutenberg-mobile.
I came across a couple good looking (native, iOS) libraries for the bottom sheet, so I'll leave them here in case they're useful in the future:
from gutenberg-mobile.
Moved the task list and estimations to the description, please make sure to update it there as we make progress
from gutenberg-mobile.
Moved the remaining UI pass to #349 for the Beta
from gutenberg-mobile.
I updated the description for this one. @mzorz do you think I missed anything in the alpha requirements? Can you take a look at estimations since it looks like you already have a good idea of what needs to be done?
from gutenberg-mobile.
Focus handling
While not directly related to the Inserter, it's of basic need that the focus state and UI representation gets handled right when inserting / moving blocks / switching focus.
- check focus handling in redux (state management) works as expected
-
Inserting a new block doesn't make cursor immediately available on new block #113
(may add issues/points here as we identify them) -
Tapping into RichText doesn't handle focus right #135
Integration with toolbar
- add new
+
adder control placeholder (to be connected to the toolbar) - extract and define adder <-> toolbar interface
- actually connect with toolbar
Other (code)
- make
createBlockAction
actually create a block instead of carry a block model and insert it in the list (#88 (comment)) - after this one above (
createBlockAction
change), enhance theCREATE_BLOCK
action tests to run through all registered blocks and create each one, verifying the expected block type has been created
Other (UI)
- UI pass (make it not only work but look as per the designs)
Estimations
My rough thoughts on this are:
- The Focus problems are a set of unknowns but I think we should be able to gain more information from that with a full week working on identifying (and hopefully solving) the most important of them. I'd give this a full sprint. (2 weeks)
- integration with the toolbar might be coded and tested in another sprint (maybe it's just a week, but might get into a bit of the next week as well). (2 weeks)
- Other (code + UI): another sprint to polish (2 weeks)
cc @koke @hypest
from gutenberg-mobile.
Thanks @mzorz.
I've reordered the focus handling so we look at focus on insert first (#113).
Maybe we can move focus on tap under #166 since it seems more related to that than the inserter?
from gutenberg-mobile.
Related Issues (20)
- Add Replace control
- Address the case of closing/re-opening post with an ongoing video upload
- Support POST requests
- Post List: VideoPress blocks should not show the video url in the post list HOT 3
- Player: Disable auto play
- Player: Video is cropped after uploading a video from device
- Implement `useSyncMedia` hook to synchronize VideoPress metadata HOT 1
- Refactor ReadableContentView component into a custom hook
- Refactor BlockListItem component to use custom hook and functional component
- Refactor BlockForType and BlockListBlock components
- Expand usage of BlockListCompact for other blocks that have InnerBlocks
- Refactor BlockList component to improve performance and remove class component usage
- BlockList Refactor: Measure current performance state HOT 1
- Add `jetpack-videopress-pkg` domain to translation pipeline HOT 2
- Use token to play private videos HOT 1
- VideoPress block: Privacy setting remains available even when it's not usable HOT 1
- VideoPress block: Player zooms in after inputting DOB HOT 1
- Player: Add custom controls on Android HOT 3
- Cover case of GUID being empty after upload finish
- Loading state UI HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gutenberg-mobile.