Files
DataLogger-Generic/web_db/flask/app/static/js/datalogger.coffee
2016-10-26 17:45:25 -05:00

100 lines
2.2 KiB
CoffeeScript

DataLogger = new Backbone.Marionette.Application()
TagModel = Backbone.Model.extend({
urlRoot: "/api/tags"
})
TagCollection = Backbone.Collection.extend({
model: TagModel
url: "/api/tags"
})
TagView = Backbone.Marionette.ItemView.extend(
template: "#tagView"
)
NoTagView = Backbone.Marionette.ItemView.extend(
template: "#noUserView"
)
TagsView = Backbone.Marionette.CollectionView.extend(
itemView: TagView
emptyView: NoTagView
)
FormView = Backbone.Marionette.ItemView.extend(
template: "#formView"
events:
'click button': 'createNewTag'
ui:
name: "#name"
tag: "#tag"
createNewTag: () ->
this.collection.add(
name: this.ui.name.val()
tag: this.ui.tag.val()
)
this.ui.name.val("")
this.ui.tag.val("")
)
DataLogger.addRegions(
form: "#form"
list: "#list"
)
DataLogger.addInitializer () ->
DataLogger.tags = new TagCollection();
DataLogger.form.show(new FormView(
collection: DataLogger.tags
))
DataLogger.list.show(new TagsView(
collection: DataLogger.tags
))
DataLogger.start()
TagViewOld = Backbone.View.extend {
tagName: "li"
template: _.template("<p><%= name %></p>")
events:
"click": "console.log('clicked')"
initialize: () ->
_.bindAll(this, "render")
this.render()
render: () ->
this.el.innerHTML = this.template(this.model.toJSON())
this
}
AppView = Backbone.View.extend {
el: $("#container")
initialize: () ->
_.bindAll(this, "render")
this.render(new TagModel())
render: (item) ->
view = new TagView({model: item})
this.el.append(view.render().el)
}
getAllTags = (callback) ->
new TagModel().fetch({
success: (collection, response) ->
d = response.objects
delete response.objects
metadata = response
callback
data: d
metadata: metadata
})
getTag = (tagid, callback) ->
new TagModel({id: tagid}).fetch({
success: (collection, response) ->
callback
data: response
})