diff options
Diffstat (limited to 'go-src/windowsHelpers.go')
| -rw-r--r-- | go-src/windowsHelpers.go | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/go-src/windowsHelpers.go b/go-src/windowsHelpers.go index 7d2e35c..c5845ea 100644 --- a/go-src/windowsHelpers.go +++ b/go-src/windowsHelpers.go @@ -121,16 +121,15 @@ type formInput struct { validationFunc func(string) bool } -func formWindow(boxTitle string, backWindow window, formInputs []formInput, currentValues ...string) (userInputs []string) { - userInputs = currentValues +func formWindow(boxTitle string, backWindow window, formInputs []formInput, output *[]string) { // Go through all inputs - for i, v := range formInputs[len(currentValues):] { + for i, v := range formInputs[len(*output):] { csi.ClearScreen() ui.NormalBox(true, boxTitle) // Show filled input fields - for j, va := range userInputs { + for j, va := range *output { ui.InputFieldFilled(formInputs[j].name, va) } @@ -148,7 +147,7 @@ func formWindow(boxTitle string, backWindow window, formInputs []formInput, curr // If input data isn't valid, show an error and the same screen if !v.validationFunc(input) { formCallback := func(...string) { - defer formWindow(boxTitle, backWindow, formInputs, userInputs...) + defer formWindow(boxTitle, backWindow, formInputs, output) } defer showError(invalidValueFor(v.name), formCallback) return @@ -156,7 +155,7 @@ func formWindow(boxTitle string, backWindow window, formInputs []formInput, curr } // Add current input as a filled input - userInputs = append(userInputs, input) + *output = append(*output, input) } return } @@ -177,7 +176,9 @@ func validatedMultiForm(input string, returnWindow window, props ...multiFormPro if v.propInd == propInd { triedUpdate = true - values := formWindow(v.editTitle, returnWindow, append(inputs, v.formInp)) + var values []string + formWindow(v.editTitle, returnWindow, append(inputs, v.formInp), &values) + updateSuccessful = v.updateF(values) if updateSuccessful && v.postSucUpdateF != nil { |
