Skip to content

Commit

Permalink
Merge commit 'adf876be15ede06e4e8def87a5430259c4951a57' into wow
Browse files Browse the repository at this point in the history
* commit 'adf876be15ede06e4e8def87a5430259c4951a57': (24 commits)
  fix paper-item tests
  dummy app: Adjust sidenav snippet to conform to indentation standard.
  dummy app: Correct sidenav snippet to avoid conflict with dialog snippet.
  dummy app: bump ember-cli-github-pages to 0.1.0 as required for "destination" support.
  fix table scroll on mobile. fix inner sidenav container on mobile
  fix card page on mobile
  stop propagation of expand click events
  Adjusted `ember-css-transitions` dependency to a tagged release.
  Fixes query linear progress to demo switch from query to determinate. (adopted-ember-addons#391)
  fix didInitAttrs deprecations
  use yielded action
  added tests
  fix for issue adopted-ember-addons#378 (adopted-ember-addons#390)
  changed order of css modifications to match AM (adopted-ember-addons#386)
  Allow null or undefined errors initialization (adopted-ember-addons#389)
  allow lockedOpen to lock to a boolean
  improve sidenav docs
  update changelog
  use paper-toolbar-tools
  make sidenavs private. sidenav-toggle no longer gets the lockedOpen value. added some guards on the lockedOpen changes
  ...
  • Loading branch information
Jamie Burkart committed Jun 9, 2016
2 parents 01ce232 + adf876b commit e8d8ee9
Show file tree
Hide file tree
Showing 53 changed files with 757 additions and 353 deletions.
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,18 @@ Contributions and pull requests are always welcome. Contributors may often be fo

#### 1.0.0-alpha.2

- This version uses an updated version of `ember-css-transitions` from github rather than npm.
- [#384](https://github.com/miguelcobain/ember-paper/pull/384) update sidenav
- `paper-nav-container` was renamed to `paper-sidenav-container`
- `locked-open` was renamed to `lockedOpen`
- sidenav opening now follows DDAU with the `open` attribute and `onToggle` action
- animations work
- there is a `paperSidenav` service that allows sidenav toggling across the application
- `paper-sidenav-toggle` no longer sets a class to hide at certain breakpoints
- `paper-sidenav-toggle` is now tagless. It is essentially a functional component that yields an action to its block
- `paper-sidenav` now can use a `position` param that positions the sidenav `left` (default) or `right`
- `paper-backdrop` action `onTap` changed to `onClick`

#### 1.0.0-alpha.1

- [#365](https://github.com/miguelcobain/ember-paper/pull/365) paper-button: Support for `fab` and `mini`.
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ becomes

## Building and deploying the dummy app to github

If needed, update `ember-cli-github-pages` to version `0.0.9` or later, or the latest master of `0.0.8`. This version supports the `destination` option.
If needed, run `npm install` to update `ember-cli-github-pages` to version `0.1.0` or later to obtain `destination` option support.

1. In the `master` branch, ensure that the version number in `package.json` reflects the current changes and CHANGELOG.md. If needed, bump the version number, commit, and make a git tag for the release.

Expand Down
22 changes: 3 additions & 19 deletions addon/components/paper-backdrop.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import Ember from 'ember';
import TransitionMixin from 'ember-css-transitions/mixins/transition-mixin';
const { Component, computed, run, String: { htmlSafe } } = Ember;
/* global Hammer */
const { Component, computed, String: { htmlSafe } } = Ember;

export default Component.extend(TransitionMixin, {

Expand All @@ -23,24 +22,9 @@ export default Component.extend(TransitionMixin, {
parent.append(clone);
},

didInsertElement() {
let backdropHammer = new Hammer(this.element);
backdropHammer.on('tap', run.bind(this, this._onTap));
this._backdropHammer = backdropHammer;
},

willDestroyElement() {
this._super(...arguments);
if (this._backdropHammer) {
this._backdropHammer.destroy();
}
},

_onTap(e) {
click(e) {
e.preventDefault();
if (this.get('onTap')) {
this.get('onTap')(e);
}
this.sendAction('onClick', e);
}

});
2 changes: 1 addition & 1 deletion addon/components/paper-checkbox.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export default BaseFocusable.extend(RippleMixin, ProxiableMixin, ColorMixin, {

value: false,

didInitAttrs() {
init() {
this._super(...arguments);
assert('{{paper-checkbox}} requires an `onChange` action or null for no action.', this.get('onChange') !== undefined);
},
Expand Down
6 changes: 4 additions & 2 deletions addon/components/paper-dialog.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,18 @@ export default Component.extend({
constants: inject.service(),

didInsertElement() {
this._super(...arguments);
if (this.get('escapeToClose')) {
$(this.get('defaultedParent')).on(`keydown.${this.elementId}`, (e) => {
if (e.keyCode === this.get('constants.KEYCODE.ESCAPE') && this.get('onClose')) {
this.get('onClose')();
this.sendAction('onClose');
}
});
}
},

willDestroyElement() {
this._super(...arguments);
if (this.get('escapeToClose')) {
$(this.get('defaultedParent')).off(`keydown.${this.elementId}`);
}
Expand All @@ -59,7 +61,7 @@ export default Component.extend({
actions: {
outsideClicked() {
if (this.get('clickOutsideToClose') && this.get('onClose')) {
this.get('onClose')();
this.sendAction('onClose');
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion addon/components/paper-input.js
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ export default BaseFocusable.extend(ColorMixin, FlexMixin, {
});

// error messages array
let errors = this.get('errors');
let errors = this.get('errors') || [];
assert('`errors` must be an array', isArray(errors));
messages.pushObjects(errors.map((e) => {
return get(e, 'message') ? e : { message: e };
Expand Down
4 changes: 2 additions & 2 deletions addon/components/paper-item.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,13 +107,13 @@ export default Component.extend(RippleMixin, ProxyMixin, {
},

actions: {
buttonAction() {
buttonAction(ev) {
this.get('proxiedComponents').forEach((component)=> {
if (component.processProxy && !get(component, 'disabled') && (get(component, 'bubbles') | !get(this, 'hasPrimaryAction'))) {
component.processProxy();
}
});
this.sendAction('onClick');
this.sendAction('onClick', ev);
}
}

Expand Down
7 changes: 5 additions & 2 deletions addon/components/paper-menu-container-abstract.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,11 @@ export default Ember.Component.extend({
hideWrapper() {
let _self = this;
return new Ember.RSVP.Promise(function(resolve/*, reject*/) {
_self.get('transitionEvents').addEndEventListener(_self.get('element'), resolve);
_self.$().removeClass('md-active').addClass('md-leave');
_self.get('transitionEvents').addEndEventListener(_self.get('element'), function() {
_self.$().removeClass('md-active');
resolve();
});
_self.$().addClass('md-leave');
});
},

Expand Down
5 changes: 5 additions & 0 deletions addon/components/paper-menu-item.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ export default Component.extend({
this.nearestOfType(PaperMenuAbstract).send('toggleMenu');
this.sendAction('onClick', event);
}
},
mouseEnter() {
if (!this.get('disabled')) {
this.$('button').focus();
}
}

});
9 changes: 0 additions & 9 deletions addon/components/paper-nav-container.js

This file was deleted.

3 changes: 1 addition & 2 deletions addon/components/paper-progress-linear.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,7 @@ export default Component.extend(ColorMixin, {
return Ember.String.htmlSafe(`${this.get('constants.CSS.TRANSFORM')}: ${this.transforms[this.get('clampedBufferValue')]}`);
}),

bar2Style: computed('clampedValue', function() {

bar2Style: computed('clampedValue', 'mode', function() {
if (this.get('mode') === MODE_QUERY) {
return Ember.String.htmlSafe('');
}
Expand Down
2 changes: 1 addition & 1 deletion addon/components/paper-radio-group.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export default BaseFocusable.extend({
constants: inject.service(),

// Lifecycle hooks
didInitAttrs() {
init() {
this._super(...arguments);
assert('{{paper-radio-group}} requires an `onChange` action or null for no action', this.get('onChange') !== undefined);
},
Expand Down
2 changes: 1 addition & 1 deletion addon/components/paper-radio.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export default BaseFocusable.extend(RippleMixin, ColorMixin, {
focusOnlyOnKey: true,

// Lifecycle hooks
didInitAttrs() {
init() {
this._super(...arguments);
assert('{{paper-radio}} requires an `onChange` action or null for no action.', this.get('onChange') !== undefined);

Expand Down
8 changes: 8 additions & 0 deletions addon/components/paper-sidenav-container.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import Ember from 'ember';
const { Component } = Ember;

export default Component.extend({
classNames: ['flex', 'layout-row'],
attributeBindings: ['style'],
style: Ember.String.htmlSafe('overflow: hidden')
});
92 changes: 92 additions & 0 deletions addon/components/paper-sidenav-inner.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
import Ember from 'ember';
import TransitionMixin from 'ember-css-transitions/mixins/transition-mixin';

const { Component, inject, computed, $, run } = Ember;

export default Component.extend(TransitionMixin, {
tagName: 'md-sidenav',
attributeBindings: ['tabindex'],
classNameBindings: ['positionClass'],
transitionTriggers: ['isLockedOpen:md-locked-open', 'closed:md-closed'],

constants: inject.service(),
paperSidenav: inject.service(),

name: 'default',
position: 'left',
lockedOpen: 'gt-sm',
closed: true,
closeOnClick: true,
tabindex: -1,

positionClass: computed('position', function() {
return `md-sidenav-${this.get('position')}`;
}),

init() {
// need to updateLockedOpen() first because otherwise the transition classes
// would be applied due to transition mixin's `init`
this.updateLockedOpen();
this._super(...arguments);
this.get('paperSidenav').register(this.get('name'), this);
},

didInsertElement() {
this._super(...arguments);
$(window).on(`resize.${this.elementId}`, run.bind(this, 'updateLockedOpen'));
},

willDestroyElement() {
this._super(...arguments);
$(window).off(`resize.${this.elementId}`);
this.get('paperSidenav').unregister(this.get('name'), this);
},

updateLockedOpen() {
let lockedOpen = this.get('lockedOpen');
let isLockedOpen;

// if `true` or `false` is specified, always/never "lock open"
// otherwise proceed with normal matchMedia test
if (typeof lockedOpen === 'boolean') {
isLockedOpen = lockedOpen;
} else {
let mediaQuery = this.get('constants').MEDIA[lockedOpen] || lockedOpen;
isLockedOpen = window.matchMedia(mediaQuery).matches;
}

if (this.get('isLockedOpen') !== isLockedOpen) {
this.set('isLockedOpen', isLockedOpen);

// if sidenav is open and we enter lockedOpen,
// make the sidenav enter the "closed" state
if (!this.get('closed') && isLockedOpen) {
this.sendAction('onToggle', false);
}
}
},

click() {
if (this.get('closeOnClick') && !this.get('isLockedOpen')) {
this.sendAction('onToggle', false);
}
},

open() {
if (this.get('closed') && this.get('isLockedOpen')) {
this.sendAction('onToggle', true);
}
},

close() {
if (!this.get('closed') && !this.get('isLockedOpen')) {
this.sendAction('onToggle', false);
}
},

toggle() {
if (!this.get('isLockedOpen')) {
this.sendAction('onToggle', this.get('closed'));
}
}
});
27 changes: 8 additions & 19 deletions addon/components/paper-sidenav-toggle.js
Original file line number Diff line number Diff line change
@@ -1,27 +1,16 @@
import Ember from 'ember';
import PaperNavContainer from './paper-nav-container';
const { Component, inject } = Ember;

export default Ember.Component.extend({
tagName: 'div',
export default Component.extend({

navContainer: Ember.computed(function() {
return this.nearestOfType(PaperNavContainer);
}),
tagName: '',

actions: {
toggleMenu() {
this.get('navContainer').get('sideBar').send('toggleMenu');
}
},
name: 'default',

didInsertElement() {
this._super(...arguments);
if (this.get('navContainer')) {
let lockedOpen = this.get('navContainer').get('sideBar').get('locked-open');
if (lockedOpen) {
this.$().attr(`hide-${lockedOpen}`, true);
}
}
paperSidenav: inject.service(),

toggle() {
this.get('paperSidenav').toggle(this.get('name'));
}

});
Loading

0 comments on commit e8d8ee9

Please sign in to comment.