(name: GridStackEvent | string, callback: GridStackEventHandlerCallback)
| 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 |
no outgoing calls
no test coverage detected