Make display_mode and page_size blank

This commit is contained in:
shamoon 2024-04-18 09:29:56 -07:00
parent d8e7113fef
commit 8d96e22591
11 changed files with 37 additions and 24 deletions

View File

@ -27,7 +27,7 @@ import {
} from 'rxjs' } from 'rxjs'
import { Group } from 'src/app/data/group' import { Group } from 'src/app/data/group'
import { import {
DOCUMENT_DISPLAY_FIELDS, DEFAULT_DOCUMENT_DISPLAY_FIELDS,
DisplayMode, DisplayMode,
DocumentDisplayField, DocumentDisplayField,
SavedView, SavedView,

View File

@ -9,7 +9,7 @@
<a class="btn-link text-decoration-none" header-buttons [routerLink]="[]" (click)="showAll()" i18n>Show all</a> <a class="btn-link text-decoration-none" header-buttons [routerLink]="[]" (click)="showAll()" i18n>Show all</a>
} }
@if (documents.length && savedView.display_mode === DashboardViewMode.TABLE) { @if (documents.length && (!savedView.display_mode || savedView.display_mode === DashboardViewMode.TABLE)) {
<table content class="table table-hover mb-0 mt-n2 align-middle"> <table content class="table table-hover mb-0 mt-n2 align-middle">
<thead> <thead>
<tr> <tr>

View File

@ -13,7 +13,8 @@ import {
DocumentDisplayField, DocumentDisplayField,
DisplayMode, DisplayMode,
SavedView, SavedView,
DOCUMENT_DISPLAY_FIELDS, DEFAULT_DOCUMENT_DISPLAY_FIELDS,
DEFAULT_PAGE_SIZE,
} from 'src/app/data/saved-view' } from 'src/app/data/saved-view'
import { ConsumerStatusService } from 'src/app/services/consumer-status.service' import { ConsumerStatusService } from 'src/app/services/consumer-status.service'
import { DocumentService } from 'src/app/services/rest/document.service' import { DocumentService } from 'src/app/services/rest/document.service'
@ -133,7 +134,7 @@ export class SavedViewWidgetComponent
this.documentService this.documentService
.listFiltered( .listFiltered(
1, 1,
this.savedView.page_size, this.savedView.page_size ?? DEFAULT_PAGE_SIZE,
this.savedView.sort_field, this.savedView.sort_field,
this.savedView.sort_reverse, this.savedView.sort_reverse,
this.savedView.filter_rules, this.savedView.filter_rules,
@ -250,6 +251,6 @@ export class SavedViewWidgetComponent
const id = column.split('_')[2] const id = column.split('_')[2]
return this.customFields.find((c) => c.id === parseInt(id))?.name return this.customFields.find((c) => c.id === parseInt(id))?.name
} }
return DOCUMENT_DISPLAY_FIELDS.find((c) => c.id === column)?.name return DEFAULT_DOCUMENT_DISPLAY_FIELDS.find((c) => c.id === column)?.name
} }
} }

View File

@ -12,7 +12,7 @@ import { NgbPopover } from '@ng-bootstrap/ng-bootstrap'
import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { SETTINGS_KEYS } from 'src/app/data/ui-settings'
import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component'
import { import {
DOCUMENT_DISPLAY_FIELDS, DEFAULT_DOCUMENT_DISPLAY_FIELDS,
DocumentDisplayField, DocumentDisplayField,
} from 'src/app/data/saved-view' } from 'src/app/data/saved-view'
@ -36,7 +36,7 @@ export class DocumentCardLargeComponent extends ComponentWithPermissions {
@Input() @Input()
displayFields: Set<DocumentDisplayField | string> = new Set( displayFields: Set<DocumentDisplayField | string> = new Set(
DOCUMENT_DISPLAY_FIELDS.map((f) => f.id) DEFAULT_DOCUMENT_DISPLAY_FIELDS.map((f) => f.id)
) )
@Output() @Output()

View File

@ -13,7 +13,7 @@ import { NgbPopover } from '@ng-bootstrap/ng-bootstrap'
import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { SETTINGS_KEYS } from 'src/app/data/ui-settings'
import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component' import { ComponentWithPermissions } from '../../with-permissions/with-permissions.component'
import { import {
DOCUMENT_DISPLAY_FIELDS, DEFAULT_DOCUMENT_DISPLAY_FIELDS,
DocumentDisplayField, DocumentDisplayField,
} from 'src/app/data/saved-view' } from 'src/app/data/saved-view'
@ -43,7 +43,7 @@ export class DocumentCardSmallComponent extends ComponentWithPermissions {
@Input() @Input()
displayFields: Set<DocumentDisplayField | string> = new Set( displayFields: Set<DocumentDisplayField | string> = new Set(
DOCUMENT_DISPLAY_FIELDS.map((f) => f.id) DEFAULT_DOCUMENT_DISPLAY_FIELDS.map((f) => f.id)
) )
@Output() @Output()

View File

@ -4,6 +4,7 @@ import { ObjectWithPermissions } from './object-with-permissions'
export enum DisplayMode { export enum DisplayMode {
TABLE = 'table', TABLE = 'table',
SMALL_CARDS = 'smallCards', SMALL_CARDS = 'smallCards',
LARGE_CARDS = 'largeCards',
} }
export enum DocumentDisplayField { export enum DocumentDisplayField {
@ -21,7 +22,9 @@ export enum DocumentDisplayField {
ASN = 'asn', ASN = 'asn',
} }
export const DOCUMENT_DISPLAY_FIELDS = [ export const DEFAULT_PAGE_SIZE = 10
export const DEFAULT_DOCUMENT_DISPLAY_FIELDS = [
{ {
id: DocumentDisplayField.TITLE, id: DocumentDisplayField.TITLE,
name: $localize`Title`, name: $localize`Title`,

View File

@ -13,7 +13,7 @@ import { AppModule } from '../app.module'
import { UiSettings, SETTINGS_KEYS } from '../data/ui-settings' import { UiSettings, SETTINGS_KEYS } from '../data/ui-settings'
import { SettingsService } from './settings.service' import { SettingsService } from './settings.service'
import { import {
DOCUMENT_DISPLAY_FIELDS, DEFAULT_DOCUMENT_DISPLAY_FIELDS,
DocumentDisplayField, DocumentDisplayField,
SavedView, SavedView,
} from '../data/saved-view' } from '../data/saved-view'
@ -353,7 +353,7 @@ describe('SettingsService', () => {
settingsService.initializeDisplayFields() settingsService.initializeDisplayFields()
expect( expect(
settingsService.allDocumentDisplayFields.includes( settingsService.allDocumentDisplayFields.includes(
DOCUMENT_DISPLAY_FIELDS[0] DEFAULT_DOCUMENT_DISPLAY_FIELDS[0]
) )
).toBeTruthy() ).toBeTruthy()
expect( expect(

View File

@ -26,7 +26,7 @@ import {
} from './permissions.service' } from './permissions.service'
import { ToastService } from './toast.service' import { ToastService } from './toast.service'
import { import {
DOCUMENT_DISPLAY_FIELDS, DEFAULT_DOCUMENT_DISPLAY_FIELDS,
DocumentDisplayField, DocumentDisplayField,
SavedView, SavedView,
} from '../data/saved-view' } from '../data/saved-view'
@ -307,7 +307,7 @@ export class SettingsService {
} }
public initializeDisplayFields() { public initializeDisplayFields() {
this.allDocumentDisplayFields = DOCUMENT_DISPLAY_FIELDS this.allDocumentDisplayFields = DEFAULT_DOCUMENT_DISPLAY_FIELDS
if ( if (
this.permissionsService.currentUserCan( this.permissionsService.currentUserCan(
@ -316,7 +316,7 @@ export class SettingsService {
) )
) { ) {
this.customFieldsService.listAll().subscribe((r) => { this.customFieldsService.listAll().subscribe((r) => {
this.allDocumentDisplayFields = DOCUMENT_DISPLAY_FIELDS.concat( this.allDocumentDisplayFields = DEFAULT_DOCUMENT_DISPLAY_FIELDS.concat(
r.results.map((field) => { r.results.map((field) => {
return { return {
id: `${DocumentDisplayField.CUSTOM_FIELD}${field.id}` as any, id: `${DocumentDisplayField.CUSTOM_FIELD}${field.id}` as any,

View File

@ -17,19 +17,25 @@ class Migration(migrations.Migration):
model_name="savedview", model_name="savedview",
name="display_mode", name="display_mode",
field=models.CharField( field=models.CharField(
choices=[("table", "Table"), ("smallCards", "Small Cards")], blank=True,
default="table", choices=[
("table", "Table"),
("smallCards", "Small Cards"),
("largeCards", "Large Cards"),
],
max_length=128, max_length=128,
verbose_name="Dashboard view display mode", null=True,
verbose_name="View display mode",
), ),
), ),
migrations.AddField( migrations.AddField(
model_name="savedview", model_name="savedview",
name="page_size", name="page_size",
field=models.PositiveIntegerField( field=models.PositiveIntegerField(
default=10, blank=True,
null=True,
validators=[django.core.validators.MinValueValidator(1)], validators=[django.core.validators.MinValueValidator(1)],
verbose_name="Dashboard view limit", verbose_name="View page size",
), ),
), ),
migrations.AddField( migrations.AddField(
@ -45,7 +51,7 @@ class Migration(migrations.Migration):
("correspondent", "Correspondent"), ("correspondent", "Correspondent"),
("storagepath", "Storage Path"), ("storagepath", "Storage Path"),
], ],
default="created,title,tags,correspondent", default="created,title,tag,correspondent",
max_length=128, max_length=128,
), ),
), ),

View File

@ -555,6 +555,7 @@ class SavedView(ModelWithOwner):
class ViewDisplayMode(models.TextChoices): class ViewDisplayMode(models.TextChoices):
TABLE = ("table", _("Table")) TABLE = ("table", _("Table"))
SMALL_CARDS = ("smallCards", _("Small Cards")) SMALL_CARDS = ("smallCards", _("Small Cards"))
LARGE_CARDS = ("largeCards", _("Large Cards"))
class DocumentDisplayFields(models.TextChoices): class DocumentDisplayFields(models.TextChoices):
TITLE = ("title", _("Title")) TITLE = ("title", _("Title"))
@ -587,7 +588,8 @@ class SavedView(ModelWithOwner):
page_size = models.PositiveIntegerField( page_size = models.PositiveIntegerField(
_("View page size"), _("View page size"),
default=10, null=True,
blank=True,
validators=[MinValueValidator(1)], validators=[MinValueValidator(1)],
) )
@ -595,7 +597,8 @@ class SavedView(ModelWithOwner):
max_length=128, max_length=128,
verbose_name=_("View display mode"), verbose_name=_("View display mode"),
choices=ViewDisplayMode.choices, choices=ViewDisplayMode.choices,
default=ViewDisplayMode.TABLE, null=True,
blank=True,
) )
document_display_fields = DynamicMultiSelectField( document_display_fields = DynamicMultiSelectField(

View File

@ -1614,7 +1614,7 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
status.HTTP_404_NOT_FOUND, status.HTTP_404_NOT_FOUND,
) )
def test_create_update_patch(self): def test_savedview_create_update_patch(self):
User.objects.create_user("user1") User.objects.create_user("user1")
view = { view = {