From 49208cf056602df57d62fcff454562b799d2df41 Mon Sep 17 00:00:00 2001 From: pmario Date: Fri, 19 Apr 2024 10:37:05 +0200 Subject: [PATCH] allow 1 nested button. button in button in button will return an error --- core/modules/widgets/button.js | 7 +++++-- .../data/transclude/Recursion-Button-Transclusion.tid | 2 +- .../tests/data/transclude/Recursion-Button-in-Button.tid | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/core/modules/widgets/button.js b/core/modules/widgets/button.js index 603520fe0..ea0c79c46 100644 --- a/core/modules/widgets/button.js +++ b/core/modules/widgets/button.js @@ -29,10 +29,13 @@ ButtonWidget.prototype = new Widget(); Detect nested buttons */ ButtonWidget.prototype.isNestedButton = function() { - var pointer = this.parentWidget; + var pointer = this.parentWidget, + depth = 0; while(pointer) { if(pointer instanceof ButtonWidget) { - return true; + // we allow 1 nested button + if(depth > 1) return true; + depth += 1; } pointer = pointer.parentWidget; } diff --git a/editions/test/tiddlers/tests/data/transclude/Recursion-Button-Transclusion.tid b/editions/test/tiddlers/tests/data/transclude/Recursion-Button-Transclusion.tid index c6a08e1d2..737b7cba2 100644 --- a/editions/test/tiddlers/tests/data/transclude/Recursion-Button-Transclusion.tid +++ b/editions/test/tiddlers/tests/data/transclude/Recursion-Button-Transclusion.tid @@ -12,4 +12,4 @@ title: Output + title: ExpectedResult -

\ No newline at end of file +

\ No newline at end of file diff --git a/editions/test/tiddlers/tests/data/transclude/Recursion-Button-in-Button.tid b/editions/test/tiddlers/tests/data/transclude/Recursion-Button-in-Button.tid index f90afb134..fd1baccd1 100644 --- a/editions/test/tiddlers/tests/data/transclude/Recursion-Button-in-Button.tid +++ b/editions/test/tiddlers/tests/data/transclude/Recursion-Button-in-Button.tid @@ -7,9 +7,9 @@ title: Output \whitespace trim <$button>Test Button -<$button>Invalid button +<$button>Second button + title: ExpectedResult -

\ No newline at end of file +

\ No newline at end of file