Source: d:/Users/cjolif/sdk/sdk-utils/deliteful/list/CategoryRenderer.js

/** @module deliteful/list/CategoryRenderer */
define([
	"dcl/dcl",
	"delite/register",
	"delite/handlebars!./List/CategoryRenderer.html",
	"./Renderer"
], function (dcl, register, template, Renderer) {

	/**
	 * Default category renderer for the {@link module:deliteful/list/List deliteful/list/List widget}.
	 * 
	 * @class module:deliteful/list/CategoryRenderer
	 */
	var CategoryRenderer = dcl(Renderer, /** @lends module:deliteful/list/CategoryRenderer# */ {

		/**
		 * CSS class of a category renderer. This value is expected by the
		 * {@link module:deliteful/list/List deliteful/list/List widget}
		 * so it must not be changed.
		 * @member {string}
		 * @protected
		 */
		baseClass: "d-list-category",

		template: template,

		//////////// PROTECTED METHODS ///////////////////////////////////////

		attachedCallback: dcl.superCall(function (sup) {
			return function () {
				sup.apply(this, arguments);
				if (this.getParent().getAttribute("role") === "grid") {
					this.setAttribute("role", "row");
					this.renderNode.setAttribute("role", "columnheader");
				} else {
					this.renderNode.removeAttribute("tabindex");
					this.renderNode.setAttribute("role", "heading");
				}
			};
		})

	});

	return register("d-list-category-renderer", [HTMLElement, CategoryRenderer]);
});