Example #1
0
        public void SetupColumns(IEnumerable <SearchItem> items, SearchColumnFlags options)
        {
            var fields = new HashSet <SearchItem.Field>();

            foreach (var e in items ?? GetElements())
            {
                fields.UnionWith(e.GetFields().Where(f => f.value != null));
            }

            if (m_TableConfig != null && fields.Count > 0)
            {
                m_TableConfig.columns = fields.Select(f => ItemSelectors.CreateColumn(f.label, f.name, options: options)).ToArray();
                SetSearchTable(m_TableConfig);
            }
            else
            {
                SetSearchTable(SearchTable.CreateDefault());
            }
        }
Example #2
0
        SearchTable LoadDefaultTableConfig(bool reset, string id = null, SearchTable defaultConfig = null)
        {
            if (!reset)
            {
                var sessionSearchTableData = SessionState.GetString(GetDefaultGroupId(id), null);
                if (!string.IsNullOrEmpty(sessionSearchTableData))
                {
                    return(SearchTable.Import(sessionSearchTableData));
                }
            }

            if (searchView is QuickSearch qs)
            {
                var providers = qs.context.GetProviders();
                var provider  = providers.Count == 1 ? providers.FirstOrDefault() : SearchService.GetProvider(qs.currentGroup);
                if (provider?.tableConfig != null)
                {
                    return(provider.tableConfig(context));
                }
            }

            return(defaultConfig ?? SearchTable.CreateDefault());
        }
Example #3
0
        private void Update()
        {
            if (items == null)
            {
                return;
            }

            // Set a default configuration if none
            if (m_TableConfig == null)
            {
                var sessionSearchTableData = SessionState.GetString(TableConfigSessionKey, null);
                if (string.IsNullOrEmpty(sessionSearchTableData))
                {
                    SetSearchTable(SearchTable.CreateDefault());
                }
                else
                {
                    SetSearchTable(SearchTable.Import(sessionSearchTableData));
                }
            }

            UpdatePropertyTable();
        }