MediaWiki:Common.js: Difference between revisions

From The Jolly Contrarian
Jump to navigation Jump to search
No edit summary
Tag: Reverted
No edit summary
Tag: Reverted
Line 429: Line 429:
(function() {
(function() {
     function adjustAdaptiveTable() {
     function adjustAdaptiveTable() {
        console.log("adjustAdaptiveTable function called");
         var staticTable = document.querySelector('.mw-static-table');
         var staticTable = document.querySelector('.mw-static-table');
         var adaptiveTables = document.querySelectorAll('.mw-adaptive-table');
         var adaptiveTables = document.querySelectorAll('.mw-adaptive-table');
          
          
         adaptiveTables.forEach(function(adaptiveTable) {
        if (!staticTable) {
            console.log("No static table found");
            return;
        }
       
        console.log("Static table found:", staticTable);
        console.log("Number of adaptive tables found:", adaptiveTables.length);
       
         adaptiveTables.forEach(function(adaptiveTable, index) {
             var staticRect = staticTable.getBoundingClientRect();
             var staticRect = staticTable.getBoundingClientRect();
             var adaptiveRect = adaptiveTable.getBoundingClientRect();
             var adaptiveRect = adaptiveTable.getBoundingClientRect();
           
            console.log("Table", index, "- Static table position:", staticRect.top, staticRect.bottom);
            console.log("Table", index, "- Adaptive table position:", adaptiveRect.top, adaptiveRect.bottom);
              
              
             if (staticRect.bottom > adaptiveRect.top && staticRect.top < adaptiveRect.bottom) {
             if (staticRect.bottom > adaptiveRect.top && staticRect.top < adaptiveRect.bottom) {
                 // Tables are vertically overlapping
                 console.log("Table", index, "- Tables are overlapping");
                 adaptiveTable.style.width = 'calc(50% - 5px)';
                 adaptiveTable.style.width = 'calc(50% - 5px)';
                 adaptiveTable.style.float = 'left';
                 adaptiveTable.style.float = 'left';
             } else {
             } else {
                 // Tables are not overlapping
                 console.log("Table", index, "- Tables are not overlapping");
                 adaptiveTable.style.width = '100%';
                 adaptiveTable.style.width = '100%';
                 adaptiveTable.style.float = 'none';
                 adaptiveTable.style.float = 'none';
             }
             }
           
            console.log("Table", index, "- Final width:", adaptiveTable.style.width);
         });
         });
     }
     }


     // Run on load and resize
     console.log("Script loaded");
     window.addEventListener('load', adjustAdaptiveTable);
     window.addEventListener('load', function() {
        console.log("Window loaded");
        adjustAdaptiveTable();
    });
     window.addEventListener('resize', adjustAdaptiveTable);
     window.addEventListener('resize', adjustAdaptiveTable);
    // If using dynamic content loading, you might need to call adjustAdaptiveTable() after content changes
})();
})();

Revision as of 10:13, 23 August 2024

var customizeToolbar = function() {

$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
	'sections': {
		'manual': {
			'type': 'toolbar', // Can also be 'booklet'
			'label': 'Manual'
			// or 'labelMsg': 'section-manual-label' for a localized label
		}
	}
} );
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
	'section': 'manual',
	'groups': {
		'tags': {
			'label': 'Tags' // or use labelMsg for a localized label, see above
		}
	}
} );

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'long dash',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/5/55/Dash.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "—",
					post: ""
				}
			}
		}
	}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'scarequotes',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/b/ba/Scare.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "“",
					post: "”"
				}
			}
		}
	}
});	
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'apostrophe',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/5/5b/Apo.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "’",
					post: ""
				}
			}
		}
	}
});

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: '{{ - }}',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/3/30/Template.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{",
					post: "}}"
				}
			}
		}
	}
});	

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"Substitute": {
			label: 'subst:',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/0/03/Sbs.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{subst:",
					post: "}}"
				}
			}
		}
	}
});	

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"redirect": {
			label: '==>',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/9/91/Redirect.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "#redirect[[",
					post: "]]"
				}
			}
		}
	}
});	
	

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'tag',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/7/76/Tag.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{t|",
					post: "}}"
				}
			}
		}
	}
});	

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"Prov": {
			label: 'isdaprov',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/5/50/Isd.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{isdaprov|",
					post: "}}"
				}
			}
		}
	}
});

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"Prov": {
			label: 'euaprov',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/5/50/eua.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{euaprov|",
					post: "}}"
				}
			}
		}
	}
});	
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"ietaprov": {
			label: 'ietaprov',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/e/e9/Gms.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{ietaprov|",
					post: "}}"
				}
			}
		}
	}
});	

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"gmraprov": {
			label: '{{{1}}}|',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/4/49/blank.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{{{{1}}}|",
					post: "}}"
				}
			}
		}
	}
});	

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"Equity Derivs": {
			label: 'eqderivprov',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/c/c3/Eqd.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{eqderivprov|",
					post: "}}"
				}
			}
		}
	}
});	


$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'vmcsaprov',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/3/37/Csa.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{vmcsaprov|",
					post: "}}"
				}
			}
		}
	}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'top trumps',
			type: 'button',
			icon: 'http://jollycontrarian.com/w/images/7/7d/Tag2.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{fwmdtt|nickname=",
					post: "| imagetype=png| tagline= | documentation= | docscore=0| amendability= |amendscore=0| collateral= | collateralscore =0| transferability= | transferscore =0| leverage= | leveragescore =0| frightometer= | frightscore=0}}"
				}
			}
		}
	}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'wasteprov',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/2/27/Wp.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{wasteprov|",
					post: "}}"
				}
			}
		}
	}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'cddprov',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/e/ec/Cp.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{cddprov|",
					post: "}}"
				}
			}
		}
	}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: '{{g}}',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/a/a7/Gl.PNG',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{g}}",
					post: ""
				}
			}
		}
	}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: '{{sa}}',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/7/7c/Sa.PNG',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{sa}}",
					post: ""
				}
			}
		}
	}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: '{{ucits5prov|}}',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/d/d7/U.PNG',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{ucits5prov|",
					post: "}}"
				}
			}
		}
	}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: '{{strike|}}',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/8/83/Aif.PNG',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{strike|",
					post: "|}}"
				}
			}
		}
	}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'tags',
	tools: {
		"template": {
			label: 'isdamanual',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/c/c2/MI2002.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{isdamanual|",
					post: "}}"
				}
			}
		}
	}
});

};

if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) {
	mw.loader.using( 'user.options' ).then( function () {
		if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
			$.when(
				mw.loader.using( 'ext.wikiEditor' ), $.ready
			).then( customizeToolbar );
		}
	} );
}


// Add the customizations to LiquidThreads' edit toolbar, if available
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );

/* Any JavaScript here will be loaded for all users on every page load. */

(function() {
    function adjustAdaptiveTable() {
        console.log("adjustAdaptiveTable function called");
        var staticTable = document.querySelector('.mw-static-table');
        var adaptiveTables = document.querySelectorAll('.mw-adaptive-table');
        
        if (!staticTable) {
            console.log("No static table found");
            return;
        }
        
        console.log("Static table found:", staticTable);
        console.log("Number of adaptive tables found:", adaptiveTables.length);
        
        adaptiveTables.forEach(function(adaptiveTable, index) {
            var staticRect = staticTable.getBoundingClientRect();
            var adaptiveRect = adaptiveTable.getBoundingClientRect();
            
            console.log("Table", index, "- Static table position:", staticRect.top, staticRect.bottom);
            console.log("Table", index, "- Adaptive table position:", adaptiveRect.top, adaptiveRect.bottom);
            
            if (staticRect.bottom > adaptiveRect.top && staticRect.top < adaptiveRect.bottom) {
                console.log("Table", index, "- Tables are overlapping");
                adaptiveTable.style.width = 'calc(50% - 5px)';
                adaptiveTable.style.float = 'left';
            } else {
                console.log("Table", index, "- Tables are not overlapping");
                adaptiveTable.style.width = '100%';
                adaptiveTable.style.float = 'none';
            }
            
            console.log("Table", index, "- Final width:", adaptiveTable.style.width);
        });
    }

    console.log("Script loaded");
    window.addEventListener('load', function() {
        console.log("Window loaded");
        adjustAdaptiveTable();
    });
    window.addEventListener('resize', adjustAdaptiveTable);
})();