/// <summary> /// Initializes a new instance of the <see cref="FieldControl"/> class. /// </summary> /// <param name="fieldControl"> /// The field control. /// </param> /// <param name="mode"> /// The mode. /// </param> public FieldControl(FieldControl fieldControl, FieldDetailsMode mode) { this.UnitName = fieldControl.UnitName; this.InfoAreaId = fieldControl.InfoAreaId; this.ControlName = fieldControl.ControlName; var _tabArray = new List <FieldControlTab>(fieldControl.NumberOfTabs); _tabArray.AddRange(fieldControl.Tabs.Select(tab => new FieldControlTab(tab, (int)mode, this))); this.Tabs = _tabArray; this.sortFields = fieldControl.SortFields(); this.Attributes = fieldControl.Attributes; }
/// <summary> /// Initializes a new instance of the <see cref="FieldControl"/> class. /// </summary> /// <param name="fieldControl"> /// The field control. /// </param> /// <param name="sortConfiguration"> /// The sort configuration. /// </param> public FieldControl(FieldControl fieldControl, FieldControl sortConfiguration) { this.UnitName = "CombinedWithSort"; this.InfoAreaId = fieldControl.InfoAreaId; this.ControlName = fieldControl.ControlName; this.Tabs = new List <FieldControlTab>(fieldControl.Tabs); this.sortFields = new List <FieldControlSortField>(sortConfiguration.SortFields()); if (fieldControl?.Attributes != null) { this.Attributes = new Dictionary <string, string>(fieldControl.Attributes); } else { this.Attributes = new Dictionary <string, string>(); } }
/// <summary> /// Initializes a new instance of the <see cref="FieldControl"/> class. /// </summary> /// <param name="fieldControl"> /// The field control. /// </param> /// <param name="tabNr"> /// The tab nr. /// </param> /// <param name="infoAreaId"> /// The information area identifier. /// </param> /// <param name="rootLinkId"> /// The root link identifier. /// </param> public FieldControl(FieldControl fieldControl, int tabNr, string infoAreaId, int rootLinkId) { this.UnitName = fieldControl.UnitName; this.InfoAreaId = string.IsNullOrWhiteSpace(infoAreaId) ? fieldControl.InfoAreaId : infoAreaId; this.ControlName = fieldControl.ControlName; this.Tabs = new List <FieldControlTab> { new FieldControlTab( fieldControl.TabAtIndex(tabNr), 0, this, rootLinkId) }; this.sortFields = fieldControl.SortFields(); this.Attributes = fieldControl.Attributes; }