Skip to content

Commit

Permalink
Angular upgrade to v16 (hobbyfarm#183)
Browse files Browse the repository at this point in the history
* Migrate from deprecated tslint to eslint

* Temporarily delete conflict causing packages

* Update Angular from v12 to v13

* Update rxjs to v7.4.0

* Update ngx-markdown and ngx-dynamic-hooks

* replace deprecated "toPromise()" function

* Use observer object in deprecated subscriptions

* Use factory function in throwError

* Fix typo

* Start interface(s) with capital letter

* Improve typings

* Use ngx-markdown compile instead of markdown pipe

Markdown pipe now returns SafeHTML but ngx-dynamic-hooks expects string

* Update angular-jwt library to latest version

* Add TODO for breaking change in clarity v15

* Angular v13 -> v14 (typing forms etc. ...)

* Update ngx-markdown to v14

* Fix breaking change in JWT Config

* Remove unused imports

* Improve typings

* Bug fix: Make FormControls non-nullable

* Convert FormControls to non-nullable

* Temporarily uninstall conflicting dependency

* Update from Angular v14 to v15

* Update clarity to v15

* Update clarity core library to support Angular 15

* Update Angular v15 to v16

* Update ngx-markdown to v16

* Remove unused two-way-binding

* Upgrade @cds/core to latest version

* Replace deprecated clr-icons by cds-icons

* Update clarity ui to v16

* delete package-lock.json

* Fixing compiler errors

* Replace deprecated sidenav. Package updates

* Use structuredClone() to clone Objects

* Fix alerts

* Remove unused methods etc. in course component

* introduce default navigation to config tab(s)

* Expand active events per default

* Add resources to Resource type (scopes and settings)

* Add typings for app config

* Some refactoring

* oops... readd ng2-dragula

* remove unused code

* Make category form nullable.

Category form can become null during runtime. Hence let's make it nullable during compile time, too.

* resize login form

* Use take(1) instead of first() to prevent EmptyErrors

If the observable does not emit any value and completes directly, using first() results in an error.

Using take(1) generally does the same as first() but with a minor difference.

take(1) mirrors the empty source observable in case it is empty and then also completes instead of throwing an error as first() does.

* get/list observables should always complete automatically

* Fix date pipe error

* Use rxjs instead of timeouts to close alerts after delay

* Make alerts closeable

Otherwise the alerts cannot be closed via two-way-binding...

* replace deprecated rxjs function

* Move wizardpage subscription into AfterViewInit

Advantages: ngAfterViewInit is only called once. So, we only need to manage one subscription.

* remove console.log

* Wizard with missing pages is not supported -> fix this

* Only show active events in dashboard tab

* only show active events in dashboard component

* run prettier
  • Loading branch information
PhilipAB authored Mar 8, 2024
1 parent 583acfb commit d69f1dd
Show file tree
Hide file tree
Showing 195 changed files with 22,519 additions and 25,724 deletions.
17 changes: 0 additions & 17 deletions .browserslistrc

This file was deleted.

47 changes: 47 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"root": true,
"ignorePatterns": [
"projects/**/*"
],
"overrides": [
{
"files": [
"*.ts"
],
"parserOptions": {
"project": [
"tsconfig.json",
"e2e/tsconfig.json"
],
"createDefaultProgram": true
},
"extends": [
"plugin:@angular-eslint/ng-cli-compat",
"plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
"plugin:@angular-eslint/template/process-inline-templates"
],
"rules": {
"@typescript-eslint/explicit-member-accessibility": [
"off",
{
"accessibility": "explicit"
}
],
"arrow-parens": [
"off",
"always"
],
"import/order": "off"
}
},
{
"files": [
"*.html"
],
"extends": [
"plugin:@angular-eslint/template/recommended"
],
"rules": {}
}
]
}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ chrome-profiler-events*.json
.vscode

# misc
/.angular/cache
/.sass-cache
/connect.lock
/coverage
Expand Down
Empty file added Dockerfiletest
Empty file.
43 changes: 34 additions & 9 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,15 @@
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.app.json",
"allowedCommonJsDependencies": ["dragula"],
"assets": ["src/favicon.ico", "src/config.json", "src/assets"],
"allowedCommonJsDependencies": [
"dragula"
],
"assets": [
"src/favicon.ico",
"src/config.json",
"src/assets"
],
"styles": [
"node_modules/@clr/icons/clr-icons.min.css",
"node_modules/xterm/css/xterm.css",
"src/styles.scss",
"node_modules/prismjs/themes/prism.css"
Expand All @@ -34,6 +39,7 @@
"node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js",
"node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js",
"node_modules/prismjs/prism.js",
"node_modules/marked/marked.min.js",
"node_modules/prismjs/components/prism-yaml.min.js",
"node_modules/prismjs/components/prism-python.min.js",
"node_modules/prismjs/components/prism-go.min.js",
Expand Down Expand Up @@ -113,20 +119,39 @@
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.spec.json",
"karmaConfig": "src/karma.conf.js",
"styles": ["src/styles.scss"],
"styles": [
"src/styles.scss"
],
"scripts": [],
"assets": ["src/favicon.ico", "src/assets"]
"assets": [
"src/favicon.ico",
"src/assets"
]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"builder": "@angular-eslint/builder:lint",
"options": {
"tsConfig": ["src/tsconfig.app.json", "src/tsconfig.spec.json"],
"exclude": ["**/node_modules/**"]
"lintFilePatterns": [
"src/**/*.ts",
"src/**/*.html"
]
}
}
}
}
},
"defaultProject": "hobbyfarm-admin"
"cli": {
"schematicCollections": [
"@angular-eslint/schematics"
]
},
"schematics": {
"@angular-eslint/schematics:application": {
"setParserOptionsProject": true
},
"@angular-eslint/schematics:library": {
"setParserOptionsProject": true
}
}
}
18 changes: 18 additions & 0 deletions datetimepicker/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Copyright (c) 2013-present Dale Lotts

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Loading

0 comments on commit d69f1dd

Please sign in to comment.