salix/modules/client/front/notification/index.html

160 lines
5.7 KiB
HTML

<vn-crud-model
vn-id="model"
url="Clients"
limit="20">
</vn-crud-model>
<vn-portal slot="topbar">
<vn-searchbar
vn-focus
panel="vn-client-search-panel"
placeholder="Search client"
info="Search client by id or name"
auto-state="false"
model="model"
expr-builder="$ctrl.exprBuilder(param, value)">
</vn-searchbar>
</vn-portal>
<vn-card>
<smart-table
model="model"
options="$ctrl.smartTableOptions"
expr-builder="$ctrl.exprBuilder(param, value)">
<slot-actions>
<vn-button disabled="$ctrl.checked.length === 0"
icon="show_chart"
ng-click="filters.show($event)"
vn-tooltip="Campaign consumption">
</vn-button>
</slot-actions>
<slot-table>
<table>
<thead>
<tr>
<th shrink>
<vn-multi-check
model="model"
check-field="$checked">
</vn-multi-check>
</th>
<th field="id">
<span translate>Identifier</span>
</th>
<th field="socialName">
<span translate>Social name</span>
</th>
<th field="city">
<span translate>City</span>
</th>
<th field="phone">
<span translate>Phone</span>
</th>
<th field="email">
<span translate>Email</span>
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="client in model.data"
vn-anchor="::{
state: 'item.card.summary',
params: {id: item.id}
}">
<td>
<vn-check
ng-model="client.$checked"
vn-click-stop>
</vn-check>
</td>
<td>
<span
vn-click-stop="clientDescriptor.show($event, client.id)"
class="link">
{{::client.id}}
</span>
</td>
<td>{{::client.socialName}}</td>
<td>{{::client.city}}</td>
<td>{{::client.phone}}</td>
<td>{{::client.email}}</td>
</tr>
</tbody>
</table>
</slot-table>
</smart-table>
</vn-card>
<vn-client-descriptor-popover
vn-id="clientDescriptor">
</vn-client-descriptor-popover>
<vn-popover vn-id="filters">
<div class="vn-pa-lg">
<form ng-submit="$ctrl.onSendClientConsumption()">
<vn-horizontal><h4 translate>Campaign consumption</h4></vn-horizontal>
<vn-horizontal>
<vn-autocomplete vn-one
url="Campaigns/latest"
label="Campaign"
translate-fields="['code']"
show-field="code"
value-field="id"
ng-model="$ctrl.campaign.id"
order="dated DESC"
selection="$ctrl.campaignSelection"
search-function="{dated: {like: '%'+ $search +'%'}}">
<tpl-item>
{{code}} {{dated | date: 'yyyy'}}
</tpl-item>
</vn-autocomplete>
</vn-horizontal>
<vn-horizontal>
<vn-date-picker
vn-one
label="From"
ng-model="$ctrl.campaign.from"
on-change="$ctrl.onChangeDate(value)">
</vn-date-picker>
<vn-date-picker
vn-one
label="To"
ng-model="$ctrl.campaign.to"
on-change="$ctrl.onChangeDate(value)">
</vn-date-picker>
</vn-horizontal>
<vn-horizontal class="vn-mt-lg">
<vn-submit label="Send"></vn-submit>
</vn-horizontal>
</form>
</div>
</vn-popover>
<vn-contextmenu vn-id="contextmenu" targets="['smart-table']" model="model"
expr-builder="$ctrl.exprBuilder(param, value)">
<slot-menu>
<vn-item translate
ng-if="contextmenu.isFilterAllowed()"
ng-click="contextmenu.filterBySelection()">
Filter by selection
</vn-item>
<vn-item translate
ng-if="contextmenu.isFilterAllowed()"
ng-click="contextmenu.excludeSelection()">
Exclude selection
</vn-item>
<vn-item translate
ng-if="contextmenu.isFilterAllowed()"
ng-click="contextmenu.removeFilter()">
Remove filter
</vn-item>
<vn-item translate
ng-click="contextmenu.removeAllFilters()">
Remove all filters
</vn-item>
<vn-item translate
ng-if="contextmenu.isActionAllowed()"
ng-click="contextmenu.copyValue()">
Copy value
</vn-item>
</slot-menu>
</vn-contextmenu>
<vn-client-descriptor-popover
vn-id="clientDescriptor">
</vn-client-descriptor-popover>