src/app/lib/slideout-menu/slideout-menu.component.ts
host | { |
selector | div[uat-slideout-menu] |
styleUrls | slideout-menu.component.css |
templateUrl | ./slideout-menu.component.html |
Properties |
Inputs |
HostBindings |
Accessors |
constructor()
|
closeOnClickOutside
|
Default value: |
pinOnClick
|
Default value: |
showOnMouseOver
|
Default value: |
slideDirection
|
Type:
Default value: |
class.uat-slideout-menu |
class.uat-slideout-menu:
|
Default value : true
|
panel |
panel:
|
Type : UATSlidingPanel
|
Decorators : ViewChild
|
isOpen |
getisOpen()
|
slideLeft |
getslideLeft()
|
import { Component, Input, HostBinding, ViewChild } from '@angular/core';
import { UATSlidingPanel } from '../sliding-panel/sliding-panel.component';
@Component({
selector: 'div[uat-slideout-menu]',
templateUrl: './slideout-menu.component.html',
styleUrls: ['./slideout-menu.component.css'],
host: {
'[class.slide-left]':"slideLeft",
'[class.slide-right]':"!slideLeft"
}
})
export class UATSlideoutMenu {
@HostBinding('class.uat-slideout-menu') applyHostClass = true;
@Input() public showOnMouseOver = true;
@Input() public pinOnClick = true;
@Input() public closeOnClickOutside = true;
@Input() slideDirection: "left" | "right" = "right";
@ViewChild('panel') panel: UATSlidingPanel;
public get isOpen() {
return this.panel.isShowing;
}
get slideLeft() {
return this.slideDirection === "left";
}
constructor() { }
}
<div class="slide-container">
<div [uat-sliding-panel-toggle]="panel"
[toggleOnClick]="pinOnClick"
[showOnHover]="showOnMouseOver"
[closeOnClickOutside]="closeOnClickOutside">
<ng-content select="[uat-menu-toggle]"></ng-content>
</div>
<div class="slide-position">
<div class="slide-anchor">
<div uat-sliding-panel
#panel="uatSlidingPanel"
[slideDirection]="slideDirection">
<ng-content select="[uat-menu-item]"></ng-content>
</div>
</div>
</div>
</div>