Skip to content
Snippets Groups Projects
This project is mirrored from https://*****@github.com/iqb-berlin/verona-modules-aspect.git. Pull mirroring updated .
  1. May 22, 2023
  2. Feb 28, 2022
  3. Feb 17, 2022
    • rhenck's avatar
      Rework models from classes to interfaces · f416ce14
      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.
      f416ce14
  4. Jan 21, 2022
  5. Jan 18, 2022
  6. Jan 10, 2022
  7. Nov 26, 2021
    • rhenck's avatar
      Refactor element class and interface structure · 4a413b60
      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.
      4a413b60
  8. Nov 25, 2021
    • rhenck's avatar
      Add new element TextFieldSimple · 751a65fe
      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.
      751a65fe
  9. Nov 22, 2021
  10. Nov 15, 2021
  11. Nov 11, 2021
  12. Oct 28, 2021
    • jojohoch's avatar
      Refactor form-element-component.directive.ts · 6c38e1c0
      jojohoch authored
      * Remove FormService Injection
      * Move FormService and form types to player
      * Move interface ValueChangeElement to uI-element.ts
      * Use interface InputElementValue instead of
      string | number | boolean | null
      6c38e1c0
  13. Oct 15, 2021
  14. Oct 14, 2021
    • rhenck's avatar
      Initialize undefined values with null · 511b16df
      rhenck authored
      This makes checking the existence of properties for the property panel
      possible, since it is possible to check for null but not for undefined.
      511b16df
  15. Oct 13, 2021
  16. Oct 01, 2021
  17. Sep 30, 2021
    • jojohoch's avatar
      [player] Refactor validation messages · 4005b51e
      jojohoch authored
      * Delete validation message component
      * Use instead `mat-error` inside element components to take advantage
       of `mat-input-field`
      * Add get validators method to each form element component
      * Display validation messages via `error-transform` pipe
      4005b51e
  18. Jul 28, 2021
  19. Jul 27, 2021
  20. Jul 26, 2021
  21. Jul 23, 2021
    • rhenck's avatar
      Add default values to several elements · 14fbfb49
      rhenck authored
      Also refactor a lot of stuff belonging to this:
      - You can edit the default values via properties panel
      - All elements now again have a common parent directive. form elements
      have a special parent for forms.
      14fbfb49
  22. Jul 16, 2021
    • jojohoch's avatar
      [player] Prepare validation of form elements · 89c6ebdf
      jojohoch authored
      * When creating components for each element a
      `ValidationMessageComponent` is also generated dynamically
      * Prepare usage of default values for form elements
      * Add `form.ts` for form specific interfaces
      * Rename some variables and properties
      89c6ebdf
  23. Jul 15, 2021
  24. Jul 13, 2021
    • jojohoch's avatar
      9b581084
    • jojohoch's avatar
      [player] Add `valueChanged` event for host · b96561bf
      jojohoch authored
      * The wrapper of the player component listens to the `valueChanged`
      event and posts a message to the host of the aspect-player
      * Improve code style and remove lint errors
      b96561bf
    • rhenck's avatar
      Refactor unit model · eabe82c2
      rhenck authored
      The UIComponents now only have the properties they can make use of. This 
      means that the angular components use the CSS properties explicitly 
      instead of having all kinds of useless CSS properties.
      Also it is no longer needed to update the CSS styles via event because 
      Angular's change detection takes care of that.
      eabe82c2
  25. Jul 12, 2021
  26. Jul 09, 2021
    • jojohoch's avatar
      [player] Add form tag to player · 8d757e4c
      jojohoch authored
      * Introduce `FormService` to provide communication between
      element components and form
      * Add `ngModelChange` and `formControl` to
      some element components. This functionality is not used by
      the editor
      8d757e4c
  27. Jul 07, 2021
    • jojohoch's avatar
      Improve code style · 16fd1970
      jojohoch authored
      Remove unnecessary decorator and variable initializers from
      `CanvasElementComponent`
      16fd1970
  28. Jul 02, 2021
  29. Jul 01, 2021
  30. Jun 30, 2021
  31. Jun 29, 2021
  32. Jun 28, 2021
Loading