/// <summary> /// Called before the checklist creating. /// </summary> /// <param name="args">The arguments.</param> protected virtual void OnChecklistCreating(ChecklistEventArgs args) { if (this.ChecklistCreating != null) { this.ChecklistCreating(args); } }
/// <summary> /// Handles checklist creating event. /// </summary> /// <param name="args">The arguments.</param> public override void ChecklistCreating(ChecklistEventArgs args) { base.ChecklistCreating(args); var values = this.CatalogSettings.Checklists[args.ChecklistDefinition.Field]; if (!string.IsNullOrEmpty(values)) { args.CheckedValues = new ListString(values); } }
/// <summary> /// Initializes the checklists. Checklists provides additional search result filtering functionality. /// It's stored in the catalog settings folder. /// </summary> /// <param name="checklists">The checklists.</param> public void InitializeChecklists(IEnumerable <ChecklistDefinition> checklists) { this.Checklists = new NameValueCollection(); foreach (var checklist in checklists) { var args = new ChecklistEventArgs { ChecklistDefinition = checklist }; this.OnChecklistCreating(args); var border = new Border(); border.Attributes["class"] = "scChecklist"; this.ChecklistContainer.Controls.Add(border); var header = new Border { ID = Control.GetUniqueID("ChecklistHeader"), InnerHtml = checklist.Header }; header.Attributes["class"] = "scChecklistHeader"; border.Controls.Add(header); var checklistBorder = new Border { ID = Control.GetUniqueID("ChecklistBody") }; checklistBorder.Attributes["name"] = CheckListIdPrefix + checklist.Field; checklistBorder.Attributes["class"] = "scChecklistItems"; border.Controls.Add(checklistBorder); foreach (var checklistItem in checklist.Checkboxes) { var cb = new HtmlInputCheckBox { ID = string.Concat(Control.GetUniqueID("checkbox_"), CheckListIdPrefix, checklist.Field), Checked = args.CheckedValues != null && args.CheckedValues.Contains(checklistItem.Value), Value = checklistItem.Value }; checklistBorder.Controls.Add(cb); var label = new LiteralControl(string.Format("<label for=\"{0}\">{1}</label><br />", cb.ClientID, checklistItem.Text)); checklistBorder.Controls.Add(label); if (cb.Checked) { AddListStringValue(this.Checklists, checklist.Field, checklistItem.Value); } } } }
/// <summary> /// Initializes the checklists. Checklists provides additional search result filtering functionality. /// It's stored in the catalog settings folder. /// </summary> /// <param name="checklists">The checklists.</param> public void InitializeChecklists(IEnumerable<ChecklistDefinition> checklists) { this.Checklists = new NameValueCollection(); foreach (var checklist in checklists) { var args = new ChecklistEventArgs { ChecklistDefinition = checklist }; this.OnChecklistCreating(args); var border = new Border(); border.Attributes["class"] = "scChecklist"; this.ChecklistContainer.Controls.Add(border); var header = new Border { ID = Control.GetUniqueID("ChecklistHeader"), InnerHtml = checklist.Header }; header.Attributes["class"] = "scChecklistHeader"; border.Controls.Add(header); var checklistBorder = new Border { ID = Control.GetUniqueID("ChecklistBody") }; checklistBorder.Attributes["name"] = CheckListIdPrefix + checklist.Field; checklistBorder.Attributes["class"] = "scChecklistItems"; border.Controls.Add(checklistBorder); foreach (var checklistItem in checklist.Checkboxes) { var cb = new HtmlInputCheckBox { ID = string.Concat(Control.GetUniqueID("checkbox_"), CheckListIdPrefix, checklist.Field), Checked = args.CheckedValues != null && args.CheckedValues.Contains(checklistItem.Value), Value = checklistItem.Value }; checklistBorder.Controls.Add(cb); var label = new LiteralControl(string.Format("<label for=\"{0}\">{1}</label><br />", cb.ClientID, checklistItem.Text)); checklistBorder.Controls.Add(label); if (cb.Checked) { AddListStringValue(this.Checklists, checklist.Field, checklistItem.Value); } } } }
/// <summary> /// Handles checklist creating event. /// </summary> /// <param name="args">The arguments.</param> public virtual void ChecklistCreating(ChecklistEventArgs args) { }