mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-23 18:17:20 +00:00
471b73158a
This fixes a bug in #3634, and refines the logic so that the warning is only given if the incoming tiddler exists as a shadow tiddler. (In my case I have several draft core modules inactive in my notes wiki and they were erroneously suppressed from the upgrade).
53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
/*\
|
|
title: $:/core/modules/upgraders/system.js
|
|
type: application/javascript
|
|
module-type: upgrader
|
|
|
|
Upgrader module that suppresses certain system tiddlers that shouldn't be imported
|
|
|
|
\*/
|
|
(function(){
|
|
|
|
/*jslint node: true, browser: true */
|
|
/*global $tw: false */
|
|
"use strict";
|
|
|
|
var DONT_IMPORT_LIST = ["$:/StoryList","$:/HistoryList"],
|
|
DONT_IMPORT_PREFIX_LIST = ["$:/temp/","$:/state/","$:/Import"],
|
|
WARN_IMPORT_PREFIX_LIST = ["$:/core/modules/"];
|
|
|
|
exports.upgrade = function(wiki,titles,tiddlers) {
|
|
var self = this,
|
|
messages = {},
|
|
showAlert = false;
|
|
// Check for tiddlers on our list
|
|
$tw.utils.each(titles,function(title) {
|
|
if(DONT_IMPORT_LIST.indexOf(title) !== -1) {
|
|
tiddlers[title] = Object.create(null);
|
|
messages[title] = $tw.language.getString("Import/Upgrader/System/Suppressed");
|
|
} else {
|
|
for(var t=0; t<DONT_IMPORT_PREFIX_LIST.length; t++) {
|
|
var prefix = DONT_IMPORT_PREFIX_LIST[t];
|
|
if(title.substr(0,prefix.length) === prefix) {
|
|
tiddlers[title] = Object.create(null);
|
|
messages[title] = $tw.language.getString("Import/Upgrader/State/Suppressed");
|
|
}
|
|
}
|
|
for(var t=0; t<WARN_IMPORT_PREFIX_LIST.length; t++) {
|
|
var prefix = WARN_IMPORT_PREFIX_LIST[t];
|
|
if(title.substr(0,prefix.length) === prefix && wiki.isShadowTiddler(title)) {
|
|
showAlert = true;
|
|
messages[title] = $tw.language.getString("Import/Upgrader/System/Warning");
|
|
}
|
|
}
|
|
}
|
|
});
|
|
if(showAlert) {
|
|
var logger = new $tw.utils.Logger("import");
|
|
logger.alert($tw.language.getString("Import/Upgrader/System/Alert"));
|
|
}
|
|
return messages;
|
|
};
|
|
|
|
})();
|