MediaWiki:Gadget-LiveRC 1x.js/InserisciTemplate.js: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m fix vari |
m curly |
||
Riga 10:
* author Rotpunkt (http://it.wikipedia.org/wiki/Utente:Rotpunkt)
*/
/* jshint maxerr: 10000, curly: true */
LiveRC_Config[ "InstalledLiveRCExtensions" ].push( "InserisciTemplate" );
/////////////////////////////// CSS ///////////////////////////////////////////////////////
importStylesheetURI( '//it.wikipedia.org/w/index.php?title=MediaWiki:Gadget-LiveRC 1x.js/InserisciTemplate.css&action=raw&ctype=text/css' );
Riga 636:
var TemplateList = Custom_lstMyTemplate;
if ( !lrcGetObjectLength( TemplateList ) ) {
TemplateList = lstMyTemplate; }
$.each( TemplateList, function( i, val ) {
var optTag = document.createElement( 'option' );
Riga 664 ⟶ 666:
var TemplateList = Custom_lstMyTemplate;
if ( !lrcGetObjectLength( TemplateList ) ) {
TemplateList = lstMyTemplate; }
var message = TemplateList[ option.value ];
wpajax.http( {
Riga 689 ⟶ 693:
var Type = PR[ a ].getAttribute( "type" );
var Level = PR[ a ].getAttribute( "level" );
if ( Type == "edit" && mw.config.get( 'wgUserGroups' ).indexOf( Level ) == -1 ) {
Isprotected = true; }
}
if ( Isprotected ) {
Riga 796 ⟶ 802:
var text = [];
for ( var arg in params ) {
if ( params.hasOwnProperty( arg ) ) {
text.push( arg + "=" + params[ arg ] ); }
}
return text.join( "|" );
Riga 808 ⟶ 816:
var EditParam = [];
EditParam[ "token" ] = LiveRC_Config[ "edittoken" ];
if ( data.where == 'top' ) {
EditParam[ "prependtext" ] = text + "\n";
} else if ( data.where == 'bottom' ) {
EditParam[ "appendtext" ] = "\n" + text;
} else { //default = top
EditParam[ "prependtext" ] = text + "\n";
}
EditParam[ "summary" ] = lrcMakeText( "RESUMESTART" ) + lrcMakeText( "TAG_RESUME" ) + ' ' + data.template;
EditParam[ "title" ] = page;
Riga 819 ⟶ 828:
EditParam[ "notminor" ] = "1";
EditParam[ "nocreate" ] = "1";
if ( lrcMakeParam( "BypassWatchdefault" ) ) {
EditParam[ "watchlist" ] = "nochange"; }
var Params = [];
for ( var Param in EditParam ) {
Riga 854 ⟶ 865:
var Target = InserisciTemplateUl.parentNode;
var Templates = Custom_lstMyTemplate;
if ( !Templates || lrcGetObjectLength( Templates ) == 0 ) {
Templates = lstMyTemplate; }
for ( var temp in Templates ) {
if ( !Templates.hasOwnProperty( temp ) ) {
continue; }
var Template = Templates[ temp ];
var TemplateForm = InserisciTemplate_CreateTemplateConfigPanel( Template );
Riga 875 ⟶ 890:
var ThisFieldset = document.getElementById( "LiveRC_OptionsContent_InserisciTemplateLegend" );
var TargetFieldset = document.getElementById( "LiveRC_OptionsContent_lstParamMenuTabs" );
if ( ThisFieldset && TargetFieldset ) {
TargetFieldset.parentNode.insertBefore( ThisFieldset, TargetFieldset ); }
}
LiveRC_AddHook( "AfterCreateParamPanel", InserisciTemplate_CreateConfigPanel );
Riga 881 ⟶ 898:
function InserisciTemplate_AddNewTemplate() {
var P = document.getElementById( "InserisciTemplate_AddNeTemplateP" );
if ( !P ) {
return; }
var BlankTemplate = {
template: '',
Riga 897 ⟶ 916:
var Div = DeleteLink;
while ( Div ) {
if ( lrcHasClass( Div, "InserisciTemplate_TemplateDiv" ) ) {
break; }
Div = Div.parentNode;
}
if ( !Div ) {
return; }
Div.parentNode.removeChild( Div );
}
Riga 974 ⟶ 997:
Opt.innerHTML = OptValue;
Opt.value = OptValue;
if ( OptValue == Template.where ) {
Opt.selected = "selected"; }
Select_where.appendChild( Opt );
}
Riga 988 ⟶ 1 013:
Input_noinclude.id = 'noinclude';
Input_noinclude.type = "checkbox";
if ( Template.noinclude ) {
Input_noinclude.checked = "checked"; }
LI_Template.appendChild( Input_noinclude );
LI_Template.appendChild( document.createTextNode( " - " ) );
Riga 1 014 ⟶ 1 041:
LI_parameters.appendChild( ParamsUL );
for ( var param in Template.parameters ) {
if ( !Template.parameters.hasOwnProperty( param ) ) {
continue; }
var LI_Param = InserisciTemplate_CreateNewParam( param, Template.parameters[ param ] );
ParamsUL.appendChild( LI_Param );
Riga 1 203 ⟶ 1 232:
for ( var a = 0, l = Selects.length; a < l; a++ ) {
var Select = Selects[ a ];
if ( !Select.id || Select.id != 'Param_value' ) {
continue; }
var SelectedOpt = Select.value;
var Options = Select.getElementsByTagName( 'option' );
for ( var b = 0, m = Options.length; b < m; b++ ) {
var thisOpt = Options[ b ];
if ( thisOpt.value != SelectedOpt ) {
continue; }
thisOpt.parentNode.removeChild( thisOpt );
}
Riga 1 257 ⟶ 1 290:
for ( var a = 0, l = Selects.length; a < l; a++ ) {
var Select = Selects[ a ];
if ( !Select.id || Select.id != 'Param_value' ) {
continue; }
var Option = document.createElement( 'option' );
Option.innerHTML = NewOption;
Riga 1 275 ⟶ 1 310:
function InserisciTemplate_CheckConfigPanel() {
var ITConfigPanel = document.getElementById( 'LiveRC_OptionsContent_InserisciTemplateLegend' );
if ( !ITConfigPanel ) {
return; }
var ElementForms = lrcGetElementsByClass( "InserisciTemplate_TemplateForm", ITConfigPanel, "form" );
var Items = {};
Riga 1 296 ⟶ 1 333:
if ( NewParam.type == "string" ) {
NewParam.value = getElementWithId( 'Param_value', 'input', ParamLi ).value.unhtmlize();
if ( !NewParam.value ) {
delete NewParam.value; }
} else {
NewParam.value = [];
Riga 1 310 ⟶ 1 349:
}
var TextToSave = InserisciTemplate_CompareNewParams( Items );
if ( !TextToSave ) {
return; }
var SavedText = "\nCustom_lstMyTemplate = {\n";
var SavedItems = [];
Riga 1 350 ⟶ 1 391:
SavedText += SavedItems.join( ",\n" );
SavedText += "};\n\n";
LiveRC_Config
}
LiveRC_AddHook( "BeforeParamPanelSaved", InserisciTemplate_CheckConfigPanel );
Riga 1 357 ⟶ 1 398:
var OldItems = lstMyTemplate;
for ( var template in OldItems ) {
if ( typeof( NewItems[ template ] ) === "undefined" ) {
return true; }
for ( var item in OldItems[ template ] ) {
if ( item != "parameters" ) {
if ( OldItems[ template ][ item ] !== NewItems[ template ][ item ] ) {
return true; }
} else {
if ( lrcGetObjectLength( OldItems[ template ][ item ] ) != lrcGetObjectLength( NewItems[ template ][ item ] ) ) {
return true; }
for ( var param in OldItems[ template ][ item ] ) {
if ( !NewItems[ template ][ item ][ param ] ) {
return true; }
for ( var paramitem in OldItems[ template ][ item ][ param ] ) {
if ( paramitem != "value" || ( typeof( OldItems[ template ][ item ][ param ][ paramitem ] ) != "object" && typeof( NewItems[ template ][ item ][ param ][ paramitem ] ) != "object" ) ) {
if ( OldItems[ template ][ item ][ param ][ paramitem ] !== NewItems[ template ][ item ][ param ][ paramitem ] ) {
return true; }
} else {
if ( OldItems[ template ][ item ][ param ][ paramitem ].length != NewItems[ template ][ item ][ param ][ paramitem ].length ) {
return true; }
for ( var a = 0, l = OldItems[ template ][ item ][ param ][ paramitem ].length; a < l; a++ ) {
if ( OldItems[ template ][ item ][ param ][ paramitem ][ a ] != NewItems[ template ][ item ][ param ][ paramitem ][ a ] ) {
return true; }
}
}
Riga 1 380 ⟶ 1 435:
}
for ( var template in NewItems ) {
if ( typeof( OldItems[ template ] ) === "undefined" ) {
return true; }
}
return false;
|