This is an automated email from the ASF dual-hosted git repository.

rusackas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 9e79cf3  Migrating unique bigNumber(total) controls (#9440)
9e79cf3 is described below

commit 9e79cf37f8bd735f362318e8d477f17cf556c4ef
Author: Evan Rusackas <[email protected]>
AuthorDate: Thu Apr 2 10:52:32 2020 -0700

    Migrating unique bigNumber(total) controls (#9440)
    
    * migrating options controls
    
    * lint :sparkles:
    
    * baby steps...
    
    * shared BigNumber controls file
    
    * capitalization matters
---
 CONTRIBUTING.md                                    |  15 ---
 .../src/explore/controlPanels/BigNumber.jsx        |  55 +++++++-
 .../src/explore/controlPanels/BigNumberTotal.js    |  22 ++-
 .../src/explore/controlPanels/Shared_BigNumber.js  |  89 +++++++++++++
 .../src/explore/controlPanels/sections.jsx         |  60 ++++++++-
 superset-frontend/src/explore/controls.jsx         | 147 ---------------------
 6 files changed, 212 insertions(+), 176 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 38c76ab..82c23fd 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1036,15 +1036,6 @@ The `metric` (or equivalent) and 
`timeseries_limit_metric` fields are all compos
 
 The filter-box configuration references column names (via the `column` key) 
and optionally metric names (via the `metric` key) if sorting is defined.
 
-### Options
-
-| Field                  | Type      | Notes                                |
-| ---------------------- | --------- | ------------------------------------ |
-| `compare_lag`          | _number_  | The **Comparison Period Lag** widget |
-| `compare_suffix`       | _string_  | The **Comparison suffix** widget     |
-| `show_trend_line`      | _boolean_ | The **Show Trend Line** widget       |
-| `start_y_axis_at_zero` | _boolean_ | The **Start y-axis at 0** widget     |
-
 ### Chart Options
 
 | Field                 | Type      | Notes                                    
        |
@@ -1052,7 +1043,6 @@ The filter-box configuration references column names (via 
the `column` key) and
 | `color_picker`        | _object_  | The **Fixed Color** widget               
        |
 | `donut`               | _boolean_ | The **Donut** widget                     
        |
 | `global_opacity`      | _number_  | The **Opacity** widget                   
        |
-| `header_font_size`    | _number_  | The **Big Number Font Size** widget (or 
similar) |
 | `label_colors`        | _object_  | The **Color Scheme** widget              
        |
 | `labels_outside`      | _boolean_ | The **Put labels outside** widget        
        |
 | `line_interpolation`  | _string_  | The **Line Style** widget                
        |
@@ -1065,7 +1055,6 @@ The filter-box configuration references column names (via 
the `column` key) and
 | `show_brush`          | _string_  | The **Show Range Filter** widget         
        |
 | `show_legend`         | _boolean_ | The **Legend** widget                    
        |
 | `show_markers`        | _string_  | The **Show Markers** widget              
        |
-| `subheader_font_size` | _number_  | The **Subheader Font Size** widget       
        |
 
 ### X Axis
 
@@ -1179,8 +1168,6 @@ Note the `y_axis_format` is defined under various section 
for some charts.
 | `remote_id`                     | _N/A_ |       |
 | `resample_fillmethod`           | _N/A_ |       |
 | `resample_how`                  | _N/A_ |       |
-| `resample_method`               | _N/A_ |       |
-| `resample_rule`                 | _N/A_ |       |
 | `reverse_long_lat`              | _N/A_ |       |
 | `rolling_periods`               | _N/A_ |       |
 | `rolling_type`                  | _N/A_ |       |
@@ -1206,9 +1193,7 @@ Note the `y_axis_format` is defined under various section 
for some charts.
 | `stroke_color_picker`           | _N/A_ |       |
 | `stroke_width`                  | _N/A_ |       |
 | `stroked`                       | _N/A_ |       |
-| `subheader`                     | _N/A_ |       |
 | `table_filter`                  | _N/A_ |       |
-| `time_compare`                  | _N/A_ |       |
 | `timed_refresh_immune_slices`   | _N/A_ |       |
 | `url`                           | _N/A_ |       |
 | `userid`                        | _N/A_ |       |
diff --git a/superset-frontend/src/explore/controlPanels/BigNumber.jsx 
b/superset-frontend/src/explore/controlPanels/BigNumber.jsx
index 940eae8..a42ae4e 100644
--- a/superset-frontend/src/explore/controlPanels/BigNumber.jsx
+++ b/superset-frontend/src/explore/controlPanels/BigNumber.jsx
@@ -18,6 +18,7 @@
  */
 import { t } from '@superset-ui/translation';
 import React from 'react';
+import { headerFontSize, subheaderFontSize } from './Shared_BigNumber';
 
 export default {
   controlPanelSections: [
@@ -30,9 +31,52 @@ export default {
       label: t('Options'),
       expanded: true,
       controlSetRows: [
-        ['compare_lag', 'compare_suffix'],
+        [
+          {
+            name: 'compare_lag',
+            config: {
+              type: 'TextControl',
+              label: t('Comparison Period Lag'),
+              isInt: true,
+              description: t(
+                'Based on granularity, number of time periods to compare 
against',
+              ),
+            },
+          },
+          {
+            name: 'compare_suffix',
+            config: {
+              type: 'TextControl',
+              label: t('Comparison suffix'),
+              description: t('Suffix to apply after the percentage display'),
+            },
+          },
+        ],
         ['y_axis_format'],
-        ['show_trend_line', 'start_y_axis_at_zero'],
+        [
+          {
+            name: 'show_trend_line',
+            config: {
+              type: 'CheckboxControl',
+              label: t('Show Trend Line'),
+              renderTrigger: true,
+              default: true,
+              description: t('Whether to display the trend line'),
+            },
+          },
+          {
+            name: 'start_y_axis_at_zero',
+            config: {
+              type: 'CheckboxControl',
+              label: t('Start y-axis at 0'),
+              renderTrigger: true,
+              default: true,
+              description: t(
+                'Start y-axis at zero. Uncheck to start y-axis at minimum 
value in the data.',
+              ),
+            },
+          },
+        ],
         ['time_range_fixed'],
       ],
     },
@@ -41,8 +85,8 @@ export default {
       expanded: true,
       controlSetRows: [
         ['color_picker', null],
-        ['header_font_size'],
-        ['subheader_font_size'],
+        [headerFontSize],
+        [subheaderFontSize],
       ],
     },
     {
@@ -58,9 +102,6 @@ export default {
     y_axis_format: {
       label: t('Number format'),
     },
-    header_font_size: {
-      label: t('Big Number Font Size'),
-    },
   },
   sectionOverrides: {
     druidTimeSeries: {
diff --git a/superset-frontend/src/explore/controlPanels/BigNumberTotal.js 
b/superset-frontend/src/explore/controlPanels/BigNumberTotal.js
index 1814404..720f288 100644
--- a/superset-frontend/src/explore/controlPanels/BigNumberTotal.js
+++ b/superset-frontend/src/explore/controlPanels/BigNumberTotal.js
@@ -17,6 +17,7 @@
  * under the License.
  */
 import { t } from '@superset-ui/translation';
+import { headerFontSize, subheaderFontSize } from './Shared_BigNumber';
 
 export default {
   controlPanelSections: [
@@ -28,20 +29,31 @@ export default {
     {
       label: t('Options'),
       expanded: true,
-      controlSetRows: [['subheader'], ['y_axis_format']],
+      controlSetRows: [
+        [
+          {
+            name: 'subheader',
+            config: {
+              type: 'TextControl',
+              label: t('Subheader'),
+              description: t(
+                'Description text that shows up below your Big Number',
+              ),
+            },
+          },
+        ],
+        ['y_axis_format'],
+      ],
     },
     {
       label: t('Chart Options'),
       expanded: true,
-      controlSetRows: [['header_font_size'], ['subheader_font_size']],
+      controlSetRows: [[headerFontSize], [subheaderFontSize]],
     },
   ],
   controlOverrides: {
     y_axis_format: {
       label: t('Number format'),
     },
-    header_font_size: {
-      label: t('Big Number Font Size'),
-    },
   },
 };
diff --git a/superset-frontend/src/explore/controlPanels/Shared_BigNumber.js 
b/superset-frontend/src/explore/controlPanels/Shared_BigNumber.js
new file mode 100644
index 0000000..a4df9bc
--- /dev/null
+++ b/superset-frontend/src/explore/controlPanels/Shared_BigNumber.js
@@ -0,0 +1,89 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+// These are control configurations that are shared ONLY within the BigNumber 
viz plugin repo.
+import { t } from '@superset-ui/translation';
+
+export const headerFontSize = {
+  name: 'header_font_size',
+  config: {
+    type: 'SelectControl',
+    label: t('Big Number Font Size'),
+    renderTrigger: true,
+    clearable: false,
+    default: 0.4,
+    // Values represent the percentage of space a header should take
+    options: [
+      {
+        label: t('Tiny'),
+        value: 0.2,
+      },
+      {
+        label: t('Small'),
+        value: 0.3,
+      },
+      {
+        label: t('Normal'),
+        value: 0.4,
+      },
+      {
+        label: t('Large'),
+        value: 0.5,
+      },
+      {
+        label: t('Huge'),
+        value: 0.6,
+      },
+    ],
+  },
+};
+
+export const subheaderFontSize = {
+  name: 'subheader_font_size',
+  config: {
+    type: 'SelectControl',
+    label: t('Subheader Font Size'),
+    renderTrigger: true,
+    clearable: false,
+    default: 0.15,
+    // Values represent the percentage of space a subheader should take
+    options: [
+      {
+        label: t('Tiny'),
+        value: 0.125,
+      },
+      {
+        label: t('Small'),
+        value: 0.15,
+      },
+      {
+        label: t('Normal'),
+        value: 0.2,
+      },
+      {
+        label: t('Large'),
+        value: 0.3,
+      },
+      {
+        label: t('Huge'),
+        value: 0.4,
+      },
+    ],
+  },
+};
diff --git a/superset-frontend/src/explore/controlPanels/sections.jsx 
b/superset-frontend/src/explore/controlPanels/sections.jsx
index ef63dca..c361926 100644
--- a/superset-frontend/src/explore/controlPanels/sections.jsx
+++ b/superset-frontend/src/explore/controlPanels/sections.jsx
@@ -18,6 +18,7 @@
  */
 import React from 'react';
 import { t } from '@superset-ui/translation';
+import { formatSelectOptions } from '../../modules/utils';
 
 export const druidTimeSeries = {
   label: t('Time'),
@@ -78,10 +79,65 @@ export const NVD3TimeSeries = [
       [<h1 className="section-header">{t('Rolling Window')}</h1>],
       ['rolling_type', 'rolling_periods', 'min_periods'],
       [<h1 className="section-header">{t('Time Comparison')}</h1>],
-      ['time_compare', 'comparison_type'],
+      [
+        {
+          name: 'time_compare',
+          config: {
+            type: 'SelectControl',
+            multi: true,
+            freeForm: true,
+            label: t('Time Shift'),
+            choices: formatSelectOptions([
+              '1 day',
+              '1 week',
+              '28 days',
+              '30 days',
+              '52 weeks',
+              '1 year',
+            ]),
+            description: t(
+              'Overlay one or more timeseries from a ' +
+                'relative time period. Expects relative time deltas ' +
+                'in natural language (example:  24 hours, 7 days, ' +
+                '56 weeks, 365 days)',
+            ),
+          },
+        },
+        'comparison_type',
+      ],
       [<h1 className="section-header">{t('Python Functions')}</h1>],
       [<h2 className="section-header">pandas.resample</h2>],
-      ['resample_rule', 'resample_method'],
+      [
+        {
+          name: 'resample_rule',
+          config: {
+            type: 'SelectControl',
+            freeForm: true,
+            label: t('Rule'),
+            default: null,
+            choices: formatSelectOptions(['1T', '1H', '1D', '7D', '1M', 
'1AS']),
+            description: t('Pandas resample rule'),
+          },
+        },
+        {
+          name: 'resample_method',
+          config: {
+            type: 'SelectControl',
+            freeForm: true,
+            label: t('Method'),
+            default: null,
+            choices: formatSelectOptions([
+              'asfreq',
+              'bfill',
+              'ffill',
+              'median',
+              'mean',
+              'sum',
+            ]),
+            description: t('Pandas resample method'),
+          },
+        },
+      ],
     ],
   },
 ];
diff --git a/superset-frontend/src/explore/controls.jsx 
b/superset-frontend/src/explore/controls.jsx
index cb983cd..3c26482 100644
--- a/superset-frontend/src/explore/controls.jsx
+++ b/superset-frontend/src/explore/controls.jsx
@@ -795,31 +795,6 @@ export const controls = {
     }),
   },
 
-  resample_rule: {
-    type: 'SelectControl',
-    freeForm: true,
-    label: t('Rule'),
-    default: null,
-    choices: formatSelectOptions(['1T', '1H', '1D', '7D', '1M', '1AS']),
-    description: t('Pandas resample rule'),
-  },
-
-  resample_method: {
-    type: 'SelectControl',
-    freeForm: true,
-    label: t('Method'),
-    default: null,
-    choices: formatSelectOptions([
-      'asfreq',
-      'bfill',
-      'ffill',
-      'median',
-      'mean',
-      'sum',
-    ]),
-    description: t('Pandas resample method'),
-  },
-
   time_range: {
     type: 'DateFilterControl',
     freeForm: true,
@@ -1033,21 +1008,6 @@ export const controls = {
     default: '',
   },
 
-  compare_lag: {
-    type: 'TextControl',
-    label: t('Comparison Period Lag'),
-    isInt: true,
-    description: t(
-      'Based on granularity, number of time periods to compare against',
-    ),
-  },
-
-  compare_suffix: {
-    type: 'TextControl',
-    label: t('Comparison suffix'),
-    description: t('Suffix to apply after the percentage display'),
-  },
-
   x_axis_format: {
     type: 'SelectControl',
     freeForm: true,
@@ -1168,68 +1128,6 @@ export const controls = {
     ),
   },
 
-  header_font_size: {
-    type: 'SelectControl',
-    label: t('Header Font Size'),
-    renderTrigger: true,
-    clearable: false,
-    default: 0.4,
-    // Values represent the percentage of space a header should take
-    options: [
-      {
-        label: t('Tiny'),
-        value: 0.2,
-      },
-      {
-        label: t('Small'),
-        value: 0.3,
-      },
-      {
-        label: t('Normal'),
-        value: 0.4,
-      },
-      {
-        label: t('Large'),
-        value: 0.5,
-      },
-      {
-        label: t('Huge'),
-        value: 0.6,
-      },
-    ],
-  },
-
-  subheader_font_size: {
-    type: 'SelectControl',
-    label: t('Subheader Font Size'),
-    renderTrigger: true,
-    clearable: false,
-    default: 0.15,
-    // Values represent the percentage of space a subheader should take
-    options: [
-      {
-        label: t('Tiny'),
-        value: 0.125,
-      },
-      {
-        label: t('Small'),
-        value: 0.15,
-      },
-      {
-        label: t('Normal'),
-        value: 0.2,
-      },
-      {
-        label: t('Large'),
-        value: 0.3,
-      },
-      {
-        label: t('Huge'),
-        value: 0.4,
-      },
-    ],
-  },
-
   instant_filtering: {
     type: 'CheckboxControl',
     label: t('Instant Filtering'),
@@ -1340,24 +1238,6 @@ export const controls = {
     description: t('Whether to display the numerical values within the cells'),
   },
 
-  show_trend_line: {
-    type: 'CheckboxControl',
-    label: t('Show Trend Line'),
-    renderTrigger: true,
-    default: true,
-    description: t('Whether to display the trend line'),
-  },
-
-  start_y_axis_at_zero: {
-    type: 'CheckboxControl',
-    label: t('Start y-axis at 0'),
-    renderTrigger: true,
-    default: true,
-    description: t(
-      'Start y-axis at zero. Uncheck to start y-axis at minimum value in the 
data.',
-    ),
-  },
-
   x_axis_showminmax: {
     type: 'CheckboxControl',
     label: t('X bounds'),
@@ -1431,27 +1311,6 @@ export const controls = {
     description: t('Compute the contribution to the total'),
   },
 
-  time_compare: {
-    type: 'SelectControl',
-    multi: true,
-    freeForm: true,
-    label: t('Time Shift'),
-    choices: formatSelectOptions([
-      '1 day',
-      '1 week',
-      '28 days',
-      '30 days',
-      '52 weeks',
-      '1 year',
-    ]),
-    description: t(
-      'Overlay one or more timeseries from a ' +
-        'relative time period. Expects relative time deltas ' +
-        'in natural language (example:  24 hours, 7 days, ' +
-        '56 weeks, 365 days)',
-    ),
-  },
-
   comparison_type: {
     type: 'SelectControl',
     label: t('Calculation type'),
@@ -1469,12 +1328,6 @@ export const controls = {
     ),
   },
 
-  subheader: {
-    type: 'TextControl',
-    label: t('Subheader'),
-    description: t('Description text that shows up below your Big Number'),
-  },
-
   mapbox_label: {
     type: 'SelectControl',
     multi: true,

Reply via email to