diff --git a/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.scss index ebf2d83c1..41a68ad89 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.scss +++ b/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.scss @@ -130,8 +130,3 @@ color: $grey-7; } } - -.w-200 { - width: 200px; - max-width: 200px; -} diff --git a/apps/red-ui/src/app/modules/admin/screens/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.html b/apps/red-ui/src/app/modules/admin/screens/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.html index c37f81b02..0e42db679 100644 --- a/apps/red-ui/src/app/modules/admin/screens/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.html @@ -126,7 +126,7 @@
- + @@ -158,7 +158,41 @@
-
{{ field.name }}
+
+
+ {{ field.name }} +
+
+
+ +
+
+ + + + + + + + +
@@ -176,21 +210,13 @@
- - - - - - - - - - - - - - - + +
diff --git a/apps/red-ui/src/app/modules/admin/screens/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.scss b/apps/red-ui/src/app/modules/admin/screens/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.scss index 9c45e7ec2..7bd4a3e11 100644 --- a/apps/red-ui/src/app/modules/admin/screens/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.scss +++ b/apps/red-ui/src/app/modules/admin/screens/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.scss @@ -158,6 +158,10 @@ redaction-table-col-name::ng-deep { > div { padding: 0 13px 0 10px !important; + + &.name { + padding-left: 22px !important; + } } } @@ -184,6 +188,29 @@ align-items: center; } } + + &.name { + flex-direction: row; + align-items: center; + justify-content: flex-start; + + &:not(.editing) { + padding-left: 22px; + } + + .edit-name-button { + display: none; + } + + redaction-circle-button:first-of-type { + margin-left: 7px; + margin-right: 2px; + } + } + } + + &:hover .name .edit-name-button { + display: block; } } } diff --git a/apps/red-ui/src/app/modules/admin/screens/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts b/apps/red-ui/src/app/modules/admin/screens/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts index 2198f64fb..2c8403830 100644 --- a/apps/red-ui/src/app/modules/admin/screens/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts @@ -17,6 +17,8 @@ interface Field { type: FieldType; readonly: boolean; display: boolean; + editingName?: boolean; + temporaryName?: string; } @Component({ @@ -62,7 +64,7 @@ export class FileAttributesCsvImportDialogComponent implements OnInit { if (!this.baseConfigForm.get('delimiter').value) { this.baseConfigForm.patchValue({ delimiter: this.parseResult.meta.delimiter }); } - this.parseResult.fields = this.parseResult.meta.fields.map((field) => this._buildField(field)); + this.parseResult.fields = this.parseResult.meta.fields.map((field) => this._buildAttribute(field)); console.log(this.parseResult); }); reader.readAsText(this.csvFile, this.baseConfigForm.get('encoding').value); @@ -102,11 +104,14 @@ export class FileAttributesCsvImportDialogComponent implements OnInit { } } - private _buildField(csvColumn: string): Field { + private _buildAttribute(csvColumn: string): Field { + const sample = this.getSample(csvColumn); + const isNumber = sample && !isNaN(sample); return { csvColumn, name: csvColumn, - type: FieldType.Text, + temporaryName: csvColumn, + type: isNumber ? FieldType.Number : FieldType.Text, readonly: false, display: true }; diff --git a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts index b49d1c032..d257cb335 100644 --- a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, ElementRef, OnInit, ViewChild } from '@angular/core'; import { PermissionsService } from '../../../../services/permissions.service'; import { FormBuilder, FormGroup } from '@angular/forms'; import { FileAttributeConfig, FileAttributesControllerService } from '@redaction/red-ui-http'; @@ -20,6 +20,8 @@ export class FileAttributesListingScreenComponent implements OnInit { public selectedFileAttributeIds: string[] = []; public viewReady = false; + @ViewChild('fileInput') private _fileInput: ElementRef; + constructor( public readonly permissionsService: PermissionsService, public readonly _sortingService: SortingService, @@ -118,8 +120,9 @@ export class FileAttributesListingScreenComponent implements OnInit { return this.selectedFileAttributeIds.indexOf(attribute.id) !== -1; } - importCSV(files: FileList | File[]) { + public importCSV(files: FileList | File[]) { const csvFile = files[0]; + this._fileInput.nativeElement.value = null; this._dialogService.openImportFileAttributeCSVDialog(csvFile, this._appStateService.activeRuleSetId, async () => { await this._loadData(); diff --git a/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.scss index 908eb50b2..e046b3aef 100644 --- a/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.scss +++ b/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.scss @@ -94,11 +94,6 @@ } } -.w-150 { - max-width: 150px; - width: 150px; -} - .mb-5 { margin-bottom: 5px; } diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 7c3774080..c62f71eb1 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -1139,6 +1139,12 @@ "Text": "Free Text", "Number": "Number", "Date": "Date" + }, + "action": { + "edit-name": "Edit Name", + "save-name": "Save", + "cancel-edit-name": "Cancel", + "remove": "Remove" } } } diff --git a/apps/red-ui/src/assets/styles/red-input.scss b/apps/red-ui/src/assets/styles/red-input.scss index 9e82d71ef..7090e0760 100644 --- a/apps/red-ui/src/assets/styles/red-input.scss +++ b/apps/red-ui/src/assets/styles/red-input.scss @@ -222,11 +222,21 @@ form { max-width: 110px; } + &.w-150 { + max-width: 150px; + width: 150px; + } + &.w-160 { width: 160px; max-width: 160px; } + &.w-200 { + width: 200px; + max-width: 200px; + } + &.w-250 { width: 250px; max-width: 250px; diff --git a/apps/red-ui/src/assets/styles/red-tables.scss b/apps/red-ui/src/assets/styles/red-tables.scss index 34da2ed36..62089f254 100644 --- a/apps/red-ui/src/assets/styles/red-tables.scss +++ b/apps/red-ui/src/assets/styles/red-tables.scss @@ -91,6 +91,11 @@ cdk-virtual-scroll-viewport { } } + input, + mat-select { + margin-top: 0; + } + &:hover { > div { background-color: #f9fafb;