From e1218ab1df2f63ac8adb8e00abf164c3bb9bc6c2 Mon Sep 17 00:00:00 2001
From: Tom Robinson <tlrobinson@gmail.com>
Date: Fri, 23 Sep 2016 10:46:16 -0700
Subject: [PATCH] Fix columnar selector crash

---
 frontend/src/metabase/components/ColumnarSelector.jsx | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/frontend/src/metabase/components/ColumnarSelector.jsx b/frontend/src/metabase/components/ColumnarSelector.jsx
index c6ccb0e23ed..77b99fc2971 100644
--- a/frontend/src/metabase/components/ColumnarSelector.jsx
+++ b/frontend/src/metabase/components/ColumnarSelector.jsx
@@ -14,7 +14,10 @@ export default class ColumnarSelector extends Component {
     render() {
         const isItemSelected = (item, column) => column.selectedItems ?
             column.selectedItems.includes(item) :
-            column.selectedItem === item; 
+            column.selectedItem === item;
+        const isItemDisabled = (item, column) => column.disabledOptionIds ?
+            column.disabledOptionIds.includes(item.id) :
+            false;
 
         var columns = this.props.columns.map((column, columnIndex) => {
             var sectionElements;
@@ -27,10 +30,10 @@ export default class ColumnarSelector extends Component {
                         var itemClasses = cx({
                             'ColumnarSelector-row': true,
                             'ColumnarSelector-row--selected': isItemSelected(item, column),
-                            'ColumnarSelector-row--disabled': column.disabledOptionIds.includes(item.id),
+                            'ColumnarSelector-row--disabled': isItemDisabled(item, column),
                             'flex': true,
                             'no-decoration': true,
-                            'cursor-default': column.disabledOptionIds.includes(item.id)
+                            'cursor-default': isItemDisabled(item, column)
                         });
                         var checkIcon = lastColumn ? <Icon name="check" size={14}/> : null;
                         var descriptionElement;
@@ -40,7 +43,7 @@ export default class ColumnarSelector extends Component {
                         }
                         return (
                             <li key={rowIndex}>
-                                <a className={itemClasses} onClick={!column.disabledOptionIds.includes(item.id) && column.itemSelectFn.bind(null, item)}>
+                                <a className={itemClasses} onClick={!isItemDisabled(item, column) && column.itemSelectFn.bind(null, item)}>
                                     {checkIcon}
                                     <div className="flex flex-column">
                                         {column.itemTitleFn(item)}
-- 
GitLab