@saltcorn/data 1.5.0-beta.1 → 1.5.0-beta.11

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 (154) hide show
  1. package/dist/base-plugin/actions.d.ts +90 -33
  2. package/dist/base-plugin/actions.d.ts.map +1 -1
  3. package/dist/base-plugin/actions.js +94 -21
  4. package/dist/base-plugin/actions.js.map +1 -1
  5. package/dist/base-plugin/fieldviews.d.ts.map +1 -1
  6. package/dist/base-plugin/fieldviews.js +1 -0
  7. package/dist/base-plugin/fieldviews.js.map +1 -1
  8. package/dist/base-plugin/fileviews.d.ts +13 -0
  9. package/dist/base-plugin/fileviews.js +36 -14
  10. package/dist/base-plugin/fileviews.js.map +1 -1
  11. package/dist/base-plugin/index.d.ts +22 -12
  12. package/dist/base-plugin/index.d.ts.map +1 -1
  13. package/dist/base-plugin/types.d.ts +18 -6
  14. package/dist/base-plugin/types.d.ts.map +1 -1
  15. package/dist/base-plugin/types.js +28 -13
  16. package/dist/base-plugin/types.js.map +1 -1
  17. package/dist/base-plugin/viewtemplates/edit.d.ts +5 -5
  18. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  19. package/dist/base-plugin/viewtemplates/edit.js +23 -6
  20. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  21. package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -1
  22. package/dist/base-plugin/viewtemplates/feed.js +57 -21
  23. package/dist/base-plugin/viewtemplates/feed.js.map +1 -1
  24. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
  25. package/dist/base-plugin/viewtemplates/filter.js +35 -30
  26. package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
  27. package/dist/base-plugin/viewtemplates/list.d.ts +2 -2
  28. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
  29. package/dist/base-plugin/viewtemplates/list.js +64 -17
  30. package/dist/base-plugin/viewtemplates/list.js.map +1 -1
  31. package/dist/base-plugin/viewtemplates/room.d.ts +3 -3
  32. package/dist/base-plugin/viewtemplates/show.d.ts +2 -2
  33. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  34. package/dist/base-plugin/viewtemplates/show.js +15 -10
  35. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  36. package/dist/db/connect.d.ts.map +1 -1
  37. package/dist/db/connect.js +5 -0
  38. package/dist/db/connect.js.map +1 -1
  39. package/dist/db/state.d.ts +24 -11
  40. package/dist/db/state.d.ts.map +1 -1
  41. package/dist/db/state.js +87 -20
  42. package/dist/db/state.js.map +1 -1
  43. package/dist/migrations/202511081024.d.ts +2 -0
  44. package/dist/migrations/202511081024.d.ts.map +1 -0
  45. package/dist/migrations/202511081024.js +4 -0
  46. package/dist/migrations/202511081024.js.map +1 -0
  47. package/dist/mobile-mocks/models/internal/mail_queue.d.ts +1 -0
  48. package/dist/mobile-mocks/models/internal/mail_queue.d.ts.map +1 -0
  49. package/dist/mobile-mocks/models/internal/mail_queue.js +2 -0
  50. package/dist/mobile-mocks/models/internal/mail_queue.js.map +1 -0
  51. package/dist/models/config.d.ts.map +1 -1
  52. package/dist/models/config.js +29 -9
  53. package/dist/models/config.js.map +1 -1
  54. package/dist/models/discovery.d.ts.map +1 -1
  55. package/dist/models/discovery.js +4 -1
  56. package/dist/models/discovery.js.map +1 -1
  57. package/dist/models/email.d.ts.map +1 -1
  58. package/dist/models/email.js +47 -1
  59. package/dist/models/email.js.map +1 -1
  60. package/dist/models/expression.d.ts +2 -0
  61. package/dist/models/expression.d.ts.map +1 -1
  62. package/dist/models/expression.js +41 -0
  63. package/dist/models/expression.js.map +1 -1
  64. package/dist/models/field.d.ts +2 -1
  65. package/dist/models/field.d.ts.map +1 -1
  66. package/dist/models/field.js +12 -1
  67. package/dist/models/field.js.map +1 -1
  68. package/dist/models/fieldrepeat.d.ts +7 -2
  69. package/dist/models/fieldrepeat.d.ts.map +1 -1
  70. package/dist/models/fieldrepeat.js +9 -1
  71. package/dist/models/fieldrepeat.js.map +1 -1
  72. package/dist/models/file.d.ts +2 -1
  73. package/dist/models/file.d.ts.map +1 -1
  74. package/dist/models/file.js +37 -3
  75. package/dist/models/file.js.map +1 -1
  76. package/dist/models/index.d.ts +5 -5
  77. package/dist/models/index.d.ts.map +1 -1
  78. package/dist/models/internal/mail_queue.d.ts +24 -0
  79. package/dist/models/internal/mail_queue.d.ts.map +1 -0
  80. package/dist/models/internal/mail_queue.js +172 -0
  81. package/dist/models/internal/mail_queue.js.map +1 -0
  82. package/dist/models/layout.d.ts +1 -1
  83. package/dist/models/layout.d.ts.map +1 -1
  84. package/dist/models/layout.js +58 -1
  85. package/dist/models/layout.js.map +1 -1
  86. package/dist/models/notification.d.ts +2 -1
  87. package/dist/models/notification.d.ts.map +1 -1
  88. package/dist/models/notification.js +7 -13
  89. package/dist/models/notification.js.map +1 -1
  90. package/dist/models/page.d.ts +1 -1
  91. package/dist/models/page.d.ts.map +1 -1
  92. package/dist/models/page.js +27 -5
  93. package/dist/models/page.js.map +1 -1
  94. package/dist/models/plugin.d.ts.map +1 -1
  95. package/dist/models/plugin.js +4 -3
  96. package/dist/models/plugin.js.map +1 -1
  97. package/dist/models/scheduler.d.ts.map +1 -1
  98. package/dist/models/scheduler.js +38 -0
  99. package/dist/models/scheduler.js.map +1 -1
  100. package/dist/models/table.d.ts +10 -6
  101. package/dist/models/table.d.ts.map +1 -1
  102. package/dist/models/table.js +81 -27
  103. package/dist/models/table.js.map +1 -1
  104. package/dist/models/user.d.ts +14 -3
  105. package/dist/models/user.d.ts.map +1 -1
  106. package/dist/models/user.js +28 -3
  107. package/dist/models/user.js.map +1 -1
  108. package/dist/models/view.js +1 -1
  109. package/dist/models/view.js.map +1 -1
  110. package/dist/models/workflow.d.ts +1 -0
  111. package/dist/models/workflow.d.ts.map +1 -1
  112. package/dist/models/workflow.js +16 -1
  113. package/dist/models/workflow.js.map +1 -1
  114. package/dist/models/workflow_run.d.ts.map +1 -1
  115. package/dist/models/workflow_run.js +12 -1
  116. package/dist/models/workflow_run.js.map +1 -1
  117. package/dist/models/workflow_step.d.ts.map +1 -1
  118. package/dist/models/workflow_step.js +8 -0
  119. package/dist/models/workflow_step.js.map +1 -1
  120. package/dist/plugin-helper.d.ts.map +1 -1
  121. package/dist/plugin-helper.js +140 -15
  122. package/dist/plugin-helper.js.map +1 -1
  123. package/dist/standard-menu.d.ts.map +1 -1
  124. package/dist/standard-menu.js +20 -2
  125. package/dist/standard-menu.js.map +1 -1
  126. package/dist/tests/auxtest.test.js +38 -0
  127. package/dist/tests/auxtest.test.js.map +1 -1
  128. package/dist/tests/calc.test.js +44 -1
  129. package/dist/tests/calc.test.js.map +1 -1
  130. package/dist/tests/exact_views.test.js +10 -10
  131. package/dist/tests/exact_views.test.js.map +1 -1
  132. package/dist/tests/mail_queue.test.d.ts +2 -0
  133. package/dist/tests/mail_queue.test.d.ts.map +1 -0
  134. package/dist/tests/mail_queue.test.js +122 -0
  135. package/dist/tests/mail_queue.test.js.map +1 -0
  136. package/dist/tests/mocks.d.ts +8 -2
  137. package/dist/tests/mocks.d.ts.map +1 -1
  138. package/dist/tests/mocks.js +1 -1
  139. package/dist/tests/mocks.js.map +1 -1
  140. package/dist/tests/show.test.js +1 -1
  141. package/dist/tests/show.test.js.map +1 -1
  142. package/dist/tests/table.test.js +56 -0
  143. package/dist/tests/table.test.js.map +1 -1
  144. package/dist/tests/user.test.js +23 -1
  145. package/dist/tests/user.test.js.map +1 -1
  146. package/dist/utils.d.ts +1 -0
  147. package/dist/utils.d.ts.map +1 -1
  148. package/dist/utils.js +6 -4
  149. package/dist/utils.js.map +1 -1
  150. package/dist/web-mobile-commons.d.ts.map +1 -1
  151. package/dist/web-mobile-commons.js +13 -1
  152. package/dist/web-mobile-commons.js.map +1 -1
  153. package/package.json +8 -8
  154. package/webpack.config.js +1 -0
@@ -80,18 +80,22 @@ export namespace loop_rows {
80
80
  sublabel: string;
81
81
  input_type: string;
82
82
  options: string[];
83
- type?: undefined;
84
- class?: undefined;
85
83
  attributes?: undefined;
84
+ type?: undefined;
86
85
  } | {
87
86
  name: string;
88
87
  label: string;
89
88
  sublabel: string;
90
- type: string;
91
- class: string;
92
- input_type?: undefined;
89
+ input_type: string;
90
+ attributes: {
91
+ mode: string;
92
+ singleline: boolean;
93
+ expression_type: string;
94
+ calcOptions?: undefined;
95
+ min?: undefined;
96
+ };
93
97
  options?: undefined;
94
- attributes?: undefined;
98
+ type?: undefined;
95
99
  } | {
96
100
  name: string;
97
101
  label: string;
@@ -99,7 +103,6 @@ export namespace loop_rows {
99
103
  sublabel: string;
100
104
  input_type?: undefined;
101
105
  options?: undefined;
102
- class?: undefined;
103
106
  attributes?: undefined;
104
107
  } | {
105
108
  name: string;
@@ -107,12 +110,14 @@ export namespace loop_rows {
107
110
  type: string;
108
111
  attributes: {
109
112
  calcOptions: {}[];
113
+ mode?: undefined;
114
+ singleline?: undefined;
115
+ expression_type?: undefined;
110
116
  min?: undefined;
111
117
  };
112
118
  sublabel?: undefined;
113
119
  input_type?: undefined;
114
120
  options?: undefined;
115
- class?: undefined;
116
121
  } | {
117
122
  name: string;
118
123
  label: string;
@@ -120,7 +125,6 @@ export namespace loop_rows {
120
125
  sublabel?: undefined;
121
126
  input_type?: undefined;
122
127
  options?: undefined;
123
- class?: undefined;
124
128
  attributes?: undefined;
125
129
  } | {
126
130
  name: string;
@@ -129,11 +133,13 @@ export namespace loop_rows {
129
133
  type: string;
130
134
  attributes: {
131
135
  min: number;
136
+ mode?: undefined;
137
+ singleline?: undefined;
138
+ expression_type?: undefined;
132
139
  calcOptions?: undefined;
133
140
  };
134
141
  input_type?: undefined;
135
142
  options?: undefined;
136
- class?: undefined;
137
143
  } | {
138
144
  name: string;
139
145
  label: string;
@@ -143,9 +149,8 @@ export namespace loop_rows {
143
149
  label: string | undefined;
144
150
  value: number | null | undefined;
145
151
  }[];
146
- type?: undefined;
147
- class?: undefined;
148
152
  attributes?: undefined;
153
+ type?: undefined;
149
154
  })[]>;
150
155
  export { configFields_2 as configFields };
151
156
  export function run_1({ row, configuration: { table_name, where, limit, orderBy, orderDesc, trigger_id, interval, }, user, ...rest }: {
@@ -494,7 +499,7 @@ export namespace recalculate_stored_fields {
494
499
  options: string[];
495
500
  type?: undefined;
496
501
  showIf?: undefined;
497
- class?: undefined;
502
+ attributes?: undefined;
498
503
  } | {
499
504
  name: string;
500
505
  label: string;
@@ -507,15 +512,19 @@ export namespace recalculate_stored_fields {
507
512
  sublabel?: undefined;
508
513
  input_type?: undefined;
509
514
  options?: undefined;
510
- class?: undefined;
515
+ attributes?: undefined;
511
516
  } | {
512
517
  name: string;
513
518
  label: string;
514
519
  sublabel: string;
515
- type: string;
516
- class: string;
517
- input_type?: undefined;
520
+ input_type: string;
521
+ attributes: {
522
+ mode: string;
523
+ singleline: boolean;
524
+ expression_type: string;
525
+ };
518
526
  options?: undefined;
527
+ type?: undefined;
519
528
  showIf?: undefined;
520
529
  })[]>;
521
530
  export { configFields_8 as configFields };
@@ -589,8 +598,11 @@ export namespace modify_row {
589
598
  input_type: string;
590
599
  attributes: {
591
600
  mode: string;
601
+ compact: boolean;
602
+ expression_type: string;
592
603
  options?: undefined;
593
604
  showIf?: undefined;
605
+ singleline?: undefined;
594
606
  };
595
607
  type?: undefined;
596
608
  required?: undefined;
@@ -603,7 +615,10 @@ export namespace modify_row {
603
615
  attributes: {
604
616
  options: string[];
605
617
  mode?: undefined;
618
+ compact?: undefined;
619
+ expression_type?: undefined;
606
620
  showIf?: undefined;
621
+ singleline?: undefined;
607
622
  };
608
623
  sublabel?: undefined;
609
624
  input_type?: undefined;
@@ -619,6 +634,9 @@ export namespace modify_row {
619
634
  where: string;
620
635
  };
621
636
  mode?: undefined;
637
+ compact?: undefined;
638
+ expression_type?: undefined;
639
+ singleline?: undefined;
622
640
  };
623
641
  sublabel?: undefined;
624
642
  input_type?: undefined;
@@ -626,14 +644,21 @@ export namespace modify_row {
626
644
  } | {
627
645
  name: string;
628
646
  label: string;
629
- type: string;
647
+ input_type: string;
648
+ attributes: {
649
+ mode: string;
650
+ singleline: boolean;
651
+ expression_type: string;
652
+ compact?: undefined;
653
+ options?: undefined;
654
+ showIf?: undefined;
655
+ };
630
656
  required: boolean;
631
657
  showIf: {
632
658
  where: string;
633
659
  };
634
660
  sublabel?: undefined;
635
- input_type?: undefined;
636
- attributes?: undefined;
661
+ type?: undefined;
637
662
  })[]>;
638
663
  export { configFields_10 as configFields };
639
664
  let requireRow_3: boolean;
@@ -831,7 +856,8 @@ export namespace form_action {
831
856
  };
832
857
  }[];
833
858
  export { configFields_14 as configFields };
834
- export function run_13({ row, table, user, req, configuration: { form_action } }: {
859
+ export function run_13({ row, table, user, req, configuration: { form_action }, ...rest }: {
860
+ [x: string]: any;
835
861
  row: any;
836
862
  table: any;
837
863
  user: any;
@@ -849,6 +875,10 @@ export namespace form_action {
849
875
  [x: number]: any;
850
876
  };
851
877
  eval_js?: undefined;
878
+ } | {
879
+ notify_success: any;
880
+ eval_js?: undefined;
881
+ set_fields?: undefined;
852
882
  }>;
853
883
  export { run_13 as run };
854
884
  let namespace_13: string;
@@ -936,14 +966,17 @@ export namespace run_js_code {
936
966
  export namespace configFormOptions {
937
967
  let formStyle: string;
938
968
  }
939
- export function configFields_16({ table }: {
969
+ export function configFields_16({ table, when_trigger }: {
940
970
  table: any;
971
+ when_trigger: any;
941
972
  }): Promise<({
942
973
  name: string;
943
974
  label: string;
944
975
  input_type: string;
945
976
  attributes: {
946
977
  mode: string;
978
+ table: any;
979
+ user: string | undefined;
947
980
  secondColHoriz?: undefined;
948
981
  };
949
982
  class: string;
@@ -965,6 +998,8 @@ export namespace run_js_code {
965
998
  attributes: {
966
999
  secondColHoriz: boolean;
967
1000
  mode?: undefined;
1001
+ table?: undefined;
1002
+ user?: undefined;
968
1003
  };
969
1004
  name?: undefined;
970
1005
  class?: undefined;
@@ -1104,10 +1139,9 @@ export namespace sync_table_from_external {
1104
1139
  sublabel: string;
1105
1140
  input_type: string;
1106
1141
  options: string[];
1142
+ attributes?: undefined;
1107
1143
  type?: undefined;
1108
- class?: undefined;
1109
1144
  required?: undefined;
1110
- attributes?: undefined;
1111
1145
  default?: undefined;
1112
1146
  fieldview?: undefined;
1113
1147
  showIf?: undefined;
@@ -1115,12 +1149,16 @@ export namespace sync_table_from_external {
1115
1149
  name: string;
1116
1150
  label: string;
1117
1151
  sublabel: string;
1118
- type: string;
1119
- class: string;
1120
- input_type?: undefined;
1152
+ input_type: string;
1153
+ attributes: {
1154
+ mode: string;
1155
+ singleline: boolean;
1156
+ expression_type: string;
1157
+ calcOptions?: undefined;
1158
+ };
1121
1159
  options?: undefined;
1160
+ type?: undefined;
1122
1161
  required?: undefined;
1123
- attributes?: undefined;
1124
1162
  default?: undefined;
1125
1163
  fieldview?: undefined;
1126
1164
  showIf?: undefined;
@@ -1132,10 +1170,12 @@ export namespace sync_table_from_external {
1132
1170
  required: boolean;
1133
1171
  attributes: {
1134
1172
  calcOptions: {}[];
1173
+ mode?: undefined;
1174
+ singleline?: undefined;
1175
+ expression_type?: undefined;
1135
1176
  };
1136
1177
  input_type?: undefined;
1137
1178
  options?: undefined;
1138
- class?: undefined;
1139
1179
  default?: undefined;
1140
1180
  fieldview?: undefined;
1141
1181
  showIf?: undefined;
@@ -1147,9 +1187,8 @@ export namespace sync_table_from_external {
1147
1187
  default: boolean;
1148
1188
  input_type?: undefined;
1149
1189
  options?: undefined;
1150
- class?: undefined;
1151
- required?: undefined;
1152
1190
  attributes?: undefined;
1191
+ required?: undefined;
1153
1192
  fieldview?: undefined;
1154
1193
  showIf?: undefined;
1155
1194
  } | {
@@ -1163,9 +1202,8 @@ export namespace sync_table_from_external {
1163
1202
  };
1164
1203
  input_type?: undefined;
1165
1204
  options?: undefined;
1166
- class?: undefined;
1167
- required?: undefined;
1168
1205
  attributes?: undefined;
1206
+ required?: undefined;
1169
1207
  default?: undefined;
1170
1208
  })[]>;
1171
1209
  export { configFields_20 as configFields };
@@ -1443,6 +1481,9 @@ export namespace train_model_instance {
1443
1481
  }[];
1444
1482
  attributes: {
1445
1483
  explainers: {};
1484
+ mode?: undefined;
1485
+ singleline?: undefined;
1486
+ expression_type?: undefined;
1446
1487
  };
1447
1488
  type?: undefined;
1448
1489
  sublabel?: undefined;
@@ -1464,7 +1505,23 @@ export namespace train_model_instance {
1464
1505
  label: string;
1465
1506
  fieldview: string;
1466
1507
  sublabel: string;
1508
+ input_type: string;
1509
+ attributes: {
1510
+ mode: string;
1511
+ singleline: boolean;
1512
+ expression_type: string;
1513
+ explainers?: undefined;
1514
+ };
1515
+ required?: undefined;
1516
+ options?: undefined;
1517
+ type?: undefined;
1518
+ class?: undefined;
1519
+ } | {
1520
+ name: string;
1521
+ label: string;
1522
+ sublabel: string;
1467
1523
  type: string;
1524
+ fieldview: string;
1468
1525
  class: string;
1469
1526
  input_type?: undefined;
1470
1527
  required?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../base-plugin/actions.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../base-plugin/actions.js"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ const File = require("../models/file");
17
17
  const { getState } = require("../db/state");
18
18
  const User = require("../models/user");
19
19
  const Trigger = require("../models/trigger");
20
+ const WorkflowRun = require("../models/workflow_run");
20
21
  const Notification = require("../models/notification");
21
22
  const { getMailTransport, viewToEmailHtml, loadAttachments, getFileAggregations, mjml2html, } = require("../models/email");
22
23
  const { get_async_expression_function, recalculate_for_stored, eval_expression, freeVariablesInInterpolation, add_free_variables_to_joinfields, freeVariables, } = require("../models/expression");
@@ -164,6 +165,7 @@ const run_code = async ({ row, table, channel, configuration: { code, run_where
164
165
  Buffer: isNode() ? Buffer : require("buffer"),
165
166
  Trigger,
166
167
  Notification,
168
+ WorkflowRun,
167
169
  setTimeout,
168
170
  interpolate,
169
171
  require,
@@ -278,8 +280,12 @@ module.exports = {
278
280
  name: "where",
279
281
  label: "Where",
280
282
  sublabel: "Where-expression for subset of rows to loop over",
281
- type: "String",
282
- class: "validate-expression",
283
+ input_type: "code",
284
+ attributes: {
285
+ mode: "application/javascript",
286
+ singleline: true,
287
+ expression_type: "query",
288
+ },
283
289
  },
284
290
  {
285
291
  name: "limit",
@@ -437,8 +443,8 @@ module.exports = {
437
443
  };
438
444
  if (method !== "GET") {
439
445
  let postBody;
440
- if (body && table) {
441
- const f = get_async_expression_function(body, table.fields, {
446
+ if (body && row) {
447
+ const f = get_async_expression_function(body, table?.fields || Object.keys(row).map((k) => ({ name: k })), {
442
448
  row: row || {},
443
449
  user,
444
450
  });
@@ -1016,8 +1022,12 @@ module.exports = {
1016
1022
  name: "where",
1017
1023
  label: "Recalculate where",
1018
1024
  sublabel: "Where-expression for subset of rows to recalculate",
1019
- type: "String",
1020
- class: "validate-expression",
1025
+ input_type: "code",
1026
+ attributes: {
1027
+ mode: "application/javascript",
1028
+ singleline: true,
1029
+ expression_type: "query",
1030
+ },
1021
1031
  },
1022
1032
  ];
1023
1033
  },
@@ -1039,7 +1049,7 @@ module.exports = {
1039
1049
  }
1040
1050
  else if (configuration.where) {
1041
1051
  const where = eval_expression(configuration.where, row || {}, user, "recalculate_stored_fields where");
1042
- recalculate_for_stored(table_for_recalc, where);
1052
+ await recalculate_for_stored(table_for_recalc, where);
1043
1053
  }
1044
1054
  else if (table_for_recalc)
1045
1055
  recalculate_for_stored(table_for_recalc);
@@ -1163,7 +1173,11 @@ module.exports = {
1163
1173
  label: "Row expression",
1164
1174
  sublabel: "Expression for JavaScript object. For example, <code>{points: 34}</code>",
1165
1175
  input_type: "code",
1166
- attributes: { mode: "application/javascript" },
1176
+ attributes: {
1177
+ mode: "application/javascript",
1178
+ compact: true,
1179
+ expression_type: "row",
1180
+ },
1167
1181
  },
1168
1182
  ...(mode === "edit" ||
1169
1183
  mode === "filter" ||
@@ -1202,7 +1216,12 @@ module.exports = {
1202
1216
  {
1203
1217
  name: "query",
1204
1218
  label: "Query object",
1205
- type: "String",
1219
+ input_type: "code",
1220
+ attributes: {
1221
+ mode: "application/javascript",
1222
+ singleline: true,
1223
+ expression_type: "query",
1224
+ },
1206
1225
  required: true,
1207
1226
  showIf: { where: "Database" },
1208
1227
  },
@@ -1422,7 +1441,7 @@ module.exports = {
1422
1441
  },
1423
1442
  },
1424
1443
  ],
1425
- run: async ({ row, table, user, req, configuration: { form_action } }) => {
1444
+ run: async ({ row, table, user, req, configuration: { form_action }, ...rest }) => {
1426
1445
  const jqGet = `$('form[data-viewname="'+viewname+'"]')`;
1427
1446
  switch (form_action) {
1428
1447
  case "Submit":
@@ -1430,14 +1449,34 @@ module.exports = {
1430
1449
  case "RequestSubmit":
1431
1450
  return { eval_js: jqGet + "[0].requestSubmit()" };
1432
1451
  case "Save":
1433
- if (!row[table.pk_name]) {
1434
- //we will save server side so we can set id
1452
+ const applyUploadedFiles = async () => {
1453
+ if (!req?.files)
1454
+ return false;
1455
+ const viewColumns = rest?.columns;
1456
+ let processed = false;
1435
1457
  for (const field of table.fields) {
1436
- if (field.type === "File" && req?.files[field.name]) {
1437
- const file = await File.from_req_files(req.files[field.name], user ? user.id : null, (field.attributes && +field.attributes.min_role_read) || 1, field?.attributes?.folder);
1458
+ if (field.type === "File" && req.files[field.name]) {
1459
+ let folder = field?.attributes?.folder;
1460
+ if (Array.isArray(viewColumns)) {
1461
+ const col = viewColumns.find((c) => c?.type === "Field" && c.field_name === field.name);
1462
+ let cfgFolder = col?.configuration?.folder;
1463
+ if (typeof cfgFolder === "string" && cfgFolder.length) {
1464
+ // allow simple interpolations like {{user.id}} if present
1465
+ folder = cfgFolder.includes("{{")
1466
+ ? interpolate(cfgFolder, row, user, "Upload folder")
1467
+ : cfgFolder;
1468
+ }
1469
+ }
1470
+ const file = await File.from_req_files(req.files[field.name], user ? user.id : null, (field.attributes && +field.attributes.min_role_read) || 1, folder);
1438
1471
  row[field.name] = file.path_to_serve;
1472
+ processed = true;
1439
1473
  }
1440
1474
  }
1475
+ return processed;
1476
+ };
1477
+ if (!row[table.pk_name]) {
1478
+ // insert: process uploaded file fields server-side, then insert
1479
+ await applyUploadedFiles();
1441
1480
  const result = await table.tryInsertRow(row, user);
1442
1481
  if (result.success)
1443
1482
  return {
@@ -1449,7 +1488,20 @@ module.exports = {
1449
1488
  return { eval_js: `return saveAndContinueAsync(${jqGet})` };
1450
1489
  }
1451
1490
  }
1452
- return { eval_js: `return saveAndContinueAsync(${jqGet})` };
1491
+ else {
1492
+ // update: if any file uploads present, process server-side and update row
1493
+ const hasUploads = await applyUploadedFiles();
1494
+ if (hasUploads) {
1495
+ const updateres = await table.tryUpdateRow(row, row[table.pk_name], user);
1496
+ if (!updateres?.error)
1497
+ return { notify_success: req ? req.__("Saved") : "Saved" };
1498
+ else {
1499
+ getState().log(3, `form_actions Save update failed server side, result: ${JSON.stringify(updateres)} row ${JSON.stringify(row)}`);
1500
+ return { eval_js: `return saveAndContinueAsync(${jqGet})` };
1501
+ }
1502
+ }
1503
+ return { eval_js: `return saveAndContinueAsync(${jqGet})` };
1504
+ }
1453
1505
  case "Reset":
1454
1506
  return { eval_js: jqGet + ".trigger('reset')" };
1455
1507
  case "Submit with Ajax":
@@ -1533,7 +1585,7 @@ module.exports = {
1533
1585
  configFormOptions: {
1534
1586
  formStyle: "vert",
1535
1587
  },
1536
- configFields: async ({ table }) => {
1588
+ configFields: async ({ table, when_trigger }) => {
1537
1589
  const fields = table ? table.getFields().map((f) => f.name) : [];
1538
1590
  const vars = [
1539
1591
  ...(table ? ["row"] : []),
@@ -1558,12 +1610,25 @@ module.exports = {
1558
1610
  .map((f) => code(f))
1559
1611
  .join(", ");
1560
1612
  const clientvars = [...fields].map((f) => code(f)).join(", ");
1613
+ const has_user = [
1614
+ "Hourly",
1615
+ "Weekly",
1616
+ "Daily",
1617
+ "Often",
1618
+ "Startup",
1619
+ ].includes(when_trigger)
1620
+ ? undefined
1621
+ : "maybe";
1561
1622
  return [
1562
1623
  {
1563
1624
  name: "code",
1564
1625
  label: "Code",
1565
1626
  input_type: "code",
1566
- attributes: { mode: "application/javascript" },
1627
+ attributes: {
1628
+ mode: "application/javascript",
1629
+ table: table?.name || undefined,
1630
+ user: has_user,
1631
+ },
1567
1632
  class: "validate-statements enlarge-in-card",
1568
1633
  validator(s) {
1569
1634
  try {
@@ -1806,8 +1871,12 @@ module.exports = {
1806
1871
  name: "where",
1807
1872
  label: "Query",
1808
1873
  sublabel: "Query-expression on source table for subset of rows to synchronize. Example: <code>{ status: 'Open' }</code>",
1809
- type: "String",
1810
- class: "validate-expression",
1874
+ input_type: "code",
1875
+ attributes: {
1876
+ mode: "application/javascript",
1877
+ singleline: true,
1878
+ expression_type: "query",
1879
+ },
1811
1880
  },
1812
1881
  {
1813
1882
  name: "table_dest",
@@ -2253,8 +2322,12 @@ module.exports = {
2253
2322
  label: "Where",
2254
2323
  fieldview: "textarea",
2255
2324
  sublabel: "Where-expression for subset of rows to train on. Optional",
2256
- type: "String",
2257
- class: "validate-expression",
2325
+ input_type: "code",
2326
+ attributes: {
2327
+ mode: "application/javascript",
2328
+ singleline: true,
2329
+ expression_type: "query",
2330
+ },
2258
2331
  },
2259
2332
  {
2260
2333
  name: "hyperparameters",