From 2e1173fb3d108a2f82f5264f1f74d39b7456332b Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Sun, 18 Jun 2023 14:32:50 +0200 Subject: [PATCH] Introduce `application.lazyLoadingControllers` config This configuration is used to indicate if the Stimulus application is lazy loading its Stimulus controllers or if the controllers are being eager loaded. --- src/core/application.ts | 1 + src/tests/modules/core/application_tests.ts | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/src/core/application.ts b/src/core/application.ts index b8b92715..884e5450 100644 --- a/src/core/application.ts +++ b/src/core/application.ts @@ -15,6 +15,7 @@ export class Application implements ErrorHandler { readonly actionDescriptorFilters: ActionDescriptorFilters logger: Logger = console debug = false + lazyLoadingControllers = false static start(element?: Element, schema?: Schema): Application { const application = new this(element, schema) diff --git a/src/tests/modules/core/application_tests.ts b/src/tests/modules/core/application_tests.ts index 8cee672f..d142e1b0 100644 --- a/src/tests/modules/core/application_tests.ts +++ b/src/tests/modules/core/application_tests.ts @@ -45,6 +45,16 @@ export default class ApplicationTests extends ApplicationTestCase { this.assert.ok(this.controllers[0] instanceof BController) } + "test Application#lazyLoadingControllers"() { + this.assert.equal(this.application.lazyLoadingControllers, false) + + this.application.lazyLoadingControllers = true + this.assert.equal(this.application.lazyLoadingControllers, true) + + this.application.lazyLoadingControllers = false + this.assert.equal(this.application.lazyLoadingControllers, false) + } + get controllers() { return this.application.controllers as LogController[] }