From 9c65cec2ac3ea68057d201b2f44bf288eec08ca6 Mon Sep 17 00:00:00 2001 From: Zachary Jones Date: Thu, 24 Jan 2013 14:33:37 -0600 Subject: [PATCH] Starting work on Add Assets modal --- static/coffee/screenly-ose.coffee | 19 +++++++++++++++++++ static/js/screenly-ose.js | 2 +- views/index.haml | 12 ++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/static/coffee/screenly-ose.coffee b/static/coffee/screenly-ose.coffee index a48d84e0..4805ce9b 100644 --- a/static/coffee/screenly-ose.coffee +++ b/static/coffee/screenly-ose.coffee @@ -49,6 +49,18 @@ jQuery -> # Views ################################ + class AddAssetModalView extends Backbone.View + initialize: (options) -> + @template = _.template($('#add-asset-modal-template').html()) + + render: -> + $(@el).html(@template()) + @ + + screenly.views.AddAssetModalView = AddAssetModalView + + class EditAssetModalView extends Backbone.View + class AssetsView extends Backbone.View initialize: (options) -> @@ -90,6 +102,7 @@ jQuery -> @ deactivateAsset: (event) -> + event.preventDefault() screenly.ActiveAssets.remove(@model) screenly.InactiveAssets.add(@model) @@ -132,5 +145,11 @@ jQuery -> $("#active-assets-container").append activeAssetsView.render().el $("#inactive-assets-container").append inactiveAssetsView.render().el + $("#add-asset-button").click -> + console.log "Clicked add asset button" + modal = new AddAssetModalView() + $("body").append modal.render().el + $(modal.el).children(":first").modal() + diff --git a/static/js/screenly-ose.js b/static/js/screenly-ose.js index 65fe5975..46ba8ba3 100644 --- a/static/js/screenly-ose.js +++ b/static/js/screenly-ose.js @@ -1,2 +1,2 @@ // Generated by CoffeeScript 1.4.0 -(function(){var e,t,n,r={}.hasOwnProperty,i=function(e,t){function i(){this.constructor=e}for(var n in t)r.call(t,n)&&(e[n]=t[n]);i.prototype=t.prototype;e.prototype=new i;e.__super__=t.prototype;return e},s=[].indexOf||function(e){for(var t=0,n=this.length;t=0)&&console.log("You need to specify the template name for this AssetsView.");(n=!1,s.call(e,n)>=0)&&console.log("You must specify the child view class for this AssetsView.");this.template=_.template($("#"+e.template_name).html());this.collection.bind("reset",this.render,this);this.collection.bind("remove",this.render,this);return this.collection.bind("add",this.render,this)};t.prototype.render=function(){var e=this;$(this.el).html(this.template());this.$("tbody").empty();this.collection.each(function(t){return e.$("tbody").append((new e.options.childViewClass({model:t})).render().el)});return this};return t}(Backbone.View);e=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}i(t,e);t.prototype.initialize=function(e){return this.template=_.template($("#active-asset-row-template").html())};t.prototype.events={"click #deactivate":"deactivateAsset"};t.prototype.tagName="tr";t.prototype.render=function(){$(this.el).html(this.template(this.model.toJSON()));return this};t.prototype.deactivateAsset=function(e){screenly.ActiveAssets.remove(this.model);return screenly.InactiveAssets.add(this.model)};return t}(Backbone.View);u=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}i(t,e);t.prototype.initialize=function(e){return this.template=_.template($("#inactive-asset-row-template").html())};t.prototype.events={"click #activate":"activateAsset"};t.prototype.tagName="tr";t.prototype.render=function(){$(this.el).html(this.template(this.model.toJSON()));return this};t.prototype.activateAsset=function(e){e.preventDefault();screenly.InactiveAssets.remove(this.model);return screenly.ActiveAssets.add(this.model)};return t}(Backbone.View);screenly.views.AssetsView=o;screenly.views.ActiveAssetRowView=e;f=new o({collection:screenly.ActiveAssets,template_name:"active-assets-template",childViewClass:e});l=new o({collection:screenly.InactiveAssets,template_name:"inactive-assets-template",childViewClass:u});$("#active-assets-container").append(f.render().el);return $("#inactive-assets-container").append(l.render().el)})}).call(this); \ No newline at end of file +(function(){var e,t,n,r={}.hasOwnProperty,i=function(e,t){function i(){this.constructor=e}for(var n in t)r.call(t,n)&&(e[n]=t[n]);i.prototype=t.prototype;e.prototype=new i;e.__super__=t.prototype;return e},s=[].indexOf||function(e){for(var t=0,n=this.length;t=0)&&console.log("You need to specify the template name for this AssetsView.");(n=!1,s.call(e,n)>=0)&&console.log("You must specify the child view class for this AssetsView.");this.template=_.template($("#"+e.template_name).html());this.collection.bind("reset",this.render,this);this.collection.bind("remove",this.render,this);return this.collection.bind("add",this.render,this)};t.prototype.render=function(){var e=this;$(this.el).html(this.template());this.$("tbody").empty();this.collection.each(function(t){return e.$("tbody").append((new e.options.childViewClass({model:t})).render().el)});return this};return t}(Backbone.View);e=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}i(t,e);t.prototype.initialize=function(e){return this.template=_.template($("#active-asset-row-template").html())};t.prototype.events={"click #deactivate":"deactivateAsset"};t.prototype.tagName="tr";t.prototype.render=function(){$(this.el).html(this.template(this.model.toJSON()));return this};t.prototype.deactivateAsset=function(e){e.preventDefault();screenly.ActiveAssets.remove(this.model);return screenly.InactiveAssets.add(this.model)};return t}(Backbone.View);f=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}i(t,e);t.prototype.initialize=function(e){return this.template=_.template($("#inactive-asset-row-template").html())};t.prototype.events={"click #activate":"activateAsset"};t.prototype.tagName="tr";t.prototype.render=function(){$(this.el).html(this.template(this.model.toJSON()));return this};t.prototype.activateAsset=function(e){e.preventDefault();screenly.InactiveAssets.remove(this.model);return screenly.ActiveAssets.add(this.model)};return t}(Backbone.View);screenly.views.AssetsView=u;screenly.views.ActiveAssetRowView=e;c=new u({collection:screenly.ActiveAssets,template_name:"active-assets-template",childViewClass:e});h=new u({collection:screenly.InactiveAssets,template_name:"inactive-assets-template",childViewClass:f});$("#active-assets-container").append(c.render().el);$("#inactive-assets-container").append(h.render().el);return $("#add-asset-button").click(function(){var e;console.log("Clicked add asset button");e=new n;$("body").append(e.render().el);return $(e.el).children(":first").modal()})})}).call(this); \ No newline at end of file diff --git a/views/index.haml b/views/index.haml index 884f3530..c3a8bede 100644 --- a/views/index.haml +++ b/views/index.haml @@ -59,6 +59,18 @@ Activate + + %script(type="text/template", id="add-asset-modal-template") + .modal.hide.fade(tabindex="-1", role="dialog", ariaLabelledby="myModalLabel", ariaHidden="true") + .modal-header + %button.close(type="button", dataDismiss="modal", ariaHidden="true") x + %h3#myModalLabel Add Asset + .modal-body + %p Hey guys. + .modal-footer + %a.btn(href="#", dataDismiss="modal") Close + %a.btn.btn-primary(href="#") Add Asset + %body