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