mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-24 14:58:36 +08:00
decouple content from aside 100%
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
|
||||
.notransition {
|
||||
.no-transition {
|
||||
transition: none !important;
|
||||
}
|
||||
|
||||
|
@ -36,12 +36,6 @@ export class Aside {
|
||||
config: AsideConfig
|
||||
) {
|
||||
this.domElement = element.domElement
|
||||
this.transformSetter = transformSetter
|
||||
|
||||
// this.noTransitionSetter = noTransitionSetter
|
||||
this.noTransitionSetter = is => { this.domElement.classList[is?'add':'remove']('notransition') }
|
||||
|
||||
this.openSetter = is => { this.domElement.classList[is?'add':'remove']('open') }
|
||||
|
||||
// TODO inject constant instead of using domElement.getAttribute
|
||||
// TODO let config / platform handle defaults transparently
|
||||
|
@ -11,17 +11,17 @@ class AsideBaseType {
|
||||
|
||||
//FIXME(ajoslin): have to wait for for bindings to apply in a component
|
||||
setTimeout(() => {
|
||||
this.aside.content.setIsAside(true);
|
||||
this.aside.content.domElement.classList.add('aside-content')
|
||||
})
|
||||
}
|
||||
setSliding(isSliding) {
|
||||
this.aside.noTransitionSetter(isSliding);
|
||||
this.aside.domElement.classList[isSliding ? 'add' : 'remove']('no-transition');
|
||||
}
|
||||
setOpen(isOpen) {
|
||||
this.aside.openSetter(isOpen);
|
||||
this.aside.domElement.classList[isOpen ? 'add' : 'remove']('open');
|
||||
}
|
||||
setTransform(transform) {
|
||||
this.aside.transformSetter(transform);
|
||||
this.aside.domElement.style.transform = transform;
|
||||
}
|
||||
}
|
||||
|
||||
@ -30,27 +30,30 @@ export class AsideOverlayType extends AsideBaseType {}
|
||||
export class AsidePushType extends AsideBaseType {
|
||||
setSliding(isSliding) {
|
||||
super.setSliding(isSliding);
|
||||
this.aside.content.noTransitionSetter(isSliding);
|
||||
this.aside.content.domElement.classList[isSliding ? 'add' : 'remove']('no-transition');
|
||||
}
|
||||
setOpen(isOpen) {
|
||||
super.setOpen(isOpen);
|
||||
this.aside.content.asideOpenSetter(isOpen, this.aside.side);
|
||||
this.aside.content.domElement.classList[isOpen ? 'add' : 'remove'](
|
||||
`aside-open-${this.aside.side}`
|
||||
);
|
||||
}
|
||||
setTransform(transform) {
|
||||
super.setTransform(transform);
|
||||
this.aside.content.transformSetter(transform);
|
||||
this.aside.content.domElement.style.transform = transform;
|
||||
}
|
||||
}
|
||||
|
||||
export class AsideRevealType extends AsideBaseType {
|
||||
setSliding(isSliding) {
|
||||
this.aside.content.noTransitionSetter(isSliding);
|
||||
this.aside.content.domElement.classList[isSliding ? 'add' : 'remove']('no-transition');
|
||||
}
|
||||
setOpen(isOpen) {
|
||||
super.setOpen(isOpen);
|
||||
this.aside.content.asideOpenSetter(isOpen, this.aside.side);
|
||||
this.aside.content.domElement.classList[isOpen ? 'add' : 'remove'](
|
||||
`aside-open-${this.aside.side}`
|
||||
);
|
||||
}
|
||||
setTransform(transform) {
|
||||
this.aside.content.transformSetter(transform);
|
||||
this.aside.content.domElement.style.transform = transform;
|
||||
}
|
||||
}
|
||||
|
@ -11,21 +11,9 @@ import {NgElement, Component, Template, PropertySetter} from 'angular2/angular2'
|
||||
})
|
||||
export class Content {
|
||||
constructor(
|
||||
@NgElement() ele:NgElement,
|
||||
@PropertySetter('style.transform') transformSetter: Function,
|
||||
@PropertySetter('class.notransition') noTransitionSetter: Function
|
||||
@NgElement() element:NgElement
|
||||
) {
|
||||
this.domElement = ele.domElement;
|
||||
this.domElement = element.domElement;
|
||||
this.domElement.classList.add('content');
|
||||
|
||||
this.noTransitionSetter = is => { this.domElement.classList[is?'add':'remove']('notransition'); }
|
||||
// this.noTransitionSetter = noTransitionSetter;
|
||||
|
||||
this.transformSetter = transformSetter;
|
||||
this.setIsAside = is => { this.domElement.classList.add('aside-content'); };
|
||||
|
||||
this.asideOpenSetter = (is, side) => {
|
||||
this.domElement.classList[is?'add':'remove'](`aside-open-${side}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user