diff --git a/src/legacy/core_plugins/kibana/public/management/sections/index_patterns/edit_index_pattern/edit_index_pattern.tsx b/src/legacy/core_plugins/kibana/public/management/sections/index_patterns/edit_index_pattern/edit_index_pattern.tsx index 49fc6308fdadad..e869ac84c2db26 100644 --- a/src/legacy/core_plugins/kibana/public/management/sections/index_patterns/edit_index_pattern/edit_index_pattern.tsx +++ b/src/legacy/core_plugins/kibana/public/management/sections/index_patterns/edit_index_pattern/edit_index_pattern.tsx @@ -97,12 +97,22 @@ export const EditIndexPattern = withRouter( indexPattern.fields.filter(field => field.type === 'conflict') ); const [defaultIndex, setDefaultIndex] = useState(config.get('defaultIndex')); + const [tags, setTags] = useState([]); useEffect(() => { setFields(indexPattern.getNonScriptedFields()); setConflictedFields(indexPattern.fields.filter(field => field.type === 'conflict')); }, [indexPattern, indexPattern.fields]); + useEffect(() => { + const indexPatternTags = + services.indexPatternManagement.list.getIndexPatternTags( + indexPattern, + indexPattern.id === defaultIndex + ) || []; + setTags(indexPatternTags); + }, [defaultIndex, indexPattern, services.indexPatternManagement.list]); + const setDefaultPattern = useCallback(() => { config.set('defaultIndex', indexPattern.id); setDefaultIndex(indexPattern.id || ''); @@ -158,14 +168,10 @@ export const EditIndexPattern = withRouter( } ); - indexPattern.tags = - services.indexPatternManagement.list.getIndexPatternTags( - indexPattern, - indexPattern.id === defaultIndex - ) || []; - services.docTitle.change(indexPattern.title); + const showTagsSection = Boolean(indexPattern.timeFieldName || (tags && tags.length > 0)); + return ( @@ -177,16 +183,14 @@ export const EditIndexPattern = withRouter( defaultIndex={defaultIndex} /> - {Boolean( - indexPattern.timeFieldName || (indexPattern.tags && indexPattern.tags.length > 0) - ) && ( + {showTagsSection && ( {Boolean(indexPattern.timeFieldName) && ( {timeFilterHeader} )} - {indexPattern.tags.map((tag: any) => ( + {tags.map((tag: any) => ( {tag.name}