@saltcorn/server 1.3.0-beta.1 → 1.3.0-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 +13 -0
- package/app.js +21 -8
- package/auth/routes.js +137 -12
- 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 +90 -73
- 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 +38 -38
- 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 +39 -39
- package/docs/classes/_saltcorn_data.models.User.html +48 -48
- package/docs/classes/_saltcorn_data.models.View-1.html +105 -53
- 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 +36 -36
- 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 +5 -3
- 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 +1 -1
- package/docs/functions/_saltcorn_db_common.buildInsertSql.html +1 -1
- package/docs/functions/_saltcorn_db_common.doCount.html +1 -1
- package/docs/functions/_saltcorn_db_common.doDeleteWhere.html +1 -1
- package/docs/functions/_saltcorn_db_common.doListScTables.html +1 -1
- package/docs/functions/_saltcorn_db_common.doListTables.html +1 -1
- package/docs/functions/_saltcorn_db_common.doListUserDefinedTables.html +1 -1
- package/docs/functions/_saltcorn_db_common.do_add_index.html +1 -1
- package/docs/functions/_saltcorn_db_common.do_drop_index.html +1 -1
- package/docs/functions/_saltcorn_db_common.ftsFieldsSqlExpr.html +1 -1
- package/docs/functions/_saltcorn_db_common.mkSelectOptions.html +1 -1
- package/docs/functions/_saltcorn_db_common.mkVal.html +1 -1
- package/docs/functions/_saltcorn_db_common.mkWhere.html +1 -1
- package/docs/functions/_saltcorn_db_common.multi_tenant.enable_multi_tenant.html +1 -1
- package/docs/functions/_saltcorn_db_common.multi_tenant.getRequestContext.html +1 -1
- package/docs/functions/_saltcorn_db_common.multi_tenant.getTenantSchema.html +1 -1
- package/docs/functions/_saltcorn_db_common.multi_tenant.init.html +1 -1
- package/docs/functions/_saltcorn_db_common.multi_tenant.is_it_multi_tenant.html +1 -1
- package/docs/functions/_saltcorn_db_common.multi_tenant.runWithTenant.html +1 -1
- package/docs/functions/_saltcorn_db_common.orderByIsObject.html +1 -1
- package/docs/functions/_saltcorn_db_common.orderByIsOperator.html +1 -1
- package/docs/functions/_saltcorn_db_common.prefixFieldsInWhere.html +1 -1
- package/docs/functions/_saltcorn_db_common.reprAsJson.html +1 -1
- package/docs/functions/_saltcorn_db_common.slugify.html +1 -1
- package/docs/functions/_saltcorn_db_common.sqlBinOp.html +1 -1
- package/docs/functions/_saltcorn_db_common.sqlFun.html +1 -1
- package/docs/functions/_saltcorn_db_common.sqlsanitize.html +1 -1
- package/docs/functions/_saltcorn_db_common.sqlsanitizeAllowDots.html +1 -1
- package/docs/functions/_saltcorn_db_common.subSelectWhere.html +1 -1
- package/docs/functions/_saltcorn_db_common.tryCatchInTransaction.html +1 -1
- package/docs/functions/_saltcorn_db_common.withTransaction.html +1 -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 +26 -26
- 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 +16 -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 +7 -5
- 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 +2 -2
- package/docs/modules/_saltcorn_db_common.multi_tenant.html +1 -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 +4 -2
- package/docs/types/_saltcorn_db_common.CoordOpts.html +1 -1
- package/docs/types/_saltcorn_db_common.DatabaseClient.html +1 -1
- package/docs/types/_saltcorn_db_common.JoinField.html +1 -1
- package/docs/types/_saltcorn_db_common.JoinFields.html +1 -1
- package/docs/types/_saltcorn_db_common.JoinOptions.html +1 -1
- package/docs/types/_saltcorn_db_common.JsonPath.html +1 -1
- package/docs/types/_saltcorn_db_common.JsonPathElem.html +1 -1
- package/docs/types/_saltcorn_db_common.Operator.html +1 -1
- package/docs/types/_saltcorn_db_common.PartialSome.html +1 -1
- package/docs/types/_saltcorn_db_common.PrimaryKeyValue.html +1 -1
- package/docs/types/_saltcorn_db_common.Row.html +1 -1
- package/docs/types/_saltcorn_db_common.SelectOptions.html +3 -3
- package/docs/types/_saltcorn_db_common.SqlAndValues.html +1 -1
- package/docs/types/_saltcorn_db_common.StrongRow.html +1 -1
- package/docs/types/_saltcorn_db_common.SubselectOptions.html +1 -1
- package/docs/types/_saltcorn_db_common.Value.html +1 -1
- package/docs/types/_saltcorn_db_common.Where.html +1 -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 +1 -1
- 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.sleep.html +1 -1
- package/docs/variables/_saltcorn_db_common.multi_tenant.tenantNamespace.html +1 -1
- package/help/Template tables.tmd +9 -0
- package/locales/en.json +16 -1
- package/locales/pt.json +2 -2
- package/markup/admin.js +11 -2
- package/package.json +9 -9
- package/public/assets/databases/databases.json +3 -0
- package/public/assets/databases/prepopulated.db +0 -0
- package/public/assets/sql-wasm.wasm +0 -0
- package/public/gridedit.js +1 -1
- package/public/saltcorn-common.js +114 -42
- package/public/saltcorn.css +8 -0
- package/public/saltcorn.js +9 -1
- package/routes/admin.js +59 -50
- package/routes/api.js +53 -0
- package/routes/files.js +12 -0
- package/routes/homepage.js +23 -1
- package/routes/list.js +1 -1
- package/routes/menu.js +14 -0
- package/routes/notifications.js +12 -0
- package/routes/page.js +30 -1
- package/routes/registry.js +64 -4
- package/routes/search.js +10 -0
- package/routes/tables.js +137 -59
- package/routes/view.js +37 -1
- package/routes/viewedit.js +1 -1
- package/serve.js +41 -1
- package/systemd.js +1 -1
- package/tests/api.test.js +51 -0
- package/tests/clientjs.test.js +16 -0
|
@@ -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">string</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/220de627d2/packages/saltcorn-types/base_types.ts#L697">saltcorn-types/base_types.ts:697</a></li></ul></aside></div>
|
|
35
35
|
<div class="col-sidebar">
|
|
36
36
|
<div class="page-menu">
|
|
37
37
|
<div class="tsd-navigation settings">
|
|
@@ -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/220de627d2/packages/saltcorn-types/base_types.ts#L498">saltcorn-types/base_types.ts:498</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/220de627d2/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/220de627d2/packages/saltcorn-types/base_types.ts#L588">saltcorn-types/base_types.ts:588</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/220de627d2/packages/saltcorn-types/base_types.ts#L244">saltcorn-types/base_types.ts:244</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/220de627d2/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/220de627d2/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/220de627d2/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/220de627d2/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/220de627d2/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/220de627d2/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/220de627d2/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/220de627d2/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/220de627d2/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/220de627d2/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/220de627d2/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/220de627d2/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/220de627d2/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/220de627d2/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/220de627d2/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">
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
Views can be generated based on views from a different table.
|
|
2
|
+
|
|
3
|
+
To use this facility create a table with fields of different types and create views on this table that you would like to use as a template for generating basic views for other tables. Saltcorn will attempt to apply the style and the field view choices to the new tables.
|
|
4
|
+
|
|
5
|
+
For list views this is relatively straightforward. You may not get the ordering you are desiring and will need to adjust the list view after the generation.
|
|
6
|
+
|
|
7
|
+
Show and Edit views make some assumptions about the views you are trying to clone. This works best if there is one container in the template view that contain all of the fields in sub elements. Each field along with its associated labels should be inside its own elements (e.g. a container for each group of elements related to one field).
|
|
8
|
+
|
|
9
|
+
Use this templating facility to quickly create many different views of a consistent style. If you're doing this across many instances you may want to create a tag for your template table and template views and download this tag's pack and restore it on each application you are building.
|
package/locales/en.json
CHANGED
|
@@ -1604,5 +1604,20 @@
|
|
|
1604
1604
|
"You may need to adjust view relations associated with this table after renaming it": "You may need to adjust view relations associated with this table after renaming it",
|
|
1605
1605
|
"Error running workflow": "Error running workflow",
|
|
1606
1606
|
"Choose File": "Choose File",
|
|
1607
|
-
"No file chosen": "No file chosen"
|
|
1607
|
+
"No file chosen": "No file chosen",
|
|
1608
|
+
"S3 Bucket Name": "S3 Bucket Name",
|
|
1609
|
+
"S3 Access Key": "S3 Access Key",
|
|
1610
|
+
"S3 Secret Key": "S3 Secret Key",
|
|
1611
|
+
"S3 Region": "S3 Region",
|
|
1612
|
+
"S3 Endpoint": "S3 Endpoint",
|
|
1613
|
+
"Enable maintenance mode": "Enable maintenance mode",
|
|
1614
|
+
"Enable maintenance mode to restrict access to non-admin users": "Enable maintenance mode to restrict access to non-admin users",
|
|
1615
|
+
"Maintenance mode page": "Maintenance mode page",
|
|
1616
|
+
"Select the page to display during maintenance mode": "Select the page to display during maintenance mode",
|
|
1617
|
+
"Create basic views": "Create basic views",
|
|
1618
|
+
"Create views": "Create views",
|
|
1619
|
+
"Decimal places": "Decimal places",
|
|
1620
|
+
"%s view - %s": "%s view - %s",
|
|
1621
|
+
"Password to encrypt the backup file. Leave empty for no encryption": "Password to encrypt the backup file. Leave empty for no encryption",
|
|
1622
|
+
"Show full error to user on crash, enable editing field type": "Show full error to user on crash, enable editing field type"
|
|
1608
1623
|
}
|
package/locales/pt.json
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"Admin": "Administrador",
|
|
21
21
|
"Tenants": "Inquilinos",
|
|
22
22
|
"Crash log": "Registro de falhas",
|
|
23
|
-
"Sign up": "
|
|
23
|
+
"Sign up": "Inscrever-se",
|
|
24
24
|
"Login": "Entrar",
|
|
25
25
|
"An error occurred": "Ocorreu um erro",
|
|
26
26
|
"ID": "ID",
|
|
@@ -1598,4 +1598,4 @@
|
|
|
1598
1598
|
"Create an account!": "Crie uma conta!",
|
|
1599
1599
|
"Login with %s": "Entrar com %s",
|
|
1600
1600
|
"Already have an account? Login!": "Já tem uma conta? Faça login!"
|
|
1601
|
-
}
|
|
1601
|
+
}
|
package/markup/admin.js
CHANGED
|
@@ -25,6 +25,7 @@ const View = require("@saltcorn/data/models/view");
|
|
|
25
25
|
const User = require("@saltcorn/data/models/user");
|
|
26
26
|
const FieldRepeat = require("@saltcorn/data/models/fieldrepeat");
|
|
27
27
|
const Field = require("@saltcorn/data/models/field");
|
|
28
|
+
const Page = require("@saltcorn/data/models/page");
|
|
28
29
|
|
|
29
30
|
/**
|
|
30
31
|
* Restore Backup
|
|
@@ -494,6 +495,7 @@ const config_fields_form = async ({
|
|
|
494
495
|
const isView = (configTypes[name].type || "").startsWith("View ");
|
|
495
496
|
const isRole = configTypes[name].type === "Role";
|
|
496
497
|
const isTenant = configTypes[name].type === "Tenant";
|
|
498
|
+
const isPage = configTypes[name].type === "Page";
|
|
497
499
|
const label = configTypes[name].label || name;
|
|
498
500
|
const sublabel = configTypes[name].sublabel || configTypes[name].blurb;
|
|
499
501
|
|
|
@@ -536,7 +538,7 @@ const config_fields_form = async ({
|
|
|
536
538
|
)
|
|
537
539
|
: ""),
|
|
538
540
|
type:
|
|
539
|
-
isView || isRole || isTenant
|
|
541
|
+
isView || isRole || isTenant || isPage
|
|
540
542
|
? "String"
|
|
541
543
|
: configTypes[name].input_type
|
|
542
544
|
? undefined
|
|
@@ -552,7 +554,14 @@ const config_fields_form = async ({
|
|
|
552
554
|
? roleAttribs
|
|
553
555
|
: isTenant
|
|
554
556
|
? await getTenants()
|
|
555
|
-
:
|
|
557
|
+
: isPage
|
|
558
|
+
? {
|
|
559
|
+
options: (await Page.find()).map((p) => ({
|
|
560
|
+
label: p.name,
|
|
561
|
+
name: p.name,
|
|
562
|
+
})),
|
|
563
|
+
}
|
|
564
|
+
: configTypes[name].attributes,
|
|
556
565
|
});
|
|
557
566
|
}
|
|
558
567
|
const form = new Form({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saltcorn/server",
|
|
3
|
-
"version": "1.3.0-beta.
|
|
3
|
+
"version": "1.3.0-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.0-beta.
|
|
12
|
-
"@saltcorn/base-plugin": "1.3.0-beta.
|
|
13
|
-
"@saltcorn/builder": "1.3.0-beta.
|
|
14
|
-
"@saltcorn/data": "1.3.0-beta.
|
|
15
|
-
"@saltcorn/filemanager": "1.3.0-beta.
|
|
16
|
-
"@saltcorn/markup": "1.3.0-beta.
|
|
17
|
-
"@saltcorn/plugins-loader": "1.3.0-beta.
|
|
18
|
-
"@saltcorn/sbadmin2": "1.3.0-beta.
|
|
11
|
+
"@saltcorn/admin-models": "1.3.0-beta.10",
|
|
12
|
+
"@saltcorn/base-plugin": "1.3.0-beta.10",
|
|
13
|
+
"@saltcorn/builder": "1.3.0-beta.10",
|
|
14
|
+
"@saltcorn/data": "1.3.0-beta.10",
|
|
15
|
+
"@saltcorn/filemanager": "1.3.0-beta.10",
|
|
16
|
+
"@saltcorn/markup": "1.3.0-beta.10",
|
|
17
|
+
"@saltcorn/plugins-loader": "1.3.0-beta.10",
|
|
18
|
+
"@saltcorn/sbadmin2": "1.3.0-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",
|
|
Binary file
|
|
Binary file
|
package/public/gridedit.js
CHANGED
|
@@ -172,7 +172,7 @@ function delete_tabulator_row(e, cell) {
|
|
|
172
172
|
}
|
|
173
173
|
$.ajax({
|
|
174
174
|
type: "DELETE",
|
|
175
|
-
url: `/api/${tableName}/${row[pk_name]}`,
|
|
175
|
+
url: `/api/${tableName}/${encodeURIComponent(row[pk_name])}`,
|
|
176
176
|
data: row, // to process primary keys different from id
|
|
177
177
|
headers: {
|
|
178
178
|
"CSRF-Token": _sc_globalCsrf,
|
|
@@ -151,8 +151,25 @@ 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) {
|
|
155
|
+
//console.log("add_extra_state", { base_url, extra_state_fml, row });
|
|
156
|
+
if (!extra_state_fml) return base_url;
|
|
157
|
+
let extra_state = new Function(
|
|
158
|
+
"row",
|
|
159
|
+
`{${Object.keys(row).join(",")}}`,
|
|
160
|
+
"return " + extra_state_fml
|
|
161
|
+
)(row, row);
|
|
162
|
+
let qs = Object.entries(extra_state)
|
|
163
|
+
.map(([k, v]) => `${k}=${encodeURIComponent(v)}`)
|
|
164
|
+
.join("&");
|
|
165
|
+
let sepChar = base_url.includes("?") ? "&" : "?";
|
|
166
|
+
return base_url + sepChar + qs;
|
|
167
|
+
}
|
|
168
|
+
|
|
154
169
|
const apply_showif_fetching_urls = new Set();
|
|
155
170
|
|
|
171
|
+
const global_fetch_options_cache = {};
|
|
172
|
+
|
|
156
173
|
function apply_showif() {
|
|
157
174
|
const isNode = getIsNode();
|
|
158
175
|
$("[data-show-if]").each(function (ix, element) {
|
|
@@ -294,6 +311,9 @@ function apply_showif() {
|
|
|
294
311
|
qss.push(...dynwhere.dereference.map((d) => `dereference=${d}`));
|
|
295
312
|
else qss.push(`dereference=${dynwhere.dereference}`);
|
|
296
313
|
}
|
|
314
|
+
if (!dynwhere.label_formula && dynwhere.summary_field && dynwhere.refname) {
|
|
315
|
+
qss.push(`fields=${dynwhere.summary_field},${dynwhere.refname}`);
|
|
316
|
+
}
|
|
297
317
|
const qs = qss.join("&");
|
|
298
318
|
let current = e.attr("data-selected");
|
|
299
319
|
if (current === "null") current = null;
|
|
@@ -380,36 +400,27 @@ function apply_showif() {
|
|
|
380
400
|
e.selectize()[0].selectize.setValue(currentDataOption);
|
|
381
401
|
}
|
|
382
402
|
};
|
|
383
|
-
|
|
384
|
-
|
|
403
|
+
if (!global_fetch_options_cache[dynwhere.table])
|
|
404
|
+
global_fetch_options_cache[dynwhere.table] = {};
|
|
405
|
+
const cache = global_fetch_options_cache[dynwhere.table] || {};
|
|
385
406
|
if (cache[qs] === "fetching") {
|
|
386
407
|
// do nothing, this will be activated by someone else
|
|
387
408
|
} else if (cache[qs]) {
|
|
388
409
|
activate(cache[qs], qs);
|
|
389
410
|
} else {
|
|
390
|
-
|
|
391
|
-
...cache,
|
|
392
|
-
[qs]: "fetching",
|
|
393
|
-
});
|
|
411
|
+
cache[qs] = "fetching";
|
|
394
412
|
apply_showif_fetching_urls.add(`/api/${dynwhere.table}?${qs}`);
|
|
395
413
|
$.ajax(`/api/${dynwhere.table}?${qs}`)
|
|
396
414
|
.then((resp) => {
|
|
415
|
+
const cacheNow = global_fetch_options_cache[dynwhere.table] || {};
|
|
397
416
|
if (resp.success) {
|
|
398
417
|
if (window._sc_loglevel > 4)
|
|
399
418
|
console.log("dynwhere fetch", qs, resp.success);
|
|
400
|
-
|
|
401
419
|
activate(resp.success, qs);
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
...cacheNow,
|
|
405
|
-
[qs]: resp.success,
|
|
406
|
-
});
|
|
420
|
+
cacheNow[qs] = resp.success;
|
|
421
|
+
apply_showif();
|
|
407
422
|
} else {
|
|
408
|
-
|
|
409
|
-
e.prop("data-fetch-options-cache", {
|
|
410
|
-
...cacheNow,
|
|
411
|
-
[qs]: undefined,
|
|
412
|
-
});
|
|
423
|
+
cacheNow[qs] = undefined;
|
|
413
424
|
}
|
|
414
425
|
})
|
|
415
426
|
.fail(checkNetworkError)
|
|
@@ -428,6 +439,49 @@ function apply_showif() {
|
|
|
428
439
|
});
|
|
429
440
|
});
|
|
430
441
|
});
|
|
442
|
+
$("[data-view-source]").each(function (ix, element) {
|
|
443
|
+
const e = $(element);
|
|
444
|
+
const rec = get_form_record(e);
|
|
445
|
+
const current = e.attr("data-view-source-current");
|
|
446
|
+
const encFml = e.attr("data-view-source");
|
|
447
|
+
const needFields = e.attr("data-view-source-need-fields");
|
|
448
|
+
if (needFields) {
|
|
449
|
+
const isSet = (v) => v !== null && v !== "" && typeof v !== "undefined";
|
|
450
|
+
if (needFields.split(",").some((k) => !isSet(rec[k]))) return;
|
|
451
|
+
}
|
|
452
|
+
const fml = decodeURIComponent(encFml);
|
|
453
|
+
//console.log("fml", fml);
|
|
454
|
+
|
|
455
|
+
const viewname = e.attr("data-sc-embed-viewname");
|
|
456
|
+
|
|
457
|
+
const newUrl = new Function("row", "return " + fml)(rec);
|
|
458
|
+
//console.log("current-new", current, newUrl);
|
|
459
|
+
|
|
460
|
+
if (current && current == newUrl) return;
|
|
461
|
+
|
|
462
|
+
e.attr("data-view-source-current", newUrl); // to prevent concurrent fetches
|
|
463
|
+
$.ajax(newUrl, {
|
|
464
|
+
headers: {
|
|
465
|
+
pjaxpageload: "true",
|
|
466
|
+
localizedstate: "true", //no admin bar
|
|
467
|
+
},
|
|
468
|
+
success: function (res, textStatus, request) {
|
|
469
|
+
const newE = `<div class="d-inline"
|
|
470
|
+
data-sc-embed-viewname="${viewname}"
|
|
471
|
+
data-sc-view-source="${newUrl}"
|
|
472
|
+
data-view-source-current="${newUrl}"
|
|
473
|
+
data-view-source-need-fields="${needFields}"
|
|
474
|
+
data-view-source="${encFml}">${res}</div>`;
|
|
475
|
+
|
|
476
|
+
e.replaceWith(newE);
|
|
477
|
+
initialize_page();
|
|
478
|
+
},
|
|
479
|
+
error: function (res) {
|
|
480
|
+
if (!checkNetworkError(res))
|
|
481
|
+
notifyAlert({ type: "danger", text: res.responseText });
|
|
482
|
+
},
|
|
483
|
+
});
|
|
484
|
+
});
|
|
431
485
|
$("[data-source-url]").each(function (ix, element) {
|
|
432
486
|
const e = $(element);
|
|
433
487
|
const rec0 = get_form_record(e);
|
|
@@ -1664,8 +1718,10 @@ function press_store_button(clicked, keepOld, disable) {
|
|
|
1664
1718
|
}
|
|
1665
1719
|
|
|
1666
1720
|
function restore_old_button(btnId) {
|
|
1721
|
+
if (window.reset_spinners) reset_spinners();
|
|
1667
1722
|
const btn = btnId instanceof jQuery ? btnId : $(`#${btnId}`);
|
|
1668
1723
|
const oldText = $(btn).data("old-text");
|
|
1724
|
+
if (!oldText.length) reuturn;
|
|
1669
1725
|
btn.html(oldText);
|
|
1670
1726
|
btn.css({ width: "", height: "" }).prop("disabled", false);
|
|
1671
1727
|
btn.removeData("old-text");
|
|
@@ -1689,6 +1745,9 @@ async function common_done(res, viewnameOrElem0, isWeb = true) {
|
|
|
1689
1745
|
for (const current of element) await fn(current);
|
|
1690
1746
|
else await fn(element);
|
|
1691
1747
|
};
|
|
1748
|
+
//TODO what if something else is spinning?
|
|
1749
|
+
if (window.reset_spinners) reset_spinners();
|
|
1750
|
+
|
|
1692
1751
|
const eval_it = async (s) => {
|
|
1693
1752
|
if (res.row && res.field_names) {
|
|
1694
1753
|
const f = new Function(`viewname, row, {${res.field_names}}`, s);
|
|
@@ -1741,7 +1800,7 @@ async function common_done(res, viewnameOrElem0, isWeb = true) {
|
|
|
1741
1800
|
form.append(
|
|
1742
1801
|
`<input type="hidden" name="id" value="${res.set_fields[k]}">`
|
|
1743
1802
|
);
|
|
1744
|
-
|
|
1803
|
+
apply_showif();
|
|
1745
1804
|
return;
|
|
1746
1805
|
}
|
|
1747
1806
|
if (input.attr("type") === "checkbox")
|
|
@@ -1830,29 +1889,6 @@ function editAllowedAuthByRole(id, event) {
|
|
|
1830
1889
|
);
|
|
1831
1890
|
}
|
|
1832
1891
|
|
|
1833
|
-
function reloadEmbeddedEditOwnViews(form, id) {
|
|
1834
|
-
form.find("div[sc-load-on-assign-id]").each(function () {
|
|
1835
|
-
const $e = $(this);
|
|
1836
|
-
const viewname = $e.attr("sc-load-on-assign-id");
|
|
1837
|
-
const newUrl = `/view/${viewname}?id=${id}`;
|
|
1838
|
-
$.ajax(newUrl, {
|
|
1839
|
-
headers: {
|
|
1840
|
-
pjaxpageload: "true",
|
|
1841
|
-
localizedstate: "true", //no admin bar
|
|
1842
|
-
},
|
|
1843
|
-
success: function (res, textStatus, request) {
|
|
1844
|
-
const newE = `<div class="d-inline" data-sc-embed-viewname="${viewname}" data-sc-view-source="${newUrl}">${res}</div>`;
|
|
1845
|
-
$e.replaceWith(newE);
|
|
1846
|
-
initialize_page();
|
|
1847
|
-
},
|
|
1848
|
-
error: function (res) {
|
|
1849
|
-
if (!checkNetworkError(res))
|
|
1850
|
-
notifyAlert({ type: "danger", text: res.responseText });
|
|
1851
|
-
},
|
|
1852
|
-
});
|
|
1853
|
-
});
|
|
1854
|
-
}
|
|
1855
|
-
|
|
1856
1892
|
const repeaterCopyValuesToForm = (form, editor, noTriggerChange) => {
|
|
1857
1893
|
const vs = JSON.parse(editor.getString());
|
|
1858
1894
|
|
|
@@ -1981,7 +2017,8 @@ function unique_field_from_rows(
|
|
|
1981
2017
|
.filter((v) => v !== value)
|
|
1982
2018
|
.map((s) => s.replace(value_wspace, ""))
|
|
1983
2019
|
.map((s) => (numtype ? +s : s))
|
|
1984
|
-
.
|
|
2020
|
+
.filter((s) => (numtype ? !isNaN(s) : true))
|
|
2021
|
+
.sort((a, b) => a - b);
|
|
1985
2022
|
if (stripped.length === 0) newname = `${value_wspace}${gen_char(start)}`;
|
|
1986
2023
|
else {
|
|
1987
2024
|
const i = char_to_i(stripped[stripped.length - 1]);
|
|
@@ -2039,6 +2076,25 @@ function init_room(viewname, room_id) {
|
|
|
2039
2076
|
});
|
|
2040
2077
|
}
|
|
2041
2078
|
|
|
2079
|
+
function init_collab_room(viewname, eventCfgs) {
|
|
2080
|
+
const socket = io({ transports: ["websocket"] });
|
|
2081
|
+
for (const [event, callback] of Object.entries(eventCfgs.events)) {
|
|
2082
|
+
socket.on(event, callback);
|
|
2083
|
+
}
|
|
2084
|
+
socket.on("connect", function () {
|
|
2085
|
+
socket.emit("join_collab_room", viewname, (ack) => {
|
|
2086
|
+
if (ack && ack.status === "ok") {
|
|
2087
|
+
console.log(`Joined collaboration room for view '${viewname}'`);
|
|
2088
|
+
} else {
|
|
2089
|
+
console.error("Failed to join collaboration room:", ack);
|
|
2090
|
+
}
|
|
2091
|
+
});
|
|
2092
|
+
});
|
|
2093
|
+
socket.on("disconnect", function () {
|
|
2094
|
+
console.log("Disconnected from the server");
|
|
2095
|
+
});
|
|
2096
|
+
}
|
|
2097
|
+
|
|
2042
2098
|
function cancel_form(form) {
|
|
2043
2099
|
if (!form) return;
|
|
2044
2100
|
$(form).trigger("reset");
|
|
@@ -2281,6 +2337,22 @@ function formInEmbed(event) {
|
|
|
2281
2337
|
return form;
|
|
2282
2338
|
}
|
|
2283
2339
|
|
|
2340
|
+
function login_from_edit_view(e) {
|
|
2341
|
+
e.stopPropagation();
|
|
2342
|
+
e.preventDefault();
|
|
2343
|
+
const form = $(e.target).closest("form");
|
|
2344
|
+
form.attr("action", "/auth/login");
|
|
2345
|
+
form.submit();
|
|
2346
|
+
}
|
|
2347
|
+
|
|
2348
|
+
function signup_from_edit_view(e) {
|
|
2349
|
+
e.stopPropagation();
|
|
2350
|
+
e.preventDefault();
|
|
2351
|
+
const form = $(e.target).closest("form");
|
|
2352
|
+
form.attr("action", "/auth/signup");
|
|
2353
|
+
form.submit();
|
|
2354
|
+
}
|
|
2355
|
+
|
|
2284
2356
|
function handle_identical_fields(event) {
|
|
2285
2357
|
let form = null;
|
|
2286
2358
|
if (event.srcElement) {
|