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

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsgiehl <stefan@piwik.org>2016-12-05 23:08:15 +0300
committersgiehl <stefan@piwik.org>2016-12-05 23:08:15 +0300
commitc68bdc20c17d51e315f0b88701f3829e8d6108b4 (patch)
tree9e9ca4d9788e42b3a905890a66590e53cc66261a /plugins/CoreHome/angularjs/common/directives
parentcbec998d78318539a206befc88ff9e696541da9a (diff)
show token_auth only on click
Diffstat (limited to 'plugins/CoreHome/angularjs/common/directives')
-rw-r--r--plugins/CoreHome/angularjs/common/directives/show-sensitive-data.js59
1 files changed, 59 insertions, 0 deletions
diff --git a/plugins/CoreHome/angularjs/common/directives/show-sensitive-data.js b/plugins/CoreHome/angularjs/common/directives/show-sensitive-data.js
new file mode 100644
index 0000000000..1744f9e622
--- /dev/null
+++ b/plugins/CoreHome/angularjs/common/directives/show-sensitive-data.js
@@ -0,0 +1,59 @@
+/*!
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+/**
+ * Handles visibility of sensitive data. By default data will be shown replaced with stars (*)
+ * On click on the element the full data will be shown
+ *
+ * Configuration attributes:
+ * data-show-characters number of characters to show in clear text (defaults to 6)
+ * data-click-element-selector selector for element that will show the full data on click (defaults to element)
+ *
+ * Example:
+ * <div piwik-show-sensitive-date="some text"></div>
+ */
+(function () {
+ angular.module('piwikApp.directive').directive('piwikShowSensitiveData', piwikShowSensitiveData);
+
+ function piwikShowSensitiveData(){
+ return {
+ restrict: 'A',
+ link: function(scope, element, attr) {
+
+ var sensitiveData = attr.piwikShowSensitiveData || attr.text();
+ var showCharacters = attr.showCharacters || 6;
+ var clickElement = attr.clickElementSelector || element;
+
+ var protectedData = '';
+ if (showCharacters > 0) {
+ protectedData += sensitiveData.substr(0, showCharacters);
+ }
+ protectedData += sensitiveData.substr(showCharacters).replace(/./g, '*');
+ element.html(protectedData);
+
+ function onClickHandler(event) {
+ element.html(sensitiveData);
+ $(clickElement).css({
+ cursor: ''
+ });
+ $(clickElement).tooltip("destroy");
+ }
+
+ $(clickElement).tooltip({
+ content: _pk_translate('CoreHome_ClickToSeeFullInformation'),
+ items: '*',
+ track: true
+ });
+
+ $(clickElement).one('click', onClickHandler);
+ $(clickElement).css({
+ cursor: 'pointer'
+ })
+ }
+ };
+ }
+})();