mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-11 10:00:48 -05:00
Use ng-select for document detail screen
This commit is contained in:
parent
1947d67e69
commit
9b244d0265
8
src-ui/package-lock.json
generated
8
src-ui/package-lock.json
generated
@ -2056,6 +2056,14 @@
|
|||||||
"tslib": "^2.0.0"
|
"tslib": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@ng-select/ng-select": {
|
||||||
|
"version": "5.0.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ng-select/ng-select/-/ng-select-5.0.9.tgz",
|
||||||
|
"integrity": "sha512-YZeSAiS8/Nx/eHZJPmOOYL8YmcvSq+dr1P8WIrsKmRA7mueorBpPc5xlUj+nLQbpLtsiQvdWDQspf/ykOvD/lA==",
|
||||||
|
"requires": {
|
||||||
|
"tslib": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@ngtools/webpack": {
|
"@ngtools/webpack": {
|
||||||
"version": "10.2.0",
|
"version": "10.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-10.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-10.2.0.tgz",
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
"@angular/platform-browser-dynamic": "~10.1.5",
|
"@angular/platform-browser-dynamic": "~10.1.5",
|
||||||
"@angular/router": "~10.1.5",
|
"@angular/router": "~10.1.5",
|
||||||
"@ng-bootstrap/ng-bootstrap": "^8.0.0",
|
"@ng-bootstrap/ng-bootstrap": "^8.0.0",
|
||||||
|
"@ng-select/ng-select": "^5.0.9",
|
||||||
"bootstrap": "^4.5.0",
|
"bootstrap": "^4.5.0",
|
||||||
"ng-bootstrap": "^1.6.3",
|
"ng-bootstrap": "^1.6.3",
|
||||||
"ng2-pdf-viewer": "^6.3.2",
|
"ng2-pdf-viewer": "^6.3.2",
|
||||||
|
@ -54,6 +54,7 @@ import { FileSizePipe } from './pipes/file-size.pipe';
|
|||||||
import { FilterPipe } from './pipes/filter.pipe';
|
import { FilterPipe } from './pipes/filter.pipe';
|
||||||
import { DocumentTitlePipe } from './pipes/document-title.pipe';
|
import { DocumentTitlePipe } from './pipes/document-title.pipe';
|
||||||
import { MetadataCollapseComponent } from './components/document-detail/metadata-collapse/metadata-collapse.component';
|
import { MetadataCollapseComponent } from './components/document-detail/metadata-collapse/metadata-collapse.component';
|
||||||
|
import { NgSelectModule } from '@ng-select/ng-select';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [
|
declarations: [
|
||||||
@ -110,7 +111,8 @@ import { MetadataCollapseComponent } from './components/document-detail/metadata
|
|||||||
ReactiveFormsModule,
|
ReactiveFormsModule,
|
||||||
NgxFileDropModule,
|
NgxFileDropModule,
|
||||||
InfiniteScrollModule,
|
InfiniteScrollModule,
|
||||||
PdfViewerModule
|
PdfViewerModule,
|
||||||
|
NgSelectModule
|
||||||
],
|
],
|
||||||
providers: [
|
providers: [
|
||||||
DatePipe,
|
DatePipe,
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
<div class="form-group">
|
<div class="form-group paperless-input-select">
|
||||||
<label [for]="inputId">{{title}}</label>
|
<label [for]="inputId">{{title}}</label>
|
||||||
<div [class.input-group]="showPlusButton()">
|
<div [class.input-group]="showPlusButton()">
|
||||||
<select class="form-control" [id]="inputId" [(ngModel)]="value" (change)="onChange(value)" (blur)="onTouched()"
|
<ng-select name="correspondent" [(ngModel)]="value"
|
||||||
[disabled]="disabled" [style.color]="textColor" [style.background]="backgroundColor">
|
[disabled]="disabled"
|
||||||
<option *ngIf="allowNull" [ngValue]="null" class="form-control">---</option>
|
[style.color]="textColor"
|
||||||
<option *ngFor="let i of items" [ngValue]="i.id" class="form-control">{{i.name}}</option>
|
[style.background]="backgroundColor"
|
||||||
</select>
|
(change)="onChange(value)"
|
||||||
|
(blur)="onTouched()">
|
||||||
|
<ng-option *ngFor="let i of items" [value]="i.id">{{i.name}}</ng-option>
|
||||||
|
</ng-select>
|
||||||
|
|
||||||
<div *ngIf="showPlusButton()" class="input-group-append">
|
<div *ngIf="showPlusButton()" class="input-group-append">
|
||||||
<button class="btn btn-outline-secondary" type="button" (click)="createNew.emit()">
|
<button class="btn btn-outline-secondary" type="button" (click)="createNew.emit()">
|
||||||
<svg class="buttonicon" fill="currentColor">
|
<svg class="buttonicon" fill="currentColor">
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
// styles for ng-select child are in styles.scss
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
@import "node_modules/bootstrap/scss/bootstrap";
|
@import "node_modules/bootstrap/scss/bootstrap";
|
||||||
|
|
||||||
|
@import "~@ng-select/ng-select/themes/default.theme.css";
|
||||||
|
|
||||||
.toolbaricon {
|
.toolbaricon {
|
||||||
width: 1.2em;
|
width: 1.2em;
|
||||||
@ -66,3 +67,23 @@ body {
|
|||||||
background-size: 1rem;
|
background-size: 1rem;
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.paperless-input-select {
|
||||||
|
.ng-select {
|
||||||
|
position: relative;
|
||||||
|
flex: 1 1 auto;
|
||||||
|
margin-bottom: 0;
|
||||||
|
height: calc(1.5em + 0.75rem + 5px);
|
||||||
|
line-height: 1.5;
|
||||||
|
|
||||||
|
.ng-select-container {
|
||||||
|
height: 100%;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
|
||||||
|
.ng-value-container .ng-input {
|
||||||
|
top: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user