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