@@ -122,12 +122,27 @@ function setTypeaheadFieldValue(field, value) {
122
122
123
123
// Wait for form fields to be ready, as they get defined after translations are initialized
124
124
Fliplet ( ) . then ( function ( ) {
125
- Fliplet . Widget . instance ( 'form-builder' , function ( data ) {
126
- var saveDelay = 1000 ; // save progress after 1s from last input
127
- var selector = '[data-form-builder-id="' + data . id + '"]' ;
125
+ Fliplet . Widget . instance ( 'form-builder' , async function ( data , vm ) {
126
+ const saveDelay = 1000 ; // save progress after 1s from last input
127
+
128
+ if ( vm && vm . entry ) {
129
+ data . entryId = vm . entry . id ;
130
+ data . dataSourceId = vm . entry . dataSourceId ;
131
+ }
132
+
133
+ const selector = `[data-form-builder-id="${ data . id } "]` ;
134
+
135
+ const getRootElement = ( ) => {
136
+ if ( vm && vm . entry ) {
137
+ return vm . element . querySelector ( selector ) ;
138
+ }
139
+
140
+ return document . querySelector ( selector ) ;
141
+ } ;
142
+
128
143
var progressKey = 'form-builder-progress-' + ( data . uuid || data . id ) ;
129
144
130
- var entryId = ! Fliplet . Env . get ( 'interact' ) && data . dataSourceId && Fliplet . Navigate . query . dataSourceEntryId ;
145
+ const entryId = ! Fliplet . Env . get ( 'interact' ) && data . dataSourceId && ( data . entryId || Fliplet . Navigate . query . dataSourceEntryId ) ;
131
146
var formMode = Fliplet . Navigate . query . mode ;
132
147
var entry ;
133
148
var isResetAction = false ;
@@ -603,7 +618,7 @@ Fliplet().then(function() {
603
618
604
619
var $form = new Vue ( {
605
620
i18n : Fliplet . Locale . plugins . vue ( ) ,
606
- el : $ ( selector ) [ 0 ] ,
621
+ el : getRootElement ( ) ,
607
622
data : function ( ) {
608
623
return {
609
624
isFormValid : false ,
@@ -1402,7 +1417,7 @@ Fliplet().then(function() {
1402
1417
1403
1418
this . saveProgressed = debounce ( this . saveProgress , saveDelay ) ;
1404
1419
1405
- $ ( selector ) . removeClass ( 'hidden' ) ;
1420
+ $ ( getRootElement ( ) ) . removeClass ( 'hidden' ) ;
1406
1421
1407
1422
if ( ! data . offline ) {
1408
1423
Fliplet . Navigator . onOnline ( function ( ) {
0 commit comments