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">
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.datasourceType === 'opendoar'" class="uk-alert uk-alert-primary">
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.datasourceType === 're3data'" class="uk-alert uk-alert-primary">
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

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

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

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

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

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

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

    
105
  </div>
106

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

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

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

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

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

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

    
170
  <h4 class="uk-h4 uk-text-primary uk-scrollspy-inview uk-animation-slide-top-medium"
171
      uk-scrollspy-class="">Extra Information</h4>
172

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

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

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

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

    
227
  <h4 class="uk-h4 uk-text-primary uk-scrollspy-inview uk-animation-slide-top-medium"
228
      uk-scrollspy-class="">Administrator & contact information</h4>
229

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

    
243
  <div *ngIf="showButton" class="form-group">
244
    <button class="uk-button uk-button-primary updateRepoInfoButton" type="button" (click)="updateRepo()">Update Information</button>
245
  </div>
246
</form>
247

    
(5-5/6)