From df6365f6716c8f39376299ccf69985e0111a6e52 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 29 Mar 2016 15:07:28 -0400 Subject: permalinking --- public/assets/js/lib/ProjectView.js | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'public/assets/js/lib/ProjectView.js') diff --git a/public/assets/js/lib/ProjectView.js b/public/assets/js/lib/ProjectView.js index 02d7d4e..e735c81 100644 --- a/public/assets/js/lib/ProjectView.js +++ b/public/assets/js/lib/ProjectView.js @@ -1,13 +1,13 @@ var ProjectView = View.extend({ events: { - "click": "next", + "click": "nextOrCloseNav", "click .page-up": "previous", "click .page-down": "next", }, initialize: function(opt){ - this.gallery = new GalleryView () + // this.gallery = new GalleryView () this.project_id = this.$el.data("id") this.page_number = opt.page_number console.log("INIT", this.project_id) @@ -21,6 +21,13 @@ var ProjectView = View.extend({ app.header.updateSlideCount( 1 ) $('body').removeClass('navopen') this.$el.removeClass("hidden") + + if (this.project_id == "cover") { + app.router.pushState("/") + } + else { + app.router.pushState("/project/" + this.project_id) + } this.showing = true addClassForPeriod( this.el, "showing", 200, function(){ @@ -39,9 +46,14 @@ var ProjectView = View.extend({ app.nav.previous() }, - next: function(e){ + nextOrCloseNav: function(e){ e.stopPropagation() - app.nav.next() + if ($('body').hasClass('navopen')) { + $('body').removeClass('navopen') + } + else { + app.nav.next() + } }, }) -- cgit v1.2.3-70-g09d2 From 59ecd94fc9e3d8e8b1f86156231eef4d1b47c196 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 29 Mar 2016 15:29:58 -0400 Subject: up/down class --- public/assets/js/app.js | 7 +++++++ public/assets/js/lib/NavView.js | 11 +++++++---- public/assets/js/lib/ProjectView.js | 4 ++-- templates/index.liquid | 6 +++--- 4 files changed, 19 insertions(+), 9 deletions(-) (limited to 'public/assets/js/lib/ProjectView.js') diff --git a/public/assets/js/app.js b/public/assets/js/app.js index bea8f27..6c20281 100644 --- a/public/assets/js/app.js +++ b/public/assets/js/app.js @@ -1,5 +1,7 @@ var app = (function() { var app = {} + + app.navigation_delay = 200 app.iscroll_options = { mouseWheel: true, @@ -70,9 +72,13 @@ var app = (function() { $(".cell, .next, .previous").css({ 'display': 'none' }) $('body').addClass('resizing') debounce(function() { + $(".item").addClass("hidden") + setTimeout(function(){ $(".cell, .next, .previous").css({ 'height': ($(".top").height() + 'px'), 'display': 'inline-block' }) + app.view.$el.removeClass("hidden") $('.top').flickity('resize') $('body').removeClass('resizing') + }, 20) }, 400) } @@ -81,6 +87,7 @@ var app = (function() { })() $(".cell, .next").css({ 'height': ($(".top").height() + 'px') }) +$(".item").addClass("hidden") $('.top').flickity(app.flickity_options).on( 'cellSelect', function(e) { var gallery = $(e.target).data('flickity') diff --git a/public/assets/js/lib/NavView.js b/public/assets/js/lib/NavView.js index f3dd97d..ae60bdf 100644 --- a/public/assets/js/lib/NavView.js +++ b/public/assets/js/lib/NavView.js @@ -16,22 +16,22 @@ var NavView = View.extend({ pick: function(id){ var view = app.lookup[ id ] - this.swap( view ) + this.swap( view, "down" ) }, previous: function(){ var index = Math.max( app.view.page_number - 1, 0 ) var view = app.projects[ index ] - this.swap( view ) + this.swap( view, "up" ) }, next: function(){ var index = Math.min( app.view.page_number + 1, app.projects.length - 1 ) var view = app.projects[ index ] - this.swap( view ) + this.swap( view, "down" ) }, - swap: function(view) { + swap: function(view, direction) { if (view && ! app.view) { app.view = view app.view.show() @@ -42,7 +42,10 @@ var NavView = View.extend({ } console.log(view.page_number, view.project_id) + direction = direction || "down" + addClassForPeriod( document.body, direction, app.navigation_delay ) + app.view.hide() view.show() app.view = view diff --git a/public/assets/js/lib/ProjectView.js b/public/assets/js/lib/ProjectView.js index e735c81..3bef408 100644 --- a/public/assets/js/lib/ProjectView.js +++ b/public/assets/js/lib/ProjectView.js @@ -30,13 +30,13 @@ var ProjectView = View.extend({ } this.showing = true - addClassForPeriod( this.el, "showing", 200, function(){ + addClassForPeriod( this.el, "showing", app.navigation_delay, function(){ this.showing = false }.bind(this) ) }, hide: function(){ - addClassForPeriod( this.el, "hiding", 200, function(){ + addClassForPeriod( this.el, "hiding", app.navigation_delay, function(){ this.$el.addClass("hidden") }.bind(this) ) }, diff --git a/templates/index.liquid b/templates/index.liquid index 173e988..4cebc42 100644 --- a/templates/index.liquid +++ b/templates/index.liquid @@ -61,7 +61,7 @@
-