MCPcopy Index your code
hub / github.com/gridstack/gridstack.js / draggable

Method draggable

src/dd-gridstack.ts:122–145  ·  view source on GitHub ↗

* Enable/disable/configure dragging for grid elements. * * @param el - Grid item element(s) to configure * @param opts - Drag options or command ('enable', 'disable', 'destroy', 'option', or config object) * @param key - Option key when using 'option' command * @param value - Opt

(el: GridItemHTMLElement, opts: DDOpts, key?: DDKey, value?: DDValue)

Source from the content-addressed store, hash-verified

120 * dd.draggable(element, {handle: '.drag-handle'}); // Configure drag handle
121 */
122 public draggable(el: GridItemHTMLElement, opts: DDOpts, key?: DDKey, value?: DDValue): DDGridStack {
123 this._getDDElements(el, opts).forEach(dEl => {
124 if (opts === 'disable' || opts === 'enable') {
125 dEl.ddDraggable && dEl.ddDraggable[opts](); // can't create DD as it requires options for setupDraggable()
126 } else if (opts === 'destroy') {
127 dEl.ddDraggable && dEl.cleanDraggable();
128 } else if (opts === 'option') {
129 dEl.setupDraggable({ [key]: value });
130 } else {
131 const grid = dEl.el.gridstackNode.grid;
132 dEl.setupDraggable({
133 ...grid.opts.draggable,
134 ...{
135 // containment: (grid.parentGridNode && grid.opts.dragOut === false) ? grid.el.parentElement : (grid.opts.draggable.containment || null),
136 start: opts.start,
137 stop: opts.stop,
138 drag: opts.drag,
139 rtl: opts.rtl,
140 }
141 });
142 }
143 });
144 return this;
145 }
146
147 public dragIn(el: GridStackElement, opts: DDDragOpt): DDGridStack {
148 this._getDDElements(el).forEach(dEl => dEl.setupDraggable(opts));

Callers 2

_removeDDMethod · 0.80
prepareDragDropMethod · 0.80

Calls 3

_getDDElementsMethod · 0.95
cleanDraggableMethod · 0.80
setupDraggableMethod · 0.80

Tested by

no test coverage detected