Skip to content

Enhance how events are listed in Modals #128

@fabiodrg

Description

@fabiodrg

Motivation

At the moment, the modal of events for exporting shows the event title, which is the same title used when creating the events for Google/Outlook/ICS/etc. Note that if the user changes the title formatting, it also affects how events are shown in the lists.

I personally think the modals should show all the necessary information so that the user can easily identify the events. For example, consider the exams. The default title format is Exam [${subject.acronym}] - ${location}. So the list looks like this:
image

A few problems. First, the course name/acronym is not sufficient to identify which exam is which. For instance, note the two exams for the course AC. Is the first AC exam a "mini teste"? a special exam? is it the same exam but split in two turns? In my opinion, it would be more meaningful to show richer information such as:

  • Course name
  • Type of exam ("mini teste", "época normal", ...)
  • Date and time

Back to the example AC, and with the richer information, it would be obvious it is the same exam but it has two turns.

Proposal

So in my opinion we should separate these two concerns:

  • How events are created in calendar clients (user customisable)?
  • How do we list/represent events in the UI for exporting? Must show all the information to correctly identify the events. Will vary from extractor to extractor.

As we migrate event related extractors to EventExtractor, I think is not very difficult to solve this problem. Extend the current createEventsModal to take an additional and optional argument that is a callback function.

function createEventsModal(events, from, to) {

The callback is called to generate HTML per event, replacing the code below:
const $item = createElementFromString(`
<li>
<input type="checkbox" id="event_${i}">
<label for="event_${i}" title="${start} to ${end}">${event.title}</label>
</li>`);

Metadata

Metadata

Assignees

No one assigned

    Labels

    UI/UXuser interface/experienceenhancementNew feature or requestextractorExtractor related issues

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions