jqwidgets-scripts-custom
Version:
jQWidgets is an advanced jQuery, Angular 7, Vue, React, ASP .NET MVC, Custom Elements and HTML5 UI framework.
71 lines (60 loc) • 2.32 kB
text/typescript
import { Component, ViewChild, AfterViewInit, ElementRef } from '@angular/core';
import { jqxTreeComponent } from 'jqwidgets-scripts/jqwidgets-ts/angular_jqxtree';
export class AppComponent {
treeA: jqxTreeComponent;
treeB: jqxTreeComponent;
dragStartLog: ElementRef;
dragEndLog: ElementRef;
textarea: ElementRef;
onDragStart = (event) => {
this.dragStartLog.nativeElement.innerText = 'Drag Start: ' + event.args.label;
this.dragEndLog.nativeElement.innerText = '';
};
onDragEnd = (event) => {
this.dragEndLog.nativeElement.innerText = 'Drag End';
if (event.args.label) {
let ev = event.args.originalEvent;
let x = ev.pageX;
let y = ev.pageY;
if (event.args.originalEvent && event.args.originalEvent.originalEvent && event.args.originalEvent.originalEvent.touches) {
let touch = event.args.originalEvent.originalEvent.changedTouches[0];
x = touch.pageX;
y = touch.pageY;
}
let rect = this.textarea.nativeElement.getBoundingClientRect();
let width = this.textarea.nativeElement.clientWidth;
let height = this.textarea.nativeElement.clientHeight;
let right = rect.left + width;
let bottom = rect.top + height;
if (x >= rect.left && x <= right) {
if (y >= rect.top && y <= bottom) {
this.textarea.nativeElement.value = event.args.label;
}
}
}
};
dragStartTreeA(event: any): void {
this.onDragStart(event);
};
dragEndTreeA(event: any): void {
this.onDragEnd(event);
};
dragStartTreeB(event: any): void {
this.onDragStart(event);
};
dragEndTreeB(event: any): void {
this.onDragEnd(event);
};
dragStart(item): boolean {
if (item.label == "Community")
return false;
};
dragEnd(item, dropItem, args, dropPosition, tree): boolean {
if (item.label == "Forum")
return false;
};
}