feature(web): 增加独立小工具
直接通过HDFS查询时间线,有时候保留现场会直接copy一个hdfs目录,不遵循生产表的逻辑,只能通过hdfs路经查询
This commit is contained in:
@@ -8,13 +8,13 @@ function crudCommonOptions() {
|
||||
}
|
||||
}
|
||||
|
||||
function paginationCommonOptions(perPage = true) {
|
||||
function paginationCommonOptions(perPage = true, maxButtons = 5) {
|
||||
let option = {
|
||||
type: 'pagination',
|
||||
layout: [
|
||||
'pager'
|
||||
],
|
||||
maxButtons: 5,
|
||||
maxButtons: maxButtons,
|
||||
showPageInput: false,
|
||||
perPageAvailable: [10, 15, 20, 50, 100, 200],
|
||||
}
|
||||
@@ -740,6 +740,52 @@ function flinkJobDialog() {
|
||||
}
|
||||
}
|
||||
|
||||
function timelineColumns() {
|
||||
return [
|
||||
{
|
||||
name: 'timestamp',
|
||||
label: '时间点',
|
||||
width: 150,
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
name: 'action',
|
||||
label: '类型',
|
||||
width: 100,
|
||||
...mappingField('action', hudiTimelineActionMapping),
|
||||
filterable: filterableField(hudiTimelineActionMapping, false),
|
||||
},
|
||||
{
|
||||
name: 'state',
|
||||
label: ' 状态',
|
||||
width: 80,
|
||||
align: 'center',
|
||||
...mappingField('state', hudiTimelineStateMapping),
|
||||
filterable: filterableField(hudiTimelineStateMapping, true),
|
||||
},
|
||||
{
|
||||
name: 'fileTime',
|
||||
label: ' 文件时间',
|
||||
width: 150,
|
||||
align: 'center',
|
||||
type: 'tpl',
|
||||
tpl: "${DATETOSTR(DATE(fileTime), 'YYYY-MM-DD HH:mm:ss')}",
|
||||
},
|
||||
{
|
||||
name: 'fileName',
|
||||
label: '文件名',
|
||||
},
|
||||
{
|
||||
name: 'type',
|
||||
label: '来源',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
...mappingField('type', hudiTimelineTypeMapping),
|
||||
filterable: filterableField(hudiTimelineTypeMapping, true),
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
function tableMetaDialog() {
|
||||
return {
|
||||
title: 'Table 详情',
|
||||
@@ -920,49 +966,7 @@ function tableMetaDialog() {
|
||||
footerToolbar: [
|
||||
paginationCommonOptions(),
|
||||
],
|
||||
columns: [
|
||||
{
|
||||
name: 'timestamp',
|
||||
label: '时间点',
|
||||
width: 150,
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
name: 'action',
|
||||
label: '类型',
|
||||
width: 100,
|
||||
...mappingField('action', hudiTimelineActionMapping),
|
||||
filterable: filterableField(hudiTimelineActionMapping, false),
|
||||
},
|
||||
{
|
||||
name: 'state',
|
||||
label: ' 状态',
|
||||
width: 80,
|
||||
align: 'center',
|
||||
...mappingField('state', hudiTimelineStateMapping),
|
||||
filterable: filterableField(hudiTimelineStateMapping, true),
|
||||
},
|
||||
{
|
||||
name: 'fileTime',
|
||||
label: ' 文件时间',
|
||||
width: 150,
|
||||
align: 'center',
|
||||
type: 'tpl',
|
||||
tpl: "${DATETOSTR(DATE(fileTime), 'YYYY-MM-DD HH:mm:ss')}",
|
||||
},
|
||||
{
|
||||
name: 'fileName',
|
||||
label: '文件名',
|
||||
},
|
||||
{
|
||||
name: 'type',
|
||||
label: '来源',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
...mappingField('type', hudiTimelineTypeMapping),
|
||||
filterable: filterableField(hudiTimelineTypeMapping, true),
|
||||
},
|
||||
],
|
||||
columns: timelineColumns(),
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
63
web/components/tool-tab.js
Normal file
63
web/components/tool-tab.js
Normal file
@@ -0,0 +1,63 @@
|
||||
function toolTab() {
|
||||
return {
|
||||
title: `小工具`,
|
||||
tab: [
|
||||
{
|
||||
type: 'form',
|
||||
title: '查询时间线',
|
||||
mode: 'horizontal',
|
||||
horizontal: {
|
||||
leftFixed: 'md',
|
||||
},
|
||||
actions: [
|
||||
{
|
||||
type: 'submit',
|
||||
label: '查询',
|
||||
actionType: 'dialog',
|
||||
dialog: {
|
||||
title: 'Hudi 表时间线',
|
||||
actions: [],
|
||||
size: 'lg',
|
||||
body: {
|
||||
type: 'crud',
|
||||
api: {
|
||||
method: 'get',
|
||||
url: '${base}/hudi/timeline/list_hdfs',
|
||||
data: {
|
||||
page: '${page|default:undefined}',
|
||||
count: '${perPage|default:undefined}',
|
||||
order: '${orderBy|default:undefined}',
|
||||
direction: '${orderDir|default:undefined}',
|
||||
hdfs: '${hdfs|default:undefined}',
|
||||
filter_type: "${type|default:active}",
|
||||
filter_action: '${action|default:undefined}',
|
||||
filter_state: '${state|default:undefined}',
|
||||
},
|
||||
},
|
||||
...crudCommonOptions(),
|
||||
perPage: 50,
|
||||
headerToolbar: [
|
||||
"reload",
|
||||
paginationCommonOptions(undefined, 10),
|
||||
],
|
||||
footerToolbar: [
|
||||
paginationCommonOptions(undefined, 10),
|
||||
],
|
||||
columns: timelineColumns(),
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
body: [
|
||||
{
|
||||
type: 'input-text',
|
||||
name: 'hdfs',
|
||||
label: '表HDFS路经',
|
||||
required: true,
|
||||
}
|
||||
]
|
||||
},
|
||||
{type: 'divider'},
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user