summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/backbone
diff options
context:
space:
mode:
authormo <mokha@cisco.com>2017-09-02 14:48:43 -0600
committermo <mokha@cisco.com>2017-09-02 14:48:43 -0600
commitb8dfe131c6c5fe9d0e5b4ee2d271feeb5d411502 (patch)
tree05b475a8b6442e2a43d9529c42362a3460df7d13 /app/assets/javascripts/backbone
parentbba21d02643d632fee5fa4bdbc876d44832ccf4b (diff)
promote backbone subdirectory up to root.
Diffstat (limited to 'app/assets/javascripts/backbone')
-rw-r--r--app/assets/javascripts/backbone/cakeside.js.coffee67
-rw-r--r--app/assets/javascripts/backbone/controllers/cakes_controller.js.coffee34
-rw-r--r--app/assets/javascripts/backbone/controllers/dashboard_controller.js.coffee6
-rw-r--r--app/assets/javascripts/backbone/controllers/profile_controller.js.coffee18
-rw-r--r--app/assets/javascripts/backbone/controllers/tutorials_controller.js.coffee29
-rw-r--r--app/assets/javascripts/backbone/models/.gitkeep0
-rw-r--r--app/assets/javascripts/backbone/models/cake.js.coffee27
-rw-r--r--app/assets/javascripts/backbone/models/category.js.coffee10
-rw-r--r--app/assets/javascripts/backbone/models/photo.js.coffee30
-rw-r--r--app/assets/javascripts/backbone/models/profile.js.coffee38
-rw-r--r--app/assets/javascripts/backbone/models/tutorials.js.coffee24
-rw-r--r--app/assets/javascripts/backbone/routers/.gitkeep0
-rw-r--r--app/assets/javascripts/backbone/routers/cakes_router.js.coffee7
-rw-r--r--app/assets/javascripts/backbone/routers/dashboard_router.js.coffee3
-rw-r--r--app/assets/javascripts/backbone/routers/profile_router.js.coffee3
-rw-r--r--app/assets/javascripts/backbone/routers/tutorials_router.js.coffee5
-rw-r--r--app/assets/javascripts/backbone/templates/.gitkeep0
-rw-r--r--app/assets/javascripts/backbone/templates/cakes/cake.jst.ejs13
-rw-r--r--app/assets/javascripts/backbone/templates/cakes/delete_modal.jst.ejs32
-rw-r--r--app/assets/javascripts/backbone/templates/cakes/edit.jst.ejs39
-rw-r--r--app/assets/javascripts/backbone/templates/cakes/new.jst.ejs18
-rw-r--r--app/assets/javascripts/backbone/templates/cakes/no_cakes.jst.ejs1
-rw-r--r--app/assets/javascripts/backbone/templates/cakes/show.jst.ejs26
-rw-r--r--app/assets/javascripts/backbone/templates/cakes/thumbnail.jst.ejs8
-rw-r--r--app/assets/javascripts/backbone/templates/photos/new-modal.jst.ejs24
-rw-r--r--app/assets/javascripts/backbone/templates/profiles/show.jst.ejs45
-rw-r--r--app/assets/javascripts/backbone/templates/tutorials/new.jst.ejs23
-rw-r--r--app/assets/javascripts/backbone/templates/tutorials/no_tutorials.jst.ejs1
-rw-r--r--app/assets/javascripts/backbone/templates/tutorials/show.jst.ejs16
-rw-r--r--app/assets/javascripts/backbone/templates/tutorials/tutorial.jst.ejs7
-rw-r--r--app/assets/javascripts/backbone/views/.gitkeep0
-rw-r--r--app/assets/javascripts/backbone/views/cakes/cake_view.js.coffee13
-rw-r--r--app/assets/javascripts/backbone/views/cakes/delete_cake_modal_view.js.coffee40
-rw-r--r--app/assets/javascripts/backbone/views/cakes/edit_view.js.coffee80
-rw-r--r--app/assets/javascripts/backbone/views/cakes/index_view.js.coffee8
-rw-r--r--app/assets/javascripts/backbone/views/cakes/new_view.js.coffee63
-rw-r--r--app/assets/javascripts/backbone/views/cakes/no_cakes_view.js.coffee5
-rw-r--r--app/assets/javascripts/backbone/views/cakes/show_view.js.coffee37
-rw-r--r--app/assets/javascripts/backbone/views/cakes/thumbnail_view.js.coffee13
-rw-r--r--app/assets/javascripts/backbone/views/disqus_view.js.coffee32
-rw-r--r--app/assets/javascripts/backbone/views/error_view.js.coffee27
-rw-r--r--app/assets/javascripts/backbone/views/photos/new_modal_view.js.coffee50
-rw-r--r--app/assets/javascripts/backbone/views/profiles/show_view.js.coffee71
-rw-r--r--app/assets/javascripts/backbone/views/tutorials/index_view.js.coffee9
-rw-r--r--app/assets/javascripts/backbone/views/tutorials/new_view.js.coffee68
-rw-r--r--app/assets/javascripts/backbone/views/tutorials/no_tutorials_view.js.coffee5
-rw-r--r--app/assets/javascripts/backbone/views/tutorials/show_view.js.coffee7
-rw-r--r--app/assets/javascripts/backbone/views/tutorials/tutorial_view.js.coffee10
48 files changed, 0 insertions, 1092 deletions
diff --git a/app/assets/javascripts/backbone/cakeside.js.coffee b/app/assets/javascripts/backbone/cakeside.js.coffee
deleted file mode 100644
index 6f468e52..00000000
--- a/app/assets/javascripts/backbone/cakeside.js.coffee
+++ /dev/null
@@ -1,67 +0,0 @@
-#= require_self
-#= require_tree ./templates
-#= require_tree ./models
-#= require_tree ./views
-#= require_tree ./controllers
-#= require_tree ./routers
-
-window.CakeSide =
- Models: {}
- Collections: {}
- Routers: {}
- Views: {}
- Controllers: {}
- initialize: (data) ->
- $(document).ajaxSend (event, xhr) ->
- if data.access_token
- xhr.setRequestHeader "Authorization", "Token token=#{data.access_token}"
-
- CakeSide.Application = new Marionette.Application()
- CakeSide.Application.addRegions
- content_region: '#backbone-content'
- comment_region: '#disqus_thread'
-
- CakeSide.Application.addInitializer (options) ->
- new CakeSide.Routers.CakesRouter
- controller: new CakeSide.Controllers.CakesController()
- new CakeSide.Routers.TutorialsRouter
- controller: new CakeSide.Controllers.TutorialsController()
- new CakeSide.Routers.DashboardRouter
- controller: new CakeSide.Controllers.DashboardController()
- new CakeSide.Routers.ProfileRouter
- controller: new CakeSide.Controllers.ProfileController()
-
- CakeSide.Application.on 'start', ->
- if Backbone.history
- Backbone.history.start()
-
- @cakes = new CakeSide.Collections.CakesCollection()
- @categories = new CakeSide.Collections.CategoriesCollection()
- @tutorials = new CakeSide.Collections.TutorialsCollection()
-
- #@disqus_view = new CakeSide.Views.DisqusView
- #disqus_shortname: data.disqus_shortname
- #CakeSide.Application.reqres.setHandler 'CommentView', =>
- #@disqus_view
- CakeSide.Application.reqres.setHandler 'CakesRepository', =>
- @cakes
- CakeSide.Application.reqres.setHandler 'CategoriesRepository', =>
- @categories
- @photos_cache = {}
- CakeSide.Application.reqres.setHandler 'PhotosRepository', (cake_id) =>
- if @photos_cache[cake_id]
- @photos_cache[cake_id]
- else
- photos = new CakeSide.Collections.PhotosCollection(cake_id: cake_id)
- @photos_cache[cake_id] = photos
- photos.fetch(reset: true)
- photos
- CakeSide.Application.reqres.setHandler 'TutorialsRepository', =>
- @tutorials
- CakeSide.Application.reqres.setHandler 'ProfilesRepository', =>
- @profiles ||= new CakeSide.Collections.ProfilesCollection()
-
- @categories.fetch(reset: true)
- @tutorials.fetch(reset: true)
- @cakes.fetch(reset: true).done ->
- CakeSide.Application.start()
diff --git a/app/assets/javascripts/backbone/controllers/cakes_controller.js.coffee b/app/assets/javascripts/backbone/controllers/cakes_controller.js.coffee
deleted file mode 100644
index 3167248b..00000000
--- a/app/assets/javascripts/backbone/controllers/cakes_controller.js.coffee
+++ /dev/null
@@ -1,34 +0,0 @@
-class CakeSide.Controllers.CakesController extends Marionette.Controller
- views: CakeSide.Views.Cakes
- initialize: (options) ->
- @content_region = CakeSide.Application.content_region
- @cakes = CakeSide.Application.request('CakesRepository')
- #@comment_view = CakeSide.Application.request('CommentView')
-
- index: ->
- @selectTab()
- #@comment_view.hide()
- @content_region.show(new @views.IndexView(collection: @cakes))
-
- show: (id, photo_id) ->
- @selectTab()
- cake = @cakes.get(id)
- @content_region.show(new @views.ShowView(model: cake, photo_id: photo_id))
- #@comment_view.render
- #identifier: "c-#{cake.id}"
- #title: cake.get('name')
- #url: cake.public_url()
-
- newCake: ->
- @selectTab()
- #@comment_view.hide()
- @content_region.show(new @views.NewView(collection: @cakes))
-
- edit: (id) ->
- @selectTab()
- @content_region.show(new @views.EditView(model: @cakes.get(id)))
- #@comment_view.hide()
-
- selectTab: ->
- $('.nav-link').removeClass('active')
- $('a[href="/my#cakes/new"]').addClass('active')
diff --git a/app/assets/javascripts/backbone/controllers/dashboard_controller.js.coffee b/app/assets/javascripts/backbone/controllers/dashboard_controller.js.coffee
deleted file mode 100644
index 23169914..00000000
--- a/app/assets/javascripts/backbone/controllers/dashboard_controller.js.coffee
+++ /dev/null
@@ -1,6 +0,0 @@
-class CakeSide.Controllers.DashboardController extends Marionette.Controller
- initialize: (options) ->
- #@comment_view = CakeSide.Application.request('CommentView')
-
- index: ->
- #@comment_view.hide()
diff --git a/app/assets/javascripts/backbone/controllers/profile_controller.js.coffee b/app/assets/javascripts/backbone/controllers/profile_controller.js.coffee
deleted file mode 100644
index c8577e2a..00000000
--- a/app/assets/javascripts/backbone/controllers/profile_controller.js.coffee
+++ /dev/null
@@ -1,18 +0,0 @@
-class CakeSide.Controllers.ProfileController extends Marionette.Controller
- views: CakeSide.Views.Profiles
- initialize: (options) ->
- @content_region = CakeSide.Application.content_region
- #@comment_view = CakeSide.Application.request('CommentView')
-
- show: (id) ->
- @selectTab()
- #@comment_view.hide()
- profile = new CakeSide.Models.Profile
- id: id
- profile.fetch
- success: =>
- @content_region.show(new @views.ShowView(model: profile))
-
- selectTab: ->
- $('.nav-link').removeClass('active')
- $('a[href="/my#profile/me"]').addClass('active')
diff --git a/app/assets/javascripts/backbone/controllers/tutorials_controller.js.coffee b/app/assets/javascripts/backbone/controllers/tutorials_controller.js.coffee
deleted file mode 100644
index 732bea3e..00000000
--- a/app/assets/javascripts/backbone/controllers/tutorials_controller.js.coffee
+++ /dev/null
@@ -1,29 +0,0 @@
-class CakeSide.Controllers.TutorialsController extends Marionette.Controller
- views: CakeSide.Views.Tutorials
- initialize: (options) ->
- @content_region = CakeSide.Application.content_region
- @tutorials = CakeSide.Application.request('TutorialsRepository')
- #@comment_view = CakeSide.Application.request('CommentView')
-
- index: ->
- @selectTab()
- #@comment_view.hide()
- @content_region.show(new @views.IndexView(collection: @tutorials))
-
- new: ->
- @selectTab()
- #@comment_view.hide()
- @content_region.show(new @views.NewView(collection: @tutorials))
-
- show: (id) ->
- @selectTab()
- tutorial = @tutorials.get(id)
- @content_region.show(new @views.ShowView(model: tutorial))
- #@comment_view.render
- #identifier: "t-#{tutorial.id}"
- #title: tutorial.get('heading')
- #url: tutorial.get('url')
-
- selectTab: ->
- $('.nav-link').removeClass('active')
- $('a[href="/my#tutorials/new"]').addClass('active')
diff --git a/app/assets/javascripts/backbone/models/.gitkeep b/app/assets/javascripts/backbone/models/.gitkeep
deleted file mode 100644
index e69de29b..00000000
--- a/app/assets/javascripts/backbone/models/.gitkeep
+++ /dev/null
diff --git a/app/assets/javascripts/backbone/models/cake.js.coffee b/app/assets/javascripts/backbone/models/cake.js.coffee
deleted file mode 100644
index 7f925394..00000000
--- a/app/assets/javascripts/backbone/models/cake.js.coffee
+++ /dev/null
@@ -1,27 +0,0 @@
-class CakeSide.Models.Cake extends Backbone.Model
- paramRoot: 'cake'
-
- defaults:
- id: null
- name: null
- story: null
- created_at: null
- updated_at: null
- category_id: null
-
- validate: (attributes, options) ->
- return "Name can't be blank" unless attributes.name && attributes.name.trim()
- return "Category can't be blank" unless attributes.category_id
-
- photos: ->
- CakeSide.Application.request('PhotosRepository', @id)
-
- public_url: ->
- "#{window.location.origin}/creations/#{@get('slug')}"
-
- category_id: ->
- @get('category_id') || @get('category').id
-
-class CakeSide.Collections.CakesCollection extends Backbone.Collection
- model: CakeSide.Models.Cake
- url: '/api/v1/cakes'
diff --git a/app/assets/javascripts/backbone/models/category.js.coffee b/app/assets/javascripts/backbone/models/category.js.coffee
deleted file mode 100644
index 98437966..00000000
--- a/app/assets/javascripts/backbone/models/category.js.coffee
+++ /dev/null
@@ -1,10 +0,0 @@
-class CakeSide.Models.Category extends Backbone.Model
- paramRoot: 'category'
-
- defaults:
- name: null
- slug: null
-
-class CakeSide.Collections.CategoriesCollection extends Backbone.Collection
- model: CakeSide.Models.Category
- url: '/api/v1/categories'
diff --git a/app/assets/javascripts/backbone/models/photo.js.coffee b/app/assets/javascripts/backbone/models/photo.js.coffee
deleted file mode 100644
index eb1cff76..00000000
--- a/app/assets/javascripts/backbone/models/photo.js.coffee
+++ /dev/null
@@ -1,30 +0,0 @@
-class CakeSide.Models.Photo extends Backbone.Model
- paramRoot: 'photo'
- fileAttribute: 'image'
-
- defaults:
- id: null
- cake_id: null
- content_type: null
- original_filename: null
- thumb_url: null
- large_url: null
- original_url: null
- created_at: null
- updated_at: null
-
- initialize: (options) ->
- @set('cake_id', options.cake_id)
- if options.id
- @url="/api/v1/cakes/#{options.cake_id}/photos/#{options.id}"
- else
- @url="/api/v1/cakes/#{options.cake_id}/photos"
-
- super(options)
-
-class CakeSide.Collections.PhotosCollection extends Backbone.Collection
- model: CakeSide.Models.Photo
-
- initialize: (options) ->
- @set('cake_id', options.cake_id)
- @url="/api/v1/cakes/#{options.cake_id}/photos"
diff --git a/app/assets/javascripts/backbone/models/profile.js.coffee b/app/assets/javascripts/backbone/models/profile.js.coffee
deleted file mode 100644
index 189d83e4..00000000
--- a/app/assets/javascripts/backbone/models/profile.js.coffee
+++ /dev/null
@@ -1,38 +0,0 @@
-class CakeSide.Models.Profile extends Backbone.Model
- paramRoot: 'profile'
- urlRoot: '/api/v1/profiles'
- modelEvents:
- "change": "render"
-
- defaults:
- id: null
- name: null
- email: null
- city: null
- website: null
- facebook: null
- twitter: null
-
- validate: (attributes, options) ->
- return "Name can't be blank" unless attributes.name && attributes.name.trim()
- return "Email can't be blank" unless attributes.email && attributes.email.trim()
- return "Email is invalid" unless @validateEmail(attributes.email)
- return "URL is invalid" if attributes.website && !@validateUrl(attributes.website)
- return "Twitter handle is invalid" if !@validateTwitter(attributes.twitter)
-
- validateEmail: (email) ->
- regex = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
- regex.test(email)
-
- validateUrl: (url) ->
- regex = new RegExp( "^" + "(?:(?:https?|ftp)://)" + "(?:\\S+(?::\\S*)?@)?" + "(?:" + "(?!(?:10|127)(?:\\.\\d{1,3}){3})" + "(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})" + "(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})" + "(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])" + "(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}" + "(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))" + "|" + "(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)" + "(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*" + "(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))" + ")" + "(?::\\d{2,5})?" + "(?:/\\S*)?" + "$", "i")
- regex.test(url)
-
- validateTwitter: (twitter) ->
- return true unless twitter
- regex = /^@?(\w){1,15}$/
- regex.test(twitter)
-
-class CakeSide.Collections.ProfilesCollection extends Backbone.Collection
- model: CakeSide.Models.Profile
- url: '/api/v1/profiles'
diff --git a/app/assets/javascripts/backbone/models/tutorials.js.coffee b/app/assets/javascripts/backbone/models/tutorials.js.coffee
deleted file mode 100644
index 9e2e8a1f..00000000
--- a/app/assets/javascripts/backbone/models/tutorials.js.coffee
+++ /dev/null
@@ -1,24 +0,0 @@
-class CakeSide.Models.Tutorial extends Backbone.Model
- paramRoot: 'tutorial'
-
- defaults:
- id: null
- url: null
- image_url: null
- heading: null
- description: null
-
- validate: (attributes, options) ->
- return "Invalid Url." unless @isValidUrl(attributes.url || '')
- return "This tutorial has no photos." unless @hasImage(attributes.image_url)
-
- isValidUrl: (url) ->
- expression = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
- url.match(new RegExp(expression))
-
- hasImage: (image_url) ->
- image_url
-
-class CakeSide.Collections.TutorialsCollection extends Backbone.Collection
- model: CakeSide.Models.Tutorial
- url: '/api/v1/tutorials'
diff --git a/app/assets/javascripts/backbone/routers/.gitkeep b/app/assets/javascripts/backbone/routers/.gitkeep
deleted file mode 100644
index e69de29b..00000000
--- a/app/assets/javascripts/backbone/routers/.gitkeep
+++ /dev/null
diff --git a/app/assets/javascripts/backbone/routers/cakes_router.js.coffee b/app/assets/javascripts/backbone/routers/cakes_router.js.coffee
deleted file mode 100644
index 5a0922ae..00000000
--- a/app/assets/javascripts/backbone/routers/cakes_router.js.coffee
+++ /dev/null
@@ -1,7 +0,0 @@
-class CakeSide.Routers.CakesRouter extends Marionette.AppRouter
- appRoutes:
- "cakes/new": "newCake"
- "cakes/:id/edit": "edit"
- "cakes/:id": "show"
- "cakes/:id/photos/:photo_id": "show"
- "cakes": "index"
diff --git a/app/assets/javascripts/backbone/routers/dashboard_router.js.coffee b/app/assets/javascripts/backbone/routers/dashboard_router.js.coffee
deleted file mode 100644
index 513b2f04..00000000
--- a/app/assets/javascripts/backbone/routers/dashboard_router.js.coffee
+++ /dev/null
@@ -1,3 +0,0 @@
-class CakeSide.Routers.DashboardRouter extends Marionette.AppRouter
- appRoutes:
- "": "index"
diff --git a/app/assets/javascripts/backbone/routers/profile_router.js.coffee b/app/assets/javascripts/backbone/routers/profile_router.js.coffee
deleted file mode 100644
index cf83d4ae..00000000
--- a/app/assets/javascripts/backbone/routers/profile_router.js.coffee
+++ /dev/null
@@ -1,3 +0,0 @@
-class CakeSide.Routers.ProfileRouter extends Marionette.AppRouter
- appRoutes:
- "profile/:id": "show"
diff --git a/app/assets/javascripts/backbone/routers/tutorials_router.js.coffee b/app/assets/javascripts/backbone/routers/tutorials_router.js.coffee
deleted file mode 100644
index 9c942e88..00000000
--- a/app/assets/javascripts/backbone/routers/tutorials_router.js.coffee
+++ /dev/null
@@ -1,5 +0,0 @@
-class CakeSide.Routers.TutorialsRouter extends Marionette.AppRouter
- appRoutes:
- "tutorials": "index"
- "tutorials/new": "new"
- "tutorials/:id": "show"
diff --git a/app/assets/javascripts/backbone/templates/.gitkeep b/app/assets/javascripts/backbone/templates/.gitkeep
deleted file mode 100644
index e69de29b..00000000
--- a/app/assets/javascripts/backbone/templates/.gitkeep
+++ /dev/null
diff --git a/app/assets/javascripts/backbone/templates/cakes/cake.jst.ejs b/app/assets/javascripts/backbone/templates/cakes/cake.jst.ejs
deleted file mode 100644
index e9800ad5..00000000
--- a/app/assets/javascripts/backbone/templates/cakes/cake.jst.ejs
+++ /dev/null
@@ -1,13 +0,0 @@
-<% if(hasImage()) { %>
- <% photo = randomPhoto() %>
- <a href="#cakes/<%= id %>" class="pull-left">
- <img class="media-object" data-src="<%= photo.thumb_url %>" alt="64x64" style="width: 64px; height: 64px;" src="<%= photo.thumb_url %>">
- </a>
-<% } %>
-<div class="media-body">
- <h4 class="media-heading"><a href="#cakes/<%= id %>"><%= name %></a></h4>
- <p>
- <a href="#cakes/<%= id %>/edit"><i class="fa fa-edit"></i>edit</a>
- <a href="<%= Routes.cake_favorites_path(id) %>"><i class="fa fa-heart"></i>fanclub</a>
- </p>
-</div>
diff --git a/app/assets/javascripts/backbone/templates/cakes/delete_modal.jst.ejs b/app/assets/javascripts/backbone/templates/cakes/delete_modal.jst.ejs
deleted file mode 100644
index 370109d5..00000000
--- a/app/assets/javascripts/backbone/templates/cakes/delete_modal.jst.ejs
+++ /dev/null
@@ -1,32 +0,0 @@
-<div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">Are you ABSOLUTELY sure?</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">&times;</span>
- </button>
- </div>
- <div class="modal-body">
- <% if (hasError()) { %>
- <div class="alert alert-dismissible fade show alert-danger" role="alert">
- <button type="button" class="close" data-dismiss="alert" aria-label="Close">
- <span aria-hidden="true">&times;</span>
- </button>
- <strong>Error!</strong> <%= errorMessage %>
- </div>
- <% } %>
- <p>
- This action <b>CANNOT</b> be undone.
- This will permanently delete <em><%= name %></em> photos, and comments.
- </p>
- <p>
- Please type in the name of the cake to confirm.
- <input id="confirmation-textbox" type="text" class="form-control" autofocus="" required="" aria-label="Type in the name of the cake to confirm that you want to delete this repository.">
- </p>
- </div>
- <div class="modal-footer">
- <button id="remove-button" type="button" class="btn btn-danger" disabled="disabled">I understand the consequences, delete this cake</button>
- <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
- </div>
- </div>
-</div>
diff --git a/app/assets/javascripts/backbone/templates/cakes/edit.jst.ejs b/app/assets/javascripts/backbone/templates/cakes/edit.jst.ejs
deleted file mode 100644
index cab7fc92..00000000
--- a/app/assets/javascripts/backbone/templates/cakes/edit.jst.ejs
+++ /dev/null
@@ -1,39 +0,0 @@
-<div class="row">
- <div class="col">
- <h1><small>Edit</small> <%= cake.name %></h1>
- <hr />
- <form id="edit-cake" name="cake" class="form-horizontal">
- <div class="form-group">
- <a class="btn btn-primary add-photo">Upload Photo...</a>
- </div>
- <div class="form-group">
- <label class="" for="cake_name">Name</label>
- <input class="form-control" id="cake_name" name="name" type="text" value="<%= cake.name %>" required="required" />
- </div>
- <div class="form-group">
- <label for="category_id">Category</label>
- <select id="cake_category_id" name="category_id" class="form-control">
- <% _.each(categories, function(category) { %>
- <option value="<%= category.id %>"><%= category.name %></option>
- <% }); %>
- </select>
- </div>
- <div class="form-group">
- <label class="" for="cake_story">Description</label>
- <textarea class="form-control" id="cake_story" name="story" rows="3"><%= cake.story %></textarea>
- </div>
- <div class="form-group">
- <label for="cake_tags" class="">Tags</label>
- <% if (typeof(cake.tags) === "string") { %>
- <% tags = _.map(cake.tags.split(','), function(x){ return x; }) %>
- <% } else { %>
- <% tags = _.map(cake.tags, function(x){ return x.name; }) %>
- <% } %>
- <input name="cake_tags" type="text" id="cake_tags" value="<%= tags %>" class="form-control" autocomplete="off" />
- </div>
- <button id='save-button' type="submit" class="btn btn-primary">Publish</button>
- <a href="#cakes/<%= cake.id %>" class="btn btn-secondary">Cancel</a>
- </form>
- </div>
-</div>
-<div class="card-columns"></div>
diff --git a/app/assets/javascripts/backbone/templates/cakes/new.jst.ejs b/app/assets/javascripts/backbone/templates/cakes/new.jst.ejs
deleted file mode 100644
index cc26c43b..00000000
--- a/app/assets/javascripts/backbone/templates/cakes/new.jst.ejs
+++ /dev/null
@@ -1,18 +0,0 @@
-<h1>Share cake</h1>
-<hr />
-<form id="new-cake" name="cake" class="form-horizontal">
- <div class="form-group">
- <label for="cake_name">Name</label>
- <input class="form-control" id="cake_name" name="name" type="text" required="required">
- </div>
- <div class="form-group">
- <label for="category_id">Category</label>
- <select id="cake_category_id" name="category_id" class="form-control" required="required">
- <% _.each(categories, function(category) { %>
- <option value="<%= category.id %>"><%= category.name %></option>
- <% }); %>
- </select>
- </div>
- <button id='save-button' type="submit" class="btn btn-primary">Create</button>
- <a href="#cakes" class="btn btn-secondary">Cancel</a>
-</form>
diff --git a/app/assets/javascripts/backbone/templates/cakes/no_cakes.jst.ejs b/app/assets/javascripts/backbone/templates/cakes/no_cakes.jst.ejs
deleted file mode 100644
index 9d8787ba..00000000
--- a/app/assets/javascripts/backbone/templates/cakes/no_cakes.jst.ejs
+++ /dev/null
@@ -1 +0,0 @@
-<p>You haven't shared any creations yet. <a href="#cakes/new">Get Started</a></p>
diff --git a/app/assets/javascripts/backbone/templates/cakes/show.jst.ejs b/app/assets/javascripts/backbone/templates/cakes/show.jst.ejs
deleted file mode 100644
index 45fb0cd8..00000000
--- a/app/assets/javascripts/backbone/templates/cakes/show.jst.ejs
+++ /dev/null
@@ -1,26 +0,0 @@
-<div class="row">
- <div class="col">
- <h1><a href="#cakes/<%= id %>"><%= name %></a></h1>
- <hr />
- <% if (typeof(tags) === "string") { %>
- <% _.each(tags.split(','), function(tag){ %>
- <a href="<%= Routes.creation_tag_path(tag) %>">
- <span class="badge badge-info"><%= tag %></span>
- </a>
- <% }); %>
- <% } else { %>
- <% _.each(tags, function(tag){ %>
- <a href="<%= Routes.creation_tag_path(tag.name) %>">
- <span class="badge badge-info"><%= tag.name %></span>
- </a>
- <% }); %>
- <% } %>
- <div class="float-right">
- <a href="#cakes/<%= id %>/edit" class="btn btn-primary">Edit</a>
- <a class="add-photo btn btn-secondary">Add Photo</a>
- <a id="remove-cake-button" class="btn btn-danger">Delete this cake</a>
- </div>
- <p><%= story %></p>
- </div>
-</div>
-<div class="card-columns"></div>
diff --git a/app/assets/javascripts/backbone/templates/cakes/thumbnail.jst.ejs b/app/assets/javascripts/backbone/templates/cakes/thumbnail.jst.ejs
deleted file mode 100644
index 7ae1bef3..00000000
--- a/app/assets/javascripts/backbone/templates/cakes/thumbnail.jst.ejs
+++ /dev/null
@@ -1,8 +0,0 @@
-<% if (uploading()) { %>
- <div class="progress">
- <div class="progress-bar progress-bar-striped progress-bar-animated bg-success" role="progressbar" style="width: <%= percentComplete %>%" aria-valuenow="<%= percentComplete %>" aria-valuemin="<%= percentComplete %>" aria-valuemax="100"><%= percentComplete %>%</div>
- </div>
-<% } %>
-<a href="#cakes/<%= cake_id %>/photos/<%= id %>">
- <img src="<%= thumb_url %>" class="card-img-top" />
-</a>
diff --git a/app/assets/javascripts/backbone/templates/photos/new-modal.jst.ejs b/app/assets/javascripts/backbone/templates/photos/new-modal.jst.ejs
deleted file mode 100644
index c138b423..00000000
--- a/app/assets/javascripts/backbone/templates/photos/new-modal.jst.ejs
+++ /dev/null
@@ -1,24 +0,0 @@
-<div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">Upload Photo</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">&times;</span>
- </button>
- </div>
- <div class="modal-body">
- <form class="form-horizontal">
- <span class="btn btn-default btn-file">
- <input id="photo-attachment" name="attachment" type="file" accept="image/*">
- </span>
- <input id="watermark" name="watermark" maxlength="30" size="30" type="text" placeholder="watermark" class="form-control" />
- <small class="form-text muted"> on CakeSide.com</small>
- </form>
- <img id="preview-image" src="#" alt="your image" class="hide" />
- </div>
- <div class="modal-footer">
- <button id="upload-photo-button" type="button" class="btn btn-primary">Save changes</button>
- <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
- </div>
- </div>
-</div>
diff --git a/app/assets/javascripts/backbone/templates/profiles/show.jst.ejs b/app/assets/javascripts/backbone/templates/profiles/show.jst.ejs
deleted file mode 100644
index 150073d8..00000000
--- a/app/assets/javascripts/backbone/templates/profiles/show.jst.ejs
+++ /dev/null
@@ -1,45 +0,0 @@
-<h1>Public Profile</h1>
-<hr />
-<div id="status-message" class="alert alert-dismissible alert-danger hide" role="alert">
- <button type="button" class="close" data-dismiss="alert" aria-label="Close">
- <span aria-hidden="true">&times;</span>
- </button>
-</div>
-
-<form id="profile-form" class="form-horizontal">
- <div class="form-group">
- <label class="" for="user_name">Name</label>
- <input class="form-control" id="user_name" name="user[name]" type="text" value="<%= name %>" required="required">
- <span class="help-inline"></span>
- </div>
- <div class="form-group">
- <label class="" for="user_email">Email</label>
- <input class="form-control" id="user_email" name="user[email]" type="email" value="<%= email %>" required="required">
- <span class="help-inline"></span>
- </div>
- <div class="form-group">
- <label class="" for="user_website">URL</label>
- <input class="form-control url" id="user_website" name="user[website]" placeholder="https://www.cakeside.com" type="url" value="<%= website %>">
- <span class="help-inline"></span>
- </div>
- <div class="form-group">
- <label class="" for="user_city">Location</label>
- <input class="form-control" id="user_city" name="user[city]" type="text" value="<%= city %>">
- <span class="help-inline"></span>
- </div>
- <div class="form-group">
- <label class="" for="user_twitter">Twitter username</label>
- <div class="input-group">
- <span class="input-group-addon">@</span>
- <input class="form-control" id="user_twitter" maxlength="15" name="user[twitter]" placeholder="without the @ sign" size="255" type="text" value="<%= twitter %>">
- </div>
- <span class="help-inline"></span>
- </div>
- <div class="form-group">
- <label class="" for="user_facebook">Facebook</label>
- <input class="form-control" id="user_facebook" maxlength="255" name="user[facebook]" placeholder="http://www.facebook.com/your_profile" size="255" type="text" value="<%= facebook %>">
- <span class="help-inline"></span>
- </div>
- <input id="save-button" type="submit" class="btn btn-primary" value="Update profile">
- <button id="cancel-button" type="reset" class="btn">Cancel</button>
-</form>
diff --git a/app/assets/javascripts/backbone/templates/tutorials/new.jst.ejs b/app/assets/javascripts/backbone/templates/tutorials/new.jst.ejs
deleted file mode 100644
index 965a62f1..00000000
--- a/app/assets/javascripts/backbone/templates/tutorials/new.jst.ejs
+++ /dev/null
@@ -1,23 +0,0 @@
-<h1>Share a tutorial link</h1>
-<hr />
-<form id="new-tutorial" name='tutorial' class='form-horizontal'>
- <div id="url-group" class="form-group">
- <label for="tutorial_url">Tutorial URL</label>
- <input class="form-control" id="tutorial_url" name="url" type="text" value="<%= url %>" placeholder="http://www.cakeside.com/" autofocus>
- </div>
- <div class="form-group">
- <label for="tags">Tags</label>
- <input type="text" id="tutorial_tags" name="tags" value="" class="form-control" autocomplete="off" />
- <p class="help-block"> Note: help people find this tutorial by adding some keyword tags </p>
- </div>
- <button id='save-button' type="submit" class="btn btn-primary">Save</button>
- <a href="#tutorials" class="btn btn-secondary">Cancel</a>
-</form>
-<div id="preview-panel" class="thumbnail">
- <img class="embed-thumb" src="<%= image_url %>" />
- <div class="caption">
- <h3 class="tutorial-heading"><%= heading %></h3>
- <p id="tag-list"></p>
- <p class="tutorial-description"><%= description %></p>
- </div>
-</div>
diff --git a/app/assets/javascripts/backbone/templates/tutorials/no_tutorials.jst.ejs b/app/assets/javascripts/backbone/templates/tutorials/no_tutorials.jst.ejs
deleted file mode 100644
index ab9705b1..00000000
--- a/app/assets/javascripts/backbone/templates/tutorials/no_tutorials.jst.ejs
+++ /dev/null
@@ -1 +0,0 @@
-<p>You have no tutorials. <a href="#tutorials/new">Get Started</a></p>
diff --git a/app/assets/javascripts/backbone/templates/tutorials/show.jst.ejs b/app/assets/javascripts/backbone/templates/tutorials/show.jst.ejs
deleted file mode 100644
index 7dcbea00..00000000
--- a/app/assets/javascripts/backbone/templates/tutorials/show.jst.ejs
+++ /dev/null
@@ -1,16 +0,0 @@
-<div class="row">
- <div class="col">
- <h3><a href="#tutorials/<%= id %>"><%= heading %></a> <small><%= displayDate(created_at) %></small></h3>
- <a href="#tutorials/<%= id %>">
- <img src="<%= image_url %>" />
- </a>
- <p>
- <% _.each(tags, function(tag) { %>
- <a href="/tt/<%= tag.name %>">
- <span class="label"><%= tag.name %></span>
- </a>
- <% }); %>
- </p>
- <p><%= description %></p>
- </div>
-</div>
diff --git a/app/assets/javascripts/backbone/templates/tutorials/tutorial.jst.ejs b/app/assets/javascripts/backbone/templates/tutorials/tutorial.jst.ejs
deleted file mode 100644
index 255344d7..00000000
--- a/app/assets/javascripts/backbone/templates/tutorials/tutorial.jst.ejs
+++ /dev/null
@@ -1,7 +0,0 @@
-<a href="#tutorials/<%= id %>" class="float-left">
- <img class="media-object" data-src="<%= image_url %>" alt="64x64" style="width: 64px; height: 64px;" src="<%= image_url %>">
-</a>
-<div class="media-body">
- <h4 class="media-heading"><%= heading %></h4>
- <%= description %>
-</div>
diff --git a/app/assets/javascripts/backbone/views/.gitkeep b/app/assets/javascripts/backbone/views/.gitkeep
deleted file mode 100644
index e69de29b..00000000
--- a/app/assets/javascripts/backbone/views/.gitkeep
+++ /dev/null
diff --git a/app/assets/javascripts/backbone/views/cakes/cake_view.js.coffee b/app/assets/javascripts/backbone/views/cakes/cake_view.js.coffee
deleted file mode 100644
index f0faf97e..00000000
--- a/app/assets/javascripts/backbone/views/cakes/cake_view.js.coffee
+++ /dev/null
@@ -1,13 +0,0 @@
-CakeSide.Views.Cakes ||= {}
-
-class CakeSide.Views.Cakes.CakeView extends Marionette.ItemView
- template: JST["backbone/templates/cakes/cake"]
- tagName: 'div'
- className: 'media'
- templateHelpers:
- randomPhoto: ->
- @photos[Math.floor(Math.random()*@photos.length)]
- hasImage: ->
- typeof(@photos) != 'undefined' && _.any(@photos)
- shrink: (message) ->
- message.substring(0, 12)
diff --git a/app/assets/javascripts/backbone/views/cakes/delete_cake_modal_view.js.coffee b/app/assets/javascripts/backbone/views/cakes/delete_cake_modal_view.js.coffee
deleted file mode 100644
index 85253924..00000000
--- a/app/assets/javascripts/backbone/views/cakes/delete_cake_modal_view.js.coffee
+++ /dev/null
@@ -1,40 +0,0 @@
-CakeSide.Views.Cakes ||= {}
-
-class CakeSide.Views.Cakes.DeleteCakeModalView extends Marionette.ItemView
- template: JST["backbone/templates/cakes/delete_modal"]
- ui:
- remove_button: "#remove-button"
- confirmation_textbox: '#confirmation-textbox'
-
- templateHelpers:
- hasError: ->
- typeof(@errorMessage) != "undefined"
-
- events:
- "click #remove-button": "remove"
- 'keyup #confirmation-textbox': 'refreshStatus'
-
- modelEvents:
- 'change:errorMessage':'render'
-
- remove: (e) ->
- e.preventDefault()
- e.stopPropagation()
- @model.unset('errorMessage')
- @model.destroy(success: @successfullyDeleted, error: @errorDeletingCake)
-
- successfullyDeleted: =>
- @closeDialog()
- window.location.hash = "cakes"
-
- errorDeletingCake: (model, response, options) ->
- model.set('errorMessage', 'Could not delete cake.')
-
- refreshStatus: ->
- if @ui.confirmation_textbox.val() == @model.get('name')
- @ui.remove_button.removeAttr('disabled')
- else
- @ui.remove_button.attr('disabled', 'disabled')
-
- closeDialog: (photo) ->
- $('#modal').modal('hide')
diff --git a/app/assets/javascripts/backbone/views/cakes/edit_view.js.coffee b/app/assets/javascripts/backbone/views/cakes/edit_view.js.coffee
deleted file mode 100644
index 84883bd3..00000000
--- a/app/assets/javascripts/backbone/views/cakes/edit_view.js.coffee
+++ /dev/null
@@ -1,80 +0,0 @@
-#= require backbone/views/cakes/thumbnail_view
-CakeSide.Views.Cakes ||= {}
-
-class CakeSide.Views.Cakes.EditView extends Marionette.CompositeView
- template : JST["backbone/templates/cakes/edit"]
- childView: CakeSide.Views.Cakes.ThumbnailView
- childViewContainer: '.card-columns'
- ui:
- name: "#cake_name"
- description: "#cake_story"
- category: "#cake_category_id"
- tags: "#cake_tags"
- save_button: '#save-button'
-
- modelEvents:
- 'invalid': 'displayError'
-
- events :
- "keyup input": "refreshStatus"
- "change select": "refreshStatus"
- "submit #edit-cake" : "update"
- "click .add-photo": "launchAddPhoto"
-
- constructor: (options) ->
- super(options)
- @collection = @model.photos()
-
- update : (e) ->
- e.preventDefault()
- e.stopPropagation()
- @disableSaveButton()
- @model.save(null,
- success: @savedSuccessfully
- error: @couldNotSave
- )
-
- onRender: ->
- @$("#cake_category_id").val(@model.category_id())
- @ui.tags.tagit({ availableTags: ALL_TAGS })
- @disableSaveButton()
-
- savedSuccessfully: (cake) =>
- window.location.hash = "cakes/#{cake.id}"
-
- couldNotSave: (cake, xhr) =>
- @enableSaveButton()
- error = new CakeSide.Views.ErrorView
- el: @$('form#edit-cake'),
- attributesWithErrors: $.parseJSON(xhr.responseText)
- error.render()
-
- refreshStatus: ->
- @enableSaveButton()
- @model.set('name', @ui.name.val())
- @model.set('story', @ui.description.val())
- @model.set('category_id', @ui.category.val())
- @model.set('tags', @ui.tags.val())
- @model.isValid()
-
- displayError: (model, error) ->
- @disableSaveButton()
-
- enableSaveButton: ->
- @ui.save_button.removeAttr('disabled')
-
- disableSaveButton: ->
- @ui.save_button.attr('disabled', 'disabled')
-
- serializeData: ->
- {
- cake: @model.toJSON(),
- categories: CakeSide.Application.request('CategoriesRepository').toJSON(),
- }
-
- launchAddPhoto: ->
- @displayModal(new CakeSide.Views.Photos.NewModalView(cake: @model))
-
- displayModal: (view) ->
- $("#modal").html(view.render().el)
- $("#modal").modal()
diff --git a/app/assets/javascripts/backbone/views/cakes/index_view.js.coffee b/app/assets/javascripts/backbone/views/cakes/index_view.js.coffee
deleted file mode 100644
index 6d6d2f9a..00000000
--- a/app/assets/javascripts/backbone/views/cakes/index_view.js.coffee
+++ /dev/null
@@ -1,8 +0,0 @@
-#= require backbone/views/cakes/no_cakes_view
-CakeSide.Views.Cakes ||= {}
-
-class CakeSide.Views.Cakes.IndexView extends Marionette.CollectionView
- childView: CakeSide.Views.Cakes.CakeView
- emptyView: CakeSide.Views.Cakes.NoCakesView
- className: ''
- tagName: 'div'
diff --git a/app/assets/javascripts/backbone/views/cakes/new_view.js.coffee b/app/assets/javascripts/backbone/views/cakes/new_view.js.coffee
deleted file mode 100644
index 321be655..00000000
--- a/app/assets/javascripts/backbone/views/cakes/new_view.js.coffee
+++ /dev/null
@@ -1,63 +0,0 @@
-CakeSide.Views.Cakes ||= {}
-
-class CakeSide.Views.Cakes.NewView extends Marionette.ItemView
- template: JST["backbone/templates/cakes/new"]
- ui:
- name: "#cake_name"
- category: "#cake_category_id"
- save_button: '#save-button'
-
- modelEvents:
- 'invalid': 'displayError'
-
- events:
- "keyup input": "refreshStatus"
- "change select": "refreshStatus"
- "submit #new-cake": "save"
-
- constructor: (options) ->
- super(_.extend(options, { model: new options.collection.model() }))
-
- save: (e) ->
- e.preventDefault()
- e.stopPropagation()
- @disableSaveButton()
- @collection.create(@model,
- success: @savedSuccessfully
- error: @couldNotSave
- )
-
- onRender: ->
- @$("#cake_category_id").val($("#cake_category_id option:first").val())
- @model.isValid()
-
- savedSuccessfully: (cake) =>
- window.location.hash = "cakes/#{cake.id}/edit"
-
- couldNotSave: (cake, xhr) =>
- @enableSaveButton()
- error = new CakeSide.Views.ErrorView
- el: @$('form#new-cake'),
- attributesWithErrors: $.parseJSON(xhr.responseText)
- error.render()
-
- refreshStatus: ->
- @enableSaveButton()
- @model.set('name', @ui.name.val())
- @model.set('category_id', @ui.category.val())
- @model.isValid()
-
- displayError: (model, error) ->
- @disableSaveButton()
-
- enableSaveButton: ->
- @ui.save_button.removeAttr('disabled')
-
- disableSaveButton: ->
- @ui.save_button.attr('disabled', 'disabled')
-
- serializeData: ->
- {
- cake: @model.toJSON(),
- categories: CakeSide.Application.request('CategoriesRepository').toJSON(),
- }
diff --git a/app/assets/javascripts/backbone/views/cakes/no_cakes_view.js.coffee b/app/assets/javascripts/backbone/views/cakes/no_cakes_view.js.coffee
deleted file mode 100644
index 278d7d37..00000000
--- a/app/assets/javascripts/backbone/views/cakes/no_cakes_view.js.coffee
+++ /dev/null
@@ -1,5 +0,0 @@
-CakeSide.Views.Cakes ||= {}
-
-class CakeSide.Views.Cakes.NoCakesView extends Marionette.ItemView
- template: JST["backbone/templates/cakes/no_cakes"]
- tagName: 'li'
diff --git a/app/assets/javascripts/backbone/views/cakes/show_view.js.coffee b/app/assets/javascripts/backbone/views/cakes/show_view.js.coffee
deleted file mode 100644
index d225e93f..00000000
--- a/app/assets/javascripts/backbone/views/cakes/show_view.js.coffee
+++ /dev/null
@@ -1,37 +0,0 @@
-#= require backbone/views/cakes/thumbnail_view
-CakeSide.Views.Cakes ||= {}
-
-class CakeSide.Views.Cakes.ShowView extends Marionette.CompositeView
- template: JST["backbone/templates/cakes/show"]
- childView: CakeSide.Views.Cakes.ThumbnailView
- childViewContainer: '.card-columns'
-
- events:
- "click .add-photo": "launchAddPhoto"
- "click #remove-cake-button": "removeCake"
-
- templateHelpers:
- hasImage: ->
- typeof(@photos) != 'undefined' && _.any(@photos)
-
- randomPhoto: ->
- if @primary_photo_id
- _.find @photos, (photo) =>
- photo.id.toString() == @primary_photo_id
- else
- @photos[Math.floor(Math.random()*@photos.length)]
-
- constructor: (options) ->
- super(options)
- @collection = @model.photos()
- @model.set('primary_photo_id', options.photo_id) if options.photo_id
-
- launchAddPhoto: ->
- @displayModal(new CakeSide.Views.Photos.NewModalView(cake: @model))
-
- removeCake: ->
- @displayModal(new CakeSide.Views.Cakes.DeleteCakeModalView(model: @model))
-
- displayModal: (view) ->
- $("#modal").html(view.render().el)
- $("#modal").modal()
diff --git a/app/assets/javascripts/backbone/views/cakes/thumbnail_view.js.coffee b/app/assets/javascripts/backbone/views/cakes/thumbnail_view.js.coffee
deleted file mode 100644
index 085a8f11..00000000
--- a/app/assets/javascripts/backbone/views/cakes/thumbnail_view.js.coffee
+++ /dev/null
@@ -1,13 +0,0 @@
-CakeSide.Views.Cakes ||= {}
-
-class CakeSide.Views.Cakes.ThumbnailView extends Marionette.ItemView
- template: JST['backbone/templates/cakes/thumbnail']
- tagName: 'div'
- className: 'card'
- modelEvents:
- 'sync': 'render'
- 'change:percentComplete': 'render'
-
- templateHelpers:
- uploading: ->
- typeof(@percentComplete) != "undefined" && @percentComplete != 100
diff --git a/app/assets/javascripts/backbone/views/disqus_view.js.coffee b/app/assets/javascripts/backbone/views/disqus_view.js.coffee
deleted file mode 100644
index 1379691a..00000000
--- a/app/assets/javascripts/backbone/views/disqus_view.js.coffee
+++ /dev/null
@@ -1,32 +0,0 @@
-class CakeSide.Views.DisqusView extends Backbone.View
- el: "#disqus_thread"
- initialize: (options) ->
- disqus = document.createElement('script')
- disqus.type = 'text/javascript'
- disqus.async = true
- disqus.src = "//#{options.disqus_shortname}.disqus.com/embed.js"
- (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(disqus)
-
- render: (options) ->
- try
- @$el.removeClass('hidden')
- that = @
- DISQUS.reset
- reload: true,
- config: ->
- @page.identifier = options.identifier
- @page.title = "CakeSide - #{options.title}"
- @page.url = options.url
- @callbacks.onNewComment = [that.saveComment]
- @
- catch error
- console.log(error)
- finally
- @
-
- hide: ->
- @$el.addClass('hidden')
-
- saveComment: (comment) ->
- $.post Routes.comments_path(), { id: comment.id, url: document.URL, comment: comment }, (result) ->
- console.log(result)
diff --git a/app/assets/javascripts/backbone/views/error_view.js.coffee b/app/assets/javascripts/backbone/views/error_view.js.coffee
deleted file mode 100644
index 86f907e0..00000000
--- a/app/assets/javascripts/backbone/views/error_view.js.coffee
+++ /dev/null
@@ -1,27 +0,0 @@
-CakeSide.Views.Cakes ||= {}
-
-class CakeSide.Views.ErrorView extends Backbone.View
- initialize: (options) ->
- @attributesWithErrors = options.attributesWithErrors
- _.bindAll(@, "clearOldErrors", "renderErrors", "renderError", "fieldFor")
-
- render: () ->
- @clearOldErrors()
- @renderErrors()
-
- clearOldErrors: () ->
- @$(".error").removeClass("error")
- @$("p.inline-errors").remove()
-
- renderErrors: () ->
- _.each(@attributesWithErrors.errors, @renderError)
-
- renderError: (errors, attribute) ->
- errorString = errors.join(", ")
- field = @fieldFor(attribute)
- errorTag = $('<p>').addClass('inline-errors').text(errorString)
- field.append(errorTag)
- field.addClass("error")
-
- fieldFor: (attribute) ->
- @$("#cake_#{attribute}").parent()
diff --git a/app/assets/javascripts/backbone/views/photos/new_modal_view.js.coffee b/app/assets/javascripts/backbone/views/photos/new_modal_view.js.coffee
deleted file mode 100644
index b618ef16..00000000
--- a/app/assets/javascripts/backbone/views/photos/new_modal_view.js.coffee
+++ /dev/null
@@ -1,50 +0,0 @@
-CakeSide.Views.Photos ||= {}
-
-class CakeSide.Views.Photos.NewModalView extends Marionette.ItemView
- template: JST["backbone/templates/photos/new-modal"]
- ui:
- watermark: '#watermark'
- upload_button: "#upload-photo-button"
-
- events:
- "click #upload-photo-button": "save"
- "change #photo-attachment": "displayPreview"
- "keyup #watermark": "updateWatermark"
-
- constructor: (options) ->
- super(options)
- @collection = CakeSide.Application.request('PhotosRepository', options.cake.id)
- @cake = options.cake
- @model = new @collection.model(cake_id: @cake.id)
-
- save: (e) ->
- e.preventDefault()
- e.stopPropagation()
- @closeDialog()
- @model.on('progress', @displayProgress)
- @collection.create(@model)
-
- displayPreview: (event) ->
- input = event.currentTarget
- if (input.files && input.files[0])
- file = input.files[0]
- reader = new FileReader()
- reader.onload = (e) ->
- $('#preview-image').attr('src', e.target.result)
- $('#preview-image').removeClass('hide')
- reader.readAsDataURL(file)
- @model.set('image', file)
- @model.set('thumb_url', event.target.result)
- else
- $('#preview-image').addClass('hide')
-
- displayProgress: (progress) ->
- percentCompleted = progress*100
- @set('percentComplete', percentCompleted)
-
- closeDialog: (photo) ->
- $('#modal').modal('hide')
- @remove()
-
- updateWatermark: ->
- @model.set('watermark', @ui.watermark.val())
diff --git a/app/assets/javascripts/backbone/views/profiles/show_view.js.coffee b/app/assets/javascripts/backbone/views/profiles/show_view.js.coffee
deleted file mode 100644
index d7f36ae5..00000000
--- a/app/assets/javascripts/backbone/views/profiles/show_view.js.coffee
+++ /dev/null
@@ -1,71 +0,0 @@
-CakeSide.Views.Profiles ||= {}
-
-class CakeSide.Views.Profiles.ShowView extends Marionette.ItemView
- template: JST["backbone/templates/profiles/show"]
- ui:
- name: '#user_name'
- email: '#user_email'
- city: '#user_city'
- website: '#user_website'
- facebook: '#user_facebook'
- twitter: '#user_twitter'
- save_button: '#save-button'
- cancel_button: '#cancel-button'
- status: '#status-message'
-
- modelEvents:
- 'invalid': 'displayError'
- 'sync': 'syncedUp'
-
- events:
- "submit #profile-form": "save"
- "keyup input": "refreshStatus"
- 'click #cancel-button': 'cancel'
-
- save: (event) ->
- event.preventDefault()
- event.stopPropagation()
- @disableSaveButton()
- @model.save(null,
- success: @savedSuccessfully
- error: @couldNotSave
- )
-
- syncedUp: (event) ->
- console.log(arguments)
- console.log('syncd')
-
- savedSuccessfully: (profile) =>
- @disableSaveButton()
- @ui.status.removeClass('hide')
- @ui.status.removeClass('alert-danger')
- @ui.status.html("Saved!")
-
- couldNotSave: =>
- console.log('fudge')
-
- enableSaveButton: ->
- @ui.save_button.removeAttr('disabled')
-
- disableSaveButton: ->
- @ui.save_button.attr('disabled', 'disabled')
-
- displayError: ->
- @disableSaveButton()
- @ui.status.addClass('alert-danger')
- @ui.status.removeClass('hide')
- @ui.status.html(@model.validationError)
-
- refreshStatus: ->
- @ui.status.addClass('hide')
- @enableSaveButton()
- @model.set('name', @ui.name.val())
- @model.set('email', @ui.email.val())
- @model.set('city', @ui.city.val())
- @model.set('website', @ui.website.val())
- @model.set('facebook', @ui.facebook.val())
- @model.set('twitter', @ui.twitter.val())
- @model.isValid()
-
- cancel: ->
- @enableSaveButton()
diff --git a/app/assets/javascripts/backbone/views/tutorials/index_view.js.coffee b/app/assets/javascripts/backbone/views/tutorials/index_view.js.coffee
deleted file mode 100644
index 6cdce8db..00000000
--- a/app/assets/javascripts/backbone/views/tutorials/index_view.js.coffee
+++ /dev/null
@@ -1,9 +0,0 @@
-#= require backbone/views/tutorials/no_tutorials_view
-#= require backbone/views/tutorials/tutorial_view
-CakeSide.Views.Tutorials ||= {}
-
-class CakeSide.Views.Tutorials.IndexView extends Marionette.CollectionView
- childView: CakeSide.Views.Tutorials.TutorialView
- emptyView: CakeSide.Views.Tutorials.NoTutorialsView
- className: ''
- tagName: 'div'
diff --git a/app/assets/javascripts/backbone/views/tutorials/new_view.js.coffee b/app/assets/javascripts/backbone/views/tutorials/new_view.js.coffee
deleted file mode 100644
index e8ba976f..00000000
--- a/app/assets/javascripts/backbone/views/tutorials/new_view.js.coffee
+++ /dev/null
@@ -1,68 +0,0 @@
-#= require service/embedly_service
-class CakeSide.Views.Tutorials.NewView extends Marionette.ItemView
- template: JST['backbone/templates/tutorials/new']
- ui:
- url: '#tutorial_url'
- url_group: '#url-group'
- save_button: '#save-button'
- preview: '#preview-panel'
- tags: '#tutorial_tags'
-
- modelEvents:
- 'invalid': 'displayError'
- 'change:url': 'render'
-
- events:
- 'change #tutorial_url': 'loadUrl'
- "submit #new-tutorial": "save"
-
- initialize: ->
- @model = new @collection.model()
- @service = new EmbedlyService()
-
- loadUrl: ->
- if @model.isValidUrl(@ui.url.val())
- @service.retrieve_info_on(@ui.url.val(), @updateTutorial)
- @validate()
-
- updateTutorial: (attributes) =>
- @model.set
- url: attributes.url
- heading: attributes.title
- description: attributes.description
- image_url: if _.any(attributes.images) then attributes.images[0].url else ''
- author: attributes.provider_name
- author_url: attributes.provider_url
-
- onRender: ->
- @ui.tags.tagit({ availableTags: ALL_TAGS })
-
- validate: ->
- @model.isValid()
-
- displayError: (model, error) ->
- @ui.save_button.attr('disabled', 'disabled')
- @ui.preview.hide()
- @ui.url_group.addClass("error")
- errorTag = $('<span>').addClass('help-inline').text(error)
- @ui.url_group.find('.controls').append(errorTag)
-
- save: (event) ->
- event.preventDefault()
- event.stopPropagation()
- @model.set('tags', @ui.tags.val())
- @ui.save_button.attr('disabled', 'disabled')
- @collection.create(@model,
- success: @savedSuccessfully
- error: @couldNotSave
- )
-
- savedSuccessfully: (cake) =>
- window.location.hash = "tutorials"
-
- couldNotSave: (cake, xhr) =>
- @ui.save_button.removeAttr('disabled')
- error = new CakeSide.Views.ErrorView
- el: @$('form#new-tutorial'),
- attributesWithErrors: $.parseJSON(xhr.responseText)
- error.render()
diff --git a/app/assets/javascripts/backbone/views/tutorials/no_tutorials_view.js.coffee b/app/assets/javascripts/backbone/views/tutorials/no_tutorials_view.js.coffee
deleted file mode 100644
index 77b2e71c..00000000
--- a/app/assets/javascripts/backbone/views/tutorials/no_tutorials_view.js.coffee
+++ /dev/null
@@ -1,5 +0,0 @@
-CakeSide.Views.Tutorials ||= {}
-
-class CakeSide.Views.Tutorials.NoTutorialsView extends Marionette.ItemView
- template: JST['backbone/templates/tutorials/no_tutorials']
- tagName: 'li'
diff --git a/app/assets/javascripts/backbone/views/tutorials/show_view.js.coffee b/app/assets/javascripts/backbone/views/tutorials/show_view.js.coffee
deleted file mode 100644
index 9f6ef782..00000000
--- a/app/assets/javascripts/backbone/views/tutorials/show_view.js.coffee
+++ /dev/null
@@ -1,7 +0,0 @@
-CakeSide.Views.Tutorials ||= {}
-
-class CakeSide.Views.Tutorials.ShowView extends Marionette.ItemView
- template: JST["backbone/templates/tutorials/show"]
- templateHelpers:
- displayDate: (date) ->
- date
diff --git a/app/assets/javascripts/backbone/views/tutorials/tutorial_view.js.coffee b/app/assets/javascripts/backbone/views/tutorials/tutorial_view.js.coffee
deleted file mode 100644
index 2766b53e..00000000
--- a/app/assets/javascripts/backbone/views/tutorials/tutorial_view.js.coffee
+++ /dev/null
@@ -1,10 +0,0 @@
-CakeSide.Views.Tutorials ||= {}
-
-class CakeSide.Views.Tutorials.TutorialView extends Marionette.ItemView
- template: JST['backbone/templates/tutorials/tutorial']
- tagName: 'div'
- className: 'media'
-
- templateHelpers:
- displayDate: (date) ->
- new Date(date).toLocaleDateString()