'use strict'; /** * @ngdoc directive * @name passmanApp.directive:passwordGen * @description * # passwordGen */ angular.module('passmanApp') .directive('credentialField', ['$timeout', function ($timeout) { return { scope: { value: '=value', secret: '=secret' }, restrict: 'A', replace: 'true', template: "" + '' + '
' + '*' + '{{value}}' + '
' + '
' + '
' + '
' + '
', link: function (scope, elem, attrs, modelCtrl) { scope.$watch("value", function () { if (scope.secret) { scope.valueVisible = false; } }); if (!scope.toggle) { if (scope.secret) { scope.toggle = true; } } scope.copy_msg = 'Copy to clipboard'; var timer; scope.onSuccess = function () { scope.copy_msg = 'Copied to clipboard!'; $timeout.cancel(timer); timer = $timeout(function () { scope.copy_msg = 'Copy to clipboard'; }, 5000) } scope.valueVisible = true; scope.toggleVisibility = function () { scope.valueVisible = !scope.valueVisible; }; } }; }]);