Przejdź do głównej treści

Dodanie przycisku na pasku zadań (toolbar) w module/dialogu

Ready_™ Developer TeamMniej niż 1 minuta

Wprowadzenie

Na platformie Ready_™ istnieje możliwość definiowania własnych przycisków na pasku zadań (toolbarze) zwanych dalej jako CustomWidget.

Dobra praktyka!

Pamiętaj, jeżeli ilość przycisków na pasku zadań jest większa niż 7, to warto zamienić przyciski o podobnych funkcjach na jeden przycisk typu menu. Dzięki temu pasek zadań zyska na czytelności.

Aby utworzyć swój własny CustomWidget należy:

  1. Wejść w Panel Sterowania
  2. Następnie przejść do Mechanizm CustomWidget,
Panel Sterowania z zaznaczoną opcją CW
Panel Sterowania z zaznaczoną opcją CW
  1. Następnie klikamy w lewym górnym rogu przycisk Nowy.
Dodawanie nowego custom wideta
Dodawanie nowego custom wideta
  1. W otwartym formularzu „Element CustomWidget” uzupełnij pola:
  • Nazwa – Wprowadź tekst, który będzie wyświetlany na przycisku (caption),
  • Typ – Dla obecnego przykładu, wybierz taką samą opcję jak na obrazku powyżej
  • Parametry - Wprowadź tekst w formie json-a, przykład
  • Miejsce - Należy wprowadzić wartość z miejsc użycia więcej informacji znajdziesz poniżej
  • Kliknij na przycisk ZAPISZ.

Miejsca użycia

Tabelka z danymi do wprowadzenia do pola w formularzu miejsca użycia
Miejsce użyciaOpisPrzykład
adocuments/toolbarW module Dokumentyprzykład
aisodocs/toolbarW module ISOprzykład
aregisters/toolbarW module Dziennikiprzykład
contacts/toolbarW module Klienciprzykład
cregisterview/toolbarWszystkie rejestryprzykład
cregisterview/toolbar::[{cregids}]Wszystkie rejestry, których identyfikatory zostały wymienione po przecinku zamiastprzykład
custom/{id_widgetu}Własne użycie np. w definicji przycisku xmlprzykład
document_{dctpid}/toolbarNa liście zadań w formatce dokumentuprzykład
document_products_form_{dctpid}/toolbarNa zakładce pozycje w dokumencie o wskazany typie (dctpid)przykład
custom_document_products_form_{dctpid}/toolbarNa zakładce pozycje w customowym dokumencie o wskazany typie (dctpid)przykład
document_del_summary_{dctpid}/toolbarLista rachunków na dokumencie delegacji
document_travelcosts_{dctpid}/toolbar Koszty delegacji
depository/toolbarW module Produktyprzykład
emails/toolbarW module Pocztaprzykład
employees/toolbarW module Pracownicyprzykład
processes/toolbarW module Sprawyprzykład
process_documents/toolbarNa zakładce dokumenty na kartotece Sprawyprzykład
process_products_form/toolbarNa zakładce pozycje na kartotece Sprawyprzykład
process_tasks_form/toolbarNa zakładce terminarz w kartotece Sprawyprzykład
product/toolbarNa kartotece produktuprzykład
servicemod/toolbarW module Serwisprzykład
task_TODO/toolbarDla formatki zdarzenia typu zadanieprzykład
task_MEETING/toolbarDla formatki zdarzenia typu spotkanieprzykład
task_PHONECALL/toolbarDla formatki zdarzenia typu rozmowa telefonicznaprzykład
task_EVENT/toolbarDla formatki zdarzenia typu terminprzykład
vatnote_costs_list_form/toolbarNa zakładce koszty w dokumencie fakturyprzykład

Przykład tablicy JSON do pola Parametry

{
  "script": "HelloCustomWidget.inc",
  "image": "24x24/hello-24.png"
}

Objaśnienia kluczy:

  • script - nazwa pliku z katalogu public_html/apps/edokumenty/scripts ,
    pliki mogą być zgrupowane w foldery, lecz wtedy w scripts należy podać dodatkowo ścieżkę. więcej informacji
  • image - nazwa ikony z katalogu public_html/framework/img/toolbarIcons/24x24/ lub public_html/apps/edokumenty/var/img/icons/24x24/.
    Nazwa ikony musi być poprzedzona 24x24/nazwa.rozszerzenie
    Ikona musi mieć rozmiar 24px x 24px

Tworzenie skryptu

Podczas tworzenia skryptu należy trzymać się następujących zasad:

  • plik musi być o rozszerzeniu inc
  • plik musi zawierać klasę o takiej samej nazwie jak nazwa pliku, bez rozszerzenia
  • plik na końcu musi zawierać sekcję inicjacji klasy, gdy istnieje zmienna $args
  • zapisany kod musi być w języku PHP obsługiwany zarówno dla wersji 7.4 i 8.0
  • plik należy umieścić w następującej lokalizacji: public_html/apps/edokumenty/scripts. Plik może znajdować się w katalogu, który również jest w tej lokalizacji.

Przykład

Poniżej w zakładce "Plik do pobrania" mamy już gotowy skrypt (należy go poprzednio wypakować z archiwum ZIP), który umieszczamy w następującej lokalizacji: public_html/apps/edokumenty/scripts

Następnie w systemie dodajemy nowy CustomWidget, gdzie następująco wypełniamy pola:

  • Nazwa: Hello CustomWidget
  • Typ: przycisk na pasku zadań
  • Parametry:
{
    "script": "HelloCustomWidget.inc",
    "image": "24x24/menu-24.png"
}
  • Miejsce użycia: adocuments/toolbar

Listing przykładowej klasy

Kod
<?php

class HelloCustomWidget {

    /**
     * @param mixed $params
     */
    public static function execute($params) : void {
        $data = JSON::toArray($params);

        JScript::sweetAlert(Translator::translate('Cześć! Jestem skryptem użytym przez CustomWidget!'), ['type' => JScript::NOTIFY_SUCCESS]);
    }
}

// Wymagane, aby uruchomić scrypt
// zmienna $args, są to parametry w formie JSON lub ARRAY,
// przesłane z pola Parametry i obiektu (dialog / moduł)
if (isset($args)) {
    HelloCustomWidget::execute($args);
}

I w ten oto sposób możemy się cieszyć własnym przyciskiem na pasku zadań w module Dokumenty.

Efekt końcowy
Efekt końcowy