@budibase/server 1.0.144 → 1.0.147
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/__mocks__/@google-cloud/firestore.ts +36 -0
- package/__mocks__/pg.ts +1 -9
- package/builder/assets/{index.f977fa54.js → index.5453a5df.js} +2 -2
- package/builder/index.html +1 -1
- package/coverage/clover.xml +2 -2
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
- package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/component.js.html +1 -1
- package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +1 -1
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
- package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +1 -1
- package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/utils/index.html +1 -1
- package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +1 -1
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +1 -1
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +1 -1
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +1 -1
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/builder.js.html +1 -1
- package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +1 -1
- package/coverage/lcov-report/threads/automation.js.html +1 -1
- package/coverage/lcov-report/threads/index.html +1 -1
- package/coverage/lcov-report/threads/query.js.html +1 -1
- package/coverage/lcov-report/threads/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +1 -1
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
- package/dist/api/controllers/row/ExternalRequest.js +3 -2
- package/dist/integrations/firebase.js +9 -9
- package/dist/integrations/index.js +1 -0
- package/dist/integrations/postgres.js +15 -11
- package/dist/package.json +5 -5
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/src/api/controllers/row/ExternalRequest.ts +3 -2
- package/src/integrations/firebase.ts +10 -10
- package/src/integrations/index.ts +1 -0
- package/src/integrations/postgres.ts +9 -11
- package/src/integrations/tests/firebase.spec.js +92 -0
- package/src/integrations/tests/postgres.spec.js +0 -4
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module FirebaseMock {
|
|
2
|
+
const firebase: any = {}
|
|
3
|
+
|
|
4
|
+
firebase.Firestore = function () {
|
|
5
|
+
this.get = jest.fn(() => [
|
|
6
|
+
{
|
|
7
|
+
data: jest.fn(() => ({ result: "test" })),
|
|
8
|
+
},
|
|
9
|
+
])
|
|
10
|
+
|
|
11
|
+
this.update = jest.fn()
|
|
12
|
+
this.set = jest.fn()
|
|
13
|
+
this.delete = jest.fn()
|
|
14
|
+
|
|
15
|
+
this.doc = jest.fn(() => ({
|
|
16
|
+
update: this.update,
|
|
17
|
+
set: this.set,
|
|
18
|
+
delete: this.delete,
|
|
19
|
+
get: jest.fn(() => ({
|
|
20
|
+
data: jest.fn(() => ({ result: "test" })),
|
|
21
|
+
})),
|
|
22
|
+
id: "test_id",
|
|
23
|
+
}))
|
|
24
|
+
|
|
25
|
+
this.where = jest.fn(() => ({
|
|
26
|
+
get: this.get,
|
|
27
|
+
}))
|
|
28
|
+
|
|
29
|
+
this.collection = jest.fn(() => ({
|
|
30
|
+
doc: this.doc,
|
|
31
|
+
where: this.where,
|
|
32
|
+
}))
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
module.exports = firebase
|
|
36
|
+
}
|
package/__mocks__/pg.ts
CHANGED
|
@@ -14,21 +14,13 @@ module PgMock {
|
|
|
14
14
|
function Client() {}
|
|
15
15
|
|
|
16
16
|
Client.prototype.query = query
|
|
17
|
+
Client.prototype.end = jest.fn()
|
|
17
18
|
Client.prototype.connect = jest.fn()
|
|
18
19
|
Client.prototype.release = jest.fn()
|
|
19
20
|
|
|
20
|
-
function Pool() {}
|
|
21
|
-
|
|
22
21
|
const on = jest.fn()
|
|
23
|
-
Pool.prototype.query = query
|
|
24
|
-
Pool.prototype.connect = jest.fn(() => {
|
|
25
|
-
// @ts-ignore
|
|
26
|
-
return new Client()
|
|
27
|
-
})
|
|
28
|
-
Pool.prototype.on = on
|
|
29
22
|
|
|
30
23
|
pg.Client = Client
|
|
31
|
-
pg.Pool = Pool
|
|
32
24
|
pg.queryMock = query
|
|
33
25
|
pg.on = on
|
|
34
26
|
|
|
@@ -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+"")&&Ee(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 Zy(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 xy(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]=xy(Zy(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=Zy(s,n,a);i[a]?(i[a].p(u,o),m(i[a],1)):(i[a]=xy(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),mt(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 e7(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+"")&&Ee(t,e)},d(n){n&&b(t)}}}function t7(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]=t7(e7(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=e7(a,l,c);s[c]?(s[c].p(p,u),m(s[c],1)):(s[c]=t7(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),mt(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 n7 extends se{constructor(e){super();oe(this,e,S1e,C1e,ie,{webhookModal:7})}}function A1e(r){let e,t;return e=new n7({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 gt({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 n7({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.
|
|
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.146",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.146","@budibase/frontend-core":"^1.0.146","@budibase/string-templates":"^1.0.146","@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+"")&&Ee(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+"")&&Ee(i,n)},d(a){a&&b(e),a&&b(t),a&&b(l),a&&b(s),a&&b(o)}}}function r7(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
|
|
@@ -1290,7 +1290,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
1290
1290
|
if visited directly.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function tbe(r){let e,t,n,i,l,s;return e=new gt({props:{size:"XS",$$slots:{default:[x$e]},$$scope:{ctx:r}}}),n=new Ye({props:{$$slots:{default:[ebe]},$$scope:{ctx:r}}}),l=new Bi({props:{schema:r[12],data:r[7],allowEditColumns:!1,allowEditRows:!1,allowSelectRows:!1}}),l.$on("click",r[20]),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment)},m(o,a){A(e,o,a),$(o,t,a),A(n,o,a),$(o,i,a),A(l,o,a),s=!0},p(o,a){const u={};a&536870912&&(u.$$scope={dirty:a,ctx:o}),e.$set(u);const f={};a&536870912&&(f.$$scope={dirty:a,ctx:o}),n.$set(f);const c={};a&128&&(c.data=o[7]),l.$set(c)},i(o){s||(m(e.$$.fragment,o),m(n.$$.fragment,o),m(l.$$.fragment,o),s=!0)},o(o){_(e.$$.fragment,o),_(n.$$.fragment,o),_(l.$$.fragment,o),s=!1},d(o){E(e,o),o&&b(t),E(n,o),o&&b(i),E(l,o)}}}function nbe(r){let e;return{c(){e=F("Delete user")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function rbe(r){let e;return{c(){e=F("Deleting a user completely removes them from your account.")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function ibe(r){let e,t,n,i;return e=new gt({props:{size:"S",$$slots:{default:[nbe]},$$scope:{ctx:r}}}),n=new Ye({props:{$$slots:{default:[rbe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){const o={};s&536870912&&(o.$$scope={dirty:s,ctx:l}),e.$set(o);const a={};s&536870912&&(a.$$scope={dirty:s,ctx:l}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function lbe(r){let e;return{c(){e=F("Delete user")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function sbe(r){let e,t,n,i,l,s,o,a,u,f,c,p,d,g,h,v,y,k,I;return e=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[q$e]},$$scope:{ctx:r}}}),n=new nn({props:{size:"S"}}),l=new Ve({props:{gap:"S",noPadding:!0,$$slots:{default:[Q$e]},$$scope:{ctx:r}}}),o=new nn({props:{size:"S"}}),u=new Ve({props:{gap:"S",noPadding:!0,$$slots:{default:[Z$e]},$$scope:{ctx:r}}}),c=new Ve({props:{gap:"S",noPadding:!0,$$slots:{default:[tbe]},$$scope:{ctx:r}}}),d=new nn({props:{size:"S"}}),h=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[ibe]},$$scope:{ctx:r}}}),k=new ot({props:{warning:!0,$$slots:{default:[lbe]},$$scope:{ctx:r}}}),k.$on("click",function(){ft(r[2].show)&&r[2].show.apply(this,arguments)}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment),s=R(),S(o.$$.fragment),a=R(),S(u.$$.fragment),f=R(),S(c.$$.fragment),p=R(),S(d.$$.fragment),g=R(),S(h.$$.fragment),v=R(),y=j("div"),S(k.$$.fragment),w(y,"class","delete-button")},m(T,O){A(e,T,O),$(T,t,O),A(n,T,O),$(T,i,O),A(l,T,O),$(T,s,O),A(o,T,O),$(T,a,O),A(u,T,O),$(T,f,O),A(c,T,O),$(T,p,O),A(d,T,O),$(T,g,O),A(h,T,O),$(T,v,O),$(T,y,O),A(k,y,null),I=!0},p(T,O){r=T;const L={};O&536871426&&(L.$$scope={dirty:O,ctx:r}),e.$set(L);const M={};O&536872019&&(M.$$scope={dirty:O,ctx:r}),l.$set(M);const U={};O&536871168&&(U.$$scope={dirty:O,ctx:r}),u.$set(U);const D={};O&536871040&&(D.$$scope={dirty:O,ctx:r}),c.$set(D);const B={};O&536870912&&(B.$$scope={dirty:O,ctx:r}),h.$set(B);const V={};O&536870912&&(V.$$scope={dirty:O,ctx:r}),k.$set(V)},i(T){I||(m(e.$$.fragment,T),m(n.$$.fragment,T),m(l.$$.fragment,T),m(o.$$.fragment,T),m(u.$$.fragment,T),m(c.$$.fragment,T),m(d.$$.fragment,T),m(h.$$.fragment,T),m(k.$$.fragment,T),I=!0)},o(T){_(e.$$.fragment,T),_(n.$$.fragment,T),_(l.$$.fragment,T),_(o.$$.fragment,T),_(u.$$.fragment,T),_(c.$$.fragment,T),_(d.$$.fragment,T),_(h.$$.fragment,T),_(k.$$.fragment,T),I=!1},d(T){E(e,T),T&&b(t),E(n,T),T&&b(i),E(l,T),T&&b(s),E(o,T),T&&b(a),E(u,T),T&&b(f),E(c,T),T&&b(p),E(d,T),T&&b(g),E(h,T),T&&b(v),T&&b(y),E(k)}}}function obe(r){var l,s;let e,t,n=((s=(l=r[1])==null?void 0:l.data)==null?void 0:s.email)+"",i;return{c(){e=F("Are you sure you want to delete "),t=j("strong"),i=F(n)},m(o,a){$(o,e,a),$(o,t,a),N(t,i)},p(o,a){var u,f;a&2&&n!==(n=((f=(u=o[1])==null?void 0:u.data)==null?void 0:f.email)+"")&&Ee(i,n)},d(o){o&&b(e),o&&b(t)}}}function abe(r){let e,t;return e=new Ye({props:{$$slots:{default:[obe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&536870914&&(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 ube(r){let e,t;return e=new Nt({props:{warning:!0,onConfirm:r[15],title:"Delete User",confirmText:"Delete user",cancelText:"Cancel",showCloseIcon:!1,$$slots:{default:[abe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&536870914&&(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 fbe(r){let e,t;return e=new L$e({props:{app:r[5],user:r[1].data}}),e.$on("update",r[13].refresh),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&32&&(l.app=n[5]),i&2&&(l.user=n[1].data),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 cbe(r){let e,t;return e=new D$e({props:{user:r[1].data}}),e.$on("update",r[13].refresh),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&2&&(l.user=n[1].data),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 pbe(r){let e,t,n,i,l,s,o,a;e=new Ve({props:{noPadding:!0,$$slots:{default:[sbe]},$$scope:{ctx:r}}});let u={$$slots:{default:[ube]},$$scope:{ctx:r}};n=new kt({props:u}),r[25](n);let f={$$slots:{default:[fbe]},$$scope:{ctx:r}};l=new kt({props:f}),r[26](l);let c={$$slots:{default:[cbe]},$$scope:{ctx:r}};return o=new kt({props:c}),r[27](o),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment),s=R(),S(o.$$.fragment)},m(p,d){A(e,p,d),$(p,t,d),A(n,p,d),$(p,i,d),A(l,p,d),$(p,s,d),A(o,p,d),a=!0},p(p,[d]){const g={};d&536872919&&(g.$$scope={dirty:d,ctx:p}),e.$set(g);const h={};d&536870914&&(h.$$scope={dirty:d,ctx:p}),n.$set(h);const v={};d&536870946&&(v.$$scope={dirty:d,ctx:p}),l.$set(v);const y={};d&536870914&&(y.$$scope={dirty:d,ctx:p}),o.$set(y)},i(p){a||(m(e.$$.fragment,p),m(n.$$.fragment,p),m(l.$$.fragment,p),m(o.$$.fragment,p),a=!0)},o(p){_(e.$$.fragment,p),_(n.$$.fragment,p),_(l.$$.fragment,p),_(o.$$.fragment,p),a=!1},d(p){E(e,p),p&&b(t),r[25](null),E(n,p),p&&b(i),r[26](null),E(l,p),p&&b(s),r[27](null),E(o,p)}}}function dbe(r,e,t){let n,i,l,s,o,a,u,f;fe(r,Ut,W=>t(9,a=W)),fe(r,Ft,W=>t(10,f=W));let{userId:c}=e,p,d,g;const h={name:{displayName:"App"},role:{}},v={name:{displayName:"App"}};let y;const k=tv(`/api/global/users/${c}`);fe(r,k,W=>t(1,o=W));const I=tv("/api/global/roles");fe(r,I,W=>t(23,u=W));async function T(){var W;try{await yi.delete(c),we.success(`User ${(W=o==null?void 0:o.data)==null?void 0:W.email} deleted.`),a("./")}catch{we.error("Error deleting user")}}let O=!1;async function L(W){try{await yi.save(lt(ke({},o==null?void 0:o.data),{firstName:W.target.value})),await k.refresh()}catch{we.error("Error updating user")}}async function M(W){try{await yi.save(lt(ke({},o==null?void 0:o.data),{lastName:W.target.value})),await k.refresh()}catch{we.error("Error updating user")}}async function U(W,J){t(6,O=!0);try{await yi.save(lt(ke({},o==null?void 0:o.data),{[W]:{global:J}})),await k.refresh()}catch{we.error("Error updating user")}t(6,O=!1)}async function D({detail:W}){return U("builder",W)}async function B({detail:W}){return U("admin",W)}async function V({detail:W}){t(5,y=W),d.show()}const G=()=>a("./");function Q(W){K[W?"unshift":"push"](()=>{p=W,t(2,p)})}function H(W){K[W?"unshift":"push"](()=>{d=W,t(3,d)})}function q(W){K[W?"unshift":"push"](()=>{g=W,t(4,g)})}return r.$$set=W=>{"userId"in W&&t(0,c=W.userId)},r.$$.update=()=>{var W,J;r.$$.dirty&2&&t(22,n=((J=(W=o==null?void 0:o.data)==null?void 0:W.builder)==null?void 0:J.global)?"ADMIN":""),r.$$.dirty&12582914&&t(21,i=Object.keys(u==null?void 0:u.data).map(pe=>{var Z,$e,Ie,Te;const ne=(($e=(Z=o==null?void 0:o.data)==null?void 0:Z.roles)==null?void 0:$e[pe])||n,re=(Ie=u==null?void 0:u.data)==null?void 0:Ie[pe].roles.find(ce=>ce._id===ne);return lt(ke({},(Te=u==null?void 0:u.data)==null?void 0:Te[pe]),{_id:pe,role:[re]})})),r.$$.dirty&2097152&&t(8,l=i.filter(pe=>!!pe.role[0])),r.$$.dirty&2097152&&t(7,s=i.filter(pe=>!pe.role[0]).map(pe=>(delete pe.role,pe)))},[c,o,p,d,g,y,O,s,l,a,f,h,v,k,I,T,L,M,D,B,V,i,n,u,G,Q,H,q]}class mbe extends se{constructor(e){super();oe(this,e,dbe,pbe,ie,{userId:0})}}function gbe(r){let e;return{c(){e=F(`If you have SMTP configured and an email for the new user, you can use the
|
|
1291
1291
|
automated email onboarding flow. Otherwise, use our basic onboarding process
|
|
1292
1292
|
with autogenerated passwords.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function _be(r){let e;return{c(){e=F("Development access")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function hbe(r){let e;return{c(){e=F("Administration access")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function $be(r){let e,t,n,i,l,s,o,a,u,f,c,p,d,g,h,v,y,k,I,T,O;e=new Ye({props:{size:"S",$$slots:{default:[gbe]},$$scope:{ctx:r}}});function L(H){r[12](H)}let M={placeholder:null,options:r[7],label:"Add new user via:"};r[1]!==void 0&&(M.value=r[1]),n=new Qe({props:M}),K.push(()=>de(n,"value",L)),n.$on("change",r[13]);function U(H){r[14](H)}let D={type:"email",error:r[6]&&r[5],placeholder:"john@doe.com",label:"Email"};r[4]!==void 0&&(D.value=r[4]),s=new nt({props:D}),K.push(()=>de(s,"value",U)),c=new Ke({props:{size:"L",$$slots:{default:[_be]},$$scope:{ctx:r}}});function B(H){r[15](H)}let V={text:""};r[2]!==void 0&&(V.value=r[2]),d=new Gn({props:V}),K.push(()=>de(d,"value",B)),y=new Ke({props:{size:"L",$$slots:{default:[hbe]},$$scope:{ctx:r}}});function G(H){r[16](H)}let Q={text:""};return r[3]!==void 0&&(Q.value=r[3]),I=new Gn({props:Q}),K.push(()=>de(I,"value",G)),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),l=R(),S(s.$$.fragment),a=R(),u=j("div"),f=j("div"),S(c.$$.fragment),p=R(),S(d.$$.fragment),h=R(),v=j("div"),S(y.$$.fragment),k=R(),S(I.$$.fragment),w(f,"class","toggle svelte-wbuk9c"),w(v,"class","toggle svelte-wbuk9c")},m(H,q){A(e,H,q),$(H,t,q),A(n,H,q),$(H,l,q),A(s,H,q),$(H,a,q),$(H,u,q),N(u,f),A(c,f,null),N(f,p),A(d,f,null),N(u,h),N(u,v),A(y,v,null),N(v,k),A(I,v,null),O=!0},p(H,q){const W={};q&131072&&(W.$$scope={dirty:q,ctx:H}),e.$set(W);const J={};!i&&q&2&&(i=!0,J.value=H[1],me(()=>i=!1)),n.$set(J);const pe={};q&96&&(pe.error=H[6]&&H[5]),!o&&q&16&&(o=!0,pe.value=H[4],me(()=>o=!1)),s.$set(pe);const ne={};q&131072&&(ne.$$scope={dirty:q,ctx:H}),c.$set(ne);const re={};!g&&q&4&&(g=!0,re.value=H[2],me(()=>g=!1)),d.$set(re);const Z={};q&131072&&(Z.$$scope={dirty:q,ctx:H}),y.$set(Z);const $e={};!T&&q&8&&(T=!0,$e.value=H[3],me(()=>T=!1)),I.$set($e)},i(H){O||(m(e.$$.fragment,H),m(n.$$.fragment,H),m(s.$$.fragment,H),m(c.$$.fragment,H),m(d.$$.fragment,H),m(y.$$.fragment,H),m(I.$$.fragment,H),O=!0)},o(H){_(e.$$.fragment,H),_(n.$$.fragment,H),_(s.$$.fragment,H),_(c.$$.fragment,H),_(d.$$.fragment,H),_(y.$$.fragment,H),_(I.$$.fragment,H),O=!1},d(H){E(e,H),H&&b(t),E(n,H),H&&b(l),E(s,H),H&&b(a),H&&b(u),E(c),E(d),E(y),E(I)}}}function bbe(r){let e,t;return e=new Nt({props:{onConfirm:r[11],size:"M",title:"Add new user",confirmText:"Add user",confirmDisabled:r[0],cancelText:"Cancel",disabled:r[5],showCloseIcon:!1,$$slots:{default:[$be]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,[i]){const l={};i&1&&(l.confirmDisabled=n[0]),i&32&&(l.disabled=n[5]),i&131198&&(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 vbe(r,e,t){let n,i,l,{disabled:s}=e;const o=["Email onboarding","Basic onboarding"];let a=o[0],u,f;const[c,p,d]=Kf("",G3);fe(r,c,T=>t(4,n=T)),fe(r,p,T=>t(5,i=T)),fe(r,d,T=>t(6,l=T));async function g(){try{const T=await yi.invite({email:n,builder:u,admin:f});we.success(T.message),Ln.captureEvent(Nn.USER.INVITE,{type:a})}catch{we.error("Error inviting user")}}function h(T){a=T,t(1,a)}function v(T){pt.call(this,r,T)}function y(T){n=T,c.set(n)}function k(T){u=T,t(2,u)}function I(T){f=T,t(3,f)}return r.$$set=T=>{"disabled"in T&&t(0,s=T.disabled)},[s,a,u,f,n,i,l,o,c,p,d,g,h,v,y,k,I]}class wbe extends se{constructor(e){super();oe(this,e,vbe,bbe,ie,{disabled:0})}}function ybe(r){let e;return{c(){e=F(`Below you will find the user\u2019s username and password. The password will not
|
|
1293
|
-
be accessible from this point. Please save the credentials.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function kbe(r){let e;return{c(){e=F("Development access")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Cbe(r){let e;return{c(){e=F("Administration access")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Sbe(r){let e,t,n,i,l,s,o,a,u,f,c,p,d,g,h,v,y,k,I,T;e=new Ye({props:{size:"S",$$slots:{default:[ybe]},$$scope:{ctx:r}}});function O(V){r[10](V)}let L={type:"email",label:"
|
|
1293
|
+
be accessible from this point. Please save the credentials.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function kbe(r){let e;return{c(){e=F("Development access")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Cbe(r){let e;return{c(){e=F("Administration access")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Sbe(r){let e,t,n,i,l,s,o,a,u,f,c,p,d,g,h,v,y,k,I,T;e=new Ye({props:{size:"S",$$slots:{default:[ybe]},$$scope:{ctx:r}}});function O(V){r[10](V)}let L={type:"email",label:"Email",error:r[4]&&r[3]};r[2]!==void 0&&(L.value=r[2]),n=new nt({props:L}),K.push(()=>de(n,"value",O)),s=new nt({props:{disabled:!0,label:"Password",value:r[8]}}),f=new Ke({props:{size:"L",$$slots:{default:[kbe]},$$scope:{ctx:r}}});function M(V){r[11](V)}let U={text:""};r[0]!==void 0&&(U.value=r[0]),p=new Gn({props:U}),K.push(()=>de(p,"value",M)),v=new Ke({props:{size:"L",$$slots:{default:[Cbe]},$$scope:{ctx:r}}});function D(V){r[12](V)}let B={text:""};return r[1]!==void 0&&(B.value=r[1]),k=new Gn({props:B}),K.push(()=>de(k,"value",D)),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),l=R(),S(s.$$.fragment),o=R(),a=j("div"),u=j("div"),S(f.$$.fragment),c=R(),S(p.$$.fragment),g=R(),h=j("div"),S(v.$$.fragment),y=R(),S(k.$$.fragment),w(u,"class","toggle svelte-wbuk9c"),w(h,"class","toggle svelte-wbuk9c")},m(V,G){A(e,V,G),$(V,t,G),A(n,V,G),$(V,l,G),A(s,V,G),$(V,o,G),$(V,a,G),N(a,u),A(f,u,null),N(u,c),A(p,u,null),N(a,g),N(a,h),A(v,h,null),N(h,y),A(k,h,null),T=!0},p(V,G){const Q={};G&8192&&(Q.$$scope={dirty:G,ctx:V}),e.$set(Q);const H={};G&24&&(H.error=V[4]&&V[3]),!i&&G&4&&(i=!0,H.value=V[2],me(()=>i=!1)),n.$set(H);const q={};G&8192&&(q.$$scope={dirty:G,ctx:V}),f.$set(q);const W={};!d&&G&1&&(d=!0,W.value=V[0],me(()=>d=!1)),p.$set(W);const J={};G&8192&&(J.$$scope={dirty:G,ctx:V}),v.$set(J);const pe={};!I&&G&2&&(I=!0,pe.value=V[1],me(()=>I=!1)),k.$set(pe)},i(V){T||(m(e.$$.fragment,V),m(n.$$.fragment,V),m(s.$$.fragment,V),m(f.$$.fragment,V),m(p.$$.fragment,V),m(v.$$.fragment,V),m(k.$$.fragment,V),T=!0)},o(V){_(e.$$.fragment,V),_(n.$$.fragment,V),_(s.$$.fragment,V),_(f.$$.fragment,V),_(p.$$.fragment,V),_(v.$$.fragment,V),_(k.$$.fragment,V),T=!1},d(V){E(e,V),V&&b(t),E(n,V),V&&b(l),E(s,V),V&&b(o),V&&b(a),E(f),E(p),E(v),E(k)}}}function Abe(r){let e,t;return e=new Nt({props:{onConfirm:r[9],size:"M",title:"Basic user onboarding",confirmText:"Continue",cancelText:"Cancel",disabled:r[3],error:r[4]&&r[3],showCloseIcon:!1,$$slots:{default:[Sbe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,[i]){const l={};i&8&&(l.disabled=n[3]),i&24&&(l.error=n[4]&&n[3]),i&8223&&(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 Ebe(r,e,t){let n,i,l;const[s,o,a]=Kf("",G3);fe(r,s,v=>t(2,n=v)),fe(r,o,v=>t(3,i=v)),fe(r,a,v=>t(4,l=v));const u=Math.random().toString(36).slice(2,20);let f=!1,c=!1;async function p(){try{await yi.create({email:n,password:u,builder:f,admin:c,forceResetPassword:!0}),we.success("Successfully created user")}catch(v){we.error(v.message)}}function d(v){n=v,s.set(n)}function g(v){f=v,t(0,f)}function h(v){c=v,t(1,c)}return[f,c,n,i,l,s,o,a,u,p,d,g,h]}class Obe extends se{constructor(e){super();oe(this,e,Ebe,Abe,ie,{})}}function Tbe(r){let e;return{c(){e=F("Users")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Ibe(r){let e;return{c(){e=F(`Each user is assigned to a group that contains apps and permissions. In
|
|
1294
1294
|
this section, you can add users, or edit and delete an existing user.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Lbe(r){let e,t,n,i;return e=new gt({props:{$$slots:{default:[Tbe]},$$scope:{ctx:r}}}),n=new Ye({props:{$$slots:{default:[Ibe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){const o={};s&8192&&(o.$$scope={dirty:s,ctx:l}),e.$set(o);const a={};s&8192&&(a.$$scope={dirty:s,ctx:l}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function Pbe(r){let e;return{c(){e=F("Users")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Nbe(r){let e;return{c(){e=F("Import users")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Rbe(r){let e;return{c(){e=F("Add user")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Mbe(r){let e,t,n,i;return e=new ot({props:{disabled:!0,secondary:!0,$$slots:{default:[Nbe]},$$scope:{ctx:r}}}),n=new ot({props:{primary:!0,dataCy:"add-user",$$slots:{default:[Rbe]},$$scope:{ctx:r}}}),n.$on("click",function(){ft(r[2].show)&&r[2].show.apply(this,arguments)}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){r=l;const o={};s&8192&&(o.$$scope={dirty:s,ctx:r}),e.$set(o);const a={};s&8192&&(a.$$scope={dirty:s,ctx:r}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function Dbe(r){let e;return{c(){e=F("Search / filter")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function jbe(r){let e,t,n,i,l,s,o,a,u,f,c,p,d;t=new gt({props:{size:"S",$$slots:{default:[Pbe]},$$scope:{ctx:r}}}),i=new Ih({props:{$$slots:{default:[Mbe]},$$scope:{ctx:r}}}),o=new Ke({props:{size:"L",$$slots:{default:[Dbe]},$$scope:{ctx:r}}});function g(v){r[9](v)}let h={placeholder:""};return r[0]!==void 0&&(h.value=r[0]),u=new Ff({props:h}),K.push(()=>de(u,"value",g)),p=new Bi({props:{schema:r[6],data:r[4]||r[1],allowEditColumns:!1,allowEditRows:!1,allowSelectRows:!1,customRenderers:[{column:"group",component:w9}]}}),p.$on("click",r[10]),{c(){e=j("div"),S(t.$$.fragment),n=R(),S(i.$$.fragment),l=R(),s=j("div"),S(o.$$.fragment),a=R(),S(u.$$.fragment),c=R(),S(p.$$.fragment),w(e,"class","users-heading svelte-o4fhum"),w(s,"class","field svelte-o4fhum")},m(v,y){$(v,e,y),A(t,e,null),N(e,n),A(i,e,null),$(v,l,y),$(v,s,y),A(o,s,null),N(s,a),A(u,s,null),$(v,c,y),A(p,v,y),d=!0},p(v,y){const k={};y&8192&&(k.$$scope={dirty:y,ctx:v}),t.$set(k);const I={};y&8196&&(I.$$scope={dirty:y,ctx:v}),i.$set(I);const T={};y&8192&&(T.$$scope={dirty:y,ctx:v}),o.$set(T);const O={};!f&&y&1&&(f=!0,O.value=v[0],me(()=>f=!1)),u.$set(O);const L={};y&18&&(L.data=v[4]||v[1]),p.$set(L)},i(v){d||(m(t.$$.fragment,v),m(i.$$.fragment,v),m(o.$$.fragment,v),m(u.$$.fragment,v),m(p.$$.fragment,v),d=!0)},o(v){_(t.$$.fragment,v),_(i.$$.fragment,v),_(o.$$.fragment,v),_(u.$$.fragment,v),_(p.$$.fragment,v),d=!1},d(v){v&&b(e),E(t),E(i),v&&b(l),v&&b(s),E(o),E(u),v&&b(c),E(p,v)}}}function Bbe(r){let e,t,n,i,l,s;return e=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[Lbe]},$$scope:{ctx:r}}}),n=new nn({props:{size:"S"}}),l=new Ve({props:{gap:"S",noPadding:!0,$$slots:{default:[jbe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment)},m(o,a){A(e,o,a),$(o,t,a),A(n,o,a),$(o,i,a),A(l,o,a),s=!0},p(o,a){const u={};a&8192&&(u.$$scope={dirty:a,ctx:o}),e.$set(u);const f={};a&8247&&(f.$$scope={dirty:a,ctx:o}),l.$set(f)},i(o){s||(m(e.$$.fragment,o),m(n.$$.fragment,o),m(l.$$.fragment,o),s=!0)},o(o){_(e.$$.fragment,o),_(n.$$.fragment,o),_(l.$$.fragment,o),s=!1},d(o){E(e,o),o&&b(t),E(n,o),o&&b(i),E(l,o)}}}function zbe(r){let e,t;return e=new wbe({}),e.$on("change",r[8]),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p:Se,i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function qbe(r){let e,t;return e=new Obe({props:{email:r[7]}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p:Se,i(n){t||(m(e.$$.fragment,n),t=!0)},o(n){_(e.$$.fragment,n),t=!1},d(n){E(e,n)}}}function Ube(r){let e,t,n,i,l,s;e=new Ve({props:{noPadding:!0,$$slots:{default:[Bbe]},$$scope:{ctx:r}}});let o={$$slots:{default:[zbe]},$$scope:{ctx:r}};n=new kt({props:o}),r[11](n);let a={$$slots:{default:[qbe]},$$scope:{ctx:r}};return l=new kt({props:a}),r[12](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&8247&&(c.$$scope={dirty:f,ctx:u}),e.$set(c);const p={};f&8192&&(p.$$scope={dirty:f,ctx:u}),n.$set(p);const d={};f&8192&&(d.$$scope={dirty:f,ctx:u}),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[11](null),E(n,u),u&&b(i),r[12](null),E(l,u)}}}function Fbe(r,e,t){let n,i,l;fe(r,yi,v=>t(1,i=v)),fe(r,Ut,v=>t(5,l=v));const s={email:{},developmentAccess:{displayName:"Development Access",type:"boolean"},adminAccess:{displayName:"Admin Access",type:"boolean"},group:{}};let o,a,u,f;function c(){u.hide(),f.show()}qt(async()=>{try{await yi.init()}catch{we.error("Error getting user list")}});function p(v){o=v,t(0,o)}const d=({detail:v})=>l(`./${v._id}`);function g(v){K[v?"unshift":"push"](()=>{u=v,t(2,u)})}function h(v){K[v?"unshift":"push"](()=>{f=v,t(3,f)})}return r.$$.update=()=>{r.$$.dirty&3&&t(4,n=i.filter(v=>v.email.includes(o||"")).map(v=>{var y,k;return lt(ke({},v),{group:["All users"],developmentAccess:!!((y=v.builder)==null?void 0:y.global),adminAccess:!!((k=v.admin)==null?void 0:k.global)})}))},[o,i,u,f,n,l,s,a,c,p,d,g,h]}class Vbe extends se{constructor(e){super();oe(this,e,Fbe,Ube,ie,{})}}function C9(r){let e,t;return e=new Ks({props:{wide:r[1].path.includes("email/:template"),$$slots:{default:[Hbe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&2&&(l.wide=n[1].path.includes("email/:template")),i&16&&(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 Hbe(r){let e;const t=r[3].default,n=bt(t,r,r[4],null);return{c(){n&&n.c()},m(i,l){n&&n.m(i,l),e=!0},p(i,l){n&&n.p&&(!e||l&16)&&vt(n,t,i,i[4],e?yt(t,i[4],l,null):wt(i[4]),null)},i(i){e||(m(n,i),e=!0)},o(i){_(n,i),e=!1},d(i){n&&n.d(i)}}}function Wbe(r){let e,t,n=r[0].isAdmin&&C9(r);return{c(){n&&n.c(),e=Ae()},m(i,l){n&&n.m(i,l),$(i,e,l),t=!0},p(i,[l]){i[0].isAdmin?n?(n.p(i,l),l&1&&m(n,1)):(n=C9(i),n.c(),m(n,1),n.m(e.parentNode,e)):n&&(ee(),_(n,1,1,()=>{n=null}),te())},i(i){t||(m(n),t=!0)},o(i){_(n),t=!1},d(i){n&&n.d(i),i&&b(e)}}}function Gbe(r,e,t){let n,i,l;fe(r,Kr,a=>t(2,n=a)),fe(r,Ft,a=>t(0,i=a)),fe(r,tA,a=>t(1,l=a));let{$$slots:s={},$$scope:o}=e;return r.$$set=a=>{"$$scope"in a&&t(4,o=a.$$scope)},r.$$.update=()=>{r.$$.dirty&5&&(i.isAdmin||n("../"))},[i,l,n,s,o]}class Ybe extends se{constructor(e){super();oe(this,e,Gbe,Wbe,ie,{})}}function Jbe(r,e,t){let n;return fe(r,Ut,i=>t(0,n=i)),n("./organisation"),[]}class Qbe extends se{constructor(e){super();oe(this,e,Jbe,null,ie,{})}}function S9(r){let e,t;return e=new Ve({props:{noPadding:!0,$$slots:{default:[u3e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&4110&&(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 Xbe(r){let e;return{c(){e=F("Organisation")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Kbe(r){let e;return{c(){e=F(`Organisation settings is where you can edit your organisation name and
|
|
1295
1295
|
logo. You can also configure your platform URL and enable or disable
|
|
1296
1296
|
analytics.`)},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function Zbe(r){let e,t,n,i;return e=new gt({props:{size:"M",$$slots:{default:[Xbe]},$$scope:{ctx:r}}}),n=new Ye({props:{$$slots:{default:[Kbe]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){const o={};s&4096&&(o.$$scope={dirty:s,ctx:l}),e.$set(o);const a={};s&4096&&(a.$$scope={dirty:s,ctx:l}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function xbe(r){let e;return{c(){e=F("Information")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function e3e(r){let e;return{c(){e=F("Here you can update your logo and organization name.")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function t3e(r){let e,t,n,i;return e=new gt({props:{size:"S",$$slots:{default:[xbe]},$$scope:{ctx:r}}}),n=new Ye({props:{size:"S",$$slots:{default:[e3e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){const o={};s&4096&&(o.$$scope={dirty:s,ctx:l}),e.$set(o);const a={};s&4096&&(a.$$scope={dirty:s,ctx:l}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function n3e(r){let e;return{c(){e=F("Org. name")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function r3e(r){let e;return{c(){e=F("Logo")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function A9(r){let e,t,n,i,l,s,o,a,u,f,c;e=new nn({props:{size:"S"}}),n=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[s3e]},$$scope:{ctx:r}}}),o=new Ke({props:{size:"L",tooltip:"Update the Platform URL to match your Budibase web URL. This keeps email templates and authentication configs up to date.",$$slots:{default:[o3e]},$$scope:{ctx:r}}});function p(g){r[9](g)}let d={thin:!0};return r[2].platformUrl!==void 0&&(d.value=r[2].platformUrl),u=new nt({props:d}),K.push(()=>de(u,"value",p)),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),l=j("div"),s=j("div"),S(o.$$.fragment),a=R(),S(u.$$.fragment),w(s,"class","field svelte-1aiadff"),w(l,"class","fields svelte-1aiadff")},m(g,h){A(e,g,h),$(g,t,h),A(n,g,h),$(g,i,h),$(g,l,h),N(l,s),A(o,s,null),N(s,a),A(u,s,null),c=!0},p(g,h){const v={};h&4096&&(v.$$scope={dirty:h,ctx:g}),n.$set(v);const y={};h&4096&&(y.$$scope={dirty:h,ctx:g}),o.$set(y);const k={};!f&&h&4&&(f=!0,k.value=g[2].platformUrl,me(()=>f=!1)),u.$set(k)},i(g){c||(m(e.$$.fragment,g),m(n.$$.fragment,g),m(o.$$.fragment,g),m(u.$$.fragment,g),c=!0)},o(g){_(e.$$.fragment,g),_(n.$$.fragment,g),_(o.$$.fragment,g),_(u.$$.fragment,g),c=!1},d(g){E(e,g),g&&b(t),E(n,g),g&&b(i),g&&b(l),E(o),E(u)}}}function i3e(r){let e;return{c(){e=F("Platform")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function l3e(r){let e;return{c(){e=F("Here you can set up general platform settings.")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function s3e(r){let e,t,n,i;return e=new gt({props:{size:"S",$$slots:{default:[i3e]},$$scope:{ctx:r}}}),n=new Ye({props:{size:"S",$$slots:{default:[l3e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){const o={};s&4096&&(o.$$scope={dirty:s,ctx:l}),e.$set(o);const a={};s&4096&&(a.$$scope={dirty:s,ctx:l}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function o3e(r){let e;return{c(){e=F("Platform URL")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function a3e(r){let e;return{c(){e=F("Save")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function u3e(r){let e,t,n,i,l,s,o,a,u,f,c,p,d,g,h,v,y,k,I,T,O,L,M;e=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[Zbe]},$$scope:{ctx:r}}}),n=new nn({props:{size:"S"}}),l=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[t3e]},$$scope:{ctx:r}}}),u=new Ke({props:{size:"L",$$slots:{default:[n3e]},$$scope:{ctx:r}}});function U(V){r[7](V)}let D={thin:!0};r[2].company!==void 0&&(D.value=r[2].company),c=new nt({props:D}),K.push(()=>de(c,"value",U)),h=new Ke({props:{size:"L",$$slots:{default:[r3e]},$$scope:{ctx:r}}}),k=new Xo({props:{value:[r[2].logo]}}),k.$on("change",r[8]);let B=!r[3].cloud&&A9(r);return L=new ot({props:{disabled:r[1],cta:!0,$$slots:{default:[a3e]},$$scope:{ctx:r}}}),L.$on("click",r[5]),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),S(l.$$.fragment),s=R(),o=j("div"),a=j("div"),S(u.$$.fragment),f=R(),S(c.$$.fragment),d=R(),g=j("div"),S(h.$$.fragment),v=R(),y=j("div"),S(k.$$.fragment),I=R(),B&&B.c(),T=R(),O=j("div"),S(L.$$.fragment),w(a,"class","field svelte-1aiadff"),w(y,"class","file svelte-1aiadff"),w(g,"class","field logo svelte-1aiadff"),w(o,"class","fields svelte-1aiadff")},m(V,G){A(e,V,G),$(V,t,G),A(n,V,G),$(V,i,G),A(l,V,G),$(V,s,G),$(V,o,G),N(o,a),A(u,a,null),N(a,f),A(c,a,null),N(o,d),N(o,g),A(h,g,null),N(g,v),N(g,y),A(k,y,null),$(V,I,G),B&&B.m(V,G),$(V,T,G),$(V,O,G),A(L,O,null),M=!0},p(V,G){const Q={};G&4096&&(Q.$$scope={dirty:G,ctx:V}),e.$set(Q);const H={};G&4096&&(H.$$scope={dirty:G,ctx:V}),l.$set(H);const q={};G&4096&&(q.$$scope={dirty:G,ctx:V}),u.$set(q);const W={};!p&&G&4&&(p=!0,W.value=V[2].company,me(()=>p=!1)),c.$set(W);const J={};G&4096&&(J.$$scope={dirty:G,ctx:V}),h.$set(J);const pe={};G&4&&(pe.value=[V[2].logo]),k.$set(pe),V[3].cloud?B&&(ee(),_(B,1,1,()=>{B=null}),te()):B?(B.p(V,G),G&8&&m(B,1)):(B=A9(V),B.c(),m(B,1),B.m(T.parentNode,T));const ne={};G&2&&(ne.disabled=V[1]),G&4096&&(ne.$$scope={dirty:G,ctx:V}),L.$set(ne)},i(V){M||(m(e.$$.fragment,V),m(n.$$.fragment,V),m(l.$$.fragment,V),m(u.$$.fragment,V),m(c.$$.fragment,V),m(h.$$.fragment,V),m(k.$$.fragment,V),m(B),m(L.$$.fragment,V),M=!0)},o(V){_(e.$$.fragment,V),_(n.$$.fragment,V),_(l.$$.fragment,V),_(u.$$.fragment,V),_(c.$$.fragment,V),_(h.$$.fragment,V),_(k.$$.fragment,V),_(B),_(L.$$.fragment,V),M=!1},d(V){E(e,V),V&&b(t),E(n,V),V&&b(i),E(l,V),V&&b(s),V&&b(o),E(u),E(c),E(h),E(k),V&&b(I),B&&B.d(V),V&&b(T),V&&b(O),E(L)}}}function f3e(r){let e,t,n=r[0].isAdmin&&S9(r);return{c(){n&&n.c(),e=Ae()},m(i,l){n&&n.m(i,l),$(i,e,l),t=!0},p(i,[l]){i[0].isAdmin?n?(n.p(i,l),l&1&&m(n,1)):(n=S9(i),n.c(),m(n,1),n.m(e.parentNode,e)):n&&(ee(),_(n,1,1,()=>{n=null}),te())},i(i){t||(m(n),t=!0)},o(i){_(n),t=!1},d(i){n&&n.d(i),i&&b(e)}}}function c3e(r,e,t){let n,i,l,s,o;fe(r,hr,h=>t(10,i=h)),fe(r,Kr,h=>t(6,l=h)),fe(r,Ft,h=>t(0,s=h)),fe(r,Cn,h=>t(3,o=h));const a=mn({company:i.company,platformUrl:i.platformUrl,logo:i.logoUrl?{url:i.logoUrl,type:"image",name:"Logo"}:null});fe(r,a,h=>t(2,n=h));let u=!1;async function f(h){try{let v=new FormData;v.append("file",h),await Ze.uploadLogo(v)}catch{we.error("Error uploading logo")}}async function c(){var h,v;t(1,u=!0);try{n.logo&&!n.logo.url&&(await f(n.logo),await hr.init());const y={company:(h=n.company)!=null?h:"",platformUrl:(v=n.platformUrl)!=null?v:""};n.logo||(y.logoUrl=""),await hr.save(y)}catch{we.error("Error saving org config")}t(1,u=!1)}function p(h){r.$$.not_equal(n.company,h)&&(n.company=h,a.set(n))}const d=h=>{!h.detail||h.detail.length===0?Mn(a,n.logo=null,n):Mn(a,n.logo=h.detail[0],n)};function g(h){r.$$.not_equal(n.platformUrl,h)&&(n.platformUrl=h,a.set(n))}return r.$$.update=()=>{r.$$.dirty&65&&(s.isAdmin||l("../../portal"))},[s,u,n,o,a,c,l,p,d,g]}class p3e extends se{constructor(e){super();oe(this,e,c3e,f3e,ie,{})}}function d3e(r){let e;return{c(){e=F("Theming")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function m3e(r){let e;return{c(){e=F("Customize how Budibase looks and feels.")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function g3e(r){let e,t,n,i;return e=new gt({props:{size:"M",$$slots:{default:[d3e]},$$scope:{ctx:r}}}),n=new Ye({props:{$$slots:{default:[m3e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment)},m(l,s){A(e,l,s),$(l,t,s),A(n,l,s),i=!0},p(l,s){const o={};s&4&&(o.$$scope={dirty:s,ctx:l}),e.$set(o);const a={};s&4&&(a.$$scope={dirty:s,ctx:l}),n.$set(a)},i(l){i||(m(e.$$.fragment,l),m(n.$$.fragment,l),i=!0)},o(l){_(e.$$.fragment,l),_(n.$$.fragment,l),i=!1},d(l){E(e,l),l&&b(t),E(n,l)}}}function _3e(r){let e;return{c(){e=F("Builder theme")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function h3e(r){let e,t,n,i,l,s,o,a,u,f,c;e=new Ve({props:{gap:"XS",noPadding:!0,$$slots:{default:[g3e]},$$scope:{ctx:r}}}),n=new nn({props:{size:"S"}}),o=new Ke({props:{size:"L",$$slots:{default:[_3e]},$$scope:{ctx:r}}});function p(g){r[1](g)}let d={options:r[0].options,placeholder:null,getOptionLabel:Cr};return r[0].theme!==void 0&&(d.value=r[0].theme),u=new Qe({props:d}),K.push(()=>de(u,"value",p)),{c(){S(e.$$.fragment),t=R(),S(n.$$.fragment),i=R(),l=j("div"),s=j("div"),S(o.$$.fragment),a=R(),S(u.$$.fragment),w(s,"class","field svelte-1m1ewvx"),w(l,"class","fields svelte-1m1ewvx")},m(g,h){A(e,g,h),$(g,t,h),A(n,g,h),$(g,i,h),$(g,l,h),N(l,s),A(o,s,null),N(s,a),A(u,s,null),c=!0},p(g,h){const v={};h&4&&(v.$$scope={dirty:h,ctx:g}),e.$set(v);const y={};h&4&&(y.$$scope={dirty:h,ctx:g}),o.$set(y);const k={};h&1&&(k.options=g[0].options),!f&&h&1&&(f=!0,k.value=g[0].theme,me(()=>f=!1)),u.$set(k)},i(g){c||(m(e.$$.fragment,g),m(n.$$.fragment,g),m(o.$$.fragment,g),m(u.$$.fragment,g),c=!0)},o(g){_(e.$$.fragment,g),_(n.$$.fragment,g),_(o.$$.fragment,g),_(u.$$.fragment,g),c=!1},d(g){E(e,g),g&&b(t),E(n,g),g&&b(i),g&&b(l),E(o),E(u)}}}function $3e(r){let e,t;return e=new Ve({props:{noPadding:!0,$$slots:{default:[h3e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,[i]){const l={};i&5&&(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 b3e(r,e,t){let n;fe(r,Yf,l=>t(0,n=l));function i(l){r.$$.not_equal(n.theme,l)&&(n.theme=l,Yf.set(n))}return[n,i]}class v3e extends se{constructor(e){super();oe(this,e,b3e,$3e,ie,{})}}function E9(r){let e,t;return e=new Ve({props:{noPadding:!0,$$slots:{default:[E3e]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(n,i){A(e,n,i),t=!0},p(n,i){const l={};i&66&&(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 w3e(r){let e;return{c(){e=F("Updates")},m(t,n){$(t,e,n)},d(t){t&&b(e)}}}function y3e(r){let e;return{c(){e=F(`Keep your budibase installation up to date to take advantage of the
|
package/builder/index.html
CHANGED
|
@@ -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.
|
|
13
|
+
<script type="module" crossorigin src="/builder/assets/index.5453a5df.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">
|
package/coverage/clover.xml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="
|
|
3
|
-
<project timestamp="
|
|
2
|
+
<coverage generated="1652099798070" clover="3.2.0">
|
|
3
|
+
<project timestamp="1652099798070" name="All files">
|
|
4
4
|
<metrics statements="4137" coveredstatements="2978" conditionals="1697" coveredconditionals="874" methods="611" coveredmethods="429" elements="6445" coveredelements="4281" complexity="0" loc="4137" ncloc="4137" 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"/>
|
|
@@ -187,7 +187,7 @@ exports.endUserPing = <span class="fstat-no" title="function not covered" >as</s
|
|
|
187
187
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
188
188
|
Code coverage generated by
|
|
189
189
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
190
|
-
at
|
|
190
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
191
191
|
</div>
|
|
192
192
|
<script src="../../prettify.js"></script>
|
|
193
193
|
<script>
|
|
@@ -232,7 +232,7 @@ exports.update = async function (ctx) {
|
|
|
232
232
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
233
233
|
Code coverage generated by
|
|
234
234
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
235
|
-
at
|
|
235
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
236
236
|
</div>
|
|
237
237
|
<script src="../../prettify.js"></script>
|
|
238
238
|
<script>
|
|
@@ -244,7 +244,7 @@ exports.fetchSelf = async ctx => {
|
|
|
244
244
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
245
245
|
Code coverage generated by
|
|
246
246
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
247
|
-
at
|
|
247
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
248
248
|
</div>
|
|
249
249
|
<script src="../../prettify.js"></script>
|
|
250
250
|
<script>
|
|
@@ -724,7 +724,7 @@ exports.test = async function (ctx) {
|
|
|
724
724
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
725
725
|
Code coverage generated by
|
|
726
726
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
727
|
-
at
|
|
727
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
728
728
|
</div>
|
|
729
729
|
<script src="../../prettify.js"></script>
|
|
730
730
|
<script>
|
|
@@ -97,7 +97,7 @@ exports.exportAppDump = async function (ctx) {
|
|
|
97
97
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
98
98
|
Code coverage generated by
|
|
99
99
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
100
|
-
at
|
|
100
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
101
101
|
</div>
|
|
102
102
|
<script src="../../prettify.js"></script>
|
|
103
103
|
<script>
|
|
@@ -409,7 +409,7 @@ exports.importApps = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
409
409
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
410
410
|
Code coverage generated by
|
|
411
411
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
412
|
-
at
|
|
412
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
413
413
|
</div>
|
|
414
414
|
<script src="../../prettify.js"></script>
|
|
415
415
|
<script>
|
|
@@ -172,7 +172,7 @@ exports.fetchAppComponentDefinitions = async function (ctx) {
|
|
|
172
172
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
173
173
|
Code coverage generated by
|
|
174
174
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
175
|
-
at
|
|
175
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
176
176
|
</div>
|
|
177
177
|
<script src="../../prettify.js"></script>
|
|
178
178
|
<script>
|
|
@@ -847,7 +847,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
|
|
|
847
847
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
848
848
|
Code coverage generated by
|
|
849
849
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
850
|
-
at
|
|
850
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
851
851
|
</div>
|
|
852
852
|
<script src="../../prettify.js"></script>
|
|
853
853
|
<script>
|
|
@@ -451,7 +451,7 @@ exports.getBudibaseVersion = <span class="fstat-no" title="function not covered"
|
|
|
451
451
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
452
452
|
Code coverage generated by
|
|
453
453
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
454
|
-
at
|
|
454
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
455
455
|
</div>
|
|
456
456
|
<script src="../../prettify.js"></script>
|
|
457
457
|
<script>
|
|
@@ -401,7 +401,7 @@
|
|
|
401
401
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
402
402
|
Code coverage generated by
|
|
403
403
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
404
|
-
at
|
|
404
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
405
405
|
</div>
|
|
406
406
|
<script src="../../prettify.js"></script>
|
|
407
407
|
<script>
|
|
@@ -136,7 +136,7 @@ exports.find = async function (ctx) {
|
|
|
136
136
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
137
137
|
Code coverage generated by
|
|
138
138
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
139
|
-
at
|
|
139
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
140
140
|
</div>
|
|
141
141
|
<script src="../../prettify.js"></script>
|
|
142
142
|
<script>
|
|
@@ -223,7 +223,7 @@ exports.destroy = async function (ctx) {
|
|
|
223
223
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
224
224
|
Code coverage generated by
|
|
225
225
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
226
|
-
at
|
|
226
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
227
227
|
</div>
|
|
228
228
|
<script src="../../prettify.js"></script>
|
|
229
229
|
<script>
|
|
@@ -193,7 +193,7 @@ exports.getMetadata = async ctx => {
|
|
|
193
193
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
194
194
|
Code coverage generated by
|
|
195
195
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
196
|
-
at
|
|
196
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
197
197
|
</div>
|
|
198
198
|
<script src="../../prettify.js"></script>
|
|
199
199
|
<script>
|
|
@@ -109,7 +109,7 @@ exports.fetchDefinitions = <span class="fstat-no" title="function not covered" >
|
|
|
109
109
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
110
110
|
Code coverage generated by
|
|
111
111
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
112
|
-
at
|
|
112
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
113
113
|
</div>
|
|
114
114
|
<script src="../../prettify.js"></script>
|
|
115
115
|
<script>
|
|
@@ -595,7 +595,7 @@ exports.removePermission = async function (ctx) {
|
|
|
595
595
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
596
596
|
Code coverage generated by
|
|
597
597
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
598
|
-
at
|
|
598
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
599
599
|
</div>
|
|
600
600
|
<script src="../../prettify.js"></script>
|
|
601
601
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at
|
|
104
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -220,7 +220,7 @@ exports.generateQueryPreviewValidation = () => {
|
|
|
220
220
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
221
221
|
Code coverage generated by
|
|
222
222
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
223
|
-
at
|
|
223
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
224
224
|
</div>
|
|
225
225
|
<script src="../../../prettify.js"></script>
|
|
226
226
|
<script>
|
|
@@ -364,7 +364,7 @@ exports.destroy = async function (ctx) {
|
|
|
364
364
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
365
365
|
Code coverage generated by
|
|
366
366
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
367
|
-
at
|
|
367
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
368
368
|
</div>
|
|
369
369
|
<script src="../../prettify.js"></script>
|
|
370
370
|
<script>
|
|
@@ -346,7 +346,7 @@ exports.clientFetch = async ctx => {
|
|
|
346
346
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
347
347
|
Code coverage generated by
|
|
348
348
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
349
|
-
at
|
|
349
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
350
350
|
</div>
|
|
351
351
|
<script src="../../prettify.js"></script>
|
|
352
352
|
<script>
|
|
@@ -769,7 +769,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
769
769
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
770
770
|
Code coverage generated by
|
|
771
771
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
772
|
-
at
|
|
772
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
773
773
|
</div>
|
|
774
774
|
<script src="../../../prettify.js"></script>
|
|
775
775
|
<script>
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
162
162
|
Code coverage generated by
|
|
163
163
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
164
|
-
at
|
|
164
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
165
165
|
</div>
|
|
166
166
|
<script src="../../../prettify.js"></script>
|
|
167
167
|
<script>
|
|
@@ -1435,7 +1435,7 @@ exports.fetchEnrichedRow = async ctx => {
|
|
|
1435
1435
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1436
1436
|
Code coverage generated by
|
|
1437
1437
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1438
|
-
at
|
|
1438
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
1439
1439
|
</div>
|
|
1440
1440
|
<script src="../../../prettify.js"></script>
|
|
1441
1441
|
<script>
|
|
@@ -1264,7 +1264,7 @@ exports.fullSearch = async (query, params) => {
|
|
|
1264
1264
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1265
1265
|
Code coverage generated by
|
|
1266
1266
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1267
|
-
at
|
|
1267
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
1268
1268
|
</div>
|
|
1269
1269
|
<script src="../../../prettify.js"></script>
|
|
1270
1270
|
<script>
|
|
@@ -538,7 +538,7 @@ exports.finaliseRow = async (
|
|
|
538
538
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
539
539
|
Code coverage generated by
|
|
540
540
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
541
|
-
at
|
|
541
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
542
542
|
</div>
|
|
543
543
|
<script src="../../../prettify.js"></script>
|
|
544
544
|
<script>
|
|
@@ -346,7 +346,7 @@ exports.validate = async ({ tableId, row, table }) => {
|
|
|
346
346
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
347
347
|
Code coverage generated by
|
|
348
348
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
349
|
-
at
|
|
349
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
350
350
|
</div>
|
|
351
351
|
<script src="../../../prettify.js"></script>
|
|
352
352
|
<script>
|
|
@@ -208,7 +208,7 @@ exports.destroy = async ctx => {
|
|
|
208
208
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
209
209
|
Code coverage generated by
|
|
210
210
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
211
|
-
at
|
|
211
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
212
212
|
</div>
|
|
213
213
|
<script src="../../prettify.js"></script>
|
|
214
214
|
<script>
|
|
@@ -103,7 +103,7 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
103
103
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
104
104
|
Code coverage generated by
|
|
105
105
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
106
|
-
at
|
|
106
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
107
107
|
</div>
|
|
108
108
|
<script src="../../prettify.js"></script>
|
|
109
109
|
<script>
|
|
@@ -589,7 +589,7 @@ exports.runStaticFormulaChecks = async (table, { oldTable, deletion }) => {
|
|
|
589
589
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
590
590
|
Code coverage generated by
|
|
591
591
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
592
|
-
at
|
|
592
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
593
593
|
</div>
|
|
594
594
|
<script src="../../../prettify.js"></script>
|
|
595
595
|
<script>
|
|
@@ -1024,7 +1024,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
1024
1024
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1025
1025
|
Code coverage generated by
|
|
1026
1026
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1027
|
-
at
|
|
1027
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
1028
1028
|
</div>
|
|
1029
1029
|
<script src="../../../prettify.js"></script>
|
|
1030
1030
|
<script>
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
132
132
|
Code coverage generated by
|
|
133
133
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
134
|
-
at
|
|
134
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
135
135
|
</div>
|
|
136
136
|
<script src="../../../prettify.js"></script>
|
|
137
137
|
<script>
|
|
@@ -367,7 +367,7 @@ exports.validateCSVSchema = async function (ctx) {
|
|
|
367
367
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
368
368
|
Code coverage generated by
|
|
369
369
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
370
|
-
at
|
|
370
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
371
371
|
</div>
|
|
372
372
|
<script src="../../../prettify.js"></script>
|
|
373
373
|
<script>
|
|
@@ -187,7 +187,7 @@ exports.downloadTemplate = async function (ctx) {
|
|
|
187
187
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
188
188
|
Code coverage generated by
|
|
189
189
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
190
|
-
at
|
|
190
|
+
at Mon May 09 2022 12:36:37 GMT+0000 (Coordinated Universal Time)
|
|
191
191
|
</div>
|
|
192
192
|
<script src="../../prettify.js"></script>
|
|
193
193
|
<script>
|