@saltcorn/server 1.3.1-beta.2 → 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.
- package/CHANGELOG.md +5 -1
- package/auth/admin.js +0 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/_saltcorn_common_code.Relation.html +10 -10
- package/docs/classes/_saltcorn_common_code.RelationsFinder.html +5 -5
- package/docs/classes/_saltcorn_data.models.Crash.html +17 -17
- package/docs/classes/_saltcorn_data.models.EventLog-1.html +19 -19
- package/docs/classes/_saltcorn_data.models.Field.html +74 -74
- package/docs/classes/_saltcorn_data.models.FieldRepeat.html +16 -16
- package/docs/classes/_saltcorn_data.models.File-1.html +48 -48
- package/docs/classes/_saltcorn_data.models.Form-1.html +39 -39
- package/docs/classes/_saltcorn_data.models.Library.html +13 -13
- package/docs/classes/_saltcorn_data.models.Page.html +24 -24
- package/docs/classes/_saltcorn_data.models.PageGroup-1.html +25 -25
- package/docs/classes/_saltcorn_data.models.Plugin.html +25 -25
- package/docs/classes/_saltcorn_data.models.Role.html +9 -9
- package/docs/classes/_saltcorn_data.models.Table-1.html +92 -92
- package/docs/classes/_saltcorn_data.models.TableConstraint.html +14 -14
- package/docs/classes/_saltcorn_data.models.Trigger.html +42 -40
- package/docs/classes/_saltcorn_data.models.User.html +48 -48
- package/docs/classes/_saltcorn_data.models.View-1.html +54 -54
- package/docs/classes/_saltcorn_data.models.Workflow.html +17 -17
- package/docs/classes/_saltcorn_data.models.WorkflowRun.html +35 -35
- package/docs/classes/_saltcorn_data.models.WorkflowStep.html +25 -25
- package/docs/classes/_saltcorn_data.models.WorkflowTrace.html +18 -18
- package/docs/classes/_saltcorn_mobile_builder.MobileBuilder.html +37 -37
- package/docs/enums/_saltcorn_common_code.RelationType.html +7 -7
- package/docs/enums/_saltcorn_common_code.ViewDisplayType.html +4 -4
- package/docs/functions/_saltcorn_admin_models.backup.create_backup.html +1 -1
- package/docs/functions/_saltcorn_admin_models.backup.create_csv_from_rows.html +1 -1
- package/docs/functions/_saltcorn_admin_models.backup.restore.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.add_to_menu.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.can_install_pack.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.fetch_available_packs.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.fetch_pack_by_name.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.install_pack.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.library_pack.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.model_instance_pack.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.model_pack.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.page_group_pack.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.page_pack.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.plugin_pack.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.role_pack.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.table_pack.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.trigger_pack.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.uninstall_pack.html +1 -1
- package/docs/functions/_saltcorn_admin_models.pack.view_pack.html +1 -1
- package/docs/functions/_saltcorn_admin_models.tenant.copy_tenant_template.html +1 -1
- package/docs/functions/_saltcorn_admin_models.tenant.create_tenant.html +1 -1
- package/docs/functions/_saltcorn_admin_models.tenant.deleteTenant.html +1 -1
- package/docs/functions/_saltcorn_admin_models.tenant.domain_sanitize.html +1 -1
- package/docs/functions/_saltcorn_admin_models.tenant.eachTenant.html +1 -1
- package/docs/functions/_saltcorn_admin_models.tenant.getAllTenantRows.html +1 -1
- package/docs/functions/_saltcorn_admin_models.tenant.getAllTenants.html +1 -1
- package/docs/functions/_saltcorn_admin_models.tenant.insertTenant.html +1 -1
- package/docs/functions/_saltcorn_admin_models.tenant.switchToTenant.html +1 -1
- package/docs/functions/_saltcorn_common_code.buildTableCaches.html +1 -1
- package/docs/functions/_saltcorn_common_code.parseLegacyRelation.html +1 -1
- package/docs/functions/_saltcorn_common_code.parseRelationPath.html +1 -1
- package/docs/functions/_saltcorn_data.models.config.check_email_mask.html +1 -1
- package/docs/functions/_saltcorn_data.models.config.deleteConfig.html +1 -1
- package/docs/functions/_saltcorn_data.models.config.getAllConfig.html +1 -1
- package/docs/functions/_saltcorn_data.models.config.getConfig.html +1 -1
- package/docs/functions/_saltcorn_data.models.config.get_base_url.html +1 -1
- package/docs/functions/_saltcorn_data.models.config.get_latest_npm_version.html +1 -1
- package/docs/functions/_saltcorn_data.models.config.remove_from_menu.html +1 -1
- package/docs/functions/_saltcorn_data.models.config.save_menu_items.html +1 -1
- package/docs/functions/_saltcorn_data.models.config.setConfig.html +1 -1
- package/docs/functions/_saltcorn_data.models.discovery.discover_tables.html +1 -1
- package/docs/functions/_saltcorn_data.models.discovery.discoverable_tables.html +1 -1
- package/docs/functions/_saltcorn_data.models.discovery.findType.html +1 -1
- package/docs/functions/_saltcorn_data.models.discovery.get_existing_views.html +1 -1
- package/docs/functions/_saltcorn_data.models.discovery.implement_discovery.html +1 -1
- package/docs/functions/_saltcorn_data.models.email.getMailTransport.html +1 -1
- package/docs/functions/_saltcorn_data.models.email.send_verification_email.html +1 -1
- package/docs/functions/_saltcorn_data.models.email.viewToEmailHtml.html +1 -1
- package/docs/functions/_saltcorn_data.models.expression.apply_calculated_fields.html +1 -1
- package/docs/functions/_saltcorn_data.models.expression.apply_calculated_fields_stored.html +1 -1
- package/docs/functions/_saltcorn_data.models.expression.eval_expression.html +1 -1
- package/docs/functions/_saltcorn_data.models.expression.expressionValidator.html +1 -1
- package/docs/functions/_saltcorn_data.models.expression.get_async_expression_function.html +1 -1
- package/docs/functions/_saltcorn_data.models.expression.get_expression_function.html +1 -1
- package/docs/functions/_saltcorn_data.models.expression.jsexprToWhere.html +1 -1
- package/docs/functions/_saltcorn_data.models.expression.recalculate_for_stored.html +1 -1
- package/docs/functions/_saltcorn_data.models.expression.transform_for_async.html +1 -1
- package/docs/functions/_saltcorn_data.models.layout.eachView.html +1 -1
- package/docs/functions/_saltcorn_data.models.layout.getStringsForI18n.html +1 -1
- package/docs/functions/_saltcorn_data.models.layout.getViews.html +1 -1
- package/docs/functions/_saltcorn_data.models.layout.translateLayout.html +1 -1
- package/docs/functions/_saltcorn_data.models.layout.traverse.html +1 -1
- package/docs/functions/_saltcorn_data.models.layout.traverseSync.html +1 -1
- package/docs/functions/_saltcorn_data.models.random.all_views.html +1 -1
- package/docs/functions/_saltcorn_data.models.random.fill_table_row.html +1 -1
- package/docs/functions/_saltcorn_data.models.random.initial_view.html +1 -1
- package/docs/functions/_saltcorn_data.models.random.random_table.html +1 -1
- package/docs/functions/_saltcorn_db_common.buildInsertBulkSql.html +2 -1
- package/docs/functions/_saltcorn_db_common.buildInsertSql.html +2 -1
- package/docs/functions/_saltcorn_db_common.commitAndBeginNewTransaction.html +103 -0
- package/docs/functions/_saltcorn_db_common.doCount.html +2 -1
- package/docs/functions/_saltcorn_db_common.doDeleteWhere.html +2 -1
- package/docs/functions/_saltcorn_db_common.doListScTables.html +2 -1
- package/docs/functions/_saltcorn_db_common.doListTables.html +2 -1
- package/docs/functions/_saltcorn_db_common.doListUserDefinedTables.html +2 -1
- package/docs/functions/_saltcorn_db_common.do_add_index.html +2 -1
- package/docs/functions/_saltcorn_db_common.do_drop_index.html +2 -1
- package/docs/functions/_saltcorn_db_common.ftsFieldsSqlExpr.html +2 -1
- package/docs/functions/_saltcorn_db_common.mkSelectOptions.html +2 -1
- package/docs/functions/_saltcorn_db_common.mkVal.html +2 -1
- package/docs/functions/_saltcorn_db_common.mkWhere.html +2 -1
- package/docs/functions/_saltcorn_db_common.multi_tenant.enable_multi_tenant.html +2 -1
- package/docs/functions/_saltcorn_db_common.multi_tenant.getRequestContext.html +2 -1
- package/docs/functions/_saltcorn_db_common.multi_tenant.getTenantSchema.html +2 -1
- package/docs/functions/_saltcorn_db_common.multi_tenant.init.html +2 -1
- package/docs/functions/_saltcorn_db_common.multi_tenant.is_it_multi_tenant.html +2 -1
- package/docs/functions/_saltcorn_db_common.multi_tenant.runWithTenant.html +2 -1
- package/docs/functions/_saltcorn_db_common.orderByIsObject.html +2 -1
- package/docs/functions/_saltcorn_db_common.orderByIsOperator.html +2 -1
- package/docs/functions/_saltcorn_db_common.prefixFieldsInWhere.html +2 -1
- package/docs/functions/_saltcorn_db_common.reprAsJson.html +2 -1
- package/docs/functions/_saltcorn_db_common.slugify.html +2 -1
- package/docs/functions/_saltcorn_db_common.sqlBinOp.html +2 -1
- package/docs/functions/_saltcorn_db_common.sqlFun.html +2 -1
- package/docs/functions/_saltcorn_db_common.sqlsanitize.html +2 -1
- package/docs/functions/_saltcorn_db_common.sqlsanitizeAllowDots.html +2 -1
- package/docs/functions/_saltcorn_db_common.subSelectWhere.html +2 -1
- package/docs/functions/_saltcorn_db_common.tryCatchInTransaction.html +2 -1
- package/docs/functions/_saltcorn_db_common.withTransaction.html +2 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.androidFeatures.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.androidPermissions.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.buildTablesFile.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copyPrepopulatedDb.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copyServerFiles.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copyShareExtFiles.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copySiteLogo.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copyTranslationFiles.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.createSqliteDb.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.decodeProvisioningProfile.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.extractDomain.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.generateAndroidVersionCode.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyAndroidManifest.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyConfigXml.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyGradleConfig.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyInfoPlist.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyXcodeProjectFile.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepAppIcon.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareAppIcon.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareBuildDir.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareExportOptionsPlist.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareSplashIcon.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareSplashPage.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writeCapacitorConfig.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writeCfgFile.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writeDataExtractionRules.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writeNetworkSecurityConfig.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writePodfile.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writePrivacyInfo.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.package_bundle_utils.bundleMobileAppCode.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.package_bundle_utils.bundlePackagesAndPlugins.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.package_bundle_utils.copyMobileAppDirs.html +1 -1
- package/docs/functions/_saltcorn_mobile_builder.package_bundle_utils.copyPublicDirs.html +1 -1
- package/docs/functions/_saltcorn_sqlite.add_index.html +1 -1
- package/docs/functions/_saltcorn_sqlite.add_unique_constraint.html +1 -1
- package/docs/functions/_saltcorn_sqlite.begin.html +1 -1
- package/docs/functions/_saltcorn_sqlite.changeConnection.html +1 -1
- package/docs/functions/_saltcorn_sqlite.close.html +1 -1
- package/docs/functions/_saltcorn_sqlite.commit.html +1 -1
- package/docs/functions/_saltcorn_sqlite.count.html +1 -1
- package/docs/functions/_saltcorn_sqlite.deleteWhere.html +1 -1
- package/docs/functions/_saltcorn_sqlite.dropTable.html +1 -1
- package/docs/functions/_saltcorn_sqlite.dropTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite.drop_index.html +1 -1
- package/docs/functions/_saltcorn_sqlite.drop_reset_schema.html +1 -1
- package/docs/functions/_saltcorn_sqlite.drop_unique_constraint.html +1 -1
- package/docs/functions/_saltcorn_sqlite.getVersion.html +1 -1
- package/docs/functions/_saltcorn_sqlite.get_db_filepath.html +1 -1
- package/docs/functions/_saltcorn_sqlite.get_sql_logging.html +1 -1
- package/docs/functions/_saltcorn_sqlite.init.html +1 -1
- package/docs/functions/_saltcorn_sqlite.insert.html +1 -1
- package/docs/functions/_saltcorn_sqlite.listScTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite.listTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite.listUserDefinedTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite.query.html +1 -1
- package/docs/functions/_saltcorn_sqlite.rollback.html +1 -1
- package/docs/functions/_saltcorn_sqlite.select.html +1 -1
- package/docs/functions/_saltcorn_sqlite.selectMaybeOne.html +1 -1
- package/docs/functions/_saltcorn_sqlite.selectOne.html +1 -1
- package/docs/functions/_saltcorn_sqlite.set_sql_logging.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sql_log.html +1 -1
- package/docs/functions/_saltcorn_sqlite.update.html +1 -1
- package/docs/functions/_saltcorn_sqlite.updateWhere.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.add_index.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.add_unique_constraint.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.count.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.deleteWhere.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.drop_index.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.drop_reset_schema.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.drop_unique_constraint.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.init.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.insert.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.insertRows.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.listScTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.listTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.listUserDefinedTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.query.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.select.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.selectMaybeOne.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.selectOne.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.setConnectionObject.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.tableExists.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.time.html +1 -1
- package/docs/functions/_saltcorn_sqlite_mobile.update.html +1 -1
- package/docs/functions/_saltcorn_types.ModelAbstracts.abstract_field.instanceOfField.html +1 -1
- package/docs/functions/_saltcorn_types.ModelAbstracts.abstract_page.instanceOfPage.html +1 -1
- package/docs/functions/_saltcorn_types.ModelAbstracts.abstract_view.instanceOfView.html +1 -1
- package/docs/functions/_saltcorn_types.Types.base_types.instanceOWithHtmlFile.html +1 -1
- package/docs/functions/_saltcorn_types.Types.common_types.instanceOfErrorMsg.html +1 -1
- package/docs/functions/_saltcorn_types.Types.common_types.instanceOfSuccessMsg.html +1 -1
- package/docs/functions/_saltcorn_types.Types.common_types.instanceOfType.html +1 -1
- package/docs/functions/_saltcorn_types.generators.generateBool.html +1 -1
- package/docs/functions/_saltcorn_types.generators.generateString.html +1 -1
- package/docs/functions/_saltcorn_types.generators.num_between.html +1 -1
- package/docs/functions/_saltcorn_types.generators.oneOf.html +1 -1
- package/docs/interfaces/_saltcorn_mobile_builder.common_build_utils.ScCapacitorConfig.html +10 -10
- package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_field.AbstractField.html +15 -15
- package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_field.AbstractFieldRepeat.html +3 -3
- package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_form.AbstractForm.html +27 -27
- package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_page.AbstractPage.html +7 -7
- package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_role.AbstractRole.html +3 -3
- package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_table.AbstractTable.html +11 -11
- package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_trigger.AbstractTrigger.html +17 -17
- package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_view.AbstractView.html +10 -10
- package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_workflow.AbstractWorkflow.html +13 -13
- package/docs/modules/_saltcorn_admin_models.backup.html +1 -1
- package/docs/modules/_saltcorn_admin_models.html +1 -1
- package/docs/modules/_saltcorn_admin_models.pack.html +1 -1
- package/docs/modules/_saltcorn_admin_models.tenant.html +1 -1
- package/docs/modules/_saltcorn_common_code.html +1 -1
- package/docs/modules/_saltcorn_data.html +3 -3
- package/docs/modules/_saltcorn_data.models.EventLog.html +2 -2
- package/docs/modules/_saltcorn_data.models.File.html +2 -2
- package/docs/modules/_saltcorn_data.models.Form.html +2 -2
- package/docs/modules/_saltcorn_data.models.PageGroup.html +2 -2
- package/docs/modules/_saltcorn_data.models.Table.html +2 -2
- package/docs/modules/_saltcorn_data.models.View.html +2 -2
- package/docs/modules/_saltcorn_data.models.config.html +1 -1
- package/docs/modules/_saltcorn_data.models.discovery.html +1 -1
- package/docs/modules/_saltcorn_data.models.email.html +1 -1
- package/docs/modules/_saltcorn_data.models.expression.html +1 -1
- package/docs/modules/_saltcorn_data.models.html +1 -1
- package/docs/modules/_saltcorn_data.models.layout.html +1 -1
- package/docs/modules/_saltcorn_data.models.random.html +1 -1
- package/docs/modules/_saltcorn_data.models.scheduler.html +1 -1
- package/docs/modules/_saltcorn_data.plugin_helper.html +1 -1
- package/docs/modules/_saltcorn_data.utils.html +1 -1
- package/docs/modules/_saltcorn_db_common.html +4 -2
- package/docs/modules/_saltcorn_db_common.multi_tenant.html +2 -1
- package/docs/modules/_saltcorn_markup.html +2 -2
- package/docs/modules/_saltcorn_mobile_builder.common_build_utils.html +1 -1
- package/docs/modules/_saltcorn_mobile_builder.html +1 -1
- package/docs/modules/_saltcorn_mobile_builder.package_bundle_utils.html +1 -1
- package/docs/modules/_saltcorn_sqlite.html +1 -1
- package/docs/modules/_saltcorn_sqlite_mobile.html +1 -1
- package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_field.html +1 -1
- package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_form.html +1 -1
- package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_library.html +1 -1
- package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_page.html +1 -1
- package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_plugin.html +1 -1
- package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_role.html +1 -1
- package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_table.html +1 -1
- package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_trigger.html +1 -1
- package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_view.html +1 -1
- package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_workflow.html +1 -1
- package/docs/modules/_saltcorn_types.ModelAbstracts.html +1 -1
- package/docs/modules/_saltcorn_types.Types.base_types.html +1 -1
- package/docs/modules/_saltcorn_types.Types.common_types.html +1 -1
- package/docs/modules/_saltcorn_types.Types.html +1 -1
- package/docs/modules/_saltcorn_types.generators.html +1 -1
- package/docs/modules/_saltcorn_types.html +1 -1
- package/docs/types/_saltcorn_data.models.EventLog.EventLogCfg.html +1 -1
- package/docs/types/_saltcorn_data.models.File.FileCfg.html +1 -1
- package/docs/types/_saltcorn_data.models.Form.AdditionalButton.html +1 -1
- package/docs/types/_saltcorn_data.models.Form.FormCfg.html +1 -1
- package/docs/types/_saltcorn_data.models.PageGroup.ScreenInfoParams.html +1 -1
- package/docs/types/_saltcorn_data.models.Table.ChildRelations.html +1 -1
- package/docs/types/_saltcorn_data.models.Table.ParentRelations.html +1 -1
- package/docs/types/_saltcorn_data.models.Table.RelationData.html +1 -1
- package/docs/types/_saltcorn_data.models.View.FindViewsPred.html +1 -1
- package/docs/types/_saltcorn_db_common.AggregationOptions.html +2 -1
- package/docs/types/_saltcorn_db_common.CoordOpts.html +2 -1
- package/docs/types/_saltcorn_db_common.DatabaseClient.html +2 -1
- package/docs/types/_saltcorn_db_common.JoinField.html +2 -1
- package/docs/types/_saltcorn_db_common.JoinFields.html +2 -1
- package/docs/types/_saltcorn_db_common.JoinOptions.html +2 -1
- package/docs/types/_saltcorn_db_common.JsonPath.html +2 -1
- package/docs/types/_saltcorn_db_common.JsonPathElem.html +2 -1
- package/docs/types/_saltcorn_db_common.Operator.html +2 -1
- package/docs/types/_saltcorn_db_common.PartialSome.html +2 -1
- package/docs/types/_saltcorn_db_common.PrimaryKeyValue.html +2 -1
- package/docs/types/_saltcorn_db_common.Row.html +2 -1
- package/docs/types/_saltcorn_db_common.SelectOptions.html +2 -1
- package/docs/types/_saltcorn_db_common.SqlAndValues.html +2 -1
- package/docs/types/_saltcorn_db_common.StrongRow.html +2 -1
- package/docs/types/_saltcorn_db_common.SubselectOptions.html +2 -1
- package/docs/types/_saltcorn_db_common.Value.html +2 -1
- package/docs/types/_saltcorn_db_common.Where.html +2 -1
- package/docs/types/_saltcorn_mobile_builder.IosCfg.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_field.FieldCfg.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_field.InputType.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_form.AdditionalButton.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_library.LibraryCfg.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_library.LibraryPack.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_page.PageCfg.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_page.PagePack.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_plugin.PluginCfg.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_plugin.PluginPack.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_role.RoleCfg.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_role.RolePack.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_table.TableCfg.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_table.TablePack.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_trigger.TriggerCfg.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_trigger.TriggerPack.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_view.ViewCfg.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_view.ViewPack.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_workflow.ConfigWorkflowStep.html +1 -1
- package/docs/types/_saltcorn_types.ModelAbstracts.abstract_workflow.RunResult.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.Action.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.AuthenticationMethod.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.CalcJoinfield.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.CapacitorPlugin.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.CodePagePack.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.Column.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.ConnectObjType.html +4 -2
- package/docs/types/_saltcorn_types.Types.base_types.ConnectedObjects.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.CopilotSkill.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.ErrorObj.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.FieldLike.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.FieldView.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.Header.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.JoinFieldOption.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.Layout.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.MobileConfig.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.ModelPattern.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.Pack.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.Plugin.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.PluginFunction.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.PluginLayout.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.PluginRoute.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.PluginSourceType.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.PluginType.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.PluginWrap.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.PluginWrapArg.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.RelationOption.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.Req.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.Res.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.ResultType.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.RouteAction.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.RunExtra.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.SlugStepType.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.StepResType.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.SubField.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.TableProvider.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.TableQuery.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.Tablely.html +1 -1
- package/docs/types/_saltcorn_types.Types.base_types.ViewTemplate.html +1 -1
- package/docs/types/_saltcorn_types.Types.common_types.ErrorMessage.html +1 -1
- package/docs/types/_saltcorn_types.Types.common_types.GenObj.html +1 -1
- package/docs/types/_saltcorn_types.Types.common_types.ReqRes.html +1 -1
- package/docs/types/_saltcorn_types.Types.common_types.ResultMessage.html +1 -1
- package/docs/types/_saltcorn_types.Types.common_types.SuccessMessage.html +1 -1
- package/docs/types/_saltcorn_types.Types.common_types.Type.html +1 -1
- package/docs/variables/_saltcorn_data.db.html +1 -1
- package/docs/variables/_saltcorn_data.migrations.html +1 -1
- package/docs/variables/_saltcorn_data.models.config.available_languages.html +1 -1
- package/docs/variables/_saltcorn_data.models.config.configTypes.html +1 -1
- package/docs/variables/_saltcorn_data.models.scheduler.runScheduler.html +1 -1
- package/docs/variables/_saltcorn_data.plugin_helper.run_action_column.html +1 -1
- package/docs/variables/_saltcorn_data.utils.NotAuthorized.html +1 -1
- package/docs/variables/_saltcorn_data.utils.isPushEnabled.html +1 -1
- package/docs/variables/_saltcorn_data.utils.sleep.html +1 -1
- package/docs/variables/_saltcorn_db_common.multi_tenant.tenantNamespace.html +2 -1
- package/help/JavaScript action code.tmd +11 -0
- package/locales/en.json +28 -1
- package/package.json +9 -9
- package/public/log_viewer_utils.js +3 -2
- package/public/saltcorn-common.js +70 -32
- package/public/saltcorn.js +5 -0
- package/routes/admin.js +5 -3
- package/routes/eventlog.js +20 -0
- package/routes/fields.js +1 -1
- package/routes/menu.js +98 -6
- package/routes/pageedit.js +1 -0
- package/routes/plugins.js +8 -7
- package/serve.js +48 -1
- package/tests/admin.test.js +3 -3
- package/wrapper.js +17 -190
|
@@ -395,7 +395,7 @@
|
|
|
395
395
|
<h5><span class="tsd-kind-parameter">configuration</span>: <span class="tsd-signature-type">any</span></h5></li></ul></div>
|
|
396
396
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><a href="../interfaces/_saltcorn_types.ModelAbstracts.abstract_trigger.AbstractTrigger.html" class="tsd-signature-type tsd-kind-interface">AbstractTrigger</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">></span></h4></li></ul></li></ul></li></ul></div><aside class="tsd-sources">
|
|
397
397
|
<ul>
|
|
398
|
-
<li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/
|
|
398
|
+
<li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/ffd6f20f90/packages/saltcorn-types/base_types.ts#L245">saltcorn-types/base_types.ts:245</a></li></ul></aside></div>
|
|
399
399
|
<div class="col-sidebar">
|
|
400
400
|
<div class="page-menu">
|
|
401
401
|
<div class="tsd-navigation settings">
|
|
@@ -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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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"><</span><span class="tsd-signature-type ">RequestContext</span><span class="tsd-signature-symbol">></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/
|
|
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,6 +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.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>
|
|
79
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>
|
|
80
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>
|
|
81
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
|
@@ -1643,5 +1643,32 @@
|
|
|
1643
1643
|
"Web push": "Web push",
|
|
1644
1644
|
"Native Android": "Native Android",
|
|
1645
1645
|
"Firebase JSON key": "Firebase JSON key",
|
|
1646
|
-
"This is your Firebase Service Account JSON key file. ": "This is your Firebase Service Account JSON key file. "
|
|
1646
|
+
"This is your Firebase Service Account JSON key file. ": "This is your Firebase Service Account JSON key file. ",
|
|
1647
|
+
"Real-time updates": "Real-time updates",
|
|
1648
|
+
"Enable real-time updates for this view": "Enable real-time updates for this view",
|
|
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"
|
|
1647
1674
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saltcorn/server",
|
|
3
|
-
"version": "1.3.1-beta.
|
|
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.
|
|
12
|
-
"@saltcorn/base-plugin": "1.3.1-beta.
|
|
13
|
-
"@saltcorn/builder": "1.3.1-beta.
|
|
14
|
-
"@saltcorn/data": "1.3.1-beta.
|
|
15
|
-
"@saltcorn/filemanager": "1.3.1-beta.
|
|
16
|
-
"@saltcorn/markup": "1.3.1-beta.
|
|
17
|
-
"@saltcorn/plugins-loader": "1.3.1-beta.
|
|
18
|
-
"@saltcorn/sbadmin2": "1.3.1-beta.
|
|
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 =
|
|
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.
|
|
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);
|
|
@@ -1699,10 +1699,10 @@ function notifyAlert(note, spin) {
|
|
|
1699
1699
|
if ($modal.length && $modal.hasClass("show"))
|
|
1700
1700
|
$("#modal-toasts-area").append(html);
|
|
1701
1701
|
else $("#toasts-area").append(html);
|
|
1702
|
-
if (type === "success") {
|
|
1702
|
+
if (type === "success" || note.remove_delay) {
|
|
1703
1703
|
setTimeout(() => {
|
|
1704
1704
|
$(`#${id}`).removeClass("show");
|
|
1705
|
-
}, 5000);
|
|
1705
|
+
}, note.remove_delay ? note.remove_delay*1000: 5000);
|
|
1706
1706
|
}
|
|
1707
1707
|
}
|
|
1708
1708
|
|
|
@@ -1723,6 +1723,8 @@ function press_store_button(clicked, keepOld, disable) {
|
|
|
1723
1723
|
.html('<i class="fas fa-spinner fa-spin"></i>')
|
|
1724
1724
|
.width(width)
|
|
1725
1725
|
.height(height);
|
|
1726
|
+
$(document).trigger("activate-spinner", $(btn));
|
|
1727
|
+
$(btn).trigger("spin");
|
|
1726
1728
|
setTimeout(() => {
|
|
1727
1729
|
$(btn).prop("disabled", true);
|
|
1728
1730
|
}, 50);
|
|
@@ -1776,17 +1778,32 @@ async function common_done(res, viewnameOrElem0, isWeb = true) {
|
|
|
1776
1778
|
};
|
|
1777
1779
|
if (res.notify)
|
|
1778
1780
|
await handle(res.notify, (text) =>
|
|
1779
|
-
notifyAlert({
|
|
1781
|
+
notifyAlert({
|
|
1782
|
+
type: "info",
|
|
1783
|
+
text,
|
|
1784
|
+
toast_title: res.toast_title,
|
|
1785
|
+
remove_delay: res.remove_delay,
|
|
1786
|
+
})
|
|
1780
1787
|
);
|
|
1781
1788
|
if (res.error) {
|
|
1782
1789
|
if (window._sc_loglevel > 4) console.trace("error response", res.error);
|
|
1783
1790
|
await handle(res.error, (text) =>
|
|
1784
|
-
notifyAlert({
|
|
1791
|
+
notifyAlert({
|
|
1792
|
+
type: "danger",
|
|
1793
|
+
text,
|
|
1794
|
+
toast_title: res.toast_title,
|
|
1795
|
+
remove_delay: res.remove_delay,
|
|
1796
|
+
})
|
|
1785
1797
|
);
|
|
1786
1798
|
}
|
|
1787
1799
|
if (res.notify_success)
|
|
1788
1800
|
await handle(res.notify_success, (text) =>
|
|
1789
|
-
notifyAlert({
|
|
1801
|
+
notifyAlert({
|
|
1802
|
+
type: "success",
|
|
1803
|
+
text,
|
|
1804
|
+
toast_title: res.toast_title,
|
|
1805
|
+
remove_delay: res.remove_delay,
|
|
1806
|
+
})
|
|
1790
1807
|
);
|
|
1791
1808
|
if (res.set_fields && (viewname || res.set_fields._viewname)) {
|
|
1792
1809
|
const form =
|
|
@@ -1821,10 +1838,10 @@ async function common_done(res, viewnameOrElem0, isWeb = true) {
|
|
|
1821
1838
|
input.attr("data-selected", res.set_fields[k]);
|
|
1822
1839
|
}
|
|
1823
1840
|
|
|
1824
|
-
input.trigger("set_form_field");
|
|
1841
|
+
input.trigger("set_form_field", { no_onchange: res.no_onchange });
|
|
1825
1842
|
});
|
|
1826
1843
|
}
|
|
1827
|
-
form.trigger("change");
|
|
1844
|
+
if (!res.no_onchange) form.trigger("change");
|
|
1828
1845
|
}
|
|
1829
1846
|
|
|
1830
1847
|
if (res.download) {
|
|
@@ -2055,17 +2072,24 @@ function room_older(viewname, room_id, btn) {
|
|
|
2055
2072
|
);
|
|
2056
2073
|
}
|
|
2057
2074
|
|
|
2058
|
-
function
|
|
2059
|
-
let socket = null;
|
|
2060
|
-
if (
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
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
|
+
}
|
|
2068
2090
|
|
|
2091
|
+
function init_room(viewname, room_id) {
|
|
2092
|
+
let socket = get_shared_socket();
|
|
2069
2093
|
socket.emit("join_room", [viewname, room_id]);
|
|
2070
2094
|
socket.on("message", (msg) => {
|
|
2071
2095
|
if (msg.not_for_user_id) {
|
|
@@ -2088,32 +2112,40 @@ function init_room(viewname, room_id) {
|
|
|
2088
2112
|
}
|
|
2089
2113
|
|
|
2090
2114
|
function init_collab_room(viewname, eventCfgs) {
|
|
2091
|
-
let socket =
|
|
2092
|
-
if (parent?.saltcorn?.data?.state) {
|
|
2093
|
-
const { server_path, jwt } =
|
|
2094
|
-
parent.saltcorn.data.state.getState().mobileConfig;
|
|
2095
|
-
socket = io(server_path, {
|
|
2096
|
-
query: `jwt=${jwt}`,
|
|
2097
|
-
transports: ["websocket"],
|
|
2098
|
-
});
|
|
2099
|
-
} else socket = io({ transports: ["websocket"] });
|
|
2115
|
+
let socket = get_shared_socket();
|
|
2100
2116
|
for (const [event, callback] of Object.entries(eventCfgs.events)) {
|
|
2101
2117
|
socket.on(event, callback);
|
|
2102
2118
|
}
|
|
2103
|
-
|
|
2119
|
+
const joinFn = () => {
|
|
2104
2120
|
socket.emit("join_collab_room", viewname, (ack) => {
|
|
2105
|
-
if (ack && ack.status === "ok")
|
|
2121
|
+
if (ack && ack.status === "ok")
|
|
2106
2122
|
console.log(`Joined collaboration room for view '${viewname}'`);
|
|
2107
|
-
|
|
2108
|
-
console.error("Failed to join collaboration room:", ack);
|
|
2109
|
-
}
|
|
2123
|
+
else console.error("Failed to join collaboration room:", ack);
|
|
2110
2124
|
});
|
|
2111
|
-
}
|
|
2125
|
+
};
|
|
2126
|
+
if (socket.connected) joinFn();
|
|
2127
|
+
else socket.on("connect", joinFn);
|
|
2112
2128
|
socket.on("disconnect", function () {
|
|
2113
2129
|
console.log("Disconnected from the server");
|
|
2114
2130
|
});
|
|
2115
2131
|
}
|
|
2116
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
|
+
|
|
2117
2149
|
function cancel_form(form) {
|
|
2118
2150
|
if (!form) return;
|
|
2119
2151
|
$(form).trigger("reset");
|
|
@@ -2561,3 +2593,9 @@ async function initPushNotify() {
|
|
|
2561
2593
|
console.error("Push notification initialization failed:", error);
|
|
2562
2594
|
}
|
|
2563
2595
|
}
|
|
2596
|
+
|
|
2597
|
+
if (document.readyState !== "loading") {
|
|
2598
|
+
init_dynamic_update_room();
|
|
2599
|
+
} else {
|
|
2600
|
+
document.addEventListener("DOMContentLoaded", init_dynamic_update_room);
|
|
2601
|
+
}
|
package/public/saltcorn.js
CHANGED
|
@@ -218,6 +218,9 @@ function pjax_to(href, e) {
|
|
|
218
218
|
}
|
|
219
219
|
$dest.html(res);
|
|
220
220
|
if (localizer.length) localizer.attr("data-sc-local-state", href);
|
|
221
|
+
let $modal = $("#scmodal");
|
|
222
|
+
if ($modal.length && $modal.hasClass("show"))
|
|
223
|
+
$modal.prop("data-modal-state", href);
|
|
221
224
|
initialize_page();
|
|
222
225
|
document.dispatchEvent(new Event("pjax-loaded"));
|
|
223
226
|
},
|
|
@@ -261,6 +264,8 @@ function spin_action_link(e) {
|
|
|
261
264
|
|
|
262
265
|
$e.attr("data-innerhtml-prespin", $e.html());
|
|
263
266
|
$e.html('<i class="fas fa-spinner fa-spin"></i>').width(width).height(height);
|
|
267
|
+
$(document).trigger("activate-spinner", $e);
|
|
268
|
+
$e.trigger("spin");
|
|
264
269
|
}
|
|
265
270
|
|
|
266
271
|
function reset_spinners() {
|
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
|
-
|
|
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 =
|
|
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 } },
|
package/routes/eventlog.js
CHANGED
|
@@ -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]) {
|
package/routes/fields.js
CHANGED
|
@@ -1530,7 +1530,7 @@ router.post(
|
|
|
1530
1530
|
const table = Table.findOne({ name: table_name });
|
|
1531
1531
|
const field = table.getField(field_name);
|
|
1532
1532
|
let val = field.type?.read
|
|
1533
|
-
? field.type?.read(req.body[field_name])
|
|
1533
|
+
? field.type?.read(req.body[field_name], field.attributes)
|
|
1534
1534
|
: req.body[field_name];
|
|
1535
1535
|
await db.withTransaction(async () => {
|
|
1536
1536
|
await table.updateRow({ [field_name]: val }, pk, req.user);
|