44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
/* -*- Mode: javascript; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
|
|
(function() {
|
|
'use strict';
|
|
|
|
/*
|
|
* sgCalendarDayTable - Build list of blocks for a specific day
|
|
* @memberof SOGo.Common
|
|
* @restrict element
|
|
* @param {object} sgBlocks - the events blocks definitions for the current view
|
|
* @param {string} sgDay - the day of the events to display
|
|
* @param {function} sgClick - the function to call when clicking on a block.
|
|
* Two variables are available: event (the event that triggered the mouse click),
|
|
* and component (a Component object)
|
|
*
|
|
* @example:
|
|
|
|
<sg-calendar-day-table
|
|
sg-blocks="calendar.blocks"
|
|
sg-day="20150330"
|
|
sg-click="open({ event: clickEvent, component: clickComponent })"/>
|
|
*/
|
|
function sgCalendarDayTable() {
|
|
return {
|
|
restrict: 'E',
|
|
scope: {
|
|
blocks: '=sgBlocks',
|
|
day: '@sgDay',
|
|
clickBlock: '&sgClick'
|
|
},
|
|
template: [
|
|
'<sg-calendar-day-block class="sg-event draggable"',
|
|
' ng-repeat="block in blocks[day]"',
|
|
' sg-block="block"',
|
|
' sg-click="clickBlock({event: clickEvent, component: clickComponent})"/>'
|
|
].join('')
|
|
};
|
|
}
|
|
|
|
angular
|
|
.module('SOGo.SchedulerUI')
|
|
.directive('sgCalendarDayTable', sgCalendarDayTable);
|
|
})();
|