Extend browse widget with deserializer attribute

Along the same lines as 596dfa1d50
This commit is contained in:
Jermolene 2017-07-18 15:32:50 +01:00
parent 0d0b841b5c
commit a4d919f45c
2 changed files with 8 additions and 3 deletions

View File

@ -55,8 +55,11 @@ BrowseWidget.prototype.render = function(parent,nextSibling) {
if(self.message) {
self.dispatchEvent({type: self.message, param: self.param, files: event.target.files});
} else {
self.wiki.readFiles(event.target.files,function(tiddlerFieldsArray) {
self.dispatchEvent({type: "tm-import-tiddlers", param: JSON.stringify(tiddlerFieldsArray)});
self.wiki.readFiles(event.target.files,{
callback: function(tiddlerFieldsArray) {
self.dispatchEvent({type: "tm-import-tiddlers", param: JSON.stringify(tiddlerFieldsArray)});
},
deserializer: self.deserializer
});
}
return false;
@ -72,6 +75,7 @@ Compute the internal state of the widget
*/
BrowseWidget.prototype.execute = function() {
this.browseMultiple = this.getAttribute("multiple");
this.deserializer = this.getAttribute("deserializer");
this.message = this.getAttribute("message");
this.param = this.getAttribute("param");
this.tooltip = this.getAttribute("tooltip");

View File

@ -1,6 +1,6 @@
caption: browse
created: 20131024141900000
modified: 20170328173406681
modified: 20170718142410367
tags: Widgets
title: BrowseWidget
type: text/vnd.tiddlywiki
@ -15,6 +15,7 @@ The content of the `<$browse>` widget is ignored.
|!Attribute |!Description |
|multiple |Set to "multiple" to select multiple file upload |
|deserializer |Optional name of deserializer to be used (by default the deserializer is derived from the file extension or type) |
|tooltip |Optional tooltip text |
|message |Optional override of widget message to be generated. The parameter for the message will be the JavaScript object `event.target.files` |