|
|
|
@ -377,21 +377,29 @@ export default class EntityGrid extends Vue { |
|
|
|
const searchLower = this.searchTerm.toLowerCase().trim(); |
|
|
|
|
|
|
|
if (this.entityType === "people") { |
|
|
|
this.filteredEntities = (this.entities as Contact[]).filter( |
|
|
|
(contact: Contact) => { |
|
|
|
this.filteredEntities = (this.entities as Contact[]) |
|
|
|
.filter((contact: Contact) => { |
|
|
|
const name = contact.name?.toLowerCase() || ""; |
|
|
|
const did = contact.did.toLowerCase(); |
|
|
|
return name.includes(searchLower) || did.includes(searchLower); |
|
|
|
}, |
|
|
|
); |
|
|
|
}) |
|
|
|
.sort((a: Contact, b: Contact) => { |
|
|
|
// Sort alphabetically by name, falling back to DID if name is missing |
|
|
|
const nameA = (a.name || a.did).toLowerCase(); |
|
|
|
const nameB = (b.name || b.did).toLowerCase(); |
|
|
|
return nameA.localeCompare(nameB); |
|
|
|
}); |
|
|
|
} else { |
|
|
|
this.filteredEntities = (this.entities as PlanData[]).filter( |
|
|
|
(project: PlanData) => { |
|
|
|
this.filteredEntities = (this.entities as PlanData[]) |
|
|
|
.filter((project: PlanData) => { |
|
|
|
const name = project.name?.toLowerCase() || ""; |
|
|
|
const handleId = project.handleId.toLowerCase(); |
|
|
|
return name.includes(searchLower) || handleId.includes(searchLower); |
|
|
|
}, |
|
|
|
); |
|
|
|
}) |
|
|
|
.sort((a: PlanData, b: PlanData) => { |
|
|
|
// Sort alphabetically by name |
|
|
|
return a.name.toLowerCase().localeCompare(b.name.toLowerCase()); |
|
|
|
}); |
|
|
|
} |
|
|
|
} finally { |
|
|
|
this.isSearching = false; |
|
|
|
|