diff --git a/packages/rath-client/public/locales/en-US.json b/packages/rath-client/public/locales/en-US.json index 1019f595..afae27b3 100644 --- a/packages/rath-client/public/locales/en-US.json +++ b/packages/rath-client/public/locales/en-US.json @@ -133,11 +133,17 @@ "methods": { "dropNull": "drop null records", "useMode": "replace null with mode", - "simpleClean": "simple cleaning", + "simpleClean": "use zero or null", "none": "none(use original data)" }, "tip": "Remember to adjust the fields' types and cleaning strategy before analysis.", "recordCount": "Number of records {count}", + "rowsInViews": "Origin: {origin} rows / Select: ({select}) / Clean: ({clean}) rows", + "selection": { + "title": "Fast Selection Config", + "desc": "Filter based on quantiles to get the main part of your data.", + "syncMode": "sync mode" + }, "upload": { "title": "Upload Your own dataset", "fileTypes": "csv, json are supportted.", diff --git a/packages/rath-client/public/locales/zh-CN.json b/packages/rath-client/public/locales/zh-CN.json index ec1437e6..d57bcb70 100644 --- a/packages/rath-client/public/locales/zh-CN.json +++ b/packages/rath-client/public/locales/zh-CN.json @@ -133,11 +133,17 @@ "methods": { "dropNull": "删除空值记录", "useMode": "使用众数代替空", - "simpleClean": "简单的替换", + "simpleClean": "替换为0或null", "none": "无(使用原始数据)" }, "tip": "记得在开始分析前先调整数据的清洗策略并配置字段的属性", "recordCount": "记录数 {count}", + "rowsInViews": "原始数据: {origin} 行 / 筛选后: {select} 行 / 清洗后: {clean} 行", + "selection": { + "title": "快速数据筛选", + "desc": "基于数据中的分位数进行快速筛选", + "syncMode": "分位数同步" + }, "upload": { "title": "连接你的数据集,根据需求调整以下配置", "fileTypes": "支持csv, json文件", diff --git a/packages/rath-client/src/pages/dataSource/fastSelection/index.tsx b/packages/rath-client/src/pages/dataSource/fastSelection/index.tsx index bd85ae1a..4f05482d 100644 --- a/packages/rath-client/src/pages/dataSource/fastSelection/index.tsx +++ b/packages/rath-client/src/pages/dataSource/fastSelection/index.tsx @@ -1,6 +1,7 @@ -import { observer } from 'mobx-react-lite'; -import { DefaultButton, Modal, PrimaryButton, Slider, Stack, Toggle } from 'office-ui-fabric-react'; import React, { useCallback, useEffect, useState } from 'react'; +import { observer } from 'mobx-react-lite'; +import { DefaultButton, Label, Modal, PrimaryButton, Slider, Stack, Toggle } from 'office-ui-fabric-react'; +import intl from 'react-intl-universal'; import { useGlobalStore } from '../../../store'; const FastSelection: React.FC = () => { @@ -30,9 +31,9 @@ const FastSelection: React.FC = () => { dataSourceStore.setShowFastSelection(false); }}>
-

Fast Selection Config

-

Filter based on quantiles to get the main part of your data.

- {intl.get('dataSource.selection.title')} +

{intl.get('dataSource.selection.desc')}

+ { setSyncMode(Boolean(checked)) }} @@ -53,14 +54,14 @@ const FastSelection: React.FC = () => { />) } - { + { dataSourceStore.createBatchFilterByQts( meaFields.map(m => m.fid), ranges ) dataSourceStore.setShowFastSelection(false); }} /> - { + { dataSourceStore.setShowFastSelection(false); }} /> diff --git a/packages/rath-client/src/pages/dataSource/index.tsx b/packages/rath-client/src/pages/dataSource/index.tsx index 5f43396a..c28ef016 100644 --- a/packages/rath-client/src/pages/dataSource/index.tsx +++ b/packages/rath-client/src/pages/dataSource/index.tsx @@ -257,7 +257,7 @@ const DataSourceBoard: React.FC = (props) => { {intl.get('dataSource.recordCount', { count: cleanedData.length })}
- Origin: ({rawData.length}) rows / Selected: ({ filteredData.length }) / Clean: ({cleanedData.length}) rows + {intl.get('dataSource.rowsInViews', { origin: rawData.length, select: filteredData.length, clean: cleanedData.length })}
{ const { discoveryMainStore } = useGlobalStore(); const { fieldMetas, - dataSource, + dataSource } = discoveryMainStore; useEffect(() => { if (dataSource.length > 1e5) { discoveryMainStore.updateSettings('vizAlgo', 'lite') } - discoveryMainStore.initAssociate(); // eslint-disable-next-line react-hooks/exhaustive-deps }, [fieldMetas, dataSource]) diff --git a/packages/rath-client/src/queries/distribution/bot.ts b/packages/rath-client/src/queries/distribution/bot.ts index 20cec90f..bcc64a7d 100644 --- a/packages/rath-client/src/queries/distribution/bot.ts +++ b/packages/rath-client/src/queries/distribution/bot.ts @@ -60,9 +60,7 @@ export function autoMark (fields: IFieldMeta[], statFields: IFieldMeta[]= [], or } else if (isSetEqual(semantics, ['quantitative', 'quantitative'])) { return 'area' } else if (isSetEqual(semantics, ['temporal', 'quantitative'])) { - const temporalField = semanticFields.find(s => s.semanticType === 'temporal')!; - if (temporalField.features.unique > 16) return 'line' - return 'bar' + return 'line' } } else { if (isSetEqual(semantics, ['nominal', 'nominal'])) { diff --git a/packages/rath-client/src/store/discovery/mainStore.ts b/packages/rath-client/src/store/discovery/mainStore.ts index f5a925a1..863f2a6a 100644 --- a/packages/rath-client/src/store/discovery/mainStore.ts +++ b/packages/rath-client/src/store/discovery/mainStore.ts @@ -68,6 +68,8 @@ export class DiscoveryMainStore { !autoPatt && this.initRenderViews('featViews'); autoFilter && this.filterAssociate(); !autoFilter && this.initRenderViews('filterViews'); + } else { + autoPatt && this.initAssociate(); } })) @@ -99,7 +101,7 @@ export class DiscoveryMainStore { public setShowMiniFloatView (show: boolean) { this.showMiniFloatView = show; } - public hasMainView () { + public get hasMainView () { return this.mainView !== null } public get dataSource () {