Templating: Correctly display __text in multi-values variable (#17840)

Fixes #17839: __value is displayed instead of __text when single item is selected
This commit is contained in:
Eduard Sergeev 2019-07-01 17:42:36 +10:00 committed by Torkel Ödegaard
parent 0833f26b43
commit d94bdb930f
2 changed files with 2 additions and 2 deletions

View File

@ -601,7 +601,7 @@ describe('VariableSrv', function(this: any) {
it('sets single value as array if multi choice', async () => {
const [setValueMock, setFromUrl] = setupSetFromUrlTest(ctx, { multi: true });
await setFromUrl('one');
expect(setValueMock).toHaveBeenCalledWith({ text: 'one', value: ['one'] });
expect(setValueMock).toHaveBeenCalledWith({ text: ['one'], value: ['one'] });
});
it('sets both text and value as array if multiple values in url', async () => {

View File

@ -261,7 +261,7 @@ export class VariableSrv {
if (variable.multi) {
// In case variable is multiple choice, we cast to array to preserve the same behaviour as when selecting
// the option directly, which will return even single value in an array.
option = { ...option, value: _.castArray(option.value) };
option = { text: _.castArray(option.text), value: _.castArray(option.value) };
}
return variable.setValue(option);