示例#1
0
        /// <summary>
        /// Creates the control(s) necessary for prompting user for a new value
        /// </summary>
        /// <param name="configurationValues">The configuration values.</param>
        /// <param name="id"></param>
        /// <returns>
        /// The control
        /// </returns>
        public override Control EditControl(Dictionary <string, ConfigurationValue> configurationValues, string id)
        {
            string entityTypeName = string.Empty;
            int    entityTypeId   = 0;

            if (configurationValues != null)
            {
                if (configurationValues.ContainsKey(ENTITY_TYPE_NAME_KEY))
                {
                    entityTypeName = configurationValues[ENTITY_TYPE_NAME_KEY].Value;
                    if (!string.IsNullOrWhiteSpace(entityTypeName) && entityTypeName != None.IdValue)
                    {
                        var entityType = EntityTypeCache.Read(entityTypeName);
                        if (entityType != null)
                        {
                            entityTypeId = entityType.Id;
                        }
                    }
                }
            }

            var editControl = new DataViewsPicker {
                ID = id, EntityTypeId = entityTypeId
            };

            return(editControl);
        }
        public FilterPickerControl()
        {
            upnlFilters            = new UpdatePanel();
            upnlFilters.UpdateMode = UpdatePanelUpdateMode.Conditional;

            PanelWidget pwFilters = new PanelWidget();

            pwFilters.Title    = "Filters";
            pwFilters.ID       = "pwFilters";
            pwFilters.Expanded = true;

            // Data View picker
            dvDataViewPicker              = new DataViewsPicker();
            dvDataViewPicker.ID           = "dvDataViewPicker";
            dvDataViewPicker.Label        = "Filters";
            dvDataViewPicker.Help         = "Select data views you want to represent in this visulization";
            dvDataViewPicker.AutoPostBack = true;
            dvDataViewPicker.TextChanged += dvDataView_SelectedItem;
            pwFilters.Controls.Add(dvDataViewPicker);

            // Show filter key checkbox
            pwFilters.Controls.Add(new LiteralControl("<div class='row showFilterKey'><div class='col-xs-12'>"));
            cbShowFilterKey         = new RockCheckBox();
            cbShowFilterKey.ID      = "cbShowFilterKey";
            cbShowFilterKey.Label   = "Show Filter Key";
            cbShowFilterKey.Checked = true;
            cbShowFilterKey.Help    = "Show the filter key in the top left hand corner of the chart";
            pwFilters.Controls.Add(cbShowFilterKey);
            pwFilters.Controls.Add(new LiteralControl("</div></div>"));


            RockControlWrapper rcwDatafilters = new RockControlWrapper();

            rptDataFilters                = new Repeater();
            rptDataFilters.ID             = "rptDataFilters";
            rptDataFilters.ItemDataBound += rptDataFilters_ItemDataBound;
            rptDataFilters.ItemTemplate   = new FilterItemTemplate(ListItemType.Item);
            rcwDatafilters.Controls.Add(rptDataFilters);
            pwFilters.Controls.Add(rcwDatafilters);

            upnlFilters.ContentTemplateContainer.Controls.Add(pwFilters);
            Controls.Add(upnlFilters);
        }