public static void FilterPackageList(PackageList packageList)
        {
            PackageItem firstItem            = null;
            PackageItem lastItem             = null;
            var         selectedItemInFilter = false;
            var         selectedItem         = packageList.selectedItem;
            var         packageItems         = packageList.Query <PackageItem>().ToList();

            foreach (var item in packageItems)
            {
                if (FilterByText(item, PackageSearchFilter.Instance.SearchText))
                {
                    if (firstItem == null)
                    {
                        firstItem = item;
                    }
                    if (item == selectedItem)
                    {
                        selectedItemInFilter = true;
                    }

                    UIUtils.SetElementDisplay(item, true);

                    if (lastItem != null)
                    {
                        lastItem.nextItem = item;
                    }

                    item.previousItem = lastItem;
                    item.nextItem     = null;

                    lastItem = item;
                }
                else
                {
                    UIUtils.SetElementDisplay(item, false);
                }
            }

            if (firstItem == null)
            {
                packageList.ShowNoResults();
            }
            else
            {
                packageList.ShowResults(selectedItemInFilter ? selectedItem : firstItem);
            }
        }
Ejemplo n.º 2
0
        public static void FilterPackageList(PackageList packageList)
        {
            var packageItems = packageList.Query <PackageItem>().ToList();

            if (!packageItems.Any())
            {
                return;
            }

            PackageItem firstItem            = null;
            var         selectedItemInFilter = false;
            var         selectedItem         = packageList.SelectedItem;

            foreach (var item in packageItems)
            {
                if (FilterByText(item, packageList.searchFilter.SearchText))
                {
                    if (firstItem == null)
                    {
                        firstItem = item;
                    }
                    if (item == selectedItem)
                    {
                        selectedItemInFilter = true;
                    }

                    UIUtils.SetElementDisplay(item, true);
                }
                else
                {
                    UIUtils.SetElementDisplay(item, false);
                }
            }

            if (firstItem == null)
            {
                packageList.ShowNoResults();
            }
            else
            {
                packageList.ShowResults(selectedItemInFilter ? selectedItem : firstItem);
            }
        }