Lista dokumentów - DocumentList
Lista wygenerowanych dokumentów

Właściwości komponentu
Lista dokumentów
items
Lista dokumentów do zaprezentowania
Prezentacja komponentu w formie przycisku (Pobierz wszystkie dokumenty) (sekcja Podstawowe właściwości)
allowDownloadingOfAllDocuments
Prezentacja komponentu jako jednego przycisku umożliwiającego pobranie wszystkich dokumentów. Domyślna wartość "false". Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.
Prezentowanie loadera podczas generowania dokumentu (sekcja Podstawowe właściwości)
async
Opcja prezentująca loader podczas generowania dokumentu. Domyślna wartość "false".
Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.
Lista dokumentów zwijana (sekcja Pozostałe)
GesDocumentList.foldable
Prezentacja listy dokumentów jest ukryta w sekcji zwijanej.
Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach
Więcej informacji o właściwościach komponentu: Wspólne właściwości komponentów

Po dodaniu komponentu z palety pozostałą konfigurację (dotyczącą listy wyświetlanych dokumentów) należy ustalić w zakładce Źródło. Przykładowa konfiguracja dla komponentu:
<p1:GesDocumentList id="GesDocumentList1" mid="GesDocumentList1" labelKey="GesDocumentList1.label" ariaLabelKey="GesDocumentList1.ariaLabel" ariaDescriptionKey="GesDocumentList1.ariaDescription" documentsAreNotReadyMessageKey="GesDocumentList1.documentsAreNotReadyMessage">
<data:ListeningOn>
<data:ListenField id="currentPageMid"/>
</data:ListeningOn>
<data:ClearOn/>
<p1:GesDocumentList.layoutData>
<ns6:GridData horizontalAlignment="FILL" horizontalSpan="16" verticalAlignment="CENTER"/>
</p1:GesDocumentList.layoutData>
<data:DocumentGeneratorItems>
<data:DocumentGeneratorItem generatorName="fop" fileName="my_file.pdf" documentTemplate="my_template.xsl-*"/>
</data:DocumentGeneratorItems>
<data:GesDocumentList.foldable enabled="false"/>
</p1:GesDocumentList>Najważniejsze w powyższej konfiguracji jest ustalenie:
fileName="my_file.pdf" - w cudzysłowie podajemy nazwę dokumentu prezentowaną na szablonie.
documentTemplate="my_template.xsl-" - w cudzysłowie podajemy nazwę szablonu xsl w formacie nazwa- gdzie gwiazdka oznacza najwyższą wersję komponentu.
Jeśli artefakt podpięty w komponencie Lista dokumentów zasilany jest danymi z wniosku, należy na komponencie DocumentList dodać nasłuchiwanie np. na currentPageMid (lub inny element, który zmienia się na wniosku przy przechodzeniu między stronami). Pozwoli to uniknąć sytuacji, w której zmiana danych nie zostanie odzwierciedlona w wydruku.
Jeśli wygenerowany dokument ma zostać zapisany do DMS, należy na ostatniej stronie przed wysłaniem wniosku dodać ten dokument do generatora dokumentów (więcej tutaj: Generator dokumentów - Document Generator), podając dokument w 'items'.
Konfigurowanie właściwości items dla zasilenie listy dokumentów wydrukiem PDF generowanym przy wykorzystaniu XSL template
Nazwa generatora
Generator name
"fop" - jeśli dane zasilające wydruk pochodzą z wniosku. "fopFromVariable" - jeśli dane zasilające wydruk generowane są ze zmiennej xmlDocument (wówczas komponent musi też nasłuchiwać na tę zmienną!)
Nazwa dokumentu
File name
nazwa dokumentu prezentowana na szablonie
Nazwa artefaktu
Document template
nazwa komponentu w formacie nazwa-* gdzie gwiazdka oznacza najwyższą wersję komponentu (istnieje również możliwość wskazania konkretnej wersji)
Zasilenie listy dokumentów danymi z usługi
Komponent można zasilić danymi z usługi podpiętej na komponencie albo na stronie.
Zasilenie listy dokumentów linkami z usługi (zewnętrznymi linkami)
Usługę podpinamy pod komponent standardowo przez ŹRÓDŁO DANYCH ZEWNĘTRZNYCH (External Data Source). Powinna ona zwracać (nazwy endpointów są pogrubione):
documentLink — listę linków lub identyfikatorów dokumentów, które chcemy wyświetlić,
fileName — nazwę pliku do pobrania,
documentLabel — opcjonalnie etykietę wyświetlaną przy pliku (jeżeli jej nie ma, to wyświetla się nazwa pliku),
source — rodzaj źródła (wartości: "externalWeb" lub "internalDoc"), stała, dzięki której platforma będzie wiedziała czy systemem źródłowym jest cms ("externalWeb") czy nemo ("internalDoc").
Należy pamiętać, że jeżeli lista dokumentów ma być prezentowana w innych kanałach niż native to usługa musi zwracać wartości skorelowane z aktualnym kanałem. Np. zwracanie identyfikatorów dokumentów nie ma sensu dla kanału desktop.
Przykładowy kod usługi (Java, komponent OSGI/Charon):
Zasilenie listy dokumentów danymi z dwóch usług
Żeby funkcjonalność zadziałała musi być ustawiona w webforms.xml flaga server.features.externalDocumentResourceProviderEnabled=true
Pierwszą usługę podpinamy pod komponent standardowo przez ŹRÓDŁO DANYCH ZEWNĘTRZNYCH (External Data Source). Powinna ona zwracać (nazwy endpointów są pogrubione):
fileName - nazwa pliku do pobrania,
fileMimeType - typ pliku do pobrania,
documentLabel - opcjonalna etykieta wyświetlana przy pliku (jeżeli jej nie ma, to wyświetla się nazwa pliku),
fileContent - warto dodać, jeśli chcemy obsługiwać większą liczbę plików niż 1 - pozwala nam to ustawiać identyfikator pliku i rozróżniać pliki pomiędzy sobą,
source - rodzaj źródła, w tym przypadku wartość 'externalDocument',
documentServiceName - nazwa drugiej usługi, która zostaje wywołana aby pobrać zawartość pliku. Jeśli jest to usługa skryptowa, dodajemy przed jej nazwą przedrostek script: (bez tego przedrostka system będzie szukać usługi Charonowej/OSGI),
documentServiceParams - opcjonalne parametry, które chcemy przekazać do usługi pobierającej zawartość pliku. Mają one postać parametr1=value¶metr2=value...
Przykładowe kody serwisów skryptowych:
function callService(context) {
var fileName = context.getFirstParameter('fileName');
return [{'fileName': fileName, 'fileMimeType': 'application/pdf', 'source': 'externalDocument', 'documentServiceName': 'script:document_list_example2', 'documentServiceParams': 'parameter1=value1¶meter2=value2' }];
}
function callService(context) {
var parameter1 = context.getFirstParameter('parameter1');
var parameter2 = context.getFirstParameter('parameter2');
var content = "JVBERi0xLjMNCiXi48/TDQoNCjEgMCBvYmoNCjw8DQovVHlwZSAvQ2F0YWxvZw0KL091dGxpbmVzIDIgMCBSDQovUGFnZXMgMyAwIFINCj4+DQplbmRvYmoNCg0KMiAwIG9iag0KPDwNCi9UeXBlIC9PdXRsaW5lcw0KL0NvdW50IDANCj4+DQplbmRvYmoNCg0KMyAwIG9iag0KPDwNCi9UeXBlIC9QYWdlcw0KL0NvdW50IDINCi9LaWRzIFsgNCAwIFIgNiAwIFIgXSANCj4+DQplbmRvYmoNCg0KNCAwIG9iag0KPDwNCi9UeXBlIC9QYWdlDQovUGFyZW50IDMgMCBSDQovUmVzb3VyY2VzIDw8DQovRm9udCA8PA0KL0YxIDkgMCBSIA0KPj4NCi9Qcm9jU2V0IDggMCBSDQo+Pg0KL01lZGlhQm94IFswIDAgNjEyLjAwMDAgNzkyLjAwMDBdDQovQ29udGVudHMgNSAwIFINCj4+DQplbmRvYmoNCg0KNSAwIG9iag0KPDwgL0xlbmd0aCAxMDc0ID4+DQpzdHJlYW0NCjIgSg0KQlQNCjAgMCAwIHJnDQovRjEgMDAyNyBUZg0KNTcuMzc1MCA3MjIuMjgwMCBUZA0KKCBBIFNpbXBsZSBQREYgRmlsZSApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY4OC42MDgwIFRkDQooIFRoaXMgaXMgYSBzbWFsbCBkZW1vbnN0cmF0aW9uIC5wZGYgZmlsZSAtICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjY0LjcwNDAgVGQNCigganVzdCBmb3IgdXNlIGluIHRoZSBWaXJ0dWFsIE1lY2hhbmljcyB0dXRvcmlhbHMuIE1vcmUgdGV4dC4gQW5kIG1vcmUgKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NTIuNzUyMCBUZA0KKCB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDYyOC44NDgwIFRkDQooIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNTY5LjA4ODAgVGQNCiggQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA1NTcuMTM2MCBUZA0KKCB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBFdmVuIG1vcmUuIENvbnRpbnVlZCBvbiBwYWdlIDIgLi4uKSBUag0KRVQNCmVuZHN0cmVhbQ0KZW5kb2JqDQoNCjYgMCBvYmoNCjw8DQovVHlwZSAvUGFnZQ0KL1BhcmVudCAzIDAgUg0KL1Jlc291cmNlcyA8PA0KL0ZvbnQgPDwNCi9GMSA5IDAgUiANCj4+DQovUHJvY1NldCA4IDAgUg0KPj4NCi9NZWRpYUJveCBbMCAwIDYxMi4wMDAwIDc5Mi4wMDAwXQ0KL0NvbnRlbnRzIDcgMCBSDQo+Pg0KZW5kb2JqDQoNCjcgMCBvYmoNCjw8IC9MZW5ndGggNjc2ID4+DQpzdHJlYW0NCjIgSg0KQlQNCjAgMCAwIHJnDQovRjEgMDAyNyBUZg0KNTcuMzc1MCA3MjIuMjgwMCBUZA0KKCBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY3Ni42NTYwIFRkDQooIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjY0LjcwNDAgVGQNCiggdGV4dC4gT2gsIGhvdyBib3JpbmcgdHlwaW5nIHRoaXMgc3R1ZmYuICBCdXQgbm90IGFzIGJvcmluZyBhcyB3YXRjaGluZyApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY1Mi43NTIwIFRkDQooIHBhaW50IGRyeS4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NDAuODAwMCBUZA0KKCBCb3JpbmcuICBNb3JlLCBhIGxpdHRsZSBtb3JlIHRleHQuIFRoZSBlbmQsIGFuZCBqdXN0IGFzIHdlbGwuICkgVGoNCkVUDQplbmRzdHJlYW0NCmVuZG9iag0KDQo4IDAgb2JqDQpbL1BERiAvVGV4dF0NCmVuZG9iag0KDQo5IDAgb2JqDQo8PA0KL1R5cGUgL0ZvbnQNCi9TdWJ0eXBlIC9UeXBlMQ0KL05hbWUgL0YxDQovQmFzZUZvbnQgL0hlbHZldGljYQ0KL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcNCj4+DQplbmRvYmoNCg0KMTAgMCBvYmoNCjw8DQovQ3JlYXRvciAoUmF2ZSBcKGh0dHA6Ly93d3cubmV2cm9uYS5jb20vcmF2ZVwpKQ0KL1Byb2R1Y2VyIChOZXZyb25hIERlc2lnbnMpDQovQ3JlYXRpb25EYXRlIChEOjIwMDYwMzAxMDcyODI2KQ0KPj4NCmVuZG9iag0KDQp4cmVmDQowIDExDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMTkgMDAwMDAgbg0KMDAwMDAwMDA5MyAwMDAwMCBuDQowMDAwMDAwMTQ3IDAwMDAwIG4NCjAwMDAwMDAyMjIgMDAwMDAgbg0KMDAwMDAwMDM5MCAwMDAwMCBuDQowMDAwMDAxNTIyIDAwMDAwIG4NCjAwMDAwMDE2OTAgMDAwMDAgbg0KMDAwMDAwMjQyMyAwMDAwMCBuDQowMDAwMDAyNDU2IDAwMDAwIG4NCjAwMDAwMDI1NzQgMDAwMDAgbg0KDQp0cmFpbGVyDQo8PA0KL1NpemUgMTENCi9Sb290IDEgMCBSDQovSW5mbyAxMCAwIFINCj4+DQoNCnN0YXJ0eHJlZg0KMjcxNA0KJSVFT0YNCg==";
return [{'output': content}];
}Sama zawartość pliku musi być zakodowana w base64 oraz zwracana pod parametrem o nazwie output. Inaczej lista dokumentów nie pobierze załącznika.
Last updated
Was this helpful?
