@verdocs/web-sdk 2.0.1 → 2.0.3

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.
Files changed (96) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/{verdocs-envelope-recipient-summary.cjs.entry.js → verdocs-envelope-recipient-link_2.cjs.entry.js} +85 -3
  3. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +10 -24
  4. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +2 -2
  5. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +4 -2
  6. package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +56 -76
  7. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  8. package/dist/collection/collection-manifest.json +1 -0
  9. package/dist/collection/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.css +107 -0
  10. package/dist/collection/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.js +208 -0
  11. package/dist/collection/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.stories.js +13 -0
  12. package/dist/collection/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.js +1 -28
  13. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +13 -26
  14. package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.stories.js +1 -1
  15. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +6 -2
  16. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +6 -2
  17. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +6 -2
  18. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +6 -2
  19. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +6 -2
  20. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +13 -4
  21. package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +6 -2
  22. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +6 -2
  23. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +8 -4
  24. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +10 -4
  25. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +6 -2
  26. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +56 -76
  27. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.stories.js +1 -1
  28. package/dist/collection/components/templates/verdocs-templates-list/verdocs-templates-list.stories.js +5 -1
  29. package/dist/components/EnvelopeStore.js +81 -0
  30. package/dist/components/Envelopes.js +1 -1
  31. package/dist/components/index.d.ts +1 -0
  32. package/dist/components/index.js +1 -0
  33. package/dist/components/utils.js +1 -1
  34. package/dist/components/verdocs-envelope-recipient-link.d.ts +11 -0
  35. package/dist/components/verdocs-envelope-recipient-link.js +6 -0
  36. package/dist/components/verdocs-envelope-recipient-link2.js +120 -0
  37. package/dist/components/verdocs-envelope-recipient-summary2.js +2 -82
  38. package/dist/components/verdocs-envelope-sidebar.js +24 -30
  39. package/dist/components/verdocs-field-textarea.js +2 -2
  40. package/dist/components/verdocs-field-textbox.js +4 -2
  41. package/dist/components/verdocs-template-fields2.js +56 -76
  42. package/dist/docs.json +122 -29
  43. package/dist/esm/loader.js +1 -1
  44. package/dist/esm/{verdocs-envelope-recipient-summary.entry.js → verdocs-envelope-recipient-link_2.entry.js} +85 -4
  45. package/dist/esm/verdocs-envelope-sidebar.entry.js +11 -25
  46. package/dist/esm/verdocs-field-textarea.entry.js +2 -2
  47. package/dist/esm/verdocs-field-textbox.entry.js +4 -2
  48. package/dist/esm/verdocs-template-fields_4.entry.js +56 -76
  49. package/dist/esm/verdocs-web-sdk.js +1 -1
  50. package/dist/esm-es5/loader.js +1 -1
  51. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -0
  52. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  53. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  54. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  55. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  56. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  57. package/dist/types/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.d.ts +46 -0
  58. package/dist/types/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.stories.d.ts +8 -0
  59. package/dist/types/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.d.ts +1 -11
  60. package/dist/types/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.d.ts +1 -2
  61. package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +1 -0
  62. package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +1 -0
  63. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +1 -0
  64. package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +1 -0
  65. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +1 -0
  66. package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +6 -7
  67. package/dist/types/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +1 -0
  68. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +1 -0
  69. package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +1 -0
  70. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +1 -0
  71. package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +1 -0
  72. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +4 -1
  73. package/dist/types/components/templates/verdocs-templates-list/verdocs-templates-list.stories.d.ts +3 -1
  74. package/dist/types/components.d.ts +60 -22
  75. package/dist/verdocs-web-sdk/p-3872cedf.system.entry.js +1 -0
  76. package/dist/verdocs-web-sdk/p-3a4d619d.system.entry.js +1 -0
  77. package/dist/verdocs-web-sdk/{p-5fd70b07.system.entry.js → p-3cff566d.system.entry.js} +1 -1
  78. package/dist/verdocs-web-sdk/p-51f09ff0.system.entry.js +1 -0
  79. package/dist/verdocs-web-sdk/p-57aae7f1.entry.js +1 -0
  80. package/dist/verdocs-web-sdk/p-647cdb84.system.js +1 -1
  81. package/dist/verdocs-web-sdk/p-a7b2bda6.entry.js +1 -0
  82. package/dist/verdocs-web-sdk/{p-b49887e6.system.entry.js → p-bc4cda62.system.entry.js} +1 -1
  83. package/dist/verdocs-web-sdk/p-c0b4cda6.entry.js +1 -0
  84. package/dist/verdocs-web-sdk/p-c339ff0f.entry.js +1 -0
  85. package/dist/verdocs-web-sdk/p-e0379271.entry.js +1 -0
  86. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  87. package/package.json +1 -1
  88. package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +0 -1
  89. package/dist/verdocs-web-sdk/p-0df85bd4.entry.js +0 -1
  90. package/dist/verdocs-web-sdk/p-3e9c4c8a.entry.js +0 -1
  91. package/dist/verdocs-web-sdk/p-434dd9d9.system.entry.js +0 -1
  92. package/dist/verdocs-web-sdk/p-b8036fd4.system.entry.js +0 -1
  93. package/dist/verdocs-web-sdk/p-be8ff081.entry.js +0 -1
  94. package/dist/verdocs-web-sdk/p-d278b481.entry.js +0 -1
  95. package/dist/verdocs-web-sdk/p-e9c00342.system.entry.js +0 -1
  96. package/dist/verdocs-web-sdk/p-ea5cec2d.entry.js +0 -1
@@ -245,12 +245,16 @@ export class VerdocsFieldCheckbox {
245
245
  "text": "Event fired when the field's settings are changed."
246
246
  },
247
247
  "complexType": {
248
- "original": "{fieldName: string; settings: ITemplateFieldSetting}",
249
- "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; }",
248
+ "original": "{fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField}",
249
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField; }",
250
250
  "references": {
251
251
  "ITemplateFieldSetting": {
252
252
  "location": "import",
253
253
  "path": "@verdocs/js-sdk/Templates/Types"
254
+ },
255
+ "ITemplateField": {
256
+ "location": "import",
257
+ "path": "@verdocs/js-sdk/Templates/Types"
254
258
  }
255
259
  }
256
260
  }
@@ -273,12 +273,16 @@ export class VerdocsFieldDate {
273
273
  "text": "Event fired when the field's settings are changed."
274
274
  },
275
275
  "complexType": {
276
- "original": "{fieldName: string; settings: ITemplateFieldSetting}",
277
- "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; }",
276
+ "original": "{fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField}",
277
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField; }",
278
278
  "references": {
279
279
  "ITemplateFieldSetting": {
280
280
  "location": "import",
281
281
  "path": "@verdocs/js-sdk/Templates/Types"
282
+ },
283
+ "ITemplateField": {
284
+ "location": "import",
285
+ "path": "@verdocs/js-sdk/Templates/Types"
282
286
  }
283
287
  }
284
288
  }
@@ -249,12 +249,16 @@ export class VerdocsFieldDropdown {
249
249
  "text": "Event fired when the field's settings are changed."
250
250
  },
251
251
  "complexType": {
252
- "original": "{fieldName: string; settings: ITemplateFieldSetting}",
253
- "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; }",
252
+ "original": "{fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField}",
253
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField; }",
254
254
  "references": {
255
255
  "ITemplateFieldSetting": {
256
256
  "location": "import",
257
257
  "path": "@verdocs/js-sdk/Templates/Types"
258
+ },
259
+ "ITemplateField": {
260
+ "location": "import",
261
+ "path": "@verdocs/js-sdk/Templates/Types"
258
262
  }
259
263
  }
260
264
  }
@@ -320,12 +320,16 @@ export class VerdocsFieldInitial {
320
320
  "text": "Event fired when the field's settings are changed."
321
321
  },
322
322
  "complexType": {
323
- "original": "{fieldName: string; settings: ITemplateFieldSetting}",
324
- "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; }",
323
+ "original": "{fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField}",
324
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField; }",
325
325
  "references": {
326
326
  "ITemplateFieldSetting": {
327
327
  "location": "import",
328
328
  "path": "@verdocs/js-sdk/Templates/Types"
329
+ },
330
+ "ITemplateField": {
331
+ "location": "import",
332
+ "path": "@verdocs/js-sdk/Templates/Types"
329
333
  }
330
334
  }
331
335
  }
@@ -487,12 +487,21 @@ export class VerdocsFieldPayment {
487
487
  "composed": true,
488
488
  "docs": {
489
489
  "tags": [],
490
- "text": "Event fired when the field's settings are changed."
490
+ "text": ""
491
491
  },
492
492
  "complexType": {
493
- "original": "{fieldName: string}",
494
- "resolved": "{ fieldName: string; }",
495
- "references": {}
493
+ "original": "{fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField}",
494
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField; }",
495
+ "references": {
496
+ "ITemplateFieldSetting": {
497
+ "location": "import",
498
+ "path": "@verdocs/js-sdk/Templates/Types"
499
+ },
500
+ "ITemplateField": {
501
+ "location": "import",
502
+ "path": "@verdocs/js-sdk/Templates/Types"
503
+ }
504
+ }
496
505
  }
497
506
  }, {
498
507
  "method": "deleted",
@@ -249,12 +249,16 @@ export class VerdocsFieldRadioButton {
249
249
  "text": "Event fired when the field's settings are changed."
250
250
  },
251
251
  "complexType": {
252
- "original": "{fieldName: string; settings: ITemplateFieldSetting}",
253
- "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; }",
252
+ "original": "{fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField}",
253
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField; }",
254
254
  "references": {
255
255
  "ITemplateFieldSetting": {
256
256
  "location": "import",
257
257
  "path": "@verdocs/js-sdk/Templates/Types"
258
+ },
259
+ "ITemplateField": {
260
+ "location": "import",
261
+ "path": "@verdocs/js-sdk/Templates/Types"
258
262
  }
259
263
  }
260
264
  }
@@ -306,12 +306,16 @@ export class VerdocsFieldSignature {
306
306
  "text": "Event fired when the field's settings are changed."
307
307
  },
308
308
  "complexType": {
309
- "original": "{fieldName: string; settings: ITemplateFieldSetting}",
310
- "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; }",
309
+ "original": "{fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField}",
310
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField; }",
311
311
  "references": {
312
312
  "ITemplateFieldSetting": {
313
313
  "location": "import",
314
314
  "path": "@verdocs/js-sdk/Templates/Types"
315
+ },
316
+ "ITemplateField": {
317
+ "location": "import",
318
+ "path": "@verdocs/js-sdk/Templates/Types"
315
319
  }
316
320
  }
317
321
  }
@@ -76,9 +76,9 @@ export class VerdocsFieldTextarea {
76
76
  newSettings.x = Math.round(newSettings.x + translateX / this.xscale);
77
77
  newSettings.y = Math.round(newSettings.y - translateY / this.yscale);
78
78
  updateField(this.endpoint, this.templateid, this.field.name, { setting: newSettings })
79
- .then(() => {
79
+ .then(field => {
80
80
  var _a;
81
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name, settings: newSettings });
81
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name, settings: newSettings, field });
82
82
  Object.assign(e.target.dataset, { x: 0, y: 0, h: 0 });
83
83
  })
84
84
  .catch(e => console.log('Field update failed', e));
@@ -336,12 +336,16 @@ export class VerdocsFieldTextarea {
336
336
  "text": "Event fired when the field's settings are changed."
337
337
  },
338
338
  "complexType": {
339
- "original": "{fieldName: string; settings: ITemplateFieldSetting}",
340
- "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; }",
339
+ "original": "{fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField}",
340
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField; }",
341
341
  "references": {
342
342
  "ITemplateFieldSetting": {
343
343
  "location": "import",
344
344
  "path": "@verdocs/js-sdk/Templates/Types"
345
+ },
346
+ "ITemplateField": {
347
+ "location": "import",
348
+ "path": "@verdocs/js-sdk/Templates/Types"
345
349
  }
346
350
  }
347
351
  }
@@ -76,9 +76,10 @@ export class VerdocsFieldTextbox {
76
76
  newSettings.x = Math.round(newSettings.x + translateX / this.xscale);
77
77
  newSettings.y = Math.round(newSettings.y - translateY / this.yscale);
78
78
  updateField(this.endpoint, this.templateid, this.field.name, { setting: newSettings })
79
- .then(() => {
79
+ .then(field => {
80
80
  var _a;
81
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name, settings: newSettings });
81
+ console.log('update result', field);
82
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name, settings: newSettings, field });
82
83
  Object.assign(e.target.dataset, { x: 0, y: 0, h: 0 });
83
84
  })
84
85
  .catch(e => console.log('Field update failed', e));
@@ -101,6 +102,7 @@ export class VerdocsFieldTextbox {
101
102
  return this.hideSettingsPanel();
102
103
  }, onSettingsChanged: e => {
103
104
  var _a;
105
+ console.log('here');
104
106
  (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
105
107
  return this.hideSettingsPanel();
106
108
  }, helpText: 'Text boxes may be used to capture simple text input. Participant-entered values will be stored for later retrieval via the "name" field.<br /><br />If marked required, the participant must complete the field before proceeding.' })))));
@@ -340,12 +342,16 @@ export class VerdocsFieldTextbox {
340
342
  "text": "Event fired when the field's settings are changed."
341
343
  },
342
344
  "complexType": {
343
- "original": "{fieldName: string; settings: ITemplateFieldSetting}",
344
- "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; }",
345
+ "original": "{fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField}",
346
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField; }",
345
347
  "references": {
346
348
  "ITemplateFieldSetting": {
347
349
  "location": "import",
348
350
  "path": "@verdocs/js-sdk/Templates/Types"
351
+ },
352
+ "ITemplateField": {
353
+ "location": "import",
354
+ "path": "@verdocs/js-sdk/Templates/Types"
349
355
  }
350
356
  }
351
357
  }
@@ -236,12 +236,16 @@ export class VerdocsFieldTimestamp {
236
236
  "text": "Event fired when the field's settings are changed."
237
237
  },
238
238
  "complexType": {
239
- "original": "{fieldName: string; settings: ITemplateFieldSetting}",
240
- "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; }",
239
+ "original": "{fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField}",
240
+ "resolved": "{ fieldName: string; settings: ITemplateFieldSetting; field: ITemplateField; }",
241
241
  "references": {
242
242
  "ITemplateFieldSetting": {
243
243
  "location": "import",
244
244
  "path": "@verdocs/js-sdk/Templates/Types"
245
+ },
246
+ "ITemplateField": {
247
+ "location": "import",
248
+ "path": "@verdocs/js-sdk/Templates/Types"
245
249
  }
246
250
  }
247
251
  }
@@ -99,26 +99,27 @@ export class VerdocsTemplateFields {
99
99
  console.log('[FIELDS] handleFieldChange', field, e, optionId);
100
100
  this.rerender++;
101
101
  }
102
+ handleFieldSettingsChange(pageInfo, field, roleIndex, el, newFieldData) {
103
+ var _a, _b, _c, _d;
104
+ console.log('[FIELDS] Field settings changed', field.name, newFieldData);
105
+ Object.assign(field, newFieldData);
106
+ el.field = newFieldData;
107
+ this.selectedRoleName = field.role_name;
108
+ el.setAttribute('roleindex', getRoleIndex(getRoleNames(this.store), field.role_name));
109
+ el.field = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.fields.find(f => f.name === field.name);
110
+ this.rerender++;
111
+ el.setAttribute('rerender', this.rerender);
112
+ (_c = this.templateUpdated) === null || _c === void 0 ? void 0 : _c.emit({ endpoint: this.endpoint, template: (_d = this.store) === null || _d === void 0 ? void 0 : _d.state, event: 'updated-field' });
113
+ console.log('[FIELDS] Re-rendering field', field.name, pageInfo.pageNumber);
114
+ this.reRenderField(field, pageInfo.pageNumber);
115
+ const newEl = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
116
+ if (!newEl) {
117
+ return;
118
+ }
119
+ }
102
120
  attachFieldAttributes(pageInfo, field, roleIndex, el) {
103
121
  el.addEventListener('input', e => this.handleFieldChange(field, e));
104
- el.addEventListener('settingsChanged', e => {
105
- var _a, _b, _c, _d;
106
- console.log('[FIELDS] settingsChanged', e.detail);
107
- Object.assign(field, e.detail.field);
108
- this.selectedRoleName = field.role_name;
109
- el.field = e.detail.field;
110
- el.setAttribute('roleindex', getRoleIndex(getRoleNames(this.store), field.role_name));
111
- el.field = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.fields.find(f => f.name === field.name);
112
- this.rerender++;
113
- el.setAttribute('rerender', this.rerender);
114
- (_c = this.templateUpdated) === null || _c === void 0 ? void 0 : _c.emit({ endpoint: this.endpoint, template: (_d = this.store) === null || _d === void 0 ? void 0 : _d.state, event: 'updated-field' });
115
- console.log('[FIELDS] Re-rendering field', field.name, pageInfo.pageNumber);
116
- this.reRenderField(field, pageInfo.pageNumber);
117
- const newEl = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
118
- if (!newEl) {
119
- return;
120
- }
121
- });
122
+ el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, roleIndex, el, e.detail.field));
122
123
  el.addEventListener('deleted', () => {
123
124
  var _a, _b;
124
125
  console.log('[FIELDS] Deleted', this, field);
@@ -150,69 +151,52 @@ export class VerdocsTemplateFields {
150
151
  return;
151
152
  }
152
153
  if (Array.isArray(el)) {
153
- el.forEach(e => {
154
- this.attachFieldAttributes(pageInfo, field, roleIndex, e);
155
- interact(e).draggable({
156
- listeners: {
157
- start(event) {
158
- console.log('[FIELDS] Drag started', event.type, event.target);
159
- },
160
- move(event) {
161
- const oldX = +(event.target.getAttribute('posX') || 0);
162
- const oldY = +(event.target.getAttribute('posY') || 0);
163
- const xScale = +(event.target.getAttribute('xScale') || 1);
164
- const yScale = +(event.target.getAttribute('yScale') || 1);
165
- const newX = event.dx / xScale + oldX;
166
- const newY = event.dy / yScale + oldY;
167
- event.target.setAttribute('posX', newX);
168
- event.target.setAttribute('posy', newY);
169
- updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
170
- },
171
- end: this.handleMoveField.bind(this),
172
- },
173
- });
154
+ el.forEach(childEl => {
155
+ this.attachFieldAttributes(pageInfo, field, roleIndex, childEl);
156
+ this.makeDraggable(childEl);
174
157
  });
175
158
  }
176
159
  else {
177
160
  this.attachFieldAttributes(pageInfo, field, roleIndex, el);
178
- interact(el).draggable({
179
- listeners: {
180
- start(event) {
181
- console.log('[FIELDS] Drag started', event.type, event.target);
182
- },
183
- move(event) {
184
- const oldX = +(event.target.getAttribute('posX') || 0);
185
- const oldY = +(event.target.getAttribute('posY') || 0);
186
- const xScale = +(event.target.getAttribute('xScale') || 1);
187
- const yScale = +(event.target.getAttribute('yScale') || 1);
188
- const newX = event.dx / xScale + oldX;
189
- const newY = event.dy / yScale + oldY;
190
- event.target.setAttribute('posX', newX);
191
- event.target.setAttribute('posy', newY);
192
- updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
193
- },
194
- end: this.handleMoveField.bind(this),
195
- },
196
- });
161
+ this.makeDraggable(el);
197
162
  }
198
163
  }
199
- async handleMoveField(e) {
164
+ makeDraggable(el) {
165
+ interact(el).draggable({
166
+ listeners: {
167
+ move: this.handleMoveField.bind(this),
168
+ end: this.handleMoveEnd.bind(this),
169
+ },
170
+ });
171
+ }
172
+ async handleMoveField(event) {
173
+ const oldX = +(event.target.getAttribute('posX') || 0);
174
+ const oldY = +(event.target.getAttribute('posY') || 0);
175
+ const xScale = +(event.target.getAttribute('xScale') || 1);
176
+ const yScale = +(event.target.getAttribute('yScale') || 1);
177
+ const newX = event.dx / xScale + oldX;
178
+ const newY = event.dy / yScale + oldY;
179
+ event.target.setAttribute('posX', newX);
180
+ event.target.setAttribute('posy', newY);
181
+ updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
182
+ }
183
+ async handleMoveEnd(event) {
200
184
  var _a;
201
- const pageNumber = e.target.getAttribute('pageNumber');
185
+ const pageNumber = event.target.getAttribute('pageNumber');
202
186
  const { naturalWidth = 612, naturalHeight = 792, renderedHeight = 792 } = this.cachedPageInfo[pageNumber];
203
- console.log('[FIELDS] Drag ended', pageNumber, e.target);
204
- const clientRect = e.target.getBoundingClientRect();
205
- const parent = e.target.parentElement;
187
+ console.log('[FIELDS] Drag ended', pageNumber, event.target);
188
+ const clientRect = event.target.getBoundingClientRect();
189
+ const parent = event.target.parentElement;
206
190
  const parentRect = parent.getBoundingClientRect();
207
191
  // These two being backwards is not a mistake. Left measures "over" from the left (positive displacement) while bottom measures
208
192
  // "up" from the bottom (negative displacement).
209
193
  const newX = Math.max(clientRect.left - parentRect.left, 0);
210
194
  const newY = Math.max(renderedHeight - (parentRect.bottom - clientRect.bottom), 0);
211
- const { x, y } = this.viewCoordinatesToPageCoordinates(newX, newY, pageNumber, naturalWidth - e.rect.width, naturalHeight - e.rect.height);
212
- const name = e.target.getAttribute('name');
213
- const option = +(e.target.getAttribute('option') || '0');
195
+ const { x, y } = this.viewCoordinatesToPageCoordinates(newX, newY, pageNumber, naturalWidth - event.rect.width, naturalHeight - event.rect.height);
196
+ const name = event.target.getAttribute('name');
197
+ const option = +(event.target.getAttribute('option') || '0');
214
198
  const field = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state.fields.find(field => field.name === name);
215
- console.log('Will update', name, option, field);
199
+ console.log('[FIELDS] Will update', name, option, field);
216
200
  if (field) {
217
201
  switch (field.type) {
218
202
  case 'attachment':
@@ -238,20 +222,20 @@ export class VerdocsTemplateFields {
238
222
  }
239
223
  break;
240
224
  }
241
- await updateField(this.endpoint, this.templateId, name, field);
242
- this.handlePageRendered({ detail: this.cachedPageInfo[pageNumber] });
225
+ const newFieldData = await updateField(this.endpoint, this.templateId, name, field);
226
+ const pageInfo = this.cachedPageInfo[pageNumber];
227
+ const roleIndex = getRoleIndex(getRoleNames(this.store), field.role_name);
228
+ this.handleFieldSettingsChange(pageInfo, field, roleIndex, event.target, newFieldData);
243
229
  }
244
230
  }
245
231
  generateFieldName(type, pageNumber) {
246
- var _a, _b;
232
+ var _a;
247
233
  let i = 1;
248
234
  let fieldName;
249
235
  do {
250
236
  fieldName = `${type}P${pageNumber}-${i}`;
251
- console.log('testing field', fieldName);
252
237
  i++;
253
238
  } while ((_a = this.store) === null || _a === void 0 ? void 0 : _a.state.fields.some(field => field.name === fieldName));
254
- console.log('Will use field name', this, fieldName, (_b = this.store) === null || _b === void 0 ? void 0 : _b.state.fields);
255
239
  return fieldName;
256
240
  }
257
241
  // Scale the X,Y clicks to the virtual page dimensions. Also ensure the field doesn't go off the page.
@@ -264,15 +248,11 @@ export class VerdocsTemplateFields {
264
248
  async handleClickPage(e, pageNumber) {
265
249
  var _a, _b, _c;
266
250
  if (this.placing) {
267
- console.log('Placing field', this, this.selectedRoleName, this.placing, pageNumber, e.offsetX, e.offsetY);
268
- // console.log('Placing field', this.placing, page.sequence, e.offsetX, e.offsetY);
269
- // const pageNumber = page.sequence;
270
251
  const clickedX = e.offsetX;
271
252
  const clickedY = e.offsetY;
272
253
  const width = defaultWidth(this.placing);
273
254
  const height = defaultHeight(this.placing);
274
255
  const cachedPage = this.cachedPageInfo[pageNumber];
275
- // console.log('Cached page', cachedPage);
276
256
  const { naturalWidth = 612, naturalHeight = 792 } = cachedPage;
277
257
  const coords = this.viewCoordinatesToPageCoordinates(clickedX, clickedY, pageNumber, naturalWidth - width, naturalHeight - height);
278
258
  const x = Math.floor(coords.x);
@@ -3,7 +3,7 @@ export default {
3
3
  title: 'Templates/Fields',
4
4
  component: 'verdocs-template-fields',
5
5
  args: {
6
- templateId: '',
6
+ templateId: 'd2338742-f3a1-465b-8592-806587413cc1',
7
7
  },
8
8
  argTypes: {},
9
9
  parameters: {
@@ -10,9 +10,13 @@ export default {
10
10
  },
11
11
  argTypes: {
12
12
  onClose: { action: 'close' },
13
+ onEditTemplate: { action: 'editTemplate' },
14
+ onViewTemplate: { action: 'viewTemplate' },
13
15
  },
14
16
  parameters: {
15
17
  layout: 'fullscreen',
16
18
  },
17
19
  };
18
- export const TemplatesList = ({ onClose, templateId }) => html ` <verdocs-templates-list .templateId=${templateId} @close=${onClose} /> `;
20
+ export const TemplatesList = ({ onClose, onEditTemplate, onViewTemplate, templateId }) => html `
21
+ <verdocs-templates-list .templateId=${templateId} @close=${onClose} @viewTemplate=${onViewTemplate} @editTemplate=${onEditTemplate} />
22
+ `;
@@ -0,0 +1,81 @@
1
+ import { c as createStore } from './index3.js';
2
+ import { i as getEnvelope } from './Envelopes.js';
3
+
4
+ const createEnvelopeStore = (envelopeId) => {
5
+ const now = new Date().toISOString();
6
+ return createStore({
7
+ isLoading: true,
8
+ isLoaded: false,
9
+ isError: false,
10
+ error: null,
11
+ updateCount: 0,
12
+ roleNames: [],
13
+ id: envelopeId,
14
+ template_id: '',
15
+ name: '',
16
+ status: 'pending',
17
+ profile_id: '',
18
+ organization_id: '',
19
+ no_contact: false,
20
+ created_at: now,
21
+ updated_at: now,
22
+ canceled_at: null,
23
+ reminder_id: null,
24
+ envelope_document_id: '',
25
+ certificate_document_id: null,
26
+ visibility: 'private',
27
+ histories: [],
28
+ recipients: [],
29
+ profile: undefined,
30
+ certificate: undefined,
31
+ document: undefined,
32
+ documents: undefined,
33
+ fields: undefined,
34
+ });
35
+ };
36
+ const envelopeStores = {};
37
+ const getEnvelopeStore = async (endpoint, envelopeId, forceReload = false) => {
38
+ let created = false;
39
+ if (!envelopeStores[envelopeId]) {
40
+ console.debug('[ENVELOPES] No envelope store found for ID, creating', envelopeId);
41
+ envelopeStores[envelopeId] = createEnvelopeStore(envelopeId);
42
+ created = true;
43
+ }
44
+ const store = envelopeStores[envelopeId];
45
+ // NOTE: If we need it, store.use() returns an unsubcribe function
46
+ // See https://github.com/ionic-team/stencil-store#storeusesubscriptions
47
+ store.use({
48
+ reset: () => console.debug('[ENVELOPES] Store got reset'),
49
+ dispose: () => console.debug('[ENVELOPES] Store got disposed'),
50
+ });
51
+ // TODO: This can create a race condition if two components call this at the same time.
52
+ // For now we can probably defer doing something smart here because it's only a
53
+ // double-load issue.
54
+ if (created || forceReload) {
55
+ console.debug('[ENVELOPES] Reloading envelope', { envelopeId, created, forceReload });
56
+ store.state.isLoading = true;
57
+ store.state.isLoaded = false;
58
+ store.state.isError = false;
59
+ store.state.error = undefined;
60
+ try {
61
+ const envelope = await getEnvelope(endpoint, envelopeId);
62
+ console.debug('[ENVELOPES] Got envelope', envelope);
63
+ Object.assign(store.state, envelope);
64
+ store.state.isLoaded = true;
65
+ store.state.isError = false;
66
+ store.state.error = undefined;
67
+ }
68
+ catch (e) {
69
+ console.error('[ENVELOPES] Error loading envelope', e);
70
+ store.state.isLoaded = false;
71
+ store.state.isError = true;
72
+ store.state.error = e;
73
+ throw e;
74
+ }
75
+ store.state.isLoading = false;
76
+ store.state.updateCount++;
77
+ }
78
+ return store;
79
+ };
80
+
81
+ export { getEnvelopeStore as g };
@@ -195,4 +195,4 @@ var throttledGetEnvelope = function (endpoint, envelopeId) {
195
195
  });
196
196
  };
197
197
 
198
- export { getSigningSession as a, updateEnvelopeFieldSignature as b, cancelEnvelope as c, updateEnvelopeFieldInitials as d, getEnvelopeDocumentPageDisplayUri as e, getEnvelope as f, getSummary as g, getEnvelopeFile as h, getFieldAttachment as i, searchEnvelopes as s, throttledGetEnvelope as t, updateEnvelopeField as u };
198
+ export { getSigningSession as a, updateEnvelopeFieldSignature as b, cancelEnvelope as c, updateEnvelopeFieldInitials as d, getEnvelopeDocumentPageDisplayUri as e, getEnvelopeFile as f, getSummary as g, getFieldAttachment as h, getEnvelope as i, searchEnvelopes as s, throttledGetEnvelope as t, updateEnvelopeField as u };
@@ -10,6 +10,7 @@ export { VerdocsComponentError as VerdocsComponentError } from '../types/compone
10
10
  export { VerdocsContactPicker as VerdocsContactPicker } from '../types/components/envelopes/verdocs-contact-picker/verdocs-contact-picker';
11
11
  export { VerdocsDropdown as VerdocsDropdown } from '../types/components/controls/verdocs-dropdown/verdocs-dropdown';
12
12
  export { VerdocsEnvelopeDocumentPage as VerdocsEnvelopeDocumentPage } from '../types/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page';
13
+ export { VerdocsEnvelopeRecipientLink as VerdocsEnvelopeRecipientLink } from '../types/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link';
13
14
  export { VerdocsEnvelopeRecipientSummary as VerdocsEnvelopeRecipientSummary } from '../types/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary';
14
15
  export { VerdocsEnvelopeSidebar as VerdocsEnvelopeSidebar } from '../types/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar';
15
16
  export { VerdocsEnvelopesList as VerdocsEnvelopesList } from '../types/components/envelopes/verdocs-envelopes-list/verdocs-envelopes-list';
@@ -10,6 +10,7 @@ export { VerdocsComponentError, defineCustomElement as defineCustomElementVerdoc
10
10
  export { VerdocsContactPicker, defineCustomElement as defineCustomElementVerdocsContactPicker } from './verdocs-contact-picker.js';
11
11
  export { VerdocsDropdown, defineCustomElement as defineCustomElementVerdocsDropdown } from './verdocs-dropdown.js';
12
12
  export { VerdocsEnvelopeDocumentPage, defineCustomElement as defineCustomElementVerdocsEnvelopeDocumentPage } from './verdocs-envelope-document-page.js';
13
+ export { VerdocsEnvelopeRecipientLink, defineCustomElement as defineCustomElementVerdocsEnvelopeRecipientLink } from './verdocs-envelope-recipient-link.js';
13
14
  export { VerdocsEnvelopeRecipientSummary, defineCustomElement as defineCustomElementVerdocsEnvelopeRecipientSummary } from './verdocs-envelope-recipient-summary.js';
14
15
  export { VerdocsEnvelopeSidebar, defineCustomElement as defineCustomElementVerdocsEnvelopeSidebar } from './verdocs-envelope-sidebar.js';
15
16
  export { VerdocsEnvelopesList, defineCustomElement as defineCustomElementVerdocsEnvelopesList } from './verdocs-envelopes-list.js';
@@ -1,5 +1,5 @@
1
1
  import { a as createCommonjsModule, c as commonjsGlobal, b as commonjsRequire } from './_commonjsHelpers.js';
2
- import { h as getEnvelopeFile, i as getFieldAttachment } from './Envelopes.js';
2
+ import { f as getEnvelopeFile, h as getFieldAttachment } from './Envelopes.js';
3
3
  import './Types.js';
4
4
  import { d as downloadBlob } from './Files.js';
5
5
  import { a as FORMAT_DATE } from './Types2.js';
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface VerdocsEnvelopeRecipientLink extends Components.VerdocsEnvelopeRecipientLink, HTMLElement {}
4
+ export const VerdocsEnvelopeRecipientLink: {
5
+ prototype: VerdocsEnvelopeRecipientLink;
6
+ new (): VerdocsEnvelopeRecipientLink;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,6 @@
1
+ import { V as VerdocsEnvelopeRecipientLink$1, d as defineCustomElement$1 } from './verdocs-envelope-recipient-link2.js';
2
+
3
+ const VerdocsEnvelopeRecipientLink = VerdocsEnvelopeRecipientLink$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { VerdocsEnvelopeRecipientLink, defineCustomElement };