|
324 | 324 | eventsService.setSelectedTab(groupId); |
325 | 325 | }; |
326 | 326 |
|
| 327 | + $scope.pasteEventsAtIndex = (index, above) => { |
| 328 | + if ($scope.hasCopiedEvents()) { |
| 329 | + if (!above) { |
| 330 | + index++; |
| 331 | + } |
| 332 | + |
| 333 | + const groupId = eventsService.getSelectedTab(); |
| 334 | + const copiedEvents = objectCopyHelper.getCopiedObject("events"); |
| 335 | + |
| 336 | + if (groupId === "mainevents") { |
| 337 | + eventsService.getMainEvents().splice(index, 0, ...copiedEvents); |
| 338 | + eventsService.saveMainEvents(); |
| 339 | + } else { |
| 340 | + const group = eventsService.getEventGroup(groupId); |
| 341 | + group.events.splice(index, 0, ...copiedEvents); |
| 342 | + eventsService.saveGroup(group); |
| 343 | + } |
| 344 | + } |
| 345 | + }; |
| 346 | + |
327 | 347 | $scope.eventMenuOptions = function(event) { |
328 | 348 |
|
329 | 349 | const currentGroupId = eventsService.getSelectedTab(); |
|
363 | 383 | $scope.showDeleteEventModal(event.id, event.name ? event.name : 'Unnamed'); |
364 | 384 | } |
365 | 385 | }, |
| 386 | + { |
| 387 | + text: "Paste...", |
| 388 | + hasTopDivider: true, |
| 389 | + enabled: function () { |
| 390 | + return $scope.hasCopiedEvents(); |
| 391 | + }, |
| 392 | + children: [ |
| 393 | + { |
| 394 | + html: `<a href><span class="iconify mr-4" data-icon="mdi:content-paste"></span> Before</a>`, |
| 395 | + click: function ($itemScope) { |
| 396 | + const $index = $itemScope.$index; |
| 397 | + if ($scope.hasCopiedEvents()) { |
| 398 | + $scope.pasteEventsAtIndex($index, true); |
| 399 | + } |
| 400 | + } |
| 401 | + }, |
| 402 | + { |
| 403 | + html: `<a href><span class="iconify mr-4" data-icon="mdi:content-paste"></span> After</a>`, |
| 404 | + click: function ($itemScope) { |
| 405 | + const $index = $itemScope.$index; |
| 406 | + if ($scope.hasCopiedEvents()) { |
| 407 | + $scope.pasteEventsAtIndex($index, false); |
| 408 | + } |
| 409 | + } |
| 410 | + } |
| 411 | + ] |
| 412 | + }, |
366 | 413 | { |
367 | 414 | text: "Transfer to...", |
368 | 415 | children: availableGroups.map((g) => { |
|
0 commit comments