1
0
mirror of https://github.com/e107inc/e107.git synced 2025-09-02 02:42:40 +02:00

Merge pull request #1695 from lonalore/master

Fix for datepicker(). Tested!
This commit is contained in:
Cameron
2016-06-13 14:41:09 -07:00
committed by GitHub
2 changed files with 115 additions and 116 deletions

View File

@@ -0,0 +1,83 @@
// If you don't insert this line into your JS, you may see the error: e107 is not defined.
var e107 = e107 || {'settings': {}, 'behaviors': {}};
(function ($) {
/**
* Behavior to initialize date-time-picker on elements.
*
* @type {{attach: e107.behaviors.bootstrapDatetimepickerInit.attach}}
*/
e107.behaviors.bootstrapDatetimepickerInit = {
attach: function (context, settings) {
$(context).find('input.e-date,input.e-datetime').once('datetimepicker-onchange-init').each(function () {
var $item = $(this);
// Fix for changeDate() not being fired when value manually altered.
$item.on("change", function () {
var $this = $(this);
var useUnix = $this.attr("data-date-unix");
if (useUnix !== "true") {
var id = $this.attr("id");
var newTarget = "#" + id.replace("e-datepicker-", "");
var newValue = $this.val();
$(newTarget).val(newValue);
}
});
});
$(context).find('input.e-date').once('datetimepicker-init').each(function () {
var $item = $(this);
$item.datetimepicker({
minView: "month",
maxView: "decade",
autoclose: true,
format: $item.attr("data-date-format"),
weekStart: $item.attr("data-date-firstday"),
language: $item.attr("data-date-language")
}).on("changeDate", function (ev) {
var useUnix = $(this).attr("data-date-unix");
var newValue = "";
var newTarget = "#" + ev.target.id.replace("e-datepicker-", "");
if (useUnix === "true") {
newValue = parseInt(ev.date.getTime() / 1000);
}
else {
newValue = $("#" + ev.target.id).val();
}
$(newTarget).val(newValue);
});
});
$(context).find('input.e-date').once('datetimepicker-init').each(function () {
var $item = $(this);
$item.datetimepicker({
autoclose: true,
format: $item.attr("data-date-format"),
weekStart: $item.attr("data-date-firstday"),
showMeridian: $item.attr("data-date-ampm"),
language: $item.attr("data-date-language")
}).on("changeDate", function (ev) {
var useUnix = $(this).attr("data-date-unix");
var newValue = "";
var newTarget = "#" + ev.target.id.replace("e-datepicker-", "");
if (useUnix === "true") {
newValue = parseInt(ev.date.getTime() / 1000);
}
else {
newValue = $("#" + ev.target.id).val();
}
$(newTarget).val(newValue);
})
});
}
};
})(jQuery);