in src/app/work-items-edit-form.js [366:410]
renderAuthorsAndGroups() {
const selected = toUsers(filter.authors).concat(toGroups(filter.authorGroups));
const placeholder = (selected || []).length
? i18n('Add user or group')
: i18n('All authors');
const toSelectItemShort = it => it && {
key: it.id,
label: it.name,
model: it,
description: it.description
};
const queryUsersAndGroups = this.queryUsersAndGroups;
return (
<div className="ring-form__group">
<TagsInput
tags={(selected || []).map(toSelectItemShort)}
size={TagsInput}
maxPopupHeight={150}
dataSource={getWorkAuthorsOptions}
onAddTag={this.onAddWorkAuthor}
onRemoveTag={this.onRemoveWorkAuthor}
filter={{
fn: () => true // disable client filtering
}}
placeholder={placeholder}
disabled={!this.props.editable}
/>
</div>
);
async function getWorkAuthorsOptions(args) {
const options = await queryUsersAndGroups(args);
if ((selected || []).length) {
options.unshift({
rgItemType: List.ListProps.Type.SEPARATOR
});
options.unshift(WorkItemsEditForm.getAllAuthorsOption());
}
return options;
}
}