app/assets/javascripts/models/active_page.coffee in kindred-0.0.3 vs app/assets/javascripts/models/active_page.coffee in kindred-0.0.4
- old
+ new
@@ -44,10 +44,13 @@
update_displays_on_page: ->
$.each @attributes, (attr, val) =>
# TODO make this work with span and p
$("div[data-k-uuid='" + @uuid + "'][data-attr='" + attr + "'], span[data-k-uuid='" + @uuid + "'][data-attr='" + attr + "'], p[data-k-uuid='" + @uuid + "'][data-attr='" + attr + "']").html(val)
+ update_meta_on_page: ->
+ $("[data-kindred-model]").find("div[data-k-uuid='" + @uuid + "']").data("meta", @meta)
+
dirty_from_page: ->
dirty = []
$.each $("input[data-k-uuid='" + @uuid + "'], select[data-k-uuid='" + @uuid + "']"), (i, input) =>
$input = $(input)
@@ -73,10 +76,12 @@
model_data = $("[data-kindred-model]").find("[data-k-uuid='" + @uuid + "']")
if !isNaN(parseFloat(model_data.data("id"))) && isFinite(model_data.data("id"))
@id = model_data.data("id")
+ @meta = model_data.data("meta")
+
$("select[data-k-uuid='" + @uuid + "']").each (i, select) =>
@set $(select).data("attr"), $(select).val()
@
@@ -89,15 +94,21 @@
model_data.data("id", @id)
$.each @attributes, (attr, val) =>
$("[data-k-uuid='" + @uuid + "'][data-attr='" + attr + "']").data("val", val)
_append_data_model_to_page: ->
- model_div = "<div data-k-uuid=" + @uuid + " data-id=" + @id + " data-class=" + @snake_name + "></div>"
+ model_div = "<div data-k-uuid=" + @uuid + " data-id=" + @id + " data-class=" + @snake_name + " data-meta=" + @_stringified_meta() + " ></div>"
$("[data-kindred-model]").append(model_div)
_input_dirty: (input) ->
if input.is("select") && input.data("val").length == 0
false
else if input.is(":checkbox")
!(input.data("val").toString() == input.prop("checked").toString())
else
!(input.data("val").toString() == input.val().toString())
+
+ _stringified_meta: ->
+ if @meta?
+ JSON.stringify(@meta)
+ else
+ ""