Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/passman.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrantje <brantje@gmail.com>2016-10-07 13:09:54 +0300
committerbrantje <brantje@gmail.com>2016-10-07 13:09:54 +0300
commit5ddfd200d9fdfe3b4c3534110c209b3cdfe65a9c (patch)
treeeb4fa2603eba54f256396ca0ae75db507cd412c5 /js/app/directives
parentfc9a41d119d0bdbcd41728bb3d7348a037f0978f (diff)
Auto detect urls
Diffstat (limited to 'js/app/directives')
-rw-r--r--js/app/directives/credentialfield.js17
1 files changed, 14 insertions, 3 deletions
diff --git a/js/app/directives/credentialfield.js b/js/app/directives/credentialfield.js
index 02306e7c..1271c9b5 100644
--- a/js/app/directives/credentialfield.js
+++ b/js/app/directives/credentialfield.js
@@ -18,18 +18,29 @@ angular.module('passmanApp')
replace: 'true',
template: "" +
'<span class="credential_field">' +
- '<div class="value">' +
+ '<div class="value" ng-class="{\'ellipsis\': isLink}">' +
'<span ng-repeat="n in [] | range:value.length" ng-if="!valueVisible">*</span>' +
'<span ng-if="valueVisible">{{value}}</span>' +
'</div>' +
'<div class="tools">' +
'<div class="cell" ng-if="toggle" tooltip="\'Toggle visibility\'" ng-click="toggleVisibility()"><i class="fa" ng-class="{\'fa-eye\': !valueVisible, \'fa-eye-slash\': valueVisible }"></i></div>' +
+ '<div class="cell" ng-if="isLink"><a ng-href="{{value}}" target="_blank"><i tooltip="\'Open in new window\'" class="link fa fa-external-link"></i></a></div>' +
'<div class="cell" ngclipboard-success="onSuccess(e);" ngclipboard-error="onError(e);" ngclipboard data-clipboard-text="{{value}}"><i tooltip="copy_msg" class="fa fa-clipboard"></i></div>' +
'</div></span>',
link: function (scope, elem, attrs, modelCtrl) {
+ var expression = /(https?:\/\/(?:www\.|(?!www))[^\s\.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/gi;
+ var regex = new RegExp(expression);
+
scope.$watch("value", function () {
- if (scope.secret) {
- scope.valueVisible = false;
+ if(scope.value) {
+ if (scope.secret) {
+ scope.valueVisible = false;
+ }
+ if (scope.value.match(regex)) {
+ console.log('is link')
+ scope.isLink = true;
+
+ }
}
});
if (!scope.toggle) {