diff --git a/src/app/component/angularjs-dropdown-multiselect.controller.js b/src/app/component/angularjs-dropdown-multiselect.controller.js index e837cc99..18466b54 100644 --- a/src/app/component/angularjs-dropdown-multiselect.controller.js +++ b/src/app/component/angularjs-dropdown-multiselect.controller.js @@ -55,6 +55,7 @@ export default function dropdownMultiselectController( }; const settings = { + id: undefined, dynamicTitle: true, scrollable: false, scrollableHeight: '300px', @@ -153,7 +154,7 @@ export default function dropdownMultiselectController( orderFunction, }); - $scope.externalEvents.onInitDone(); + $scope.externalEvents.onInitDone(settings.id); function focusFirstOption() { setTimeout(() => { @@ -206,7 +207,7 @@ export default function dropdownMultiselectController( $scope.setSelectedItem(item, false, false); } }); - $scope.externalEvents.onSelectionChanged(); + $scope.externalEvents.onSelectionChanged(settings.id); } function getGroupLabel(groupValue) { @@ -301,24 +302,24 @@ export default function dropdownMultiselectController( function selectAll() { $scope.deselectAll(true); - $scope.externalEvents.onSelectAll(); + $scope.externalEvents.onSelectAll(settings.id); const searchResult = $filter('filter')($scope.options, $scope.getFilter($scope.input.searchFilter)); angular.forEach(searchResult, (value) => { $scope.setSelectedItem(value, true, false); }); - $scope.externalEvents.onSelectionChanged(); + $scope.externalEvents.onSelectionChanged(settings.id); $scope.selectedGroup = null; } function deselectAll(dontSendEvent = false) { if (!dontSendEvent) { - $scope.externalEvents.onDeselectAll(); + $scope.externalEvents.onDeselectAll(settings.id); } $scope.selectedModel.splice(0, $scope.selectedModel.length); if (!dontSendEvent) { - $scope.externalEvents.onSelectionChanged(); + $scope.externalEvents.onSelectionChanged(settings.id); } $scope.selectedGroup = null; } @@ -336,33 +337,33 @@ export default function dropdownMultiselectController( if (!dontRemove && exists) { $scope.selectedModel.splice(indexOfOption, 1); - $scope.externalEvents.onItemDeselect(option); + $scope.externalEvents.onItemDeselect(option, settings.id); if ($scope.settings.closeOnDeselect) { $scope.close(); } } else if (!exists && ($scope.settings.selectionLimit === 0 || $scope.selectedModel.length < $scope.settings.selectionLimit)) { $scope.selectedModel.push(option); if (fireSelectionChange) { - $scope.externalEvents.onItemSelect(option); + $scope.externalEvents.onItemSelect(option, settings.id); } if ($scope.settings.closeOnSelect) { $scope.close(); } if ($scope.settings.selectionLimit > 0 && $scope.selectedModel.length === $scope.settings.selectionLimit) { - $scope.externalEvents.onMaxSelectionReached(); + $scope.externalEvents.onMaxSelectionReached(settings.id); } } else if ($scope.settings.selectionLimit === 1 && !exists && $scope.selectedModel.length === $scope.settings.selectionLimit) { $scope.selectedModel.splice(0, 1); $scope.selectedModel.push(option); if (fireSelectionChange) { - $scope.externalEvents.onItemSelect(option); + $scope.externalEvents.onItemSelect(option, settings.id); } if ($scope.settings.closeOnSelect) { $scope.close(); } } if (fireSelectionChange) { - $scope.externalEvents.onSelectionChanged(); + $scope.externalEvents.onSelectionChanged(settings.id); } $scope.selectedGroup = null; } diff --git a/src/app/main/main.template.html b/src/app/main/main.template.html index 2e939cd0..091fe891 100644 --- a/src/app/main/main.template.html +++ b/src/app/main/main.template.html @@ -1184,6 +1184,12 @@