미디어위키:Liberty.js: 두 판 사이의 차이

편집 요약 없음
편집 요약 없음
1번째 줄: 1번째 줄:
document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".mw-collapsible-toggle").forEach(toggle => {
        toggle.addEventListener("click", function (event) {
            event.preventDefault();
            let table = this.closest(".mw-collapsible");
            let content = table.querySelector("tbody");
           
            if (table.classList.contains("mw-collapsed")) {
                content.style.overflow = "hidden";
                content.style.transform = "scaleY(0)";
                content.style.opacity = "0";
                content.style.transition = "transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s linear";
               
                setTimeout(() => {
                    table.classList.remove("mw-collapsed");
                    content.style.transform = "scaleY(1)";
                    content.style.opacity = "1";
                }, 10);
            } else {
                content.style.transform = "scaleY(1)";
                content.style.opacity = "1";
                content.style.transition = "transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s linear";
               
                setTimeout(() => {
                    content.style.transform = "scaleY(0)";
                    content.style.opacity = "0";
                    table.classList.add("mw-collapsed");
                }, 10);
            }
        });
    });
});
( function () {
( function () {
'use strict';
'use strict';

2025년 2월 21일 (금) 16:34 판

document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".mw-collapsible-toggle").forEach(toggle => {
        toggle.addEventListener("click", function (event) {
            event.preventDefault();
            let table = this.closest(".mw-collapsible");
            let content = table.querySelector("tbody");
            
            if (table.classList.contains("mw-collapsed")) {
                content.style.overflow = "hidden";
                content.style.transform = "scaleY(0)";
                content.style.opacity = "0";
                content.style.transition = "transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s linear";
                
                setTimeout(() => {
                    table.classList.remove("mw-collapsed");
                    content.style.transform = "scaleY(1)";
                    content.style.opacity = "1";
                }, 10);
            } else {
                content.style.transform = "scaleY(1)";
                content.style.opacity = "1";
                content.style.transition = "transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s linear";
                
                setTimeout(() => {
                    content.style.transform = "scaleY(0)";
                    content.style.opacity = "0";
                    table.classList.add("mw-collapsed");
                }, 10);
            }
        });
    });
});


( function () {
	'use strict';
	var previewType = 'math';
	var api = new mw.Rest();
	var isValidId = function ( qid ) {
		return qid.match( /Q\d+/g ) === null;
	};
	var fetch = function ( qid ) {
		return api.get( '/math/v0/popup/html/' + qid, {}, {
			Accept: 'application/json; charset=utf-8',
			'Accept-Language': mw.config.language
		} );
	};
	var fetchPreviewForTitle = function ( title, el ) {
		var deferred = $.Deferred();
		var qidstr = el.parentNode.parentNode.dataset.qid;
		if ( isValidId( qidstr ) ) {
			return deferred.reject();
		}
		qidstr = qidstr.slice( 1 );
		fetch( qidstr ).then( function ( body ) {
			var model = {
				title: body.title,
				url: body.canonicalurl,
				languageCode: body.pagelanguagehtmlcode,
				languageDirection: body.pagelanguagedir,
				extract: body.extract,
				type: previewType,
				thumbnail: undefined,
				pageId: body.pageId
			};
			deferred.resolve( model );
		} );
		return deferred.promise();
	};
	// popups require title attributes
	[].forEach.call(
		document.querySelectorAll( '.mwe-math-element[data-qid] img' ),
		function ( node ) {
			if ( isValidId( node.parentNode.parentNode.dataset.qid ) ) {
				node.dataset.title = 'math-unique-identifier';
			}
		}
	);
	module.exports = {
		type: previewType,
		selector: '.mwe-math-element[data-qid] img',
		gateway: {
			fetch: fetch,
			fetchPreviewForTitle: fetchPreviewForTitle
		}
	};
}() );


document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".mw-collapsible-toggle").forEach(toggle => {
        toggle.addEventListener("click", function (event) {
            event.preventDefault();
            let table = this.closest(".mw-collapsible").querySelector("tbody");
            let currentHeight = getComputedStyle(table).maxHeight;
            
            if (currentHeight !== "0px" && currentHeight !== "none") {
                table.style.overflow = "hidden";
                table.style.maxHeight = "0px";
                table.style.opacity = "0";
                table.style.transition = "max-height 0.5s ease-out, opacity 0.3s ease-out";
            } else {
                table.style.overflow = "hidden";
                table.style.maxHeight = "0px";
                table.style.opacity = "0";
                table.style.transition = "none";
                
                setTimeout(() => {
                    table.style.maxHeight = table.scrollHeight + "px";
                    table.style.opacity = "1";
                    table.style.transition = "max-height 0.5s ease-in, opacity 0.3s ease-in";
                }, 10);
            }
        });
    });
});