Enable file input on import schema dialog.

This commit is contained in:
Antonin Delpeuch 2018-11-01 18:30:24 +00:00
parent 825c4ad213
commit 8bed3022a1
4 changed files with 23 additions and 11 deletions

View File

@ -2,7 +2,7 @@
"wikidata-extension": { "wikidata-extension": {
"menu-label": "Wikidata", "menu-label": "Wikidata",
"edit-wikidata-schema": "Edit Wikidata schema", "edit-wikidata-schema": "Edit Wikidata schema",
"import-wikidata-schema": "Import Wikidata schema", "import-wikidata-schema": "Import schema",
"manage-wikidata-account": "Manage Wikidata account", "manage-wikidata-account": "Manage Wikidata account",
"perform-edits-on-wikidata": "Upload edits to Wikidata", "perform-edits-on-wikidata": "Upload edits to Wikidata",
"export-to-qs": "Export to QuickStatements", "export-to-qs": "Export to QuickStatements",

View File

@ -1,7 +1,7 @@
<div class="dialog-frame" style="width: 800px;"> <div class="dialog-frame" style="width: 800px;">
<div class="dialog-header" bind="dialogHeader"></div> <div class="dialog-header" bind="dialogHeader"></div>
<div class="dialog-body" bind="dialogBody"> <div class="dialog-body" bind="dialogBody">
<label for="schema-file" bind="fileLabel"></label><input type="file" name="schema-file" /><br /> <label for="schema-file" bind="fileLabel"></label><input type="file" name="schema-file" bind="fileInput" /><br />
<label for="schema" bind="schemaLabel"></label><br /> <label for="schema" bind="schemaLabel"></label><br />
<textarea name="schema" class="wikibase-schema-textarea" bind="schemaTextarea"></textarea><br /> <textarea name="schema" class="wikibase-schema-textarea" bind="schemaTextarea"></textarea><br />
<div class="wikibase-invalid-schema" bind="invalidSchema"></div> <div class="wikibase-invalid-schema" bind="invalidSchema"></div>

View File

@ -22,6 +22,17 @@ ImportSchemaDialog.launch = function() {
dismiss(); dismiss();
}); });
elmts.fileInput.on("change", function(evt) {
var file = evt.target.files[0];
var freader = new FileReader();
freader.onload = function(evt) {
elmts.schemaTextarea.val(evt.target.result);
elmts.schemaTextarea.hide();
elmts.schemaLabel.hide();
}
freader.readAsText(file);
});
elmts.importButton.click(function() { elmts.importButton.click(function() {
var schema = null; var schema = null;
try { try {

View File

@ -98,15 +98,21 @@ $(function(){
label: $.i18n._('wikidata-extension')["edit-wikidata-schema"], label: $.i18n._('wikidata-extension')["edit-wikidata-schema"],
click: function() { SchemaAlignmentDialog.launch(false); } click: function() { SchemaAlignmentDialog.launch(false); }
}, },
{
id:"wikidata/manage-account",
label: $.i18n._('wikidata-extension')["manage-wikidata-account"],
click: function() { ManageAccountDialog.checkAndLaunch(); }
},
{},
{ {
id: "wikidata/import-schema", id: "wikidata/import-schema",
label: $.i18n._('wikidata-extension')["import-wikidata-schema"], label: $.i18n._('wikidata-extension')["import-wikidata-schema"],
click: function() { ImportSchemaDialog.launch(); } click: function() { ImportSchemaDialog.launch(); }
}, },
{ {
id:"wikidata/manage-account", id:"wikidata/export-schema",
label: $.i18n._('wikidata-extension')["manage-wikidata-account"], label: $.i18n._('wikidata-extension')["export-schema"],
click: function() { ManageAccountDialog.checkAndLaunch(); } click: function() { WikibaseExporterMenuBar.checkSchemaAndExport("wikibase-schema"); }
}, },
{}, {},
{ {
@ -119,11 +125,6 @@ $(function(){
label: $.i18n._('wikidata-extension')["export-to-qs"], label: $.i18n._('wikidata-extension')["export-to-qs"],
click: function() { WikibaseExporterMenuBar.checkSchemaAndExport("quickstatements"); } click: function() { WikibaseExporterMenuBar.checkSchemaAndExport("quickstatements"); }
}, },
{
id:"wikidata/export-schema",
label: $.i18n._('wikidata-extension')["export-schema"],
click: function() { WikibaseExporterMenuBar.checkSchemaAndExport("wikibase-schema"); }
},
] ]
} }