1
|
<div class="panel panel-default">
|
2
|
<div class="panel-heading">
|
3
|
<div class="row">
|
4
|
<div class="col-xs-6">
|
5
|
<h4>{{currentRepoName}}</h4>
|
6
|
</div>
|
7
|
<div class="col-xs-6">
|
8
|
<div class="pull-right">
|
9
|
<button class="btn btn-sm btn-primary" type="button" data-toggle="modal" data-target="#editAccessParamsModal">edit access params</button>
|
10
|
<button class="btn btn-sm btn-primary" type="button" data-toggle="modal" data-target="#editExtraFieldsModal">edit extra fields</button>
|
11
|
<button class="btn btn-sm btn-default btnRefreshApi" type="button" ng-click="loadApi()"><span class="glyphicon glyphicon-refresh"></span></button>
|
12
|
<button class="btn btn-sm btn-default" type="button" onclick="history.go(-1);">back</button>
|
13
|
</div>
|
14
|
</div>
|
15
|
</div>
|
16
|
<table class="table" style="font-size: 11px">
|
17
|
<tr>
|
18
|
<th class="col-xs-2">API protocol</th>
|
19
|
<td class="col-xs-10">
|
20
|
{{currentRepoApi.protocol}}
|
21
|
<button type="button" class="btn btn-primary btn-xs" style="margin-left: 20px" ng-click="testOAI(currentRepoApi.accessParams)" ng-show="currentRepoApi.protocol == 'oai'">verify</button>
|
22
|
</td>
|
23
|
<tr>
|
24
|
<tr ng-repeat="p in currentRepoApi.commonParams">
|
25
|
<th class="col-xs-2">API {{p.name}}</th>
|
26
|
<td class="col-xs-10">
|
27
|
<span ng-hide="p.name == 'compliance'">{{p.value}}</span>
|
28
|
|
29
|
<div class="btn-group" ng-show="p.name == 'compliance'">
|
30
|
<button type="button" data-toggle="dropdown" style="width: 200px;" class="btn btn-sm dropdown-toggle" ng-class="{ 'btn-primary' : !p.otherValue, 'btn-warning' : p.otherValue }">
|
31
|
<div class="pull-left"><b>{{p.value}}</b>
|
32
|
<span ng-show="p.otherValue"> (override)</span>
|
33
|
<span ng-hide="p.otherValue"> (by validator)</span>
|
34
|
</div>
|
35
|
<div class="pull-right"><span class="caret"></span></div>
|
36
|
</button>
|
37
|
<ul class="dropdown-menu" role="menu">
|
38
|
<li role="presentation" ng-repeat="l in compatibilityLevels">
|
39
|
<a role="menuitem" tabindex="-1" href="javascript:void(0)" ng-click="overrideApiCompliance(l.id)">override to <b>{{l.id}}</b> (<i>{{l.name}}</i>)</a>
|
40
|
</li>
|
41
|
<li class="divider" role="presentation" ng-show="p.otherValue"></li>
|
42
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="javascript:void(0)" ng-show="p.otherValue" ng-click="resetApiCompliance()">reset to the validator value: <b>{{p.otherValue}}</b></a></li>
|
43
|
</ul>
|
44
|
</div>
|
45
|
</td>
|
46
|
<tr>
|
47
|
</table>
|
48
|
</div>
|
49
|
|
50
|
<div class="panel-body" ng-hide="currentRepoApi.metaWFs.length != 0">
|
51
|
<p><span class="label label-warning" style="padding: 5px">Missing Workflow</span></p>
|
52
|
</div>
|
53
|
|
54
|
<table ng-show="currentRepoApi.metaWFs.length != 0" class="table table-striped">
|
55
|
<tr ng-repeat="m in currentRepoApi.metaWFs">
|
56
|
<td style="width: 40px">{{$index + 1}}</td>
|
57
|
<td>
|
58
|
<a href="ds_workflows.do?dsId={{currentRepoId}}&metaWf={{m.id}}" ng-hide="m.deleting">{{m.name}}</a>
|
59
|
<span class="muted" ng-show="m.deleting">{{m.name}}</span>
|
60
|
</td>
|
61
|
<td>
|
62
|
<span ng-hide="m.deleting">
|
63
|
<span class="label label-default" ng-show="m.status == 'MISSING'">Workflow is running</span>
|
64
|
<span class="label label-danger" ng-show="m.status == 'WAIT_USER_SETTINGS'">Manual configuration required</span>
|
65
|
<span class="label label-success" ng-show="m.status == 'EXECUTABLE'">Ready</span>
|
66
|
</span>
|
67
|
</td>
|
68
|
<td>
|
69
|
<button type="button" class="btn btn-danger btn-xs pull-right" ng-show="m.destroyWorkflow && !m.deleting" ng-click="destroyDataProviderWorkflow(m)">
|
70
|
<span class="glyphicon glyphicon-remove"></span> delete
|
71
|
</button>
|
72
|
<span class="muted pull-right" ng-show="m.deleting">deleting...</span>
|
73
|
</td>
|
74
|
</tr>
|
75
|
</table>
|
76
|
|
77
|
<div class="panel-footer">
|
78
|
<button class="btn btn-sm btn-primary btnRefreshApi" type="button" data-toggle="modal" data-target="#metaWfSelectionModal"><span class="glyphicon glyphicon-plus"></span> add metaworkflow</button>
|
79
|
</div>
|
80
|
</div>
|
81
|
|
82
|
<div id="metaWfSelectionModal" class="modal fade" tabindex="-1" role="dialog">
|
83
|
<div class="modal-dialog">
|
84
|
<div class="modal-content">
|
85
|
<div class="modal-header">
|
86
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
87
|
<h4 class="modal-title">Available MetaWorkflows for current API</h4>
|
88
|
</div>
|
89
|
<div class="modal-body">
|
90
|
<div class="panel panel-default" ng-repeat="e in availableRepohiWfs" ng-show="verifyMetaWf(currentRepoApi, e)">
|
91
|
<div class="panel-heading">
|
92
|
<a href="javascript:void(0)" data-dismiss="modal" ng-click="newDataProviderWorkflow(e.id)">{{e.name}}</a>
|
93
|
</div>
|
94
|
<div class="panel-body">
|
95
|
<strong>Typology prefixes: </strong>{{e.ifaceTypes.join()}}<br />
|
96
|
<strong>Compliance prefixes: </strong>{{e.compliances.join()}}
|
97
|
</div>
|
98
|
</div>
|
99
|
</div>
|
100
|
<div class="modal-footer">
|
101
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
102
|
</div>
|
103
|
</div>
|
104
|
</div>
|
105
|
</div>
|
106
|
|
107
|
<div id="editExtraFieldsModal" class="modal fade" tabindex="-1" role="dialog">
|
108
|
<div class="modal-dialog modal-lg">
|
109
|
<div class="modal-content">
|
110
|
<div class="modal-header">
|
111
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
112
|
<h4 class="modal-title">Extra fields</h4>
|
113
|
</div>
|
114
|
<div class="modal-body">
|
115
|
<div class="well">
|
116
|
<table class="table table-striped">
|
117
|
<thead>
|
118
|
<th>Field</th>
|
119
|
<th>Value</th>
|
120
|
</thead>
|
121
|
<tbody>
|
122
|
<tr ng-repeat="f in currentRepoApi.extraFields">
|
123
|
<td class="col-xs-4">
|
124
|
<input type="text" class="form-control" ng-model="f.name"/>
|
125
|
</td>
|
126
|
<td>
|
127
|
<input type="text" class="form-control" ng-model="f.value"/>
|
128
|
</td>
|
129
|
</tr>
|
130
|
</tbody>
|
131
|
</table>
|
132
|
</div>
|
133
|
</div>
|
134
|
<div class="modal-footer">
|
135
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
136
|
<button type="button" class="btn btn-primary" data-dismiss="modal" ng-click="updateRepoApi('extraFields', currentRepoApi.extraFields)">Save</button>
|
137
|
</div>
|
138
|
</div>
|
139
|
</div>
|
140
|
</div>
|
141
|
|
142
|
<div id="editAccessParamsModal" class="modal fade" tabindex="-1" role="dialog">
|
143
|
<div class="modal-dialog modal-lg">
|
144
|
<div class="modal-content">
|
145
|
<div class="modal-header">
|
146
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
147
|
<h4 class="modal-title">Access params (protocol: {{currentRepoApi.protocol}})</h4>
|
148
|
</div>
|
149
|
<div class="modal-body">
|
150
|
<div class="well">
|
151
|
<form class="form-horizontal" role="form">
|
152
|
<div class="form-group" ng-repeat="p in currentRepoApi.accessParams">
|
153
|
<label for="input_ap_{{p.name}}" class="col-sm-3 control-label">{{p.name}}</label>
|
154
|
<div class="col-sm-9" ng-hide="currentRepoApi.protocol == 'oai' && p.name == 'set'">
|
155
|
<input type="text" class="form-control" id="input_ap_{{p.name}}" ng-model="p.value"/>
|
156
|
</div>
|
157
|
<div class="col-sm-8" ng-show="currentRepoApi.protocol == 'oai' && p.name == 'set'">
|
158
|
<select class="form-control" style="font-size: 11px" size="10" multiple ng-model="selectedSets" ng-change="updateSets(selectedSets, currentRepoApi.accessParams)">
|
159
|
<option ng-repeat="set in currentSets" value="{{set.id}}" ng-selected="set.selected">{{set.name}}</option>
|
160
|
</select>
|
161
|
<button class="btn btn-xs btn-default" style="margin-top: 4px" ng-click="listSets(currentRepoApi.accessParams)"><span class="glyphicon glyphicon-refresh"></span></button>
|
162
|
</div>
|
163
|
</div>
|
164
|
</form>
|
165
|
</div>
|
166
|
</div>
|
167
|
<div class="modal-footer">
|
168
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
169
|
<button type="button" class="btn btn-primary" data-dismiss="modal" ng-click="updateRepoApi('accessParams', currentRepoApi.accessParams)">Save</button>
|
170
|
</div>
|
171
|
</div>
|
172
|
</div>
|
173
|
</div>
|
174
|
|
175
|
|