/// <summary> /// 获取标签生成器 /// </summary> protected override TagBuilder GetTagBuilder() { var builder = new TableHeadColumnBuilder(); Config(builder); return(builder); }
/// <summary> /// 配置 /// </summary> protected void Config(TableHeadColumnBuilder builder) { ConfigId(builder); ConfigTitle(builder); ConfigType(builder); ConfigContent(builder); }
/// <summary> /// 添加标签生成器 /// </summary> private void AddSpanBuilder(TableHeadColumnBuilder headColumnBuilder, ColumnInfo column) { var spanBuilder = new SpanBuilder(); spanBuilder.AddAttribute("*ngIf", $"!{GetWrapperId()}.showCheckbox"); spanBuilder.SetContent(column.Title); headColumnBuilder.AppendContent(spanBuilder); }
/// <summary> /// 配置序号 /// </summary> private void ConfigLineNumber(TableHeadColumnBuilder builder) { if (_config.GetValue <TableColumnType?>(UiConst.Type) != TableColumnType.LineNumber) { return; } builder.Title(R.LineNumber); }
/// <summary> /// 配置复选框 /// </summary> private void ConfigCheckbox(TableHeadColumnBuilder builder) { if (_config.GetValue <TableColumnType?>(UiConst.Type) != TableColumnType.Checkbox) { return; } var tableId = _config.Context.GetValueFromItems <TableShareConfig>(TableConfig.TableShareKey)?.TableId; builder.AddCheckBox(tableId); }
/// <summary> /// 配置序号 /// </summary> private void ConfigLineNumber(TableHeadColumnBuilder builder) { if (_config.GetValue <TableColumnType?>(UiConst.Type) != TableColumnType.LineNumber) { return; } builder.Title(R.LineNumber); if (_config.Contains(UiConst.Width)) { return; } builder.AddWidth(TableConfig.LineNumberWidth); }
/// <summary> /// 配置宽度 /// </summary> private void ConfigWidth(TableHeadColumnBuilder builder) { if (_config.Contains(UiConst.Width)) { builder.AddWidth(_config.GetValue(UiConst.Width)); return; } var columnInfo = GetColumnInfo(); if (columnInfo == null || columnInfo.Width.IsEmpty()) { return; } builder.AddWidth(columnInfo.Width); }
/// <summary> /// 配置排序 /// </summary> private void ConfigSort(TableHeadColumnBuilder builder) { if (_config.Contains(UiConst.Sort)) { builder.AddSort(_config.GetValue(UiConst.Sort)); return; } var columnInfo = GetColumnInfo(); if (columnInfo == null || columnInfo.IsSort == false) { return; } builder.AddSort(columnInfo.Column); }
/// <summary> /// 配置排序 /// </summary> private void ConfigSort(TableHeadColumnBuilder builder) { var shareConfig = GetShareConfig(); var columnInfo = shareConfig?.Columns.Find(t => t.IsSort && t.Title == GetTitle()); if (columnInfo != null) { builder.AddSort(columnInfo.Column); return; } if (_config.Contains(UiConst.Sort) == false) { return; } builder.AddSort(_config.GetValue(UiConst.Sort)); }
/// <summary> /// 添加标题列 /// </summary> protected override void AddHeadColumns(TableRowBuilder rowBuilder) { for (int i = 0; i < _config.Columns.Count; i++) { var headColumnBuilder = new TableHeadColumnBuilder(); var column = _config.Columns[i]; if (i == 0) { AddCheckboxColumn(headColumnBuilder, column); } else { AddColumn(headColumnBuilder, column); } rowBuilder.AppendContent(headColumnBuilder); } }
/// <summary> /// 配置样式 /// </summary> private void ConfigStyle(TableHeadColumnBuilder builder) { ConfigWidth(builder); }
/// <summary> /// 配置标题 /// </summary> private void ConfigTitle(TableHeadColumnBuilder builder) { builder.Title(GetTitle()); }
/// <summary> /// 添加复选框列 /// </summary> private void AddColumn(TableHeadColumnBuilder headColumnBuilder, ColumnInfo column) { headColumnBuilder.AddWidth(column.Width); headColumnBuilder.Title(column.Title); headColumnBuilder.AddSort(column.GetSortKey()); }
/// <summary> /// 配置类型 /// </summary> private void ConfigType(TableHeadColumnBuilder builder) { ConfigLineNumber(builder); ConfigCheckbox(builder); }
/// <summary> /// 配置标题 /// </summary> private void ConfigTitle(TableHeadColumnBuilder builder) { builder.Title(_config.GetValue(UiConst.Title)); }
/// <summary> /// 添加标题复选框生成器 /// </summary> private void AddCheckBoxBuilder(TableHeadColumnBuilder headColumnBuilder, ColumnInfo column) { var checkBoxBuilder = new MasterCheckBoxBuilder(GetWrapperId(), column.Title); headColumnBuilder.AppendContent(checkBoxBuilder); }
/// <summary> /// 添加复选框列 /// </summary> private void AddCheckboxColumn(TableHeadColumnBuilder headColumnBuilder, ColumnInfo column) { AddCheckBoxBuilder(headColumnBuilder, column); AddSpanBuilder(headColumnBuilder, column); }