Steps to reproduce:
- Go to pivot view
- Select a custom time range
- Select a predefined comparison period (Ex. Previous Period)
Now you see that the comparison period is not being applied.
After this commit the comparison period is applied correctly.
TT29249
- Convert Moment.js to Luxon.
- Replace Underscore.js with native JavaScript code.
- Migrate legacy views to the new system and add an architecture parser to separate logic.
- added basic test
In addition to security rights (was already implemented), now follow
`create="0"` / `edit="0"` / `delete="0"` attributes one can set onto the
`timeline` tag, same as in other Odoo views.
This commit fixes redraw issues when setting a `mode` attribute in the
`timeline` view tag.
This mode specifies a default scale one would want to set; same as when
clicking on Day/Week/Month buttons at the top of the view.
Initial rendering had issues here because data was loaded too soon,
before the timeline component was rendered/ready. The fix is to load
data into the component only after initial redraw event, called
`changed` (see <https://visjs.github.io/vis-timeline/docs/timeline/#Events>).
There was old code attempting to call `on_scale_xxx_clicked` methods at
load time to simulate clicks on these Day/Week/Month buttons, but these
methods have been renamed so this code is no longer working.
This commit also removes the `current_window` instance variable, not
needed and actually confusing as the timeline component already
maintains its own start/end information (which we can query with
`timeline.getWindow()`).
Inverted dates make no functional sense, but when they do happen, this
change allows displaying them as single points in the timeline (same as
when begin=end).
We currently do have such demo data when installing project_timeline.
When an item label does not fit in its date-range box, overflow
according to
https://visjs.github.io/vis-timeline/examples/timeline/items/rangeOverflowItem.html
Previous CSS code was already trying to do that, but was selecting
`.vis-item.vis-item-content` instead of `.vis-item .vis-item-content`.
Displaying overflow text brings up layout issues solved by removing the
forced-100% width instruction.
This change also adds highlight when hovering a box, which is useful on
text that has overflown (as it has no borders).