Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var delightMeterApp = angular.module('delightMeterApp', []);
- delightMeterApp.directive('delightMeter', function () {
- function link($scope, $element, $attrs) {
- document.getElementById("arc1").setAttribute("d", describeArc(200, 200, 100, -90, -56));
- document.getElementById("arc2").setAttribute("d", describeArc(200, 200, 100, -54, -20));
- document.getElementById("arc3").setAttribute("d", describeArc(200, 200, 100, -18, 16));
- document.getElementById("arc4").setAttribute("d", describeArc(200, 200, 100, 18, 52));
- document.getElementById("arc5").setAttribute("d", describeArc(200, 200, 100, 54, 90));
- function polarToCartesian(centerX, centerY, radius, angleInDegrees) {
- var angleInRadians = (angleInDegrees - 90) * Math.PI / 180.0;
- return {
- x: centerX + (radius * Math.cos(angleInRadians)),
- y: centerY + (radius * Math.sin(angleInRadians))
- };
- }
- function describeArc(x, y, radius, startAngle, endAngle) {
- var start = polarToCartesian(x, y, radius, endAngle);
- var end = polarToCartesian(x, y, radius, startAngle);
- var arcSweep = endAngle - startAngle <= 180 ? "0" : "1";
- var d = [
- "M", start.x, start.y,
- "A", radius, radius, 0, arcSweep, 0, end.x, end.y
- ].join(" ");
- return d;
- }
- }
- function ScoreRotateNeedle(delightScore) {
- console.log(delightScore);
- $('.needleset').css({
- "transform": "rotate(" + delightScore + "deg)",
- "transform-origin": "50% 95%"
- });
- }
- return {
- scope: true,
- restrict: 'E',
- templateUrl: 'svgmeter.html',
- link: link,
- controller: 'delightMeterController'
- };
- });
- delightMeterApp.controller('delightMeterController', function ($scope) {
- $scope.delightScore = 0;
- $scope.rotateNeedle = function () {
- //call ScoreRotateNeedle function here
- }
- });
- <div ng-app="delightMeterApp" ng-controller="delightMeterController">
- <delight-meter ng-model="delightScore"></delight-meter>
- <input id="Text1" type="text" ng-model="delightScore" ng-change="rotateNeedle()" />
- </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement