@saltcorn/server 1.3.1-beta.3 → 1.3.1-beta.4

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 (392) hide show
  1. package/auth/admin.js +0 -1
  2. package/docs/assets/search.js +1 -1
  3. package/docs/classes/_saltcorn_common_code.Relation.html +10 -10
  4. package/docs/classes/_saltcorn_common_code.RelationsFinder.html +5 -5
  5. package/docs/classes/_saltcorn_data.models.Crash.html +17 -17
  6. package/docs/classes/_saltcorn_data.models.EventLog-1.html +19 -19
  7. package/docs/classes/_saltcorn_data.models.Field.html +74 -74
  8. package/docs/classes/_saltcorn_data.models.FieldRepeat.html +16 -16
  9. package/docs/classes/_saltcorn_data.models.File-1.html +48 -48
  10. package/docs/classes/_saltcorn_data.models.Form-1.html +39 -39
  11. package/docs/classes/_saltcorn_data.models.Library.html +13 -13
  12. package/docs/classes/_saltcorn_data.models.Page.html +24 -24
  13. package/docs/classes/_saltcorn_data.models.PageGroup-1.html +25 -25
  14. package/docs/classes/_saltcorn_data.models.Plugin.html +25 -25
  15. package/docs/classes/_saltcorn_data.models.Role.html +9 -9
  16. package/docs/classes/_saltcorn_data.models.Table-1.html +92 -92
  17. package/docs/classes/_saltcorn_data.models.TableConstraint.html +14 -14
  18. package/docs/classes/_saltcorn_data.models.Trigger.html +37 -37
  19. package/docs/classes/_saltcorn_data.models.User.html +48 -48
  20. package/docs/classes/_saltcorn_data.models.View-1.html +54 -54
  21. package/docs/classes/_saltcorn_data.models.Workflow.html +17 -17
  22. package/docs/classes/_saltcorn_data.models.WorkflowRun.html +35 -35
  23. package/docs/classes/_saltcorn_data.models.WorkflowStep.html +25 -25
  24. package/docs/classes/_saltcorn_data.models.WorkflowTrace.html +18 -18
  25. package/docs/classes/_saltcorn_mobile_builder.MobileBuilder.html +37 -37
  26. package/docs/enums/_saltcorn_common_code.RelationType.html +7 -7
  27. package/docs/enums/_saltcorn_common_code.ViewDisplayType.html +4 -4
  28. package/docs/functions/_saltcorn_admin_models.backup.create_backup.html +1 -1
  29. package/docs/functions/_saltcorn_admin_models.backup.create_csv_from_rows.html +1 -1
  30. package/docs/functions/_saltcorn_admin_models.backup.restore.html +1 -1
  31. package/docs/functions/_saltcorn_admin_models.pack.add_to_menu.html +1 -1
  32. package/docs/functions/_saltcorn_admin_models.pack.can_install_pack.html +1 -1
  33. package/docs/functions/_saltcorn_admin_models.pack.fetch_available_packs.html +1 -1
  34. package/docs/functions/_saltcorn_admin_models.pack.fetch_pack_by_name.html +1 -1
  35. package/docs/functions/_saltcorn_admin_models.pack.install_pack.html +1 -1
  36. package/docs/functions/_saltcorn_admin_models.pack.library_pack.html +1 -1
  37. package/docs/functions/_saltcorn_admin_models.pack.model_instance_pack.html +1 -1
  38. package/docs/functions/_saltcorn_admin_models.pack.model_pack.html +1 -1
  39. package/docs/functions/_saltcorn_admin_models.pack.page_group_pack.html +1 -1
  40. package/docs/functions/_saltcorn_admin_models.pack.page_pack.html +1 -1
  41. package/docs/functions/_saltcorn_admin_models.pack.plugin_pack.html +1 -1
  42. package/docs/functions/_saltcorn_admin_models.pack.role_pack.html +1 -1
  43. package/docs/functions/_saltcorn_admin_models.pack.table_pack.html +1 -1
  44. package/docs/functions/_saltcorn_admin_models.pack.trigger_pack.html +1 -1
  45. package/docs/functions/_saltcorn_admin_models.pack.uninstall_pack.html +1 -1
  46. package/docs/functions/_saltcorn_admin_models.pack.view_pack.html +1 -1
  47. package/docs/functions/_saltcorn_admin_models.tenant.copy_tenant_template.html +1 -1
  48. package/docs/functions/_saltcorn_admin_models.tenant.create_tenant.html +1 -1
  49. package/docs/functions/_saltcorn_admin_models.tenant.deleteTenant.html +1 -1
  50. package/docs/functions/_saltcorn_admin_models.tenant.domain_sanitize.html +1 -1
  51. package/docs/functions/_saltcorn_admin_models.tenant.eachTenant.html +1 -1
  52. package/docs/functions/_saltcorn_admin_models.tenant.getAllTenantRows.html +1 -1
  53. package/docs/functions/_saltcorn_admin_models.tenant.getAllTenants.html +1 -1
  54. package/docs/functions/_saltcorn_admin_models.tenant.insertTenant.html +1 -1
  55. package/docs/functions/_saltcorn_admin_models.tenant.switchToTenant.html +1 -1
  56. package/docs/functions/_saltcorn_common_code.buildTableCaches.html +1 -1
  57. package/docs/functions/_saltcorn_common_code.parseLegacyRelation.html +1 -1
  58. package/docs/functions/_saltcorn_common_code.parseRelationPath.html +1 -1
  59. package/docs/functions/_saltcorn_data.models.config.check_email_mask.html +1 -1
  60. package/docs/functions/_saltcorn_data.models.config.deleteConfig.html +1 -1
  61. package/docs/functions/_saltcorn_data.models.config.getAllConfig.html +1 -1
  62. package/docs/functions/_saltcorn_data.models.config.getConfig.html +1 -1
  63. package/docs/functions/_saltcorn_data.models.config.get_base_url.html +1 -1
  64. package/docs/functions/_saltcorn_data.models.config.get_latest_npm_version.html +1 -1
  65. package/docs/functions/_saltcorn_data.models.config.remove_from_menu.html +1 -1
  66. package/docs/functions/_saltcorn_data.models.config.save_menu_items.html +1 -1
  67. package/docs/functions/_saltcorn_data.models.config.setConfig.html +1 -1
  68. package/docs/functions/_saltcorn_data.models.discovery.discover_tables.html +1 -1
  69. package/docs/functions/_saltcorn_data.models.discovery.discoverable_tables.html +1 -1
  70. package/docs/functions/_saltcorn_data.models.discovery.findType.html +1 -1
  71. package/docs/functions/_saltcorn_data.models.discovery.get_existing_views.html +1 -1
  72. package/docs/functions/_saltcorn_data.models.discovery.implement_discovery.html +1 -1
  73. package/docs/functions/_saltcorn_data.models.email.getMailTransport.html +1 -1
  74. package/docs/functions/_saltcorn_data.models.email.send_verification_email.html +1 -1
  75. package/docs/functions/_saltcorn_data.models.email.viewToEmailHtml.html +1 -1
  76. package/docs/functions/_saltcorn_data.models.expression.apply_calculated_fields.html +1 -1
  77. package/docs/functions/_saltcorn_data.models.expression.apply_calculated_fields_stored.html +1 -1
  78. package/docs/functions/_saltcorn_data.models.expression.eval_expression.html +1 -1
  79. package/docs/functions/_saltcorn_data.models.expression.expressionValidator.html +1 -1
  80. package/docs/functions/_saltcorn_data.models.expression.get_async_expression_function.html +1 -1
  81. package/docs/functions/_saltcorn_data.models.expression.get_expression_function.html +1 -1
  82. package/docs/functions/_saltcorn_data.models.expression.jsexprToWhere.html +1 -1
  83. package/docs/functions/_saltcorn_data.models.expression.recalculate_for_stored.html +1 -1
  84. package/docs/functions/_saltcorn_data.models.expression.transform_for_async.html +1 -1
  85. package/docs/functions/_saltcorn_data.models.layout.eachView.html +1 -1
  86. package/docs/functions/_saltcorn_data.models.layout.getStringsForI18n.html +1 -1
  87. package/docs/functions/_saltcorn_data.models.layout.getViews.html +1 -1
  88. package/docs/functions/_saltcorn_data.models.layout.translateLayout.html +1 -1
  89. package/docs/functions/_saltcorn_data.models.layout.traverse.html +1 -1
  90. package/docs/functions/_saltcorn_data.models.layout.traverseSync.html +1 -1
  91. package/docs/functions/_saltcorn_data.models.random.all_views.html +1 -1
  92. package/docs/functions/_saltcorn_data.models.random.fill_table_row.html +1 -1
  93. package/docs/functions/_saltcorn_data.models.random.initial_view.html +1 -1
  94. package/docs/functions/_saltcorn_data.models.random.random_table.html +1 -1
  95. package/docs/functions/_saltcorn_db_common.buildInsertBulkSql.html +2 -2
  96. package/docs/functions/_saltcorn_db_common.buildInsertSql.html +2 -2
  97. package/docs/functions/{_saltcorn_db_common.commitAndRestartTransaction.html → _saltcorn_db_common.commitAndBeginNewTransaction.html} +6 -6
  98. package/docs/functions/_saltcorn_db_common.doCount.html +2 -2
  99. package/docs/functions/_saltcorn_db_common.doDeleteWhere.html +2 -2
  100. package/docs/functions/_saltcorn_db_common.doListScTables.html +2 -2
  101. package/docs/functions/_saltcorn_db_common.doListTables.html +2 -2
  102. package/docs/functions/_saltcorn_db_common.doListUserDefinedTables.html +2 -2
  103. package/docs/functions/_saltcorn_db_common.do_add_index.html +2 -2
  104. package/docs/functions/_saltcorn_db_common.do_drop_index.html +2 -2
  105. package/docs/functions/_saltcorn_db_common.ftsFieldsSqlExpr.html +2 -2
  106. package/docs/functions/_saltcorn_db_common.mkSelectOptions.html +2 -2
  107. package/docs/functions/_saltcorn_db_common.mkVal.html +2 -2
  108. package/docs/functions/_saltcorn_db_common.mkWhere.html +2 -2
  109. package/docs/functions/_saltcorn_db_common.multi_tenant.enable_multi_tenant.html +2 -2
  110. package/docs/functions/_saltcorn_db_common.multi_tenant.getRequestContext.html +2 -2
  111. package/docs/functions/_saltcorn_db_common.multi_tenant.getTenantSchema.html +2 -2
  112. package/docs/functions/_saltcorn_db_common.multi_tenant.init.html +2 -2
  113. package/docs/functions/_saltcorn_db_common.multi_tenant.is_it_multi_tenant.html +2 -2
  114. package/docs/functions/_saltcorn_db_common.multi_tenant.runWithTenant.html +2 -2
  115. package/docs/functions/_saltcorn_db_common.orderByIsObject.html +2 -2
  116. package/docs/functions/_saltcorn_db_common.orderByIsOperator.html +2 -2
  117. package/docs/functions/_saltcorn_db_common.prefixFieldsInWhere.html +2 -2
  118. package/docs/functions/_saltcorn_db_common.reprAsJson.html +2 -2
  119. package/docs/functions/_saltcorn_db_common.slugify.html +2 -2
  120. package/docs/functions/_saltcorn_db_common.sqlBinOp.html +2 -2
  121. package/docs/functions/_saltcorn_db_common.sqlFun.html +2 -2
  122. package/docs/functions/_saltcorn_db_common.sqlsanitize.html +2 -2
  123. package/docs/functions/_saltcorn_db_common.sqlsanitizeAllowDots.html +2 -2
  124. package/docs/functions/_saltcorn_db_common.subSelectWhere.html +2 -2
  125. package/docs/functions/_saltcorn_db_common.tryCatchInTransaction.html +2 -2
  126. package/docs/functions/_saltcorn_db_common.withTransaction.html +2 -2
  127. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.androidFeatures.html +1 -1
  128. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.androidPermissions.html +1 -1
  129. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.buildTablesFile.html +1 -1
  130. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copyPrepopulatedDb.html +1 -1
  131. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copyServerFiles.html +1 -1
  132. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copyShareExtFiles.html +1 -1
  133. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copySiteLogo.html +1 -1
  134. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copyTranslationFiles.html +1 -1
  135. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.createSqliteDb.html +1 -1
  136. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.decodeProvisioningProfile.html +1 -1
  137. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.extractDomain.html +1 -1
  138. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.generateAndroidVersionCode.html +1 -1
  139. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyAndroidManifest.html +1 -1
  140. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyConfigXml.html +1 -1
  141. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyGradleConfig.html +1 -1
  142. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyInfoPlist.html +1 -1
  143. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyXcodeProjectFile.html +1 -1
  144. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepAppIcon.html +1 -1
  145. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareAppIcon.html +1 -1
  146. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareBuildDir.html +1 -1
  147. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareExportOptionsPlist.html +1 -1
  148. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareSplashIcon.html +1 -1
  149. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareSplashPage.html +1 -1
  150. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writeCapacitorConfig.html +1 -1
  151. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writeCfgFile.html +1 -1
  152. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writeDataExtractionRules.html +1 -1
  153. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writeNetworkSecurityConfig.html +1 -1
  154. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writePodfile.html +1 -1
  155. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writePrivacyInfo.html +1 -1
  156. package/docs/functions/_saltcorn_mobile_builder.package_bundle_utils.bundleMobileAppCode.html +1 -1
  157. package/docs/functions/_saltcorn_mobile_builder.package_bundle_utils.bundlePackagesAndPlugins.html +1 -1
  158. package/docs/functions/_saltcorn_mobile_builder.package_bundle_utils.copyMobileAppDirs.html +1 -1
  159. package/docs/functions/_saltcorn_mobile_builder.package_bundle_utils.copyPublicDirs.html +1 -1
  160. package/docs/functions/_saltcorn_sqlite.add_index.html +1 -1
  161. package/docs/functions/_saltcorn_sqlite.add_unique_constraint.html +1 -1
  162. package/docs/functions/_saltcorn_sqlite.begin.html +1 -1
  163. package/docs/functions/_saltcorn_sqlite.changeConnection.html +1 -1
  164. package/docs/functions/_saltcorn_sqlite.close.html +1 -1
  165. package/docs/functions/_saltcorn_sqlite.commit.html +1 -1
  166. package/docs/functions/_saltcorn_sqlite.count.html +1 -1
  167. package/docs/functions/_saltcorn_sqlite.deleteWhere.html +1 -1
  168. package/docs/functions/_saltcorn_sqlite.dropTable.html +1 -1
  169. package/docs/functions/_saltcorn_sqlite.dropTables.html +1 -1
  170. package/docs/functions/_saltcorn_sqlite.drop_index.html +1 -1
  171. package/docs/functions/_saltcorn_sqlite.drop_reset_schema.html +1 -1
  172. package/docs/functions/_saltcorn_sqlite.drop_unique_constraint.html +1 -1
  173. package/docs/functions/_saltcorn_sqlite.getVersion.html +1 -1
  174. package/docs/functions/_saltcorn_sqlite.get_db_filepath.html +1 -1
  175. package/docs/functions/_saltcorn_sqlite.get_sql_logging.html +1 -1
  176. package/docs/functions/_saltcorn_sqlite.init.html +1 -1
  177. package/docs/functions/_saltcorn_sqlite.insert.html +1 -1
  178. package/docs/functions/_saltcorn_sqlite.listScTables.html +1 -1
  179. package/docs/functions/_saltcorn_sqlite.listTables.html +1 -1
  180. package/docs/functions/_saltcorn_sqlite.listUserDefinedTables.html +1 -1
  181. package/docs/functions/_saltcorn_sqlite.query.html +1 -1
  182. package/docs/functions/_saltcorn_sqlite.rollback.html +1 -1
  183. package/docs/functions/_saltcorn_sqlite.select.html +1 -1
  184. package/docs/functions/_saltcorn_sqlite.selectMaybeOne.html +1 -1
  185. package/docs/functions/_saltcorn_sqlite.selectOne.html +1 -1
  186. package/docs/functions/_saltcorn_sqlite.set_sql_logging.html +1 -1
  187. package/docs/functions/_saltcorn_sqlite.sql_log.html +1 -1
  188. package/docs/functions/_saltcorn_sqlite.update.html +1 -1
  189. package/docs/functions/_saltcorn_sqlite.updateWhere.html +1 -1
  190. package/docs/functions/_saltcorn_sqlite_mobile.add_index.html +1 -1
  191. package/docs/functions/_saltcorn_sqlite_mobile.add_unique_constraint.html +1 -1
  192. package/docs/functions/_saltcorn_sqlite_mobile.count.html +1 -1
  193. package/docs/functions/_saltcorn_sqlite_mobile.deleteWhere.html +1 -1
  194. package/docs/functions/_saltcorn_sqlite_mobile.drop_index.html +1 -1
  195. package/docs/functions/_saltcorn_sqlite_mobile.drop_reset_schema.html +1 -1
  196. package/docs/functions/_saltcorn_sqlite_mobile.drop_unique_constraint.html +1 -1
  197. package/docs/functions/_saltcorn_sqlite_mobile.init.html +1 -1
  198. package/docs/functions/_saltcorn_sqlite_mobile.insert.html +1 -1
  199. package/docs/functions/_saltcorn_sqlite_mobile.insertRows.html +1 -1
  200. package/docs/functions/_saltcorn_sqlite_mobile.listScTables.html +1 -1
  201. package/docs/functions/_saltcorn_sqlite_mobile.listTables.html +1 -1
  202. package/docs/functions/_saltcorn_sqlite_mobile.listUserDefinedTables.html +1 -1
  203. package/docs/functions/_saltcorn_sqlite_mobile.query.html +1 -1
  204. package/docs/functions/_saltcorn_sqlite_mobile.select.html +1 -1
  205. package/docs/functions/_saltcorn_sqlite_mobile.selectMaybeOne.html +1 -1
  206. package/docs/functions/_saltcorn_sqlite_mobile.selectOne.html +1 -1
  207. package/docs/functions/_saltcorn_sqlite_mobile.setConnectionObject.html +1 -1
  208. package/docs/functions/_saltcorn_sqlite_mobile.tableExists.html +1 -1
  209. package/docs/functions/_saltcorn_sqlite_mobile.time.html +1 -1
  210. package/docs/functions/_saltcorn_sqlite_mobile.update.html +1 -1
  211. package/docs/functions/_saltcorn_types.ModelAbstracts.abstract_field.instanceOfField.html +1 -1
  212. package/docs/functions/_saltcorn_types.ModelAbstracts.abstract_page.instanceOfPage.html +1 -1
  213. package/docs/functions/_saltcorn_types.ModelAbstracts.abstract_view.instanceOfView.html +1 -1
  214. package/docs/functions/_saltcorn_types.Types.base_types.instanceOWithHtmlFile.html +1 -1
  215. package/docs/functions/_saltcorn_types.Types.common_types.instanceOfErrorMsg.html +1 -1
  216. package/docs/functions/_saltcorn_types.Types.common_types.instanceOfSuccessMsg.html +1 -1
  217. package/docs/functions/_saltcorn_types.Types.common_types.instanceOfType.html +1 -1
  218. package/docs/functions/_saltcorn_types.generators.generateBool.html +1 -1
  219. package/docs/functions/_saltcorn_types.generators.generateString.html +1 -1
  220. package/docs/functions/_saltcorn_types.generators.num_between.html +1 -1
  221. package/docs/functions/_saltcorn_types.generators.oneOf.html +1 -1
  222. package/docs/interfaces/_saltcorn_mobile_builder.common_build_utils.ScCapacitorConfig.html +10 -10
  223. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_field.AbstractField.html +15 -15
  224. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_field.AbstractFieldRepeat.html +3 -3
  225. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_form.AbstractForm.html +27 -27
  226. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_page.AbstractPage.html +7 -7
  227. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_role.AbstractRole.html +3 -3
  228. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_table.AbstractTable.html +11 -11
  229. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_trigger.AbstractTrigger.html +17 -17
  230. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_view.AbstractView.html +10 -10
  231. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_workflow.AbstractWorkflow.html +13 -13
  232. package/docs/modules/_saltcorn_admin_models.backup.html +1 -1
  233. package/docs/modules/_saltcorn_admin_models.html +1 -1
  234. package/docs/modules/_saltcorn_admin_models.pack.html +1 -1
  235. package/docs/modules/_saltcorn_admin_models.tenant.html +1 -1
  236. package/docs/modules/_saltcorn_common_code.html +1 -1
  237. package/docs/modules/_saltcorn_data.html +3 -3
  238. package/docs/modules/_saltcorn_data.models.EventLog.html +2 -2
  239. package/docs/modules/_saltcorn_data.models.File.html +2 -2
  240. package/docs/modules/_saltcorn_data.models.Form.html +2 -2
  241. package/docs/modules/_saltcorn_data.models.PageGroup.html +2 -2
  242. package/docs/modules/_saltcorn_data.models.Table.html +2 -2
  243. package/docs/modules/_saltcorn_data.models.View.html +2 -2
  244. package/docs/modules/_saltcorn_data.models.config.html +1 -1
  245. package/docs/modules/_saltcorn_data.models.discovery.html +1 -1
  246. package/docs/modules/_saltcorn_data.models.email.html +1 -1
  247. package/docs/modules/_saltcorn_data.models.expression.html +1 -1
  248. package/docs/modules/_saltcorn_data.models.html +1 -1
  249. package/docs/modules/_saltcorn_data.models.layout.html +1 -1
  250. package/docs/modules/_saltcorn_data.models.random.html +1 -1
  251. package/docs/modules/_saltcorn_data.models.scheduler.html +1 -1
  252. package/docs/modules/_saltcorn_data.plugin_helper.html +1 -1
  253. package/docs/modules/_saltcorn_data.utils.html +1 -1
  254. package/docs/modules/_saltcorn_db_common.html +4 -4
  255. package/docs/modules/_saltcorn_db_common.multi_tenant.html +2 -2
  256. package/docs/modules/_saltcorn_markup.html +2 -2
  257. package/docs/modules/_saltcorn_mobile_builder.common_build_utils.html +1 -1
  258. package/docs/modules/_saltcorn_mobile_builder.html +1 -1
  259. package/docs/modules/_saltcorn_mobile_builder.package_bundle_utils.html +1 -1
  260. package/docs/modules/_saltcorn_sqlite.html +1 -1
  261. package/docs/modules/_saltcorn_sqlite_mobile.html +1 -1
  262. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_field.html +1 -1
  263. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_form.html +1 -1
  264. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_library.html +1 -1
  265. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_page.html +1 -1
  266. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_plugin.html +1 -1
  267. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_role.html +1 -1
  268. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_table.html +1 -1
  269. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_trigger.html +1 -1
  270. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_view.html +1 -1
  271. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_workflow.html +1 -1
  272. package/docs/modules/_saltcorn_types.ModelAbstracts.html +1 -1
  273. package/docs/modules/_saltcorn_types.Types.base_types.html +1 -1
  274. package/docs/modules/_saltcorn_types.Types.common_types.html +1 -1
  275. package/docs/modules/_saltcorn_types.Types.html +1 -1
  276. package/docs/modules/_saltcorn_types.generators.html +1 -1
  277. package/docs/modules/_saltcorn_types.html +1 -1
  278. package/docs/types/_saltcorn_data.models.EventLog.EventLogCfg.html +1 -1
  279. package/docs/types/_saltcorn_data.models.File.FileCfg.html +1 -1
  280. package/docs/types/_saltcorn_data.models.Form.AdditionalButton.html +1 -1
  281. package/docs/types/_saltcorn_data.models.Form.FormCfg.html +1 -1
  282. package/docs/types/_saltcorn_data.models.PageGroup.ScreenInfoParams.html +1 -1
  283. package/docs/types/_saltcorn_data.models.Table.ChildRelations.html +1 -1
  284. package/docs/types/_saltcorn_data.models.Table.ParentRelations.html +1 -1
  285. package/docs/types/_saltcorn_data.models.Table.RelationData.html +1 -1
  286. package/docs/types/_saltcorn_data.models.View.FindViewsPred.html +1 -1
  287. package/docs/types/_saltcorn_db_common.AggregationOptions.html +2 -2
  288. package/docs/types/_saltcorn_db_common.CoordOpts.html +2 -2
  289. package/docs/types/_saltcorn_db_common.DatabaseClient.html +2 -2
  290. package/docs/types/_saltcorn_db_common.JoinField.html +2 -2
  291. package/docs/types/_saltcorn_db_common.JoinFields.html +2 -2
  292. package/docs/types/_saltcorn_db_common.JoinOptions.html +2 -2
  293. package/docs/types/_saltcorn_db_common.JsonPath.html +2 -2
  294. package/docs/types/_saltcorn_db_common.JsonPathElem.html +2 -2
  295. package/docs/types/_saltcorn_db_common.Operator.html +2 -2
  296. package/docs/types/_saltcorn_db_common.PartialSome.html +2 -2
  297. package/docs/types/_saltcorn_db_common.PrimaryKeyValue.html +2 -2
  298. package/docs/types/_saltcorn_db_common.Row.html +2 -2
  299. package/docs/types/_saltcorn_db_common.SelectOptions.html +2 -2
  300. package/docs/types/_saltcorn_db_common.SqlAndValues.html +2 -2
  301. package/docs/types/_saltcorn_db_common.StrongRow.html +2 -2
  302. package/docs/types/_saltcorn_db_common.SubselectOptions.html +2 -2
  303. package/docs/types/_saltcorn_db_common.Value.html +2 -2
  304. package/docs/types/_saltcorn_db_common.Where.html +2 -2
  305. package/docs/types/_saltcorn_mobile_builder.IosCfg.html +1 -1
  306. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_field.FieldCfg.html +1 -1
  307. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_field.InputType.html +1 -1
  308. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_form.AdditionalButton.html +1 -1
  309. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_library.LibraryCfg.html +1 -1
  310. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_library.LibraryPack.html +1 -1
  311. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_page.PageCfg.html +1 -1
  312. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_page.PagePack.html +1 -1
  313. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_plugin.PluginCfg.html +1 -1
  314. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_plugin.PluginPack.html +1 -1
  315. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_role.RoleCfg.html +1 -1
  316. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_role.RolePack.html +1 -1
  317. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_table.TableCfg.html +1 -1
  318. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_table.TablePack.html +1 -1
  319. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_trigger.TriggerCfg.html +1 -1
  320. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_trigger.TriggerPack.html +1 -1
  321. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_view.ViewCfg.html +1 -1
  322. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_view.ViewPack.html +1 -1
  323. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_workflow.ConfigWorkflowStep.html +1 -1
  324. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_workflow.RunResult.html +1 -1
  325. package/docs/types/_saltcorn_types.Types.base_types.Action.html +1 -1
  326. package/docs/types/_saltcorn_types.Types.base_types.AuthenticationMethod.html +1 -1
  327. package/docs/types/_saltcorn_types.Types.base_types.CalcJoinfield.html +1 -1
  328. package/docs/types/_saltcorn_types.Types.base_types.CapacitorPlugin.html +1 -1
  329. package/docs/types/_saltcorn_types.Types.base_types.CodePagePack.html +1 -1
  330. package/docs/types/_saltcorn_types.Types.base_types.Column.html +1 -1
  331. package/docs/types/_saltcorn_types.Types.base_types.ConnectObjType.html +1 -1
  332. package/docs/types/_saltcorn_types.Types.base_types.ConnectedObjects.html +1 -1
  333. package/docs/types/_saltcorn_types.Types.base_types.CopilotSkill.html +1 -1
  334. package/docs/types/_saltcorn_types.Types.base_types.ErrorObj.html +1 -1
  335. package/docs/types/_saltcorn_types.Types.base_types.FieldLike.html +1 -1
  336. package/docs/types/_saltcorn_types.Types.base_types.FieldView.html +1 -1
  337. package/docs/types/_saltcorn_types.Types.base_types.Header.html +1 -1
  338. package/docs/types/_saltcorn_types.Types.base_types.JoinFieldOption.html +1 -1
  339. package/docs/types/_saltcorn_types.Types.base_types.Layout.html +1 -1
  340. package/docs/types/_saltcorn_types.Types.base_types.MobileConfig.html +1 -1
  341. package/docs/types/_saltcorn_types.Types.base_types.ModelPattern.html +1 -1
  342. package/docs/types/_saltcorn_types.Types.base_types.Pack.html +1 -1
  343. package/docs/types/_saltcorn_types.Types.base_types.Plugin.html +1 -1
  344. package/docs/types/_saltcorn_types.Types.base_types.PluginFunction.html +1 -1
  345. package/docs/types/_saltcorn_types.Types.base_types.PluginLayout.html +1 -1
  346. package/docs/types/_saltcorn_types.Types.base_types.PluginRoute.html +1 -1
  347. package/docs/types/_saltcorn_types.Types.base_types.PluginSourceType.html +1 -1
  348. package/docs/types/_saltcorn_types.Types.base_types.PluginType.html +1 -1
  349. package/docs/types/_saltcorn_types.Types.base_types.PluginWrap.html +1 -1
  350. package/docs/types/_saltcorn_types.Types.base_types.PluginWrapArg.html +1 -1
  351. package/docs/types/_saltcorn_types.Types.base_types.RelationOption.html +1 -1
  352. package/docs/types/_saltcorn_types.Types.base_types.Req.html +1 -1
  353. package/docs/types/_saltcorn_types.Types.base_types.Res.html +1 -1
  354. package/docs/types/_saltcorn_types.Types.base_types.ResultType.html +1 -1
  355. package/docs/types/_saltcorn_types.Types.base_types.RouteAction.html +1 -1
  356. package/docs/types/_saltcorn_types.Types.base_types.RunExtra.html +1 -1
  357. package/docs/types/_saltcorn_types.Types.base_types.SlugStepType.html +1 -1
  358. package/docs/types/_saltcorn_types.Types.base_types.StepResType.html +1 -1
  359. package/docs/types/_saltcorn_types.Types.base_types.SubField.html +1 -1
  360. package/docs/types/_saltcorn_types.Types.base_types.TableProvider.html +1 -1
  361. package/docs/types/_saltcorn_types.Types.base_types.TableQuery.html +1 -1
  362. package/docs/types/_saltcorn_types.Types.base_types.Tablely.html +1 -1
  363. package/docs/types/_saltcorn_types.Types.base_types.ViewTemplate.html +1 -1
  364. package/docs/types/_saltcorn_types.Types.common_types.ErrorMessage.html +1 -1
  365. package/docs/types/_saltcorn_types.Types.common_types.GenObj.html +1 -1
  366. package/docs/types/_saltcorn_types.Types.common_types.ReqRes.html +1 -1
  367. package/docs/types/_saltcorn_types.Types.common_types.ResultMessage.html +1 -1
  368. package/docs/types/_saltcorn_types.Types.common_types.SuccessMessage.html +1 -1
  369. package/docs/types/_saltcorn_types.Types.common_types.Type.html +1 -1
  370. package/docs/variables/_saltcorn_data.db.html +1 -1
  371. package/docs/variables/_saltcorn_data.migrations.html +1 -1
  372. package/docs/variables/_saltcorn_data.models.config.available_languages.html +1 -1
  373. package/docs/variables/_saltcorn_data.models.config.configTypes.html +1 -1
  374. package/docs/variables/_saltcorn_data.models.scheduler.runScheduler.html +1 -1
  375. package/docs/variables/_saltcorn_data.plugin_helper.run_action_column.html +1 -1
  376. package/docs/variables/_saltcorn_data.utils.NotAuthorized.html +1 -1
  377. package/docs/variables/_saltcorn_data.utils.isPushEnabled.html +1 -1
  378. package/docs/variables/_saltcorn_data.utils.sleep.html +1 -1
  379. package/docs/variables/_saltcorn_db_common.multi_tenant.tenantNamespace.html +2 -2
  380. package/help/JavaScript action code.tmd +11 -0
  381. package/locales/en.json +25 -1
  382. package/package.json +9 -9
  383. package/public/log_viewer_utils.js +3 -2
  384. package/public/saltcorn-common.js +48 -27
  385. package/public/saltcorn.js +0 -3
  386. package/routes/admin.js +5 -3
  387. package/routes/eventlog.js +20 -0
  388. package/routes/menu.js +98 -6
  389. package/routes/plugins.js +8 -7
  390. package/serve.js +48 -1
  391. package/tests/admin.test.js +3 -3
  392. package/wrapper.js +17 -190
@@ -29,7 +29,7 @@
29
29
  <li class="tsd-parameter">
30
30
  <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-property">errors</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5></li></ul></div><aside class="tsd-sources">
31
31
  <ul>
32
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-types/common_types.ts#L8">saltcorn-types/common_types.ts:8</a></li></ul></aside></div>
32
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-types/common_types.ts#L8">saltcorn-types/common_types.ts:8</a></li></ul></aside></div>
33
33
  <div class="col-sidebar">
34
34
  <div class="page-menu">
35
35
  <div class="tsd-navigation settings">
@@ -25,7 +25,7 @@
25
25
  <li class="tsd-parameter-index-signature">
26
26
  <h5><span class="tsd-signature-symbol">[</span><span class="tsd-kind-parameter">key</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]: </span><span class="tsd-signature-type">any</span></h5></li></ul></div><aside class="tsd-sources">
27
27
  <ul>
28
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-types/common_types.ts#L65">saltcorn-types/common_types.ts:65</a></li></ul></aside></div>
28
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-types/common_types.ts#L65">saltcorn-types/common_types.ts:65</a></li></ul></aside></div>
29
29
  <div class="col-sidebar">
30
30
  <div class="page-menu">
31
31
  <div class="tsd-navigation settings">
@@ -27,7 +27,7 @@
27
27
  <li class="tsd-parameter">
28
28
  <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-property">res</span><span class="tsd-signature-symbol">?: </span><a href="_saltcorn_types.Types.base_types.Res.html" class="tsd-signature-type tsd-kind-type-alias">Res</a></h5></li></ul></div><aside class="tsd-sources">
29
29
  <ul>
30
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-types/common_types.ts#L21">saltcorn-types/common_types.ts:21</a></li></ul></aside></div>
30
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-types/common_types.ts#L21">saltcorn-types/common_types.ts:21</a></li></ul></aside></div>
31
31
  <div class="col-sidebar">
32
32
  <div class="page-menu">
33
33
  <div class="tsd-navigation settings">
@@ -20,7 +20,7 @@
20
20
  <h1>Type alias ResultMessage</h1></div>
21
21
  <div class="tsd-signature"><span class="tsd-kind-type-alias">Result<wbr/>Message</span><span class="tsd-signature-symbol">:</span> <a href="_saltcorn_types.Types.common_types.ErrorMessage.html" class="tsd-signature-type tsd-kind-type-alias">ErrorMessage</a><span class="tsd-signature-symbol"> | </span><a href="_saltcorn_types.Types.common_types.SuccessMessage.html" class="tsd-signature-type tsd-kind-type-alias">SuccessMessage</a></div><aside class="tsd-sources">
22
22
  <ul>
23
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-types/common_types.ts#L26">saltcorn-types/common_types.ts:26</a></li></ul></aside></div>
23
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-types/common_types.ts#L26">saltcorn-types/common_types.ts:26</a></li></ul></aside></div>
24
24
  <div class="col-sidebar">
25
25
  <div class="page-menu">
26
26
  <div class="tsd-navigation settings">
@@ -31,7 +31,7 @@
31
31
  <li class="tsd-parameter">
32
32
  <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-property">table</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span></h5></li></ul></div><aside class="tsd-sources">
33
33
  <ul>
34
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-types/common_types.ts#L14">saltcorn-types/common_types.ts:14</a></li></ul></aside></div>
34
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-types/common_types.ts#L14">saltcorn-types/common_types.ts:14</a></li></ul></aside></div>
35
35
  <div class="col-sidebar">
36
36
  <div class="page-menu">
37
37
  <div class="tsd-navigation settings">
@@ -102,7 +102,7 @@
102
102
  <li class="tsd-parameter">
103
103
  <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-property">validate_<wbr/>attributes</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type ">Function</span></h5></li></ul></div><aside class="tsd-sources">
104
104
  <ul>
105
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-types/common_types.ts#L36">saltcorn-types/common_types.ts:36</a></li></ul></aside></div>
105
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-types/common_types.ts#L36">saltcorn-types/common_types.ts:36</a></li></ul></aside></div>
106
106
  <div class="col-sidebar">
107
107
  <div class="page-menu">
108
108
  <div class="tsd-navigation settings">
@@ -18,7 +18,7 @@
18
18
  <h1>Variable db<code class="tsd-tag ts-flagConst">Const</code> </h1></div>
19
19
  <div class="tsd-signature"><span class="tsd-kind-variable">db</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type ">DbExportsType</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources">
20
20
  <ul>
21
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-data/db/index.ts#L56">saltcorn-data/db/index.ts:56</a></li></ul></aside></div>
21
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-data/db/index.ts#L56">saltcorn-data/db/index.ts:56</a></li></ul></aside></div>
22
22
  <div class="col-sidebar">
23
23
  <div class="page-menu">
24
24
  <div class="tsd-navigation settings">
@@ -18,7 +18,7 @@
18
18
  <h1>Variable migrations</h1></div>
19
19
  <div class="tsd-signature"><span class="tsd-kind-variable">migrations</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> = {}</span></div><aside class="tsd-sources">
20
20
  <ul>
21
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-data/index.ts#L26">saltcorn-data/index.ts:26</a></li></ul></aside></div>
21
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-data/index.ts#L26">saltcorn-data/index.ts:26</a></li></ul></aside></div>
22
22
  <div class="col-sidebar">
23
23
  <div class="page-menu">
24
24
  <div class="tsd-navigation settings">
@@ -85,7 +85,7 @@
85
85
  <li class="tsd-parameter">
86
86
  <h5><span class="tsd-kind-property">zh</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5></li></ul></div><aside class="tsd-sources">
87
87
  <ul>
88
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-data/models/index.ts#L56">saltcorn-data/models/index.ts:56</a></li></ul></aside></div>
88
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-data/models/index.ts#L56">saltcorn-data/models/index.ts:56</a></li></ul></aside></div>
89
89
  <div class="col-sidebar">
90
90
  <div class="page-menu">
91
91
  <div class="tsd-navigation settings">
@@ -20,7 +20,7 @@
20
20
  <h1>Variable configTypes</h1></div>
21
21
  <div class="tsd-signature"><span class="tsd-kind-variable">config<wbr/>Types</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type ">ConfigTypes</span></div><aside class="tsd-sources">
22
22
  <ul>
23
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-data/models/index.ts#L54">saltcorn-data/models/index.ts:54</a></li></ul></aside></div>
23
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-data/models/index.ts#L54">saltcorn-data/models/index.ts:54</a></li></ul></aside></div>
24
24
  <div class="col-sidebar">
25
25
  <div class="page-menu">
26
26
  <div class="tsd-navigation settings">
@@ -65,7 +65,7 @@
65
65
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
66
66
  <div class="tsd-comment tsd-typography"></div></li></ul></li></ul></li></ul></div><aside class="tsd-sources">
67
67
  <ul>
68
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-data/models/index.ts#L116">saltcorn-data/models/index.ts:116</a></li></ul></aside></div>
68
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-data/models/index.ts#L116">saltcorn-data/models/index.ts:116</a></li></ul></aside></div>
69
69
  <div class="col-sidebar">
70
70
  <div class="page-menu">
71
71
  <div class="tsd-navigation settings">
@@ -19,7 +19,7 @@
19
19
  <h1>Variable run_action_column</h1></div>
20
20
  <div class="tsd-signature"><span class="tsd-kind-variable">run_<wbr/>action_<wbr/>column</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div><aside class="tsd-sources">
21
21
  <ul>
22
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-data/index.ts#L15">saltcorn-data/index.ts:15</a></li></ul></aside></div>
22
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-data/index.ts#L15">saltcorn-data/index.ts:15</a></li></ul></aside></div>
23
23
  <div class="col-sidebar">
24
24
  <div class="page-menu">
25
25
  <div class="tsd-navigation settings">
@@ -19,7 +19,7 @@
19
19
  <h1>Variable NotAuthorized</h1></div>
20
20
  <div class="tsd-signature"><span class="tsd-kind-variable">Not<wbr/>Authorized</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div><aside class="tsd-sources">
21
21
  <ul>
22
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-data/index.ts#L20">saltcorn-data/index.ts:20</a></li></ul></aside></div>
22
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-data/index.ts#L20">saltcorn-data/index.ts:20</a></li></ul></aside></div>
23
23
  <div class="col-sidebar">
24
24
  <div class="page-menu">
25
25
  <div class="tsd-navigation settings">
@@ -19,7 +19,7 @@
19
19
  <h1>Variable isPushEnabled</h1></div>
20
20
  <div class="tsd-signature"><span class="tsd-kind-variable">is<wbr/>Push<wbr/>Enabled</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div><aside class="tsd-sources">
21
21
  <ul>
22
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-data/index.ts#L20">saltcorn-data/index.ts:20</a></li></ul></aside></div>
22
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-data/index.ts#L20">saltcorn-data/index.ts:20</a></li></ul></aside></div>
23
23
  <div class="col-sidebar">
24
24
  <div class="page-menu">
25
25
  <div class="tsd-navigation settings">
@@ -19,7 +19,7 @@
19
19
  <h1>Variable sleep</h1></div>
20
20
  <div class="tsd-signature"><span class="tsd-kind-variable">sleep</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div><aside class="tsd-sources">
21
21
  <ul>
22
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/saltcorn-data/index.ts#L20">saltcorn-data/index.ts:20</a></li></ul></aside></div>
22
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-data/index.ts#L20">saltcorn-data/index.ts:20</a></li></ul></aside></div>
23
23
  <div class="col-sidebar">
24
24
  <div class="page-menu">
25
25
  <div class="tsd-navigation settings">
@@ -19,7 +19,7 @@
19
19
  <h1>Variable tenantNamespace<code class="tsd-tag ts-flagConst">Const</code> </h1></div>
20
20
  <div class="tsd-signature"><span class="tsd-kind-variable">tenant<wbr/>Namespace</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type ">AsyncLocalStorage</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type ">RequestContext</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources">
21
21
  <ul>
22
- <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/1bee000950/packages/db-common/multi-tenant.ts#L17">db-common/multi-tenant.ts:17</a></li></ul></aside></div>
22
+ <li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/db-common/multi-tenant.ts#L17">db-common/multi-tenant.ts:17</a></li></ul></aside></div>
23
23
  <div class="col-sidebar">
24
24
  <div class="page-menu">
25
25
  <div class="tsd-navigation settings">
@@ -76,7 +76,7 @@
76
76
  <li><a href="../modules/_saltcorn_db_common.html#tenants"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-1024"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)"></path></g></svg><span>tenants</span></a></li>
77
77
  <li><a href="../functions/_saltcorn_db_common.buildInsertBulkSql.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg><span>build<wbr/>Insert<wbr/>Bulk<wbr/>Sql</span></a></li>
78
78
  <li><a href="../functions/_saltcorn_db_common.buildInsertSql.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg><span>build<wbr/>Insert<wbr/>Sql</span></a></li>
79
- <li><a href="../functions/_saltcorn_db_common.commitAndRestartTransaction.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg><span>commit<wbr/>And<wbr/>Restart<wbr/>Transaction</span></a></li>
79
+ <li><a href="../functions/_saltcorn_db_common.commitAndBeginNewTransaction.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg><span>commit<wbr/>And<wbr/>Begin<wbr/>New<wbr/>Transaction</span></a></li>
80
80
  <li><a href="../functions/_saltcorn_db_common.doCount.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg><span>do<wbr/>Count</span></a></li>
81
81
  <li><a href="../functions/_saltcorn_db_common.doDeleteWhere.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg><span>do<wbr/>Delete<wbr/>Where</span></a></li>
82
82
  <li><a href="../functions/_saltcorn_db_common.doListScTables.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg><span>do<wbr/>List<wbr/>Sc<wbr/>Tables</span></a></li>
@@ -147,3 +147,14 @@ return { set_fields: {
147
147
  Execute JavaScript in the browser.
148
148
 
149
149
  Example: `return { eval_js: 'alert("Hello world")' }`
150
+
151
+ ### Emit Client events
152
+
153
+ Use `emit_to_client' to send socket.io events to one or multiple clients. For example, to notify the user with id 1:
154
+ ```
155
+ emit_to_client({notify: "hello admin"}, 1);
156
+ ```
157
+ This event goes to each tab where the user is logged in. Otherwise, you can use an array or omit the second parameter to emit to all users of the current tenant. All return directives from the block above can be used.
158
+
159
+
160
+ The function is not promise-based because if multiple tabs receive the event, it is hard to say when the call has finished.
package/locales/en.json CHANGED
@@ -1646,5 +1646,29 @@
1646
1646
  "This is your Firebase Service Account JSON key file. ": "This is your Firebase Service Account JSON key file. ",
1647
1647
  "Real-time updates": "Real-time updates",
1648
1648
  "Enable real-time updates for this view": "Enable real-time updates for this view",
1649
- "today": "today"
1649
+ "today": "today",
1650
+ "Push notifications": "Push notifications",
1651
+ "Password Policy": "Password Policy",
1652
+ "Minimum password length": "Minimum password length",
1653
+ "The minimum length of passwords for users. Set to 0 to disable password requirements.": "The minimum length of passwords for users. Set to 0 to disable password requirements.",
1654
+ "Check common passwords": "Check common passwords",
1655
+ "Check if the password is in the list of common passwords. If enabled, users will not be able to use common passwords.": "Check if the password is in the list of common passwords. If enabled, users will not be able to use common passwords.",
1656
+ "Require uppercase": "Require uppercase",
1657
+ "Require at least one uppercase letter in the password": "Require at least one uppercase letter in the password",
1658
+ "Require lowercase": "Require lowercase",
1659
+ "Require at least one lowercase letter in the password": "Require at least one lowercase letter in the password",
1660
+ "Require number": "Require number",
1661
+ "Require at least one number in the password": "Require at least one number in the password",
1662
+ "Require special character": "Require special character",
1663
+ "Require at least one special character in the password": "Require at least one special character in the password",
1664
+ "Password complexity": "Password complexity",
1665
+ "The regular expression that passwords must match. Set to empty string to disable password complexity requirements.": "The regular expression that passwords must match. Set to empty string to disable password complexity requirements.",
1666
+ "Password complexity error": "Password complexity error",
1667
+ "The error message to show when password does not match the complexity requirements.": "The error message to show when password does not match the complexity requirements.",
1668
+ "Only if": "Only if",
1669
+ "Optional JavaScript expression to determine if the trigger should run.": "Optional JavaScript expression to determine if the trigger should run.",
1670
+ "Admin Page": "Admin Page",
1671
+ "User Page": "User Page",
1672
+ "User menu header": "User menu header",
1673
+ "Some themes display this header differently": "Some themes display this header differently"
1650
1674
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saltcorn/server",
3
- "version": "1.3.1-beta.3",
3
+ "version": "1.3.1-beta.4",
4
4
  "description": "Server app for Saltcorn, open-source no-code platform",
5
5
  "homepage": "https://saltcorn.com",
6
6
  "main": "index.js",
@@ -8,14 +8,14 @@
8
8
  "dependencies": {
9
9
  "@aws-sdk/client-s3": "^3.735.0",
10
10
  "@dr.pogodin/csurf": "1.15.0",
11
- "@saltcorn/admin-models": "1.3.1-beta.3",
12
- "@saltcorn/base-plugin": "1.3.1-beta.3",
13
- "@saltcorn/builder": "1.3.1-beta.3",
14
- "@saltcorn/data": "1.3.1-beta.3",
15
- "@saltcorn/filemanager": "1.3.1-beta.3",
16
- "@saltcorn/markup": "1.3.1-beta.3",
17
- "@saltcorn/plugins-loader": "1.3.1-beta.3",
18
- "@saltcorn/sbadmin2": "1.3.1-beta.3",
11
+ "@saltcorn/admin-models": "1.3.1-beta.4",
12
+ "@saltcorn/base-plugin": "1.3.1-beta.4",
13
+ "@saltcorn/builder": "1.3.1-beta.4",
14
+ "@saltcorn/data": "1.3.1-beta.4",
15
+ "@saltcorn/filemanager": "1.3.1-beta.4",
16
+ "@saltcorn/markup": "1.3.1-beta.4",
17
+ "@saltcorn/plugins-loader": "1.3.1-beta.4",
18
+ "@saltcorn/sbadmin2": "1.3.1-beta.4",
19
19
  "@socket.io/cluster-adapter": "^0.2.1",
20
20
  "@socket.io/sticky": "^1.0.1",
21
21
  "adm-zip": "0.5.16",
@@ -172,7 +172,7 @@ var logViewerHelpers = (() => {
172
172
  }
173
173
  }, 5000);
174
174
  try {
175
- socket = io({ transports: ["websocket"] });
175
+ socket = window.get_shared_socket();
176
176
  } catch (e) {
177
177
  notifyAlert({
178
178
  type: "danger",
@@ -180,7 +180,8 @@ var logViewerHelpers = (() => {
180
180
  });
181
181
  }
182
182
  startTrackingMsg();
183
- socket.on("connect", () => handleConnect(socket));
183
+ if (socket.connected) handleConnect(socket);
184
+ else socket.on("connect", () => handleConnect(socket));
184
185
  socket.on("disconnect", handleDisconnect);
185
186
  socket.on("log_msg", handleLogMsg);
186
187
  socket.on("test_conn_msg", handleTestConnMsg);
@@ -1838,10 +1838,10 @@ async function common_done(res, viewnameOrElem0, isWeb = true) {
1838
1838
  input.attr("data-selected", res.set_fields[k]);
1839
1839
  }
1840
1840
 
1841
- input.trigger("set_form_field");
1841
+ input.trigger("set_form_field", { no_onchange: res.no_onchange });
1842
1842
  });
1843
1843
  }
1844
- form.trigger("change");
1844
+ if (!res.no_onchange) form.trigger("change");
1845
1845
  }
1846
1846
 
1847
1847
  if (res.download) {
@@ -2072,17 +2072,24 @@ function room_older(viewname, room_id, btn) {
2072
2072
  );
2073
2073
  }
2074
2074
 
2075
- function init_room(viewname, room_id) {
2076
- let socket = null;
2077
- if (parent?.saltcorn?.data?.state) {
2078
- const { server_path, jwt } =
2079
- parent.saltcorn.data.state.getState().mobileConfig;
2080
- socket = io(server_path, {
2081
- query: `jwt=${jwt}`,
2082
- transports: ["websocket"],
2083
- });
2084
- } else socket = io({ transports: ["websocket"] });
2075
+ function get_shared_socket() {
2076
+ let socket = window.sharedSocket || null;
2077
+ if (!socket) {
2078
+ if (parent?.saltcorn?.data?.state) {
2079
+ const { server_path, jwt } =
2080
+ parent.saltcorn.data.state.getState().mobileConfig;
2081
+ socket = io(server_path, {
2082
+ query: `jwt=${jwt}`,
2083
+ transports: ["websocket"],
2084
+ });
2085
+ } else socket = io({ transports: ["websocket"] });
2086
+ window.sharedSocket = socket;
2087
+ }
2088
+ return socket;
2089
+ }
2085
2090
 
2091
+ function init_room(viewname, room_id) {
2092
+ let socket = get_shared_socket();
2086
2093
  socket.emit("join_room", [viewname, room_id]);
2087
2094
  socket.on("message", (msg) => {
2088
2095
  if (msg.not_for_user_id) {
@@ -2105,32 +2112,40 @@ function init_room(viewname, room_id) {
2105
2112
  }
2106
2113
 
2107
2114
  function init_collab_room(viewname, eventCfgs) {
2108
- let socket = null;
2109
- if (parent?.saltcorn?.data?.state) {
2110
- const { server_path, jwt } =
2111
- parent.saltcorn.data.state.getState().mobileConfig;
2112
- socket = io(server_path, {
2113
- query: `jwt=${jwt}`,
2114
- transports: ["websocket"],
2115
- });
2116
- } else socket = io({ transports: ["websocket"] });
2115
+ let socket = get_shared_socket();
2117
2116
  for (const [event, callback] of Object.entries(eventCfgs.events)) {
2118
2117
  socket.on(event, callback);
2119
2118
  }
2120
- socket.on("connect", function () {
2119
+ const joinFn = () => {
2121
2120
  socket.emit("join_collab_room", viewname, (ack) => {
2122
- if (ack && ack.status === "ok") {
2121
+ if (ack && ack.status === "ok")
2123
2122
  console.log(`Joined collaboration room for view '${viewname}'`);
2124
- } else {
2125
- console.error("Failed to join collaboration room:", ack);
2126
- }
2123
+ else console.error("Failed to join collaboration room:", ack);
2127
2124
  });
2128
- });
2125
+ };
2126
+ if (socket.connected) joinFn();
2127
+ else socket.on("connect", joinFn);
2129
2128
  socket.on("disconnect", function () {
2130
2129
  console.log("Disconnected from the server");
2131
2130
  });
2132
2131
  }
2133
2132
 
2133
+ function init_dynamic_update_room() {
2134
+ if (!window.io || navigator.userAgent.includes("jsdom")) return;
2135
+ let socket = get_shared_socket();
2136
+ socket.on("dynamic_update", async (data) => {
2137
+ await common_done(data);
2138
+ });
2139
+ const joinFn = () => {
2140
+ socket.emit("join_dynamic_update_room", (ack) => {
2141
+ if (ack && ack.status === "ok") console.log("Joined dynamic update room");
2142
+ else console.error("Failed to join dynamic update room:", ack);
2143
+ });
2144
+ };
2145
+ if (socket.connected) joinFn();
2146
+ else socket.on("connect", joinFn);
2147
+ }
2148
+
2134
2149
  function cancel_form(form) {
2135
2150
  if (!form) return;
2136
2151
  $(form).trigger("reset");
@@ -2578,3 +2593,9 @@ async function initPushNotify() {
2578
2593
  console.error("Push notification initialization failed:", error);
2579
2594
  }
2580
2595
  }
2596
+
2597
+ if (document.readyState !== "loading") {
2598
+ init_dynamic_update_room();
2599
+ } else {
2600
+ document.addEventListener("DOMContentLoaded", init_dynamic_update_room);
2601
+ }
@@ -512,12 +512,10 @@ function saveAndContinue(e, k, event) {
512
512
  return;
513
513
  var form = $(e).closest("form");
514
514
 
515
- let inputEl = event?.target || event?.srcElement;
516
515
  let focusedEl = null;
517
516
  if (!event || !event.srcElement) {
518
517
  const el = form.find("select[sc-received-focus]")[0];
519
518
  if (el) {
520
- inputEl = el;
521
519
  el.removeAttribute("sc-received-focus");
522
520
  if (el.getAttribute("previous-val") === el.value) return;
523
521
  }
@@ -534,7 +532,6 @@ function saveAndContinue(e, k, event) {
534
532
  var url = form.attr("action");
535
533
  var form_data = form.serialize();
536
534
  ajax_indicator(true, e);
537
- if (inputEl) inputEl.setAttribute("no-real-time-update", true);
538
535
  $.ajax(url, {
539
536
  type: "POST",
540
537
  headers: {
package/routes/admin.js CHANGED
@@ -500,11 +500,12 @@ router.get(
500
500
  "backup_s3_access_secret"
501
501
  );
502
502
  backupForm.values.backup_s3_region =
503
- getState().getConfig("backup_s3_region");
503
+ getState().getConfig("backup_s3_region");
504
504
  aBackupFilePrefixForm.values.backup_with_event_log = getState().getConfig(
505
505
  "backup_with_event_log"
506
506
  );
507
- aBackupFilePrefixForm.values.backup_password = getState().getConfig("backup_password");
507
+ aBackupFilePrefixForm.values.backup_password =
508
+ getState().getConfig("backup_password");
508
509
  const aSnapshotForm = snapshotForm(req);
509
510
  aSnapshotForm.values.snapshots_enabled =
510
511
  getState().getConfig("snapshots_enabled");
@@ -4126,6 +4127,8 @@ router.post(
4126
4127
  await db.deleteWhere("_sc_config", { not: { key: "letsencrypt" } });
4127
4128
  }
4128
4129
  await getState().refresh();
4130
+ await require("@saltcorn/data/standard-menu")();
4131
+
4129
4132
  if (form.values.users) {
4130
4133
  await db.deleteWhere("_sc_notifications");
4131
4134
 
@@ -4532,7 +4535,6 @@ admin_config_route({
4532
4535
  path: "/notifications",
4533
4536
  super_path: "/admin",
4534
4537
  field_names: [
4535
- "notification_in_menu",
4536
4538
  { section_header: "Progressive Web Application" },
4537
4539
  "pwa_enabled",
4538
4540
  { name: "pwa_display", showIf: { pwa_enabled: true } },
@@ -81,6 +81,18 @@ const logSettingsForm = async (req) => {
81
81
  input_type: "date",
82
82
  attributes: { minDate: new Date(), maxDate: hoursFuture(24 * 7 * 2) },
83
83
  },
84
+ {
85
+ input_type: "section_header",
86
+ label: req.__("Dynamic server side updates"),
87
+ },
88
+ {
89
+ name: "enable_dynamic_updates",
90
+ label: req.__("Enable dynamic updates"),
91
+ type: "Bool",
92
+ sublabel: req.__(
93
+ "Enable server side updates from within run_js_code actions"
94
+ ),
95
+ },
84
96
  {
85
97
  input_type: "section_header",
86
98
  label: req.__("Delete old workflow runs with status after days"),
@@ -168,6 +180,10 @@ router.get(
168
180
  "next_weekly_event",
169
181
  {}
170
182
  );
183
+ form.values.enable_dynamic_updates = getState().getConfig(
184
+ "enable_dynamic_updates",
185
+ true
186
+ );
171
187
  ["error", "finished", "running", "waiting"].forEach((k) => {
172
188
  let cfgk = `delete_${k}_workflows_days`;
173
189
  form.values[cfgk] = getState().getConfig(cfgk);
@@ -377,6 +393,10 @@ router.post(
377
393
  delete form.values[k];
378
394
  }
379
395
  }
396
+ await getState().setConfig(
397
+ "enable_dynamic_updates",
398
+ form.values.enable_dynamic_updates
399
+ );
380
400
  for (const status of ["error", "finished", "running", "waiting"]) {
381
401
  let k = `delete_${status}_workflows_days`;
382
402
  if (form.values[k]) {