summaryrefslogtreecommitdiff
path: root/public/assets/js/lib
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/js/lib')
-rw-r--r--public/assets/js/lib/HeaderView.js31
-rw-r--r--public/assets/js/lib/MenuView.js16
-rw-r--r--public/assets/js/lib/NavView.js37
-rw-r--r--public/assets/js/lib/ProjectView.js30
4 files changed, 98 insertions, 16 deletions
diff --git a/public/assets/js/lib/HeaderView.js b/public/assets/js/lib/HeaderView.js
new file mode 100644
index 0000000..b568ecb
--- /dev/null
+++ b/public/assets/js/lib/HeaderView.js
@@ -0,0 +1,31 @@
+var HeaderView = View.extend({
+
+ el: "nav",
+
+ events: {
+ "click .index": "toggleNav",
+ },
+
+ initialize: function(){
+ this.$pageNumber = this.$(".page-no")
+ this.$slideNumber = this.$(".slide-no")
+ this.$slideCount = this.$(".slide-count")
+ },
+
+ updateSlideNumber: function(n){
+ this.$slideNumber.html(n + 1)
+ },
+
+ updatePageNumber: function(n){
+ this.$pageNumber.html(n + 1)
+ },
+
+ updateSlideCount: function(n){
+ this.$slideCount.html(n)
+ },
+
+ toggleNav: function(){
+ $('body').toggleClass('navopen');
+ },
+
+})
diff --git a/public/assets/js/lib/MenuView.js b/public/assets/js/lib/MenuView.js
deleted file mode 100644
index 9576757..0000000
--- a/public/assets/js/lib/MenuView.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var MenuView = View.extend({
-
- el: ".menu",
-
- events: {
- "click li": "click",
- },
-
- initialize: function(){
- },
-
- click: function(e){
- var id = $(e.target).data("id")
- // navigate to page
- },
-}) \ No newline at end of file
diff --git a/public/assets/js/lib/NavView.js b/public/assets/js/lib/NavView.js
index 1edca02..0ed1d4f 100644
--- a/public/assets/js/lib/NavView.js
+++ b/public/assets/js/lib/NavView.js
@@ -1,5 +1,42 @@
var NavView = View.extend({
+ el: ".menu",
+ events: {
+ "click li": "click",
+ },
+
+ initialize: function(){
+ },
+
+ click: function(e){
+ var id = $(e.target).data("id")
+ var view = app.lookup[ id ]
+ this.swap( view )
+ },
+
+ previous: function(){
+ var index = Math.max( app.view.page_number - 1, 0 )
+ var view = app.projects[ index ]
+ this.swap( view )
+ },
+
+ next: function(){
+ var index = Math.min( app.view.page_number + 1, app.projects.length - 1 )
+ var view = app.projects[ index ]
+ this.swap( view )
+ },
+
+ swap: function(view) {
+ if (! view || app.view == view || app.view.showing) {
+ return
+ }
+
+ console.log(view.page_number, view.project_id)
+ app.view.hide()
+ view.show()
+ app.view = view
+ },
+
}) \ No newline at end of file
diff --git a/public/assets/js/lib/ProjectView.js b/public/assets/js/lib/ProjectView.js
index f5e47bd..02d7d4e 100644
--- a/public/assets/js/lib/ProjectView.js
+++ b/public/assets/js/lib/ProjectView.js
@@ -1,17 +1,47 @@
var ProjectView = View.extend({
events: {
+ "click": "next",
+ "click .page-up": "previous",
+ "click .page-down": "next",
},
initialize: function(opt){
this.gallery = new GalleryView ()
this.project_id = this.$el.data("id")
+ this.page_number = opt.page_number
+ console.log("INIT", this.project_id)
+ $("<div>").addClass("page-up").insertBefore( this.$(".flickity-viewport") )
+ $("<div>").addClass("page-down").insertAfter( this.$(".flickity-viewport") )
},
show: function(){
+ app.header.updatePageNumber( this.page_number )
+ app.header.updateSlideNumber( 0 )
+ app.header.updateSlideCount( 1 )
+ $('body').removeClass('navopen')
+ this.$el.removeClass("hidden")
+
+ this.showing = true
+ addClassForPeriod( this.el, "showing", 200, function(){
+ this.showing = false
+ }.bind(this) )
},
hide: function(){
+ addClassForPeriod( this.el, "hiding", 200, function(){
+ this.$el.addClass("hidden")
+ }.bind(this) )
+ },
+
+ previous: function(e){
+ e.stopPropagation()
+ app.nav.previous()
+ },
+
+ next: function(e){
+ e.stopPropagation()
+ app.nav.next()
},
})