so mamy things...

This commit is contained in:
didier amyot committed 2015-07-05 17:17:01 -04:00
1 parent f7a8d416c1
commit 78d50d9a6d
24 files changed
+516 -173

No files matched your search

+64
View File
@@ -0,0 +1,64 @@
template = """
<div class="row rat-input">
<div class="row" ng-show="!edit" >
<div class="columns large-12" style="text-align: center;">
<span class="fraction-box" ng-click="enableEdit()">
<span ng-bind="nominator"></span> &frasl; <span ng-bind="denominator" ></span>
<i class="fa fa-pencil-square-o" ng-show="!ngDisabled"></i>
</span>
</div>
</div>
<div ng-show="edit" class="edit">
<form ng-submit="edit=false">
<div class="large-12 columns" style="text-align: center;">
<input ng-model="nominator" type="text" ng-change="changeModel()" ng-disabled="ngDisabled">
<span style="text-align: center;">&frasl;<span>
<input ng-model="denominator" type="text" ng-change="changeModel()" ng-disabled="ngDisabled">
<i class="fa fa-check" ng-click="edit=false"></i>
<input type="submit" style="display:none;">
</div>
</form>
</div>
</div>
"""
define ["app", "angularAMD", "lodash", "services/rationals"], (app, angularAMD, _, rationals) ->
angularAMD.directive "ratInput", () ->
directive =
restrict: 'E',
template: template
scope:
ngModel: "="
ngDisabled: "="
controller: [ '$scope', "rationals", ($scope, rationals) ->
$scope.getNominator = ()->
if _.contains($scope.ngModel, "/")
return Number($scope.ngModel.substr(0, $scope.ngModel.indexOf("/")))
Number($scope.ngModel)
$scope.getDenominator = () ->
if _.contains($scope.ngModel, "/")
return Number($scope.ngModel.substr($scope.ngModel.indexOf("/") + 1))
1
$scope.changeModel = ()->
$scope.ngModel = rationals.newRat($scope.nominator, $scope.denominator)
$scope.enableEdit = () ->
if not $scope.ngDisabled
$scope.edit = true
$scope.init = () ->
$scope.nominator = rationals.getNominator($scope.ngModel)
$scope.denominator = $scope.getDenominator()
$scope.$watch 'ngModel', () ->
$scope.init()
$scope.init()
]
return directive