Esempio n. 1
0
        public void Search_PropertiesBackendSkipFilterTokens(string input)
        {
            var searchElement = new SearchElement();

            searchElement.RegisterSearchBackend(CreateSearchBackend <EquatableAndComparableTestData>(SearchBackendType.Properties));

            var sourceData = new[]
            {
                new EquatableAndComparableTestData {
                    Name = "hello"
                },
                new EquatableAndComparableTestData {
                    Name = "hola"
                },
            };

            EquatableAndComparableTestData[] filtered = null;

            searchElement.RegisterSearchQueryHandler <EquatableAndComparableTestData>(q => filtered = q.Apply(sourceData).ToArray());
            searchElement.AddSearchDataProperty(new PropertyPath(nameof(EquatableAndComparableTestData.Name)));
            searchElement.AddSearchFilterPopupItem("c", "component type");

            searchElement.Search(input);
            Assert.That(filtered, Is.EquivalentTo(sourceData));
        }
        void AddSearchElement(VisualElement root)
        {
            m_SearchElement = AddSearchElement <SystemForSearch>(root, UssClasses.DotsEditorCommon.SearchFieldContainer);
            m_SearchElement.RegisterSearchQueryHandler <SystemForSearch>(query =>
            {
                var parseResult = SearchQueryParser.ParseSearchQuery(query);
                m_SystemTreeView.SetFilter(query, parseResult);
            });

            m_SearchElement.AddSearchFilterPopupItem(Constants.SystemSchedule.k_ComponentToken.Substring(0, 1), k_FilterComponentType, k_FilterComponentTypeTooltip);
            m_SearchElement.AddSearchFilterPopupItem(Constants.SystemSchedule.k_SystemDependencyToken.Substring(0, 2), k_FilterSystemDependencies, k_FilterSystemDependenciesTooltip);

            m_SearchElement.AddSearchDataProperty(new PropertyPath(nameof(SystemForSearch.SystemName)));
            m_SearchElement.AddSearchFilterProperty(Constants.SystemSchedule.k_ComponentToken.Substring(0, 1), new PropertyPath(nameof(SystemForSearch.ComponentNamesInQuery)));
            m_SearchElement.AddSearchFilterProperty(Constants.SystemSchedule.k_SystemDependencyToken.Substring(0, 2), new PropertyPath(nameof(SystemForSearch.SystemDependency)));
            m_SearchElement.EnableAutoComplete(ComponentTypeAutoComplete.Instance);
        }
Esempio n. 3
0
        void CreateToolbar()
        {
            m_Header = new VisualElement();
            Resources.Templates.EntityHierarchyToolbar.Clone(m_Header);
            var leftSide  = m_Header.Q <VisualElement>(className: UssClasses.EntityHierarchyWindow.Toolbar.LeftSide);
            var rightSide = m_Header.Q <VisualElement>(className: UssClasses.EntityHierarchyWindow.Toolbar.RightSide);

            leftSide.Add(CreateWorldSelector());

            AddSearchIcon(rightSide, UssClasses.DotsEditorCommon.SearchIcon);
            m_SearchElement = AddSearchElement <EntityHierarchyItem>(m_Header, UssClasses.DotsEditorCommon.SearchFieldContainer);
            m_SearchElement.RegisterSearchQueryHandler <EntityHierarchyItem>(query =>
            {
                var result = m_EntityHierarchyQueryBuilder.BuildQuery(query.SearchString);
                QueryDesc  = result.QueryDesc;

                m_EntityHierarchy.SetFilter(query, result);
            });
            m_SearchElement.AddSearchFilterPopupItem("c", k_FilterComponentType, k_FilterComponentTypeTooltip);
            m_SearchElement.AddSearchDataProperty(new PropertyPath(nameof(EntityHierarchyItem.m_CachedLowerCaseName)));
            m_SearchElement.EnableAutoComplete(ComponentTypeAutoComplete.Instance);

            m_Root.Add(m_Header);
        }