@saltcorn/server 1.3.1-beta.1 → 1.3.1-beta.10
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 +29 -0
- package/auth/admin.js +9 -1
- package/auth/routes.js +50 -5
- 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 +71 -39
- package/docs/classes/_saltcorn_data.models.User.html +51 -49
- 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 +38 -16
- 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 +10 -0
- package/locales/en.json +32 -1
- package/package.json +9 -9
- package/public/log_viewer_utils.js +3 -2
- package/public/saltcorn-common.js +89 -39
- package/public/saltcorn.css +12 -0
- package/public/saltcorn.js +8 -0
- package/routes/actions.js +14 -0
- package/routes/admin.js +5 -3
- package/routes/common_lists.js +8 -1
- package/routes/eventlog.js +20 -0
- package/routes/fields.js +1 -1
- package/routes/menu.js +98 -6
- package/routes/page.js +4 -1
- package/routes/pageedit.js +1 -0
- package/routes/plugins.js +8 -7
- package/routes/tables.js +11 -0
- package/routes/view.js +12 -3
- package/serve.js +76 -13
- package/tests/admin.test.js +3 -3
- package/tests/auth.test.js +1 -0
- package/tests/viewedit.test.js +2 -0
- package/wrapper.js +24 -192
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
<h5><span class="tsd-kind-parameter">cfg</span>: <a href="_saltcorn_types.Types.common_types.GenObj.html" class="tsd-signature-type tsd-kind-type-alias">GenObj</a></h5></li></ul></div>
|
|
63
63
|
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type ">Partial</span><span class="tsd-signature-symbol"><</span><a href="../interfaces/_saltcorn_types.ModelAbstracts.abstract_table.AbstractTable.html" class="tsd-signature-type tsd-kind-interface">AbstractTable</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">
|
|
64
64
|
<ul>
|
|
65
|
-
<li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/
|
|
65
|
+
<li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/af484534de/packages/saltcorn-types/base_types.ts#L499">saltcorn-types/base_types.ts:499</a></li></ul></aside></div>
|
|
66
66
|
<div class="col-sidebar">
|
|
67
67
|
<div class="page-menu">
|
|
68
68
|
<div class="tsd-navigation settings">
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
<li class="tsd-parameter">
|
|
52
52
|
<h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-property">where</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type ">Where</span></h5></li></ul></div><aside class="tsd-sources">
|
|
53
53
|
<ul>
|
|
54
|
-
<li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/
|
|
54
|
+
<li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/af484534de/packages/saltcorn-types/base_types.ts#L186">saltcorn-types/base_types.ts:186</a></li></ul></aside></div>
|
|
55
55
|
<div class="col-sidebar">
|
|
56
56
|
<div class="page-menu">
|
|
57
57
|
<div class="tsd-navigation settings">
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<li class="tsd-parameter">
|
|
26
26
|
<h5><span class="tsd-kind-property">external</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">true</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/af484534de/packages/saltcorn-types/base_types.ts#L589">saltcorn-types/base_types.ts:589</a></li></ul></aside></div>
|
|
29
29
|
<div class="col-sidebar">
|
|
30
30
|
<div class="page-menu">
|
|
31
31
|
<div class="tsd-navigation settings">
|
|
@@ -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/af484534de/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/af484534de/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/af484534de/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/af484534de/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/af484534de/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/af484534de/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/af484534de/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/af484534de/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/af484534de/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/af484534de/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/af484534de/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/af484534de/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/af484534de/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/af484534de/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/af484534de/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/af484534de/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/af484534de/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,13 @@ 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 (and window) where the user is logged in. Otherwise, you can use an array or omit the second parameter to emit to default to the originating user. All return directives from the block above can be used.
|
|
158
|
+
|
|
159
|
+
Include the constant `page_load_tag` in the object to only appear on the originating tab, for instance: `emit_to_client({notify: "Hello", page_load_tag})`.
|
package/locales/en.json
CHANGED
|
@@ -1643,5 +1643,36 @@
|
|
|
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",
|
|
1674
|
+
"Dynamic server side updates": "Dynamic server side updates",
|
|
1675
|
+
"Enable dynamic updates": "Enable dynamic updates",
|
|
1676
|
+
"Enable server side updates from within run_js_code actions": "Enable server side updates from within run_js_code actions",
|
|
1677
|
+
"Vertical alignment": "Vertical alignment"
|
|
1647
1678
|
}
|
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.10",
|
|
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.10",
|
|
12
|
+
"@saltcorn/base-plugin": "1.3.1-beta.10",
|
|
13
|
+
"@saltcorn/builder": "1.3.1-beta.10",
|
|
14
|
+
"@saltcorn/data": "1.3.1-beta.10",
|
|
15
|
+
"@saltcorn/filemanager": "1.3.1-beta.10",
|
|
16
|
+
"@saltcorn/markup": "1.3.1-beta.10",
|
|
17
|
+
"@saltcorn/plugins-loader": "1.3.1-beta.10",
|
|
18
|
+
"@saltcorn/sbadmin2": "1.3.1-beta.10",
|
|
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);
|
|
@@ -151,15 +151,15 @@ function valid_js_var_name(s) {
|
|
|
151
151
|
return !!s.match(/^[a-zA-Z_$][a-zA-Z_$0-9]*$/);
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
function add_extra_state(base_url, extra_state_fml, row) {
|
|
154
|
+
function add_extra_state(base_url, extra_state_fml, row, outerState = {}) {
|
|
155
155
|
//console.log("add_extra_state", { base_url, extra_state_fml, row });
|
|
156
|
-
if (!extra_state_fml) return base_url;
|
|
156
|
+
if (!extra_state_fml && !Object.keys(outerState).length) return base_url;
|
|
157
157
|
let extra_state = new Function(
|
|
158
158
|
"row",
|
|
159
159
|
`{${Object.keys(row).join(",")}}`,
|
|
160
|
-
"return " + extra_state_fml
|
|
160
|
+
"return " + extra_state_fml||"{}"
|
|
161
161
|
)(row, row);
|
|
162
|
-
let qs = Object.entries(extra_state)
|
|
162
|
+
let qs = Object.entries({ ...outerState, ...extra_state })
|
|
163
163
|
.map(([k, v]) => `${k}=${encodeURIComponent(v)}`)
|
|
164
164
|
.join("&");
|
|
165
165
|
let sepChar = base_url.includes("?") ? "&" : "?";
|
|
@@ -1699,10 +1699,13 @@ 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") {
|
|
1703
|
-
setTimeout(
|
|
1704
|
-
|
|
1705
|
-
|
|
1702
|
+
if (type === "success" || note.remove_delay) {
|
|
1703
|
+
setTimeout(
|
|
1704
|
+
() => {
|
|
1705
|
+
$(`#${id}`).removeClass("show");
|
|
1706
|
+
},
|
|
1707
|
+
note.remove_delay ? note.remove_delay * 1000 : 5000
|
|
1708
|
+
);
|
|
1706
1709
|
}
|
|
1707
1710
|
}
|
|
1708
1711
|
|
|
@@ -1723,6 +1726,8 @@ function press_store_button(clicked, keepOld, disable) {
|
|
|
1723
1726
|
.html('<i class="fas fa-spinner fa-spin"></i>')
|
|
1724
1727
|
.width(width)
|
|
1725
1728
|
.height(height);
|
|
1729
|
+
$(document).trigger("activate-spinner", $(btn));
|
|
1730
|
+
$(btn).trigger("spin");
|
|
1726
1731
|
setTimeout(() => {
|
|
1727
1732
|
$(btn).prop("disabled", true);
|
|
1728
1733
|
}, 50);
|
|
@@ -1751,6 +1756,9 @@ async function common_done(res, viewnameOrElem0, isWeb = true) {
|
|
|
1751
1756
|
.attr("data-sc-embed-viewname");
|
|
1752
1757
|
if (window._sc_loglevel > 4)
|
|
1753
1758
|
console.log("ajax result directives", viewname, res);
|
|
1759
|
+
|
|
1760
|
+
if (res.page_load_tag && res.page_load_tag !== _sc_pageloadtag) return;
|
|
1761
|
+
|
|
1754
1762
|
const handle = async (element, fn) => {
|
|
1755
1763
|
if (Array.isArray(element))
|
|
1756
1764
|
for (const current of element) await fn(current);
|
|
@@ -1776,17 +1784,32 @@ async function common_done(res, viewnameOrElem0, isWeb = true) {
|
|
|
1776
1784
|
};
|
|
1777
1785
|
if (res.notify)
|
|
1778
1786
|
await handle(res.notify, (text) =>
|
|
1779
|
-
notifyAlert({
|
|
1787
|
+
notifyAlert({
|
|
1788
|
+
type: "info",
|
|
1789
|
+
text,
|
|
1790
|
+
toast_title: res.toast_title,
|
|
1791
|
+
remove_delay: res.remove_delay,
|
|
1792
|
+
})
|
|
1780
1793
|
);
|
|
1781
1794
|
if (res.error) {
|
|
1782
1795
|
if (window._sc_loglevel > 4) console.trace("error response", res.error);
|
|
1783
1796
|
await handle(res.error, (text) =>
|
|
1784
|
-
notifyAlert({
|
|
1797
|
+
notifyAlert({
|
|
1798
|
+
type: "danger",
|
|
1799
|
+
text,
|
|
1800
|
+
toast_title: res.toast_title,
|
|
1801
|
+
remove_delay: res.remove_delay,
|
|
1802
|
+
})
|
|
1785
1803
|
);
|
|
1786
1804
|
}
|
|
1787
1805
|
if (res.notify_success)
|
|
1788
1806
|
await handle(res.notify_success, (text) =>
|
|
1789
|
-
notifyAlert({
|
|
1807
|
+
notifyAlert({
|
|
1808
|
+
type: "success",
|
|
1809
|
+
text,
|
|
1810
|
+
toast_title: res.toast_title,
|
|
1811
|
+
remove_delay: res.remove_delay,
|
|
1812
|
+
})
|
|
1790
1813
|
);
|
|
1791
1814
|
if (res.set_fields && (viewname || res.set_fields._viewname)) {
|
|
1792
1815
|
const form =
|
|
@@ -1821,10 +1844,10 @@ async function common_done(res, viewnameOrElem0, isWeb = true) {
|
|
|
1821
1844
|
input.attr("data-selected", res.set_fields[k]);
|
|
1822
1845
|
}
|
|
1823
1846
|
|
|
1824
|
-
input.trigger("set_form_field");
|
|
1847
|
+
input.trigger("set_form_field", { no_onchange: res.no_onchange });
|
|
1825
1848
|
});
|
|
1826
1849
|
}
|
|
1827
|
-
form.trigger("change");
|
|
1850
|
+
if (!res.no_onchange) form.trigger("change");
|
|
1828
1851
|
}
|
|
1829
1852
|
|
|
1830
1853
|
if (res.download) {
|
|
@@ -2055,17 +2078,24 @@ function room_older(viewname, room_id, btn) {
|
|
|
2055
2078
|
);
|
|
2056
2079
|
}
|
|
2057
2080
|
|
|
2058
|
-
function
|
|
2059
|
-
let socket = null;
|
|
2060
|
-
if (
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2081
|
+
function get_shared_socket() {
|
|
2082
|
+
let socket = window.sharedSocket || null;
|
|
2083
|
+
if (!socket) {
|
|
2084
|
+
if (parent?.saltcorn?.data?.state) {
|
|
2085
|
+
const { server_path, jwt } =
|
|
2086
|
+
parent.saltcorn.data.state.getState().mobileConfig;
|
|
2087
|
+
socket = io(server_path, {
|
|
2088
|
+
query: `jwt=${jwt}`,
|
|
2089
|
+
transports: ["websocket"],
|
|
2090
|
+
});
|
|
2091
|
+
} else socket = io({ transports: ["websocket"] });
|
|
2092
|
+
window.sharedSocket = socket;
|
|
2093
|
+
}
|
|
2094
|
+
return socket;
|
|
2095
|
+
}
|
|
2068
2096
|
|
|
2097
|
+
function init_room(viewname, room_id) {
|
|
2098
|
+
let socket = get_shared_socket();
|
|
2069
2099
|
socket.emit("join_room", [viewname, room_id]);
|
|
2070
2100
|
socket.on("message", (msg) => {
|
|
2071
2101
|
if (msg.not_for_user_id) {
|
|
@@ -2088,32 +2118,46 @@ function init_room(viewname, room_id) {
|
|
|
2088
2118
|
}
|
|
2089
2119
|
|
|
2090
2120
|
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"] });
|
|
2121
|
+
let socket = get_shared_socket();
|
|
2100
2122
|
for (const [event, callback] of Object.entries(eventCfgs.events)) {
|
|
2101
2123
|
socket.on(event, callback);
|
|
2102
2124
|
}
|
|
2103
|
-
|
|
2125
|
+
const joinFn = () => {
|
|
2104
2126
|
socket.emit("join_collab_room", viewname, (ack) => {
|
|
2105
|
-
if (ack && ack.status === "ok")
|
|
2127
|
+
if (ack && ack.status === "ok")
|
|
2106
2128
|
console.log(`Joined collaboration room for view '${viewname}'`);
|
|
2107
|
-
|
|
2108
|
-
console.error("Failed to join collaboration room:", ack);
|
|
2109
|
-
}
|
|
2129
|
+
else console.error("Failed to join collaboration room:", ack);
|
|
2110
2130
|
});
|
|
2111
|
-
}
|
|
2131
|
+
};
|
|
2132
|
+
if (socket.connected) joinFn();
|
|
2133
|
+
else socket.on("connect", joinFn);
|
|
2112
2134
|
socket.on("disconnect", function () {
|
|
2113
2135
|
console.log("Disconnected from the server");
|
|
2114
2136
|
});
|
|
2115
2137
|
}
|
|
2116
2138
|
|
|
2139
|
+
function init_dynamic_update_room() {
|
|
2140
|
+
if (
|
|
2141
|
+
!window.io ||
|
|
2142
|
+
navigator.userAgent.includes("jsdom") ||
|
|
2143
|
+
!dynamic_updates_cfg?.enabled
|
|
2144
|
+
)
|
|
2145
|
+
return;
|
|
2146
|
+
let socket = get_shared_socket();
|
|
2147
|
+
socket.on("dynamic_update", async (data) => {
|
|
2148
|
+
await common_done(data);
|
|
2149
|
+
});
|
|
2150
|
+
const joinFn = () => {
|
|
2151
|
+
socket.emit("join_dynamic_update_room", (ack) => {
|
|
2152
|
+
if (ack && ack.status === "ok") {
|
|
2153
|
+
if (window._sc_loglevel > 5) console.log("Joined dynamic update room");
|
|
2154
|
+
} else console.error("Failed to join dynamic update room:", ack);
|
|
2155
|
+
});
|
|
2156
|
+
};
|
|
2157
|
+
if (socket.connected) joinFn();
|
|
2158
|
+
else socket.on("connect", joinFn);
|
|
2159
|
+
}
|
|
2160
|
+
|
|
2117
2161
|
function cancel_form(form) {
|
|
2118
2162
|
if (!form) return;
|
|
2119
2163
|
$(form).trigger("reset");
|
|
@@ -2159,7 +2203,7 @@ function check_saltcorn_notifications() {
|
|
|
2159
2203
|
.then((resp) => {
|
|
2160
2204
|
if (resp.success) {
|
|
2161
2205
|
const n = resp.success;
|
|
2162
|
-
const menu_item = $(
|
|
2206
|
+
const menu_item = $('a[href="/notifications"]');
|
|
2163
2207
|
|
|
2164
2208
|
menu_item.html(
|
|
2165
2209
|
`<i class="fa-fw mr-05 fas fa-bell"></i>Notifications (${n})`
|
|
@@ -2561,3 +2605,9 @@ async function initPushNotify() {
|
|
|
2561
2605
|
console.error("Push notification initialization failed:", error);
|
|
2562
2606
|
}
|
|
2563
2607
|
}
|
|
2608
|
+
|
|
2609
|
+
if (document.readyState !== "loading") {
|
|
2610
|
+
init_dynamic_update_room();
|
|
2611
|
+
} else {
|
|
2612
|
+
document.addEventListener("DOMContentLoaded", init_dynamic_update_room);
|
|
2613
|
+
}
|
package/public/saltcorn.css
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
.table-valign-middle > tbody > tr > td {
|
|
2
|
+
vertical-align: middle;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.table-valign-top > tbody > tr > td {
|
|
6
|
+
vertical-align: top;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.table-valign-bottom > tbody > tr > td {
|
|
10
|
+
vertical-align: bottom;
|
|
11
|
+
}
|
|
12
|
+
|
|
1
13
|
div.form-repeat {
|
|
2
14
|
border: 1px dashed black;
|
|
3
15
|
padding: 3px;
|
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() {
|
|
@@ -289,6 +294,7 @@ function view_post(viewnameOrElem, route, data, onDone, sendState) {
|
|
|
289
294
|
type: "POST",
|
|
290
295
|
headers: {
|
|
291
296
|
"CSRF-Token": _sc_globalCsrf,
|
|
297
|
+
"Page-Load-Tag": _sc_pageloadtag,
|
|
292
298
|
},
|
|
293
299
|
...(!isFormData
|
|
294
300
|
? {
|
|
@@ -423,6 +429,7 @@ function ajax_modal(url, opts = {}) {
|
|
|
423
429
|
new bootstrap.Modal($("#scmodal"), {
|
|
424
430
|
focus: false,
|
|
425
431
|
}).show();
|
|
432
|
+
$("#scmodal .modal-body").find("[autofocus]").first().focus();
|
|
426
433
|
initialize_page();
|
|
427
434
|
(opts.onOpen || function () {})(res);
|
|
428
435
|
$("#scmodal").on("hidden.bs.modal", function (e) {
|
|
@@ -702,6 +709,7 @@ function ajax_post(url, args) {
|
|
|
702
709
|
type: "POST",
|
|
703
710
|
headers: {
|
|
704
711
|
"CSRF-Token": _sc_globalCsrf,
|
|
712
|
+
"Page-Load-Tag": _sc_pageloadtag,
|
|
705
713
|
},
|
|
706
714
|
...(args || {}),
|
|
707
715
|
})
|