UNPKG

vue-cesium-jyt

Version:
1 lines 3.11 kB
{"version":3,"file":"printWindow.mjs","sources":["../../../../../../packages/components/controls/print/printWindow.ts"],"sourcesContent":["/**\n * Tells the web browser to print a given window, which my be an iframe window, and\n * returns a promise that resolves when printing is safely over so that, for example\n * the window can be removed.\n * @param {Window} windowToPrint The window to print.\n * @returns {Promise} A promise that resolves when printing is safely over. The prommise is rejected if\n * there is no indication that the browser's print\n */\nfunction printWindow(windowToPrint) {\n const { when } = Cesium\n const deferred = when.defer()\n let printInProgressCount = 0\n\n const timeout = setTimeout(function () {\n deferred.reject(false)\n }, 10000)\n\n function cancelTimeout() {\n clearTimeout(timeout)\n }\n\n function resolveIfZero() {\n if (printInProgressCount <= 0) {\n deferred.resolve()\n }\n }\n\n if (windowToPrint.matchMedia) {\n windowToPrint.matchMedia('print').addListener(function (evt) {\n cancelTimeout()\n if (evt.matches) {\n ++printInProgressCount\n } else {\n --printInProgressCount\n resolveIfZero()\n }\n })\n }\n\n windowToPrint.onbeforeprint = function () {\n cancelTimeout()\n ++printInProgressCount\n }\n windowToPrint.onafterprint = function () {\n cancelTimeout()\n --printInProgressCount\n resolveIfZero()\n }\n\n // First try printing with execCommand, because, in IE11, `printWindow.print()`\n // prints the entire page instead of just the embedded iframe (if the window\n // is an iframe, anyway).\n const result = windowToPrint.document.execCommand('print', true, null)\n if (!result) {\n windowToPrint.print()\n }\n\n return deferred.promise\n}\n\nexport default printWindow\n"],"names":[],"mappings":"AAAA,SAAS,WAAW,CAAC,aAAa,EAAE;AACpC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;AAC1B,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;AAChC,EAAE,IAAI,oBAAoB,GAAG,CAAC,CAAC;AAC/B,EAAE,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW;AACxC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3B,GAAG,EAAE,GAAG,CAAC,CAAC;AACV,EAAE,SAAS,aAAa,GAAG;AAC3B,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AAC1B,GAAG;AACH,EAAE,SAAS,aAAa,GAAG;AAC3B,IAAI,IAAI,oBAAoB,IAAI,CAAC,EAAE;AACnC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;AACzB,KAAK;AACL,GAAG;AACH,EAAE,IAAI,aAAa,CAAC,UAAU,EAAE;AAChC,IAAI,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,SAAS,GAAG,EAAE;AAChE,MAAM,aAAa,EAAE,CAAC;AACtB,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE;AACvB,QAAQ,EAAE,oBAAoB,CAAC;AAC/B,OAAO,MAAM;AACb,QAAQ,EAAE,oBAAoB,CAAC;AAC/B,QAAQ,aAAa,EAAE,CAAC;AACxB,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,aAAa,CAAC,aAAa,GAAG,WAAW;AAC3C,IAAI,aAAa,EAAE,CAAC;AACpB,IAAI,EAAE,oBAAoB,CAAC;AAC3B,GAAG,CAAC;AACJ,EAAE,aAAa,CAAC,YAAY,GAAG,WAAW;AAC1C,IAAI,aAAa,EAAE,CAAC;AACpB,IAAI,EAAE,oBAAoB,CAAC;AAC3B,IAAI,aAAa,EAAE,CAAC;AACpB,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACzE,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;AAC1B,GAAG;AACH,EAAE,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC1B;;;;"}