Skip to content

Commit

Permalink
make paper-item accept an href
Browse files Browse the repository at this point in the history
  • Loading branch information
miguelcobain committed Jul 19, 2017
1 parent df4bc8d commit d0e0b94
Show file tree
Hide file tree
Showing 6 changed files with 73 additions and 285 deletions.
2 changes: 1 addition & 1 deletion addon/components/paper-item.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export default Component.extend(RippleMixin, ParentMixin, {
hasProxiedComponent: computed.bool('proxiedComponents.length'),
shouldBeClickable: computed.or('hasProxiedComponent', 'onClick'),

hasPrimaryAction: computed.notEmpty('onClick'),
hasPrimaryAction: computed.or('onClick', 'href'),

noProxy: computed('hasPrimaryAction', 'hasProxiedComponent', function() {
return !this.get('hasPrimaryAction') && !this.get('hasProxiedComponent');
Expand Down
3 changes: 2 additions & 1 deletion addon/templates/components/paper-item.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
{{#if hasPrimaryAction}}
<div class="md-button md-no-style">
{{paper-button class="md-no-style"
onClick=(action onClick)
onClick=onClick
href=href
onMouseEnter=(action mouseEnter) onMouseLeave=(action mouseLeave)}}
<div class="md-list-item-inner">
{{yield controls}}
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
"ember-deferred-content": "0.2.0",
"ember-disable-prototype-extensions": "^1.1.0",
"ember-export-application-global": "^2.0.0",
"ember-href-to": "^1.13.0",
"ember-load-initializers": "^1.0.0",
"ember-native-dom-helpers": "^0.5.2",
"ember-resolver": "^4.0.0",
Expand Down
68 changes: 34 additions & 34 deletions tests/dummy/app/templates/application.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -11,54 +11,54 @@
{{#paper-content}}

{{#paper-list}}
{{#menu-item active=(is-active "index" currentRouteName) onClick=(transition-to "index")}}Introduction{{/menu-item}}
{{#menu-item active=(is-active "index" currentRouteName) href=(href-to "index")}}Introduction{{/menu-item}}

{{#menu-item onClick=(action "toggleExpandedItem" "demos") expanded=demosExpanded canExpand=true}}Components{{/menu-item}}

<div class="submenu">
{{#liquid-if demosExpanded}}
{{#submenu-item active=(is-active "demo.autocomplete" currentRouteName) onClick=(transition-to "demo.autocomplete")}}Autocomplete{{/submenu-item}}
{{#submenu-item active=(is-active "demo.button" currentRouteName) onClick=(transition-to "demo.button")}}Button{{/submenu-item}}
{{#submenu-item active=(is-active "demo.card" currentRouteName) onClick=(transition-to "demo.card")}}Card{{/submenu-item}}
{{#submenu-item active=(is-active "demo.checkbox" currentRouteName) onClick=(transition-to "demo.checkbox")}}Checkbox{{/submenu-item}}
{{#submenu-item active=(is-active "demo.chips" currentRouteName) onClick=(transition-to "demo.chips")}}Chips{{/submenu-item}}
{{#submenu-item active=(is-active "demo.dialog" currentRouteName) onClick=(transition-to "demo.dialog")}}Dialog{{/submenu-item}}
{{#submenu-item active=(is-active "demo.divider" currentRouteName) onClick=(transition-to "demo.divider")}}Divider{{/submenu-item}}
{{#submenu-item active=(is-active "demo.grid-list" currentRouteName) onClick=(transition-to "demo.grid-list")}}Grid List{{/submenu-item}}
{{#submenu-item active=(is-active "demo.icons" currentRouteName) onClick=(transition-to "demo.icons")}}Icons{{/submenu-item}}
{{#submenu-item active=(is-active "demo.input" currentRouteName) onClick=(transition-to "demo.input")}}Input{{/submenu-item}}
{{#submenu-item active=(is-active "demo.list" currentRouteName) onClick=(transition-to "demo.list")}}List{{/submenu-item}}
{{#submenu-item active=(is-active "demo.menu" currentRouteName) onClick=(transition-to "demo.menu")}}Menu{{/submenu-item}}
{{#submenu-item active=(is-active "demo.nav-bar.index" currentRouteName) onClick=(transition-to "demo.nav-bar")}}Nav Bar{{/submenu-item}}
{{#submenu-item active=(is-active "demo.progress-circular" currentRouteName) onClick=(transition-to "demo.progress-circular")}}Progress Circular{{/submenu-item}}
{{#submenu-item active=(is-active "demo.progress-linear" currentRouteName) onClick=(transition-to "demo.progress-linear")}}Progress Linear{{/submenu-item}}
{{#submenu-item active=(is-active "demo.radio" currentRouteName) onClick=(transition-to "demo.radio")}}Radio{{/submenu-item}}
{{#submenu-item active=(is-active "demo.select" currentRouteName) onClick=(transition-to "demo.select")}}Select{{/submenu-item}}
{{#submenu-item active=(is-active "demo.sidenav" currentRouteName) onClick=(transition-to "demo.sidenav")}}Sidenav{{/submenu-item}}
{{#submenu-item active=(is-active "demo.slider" currentRouteName) onClick=(transition-to "demo.slider")}}Slider{{/submenu-item}}
{{#submenu-item active=(is-active "demo.switch" currentRouteName) onClick=(transition-to "demo.switch")}}Switch{{/submenu-item}}
{{#submenu-item active=(is-active "demo.toast" currentRouteName) onClick=(transition-to "demo.toast")}}Toast{{/submenu-item}}
{{#submenu-item active=(is-active "demo.toolbar" currentRouteName) onClick=(transition-to "demo.toolbar")}}Toolbar{{/submenu-item}}
{{#submenu-item active=(is-active "demo.tooltip" currentRouteName) onClick=(transition-to "demo.tooltip")}}Tooltip{{/submenu-item}}
{{#submenu-item active=(is-active "demo.virtual-repeat" currentRouteName) onClick=(transition-to "demo.virtual-repeat")}}Virtual Repeat{{/submenu-item}}
{{#submenu-item active=(is-active "demo.autocomplete" currentRouteName) href=(href-to "demo.autocomplete")}}Autocomplete{{/submenu-item}}
{{#submenu-item active=(is-active "demo.button" currentRouteName) href=(href-to "demo.button")}}Button{{/submenu-item}}
{{#submenu-item active=(is-active "demo.card" currentRouteName) href=(href-to "demo.card")}}Card{{/submenu-item}}
{{#submenu-item active=(is-active "demo.checkbox" currentRouteName) href=(href-to "demo.checkbox")}}Checkbox{{/submenu-item}}
{{#submenu-item active=(is-active "demo.chips" currentRouteName) href=(href-to "demo.chips")}}Chips{{/submenu-item}}
{{#submenu-item active=(is-active "demo.dialog" currentRouteName) href=(href-to "demo.dialog")}}Dialog{{/submenu-item}}
{{#submenu-item active=(is-active "demo.divider" currentRouteName) href=(href-to "demo.divider")}}Divider{{/submenu-item}}
{{#submenu-item active=(is-active "demo.grid-list" currentRouteName) href=(href-to "demo.grid-list")}}Grid List{{/submenu-item}}
{{#submenu-item active=(is-active "demo.icons" currentRouteName) href=(href-to "demo.icons")}}Icons{{/submenu-item}}
{{#submenu-item active=(is-active "demo.input" currentRouteName) href=(href-to "demo.input")}}Input{{/submenu-item}}
{{#submenu-item active=(is-active "demo.list" currentRouteName) href=(href-to "demo.list")}}List{{/submenu-item}}
{{#submenu-item active=(is-active "demo.menu" currentRouteName) href=(href-to "demo.menu")}}Menu{{/submenu-item}}
{{#submenu-item active=(is-active "demo.nav-bar.index" currentRouteName) href=(href-to "demo.nav-bar")}}Nav Bar{{/submenu-item}}
{{#submenu-item active=(is-active "demo.progress-circular" currentRouteName) href=(href-to "demo.progress-circular")}}Progress Circular{{/submenu-item}}
{{#submenu-item active=(is-active "demo.progress-linear" currentRouteName) href=(href-to "demo.progress-linear")}}Progress Linear{{/submenu-item}}
{{#submenu-item active=(is-active "demo.radio" currentRouteName) href=(href-to "demo.radio")}}Radio{{/submenu-item}}
{{#submenu-item active=(is-active "demo.select" currentRouteName) href=(href-to "demo.select")}}Select{{/submenu-item}}
{{#submenu-item active=(is-active "demo.sidenav" currentRouteName) href=(href-to "demo.sidenav")}}Sidenav{{/submenu-item}}
{{#submenu-item active=(is-active "demo.slider" currentRouteName) href=(href-to "demo.slider")}}Slider{{/submenu-item}}
{{#submenu-item active=(is-active "demo.switch" currentRouteName) href=(href-to "demo.switch")}}Switch{{/submenu-item}}
{{#submenu-item active=(is-active "demo.toast" currentRouteName) href=(href-to "demo.toast")}}Toast{{/submenu-item}}
{{#submenu-item active=(is-active "demo.toolbar" currentRouteName) href=(href-to "demo.toolbar")}}Toolbar{{/submenu-item}}
{{#submenu-item active=(is-active "demo.tooltip" currentRouteName) href=(href-to "demo.tooltip")}}Tooltip{{/submenu-item}}
{{#submenu-item active=(is-active "demo.virtual-repeat" currentRouteName) href=(href-to "demo.virtual-repeat")}}Virtual Repeat{{/submenu-item}}
{{/liquid-if}}
</div>
{{#menu-item active=(is-active "forms" currentRouteName) onClick=(transition-to "forms")}}Forms{{/menu-item}}
{{#menu-item active=(is-active "typography" currentRouteName) onClick=(transition-to "typography")}}Typography{{/menu-item}}
{{#menu-item active=(is-active "theme" currentRouteName) onClick=(transition-to "theme")}}Color & Theme{{/menu-item}}
{{#menu-item active=(is-active "forms" currentRouteName) href=(href-to "forms")}}Forms{{/menu-item}}
{{#menu-item active=(is-active "typography" currentRouteName) href=(href-to "typography")}}Typography{{/menu-item}}
{{#menu-item active=(is-active "theme" currentRouteName) href=(href-to "theme")}}Color & Theme{{/menu-item}}

{{#menu-item onClick=(action "toggleExpandedItem" "layout") expanded=layoutExpanded canExpand=true}}Layout{{/menu-item}}
<div class="submenu">
{{#liquid-if layoutExpanded}}
{{#submenu-item active=(is-active "layout.introduction" currentRouteName) onClick=(transition-to "layout.introduction")}}Introduction{{/submenu-item}}
{{#submenu-item active=(is-active "layout.layout-containers" currentRouteName) onClick=(transition-to "layout.layout-containers")}}Layout Containers{{/submenu-item}}
{{#submenu-item active=(is-active "layout.layout-children" currentRouteName) onClick=(transition-to "layout.layout-children")}}Layout Children{{/submenu-item}}
{{#submenu-item active=(is-active "layout.child-alignment" currentRouteName) onClick=(transition-to "layout.child-alignment")}}Child Alignment{{/submenu-item}}
{{#submenu-item active=(is-active "layout.introduction" currentRouteName) href=(href-to "layout.introduction")}}Introduction{{/submenu-item}}
{{#submenu-item active=(is-active "layout.layout-containers" currentRouteName) href=(href-to "layout.layout-containers")}}Layout Containers{{/submenu-item}}
{{#submenu-item active=(is-active "layout.layout-children" currentRouteName) href=(href-to "layout.layout-children")}}Layout Children{{/submenu-item}}
{{#submenu-item active=(is-active "layout.child-alignment" currentRouteName) href=(href-to "layout.child-alignment")}}Child Alignment{{/submenu-item}}
{{/liquid-if}}
</div>

{{#menu-item active=(is-active "cookbook" currentRouteName) onClick=(transition-to "cookbook")}}Cookbook{{/menu-item}}
{{#menu-item active=(is-active "addons" currentRouteName) onClick=(transition-to "addons")}}Addons{{/menu-item}}
{{#menu-item active=(is-active "cookbook" currentRouteName) href=(href-to "cookbook")}}Cookbook{{/menu-item}}
{{#menu-item active=(is-active "addons" currentRouteName) href=(href-to "addons")}}Addons{{/menu-item}}
{{/paper-list}}

{{/paper-content}}
Expand Down
4 changes: 3 additions & 1 deletion tests/dummy/app/templates/components/submenu-item.hbs
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
{{#paper-item onClick=onClick class=(concat "submenu-item" (if active ' active'))}}{{yield}}{{/paper-item}}
{{#paper-item href=href class=(concat "submenu-item" (if active " active"))}}
{{yield}}
{{/paper-item}}

0 comments on commit d0e0b94

Please sign in to comment.