Update windows.js

Before it used $tw.stylesheetTiddlers which is not necessarily synchronized with the new window
This commit is contained in:
Simon Huber 2024-03-26 12:03:58 +01:00 committed by GitHub
parent f7909a5cb4
commit cc9fb0df1c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 10 additions and 3 deletions

View File

@ -83,6 +83,12 @@ exports.startup = function() {
}
}
function getStylesheets() {
// Get our stylesheets in reversed order
return $tw.wiki.filterTiddlers("[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]reverse[]]");
}
$tw.windows[windowID].stylesheetTiddlers = getStylesheets();
$tw.windows[windowID].styleWidgetNodes = [];
$tw.windows[windowID].styleContainers = [];
$tw.windows[windowID].styleElements = [];
@ -95,11 +101,12 @@ exports.startup = function() {
widgetNode.render(srcDocument.body,srcDocument.body.firstChild);
// Function to handle refreshes
refreshHandler = function(changes) {
var stylesheetTiddlers = $tw.wiki.filterTiddlers("[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]reverse[]]");
if(stylesheetTiddlers.length !== $tw.stylesheetTiddlers.length || $tw.utils.hopArray(changes,stylesheetTiddlers)) {
for(var i=0; i<$tw.stylesheetTiddlers.length; i++) {
var stylesheetTiddlers = getStylesheets();
if(stylesheetTiddlers.length !== $tw.windows[windowID].stylesheetTiddlers.length || $tw.utils.hopArray(changes,stylesheetTiddlers)) {
for(var i=0; i<$tw.windows[windowID].stylesheetTiddlers.length; i++) {
srcDocument.head.removeChild($tw.windows[windowID].styleElements[i]);
}
$tw.windows[windowID].stylesheetTiddlers = stylesheetTiddlers;
$tw.windows[windowID].styleWidgetNodes = [];
$tw.windows[windowID].styleContainers = [];
$tw.windows[windowID].styleElements = [];