@colijnit/sharedcomponents 1.0.10 → 1.0.11
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/bundles/colijnit-sharedcomponents.umd.js +9 -16
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/esm2015/lib/components/docsign/docsign.component.js +7 -5
- package/fesm2015/colijnit-sharedcomponents.js +6 -4
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/package.json +12 -6
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
var pdfjsWorker__default = /*#__PURE__*/_interopDefaultLegacy(pdfjsWorker);
|
|
29
29
|
var SignaturePad__default = /*#__PURE__*/_interopDefaultLegacy(SignaturePad);
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
/*! *****************************************************************************
|
|
32
32
|
Copyright (c) Microsoft Corporation.
|
|
33
33
|
|
|
34
34
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -190,11 +190,7 @@
|
|
|
190
190
|
var __createBinding = Object.create ? (function (o, m, k, k2) {
|
|
191
191
|
if (k2 === undefined)
|
|
192
192
|
k2 = k;
|
|
193
|
-
|
|
194
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
195
|
-
desc = { enumerable: true, get: function () { return m[k]; } };
|
|
196
|
-
}
|
|
197
|
-
Object.defineProperty(o, k2, desc);
|
|
193
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
|
|
198
194
|
}) : (function (o, m, k, k2) {
|
|
199
195
|
if (k2 === undefined)
|
|
200
196
|
k2 = k;
|
|
@@ -348,11 +344,6 @@
|
|
|
348
344
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
349
345
|
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
350
346
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
351
|
-
}
|
|
352
|
-
function __classPrivateFieldIn(state, receiver) {
|
|
353
|
-
if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
|
|
354
|
-
throw new TypeError("Cannot use 'in' operator on non-object");
|
|
355
|
-
return typeof state === "function" ? receiver === state : state.has(receiver);
|
|
356
347
|
}
|
|
357
348
|
|
|
358
349
|
var DocsignComponent = /** @class */ (function () {
|
|
@@ -488,7 +479,7 @@
|
|
|
488
479
|
};
|
|
489
480
|
DocsignComponent.prototype._checkSignatures = function () {
|
|
490
481
|
return __awaiter(this, void 0, void 0, function () {
|
|
491
|
-
var pdfWorkerSrc, pdfReader, numPages, i, page, text;
|
|
482
|
+
var pdfWorkerSrc, pdfReader, numPages, i, page, text, tempPosition, tempPosition;
|
|
492
483
|
return __generator(this, function (_a) {
|
|
493
484
|
switch (_a.label) {
|
|
494
485
|
case 0:
|
|
@@ -517,15 +508,17 @@
|
|
|
517
508
|
text = _a.sent();
|
|
518
509
|
page.cleanup();
|
|
519
510
|
if (this.firstSignatureField) {
|
|
520
|
-
|
|
521
|
-
if (
|
|
511
|
+
tempPosition = this._getPositionSignature(text, this.firstSignatureField);
|
|
512
|
+
if (tempPosition.width > 0 && tempPosition.height > 0) {
|
|
513
|
+
this.sigBuyerPosition = tempPosition;
|
|
522
514
|
this.sigBuyerPosition.page = i;
|
|
523
515
|
this.showSigBuyer = true;
|
|
524
516
|
}
|
|
525
517
|
}
|
|
526
518
|
if (this.secondSignatureField) {
|
|
527
|
-
|
|
528
|
-
if (
|
|
519
|
+
tempPosition = this._getPositionSignature(text, this.secondSignatureField);
|
|
520
|
+
if (tempPosition.width > 0 && tempPosition.height > 0) {
|
|
521
|
+
this.sigSellerPosition = tempPosition;
|
|
529
522
|
this.sigSellerPosition.page = i;
|
|
530
523
|
this.showSigSeller = true;
|
|
531
524
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colijnit-sharedcomponents.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts","../../../projects/sharedcomponents/src/public-api.ts","../../../projects/sharedcomponents/src/colijnit-sharedcomponents.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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {PDFDocument} from \"pdf-lib\";\r\nimport * as PDFJS from \"pdfjs-dist/legacy/build/pdf\";\r\nimport pdfjsWorker from \"pdfjs-dist/build/pdf.worker.entry\";\r\nimport {TextItem} from \"pdfjs-dist/types/src/display/api\";\r\n\r\nexport interface TextDimension {\r\n x: number,\r\n y: number,\r\n width: number,\r\n height: number,\r\n page: number\r\n}\r\n\r\n@Component({\r\n selector: \"ione-docsign\",\r\n template: `\r\n <iframe #iframe></iframe>\r\n <ione-signatures *ngIf=\"showSignatures\" @showHideSignature\r\n [showFirstSignature]=\"showSigBuyer\"\r\n [firstSignatureTitle]=\"firstSignatureLabel\"\r\n [showSecondSignature]=\"showSigSeller\"\r\n [secondSignatureTitle]=\"secondSignatureLabel\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (saveFirstSignature)=\"saveFirstSignature($event)\"\r\n (saveSecondSignature)=\"saveSecondSignature($event)\"\r\n ></ione-signatures>\r\n <input type=\"button\" *ngIf=\"(showSigBuyer || showSigSeller) && !showSignatures\" class=\"button button-sign-document\"\r\n [value]=\"signDocumentButtonLabel\"\r\n (click)=\"showSignatures = true\"\r\n />\r\n <input type=\"button\" class=\"button button-cancel\"\r\n [value]=\"cancelButtonLabel\"\r\n (click)=\"cancelClick.emit($event)\"\r\n />\r\n `,\r\n animations: [\r\n trigger(\"showHideSignature\", [\r\n state(\"void\", style({transform: \"translate(-50%, -50%) scale(0)\"})),\r\n state(\"*\", style({transform: \"translate(-50%, -50%) scale(1)\"})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\")),\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DocsignComponent {\r\n @ViewChild(\"iframe\", { read: ElementRef })\r\n public iframe: ElementRef;\r\n\r\n /**\r\n * Load an existing [[PDFDocument]]. The input data can be provided in\r\n * multiple formats:\r\n *\r\n * | Type | Contents |\r\n * | ------------- | ------------------------------------------------------ |\r\n * | `string` | A base64 encoded string (or data URI) containing a PDF |\r\n * | `Uint8Array` | The raw bytes of a PDF |\r\n * | `ArrayBuffer` | The raw bytes of a PDF |\r\n *\r\n * For example:\r\n * ```js\r\n * import { PDFDocument } from 'pdf-lib'\r\n *\r\n * // pdf=string\r\n * const base64 =\r\n * 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbm' +\r\n * 'd0aCAxMDQKPj4Kc3RyZWFtCniccwrhMlAAwaJ0Ln2P1Jyy1JLM5ERdc0MjCwUjE4WQNC4Q' +\r\n * '6cNlCFZkqGCqYGSqEJLLZWNuYGZiZmbkYuZsZmlmZGRgZmluDCQNzc3NTM2NzdzMXMxMjQ' +\r\n * 'ztFEKyuEK0uFxDuAAOERdVCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKPDwKL0ZpbHRl' +\r\n * 'ciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA0Ci9GaXJzdCAyMAovTGVuZ3RoID' +\r\n * 'IxNQo+PgpzdHJlYW0KeJxVj9GqwjAMhu/zFHkBzTo3nCCCiiKIHPEICuJF3cKoSCu2E8/b' +\r\n * '20wPIr1p8v9/8kVhgilmGfawX2CGaVrgcAi0/bsy0lrX7IGWpvJ4iJYEN3gEmrrGBlQwGs' +\r\n * 'HHO9VBX1wNrxAqMX87RBD5xpJuddqwd82tjAHxzV1U5LPgy52DKXWnr1Lheg+j/c/pzGVr' +\r\n * 'iqV0VlwZPXGPCJjElw/ybkwUmeoWgxesDXGhHJC/D/iikp1Av80ptKU0FdBEe25pPihAM1' +\r\n * 'u6ytgaaWfs2Hrz35CJT1+EWmAKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAovU2l6' +\r\n * 'ZSA4Ci9Sb290IDIgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW' +\r\n * '5ndGggMzgKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOCBdCj4+CnN0cmVhbQp4nBXEwREA' +\r\n * 'EBAEsCwz3vrvRmOOyyOoGhZdutHN2MT55fIAVocD+AplbmRzdHJlYW0KZW5kb2JqCgpzdG' +\r\n * 'FydHhyZWYKNTEwCiUlRU9G'\r\n *\r\n * const dataUri = 'data:application/pdf;base64,' + base64\r\n *\r\n * const pdfDoc1 = await PDFDocument.load(base64)\r\n * const pdfDoc2 = await PDFDocument.load(dataUri)\r\n *\r\n * // pdf=Uint8Array\r\n * import fs from 'fs'\r\n * const uint8Array = fs.readFileSync('with_update_sections.pdf')\r\n * const pdfDoc3 = await PDFDocument.load(uint8Array)\r\n *\r\n * // pdf=ArrayBuffer\r\n * const url = 'https://pdf-lib.js.org/assets/with_update_sections.pdf'\r\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\r\n * const pdfDoc4 = await PDFDocument.load(arrayBuffer)\r\n *\r\n * ```\r\n *\r\n * @param pdf The input data containing a PDF document.\r\n * @param options The options to be used when loading the document.\r\n * @returns Resolves with a document loaded from the input.\r\n */\r\n @Input()\r\n public set pdf(value: any) {\r\n if (value) {\r\n this._pdf = value;\r\n this._openPDF();\r\n }\r\n }\r\n\r\n public get pdf(): any {\r\n return this._pdf;\r\n }\r\n\r\n @Input()\r\n public firstSignatureLabel: string;\r\n\r\n @Input()\r\n public firstSignatureField: string;\r\n\r\n @Input()\r\n public secondSignatureLabel: string;\r\n\r\n @Input()\r\n public secondSignatureField: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Input()\r\n public signDocumentButtonLabel: string = 'SIGN_DOCUMENT';\r\n\r\n @Input()\r\n public cancelButtonLabel: string = 'CANCEL';\r\n\r\n @Output()\r\n public pdfSaved: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding('class.ione-docsign')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showSignaturePopup: boolean = false;\r\n public showSigBuyer: boolean = false;\r\n public sigBuyerPosition: TextDimension;\r\n public showSigSeller: boolean = false;\r\n public sigSellerPosition: TextDimension;\r\n public showSignatures: boolean = false;\r\n\r\n public pdfDoc: PDFDocument;\r\n\r\n private _pdf: any;\r\n\r\n public saveFirstSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigBuyerPosition);\r\n this.showSigBuyer = false;\r\n this._savePdf();\r\n }\r\n\r\n public saveSecondSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigSellerPosition);\r\n this.showSigSeller = false;\r\n this._savePdf();\r\n }\r\n\r\n private async _openPDF(): Promise<void> {\r\n // first create reader to check signatures\r\n this._checkSignatures();\r\n\r\n this.pdfDoc = await PDFDocument.load(this._pdf, {\r\n updateMetadata: false\r\n });\r\n const pdfDataUri = await this.pdfDoc.saveAsBase64({ dataUri: true });\r\n this.iframe.nativeElement.src = pdfDataUri;\r\n }\r\n\r\n private async _savePdf(): Promise<void> {\r\n if (!this.showSigBuyer && !this.showSigSeller) {\r\n // ready, save the pdf and emit result\r\n const result = await this.pdfDoc.saveAsBase64();\r\n this.pdfSaved.next(result);\r\n }\r\n }\r\n\r\n private async _checkSignatures(): Promise<void> {\r\n let pdfWorkerSrc;\r\n if (window.hasOwnProperty('pdfWorkerSrc') &&\r\n typeof (window as any).pdfWorkerSrc === 'string' &&\r\n (window as any).pdfWorkerSrc) {\r\n pdfWorkerSrc = (window as any).pdfWorkerSrc;\r\n }\r\n else {\r\n pdfWorkerSrc = pdfjsWorker;\r\n }\r\n PDFJS.GlobalWorkerOptions.workerSrc = pdfWorkerSrc;\r\n const pdfReader = await PDFJS.getDocument(this._pdf).promise;\r\n const numPages = pdfReader.numPages;\r\n for (let i = 0; i < numPages; i++) {\r\n const page = await pdfReader.getPage(i + 1);\r\n const text = await page.getTextContent();\r\n page.cleanup();\r\n if (this.firstSignatureField) {\r\n this.sigBuyerPosition = this._getPositionSignature(text, this.firstSignatureField);\r\n if (this.sigBuyerPosition.width > 0 && this.sigBuyerPosition.height > 0) {\r\n this.sigBuyerPosition.page = i;\r\n this.showSigBuyer = true;\r\n }\r\n }\r\n if (this.secondSignatureField) {\r\n this.sigSellerPosition = this._getPositionSignature(text, this.secondSignatureField);\r\n if (this.sigSellerPosition.width > 0 && this.sigSellerPosition.height > 0) {\r\n this.sigSellerPosition.page = i;\r\n this.showSigSeller = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _getPositionSignature(textItem: any, signatureField: string): TextDimension {\r\n const sigItem: TextItem = <TextItem>textItem.items.find((i: any) => i.str.toLowerCase() === signatureField.toLowerCase());\r\n if (sigItem) {\r\n textItem.items.slice(textItem.items.indexOf(sigItem), 1);\r\n return {\r\n x: sigItem.transform[4],\r\n y: sigItem.transform[5],\r\n width: sigItem.width,\r\n height: sigItem.height,\r\n page: 0\r\n };\r\n }\r\n return {x: 0, y: 0, width: 0, height: 0, page: 0}\r\n }\r\n\r\n private async _saveSignature(sig: string, dimensions: TextDimension): Promise<void> {\r\n const jpgImage = await this.pdfDoc.embedPng(sig);\r\n const page = await this.pdfDoc.getPage(dimensions.page);\r\n page.drawImage(jpgImage, {\r\n x: ((dimensions.x + (dimensions.width / 2)) - (200 / 2)),\r\n y: ((dimensions.y + (dimensions.height / 2)) - (100 / 2)),\r\n width: 200,\r\n height: 100\r\n });\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport SignaturePad from \"signature_pad\";\r\n\r\n@Component({\r\n selector: \"ione-signature\",\r\n template: `\r\n <div class=\"signature-wrapper\">\r\n <div class=\"signature-header\">\r\n <span *ngIf=\"title\" class=\"title\" [textContent]=\"title\"></span>\r\n <div class=\"button-wrapper\">\r\n <input type=\"button\" (click)=\"handleSave($event)\" [value]=\"saveButtonLabel\"/>\r\n <input type=\"button\" (click)=\"handleClear($event)\" [value]=\"clearButtonLabel\">\r\n </div>\r\n </div>\r\n <div class=\"canvas\">\r\n <canvas #signature></canvas>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignatureComponent {\r\n @ViewChild(\"signature\", {read: ElementRef}) set content(content: ElementRef) {\r\n if (content) {\r\n this.signatureCanvas = content;\r\n this._initCanvas();\r\n }\r\n }\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public save: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.ione-signature\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public signature: SignaturePad;\r\n public signatureCanvas: ElementRef;\r\n\r\n public handleSave(event: MouseEvent): void {\r\n // save canvas as svg\r\n // const sig: string = this.signature.toDataURL(\"image/svg+xml\");\r\n const sig: string = this.signature.toDataURL(\"image/png\");\r\n // emit signature string\r\n this.save.next(sig);\r\n }\r\n\r\n public handleClear(event: MouseEvent): void {\r\n if (this.signature) {\r\n this.signature.clear();\r\n }\r\n }\r\n\r\n private _initCanvas(): void {\r\n if (this.signatureCanvas && this.signatureCanvas.nativeElement) {\r\n this.signature = new SignaturePad(this.signatureCanvas.nativeElement);\r\n setTimeout(() => {\r\n this._resizeSignatureCanvas(this.signature, this.signatureCanvas);\r\n });\r\n }\r\n }\r\n\r\n private _resizeSignatureCanvas(signature: SignaturePad, signatureCanvas: ElementRef): void {\r\n const imageBeforeResize: string = signature.toDataURL();\r\n const ratio: number = Math.max(window.devicePixelRatio || 1, 1);\r\n signatureCanvas.nativeElement.width = signatureCanvas.nativeElement.offsetWidth * ratio;\r\n signatureCanvas.nativeElement.height = signatureCanvas.nativeElement.offsetHeight * ratio;\r\n signatureCanvas.nativeElement.getContext(\"2d\").scale(ratio, ratio);\r\n signature.fromDataURL(imageBeforeResize);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"ione-signatures\",\r\n template: `\r\n <ione-signature *ngIf=\"showFirstSignature\"\r\n [title]=\"firstSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveFirstSignature.emit($event)\"></ione-signature>\r\n <ione-signature *ngIf=\"showSecondSignature\"\r\n [title]=\"secondSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveSecondSignature.emit($event)\"></ione-signature>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignaturesComponent {\r\n\r\n @Input()\r\n public showFirstSignature: boolean = false;\r\n\r\n @Input()\r\n public firstSignatureTitle: string;\r\n\r\n @Input()\r\n public showSecondSignature: boolean = false;\r\n\r\n @Input()\r\n public secondSignatureTitle: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public saveFirstSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public saveSecondSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.ione-signatures\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DocsignComponent} from \"./docsign.component\";\r\nimport {SignatureComponent} from \"./component/signature/signature.component\";\r\nimport {SignaturesComponent} from \"./component/signatures/signatures.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n DocsignComponent,\r\n SignatureComponent,\r\n SignaturesComponent\r\n ],\r\n exports: [\r\n DocsignComponent\r\n ]\r\n})\r\nexport class DocsignModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of sharedcomponents\r\n */\r\n\r\nexport * from './lib/components/docsign/docsign.component';\r\nexport * from './lib/components/docsign/docsign.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {SignatureComponent as ɵa} from './lib/components/docsign/component/signature/signature.component';\nexport {SignaturesComponent as ɵb} from './lib/components/docsign/component/signatures/signatures.component';"],"names":["EventEmitter","PDFDocument","pdfjsWorker","PDFJS","Component","trigger","state","style","transition","animate","ViewEncapsulation","ViewChild","ElementRef","Input","Output","HostBinding","SignaturePad","NgModule","CommonModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"colijnit-sharedcomponents.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts","../../../projects/sharedcomponents/src/public-api.ts","../../../projects/sharedcomponents/src/colijnit-sharedcomponents.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, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {PDFDocument} from \"pdf-lib\";\r\nimport * as PDFJS from \"pdfjs-dist/legacy/build/pdf\";\r\nimport pdfjsWorker from \"pdfjs-dist/build/pdf.worker.entry\";\r\nimport {TextItem} from \"pdfjs-dist/types/src/display/api\";\r\n\r\nexport interface TextDimension {\r\n x: number,\r\n y: number,\r\n width: number,\r\n height: number,\r\n page: number\r\n}\r\n\r\n@Component({\r\n selector: \"ione-docsign\",\r\n template: `\r\n <iframe #iframe></iframe>\r\n <ione-signatures *ngIf=\"showSignatures\" @showHideSignature\r\n [showFirstSignature]=\"showSigBuyer\"\r\n [firstSignatureTitle]=\"firstSignatureLabel\"\r\n [showSecondSignature]=\"showSigSeller\"\r\n [secondSignatureTitle]=\"secondSignatureLabel\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (saveFirstSignature)=\"saveFirstSignature($event)\"\r\n (saveSecondSignature)=\"saveSecondSignature($event)\"\r\n ></ione-signatures>\r\n <input type=\"button\" *ngIf=\"(showSigBuyer || showSigSeller) && !showSignatures\" class=\"button button-sign-document\"\r\n [value]=\"signDocumentButtonLabel\"\r\n (click)=\"showSignatures = true\"\r\n />\r\n <input type=\"button\" class=\"button button-cancel\"\r\n [value]=\"cancelButtonLabel\"\r\n (click)=\"cancelClick.emit($event)\"\r\n />\r\n `,\r\n animations: [\r\n trigger(\"showHideSignature\", [\r\n state(\"void\", style({transform: \"translate(-50%, -50%) scale(0)\"})),\r\n state(\"*\", style({transform: \"translate(-50%, -50%) scale(1)\"})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\")),\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DocsignComponent {\r\n @ViewChild(\"iframe\", { read: ElementRef })\r\n public iframe: ElementRef;\r\n\r\n /**\r\n * Load an existing [[PDFDocument]]. The input data can be provided in\r\n * multiple formats:\r\n *\r\n * | Type | Contents |\r\n * | ------------- | ------------------------------------------------------ |\r\n * | `string` | A base64 encoded string (or data URI) containing a PDF |\r\n * | `Uint8Array` | The raw bytes of a PDF |\r\n * | `ArrayBuffer` | The raw bytes of a PDF |\r\n *\r\n * For example:\r\n * ```js\r\n * import { PDFDocument } from 'pdf-lib'\r\n *\r\n * // pdf=string\r\n * const base64 =\r\n * 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbm' +\r\n * 'd0aCAxMDQKPj4Kc3RyZWFtCniccwrhMlAAwaJ0Ln2P1Jyy1JLM5ERdc0MjCwUjE4WQNC4Q' +\r\n * '6cNlCFZkqGCqYGSqEJLLZWNuYGZiZmbkYuZsZmlmZGRgZmluDCQNzc3NTM2NzdzMXMxMjQ' +\r\n * 'ztFEKyuEK0uFxDuAAOERdVCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKPDwKL0ZpbHRl' +\r\n * 'ciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA0Ci9GaXJzdCAyMAovTGVuZ3RoID' +\r\n * 'IxNQo+PgpzdHJlYW0KeJxVj9GqwjAMhu/zFHkBzTo3nCCCiiKIHPEICuJF3cKoSCu2E8/b' +\r\n * '20wPIr1p8v9/8kVhgilmGfawX2CGaVrgcAi0/bsy0lrX7IGWpvJ4iJYEN3gEmrrGBlQwGs' +\r\n * 'HHO9VBX1wNrxAqMX87RBD5xpJuddqwd82tjAHxzV1U5LPgy52DKXWnr1Lheg+j/c/pzGVr' +\r\n * 'iqV0VlwZPXGPCJjElw/ybkwUmeoWgxesDXGhHJC/D/iikp1Av80ptKU0FdBEe25pPihAM1' +\r\n * 'u6ytgaaWfs2Hrz35CJT1+EWmAKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAovU2l6' +\r\n * 'ZSA4Ci9Sb290IDIgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW' +\r\n * '5ndGggMzgKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOCBdCj4+CnN0cmVhbQp4nBXEwREA' +\r\n * 'EBAEsCwz3vrvRmOOyyOoGhZdutHN2MT55fIAVocD+AplbmRzdHJlYW0KZW5kb2JqCgpzdG' +\r\n * 'FydHhyZWYKNTEwCiUlRU9G'\r\n *\r\n * const dataUri = 'data:application/pdf;base64,' + base64\r\n *\r\n * const pdfDoc1 = await PDFDocument.load(base64)\r\n * const pdfDoc2 = await PDFDocument.load(dataUri)\r\n *\r\n * // pdf=Uint8Array\r\n * import fs from 'fs'\r\n * const uint8Array = fs.readFileSync('with_update_sections.pdf')\r\n * const pdfDoc3 = await PDFDocument.load(uint8Array)\r\n *\r\n * // pdf=ArrayBuffer\r\n * const url = 'https://pdf-lib.js.org/assets/with_update_sections.pdf'\r\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\r\n * const pdfDoc4 = await PDFDocument.load(arrayBuffer)\r\n *\r\n * ```\r\n *\r\n * @param pdf The input data containing a PDF document.\r\n * @param options The options to be used when loading the document.\r\n * @returns Resolves with a document loaded from the input.\r\n */\r\n @Input()\r\n public set pdf(value: any) {\r\n if (value) {\r\n this._pdf = value;\r\n this._openPDF();\r\n }\r\n }\r\n\r\n public get pdf(): any {\r\n return this._pdf;\r\n }\r\n\r\n @Input()\r\n public firstSignatureLabel: string;\r\n\r\n @Input()\r\n public firstSignatureField: string;\r\n\r\n @Input()\r\n public secondSignatureLabel: string;\r\n\r\n @Input()\r\n public secondSignatureField: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Input()\r\n public signDocumentButtonLabel: string = 'SIGN_DOCUMENT';\r\n\r\n @Input()\r\n public cancelButtonLabel: string = 'CANCEL';\r\n\r\n @Output()\r\n public pdfSaved: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding('class.ione-docsign')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showSignaturePopup: boolean = false;\r\n public showSigBuyer: boolean = false;\r\n public sigBuyerPosition: TextDimension;\r\n public showSigSeller: boolean = false;\r\n public sigSellerPosition: TextDimension;\r\n public showSignatures: boolean = false;\r\n\r\n public pdfDoc: PDFDocument;\r\n\r\n private _pdf: any;\r\n\r\n public saveFirstSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigBuyerPosition);\r\n this.showSigBuyer = false;\r\n this._savePdf();\r\n }\r\n\r\n public saveSecondSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigSellerPosition);\r\n this.showSigSeller = false;\r\n this._savePdf();\r\n }\r\n\r\n private async _openPDF(): Promise<void> {\r\n // first create reader to check signatures\r\n this._checkSignatures();\r\n\r\n this.pdfDoc = await PDFDocument.load(this._pdf, {\r\n updateMetadata: false\r\n });\r\n const pdfDataUri = await this.pdfDoc.saveAsBase64({ dataUri: true });\r\n this.iframe.nativeElement.src = pdfDataUri;\r\n }\r\n\r\n private async _savePdf(): Promise<void> {\r\n if (!this.showSigBuyer && !this.showSigSeller) {\r\n // ready, save the pdf and emit result\r\n const result = await this.pdfDoc.saveAsBase64();\r\n this.pdfSaved.next(result);\r\n }\r\n }\r\n\r\n private async _checkSignatures(): Promise<void> {\r\n let pdfWorkerSrc;\r\n if (window.hasOwnProperty('pdfWorkerSrc') &&\r\n typeof (window as any).pdfWorkerSrc === 'string' &&\r\n (window as any).pdfWorkerSrc) {\r\n pdfWorkerSrc = (window as any).pdfWorkerSrc;\r\n }\r\n else {\r\n pdfWorkerSrc = pdfjsWorker;\r\n }\r\n PDFJS.GlobalWorkerOptions.workerSrc = pdfWorkerSrc;\r\n const pdfReader = await PDFJS.getDocument(this._pdf).promise;\r\n const numPages = pdfReader.numPages;\r\n for (let i = 0; i < numPages; i++) {\r\n const page = await pdfReader.getPage(i + 1);\r\n const text = await page.getTextContent();\r\n page.cleanup();\r\n if (this.firstSignatureField) {\r\n const tempPosition: TextDimension = this._getPositionSignature(text, this.firstSignatureField);\r\n if (tempPosition.width > 0 && tempPosition.height > 0) {\r\n this.sigBuyerPosition = tempPosition;\r\n this.sigBuyerPosition.page = i;\r\n this.showSigBuyer = true;\r\n }\r\n }\r\n if (this.secondSignatureField) {\r\n const tempPosition: TextDimension = this._getPositionSignature(text, this.secondSignatureField);\r\n if (tempPosition.width > 0 && tempPosition.height > 0) {\r\n this.sigSellerPosition = tempPosition;\r\n this.sigSellerPosition.page = i;\r\n this.showSigSeller = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _getPositionSignature(textItem: any, signatureField: string): TextDimension {\r\n const sigItem: TextItem = <TextItem>textItem.items.find((i: any) => i.str.toLowerCase() === signatureField.toLowerCase());\r\n if (sigItem) {\r\n textItem.items.slice(textItem.items.indexOf(sigItem), 1);\r\n return {\r\n x: sigItem.transform[4],\r\n y: sigItem.transform[5],\r\n width: sigItem.width,\r\n height: sigItem.height,\r\n page: 0\r\n };\r\n }\r\n return {x: 0, y: 0, width: 0, height: 0, page: 0}\r\n }\r\n\r\n private async _saveSignature(sig: string, dimensions: TextDimension): Promise<void> {\r\n const jpgImage = await this.pdfDoc.embedPng(sig);\r\n const page = await this.pdfDoc.getPage(dimensions.page);\r\n page.drawImage(jpgImage, {\r\n x: ((dimensions.x + (dimensions.width / 2)) - (200 / 2)),\r\n y: ((dimensions.y + (dimensions.height / 2)) - (100 / 2)),\r\n width: 200,\r\n height: 100\r\n });\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport SignaturePad from \"signature_pad\";\r\n\r\n@Component({\r\n selector: \"ione-signature\",\r\n template: `\r\n <div class=\"signature-wrapper\">\r\n <div class=\"signature-header\">\r\n <span *ngIf=\"title\" class=\"title\" [textContent]=\"title\"></span>\r\n <div class=\"button-wrapper\">\r\n <input type=\"button\" (click)=\"handleSave($event)\" [value]=\"saveButtonLabel\"/>\r\n <input type=\"button\" (click)=\"handleClear($event)\" [value]=\"clearButtonLabel\">\r\n </div>\r\n </div>\r\n <div class=\"canvas\">\r\n <canvas #signature></canvas>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignatureComponent {\r\n @ViewChild(\"signature\", {read: ElementRef}) set content(content: ElementRef) {\r\n if (content) {\r\n this.signatureCanvas = content;\r\n this._initCanvas();\r\n }\r\n }\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public save: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.ione-signature\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public signature: SignaturePad;\r\n public signatureCanvas: ElementRef;\r\n\r\n public handleSave(event: MouseEvent): void {\r\n // save canvas as svg\r\n // const sig: string = this.signature.toDataURL(\"image/svg+xml\");\r\n const sig: string = this.signature.toDataURL(\"image/png\");\r\n // emit signature string\r\n this.save.next(sig);\r\n }\r\n\r\n public handleClear(event: MouseEvent): void {\r\n if (this.signature) {\r\n this.signature.clear();\r\n }\r\n }\r\n\r\n private _initCanvas(): void {\r\n if (this.signatureCanvas && this.signatureCanvas.nativeElement) {\r\n this.signature = new SignaturePad(this.signatureCanvas.nativeElement);\r\n setTimeout(() => {\r\n this._resizeSignatureCanvas(this.signature, this.signatureCanvas);\r\n });\r\n }\r\n }\r\n\r\n private _resizeSignatureCanvas(signature: SignaturePad, signatureCanvas: ElementRef): void {\r\n const imageBeforeResize: string = signature.toDataURL();\r\n const ratio: number = Math.max(window.devicePixelRatio || 1, 1);\r\n signatureCanvas.nativeElement.width = signatureCanvas.nativeElement.offsetWidth * ratio;\r\n signatureCanvas.nativeElement.height = signatureCanvas.nativeElement.offsetHeight * ratio;\r\n signatureCanvas.nativeElement.getContext(\"2d\").scale(ratio, ratio);\r\n signature.fromDataURL(imageBeforeResize);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"ione-signatures\",\r\n template: `\r\n <ione-signature *ngIf=\"showFirstSignature\"\r\n [title]=\"firstSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveFirstSignature.emit($event)\"></ione-signature>\r\n <ione-signature *ngIf=\"showSecondSignature\"\r\n [title]=\"secondSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveSecondSignature.emit($event)\"></ione-signature>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignaturesComponent {\r\n\r\n @Input()\r\n public showFirstSignature: boolean = false;\r\n\r\n @Input()\r\n public firstSignatureTitle: string;\r\n\r\n @Input()\r\n public showSecondSignature: boolean = false;\r\n\r\n @Input()\r\n public secondSignatureTitle: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public saveFirstSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public saveSecondSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.ione-signatures\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DocsignComponent} from \"./docsign.component\";\r\nimport {SignatureComponent} from \"./component/signature/signature.component\";\r\nimport {SignaturesComponent} from \"./component/signatures/signatures.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n DocsignComponent,\r\n SignatureComponent,\r\n SignaturesComponent\r\n ],\r\n exports: [\r\n DocsignComponent\r\n ]\r\n})\r\nexport class DocsignModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of sharedcomponents\r\n */\r\n\r\nexport * from './lib/components/docsign/docsign.component';\r\nexport * from './lib/components/docsign/docsign.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {SignatureComponent as ɵa} from './lib/components/docsign/component/signature/signature.component';\nexport {SignaturesComponent as ɵb} from './lib/components/docsign/component/signatures/signatures.component';"],"names":["EventEmitter","PDFDocument","pdfjsWorker","PDFJS","Component","trigger","state","style","transition","animate","ViewEncapsulation","ViewChild","ElementRef","Input","Output","HostBinding","SignaturePad","NgModule","CommonModule"],"mappings":"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"}
|
|
@@ -130,15 +130,17 @@ export class DocsignComponent {
|
|
|
130
130
|
const text = yield page.getTextContent();
|
|
131
131
|
page.cleanup();
|
|
132
132
|
if (this.firstSignatureField) {
|
|
133
|
-
|
|
134
|
-
if (
|
|
133
|
+
const tempPosition = this._getPositionSignature(text, this.firstSignatureField);
|
|
134
|
+
if (tempPosition.width > 0 && tempPosition.height > 0) {
|
|
135
|
+
this.sigBuyerPosition = tempPosition;
|
|
135
136
|
this.sigBuyerPosition.page = i;
|
|
136
137
|
this.showSigBuyer = true;
|
|
137
138
|
}
|
|
138
139
|
}
|
|
139
140
|
if (this.secondSignatureField) {
|
|
140
|
-
|
|
141
|
-
if (
|
|
141
|
+
const tempPosition = this._getPositionSignature(text, this.secondSignatureField);
|
|
142
|
+
if (tempPosition.width > 0 && tempPosition.height > 0) {
|
|
143
|
+
this.sigSellerPosition = tempPosition;
|
|
142
144
|
this.sigSellerPosition.page = i;
|
|
143
145
|
this.showSigSeller = true;
|
|
144
146
|
}
|
|
@@ -222,4 +224,4 @@ DocsignComponent.propDecorators = {
|
|
|
222
224
|
cancelClick: [{ type: Output }],
|
|
223
225
|
showClass: [{ type: HostBinding, args: ['class.ione-docsign',] }]
|
|
224
226
|
};
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jc2lnbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kb2NzaWduL2RvY3NpZ24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEtBQUssS0FBSyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sV0FBVyxNQUFNLG1DQUFtQyxDQUFDO0FBMkM1RCxNQUFNLE9BQU8sZ0JBQWdCO0lBaEM3QjtRQWlIUyxvQkFBZSxHQUFXLE1BQU0sQ0FBQztRQUdqQyxxQkFBZ0IsR0FBVyxPQUFPLENBQUM7UUFHbkMsNEJBQXVCLEdBQVcsZUFBZSxDQUFDO1FBR2xELHNCQUFpQixHQUFXLFFBQVEsQ0FBQztRQUdyQyxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHNUQsZ0JBQVcsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQU92RSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFnR3pDLENBQUM7SUF4TUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW1ERztJQUNI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Ozs7R0FvQlQ7Z0JBQ0QsVUFBVSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTt3QkFDM0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0NBQWdDLEVBQUMsQ0FBQyxDQUFDO3dCQUNuRSxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQ0FBZ0MsRUFBQyxDQUFDLENBQUM7d0JBQ2hFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7cUJBQ3ZELENBQUM7aUJBQ0g7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztxQkFFRSxTQUFTLFNBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtrQkF1RHhDLEtBQUs7a0NBWUwsS0FBSztrQ0FHTCxLQUFLO21DQUdMLEtBQUs7bUNBR0wsS0FBSzs4QkFHTCxLQUFLOytCQUdMLEtBQUs7c0NBR0wsS0FBSztnQ0FHTCxLQUFLO3VCQUdMLE1BQU07MEJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQge1BERkRvY3VtZW50fSBmcm9tIFwicGRmLWxpYlwiO1xyXG5pbXBvcnQgKiBhcyBQREZKUyBmcm9tIFwicGRmanMtZGlzdC9sZWdhY3kvYnVpbGQvcGRmXCI7XHJcbmltcG9ydCBwZGZqc1dvcmtlciBmcm9tIFwicGRmanMtZGlzdC9idWlsZC9wZGYud29ya2VyLmVudHJ5XCI7XHJcbmltcG9ydCB7VGV4dEl0ZW19IGZyb20gXCJwZGZqcy1kaXN0L3R5cGVzL3NyYy9kaXNwbGF5L2FwaVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXh0RGltZW5zaW9uIHtcclxuICB4OiBudW1iZXIsXHJcbiAgeTogbnVtYmVyLFxyXG4gIHdpZHRoOiBudW1iZXIsXHJcbiAgaGVpZ2h0OiBudW1iZXIsXHJcbiAgcGFnZTogbnVtYmVyXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImlvbmUtZG9jc2lnblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8aWZyYW1lICNpZnJhbWU+PC9pZnJhbWU+XHJcbiAgICA8aW9uZS1zaWduYXR1cmVzICpuZ0lmPVwic2hvd1NpZ25hdHVyZXNcIiBAc2hvd0hpZGVTaWduYXR1cmVcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dGaXJzdFNpZ25hdHVyZV09XCJzaG93U2lnQnV5ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZmlyc3RTaWduYXR1cmVUaXRsZV09XCJmaXJzdFNpZ25hdHVyZUxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dTZWNvbmRTaWduYXR1cmVdPVwic2hvd1NpZ1NlbGxlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzZWNvbmRTaWduYXR1cmVUaXRsZV09XCJzZWNvbmRTaWduYXR1cmVMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzYXZlQnV0dG9uTGFiZWxdPVwic2F2ZUJ1dHRvbkxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2NsZWFyQnV0dG9uTGFiZWxdPVwiY2xlYXJCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChzYXZlRmlyc3RTaWduYXR1cmUpPVwic2F2ZUZpcnN0U2lnbmF0dXJlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoc2F2ZVNlY29uZFNpZ25hdHVyZSk9XCJzYXZlU2Vjb25kU2lnbmF0dXJlKCRldmVudClcIlxyXG4gICAgPjwvaW9uZS1zaWduYXR1cmVzPlxyXG4gICAgPGlucHV0IHR5cGU9XCJidXR0b25cIiAqbmdJZj1cIihzaG93U2lnQnV5ZXIgfHwgc2hvd1NpZ1NlbGxlcikgJiYgIXNob3dTaWduYXR1cmVzXCIgY2xhc3M9XCJidXR0b24gYnV0dG9uLXNpZ24tZG9jdW1lbnRcIlxyXG4gICAgICAgICAgIFt2YWx1ZV09XCJzaWduRG9jdW1lbnRCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cInNob3dTaWduYXR1cmVzID0gdHJ1ZVwiXHJcbiAgICAvPlxyXG4gICAgPGlucHV0IHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBidXR0b24tY2FuY2VsXCJcclxuICAgICAgICAgICBbdmFsdWVdPVwiY2FuY2VsQnV0dG9uTGFiZWxcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJjYW5jZWxDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgLz5cclxuICBgLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXCJzaG93SGlkZVNpZ25hdHVyZVwiLCBbXHJcbiAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKVwifSkpLFxyXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSlcIn0pKSxcclxuICAgICAgdHJhbnNpdGlvbihcInZvaWQgPD0+ICpcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKSxcclxuICAgIF0pXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2NzaWduQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKFwiaWZyYW1lXCIsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxyXG4gIHB1YmxpYyBpZnJhbWU6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8qKlxyXG4gICAqIExvYWQgYW4gZXhpc3RpbmcgW1tQREZEb2N1bWVudF1dLiBUaGUgaW5wdXQgZGF0YSBjYW4gYmUgcHJvdmlkZWQgaW5cclxuICAgKiBtdWx0aXBsZSBmb3JtYXRzOlxyXG4gICAqXHJcbiAgICogfCBUeXBlICAgICAgICAgIHwgQ29udGVudHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuICAgKiB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfFxyXG4gICAqIHwgYHN0cmluZ2AgICAgICB8IEEgYmFzZTY0IGVuY29kZWQgc3RyaW5nIChvciBkYXRhIFVSSSkgY29udGFpbmluZyBhIFBERiB8XHJcbiAgICogfCBgVWludDhBcnJheWAgIHwgVGhlIHJhdyBieXRlcyBvZiBhIFBERiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuICAgKiB8IGBBcnJheUJ1ZmZlcmAgfCBUaGUgcmF3IGJ5dGVzIG9mIGEgUERGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4gICAqXHJcbiAgICogRm9yIGV4YW1wbGU6XHJcbiAgICogYGBganNcclxuICAgKiBpbXBvcnQgeyBQREZEb2N1bWVudCB9IGZyb20gJ3BkZi1saWInXHJcbiAgICpcclxuICAgKiAvLyBwZGY9c3RyaW5nXHJcbiAgICogY29uc3QgYmFzZTY0ID1cclxuICAgKiAgJ0pWQkVSaTB4TGpjS0pZR0JnWUVLQ2pVZ01DQnZZbW9LUER3S0wwWnBiSFJsY2lBdlJteGhkR1ZFWldOdlpHVUtMMHhsYm0nICtcclxuICAgKiAgJ2QwYUNBeE1EUUtQajRLYzNSeVpXRnRDbmljY3dyaE1sQUF3YUowTG4yUDFKeXkxSkxNNUVSZGMwTWpDd1VqRTRXUU5DNFEnICtcclxuICAgKiAgJzZjTmxDRlprcUdDcVlHU3FFSkxMWldOdVlHWmlabWJrWXVac1ptbG1aR1JnWm1sdURDUU56YzNOVE0yTnpkek1YTXhNalEnICtcclxuICAgKiAgJ3p0RkVLeXVFSzB1RnhEdUFBT0VSZFZDbVZ1WkhOMGNtVmhiUXBsYm1Sdlltb0tDallnTUNCdlltb0tQRHdLTDBacGJIUmwnICtcclxuICAgKiAgJ2NpQXZSbXhoZEdWRVpXTnZaR1VLTDFSNWNHVWdMMDlpYWxOMGJRb3ZUaUEwQ2k5R2FYSnpkQ0F5TUFvdlRHVnVaM1JvSUQnICtcclxuICAgKiAgJ0l4TlFvK1BncHpkSEpsWVcwS2VKeFZqOUdxd2pBTWh1L3pGSGtCelRvM25DQ0NpaUtJSFBFSUN1SkYzY0tvU0N1MkU4L2InICtcclxuICAgKiAgJzIwd1BJcjFwOHY5LzhrVmhnaWxtR2Zhd1gyQ0dhVnJnY0FpMC9ic3kwbHJYN0lHV3B2SjRpSllFTjNnRW1yckdCbFF3R3MnICtcclxuICAgKiAgJ0hITzlWQlgxd05yeEFxTVg4N1JCRDV4cEp1ZGRxd2Q4MnRqQUh4elYxVTVMUGd5NTJES1hXbnIxTGhlZytqL2MvcHpHVnInICtcclxuICAgKiAgJ2lxVjBWbHdaUFhHUENKakVsdy95Ymt3VW1lb1dneGVzRFhHaEhKQy9EL2lpa3AxQXY4MHB0S1UwRmRCRWUyNXBQaWhBTTEnICtcclxuICAgKiAgJ3U2eXRnYWFXZnMySHJ6MzVDSlQxK0VXbUFLWlc1a2MzUnlaV0Z0Q21WdVpHOWlhZ29LTnlBd0lHOWlhZ284UEFvdlUybDYnICtcclxuICAgKiAgJ1pTQTRDaTlTYjI5MElESWdNQ0JTQ2k5R2FXeDBaWElnTDBac1lYUmxSR1ZqYjJSbENpOVVlWEJsSUM5WVVtVm1DaTlNWlcnICtcclxuICAgKiAgJzVuZEdnZ016Z0tMMWNnV3lBeElESWdNaUJkQ2k5SmJtUmxlQ0JiSURBZ09DQmRDajQrQ25OMGNtVmhiUXA0bkJYRXdSRUEnICtcclxuICAgKiAgJ0VCQUVzQ3d6M3ZydlJtT095eU9vR2haZHV0SE4yTVQ1NWZJQVZvY0QrQXBsYm1SemRISmxZVzBLWlc1a2IySnFDZ3B6ZEcnICtcclxuICAgKiAgJ0Z5ZEhoeVpXWUtOVEV3Q2lVbFJVOUcnXHJcbiAgICpcclxuICAgKiBjb25zdCBkYXRhVXJpID0gJ2RhdGE6YXBwbGljYXRpb24vcGRmO2Jhc2U2NCwnICsgYmFzZTY0XHJcbiAgICpcclxuICAgKiBjb25zdCBwZGZEb2MxID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZChiYXNlNjQpXHJcbiAgICogY29uc3QgcGRmRG9jMiA9IGF3YWl0IFBERkRvY3VtZW50LmxvYWQoZGF0YVVyaSlcclxuICAgKlxyXG4gICAqIC8vIHBkZj1VaW50OEFycmF5XHJcbiAgICogaW1wb3J0IGZzIGZyb20gJ2ZzJ1xyXG4gICAqIGNvbnN0IHVpbnQ4QXJyYXkgPSBmcy5yZWFkRmlsZVN5bmMoJ3dpdGhfdXBkYXRlX3NlY3Rpb25zLnBkZicpXHJcbiAgICogY29uc3QgcGRmRG9jMyA9IGF3YWl0IFBERkRvY3VtZW50LmxvYWQodWludDhBcnJheSlcclxuICAgKlxyXG4gICAqIC8vIHBkZj1BcnJheUJ1ZmZlclxyXG4gICAqIGNvbnN0IHVybCA9ICdodHRwczovL3BkZi1saWIuanMub3JnL2Fzc2V0cy93aXRoX3VwZGF0ZV9zZWN0aW9ucy5wZGYnXHJcbiAgICogY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBmZXRjaCh1cmwpLnRoZW4ocmVzID0+IHJlcy5hcnJheUJ1ZmZlcigpKVxyXG4gICAqIGNvbnN0IHBkZkRvYzQgPSBhd2FpdCBQREZEb2N1bWVudC5sb2FkKGFycmF5QnVmZmVyKVxyXG4gICAqXHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcGRmIFRoZSBpbnB1dCBkYXRhIGNvbnRhaW5pbmcgYSBQREYgZG9jdW1lbnQuXHJcbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgdG8gYmUgdXNlZCB3aGVuIGxvYWRpbmcgdGhlIGRvY3VtZW50LlxyXG4gICAqIEByZXR1cm5zIFJlc29sdmVzIHdpdGggYSBkb2N1bWVudCBsb2FkZWQgZnJvbSB0aGUgaW5wdXQuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHBkZih2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5fcGRmID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuX29wZW5QREYoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcGRmKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGRmO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZmlyc3RTaWduYXR1cmVMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmaXJzdFNpZ25hdHVyZUZpZWxkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlY29uZFNpZ25hdHVyZUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlY29uZFNpZ25hdHVyZUZpZWxkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNhdmVCdXR0b25MYWJlbDogc3RyaW5nID0gJ1NBVkUnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjbGVhckJ1dHRvbkxhYmVsOiBzdHJpbmcgPSAnQ0xFQVInO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaWduRG9jdW1lbnRCdXR0b25MYWJlbDogc3RyaW5nID0gJ1NJR05fRE9DVU1FTlQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYW5jZWxCdXR0b25MYWJlbDogc3RyaW5nID0gJ0NBTkNFTCc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBwZGZTYXZlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNhbmNlbENsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaW9uZS1kb2NzaWduJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1NpZ25hdHVyZVBvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTaWdCdXllcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaWdCdXllclBvc2l0aW9uOiBUZXh0RGltZW5zaW9uO1xyXG4gIHB1YmxpYyBzaG93U2lnU2VsbGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNpZ1NlbGxlclBvc2l0aW9uOiBUZXh0RGltZW5zaW9uO1xyXG4gIHB1YmxpYyBzaG93U2lnbmF0dXJlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgcGRmRG9jOiBQREZEb2N1bWVudDtcclxuXHJcbiAgcHJpdmF0ZSBfcGRmOiBhbnk7XHJcblxyXG4gIHB1YmxpYyBzYXZlRmlyc3RTaWduYXR1cmUoc2lnOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NhdmVTaWduYXR1cmUoc2lnLCB0aGlzLnNpZ0J1eWVyUG9zaXRpb24pO1xyXG4gICAgdGhpcy5zaG93U2lnQnV5ZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlU2Vjb25kU2lnbmF0dXJlKHNpZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zYXZlU2lnbmF0dXJlKHNpZywgdGhpcy5zaWdTZWxsZXJQb3NpdGlvbik7XHJcbiAgICB0aGlzLnNob3dTaWdTZWxsZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX29wZW5QREYoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBmaXJzdCBjcmVhdGUgcmVhZGVyIHRvIGNoZWNrIHNpZ25hdHVyZXNcclxuICAgIHRoaXMuX2NoZWNrU2lnbmF0dXJlcygpO1xyXG5cclxuICAgIHRoaXMucGRmRG9jID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZCh0aGlzLl9wZGYsIHtcclxuICAgICAgdXBkYXRlTWV0YWRhdGE6IGZhbHNlXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHBkZkRhdGFVcmkgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoeyBkYXRhVXJpOiB0cnVlIH0pO1xyXG4gICAgdGhpcy5pZnJhbWUubmF0aXZlRWxlbWVudC5zcmMgPSBwZGZEYXRhVXJpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZVBkZigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5zaG93U2lnQnV5ZXIgJiYgIXRoaXMuc2hvd1NpZ1NlbGxlcikge1xyXG4gICAgICAvLyByZWFkeSwgc2F2ZSB0aGUgcGRmIGFuZCBlbWl0IHJlc3VsdFxyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoKTtcclxuICAgICAgdGhpcy5wZGZTYXZlZC5uZXh0KHJlc3VsdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9jaGVja1NpZ25hdHVyZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsZXQgcGRmV29ya2VyU3JjO1xyXG4gICAgaWYgKHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgncGRmV29ya2VyU3JjJykgJiZcclxuICAgICAgdHlwZW9mICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMgPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMpIHtcclxuICAgICAgcGRmV29ya2VyU3JjID0gKHdpbmRvdyBhcyBhbnkpLnBkZldvcmtlclNyYztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBwZGZXb3JrZXJTcmMgPSBwZGZqc1dvcmtlcjtcclxuICAgIH1cclxuICAgIFBERkpTLkdsb2JhbFdvcmtlck9wdGlvbnMud29ya2VyU3JjID0gcGRmV29ya2VyU3JjO1xyXG4gICAgY29uc3QgcGRmUmVhZGVyID0gYXdhaXQgUERGSlMuZ2V0RG9jdW1lbnQodGhpcy5fcGRmKS5wcm9taXNlO1xyXG4gICAgY29uc3QgbnVtUGFnZXMgPSBwZGZSZWFkZXIubnVtUGFnZXM7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBhZ2VzOyBpKyspIHtcclxuICAgICAgY29uc3QgcGFnZSA9IGF3YWl0IHBkZlJlYWRlci5nZXRQYWdlKGkgKyAxKTtcclxuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHBhZ2UuZ2V0VGV4dENvbnRlbnQoKTtcclxuICAgICAgcGFnZS5jbGVhbnVwKCk7XHJcbiAgICAgIGlmICh0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpIHtcclxuICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24gPSB0aGlzLl9nZXRQb3NpdGlvblNpZ25hdHVyZSh0ZXh0LCB0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpO1xyXG4gICAgICAgIGlmICh0aGlzLnNpZ0J1eWVyUG9zaXRpb24ud2lkdGggPiAwICYmIHRoaXMuc2lnQnV5ZXJQb3NpdGlvbi5oZWlnaHQgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24ucGFnZSA9IGk7XHJcbiAgICAgICAgICB0aGlzLnNob3dTaWdCdXllciA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlY29uZFNpZ25hdHVyZUZpZWxkKSB7XHJcbiAgICAgICAgdGhpcy5zaWdTZWxsZXJQb3NpdGlvbiA9IHRoaXMuX2dldFBvc2l0aW9uU2lnbmF0dXJlKHRleHQsIHRoaXMuc2Vjb25kU2lnbmF0dXJlRmllbGQpO1xyXG4gICAgICAgIGlmICh0aGlzLnNpZ1NlbGxlclBvc2l0aW9uLndpZHRoID4gMCAmJiB0aGlzLnNpZ1NlbGxlclBvc2l0aW9uLmhlaWdodCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuc2lnU2VsbGVyUG9zaXRpb24ucGFnZSA9IGk7XHJcbiAgICAgICAgICB0aGlzLnNob3dTaWdTZWxsZXIgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UG9zaXRpb25TaWduYXR1cmUodGV4dEl0ZW06IGFueSwgc2lnbmF0dXJlRmllbGQ6IHN0cmluZyk6IFRleHREaW1lbnNpb24ge1xyXG4gICAgY29uc3Qgc2lnSXRlbTogVGV4dEl0ZW0gPSA8VGV4dEl0ZW0+dGV4dEl0ZW0uaXRlbXMuZmluZCgoaTogYW55KSA9PiBpLnN0ci50b0xvd2VyQ2FzZSgpID09PSBzaWduYXR1cmVGaWVsZC50b0xvd2VyQ2FzZSgpKTtcclxuICAgIGlmIChzaWdJdGVtKSB7XHJcbiAgICAgIHRleHRJdGVtLml0ZW1zLnNsaWNlKHRleHRJdGVtLml0ZW1zLmluZGV4T2Yoc2lnSXRlbSksIDEpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHg6IHNpZ0l0ZW0udHJhbnNmb3JtWzRdLFxyXG4gICAgICAgIHk6IHNpZ0l0ZW0udHJhbnNmb3JtWzVdLFxyXG4gICAgICAgIHdpZHRoOiBzaWdJdGVtLndpZHRoLFxyXG4gICAgICAgIGhlaWdodDogc2lnSXRlbS5oZWlnaHQsXHJcbiAgICAgICAgcGFnZTogMFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHt4OiAwLCB5OiAwLCB3aWR0aDogMCwgaGVpZ2h0OiAwLCBwYWdlOiAwfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZVNpZ25hdHVyZShzaWc6IHN0cmluZywgZGltZW5zaW9uczogVGV4dERpbWVuc2lvbik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QganBnSW1hZ2UgPSBhd2FpdCB0aGlzLnBkZkRvYy5lbWJlZFBuZyhzaWcpO1xyXG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IHRoaXMucGRmRG9jLmdldFBhZ2UoZGltZW5zaW9ucy5wYWdlKTtcclxuICAgIHBhZ2UuZHJhd0ltYWdlKGpwZ0ltYWdlLCB7XHJcbiAgICAgIHg6ICgoZGltZW5zaW9ucy54ICsgKGRpbWVuc2lvbnMud2lkdGggLyAyKSkgLSAoMjAwIC8gMikpLFxyXG4gICAgICB5OiAoKGRpbWVuc2lvbnMueSArIChkaW1lbnNpb25zLmhlaWdodCAvIDIpKSAtICgxMDAgLyAyKSksXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICAgIGhlaWdodDogMTAwXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jc2lnbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kb2NzaWduL2RvY3NpZ24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEtBQUssS0FBSyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sV0FBVyxNQUFNLG1DQUFtQyxDQUFDO0FBMkM1RCxNQUFNLE9BQU8sZ0JBQWdCO0lBaEM3QjtRQWlIUyxvQkFBZSxHQUFXLE1BQU0sQ0FBQztRQUdqQyxxQkFBZ0IsR0FBVyxPQUFPLENBQUM7UUFHbkMsNEJBQXVCLEdBQVcsZUFBZSxDQUFDO1FBR2xELHNCQUFpQixHQUFXLFFBQVEsQ0FBQztRQUdyQyxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHNUQsZ0JBQVcsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQU92RSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFrR3pDLENBQUM7SUExTUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW1ERztJQUNI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RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQ7Z0JBQ0QsVUFBVSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTt3QkFDM0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0NBQWdDLEVBQUMsQ0FBQyxDQUFDO3dCQUNuRSxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQ0FBZ0MsRUFBQyxDQUFDLENBQUM7d0JBQ2hFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7cUJBQ3ZELENBQUM7aUJBQ0g7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztxQkFFRSxTQUFTLFNBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtrQkF1RHhDLEtBQUs7a0NBWUwsS0FBSztrQ0FHTCxLQUFLO21DQUdMLEtBQUs7bUNBR0wsS0FBSzs4QkFHTCxLQUFLOytCQUdMLEtBQUs7c0NBR0wsS0FBSztnQ0FHTCxLQUFLO3VCQUdMLE1BQU07MEJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQge1BERkRvY3VtZW50fSBmcm9tIFwicGRmLWxpYlwiO1xyXG5pbXBvcnQgKiBhcyBQREZKUyBmcm9tIFwicGRmanMtZGlzdC9sZWdhY3kvYnVpbGQvcGRmXCI7XHJcbmltcG9ydCBwZGZqc1dvcmtlciBmcm9tIFwicGRmanMtZGlzdC9idWlsZC9wZGYud29ya2VyLmVudHJ5XCI7XHJcbmltcG9ydCB7VGV4dEl0ZW19IGZyb20gXCJwZGZqcy1kaXN0L3R5cGVzL3NyYy9kaXNwbGF5L2FwaVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUZXh0RGltZW5zaW9uIHtcclxuICB4OiBudW1iZXIsXHJcbiAgeTogbnVtYmVyLFxyXG4gIHdpZHRoOiBudW1iZXIsXHJcbiAgaGVpZ2h0OiBudW1iZXIsXHJcbiAgcGFnZTogbnVtYmVyXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImlvbmUtZG9jc2lnblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8aWZyYW1lICNpZnJhbWU+PC9pZnJhbWU+XHJcbiAgICA8aW9uZS1zaWduYXR1cmVzICpuZ0lmPVwic2hvd1NpZ25hdHVyZXNcIiBAc2hvd0hpZGVTaWduYXR1cmVcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dGaXJzdFNpZ25hdHVyZV09XCJzaG93U2lnQnV5ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZmlyc3RTaWduYXR1cmVUaXRsZV09XCJmaXJzdFNpZ25hdHVyZUxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dTZWNvbmRTaWduYXR1cmVdPVwic2hvd1NpZ1NlbGxlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzZWNvbmRTaWduYXR1cmVUaXRsZV09XCJzZWNvbmRTaWduYXR1cmVMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzYXZlQnV0dG9uTGFiZWxdPVwic2F2ZUJ1dHRvbkxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2NsZWFyQnV0dG9uTGFiZWxdPVwiY2xlYXJCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChzYXZlRmlyc3RTaWduYXR1cmUpPVwic2F2ZUZpcnN0U2lnbmF0dXJlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoc2F2ZVNlY29uZFNpZ25hdHVyZSk9XCJzYXZlU2Vjb25kU2lnbmF0dXJlKCRldmVudClcIlxyXG4gICAgPjwvaW9uZS1zaWduYXR1cmVzPlxyXG4gICAgPGlucHV0IHR5cGU9XCJidXR0b25cIiAqbmdJZj1cIihzaG93U2lnQnV5ZXIgfHwgc2hvd1NpZ1NlbGxlcikgJiYgIXNob3dTaWduYXR1cmVzXCIgY2xhc3M9XCJidXR0b24gYnV0dG9uLXNpZ24tZG9jdW1lbnRcIlxyXG4gICAgICAgICAgIFt2YWx1ZV09XCJzaWduRG9jdW1lbnRCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cInNob3dTaWduYXR1cmVzID0gdHJ1ZVwiXHJcbiAgICAvPlxyXG4gICAgPGlucHV0IHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBidXR0b24tY2FuY2VsXCJcclxuICAgICAgICAgICBbdmFsdWVdPVwiY2FuY2VsQnV0dG9uTGFiZWxcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJjYW5jZWxDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgLz5cclxuICBgLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXCJzaG93SGlkZVNpZ25hdHVyZVwiLCBbXHJcbiAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKVwifSkpLFxyXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSlcIn0pKSxcclxuICAgICAgdHJhbnNpdGlvbihcInZvaWQgPD0+ICpcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKSxcclxuICAgIF0pXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2NzaWduQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKFwiaWZyYW1lXCIsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxyXG4gIHB1YmxpYyBpZnJhbWU6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8qKlxyXG4gICAqIExvYWQgYW4gZXhpc3RpbmcgW1tQREZEb2N1bWVudF1dLiBUaGUgaW5wdXQgZGF0YSBjYW4gYmUgcHJvdmlkZWQgaW5cclxuICAgKiBtdWx0aXBsZSBmb3JtYXRzOlxyXG4gICAqXHJcbiAgICogfCBUeXBlICAgICAgICAgIHwgQ29udGVudHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuICAgKiB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfFxyXG4gICAqIHwgYHN0cmluZ2AgICAgICB8IEEgYmFzZTY0IGVuY29kZWQgc3RyaW5nIChvciBkYXRhIFVSSSkgY29udGFpbmluZyBhIFBERiB8XHJcbiAgICogfCBgVWludDhBcnJheWAgIHwgVGhlIHJhdyBieXRlcyBvZiBhIFBERiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuICAgKiB8IGBBcnJheUJ1ZmZlcmAgfCBUaGUgcmF3IGJ5dGVzIG9mIGEgUERGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4gICAqXHJcbiAgICogRm9yIGV4YW1wbGU6XHJcbiAgICogYGBganNcclxuICAgKiBpbXBvcnQgeyBQREZEb2N1bWVudCB9IGZyb20gJ3BkZi1saWInXHJcbiAgICpcclxuICAgKiAvLyBwZGY9c3RyaW5nXHJcbiAgICogY29uc3QgYmFzZTY0ID1cclxuICAgKiAgJ0pWQkVSaTB4TGpjS0pZR0JnWUVLQ2pVZ01DQnZZbW9LUER3S0wwWnBiSFJsY2lBdlJteGhkR1ZFWldOdlpHVUtMMHhsYm0nICtcclxuICAgKiAgJ2QwYUNBeE1EUUtQajRLYzNSeVpXRnRDbmljY3dyaE1sQUF3YUowTG4yUDFKeXkxSkxNNUVSZGMwTWpDd1VqRTRXUU5DNFEnICtcclxuICAgKiAgJzZjTmxDRlprcUdDcVlHU3FFSkxMWldOdVlHWmlabWJrWXVac1ptbG1aR1JnWm1sdURDUU56YzNOVE0yTnpkek1YTXhNalEnICtcclxuICAgKiAgJ3p0RkVLeXVFSzB1RnhEdUFBT0VSZFZDbVZ1WkhOMGNtVmhiUXBsYm1Sdlltb0tDallnTUNCdlltb0tQRHdLTDBacGJIUmwnICtcclxuICAgKiAgJ2NpQXZSbXhoZEdWRVpXTnZaR1VLTDFSNWNHVWdMMDlpYWxOMGJRb3ZUaUEwQ2k5R2FYSnpkQ0F5TUFvdlRHVnVaM1JvSUQnICtcclxuICAgKiAgJ0l4TlFvK1BncHpkSEpsWVcwS2VKeFZqOUdxd2pBTWh1L3pGSGtCelRvM25DQ0NpaUtJSFBFSUN1SkYzY0tvU0N1MkU4L2InICtcclxuICAgKiAgJzIwd1BJcjFwOHY5LzhrVmhnaWxtR2Zhd1gyQ0dhVnJnY0FpMC9ic3kwbHJYN0lHV3B2SjRpSllFTjNnRW1yckdCbFF3R3MnICtcclxuICAgKiAgJ0hITzlWQlgxd05yeEFxTVg4N1JCRDV4cEp1ZGRxd2Q4MnRqQUh4elYxVTVMUGd5NTJES1hXbnIxTGhlZytqL2MvcHpHVnInICtcclxuICAgKiAgJ2lxVjBWbHdaUFhHUENKakVsdy95Ymt3VW1lb1dneGVzRFhHaEhKQy9EL2lpa3AxQXY4MHB0S1UwRmRCRWUyNXBQaWhBTTEnICtcclxuICAgKiAgJ3U2eXRnYWFXZnMySHJ6MzVDSlQxK0VXbUFLWlc1a2MzUnlaV0Z0Q21WdVpHOWlhZ29LTnlBd0lHOWlhZ284UEFvdlUybDYnICtcclxuICAgKiAgJ1pTQTRDaTlTYjI5MElESWdNQ0JTQ2k5R2FXeDBaWElnTDBac1lYUmxSR1ZqYjJSbENpOVVlWEJsSUM5WVVtVm1DaTlNWlcnICtcclxuICAgKiAgJzVuZEdnZ016Z0tMMWNnV3lBeElESWdNaUJkQ2k5SmJtUmxlQ0JiSURBZ09DQmRDajQrQ25OMGNtVmhiUXA0bkJYRXdSRUEnICtcclxuICAgKiAgJ0VCQUVzQ3d6M3ZydlJtT095eU9vR2haZHV0SE4yTVQ1NWZJQVZvY0QrQXBsYm1SemRISmxZVzBLWlc1a2IySnFDZ3B6ZEcnICtcclxuICAgKiAgJ0Z5ZEhoeVpXWUtOVEV3Q2lVbFJVOUcnXHJcbiAgICpcclxuICAgKiBjb25zdCBkYXRhVXJpID0gJ2RhdGE6YXBwbGljYXRpb24vcGRmO2Jhc2U2NCwnICsgYmFzZTY0XHJcbiAgICpcclxuICAgKiBjb25zdCBwZGZEb2MxID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZChiYXNlNjQpXHJcbiAgICogY29uc3QgcGRmRG9jMiA9IGF3YWl0IFBERkRvY3VtZW50LmxvYWQoZGF0YVVyaSlcclxuICAgKlxyXG4gICAqIC8vIHBkZj1VaW50OEFycmF5XHJcbiAgICogaW1wb3J0IGZzIGZyb20gJ2ZzJ1xyXG4gICAqIGNvbnN0IHVpbnQ4QXJyYXkgPSBmcy5yZWFkRmlsZVN5bmMoJ3dpdGhfdXBkYXRlX3NlY3Rpb25zLnBkZicpXHJcbiAgICogY29uc3QgcGRmRG9jMyA9IGF3YWl0IFBERkRvY3VtZW50LmxvYWQodWludDhBcnJheSlcclxuICAgKlxyXG4gICAqIC8vIHBkZj1BcnJheUJ1ZmZlclxyXG4gICAqIGNvbnN0IHVybCA9ICdodHRwczovL3BkZi1saWIuanMub3JnL2Fzc2V0cy93aXRoX3VwZGF0ZV9zZWN0aW9ucy5wZGYnXHJcbiAgICogY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBmZXRjaCh1cmwpLnRoZW4ocmVzID0+IHJlcy5hcnJheUJ1ZmZlcigpKVxyXG4gICAqIGNvbnN0IHBkZkRvYzQgPSBhd2FpdCBQREZEb2N1bWVudC5sb2FkKGFycmF5QnVmZmVyKVxyXG4gICAqXHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcGRmIFRoZSBpbnB1dCBkYXRhIGNvbnRhaW5pbmcgYSBQREYgZG9jdW1lbnQuXHJcbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgdG8gYmUgdXNlZCB3aGVuIGxvYWRpbmcgdGhlIGRvY3VtZW50LlxyXG4gICAqIEByZXR1cm5zIFJlc29sdmVzIHdpdGggYSBkb2N1bWVudCBsb2FkZWQgZnJvbSB0aGUgaW5wdXQuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHBkZih2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5fcGRmID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuX29wZW5QREYoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcGRmKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGRmO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZmlyc3RTaWduYXR1cmVMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmaXJzdFNpZ25hdHVyZUZpZWxkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlY29uZFNpZ25hdHVyZUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlY29uZFNpZ25hdHVyZUZpZWxkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNhdmVCdXR0b25MYWJlbDogc3RyaW5nID0gJ1NBVkUnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjbGVhckJ1dHRvbkxhYmVsOiBzdHJpbmcgPSAnQ0xFQVInO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaWduRG9jdW1lbnRCdXR0b25MYWJlbDogc3RyaW5nID0gJ1NJR05fRE9DVU1FTlQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYW5jZWxCdXR0b25MYWJlbDogc3RyaW5nID0gJ0NBTkNFTCc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBwZGZTYXZlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNhbmNlbENsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaW9uZS1kb2NzaWduJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1NpZ25hdHVyZVBvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTaWdCdXllcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaWdCdXllclBvc2l0aW9uOiBUZXh0RGltZW5zaW9uO1xyXG4gIHB1YmxpYyBzaG93U2lnU2VsbGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNpZ1NlbGxlclBvc2l0aW9uOiBUZXh0RGltZW5zaW9uO1xyXG4gIHB1YmxpYyBzaG93U2lnbmF0dXJlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgcGRmRG9jOiBQREZEb2N1bWVudDtcclxuXHJcbiAgcHJpdmF0ZSBfcGRmOiBhbnk7XHJcblxyXG4gIHB1YmxpYyBzYXZlRmlyc3RTaWduYXR1cmUoc2lnOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NhdmVTaWduYXR1cmUoc2lnLCB0aGlzLnNpZ0J1eWVyUG9zaXRpb24pO1xyXG4gICAgdGhpcy5zaG93U2lnQnV5ZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlU2Vjb25kU2lnbmF0dXJlKHNpZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zYXZlU2lnbmF0dXJlKHNpZywgdGhpcy5zaWdTZWxsZXJQb3NpdGlvbik7XHJcbiAgICB0aGlzLnNob3dTaWdTZWxsZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX29wZW5QREYoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBmaXJzdCBjcmVhdGUgcmVhZGVyIHRvIGNoZWNrIHNpZ25hdHVyZXNcclxuICAgIHRoaXMuX2NoZWNrU2lnbmF0dXJlcygpO1xyXG5cclxuICAgIHRoaXMucGRmRG9jID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZCh0aGlzLl9wZGYsIHtcclxuICAgICAgdXBkYXRlTWV0YWRhdGE6IGZhbHNlXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHBkZkRhdGFVcmkgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoeyBkYXRhVXJpOiB0cnVlIH0pO1xyXG4gICAgdGhpcy5pZnJhbWUubmF0aXZlRWxlbWVudC5zcmMgPSBwZGZEYXRhVXJpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZVBkZigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5zaG93U2lnQnV5ZXIgJiYgIXRoaXMuc2hvd1NpZ1NlbGxlcikge1xyXG4gICAgICAvLyByZWFkeSwgc2F2ZSB0aGUgcGRmIGFuZCBlbWl0IHJlc3VsdFxyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoKTtcclxuICAgICAgdGhpcy5wZGZTYXZlZC5uZXh0KHJlc3VsdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9jaGVja1NpZ25hdHVyZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsZXQgcGRmV29ya2VyU3JjO1xyXG4gICAgaWYgKHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgncGRmV29ya2VyU3JjJykgJiZcclxuICAgICAgdHlwZW9mICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMgPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMpIHtcclxuICAgICAgcGRmV29ya2VyU3JjID0gKHdpbmRvdyBhcyBhbnkpLnBkZldvcmtlclNyYztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBwZGZXb3JrZXJTcmMgPSBwZGZqc1dvcmtlcjtcclxuICAgIH1cclxuICAgIFBERkpTLkdsb2JhbFdvcmtlck9wdGlvbnMud29ya2VyU3JjID0gcGRmV29ya2VyU3JjO1xyXG4gICAgY29uc3QgcGRmUmVhZGVyID0gYXdhaXQgUERGSlMuZ2V0RG9jdW1lbnQodGhpcy5fcGRmKS5wcm9taXNlO1xyXG4gICAgY29uc3QgbnVtUGFnZXMgPSBwZGZSZWFkZXIubnVtUGFnZXM7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBhZ2VzOyBpKyspIHtcclxuICAgICAgY29uc3QgcGFnZSA9IGF3YWl0IHBkZlJlYWRlci5nZXRQYWdlKGkgKyAxKTtcclxuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHBhZ2UuZ2V0VGV4dENvbnRlbnQoKTtcclxuICAgICAgcGFnZS5jbGVhbnVwKCk7XHJcbiAgICAgIGlmICh0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpIHtcclxuICAgICAgICBjb25zdCB0ZW1wUG9zaXRpb246IFRleHREaW1lbnNpb24gPSB0aGlzLl9nZXRQb3NpdGlvblNpZ25hdHVyZSh0ZXh0LCB0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpO1xyXG4gICAgICAgIGlmICh0ZW1wUG9zaXRpb24ud2lkdGggPiAwICYmIHRlbXBQb3NpdGlvbi5oZWlnaHQgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24gPSB0ZW1wUG9zaXRpb247XHJcbiAgICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24ucGFnZSA9IGk7XHJcbiAgICAgICAgICB0aGlzLnNob3dTaWdCdXllciA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlY29uZFNpZ25hdHVyZUZpZWxkKSB7XHJcbiAgICAgICAgY29uc3QgdGVtcFBvc2l0aW9uOiBUZXh0RGltZW5zaW9uID0gdGhpcy5fZ2V0UG9zaXRpb25TaWduYXR1cmUodGV4dCwgdGhpcy5zZWNvbmRTaWduYXR1cmVGaWVsZCk7XHJcbiAgICAgICAgaWYgKHRlbXBQb3NpdGlvbi53aWR0aCA+IDAgJiYgdGVtcFBvc2l0aW9uLmhlaWdodCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuc2lnU2VsbGVyUG9zaXRpb24gPSB0ZW1wUG9zaXRpb247XHJcbiAgICAgICAgICB0aGlzLnNpZ1NlbGxlclBvc2l0aW9uLnBhZ2UgPSBpO1xyXG4gICAgICAgICAgdGhpcy5zaG93U2lnU2VsbGVyID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFBvc2l0aW9uU2lnbmF0dXJlKHRleHRJdGVtOiBhbnksIHNpZ25hdHVyZUZpZWxkOiBzdHJpbmcpOiBUZXh0RGltZW5zaW9uIHtcclxuICAgIGNvbnN0IHNpZ0l0ZW06IFRleHRJdGVtID0gPFRleHRJdGVtPnRleHRJdGVtLml0ZW1zLmZpbmQoKGk6IGFueSkgPT4gaS5zdHIudG9Mb3dlckNhc2UoKSA9PT0gc2lnbmF0dXJlRmllbGQudG9Mb3dlckNhc2UoKSk7XHJcbiAgICBpZiAoc2lnSXRlbSkge1xyXG4gICAgICB0ZXh0SXRlbS5pdGVtcy5zbGljZSh0ZXh0SXRlbS5pdGVtcy5pbmRleE9mKHNpZ0l0ZW0pLCAxKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICB4OiBzaWdJdGVtLnRyYW5zZm9ybVs0XSxcclxuICAgICAgICB5OiBzaWdJdGVtLnRyYW5zZm9ybVs1XSxcclxuICAgICAgICB3aWR0aDogc2lnSXRlbS53aWR0aCxcclxuICAgICAgICBoZWlnaHQ6IHNpZ0l0ZW0uaGVpZ2h0LFxyXG4gICAgICAgIHBhZ2U6IDBcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB7eDogMCwgeTogMCwgd2lkdGg6IDAsIGhlaWdodDogMCwgcGFnZTogMH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3NhdmVTaWduYXR1cmUoc2lnOiBzdHJpbmcsIGRpbWVuc2lvbnM6IFRleHREaW1lbnNpb24pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IGpwZ0ltYWdlID0gYXdhaXQgdGhpcy5wZGZEb2MuZW1iZWRQbmcoc2lnKTtcclxuICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCB0aGlzLnBkZkRvYy5nZXRQYWdlKGRpbWVuc2lvbnMucGFnZSk7XHJcbiAgICBwYWdlLmRyYXdJbWFnZShqcGdJbWFnZSwge1xyXG4gICAgICB4OiAoKGRpbWVuc2lvbnMueCArIChkaW1lbnNpb25zLndpZHRoIC8gMikpIC0gKDIwMCAvIDIpKSxcclxuICAgICAgeTogKChkaW1lbnNpb25zLnkgKyAoZGltZW5zaW9ucy5oZWlnaHQgLyAyKSkgLSAoMTAwIC8gMikpLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgICBoZWlnaHQ6IDEwMFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -133,15 +133,17 @@ class DocsignComponent {
|
|
|
133
133
|
const text = yield page.getTextContent();
|
|
134
134
|
page.cleanup();
|
|
135
135
|
if (this.firstSignatureField) {
|
|
136
|
-
|
|
137
|
-
if (
|
|
136
|
+
const tempPosition = this._getPositionSignature(text, this.firstSignatureField);
|
|
137
|
+
if (tempPosition.width > 0 && tempPosition.height > 0) {
|
|
138
|
+
this.sigBuyerPosition = tempPosition;
|
|
138
139
|
this.sigBuyerPosition.page = i;
|
|
139
140
|
this.showSigBuyer = true;
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
143
|
if (this.secondSignatureField) {
|
|
143
|
-
|
|
144
|
-
if (
|
|
144
|
+
const tempPosition = this._getPositionSignature(text, this.secondSignatureField);
|
|
145
|
+
if (tempPosition.width > 0 && tempPosition.height > 0) {
|
|
146
|
+
this.sigSellerPosition = tempPosition;
|
|
145
147
|
this.sigSellerPosition.page = i;
|
|
146
148
|
this.showSigSeller = true;
|
|
147
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colijnit-sharedcomponents.js","sources":["../../../projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts","../../../projects/sharedcomponents/src/public-api.ts","../../../projects/sharedcomponents/src/colijnit-sharedcomponents.ts"],"sourcesContent":["import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {PDFDocument} from \"pdf-lib\";\r\nimport * as PDFJS from \"pdfjs-dist/legacy/build/pdf\";\r\nimport pdfjsWorker from \"pdfjs-dist/build/pdf.worker.entry\";\r\nimport {TextItem} from \"pdfjs-dist/types/src/display/api\";\r\n\r\nexport interface TextDimension {\r\n x: number,\r\n y: number,\r\n width: number,\r\n height: number,\r\n page: number\r\n}\r\n\r\n@Component({\r\n selector: \"ione-docsign\",\r\n template: `\r\n <iframe #iframe></iframe>\r\n <ione-signatures *ngIf=\"showSignatures\" @showHideSignature\r\n [showFirstSignature]=\"showSigBuyer\"\r\n [firstSignatureTitle]=\"firstSignatureLabel\"\r\n [showSecondSignature]=\"showSigSeller\"\r\n [secondSignatureTitle]=\"secondSignatureLabel\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (saveFirstSignature)=\"saveFirstSignature($event)\"\r\n (saveSecondSignature)=\"saveSecondSignature($event)\"\r\n ></ione-signatures>\r\n <input type=\"button\" *ngIf=\"(showSigBuyer || showSigSeller) && !showSignatures\" class=\"button button-sign-document\"\r\n [value]=\"signDocumentButtonLabel\"\r\n (click)=\"showSignatures = true\"\r\n />\r\n <input type=\"button\" class=\"button button-cancel\"\r\n [value]=\"cancelButtonLabel\"\r\n (click)=\"cancelClick.emit($event)\"\r\n />\r\n `,\r\n animations: [\r\n trigger(\"showHideSignature\", [\r\n state(\"void\", style({transform: \"translate(-50%, -50%) scale(0)\"})),\r\n state(\"*\", style({transform: \"translate(-50%, -50%) scale(1)\"})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\")),\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DocsignComponent {\r\n @ViewChild(\"iframe\", { read: ElementRef })\r\n public iframe: ElementRef;\r\n\r\n /**\r\n * Load an existing [[PDFDocument]]. The input data can be provided in\r\n * multiple formats:\r\n *\r\n * | Type | Contents |\r\n * | ------------- | ------------------------------------------------------ |\r\n * | `string` | A base64 encoded string (or data URI) containing a PDF |\r\n * | `Uint8Array` | The raw bytes of a PDF |\r\n * | `ArrayBuffer` | The raw bytes of a PDF |\r\n *\r\n * For example:\r\n * ```js\r\n * import { PDFDocument } from 'pdf-lib'\r\n *\r\n * // pdf=string\r\n * const base64 =\r\n * 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbm' +\r\n * 'd0aCAxMDQKPj4Kc3RyZWFtCniccwrhMlAAwaJ0Ln2P1Jyy1JLM5ERdc0MjCwUjE4WQNC4Q' +\r\n * '6cNlCFZkqGCqYGSqEJLLZWNuYGZiZmbkYuZsZmlmZGRgZmluDCQNzc3NTM2NzdzMXMxMjQ' +\r\n * 'ztFEKyuEK0uFxDuAAOERdVCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKPDwKL0ZpbHRl' +\r\n * 'ciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA0Ci9GaXJzdCAyMAovTGVuZ3RoID' +\r\n * 'IxNQo+PgpzdHJlYW0KeJxVj9GqwjAMhu/zFHkBzTo3nCCCiiKIHPEICuJF3cKoSCu2E8/b' +\r\n * '20wPIr1p8v9/8kVhgilmGfawX2CGaVrgcAi0/bsy0lrX7IGWpvJ4iJYEN3gEmrrGBlQwGs' +\r\n * 'HHO9VBX1wNrxAqMX87RBD5xpJuddqwd82tjAHxzV1U5LPgy52DKXWnr1Lheg+j/c/pzGVr' +\r\n * 'iqV0VlwZPXGPCJjElw/ybkwUmeoWgxesDXGhHJC/D/iikp1Av80ptKU0FdBEe25pPihAM1' +\r\n * 'u6ytgaaWfs2Hrz35CJT1+EWmAKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAovU2l6' +\r\n * 'ZSA4Ci9Sb290IDIgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW' +\r\n * '5ndGggMzgKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOCBdCj4+CnN0cmVhbQp4nBXEwREA' +\r\n * 'EBAEsCwz3vrvRmOOyyOoGhZdutHN2MT55fIAVocD+AplbmRzdHJlYW0KZW5kb2JqCgpzdG' +\r\n * 'FydHhyZWYKNTEwCiUlRU9G'\r\n *\r\n * const dataUri = 'data:application/pdf;base64,' + base64\r\n *\r\n * const pdfDoc1 = await PDFDocument.load(base64)\r\n * const pdfDoc2 = await PDFDocument.load(dataUri)\r\n *\r\n * // pdf=Uint8Array\r\n * import fs from 'fs'\r\n * const uint8Array = fs.readFileSync('with_update_sections.pdf')\r\n * const pdfDoc3 = await PDFDocument.load(uint8Array)\r\n *\r\n * // pdf=ArrayBuffer\r\n * const url = 'https://pdf-lib.js.org/assets/with_update_sections.pdf'\r\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\r\n * const pdfDoc4 = await PDFDocument.load(arrayBuffer)\r\n *\r\n * ```\r\n *\r\n * @param pdf The input data containing a PDF document.\r\n * @param options The options to be used when loading the document.\r\n * @returns Resolves with a document loaded from the input.\r\n */\r\n @Input()\r\n public set pdf(value: any) {\r\n if (value) {\r\n this._pdf = value;\r\n this._openPDF();\r\n }\r\n }\r\n\r\n public get pdf(): any {\r\n return this._pdf;\r\n }\r\n\r\n @Input()\r\n public firstSignatureLabel: string;\r\n\r\n @Input()\r\n public firstSignatureField: string;\r\n\r\n @Input()\r\n public secondSignatureLabel: string;\r\n\r\n @Input()\r\n public secondSignatureField: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Input()\r\n public signDocumentButtonLabel: string = 'SIGN_DOCUMENT';\r\n\r\n @Input()\r\n public cancelButtonLabel: string = 'CANCEL';\r\n\r\n @Output()\r\n public pdfSaved: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding('class.ione-docsign')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showSignaturePopup: boolean = false;\r\n public showSigBuyer: boolean = false;\r\n public sigBuyerPosition: TextDimension;\r\n public showSigSeller: boolean = false;\r\n public sigSellerPosition: TextDimension;\r\n public showSignatures: boolean = false;\r\n\r\n public pdfDoc: PDFDocument;\r\n\r\n private _pdf: any;\r\n\r\n public saveFirstSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigBuyerPosition);\r\n this.showSigBuyer = false;\r\n this._savePdf();\r\n }\r\n\r\n public saveSecondSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigSellerPosition);\r\n this.showSigSeller = false;\r\n this._savePdf();\r\n }\r\n\r\n private async _openPDF(): Promise<void> {\r\n // first create reader to check signatures\r\n this._checkSignatures();\r\n\r\n this.pdfDoc = await PDFDocument.load(this._pdf, {\r\n updateMetadata: false\r\n });\r\n const pdfDataUri = await this.pdfDoc.saveAsBase64({ dataUri: true });\r\n this.iframe.nativeElement.src = pdfDataUri;\r\n }\r\n\r\n private async _savePdf(): Promise<void> {\r\n if (!this.showSigBuyer && !this.showSigSeller) {\r\n // ready, save the pdf and emit result\r\n const result = await this.pdfDoc.saveAsBase64();\r\n this.pdfSaved.next(result);\r\n }\r\n }\r\n\r\n private async _checkSignatures(): Promise<void> {\r\n let pdfWorkerSrc;\r\n if (window.hasOwnProperty('pdfWorkerSrc') &&\r\n typeof (window as any).pdfWorkerSrc === 'string' &&\r\n (window as any).pdfWorkerSrc) {\r\n pdfWorkerSrc = (window as any).pdfWorkerSrc;\r\n }\r\n else {\r\n pdfWorkerSrc = pdfjsWorker;\r\n }\r\n PDFJS.GlobalWorkerOptions.workerSrc = pdfWorkerSrc;\r\n const pdfReader = await PDFJS.getDocument(this._pdf).promise;\r\n const numPages = pdfReader.numPages;\r\n for (let i = 0; i < numPages; i++) {\r\n const page = await pdfReader.getPage(i + 1);\r\n const text = await page.getTextContent();\r\n page.cleanup();\r\n if (this.firstSignatureField) {\r\n this.sigBuyerPosition = this._getPositionSignature(text, this.firstSignatureField);\r\n if (this.sigBuyerPosition.width > 0 && this.sigBuyerPosition.height > 0) {\r\n this.sigBuyerPosition.page = i;\r\n this.showSigBuyer = true;\r\n }\r\n }\r\n if (this.secondSignatureField) {\r\n this.sigSellerPosition = this._getPositionSignature(text, this.secondSignatureField);\r\n if (this.sigSellerPosition.width > 0 && this.sigSellerPosition.height > 0) {\r\n this.sigSellerPosition.page = i;\r\n this.showSigSeller = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _getPositionSignature(textItem: any, signatureField: string): TextDimension {\r\n const sigItem: TextItem = <TextItem>textItem.items.find((i: any) => i.str.toLowerCase() === signatureField.toLowerCase());\r\n if (sigItem) {\r\n textItem.items.slice(textItem.items.indexOf(sigItem), 1);\r\n return {\r\n x: sigItem.transform[4],\r\n y: sigItem.transform[5],\r\n width: sigItem.width,\r\n height: sigItem.height,\r\n page: 0\r\n };\r\n }\r\n return {x: 0, y: 0, width: 0, height: 0, page: 0}\r\n }\r\n\r\n private async _saveSignature(sig: string, dimensions: TextDimension): Promise<void> {\r\n const jpgImage = await this.pdfDoc.embedPng(sig);\r\n const page = await this.pdfDoc.getPage(dimensions.page);\r\n page.drawImage(jpgImage, {\r\n x: ((dimensions.x + (dimensions.width / 2)) - (200 / 2)),\r\n y: ((dimensions.y + (dimensions.height / 2)) - (100 / 2)),\r\n width: 200,\r\n height: 100\r\n });\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport SignaturePad from \"signature_pad\";\r\n\r\n@Component({\r\n selector: \"ione-signature\",\r\n template: `\r\n <div class=\"signature-wrapper\">\r\n <div class=\"signature-header\">\r\n <span *ngIf=\"title\" class=\"title\" [textContent]=\"title\"></span>\r\n <div class=\"button-wrapper\">\r\n <input type=\"button\" (click)=\"handleSave($event)\" [value]=\"saveButtonLabel\"/>\r\n <input type=\"button\" (click)=\"handleClear($event)\" [value]=\"clearButtonLabel\">\r\n </div>\r\n </div>\r\n <div class=\"canvas\">\r\n <canvas #signature></canvas>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignatureComponent {\r\n @ViewChild(\"signature\", {read: ElementRef}) set content(content: ElementRef) {\r\n if (content) {\r\n this.signatureCanvas = content;\r\n this._initCanvas();\r\n }\r\n }\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public save: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.ione-signature\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public signature: SignaturePad;\r\n public signatureCanvas: ElementRef;\r\n\r\n public handleSave(event: MouseEvent): void {\r\n // save canvas as svg\r\n // const sig: string = this.signature.toDataURL(\"image/svg+xml\");\r\n const sig: string = this.signature.toDataURL(\"image/png\");\r\n // emit signature string\r\n this.save.next(sig);\r\n }\r\n\r\n public handleClear(event: MouseEvent): void {\r\n if (this.signature) {\r\n this.signature.clear();\r\n }\r\n }\r\n\r\n private _initCanvas(): void {\r\n if (this.signatureCanvas && this.signatureCanvas.nativeElement) {\r\n this.signature = new SignaturePad(this.signatureCanvas.nativeElement);\r\n setTimeout(() => {\r\n this._resizeSignatureCanvas(this.signature, this.signatureCanvas);\r\n });\r\n }\r\n }\r\n\r\n private _resizeSignatureCanvas(signature: SignaturePad, signatureCanvas: ElementRef): void {\r\n const imageBeforeResize: string = signature.toDataURL();\r\n const ratio: number = Math.max(window.devicePixelRatio || 1, 1);\r\n signatureCanvas.nativeElement.width = signatureCanvas.nativeElement.offsetWidth * ratio;\r\n signatureCanvas.nativeElement.height = signatureCanvas.nativeElement.offsetHeight * ratio;\r\n signatureCanvas.nativeElement.getContext(\"2d\").scale(ratio, ratio);\r\n signature.fromDataURL(imageBeforeResize);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"ione-signatures\",\r\n template: `\r\n <ione-signature *ngIf=\"showFirstSignature\"\r\n [title]=\"firstSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveFirstSignature.emit($event)\"></ione-signature>\r\n <ione-signature *ngIf=\"showSecondSignature\"\r\n [title]=\"secondSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveSecondSignature.emit($event)\"></ione-signature>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignaturesComponent {\r\n\r\n @Input()\r\n public showFirstSignature: boolean = false;\r\n\r\n @Input()\r\n public firstSignatureTitle: string;\r\n\r\n @Input()\r\n public showSecondSignature: boolean = false;\r\n\r\n @Input()\r\n public secondSignatureTitle: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public saveFirstSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public saveSecondSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.ione-signatures\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DocsignComponent} from \"./docsign.component\";\r\nimport {SignatureComponent} from \"./component/signature/signature.component\";\r\nimport {SignaturesComponent} from \"./component/signatures/signatures.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n DocsignComponent,\r\n SignatureComponent,\r\n SignaturesComponent\r\n ],\r\n exports: [\r\n DocsignComponent\r\n ]\r\n})\r\nexport class DocsignModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of sharedcomponents\r\n */\r\n\r\nexport * from './lib/components/docsign/docsign.component';\r\nexport * from './lib/components/docsign/docsign.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {SignatureComponent as ɵa} from './lib/components/docsign/component/signature/signature.component';\nexport {SignaturesComponent as ɵb} from './lib/components/docsign/component/signatures/signatures.component';"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"colijnit-sharedcomponents.js","sources":["../../../projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts","../../../projects/sharedcomponents/src/public-api.ts","../../../projects/sharedcomponents/src/colijnit-sharedcomponents.ts"],"sourcesContent":["import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {PDFDocument} from \"pdf-lib\";\r\nimport * as PDFJS from \"pdfjs-dist/legacy/build/pdf\";\r\nimport pdfjsWorker from \"pdfjs-dist/build/pdf.worker.entry\";\r\nimport {TextItem} from \"pdfjs-dist/types/src/display/api\";\r\n\r\nexport interface TextDimension {\r\n x: number,\r\n y: number,\r\n width: number,\r\n height: number,\r\n page: number\r\n}\r\n\r\n@Component({\r\n selector: \"ione-docsign\",\r\n template: `\r\n <iframe #iframe></iframe>\r\n <ione-signatures *ngIf=\"showSignatures\" @showHideSignature\r\n [showFirstSignature]=\"showSigBuyer\"\r\n [firstSignatureTitle]=\"firstSignatureLabel\"\r\n [showSecondSignature]=\"showSigSeller\"\r\n [secondSignatureTitle]=\"secondSignatureLabel\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (saveFirstSignature)=\"saveFirstSignature($event)\"\r\n (saveSecondSignature)=\"saveSecondSignature($event)\"\r\n ></ione-signatures>\r\n <input type=\"button\" *ngIf=\"(showSigBuyer || showSigSeller) && !showSignatures\" class=\"button button-sign-document\"\r\n [value]=\"signDocumentButtonLabel\"\r\n (click)=\"showSignatures = true\"\r\n />\r\n <input type=\"button\" class=\"button button-cancel\"\r\n [value]=\"cancelButtonLabel\"\r\n (click)=\"cancelClick.emit($event)\"\r\n />\r\n `,\r\n animations: [\r\n trigger(\"showHideSignature\", [\r\n state(\"void\", style({transform: \"translate(-50%, -50%) scale(0)\"})),\r\n state(\"*\", style({transform: \"translate(-50%, -50%) scale(1)\"})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\")),\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DocsignComponent {\r\n @ViewChild(\"iframe\", { read: ElementRef })\r\n public iframe: ElementRef;\r\n\r\n /**\r\n * Load an existing [[PDFDocument]]. The input data can be provided in\r\n * multiple formats:\r\n *\r\n * | Type | Contents |\r\n * | ------------- | ------------------------------------------------------ |\r\n * | `string` | A base64 encoded string (or data URI) containing a PDF |\r\n * | `Uint8Array` | The raw bytes of a PDF |\r\n * | `ArrayBuffer` | The raw bytes of a PDF |\r\n *\r\n * For example:\r\n * ```js\r\n * import { PDFDocument } from 'pdf-lib'\r\n *\r\n * // pdf=string\r\n * const base64 =\r\n * 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbm' +\r\n * 'd0aCAxMDQKPj4Kc3RyZWFtCniccwrhMlAAwaJ0Ln2P1Jyy1JLM5ERdc0MjCwUjE4WQNC4Q' +\r\n * '6cNlCFZkqGCqYGSqEJLLZWNuYGZiZmbkYuZsZmlmZGRgZmluDCQNzc3NTM2NzdzMXMxMjQ' +\r\n * 'ztFEKyuEK0uFxDuAAOERdVCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKPDwKL0ZpbHRl' +\r\n * 'ciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA0Ci9GaXJzdCAyMAovTGVuZ3RoID' +\r\n * 'IxNQo+PgpzdHJlYW0KeJxVj9GqwjAMhu/zFHkBzTo3nCCCiiKIHPEICuJF3cKoSCu2E8/b' +\r\n * '20wPIr1p8v9/8kVhgilmGfawX2CGaVrgcAi0/bsy0lrX7IGWpvJ4iJYEN3gEmrrGBlQwGs' +\r\n * 'HHO9VBX1wNrxAqMX87RBD5xpJuddqwd82tjAHxzV1U5LPgy52DKXWnr1Lheg+j/c/pzGVr' +\r\n * 'iqV0VlwZPXGPCJjElw/ybkwUmeoWgxesDXGhHJC/D/iikp1Av80ptKU0FdBEe25pPihAM1' +\r\n * 'u6ytgaaWfs2Hrz35CJT1+EWmAKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAovU2l6' +\r\n * 'ZSA4Ci9Sb290IDIgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW' +\r\n * '5ndGggMzgKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOCBdCj4+CnN0cmVhbQp4nBXEwREA' +\r\n * 'EBAEsCwz3vrvRmOOyyOoGhZdutHN2MT55fIAVocD+AplbmRzdHJlYW0KZW5kb2JqCgpzdG' +\r\n * 'FydHhyZWYKNTEwCiUlRU9G'\r\n *\r\n * const dataUri = 'data:application/pdf;base64,' + base64\r\n *\r\n * const pdfDoc1 = await PDFDocument.load(base64)\r\n * const pdfDoc2 = await PDFDocument.load(dataUri)\r\n *\r\n * // pdf=Uint8Array\r\n * import fs from 'fs'\r\n * const uint8Array = fs.readFileSync('with_update_sections.pdf')\r\n * const pdfDoc3 = await PDFDocument.load(uint8Array)\r\n *\r\n * // pdf=ArrayBuffer\r\n * const url = 'https://pdf-lib.js.org/assets/with_update_sections.pdf'\r\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\r\n * const pdfDoc4 = await PDFDocument.load(arrayBuffer)\r\n *\r\n * ```\r\n *\r\n * @param pdf The input data containing a PDF document.\r\n * @param options The options to be used when loading the document.\r\n * @returns Resolves with a document loaded from the input.\r\n */\r\n @Input()\r\n public set pdf(value: any) {\r\n if (value) {\r\n this._pdf = value;\r\n this._openPDF();\r\n }\r\n }\r\n\r\n public get pdf(): any {\r\n return this._pdf;\r\n }\r\n\r\n @Input()\r\n public firstSignatureLabel: string;\r\n\r\n @Input()\r\n public firstSignatureField: string;\r\n\r\n @Input()\r\n public secondSignatureLabel: string;\r\n\r\n @Input()\r\n public secondSignatureField: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Input()\r\n public signDocumentButtonLabel: string = 'SIGN_DOCUMENT';\r\n\r\n @Input()\r\n public cancelButtonLabel: string = 'CANCEL';\r\n\r\n @Output()\r\n public pdfSaved: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding('class.ione-docsign')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showSignaturePopup: boolean = false;\r\n public showSigBuyer: boolean = false;\r\n public sigBuyerPosition: TextDimension;\r\n public showSigSeller: boolean = false;\r\n public sigSellerPosition: TextDimension;\r\n public showSignatures: boolean = false;\r\n\r\n public pdfDoc: PDFDocument;\r\n\r\n private _pdf: any;\r\n\r\n public saveFirstSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigBuyerPosition);\r\n this.showSigBuyer = false;\r\n this._savePdf();\r\n }\r\n\r\n public saveSecondSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigSellerPosition);\r\n this.showSigSeller = false;\r\n this._savePdf();\r\n }\r\n\r\n private async _openPDF(): Promise<void> {\r\n // first create reader to check signatures\r\n this._checkSignatures();\r\n\r\n this.pdfDoc = await PDFDocument.load(this._pdf, {\r\n updateMetadata: false\r\n });\r\n const pdfDataUri = await this.pdfDoc.saveAsBase64({ dataUri: true });\r\n this.iframe.nativeElement.src = pdfDataUri;\r\n }\r\n\r\n private async _savePdf(): Promise<void> {\r\n if (!this.showSigBuyer && !this.showSigSeller) {\r\n // ready, save the pdf and emit result\r\n const result = await this.pdfDoc.saveAsBase64();\r\n this.pdfSaved.next(result);\r\n }\r\n }\r\n\r\n private async _checkSignatures(): Promise<void> {\r\n let pdfWorkerSrc;\r\n if (window.hasOwnProperty('pdfWorkerSrc') &&\r\n typeof (window as any).pdfWorkerSrc === 'string' &&\r\n (window as any).pdfWorkerSrc) {\r\n pdfWorkerSrc = (window as any).pdfWorkerSrc;\r\n }\r\n else {\r\n pdfWorkerSrc = pdfjsWorker;\r\n }\r\n PDFJS.GlobalWorkerOptions.workerSrc = pdfWorkerSrc;\r\n const pdfReader = await PDFJS.getDocument(this._pdf).promise;\r\n const numPages = pdfReader.numPages;\r\n for (let i = 0; i < numPages; i++) {\r\n const page = await pdfReader.getPage(i + 1);\r\n const text = await page.getTextContent();\r\n page.cleanup();\r\n if (this.firstSignatureField) {\r\n const tempPosition: TextDimension = this._getPositionSignature(text, this.firstSignatureField);\r\n if (tempPosition.width > 0 && tempPosition.height > 0) {\r\n this.sigBuyerPosition = tempPosition;\r\n this.sigBuyerPosition.page = i;\r\n this.showSigBuyer = true;\r\n }\r\n }\r\n if (this.secondSignatureField) {\r\n const tempPosition: TextDimension = this._getPositionSignature(text, this.secondSignatureField);\r\n if (tempPosition.width > 0 && tempPosition.height > 0) {\r\n this.sigSellerPosition = tempPosition;\r\n this.sigSellerPosition.page = i;\r\n this.showSigSeller = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _getPositionSignature(textItem: any, signatureField: string): TextDimension {\r\n const sigItem: TextItem = <TextItem>textItem.items.find((i: any) => i.str.toLowerCase() === signatureField.toLowerCase());\r\n if (sigItem) {\r\n textItem.items.slice(textItem.items.indexOf(sigItem), 1);\r\n return {\r\n x: sigItem.transform[4],\r\n y: sigItem.transform[5],\r\n width: sigItem.width,\r\n height: sigItem.height,\r\n page: 0\r\n };\r\n }\r\n return {x: 0, y: 0, width: 0, height: 0, page: 0}\r\n }\r\n\r\n private async _saveSignature(sig: string, dimensions: TextDimension): Promise<void> {\r\n const jpgImage = await this.pdfDoc.embedPng(sig);\r\n const page = await this.pdfDoc.getPage(dimensions.page);\r\n page.drawImage(jpgImage, {\r\n x: ((dimensions.x + (dimensions.width / 2)) - (200 / 2)),\r\n y: ((dimensions.y + (dimensions.height / 2)) - (100 / 2)),\r\n width: 200,\r\n height: 100\r\n });\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport SignaturePad from \"signature_pad\";\r\n\r\n@Component({\r\n selector: \"ione-signature\",\r\n template: `\r\n <div class=\"signature-wrapper\">\r\n <div class=\"signature-header\">\r\n <span *ngIf=\"title\" class=\"title\" [textContent]=\"title\"></span>\r\n <div class=\"button-wrapper\">\r\n <input type=\"button\" (click)=\"handleSave($event)\" [value]=\"saveButtonLabel\"/>\r\n <input type=\"button\" (click)=\"handleClear($event)\" [value]=\"clearButtonLabel\">\r\n </div>\r\n </div>\r\n <div class=\"canvas\">\r\n <canvas #signature></canvas>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignatureComponent {\r\n @ViewChild(\"signature\", {read: ElementRef}) set content(content: ElementRef) {\r\n if (content) {\r\n this.signatureCanvas = content;\r\n this._initCanvas();\r\n }\r\n }\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public save: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.ione-signature\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public signature: SignaturePad;\r\n public signatureCanvas: ElementRef;\r\n\r\n public handleSave(event: MouseEvent): void {\r\n // save canvas as svg\r\n // const sig: string = this.signature.toDataURL(\"image/svg+xml\");\r\n const sig: string = this.signature.toDataURL(\"image/png\");\r\n // emit signature string\r\n this.save.next(sig);\r\n }\r\n\r\n public handleClear(event: MouseEvent): void {\r\n if (this.signature) {\r\n this.signature.clear();\r\n }\r\n }\r\n\r\n private _initCanvas(): void {\r\n if (this.signatureCanvas && this.signatureCanvas.nativeElement) {\r\n this.signature = new SignaturePad(this.signatureCanvas.nativeElement);\r\n setTimeout(() => {\r\n this._resizeSignatureCanvas(this.signature, this.signatureCanvas);\r\n });\r\n }\r\n }\r\n\r\n private _resizeSignatureCanvas(signature: SignaturePad, signatureCanvas: ElementRef): void {\r\n const imageBeforeResize: string = signature.toDataURL();\r\n const ratio: number = Math.max(window.devicePixelRatio || 1, 1);\r\n signatureCanvas.nativeElement.width = signatureCanvas.nativeElement.offsetWidth * ratio;\r\n signatureCanvas.nativeElement.height = signatureCanvas.nativeElement.offsetHeight * ratio;\r\n signatureCanvas.nativeElement.getContext(\"2d\").scale(ratio, ratio);\r\n signature.fromDataURL(imageBeforeResize);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"ione-signatures\",\r\n template: `\r\n <ione-signature *ngIf=\"showFirstSignature\"\r\n [title]=\"firstSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveFirstSignature.emit($event)\"></ione-signature>\r\n <ione-signature *ngIf=\"showSecondSignature\"\r\n [title]=\"secondSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveSecondSignature.emit($event)\"></ione-signature>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignaturesComponent {\r\n\r\n @Input()\r\n public showFirstSignature: boolean = false;\r\n\r\n @Input()\r\n public firstSignatureTitle: string;\r\n\r\n @Input()\r\n public showSecondSignature: boolean = false;\r\n\r\n @Input()\r\n public secondSignatureTitle: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public saveFirstSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public saveSecondSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.ione-signatures\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DocsignComponent} from \"./docsign.component\";\r\nimport {SignatureComponent} from \"./component/signature/signature.component\";\r\nimport {SignaturesComponent} from \"./component/signatures/signatures.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n DocsignComponent,\r\n SignatureComponent,\r\n SignaturesComponent\r\n ],\r\n exports: [\r\n DocsignComponent\r\n ]\r\n})\r\nexport class DocsignModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of sharedcomponents\r\n */\r\n\r\nexport * from './lib/components/docsign/docsign.component';\r\nexport * from './lib/components/docsign/docsign.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {SignatureComponent as ɵa} from './lib/components/docsign/component/signature/signature.component';\nexport {SignaturesComponent as ɵb} from './lib/components/docsign/component/signatures/signatures.component';"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@colijnit/sharedcomponents",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.11",
|
|
4
4
|
"private": false,
|
|
5
|
-
"
|
|
5
|
+
"dependencies": {
|
|
6
|
+
"@angular/animations": "^12.2.0",
|
|
7
|
+
"@angular/cdk": "^12.2.0",
|
|
6
8
|
"@angular/common": "^12.2.0",
|
|
9
|
+
"@angular/compiler": "^12.2.0",
|
|
7
10
|
"@angular/core": "^12.2.0",
|
|
11
|
+
"@angular/forms": "^12.2.0",
|
|
12
|
+
"@angular/platform-browser": "^12.2.0",
|
|
13
|
+
"@angular/platform-browser-dynamic": "^12.2.0",
|
|
14
|
+
"@angular/router": "^12.2.0",
|
|
15
|
+
"@colijnit/sharedapi": "1.0.3",
|
|
8
16
|
"pdf-lib": "^1.17.1",
|
|
9
17
|
"pdfjs-dist": "^2.12.313",
|
|
10
18
|
"rxjs": "~7.4.0",
|
|
11
19
|
"signature_pad": "^4.0.2",
|
|
20
|
+
"tslib": "^2.3.0",
|
|
12
21
|
"zone.js": "~0.11.4"
|
|
13
22
|
},
|
|
14
23
|
"main": "bundles/colijnit-sharedcomponents.umd.js",
|
|
@@ -18,8 +27,5 @@
|
|
|
18
27
|
"fesm2015": "fesm2015/colijnit-sharedcomponents.js",
|
|
19
28
|
"typings": "colijnit-sharedcomponents.d.ts",
|
|
20
29
|
"metadata": "colijnit-sharedcomponents.metadata.json",
|
|
21
|
-
"sideEffects": false
|
|
22
|
-
"dependencies": {
|
|
23
|
-
"tslib": "^2.3.0"
|
|
24
|
-
}
|
|
30
|
+
"sideEffects": false
|
|
25
31
|
}
|