Google Material Floating Action Button
,
Implementation for Angular v4+
First, you need to install the npm module:
npm install ngc-float-button --save
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
Check the Google Material Icons site
to see all icons
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {NgcFloatButtonModule} from 'ngc-float-button';
@NgModule({
imports: [
BrowserModule,
NgcFloatButtonModule
],
bootstrap: [AppComponent]
})
export class AppModule { }
If you use a SharedModule
that you import in multiple other feature modules,
you can export the NgcFloatButtonModule
to make sure you don't have to import it in every module.
@NgModule({
exports: [
CommonModule,
NgcFloatButtonModule
]
})
export class SharedModule { }
Finally, you can use ngc-float-button
in your Angular project.
The FAB template
<ngc-float-button icon="add">
<ngc-float-item-button icon="person_add" content="float item 1"></ngc-float-item-button>
<ngc-float-item-button icon="gps_fixed" content="float item 2"></ngc-float-item-button>
<ngc-float-item-button icon="mode_edit" content="float item 3"></ngc-float-item-button>
</ngc-float-button>
ngc-float-button
properties:
-
icon
property expects foricon_name
listed in Google Material Icons site. -
[open]
property expects forBehaviorSubject
type, with this you can open or close the FAB dispatching events. -
disabled
property expects aboolean
to toggle if a button is clickable. Defaults tofalse
. -
color
property define the background color and expects abackground:{value}
valid value. Defaults to#dd0031
. -
direction
property expects forstring
value type value that's acceptedtop
,right
,bottom
,left
. Defaults totop
-
spaceBetweenButtons
- property expects a valid number value inpx
to define the space between eachngc-float-item-button
, Defaults to55
Sample: [open]
...
//our parent component
// with 'true' our FAB will be started open.
public open:BehaviorSubject<boolean> = new BehaviorSubject(true); // true is the initial state of FAB
...
<div>
<button md-button (click)="open.next(true)">Open</button>
<button md-button (click)="open.next(false)">Close</button>
</div>
<ngc-float-button icon="add" [open]="open">
...
Sample: [direction]
<div>
<button md-button (click)="direction='top'">Top</button>
<button md-button (click)="direction='right'">Right</button>
<button md-button (click)="direction='bottom'">Bottom</button>
<button md-button (click)="direction='left'">Left</button>
</div>
<ngc-float-button icon="add" direction="{{direction}}">
...
ngc-float-item-button
properties:
icon
property expects foricon_name
listed in Google Material Icons site.color
property define the background color and expects abackground:{value}
valid value. Defaults towhite
.disabled
property expects aboolean
to toggle if a button is clickable. Defaults tofalse
.content
property expectsstring
value to show additional text inngc-float-item-button
You can listen the all events emitted by ngc-float-button
subscribing in the (events)
observable output.
Sample:
...
output(log) {
console.log(log);
}
...
<ngc-float-button (events)="output($event)">
...
If you need change some css property in ngc-float-button
you need to use /deep/
selector in parent css component.
More info about customization soon.