| Line 109: |
Line 109: |
| | | | |
| | function notify_porting() { | | function notify_porting() { |
| − |
| |
| − | var button_import = new OO.ui.SelectFileInputWidget ( {
| |
| − | label: "Import Personal Data",
| |
| − | useInputTag: true,
| |
| − | classes: [ 'pduimark' ]
| |
| − | }),
| |
| | | | |
| − | button_export = new OO.ui.ButtonWidget( { label: "Export Personal Data", classes: [ 'pduimark' ] } );
| + | mw.loader.using( 'oojs-ui-core' ).done( function () { |
| | | | |
| − | button_import.on( 'click', function () {
| + | var button_import = new OO.ui.SelectFileWidget ( { |
| | + | label: "Import Personal Data", |
| | + | classes: [ 'pduimark' ] |
| | + | }), |
| | | | |
| | + | button_export = new OO.ui.ButtonWidget( { label: "Export Personal Data", classes: [ 'pduimark' ] } ); |
| | | | |
| | + | button_import.on( 'click', function () { |
| | | | |
| − | if (window.webkitURL != null) {
| |
| | | | |
| − | } else {
| |
| | | | |
| − | }
| + | if (window.webkitURL != null) { |
| | | | |
| | + | } else { |
| | | | |
| | + | } |
| | + | |
| | + | |
| | + | |
| | + | }); |
| | | | |
| − | });
| + | button_export.on( 'click', function () { |
| | | | |
| − | button_export.on( 'click', function () {
| + | var get_record = indexedDBobject.EnqueuePDIO('get record'); |
| | | | |
| − | var get_record = indexedDBobject.EnqueuePDIO('get record');
| + | get_record.then( function(result) { |
| | + | if ( result === undefined ) { alert("No data to export") }; |
| | | | |
| − | get_record.then( function(result) {
| + | var filename_tosaveas = "pdiolocalexport_" + result.name.user + "_" + Date.now() + '.json'; |
| − | if ( result === undefined ) { alert("No data to export") };
| + | |
| | + | result.id = ''; |
| | + | result.name.user = ''; |
| | + | |
| | + | var export_to_text = JSON.stringify(result); |
| | + | var textFileAsBlob = new Blob([export_to_text], {type:'text/plain'}); |
| | + | var downloadLink = document.createElement("a"); |
| | + | downloadLink.download = filename_tosaveas; |
| | + | if (window.webkitURL != null) |
| | + | { |
| | + | // Chrome allows the link to be clicked |
| | + | // without actually adding it to the DOM. |
| | + | downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob); |
| | + | } |
| | + | else |
| | + | { |
| | + | // Firefox requires the link to be added to the DOM |
| | + | // before it can be clicked. |
| | + | downloadLink.href = window.URL.createObjectURL(textFileAsBlob); |
| | + | downloadLink.style.display = "none"; |
| | + | document.body.appendChild(downloadLink); |
| | + | } |
| | | | |
| − | var filename_tosaveas = "pdiolocalexport_" + result.name.user + "_" + Date.now() + '.json';
| + | downloadLink.click(); |
| − |
| |
| − | result.id = '';
| |
| − | result.name.user = '';
| |
| − |
| |
| − | var export_to_text = JSON.stringify(result);
| |
| − | var textFileAsBlob = new Blob([export_to_text], {type:'text/plain'});
| |
| − | var downloadLink = document.createElement("a");
| |
| − | downloadLink.download = filename_tosaveas;
| |
| − | if (window.webkitURL != null)
| |
| − | {
| |
| − | // Chrome allows the link to be clicked
| |
| − | // without actually adding it to the DOM.
| |
| − | downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob); | |
| − | }
| |
| − | else
| |
| − | {
| |
| − | // Firefox requires the link to be added to the DOM
| |
| − | // before it can be clicked.
| |
| − | downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
| |
| − | downloadLink.style.display = "none";
| |
| − | document.body.appendChild(downloadLink);
| |
| − | }
| |
| | | | |
| − | downloadLink.click(); | + | }); |
| | | | |
| | }); | | }); |
| | | | |
| | + | mw.notify( $( button_import.$element ), { autoHide: false } ); |
| | + | mw.notify( $( button_export.$element ), { autoHide: false } ); |
| | }); | | }); |
| − |
| |
| − | mw.notify( $( button_import.$element ), { autoHide: false } );
| |
| − | mw.notify( $( button_export.$element ), { autoHide: false } );
| |
| − |
| |
| | } | | } |
| | | | |
| | } | | } |