Filtering ng-repeat and more


#1

This is not strictly a Canvas question, but Google isn’t working for me.

I have the following HTML:

    <tbody>
        <tr ng-repeat="row in dataset.rows" ng-class="{'light-grey': $index %2 ===0}" ng-dblclick="switchEdit(row['Row ID'].name,$index)">

            <td> {{row['Row ID'].name}}</td>
                <td class="wide-column" ng-class="{'red':cell.value==='' && $index ==1}" ng-repeat="cell in row.cells | tm1filter:search">

                <span ng-hide="currentEditRow==row['Row ID'].name">{{cell.value | customNumberFilter:cell.dataset.headers[1].columns[$index].name}}</span>
            
                <span ng-if="currentEditRow===row['Row ID'].name">
                    <tm1-ui-dbr
                        tm1-instance="costings"
                        tm1-cube="Volumes Effort"
                        tm1-elements="{{global.$stateParams.costing}},{{global.$stateParams.version}},{{row['Row ID'].name}},Data Entry,{{cell.dataset.headers[2].columns[$index].name}},{{cell.dataset.headers[0].columns[$index].name}},{{cell.dataset.headers[1].columns[$index].name}}"
                        tm1-hide-reference="false"
                        tm1-hide-comment="false"
                        tm1-hide-spread="false"
                        tm1-hide-drill="false"
                        tm1-hide-context-menu="false"
                        ng-model="cell.dbrValue"
                        tm1-multi-line="2"
                        >
                    </tm1-ui-dbr>
                </span>
            </td>
        </tr>
    </tbody>

It is using tm1filter (js) and a search field (search) to filter rows from the ng-repeat.

The dataset is based on a lengthy MDX.

The filtering worked fine based on my search string until I added the

{{row[‘Row ID’].name}}
now it filters all rows but not the first column, so I get something like:

Or even worse when I have freeze frames:

Is there a way to get the first column to synch with the rest, or somehow attach it to the dataset for the ng-repeat?

Thanks
Mal


#2

@mmacdonnell, it looks like the filter should be on the rows (tr) from the cells (td)?

<tr ng-repeat="row in dataset.rows | tm1filter:search">

#3

Thanks Tim,

Pretty sure I tried that, but I’ll give it another go.

Cheers
Mal