mirror of
https://github.com/akveo/ngx-admin.git
synced 2025-12-16 15:40:11 +01:00
Merge branch 'master' into master
This commit is contained in:
commit
a56ab9e45f
52 changed files with 6293 additions and 5078 deletions
57
.eslintrc.json
Normal file
57
.eslintrc.json
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
{
|
||||||
|
"root": true,
|
||||||
|
"ignorePatterns": [
|
||||||
|
"projects/**/*"
|
||||||
|
],
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.ts"
|
||||||
|
],
|
||||||
|
"parserOptions": {
|
||||||
|
"project": [
|
||||||
|
"tsconfig.json",
|
||||||
|
"e2e/tsconfig.json"
|
||||||
|
],
|
||||||
|
"createDefaultProgram": true
|
||||||
|
},
|
||||||
|
"extends": [
|
||||||
|
"plugin:@angular-eslint/recommended",
|
||||||
|
"plugin:@angular-eslint/template/process-inline-templates"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"@angular-eslint/no-input-rename": [
|
||||||
|
"warn",
|
||||||
|
{
|
||||||
|
"allowedNames": ["name"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@angular-eslint/component-selector": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"prefix": "ngx",
|
||||||
|
"style": "kebab-case",
|
||||||
|
"type": "element"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@angular-eslint/directive-selector": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"prefix": "ngx",
|
||||||
|
"style": "camelCase",
|
||||||
|
"type": "attribute"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.html"
|
||||||
|
],
|
||||||
|
"extends": [
|
||||||
|
"plugin:@angular-eslint/template/recommended"
|
||||||
|
],
|
||||||
|
"rules": {}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -23,6 +23,7 @@
|
||||||
!.vscode/extensions.json
|
!.vscode/extensions.json
|
||||||
|
|
||||||
# misc
|
# misc
|
||||||
|
/.angular/cache
|
||||||
/.sass-cache
|
/.sass-cache
|
||||||
/connect.lock
|
/connect.lock
|
||||||
/coverage
|
/coverage
|
||||||
|
|
|
||||||
63
CHANGELOG.md
63
CHANGELOG.md
|
|
@ -1,3 +1,66 @@
|
||||||
|
<a name="11.0.0"></a>
|
||||||
|
# [11.0.0](https://github.com/akveo/ngx-admin/compare/v10.0.0...v11.0.0) (2023-10-29)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **package-lock:** update version in package-lock ([#6002](https://github.com/akveo/ngx-admin/issues/6002)) ([e06d9bd](https://github.com/akveo/ngx-admin/commit/e06d9bd))
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* update to Angular 15 ([aa91634](https://github.com/akveo/ngx-admin/commit/aa91634))
|
||||||
|
|
||||||
|
### BREAKING CHANGES
|
||||||
|
|
||||||
|
- Angular updated to version 14.
|
||||||
|
- Nebular updated to version 10.
|
||||||
|
|
||||||
|
|
||||||
|
<a name="10.0.0"></a>
|
||||||
|
# [10.0.0](https://github.com/akveo/ngx-admin/compare/v9.0.0...v10.0.0) (2023-03-07)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **angular 13:** fix issues after updates to Angular 13 in rooms component and country orders component ([#5965](https://github.com/akveo/ngx-admin/issues/5965)) ([384b841](https://github.com/akveo/ngx-admin/commit/384b841))
|
||||||
|
* fix issues after updates to Angular 13 in rooms component and country orders component ([1d78122](https://github.com/akveo/ngx-admin/commit/1d78122))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* update to Angular 14 ([#1](https://github.com/akveo/ngx-admin/issues/1)) ([2f98e08](https://github.com/akveo/ngx-admin/commit/2f98e08)), closes [#5965](https://github.com/akveo/ngx-admin/issues/5965)
|
||||||
|
|
||||||
|
### BREAKING CHANGES
|
||||||
|
|
||||||
|
- Angular updated to version 13.
|
||||||
|
- Nebular updated to version 9.
|
||||||
|
- Move from tslint to eslint
|
||||||
|
|
||||||
|
|
||||||
|
<a name="9.0.0"></a>
|
||||||
|
# [9.0.0](https://github.com/akveo/ngx-admin/compare/v8.0.0...v9.0.0) (2022-12-29)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* update dependencies ([#5938](https://github.com/akveo/ngx-admin/issues/5938)) ([f1365e1](https://github.com/akveo/ngx-admin/commit/f1365e1))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* add installation notes ([fd95769](https://github.com/akveo/ngx-admin/commit/fd95769))
|
||||||
|
* update dependencies ([#5937](https://github.com/akveo/ngx-admin/issues/5937)) ([237ea6b](https://github.com/akveo/ngx-admin/commit/237ea6b))
|
||||||
|
* update README.md ([f5015ac](https://github.com/akveo/ngx-admin/commit/f5015ac))
|
||||||
|
* update templates section in README ([570031d](https://github.com/akveo/ngx-admin/commit/570031d))
|
||||||
|
* update to Angular 13, move from tslint to eslint ([#5957](https://github.com/akveo/ngx-admin/issues/5957)) ([ec68f5e](https://github.com/akveo/ngx-admin/commit/ec68f5e))
|
||||||
|
|
||||||
|
### BREAKING CHANGES
|
||||||
|
|
||||||
|
- Angular updated to version 13.
|
||||||
|
- Nebular updated to version 9.
|
||||||
|
- Move from tslint to eslint
|
||||||
|
|
||||||
|
|
||||||
<a name="8.0.0"></a>
|
<a name="8.0.0"></a>
|
||||||
# [8.0.0](https://github.com/akveo/ngx-admin/compare/v7.0.0...v8.0.0) (2021-10-08)
|
# [8.0.0](https://github.com/akveo/ngx-admin/compare/v7.0.0...v8.0.0) (2021-10-08)
|
||||||
|
|
||||||
|
|
|
||||||
92
README.md
92
README.md
|
|
@ -1,17 +1,23 @@
|
||||||
Just testing
|
|
||||||
# ngx-admin [<img src="https://i.imgur.com/oMcxwZ0.png" alt="Eva Design System" height="20px" />](https://eva.design?utm_campaign=eva_design%20-%20home%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=top_status_tile) [](https://travis-ci.org/akveo/ngx-admin)
|
|
||||||
|
|
||||||
[Who uses ngx-admin?](https://github.com/akveo/ngx-admin/issues/1645)| [Documentation](https://akveo.github.io/ngx-admin?utm_campaign=ngx_admin%20-%20home%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=github_readme_documentation_link) | [Installation Guidelines](https://akveo.github.io/ngx-admin/docs/getting-started/what-is-ngxadmin?utm_campaign=ngx_admin%20-%20home%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=github_readme_installation_guidelines) | [Angular templates](https://www.akveo.com/templates?utm_campaign=services%20-%20github%20-%20templates&utm_source=ngx_admin&utm_medium=referral&utm_content=github%20readme%20top%20angular%20templates%20link)
|
# ngx-admin [<img src="https://i.imgur.com/oMcxwZ0.png" alt="Eva Design System" height="20px" />](https://eva.design?utm_campaign=eva_design%20-%20home%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=top_status_tile)
|
||||||
|
|
||||||
# Installation notes
|
|
||||||
|
[Live Demo](https://demo.akveo.com/ngx-admin/?utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=live_demo_link) | [Who uses ngx-admin?](https://github.com/akveo/ngx-admin/issues/1645) | [Documentation](https://akveo.github.io/ngx-admin?utm_campaign=ngx_admin%20-%20home%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=github_readme_documentation_link) | [Installation Guidelines](https://akveo.github.io/ngx-admin/docs/getting-started/what-is-ngxadmin?utm_campaign=ngx_admin%20-%20home%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=github_readme_installation_guidelines) | [Angular templates](https://www.akveo.com/templates?utm_campaign=services%20-%20github%20-%20templates&utm_source=ngx_admin&utm_medium=referral&utm_content=github%20readme%20top%20angular%20templates%20link)
|
||||||
|
|
||||||
|
# Admin template based on Angular and <a href="https://github.com/akveo/nebular">Nebular</a>
|
||||||
|
|
||||||
|
<a target="_blank" href="https://demo.akveo.com/ngx-admin/pages/dashboard?theme=corporate&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=hero_banner_corporate"><img src="https://i.imgur.com/mFdqvgG.png"/></a>
|
||||||
|
|
||||||
|
## Repository state and engagement with the community
|
||||||
|
|
||||||
|
Repository is currently in a state of minimal maintenance. Our primary focus is on ensuring that the Angular version used in this project is kept up to date. Our capacity to engage in other aspects of repository management is currently limited.
|
||||||
|
|
||||||
|
We are not actively reviewing or merging pull requests, responding to or resolving issues at this time. We appreciate the effort and contributions from the community and we understand that issues are crucial for the community. But now our current focus is solely on maintaining Angular.
|
||||||
|
|
||||||
|
## Installation notes
|
||||||
|
|
||||||
To install ngx-admin you have to use NodeJS version 14.14+ because of [node-sass](https://github.com/sass/node-sass) version utilized in the application.
|
To install ngx-admin you have to use NodeJS version 14.14+ because of [node-sass](https://github.com/sass/node-sass) version utilized in the application.
|
||||||
|
|
||||||
# Material theme for ngx-admin
|
|
||||||
|
|
||||||
Material admin theme is based on the most popular Angular dashboard template - [ngx-admin](https://akveo.github.io/ngx-admin?utm_campaign=ngx_admin%20-%20home%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin_material&utm_medium=referral&utm_content=github_readme)
|
|
||||||
To use material theme checkout `feat/material-theme` branch.
|
|
||||||
|
|
||||||
## Key features
|
## Key features
|
||||||
|
|
||||||
- The most popular and trusted Angular open source dashboard template is out there. Used by hundreds of thousands developers worldwide and Fortune 500 companies\*.
|
- The most popular and trusted Angular open source dashboard template is out there. Used by hundreds of thousands developers worldwide and Fortune 500 companies\*.
|
||||||
|
|
@ -19,40 +25,9 @@ To use material theme checkout `feat/material-theme` branch.
|
||||||
- Already using ngx-admin and willing to switch to material theme? Material theme is backward-compatible. Check out the article describing how to do that.
|
- Already using ngx-admin and willing to switch to material theme? Material theme is backward-compatible. Check out the article describing how to do that.
|
||||||
- ngx-admin material works perfectly with Angular Material and Nebular. Take the best from both!
|
- ngx-admin material works perfectly with Angular Material and Nebular. Take the best from both!
|
||||||
|
|
||||||
### To use material theme checkout `feat/material-theme` branch
|
|
||||||
|
|
||||||
# Admin template based on Angular 12+ and <a href="https://github.com/akveo/nebular">Nebular</a>
|
|
||||||
|
|
||||||
<a target="_blank" href="https://akveo.com/ngx-admin/pages/dashboard?theme=corporate&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=hero_banner_corporate"><img src="https://i.imgur.com/mFdqvgG.png"/></a>
|
|
||||||
|
|
||||||
### UI Bakery
|
|
||||||
|
|
||||||
Try low-code internal tool builder for free
|
|
||||||
<a href="https://uibakery.io/?utm_source=github&utm_medium=clicks&utm_campaign=banner"><img src="https://user-images.githubusercontent.com/6151971/125071660-41f84900-e0c2-11eb-882a-0c675eb1e5e3.png"></a>
|
|
||||||
|
|
||||||
[Check out our Store](https://store.akveo.com/pages/all-collections?utm_campaign=akveo_store%20-%20all%20bundles%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral%20&utm_content=check_out_our_store) for ready to use Backend Bundles.
|
|
||||||
|
|
||||||
### Templates
|
|
||||||
|
|
||||||
<a href="https://www.akveo.com/templates/fleet-management-dashboard?utm_campaign=services%20[…]x-admin%20&utm_medium=referral%20&utm_content=github_banner%20"><img src="https://i.imgur.com/Z8EwGfh.png"></a>
|
|
||||||
|
|
||||||
### With 6 stunning visual themes
|
|
||||||
|
|
||||||
| <a target="_blank" href="https://www.akveo.com/ngx-admin/pages/dashboard?theme=material-dark&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20docs&utm_source=ngx_admin&utm_medium=referral&utm_content=ngx_admin_material_themes_material_dark"><img src="https://i.imgur.com/67YAlhf.png"/></a> | <a target="_blank" href="https://www.akveo.com/ngx-admin/pages/dashboard?theme=material-light&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20docs&utm_source=ngx_admin&utm_medium=referral&utm_content=ngx_admin_material_themes_material_light"><img src="https://i.imgur.com/aQzw0hD.png"/></a> |
|
|
||||||
| --- | --- |
|
|
||||||
| Material Dark | Material Light |
|
|
||||||
|
|
||||||
| <a target="_blank" href="https://www.akveo.com/ngx-admin/pages/dashboard?theme=dark&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=github_readme_theme_dark"><img src="https://i.imgur.com/9UkTGgr.png"/></a> | <a target="_blank" href="https://akveo.com/ngx-admin/pages/dashboard?theme=default&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=github_readme_theme_default"><img src="https://i.imgur.com/Kn3xDKQ.png"/></a> |
|
|
||||||
| --- | --- |
|
|
||||||
| Dark| Default |
|
|
||||||
|
|
||||||
| <a target="_blank" href="https://www.akveo.com/ngx-admin/pages/dashboard?theme=cosmic&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=github_readme_theme_cosmic"><img src="https://i.imgur.com/iJu2YDF.png"/></a> | <a target="_blank" href="https://www.akveo.com/ngx-admin/pages/dashboard?theme=corporate&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=github_readme_theme_corporate"><img src="https://i.imgur.com/GpUt6NW.png"/></a> |
|
|
||||||
| --- | --- |
|
|
||||||
| Cosmic | Corporate |
|
|
||||||
|
|
||||||
### What's included:
|
### What's included:
|
||||||
|
|
||||||
- Angular 12+ & Typescript
|
- Angular & Typescript
|
||||||
- Bootstrap 4+ & SCSS
|
- Bootstrap 4+ & SCSS
|
||||||
- Responsive layout
|
- Responsive layout
|
||||||
- RTL support
|
- RTL support
|
||||||
|
|
@ -62,9 +37,28 @@ Try low-code internal tool builder for free
|
||||||
- 40+ Angular Components
|
- 40+ Angular Components
|
||||||
- 60+ Usage Examples
|
- 60+ Usage Examples
|
||||||
|
|
||||||
### Demo
|
## Material theme for ngx-admin
|
||||||
|
|
||||||
<a target="_blank" href="http://www.akveo.com/ngx-admin/?utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=live_demo_link">Live Demo</a>
|
Material admin theme is based on the most popular Angular dashboard template - [ngx-admin](https://akveo.github.io/ngx-admin?utm_campaign=ngx_admin%20-%20home%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin_material&utm_medium=referral&utm_content=github_readme)
|
||||||
|
To use material theme checkout `feat/material-theme` branch.
|
||||||
|
|
||||||
|
### Templates
|
||||||
|
|
||||||
|
<a href="https://www.akveo.com/templates/fleet-management-dashboard?utm_campaign=services%20[…]x-admin%20&utm_medium=referral%20&utm_content=github_banner%20"><img src="https://i.imgur.com/Z8EwGfh.png"></a>
|
||||||
|
|
||||||
|
### With 6 stunning visual themes
|
||||||
|
|
||||||
|
| <a target="_blank" href="https://demo.akveo.com/ngx-admin/pages/dashboard?theme=material-dark&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20docs&utm_source=ngx_admin&utm_medium=referral&utm_content=ngx_admin_material_themes_material_dark"><img src="https://i.imgur.com/67YAlhf.png"/></a> | <a target="_blank" href="https://demo.akveo.com/ngx-admin/pages/dashboard?theme=material-light&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20docs&utm_source=ngx_admin&utm_medium=referral&utm_content=ngx_admin_material_themes_material_light"><img src="https://i.imgur.com/aQzw0hD.png"/></a> |
|
||||||
|
| --- | --- |
|
||||||
|
| Material Dark | Material Light |
|
||||||
|
|
||||||
|
| <a target="_blank" href="https://demo.akveo.com/ngx-admin/pages/dashboard?theme=dark&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=github_readme_theme_dark"><img src="https://i.imgur.com/9UkTGgr.png"/></a> | <a target="_blank" href="https://demo.akveo.com/ngx-admin/pages/dashboard?theme=default&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=github_readme_theme_default"><img src="https://i.imgur.com/Kn3xDKQ.png"/></a> |
|
||||||
|
| --- | --- |
|
||||||
|
| Dark| Default |
|
||||||
|
|
||||||
|
| <a target="_blank" href="https://demo.akveo.com/ngx-admin/pages/dashboard?theme=cosmic&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=github_readme_theme_cosmic"><img src="https://i.imgur.com/iJu2YDF.png"/></a> | <a target="_blank" href="https://demo.akveo.com/ngx-admin/pages/dashboard?theme=corporate&utm_campaign=ngx_admin%20-%20demo%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=github_readme_theme_corporate"><img src="https://i.imgur.com/GpUt6NW.png"/></a> |
|
||||||
|
| --- | --- |
|
||||||
|
| Cosmic | Corporate |
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
|
|
@ -80,24 +74,30 @@ This project runs its tests on multiple desktop and mobile browsers using [Brows
|
||||||
|
|
||||||
<img src="https://cloud.githubusercontent.com/assets/131406/22254249/534d889e-e254-11e6-8427-a759fb23b7bd.png" height="40" />
|
<img src="https://cloud.githubusercontent.com/assets/131406/22254249/534d889e-e254-11e6-8427-a759fb23b7bd.png" height="40" />
|
||||||
|
|
||||||
|
## UI Bakery
|
||||||
|
|
||||||
|
Need a visual admin dashboard builder? Check out [UI Bakery](https://uibakery.io).
|
||||||
|
|
||||||
|
<a href="https://uibakery.io"><img src="https://storage.uibakery.io/video-assets/landing/Logo/UIB%20400x150.png" height="80" /></a>
|
||||||
|
|
||||||
## More from Akveo
|
## More from Akveo
|
||||||
|
|
||||||
- [Eva Icons](https://github.com/akveo/eva-icons) - 480+ beautiful Open Source icons
|
- [Eva Icons](https://github.com/akveo/eva-icons) - 480+ beautiful Open Source icons
|
||||||
- [Nebular](https://github.com/akveo/nebular) - Angular Components, Auth and Security
|
- [Nebular](https://github.com/akveo/nebular) - Angular Components, Auth and Security
|
||||||
- [Akveo templates](https://www.akveo.com/templates?utm_campaign=services%20-%20github%20-%20templates&utm_source=ngx_admin&utm_medium=referral&utm_content=ngx_admin%20github%20readme%20more%20from%20akveo%20link) - 10+ Ready-to-use apps templates to speed up your apps developments
|
- [Akveo templates](https://www.akveo.com/templates?utm_campaign=services%20-%20github%20-%20templates&utm_source=ngx_admin&utm_medium=referral&utm_content=ngx_admin%20github%20readme%20more%20from%20akveo%20link) - 10+ Ready-to-use apps templates to speed up your apps developments
|
||||||
|
|
||||||
### How can I support developers?
|
## How can I support developers?
|
||||||
|
|
||||||
- Star our GitHub repo :star:
|
- Star our GitHub repo :star:
|
||||||
- Create pull requests, submit bugs, suggest new features or documentation updates :wrench:
|
- Create pull requests, submit bugs, suggest new features or documentation updates :wrench:
|
||||||
- Follow us on [Twitter](https://twitter.com/akveo_inc) :feet:
|
- Follow us on [Twitter](https://twitter.com/akveo_inc) :feet:
|
||||||
- Like our page on [Facebook](https://www.facebook.com/akveo/) :thumbsup:
|
- Like our page on [Facebook](https://www.facebook.com/akveo/) :thumbsup:
|
||||||
|
|
||||||
### Looking for engineering services?
|
## Looking for engineering services?
|
||||||
|
|
||||||
Visit [our homepage](https://www.akveo.com?utm_campaign=services%20-%20akveo%20website%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=looking_for_engineering_services_visit_homepage) or simply leave us a message to [contact@akveo.com](mailto:contact@akveo.com). We will be happy to work with you!
|
Visit [our homepage](https://www.akveo.com?utm_campaign=services%20-%20akveo%20website%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=looking_for_engineering_services_visit_homepage) or simply leave us a message to [contact@akveo.com](mailto:contact@akveo.com). We will be happy to work with you!
|
||||||
|
|
||||||
### From Developers
|
## From Developers
|
||||||
|
|
||||||
Made with :heart: by [Akveo team](https://www.akveo.com?utm_campaign=services%20-%20akveo%20website%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=from_developers_made_by). Follow us on [Twitter](https://twitter.com/akveo_inc) to get the latest news first!
|
Made with :heart: by [Akveo team](https://www.akveo.com?utm_campaign=services%20-%20akveo%20website%20-%20ngx_admin%20github%20readme&utm_source=ngx_admin&utm_medium=referral&utm_content=from_developers_made_by). Follow us on [Twitter](https://twitter.com/akveo_inc) to get the latest news first!
|
||||||
We're always happy to receive your feedback!
|
We're always happy to receive your feedback!
|
||||||
|
|
|
||||||
30
angular.json
30
angular.json
|
|
@ -148,20 +148,18 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lint": {
|
"lint": {
|
||||||
"builder": "@angular-devkit/build-angular:tslint",
|
"builder": "@angular-eslint/builder:lint",
|
||||||
"options": {
|
"options": {
|
||||||
"tsConfig": [
|
"lintFilePatterns": [
|
||||||
"src/tsconfig.app.json",
|
"src/**/*.ts",
|
||||||
"src/tsconfig.spec.json"
|
"src/**/*.html"
|
||||||
],
|
]
|
||||||
"typeCheck": true,
|
|
||||||
"exclude": []
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ngx-admin-demo-e2e": {
|
"ngx-admin-demo-e2e": {
|
||||||
"root": "",
|
"root": "e2e",
|
||||||
"sourceRoot": "",
|
"sourceRoot": "",
|
||||||
"projectType": "application",
|
"projectType": "application",
|
||||||
"architect": {
|
"architect": {
|
||||||
|
|
@ -171,20 +169,10 @@
|
||||||
"protractorConfig": "./protractor.conf.js",
|
"protractorConfig": "./protractor.conf.js",
|
||||||
"devServerTarget": "ngx-admin-demo:serve"
|
"devServerTarget": "ngx-admin-demo:serve"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"lint": {
|
|
||||||
"builder": "@angular-devkit/build-angular:tslint",
|
|
||||||
"options": {
|
|
||||||
"tsConfig": [
|
|
||||||
"e2e/tsconfig.e2e.json"
|
|
||||||
],
|
|
||||||
"exclude": []
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"defaultProject": "ngx-admin-demo",
|
|
||||||
"schematics": {
|
"schematics": {
|
||||||
"@schematics/angular:component": {
|
"@schematics/angular:component": {
|
||||||
"prefix": "ngx",
|
"prefix": "ngx",
|
||||||
|
|
@ -192,6 +180,12 @@
|
||||||
},
|
},
|
||||||
"@schematics/angular:directive": {
|
"@schematics/angular:directive": {
|
||||||
"prefix": "ngx"
|
"prefix": "ngx"
|
||||||
|
},
|
||||||
|
"@angular-eslint/schematics:application": {
|
||||||
|
"setParserOptionsProject": true
|
||||||
|
},
|
||||||
|
"@angular-eslint/schematics:library": {
|
||||||
|
"setParserOptionsProject": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
43
e2e/.eslintrc.json
Normal file
43
e2e/.eslintrc.json
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
{
|
||||||
|
"extends": "../.eslintrc.json",
|
||||||
|
"ignorePatterns": [
|
||||||
|
"!**/*"
|
||||||
|
],
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.ts"
|
||||||
|
],
|
||||||
|
"parserOptions": {
|
||||||
|
"project": [
|
||||||
|
"e2e/tsconfig.app.json",
|
||||||
|
"e2e/tsconfig.spec.json",
|
||||||
|
"e2e/e2e/tsconfig.json"
|
||||||
|
],
|
||||||
|
"createDefaultProgram": true
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"@angular-eslint/directive-selector": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"type": "attribute",
|
||||||
|
"style": "camelCase"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@angular-eslint/component-selector": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"type": "element",
|
||||||
|
"style": "kebab-case"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.html"
|
||||||
|
],
|
||||||
|
"rules": {}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
10800
package-lock.json
generated
10800
package-lock.json
generated
File diff suppressed because it is too large
Load diff
46
package.json
46
package.json
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "ngx-admin",
|
"name": "ngx-admin",
|
||||||
"version": "8.0.0",
|
"version": "11.0.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
@ -30,21 +30,21 @@
|
||||||
"postinstall": "ngcc --properties es2015 es5 browser module main --first-only --create-ivy-entry-points --tsconfig \"./src/tsconfig.app.json\""
|
"postinstall": "ngcc --properties es2015 es5 browser module main --first-only --create-ivy-entry-points --tsconfig \"./src/tsconfig.app.json\""
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular/animations": "^12.2.16",
|
"@angular/animations": "^15.2.10",
|
||||||
"@angular/cdk": "12.1.0",
|
"@angular/cdk": "^15.2.9",
|
||||||
"@angular/common": "^12.2.16",
|
"@angular/common": "^15.2.10",
|
||||||
"@angular/compiler": "^12.2.16",
|
"@angular/compiler": "^15.2.10",
|
||||||
"@angular/core": "^12.2.16",
|
"@angular/core": "^15.2.10",
|
||||||
"@angular/forms": "^12.2.16",
|
"@angular/forms": "^15.2.10",
|
||||||
"@angular/google-maps": "^12.2.13",
|
"@angular/google-maps": "^12.2.13",
|
||||||
"@angular/platform-browser": "^12.2.16",
|
"@angular/platform-browser": "^15.2.10",
|
||||||
"@angular/platform-browser-dynamic": "^12.2.16",
|
"@angular/platform-browser-dynamic": "^15.2.10",
|
||||||
"@angular/router": "^12.2.16",
|
"@angular/router": "^15.2.10",
|
||||||
"@asymmetrik/ngx-leaflet": "3.0.1",
|
"@asymmetrik/ngx-leaflet": "3.0.1",
|
||||||
"@nebular/auth": "8.0.0",
|
"@nebular/auth": "11.0.1",
|
||||||
"@nebular/eva-icons": "8.0.0",
|
"@nebular/eva-icons": "11.0.1",
|
||||||
"@nebular/security": "8.0.0",
|
"@nebular/security": "11.0.1",
|
||||||
"@nebular/theme": "8.0.0",
|
"@nebular/theme": "11.0.1",
|
||||||
"@swimlane/ngx-charts": "^14.0.0",
|
"@swimlane/ngx-charts": "^14.0.0",
|
||||||
"angular2-chartjs": "0.4.1",
|
"angular2-chartjs": "0.4.1",
|
||||||
"bootstrap": "4.3.1",
|
"bootstrap": "4.3.1",
|
||||||
|
|
@ -77,10 +77,15 @@
|
||||||
"zone.js": "~0.11.4"
|
"zone.js": "~0.11.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular-devkit/build-angular": "^12.1.4",
|
"@angular-devkit/build-angular": "^15.2.10",
|
||||||
"@angular/cli": "^12.2.17",
|
"@angular-eslint/builder": "15.2.1",
|
||||||
"@angular/compiler-cli": "^12.2.16",
|
"@angular-eslint/eslint-plugin": "15.2.1",
|
||||||
"@angular/language-service": "12.1.0",
|
"@angular-eslint/eslint-plugin-template": "15.2.1",
|
||||||
|
"@angular-eslint/schematics": "15.2.1",
|
||||||
|
"@angular-eslint/template-parser": "15.2.1",
|
||||||
|
"@angular/cli": "^15.2.10",
|
||||||
|
"@angular/compiler-cli": "^15.2.10",
|
||||||
|
"@angular/language-service": "15.2.10",
|
||||||
"@compodoc/compodoc": "1.0.1",
|
"@compodoc/compodoc": "1.0.1",
|
||||||
"@fortawesome/fontawesome-free": "^5.2.0",
|
"@fortawesome/fontawesome-free": "^5.2.0",
|
||||||
"@types/d3-color": "1.0.5",
|
"@types/d3-color": "1.0.5",
|
||||||
|
|
@ -88,8 +93,11 @@
|
||||||
"@types/jasminewd2": "2.0.3",
|
"@types/jasminewd2": "2.0.3",
|
||||||
"@types/leaflet": "1.2.3",
|
"@types/leaflet": "1.2.3",
|
||||||
"@types/node": "^12.12.70",
|
"@types/node": "^12.12.70",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^5.43.0",
|
||||||
|
"@typescript-eslint/parser": "^5.43.0",
|
||||||
"codelyzer": "^6.0.2",
|
"codelyzer": "^6.0.2",
|
||||||
"conventional-changelog-cli": "1.3.4",
|
"conventional-changelog-cli": "1.3.4",
|
||||||
|
"eslint": "^8.28.0",
|
||||||
"husky": "0.13.3",
|
"husky": "0.13.3",
|
||||||
"jasmine-core": "~3.6.0",
|
"jasmine-core": "~3.6.0",
|
||||||
"jasmine-spec-reporter": "~5.0.0",
|
"jasmine-spec-reporter": "~5.0.0",
|
||||||
|
|
@ -106,6 +114,6 @@
|
||||||
"ts-node": "3.2.2",
|
"ts-node": "3.2.2",
|
||||||
"tslint": "~6.1.0",
|
"tslint": "~6.1.0",
|
||||||
"tslint-language-service": "^0.9.9",
|
"tslint-language-service": "^0.9.9",
|
||||||
"typescript": "~4.2.3||~4.3.0"
|
"typescript": "~4.9.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../styles/themes';
|
@import '../../styles/themes';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
@import '../../styles/themes';
|
@import '../../styles/themes';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../styles/themes';
|
@import '../../styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
.menu-sidebar ::ng-deep .scrollable {
|
.menu-sidebar ::ng-deep .scrollable {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../styles/themes';
|
@import '../../styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
.menu-sidebar ::ng-deep .scrollable {
|
.menu-sidebar ::ng-deep .scrollable {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../styles/themes';
|
@import '../../styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
.menu-sidebar ::ng-deep .scrollable {
|
.menu-sidebar ::ng-deep .scrollable {
|
||||||
|
|
|
||||||
|
|
@ -4,13 +4,13 @@
|
||||||
@import 'themes';
|
@import 'themes';
|
||||||
|
|
||||||
// framework component themes (styles tied to theme variables)
|
// framework component themes (styles tied to theme variables)
|
||||||
@import '~@nebular/theme/styles/globals';
|
@import '@nebular/theme/styles/globals';
|
||||||
@import '~@nebular/auth/styles/globals';
|
@import '@nebular/auth/styles/globals';
|
||||||
|
|
||||||
@import '~bootstrap/scss/functions';
|
@import 'bootstrap/scss/functions';
|
||||||
@import '~bootstrap/scss/variables';
|
@import 'bootstrap/scss/variables';
|
||||||
@import '~bootstrap/scss/mixins';
|
@import 'bootstrap/scss/mixins';
|
||||||
@import '~bootstrap/scss/grid';
|
@import 'bootstrap/scss/grid';
|
||||||
|
|
||||||
// loading progress bar theme
|
// loading progress bar theme
|
||||||
@import './pace.theme';
|
@import './pace.theme';
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
// @nebular theming framework
|
// @nebular theming framework
|
||||||
@import '~@nebular/theme/styles/theming';
|
@import '@nebular/theme/styles/theming';
|
||||||
// @nebular out of the box themes
|
// @nebular out of the box themes
|
||||||
@import '~@nebular/theme/styles/themes';
|
@import '@nebular/theme/styles/themes';
|
||||||
|
|
||||||
$nb-themes: nb-register-theme((
|
$nb-themes: nb-register-theme((
|
||||||
layout-padding-top: 2.25rem,
|
layout-padding-top: 2.25rem,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../@theme/styles/themes';
|
@import '../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
.solar-card nb-card-header {
|
.solar-card nb-card-header {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../../@theme/styles/themes';
|
@import '../../../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@
|
||||||
[attr.d]="strokedArea.d" *ngFor="let strokedArea of roomSvg.stokedAreas"/>
|
[attr.d]="strokedArea.d" *ngFor="let strokedArea of roomSvg.stokedAreas"/>
|
||||||
</g>
|
</g>
|
||||||
|
|
||||||
<g [attr.id]="room.id" [class.selected-room]="selectedRoom == room.id" *ngFor="let room of sortedRooms">
|
<g [attr.id]="room.id" [class.selected-room]="selectedRoom === room.id" *ngFor="let room of sortedRooms">
|
||||||
<path class="room-bg" (click)="selectRoom(room.id)" [attr.d]="room.area.d" [style.filter]="isIE || isFirefox ? 'inherit': ''" />
|
<path class="room-bg" (click)="selectRoom(room.id)" [attr.d]="room.area.d" [style.filter]="isIE || isFirefox ? 'inherit': ''" />
|
||||||
<path class="room-border" [attr.d]="room.border.d" />
|
<path class="room-border" [attr.d]="room.border.d" />
|
||||||
<path class="room-border room-border-glow" [attr.d]="room.border.d" [style.filter]="isIE || isFirefox ? 'inherit': ''" />
|
<path class="room-border room-border-glow" [attr.d]="room.border.d" [style.filter]="isIE || isFirefox ? 'inherit': ''" />
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ export class RoomSelectorComponent implements OnInit, OnDestroy {
|
||||||
private destroy$ = new Subject<void>();
|
private destroy$ = new Subject<void>();
|
||||||
private hideGrid: boolean;
|
private hideGrid: boolean;
|
||||||
|
|
||||||
@Output() select: EventEmitter<number> = new EventEmitter();
|
@Output() selectEvent: EventEmitter<number> = new EventEmitter();
|
||||||
|
|
||||||
selectedRoom = null;
|
selectedRoom = null;
|
||||||
sortedRooms = [];
|
sortedRooms = [];
|
||||||
|
|
@ -108,7 +108,7 @@ export class RoomSelectorComponent implements OnInit, OnDestroy {
|
||||||
}
|
}
|
||||||
|
|
||||||
selectRoom(roomNumber) {
|
selectRoom(roomNumber) {
|
||||||
this.select.emit(roomNumber);
|
this.selectEvent.emit(roomNumber);
|
||||||
this.selectedRoom = roomNumber;
|
this.selectedRoom = roomNumber;
|
||||||
this.sortRooms();
|
this.sortRooms();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
ngx-room-selector {
|
ngx-room-selector {
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import { map } from 'rxjs/operators';
|
||||||
class="collapse"
|
class="collapse"
|
||||||
[hidden]="isCollapsed()">
|
[hidden]="isCollapsed()">
|
||||||
</nb-icon>
|
</nb-icon>
|
||||||
<ngx-room-selector [class.dark-background]="isDarkTheme" (select)="select($event)"></ngx-room-selector>
|
<ngx-room-selector [class.dark-background]="isDarkTheme" (selectEvent)="select($event)"></ngx-room-selector>
|
||||||
<ngx-player [collapsed]="isCollapsed() && breakpoint.width <= breakpoints.md"></ngx-player>
|
<ngx-player [collapsed]="isCollapsed() && breakpoint.width <= breakpoints.md"></ngx-player>
|
||||||
</nb-card>
|
</nb-card>
|
||||||
`,
|
`,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ export class SolarComponent implements AfterViewInit, OnDestroy {
|
||||||
|
|
||||||
private value = 0;
|
private value = 0;
|
||||||
|
|
||||||
@Input('chartValue')
|
@Input()
|
||||||
set chartValue(value: number) {
|
set chartValue(value: number) {
|
||||||
this.value = value;
|
this.value = value;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../../@theme/styles/themes';
|
@import '../../../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
padding: 1.5rem 4.5rem;
|
padding: 1.5rem 4.5rem;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../../@theme/styles/themes';
|
@import '../../../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { AfterViewInit, Component, Input, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
|
import { Component, Input, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
|
||||||
import { NbThemeService } from '@nebular/theme';
|
import { NbThemeService } from '@nebular/theme';
|
||||||
import { takeWhile } from 'rxjs/operators';
|
import { takeWhile } from 'rxjs/operators';
|
||||||
import { LayoutService } from '../../../../@core/utils/layout.service';
|
import { LayoutService } from '../../../../@core/utils/layout.service';
|
||||||
|
|
@ -19,7 +19,7 @@ import { LayoutService } from '../../../../@core/utils/layout.service';
|
||||||
</div>
|
</div>
|
||||||
`,
|
`,
|
||||||
})
|
})
|
||||||
export class CountryOrdersChartComponent implements AfterViewInit, OnDestroy, OnChanges {
|
export class CountryOrdersChartComponent implements OnDestroy, OnChanges {
|
||||||
|
|
||||||
@Input() countryName: string;
|
@Input() countryName: string;
|
||||||
@Input() data: number[];
|
@Input() data: number[];
|
||||||
|
|
@ -41,7 +41,7 @@ export class CountryOrdersChartComponent implements AfterViewInit, OnDestroy, On
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnChanges(changes: SimpleChanges): void {
|
ngOnChanges(changes: SimpleChanges): void {
|
||||||
if (changes.data && !changes.data.isFirstChange()) {
|
if (changes.data && !changes.data.isFirstChange() && this.echartsInstance) {
|
||||||
this.echartsInstance.setOption({
|
this.echartsInstance.setOption({
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
|
|
@ -58,7 +58,7 @@ export class CountryOrdersChartComponent implements AfterViewInit, OnDestroy, On
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ngAfterViewInit() {
|
initChartOptions() {
|
||||||
this.theme.getJsTheme()
|
this.theme.getJsTheme()
|
||||||
.pipe(takeWhile(() => this.alive))
|
.pipe(takeWhile(() => this.alive))
|
||||||
.subscribe(config => {
|
.subscribe(config => {
|
||||||
|
|
@ -166,6 +166,8 @@ export class CountryOrdersChartComponent implements AfterViewInit, OnDestroy, On
|
||||||
|
|
||||||
onChartInit(ec) {
|
onChartInit(ec) {
|
||||||
this.echartsInstance = ec;
|
this.echartsInstance = ec;
|
||||||
|
|
||||||
|
this.initChartOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
resizeChart() {
|
resizeChart() {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import { CountryOrderData } from '../../../@core/data/country-order';
|
||||||
<nb-card [size]="breakpoint.width >= breakpoints.md ? 'medium' : 'giant'">
|
<nb-card [size]="breakpoint.width >= breakpoints.md ? 'medium' : 'giant'">
|
||||||
<nb-card-header>Country Orders Statistics</nb-card-header>
|
<nb-card-header>Country Orders Statistics</nb-card-header>
|
||||||
<nb-card-body>
|
<nb-card-body>
|
||||||
<ngx-country-orders-map (select)="selectCountryById($event)"
|
<ngx-country-orders-map (selectEvent)="selectCountryById($event)"
|
||||||
countryId="USA">
|
countryId="USA">
|
||||||
</ngx-country-orders-map>
|
</ngx-country-orders-map>
|
||||||
<ngx-country-orders-chart [countryName]="countryName"
|
<ngx-country-orders-chart [countryName]="countryName"
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../../@theme/styles/themes';
|
@import '../../../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ export class CountryOrdersMapComponent implements OnDestroy {
|
||||||
|
|
||||||
@Input() countryId: string;
|
@Input() countryId: string;
|
||||||
|
|
||||||
@Output() select: EventEmitter<any> = new EventEmitter();
|
@Output() selectEvent: EventEmitter<any> = new EventEmitter();
|
||||||
|
|
||||||
layers = [];
|
layers = [];
|
||||||
currentTheme: any;
|
currentTheme: any;
|
||||||
|
|
@ -124,7 +124,7 @@ export class CountryOrdersMapComponent implements OnDestroy {
|
||||||
this.resetHighlight(this.selectedCountry);
|
this.resetHighlight(this.selectedCountry);
|
||||||
this.highlightFeature(featureLayer);
|
this.highlightFeature(featureLayer);
|
||||||
this.selectedCountry = featureLayer;
|
this.selectedCountry = featureLayer;
|
||||||
this.select.emit(featureLayer.feature.properties.name);
|
this.selectEvent.emit(featureLayer.feature.properties.name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../../@theme/styles/themes';
|
@import '../../../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
ngx-earning-pie-chart,
|
ngx-earning-pie-chart,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@import '../../../../@theme/styles/themes';
|
@import '../../../../@theme/styles/themes';
|
||||||
@import '~@nebular/theme/styles/global/typography/typography';
|
@import '@nebular/theme/styles/global/typography/typography';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
$slide-out-container-width: 40%;
|
$slide-out-container-width: 40%;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
@import '../../../../@theme/styles/themes';
|
@import '../../../../@theme/styles/themes';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ import { CalendarKitMonthCellComponent } from './month-cell/month-cell.component
|
||||||
selector: 'ngx-calendar-kit',
|
selector: 'ngx-calendar-kit',
|
||||||
templateUrl: 'calendar-kit.component.html',
|
templateUrl: 'calendar-kit.component.html',
|
||||||
styleUrls: ['calendar-kit.component.scss'],
|
styleUrls: ['calendar-kit.component.scss'],
|
||||||
entryComponents: [CalendarKitMonthCellComponent],
|
|
||||||
})
|
})
|
||||||
export class CalendarKitFullCalendarShowcaseComponent {
|
export class CalendarKitFullCalendarShowcaseComponent {
|
||||||
month = new Date();
|
month = new Date();
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ import { DayCellComponent } from './day-cell/day-cell.component';
|
||||||
selector: 'ngx-calendar',
|
selector: 'ngx-calendar',
|
||||||
templateUrl: 'calendar.component.html',
|
templateUrl: 'calendar.component.html',
|
||||||
styleUrls: ['calendar.component.scss'],
|
styleUrls: ['calendar.component.scss'],
|
||||||
entryComponents: [DayCellComponent],
|
|
||||||
})
|
})
|
||||||
export class CalendarComponent {
|
export class CalendarComponent {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,15 @@
|
||||||
import { Component } from '@angular/core';
|
import { Component, HostBinding, HostListener } from '@angular/core';
|
||||||
import { NbCalendarDayCellComponent } from '@nebular/theme';
|
import { NbCalendarDayCellComponent } from '@nebular/theme';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ngx-day-cell',
|
selector: 'ngx-day-cell',
|
||||||
templateUrl: 'day-cell.component.html',
|
templateUrl: 'day-cell.component.html',
|
||||||
styleUrls: ['day-cell.component.scss'],
|
styleUrls: ['day-cell.component.scss'],
|
||||||
host: { '(click)': 'onClick()', 'class': 'day-cell' },
|
|
||||||
})
|
})
|
||||||
export class DayCellComponent extends NbCalendarDayCellComponent<Date> {
|
export class DayCellComponent extends NbCalendarDayCellComponent<Date> {
|
||||||
|
@HostBinding('class') classes = 'day-cell';
|
||||||
|
|
||||||
|
@HostListener('click') onClick() {
|
||||||
|
// do work
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ngx-stepper',
|
selector: 'ngx-stepper',
|
||||||
|
|
@ -8,11 +8,11 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||||
})
|
})
|
||||||
export class StepperComponent implements OnInit {
|
export class StepperComponent implements OnInit {
|
||||||
|
|
||||||
firstForm: FormGroup;
|
firstForm: UntypedFormGroup;
|
||||||
secondForm: FormGroup;
|
secondForm: UntypedFormGroup;
|
||||||
thirdForm: FormGroup;
|
thirdForm: UntypedFormGroup;
|
||||||
|
|
||||||
constructor(private fb: FormBuilder) {
|
constructor(private fb: UntypedFormBuilder) {
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,9 +86,6 @@ const SERVICES = [
|
||||||
providers: [
|
providers: [
|
||||||
...SERVICES,
|
...SERVICES,
|
||||||
],
|
],
|
||||||
entryComponents: [
|
|
||||||
...ENTRY_COMPONENTS,
|
|
||||||
],
|
|
||||||
})
|
})
|
||||||
export class ModalOverlaysModule {
|
export class ModalOverlaysModule {
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
@import '~@nebular/theme/styles/core/mixins';
|
@import '@nebular/theme/styles/core/mixins';
|
||||||
|
|
||||||
nb-card-body {
|
nb-card-body {
|
||||||
margin: 0 -0.5rem;
|
margin: 0 -0.5rem;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@include nb-install-component() {
|
@include nb-install-component() {
|
||||||
.position-select {
|
.position-select {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@import '~bootstrap/scss/mixins/breakpoints';
|
@import 'bootstrap/scss/mixins/breakpoints';
|
||||||
@import '~@nebular/theme/styles/global/breakpoints';
|
@import '@nebular/theme/styles/global/breakpoints';
|
||||||
|
|
||||||
@import '../../../@theme/styles/themes';
|
@import '../../../@theme/styles/themes';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@ import {
|
||||||
|
|
||||||
// Unfortunately there's no typing for the `__karma__` variable. Just declare it as any.
|
// Unfortunately there's no typing for the `__karma__` variable. Just declare it as any.
|
||||||
declare const __karma__: any;
|
declare const __karma__: any;
|
||||||
declare const require: any;
|
|
||||||
|
|
||||||
// Prevent Karma from running prematurely.
|
// Prevent Karma from running prematurely.
|
||||||
__karma__.loaded = function () {};
|
__karma__.loaded = function () {};
|
||||||
|
|
@ -28,11 +27,9 @@ __karma__.loaded = function () {};
|
||||||
// First, initialize the Angular testing environment.
|
// First, initialize the Angular testing environment.
|
||||||
getTestBed().initTestEnvironment(
|
getTestBed().initTestEnvironment(
|
||||||
BrowserDynamicTestingModule,
|
BrowserDynamicTestingModule,
|
||||||
platformBrowserDynamicTesting(),
|
platformBrowserDynamicTesting(), {
|
||||||
|
teardown: { destroyAfterEach: false },
|
||||||
|
},
|
||||||
);
|
);
|
||||||
// Then we find all the tests.
|
|
||||||
const context = require.context('./', true, /\.spec\.ts$/);
|
|
||||||
// And load the modules.
|
|
||||||
context.keys().map(context);
|
|
||||||
// Finally, start Karma to run the tests.
|
// Finally, start Karma to run the tests.
|
||||||
__karma__.start();
|
__karma__.start();
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
"declaration": false,
|
"declaration": false,
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"experimentalDecorators": true,
|
"experimentalDecorators": true,
|
||||||
"target": "es2015",
|
"target": "ES2022",
|
||||||
"typeRoots": [
|
"typeRoots": [
|
||||||
"node_modules/@types"
|
"node_modules/@types"
|
||||||
],
|
],
|
||||||
|
|
@ -17,7 +17,10 @@
|
||||||
"dom"
|
"dom"
|
||||||
],
|
],
|
||||||
"plugins": [
|
"plugins": [
|
||||||
{ "name": "tslint-language-service"}
|
{
|
||||||
]
|
"name": "tslint-language-service"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"useDefineForClassFields": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue