@budibase/server 1.0.161 → 1.0.162

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 (169) hide show
  1. package/builder/assets/{index.29f75f3c.js → index.54fa98bf.js} +1 -1
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +96 -88
  4. package/coverage/coverage-final.json +2 -2
  5. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/index.html +1 -1
  15. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/index.html +24 -24
  40. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/utils.js.html +14 -8
  42. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +111 -48
  43. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  44. package/coverage/lcov-report/api/index.html +1 -1
  45. package/coverage/lcov-report/api/index.js.html +1 -1
  46. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/index.html +1 -1
  57. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  71. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  74. package/coverage/lcov-report/automations/actions.js.html +1 -1
  75. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  76. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  77. package/coverage/lcov-report/automations/index.html +1 -1
  78. package/coverage/lcov-report/automations/index.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/index.html +1 -1
  86. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  105. package/coverage/lcov-report/constants/index.html +1 -1
  106. package/coverage/lcov-report/constants/index.js.html +1 -1
  107. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  108. package/coverage/lcov-report/constants/screens.js.html +1 -1
  109. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  110. package/coverage/lcov-report/db/index.html +1 -1
  111. package/coverage/lcov-report/db/index.js.html +1 -1
  112. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  113. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  114. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  116. package/coverage/lcov-report/db/newid.js.html +1 -1
  117. package/coverage/lcov-report/db/utils.js.html +1 -1
  118. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  119. package/coverage/lcov-report/events/index.html +1 -1
  120. package/coverage/lcov-report/events/index.js.html +1 -1
  121. package/coverage/lcov-report/events/utils.js.html +1 -1
  122. package/coverage/lcov-report/index.html +19 -19
  123. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  124. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  125. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  126. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  127. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  128. package/coverage/lcov-report/middleware/index.html +1 -1
  129. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  130. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  131. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  132. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  133. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  134. package/coverage/lcov-report/threads/automation.js.html +1 -1
  135. package/coverage/lcov-report/threads/index.html +1 -1
  136. package/coverage/lcov-report/threads/query.js.html +1 -1
  137. package/coverage/lcov-report/threads/utils.js.html +1 -1
  138. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  139. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  140. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  141. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  142. package/coverage/lcov-report/utilities/global.js.html +1 -1
  143. package/coverage/lcov-report/utilities/index.html +1 -1
  144. package/coverage/lcov-report/utilities/index.js.html +1 -1
  145. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  146. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  147. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  148. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  149. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  150. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  151. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  152. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  153. package/coverage/lcov-report/utilities/security.js.html +1 -1
  154. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  155. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  156. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  157. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  158. package/coverage/lcov-report/utilities/users.js.html +1 -1
  159. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  160. package/coverage/lcov.info +164 -148
  161. package/dist/api/controllers/view/utils.js +4 -2
  162. package/dist/api/controllers/view/viewBuilder.js +22 -8
  163. package/dist/package.json +5 -5
  164. package/dist/tsconfig.build.tsbuildinfo +1 -1
  165. package/package.json +6 -6
  166. package/src/api/controllers/view/tests/__snapshots__/viewBuilder.spec.js.snap +58 -1
  167. package/src/api/controllers/view/tests/viewBuilder.spec.js +18 -0
  168. package/src/api/controllers/view/utils.js +4 -2
  169. package/src/api/controllers/view/viewBuilder.js +32 -11
@@ -1246,7 +1246,7 @@ function print() { __p += __j.call(arguments, '') }
1246
1246
  `),t=j("i"),i=F(n),l=F("?"),s=F(`
1247
1247
  This action cannot be undone.`)},m(o,a){$(o,e,a),$(o,t,a),N(t,i),N(t,l),$(o,s,a)},p(o,a){a&1&&n!==(n=o[0].name+"")&&Oe(i,n)},d(o){o&&b(e),o&&b(t),o&&b(s)}}}function p1e(r){let e,t,n,i,l,s;e=new wr({props:{$$slots:{control:[f1e],default:[u1e]},$$scope:{ctx:r}}});let o={okText:"Delete Automation",onOk:r[3],title:"Confirm Deletion",$$slots:{default:[c1e]},$$scope:{ctx:r}};n=new fr({props:o}),r[4](n);let a={automation:r[0]};return l=new s1e({props:a}),r[5](l),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment)},m(u,f){A(e,u,f),$(u,t,f),A(n,u,f),$(u,i,f),A(l,u,f),s=!0},p(u,[f]){const c={};f&134&&(c.$$scope={dirty:f,ctx:u}),e.$set(c);const p={};f&129&&(p.$$scope={dirty:f,ctx:u}),n.$set(p);const d={};f&1&&(d.automation=u[0]),l.$set(d)},i(u){s||(m(e.$$.fragment,u),m(n.$$.fragment,u),m(l.$$.fragment,u),s=!0)},o(u){_(e.$$.fragment,u),_(n.$$.fragment,u),_(l.$$.fragment,u),s=!1},d(u){E(e,u),u&&b(t),r[4](null),E(n,u),u&&b(i),r[5](null),E(l,u)}}}function d1e(r,e,t){let n;fe(r,Ut,f=>t(6,n=f));let{automation:i}=e,l,s;async function o(){try{await Qt.actions.delete(i),we.success("Automation deleted successfully"),n("../automate")}catch{we.error("Error deleting automation")}}function a(f){K[f?"unshift":"push"](()=>{l=f,t(1,l)})}function u(f){K[f?"unshift":"push"](()=>{s=f,t(2,s)})}return r.$$set=f=>{"automation"in f&&t(0,i=f.automation)},[i,l,s,o,a,u]}class m1e extends se{constructor(e){super();oe(this,e,d1e,p1e,ie,{automation:0})}}function xy(r,e,t){const n=r.slice();return n[5]=e[t],n[7]=t,n}function g1e(r){let e,t,n;return e=new m1e({props:{automation:r[5]}}),{c(){S(e.$$.fragment),t=R()},m(i,l){A(e,i,l),$(i,t,l),n=!0},p(i,l){const s={};l&1&&(s.automation=i[5]),e.$set(s)},i(i){n||(m(e.$$.fragment,i),n=!0)},o(i){_(e.$$.fragment,i),n=!1},d(i){E(e,i),i&&b(t)}}}function e7(r){let e,t;function n(){return r[3](r[5])}return e=new Ll({props:{border:r[7]>0,icon:"ShareAndroid",text:r[5].name,selected:r[5]._id===r[1],$$slots:{default:[g1e]},$$scope:{ctx:r}}}),e.$on("click",n),{c(){S(e.$$.fragment)},m(i,l){A(e,i,l),t=!0},p(i,l){r=i;const s={};l&1&&(s.text=r[5].name),l&3&&(s.selected=r[5]._id===r[1]),l&257&&(s.$$scope={dirty:l,ctx:r}),e.$set(s)},i(i){t||(m(e.$$.fragment,i),t=!0)},o(i){_(e.$$.fragment,i),t=!1},d(i){E(e,i)}}}function _1e(r){let e,t,n=r[0].automations,i=[];for(let s=0;s<n.length;s+=1)i[s]=e7(xy(r,n,s));const l=s=>_(i[s],1,1,()=>{i[s]=null});return{c(){e=j("div");for(let s=0;s<i.length;s+=1)i[s].c();w(e,"class","automations-list svelte-g64vb")},m(s,o){$(s,e,o);for(let a=0;a<i.length;a+=1)i[a].m(e,null);t=!0},p(s,[o]){if(o&7){n=s[0].automations;let a;for(a=0;a<n.length;a+=1){const u=xy(s,n,a);i[a]?(i[a].p(u,o),m(i[a],1)):(i[a]=e7(u),i[a].c(),m(i[a],1),i[a].m(e,null))}for(ee(),a=n.length;a<i.length;a+=1)l(a);te()}},i(s){if(!t){for(let o=0;o<n.length;o+=1)m(i[o]);t=!0}},o(s){i=i.filter(Boolean);for(let o=0;o<i.length;o+=1)_(i[o]);t=!1},d(s){s&&b(e),gt(i,s)}}}function h1e(r,e,t){let n,i,l;fe(r,Ut,a=>t(4,i=a)),fe(r,Qt,a=>t(0,l=a)),qt(async()=>{try{await Qt.actions.fetch()}catch{we.error("Error getting automations list")}});function s(a){Qt.actions.select(a),i(`./${a._id}`)}const o=a=>s(a);return r.$$.update=()=>{var a,u;r.$$.dirty&1&&t(1,n=(u=(a=l.selectedAutomation)==null?void 0:a.automation)==null?void 0:u._id)},[l,n,s,o]}class $1e extends se{constructor(e){super();oe(this,e,h1e,_1e,ie,{})}}function t7(r,e,t){const n=r.slice();return n[17]=e[t][0],n[18]=e[t][1],n}function b1e(r){let e;return{c(){e=F(`Please name your automation, then select a trigger. Every automation must
1248
1248
  start with a trigger.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function v1e(r){let e;return{c(){e=F("Triggers")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function w1e(r){let e=r[18].name+"",t;return{c(){t=F(e)},m(n,i){$(n,t,i)},p(n,i){i&8&&e!==(e=n[18].name+"")&&Oe(t,e)},d(n){n&&b(t)}}}function n7(r){let e,t,n,i,l,s,o,a,u,f;n=new ut({props:{name:r[18].icon}}),s=new Ye({props:{size:"S",$$slots:{default:[w1e]},$$scope:{ctx:r}}});function c(){return r[13](r[18])}return{c(){e=j("div"),t=j("div"),S(n.$$.fragment),i=R(),l=j("span"),S(s.$$.fragment),o=R(),w(l,"class","icon-spacing svelte-d3iboa"),w(t,"class","item-body svelte-d3iboa"),w(e,"class","item svelte-d3iboa"),ae(e,"selected",r[2]===r[18].name)},m(p,d){$(p,e,d),N(e,t),A(n,t,null),N(t,i),N(t,l),A(s,l,null),N(e,o),a=!0,u||(f=Ne(e,"click",c),u=!0)},p(p,d){r=p;const g={};d&8&&(g.name=r[18].icon),n.$set(g);const h={};d&2097160&&(h.$$scope={dirty:d,ctx:r}),s.$set(h),d&12&&ae(e,"selected",r[2]===r[18].name)},i(p){a||(m(n.$$.fragment,p),m(s.$$.fragment,p),a=!0)},o(p){_(n.$$.fragment,p),_(s.$$.fragment,p),a=!1},d(p){p&&b(e),E(n),E(s),u=!1,f()}}}function y1e(r){let e,t,n,i;e=new Ye({props:{size:"S",$$slots:{default:[v1e]},$$scope:{ctx:r}}});let l=r[3],s=[];for(let a=0;a<l.length;a+=1)s[a]=n7(t7(r,l,a));const o=a=>_(s[a],1,1,()=>{s[a]=null});return{c(){S(e.$$.fragment),t=R(),n=j("div");for(let a=0;a<s.length;a+=1)s[a].c();w(n,"class","item-list svelte-d3iboa")},m(a,u){A(e,a,u),$(a,t,u),$(a,n,u);for(let f=0;f<s.length;f+=1)s[f].m(n,null);i=!0},p(a,u){const f={};if(u&2097152&&(f.$$scope={dirty:u,ctx:a}),e.$set(f),u&76){l=a[3];let c;for(c=0;c<l.length;c+=1){const p=t7(a,l,c);s[c]?(s[c].p(p,u),m(s[c],1)):(s[c]=n7(p),s[c].c(),m(s[c],1),s[c].m(n,null))}for(ee(),c=l.length;c<s.length;c+=1)o(c);te()}},i(a){if(!i){m(e.$$.fragment,a);for(let u=0;u<l.length;u+=1)m(s[u]);i=!0}},o(a){_(e.$$.fragment,a),s=s.filter(Boolean);for(let u=0;u<s.length;u+=1)_(s[u]);i=!1},d(a){E(e,a),a&&b(t),a&&b(n),gt(s,a)}}}function k1e(r){let e,t,n,i,l,s,o,a,u,f;e=new s1({props:{header:"You must publish your app to activate your automations.",message:"To test your automation before publishing, you can use the 'Run Test' functionality on the next screen."}}),n=new Ye({props:{size:"XS",$$slots:{default:[b1e]},$$scope:{ctx:r}}});function c(g){r[10](g)}function p(g){r[11](g)}let d={label:"Name"};return r[0]!==void 0&&(d.value=r[0]),r[4]!==void 0&&(d.error=r[4]),l=new nt({props:d}),K.push(()=>de(l,"value",c)),K.push(()=>de(l,"error",p)),l.$on("change",r[12]),u=new Ve({props:{noPadding:!0,$$slots:{default:[y1e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment),a=R(),S(u.$$.fragment)},m(g,h){A(e,g,h),$(g,t,h),A(n,g,h),$(g,i,h),A(l,g,h),$(g,a,h),A(u,g,h),f=!0},p(g,h){const v={};h&2097152&&(v.$$scope={dirty:h,ctx:g}),n.$set(v);const y={};!s&&h&1&&(s=!0,y.value=g[0],me(()=>s=!1)),!o&&h&16&&(o=!0,y.error=g[4],me(()=>o=!1)),l.$set(y);const k={};h&2097164&&(k.$$scope={dirty:h,ctx:g}),u.$set(k)},i(g){f||(m(e.$$.fragment,g),m(n.$$.fragment,g),m(l.$$.fragment,g),m(u.$$.fragment,g),f=!0)},o(g){_(e.$$.fragment,g),_(n.$$.fragment,g),_(l.$$.fragment,g),_(u.$$.fragment,g),f=!1},d(g){E(e,g),g&&b(t),E(n,g),g&&b(i),E(l,g),g&&b(a),E(u,g)}}}function C1e(r){let e,t;return e=new Nt({props:{title:"Create Automation",confirmText:"Save",size:"M",onConfirm:r[5],disabled:!r[2]||!r[0],$$slots:{default:[k1e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,[i]){const l={};i&5&&(l.disabled=!n[2]||!n[0]),i&2097183&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function S1e(r,e,t){let n,i,l,s,o,a;fe(r,Qt,T=>t(8,s=T)),fe(r,Ut,T=>t(16,o=T)),fe(r,Ss,T=>t(9,a=T));let u,f,c=!1,p,{webhookModal:d}=e;async function g(){var T;try{await Qt.actions.create({name:u,instanceId:n});const O=s.selectedAutomation.constructBlock("TRIGGER",p.stepId,p);Qt.actions.addBlockToAutomation(O),p.stepId==="WEBHOOK"&&d.show,await Qt.actions.save((T=s.selectedAutomation)==null?void 0:T.automation),we.success(`Automation ${u} created`),o(`./${s.selectedAutomation.automation._id}`),Ln.captureEvent(Nn.AUTOMATION.CREATED,{name:u})}catch{we.error("Error creating automation")}}const h=T=>{p=T,t(2,f=T.name)};function v(T){u=T,t(0,u)}function y(T){i=T,t(4,i),t(1,c),t(0,u)}const k=()=>t(1,c=!0),I=T=>h(T);return r.$$set=T=>{"webhookModal"in T&&t(7,d=T.webhookModal)},r.$$.update=()=>{r.$$.dirty&512&&(n=a._id),r.$$.dirty&3&&t(4,i=c&&!u?"Please specify a name for the automation.":null),r.$$.dirty&256&&t(3,l=Object.entries(s.blockDefinitions.TRIGGER))},[u,c,f,l,i,g,h,d,s,a,v,y,k,I]}class r7 extends se{constructor(e){super();oe(this,e,S1e,C1e,ie,{webhookModal:7})}}function A1e(r){let e,t;return e=new r7({props:{webhookModal:r[1]}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&2&&(l.webhookModal=n[1]),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function E1e(r){let e,t,n,i;e=new $1e({});let l={$$slots:{default:[A1e]},$$scope:{ctx:r}};return n=new kt({props:l}),r[2](n),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(s,o){A(e,s,o),$(s,t,o),A(n,s,o),i=!0},p(s,o){const a={};o&10&&(a.$$scope={dirty:o,ctx:s}),n.$set(a)},i(s){i||(m(e.$$.fragment,s),m(n.$$.fragment,s),i=!0)},o(s){_(e.$$.fragment,s),_(n.$$.fragment,s),i=!1},d(s){E(e,s),s&&b(t),r[2](null),E(n,s)}}}function O1e(r){let e,t;return e=new bn({props:{title:"Automations",$$slots:{default:[E1e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&11&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function T1e(r){let e,t,n,i,l,s;return t=new Vr({props:{selected:"Automations",$$slots:{default:[O1e]},$$scope:{ctx:r}}}),l=new ut({props:{hoverable:!0,name:"AddCircle"}}),l.$on("click",function(){ft(r[0].show)&&r[0].show.apply(this,arguments)}),{c(){e=j("div"),S(t.$$.fragment),n=R(),i=j("div"),S(l.$$.fragment),w(i,"class","add-button svelte-mcmub4"),w(e,"class","title svelte-mcmub4")},m(o,a){$(o,e,a),A(t,e,null),N(e,n),N(e,i),A(l,i,null),s=!0},p(o,[a]){r=o;const u={};a&11&&(u.$$scope={dirty:a,ctx:r}),t.$set(u)},i(o){s||(m(t.$$.fragment,o),m(l.$$.fragment,o),s=!0)},o(o){_(t.$$.fragment,o),_(l.$$.fragment,o),s=!1},d(o){o&&b(e),E(t),E(l)}}}function I1e(r,e,t){let{modal:n}=e,{webhookModal:i}=e;function l(s){K[s?"unshift":"push"](()=>{n=s,t(0,n)})}return r.$$set=s=>{"modal"in s&&t(0,n=s.modal),"webhookModal"in s&&t(1,i=s.webhookModal)},[n,i,l]}class L1e extends se{constructor(e){super();oe(this,e,I1e,T1e,ie,{modal:0,webhookModal:1})}}function P1e(r){let e,t,n,i;return n=new Ve({props:{gap:"S",justifyItems:"center",$$slots:{default:[j1e]},$$scope:{ctx:r}}}),{c(){e=j("div"),t=j("div"),S(n.$$.fragment),w(t,"class","main svelte-16gumu0"),w(e,"class","centered svelte-16gumu0")},m(l,s){$(l,e,s),N(e,t),A(n,t,null),i=!0},p(l,s){const o={};s&257&&(o.$$scope={dirty:s,ctx:l}),n.$set(o)},i(l){i||(m(n.$$.fragment,l),i=!0)},o(l){_(n.$$.fragment,l),i=!1},d(l){l&&b(e),E(n)}}}function N1e(r){let e;const t=r[4].default,n=bt(t,r,r[8],null);return{c(){n&&n.c()},m(i,l){n&&n.m(i,l),e=!0},p(i,l){n&&n.p&&(!e||l&256)&&vt(n,t,i,i[8],e?yt(t,i[8],l,null):wt(i[8]),null)},i(i){e||(m(n,i),e=!0)},o(i){_(n,i),e=!1},d(i){n&&n.d(i)}}}function R1e(r){let e;return{c(){e=F("You have no automations")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function M1e(r){let e;return{c(){e=F("Let's fix that. Call the bots!")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function D1e(r){let e;return{c(){e=F("Create automation")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function j1e(r){let e,t,n,i,l,s,o,a,u;return i=new _t({props:{size:"M",$$slots:{default:[R1e]},$$scope:{ctx:r}}}),s=new Ye({props:{size:"M",$$slots:{default:[M1e]},$$scope:{ctx:r}}}),a=new ot({props:{size:"M",cta:!0,$$slots:{default:[D1e]},$$scope:{ctx:r}}}),a.$on("click",r[5]),{c(){e=_e("svg"),t=_e("use"),n=R(),S(i.$$.fragment),l=R(),S(s.$$.fragment),o=R(),S(a.$$.fragment),Gt(t,"xlink:href","#spectrum-icon-18-WorkflowAdd"),w(e,"width","60px"),w(e,"height","60px"),w(e,"class","spectrum-Icon"),w(e,"focusable","false")},m(f,c){$(f,e,c),N(e,t),$(f,n,c),A(i,f,c),$(f,l,c),A(s,f,c),$(f,o,c),A(a,f,c),u=!0},p(f,c){const p={};c&256&&(p.$$scope={dirty:c,ctx:f}),i.$set(p);const d={};c&256&&(d.$$scope={dirty:c,ctx:f}),s.$set(d);const g={};c&256&&(g.$$scope={dirty:c,ctx:f}),a.$set(g)},i(f){u||(m(i.$$.fragment,f),m(s.$$.fragment,f),m(a.$$.fragment,f),u=!0)},o(f){_(i.$$.fragment,f),_(s.$$.fragment,f),_(a.$$.fragment,f),u=!1},d(f){f&&b(e),f&&b(n),E(i,f),f&&b(l),E(s,f),f&&b(o),E(a,f)}}}function B1e(r){let e,t;return e=new r7({props:{webhookModal:r[1]}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&2&&(l.webhookModal=n[1]),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function z1e(r){let e,t;return e=new F1({}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function q1e(r){let e,t,n,i,l,s,o,a,u,f,c,p;n=new L1e({props:{modal:r[0],webhookModal:r[1]}});const d=[N1e,P1e],g=[];function h(k,I){return k[2]?0:1}s=h(r),o=g[s]=d[s](r);let v={$$slots:{default:[B1e]},$$scope:{ctx:r}};u=new kt({props:v}),r[6](u);let y={width:"30%",$$slots:{default:[z1e]},$$scope:{ctx:r}};return c=new kt({props:y}),r[7](c),{c(){e=j("div"),t=j("div"),S(n.$$.fragment),i=R(),l=j("div"),o.c(),a=R(),S(u.$$.fragment),f=R(),S(c.$$.fragment),w(t,"class","nav svelte-16gumu0"),w(l,"class","content svelte-16gumu0"),w(e,"class","root svelte-16gumu0")},m(k,I){$(k,e,I),N(e,t),A(n,t,null),N(e,i),N(e,l),g[s].m(l,null),N(e,a),A(u,e,null),N(e,f),A(c,e,null),p=!0},p(k,[I]){const T={};I&1&&(T.modal=k[0]),I&2&&(T.webhookModal=k[1]),n.$set(T);let O=s;s=h(k),s===O?g[s].p(k,I):(ee(),_(g[O],1,1,()=>{g[O]=null}),te(),o=g[s],o?o.p(k,I):(o=g[s]=d[s](k),o.c()),m(o,1),o.m(l,null));const L={};I&258&&(L.$$scope={dirty:I,ctx:k}),u.$set(L);const M={};I&256&&(M.$$scope={dirty:I,ctx:k}),c.$set(M)},i(k){p||(m(n.$$.fragment,k),m(o),m(u.$$.fragment,k),m(c.$$.fragment,k),p=!0)},o(k){_(n.$$.fragment,k),_(o),_(u.$$.fragment,k),_(c.$$.fragment,k),p=!1},d(k){k&&b(e),E(n),g[s].d(),r[6](null),E(u),r[7](null),E(c)}}}function U1e(r,e,t){let n,i;fe(r,Qt,p=>t(3,i=p));let{$$slots:l={},$$scope:s}=e,o,a;const u=()=>o.show();function f(p){K[p?"unshift":"push"](()=>{o=p,t(0,o)})}function c(p){K[p?"unshift":"push"](()=>{a=p,t(1,a)})}return r.$$set=p=>{"$$scope"in p&&t(8,s=p.$$scope)},r.$$.update=()=>{r.$$.dirty&8&&t(2,n=i.automations[0])},[o,a,n,i,l,u,f,c,s]}class F1e extends se{constructor(e){super();oe(this,e,U1e,q1e,ie,{})}}function V1e(r){let e,t,n,i,l,s,o;function a(f){r[4](f)}let u={};return r[2]!==void 0&&(u.value=r[2]),l=new nt({props:u}),K.push(()=>de(l,"value",a)),{c(){e=j("span"),e.textContent=`The changes you have made will be deleted and the application reverted
1249
- back to its production state.`,t=R(),n=j("span"),n.textContent="Please enter your app name to continue.",i=R(),S(l.$$.fragment)},m(f,c){$(f,e,c),$(f,t,c),$(f,n,c),$(f,i,c),A(l,f,c),o=!0},p(f,c){const p={};!s&&c&4&&(s=!0,p.value=f[2],me(()=>s=!1)),l.$set(p)},i(f){o||(m(l.$$.fragment,f),o=!0)},o(f){_(l.$$.fragment,f),o=!1},d(f){f&&b(e),f&&b(t),f&&b(n),f&&b(i),E(l,f)}}}function H1e(r){let e,t;return e=new Nt({props:{title:"Revert Changes",confirmText:"Revert",onConfirm:r[3],disabled:r[2]!==r[0].name,$$slots:{default:[V1e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&5&&(l.disabled=n[2]!==n[0].name),i&132&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function W1e(r){let e,t,n,i;e=new ut({props:{name:"Revert",hoverable:!0}}),e.$on("click",function(){ft(r[1].show)&&r[1].show.apply(this,arguments)});let l={$$slots:{default:[H1e]},$$scope:{ctx:r}};return n=new kt({props:l}),r[5](n),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(s,o){A(e,s,o),$(s,t,o),A(n,s,o),i=!0},p(s,[o]){r=s;const a={};o&133&&(a.$$scope={dirty:o,ctx:r}),n.$set(a)},i(s){i||(m(e.$$.fragment,s),m(n.$$.fragment,s),i=!0)},o(s){_(e.$$.fragment,s),_(n.$$.fragment,s),i=!1},d(s){E(e,s),s&&b(t),r[5](null),E(n,s)}}}function G1e(r,e,t){let n,i;fe(r,Ge,f=>t(0,i=f));let l,s;const o=async()=>{try{await Ze.revertAppChanges(n);const f=await Ze.fetchAppPackage(n);await Ge.actions.initialise(f),we.info("Changes reverted successfully")}catch(f){we.error(`Error reverting changes: ${f}`)}};function a(f){s=f,t(2,s)}function u(f){K[f?"unshift":"push"](()=>{l=f,t(1,l)})}return r.$$.update=()=>{r.$$.dirty&1&&(n=i.appId)},[i,l,s,o,a,u]}class Y1e extends se{constructor(e){super();oe(this,e,G1e,W1e,ie,{})}}const J1e="@budibase/client",Q1e="1.0.160",X1e="MPL-2.0",K1e="dist/budibase-client.js",Z1e="dist/budibase-client.js",x1e="module",eme="src/index.js",tme={".":{import:"./dist/budibase-client.js",require:"./dist/budibase-client.js"},"./package.json":"./package.json","./manifest.json":"./manifest.json"},nme={build:"rollup -c","dev:builder":"rollup -cw"},rme={"@budibase/bbui":"^1.0.160","@budibase/frontend-core":"^1.0.160","@budibase/string-templates":"^1.0.160","@spectrum-css/button":"^3.0.3","@spectrum-css/card":"^3.0.3","@spectrum-css/divider":"^1.0.3","@spectrum-css/link":"^3.1.3","@spectrum-css/page":"^3.0.1","@spectrum-css/tag":"^3.1.4","@spectrum-css/typography":"^3.0.2","@spectrum-css/vars":"^3.0.1",apexcharts:"^3.22.1",dayjs:"^1.10.5",downloadjs:"1.4.7",leaflet:"^1.7.1",regexparam:"^1.3.0","rollup-plugin-polyfill-node":"^0.8.0","sanitize-html":"^2.7.0",screenfull:"^6.0.1",shortid:"^2.2.15",svelte:"^3.38.2","svelte-apexcharts":"^1.0.2","svelte-flatpickr":"^3.1.0","svelte-spa-router":"^3.0.5"},ime={"@rollup/plugin-alias":"^3.1.5","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-node-resolve":"^11.2.1",postcss:"^8.2.10",rollup:"^2.44.0","rollup-plugin-json":"^4.0.0","rollup-plugin-postcss":"^4.0.0","rollup-plugin-svelte":"^7.1.0","rollup-plugin-svg":"^2.0.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-visualizer":"^5.5.4"},lme="d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc";var H1={name:J1e,version:Q1e,license:X1e,module:K1e,main:Z1e,type:x1e,svelte:eme,exports:tme,scripts:nme,dependencies:rme,devDependencies:ime,gitHead:lme};function sme(r){let e,t;return e=new Ye({props:{size:"S",$$slots:{default:[ame]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&513&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function ome(r){let e,t;return e=new Ye({props:{size:"S",$$slots:{default:[ume]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&513&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function ame(r){let e,t,n=r[0].version+"",i,l;return{c(){e=F("This app is currently using version "),t=j("b"),i=F(n),l=F(` which is the
1249
+ back to its production state.`,t=R(),n=j("span"),n.textContent="Please enter your app name to continue.",i=R(),S(l.$$.fragment)},m(f,c){$(f,e,c),$(f,t,c),$(f,n,c),$(f,i,c),A(l,f,c),o=!0},p(f,c){const p={};!s&&c&4&&(s=!0,p.value=f[2],me(()=>s=!1)),l.$set(p)},i(f){o||(m(l.$$.fragment,f),o=!0)},o(f){_(l.$$.fragment,f),o=!1},d(f){f&&b(e),f&&b(t),f&&b(n),f&&b(i),E(l,f)}}}function H1e(r){let e,t;return e=new Nt({props:{title:"Revert Changes",confirmText:"Revert",onConfirm:r[3],disabled:r[2]!==r[0].name,$$slots:{default:[V1e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&5&&(l.disabled=n[2]!==n[0].name),i&132&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function W1e(r){let e,t,n,i;e=new ut({props:{name:"Revert",hoverable:!0}}),e.$on("click",function(){ft(r[1].show)&&r[1].show.apply(this,arguments)});let l={$$slots:{default:[H1e]},$$scope:{ctx:r}};return n=new kt({props:l}),r[5](n),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(s,o){A(e,s,o),$(s,t,o),A(n,s,o),i=!0},p(s,[o]){r=s;const a={};o&133&&(a.$$scope={dirty:o,ctx:r}),n.$set(a)},i(s){i||(m(e.$$.fragment,s),m(n.$$.fragment,s),i=!0)},o(s){_(e.$$.fragment,s),_(n.$$.fragment,s),i=!1},d(s){E(e,s),s&&b(t),r[5](null),E(n,s)}}}function G1e(r,e,t){let n,i;fe(r,Ge,f=>t(0,i=f));let l,s;const o=async()=>{try{await Ze.revertAppChanges(n);const f=await Ze.fetchAppPackage(n);await Ge.actions.initialise(f),we.info("Changes reverted successfully")}catch(f){we.error(`Error reverting changes: ${f}`)}};function a(f){s=f,t(2,s)}function u(f){K[f?"unshift":"push"](()=>{l=f,t(1,l)})}return r.$$.update=()=>{r.$$.dirty&1&&(n=i.appId)},[i,l,s,o,a,u]}class Y1e extends se{constructor(e){super();oe(this,e,G1e,W1e,ie,{})}}const J1e="@budibase/client",Q1e="1.0.161",X1e="MPL-2.0",K1e="dist/budibase-client.js",Z1e="dist/budibase-client.js",x1e="module",eme="src/index.js",tme={".":{import:"./dist/budibase-client.js",require:"./dist/budibase-client.js"},"./package.json":"./package.json","./manifest.json":"./manifest.json"},nme={build:"rollup -c","dev:builder":"rollup -cw"},rme={"@budibase/bbui":"^1.0.161","@budibase/frontend-core":"^1.0.161","@budibase/string-templates":"^1.0.161","@spectrum-css/button":"^3.0.3","@spectrum-css/card":"^3.0.3","@spectrum-css/divider":"^1.0.3","@spectrum-css/link":"^3.1.3","@spectrum-css/page":"^3.0.1","@spectrum-css/tag":"^3.1.4","@spectrum-css/typography":"^3.0.2","@spectrum-css/vars":"^3.0.1",apexcharts:"^3.22.1",dayjs:"^1.10.5",downloadjs:"1.4.7",leaflet:"^1.7.1",regexparam:"^1.3.0","rollup-plugin-polyfill-node":"^0.8.0","sanitize-html":"^2.7.0",screenfull:"^6.0.1",shortid:"^2.2.15",svelte:"^3.38.2","svelte-apexcharts":"^1.0.2","svelte-flatpickr":"^3.1.0","svelte-spa-router":"^3.0.5"},ime={"@rollup/plugin-alias":"^3.1.5","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-node-resolve":"^11.2.1",postcss:"^8.2.10",rollup:"^2.44.0","rollup-plugin-json":"^4.0.0","rollup-plugin-postcss":"^4.0.0","rollup-plugin-svelte":"^7.1.0","rollup-plugin-svg":"^2.0.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-visualizer":"^5.5.4"},lme="d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc";var H1={name:J1e,version:Q1e,license:X1e,module:K1e,main:Z1e,type:x1e,svelte:eme,exports:tme,scripts:nme,dependencies:rme,devDependencies:ime,gitHead:lme};function sme(r){let e,t;return e=new Ye({props:{size:"S",$$slots:{default:[ame]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&513&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function ome(r){let e,t;return e=new Ye({props:{size:"S",$$slots:{default:[ume]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&513&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function ame(r){let e,t,n=r[0].version+"",i,l;return{c(){e=F("This app is currently using version "),t=j("b"),i=F(n),l=F(` which is the
1250
1250
  latest version available.`)},m(s,o){$(s,e,o),$(s,t,o),N(t,i),$(s,l,o)},p(s,o){o&1&&n!==(n=s[0].version+"")&&Oe(i,n)},d(s){s&&b(e),s&&b(t),s&&b(l)}}}function ume(r){let e,t,n=r[0].version+"",i,l,s,o;return{c(){e=F("This app is currently using version "),t=j("b"),i=F(n),l=F(`, but version
1251
1251
  `),s=j("b"),s.textContent=`${H1.version}`,o=F(` is available. Updates can contain new features,
1252
1252
  performance improvements and bug fixes.`)},m(a,u){$(a,e,u),$(a,t,u),N(t,i),$(a,l,u),$(a,s,u),$(a,o,u)},p(a,u){u&1&&n!==(n=a[0].version+"")&&Oe(i,n)},d(a){a&&b(e),a&&b(t),a&&b(l),a&&b(s),a&&b(o)}}}function i7(r){let e,t;return e=new Ye({props:{size:"S",$$slots:{default:[fme]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&513&&(l.$$scope={dirty:i,ctx:n}),e.$set(l)},i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function fme(r){let e,t,n=r[0].revertableVersion+"",i,l;return{c(){e=F(`You can revert this app to version
@@ -10,7 +10,7 @@
10
10
  href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap"
11
11
  rel="stylesheet"
12
12
  />
13
- <script type="module" crossorigin src="/builder/assets/index.29f75f3c.js"></script>
13
+ <script type="module" crossorigin src="/builder/assets/index.54fa98bf.js"></script>
14
14
  <link rel="modulepreload" href="/builder/assets/vendor.5240f480.js">
15
15
  <link rel="stylesheet" href="/builder/assets/vendor.5e1fe644.css">
16
16
  <link rel="stylesheet" href="/builder/assets/index.bb5e3dfd.css">
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1652456696421" clover="3.2.0">
3
- <project timestamp="1652456696421" name="All files">
4
- <metrics statements="4151" coveredstatements="2973" conditionals="1704" coveredconditionals="872" methods="611" coveredmethods="427" elements="6466" coveredelements="4272" complexity="0" loc="4151" ncloc="4151" packages="23" files="131" classes="131"/>
2
+ <coverage generated="1652719703840" clover="3.2.0">
3
+ <project timestamp="1652719703841" name="All files">
4
+ <metrics statements="4159" coveredstatements="2983" conditionals="1710" coveredconditionals="878" methods="612" coveredmethods="429" elements="6481" coveredelements="4290" complexity="0" loc="4159" ncloc="4159" packages="23" files="131" classes="131"/>
5
5
  <package name="api">
6
6
  <metrics statements="33" coveredstatements="31" conditionals="5" coveredconditionals="2" methods="4" coveredmethods="4"/>
7
7
  <file name="index.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/index.js">
@@ -1917,7 +1917,7 @@
1917
1917
  </file>
1918
1918
  </package>
1919
1919
  <package name="api.controllers.view">
1920
- <metrics statements="193" coveredstatements="143" conditionals="83" coveredconditionals="53" methods="25" coveredmethods="18"/>
1920
+ <metrics statements="201" coveredstatements="153" conditionals="89" coveredconditionals="59" methods="26" coveredmethods="20"/>
1921
1921
  <file name="exporters.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/view/exporters.js">
1922
1922
  <metrics statements="11" coveredstatements="11" conditionals="2" coveredconditionals="1" methods="4" coveredmethods="4"/>
1923
1923
  <line num="1" count="41" type="stmt"/>
@@ -2004,124 +2004,132 @@
2004
2004
  <line num="118" count="2" type="stmt"/>
2005
2005
  </file>
2006
2006
  <file name="utils.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/view/utils.js">
2007
- <metrics statements="81" coveredstatements="43" conditionals="26" coveredconditionals="9" methods="9" coveredmethods="6"/>
2007
+ <metrics statements="82" coveredstatements="44" conditionals="26" coveredconditionals="9" methods="9" coveredmethods="6"/>
2008
2008
  <line num="7" count="41" type="stmt"/>
2009
2009
  <line num="8" count="41" type="stmt"/>
2010
2010
  <line num="9" count="41" type="stmt"/>
2011
- <line num="11" count="41" type="stmt"/>
2012
- <line num="12" count="2" type="stmt"/>
2013
- <line num="13" count="2" type="cond" truecount="1" falsecount="1"/>
2014
- <line num="14" count="2" type="stmt"/>
2011
+ <line num="10" count="41" type="stmt"/>
2012
+ <line num="12" count="41" type="stmt"/>
2013
+ <line num="13" count="2" type="stmt"/>
2014
+ <line num="14" count="2" type="cond" truecount="1" falsecount="1"/>
2015
2015
  <line num="15" count="2" type="stmt"/>
2016
- <line num="18" count="0" type="cond" truecount="0" falsecount="2"/>
2017
- <line num="19" count="0" type="stmt"/>
2018
- <line num="22" count="0" type="stmt"/>
2016
+ <line num="16" count="2" type="stmt"/>
2017
+ <line num="19" count="0" type="cond" truecount="0" falsecount="2"/>
2018
+ <line num="20" count="0" type="stmt"/>
2019
2019
  <line num="23" count="0" type="stmt"/>
2020
- <line num="27" count="41" type="stmt"/>
2021
- <line num="28" count="2" type="stmt"/>
2020
+ <line num="24" count="0" type="stmt"/>
2021
+ <line num="28" count="41" type="stmt"/>
2022
2022
  <line num="29" count="2" type="stmt"/>
2023
- <line num="30" count="2" type="cond" truecount="1" falsecount="1"/>
2024
- <line num="31" count="2" type="stmt"/>
2023
+ <line num="30" count="2" type="stmt"/>
2024
+ <line num="31" count="2" type="cond" truecount="1" falsecount="1"/>
2025
2025
  <line num="32" count="2" type="stmt"/>
2026
- <line num="34" count="5" type="cond" truecount="2" falsecount="0"/>
2027
- <line num="35" count="4" type="stmt"/>
2028
- <line num="37" count="1" type="stmt"/>
2029
- <line num="43" count="0" type="stmt"/>
2030
- <line num="49" count="0" type="stmt"/>
2026
+ <line num="33" count="2" type="stmt"/>
2027
+ <line num="35" count="5" type="cond" truecount="2" falsecount="0"/>
2028
+ <line num="36" count="4" type="stmt"/>
2029
+ <line num="38" count="1" type="stmt"/>
2030
+ <line num="44" count="0" type="stmt"/>
2031
2031
  <line num="50" count="0" type="stmt"/>
2032
2032
  <line num="51" count="0" type="stmt"/>
2033
- <line num="57" count="2" type="stmt"/>
2034
- <line num="60" count="41" type="stmt"/>
2035
- <line num="61" count="8" type="stmt"/>
2036
- <line num="62" count="8" type="cond" truecount="1" falsecount="1"/>
2037
- <line num="63" count="8" type="stmt"/>
2033
+ <line num="52" count="0" type="stmt"/>
2034
+ <line num="58" count="2" type="stmt"/>
2035
+ <line num="61" count="41" type="stmt"/>
2036
+ <line num="62" count="8" type="stmt"/>
2037
+ <line num="63" count="8" type="cond" truecount="1" falsecount="1"/>
2038
2038
  <line num="64" count="8" type="stmt"/>
2039
- <line num="69" count="8" type="cond" truecount="1" falsecount="1"/>
2040
- <line num="70" count="0" type="stmt"/>
2041
- <line num="72" count="8" type="stmt"/>
2042
- <line num="74" count="0" type="stmt"/>
2043
- <line num="75" count="0" type="cond" truecount="0" falsecount="2"/>
2044
- <line num="76" count="0" type="stmt"/>
2045
- <line num="82" count="0" type="stmt"/>
2039
+ <line num="65" count="8" type="stmt"/>
2040
+ <line num="70" count="8" type="cond" truecount="1" falsecount="1"/>
2041
+ <line num="71" count="0" type="stmt"/>
2042
+ <line num="73" count="8" type="stmt"/>
2043
+ <line num="75" count="0" type="stmt"/>
2044
+ <line num="76" count="0" type="cond" truecount="0" falsecount="2"/>
2045
+ <line num="77" count="0" type="stmt"/>
2046
2046
  <line num="83" count="0" type="stmt"/>
2047
- <line num="84" count="0" type="cond" truecount="0" falsecount="2"/>
2048
- <line num="85" count="0" type="stmt"/>
2047
+ <line num="84" count="0" type="stmt"/>
2048
+ <line num="85" count="0" type="cond" truecount="0" falsecount="2"/>
2049
2049
  <line num="86" count="0" type="stmt"/>
2050
- <line num="88" count="0" type="cond" truecount="0" falsecount="4"/>
2051
- <line num="89" count="0" type="stmt"/>
2052
- <line num="94" count="0" type="stmt"/>
2053
- <line num="98" count="41" type="stmt"/>
2054
- <line num="99" count="1" type="stmt"/>
2055
- <line num="100" count="1" type="cond" truecount="1" falsecount="1"/>
2056
- <line num="101" count="1" type="stmt"/>
2050
+ <line num="87" count="0" type="stmt"/>
2051
+ <line num="89" count="0" type="cond" truecount="0" falsecount="4"/>
2052
+ <line num="90" count="0" type="stmt"/>
2053
+ <line num="95" count="0" type="stmt"/>
2054
+ <line num="99" count="41" type="stmt"/>
2055
+ <line num="100" count="1" type="stmt"/>
2056
+ <line num="101" count="1" type="cond" truecount="1" falsecount="1"/>
2057
2057
  <line num="102" count="1" type="stmt"/>
2058
2058
  <line num="103" count="1" type="stmt"/>
2059
2059
  <line num="104" count="1" type="stmt"/>
2060
2060
  <line num="105" count="1" type="stmt"/>
2061
- <line num="107" count="0" type="stmt"/>
2061
+ <line num="106" count="1" type="stmt"/>
2062
2062
  <line num="108" count="0" type="stmt"/>
2063
2063
  <line num="109" count="0" type="stmt"/>
2064
2064
  <line num="110" count="0" type="stmt"/>
2065
- <line num="114" count="41" type="stmt"/>
2066
- <line num="116" count="0" type="stmt"/>
2065
+ <line num="111" count="0" type="stmt"/>
2066
+ <line num="115" count="41" type="stmt"/>
2067
2067
  <line num="117" count="0" type="stmt"/>
2068
- <line num="118" count="0" type="stmt"/>
2069
2068
  <line num="119" count="0" type="stmt"/>
2070
2069
  <line num="120" count="0" type="stmt"/>
2071
- <line num="123" count="41" type="stmt"/>
2072
- <line num="124" count="0" type="stmt"/>
2073
- <line num="125" count="0" type="stmt"/>
2070
+ <line num="121" count="0" type="stmt"/>
2071
+ <line num="122" count="0" type="stmt"/>
2072
+ <line num="125" count="41" type="stmt"/>
2074
2073
  <line num="126" count="0" type="stmt"/>
2075
2074
  <line num="127" count="0" type="stmt"/>
2076
2075
  <line num="128" count="0" type="stmt"/>
2077
- <line num="131" count="41" type="stmt"/>
2078
- <line num="132" count="6" type="stmt"/>
2079
- <line num="133" count="6" type="stmt"/>
2080
- <line num="134" count="6" type="cond" truecount="2" falsecount="0"/>
2081
- <line num="135" count="1" type="stmt"/>
2082
- <line num="137" count="5" type="stmt"/>
2083
- <line num="140" count="41" type="stmt"/>
2084
- <line num="141" count="1" type="stmt"/>
2085
- <line num="142" count="0" type="cond" truecount="0" falsecount="2"/>
2086
- <line num="143" count="0" type="stmt"/>
2076
+ <line num="129" count="0" type="stmt"/>
2077
+ <line num="130" count="0" type="stmt"/>
2078
+ <line num="133" count="41" type="stmt"/>
2079
+ <line num="134" count="6" type="stmt"/>
2080
+ <line num="135" count="6" type="stmt"/>
2081
+ <line num="136" count="6" type="cond" truecount="2" falsecount="0"/>
2082
+ <line num="137" count="1" type="stmt"/>
2083
+ <line num="139" count="5" type="stmt"/>
2084
+ <line num="142" count="41" type="stmt"/>
2085
+ <line num="143" count="1" type="stmt"/>
2086
+ <line num="144" count="0" type="cond" truecount="0" falsecount="2"/>
2087
2087
  <line num="145" count="0" type="stmt"/>
2088
2088
  <line num="147" count="0" type="stmt"/>
2089
+ <line num="149" count="0" type="stmt"/>
2089
2090
  </file>
2090
2091
  <file name="viewBuilder.js" path="/home/runner/work/budibase/budibase/packages/server/src/api/controllers/view/viewBuilder.js">
2091
- <metrics statements="33" coveredstatements="28" conditionals="30" coveredconditionals="25" methods="4" coveredmethods="3"/>
2092
+ <metrics statements="40" coveredstatements="37" conditionals="36" coveredconditionals="31" methods="5" coveredmethods="5"/>
2092
2093
  <line num="1" count="42" type="stmt"/>
2093
2094
  <line num="13" count="42" type="stmt"/>
2094
- <line num="14" count="0" type="stmt"/>
2095
- <line num="22" count="42" type="stmt"/>
2095
+ <line num="19" count="42" type="stmt"/>
2096
+ <line num="20" count="7" type="stmt"/>
2096
2097
  <line num="28" count="42" type="stmt"/>
2097
2098
  <line num="34" count="42" type="stmt"/>
2098
- <line num="72" count="11" type="stmt"/>
2099
- <line num="74" count="11" type="stmt"/>
2100
- <line num="75" count="11" type="stmt"/>
2101
- <line num="76" count="2" type="cond" truecount="4" falsecount="0"/>
2102
- <line num="77" count="1" type="stmt"/>
2103
- <line num="80" count="2" type="cond" truecount="1" falsecount="1"/>
2104
- <line num="81" count="0" type="stmt"/>
2105
- <line num="84" count="2" type="cond" truecount="1" falsecount="1"/>
2106
- <line num="85" count="0" type="stmt"/>
2107
- <line num="86" count="2" type="cond" truecount="1" falsecount="1"/>
2099
+ <line num="40" count="42" type="stmt"/>
2100
+ <line num="78" count="19" type="stmt"/>
2101
+ <line num="80" count="19" type="stmt"/>
2102
+ <line num="81" count="19" type="stmt"/>
2103
+ <line num="82" count="10" type="cond" truecount="4" falsecount="0"/>
2104
+ <line num="83" count="1" type="stmt"/>
2105
+ <line num="86" count="10" type="cond" truecount="1" falsecount="1"/>
2108
2106
  <line num="87" count="0" type="stmt"/>
2109
- <line num="90" count="2" type="cond" truecount="1" falsecount="1"/>
2110
- <line num="92" count="2" type="stmt"/>
2111
- <line num="96" count="2" type="stmt"/>
2112
- <line num="99" count="11" type="stmt"/>
2113
- <line num="109" count="11" type="cond" truecount="2" falsecount="0"/>
2114
- <line num="125" count="11" type="cond" truecount="4" falsecount="1"/>
2115
- <line num="126" count="0" type="stmt"/>
2116
- <line num="128" count="11" type="stmt"/>
2117
- <line num="129" count="11" type="cond" truecount="2" falsecount="0"/>
2118
- <line num="131" count="11" type="stmt"/>
2119
- <line num="133" count="11" type="cond" truecount="4" falsecount="0"/>
2120
- <line num="135" count="11" type="stmt"/>
2121
- <line num="137" count="11" type="cond" truecount="2" falsecount="0"/>
2122
- <line num="138" count="6" type="stmt"/>
2123
- <line num="144" count="11" type="stmt"/>
2124
- <line num="162" count="42" type="stmt"/>
2107
+ <line num="90" count="10" type="cond" truecount="1" falsecount="1"/>
2108
+ <line num="91" count="0" type="stmt"/>
2109
+ <line num="92" count="10" type="cond" truecount="2" falsecount="0"/>
2110
+ <line num="93" count="7" type="stmt"/>
2111
+ <line num="96" count="3" type="cond" truecount="2" falsecount="0"/>
2112
+ <line num="98" count="3" type="stmt"/>
2113
+ <line num="102" count="10" type="stmt"/>
2114
+ <line num="105" count="19" type="stmt"/>
2115
+ <line num="115" count="12" type="cond" truecount="2" falsecount="0"/>
2116
+ <line num="131" count="12" type="cond" truecount="4" falsecount="1"/>
2117
+ <line num="132" count="0" type="stmt"/>
2118
+ <line num="135" count="12" type="stmt"/>
2119
+ <line num="136" count="12" type="stmt"/>
2120
+ <line num="138" count="12" type="cond" truecount="2" falsecount="0"/>
2121
+ <line num="139" count="7" type="stmt"/>
2122
+ <line num="143" count="7" type="cond" truecount="1" falsecount="1"/>
2123
+ <line num="146" count="1" type="cond" truecount="1" falsecount="1"/>
2124
+ <line num="149" count="7" type="stmt"/>
2125
+ <line num="155" count="12" type="stmt"/>
2126
+ <line num="156" count="12" type="cond" truecount="2" falsecount="0"/>
2127
+ <line num="158" count="12" type="stmt"/>
2128
+ <line num="159" count="12" type="stmt"/>
2129
+ <line num="160" count="12" type="cond" truecount="2" falsecount="0"/>
2130
+ <line num="163" count="12" type="cond" truecount="4" falsecount="0"/>
2131
+ <line num="165" count="12" type="stmt"/>
2132
+ <line num="183" count="42" type="stmt"/>
2125
2133
  </file>
2126
2134
  </package>
2127
2135
  <package name="api.routes">