UNPKG

novo-elements

Version:

Bullhorn's NOVO Element Repository for Angular 2

55 lines (47 loc) 1.85 kB
// NG2 import { Component } from '@angular/core'; // APP let DragulaDemoTpl = require('./templates/DragulaDemo.html'); let DragulaModelDemoTpl = require('./templates/DragulaModelDemo.html'); // Vendor import { NovoDragulaService } from './../../../../index'; const template = ` <div class="container"> <h1>Dragula <small><a target="_blank" href="https://github.com/bullhorn/novo-elements/blob/master/src/dragula">(source)</a></small></h1> <p>Drag and Drop directives supported by dragula</p> <h5>Examples</h5> <p>Move stuff between these two containers. Note how the stuff gets inserted near the mouse pointer? Great stuff.</p> <div class="example" style="padding: 20px;">${DragulaDemoTpl}</div> <code-snippet [code]="DragulaDemoTpl"></code-snippet> <h5>Examples</h5> <p>Angular-specific example. Fancy some ngFor?</p> <div class="example" style="padding: 20px;">${DragulaModelDemoTpl}</div> <code-snippet [code]="DragulaModelDemoTpl"></code-snippet> </div> `; @Component({ selector: 'dragula-demo', template: template }) export class DragulaDemoComponent { private DragulaDemoTpl:string = DragulaDemoTpl; private DragulaModelDemoTpl:string = DragulaModelDemoTpl; private many:Array<string> = ['The', 'possibilities', 'are', 'endless!']; private many2:Array<string> = ['Explore', 'them']; constructor(private dragulaService:NovoDragulaService) { dragulaService.dropModel.subscribe((value) => { this.onDropModel(value.slice(1)); }); dragulaService.removeModel.subscribe((value) => { this.onRemoveModel(value.slice(1)); }); } onDropModel(args) { let [el, target, source] = args; // do something else } onRemoveModel(args) { let [el, source] = args; // do something else } }