Difference between revisions of "MediaWiki:Gadget-pdooui.js"
Jump to navigation
Jump to search
m |
m |
||
Line 27: | Line 27: | ||
}; | }; | ||
− | async function pd_edit_render(){ | + | async function pd_edit_render( swutch ){ |
+ | clear_render(); | ||
var orig = wbproc.checkentity( { this_concerns: [ wbEStructure['concernsRelation'], wbEStructure['IDPropLoc'], wbEStructure['IDName'] ] } )['this_concerns'][0]; | var orig = wbproc.checkentity( { this_concerns: [ wbEStructure['concernsRelation'], wbEStructure['IDPropLoc'], wbEStructure['IDName'] ] } )['this_concerns'][0]; | ||
var plch = wbproc.checkentity( { default_value: [ wbEStructure['defaultValRelation'], wbEStructure['IDPropLoc'] ] } )['default_value'][0]; //defal | var plch = wbproc.checkentity( { default_value: [ wbEStructure['defaultValRelation'], wbEStructure['IDPropLoc'] ] } )['default_value'][0]; //defal | ||
Line 42: | Line 43: | ||
var button_save = [], | var button_save = [], | ||
− | + | button_remove = [], | |
textInput = []; | textInput = []; | ||
Line 58: | Line 59: | ||
button_save[ extrafield ].on( 'click', function () { | button_save[ extrafield ].on( 'click', function () { | ||
console.log( "this is happening " + orig + ' :: ' + extrafield); | console.log( "this is happening " + orig + ' :: ' + extrafield); | ||
− | |||
console.log( "textInput[ extrafield ].value" + textInput[ extrafield ].value ); | console.log( "textInput[ extrafield ].value" + textInput[ extrafield ].value ); | ||
− | + | idxb.EnqueuePDIO('update record', orig, extrafield, textInput[ extrafield ].value ); | |
− | idxb.EnqueuePDIO('update record', orig, extrafield, textInput[ extrafield ].value ) | + | pd_edit_render(); |
}); | }); | ||
+ | $( '#mw-content-text' ).prepend( button_save[ extrafield ].$element ); | ||
$( '#mw-content-text' ).prepend( textInput[ extrafield ].$element ); | $( '#mw-content-text' ).prepend( textInput[ extrafield ].$element ); | ||
− | |||
− | |||
− | |||
− | |||
if ( extrafield > 0) { | if ( extrafield > 0) { | ||
Line 75: | Line 72: | ||
console.log(result[orig]); | console.log(result[orig]); | ||
button_save[data] = new OO.ui.ButtonWidget( { label: "Save", classes: [ 'pddh' ] } ); | button_save[data] = new OO.ui.ButtonWidget( { label: "Save", classes: [ 'pddh' ] } ); | ||
− | + | button_remove[data] = new OO.ui.ButtonWidget( { label: "Delete", classes: [ 'pddh' ] } ); | |
textInput[data] = new OO.ui.TextInputWidget( { | textInput[data] = new OO.ui.TextInputWidget( { | ||
value: result[orig][data], /// | value: result[orig][data], /// | ||
Line 86: | Line 83: | ||
console.log( "textInput[ extrafield ].value" + textInput[ data ].value ); | console.log( "textInput[ extrafield ].value" + textInput[ data ].value ); | ||
− | idxb.EnqueuePDIO('update record', orig, data, textInput[ data ].value ) | + | idxb.EnqueuePDIO('update record', orig, data, textInput[ data ].value ); |
+ | |||
+ | pd_edit_render(); | ||
}); | }); | ||
+ | button_remove[data].on( 'click', function () { | ||
+ | idxb.EnqueuePDIO('remove from record', orig, data ); | ||
+ | pd_edit_render(); | ||
+ | } | ||
+ | $( '#mw-content-text' ).prepend( button_remove[data].$element ); | ||
+ | $( '#mw-content-text' ).prepend( button_save[data].$element ); | ||
$( '#mw-content-text' ).prepend( textInput[data].$element ); | $( '#mw-content-text' ).prepend( textInput[data].$element ); | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}); | }); | ||
Line 103: | Line 101: | ||
}); | }); | ||
}; | }; | ||
+ | |||
+ | function clear_render() { | ||
+ | var ifel = document.getElementsByClassName('pddh'); | ||
+ | while(ifel[0]) { | ||
+ | ifel[0].parentNode.removeChild(ifel[0]); | ||
+ | } | ||
+ | }; | ||
+ | |||
} | } |
Revision as of 06:23, 20 May 2019
// License: GPL
// User Interface Rendering
console.log('Interface handler loading');
function interfaceMediaContainer ( wbp, idxb ) {
this.renderInterface = function( sqitch ) {
switch( sqitch ) {
case 'controller_id':
controller_render();
break;
case 'personal_data_id':
pd_site_render();
break;
case 'interface_button_id':
pd_edit_render();
break;
}
}
async function controller_render(){
console.log("this function is done by the current page controller for now");
}
async function pd_site_render(){
};
async function pd_edit_render( swutch ){
clear_render();
var orig = wbproc.checkentity( { this_concerns: [ wbEStructure['concernsRelation'], wbEStructure['IDPropLoc'], wbEStructure['IDName'] ] } )['this_concerns'][0];
var plch = wbproc.checkentity( { default_value: [ wbEStructure['defaultValRelation'], wbEStructure['IDPropLoc'] ] } )['default_value'][0]; //defal
var q = idxb.EnqueuePDIO('update record');
q.then( function(result) {
console.log("required data from idxb");
console.log( orig );
console.log( plch );
console.log( q );
mw.loader.using( 'oojs-ui-core' ).done( function () {
console.log("loaded uicore")
var button_save = [],
button_remove = [],
textInput = [];
console.log( "why not " + result[orig] );
var extrafield = ( result[orig] != undefined ) ? Object.keys(result[orig]).length : 0;
console.log(extrafield);
button_save[ extrafield ] = new OO.ui.ButtonWidget( { label: "Save", classes: [ 'pddh' ] } );
textInput[ extrafield ] = new OO.ui.TextInputWidget( {
placeholder: plch,
classes: [ 'pddh' ]
} );
button_save[ extrafield ].on( 'click', function () {
console.log( "this is happening " + orig + ' :: ' + extrafield);
console.log( "textInput[ extrafield ].value" + textInput[ extrafield ].value );
idxb.EnqueuePDIO('update record', orig, extrafield, textInput[ extrafield ].value );
pd_edit_render();
});
$( '#mw-content-text' ).prepend( button_save[ extrafield ].$element );
$( '#mw-content-text' ).prepend( textInput[ extrafield ].$element );
if ( extrafield > 0) {
Object.keys( result[orig] ).forEach( function(data) {
console.log("iter " + data + 'in');
console.log(result[orig]);
button_save[data] = new OO.ui.ButtonWidget( { label: "Save", classes: [ 'pddh' ] } );
button_remove[data] = new OO.ui.ButtonWidget( { label: "Delete", classes: [ 'pddh' ] } );
textInput[data] = new OO.ui.TextInputWidget( {
value: result[orig][data], ///
placeholder: plch,
classes: [ 'pddh' ]
} );
button_save[data].on( 'click', function () {
console.log( "this is happening " + orig + ' :: ' + data);
console.log( "textInput[ extrafield ].value" + textInput[ data ].value );
idxb.EnqueuePDIO('update record', orig, data, textInput[ data ].value );
pd_edit_render();
});
button_remove[data].on( 'click', function () {
idxb.EnqueuePDIO('remove from record', orig, data );
pd_edit_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('pddh');
while(ifel[0]) {
ifel[0].parentNode.removeChild(ifel[0]);
}
};
}