1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-09 19:39:57 +00:00

Initial Commit

This commit is contained in:
Jeremy Ruston 2024-07-06 18:08:13 +01:00
parent eeeb9f97a9
commit 25edf0e212

View File

@ -84,26 +84,33 @@ ClassicStoryView.prototype.remove = function(widget) {
}; };
// Abandon if the list entry isn't a DOM element (it might be a text node) // Abandon if the list entry isn't a DOM element (it might be a text node)
if(!targetElement || targetElement.nodeType === Node.TEXT_NODE) { if(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {
removeElement(); widget.removeChildDomNodes();
return; return;
} }
// Clone the target element
var cloneElement = targetElement.cloneNode(true);
targetElement.parentNode.insertBefore(cloneElement,targetElement);
// Remove the original element
widget.removeChildDomNodes();
// Get the current height of the tiddler // Get the current height of the tiddler
var currWidth = targetElement.offsetWidth, var currWidth = cloneElement.offsetWidth,
computedStyle = window.getComputedStyle(targetElement), computedStyle = window.getComputedStyle(cloneElement),
currMarginBottom = parseInt(computedStyle.marginBottom,10), currMarginBottom = parseInt(computedStyle.marginBottom,10),
currMarginTop = parseInt(computedStyle.marginTop,10), currMarginTop = parseInt(computedStyle.marginTop,10),
currHeight = targetElement.offsetHeight + currMarginTop; currHeight = cloneElement.offsetHeight + currMarginTop;
// Remove the dom nodes of the widget at the end of the transition // Remove the dom nodes of the widget at the end of the transition
setTimeout(removeElement,duration); setTimeout(function() {
cloneElement.parentNode.removeChild(cloneElement);
},duration);
// Animate the closure // Animate the closure
$tw.utils.setStyle(targetElement,[ $tw.utils.setStyle(cloneElement,[
{transition: "none"}, {transition: "none"},
{transform: "translateX(0px)"}, {transform: "translateX(0px)"},
{marginBottom: currMarginBottom + "px"}, {marginBottom: currMarginBottom + "px"},
{opacity: "1.0"} {opacity: "1.0"}
]); ]);
$tw.utils.forceLayout(targetElement); $tw.utils.forceLayout(cloneElement);
$tw.utils.setStyle(targetElement,[ $tw.utils.setStyle(cloneElement,[
{transition: $tw.utils.roundTripPropertyName("transform") + " " + duration + "ms " + easing + ", " + {transition: $tw.utils.roundTripPropertyName("transform") + " " + duration + "ms " + easing + ", " +
"opacity " + duration + "ms " + easing + ", " + "opacity " + duration + "ms " + easing + ", " +
"margin-bottom " + duration + "ms " + easing}, "margin-bottom " + duration + "ms " + easing},