示例#1
0
        /// <summary>
        /// Returns a table element (or equivalent) that wraps the given rows.
        /// </summary>
        /// <param name="rows">Array of row elements.</param>
        /// <param name="dom">DOM helper for document interaction.</param>
        /// <returns>Palette table element.</returns>
        public HTMLElement createTable(JsArray <Node> rows, goog.dom.DomHelper dom)
        {
            var table = (HTMLTableElement)dom.createDom(
                goog.dom.TagName.TABLE, le.getCssName(this.getCssClass(), "table"),
                dom.createDom(
                    goog.dom.TagName.TBODY, le.getCssName(this.getCssClass(), "body"),
                    rows));

            table.CellSpacing = "0";
            table.CellPadding = "0";
            return(table);
        }
示例#2
0
        /// <summary>
        /// Returns a table cell element (or equivalent) that wraps the given palette
        /// item (which must be a DOM node).
        /// </summary>
        /// <param name="node">Palette item.</param>
        /// <param name="dom">DOM helper for document interaction.</param>
        /// <returns>Cell element.</returns>
        public HTMLElement createCell(Union <string, Node, NodeList, JsArray <Node> > node, goog.dom.DomHelper dom)
        {
            var cell = dom.createDom(
                goog.dom.TagName.TD, new Dictionary <string, string> {
                { "class", le.getCssName(this.getCssClass(), "cell") },
                // Cells must have an ID, for accessibility, so we generate one here.
                { "id", le.getCssName(this.getCssClass(), "cell-") +
                  goog.ui.PaletteRenderer.cellId_++ }
            },
                node);

            goog.a11y.aria.setRole(cell, goog.a11y.aria.Role.GRIDCELL);
            // Initialize to an unselected state.
            goog.a11y.aria.setState(cell, goog.a11y.aria.State.SELECTED, false);

            if (goog.dom.getTextContent(cell) == null && goog.a11y.aria.getLabel(cell) == null)
            {
                var ariaLabelForCell = this.findAriaLabelForCell_(cell);
                if (ariaLabelForCell != null)
                {
                    goog.a11y.aria.setLabel(cell, ariaLabelForCell);
                }
            }
            return(cell);
        }
示例#3
0
        /// <summary>
        /// Returns a table row element (or equivalent) that wraps the given cells.
        /// </summary>
        /// <param name="cells">Array of cell elements.</param>
        /// <param name="dom">DOM helper for document interaction.</param>
        /// <returns>Row element.</returns>
        public HTMLElement createRow(JsArray <Node> cells, goog.dom.DomHelper dom)
        {
            var row = dom.createDom(
                goog.dom.TagName.TR, le.getCssName(this.getCssClass(), "row"), cells);

            goog.a11y.aria.setRole(row, goog.a11y.aria.Role.ROW);
            return(row);
        }