Content
View differences
Updated by Aleix Suau over 5 years ago
For work packages, fields can be configured as multiple selections for all projects or for individual projects. The same function is desired for user-defined fields of the type Project.
**Acceptance requirements**
* The administration of custom fields for projects gets a checkbox "Allow multi-select", just like the lists for work packages
* The project form is extended such that list custom fields can be multi-selected
* The project advanced settings is extended such that list custom fields can be multi-selected
* The project overview list/table is extended to show multi-select custom fields
* The project details widget on the project overview / dashboard displays custom lists with multiple selections.
* When copying projects, multi-selection custom fields are also copied
### Development Notes
* How do we know when input is a typeahead? When it has allowedValues?
* How do we know it allows multiple values?
* Does the input config name have a translation? How is it managed?
* Do we have only 2 types of values?
* Resources: {title, href}
* Regular (direct value)
* Schema:
* What are \_dependencies for?
* Why Customfields are inside \_links but have an \[\] in the payload while the others have an object (title, href)?
* Do the AllowedValues share an interface?
* What options can we have in fieldSchema.options?
* Where is the lockversion changed?
* Id is writable false but lockVersion is true?
* Do all resources set their id as value (ngSelect) ?
* ng-select: Resource value come with a 'title' while resource options come with 'name', could we unify this?
* Default values: what happens if the user deletes it? Do we have to set it again before sending the form?
* We'd need a way of letting know that a writable fields should be hidden (lockVersion) and that a non writable field should be shown? Separate writability from visibility.
### TODO
* [x] Print form
* [x] Fill model
* [ ] Postprocess the model (set default values if the user has deleted the default value?)
* [x] Default values
* [ ] Send to endpoint
* [ ] Group fields
* [ ] Layout
* [ ] Validation
* [x] Sync
* [ ] Async
* [x] Custom component
* [ ] Manage:
* [ ] LockVersion
* [ ] Id (on new wps)
* [ ] Others
* [ ] Translations
* [ ] Combo inputs (country > province)
* [ ] Expressions
* [ ] Click and edit
**Acceptance requirements**
* The administration of custom fields for projects gets a checkbox "Allow multi-select", just like the lists for work packages
* The project form is extended such that list custom fields can be multi-selected
* The project advanced settings is extended such that list custom fields can be multi-selected
* The project overview list/table is extended to show multi-select custom fields
* The project details widget on the project overview / dashboard displays custom lists with multiple selections.
* When copying projects, multi-selection custom fields are also copied
### Development Notes
* How do we know when input is a typeahead? When it has allowedValues?
* How do we know it allows multiple values?
* Does the input config name have a translation? How is it managed?
* Do we have only 2 types of values?
* Resources: {title, href}
* Regular (direct value)
* Schema:
* What are \_dependencies for?
* Why Customfields are inside \_links but have an \[\] in the payload while the others have an object (title, href)?
* Do the AllowedValues share an interface?
* What options can we have in fieldSchema.options?
* Where is the lockversion changed?
* Id is writable false but lockVersion is true?
* Do all resources set their id as value (ngSelect) ?
* ng-select: Resource value come with a 'title' while resource options come with 'name', could we unify this?
* Default values: what happens if the user deletes it? Do we have to set it again before sending the form?
* We'd need a way of letting know that a writable fields should be hidden (lockVersion) and that a non writable field should be shown? Separate writability from visibility.
### TODO
* [x] Print form
* [x] Fill model
* [ ] Postprocess the model (set default values if the user has deleted the default value?)
* [x] Default values
* [ ] Send to endpoint
* [ ] Group fields
* [ ] Layout
* [ ] Validation
* [x] Sync
* [ ] Async
* [x] Custom component
* [ ] Manage:
* [ ] LockVersion
* [ ] Id (on new wps)
* [ ] Others
* [ ] Translations
* [ ] Combo inputs (country > province)
* [ ] Expressions
* [ ] Click and edit