From da43887d7c5738a89da0998e9e55ad69ad330ada Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Fri, 26 Oct 2012 14:00:56 +0100 Subject: [PATCH] Add the ability to set classes on list elements --- core/modules/macros/list/list.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/core/modules/macros/list/list.js b/core/modules/macros/list/list.js index 58897ee56..8138cac92 100644 --- a/core/modules/macros/list/list.js +++ b/core/modules/macros/list/list.js @@ -24,7 +24,8 @@ exports.info = { editTemplateText: {byName: true, type: "text"}, emptyMessage: {byName: true, type: "text"}, listviewTiddler: {byName: true, type: "tiddler"}, - listview: {byName: true, type: "text"} + listview: {byName: true, type: "text"}, + itemClass: {byName: true, type: "text"} } }; @@ -110,13 +111,18 @@ Create a list element representing a given tiddler */ exports.createListElement = function(title) { var node = this.createListElementMacro(title), + attributes = {"class": ["tw-list-element"]}, eventHandler = {handleEvent: function(event) { // Add context information to the event event.navigateFromTitle = title; return true; }}; node.execute(this.parents,this.tiddlerTitle); - var listElement = $tw.Tree.Element(this.isBlock ? "div" : "span",{"class": ["tw-list-element"]},[node],{ + // Add any specified classes + if(this.hasParameter("itemClass")) { + attributes["class"].push(this.params["itemClass"]); + } + var listElement = $tw.Tree.Element(this.isBlock ? "div" : "span",attributes,[node],{ events: ["tw-navigate","tw-EditTiddler","tw-SaveTiddler","tw-CloseTiddler","tw-NewTiddler"], eventHandler: eventHandler });