forked from formio/formio.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPDFBuilder.spec.js
62 lines (61 loc) · 1.79 KB
/
PDFBuilder.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import FormBuilder from './FormBuilder';
describe('Formio PDF Form Builder tests', () => {
it('Should emit change event when component position changed', (done) => {
const form = {
'type': 'form',
'components': [
{
'input': true,
'label': 'Text',
'key': 'text',
'type': 'textfield',
'overlay': {
'top': 135,
'left': 211.516,
'height': 20,
'width': 100,
'page': 1
}
},
{
'input': true,
'label': 'Submit',
'key': 'submit',
'action': 'submit',
'type': 'button'
}
],
'display': 'pdf',
'name': 'testPdfForm'
};
const element = document.createElement('div');
document.body.appendChild(element);
const builder = new FormBuilder(element, form, {});
builder.ready
.then(function(builder) {
let isPfdFormInitilized = false;
builder.on('change', function() {
if (isPfdFormInitilized) { //ignore any change events fired before initialized event
//remove builder elements from DOM
builder.destroy();
try {
document.body.removeChild(element);
}
catch (err) {
console.warn(err);
}
done();
}
else {
done();
}
});
builder.pdfForm.on('initialized', () => {
isPfdFormInitilized = true;
const component = Object.assign({}, builder.pdfForm.getComponent('text').component);
component.overlay = { 'top': 225, 'left': 405.516, 'height': 20, 'width': 100, 'page': 1 };
builder.pdfForm.emit('iframe-componentUpdate', component);
});
});
});
});