From 215ebdd9e3856fd000e55681dc1ae424788e31d2 Mon Sep 17 00:00:00 2001 From: Mosab Ibrahim Date: Tue, 5 May 2020 16:52:07 +0200 Subject: [PATCH] Working on the search --- src/Models/Component.js | 26 +++++++++++++++ src/{components.js => Models/data.js} | 0 src/components/Master.vue | 46 ++++++++++++++------------- 3 files changed, 50 insertions(+), 22 deletions(-) create mode 100644 src/Models/Component.js rename src/{components.js => Models/data.js} (100%) diff --git a/src/Models/Component.js b/src/Models/Component.js new file mode 100644 index 0000000..d36b997 --- /dev/null +++ b/src/Models/Component.js @@ -0,0 +1,26 @@ +import categories from "./data"; + +export default class Component { + + constructor() { + this.categories = categories; + } + + all() { + return this.categories; + } + + whereCategory(category) { + + if(this.isEmpty(category)) return this.categories; + + let pattern = new RegExp(`^${category}`, 'i'); + + return this.categories.filter(category => category.name.match(pattern)); + } + + isEmpty(string) { + return string.length === 0; + } + +} \ No newline at end of file diff --git a/src/components.js b/src/Models/data.js similarity index 100% rename from src/components.js rename to src/Models/data.js diff --git a/src/components/Master.vue b/src/components/Master.vue index ed6d7fe..2465f69 100644 --- a/src/components/Master.vue +++ b/src/components/Master.vue @@ -1,17 +1,25 @@