ngx-doc-viewer 2.0.1 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bundles/ngx-doc-viewer.umd.js +33 -25
- package/bundles/ngx-doc-viewer.umd.js.map +1 -1
- package/esm2015/helper.js +20 -10
- package/esm2015/helper.js.map +1 -1
- package/esm2015/helper.metadata.json +1 -1
- package/esm2015/ngx-doc-viewer/src/lib/document-viewer.component.js +4 -6
- package/esm2015/ngx-doc-viewer/src/lib/document-viewer.component.js.map +1 -1
- package/fesm2015/ngx-doc-viewer.js +27 -19
- package/fesm2015/ngx-doc-viewer.js.map +1 -1
- package/helper.d.ts +6 -8
- package/ngx-doc-viewer.metadata.json +1 -1
- package/package.json +7 -6
- package/bundles/ngx-doc-viewer.umd.min.js +0 -16
- package/bundles/ngx-doc-viewer.umd.min.js.map +0 -1
package/README.md
CHANGED
|
@@ -102,7 +102,7 @@ For Google Drive
|
|
|
102
102
|
|
|
103
103
|
```html
|
|
104
104
|
<ngx-doc-viewer
|
|
105
|
-
[url]="https://drive.google.com/file/d/0B5ImRpiNhCfGZDVhMGEyYmUtZTdmMy00YWEyLWEyMTQtN2E2YzM3MDg3MTZh/preview"
|
|
105
|
+
[url]="'https://drive.google.com/file/d/0B5ImRpiNhCfGZDVhMGEyYmUtZTdmMy00YWEyLWEyMTQtN2E2YzM3MDg3MTZh/preview'"
|
|
106
106
|
viewer="url"
|
|
107
107
|
style="width:100%;height:50vh;"
|
|
108
108
|
>
|
|
@@ -340,7 +340,7 @@
|
|
|
340
340
|
iframe.src = iframe.src;
|
|
341
341
|
}
|
|
342
342
|
};
|
|
343
|
-
var ɵ0 = reloadIFrame;
|
|
343
|
+
var ɵ0$1 = reloadIFrame;
|
|
344
344
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
345
345
|
var handleFileUpload = function (fileInput) {
|
|
346
346
|
return new Promise(function (resolve, reject) {
|
|
@@ -378,18 +378,18 @@
|
|
|
378
378
|
};
|
|
379
379
|
var getDocxToHtml = function (url) { return __awaiter(void 0, void 0, void 0, function () {
|
|
380
380
|
var arrayBuffer, resultObject;
|
|
381
|
-
return __generator(this, function (
|
|
382
|
-
switch (
|
|
381
|
+
return __generator(this, function (_c) {
|
|
382
|
+
switch (_c.label) {
|
|
383
383
|
case 0:
|
|
384
384
|
if (!mammoth) {
|
|
385
385
|
console.error('Please install mammoth and make sure mammoth.browser.min.js is loaded.');
|
|
386
386
|
}
|
|
387
387
|
return [4 /*yield*/, fileToArray(url)];
|
|
388
388
|
case 1:
|
|
389
|
-
arrayBuffer =
|
|
389
|
+
arrayBuffer = _c.sent();
|
|
390
390
|
return [4 /*yield*/, mammoth.convertToHtml({ arrayBuffer: arrayBuffer })];
|
|
391
391
|
case 2:
|
|
392
|
-
resultObject =
|
|
392
|
+
resultObject = _c.sent();
|
|
393
393
|
return [2 /*return*/, resultObject.value];
|
|
394
394
|
}
|
|
395
395
|
});
|
|
@@ -401,7 +401,7 @@
|
|
|
401
401
|
subscribe: function (iframe, interval, maxChecks) {
|
|
402
402
|
if (interval === void 0) { interval = 3000; }
|
|
403
403
|
if (maxChecks === void 0) { maxChecks = 5; }
|
|
404
|
-
if (!
|
|
404
|
+
if (!iframeIsLoaded(iframe)) {
|
|
405
405
|
subscription = setInterval(function () {
|
|
406
406
|
checkCount++;
|
|
407
407
|
if (checkCount >= maxChecks) {
|
|
@@ -424,19 +424,20 @@
|
|
|
424
424
|
},
|
|
425
425
|
};
|
|
426
426
|
};
|
|
427
|
-
var
|
|
427
|
+
var iframeIsLoaded = function (iframe) {
|
|
428
|
+
var _a;
|
|
428
429
|
// its #document <html><head></head><body></body></html> when google is returning a 204
|
|
429
430
|
// so if contentDocument = null then it's loaded.
|
|
430
431
|
var isLoaded = false;
|
|
431
432
|
try {
|
|
432
433
|
if (!internetExplorer()) {
|
|
433
|
-
isLoaded = !iframe.contentDocument;
|
|
434
|
+
isLoaded = !(iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument);
|
|
434
435
|
}
|
|
435
436
|
else {
|
|
436
|
-
isLoaded = !iframe.contentWindow.document;
|
|
437
|
+
isLoaded = !((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document);
|
|
437
438
|
}
|
|
438
439
|
}
|
|
439
|
-
catch (
|
|
440
|
+
catch (_b) {
|
|
440
441
|
// ignore message Blocked a frame with origin "http://..." from accessing a cross-origin frame.
|
|
441
442
|
}
|
|
442
443
|
return isLoaded;
|
|
@@ -446,7 +447,7 @@
|
|
|
446
447
|
var getViewerDetails = function (url, configuredViewer, queryParams, viewerUrl) {
|
|
447
448
|
if (configuredViewer === void 0) { configuredViewer = 'google'; }
|
|
448
449
|
if (queryParams === void 0) { queryParams = ''; }
|
|
449
|
-
if (viewerUrl === void 0) { viewerUrl =
|
|
450
|
+
if (viewerUrl === void 0) { viewerUrl = ''; }
|
|
450
451
|
switch (configuredViewer) {
|
|
451
452
|
case 'google':
|
|
452
453
|
viewerUrl = "https://docs.google.com/gview?url=%URL%&embedded=true";
|
|
@@ -456,14 +457,14 @@
|
|
|
456
457
|
break;
|
|
457
458
|
}
|
|
458
459
|
case 'pdf': {
|
|
459
|
-
viewerUrl =
|
|
460
|
+
viewerUrl = '';
|
|
460
461
|
break;
|
|
461
462
|
}
|
|
462
463
|
}
|
|
463
464
|
var externalViewer = configuredViewer === 'google' ||
|
|
464
465
|
configuredViewer === 'office' ||
|
|
465
466
|
configuredViewer === 'url';
|
|
466
|
-
var u = url.indexOf('/') ? encodeURIComponent(url) : url;
|
|
467
|
+
var u = (url === null || url === void 0 ? void 0 : url.indexOf('/')) ? encodeURIComponent(url) : url;
|
|
467
468
|
var fullUrl = viewerUrl ? viewerUrl.replace('%URL%', u) : url;
|
|
468
469
|
if (queryParams && externalViewer && configuredViewer !== 'url') {
|
|
469
470
|
var start = queryParams.startsWith('&') ? '' : '&';
|
|
@@ -474,6 +475,14 @@
|
|
|
474
475
|
externalViewer: externalViewer,
|
|
475
476
|
};
|
|
476
477
|
};
|
|
478
|
+
var replaceLocalUrl = function (url, overrideLocalhost) {
|
|
479
|
+
var loc = getLocation(url);
|
|
480
|
+
var locReplace = getLocation(overrideLocalhost);
|
|
481
|
+
if (loc && locReplace) {
|
|
482
|
+
return url.replace(loc.port ? loc.hostname + ":" + loc.port : loc.hostname, locReplace.port ? locReplace.hostname + ":" + locReplace.port : locReplace.hostname);
|
|
483
|
+
}
|
|
484
|
+
return url;
|
|
485
|
+
};
|
|
477
486
|
var getBlobFromUrl = function (url) {
|
|
478
487
|
return new Promise(function (resolve, reject) {
|
|
479
488
|
var request = new XMLHttpRequest();
|
|
@@ -489,8 +498,9 @@
|
|
|
489
498
|
var ɵ2 = getBlobFromUrl;
|
|
490
499
|
var uploadToCloud = function (fileUrl, api) { return new Promise(function (resolve, reject) {
|
|
491
500
|
getBlobFromUrl(fileUrl).then(function (blob) {
|
|
501
|
+
var _a, _b;
|
|
492
502
|
var loc = getLocation(fileUrl);
|
|
493
|
-
var name = loc.pathname.split('/')[loc.pathname.split('/').length - 1];
|
|
503
|
+
var name = (loc === null || loc === void 0 ? void 0 : loc.pathname) ? (_a = loc === null || loc === void 0 ? void 0 : loc.pathname) === null || _a === void 0 ? void 0 : _a.split('/')[((_b = loc === null || loc === void 0 ? void 0 : loc.pathname) === null || _b === void 0 ? void 0 : _b.split('/').length) - 1] : '';
|
|
494
504
|
var formData = new FormData();
|
|
495
505
|
var request = new XMLHttpRequest();
|
|
496
506
|
formData.append('file', blob, name);
|
|
@@ -511,7 +521,7 @@
|
|
|
511
521
|
}); };
|
|
512
522
|
var isLocalFile = function (file) {
|
|
513
523
|
var loc = getLocation(file);
|
|
514
|
-
var hostname = loc.hostname;
|
|
524
|
+
var hostname = (loc === null || loc === void 0 ? void 0 : loc.hostname) || '';
|
|
515
525
|
return ((['localhost', '127.0.0.1', '', '::1'].includes(hostname))
|
|
516
526
|
|| (hostname.startsWith('192.168.'))
|
|
517
527
|
|| (hostname.startsWith('10.0.'))
|
|
@@ -553,7 +563,7 @@
|
|
|
553
563
|
};
|
|
554
564
|
NgxDocViewerComponent.prototype.ngOnChanges = function (changes) {
|
|
555
565
|
return __awaiter(this, void 0, void 0, function () {
|
|
556
|
-
var viewerDetails,
|
|
566
|
+
var viewerDetails, newUrl, _c;
|
|
557
567
|
var _this = this;
|
|
558
568
|
return __generator(this, function (_d) {
|
|
559
569
|
switch (_d.label) {
|
|
@@ -579,10 +589,8 @@
|
|
|
579
589
|
viewerDetails = getViewerDetails(this.url, this.configuredViewer, this.queryParams, this.viewerUrl);
|
|
580
590
|
this.externalViewer = viewerDetails.externalViewer;
|
|
581
591
|
if (viewerDetails.externalViewer && this.overrideLocalhost && isLocalFile(this.url)) {
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
this.url = this.url.replace(loc.port ? loc.hostname + ":" + loc.port : loc.hostname, locReplace.port ? locReplace.hostname + ":" + locReplace.port : locReplace.hostname);
|
|
585
|
-
viewerDetails = getViewerDetails(this.url, this.configuredViewer, this.queryParams, this.viewerUrl);
|
|
592
|
+
newUrl = replaceLocalUrl(this.url, this.overrideLocalhost);
|
|
593
|
+
viewerDetails = getViewerDetails(newUrl, this.configuredViewer, this.queryParams, this.viewerUrl);
|
|
586
594
|
}
|
|
587
595
|
this.docHtml = '';
|
|
588
596
|
if (this.checkIFrameSubscription) {
|
|
@@ -633,7 +641,7 @@
|
|
|
633
641
|
NgxDocViewerComponent.prototype.iframeLoaded = function () {
|
|
634
642
|
var _a, _b;
|
|
635
643
|
var iframe = (_b = (_a = this.iframes) === null || _a === void 0 ? void 0 : _a.first) === null || _b === void 0 ? void 0 : _b.nativeElement;
|
|
636
|
-
if (iframe &&
|
|
644
|
+
if (iframe && iframeIsLoaded(iframe)) {
|
|
637
645
|
this.loaded.emit(null);
|
|
638
646
|
if (this.checkIFrameSubscription) {
|
|
639
647
|
this.checkIFrameSubscription.unsubscribe();
|
|
@@ -681,10 +689,10 @@
|
|
|
681
689
|
},] }
|
|
682
690
|
];
|
|
683
691
|
|
|
684
|
-
var ɵ0
|
|
692
|
+
var ɵ0 = function () { };
|
|
685
693
|
var defaultProps = {
|
|
686
694
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
687
|
-
loaded: ɵ0
|
|
695
|
+
loaded: ɵ0,
|
|
688
696
|
disableContent: 'none',
|
|
689
697
|
googleCheckContentLoaded: true,
|
|
690
698
|
googleCheckInterval: 3000,
|
|
@@ -708,10 +716,10 @@
|
|
|
708
716
|
exports.getbaseUrl = getbaseUrl;
|
|
709
717
|
exports.googleCheckSubscription = googleCheckSubscription;
|
|
710
718
|
exports.handleFileUpload = handleFileUpload;
|
|
711
|
-
exports.
|
|
719
|
+
exports.iframeIsLoaded = iframeIsLoaded;
|
|
712
720
|
exports.isLocalFile = isLocalFile;
|
|
721
|
+
exports.replaceLocalUrl = replaceLocalUrl;
|
|
713
722
|
exports.uploadToCloud = uploadToCloud;
|
|
714
|
-
exports.ɵ0 = ɵ0;
|
|
715
723
|
exports.ɵ1 = ɵ1;
|
|
716
724
|
exports.ɵ2 = ɵ2;
|
|
717
725
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-doc-viewer.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../libs/helper.ts","../../../../libs/ngx-doc-viewer/src/lib/document-viewer.component.ts","../../../../libs/ngx-doc-viewer/src/lib/document-viewer.module.ts","../../../../libs/model.ts","../../../../libs/ngx-doc-viewer.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// eslint-disable-next-line no-var\r\ndeclare var mammoth;\r\nimport { ViewerType } from './model';\r\n\r\nexport const fileToArray = (url: string): Promise<ArrayBuffer> => {\r\n return new Promise<ArrayBuffer>((resolve, reject) => {\r\n try {\r\n const request = new XMLHttpRequest();\r\n request.open('GET', url, true);\r\n request.responseType = 'blob';\r\n request.onload = () => {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(request.response);\r\n reader.onloadend = () => {\r\n resolve(reader.result as ArrayBuffer);\r\n };\r\n };\r\n request.send();\r\n } catch {\r\n reject(`error while retrieving file ${url}.`);\r\n }\r\n });\r\n};\r\n\r\nconst reloadIFrame = (iframe: HTMLIFrameElement) => {\r\n if (iframe) {\r\n console.log('reloading..');\r\n // eslint-disable-next-line no-self-assign\r\n iframe.src = iframe.src;\r\n }\r\n};\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport const handleFileUpload = (fileInput: any) => {\r\n return new Promise<string>((resolve, reject) => {\r\n if (fileInput.target.files && fileInput.target.files[0]) {\r\n const reader = new FileReader();\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n reader.onload = (e: any) => {\r\n resolve(e.target.result);\r\n };\r\n reader.readAsDataURL(fileInput.target.files[0]);\r\n } else {\r\n reject('no files selected');\r\n }\r\n });\r\n};\r\n\r\nexport const getbaseUrl = (): string => {\r\n const pathArray = window.location.href.split('/');\r\n const protocol = pathArray[0];\r\n const host = pathArray[2];\r\n return protocol + '//' + host;\r\n};\r\n\r\n\r\nexport const getLocation = (href: string) => {\r\n const match = href.match(/^(https?\\:)\\/\\/(([^:\\/?#]*)(?:\\:([0-9]+))?)([\\/]{0,1}[^?#]*)(\\?[^#]*|)(#.*|)$/);\r\n return match && {\r\n href,\r\n protocol: match[1],\r\n host: match[2],\r\n hostname: match[3],\r\n port: match[4],\r\n pathname: match[5],\r\n search: match[6],\r\n hash: match[7]\r\n }\r\n}\r\n\r\nexport const getDocxToHtml = async (url: string) => {\r\n if (!mammoth) {\r\n console.error(\r\n 'Please install mammoth and make sure mammoth.browser.min.js is loaded.'\r\n );\r\n }\r\n const arrayBuffer = await fileToArray(url);\r\n const resultObject = await mammoth.convertToHtml({ arrayBuffer });\r\n return resultObject.value;\r\n};\r\n\r\nexport const googleCheckSubscription = () => {\r\n let subscription = null;\r\n let checkCount = 0;\r\n return {\r\n subscribe: (iframe: HTMLIFrameElement, interval = 3000, maxChecks = 5) => {\r\n if (!iframeLoaded(iframe)) {\r\n subscription = setInterval(() => {\r\n checkCount++;\r\n if (checkCount >= maxChecks) {\r\n clearInterval(subscription);\r\n }\r\n reloadIFrame(iframe);\r\n }, interval);\r\n return subscription;\r\n } else {\r\n if (subscription) {\r\n clearInterval(subscription);\r\n }\r\n }\r\n },\r\n unsubscribe: () => {\r\n if (subscription) {\r\n clearInterval(subscription);\r\n }\r\n },\r\n };\r\n};\r\n\r\nexport const iframeLoaded = (iframe: HTMLIFrameElement) => {\r\n // its #document <html><head></head><body></body></html> when google is returning a 204\r\n // so if contentDocument = null then it's loaded.\r\n let isLoaded = false;\r\n try {\r\n if (!internetExplorer()) {\r\n isLoaded = !iframe.contentDocument;\r\n } else {\r\n isLoaded = !iframe.contentWindow.document;\r\n }\r\n } catch {\r\n // ignore message Blocked a frame with origin \"http://...\" from accessing a cross-origin frame.\r\n }\r\n return isLoaded;\r\n}\r\n\r\nconst internetExplorer = () =>\r\n (/MSIE (\\d+\\.\\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf(\"Trident/\") > -1);\r\n\r\nexport const getViewerDetails = (\r\n url: string,\r\n configuredViewer: ViewerType = 'google',\r\n queryParams = '',\r\n viewerUrl = null\r\n) => {\r\n switch (configuredViewer) {\r\n case 'google':\r\n viewerUrl = `https://docs.google.com/gview?url=%URL%&embedded=true`;\r\n break;\r\n case 'office': {\r\n viewerUrl = `https://view.officeapps.live.com/op/embed.aspx?src=%URL%`;\r\n break;\r\n }\r\n case 'pdf': {\r\n viewerUrl = null;\r\n break;\r\n }\r\n }\r\n const externalViewer =\r\n configuredViewer === 'google' ||\r\n configuredViewer === 'office' ||\r\n configuredViewer === 'url';\r\n\r\n const u = url.indexOf('/') ? encodeURIComponent(url) : url;\r\n let fullUrl = viewerUrl ? viewerUrl.replace('%URL%', u) : url;\r\n if (queryParams && externalViewer && configuredViewer !== 'url') {\r\n const start = queryParams.startsWith('&') ? '' : '&';\r\n fullUrl = `${fullUrl}${start}${queryParams}`;\r\n }\r\n return {\r\n url: fullUrl,\r\n externalViewer,\r\n };\r\n};\r\n\r\nconst getBlobFromUrl = (url: string) => {\r\n return new Promise<File>((resolve, reject) => {\r\n let request = new XMLHttpRequest();\r\n request.open('GET', url, true);\r\n request.responseType = 'blob';\r\n request.onload = () => {\r\n resolve(request.response as File);\r\n };\r\n request.onerror = reject;\r\n request.send();\r\n })\r\n}\r\n\r\n\r\nexport const uploadToCloud = (fileUrl: string, api: string) => new Promise((resolve, reject) => {\r\n getBlobFromUrl(fileUrl).then(blob => {\r\n const loc = getLocation(fileUrl);\r\n const name = loc.pathname.split('/')[loc.pathname.split('/').length - 1];\r\n const formData = new FormData();\r\n const request = new XMLHttpRequest();\r\n formData.append('file', blob, name);\r\n request.onreadystatechange = e => {\r\n if (request.readyState === XMLHttpRequest.DONE) {\r\n if (request.status === 200) {\r\n resolve(request.responseText);\r\n } else {\r\n reject(request.responseText);\r\n }\r\n }\r\n };\r\n request.onerror = reject;\r\n request.open('post', api, true);\r\n request.send(formData);\r\n });\r\n});\r\n\r\nexport const isLocalFile = (file: string) => {\r\n const loc = getLocation(file);\r\n const hostname = loc.hostname;\r\n return (\r\n (['localhost', '127.0.0.1', '', '::1'].includes(hostname))\r\n || (hostname.startsWith('192.168.'))\r\n || (hostname.startsWith('10.0.'))\r\n || (hostname.endsWith('.local'))\r\n )\r\n};","import {\r\n Component,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n OnChanges,\r\n SimpleChanges,\r\n Output,\r\n ViewChildren,\r\n QueryList,\r\n ElementRef,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { EventEmitter } from '@angular/core';\r\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\r\nimport {\r\n getDocxToHtml,\r\n getLocation,\r\n getViewerDetails,\r\n googleCheckSubscription,\r\n iframeLoaded,\r\n isLocalFile\r\n} from './../../../helper';\r\nimport {\r\n IFrameReloader\r\n} from './../../../model';\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport type viewerType = 'google' | 'office' | 'mammoth' | 'pdf' | 'url';\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'ngx-doc-viewer',\r\n templateUrl: 'document-viewer.component.html',\r\n styles: [\r\n `\r\n :host {\r\n display: block;\r\n }\r\n .container {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n }\r\n .overlay-popout-google {\r\n width: 40px;\r\n height: 40px;\r\n right: 26px;\r\n top: 11.5px;\r\n position: absolute;\r\n z-index: 1000;\r\n }\r\n .overlay-popout-office {\r\n width: 100px;\r\n height: 20px;\r\n right: 0;\r\n bottom: 0;\r\n position: absolute;\r\n z-index: 1000;\r\n }\r\n .overlay-full {\r\n width: 100%;\r\n height: 100%;\r\n right: 0;\r\n top: 0;\r\n position: absolute;\r\n z-index: 1000;\r\n }\r\n iframe {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n `,\r\n ],\r\n})\r\nexport class NgxDocViewerComponent implements OnChanges, OnDestroy, AfterViewInit {\r\n @Output() loaded: EventEmitter<void> = new EventEmitter();\r\n @Input() url = '';\r\n @Input() queryParams = '';\r\n @Input() viewerUrl = '';\r\n @Input() googleCheckInterval = 3000;\r\n @Input() googleMaxChecks = 5;\r\n @Input() disableContent: 'none' | 'all' | 'popout' | 'popout-hide' = 'none';\r\n @Input() googleCheckContentLoaded = true;\r\n @Input() viewer: viewerType;\r\n @Input() overrideLocalhost: '';\r\n @ViewChildren('iframe') iframes: QueryList<ElementRef>;\r\n\r\n public fullUrl: SafeResourceUrl = null;\r\n public externalViewer = false;\r\n public docHtml = '';\r\n public configuredViewer: viewerType = 'google';\r\n private checkIFrameSubscription: IFrameReloader;\r\n private shouldCheckIframe = false;\r\n\r\n constructor(private domSanitizer: DomSanitizer, private ngZone: NgZone) { }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.shouldCheckIframe) {\r\n const iframe = this.iframes?.first\r\n ?.nativeElement as HTMLIFrameElement;\r\n if (iframe) {\r\n this.shouldCheckIframe = false;\r\n this.reloadIframe(iframe);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.checkIFrameSubscription) {\r\n this.checkIFrameSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n async ngOnChanges(changes: SimpleChanges): Promise<void> {\r\n if (\r\n changes &&\r\n changes.viewer &&\r\n (changes.viewer.isFirstChange ||\r\n changes.viewer.currentValue !== changes.viewer.previousValue)\r\n ) {\r\n if (\r\n this.viewer !== 'google' &&\r\n this.viewer !== 'office' &&\r\n this.viewer !== 'mammoth' &&\r\n this.viewer !== 'pdf' &&\r\n this.viewer !== 'url'\r\n ) {\r\n console.error(\r\n `Unsupported viewer: '${this.viewer}'. Supported viewers: google, office, mammoth and pdf`\r\n );\r\n }\r\n this.configuredViewer = this.viewer;\r\n }\r\n\r\n if (\r\n (changes.url && changes.url.currentValue !== changes.url.previousValue) ||\r\n (changes.viewer &&\r\n changes.viewer.currentValue !== changes.viewer.previousValue) ||\r\n (changes.viewerUrl &&\r\n changes.viewerUrl.currentValue !== changes.viewerUrl.previousValue)\r\n ) {\r\n let viewerDetails = getViewerDetails(\r\n this.url,\r\n this.configuredViewer,\r\n this.queryParams,\r\n this.viewerUrl\r\n );\r\n this.externalViewer = viewerDetails.externalViewer;\r\n if (viewerDetails.externalViewer && this.overrideLocalhost && isLocalFile(this.url)) {\r\n const loc = getLocation(this.url);\r\n const locReplace = getLocation(this.overrideLocalhost);\r\n this.url = this.url.replace(loc.port ? `${loc.hostname}:${loc.port}` : loc.hostname,\r\n locReplace.port ? `${locReplace.hostname}:${locReplace.port}` : locReplace.hostname);\r\n viewerDetails = getViewerDetails(\r\n this.url,\r\n this.configuredViewer,\r\n this.queryParams,\r\n this.viewerUrl\r\n );\r\n }\r\n this.docHtml = '';\r\n if (this.checkIFrameSubscription) {\r\n this.checkIFrameSubscription.unsubscribe();\r\n }\r\n if (!this.url) {\r\n this.fullUrl = null;\r\n } else if (\r\n viewerDetails.externalViewer ||\r\n this.configuredViewer === 'url'\r\n ) {\r\n this.fullUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(\r\n viewerDetails.url\r\n );\r\n // see:\r\n // https://stackoverflow.com/questions/40414039/google-docs-viewer-returning-204-responses-no-longer-working-alternatives\r\n // hack to reload iframe if it's not loaded.\r\n // would maybe be better to use view.officeapps.live.com but seems not to work with sas token.\r\n if (\r\n this.configuredViewer === 'google' &&\r\n this.googleCheckContentLoaded\r\n ) {\r\n this.ngZone.runOutsideAngular(() => {\r\n // if it's not loaded after the googleIntervalCheck, then open load again.\r\n const iframe = this.iframes?.first\r\n ?.nativeElement as HTMLIFrameElement;\r\n if (iframe) {\r\n this.reloadIframe(iframe);\r\n } else {\r\n this.shouldCheckIframe = true;\r\n }\r\n });\r\n }\r\n } else if (this.configuredViewer === 'mammoth') {\r\n this.docHtml = await getDocxToHtml(this.url);\r\n }\r\n }\r\n }\r\n\r\n private reloadIframe(iframe: HTMLIFrameElement) {\r\n this.checkIFrameSubscription = googleCheckSubscription();\r\n this.checkIFrameSubscription.subscribe(\r\n iframe,\r\n this.googleCheckInterval,\r\n this.googleMaxChecks\r\n );\r\n }\r\n\r\n iframeLoaded() {\r\n const iframe = this.iframes?.first\r\n ?.nativeElement as HTMLIFrameElement;\r\n if (iframe && iframeLoaded(iframe)) {\r\n this.loaded.emit(null);\r\n if (this.checkIFrameSubscription) {\r\n this.checkIFrameSubscription.unsubscribe();\r\n }\r\n }\r\n }\r\n}\r\n","import { NgxDocViewerComponent } from './document-viewer.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [NgxDocViewerComponent],\r\n exports: [NgxDocViewerComponent],\r\n})\r\nexport class NgxDocViewerModule {}\r\n","export type ViewerType = 'google' | 'office' | 'mammoth' | 'pdf' | 'url';\r\n\r\ninterface Props {\r\n loaded?: () => void;\r\n url: string;\r\n queryParams?: string;\r\n viewerUrl?: string;\r\n googleCheckInterval?: number;\r\n disableContent?: 'none' | 'all' | 'poput' | 'popout-hide';\r\n googleCheckContentLoaded?: boolean;\r\n viewer?: ViewerType;\r\n}\r\n\r\nexport interface IFrameReloader {\r\n subscribe: (\r\n iframe: HTMLIFrameElement,\r\n interval?: number,\r\n maxChecks?: number\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n ) => any;\r\n unsubscribe: () => void;\r\n}\r\n\r\nexport const defaultProps: Props = {\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n loaded: () => {},\r\n disableContent: 'none',\r\n googleCheckContentLoaded: true,\r\n googleCheckInterval: 3000,\r\n queryParams: '',\r\n url: '',\r\n viewer: 'google',\r\n viewerUrl: '',\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './ngx-doc-viewer-wrapper';\n"],"names":["EventEmitter","Component","DomSanitizer","NgZone","Output","Input","ViewChildren","NgModule","CommonModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-doc-viewer.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../libs/helper.ts","../../../../libs/ngx-doc-viewer/src/lib/document-viewer.component.ts","../../../../libs/ngx-doc-viewer/src/lib/document-viewer.module.ts","../../../../libs/model.ts","../../../../libs/ngx-doc-viewer.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// eslint-disable-next-line no-var\r\ndeclare var mammoth: any;\r\nimport { IFrameReloader, ViewerType } from './model';\r\n\r\nexport const fileToArray = (url: string): Promise<ArrayBuffer> => {\r\n return new Promise<ArrayBuffer>((resolve, reject) => {\r\n try {\r\n const request = new XMLHttpRequest();\r\n request.open('GET', url, true);\r\n request.responseType = 'blob';\r\n request.onload = () => {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(request.response);\r\n reader.onloadend = () => {\r\n resolve(reader.result as ArrayBuffer);\r\n };\r\n };\r\n request.send();\r\n } catch {\r\n reject(`error while retrieving file ${url}.`);\r\n }\r\n });\r\n};\r\n\r\nconst reloadIFrame = (iframe: HTMLIFrameElement) => {\r\n if (iframe) {\r\n console.log('reloading..');\r\n // eslint-disable-next-line no-self-assign\r\n iframe.src = iframe.src;\r\n }\r\n};\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport const handleFileUpload = (fileInput: any) => {\r\n return new Promise<string>((resolve, reject) => {\r\n if (fileInput.target.files && fileInput.target.files[0]) {\r\n const reader = new FileReader();\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n reader.onload = (e: any) => {\r\n resolve(e.target.result);\r\n };\r\n reader.readAsDataURL(fileInput.target.files[0]);\r\n } else {\r\n reject('no files selected');\r\n }\r\n });\r\n};\r\n\r\nexport const getbaseUrl = (): string => {\r\n const pathArray = window.location.href.split('/');\r\n const protocol = pathArray[0];\r\n const host = pathArray[2];\r\n return protocol + '//' + host;\r\n};\r\n\r\n\r\nexport const getLocation = (href: string) => {\r\n const match = href.match(/^(https?\\:)\\/\\/(([^:\\/?#]*)(?:\\:([0-9]+))?)([\\/]{0,1}[^?#]*)(\\?[^#]*|)(#.*|)$/);\r\n return match && {\r\n href,\r\n protocol: match[1],\r\n host: match[2],\r\n hostname: match[3],\r\n port: match[4],\r\n pathname: match[5],\r\n search: match[6],\r\n hash: match[7]\r\n }\r\n}\r\n\r\nexport const getDocxToHtml = async (url: string) => {\r\n if (!mammoth) {\r\n console.error(\r\n 'Please install mammoth and make sure mammoth.browser.min.js is loaded.'\r\n );\r\n }\r\n const arrayBuffer = await fileToArray(url);\r\n const resultObject = await mammoth.convertToHtml({ arrayBuffer });\r\n return resultObject.value;\r\n};\r\n\r\nexport const googleCheckSubscription = (): IFrameReloader => {\r\n let subscription: any = null;\r\n let checkCount = 0;\r\n return {\r\n subscribe: (iframe: HTMLIFrameElement, interval = 3000, maxChecks = 5) => {\r\n if (!iframeIsLoaded(iframe)) {\r\n subscription = setInterval(() => {\r\n checkCount++;\r\n if (checkCount >= maxChecks) {\r\n clearInterval(subscription);\r\n }\r\n reloadIFrame(iframe);\r\n }, interval);\r\n return subscription;\r\n } else {\r\n if (subscription) {\r\n clearInterval(subscription);\r\n }\r\n }\r\n },\r\n unsubscribe: () => {\r\n if (subscription) {\r\n clearInterval(subscription);\r\n }\r\n },\r\n };\r\n};\r\n\r\nexport const iframeIsLoaded = (iframe: HTMLIFrameElement) => {\r\n // its #document <html><head></head><body></body></html> when google is returning a 204\r\n // so if contentDocument = null then it's loaded.\r\n let isLoaded = false;\r\n try {\r\n if (!internetExplorer()) {\r\n isLoaded = !iframe?.contentDocument;\r\n } else {\r\n isLoaded = !iframe?.contentWindow?.document;\r\n }\r\n } catch {\r\n // ignore message Blocked a frame with origin \"http://...\" from accessing a cross-origin frame.\r\n }\r\n return isLoaded;\r\n}\r\n\r\nconst internetExplorer = () =>\r\n (/MSIE (\\d+\\.\\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf(\"Trident/\") > -1);\r\n\r\nexport const getViewerDetails = (\r\n url: string,\r\n configuredViewer: ViewerType = 'google',\r\n queryParams = '',\r\n viewerUrl = ''\r\n) => {\r\n switch (configuredViewer) {\r\n case 'google':\r\n viewerUrl = `https://docs.google.com/gview?url=%URL%&embedded=true`;\r\n break;\r\n case 'office': {\r\n viewerUrl = `https://view.officeapps.live.com/op/embed.aspx?src=%URL%`;\r\n break;\r\n }\r\n case 'pdf': {\r\n viewerUrl = '';\r\n break;\r\n }\r\n }\r\n const externalViewer =\r\n configuredViewer === 'google' ||\r\n configuredViewer === 'office' ||\r\n configuredViewer === 'url';\r\n\r\n const u = url?.indexOf('/') ? encodeURIComponent(url) : url;\r\n let fullUrl = viewerUrl ? viewerUrl.replace('%URL%', u) : url;\r\n if (queryParams && externalViewer && configuredViewer !== 'url') {\r\n const start = queryParams.startsWith('&') ? '' : '&';\r\n fullUrl = `${fullUrl}${start}${queryParams}`;\r\n }\r\n return {\r\n url: fullUrl,\r\n externalViewer,\r\n };\r\n};\r\n\r\nexport const replaceLocalUrl = (url: string, overrideLocalhost: string) => {\r\n const loc = getLocation(url);\r\n const locReplace = getLocation(overrideLocalhost);\r\n if (loc && locReplace) {\r\n return url.replace(loc.port ? `${loc.hostname}:${loc.port}` : loc.hostname,\r\n locReplace.port ? `${locReplace.hostname}:${locReplace.port}` : locReplace.hostname);\r\n }\r\n return url;\r\n}\r\n\r\nconst getBlobFromUrl = (url: string) => {\r\n return new Promise<File>((resolve, reject) => {\r\n let request = new XMLHttpRequest();\r\n request.open('GET', url, true);\r\n request.responseType = 'blob';\r\n request.onload = () => {\r\n resolve(request.response as File);\r\n };\r\n request.onerror = reject;\r\n request.send();\r\n })\r\n}\r\n\r\n\r\nexport const uploadToCloud = (fileUrl: string, api: string) => new Promise((resolve, reject) => {\r\n getBlobFromUrl(fileUrl).then(blob => {\r\n const loc = getLocation(fileUrl);\r\n const name = loc?.pathname ? loc?.pathname?.split('/')[loc?.pathname?.split('/').length - 1] : '';\r\n const formData = new FormData();\r\n const request = new XMLHttpRequest();\r\n formData.append('file', blob, name);\r\n request.onreadystatechange = e => {\r\n if (request.readyState === XMLHttpRequest.DONE) {\r\n if (request.status === 200) {\r\n resolve(request.responseText);\r\n } else {\r\n reject(request.responseText);\r\n }\r\n }\r\n };\r\n request.onerror = reject;\r\n request.open('post', api, true);\r\n request.send(formData);\r\n });\r\n});\r\n\r\nexport const isLocalFile = (file: string) => {\r\n const loc = getLocation(file);\r\n const hostname = loc?.hostname || '';\r\n return (\r\n (['localhost', '127.0.0.1', '', '::1'].includes(hostname))\r\n || (hostname.startsWith('192.168.'))\r\n || (hostname.startsWith('10.0.'))\r\n || (hostname.endsWith('.local'))\r\n )\r\n};","import {\r\n Component,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n OnChanges,\r\n SimpleChanges,\r\n Output,\r\n ViewChildren,\r\n QueryList,\r\n ElementRef,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { EventEmitter } from '@angular/core';\r\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\r\nimport {\r\n getDocxToHtml,\r\n getViewerDetails,\r\n googleCheckSubscription,\r\n iframeIsLoaded,\r\n isLocalFile,\r\n replaceLocalUrl\r\n} from './../../../helper';\r\nimport {\r\n IFrameReloader\r\n} from './../../../model';\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport type viewerType = 'google' | 'office' | 'mammoth' | 'pdf' | 'url';\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'ngx-doc-viewer',\r\n templateUrl: 'document-viewer.component.html',\r\n styles: [\r\n `\r\n :host {\r\n display: block;\r\n }\r\n .container {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n }\r\n .overlay-popout-google {\r\n width: 40px;\r\n height: 40px;\r\n right: 26px;\r\n top: 11.5px;\r\n position: absolute;\r\n z-index: 1000;\r\n }\r\n .overlay-popout-office {\r\n width: 100px;\r\n height: 20px;\r\n right: 0;\r\n bottom: 0;\r\n position: absolute;\r\n z-index: 1000;\r\n }\r\n .overlay-full {\r\n width: 100%;\r\n height: 100%;\r\n right: 0;\r\n top: 0;\r\n position: absolute;\r\n z-index: 1000;\r\n }\r\n iframe {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n `,\r\n ],\r\n})\r\nexport class NgxDocViewerComponent implements OnChanges, OnDestroy, AfterViewInit {\r\n @Output() loaded: EventEmitter<void> = new EventEmitter();\r\n @Input() url = '';\r\n @Input() queryParams = '';\r\n @Input() viewerUrl = '';\r\n @Input() googleCheckInterval = 3000;\r\n @Input() googleMaxChecks = 5;\r\n @Input() disableContent: 'none' | 'all' | 'popout' | 'popout-hide' = 'none';\r\n @Input() googleCheckContentLoaded = true;\r\n @Input() viewer: viewerType;\r\n @Input() overrideLocalhost: '';\r\n @ViewChildren('iframe') iframes: QueryList<ElementRef>;\r\n\r\n public fullUrl: SafeResourceUrl = null;\r\n public externalViewer = false;\r\n public docHtml = '';\r\n public configuredViewer: viewerType = 'google';\r\n private checkIFrameSubscription: IFrameReloader;\r\n private shouldCheckIframe = false;\r\n\r\n constructor(private domSanitizer: DomSanitizer, private ngZone: NgZone) { }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.shouldCheckIframe) {\r\n const iframe = this.iframes?.first\r\n ?.nativeElement as HTMLIFrameElement;\r\n if (iframe) {\r\n this.shouldCheckIframe = false;\r\n this.reloadIframe(iframe);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.checkIFrameSubscription) {\r\n this.checkIFrameSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n async ngOnChanges(changes: SimpleChanges): Promise<void> {\r\n if (\r\n changes &&\r\n changes.viewer &&\r\n (changes.viewer.isFirstChange ||\r\n changes.viewer.currentValue !== changes.viewer.previousValue)\r\n ) {\r\n if (\r\n this.viewer !== 'google' &&\r\n this.viewer !== 'office' &&\r\n this.viewer !== 'mammoth' &&\r\n this.viewer !== 'pdf' &&\r\n this.viewer !== 'url'\r\n ) {\r\n console.error(\r\n `Unsupported viewer: '${this.viewer}'. Supported viewers: google, office, mammoth and pdf`\r\n );\r\n }\r\n this.configuredViewer = this.viewer;\r\n }\r\n\r\n if (\r\n (changes.url && changes.url.currentValue !== changes.url.previousValue) ||\r\n (changes.viewer &&\r\n changes.viewer.currentValue !== changes.viewer.previousValue) ||\r\n (changes.viewerUrl &&\r\n changes.viewerUrl.currentValue !== changes.viewerUrl.previousValue)\r\n ) {\r\n let viewerDetails = getViewerDetails(\r\n this.url,\r\n this.configuredViewer,\r\n this.queryParams,\r\n this.viewerUrl\r\n );\r\n this.externalViewer = viewerDetails.externalViewer;\r\n if (viewerDetails.externalViewer && this.overrideLocalhost && isLocalFile(this.url)) {\r\n const newUrl = replaceLocalUrl(this.url, this.overrideLocalhost);\r\n viewerDetails = getViewerDetails(\r\n newUrl,\r\n this.configuredViewer,\r\n this.queryParams,\r\n this.viewerUrl\r\n );\r\n }\r\n this.docHtml = '';\r\n if (this.checkIFrameSubscription) {\r\n this.checkIFrameSubscription.unsubscribe();\r\n }\r\n if (!this.url) {\r\n this.fullUrl = null;\r\n } else if (\r\n viewerDetails.externalViewer ||\r\n this.configuredViewer === 'url'\r\n ) {\r\n this.fullUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(\r\n viewerDetails.url\r\n );\r\n // see:\r\n // https://stackoverflow.com/questions/40414039/google-docs-viewer-returning-204-responses-no-longer-working-alternatives\r\n // hack to reload iframe if it's not loaded.\r\n // would maybe be better to use view.officeapps.live.com but seems not to work with sas token.\r\n if (\r\n this.configuredViewer === 'google' &&\r\n this.googleCheckContentLoaded\r\n ) {\r\n this.ngZone.runOutsideAngular(() => {\r\n // if it's not loaded after the googleIntervalCheck, then open load again.\r\n const iframe = this.iframes?.first\r\n ?.nativeElement as HTMLIFrameElement;\r\n if (iframe) {\r\n this.reloadIframe(iframe);\r\n } else {\r\n this.shouldCheckIframe = true;\r\n }\r\n });\r\n }\r\n } else if (this.configuredViewer === 'mammoth') {\r\n this.docHtml = await getDocxToHtml(this.url);\r\n }\r\n }\r\n }\r\n\r\n private reloadIframe(iframe: HTMLIFrameElement) {\r\n this.checkIFrameSubscription = googleCheckSubscription();\r\n this.checkIFrameSubscription.subscribe(\r\n iframe,\r\n this.googleCheckInterval,\r\n this.googleMaxChecks\r\n );\r\n }\r\n\r\n iframeLoaded() {\r\n const iframe = this.iframes?.first\r\n ?.nativeElement as HTMLIFrameElement;\r\n if (iframe && iframeIsLoaded(iframe)) {\r\n this.loaded.emit(null);\r\n if (this.checkIFrameSubscription) {\r\n this.checkIFrameSubscription.unsubscribe();\r\n }\r\n }\r\n }\r\n}\r\n","import { NgxDocViewerComponent } from './document-viewer.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [NgxDocViewerComponent],\r\n exports: [NgxDocViewerComponent],\r\n})\r\nexport class NgxDocViewerModule {}\r\n","export type ViewerType = 'google' | 'office' | 'mammoth' | 'pdf' | 'url';\r\n\r\ninterface Props {\r\n loaded?: () => void;\r\n url: string;\r\n queryParams?: string;\r\n viewerUrl?: string;\r\n googleCheckInterval?: number;\r\n disableContent?: 'none' | 'all' | 'poput' | 'popout-hide';\r\n googleCheckContentLoaded?: boolean;\r\n viewer?: ViewerType;\r\n}\r\n\r\nexport interface IFrameReloader {\r\n subscribe: (\r\n iframe: HTMLIFrameElement,\r\n interval?: number,\r\n maxChecks?: number\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n ) => any;\r\n unsubscribe: () => void;\r\n}\r\n\r\nexport const defaultProps: Props = {\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n loaded: () => {},\r\n disableContent: 'none',\r\n googleCheckContentLoaded: true,\r\n googleCheckInterval: 3000,\r\n queryParams: '',\r\n url: '',\r\n viewer: 'google',\r\n viewerUrl: '',\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './ngx-doc-viewer-wrapper';\n"],"names":["EventEmitter","Component","DomSanitizer","NgZone","Output","Input","ViewChildren","NgModule","CommonModule"],"mappings":"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"}
|
package/esm2015/helper.js
CHANGED
|
@@ -75,7 +75,7 @@ export const googleCheckSubscription = () => {
|
|
|
75
75
|
let checkCount = 0;
|
|
76
76
|
return {
|
|
77
77
|
subscribe: (iframe, interval = 3000, maxChecks = 5) => {
|
|
78
|
-
if (!
|
|
78
|
+
if (!iframeIsLoaded(iframe)) {
|
|
79
79
|
subscription = setInterval(() => {
|
|
80
80
|
checkCount++;
|
|
81
81
|
if (checkCount >= maxChecks) {
|
|
@@ -98,26 +98,27 @@ export const googleCheckSubscription = () => {
|
|
|
98
98
|
},
|
|
99
99
|
};
|
|
100
100
|
};
|
|
101
|
-
export const
|
|
101
|
+
export const iframeIsLoaded = (iframe) => {
|
|
102
|
+
var _a;
|
|
102
103
|
// its #document <html><head></head><body></body></html> when google is returning a 204
|
|
103
104
|
// so if contentDocument = null then it's loaded.
|
|
104
105
|
let isLoaded = false;
|
|
105
106
|
try {
|
|
106
107
|
if (!internetExplorer()) {
|
|
107
|
-
isLoaded = !iframe.contentDocument;
|
|
108
|
+
isLoaded = !(iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument);
|
|
108
109
|
}
|
|
109
110
|
else {
|
|
110
|
-
isLoaded = !iframe.contentWindow.document;
|
|
111
|
+
isLoaded = !((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document);
|
|
111
112
|
}
|
|
112
113
|
}
|
|
113
|
-
catch (
|
|
114
|
+
catch (_b) {
|
|
114
115
|
// ignore message Blocked a frame with origin "http://..." from accessing a cross-origin frame.
|
|
115
116
|
}
|
|
116
117
|
return isLoaded;
|
|
117
118
|
};
|
|
118
119
|
const internetExplorer = () => (/MSIE (\d+\.\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf("Trident/") > -1);
|
|
119
120
|
const ɵ1 = internetExplorer;
|
|
120
|
-
export const getViewerDetails = (url, configuredViewer = 'google', queryParams = '', viewerUrl =
|
|
121
|
+
export const getViewerDetails = (url, configuredViewer = 'google', queryParams = '', viewerUrl = '') => {
|
|
121
122
|
switch (configuredViewer) {
|
|
122
123
|
case 'google':
|
|
123
124
|
viewerUrl = `https://docs.google.com/gview?url=%URL%&embedded=true`;
|
|
@@ -127,14 +128,14 @@ export const getViewerDetails = (url, configuredViewer = 'google', queryParams =
|
|
|
127
128
|
break;
|
|
128
129
|
}
|
|
129
130
|
case 'pdf': {
|
|
130
|
-
viewerUrl =
|
|
131
|
+
viewerUrl = '';
|
|
131
132
|
break;
|
|
132
133
|
}
|
|
133
134
|
}
|
|
134
135
|
const externalViewer = configuredViewer === 'google' ||
|
|
135
136
|
configuredViewer === 'office' ||
|
|
136
137
|
configuredViewer === 'url';
|
|
137
|
-
const u = url.indexOf('/') ? encodeURIComponent(url) : url;
|
|
138
|
+
const u = (url === null || url === void 0 ? void 0 : url.indexOf('/')) ? encodeURIComponent(url) : url;
|
|
138
139
|
let fullUrl = viewerUrl ? viewerUrl.replace('%URL%', u) : url;
|
|
139
140
|
if (queryParams && externalViewer && configuredViewer !== 'url') {
|
|
140
141
|
const start = queryParams.startsWith('&') ? '' : '&';
|
|
@@ -145,6 +146,14 @@ export const getViewerDetails = (url, configuredViewer = 'google', queryParams =
|
|
|
145
146
|
externalViewer,
|
|
146
147
|
};
|
|
147
148
|
};
|
|
149
|
+
export const replaceLocalUrl = (url, overrideLocalhost) => {
|
|
150
|
+
const loc = getLocation(url);
|
|
151
|
+
const locReplace = getLocation(overrideLocalhost);
|
|
152
|
+
if (loc && locReplace) {
|
|
153
|
+
return url.replace(loc.port ? `${loc.hostname}:${loc.port}` : loc.hostname, locReplace.port ? `${locReplace.hostname}:${locReplace.port}` : locReplace.hostname);
|
|
154
|
+
}
|
|
155
|
+
return url;
|
|
156
|
+
};
|
|
148
157
|
const getBlobFromUrl = (url) => {
|
|
149
158
|
return new Promise((resolve, reject) => {
|
|
150
159
|
let request = new XMLHttpRequest();
|
|
@@ -160,8 +169,9 @@ const getBlobFromUrl = (url) => {
|
|
|
160
169
|
const ɵ2 = getBlobFromUrl;
|
|
161
170
|
export const uploadToCloud = (fileUrl, api) => new Promise((resolve, reject) => {
|
|
162
171
|
getBlobFromUrl(fileUrl).then(blob => {
|
|
172
|
+
var _a, _b;
|
|
163
173
|
const loc = getLocation(fileUrl);
|
|
164
|
-
const name = loc.pathname.split('/')[loc.pathname.split('/').length - 1];
|
|
174
|
+
const name = (loc === null || loc === void 0 ? void 0 : loc.pathname) ? (_a = loc === null || loc === void 0 ? void 0 : loc.pathname) === null || _a === void 0 ? void 0 : _a.split('/')[((_b = loc === null || loc === void 0 ? void 0 : loc.pathname) === null || _b === void 0 ? void 0 : _b.split('/').length) - 1] : '';
|
|
165
175
|
const formData = new FormData();
|
|
166
176
|
const request = new XMLHttpRequest();
|
|
167
177
|
formData.append('file', blob, name);
|
|
@@ -182,7 +192,7 @@ export const uploadToCloud = (fileUrl, api) => new Promise((resolve, reject) =>
|
|
|
182
192
|
});
|
|
183
193
|
export const isLocalFile = (file) => {
|
|
184
194
|
const loc = getLocation(file);
|
|
185
|
-
const hostname = loc.hostname;
|
|
195
|
+
const hostname = (loc === null || loc === void 0 ? void 0 : loc.hostname) || '';
|
|
186
196
|
return ((['localhost', '127.0.0.1', '', '::1'].includes(hostname))
|
|
187
197
|
|| (hostname.startsWith('192.168.'))
|
|
188
198
|
|| (hostname.startsWith('10.0.'))
|
package/esm2015/helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../libs/helper.ts"],"names":[],"mappings":"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","sourcesContent":["// eslint-disable-next-line no-var\r\ndeclare var mammoth;\r\nimport { ViewerType } from './model';\r\n\r\nexport const fileToArray = (url: string): Promise<ArrayBuffer> => {\r\n return new Promise<ArrayBuffer>((resolve, reject) => {\r\n try {\r\n const request = new XMLHttpRequest();\r\n request.open('GET', url, true);\r\n request.responseType = 'blob';\r\n request.onload = () => {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(request.response);\r\n reader.onloadend = () => {\r\n resolve(reader.result as ArrayBuffer);\r\n };\r\n };\r\n request.send();\r\n } catch {\r\n reject(`error while retrieving file ${url}.`);\r\n }\r\n });\r\n};\r\n\r\nconst reloadIFrame = (iframe: HTMLIFrameElement) => {\r\n if (iframe) {\r\n console.log('reloading..');\r\n // eslint-disable-next-line no-self-assign\r\n iframe.src = iframe.src;\r\n }\r\n};\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport const handleFileUpload = (fileInput: any) => {\r\n return new Promise<string>((resolve, reject) => {\r\n if (fileInput.target.files && fileInput.target.files[0]) {\r\n const reader = new FileReader();\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n reader.onload = (e: any) => {\r\n resolve(e.target.result);\r\n };\r\n reader.readAsDataURL(fileInput.target.files[0]);\r\n } else {\r\n reject('no files selected');\r\n }\r\n });\r\n};\r\n\r\nexport const getbaseUrl = (): string => {\r\n const pathArray = window.location.href.split('/');\r\n const protocol = pathArray[0];\r\n const host = pathArray[2];\r\n return protocol + '//' + host;\r\n};\r\n\r\n\r\nexport const getLocation = (href: string) => {\r\n const match = href.match(/^(https?\\:)\\/\\/(([^:\\/?#]*)(?:\\:([0-9]+))?)([\\/]{0,1}[^?#]*)(\\?[^#]*|)(#.*|)$/);\r\n return match && {\r\n href,\r\n protocol: match[1],\r\n host: match[2],\r\n hostname: match[3],\r\n port: match[4],\r\n pathname: match[5],\r\n search: match[6],\r\n hash: match[7]\r\n }\r\n}\r\n\r\nexport const getDocxToHtml = async (url: string) => {\r\n if (!mammoth) {\r\n console.error(\r\n 'Please install mammoth and make sure mammoth.browser.min.js is loaded.'\r\n );\r\n }\r\n const arrayBuffer = await fileToArray(url);\r\n const resultObject = await mammoth.convertToHtml({ arrayBuffer });\r\n return resultObject.value;\r\n};\r\n\r\nexport const googleCheckSubscription = () => {\r\n let subscription = null;\r\n let checkCount = 0;\r\n return {\r\n subscribe: (iframe: HTMLIFrameElement, interval = 3000, maxChecks = 5) => {\r\n if (!iframeLoaded(iframe)) {\r\n subscription = setInterval(() => {\r\n checkCount++;\r\n if (checkCount >= maxChecks) {\r\n clearInterval(subscription);\r\n }\r\n reloadIFrame(iframe);\r\n }, interval);\r\n return subscription;\r\n } else {\r\n if (subscription) {\r\n clearInterval(subscription);\r\n }\r\n }\r\n },\r\n unsubscribe: () => {\r\n if (subscription) {\r\n clearInterval(subscription);\r\n }\r\n },\r\n };\r\n};\r\n\r\nexport const iframeLoaded = (iframe: HTMLIFrameElement) => {\r\n // its #document <html><head></head><body></body></html> when google is returning a 204\r\n // so if contentDocument = null then it's loaded.\r\n let isLoaded = false;\r\n try {\r\n if (!internetExplorer()) {\r\n isLoaded = !iframe.contentDocument;\r\n } else {\r\n isLoaded = !iframe.contentWindow.document;\r\n }\r\n } catch {\r\n // ignore message Blocked a frame with origin \"http://...\" from accessing a cross-origin frame.\r\n }\r\n return isLoaded;\r\n}\r\n\r\nconst internetExplorer = () =>\r\n (/MSIE (\\d+\\.\\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf(\"Trident/\") > -1);\r\n\r\nexport const getViewerDetails = (\r\n url: string,\r\n configuredViewer: ViewerType = 'google',\r\n queryParams = '',\r\n viewerUrl = null\r\n) => {\r\n switch (configuredViewer) {\r\n case 'google':\r\n viewerUrl = `https://docs.google.com/gview?url=%URL%&embedded=true`;\r\n break;\r\n case 'office': {\r\n viewerUrl = `https://view.officeapps.live.com/op/embed.aspx?src=%URL%`;\r\n break;\r\n }\r\n case 'pdf': {\r\n viewerUrl = null;\r\n break;\r\n }\r\n }\r\n const externalViewer =\r\n configuredViewer === 'google' ||\r\n configuredViewer === 'office' ||\r\n configuredViewer === 'url';\r\n\r\n const u = url.indexOf('/') ? encodeURIComponent(url) : url;\r\n let fullUrl = viewerUrl ? viewerUrl.replace('%URL%', u) : url;\r\n if (queryParams && externalViewer && configuredViewer !== 'url') {\r\n const start = queryParams.startsWith('&') ? '' : '&';\r\n fullUrl = `${fullUrl}${start}${queryParams}`;\r\n }\r\n return {\r\n url: fullUrl,\r\n externalViewer,\r\n };\r\n};\r\n\r\nconst getBlobFromUrl = (url: string) => {\r\n return new Promise<File>((resolve, reject) => {\r\n let request = new XMLHttpRequest();\r\n request.open('GET', url, true);\r\n request.responseType = 'blob';\r\n request.onload = () => {\r\n resolve(request.response as File);\r\n };\r\n request.onerror = reject;\r\n request.send();\r\n })\r\n}\r\n\r\n\r\nexport const uploadToCloud = (fileUrl: string, api: string) => new Promise((resolve, reject) => {\r\n getBlobFromUrl(fileUrl).then(blob => {\r\n const loc = getLocation(fileUrl);\r\n const name = loc.pathname.split('/')[loc.pathname.split('/').length - 1];\r\n const formData = new FormData();\r\n const request = new XMLHttpRequest();\r\n formData.append('file', blob, name);\r\n request.onreadystatechange = e => {\r\n if (request.readyState === XMLHttpRequest.DONE) {\r\n if (request.status === 200) {\r\n resolve(request.responseText);\r\n } else {\r\n reject(request.responseText);\r\n }\r\n }\r\n };\r\n request.onerror = reject;\r\n request.open('post', api, true);\r\n request.send(formData);\r\n });\r\n});\r\n\r\nexport const isLocalFile = (file: string) => {\r\n const loc = getLocation(file);\r\n const hostname = loc.hostname;\r\n return (\r\n (['localhost', '127.0.0.1', '', '::1'].includes(hostname))\r\n || (hostname.startsWith('192.168.'))\r\n || (hostname.startsWith('10.0.'))\r\n || (hostname.endsWith('.local'))\r\n )\r\n};"]}
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../libs/helper.ts"],"names":[],"mappings":"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","sourcesContent":["// eslint-disable-next-line no-var\r\ndeclare var mammoth: any;\r\nimport { IFrameReloader, ViewerType } from './model';\r\n\r\nexport const fileToArray = (url: string): Promise<ArrayBuffer> => {\r\n return new Promise<ArrayBuffer>((resolve, reject) => {\r\n try {\r\n const request = new XMLHttpRequest();\r\n request.open('GET', url, true);\r\n request.responseType = 'blob';\r\n request.onload = () => {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(request.response);\r\n reader.onloadend = () => {\r\n resolve(reader.result as ArrayBuffer);\r\n };\r\n };\r\n request.send();\r\n } catch {\r\n reject(`error while retrieving file ${url}.`);\r\n }\r\n });\r\n};\r\n\r\nconst reloadIFrame = (iframe: HTMLIFrameElement) => {\r\n if (iframe) {\r\n console.log('reloading..');\r\n // eslint-disable-next-line no-self-assign\r\n iframe.src = iframe.src;\r\n }\r\n};\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport const handleFileUpload = (fileInput: any) => {\r\n return new Promise<string>((resolve, reject) => {\r\n if (fileInput.target.files && fileInput.target.files[0]) {\r\n const reader = new FileReader();\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n reader.onload = (e: any) => {\r\n resolve(e.target.result);\r\n };\r\n reader.readAsDataURL(fileInput.target.files[0]);\r\n } else {\r\n reject('no files selected');\r\n }\r\n });\r\n};\r\n\r\nexport const getbaseUrl = (): string => {\r\n const pathArray = window.location.href.split('/');\r\n const protocol = pathArray[0];\r\n const host = pathArray[2];\r\n return protocol + '//' + host;\r\n};\r\n\r\n\r\nexport const getLocation = (href: string) => {\r\n const match = href.match(/^(https?\\:)\\/\\/(([^:\\/?#]*)(?:\\:([0-9]+))?)([\\/]{0,1}[^?#]*)(\\?[^#]*|)(#.*|)$/);\r\n return match && {\r\n href,\r\n protocol: match[1],\r\n host: match[2],\r\n hostname: match[3],\r\n port: match[4],\r\n pathname: match[5],\r\n search: match[6],\r\n hash: match[7]\r\n }\r\n}\r\n\r\nexport const getDocxToHtml = async (url: string) => {\r\n if (!mammoth) {\r\n console.error(\r\n 'Please install mammoth and make sure mammoth.browser.min.js is loaded.'\r\n );\r\n }\r\n const arrayBuffer = await fileToArray(url);\r\n const resultObject = await mammoth.convertToHtml({ arrayBuffer });\r\n return resultObject.value;\r\n};\r\n\r\nexport const googleCheckSubscription = (): IFrameReloader => {\r\n let subscription: any = null;\r\n let checkCount = 0;\r\n return {\r\n subscribe: (iframe: HTMLIFrameElement, interval = 3000, maxChecks = 5) => {\r\n if (!iframeIsLoaded(iframe)) {\r\n subscription = setInterval(() => {\r\n checkCount++;\r\n if (checkCount >= maxChecks) {\r\n clearInterval(subscription);\r\n }\r\n reloadIFrame(iframe);\r\n }, interval);\r\n return subscription;\r\n } else {\r\n if (subscription) {\r\n clearInterval(subscription);\r\n }\r\n }\r\n },\r\n unsubscribe: () => {\r\n if (subscription) {\r\n clearInterval(subscription);\r\n }\r\n },\r\n };\r\n};\r\n\r\nexport const iframeIsLoaded = (iframe: HTMLIFrameElement) => {\r\n // its #document <html><head></head><body></body></html> when google is returning a 204\r\n // so if contentDocument = null then it's loaded.\r\n let isLoaded = false;\r\n try {\r\n if (!internetExplorer()) {\r\n isLoaded = !iframe?.contentDocument;\r\n } else {\r\n isLoaded = !iframe?.contentWindow?.document;\r\n }\r\n } catch {\r\n // ignore message Blocked a frame with origin \"http://...\" from accessing a cross-origin frame.\r\n }\r\n return isLoaded;\r\n}\r\n\r\nconst internetExplorer = () =>\r\n (/MSIE (\\d+\\.\\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf(\"Trident/\") > -1);\r\n\r\nexport const getViewerDetails = (\r\n url: string,\r\n configuredViewer: ViewerType = 'google',\r\n queryParams = '',\r\n viewerUrl = ''\r\n) => {\r\n switch (configuredViewer) {\r\n case 'google':\r\n viewerUrl = `https://docs.google.com/gview?url=%URL%&embedded=true`;\r\n break;\r\n case 'office': {\r\n viewerUrl = `https://view.officeapps.live.com/op/embed.aspx?src=%URL%`;\r\n break;\r\n }\r\n case 'pdf': {\r\n viewerUrl = '';\r\n break;\r\n }\r\n }\r\n const externalViewer =\r\n configuredViewer === 'google' ||\r\n configuredViewer === 'office' ||\r\n configuredViewer === 'url';\r\n\r\n const u = url?.indexOf('/') ? encodeURIComponent(url) : url;\r\n let fullUrl = viewerUrl ? viewerUrl.replace('%URL%', u) : url;\r\n if (queryParams && externalViewer && configuredViewer !== 'url') {\r\n const start = queryParams.startsWith('&') ? '' : '&';\r\n fullUrl = `${fullUrl}${start}${queryParams}`;\r\n }\r\n return {\r\n url: fullUrl,\r\n externalViewer,\r\n };\r\n};\r\n\r\nexport const replaceLocalUrl = (url: string, overrideLocalhost: string) => {\r\n const loc = getLocation(url);\r\n const locReplace = getLocation(overrideLocalhost);\r\n if (loc && locReplace) {\r\n return url.replace(loc.port ? `${loc.hostname}:${loc.port}` : loc.hostname,\r\n locReplace.port ? `${locReplace.hostname}:${locReplace.port}` : locReplace.hostname);\r\n }\r\n return url;\r\n}\r\n\r\nconst getBlobFromUrl = (url: string) => {\r\n return new Promise<File>((resolve, reject) => {\r\n let request = new XMLHttpRequest();\r\n request.open('GET', url, true);\r\n request.responseType = 'blob';\r\n request.onload = () => {\r\n resolve(request.response as File);\r\n };\r\n request.onerror = reject;\r\n request.send();\r\n })\r\n}\r\n\r\n\r\nexport const uploadToCloud = (fileUrl: string, api: string) => new Promise((resolve, reject) => {\r\n getBlobFromUrl(fileUrl).then(blob => {\r\n const loc = getLocation(fileUrl);\r\n const name = loc?.pathname ? loc?.pathname?.split('/')[loc?.pathname?.split('/').length - 1] : '';\r\n const formData = new FormData();\r\n const request = new XMLHttpRequest();\r\n formData.append('file', blob, name);\r\n request.onreadystatechange = e => {\r\n if (request.readyState === XMLHttpRequest.DONE) {\r\n if (request.status === 200) {\r\n resolve(request.responseText);\r\n } else {\r\n reject(request.responseText);\r\n }\r\n }\r\n };\r\n request.onerror = reject;\r\n request.open('post', api, true);\r\n request.send(formData);\r\n });\r\n});\r\n\r\nexport const isLocalFile = (file: string) => {\r\n const loc = getLocation(file);\r\n const hostname = loc?.hostname || '';\r\n return (\r\n (['localhost', '127.0.0.1', '', '::1'].includes(hostname))\r\n || (hostname.startsWith('192.168.'))\r\n || (hostname.startsWith('10.0.'))\r\n || (hostname.endsWith('.local'))\r\n )\r\n};"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"fileToArray":{"__symbolic":"error","message":"Lambda not supported","line":4,"character":27},"ɵ0":{"__symbolic":"error","message":"Lambda not supported","line":24,"character":21},"handleFileUpload":{"__symbolic":"error","message":"Lambda not supported","line":33,"character":32},"getbaseUrl":{"__symbolic":"error","message":"Lambda not supported","line":48,"character":26},"getLocation":{"__symbolic":"error","message":"Lambda not supported","line":56,"character":27},"getDocxToHtml":{"__symbolic":"error","message":"Lambda not supported","line":70,"character":29},"googleCheckSubscription":{"__symbolic":"error","message":"Lambda not supported","line":81,"character":39},"
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"fileToArray":{"__symbolic":"error","message":"Lambda not supported","line":4,"character":27},"ɵ0":{"__symbolic":"error","message":"Lambda not supported","line":24,"character":21},"handleFileUpload":{"__symbolic":"error","message":"Lambda not supported","line":33,"character":32},"getbaseUrl":{"__symbolic":"error","message":"Lambda not supported","line":48,"character":26},"getLocation":{"__symbolic":"error","message":"Lambda not supported","line":56,"character":27},"getDocxToHtml":{"__symbolic":"error","message":"Lambda not supported","line":70,"character":29},"googleCheckSubscription":{"__symbolic":"error","message":"Lambda not supported","line":81,"character":39},"iframeIsLoaded":{"__symbolic":"error","message":"Lambda not supported","line":109,"character":30},"ɵ1":{"__symbolic":"error","message":"Lambda not supported","line":125,"character":25},"getViewerDetails":{"__symbolic":"error","message":"Lambda not supported","line":128,"character":32},"replaceLocalUrl":{"__symbolic":"error","message":"Lambda not supported","line":164,"character":31},"ɵ2":{"__symbolic":"error","message":"Lambda not supported","line":174,"character":23},"uploadToCloud":{"__symbolic":"error","message":"Lambda not supported","line":188,"character":29},"isLocalFile":{"__symbolic":"error","message":"Lambda not supported","line":210,"character":27}}}]
|