brut 0.4.0 → 0.8.0
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.
- checksums.yaml +4 -4
- data/.gitignore +4 -0
- data/CHANGELOG.md +36 -1
- data/Dockerfile.dx +19 -0
- data/Gemfile.lock +1 -1
- data/README.md +19 -0
- data/assets/MetroIcon.graffle +0 -0
- data/assets/YouTubeThumb.pxd +0 -0
- data/bin/build +86 -0
- data/bin/ci +36 -0
- data/bin/docs +39 -9
- data/bin/publish +61 -0
- data/bin/setup +6 -0
- data/brut-css/bin/build +19 -0
- data/brut-css/bin/ci +19 -0
- data/brut-css/bin/docs +19 -0
- data/brut-css/bin/publish +21 -0
- data/brut-css/bin/setup +1 -0
- data/brut-css/package-lock.json +2 -2
- data/brut-css/package.json +1 -1
- data/brut-css/src/css/flex.css +1 -1
- data/brut-css/src/docs/includes/body-and-header.html.ejs +1 -1
- data/brut-js/bin/build +15 -6
- data/brut-js/bin/docs +25 -0
- data/brut-js/bin/publish +21 -0
- data/brut-js/bin/setup +1 -0
- data/brut-js/dx +1 -0
- data/brut-js/package-lock.json +2 -2
- data/brut-js/package.json +1 -1
- data/brut-js/specs/AjaxSubmit.spec.js +100 -7
- data/brut-js/src/AjaxSubmit.js +76 -40
- data/brut.gemspec +2 -2
- data/brutrb.com/adrs.md +1 -0
- data/brutrb.com/bin/setup +1 -0
- data/brutrb.com/getting-started.md +3 -0
- data/brutrb.com/overview.md +6 -0
- data/brutrb.com/tutorial.md +7 -3
- data/docs/404.html +2 -2
- data/docs/adrs.html +5 -5
- data/docs/ai.html +3 -3
- data/docs/api/Brut/BackEnd/SeedData.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq.html +1 -1
- data/docs/api/Brut/BackEnd/Validators/FormValidator.html +1 -1
- data/docs/api/Brut/BackEnd/Validators.html +1 -1
- data/docs/api/Brut/BackEnd.html +1 -1
- data/docs/api/Brut/CLI/App.html +1 -1
- data/docs/api/Brut/CLI/AppRunner.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Create.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Drop.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Migrate.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Seed.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Status.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB.html +1 -1
- data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +1 -1
- data/docs/api/Brut/CLI/Apps/DeployBase.html +1 -1
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +1 -1
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/DbModel.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Form.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test/Audit.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test/E2e.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test/JS.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test/Run.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test.html +1 -1
- data/docs/api/Brut/CLI/Apps.html +1 -1
- data/docs/api/Brut/CLI/Command.html +1 -1
- data/docs/api/Brut/CLI/Error.html +1 -1
- data/docs/api/Brut/CLI/ExecutionResults/Result.html +1 -1
- data/docs/api/Brut/CLI/ExecutionResults.html +1 -1
- data/docs/api/Brut/CLI/Executor.html +1 -1
- data/docs/api/Brut/CLI/InvalidOption.html +1 -1
- data/docs/api/Brut/CLI/Options.html +1 -1
- data/docs/api/Brut/CLI/Output.html +1 -1
- data/docs/api/Brut/CLI/SystemExecError.html +1 -1
- data/docs/api/Brut/CLI.html +1 -1
- data/docs/api/Brut/FactoryBot.html +1 -1
- data/docs/api/Brut/Framework/App.html +1 -1
- data/docs/api/Brut/Framework/Config.html +1 -1
- data/docs/api/Brut/Framework/Container.html +1 -1
- data/docs/api/Brut/Framework/Error.html +1 -1
- data/docs/api/Brut/Framework/Errors/AbstractMethod.html +1 -1
- data/docs/api/Brut/Framework/Errors/Bug.html +1 -1
- data/docs/api/Brut/Framework/Errors/MissingConfiguration.html +1 -1
- data/docs/api/Brut/Framework/Errors/MissingParameter.html +1 -1
- data/docs/api/Brut/Framework/Errors/NoClassForPath.html +1 -1
- data/docs/api/Brut/Framework/Errors/NotFound.html +1 -1
- data/docs/api/Brut/Framework/Errors/NotImplemented.html +1 -1
- data/docs/api/Brut/Framework/Errors.html +1 -1
- data/docs/api/Brut/Framework/FussyTypeEnforcement.html +1 -1
- data/docs/api/Brut/Framework/MCP.html +1 -1
- data/docs/api/Brut/Framework/ProjectEnvironment.html +1 -1
- data/docs/api/Brut/Framework.html +1 -1
- data/docs/api/Brut/FrontEnd/AssetPathResolver.html +1 -1
- data/docs/api/Brut/FrontEnd/Component/Helpers.html +86 -2
- data/docs/api/Brut/FrontEnd/Component.html +78 -9
- data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/FormTag.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Input.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Inputs.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/TimeTag.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Traceparent.html +3 -3
- data/docs/api/Brut/FrontEnd/Components.html +1 -1
- data/docs/api/Brut/FrontEnd/Download.html +1 -1
- data/docs/api/Brut/FrontEnd/Flash.html +1 -1
- data/docs/api/Brut/FrontEnd/Form.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/Input/Color.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/Input.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms.html +1 -1
- data/docs/api/Brut/FrontEnd/GenericResponse.html +1 -1
- data/docs/api/Brut/FrontEnd/Handler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers.html +1 -1
- data/docs/api/Brut/FrontEnd/HandlingResults.html +1 -1
- data/docs/api/Brut/FrontEnd/HttpMethod.html +1 -1
- data/docs/api/Brut/FrontEnd/HttpStatus.html +1 -1
- data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +1 -1
- data/docs/api/Brut/FrontEnd/Layout.html +3 -3
- data/docs/api/Brut/FrontEnd/Middleware.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares.html +1 -1
- data/docs/api/Brut/FrontEnd/Page.html +31 -23
- data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +3 -3
- data/docs/api/Brut/FrontEnd/Pages.html +1 -1
- data/docs/api/Brut/FrontEnd/RequestContext.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHook.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/Route.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing.html +1 -1
- data/docs/api/Brut/FrontEnd/Session.html +1 -1
- data/docs/api/Brut/FrontEnd.html +1 -1
- data/docs/api/Brut/I18n/BaseMethods.html +1 -1
- data/docs/api/Brut/I18n/ForBackEnd.html +1 -1
- data/docs/api/Brut/I18n/ForCLI.html +1 -1
- data/docs/api/Brut/I18n/ForHTML.html +1 -1
- data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +1 -1
- data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +1 -1
- data/docs/api/Brut/I18n.html +1 -1
- data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +1 -1
- data/docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html +1 -1
- data/docs/api/Brut/Instrumentation/OpenTelemetry/Span.html +1 -1
- data/docs/api/Brut/Instrumentation/OpenTelemetry.html +1 -1
- data/docs/api/Brut/Instrumentation.html +1 -1
- data/docs/api/Brut/SinatraHelpers/ClassMethods.html +13 -11
- data/docs/api/Brut/SinatraHelpers.html +1 -1
- data/docs/api/Brut/SpecSupport/ClockSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/ComponentSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/E2ETestServer.html +1 -1
- data/docs/api/Brut/SpecSupport/E2eSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/EnhancedNode.html +1 -1
- data/docs/api/Brut/SpecSupport/FlashSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +1 -1
- data/docs/api/Brut/SpecSupport/GeneralSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/HandlerSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers.html +1 -1
- data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/RSpecSetup.html +1 -1
- data/docs/api/Brut/SpecSupport/SessionSupport.html +1 -1
- data/docs/api/Brut/SpecSupport.html +1 -1
- data/docs/api/Brut.html +1 -1
- data/docs/api/Clock.html +1 -1
- data/docs/api/ModuleName.html +1 -1
- data/docs/api/RichString.html +1 -1
- data/docs/api/SemanticLogger/Appender/Async.html +1 -1
- data/docs/api/Sequel/Extensions/BrutInstrumentation.html +1 -1
- data/docs/api/Sequel/Extensions/BrutMigrations.html +1 -1
- data/docs/api/Sequel/Extensions.html +1 -1
- data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +1 -1
- data/docs/api/Sequel/Plugins/CreatedAt.html +1 -1
- data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +1 -1
- data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +1 -1
- data/docs/api/Sequel/Plugins/ExternalId.html +1 -1
- data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +1 -1
- data/docs/api/Sequel/Plugins/FindBang.html +1 -1
- data/docs/api/Sequel/Plugins.html +1 -1
- data/docs/api/Sequel.html +1 -1
- data/docs/api/_index.html +1 -1
- data/docs/api/file.README.html +1 -1
- data/docs/api/index.html +1 -1
- data/docs/api/method_list.html +92 -76
- data/docs/api/top-level-namespace.html +1 -1
- data/docs/assets/{adrs.md.JRxZ5uYE.js → adrs.md.BxjHi9-8.js} +1 -1
- data/docs/assets/adrs.md.BxjHi9-8.lean.js +1 -0
- data/docs/assets/{app.AkS4fHzI.js → app.DyQLb4Ot.js} +1 -1
- data/docs/assets/chunks/@localSearchIndexroot.CmtZyrFA.js +1 -0
- data/docs/assets/chunks/{VPLocalSearchBox.By6un1FD.js → VPLocalSearchBox.T1iA-eJx.js} +1 -1
- data/docs/assets/chunks/{theme.DwiUPdci.js → theme.ChwsbWjK.js} +2 -2
- data/docs/assets/{components.md.BfeWD9sX.js → components.md.DHh-NwKs.js} +3 -3
- data/docs/assets/{configuration.md.DoSBNc0H.js → configuration.md.D8Wz3oJU.js} +1 -1
- data/docs/assets/{forms.md.DFveP5g_.js → forms.md.BRE85eju.js} +1 -1
- data/docs/assets/{getting-started.md.DZWjCVC0.js → getting-started.md.2ioiTe-B.js} +6 -3
- data/docs/assets/{getting-started.md.DZWjCVC0.lean.js → getting-started.md.2ioiTe-B.lean.js} +1 -1
- data/docs/assets/overview.md.DlKiRRG_.js +1 -0
- data/docs/assets/overview.md.DlKiRRG_.lean.js +1 -0
- data/docs/assets/tutorial.md.BIb7XT6j.js +1 -0
- data/docs/assets/tutorial.md.BIb7XT6j.lean.js +1 -0
- data/docs/assets.html +3 -3
- data/docs/brut-css/brut.max.css +1 -1
- data/docs/brut-css/classes/appearances.html +1 -1
- data/docs/brut-css/classes/background-colors.html +1 -1
- data/docs/brut-css/classes/border-colors.html +1 -1
- data/docs/brut-css/classes/borders.html +1 -1
- data/docs/brut-css/classes/dimensions.html +1 -1
- data/docs/brut-css/classes/flex.html +3 -3
- data/docs/brut-css/classes/foreground-colors.html +1 -1
- data/docs/brut-css/classes/junk-drawer.html +1 -1
- data/docs/brut-css/classes/layout.html +1 -1
- data/docs/brut-css/classes/lists.html +1 -1
- data/docs/brut-css/classes/positioning.html +1 -1
- data/docs/brut-css/classes/spacings.html +1 -1
- data/docs/brut-css/classes/typography.html +1 -1
- data/docs/brut-css/customization/advanced-configuration.html +1 -1
- data/docs/brut-css/customization/breakpoints.html +1 -1
- data/docs/brut-css/customization/design-system.html +1 -1
- data/docs/brut-css/customization/pseudo-classes.html +1 -1
- data/docs/brut-css/getting-started/core-concepts.html +1 -1
- data/docs/brut-css/getting-started/installation.html +1 -1
- data/docs/brut-css/getting-started/overview.html +1 -1
- data/docs/brut-css/getting-started/simple-example.html +1 -1
- data/docs/brut-css/index.html +1 -1
- data/docs/brut-css/properties/colors.html +1 -1
- data/docs/brut-css/properties/spacings.html +1 -1
- data/docs/brut-css/properties/typography.html +1 -1
- data/docs/brut-js/api/AjaxSubmit.html +56 -7
- data/docs/brut-js/api/AjaxSubmit.js.html +77 -41
- data/docs/brut-js/api/Autosubmit.html +1 -1
- data/docs/brut-js/api/Autosubmit.js.html +1 -1
- data/docs/brut-js/api/BaseCustomElement.html +1 -1
- data/docs/brut-js/api/BaseCustomElement.js.html +1 -1
- data/docs/brut-js/api/BrutCustomElements.html +1 -1
- data/docs/brut-js/api/BufferedLogger.html +1 -1
- data/docs/brut-js/api/ConfirmSubmit.html +1 -1
- data/docs/brut-js/api/ConfirmSubmit.js.html +1 -1
- data/docs/brut-js/api/ConfirmationDialog.html +1 -1
- data/docs/brut-js/api/ConfirmationDialog.js.html +1 -1
- data/docs/brut-js/api/ConstraintViolationMessage.html +1 -1
- data/docs/brut-js/api/ConstraintViolationMessage.js.html +1 -1
- data/docs/brut-js/api/ConstraintViolationMessages.html +1 -1
- data/docs/brut-js/api/ConstraintViolationMessages.js.html +1 -1
- data/docs/brut-js/api/CopyToClipboard.html +1 -1
- data/docs/brut-js/api/CopyToClipboard.js.html +1 -1
- data/docs/brut-js/api/Form.html +1 -1
- data/docs/brut-js/api/Form.js.html +1 -1
- data/docs/brut-js/api/I18nTranslation.html +1 -1
- data/docs/brut-js/api/I18nTranslation.js.html +1 -1
- data/docs/brut-js/api/LocaleDetection.html +1 -1
- data/docs/brut-js/api/LocaleDetection.js.html +1 -1
- data/docs/brut-js/api/Logger.html +1 -1
- data/docs/brut-js/api/Logger.js.html +1 -1
- data/docs/brut-js/api/Message.html +1 -1
- data/docs/brut-js/api/Message.js.html +1 -1
- data/docs/brut-js/api/PrefixedLogger.html +1 -1
- data/docs/brut-js/api/RichString.html +1 -1
- data/docs/brut-js/api/RichString.js.html +1 -1
- data/docs/brut-js/api/Tabs.html +1 -1
- data/docs/brut-js/api/Tabs.js.html +1 -1
- data/docs/brut-js/api/Tracing.html +1 -1
- data/docs/brut-js/api/Tracing.js.html +1 -1
- data/docs/brut-js/api/external-CustomElementRegistry.html +1 -1
- data/docs/brut-js/api/external-Performance.html +1 -1
- data/docs/brut-js/api/external-Promise.html +1 -1
- data/docs/brut-js/api/external-ValidityState.html +1 -1
- data/docs/brut-js/api/external-Window.html +1 -1
- data/docs/brut-js/api/external-fetch.html +1 -1
- data/docs/brut-js/api/global.html +1 -1
- data/docs/brut-js/api/index.html +1 -1
- data/docs/brut-js/api/index.js.html +1 -1
- data/docs/brut-js/api/module-testing.html +1 -1
- data/docs/brut-js/api/testing.AssetMetadata.html +1 -1
- data/docs/brut-js/api/testing.AssetMetadataLoader.html +1 -1
- data/docs/brut-js/api/testing.CustomElementTest.html +1 -1
- data/docs/brut-js/api/testing.DOMCreator.html +1 -1
- data/docs/brut-js/api/testing_AssetMetadata.js.html +1 -1
- data/docs/brut-js/api/testing_AssetMetadataLoader.js.html +1 -1
- data/docs/brut-js/api/testing_CustomElementTest.js.html +1 -1
- data/docs/brut-js/api/testing_DOMCreator.js.html +1 -1
- data/docs/brut-js/api/testing_index.js.html +1 -1
- data/docs/brut-js.html +3 -3
- data/docs/business-logic.html +3 -3
- data/docs/cli.html +3 -3
- data/docs/components.html +7 -7
- data/docs/configuration.html +5 -5
- data/docs/css.html +3 -3
- data/docs/custom-element-tests.html +3 -3
- data/docs/database-access.html +3 -3
- data/docs/database-schema.html +3 -3
- data/docs/deployment.html +3 -3
- data/docs/dev-environment.html +3 -3
- data/docs/dir-structure.html +3 -3
- data/docs/doc-conventions.html +3 -3
- data/docs/end-to-end-tests.html +3 -3
- data/docs/features.html +3 -3
- data/docs/flash-and-session.html +3 -3
- data/docs/form-constraints.html +3 -3
- data/docs/forms.html +5 -5
- data/docs/getting-started.html +9 -6
- data/docs/handlers.html +3 -3
- data/docs/hashmap.json +1 -1
- data/docs/hooks.html +3 -3
- data/docs/i18n.html +3 -3
- data/docs/index.html +3 -3
- data/docs/instrumentation.html +3 -3
- data/docs/javascript.html +3 -3
- data/docs/jobs.html +3 -3
- data/docs/keyword-injection.html +3 -3
- data/docs/layouts.html +3 -3
- data/docs/lsp.html +3 -3
- data/docs/markdown-examples.html +3 -3
- data/docs/middleware.html +3 -3
- data/docs/overview.html +5 -5
- data/docs/pages.html +3 -3
- data/docs/recipes/alternate-layouts.html +3 -3
- data/docs/recipes/authentication.html +3 -3
- data/docs/recipes/blank-layouts.html +3 -3
- data/docs/recipes/custom-flash.html +3 -3
- data/docs/recipes/indexed-forms.html +3 -3
- data/docs/recipes/migrations.html +3 -3
- data/docs/recipes/text-field-component.html +3 -3
- data/docs/roadmap.html +3 -3
- data/docs/routes.html +3 -3
- data/docs/security.html +3 -3
- data/docs/seed-data.html +3 -3
- data/docs/space-time-continuum.html +3 -3
- data/docs/tutorial.html +5 -5
- data/docs/unit-tests.html +3 -3
- data/docs/why.html +3 -3
- data/lib/brut/cli/apps/scaffold.rb +1 -1
- data/lib/brut/framework/mcp.rb +1 -1
- data/lib/brut/front_end/component.rb +19 -0
- data/lib/brut/front_end/components/form_tag.rb +2 -2
- data/lib/brut/front_end/page.rb +11 -7
- data/lib/brut/sinatra_helpers.rb +1 -0
- data/lib/brut/version.rb +1 -1
- data/mkbrut/.gitignore +16 -0
- data/mkbrut/CODE_OF_CONDUCT.txt +100 -0
- data/mkbrut/Gemfile +3 -0
- data/mkbrut/Gemfile.lock +19 -0
- data/mkbrut/LICENSE.txt +370 -0
- data/mkbrut/README.md +145 -0
- data/mkbrut/Rakefile +2 -0
- data/mkbrut/bin/build +36 -0
- data/mkbrut/bin/ci +19 -0
- data/mkbrut/bin/docs +19 -0
- data/mkbrut/bin/publish +129 -0
- data/mkbrut/bin/rake +16 -0
- data/mkbrut/bin/setup +30 -0
- data/mkbrut/brut-welcome.png +0 -0
- data/mkbrut/deploy/.dockerignore +2 -0
- data/mkbrut/deploy/Dockerfile +25 -0
- data/mkbrut/exe/mkbrut +5 -0
- data/mkbrut/lib/mkbrut/app.rb +79 -0
- data/mkbrut/lib/mkbrut/app_id.rb +8 -0
- data/mkbrut/lib/mkbrut/app_name.rb +29 -0
- data/mkbrut/lib/mkbrut/app_options.rb +36 -0
- data/mkbrut/lib/mkbrut/base.rb +57 -0
- data/mkbrut/lib/mkbrut/cli.rb +107 -0
- data/mkbrut/lib/mkbrut/erb_binding_delegate.rb +20 -0
- data/mkbrut/lib/mkbrut/internet_identifier.rb +32 -0
- data/mkbrut/lib/mkbrut/invalid_identifier.rb +4 -0
- data/mkbrut/lib/mkbrut/ops/add_css_import.rb +42 -0
- data/mkbrut/lib/mkbrut/ops/add_i18n_message.rb +74 -0
- data/mkbrut/lib/mkbrut/ops/add_method.rb +48 -0
- data/mkbrut/lib/mkbrut/ops/append_to_file.rb +20 -0
- data/mkbrut/lib/mkbrut/ops/base_op.rb +21 -0
- data/mkbrut/lib/mkbrut/ops/copy_file.rb +12 -0
- data/mkbrut/lib/mkbrut/ops/insert_code_in_method.rb +58 -0
- data/mkbrut/lib/mkbrut/ops/insert_route.rb +52 -0
- data/mkbrut/lib/mkbrut/ops/mkdir.rb +13 -0
- data/mkbrut/lib/mkbrut/ops/prism_parsing_op.rb +70 -0
- data/mkbrut/lib/mkbrut/ops/render_template.rb +26 -0
- data/mkbrut/lib/mkbrut/ops/skip_file.rb +10 -0
- data/mkbrut/lib/mkbrut/ops.rb +16 -0
- data/mkbrut/lib/mkbrut/organization.rb +5 -0
- data/mkbrut/lib/mkbrut/prefix.rb +26 -0
- data/mkbrut/lib/mkbrut/prefixed_io.rb +16 -0
- data/mkbrut/lib/mkbrut/segments/bare_bones.rb +185 -0
- data/mkbrut/lib/mkbrut/segments/demo.rb +121 -0
- data/mkbrut/lib/mkbrut/segments/heroku.rb +30 -0
- data/mkbrut/lib/mkbrut/segments/sidekiq.rb +3 -0
- data/mkbrut/lib/mkbrut/segments.rb +8 -0
- data/mkbrut/lib/mkbrut/version.rb +3 -0
- data/mkbrut/lib/mkbrut/versions.rb +13 -0
- data/mkbrut/lib/mkbrut.rb +18 -0
- data/mkbrut/mkbrut.gemspec +32 -0
- data/mkbrut/templates/Base/.dockerignore +25 -0
- data/mkbrut/templates/Base/.env.development.erb +60 -0
- data/mkbrut/templates/Base/.env.test.erb +8 -0
- data/mkbrut/templates/Base/.gitignore +31 -0
- data/mkbrut/templates/Base/.projections.json +59 -0
- data/mkbrut/templates/Base/Dockerfile.dx +205 -0
- data/mkbrut/templates/Base/Gemfile.erb +53 -0
- data/mkbrut/templates/Base/Procfile.development +5 -0
- data/mkbrut/templates/Base/Procfile.test +1 -0
- data/mkbrut/templates/Base/README.md +4 -0
- data/mkbrut/templates/Base/README.md.erb +40 -0
- data/mkbrut/templates/Base/app/bootstrap.rb +61 -0
- data/mkbrut/templates/Base/app/config/i18n/en/1_defaults.rb +128 -0
- data/mkbrut/templates/Base/app/config/i18n/en/2_app.rb +24 -0
- data/mkbrut/templates/Base/app/public/static/manifest.json.erb +33 -0
- data/mkbrut/templates/Base/app/src/app.rb.erb +37 -0
- data/mkbrut/templates/Base/app/src/back_end/data_models/app_data_model.rb +5 -0
- data/mkbrut/templates/Base/app/src/back_end/data_models/db.rb +19 -0
- data/mkbrut/templates/Base/app/src/back_end/data_models/migrations/20240101130000_citext.rb +6 -0
- data/mkbrut/templates/Base/app/src/back_end/data_models/seed/seed_data.rb +9 -0
- data/mkbrut/templates/Base/app/src/front_end/components/app_component.rb +8 -0
- data/mkbrut/templates/Base/app/src/front_end/components/custom_element_registration.rb.erb +7 -0
- data/mkbrut/templates/Base/app/src/front_end/css/index.css +2 -0
- data/mkbrut/templates/Base/app/src/front_end/css/svgs.css +12 -0
- data/mkbrut/templates/Base/app/src/front_end/forms/app_form.rb +4 -0
- data/mkbrut/templates/Base/app/src/front_end/handlers/app_handler.rb +4 -0
- data/mkbrut/templates/Base/app/src/front_end/images/LogoPylon.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/LogoTransit.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-120x120.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-152x152.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-167x167.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-180x180.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/favicon.ico +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/icon.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/mkicons.sh +6 -0
- data/mkbrut/templates/Base/app/src/front_end/js/index.js +6 -0
- data/mkbrut/templates/Base/app/src/front_end/layouts/default_layout.rb.erb +73 -0
- data/mkbrut/templates/Base/app/src/front_end/pages/app_page.rb +11 -0
- data/mkbrut/templates/Base/app/src/front_end/pages/home_page.rb +62 -0
- data/mkbrut/templates/Base/app/src/front_end/support/app_session.rb +6 -0
- data/mkbrut/templates/Base/app/src/front_end/svgs/README.md +5 -0
- data/mkbrut/templates/Base/app/src/front_end/svgs/comment-button.svg +59 -0
- data/mkbrut/templates/Base/bin/README.md.erb +5 -0
- data/mkbrut/templates/Base/bin/build-assets +7 -0
- data/mkbrut/templates/Base/bin/ci +39 -0
- data/mkbrut/templates/Base/bin/console +31 -0
- data/mkbrut/templates/Base/bin/db +9 -0
- data/mkbrut/templates/Base/bin/dbconsole +51 -0
- data/mkbrut/templates/Base/bin/dev +25 -0
- data/mkbrut/templates/Base/bin/release +26 -0
- data/mkbrut/templates/Base/bin/run +86 -0
- data/mkbrut/templates/Base/bin/scaffold +9 -0
- data/mkbrut/templates/Base/bin/setup +256 -0
- data/mkbrut/templates/Base/bin/startup-message +65 -0
- data/mkbrut/templates/Base/bin/test +9 -0
- data/mkbrut/templates/Base/bin/test-server +29 -0
- data/mkbrut/templates/Base/bin/watch-and-build-assets +37 -0
- data/mkbrut/templates/Base/config.ru +16 -0
- data/mkbrut/templates/Base/docker-compose.dx.yml +92 -0
- data/mkbrut/templates/Base/dx/README.md +28 -0
- data/mkbrut/templates/Base/dx/bash_customizations +12 -0
- data/mkbrut/templates/Base/dx/bash_customizations.local +8 -0
- data/mkbrut/templates/Base/dx/build +107 -0
- data/mkbrut/templates/Base/dx/docker-compose.env.erb +25 -0
- data/mkbrut/templates/Base/dx/dx.sh.lib +137 -0
- data/mkbrut/templates/Base/dx/exec +68 -0
- data/mkbrut/templates/Base/dx/prune +19 -0
- data/mkbrut/templates/Base/dx/show-help-in-app-container-then-wait.sh +38 -0
- data/mkbrut/templates/Base/dx/start +30 -0
- data/mkbrut/templates/Base/dx/stop +23 -0
- data/mkbrut/templates/Base/package.json.erb +37 -0
- data/mkbrut/templates/Base/puma.config.rb +53 -0
- data/mkbrut/templates/Base/specs/e2e/home_page.spec.rb.erb +23 -0
- data/mkbrut/templates/Base/specs/front_end/js/SpecHelper.js +24 -0
- data/mkbrut/templates/Base/specs/front_end/pages/home_page.spec.rb +22 -0
- data/mkbrut/templates/Base/specs/lint_factories.spec.rb +7 -0
- data/mkbrut/templates/Base/specs/spec_helper.rb +78 -0
- data/mkbrut/templates/Base/specs/support.rb +2 -0
- data/mkbrut/templates/segments/BareBones/app/src/front_end/handlers/trigger_exception_handler.rb +24 -0
- data/mkbrut/templates/segments/BareBones/app/src/front_end/js/Example.js.erb +49 -0
- data/mkbrut/templates/segments/BareBones/specs/front_end/handlers/trigger_exception_handler.spec.rb +41 -0
- data/mkbrut/templates/segments/BareBones/specs/front_end/js/Example.spec.js.erb +38 -0
- data/mkbrut/templates/segments/Demo/app/src/back_end/data_models/db/guestbook_message.rb +3 -0
- data/mkbrut/templates/segments/Demo/app/src/back_end/data_models/migrations/20250628194124_guestbook.rb +14 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/components/flash_component.rb +36 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/css/constraint-violations.css +18 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/css/fonts.css +19 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/fonts/monaspace-xenon.ttf +0 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/forms/guestbook_message_form.rb +4 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/handlers/guestbook_message_handler.rb +64 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/pages/guestbook_page/message_component.rb +41 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/pages/guestbook_page.rb +43 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/pages/new_guestbook_message_page.rb +64 -0
- data/mkbrut/templates/segments/Demo/specs/back_end/data_models/db/guestbook_message.spec.rb +5 -0
- data/mkbrut/templates/segments/Demo/specs/e2e/guest_message.spec.rb +54 -0
- data/mkbrut/templates/segments/Demo/specs/factories/db/guestbook_message.factory.rb +7 -0
- data/mkbrut/templates/segments/Demo/specs/front_end/components/flash_component.spec.rb +5 -0
- data/mkbrut/templates/segments/Demo/specs/front_end/handlers/guestbook_message_handler.spec.rb +122 -0
- data/mkbrut/templates/segments/Demo/specs/front_end/pages/guestbook_page/message_component.spec.rb +5 -0
- data/mkbrut/templates/segments/Demo/specs/front_end/pages/guestbook_page.spec.rb +52 -0
- data/mkbrut/templates/segments/Demo/specs/front_end/pages/new_guestbook_message_page.spec.rb +5 -0
- data/mkbrut/templates/segments/Heroku/bin/deploy +11 -0
- data/mkbrut/templates/segments/Heroku/deploy/Dockerfile +125 -0
- data/mkbrut/templates/segments/Heroku/deploy/docker-entrypoint +15 -0
- data/mkbrut/templates/segments/Heroku/deploy/heroku_config.rb +26 -0
- metadata +188 -24
- data/brut-js/CHANGELOG.md +0 -5
- data/docs/assets/adrs.md.JRxZ5uYE.lean.js +0 -1
- data/docs/assets/chunks/@localSearchIndexroot.C9FqcQxD.js +0 -1
- data/docs/assets/overview.md.iMnwLO4x.js +0 -1
- data/docs/assets/overview.md.iMnwLO4x.lean.js +0 -1
- data/docs/assets/tutorial.md.BYXj4cOu.js +0 -1
- data/docs/assets/tutorial.md.BYXj4cOu.lean.js +0 -1
- /data/docs/assets/{components.md.BfeWD9sX.lean.js → components.md.DHh-NwKs.lean.js} +0 -0
- /data/docs/assets/{configuration.md.DoSBNc0H.lean.js → configuration.md.D8Wz3oJU.lean.js} +0 -0
- /data/docs/assets/{forms.md.DFveP5g_.lean.js → forms.md.BRE85eju.lean.js} +0 -0
@@ -41,7 +41,13 @@ import ConstraintViolationMessage from "./ConstraintViolationMessage"
|
|
41
41
|
* 4. If the request returns OK:
|
42
42
|
* - `requesting` will be removed and `submitted` will be added.
|
43
43
|
* - `submitted` will be removed after `submitted-lifetime` ms.
|
44
|
-
*
|
44
|
+
* - the `brut:submitok` event will be fired with the response text, **parsed as HTML**, as `event.detail`.
|
45
|
+
* 5. If the request returned a 422:
|
46
|
+
* - If you have set `no-server-side-error-parsing`, the results will be included in the
|
47
|
+
* detail field of the `brut:submitinvalid` event.
|
48
|
+
* - If you have NOT set `no-server-side-error-parsing`, the response is parsed as
|
49
|
+
* errors to be inserted into the DOM. See below for how that works. In this case,
|
50
|
+
* `brut:submitinvalid`'s detail bill be null.
|
45
51
|
* 6. If the request returns not OK and not 422:
|
46
52
|
* - if it has been `request-timeout` ms or more since the button was first clicked, the operation is aborted (see below).
|
47
53
|
* - if it has been less than `request-timeout` ms and the HTTP status code was 5xx, the operation is retried.
|
@@ -51,7 +57,8 @@ import ConstraintViolationMessage from "./ConstraintViolationMessage"
|
|
51
57
|
* Aborting the operation will submit the form in the normal way, allowing the browser to deal with whatever the issue is. You can set
|
52
58
|
* `log-request-errors` to introspect this process.
|
53
59
|
*
|
54
|
-
* For a 422 response
|
60
|
+
* For a 422 response (where `no-server-side-error-parsing` is *not* set),
|
61
|
+
* this element assumes the response is `text/html` and contains one or more `<brut-cv>`
|
55
62
|
* elements. These elements will be inserted into the proper `<brut-cv-messages>` element, as follows:
|
56
63
|
*
|
57
64
|
* 1. The `input-name` is examined.
|
@@ -65,6 +72,17 @@ import ConstraintViolationMessage from "./ConstraintViolationMessage"
|
|
65
72
|
* 9. The first input located is scrolled into view
|
66
73
|
* 10. If the input is modified after this all happens, custom validity is cleared
|
67
74
|
*
|
75
|
+
* For the server you are contacting, this element has a few requirements:
|
76
|
+
*
|
77
|
+
* - If everything is OK/the operation did what it was intended to do:
|
78
|
+
* - the server will respond with a 2xx
|
79
|
+
* - the response body, if it contains anything, be `text/html` (this is provided in the event detail)
|
80
|
+
* - If there are server-side constraint violations.
|
81
|
+
* - the server will return 422
|
82
|
+
* - the response body will be `text/html`
|
83
|
+
* - the response body will contain one or more `<brut-cv>` elements
|
84
|
+
*
|
85
|
+
* @property {boolean} no-server-side-error-parsing - if set, the response body for a 422 will not be parsed and inserted into the DOM. Instead, the body will be part of the detail of the `brut:submitinvalid` event.
|
68
86
|
* @property {number} request-timeout - number of ms that the entire operation is expected to complete within. Default is 5000
|
69
87
|
* @property {number} submitted-lifetime - number of ms that "submitted" should remain on the element after the form has completed. Default is 2000
|
70
88
|
* @property {boolean} requesting - boolean attribute that indicates the request has been made, but not yet returned. Don't set this yourself outside of development. It will be set and removed by this element.
|
@@ -72,8 +90,8 @@ import ConstraintViolationMessage from "./ConstraintViolationMessage"
|
|
72
90
|
* @property {boolean} log-request-errors - if set, logging related to request error handling will appear in the console. It will also
|
73
91
|
* cause any form submission to be delayed by 2s to allow you to read the console.
|
74
92
|
*
|
75
|
-
* @fires brut:submitok Fired when the AJAX request initated by this returns OK and all processing has completed
|
76
|
-
* @fires brut:submitinvalid Fired when the AJAX request initated by this returns a 422 and all logic around managing the reponse has completed
|
93
|
+
* @fires brut:submitok Fired when the AJAX request initated by this returns OK and all processing has completed. The detail will include the *parsed document* of the HTML returned in the response.
|
94
|
+
* @fires brut:submitinvalid Fired when the AJAX request initated by this returns a 422 and all logic around managing the reponse has completed. The detail will be null unless `no-server-side-error-parsing` is set, in which case it will be the parsed document of the HTML returned in the response.
|
77
95
|
*
|
78
96
|
* @example
|
79
97
|
* <form action="/widgets" method="post">
|
@@ -96,6 +114,7 @@ class AjaxSubmit extends BaseCustomElement {
|
|
96
114
|
"request-timeout",
|
97
115
|
"max-retry-attempts",
|
98
116
|
"log-request-errors",
|
117
|
+
"no-server-side-error-parsing",
|
99
118
|
]
|
100
119
|
|
101
120
|
#requestErrorLogger = () => {}
|
@@ -103,6 +122,12 @@ class AjaxSubmit extends BaseCustomElement {
|
|
103
122
|
#submittedLifetime = 2000
|
104
123
|
#requestTimeout = 5000
|
105
124
|
#maxRetryAttempts = 25
|
125
|
+
#serverSideErrorParsing = true
|
126
|
+
|
127
|
+
constructor() {
|
128
|
+
super()
|
129
|
+
this.domParser = new DOMParser()
|
130
|
+
}
|
106
131
|
|
107
132
|
submittedLifetimeChangedCallback({newValue}) {
|
108
133
|
const newValueAsInt = parseInt(newValue)
|
@@ -112,6 +137,10 @@ class AjaxSubmit extends BaseCustomElement {
|
|
112
137
|
this.#submittedLifetime = newValueAsInt
|
113
138
|
}
|
114
139
|
|
140
|
+
noServerSideErrorParsingChangedCallback({newValueAsBoolean}) {
|
141
|
+
this.#serverSideErrorParsing = !newValueAsBoolean
|
142
|
+
}
|
143
|
+
|
115
144
|
maxRetryAttemptsChangedCallback({newValue}) {
|
116
145
|
const num = parseInt(newValue)
|
117
146
|
if (isNaN(num)) {
|
@@ -215,7 +244,10 @@ class AjaxSubmit extends BaseCustomElement {
|
|
215
244
|
this.setAttribute("submitted",true)
|
216
245
|
|
217
246
|
setTimeout( () => this.removeAttribute("submitted"), this.#submittedLifetime )
|
218
|
-
|
247
|
+
response.text().then( (text) => {
|
248
|
+
const parsedDocument = this.domParser.parseFromString(text,"text/html")
|
249
|
+
this.dispatchEvent(new CustomEvent("brut:submitok", { detail: parsedDocument }))
|
250
|
+
})
|
219
251
|
}
|
220
252
|
else {
|
221
253
|
|
@@ -278,49 +310,53 @@ class AjaxSubmit extends BaseCustomElement {
|
|
278
310
|
#handleConstraintViolations(response) {
|
279
311
|
let resubmit = false
|
280
312
|
response.text().then( (text) => {
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
313
|
+
const parsedDocument = this.domParser.parseFromString(text,"text/html")
|
314
|
+
let event
|
315
|
+
if (this.#serverSideErrorParsing) {
|
316
|
+
event = new CustomEvent("brut:submitinvalid")
|
317
|
+
}
|
318
|
+
else {
|
319
|
+
event = new CustomEvent("brut:submitinvalid", { detail: parsedDocument })
|
320
|
+
}
|
321
|
+
this.dispatchEvent(event)
|
322
|
+
if (this.#serverSideErrorParsing) {
|
323
|
+
const constraintViolationNodes = parsedDocument.querySelectorAll(ConstraintViolationMessage.tagName)
|
324
|
+
try {
|
325
|
+
const inputsToMessages = ErrorMessagesForInput.mapInputsToErrorMessages(
|
326
|
+
constraintViolationNodes,
|
327
|
+
this.#requestErrorLogger
|
328
|
+
)
|
329
|
+
|
330
|
+
let inputToScrollToAfterReportingValidity
|
331
|
+
for (const [inputName, {input, messagesElement, errorMessages}] of Object.entries(inputsToMessages)) {
|
332
|
+
if (!inputToScrollToAfterReportingValidity) {
|
333
|
+
inputToScrollToAfterReportingValidity = input
|
334
|
+
}
|
335
|
+
messagesElement.clearServerSideMessages()
|
336
|
+
errorMessages.forEach( (element) => {
|
337
|
+
ConstraintViolationMessage.markServerSide(element)
|
338
|
+
messagesElement.appendChild(element)
|
339
|
+
})
|
340
|
+
this.#setCustomValidityThatClearsOnChange(input,errorMessages)
|
341
|
+
}
|
286
342
|
|
287
|
-
|
288
|
-
|
289
|
-
if (!inputToScrollToAfterReportingValidity) {
|
290
|
-
inputToScrollToAfterReportingValidity = input
|
343
|
+
if (inputToScrollToAfterReportingValidity) {
|
344
|
+
inputToScrollToAfterReportingValidity.scrollIntoView()
|
291
345
|
}
|
292
|
-
|
293
|
-
|
294
|
-
ConstraintViolationMessage.markServerSide(element)
|
295
|
-
messagesElement.appendChild(element)
|
296
|
-
})
|
297
|
-
this.#setCustomValidityThatClearsOnChange(input,errorMessages)
|
346
|
+
resubmit = false
|
347
|
+
this.removeAttribute("requesting")
|
298
348
|
}
|
299
|
-
|
300
|
-
|
301
|
-
|
349
|
+
catch (e) {
|
350
|
+
this.#requestErrorLogger("While parsing %s, got %s", text, e)
|
351
|
+
resubmit = true
|
352
|
+
}
|
353
|
+
if (resubmit) {
|
354
|
+
this.#submitFormThroughBrowser(form)
|
302
355
|
}
|
303
|
-
resubmit = false
|
304
|
-
this.removeAttribute("requesting")
|
305
|
-
this.dispatchEvent(new CustomEvent("brut:submitinvalid"))
|
306
|
-
}
|
307
|
-
catch (e) {
|
308
|
-
this.#requestErrorLogger("While parsing %s, got %s", text, e)
|
309
|
-
resubmit = true
|
310
|
-
}
|
311
|
-
if (resubmit) {
|
312
|
-
this.#submitFormThroughBrowser(form)
|
313
356
|
}
|
314
357
|
})
|
315
358
|
}
|
316
359
|
|
317
|
-
#errorMessagesFromServer(text) {
|
318
|
-
const parser = new DOMParser()
|
319
|
-
const fragment = parser.parseFromString(text,"text/html")
|
320
|
-
|
321
|
-
return fragment.querySelectorAll(ConstraintViolationMessage.tagName)
|
322
|
-
}
|
323
|
-
|
324
360
|
#setCustomValidityThatClearsOnChange(input,errorMessages) {
|
325
361
|
input.setCustomValidity(errorMessages[0].textContent)
|
326
362
|
input.reportValidity()
|
@@ -426,7 +462,7 @@ export default AjaxSubmit
|
|
426
462
|
<br class="clear">
|
427
463
|
|
428
464
|
<footer>
|
429
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
465
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
430
466
|
</footer>
|
431
467
|
|
432
468
|
<script> prettyPrint(); </script>
|
@@ -183,7 +183,7 @@ That means if your input/textarea/select uses the <code>form</code> attribute, t
|
|
183
183
|
<br class="clear">
|
184
184
|
|
185
185
|
<footer>
|
186
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
186
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
187
187
|
</footer>
|
188
188
|
|
189
189
|
<script> prettyPrint(); </script>
|
@@ -105,7 +105,7 @@ export default Autosubmit
|
|
105
105
|
<br class="clear">
|
106
106
|
|
107
107
|
<footer>
|
108
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
108
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
109
109
|
</footer>
|
110
110
|
|
111
111
|
<script> prettyPrint(); </script>
|
@@ -1082,7 +1082,7 @@ this inside a <code>DOMContentLoaded</code> event, or after the page's HTML has
|
|
1082
1082
|
<br class="clear">
|
1083
1083
|
|
1084
1084
|
<footer>
|
1085
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
1085
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
1086
1086
|
</footer>
|
1087
1087
|
|
1088
1088
|
<script> prettyPrint(); </script>
|
@@ -303,7 +303,7 @@ export default BaseCustomElement
|
|
303
303
|
<br class="clear">
|
304
304
|
|
305
305
|
<footer>
|
306
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
306
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
307
307
|
</footer>
|
308
308
|
|
309
309
|
<script> prettyPrint(); </script>
|
@@ -163,7 +163,7 @@ elements.</p></div>
|
|
163
163
|
<br class="clear">
|
164
164
|
|
165
165
|
<footer>
|
166
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
166
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
167
167
|
</footer>
|
168
168
|
|
169
169
|
<script> prettyPrint(); </script>
|
@@ -164,7 +164,7 @@ information captured before warnings were turned on.</p></div>
|
|
164
164
|
<br class="clear">
|
165
165
|
|
166
166
|
<footer>
|
167
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
167
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
168
168
|
</footer>
|
169
169
|
|
170
170
|
<script> prettyPrint(); </script>
|
@@ -269,7 +269,7 @@ If there is no such dialog or the id references the wrong element type,
|
|
269
269
|
<br class="clear">
|
270
270
|
|
271
271
|
<footer>
|
272
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
272
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
273
273
|
</footer>
|
274
274
|
|
275
275
|
<script> prettyPrint(); </script>
|
@@ -158,7 +158,7 @@ export default ConfirmSubmit
|
|
158
158
|
<br class="clear">
|
159
159
|
|
160
160
|
<footer>
|
161
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
161
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
162
162
|
</footer>
|
163
163
|
|
164
164
|
<script> prettyPrint(); </script>
|
@@ -416,7 +416,7 @@ denied, respectively.</p></td>
|
|
416
416
|
<br class="clear">
|
417
417
|
|
418
418
|
<footer>
|
419
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
419
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
420
420
|
</footer>
|
421
421
|
|
422
422
|
<script> prettyPrint(); </script>
|
@@ -185,7 +185,7 @@ export default ConfirmationDialog
|
|
185
185
|
<br class="clear">
|
186
186
|
|
187
187
|
<footer>
|
188
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
188
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
189
189
|
</footer>
|
190
190
|
|
191
191
|
<script> prettyPrint(); </script>
|
@@ -439,7 +439,7 @@ are managed.</p>
|
|
439
439
|
<br class="clear">
|
440
440
|
|
441
441
|
<footer>
|
442
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
442
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
443
443
|
</footer>
|
444
444
|
|
445
445
|
<script> prettyPrint(); </script>
|
@@ -167,7 +167,7 @@ export default ConstraintViolationMessage
|
|
167
167
|
<br class="clear">
|
168
168
|
|
169
169
|
<footer>
|
170
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
170
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
171
171
|
</footer>
|
172
172
|
|
173
173
|
<script> prettyPrint(); </script>
|
@@ -581,7 +581,7 @@ true. Thus, a <code><brut-cv></code> would be created with <code>key=&quo
|
|
581
581
|
<br class="clear">
|
582
582
|
|
583
583
|
<footer>
|
584
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
584
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
585
585
|
</footer>
|
586
586
|
|
587
587
|
<script> prettyPrint(); </script>
|
@@ -140,7 +140,7 @@ export default ConstraintViolationMessages
|
|
140
140
|
<br class="clear">
|
141
141
|
|
142
142
|
<footer>
|
143
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
143
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
144
144
|
</footer>
|
145
145
|
|
146
146
|
<script> prettyPrint(); </script>
|
@@ -336,7 +336,7 @@ c. The <code>brut:copyfailed</code> event is fired. It's detail contains a <code
|
|
336
336
|
<br class="clear">
|
337
337
|
|
338
338
|
<footer>
|
339
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
339
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
340
340
|
</footer>
|
341
341
|
|
342
342
|
<script> prettyPrint(); </script>
|
@@ -138,7 +138,7 @@ export default CopyToClipboard
|
|
138
138
|
<br class="clear">
|
139
139
|
|
140
140
|
<footer>
|
141
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
141
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
142
142
|
</footer>
|
143
143
|
|
144
144
|
<script> prettyPrint(); </script>
|
data/docs/brut-js/api/Form.html
CHANGED
@@ -285,7 +285,7 @@ when constraint violations have cleared.event:</li>
|
|
285
285
|
<br class="clear">
|
286
286
|
|
287
287
|
<footer>
|
288
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
288
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
289
289
|
</footer>
|
290
290
|
|
291
291
|
<script> prettyPrint(); </script>
|
@@ -193,7 +193,7 @@ export default Form
|
|
193
193
|
<br class="clear">
|
194
194
|
|
195
195
|
<footer>
|
196
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
196
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
197
197
|
</footer>
|
198
198
|
|
199
199
|
<script> prettyPrint(); </script>
|
@@ -400,7 +400,7 @@ if (element) {
|
|
400
400
|
<br class="clear">
|
401
401
|
|
402
402
|
<footer>
|
403
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
403
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
404
404
|
</footer>
|
405
405
|
|
406
406
|
<script> prettyPrint(); </script>
|
@@ -103,7 +103,7 @@ export default I18nTranslation
|
|
103
103
|
<br class="clear">
|
104
104
|
|
105
105
|
<footer>
|
106
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
106
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
107
107
|
</footer>
|
108
108
|
|
109
109
|
<script> prettyPrint(); </script>
|
@@ -303,7 +303,7 @@ set. Further note that this will only contact the server once per page load, un
|
|
303
303
|
<br class="clear">
|
304
304
|
|
305
305
|
<footer>
|
306
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
306
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
307
307
|
</footer>
|
308
308
|
|
309
309
|
<script> prettyPrint(); </script>
|
@@ -159,7 +159,7 @@ export default LocaleDetection
|
|
159
159
|
<br class="clear">
|
160
160
|
|
161
161
|
<footer>
|
162
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
162
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
163
163
|
</footer>
|
164
164
|
|
165
165
|
<script> prettyPrint(); </script>
|
@@ -693,7 +693,7 @@ in the console to help debug.</p></div>
|
|
693
693
|
<br class="clear">
|
694
694
|
|
695
695
|
<footer>
|
696
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
696
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
697
697
|
</footer>
|
698
698
|
|
699
699
|
<script> prettyPrint(); </script>
|
@@ -132,7 +132,7 @@ export default Logger
|
|
132
132
|
<br class="clear">
|
133
133
|
|
134
134
|
<footer>
|
135
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
135
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
136
136
|
</footer>
|
137
137
|
|
138
138
|
<script> prettyPrint(); </script>
|
@@ -229,7 +229,7 @@ the element will not render any text.</p></td>
|
|
229
229
|
<br class="clear">
|
230
230
|
|
231
231
|
<footer>
|
232
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
232
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
233
233
|
</footer>
|
234
234
|
|
235
235
|
<script> prettyPrint(); </script>
|
@@ -98,7 +98,7 @@ export default Message
|
|
98
98
|
<br class="clear">
|
99
99
|
|
100
100
|
<footer>
|
101
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
101
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
102
102
|
</footer>
|
103
103
|
|
104
104
|
<script> prettyPrint(); </script>
|
@@ -360,7 +360,7 @@ messages output.</p></td>
|
|
360
360
|
<br class="clear">
|
361
361
|
|
362
362
|
<footer>
|
363
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
363
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
364
364
|
</footer>
|
365
365
|
|
366
366
|
<script> prettyPrint(); </script>
|
@@ -1040,7 +1040,7 @@ as well as handle <code>null</code>.</p>
|
|
1040
1040
|
<br class="clear">
|
1041
1041
|
|
1042
1042
|
<footer>
|
1043
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
1043
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
1044
1044
|
</footer>
|
1045
1045
|
|
1046
1046
|
<script> prettyPrint(); </script>
|
@@ -155,7 +155,7 @@ export default RichString
|
|
155
155
|
<br class="clear">
|
156
156
|
|
157
157
|
<footer>
|
158
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
158
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
159
159
|
</footer>
|
160
160
|
|
161
161
|
<script> prettyPrint(); </script>
|
data/docs/brut-js/api/Tabs.html
CHANGED
@@ -286,7 +286,7 @@ style UI.</p></td>
|
|
286
286
|
<br class="clear">
|
287
287
|
|
288
288
|
<footer>
|
289
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
289
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
290
290
|
</footer>
|
291
291
|
|
292
292
|
<script> prettyPrint(); </script>
|
@@ -210,7 +210,7 @@ export default Tabs
|
|
210
210
|
<br class="clear">
|
211
211
|
|
212
212
|
<footer>
|
213
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
213
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
214
214
|
</footer>
|
215
215
|
|
216
216
|
<script> prettyPrint(); </script>
|
@@ -268,7 +268,7 @@ Of course, this element is many magnitudes smaller in size than Open Telemetry's
|
|
268
268
|
<br class="clear">
|
269
269
|
|
270
270
|
<footer>
|
271
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
271
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
272
272
|
</footer>
|
273
273
|
|
274
274
|
<script> prettyPrint(); </script>
|
@@ -289,7 +289,7 @@ export default Tracing
|
|
289
289
|
<br class="clear">
|
290
290
|
|
291
291
|
<footer>
|
292
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
292
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
293
293
|
</footer>
|
294
294
|
|
295
295
|
<script> prettyPrint(); </script>
|
@@ -131,7 +131,7 @@
|
|
131
131
|
<br class="clear">
|
132
132
|
|
133
133
|
<footer>
|
134
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
134
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
135
135
|
</footer>
|
136
136
|
|
137
137
|
<script> prettyPrint(); </script>
|
@@ -129,7 +129,7 @@
|
|
129
129
|
<br class="clear">
|
130
130
|
|
131
131
|
<footer>
|
132
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
132
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
133
133
|
</footer>
|
134
134
|
|
135
135
|
<script> prettyPrint(); </script>
|
@@ -129,7 +129,7 @@
|
|
129
129
|
<br class="clear">
|
130
130
|
|
131
131
|
<footer>
|
132
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
132
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
133
133
|
</footer>
|
134
134
|
|
135
135
|
<script> prettyPrint(); </script>
|
@@ -129,7 +129,7 @@
|
|
129
129
|
<br class="clear">
|
130
130
|
|
131
131
|
<footer>
|
132
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
132
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
133
133
|
</footer>
|
134
134
|
|
135
135
|
<script> prettyPrint(); </script>
|
@@ -224,7 +224,7 @@
|
|
224
224
|
<br class="clear">
|
225
225
|
|
226
226
|
<footer>
|
227
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
227
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
228
228
|
</footer>
|
229
229
|
|
230
230
|
<script> prettyPrint(); </script>
|
@@ -129,7 +129,7 @@
|
|
129
129
|
<br class="clear">
|
130
130
|
|
131
131
|
<footer>
|
132
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
132
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
133
133
|
</footer>
|
134
134
|
|
135
135
|
<script> prettyPrint(); </script>
|
@@ -391,7 +391,7 @@ called and can be useful to assert the contents of what was requested via <code>
|
|
391
391
|
<br class="clear">
|
392
392
|
|
393
393
|
<footer>
|
394
|
-
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on
|
394
|
+
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Mon Jul 21 2025 18:28:19 GMT+0000 (Coordinated Universal Time)
|
395
395
|
</footer>
|
396
396
|
|
397
397
|
<script> prettyPrint(); </script>
|