Outlook Extend Panel

Extend right side panel of Outlook mail

24.04.2018 itibariyledir. En son verisyonu görün.

Bu betiği kurabilmeniz için Tampermonkey, Greasemonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

You will need to install an extension such as Tampermonkey to install this script.

Bu betiği kurabilmeniz için Tampermonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği kurabilmeniz için Tampermonkey ya da Userscripts gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

You will need to install an extension such as Tampermonkey to install this script.

Bu komut dosyasını yüklemek için bir kullanıcı komut dosyası yöneticisi uzantısı yüklemeniz gerekecek.

(Zaten bir kullanıcı komut dosyası yöneticim var, kurmama izin verin!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Zateb bir user-style yöneticim var, yükleyeyim!)

// ==UserScript==
// @name        Outlook Extend Panel
// @version     1.18
// @description Extend right side panel of Outlook mail
// @namespace   iFantz7E.OutlookExtendPanel
// @match       *://outlook.live.com/*
// @run-at      document-start
// @grant       GM_addStyle
// @icon        https://outlook.live.com/owa/favicon.ico
// @license		GPLv3
// @copyright	2014, 7-elephant
// ==/UserScript==

// License: GPLv3 - https://www.gnu.org/licenses/gpl-3.0.txt
// Compatibility: Firefox 14+ from Mutation Observer

// Since 29 Jan 2014
// http://userscripts.org/scripts/show/293639
// https://greasyfork.org/scripts/9587-outlook-extend-panel

(function ()
{
	"use strict";
	// jshint multistr:true
	
function initStyle()
{
	GM_addStyle
	(" \
		/* OEP Modify CSS */ \
		._rp_g.scrollContainer { margin-left: 13px !important; } \
		.treeHeaderContainer .firstHeaderTreeNodeRow { padding-left: 15px !important; } \
		.ms-bgc-nlr .subfolders .nowrap { margin-left: -30px; } \
		 \
		/* OEP Modify CSS - Outlook new beta */ \
		div[tabindex='-1'] > div:nth-child(2) > .allowTextSelection { \
			margin-left: 0px; margin-right: 0px; } \
		div.false > div > div > div[tabindex='0'] > div:nth-child(3) { \
			display: none; } \
		#owaadbar0, .ms-FocusZone[role='menu'] { display: none; } \
		#app > :nth-child(1) > :nth-child(2) > :nth-child(1) > :nth-child(1) > :nth-child(4) { \
			display: none; } \
		div[style] > .ms-FocusZone[role='presentation'] { margin-left: -47px; } \
		span[title='Add to Favorites'] { display: none; } \
		 \
		/* OEP CSS */ \
		.oep_ExtendRight { right: 0px !important; } \
		.oep_ExtendBottom { bottom: 0px !important; } \
		.oep_Hidden { display: none !important; } \
	");
}

function attachOnLoad(callback)
{
	window.addEventListener("load", function (e) 
	{
		callback();
	});
}

function attachOnReady(callback) 
{
	document.addEventListener("DOMContentLoaded", function (e) 
	{
		callback();
	});
}

function ready()
{	
	if (window !== window.parent)
		return;
	
	// Auto click sign in
	setTimeout(function()
	{
		var eleBtn = document.querySelector(".landing .headerHero .buttonLargeBlue");
		if (eleBtn)
		{
			if (eleBtn.textContent.trim() === "Sign in")
			{
				eleBtn.click();
			}
		}
	}, 3000);
	
	var actionComplete = false;
	var actionRemoveRightPanel = false;
	var actionRemoveModulePanel = false;
	
	var obTarget_main = document.body;
	if (obTarget_main)
	{
		var obTm = -1;
		var obFunction = function(mutation)
		{
			clearTimeout(obTm);
			obTm = setTimeout(function()
			{
				if (!actionComplete)
				{
					var eleTarget = null;
					
					var eleNextRegion = document.querySelector("#GoToNextRegion");
					var isNewBeta = !(eleNextRegion);
					
					if (!actionRemoveRightPanel)
					{
						if (!isNewBeta)
						{
							eleTarget = eleNextRegion;
							eleTarget.nextElementSibling.classList.add("oep_ExtendRight");
							eleTarget.nextElementSibling.classList.add("oep_ExtendBottom");
							eleTarget.previousElementSibling.classList.add("oep_Hidden");
							actionRemoveRightPanel = true;
						}
						else
						{
							// Outlook new beta
							
							// Right panel
							eleTarget = document.querySelector("#owaadbar0");
							if (eleTarget)
							{
								eleTarget.parentElement.classList.add("oep_Hidden");
								actionRemoveRightPanel = true;
							}
							
							// Bottom panel
							eleTarget = document.querySelector("#owaadbar2");
							if (eleTarget)
							{
								eleTarget.parentElement.parentElement.parentElement.classList.add("oep_Hidden");
								actionRemoveRightPanel = true;
							}
						}
					}
					
					if (!actionRemoveModulePanel)
					{
						if (!isNewBeta)
						{
							eleTarget = document.querySelector("div[aria-label='Module switcher']");
							if (eleTarget)
							{
								eleTarget.parentElement.classList.add("oep_Hidden");
								eleTarget.parentElement.previousElementSibling.classList.add("oep_ExtendBottom");
								actionRemoveModulePanel = true;
							}
						}
						else
						{
							// Outlook new beta
						
							// Office 365
							eleTarget = document.querySelector("button > div > svg");
							if (eleTarget)
							{
								eleTarget.parentElement.parentElement.parentElement.parentElement
									.classList.add("oep_Hidden");
								actionRemoveModulePanel = true;
							}
						}
					}
					
					if (actionRemoveRightPanel && actionRemoveModulePanel)
					{
						obMu_main.disconnect();
						actionComplete = true;
						
						if (isNewBeta)
						{
							var eleNav = document.querySelector("button[title='Hide navigation pane']");
							if (eleNav)
							{
								eleNav.addEventListener("click", function()
								{
									setTimeout(function()
									{
										// Office 365
										var eleTarget = document.querySelector("button > div > svg");
										if (eleTarget)
										{
											eleTarget.parentElement.parentElement.parentElement.parentElement
												.classList.add("oep_Hidden");
										}
									}, 500);
								});
							}
						}
					}
				}
			}, 200);
		};
		
		var obMu_main = new MutationObserver(function(mutations)
		{
			mutations.forEach(obFunction);
		});
		
		var obConfig_main = { childList: true, subtree: true };
		obMu_main.observe(obTarget_main, obConfig_main);
	}	
}

attachOnReady(initStyle);
attachOnReady(ready);

})();

// End