mirror of
https://github.com/pcvolkmer/osc-variant.git
synced 2025-04-20 20:26:50 +00:00
feat: add profile option alias 'never_hide' for 'remove_filter'
The option 'never_hide' will also be the counterpart to 'hide'.
This commit is contained in:
parent
218e6aff15
commit
ee6c38b459
@ -237,14 +237,15 @@ Wird keine Angabe gemacht, wird der bestehende Wert beibehalten.
|
|||||||
Zudem wird im Formular "ExampleForm" das Formularfeld "formularfeld" ausgeblendet, indem der Filter auf "false" gesetzt
|
Zudem wird im Formular "ExampleForm" das Formularfeld "formularfeld" ausgeblendet, indem der Filter auf "false" gesetzt
|
||||||
wird.
|
wird.
|
||||||
Dadurch wird das Formularfeld nie angezeigt.
|
Dadurch wird das Formularfeld nie angezeigt.
|
||||||
Ein zuvor bestehender Filter wird ersetzt.
|
Ein zuvor bestehender Filter wird ersetzt und das Formularfeld wird nie angezeigt.
|
||||||
Weiterhin wird die Eigenschaft "Speichern" des Formularfelds auf "Immer speichern" gesetzt um sicherzustellen, dass
|
Weiterhin wird die Eigenschaft "Speichern" des Formularfelds auf "Immer speichern" gesetzt um sicherzustellen, dass
|
||||||
zuvor enthaltene Daten weiterhin gespeichert bleiben und werden, auch wenn das Formularfeld nicht sichtbar ist.
|
zuvor enthaltene Daten weiterhin gespeichert bleiben und werden, auch wenn das Formularfeld nicht sichtbar ist.
|
||||||
|
Um das Gegenteil zu erreichen und das Formularfeld *immer* anzuzeigen, kann `never_hide: true` verwendet werden.
|
||||||
|
|
||||||
Der Standardwert des Feldes `otherformfield` ist nun auf `T` gesetzt.
|
Der Standardwert des Feldes `otherformfield` ist nun auf `T` gesetzt.
|
||||||
Zum Löschen eines Standardwerts ist `""` anzugeben.
|
Zum Löschen eines Standardwerts ist `""` anzugeben.
|
||||||
Das Formularfeld wird dabei nun immer angezeigt, auch wenn zuvor ein (Anzeige)-Filter gesetzt war.
|
Das Formularfeld wird dabei nun immer angezeigt, auch wenn zuvor ein (Anzeige)-Filter gesetzt war.
|
||||||
Dieser wird mir `remove_filter: true` entfernt.
|
Dieser wird mir `remove_filter: true` oder `never_hide: true` entfernt.
|
||||||
|
|
||||||
**Achtung!** Diese Anwendung überprüft keine Scripts und verwendet angegebene Scripts als "valid" im resultierenden
|
**Achtung!** Diese Anwendung überprüft keine Scripts und verwendet angegebene Scripts als "valid" im resultierenden
|
||||||
OSC-File.
|
OSC-File.
|
||||||
|
@ -79,7 +79,7 @@ pub struct FormReference {
|
|||||||
pub referenced_data_form: Option<String>,
|
pub referenced_data_form: Option<String>,
|
||||||
pub anzeige: Option<String>,
|
pub anzeige: Option<String>,
|
||||||
pub anzeige_auswahl: Option<String>,
|
pub anzeige_auswahl: Option<String>,
|
||||||
#[serde(default)]
|
#[serde(alias = "never_hide", default)]
|
||||||
pub remove_filter: bool,
|
pub remove_filter: bool,
|
||||||
scripts_code: Option<String>,
|
scripts_code: Option<String>,
|
||||||
}
|
}
|
||||||
@ -96,7 +96,7 @@ pub struct FormField {
|
|||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub hide: bool,
|
pub hide: bool,
|
||||||
pub default_value: Option<String>,
|
pub default_value: Option<String>,
|
||||||
#[serde(default)]
|
#[serde(alias = "never_hide", default)]
|
||||||
pub remove_filter: bool,
|
pub remove_filter: bool,
|
||||||
scripts_code: Option<String>,
|
scripts_code: Option<String>,
|
||||||
}
|
}
|
||||||
@ -317,4 +317,49 @@ mod tests {
|
|||||||
Err(e) => panic!("Cannot deserialize profile: {}", e),
|
Err(e) => panic!("Cannot deserialize profile: {}", e),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn should_use_never_hide_as_alias_for_remove_filter_in_form_references() {
|
||||||
|
let content = "forms:
|
||||||
|
- name: 'DNPM Therapieplan'
|
||||||
|
form_references:
|
||||||
|
- name: formularref_to_mod
|
||||||
|
never_hide: true
|
||||||
|
";
|
||||||
|
|
||||||
|
match Profile::from_str(content) {
|
||||||
|
Ok(profile) => {
|
||||||
|
assert_eq!(profile.forms.len(), 1);
|
||||||
|
assert_eq!(profile.forms[0].name, "DNPM Therapieplan");
|
||||||
|
assert_eq!(profile.forms[0].form_references.len(), 1);
|
||||||
|
assert_eq!(
|
||||||
|
profile.forms[0].form_references[0].name,
|
||||||
|
"formularref_to_mod"
|
||||||
|
);
|
||||||
|
assert!(profile.forms[0].form_references[0].remove_filter);
|
||||||
|
}
|
||||||
|
Err(e) => panic!("Cannot deserialize profile: {}", e),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn should_use_never_hide_as_alias_for_remove_filter_in_form_fields() {
|
||||||
|
let content = "forms:
|
||||||
|
- name: 'DNPM Therapieplan'
|
||||||
|
form_fields:
|
||||||
|
- name: formularfeld_to_mod
|
||||||
|
never_hide: true
|
||||||
|
";
|
||||||
|
|
||||||
|
match Profile::from_str(content) {
|
||||||
|
Ok(profile) => {
|
||||||
|
assert_eq!(profile.forms.len(), 1);
|
||||||
|
assert_eq!(profile.forms[0].name, "DNPM Therapieplan");
|
||||||
|
assert_eq!(profile.forms[0].form_fields.len(), 1);
|
||||||
|
assert_eq!(profile.forms[0].form_fields[0].name, "formularfeld_to_mod");
|
||||||
|
assert!(profile.forms[0].form_fields[0].remove_filter);
|
||||||
|
}
|
||||||
|
Err(e) => panic!("Cannot deserialize profile: {}", e),
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user