From 4c2af9b7eb406259ee3b886a7f1a7e318f16279a Mon Sep 17 00:00:00 2001 From: Martha King Date: Wed, 20 Nov 2024 10:44:26 +0000 Subject: [PATCH 01/12] tooltip using a map --- .../TableVisualisationTooltip.ts | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts b/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts index b9e5e8ca9cbb..f62b53ded241 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts +++ b/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts @@ -41,20 +41,33 @@ export class TableVisualisationTooltip implements ITooltipComp { return `
` } - const dataQualityTemplate = ` -
- Nulls/Nothing: ${getPercentage(params.numberOfNothing)}% ${createIndicator(+getPercentage(params.numberOfWhitespace))} -
-
- Trailing/Leading Whitespace: ${getPercentage(params.numberOfWhitespace)}% ${createIndicator(+getPercentage(params.numberOfWhitespace))} -
- ` + const dataQualityData = [ + { + "Nulls/Nothing": params.numberOfNothing + }, + { + "Trailing/Leading Whitespace": params.numberOfWhitespace + } + + ] + + + const getDataQualityTemplate = () => { + let template = '' + dataQualityData.forEach((obj) => { + const key = Object.keys(obj)[0] + const metricTemplate = `
+ ${key}: ${getPercentage(obj[key])}% ${createIndicator(+getPercentage(obj[key]))} +
` + template = template + metricTemplate + }) + return template + } this.eGui.innerHTML = `
Column value type: ${params.value}
- Data Quality Indicators - ${dataQualityTemplate} + ${getDataQualityTemplate()}
` } From 44ddaf745b731bbfceda676ab038057dd8b84907 Mon Sep 17 00:00:00 2001 From: Martha King Date: Wed, 20 Nov 2024 14:39:47 +0000 Subject: [PATCH 02/12] change format of data quality pairs --- .../TableVisualisationTooltip.ts | 3 +- .../visualizations/TableVisualization.vue | 30 ++++++------------- .../0.0.0-dev/src/Table/Visualization.enso | 4 ++- 3 files changed, 13 insertions(+), 24 deletions(-) diff --git a/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts b/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts index f62b53ded241..ef06910780be 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts +++ b/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts @@ -13,8 +13,7 @@ export class TableVisualisationTooltip implements ITooltipComp { */ init( params: ITooltipParams & { - numberOfNothing: number - numberOfWhitespace: number + dataQualityMetrics: Map[] total: number showDataQuality: boolean }, diff --git a/app/gui/src/project-view/components/visualizations/TableVisualization.vue b/app/gui/src/project-view/components/visualizations/TableVisualization.vue index 5ee4d7ab6e49..8fac6e3c9940 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualization.vue +++ b/app/gui/src/project-view/components/visualizations/TableVisualization.vue @@ -81,12 +81,7 @@ interface UnknownTable { get_child_node_action: string get_child_node_link_name: string link_value_type: string - data_quality_pairs?: DataQualityPairs -} - -interface DataQualityPairs { - number_of_nothing: number[] - number_of_whitespace: number[] + data_quality_pairs?: Map[] } export type TextFormatOptions = 'full' | 'partial' | 'off' @@ -356,23 +351,17 @@ function toField( const displayValue = valueType ? valueType.display_text : null const icon = valueType ? getValueTypeIcon(valueType.constructor) : null - const dataQuality = + const dataQualityMetrics = typeof props.data === 'object' && 'data_quality_pairs' in props.data ? - props.data.data_quality_pairs + props.data.data_quality_pairs.map(obj => { + const key = Object.keys(obj)[0] + return {key: obj[key][index]} + }) // eslint-disable-next-line camelcase - : { number_of_nothing: [], number_of_whitespace: [] } - - const nothingIsNonZero = - index != null && dataQuality?.number_of_nothing ? - (dataQuality.number_of_nothing[index] ?? 0) > 0 - : false + : [{ number_of_nothing: 0 }, {number_of_whitespace: 0 }] - const whitespaceIsNonZero = - index != null && dataQuality?.number_of_nothing ? - (dataQuality.number_of_whitespace[index] ?? 0) > 0 - : false - const showDataQuality = nothingIsNonZero || whitespaceIsNonZero + const showDataQuality = true; const getSvgTemplate = (icon: string) => ` ` @@ -401,8 +390,7 @@ function toField( tooltipComponent: TableVisualisationTooltip, headerTooltip: displayValue ? displayValue : '', tooltipComponentParams: { - numberOfNothing: index != null ? dataQuality.number_of_nothing[index] : null, - numberOfWhitespace: index != null ? dataQuality.number_of_whitespace[index] : null, + dataQualityMetrics, total: typeof props.data === 'object' ? props.data.all_rows_count : 0, showDataQuality, }, diff --git a/distribution/lib/Standard/Visualization/0.0.0-dev/src/Table/Visualization.enso b/distribution/lib/Standard/Visualization/0.0.0-dev/src/Table/Visualization.enso index 5fc26840f575..56ed58436a00 100644 --- a/distribution/lib/Standard/Visualization/0.0.0-dev/src/Table/Visualization.enso +++ b/distribution/lib/Standard/Visualization/0.0.0-dev/src/Table/Visualization.enso @@ -199,7 +199,9 @@ make_json_for_table dataframe all_rows_count include_index_col is_db_table = links = ["get_child_node_action", "get_row"] number_of_nothing = if is_db_table then Nothing else columns.map c-> c.count_nothing number_of_whitespace= if is_db_table then Nothing else columns.map c-> whitespace_count c - data_quality_pairs = JS_Object.from_pairs [["number_of_nothing", number_of_nothing], ["number_of_whitespace", number_of_whitespace]] + nothing_p = JS_Object.from_pairs [["number_of_nothing", number_of_nothing]] + whitespace_p = JS_Object.from_pairs [["number_of_whitespace", number_of_whitespace]] + data_quality_pairs = [nothing_p, whitespace_p] pairs = [header, value_type, data, all_rows, has_index_col, links, ["data_quality_pairs", data_quality_pairs] ,["type", "Table"]] JS_Object.from_pairs pairs From 1e4d4278712b386e9a3ee2ff177b67738d277a0f Mon Sep 17 00:00:00 2001 From: Martha King Date: Thu, 21 Nov 2024 12:07:43 +0000 Subject: [PATCH 03/12] data quality metrics sent through to tooltip --- .../visualizations/TableVisualisationTooltip.ts | 12 +----------- .../components/visualizations/TableVisualization.vue | 4 +++- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts b/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts index ef06910780be..81e645bde519 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts +++ b/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts @@ -40,20 +40,10 @@ export class TableVisualisationTooltip implements ITooltipComp { return `
` } - const dataQualityData = [ - { - "Nulls/Nothing": params.numberOfNothing - }, - { - "Trailing/Leading Whitespace": params.numberOfWhitespace - } - - ] - const getDataQualityTemplate = () => { let template = '' - dataQualityData.forEach((obj) => { + params.dataQualityMetrics.forEach((obj) => { const key = Object.keys(obj)[0] const metricTemplate = `
${key}: ${getPercentage(obj[key])}% ${createIndicator(+getPercentage(obj[key]))} diff --git a/app/gui/src/project-view/components/visualizations/TableVisualization.vue b/app/gui/src/project-view/components/visualizations/TableVisualization.vue index 94c0a07367cf..3c2e8f9c830b 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualization.vue +++ b/app/gui/src/project-view/components/visualizations/TableVisualization.vue @@ -354,13 +354,15 @@ function toField( const dataQualityMetrics = typeof props.data === 'object' && 'data_quality_pairs' in props.data ? props.data.data_quality_pairs.map(obj => { + console.log(obj) const key = Object.keys(obj)[0] - return {key: obj[key][index]} + return {[key]: obj[key][index]} }) // eslint-disable-next-line camelcase : [{ number_of_nothing: 0 }, {number_of_whitespace: 0 }] + console.log({dataQualityMetrics}) const showDataQuality = true; const getSvgTemplate = (icon: string) => From 7d43b507eefeb981c8d51874218e97fd8bb4a4a0 Mon Sep 17 00:00:00 2001 From: Martha King Date: Fri, 22 Nov 2024 10:10:50 +0000 Subject: [PATCH 04/12] label sent from enso code --- .../visualizations/TableVisualisationTooltip.ts | 12 +++++++----- .../components/visualizations/TableVisualization.vue | 3 +-- .../0.0.0-dev/src/Table/Visualization.enso | 4 ++-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts b/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts index 81e645bde519..11cbdef8cc33 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts +++ b/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts @@ -40,15 +40,17 @@ export class TableVisualisationTooltip implements ITooltipComp { return `
` } - const getDataQualityTemplate = () => { let template = '' params.dataQualityMetrics.forEach((obj) => { const key = Object.keys(obj)[0] - const metricTemplate = `
- ${key}: ${getPercentage(obj[key])}% ${createIndicator(+getPercentage(obj[key]))} -
` - template = template + metricTemplate + const value = key ? obj[key] : null + if (key && value) { + const metricTemplate = `
+ ${key}: ${getPercentage(value)}% ${createIndicator(+getPercentage(value))} +
` + template = template + metricTemplate + } }) return template } diff --git a/app/gui/src/project-view/components/visualizations/TableVisualization.vue b/app/gui/src/project-view/components/visualizations/TableVisualization.vue index 3c2e8f9c830b..a149a1c6feda 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualization.vue +++ b/app/gui/src/project-view/components/visualizations/TableVisualization.vue @@ -354,8 +354,7 @@ function toField( const dataQualityMetrics = typeof props.data === 'object' && 'data_quality_pairs' in props.data ? props.data.data_quality_pairs.map(obj => { - console.log(obj) - const key = Object.keys(obj)[0] + const key = Object.keys(obj)[0] as string return {[key]: obj[key][index]} }) // eslint-disable-next-line camelcase diff --git a/distribution/lib/Standard/Visualization/0.0.0-dev/src/Table/Visualization.enso b/distribution/lib/Standard/Visualization/0.0.0-dev/src/Table/Visualization.enso index 56ed58436a00..75f6f0208942 100644 --- a/distribution/lib/Standard/Visualization/0.0.0-dev/src/Table/Visualization.enso +++ b/distribution/lib/Standard/Visualization/0.0.0-dev/src/Table/Visualization.enso @@ -199,8 +199,8 @@ make_json_for_table dataframe all_rows_count include_index_col is_db_table = links = ["get_child_node_action", "get_row"] number_of_nothing = if is_db_table then Nothing else columns.map c-> c.count_nothing number_of_whitespace= if is_db_table then Nothing else columns.map c-> whitespace_count c - nothing_p = JS_Object.from_pairs [["number_of_nothing", number_of_nothing]] - whitespace_p = JS_Object.from_pairs [["number_of_whitespace", number_of_whitespace]] + nothing_p = JS_Object.from_pairs [["Number of nothing/null values", number_of_nothing]] + whitespace_p = JS_Object.from_pairs [["Number of untrimmed whitespace", number_of_whitespace]] data_quality_pairs = [nothing_p, whitespace_p] pairs = [header, value_type, data, all_rows, has_index_col, links, ["data_quality_pairs", data_quality_pairs] ,["type", "Table"]] JS_Object.from_pairs pairs From 529914f8e09fb32ff663645f021cd1b81aa5c762 Mon Sep 17 00:00:00 2001 From: Martha King Date: Fri, 22 Nov 2024 10:28:37 +0000 Subject: [PATCH 05/12] show warning based on incoming data --- .../components/visualizations/TableVisualization.vue | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/gui/src/project-view/components/visualizations/TableVisualization.vue b/app/gui/src/project-view/components/visualizations/TableVisualization.vue index a149a1c6feda..173ebf441f01 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualization.vue +++ b/app/gui/src/project-view/components/visualizations/TableVisualization.vue @@ -361,8 +361,7 @@ function toField( : [{ number_of_nothing: 0 }, {number_of_whitespace: 0 }] - console.log({dataQualityMetrics}) - const showDataQuality = true; + const showDataQuality = dataQualityMetrics.filter(obj => Object.values(obj)[0] as number > 0).length > 0; const getSvgTemplate = (icon: string) => ` ` From ee7529712cf80f4efedfef1781b3fba6615faa1e Mon Sep 17 00:00:00 2001 From: Martha King Date: Fri, 22 Nov 2024 16:29:58 +0000 Subject: [PATCH 06/12] fix type issues --- .../visualizations/TableVisualisationTooltip.ts | 2 +- .../components/visualizations/TableVisualization.vue | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts b/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts index 11cbdef8cc33..cf83b22a5803 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts +++ b/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts @@ -13,7 +13,7 @@ export class TableVisualisationTooltip implements ITooltipComp { */ init( params: ITooltipParams & { - dataQualityMetrics: Map[] + dataQualityMetrics: Record[] total: number showDataQuality: boolean }, diff --git a/app/gui/src/project-view/components/visualizations/TableVisualization.vue b/app/gui/src/project-view/components/visualizations/TableVisualization.vue index 173ebf441f01..c252e10cbeae 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualization.vue +++ b/app/gui/src/project-view/components/visualizations/TableVisualization.vue @@ -81,7 +81,7 @@ interface UnknownTable { get_child_node_action: string get_child_node_link_name: string link_value_type: string - data_quality_pairs?: Map[] + data_quality_pairs?: Record[] } export type TextFormatOptions = 'full' | 'partial' | 'off' @@ -353,15 +353,15 @@ function toField( const dataQualityMetrics = typeof props.data === 'object' && 'data_quality_pairs' in props.data ? - props.data.data_quality_pairs.map(obj => { + props.data.data_quality_pairs.map((obj: Record) => { const key = Object.keys(obj)[0] as string - return {[key]: obj[key][index]} + return { [key]: obj[key]?.[index!] ?? 0 }; }) // eslint-disable-next-line camelcase - : [{ number_of_nothing: 0 }, {number_of_whitespace: 0 }] + : [{ number_of_nothing: 0 }, { number_of_whitespace: 0 }] - - const showDataQuality = dataQualityMetrics.filter(obj => Object.values(obj)[0] as number > 0).length > 0; + const showDataQuality = + dataQualityMetrics.filter((obj) => (Object.values(obj)[0] as number) > 0).length > 0 const getSvgTemplate = (icon: string) => ` ` From 01c5a04ed3f5148f666208f4d8119ad54e7e5b41 Mon Sep 17 00:00:00 2001 From: Martha King Date: Fri, 22 Nov 2024 16:43:14 +0000 Subject: [PATCH 07/12] run formatter --- .../components/visualizations/TableVisualization.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/gui/src/project-view/components/visualizations/TableVisualization.vue b/app/gui/src/project-view/components/visualizations/TableVisualization.vue index c252e10cbeae..0dcff1253c75 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualization.vue +++ b/app/gui/src/project-view/components/visualizations/TableVisualization.vue @@ -355,7 +355,7 @@ function toField( typeof props.data === 'object' && 'data_quality_pairs' in props.data ? props.data.data_quality_pairs.map((obj: Record) => { const key = Object.keys(obj)[0] as string - return { [key]: obj[key]?.[index!] ?? 0 }; + return { [key]: obj[key]?.[index!] ?? 0 } }) // eslint-disable-next-line camelcase : [{ number_of_nothing: 0 }, { number_of_whitespace: 0 }] From a0d20992c5bd3d33aaf91d387af5238462a9a35f Mon Sep 17 00:00:00 2001 From: marthasharkey Date: Mon, 25 Nov 2024 10:26:07 +0000 Subject: [PATCH 08/12] Update app/gui/src/project-view/components/visualizations/TableVisualization.vue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Radosław Waśko --- .../components/visualizations/TableVisualization.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/gui/src/project-view/components/visualizations/TableVisualization.vue b/app/gui/src/project-view/components/visualizations/TableVisualization.vue index 0dcff1253c75..68ee301fdb25 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualization.vue +++ b/app/gui/src/project-view/components/visualizations/TableVisualization.vue @@ -358,7 +358,7 @@ function toField( return { [key]: obj[key]?.[index!] ?? 0 } }) // eslint-disable-next-line camelcase - : [{ number_of_nothing: 0 }, { number_of_whitespace: 0 }] + : [] const showDataQuality = dataQualityMetrics.filter((obj) => (Object.values(obj)[0] as number) > 0).length > 0 From 5cd54e80c6e315145e63a7694cd1fe0bad0800de Mon Sep 17 00:00:00 2001 From: Martha King Date: Mon, 25 Nov 2024 11:28:36 +0000 Subject: [PATCH 09/12] add a console warning message when data quality is sent inwrong format --- .../components/visualizations/TableVisualisationTooltip.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts b/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts index cf83b22a5803..9b128bfb9603 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts +++ b/app/gui/src/project-view/components/visualizations/TableVisualisationTooltip.ts @@ -31,7 +31,6 @@ export class TableVisualisationTooltip implements ITooltipComp { }) const getPercentage = (value: number) => ((value / params.total) * 100).toFixed(2) - const getDisplay = (value: number) => (value > 0 ? 'block' : 'none') const createIndicator = (value: number) => { const color = value < 33 ? 'green' @@ -46,10 +45,14 @@ export class TableVisualisationTooltip implements ITooltipComp { const key = Object.keys(obj)[0] const value = key ? obj[key] : null if (key && value) { - const metricTemplate = `
+ const metricTemplate = `
${key}: ${getPercentage(value)}% ${createIndicator(+getPercentage(value))}
` template = template + metricTemplate + } else { + console.warn( + 'Data quality metric is missing a valid key-value pair. Ensure each object in data_quality_pairs contains a single valid key with a numeric value.', + ) } }) return template From e08c878151cc29602bba79e27ac432f67fd20910 Mon Sep 17 00:00:00 2001 From: Martha King Date: Mon, 25 Nov 2024 16:04:59 +0000 Subject: [PATCH 10/12] re structure metrics --- .../visualizations/TableVisualization.vue | 20 +++++++++++++------ .../0.0.0-dev/src/Table/Visualization.enso | 8 ++++---- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/app/gui/src/project-view/components/visualizations/TableVisualization.vue b/app/gui/src/project-view/components/visualizations/TableVisualization.vue index 68ee301fdb25..bc381349aaa1 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualization.vue +++ b/app/gui/src/project-view/components/visualizations/TableVisualization.vue @@ -81,7 +81,12 @@ interface UnknownTable { get_child_node_action: string get_child_node_link_name: string link_value_type: string - data_quality_pairs?: Record[] + data_quality_metrics?: DataQualityMetric[] +} + +type DataQualityMetric = { + name: string + percentage_value: number[] } export type TextFormatOptions = 'full' | 'partial' | 'off' @@ -351,15 +356,18 @@ function toField( const displayValue = valueType ? valueType.display_text : null const icon = valueType ? getValueTypeIcon(valueType.constructor) : null + console.log(props.data) + const dataQualityMetrics = - typeof props.data === 'object' && 'data_quality_pairs' in props.data ? - props.data.data_quality_pairs.map((obj: Record) => { - const key = Object.keys(obj)[0] as string - return { [key]: obj[key]?.[index!] ?? 0 } + typeof props.data === 'object' && 'data_quality_metrics' in props.data ? + props.data.data_quality_metrics.map((metric: DataQualityMetric) => { + console.log({ metric }) + return { [metric.name]: metric.percentage_value[index!] ?? 0 } }) - // eslint-disable-next-line camelcase : [] + console.log(dataQualityMetrics) + const showDataQuality = dataQualityMetrics.filter((obj) => (Object.values(obj)[0] as number) > 0).length > 0 diff --git a/distribution/lib/Standard/Visualization/0.0.0-dev/src/Table/Visualization.enso b/distribution/lib/Standard/Visualization/0.0.0-dev/src/Table/Visualization.enso index 75f6f0208942..121819081711 100644 --- a/distribution/lib/Standard/Visualization/0.0.0-dev/src/Table/Visualization.enso +++ b/distribution/lib/Standard/Visualization/0.0.0-dev/src/Table/Visualization.enso @@ -199,10 +199,10 @@ make_json_for_table dataframe all_rows_count include_index_col is_db_table = links = ["get_child_node_action", "get_row"] number_of_nothing = if is_db_table then Nothing else columns.map c-> c.count_nothing number_of_whitespace= if is_db_table then Nothing else columns.map c-> whitespace_count c - nothing_p = JS_Object.from_pairs [["Number of nothing/null values", number_of_nothing]] - whitespace_p = JS_Object.from_pairs [["Number of untrimmed whitespace", number_of_whitespace]] - data_quality_pairs = [nothing_p, whitespace_p] - pairs = [header, value_type, data, all_rows, has_index_col, links, ["data_quality_pairs", data_quality_pairs] ,["type", "Table"]] + nothing_p = JS_Object.from_pairs [["name", "Number of nothings"], ["percentage_value", number_of_nothing]] + whitespace_p = JS_Object.from_pairs [["name", "Number of untrimmed whitespace"], ["percentage_value",number_of_whitespace]] + data_quality_metrics = [nothing_p, whitespace_p] + pairs = [header, value_type, data, all_rows, has_index_col, links, ["data_quality_metrics", data_quality_metrics] ,["type", "Table"]] JS_Object.from_pairs pairs ## PRIVATE From ee1a7de28741d4b7fcf0893b1b03b441e007a84f Mon Sep 17 00:00:00 2001 From: Martha King Date: Mon, 25 Nov 2024 16:17:16 +0000 Subject: [PATCH 11/12] update tests --- test/Visualization_Tests/src/Table_Spec.enso | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/Visualization_Tests/src/Table_Spec.enso b/test/Visualization_Tests/src/Table_Spec.enso index c8c81acca2b0..5743cc8c7fb1 100644 --- a/test/Visualization_Tests/src/Table_Spec.enso +++ b/test/Visualization_Tests/src/Table_Spec.enso @@ -54,10 +54,10 @@ add_specs suite_builder = p_value_type = ["value_type", value_type] p_has_index_col = ["has_index_col", has_index_col] p_get_child_node = ["get_child_node_action", get_child_node] - p_number_of_nothing = ["number_of_nothing", number_of_nothing] - p_number_of_whitespace = ["number_of_whitespace", number_of_whitespace] - data_quality_pairs = JS_Object.from_pairs [p_number_of_nothing, p_number_of_whitespace] - pairs = [p_header, p_value_type, p_data, p_all_rows, p_has_index_col, p_get_child_node, ["data_quality_pairs", data_quality_pairs], ["type", "Table"]] + p_number_of_nothing = JS_Object.from_pairs [["name", "Number of nothings"], ["percentage_value", number_of_nothing]] + p_number_of_whitespace = JS_Object.from_pairs [["name", "Number of untrimmed whitespace"], ["percentage_value", number_of_whitespace]] + data_quality_metrics = [p_number_of_nothing, p_number_of_whitespace] + pairs = [p_header, p_value_type, p_data, p_all_rows, p_has_index_col, p_get_child_node, ["data_quality_metrics", data_quality_metrics], ["type", "Table"]] JS_Object.from_pairs pairs . to_text suite_builder.group "Table Visualization" group_builder-> From 29ba984c5822f5dc33876c8b08c149a61ab2f488 Mon Sep 17 00:00:00 2001 From: James Dunkerley Date: Mon, 25 Nov 2024 21:14:39 +0000 Subject: [PATCH 12/12] Remove debug log statements. --- .../components/visualizations/TableVisualization.vue | 5 ----- 1 file changed, 5 deletions(-) diff --git a/app/gui/src/project-view/components/visualizations/TableVisualization.vue b/app/gui/src/project-view/components/visualizations/TableVisualization.vue index bc381349aaa1..3af3b8c393e1 100644 --- a/app/gui/src/project-view/components/visualizations/TableVisualization.vue +++ b/app/gui/src/project-view/components/visualizations/TableVisualization.vue @@ -356,18 +356,13 @@ function toField( const displayValue = valueType ? valueType.display_text : null const icon = valueType ? getValueTypeIcon(valueType.constructor) : null - console.log(props.data) - const dataQualityMetrics = typeof props.data === 'object' && 'data_quality_metrics' in props.data ? props.data.data_quality_metrics.map((metric: DataQualityMetric) => { - console.log({ metric }) return { [metric.name]: metric.percentage_value[index!] ?? 0 } }) : [] - console.log(dataQualityMetrics) - const showDataQuality = dataQualityMetrics.filter((obj) => (Object.values(obj)[0] as number) > 0).length > 0