Unify list styling, add tour step, refactor components
This commit is contained in:
parent
e0f22d8734
commit
782113a526
@ -21,7 +21,7 @@ import {
|
|||||||
PermissionAction,
|
PermissionAction,
|
||||||
PermissionType,
|
PermissionType,
|
||||||
} from './services/permissions.service'
|
} from './services/permissions.service'
|
||||||
import { ConsumptionTemplatesListComponent } from './components/manage/consumption-templates-list/consumption-templates-list.component'
|
import { ConsumptionTemplatesComponent } from './components/manage/consumption-templates/consumption-templates.component'
|
||||||
import { MailComponent } from './components/manage/mail/mail.component'
|
import { MailComponent } from './components/manage/mail/mail.component'
|
||||||
import { UsersAndGroupsComponent } from './components/admin/users-groups/users-groups.component'
|
import { UsersAndGroupsComponent } from './components/admin/users-groups/users-groups.component'
|
||||||
|
|
||||||
@ -191,7 +191,7 @@ export const routes: Routes = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'templates',
|
path: 'templates',
|
||||||
component: ConsumptionTemplatesListComponent,
|
component: ConsumptionTemplatesComponent,
|
||||||
canActivate: [PermissionsGuard],
|
canActivate: [PermissionsGuard],
|
||||||
data: {
|
data: {
|
||||||
requiredPermission: {
|
requiredPermission: {
|
||||||
|
@ -187,6 +187,14 @@ export class AppComponent implements OnInit, OnDestroy {
|
|||||||
offset: 0,
|
offset: 0,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
anchorId: 'tour.consumption-templates',
|
||||||
|
content: $localize`Consumption templates give you finer control over the document ingestion process.`,
|
||||||
|
route: '/templates',
|
||||||
|
backdropConfig: {
|
||||||
|
offset: 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
anchorId: 'tour.file-tasks',
|
anchorId: 'tour.file-tasks',
|
||||||
content: $localize`File Tasks shows you documents that have been consumed, are waiting to be, or may have failed during the process.`,
|
content: $localize`File Tasks shows you documents that have been consumed, are waiting to be, or may have failed during the process.`,
|
||||||
|
@ -95,7 +95,7 @@ import { UsernamePipe } from './pipes/username.pipe'
|
|||||||
import { LogoComponent } from './components/common/logo/logo.component'
|
import { LogoComponent } from './components/common/logo/logo.component'
|
||||||
import { IsNumberPipe } from './pipes/is-number.pipe'
|
import { IsNumberPipe } from './pipes/is-number.pipe'
|
||||||
import { ShareLinksDropdownComponent } from './components/common/share-links-dropdown/share-links-dropdown.component'
|
import { ShareLinksDropdownComponent } from './components/common/share-links-dropdown/share-links-dropdown.component'
|
||||||
import { ConsumptionTemplatesListComponent } from './components/manage/consumption-templates-list/consumption-templates-list.component'
|
import { ConsumptionTemplatesComponent } from './components/manage/consumption-templates/consumption-templates.component'
|
||||||
import { ConsumptionTemplateEditDialogComponent } from './components/common/edit-dialog/consumption-template-edit-dialog/consumption-template-edit-dialog.component'
|
import { ConsumptionTemplateEditDialogComponent } from './components/common/edit-dialog/consumption-template-edit-dialog/consumption-template-edit-dialog.component'
|
||||||
import { MailComponent } from './components/manage/mail/mail.component'
|
import { MailComponent } from './components/manage/mail/mail.component'
|
||||||
import { UsersAndGroupsComponent } from './components/admin/users-groups/users-groups.component'
|
import { UsersAndGroupsComponent } from './components/admin/users-groups/users-groups.component'
|
||||||
@ -237,7 +237,7 @@ function initializeApp(settings: SettingsService) {
|
|||||||
LogoComponent,
|
LogoComponent,
|
||||||
IsNumberPipe,
|
IsNumberPipe,
|
||||||
ShareLinksDropdownComponent,
|
ShareLinksDropdownComponent,
|
||||||
ConsumptionTemplatesListComponent,
|
ConsumptionTemplatesComponent,
|
||||||
ConsumptionTemplateEditDialogComponent,
|
ConsumptionTemplateEditDialogComponent,
|
||||||
MailComponent,
|
MailComponent,
|
||||||
UsersAndGroupsComponent,
|
UsersAndGroupsComponent,
|
||||||
|
@ -155,7 +155,7 @@
|
|||||||
</svg><span> <ng-container i18n>Storage paths</ng-container></span>
|
</svg><span> <ng-container i18n>Storage paths</ng-container></span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item" *pngxIfPermissions="{ action: PermissionAction.View, type: PermissionType.ConsumptionTemplate }">
|
<li class="nav-item" *pngxIfPermissions="{ action: PermissionAction.View, type: PermissionType.ConsumptionTemplate }" tourAnchor="tour.consumption-templates">
|
||||||
<a class="nav-link" routerLink="templates" routerLinkActive="active" (click)="closeMenu()" ngbPopover="Consumption templates" i18n-ngbPopover [disablePopover]="!slimSidebarEnabled" placement="end" container="body" triggers="mouseenter:mouseleave" popoverClass="popover-slim">
|
<a class="nav-link" routerLink="templates" routerLinkActive="active" (click)="closeMenu()" ngbPopover="Consumption templates" i18n-ngbPopover [disablePopover]="!slimSidebarEnabled" placement="end" container="body" triggers="mouseenter:mouseleave" popoverClass="popover-slim">
|
||||||
<svg class="sidebaricon" fill="currentColor">
|
<svg class="sidebaricon" fill="currentColor">
|
||||||
<use xlink:href="assets/bootstrap-icons.svg#file-earmark-ruled"/>
|
<use xlink:href="assets/bootstrap-icons.svg#file-earmark-ruled"/>
|
||||||
|
@ -5,29 +5,32 @@
|
|||||||
</svg>
|
</svg>
|
||||||
<ng-container i18n>Add Template</ng-container>
|
<ng-container i18n>Add Template</ng-container>
|
||||||
</button>
|
</button>
|
||||||
</pngx-page-header>
|
</pngx-page-header>
|
||||||
|
|
||||||
<table class="table table-striped align-middle border shadow-sm">
|
<ul class="list-group">
|
||||||
<thead>
|
|
||||||
<tr>
|
<li class="list-group-item">
|
||||||
<th scope="col" i18n>Name</th>
|
<div class="row">
|
||||||
<th scope="col" i18n>Sort order</th>
|
<div class="col" i18n>Name</div>
|
||||||
<th scope="col" i18n>Document Sources</th>
|
<div class="col" i18n>Sort order</div>
|
||||||
<th scope="col" i18n>Actions</th>
|
<div class="col" i18n>Document Sources</div>
|
||||||
</tr>
|
<div class="col" i18n>Actions</div>
|
||||||
</thead>
|
</div>
|
||||||
<tbody>
|
</li>
|
||||||
<tr *ngFor="let template of templates">
|
|
||||||
<td scope="row"><button class="btn btn-link p-0" type="button" (click)="editTemplate(template)" [disabled]="!permissionsService.currentUserCan(PermissionAction.Change, PermissionType.ConsumptionTemplate)">{{template.name}}</button></td>
|
<li *ngFor="let template of templates" class="list-group-item">
|
||||||
<td scope="row"><code>{{template.order}}</code></td>
|
<div class="row">
|
||||||
<td scope="row">{{getSourceList(template)}}</td>
|
<div class="col d-flex align-items-center"><button class="btn btn-link p-0" type="button" (click)="editTemplate(template)" [disabled]="!permissionsService.currentUserCan(PermissionAction.Change, PermissionType.ConsumptionTemplate)">{{template.name}}</button></div>
|
||||||
<td scope="row">
|
<div class="col d-flex align-items-center"><code>{{template.order}}</code></div>
|
||||||
|
<div class="col d-flex align-items-center">{{getSourceList(template)}}</div>
|
||||||
|
<div class="col">
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<button *pngxIfPermissions="{ action: PermissionAction.Change, type: PermissionType.ConsumptionTemplate }" class="btn btn-sm btn-primary" type="button" (click)="editTemplate(template)" i18n>Edit</button>
|
<button *pngxIfPermissions="{ action: PermissionAction.Change, type: PermissionType.ConsumptionTemplate }" class="btn btn-sm btn-primary" type="button" (click)="editTemplate(template)" i18n>Edit</button>
|
||||||
<button *pngxIfPermissions="{ action: PermissionAction.Delete, type: PermissionType.ConsumptionTemplate }" class="btn btn-sm btn-outline-danger" type="button" (click)="deleteTemplate(template)" i18n>Delete</button>
|
<button *pngxIfPermissions="{ action: PermissionAction.Delete, type: PermissionType.ConsumptionTemplate }" class="btn btn-sm btn-outline-danger" type="button" (click)="deleteTemplate(template)" i18n>Delete</button>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</div>
|
||||||
</tr>
|
</div>
|
||||||
</tbody>
|
</li>
|
||||||
</table>
|
</ul>
|
||||||
|
|
||||||
<div *ngIf="templates.length === 0" i18n>No templates defined.</div>
|
<div *ngIf="templates.length === 0" i18n>No templates defined.</div>
|
@ -18,7 +18,7 @@ import { ConsumptionTemplateService } from 'src/app/services/rest/consumption-te
|
|||||||
import { ToastService } from 'src/app/services/toast.service'
|
import { ToastService } from 'src/app/services/toast.service'
|
||||||
import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component'
|
import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component'
|
||||||
import { PageHeaderComponent } from '../../common/page-header/page-header.component'
|
import { PageHeaderComponent } from '../../common/page-header/page-header.component'
|
||||||
import { ConsumptionTemplatesListComponent } from './consumption-templates-list.component'
|
import { ConsumptionTemplatesComponent } from './consumption-templates.component'
|
||||||
import { ConsumptionTemplateEditDialogComponent } from '../../common/edit-dialog/consumption-template-edit-dialog/consumption-template-edit-dialog.component'
|
import { ConsumptionTemplateEditDialogComponent } from '../../common/edit-dialog/consumption-template-edit-dialog/consumption-template-edit-dialog.component'
|
||||||
import { PermissionsService } from 'src/app/services/permissions.service'
|
import { PermissionsService } from 'src/app/services/permissions.service'
|
||||||
|
|
||||||
@ -48,8 +48,8 @@ const templates: PaperlessConsumptionTemplate[] = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
describe('ConsumptionTemplatesComponent', () => {
|
describe('ConsumptionTemplatesComponent', () => {
|
||||||
let component: ConsumptionTemplatesListComponent
|
let component: ConsumptionTemplatesComponent
|
||||||
let fixture: ComponentFixture<ConsumptionTemplatesListComponent>
|
let fixture: ComponentFixture<ConsumptionTemplatesComponent>
|
||||||
let consumptionTemplateService: ConsumptionTemplateService
|
let consumptionTemplateService: ConsumptionTemplateService
|
||||||
let modalService: NgbModal
|
let modalService: NgbModal
|
||||||
let toastService: ToastService
|
let toastService: ToastService
|
||||||
@ -57,7 +57,7 @@ describe('ConsumptionTemplatesComponent', () => {
|
|||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [
|
declarations: [
|
||||||
ConsumptionTemplatesListComponent,
|
ConsumptionTemplatesComponent,
|
||||||
IfPermissionsDirective,
|
IfPermissionsDirective,
|
||||||
PageHeaderComponent,
|
PageHeaderComponent,
|
||||||
ConfirmDialogComponent,
|
ConfirmDialogComponent,
|
||||||
@ -92,7 +92,7 @@ describe('ConsumptionTemplatesComponent', () => {
|
|||||||
modalService = TestBed.inject(NgbModal)
|
modalService = TestBed.inject(NgbModal)
|
||||||
toastService = TestBed.inject(ToastService)
|
toastService = TestBed.inject(ToastService)
|
||||||
|
|
||||||
fixture = TestBed.createComponent(ConsumptionTemplatesListComponent)
|
fixture = TestBed.createComponent(ConsumptionTemplatesComponent)
|
||||||
component = fixture.componentInstance
|
component = fixture.componentInstance
|
||||||
fixture.detectChanges()
|
fixture.detectChanges()
|
||||||
})
|
})
|
@ -14,11 +14,11 @@ import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dial
|
|||||||
import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component'
|
import { EditDialogMode } from '../../common/edit-dialog/edit-dialog.component'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'pngx-consumption-templates-list',
|
selector: 'pngx-consumption-templates',
|
||||||
templateUrl: './consumption-templates-list.component.html',
|
templateUrl: './consumption-templates.component.html',
|
||||||
styleUrls: ['./consumption-templates-list.component.scss'],
|
styleUrls: ['./consumption-templates.component.scss'],
|
||||||
})
|
})
|
||||||
export class ConsumptionTemplatesListComponent
|
export class ConsumptionTemplatesComponent
|
||||||
extends ComponentWithPermissions
|
extends ComponentWithPermissions
|
||||||
implements OnInit
|
implements OnInit
|
||||||
{
|
{
|
Loading…
x
Reference in New Issue
Block a user