reviewPanelCollapseHeight.js 1005 B

12345678910111213141516171819202122232425262728293031323334
  1. /* eslint-disable
  2. max-len,
  3. */
  4. // TODO: This file was created by bulk-decaffeinate.
  5. // Fix any style issues and re-enable lint.
  6. /*
  7. * decaffeinate suggestions:
  8. * DS102: Remove unnecessary code created because of implicit returns
  9. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  10. */
  11. import App from '../../../base'
  12. export default App.directive('reviewPanelCollapseHeight', $parse => ({
  13. restrict: 'A',
  14. link(scope, element, attrs) {
  15. return scope.$watch(
  16. () => $parse(attrs.reviewPanelCollapseHeight)(scope),
  17. function (shouldCollapse) {
  18. const neededHeight = element.prop('scrollHeight')
  19. if (neededHeight > 0) {
  20. if (shouldCollapse) {
  21. return element.animate({ height: 0 }, 150)
  22. } else {
  23. return element.animate({ height: neededHeight }, 150)
  24. }
  25. } else {
  26. if (shouldCollapse) {
  27. return element.height(0)
  28. }
  29. }
  30. }
  31. )
  32. },
  33. }))