Skip to content

Commit

Permalink
Merge pull request #117 from mbrookes/patch-2
Browse files Browse the repository at this point in the history
Add Date attribute partial
  • Loading branch information
Matt committed Apr 17, 2015
2 parents 04726f0 + 38fe141 commit 8c86748
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 8 deletions.
42 changes: 34 additions & 8 deletions app/assets/javascripts/upmin/attributes/datetime.js
Expand Up @@ -68,13 +68,8 @@
return curMoment;
}






// Initializing the attribute view.
var init = function(formId) {
// Initializing the DateTime attribute view.
var initDateTime = function(formId) {
var dtSection = $("." + formId + ".datetime-attribute");
var hiddenInput = dtSection.find("input#" + formId + "[type=hidden]");
var dateInput = dtSection.find("#" + formId + "-date");
Expand Down Expand Up @@ -123,12 +118,43 @@
});
}

// Initializing the Date attribute view.
// TODO: Dry this up against DateTime
var initDate = function(formId) {
var dtSection = $("." + formId + ".date-attribute");
var hiddenInput = dtSection.find("input#" + formId + "[type=hidden]");
var dateInput = dtSection.find("#" + formId + "-date");

var dtMoment = moment(hiddenInput.val());
if (hiddenInput.val() == "") {
dtMoment = null;
}

var handleDateSelect = function() {
var newDateMoment = parseDate(dateInput.val());
setInputDate(newDateMoment, hiddenInput);
return newDateMoment;
}

// Create Date Picker
var datePicker = new Pikaday({ field: $("#" + formId + "-date")[0], onSelect: handleDateSelect });

dtSection.closest("form").submit(function(event) {
event.preventDefault();

handleDateSelect();

event.target.submit();
});
}

if (window.Upmin == null) {
window.Upmin = {};
}
if (window.Upmin.Attributes == null) {
window.Upmin.Attributes = {};
}
window.Upmin.Attributes.DateTime = init;

window.Upmin.Attributes.DateTime = initDateTime;
window.Upmin.Attributes.Date = initDate;
})();
26 changes: 26 additions & 0 deletions app/views/upmin/partials/attributes/_date.html.haml
@@ -0,0 +1,26 @@
- date = attribute.value.nil? ? nil : attribute.value

.form-group{class: attribute.errors? ? "has-error" : ""}
%label{for: attribute.form_id}
= attribute.label_name
- if attribute.editable? && f = form_builder
.row.date-attribute{class: attribute.form_id}
= f.hidden_field(attribute.name, value: date)
.col-md-12
.input-group.pikadate
%input.form-control{type: :text, value: date, id: "#{attribute.form_id}-date"}
%span.input-group-addon
%span.glyphicon.glyphicon-calendar

- content_for(:javascript) do
:javascript
$(document).ready(function() {
window.Upmin.Attributes.Date("#{attribute.form_id}");
});

- else
%p.well
-# TODO(jon): Make this show an uneditable date.
= date

0 comments on commit 8c86748

Please sign in to comment.