Example #1
0
        public async Task Reset()
        {
            if (RegexMode)
            {
                await ToggleRegexMode();
            }

            foreach (DictionaryEntry?entry in _columns.Cast <DictionaryEntry?>().ToList())
            {
                if (entry == null || !(entry.Value.Value is Column c) || c?.Default == null)
                {
                    continue;
                }

                Column n = c.Default.Clone();
                n.Key = c.Key;
                n.TryCompileFilter();
                n.Default = c.Default;

                _columns[entry.Value.Key] = n;

                await StoreColumnConfig(n);

                if (c.Shown != n.Shown)
                {
                    OnColumnVisibilityUpdate?.Invoke(c.ID);
                }
            }

            // foreach (Column? c in _columns.Values)
            // {
            //     if (c == null) continue;
            //
            //     // c = c.Default;
            //
            //     c.Shown         = true;
            //     c.FilterValue   = "";
            //     c.SortDirection = SortDirections.Neutral;
            //     c.SortIndex     = 0;
            //
            //     if (RegexMode)
            //         c.TryCompileFilter();
            //
            //     await StoreColumnConfig(c);
            // }

            if (_initialPageSize != PageSize)
            {
                await UpdatePageSize(_initialPageSize);
            }

            InvalidateRows();

            await FirstPage();

            OnReset?.Invoke();
        }
Example #2
0
        public async Task SetColumnVisibility(string id, bool shown)
        {
            ((Column)_columns[id]).Shown = shown;

            await StoreColumnConfig((Column)_columns[id]);

            _matchedRowCache = null;
            _sortedRowCache  = null;

            OnColumnVisibilityUpdate.Invoke(id);
            ExecutePending();
        }