1
|
<div class="row" style="height: 5em">
|
2
|
<div class="col-xl-8 col-lg-10">
|
3
|
<div class="alert alert-success" ng-if="message">{{message}}</div>
|
4
|
<p class="text-muted" ng-if="orgId && !message">
|
5
|
<b>ID: </b>{{orgId}}<br />
|
6
|
<b>Created at</b> {{org.creationDate | date:'MMMM d, y HH:mm:ss'}} <b>by</b> {{org.createdBy}}<br />
|
7
|
<b>Modified at</b> {{org.modificationDate | date:'MMMM d, y HH:mm:ss'}} <b>by</b> {{org.modifiedBy}}
|
8
|
</p>
|
9
|
</div>
|
10
|
</div>
|
11
|
|
12
|
<div class="row">
|
13
|
<div class="col-xl-8 col-lg-10">
|
14
|
<div class="card">
|
15
|
<div class="card-header">
|
16
|
<ul class="nav nav-tabs card-header-tabs">
|
17
|
<li class="nav-item">
|
18
|
<a href="javascript:void(0)" class="nav-link active">Metadata</a>
|
19
|
</li>
|
20
|
<li class="nav-item" ng-if="orgId">
|
21
|
<a href="#!/relations/{{orgId}}" class="nav-link">Relations</a>
|
22
|
</li>
|
23
|
<li class="nav-item" ng-if="orgId">
|
24
|
<a href="#!/enrichments/{{orgId}}" class="nav-link">Enrichments</a>
|
25
|
</li>
|
26
|
<li class="nav-item" ng-if="orgId">
|
27
|
<a href="#!/conflicts/{{orgId}}" class="nav-link">Conflicts</a>
|
28
|
</li>
|
29
|
</ul>
|
30
|
</div>
|
31
|
<div class="card-body">
|
32
|
<form name="organizationForm">
|
33
|
<fieldset>
|
34
|
<legend>Official name and type</legend>
|
35
|
|
36
|
<div class="form-group">
|
37
|
<div class="input-group input-group-sm">
|
38
|
<div class="input-group-prepend">
|
39
|
<div class="input-group-text bg-primary text-white">name</div>
|
40
|
</div>
|
41
|
<input name="org_nm" type="text" class="form-control" placeholder="organization name..." ng-model="org.name" required="required" ng-class="{'is-invalid' : organizationForm.org_nm.$error.required}"/>
|
42
|
<div class="input-group-append input-group-prepend">
|
43
|
<div class="input-group-text bg-primary text-white">type</div>
|
44
|
</div>
|
45
|
<select name="org_tp" class="custom-select" ng-model="org.type" required="required" ng-class="{'is-invalid' : organizationForm.org_tp.$error.required}">
|
46
|
<option disabled="disabled" value=''>type...</option>
|
47
|
<option ng-repeat="t in vocabularies.orgTypes">{{t}}</option>
|
48
|
</select>
|
49
|
</div>
|
50
|
</div>
|
51
|
</fieldset>
|
52
|
<fieldset class="mt-4">
|
53
|
<legend>Geographical location</legend>
|
54
|
|
55
|
<div class="form-group">
|
56
|
<div class="input-group input-group-sm">
|
57
|
<div class="input-group-prepend">
|
58
|
<div class="input-group-text bg-primary text-white">city</div>
|
59
|
</div>
|
60
|
<input name="org_ct" type="text" class="form-control" placeholder="" ng-model="org.city" />
|
61
|
<div class="input-group-append input-group-prepend">
|
62
|
<div class="input-group-text bg-primary text-white">country</div>
|
63
|
</div>
|
64
|
<select name="org_cntr" class="custom-select" ng-model="org.country" required="required" ng-class="{'is-invalid' : organizationForm.org_cntr.$error.required}">
|
65
|
<option disabled="disabled" value=''>country...</option>
|
66
|
<option ng-repeat="c in vocabularies.countries">{{c}}</option>
|
67
|
</select>
|
68
|
<div class="input-group-append input-group-prepend">
|
69
|
<div class="input-group-text bg-primary text-white">lat</div>
|
70
|
</div>
|
71
|
<input name="org_lat" type="text" class="form-control" placeholder="0.0" ng-model="org.lat" />
|
72
|
<div class="input-group-append input-group-prepend">
|
73
|
<div class="input-group-text bg-primary text-white">lng</div>
|
74
|
</div>
|
75
|
<input name="org_lng" type="text" class="form-control" placeholder="0.0" ng-model="org.lng" />
|
76
|
</div>
|
77
|
</div>
|
78
|
</fieldset>
|
79
|
|
80
|
<fieldset class="mt-4">
|
81
|
<legend>Other names and identifiers</legend>
|
82
|
|
83
|
<div class="form-group row">
|
84
|
<div class="col-lg-8 mb-2">
|
85
|
<div class="card">
|
86
|
<div class="card-header bg-primary text-white text-center py-1">Acronyms</div>
|
87
|
<table class="table table-sm">
|
88
|
<tbody>
|
89
|
<tr ng-repeat="a in org.acronyms">
|
90
|
<td>{{a}}</td>
|
91
|
<td class="text-right" style="width: 44px">
|
92
|
<button type="button" class="btn btn-sm btn-outline-danger" ng-click="org.acronyms.splice($index, 1)"><i class="fa fa-trash"></i></button>
|
93
|
</td>
|
94
|
</tr>
|
95
|
</tbody>
|
96
|
<tfoot>
|
97
|
<tr ng-init="newAcronym=''">
|
98
|
<td>
|
99
|
<input type="text" class="form-control form-control-sm" placeholder="new acronym..." ng-model='newAcronym'/>
|
100
|
</td>
|
101
|
<td class="text-right" style="width: 44px">
|
102
|
<button type="button" class="btn btn-sm btn-outline-success" ng-click="org.acronyms.push(newAcronym); newAcronym=''" ng-disabled="!newAcronym || org.acronyms.indexOf(newAcronym) !== -1" ><i class="fa fa-plus"></i></button>
|
103
|
</td>
|
104
|
</tr>
|
105
|
</tfoot>
|
106
|
</table>
|
107
|
</div>
|
108
|
</div>
|
109
|
</div>
|
110
|
|
111
|
<div class="form-group row">
|
112
|
<div class="col-lg-8 mb-2">
|
113
|
<div class="card">
|
114
|
<div class="card-header bg-primary text-white text-center py-1">Aliases</div>
|
115
|
<table class="table table-sm">
|
116
|
<thead class="thead-light">
|
117
|
<tr>
|
118
|
<th>name</th>
|
119
|
<th style="width: 156px">language</th>
|
120
|
<th style="width: 44px"></th>
|
121
|
</tr>
|
122
|
</thead>
|
123
|
<tbody>
|
124
|
<tr ng-repeat="n in org.otherNames">
|
125
|
<td>{{n.name}}</td>
|
126
|
<td>{{n.lang}}</td>
|
127
|
<td class="text-right">
|
128
|
<button type="button" class="btn btn-sm btn-outline-danger" ng-click="org.otherNames.splice($index, 1)"><i class="fa fa-trash"></i></button>
|
129
|
</td>
|
130
|
</tr>
|
131
|
</tbody>
|
132
|
<tfoot>
|
133
|
<tr ng-init="newOtherName=newLang=''">
|
134
|
<td>
|
135
|
<input type="text" class="form-control form-control-sm" placeholder="new alias..." ng-model="newOtherName" />
|
136
|
</td>
|
137
|
<td>
|
138
|
<select class="custom-select custom-select-sm" ng-model="newLang">
|
139
|
<option disabled="disabled" value=''>language...</option>
|
140
|
<option ng-repeat="l in vocabularies.languages">{{l}}</option>
|
141
|
</select>
|
142
|
</td>
|
143
|
<td class="text-right" style="width: 44px">
|
144
|
<button type="button" class="btn btn-sm btn-outline-success" ng-click="org.otherNames.push({'name': newOtherName, 'lang': newLang}); newOtherName=newLang=''" ng-disabled="!newOtherName || !newLang"><i class="fa fa-plus"></i></button>
|
145
|
</td>
|
146
|
</tr>
|
147
|
</tfoot>
|
148
|
</table>
|
149
|
</div>
|
150
|
</div>
|
151
|
</div>
|
152
|
|
153
|
<div class="form-group row">
|
154
|
<div class="col-lg-8 mb-2">
|
155
|
<div class="card">
|
156
|
<div class="card-header bg-primary text-white text-center py-1">Identifiers</div>
|
157
|
<table class="table table-sm">
|
158
|
<thead class="thead-light">
|
159
|
<tr>
|
160
|
<th>id</th>
|
161
|
<th style="width: 156px">type</th>
|
162
|
<th style="width: 44px"></th>
|
163
|
</tr>
|
164
|
</thead>
|
165
|
<tbody>
|
166
|
<tr ng-repeat="id in org.otherIdentifiers">
|
167
|
<td>{{id.id}}</td>
|
168
|
<td>{{id.type}}</td>
|
169
|
<td class="text-right" style="width: 44px">
|
170
|
<button type="button" class="btn btn-sm btn-outline-danger" ng-click="org.otherIdentifiers.splice($index, 1)"><i class="fa fa-trash"></i></button>
|
171
|
</td>
|
172
|
</tr>
|
173
|
</tbody>
|
174
|
<tfoot>
|
175
|
<tr ng-init="newId=newIdType=''">
|
176
|
<td>
|
177
|
<input type="text" class="form-control form-control-sm" placeholder="new id..." ng-model="newId" />
|
178
|
</td>
|
179
|
<td>
|
180
|
<select class="custom-select custom-select-sm" ng-model="newIdType">
|
181
|
<option disabled="disabled" value=''>type...</option>
|
182
|
<option ng-repeat="t in vocabularies.idTypes">{{t}}</option>
|
183
|
</select>
|
184
|
</td>
|
185
|
<td class="text-right" style="width: 44px">
|
186
|
<button type="button" class="btn btn-sm btn-outline-success" ng-click="org.otherIdentifiers.push({'id': newId, 'type': newIdType}); newId=newIdType=''" ng-disabled="!newId || !newIdType"><i class="fa fa-plus"></i></button>
|
187
|
</td>
|
188
|
</tr>
|
189
|
</tfoot>
|
190
|
</table>
|
191
|
</div>
|
192
|
</div>
|
193
|
</div>
|
194
|
|
195
|
<div class="form-group row">
|
196
|
<div class="col-lg-8 mb-2">
|
197
|
<div class="card">
|
198
|
<div class="card-header bg-primary text-white text-center py-1">Urls</div>
|
199
|
<table class="table table-sm">
|
200
|
<tbody>
|
201
|
<tr ng-repeat="u in org.urls">
|
202
|
<td><a href="{{u}}" target="_blank">{{u}}</a></td>
|
203
|
<td class="text-right" style="width: 44px">
|
204
|
<button type="button" class="btn btn-sm btn-outline-danger" ng-click="org.urls.splice($index, 1)"><i class="fa fa-trash"></i></button>
|
205
|
</td>
|
206
|
</tr>
|
207
|
</tbody>
|
208
|
<tfoot>
|
209
|
<tr ng-init="newUrl=''">
|
210
|
<td>
|
211
|
<input type="text" class="form-control form-control-sm" placeholder="http://..." ng-model="newUrl" />
|
212
|
</td>
|
213
|
<td class="text-right" style="width: 44px">
|
214
|
<button type="button" class="btn btn-sm btn-outline-success" ng-click="org.urls.push(newUrl); newUrl=''" ng-disabled="!newUrl || org.urls.indexOf(newUrl) !== -1" ><i class="fa fa-plus"></i></button>
|
215
|
</td>
|
216
|
</tr>
|
217
|
</tfoot>
|
218
|
</table>
|
219
|
</div>
|
220
|
</div>
|
221
|
</div>
|
222
|
</fieldset>
|
223
|
|
224
|
<button type="submit" class="btn btn-primary" ng-click="save()" ng-disabled="organizationForm.$invalid">save</button>
|
225
|
</form>
|
226
|
</div>
|
227
|
</div>
|
228
|
</div>
|
229
|
</div>
|