__key_value: --onchange parameter added (#648)

This commit is contained in:
kamila 2018-03-11 18:01:38 +01:00 committed by Darko Poljak
parent b58cb810ac
commit f9443532a1
4 changed files with 15 additions and 3 deletions

View file

@ -23,13 +23,14 @@
state_should="$(cat "$__object/parameter/state")" state_should="$(cat "$__object/parameter/state")"
state_is="$(cat "$__object/explorer/state")" state_is="$(cat "$__object/explorer/state")"
fire_onchange=''
if [ "$state_is" = "$state_should" ]; then if [ "$state_is" = "$state_should" ]; then
exit 0 exit 0
fi fi
# here we check only if the states are valid, # here we check only if the states are valid,
# emmit messages and # emit messages and
# let awk do the work ... # let awk do the work ...
case "$state_should" in case "$state_should" in
absent) absent)
@ -39,6 +40,7 @@ case "$state_should" in
;; ;;
wrongformat|wrongvalue|present) wrongformat|wrongvalue|present)
echo "remove" >> "$__messages_out" echo "remove" >> "$__messages_out"
fire_onchange=1
;; ;;
*) *)
echo "Unknown explorer state: $state_is" >&2 echo "Unknown explorer state: $state_is" >&2
@ -50,12 +52,15 @@ case "$state_should" in
case "$state_is" in case "$state_is" in
nosuchfile) nosuchfile)
echo "create" >> "$__messages_out" echo "create" >> "$__messages_out"
fire_onchange=1
;; ;;
absent) absent)
echo "insert" >> "$__messages_out" echo "insert" >> "$__messages_out"
fire_onchange=1
;; ;;
wrongformated|wrongvalue) wrongformated|wrongvalue)
echo "change" >> "$__messages_out" echo "change" >> "$__messages_out"
fire_onchange=1
;; ;;
present) present)
# nothing to do # nothing to do
@ -73,3 +78,7 @@ case "$state_should" in
esac esac
cat "$__type/files/remote_script.sh" cat "$__type/files/remote_script.sh"
if [ -n "$fire_onchange" ]; then
cat "$__object/parameter/onchange"
fi

View file

@ -34,6 +34,8 @@ comment
but only if the key or value must be changed. but only if the key or value must be changed.
You need to ensure yourself that the line is prefixed with the correct You need to ensure yourself that the line is prefixed with the correct
comment sign. (for example # or ; or wathever ..) comment sign. (for example # or ; or wathever ..)
onchange
The code to run if the key or value changes (i.e. is inserted, removed or replaced).
BOOLEAN PARAMETERS BOOLEAN PARAMETERS

View file

@ -2,3 +2,4 @@ key
value value
state state
comment comment
onchange