Beispiel #1
0
 public async Task UpdateElementsAsync(List <IFormElement> formElements, IAllSettings allSettings, bool displayOnly)
 {
     ExtractElements(out var displayOnlyButton, out var closeElement, out var display,
                     out var input, out var select, out var submit,
                     out var textArea, out var title,
                     out var start, out var duration, formElements);
     if (displayOnly)
     {
         SetupDisplayOnly(formElements);
         _shouldValidate = false;
     }
     else
     {
         if (!_shouldValidate)
         {
             SetupInitialEdit(formElements);
             // after initial 'load', need to validate
             _shouldValidate = true;
         }
         else
         {
             SetupEdit(formElements);
             submit.NotEnabled = !IsValid(formElements);
         }
     }
     OnElementsUpdated(EventArgs.Empty);
 }
Beispiel #2
0
 public async Task FormSubmittedAsync(List <IFormElement> formElements, IAllSettings allSettings)
 {
     // just ignore
 }
Beispiel #3
0
 public Task UpdateElementsAsync(List <IFormElement> formElements, IAllSettings allSettings, bool displayOnly)
 {
     throw new NotImplementedException();
 }
Beispiel #4
0
 public Task HandleClickAsync(List <IFormElement> formElements, string elementName, IAllSettings allSettings)
 {
     throw new NotImplementedException();
 }
Beispiel #5
0
 public async Task FormSubmittedAsync(List <IFormElement> formElements, IAllSettings allSettings)
 {
     // nothing to do in this demo
 }
Beispiel #6
0
        public async Task HandleClickAsync(List <IFormElement> formElements, string elementName, IAllSettings allSettings)
        {
            var displayOnly = false;

            if (elementName == "DisplayOnlyButton")
            {
                // Can ignore cast if only dealing with interface properties (as in this example)
                var displayOnlyButton = (ButtonElement)formElements.FirstOrDefault(e => e.Name == "DisplayOnlyButton");
                Debug.Assert(displayOnlyButton != null, nameof(displayOnlyButton) + " != null");
                displayOnly = true;
            }
            else if (elementName == "TextArea")
            {
                var textArea = (TextAreaElement)formElements.FirstOrDefault(e => e.Name == "TextArea");
                Debug.Assert(textArea != null, nameof(textArea) + " != null");
                textArea.Value += "Button clicked";
            }
            else
            {
                throw new NotImplementedException();
            }
            await UpdateElementsAsync(formElements, allSettings, displayOnly);
        }