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

Method on

src/gridstack.ts:1320–1346  ·  view source on GitHub ↗
(name: GridStackEvent | string, callback: GridStackEventHandlerCallback)

Source from the content-addressed store, hash-verified

1318 public on(name: 'resizestart' | 'resize' | 'resizestop' | 'dragstart' | 'drag' | 'dragstop', callback: GridStackElementHandler): GridStack
1319 public on(name: string, callback: GridStackEventHandlerCallback): GridStack
1320 public on(name: GridStackEvent | string, callback: GridStackEventHandlerCallback): GridStack {
1321 // check for array of names being passed instead
1322 if (name.indexOf(' ') !== -1) {
1323 const names = name.split(' ') as GridStackEvent[];
1324 names.forEach(name => this.on(name, callback));
1325 return this;
1326 }
1327
1328 // native CustomEvent handlers - cash the generic handlers so we can easily remove
1329 if (name === 'change' || name === 'added' || name === 'removed' || name === 'enable' || name === 'disable') {
1330 const noData = (name === 'enable' || name === 'disable');
1331 if (noData) {
1332 this._gsEventHandler[name] = (event: Event) => (callback as GridStackEventHandler)(event);
1333 } else {
1334 this._gsEventHandler[name] = (event: CustomEvent) => {if (event.detail) (callback as GridStackNodesHandler)(event, event.detail)};
1335 }
1336 this.el.addEventListener(name, this._gsEventHandler[name]);
1337 } else if (name === 'drag' || name === 'dragstart' || name === 'dragstop' || name === 'resizestart' || name === 'resize'
1338 || name === 'resizestop' || name === 'dropped' || name === 'resizecontent') {
1339 // drag&drop stop events NEED to be call them AFTER we update node attributes so handle them ourself.
1340 // do same for start event to make it easier...
1341 this._gsEventHandler[name] = callback;
1342 } else {
1343 console.error('GridStack.on(' + name + ') event not supported');
1344 }
1345 return this;
1346 }
1347
1348 /**
1349 * unsubscribe from the 'on' event GridStackEvent

Callers 9

hookEventsMethod · 0.45
ngAfterViewInitMethod · 0.45
_setupAcceptWidgetMethod · 0.45
_setupRemoveDropMethod · 0.45
gridstack-spec.tsFile · 0.45
addEventsFunction · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected