Changes

Jump to navigation Jump to search
Created page with "// License: GPL // User Interface Rendering console.log('Interface handler loading'); function InterfaceMediaContainer ( WikibaseProcessor, indexedDBobject ) { this.rende..."
// License: GPL
// User Interface Rendering
console.log('Interface handler loading');

function InterfaceMediaContainer ( WikibaseProcessor, indexedDBobject ) {

this.renderInterface = function( sqitch ) {
switch( sqitch ) {
case 'controller_id':
controller_render();
break;
case 'personal_data_id':
pd_site_render();
break;
case 'interface_button_id':
personal_data_edit_interface_render();
break;
}
}

var button_save = [],
button_remove = [],
textInput = [];

async function controller_render(){
console.log("this function is done by the current page controller for now");
}

async function pd_site_render(){

};

async function personal_data_edit_interface_render(){
clear_render();

// Get concerns relation :: Parts of this must be moved upstream, MAIN should know that this is the data the renderer will need and provide it

var concern_origin = WikibaseProcessor.checkentity( { this_concerns: [ WBEStructure['concernsRelation'], WBEStructure['IDPropLoc'], WBEStructure['IDName'] ] } )['this_concerns'][0];

// Get defval for entity :: Parts of this must be moved upstream, MAIN should know that this is the data the renderer will need and provide it

var default_value = WikibaseProcessor.checkentity( { default_value: [ WBEStructure['defaultValRelation'], WBEStructure['IDPropLoc'] ] } )['default_value'][0]; //defal

var get_record = indexedDBobject.EnqueuePDIO('get record');

get_record.then( function(result) {

mw.loader.using( 'oojs-ui-core' ).done( function () {

button_save = [],
button_remove = [],
textInput = [];

var extrafield = ( result[concern_origin] != undefined ) ? Object.keys(result[concern_origin]).length : 0;

button_save[ extrafield ] = new OO.ui.ButtonWidget( { label: "Save", classes: [ 'pduimark' ] } );

textInput[ extrafield ] = new OO.ui.TextInputWidget( {
placeholder: default_value,
classes: [ 'pduimark' ]
} );

button_save[ extrafield ].on( 'click', function () {
indexedDBobject.EnqueuePDIO('update record', concern_origin, extrafield, textInput[ extrafield ].value );
personal_data_edit_interface_render();
});

$( '#mw-content-text' ).prepend( button_save[ extrafield ].$element );
$( '#mw-content-text' ).prepend( textInput[ extrafield ].$element );

if ( extrafield > 0) {
Object.keys( result[concern_origin] ).forEach( function(data) {
button_save[data] = new OO.ui.ButtonWidget( { label: "Save", classes: [ 'pduimark' ] } );
button_remove[data] = new OO.ui.ButtonWidget( { label: "Delete", classes: [ 'pduimark' ] } );
textInput[data] = new OO.ui.TextInputWidget( {
value: result[concern_origin][data], ///
placeholder: default_value,
classes: [ 'pduimark' ]
} );
button_save[data].on( 'click', function () {

indexedDBobject.EnqueuePDIO('update record', concern_origin, data, textInput[ data ].value );

personal_data_edit_interface_render();
});

button_remove[data].on( 'click', function () {
indexedDBobject.EnqueuePDIO('remove from record', concern_origin, data );
personal_data_edit_interface_render();
});
$( '#mw-content-text' ).prepend( button_remove[data].$element );
$( '#mw-content-text' ).prepend( button_save[data].$element );
$( '#mw-content-text' ).prepend( textInput[data].$element );

});

}
});
});
};

function clear_render() {
var ifel = document.getElementsByClassName('pduimark');
while( ifel[0] ) {
ifel[0].parentNode.removeChild(ifel[0]);
};
};

}
530

edits

Navigation menu