diff --git a/core/modules/widgets/parameters.js b/core/modules/widgets/parameters.js index 69194cb9e..fdd2cb963 100644 --- a/core/modules/widgets/parameters.js +++ b/core/modules/widgets/parameters.js @@ -74,6 +74,18 @@ ParametersWidget.prototype.execute = function() { self.setVariable(variableName,getValue(name)); } }); + } else { + // There is no parent transclude. i.e. direct rendering. + // We use default values only. + $tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(self.parseTreeNode),function(attr,index) { + var name = attr.name; + // If the attribute name starts with $$ then reduce to a single dollar + if(name.substr(0,2) === "$$") { + name = name.substr(1); + } + var value = self.getAttribute(attr.name,""); + self.setVariable(name,value); + }); } // Construct the child widgets this.makeChildWidgets(); diff --git a/editions/test/tiddlers/tests/test-widget.js b/editions/test/tiddlers/tests/test-widget.js index 1c7665a53..637104c0b 100755 --- a/editions/test/tiddlers/tests/test-widget.js +++ b/editions/test/tiddlers/tests/test-widget.js @@ -816,6 +816,26 @@ describe("Widget module", function() { expect(wrapper.innerHTML).toBe("
Bval
"); }); + it("should use default $parameters if directly rendered", function() { + var wiki = new $tw.Wiki(); + var text = "<$parameters bee=default $$dollar=bill nothing empty=''>bee=<bee=default, $dollar=bill, nothing=true, empty=
"); + }); + + it("should use default \\parameters if directly rendered", function() { + var wiki = new $tw.Wiki(); + var text = "\\parameters(bee:default $$dollar:bill nothing)\nbee=<bee=default, $$dollar=bill, nothing=
"); + }); + it("can have more than one macroDef variable imported", function() { var wiki = new $tw.Wiki(); wiki.addTiddlers([