# Document Components ## Typowy format dokumentu ```html UMOWA NR …………. o realizację Inicjatywy zleconego w ramach Programu NOWEFIO - zachowując historię społeczności Ustep 1 Punkt 1 Podpunkt sfsdfdf Podpunkt Punkt 2 Ustep 2 Punkt 1 Punkt 2 .... ``` wygeneruje ``` § 1 Obowiązki i uprawnienia informacyjne 1. Ustep 1 1) Punkt 1 a) Podpunkt sfsdfdf b) Podpunkt 2) Punkt 2 2. Ustęp 2 1) Punkt 1 2) Punkt 2 § 2 Zakres umowy ``` # Tagi pdstawowe ## ~~``~~ Nadrzędny element dokumentu - `start` - od jakiego numeru numerować paragrafy, domyśnie jeden - `watermark` - tresć znaku wodnego - `settings` - ustawienia dla dokumentu (można je zmieniać w dokumencie przez `w-settings` lub `w-section`) - `justify` - czy justować tekst w paragrafach - `lang` - język dokumentu (ma wpływ na np. nazwy miesięcy, formatowanie liczb), domyślnie `pl` - `dateFormat` - okresla domyslny format daty dla tagu `w-date`, domyślnie wynika z języka - `inline` - czy numery paragrafów i ich tytuły mają być generowane w jednej lini - `level1` - format numerowania ustępów, domyślnie `1.` - `level2` - format numerowania punktów, domyślnie `1)` - `level3` - format numerowania podpunktów, domyślnie `a)` - `unordered` - format numerowania list `w-ul`, domyślnie `*` - `moneySpaces` - wszystkie kwoty wyswietla z sepearatorem tysięczny, (zależnym od języka) - `currency` - automatycznie dodaje walutę do formatownych kwot, np. `zł` - `colors` - definicja własnych kolorów których potem mozna używać np. jako tło komórki np. `"{'td1': 'yellow'}"` - `bg` - skrót do `colors.bg`, tło dla komórek z parametrem `bg` - `fg` - skrót do `colors.fg`, kolor czcionki dla elementów z parametrem `fg` - `fontFamily` - nazwa czcionki, domyśl;nie Arial - `fontSize` - rozwmiar czcionki, domyslnie 9 - `dataPath` - generuje `data-path` dla elementów wynikających z jSchema - `class` - klasy dopisywane automatycznie do elelemtnów html - można zdefiniować własne z prefiksem `$` czyli np. `$bold: 'text-bold'` i potem użyć ich w parametrze `class` elementu: `class="$bold"` - `showFooters` - czy generować przypisy, domyślnie `true` ## `` - od wersji 0.2.0 Sekcja dokumentu, może mieć inne nagłówki i stopki oraz rozmiar i orientację - `landscape` - czy orientacja pozioma - `format` - np. `a5`, domyślnie jest `a4` - `margin-right`, `margin-left`, `margin-top`, `margin-bottom` - marginesy, można podać jednostkę np. `1.5cm` - `settings` - nadpisanie ustawień z dokumentu ## `` Element określający paragraf umowy parametry - `title` - tytuł paragrafu - `name` - nazwa paragrafu, przydatna gdy trzeba pobrać wygenerowany numer (gdy brak nazwy mona to zrobić po tytule) - `number` - można wymusić numer, domyślnie generuje się automatycznie ## `` Element określający blok tekstu - `right` - wyrównanie tekstu do prawej - `left` - wyrównanie tekstu do lewej - `center` - wyśrodkowanie - `schema` - model z jSchema ```html To jtest blok tekstu wyrównany do prawej ``` ## `` Element określający linię tekstu ```html Witkac sp. z o.o. Słupsk, Sienkiewicza 5a NIP: 234234234 ``` ## `` / `` Listy numerowane ## `` / `` Listy nienumerowane ## `` Pozwala umieścić przypis w tekście, domyślnie generowany jako indeks górny, treśc przypisu nie jest generowana parametry: - `number` - numer przypisu ```html To jest wyjaśnienie przypisu ``` ## `` Generuje przypisy wygenerowane tagami `w-footnote` ```html ``` da taki efekt ``` ----------------------------- 1) To jest wyjaśnienie przypisu ``` # `` tag grafiki parametry: - `height` - wysokosc genrowanej grafiki - `src` - dane lub adres url grafiki, lepiej dane w formacie `data:image/jpeg;base64,/9j/4AAQ....` ```html ``` # `` i `` Treśc mozna umieszac w wielu kolumnach, najczesciej w dwoch do tego sluza tagi `` i `` parametry tagu `` - `right` - wyrównanie tekstu do prawej - `left` - wyrównanie tekstu do lewej - `center` - wyśrodkowanie - `money` - do prawej i formatowanie jako kwoty - `width` - szerokość kolumny, mozna w % ```html Umowa numer 3/45/2024 Słupsk, dnia 20.04.2024 Umowa numer 3/45/2024 Witkac sp. z o.o. Słupsk, Sienkiewicza 5a NIP: 234234234 ``` # `` Tabelka z obramowaniem skladajaca się z wierszy `` i kolumn `` własciwosci tagu `` - `header` - oznacza ze kolumny są nagłowkami (generowane jako ``) - `bg` - kolor tła komórek dodatkowe właściwosci tagu `` - `colspan` - ile kolumn połaczyć w poziomie - `rowspan` - ile kolumn połaczyć w pionie ```html Lp Netto Brutto {{ Koszt.Lp }} {{ Koszt.Netto }} {{ Koszt.Brutto }} ``` # Treści dynamiczne Gdy chcemy umieścić w umowie dane z Umowy lub Oferty musimy skorzystać ze specjalnej składni ze znakami `{{` `}}`, przykładowo ```html Umowa numer {{ Umowa.Numer }} dla {{ Oferta.NazwaFirmy }} ``` w przypadku gdy dane są uzywane w parametrach jak np. `warunek` etedy nazwe parametru nalezy poprzedzic znakiem `:` ```html ``` # Tagi specjalne ## `` Wybiera odmianę w przypadku gdy liczba jest pojedyncza czy mnoga. W przypadku braku podania argumentu `value` jest pobierana z `settings.plural`, a jeśli nie jest ustawione to szuka pola `Oferta.IloscOferentow`. Przykłady: ```html oferenta/oferentów oferenta/oferentów jeden/wiele ``` ## `` Generuje tekst przekreślony, ale w przypadku gry podany zostanie warunek robi to warunkowo lub wybiera z dwóch opcji ```html tekst wielu/jeden ``` ## `` Oblicza numer paragrafu na podstawie jego tytułu lub nazwy (gdy podano) ```html § Obowiązki i uprawnienia informacyjne § ``` ## `` Formatuje liczbę jako kwotę parametry - `currency` - waluta, domylsnie `currency` z ustawień - `spaces` - dodaje separator tysięcy (w języku polskim dopiero od 10 000) - `schema` - model z jSchema ```html 10.456 {{ Oferta.ZrodlaFinansowaniaSuma.WkladOsobowy }} 10.456 ``` ## `` Zamienia na słownie złotych parametry - `fraction` - czy zawsze wyswietlac grosze nawet jak jest ich 0 - `schema` - model z jSchema ```html 10.456 10 10 ``` ## `` formatuje datę do formau wyniakącego z języka dokumentu, domyślnie polskiego `D.MM.YYYY` - `schema` - model z jSchema - `date` - wartośc daty ```html 2024-04-03 {{ Oferta.DataStart }} ``` ## `` koloruje tekst na wybrany kolor, obsługiwane bezpośrednio są 3 kolory: `blue` `red` i `green`, obsługuje zdefiniowane kolory w ustawieniach `w-document` ```html To jest mój adres email daniel.jursza@witkac.pl Kategorycznie NIE wolno !!! BIOdegradowalne Żółty Jasnozielony ``` ## `` generuje ikonę FontAwesome - `icon` - nazwa ikony (https://fontawesome.com/v4/icons/) - `fw` - ustawia stałą szerokość ```html ``` # Tagi html ## `` pogrubienie ```html To jest pogrubiony tekst ``` ## `` pochylenie ```html To jest pochylony tekst ``` ## `` podkreślenie ```html To jest podkreślony tekst ``` ## `` przekreślenie, ale lepiej uywać `` ```html To jest przekreślony tekst ``` ## `
` przejście do nowej lini, lepiej uywać tagu `` ```html pierwsza linia
druga linia ``` # Struktury programistyczne ## warunkowe: `if` `else` `else if` do kazego tagu mozna dodac warunek kiedy ma być generowany (dokumentacja: https://vuejs.org/guide/essentials/conditional.html) - `v-if` - jeśli warunek jest prawdziwy to jest generowany - `v-else` - jeśli poprzedni tag nie spełaniał warunku `v-if` to ten tag jest generowany - `v-else-if` - jeśli porzedni tag nie spełniał warunku `v-if` a dodatkowo ten tag spełnia nowy warunek to jest generowany ```html Jeden Oferent Dwóch oferentów Więcej niz dwóch oferentów ``` gdy chcemy warunkowo generować więcej tagów to mozna je polaczyc tagiem `