Hi Paul
See the document below for more details: https://github.com/abpio/abp-commercial-docs/blob/dev/en/ui/angular/theme-lepton-custom-style.md
The enhancement will be available in v4.3. You can check the release dates: https://github.com/abpframework/abp/milestones
The Lepton Module loads a Lepton CSS according to the response of application-configuration
endpoint after the application initialized. We have made an improvement that able to disable the dynamic CSS loading in runtime so that a custom CSS file can be loaded. Thus, you will be able to load your style file by adding it to angular.json
, index.html
, or styles.scss
. You will not need to copy the style file to node_modules
. The new method has an advantage. The screen will not flicker as styles will not be added to the DOM in runtime.
Hi @jtallon
Can you answer the foıllowing questions so that we can help you better:
Hi
The problem has been resolved as of v3.3. Do you mind upgrade your app to the v3.3 or higher? If you install the v3.3 ABP packages, you can use the second way.
Hi @nhontran
You can handle many cases (listening some JavaScript events, sharing user activity data with opened tabs, etc.) to achive this. What I suggest is that use a third-party library like this: https://github.com/rednez/angular-user-idle
But I did not go into detail with the package. You can examine the package and use it if you wish.
If you want to handle some cases in your app, you can do this in a service.
You can use the AuthService
which is exported from @abp/ng.core
package for logging out. See an example:
import { AuthService } from '@abp/ng.core';
@Injectable()
export class MyService {
constructor(private authService: AuthService){}
logout() {
this.authService.logout().subscribe();
}
}
Hi @MILLENNIUM, @bqabani
Warning: Entry point '@volo/abp.ng.account/config' contains deep imports into '......./angular/projects/account/admin/src/public-api.ts'. This is probably not a problem, but may cause the compilation of entry points to be out of order. Error: Failed to compile entry-point @volo/abp.ng.account/config (es2015 as esm2015) due to compilation errors: projects/account/admin/src/account-settings.module.ts:28:14 - error NG6002: Appears in the NgModule.imports of AccountConfigModule, but could not be resolved to an NgModule class. Is it missing an @NgModule annotation? 28 export class AccountSettingsModule {}
To resolve the problem above, first, you should add a file named tsconfig.prod.json
with the below content to angular folder.
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"module": "esnext",
"moduleResolution": "node",
"importHelpers": true,
"target": "es2015",
"typeRoots": ["node_modules/@types"],
"lib": ["es2018", "dom"],
"types": ["jest"]
},
"angularCompilerOptions": {
"fullTemplateTypeCheck": true,
"strictInjectionParameters": true
}
}
Then open the package.json
and add the following scripts:
"scripts": {
...
"compile:ivy": "yarn ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points --tsconfig './tsconfig.prod.json' --source node_modules",
"postinstall": "npm run compile:ivy"
},
After this configuration, you should remove yarn.lock
and run the yarn
command.
There is a problem with ngcc. It can not resolve the paths in tsconfig.json correctly. The solution above is just a trick.
Hi @MILLENNIUM
The problem might be related to ngcc
. Can remove the yarn.lock
and package-lock.json
and run yarn
(or npm install
) command and try again?
Hi @tony
We're still working on this. When complete, we will notify you and provide a document about implementation of the feature.
Hi @paul.harriman
I've created an internal issue. I will let you know when we make any progress about this.
Thanks for reporting.
Can you share the code?