1 <md-dialog aria-label="{{'YANGMAN_PARAMETERS_ADMINISTRATION'| translate}}" ng-cloak>
2 <form name="paramsAdmin.paramsForm">
4 <div class="md-toolbar-tools">
5 <h2>{{'YANGMAN_PARAMETERS_ADMINISTRATION'| translate}}</h2>
7 <md-button aria-label="{{'YANGMAN_CLOSE'| translate}}"
8 id="params-admin-close-cross"
9 ng-click="paramsAdmin.close()">
10 <md-icon class="material-icons clickable" >
13 <md-tooltip md-direction="bottom">{{'YANGMAN_CLOSE'| translate}}</md-tooltip>
17 <md-dialog-content class="paramsAdminDialog" layout="column">
18 <div class="md-dialog-content" layout="column">
19 <!-- top part for search and sort bar -->
20 <div class="paramsAdminDialog__searchBox" layout="row">
22 <!-- search icon, form, clear button -->
23 <md-icon class="material-icons">search</md-icon>
25 id="params-admin-search-field"
28 ng-change="paramsAdmin.filterChange()"
29 placeholder="{{'YANGMAN_SEARCH' | translate}}"
30 ng-model="paramsAdmin.search"
31 aria-invalid="false" />
32 <md-button aria-label="{{'YANGMAN_CLEAR_SEARCH'| translate}}"
33 id="params-admin-search-clear"
34 ng-click="paramsAdmin.clearFilter()"
35 ng-if="paramsAdmin.search">
36 <md-icon class="material-icons clickable" >
39 <md-tooltip md-direction="bottom">{{'YANGMAN_CLEAR_SEARCH'| translate}}</md-tooltip>
41 <!-- /search icon, form, clear button -->
44 <md-menu md-offset="35 15" layout-align="center start">
45 <md-button aria-label="{{'YANGMAN_SORT'| translate}}"
47 id="params-admin-sort-menu"
48 ng-click="$mdOpenMenu()">
49 <i class="material-icons">sort</i>
50 <md-tooltip md-direction="bottom">
51 {{'YANGMAN_SORTING' | translate}}
57 <md-button aria-label="{{'YANGMAN_PARAMS_KEY'| translate}}"
58 id="params-admin-sort-name-{{paramsAdmin.sortAsc ? 'desc' : 'asc'}}"
59 ng-click="paramsAdmin.sortBy('_name', '_value')">
60 {{'YANGMAN_SORT_BY'| translate}}
61 {{'YANGMAN_PARAMS_KEY'| translate}}
62 {{paramsAdmin.sortAsc ? 'YANGMAN_SORT_DESC' : 'YANGMAN_SORT_ASC' | translate}}
65 <!-- /sort by name -->
67 <!-- sort by value -->
69 <md-button aria-label="{{'YANGMAN_PARAMS_VALUE'| translate}}"
70 id="params-admin-sort-value-{{paramsAdmin.sortAsc ? 'desc' : 'asc'}}"
71 ng-click="paramsAdmin.sortBy('_value', '_name')">
72 {{'YANGMAN_SORT_BY'| translate}}
73 {{'YANGMAN_PARAMS_VALUE'| translate}}
74 {{paramsAdmin.sortAsc ? 'YANGMAN_SORT_DESC' : 'YANGMAN_SORT_ASC' | translate}}
77 <!-- /sort by value -->
81 <!-- /sorting menu -->
83 <!-- menu for import and export parameters -->
84 <input type="file" accept=".json" id="importParameters" on-read-file="paramsAdmin.importParameters($fileContent)">
85 <md-menu md-offset="35 15" layout-align="center start">
86 <md-button aria-label="{{ 'YANGMAN_PARAMS_IMPORT_EXPORT' | translate }}"
87 id="params-admin-import-export-menu"
88 ng-click="$mdOpenMenu()">
89 <i class="material-icons">import_export</i>
90 <md-tooltip md-direction="bottom">
91 {{ 'YANGMAN_PARAMS_IMPORT_EXPORT' | translate }}
96 <md-button id="params-admin-import-parameters">
97 <label for="importParameters">
98 {{'YANGMAN_IMPORT_PARAMS'| translate}}
103 <md-button aria-label="{{'YANGMAN_EXPORT_PARAMETERS' | translate}}"
104 id="params-admin-export-parameters"
105 ng-click="paramsAdmin.exportParameters()">
106 {{'YANGMAN_EXPORT_PARAMETERS' | translate}}
111 <!-- /menu for import and export parameters -->
115 <md-divider></md-divider>
116 <!-- /top part for search and sort bar -->
118 <!-- parameters list -->
119 <md-content class="paramsAdminDialog__paramsList scrollableY" layout="column">
122 ng-repeat="param in paramsAdmin.parametersList.list |
123 filter: paramsAdmin.filterParam |
124 orderBy: paramsAdmin.sortFunc : !paramsAdmin.sortAsc
128 <label>{{'YANGMAN_PARAM_KEY' | translate}}</label>
129 <input name="name_{{$index}}"
130 id="params-admin-list-name-{{$index}}"
131 ng-model="param.name"
132 ng-required="param.value"
133 ng-change="paramsAdmin.validateNamesUnique()"
134 ng-focus="$last && paramsAdmin.createEmptyParam()"
136 <div ng-messages="paramsAdmin.paramsForm['name_'+$index].$error" multiple md-auto-hide="false">
137 <div ng-message="required"
138 id="params-admin-name-required">
139 {{'YANGMAN_PARAM_KEY_REQUIRED'| translate}}
141 <div ng-message="unique"
142 id="params-admin-name-unique">
143 {{'YANGMAN_PARAM_EXISTING_KEY'| translate}}
146 </md-input-container>
147 <!-- / name input -->
150 <md-input-container flex>
151 <label>{{'YANGMAN_PARAM_VALUE' | translate}}</label>
152 <input ng-model="param.value"
153 id="params-admin-value-list-{{$index}}"
154 ng-focus="$last && paramsAdmin.createEmptyParam()">
155 </md-input-container>
156 <!-- /value input -->
158 <!-- remove param button -->
159 <md-button aria-label="{{'YANGMAN_REMOVE_PARAM' | translate}}"
160 id="params-admin-list-remove-{{$index}}"
163 ng-click="paramsAdmin.removeParam(param)">
164 <md-tooltip md-direction="bottom">
165 {{'YANGMAN_REMOVE_PARAM' | translate}}
167 <i class="material-icons">close</i>
169 <!-- /remove param button -->
174 <!-- /parameters list -->
178 <md-dialog-actions layout="row">
180 <md-button id="params-admin-close-button" ng-click="paramsAdmin.close()">
181 {{'YANGMAN_CLOSE'| translate}}
183 <md-button ng-click="paramsAdmin.save()"
184 id="params-admin-save-button"
185 ng-disabled="!paramsAdmin.paramsForm.$valid">
186 {{'YANGMAN_SAVE'| translate}}