User:BZPN/PNHelper.js: Difference between revisions

From Test Wiki
Jump to navigation Jump to search
Content deleted Content added
No edit summary
Tag: Reverted
No edit summary
Tag: Reverted
Line 1: Line 1:
$(document).ready(function() {
mw.loader.using(['mediawiki.api', 'oojs-ui'], function() {
function createLinkAnnotationTool() {
// Dodaj przycisk do p-tb
// Główny kontener narzędzia
var button = new OO.ui.ButtonWidget({
var annotationPanel = new OO.ui.PanelLayout({
label: 'Dodaj zadanie',
icon: 'add',
padded: true,
flags: ['primary']
expanded: false
});

// Funkcja otwierająca popup
function openPopup() {
var dialog = new OO.ui.Dialog({
title: 'Dodaj nowe zadanie',
size: 'medium'
});
});


// Tworzenie formularza
// Pole tytułu zadania
var titleInput = new OO.ui.TextInputWidget({
var titleInput = new OO.ui.TextInputWidget({
placeholder: 'Tytuł zadania'
placeholder: 'Tytuł zadania'
});
});


// Pole opisu zadania
var descriptionInput = new OO.ui.TextInputWidget({
var descriptionInput = new OO.ui.MultilineTextInputWidget({
placeholder: 'Opis zadania',
placeholder: 'Opis zadania',
multiline: true,
rows: 5
rows: 5
});
});


// Przycisk dodawania linków
var addButton = new OO.ui.ButtonWidget({
label: 'Dodaj',
var addLinkButton = new OO.ui.ButtonWidget({
flags: ['primary']
label: 'Dodaj linki',
flags: ['primary', 'progressive']
});
});


// Przycisk stylowania tekstu
var styleTextButton = new OO.ui.ButtonWidget({
label: 'Style tekstu'
});

// Przycisk anulowania
var cancelButton = new OO.ui.ButtonWidget({
var cancelButton = new OO.ui.ButtonWidget({
label: 'Anuluj',
label: 'Anuluj',
flags: ['secondary']
flags: ['destructive']
});
});


// Przycisk do dodawania linków
// Układ przycisków
var linkButton = new OO.ui.ButtonWidget({
var buttonLayout = new OO.ui.HorizontalLayout({
label: 'Dodaj link',
items: [addLinkButton, styleTextButton, cancelButton]
flags: ['primary']
});
});


// Zdarzenie kliknięcia przycisku "Anuluj"
// Dodanie elementów do panelu
annotationPanel.$element.append(
titleInput.$element,
descriptionInput.$element,
buttonLayout.$element
);

// Logika zamykania
cancelButton.on('click', function() {
cancelButton.on('click', function() {
dialog.close();
// Zamknięcie okna/popupu
});
});


// Zdarzenie kliknięcia przycisku "Dodaj"
// Zwrócenie głównego elementu
return annotationPanel;
addButton.on('click', function() {
}
var title = titleInput.getValue();

var description = descriptionInput.getValue();
// Dodanie przycisku do paska narzędzi
// Logika dodawania zadania
function addAnnotationToolbarButton() {
console.log('Dodano zadanie:', title, description);
dialog.close();
var annotationTool = new OO.ui.ButtonWidget({
label: 'Annotacje',
icon: 'link'
});
});


annotationTool.on('click', function() {
// Zdarzenie kliknięcia przycisku "Dodaj link"
// Otwieranie popupu z narzędziem
linkButton.on('click', function() {
// Logika dodawania linków do zaznaczonych wyrazów
var popup = new OO.ui.PopupWidget({
$content: createLinkAnnotationTool().$element,
console.log('Dodaj link do zaznaczonych wyrazów');
width: 400
});
popup.toggle();
});
});


// Dodaj elementy do dialogu
// Dodanie do paska narzędzi
dialog.$body.append(titleInput.$element);
$('#p-tb .vector-menu-content-list').append(
dialog.$body.append(descriptionInput.$element);
$('<li>').append(annotationTool.$element)
dialog.$body.append(addButton.$element);
);
dialog.$body.append(linkButton.$element);
dialog.$body.append(cancelButton.$element);

// Otwórz dialog
dialog.open();
}
}


// Inicjalizacja po załadowaniu strony
// Dodaj zdarzenie kliknięcia do przycisku
$(document).ready(function() {
button.on('click', openPopup);
addAnnotationToolbarButton();

});
// Dodaj przycisk do p-tb
$('#mw-panel > div.mw-portlet-body').append(button.$element);
});
});

Revision as of 16:19, 20 November 2024

mw.loader.using(['mediawiki.api', 'oojs-ui'], function() {
    function createLinkAnnotationTool() {
        // Główny kontener narzędzia
        var annotationPanel = new OO.ui.PanelLayout({
            padded: true,
            expanded: false
        });

        // Pole tytułu zadania
        var titleInput = new OO.ui.TextInputWidget({
            placeholder: 'Tytuł zadania'
        });

        // Pole opisu zadania 
        var descriptionInput = new OO.ui.MultilineTextInputWidget({
            placeholder: 'Opis zadania',
            rows: 5
        });

        // Przycisk dodawania linków
        var addLinkButton = new OO.ui.ButtonWidget({
            label: 'Dodaj linki',
            flags: ['primary', 'progressive']
        });

        // Przycisk stylowania tekstu
        var styleTextButton = new OO.ui.ButtonWidget({
            label: 'Style tekstu'
        });

        // Przycisk anulowania
        var cancelButton = new OO.ui.ButtonWidget({
            label: 'Anuluj',
            flags: ['destructive']
        });

        // Układ przycisków
        var buttonLayout = new OO.ui.HorizontalLayout({
            items: [addLinkButton, styleTextButton, cancelButton]
        });

        // Dodanie elementów do panelu
        annotationPanel.$element.append(
            titleInput.$element,
            descriptionInput.$element,
            buttonLayout.$element
        );

        // Logika zamykania
        cancelButton.on('click', function() {
            // Zamknięcie okna/popupu
        });

        // Zwrócenie głównego elementu
        return annotationPanel;
    }

    // Dodanie przycisku do paska narzędzi
    function addAnnotationToolbarButton() {
        var annotationTool = new OO.ui.ButtonWidget({
            label: 'Annotacje',
            icon: 'link'
        });

        annotationTool.on('click', function() {
            // Otwieranie popupu z narzędziem
            var popup = new OO.ui.PopupWidget({
                $content: createLinkAnnotationTool().$element,
                width: 400
            });
            
            popup.toggle();
        });

        // Dodanie do paska narzędzi
        $('#p-tb .vector-menu-content-list').append(
            $('<li>').append(annotationTool.$element)
        );
    }

    // Inicjalizacja po załadowaniu strony
    $(document).ready(function() {
        addAnnotationToolbarButton();
    });
});