Beispiel #1
0
        public List <IBlazorItemField>?GetAllBlazorItemFieldsFromCurrentRoute(string placeHolder)
        {
            List <IBlazorItemField> blazorFields = new List <IBlazorItemField>();

            if (CurrentRoute == null)
            {
                return(null);
            }

            if (string.IsNullOrWhiteSpace(placeHolder) || CurrentPlaceholders.All(pl => pl.Key != placeHolder))
            {
                blazorFields.AddRange(_fieldFactory.CreateBlazorItemFields(CurrentRoute.Fields));
            }

            if (CurrentPlaceholders.All(pl => pl.Key != placeHolder))
            {
                return(blazorFields);
            }
            var placeHoldersList = CurrentPlaceholders?.Where(ph => ph.Key == placeHolder).ToList();


            foreach (var placeholderData in placeHoldersList.SelectMany(keyVal => keyVal.Value))
            {
                blazorFields.AddRange(_fieldFactory.CreateBlazorItemFields(placeholderData.Fields));
            }

            return(blazorFields);
        }