class YAxisModel extends AngularLinkModel
@inject('$parse') initialize: -> @parent = @$controller.compact()[0] @options = @parent.options @parent._yAxis = @ @axis = d3.select(@$element[0]) @label = @$parse @$attrs.mrD3Label @domain = @$parse @$attrs.mrD3Domain @$scope.$watchCollection @domain, @adjustAxis.bind(@) @$scope.$watch @label, @adjustAxis.bind(@) @appendLabel() @adjustAxis(true) adjustAxis: (newVal,oldVal) -> return if newVal == oldVal @parent.yAxis.domain(@domain(@$scope)) if @domain(@$scope) @axis.call(d3.axisLeft(@parent.yAxis)) @labelEl.text(@label(@$scope)) if @label(@$scope) @parent.adjustBars() @adjustLabel() appendLabel: -> @labelEl = @parent.holder.append('text') .attr("transform", "rotate(-90)") .attr("dy", "1em") .style("text-anchor", "middle") @adjustLabel() adjustLabel: -> @labelEl.attr("y", - (@options.margins.left + 30)/2) .attr("x",0 - (@parent.height() / 2)) @register(MaterialRaingular.d3.Directives.MrD3YAxis)