Merge lp:~michael.nelson/launchpad/3-0-menu into lp:launchpad
- 3-0-menu
- Merge into devel
Status: | Merged |
---|---|
Merged at revision: | not available |
Proposed branch: | lp:~michael.nelson/launchpad/3-0-menu |
Merge into: | lp:launchpad |
Diff against target: | None lines |
To merge this branch: | bzr merge lp:~michael.nelson/launchpad/3-0-menu |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Martin Albisetti (community) | ui | Approve | |
Eleanor Berger (community) | Approve | ||
Review via email: mp+9577@code.launchpad.net |
Commit message
Description of the change
Michael Nelson (michael.nelson) wrote : | # |
Eleanor Berger (intellectronica) : | # |
Martin Albisetti (beuno) wrote : | # |
> What happens for contexts that do not have an image:logo?
> =======
> See source package screenshot at:
> http://
> disabled-tabs.png
>
> IDistributionSo
> the nearest object that does, which is the distribution.
>
> Note: in this specific case we actually want to update
> IDistributionSo
> upstream project - if it has one.
I think that we should always have a default Logo, and a plan to eventually show something meaningful there.
> Alignment of menu text when first tab is highlighted (Code)?
> =======
>
> The provided mockup has the text of the first tab aligned with the text
> of the heading above, but does not specify what should be aligned when
> the first tab is active (ie. still the text, or the border of the
> highlight?).
>
> As a last-minute decision, I've gone with aligning the text of the first
> tab when it is not active, and the margin/highlight when it is, as shown
> by the first two examples at:
>
> http://
>
> The third example shows you the other alternative (aligning the text
> even when the first tab is active). Let me know what you'd prefer.
I feel the third option is the best. Thank you so much for laying out my options so well :)
> The location-portlet now becomes the top-portlet
> =======
>
> I'm assuming from the mockup that the location portlet will always be
> the top portlet when it is present. That is, the first content below it
> should be separated with a thin gray line (ie. a normal portlet).
>
> If this is so, it'll mean updating the 3.0 design instructions as people
> can simply add class="portlet" to their first main-area portlet.
I don't quite understand what you mean by "location portlet".
> Other unspecified design decisions
> =======
>
> Hover behaviour
> ---------------
> I've just used a lower-contrasting gray. See
>
> http://
>
> Another point (which I haven't got an image for, but you can see the
> behaviour if you merge the branch) is hovering over the current selected
> tab.
Your instincts where right here. It's great as-is.
> Disabled location tabs
> -------
> I've grayed them out as shown at:
> http://
> disabled-tabs.png
Again, the right thing to do.
> edge/staging warning message
> -------
> As I've only implemented the location header/nav, I have not moved it so
> it will still appear under the current 'breadcrumb'-like structure at
> the top of the page.
I see you still haven't moved the breadcrumbs to beneath the title. To be honest, I don't know what to do with the edge notice, but I feel it's no longer as important to know about in which instance you are. It could very well be something th...
Michael Nelson (michael.nelson) wrote : | # |
> > What happens for contexts that do not have an image:logo?
> > =======
> > See source package screenshot at:
> > http://
> > disabled-tabs.png
> >
> > IDistributionSo
> > the nearest object that does, which is the distribution.
> >
> > Note: in this specific case we actually want to update
> > IDistributionSo
> > upstream project - if it has one.
>
> I think that we should always have a default Logo, and a plan to eventually
> show something meaningful there.
Yes, the tales logo formatter does this - it will display a default logo if it cannot find one for the given traversal path (ie. in the above example, if IDistribution did not provide IHasLogo, then a default logo would be displayed.
I'm not sure if you are saying that you'd prefer that the formatter didn't look up the traversal path (ie. if there is no logo for the IDistributionSo
And to eventually get something meaningful here shouldn't be difficult as once the logos are displayed so visibly it will be up to the responsible teams to add IHasLogo support.
>
>
>
> > Alignment of menu text when first tab is highlighted (Code)?
> > =======
> >
> > The provided mockup has the text of the first tab aligned with the text
> > of the heading above, but does not specify what should be aligned when
> > the first tab is active (ie. still the text, or the border of the
> > highlight?).
> >
> > As a last-minute decision, I've gone with aligning the text of the first
> > tab when it is not active, and the margin/highlight when it is, as shown
> > by the first two examples at:
> >
> > http://
> >
> > The third example shows you the other alternative (aligning the text
> > even when the first tab is active). Let me know what you'd prefer.
>
> I feel the third option is the best. Thank you so much for laying out my
> options so well :)
>
No probs! I've pushed the change so the third option is used.
>
> > The location-portlet now becomes the top-portlet
> > =======
> >
> > I'm assuming from the mockup that the location portlet will always be
> > the top portlet when it is present. That is, the first content below it
> > should be separated with a thin gray line (ie. a normal portlet).
> >
> > If this is so, it'll mean updating the 3.0 design instructions as people
> > can simply add class="portlet" to their first main-area portlet.
>
> I don't quite understand what you mean by "location portlet".
OK, so perhaps another point should have been that I don't know how to refer to this block of heading+
Michael Nelson (michael.nelson) wrote : | # |
Martin,
I've just been talking with Curtis - which has helped clarify a few issues. In particular, what I've referred to above as the 'location portlet' is really the 'pillar heading'. So I'll need to do a bit of a re-work to straighten things out.
I'll hopefully be able to push the changes tomorrow morning.
Martin Albisetti (beuno) wrote : | # |
> I'm not sure if you are saying that you'd prefer that the formatter didn't
> look up the traversal path (ie. if there is no logo for the
> IDistributionSo
> rather than looking to IDistribution first)? If so, then I think the wider
> implications of that change need to be considered (and I'd suggest it isn't
> part of this branch).
No, I think the current behavior is good for now.
> > I see you still haven't moved the breadcrumbs to beneath the title.
>
> No, Julian mentioned the other day that I was only to do the nav, not the
> breadcrumbs. But even if you do want me to do those, I'd still prefer to do
> them as a separate branch - if that's ok?
It is. The breadcrumb issue is something separate from the UI. They need to be more detailed, and I'm going to work on that with Salgado.
If you can handle the UI, while I work out the technical details with Salgado, it would be great.
> This change will affect any page that uses the 3-0 templates (main_only,
> main_side, searchless, locationless.) So, I was wanting to check with Curtis,
> but I was planning on landing this change without updating any other templates
> (it just so happens that Curtis has already landed the searchless template
> changes such as the Distribution search that I used in the examples here and
> that you can see locally). I was under the impression (from Curtis' conversion
> page) that we cannot yet land any changes that update templates to 3-0? (see
> the section "There are some bugs that must be fixed before layouts changes can
> start" at the beginning of the page
> https:/
Sounds good to me.
Michael Nelson (michael.nelson) wrote : | # |
OK, I've updated this branch after talking with both Curtis and Martin.
The complete diff is: Diff: http://
Changes
=======
1. I added a location_title formatter which, similar to the logo formatter, checks for the nearest IHasLogo implementer in the canonical url, and displays returns the title. This allows the location portlet to display the *person* who owns the PPA currently being browsed, like this:
http://
Note: when discussing this with Curtis, we had planned for this to be 'pillar_title', but I also understood that when viewing a PPA, the location should be the person, as shown in the image. Other options for the formatter would be 'piller_
2. I've ensured that if we cannot display a piller/person title (because there is no pillar or person present) then we display 'Launchpad' like this:
http://
Note1: I assume 'Launchpad Home' will be disappearing, according to beuno' design?
Note2: The logo formatter already does this by default - so that didn't require any change.
Questions
=========
Now I'm left with the following question:
1. Why is the default heading used in the "heading" metal slot h2? Shouldn't it always be h1 (given that the heading in the location is always h2).
Note: I did do a revision where the location_title marked up the title with h1 or h2 depending on whether the current context itself implemented IHasLogo, but that didn't work for pages like:
http://
where the context *is* the ubuntu distribution, but we have an h1 heading related to search.
Thanks for your time!
Martin Albisetti (beuno) wrote : | # |
Changes are awesome.
> Note1: I assume 'Launchpad Home' will be disappearing, according to beuno'
> design?
Yes.
> 1. Why is the default heading used in the "heading" metal slot h2? Shouldn't
> it always be h1 (given that the heading in the location is always h2).
>
> Note: I did do a revision where the location_title marked up the title with h1
> or h2 depending on whether the current context itself implemented IHasLogo,
> but that didn't work for pages like:
>
> http://
>
> where the context *is* the ubuntu distribution, but we have an h1 heading
> related to search.
I don't think I quite understand this, but if there's only one heading, then it should be h1
Curtis Hovey (sinzui) wrote : | # |
Hi Michael.
This is a good improvement. I think I have just as may questions as you. I do not think I have any answers. I think Martin needs to give some directions here.
Martin mentioned that the the Overview tab going away. I believe that will
cause havoc here. How do I get from translations to my profile? Do I
click on the icon or pillar title?
If overview is gone, how do we handle the Launchpad Home hack? I do not
think search is Launchpads root page. It is most like a collection such as
people/ and projects/. I guess my concern is about distinguishing the
launchpad application that is being used and our projects. They have the
same icons which confuses me. Is it possible to have a different icon
for the projects and the application?
I wonder what sprint looks like? It is the only non-pillar-person that
has logos. Since a sprint is antonymous from pillars and teams, it probably
should have an icon.
/me can see the PPA is private because the left margin has a stripe.
The default heading is a <h2> because we assume the <h1> is an exception.
The engineer and reviewer need to know when the template must pass a
<h1> to the heading slot because we are looking at the object itself. I
cannot explain this rule. This ws very frustrating for me. I gave up
working on this issue. Let me show you some examples that illustrate
my understanding:
Distroseries Karmic (has bread crumbs):
<title> Search packages in Ubuntu Karmic
{@} Ubuntu Linux
<h2> Karmic
Ubuntu > Karmic
<h1> Search packages in Karmic
Project edit (no bread crumbs because this is the top):
<title> Change Bazaar details
{@} Bazaar Distributed Version Control
<h2> Bazaar
<h1> Change details <this is the form label>
Project (no bread crumbs and pass a <h1>):
<title> Bazaar Distributed Version Control
{@} Bazaar Distributed Version Control
<h1> Bazaar
Team PPA history
<title> Launchpad dependencies history
{@} Canonical Launchpad Developers
<h2> Launchpad dependencies
<h1> Launchpad dependencies history
Michael Nelson (michael.nelson) wrote : | # |
> Hi Michael.
>
> This is a good improvement. I think I have just as may questions as you. I do
> not think I have any answers. I think Martin needs to give some directions
> here.
Thanks for your time Curtis! Just to aid our call, here are some thoughts.
>
> Martin mentioned that the the Overview tab going away. I believe that will
> cause havoc here. How do I get from translations to my profile? Do I
> click on the icon or pillar title?
Yes, I have not done any removing - I was just noting that that's why my screenshot didn't look exactly like his mockup.
>
> If overview is gone, how do we handle the Launchpad Home hack? I do not
> think search is Launchpads root page. It is most like a collection such as
> people/ and projects/.
OK, I'm not sure I understand this point. Looking at:
http://
which I assume would (currently in the branch) also apply to collections, could we not make the icon itself the link to Launchpad? (and if we wanted, also in other contexts, to the project/person etc.)
> I guess my concern is about distinguishing the
> launchpad application that is being used and our projects. They have the
> same icons which confuses me. Is it possible to have a different icon
> for the projects and the application?
Ah, I see the confusion. So it is really just an isolated case for the Launchpad project right? Hmm.. or maybe I've misunderstood?
>
> I wonder what sprint looks like? It is the only non-pillar-person that
> has logos. Since a sprint is antonymous from pillars and teams, it probably
> should have an icon.
>
Currently it would look something like this:
http://
> /me can see the PPA is private because the left margin has a stripe.
>
>
> The default heading is a <h2> because we assume the <h1> is an exception.
> The engineer and reviewer need to know when the template must pass a
> <h1> to the heading slot because we are looking at the object itself. I
> cannot explain this rule. This ws very frustrating for me. I gave up
> working on this issue. Let me show you some examples that illustrate
> my understanding:
>
> Distroseries Karmic (has bread crumbs):
> <title> Search packages in Ubuntu Karmic
>
> {@} Ubuntu Linux
> <h2> Karmic
> Ubuntu > Karmic
>
> <h1> Search packages in Karmic
>
OK, I don't think this one is an issue - it seems more like the heading just needs updating like this:
http://
And to highlight why I thought the heading slot should default to h1, here's the example where we *would* use the default heading:
http://
>
> Project edit (no bread crumbs because this is the top):
> <title> Change Bazaar details
>
> {@} Bazaar Distributed Version Control
> <h2> Bazaar
>
> <h1> Change details <this is the form label>
Similar to the distroseries search above, I'm not sure why the template wouldn't just override the heading slot with <h1> Change...
Martin Albisetti (beuno) wrote : | # |
On Wed, Aug 5, 2009 at 12:48 PM, Michael
Nelson<email address hidden> wrote:
> So here there is a small issue, in that I think the h1 heading will or should replicate the {@} <h2> Bazaar Distributed Version Control </h2>.
>
> Like this:
>
> http://
I this case, the title would be "Overview", in h2, like in the mock
up: https:/
--
Martin
Preview Diff
1 | === modified file 'lib/canonical/launchpad/icing/style-3-0.css' |
2 | --- lib/canonical/launchpad/icing/style-3-0.css 2009-07-29 00:30:50 +0000 |
3 | +++ lib/canonical/launchpad/icing/style-3-0.css 2009-08-03 10:51:41 +0000 |
4 | @@ -372,6 +372,57 @@ |
5 | padding-left: 1em; |
6 | } |
7 | |
8 | +/* == Location portlet heading styles */ |
9 | +div.location-portlet img { |
10 | + float: left; |
11 | + margin: 0 1.5em 0 0; |
12 | +} |
13 | +div.location-portlet h1, div.location-portlet h2 { |
14 | + padding-top: 0.1em; |
15 | + margin-bottom: 0.8em; |
16 | + color: #000000; |
17 | + font-weight: bold; |
18 | + clear: none; |
19 | +} |
20 | +div.location-portlet h1 { |
21 | + margin-bottom: 0.2em; |
22 | +} |
23 | + |
24 | +/* === Location portlet tabs === */ |
25 | +/* In most pages, we present a list of six application facets: */ |
26 | +.location-portlet li { |
27 | + display:inline; |
28 | + list-style-type: none; |
29 | +} |
30 | +.location-portlet li a { |
31 | + padding: 0.3em 0.5em; |
32 | +} |
33 | +/* The text of the first tab should align with the heading directly |
34 | + above it - unless the first tab is active, in which case the highlight |
35 | + (margin) should align instead */ |
36 | +.location-portlet li:first-child a { |
37 | + margin-left: -0.5em; |
38 | +} |
39 | +.location-portlet li:first-child.active a { |
40 | + margin-left: 0 |
41 | +} |
42 | +.location-portlet li a:link, .location-portlet li a:visited { |
43 | + color: #000; |
44 | + background-color: #fff; |
45 | + text-decoration: none; |
46 | +} |
47 | +.location-portlet li.active a { |
48 | + font-weight: bold; |
49 | + color: #fff; |
50 | + background-color: #747474; |
51 | +} |
52 | +.location-portlet li a:hover { |
53 | + color: #000; |
54 | + background-color: #f3f3f3; |
55 | +} |
56 | +.location-portlet li.disabled-tab { |
57 | + color: #747474; |
58 | +} |
59 | |
60 | /* Side content exceptions */ |
61 | .side { |
62 | |
63 | === modified file 'lib/canonical/launchpad/icing/style.css' |
64 | --- lib/canonical/launchpad/icing/style.css 2009-07-30 22:35:16 +0000 |
65 | +++ lib/canonical/launchpad/icing/style.css 2009-08-03 07:22:41 +0000 |
66 | @@ -798,6 +798,8 @@ |
67 | } |
68 | |
69 | /* === Location application tabs === */ |
70 | +/* NOTE: This whole section (everything for #lp-apps) can be removed once |
71 | + * pages have updated to the 3.0 templates */ |
72 | /* In most pages, the location bar includes six centered application tabs: */ |
73 | #lp-apps { |
74 | position: relative; |
75 | |
76 | === modified file 'lib/lp/app/browser/tests/base-layout.txt' |
77 | --- lib/lp/app/browser/tests/base-layout.txt 2009-07-31 22:34:24 +0000 |
78 | +++ lib/lp/app/browser/tests/base-layout.txt 2009-08-03 09:34:26 +0000 |
79 | @@ -46,13 +46,16 @@ |
80 | <div id="locationbar"> ... |
81 | <form id="globalsearch" ... |
82 | <div id="lp-hierarchy" class="home">... |
83 | - <div id="lp-apps" ... |
84 | <div class="yui-t4"> |
85 | <div id="maincontent" class="yui-main"> |
86 | <div class="yui-b" dir="ltr"> |
87 | - <h1>Heading</h1> |
88 | - <!-- future breadcrumb rule --> |
89 | - <div class="top-portlet"> |
90 | + <div class="location-portlet top-portlet"> |
91 | + <img ... |
92 | + <h1>Heading</h1> |
93 | + <!-- Application Menu --> |
94 | + <ul>... |
95 | + </div>... |
96 | + <div class="portlet"> |
97 | <p class="registered"> |
98 | Registered on 2005-09-16 |
99 | by <a class="sprite team" href="#">Illuminati team</a> |
100 | @@ -100,12 +103,15 @@ |
101 | <div id="locationbar"> ... |
102 | <form id="globalsearch" ... |
103 | <div id="lp-hierarchy" class="home">... |
104 | - <div id="lp-apps" ... |
105 | <div id="maincontent" class="yui-main"> |
106 | <div class="yui-b" dir="ltr"> |
107 | - <h2>Waffles</h2> |
108 | - <!-- future breadcrumb rule --> |
109 | - <div class="top-portlet"> |
110 | + <div class="location-portlet top-portlet"> |
111 | + <img ... |
112 | + <h2>Waffles</h2> |
113 | + <!-- Application Menu --> |
114 | + <ul>... |
115 | + </div>... |
116 | + <div class="portlet"> |
117 | <h1>Heading</h1> |
118 | <p class="registered"> |
119 | Registered on 2005-09-16 |
120 | @@ -149,13 +155,16 @@ |
121 | <div id="locationbar"> |
122 | <div id="logincontrol"><a href="...">Log in / Register</a></div> |
123 | <div id="lp-hierarchy" class="home">... |
124 | - <div id="lp-apps" ... |
125 | </div><!--id="locationbar"--> |
126 | <div id="maincontent" class="yui-main"> |
127 | <div class="yui-b" dir="ltr"> |
128 | - <h2>Waffles</h2> |
129 | - <!-- future breadcrumb rule --> |
130 | - <div class="top-portlet"> |
131 | + <div class="location-portlet top-portlet"> |
132 | + <img ... |
133 | + <h2>Waffles</h2> |
134 | + <!-- Application Menu --> |
135 | + <ul>... |
136 | + </div>... |
137 | + <div class="portlet"> |
138 | <h1>Heading</h1> |
139 | <p class="registered"> |
140 | Registered on 2005-09-16 |
141 | |
142 | === modified file 'lib/lp/app/browser/tests/testfiles/main-only.pt' |
143 | --- lib/lp/app/browser/tests/testfiles/main-only.pt 2009-07-31 22:34:24 +0000 |
144 | +++ lib/lp/app/browser/tests/testfiles/main-only.pt 2009-08-03 07:22:41 +0000 |
145 | @@ -13,7 +13,7 @@ |
146 | |
147 | <body> |
148 | <tal:main metal:fill-slot="main"> |
149 | - <div class="top-portlet"> |
150 | + <div class="portlet"> |
151 | <h1>Heading</h1> |
152 | <p class="registered"> |
153 | Registered on 2005-09-16 |
154 | |
155 | === modified file 'lib/lp/app/browser/tests/testfiles/main-side.pt' |
156 | --- lib/lp/app/browser/tests/testfiles/main-side.pt 2009-07-30 20:38:50 +0000 |
157 | +++ lib/lp/app/browser/tests/testfiles/main-side.pt 2009-08-03 07:22:41 +0000 |
158 | @@ -14,7 +14,7 @@ |
159 | <body> |
160 | <tal:heading metal:fill-slot="heading"><h1>Heading</h1></tal:heading> |
161 | <tal:main metal:fill-slot="main"> |
162 | - <div class="top-portlet"> |
163 | + <div class="portlet"> |
164 | <p class="registered"> |
165 | Registered on 2005-09-16 |
166 | by <a class="sprite team" href="#">Illuminati team</a> |
167 | |
168 | === modified file 'lib/lp/app/browser/tests/testfiles/searchless.pt' |
169 | --- lib/lp/app/browser/tests/testfiles/searchless.pt 2009-07-31 22:34:24 +0000 |
170 | +++ lib/lp/app/browser/tests/testfiles/searchless.pt 2009-08-03 07:22:41 +0000 |
171 | @@ -13,7 +13,7 @@ |
172 | |
173 | <body> |
174 | <tal:main metal:fill-slot="main"> |
175 | - <div class="top-portlet"> |
176 | + <div class="portlet"> |
177 | <h1>Heading</h1> |
178 | <p class="registered"> |
179 | Registered on 2005-09-16 |
180 | |
181 | === modified file 'lib/lp/app/templates/base-layout-macros.pt' |
182 | --- lib/lp/app/templates/base-layout-macros.pt 2009-07-17 17:59:07 +0000 |
183 | +++ lib/lp/app/templates/base-layout-macros.pt 2009-08-03 09:54:53 +0000 |
184 | @@ -297,4 +297,35 @@ |
185 | </script> |
186 | </metal:lp-client-cache> |
187 | |
188 | + |
189 | +<metal:location-tabs define-macro="location-tabs"> |
190 | + <!-- Application Menu --> |
191 | + <ul |
192 | + tal:condition="view/macro:pagehas/applicationtabs" |
193 | + tal:define="facetmenu view/menu:facet"> |
194 | + <tal:facet repeat="link facetmenu"> |
195 | + <li |
196 | + tal:condition="python: link.enabled and link.selected" |
197 | + tal:attributes="title link/summary; class string:${link/name} active" |
198 | + ><a |
199 | + tal:condition="link/linked" |
200 | + tal:attributes="href link/url" |
201 | + tal:content="structure link/escapedtext" /></li> |
202 | + <li |
203 | + tal:condition="python: link.enabled and not link.selected" |
204 | + tal:attributes="title link/summary; class link/name" |
205 | + ><a |
206 | + tal:condition="link/enabled" |
207 | + tal:attributes="href link/url" |
208 | + tal:content="structure link/escapedtext" |
209 | + /></li> |
210 | + <li |
211 | + tal:condition="not:link/enabled" |
212 | + tal:attributes="class string:${link/name} disabled-tab" |
213 | + ><tal:disabled-link-text |
214 | + tal:content="link/escapedtext" /></li> |
215 | + </tal:facet> |
216 | + </ul> |
217 | +</metal:location-tabs> |
218 | + |
219 | </macros> |
220 | |
221 | === modified file 'lib/lp/app/templates/base-layout.pt' |
222 | --- lib/lp/app/templates/base-layout.pt 2009-07-31 22:34:24 +0000 |
223 | +++ lib/lp/app/templates/base-layout.pt 2009-08-03 09:54:53 +0000 |
224 | @@ -88,36 +88,6 @@ |
225 | <input type="search" id="search-text" name="field.text" /> |
226 | </form> |
227 | <tal:hierarchy replace="structure context/@@+hierarchy" /> |
228 | - <div id="lp-apps" class="clearfix" |
229 | - tal:condition="view/macro:pagehas/applicationtabs" |
230 | - tal:define="facetmenu view/menu:facet"> |
231 | - <!-- :-) --><tal:facet repeat="link facetmenu"> |
232 | - <span |
233 | - tal:condition="python: link.enabled and link.selected" |
234 | - tal:attributes="title link/summary; class string:${link/name} active" |
235 | - ><strong |
236 | - tal:condition="not:link/linked" |
237 | - tal:content="structure link/escapedtext" |
238 | - /><a |
239 | - tal:condition="link/linked" |
240 | - tal:attributes="href link/url" |
241 | - tal:content="structure link/escapedtext" /></span> |
242 | - <span |
243 | - tal:condition="python: link.enabled and not link.selected" |
244 | - tal:attributes="title link/summary; class link/name" |
245 | - ><a |
246 | - tal:condition="link/enabled" |
247 | - tal:attributes="href link/url" |
248 | - tal:content="structure link/escapedtext" |
249 | - /></span> |
250 | - <span |
251 | - tal:condition="not:link/enabled" |
252 | - tal:attributes="class string:${link/name} disabled-tab" |
253 | - ><strong |
254 | - tal:content="structure link/escapedtext" /></span> |
255 | - <small tal:condition="not:repeat/link/end"> / </small> |
256 | - </tal:facet> |
257 | - </div> |
258 | </div><!--id="locationbar"--> |
259 | |
260 | <tal:maintenance replace="structure context/@@+maintenancemessage" /> |
261 | @@ -136,15 +106,16 @@ |
262 | lang view/lang|default_language|default; |
263 | xml:lang view/lang|default_language|default; |
264 | dir view/dir|string:ltr"> |
265 | - <tal:location condition="view/macro:pagehas/applicationtabs"> |
266 | + <div class="location-portlet top-portlet" |
267 | + tal:condition="view/macro:pagehas/applicationtabs"> |
268 | + <span tal:replace="structure context/image:logo"></span> |
269 | <h2 |
270 | tal:condition="context/title|nothing" |
271 | tal:content="context/title" |
272 | metal:define-slot="heading" /> |
273 | - <tal:breadcrumbs> |
274 | - <!-- future breadcrumb rule --> |
275 | - </tal:breadcrumbs> |
276 | - </tal:location> |
277 | + <metal:heading_nav use-macro=" |
278 | + context/@@+base-layout-macros/location-tabs"/> |
279 | + </div> |
280 | <metal:main define-slot="main" /> |
281 | </div><!-- yui-b --> |
282 | </div><!-- yui-main --> |
283 | |
284 | === modified file 'lib/lp/registry/templates/distribution-search.pt' |
285 | --- lib/lp/registry/templates/distribution-search.pt 2009-07-31 22:34:24 +0000 |
286 | +++ lib/lp/registry/templates/distribution-search.pt 2009-08-03 07:22:41 +0000 |
287 | @@ -9,7 +9,7 @@ |
288 | <body> |
289 | |
290 | <div metal:fill-slot="main"> |
291 | - <div class="top-portlet"> |
292 | + <div class="portlet"> |
293 | <h1>Search packages in <tal:title replace="context/title" /></h1> |
294 | <form name="search" method="GET"> |
295 | <div> |
= Summary =
This branch is a first implementation of Martin's new location-header +
navigation tabs (facets), the mockup of which can be seen at:
http:// people. canonical. com/~michaeln/ menu_3- 0/0-LP_ new_design_ Bugs_v3. 1-from- beuno.png
== Proposed fix ==
This branch removes the old facet tabs from base-layout.pt and adds in
their place a simple styled list via a macro.
Following are a few unresolved questions that I have regarding the design.
What happens for contexts that do not have an image:logo? ======= ======= ======= ======= ======= ======= ======= = people. canonical. com/~michaeln/ menu_3- 0/2-DistroSourc epkg-with- disabled- tabs.png
=======
See source package screenshot at:
http://
IDistributionSo urcePackage does not provide IHasLogo, so passes up to
the nearest object that does, which is the distribution.
Note: in this specific case we actually want to update urcePackage to implement IHasLogo and use the logo of the
IDistributionSo
upstream project - if it has one.
Alignment of menu text when first tab is highlighted (Code)? ======= ======= ======= ======= ======= ======= ======= ====
=======
The provided mockup has the text of the first tab aligned with the text
of the heading above, but does not specify what should be aligned when
the first tab is active (ie. still the text, or the border of the
highlight?).
As a last-minute decision, I've gone with aligning the text of the first
tab when it is not active, and the margin/highlight when it is, as shown
by the first two examples at:
http:// people. canonical. com/~michaeln/ menu_3- 0/4-alignment- of-first- tab.png
The third example shows you the other alternative (aligning the text
even when the first tab is active). Let me know what you'd prefer.
The location-portlet now becomes the top-portlet ======= ======= ======= ======= ======= ======
=======
I'm assuming from the mockup that the location portlet will always be
the top portlet when it is present. That is, the first content below it
should be separated with a thin gray line (ie. a normal portlet).
If this is so, it'll mean updating the 3.0 design instructions as people
can simply add class="portlet" to their first main-area portlet.
Other unspecified design decisions ======= ======= ======= ======
=======
Hover behaviour
---------------
I've just used a lower-contrasting gray. See
http:// people. canonical. com/~michaeln/ menu_3- 0/1-DistroSearc h-with- hover.png
Another point (which I haven't got an image for, but you can see the
behaviour if you merge the branch) is hovering over the current selected
tab.
Disabled location tabs ------- ------- - people. canonical. com/~michaeln/ menu_3- 0/2-DistroSourc epkg-with- disabled- tabs.png
-------
I've grayed them out as shown at:
http://
edge/staging warning message ------- ------- -------
-------
As I've only implemented the location header/nav, I have not moved it so
it will still appear under the current 'breadcrumb'-like structure at
the top of the page.
== Implementation details ==
== Tests ==
bin/test -vvt tests/base- layout. txt
== Demo and Q/A ==
= Launchpad lint =
Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.
Linting chan...