@saltcorn/server 1.6.0-alpha.0 → 1.6.0-alpha.2
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/docs/assets/hierarchy.js +1 -1
- package/docs/assets/icons.js +1 -1
- package/docs/assets/icons.svg +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/assets/style.css +3 -3
- package/docs/classes/_saltcorn_admin-models.models_snapshot.Snapshot.html +2 -2
- package/docs/classes/_saltcorn_common-code.relations_relation.Relation.html +3 -3
- package/docs/classes/_saltcorn_common-code.relations_relations_finder.RelationsFinder.html +5 -5
- package/docs/classes/_saltcorn_data.diagram_cy_raster.CytoscapeRaster.html +4 -4
- package/docs/classes/_saltcorn_data.diagram_nodes_dummy_node.DummyNode.html +4 -4
- package/docs/classes/_saltcorn_data.diagram_nodes_node.Node.html +4 -4
- package/docs/classes/_saltcorn_data.diagram_nodes_page_node.PageNode.html +4 -4
- package/docs/classes/_saltcorn_data.diagram_nodes_table_node.TableNode.html +4 -4
- package/docs/classes/_saltcorn_data.diagram_nodes_trigger_node.TriggerNode.html +4 -4
- package/docs/classes/_saltcorn_data.diagram_nodes_view_node.ViewNode.html +4 -4
- package/docs/classes/_saltcorn_data.mobile-mocks_node_async_hooks.AsyncLocalStorage.html +2 -2
- package/docs/classes/_saltcorn_data.models_crash.Crash.html +2 -2
- package/docs/classes/_saltcorn_data.models_eventlog.EventLog.html +2 -2
- package/docs/classes/_saltcorn_data.models_field.Field.html +9 -9
- package/docs/classes/_saltcorn_data.models_fieldrepeat.FieldRepeat.html +2 -2
- package/docs/classes/_saltcorn_data.models_file.File.html +21 -21
- package/docs/classes/_saltcorn_data.models_form.Form.html +3 -2
- package/docs/classes/_saltcorn_data.models_internal_mail_queue.MailQueue.html +4 -4
- package/docs/classes/_saltcorn_data.models_internal_push_message_helper.PushMessageHelper.html +16 -9
- package/docs/classes/_saltcorn_data.models_library.Library.html +2 -2
- package/docs/classes/_saltcorn_data.models_model.Model.html +2 -2
- package/docs/classes/_saltcorn_data.models_model_instance.ModelInstance.html +2 -2
- package/docs/classes/_saltcorn_data.models_notification.Notification.html +2 -2
- package/docs/classes/_saltcorn_data.models_page.Page.html +11 -11
- package/docs/classes/_saltcorn_data.models_page_group.PageGroup.html +16 -16
- package/docs/classes/_saltcorn_data.models_page_group_member.PageGroupMember.html +8 -8
- package/docs/classes/_saltcorn_data.models_plugin.Plugin.html +12 -10
- package/docs/classes/_saltcorn_data.models_role.Role.html +2 -2
- package/docs/classes/_saltcorn_data.models_table.Table.html +73 -69
- package/docs/classes/_saltcorn_data.models_table_constraints.TableConstraint.html +2 -2
- package/docs/classes/_saltcorn_data.models_tag.Tag.html +2 -2
- package/docs/classes/_saltcorn_data.models_tag_entry.TagEntry.html +2 -2
- package/docs/classes/_saltcorn_data.models_trigger.Trigger.html +19 -19
- package/docs/classes/_saltcorn_data.models_user.User.html +32 -32
- package/docs/classes/_saltcorn_data.models_view.View.html +15 -15
- package/docs/classes/_saltcorn_data.models_workflow.Workflow.html +2 -2
- package/docs/classes/_saltcorn_data.models_workflow_run.WorkflowRun.html +2 -2
- package/docs/classes/_saltcorn_data.models_workflow_step.WorkflowStep.html +2 -2
- package/docs/classes/_saltcorn_data.models_workflow_trace.MetaData.html +2 -2
- package/docs/classes/_saltcorn_data.models_workflow_trace.WorkflowTrace.html +2 -2
- package/docs/classes/_saltcorn_mobile-builder.mobile-builder.MobileBuilder.html +6 -3
- package/docs/classes/_saltcorn_mobile-builder.utils_capacitor-helper.CapacitorHelper.html +2 -2
- package/docs/enums/_saltcorn_common-code.relations_relation_types.RelationType.html +2 -2
- package/docs/enums/_saltcorn_common-code.relations_relation_types.ViewDisplayType.html +2 -2
- package/docs/functions/_saltcorn_admin-models.models_config-check.runConfigurationCheck.html +1 -1
- package/docs/functions/_saltcorn_common-code.relations_relation_helpers.buildRelationPath.html +1 -1
- package/docs/functions/_saltcorn_common-code.relations_relation_helpers.buildTableCaches.html +1 -1
- package/docs/functions/_saltcorn_common-code.relations_relation_helpers.parseLegacyRelation.html +1 -1
- package/docs/functions/_saltcorn_common-code.relations_relation_helpers.parseRelationPath.html +1 -1
- package/docs/functions/_saltcorn_common-code.tests_test_data.fixturesData.html +1 -1
- package/docs/functions/_saltcorn_common-code.tests_test_data.withAnotherUserField.html +1 -1
- package/docs/functions/_saltcorn_common-code.tests_test_data.withKeyFromLayerThree.html +1 -1
- package/docs/functions/_saltcorn_common-code.tests_test_data.withKeyFromLayerTwo.html +1 -1
- package/docs/functions/_saltcorn_common-code.tests_test_data.withMultipleInbounds.html +1 -1
- package/docs/functions/_saltcorn_common-code.tests_test_data.withSecondTopicField.html +1 -1
- package/docs/functions/_saltcorn_common-code.tests_test_data.withSimplePostTopicrelation.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_fieldviews.radio_select.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_fieldviews.search_or_create.configFields.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_fieldviews.search_or_create.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_fieldviews.select.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_fieldviews.select_from_table.fill_options.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_fieldviews.select_from_table.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.bool.contract.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.bool.fieldviews.TrueFalse.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.bool.fieldviews.checkboxes.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.bool.fieldviews.edit.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.bool.fieldviews.show.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.bool.fieldviews.tristate.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.bool.listAs.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.bool.read.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.bool.readFromDB.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.bool.readFromFormRecord.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.bool.validate.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.color.contract.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.color.fieldviews.edit.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.color.fieldviews.show.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.color.read.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.color.validate.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.date.contract.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.date.equals.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.edit.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.editDay.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.format.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.relative.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.show.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.showDay.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.yearsAgo.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.date.presets.Now.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.date.read.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.date.validate.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.float.contract.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.float.equals.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.float.fieldviews.edit.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.float.fieldviews.show.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.float.read.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.float.validate.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.int.contract.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.int.read.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.int.validate.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.int.validate_attributes.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.attributes.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.contract.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.as_header.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.as_link.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.as_text.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.edit.configFields.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.edit.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.img_from_url.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.password.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.radio_group.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.textarea.run.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.presets.IP.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.presets.SessionID.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.read.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.validate.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_types.string.validate_attributes.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.action_link.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.action_url.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.fill_presets.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.getForm.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.get_view_link_query.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.get_viewable_fields.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.get_viewable_fields_from_layout.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.make_link.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.objToQueryString.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.parse_view_select.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.setDateLocales.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.splitUniques.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.standardBlockDispatch.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.standardLayoutRowVisitor.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.transformForm.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.updateViewSelect.html +1 -1
- package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.view_linker.html +1 -1
- package/docs/functions/_saltcorn_data.db_connect_mobile.getConnectObject.html +1 -1
- package/docs/functions/_saltcorn_data.db_reset_schema.reset.html +1 -1
- package/docs/functions/_saltcorn_data.diagram_cy_generate_utils.generateCyCode.html +1 -1
- package/docs/functions/_saltcorn_data.diagram_cy_generate_utils.genereateCyCfg.html +1 -1
- package/docs/functions/_saltcorn_data.diagram_node_extract_utils.buildObjectTrees.html +1 -1
- package/docs/functions/_saltcorn_data.diagram_node_extract_utils.extractFromColumns.html +1 -1
- package/docs/functions/_saltcorn_data.diagram_node_extract_utils.extractFromLayout.html +1 -1
- package/docs/functions/_saltcorn_data.diagram_node_extract_utils.extractViewToCreate.html +1 -1
- package/docs/functions/_saltcorn_data.migrate.create_blank_migration.html +1 -1
- package/docs/functions/_saltcorn_data.migrate.getMigrationsInDB.html +1 -1
- package/docs/functions/_saltcorn_data.migrate.migrate.html +1 -1
- package/docs/functions/_saltcorn_data.migrations_202102091312.js.html +1 -1
- package/docs/functions/_saltcorn_data.migrations_202210051058.js.html +1 -1
- package/docs/functions/_saltcorn_data.migrations_202210101540.js.html +1 -1
- package/docs/functions/_saltcorn_data.migrations_202304281224.js.html +1 -1
- package/docs/functions/_saltcorn_data.migrations_202307211459.js.html +1 -1
- package/docs/functions/_saltcorn_data.migrations_202502131103.js.html +1 -1
- package/docs/functions/_saltcorn_data.migrations_202508011455.js.html +1 -1
- package/docs/functions/_saltcorn_data.migrations_202510152058.js.html +1 -1
- package/docs/functions/_saltcorn_data.mobile-mocks_node_child_process.execSync.html +1 -1
- package/docs/functions/_saltcorn_data.mobile-mocks_node_fs.createReadStream.html +1 -1
- package/docs/functions/_saltcorn_data.mobile-mocks_node_fs.readdirSync.html +1 -1
- package/docs/functions/_saltcorn_data.mobile-mocks_node_fs.writeFileSync.html +1 -1
- package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.mkdir.html +1 -1
- package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.readFile.html +1 -1
- package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.stat.html +1 -1
- package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.unlink.html +1 -1
- package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.writeFile.html +1 -1
- package/docs/functions/_saltcorn_data.mobile-mocks_node_latest-version.latestVersion.html +1 -1
- package/docs/functions/_saltcorn_data.mobile-mocks_node_v8.deserialize.html +1 -1
- package/docs/functions/_saltcorn_data.mobile-mocks_node_v8.serialize.html +1 -1
- package/docs/functions/_saltcorn_data.mobile-mocks_npm_env-paths.envPaths.html +1 -1
- package/docs/functions/_saltcorn_data.model-helper.get_predictor.html +1 -1
- package/docs/functions/_saltcorn_data.model-helper.run_jupyter_model.html +1 -1
- package/docs/functions/_saltcorn_data.model-helper.shorten_trackback.html +1 -1
- package/docs/functions/_saltcorn_data.model-helper.write_csv.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_async_json_stream.async_json_stream.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_query.aggregation_query_fields.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_query.getAggAndField.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_query.joinfield_renamer.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_query.process_aggregations.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.buildKeyFromRelative.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.copyObject.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.deleteObject.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.downloadBuffer.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getPublicFileUrl.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getResolvedBucket.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getS3Client.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getServeUrl.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getSignedFileUrl.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.headObject.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.isS3Enabled.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.listS3Folder.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.publicUrlToRelativePath.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.relativeKeyToPath.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.setObjectMetadata.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_s3_helpers.uploadBuffer.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_table_helper.boolExamples.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_table_helper.colorExamples.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_table_helper.floatExamples.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_table_helper.get_formula_examples.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_table_helper.intExamples.html +1 -1
- package/docs/functions/_saltcorn_data.models_internal_table_helper.stringExamples.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.build_schema_data.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.calcfldViewConfig.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.calcfldViewOptions.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.calcrelViewOptions.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.displayType.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.field_picker_fields.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.generate_joined_query.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.getActionConfigFields.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.get_child_views.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.get_inbound_relation_opts.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.get_inbound_self_relation_opts.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.get_link_view_opts.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.get_many_to_many_relation_opts.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.get_parent_views.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.initial_config_all_fields.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.json_list_to_external_table.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.link_view.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.pathToState.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.picked_fields_to_query.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.readState.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.readStateStrict.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.runCollabEvents.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.run_action_column.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.stateFieldsToQuery.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.stateFieldsToWhere.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.stateToQueryString.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-helper.strictParseInt.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-testing.auto_test_plugin.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-testing.check_view_columns.html +1 -1
- package/docs/functions/_saltcorn_data.plugin-testing.generate_attributes.html +1 -1
- package/docs/functions/_saltcorn_data.standard-menu.create_standard_menu.html +1 -1
- package/docs/functions/_saltcorn_data.tests_assertions.assertIsErrorMsg.html +1 -1
- package/docs/functions/_saltcorn_data.tests_assertions.assertIsErrorsMsg.html +1 -1
- package/docs/functions/_saltcorn_data.tests_assertions.assertIsRow.html +1 -1
- package/docs/functions/_saltcorn_data.tests_assertions.assertIsSet.html +1 -1
- package/docs/functions/_saltcorn_data.tests_assertions.assertIsType.html +1 -1
- package/docs/functions/_saltcorn_data.tests_assertions.assertsIsSuccessMessage.html +1 -1
- package/docs/functions/_saltcorn_data.tests_assertions.assertsObjectIsUser.html +1 -1
- package/docs/functions/_saltcorn_data.tests_common_helpers.createAnotherUserField.html +1 -1
- package/docs/functions/_saltcorn_data.tests_common_helpers.createKeyFromLevelTwo.html +1 -1
- package/docs/functions/_saltcorn_data.tests_common_helpers.createLevelThreeInbound.html +1 -1
- package/docs/functions/_saltcorn_data.tests_common_helpers.createMultipleInbounds.html +1 -1
- package/docs/functions/_saltcorn_data.tests_common_helpers.createSecondTopicField.html +1 -1
- package/docs/functions/_saltcorn_data.tests_common_helpers.prepareEmployeeDepartment.html +1 -1
- package/docs/functions/_saltcorn_data.tests_common_helpers.prepareSimpleTopicPostRelation.html +1 -1
- package/docs/functions/_saltcorn_data.tests_remote_query_helper.deleteViewFromServer.html +1 -1
- package/docs/functions/_saltcorn_data.tests_remote_query_helper.prepareQueryEnviroment.html +1 -1
- package/docs/functions/_saltcorn_data.tests_remote_query_helper.sendViewToServer.html +1 -1
- package/docs/functions/_saltcorn_data.translate.hasLLM.html +1 -1
- package/docs/functions/_saltcorn_data.translate.translate.html +1 -1
- package/docs/functions/_saltcorn_db-common.internal.ftsFieldsSqlExpr.html +1 -1
- package/docs/functions/_saltcorn_db-common.internal.mkSelectOptions.html +1 -1
- package/docs/functions/_saltcorn_db-common.internal.mkWhere.html +1 -1
- package/docs/functions/_saltcorn_db-common.internal.orderByIsObject.html +1 -1
- package/docs/functions/_saltcorn_db-common.internal.orderByIsOperator.html +1 -1
- package/docs/functions/_saltcorn_db-common.internal.prefixFieldsInWhere.html +1 -1
- package/docs/functions/_saltcorn_db-common.internal.sqlBinOp.html +1 -1
- package/docs/functions/_saltcorn_db-common.internal.sqlFun.html +1 -1
- package/docs/functions/_saltcorn_db-common.internal.sqlsanitize.html +1 -1
- package/docs/functions/_saltcorn_db-common.internal.sqlsanitizeAllowDots.html +1 -1
- package/docs/functions/_saltcorn_db-common.internal.subSelectWhere.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.sqlite-commons.buildInsertBulkSql.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.buildInsertSql.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.commitAndBeginNewTransaction.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.doCount.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.doDeleteWhere.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.doListScTables.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.doListTables.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.doListUserDefinedTables.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.do_add_index.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.do_drop_index.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.mkVal.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.openOrUseTransaction.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.reprAsJson.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.slugify.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.tryCatchInTransaction.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.whenTransactionisFree.html +1 -1
- package/docs/functions/_saltcorn_db-common.sqlite-commons.withTransaction.html +1 -1
- package/docs/functions/_saltcorn_markup.mktag.mkTag.html +1 -1
- package/docs/functions/_saltcorn_markup.tabs.tabs.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.androidFeatures.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.androidPermissions.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.buildTablesFile.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copyPrepopulatedDb.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copyServerFiles.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copyShareExtFiles.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copySiteLogo.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copyTranslationFiles.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.createSqliteDb.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.decodeProvisioningProfile.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.extractDomain.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.generateAndroidVersionCode.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.hasAuthMethod.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyAndroidManifest.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyAppDelegate.html +1 -0
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyConfigXml.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyGradleConfig.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyInfoPlist.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyXcodeProjectFile.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepAppIcon.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareAppIcon.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareBuildDir.html +3 -3
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareExportOptionsPlist.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareSplashIcon.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareSplashPage.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.runAddEntitlementsScript.html +1 -0
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeCapacitorConfig.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeCfgFile.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeDataExtractionRules.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeEntitlementsPlist.html +1 -0
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeNetworkSecurityConfig.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writePodfile.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writePrivacyInfo.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.bundleMobileAppCode.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.bundlePackagesAndPlugins.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.copyOptionalSource.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.copyPluginMobileAppDirs.html +1 -1
- package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.copyPublicDirs.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.add_index.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.add_unique_constraint.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.count.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.deleteWhere.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.drop_index.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.drop_reset_schema.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.drop_unique_constraint.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.init.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.insert.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.insertRows.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.listScTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.listTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.listUserDefinedTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.query.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.select.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.selectMaybeOne.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.selectOne.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.setConnectionObject.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.tableExists.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.time.html +1 -1
- package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.update.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.add_index.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.add_unique_constraint.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.begin.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.changeConnection.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.close.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.commit.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.count.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.deleteWhere.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.dropTable.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.dropTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.drop_index.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.drop_reset_schema.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.drop_unique_constraint.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.getVersion.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.get_db_filepath.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.get_sql_logging.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.init.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.insert.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.listScTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.listTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.listUserDefinedTables.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.query.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.rollback.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.select.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.selectMaybeOne.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.selectOne.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.set_sql_logging.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.sql_log.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.update.html +1 -1
- package/docs/functions/_saltcorn_sqlite.sqlite.updateWhere.html +1 -1
- package/docs/functions/_saltcorn_types.base_types.instanceOWithHtmlFile.html +1 -1
- package/docs/functions/_saltcorn_types.common_types.instanceOfErrorMsg.html +1 -1
- package/docs/functions/_saltcorn_types.common_types.instanceOfSuccessMsg.html +1 -1
- package/docs/functions/_saltcorn_types.common_types.instanceOfType.html +1 -1
- package/docs/functions/_saltcorn_types.model-abstracts_abstract_field.instanceOfField.html +1 -1
- package/docs/functions/_saltcorn_types.model-abstracts_abstract_page.instanceOfPage.html +1 -1
- package/docs/functions/_saltcorn_types.model-abstracts_abstract_view.instanceOfView.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +4 -2
- package/docs/interfaces/_saltcorn_db-common.dbtypes.UserLike.html +2 -2
- package/docs/interfaces/_saltcorn_markup.types.TagExports.html +2 -2
- package/docs/interfaces/_saltcorn_mobile-builder.utils_common-build-utils.ScCapacitorConfig.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_field.AbstractField.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_field.AbstractFieldRepeat.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_form.AbstractForm.html +3 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_page.AbstractPage.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_page_group.AbstractPageGroup.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_page_group_member.AbstractPageGroupMember.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_role.AbstractRole.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_table.AbstractTable.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_tag.AbstractTag.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_tag_entry.AbstractTagEntry.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_trigger.AbstractTrigger.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_user.AbstractUser.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_user.ForUserRequest.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_view.AbstractView.html +2 -2
- package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_workflow.AbstractWorkflow.html +2 -2
- package/docs/modules/_saltcorn_admin-models.index.html +1 -1
- package/docs/modules/_saltcorn_common-code..html +1 -1
- package/docs/modules/_saltcorn_common-code.index.html +1 -1
- package/docs/modules/_saltcorn_common-code.relations_relation-1.html +1 -1
- package/docs/modules/_saltcorn_common-code.relations_relation_helpers-1.html +1 -1
- package/docs/modules/_saltcorn_common-code.relations_relation_types-1.html +1 -1
- package/docs/modules/_saltcorn_common-code.relations_relations_finder-1.html +1 -1
- package/docs/modules/_saltcorn_data..html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_actions-1.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_fieldviews-1.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_fileview-1.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_index-1.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_index-2.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_types-1.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_viewtemplates_edit-1.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_viewtemplates_feed-1.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_viewtemplates_filter-1.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_viewtemplates_list-1.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_viewtemplates_listshowlist-1.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_viewtemplates_room-2.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_viewtemplates_room-3.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_viewtemplates_show-1.html +1 -1
- package/docs/modules/_saltcorn_data.base-plugin_viewtemplates_viewable_fields-1.html +1 -1
- package/docs/modules/_saltcorn_data.db_connect-1.html +1 -1
- package/docs/modules/_saltcorn_data.db_connect_mobile-1.html +1 -1
- package/docs/modules/_saltcorn_data.db_fa5-icons-1.html +1 -1
- package/docs/modules/_saltcorn_data.db_fixtures-1.html +1 -1
- package/docs/modules/_saltcorn_data.db_index-1.html +1 -1
- package/docs/modules/_saltcorn_data.db_index-2.html +1 -1
- package/docs/modules/_saltcorn_data.db_reset_schema-1.html +1 -1
- package/docs/modules/_saltcorn_data.db_state-1.html +1 -1
- package/docs/modules/_saltcorn_data.html +3 -2
- package/docs/modules/_saltcorn_data.index.html +1 -1
- package/docs/modules/_saltcorn_data.mobile-mocks_npm_apns2.html +1 -0
- package/docs/modules/_saltcorn_data.mobile-mocks_npm_vm2.html +1 -0
- package/docs/modules/_saltcorn_data.mobile-mocks_npm_xml2js.html +1 -0
- package/docs/modules/_saltcorn_data.models_config-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_config.configExports.html +1 -1
- package/docs/modules/_saltcorn_data.models_crash-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_discovery-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_email-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_eventlog-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_eventlog.EventLog.html +1 -1
- package/docs/modules/_saltcorn_data.models_expression-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_field-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_fieldrepeat-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_file-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_file.File.html +1 -1
- package/docs/modules/_saltcorn_data.models_form-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_form.Form.html +1 -1
- package/docs/modules/_saltcorn_data.models_index-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_index.html +1 -1
- package/docs/modules/_saltcorn_data.models_internal_async_json_stream-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_internal_mail_queue-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_internal_push_message_helper-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_internal_push_message_helper.html +1 -1
- package/docs/modules/_saltcorn_data.models_internal_query-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_internal_s3_helpers-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_internal_table_helper-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_layout-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_library-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_model-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_model_instance-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_notification-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_page-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_page_group-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_page_group.PageGroup.html +1 -1
- package/docs/modules/_saltcorn_data.models_page_group_member-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_plugin-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_random-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_role-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_scheduler-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_table-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_table.Table.html +1 -1
- package/docs/modules/_saltcorn_data.models_table_constraints-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_tag-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_tag_entry-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_tag_entry.TagEntry.html +1 -1
- package/docs/modules/_saltcorn_data.models_trigger-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_user-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_view-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_view.View.html +1 -1
- package/docs/modules/_saltcorn_data.models_workflow-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_workflow_run-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_workflow_step-1.html +1 -1
- package/docs/modules/_saltcorn_data.models_workflow_trace-2.html +1 -1
- package/docs/modules/_saltcorn_data.models_workflow_trace-3.html +1 -1
- package/docs/modules/_saltcorn_db-common..html +1 -1
- package/docs/modules/_saltcorn_db-common.index.html +1 -1
- package/docs/modules/_saltcorn_db-common.internal.html +1 -1
- package/docs/modules/_saltcorn_markup.emergency_layout.EmergencyLayoutExports.html +1 -1
- package/docs/modules/_saltcorn_markup.helpers.HelpersExports.html +1 -1
- package/docs/modules/_saltcorn_markup.index.html +1 -1
- package/docs/modules/_saltcorn_markup.layout.LayoutExports-1.html +1 -1
- package/docs/modules/_saltcorn_markup.layout.LayoutExports.html +1 -1
- package/docs/modules/_saltcorn_markup.mjml-layout.LayoutExports.html +1 -1
- package/docs/modules/_saltcorn_markup.table.TableExports.html +1 -1
- package/docs/modules/_saltcorn_mobile-builder..html +1 -1
- package/docs/modules/_saltcorn_mobile-builder.index.html +1 -1
- package/docs/modules/_saltcorn_mobile-builder.utils_common-build-utils.html +1 -1
- package/docs/modules/_saltcorn_sqlite-mobile.index.html +1 -1
- package/docs/modules/_saltcorn_sqlite-mobile.sqlite_capacitor.html +1 -1
- package/docs/modules/_saltcorn_sqlite..html +1 -1
- package/docs/modules/_saltcorn_sqlite.index.html +1 -1
- package/docs/modules/_saltcorn_sqlite.sqlite.html +1 -1
- package/docs/modules/_saltcorn_types..Types.html +1 -1
- package/docs/modules/_saltcorn_types..html +1 -1
- package/docs/modules/_saltcorn_types.index.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_event_log-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_field-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_form-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_library-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_model-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_model_instance-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_page-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_page_group-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_page_group_member-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_plugin-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_role-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_table-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_tag-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_tag_entry-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_trigger-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_user-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_view-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_workflow-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_workflow_run-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_workflow_step-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_abstract_workflow_trace-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_index-1.html +1 -1
- package/docs/modules/_saltcorn_types.model-abstracts_index.ModelAbstracts.html +1 -1
- package/docs/types/_saltcorn_data.diagram_node_extract_utils.ExtractOpts.html +2 -2
- package/docs/types/_saltcorn_data.diagram_node_extract_utils.ExtractResult.html +2 -2
- package/docs/types/_saltcorn_data.diagram_nodes_node.NodeType.html +1 -1
- package/docs/types/_saltcorn_data.models_config.ConfigTypes.html +1 -1
- package/docs/types/_saltcorn_data.models_config.SingleConfig.html +1 -1
- package/docs/types/_saltcorn_data.models_eventlog.EventLogCfg.html +2 -2
- package/docs/types/_saltcorn_data.models_file.FileCfg.html +2 -2
- package/docs/types/_saltcorn_data.models_form.AdditionalButton.html +1 -1
- package/docs/types/_saltcorn_data.models_form.FormCfg.html +3 -2
- package/docs/types/_saltcorn_data.models_internal_push_message_helper.FcmSubscription.html +2 -2
- package/docs/types/_saltcorn_data.models_internal_push_message_helper.MobileSubscription.html +4 -0
- package/docs/types/_saltcorn_data.models_internal_push_message_helper.Subscription.html +1 -1
- package/docs/types/_saltcorn_data.models_internal_push_message_helper.WebPushSubscription.html +2 -2
- package/docs/types/_saltcorn_data.models_internal_s3_helpers.S3HeadResult.html +1 -1
- package/docs/types/_saltcorn_data.models_internal_s3_helpers.S3ListResult.html +2 -2
- package/docs/types/_saltcorn_data.models_page_group.ScreenInfoParams.html +2 -2
- package/docs/types/_saltcorn_data.models_table.ChildRelations.html +2 -2
- package/docs/types/_saltcorn_data.models_table.ParentRelations.html +2 -2
- package/docs/types/_saltcorn_data.models_table.RelationData.html +2 -2
- package/docs/types/_saltcorn_data.models_tag_entry.TagEntryCfg.html +1 -1
- package/docs/types/_saltcorn_data.models_view.FindViewsPred.html +1 -1
- package/docs/types/_saltcorn_db-common.dbtypes.AggregationOptions.html +2 -2
- package/docs/types/_saltcorn_db-common.dbtypes.CoordOpts.html +2 -2
- package/docs/types/_saltcorn_db-common.dbtypes.DatabaseClient.html +2 -2
- package/docs/types/_saltcorn_db-common.dbtypes.JoinField.html +2 -2
- package/docs/types/_saltcorn_db-common.dbtypes.JoinFields.html +1 -1
- package/docs/types/_saltcorn_db-common.dbtypes.JoinOptions.html +1 -1
- package/docs/types/_saltcorn_db-common.dbtypes.JsonPath.html +1 -1
- package/docs/types/_saltcorn_db-common.dbtypes.JsonPathElem.html +1 -1
- package/docs/types/_saltcorn_db-common.dbtypes.Operator.html +1 -1
- package/docs/types/_saltcorn_db-common.dbtypes.PartialSome.html +1 -1
- package/docs/types/_saltcorn_db-common.dbtypes.PrimaryKeyValue.html +1 -1
- package/docs/types/_saltcorn_db-common.dbtypes.Row.html +1 -1
- package/docs/types/_saltcorn_db-common.dbtypes.SelectOptions.html +2 -2
- package/docs/types/_saltcorn_db-common.dbtypes.StrongRow.html +1 -1
- package/docs/types/_saltcorn_db-common.dbtypes.SubselectOptions.html +2 -2
- package/docs/types/_saltcorn_db-common.dbtypes.Value.html +1 -1
- package/docs/types/_saltcorn_db-common.dbtypes.Where.html +2 -2
- package/docs/types/_saltcorn_db-common.sqlite-commons.SqlAndValues.html +2 -2
- package/docs/types/_saltcorn_db-common.types.DbExportsType.html +2 -2
- package/docs/types/_saltcorn_db-common.types.GenObj.html +1 -1
- package/docs/types/_saltcorn_markup.emergency_layout.WrapParams.html +2 -2
- package/docs/types/_saltcorn_markup.helpers.CheckBoxGroupOpts.html +2 -2
- package/docs/types/_saltcorn_markup.helpers.PaginationOpts.html +2 -2
- package/docs/types/_saltcorn_markup.helpers.RadioGroupOpts.html +2 -2
- package/docs/types/_saltcorn_markup.helpers.SearchBarOpts.html +2 -2
- package/docs/types/_saltcorn_markup.layout.RenderOpts-1.html +2 -2
- package/docs/types/_saltcorn_markup.layout.RenderOpts.html +2 -2
- package/docs/types/_saltcorn_markup.mjml-layout.RenderOpts.html +2 -2
- package/docs/types/_saltcorn_markup.table.HeadersParams.html +2 -2
- package/docs/types/_saltcorn_markup.table.OptsParams.html +2 -2
- package/docs/types/_saltcorn_markup.types.AttributeVal.html +1 -1
- package/docs/types/_saltcorn_markup.types.Attributes.html +2 -2
- package/docs/types/_saltcorn_markup.types.ClassVal.html +1 -1
- package/docs/types/_saltcorn_markup.types.Element.html +1 -1
- package/docs/types/_saltcorn_markup.types.Falsy.html +1 -1
- package/docs/types/_saltcorn_markup.types.StyleVal.html +1 -1
- package/docs/types/_saltcorn_markup.types.TagFunction.html +1 -1
- package/docs/types/_saltcorn_mobile-builder.mobile-builder.IosCfg.html +4 -3
- package/docs/types/_saltcorn_mobile-builder.utils_capacitor-helper.CapacitorCfg.html +2 -2
- package/docs/types/_saltcorn_types.base_types.Action.html +3 -3
- package/docs/types/_saltcorn_types.base_types.AuthenticationMethod.html +2 -2
- package/docs/types/_saltcorn_types.base_types.CalcJoinfield.html +2 -2
- package/docs/types/_saltcorn_types.base_types.CapacitorPlugin.html +2 -2
- package/docs/types/_saltcorn_types.base_types.CodePagePack.html +2 -2
- package/docs/types/_saltcorn_types.base_types.Column.html +2 -2
- package/docs/types/_saltcorn_types.base_types.ConnectObjType.html +2 -2
- package/docs/types/_saltcorn_types.base_types.ConnectedObjects.html +2 -2
- package/docs/types/_saltcorn_types.base_types.CopilotSkill.html +2 -2
- package/docs/types/_saltcorn_types.base_types.ErrorObj.html +2 -2
- package/docs/types/_saltcorn_types.base_types.FieldLike.html +1 -1
- package/docs/types/_saltcorn_types.base_types.FieldView.html +1 -1
- package/docs/types/_saltcorn_types.base_types.Header.html +2 -2
- package/docs/types/_saltcorn_types.base_types.JoinFieldOption.html +2 -2
- package/docs/types/_saltcorn_types.base_types.Layout.html +1 -1
- package/docs/types/_saltcorn_types.base_types.MobileConfig.html +3 -2
- package/docs/types/_saltcorn_types.base_types.ModelPattern.html +6 -6
- package/docs/types/_saltcorn_types.base_types.Pack.html +2 -2
- package/docs/types/_saltcorn_types.base_types.Plugin.html +1 -1
- package/docs/types/_saltcorn_types.base_types.PluginFunction.html +2 -2
- package/docs/types/_saltcorn_types.base_types.PluginLayout.html +2 -2
- package/docs/types/_saltcorn_types.base_types.PluginRoute.html +2 -2
- package/docs/types/_saltcorn_types.base_types.PluginSourceType.html +1 -1
- package/docs/types/_saltcorn_types.base_types.PluginType.html +2 -2
- package/docs/types/_saltcorn_types.base_types.PluginWrap.html +1 -1
- package/docs/types/_saltcorn_types.base_types.PluginWrapArg.html +2 -2
- package/docs/types/_saltcorn_types.base_types.RelationOption.html +2 -2
- package/docs/types/_saltcorn_types.base_types.Req.html +2 -2
- package/docs/types/_saltcorn_types.base_types.Res.html +2 -2
- package/docs/types/_saltcorn_types.base_types.ResultType.html +2 -2
- package/docs/types/_saltcorn_types.base_types.RouteAction.html +1 -1
- package/docs/types/_saltcorn_types.base_types.RunExtra.html +1 -1
- package/docs/types/_saltcorn_types.base_types.SlugStepType.html +2 -2
- package/docs/types/_saltcorn_types.base_types.StepResType.html +1 -1
- package/docs/types/_saltcorn_types.base_types.SubField.html +2 -2
- package/docs/types/_saltcorn_types.base_types.TableProvider.html +2 -2
- package/docs/types/_saltcorn_types.base_types.TableQuery.html +2 -2
- package/docs/types/_saltcorn_types.base_types.Tablely.html +1 -1
- package/docs/types/_saltcorn_types.base_types.ViewTemplate.html +2 -2
- package/docs/types/_saltcorn_types.common_types.ErrorMessage.html +2 -2
- package/docs/types/_saltcorn_types.common_types.GenObj.html +1 -1
- package/docs/types/_saltcorn_types.common_types.ReqRes.html +2 -2
- package/docs/types/_saltcorn_types.common_types.ResultMessage.html +1 -1
- package/docs/types/_saltcorn_types.common_types.SuccessMessage.html +2 -2
- package/docs/types/_saltcorn_types.common_types.Type.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_event_log.EventLogPack.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_field.FieldCfg.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_field.InputType.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_form.AdditionalButton.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_library.LibraryCfg.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_library.LibraryPack.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_model.ModelCfg.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_model.ModelPack.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_model_instance.ModelInstanceCfg.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_model_instance.ModelInstancePack.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_page.PageCfg.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_page.PagePack.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_page_group.PageGroupCfg.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_page_group.PageGroupPack.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_page_group_member.PageGroupMemberCfg.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_page_group_member.PageGroupMemberPack.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_plugin.PluginCfg.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_plugin.PluginPack.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_role.RoleCfg.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_role.RolePack.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_table.TableCfg.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_table.TablePack.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_tag.TagPack.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_tag_entry.TagEntryPack.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_trigger.TriggerCfg.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_trigger.TriggerPack.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_view.ViewCfg.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_view.ViewPack.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow.ConfigWorkflowStep.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow.RunResult.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow_run.WorkflowRunCfg.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow_step.WorkflowStepCfg.html +2 -2
- package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow_step.WorkflowStepPack.html +1 -1
- package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow_trace.WorkflowTraceCfg.html +2 -2
- package/docs/variables/_saltcorn_admin-models..backup.create_backup.html +1 -1
- package/docs/variables/_saltcorn_admin-models..backup.create_csv_from_rows.html +1 -1
- package/docs/variables/_saltcorn_admin-models..backup.restore.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.add_to_menu.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.can_install_pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.fetch_available_packs.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.fetch_pack_by_name.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.install_pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.library_pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.model_instance_pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.model_pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.page_group_pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.page_pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.plugin_pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.role_pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.table_pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.trigger_pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.uninstall_pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models..pack.view_pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models..tenant.copy_tenant_template.html +1 -1
- package/docs/variables/_saltcorn_admin-models..tenant.create_tenant.html +1 -1
- package/docs/variables/_saltcorn_admin-models..tenant.deleteTenant.html +1 -1
- package/docs/variables/_saltcorn_admin-models..tenant.domain_sanitize.html +1 -1
- package/docs/variables/_saltcorn_admin-models..tenant.eachTenant.html +1 -1
- package/docs/variables/_saltcorn_admin-models..tenant.getAllTenantRows.html +1 -1
- package/docs/variables/_saltcorn_admin-models..tenant.getAllTenants.html +1 -1
- package/docs/variables/_saltcorn_admin-models..tenant.insertTenant.html +1 -1
- package/docs/variables/_saltcorn_admin-models..tenant.switchToTenant.html +1 -1
- package/docs/variables/_saltcorn_admin-models.models_backup.backup.html +1 -1
- package/docs/variables/_saltcorn_admin-models.pack.pack.html +1 -1
- package/docs/variables/_saltcorn_admin-models.tenant.tenant.html +1 -1
- package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedFive.html +1 -1
- package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedFour.html +1 -1
- package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedOne.html +1 -1
- package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedSix.html +1 -1
- package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedThree.html +1 -1
- package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedTwo.html +1 -1
- package/docs/variables/_saltcorn_data..migrations.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_data.base-plugin_actions.actions.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.radio_select.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.radio_select.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.radio_select.type.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.search_join_field.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.search_or_create.blockDisplay.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.search_or_create.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.search_or_create.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.search_or_create.type.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select.blockDisplay.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select.configFields.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select.type.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_by_code.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_by_view.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_from_table.blockDisplay.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_from_table.configFields.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_from_table.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_from_table.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_from_table.type.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fieldviews.two_level_select.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_fileview.fileview.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_index.index.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.attributes.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.TrueFalse.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.TrueFalse.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.checkboxes.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.checkboxes.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.edit.configFields.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.edit.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.edit.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.show.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.show.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.show_with_html.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.switch.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.thumbs_up_down.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.tristate.configFields.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.tristate.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.tristate.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.js_type.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.name.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.bool.sql_name.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.color.attributes.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.color.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.color.fieldviews.edit.blockDisplay.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.color.fieldviews.edit.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.color.fieldviews.edit.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.color.fieldviews.show.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.color.fieldviews.show.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.color.fieldviews.show_with_html.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.color.js_type.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.color.name.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.color.sql_name.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.attributes.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.edit.blockDisplay.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.edit.configFields.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.edit.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.edit.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.editDay.blockDisplay.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.editDay.configFields.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.editDay.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.editDay.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.format.configFields.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.format.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.format.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.relative.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.relative.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.show.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.show.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.showDay.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.showDay.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.show_with_html.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.yearsAgo.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.yearsAgo.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.js_type.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.name.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.date.sql_name.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.attributes.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.distance_operators.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.above_input.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.below_input.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.edit.blockDisplay.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.edit.configFields.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.edit.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.edit.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.heat_cell.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.number_slider.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.progress_bar.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.range_interval.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.show.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.show.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.show_with_html.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.to_locale_string.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.js_type.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.name.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.float.sql_name.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.int.attributes.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.int.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.int.distance_operators.near.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.int.fieldviews.html +2 -2
- package/docs/variables/_saltcorn_data.base-plugin_types.int.js_type.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.int.name.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.int.primaryKey.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.int.sql_name.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_header.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_header.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_link.configFields.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_link.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_link.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_text.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_text.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.checkbox_group.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.code.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.code_editor.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.edit.blockDisplay.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.edit.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.edit.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.ellipsize.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.fill_formula_btn.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.img_from_url.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.img_from_url.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.make_unique.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.monospace_block.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.password.blockDisplay.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.password.configFields.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.password.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.password.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.preFormatted.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.radio_group.configFields.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.radio_group.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.radio_group.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.select_by_code.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.show_with_html.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.textarea.blockDisplay.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.textarea.configFields.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.textarea.description.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.textarea.isEdit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.js_type.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.name.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_types.string.sql_name.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_edit.edit.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_feed.feed.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_filter.filter.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_list.list.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_listshowlist.listshowlist.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_room.room-1.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_room.room.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_show.show.html +1 -1
- package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.edit_build_in_actions.html +1 -1
- package/docs/variables/_saltcorn_data.contract.fieldlike.html +1 -1
- package/docs/variables/_saltcorn_data.contract.is_column.html +1 -1
- package/docs/variables/_saltcorn_data.contract.is_header.html +1 -1
- package/docs/variables/_saltcorn_data.contract.is_pack.html +1 -1
- package/docs/variables/_saltcorn_data.contract.is_plugin.html +1 -1
- package/docs/variables/_saltcorn_data.contract.is_plugin_layout.html +1 -1
- package/docs/variables/_saltcorn_data.contract.is_plugin_type.html +1 -1
- package/docs/variables/_saltcorn_data.contract.is_plugin_wrap.html +1 -1
- package/docs/variables/_saltcorn_data.contract.is_plugin_wrap_arg.html +1 -1
- package/docs/variables/_saltcorn_data.contract.is_table_query.html +1 -1
- package/docs/variables/_saltcorn_data.contract.is_tablely.html +1 -1
- package/docs/variables/_saltcorn_data.contract.is_viewtemplate.html +1 -1
- package/docs/variables/_saltcorn_data.db_connect.connect.html +1 -1
- package/docs/variables/_saltcorn_data.db_fa5-icons.fa5Icons.html +1 -1
- package/docs/variables/_saltcorn_data.db_fixtures.fixtures.html +1 -1
- package/docs/variables/_saltcorn_data.db_index.dbExports.html +1 -1
- package/docs/variables/_saltcorn_data.db_state.state.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202005141503.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202005241712.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202005251037.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202005282134.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202006022156.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202006051507.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202006240906.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202007091707.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202007202144.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202008031500.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202008051415.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202008121149.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202008121149.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202009112140.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202009112140.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202009181655.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202009221105.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202009231331.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202009301531.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202010231444.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202010251412.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202011021749.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202011051353.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202011111127.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202012011203.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202012100841.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202012281835.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202101061051.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202101141128.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202102091312.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202102101624.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202102172148.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202102261650.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202106102347.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202106112120.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202106120012.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202106120220.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202106121701.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202106121703.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202106121703.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202106251126.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202107281619.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202107302158.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202107302158.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202108022257.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202109201624.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202109301031.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202109301031.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202111290253.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202111290253.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202112282254.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202112282254.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202207022002.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202207252150.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202207252150.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202207261221.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202208101144.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202208101144.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202211040031.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202212112152.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202212112152.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202301130917.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202303201126.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202303201126.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202303221944.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202303221944.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202304281224.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202305031518.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202305031518.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202308211648.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202311011755.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202311011755.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202311231356.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202402071125.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202406260915.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202412051957.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202412051957.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202412111526.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202412111526.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202501081226.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202501081226.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202501201239.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202501262157.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202503071353.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202506050958.sql.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202510110312.sql_pg.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202510110312.sql_sqlite.html +1 -1
- package/docs/variables/_saltcorn_data.migrations_202511081024.sql.html +1 -1
- package/docs/variables/_saltcorn_data.mobile-mocks_saltcorn_html-pdf-node.htmlPdfNode.html +1 -1
- package/docs/variables/_saltcorn_data.models_config.configExports.html +1 -1
- package/docs/variables/_saltcorn_data.models_discovery.discovery.html +1 -1
- package/docs/variables/_saltcorn_data.models_email.email.html +1 -1
- package/docs/variables/_saltcorn_data.models_expression.expression.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.config.available_languages.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.config.check_email_mask.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.config.configTypes.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.config.deleteConfig.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.config.getAllConfig.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.config.getConfig.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.config.get_base_url.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.config.get_latest_npm_version.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.config.remove_from_menu.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.config.save_menu_items.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.config.setConfig.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.discovery.discover_tables.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.discovery.discoverable_tables.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.discovery.findType.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.discovery.get_existing_views.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.discovery.implement_discovery.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.email.getMailTransport.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.email.send_verification_email.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.email.viewToEmailHtml.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.expression.apply_calculated_fields.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.expression.apply_calculated_fields_stored.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.expression.eval_expression.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.expression.expressionValidator.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.expression.get_async_expression_function.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.expression.get_expression_function.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.expression.jsexprToWhere.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.expression.recalculate_for_stored.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.expression.transform_for_async.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.layout.eachView.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.layout.getStringsForI18n.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.layout.getViews.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.layout.translateLayout.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.layout.traverse.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.layout.traverseSync.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.random.all_views.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.random.fill_table_row.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.random.initial_view.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.random.random_table.html +1 -1
- package/docs/variables/_saltcorn_data.models_index.scheduler.runScheduler.html +1 -1
- package/docs/variables/_saltcorn_data.models_layout.layout.html +1 -1
- package/docs/variables/_saltcorn_data.models_random.random.html +1 -1
- package/docs/variables/_saltcorn_data.models_scheduler.scheduler.html +1 -1
- package/docs/variables/_saltcorn_data.plugin-helper.add_free_variables_to_joinfields.html +1 -1
- package/docs/variables/_saltcorn_data.plugin-helper.sqlBinOp.html +1 -1
- package/docs/variables/_saltcorn_data.plugin-helper.sqlFun.html +1 -1
- package/docs/variables/_saltcorn_data.tests_mocks.mocks.html +1 -1
- package/docs/variables/_saltcorn_data.tests_remote_query_helper.renderEditInEditConfig.html +1 -1
- package/docs/variables/_saltcorn_data.utils.utils.html +3 -3
- package/docs/variables/_saltcorn_data.web-mobile-commons.webMobileCommons.html +1 -1
- package/docs/variables/_saltcorn_db-common.internal.dbCommonModulePath.html +1 -1
- package/docs/variables/_saltcorn_db-common.multi-tenant.tenantNamespace.html +1 -1
- package/docs/variables/_saltcorn_db-common.tenants.tenants.html +1 -1
- package/docs/variables/_saltcorn_markup..export_.html +1 -1
- package/docs/variables/_saltcorn_markup.builder.builder.html +1 -1
- package/docs/variables/_saltcorn_markup.emergency_layout.EmergencyLayoutExports.html +1 -1
- package/docs/variables/_saltcorn_markup.form.form.html +1 -1
- package/docs/variables/_saltcorn_markup.helpers.HelpersExports.html +1 -1
- package/docs/variables/_saltcorn_markup.layout.LayoutExports-1.html +1 -1
- package/docs/variables/_saltcorn_markup.layout.LayoutExports.html +1 -1
- package/docs/variables/_saltcorn_markup.layout_utils.layoutUtils.html +1 -1
- package/docs/variables/_saltcorn_markup.mjml-layout.LayoutExports.html +1 -1
- package/docs/variables/_saltcorn_markup.mjml-tags.tagsExports.html +1 -1
- package/docs/variables/_saltcorn_markup.table.TableExports.html +1 -1
- package/docs/variables/_saltcorn_markup.tags.tagsExports.html +1 -1
- package/docs/variables/_saltcorn_types..generators.generateBool.html +1 -1
- package/docs/variables/_saltcorn_types..generators.generateString.html +1 -1
- package/docs/variables/_saltcorn_types..generators.num_between.html +1 -1
- package/docs/variables/_saltcorn_types..generators.oneOf.html +1 -1
- package/docs/variables/_saltcorn_types.generators.generators.html +1 -1
- package/help/APN Signing Key.tmd +31 -0
- package/help/Provisioning Profile.tmd +1 -1
- package/help/iOS Build tools.tmd +18 -0
- package/load_plugins.js +25 -8
- package/package.json +9 -9
- package/public/saltcorn-common.js +28 -43
- package/public/saltcorn-mobile.css +5 -0
- package/public/saltcorn.js +33 -36
- package/routes/admin.js +1258 -936
- package/routes/files.js +191 -0
- package/routes/notifications.js +7 -18
- package/routes/plugins.js +1 -0
- package/routes/registry.js +1 -0
- package/routes/sync.js +3 -1
- package/serve.js +4 -0
- package/tests/files.test.js +116 -9
package/routes/admin.js
CHANGED
|
@@ -2345,26 +2345,377 @@ const checkXcodebuild = () => {
|
|
|
2345
2345
|
resolve({ installed: false });
|
|
2346
2346
|
} else {
|
|
2347
2347
|
const tokens = stdout.split(" ");
|
|
2348
|
+
const version = tokens.length > 1 ? tokens[1] : undefined;
|
|
2348
2349
|
resolve({
|
|
2349
2350
|
installed: true,
|
|
2350
|
-
version:
|
|
2351
|
+
version: version,
|
|
2352
|
+
fullfilled: version ? versFullfilled(version, 11) : false,
|
|
2351
2353
|
});
|
|
2352
2354
|
}
|
|
2353
2355
|
});
|
|
2354
2356
|
});
|
|
2355
2357
|
};
|
|
2356
2358
|
|
|
2357
|
-
const
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2359
|
+
const checkCocoaPods = () => {
|
|
2360
|
+
return new Promise((resolve) => {
|
|
2361
|
+
exec("pod --version", (error, stdout, stderr) => {
|
|
2362
|
+
if (error) {
|
|
2363
|
+
resolve({ installed: false });
|
|
2364
|
+
} else {
|
|
2365
|
+
const version = stdout?.length > 1 ? stdout : undefined;
|
|
2366
|
+
resolve({
|
|
2367
|
+
installed: true,
|
|
2368
|
+
version: version,
|
|
2369
|
+
fullfilled: version ? versFullfilled(version, 1) : false,
|
|
2370
|
+
});
|
|
2371
|
+
}
|
|
2372
|
+
});
|
|
2365
2373
|
});
|
|
2366
2374
|
};
|
|
2367
2375
|
|
|
2376
|
+
const versFullfilled = (version, minMajVersion) => {
|
|
2377
|
+
const vTokens = version.split(".");
|
|
2378
|
+
const majVers = parseInt(vTokens[0]);
|
|
2379
|
+
return majVers >= minMajVersion;
|
|
2380
|
+
};
|
|
2381
|
+
|
|
2382
|
+
/**
|
|
2383
|
+
* iOS Config Box
|
|
2384
|
+
* @param {any} param0
|
|
2385
|
+
*/
|
|
2386
|
+
const buildIosConfigBox = ({
|
|
2387
|
+
req,
|
|
2388
|
+
isMac,
|
|
2389
|
+
xcodebuildAvailable,
|
|
2390
|
+
xcodebuildVersion,
|
|
2391
|
+
cocoaPodsAvailable,
|
|
2392
|
+
cocoaPodsVersion,
|
|
2393
|
+
provisioningFiles,
|
|
2394
|
+
allAppCfgFiles,
|
|
2395
|
+
builderSettings,
|
|
2396
|
+
}) => {
|
|
2397
|
+
const xCodeFullfilled = versFullfilled(xcodebuildVersion || "0.0.0", 11);
|
|
2398
|
+
const cocoaPodsFullfilled = versFullfilled(cocoaPodsVersion || "0.0.0", 1);
|
|
2399
|
+
const keyCfg = getState().getConfig("apn_signing_key", "");
|
|
2400
|
+
const apnSigningKey = keyCfg ? path.basename(keyCfg) : null;
|
|
2401
|
+
|
|
2402
|
+
// xcodebuild and cocoapods infos
|
|
2403
|
+
const toolsInfoBox = () => {
|
|
2404
|
+
return div(
|
|
2405
|
+
{ class: "row pb-3 pt-2" },
|
|
2406
|
+
div(
|
|
2407
|
+
h5(
|
|
2408
|
+
{ class: "form-label mb-3" },
|
|
2409
|
+
req.__("Build tools") +
|
|
2410
|
+
a(
|
|
2411
|
+
{
|
|
2412
|
+
href: "javascript:ajax_modal('/admin/help/iOS Build tools?')",
|
|
2413
|
+
},
|
|
2414
|
+
i({ class: "fas fa-question-circle ps-1" })
|
|
2415
|
+
)
|
|
2416
|
+
)
|
|
2417
|
+
),
|
|
2418
|
+
div(
|
|
2419
|
+
{ class: "col-sm-12" },
|
|
2420
|
+
isMac
|
|
2421
|
+
? div(
|
|
2422
|
+
div(
|
|
2423
|
+
{
|
|
2424
|
+
id: "iosBuilderStatusId",
|
|
2425
|
+
class: "row",
|
|
2426
|
+
},
|
|
2427
|
+
// xcodebuild status
|
|
2428
|
+
div(
|
|
2429
|
+
{ class: "col-sm-4" },
|
|
2430
|
+
div({ class: "fw-bold form-label label" }, "xcodebuild"),
|
|
2431
|
+
span(
|
|
2432
|
+
{ id: "xcodebuildStatusId" },
|
|
2433
|
+
xcodebuildAvailable
|
|
2434
|
+
? xcodebuildVersion
|
|
2435
|
+
: req.__("not available"),
|
|
2436
|
+
i({
|
|
2437
|
+
class: `fas p-2 ${
|
|
2438
|
+
xCodeFullfilled
|
|
2439
|
+
? "fa-check text-success"
|
|
2440
|
+
: "fa-times text-danger"
|
|
2441
|
+
}`,
|
|
2442
|
+
})
|
|
2443
|
+
)
|
|
2444
|
+
),
|
|
2445
|
+
// refresh button
|
|
2446
|
+
div(
|
|
2447
|
+
{ class: "col-sm-4" },
|
|
2448
|
+
span(
|
|
2449
|
+
{
|
|
2450
|
+
role: "button",
|
|
2451
|
+
onClick: "check_ios_build_deps()",
|
|
2452
|
+
},
|
|
2453
|
+
span({ class: "ps-3" }, req.__("refresh")),
|
|
2454
|
+
i({ class: "ps-2 fas fa-undo" })
|
|
2455
|
+
)
|
|
2456
|
+
)
|
|
2457
|
+
),
|
|
2458
|
+
div(
|
|
2459
|
+
{
|
|
2460
|
+
class: "row",
|
|
2461
|
+
},
|
|
2462
|
+
// cocoapods status
|
|
2463
|
+
div(
|
|
2464
|
+
{ class: "col-sm-4" },
|
|
2465
|
+
div({ class: "fw-bold form-label label" }, "cocoapods"),
|
|
2466
|
+
span(
|
|
2467
|
+
{ id: "cocoapodsStatusId" },
|
|
2468
|
+
cocoaPodsAvailable
|
|
2469
|
+
? span(cocoaPodsVersion)
|
|
2470
|
+
: span(req.__("not available")),
|
|
2471
|
+
i({
|
|
2472
|
+
class: `fas p-2 ${
|
|
2473
|
+
cocoaPodsFullfilled
|
|
2474
|
+
? "fa-check text-success"
|
|
2475
|
+
: "fa-times text-danger"
|
|
2476
|
+
}`,
|
|
2477
|
+
})
|
|
2478
|
+
)
|
|
2479
|
+
)
|
|
2480
|
+
)
|
|
2481
|
+
)
|
|
2482
|
+
: span(
|
|
2483
|
+
req.__("Not a Mac OS system"),
|
|
2484
|
+
i({
|
|
2485
|
+
class: "ps-2 fas",
|
|
2486
|
+
})
|
|
2487
|
+
)
|
|
2488
|
+
)
|
|
2489
|
+
);
|
|
2490
|
+
};
|
|
2491
|
+
|
|
2492
|
+
const provisioningFilesBox = () => {
|
|
2493
|
+
return (
|
|
2494
|
+
div(
|
|
2495
|
+
h5(
|
|
2496
|
+
{ class: "form-label mb-3" },
|
|
2497
|
+
req.__("Provisioning profiles"),
|
|
2498
|
+
|
|
2499
|
+
a(
|
|
2500
|
+
{
|
|
2501
|
+
href: "javascript:ajax_modal('/admin/help/Provisioning Profile?')",
|
|
2502
|
+
},
|
|
2503
|
+
i({ class: "fas fa-question-circle ps-1" })
|
|
2504
|
+
)
|
|
2505
|
+
)
|
|
2506
|
+
) +
|
|
2507
|
+
// Build without provisioning profile
|
|
2508
|
+
div(
|
|
2509
|
+
{ class: "row pb-2 my-2" },
|
|
2510
|
+
div(
|
|
2511
|
+
{ class: "col-sm-10" },
|
|
2512
|
+
input({
|
|
2513
|
+
type: "checkbox",
|
|
2514
|
+
id: "buildWithoutProfileId",
|
|
2515
|
+
class: "form-check-input me-2 mb-0 ",
|
|
2516
|
+
name: "noProvisioningProfile",
|
|
2517
|
+
checked: builderSettings.noProvisioningProfile === "on",
|
|
2518
|
+
}),
|
|
2519
|
+
label(
|
|
2520
|
+
{
|
|
2521
|
+
for: "buildWithoutProfileId",
|
|
2522
|
+
class: "form-label fw-bold mb-0",
|
|
2523
|
+
},
|
|
2524
|
+
req.__("No Provisioning Profile")
|
|
2525
|
+
),
|
|
2526
|
+
div(),
|
|
2527
|
+
i(
|
|
2528
|
+
req.__(
|
|
2529
|
+
"Only create the project directory without building an .ipa file. " +
|
|
2530
|
+
"This can be useful if you want to open the project in Xcode and run it in the Simulator."
|
|
2531
|
+
)
|
|
2532
|
+
)
|
|
2533
|
+
)
|
|
2534
|
+
) +
|
|
2535
|
+
// App Provisioning profile
|
|
2536
|
+
div(
|
|
2537
|
+
{ class: "row pb-3" },
|
|
2538
|
+
div(
|
|
2539
|
+
{ class: "col-sm-10" },
|
|
2540
|
+
label(
|
|
2541
|
+
{
|
|
2542
|
+
for: "provisioningProfileInputId",
|
|
2543
|
+
class: "form-label fw-bold",
|
|
2544
|
+
},
|
|
2545
|
+
req.__("Provisioning Profile")
|
|
2546
|
+
),
|
|
2547
|
+
select(
|
|
2548
|
+
{
|
|
2549
|
+
class: "form-select",
|
|
2550
|
+
name: "provisioningProfile",
|
|
2551
|
+
id: "provisioningProfileInputId",
|
|
2552
|
+
},
|
|
2553
|
+
[
|
|
2554
|
+
option({ value: "" }, ""),
|
|
2555
|
+
...provisioningFiles.map((file) =>
|
|
2556
|
+
option(
|
|
2557
|
+
{
|
|
2558
|
+
value: file.location,
|
|
2559
|
+
selected:
|
|
2560
|
+
builderSettings.provisioningProfile === file.location,
|
|
2561
|
+
},
|
|
2562
|
+
file.filename
|
|
2563
|
+
)
|
|
2564
|
+
),
|
|
2565
|
+
].join("")
|
|
2566
|
+
)
|
|
2567
|
+
)
|
|
2568
|
+
) +
|
|
2569
|
+
// Share Extension provisioning profile
|
|
2570
|
+
div(
|
|
2571
|
+
{ class: "row pb-3" },
|
|
2572
|
+
div(
|
|
2573
|
+
{ class: "col-sm-10" },
|
|
2574
|
+
label(
|
|
2575
|
+
{
|
|
2576
|
+
for: "shareProvisioningProfileInputId",
|
|
2577
|
+
class: "form-label fw-bold",
|
|
2578
|
+
},
|
|
2579
|
+
req.__("Share Extension Provisioning Profile")
|
|
2580
|
+
),
|
|
2581
|
+
select(
|
|
2582
|
+
{
|
|
2583
|
+
class: "form-select",
|
|
2584
|
+
name: "shareProvisioningProfile",
|
|
2585
|
+
id: "shareProvisioningProfileInputId",
|
|
2586
|
+
},
|
|
2587
|
+
[
|
|
2588
|
+
option({ value: "" }, ""),
|
|
2589
|
+
...provisioningFiles.map((file) =>
|
|
2590
|
+
option(
|
|
2591
|
+
{
|
|
2592
|
+
value: file.location,
|
|
2593
|
+
selected:
|
|
2594
|
+
builderSettings.shareProvisioningProfile ===
|
|
2595
|
+
file.location,
|
|
2596
|
+
},
|
|
2597
|
+
file.filename
|
|
2598
|
+
)
|
|
2599
|
+
),
|
|
2600
|
+
].join("")
|
|
2601
|
+
)
|
|
2602
|
+
)
|
|
2603
|
+
)
|
|
2604
|
+
);
|
|
2605
|
+
};
|
|
2606
|
+
|
|
2607
|
+
const iosPushConfigBox = () => {
|
|
2608
|
+
return (
|
|
2609
|
+
// APN Signing Key
|
|
2610
|
+
div(
|
|
2611
|
+
{ class: "row pb-3" },
|
|
2612
|
+
div(
|
|
2613
|
+
{ class: "col-sm-10" },
|
|
2614
|
+
label(
|
|
2615
|
+
{
|
|
2616
|
+
for: "apnSigningKeyInputId",
|
|
2617
|
+
class: "form-label fw-bold",
|
|
2618
|
+
},
|
|
2619
|
+
req.__("APN Signing Key (.p8 file)")
|
|
2620
|
+
),
|
|
2621
|
+
select(
|
|
2622
|
+
{
|
|
2623
|
+
class: "form-select",
|
|
2624
|
+
name: "apnSigningKey",
|
|
2625
|
+
id: "apnSigningKeyInputId",
|
|
2626
|
+
},
|
|
2627
|
+
[
|
|
2628
|
+
option({ value: "" }, ""),
|
|
2629
|
+
...allAppCfgFiles.map((file) =>
|
|
2630
|
+
option(
|
|
2631
|
+
{
|
|
2632
|
+
value: file.path_to_serve,
|
|
2633
|
+
selected: apnSigningKey === file.filename,
|
|
2634
|
+
},
|
|
2635
|
+
file.filename
|
|
2636
|
+
)
|
|
2637
|
+
),
|
|
2638
|
+
].join("")
|
|
2639
|
+
),
|
|
2640
|
+
div(),
|
|
2641
|
+
i(req.__("This is a private key file"))
|
|
2642
|
+
)
|
|
2643
|
+
) +
|
|
2644
|
+
// APN Signing Key ID
|
|
2645
|
+
div(
|
|
2646
|
+
{ class: "row pb-3" },
|
|
2647
|
+
div(
|
|
2648
|
+
{ class: "col-sm-10" },
|
|
2649
|
+
label(
|
|
2650
|
+
{
|
|
2651
|
+
for: "apnSigningKeyIdInputId",
|
|
2652
|
+
class: "form-label fw-bold",
|
|
2653
|
+
},
|
|
2654
|
+
req.__("APN Signing Key ID")
|
|
2655
|
+
),
|
|
2656
|
+
input({
|
|
2657
|
+
type: "text",
|
|
2658
|
+
class: "form-control",
|
|
2659
|
+
name: "apnSigningKeyId",
|
|
2660
|
+
id: "apnSigningKeyIdInputId",
|
|
2661
|
+
value: builderSettings.apnSigningKeyId || "",
|
|
2662
|
+
}),
|
|
2663
|
+
div(),
|
|
2664
|
+
i(
|
|
2665
|
+
req.__(
|
|
2666
|
+
"The 10-character Key ID obtained from Apple developer account"
|
|
2667
|
+
)
|
|
2668
|
+
)
|
|
2669
|
+
)
|
|
2670
|
+
)
|
|
2671
|
+
);
|
|
2672
|
+
};
|
|
2673
|
+
|
|
2674
|
+
return div(
|
|
2675
|
+
{ class: "my-3" },
|
|
2676
|
+
p(
|
|
2677
|
+
{ class: "h3 ps-1 mt-3" },
|
|
2678
|
+
button(
|
|
2679
|
+
{
|
|
2680
|
+
class: "btn btn-outline-secondary p-1 me-2",
|
|
2681
|
+
type: "button",
|
|
2682
|
+
"data-bs-toggle": "collapse",
|
|
2683
|
+
"data-bs-target": "#iOSConfigFormGroupId",
|
|
2684
|
+
"aria-expanded": "false",
|
|
2685
|
+
"aria-controls": "iOSConfigFormGroupId",
|
|
2686
|
+
},
|
|
2687
|
+
i({ class: "fas fa-chevron-down" })
|
|
2688
|
+
) + "iOS Configuration"
|
|
2689
|
+
),
|
|
2690
|
+
div(
|
|
2691
|
+
{
|
|
2692
|
+
id: "iOSConfigFormGroupId",
|
|
2693
|
+
class: "form-group border border-2 p-3 rounded collapse",
|
|
2694
|
+
},
|
|
2695
|
+
toolsInfoBox(),
|
|
2696
|
+
provisioningFilesBox(),
|
|
2697
|
+
// Push Notifications section
|
|
2698
|
+
div(
|
|
2699
|
+
{ class: "form-group row my-3" },
|
|
2700
|
+
div(
|
|
2701
|
+
{ class: "col-sm-12 mt-2 fw-bold" },
|
|
2702
|
+
h5(
|
|
2703
|
+
{ class: "" },
|
|
2704
|
+
req.__("Push Notifications"),
|
|
2705
|
+
a(
|
|
2706
|
+
{
|
|
2707
|
+
href: "javascript:ajax_modal('/admin/help/APN Signing Key?')",
|
|
2708
|
+
},
|
|
2709
|
+
i({ class: "fas fa-question-circle ps-1" })
|
|
2710
|
+
)
|
|
2711
|
+
)
|
|
2712
|
+
)
|
|
2713
|
+
),
|
|
2714
|
+
iosPushConfigBox()
|
|
2715
|
+
)
|
|
2716
|
+
);
|
|
2717
|
+
};
|
|
2718
|
+
|
|
2368
2719
|
/**
|
|
2369
2720
|
* Build mobile app
|
|
2370
2721
|
*/
|
|
@@ -2411,6 +2762,10 @@ router.get(
|
|
|
2411
2762
|
const xcodeCheckRes = await checkXcodebuild();
|
|
2412
2763
|
const xcodebuildAvailable = xcodeCheckRes.installed;
|
|
2413
2764
|
const xcodebuildVersion = xcodeCheckRes.version;
|
|
2765
|
+
const isMac = process.platform === "darwin";
|
|
2766
|
+
const cocoaPodCheckRes = await checkCocoaPods();
|
|
2767
|
+
const cocoaPodsAvailable = cocoaPodCheckRes.installed;
|
|
2768
|
+
const cocoaPodsVersion = cocoaPodCheckRes.version;
|
|
2414
2769
|
const layout = getState().getLayout(req.user);
|
|
2415
2770
|
const isSbadmin2 = layout === getState().layouts.sbadmin2;
|
|
2416
2771
|
const isEntrypointByRole = builderSettings.entryPointByRole === "on";
|
|
@@ -2447,7 +2802,15 @@ router.get(
|
|
|
2447
2802
|
onchange: "builderMenuChanged(this)",
|
|
2448
2803
|
id: "buildMobileAppForm",
|
|
2449
2804
|
},
|
|
2450
|
-
|
|
2805
|
+
p(
|
|
2806
|
+
"This menu allows building Android or iOS apps for your web app. " +
|
|
2807
|
+
"On Android, installing the capacitor-builder Docker image is recommended, for iOS, an Apple machine is required. "
|
|
2808
|
+
),
|
|
2809
|
+
p(
|
|
2810
|
+
"To select files (like an Android keystore or iOS provisioning profile), " +
|
|
2811
|
+
"upload them to the 'mobile-app-configurations' folder (create it if it not yet exists). " +
|
|
2812
|
+
"Results are shown once on completion, and the builder adds a result folder to the 'mobile_app' directory."
|
|
2813
|
+
),
|
|
2451
2814
|
fieldset(
|
|
2452
2815
|
input({
|
|
2453
2816
|
type: "hidden",
|
|
@@ -2460,886 +2823,984 @@ router.get(
|
|
|
2460
2823
|
value: builderSettings.entryPointType || "view",
|
|
2461
2824
|
id: "entryPointTypeID",
|
|
2462
2825
|
}),
|
|
2826
|
+
|
|
2463
2827
|
div(
|
|
2464
2828
|
{ class: "container ps-2" },
|
|
2465
|
-
|
|
2466
|
-
{ class: "
|
|
2467
|
-
|
|
2468
|
-
div({ class: "col-sm-4 fw-bold" }, req.__("Platform")),
|
|
2469
|
-
div(
|
|
2829
|
+
p(
|
|
2830
|
+
{ class: "h3 ps-1" },
|
|
2831
|
+
button(
|
|
2470
2832
|
{
|
|
2471
|
-
class:
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2833
|
+
class: "btn btn-outline-secondary p-1 me-2",
|
|
2834
|
+
type: "button",
|
|
2835
|
+
"data-bs-toggle": "collapse",
|
|
2836
|
+
"data-bs-target": "#commonSettingsContainerId",
|
|
2837
|
+
"aria-expanded": "true",
|
|
2838
|
+
"aria-controls": "commonSettingsContainerId",
|
|
2477
2839
|
},
|
|
2478
|
-
|
|
2479
|
-
)
|
|
2840
|
+
i({ class: "fas fa-chevron-down" })
|
|
2841
|
+
) + "Common configuration"
|
|
2480
2842
|
),
|
|
2481
2843
|
div(
|
|
2482
|
-
{
|
|
2844
|
+
{
|
|
2845
|
+
id: "commonSettingsContainerId",
|
|
2846
|
+
class:
|
|
2847
|
+
"form-group border border-2 p-3 rounded collapse show",
|
|
2848
|
+
},
|
|
2483
2849
|
div(
|
|
2484
|
-
{
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
},
|
|
2850
|
+
{ class: "row pb-2" },
|
|
2851
|
+
div({ class: "col-sm-4 fw-bold" }, req.__("Entry point")),
|
|
2852
|
+
div({ class: "col-sm-4 fw-bold" }, req.__("Platform")),
|
|
2488
2853
|
div(
|
|
2489
|
-
{
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
class: "form-label",
|
|
2503
|
-
},
|
|
2504
|
-
req.__("Entry point by role"),
|
|
2505
|
-
a(
|
|
2506
|
-
{
|
|
2507
|
-
href: "javascript:ajax_modal('/admin/help/Entry point by role?')",
|
|
2508
|
-
},
|
|
2509
|
-
i({ class: "fas fa-question-circle ps-1" })
|
|
2510
|
-
)
|
|
2511
|
-
)
|
|
2512
|
-
)
|
|
2513
|
-
),
|
|
2514
|
-
// 'view/page/pagegroup' tabs
|
|
2854
|
+
{
|
|
2855
|
+
class: `col-sm-1 fw-bold d-flex justify-content-center ${
|
|
2856
|
+
builderSettings.androidPlatform !== "on"
|
|
2857
|
+
? "d-none"
|
|
2858
|
+
: ""
|
|
2859
|
+
}`,
|
|
2860
|
+
id: "dockerLabelId",
|
|
2861
|
+
},
|
|
2862
|
+
req.__("docker")
|
|
2863
|
+
)
|
|
2864
|
+
),
|
|
2865
|
+
div(
|
|
2866
|
+
{ class: "row mb-3" },
|
|
2515
2867
|
div(
|
|
2516
2868
|
{
|
|
2517
|
-
|
|
2518
|
-
|
|
2869
|
+
class: `col-sm-4 mt-2 ms-3 me-2 ${isEntrypointByRole ? "" : "border border-2 p-3 rounded"}`,
|
|
2870
|
+
id: "entryPointRowId",
|
|
2519
2871
|
},
|
|
2520
|
-
|
|
2521
|
-
{ class: "
|
|
2522
|
-
|
|
2523
|
-
{
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2872
|
+
div(
|
|
2873
|
+
{ class: "row pb-2" },
|
|
2874
|
+
div(
|
|
2875
|
+
{ class: "col-sm-6" },
|
|
2876
|
+
input({
|
|
2877
|
+
type: "checkbox",
|
|
2878
|
+
id: "entryPointByRoleBoxId",
|
|
2879
|
+
class: "form-check-input me-2",
|
|
2880
|
+
name: "entryPointByRole",
|
|
2881
|
+
checked: isEntrypointByRole,
|
|
2882
|
+
}),
|
|
2883
|
+
label(
|
|
2528
2884
|
{
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
builderSettings.entryPointType === "view"
|
|
2532
|
-
? "active"
|
|
2533
|
-
: ""
|
|
2534
|
-
}`,
|
|
2535
|
-
id: "viewNavLinkID",
|
|
2885
|
+
for: "entryPointByRole",
|
|
2886
|
+
class: "form-label",
|
|
2536
2887
|
},
|
|
2537
|
-
req.__("
|
|
2888
|
+
req.__("Entry point by role"),
|
|
2889
|
+
a(
|
|
2890
|
+
{
|
|
2891
|
+
href: "javascript:ajax_modal('/admin/help/Entry point by role?')",
|
|
2892
|
+
},
|
|
2893
|
+
i({ class: "fas fa-question-circle ps-1" })
|
|
2894
|
+
)
|
|
2538
2895
|
)
|
|
2539
|
-
)
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2896
|
+
)
|
|
2897
|
+
),
|
|
2898
|
+
// 'view/page/pagegroup' tabs
|
|
2899
|
+
div(
|
|
2900
|
+
{
|
|
2901
|
+
id: "entrySelectorsId",
|
|
2902
|
+
class: isEntrypointByRole ? "d-none" : "",
|
|
2903
|
+
},
|
|
2904
|
+
ul(
|
|
2905
|
+
{ class: "nav nav-pills" },
|
|
2906
|
+
li(
|
|
2546
2907
|
{
|
|
2547
|
-
class:
|
|
2548
|
-
|
|
2549
|
-
? "active"
|
|
2550
|
-
: ""
|
|
2551
|
-
}`,
|
|
2552
|
-
id: "pageNavLinkID",
|
|
2908
|
+
class: "nav-item",
|
|
2909
|
+
onClick: "showEntrySelect('view')",
|
|
2553
2910
|
},
|
|
2554
|
-
|
|
2911
|
+
div(
|
|
2912
|
+
{
|
|
2913
|
+
class: `nav-link ${
|
|
2914
|
+
!builderSettings.entryPointType ||
|
|
2915
|
+
builderSettings.entryPointType === "view"
|
|
2916
|
+
? "active"
|
|
2917
|
+
: ""
|
|
2918
|
+
}`,
|
|
2919
|
+
id: "viewNavLinkID",
|
|
2920
|
+
},
|
|
2921
|
+
req.__("View")
|
|
2922
|
+
)
|
|
2555
2923
|
),
|
|
2556
2924
|
li(
|
|
2557
2925
|
{
|
|
2558
2926
|
class: "nav-item",
|
|
2559
|
-
onClick: "showEntrySelect('
|
|
2927
|
+
onClick: "showEntrySelect('page')",
|
|
2560
2928
|
},
|
|
2561
2929
|
div(
|
|
2562
2930
|
{
|
|
2563
2931
|
class: `nav-link ${
|
|
2564
|
-
builderSettings.entryPointType ===
|
|
2565
|
-
"pagegroup"
|
|
2932
|
+
builderSettings.entryPointType === "page"
|
|
2566
2933
|
? "active"
|
|
2567
2934
|
: ""
|
|
2568
2935
|
}`,
|
|
2569
|
-
id: "
|
|
2936
|
+
id: "pageNavLinkID",
|
|
2570
2937
|
},
|
|
2571
|
-
req.__("
|
|
2572
|
-
)
|
|
2573
|
-
|
|
2574
|
-
)
|
|
2575
|
-
),
|
|
2576
|
-
// select entry-view
|
|
2577
|
-
select(
|
|
2578
|
-
{
|
|
2579
|
-
class: `form-select ${
|
|
2580
|
-
builderSettings.entryPointType === "page" ||
|
|
2581
|
-
builderSettings.entryPointType === "pagegroup"
|
|
2582
|
-
? "d-none"
|
|
2583
|
-
: ""
|
|
2584
|
-
}`,
|
|
2585
|
-
...(!builderSettings.entryPointType ||
|
|
2586
|
-
builderSettings.entryPointType === "view"
|
|
2587
|
-
? { name: "entryPoint" }
|
|
2588
|
-
: {}),
|
|
2589
|
-
id: "viewInputID",
|
|
2590
|
-
},
|
|
2591
|
-
views
|
|
2592
|
-
.map((view) =>
|
|
2593
|
-
option(
|
|
2938
|
+
req.__("Page")
|
|
2939
|
+
),
|
|
2940
|
+
li(
|
|
2594
2941
|
{
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
builderSettings.entryPointType === "view" &&
|
|
2598
|
-
builderSettings.entryPoint === view.name,
|
|
2942
|
+
class: "nav-item",
|
|
2943
|
+
onClick: "showEntrySelect('pagegroup')",
|
|
2599
2944
|
},
|
|
2600
|
-
|
|
2945
|
+
div(
|
|
2946
|
+
{
|
|
2947
|
+
class: `nav-link ${
|
|
2948
|
+
builderSettings.entryPointType ===
|
|
2949
|
+
"pagegroup"
|
|
2950
|
+
? "active"
|
|
2951
|
+
: ""
|
|
2952
|
+
}`,
|
|
2953
|
+
id: "pagegroupNavLinkID",
|
|
2954
|
+
},
|
|
2955
|
+
req.__("Pagegroup")
|
|
2956
|
+
)
|
|
2601
2957
|
)
|
|
2602
2958
|
)
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
:
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2959
|
+
),
|
|
2960
|
+
// select entry-view
|
|
2961
|
+
select(
|
|
2962
|
+
{
|
|
2963
|
+
class: `form-select ${
|
|
2964
|
+
builderSettings.entryPointType === "page" ||
|
|
2965
|
+
builderSettings.entryPointType === "pagegroup"
|
|
2966
|
+
? "d-none"
|
|
2967
|
+
: ""
|
|
2968
|
+
}`,
|
|
2969
|
+
...(!builderSettings.entryPointType ||
|
|
2970
|
+
builderSettings.entryPointType === "view"
|
|
2971
|
+
? { name: "entryPoint" }
|
|
2972
|
+
: {}),
|
|
2973
|
+
id: "viewInputID",
|
|
2974
|
+
},
|
|
2975
|
+
views
|
|
2976
|
+
.map((view) =>
|
|
2977
|
+
option(
|
|
2978
|
+
{
|
|
2979
|
+
value: view.name,
|
|
2980
|
+
selected:
|
|
2981
|
+
builderSettings.entryPointType ===
|
|
2982
|
+
"view" &&
|
|
2983
|
+
builderSettings.entryPoint === view.name,
|
|
2984
|
+
},
|
|
2985
|
+
view.name
|
|
2986
|
+
)
|
|
2630
2987
|
)
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
:
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2988
|
+
.join(",")
|
|
2989
|
+
),
|
|
2990
|
+
// select entry-page
|
|
2991
|
+
select(
|
|
2992
|
+
{
|
|
2993
|
+
class: `form-select ${
|
|
2994
|
+
!builderSettings.entryPointType ||
|
|
2995
|
+
builderSettings.entryPointType === "view" ||
|
|
2996
|
+
builderSettings.entryPointType === "pagegroup"
|
|
2997
|
+
? "d-none"
|
|
2998
|
+
: ""
|
|
2999
|
+
}`,
|
|
3000
|
+
...(builderSettings.entryPointType === "page"
|
|
3001
|
+
? { name: "entryPoint" }
|
|
3002
|
+
: {}),
|
|
3003
|
+
id: "pageInputID",
|
|
3004
|
+
},
|
|
3005
|
+
pages
|
|
3006
|
+
.map((page) =>
|
|
3007
|
+
option(
|
|
3008
|
+
{
|
|
3009
|
+
value: page.name,
|
|
3010
|
+
selected:
|
|
3011
|
+
builderSettings.entryPointType ===
|
|
3012
|
+
"page" &&
|
|
3013
|
+
builderSettings.entryPoint === page.name,
|
|
3014
|
+
},
|
|
3015
|
+
page.name
|
|
3016
|
+
)
|
|
2660
3017
|
)
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
3018
|
+
.join("")
|
|
3019
|
+
),
|
|
3020
|
+
// select entry-pagegroup
|
|
3021
|
+
select(
|
|
3022
|
+
{
|
|
3023
|
+
class: `form-select ${
|
|
3024
|
+
!builderSettings.entryPointType ||
|
|
3025
|
+
builderSettings.entryPointType === "view" ||
|
|
3026
|
+
builderSettings.entryPointType === "page"
|
|
3027
|
+
? "d-none"
|
|
3028
|
+
: ""
|
|
3029
|
+
}`,
|
|
3030
|
+
...(builderSettings.entryPointType === "pagegroup"
|
|
3031
|
+
? { name: "entryPoint" }
|
|
3032
|
+
: {}),
|
|
3033
|
+
id: "pagegroupInputID",
|
|
3034
|
+
},
|
|
3035
|
+
pageGroups
|
|
3036
|
+
.map((group) =>
|
|
3037
|
+
option(
|
|
3038
|
+
{
|
|
3039
|
+
value: group.name,
|
|
3040
|
+
selected:
|
|
3041
|
+
builderSettings.entryPointType ===
|
|
3042
|
+
"pagegroup" &&
|
|
3043
|
+
builderSettings.entryPoint === group.name,
|
|
3044
|
+
},
|
|
3045
|
+
group.name
|
|
3046
|
+
)
|
|
3047
|
+
)
|
|
3048
|
+
.join("")
|
|
2684
3049
|
)
|
|
2685
|
-
)
|
|
2686
|
-
|
|
3050
|
+
)
|
|
3051
|
+
),
|
|
3052
|
+
div(
|
|
3053
|
+
{ class: "col-sm-4" },
|
|
3054
|
+
// android
|
|
2687
3055
|
div(
|
|
2688
|
-
{ class: "
|
|
2689
|
-
div({ class: "col-sm-8" }, req.__("iOS")),
|
|
3056
|
+
{ class: "container ps-0" },
|
|
2690
3057
|
div(
|
|
2691
|
-
{ class: "
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
class: "
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
3058
|
+
{ class: "row" },
|
|
3059
|
+
div({ class: "col-sm-8" }, req.__("android")),
|
|
3060
|
+
div(
|
|
3061
|
+
{ class: "col-sm" },
|
|
3062
|
+
input({
|
|
3063
|
+
type: "checkbox",
|
|
3064
|
+
class: "form-check-input",
|
|
3065
|
+
name: "androidPlatform",
|
|
3066
|
+
id: "androidCheckboxId",
|
|
3067
|
+
onClick: "toggle_android_platform()",
|
|
3068
|
+
checked:
|
|
3069
|
+
builderSettings.androidPlatform === "on",
|
|
3070
|
+
})
|
|
3071
|
+
)
|
|
3072
|
+
),
|
|
3073
|
+
// iOS
|
|
3074
|
+
div(
|
|
3075
|
+
{ class: "row" },
|
|
3076
|
+
div({ class: "col-sm-8" }, req.__("iOS")),
|
|
3077
|
+
div(
|
|
3078
|
+
{ class: "col-sm" },
|
|
3079
|
+
input({
|
|
3080
|
+
type: "checkbox",
|
|
3081
|
+
class: "form-check-input",
|
|
3082
|
+
name: "iOSPlatform",
|
|
3083
|
+
id: "iOSCheckboxId",
|
|
3084
|
+
checked: builderSettings.iOSPlatform === "on",
|
|
3085
|
+
})
|
|
3086
|
+
)
|
|
2699
3087
|
)
|
|
2700
3088
|
)
|
|
3089
|
+
),
|
|
3090
|
+
// android with docker
|
|
3091
|
+
div(
|
|
3092
|
+
{ class: "col-sm-1 d-flex justify-content-center" },
|
|
3093
|
+
input({
|
|
3094
|
+
type: "checkbox",
|
|
3095
|
+
class: "form-check-input",
|
|
3096
|
+
name: "useDocker",
|
|
3097
|
+
id: "dockerCheckboxId",
|
|
3098
|
+
hidden: builderSettings.androidPlatform !== "on",
|
|
3099
|
+
checked: builderSettings.useDocker === "on",
|
|
3100
|
+
})
|
|
2701
3101
|
)
|
|
2702
3102
|
),
|
|
2703
|
-
//
|
|
3103
|
+
// app name
|
|
2704
3104
|
div(
|
|
2705
|
-
{ class: "
|
|
2706
|
-
input({
|
|
2707
|
-
type: "checkbox",
|
|
2708
|
-
class: "form-check-input",
|
|
2709
|
-
name: "useDocker",
|
|
2710
|
-
id: "dockerCheckboxId",
|
|
2711
|
-
hidden: builderSettings.androidPlatform !== "on",
|
|
2712
|
-
checked: builderSettings.useDocker === "on",
|
|
2713
|
-
})
|
|
2714
|
-
)
|
|
2715
|
-
),
|
|
2716
|
-
// app name
|
|
2717
|
-
div(
|
|
2718
|
-
{ class: "row pb-2" },
|
|
2719
|
-
div(
|
|
2720
|
-
{ class: "col-sm-10" },
|
|
2721
|
-
label(
|
|
2722
|
-
{
|
|
2723
|
-
for: "appFileInputId",
|
|
2724
|
-
class: "form-label fw-bold",
|
|
2725
|
-
},
|
|
2726
|
-
req.__("App name")
|
|
2727
|
-
),
|
|
2728
|
-
input({
|
|
2729
|
-
type: "text",
|
|
2730
|
-
class: "form-control",
|
|
2731
|
-
name: "appName",
|
|
2732
|
-
id: "appNameInputId",
|
|
2733
|
-
placeholder: "SaltcornMobileApp",
|
|
2734
|
-
value: builderSettings.appName || "",
|
|
2735
|
-
})
|
|
2736
|
-
)
|
|
2737
|
-
),
|
|
2738
|
-
// app id
|
|
2739
|
-
div(
|
|
2740
|
-
{ class: "row pb-2" },
|
|
2741
|
-
div(
|
|
2742
|
-
{ class: "col-sm-10" },
|
|
2743
|
-
label(
|
|
2744
|
-
{
|
|
2745
|
-
for: "appIdInputId",
|
|
2746
|
-
class: "form-label fw-bold",
|
|
2747
|
-
},
|
|
2748
|
-
req.__("App ID")
|
|
2749
|
-
),
|
|
2750
|
-
input({
|
|
2751
|
-
type: "text",
|
|
2752
|
-
class: "form-control",
|
|
2753
|
-
name: "appId",
|
|
2754
|
-
id: "appIdInputId",
|
|
2755
|
-
placeholder: "com.saltcorn.mobile.app",
|
|
2756
|
-
value: builderSettings.appId || "",
|
|
2757
|
-
})
|
|
2758
|
-
)
|
|
2759
|
-
),
|
|
2760
|
-
// app version
|
|
2761
|
-
div(
|
|
2762
|
-
{ class: "row pb-2" },
|
|
2763
|
-
div(
|
|
2764
|
-
{ class: "col-sm-10" },
|
|
2765
|
-
label(
|
|
2766
|
-
{
|
|
2767
|
-
for: "appVersionInputId",
|
|
2768
|
-
class: "form-label fw-bold",
|
|
2769
|
-
},
|
|
2770
|
-
req.__("App version")
|
|
2771
|
-
),
|
|
2772
|
-
input({
|
|
2773
|
-
type: "text",
|
|
2774
|
-
class: "form-control",
|
|
2775
|
-
name: "appVersion",
|
|
2776
|
-
id: "appVersionInputId",
|
|
2777
|
-
placeholder: "0.0.1",
|
|
2778
|
-
value: builderSettings.appVersion || "",
|
|
2779
|
-
}),
|
|
3105
|
+
{ class: "row pb-2" },
|
|
2780
3106
|
div(
|
|
2781
|
-
{ class: "
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
3107
|
+
{ class: "col-sm-10" },
|
|
3108
|
+
label(
|
|
3109
|
+
{
|
|
3110
|
+
for: "appFileInputId",
|
|
3111
|
+
class: "form-label fw-bold",
|
|
3112
|
+
},
|
|
3113
|
+
req.__("App name")
|
|
3114
|
+
),
|
|
3115
|
+
input({
|
|
3116
|
+
type: "text",
|
|
3117
|
+
class: "form-control",
|
|
3118
|
+
name: "appName",
|
|
3119
|
+
id: "appNameInputId",
|
|
3120
|
+
placeholder: "SaltcornMobileApp",
|
|
3121
|
+
value: builderSettings.appName || "",
|
|
3122
|
+
})
|
|
2785
3123
|
)
|
|
2786
|
-
)
|
|
2787
|
-
|
|
2788
|
-
// server url
|
|
2789
|
-
div(
|
|
2790
|
-
{ class: "row pb-2" },
|
|
3124
|
+
),
|
|
3125
|
+
// app id
|
|
2791
3126
|
div(
|
|
2792
|
-
{ class: "
|
|
2793
|
-
|
|
2794
|
-
{
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
|
|
3127
|
+
{ class: "row pb-2" },
|
|
3128
|
+
div(
|
|
3129
|
+
{ class: "col-sm-10" },
|
|
3130
|
+
label(
|
|
3131
|
+
{
|
|
3132
|
+
for: "appIdInputId",
|
|
3133
|
+
class: "form-label fw-bold",
|
|
3134
|
+
},
|
|
3135
|
+
req.__("App ID")
|
|
3136
|
+
),
|
|
3137
|
+
input({
|
|
3138
|
+
type: "text",
|
|
3139
|
+
class: "form-control",
|
|
3140
|
+
name: "appId",
|
|
3141
|
+
id: "appIdInputId",
|
|
3142
|
+
placeholder: "com.saltcorn.mobile.app",
|
|
3143
|
+
value: builderSettings.appId || "",
|
|
3144
|
+
})
|
|
3145
|
+
)
|
|
3146
|
+
),
|
|
3147
|
+
// app version
|
|
2813
3148
|
div(
|
|
2814
|
-
{ class: "
|
|
2815
|
-
|
|
2816
|
-
{
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
)
|
|
2839
|
-
),
|
|
2840
|
-
].join("")
|
|
3149
|
+
{ class: "row pb-2" },
|
|
3150
|
+
div(
|
|
3151
|
+
{ class: "col-sm-10" },
|
|
3152
|
+
label(
|
|
3153
|
+
{
|
|
3154
|
+
for: "appVersionInputId",
|
|
3155
|
+
class: "form-label fw-bold",
|
|
3156
|
+
},
|
|
3157
|
+
req.__("App version")
|
|
3158
|
+
),
|
|
3159
|
+
input({
|
|
3160
|
+
type: "text",
|
|
3161
|
+
class: "form-control",
|
|
3162
|
+
name: "appVersion",
|
|
3163
|
+
id: "appVersionInputId",
|
|
3164
|
+
placeholder: "0.0.1",
|
|
3165
|
+
value: builderSettings.appVersion || "",
|
|
3166
|
+
}),
|
|
3167
|
+
div(
|
|
3168
|
+
{ class: "invalid-feedback" },
|
|
3169
|
+
req.__(
|
|
3170
|
+
"Please enter a version in the format 'x.y.z' (e.g. 0.0.1 with numbers from 0 to 999) or leave it empty."
|
|
3171
|
+
)
|
|
3172
|
+
)
|
|
2841
3173
|
)
|
|
2842
|
-
)
|
|
2843
|
-
|
|
2844
|
-
div(
|
|
2845
|
-
{ class: "row pb-3" },
|
|
3174
|
+
),
|
|
3175
|
+
// server url
|
|
2846
3176
|
div(
|
|
2847
|
-
{ class: "
|
|
2848
|
-
|
|
2849
|
-
{
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
{
|
|
2866
|
-
value: page.name,
|
|
2867
|
-
selected:
|
|
2868
|
-
builderSettings.splashPage === page.name,
|
|
2869
|
-
},
|
|
2870
|
-
page.name
|
|
2871
|
-
)
|
|
2872
|
-
),
|
|
2873
|
-
].join("")
|
|
3177
|
+
{ class: "row pb-2" },
|
|
3178
|
+
div(
|
|
3179
|
+
{ class: "col-sm-10" },
|
|
3180
|
+
label(
|
|
3181
|
+
{
|
|
3182
|
+
for: "serverURLInputId",
|
|
3183
|
+
class: "form-label fw-bold",
|
|
3184
|
+
},
|
|
3185
|
+
req.__("Server URL")
|
|
3186
|
+
),
|
|
3187
|
+
input({
|
|
3188
|
+
type: "text",
|
|
3189
|
+
class: "form-control",
|
|
3190
|
+
name: "serverURL",
|
|
3191
|
+
id: "serverURLInputId",
|
|
3192
|
+
value: builderSettings.serverURL || "",
|
|
3193
|
+
placeholder: getState().getConfig("base_url") || "",
|
|
3194
|
+
})
|
|
2874
3195
|
)
|
|
2875
|
-
)
|
|
2876
|
-
|
|
2877
|
-
// auto public login box
|
|
2878
|
-
div(
|
|
2879
|
-
{ class: "row pb-2" },
|
|
3196
|
+
),
|
|
3197
|
+
// app icon
|
|
2880
3198
|
div(
|
|
2881
|
-
{ class: "
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
|
|
3199
|
+
{ class: "row pb-2" },
|
|
3200
|
+
div(
|
|
3201
|
+
{ class: "col-sm-10" },
|
|
3202
|
+
label(
|
|
3203
|
+
{
|
|
3204
|
+
for: "appIconInputId",
|
|
3205
|
+
class: "form-label fw-bold",
|
|
3206
|
+
},
|
|
3207
|
+
req.__("App icon")
|
|
3208
|
+
),
|
|
3209
|
+
select(
|
|
3210
|
+
{
|
|
3211
|
+
class: "form-select",
|
|
3212
|
+
name: "appIcon",
|
|
3213
|
+
id: "appIconInputId",
|
|
3214
|
+
},
|
|
3215
|
+
[
|
|
3216
|
+
option({ value: "" }, ""),
|
|
3217
|
+
...images.map((image) =>
|
|
3218
|
+
option(
|
|
3219
|
+
{
|
|
3220
|
+
value: image.location,
|
|
3221
|
+
selected:
|
|
3222
|
+
builderSettings.appIcon === image.location,
|
|
3223
|
+
},
|
|
3224
|
+
image.filename
|
|
3225
|
+
)
|
|
3226
|
+
),
|
|
3227
|
+
].join("")
|
|
2900
3228
|
)
|
|
2901
3229
|
)
|
|
2902
|
-
)
|
|
2903
|
-
),
|
|
2904
|
-
// show continue as public user link
|
|
2905
|
-
div(
|
|
2906
|
-
{ class: "row pb-2" },
|
|
3230
|
+
),
|
|
2907
3231
|
div(
|
|
2908
|
-
{ class: "
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
3232
|
+
{ class: "row pb-3" },
|
|
3233
|
+
div(
|
|
3234
|
+
{ class: "col-sm-10" },
|
|
3235
|
+
label(
|
|
3236
|
+
{
|
|
3237
|
+
for: "splashPageInputId",
|
|
3238
|
+
class: "form-label fw-bold",
|
|
3239
|
+
},
|
|
3240
|
+
req.__("Splash Page")
|
|
3241
|
+
),
|
|
3242
|
+
select(
|
|
3243
|
+
{
|
|
3244
|
+
class: "form-select",
|
|
3245
|
+
name: "splashPage",
|
|
3246
|
+
id: "splashPageInputId",
|
|
3247
|
+
},
|
|
3248
|
+
[
|
|
3249
|
+
option({ value: "" }, ""),
|
|
3250
|
+
...pages.map((page) =>
|
|
3251
|
+
option(
|
|
3252
|
+
{
|
|
3253
|
+
value: page.name,
|
|
3254
|
+
selected:
|
|
3255
|
+
builderSettings.splashPage === page.name,
|
|
3256
|
+
},
|
|
3257
|
+
page.name
|
|
3258
|
+
)
|
|
3259
|
+
),
|
|
3260
|
+
].join("")
|
|
2928
3261
|
)
|
|
2929
3262
|
)
|
|
2930
|
-
)
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
// build type
|
|
2934
|
-
div(
|
|
2935
|
-
{ class: "row pb-3 pt-2" },
|
|
3263
|
+
),
|
|
3264
|
+
// auto public login box
|
|
2936
3265
|
div(
|
|
2937
|
-
{ class: "
|
|
2938
|
-
label(
|
|
2939
|
-
{
|
|
2940
|
-
for: "splashPageInputId",
|
|
2941
|
-
class: "form-label fw-bold",
|
|
2942
|
-
},
|
|
2943
|
-
req.__("Build type")
|
|
2944
|
-
),
|
|
2945
|
-
|
|
3266
|
+
{ class: "row pb-2" },
|
|
2946
3267
|
div(
|
|
2947
|
-
{ class: "
|
|
3268
|
+
{ class: "col-sm-10" },
|
|
2948
3269
|
input({
|
|
2949
|
-
type: "
|
|
2950
|
-
id: "
|
|
3270
|
+
type: "checkbox",
|
|
3271
|
+
id: "autoPublLoginId",
|
|
2951
3272
|
class: "form-check-input me-2",
|
|
2952
|
-
name: "
|
|
2953
|
-
|
|
2954
|
-
checked: builderSettings.buildType === "debug",
|
|
3273
|
+
name: "autoPublicLogin",
|
|
3274
|
+
checked: builderSettings.autoPublicLogin === "on",
|
|
2955
3275
|
}),
|
|
2956
3276
|
label(
|
|
2957
3277
|
{
|
|
2958
|
-
for: "
|
|
2959
|
-
class: "form-label",
|
|
3278
|
+
for: "autoPublLoginId",
|
|
3279
|
+
class: "form-label fw-bold mb-0",
|
|
2960
3280
|
},
|
|
2961
|
-
req.__("
|
|
3281
|
+
req.__("Auto public login")
|
|
3282
|
+
),
|
|
3283
|
+
div(),
|
|
3284
|
+
i(
|
|
3285
|
+
req.__(
|
|
3286
|
+
"When enabled, you will be logged in as a public user without any login screen."
|
|
3287
|
+
)
|
|
2962
3288
|
)
|
|
2963
|
-
)
|
|
3289
|
+
)
|
|
3290
|
+
),
|
|
3291
|
+
// show continue as public user link
|
|
3292
|
+
div(
|
|
3293
|
+
{ class: "row pb-2" },
|
|
2964
3294
|
div(
|
|
2965
|
-
{ class: "
|
|
3295
|
+
{ class: "col-sm-10" },
|
|
2966
3296
|
input({
|
|
2967
|
-
type: "
|
|
2968
|
-
id: "
|
|
3297
|
+
type: "checkbox",
|
|
3298
|
+
id: "showContAsPublId",
|
|
2969
3299
|
class: "form-check-input me-2",
|
|
2970
|
-
name: "
|
|
2971
|
-
value: "release",
|
|
3300
|
+
name: "showContinueAsPublicUser",
|
|
2972
3301
|
checked:
|
|
2973
|
-
builderSettings.
|
|
2974
|
-
!builderSettings.buildType,
|
|
3302
|
+
builderSettings.showContinueAsPublicUser === "on",
|
|
2975
3303
|
}),
|
|
2976
3304
|
label(
|
|
2977
3305
|
{
|
|
2978
|
-
for: "
|
|
2979
|
-
class: "form-label",
|
|
3306
|
+
for: "showContAsPublId",
|
|
3307
|
+
class: "form-label fw-bold mb-0",
|
|
2980
3308
|
},
|
|
2981
|
-
req.__("
|
|
3309
|
+
req.__("Show 'Continue as public user' link")
|
|
3310
|
+
),
|
|
3311
|
+
div(),
|
|
3312
|
+
i(
|
|
3313
|
+
req.__(
|
|
3314
|
+
"When enabled, the login screen shows you a link to login as public user."
|
|
3315
|
+
)
|
|
2982
3316
|
)
|
|
2983
3317
|
)
|
|
2984
|
-
)
|
|
2985
|
-
),
|
|
2986
|
-
// included/excluded plugins
|
|
2987
|
-
div(
|
|
2988
|
-
{
|
|
2989
|
-
id: "pluginsSelectorId",
|
|
2990
|
-
class: "row pb-4",
|
|
2991
|
-
},
|
|
2992
|
-
div(
|
|
2993
|
-
label({ class: "form-label fw-bold" }, req.__("Plugins"))
|
|
2994
3318
|
),
|
|
3319
|
+
|
|
3320
|
+
// allow clear text traffic
|
|
2995
3321
|
div(
|
|
2996
|
-
{ class: "
|
|
3322
|
+
{ class: "row pb-2" },
|
|
2997
3323
|
div(
|
|
2998
|
-
{ class: "
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3324
|
+
{ class: "col-sm-10" },
|
|
3325
|
+
input({
|
|
3326
|
+
type: "checkbox",
|
|
3327
|
+
id: "allowClearTextTrafficId",
|
|
3328
|
+
class: "form-check-input me-2 mb-0 ",
|
|
3329
|
+
name: "allowClearTextTraffic",
|
|
3330
|
+
checked:
|
|
3331
|
+
builderSettings.allowClearTextTraffic === "on",
|
|
3332
|
+
}),
|
|
3333
|
+
label(
|
|
3334
|
+
{
|
|
3335
|
+
for: "allowClearTextTrafficId",
|
|
3336
|
+
class: "form-label fw-bold mb-0",
|
|
3337
|
+
},
|
|
3338
|
+
req.__("Allow clear text traffic")
|
|
3002
3339
|
),
|
|
3003
|
-
div(
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3340
|
+
div(),
|
|
3341
|
+
i(
|
|
3342
|
+
req.__(
|
|
3343
|
+
"Enable this to allow unsecure HTTP connections. Useful for local testing."
|
|
3344
|
+
)
|
|
3007
3345
|
)
|
|
3008
|
-
)
|
|
3346
|
+
)
|
|
3347
|
+
),
|
|
3348
|
+
|
|
3349
|
+
// build type
|
|
3350
|
+
div(
|
|
3351
|
+
{ class: "row pb-3 pt-2" },
|
|
3009
3352
|
div(
|
|
3010
|
-
{ class: "
|
|
3353
|
+
{ class: "col-sm-10" },
|
|
3354
|
+
label(
|
|
3355
|
+
{
|
|
3356
|
+
for: "splashPageInputId",
|
|
3357
|
+
class: "form-label fw-bold",
|
|
3358
|
+
},
|
|
3359
|
+
req.__("Build type")
|
|
3360
|
+
),
|
|
3361
|
+
|
|
3011
3362
|
div(
|
|
3012
|
-
{ class: "
|
|
3013
|
-
|
|
3363
|
+
{ class: "form-check" },
|
|
3364
|
+
input({
|
|
3365
|
+
type: "radio",
|
|
3366
|
+
id: "debugBuildTypeId",
|
|
3367
|
+
class: "form-check-input me-2",
|
|
3368
|
+
name: "buildType",
|
|
3369
|
+
value: "debug",
|
|
3370
|
+
checked: builderSettings.buildType === "debug",
|
|
3371
|
+
}),
|
|
3372
|
+
label(
|
|
3014
3373
|
{
|
|
3015
|
-
|
|
3016
|
-
class: "form-
|
|
3017
|
-
multiple: true,
|
|
3374
|
+
for: "debugBuildTypeId",
|
|
3375
|
+
class: "form-label",
|
|
3018
3376
|
},
|
|
3019
|
-
|
|
3020
|
-
.filter(
|
|
3021
|
-
(plugin) =>
|
|
3022
|
-
builderSettings.excludedPlugins?.indexOf(
|
|
3023
|
-
plugin.name
|
|
3024
|
-
) >= 0
|
|
3025
|
-
)
|
|
3026
|
-
.map((plugin) =>
|
|
3027
|
-
option({
|
|
3028
|
-
id: `${plugin.name}_excluded_opt`,
|
|
3029
|
-
value: plugin.name,
|
|
3030
|
-
label: plugin.name,
|
|
3031
|
-
})
|
|
3032
|
-
)
|
|
3377
|
+
req.__("debug")
|
|
3033
3378
|
)
|
|
3034
3379
|
),
|
|
3035
3380
|
div(
|
|
3036
|
-
{ class: "
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
),
|
|
3049
|
-
div(
|
|
3050
|
-
button(
|
|
3051
|
-
{
|
|
3052
|
-
id: "move-plugin-left-btn-id",
|
|
3053
|
-
type: "button",
|
|
3054
|
-
onClick: `move_plugin_to_excluded()`,
|
|
3055
|
-
class: "btn btn-light pt-1",
|
|
3056
|
-
},
|
|
3057
|
-
i({ class: "fas fa-arrow-left" })
|
|
3058
|
-
)
|
|
3059
|
-
)
|
|
3060
|
-
)
|
|
3061
|
-
),
|
|
3062
|
-
div(
|
|
3063
|
-
{ class: "col-sm-4" },
|
|
3064
|
-
select(
|
|
3381
|
+
{ class: "form-check" },
|
|
3382
|
+
input({
|
|
3383
|
+
type: "radio",
|
|
3384
|
+
id: "releaseBuildTypeId",
|
|
3385
|
+
class: "form-check-input me-2",
|
|
3386
|
+
name: "buildType",
|
|
3387
|
+
value: "release",
|
|
3388
|
+
checked:
|
|
3389
|
+
builderSettings.buildType === "release" ||
|
|
3390
|
+
!builderSettings.buildType,
|
|
3391
|
+
}),
|
|
3392
|
+
label(
|
|
3065
3393
|
{
|
|
3066
|
-
|
|
3067
|
-
class: "form-
|
|
3068
|
-
multiple: true,
|
|
3394
|
+
for: "releaseBuildTypeId",
|
|
3395
|
+
class: "form-label",
|
|
3069
3396
|
},
|
|
3070
|
-
|
|
3071
|
-
.filter(
|
|
3072
|
-
(plugin) =>
|
|
3073
|
-
!builderSettings.excludedPlugins ||
|
|
3074
|
-
builderSettings.excludedPlugins.indexOf(
|
|
3075
|
-
plugin.name
|
|
3076
|
-
) < 0
|
|
3077
|
-
)
|
|
3078
|
-
.map((plugin) =>
|
|
3079
|
-
option({
|
|
3080
|
-
id: `${plugin.name}_included_opt`,
|
|
3081
|
-
value: plugin.name,
|
|
3082
|
-
label: plugin.name,
|
|
3083
|
-
})
|
|
3084
|
-
)
|
|
3397
|
+
req.__("release")
|
|
3085
3398
|
)
|
|
3086
3399
|
)
|
|
3087
3400
|
)
|
|
3088
|
-
)
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
// allow offline mode box
|
|
3092
|
-
div(
|
|
3093
|
-
{ class: "row pb-2 mt-2" },
|
|
3401
|
+
),
|
|
3402
|
+
// included/excluded plugins
|
|
3094
3403
|
div(
|
|
3095
|
-
{
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
}),
|
|
3104
|
-
label(
|
|
3105
|
-
{
|
|
3106
|
-
for: "offlineModeBoxId",
|
|
3107
|
-
class: "form-label fw-bold mb-0",
|
|
3108
|
-
},
|
|
3109
|
-
req.__("Allow offline mode")
|
|
3110
|
-
),
|
|
3111
|
-
div(),
|
|
3112
|
-
i(
|
|
3113
|
-
req.__(
|
|
3114
|
-
"Enable this to integrate offline/online Synchronization into your app."
|
|
3404
|
+
{
|
|
3405
|
+
id: "pluginsSelectorId",
|
|
3406
|
+
class: "row pb-4",
|
|
3407
|
+
},
|
|
3408
|
+
div(
|
|
3409
|
+
label(
|
|
3410
|
+
{ class: "form-label fw-bold" },
|
|
3411
|
+
req.__("Plugins")
|
|
3115
3412
|
)
|
|
3116
|
-
)
|
|
3117
|
-
)
|
|
3118
|
-
),
|
|
3119
|
-
|
|
3120
|
-
div(
|
|
3121
|
-
{
|
|
3122
|
-
id: "tblSyncSelectorId",
|
|
3123
|
-
class: "mb-3 mt-1",
|
|
3124
|
-
hidden: builderSettings.allowOfflineMode !== "on",
|
|
3125
|
-
},
|
|
3126
|
-
p({ class: "h3 ps-3" }, "Synchronization settings"),
|
|
3127
|
-
div(
|
|
3128
|
-
{ class: "form-group border border-2 p-3 rounded" },
|
|
3129
|
-
|
|
3413
|
+
),
|
|
3130
3414
|
div(
|
|
3415
|
+
{ class: "container" },
|
|
3131
3416
|
div(
|
|
3132
|
-
{
|
|
3133
|
-
class: "row pb-3",
|
|
3134
|
-
},
|
|
3417
|
+
{ class: "row" },
|
|
3135
3418
|
div(
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
|
|
3419
|
+
{ class: "col-sm-4 text-center" },
|
|
3420
|
+
req.__("exclude")
|
|
3421
|
+
),
|
|
3422
|
+
div({ class: "col-sm-1" }),
|
|
3423
|
+
div(
|
|
3424
|
+
{ class: "col-sm-4 text-center" },
|
|
3425
|
+
req.__("include")
|
|
3426
|
+
)
|
|
3427
|
+
),
|
|
3428
|
+
div(
|
|
3429
|
+
{ class: "row" },
|
|
3430
|
+
div(
|
|
3431
|
+
{ class: "col-sm-4" },
|
|
3432
|
+
select(
|
|
3433
|
+
{
|
|
3434
|
+
id: "excluded-plugins-select-id",
|
|
3435
|
+
class: "form-control form-select",
|
|
3436
|
+
multiple: true,
|
|
3437
|
+
},
|
|
3438
|
+
plugins
|
|
3439
|
+
.filter(
|
|
3440
|
+
(plugin) =>
|
|
3441
|
+
builderSettings.excludedPlugins?.indexOf(
|
|
3442
|
+
plugin.name
|
|
3443
|
+
) >= 0
|
|
3444
|
+
)
|
|
3445
|
+
.map((plugin) =>
|
|
3446
|
+
option({
|
|
3447
|
+
id: `${plugin.name}_excluded_opt`,
|
|
3448
|
+
value: plugin.name,
|
|
3449
|
+
label: plugin.name,
|
|
3450
|
+
})
|
|
3144
3451
|
)
|
|
3145
3452
|
)
|
|
3146
3453
|
),
|
|
3147
3454
|
div(
|
|
3148
|
-
{ class: "
|
|
3455
|
+
{ class: "col-sm-1 d-flex justify-content-center" },
|
|
3149
3456
|
div(
|
|
3150
|
-
{ class: "row" },
|
|
3151
3457
|
div(
|
|
3152
|
-
|
|
3153
|
-
|
|
3458
|
+
button(
|
|
3459
|
+
{
|
|
3460
|
+
id: "move-plugin-right-btn-id",
|
|
3461
|
+
type: "button",
|
|
3462
|
+
onClick: `move_plugin_to_included()`,
|
|
3463
|
+
class: "btn btn-light pt-1 mb-1",
|
|
3464
|
+
},
|
|
3465
|
+
i({ class: "fas fa-arrow-right" })
|
|
3466
|
+
)
|
|
3154
3467
|
),
|
|
3155
|
-
div({ class: "col-sm-1" }),
|
|
3156
3468
|
div(
|
|
3157
|
-
|
|
3158
|
-
|
|
3469
|
+
button(
|
|
3470
|
+
{
|
|
3471
|
+
id: "move-plugin-left-btn-id",
|
|
3472
|
+
type: "button",
|
|
3473
|
+
onClick: `move_plugin_to_excluded()`,
|
|
3474
|
+
class: "btn btn-light pt-1",
|
|
3475
|
+
},
|
|
3476
|
+
i({ class: "fas fa-arrow-left" })
|
|
3477
|
+
)
|
|
3478
|
+
)
|
|
3479
|
+
)
|
|
3480
|
+
),
|
|
3481
|
+
div(
|
|
3482
|
+
{ class: "col-sm-4" },
|
|
3483
|
+
select(
|
|
3484
|
+
{
|
|
3485
|
+
id: "included-plugins-select-id",
|
|
3486
|
+
class: "form-control form-select",
|
|
3487
|
+
multiple: true,
|
|
3488
|
+
},
|
|
3489
|
+
plugins
|
|
3490
|
+
.filter(
|
|
3491
|
+
(plugin) =>
|
|
3492
|
+
!builderSettings.excludedPlugins ||
|
|
3493
|
+
builderSettings.excludedPlugins.indexOf(
|
|
3494
|
+
plugin.name
|
|
3495
|
+
) < 0
|
|
3496
|
+
)
|
|
3497
|
+
.map((plugin) =>
|
|
3498
|
+
option({
|
|
3499
|
+
id: `${plugin.name}_included_opt`,
|
|
3500
|
+
value: plugin.name,
|
|
3501
|
+
label: plugin.name,
|
|
3502
|
+
})
|
|
3503
|
+
)
|
|
3504
|
+
)
|
|
3505
|
+
)
|
|
3506
|
+
)
|
|
3507
|
+
)
|
|
3508
|
+
),
|
|
3509
|
+
|
|
3510
|
+
// allow offline mode box
|
|
3511
|
+
div(
|
|
3512
|
+
{ class: "row pb-2 mt-2" },
|
|
3513
|
+
div(
|
|
3514
|
+
{ class: "col-sm-10" },
|
|
3515
|
+
input({
|
|
3516
|
+
type: "checkbox",
|
|
3517
|
+
id: "offlineModeBoxId",
|
|
3518
|
+
class: "form-check-input me-2 mb-0 ",
|
|
3519
|
+
name: "allowOfflineMode",
|
|
3520
|
+
onClick: "toggle_tbl_sync()",
|
|
3521
|
+
checked: builderSettings.allowOfflineMode === "on",
|
|
3522
|
+
}),
|
|
3523
|
+
label(
|
|
3524
|
+
{
|
|
3525
|
+
for: "offlineModeBoxId",
|
|
3526
|
+
class: "form-label fw-bold mb-0",
|
|
3527
|
+
},
|
|
3528
|
+
req.__("Allow offline mode")
|
|
3529
|
+
),
|
|
3530
|
+
div(),
|
|
3531
|
+
i(
|
|
3532
|
+
req.__(
|
|
3533
|
+
"Enable this to integrate offline/online Synchronization into your app."
|
|
3534
|
+
)
|
|
3535
|
+
)
|
|
3536
|
+
)
|
|
3537
|
+
),
|
|
3538
|
+
|
|
3539
|
+
div(
|
|
3540
|
+
{
|
|
3541
|
+
id: "tblSyncSelectorId",
|
|
3542
|
+
class: "mb-3 mt-1",
|
|
3543
|
+
hidden: builderSettings.allowOfflineMode !== "on",
|
|
3544
|
+
},
|
|
3545
|
+
p({ class: "h3 ps-3" }, "Synchronization settings"),
|
|
3546
|
+
div(
|
|
3547
|
+
{ class: "form-group border border-2 p-3 rounded" },
|
|
3548
|
+
|
|
3549
|
+
div(
|
|
3550
|
+
div(
|
|
3551
|
+
{
|
|
3552
|
+
class: "row pb-3",
|
|
3553
|
+
},
|
|
3554
|
+
div(
|
|
3555
|
+
label(
|
|
3556
|
+
{ class: "form-label fw-bold" },
|
|
3557
|
+
req.__("Tables to synchronize") +
|
|
3558
|
+
a(
|
|
3559
|
+
{
|
|
3560
|
+
href: "javascript:ajax_modal('/admin/help/Capacitor Builder?')",
|
|
3561
|
+
},
|
|
3562
|
+
i({ class: "fas fa-question-circle ps-1" })
|
|
3563
|
+
)
|
|
3159
3564
|
)
|
|
3160
3565
|
),
|
|
3161
3566
|
div(
|
|
3162
|
-
{ class: "
|
|
3567
|
+
{ class: "container" },
|
|
3163
3568
|
div(
|
|
3164
|
-
{ class: "
|
|
3165
|
-
|
|
3166
|
-
{
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
(table) =>
|
|
3174
|
-
!builderSettings.synchedTables ||
|
|
3175
|
-
builderSettings.synchedTables.indexOf(
|
|
3176
|
-
table.name
|
|
3177
|
-
) < 0
|
|
3178
|
-
)
|
|
3179
|
-
.map((table) =>
|
|
3180
|
-
option({
|
|
3181
|
-
id: `${table.name}_unsynched_opt`,
|
|
3182
|
-
value: table.name,
|
|
3183
|
-
label: table.name,
|
|
3184
|
-
})
|
|
3185
|
-
)
|
|
3569
|
+
{ class: "row" },
|
|
3570
|
+
div(
|
|
3571
|
+
{ class: "col-sm-4 text-center" },
|
|
3572
|
+
req.__("unsynched")
|
|
3573
|
+
),
|
|
3574
|
+
div({ class: "col-sm-1" }),
|
|
3575
|
+
div(
|
|
3576
|
+
{ class: "col-sm-4 text-center" },
|
|
3577
|
+
req.__("synched")
|
|
3186
3578
|
)
|
|
3187
3579
|
),
|
|
3188
3580
|
div(
|
|
3189
|
-
{
|
|
3190
|
-
class:
|
|
3191
|
-
"col-sm-1 d-flex justify-content-center",
|
|
3192
|
-
},
|
|
3581
|
+
{ class: "row" },
|
|
3193
3582
|
div(
|
|
3194
|
-
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3583
|
+
{ class: "col-sm-4" },
|
|
3584
|
+
select(
|
|
3585
|
+
{
|
|
3586
|
+
id: "unsynched-tbls-select-id",
|
|
3587
|
+
class: "form-control form-select",
|
|
3588
|
+
multiple: true,
|
|
3589
|
+
},
|
|
3590
|
+
withSyncInfo
|
|
3591
|
+
.filter(
|
|
3592
|
+
(table) =>
|
|
3593
|
+
!builderSettings.synchedTables ||
|
|
3594
|
+
builderSettings.synchedTables.indexOf(
|
|
3595
|
+
table.name
|
|
3596
|
+
) < 0
|
|
3597
|
+
)
|
|
3598
|
+
.map((table) =>
|
|
3599
|
+
option({
|
|
3600
|
+
id: `${table.name}_unsynched_opt`,
|
|
3601
|
+
value: table.name,
|
|
3602
|
+
label: table.name,
|
|
3603
|
+
})
|
|
3604
|
+
)
|
|
3215
3605
|
)
|
|
3216
|
-
)
|
|
3217
|
-
|
|
3218
|
-
div(
|
|
3219
|
-
{ class: "col-sm-4" },
|
|
3220
|
-
select(
|
|
3606
|
+
),
|
|
3607
|
+
div(
|
|
3221
3608
|
{
|
|
3222
|
-
|
|
3223
|
-
|
|
3224
|
-
multiple: true,
|
|
3609
|
+
class:
|
|
3610
|
+
"col-sm-1 d-flex justify-content-center",
|
|
3225
3611
|
},
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
(
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3612
|
+
div(
|
|
3613
|
+
div(
|
|
3614
|
+
button(
|
|
3615
|
+
{
|
|
3616
|
+
id: "move-right-btn-id",
|
|
3617
|
+
type: "button",
|
|
3618
|
+
onClick: `move_to_synched()`,
|
|
3619
|
+
class: "btn btn-light pt-1 mb-1",
|
|
3620
|
+
},
|
|
3621
|
+
i({ class: "fas fa-arrow-right" })
|
|
3622
|
+
)
|
|
3623
|
+
),
|
|
3624
|
+
div(
|
|
3625
|
+
button(
|
|
3626
|
+
{
|
|
3627
|
+
id: "move-left-btn-id",
|
|
3628
|
+
type: "button",
|
|
3629
|
+
onClick: `move_to_unsynched()`,
|
|
3630
|
+
class: "btn btn-light pt-1",
|
|
3631
|
+
},
|
|
3632
|
+
i({ class: "fas fa-arrow-left" })
|
|
3633
|
+
)
|
|
3239
3634
|
)
|
|
3635
|
+
)
|
|
3636
|
+
),
|
|
3637
|
+
div(
|
|
3638
|
+
{ class: "col-sm-4" },
|
|
3639
|
+
select(
|
|
3640
|
+
{
|
|
3641
|
+
id: "synched-tbls-select-id",
|
|
3642
|
+
class: "form-control form-select",
|
|
3643
|
+
multiple: true,
|
|
3644
|
+
},
|
|
3645
|
+
withSyncInfo
|
|
3646
|
+
.filter(
|
|
3647
|
+
(table) =>
|
|
3648
|
+
builderSettings.synchedTables?.indexOf(
|
|
3649
|
+
table.name
|
|
3650
|
+
) >= 0
|
|
3651
|
+
)
|
|
3652
|
+
.map((table) =>
|
|
3653
|
+
option({
|
|
3654
|
+
id: `${table.name}_synched_opt`,
|
|
3655
|
+
value: table.name,
|
|
3656
|
+
label: table.name,
|
|
3657
|
+
})
|
|
3658
|
+
)
|
|
3659
|
+
)
|
|
3240
3660
|
)
|
|
3241
3661
|
)
|
|
3242
3662
|
)
|
|
3243
3663
|
)
|
|
3244
|
-
)
|
|
3245
|
-
),
|
|
3664
|
+
),
|
|
3246
3665
|
|
|
3247
|
-
|
|
3248
|
-
div(
|
|
3249
|
-
{ class: "row pb-2 my-2" },
|
|
3666
|
+
// sync when connection restored
|
|
3250
3667
|
div(
|
|
3251
|
-
{ class: "
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3668
|
+
{ class: "row pb-2 my-2" },
|
|
3669
|
+
div(
|
|
3670
|
+
{ class: "col-sm-10" },
|
|
3671
|
+
input({
|
|
3672
|
+
type: "checkbox",
|
|
3673
|
+
id: "connRestoredBoxId",
|
|
3674
|
+
class: "form-check-input me-2 mb-0 ",
|
|
3675
|
+
name: "syncOnReconnect",
|
|
3676
|
+
checked: builderSettings.syncOnReconnect === "on",
|
|
3677
|
+
}),
|
|
3678
|
+
label(
|
|
3679
|
+
{
|
|
3680
|
+
for: "connRestoredBoxId",
|
|
3681
|
+
class: "form-label fw-bold mb-0",
|
|
3682
|
+
},
|
|
3683
|
+
req.__("Sync on reconnect")
|
|
3684
|
+
),
|
|
3685
|
+
div(),
|
|
3686
|
+
i(
|
|
3687
|
+
req.__(
|
|
3688
|
+
"Run Synchronizations when the network connection is restored."
|
|
3689
|
+
)
|
|
3271
3690
|
)
|
|
3272
3691
|
)
|
|
3273
|
-
)
|
|
3274
|
-
),
|
|
3692
|
+
),
|
|
3275
3693
|
|
|
3276
|
-
|
|
3277
|
-
div(
|
|
3278
|
-
{ class: "row pb-2 my-2" },
|
|
3694
|
+
// sync when the app resumes
|
|
3279
3695
|
div(
|
|
3280
|
-
{ class: "
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3696
|
+
{ class: "row pb-2 my-2" },
|
|
3697
|
+
div(
|
|
3698
|
+
{ class: "col-sm-10" },
|
|
3699
|
+
input({
|
|
3700
|
+
type: "checkbox",
|
|
3701
|
+
id: "appResumeSyncBoxId",
|
|
3702
|
+
class: "form-check-input me-2 mb-0 ",
|
|
3703
|
+
name: "syncOnAppResume",
|
|
3704
|
+
checked: builderSettings.syncOnAppResume === "on",
|
|
3705
|
+
}),
|
|
3706
|
+
label(
|
|
3707
|
+
{
|
|
3708
|
+
for: "appResumeSyncBoxId",
|
|
3709
|
+
class: "form-label fw-bold mb-0",
|
|
3710
|
+
},
|
|
3711
|
+
req.__("Sync on app resume")
|
|
3712
|
+
),
|
|
3713
|
+
div(),
|
|
3714
|
+
i(
|
|
3715
|
+
req.__(
|
|
3716
|
+
"Run Synchronizations when the app is resumed from background."
|
|
3717
|
+
)
|
|
3300
3718
|
)
|
|
3301
3719
|
)
|
|
3302
|
-
)
|
|
3303
|
-
),
|
|
3720
|
+
),
|
|
3304
3721
|
|
|
3305
|
-
|
|
3306
|
-
div(
|
|
3307
|
-
{ class: "row pb-2 mt-2" },
|
|
3722
|
+
// push sync
|
|
3308
3723
|
div(
|
|
3309
|
-
{ class: "
|
|
3310
|
-
|
|
3311
|
-
{
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3724
|
+
{ class: "row pb-2 my-2" },
|
|
3725
|
+
div(
|
|
3726
|
+
{ class: "col-sm-10" },
|
|
3727
|
+
input({
|
|
3728
|
+
type: "checkbox",
|
|
3729
|
+
id: "pushSyncBoxId",
|
|
3730
|
+
class: "form-check-input me-2 mb-0 ",
|
|
3731
|
+
name: "pushSync",
|
|
3732
|
+
checked: builderSettings.pushSync === "on",
|
|
3733
|
+
}),
|
|
3734
|
+
label(
|
|
3735
|
+
{
|
|
3736
|
+
for: "pushSyncBoxId",
|
|
3737
|
+
class: "form-label fw-bold mb-0",
|
|
3738
|
+
},
|
|
3739
|
+
req.__("Push sync")
|
|
3740
|
+
),
|
|
3741
|
+
div(),
|
|
3742
|
+
i(
|
|
3743
|
+
req.__(
|
|
3744
|
+
"Run Synchronizations when the server sends a push notification. " +
|
|
3745
|
+
"On Android, this requires a Firebase JSON key and a Google Services File (see below)."
|
|
3746
|
+
)
|
|
3747
|
+
)
|
|
3748
|
+
)
|
|
3749
|
+
),
|
|
3750
|
+
|
|
3751
|
+
// periodic sync interval
|
|
3752
|
+
div(
|
|
3753
|
+
{ class: "row pb-2 mt-2" },
|
|
3754
|
+
div(
|
|
3755
|
+
{ class: "col-sm-10" },
|
|
3756
|
+
label(
|
|
3757
|
+
{
|
|
3758
|
+
for: "syncIntervalInputId",
|
|
3759
|
+
class: "form-label fw-bold mb-0 ",
|
|
3760
|
+
},
|
|
3761
|
+
req.__("Background Sync interval")
|
|
3762
|
+
),
|
|
3763
|
+
input({
|
|
3764
|
+
type: "text",
|
|
3765
|
+
class: "form-control mb-0",
|
|
3766
|
+
name: "syncInterval",
|
|
3767
|
+
id: "syncIntervalInputId",
|
|
3768
|
+
value: builderSettings.syncInterval || "",
|
|
3769
|
+
}),
|
|
3770
|
+
div(),
|
|
3771
|
+
i(
|
|
3772
|
+
req.__(
|
|
3773
|
+
"Perdiodic interval (in minutes) to run synchronizations in the background. " +
|
|
3774
|
+
"This is just a min interval, depending on system conditions, the actual time may be longer."
|
|
3775
|
+
)
|
|
3329
3776
|
)
|
|
3330
3777
|
)
|
|
3331
3778
|
)
|
|
3332
3779
|
)
|
|
3333
3780
|
)
|
|
3334
3781
|
),
|
|
3335
|
-
|
|
3336
|
-
div({}, " "),
|
|
3337
|
-
|
|
3338
3782
|
div(
|
|
3339
3783
|
{ class: "mt-3 mb-3" },
|
|
3340
|
-
p(
|
|
3784
|
+
p(
|
|
3785
|
+
{ class: "h3 ps-1" },
|
|
3786
|
+
button(
|
|
3787
|
+
{
|
|
3788
|
+
class: "btn btn-outline-secondary p-1 me-2",
|
|
3789
|
+
type: "button",
|
|
3790
|
+
"data-bs-toggle": "collapse",
|
|
3791
|
+
"data-bs-target": "#androidConfigFormGroupId",
|
|
3792
|
+
"aria-expanded": "false",
|
|
3793
|
+
"aria-controls": "androidConfigFormGroupId",
|
|
3794
|
+
},
|
|
3795
|
+
i({ class: "fas fa-chevron-down" })
|
|
3796
|
+
) + "Android configuration"
|
|
3797
|
+
),
|
|
3341
3798
|
div(
|
|
3342
|
-
{
|
|
3799
|
+
{
|
|
3800
|
+
id: "androidConfigFormGroupId",
|
|
3801
|
+
class:
|
|
3802
|
+
"form-group border border-2 p-3 rounded collapse",
|
|
3803
|
+
},
|
|
3343
3804
|
|
|
3344
3805
|
div(
|
|
3345
3806
|
{ class: "row pb-3 pt-2" },
|
|
@@ -3639,176 +4100,18 @@ router.get(
|
|
|
3639
4100
|
)
|
|
3640
4101
|
)
|
|
3641
4102
|
),
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
{ class: "form-label fw-bold" },
|
|
3655
|
-
req.__("xcodebuild") +
|
|
3656
|
-
a(
|
|
3657
|
-
{
|
|
3658
|
-
href: "javascript:ajax_modal('/admin/help/xcodebuild?')",
|
|
3659
|
-
},
|
|
3660
|
-
i({ class: "fas fa-question-circle ps-1" })
|
|
3661
|
-
)
|
|
3662
|
-
)
|
|
3663
|
-
),
|
|
3664
|
-
div(
|
|
3665
|
-
{ class: "col-sm-4" },
|
|
3666
|
-
div(
|
|
3667
|
-
{
|
|
3668
|
-
id: "xcodebuildStatusId",
|
|
3669
|
-
class: "",
|
|
3670
|
-
},
|
|
3671
|
-
xcodebuildAvailable
|
|
3672
|
-
? span(
|
|
3673
|
-
req.__("installed"),
|
|
3674
|
-
i({
|
|
3675
|
-
class: "ps-2 fas fa-check text-success",
|
|
3676
|
-
})
|
|
3677
|
-
)
|
|
3678
|
-
: span(
|
|
3679
|
-
req.__("not available"),
|
|
3680
|
-
i({
|
|
3681
|
-
class: "ps-2 fas fa-times text-danger",
|
|
3682
|
-
})
|
|
3683
|
-
)
|
|
3684
|
-
)
|
|
3685
|
-
),
|
|
3686
|
-
div(
|
|
3687
|
-
{ class: "col-sm-4" },
|
|
3688
|
-
// not sure if we should provide this
|
|
3689
|
-
// button(
|
|
3690
|
-
// {
|
|
3691
|
-
// id: "installXCodeBtnId",
|
|
3692
|
-
// type: "button",
|
|
3693
|
-
// onClick: `install_xcode(this);`,
|
|
3694
|
-
// class: "btn btn-warning",
|
|
3695
|
-
// },
|
|
3696
|
-
// req.__("install")
|
|
3697
|
-
// ),
|
|
3698
|
-
span(
|
|
3699
|
-
{
|
|
3700
|
-
role: "button",
|
|
3701
|
-
onClick: "check_xcodebuild()",
|
|
3702
|
-
},
|
|
3703
|
-
span({ class: "ps-3" }, req.__("refresh")),
|
|
3704
|
-
i({ class: "ps-2 fas fa-undo" })
|
|
3705
|
-
)
|
|
3706
|
-
)
|
|
3707
|
-
),
|
|
3708
|
-
div(
|
|
3709
|
-
{
|
|
3710
|
-
class: `row mb-3 pb-3 ${
|
|
3711
|
-
xcodebuildAvailable ? "" : "d-none"
|
|
3712
|
-
}`,
|
|
3713
|
-
id: "xcodebuildVersionBoxId",
|
|
3714
|
-
},
|
|
3715
|
-
div(
|
|
3716
|
-
{ class: "col-sm-4" },
|
|
3717
|
-
span(
|
|
3718
|
-
req.__("Version") +
|
|
3719
|
-
span(
|
|
3720
|
-
{ id: "xcodebuildVersionId", class: "pe-2" },
|
|
3721
|
-
`: ${xcodebuildVersion || "unknown"}`
|
|
3722
|
-
),
|
|
3723
|
-
versionMarker(xcodebuildVersion || "0")
|
|
3724
|
-
)
|
|
3725
|
-
)
|
|
3726
|
-
)
|
|
3727
|
-
),
|
|
3728
|
-
// provisioning profile file
|
|
3729
|
-
div(
|
|
3730
|
-
{ class: "row pb-3" },
|
|
3731
|
-
div(
|
|
3732
|
-
{ class: "col-sm-10" },
|
|
3733
|
-
label(
|
|
3734
|
-
{
|
|
3735
|
-
for: "provisioningProfileInputId",
|
|
3736
|
-
class: "form-label fw-bold",
|
|
3737
|
-
},
|
|
3738
|
-
req.__("Provisioning Profile"),
|
|
3739
|
-
a(
|
|
3740
|
-
{
|
|
3741
|
-
href: "javascript:ajax_modal('/admin/help/Provisioning Profile?')",
|
|
3742
|
-
},
|
|
3743
|
-
i({ class: "fas fa-question-circle ps-1" })
|
|
3744
|
-
)
|
|
3745
|
-
),
|
|
3746
|
-
select(
|
|
3747
|
-
{
|
|
3748
|
-
class: "form-select",
|
|
3749
|
-
name: "provisioningProfile",
|
|
3750
|
-
id: "provisioningProfileInputId",
|
|
3751
|
-
},
|
|
3752
|
-
[
|
|
3753
|
-
option({ value: "" }, ""),
|
|
3754
|
-
...provisioningFiles.map((file) =>
|
|
3755
|
-
option(
|
|
3756
|
-
{
|
|
3757
|
-
value: file.location,
|
|
3758
|
-
selected:
|
|
3759
|
-
builderSettings.provisioningProfile ===
|
|
3760
|
-
file.location,
|
|
3761
|
-
},
|
|
3762
|
-
file.filename
|
|
3763
|
-
)
|
|
3764
|
-
),
|
|
3765
|
-
].join("")
|
|
3766
|
-
)
|
|
3767
|
-
)
|
|
3768
|
-
),
|
|
3769
|
-
// Share Extension provisioning profile
|
|
3770
|
-
div(
|
|
3771
|
-
{ class: "row pb-3" },
|
|
3772
|
-
div(
|
|
3773
|
-
{ class: "col-sm-10" },
|
|
3774
|
-
label(
|
|
3775
|
-
{
|
|
3776
|
-
for: "shareProvisioningProfileInputId",
|
|
3777
|
-
class: "form-label fw-bold",
|
|
3778
|
-
},
|
|
3779
|
-
req.__("Share Extension Provisioning Profile"),
|
|
3780
|
-
a(
|
|
3781
|
-
{
|
|
3782
|
-
href: "javascript:ajax_modal('/admin/help/Provisioning Profile?')",
|
|
3783
|
-
},
|
|
3784
|
-
i({ class: "fas fa-question-circle ps-1" })
|
|
3785
|
-
)
|
|
3786
|
-
),
|
|
3787
|
-
select(
|
|
3788
|
-
{
|
|
3789
|
-
class: "form-select",
|
|
3790
|
-
name: "shareProvisioningProfile",
|
|
3791
|
-
id: "shareProvisioningProfileInputId",
|
|
3792
|
-
},
|
|
3793
|
-
[
|
|
3794
|
-
option({ value: "" }, ""),
|
|
3795
|
-
...provisioningFiles.map((file) =>
|
|
3796
|
-
option(
|
|
3797
|
-
{
|
|
3798
|
-
value: file.location,
|
|
3799
|
-
selected:
|
|
3800
|
-
builderSettings.shareProvisioningProfile ===
|
|
3801
|
-
file.location,
|
|
3802
|
-
},
|
|
3803
|
-
file.filename
|
|
3804
|
-
)
|
|
3805
|
-
),
|
|
3806
|
-
].join("")
|
|
3807
|
-
)
|
|
3808
|
-
)
|
|
3809
|
-
)
|
|
3810
|
-
)
|
|
3811
|
-
)
|
|
4103
|
+
|
|
4104
|
+
buildIosConfigBox({
|
|
4105
|
+
req,
|
|
4106
|
+
isMac,
|
|
4107
|
+
xcodebuildAvailable,
|
|
4108
|
+
xcodebuildVersion,
|
|
4109
|
+
cocoaPodsAvailable,
|
|
4110
|
+
cocoaPodsVersion,
|
|
4111
|
+
provisioningFiles,
|
|
4112
|
+
allAppCfgFiles,
|
|
4113
|
+
builderSettings,
|
|
4114
|
+
})
|
|
3812
4115
|
),
|
|
3813
4116
|
button(
|
|
3814
4117
|
{
|
|
@@ -4072,13 +4375,18 @@ router.post(
|
|
|
4072
4375
|
showContinueAsPublicUser,
|
|
4073
4376
|
allowOfflineMode,
|
|
4074
4377
|
syncOnReconnect,
|
|
4378
|
+
syncOnAppResume,
|
|
4075
4379
|
pushSync,
|
|
4076
4380
|
syncInterval,
|
|
4077
4381
|
synchedTables,
|
|
4078
4382
|
includedPlugins,
|
|
4383
|
+
noProvisioningProfile,
|
|
4079
4384
|
provisioningProfile,
|
|
4080
4385
|
shareProvisioningProfile,
|
|
4386
|
+
apnSigningKey,
|
|
4387
|
+
apnSigningKeyId,
|
|
4081
4388
|
buildType,
|
|
4389
|
+
allowClearTextTraffic,
|
|
4082
4390
|
keystoreFile,
|
|
4083
4391
|
keystoreAlias,
|
|
4084
4392
|
keystorePassword,
|
|
@@ -4135,7 +4443,7 @@ router.post(
|
|
|
4135
4443
|
});
|
|
4136
4444
|
}
|
|
4137
4445
|
if (iOSPlatform) {
|
|
4138
|
-
if (!provisioningProfile)
|
|
4446
|
+
if (!provisioningProfile && !noProvisioningProfile)
|
|
4139
4447
|
return res.json({
|
|
4140
4448
|
error: req.__(
|
|
4141
4449
|
"Please provide a Provisioning Profile for the iOS build."
|
|
@@ -4189,20 +4497,16 @@ router.post(
|
|
|
4189
4497
|
if (!entryPointByRole) spawnParams.push("-e", entryPoint);
|
|
4190
4498
|
if (useDocker) spawnParams.push("-d");
|
|
4191
4499
|
if (androidPlatform) spawnParams.push("-p", "android");
|
|
4192
|
-
if (iOSPlatform)
|
|
4500
|
+
if (iOSPlatform) spawnParams.push("-p", "ios");
|
|
4501
|
+
if (noProvisioningProfile) spawnParams.push("--noProvisioningProfile");
|
|
4502
|
+
if (provisioningProfile)
|
|
4503
|
+
spawnParams.push("--provisioningProfile", provisioningProfile);
|
|
4504
|
+
if (allowShareTo) {
|
|
4505
|
+
mode = "prepare";
|
|
4193
4506
|
spawnParams.push(
|
|
4194
|
-
"
|
|
4195
|
-
|
|
4196
|
-
"--provisioningProfile",
|
|
4197
|
-
provisioningProfile
|
|
4507
|
+
"--shareExtensionProvisioningProfile",
|
|
4508
|
+
shareProvisioningProfile
|
|
4198
4509
|
);
|
|
4199
|
-
if (allowShareTo) {
|
|
4200
|
-
mode = "prepare";
|
|
4201
|
-
spawnParams.push(
|
|
4202
|
-
"--shareExtensionProvisioningProfile",
|
|
4203
|
-
shareProvisioningProfile
|
|
4204
|
-
);
|
|
4205
|
-
}
|
|
4206
4510
|
}
|
|
4207
4511
|
if (appName) spawnParams.push("--appName", appName);
|
|
4208
4512
|
if (appId) spawnParams.push("--appId", appId);
|
|
@@ -4214,6 +4518,7 @@ router.post(
|
|
|
4214
4518
|
if (syncInterval) spawnParams.push("--syncInterval", syncInterval);
|
|
4215
4519
|
if (pushSync) spawnParams.push("--pushSync");
|
|
4216
4520
|
if (syncOnReconnect) spawnParams.push("--syncOnReconnect");
|
|
4521
|
+
if (syncOnAppResume) spawnParams.push("--syncOnAppResume");
|
|
4217
4522
|
if (allowShareTo) spawnParams.push("--allowShareTo");
|
|
4218
4523
|
if (autoPublicLogin) spawnParams.push("--autoPublicLogin");
|
|
4219
4524
|
if (showContinueAsPublicUser)
|
|
@@ -4233,6 +4538,7 @@ router.post(
|
|
|
4233
4538
|
}
|
|
4234
4539
|
|
|
4235
4540
|
if (buildType) spawnParams.push("--buildType", buildType);
|
|
4541
|
+
if (allowClearTextTraffic) spawnParams.push("--allowClearTextTraffic");
|
|
4236
4542
|
if (keystoreFile) spawnParams.push("--androidKeystore", keystoreFile);
|
|
4237
4543
|
if (keystoreAlias)
|
|
4238
4544
|
spawnParams.push("--androidKeyStoreAlias", keystoreAlias);
|
|
@@ -4373,10 +4679,13 @@ router.get(
|
|
|
4373
4679
|
);
|
|
4374
4680
|
|
|
4375
4681
|
router.get(
|
|
4376
|
-
"/mobile-app/check-
|
|
4682
|
+
"/mobile-app/check-ios-build-tools",
|
|
4377
4683
|
isAdmin,
|
|
4378
4684
|
error_catcher(async (req, res) => {
|
|
4379
|
-
|
|
4685
|
+
const xcodebuild = await checkXcodebuild();
|
|
4686
|
+
const cocoapods = await checkCocoaPods();
|
|
4687
|
+
const isMac = process.platform === "darwin";
|
|
4688
|
+
res.json({ xcodebuild, cocoapods, isMac });
|
|
4380
4689
|
})
|
|
4381
4690
|
);
|
|
4382
4691
|
|
|
@@ -4400,6 +4709,8 @@ router.post(
|
|
|
4400
4709
|
"firebase_app_services",
|
|
4401
4710
|
newCfg.googleServicesFile
|
|
4402
4711
|
);
|
|
4712
|
+
await getState().setConfig("apn_signing_key", newCfg.apnSigningKey);
|
|
4713
|
+
await getState().setConfig("apn_signing_key_id", newCfg.apnSigningKeyId);
|
|
4403
4714
|
res.json({ success: true });
|
|
4404
4715
|
} catch (e) {
|
|
4405
4716
|
getState().log(1, `Unable to save mobile builder config: ${e.message}`);
|
|
@@ -5199,6 +5510,17 @@ admin_config_route({
|
|
|
5199
5510
|
showIf: { enable_push_notify: true },
|
|
5200
5511
|
help: { topic: "Firebase App Services" },
|
|
5201
5512
|
},
|
|
5513
|
+
{ section_header: "Native iOS Mobile App" },
|
|
5514
|
+
{
|
|
5515
|
+
name: "apn_signing_key",
|
|
5516
|
+
showIf: { enable_push_notify: true },
|
|
5517
|
+
help: { topic: "APN Signing Key" },
|
|
5518
|
+
},
|
|
5519
|
+
{
|
|
5520
|
+
name: "apn_signing_key_id",
|
|
5521
|
+
showIf: { enable_push_notify: true },
|
|
5522
|
+
help: { topic: "APN Signing Key ID" },
|
|
5523
|
+
},
|
|
5202
5524
|
],
|
|
5203
5525
|
response(form, req, res) {
|
|
5204
5526
|
send_admin_page({
|