Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance how events are listed in Modals #128

Open
fabiodrg opened this issue May 3, 2022 · 4 comments
Open

Enhance how events are listed in Modals #128

fabiodrg opened this issue May 3, 2022 · 4 comments
Labels
enhancement New feature or request extractor Extractor related issues UI/UX user interface/experience

Comments

@fabiodrg
Copy link
Collaborator

fabiodrg commented May 3, 2022

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>`);

@fabiodrg fabiodrg added enhancement New feature or request extractor Extractor related issues UI/UX user interface/experience discuss labels May 3, 2022
@fabiodrg
Copy link
Collaborator Author

fabiodrg commented May 3, 2022

@msramalho any thoughts on this?

@msramalho
Copy link
Owner

Indeed the priority is identifiable events rather than maximum customization, so I'd support separation of concerns, and if we must restrict how the events are show in the UI to a single constant format than that should not be such a big deal. Though ideally we would still allow users to customize how they show up in the calendar.

@fabiodrg
Copy link
Collaborator Author

Though ideally we would still allow users to customize how they show up in the calendar.

Yup, the idea is to keep that feature, I consider it a must have 😄 What I am proposing is that the UI would be controlled by us to ensure all the relevant information is shown

@msramalho
Copy link
Owner

sounds perfect :)

@fabiodrg fabiodrg removed the discuss label Jul 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request extractor Extractor related issues UI/UX user interface/experience
Projects
None yet
Development

No branches or pull requests

2 participants