このコミットが含まれているのは:
@@ -13,22 +13,46 @@ export type CountsResult = {
|
||||
versions?: (PostVersion | TagVersion)[] }
|
||||
|
||||
export const countColumns = {
|
||||
created_at: '変更日時', resource_id: 'ID', version_no: '版番号',
|
||||
event_type: '操作種別', user: '操作者', title: '投稿タイトル', url: '投稿 URL',
|
||||
tags: '記載タグ', added_tags: '追加されたタグ', removed_tags: '削除されたタグ',
|
||||
name: 'タグ名', category: 'カテゴリ', aliases: '別名', parents: '上位タグ',
|
||||
deprecated: '廃止状態' }
|
||||
created_at: 'counts:columns.changedAt', resource_id: 'counts:columns.resourceId',
|
||||
version_no: 'history:version', user: 'history:actor',
|
||||
title: 'counts:columns.postTitle', url: 'counts:columns.postURL',
|
||||
tags: 'counts:columns.tags', added_tags: 'counts:columns.addedTags',
|
||||
removed_tags: 'counts:columns.removedTags', name: 'history:tagName',
|
||||
category: 'common:categoryLabel', aliases: 'tags:aliases', parents: 'tags:parents',
|
||||
deprecated: 'counts:columns.deprecated' }
|
||||
|
||||
export type CountColumn = keyof typeof countColumns
|
||||
|
||||
|
||||
export const columnsForCounts = (resource: CountsResource): CountColumn[] => [
|
||||
'created_at', 'resource_id', 'version_no', 'event_type', 'user',
|
||||
'created_at', 'resource_id', 'version_no', 'user',
|
||||
...(resource === 'posts'
|
||||
? ['title', 'url', 'tags', 'added_tags', 'removed_tags'] as const
|
||||
: ['name', 'category', 'aliases', 'parents', 'deprecated'] as const)]
|
||||
|
||||
|
||||
export const normaliseCountsParams = (
|
||||
resource: CountsResource,
|
||||
source: URLSearchParams,
|
||||
): URLSearchParams => {
|
||||
const params = new URLSearchParams (source)
|
||||
params.delete ('event_type')
|
||||
if (!['month', 'user'].includes (params.get ('axis') ?? ''))
|
||||
params.set ('axis', 'month')
|
||||
if (params.has ('columns'))
|
||||
{
|
||||
const available = columnsForCounts (resource)
|
||||
const columns = params.get ('columns')!.split (',')
|
||||
.filter (column => available.includes (column as CountColumn))
|
||||
if (columns.length > 0)
|
||||
params.set ('columns', [...new Set (columns)].join (','))
|
||||
else
|
||||
params.delete ('columns')
|
||||
}
|
||||
return params
|
||||
}
|
||||
|
||||
|
||||
export const fetchCounts = (
|
||||
resource: CountsResource,
|
||||
params: URLSearchParams,
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする