diff --git a/app/assets/javascripts/content_editor/services/autocomplete_helper.js b/app/assets/javascripts/content_editor/services/autocomplete_helper.js index c5e29e1cd3f949bd7a0da02f24239e890f8d0fe7..4bafe486fef93d0562b3f97c6ecd8b83b967ef28 100644 --- a/app/assets/javascripts/content_editor/services/autocomplete_helper.js +++ b/app/assets/javascripts/content_editor/services/autocomplete_helper.js @@ -1,4 +1,4 @@ -import { identity, memoize, throttle } from 'lodash'; +import { identity, memoize, throttle, isEmpty } from 'lodash'; import { initEmojiMap, getAllEmoji, searchEmoji } from '~/emoji'; import { parsePikadayDate } from '~/lib/utils/datetime_utility'; import axios from '~/lib/utils/axios_utils'; @@ -118,7 +118,10 @@ export function createDataSource({ export default class AutocompleteHelper { constructor({ dataSourceUrls, sidebarMediator }) { - this.dataSourceUrls = dataSourceUrls; + this.dataSourceUrls = !isEmpty(dataSourceUrls) + ? dataSourceUrls + : gl.GfmAutoComplete?.dataSources; + this.sidebarMediator = sidebarMediator; initEmojiMap(); diff --git a/spec/frontend/content_editor/services/autocomplete_helper_spec.js b/spec/frontend/content_editor/services/autocomplete_helper_spec.js index 39b96798184953a8089dea1a1ecdad32f897c786..abbc60c228861535f8f958d43770bbcdda52725b 100644 --- a/spec/frontend/content_editor/services/autocomplete_helper_spec.js +++ b/spec/frontend/content_editor/services/autocomplete_helper_spec.js @@ -199,4 +199,17 @@ describe('AutocompleteHelper', () => { ).toMatchSnapshot(); }, ); + + it('loads default datasources if not passed', () => { + gl.GfmAutoComplete = { + dataSources: { + members: '/gitlab-org/gitlab-test/-/autocomplete_sources/members', + }, + }; + autocompleteHelper = new AutocompleteHelper({}); + + expect(autocompleteHelper.dataSourceUrls.members).toBe( + '/gitlab-org/gitlab-test/-/autocomplete_sources/members', + ); + }); });