protected override void OnInitialized() { _member = StructureInstance.GetMemberInstance <TM>(ID); if (_member.Member.Input == null) { throw new ArgumentNullException(nameof(_member.Member.Input), "MemberInput component was used on a Member with no Input."); } _initialValue = _member.Member.Value.Invoke(Value, _member.Member); _member.OnRefreshInputs += RefreshInput; _member.OnResetInputs += ResetInput; }
protected override void OnInitialized() { var altUser = new User(); // _testUser = new User { Boolean = true, UserID = 12345, Name = "A.J.", PhoneNumber = "111.222.3344", Email = "[email protected]!99999999999999999999999999999999999999999999999999999999999999999! spaced out words n stuff", StartDate = DateTime.Now, StartTime = DateTime.Now, DepartmentID = 2, DepartmentType2 = 2, }; // _structure = Common.Structure.Instantiate(JSRuntime); // _structure.GetMemberInstance <string>("Name").OnValueUpdateUntyped += (v, m, mv) => Console.WriteLine($"Structure<User>." + m.ID + " -> " + v); _structure.GetMemberInstance <string>("Email").OnValueUpdateUntyped += (v, m, mv) => Console.WriteLine($"Structure<User>." + m.ID + " -> " + v); _structure.OnMemberValueUpdate += (s, v, m) => { Console.WriteLine($"Structure<User>." + v.ID + " -> " + m); InvokeAsync(StateHasChanged); }; // // _structure.OnMemberValueUpdate += (s, m, v) => InvokeAsync(StateHasChanged); _tagsSelector = new FlareSelector <string> (() => new List <IOption <string> > { new FlareSelect.Option <string> { ID = "A", OptionText = "A", }, new FlareSelect.Option <string> { ID = "B", OptionText = "B", }, new FlareSelect.Option <string> { ID = "C", OptionText = "C", }, }, true ); _tagsSelector.OnSelect += selected => _structure.GetMemberInstance <List <string> >(nameof(User.Tags)) .UpdateValue(_testUser, selected.Select(v => v.ID).ToList()); _structure.OnResetAllMemberInputs += () => _tagsSelector.Deselect(); _structure.ValidationState.OnFinishValidating += () => InvokeAsync(StateHasChanged); Task.Run(() => { Thread.Sleep(500); Console.WriteLine("Updating"); _testUser.Boolean = false; _structure.GetMemberInstance <bool>(nameof(User.Boolean)).ResetInputs(); _structure.Revalidate(_testUser); InvokeAsync(StateHasChanged); }); // _submitButton = new Button(() => "Submit", _ => Submit(), () => Button.Color.Green, isDisabled: () => !_structure.ValidationState.Valid()); _header2 = new Header ( new List <IBit> { new Title(() => "Header #1!"), new Filler(), new Link(() => "Link 1!", () => "/url1"), new Space(), new Link(() => "Link 2!", () => "/url2", isHighlighted: () => true), new Space(), new Link(() => "Link 3!", () => "/url3"), }, Header.HeaderType.Secondary ); // Task.Run(async () => // { // while (true) // { // await InvokeAsync(StateHasChanged); // Thread.Sleep(200); // } // }); }