vnDataViewer applied to all module indexes
gitea/salix/dev This commit looks good Details

This commit is contained in:
Juan Ferrer 2019-10-02 21:02:49 +02:00
parent b3c7073587
commit ec9797a4b3
13 changed files with 286 additions and 254 deletions

View File

@ -190,8 +190,8 @@ export default {
searchItemInput: 'vn-searchbar vn-textfield input', searchItemInput: 'vn-searchbar vn-textfield input',
searchButton: 'vn-searchbar vn-icon[icon="search"]', searchButton: 'vn-searchbar vn-icon[icon="search"]',
closeItemSummaryPreview: 'vn-item-index [vn-id="preview"] button.close', closeItemSummaryPreview: 'vn-item-index [vn-id="preview"] button.close',
fieldsToShowButton: 'vn-item-index vn-table > div.ng-scope > div > vn-icon-button[icon="menu"]', fieldsToShowButton: 'vn-item-index vn-table > div > div > vn-icon-button[icon="menu"]',
fieldsToShowForm: 'vn-item-index > div > vn-card > div > vn-table > div.ng-scope > div > vn-dialog > div > form', fieldsToShowForm: 'vn-item-index vn-table > div > div > vn-dialog > div > form',
firstItemImage: 'vn-item-index vn-tbody > a:nth-child(1) > vn-td:nth-child(1)', firstItemImage: 'vn-item-index vn-tbody > a:nth-child(1) > vn-td:nth-child(1)',
firstItemId: 'vn-item-index vn-tbody > a:nth-child(1) > vn-td:nth-child(2)', firstItemId: 'vn-item-index vn-tbody > a:nth-child(1) > vn-td:nth-child(2)',
idCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(2) > vn-check', idCheckbox: 'vn-item-index vn-dialog form vn-horizontal:nth-child(2) > vn-check',

View File

@ -1,7 +1,7 @@
import selectors from '../../helpers/selectors.js'; import selectors from '../../helpers/selectors.js';
import createNightmare from '../../helpers/nightmare'; import createNightmare from '../../helpers/nightmare';
describe('Item index path', () => { fdescribe('Item index path', () => {
const nightmare = createNightmare(); const nightmare = createNightmare();
beforeAll(() => { beforeAll(() => {

View File

@ -25,7 +25,9 @@ export default class Table {
} }
$onChanges() { $onChanges() {
if (this.model && this.autoLoad) // FIXME: The autoload property should be removed from vnTable
// because it's already implemented at vnModel
if (this.autoLoad && this.model && !this.model.data)
this.applyOrder(); this.applyOrder();
} }

View File

@ -3,20 +3,23 @@
url="/claim/api/Claims/filter" url="/claim/api/Claims/filter"
limit="20" limit="20"
data="claims" data="claims"
order="claimStateFk ASC, created DESC"> order="claimStateFk ASC, created DESC"
auto-load="true">
</vn-crud-model> </vn-crud-model>
<div class="content-block"> <div class="content-block">
<div class="vn-list"> <vn-card pad-medium-h class="vn-w-sm">
<vn-card pad-medium-h> <vn-searchbar
<vn-searchbar panel="vn-claim-search-panel"
panel="vn-claim-search-panel" on-search="$ctrl.onSearch($params)"
on-search="$ctrl.onSearch($params)" info="Search claim by id or client name"
info="Search claim by id or client name" vn-focus>
vn-focus> </vn-searchbar>
</vn-searchbar> </vn-card>
</vn-card> <vn-data-viewer
</div> model="model"
<vn-card margin-medium-v compact> class="vn-w-md"
margin-medium-v>
<vn-card>
<vn-table model="model"> <vn-table model="model">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
@ -62,10 +65,12 @@
</a> </a>
</vn-tbody> </vn-tbody>
</vn-table> </vn-table>
</vn-card> </vn-card>
<vn-pagination model="model"></vn-pagination> </vn-data-viewer>
</div> </div>
<vn-client-descriptor-popover vn-id="clientDescriptor"></vn-client-descriptor-popover> <vn-client-descriptor-popover
vn-id="clientDescriptor">
</vn-client-descriptor-popover>
<vn-worker-descriptor-popover <vn-worker-descriptor-popover
vn-id="workerDescriptor" vn-id="workerDescriptor"
worker-fk="$ctrl.selectedWorker"> worker-fk="$ctrl.selectedWorker">

View File

@ -3,68 +3,74 @@
url="/item/api/Clients" url="/item/api/Clients"
order="id DESC" order="id DESC"
limit="8" limit="8"
data="clients" data="clients">
auto-load="false">
</vn-crud-model> </vn-crud-model>
<div class="content-block"> <div class="content-block vn-w-sm">
<div class="vn-list"> <vn-card pad-medium-h>
<vn-card pad-medium-h> <vn-searchbar
<vn-searchbar panel="vn-client-search-panel"
panel="vn-client-search-panel" model="model"
model="model" expr-builder="$ctrl.exprBuilder(param, value)"
expr-builder="$ctrl.exprBuilder(param, value)" info="Search client by id or name"
info="Search client by id or name" vn-focus>
vn-focus> </vn-searchbar>
</vn-searchbar> </vn-card>
<vn-data-viewer
model="model"
margin-medium-v>
<vn-card>
<div class="vn-list">
<a
ng-repeat="client in clients track by client.id"
ui-sref="client.card.summary({ id: {{::client.id}} })"
translate-attr="{title: 'View client'}"
class="vn-list-item searchResult">
<vn-horizontal ng-click="$ctrl.onClick($event)">
<vn-one>
<h6>{{::client.name}}</h6>
<vn-label-value label="Id"
value="{{::client.id}}">
</vn-label-value>
<vn-label-value label="Phone"
value="{{::client.phone | phone}}">
</vn-label-value>
<vn-label-value label="Town/City"
value="{{::client.city}}">
</vn-label-value>
<vn-label-value label="Email"
value="{{::client.email}}">
</vn-label-value>
</vn-one>
<vn-horizontal class="buttons">
<vn-icon-button
ng-click="$ctrl.filterTickets(client, $event)"
vn-tooltip="Client tickets"
icon="icon-ticket">
</vn-icon-button>
<vn-icon-button
ng-click="$ctrl.openSummary(client, $event)"
vn-tooltip="Preview"
icon="desktop_windows">
</vn-icon-button>
</vn-horizontal>
</vn-horizontal>
</a>
</div>
</vn-card> </vn-card>
<vn-data-viewer model="model"> </vn-data-viewer>
<vn-card margin-medium-v>
<a
ng-repeat="client in clients track by client.id"
ui-sref="client.card.summary({ id: {{::client.id}} })"
translate-attr="{title: 'View client'}"
class="vn-list-item searchResult">
<vn-horizontal ng-click="$ctrl.onClick($event)">
<vn-one>
<h6>{{::client.name}}</h6>
<vn-label-value label="Id"
value="{{::client.id}}">
</vn-label-value>
<vn-label-value label="Phone"
value="{{::client.phone | phone}}">
</vn-label-value>
<vn-label-value label="Town/City"
value="{{::client.city}}">
</vn-label-value>
<vn-label-value label="Email"
value="{{::client.email}}">
</vn-label-value>
</vn-one>
<vn-horizontal class="buttons">
<vn-icon-button
ng-click="$ctrl.filterTickets(client, $event)"
vn-tooltip="Client tickets"
icon="icon-ticket">
</vn-icon-button>
<vn-icon-button
ng-click="$ctrl.openSummary(client, $event)"
vn-tooltip="Preview"
icon="desktop_windows">
</vn-icon-button>
</vn-horizontal>
</vn-horizontal>
</a>
</vn-card>
</vn-data-viewer>
</div>
</div> </div>
<a ui-sref="client.create" vn-tooltip="New client" vn-bind="+" fixed-bottom-right> <a ui-sref="client.create"
vn-tooltip="New client"
vn-bind="+"
fixed-bottom-right>
<vn-float-button icon="person_add"></vn-float-button> <vn-float-button icon="person_add"></vn-float-button>
</a> </a>
<vn-dialog class="dialog-summary" <vn-dialog class="dialog-summary"
vn-id="dialog-summary-client"> vn-id="dialog-summary-client">
<tpl-body> <tpl-body>
<vn-client-summary client="$ctrl.clientSelected"></vn-client-summary> <vn-client-summary
client="$ctrl.clientSelected">
</vn-client-summary>
</tpl-body> </tpl-body>
</vn-dialog> </vn-dialog>
<vn-scroll-up></vn-scroll-up> <vn-scroll-up></vn-scroll-up>

View File

@ -7,7 +7,7 @@
</vn-crud-model> </vn-crud-model>
<div class="content-block"> <div class="content-block">
<div class="vn-list"> <div class="vn-list">
<vn-card pad-medium-h> <vn-card pad-medium-h class="vn-w-sm">
<vn-searchbar <vn-searchbar
panel="vn-invoice-search-panel" panel="vn-invoice-search-panel"
on-search="$ctrl.onSearch($params)" on-search="$ctrl.onSearch($params)"
@ -16,8 +16,12 @@
</vn-searchbar> </vn-searchbar>
</vn-card> </vn-card>
</div> </div>
<vn-card margin-medium-v compact> <vn-data-viewer
<vn-table model="model" auto-load="false"> model="model"
class="vn-w-md"
margin-medium-v>
<vn-card>
<vn-table model="model">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th field="ref">Reference</vn-th> <vn-th field="ref">Reference</vn-th>
@ -67,15 +71,19 @@
</a> </a>
</vn-tbody> </vn-tbody>
</vn-table> </vn-table>
</vn-card> </vn-card>
<vn-pagination model="model"></vn-pagination> </vn-data-viewer>
</div> </div>
<vn-dialog <vn-dialog
vn-id="summary" vn-id="summary"
class="dialog-summary"> class="dialog-summary">
<tpl-body> <tpl-body>
<vn-invoice-out-summary invoice-out="$ctrl.selectedInvoiceOut"></vn-invoice-out-summary> <vn-invoice-out-summary
invoice-out="$ctrl.selectedInvoiceOut">
</vn-invoice-out-summary>
</tpl-body> </tpl-body>
</vn-dialog> </vn-dialog>
<vn-client-descriptor-popover vn-id="clientDescriptor"></vn-client-descriptor-popover> <vn-client-descriptor-popover
vn-id="clientDescriptor">
</vn-client-descriptor-popover>
<vn-scroll-up></vn-scroll-up> <vn-scroll-up></vn-scroll-up>

View File

@ -3,35 +3,39 @@
url="/item/api/Items/filter" url="/item/api/Items/filter"
limit="12" limit="12"
order="isActive DESC, name, id" order="isActive DESC, name, id"
data="items" data="items">
auto-load="false">
</vn-crud-model> </vn-crud-model>
<div class="content-block"> <div class="content-block">
<div class="vn-list"> <vn-card pad-medium-h class="vn-w-sm">
<vn-card pad-medium-h> <vn-horizontal>
<vn-horizontal> <vn-searchbar
<vn-searchbar vn-three
vn-three panel="vn-item-search-panel"
panel="vn-item-search-panel" on-search="$ctrl.onSearch($params)"
on-search="$ctrl.onSearch($params)" info="Search items by id, name or barcode"
info="Search items by id, name or barcode" suggested-filter="{isActive: true}"
suggested-filter="{isActive: true}" vn-focus>
vn-focus> </vn-searchbar>
</vn-searchbar> <vn-icon-menu
<vn-icon-menu vn-id="more-button"
vn-id="more-button" icon="more_vert"
icon="more_vert" show-filter="false"
show-filter="false" value-field="callback"
value-field="callback" translate-fields="['name']"
translate-fields="['name']" on-change="$ctrl.onMoreChange(value)"
on-change="$ctrl.onMoreChange(value)" on-open="$ctrl.onMoreOpen()">
on-open="$ctrl.onMoreOpen()"> </vn-icon-menu>
</vn-icon-menu> </vn-horizontal>
</vn-horizontal> </vn-card>
</vn-card> <vn-data-viewer
</div> model="model"
<vn-card margin-medium-v margin-huge-bottom> margin-medium-v
<vn-table model="model" auto-load="false" show-fields="$ctrl.showFields" vn-uvc="itemIndex"> margin-huge-bottom>
<vn-card>
<vn-table
model="model"
show-fields="$ctrl.showFields"
vn-uvc="itemIndex">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th th-id="picture" shrink></vn-th> <vn-th th-id="picture" shrink></vn-th>
@ -124,8 +128,8 @@
</a> </a>
</vn-tbody> </vn-tbody>
</vn-table> </vn-table>
</vn-card> </vn-card>
<vn-pagination model="model"></vn-pagination> </vn-data-viewer>
</div> </div>
<a ui-sref="item.create" vn-tooltip="New item" vn-bind="+" fixed-bottom-right> <a ui-sref="item.create" vn-tooltip="New item" vn-bind="+" fixed-bottom-right>
<vn-float-button icon="add"></vn-float-button> <vn-float-button icon="add"></vn-float-button>

View File

@ -3,24 +3,23 @@
url="/api/Orders/filter" url="/api/Orders/filter"
limit="20" limit="20"
data="orders" data="orders"
order="landed DESC, clientFk" order="landed DESC, clientFk">
auto-load="false">
</vn-crud-model> </vn-crud-model>
<div class="content-block"> <div class="content-block">
<div class="vn-list"> <vn-card pad-medium-h class="vn-w-sm">
<vn-card pad-medium-h> <vn-searchbar
<vn-searchbar panel="vn-order-search-panel"
panel="vn-order-search-panel" on-search="$ctrl.onSearch($params)"
on-search="$ctrl.onSearch($params)" info="Search orders by id"
info="Search orders by id" vn-focus>
vn-focus> </vn-searchbar>
</vn-searchbar> </vn-card>
</vn-card> <vn-data-viewer
</div> model="model"
<vn-card margin-medium-v> margin-medium-v
<vn-table margin-huge-bottom>
model="model" <vn-card>
auto-load="false"> <vn-table model="model">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th field="id" number>Id</vn-th> <vn-th field="id" number>Id</vn-th>
@ -71,8 +70,8 @@
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
</vn-table> </vn-table>
</vn-card> </vn-card>
<vn-pagination model="model"></vn-pagination> </vn-data-viewer>
</div> </div>
<a ui-sref="order.create" vn-bind="+" vn-tooltip="New order" fixed-bottom-right> <a ui-sref="order.create" vn-bind="+" vn-tooltip="New order" fixed-bottom-right>
<vn-float-button icon="add"></vn-float-button> <vn-float-button icon="add"></vn-float-button>

View File

@ -3,32 +3,36 @@
url="/api/Routes/filter" url="/api/Routes/filter"
limit="20" limit="20"
data="routes" data="routes"
order="created DESC"> order="created DESC"
auto-load="true">
</vn-crud-model> </vn-crud-model>
<div class="content-block"> <div class="content-block">
<div class="vn-list"> <vn-card pad-medium-h class="vn-w-sm">
<vn-card pad-medium-h> <vn-searchbar
<vn-searchbar filter="$ctrl.filter"
filter="$ctrl.filter" panel="vn-route-search-panel"
panel="vn-route-search-panel" on-search="$ctrl.onSearch($params)"
on-search="$ctrl.onSearch($params)" info="Search routes by id"
info="Search routes by id" vn-focus>
vn-focus> </vn-searchbar>
</vn-searchbar> </vn-card>
</vn-card> <vn-data-viewer
</div> model="model"
<vn-card margin-medium-v margin-huge-bottom class="index"> class="vn-w-lg"
<vn-table model="model" auto-load="false"> margin-medium-v
margin-huge-bottom>
<vn-card class="index">
<vn-table model="model">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th field="id" number>id</vn-th> <vn-th field="id" number>Id</vn-th>
<vn-th th-id="worker">Worker</vn-th> <vn-th th-id="worker">Worker</vn-th>
<vn-th th-id="agency">Agency</vn-th> <vn-th th-id="agency">Agency</vn-th>
<vn-th th-id="vehicle">Vehicle</vn-th> <vn-th th-id="vehicle">Vehicle</vn-th>
<vn-th th-id="created">Date</vn-th> <vn-th th-id="created">Date</vn-th>
<vn-th th-id="m3" number></vn-th> <vn-th th-id="m3" number></vn-th>
<vn-th th-id="description">Description</vn-th> <vn-th th-id="description">Description</vn-th>
<vn-th></vn-th> <vn-th shrink></vn-th>
</vn-tr> </vn-tr>
</vn-thead> </vn-thead>
<vn-tbody> <vn-tbody>
@ -58,21 +62,26 @@
</a> </a>
</vn-tbody> </vn-tbody>
</vn-table> </vn-table>
</vn-card> </vn-card>
<vn-pagination model="model"></vn-pagination> </vn-data-viewer>
</div> </div>
<vn-dialog <vn-dialog
vn-id="summary" vn-id="summary"
class="dialog-summary"> class="dialog-summary">
<tpl-body> <tpl-body>
<vn-route-summary route="$ctrl.routeSelected"></vn-route-summary> <vn-route-summary
route="$ctrl.routeSelected">
</vn-route-summary>
</tpl-body> </tpl-body>
</vn-dialog> </vn-dialog>
<vn-worker-descriptor-popover <vn-worker-descriptor-popover
vn-id="workerDescriptor" vn-id="workerDescriptor"
worker-fk="$ctrl.selectedWorker"> worker-fk="$ctrl.selectedWorker">
</vn-worker-descriptor-popover> </vn-worker-descriptor-popover>
<a ui-sref="route.create" vn-tooltip="New route" vn-bind="+" fixed-bottom-right> <a ui-sref="route.create"
vn-tooltip="New route"
vn-bind="+"
fixed-bottom-right>
<vn-float-button icon="add"></vn-float-button> <vn-float-button icon="add"></vn-float-button>
</a> </a>
<vn-scroll-up></vn-scroll-up> <vn-scroll-up></vn-scroll-up>

View File

@ -4,34 +4,35 @@
limit="20" limit="20"
params="::$ctrl.params" params="::$ctrl.params"
data="tickets" data="tickets"
order="shipped DESC, zoneHour ASC, zoneMinute ASC, clientFk" order="shipped DESC, zoneHour ASC, zoneMinute ASC, clientFk">
auto-load="false">
</vn-crud-model> </vn-crud-model>
<div class="content-block"> <div class="content-block">
<div class="vn-list"> <vn-card pad-medium-h class="vn-w-sm">
<vn-card pad-medium-h> <vn-horizontal>
<vn-horizontal> <vn-searchbar
<vn-searchbar vn-id="ticketSearchbar"
vn-id="ticketSearchbar" panel="vn-ticket-search-panel"
panel="vn-ticket-search-panel" on-search="$ctrl.onSearch($params)"
on-search="$ctrl.onSearch($params)" info="Search ticket by id or alias"
info="Search ticket by id or alias" vn-focus>
vn-focus> </vn-searchbar>
</vn-searchbar> <vn-icon-menu
<vn-icon-menu vn-id="more-button"
vn-id="more-button" icon="more_vert"
icon="more_vert" show-filter="false"
show-filter="false" value-field="callback"
value-field="callback" translate-fields="['name']"
translate-fields="['name']" on-change="$ctrl.onMoreChange(value)"
on-change="$ctrl.onMoreChange(value)" on-open="$ctrl.onMoreOpen()">
on-open="$ctrl.onMoreOpen()"> </vn-icon-menu>
</vn-icon-menu> </vn-horizontal>
</vn-horizontal> </vn-card>
</vn-card> <vn-data-viewer
</div> model="model"
<vn-card margin-medium-v margin-huge-bottom> margin-medium-v
<vn-table model="model" auto-load="false"> margin-huge-bottom>
<vn-card>
<vn-table model="model">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th shrink> <vn-th shrink>
@ -42,7 +43,7 @@
<vn-th></vn-th> <vn-th></vn-th>
<vn-th field="id" number>Id</vn-th> <vn-th field="id" number>Id</vn-th>
<vn-th field="salesPerson">Salesperson</vn-th> <vn-th field="salesPerson">Salesperson</vn-th>
<vn-th field="shipped" default-order="DESC">Date</vn-th> <vn-th field="shipped">Date</vn-th>
<vn-th>Hour</vn-th> <vn-th>Hour</vn-th>
<vn-th field="nickname">Alias</vn-th> <vn-th field="nickname">Alias</vn-th>
<vn-th field="province">Province</vn-th> <vn-th field="province">Province</vn-th>
@ -142,8 +143,8 @@
</a> </a>
</vn-tbody> </vn-tbody>
</vn-table> </vn-table>
</vn-card> </vn-card>
<vn-pagination model="model"></vn-pagination> </vn-data-viewer>
</div> </div>
<a ui-sref="ticket.create" vn-tooltip="New ticket" vn-bind="+" fixed-bottom-right> <a ui-sref="ticket.create" vn-tooltip="New ticket" vn-bind="+" fixed-bottom-right>
<vn-float-button icon="add"></vn-float-button> <vn-float-button icon="add"></vn-float-button>

View File

@ -10,7 +10,6 @@ vn-ticket-index {
color: initial; color: initial;
} }
} }
vn-searchbar { vn-searchbar {
width: 100% width: 100%
} }

View File

@ -3,23 +3,24 @@
url="/travel/api/Travels" url="/travel/api/Travels"
filter="::$ctrl.filter" filter="::$ctrl.filter"
limit="20" limit="20"
data="travels" data="travels">
auto-load="false">
</vn-crud-model> </vn-crud-model>
<div class="content-block"> <div class="content-block">
<div class="vn-list"> <vn-card pad-medium-h class="vn-w-sm">
<vn-card pad-medium-h> <vn-searchbar
<vn-searchbar panel="vn-travel-search-panel"
panel="vn-travel-search-panel" model="model"
model="model" expr-builder="$ctrl.exprBuilder(param, value)"
expr-builder="$ctrl.exprBuilder(param, value)" info="Search travels by id"
info="Search travels by id" vn-focus>
vn-focus> </vn-searchbar>
</vn-searchbar> </vn-card>
</vn-card> <vn-data-viewer
</div> model="model"
<vn-card margin-medium-v> class="vn-w-lg"
<vn-table model="model" auto-load="false"> margin-medium-v>
<vn-card>
<vn-table model="model">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th field="id" number>Id</vn-th> <vn-th field="id" number>Id</vn-th>
@ -50,6 +51,6 @@
</vn-tbody> </vn-tbody>
</vn-table> </vn-table>
</vn-card> </vn-card>
<vn-pagination model="model"></vn-pagination> </vn-data-viewer>
</div> </div>
<vn-scroll-up></vn-scroll-up> <vn-scroll-up></vn-scroll-up>

View File

@ -5,72 +5,70 @@
order="id" order="id"
data="workers"> data="workers">
</vn-crud-model> </vn-crud-model>
<div class="content-block"> <div class="content-block vn-w-sm">
<div class="vn-list"> <vn-card pad-medium-h>
<vn-card pad-medium-h> <vn-horizontal>
<vn-searchbar
style="width: 100%"
panel="vn-worker-search-panel"
on-search="$ctrl.onSearch($params)"
info="Search workers by id, firstName, lastName or user name"
vn-focus>
</vn-searchbar>
<vn-icon-menu
vn-id="more-button"
icon="more_vert"
show-filter="false"
value-field="callback"
translate-fields="['name']"
data="$ctrl.moreOptions"
on-change="$ctrl.onMoreChange(value)">
</vn-icon-menu>
</vn-horizontal>
</vn-card>
<vn-data-viewer
model="model"
margin-medium-v>
<vn-card>
<div class="vn-list">
<a
ng-repeat="worker in workers track by worker.id"
ui-sref="worker.card.summary({id: worker.id})"
translate-attr="{title: 'View worker'}"
class="vn-list-item searchResult">
<vn-horizontal> <vn-horizontal>
<vn-searchbar <vn-one>
style="width: 100%" <h6>{{::worker.nickname}}</h6>
panel="vn-worker-search-panel" <vn-label-value label="Id"
on-search="$ctrl.onSearch($params)" value="{{::worker.id}}">
info="Search workers by id, firstName, lastName or user name" </vn-label-value>
vn-focus> <vn-label-value label="User"
</vn-searchbar> value="{{::worker.userName}}">
<vn-icon-menu </vn-label-value>
vn-id="more-button" <vn-label-value label="Email"
icon="more_vert" value="{{::worker.email}}">
show-filter="false" </vn-label-value>
value-field="callback" <vn-label-value label="Department"
translate-fields="['name']" value="{{::worker.department}}">
data="$ctrl.moreOptions" </vn-label-value>
on-change="$ctrl.onMoreChange(value)"> </vn-one>
</vn-icon-menu> <vn-horizontal class="buttons">
</vn-horizontal> <vn-icon-button
</vn-card> ng-click="$ctrl.preview($event, worker)"
<vn-card margin-medium-v> vn-tooltip="Preview"
<a icon="desktop_windows">
ng-repeat="worker in workers track by worker.id" </vn-icon-button>
ui-sref="worker.card.summary({id: worker.id})"
translate-attr="{title: 'View worker'}"
class="vn-list-item searchResult">
<vn-horizontal>
<vn-one>
<h6>{{::worker.nickname}}</h6>
<vn-label-value label="Id"
value="{{::worker.id}}">
</vn-label-value>
<vn-label-value label="User"
value="{{::worker.userName}}">
</vn-label-value>
<vn-label-value label="Email"
value="{{::worker.email}}">
</vn-label-value>
<vn-label-value label="Department"
value="{{::worker.department}}">
</vn-label-value>
</vn-one>
<vn-horizontal class="buttons">
<vn-icon-button
ng-click="$ctrl.preview($event, worker)"
vn-tooltip="Preview"
icon="desktop_windows">
</vn-icon-button>
</vn-horizontal>
</vn-horizontal> </vn-horizontal>
</a> </vn-horizontal>
<vn-empty-rows translate ng-if="model.data.length === 0"> </a>
No results </vn-card>
</vn-empty-rows> </vn-data-viewer>
<vn-empty-rows translate ng-if="model.data === null">
Enter a new search
</vn-empty-rows>
</vn-card>
<vn-pagination model="model"></vn-pagination>
</div>
</div> </div>
<vn-dialog vn-id="preview" class="dialog-summary"> <vn-dialog vn-id="preview" class="dialog-summary">
<tpl-body> <tpl-body>
<vn-worker-summary worker="$ctrl.selectedWorker"></vn-worker-summary> <vn-worker-summary
worker="$ctrl.selectedWorker">
</vn-worker-summary>
</tpl-body> </tpl-body>
</vn-dialog> </vn-dialog>
<vn-scroll-up></vn-scroll-up> <vn-scroll-up></vn-scroll-up>