Project

General

Profile

1
<div *ngIf="loadingMessage" class="loading-big">
2
  <div class="loader-big" style="text-align: center; padding-top: 170px; color: rgb(47, 64, 80); font-weight: bold;">
3
    {{ loadingMessage }}
4
  </div>
5
  <div class="whiteFilm"></div>
6
</div>
7
<div *ngIf="errorMessage" class="uk-alert uk-alert-danger">{{ errorMessage }}</div>
8
<div *ngIf="successMessage" class="uk-alert uk-alert-success">{{ successMessage }}</div>
9
<form *ngIf="selectedRepo && !loadingMessage" [formGroup]="updateGroup" class="uk-margin-medium-bottom">
10
  <div>
11
    <h4 class="uk-h4 uk-text-primary uk-scrollspy-inview uk-animation-slide-top-medium" uk-scrollspy-class="">
12
      Basic information
13
    </h4>
14
  </div>
15
  <div *ngIf="selectedRepo.collectedfrom.split('openaire____::')[1] === 'opendoar'" class="uk-alert uk-alert-info">
16
    The following fields are completed by OpenDOAR.<br>
17
    If you want to edit them, you can do it by using this
18
    <a target="_blank" href="{{ 'http://v2.sherpa.ac.uk/id/repository/' + repoId }}">OpenDOAR link</a>.
19
  </div>
20
  <div *ngIf="selectedRepo.collectedfrom.split('openaire____::')[1] === 're3data'" class="uk-alert uk-alert-info">
21
    The following fields are completed by Re3data.<br>
22
    If you want to edit them, you can do it by using this
23
    <a target="_blank" href="{{ 'http://service.re3data.org/repository/' + repoId }}">Re3data link</a>.
24
  </div>
25
  <div *ngIf="selectedRepo.collectedfrom.split('openaire____::')[1] === 'fairsharing'" class="uk-alert uk-alert-info">
26
    The following fields are completed by FAIRsharing.<br>
27
    If you want to edit them, you can do it by using this
28
    <a target="_blank" href="{{ 'https://fairsharing.org/search?q=' + selectedRepo.officialname }}">FAIRsharing link</a>.
29
  </div>
30

    
31
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
32
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
33
      <div class="md-input-wrapper {{ (updateGroup.get('softwarePlatform') != null) ? 'md-input-filled' : '' }}">
34
        <form-inline [description]="softwarePlatformDesc" [valid]="updateGroup.get('softwarePlatform').valid">
35
          <select formControlName="softwarePlatform" class="md-input">
36
            <!--      <option value="" selected>[Other] (enter name below)</option> RESTORE AFTER getTypologies begins to work-->
37
            <option *ngFor="let platform of typologies" value="{{ platform.value }}">{{ platform.name }}</option>
38
          </select>
39
        </form-inline>
40
      </div>
41
    </div>
42
  </div>
43

    
44
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
45
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
46
      <div class="md-input-wrapper {{(updateGroup.get('platformName') != null) ? 'md-input-filled' : '' }}">
47
        <form-inline [description]="platformNameDesc" [valid]="updateGroup.get('platformName').valid">
48
            <span *ngIf="updateGroup.get('platformName').touched && updateGroup.get('platformName').value"
49
                  class="help-block inline"
50
                  style="margin-top: 0px; margin-bottom: 0px; font-style: italic">This value will be used as the platform for your repository</span>
51
          <input formControlName="platformName" class="md-input" style="" type="text">
52
        </form-inline>
53
      </div>
54
    </div>
55
  </div>
56

    
57
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
58
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
59
      <div class="md-input-wrapper {{ (updateGroup.get('officialName') != null) ? 'md-input-filled' : '' }}">
60
        <form-inline [description]="officialNameDesc" [valid]="updateGroup.get('officialName').valid">
61
          <input formControlName="officialName" class="md-input" style="" type="text">
62
        </form-inline>
63
      </div>
64
    </div>
65
  </div>
66

    
67
  <div *ngIf="selectedRepo.eoscDatasourceType == 'Journal archive'">
68
    <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
69
      <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
70
        <div class="md-input-wrapper {{ (updateGroup.get('issn') != null) ? 'md-input-filled' : '1234-5678' }}">
71
          <form-inline [description]="issnDesc" [valid]="updateGroup.get('issn').valid">
72
            <span *ngIf="updateGroup.get('issn').invalid && updateGroup.get('issn').touched && updateGroup.get('issn').dirty"
73
                  class="help-block inline uk-text-danger"
74
                  style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">Issn needs to be of the form: "1111-1111" or "1111-111X" or "11111111" or "1111111X"</span>
75
            <input formControlName="issn" class="md-input" type="text"
76
                   (focus)="updateGroup.get('issn').markAsUntouched()" (blur)="updateGroup.get('issn').updateValueAndValidity()">
77
          </form-inline>
78
        </div>
79
      </div>
80
    </div>
81

    
82
    <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
83
      <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
84
        <div class="md-input-wrapper {{ (updateGroup.get('eissn') != null) ? 'md-input-filled' : '' }}">
85
          <form-inline [description]="eissnDesc" [valid]="updateGroup.get('eissn').valid">
86
            <span *ngIf="updateGroup.get('eissn').invalid && updateGroup.get('eissn').touched && updateGroup.get('eissn').dirty"
87
                  class="help-block inline uk-text-danger"
88
                  style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">Eissn needs to be of the form: "1111-1111" or "1111-111X" or "11111111" or "1111111X"</span>
89
            <input formControlName="eissn" class="md-input" type="text"
90
                   (focus)="updateGroup.get('eissn').markAsUntouched()" (blur)="updateGroup.get('eissn').updateValueAndValidity()">
91
          </form-inline>
92
        </div>
93
      </div>
94
    </div>
95

    
96
    <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
97
      <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
98
        <div class="md-input-wrapper {{ (updateGroup.get('lissn') != null) ? 'md-input-filled' : '' }}">
99
          <form-inline [description]="lissnDesc" [valid]="updateGroup.get('lissn').valid">
100
            <span *ngIf="updateGroup.get('lissn').invalid && updateGroup.get('lissn').touched && updateGroup.get('lissn').dirty"
101
                  class="help-block inline uk-text-danger"
102
                  style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">Lissn needs to be of the form: "1111-1111" or "1111-111X" or "11111111" or "1111111X"</span>
103
            <input formControlName="lissn" class="md-input" type="text"
104
                   (focus)="updateGroup.get('lissn').markAsUntouched()" (blur)="updateGroup.get('lissn').updateValueAndValidity()">
105
          </form-inline>
106
        </div>
107
      </div>
108
    </div>
109

    
110
  </div>
111

    
112
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
113
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
114
      <div class="md-input-wrapper {{ (updateGroup.get('repoDescription') != null) ? 'md-input-filled' : '' }}">
115
        <form-inline [description]="repoDescriptionDesc" [valid]="updateGroup.get('repoDescription').valid">
116
          <textarea formControlName="repoDescription" class="md-input"></textarea>
117
        </form-inline>
118
      </div>
119
    </div>
120
  </div>
121

    
122
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
123
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
124
      <div class="md-input-wrapper {{ (updateGroup.get('country') != null) ? 'md-input-filled' : '' }}">
125
        <form-inline [description]="countryDesc" [valid]="updateGroup.get('country')">
126
          <select formControlName="country" class="md-input">
127
            <option value="">-- none selected --</option>
128
            <option *ngFor="let country of countries" value="{{country.code}}">{{ country.name }}</option>
129
          </select>
130
        </form-inline>
131
      </div>
132
    </div>
133
  </div>
134

    
135
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
136
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
137
      <div class="md-input-wrapper {{ (updateGroup.get('longtitude') != null) ? 'md-input-filled' : '' }}">
138
        <form-inline [description]="longtitudeDesc" [valid]="updateGroup.get('longtitude').valid">
139
          <input formControlName="longtitude" type="text" class="md-input">
140
        </form-inline>
141
      </div>
142
    </div>
143
  </div>
144

    
145
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
146
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
147
      <div class="md-input-wrapper {{ (updateGroup.get('latitude') != null) ? 'md-input-filled' : '' }}">
148
        <form-inline [description]="latitudeDesc" [valid]="updateGroup.get('latitude').valid">
149
          <input formControlName="latitude" type="text" class="md-input">
150
        </form-inline>
151
      </div>
152
    </div>
153
  </div>
154

    
155
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
156
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
157
      <div class="md-input-wrapper {{ (updateGroup.get('websiteUrl') != null) ? 'md-input-filled' : '' }}">
158
        <form-inline [description]="websiteUrlDesc" [valid]="updateGroup.get('websiteUrl').valid">
159
          <input formControlName="websiteUrl" class="md-input" type="text">
160
        </form-inline>
161
      </div>
162
    </div>
163
  </div>
164

    
165
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
166
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
167
      <div class="md-input-wrapper {{ (updateGroup.get('institutionName') != null) ? 'md-input-filled' : '' }}">
168
        <form-inline [description]="institutionNameDesc" [valid]="updateGroup.get('institutionName').valid">
169
          <input formControlName="institutionName" class="md-input" type="text">
170
        </form-inline>
171
      </div>
172
    </div>
173
  </div>
174

    
175
  <h4 class="uk-h4 uk-text-primary uk-scrollspy-inview uk-animation-slide-top-medium"
176
      uk-scrollspy-class="">Extra Information</h4>
177

    
178
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
179
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
180
      <div class="md-input-wrapper {{ (updateGroup.get('englishName') != null) ? 'md-input-filled' : '' }}">
181
        <form-inline [description]="englishNameDesc" [valid]="updateGroup.get('englishName').valid">
182
          <input formControlName="englishName" class="md-input" type="text">
183
        </form-inline>
184
      </div>
185
    </div>
186
  </div>
187

    
188
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
189
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
190
      <div class="md-input-wrapper {{ (updateGroup.get('logoUrl') != null) ? 'md-input-filled' : '' }}">
191
        <form-inline [description]="logoUrlDesc" [valid]="updateGroup.get('logoUrl').valid">
192
        <span *ngIf="updateGroup.get('logoUrl').invalid && updateGroup.get('logoUrl').touched && updateGroup.get('logoUrl').dirty"
193
              class="help-block inline uk-text-danger"
194
              style="margin-top: 0px; margin-bottom: 0px; ">The url you entered is not valid</span>
195
          <input formControlName="logoUrl" class="md-input" type="text"
196
                 (focus)="updateGroup.get('logoUrl').markAsUntouched()"
197
                 (blur)="updateGroup.get('logoUrl').updateValueAndValidity()">
198
          <div class="comment fontItalic">
199
            Please make sure that the maximum size of the uploaded image is width=360px, height=240px
200
          </div>
201
        </form-inline>
202
      </div>
203
    </div>
204
  </div>
205

    
206
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
207
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
208
      <div class="md-input-wrapper {{ (updateGroup.get('timezone') != null) ? 'md-input-filled' : '' }}">
209
        <form-inline [description]="timezoneDesc" [valid]="updateGroup.get('timezone').valid">
210
          <select formControlName="timezone" class="md-input">
211
            <option value="">-- none selected --</option>
212
            <option *ngFor="let timezone of timezones" value="{{ timezone.offset }}">{{ timezone.name }}</option>
213
          </select>
214
        </form-inline>
215
      </div>
216
    </div>
217
  </div>
218

    
219
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
220
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
221
      <div class="md-input-wrapper {{ (updateGroup.get('datasourceType') != null) ? 'md-input-filled' : '' }}">
222
        <form-inline [description]="datasourceTypeDesc" [valid]="updateGroup.get('datasourceType').valid">
223
          <select formControlName="datasourceType" class="md-input">
224
            <option value="">-- none selected --</option>
225
            <option *ngFor="let key of classCodes" value="{{key}}">{{ datasourceClasses.get(key) }}</option>
226
          </select>
227
        </form-inline>
228
      </div>
229
    </div>
230
  </div>
231

    
232
  <h4 class="uk-h4 uk-text-primary uk-scrollspy-inview uk-animation-slide-top-medium"
233
      uk-scrollspy-class="">Administrator & contact information</h4>
234

    
235
  <div data-dynamic-fields="d_field_wizard" class="uk-grid" data-uk-grid-margin="" dynamic-fields-counter="0">
236
    <div class="uk-width-medium-1-1 parsley-row form_section uk-row-first">
237
      <div class="md-input-wrapper {{ (updateGroup.get('adminEmail') != null) ? 'md-input-filled' : '' }}">
238
        <form-inline [description]="adminEmailDesc" [valid]="updateGroup.get('adminEmail').valid">
239
          <span *ngIf="updateGroup.get('adminEmail').invalid && updateGroup.get('adminEmail').touched && updateGroup.get('adminEmail').dirty"
240
                class="help-block inline"
241
                style="margin-top: 0px; margin-bottom: 0px; ">You need to enter a valid email address</span>
242
          <input formControlName="adminEmail" class="md-input" type="text" (focus)="updateGroup.get('adminEmail').markAsUntouched()" (blur)="updateGroup.get('adminEmail').updateValueAndValidity()">
243
        </form-inline>
244
      </div>
245
    </div>
246
  </div>
247

    
248
  <div *ngIf="showButton" class="form-group uk-margin-medium-top">
249
    <button class="uk-button uk-button-primary updateRepoInfoButton" type="button" (click)="updateRepo()">Update Information</button>
250
  </div>
251
</form>
252
<pre>{{updateGroup.value|json}}</pre>
(5-5/8)