This project is mirrored from https://*****@github.com/iqb-berlin/verona-modules-aspect.git.
Pull mirroring updated .
- Apr 19, 2022
-
-
rhenck authored
-
- Apr 14, 2022
-
-
rhenck authored
#229
-
- Mar 31, 2022
- Mar 02, 2022
-
-
rhenck authored
- Units and element are now built via the factory. This ensures only the wanted properties are present. All others are discarded. - Since the sanatizer is supposed to check the unit defintion version it is used by player and editor and therefore put in common. This in turn makes it necessary to put the JSON resolver settings in the root-TSConfig file. - Renamed a couple of properties to have clearer names.
-
- Feb 28, 2022
-
-
jojohoch authored
Remove manipulations from elementModel - Refactor drop list component - Use of initial values for audio and video playback time Defining the validators not in the elements anymore, but when creating the forms
-
- Feb 22, 2022
-
-
rhenck authored
This makes for cleaner imports.
-
- Feb 18, 2022
-
-
rhenck authored
- Unify font and surface props - Use intersection type for additional properties - Also rework editor props panel to properly create the combined properties recursively, passing the results to its child panel (tabs). New algorithm works without lodash, therefore the package is removed.
-
- Feb 17, 2022
-
-
rhenck authored
This removes all the classes and goes back to simple interfaces for unit, pages etc and all elements. This makes creating them easier and cleaner. Things like specific needs when setting element properties and most importantly compatibility handling is done by a special service module, that knows all the elements and how to repair old their potentially outdated definitions.
-
- Feb 16, 2022
-
-
jojohoch authored
Remove the wrapper divs in each element component and add the 'fixed-size-content-wrapper' class to the element overlays of player and editor
-
- Feb 11, 2022
-
-
jojohoch authored
The previous solution, which uses a top position of 50%, did not work on iPad
-
- Feb 09, 2022
-
-
rhenck authored
This is done according to the Angular best practices and minimizes namespace collisions when using other packages which might use the same selectors. Technically the selectors are not even becessary since we use an Angular component factory to create element components but it is still useful for the DOM element naming, for debugging purposes for example.
-
- Jan 22, 2022
- Jan 21, 2022
- Jan 20, 2022
-
-
rhenck authored
Only the overlay can be clicked. This way the statre of the elements can not be changed which might be confused for actual value changes. Those can still only be done via properties panel. Unfortunately we need another variable so the cloze elements knows when it runs in the editor or not.
-
rhenck authored
-
- Jan 19, 2022
-
-
rhenck authored
Compound elements are now supposed to use overlays for their child elements. This overlay makes selecting child components (by clicking on them) and marking them as selected (done by the selection service) possible. The SelectionService no longer needs special logic to handle compound children selection, as they now also have an overlay with the same interface as normal (canvas) elements. A few modifications in connected directives are necessary. The now handle children components in a proper array instead of QueryList. Likert elements do not have clickable children yet and work a little differently. This should probably be unitized in the future.
-
- Jan 17, 2022
- Jan 12, 2022
-
-
rhenck authored
- Now only has a variable 'document'. This holds the HTML representation in an object. This object is enriched with element models. - Because the the TextEditor extension can neither create multiple element instances nor use the IDService to generate their IDs, this has to be done afterwards. See ClozeParser. - The cloze element has rather extensive compatibility handling because cloze elements used to save an actual HTML representation. This has to be transformed to JSON/object. Therefore we replace the old backslash- markers with custom HTML tags. The editor object does this transformation. It needs some custom extensions to recognize (and don't remove) the HTML tags though. - Cloze now shows a placeholder text when empty - The cloze component needs a small pipe to extract text formatting options from the paragraph parts. - For getting the child elements for the player the models have to be extracted from the somewhat complex (JSON)document. - Added some rudimentary interfaces for the TextEditor document format. - Removed the old ClozePart interface. This is quasi part of the new interfaces.
-
- Dec 16, 2021
-
-
rhenck authored
Elements are supposed to be centred when this setting is used. Since it is the same CSS for almost all element components it is put into global styles. Missing components: video, spelling.
-
- Dec 10, 2021
-
-
rhenck authored
Generally only the editor needs to generate new IDs. Before there was need to have it in common because some elements (like compound elements) needed to generte new Elements including IDs. Now all ID stuff is handled by the UnitService and the elements classes are handed the fully built elements. Unfortunately this means that some logic has to move back from classes into the UnitService. To un-bloat the UnitService a (and in the future some more) helper class is created for this logic. The most important thing is, that the UIElement no longer generates an ID when created. The ID has to be created before and passed to the constructor.
-
- Dec 07, 2021
-
-
rhenck authored
This is meant solely as a cloze child as a representation of a radio button functionality.
-
- Dec 01, 2021
- 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
This is a native input element which is used in cloze elements. Here (sub)elements need to be positioned inline, which is hard to do with material components. Also add a method to all form elements to set their form value, which is now only used by the simple text field but may be useful for other elements, which don't integrate in material form fields.
-
- Nov 24, 2021
-
-
rhenck authored
The issue here is the alignment if dropLists and text fields. They are supposed to be exactly in line with the text which is very complicated with Material components, which are heavily nested and contain several sub-elements which need to be changed - removing margins, paddings and other position related styles.
-
- Nov 23, 2021
-
-
rhenck authored
Extend the parsing to inludes h-Elements.
-
- Nov 22, 2021
-
-
rhenck authored
Before the parent elements (span, div...) were catching the drop event which is not intended.
-
- Nov 20, 2021
-
-
rhenck authored
-
- Nov 19, 2021