[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:
LautaroCesso 2022-01-12 21:39:00 -03:00 committed by GitHub
parent 8b4b73402e
commit bf7c1ba8f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 18 deletions

View File

@ -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;
}

View File

@ -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">