mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-23 10:07:19 +00:00
Extend action-log and subclass it as log widget (#5078)
* Extended action-log and subclassed it as log widget * Do not rename LogWidget class * Removed unneeded variable declaration
This commit is contained in:
parent
1339c23b3a
commit
483fd941f5
@ -28,23 +28,66 @@ Render this widget into the DOM
|
|||||||
*/
|
*/
|
||||||
LogWidget.prototype.render = function(parent,nextSibling) {
|
LogWidget.prototype.render = function(parent,nextSibling) {
|
||||||
this.computeAttributes();
|
this.computeAttributes();
|
||||||
|
this.execute();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
LogWidget.prototype.execute = function(){
|
||||||
|
this.message = this.getAttribute("$$message","debug");
|
||||||
|
this.logAll = this.getAttribute("$$all","no") === "yes" ? true : false;
|
||||||
|
this.filter = this.getAttribute("$$filter");
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Refresh the widget by ensuring our attributes are up to date
|
Refresh the widget by ensuring our attributes are up to date
|
||||||
*/
|
*/
|
||||||
LogWidget.prototype.refresh = function(changedTiddlers) {
|
LogWidget.prototype.refresh = function(changedTiddlers) {
|
||||||
return this.refreshChildren(changedTiddlers);
|
this.refreshSelf();
|
||||||
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Invoke the action associated with this widget
|
Invoke the action associated with this widget
|
||||||
*/
|
*/
|
||||||
LogWidget.prototype.invokeAction = function(triggeringWidget,event) {
|
LogWidget.prototype.invokeAction = function(triggeringWidget,event) {
|
||||||
$tw.utils.logTable(this.attributes,["attribute name","value"]);
|
this.log();
|
||||||
return true; // Action was invoked
|
return true; // Action was invoked
|
||||||
};
|
};
|
||||||
|
|
||||||
|
LogWidget.prototype.log = function() {
|
||||||
|
var data = {},
|
||||||
|
dataCount,
|
||||||
|
allVars = {},
|
||||||
|
filteredVars;
|
||||||
|
|
||||||
|
$tw.utils.each(this.attributes,function(attribute,name) {
|
||||||
|
if(name.substring(0,2) !== "$$") {
|
||||||
|
data[name] = attribute;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
for(var v in this.variables) {
|
||||||
|
allVars[v] = this.getVariable(v,{defaultValue:""});
|
||||||
|
}
|
||||||
|
if(this.filter) {
|
||||||
|
filteredVars = this.wiki.compileFilter(this.filter).call(this.wiki,this.wiki.makeTiddlerIterator(allVars));
|
||||||
|
$tw.utils.each(filteredVars,function(name) {
|
||||||
|
data[name] = allVars[name];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
dataCount = $tw.utils.count(data);
|
||||||
|
|
||||||
|
console.group(this.message);
|
||||||
|
if(dataCount > 0) {
|
||||||
|
$tw.utils.logTable(data,["name","value"]);
|
||||||
|
}
|
||||||
|
if(this.logAll || !dataCount) {
|
||||||
|
console.groupCollapsed("All variables");
|
||||||
|
$tw.utils.logTable(allVars,["name","value"]);
|
||||||
|
console.groupEnd();
|
||||||
|
}
|
||||||
|
console.groupEnd();
|
||||||
|
}
|
||||||
|
|
||||||
exports["action-log"] = LogWidget;
|
exports["action-log"] = LogWidget;
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
30
core/modules/widgets/log.js
Normal file
30
core/modules/widgets/log.js
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/*\
|
||||||
|
title: $:/core/modules/widgets/log.js
|
||||||
|
type: application/javascript
|
||||||
|
module-type: widget-subclass
|
||||||
|
|
||||||
|
Widget to log debug messages
|
||||||
|
|
||||||
|
\*/
|
||||||
|
(function(){
|
||||||
|
|
||||||
|
/*jslint node: true, browser: true */
|
||||||
|
/*global $tw: false */
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
exports.baseClass = "action-log";
|
||||||
|
|
||||||
|
exports.name = "log";
|
||||||
|
|
||||||
|
exports.constructor = function(parseTreeNode,options) {
|
||||||
|
this.initialise(parseTreeNode,options);
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.prototype = {};
|
||||||
|
|
||||||
|
exports.prototype.render = function(event) {
|
||||||
|
Object.getPrototypeOf(Object.getPrototypeOf(this)).render.call(this,event);
|
||||||
|
Object.getPrototypeOf(Object.getPrototypeOf(this)).log.call(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
})();
|
Loading…
Reference in New Issue
Block a user