Překladač přehledů

Upravit obsah stránky

Aktuálně ve vývoji!


Jedná se o webovou stránku určenou k uživatelskému překládání přehledů, která je složená z:
    bullet

    HTML: translate.html (/web/translate.html)

    bullet

    JAVASCRIPT: translate.js (/web/scripts-g/translate.js)

    bullet

    CSS: translate.css (/web/stylesheets-g/uni/translate.css)


Na stránku se lze dostat na adrese:
${doména}/translate.html?tableId=${pořadník přehledu}&language=${kód jazyka}
Například: https://renomia.flexideo.cloud/translate.html?tableId=4173&language=en


Skript načte url parametry tableId (pořadník přehledu) a language (kód jazyka, do kterého chceme překládat). Následně získá pomocí požadavku get-settings nastavení daného přehledu a vygeneruje input pole pro názvy sloupců, filtrů a nástrojů. Tyto pole jsou filtrovány podle podle viditelnosti na Comex přehledu:

Sloupce:

              column.getAttribute("hide-on-grid") !== "true" &&
            column.getAttribute("reqd-on-grid") !== "false" &&
            column.getAttribute("width") !== "0"



Nástroje: 

const type = tool.getAttribute("type");
        const tableAvailability =   tool.getAttribute("table-availability");
        const rowAvailability = tool.getAttribute("row-availability");

        return (
          (type?.includes("item") && rowAvailability !== "hide") ||

           (type?.includes("tab")  && tableAvailability !== "hide")
        );



Filtry:

const criterionId = criterion.getAttribute("id");
        const criterionItem2 = criterion.getAttribute("item-2").slice(1, -1);
        return   Array.from(
          corporateResponse.querySelectorAll("variables variable")
        ).some(
            (variable) =>
                variable.getAttribute("name") === `${criterionItem2}` &&
              criterionItem2.slice(4) == criterionId
        );

Tedy sloupců a nástrojů řešíme čistě viditelnost. U filtrů dále řešíme také jejich spojení s dodatečným zadáním a vypisujeme jen ty <criterion>, jejichž atribut id sedí s atributem item-2 a navíc ještě existuje takový <variable>, který odpovídá svým atributem name atributu item-2.

Pole se naplní již existujícími přehledy tak, že primárně se berou překlady z uživatelské tabulky user-translate-${kód jazyka} a sekundárně z tabulky corporate-table, kde jsou vyplněny z editoru Intranetu.

Překladač si kontroluje počet vyplněných polí a dynamicky upozorňuje uživatele na počet polí, která je ještě potřeba vyplnit. Kontroluje také použití speciálních znaků, které jsou zakázané. Po uložení se odesílá požadavek save-settings pro daný přehled, uživatele a jazyk na tabulku user-translate-${kód jazyka}.