Repositorio del curso CCOM4030 el semestre B91 del proyecto Artesanías con el Instituto de Cultura

category-page.js 985B

123456789101112131415161718192021222324252627282930313233343536
  1. import {PreviewComponent} from './preview-component';
  2. import {ThemeSelect} from './theme-select';
  3. export const CategoryPage = {
  4. props: ['components', 'categories', 'id', 'query'],
  5. template: `
  6. <div class="pv-content">
  7. <h2 class="pv-content__header">{{category.name}} Components</h2>
  8. <theme-select :theme="query.theme" :query="query" />
  9. <div class="pv-components">
  10. <css-component v-for="component in filterComponents()" :component="component" :key="component.id" />
  11. </div>
  12. </div>
  13. `,
  14. components: {
  15. 'css-component': PreviewComponent,
  16. 'theme-select': ThemeSelect
  17. },
  18. computed: {
  19. category() {
  20. return this.categories.filter(category => category.hash === this.id)[0];
  21. }
  22. },
  23. methods: {
  24. filterComponents() {
  25. const category = this.category;
  26. const components = this.components.filter(component => {
  27. return component.category === category.name;
  28. });
  29. return components;
  30. },
  31. }
  32. };