itasks-editor-dynamic


Package info
Description

This library provides dynamic editors, that can be constructed by data.

Readme
# itask-dynamic-editor This provides dynamic editors, which can be constructed dynamically by data and also can make use of the power of the dynamic type system which allows for quantified type variables. This makes it possible to achieve type safety similar to the safety provided by GADTs. The main idea is to provide a number of dynamic conses producing values and requiring arguments. For all required arguments the user has the choice between all dynamic conses providing a value of the proper type. ## License The package is licensed under the BSD-2-Clause license; for details, see the [LICENSE](/LICENSE) file. The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Radboud University Nijmegen.
Changelog
# Changelog #### 0.14.6 - Fix: include the icon used for the buttons to add a new parent to the package. - Chore: accept itasks 0.17. #### 0.14.5 - Fix: reusing conses could result in an exception if the cons switched to would be more restrictive. #### 0.14.4 - Feature: allows reusing dynamic editor cons children if they have equal types, regardless of whether the types are universally quantified, if the new cons has a child predicate, reuse is also possible if the child predicate allows to reuse the child. - Fix: Improve quality of generated dynamic editor values, by fixing priorisation of already seen constructors. #### 0.14.3 - Feature: Add option to filter constructor IDs in generated values. #### 0.14.2 - Feature: Allows reusing dynamic editor cons children if there is a cons arg which matches a cons which takes a list of args. E.g if you have a conses `"is" :: Int -> Int` and `"is one of" :: [Int] -> Int` When using "is" and then switching to "is one of", the value of "is" is kept and inserted into the `[Int]` argument of "is one of" as a singular element. - Feature: add `parametrisedDynamicEditorWithValidEditorForPartialValues`. This editor is able to handle share refreshes even though the editor is only partially filled in. - Feature: add `nrElementsToGenerateForList` to `:: GenerationOptions` for generating valid dynamic editor values. - Fix: `UIAttributes` of parametrised dynamic editors were not taken into account for generating the UI when the editor was refreshed. #### 0.14.1 - Fix: take child index into account for child predicates when generating dynamic editor values. ### 0.14.0 - Feature: add `generateDynamicEditorValues` which allows to generate valid `DynamicEditorValue`s given a `DynamicEditor`. - Feature: button next to each selector that can add empty selector as parent when possible - Change: require `ggen` derivation for `CustomEditorCons` to be able to generate valid values for dynamic editors. #### 0.13.5 - Fix: correctly check whether we can reuse children if changing from a cons with zero arguments to a non-matching cons. #### 0.13.4 - Fix: take predicates and list settings into account when reusing children. - Fix: type matching of list conses in case a list cons contained two children which were unifiable but did not have the exactly the same type. #### 0.13.3 - Enhancement: improved standard layout to visually indicate nesting of constructors. #### 0.13.2 - Feature: reuse children with matching type #### 0.13.1 - Chore: update iTasks dependency to 0.16.0. ### 0.13.0 - Change: add `DynamicConsId -> Bool` parameter to listConsDynWithOptions, which allows to filter the children of a dynamic list editor based on constructor id. When updating, to get the same behavior as before, use `\_ = True`. - Feature: add `listConsDynWithPredOnChildConses`. #### 0.12.6 - Chore: accept `base` `3.0`. #### 0.12.5 - Chore: support `iTasks 0.15`. #### 0.12.4 - Feature: add `parametrisedDynamicEditorWithMissingConses` and `htmlCorrespondingToWithMissingConses`. These functions can be used to provide custom behavior if dynamic editor values constructed using a dynamic editor contain references to constructor ids which are not part of the dynamic editor. This can be useful if the constructors which are part of the dynamic editor depend on external data (e.g from a database) and there are references to constructor ids which do not exist for a dynamic editor value, given the state of the external data. #### 0.12.3 - Chore: adapt to `iTasks 0.14`. #### 0.12.2 - Feature: add `==` instance for `:: DynamicEditorValue`. #### 0.12.1 - Chore: support iTasks 0.13 alongside iTasks 0.12. ### 0.12.0 - Initial version, import modules from clean platform v0.3.38 and destill all generic hashing modules.
Versions
  • 0.14.6 latest 3 months ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.17.0.

    Targets: any-any.

  • 0.14.5 3 months ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0.

    Targets: any-any.

  • 0.14.4 3 months ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0.

    Targets: any-any.

  • 0.14.3 3 months ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0.

    Targets: any-any.

  • 0.14.2 3 months ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0.

    Targets: any-any.

  • 0.14.1 3 months ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0.

    Targets: any-any.

  • 0.14.0 4 months ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0.

    Targets: any-any.

  • 0.13.5 latest 0.13 5 months ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0.

    Targets: any-any.

  • 0.13.4 5 months ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0.

    Targets: any-any.

  • 0.13.3 7 months ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0.

    Targets: any-any.

  • 0.13.2 8 months ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0.

    Targets: any-any.

  • 0.13.1 1 year, 1 day ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0 || ^0.16.0.

    Targets: any-any.

  • 0.13.0 1 year, 1 month ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0.

    Targets: any-any.

  • 0.12.6 latest 0.12 1 year, 4 months ago

    Dependencies: base ^2.0.0 || ^3.0.0; itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0.

    Targets: any-any.

  • 0.12.5 1 year, 4 months ago

    Dependencies: itasks ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0.

    Targets: any-any.

  • 0.12.4 1 year, 6 months ago

    Dependencies: itasks ^0.12.0 || ^0.13.0 || ^0.14.0.

    Targets: any-any.

  • 0.12.3 1 year, 8 months ago

    Dependencies: itasks ^0.12.0 || ^0.13.0 || ^0.14.0.

    Targets: any-any.

  • 0.12.2 1 year, 9 months ago

    Dependencies: itasks ^0.12.0 || ^0.13.0.

    Targets: any-any.

  • 0.12.1 1 year, 10 months ago

    Dependencies: itasks ^0.12.0 || ^0.13.0.

    Targets: any-any.

  • 0.12.0 2 years ago

    Dependencies: itasks ^0.12.0.

    Targets: linux-x64; linux-x86; windows-x64.