<commit_before><div class="row actions">
    <div class="col-md-12">
        <div class="pull-left">
            <button class="btn btn-success"
                    ng-if="user.hasPermission($state.name.split('.')[0],'create')"
                    ng-click="openCreateConsumerModal()">
                <i class="mdi mdi-plus"></i>
                Create consumer
            </button>
        </div>
        <list-search
                class="pull-right"
                data-filters="filters"
                data-options="itemsPerPageOptions"
                data-items="itemsPerPage"
        ></list-search>
    </div>
</div>


<konga-loader ng-if="loading && !items.length"></konga-loader>
<div class="row" ng-if="!loading || items.length">
    <div class="col-md-12">
        <div class="table-responsive">
            <table class="table table-hover table-striped">
                <tr>
                    <th width="{{item.width}}" class="text-nowrap" ng-if="!item.hide"
                        data-ng-repeat="item in titleItems | filter:titleFilter"
                    >
                        <a
                                class="clickable"
                                data-ng-show="item.column"
                                data-ng-click="changeSort(item)"
                                data-ng-bind-html="item.title.toUpperCase()"
                        ></a>
                        <span
                                data-ng-show="!item.column"
                                data-ng-bind-html="item.title.toUpperCase()"
                        ></span>

                        <i class="mdi"
                           data-ng-show="sort.column == item.column"
                           data-ng-class="{'mdi-chevron-down': !sort.direction, 'mdi-chevron-up': sort.direction}"
                        >
                        </i>
                    </th>
                </tr>
                <tr dir-paginate="consumer in items.data | orderBy:sort.column:sort.direction | filter : filters.searchWord | itemsPerPage: itemsPerPage">

                    <td>
                        <raw-view data-item="consumer"></raw-view>
                    </td>
                    <td><a data-ui-sref="consumers.edit({'id':consumer.id})"><strong>{{consumer.username || "-"}}</strong></a></td>
                    <td>{{consumer.custom_id || "-"}}</td>
                    <td>
                        <span class="badge badge-tag badge-success badge-inverse" ng-repeat="tag in consumer.tags">
                            <i class="mdi mdi-tag"></i>&nbsp;
                            {{tag}}
                        </span>
                    </td>
                    <td>{{moment(consumer.created_at*1000).format("MMM DD YYYY @HH:mm")}}</td>
                    <td ng-if="user.hasPermission($state.name.split('.')[0],'delete')">
                        <button type="button"
                                ng-click="deleteItem($index,consumer)" class="btn btn-danger btn-link">
                            <i class="mdi mdi-delete"></i>
                            Delete
                        </button>
                    </td>
                </tr>

                <tr data-ng-if="items.length === 0 && !loading">
                    <td colspan="100%" class="text-center text-muted">
                        <em>No data found...</em>
                    </td>
                </tr>
                <tr data-ng-if="loading">
                    <td colspan="100%" class="text-center text-muted">
                        <em>Loading consumers...</em>
                    </td>
                </tr>
            </table>
        </div>

        <dir-pagination-controls class="pull-right"></dir-pagination-controls>
    </div>
</div>

<commit_msg>feat(consumers): list view includes hyperlink for custom_id as well as username<commit_after><div class="row actions">
    <div class="col-md-12">
        <div class="pull-left">
            <button class="btn btn-success"
                    ng-if="user.hasPermission($state.name.split('.')[0],'create')"
                    ng-click="openCreateConsumerModal()">
                <i class="mdi mdi-plus"></i>
                Create consumer
            </button>
        </div>
        <list-search
                class="pull-right"
                data-filters="filters"
                data-options="itemsPerPageOptions"
                data-items="itemsPerPage"
        ></list-search>
    </div>
</div>


<konga-loader ng-if="loading && !items.length"></konga-loader>
<div class="row" ng-if="!loading || items.length">
    <div class="col-md-12">
        <div class="table-responsive">
            <table class="table table-hover table-striped">
                <tr>
                    <th width="{{item.width}}" class="text-nowrap" ng-if="!item.hide"
                        data-ng-repeat="item in titleItems | filter:titleFilter"
                    >
                        <a
                                class="clickable"
                                data-ng-show="item.column"
                                data-ng-click="changeSort(item)"
                                data-ng-bind-html="item.title.toUpperCase()"
                        ></a>
                        <span
                                data-ng-show="!item.column"
                                data-ng-bind-html="item.title.toUpperCase()"
                        ></span>

                        <i class="mdi"
                           data-ng-show="sort.column == item.column"
                           data-ng-class="{'mdi-chevron-down': !sort.direction, 'mdi-chevron-up': sort.direction}"
                        >
                        </i>
                    </th>
                </tr>
                <tr dir-paginate="consumer in items.data | orderBy:sort.column:sort.direction | filter : filters.searchWord | itemsPerPage: itemsPerPage">

                    <td>
                        <raw-view data-item="consumer"></raw-view>
                    </td>
                    <td><a data-ui-sref="consumers.edit({'id':consumer.id})"><strong>{{consumer.username || "-"}}</strong></a></td>
                    <td><a data-ui-sref="consumers.edit({'id':consumer.id})"><strong>{{consumer.custom_id || "-"}}</strong></a></td>
                    <td>
                        <span class="badge badge-tag badge-success badge-inverse" ng-repeat="tag in consumer.tags">
                            <i class="mdi mdi-tag"></i>&nbsp;
                            {{tag}}
                        </span>
                    </td>
                    <td>{{moment(consumer.created_at*1000).format("MMM DD YYYY @HH:mm")}}</td>
                    <td ng-if="user.hasPermission($state.name.split('.')[0],'delete')">
                        <button type="button"
                                ng-click="deleteItem($index,consumer)" class="btn btn-danger btn-link">
                            <i class="mdi mdi-delete"></i>
                            Delete
                        </button>
                    </td>
                </tr>

                <tr data-ng-if="items.length === 0 && !loading">
                    <td colspan="100%" class="text-center text-muted">
                        <em>No data found...</em>
                    </td>
                </tr>
                <tr data-ng-if="loading">
                    <td colspan="100%" class="text-center text-muted">
                        <em>Loading consumers...</em>
                    </td>
                </tr>
            </table>
        </div>

        <dir-pagination-controls class="pull-right"></dir-pagination-controls>
    </div>
</div>


{'fraction_non_alphanumeric': 0.15080394190871368, 'fraction_numerical': 0.004408713692946058, 'mean_word_length': 1.1532663316582914, 'pattern_counts': {'":': 0, '<': 155, '<?xml version=': 0, '>': 155, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5880357', 'n_tokens_mistral': 2160, 'n_tokens_neox': 1959, 'n_words': 317}