define [
	"base"
], (App) ->
	App.directive "reviewPanelCollapseHeight", ($parse) ->
		return {
			restrict: "A",
			link: (scope, element, attrs) ->
				scope.$watch (() -> $parse(attrs.reviewPanelCollapseHeight)(scope)), (shouldCollapse) ->
					neededHeight = element.prop("scrollHeight")
					if neededHeight > 0
						if shouldCollapse
							element.animate { height: 0 }, 150
						else
							element.animate { height: neededHeight }, 150
					else
						if shouldCollapse
							element.height 0
		}