Activities of "mchtbrt"

Description

ABP (LeptonX) sidebar navigation forces all root menu items that have children to be collapsible.
Currently, there is no built-in or supported way to disable this collapse behavior and keep a menu group always expanded.

This limitation affects use cases such as Quick Links section which are expected to remain permanently visible in the sidebar.


Current Behavior

  • Root menu items with children are always rendered as collapsible
  • Collapse / expand arrow is mandatory
  • There is no configuration option such as:
    • disableCollapse
    • alwaysExpanded
    • expandedByDefault (locked)

The only non-collapsible option is using menu-title, but:

  • menu-title items cannot contain child routes
  • They are not suitable for functional menu groups

Expected Behavior

Provide an optional configuration to disable collapse behavior for a menu group, for example:

  • A flag to keep the menu always expanded
  • No collapse arrow shown
  • Default responsive behavior preserved

This should be an opt-in feature and should not change the existing default behavior.


Thank you.

Hi, I added the paths configuration to apps/angular/tsconfig.json, but the error is still happening. Is there anything else I should try? Also, has there been an official announcement or update about this issue?

Error

We are getting a runtime error when we build the Angular project. This error came from nowhere. Nothing changed and we can't run even a version from 2 months ago. The error is coming from the project core dependency (@abp/ng.core). The error message is:

NullInjectorError: NullInjectorError: No provider for InjectionToken CORE_OPTIONS!
    at Yf.get (core.mjs:1604:21)
    at Dc.get (core.mjs:2134:27)
    at Dc.get (core.mjs:2134:27)
    at nk (core.mjs:1110:28)
    at R (core.mjs:1116:40)
    at rn.ɵfac [as factory] (abp-ng.core.mjs:973:42)
    at Dc.hydrate (core.mjs:2251:33)
    at Dc.get (core.mjs:2125:23)
    at nk (core.mjs:1110:28)
    at R (core.mjs:1116:40)

Packages

{
"dependencies": {
    "@abp/ng.components": "~9.1.0",
    "@abp/ng.core": "~9.1.0",
    "@abp/ng.oauth": "~9.1.0",
    "@abp/ng.setting-management": "~9.1.0",
    "@abp/ng.theme.shared": "~9.1.0",
    "@abp/signalr": "^9.1.0",
    "@abp/uppy": "9.1.0",
    "@angular/animations": "~19.2.3",
    "@angular/common": "~19.2.3",
    "@angular/compiler": "~19.2.3",
    "@angular/core": "~19.2.3",
    "@angular/elements": "19.2.3",
    "@angular/forms": "~19.2.3",
    "@angular/localize": "~19.2.3",
    "@angular/platform-browser": "~19.2.3",
    "@angular/platform-browser-dynamic": "~19.2.3",
    "@angular/router": "~19.2.3",
    "@formio/angular": "^8.0.0",
    "@formio/js": "^5.0.1",
    "@mescius/activereportsjs-angular": "^5.2.0",
    "@sentry/angular": "^9.7.0",
    "@storybook/test": "^8.6.7",
    "@volo/abp.commercial.ng.ui": "~9.1.0",
    "@volo/abp.ng.account": "~9.1.0",
    "@volo/abp.ng.audit-logging": "~9.1.0",
    "@volo/abp.ng.identity": "~9.1.0",
    "@volo/abp.ng.language-management": "~9.1.0",
    "@volo/abp.ng.openiddictpro": "~9.1.0",
    "@volo/abp.ng.saas": "~9.1.0",
    "@volo/abp.ng.text-template-management": "~9.1.0",
    "@volosoft/abp.ng.theme.lepton-x": "~4.1.0",
    "angular-gridster2": "^19.0.0",
    "dayjs": "^1.11.13",
    "highcharts": "11.4.8",
    "monaco-editor": "^0.52.2",
    "ngx-angular-query-builder": "~18.0.0",
    "ngx-extended-pdf-viewer": "^22.3.9",
    "ngx-flexmonster": "2.9.99",
    "ngx-monaco-editor-v2": "^19.0.2",
    "ngx-quill": "27.0.1",
    "quill": "2.0.3",
    "rxjs": "7.8.2",
    "swagger-ui": "5.17.14",
    "tslib": "2.8.1",
    "zone.js": "~0.15.0"
  },
  "devDependencies": {
    "@abp/ng.schematics": "~9.1.0",
    "@angular-devkit/build-angular": "~19.2.4",
    "@angular-eslint/builder": "~19.2.1",
    "@angular-eslint/eslint-plugin": "~19.2.1",
    "@angular-eslint/eslint-plugin-template": "~19.2.1",
    "@angular-eslint/schematics": "~19.2.1",
    "@angular-eslint/template-parser": "~19.2.1",
    "@angular/cli": "~19.2.4",
    "@angular/compiler-cli": "~19.2.3",
    "@angular/language-service": "~19.2.3",
    "@compodoc/compodoc": "^1.1.26",
    "@storybook/addon-essentials": "^8.6.7",
    "@storybook/addon-interactions": "^8.6.7",
    "@storybook/addon-links": "^8.6.7",
    "@storybook/angular": "^8.6.7",
    "@storybook/blocks": "^8.6.7",
    "@storybook/test-runner": "^0.22.0",
    "@types/jasmine": "~5.1.7",
    "@types/node": "^22.13.10",
    "@typescript-eslint/eslint-plugin": "^8.27.0",
    "@typescript-eslint/parser": "^8.27.0",
    "eslint": "9.22.0",
    "eslint-config-prettier": "^10.1.1",
    "eslint-plugin-prettier": "^5.2.3",
    "eslint-plugin-storybook": "^0.11.6",
    "jasmine-core": "~5.6.0",
    "karma": "~6.4.4",
    "karma-chrome-launcher": "~3.2.0",
    "karma-coverage": "~2.2.1",
    "karma-jasmine": "~5.1.0",
    "karma-jasmine-html-reporter": "^2.1.0",
    "ng-packagr": "^19.2.0",
    "preact": "^10.26.4",
    "prettier": "^3.5.3",
    "prettier-eslint": "^16.3.0",
    "storybook": "^8.6.7",
    "typescript": "5.8.2"
  }
}

Tried Solutions

I tried:

  • I checked out a commit from 2 months ago.
  • I tried all the variations of the @abp/@9.x.x packages.
  • I tried dozens of fresh installs.
  • I read all the questions related to this error in their forum, as well as on StackOverflow.
  • I tried to downgrade the @abp/* packages to 8.3.0.
  • I tried several @angular/*@19.x.x packages well.
Showing 1 to 3 of 3 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.2.0-preview. Updated on February 05, 2026, 13:24
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.