/* eslint-disable max-len, no-return-assign, */ // TODO: This file was created by bulk-decaffeinate. // Fix any style issues and re-enable lint. /* * decaffeinate suggestions: * DS102: Remove unnecessary code created because of implicit returns * DS207: Consider shorter variations of null checks * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ import App from '../../../base' export default App.directive('reviewPanelToggle', () => ({ restrict: 'E', scope: { onToggle: '&', ngModel: '=', valWhenUndefined: '=?', isDisabled: '=?', onDisabledClick: '&?', description: '@', }, link(scope) { if (scope.disabled == null) { scope.disabled = false } scope.onChange = (...args) => scope.onToggle({ isOn: scope.localModel }) scope.handleClick = function () { if (scope.disabled && scope.onDisabledClick != null) { return scope.onDisabledClick() } } scope.localModel = scope.ngModel return scope.$watch('ngModel', function (value) { if (scope.valWhenUndefined != null && value == null) { value = scope.valWhenUndefined } return (scope.localModel = value) }) }, template: `\
{{description}}
\ `, }))