Esempio n. 1
0
        protected override async Task OnAfterRenderAsync(bool firstRender)
        {
            if (!firstRender)
            {
                return;
            }

            Task.Run(() =>
            {
                Thread.Sleep(1000);
                _vendorSelector = new FlareSelector <string>(
                    OUIModel.Options,
                    multiple: true,
                    minFilterValueLength: 3,
                    emptyPlaceholder: "Add an OUI to whitelist (ex: Apple, Cisco Systems Inc.)",
                    isDisabled: () => _processing || !AllowCreateRuleForOthers()
                    );
                _vendorSelector.OnSelect += selected => { UpdateVendorList(selected.Select(v => v.ID).ToList()); };
                _doPostLoad = true;
                _onPostLoad.Trigger();
                _onRowChange.Trigger();
            });

            await _whitelistTable !.LoadSessionValues();
        }
Esempio n. 2
0
 protected override void OnInitialized()
 {
     _fs1 = new FlareSelector <int>(() => Contact.PreGeneratedOptions, false, clearOnSelect: false, minFilterValueLength: 2,
                                    minFilterValueNotice: "Type 2+ characters", emptyPlaceholder: "Click to select a person", monospace: false, isDisabled:
                                    () =>
     {
         return(false);
     });
     _fs2 = new FlareSelector <int>(() => Contact.PreGeneratedOptions, true, clearOnSelect: false,
                                    emptyPlaceholder: "Click to select a person");
 }
Esempio n. 3
0
        public void Run()
        {
            IEnumerable <IOption <int> > data = Generate.Contacts(15000).Select(v => v.NameOption);

            Console.WriteLine("Data generated");

            _fs1 = new FlareSelector <int>(() => data, true);

            // while (true)
            // {
            //     Bench1();
            //     Bench2();
            //     // Bench3();
            //
            //     Console.WriteLine();
            // }
        }
Esempio n. 4
0
        protected override void OnInitialized()
        {
            LoadUsers();

            _user = ((ContraWebAuthStateProvider)ContraWebAuthStateProvider).User;
            if (_user == null)
            {
                throw new Exception("User is not authenticated; access to this page should not have been permitted.");
            }

            _userTable = new FlareTable <User>(
                () => _users ?? new List <User>());

            _userTable.RegisterColumn(nameof(User.Username));
            _userTable.RegisterColumn(nameof(User.Role));

            _userTable.RegisterColumn("_Edit", sortable: false, filterable: false, displayName: "", width: "56px");
            _userTable.RegisterColumn("_Remove", sortable: false, filterable: false, displayName: "", width: "82px");

            //

            _newUsernameDebouncer = new Debouncer <string>(value =>
            {
                Console.WriteLine("--");
                _newUsername = value;
                _newUserValidator.Validate();
                InvokeAsync(StateHasChanged);
            }, _newUsername);

            _newPasswordDebouncer = new Debouncer <string>(value =>
            {
                _newPassword = value;
                _newUserValidator.Validate();
                InvokeAsync(StateHasChanged);
            }, _newPassword);

            //

            _newRoleSelector = new FlareSelector <string>(
                () => UserRole.Options(),
                false
                );

            _newRoleSelector.OnSelect += selected =>
            {
                _newRole = UserRole.NameToUserRole(selected.FirstOrDefault()?.ID);
                _newUserValidator.Validate();
                InvokeAsync(StateHasChanged);
            };

            _editedRoleSelector = new FlareSelector <string>(
                () => UserRole.Options(_editing?.Role),
                false,
                isDisabled: () => _editing?.Username == _user.Username);

            _editedRoleSelector.OnSelect += selected =>
            {
                _editedRole = UserRole.NameToUserRole(selected.FirstOrDefault()?.ID);
                _editUserValidator.Validate();
                InvokeAsync(StateHasChanged);
            };

            //

            _newMACsSelector = new EditableList(
                validator: ValidateMAC,
                placeholder: "Add a MAC",
                transformer: Utility.FormatMAC
                );

            _newMACsSelector.OnUpdate += macs =>
                                         _user !.MACs = macs.Select(v => PhysicalAddress.Parse(Utility.CleanMAC(v))).ToList();

            _editMACsSelector = new EditableList(
                validator: ValidateMAC,
                placeholder: "Add a MAC",
                transformer: Utility.FormatMAC
                );

            _editMACsSelector.OnUpdate += macs =>
                                          _editing !.MACs = macs.Select(v => PhysicalAddress.Parse(Utility.CleanMAC(v))).ToList();

            //

            _newUserValidator = new Validator <ValidationResult>(() =>
            {
                if (string.IsNullOrEmpty(_newUsername))
                {
                    return new[] { new Validation <ValidationResult>(ValidationResult.Invalid, "Username is required") }
                }
                ;

                User?found = UserModel.Find(_newUsername).Result;
                if (found != null)
                {
                    return new[] { new Validation <ValidationResult>(ValidationResult.Invalid, "Username is already registered") }
                }
                ;

                if (string.IsNullOrEmpty(_newPassword))
                {
                    return new[] { new Validation <ValidationResult>(ValidationResult.Invalid, "Password is required") }
                }
                ;

                if (_newRole == UserRole.Roles.Undefined || _newRole == UserRole.Roles.Restricted)
                {
                    return new[] { new Validation <ValidationResult>(ValidationResult.Invalid, "Role is invalid") }
                }
                ;

                return(new[] { new Validation <ValidationResult>(ValidationResult.Valid, "User is valid") });
            });

            _editUserValidator = new Validator <ValidationResult>(() =>
            {
                // if (string.IsNullOrEmpty(_editedPassword))
                // return new Validation(ValidationResult.Invalid, "Password is required");

                if (_editedRole == UserRole.Roles.Undefined || _editedRole == UserRole.Roles.Restricted)
                {
                    return new[] { new Validation <ValidationResult>(ValidationResult.Invalid, "Role is invalid") }
                }
                ;

                return(new[] { new Validation <ValidationResult>(ValidationResult.Valid, "Edits are valid") });
            });

            _newUserValidator.Validate();

            //

            BuildHeaders();
        }
Esempio n. 5
0
        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);
            //     }
            // });
        }