/*  _____________________________________________________________________________  * |                                                                             |  * |                    === WARNING: GLOBAL GADGET FILE ===                      |  * |                  Changes to this page affect many users.                    |  * | Please discuss changes on the talk page or on WT:Gadget before editing. |  * |_____________________________________________________________________________|  *  * Imported as of 09/06/2011 from User:ErrantX/defaultsummaries.js  * Edited version from User:MC10/defaultsummaries.js  * Implements default edit summary dropdown boxes  */  /* global mw, ve */  /* eslint-disable no-jquery/no-global-selector */  ( function () { // Wrap with anonymous function 	var $summaryBox = $( '#wpSummary' ), 		minorSummaries = [ 			'বানান/ব্যাকরণ সংশোধন', 			'শৈলী/বিন্যাসন ত্রুটি ঠিককরণ', 			'ধ্বংসপ্রবণ বা পরীক্ষামূলক সম্পাদনা বাতিল', 			'ব্যাখ্যাহীন বিষয়বস্তু অপসারণ বাতিল', 			'অনুলিপি সম্পাদনা (অনুল্লেখ্য)' 		], 		articleSummaries = [ 			'নিবন্ধ সম্প্রসারণ', 			'তথ্যসূত্র যোগ/উন্নতিকরণ', 			'বিষয়শ্রেণী যোগ/অপসারণ', 			'বহিঃসংযোগ যোগ/অপসারণ', 			'উইকিলিংক যোগ/অপসারণ', 			'উৎসবিহীন বিষয়বস্তু অপসারণ', 			'লিঙ্কস্প্যাম অপসারণ', 			'পরিষ্কার করা', 			'অনুলিপি সম্পাদনা (ব্যাপক)' 		], 		nonArticleSummaries = [ 			'উত্তর', 			'মন্তব্য', 			'পরামর্শ' 		], 		talkPageSummaries = [ 			'প্রকল্প ট্যাগ যোগ', 			'মন্তব্য যোগ' 		];  	function addOptionsToDropdown( dropdown, optionTexts ) { 		dropdown.menu.addItems( optionTexts.map( function ( optionText ) { 			return new OO.ui.MenuOptionWidget( { label: optionText } ); 		} ) ); 	}  	function onSummarySelect( option ) { 		// Save the original value of the edit summary field 		var editsummOriginalSummary = $summaryBox.val(), 			canned = option.getLabel(), 			newSummary = editsummOriginalSummary;  		// Append old edit summary with space, if exists, 		// and last character != space 		if ( newSummary.length !== 0 && newSummary.charAt( newSummary.length - 1 ) !== ' ' ) { 			newSummary += ' '; 		} 		newSummary += canned; 		$summaryBox.val( newSummary ).trigger( 'change' ); 	}  	function getSummaryDropdowns() { 		// For convenience, add a dropdown box with some canned edit 		// summaries to the form. 		var namespace = mw.config.get( 'wgNamespaceNumber' ), 			dropdown = new OO.ui.DropdownWidget( { 				label: 'সাধারণ সম্পাদনা সারাংশ – ব্যবহার করতে ক্লিক করুন' 			} ), 			minorDropdown = new OO.ui.DropdownWidget( { 				label: 'সাধারণ অনুল্লেখ্য সম্পাদনা সারাংশ – ব্যবহার করতে ক্লিক করুন' 			} );  		dropdown.menu.on( 'select', onSummarySelect ); 		minorDropdown.menu.on( 'select', onSummarySelect );  		addOptionsToDropdown( minorDropdown, minorSummaries );  		if ( namespace === 0 ) { 			addOptionsToDropdown( dropdown, articleSummaries ); 		} else { 			addOptionsToDropdown( dropdown, nonArticleSummaries ); 			if ( namespace % 2 !== 0 && namespace !== 3 ) { 				addOptionsToDropdown( dropdown, talkPageSummaries ); 			} 		} 		return dropdown.$element.add( minorDropdown.$element ); 	} 	// VisualEditor 	mw.hook( 've.saveDialog.stateChanged' ).add( function () { 		var target, $saveOptions, $dropdowns; 		// .ve-init-mw-viewPageTarget-saveDialog-checkboxes 		if ( $( 'body' ).data( 'wppresent' ) ) { 			return; 		} 		$( 'body' ).data( 'wppresent', 'true' );  		target = ve.init.target; 		$saveOptions = target.saveDialog.$saveOptions; 		$summaryBox = target.saveDialog.editSummaryInput.$input; 		if ( !$saveOptions.length ) { 			return; 		} 		$dropdowns = getSummaryDropdowns(); 		$saveOptions.before( $dropdowns ); 	} ); 	// WikiEditor 	$.when( mw.loader.using( 'oojs-ui-core' ), $.ready ).then( function () { 		var $dropdowns, 			$editCheckboxes = $( '.editCheckboxes' );  		// If we failed to find the editCheckboxes class 		if ( !$editCheckboxes.length ) { 			return; 		} 		$dropdowns = getSummaryDropdowns(); 		$dropdowns.css( { 			width: '48%', 			'padding-bottom': '1em' 		} ); 		$editCheckboxes.before( $dropdowns ); 	} ); }() );