-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcatalog.js
40 lines (34 loc) · 1.38 KB
/
catalog.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
'use strict';
var $ = require('jquery');
var _ = require('underscore');
var Backbone = require('backbone');
Backbone.$ = $;
global.jQuery = $; // export for bootstrap.js
var Router = require('./stores/router');
var CategoriesStore = require('./stores/categories');
var ProductsStore = require('./stores/products');
var CategoriesView = require('./views/categories');
var ProductsView = require('./views/products');
var PaginationView = require('./views/pagination');
$(function() {
var categoriesStore = new CategoriesStore();
var productsStore = new ProductsStore();
var router = new Router();
var categoriesView = new CategoriesView({
collection: categoriesStore.categories,
categoryTemplate: _.template($('#categoryTemplate').html())
});
$('#categoriesContainer').append(categoriesView.render().el);
var productsView = new ProductsView({
collection: productsStore.products,
productTemplate: _.template($('#productTemplate').html())
});
$('#productsContainer').append(productsView.render().el);
var paginationView = new PaginationView({
collection: productsStore.products,
pageTemplate: _.template($('#pageTemplate').html())
});
$('#productsContainer').append(paginationView.render().el);
Backbone.history.start({pushState: true});
router.navigate(Backbone.history.fragment, {trigger: true});
});