angular update fixes
This commit is contained in:
parent
5a46345f15
commit
922c2110ac
|
@ -23,6 +23,7 @@
|
|||
],
|
||||
"styles": [
|
||||
"src/styles.scss",
|
||||
"src/assets/scss/material-dashboard.scss",
|
||||
"src/assets/css/demo.css",
|
||||
"node_modules/cookieconsent/build/cookieconsent.min.css"
|
||||
],
|
||||
|
|
|
@ -4,7 +4,7 @@ import { LOCALE_ID, NgModule } from '@angular/core';
|
|||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { MAT_MOMENT_DATE_FORMATS, MatMomentDateModule } from '@angular/material-moment-adapter';
|
||||
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';
|
||||
import { MAT_LEGACY_FORM_FIELD_DEFAULT_OPTIONS as MAT_FORM_FIELD_DEFAULT_OPTIONS, MatLegacyFormFieldDefaultOptions as MatFormFieldDefaultOptions } from '@angular/material/legacy-form-field';
|
||||
import { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldDefaultOptions } from '@angular/material/form-field';
|
||||
import { BrowserModule, Title } from '@angular/platform-browser';
|
||||
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { AppRoutingModule } from '@app/app-routing.module';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { Router } from '@angular/router';
|
||||
import { Credential } from '@app/core/model/auth/credential';
|
||||
import { LoginInfo } from '@app/core/model/auth/login-info';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import {FocusMonitor} from '@angular/cdk/a11y';
|
||||
import {BACKSPACE, ENTER} from '@angular/cdk/keycodes';
|
||||
import { FocusMonitor } from '@angular/cdk/a11y';
|
||||
import { BACKSPACE, ENTER } from '@angular/cdk/keycodes';
|
||||
import {
|
||||
Component,
|
||||
DoCheck,
|
||||
|
@ -16,19 +16,19 @@ import {
|
|||
TemplateRef,
|
||||
ViewChild
|
||||
} from '@angular/core';
|
||||
import {ControlValueAccessor, FormGroupDirective, NgControl, NgForm} from '@angular/forms';
|
||||
import { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';
|
||||
import { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';
|
||||
import { MatChipInputEvent } from '@angular/material/chips';
|
||||
import {ErrorStateMatcher, mixinErrorState} from '@angular/material/core';
|
||||
import {MatLegacyAutocomplete as MatAutocomplete, MatLegacyAutocompleteSelectedEvent as MatAutocompleteSelectedEvent, MatLegacyAutocompleteTrigger as MatAutocompleteTrigger} from '@angular/material/legacy-autocomplete';
|
||||
import {MatLegacyFormFieldControl as MatFormFieldControl} from '@angular/material/legacy-form-field';
|
||||
import {AutoCompleteGroup} from '@app/library/auto-complete/auto-complete-group';
|
||||
import { ErrorStateMatcher, mixinErrorState } from '@angular/material/core';
|
||||
import { MatFormFieldControl } from '@angular/material/form-field';
|
||||
import { AutoCompleteGroup } from '@app/library/auto-complete/auto-complete-group';
|
||||
import {
|
||||
MultipleAutoCompleteConfiguration
|
||||
} from '@app/library/auto-complete/multiple/multiple-auto-complete-configuration';
|
||||
import {BaseComponent} from '@common/base/base.component';
|
||||
import {isNullOrUndefined} from '@swimlane/ngx-datatable';
|
||||
import {BehaviorSubject, combineLatest, Observable, of as observableOf, Subject, Subscription} from 'rxjs';
|
||||
import {debounceTime, distinctUntilChanged, map, startWith, takeUntil, switchMap, tap} from 'rxjs/operators';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { isNullOrUndefined } from '@swimlane/ngx-datatable';
|
||||
import { BehaviorSubject, Observable, Subject, Subscription, combineLatest, of as observableOf } from 'rxjs';
|
||||
import { debounceTime, distinctUntilChanged, map, startWith, switchMap, takeUntil, tap } from 'rxjs/operators';
|
||||
|
||||
export class CustomComponentBase extends BaseComponent {
|
||||
constructor(
|
||||
|
@ -48,14 +48,14 @@ export const _CustomComponentMixinBase = mixinErrorState(CustomComponentBase);
|
|||
selector: 'app-multiple-auto-complete',
|
||||
templateUrl: './multiple-auto-complete.component.html',
|
||||
styleUrls: ['./multiple-auto-complete.component.scss'],
|
||||
providers: [{provide: MatFormFieldControl, useExisting: MultipleAutoCompleteComponent}]
|
||||
providers: [{ provide: MatFormFieldControl, useExisting: MultipleAutoCompleteComponent }]
|
||||
})
|
||||
export class MultipleAutoCompleteComponent extends _CustomComponentMixinBase implements OnInit, MatFormFieldControl<string>, ControlValueAccessor, OnDestroy, DoCheck, OnChanges {
|
||||
|
||||
static nextId = 0;
|
||||
@ViewChild('autocomplete', {static: true}) autocomplete: MatAutocomplete;
|
||||
@ViewChild('autocompleteTrigger', {static: true}) autocompleteTrigger: MatAutocompleteTrigger;
|
||||
@ViewChild('autocompleteInput', {static: true}) autocompleteInput: ElementRef;
|
||||
@ViewChild('autocomplete', { static: true }) autocomplete: MatAutocomplete;
|
||||
@ViewChild('autocompleteTrigger', { static: true }) autocompleteTrigger: MatAutocompleteTrigger;
|
||||
@ViewChild('autocompleteInput', { static: true }) autocompleteInput: ElementRef;
|
||||
|
||||
@Input()
|
||||
get configuration(): MultipleAutoCompleteConfiguration {
|
||||
|
|
|
@ -2,14 +2,14 @@ import { FocusMonitor } from '@angular/cdk/a11y';
|
|||
import { ENTER } from '@angular/cdk/keycodes';
|
||||
import { Component, DoCheck, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Optional, Output, Self, SimpleChanges, TemplateRef, ViewChild } from '@angular/core';
|
||||
import { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';
|
||||
import { MatLegacyAutocomplete as MatAutocomplete, MatLegacyAutocompleteSelectedEvent as MatAutocompleteSelectedEvent, MatLegacyAutocompleteTrigger as MatAutocompleteTrigger } from '@angular/material/legacy-autocomplete';
|
||||
import { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';
|
||||
import { ErrorStateMatcher, mixinErrorState } from '@angular/material/core';
|
||||
import { MatLegacyFormFieldControl as MatFormFieldControl } from '@angular/material/legacy-form-field';
|
||||
import { MatFormFieldControl } from '@angular/material/form-field';
|
||||
import { AutoCompleteGroup } from '@app/library/auto-complete/auto-complete-group';
|
||||
import { SingleAutoCompleteConfiguration } from '@app/library/auto-complete/single/single-auto-complete-configuration';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { Observable, of as observableOf, Subject } from 'rxjs';
|
||||
import {debounceTime, distinctUntilChanged, map, mergeMap, startWith, takeUntil, switchMap, tap} from 'rxjs/operators';
|
||||
import { Observable, Subject, of as observableOf } from 'rxjs';
|
||||
import { debounceTime, distinctUntilChanged, map, startWith, switchMap, takeUntil, tap } from 'rxjs/operators';
|
||||
|
||||
|
||||
export class CustomComponentBase extends BaseComponent {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Injectable } from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { CanDeactivate } from '@angular/router';
|
||||
import { CheckDeactivateBaseComponent } from '@app/library/deactivate/deactivate.component';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, OnInit, Inject } from '@angular/core';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
|
||||
|
||||
@Component({
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { PopupNotification, SnackBarNotification, SnackBarNotificationLevel, UiNotificationService, UiNotificationType } from '@app/core/services/notification/ui-notification-service';
|
||||
import { PopupNotificationDialogComponent } from '@app/library/notification/popup/popup-notification.component';
|
||||
import { SnackBarNotificationComponent } from '@app/library/notification/snack-bar/snack-bar-notification.component';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, Inject } from '@angular/core';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { PopupNotification } from '../../../core/services/notification/ui-notification-service';
|
||||
|
||||
@Component({
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, Inject } from '@angular/core';
|
||||
import { MAT_LEGACY_SNACK_BAR_DATA as MAT_SNACK_BAR_DATA } from '@angular/material/legacy-snack-bar';
|
||||
import { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
|
||||
import { SnackBarNotification } from '../../../core/services/notification/ui-notification-service';
|
||||
|
||||
@Component({
|
||||
|
|
|
@ -65,11 +65,11 @@
|
|||
{{numbering}}
|
||||
</div>
|
||||
</div> -->
|
||||
<mat-form-field appearance="none" class="numbering-label" [ngStyle]="calculateLabelWidth(numbering)">
|
||||
<mat-form-field class="numbering-label" [ngStyle]="calculateLabelWidth(numbering)">
|
||||
<input [ngClass]="{'text-danger':form.get('title').invalid &&form.get('title').touched}" matInput type="text" [value]="numbering" disabled>
|
||||
</mat-form-field>
|
||||
<!-- [appearance]="titleControl.focused? 'legacy':'none'" floatLabel="never" -->
|
||||
<mat-form-field class="col field-title" [appearance]="'none'" floatLabel="never">
|
||||
<mat-form-field class="col field-title" floatLabel="never">
|
||||
<textarea matInput type="text" [placeholder]="('DATASET-PROFILE-EDITOR.STEPS.GENERAL-INFO.UNTITLED' |translate)+' '+('DATASET-PROFILE-EDITOR.STEPS.GENERAL-INFO.QUESTION'| translate)" #titleControl="matInput"
|
||||
[formControl]="this.form.get('title')"></textarea>
|
||||
</mat-form-field>
|
||||
|
@ -91,20 +91,20 @@
|
|||
</rich-text-editor-component>
|
||||
</div>
|
||||
<div class="row" *ngIf="showAdditionalInfo">
|
||||
<mat-form-field class="col p-0 underline-line-field" appearance="legacy">
|
||||
<mat-form-field class="col p-0 underline-line-field">
|
||||
<input matInput type="text" placeholder="{{'DATASET-PROFILE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.ADDITIONAL-INFORMATION' | translate}}"
|
||||
[formControl]="this.form.get('additionalInformation')"/>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<mat-form-field *ngIf="isMultiplicityEnabled" class="col pl-0 underline-line-field" appearance="legacy">
|
||||
<mat-form-field *ngIf="isMultiplicityEnabled" class="col pl-0 underline-line-field">
|
||||
<input matInput placeholder="{{'DATASET-PROFILE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.MULTIPLICITY-MIN' | translate}}"
|
||||
type="number" [formControl]="form.get('multiplicity').get('min')" required>
|
||||
<mat-error *ngIf="form.get('multiplicity').get('min').hasError('required')">{{'GENERAL.VALIDATION.REQUIRED' | translate}}
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
<mat-form-field *ngIf="isMultiplicityEnabled" class="col pr-0 underline-line-field" appearance="legacy">
|
||||
<mat-form-field *ngIf="isMultiplicityEnabled" class="col pr-0 underline-line-field">
|
||||
<input matInput placeholder="{{'DATASET-PROFILE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.MULTIPLICITY-MAX' | translate}}"
|
||||
type="number" [formControl]="this.form.get('multiplicity').get('max')" required>
|
||||
<mat-error *ngIf="form.get('multiplicity').get('max').hasError('required')">{{'GENERAL.VALIDATION.REQUIRED' | translate}}
|
||||
|
@ -112,13 +112,13 @@
|
|||
</mat-form-field>
|
||||
</div>
|
||||
<div class="row">
|
||||
<mat-form-field *ngIf="isMultiplicityEnabled" class="col pl-0 underline-line-field" appearance="legacy">
|
||||
<mat-form-field *ngIf="isMultiplicityEnabled" class="col pl-0 underline-line-field">
|
||||
<input matInput placeholder="{{'DATASET-PROFILE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.MULTIPLICITY-PLACEHOLDER' | translate}}"
|
||||
type="text" [formControl]="form.get('multiplicity').get('placeholder')">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div class="row">
|
||||
<mat-checkbox *ngIf="isMultiplicityEnabled" appearance="legacy" class="col pl-0 underline-line-field fieldset-checkbox-action-dataset-profile-editor"
|
||||
<mat-checkbox *ngIf="isMultiplicityEnabled" class="col pl-0 underline-line-field fieldset-checkbox-action-dataset-profile-editor"
|
||||
[formControl]="form.get('multiplicity').get('tableView')">
|
||||
{{'DATASET-PROFILE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.MULTIPLICITY-TABLEVIEW' | translate}}
|
||||
</mat-checkbox>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';
|
||||
import { AbstractControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyCheckboxChange as MatCheckboxChange } from '@angular/material/legacy-checkbox';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatCheckboxChange } from '@angular/material/checkbox';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { DatasetProfileComboBoxType } from '@app/core/common/enum/dataset-profile-combo-box-type';
|
||||
import { DatasetProfileFieldViewStyle } from '@app/core/common/enum/dataset-profile-field-view-style';
|
||||
import { DatasetProfileInternalDmpEntitiesType } from '@app/core/common/enum/dataset-profile-internal-dmp-entities-type';
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import {Component, Input, OnInit, ViewChild} from '@angular/core';
|
||||
import {UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators} from '@angular/forms';
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||
import { FieldDataOption } from "@app/core/model/dataset-profile-definition/field-data/field-data";
|
||||
import { ConfigurationService } from "@app/core/services/configuration/configuration.service";
|
||||
import { FieldDataOptionEditorModel } from "@app/ui/admin/dataset-profile/admin/field-data/field-data-option-editor-model";
|
||||
import { UploadFieldDataEditorModel } from '../../../../admin/field-data/upload-field-data-editor-model';
|
||||
import {FieldDataOption} from "@app/core/model/dataset-profile-definition/field-data/field-data";
|
||||
import {FieldDataOptionEditorModel} from "@app/ui/admin/dataset-profile/admin/field-data/field-data-option-editor-model";
|
||||
import {MatLegacySelect as MatSelect} from "@angular/material/legacy-select";
|
||||
import {ConfigurationService} from "@app/core/services/configuration/configuration.service";
|
||||
|
||||
@Component({
|
||||
selector: 'app-dataset-profile-editor-upload-field-component',
|
||||
|
@ -14,33 +13,33 @@ import {ConfigurationService} from "@app/core/services/configuration/configurati
|
|||
export class DatasetProfileEditorUploadFieldComponent implements OnInit {
|
||||
types: Array<FieldDataOption> = [
|
||||
// images
|
||||
{label: "Animated Portable Network Graphics (APNG)", value: "image/apng", source: ""},
|
||||
{label: "AV1 Image File Format (AVIF)", value: "image/avif", source: ""},
|
||||
{label: "Graphics Interchange Format (GIF)", value: "image/gif", source: ""},
|
||||
{label: "Joint Photographic Expert Group image (JPEG)", value: "image/jpeg", source: ""},
|
||||
{label: "Portable Network Graphics (PNG)", value: "image/png", source: ""},
|
||||
{label: "Scalable Vector Graphics (SVG)", value: "image/svg+xml", source: ""},
|
||||
{label: "Web Picture format (WEBP)", value: "image/webp", source: ""},
|
||||
{label: "Tagged Image File Format (TIFF)", value: "image/tiff", source: ""},
|
||||
{ label: "Animated Portable Network Graphics (APNG)", value: "image/apng", source: "" },
|
||||
{ label: "AV1 Image File Format (AVIF)", value: "image/avif", source: "" },
|
||||
{ label: "Graphics Interchange Format (GIF)", value: "image/gif", source: "" },
|
||||
{ label: "Joint Photographic Expert Group image (JPEG)", value: "image/jpeg", source: "" },
|
||||
{ label: "Portable Network Graphics (PNG)", value: "image/png", source: "" },
|
||||
{ label: "Scalable Vector Graphics (SVG)", value: "image/svg+xml", source: "" },
|
||||
{ label: "Web Picture format (WEBP)", value: "image/webp", source: "" },
|
||||
{ label: "Tagged Image File Format (TIFF)", value: "image/tiff", source: "" },
|
||||
|
||||
// office word
|
||||
{label: "Microsoft Word 97-2003", value: "application/msword", source: ""}, // .doc, .dot
|
||||
{label: "Microsoft Word 2007-2013", value: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", source: ""}, // .docx
|
||||
{label: "OpenDocument Text", value: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", source: ""}, // .odt
|
||||
{ label: "Microsoft Word 97-2003", value: "application/msword", source: "" }, // .doc, .dot
|
||||
{ label: "Microsoft Word 2007-2013", value: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", source: "" }, // .docx
|
||||
{ label: "OpenDocument Text", value: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", source: "" }, // .odt
|
||||
|
||||
// office excel
|
||||
{label: "Microsoft Excel 97-2003", value: "application/vnd.ms-excel", source: ""}, // .xls, .xlt, .xla
|
||||
{label: "Microsoft Excel 2007-2013", value: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", source: ""}, // .xlsx
|
||||
{label: "OpenDocument Spreadsheet", value: "application/vnd.oasis.opendocument.spreadsheet", source: ""}, // .ods
|
||||
{ label: "Microsoft Excel 97-2003", value: "application/vnd.ms-excel", source: "" }, // .xls, .xlt, .xla
|
||||
{ label: "Microsoft Excel 2007-2013", value: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", source: "" }, // .xlsx
|
||||
{ label: "OpenDocument Spreadsheet", value: "application/vnd.oasis.opendocument.spreadsheet", source: "" }, // .ods
|
||||
|
||||
// office powerpoint
|
||||
{label: "Microsoft PowerPoint 97-2003", value: "application/vnd.ms-powerpoint", source: ""}, // .ppt, .pot, .pps, .ppa
|
||||
{label: "Microsoft PowerPoint 2007-2013", value: "application/vnd.openxmlformats-officedocument.presentationml.presentation", source: ""}, // .pptx
|
||||
{label: "OpenDocument Presentation", value: "application/vnd.oasis.opendocument.presentation", source: ""}, // .odp
|
||||
{ label: "Microsoft PowerPoint 97-2003", value: "application/vnd.ms-powerpoint", source: "" }, // .ppt, .pot, .pps, .ppa
|
||||
{ label: "Microsoft PowerPoint 2007-2013", value: "application/vnd.openxmlformats-officedocument.presentationml.presentation", source: "" }, // .pptx
|
||||
{ label: "OpenDocument Presentation", value: "application/vnd.oasis.opendocument.presentation", source: "" }, // .odp
|
||||
|
||||
|
||||
{label: "Comma-Seperated Values (CSV)", value: "text/csv", source: ""},
|
||||
{label: "Adobe Portable Document Format (PDF)", value: "application/pdf", source: ""}
|
||||
{ label: "Comma-Seperated Values (CSV)", value: "text/csv", source: "" },
|
||||
{ label: "Adobe Portable Document Format (PDF)", value: "application/pdf", source: "" }
|
||||
];
|
||||
|
||||
selected: string[] = [];
|
||||
|
@ -49,14 +48,14 @@ export class DatasetProfileEditorUploadFieldComponent implements OnInit {
|
|||
@Input() form: UntypedFormGroup;
|
||||
private data: UploadFieldDataEditorModel = new UploadFieldDataEditorModel();
|
||||
|
||||
constructor(private configurationService: ConfigurationService) {}
|
||||
constructor(private configurationService: ConfigurationService) { }
|
||||
|
||||
ngOnInit() {
|
||||
let typeValues: string[] = this.types.map(type => type.value);
|
||||
if (!this.form.get('data')) { this.form.addControl('data', this.data.buildForm()); }
|
||||
if(this.form.get('data') && this.form.get('data').get('types')) {
|
||||
for(let type of this.form.get('data').get('types').value) {
|
||||
if(typeValues.indexOf(type.value) != -1) {
|
||||
if (this.form.get('data') && this.form.get('data').get('types')) {
|
||||
for (let type of this.form.get('data').get('types').value) {
|
||||
if (typeValues.indexOf(type.value) != -1) {
|
||||
this.selected.push(type.value);
|
||||
}
|
||||
}
|
||||
|
@ -86,7 +85,7 @@ export class DatasetProfileEditorUploadFieldComponent implements OnInit {
|
|||
|
||||
addNewRow(type: FieldDataOption = null) {
|
||||
const typeListOptions: FieldDataOptionEditorModel = new FieldDataOptionEditorModel();
|
||||
if(type != null) {
|
||||
if (type != null) {
|
||||
typeListOptions.fromModel(type);
|
||||
}
|
||||
(<UntypedFormGroup>this.form.get('data')).addControl('types', new UntypedFormBuilder().array([]));
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||
import { FormGroupDirective, NgForm, UntypedFormArray, UntypedFormControl, UntypedFormGroup, } from '@angular/forms';
|
||||
import { ErrorStateMatcher } from '@angular/material/core';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatLegacySlideToggleChange as MatSlideToggleChange } from '@angular/material/legacy-slide-toggle';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatSlideToggleChange } from '@angular/material/slide-toggle';
|
||||
import { DatasetProfileComboBoxType } from '@app/core/common/enum/dataset-profile-combo-box-type';
|
||||
import { DatasetProfileFieldViewStyle } from '@app/core/common/enum/dataset-profile-field-view-style';
|
||||
import { DatasetProfileInternalDmpEntitiesType } from '@app/core/common/enum/dataset-profile-internal-dmp-entities-type';
|
||||
|
|
|
@ -203,7 +203,7 @@
|
|||
<div class="row justify-content-end">
|
||||
<div class="col d-flex justify-content-end" style="overflow: hidden;">
|
||||
<div style="min-width: 20em;max-width: 25em;" [@add-new-user-field]="inputUserState">
|
||||
<mat-form-field appearance="legacy">
|
||||
<mat-form-field>
|
||||
<input matInput #email placeholder="{{'DATASET-PROFILE-EDITOR.STEPS.GENERAL-INFO.DATASET-TEMPLATE-USERS'| translate}}" (focus)="onUserFieldFocus()" (blur)="onUserFieldBlur()" (keyup.enter)="addUser(email)">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
|
|
@ -3,7 +3,7 @@ import { of as observableOf, Observable, combineLatest, BehaviorSubject,of } fr
|
|||
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
|
||||
import { Component, OnInit, QueryList, ViewChild } from '@angular/core';
|
||||
import { AbstractControl, UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatStepper} from '@angular/material/stepper';
|
||||
import { ActivatedRoute, ParamMap, Router } from '@angular/router';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
|
@ -43,7 +43,7 @@ import { EditorCustomValidators, EditorCustomValidatorsEnum } from './custom-val
|
|||
import { GENERAL_ANIMATIONS, STEPPER_ANIMATIONS } from './animations/animations';
|
||||
import { DatasetProfileComboBoxType } from '@app/core/common/enum/dataset-profile-combo-box-type';
|
||||
import { UserService } from '@app/core/services/user/user.service';
|
||||
import { MatLegacyInput as MatInput } from '@angular/material/legacy-input';
|
||||
import { MatInput } from '@angular/material/input';
|
||||
import { CheckDeactivateBaseComponent } from '@app/library/deactivate/deactivate.component';
|
||||
import { DescriptionTemplateTypeService } from '@app/core/services/description-template-type/description-template-type.service';
|
||||
import { DescriptionTemplateType } from '@app/core/model/description-template-type/description-template-type';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { DatasetProfileCriteria } from '@app/core/query/dataset-profile/dataset-profile-criteria';
|
||||
import { DatasetProfileService } from '@app/core/services/dataset-profile/dataset-profile.service';
|
||||
import { DialogConfirmationUploadDatasetProfiles } from '@app/ui/admin/dataset-profile/listing/criteria/dialog-confirmation-upload-profile/dialog-confirmation-upload-profiles.component';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { Inject, Component } from '@angular/core';
|
||||
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { DataSource } from '@angular/cdk/table';
|
||||
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatLegacyPaginator as MatPaginator, LegacyPageEvent as PageEvent } from '@angular/material/legacy-paginator';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatPaginator, PageEvent } from '@angular/material/paginator';
|
||||
import { MatSort } from '@angular/material/sort';
|
||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||
import { DatasetStatus } from '@app/core/common/enum/dataset-status';
|
||||
|
@ -20,7 +20,7 @@ import { BaseComponent } from '@common/base/base.component';
|
|||
import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog/confirmation-dialog.component';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import * as FileSaver from 'file-saver';
|
||||
import { merge as observableMerge, Observable, of as observableOf } from 'rxjs';
|
||||
import { Observable, merge as observableMerge, of as observableOf } from 'rxjs';
|
||||
import { map, startWith, switchMap, takeUntil } from 'rxjs/operators';
|
||||
import { DialogConfirmationUploadDatasetProfiles } from './criteria/dialog-confirmation-upload-profile/dialog-confirmation-upload-profiles.component';
|
||||
|
||||
|
@ -128,7 +128,7 @@ export class DatasetProfileListingComponent extends BaseComponent implements OnI
|
|||
width: '500px',
|
||||
restoreFocus: false,
|
||||
data: {
|
||||
message: this.language.instant('DATASET-WIZARD.NEW-VERSION-FROM-FILE.NEW-VERSION-XML-FILE-TITLE', {datasetName: label}),
|
||||
message: this.language.instant('DATASET-WIZARD.NEW-VERSION-FROM-FILE.NEW-VERSION-XML-FILE-TITLE', { datasetName: label }),
|
||||
confirmButton: this.language.instant('DATASET-WIZARD.NEW-VERSION-FROM-FILE.NEW-VERSION-XML'),
|
||||
cancelButton: this.language.instant('DATASET-WIZARD.NEW-VERSION-FROM-FILE.NEW-VERSION-XML-FILE-CANCEL'),
|
||||
name: "",
|
||||
|
@ -140,11 +140,11 @@ export class DatasetProfileListingComponent extends BaseComponent implements OnI
|
|||
if (data && data.sucsess && data.name != null && data.file != null) {
|
||||
this.datasetService.uploadFile(data.file, data.name, id)
|
||||
.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(_=>{
|
||||
.subscribe(_ => {
|
||||
this.uiNotificationService.snackBarNotification(this.language.instant('DATASET-WIZARD.NEW-VERSION-FROM-FILE.NEW-VERSION-XML-SUCCESSFUL'), SnackBarNotificationLevel.Success);
|
||||
this.refresh();
|
||||
},
|
||||
error=>{
|
||||
error => {
|
||||
this.uiNotificationService.snackBarNotification(error.message, SnackBarNotificationLevel.Error);
|
||||
}
|
||||
);
|
||||
|
@ -183,8 +183,8 @@ export class DatasetProfileListingComponent extends BaseComponent implements OnI
|
|||
return filename;
|
||||
}
|
||||
|
||||
deleteTemplate(id: string){
|
||||
if(id){
|
||||
deleteTemplate(id: string) {
|
||||
if (id) {
|
||||
const dialogRef = this.dialog.open(ConfirmationDialogComponent, {
|
||||
restoreFocus: false,
|
||||
data: {
|
||||
|
@ -246,11 +246,11 @@ export class DatasetProfileListingComponent extends BaseComponent implements OnI
|
|||
if (data && data.sucsess && data.name != null && data.file != null) {
|
||||
this.datasetService.uploadFile(data.file, data.name)
|
||||
.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(_=>{
|
||||
.subscribe(_ => {
|
||||
this.uiNotificationService.snackBarNotification('Template successfully uploaded', SnackBarNotificationLevel.Success);
|
||||
this.refresh();
|
||||
},
|
||||
error=>{
|
||||
error => {
|
||||
this.uiNotificationService.snackBarNotification(error.message, SnackBarNotificationLevel.Error);
|
||||
}
|
||||
);
|
||||
|
@ -261,9 +261,9 @@ export class DatasetProfileListingComponent extends BaseComponent implements OnI
|
|||
/**
|
||||
* gets as a a pameter a number representing the status and returns the class that is applied
|
||||
* to status-chip */
|
||||
getStatusClass(status: DatasetStatus):string{
|
||||
getStatusClass(status: DatasetStatus): string {
|
||||
|
||||
if(status == DatasetStatus.Finalized){
|
||||
if (status == DatasetStatus.Finalized) {
|
||||
return 'status-chip-finalized'
|
||||
}
|
||||
|
||||
|
|
|
@ -1,16 +1,13 @@
|
|||
import { DOCUMENT } from '@angular/common';
|
||||
import { Component, EventEmitter, Inject, OnInit, Output, Input, AfterViewInit } from '@angular/core';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { interval, Subject, Subscription } from 'rxjs';
|
||||
import { distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';
|
||||
import { type } from 'os';
|
||||
import { SimpleChanges } from '@angular/core';
|
||||
import { NewEntryType, TableUpdateInfo, ToCEntry, ToCEntryType } from './table-of-contents-entry';
|
||||
import { DragulaService } from 'ng2-dragula';
|
||||
import { AfterViewInit, Component, EventEmitter, Inject, Input, OnInit, Output } from '@angular/core';
|
||||
import { UntypedFormArray } from '@angular/forms';
|
||||
import { MatLegacySnackBar as MatSnackBar, MatLegacySnackBarConfig as MatSnackBarConfig } from '@angular/material/legacy-snack-bar';
|
||||
import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { ContentObserver } from '@angular/cdk/observers';
|
||||
import { DragulaService } from 'ng2-dragula';
|
||||
import { interval } from 'rxjs';
|
||||
import { filter, takeUntil } from 'rxjs/operators';
|
||||
import { NewEntryType, TableUpdateInfo, ToCEntry, ToCEntryType } from './table-of-contents-entry';
|
||||
|
||||
|
||||
@Component({
|
||||
|
@ -36,7 +33,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
draggingItemId: string = null;
|
||||
tocEntryType = ToCEntryType;
|
||||
|
||||
DRAGULA_ITEM_ID_PREFIX="table_item_id_";
|
||||
DRAGULA_ITEM_ID_PREFIX = "table_item_id_";
|
||||
ROOT_ID: string = "ROOT_ID";//no special meaning
|
||||
private _dragStartedAt;
|
||||
private VALID_DROP_TIME = 500;//ms
|
||||
|
@ -55,7 +52,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
) {
|
||||
super();
|
||||
|
||||
if(this.dragulaService.find('TABLEDRAG')){
|
||||
if (this.dragulaService.find('TABLEDRAG')) {
|
||||
this.dragulaService.destroy('TABLEDRAG');
|
||||
}
|
||||
|
||||
|
@ -63,43 +60,43 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
|
||||
const drake = dragula.drake;
|
||||
|
||||
drake.on('drop', (el, target, source,sibling)=>{
|
||||
drake.on('drop', (el, target, source, sibling) => {
|
||||
|
||||
if(this._dragStartedAt){
|
||||
if (this._dragStartedAt) {
|
||||
const timeNow = new Date().getTime();
|
||||
|
||||
if(timeNow - this._dragStartedAt> this.VALID_DROP_TIME){
|
||||
if (timeNow - this._dragStartedAt > this.VALID_DROP_TIME) {
|
||||
// console.log('timenow: ', timeNow);
|
||||
// console.log('timestarted', this._dragStartedAt);
|
||||
this._dragStartedAt = null;
|
||||
|
||||
}else{
|
||||
} else {
|
||||
this.dataNeedsRefresh.emit();// even though the data is not changed the TABLE DRAG may has changed
|
||||
return;
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
this.dataNeedsRefresh.emit();// even though the data is not changed the TABLE DRAG may has changed
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
const elementId = (el.id as string).replace(this.DRAGULA_ITEM_ID_PREFIX,'');
|
||||
const elementId = (el.id as string).replace(this.DRAGULA_ITEM_ID_PREFIX, '');
|
||||
const targetId = target.id as string;
|
||||
const sourceId = source.id as string;
|
||||
|
||||
|
||||
if(!(elementId && targetId && sourceId)){
|
||||
if (!(elementId && targetId && sourceId)) {
|
||||
console.info('Elements do not have an id');
|
||||
this.dataNeedsRefresh.emit();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
const element:ToCEntry = this._findTocEntryById(elementId, this.links);
|
||||
const targetContainer:ToCEntry = this._findTocEntryById(targetId , this.links);
|
||||
const sourceContainer:ToCEntry = this._findTocEntryById(sourceId, this.links);
|
||||
const element: ToCEntry = this._findTocEntryById(elementId, this.links);
|
||||
const targetContainer: ToCEntry = this._findTocEntryById(targetId, this.links);
|
||||
const sourceContainer: ToCEntry = this._findTocEntryById(sourceId, this.links);
|
||||
|
||||
if(!(element && (targetContainer ||((element.type===ToCEntryType.Page) && (targetId === this.ROOT_ID))) && (sourceContainer||((element.type===ToCEntryType.Page) && (sourceId === this.ROOT_ID))))){
|
||||
if (!(element && (targetContainer || ((element.type === ToCEntryType.Page) && (targetId === this.ROOT_ID))) && (sourceContainer || ((element.type === ToCEntryType.Page) && (sourceId === this.ROOT_ID))))) {
|
||||
// console.info('Could not find elements');
|
||||
this.dataNeedsRefresh.emit();
|
||||
//TODO: angular update //drake.cancel(true);
|
||||
|
@ -107,9 +104,9 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
}
|
||||
|
||||
|
||||
switch(element.type){
|
||||
case ToCEntryType.FieldSet:{
|
||||
if(targetContainer.type != this.tocEntryType.Section){
|
||||
switch (element.type) {
|
||||
case ToCEntryType.FieldSet: {
|
||||
if (targetContainer.type != this.tocEntryType.Section) {
|
||||
// const message = 'Fieldset can only be child of Subsections';
|
||||
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.FIELDSET-MUST-HAVE-PARENT-SECTION');
|
||||
// console.error(message);
|
||||
|
@ -119,7 +116,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
}
|
||||
|
||||
//check if target container has no sections
|
||||
if((targetContainer.form.get('sections') as UntypedFormArray).length){
|
||||
if ((targetContainer.form.get('sections') as UntypedFormArray).length) {
|
||||
// const message = 'Cannot have inputs and sections on the same level';
|
||||
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.INPUT-SECTION-SAME-LEVEL');
|
||||
this.notifyUser(message);
|
||||
|
@ -132,54 +129,54 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
const targetFieldsets = targetContainer.form.get('fieldSets') as UntypedFormArray;
|
||||
const sourceFieldsets = sourceContainer.form.get('fieldSets') as UntypedFormArray;
|
||||
|
||||
if(!targetFieldsets){
|
||||
if (!targetFieldsets) {
|
||||
console.info('Not target fieldsets container found');
|
||||
this.dataNeedsRefresh.emit();
|
||||
return;
|
||||
}
|
||||
|
||||
let sourceOrdinal=-1;
|
||||
let sourceOrdinal = -1;
|
||||
let idx = -1;
|
||||
sourceFieldsets.controls.forEach((elem,index)=>{
|
||||
if(elem.get('id').value === elementId){
|
||||
sourceFieldsets.controls.forEach((elem, index) => {
|
||||
if (elem.get('id').value === elementId) {
|
||||
sourceOrdinal = elem.get('ordinal').value;
|
||||
idx = index
|
||||
}
|
||||
});
|
||||
|
||||
if(sourceOrdinal>=0 && idx>=0){
|
||||
if (sourceOrdinal >= 0 && idx >= 0) {
|
||||
sourceFieldsets.removeAt(idx);
|
||||
|
||||
sourceFieldsets.controls.forEach(control=>{
|
||||
sourceFieldsets.controls.forEach(control => {
|
||||
const ordinal = control.get('ordinal');
|
||||
if((ordinal.value>= sourceOrdinal) && sourceOrdinal>0){
|
||||
const updatedOrdinalVal = ordinal.value -1;
|
||||
if ((ordinal.value >= sourceOrdinal) && sourceOrdinal > 0) {
|
||||
const updatedOrdinalVal = ordinal.value - 1;
|
||||
ordinal.setValue(updatedOrdinalVal);
|
||||
}
|
||||
});
|
||||
sourceFieldsets.controls.sort(this._compareOrdinals);
|
||||
}
|
||||
|
||||
let position:number = targetFieldsets.length;
|
||||
let position: number = targetFieldsets.length;
|
||||
|
||||
if(!sibling ||!sibling.id){
|
||||
if (!sibling || !sibling.id) {
|
||||
console.info('No sibling Id found');
|
||||
}else{
|
||||
const siblingId = (sibling.id as string).replace(this.DRAGULA_ITEM_ID_PREFIX,'');
|
||||
} else {
|
||||
const siblingId = (sibling.id as string).replace(this.DRAGULA_ITEM_ID_PREFIX, '');
|
||||
let siblingIndex = -1;
|
||||
targetFieldsets.controls.forEach((e,idx)=>{
|
||||
if(e.get('id').value === siblingId){
|
||||
targetFieldsets.controls.forEach((e, idx) => {
|
||||
if (e.get('id').value === siblingId) {
|
||||
siblingIndex = idx;
|
||||
position = e.get('ordinal').value;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if(siblingIndex>=0){ //sibling found
|
||||
if (siblingIndex >= 0) { //sibling found
|
||||
|
||||
targetFieldsets.controls.filter(control=> control.get('ordinal').value >= position).forEach(control=>{
|
||||
targetFieldsets.controls.filter(control => control.get('ordinal').value >= position).forEach(control => {
|
||||
const ordinal = control.get('ordinal');
|
||||
const updatedOrdinalVal = ordinal.value +1;
|
||||
const updatedOrdinalVal = ordinal.value + 1;
|
||||
ordinal.setValue(updatedOrdinalVal);
|
||||
})
|
||||
}
|
||||
|
@ -188,16 +185,16 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
|
||||
|
||||
fieldsetForm.get('ordinal').setValue(position);
|
||||
targetFieldsets.insert(position,fieldsetForm);
|
||||
targetFieldsets.insert(position, fieldsetForm);
|
||||
targetFieldsets.controls.sort(this._compareOrdinals);
|
||||
this.dataNeedsRefresh.emit({draggedItemId: elementId});
|
||||
this.dataNeedsRefresh.emit({ draggedItemId: elementId });
|
||||
|
||||
break;
|
||||
}
|
||||
case ToCEntryType.Section:{
|
||||
case ToCEntryType.Section: {
|
||||
|
||||
if(targetContainer.type == ToCEntryType.Section){
|
||||
if((targetContainer.form.get('fieldSets')as UntypedFormArray).length){
|
||||
if (targetContainer.type == ToCEntryType.Section) {
|
||||
if ((targetContainer.form.get('fieldSets') as UntypedFormArray).length) {
|
||||
// const message = 'Cannot have inputs and sections on the same level';
|
||||
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.INPUT-SECTION-SAME-LEVEL');;
|
||||
this.notifyUser(message);
|
||||
|
@ -210,28 +207,28 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
const elementSectionForm = element.form;
|
||||
const sourceSections = elementSectionForm.parent as UntypedFormArray;
|
||||
|
||||
if(!(targetSections && sourceSections && elementSectionForm)){
|
||||
if (!(targetSections && sourceSections && elementSectionForm)) {
|
||||
console.info('Could not load sections');
|
||||
this.dataNeedsRefresh.emit();
|
||||
return;
|
||||
}
|
||||
|
||||
let idx = -1;
|
||||
sourceSections.controls.forEach((section,i)=>{
|
||||
if(section.get('id').value === elementId){
|
||||
sourceSections.controls.forEach((section, i) => {
|
||||
if (section.get('id').value === elementId) {
|
||||
idx = i;
|
||||
}
|
||||
});
|
||||
|
||||
if(!(idx>=0)){
|
||||
if (!(idx >= 0)) {
|
||||
console.info('Could not find element in Parent container');
|
||||
this.dataNeedsRefresh.emit();
|
||||
return;
|
||||
}
|
||||
|
||||
sourceSections.controls.filter(control=>control.get('ordinal').value >= elementSectionForm.get('ordinal').value).forEach(control=>{
|
||||
sourceSections.controls.filter(control => control.get('ordinal').value >= elementSectionForm.get('ordinal').value).forEach(control => {
|
||||
const ordinal = control.get('ordinal');
|
||||
const updatedOrdinalVal = ordinal.value? ordinal.value -1: 0;
|
||||
const updatedOrdinalVal = ordinal.value ? ordinal.value - 1 : 0;
|
||||
ordinal.setValue(updatedOrdinalVal);
|
||||
});
|
||||
|
||||
|
@ -240,31 +237,31 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
|
||||
let targetOrdinal = targetSections.length;
|
||||
|
||||
if(sibling && sibling.id){
|
||||
const siblingId = sibling.id.replace(this.DRAGULA_ITEM_ID_PREFIX,'');
|
||||
if (sibling && sibling.id) {
|
||||
const siblingId = sibling.id.replace(this.DRAGULA_ITEM_ID_PREFIX, '');
|
||||
|
||||
targetSections.controls.forEach((section,i)=>{
|
||||
if(section.get('id').value === siblingId){
|
||||
targetSections.controls.forEach((section, i) => {
|
||||
if (section.get('id').value === siblingId) {
|
||||
targetOrdinal = section.get('ordinal').value;
|
||||
}
|
||||
})
|
||||
|
||||
// if(targetOrdinal!=targetSections.length){//mporei na einai idio
|
||||
// section.get('ordinal').setValue(i+1);
|
||||
targetSections.controls.filter(control=> control.get('ordinal').value>=targetOrdinal).forEach(control=>{
|
||||
targetSections.controls.filter(control => control.get('ordinal').value >= targetOrdinal).forEach(control => {
|
||||
const ordinal = control.get('ordinal');
|
||||
const updatedOrdinalVal = ordinal.value+1;
|
||||
const updatedOrdinalVal = ordinal.value + 1;
|
||||
ordinal.setValue(updatedOrdinalVal);
|
||||
});
|
||||
// }
|
||||
|
||||
}else{
|
||||
} else {
|
||||
console.info('no siblings found');
|
||||
}
|
||||
elementSectionForm.get('ordinal').setValue(targetOrdinal);
|
||||
targetSections.insert(targetOrdinal, elementSectionForm);
|
||||
|
||||
}else if(targetContainer.type === ToCEntryType.Page){
|
||||
} else if (targetContainer.type === ToCEntryType.Page) {
|
||||
// const pageId = targetContainer.form.get('id').value;
|
||||
|
||||
const rootform = targetContainer.form.root;
|
||||
|
@ -272,23 +269,23 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
const parentSections = sectionForm.parent as UntypedFormArray;
|
||||
|
||||
let parentIndex = -1;
|
||||
parentSections.controls.forEach((section,i )=>{
|
||||
if(section.get('id').value === elementId){
|
||||
parentSections.controls.forEach((section, i) => {
|
||||
if (section.get('id').value === elementId) {
|
||||
parentIndex = i
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
if(parentIndex<0){
|
||||
if (parentIndex < 0) {
|
||||
console.info('could not locate section in parents array');
|
||||
this.dataNeedsRefresh.emit();
|
||||
return;
|
||||
}
|
||||
|
||||
//update parent sections ordinal
|
||||
parentSections.controls.filter(section=>section.get('ordinal').value >= sectionForm.get('ordinal').value).forEach(section=>{
|
||||
parentSections.controls.filter(section => section.get('ordinal').value >= sectionForm.get('ordinal').value).forEach(section => {
|
||||
const ordinal = section.get('ordinal');
|
||||
const updatedOrdinalVal = ordinal.value?ordinal.value -1: 0;
|
||||
const updatedOrdinalVal = ordinal.value ? ordinal.value - 1 : 0;
|
||||
ordinal.setValue(updatedOrdinalVal);
|
||||
})
|
||||
|
||||
|
@ -297,34 +294,34 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
|
||||
|
||||
let position = 0;
|
||||
if(targetContainer.subEntries){
|
||||
if (targetContainer.subEntries) {
|
||||
position = targetContainer.subEntries.length;
|
||||
}
|
||||
//populate sections
|
||||
const targetSectionsArray = rootform.get('sections') as UntypedFormArray;
|
||||
|
||||
|
||||
if(sibling && sibling.id){
|
||||
const siblingId= sibling.id.replace(this.DRAGULA_ITEM_ID_PREFIX, '');
|
||||
if (sibling && sibling.id) {
|
||||
const siblingId = sibling.id.replace(this.DRAGULA_ITEM_ID_PREFIX, '');
|
||||
let indx = -1;
|
||||
|
||||
targetContainer.subEntries.forEach((e,i)=>{
|
||||
if(e.form.get('id').value === siblingId){
|
||||
targetContainer.subEntries.forEach((e, i) => {
|
||||
if (e.form.get('id').value === siblingId) {
|
||||
indx = i;
|
||||
position = e.form.get('ordinal').value;
|
||||
}
|
||||
});
|
||||
if(indx>=0) {
|
||||
if (indx >= 0) {
|
||||
|
||||
// e.form.get('ordinal').setValue(i+1);
|
||||
targetContainer.subEntries.filter(e=>e.form.get('ordinal').value >= position).forEach(e=>{
|
||||
targetContainer.subEntries.filter(e => e.form.get('ordinal').value >= position).forEach(e => {
|
||||
const ordinal = e.form.get('ordinal');
|
||||
const updatedOrdinalVal = ordinal.value +1;
|
||||
const updatedOrdinalVal = ordinal.value + 1;
|
||||
ordinal.setValue(updatedOrdinalVal);
|
||||
});
|
||||
}
|
||||
|
||||
}else{
|
||||
} else {
|
||||
console.info('No sibling found');
|
||||
}
|
||||
|
||||
|
@ -332,7 +329,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
sectionForm.get('page').setValue(targetContainer.id);
|
||||
targetSectionsArray.push(sectionForm);
|
||||
|
||||
}else{
|
||||
} else {
|
||||
// const message = 'Drag not support to specific container';
|
||||
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.DRAG-NOT-SUPPORTED');
|
||||
this.notifyUser(message);
|
||||
|
@ -343,11 +340,11 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
|
||||
|
||||
|
||||
this.dataNeedsRefresh.emit({draggedItemId: elementId});
|
||||
this.dataNeedsRefresh.emit({ draggedItemId: elementId });
|
||||
break;
|
||||
}
|
||||
case ToCEntryType.Page:{
|
||||
if(targetId != this.ROOT_ID){
|
||||
case ToCEntryType.Page: {
|
||||
if (targetId != this.ROOT_ID) {
|
||||
// const message = 'A page element can only be at top level';
|
||||
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.PAGE-ELEMENT-ONLY-TOP-LEVEL');
|
||||
this.notifyUser(message);
|
||||
|
@ -357,7 +354,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
}
|
||||
|
||||
const rootForm = element.form.root;
|
||||
if(!rootForm){
|
||||
if (!rootForm) {
|
||||
console.info('Could not find root!')
|
||||
this.dataNeedsRefresh.emit();
|
||||
return;
|
||||
|
@ -369,13 +366,13 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
|
||||
let index = -1;
|
||||
|
||||
pages.controls.forEach((page,i)=>{
|
||||
if(page.get('id').value === elementId){
|
||||
index =i;
|
||||
pages.controls.forEach((page, i) => {
|
||||
if (page.get('id').value === elementId) {
|
||||
index = i;
|
||||
}
|
||||
});
|
||||
|
||||
if(index<0){
|
||||
if (index < 0) {
|
||||
console.info('Could not locate page on pages');
|
||||
this.dataNeedsRefresh.emit();
|
||||
return;
|
||||
|
@ -383,9 +380,9 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
|
||||
|
||||
//ordinality
|
||||
pages.controls.filter(page=> page.get('ordinal').value>= pageForm.get('ordinal').value).forEach(page=>{
|
||||
pages.controls.filter(page => page.get('ordinal').value >= pageForm.get('ordinal').value).forEach(page => {
|
||||
const ordinal = page.get('ordinal');
|
||||
const ordinalVal = ordinal.value? ordinal.value - 1: 0;
|
||||
const ordinalVal = ordinal.value ? ordinal.value - 1 : 0;
|
||||
ordinal.setValue(ordinalVal);
|
||||
});
|
||||
|
||||
|
@ -393,11 +390,11 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
|
||||
let targetPosition = pages.length;
|
||||
|
||||
if(sibling){
|
||||
if (sibling) {
|
||||
const siblingId = sibling.id.replace(this.DRAGULA_ITEM_ID_PREFIX, '');
|
||||
|
||||
pages.controls.forEach((page,i)=>{
|
||||
if(page.get('id').value === siblingId){
|
||||
pages.controls.forEach((page, i) => {
|
||||
if (page.get('id').value === siblingId) {
|
||||
targetPosition = page.get('ordinal').value;
|
||||
}
|
||||
});
|
||||
|
@ -405,15 +402,15 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
pageForm.get('ordinal').setValue(targetPosition);
|
||||
|
||||
//update ordinality
|
||||
pages.controls.filter(page=> page.get('ordinal').value>= targetPosition).forEach(page=>{
|
||||
pages.controls.filter(page => page.get('ordinal').value >= targetPosition).forEach(page => {
|
||||
const ordinal = page.get('ordinal');
|
||||
const ordinalVal = ordinal.value +1;
|
||||
const ordinalVal = ordinal.value + 1;
|
||||
ordinal.setValue(ordinalVal);
|
||||
});
|
||||
|
||||
|
||||
pages.insert(targetPosition, pageForm);
|
||||
this.dataNeedsRefresh.emit({draggedItemId:elementId});
|
||||
this.dataNeedsRefresh.emit({ draggedItemId: elementId });
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
@ -426,7 +423,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
});
|
||||
|
||||
|
||||
drake.on('drag',(el,source)=>{
|
||||
drake.on('drag', (el, source) => {
|
||||
this._dragStartedAt = new Date().getTime();
|
||||
// console.log('drag fired');
|
||||
this.isDragging = true;
|
||||
|
@ -438,14 +435,14 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
// }
|
||||
// }, this.VALID_DROP_TIME);
|
||||
});
|
||||
drake.on('over',(el, container, source)=>{
|
||||
drake.on('over', (el, container, source) => {
|
||||
try {
|
||||
this.overcontainer = container.id;
|
||||
} catch (error) {
|
||||
this.overcontainer = null;
|
||||
}
|
||||
});
|
||||
drake.on('dragend',(el)=>{
|
||||
drake.on('dragend', (el) => {
|
||||
this.isDragging = false;
|
||||
this.draggingItemId = null;
|
||||
this.overcontainer = null;
|
||||
|
@ -462,17 +459,17 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
const tableDiv = document.querySelector('#tocentrytable');
|
||||
|
||||
try {
|
||||
top.addEventListener('mouseover', (e) => {this.scrollTableTop = true; },{
|
||||
top.addEventListener('mouseover', (e) => { this.scrollTableTop = true; }, {
|
||||
passive: true
|
||||
});
|
||||
bottom.addEventListener('mouseover', (e) => {this.scrollTableBottom = true; },{
|
||||
bottom.addEventListener('mouseover', (e) => { this.scrollTableBottom = true; }, {
|
||||
passive: true
|
||||
});
|
||||
|
||||
top.addEventListener('mouseout', (e) => {this.scrollTableTop = false},{
|
||||
top.addEventListener('mouseout', (e) => { this.scrollTableTop = false }, {
|
||||
passive: true
|
||||
});
|
||||
bottom.addEventListener('mouseout', (e) => {this.scrollTableBottom = false;},{
|
||||
bottom.addEventListener('mouseout', (e) => { this.scrollTableBottom = false; }, {
|
||||
passive: true
|
||||
});
|
||||
|
||||
|
@ -482,20 +479,20 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
takeUntil(this._destroyed),
|
||||
filter(() => this.scrollTableTop)
|
||||
)
|
||||
.subscribe(()=>{
|
||||
try{
|
||||
.subscribe(() => {
|
||||
try {
|
||||
tableDiv.scrollBy(0, -this.pxToScroll);
|
||||
} catch {}
|
||||
} catch { }
|
||||
});
|
||||
this.$clock
|
||||
.pipe(
|
||||
takeUntil(this._destroyed),
|
||||
filter(() => this.scrollTableBottom)
|
||||
)
|
||||
.subscribe(()=>{
|
||||
try{
|
||||
.subscribe(() => {
|
||||
try {
|
||||
tableDiv.scrollBy(0, this.pxToScroll);
|
||||
} catch {}
|
||||
} catch { }
|
||||
});
|
||||
} catch {
|
||||
console.log('could not find scrolling elements');
|
||||
|
@ -504,7 +501,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
|
||||
}
|
||||
|
||||
private _scrollIntoDragginItem(id: string){
|
||||
private _scrollIntoDragginItem(id: string) {
|
||||
|
||||
// const table = document.getElementById('tocentrytable');
|
||||
// if(table){
|
||||
|
@ -540,26 +537,26 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
// }
|
||||
}
|
||||
|
||||
private _findTocEntryById(id: string, tocentries: ToCEntry[]): ToCEntry{
|
||||
if(!tocentries){
|
||||
private _findTocEntryById(id: string, tocentries: ToCEntry[]): ToCEntry {
|
||||
if (!tocentries) {
|
||||
return null;
|
||||
}
|
||||
|
||||
let tocEntryFound = tocentries.find(entry=>entry.id === id);
|
||||
let tocEntryFound = tocentries.find(entry => entry.id === id);
|
||||
|
||||
if(tocEntryFound){
|
||||
if (tocEntryFound) {
|
||||
return tocEntryFound;
|
||||
}
|
||||
|
||||
for(let entry of tocentries){
|
||||
for (let entry of tocentries) {
|
||||
const result = this._findTocEntryById(id, entry.subEntries);
|
||||
if(result){
|
||||
if (result) {
|
||||
tocEntryFound = result;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return tocEntryFound? tocEntryFound: null;
|
||||
return tocEntryFound ? tocEntryFound : null;
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
|
@ -568,7 +565,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
}
|
||||
|
||||
|
||||
itemClicked(item: ToCEntry){
|
||||
itemClicked(item: ToCEntry) {
|
||||
//leaf node
|
||||
this.itemClick.emit(item);
|
||||
}
|
||||
|
@ -576,26 +573,26 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
|||
// addNewEntry(tce: ToCEntry){
|
||||
// this.newEntry.emit(tce);
|
||||
// }
|
||||
deleteEntry(currentLink: ToCEntry){
|
||||
deleteEntry(currentLink: ToCEntry) {
|
||||
this.removeEntry.emit(currentLink);
|
||||
}
|
||||
|
||||
createNewEntry(newEntry: NewEntryType){
|
||||
createNewEntry(newEntry: NewEntryType) {
|
||||
this.createEntry.emit(newEntry);
|
||||
}
|
||||
onDataNeedsRefresh(){
|
||||
onDataNeedsRefresh() {
|
||||
this.dataNeedsRefresh.emit();
|
||||
}
|
||||
|
||||
notifyUser(message:string){
|
||||
notifyUser(message: string) {
|
||||
this.snackbar.open(message, null, this._snackBarConfig);
|
||||
}
|
||||
|
||||
private _snackBarConfig: MatSnackBarConfig = {
|
||||
duration:2000
|
||||
duration: 2000
|
||||
}
|
||||
|
||||
private _compareOrdinals(a, b){
|
||||
private _compareOrdinals(a, b) {
|
||||
|
||||
const aValue = a.get('ordinal').value as number;
|
||||
const bValue = b.get('ordinal').value as number;
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<mat-card style="padding: 2em;">
|
||||
<mat-card-content>
|
||||
<div class="row" style="gap:1em">
|
||||
<mat-form-field class="col-lg-6" appearance="legacy">
|
||||
<mat-form-field class="col-lg-6">
|
||||
<input matInput placeholder="{{'DESCRIPTION-TYPE-EDITOR.FIELDS.LABEL' | translate}}" type="text" name="name" formControlName="name"
|
||||
required>
|
||||
<mat-error *ngIf="formGroup.get('name').hasError('backendError')">
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import { DataSource } from '@angular/cdk/table';
|
||||
import { HttpErrorResponse } from '@angular/common/http';
|
||||
import { Component, EventEmitter, OnInit, ViewChild } from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatLegacyPaginator as MatPaginator } from '@angular/material/legacy-paginator';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { MatSort } from '@angular/material/sort';
|
||||
import { MatLegacyTableDataSource as MatTableDataSource } from '@angular/material/legacy-table';
|
||||
import { Router } from '@angular/router';
|
||||
import { DescriptionTemplateType } from '@app/core/model/description-template-type/description-template-type';
|
||||
import { DescriptionTemplateTypeLookup } from '@app/core/query/description-template/description-template-type.lookup';
|
||||
|
@ -13,7 +12,7 @@ import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/serv
|
|||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog/confirmation-dialog.component';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { Observable, merge, of } from 'rxjs';
|
||||
import { Observable, merge } from 'rxjs';
|
||||
import { map, startWith, switchMap, takeUntil } from 'rxjs/operators';
|
||||
import { nameof } from 'ts-simple-nameof';
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ import { map, takeUntil } from 'rxjs/operators';
|
|||
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog/confirmation-dialog.component';
|
||||
import { MultipleAutoCompleteConfiguration } from '@app/library/auto-complete/multiple/multiple-auto-complete-configuration';
|
||||
import { DatasetProfileModel } from '@app/core/model/dataset/dataset-profile';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { Inject, Component } from '@angular/core';
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { DmpBlueprintCriteria } from '@app/core/query/dmp/dmp-blueprint-criteria';
|
||||
import { DmpProfileService } from '@app/core/services/dmp/dmp-profile.service';
|
||||
import { BaseCriteriaComponent } from '@app/ui/misc/criteria/base-criteria.component';
|
||||
|
|
|
@ -2,30 +2,28 @@
|
|||
import { DataSource } from '@angular/cdk/table';
|
||||
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatLegacyPaginator as MatPaginator, LegacyPageEvent as PageEvent } from '@angular/material/legacy-paginator';
|
||||
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatPaginator, PageEvent } from '@angular/material/paginator';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { MatSort } from '@angular/material/sort';
|
||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||
import { DmpProfileStatus } from '@app/core/common/enum/dmp-profile-status';
|
||||
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
||||
import { DmpProfileListing } from '@app/core/model/dmp-profile/dmp-profile-listing';
|
||||
import { DmpProfileCriteria } from '@app/core/query/dmp/dmp-profile-criteria';
|
||||
import { DmpBlueprintListing } from '@app/core/model/dmp/dmp-blueprint/dmp-blueprint-listing';
|
||||
import { DmpBlueprintCriteria } from '@app/core/query/dmp/dmp-blueprint-criteria';
|
||||
import { DmpProfileService } from '@app/core/services/dmp/dmp-profile.service';
|
||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||
import { UiNotificationService } from '@app/core/services/notification/ui-notification-service';
|
||||
import { DmpProfileCriteriaComponent } from '@app/ui/admin/dmp-profile/listing/criteria/dmp-profile-criteria.component';
|
||||
import { BreadcrumbItem } from '@app/ui/misc/breadcrumb/definition/breadcrumb-item';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog/confirmation-dialog.component';
|
||||
import { SnackBarNotificationLevel } from '@common/modules/notification/ui-notification-service';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { merge as observableMerge, Observable, of as observableOf } from 'rxjs';
|
||||
import * as FileSaver from 'file-saver';
|
||||
import { Observable, merge as observableMerge, of as observableOf } from 'rxjs';
|
||||
import { map, startWith, switchMap, takeUntil } from 'rxjs/operators';
|
||||
import { DialodConfirmationUploadDmpProfiles } from './criteria/dialog-confirmation-upload-profile/dialog-confirmation-upload-profiles.component';
|
||||
import { DmpBlueprintCriteria } from '@app/core/query/dmp/dmp-blueprint-criteria';
|
||||
import { DmpBlueprintListing } from '@app/core/model/dmp/dmp-blueprint/dmp-blueprint-listing';
|
||||
import { DmpProfileStatus } from '@app/core/common/enum/dmp-profile-status';
|
||||
import * as FileSaver from 'file-saver';
|
||||
import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog/confirmation-dialog.component';
|
||||
|
||||
|
||||
@Component({
|
||||
|
@ -124,16 +122,18 @@ export class DmpProfileListingComponent extends BaseComponent implements OnInit
|
|||
|
||||
deleteTemplate(id: string) {
|
||||
if (id) {
|
||||
this.dialog.open(ConfirmationDialogComponent,{data:{
|
||||
this.dialog.open(ConfirmationDialogComponent, {
|
||||
data: {
|
||||
isDeleteConfirmation: true,
|
||||
confirmButton: this.languageService.instant('DMP-PROFILE-EDITOR.CONFIRM-DELETE-DIALOG.CONFIRM-BUTTON'),
|
||||
cancelButton: this.languageService.instant("DMP-PROFILE-EDITOR.CONFIRM-DELETE-DIALOG.CANCEL-BUTTON"),
|
||||
message: this.languageService.instant("DMP-PROFILE-EDITOR.CONFIRM-DELETE-DIALOG.MESSAGE")
|
||||
}})
|
||||
}
|
||||
})
|
||||
.afterClosed()
|
||||
.subscribe(
|
||||
confirmed =>{
|
||||
if(confirmed){
|
||||
confirmed => {
|
||||
if (confirmed) {
|
||||
this.dmpProfileService.delete(id)
|
||||
.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(
|
||||
|
@ -170,11 +170,11 @@ export class DmpProfileListingComponent extends BaseComponent implements OnInit
|
|||
// this.datasetService.makeDatasetPublic(id).pipe(takeUntil(this._destroyed)).subscribe();
|
||||
// }
|
||||
|
||||
parseStatus(value: number): string{
|
||||
parseStatus(value: number): string {
|
||||
const stringVal = value.toString()
|
||||
try{
|
||||
try {
|
||||
return this.statuses.find(status => status.value === stringVal).viewValue;
|
||||
}catch{
|
||||
} catch {
|
||||
return stringVal;
|
||||
}
|
||||
}
|
||||
|
@ -195,22 +195,22 @@ export class DmpProfileListingComponent extends BaseComponent implements OnInit
|
|||
if (data && data.sucsess && data.name != null && data.file != null) {
|
||||
this.dmpProfileService.uploadFile(data.file, data.name)
|
||||
.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(_=>{
|
||||
.subscribe(_ => {
|
||||
this.uiNotificationService.snackBarNotification(this.languageService.instant('DMP-PROFILE-LISTING.MESSAGES.TEMPLATE-UPLOAD-SUCCESS'), SnackBarNotificationLevel.Success);
|
||||
this.refresh();
|
||||
},
|
||||
error=>{
|
||||
error => {
|
||||
this.uiNotificationService.snackBarNotification(error.message, SnackBarNotificationLevel.Error);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
getStatusClass(status: number):string{
|
||||
getStatusClass(status: number): string {
|
||||
|
||||
if(status === 1){//finalized
|
||||
if (status === 1) {//finalized
|
||||
return 'status-chip-finalized'
|
||||
}
|
||||
if(status === 0){
|
||||
if (status === 0) {
|
||||
return 'status-chip-draft';
|
||||
}
|
||||
return '';
|
||||
|
|
|
@ -1,25 +1,24 @@
|
|||
|
||||
import {of as observableOf, merge as observableMerge, Observable } from 'rxjs';
|
||||
import { Observable, merge as observableMerge, of as observableOf } from 'rxjs';
|
||||
|
||||
import {map, catchError, switchMap, startWith, takeUntil} from 'rxjs/operators';
|
||||
import { DataSource } from '@angular/cdk/table';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { MatLegacyPaginator as MatPaginator } from '@angular/material/legacy-paginator';
|
||||
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { MatSort } from '@angular/material/sort';
|
||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import * as FileSaver from 'file-saver';
|
||||
import { catchError, map, startWith, switchMap, takeUntil } from 'rxjs/operators';
|
||||
import { DataTableRequest } from '../../../../core/model/data-table/data-table-request';
|
||||
import { UserListingModel } from '../../../../core/model/user/user-listing';
|
||||
import { UserCriteria } from '../../../../core/query/user/user-criteria';
|
||||
import { UserService } from '../../../../core/services/user/user.service';
|
||||
import { SnackBarNotificationComponent } from '../../../../library/notification/snack-bar/snack-bar-notification.component';
|
||||
import { DataTableRequest } from '../../../../core/model/data-table/data-table-request';
|
||||
import { UserCriteriaComponent } from './criteria/user-criteria.component';
|
||||
import { BreadcrumbItem } from '../../../misc/breadcrumb/definition/breadcrumb-item';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import * as FileSaver from 'file-saver';
|
||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { MatLegacyTableDataSource as MatTableDataSource } from '@angular/material/legacy-table';
|
||||
import { UserCriteriaComponent } from './criteria/user-criteria.component';
|
||||
|
||||
export class UsersDataSource extends DataSource<UserListingModel> {
|
||||
|
||||
|
@ -147,7 +146,7 @@ export class UserListingComponent extends BaseComponent implements OnInit, After
|
|||
}
|
||||
|
||||
// Export user mails
|
||||
exportUsers(){
|
||||
exportUsers() {
|
||||
this.userService.downloadCSV()
|
||||
.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(response => {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, Inject } from '@angular/core';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { FormGroup } from '@angular/forms';
|
||||
|
||||
@Component({
|
||||
|
|
|
@ -25,7 +25,7 @@ import { BreadcrumbItem } from '../misc/breadcrumb/definition/breadcrumb-item';
|
|||
import { IBreadCrumbComponent } from '../misc/breadcrumb/definition/IBreadCrumbComponent';
|
||||
import { DmpCriteria } from '@app/core/query/dmp/dmp-criteria';
|
||||
import { DatasetCriteria } from '@app/core/query/dataset/dataset-criteria';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { StartNewDmpDialogComponent } from '../dmp/start-new-dmp-dialogue/start-new-dmp-dialog.component';
|
||||
import { StartNewDatasetDialogComponent } from '../dmp/start-new-dataset-dialogue/start-new-dataset-dialog.component';
|
||||
import { DatasetWizardEditorModel } from '../dataset/dataset-wizard/dataset-wizard-editor.model';
|
||||
|
|
|
@ -14,7 +14,7 @@ import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog
|
|||
import { DatasetCopyDialogueComponent } from '@app/ui/dataset/dataset-wizard/dataset-copy-dialogue/dataset-copy-dialogue.component';
|
||||
import {UntypedFormControl, UntypedFormBuilder, UntypedFormGroup} from '@angular/forms';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { DatasetWizardService } from '@app/core/services/dataset-wizard/dataset-wizard.service';
|
||||
import { SnackBarNotificationLevel } from '@app/core/services/notification/ui-notification-service';
|
||||
import * as FileSaver from 'file-saver';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, OnInit } from "@angular/core";
|
||||
import { MatLegacySnackBar as MatSnackBar } from "@angular/material/legacy-snack-bar";
|
||||
import { MatSnackBar } from "@angular/material/snack-bar";
|
||||
import { ActivatedRoute, Router } from "@angular/router";
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { TranslateService } from "@ngx-translate/core";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import {Component, OnInit, Output, EventEmitter, Input, ViewChild} from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import {ActivatedRoute, Router} from '@angular/router';
|
||||
import { RecentActivityType } from '@app/core/common/enum/recent-activity-type';
|
||||
import { Principal } from '@app/core/model/auth/principal';
|
||||
|
|
|
@ -10,7 +10,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||
import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
|
||||
import { UntypedFormControl, UntypedFormBuilder } from '@angular/forms';
|
||||
import { DatasetCopyDialogueComponent } from '@app/ui/dataset/dataset-wizard/dataset-copy-dialogue/dataset-copy-dialogue.component';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { debounceTime, takeUntil } from 'rxjs/operators';
|
||||
import {ActivatedRoute, Router} from '@angular/router';
|
||||
import { DatasetWizardService } from '@app/core/services/dataset-wizard/dataset-wizard.service';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import {Component, OnInit, Output, EventEmitter, Input, ViewChild} from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import {ActivatedRoute, Router} from '@angular/router';
|
||||
import { RecentActivityType } from '@app/core/common/enum/recent-activity-type';
|
||||
import { Principal } from '@app/core/model/auth/principal';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatStepper } from '@angular/material/stepper';
|
||||
import { Router } from '@angular/router';
|
||||
import { DatasetStatus } from '@app/core/common/enum/dataset-status';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
import { map, filter } from 'rxjs/operators';
|
||||
import { Component } from "@angular/core";
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from "@angular/material/legacy-dialog";
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
|
||||
import { SingleAutoCompleteConfiguration } from "../../../../library/auto-complete/single/single-auto-complete-configuration";
|
||||
import { Observable } from "rxjs";
|
||||
import { DataTableRequest } from "../../../../core/model/data-table/data-table-request";
|
||||
|
|
|
@ -8,7 +8,7 @@ import { TranslateService } from '@ngx-translate/core';
|
|||
import { DatasetProfileModel } from '@app/core/model/dataset/dataset-profile';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
import { DmpProfileService } from '@app/core/services/dmp/dmp-profile.service';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { PopupNotificationDialogComponent } from '@app/library/notification/popup/popup-notification.component';
|
||||
|
||||
@Component({
|
||||
|
|
|
@ -2,8 +2,8 @@ import { Location } from '@angular/common';
|
|||
import { HttpClient } from '@angular/common/http';
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { AbstractControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { DatasetStatus } from '@app/core/common/enum/dataset-status';
|
||||
import { DmpStatus } from '@app/core/common/enum/dmp-status';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';
|
||||
import { UntypedFormArray, UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { Router } from '@angular/router';
|
||||
import { ExternalSourceItemModel } from '@app/core/model/external-sources/external-source-item';
|
||||
import { ExternalSourcesConfiguration } from '@app/core/model/external-sources/external-sources-configuration';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { ExternalDataRepositoryService } from '@app/core/services/external-sources/data-repository/extternal-data-repository.service';
|
||||
import { ExternalDataRepositoryEditorModel } from '@app/ui/dataset/dataset-wizard/dataset-wizard-editor.model';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { ExternalDatasetService } from '@app/core/services/external-sources/dataset/external-dataset.service';
|
||||
import { ExternalDatasetEditorModel } from '@app/ui/dataset/dataset-wizard/dataset-wizard-editor.model';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { ExternalRegistryService } from '@app/core/services/external-sources/registry/external-registry.service';
|
||||
import { ExternalRegistryEditorModel } from '@app/ui/dataset/dataset-wizard/dataset-wizard-editor.model';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { ExternalServiceService } from '@app/core/services/external-sources/service/external-service.service';
|
||||
import { ExternalServiceEditorModel } from '@app/ui/dataset/dataset-wizard/dataset-wizard-editor.model';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
import {Component, Inject, OnInit} from "@angular/core";
|
||||
import {MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA, MatLegacyDialog as MatDialog, MatLegacyDialogRef as MatDialogRef} from "@angular/material/legacy-dialog";
|
||||
import {map, takeUntil} from "rxjs/operators";
|
||||
import {ProgressIndicationService} from "@app/core/services/progress-indication/progress-indication-service";
|
||||
import {BaseComponent} from "@common/base/base.component";
|
||||
import {SingleAutoCompleteConfiguration} from "@app/library/auto-complete/single/single-auto-complete-configuration";
|
||||
import {Observable, of} from "rxjs";
|
||||
import {Prefilling} from "@app/core/model/dataset/prefilling";
|
||||
import {PrefillingService} from "@app/core/services/prefilling.service";
|
||||
import {UntypedFormBuilder, UntypedFormGroup, Validators} from "@angular/forms";
|
||||
import { Component, Inject, OnInit } from "@angular/core";
|
||||
import { UntypedFormBuilder, UntypedFormGroup, Validators } from "@angular/forms";
|
||||
import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from "@angular/material/dialog";
|
||||
import { DatasetProfileModel } from "@app/core/model/dataset/dataset-profile";
|
||||
import { Prefilling } from "@app/core/model/dataset/prefilling";
|
||||
import { DmpProfileService } from "@app/core/services/dmp/dmp-profile.service";
|
||||
import { PrefillingService } from "@app/core/services/prefilling.service";
|
||||
import { ProgressIndicationService } from "@app/core/services/progress-indication/progress-indication-service";
|
||||
import { SingleAutoCompleteConfiguration } from "@app/library/auto-complete/single/single-auto-complete-configuration";
|
||||
import { PopupNotificationDialogComponent } from "@app/library/notification/popup/popup-notification.component";
|
||||
import { BaseComponent } from "@common/base/base.component";
|
||||
import { TranslateService } from "@ngx-translate/core";
|
||||
import { Observable } from "rxjs";
|
||||
import { map, takeUntil } from "rxjs/operators";
|
||||
|
||||
@Component({
|
||||
selector: 'prefill-dataset-component',
|
||||
|
@ -45,13 +45,13 @@ export class PrefillDatasetComponent extends BaseComponent implements OnInit {
|
|||
profile: this.fb.control('', Validators.required),
|
||||
prefill: this.fb.control(null, Validators.required)
|
||||
})
|
||||
if(this.data.availableProfiles && this.data.availableProfiles.length === 1) {
|
||||
if (this.data.availableProfiles && this.data.availableProfiles.length === 1) {
|
||||
this.addProfileIfUsedLessThanMax(this.data.availableProfiles[0]);
|
||||
}
|
||||
this.prefillAutoCompleteConfiguration = {
|
||||
filterFn: this.searchDatasets.bind(this),
|
||||
loadDataOnStart: false,
|
||||
displayFn: (item) => (item['name'].length > 60)?(item['name'].substr(0, 60) + "..." ):item['name'],
|
||||
displayFn: (item) => (item['name'].length > 60) ? (item['name'].substr(0, 60) + "...") : item['name'],
|
||||
titleFn: (item) => item['name'],
|
||||
subtitleFn: (item) => item['pid']
|
||||
};
|
||||
|
@ -64,26 +64,26 @@ export class PrefillDatasetComponent extends BaseComponent implements OnInit {
|
|||
.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(result => {
|
||||
const section = result.definition.sections[dmpSectionIndex];
|
||||
if(section.hasTemplates){
|
||||
if (section.hasTemplates) {
|
||||
const foundTemplate = section.descriptionTemplates.find(template => template.descriptionTemplateId === profile.id);
|
||||
if (foundTemplate !== undefined) {
|
||||
let count = 0;
|
||||
if(this.data.datasetFormGroup.get('dmp').value.datasets != null){
|
||||
for(let dataset of this.data.datasetFormGroup.get('dmp').value.datasets){
|
||||
if(dataset.dmpSectionIndex === dmpSectionIndex && dataset.profile.id === foundTemplate.descriptionTemplateId){
|
||||
if (this.data.datasetFormGroup.get('dmp').value.datasets != null) {
|
||||
for (let dataset of this.data.datasetFormGroup.get('dmp').value.datasets) {
|
||||
if (dataset.dmpSectionIndex === dmpSectionIndex && dataset.profile.id === foundTemplate.descriptionTemplateId) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
if(count < foundTemplate.maxMultiplicity){
|
||||
if (count < foundTemplate.maxMultiplicity) {
|
||||
this.prefillForm.get('profile').patchValue(profile);
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
else {
|
||||
this.prefillForm.get('profile').patchValue(profile);
|
||||
}
|
||||
}
|
||||
else{
|
||||
else {
|
||||
this.prefillForm.get('profile').patchValue(profile);
|
||||
}
|
||||
});
|
||||
|
@ -97,17 +97,17 @@ export class PrefillDatasetComponent extends BaseComponent implements OnInit {
|
|||
.pipe(takeUntil(this._destroyed))
|
||||
.subscribe(result => {
|
||||
const section = result.definition.sections[dmpSectionIndex];
|
||||
if(section.hasTemplates){
|
||||
if (section.hasTemplates) {
|
||||
const foundTemplate = section.descriptionTemplates.find(template => template.descriptionTemplateId === profile.id);
|
||||
if (foundTemplate !== undefined) {
|
||||
let count = 0;
|
||||
if(this.data.datasetFormGroup.get('dmp').value.datasets != null){
|
||||
for(let dataset of this.data.datasetFormGroup.get('dmp').value.datasets){
|
||||
if(dataset.dmpSectionIndex === dmpSectionIndex && dataset.profile.id === foundTemplate.descriptionTemplateId){
|
||||
if (this.data.datasetFormGroup.get('dmp').value.datasets != null) {
|
||||
for (let dataset of this.data.datasetFormGroup.get('dmp').value.datasets) {
|
||||
if (dataset.dmpSectionIndex === dmpSectionIndex && dataset.profile.id === foundTemplate.descriptionTemplateId) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
if(count === foundTemplate.maxMultiplicity){
|
||||
if (count === foundTemplate.maxMultiplicity) {
|
||||
this.dialog.open(PopupNotificationDialogComponent, {
|
||||
data: {
|
||||
title: this.language.instant('DATASET-EDITOR.MAX-DESCRIPTION-DIALOG.TITLE'),
|
||||
|
@ -115,7 +115,7 @@ export class PrefillDatasetComponent extends BaseComponent implements OnInit {
|
|||
}, maxWidth: '30em'
|
||||
});
|
||||
}
|
||||
else{
|
||||
else {
|
||||
this.prefillForm.get('profile').setValue(profile);
|
||||
}
|
||||
}
|
||||
|
@ -136,9 +136,9 @@ export class PrefillDatasetComponent extends BaseComponent implements OnInit {
|
|||
|
||||
searchDatasets(query: string): Observable<Prefilling[]> {
|
||||
return this.prefillingService.getPrefillingList(query).pipe(map(prefilling => prefilling.sort((a, b) => {
|
||||
if(a.name > b.name) {
|
||||
if (a.name > b.name) {
|
||||
return 1;
|
||||
} else if(a.name < b.name) {
|
||||
} else if (a.name < b.name) {
|
||||
return -1;
|
||||
} else {
|
||||
return 0;
|
||||
|
@ -147,8 +147,8 @@ export class PrefillDatasetComponent extends BaseComponent implements OnInit {
|
|||
}
|
||||
|
||||
next() {
|
||||
if(this.isPrefilled) {
|
||||
if(this.prefillForm.get('prefill').value.data == null) {
|
||||
if (this.isPrefilled) {
|
||||
if (this.prefillForm.get('prefill').value.data == null) {
|
||||
this.prefillingService.getPrefillingDataset(this.prefillForm.get('prefill').value.pid, this.prefillForm.get('profile').value.id, this.prefillForm.get('prefill').value.key).subscribe(wizard => {
|
||||
wizard.profile = this.prefillForm.get('profile').value;
|
||||
this.closeDialog(wizard);
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import { Inject, Component, ViewChild, OnInit, Output, EventEmitter } from '@angular/core';
|
||||
import { MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA, MatLegacyDialogRef as MatDialogRef } from '@angular/material/legacy-dialog';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Component, Inject, OnInit, ViewChild } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { DatasetCriteriaComponent } from '../dataset-criteria.component';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { DatasetCriteria } from '@app/core/query/dataset/dataset-criteria';
|
||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { DatasetCriteriaComponent } from '../dataset-criteria.component';
|
||||
|
||||
@Component({
|
||||
selector: 'dataset-criteria-dialog-component',
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
|
||||
import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';
|
||||
import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { Router } from '@angular/router';
|
||||
import { DatasetStatus } from '@app/core/common/enum/dataset-status';
|
||||
import { DataTableData } from '@app/core/model/data-table/data-table-data';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { DataTableData } from '@app/core/model/data-table/data-table-data';
|
||||
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
||||
import { DatasetProfileModel } from '@app/core/model/dataset/dataset-profile';
|
||||
|
|
|
@ -1,35 +1,35 @@
|
|||
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { MatLegacyPaginator as MatPaginator } from '@angular/material/legacy-paginator';
|
||||
import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { MatSort } from '@angular/material/sort';
|
||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||
import { DatasetStatus } from '@app/core/common/enum/dataset-status';
|
||||
import { RecentActivityOrder } from '@app/core/common/enum/recent-activity-order';
|
||||
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
||||
import { DatasetListingModel } from '@app/core/model/dataset/dataset-listing';
|
||||
import { DatasetCriteria } from '@app/core/query/dataset/dataset-criteria';
|
||||
import { AuthService } from '@app/core/services/auth/auth.service';
|
||||
import { DatasetService } from '@app/core/services/dataset/dataset.service';
|
||||
import { DmpService } from '@app/core/services/dmp/dmp.service';
|
||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||
import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
|
||||
import { GuidedTour, Orientation } from '@app/library/guided-tour/guided-tour.constants';
|
||||
import { GuidedTourService } from '@app/library/guided-tour/guided-tour.service';
|
||||
import { DatasetCriteriaComponent } from '@app/ui/dataset/listing/criteria/dataset-criteria.component';
|
||||
import { BreadcrumbItem } from '@app/ui/misc/breadcrumb/definition/breadcrumb-item';
|
||||
import { StartNewDatasetDialogComponent } from '@app/ui/dmp/start-new-dataset-dialogue/start-new-dataset-dialog.component';
|
||||
import { StartNewDmpDialogComponent } from '@app/ui/dmp/start-new-dmp-dialogue/start-new-dmp-dialog.component';
|
||||
import { IBreadCrumbComponent } from '@app/ui/misc/breadcrumb/definition/IBreadCrumbComponent';
|
||||
import { BreadcrumbItem } from '@app/ui/misc/breadcrumb/definition/breadcrumb-item';
|
||||
import { isNullOrUndefined } from '@app/utilities/enhancers/utils';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { Observable, of as observableOf } from 'rxjs';
|
||||
import { debounceTime, takeUntil } from 'rxjs/operators';
|
||||
import { ExternalTagEditorModel, DatasetWizardEditorModel } from '../dataset-wizard/dataset-wizard-editor.model';
|
||||
import { AuthService } from '@app/core/services/auth/auth.service';
|
||||
import { isNullOrUndefined } from '@app/utilities/enhancers/utils';
|
||||
import { DatasetWizardEditorModel, ExternalTagEditorModel } from '../dataset-wizard/dataset-wizard-editor.model';
|
||||
import { DatasetCriteriaDialogComponent } from './criteria/dataset-criteria-dialogue/dataset-criteria-dialog.component';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { UntypedFormGroup, UntypedFormBuilder, UntypedFormControl } from '@angular/forms';
|
||||
import { RecentActivityOrder } from '@app/core/common/enum/recent-activity-order';
|
||||
import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
|
||||
import { GuidedTourService } from '@app/library/guided-tour/guided-tour.service';
|
||||
import { GuidedTour, Orientation } from '@app/library/guided-tour/guided-tour.constants';
|
||||
import { StartNewDatasetDialogComponent } from '@app/ui/dmp/start-new-dataset-dialogue/start-new-dataset-dialog.component';
|
||||
import { StartNewDmpDialogComponent } from '@app/ui/dmp/start-new-dmp-dialogue/start-new-dmp-dialog.component';
|
||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
|
||||
@Component({
|
||||
selector: 'app-dataset-listing-component',
|
||||
|
|
|
@ -8,7 +8,7 @@ import { BaseComponent } from '@common/base/base.component';
|
|||
import { takeUntil } from 'rxjs/operators';
|
||||
import * as FileSaver from 'file-saver';
|
||||
import { DmpInvitationDialogComponent } from '@app/ui/dmp/invitation/dmp-invitation-dialog.component';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { DatasetCopyDialogueComponent } from '../../dataset-wizard/dataset-copy-dialogue/dataset-copy-dialogue.component';
|
||||
import { UntypedFormControl } from '@angular/forms';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
|
|
|
@ -7,7 +7,7 @@ import { ActivatedRoute, Router, Params } from '@angular/router';
|
|||
import { DatasetService } from '@app/core/services/dataset/dataset.service';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { AuthService } from '@app/core/services/auth/auth.service';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service';
|
||||
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
|
||||
import { Oauth2DialogService } from '@app/ui/misc/oauth2-dialog/service/oauth2-dialog.service';
|
||||
|
|
|
@ -1,18 +1,15 @@
|
|||
import { Component, Inject } from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog, MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { DmpService } from '@app/core/services/dmp/dmp.service';
|
||||
import { map, takeUntil } from 'rxjs/operators';
|
||||
import { DmpModel } from '@app/core/model/dmp/dmp';
|
||||
import { UntypedFormBuilder, UntypedFormArray, UntypedFormControl } from '@angular/forms';
|
||||
import { DatasetDescriptionFormEditorModel } from '@app/ui/misc/dataset-description-form/dataset-description-form.model';
|
||||
import { MultipleAutoCompleteConfiguration } from '@app/library/auto-complete/multiple/multiple-auto-complete-configuration';
|
||||
import { Observable } from 'rxjs';
|
||||
import { DatasetProfileModel } from '@app/core/model/dataset/dataset-profile';
|
||||
import { UntypedFormArray, UntypedFormBuilder, UntypedFormControl } from '@angular/forms';
|
||||
import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';
|
||||
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
||||
import { DatasetProfileModel } from '@app/core/model/dataset/dataset-profile';
|
||||
import { DatasetProfileCriteria } from '@app/core/query/dataset-profile/dataset-profile-criteria';
|
||||
import { AvailableProfilesComponent } from '../../editor/available-profiles/available-profiles.component';
|
||||
import { DatasetPreviewDialogComponent } from '../../dataset-preview/dataset-preview-dialog.component';
|
||||
import { DmpService } from '@app/core/services/dmp/dmp.service';
|
||||
import { MultipleAutoCompleteConfiguration } from '@app/library/auto-complete/multiple/multiple-auto-complete-configuration';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { Observable } from 'rxjs';
|
||||
import { map, takeUntil } from 'rxjs/operators';
|
||||
import { DatasetPreviewDialogComponent } from '../../dataset-preview/dataset-preview-dialog.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-clone-dialog',
|
||||
|
|
|
@ -28,7 +28,7 @@ import { DatasetService } from '@app/core/services/dataset/dataset.service';
|
|||
import { DmpEditorModel } from '../editor/dmp-editor.model';
|
||||
import { DatasetWizardEditorModel } from '@app/ui/dataset/dataset-wizard/dataset-wizard-editor.model';
|
||||
import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog/confirmation-dialog.component';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { isNullOrUndefined } from '@app/utilities/enhancers/utils';
|
||||
import { DmpProfileService } from '@app/core/services/dmp/dmp-profile.service';
|
||||
import { DmpBlueprintDefinition, SystemFieldType } from '@app/core/model/dmp/dmp-blueprint/dmp-blueprint';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { DatasetWizardService } from '@app/core/services/dataset-wizard/dataset-wizard.service';
|
||||
import { ProgressIndicationService } from '@app/core/services/progress-indication/progress-indication-service';
|
||||
import { DatasetDescriptionFormEditorModel } from '@app/ui/misc/dataset-description-form/dataset-description-form.model';
|
||||
|
|
|
@ -24,7 +24,7 @@ import { ExternalSourcesService } from '@app/core/services/external-sources/exte
|
|||
import { Observable, interval } from 'rxjs';
|
||||
import { ExternalSourceItemModel } from '@app/core/model/external-sources/external-source-item';
|
||||
import { OrganisationService } from '@app/core/services/organisation/organisation.service';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { AddResearcherComponent } from '../editor/add-researcher/add-researcher.component';
|
||||
import { AddOrganizationComponent } from '../editor/add-organization/add-organization.component';
|
||||
import { RequestItem } from '@app/core/query/request-item';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
|
||||
@Component({
|
||||
selector: 'app-to-dataset-dialog-component',
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { AbstractControl, AsyncValidatorFn, UntypedFormControl, UntypedFormGroup, ValidationErrors } from '@angular/forms';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { ExternalSourcesService } from '@app/core/services/external-sources/external-sources.service';
|
||||
import { ExternalResearcherService } from '@app/core/services/external-sources/researcher/external-researcher.service';
|
||||
import { OrganisationService } from '@app/core/services/organisation/organisation.service';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { AbstractControl, AsyncValidatorFn, UntypedFormControl, UntypedFormGroup, ValidationErrors } from '@angular/forms';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { ExternalSourcesService } from '@app/core/services/external-sources/external-sources.service';
|
||||
import { ExternalResearcherService } from '@app/core/services/external-sources/researcher/external-researcher.service';
|
||||
import { ResearcherEditorModel } from '@app/ui/dmp/editor/add-researcher/add-researcher.model';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
||||
import { DatasetProfileModel } from '@app/core/model/dataset/dataset-profile';
|
||||
import { DatasetProfileCriteria } from '@app/core/query/dataset-profile/dataset-profile-criteria';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { ExternalResearcherService } from '@app/core/services/external-sources/researcher/external-researcher.service';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
|
|
|
@ -4,8 +4,8 @@ import { TranslateService } from '@ngx-translate/core';
|
|||
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
|
||||
import { ExternalSourcesService } from '@app/core/services/external-sources/external-sources.service';
|
||||
import { MatChipInputEvent } from '@angular/material/chips';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { DatasetWizardService } from '@app/core/services/dataset-wizard/dataset-wizard.service';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { DmpService } from '@app/core/services/dmp/dmp.service';
|
||||
|
|
|
@ -7,7 +7,7 @@ import { MultipleAutoCompleteConfiguration } from '@app/library/auto-complete/mu
|
|||
import { map, takeUntil } from 'rxjs/operators';
|
||||
import { Observable } from 'rxjs';
|
||||
import { ExternalSourcesService } from '@app/core/services/external-sources/external-sources.service';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { DatasetProfileModel } from '@app/core/model/dataset/dataset-profile';
|
||||
import { DatasetProfileCriteria } from '@app/core/query/dataset-profile/dataset-profile-criteria';
|
||||
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
|
||||
import {MatLegacyDialog as MatDialog} from '@angular/material/legacy-dialog';
|
||||
import {MatDialog} from '@angular/material/dialog';
|
||||
import {DepositConfigurationStatus} from '@app/core/common/enum/deposit-configuration-status';
|
||||
import {DepositConfigurationModel} from '@app/core/model/deposit/deposit-configuration';
|
||||
import {DmpOverviewModel} from '@app/core/model/dmp/dmp-overview';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
import { Component, OnInit} from '@angular/core';
|
||||
import { UntypedFormGroup, AbstractControl, UntypedFormControl, UntypedFormArray} from '@angular/forms';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||
import { DmpStatus } from '@app/core/common/enum/dmp-status';
|
||||
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { Router } from '@angular/router';
|
||||
import { DatasetStatus } from '@app/core/common/enum/dataset-status';
|
||||
import { DatasetService } from '@app/core/services/dataset/dataset.service';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup, UntypedFormArray } from '@angular/forms';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
||||
import { DatasetProfileModel } from '@app/core/model/dataset/dataset-profile';
|
||||
import { DmpProfileDefinition } from '@app/core/model/dmp-profile/dmp-profile';
|
||||
|
|
|
@ -6,7 +6,7 @@ import { ExternalSourceItemModel } from '@app/core/model/external-sources/extern
|
|||
import { Observable } from 'rxjs';
|
||||
import { ExternalSourcesService } from '@app/core/services/external-sources/external-sources.service';
|
||||
import { isNullOrUndefined } from '@app/utilities/enhancers/utils';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { SingleAutoCompleteConfiguration } from '@app/library/auto-complete/single/single-auto-complete-configuration';
|
||||
import { LanguageInfo } from '@app/core/model/language-info';
|
||||
import { LanguageInfoService } from '@app/core/services/culture/language-info-service';
|
||||
|
|
|
@ -9,7 +9,7 @@ import { ExternalSourceItemModel } from '@app/core/model/external-sources/extern
|
|||
import { Observable } from 'rxjs';
|
||||
import { ExternalSourcesService } from '@app/core/services/external-sources/external-sources.service';
|
||||
import { isNullOrUndefined } from '@app/utilities/enhancers/utils';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { AddOrganizationComponent } from '../add-organization/add-organization.component';
|
||||
import { AddResearcherComponent } from '../add-researcher/add-researcher.component';
|
||||
import { SingleAutoCompleteConfiguration } from '@app/library/auto-complete/single/single-auto-complete-configuration';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog/confirmation-dialog.component';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { Principal } from '../../../../core/model/auth/principal';
|
||||
|
|
|
@ -3,7 +3,7 @@ import { COMMA, ENTER } from '@angular/cdk/keycodes';
|
|||
import { Component, Inject, OnInit, ViewChild } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatChipInputEvent } from '@angular/material/chips';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { DmpInvitation } from '@app/core/model/dmp/invitation/dmp-invitation';
|
||||
import { DmpInvitationUser } from '@app/core/model/dmp/invitation/dmp-invitation-user';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Inject, Component, ViewChild, OnInit, Output, EventEmitter } from '@angular/core';
|
||||
import { MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA, MatLegacyDialogRef as MatDialogRef } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { DmpCriteriaComponent } from './dmp-criteria.component';
|
||||
import { DmpCriteria } from '@app/core/query/dmp/dmp-criteria';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';
|
||||
import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
||||
import { GrantListingModel } from '@app/core/model/grant/grant-listing';
|
||||
import { DatasetProfileCriteria } from '@app/core/query/dataset-profile/dataset-profile-criteria';
|
||||
|
|
|
@ -1,36 +1,36 @@
|
|||
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatLegacyPaginator as MatPaginator } from '@angular/material/legacy-paginator';
|
||||
import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { MatSort } from '@angular/material/sort';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { RecentActivityOrder } from '@app/core/common/enum/recent-activity-order';
|
||||
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
||||
import { DmpListingModel } from '@app/core/model/dmp/dmp-listing';
|
||||
import { GrantListingModel } from '@app/core/model/grant/grant-listing';
|
||||
import { DmpCriteria } from '@app/core/query/dmp/dmp-criteria';
|
||||
import { AuthService } from '@app/core/services/auth/auth.service';
|
||||
import { DmpService } from '@app/core/services/dmp/dmp.service';
|
||||
import { GrantService } from "@app/core/services/grant/grant.service";
|
||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||
import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service';
|
||||
import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
|
||||
import { GuidedTour, Orientation } from '@app/library/guided-tour/guided-tour.constants';
|
||||
import { GuidedTourService } from '@app/library/guided-tour/guided-tour.service';
|
||||
import { DmpInvitationDialogComponent } from '@app/ui/dmp/invitation/dmp-invitation-dialog.component';
|
||||
import { DmpCriteriaComponent } from '@app/ui/dmp/listing/criteria/dmp-criteria.component';
|
||||
import { BreadcrumbItem } from '@app/ui/misc/breadcrumb/definition/breadcrumb-item';
|
||||
import { IBreadCrumbComponent } from '@app/ui/misc/breadcrumb/definition/IBreadCrumbComponent';
|
||||
import { BreadcrumbItem } from '@app/ui/misc/breadcrumb/definition/breadcrumb-item';
|
||||
import { isNullOrUndefined } from '@app/utilities/enhancers/utils';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { NgDialogAnimationService } from "ng-dialog-animation";
|
||||
import { Observable, of as observableOf } from 'rxjs';
|
||||
import { debounceTime, takeUntil } from 'rxjs/operators';
|
||||
import { GrantService } from "@app/core/services/grant/grant.service";
|
||||
import { DmpUploadDialogue } from './upload-dialogue/dmp-upload-dialogue.component';
|
||||
import { UiNotificationService, SnackBarNotificationLevel } from '@app/core/services/notification/ui-notification-service';
|
||||
import { isNullOrUndefined } from '@app/utilities/enhancers/utils';
|
||||
import { AuthService } from '@app/core/services/auth/auth.service';
|
||||
import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||
import { DmpCriteriaDialogComponent } from './criteria/dmp-criteria-dialog.component';
|
||||
import { RecentActivityOrder } from '@app/core/common/enum/recent-activity-order';
|
||||
import { GuidedTourService } from '@app/library/guided-tour/guided-tour.service';
|
||||
import { GuidedTour, Orientation } from '@app/library/guided-tour/guided-tour.constants';
|
||||
import { NgDialogAnimationService } from "ng-dialog-animation";
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||
import { DmpUploadDialogue } from './upload-dialogue/dmp-upload-dialogue.component';
|
||||
|
||||
@Component({
|
||||
selector: 'app-dmp-listing-component',
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||
import { DmpListingModel } from '../../../../core/model/dmp/dmp-listing';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { DmpInvitationDialogComponent } from '../../invitation/dmp-invitation-dialog.component';
|
||||
import { Router, ActivatedRoute } from '@angular/router';
|
||||
import { DatasetService } from '../../../../core/services/dataset/dataset.service';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, Inject } from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog, MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
import { DmpService } from '../../../../core/services/dmp/dmp.service';
|
||||
import { MultipleAutoCompleteConfiguration } from '@app/library/auto-complete/multiple/multiple-auto-complete-configuration';
|
||||
import { map, takeUntil } from 'rxjs/operators';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import {Component, ElementRef, OnInit, ViewChild} from '@angular/core';
|
||||
import {MatLegacyDialog as MatDialog} from '@angular/material/legacy-dialog';
|
||||
import {MatDialog} from '@angular/material/dialog';
|
||||
import {ActivatedRoute, Params, Router} from '@angular/router';
|
||||
import {DatasetStatus} from '@app/core/common/enum/dataset-status';
|
||||
import {DmpStatus} from '@app/core/common/enum/dmp-status';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, Inject } from '@angular/core';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA, MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { SingleAutoCompleteConfiguration } from '@app/library/auto-complete/single/single-auto-complete-configuration';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, Inject } from '@angular/core';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA, MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
|
||||
import { Router } from '@angular/router';
|
||||
import { DmpUploadDialogue } from '../listing/upload-dialogue/dmp-upload-dialogue.component';
|
||||
import { UiNotificationService, SnackBarNotificationLevel } from '@app/core/services/notification/ui-notification-service';
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import { HttpErrorResponse } from '@angular/common/http';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||
import { DmpModel } from '@app/core/model/dmp/dmp';
|
||||
import { DmpBlueprintDefinition, SystemFieldType } from '@app/core/model/dmp/dmp-blueprint/dmp-blueprint';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { DatasetProfileModel } from '@app/core/model/dataset/dataset-profile';
|
||||
import { ExternalSourceItemModel } from '@app/core/model/external-sources/external-source-item';
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { SelectionModel } from '@angular/cdk/collections';
|
||||
import { Component, Input, OnInit, ViewChild } from '@angular/core';
|
||||
import { UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyPaginator as MatPaginator } from '@angular/material/legacy-paginator';
|
||||
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { MatSort } from '@angular/material/sort';
|
||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||
import { DataTableRequest } from '@app/core/model/data-table/data-table-request';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, Inject } from '@angular/core';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
|
||||
@Component({
|
||||
selector: 'app-faq-dialog',
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, Inject } from '@angular/core';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
|
||||
@Component({
|
||||
selector: 'app-glossary-dialog',
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, Inject } from '@angular/core';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
|
||||
@Component({
|
||||
selector: 'app-language-dialog',
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import {Component, Inject} from "@angular/core";
|
||||
import {MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA, MatLegacyDialogRef as MatDialogRef} from "@angular/material/legacy-dialog";
|
||||
import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog";
|
||||
import {VisibilityRulesService} from "@app/ui/misc/dataset-description-form/visibility-rules/visibility-rules.service";
|
||||
|
||||
@Component({
|
||||
|
|
|
@ -7,7 +7,7 @@ import {VisibilityRulesService} from '../../visibility-rules/visibility-rules.se
|
|||
import {
|
||||
FormCompositeFieldDialogComponent
|
||||
} from "@app/ui/misc/dataset-description-form/components/form-composite-field-dialog/form-composite-field-dialog.component";
|
||||
import {MatLegacyDialog as MatDialog} from "@angular/material/legacy-dialog";
|
||||
import {MatDialog} from "@angular/material/dialog";
|
||||
import {cloneAbstractControl} from "@app/utilities/enhancers/utils";
|
||||
|
||||
@Component({
|
||||
|
|
|
@ -44,7 +44,7 @@ import {
|
|||
UiNotificationService
|
||||
} from "@app/core/services/notification/ui-notification-service";
|
||||
import {FormValidationErrorsDialogComponent} from "@common/forms/form-validation-errors-dialog/form-validation-errors-dialog.component";
|
||||
import {MatLegacyDialog as MatDialog} from "@angular/material/legacy-dialog";
|
||||
import {MatDialog} from "@angular/material/dialog";
|
||||
import {HttpError} from "@common/modules/errors/error-handling/http-error-handling.service";
|
||||
import {HttpErrorResponse} from "@angular/common/http";
|
||||
import * as FileSaver from "file-saver";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { UntypedFormControl } from '@angular/forms';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { Router } from '@angular/router';
|
||||
import { AppRole } from '@app/core/common/enum/app-role';
|
||||
import { SearchBarItem } from '@app/core/model/dashboard/search-bar-item';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { Router } from '@angular/router';
|
||||
import { Principal } from '../../../../core/model/auth/principal';
|
||||
import { AuthService } from '../../../../core/services/auth/auth.service';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, OnInit, Inject } from '@angular/core';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { ActivatedRoute, Params } from '@angular/router';
|
||||
import { BaseComponent } from '@common/base/base.component';
|
||||
import { takeUntil } from 'rxjs/operators';
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { Location } from '@angular/common';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatLegacyMenuTrigger as MatMenuTrigger } from '@angular/material/legacy-menu';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatMenuTrigger } from '@angular/material/menu';
|
||||
import { Router } from '@angular/router';
|
||||
import { AppRole } from '@app/core/common/enum/app-role';
|
||||
import { UserListingModel } from '@app/core/model/user/user-listing';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormArray, UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { DatasetProfileModel } from '@app/core/model/dataset/dataset-profile';
|
||||
import { DatasetProfileCriteria } from '@app/core/query/dataset-profile/dataset-profile-criteria';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { AbstractControl, FormArray, FormControl, UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { Router } from '@angular/router';
|
||||
import { GrantCriteria } from '@app/core/query/grant/grant-criteria';
|
||||
import { RequestItem } from '@app/core/query/request-item';
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { AbstractControl, UntypedFormArray, FormControl, UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { MatStepper } from '@angular/material/stepper';
|
||||
import { Router } from '@angular/router';
|
||||
import { DatasetStatus } from '@app/core/common/enum/dataset-status';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { Router } from '@angular/router';
|
||||
import { ContactEmailFormModel } from '@app/core/model/contact/contact-email-form-model';
|
||||
import { ContactSupportService } from '@app/core/services/contact-support/contact-support.service';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { AuthService } from '../../core/services/auth/auth.service';
|
||||
import { UserDialogComponent } from '../misc/navigation/user-dialog/user-dialog.component';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Component, Inject } from '@angular/core';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
|
||||
@Component({
|
||||
selector: 'app-user-guide-dialog',
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup } from '@angular/forms';
|
||||
import { MatLegacyDialogRef as MatDialogRef, MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { UserMergeRequestModel } from '@app/core/model/merge/user-merge-request';
|
||||
import { MergeLoginService } from '@app/ui/auth/login/utilities/merge-login.service';
|
||||
import { DatasetDescriptionFormEditorModel } from '@app/ui/misc/dataset-description-form/dataset-description-form.model';
|
||||
|
|
|
@ -23,7 +23,7 @@ import { UserProfileEditorModel } from './user-profile-editor.model';
|
|||
import { RoleOrganizationType } from '@app/core/common/enum/role-organization-type';
|
||||
import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
|
||||
import { AddAccountDialogComponent } from './add-account/add-account-dialog.component';
|
||||
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { UserCredentialModel } from '@app/core/model/user/user-credential';
|
||||
import { AuthProvider } from '@app/core/common/enum/auth-provider';
|
||||
import { MergeEmailConfirmationService } from '@app/core/services/merge-email-confirmation/merge-email-confirmation.service';
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
//TODO: angular update border-radius: $border-radius-sm;
|
||||
border-radius: $border-radius-sm;
|
||||
outline: 0;
|
||||
transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
will-change: box-shadow, transform;
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
@import "_variables.scss";
|
||||
|
||||
form {
|
||||
// ensure enough room at the bottom of any form to display a one-line bmd-help
|
||||
margin-bottom: ($bmd-help-size-ratio * $font-size-base) * $line-height-base;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue