Add `&` support for epics autocompletion
This commit is contained in:
parent
3c0ff4ddb9
commit
ffe7c511c2
|
@ -12,7 +12,7 @@ export const defaultAutocompleteConfig = {
|
||||||
members: true,
|
members: true,
|
||||||
issues: true,
|
issues: true,
|
||||||
mergeRequests: true,
|
mergeRequests: true,
|
||||||
epics: false,
|
epics: true,
|
||||||
milestones: true,
|
milestones: true,
|
||||||
labels: true,
|
labels: true,
|
||||||
};
|
};
|
||||||
|
@ -493,6 +493,7 @@ GfmAutoComplete.atTypeMap = {
|
||||||
'@': 'members',
|
'@': 'members',
|
||||||
'#': 'issues',
|
'#': 'issues',
|
||||||
'!': 'mergeRequests',
|
'!': 'mergeRequests',
|
||||||
|
'&': 'epics',
|
||||||
'~': 'labels',
|
'~': 'labels',
|
||||||
'%': 'milestones',
|
'%': 'milestones',
|
||||||
'/': 'commands',
|
'/': 'commands',
|
||||||
|
|
|
@ -9,6 +9,13 @@ export default class GLForm {
|
||||||
this.form = form;
|
this.form = form;
|
||||||
this.textarea = this.form.find('textarea.js-gfm-input');
|
this.textarea = this.form.find('textarea.js-gfm-input');
|
||||||
this.enableGFM = Object.assign({}, GFMConfig.defaultAutocompleteConfig, enableGFM);
|
this.enableGFM = Object.assign({}, GFMConfig.defaultAutocompleteConfig, enableGFM);
|
||||||
|
// Disable autocomplete for keywords which do not have dataSources available
|
||||||
|
const dataSources = (gl.GfmAutoComplete && gl.GfmAutoComplete.dataSources) || {};
|
||||||
|
Object.keys(this.enableGFM).forEach(item => {
|
||||||
|
if (item !== 'emojis') {
|
||||||
|
this.enableGFM[item] = !!dataSources[item];
|
||||||
|
}
|
||||||
|
});
|
||||||
// Before we start, we should clean up any previous data for this form
|
// Before we start, we should clean up any previous data for this form
|
||||||
this.destroy();
|
this.destroy();
|
||||||
// Setup the form
|
// Setup the form
|
||||||
|
|
|
@ -8,6 +8,7 @@ export default () => {
|
||||||
members: false,
|
members: false,
|
||||||
issues: false,
|
issues: false,
|
||||||
mergeRequests: false,
|
mergeRequests: false,
|
||||||
|
epics: false,
|
||||||
milestones: false,
|
milestones: false,
|
||||||
labels: false,
|
labels: false,
|
||||||
});
|
});
|
||||||
|
|
|
@ -8,10 +8,11 @@ export default (initGFM = true) => {
|
||||||
new DueDateSelectors(); // eslint-disable-line no-new
|
new DueDateSelectors(); // eslint-disable-line no-new
|
||||||
// eslint-disable-next-line no-new
|
// eslint-disable-next-line no-new
|
||||||
new GLForm($('.milestone-form'), {
|
new GLForm($('.milestone-form'), {
|
||||||
emojis: initGFM,
|
emojis: true,
|
||||||
members: initGFM,
|
members: initGFM,
|
||||||
issues: initGFM,
|
issues: initGFM,
|
||||||
mergeRequests: initGFM,
|
mergeRequests: initGFM,
|
||||||
|
epics: initGFM,
|
||||||
milestones: initGFM,
|
milestones: initGFM,
|
||||||
labels: initGFM,
|
labels: initGFM,
|
||||||
});
|
});
|
||||||
|
|
|
@ -67,6 +67,7 @@
|
||||||
members: this.enableAutocomplete,
|
members: this.enableAutocomplete,
|
||||||
issues: this.enableAutocomplete,
|
issues: this.enableAutocomplete,
|
||||||
mergeRequests: this.enableAutocomplete,
|
mergeRequests: this.enableAutocomplete,
|
||||||
|
epics: this.enableAutocomplete,
|
||||||
milestones: this.enableAutocomplete,
|
milestones: this.enableAutocomplete,
|
||||||
labels: this.enableAutocomplete,
|
labels: this.enableAutocomplete,
|
||||||
});
|
});
|
||||||
|
|
|
@ -148,6 +148,7 @@ module NotesHelper
|
||||||
members: autocomplete,
|
members: autocomplete,
|
||||||
issues: autocomplete,
|
issues: autocomplete,
|
||||||
mergeRequests: autocomplete,
|
mergeRequests: autocomplete,
|
||||||
|
epics: autocomplete,
|
||||||
milestones: autocomplete,
|
milestones: autocomplete,
|
||||||
labels: autocomplete
|
labels: autocomplete
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue