Internal: Use latest version of fullcalendar

pull/3464/head
Julio Montoya 5 years ago
parent 892fc26a4c
commit 39cb60f1a4
  1. 1
      assets/css/app.scss
  2. 6
      assets/js/app.js
  3. 7
      assets/js/vendor.js
  4. 2
      package.json
  5. 1
      psalm.xml
  6. 12
      public/main/calendar/agenda_js.php
  7. 8
      public/main/inc/lib/api.lib.php
  8. 69
      public/main/template/default/agenda/month.html.twig
  9. 14
      webpack.config.js
  10. 37
      yarn.lock

@ -5,7 +5,6 @@
@import "~@fortawesome/fontawesome-free/css/all.css";
@import '~cropper/dist/cropper.css';
@import '~flag-icon-css/sass/flag-icon.scss';
@import "~fullcalendar/dist/fullcalendar.css";
@import "~select2/dist/css/select2.css";
@import "~bootstrap-daterangepicker/daterangepicker.css";
//@import "~bootstrap-select/sass/bootstrap-select";

@ -15,12 +15,14 @@ const moment = require('moment');
global.moment = moment;
require('select2/dist/js/select2.full.min');
require("flatpickr");
import('bootstrap-vue');
//import('bootstrap-vue');
import('bootstrap');
require('bootstrap-daterangepicker');
import('webpack-jquery-ui');
import('webpack-jquery-ui/css');
import('./vendor');
require('./vendor');
import('./main');
require('webpack-jquery-ui');
require('webpack-jquery-ui/css');
require('blueimp-file-upload');

@ -5,16 +5,13 @@
require('qtip2');
require('image-map-resizer/js/imageMapResizer.js');
require('cropper');
require('jquery-ui-timepicker-addon/dist/jquery-ui-timepicker-addon');
// require('jquery-ui-timepicker-addon/dist/jquery-ui-timepicker-addon');
//import('select2');
require('timeago');
//require('sweetalert2');
//import('bootstrap-select');
import('fullcalendar/dist/fullcalendar.js');
import('fullcalendar/dist/gcal.js');
import('fullcalendar/dist/locale-all.js');
require('easy-pie-chart/dist/jquery.easypiechart.min');
require('jquery-ui-timepicker-addon');
// require('jquery-ui-timepicker-addon');
require('@fancyapps/fancybox/dist/jquery.fancybox.js');
require('@fancyapps/fancybox/src/js/media.js');
require('jquery-contextmenu/dist/jquery.contextMenu.js');

@ -34,7 +34,7 @@
"flag-icon-css": "^3.0",
"flatpickr": "^4.6.6",
"fs": "0.0.1-security",
"fullcalendar": "^3.0",
"fullcalendar": "^5.3.2",
"graphql": "^15.0.0",
"highlight.js": "^9.0",
"hljs": "^6.2",

@ -27,6 +27,7 @@
<!-- <directory name="public/main/gradebook/lib/fe"/>-->
<!-- <directory name="public/main/forum"/>-->
<directory name="public/main/link" />
<!-- <directory name="public/main/lp"/>-->
<!-- <directory name="public/main/session" /> -->
<!-- <directory name="public/main/inc/ajax" />-->

@ -19,10 +19,8 @@ $userId = isset($_REQUEST['user_id']) ? $_REQUEST['user_id'] : null;
$current_course_tool = TOOL_CALENDAR_EVENT;
$this_section = SECTION_MYAGENDA;
/*$htmlHeadXtra[] = api_get_asset('fullcalendar/dist/fullcalendar.js');
$htmlHeadXtra[] = api_get_asset('fullcalendar/dist/locale-all.js');
$htmlHeadXtra[] = api_get_asset('fullcalendar/dist/gcal.js');
$htmlHeadXtra[] = api_get_css_asset('fullcalendar/dist/fullcalendar.min.css');*/
$htmlHeadXtra[] = api_get_asset('fullcalendar/main.js');
$htmlHeadXtra[] = api_get_css_asset('fullcalendar/main.css');
if (api_is_platform_admin() && ('admin' === $type || 'platform' === $type)) {
$type = 'admin';
@ -166,7 +164,11 @@ if ('course' === $type && !empty($group_id)) {
$defaultView = api_get_setting('default_calendar_view');
if (empty($defaultView)) {
$defaultView = 'month';
$defaultView = 'dayGridMonth';
}
if ('month' === $defaultView) {
$defaultView = 'dayGridMonth';
}
/* month, basicWeek, agendaWeek, agendaDay */

@ -6651,6 +6651,12 @@ function api_get_build_js($file)
return '<script type="text/javascript" src="'.api_get_path(WEB_PUBLIC_PATH).'build/'.$file.'"></script>'."\n";
}
function api_get_build_css($file, $media = 'screen')
{
return '<link
href="'.api_get_path(WEB_PUBLIC_PATH).'build/'.$file.'" rel="stylesheet" media="'.$media.'" type="text/css" />'."\n";
}
/**
* Returns the <script> HTML tag.
*
@ -6671,7 +6677,7 @@ function api_get_asset($file)
*/
function api_get_css_asset($file, $media = 'screen')
{
return '<link href="'.api_get_path(WEB_PUBLIC_PATH).'libs/'.$file.'" rel="stylesheet" media="'.$media.'" type="text/css" />'."\n";
return '<link href="'.api_get_path(WEB_PUBLIC_PATH).'build/libs/'.$file.'" rel="stylesheet" media="'.$media.'" type="text/css" />'."\n";
}
/**

@ -50,14 +50,15 @@
}
});
var calendar = $('#calendar').fullCalendar({
themeSystem: 'bootstrap4',
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
themeSystem: 'bootstrap',
contentHeight: 650,
handleWindowResize: true,
header: {
headerToolbar: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay,listMonth'
right: 'dayGridMonth,listWeek,dayGridWeek,listMonth'
},
views: {
/*listDay: { buttonText: 'list day' },
@ -74,27 +75,29 @@
}
],
{% endif %}
defaultView: defaultView,
defaultDate: defaultStartDate,
firstHour: 8,
initialView: defaultView,
initialDate: defaultStartDate,
scrollTime: 8,
firstDay: 1,
selectable : true,
selectHelper: true,
viewRender: function(view, element) {
selectMirror: true,
datesSet: function(dateInfo) {
var view = dateInfo.view;
var data = {
'view': view.name,
'start': view.intervalStart.format("YYYY-MM-DD")
//'start': view.intervalStart.format("YYYY-MM-DD")
'start': dateInfo.startStr
};
Cookies.set('agenda_cookies', data, 1); // Expires 1 day
},
// Add event
select: function(start, end, jsEvent, view) {
select: function(info) {
var start = moment(info.start);
var end = moment(info.end);
var diffDays = moment(end).diff(start, 'days');
var allDay = true;
if (end.hasTime()) {
allDay = false;
}
var allDay = info.allDay;
var view = info.view;
$('#visible_to_input').show();
$('#add_as_announcement_div').show();
@ -189,31 +192,32 @@
}*/
}
calendar.fullCalendar('refetchEvents');
calendar.fullCalendar('rerenderEvents');
calendar.refetchEvents();
$('#modalDialogForm').modal('toggle');
}
});
});
calendar.fullCalendar('unselect');
//Reload events
calendar.fullCalendar("refetchEvents");
calendar.fullCalendar("rerenderEvents");
// Reload events
calendar.refetchEvents();
calendar.unselect();
}
},
eventClick: function(calEvent, jsEvent, view) {
eventClick: function(info) {
var calEvent = info.event;
var view = info.view;
var start = calEvent.start;
var end = calEvent.end;
var diffDays = moment(end).diff(start, 'days');
var endDateMinusOne = '';
if (end) {
var clone = end.clone();
endDateMinusOne = clone.subtract(1, 'days').format('{{ js_format_date }}');
//var clone = end.clone();
var endValue = moment(end);
endDateMinusOne = endValue.subtract(1, 'days').format('{{ js_format_date }}');
}
var startDateToString = start.format("{{ js_format_date }}");
var startDateToString = moment(start).format("{{ js_format_date }}");
// Edit event.
if (calEvent.editable) {
@ -458,13 +462,20 @@
}
});
},
axisFormat: 'H(:mm)', // pm-am format -> h(:mm)a
timeFormat: 'H:mm', // pm-am format -> h:mm
slotLabelFormat: 'H(:mm)', // pm-am format -> h(:mm)a
///timeFormat: 'H:mm', // pm-am format -> h:mm
eventTimeFormat:{
hour: 'numeric',
minute: '2-digit',
meridiem: false
},
loading: function(bool) {
if (bool) $('#loading').show();
else $('#loading').hide();
}
});
calendar.render();
});
</script>

@ -10,12 +10,12 @@ Encore
.enableBuildNotifications()
.addEntry('app', './assets/js/app.js')
.addEntry('vue', './assets/vue/main.js')
.addEntry('bootstrap', './assets/js/bootstrap.js')
.addEntry('exercise', './assets/js/exercise.js')
.addEntry('free-jqgrid', './assets/js/free-jqgrid.js')
.addStyleEntry('css/app', './assets/css/app.scss')
.addEntry('vue', './assets/vue/main.js')
.addStyleEntry('css/app', './assets/css/app.scss')
.addStyleEntry('css/chat', './assets/css/chat.css')
.addStyleEntry('css/document', './assets/css/document.css')
.addStyleEntry('css/editor', './assets/css/editor.css')
@ -49,6 +49,16 @@ Encore
}
})*/
.copyFiles([
{
from: './node_modules/fullcalendar/',
pattern: /(main.js)$/,
to: 'libs/fullcalendar/main.js'
},
{
from: './node_modules/fullcalendar/',
pattern: /(main.css)$/,
to: 'libs/fullcalendar/main.css'
},
{
from: './node_modules/multiselect-two-sides/dist/js',
pattern: /(multiselect.js)$/,

@ -1058,6 +1058,30 @@
version "2.0.0"
resolved "https://codeload.github.com/fortawesome/vue-fontawesome/tar.gz/bc4b18dd5ff585d1178022495416e94a25fb3066"
"@fullcalendar/common@~5.3.1":
version "5.3.1"
resolved "https://registry.yarnpkg.com/@fullcalendar/common/-/common-5.3.1.tgz#9193032cf88f12ebcd8337ef6e98b23fbbbf04ca"
integrity sha512-2PREEpiFQSDN5MNdoD/OkpJ+d7FPtN2TwTJMsuq3fTjmj3nM+utrxBmUr9a2F6WWW1X+xGU5nHQA52vhqIiQOQ==
dependencies:
tslib "^2.0.0"
"@fullcalendar/core@^5.3.1":
version "5.3.1"
resolved "https://registry.yarnpkg.com/@fullcalendar/core/-/core-5.3.1.tgz#183140648e4c07a452e10a13259768406065329f"
integrity sha512-CqcpMimyuTf4DI+s1Se9bjVQMa2PDGtTBj8CYaCf8nSu+Wc6/RoimhIiA5bDTyg4KQFqXFT8ojt1avC05ZBvgg==
dependencies:
"@fullcalendar/common" "~5.3.1"
preact "^10.0.5"
tslib "^2.0.0"
"@fullcalendar/daygrid@^5.3.2":
version "5.3.2"
resolved "https://registry.yarnpkg.com/@fullcalendar/daygrid/-/daygrid-5.3.2.tgz#c12160fb76729f13dc423c0db12664969ef01af0"
integrity sha512-BK+YIecF3q9d/+6lAnf6WiJEEs7Wpa/mu9gXpkEf8vn4nl2bicPHUwykg5dUMCBy7ADAkDoL7VuBVi0XBRtPYw==
dependencies:
"@fullcalendar/common" "~5.3.1"
tslib "^2.0.0"
"@hapi/address@2.x.x":
version "2.1.4"
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
@ -7413,10 +7437,10 @@ fswin@^2.17.1227:
resolved "https://registry.yarnpkg.com/fswin/-/fswin-2.17.1227.tgz#c598061e1ac1e7110e2e6ce884296efa27dc2507"
integrity sha512-xNDktvwzSsXT8Xqnpz59VbuFwGHhtn1w+dS7QQ+wAu5cbH0p3WMGKU9Duf7cPna+nubhR+5ZG1MTl6/V6xgRgw==
fullcalendar@^3.0:
version "3.10.2"
resolved "https://registry.yarnpkg.com/fullcalendar/-/fullcalendar-3.10.2.tgz#9b1ba84bb02803621b761d1bba91a4f18affafb7"
integrity sha512-YWZaHdp8ZLBqhPz615PoXdA49ymsBTUF+MGDM6H3vyz71Pv/ZW9Pm9/Mj3x6n822k6bs2txFO7muRTSvBhsqKg==
fullcalendar@^5.3.2:
version "5.3.2"
resolved "https://registry.yarnpkg.com/fullcalendar/-/fullcalendar-5.3.2.tgz#9603ac9dd372de8546dc50ec9dc03317c08ddf87"
integrity sha512-yoNPnz51so+nWV+Ge/X1NECsTy+viP6nhHgRql5U3WvV7XL09yDIWXSCcuEaU4C/0ZmpUApgZ+e7wvWB0TYwRA==
function-bind@^1.1.1:
version "1.1.1"
@ -11718,6 +11742,11 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.3
source-map "^0.6.1"
supports-color "^6.1.0"
preact@^10.0.5:
version "10.4.8"
resolved "https://registry.yarnpkg.com/preact/-/preact-10.4.8.tgz#8517b106cc5591eb675237c93da99ac052cf4756"
integrity sha512-uVLeEAyRsCkUEFhVHlOu17OxcrwC7+hTGZ08kBoLBiGHiZooUZuibQnphgMKftw/rqYntNMyhVCPqQhcyAGHag==
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"

Loading…
Cancel
Save