build: update angular core

This commit is contained in:
Johannes Millan 2022-08-05 12:36:54 +02:00
parent 5694117f09
commit 3895c130b8
23 changed files with 28816 additions and 3812 deletions

View file

@ -219,10 +219,9 @@
}
}
},
"defaultProject": "sp2",
"cli": {
"defaultCollection": "@ngrx/schematics",
"analytics": false
"analytics": false,
"schematicCollections": ["@ngrx/schematics"]
},
"schematics": {
"@schematics/angular:component": {

32498
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -113,28 +113,28 @@
"node-fetch": "^2.6.7"
},
"devDependencies": {
"@angular-devkit/build-angular": "^13.3.3",
"@angular-devkit/build-angular": "^14.1.1",
"@angular-eslint/builder": "^14.0.0",
"@angular-eslint/eslint-plugin": "^13.2.1",
"@angular-eslint/eslint-plugin-template": "^13.2.1",
"@angular-eslint/schematics": "^13.2.1",
"@angular-eslint/template-parser": "^13.2.1",
"@angular/animations": "^13.3.3",
"@angular/animations": "^14.1.1",
"@angular/cdk": "^13.3.3",
"@angular/cli": "^13.3.4",
"@angular/common": "^13.3.3",
"@angular/compiler": "^13.3.3",
"@angular/compiler-cli": "^13.3.3",
"@angular/core": "^13.3.3",
"@angular/forms": "^13.3.3",
"@angular/language-service": "^13.3.3",
"@angular/cli": "^14.1.1",
"@angular/common": "^14.1.1",
"@angular/compiler": "^14.1.1",
"@angular/compiler-cli": "^14.1.1",
"@angular/core": "^14.1.1",
"@angular/forms": "^14.1.1",
"@angular/language-service": "^14.1.1",
"@angular/material": "^13.3.3",
"@angular/material-moment-adapter": "^13.3.3",
"@angular/platform-browser": "^13.3.3",
"@angular/platform-browser-dynamic": "^13.3.3",
"@angular/platform-server": "^13.3.3",
"@angular/router": "^13.3.3",
"@angular/service-worker": "^13.3.3",
"@angular/platform-browser": "^14.1.1",
"@angular/platform-browser-dynamic": "^14.1.1",
"@angular/platform-server": "^14.1.1",
"@angular/router": "^14.1.1",
"@angular/service-worker": "^14.1.1",
"@biesbjerg/ngx-translate-extract": "^7.0.4",
"@fontsource/roboto": "^4.5.7",
"@nextcloud/cdav-library": "^1.1.0",
@ -222,7 +222,7 @@
"start-server-and-test": "^1.14.0",
"ts-node": "~10.7.0",
"tslib": "^2.3.1",
"typescript": "~4.4.4",
"typescript": "~4.7.4",
"utils-decorators": "^2.0.3",
"webdav": "~4.3.0",
"zone.js": "~0.11.5"

View file

@ -1,5 +1,6 @@
import { AppBaseData, AppDataForProjects } from '../../imex/sync/sync.model';
import { Action } from '@ngrx/store';
import { ActionReducer } from '@ngrx/store/src/models';
export interface PersistenceBaseModel<T> {
appDataKey: keyof AppBaseData;
@ -57,7 +58,7 @@ export interface PersistenceEntityModelCfg<S, M> {
legacyKey: string;
appDataKey: keyof AppBaseData;
modelVersion: number;
reducerFn: (state: S, action: { type: string; payload?: any }) => S;
reducerFn: ActionReducer<S, { type: string; payload?: any }>;
migrateFn: (state: S) => S;
}

View file

@ -492,16 +492,16 @@ export class PersistenceService {
// NOTE: side effects are not executed!!!
execAction: async (action: Action): Promise<S> => {
const state = await model.loadState();
const newState = reducerFn(state, action);
const state: S = await model.loadState();
const newState: S = reducerFn(state, action);
await model.saveState(newState, { isDataImport: false });
return newState;
},
// NOTE: side effects are not executed!!!
execActions: async (actions: Action[]): Promise<S> => {
const state = await model.loadState();
const newState = actions.reduce((acc, act) => reducerFn(acc, act), state);
const state: S = await model.loadState();
const newState: S = actions.reduce((acc, act) => reducerFn(acc, act), state);
await model.saveState(newState, { isDataImport: false });
return newState;
},

View file

@ -3,7 +3,7 @@ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { IS_ELECTRON } from '../../../app.constants';
import { MATERIAL_ICONS } from '../../../ui/material-icons.const';
import { Bookmark, BookmarkCopy, BookmarkType } from '../bookmark.model';
import { FormControl } from '@angular/forms';
import { UntypedFormControl } from '@angular/forms';
import { Observable } from 'rxjs';
import { map, startWith } from 'rxjs/operators';
import { T } from '../../../t.const';
@ -24,7 +24,7 @@ export class DialogEditBookmarkComponent implements OnInit {
types?: BookmarkSelectType[];
bookmarkCopy?: BookmarkCopy;
customIcons: string[] = MATERIAL_ICONS;
iconControl: FormControl = new FormControl();
iconControl: UntypedFormControl = new UntypedFormControl();
filteredIcons$: Observable<string[]> = this.iconControl.valueChanges.pipe(
startWith(''),
map((searchTerm) => {

View file

@ -6,7 +6,7 @@ import {
Output,
} from '@angular/core';
import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';
import { FormGroup } from '@angular/forms';
import { UntypedFormGroup } from '@angular/forms';
import { GlobalConfigSectionKey } from '../global-config.model';
import { ProjectCfgFormKey } from '../../project/project.model';
import { T } from '../../../t.const';
@ -27,7 +27,7 @@ export class ConfigFormComponent {
config: unknown;
}> = new EventEmitter();
fields?: FormlyFieldConfig[];
form: FormGroup = new FormGroup({});
form: UntypedFormGroup = new UntypedFormGroup({});
options: FormlyFormOptions = {};
constructor() {}

View file

@ -1,6 +1,6 @@
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { FormGroup } from '@angular/forms';
import { UntypedFormGroup } from '@angular/forms';
import { FormlyFieldConfig } from '@ngx-formly/core';
import { T } from 'src/app/t.const';
import { CALDAV_CONFIG_FORM, DEFAULT_CALDAV_CFG } from '../caldav.const';
@ -15,7 +15,7 @@ import { CaldavCfg } from '../caldav.model';
export class DialogCaldavInitialSetupComponent {
T: typeof T = T;
caldavCfg: CaldavCfg;
formGroup: FormGroup = new FormGroup({});
formGroup: UntypedFormGroup = new UntypedFormGroup({});
formConfig: FormlyFieldConfig[] = CALDAV_CONFIG_FORM;
constructor(

View file

@ -1,5 +1,5 @@
import { Component, ChangeDetectionStrategy, Inject } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { UntypedFormGroup } from '@angular/forms';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { FormlyFieldConfig } from '@ngx-formly/core';
import { T } from 'src/app/t.const';
@ -15,7 +15,7 @@ import { GiteaCfg } from '../../gitea.model';
export class DialogGiteaInitialSetupComponent {
T: typeof T = T;
giteaCfg: GiteaCfg;
formGroup: FormGroup = new FormGroup({});
formGroup: UntypedFormGroup = new UntypedFormGroup({});
formConfig: FormlyFieldConfig[] = GITEA_CONFIG_FORM;
constructor(

View file

@ -1,7 +1,7 @@
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { GithubCfg } from '../../github.model';
import { FormGroup } from '@angular/forms';
import { UntypedFormGroup } from '@angular/forms';
import { FormlyFieldConfig } from '@ngx-formly/core';
import { DEFAULT_GITHUB_CFG, GITHUB_CONFIG_FORM } from '../../github.const';
import { T } from '../../../../../../t.const';
@ -15,7 +15,7 @@ import { T } from '../../../../../../t.const';
export class DialogGithubInitialSetupComponent {
T: typeof T = T;
githubCfg: GithubCfg;
formGroup: FormGroup = new FormGroup({});
formGroup: UntypedFormGroup = new UntypedFormGroup({});
formConfig: FormlyFieldConfig[] = GITHUB_CONFIG_FORM;
constructor(

View file

@ -1,6 +1,6 @@
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { FormGroup } from '@angular/forms';
import { UntypedFormGroup } from '@angular/forms';
import { FormlyFieldConfig } from '@ngx-formly/core';
import { T } from 'src/app/t.const';
import { GitlabCfg } from '../gitlab';
@ -15,7 +15,7 @@ import { DEFAULT_GITLAB_CFG, GITLAB_CONFIG_FORM } from '../gitlab.const';
export class DialogGitlabInitialSetupComponent {
T: typeof T = T;
gitlabCfg: GitlabCfg;
formGroup: FormGroup = new FormGroup({});
formGroup: UntypedFormGroup = new UntypedFormGroup({});
formConfig: FormlyFieldConfig[] = GITLAB_CONFIG_FORM;
constructor(

View file

@ -7,7 +7,7 @@ import {
OnDestroy,
Output,
} from '@angular/core';
import { FormGroup } from '@angular/forms';
import { UntypedFormGroup } from '@angular/forms';
import { JiraCfg } from '../../jira.model';
import {
DEFAULT_JIRA_CFG,
@ -33,10 +33,10 @@ import { HANDLED_ERROR_PROP_STR, HelperClasses } from '../../../../../../app.con
export class JiraCfgStepperComponent implements OnDestroy {
T: typeof T = T;
HelperClasses: typeof HelperClasses = HelperClasses;
credentialsFormGroup: FormGroup = new FormGroup({});
credentialsFormGroup: UntypedFormGroup = new UntypedFormGroup({});
credentialsFormConfig: FormlyFieldConfig[] = [];
advancedSettingsFormGroup: FormGroup = new FormGroup({});
advancedSettingsFormGroup: UntypedFormGroup = new UntypedFormGroup({});
advancedSettingsFormConfig: FormlyFieldConfig[] = [];
isTestCredentialsSuccess: boolean = false;

View file

@ -13,7 +13,7 @@ import {
} from '../../../../../config/global-config.model';
import { ProjectCfgFormKey } from '../../../../../project/project.model';
import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';
import { FormControl, FormGroup } from '@angular/forms';
import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
import { JiraCfg, JiraTransitionConfig, JiraTransitionOption } from '../../jira.model';
import { expandAnimation } from '../../../../../../ui/animations/expand.ani';
import { BehaviorSubject, Observable, Subscription } from 'rxjs';
@ -53,13 +53,13 @@ export class JiraCfgComponent implements OnInit, OnDestroy {
}> = new EventEmitter();
T: typeof T = T;
HelperClasses: typeof HelperClasses = HelperClasses;
issueSuggestionsCtrl: FormControl = new FormControl();
customFieldSuggestionsCtrl: FormControl = new FormControl();
issueSuggestionsCtrl: UntypedFormControl = new UntypedFormControl();
customFieldSuggestionsCtrl: UntypedFormControl = new UntypedFormControl();
customFields: any[] = [];
customFieldsPromise?: Promise<any>;
isLoading$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
fields?: FormlyFieldConfig[];
form: FormGroup = new FormGroup({});
form: UntypedFormGroup = new UntypedFormGroup({});
options: FormlyFormOptions = {};
filteredIssueSuggestions$: Observable<SearchResultItem[]> =
this.issueSuggestionsCtrl.valueChanges.pipe(

View file

@ -1,7 +1,7 @@
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { OpenProjectCfg } from '../../open-project.model';
import { FormGroup } from '@angular/forms';
import { UntypedFormGroup } from '@angular/forms';
import { FormlyFieldConfig } from '@ngx-formly/core';
import {
DEFAULT_OPEN_PROJECT_CFG,
@ -18,7 +18,7 @@ import { T } from '../../../../../../t.const';
export class DialogOpenProjectInitialSetupComponent {
T: typeof T = T;
openProjectCfg: OpenProjectCfg;
formGroup: FormGroup = new FormGroup({});
formGroup: UntypedFormGroup = new UntypedFormGroup({});
formConfig: FormlyFieldConfig[] = OPEN_PROJECT_CONFIG_FORM;
constructor(

View file

@ -7,7 +7,7 @@ import {
EventEmitter,
OnDestroy,
} from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';
import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';
import { BehaviorSubject, Observable, Subscription } from 'rxjs';
import { catchError, debounceTime, first, switchMap, tap } from 'rxjs/operators';
@ -52,8 +52,8 @@ export class OpenprojectCfgComponent implements OnInit, OnDestroy {
}> = new EventEmitter();
T: typeof T = T;
HelperClasses: typeof HelperClasses = HelperClasses;
issueSuggestionsCtrl: FormControl = new FormControl();
form: FormGroup = new FormGroup({});
issueSuggestionsCtrl: UntypedFormControl = new UntypedFormControl();
form: UntypedFormGroup = new UntypedFormGroup({});
isLoading$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
fields?: FormlyFieldConfig[];
options: FormlyFormOptions = {};

View file

@ -8,7 +8,7 @@ import {
} from '@angular/core';
import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';
import { Project, ProjectCopy } from '../../project.model';
import { FormGroup } from '@angular/forms';
import { UntypedFormGroup } from '@angular/forms';
import { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';
import { ProjectService } from '../../project.service';
import { DEFAULT_PROJECT } from '../../project.const';
@ -68,8 +68,8 @@ export class DialogCreateProjectComponent implements OnInit, OnDestroy {
openProjectCfg?: OpenProjectCfg;
giteaCfg?: GiteaCfg;
formBasic: FormGroup = new FormGroup({});
formTheme: FormGroup = new FormGroup({});
formBasic: UntypedFormGroup = new UntypedFormGroup({});
formTheme: UntypedFormGroup = new UntypedFormGroup({});
formOptionsBasic: FormlyFormOptions = {
formState: {
awesomeIsForced: false,

View file

@ -9,7 +9,7 @@ import {
ViewChild,
} from '@angular/core';
import { T } from '../../t.const';
import { FormControl } from '@angular/forms';
import { UntypedFormControl } from '@angular/forms';
import { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs';
import {
debounceTime,
@ -53,7 +53,7 @@ export class SearchBarComponent implements AfterViewInit, OnDestroy {
T: typeof T = T;
isLoading$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);
taskSuggestionsCtrl: FormControl = new FormControl();
taskSuggestionsCtrl: UntypedFormControl = new UntypedFormControl();
filteredIssueSuggestions$: Observable<SearchItem[]> = new Observable();
tooManyResults: boolean = false;

View file

@ -13,7 +13,7 @@ import {
import { ProjectCfgFormKey } from '../../project/project.model';
import { SimpleCounterConfig } from '../simple-counter.model';
import { FormlyFormOptions } from '@ngx-formly/core';
import { FormGroup } from '@angular/forms';
import { UntypedFormGroup } from '@angular/forms';
import { T } from 'src/app/t.const';
import { SimpleCounterService } from '../simple-counter.service';
import { map } from 'rxjs/operators';
@ -36,7 +36,7 @@ export class SimpleCounterCfgComponent implements OnDestroy {
}> = new EventEmitter();
T: typeof T = T;
form: FormGroup = new FormGroup({});
form: UntypedFormGroup = new UntypedFormGroup({});
options: FormlyFormOptions = {};
simpleCounterCfg$: Observable<SimpleCounterConfig> =

View file

@ -17,7 +17,7 @@ import {
} from '../task-repeat-cfg.model';
import { Observable, Subscription } from 'rxjs';
import { FormlyFieldConfig } from '@ngx-formly/core';
import { FormGroup } from '@angular/forms';
import { UntypedFormGroup } from '@angular/forms';
import {
TASK_REPEAT_CFG_ADVANCED_FORM_CFG,
TASK_REPEAT_CFG_FORM_CFG_BEFORE_TAGS,
@ -50,8 +50,8 @@ export class DialogEditTaskRepeatCfgComponent implements OnInit, OnDestroy {
TASK_REPEAT_CFG_FORM_CFG_BEFORE_TAGS: FormlyFieldConfig[];
TASK_REPEAT_CFG_ADVANCED_FORM_CFG: FormlyFieldConfig[];
formGroup1: FormGroup = new FormGroup({});
formGroup2: FormGroup = new FormGroup({});
formGroup1: UntypedFormGroup = new UntypedFormGroup({});
formGroup2: UntypedFormGroup = new UntypedFormGroup({});
tagSuggestions$: Observable<Tag[]> = this._tagService.tags$;
private _subs: Subscription = new Subscription();

View file

@ -10,7 +10,7 @@ import {
Output,
ViewChild,
} from '@angular/core';
import { FormControl } from '@angular/forms';
import { UntypedFormControl } from '@angular/forms';
import { TaskService } from '../task.service';
import {
debounceTime,
@ -68,7 +68,7 @@ export class AddTaskBarComponent implements AfterViewInit, OnDestroy {
isLoading$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
doubleEnterCount: number = 0;
taskSuggestionsCtrl: FormControl = new FormControl();
taskSuggestionsCtrl: UntypedFormControl = new UntypedFormControl();
filteredIssueSuggestions$: Observable<AddTaskSuggestion[]> =
this.taskSuggestionsCtrl.valueChanges.pipe(

View file

@ -7,7 +7,7 @@ import {
OnInit,
Output,
} from '@angular/core';
import { FormControl } from '@angular/forms';
import { UntypedFormControl } from '@angular/forms';
import { Task } from '../task.model';
import { map, startWith, takeUntil, withLatestFrom } from 'rxjs/operators';
import { Observable, Subject } from 'rxjs';
@ -27,7 +27,7 @@ import { selectAllProjects } from '../../project/store/project.selectors';
})
export class SelectTaskComponent implements OnInit, OnDestroy {
T: typeof T = T;
taskSelectCtrl: FormControl = new FormControl();
taskSelectCtrl: UntypedFormControl = new UntypedFormControl();
filteredTasks: Task[] = [];
projectMap: { [key: string]: Project } = {};
isCreate: boolean = false;

View file

@ -1,6 +1,6 @@
import { ChangeDetectionStrategy, Component, OnDestroy } from '@angular/core';
import { MatDialogRef } from '@angular/material/dialog';
import { FormGroup } from '@angular/forms';
import { UntypedFormGroup } from '@angular/forms';
import { FormlyFieldConfig } from '@ngx-formly/core';
import { TIMELINE_FORM_CFG } from '../../config/form-cfgs/timeline-form.const';
import { DEFAULT_GLOBAL_CONFIG } from '../../config/default-global-config.const';
@ -19,7 +19,7 @@ import { LS } from '../../../core/persistence/storage-keys.const';
export class DialogTimelineInitialSetupComponent implements OnDestroy {
T: typeof T = T;
timelineCfg: TimelineConfig;
formGroup: FormGroup = new FormGroup({});
formGroup: UntypedFormGroup = new UntypedFormGroup({});
formConfig: FormlyFieldConfig[] = TIMELINE_FORM_CFG.items as FormlyFieldConfig[];
private _subs = new Subscription();

View file

@ -9,7 +9,7 @@ import {
Output,
ViewChild,
} from '@angular/core';
import { FormControl } from '@angular/forms';
import { UntypedFormControl } from '@angular/forms';
import { Observable } from 'rxjs';
import {
MatAutocomplete,
@ -50,7 +50,7 @@ export class ChipListInputComponent implements OnDestroy {
suggestionsIn: Suggestion[] = [];
modelItems: Suggestion[] = [];
inputCtrl: FormControl = new FormControl();
inputCtrl: UntypedFormControl = new UntypedFormControl();
separatorKeysCodes: number[] = [ENTER, COMMA];
isAutoFocus = false;
@ViewChild('inputElRef', { static: true }) inputEl?: ElementRef<HTMLInputElement>;