var user = {
}
var myResources = [{
id: 1,
name: 'Jude Chester',
color: '#fadaff'
}, {
id: 2,
name: 'Willis Cane',
color: '#ffffd0'
}, {
id: 3,
name: 'Derek Austyn',
color: '#e1ffd6'
}, {
id: 4,
name: 'Merv Kenny',
color: '#fac4c4'
}, {
id: 5,
name: 'Fred Waldez',
color: '#bfdeff'
}];
var myEvents = [{
start: '2026-04-01T11:00',
end: '2026-04-01T15:00',
title: 'Task 1',
resource: 1
}, {
start: '2026-04-01T14:00',
end: '2026-04-01T17:00',
title: 'Task 2',
resource: 3
}, {
start: '2026-04-01T12:00',
end: '2026-04-01T14:00',
title: 'Task 3',
resource: 4
}, {
start: '2026-04-02T10:00',
end: '2026-04-02T15:00',
title: 'Task 4',
resource: 1
}, {
start: '2026-04-02T11:00',
end: '2026-04-02T13:00',
title: 'Task 5',
resource: 2
}, {
start: '2026-04-02T14:00',
end: '2026-04-02T17:00',
title: 'Task 6',
resource: 2
}, {
start: '2026-04-02T12:00',
end: '2026-04-02T15:00',
title: 'Task 7',
resource: 3
}, {
start: '2026-04-02T17:00',
end: '2026-04-02T20:00',
title: 'Task 8',
resource: 3
}, {
start: '2026-04-02T08:00',
end: '2026-04-02T11:30',
title: 'Task 9',
resource: 4
}, {
start: '2026-04-02T12:00',
end: '2026-04-02T14:00',
title: 'Task 10',
resource: 4
}, {
start: '2026-04-02T10:00',
end: '2026-04-02T13:00',
title: 'Task 11',
resource: 5
}, {
start: '2026-04-02T14:00',
end: '2026-04-02T16:00',
title: 'Task 12',
resource: 5
}, {
start: '2026-04-02T16:30',
end: '2026-04-02T19:00',
title: 'Task 13',
resource: 5
}, {
start: '2026-04-03T11:00',
end: '2026-04-03T14:00',
title: 'Task 14',
resource: 2
}, {
start: '2026-04-03T16:00',
end: '2026-04-03T20:00',
title: 'Task 15',
resource: 5
}]
function login() {
var updatedTasks = $.extend(true, [], myEvents);
var updatedResources = $.extend(true, [], myResources);
var eventEdit = user.role != 'readonly';
var task;
var defaultColor;
if (user.role === 'readonly') {
for (var i = 0; i < updatedTasks.length; i++) {
task = updatedTasks[i];
// Disable editing for all events
task.editable = false;
// Make event colors uniform
task.color = '#af2ec3';
}
}
else if (user.role === 'limited') {
defaultColor = '#af2424';
for (var i = 0; i < updatedTasks.length; i++) {
task = updatedTasks[i];
if (task.resource !== user.id) {
// Disable editing events of other users
task.editable = false;
// Set disabled event colors to gray
task.color = '#6a6a6a';
} else {
// Make event colors uniform
task.color = '#af2424'
}
}
for (var i = 0; i < updatedResources.length; i++) {
var res = updatedResources[i];
if (res.id !== user.id) {
// Disable event creation for other users
res.eventCreation = false;
}
}
}
// Update events, resources and d&d options
myCalendar.setOptions({
data: updatedTasks,
resources: updatedResources,
clickToCreate: eventEdit,
dragToCreate: eventEdit,
dragToMove: eventEdit,
dragToResize: eventEdit,
eventDelete: eventEdit,
extendDefaultEvent: function () {
return {
color: defaultColor,
};
},
});
}
var myCalendar = $('#my-calendar').mobiscroll().eventcalendar({
view: {
timeline: {
type: 'week',
startTime: '08:00',
endTime: '20:00',
}
},
resources: myResources,
data: myEvents
}).mobiscroll('getInst');