jqwidgets-framework
Version:
jQWidgets is an advanced Angular, Vue, Blazor, React, Web Components, jquery, ASP .NET MVC, Custom Elements and HTML5 UI framework.
57 lines (52 loc) • 2.23 kB
text/typescript
/// <reference path="../../../jqwidgets-ts/jqwidgets.d.ts" />
function createDragDrop(DragDropSelector, PanelSelector)
{
// initialization options - validated in typescript
// jqwidgets.DragDroplOptions has generated TS definition
let dragDropOptions: jqwidgets.DragDropOptions =
{
restricter: 'parent', dropTarget: '.drop-target'
};
let panelOptions: jqwidgets.PanelOptions =
{
width: 260, height: 330
};
// creates an instance
let myDragDrop: jqwidgets.jqxDragDrop = jqwidgets.createInstance(DragDropSelector, 'jqxDragDrop', dragDropOptions);
let myPanel: jqwidgets.jqxPanel = jqwidgets.createInstance(PanelSelector, 'jqxPanel', panelOptions);
myDragDrop.addEventHandler('dragStart', function (event)
{
addEvent(event.type, event.args.position);
});
myDragDrop.addEventHandler('dragEnd', function (event)
{
addEvent(event.type, event.args.position);
});
myDragDrop.addEventHandler('dropTargetEnter', function (event)
{
addEvent(event.type, event.args.position);
});
myDragDrop.addEventHandler('dropTargetLeave', function (event)
{
addEvent(event.type, event.args.position);
});
function addEvent(type, position)
{
position.left = position.left.toString().match(/([^.]+)/);
position.top = position.top.toString().match(/([^.]+)/);
position.left[0] === '-0' ? position.left[0] = 0 : position.left[0] = position.left[0];
position.top[0] === '-0' ? position.top[0] = 0 : position.top[0] = position.top[0];
myPanel.prepend('<div class="row">Event: ' + type + ', (' + position.left[0] + ', ' + position.top[0] + ')</div>');
}
(function centerLabels()
{
let labels = document.getElementsByClassName('label');
for (let i = 0; i < labels.length; i++)
{
let parentHeight = labels[i].parentElement.offsetHeight;
let elementheight = labels[i].clientHeight;
let top = (parentHeight - elementheight) / 2;
(<HTMLElement>labels[i]).style.top = top + 'px';
}
} ());
}