@@ -49,23 +49,23 @@ export default function ChartSelector({
4949 // 从 store 获取当前 dashboard 和组件
5050 const { currentDashboard } = useEditorDashboardStore ( )
5151 const { editingComponent } = useComponentEditorStore ( )
52-
52+
5353 useEffect ( ( ) => {
5454 const config = editingComponent ?. data_config
55-
55+
5656 if ( config && 'linkedComponentIds' in config ) {
5757 setSelectedCharts ( config . linkedComponentIds || [ ] )
58-
58+
5959 if ( config . queryConditions ) {
6060 const queryCond = config . queryConditions
61-
61+
6262 if ( queryCond . displayType ) {
63- const displayTypeValue = queryCond . displayType === "single"
63+ const displayTypeValue = queryCond . displayType === "single"
6464 ? t ( "chartSelector.displayTypes.time" , "时间" )
6565 : t ( "chartSelector.displayTypes.timeRange" , "时间范围" )
6666 setDisplayType ( displayTypeValue )
6767 }
68-
68+
6969 // 映射时间粒度
7070 if ( queryCond . timeGranularity ) {
7171 let timeGranularityValue = t ( "chartSelector.granularities.yearMonthDay" , "年月日" )
@@ -76,18 +76,18 @@ export default function ChartSelector({
7676 }
7777 setTimeGranularity ( timeGranularityValue )
7878 }
79-
79+
8080 // 设置默认值
8181 if ( queryCond . hasDefaultValue !== undefined ) {
8282 setIsDefault ( queryCond . hasDefaultValue )
8383 }
84-
84+
8585 // 处理时间范围
8686 if ( queryCond . hasDefaultValue && queryCond . defaultValue ?. type === 'custom' ) {
8787 try {
8888 const startTime = queryCond . defaultValue . startDate
8989 const endTime = queryCond . defaultValue . endDate
90-
90+
9191 if ( startTime && endTime ) {
9292 setTimeFilter ( {
9393 startTime : Math . floor ( startTime / 1000 ) ,
@@ -112,19 +112,18 @@ export default function ChartSelector({
112112 setTimeFilter ( null )
113113 }
114114 } , [ editingComponent , t ] )
115-
115+
116116 // 获取所有非查询类型的图表组件
117- const charts = currentDashboard
117+ const charts = currentDashboard
118118 ? currentDashboard . components
119- . filter ( component =>
120- component . type !== 'query' &&
121- component . type !== 'metric'
122- )
123- . map ( component => ( {
124- id : component . id ,
125- name : component . title || t ( "chartSelector.unnamedChart" ) ,
126- dataset : component . dataset_code || t ( "chartSelector.noDataset" )
127- } ) )
119+ . filter ( component =>
120+ component . type !== 'query'
121+ )
122+ . map ( component => ( {
123+ id : component . id ,
124+ name : component . title || t ( "chartSelector.unnamedChart" ) ,
125+ dataset : component . dataset_code || t ( "chartSelector.noDataset" )
126+ } ) )
128127 : [ ]
129128
130129 // 获取当前编辑的组件名称
@@ -147,23 +146,23 @@ export default function ChartSelector({
147146 setSelectedCharts ( allChartIds )
148147 }
149148 }
150-
149+
151150 /* 保存 */
152151 const handleSave = ( ) => {
153152 let finalStartDate = ""
154153 let finalEndDate = ""
155-
154+
156155 if ( timeFilter && timeFilter . startTime ) {
157156 // 将时间戳转换为日期字符串
158157 const startDateObj = new Date ( timeFilter . startTime * 1000 )
159158 const endDateObj = new Date ( timeFilter . endTime * 1000 )
160-
159+
161160 // 根据时间粒度格式化
162161 const year = startDateObj . getFullYear ( )
163162 const month = String ( startDateObj . getMonth ( ) + 1 ) . padStart ( 2 , '0' )
164163 const day = String ( startDateObj . getDate ( ) ) . padStart ( 2 , '0' )
165164 const hour = String ( startDateObj . getHours ( ) ) . padStart ( 2 , '0' )
166-
165+
167166 if ( timeGranularity === t ( "chartSelector.granularities.yearMonth" ) ) {
168167 finalStartDate = `${ year } -${ month } `
169168 finalEndDate = `${ year } -${ month } `
@@ -172,7 +171,7 @@ export default function ChartSelector({
172171 const endMonth = String ( endDateObj . getMonth ( ) + 1 ) . padStart ( 2 , '0' )
173172 const endDay = String ( endDateObj . getDate ( ) ) . padStart ( 2 , '0' )
174173 const endHour = String ( endDateObj . getHours ( ) ) . padStart ( 2 , '0' )
175-
174+
176175 if ( displayType === t ( "chartSelector.displayTypes.time" ) ) {
177176 // 时间点模式
178177 finalStartDate = `${ year } -${ month } -${ day } ${ hour } :00`
@@ -193,13 +192,13 @@ export default function ChartSelector({
193192 const endYear = endDateObj . getFullYear ( )
194193 const endMonth = String ( endDateObj . getMonth ( ) + 1 ) . padStart ( 2 , '0' )
195194 const endDay = String ( endDateObj . getDate ( ) ) . padStart ( 2 , '0' )
196-
195+
197196 finalStartDate = `${ year } -${ month } -${ day } `
198197 finalEndDate = `${ endYear } -${ endMonth } -${ endDay } `
199198 }
200199 }
201200 }
202-
201+
203202 const config : ChartLinkConfig = {
204203 chartIds : selectedCharts ,
205204 displayType,
@@ -210,7 +209,7 @@ export default function ChartSelector({
210209 end : finalEndDate
211210 }
212211 }
213-
212+
214213 toast ( {
215214 variant : 'success' ,
216215 description : t ( "chartSelector.messages.saveSuccess" ) ,
@@ -239,8 +238,8 @@ export default function ChartSelector({
239238 if ( collapsed ) {
240239 return (
241240 < div className = "border-r flex flex-col h-full w-12 shrink-0" >
242- < div className = "h-full flex flex-col items-center justify-center cursor-pointer hover:bg-accent/50 transition-colors"
243- onClick = { ( ) => setCollapsed ( false ) } >
241+ < div className = "h-full flex flex-col items-center justify-center cursor-pointer hover:bg-accent/50 transition-colors"
242+ onClick = { ( ) => setCollapsed ( false ) } >
244243 < div className = "writing-mode-vertical text-sm font-medium py-4" >
245244 { t ( "chartSelector.messages.collapse" ) }
246245 </ div >
@@ -270,7 +269,7 @@ export default function ChartSelector({
270269 { /* 图表列表 */ }
271270 < div className = "max-h-64 overflow-y-auto space-y-2" >
272271 < div > { t ( "chartSelector.selectCharts" ) } </ div >
273-
272+
274273 { /* 全选 */ }
275274 < div className = "flex items-center gap-2" >
276275 < Checkbox
@@ -306,15 +305,15 @@ export default function ChartSelector({
306305 </ div >
307306 ) }
308307 </ div >
309-
308+
310309 < div className = "h-px bg-muted" > </ div >
311-
310+
312311 { /* 配置区 */ }
313312 < div className = "space-y-3" >
314313 < div className = "text-md font-medium" >
315314 { t ( "chartSelector.config" ) }
316315 </ div >
317-
316+
318317 { /* 展示类型 */ }
319318 < div className = "space-y-1" >
320319 < label className = "text-sm" >
0 commit comments