diff --git a/frontend/angular.json b/frontend/angular.json index ad08affcd..7cab0d2bd 100644 --- a/frontend/angular.json +++ b/frontend/angular.json @@ -135,7 +135,8 @@ "serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { - "buildTarget": "dissendium-v0:build" + "buildTarget": "dissendium-v0:build", + "host": "127.0.0.1" }, "configurations": { "production": { diff --git a/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.css b/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.css index fc9b6586a..dbe607a38 100644 --- a/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.css +++ b/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.css @@ -375,7 +375,10 @@ } .db-table_withActions ::ng-deep .mat-header-row .mat-column-select { - padding-top: 18px; + padding-top: 8px; + display: flex; + align-items: center; + justify-content: center; } th.mat-header-cell, td.mat-cell { @@ -383,7 +386,40 @@ th.mat-header-cell, td.mat-cell { } .db-table ::ng-deep .mat-mdc-header-cell .mat-sort-header-content { - text-align: left; + text-align: left !important; + justify-content: flex-start !important; + align-items: flex-start !important; + display: flex !important; + width: 100%; + padding-top: 8px !important; +} + +.db-table ::ng-deep .mat-sort-header-container { + align-items: flex-start !important; + justify-content: flex-start !important; + padding-top: 0 !important; + display: flex !important; +} + +.db-table ::ng-deep .mat-mdc-header-cell { + vertical-align: top !important; + text-align: left !important; + justify-content: flex-start !important; + align-items: flex-start !important; + display: flex !important; +} + +.db-table ::ng-deep .mat-mdc-header-cell .mat-sort-header-content > div { + text-align: left !important; + white-space: normal !important; + word-wrap: break-word !important; + line-height: 1.2 !important; + align-self: flex-start !important; +} + +.db-table ::ng-deep .mat-mdc-header-cell .mat-sort-header-arrow { + align-self: flex-start !important; + margin-top: 8px !important; } .db-table-cell-checkbox { @@ -430,6 +466,10 @@ th.mat-header-cell, td.mat-cell { justify-content: flex-end; } +.db-table-header-actions { + padding-top: 8px !important; +} + .table-cell-content { overflow: hidden; white-space: nowrap; @@ -503,3 +543,81 @@ tr.mat-row:hover { .hidden { display: none; } + +/* Columns Menu Drag and Drop Styles */ +.columns-list { + max-height: 400px; + overflow-y: auto; + padding: 8px 0; +} + +.draggable-column-item { + cursor: move; + display: flex !important; + align-items: center; + justify-content: flex-start; + gap: 0px; + padding: 8px 24px 8px 8px !important; + min-height: 48px !important; + transition: background-color 0.2s ease; +} + +.draggable-column-item .drag-handle { + color: #9e9e9e; + cursor: grab; + font-size: 20px; + width: 20px; + height: 20px; + margin-right: 0px; + flex-shrink: 0; +} + +.draggable-column-item ::ng-deep .mat-mdc-checkbox { + align-items: center !important; +} + +.draggable-column-item ::ng-deep .mat-mdc-checkbox-label { + text-align: left; + line-height: 1.5; +} + +.draggable-column-item ::ng-deep .mdc-form-field { + align-items: center !important; +} + +.draggable-column-item:active .drag-handle { + cursor: grabbing; +} + +.draggable-column-item:hover .drag-handle { + color: #616161; +} + +@media (prefers-color-scheme: dark) { + .draggable-column-item .drag-handle { + color: #757575; + } + + .draggable-column-item:hover .drag-handle { + color: #bdbdbd; + } +} + +.cdk-drag-preview.draggable-column-item { + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), + 0 8px 10px 1px rgba(0, 0, 0, 0.14), + 0 3px 14px 2px rgba(0, 0, 0, 0.12); + opacity: 0.9; +} + +.cdk-drag-placeholder { + opacity: 0.3; +} + +.cdk-drag-animating { + transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); +} + +.columns-list.cdk-drop-list-dragging .draggable-column-item:not(.cdk-drag-placeholder) { + transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); +} diff --git a/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.html b/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.html index a52a55a2d..b6b3ea7d2 100644 --- a/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.html +++ b/frontend/src/app/components/dashboard/db-table-view/db-table-view.component.html @@ -96,18 +96,24 @@