More translations for columns

(cherry picked from commit aee8579d1823b7dfb94c0055fe33b5fb5a7fbf17)

Closes #3932
This commit is contained in:
Bogdan 2023-07-29 04:39:06 +03:00
parent 7406e0e3b7
commit 2cc4d639e9
22 changed files with 184 additions and 177 deletions

View file

@ -206,9 +206,11 @@ class FilterBuilderRow extends Component {
const selectedFilterBuilderProp = this.selectedFilterBuilderProp;
const keyOptions = filterBuilderProps.map((availablePropFilter) => {
const { name, label } = availablePropFilter;
return {
key: availablePropFilter.name,
value: availablePropFilter.label
key: name,
value: typeof label === 'function' ? label() : label
};
}).sort((a, b) => a.value.localeCompare(b.value));

View file

@ -61,7 +61,7 @@ class SelectInput extends Component {
value={key}
{...otherOptionProps}
>
{optionValue}
{typeof optionValue === 'function' ? optionValue() : optionValue}
</option>
);
})
@ -75,7 +75,7 @@ SelectInput.propTypes = {
className: PropTypes.string,
disabledClassName: PropTypes.string,
name: PropTypes.string.isRequired,
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.func]).isRequired,
values: PropTypes.arrayOf(PropTypes.object).isRequired,
isDisabled: PropTypes.bool,
hasError: PropTypes.bool,

View file

@ -33,7 +33,7 @@ class FilterMenuContent extends Component {
selectedFilterKey={selectedFilterKey}
onPress={onFilterSelect}
>
{filter.label}
{typeof filter.label === 'function' ? filter.label() : filter.label}
</FilterMenuItem>
);
})

View file

@ -1,8 +1,10 @@
import React from 'react';
type PropertyFunction<T> = () => T;
interface Column {
name: string;
label: string | React.ReactNode;
label: string | PropertyFunction<string> | React.ReactNode;
columnLabel?: string;
isSortable?: boolean;
isVisible: boolean;

View file

@ -107,7 +107,7 @@ function Table(props) {
{...getTableHeaderCellProps(otherProps)}
{...column}
>
{column.label}
{typeof column.label === 'function' ? column.label() : column.label}
</TableHeaderCell>
);
})

View file

@ -30,6 +30,7 @@ class TableHeaderCell extends Component {
const {
className,
name,
label,
columnLabel,
isSortable,
isVisible,
@ -53,7 +54,8 @@ class TableHeaderCell extends Component {
{...otherProps}
component="th"
className={className}
title={columnLabel}
label={typeof label === 'function' ? label() : label}
title={typeof columnLabel === 'function' ? columnLabel() : columnLabel}
onPress={this.onPress}
>
{children}
@ -77,7 +79,8 @@ class TableHeaderCell extends Component {
TableHeaderCell.propTypes = {
className: PropTypes.string,
name: PropTypes.string.isRequired,
columnLabel: PropTypes.string,
label: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.node]),
columnLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
isSortable: PropTypes.bool,
isVisible: PropTypes.bool,
isModifiable: PropTypes.bool,

View file

@ -35,7 +35,7 @@ function TableOptionsColumn(props) {
isDisabled={isModifiable === false}
onChange={onVisibleChange}
/>
{label}
{typeof label === 'function' ? label() : label}
</label>
{
@ -56,7 +56,7 @@ function TableOptionsColumn(props) {
TableOptionsColumn.propTypes = {
name: PropTypes.string.isRequired,
label: PropTypes.string.isRequired,
label: PropTypes.oneOfType([PropTypes.string, PropTypes.func]).isRequired,
isVisible: PropTypes.bool.isRequired,
isModifiable: PropTypes.bool.isRequired,
index: PropTypes.number.isRequired,

View file

@ -112,7 +112,7 @@ class TableOptionsColumnDragSource extends Component {
<TableOptionsColumn
name={name}
label={label}
label={typeof label === 'function' ? label() : label}
isVisible={isVisible}
isModifiable={isModifiable}
index={index}
@ -138,7 +138,7 @@ class TableOptionsColumnDragSource extends Component {
TableOptionsColumnDragSource.propTypes = {
name: PropTypes.string.isRequired,
label: PropTypes.string.isRequired,
label: PropTypes.oneOfType([PropTypes.string, PropTypes.func]).isRequired,
isVisible: PropTypes.bool.isRequired,
isModifiable: PropTypes.bool.isRequired,
index: PropTypes.number.isRequired,

View file

@ -42,59 +42,59 @@ export const defaultState = {
columns: [
{
name: 'monitored',
columnLabel: translate('Monitored'),
columnLabel: () => translate('Monitored'),
isSortable: true,
isVisible: true,
isModifiable: false
},
{
name: 'title',
label: translate('Title'),
label: () => translate('Title'),
isSortable: true,
isVisible: true
},
{
name: 'releaseDate',
label: translate('ReleaseDate'),
label: () => translate('ReleaseDate'),
isSortable: true,
isVisible: true
},
{
name: 'secondaryTypes',
label: translate('SecondaryTypes'),
label: () => translate('SecondaryTypes'),
isSortable: true,
isVisible: false
},
{
name: 'mediumCount',
label: translate('MediaCount'),
label: () => translate('MediaCount'),
isVisible: false
},
{
name: 'trackCount',
label: translate('TrackCount'),
label: () => translate('TrackCount'),
isVisible: false
},
{
name: 'duration',
label: translate('Duration'),
label: () => translate('Duration'),
isSortable: true,
isVisible: false
},
{
name: 'rating',
label: translate('Rating'),
label: () => translate('Rating'),
isSortable: true,
isVisible: true
},
{
name: 'status',
label: translate('Status'),
label: () => translate('Status'),
isVisible: true
},
{
name: 'actions',
columnLabel: translate('Actions'),
columnLabel: () => translate('Actions'),
isVisible: true,
isModifiable: false
}

View file

@ -32,41 +32,41 @@ export const defaultState = {
filterBuilderProps: [
{
name: 'monitored',
label: translate('Monitored'),
label: () => translate('Monitored'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.BOOL
},
{
name: 'status',
label: translate('Status'),
label: () => translate('Status'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.ARTIST_STATUS
},
{
name: 'artistType',
label: translate('ArtistType'),
label: () => translate('ArtistType'),
type: filterBuilderTypes.EXACT
},
{
name: 'qualityProfileId',
label: translate('QualityProfile'),
label: () => translate('QualityProfile'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.QUALITY_PROFILE
},
{
name: 'metadataProfileId',
label: translate('MetadataProfile'),
label: () => translate('MetadataProfile'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.METADATA_PROFILE
},
{
name: 'rootFolderPath',
label: translate('RootFolderPath'),
label: () => translate('RootFolderPath'),
type: filterBuilderTypes.EXACT
},
{
name: 'tags',
label: translate('Tags'),
label: () => translate('Tags'),
type: filterBuilderTypes.ARRAY,
valueType: filterBuilderValueTypes.TAG
}

View file

@ -21,12 +21,12 @@ export const section = 'artist';
export const filters = [
{
key: 'all',
label: translate('All'),
label: () => translate('All'),
filters: []
},
{
key: 'monitored',
label: translate('MonitoredOnly'),
label: () => translate('MonitoredOnly'),
filters: [
{
key: 'monitored',
@ -37,7 +37,7 @@ export const filters = [
},
{
key: 'unmonitored',
label: translate('UnmonitoredOnly'),
label: () => translate('UnmonitoredOnly'),
filters: [
{
key: 'monitored',
@ -48,7 +48,7 @@ export const filters = [
},
{
key: 'continuing',
label: translate('ContinuingOnly'),
label: () => translate('ContinuingOnly'),
filters: [
{
key: 'status',
@ -59,7 +59,7 @@ export const filters = [
},
{
key: 'ended',
label: translate('EndedOnly'),
label: () => translate('EndedOnly'),
filters: [
{
key: 'status',
@ -70,7 +70,7 @@ export const filters = [
},
{
key: 'missing',
label: translate('MissingTracks'),
label: () => translate('MissingTracks'),
filters: [
{
key: 'missing',

View file

@ -35,50 +35,50 @@ export const defaultState = {
columns: [
{
name: 'status',
columnLabel: translate('Status'),
columnLabel: () => translate('Status'),
isSortable: true,
isVisible: true,
isModifiable: false
},
{
name: 'sortName',
label: translate('Name'),
label: () => translate('Name'),
isSortable: true,
isVisible: true
},
{
name: 'monitorNewItems',
label: translate('MonitorNewItems'),
label: () => translate('MonitorNewItems'),
isSortable: true,
isVisible: true
},
{
name: 'qualityProfileId',
label: translate('QualityProfile'),
label: () => translate('QualityProfile'),
isSortable: true,
isVisible: true
},
{
name: 'metadataProfileId',
label: translate('MetadataProfile'),
label: () => translate('MetadataProfile'),
isSortable: true,
isVisible: true
},
{
name: 'path',
label: translate('Path'),
label: () => translate('Path'),
isSortable: true,
isVisible: true
},
{
name: 'sizeOnDisk',
label: translate('SizeOnDisk'),
label: () => translate('SizeOnDisk'),
isSortable: true,
isVisible: false
},
{
name: 'tags',
label: translate('Tags'),
label: () => translate('Tags'),
isSortable: true,
isVisible: true
}
@ -87,47 +87,47 @@ export const defaultState = {
filterBuilderProps: [
{
name: 'monitored',
label: translate('Monitored'),
label: () => translate('Monitored'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.BOOL
},
{
name: 'status',
label: translate('Status'),
label: () => translate('Status'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.ARTIST_STATUS
},
{
name: 'qualityProfileId',
label: translate('QualityProfile'),
label: () => translate('QualityProfile'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.QUALITY_PROFILE
},
{
name: 'metadataProfileId',
label: translate('MetadataProfile'),
label: () => translate('MetadataProfile'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.METADATA_PROFILE
},
{
name: 'path',
label: translate('Path'),
label: () => translate('Path'),
type: filterBuilderTypes.STRING
},
{
name: 'rootFolderPath',
label: translate('RootFolderPath'),
label: () => translate('RootFolderPath'),
type: filterBuilderTypes.EXACT
},
{
name: 'sizeOnDisk',
label: translate('SizeOnDisk'),
label: () => translate('SizeOnDisk'),
type: filterBuilderTypes.NUMBER,
valueType: filterBuilderValueTypes.BYTES
},
{
name: 'tags',
label: translate('Tags'),
label: () => translate('Tags'),
type: filterBuilderTypes.ARRAY,
valueType: filterBuilderValueTypes.TAG
}

View file

@ -63,105 +63,105 @@ export const defaultState = {
columns: [
{
name: 'status',
columnLabel: translate('Status'),
columnLabel: () => translate('Status'),
isSortable: true,
isVisible: true,
isModifiable: false
},
{
name: 'sortName',
label: translate('ArtistName'),
label: () => translate('ArtistName'),
isSortable: true,
isVisible: true,
isModifiable: false
},
{
name: 'artistType',
label: translate('Type'),
label: () => translate('Type'),
isSortable: true,
isVisible: true
},
{
name: 'qualityProfileId',
label: translate('QualityProfile'),
label: () => translate('QualityProfile'),
isSortable: true,
isVisible: true
},
{
name: 'metadataProfileId',
label: translate('MetadataProfile'),
label: () => translate('MetadataProfile'),
isSortable: true,
isVisible: false
},
{
name: 'nextAlbum',
label: translate('NextAlbum'),
label: () => translate('NextAlbum'),
isSortable: true,
isVisible: true
},
{
name: 'lastAlbum',
label: translate('LastAlbum'),
label: () => translate('LastAlbum'),
isSortable: true,
isVisible: false
},
{
name: 'added',
label: translate('Added'),
label: () => translate('Added'),
isSortable: true,
isVisible: false
},
{
name: 'albumCount',
label: translate('Albums'),
label: () => translate('Albums'),
isSortable: true,
isVisible: true
},
{
name: 'trackProgress',
label: translate('Tracks'),
label: () => translate('Tracks'),
isSortable: true,
isVisible: true
},
{
name: 'trackCount',
label: translate('TrackCount'),
label: () => translate('TrackCount'),
isSortable: true,
isVisible: false
},
{
name: 'path',
label: translate('Path'),
label: () => translate('Path'),
isSortable: true,
isVisible: false
},
{
name: 'sizeOnDisk',
label: translate('SizeOnDisk'),
label: () => translate('SizeOnDisk'),
isSortable: true,
isVisible: false
},
{
name: 'genres',
label: translate('Genres'),
label: () => translate('Genres'),
isSortable: false,
isVisible: false
},
{
name: 'ratings',
label: translate('Rating'),
label: () => translate('Rating'),
isSortable: true,
isVisible: false
},
{
name: 'tags',
label: translate('Tags'),
label: () => translate('Tags'),
isSortable: true,
isVisible: false
},
{
name: 'actions',
columnLabel: translate('Actions'),
columnLabel: () => translate('Actions'),
isVisible: true,
isModifiable: false
}
@ -244,70 +244,70 @@ export const defaultState = {
filterBuilderProps: [
{
name: 'monitored',
label: translate('Monitored'),
label: () => translate('Monitored'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.BOOL
},
{
name: 'status',
label: translate('Status'),
label: () => translate('Status'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.ARTIST_STATUS
},
{
name: 'qualityProfileId',
label: translate('QualityProfile'),
label: () => translate('QualityProfile'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.QUALITY_PROFILE
},
{
name: 'metadataProfileId',
label: translate('MetadataProfile'),
label: () => translate('MetadataProfile'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.METADATA_PROFILE
},
{
name: 'nextAlbum',
label: translate('NextAlbum'),
label: () => translate('NextAlbum'),
type: filterBuilderTypes.DATE,
valueType: filterBuilderValueTypes.DATE
},
{
name: 'lastAlbum',
label: translate('LastAlbum'),
label: () => translate('LastAlbum'),
type: filterBuilderTypes.DATE,
valueType: filterBuilderValueTypes.DATE
},
{
name: 'added',
label: translate('Added'),
label: () => translate('Added'),
type: filterBuilderTypes.DATE,
valueType: filterBuilderValueTypes.DATE
},
{
name: 'albumCount',
label: translate('AlbumCount'),
label: () => translate('AlbumCount'),
type: filterBuilderTypes.NUMBER
},
{
name: 'trackProgress',
label: translate('TrackProgress'),
label: () => translate('TrackProgress'),
type: filterBuilderTypes.NUMBER
},
{
name: 'path',
label: translate('Path'),
label: () => translate('Path'),
type: filterBuilderTypes.STRING
},
{
name: 'sizeOnDisk',
label: translate('SizeOnDisk'),
label: () => translate('SizeOnDisk'),
type: filterBuilderTypes.NUMBER,
valueType: filterBuilderValueTypes.BYTES
},
{
name: 'genres',
label: translate('Genres'),
label: () => translate('Genres'),
type: filterBuilderTypes.ARRAY,
optionsSelector: function(items) {
const tagList = items.reduce((acc, artist) => {
@ -326,12 +326,12 @@ export const defaultState = {
},
{
name: 'ratings',
label: translate('Rating'),
label: () => translate('Rating'),
type: filterBuilderTypes.NUMBER
},
{
name: 'tags',
label: translate('Tags'),
label: () => translate('Tags'),
type: filterBuilderTypes.ARRAY,
valueType: filterBuilderValueTypes.TAG
}

View file

@ -33,19 +33,19 @@ export const defaultState = {
columns: [
{
name: 'artists.sortName',
label: translate('ArtistName'),
label: () => translate('ArtistName'),
isSortable: true,
isVisible: true
},
{
name: 'sourceTitle',
label: translate('SourceTitle'),
label: () => translate('SourceTitle'),
isSortable: true,
isVisible: true
},
{
name: 'quality',
label: translate('Quality'),
label: () => translate('Quality'),
isVisible: true
},
{
@ -56,19 +56,19 @@ export const defaultState = {
},
{
name: 'date',
label: translate('Date'),
label: () => translate('Date'),
isSortable: true,
isVisible: true
},
{
name: 'indexer',
label: translate('Indexer'),
label: () => translate('Indexer'),
isSortable: true,
isVisible: false
},
{
name: 'actions',
columnLabel: translate('Actions'),
columnLabel: () => translate('Actions'),
isVisible: true,
isModifiable: false
}

View file

@ -51,7 +51,7 @@ export const defaultState = {
filters: [
{
key: 'all',
label: translate('All'),
label: () => translate('All'),
filters: [
{
key: 'monitored',
@ -62,7 +62,7 @@ export const defaultState = {
},
{
key: 'monitored',
label: translate('MonitoredOnly'),
label: () => translate('MonitoredOnly'),
filters: [
{
key: 'monitored',

View file

@ -32,30 +32,30 @@ export const defaultState = {
columns: [
{
name: 'eventType',
columnLabel: translate('EventType'),
columnLabel: () => translate('EventType'),
isVisible: true,
isModifiable: false
},
{
name: 'artists.sortName',
label: translate('Artist'),
label: () => translate('Artist'),
isSortable: true,
isVisible: true
},
{
name: 'albums.title',
label: translate('AlbumTitle'),
label: () => translate('AlbumTitle'),
isSortable: true,
isVisible: true
},
{
name: 'trackTitle',
label: translate('TrackTitle'),
label: () => translate('TrackTitle'),
isVisible: true
},
{
name: 'quality',
label: translate('Quality'),
label: () => translate('Quality'),
isVisible: true
},
{
@ -66,28 +66,28 @@ export const defaultState = {
},
{
name: 'date',
label: translate('Date'),
label: () => translate('Date'),
isSortable: true,
isVisible: true
},
{
name: 'downloadClient',
label: translate('DownloadClient'),
label: () => translate('DownloadClient'),
isVisible: false
},
{
name: 'indexer',
label: translate('Indexer'),
label: () => translate('Indexer'),
isVisible: false
},
{
name: 'releaseGroup',
label: translate('ReleaseGroup'),
label: () => translate('ReleaseGroup'),
isVisible: false
},
{
name: 'sourceTitle',
label: translate('SourceTitle'),
label: () => translate('SourceTitle'),
isVisible: false
},
{
@ -106,7 +106,7 @@ export const defaultState = {
},
{
name: 'details',
columnLabel: translate('Details'),
columnLabel: () => translate('Details'),
isVisible: true,
isModifiable: false
}
@ -117,12 +117,12 @@ export const defaultState = {
filters: [
{
key: 'all',
label: translate('All'),
label: () => translate('All'),
filters: []
},
{
key: 'grabbed',
label: translate('Grabbed'),
label: () => translate('Grabbed'),
filters: [
{
key: 'eventType',
@ -133,7 +133,7 @@ export const defaultState = {
},
{
key: 'trackFileImported',
label: translate('TrackImported'),
label: () => translate('TrackImported'),
filters: [
{
key: 'eventType',
@ -144,7 +144,7 @@ export const defaultState = {
},
{
key: 'failed',
label: translate('DownloadFailed'),
label: () => translate('DownloadFailed'),
filters: [
{
key: 'eventType',
@ -155,7 +155,7 @@ export const defaultState = {
},
{
key: 'importFailed',
label: translate('ImportFailed'),
label: () => translate('ImportFailed'),
filters: [
{
key: 'eventType',
@ -166,7 +166,7 @@ export const defaultState = {
},
{
key: 'downloadImported',
label: translate('DownloadImported'),
label: () => translate('DownloadImported'),
filters: [
{
key: 'eventType',
@ -177,7 +177,7 @@ export const defaultState = {
},
{
key: 'deleted',
label: translate('Deleted'),
label: () => translate('Deleted'),
filters: [
{
key: 'eventType',
@ -188,7 +188,7 @@ export const defaultState = {
},
{
key: 'renamed',
label: translate('Renamed'),
label: () => translate('Renamed'),
filters: [
{
key: 'eventType',
@ -199,7 +199,7 @@ export const defaultState = {
},
{
key: 'retagged',
label: translate('Retagged'),
label: () => translate('Retagged'),
filters: [
{
key: 'eventType',
@ -210,7 +210,7 @@ export const defaultState = {
},
{
key: 'ignored',
label: translate('Ignored'),
label: () => translate('Ignored'),
filters: [
{
key: 'eventType',

View file

@ -60,32 +60,32 @@ export const defaultState = {
columns: [
{
name: 'status',
columnLabel: translate('Status'),
columnLabel: () => translate('Status'),
isSortable: true,
isVisible: true,
isModifiable: false
},
{
name: 'artists.sortName',
label: translate('Artist'),
label: () => translate('Artist'),
isSortable: true,
isVisible: true
},
{
name: 'albums.title',
label: translate('AlbumTitle'),
label: () => translate('AlbumTitle'),
isSortable: true,
isVisible: true
},
{
name: 'albums.releaseDate',
label: translate('AlbumReleaseDate'),
label: () => translate('AlbumReleaseDate'),
isSortable: true,
isVisible: false
},
{
name: 'quality',
label: translate('Quality'),
label: () => translate('Quality'),
isSortable: true,
isVisible: true
},
@ -97,7 +97,7 @@ export const defaultState = {
},
{
name: 'customFormatScore',
columnLabel: translate('CustomFormatScore'),
columnLabel: () => translate('CustomFormatScore'),
label: React.createElement(Icon, {
name: icons.SCORE,
title: () => translate('CustomFormatScore')
@ -106,55 +106,55 @@ export const defaultState = {
},
{
name: 'protocol',
label: translate('Protocol'),
label: () => translate('Protocol'),
isSortable: true,
isVisible: false
},
{
name: 'indexer',
label: translate('Indexer'),
label: () => translate('Indexer'),
isSortable: true,
isVisible: false
},
{
name: 'downloadClient',
label: translate('DownloadClient'),
label: () => translate('DownloadClient'),
isSortable: true,
isVisible: false
},
{
name: 'title',
label: translate('ReleaseTitle'),
label: () => translate('ReleaseTitle'),
isSortable: true,
isVisible: false
},
{
name: 'size',
label: translate('Size'),
label: () => translate('Size'),
isSortable: true,
isVisibile: false
},
{
name: 'outputPath',
label: translate('OutputPath'),
label: () => translate('OutputPath'),
isSortable: false,
isVisible: false
},
{
name: 'estimatedCompletionTime',
label: translate('TimeLeft'),
label: () => translate('TimeLeft'),
isSortable: true,
isVisible: true
},
{
name: 'progress',
label: translate('Progress'),
label: () => translate('Progress'),
isSortable: true,
isVisible: true
},
{
name: 'actions',
columnLabel: translate('Actions'),
columnLabel: () => translate('Actions'),
isVisible: true,
isModifiable: false
}

View file

@ -52,12 +52,12 @@ export const defaultState = {
filters: [
{
key: 'all',
label: translate('All'),
label: () => translate('All'),
filters: []
},
{
key: 'discography-pack',
label: translate('Discography'),
label: () => translate('Discography'),
filters: [
{
key: 'discography',
@ -68,7 +68,7 @@ export const defaultState = {
},
{
key: 'not-discography-pack',
label: translate('NotDiscography'),
label: () => translate('NotDiscography'),
filters: [
{
key: 'discography',
@ -155,56 +155,56 @@ export const defaultState = {
filterBuilderProps: [
{
name: 'title',
label: translate('Title'),
label: () => translate('Title'),
type: filterBuilderTypes.STRING
},
{
name: 'age',
label: translate('Age'),
label: () => translate('Age'),
type: filterBuilderTypes.NUMBER
},
{
name: 'protocol',
label: translate('Protocol'),
label: () => translate('Protocol'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.PROTOCOL
},
{
name: 'indexerId',
label: translate('Indexer'),
label: () => translate('Indexer'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.INDEXER
},
{
name: 'size',
label: translate('Size'),
label: () => translate('Size'),
type: filterBuilderTypes.NUMBER,
valueType: filterBuilderValueTypes.BYTES
},
{
name: 'seeders',
label: translate('Seeders'),
label: () => translate('Seeders'),
type: filterBuilderTypes.NUMBER
},
{
name: 'leechers',
label: translate('Peers'),
label: () => translate('Peers'),
type: filterBuilderTypes.NUMBER
},
{
name: 'quality',
label: translate('Quality'),
label: () => translate('Quality'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.QUALITY
},
{
name: 'customFormatScore',
label: translate('CustomFormatScore'),
label: () => translate('CustomFormatScore'),
type: filterBuilderTypes.NUMBER
},
{
name: 'rejectionCount',
label: translate('RejectionCount'),
label: () => translate('RejectionCount'),
type: filterBuilderTypes.NUMBER
}
],

View file

@ -82,34 +82,34 @@ export const defaultState = {
columns: [
{
name: 'level',
columnLabel: translate('Level'),
columnLabel: () => translate('Level'),
isSortable: false,
isVisible: true,
isModifiable: false
},
{
name: 'time',
label: translate('Time'),
label: () => translate('Time'),
isSortable: true,
isVisible: true,
isModifiable: false
},
{
name: 'logger',
label: translate('Component'),
label: () => translate('Component'),
isSortable: false,
isVisible: true,
isModifiable: false
},
{
name: 'message',
label: translate('Message'),
label: () => translate('Message'),
isVisible: true,
isModifiable: false
},
{
name: 'actions',
columnLabel: translate('Actions'),
columnLabel: () => translate('Actions'),
isSortable: true,
isVisible: true,
isModifiable: false
@ -121,12 +121,12 @@ export const defaultState = {
filters: [
{
key: 'all',
label: translate('All'),
label: () => translate('All'),
filters: []
},
{
key: 'info',
label: translate('Info'),
label: () => translate('Info'),
filters: [
{
key: 'level',
@ -137,7 +137,7 @@ export const defaultState = {
},
{
key: 'warn',
label: translate('Warn'),
label: () => translate('Warn'),
filters: [
{
key: 'level',
@ -148,7 +148,7 @@ export const defaultState = {
},
{
key: 'error',
label: translate('Error'),
label: () => translate('Error'),
filters: [
{
key: 'level',

View file

@ -30,32 +30,32 @@ export const defaultState = {
columns: [
{
name: 'medium',
label: translate('Medium'),
label: () => translate('Medium'),
isVisible: false
},
{
name: 'absoluteTrackNumber',
label: translate('Track'),
label: () => translate('Track'),
isVisible: true
},
{
name: 'title',
label: translate('Title'),
label: () => translate('Title'),
isVisible: true
},
{
name: 'path',
label: translate('Path'),
label: () => translate('Path'),
isVisible: false
},
{
name: 'duration',
label: translate('Duration'),
label: () => translate('Duration'),
isVisible: true
},
{
name: 'audioInfo',
label: translate('AudioInfo'),
label: () => translate('AudioInfo'),
isVisible: true
},
{
@ -65,7 +65,7 @@ export const defaultState = {
},
{
name: 'customFormatScore',
columnLabel: translate('CustomFormatScore'),
columnLabel: () => translate('CustomFormatScore'),
label: React.createElement(Icon, {
name: icons.SCORE,
title: () => translate('CustomFormatScore')
@ -74,12 +74,12 @@ export const defaultState = {
},
{
name: 'status',
label: translate('Status'),
label: () => translate('Status'),
isVisible: true
},
{
name: 'actions',
columnLabel: translate('Actions'),
columnLabel: () => translate('Actions'),
isVisible: true,
isModifiable: false
}

View file

@ -52,32 +52,32 @@ export const defaultState = {
},
{
name: 'path',
label: translate('Path'),
label: () => translate('Path'),
isSortable: true,
isVisible: true,
isModifiable: false
},
{
name: 'size',
label: translate('Size'),
label: () => translate('Size'),
isSortable: true,
isVisible: true
},
{
name: 'dateAdded',
label: translate('DateAdded'),
label: () => translate('DateAdded'),
isSortable: true,
isVisible: true
},
{
name: 'quality',
label: translate('Quality'),
label: () => translate('Quality'),
isSortable: true,
isVisible: true
},
{
name: 'actions',
columnLabel: translate('Actions'),
columnLabel: () => translate('Actions'),
isVisible: true,
isModifiable: false
}

View file

@ -30,25 +30,25 @@ export const defaultState = {
columns: [
{
name: 'artists.sortName',
label: translate('ArtistName'),
label: () => translate('ArtistName'),
isSortable: true,
isVisible: true
},
{
name: 'albums.title',
label: translate('AlbumTitle'),
label: () => translate('AlbumTitle'),
isSortable: true,
isVisible: true
},
{
name: 'albumType',
label: translate('AlbumType'),
label: () => translate('AlbumType'),
isSortable: true,
isVisible: true
},
{
name: 'releaseDate',
label: translate('ReleaseDate'),
label: () => translate('ReleaseDate'),
isSortable: true,
isVisible: true
},
@ -59,7 +59,7 @@ export const defaultState = {
// },
{
name: 'actions',
columnLabel: translate('Actions'),
columnLabel: () => translate('Actions'),
isVisible: true,
isModifiable: false
}
@ -70,7 +70,7 @@ export const defaultState = {
filters: [
{
key: 'monitored',
label: translate('Monitored'),
label: () => translate('Monitored'),
filters: [
{
key: 'monitored',
@ -81,7 +81,7 @@ export const defaultState = {
},
{
key: 'unmonitored',
label: translate('Unmonitored'),
label: () => translate('Unmonitored'),
filters: [
{
key: 'monitored',
@ -104,25 +104,25 @@ export const defaultState = {
columns: [
{
name: 'artists.sortName',
label: translate('ArtistName'),
label: () => translate('ArtistName'),
isSortable: true,
isVisible: true
},
{
name: 'albums.title',
label: translate('AlbumTitle'),
label: () => translate('AlbumTitle'),
isSortable: true,
isVisible: true
},
{
name: 'albumType',
label: translate('AlbumType'),
label: () => translate('AlbumType'),
isSortable: true,
isVisible: true
},
{
name: 'releaseDate',
label: translate('ReleaseDate'),
label: () => translate('ReleaseDate'),
isSortable: true,
isVisible: true
},
@ -133,7 +133,7 @@ export const defaultState = {
// },
{
name: 'actions',
columnLabel: translate('Actions'),
columnLabel: () => translate('Actions'),
isVisible: true,
isModifiable: false
}
@ -144,7 +144,7 @@ export const defaultState = {
filters: [
{
key: 'monitored',
label: translate('Monitored'),
label: () => translate('Monitored'),
filters: [
{
key: 'monitored',
@ -155,7 +155,7 @@ export const defaultState = {
},
{
key: 'unmonitored',
label: translate('Unmonitored'),
label: () => translate('Unmonitored'),
filters: [
{
key: 'monitored',