コード例 #1
0
        public static string GetControlId(UniquePrefixes prefix, string filterName)
        {
            const string spaceSeparator = "_";
            var          controlId      = new StringBuilder().Append(prefix)
                                          .Append(spaceSeparator)
                                          .Append(filterName)
                                          .ToString();

            return(controlId);
        }
コード例 #2
0
        protected string RegistrationControlToRepository(
            UniquePrefixes prefix,
            FilterHtmlGenerator.Filter filterData,
            bool isAdditionalFieldSet = false,
            bool isHideParentFieldSet = false,
            bool isRangeControl       = false)
        {
            var controlId = GetControlId(prefix, filterData.FilterName);

            PackingJsMember(prefix, filterData, controlId, isRangeControl, isAdditionalFieldSet, isHideParentFieldSet);
            return(controlId);
        }
コード例 #3
0
        private void PackingJsMember(
            UniquePrefixes prefix,
            FilterHtmlGenerator.Filter filterData,
            string controlId,
            bool isRangeControl,
            bool isAdditionalFieldSet,
            bool isHideParentFieldSet)
        {
            var typePrefix       = prefix.GetType();
            var fieledInfo       = typePrefix.GetField(prefix.ToString());
            var filterAttributes = fieledInfo.GetCustomAttributes(false);

            foreach (var typeFilterAttribute in filterAttributes.Select(filterAttribute => filterAttribute.GetType()))
            {
                if (typeFilterAttribute == typeof(FilterTypeIdAttribute))
                {
                    AddItemToJsMember(JsMemberItemTypes.FilterTypeId, controlId);
                    AddItemToJsMember(JsMemberItemTypes.FilterName, filterData.FilterName);
                    AddItemToJsMember(JsMemberItemTypes.DefaultFilterType, filterData.DefaultFilterType == null ? null : filterData.DefaultFilterType.ToString());
                    AddItemToJsMember(JsMemberItemTypes.IsHiddenParentFieldSet, isAdditionalFieldSet.ToString());
                    AddItemToJsMember(JsMemberItemTypes.IsMain, filterData.MainGroup.ToString());
                    AddItemToJsMember(JsMemberItemTypes.RequiredFilter, filterData.RequiredFilter);
                    AddItemToJsMember(JsMemberItemTypes.DependedFilters, filterData.DependedFilters);
                    AddItemToJsHandler(JsMemberItemTypes.GetDependedVisible, filterData.DependedHandler, "values");
                    AddItemToJsMember(JsMemberItemTypes.IsHideParentGroupFieldSet, isHideParentFieldSet.ToString());
                }

                if (typeFilterAttribute == typeof(RangeFilterValueIdAttribute))
                {
                    AddItemToJsMember(JsMemberItemTypes.SecondFilterValueId, controlId);
                }

                if (typeFilterAttribute == typeof(FilterValueIdAttribute))
                {
                    AddItemToJsMember(JsMemberItemTypes.FirstFilterValueId, controlId);

                    if (!isRangeControl)
                    {
                        AddItemToJsMember(JsMemberItemTypes.SecondFilterValueId, string.Empty);
                    }
                }

                if (typeFilterAttribute == typeof(CommonContainerAttribute))
                {
                    SetFinalParthToJsMember();
                }
            }
        }