Project

General

Profile

1
<div class="row">
2
	<div class="col-xs-12">
3
		<div class="pull-right">
4
			<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>
5
			<button class="btn btn-sm btn-default btnRefreshApi" type="button" ng-click="loadApi()"><span class="glyphicon glyphicon-refresh"></span></button>
6
			<button class="btn btn-sm btn-default" type="button" onclick="history.go(-1);">back</button>
7
		</div>
8
	</div>
9
</div>
10

    
11
<div class="well" style="margin-top: 20px; margin-bottom: 20px">
12
	<div class="row">
13
		<div class="input-group input-group-sm col-xs-12" style="padding: 10px; float: left;">
14
	  		<span class="input-group-addon" style="width: 150px;"><b>Datasource</b></span>
15
			<div class="form-control">{{currentRepoApi.repoName}}
16
				<span class="pull-right" ng-show="currentRepoApi.repoCountry">
17
					<img ng-src="../resources/img/flags/{{currentRepoApi.repoCountry}}.gif" /> 
18
					{{currentRepoApi.repoCountry}}
19
				</span>
20
			</div>
21
			<span class="input-group-btn">
22
				<a href="isManager.do#/profile/{{currentRepoApi.repoId}}" class="btn btn-primary" title="xml profile"><span class="glyphicon glyphicon-link"></span></a>
23
				<button type="button" class="btn btn-primary" ng-click="showDetails(currentRepoApi.repoId, currentRepoApi.repoName)" title="info"><span class="glyphicon glyphicon-info-sign"></span></button>
24
			</span>
25
		</div>
26
		
27
		<div class="input-group input-group-sm col-xs-12 col-md-6" style="padding: 10px; float: left;">
28
			<span class="input-group-addon" style="width: 150px;"><b>API details</b></span>
29
			<span class="form-control" ng-repeat="p in currentRepoApi.commonParams" ng-hide="p.name == 'compliance'" style="white-space: nowrap;"><b>{{p.name}}:</b> {{p.value}}</span>
30
			<span class="form-control"><b>ns prefix:</b> {{currentRepoApi.repoPrefix}}</span>
31
			<span class="form-control" ng-show="currentRepoApi.otherParams.length > 0"><a href="javascript:void(0)" data-toggle="modal" data-target="#showOtherParamsModal">other details...</a></span>
32
		</div>
33
				
34
		<div class="input-group input-group-sm col-xs-12 col-md-6" style="padding: 10px; float: left;">
35
	  		<span class="input-group-addon" style="width: 150px;"><b>Protocol</b></span>
36
			<div class="form-control">
37
				{{currentRepoApi.protocol}}
38
				<span class="pull-right" ng-show="currentRepoApi.protocol == 'oai'">
39
					<a href="javascript:void(0)" ng-click="testOAI(currentRepoApi.accessParams)">verify</a>				
40
				</span>
41
			</div>
42
			<span class="input-group-btn">
43
				<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#editAccessParamsModal">access params</button>
44
			</span>
45
		</div>
46
		
47
		<div class="input-group input-group-sm col-xs-12 col-md-6" style="padding: 10px; float: left;" ng-repeat="p in currentRepoApi.commonParams" ng-show="p.name == 'compliance'">
48
			<span class="input-group-addon" style="width: 150px;"><b>Compliance</b></span>
49
			<span class="form-control" ng-show="p.otherValue" style="color: #c06a00">{{p.value}} (override)</span>
50
			<span class="form-control" ng-hide="p.otherValue">{{p.value}} (by validator)</span>
51
		
52
			<div class="input-group-btn">
53
				<button type="button" data-toggle="dropdown" class="btn btn-sm dropdown-toggle" ng-class="{ 'btn-primary' : !p.otherValue, 'btn-warning' : p.otherValue }">
54
					<span class="caret pull-right"></span>
55
				</button>
56
			    <ul class="dropdown-menu dropdown-menu-right" role="menu">
57
			        <li role="presentation" ng-repeat="l in compatibilityLevels">
58
			        	<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>
59
			        </li>
60
					<li class="divider" role="presentation" ng-show="p.otherValue"></li>
61
			        <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>
62
			    </ul>
63
			</div>
64
		</div>
65
			
66
		<div class="input-group input-group-sm col-xs-12 col-md-6" style="padding: 10px; float: left;">
67
	  		<span class="input-group-addon" style="width: 150px;"><b>Last aggregation</b></span>
68
	  		<ng-api-mdstore-info label="Collect" date="currentRepoApi.collDate" total="currentRepoApi.collTotal" id="currentRepoApi.collMdId"></ng-api-mdstore-info>	  		
69
	  		<ng-api-mdstore-info label="Transform" date="currentRepoApi.aggrDate" total="currentRepoApi.aggrTotal" id="currentRepoApi.aggrMdId"></ng-api-mdstore-info>
70
	  		<ng-api-objectstore-info label="Download" date="currentRepoApi.downloadDate" total="currentRepoApi.downloadTotal" id="currentRepoApi.downloadObjId"></ng-api-objectstore-info>
71
		</div>
72
		
73
	</div>
74
</div>
75
	
76
<div ng-hide="metaworkflows.length != 0" class="text-center" style="margin-top: 40px">
77
	<button class="btn btn-lg btn-primary btnRefreshApi" type="button" data-toggle="modal" data-target="#metaWfSelectionModal"><span class="glyphicon glyphicon-plus"></span> add first metaworkflow</button>
78
</div>
79

    
80
<div class="panel-group" id="accordion" ng-show="metaworkflows.length != 0">
81
	<div class="panel panel-default" ng-repeat="m in metaworkflows" style="overflow: visible;">
82
		<div class="panel-heading">
83
			<a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion" data-target="#collapse_{{m.id | limitTo: 36}}" ng-click="getMetaWorkflow(m.id)">
84
				<b>{{m.name}}</b>
85
			</a>
86
		</div>
87
		
88
		<div id="collapse_{{m.id | limitTo: 36}}" class="panel-collapse collapse out">
89
			<div class="panel-body" ng-show="m.deleting">
90
				<span class="muted" ng-show="m.deleting">deleting...</span>
91
			</div>
92

    
93
			<table class="table" id="metaWfTable" ng-hide="m.deleting">
94
				<thead>
95
					<tr>
96
						<th>Aggregation step</th>
97
						<th class="col-xs-2" style="white-space: nowrap;">Last execution date</th>
98
						<th class="col-xs-1 text-center">Last status</th>
99
						<th class="col-xs-1 text-center">Launch mode</th>
100
						<th class="col-xs-4 col-md-3 text-right">Actions</th>
101
					</tr>
102
				</thead>
103
				<tbody ng-bind-html="to_trusted(currentMetaWorkflow.html)" compile-template></tbody>
104
			</table>
105

    
106
			<div class="panel-footer" ng-hide="m.deleting">
107
				<form class="form-inline">
108
					<a href="isManager.do#/profile/{{currentMetaWorkflow.wfId}}" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-link"></span></a>
109
					<div class="btn-group">
110
						<button type="button" class="btn btn-default btn-sm" data-toggle="modal" data-target="#metaWfEditModal" ng-click="prepareMetaWfEdit()">configure</button>
111
						<button type="button" class="btn btn-default btn-sm" data-toggle="modal" ng-click="updateMetaWorkflowHistory()">history</button>
112
					</div>
113
					<button type="button" class="btn btn-danger btn-sm btnRefreshApi" ng-show="m.destroyWorkflow && !m.deleting" ng-click="destroyDataProviderWorkflow(m)">
114
						<span class="glyphicon glyphicon-remove"></span> delete
115
					</button>
116
				</form>
117
			</div>
118
		</div>
119
	</div>
120
</div>
121

    
122
<div id="metaWfSelectionModal" class="modal fade" tabindex="-1" role="dialog">
123
	<div class="modal-dialog modal-lg">
124
		<div class="modal-content">
125
			<div class="modal-header">
126
				<button type="button" class="close" data-dismiss="modal">&times;</button>
127
				<h4 class="modal-title">Available MetaWorkflows for current API</h4>
128
			</div>
129
			<div class="modal-body">
130
				<div class="panel panel-default" ng-repeat="e in availableRepohiWfs" ng-show="verifyMetaWf(currentRepoApi, e)">
131
					<div class="panel-heading">
132
						<a href="javascript:void(0)" data-dismiss="modal" ng-click="newDataProviderWorkflow(e.id)">{{e.name}}</a>
133
					</div>
134
					<div class="panel-body">
135
						<span ng-repeat="f in e.fields">
136
							<strong >{{f.k}}: </strong>{{f.v}}<br />
137
						</span>
138
						<strong>Typology prefixes: </strong>{{e.ifaceTypes.join()}}
139
						<br />
140
						<strong>Compliance prefixes: </strong>{{e.compliances.join()}}
141
						
142
					</div>
143
				</div>
144
			</div>
145
			<div class="modal-footer">
146
				<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
147
			</div>
148
		</div>
149
	</div>
150
</div>
151

    
152
<div id="editAccessParamsModal" class="modal fade" tabindex="-1" role="dialog">
153
	<div class="modal-dialog modal-lg">
154
		<div class="modal-content">
155
			<div class="modal-header">
156
				<button type="button" class="close" data-dismiss="modal">&times;</button>
157
				<h4 class="modal-title">Access params (protocol: {{currentRepoApi.protocol}})</h4>
158
			</div>
159
			<div class="modal-body">
160
				<div class="well">
161
					<form class="form-horizontal" role="form">
162
						<div class="form-group" ng-repeat="p in currentRepoApi.accessParams">
163
							<label for="input_ap_{{p.name}}" class="col-sm-3 control-label">{{p.name}}</label>
164
							<div class="col-sm-9" ng-hide="currentRepoApi.protocol == 'oai' && p.name == 'set'">
165
								<input type="text" class="form-control" id="input_ap_{{p.name}}" ng-model="p.value"/>
166
							</div>
167
							<div class="col-sm-8" ng-show="currentRepoApi.protocol == 'oai' && p.name == 'set'"> 
168
								<select class="form-control" style="font-size: 11px" size="10" multiple ng-model="selectedSets" ng-change="updateSets(selectedSets, currentRepoApi.accessParams)">
169
									<option ng-repeat="set in currentSets" value="{{set.id}}" ng-selected="set.selected">{{set.name}}</option>
170
								</select>
171
								<button class="btn btn-xs btn-default" style="margin-top: 4px" ng-click="listSets(currentRepoApi.accessParams)"><span class="glyphicon glyphicon-refresh"></span></button>
172
							</div>
173
  						</div>
174
					</form>
175
				</div>
176
			</div>
177
			<div class="modal-footer">
178
				<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
179
				<button type="button" class="btn btn-primary" data-dismiss="modal" ng-click="updateRepoApi(currentRepoApi.accessParams)">Save</button>
180
			</div>
181
		</div>
182
	</div>
183
</div>
184

    
185
<div id="showOtherParamsModal" class="modal fade" tabindex="-1" role="dialog">
186
	<div class="modal-dialog modal-lg">
187
		<div class="modal-content">
188
			<div class="modal-header">
189
				<button type="button" class="close" data-dismiss="modal">&times;</button>
190
				<h4 class="modal-title">Other parameters</h4>
191
			</div>
192
			<div class="modal-body">
193
				<div class="well">
194
					<table class="table table-bordered table-condensed">
195
						<thead>
196
							<th>
197
								<span>Name</span>
198
								<span class="pull-right">Value</span>
199
							</th>
200
						</thead>
201
						<tbody>
202
							<tr ng-repeat="p in currentRepoApi.otherParams">
203
								<td>
204
									<b>{{p.name}}</b>
205
									<span class="pull-right">{{p.value}}</span>
206
								</td>
207
							</tr>
208
						</tbody>
209
					</table>
210
				</div>
211
			</div>
212
			<div class="modal-footer">
213
				<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
214
			</div>
215
		</div>
216
	</div>
217
</div>
218

    
219

    
220
$ui/repos/repoDetails()$
221
$ui/workflows/common/atomwf()$
222
$ui/workflows/common/metawf_edit()$		
223
$ui/workflows/common/atomwf_edit()$
224
$ui/workflows/common/wf_monitor()$
225
$ui/workflows/common/wf_monitor_proc( backFunction={updateMetaWorkflowHistory()} )$
226
$ui/workflows/common/wf_monitor_proc_node()$
227
$ui/workflows/common/wf_journal_entry()$
(2-2/3)