Example #1
0
        private void AddMoveButtons(TableCell tableCell, IVwbColumn column)
        {
            if (column == _articleCheckboxes || column == _articleNumberColumn || column == _titleColumn)
            {
                return;
            }

            if (!_query.ColumnKeysInOrder.Any())
            {
                return;
            }

            if (column.Key() != _query.ColumnKeysInOrder.FirstOrDefault())
            {
                var link = new HyperLink {
                    CssClass = "moveleft"
                };
                var query = _query.Clone();
                query.MoveColumnLeft(column.Key());
                link.Attributes.Add("href", GetUrlForQuery(query));
                tableCell.Controls.Add(link);
            }
            if (column.Key() != _query.ColumnKeysInOrder.Last())
            {
                var link = new HyperLink {
                    CssClass = "moveright"
                };
                var query = _query.Clone();
                query.MoveColumnRight(column.Key());
                link.Attributes.Add("href", GetUrlForQuery(query));
                tableCell.Controls.Add(link);
            }
        }
Example #2
0
        /// <summary>
        /// Immutable subheader cells do not have controls to remove
        /// or move them.
        /// Article Number subheader cell and Title fall under this distinction
        /// </summary>
        /// <returns></returns>
        private TableCell GetImmutableSubHeaderCell(IVwbColumn column)
        {
            var cell = new TableCell();
            var link = new HyperLink {
                CssClass = "right space"
            };

            LinkButtonToSortColumn(link, column);
            cell.Controls.Add(link);
            return(cell);
        }
Example #3
0
        private void InitializeColumns(VwbQuery query)
        {
            Columns = query.ColumnKeysInOrder != null
                                                                                                                        ? ColumnFactory.GetColumns(query.ColumnKeysInOrder).ToList()
                                                                                                                        : new List <IVwbColumn>();

            _articleCheckboxes   = ColumnFactory.GetArticleCheckboxes();
            _articleNumberColumn = ColumnFactory.GetArticleNumberColumn();
            _titleColumn         = ColumnFactory.GetTitleColumn();
            Columns.InsertRange(0, new[] { _articleCheckboxes, _articleNumberColumn, _titleColumn });
        }
Example #4
0
        private TableCell GetTableSubHeaderCell(IVwbColumn col)
        {
            var        tableCell = new TableCell();
            IVwbColumn cur       = col;

            AddMoveButtons(tableCell, cur);

            var link = new HyperLink {
                CssClass = "right space"
            };

            LinkButtonToSortColumn(link, col);
            tableCell.Controls.Add(link);

            return(tableCell);
        }
Example #5
0
        private void LinkButtonToSortColumn(HyperLink link, IVwbColumn column)
        {
            var q = _query.Clone();

            if (q.SortColumnKey == column.Key())
            {
                q.Descending = !_query.Descending;
            }
            else
            {
                q.SortColumnKey = column.Key();
                q.Descending    = false;
            }
            var clas = q.Descending ? " descending-active" : null;

            link.CssClass += clas;
            link.Attributes.Add("href", GetUrlForQuery(q));
        }
Example #6
0
        private TableCell GetTableHeaderCell(IVwbColumn col)
        {
            var tableCell = new TableCell
            {
                Text = col.GetHeader()
            };

            tableCell.Controls.Add(new Label
            {
                Text = col.GetHeader()
            });
            if (col != _articleCheckboxes && col != _articleNumberColumn && col != _titleColumn)
            {
                var linkButton = new HyperLink {
                    CssClass = "right space"
                };
                var q = _query.Clone();
                q.ColumnKeysInOrder.Remove(col.Key());
                linkButton.Attributes.Add("href", _page.Request.ServerVariables["URL"] + "?" + q.GetQueryString());
                tableCell.Controls.Add(linkButton);
            }
            return(tableCell);
        }