From b9f124dbed89fe01919fbca06111591c182744f6 Mon Sep 17 00:00:00 2001
From: Stefan Giehl <stefan@piwik.org>
Date: Tue, 21 Mar 2017 23:50:15 +0100
Subject: [PATCH] Show human readable value for default value(s) of a setting
 (#11501)

* show human readable value for default values

* update screenshots
---
 .../form-field/form-field.directive.html      |   2 +-
 .../form-field/form-field.directive.js        |  27 +++++++++++++++++-
 .../MeasurableManager_add_measurable_view.png | Bin 131 -> 131 bytes
 ...IntegrationTest_admin_settings_general.png | Bin 131 -> 131 bytes
 4 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.html b/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.html
index 7b2ce74430..1fca1b63fe 100644
--- a/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.html
+++ b/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.html
@@ -21,7 +21,7 @@
             <span ng-show="formField.defaultValue && formField.uiControl != 'checkbox' && formField.uiControl != 'radio'">
                 <br />
                 {{ 'General_Default'|translate }}:
-                <span>{{formField.defaultValue|limitTo:50}}</span>
+                <span>{{formField.defaultValuePretty|limitTo:50}}</span>
             </span>
         </div>
     </div>
diff --git a/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js b/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js
index f3d9680819..821404e9e2 100644
--- a/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js
+++ b/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js
@@ -244,11 +244,34 @@
                     return field.availableValues;
                 }
 
+                function formatPrettyDefaultValue(defaultValue, availableOptions) {
+
+                    if (!angular.isArray(availableOptions)) {
+                        return defaultValue;
+                    }
+
+                    var prettyValues = [];
+
+                    if (!angular.isArray(defaultValue)) {
+                        defaultValue = [defaultValue];
+                    }
+
+                    angular.forEach(availableOptions, function (value, key) {
+                        if (defaultValue.indexOf(value.key) !== -1) {
+                            prettyValues.push(value.value);
+                        }
+                    });
+
+                    return prettyValues.join(', ');
+                }
+
                 return function (scope, element, attrs) {
                     var field = scope.piwikFormField;
+                    var defaultValue = field.defaultValue;
+
 
                     if (angular.isArray(field.defaultValue)) {
-                        field.defaultValue = field.defaultValue.join(',');
+                        field.defaultValue = defaultValue.join(',');
                     }
 
                     if (field.type === 'boolean') {
@@ -263,6 +286,8 @@
                     // availableValues and in the watch change availableValues could trigger lots of more watch events
                     field.availableOptions = formatAvailableValues(field);
 
+                    field.defaultValuePretty = formatPrettyDefaultValue(defaultValue, field.availableOptions);
+
                     field.showField = true;
 
                     var inlineHelpNode;
diff --git a/tests/UI/expected-screenshots/MeasurableManager_add_measurable_view.png b/tests/UI/expected-screenshots/MeasurableManager_add_measurable_view.png
index fa3726eebaf6a369f70feb7bbba5a14d8e1509b0..e71e879402f3a9488981de4a8012bd83b5eee5df 100644
GIT binary patch
delta 84
zcmV~$u@QhE3<c1mWeP_~LP&53hX8)Kv$nHk0Y~<|op$={>dm~>0fbJc*&WfHsnk;p
eb&wQsmBpRgG7wa!FkDRqM8WyF-#Ap<tmGfud=^vy

delta 84
zcmV~$yA6Oa3<W^ZW(r0yFa9J$Fhq!LiJFc!3otTwYg^l=XG%3r(bkN6zXrw}Kngj5
ey1E7BbcJAa60J-v9C9Ed$t=oqzp*n|l*<prVHQ9D

diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_admin_settings_general.png b/tests/UI/expected-screenshots/UIIntegrationTest_admin_settings_general.png
index 83a4b8ac44414d6f0ae1bb7f9763dc3aa7cec6e9..c13ddb72b90a6fc73c82ceaa3719aa6b07cb3b5d 100644
GIT binary patch
delta 84
zcmWN^y%B&Q3<l7nWeP`tB>ZFuhxka~&f3nF1sqvl_jcIfttXOC1{luXGmMOsM2BTt
fc`D4ErKLI0csUb9r4#*yV&xL=>zPL_%&o)^Bzzb8

delta 84
zcmWN{u@QhE3<c1mWeP_ignY;l4gr$fS=-sNfFn!sy0^j#A5K+~RN<|2XM_3hK^Ijb
fDZRp`a-$?UZ{P%GL5BLA`?_d+?$-_o7t;6xydo9t

-- 
GitLab