... |
... |
@@ -261,6 +261,41 @@ |
261 |
261 |
; An den Vorgang anhängen |
262 |
262 |
: Die Datei dauerhaft speichern. Diese Einstellung ist auch notwendig, wenn die Datei z.B. auf einer Abschlussseite als Download (mittels [[Attachment-Platzhalter>>doc:Formcycle.UserInterface.Variables||anchor="HSystemplatzhalterfFCrHTML-Templates" target="_blank"]]) angeboten werden soll. |
263 |
263 |
|
|
264 |
+== JavaScript-Anpassungen für Druckbild |
|
265 |
+ |
|
266 |
+Manchmal kann es erforderlich sein, vor dem Druck noch JavaScript auszuführen. Hierzu kann die Funktion //$.xutil.onPrint// verwendet werden, welche folgende Signatur hat |
|
267 |
+ |
|
268 |
+{{code language="text"}} |
|
269 |
+function onPrint(callback: () => Promise<void> | void): void |
|
270 |
+{{/code}} |
|
271 |
+ |
|
272 |
+Mit dieser Funktion können ein oder mehrere Callbacks registriert werden, welche vor dem Druck ausgeführt werden. Wenn ein Callback ein //Promise// zurückliefert, wird mit dem Druck gewartet, bis das Promise erfüllt ist. Falls das Promise abgewiesen wird, wird der Fehler gelogged, der Print aber nicht abgebrochen. Zu beachten ist weiterhin, dass die Registrierung der Callbacks vor dem Druck erfolgen muss, also beispielsweise innerhalb eines JQuery-Document-Ready-Handlers (//$(callback)//). |
|
273 |
+ |
|
274 |
+Falls beispielsweise ein AJAX-Request fertig ausgeführt werden soll, bevor mit dem Druck begonnen wird: |
|
275 |
+ |
|
276 |
+{{js}} |
|
277 |
+ $.xutil.onPrint(async () => { |
|
278 |
+ const response = await fetch("http://some-url.de"); |
|
279 |
+ // do something with response |
|
280 |
+ }); |
|
281 |
+{{/js}} |
|
282 |
+ |
|
283 |
+{{jsIE}} |
|
284 |
+ $.xutil.onPrint(function() { |
|
285 |
+ return new Promise(function(resolve, reject) { |
|
286 |
+ $.ajax("http://some-url.de", { |
|
287 |
+ success: function(data, textStatus, jqXHR) { |
|
288 |
+ // Do something with the response data |
|
289 |
+ resolve(undefined); |
|
290 |
+ }, |
|
291 |
+ error: function(jqXHR, textStatus, errorThrown) { |
|
292 |
+ reject("HTTP request error: " + textStatus + " - " + errorThrown); |
|
293 |
+ }, |
|
294 |
+ }); |
|
295 |
+ }); |
|
296 |
+ }); |
|
297 |
+{{/jsIE}} |
|
298 |
+ |
264 |
264 |
== CSS-Anpassungen für Druckbild == |
265 |
265 |
|
266 |
266 |
Allgemeine CSS-Anpassungen für den Druck können über eine entsprechende Media-Query umgesetzt werden: |
... |
... |
@@ -374,41 +374,6 @@ |
374 |
374 |
|
375 |
375 |
In Schriftarten vom Typ //TrueType// und //OpenType// können Informationen über die Einbettbarkeit der Schriftart direkt mitgespeichert werden. Je nachdem, was dort konfiguriert ist, kann eine Schriftart gegebenenfalls nicht eingebettet werden und wird vom //Print-Service-Plugin// stattdessen nur als Vektorgrafik in die erstellten PDF-Dokumente gerendert. |
376 |
376 |
|
377 |
|
-== JavaScript-Anpassungen für Druckbild |
378 |
|
- |
379 |
|
-Manchmal kann es erforderlich sein, vor dem Druck noch JavaScript auszuführen. Hierzu kann die Funktion //$.xutil.onPrint// verwendet werden, welche folgende Signatur hat |
380 |
|
- |
381 |
|
-{{code language="text"}} |
382 |
|
-function onPrint(callback: () => Promise<void> | void): void |
383 |
|
-{{/code}} |
384 |
|
- |
385 |
|
-Mit dieser Funktion können ein oder mehrere Callbacks registriert werden, welche vor dem Druck ausgeführt werden. Wenn ein Callback ein //Promise// zurückliefert, wird mit dem Druck gewartet, bis das Promise erfüllt ist. Falls das Promise abgewiesen wird, wird der Fehler gelogged, der Print aber nicht abgebrochen. Zu beachten ist weiterhin, dass die Registrierung der Callbacks vor dem Druck erfolgen muss, also beispielsweise innerhalb eines JQuery-Document-Ready-Handlers (//$(callback)//). |
386 |
|
- |
387 |
|
-Falls beispielsweise ein AJAX-Request fertig ausgeführt werden soll, bevor mit dem Druck begonnen wird: |
388 |
|
- |
389 |
|
-{{js}} |
390 |
|
- $.xutil.onPrint(async () => { |
391 |
|
- const response = await fetch("http://some-url.de"); |
392 |
|
- // do something with response |
393 |
|
- }); |
394 |
|
-{{/js}} |
395 |
|
- |
396 |
|
-{{jsIE}} |
397 |
|
- $.xutil.onPrint(function() { |
398 |
|
- return new Promise(function(resolve, reject) { |
399 |
|
- $.ajax("http://some-url.de", { |
400 |
|
- success: function(data, textStatus, jqXHR) { |
401 |
|
- // Do something with the response data |
402 |
|
- resolve(undefined); |
403 |
|
- }, |
404 |
|
- error: function(jqXHR, textStatus, errorThrown) { |
405 |
|
- reject("HTTP request error: " + textStatus + " - " + errorThrown); |
406 |
|
- }, |
407 |
|
- }); |
408 |
|
- }); |
409 |
|
- }); |
410 |
|
-{{/jsIE}} |
411 |
|
- |
412 |
412 |
== Versionshistorie |
413 |
413 |
|
414 |
414 |
=== 4.2.0 |