Add input type handling to the texteditor

This allows us to customise the input element used for each field type.
The only one implemented at the moment is color, which currently only
works on Chrome
print-window-tiddler
Jeremy Ruston 2013-06-13 09:17:36 +01:00
rodzic 8471a2217a
commit cb34ef20ad
1 zmienionych plików z 16 dodań i 1 usunięć

Wyświetl plik

@ -56,7 +56,17 @@ TextEditor.prototype.render = function() {
type: "element",
attributes: {}
};
var type = this.editWidget.renderer.getAttribute("type",this.fieldName === "text" ? "textarea" : "input");
// Get the edit type associated with this field
var type = "input";
if(this.fieldName === "text") {
type = "textarea";
} else {
var fieldModule = $tw.Tiddler.fieldModules[this.fieldName];
if(fieldModule && fieldModule.editType) {
type = fieldModule.editType;
}
}
var type = this.editWidget.renderer.getAttribute("type",type);
switch(type) {
case "textarea":
node.tag = "textarea";
@ -65,6 +75,11 @@ TextEditor.prototype.render = function() {
text: editInfo.value
}];
break;
case "color":
node.tag = "input";
node.attributes.type = {type: "string", value: "color"};
node.attributes.value = {type: "string", value: editInfo.value};
break;
case "search":
node.tag = "input";
node.attributes.type = {type: "string", value: "search"};