Ejemplo n.º 1
0
        protected override void ShowSettings()
        {
            pnlConfigure.Visible = true;

            txtVisualizationTitle.Text = GetAttributeValue("Title");

            // Load groups
            List <Bucket> groupList    = GetAttributeValue("Buckets").FromJsonOrNull <List <Bucket> >() ?? new List <Bucket>();
            var           groupListIds = from Bucket b in groupList select b.Id;
            var           groups       = new GroupService(new RockContext())
                                         .Queryable()
                                         .Where(g => groupListIds.Any((id) => id == g.Id))
                                         .ToList();

            dvGroup.SetValues(groups);

            tbSummaryLava.Text            = GetAttributeValue("SummaryLava");
            ddlDefaultStyle.SelectedValue = GetAttributeValue("Style");
            tbEntityUrl.Text    = GetAttributeValue("EntityUrl");
            tbGroupViewUrl.Text = GetAttributeValue("GroupViewUrl");

            mdConfigure.Show();

            BucketDetailsControl.buckets = groupList;
            BucketDetailsControl.Refresh();

            FilterControl.EntityTypeId  = GetAttributeValue("EntityTypeId").AsInteger();
            FilterControl.ShowFilterKey = GetAttributeValue("ShowFilterKey").AsBoolean();
            FilterControl.filters       = filters;
            FilterControl.Refresh();

            upnlContent.Update();
        }
Ejemplo n.º 2
0
        protected void dvGroup_ValueChanged(object sender, EventArgs e)
        {
            this.buckets = BucketDetailsControl.buckets;

            // Check selections against current selections to determine if a change has been made
            var changeMade = false;

            // Setup a list of Filters based on dataviews that are selected
            var           newBuckets         = new List <Bucket>();
            List <int>    selectedGroupIds   = dvGroup.ItemIds.AsIntegerList();
            List <string> selectedGroupNames = dvGroup.ItemNames.ToList();

            for (var i = 0; i < selectedGroupNames.Count; i++)
            {
                Bucket newBucket = new Bucket();
                newBucket.Id        = selectedGroupIds[i];
                newBucket.Name      = selectedGroupNames[i];
                newBucket.DisplayAs = selectedGroupNames[i];
                newBucket.Order     = buckets.Count() + 1;

                newBuckets.Add(newBucket);
            }

            // If newFilters is longer than our current filters, or vice versa, change has been made
            if (newBuckets.Count != buckets.Count || buckets.Except(newBuckets).Any())
            {
                changeMade = true;
                var tempBuckets = new List <Bucket>();
                // Keep the data from our existing filters when updating our filter list
                foreach (Bucket bucket in newBuckets)
                {
                    Bucket existingBucket = buckets.Find(b => b.Id == bucket.Id);

                    if (existingBucket.IsNotNull())
                    {
                        tempBuckets.Add(existingBucket);
                    }
                    else
                    {
                        tempBuckets.Add(bucket);
                    }
                }

                buckets = tempBuckets;
            }

            if (changeMade == true)
            {
                BucketDetailsControl.buckets = buckets;
                BucketDetailsControl.Refresh();
                //UpdatePanel1.Update();
            }
        }
        protected void dvDataViewBucketPicker_SelectedItem(object sender, EventArgs e)
        {
            this.buckets = BucketDetailsControl.buckets;

            // Check selections against current selections to determine if a change has been made
            var changeMade = false;

            // Setup a list of Filters based on dataviews that are selected
            var newBuckets = new List <Bucket>();
            var query      = from ListItem item in dvDataViewBucketPicker.Items where item.Selected select item;

            foreach (ListItem item in query)
            {
                Bucket newBucket = new Bucket();
                newBucket.Id        = item.Value.AsInteger();
                newBucket.Name      = item.Text;
                newBucket.DisplayAs = item.Text;
                newBucket.Order     = buckets.Count() + 1;

                newBuckets.Add(newBucket);
            }

            // If newFilters is longer than our current filters, or vice versa, change has been made
            if (newBuckets.Count != buckets.Count || buckets.Except(newBuckets).Any())
            {
                changeMade = true;
                var tempBuckets = new List <Bucket>();
                // Keep the data from our existing filters when updating our filter list
                foreach (Bucket bucket in newBuckets)
                {
                    Bucket existingBucket = buckets.Find(b => b.Id == bucket.Id);

                    if (existingBucket.IsNotNull())
                    {
                        tempBuckets.Add(existingBucket);
                    }
                    else
                    {
                        tempBuckets.Add(bucket);
                    }
                }

                buckets = tempBuckets;
            }

            if (changeMade == true)
            {
                BucketDetailsControl.buckets = buckets;
                BucketDetailsControl.Refresh();
            }
        }
        protected void etpEntityType_SelectedIndexChanged(object sender, EventArgs e)
        {
            dvDataViewBucketPicker.ClearSelection();
            dvDataViewBucketPicker.EntityTypeId = etpEntityType.SelectedEntityTypeId;

            buckets = new List <Bucket>();
            filters = new Dictionary <string, Filter>();

            BucketDetailsControl.buckets = buckets;
            BucketDetailsControl.Refresh();
            upnlBuckets.Update();

            FilterControl.EntityTypeId = etpEntityType.SelectedEntityTypeId ?? 0;
            FilterControl.filters      = filters;
            FilterControl.Refresh();
        }
        protected override void ShowSettings()
        {
            pnlConfigure.Visible = true;

            txtVisualizationTitle.Text = GetAttributeValue("Title");

            etpEntityType.EntityTypes = new EntityTypeService(new RockContext())
                                        .Queryable()
                                        .OrderBy(t => t.FriendlyName).ToList();
            etpEntityType.SelectedEntityTypeId  = GetAttributeValue("EntityTypeId").AsInteger();
            dvDataViewBucketPicker.EntityTypeId = GetAttributeValue("EntityTypeId").AsInteger();

            // Load Data Views
            List <Bucket> buckets          = GetAttributeValue("Buckets").FromJsonOrNull <List <Bucket> >() ?? new List <Bucket>();
            var           dataViewsOptions = from ListItem li in dvDataViewBucketPicker.Items
                                             where buckets.Any((bucket) => { return(bucket.Id == li.Value.AsInteger()); })
                                             select li;

            foreach (ListItem li in dataViewsOptions)
            {
                li.Selected = true;
            }

            tbSummaryLava.Text            = GetAttributeValue("SummaryLava");
            ddlDefaultStyle.SelectedValue = GetAttributeValue("Style");
            tbEntityUrl.Text   = GetAttributeValue("EntityUrl");
            tbDataViewUrl.Text = GetAttributeValue("DataViewUrl");

            mdConfigure.Show();

            BucketDetailsControl.buckets = buckets;
            BucketDetailsControl.Refresh();
            upnlBuckets.Update();

            FilterControl.EntityTypeId  = GetAttributeValue("EntityTypeId").AsInteger();
            FilterControl.ShowFilterKey = GetAttributeValue("ShowFilterKey").AsBoolean();
            FilterControl.filters       = filters;
            FilterControl.Refresh();

            upnlContent.Update();
        }