@verdocs/web-sdk 2.3.12 → 2.3.13
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/dist/cjs/TemplateFieldStore-7449e5ff.js +24 -0
- package/dist/cjs/{TemplateStore-17b9fdfe.js → TemplateStore-0074c71d.js} +2 -0
- package/dist/cjs/ipc-test.cjs.entry.js +2 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-button-panel_2.cjs.entry.js +60 -43
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +10 -1
- package/dist/cjs/verdocs-preview_8.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +41 -37
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +27 -1
- package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +61 -44
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +40 -36
- package/dist/collection/utils/TemplateFieldStore.js +18 -0
- package/dist/collection/utils/TemplateStore.js +2 -0
- package/dist/components/TemplateStore.js +20 -1
- package/dist/components/verdocs-field-textbox.js +10 -1
- package/dist/components/verdocs-preview2.js +1 -1
- package/dist/components/verdocs-template-field-properties2.js +61 -45
- package/dist/components/verdocs-template-fields2.js +40 -37
- package/dist/custom-elements.json +2071 -0
- package/dist/docs.json +18 -1
- package/dist/esm/TemplateFieldStore-4f1b6332.js +21 -0
- package/dist/esm/{TemplateStore-ad77a294.js → TemplateStore-a2ebdaca.js} +2 -0
- package/dist/esm/ipc-test.entry.js +2 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/verdocs-build.entry.js +2 -1
- package/dist/esm/verdocs-button-panel_2.entry.js +60 -43
- package/dist/esm/verdocs-field-textbox.entry.js +10 -1
- package/dist/esm/verdocs-preview_8.entry.js +2 -1
- package/dist/esm/verdocs-template-fields_4.entry.js +41 -37
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/TemplateFieldStore-4f1b6332.js +1 -0
- package/dist/esm-es5/TemplateStore-a2ebdaca.js +1 -0
- package/dist/esm-es5/ipc-test.entry.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview_8.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +7 -0
- package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +7 -5
- package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +4 -2
- package/dist/types/components.d.ts +8 -0
- package/dist/types/utils/TemplateFieldStore.d.ts +6 -0
- package/dist/types/utils/TemplateStore.d.ts +1 -1
- package/dist/verdocs-web-sdk/p-084c23e4.system.js +1 -0
- package/dist/verdocs-web-sdk/p-12d00a0f.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-32c40388.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-358aef29.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-3cd0d440.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-429cad70.js +1 -0
- package/dist/verdocs-web-sdk/p-4e74bb3c.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-588d6cea.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-b467d981.system.entry.js → p-5aa77f6d.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-5bf12ef8.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-72978ba3.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8dc15d33.js +1 -0
- package/dist/verdocs-web-sdk/p-a627881e.system.js +1 -0
- package/dist/verdocs-web-sdk/p-aae6b4e0.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-bd9ba3b3.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e3ffc00f.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +1 -1
- package/dist/esm-es5/TemplateStore-ad77a294.js +0 -1
- package/dist/verdocs-web-sdk/p-1c08edf7.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-746fce21.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-79168c6a.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-82b5e475.system.js +0 -1
- package/dist/verdocs-web-sdk/p-85df0da6.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9a5c0882.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9d2995a9.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ab98a02d.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ae83f4a0.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-da3faf4a.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e760f894.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f3dde708.js +0 -1
- package/dist/verdocs-web-sdk/p-fe67b620.system.entry.js +0 -1
@@ -5,7 +5,7 @@ import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
|
|
5
5
|
import { u as updateField, c as createField } from './Fields.js';
|
6
6
|
import { i as integerSequence } from './Primitives.js';
|
7
7
|
import { b as getRoleIndex, r as renderDocumentField, f as updateCssTransform, h as defaultWidth, i as defaultHeight } from './utils.js';
|
8
|
-
import { g as getTemplateStore,
|
8
|
+
import { g as getTemplateStore, c as createTemplateFieldStore, b as getRoleNames } from './TemplateStore.js';
|
9
9
|
import { S as SDKError } from './errors.js';
|
10
10
|
import { d as defineCustomElement$7 } from './verdocs-button2.js';
|
11
11
|
import { d as defineCustomElement$6 } from './verdocs-component-error2.js';
|
@@ -50,7 +50,8 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
50
50
|
this.sdkError = createEvent(this, "sdkError", 7);
|
51
51
|
this.templateUpdated = createEvent(this, "templateUpdated", 7);
|
52
52
|
this.pageHeights = {};
|
53
|
-
this.
|
53
|
+
this.templateStore = null;
|
54
|
+
this.fieldStore = null;
|
54
55
|
this.cachedPageInfo = {};
|
55
56
|
this.endpoint = VerdocsEndpoint.getDefault();
|
56
57
|
this.templateId = null;
|
@@ -72,9 +73,10 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
72
73
|
console.log('[FIELDS] Unable to start builder session, must be authenticated');
|
73
74
|
return;
|
74
75
|
}
|
75
|
-
this.
|
76
|
-
|
77
|
-
|
76
|
+
this.templateStore = await getTemplateStore(this.endpoint, this.templateId, true);
|
77
|
+
this.fieldStore = createTemplateFieldStore(this.templateStore.state);
|
78
|
+
console.log(`[FIELDS] Loaded template ${this.templateId}`, this.templateStore.state, this.fieldStore);
|
79
|
+
this.selectedRoleName = ((_d = (_c = (_b = (_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.name) || '';
|
78
80
|
console.log('[FIELDS] Starting with role', this.selectedRoleName);
|
79
81
|
}
|
80
82
|
catch (e) {
|
@@ -95,8 +97,8 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
95
97
|
componentWillUpdate() {
|
96
98
|
var _a, _b, _c, _d, _e, _f;
|
97
99
|
// If a new role was added and there were none yet so far, or the "selected" role was deleted, reset our selection
|
98
|
-
if (!this.selectedRoleName || !(((_b = (_a = this.
|
99
|
-
this.selectedRoleName = ((_f = (_e = (_d = (_c = this.
|
100
|
+
if (!this.selectedRoleName || !(((_b = (_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles) || []).find(role => role.name === this.selectedRoleName)) {
|
101
|
+
this.selectedRoleName = ((_f = (_e = (_d = (_c = this.templateStore) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.roles) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.name) || '';
|
100
102
|
console.log('[FIELDS] Selected new role', this.selectedRoleName);
|
101
103
|
}
|
102
104
|
}
|
@@ -110,35 +112,39 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
110
112
|
console.log('[FIELDS] handleFieldChange', field, e, optionId);
|
111
113
|
this.rerender++;
|
112
114
|
}
|
113
|
-
handleFieldSettingsChange(pageInfo, field,
|
114
|
-
var _a, _b
|
115
|
+
handleFieldSettingsChange(pageInfo, field, el, newFieldData) {
|
116
|
+
var _a, _b;
|
117
|
+
// handleFieldSettingsChange(pageInfo: any, field: any, roleIndex: number, el: any, newFieldData: any) {
|
115
118
|
console.log('[FIELDS] Field settings changed', field.name, newFieldData);
|
116
119
|
Object.assign(field, newFieldData);
|
117
120
|
el.field = newFieldData;
|
118
121
|
this.selectedRoleName = field.role_name;
|
119
|
-
el.setAttribute('roleindex', getRoleIndex(getRoleNames(this.
|
120
|
-
el.field =
|
122
|
+
el.setAttribute('roleindex', getRoleIndex(getRoleNames(this.templateStore), field.role_name));
|
123
|
+
el.field = this.fieldStore.get(field.name);
|
121
124
|
this.rerender++;
|
122
125
|
el.setAttribute('rerender', this.rerender);
|
123
|
-
(
|
126
|
+
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'updated-field' });
|
124
127
|
console.log('[FIELDS] Re-rendering field', field.name, pageInfo.pageNumber);
|
125
|
-
this.
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
128
|
+
this.fieldStore.set(field.name, field);
|
129
|
+
// this.reRenderField(field, pageInfo.pageNumber);
|
130
|
+
// const newEl = renderDocumentField(field, pageInfo, roleIndex, {disabled: true, editable: true, draggable: true});
|
131
|
+
// if (!newEl) {
|
132
|
+
// return;
|
133
|
+
// }
|
130
134
|
}
|
131
135
|
attachFieldAttributes(pageInfo, field, roleIndex, el) {
|
132
136
|
el.addEventListener('input', e => this.handleFieldChange(field, e));
|
133
|
-
el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field,
|
137
|
+
el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, el, e.detail.field));
|
138
|
+
// el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, roleIndex, el, e.detail.field));
|
134
139
|
el.addEventListener('deleted', () => {
|
135
140
|
var _a, _b;
|
136
141
|
console.log('[FIELDS] Deleted', this, field);
|
137
142
|
el.remove();
|
138
143
|
this.rerender++;
|
139
|
-
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.
|
144
|
+
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'updated-field' });
|
140
145
|
});
|
141
146
|
el.setAttribute('templateid', this.templateId);
|
147
|
+
el.setAttribute('fieldname', field.name);
|
142
148
|
el.setAttribute('roleindex', roleIndex);
|
143
149
|
el.setAttribute('pageNumber', pageInfo.pageNumber);
|
144
150
|
el.setAttribute('xScale', pageInfo.xScale);
|
@@ -146,17 +152,16 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
146
152
|
el.setAttribute('name', field.name);
|
147
153
|
}
|
148
154
|
handlePageRendered(e) {
|
149
|
-
var _a;
|
150
155
|
const pageInfo = e.detail;
|
151
156
|
console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo);
|
152
157
|
this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
|
153
158
|
this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
|
154
|
-
const fields = (
|
159
|
+
const fields = Object.values(this.fieldStore.state).filter(field => field.page_sequence === pageInfo.pageNumber);
|
155
160
|
fields.forEach(field => this.reRenderField(field, pageInfo.pageNumber));
|
156
161
|
}
|
157
162
|
reRenderField(field, pageNumber) {
|
158
163
|
const pageInfo = this.cachedPageInfo[pageNumber];
|
159
|
-
const roleIndex = getRoleIndex(getRoleNames(this.
|
164
|
+
const roleIndex = getRoleIndex(getRoleNames(this.templateStore), field.role_name);
|
160
165
|
const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
|
161
166
|
if (!el) {
|
162
167
|
return;
|
@@ -192,10 +197,9 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
192
197
|
updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
|
193
198
|
}
|
194
199
|
async handleMoveEnd(event) {
|
195
|
-
var _a;
|
196
200
|
const name = event.target.getAttribute('name');
|
197
201
|
const option = +(event.target.getAttribute('option') || '0');
|
198
|
-
const field =
|
202
|
+
const field = this.fieldStore.get(name);
|
199
203
|
console.log('Dropped field', name, field);
|
200
204
|
if (!field) {
|
201
205
|
console.log('[FIELDS] Unable to find field', name);
|
@@ -242,19 +246,19 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
242
246
|
console.log('[FIELDS] Will update', name, option, field);
|
243
247
|
const newFieldData = await updateField(this.endpoint, this.templateId, name, field);
|
244
248
|
const pageInfo = this.cachedPageInfo[pageNumber];
|
245
|
-
const roleIndex = getRoleIndex(getRoleNames(this.
|
246
|
-
this.handleFieldSettingsChange(pageInfo, field,
|
249
|
+
// const roleIndex = getRoleIndex(getRoleNames(this.templateStore), field.role_name);
|
250
|
+
this.handleFieldSettingsChange(pageInfo, field, event.target, newFieldData);
|
251
|
+
// this.handleFieldSettingsChange(pageInfo, field, roleIndex, event.target, newFieldData);
|
247
252
|
event.target.removeAttribute('posX');
|
248
253
|
event.target.removeAttribute('posY');
|
249
254
|
}
|
250
255
|
generateFieldName(type, pageNumber) {
|
251
|
-
var _a;
|
252
256
|
let i = 1;
|
253
257
|
let fieldName;
|
254
258
|
do {
|
255
259
|
fieldName = `${type}P${pageNumber}-${i}`;
|
256
260
|
i++;
|
257
|
-
} while ((
|
261
|
+
} while (Object.values(this.fieldStore.state).some(field => field.name === fieldName));
|
258
262
|
return fieldName;
|
259
263
|
}
|
260
264
|
// Scale the X,Y clicks to the virtual page dimensions. Also ensure the field doesn't go off the page.
|
@@ -266,7 +270,7 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
266
270
|
return { x, y };
|
267
271
|
}
|
268
272
|
async handleClickPage(e, pageNumber) {
|
269
|
-
var _a, _b
|
273
|
+
var _a, _b;
|
270
274
|
if (this.placing) {
|
271
275
|
const clickedX = e.offsetX;
|
272
276
|
const clickedY = e.offsetY;
|
@@ -293,6 +297,7 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
293
297
|
width,
|
294
298
|
height,
|
295
299
|
};
|
300
|
+
console.log('[FIELDS] Will save new field', field);
|
296
301
|
// TODO: Fix how the server validates all this. It uses a JSON schema and is very particular about shapes for each field type.
|
297
302
|
// That makes it harder for third party developers to create fields via API calls. It would be better to always set X/Y and
|
298
303
|
// let the server normalize the rest, discarding properties that are invalid and back-filling defaults as needed.
|
@@ -359,11 +364,9 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
359
364
|
}
|
360
365
|
const saved = await createField(this.endpoint, this.templateId, field);
|
361
366
|
console.log('Saved field', saved);
|
362
|
-
|
363
|
-
this.store.state.fields = [...(_a = this.store) === null || _a === void 0 ? void 0 : _a.state.fields, saved];
|
364
|
-
}
|
367
|
+
this.fieldStore.set(saved.name, saved);
|
365
368
|
this.placing = null;
|
366
|
-
(
|
369
|
+
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'added-field' });
|
367
370
|
this.handlePageRendered({ detail: this.cachedPageInfo[pageNumber] });
|
368
371
|
}
|
369
372
|
}
|
@@ -374,10 +377,10 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
374
377
|
return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
375
378
|
}
|
376
379
|
// TODO: Render a better error
|
377
|
-
if (!((_a = this.
|
380
|
+
if (!((_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state.isLoaded)) {
|
378
381
|
return (h(Host, null, h("verdocs-loader", null)));
|
379
382
|
}
|
380
|
-
const selectableRoles = (_c = (_b = this.
|
383
|
+
const selectableRoles = (_c = (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state) === null || _c === void 0 ? void 0 : _c.roles.map(role => ({ value: role.name, label: role.name }));
|
381
384
|
return (h(Host, { class: this.placing ? { [`placing-${this.placing}`]: true } : {}, "data-r": this.rerender, onSubmit: () => {
|
382
385
|
console.log('onSubmit');
|
383
386
|
} }, h("div", { id: "verdocs-template-fields-toolbar" }, h("div", { class: "add-for" }, "Add field:"), h("verdocs-select-input", { value: this.selectedRoleName, options: selectableRoles, onInput: (e) => (this.selectedRoleName = e.target.value) }), menuOptions.map(option => (h("verdocs-toolbar-icon", { text: option.tooltip, icon: option.icon, onClick: () => {
|
@@ -391,13 +394,13 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
391
394
|
this.showMustSelectRole = true;
|
392
395
|
}
|
393
396
|
}
|
394
|
-
} })))), h("div", { class: "pages" }, (((_e = (_d = this.
|
397
|
+
} })))), h("div", { class: "pages" }, (((_e = (_d = this.templateStore) === null || _d === void 0 ? void 0 : _d.state) === null || _e === void 0 ? void 0 : _e.template_documents) || []).map(document => {
|
395
398
|
const pageNumbers = integerSequence(1, document.page_numbers);
|
396
399
|
return pageNumbers.map(page => (h("verdocs-template-document-page", { templateId: this.templateId, documentId: document.id, pageNumber: page, virtualWidth: 612, virtualHeight: 792, onClick: (e) => this.handleClickPage(e, page), onPageRendered: e => this.handlePageRendered(e), layers: [
|
397
400
|
{ name: 'page', type: 'canvas' },
|
398
401
|
{ name: 'controls', type: 'div' },
|
399
402
|
] })));
|
400
|
-
})), this.showMustSelectRole && (h("verdocs-ok-dialog", { heading: "Unable to add field", message: ((_h = (_g = (_f = this.
|
403
|
+
})), this.showMustSelectRole && (h("verdocs-ok-dialog", { heading: "Unable to add field", message: ((_h = (_g = (_f = this.templateStore) === null || _f === void 0 ? void 0 : _f.state) === null || _g === void 0 ? void 0 : _g.roles) === null || _h === void 0 ? void 0 : _h.length) > 0 ? 'Please select a role before adding fields.' : 'Please add at least one role before adding fields.', onNext: () => (this.showMustSelectRole = false) }))));
|
401
404
|
}
|
402
405
|
static get style() { return verdocsTemplateFieldsCss; }
|
403
406
|
}, [0, "verdocs-template-fields", {
|