Blame view
app/js/plugins/example.js
3.38 KB
4bb02bb84
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
angular.module('mwl.calendar.docs', ['mwl.calendar', 'ngAnimate', 'ui.bootstrap', 'colorpicker.module']); angular .module('mwl.calendar.docs') //you will need to declare your module with the dependencies ['mwl.calendar', 'ui.bootstrap', 'ngAnimate'] .controller('KitchenSinkCtrl', function(moment, alert, calendarConfig) { var vm = this; //These variables MUST be set as a minimum for the calendar to work vm.calendarView = 'month'; vm.viewDate = new Date(); var actions = [{ label: '<i class=\'glyphicon glyphicon-pencil\'></i>', onClick: function(args) { alert.show('Edited', args.calendarEvent); } }, { label: '<i class=\'glyphicon glyphicon-remove\'></i>', onClick: function(args) { alert.show('Deleted', args.calendarEvent); } }]; vm.events = [ { title: 'An event', color: calendarConfig.colorTypes.warning, startsAt: moment().startOf('week').subtract(2, 'days').add(8, 'hours').toDate(), endsAt: moment().startOf('week').add(1, 'week').add(9, 'hours').toDate(), draggable: true, resizable: true, actions: actions }, { title: '<i class="glyphicon glyphicon-asterisk"></i> <span class="text-primary">Another event</span>, with a <i>html</i> title', color: calendarConfig.colorTypes.info, startsAt: moment().subtract(1, 'day').toDate(), endsAt: moment().add(5, 'days').toDate(), draggable: true, resizable: true, actions: actions }, { title: 'This is a really long event title that occurs on every year', color: calendarConfig.colorTypes.important, startsAt: moment().startOf('day').add(7, 'hours').toDate(), endsAt: moment().startOf('day').add(19, 'hours').toDate(), recursOn: 'year', draggable: true, resizable: true, actions: actions } ]; vm.cellIsOpen = true; vm.addEvent = function() { vm.events.push({ title: 'New event', startsAt: moment().startOf('day').toDate(), endsAt: moment().endOf('day').toDate(), color: calendarConfig.colorTypes.important, draggable: true, resizable: true }); }; vm.eventClicked = function(event) { alert.show('Clicked', event); }; vm.eventEdited = function(event) { alert.show('Edited', event); }; vm.eventDeleted = function(event) { alert.show('Deleted', event); }; vm.eventTimesChanged = function(event) { alert.show('Dropped or resized', event); }; vm.toggle = function($event, field, event) { $event.preventDefault(); $event.stopPropagation(); event[field] = !event[field]; }; vm.timespanClicked = function(date, cell) { if (vm.calendarView === 'month') { if ((vm.cellIsOpen && moment(date).startOf('day').isSame(moment(vm.viewDate).startOf('day'))) || cell.events.length === 0 || !cell.inMonth) { vm.cellIsOpen = false; } else { vm.cellIsOpen = true; vm.viewDate = date; } } else if (vm.calendarView === 'year') { if ((vm.cellIsOpen && moment(date).startOf('month').isSame(moment(vm.viewDate).startOf('month'))) || cell.events.length === 0) { vm.cellIsOpen = false; } else { vm.cellIsOpen = true; vm.viewDate = date; } } }; }); |