/// <summary> /// Enables the autocomplete functionality /// </summary> /// <param name="options">Autocomplete options</param> public void Start(AutocompleteOptions options) { _options = options ?? throw new ArgumentNullException(nameof(options)); if (Document == null) { _pending = true; } else { DestroyAutocomplete(); SubmitAutocomplete(Document, options); } }
private void SubmitAutocomplete(Document document, AutocompleteOptions options) { AutocompleteId = GetAutocompleteKey(document); AutocompleteService.Register(AutocompleteId, this); _applied = true; _pending = false; var payload = new AutocompletePayload { AutoFocus = options.AutoFocus, ElementId = InnerInput.EnsureElementId(), MinLength = options.MinLength, Strict = options.Strict }; var json = LaraUI.JSON.Stringify(payload); var code = $"LaraUI.autocompleteApply(context.Payload);"; LaraUI.Page.JSBridge.Submit(code, json); }