[DEV-198] Change by id order filter (#1108)
* Change by id order in tag selector and tag filter * Change by id order in departments filter * Change by id order in owner filter * Fix requested changes
This commit is contained in:
parent
8b4b73402e
commit
bf7c1ba8f9
|
@ -179,9 +179,7 @@ class TicketQueryFilters extends React.Component {
|
|||
|
||||
addTag(tag) {
|
||||
const { formState } = this.props;
|
||||
let selectedTagsId = formState.tags.concat(this.tagsNametoTagsId(this.getSelectedTagsName([tag])));
|
||||
|
||||
this.onChangeFormState({...formState, tags: selectedTagsId});
|
||||
this.onChangeFormState({...formState, tags: [...formState.tags, tag]});
|
||||
}
|
||||
|
||||
autorsComparer(autorList, autorSelectedList) {
|
||||
|
@ -212,8 +210,10 @@ class TicketQueryFilters extends React.Component {
|
|||
let selectedDepartments = [];
|
||||
|
||||
if(selectedDepartmentsId !== undefined) {
|
||||
let departments = this.getDepartmentsItems();
|
||||
selectedDepartments = departments.filter(item => _.includes(selectedDepartmentsId, item.id));
|
||||
selectedDepartments = selectedDepartmentsId.map(
|
||||
(departmentId) => this.getDepartmentsItems().find(_department => (_department.id === departmentId))
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
return selectedDepartments;
|
||||
|
@ -221,9 +221,11 @@ class TicketQueryFilters extends React.Component {
|
|||
|
||||
getSelectedStaffs(selectedStaffsId) {
|
||||
let selectedStaffs = [];
|
||||
|
||||
if(selectedStaffsId !== undefined) {
|
||||
let staffs = this.getStaffList();
|
||||
selectedStaffs = staffs.filter(staff => _.includes(selectedStaffsId, staff.id));
|
||||
selectedStaffs = selectedStaffsId.map(
|
||||
(staffId) => this.getStaffList().find(_staff => (_staff.id === staffId))
|
||||
);
|
||||
}
|
||||
|
||||
return selectedStaffs;
|
||||
|
@ -233,9 +235,9 @@ class TicketQueryFilters extends React.Component {
|
|||
let selectedTagsName = [];
|
||||
|
||||
if(selectedTagsId !== undefined) {
|
||||
let tagList = this.getTags();
|
||||
let selectedTags = tagList.filter(item => _.includes(selectedTagsId, item.id));
|
||||
selectedTagsName = selectedTags.map(tag => tag.name);
|
||||
selectedTagsName = selectedTagsId.map(
|
||||
(tagId) => (this.getTags().find(_tag => (_tag.id === tagId)) || {}).name
|
||||
);
|
||||
}
|
||||
|
||||
return selectedTagsName;
|
||||
|
@ -312,17 +314,18 @@ class TicketQueryFilters extends React.Component {
|
|||
|
||||
removeTag(tag) {
|
||||
const { formState } = this.props;
|
||||
let tagListName = formState.tags;
|
||||
let newTagList = tagListName.filter(item => item !== tag);
|
||||
let selectedTags = this.tagsNametoTagsId(this.getSelectedTagsName(newTagList));
|
||||
|
||||
this.onChangeFormState({...formState, tags: selectedTags});
|
||||
this.onChangeFormState({...formState, tags: formState.tags.filter(item => item !== tag)});
|
||||
}
|
||||
|
||||
tagsNametoTagsId(selectedTagsName) {
|
||||
let tagList = this.getTags();
|
||||
let selectedTags = tagList.filter(item => _.includes(selectedTagsName, item.name));
|
||||
let selectedTagsId = selectedTags.map(tag => tag.id);
|
||||
let selectedTagsId = [];
|
||||
|
||||
if (selectedTagsName != undefined) {
|
||||
selectedTagsId = selectedTagsName.map(
|
||||
(tagName) => (this.getTags().find(_tag => (_tag.name === tagName)) || {}).id
|
||||
);
|
||||
}
|
||||
|
||||
return selectedTagsId;
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ class TagSelector extends React.Component {
|
|||
|
||||
render() {
|
||||
const items = this.props.items.map(tag => ({...tag, content: this.renderTagOption(tag)}));
|
||||
const values = items.filter(item => _.includes(this.props.values, item.name));
|
||||
const values = this.props.values.map((tagName) => items.find(_tag => (_tag.name === tagName)));
|
||||
|
||||
return (
|
||||
<div className="tag-selector">
|
||||
|
|
Loading…
Reference in New Issue