mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2025-01-04 22:40:28 +00:00
Merge branch 'master' into parameterised-transclusions
This commit is contained in:
commit
05d2c029a4
@ -84,6 +84,9 @@ function FramedEngine(options) {
|
|||||||
// Copy the styles from the dummy textarea
|
// Copy the styles from the dummy textarea
|
||||||
this.copyStyles();
|
this.copyStyles();
|
||||||
// Add event listeners
|
// Add event listeners
|
||||||
|
$tw.utils.addEventListeners(this.iframeDoc, [
|
||||||
|
{name: "keydown",handlerObject: $tw.keyboardManager,handlerMethod: "handleKeydownEvent", capture: true},
|
||||||
|
]);
|
||||||
$tw.utils.addEventListeners(this.domNode,[
|
$tw.utils.addEventListeners(this.domNode,[
|
||||||
{name: "click",handlerObject: this,handlerMethod: "handleClickEvent"},
|
{name: "click",handlerObject: this,handlerMethod: "handleClickEvent"},
|
||||||
{name: "input",handlerObject: this,handlerMethod: "handleInputEvent"},
|
{name: "input",handlerObject: this,handlerMethod: "handleInputEvent"},
|
||||||
|
@ -198,6 +198,7 @@ Each entry in the events array is an object with these properties:
|
|||||||
handlerFunction: optional event handler function
|
handlerFunction: optional event handler function
|
||||||
handlerObject: optional event handler object
|
handlerObject: optional event handler object
|
||||||
handlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)
|
handlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)
|
||||||
|
capture: optionally specifies the listener should use capture (defaults to `false`)
|
||||||
*/
|
*/
|
||||||
exports.addEventListeners = function(domNode,events) {
|
exports.addEventListeners = function(domNode,events) {
|
||||||
$tw.utils.each(events,function(eventInfo) {
|
$tw.utils.each(events,function(eventInfo) {
|
||||||
@ -213,7 +214,7 @@ exports.addEventListeners = function(domNode,events) {
|
|||||||
handler = eventInfo.handlerObject;
|
handler = eventInfo.handlerObject;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
domNode.addEventListener(eventInfo.name,handler,false);
|
domNode.addEventListener(eventInfo.name,handler,!!eventInfo.capture);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ exports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {
|
|||||||
if(tr.field) {
|
if(tr.field) {
|
||||||
var tiddler = this.getTiddler(title);
|
var tiddler = this.getTiddler(title);
|
||||||
if(tr.field === "title") { // Special case so we can return the title of a non-existent tiddler
|
if(tr.field === "title") { // Special case so we can return the title of a non-existent tiddler
|
||||||
return title;
|
return title || defaultText;
|
||||||
} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {
|
} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {
|
||||||
return tiddler.getFieldString(tr.field);
|
return tiddler.getFieldString(tr.field);
|
||||||
} else {
|
} else {
|
||||||
|
@ -621,6 +621,8 @@ Tests the filtering mechanism.
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("should handle indirect operands", function() {
|
it("should handle indirect operands", function() {
|
||||||
|
expect(wiki.filterTiddlers("[{!!missing}]").join(",")).toBe("");
|
||||||
|
expect(wiki.filterTiddlers("[{!!title}]").join(",")).toBe("");
|
||||||
expect(wiki.filterTiddlers("[prefix{Tiddler8}] +[sort[title]]").join(",")).toBe("Tiddler Three,TiddlerOne");
|
expect(wiki.filterTiddlers("[prefix{Tiddler8}] +[sort[title]]").join(",")).toBe("Tiddler Three,TiddlerOne");
|
||||||
expect(wiki.filterTiddlers("[modifier{Tiddler8!!test-field}] +[sort[title]]").join(",")).toBe("TiddlerOne");
|
expect(wiki.filterTiddlers("[modifier{Tiddler8!!test-field}] +[sort[title]]").join(",")).toBe("TiddlerOne");
|
||||||
var fakeWidget = {wiki: wiki, getVariable: function(name) {return name === "currentTiddler" ? "Tiddler Three": undefined;}};
|
var fakeWidget = {wiki: wiki, getVariable: function(name) {return name === "currentTiddler" ? "Tiddler Three": undefined;}};
|
||||||
|
Loading…
Reference in New Issue
Block a user