More Greasemonkey scripting
More work-related scripting.
// ==UserScript==
// @name CI Manager Fixes
// @namespace https://bennettp123.com
// @description Fixes some of the broken CSS in CI Manager. Very much a work in progress.
// @include http://cimanager.REDACTED/*
// ==/UserScript==
function addCSS(cssString)
{
var head = document.getElementsByTagName('head')[0];
if (!head) { return null; }
var newCSS = document.createElement('style');
newCSS.type = "text/css";
newCSS.innerHTML = cssString;
head.appendChild(newCSS);
}
// delete an element by ID and return its parent
function removeByID(elementId)
{
var element = document.getElementById(elementId);
if (!element) { return null; }
var parent = element.parentNode;
parent.removeChild(element);
return parent;
}
// delete the stupid placeholder image, replace it with some regular text
var imageID = "ctl00_MainContent_ctl00_imgNoRelationData"
try {
// (removeByID returns the parent of the element removed.)
removeByID(imageID).innerHTML = "No relationship data available";
}
catch (error) {
// who cares?
}
// add an empty placeholder to the end of the menu
// **** EDIT: doesn't work properly with floats; disabled ****
// var menu = document.getElementById("menu");
// if (menu) {
// var placeholder = document.createElement('div');
// placeholder.id = "menu_placeholder";
// placeholder.innerHTML = " ";
// menu.appendChild(placeholder);
// }
// add some custom CSS
addCSS (
' div#page { overflow:auto!important } \n\
div#main { float:none!important; \n\
background-image:none!important; \n\
width:auto!important; } \n\
div#menu { margin-right:25px!important } \n\
//div#menu_placeholder { height:1000px } \n\
//td { width:auto!important } \n\
//select,textarea,input { width:auto!important } \n\
\n\
#ctl00_MainContent_ctl00_txtNotes, \n\
#ctl00_MainContent_ctl00_txtSiteName, \n\
#ctl00_MainContent_ctl00_lstRelations, \n\
#ctl00_MainContent_ctl00_pnlNoRelationData \n\
{ width:auto!important } \n\
\n\
#ctl00_MainContent_ctl00_lstRelations { min-width:140px } \n\
\n\
#ctl00_MainContent_ctl00_ddlStatus, \n\
#ctl00_MainContent_ctl00_ddlClassification \n\
{ width:146px!important } \n\
\n\
#ctl00_MainContent_ctl00_txtCreationDate, \n\
#ctl00_MainContent_ctl00_txtModifiedDate \n\
{ width:138px!important } \n\
\n\
#ctl00_MainContent_ctl00_chkAdditionalServices, \n\
#ctl00_MainContent_ctl00_chkCAPUTemplates \n\
{ text-align:right } \n\
\n\
label + input { white-space:nowrap } \n\
\n\
//table * * div { width:auto!important } \n\
\n\
#ctl00_MainContent_pnlInitialView>table, \n\
#ctl00_MainContent_pnlInitialView>table>tbody, \n\
{ width:58%!important } \n\
\n\
#ctl00_MainContent_pnlInitialView>table * td \n\
{ width:auto!important } \n\
\n\
#ctl00_MainContent_pnlInitialView>table * td>div \n\
{ overflow:hidden!important; \n\
text-overflow:ellipsis!important; \n\
white-space:nowrap!important; \n\
} \n\
#ctl00_MainContent_pnlInitialView>table * td h5, \n\
#ctl00_MainContent_pnlInitialView>table * td div \n\
{ width:68%!important; } \n\
\n\
#ctl00_MainContent_pnlInitialView>table * td>hr \n\
{ visibility:hidden; } \n\
\n\
//#ctl00_MainContent_pnlInitialView>table>tbody, \n\
//#ctl00_MainContent_pnlInitialView>table>tr \n\
//{ width:78%!important ); \n\
'
);