Difference between revisions of "MediaWiki:Gadget-pdooui.js"
Jump to navigation
Jump to search
m (Abel moved page User:Abel/pdooui.js to MediaWiki:Gadget-pdooui.js: User Interface Gadget) |
m |
||
Line 2: | Line 2: | ||
// User Interface Rendering | // User Interface Rendering | ||
console.log('Interface handler loading'); | 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(){ | ||
+ | var k = idxb.EnqueuePDIO('update record'); | ||
+ | var m = wbproc.checkentity( { this_concerns: [ wbEStructure['concernsRelation'], wbEStructure['IDPropLoc'], wbEStructure['IDName'] ] } ); | ||
+ | var l = wbproc.checkentity( { default_value: [ wbEStructure['defaultValRelation'], wbEStructure['IDPropLoc'] ] } ); //defal | ||
+ | k.then( function(result) { | ||
+ | console.log("required data from idxb"); | ||
+ | mw.loader.using( 'oojs-ui-core' ).done( function () { | ||
+ | |||
+ | console.log("loaded uicore") | ||
+ | |||
+ | var button_save = [], | ||
+ | button_delete = [], | ||
+ | textInput = []; | ||
+ | |||
+ | var extrafield = Object-keys(result[m[0]]).length; | ||
+ | |||
+ | button_save[ extrafield ] = new OO.ui.ButtonWidget( { label: "Save", classes: "pddh" } ); | ||
+ | textInput[ extrafield ] = new OO.ui.TextInputWidget( { | ||
+ | placeholder: l[0], | ||
+ | classes: "pddh" | ||
+ | } ); | ||
+ | button_save[extrafield].onClick = function () { | ||
+ | idxb.EnqueuePDIO('update record', m[0], data, 'holdplace') | ||
+ | } | ||
+ | $( '#mw-content-text' ).prepend( textInput[extrafield].$element ); | ||
+ | $( '#mw-content-text' ).prepend( '<br>' ); | ||
+ | $( '#mw-content-text' ).prepend( button_save[extrafield].$element ); | ||
+ | $( '#mw-content-text' ).prepend( '<br>' ); | ||
+ | $( '#mw-content-text' ).prepend( '<br>' ); | ||
+ | |||
+ | if ( extrafield > 0) { | ||
+ | Object.keys( result[m[0]] ).forEach( function(data) { | ||
+ | |||
+ | button_save[data] = new OO.ui.ButtonWidget( { label: "Save", classes: "pddh" } ); | ||
+ | button_delete[data] = new OO.ui.ButtonWidget( { label: "Delete", classes: "pddh" } ); | ||
+ | textInput[data] = new OO.ui.TextInputWidget( { | ||
+ | value: k[m][data], /// | ||
+ | placeholder: l[0], | ||
+ | classes: "pddh" | ||
+ | } ); | ||
+ | button_save[data].onClick = function () { | ||
+ | idxb.EnqueuePDIO('update record', m[0], data, 'holdplace') | ||
+ | } | ||
+ | $( '#mw-content-text' ).prepend( textInput[data].$element ); | ||
+ | $( '#mw-content-text' ).prepend( '<br>' ); | ||
+ | $( '#mw-content-text' ).prepend( button_delete[data].$element ); | ||
+ | $( '#mw-content-text' ).prepend( button_save[data].$element ); | ||
+ | $( '#mw-content-text' ).prepend( '<br>' ); | ||
+ | $( '#mw-content-text' ).prepend( '<br>' ); | ||
+ | |||
+ | |||
+ | |||
+ | }); | ||
+ | |||
+ | } | ||
+ | }); | ||
+ | }); | ||
+ | }; | ||
+ | } |
Revision as of 04:58, 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(){
var k = idxb.EnqueuePDIO('update record');
var m = wbproc.checkentity( { this_concerns: [ wbEStructure['concernsRelation'], wbEStructure['IDPropLoc'], wbEStructure['IDName'] ] } );
var l = wbproc.checkentity( { default_value: [ wbEStructure['defaultValRelation'], wbEStructure['IDPropLoc'] ] } ); //defal
k.then( function(result) {
console.log("required data from idxb");
mw.loader.using( 'oojs-ui-core' ).done( function () {
console.log("loaded uicore")
var button_save = [],
button_delete = [],
textInput = [];
var extrafield = Object-keys(result[m[0]]).length;
button_save[ extrafield ] = new OO.ui.ButtonWidget( { label: "Save", classes: "pddh" } );
textInput[ extrafield ] = new OO.ui.TextInputWidget( {
placeholder: l[0],
classes: "pddh"
} );
button_save[extrafield].onClick = function () {
idxb.EnqueuePDIO('update record', m[0], data, 'holdplace')
}
$( '#mw-content-text' ).prepend( textInput[extrafield].$element );
$( '#mw-content-text' ).prepend( '<br>' );
$( '#mw-content-text' ).prepend( button_save[extrafield].$element );
$( '#mw-content-text' ).prepend( '<br>' );
$( '#mw-content-text' ).prepend( '<br>' );
if ( extrafield > 0) {
Object.keys( result[m[0]] ).forEach( function(data) {
button_save[data] = new OO.ui.ButtonWidget( { label: "Save", classes: "pddh" } );
button_delete[data] = new OO.ui.ButtonWidget( { label: "Delete", classes: "pddh" } );
textInput[data] = new OO.ui.TextInputWidget( {
value: k[m][data], ///
placeholder: l[0],
classes: "pddh"
} );
button_save[data].onClick = function () {
idxb.EnqueuePDIO('update record', m[0], data, 'holdplace')
}
$( '#mw-content-text' ).prepend( textInput[data].$element );
$( '#mw-content-text' ).prepend( '<br>' );
$( '#mw-content-text' ).prepend( button_delete[data].$element );
$( '#mw-content-text' ).prepend( button_save[data].$element );
$( '#mw-content-text' ).prepend( '<br>' );
$( '#mw-content-text' ).prepend( '<br>' );
});
}
});
});
};
}