Angular Draggable Properties
This section describes properties that configure the Draggable UI component's contents, behavior, and appearance.
dragTemplate
Name | Type | Description |
---|---|---|
itemData | any |
The item's data. Note that you should specify the item data manually. |
itemElement |
The container of the item being dragged. It is an HTML Element or a jQuery Element when you use jQuery. |
- import { DxDraggableModule } from "devextreme-angular";
- // ...
- export class AppComponent {
- onDragStart(e){
- e.itemData = e.fromData.text;
- // ...
- }
- }
- @NgModule({
- imports: [
- // ...
- DxDraggableModule
- ],
- // ...
- })
- <dx-draggable
- [data]="task"
- (onDragStart)="onDragStart($event)"
- dragTemplate="myDragTemplate"
- >
- <div *dxTemplate="let e of 'myDragTemplate'">
- <div>{{ e.itemData + " drag template" }}</div>
- </div>
- </dx-draggable>
height
This property accepts a value of one of the following types:
Number
The height in pixels.String
A CSS-accepted measurement of height. For example,"55px"
,"20vh"
,"80%"
,"inherit"
.Function (deprecated since v21.2)
Refer to the W0017 warning description for information on how you can migrate to viewport units.
onDisposing
A function that is executed before the UI component is disposed of.
Name | Type | Description |
---|---|---|
element |
The UI component's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
component | Draggable |
The UI component's instance. |
onDragEnd
Name | Type | Description |
---|---|---|
cancel |
Allows you to cancel the gesture. |
|
component | Draggable |
The UI component that raised the event. |
element |
The UI component's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
event | Event (jQuery or EventObject) |
The event that caused the function to execute. It is an EventObject or a jQuery.Event when you use jQuery. |
fromComponent | | |
The instance of the item's source UI component. Works only for element drag and drop between components. |
fromData | any |
Custom data associated with the source UI component. Works only for element drag and drop between components. |
itemData | any |
The item's data before the drag operation. Note that you should specify the item data manually. |
itemElement |
The container of the item being dragged. It is an HTML Element or a jQuery Element when you use jQuery. |
|
toComponent | | |
The instance of the item's target UI component. Works only for element drag and drop between components. |
toData | any |
Custom data associated with the target UI component. Works only for element drag and drop between components. |
- import { DxDraggableModule } from "devextreme-angular";
- // ...
- export class AppComponent {
- onDragEnd(e){
- e.itemData = e.fromData.text;
- // ...
- }
- }
- @NgModule({
- imports: [
- // ...
- DxDraggableModule
- ],
- // ...
- })
- <dx-draggable
- [data]="task"
- (onDragEnd)="onDragEnd($event)"
- dragTemplate="myDragTemplate"
- >
- <div *dxTemplate="let e of 'myDragTemplate'">
- <div>{{ e.itemData + " drag template" }}</div>
- </div>
- </dx-draggable>
onDragMove
Name | Type | Description |
---|---|---|
cancel |
Allows you to cancel the gesture. |
|
component | Draggable |
The UI component that raised the event. |
element |
The UI component's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
event | Event (jQuery or EventObject) |
The event that caused the function to execute. It is an EventObject or a jQuery.Event when you use jQuery. |
fromComponent | | |
The instance of the item's source UI component. Works only for element drag and drop between components. |
fromData | any |
Custom data associated with the source UI component. Works only for element drag and drop between components. |
itemData | any |
The item's data before the drag operation. Note that you should specify the item data manually. |
itemElement |
The container of the item being dragged. It is an HTML Element or a jQuery Element when you use jQuery. |
|
toComponent | | |
The instance of the item's target UI component. Works only for element drag and drop between components. |
toData | any |
Custom data associated with the target UI component. Works only for element drag and drop between components. |
- import { DxDraggableModule } from "devextreme-angular";
- // ...
- export class AppComponent {
- onDragMove(e){
- e.itemData = e.fromData.text;
- // ...
- }
- }
- @NgModule({
- imports: [
- // ...
- DxDraggableModule
- ],
- // ...
- })
- <dx-draggable
- [data]="task"
- (onDragMove)="onDragMove($event)"
- dragTemplate="myDragTemplate"
- >
- <div *dxTemplate="let e of 'myDragTemplate'">
- <div>{{ e.itemData + " drag template" }}</div>
- </div>
- </dx-draggable>
onDragStart
Name | Type | Description |
---|---|---|
cancel |
Allows you to cancel the gesture. |
|
component | Draggable |
The UI component that raised the event. |
element |
The UI component's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
event | Event (jQuery or EventObject) |
The event that caused the function to execute. It is an EventObject or a jQuery.Event when you use jQuery. |
fromData | any |
Custom data associated with the source UI component. Works only for element drag and drop between components. |
itemData | any |
The item's data before the drag operation. Note that you should specify the item data manually. |
itemElement |
The container of the item being dragged. It is an HTML Element or a jQuery Element when you use jQuery. |
- import { DxDraggableModule } from "devextreme-angular";
- // ...
- export class AppComponent {
- onDragStart(e){
- e.itemData = e.fromData.text;
- // ...
- }
- }
- @NgModule({
- imports: [
- // ...
- DxDraggableModule
- ],
- // ...
- })
- <dx-draggable
- [data]="task"
- (onDragStart)="onDragStart($event)"
- dragTemplate="myDragTemplate"
- >
- <div *dxTemplate="let e of 'myDragTemplate'">
- <div>{{ e.itemData + " drag template" }}</div>
- </div>
- </dx-draggable>
onInitialized
Name | Type | Description |
---|---|---|
element |
The UI component's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
component | Draggable |
The UI component's instance. |
- <dx-draggable ...
- (onInitialized)="saveInstance($event)">
- </dx-draggable>
- import { Component } from "@angular/core";
- import Draggable from "devextreme/ui/data_grid";
- // ...
- export class AppComponent {
- draggableInstance: Draggable;
- saveInstance (e) {
- this.draggableInstance = e.component;
- }
- }
See Also
- Get a UI component Instance in Angular
onOptionChanged
Name | Type | Description |
---|---|---|
value | any |
The modified property's new value. |
previousValue | any |
The UI component's previous value. |
name |
The modified property if it belongs to the first level. Otherwise, the first-level property it is nested into. |
|
fullName |
The path to the modified property that includes all parent properties. |
|
element |
The UI component's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
component | Draggable |
The UI component's instance. |
The following example shows how to subscribe to component property changes:
- <dx-draggable ...
- (onOptionChanged)="handlePropertyChange($event)">
- </dx-draggable>
- import { Component } from '@angular/core';
- @Component({
- selector: 'app-root',
- templateUrl: './app.component.html',
- styleUrls: ['./app.component.css']
- })
- export class AppComponent {
- // ...
- handlePropertyChange(e) {
- if(e.name === "changedProperty") {
- // handle the property change here
- }
- }
- }
- import { BrowserModule } from '@angular/platform-browser';
- import { NgModule } from '@angular/core';
- import { AppComponent } from './app.component';
- import { DxDraggableModule } from 'devextreme-angular';
- @NgModule({
- declarations: [
- AppComponent
- ],
- imports: [
- BrowserModule,
- DxDraggableModule
- ],
- providers: [ ],
- bootstrap: [AppComponent]
- })
- export class AppModule { }
rtlEnabled
When this property is set to true, the UI component text flows from right to left, and the layout of elements is reversed. To switch the entire application/site to the right-to-left representation, assign true to the rtlEnabled field of the object passed to the DevExpress.config(config) method.
- DevExpress.config({
- rtlEnabled: true
- });
scrollSensitivity
Specifies the distance in pixels from the edge of viewport at which scrolling should start. Applies only if autoScroll is true.
scrollSpeed
Specifies the scrolling speed when dragging an item beyond the viewport. Applies only if autoScroll is true.
width
This property accepts a value of one of the following types:
Number
The width in pixels.String
A CSS-accepted measurement of width. For example,"55px"
,"20vw"
,"80%"
,"auto"
,"inherit"
.Function (deprecated since v21.2)
Refer to the W0017 warning description for information on how you can migrate to viewport units.
If you have technical questions, please create a support ticket in the DevExpress Support Center.