Yangman - cleaned code
[dlux.git] / modules / yangman-resources / src / main / resources / yangman / views / rightpanel / request-header.tpl.html
1 <md-content layout="column" layout-wrap class="md-padding" ng-controller="RequestHeaderCtrl as requestHeader">
2     <section layout="row">
3         <!-- Methods selector -->
4         <md-input-container flex="initial">
5             <md-select ng-model="requestHeader.selectedOperation"
6                        md-on-close="requestHeader.setJsonView()"
7                        placeholder="{{'YANGMAN_SEL_METHOD' | translate}}">
8
9                 <md-option ng-value="operation" ng-repeat="operation in requestHeader.selectedOperationsList">
10                     {{ operation }}
11                 </md-option>
12             </md-select>
13         </md-input-container>
14
15         <!-- Request url input -->
16         <section flex layout="row" layout-wrap>
17             <md-input-container flex md-no-float ng-if="rightPanelSection === requestHeader.constants.DISPLAY_TYPE_REQ_DATA">
18                 <input type="text"
19                        ng-model="requestHeader.requestUrl"
20                        placeholder="{{'YANGMAN_REQ_URL' | translate}}"
21                        spellcheck="false">
22             </md-input-container>
23
24             <div ng-repeat="pathElem in selectedSubApi.pathArray"
25                  flex="nogrow"
26                  layout="row"
27                  ng-if="rightPanelSection === requestHeader.constants.DISPLAY_TYPE_FORM">
28
29                 <md-input-container flex="nogrow" md-no-float class="input-span nrp" >
30                     <span class="md-input" disabled>
31                         {{(pathElem.moduleChanged ? '/' + pathElem.module + ':' : '/') + pathElem.name}}
32                         {{pathElem.hasIdentifier() ? '/' : ''}}
33                     </span>
34                 </md-input-container>
35
36                 <!-- Identifier's inputs -->
37                 <md-input-container flex="nogrow" md-no-float
38                                     ng-repeat="identifier in pathElem.identifiers"
39                                     ng-show="pathElem.hasIdentifier()"
40                                     layout="column"
41                                     class="nrp">
42
43                     <input type="text"
44                            class="input-identifier"
45                            ng-change="requestHeader.fillNodeData(pathElem, identifier)"
46                            ng-model="identifier.value"
47                            aria-label="{{identifier.value}}"
48                            ng-class="{'md-has-error': !identifier.value.length}"
49                            spellcheck="false">
50                     <!-- input error message -->
51                     <div ng-show="!identifier.value.length" class="md-custom-error">
52                         {{'YANGMAN_INPUT_REQUIRED' | translate}}
53                     </div>
54                 </md-input-container>
55             </div>
56
57             <md-input-container flex md-no-float
58                                 ng-if="rightPanelSection === requestHeader.constants.DISPLAY_TYPE_FORM"
59                                 class="input-span">
60
61                 <input type="text"
62                        placeholder="{{!selectedSubApi ? ('YANGMAN_REQ_URL' | translate) : ''}}"
63                        ng-disabled="true">
64             </md-input-container>
65         </section>
66
67         <!-- Action buttons -->
68         <md-input-container flex="nogrow" layout="row" layout-align="start start" class="action-buttons">
69             <!-- Execute action button -->
70             <md-button class="md-raised md-primary has-progress"
71                        ng-click="requestHeader.prepareDataAndExecute(
72                             main.modulesTreeDisplayed() ? main.leftPanelShowModule : null
73                        )">
74                 {{'YANGMAN_SEND' | translate}}
75             </md-button>
76
77             <!-- Save request -->
78             <md-button class="md-raised md-warn" ng-click="requestHeader.saveRequestToCollection($event)">
79                 {{'YANGMAN_SAVE' | translate}}
80             </md-button>
81
82             <!-- Parameters button -->
83             <md-button class="md-raised" ng-click="requestHeader.showParamsAdmin($event)">
84                 {{'YANGMAN_PARAMETERS' | translate}}
85             </md-button>
86
87             <!-- sub api custom functionality menu -->
88             <md-menu ng-show="selectedSubApi.custFunct.length || requestHeader.selectedPluginsButtons.length">
89                 <md-button aria-label="Open demo menu" class="md-icon-button" ng-click="$mdOpenMenu($event)">
90                     <md-icon md-font-set="material-icons">more_vert</md-icon>
91                     <md-tooltip md-direction="top">{{ 'YANGMAN_PLUGINS_MENU' | translate}}</md-tooltip>
92                 </md-button>
93
94                 <md-menu-content>
95                     <!-- plugins buttons -->
96                     <md-menu-item ng-repeat="pluginFunctionality in selectedSubApi.custFunct"
97                                   ng-hide="requestHeader.selectedPlugin">
98                         <md-button ng-click="requestHeader.executePluginFunctionality(pluginFunctionality)">
99                             {{ pluginFunctionality.label | translate }}
100                         </md-button>
101                     </md-menu-item>
102
103                     <!-- plugin own buttons -->
104                     <md-menu-item ng-repeat="button in requestHeader.selectedPluginsButtons" ng-show="button.show()">
105                         <md-button ng-click="button.onclick()">
106                             {{ button.label | translate }}
107                         </md-button>
108                     </md-menu-item>
109                 </md-menu-content>
110             </md-menu>
111         </md-input-container>
112     </section>
113
114     <md-divider flex="grow"></md-divider>
115
116     <section layout="row" layout-align="center center" class="status-bar">
117         <!-- Data type switcher - radio button -->
118         <md-radio-group ng-model="requestHeader.selectedShownDataType"
119                         class="type-switcher"
120                         flex="50"
121                         layout="row"
122                         layout-align="start center"
123                         ng-change="requestHeader.changeDataType()">
124             <md-radio-button value="form" aria-label="{{'YANGMAN_FORM' | translate}}">
125                 {{'YANGMAN_FORM' | translate}}
126             </md-radio-button>
127
128             <md-radio-button value="req-data" aria-label="{{'YANGMAN_JSON' | translate}}">
129                 {{'YANGMAN_JSON' | translate}}
130             </md-radio-button>
131         </md-radio-group>
132
133         <!-- Request info box -->
134         <md-content flex="50"
135                     layout="row"
136                     layout-align="end center"
137                     class="status-text">
138
139             <!-- Status -->
140             <span flex="30">
141                 {{'YANGMAN_STATUS' | translate}}:
142                 <span ng-if="requestHeader.statusObj">
143                     {{requestHeader.statusObj.status}} {{requestHeader.statusObj.statusText}}
144                 </span>
145             </span>
146
147             <!-- Request time -->
148             <span flex="30">
149                 {{'YANGMAN_TIME' | translate}}:
150                 <span ng-if="requestHeader.statusObj && requestHeader.statusObj.time">
151                     {{requestHeader.statusObj.time}} ms
152                 </span>
153             </span>
154         </md-content>
155     </section>
156 </md-content>
157 <md-progress-linear md-mode="indeterminate" ng-show="main.executingRequestProgress"></md-progress-linear>