Select Git revision
advancedselect.html
advancedselect.html 16.06 KiB
<div id="vmap-advancedselect-tool"></div>
<div class="basic-tools-select-container basic-tools-dropdown-menu">
<!--Palette d'interrogation-->
<div id="basictools-select-select-palette" ng-show="vmapScope.sizeOf(ctrl.oQueryableBOs) > 0">
<div class="btn-group btn-block">
<button type="button"
class="btn btn-sm btn-info"
style="width: 80%"
ng-class="{'white color-gray': ctrl.currentAction === 'basicTools-selectByPoint' || ctrl.currentAction === 'basicTools-selectByLineString' || ctrl.currentAction === 'basicTools-selectByPolygon' || ctrl.currentAction === 'basicTools-selectByCircle'}"
ng-click="ctrl.selectGeomType !== '' ? ctrl.startSelection(ctrl.selectGeomType, ctrl.currentAction === 'basicTools-selectBy' + ctrl.selectGeomType) : angular.noop">
{{ 'VMAP_ADVANCEDSELECT_GRAPHIC_SELECTION' | translate }}
</button>
<button type="button"
class="btn btn-sm btn-default dropdown-toggle"
style="width: 20%"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">
<span class="icon-point" ng-show="ctrl.selectGeomType === 'Point'"></span>
<span class="icon-multipoint" ng-show="ctrl.selectGeomType === 'MultiPoint'"></span>
<span class="icon-line" ng-show="ctrl.selectGeomType === 'LineString'"></span>
<span class="icon-polygon" ng-show="ctrl.selectGeomType === 'Polygon'"></span>
<span class="icon-circle" ng-show="ctrl.selectGeomType === 'Circle'"></span>
</button>
<ul class="dropdown-menu">
<li><a href="javascript:void(0)"
ng-click="ctrl.selectGeomType = 'Point'; ctrl.startSelection('Point', false)">
<span class="icon-point"></span>
{{ 'VMAP_POINT' | translate }}
</a></li>
<li><a href="javascript:void(0)"
ng-click="ctrl.selectGeomType = 'MultiPoint'; ctrl.startSelection('MultiPoint', false)">
<span class="icon-multipoint"></span>
{{ 'VMAP_MULTI_POINT' | translate }}
</a></li>
<li><a href="javascript:void(0)"
ng-click="ctrl.selectGeomType = 'LineString'; ctrl.startSelection('LineString', false)">
<span class="icon-line"></span>
{{ 'VMAP_LINE' | translate }}
</a></li>
<li><a href="javascript:void(0)"
ng-click="ctrl.selectGeomType = 'Polygon'; ctrl.startSelection('Polygon', false)">
<span class="icon-polygon"></span>
{{ 'VMAP_POLYGON' | translate }}
</a></li>
<li><a href="javascript:void(0)"
ng-click="ctrl.selectGeomType = 'Circle'; ctrl.startSelection('Circle', false)">
<span class="icon-circle"></span>
{{ 'VMAP_CIRCLE' | translate }}
</a></li>
</ul>
</div>
<div class="margin-10"></div>
<!--Bouton Requêteur-->
<div style="text-align: center">
<button type="button"
class="btn btn-info btn-sm btn-block"
ng-click="ctrl.displaySelectionTable(ctrl.aSelections)">
<span class="icon-format_list_bulleted margin-sides-2"></span>
{{ 'VMAP_ADVANCEDSELECT_REQUESTER' | translate }}
</button>
</div>
</div>
<div ng-show="!vmapScope.sizeOf(ctrl.oQueryableBOs) > 0">
<label class="margin-10 margin-sides-10">
{{ 'VMAP_ADVANCEDSELECT_NO_OBJECT' | translate }}
</label>
</div>
</div>
<!--Select list modal-->
<div class="modal fade" id="select-list-modal" role="dialog">
<div class="modal-dialog modal-xl">
<!--Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title"><span class="icon-format_list_bulleted margin-sides-5"></span> {{ 'VMAP_ADVANCEDSELECT_REQUESTER' | translate }}</h4>
</div>
<div class="modal-body modal-body-big">
<div class="row" style="height: 100%;">
<!--Menu-->
<div class="col-md-2">
<ul class="nav nav-pills nav-stacked" style="width: 180px">
<!--Boutons du menu-->
<li data-toggle="pill"
id="select_modal_tab_{{bo.business_object_id}}"
class="list-group-item list-group-item-modal"
ng-repeat="bo in ctrl.oBusinessObjects| orderObjectBy:'title'"
ng-class="{'active': ctrl.sSelectedBo === bo.business_object_id}"
ng-click="ctrl.sSelectedBo = bo.business_object_id">
<span ng-show="ctrl.tableSelectionMetadata[bo.business_object_id]['total_row_number'] !== undefined">
{{bo.title}} ({{ctrl.tableSelectionMetadata[bo.business_object_id]['total_row_number']}})
</span>
<span ng-show="ctrl.tableSelectionMetadata[bo.business_object_id]['total_row_number'] === undefined">
{{bo.title}} (0)
</span>
</li>
</ul>
</div>
<!--Workspace-->
<div class="col-md-10" style="height: 100%;">
<!--Tables-->
<div ng-repeat="(bo_id, bo) in ctrl.oBusinessObjects"
ng-show="ctrl.sSelectedBo === bo_id"
class="mapmodal-element">
<!--Search Form reader-->
<div id="select_search_form_reader_{{bo_id}}"
app-form-reader
app-properties="ctrl.properties"
app-token="ctrl.token"></div>
<!--Table-->
<div class="select_modal_table_container">
<table id="select_table_{{bo_id}}"
class="select_modal_table"
data-toggle="table"
data-search="false"
data-escape="false"
data-show-columns="false"
data-classes="table table-hover table-condensed"
data-striped="true"
data-click-to-select="true"
data-show-export="false">
<thead>
<tr>
<th data-field="state" data-checkbox="true"></th>
<th class="col-btn" data-field="action" data-formatter="nsVmap.nsToolsManager.AdvancedSelect.selectTableFormatter" data-events="selectTableEvents"></th>
<th ng-repeat="(key, value) in bo.list_fields"
ng-if="value !== 'bo_selection_'"
data-field="{{value}}"
data-escape="false"
data-sortable="true">{{value}}</th>
<th data-field="bo_selection_" data-visible="false"></th>
</tr>
</thead>
</table>
</div>
<div class="select_modal_table_buttons">
<div class="col-md-4 col-sm-12 col-xs-12">
<div class="input-group input-group-sm"
ng-show="ctrl.tableSelectionMetadata[bo.business_object_id]['total_pages'] > 1"
ng-init="ctrl.initTablePage(bo_id)">
<button class="btn input-group-addon" data-pager-action="previous"
ng-click="ctrl.goTablePage(bo_id, ctrl.tableSelectionMetadata[bo_id].current_page - 1)"
ng-disabled="ctrl.tableSelectionMetadata[bo_id].current_page < 2">
<i class="glyphicon glyphicon-triangle-left"></i>
</button>
<input type="number"
class="form-control"
style="width: 50px;float: none;"
data-pager-action="pagenum"
ng-model="ctrl.tableSelectionMetadata[bo_id].current_page"
ng-change="ctrl.goTablePageWithTimeout(bo_id, ctrl.tableSelectionMetadata[bo_id].current_page)">
<input type="number"
class="form-control"
style="width: 50px;float: none;"
data-pager-action="pagenum"
disabled
ng-model="ctrl.tableSelectionMetadata[bo_id].total_pages">
<button class="btn input-group-addon" data-pager-action="next"
ng-click="ctrl.goTablePage(bo_id, ctrl.tableSelectionMetadata[bo_id].current_page + 1)"
ng-disabled="ctrl.tableSelectionMetadata[bo_id].current_page == ctrl.tableSelectionMetadata[bo_id].total_pages">
<i class="glyphicon glyphicon-triangle-right"></i>
</button>
</div>
</div>
<div class="col-xs-8" style="text-align: right">
<button class="btn btn-default" ng-click="ctrl.tableDeleteSelection('#select_table_' + bo_id)" ng-show="bo.user_rights.indexOf('DELETE') !== -1">
<span class="icon-trash"></span>
{{ 'VMAP_ADVANCEDSELECT_DELETE_RECORDINGS' | translate }}
</button>
<button class="btn btn-default" ng-click="ctrl.tableAddToCard('#select_table_' + bo_id, false)">
<span class="icon-shopping_basket"></span>
{{ 'VMAP_ADVANCEDSELECT_ADD_BASKET' | translate }}
</button>
<button class="btn btn-default" ng-click="ctrl.tableAddToCard('#select_table_' + bo_id, true)">
<span class="glyphicon glyphicon-repeat"></span>
{{ 'VMAP_ADVANCEDSELECT_REPLACE_BASKET' | translate }}
</button>
<div class="export btn-group dropup">
<button class="btn btn-default dropdown-toggle" aria-label="export type" title="Export data" data-toggle="dropdown" type="button">
<i class="glyphicon glyphicon-export icon-share"></i>
{{ 'VMAP_EXPORT' | translate }}
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li role="menuitem" data-type="json" ng-click="ctrl.exportTable(bo_id, '#select_table_' + bo_id, 'json')"><a href="javascript:void(0)">JSON</a></li>
<li role="menuitem" data-type="csv" ng-click="ctrl.exportTable(bo_id, '#select_table_' + bo_id, 'csv')"><a href="javascript:void(0)">CSV</a></li>
<li role="menuitem" data-type="excel" ng-click="ctrl.exportTable(bo_id, '#select_table_' + bo_id, 'xlsx')"><a href="javascript:void(0)">MS-Excel</a></li>
<li ng-if="ctrl.bGTFExport" role="menuitem" data-type="excel" ng-click="ctrl.exportTable(bo_id, '#select_table_' + bo_id, 'gtf')"><a href="javascript:void(0)">{{ 'VMAP_ADVANCEDSELECT_OTHER_FORMATS' | translate }}</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!--GTF export form modal-->
<div class="modal fade" id="vmap-gtf-export-form-modal">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title"><span class="glyphicon glyphicon-export icon-share margin-sides-5"></span>{{ 'VMAP_ADVANCEDSELECT_EXPORT_REQUEST' | translate }}</h4>
</div>
<div class="modal-body">
<form id="vmap-gtf-export-form" ng-submit="ctrl.submitGtfExportFormModal(ctrl.oGTFExportAttibutes)">
<div class="form-group">
<label for="vmap-gtf-export-form-format">{{ 'VMAP_ADVANCEDSELECT_EXPORT_FORMAT' | translate }}</label>
<select id="vmap-gtf-export-form-format"
class="form-control"
ng-model="ctrl.oGTFExportAttibutes.format"
ng-options="item.value as item.label for item in ctrl.gtf_export_formats"
ng-required="true"></select>
</div>
<div class="form-group">
<label for="vmap-gtf-export-form-coordsys">{{ 'VMAP_ADVANCEDSELECT_EXPORT_SRID' | translate }}</label>
<select id="vmap-gtf-export-form-coordsys"
class="form-control"
ng-model="ctrl.oGTFExportAttibutes.coordsys"
ng-options="item.value as item.label for item in ctrl.gtf_export_coordsys"
ng-required="true"></select>
</div>
<div class="form-group">
<label for="vmap-gtf-export-form-mails">{{ 'VMAP_ADVANCEDSELECT_EXPORT_MAIL' | translate }}</label>
<input type="text" class="form-control" id="vmap-gtf-export-form-mails" placeholder="ex: john.doe@veremes.com;armand@gmail.com" ng-model="ctrl.oGTFExportAttibutes.mails" required>
</div>
</form>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary" form="vmap-gtf-export-form">{{ 'VMAP_ADVANCEDSELECT_EXPORT_SEND' | translate }}</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ 'VMAP_CANCEL' | translate }}</button>
</div>
</div>
</div>
</div>