This project is mirrored from https://*****@github.com/iqb-berlin/verona-modules-aspect.git.
Pull mirroring updated .
- Dec 13, 2021
-
-
rhenck authored
Use unit field of UnitService directly to detect changes.
-
- Dec 10, 2021
-
-
rhenck authored
This makes for cleaner imports.
-
rhenck authored
The dropListList generation is now done when things are changed via the section menu and no longer on element update via unit service. Also remove some interfaces to avoid circular imports. The interfaces are so small and insignificant that their form might as well be specified at usage point.
-
rhenck authored
No longer have unit as subject. Components can use the unit variable as is and still get updated. This removes some listener stuff in conected components.
-
rhenck authored
Was not correctly creating new instances of non-primitive values. Now uses "JSON.parse(JSON.stringify(element))" for deep copying the element first. Also refactor by moving the method to the UnitService, where all ID handling should take place.
-
rhenck authored
No longer is a singleton but a normal servicce now again. The singleton logic was needed in the past but not anymore.
-
rhenck authored
-
- Dec 09, 2021
-
-
rhenck authored
Now correctly sets the chosen background color and additionally sets another (configurable) color to the selected value.
-
rhenck authored
The other variants are basically the same as filled. The only difference is the background color, which we are manilupating anyway. So there is no reason to keep them. Also for the background color directive different target elements are needed for the different appearance variants. This is now possible. As stylings of the old appearance are kept when changing the appearance the styles need to be removed first. In the moment the appearance value is changed the component is not actually changed yet and there we need to wait for another Angular change detection cycle, via timeout.
-
- Dec 08, 2021
-
-
jojohoch authored
-
- Dec 07, 2021
-
-
rhenck authored
-
rhenck authored
This allows to select elements without clicking them on the canvas, as elements may be obstructed or not visible for some reason. The selection logic is a bit complicated because usually only the overlay components are usd for selection which are also the place to apply any highlighting on. Here we have to find the component element reference from the section. Therefore the double looping 'getElementComponent' method. Also when an elements is selected it briefly gets z-index 100 so it is moved to the front and visible and manipulatable.
-
- Dec 03, 2021
- Dec 02, 2021
-
-
rhenck authored
-
rhenck authored
Delete and duplicate buttons are no longer part of the tab view but are always visible below it.
-
rhenck authored
Basically a div with border properties as usual.
-
rhenck authored
Create object list, when none is existent yet. Otherwise append as before.
-
rhenck authored
-
- Dec 01, 2021
- Nov 30, 2021
-
-
rhenck authored
Use a copy of the original elements to avoid accidentally changing them.
-
rhenck authored
The change of moving some properties to sub objects broke the creation of the combinedProperties object, which can't deal with nested objects. To circumvent that all elements are now flattened before being combined. The connected property panels now again look for the properties on the element itself and not in sub-objects.
-
jojohoch authored
If the property is set, the video will be scaled as far as its container (static element or grid) allows, otherwise only up to its maximum native size.
-
jojohoch authored
If the property is set, the image will be scaled as far as its container (static element or grid) allows, otherwise only up to its maximum native size.
-
jojohoch authored
-
rhenck authored
- Dnd values now have a special type that has an ID, a string and another string for an image path. - A new dialog exists for editing thoe options. Similarly to the likert header.
-
- Nov 29, 2021
- Nov 26, 2021
-
-
rhenck authored
The problem being solved is that compound-sub-elements must not have all the properties other elements have. For exampe positioning info. Sub-Elements are positioned inline. To avoid having similar class inheritance structures for positioned and inline elements, we use interface. Positioning is done via interface and is therefore optional. Those optional properties are kept in an object in a variable. This allows to hide specifics from element classes and removes the need to initialize all the fields in every class using the interface. The elements mostly care about their own specific properties anyway. The same technique is used for font and surface elements. Here we also don't want to initialize all the styles in every class. Changing values of element properties works like before. Just set the property as if it would be a direkt prop of the element. The element itself puts the value in the currect sub-object (positioningProps, fontProps etc). For reading the values there is a similar method, but it is not used anywhere by now. Since the properties panel operates on the raw values anyway (refer CombinedProperties) and for element components this would mean calling a function in the template, which caused change detection to run the function very often and is therefore bad practice. Additional notes and refactorings: - Restructure all files in common. UIElements in the same folder etc. - Move all interfaces to the UIElement file. This avoids circular imports, which would be needed to allow PositionedElement to extend UIElement. - Interface initializers also handle reading values in the old form. - Add PositionedElement for use in canvas overlays. This is a UIElement with guaranteed postionProps. - Don't export all Material packages from common, only the ones used in player and editor. The rest is only used in common and does not need to be exported.
-
- Nov 25, 2021
-
-
rhenck authored
Highlighted (background colored) text is done with mark elements which don't have a color and make the contained text lose the styling of the parent span, which has the text-color property. To solve it we simply inherit the color of the parent span.
-
- Nov 24, 2021
-
-
rhenck authored
Min-height should be optional for dynamically positioned elements, as you usually don't need it and it causes more problems than it solves. Elements with min-height have cause unexpected margins between elements.
-
- Nov 20, 2021
-
-
rhenck authored
No longer needs the appropriate section, but instead loops through all page sections. It was somewhat complicated to know the corresponding section and this solution solves that. Though at the price of some unnecessary element lookup. Another upside is that elements from different sections can be deleted simultaneously.
-
- Nov 19, 2021
-
-
rhenck authored
A new variable is introduced for CompoundComponents: "allowClickThrough". With this set components can set their children and overlays to allow clicking on child elements or not. In the editor this is not wanted as the elements internal structure is different and the resulting event target can not be reliably styled. There we need the (span) overlay. In the player though elements should be clickable as usual. The player can completely ignore this setting as it is on true (allowing clicking) by default.
-
rhenck authored
Need to bubble the event further up to where there is a section reference.
-
rhenck authored
Was not correctly setting the pointer event for ClozeComponents.
-