Giter Site home page Giter Site logo

Comments (10)

koke avatar koke commented on May 28, 2024 2

I ended up grouping the focus issues in #196 and crossed them out of the list here

from gutenberg-mobile.

mzorz avatar mzorz commented on May 28, 2024 1

Adding rough design draft for v1 here:
image

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 manager properly using GB's createBlock API which already generates an ID
  • #95 unexpected fix BlockManager to use list state/props correctly superseded by #108
  • #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 designs Bottom 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.

hypest avatar hypest commented on May 28, 2024 1

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.

mzorz avatar mzorz commented on May 28, 2024 1

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.

koke avatar koke commented on May 28, 2024 1

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.

koke avatar koke commented on May 28, 2024 1

Moved the task list and estimations to the description, please make sure to update it there as we make progress

from gutenberg-mobile.

koke avatar koke commented on May 28, 2024 1

Moved the remaining UI pass to #349 for the Beta

from gutenberg-mobile.

koke avatar koke commented on May 28, 2024

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.

mzorz avatar mzorz commented on May 28, 2024

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 the CREATE_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.

koke avatar koke commented on May 28, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.