Skip to content

Instantly share code, notes, and snippets.

@danmo
Created April 6, 2016 12:40
Show Gist options
  • Save danmo/020cc4ad33b87929b021e5c193a3e25c to your computer and use it in GitHub Desktop.
Save danmo/020cc4ad33b87929b021e5c193a3e25c to your computer and use it in GitHub Desktop.
const UiSelectDisableBackspaceClearDirective = () => {
return {
restrict: 'A',
require: 'uiSelect',
link: ($scope, $element, attrs, uiSelectCtrl) => {
const shouldDisableBackspaceClear = $scope.$eval(attrs['uiSelectDisableBackspaceClear']);
if(!shouldDisableBackspaceClear) {
return;
}
uiSelectCtrl.focusser.keydown((event) => {
const backspaceKeyPressed = event.keyCode === 8;
if (backspaceKeyPressed) {
event.stopImmediatePropagation();
}
});
const eventListeners = $._data(uiSelectCtrl.focusser[0], 'events');
eventListeners.keydown.unshift(eventListeners.keydown.pop());
},
};
};
UiSelectDisableBackspaceClearDirective.$inject = [];
export default UiSelectDisableBackspaceClearDirective;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment