UNPKG

@iget/editor

Version:

WYSIWYG Editor for Angular Material applications

59 lines 8.79 kB
import { Component, EventEmitter, HostListener, Output } from '@angular/core'; import * as i0 from "@angular/core"; export class IgetEditorGrippieComponent { /** * Constructor */ constructor() { /** previous value befor resizing the editor */ this.oldY = 0; /** set to true on mousedown event */ this.grabber = false; this.resized = new EventEmitter(); } /** * * @param event Mouseevent * * Update the height of the editor when the grabber is dragged */ onMouseMove(event) { if (!this.grabber) { return; } this.resized.emit(event.clientY - this.oldY); this.oldY = event.clientY; } /** * * @param event Mouseevent * * set the grabber to false on mouse up action */ onMouseUp(event) { this.grabber = false; } onResize(event, resizer) { this.grabber = true; this.oldY = event.clientY; event.preventDefault(); } } IgetEditorGrippieComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: IgetEditorGrippieComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); IgetEditorGrippieComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: IgetEditorGrippieComponent, selector: "iget-editor-grippie", outputs: { resized: "resized" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)", "mousedown": "onResize($event)" } }, ngImport: i0, template: "<div class=\"iget-editor-grippie\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"isolation:isolate\" viewBox=\"651.6 235 26 5\"\n width=\"26\" height=\"5\">\n <g id=\"sprites\">\n <path d=\" M 651.6 235 L 653.6 235 L 653.6 237 L 651.6 237 M 654.6 238 L 656.6 238 L 656.6 240 L 654.6 240 M 660.6 238 L 662.6 238 L 662.6 240 L 660.6 240 M 666.6 238 L 668.6 238 L 668.6 240 L 666.6 240 M 672.6 238 L 674.6 238 L 674.6 240 L 672.6 240 M 657.6 235 L 659.6 235 L 659.6 237 L 657.6 237 M 663.6 235 L 665.6 235 L 665.6 237 L 663.6 237 M 669.6 235 L 671.6 235 L 671.6 237 L 669.6 237 M 675.6 235 L 677.6 235 L 677.6 237 L 675.6 237\"\n fill=\"rgb(147,153,159)\" />\n </g>\n </svg>\n</div>\n", styles: [".iget-editor-grippie{height:9px;position:relative;text-align:center;cursor:s-resize}.iget-editor-grippie svg{position:absolute;top:1.5px;width:50%;right:25%}\n"] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: IgetEditorGrippieComponent, decorators: [{ type: Component, args: [{ selector: 'iget-editor-grippie', template: "<div class=\"iget-editor-grippie\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"isolation:isolate\" viewBox=\"651.6 235 26 5\"\n width=\"26\" height=\"5\">\n <g id=\"sprites\">\n <path d=\" M 651.6 235 L 653.6 235 L 653.6 237 L 651.6 237 M 654.6 238 L 656.6 238 L 656.6 240 L 654.6 240 M 660.6 238 L 662.6 238 L 662.6 240 L 660.6 240 M 666.6 238 L 668.6 238 L 668.6 240 L 666.6 240 M 672.6 238 L 674.6 238 L 674.6 240 L 672.6 240 M 657.6 235 L 659.6 235 L 659.6 237 L 657.6 237 M 663.6 235 L 665.6 235 L 665.6 237 L 663.6 237 M 669.6 235 L 671.6 235 L 671.6 237 L 669.6 237 M 675.6 235 L 677.6 235 L 677.6 237 L 675.6 237\"\n fill=\"rgb(147,153,159)\" />\n </g>\n </svg>\n</div>\n", styles: [".iget-editor-grippie{height:9px;position:relative;text-align:center;cursor:s-resize}.iget-editor-grippie svg{position:absolute;top:1.5px;width:50%;right:25%}\n"] }] }], ctorParameters: function () { return []; }, propDecorators: { resized: [{ type: Output }], onMouseMove: [{ type: HostListener, args: ['document:mousemove', ['$event']] }], onMouseUp: [{ type: HostListener, args: ['document:mouseup', ['$event']] }], onResize: [{ type: HostListener, args: ['mousedown', ['$event']] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdldC1lZGl0b3ItZ3JpcHBpZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lnZXQtZWRpdG9yL2lnZXQtZWRpdG9yLWdyaXBwaWUvaWdldC1lZGl0b3ItZ3JpcHBpZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lnZXQtZWRpdG9yL2lnZXQtZWRpdG9yLWdyaXBwaWUvaWdldC1lZGl0b3ItZ3JpcHBpZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQVE1RSxNQUFNLE9BQU8sMEJBQTBCO0lBVXJDOztPQUVHO0lBQ0g7UUFWQSwrQ0FBK0M7UUFDL0MsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUNULHFDQUFxQztRQUNyQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRU4sWUFBTyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBS3JELENBQUM7SUFFakI7Ozs7O09BS0c7SUFDNkMsV0FBVyxDQUFDLEtBQWlCO1FBQzNFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDMkMsU0FBUyxDQUFDLEtBQWlCO1FBQ3ZFLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFc0MsUUFBUSxDQUFDLEtBQWlCLEVBQUUsT0FBa0I7UUFDbkYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDOzt1SEE1Q1UsMEJBQTBCOzJHQUExQiwwQkFBMEIsNE9DUnZDLHN2QkFTQTsyRkREYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0UscUJBQXFCOzBFQWFyQixPQUFPO3NCQUFoQixNQUFNO2dCQWF5QyxXQUFXO3NCQUExRCxZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWVBLFNBQVM7c0JBQXRELFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBSUwsUUFBUTtzQkFBOUMsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnZXQtZWRpdG9yLWdyaXBwaWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaWdldC1lZGl0b3ItZ3JpcHBpZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lnZXQtZWRpdG9yLWdyaXBwaWUuY29tcG9uZW50LnNjc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIElnZXRFZGl0b3JHcmlwcGllQ29tcG9uZW50IHtcbiAgLyoqIGhlaWdodCBvZiB0aGUgZWRpdG9yICovXG4gIGhlaWdodDogbnVtYmVyO1xuICAvKiogcHJldmlvdXMgdmFsdWUgYmVmb3IgcmVzaXppbmcgdGhlIGVkaXRvciAqL1xuICBvbGRZID0gMDtcbiAgLyoqIHNldCB0byB0cnVlIG9uIG1vdXNlZG93biBldmVudCAqL1xuICBncmFiYmVyID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHJlc2l6ZWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnQgTW91c2VldmVudFxuICAgKlxuICAgKiBVcGRhdGUgdGhlIGhlaWdodCBvZiB0aGUgZWRpdG9yIHdoZW4gdGhlIGdyYWJiZXIgaXMgZHJhZ2dlZFxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vtb3ZlJywgWyckZXZlbnQnXSkgb25Nb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZ3JhYmJlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVzaXplZC5lbWl0KGV2ZW50LmNsaWVudFkgLSB0aGlzLm9sZFkpO1xuICAgIHRoaXMub2xkWSA9IGV2ZW50LmNsaWVudFk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IE1vdXNlZXZlbnRcbiAgICpcbiAgICogc2V0IHRoZSBncmFiYmVyIHRvIGZhbHNlIG9uIG1vdXNlIHVwIGFjdGlvblxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pIG9uTW91c2VVcChldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuZ3JhYmJlciA9IGZhbHNlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSkgb25SZXNpemUoZXZlbnQ6IE1vdXNlRXZlbnQsIHJlc2l6ZXI/OiBGdW5jdGlvbikge1xuICAgIHRoaXMuZ3JhYmJlciA9IHRydWU7XG4gICAgdGhpcy5vbGRZID0gZXZlbnQuY2xpZW50WTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJpZ2V0LWVkaXRvci1ncmlwcGllXCI+XG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHN0eWxlPVwiaXNvbGF0aW9uOmlzb2xhdGVcIiB2aWV3Qm94PVwiNjUxLjYgMjM1IDI2IDVcIlxuICAgIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCI1XCI+XG4gICAgPGcgaWQ9XCJzcHJpdGVzXCI+XG4gICAgICA8cGF0aCBkPVwiIE0gNjUxLjYgMjM1IEwgNjUzLjYgMjM1IEwgNjUzLjYgMjM3IEwgNjUxLjYgMjM3IE0gNjU0LjYgMjM4IEwgNjU2LjYgMjM4IEwgNjU2LjYgMjQwIEwgNjU0LjYgMjQwIE0gNjYwLjYgMjM4IEwgNjYyLjYgMjM4IEwgNjYyLjYgMjQwIEwgNjYwLjYgMjQwIE0gNjY2LjYgMjM4IEwgNjY4LjYgMjM4IEwgNjY4LjYgMjQwIEwgNjY2LjYgMjQwIE0gNjcyLjYgMjM4IEwgNjc0LjYgMjM4IEwgNjc0LjYgMjQwIEwgNjcyLjYgMjQwIE0gNjU3LjYgMjM1IEwgNjU5LjYgMjM1IEwgNjU5LjYgMjM3IEwgNjU3LjYgMjM3IE0gNjYzLjYgMjM1IEwgNjY1LjYgMjM1IEwgNjY1LjYgMjM3IEwgNjYzLjYgMjM3IE0gNjY5LjYgMjM1IEwgNjcxLjYgMjM1IEwgNjcxLjYgMjM3IEwgNjY5LjYgMjM3IE0gNjc1LjYgMjM1IEwgNjc3LjYgMjM1IEwgNjc3LjYgMjM3IEwgNjc1LjYgMjM3XCJcbiAgICAgICAgZmlsbD1cInJnYigxNDcsMTUzLDE1OSlcIiAvPlxuICAgIDwvZz5cbiAgPC9zdmc+XG48L2Rpdj5cbiJdfQ==