Skip to content
This repository has been archived by the owner on Sep 5, 2024. It is now read-only.

Add SubHeader components for lists #216

Closed
ThomasBurleson opened this issue Aug 28, 2014 · 16 comments
Closed

Add SubHeader components for lists #216

ThomasBurleson opened this issue Aug 28, 2014 · 16 comments
Labels
a11y This issue is related to accessibility resolution: fixed type: feature
Milestone

Comments

@ThomasBurleson
Copy link
Contributor

Specifcation: SubHeaders

image

@ThomasBurleson ThomasBurleson added this to the 0.0.4 milestone Aug 28, 2014
@rschmukler
Copy link
Contributor

Looking forward to implementing this, as I was doing some research on lists, I noticed this screenshot on the list page, which features a grey color instead of the blue one:

grey

Which color should we be using?

rschmukler added a commit that referenced this issue Sep 7, 2014
@rschmukler
Copy link
Contributor

@ThomasBurleson I have finished the first implementation of this component. A few questions:

  1. material-list should include a 8dp padding on the top/bottom, but currently does not. I'll fix this unless I'm missing something? spec here

  2. material-list should not include a 8dp padding on the top if there is a header. Should I add a class to material-list's styling to add a class of with-subheader to eliminate this padding?

@ThomasBurleson
Copy link
Contributor Author

I think if we can reproduce [with Angular Material] the demo as shown above (with colors, layout, etc) then we will have a successful demo (that uses Lists, Icons and SubHeaders). As I infer from the snapshot, we have:

BTW, I am not sure if we have implemented all the components needed to fully implement the demo shown above.

@ThomasBurleson
Copy link
Contributor Author

I just reviewed the spec and it appears that the SubHeaders have a stickiness factor:

Upon scrolling, subheaders remain pinned to the top of the screen and remain pinned until pushed on or off screen by the next subheader

@ThomasBurleson
Copy link
Contributor Author

And, I would say yes to both your (1) and (2) questions above.

@rschmukler
Copy link
Contributor

@ThomasBurleson, awesome thank you for all of the feedback. A few questions:

  1. For the top line mentioned on one of the headers, perhaps that is just a material-divider in the dom? ie.
...
</material-list>
<material-divider class="inset">
<material-header>

Otherwise, we could do

</material-list>
<material-header class="divide-top">

Which would you prefer?

  1. angular-polymer also implements this "sticky" behavior for the Toolbar (see the waterfall demo). Is this something that we will want for our Toolbars? If so, should I perhaps build out an internal material directive for this? (eg. _material-sticky)

@rschmukler
Copy link
Contributor

Also, to expand on number 1 above, I think the divider is the better approach, as we will likely want to use padding-left to control the indent of text on the material-subheader, but that would mean that border-top couldn't be able to be used, as it would apply to the full width of the element.

@mlynch
Copy link
Contributor

mlynch commented Sep 7, 2014

Ryan, have you seen the sticky scroll header in material? It's maybe what
you are looking at?

On Sun, Sep 7, 2014 at 10:04 AM, Ryan Schmukler notifications@github.com
wrote:

@ThomasBurleson https://github.com/ThomasBurleson, awesome thank you
for all of the feedback. A few questions:

  1. For the top line mentioned on one of the headers, perhaps that is just
    a material-divider in the dom? ie.

...

Otherwise, we could do

Which would you prefer?

  1. angular-polymer
    http://www.polymer-project.org/components/core-header-panel/demo.html
    also implements this "sticky" behavior for the Toolbar (see the waterfall
    demo). Is this something that we will want for our Toolbars? If so, should
    I perhaps build out an internal material directive for this? (eg.
    _material-sticky)


Reply to this email directly or view it on GitHub
#216 (comment).

Max Lynch
CEO and Co-founder
http://ionicframework.com/

@ThomasBurleson
Copy link
Contributor Author

@mlynch Is that in the ngMaterial Toolbar component: setupScrollShrink() ? Can you clarify?

@ThomasBurleson
Copy link
Contributor Author

@rschmukler As I think of a <material-subheader>, I think it has:

  • Label
  • <material-divider> [optional],
  • Indentation [optional]
  • Sticky scrolling

@ThomasBurleson
Copy link
Contributor Author

@mlynch, @rschmukler Should we refactor the scroll-shrink attribute to be a scroll-shrink attribute directive so it is reusable within ToolBar and SubHeader ?

@rschmukler
Copy link
Contributor

@ThomasBurleson what are your thoughts on the padding issue I described above? We could use css-psuedo elements to handle the divider line, but does that feel dirty to you?

Also, I think the scroll-shrink isn't quite the behavior described for the header? It will need to remain full height, until it gets "pushed" away by another header

@mlynch
Copy link
Contributor

mlynch commented Sep 7, 2014

Not sure, this one was modeled off the polymer one and is pretty tied to
the toolbar header style.

On Sun, Sep 7, 2014 at 10:20 AM, Thomas Burleson notifications@github.com
wrote:

@mlynch https://github.com/mlynch, @rschmukler
https://github.com/rschmukler Should we refactor the scroll-shrink
attribute to be a scroll-shrink directive so it is reusable within
ToolBar and SubHeader ?


Reply to this email directly or view it on GitHub
#216 (comment).

Max Lynch
CEO and Co-founder
http://ionicframework.com/

@ThomasBurleson
Copy link
Contributor Author

@rschmukler
Regarding the padding question:

I think the divider is the better approach, as we will likely want to use padding-left to control the indent of text on the material-subheader, but that would mean that border-top couldn't be able to be used, as it would apply to the full width of the element.

I will defer to your considered best approach, then we can ask @max, @adam, @ajoslin to provide feedback... psuedo-elements are cool.

Regarding the scroll-shrink
You are right. The UX is different for toolbars vs subHeaders. Perhaps, however, the setupScrollShrink () code will provide a jumpstart to the subHeader UX

@rschmukler
Copy link
Contributor

As per flowdock discussion, we will need to update replace the element with an h2 and subsequently increase the header levels for list items to h3 and h4.

rschmukler added a commit that referenced this issue Sep 14, 2014
rschmukler added a commit that referenced this issue Sep 14, 2014
rschmukler added a commit that referenced this issue Sep 14, 2014
rschmukler added a commit that referenced this issue Sep 15, 2014
@ajoslin ajoslin modified the milestones: 0.0.4, 0.0.3 Sep 18, 2014
@ajoslin ajoslin modified the milestones: 0.0.3, 0.0.4 Sep 18, 2014
rschmukler added a commit that referenced this issue Sep 23, 2014
rschmukler added a commit that referenced this issue Sep 23, 2014
@ThomasBurleson ThomasBurleson modified the milestones: 0.0.4, 0.0.3 Sep 23, 2014
@ThomasBurleson
Copy link
Contributor Author

@rschmukler - Is this issue closed and feature present in 0.0.3 or is moving it to 0.0.4 correct ?

rschmukler added a commit that referenced this issue Sep 27, 2014
rschmukler added a commit that referenced this issue Oct 3, 2014
@angular angular locked as resolved and limited conversation to collaborators Aug 9, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
a11y This issue is related to accessibility resolution: fixed type: feature
Projects
None yet
Development

No branches or pull requests

5 participants