Skip to content

Commit

Permalink
Get add event button working. Fix #42
Browse files Browse the repository at this point in the history
  • Loading branch information
thgh committed Jul 29, 2015
1 parent 3ddabaa commit fbf2157
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 19 deletions.
4 changes: 1 addition & 3 deletions public/js/calendar.js
Expand Up @@ -46,9 +46,7 @@
window.location.href = $(this).data('base') + '/' + calnav.active().join('+');
});

$('#btn-addevent').on('click', function (e) {
editor.open()
});
$('#btn-addevent').on('click', editor.add);

// Close editor on blur
$(document.body).on('click', editor.close);
Expand Down
65 changes: 49 additions & 16 deletions public/js/editor.js
Expand Up @@ -165,14 +165,26 @@ var editor = (function() {
};
var t2Options = $.extend({}, t1Options);

var fixPopup = function() {
var fixPopup = function(editable) {
var $popover = $('.popover');
$popover.on('click', function(e) {
e.stopPropagation();
});
if ($popover.css('left').replace('px', '') < 0) {
$popover.css('left', '30px');
}

if (editable) {

// Launch datetimepicker
$('.input-date.d2').datetimepicker(d2Options);
$('.input-date.d1').datetimepicker(d1Options);
$('.input-time.t2').datetimepicker(t2Options);
$('.input-time.t1').datetimepicker(t1Options);

// Listen to allDay toggle
$('.input-allday').on('change', toggleAllDay);
}
};

// Toggle allDay to reflect parameter active
Expand All @@ -185,6 +197,32 @@ var editor = (function() {
$('.input-time').prop('disabled', allDay);
};

// Add event from scratch
var add = function(jsEvent) {

jsEvent.stopPropagation();

// Close current popover
close();

if (!user.logged_in) return;

d1Options.value = moment().format('YYYY-MM-DD');
t1Options.value = '08:00';
d2Options.value = moment().format('YYYY-MM-DD');
t2Options.value = '09:00';

// Launch popover
var $target = $(jsEvent.target);
$target.popover(popoverOptions);
$target.popover('show');

fixPopup(true);
toggleAllDay(null, true);

$('.popover .btn-danger').addClass('invisible');
};

// Show popover to create event
var select = function(start, end, jsEvent, view) {

Expand Down Expand Up @@ -223,16 +261,9 @@ var editor = (function() {
$target.popover(popoverOptions);
$target.popover('show');

fixPopup();
fixPopup(true);
toggleAllDay(null, allDay);

// Launch datetimepicker
$('.input-date.d2').datetimepicker(d2Options);
$('.input-date.d1').datetimepicker(d1Options);
$('.input-time.t2').datetimepicker(t2Options);
$('.input-time.t1').datetimepicker(t1Options);

$('.input-allday').on('change', toggleAllDay);
$('.popover .btn-danger').addClass('invisible');
};

Expand Down Expand Up @@ -275,6 +306,7 @@ var editor = (function() {
$('.input-descr').val(ev.description);
$('.input-location').val(ev.location);
$('.input-cals option[value="' + ev.calendar_id + '"]').prop('selected', true);
fixPopup(true);
} else {

// Set input fields
Expand Down Expand Up @@ -314,20 +346,21 @@ var editor = (function() {
content: $('.read-event-template').html()
});
$target.popover('show');
fixPopup();
}
fixPopup();
};

window.addEventListener('submit', create);

return {
open: open,
drop: drop,
remove: remove,
close: close,
active: active,
select: select,
add: add,
close: close,
drop: drop,
init: init,
logic: logic
logic: logic,
open: open,
remove: remove,
select: select
};
})();

0 comments on commit fbf2157

Please sign in to comment.