[feat]Fullcalendar integration done
This commit is contained in:
parent
49cf115844
commit
df729b7dde
9 changed files with 116 additions and 18 deletions
|
|
@ -55,6 +55,7 @@
|
|||
//= require bootstrap-select
|
||||
//= require osem-survey
|
||||
//= require pagy
|
||||
//= require fullcalendar-scheduler/main.js
|
||||
|
||||
$(document).ready(function() {
|
||||
$('a[disabled=disabled]').click(function(event){
|
||||
|
|
|
|||
|
|
@ -26,4 +26,6 @@
|
|||
*= require osem-navbar
|
||||
*= require mastodon
|
||||
*= require conferences
|
||||
|
||||
*= require fullcalendar-scheduler/main.css
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -19,11 +19,11 @@ class FullCalendarFormatter
|
|||
|
||||
def event_schedule_to_resource(event_schedule)
|
||||
{
|
||||
id: event_schedule.event.guid,
|
||||
title: event_schedule.event.title,
|
||||
start: event_schedule.start_time,
|
||||
end: event_schedule.end_time,
|
||||
source: event_schedule.room.guid
|
||||
id: event_schedule.event.guid,
|
||||
title: event_schedule.event.title,
|
||||
start: event_schedule.start_time,
|
||||
end: event_schedule.end_time,
|
||||
resourceId: event_schedule.room.guid
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@
|
|||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
||||
timeZone: 'UTC',
|
||||
initialView: 'resourceTimeGridDay',
|
||||
resources: "<%= @rooms >",
|
||||
events: "<%= @event_schedules >"
|
||||
resources: #{@rooms.html_safe},
|
||||
events: #{@event_schedules.html_safe}
|
||||
});
|
||||
|
||||
calendar.render();
|
||||
|
|
|
|||
|
|
@ -80,5 +80,7 @@ module Osem
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
config.assets.paths << Rails.root.join('node_modules')
|
||||
end
|
||||
end
|
||||
|
|
|
|||
87
package-lock.json
generated
Normal file
87
package-lock.json
generated
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
{
|
||||
"requires": true,
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"@fullcalendar/common": {
|
||||
"version": "5.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/common/-/common-5.6.0.tgz",
|
||||
"integrity": "sha512-4i4kZDVpRvfdKoJHRljDHsoYu466Odor9FhekP+67dIUoNnXSDTnQRmGfURwiF4RwaTsdWKe2+B7gors9G7zZA==",
|
||||
"requires": {
|
||||
"tslib": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"@fullcalendar/daygrid": {
|
||||
"version": "5.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-5.6.0.tgz",
|
||||
"integrity": "sha512-UaNn6/vKQ3zI4/sDhrMACkIHOSZb/MA0JGlvvw3OTYFULqE5TISuYYnDbo9S1Wdz3AbTBvCzYy5Qk1vZQFsGwg==",
|
||||
"requires": {
|
||||
"@fullcalendar/common": "~5.6.0",
|
||||
"tslib": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"@fullcalendar/premium-common": {
|
||||
"version": "5.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/premium-common/-/premium-common-5.6.0.tgz",
|
||||
"integrity": "sha512-AtcoKphdGasBHNlN9DD7Kxc/7EmCUpIRu7JVRJYnrm4cR8rM3gCUCMMoPt8pyEfy4P/GN/4wGko54kgPkLzUTg==",
|
||||
"requires": {
|
||||
"@fullcalendar/common": "~5.6.0",
|
||||
"tslib": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"@fullcalendar/resource-common": {
|
||||
"version": "5.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/resource-common/-/resource-common-5.6.0.tgz",
|
||||
"integrity": "sha512-9FTGQcUO+ER6U44Tj32c+pSvsJ+5CrGs1RDxRyei8UIvUwY6SxQySgdAozW3yxwozEoc5TZ7xLrlLw7vKAwN6w==",
|
||||
"requires": {
|
||||
"@fullcalendar/common": "~5.6.0",
|
||||
"@fullcalendar/premium-common": "~5.6.0",
|
||||
"tslib": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"@fullcalendar/resource-daygrid": {
|
||||
"version": "5.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/resource-daygrid/-/resource-daygrid-5.6.0.tgz",
|
||||
"integrity": "sha512-KWV61gxtgFoaFTPi6b/MP/FaROMtu8c2ijzznMY5VPjQzjU5CSaWLpPht1T2ZOije3QTiDZ8Gx4M4yLFKMHCAg==",
|
||||
"requires": {
|
||||
"@fullcalendar/common": "~5.6.0",
|
||||
"@fullcalendar/daygrid": "~5.6.0",
|
||||
"@fullcalendar/premium-common": "~5.6.0",
|
||||
"@fullcalendar/resource-common": "~5.6.0",
|
||||
"tslib": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"@fullcalendar/resource-timegrid": {
|
||||
"version": "5.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/resource-timegrid/-/resource-timegrid-5.6.0.tgz",
|
||||
"integrity": "sha512-BAiSTeuL8P0YwG2o6roavDP2dlA5cXFrxcYhx4qvEyqxscmGunI5NnxhmXafpnWO60PgvwHO++EoJvAsR3WSSg==",
|
||||
"requires": {
|
||||
"@fullcalendar/common": "~5.6.0",
|
||||
"@fullcalendar/premium-common": "~5.6.0",
|
||||
"@fullcalendar/resource-common": "~5.6.0",
|
||||
"@fullcalendar/resource-daygrid": "~5.6.0",
|
||||
"@fullcalendar/timegrid": "~5.6.0",
|
||||
"tslib": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"@fullcalendar/timegrid": {
|
||||
"version": "5.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@fullcalendar/timegrid/-/timegrid-5.6.0.tgz",
|
||||
"integrity": "sha512-NG55pzPvrzZEuVq+/Vn1ZbyKARVjsE6PzhiOHvJuyt3gzVPeWjXGUWjDN3BSDZ8p/4dthbF6H9mCPia977aV1g==",
|
||||
"requires": {
|
||||
"@fullcalendar/common": "~5.6.0",
|
||||
"@fullcalendar/daygrid": "~5.6.0",
|
||||
"tslib": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"fullcalendar-scheduler": {
|
||||
"version": "5.6.0",
|
||||
"resolved": "https://registry.npmjs.org/fullcalendar-scheduler/-/fullcalendar-scheduler-5.6.0.tgz",
|
||||
"integrity": "sha512-0jx/Q+6QqzvIGWU/52OE27UVjVAiM9E0o/qRwRcEhyuKlL54ypTF/yXP/wo0ctUtui5dDsilGNsSsba1xmARJA=="
|
||||
},
|
||||
"tslib": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz",
|
||||
"integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"@fullcalendar/resource-timegrid": "^5.6.0"
|
||||
"@fullcalendar/resource-timegrid": "^5.6.0",
|
||||
"fullcalendar-scheduler": "^5.6.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,18 +30,18 @@ describe FullCalendarFormatter do
|
|||
resources = described_class.event_schedules_to_resources(event_schedules)
|
||||
expected_json = [
|
||||
{
|
||||
id: event_schedule1.event.guid,
|
||||
title: event_schedule1.event.title,
|
||||
start: event_schedule1.start_time,
|
||||
end: event_schedule1.end_time,
|
||||
source: room1.guid
|
||||
id: event_schedule1.event.guid,
|
||||
title: event_schedule1.event.title,
|
||||
start: event_schedule1.start_time,
|
||||
end: event_schedule1.end_time,
|
||||
resourceId: room1.guid
|
||||
},
|
||||
{
|
||||
id: event_schedule2.event.guid,
|
||||
title: event_schedule2.event.title,
|
||||
start: event_schedule2.start_time,
|
||||
end: event_schedule2.end_time,
|
||||
source: room2.guid
|
||||
id: event_schedule2.event.guid,
|
||||
title: event_schedule2.event.title,
|
||||
start: event_schedule2.start_time,
|
||||
end: event_schedule2.end_time,
|
||||
resourceId: room2.guid
|
||||
}
|
||||
].to_json
|
||||
expect(resources).to eq(expected_json)
|
||||
|
|
|
|||
|
|
@ -66,6 +66,11 @@
|
|||
"@fullcalendar/daygrid" "~5.6.0"
|
||||
tslib "^2.0.3"
|
||||
|
||||
fullcalendar-scheduler@^5.6.0:
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/fullcalendar-scheduler/-/fullcalendar-scheduler-5.6.0.tgz#8328318d3d5901188a4ccb8c3cd4b756d2c76e16"
|
||||
integrity sha512-0jx/Q+6QqzvIGWU/52OE27UVjVAiM9E0o/qRwRcEhyuKlL54ypTF/yXP/wo0ctUtui5dDsilGNsSsba1xmARJA==
|
||||
|
||||
tslib@^2.0.3:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue