Resources
@@ -50,7 +47,7 @@
@endif
@@ -393,118 +111,32 @@
const hrefLink = item.hrefLink;
window.location.href = `${hrefLink}#tags`;
},
- get filteredApplications() {
+ filterAndSort(items) {
if (this.search === '') {
- return Object.values(this.applications).sort(sortFn);
+ return Object.values(items).sort(sortFn);
}
- this.applications = Object.values(this.applications);
- return this.applications.filter(item => {
- return item.name?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.fqdn?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.description?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.tags?.some(tag => tag.name.toLowerCase().includes(this.search.toLowerCase()));
+ const searchLower = this.search.toLowerCase();
+ return Object.values(items).filter(item => {
+ return (item.name?.toLowerCase().includes(searchLower) ||
+ item.fqdn?.toLowerCase().includes(searchLower) ||
+ item.description?.toLowerCase().includes(searchLower) ||
+ item.tags?.some(tag => tag.name.toLowerCase().includes(searchLower)));
}).sort(sortFn);
},
- get filteredPostgresqls() {
- if (this.search === '') {
- return Object.values(this.postgresqls).sort(sortFn);
- }
- this.postgresqls = Object.values(this.postgresqls);
- return this.postgresqls.filter(item => {
- return item.name?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.description?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.tags?.some(tag => tag.name.toLowerCase().includes(this.search.toLowerCase()));
- }).sort(sortFn);
- },
- get filteredRedis() {
- if (this.search === '') {
- return Object.values(this.redis).sort(sortFn);
- }
- this.redis = Object.values(this.redis);
- return this.redis.filter(item => {
- return item.name?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.description?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.tags?.some(tag => tag.name.toLowerCase().includes(this.search.toLowerCase()));
- }).sort(sortFn);
- },
- get filteredMongodbs() {
- if (this.search === '') {
- return Object.values(this.mongodbs).sort(sortFn);
- }
- this.mongodbs = Object.values(this.mongodbs);
- return this.mongodbs.filter(item => {
- return item.name?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.description?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.tags?.some(tag => tag.name.toLowerCase().includes(this.search.toLowerCase()));
- }).sort(sortFn);
- },
- get filteredMysqls() {
- if (this.search === '') {
- return Object.values(this.mysqls).sort(sortFn);
- }
- this.mysqls = Object.values(this.mysqls);
- return this.mysqls.filter(item => {
- return item.name?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.description?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.tags?.some(tag => tag.name.toLowerCase().includes(this.search.toLowerCase()));
- }).sort(sortFn);
- },
- get filteredMariadbs() {
- if (this.search === '') {
- return Object.values(this.mariadbs).sort(sortFn);
- }
- this.mariadbs = Object.values(this.mariadbs);
- return this.mariadbs.filter(item => {
- return item.name?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.description?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.tags?.some(tag => tag.name.toLowerCase().includes(this.search.toLowerCase()));
- }).sort(sortFn);
- },
- get filteredKeydbs() {
- if (this.search === '') {
- return Object.values(this.keydbs).sort(sortFn);
- }
- this.keydbs = Object.values(this.keydbs);
- return this.keydbs.filter(item => {
- return item.name?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.description?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.tags?.some(tag => tag.name.toLowerCase().includes(this.search.toLowerCase()));
- }).sort(sortFn);
- },
- get filteredDragonflies() {
- if (this.search === '') {
- return Object.values(this.dragonflies).sort(sortFn);
- }
- this.dragonflies = Object.values(this.dragonflies);
- return this.dragonflies.filter(item => {
- return item.name?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.description?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.tags?.some(tag => tag.name.toLowerCase().includes(this.search.toLowerCase()));
- }).sort(sortFn);
- },
- get filteredClickhouses() {
- if (this.search === '') {
- return Object.values(this.clickhouses).sort(sortFn);
- }
- this.clickhouses = Object.values(this.clickhouses);
- return this.clickhouses.filter(item => {
- return item.name?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.description?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.tags?.some(tag => tag.name.toLowerCase().includes(this.search.toLowerCase()));
- }).sort(sortFn);
- },
- get filteredServices() {
- if (this.search === '') {
- return Object.values(this.services).sort(sortFn);
- }
- this.services = Object.values(this.services);
- return this.services.filter(item => {
- return item.name?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.description?.toLowerCase().includes(this.search.toLowerCase()) ||
- item.tags?.some(tag => tag.name.toLowerCase().includes(this.search.toLowerCase()));
- }).sort(sortFn);
- },
-
+ get allFilteredItems() {
+ return [
+ this.applications,
+ this.postgresqls,
+ this.redis,
+ this.mongodbs,
+ this.mysqls,
+ this.mariadbs,
+ this.keydbs,
+ this.dragonflies,
+ this.clickhouses,
+ this.services
+ ].flatMap((items) => this.filterAndSort(items))
+ }
};
}