Skip to content

Commit

Permalink
Merge pull request #8312 from thomasneirynck/fix/8300
Browse files Browse the repository at this point in the history
do not remove selection when clicking refresh fields
  • Loading branch information
thomasneirynck authored Sep 20, 2016
2 parents 3595b5b + 411957c commit 058ddd6
Showing 1 changed file with 24 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,14 @@ uiModules.get('apps/management')
};

$scope.refreshFieldList = function () {
fetchFieldList().then(updateFieldList);
const timeField = index.timeField;
fetchFieldList().then(function (results) {
if (timeField) {
updateFieldListAndSetTimeField(results, timeField.name);
} else {
updateFieldList(results);
}
});
};

$scope.createIndexPattern = function () {
Expand Down Expand Up @@ -247,6 +254,22 @@ uiModules.get('apps/management')
}, notify.fatal);
}

function updateFieldListAndSetTimeField(results, timeFieldName) {
updateFieldList(results);

if (!results.dateFields.length) {
return;
}

const matchingTimeField = results.dateFields.find(field => field.name === timeFieldName);
const defaultTimeField = results.dateFields[0];

//assign the field from the results-list
//angular recreates a new timefield instance, each time the list is refreshed.
//This ensures the selected field matches one of the instances in the list.
index.timeField = matchingTimeField ? matchingTimeField : defaultTimeField;
}

function updateFieldList(results) {
index.fetchFieldsError = results.fetchFieldsError;
index.dateFields = results.dateFields;
Expand Down

0 comments on commit 058ddd6

Please sign in to comment.