Project

General

Profile

« Previous | Next » 

Revision 51561

added inline validation messages to create-update repository forms

View differences:

modules/uoa-repository-dashboard-gui/trunk/app/pages/sources/sources-register/sr-data.component.html
4 4
    <h1 class="uk-h2">Register your datasource</h1>
5 5

  
6 6
    <!-- TOP HELP CONTENT -->
7
<!--    <help-content #topHelperContent [position]="'top'"
7
    <help-content #topHelperContent [position]="'top'"
8 8
                  [ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
9
    </help-content>-->
9
    </help-content>
10 10

  
11 11
    <div class="uk-container uk-margin-medium-top uk-margin-medium-bottom">
12 12
      <div class="uk-grid">
13 13

  
14 14
        <!-- LEFT HELP CONTENT -->
15
<!--        <aside-help-content #leftHelperContent [position]="'left'"
15
        <aside-help-content #leftHelperContent [position]="'left'"
16 16
                            [ngClass]="leftHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
17
        </aside-help-content>-->
17
        </aside-help-content>
18 18

  
19 19
        <!-- MIDDLE -->
20 20
        <div class=" uk-width-expand@m">
......
135 135
  </div>
136 136
</div>
137 137

  
138
<!--   *** OLD HTML ***
139

  
140
<div class="uk-grid uk-grid-stack">
141
  <div class="uk-width-expand@m uk-first-column">
142
    <div class="uk-margin-medium-bottom">
143
      <h1 class="uk-article-title">Register your datasource</h1>
144
    </div>
145
    <div class="wizard">
146
      <div class="wizardBreadcrumbs">
147
        <div class="steps clearfix">
148
          <div class="step active">
149
            <div>
150
              Select repository
151
              <span></span>
152
            </div>
153
          </div>
154
          <div class="step {{step2}}">
155
            <div>
156
              Enter information
157
              <span></span>
158
            </div>
159
          </div>
160
          <div class="step {{step3}}">
161
            <div>
162
              Add interfaces
163
              <span></span>
164
            </div>
165
          </div>
166
          <div class="step {{step4}}">
167
            <div>
168
              Finish
169
              <span></span>
170
            </div>
171
          </div>
172
        </div>
173
      </div>
174
      <div class="content">
175
        <div>
176
          <div class="animated fadeInRight stepContent">
177
            <div>
178
              <register-datasource-shareable *ngIf="showRepositories"
179
                                             #datasourcesByCountry
180
                                             [mode]="'re3data'"
181
                                             (emitRepoId)="getRepoId($event)"></register-datasource-shareable>
182

  
183
              <datasource-update-form *ngIf="showForm && repo"
184
                                    #updateDatasource
185
                                    [selectedRepo]="repo"></datasource-update-form>
186

  
187
              <div *ngIf="loadingMessage" class="loading-big">
188
                <div class="loader-big" style="text-align: center; padding-top: 170px; color: rgb(47, 64, 80); font-weight: bold;">
189
                  {{ loadingMessage }}
190
                </div>
191
                <div class="whiteFilm"></div>
192
              </div>
193
              <div *ngIf="errorMessage" class="uk-alert uk-alert-danger">{{ errorMessage }}</div>
194
              <div *ngIf="showInterfaces && repoInterfaces">
195
                <form [formGroup]="group">
196
                  <form-repeat [component]="updateDatasourceInterfaces"
197
                               [parentGroup]="group"
198
                               [description]="interfaceFormDesc"
199
                               [name]="'repository-interfaces'"
200
                               [data]="repoInterfaces"
201
                               [otherData]="repo">
202
                  </form-repeat>
203
                </form>
204
              </div>
205
              <div *ngIf="showFinish" class="row openAIRECompliantLogoDownload">
206
                <div class="col-lg-12">
207
                  <div class="col-md-12">
208
                    <div class="gwt-HTML">
209
                      <div class="openAIRECompliantLogo">
210
                        <h2 class="openAIRECompliantLogoMessage">
211
                          Congratulations! Your repository was successfully registered in OpenAIRE. You can download this logo to use in your site.
212
                        </h2>
213
                        <img src="assets/imgs/3_0ValidatedLogo.png" alt="OpenAireCompliant">
214
                      </div>
215
                    </div>
216
                    <a>
217
                      Download
218
                      <i class="fa fa-download" style=""></i>
219
                    </a>
220
                  </div>
221
                </div>
222
              </div>
223
            </div>
224
          </div>
225
        </div>
226
      </div>
227
      <div class="wizardActions">
228
        <button *ngIf="!showRepositories" class="uk-button uk-button-grey-light" type="button" (click)="moveBackAStep()">
229
          <i class="fa fa-angle-double-left"></i>
230
          Back
231
        </button>
232
        <button *ngIf="!showFinish" class="uk-button uk-button-grey-light" type="button" (click)="moveAStep()">
233
          Next
234
          <i class="fa fa-angle-double-right"></i>
235
        </button>
236
      </div>
237
    </div>
238
  </div>
239
  <div class="tm-sidebar uk-width-1-4@m">
240
    <div>
241
      <div class="uk-card uk-card-body uk-card-default sidemenu">
242
        <h3 class="el-title uk-h3 uk-heading-bullet">Info</h3>
243
        <p class="small">
244
          Use the form on the right to add your repository or journal in OpenAIRE. If you want to find more information about this process
245
          &lt;!&ndash; TARGET FILE MISSING! jsps/manuals/user-manual.pdf &ndash;&gt;
246
          <a target="_blank" href="#">click here</a>
247
          .
248
        </p>
249
        <div class="uk-alert uk-alert-default small">
250
          The official repository/journal administrator (his/her email address being retrieved from the OAI-PMH verb
251
          <b>Identify</b>
252
          ) will be contacted and informed about registration request. So please make sure that you are either this person or have access to the email address, or that you have notified them.
253
        </div>
254
        <p class="small">
255
          For any problems or questions please contact the
256
          <a class="external" target="_blank" href="https://www.openaire.eu/support/helpdesk" >
257
            OpenAIRE helpdesk
258
          </a>
259
          .
260
        </p>
261
      </div>
262
    </div>
263
  </div>
264
</div>
265
-->
modules/uoa-repository-dashboard-gui/trunk/app/pages/sources/sources-forms/datasource-interface-form.component.ts
62 62
    if (this.data && this.data.length) {
63 63
      this.currentInterface = this.data[0];
64 64
      this.patchData.next({
65
          baseUrl: this.data[0].baseUrl,
65
          baseUrl: decodeURIComponent(this.data[0].baseUrl),
66 66
          selectValidationSet: '',
67 67
          customValidationSet: '',
68 68
          compatibilityLevel:this.data[0].desiredCompatibilityLevel
......
190 190
    this.loadingMessage = formSubmitting;
191 191
    this.currentInterface.baseUrl = baseUrl;
192 192
    this.currentInterface.accessSet = valset;
193
    this.currentInterface.accessParams['set'] = valset;
193 194
    this.currentInterface.desiredCompatibilityLevel = compLvl;
194 195
    this.currentInterface.compliance = compLvl;
195 196
    this.currentInterface.typology = this.currentRepository.datasourceClass;
......
220 221
    this.currentInterface = new RepositoryInterface();
221 222
    this.currentInterface.baseUrl = encodeURIComponent(baseUrl);
222 223
    this.currentInterface.accessSet = valset;
224
    this.currentInterface.accessParams = {'set': valset};
223 225
    this.currentInterface.desiredCompatibilityLevel = compLvl;
224 226
    this.currentInterface.compliance = compLvl;
225 227
    this.currentInterface.typology = this.currentRepository.datasourceClass;
modules/uoa-repository-dashboard-gui/trunk/app/pages/sources/sources-forms/datasource-update-form.component.html
12 12
      Basic information
13 13
    </h4>
14 14
  </div>
15
  <form-inline [description]="softwarePlatformDesc">
15
  <form-inline [description]="softwarePlatformDesc" [valid]="updateGroup.get('softwarePlatform').valid || !formSubmitted">
16 16
    <select formControlName="softwarePlatform" class="form-control">
17 17
<!--      <option value="" selected>[Other] (enter name below)</option> RESTORE AFTER getTypologies begins to work-->
18 18
      <option *ngFor="let platform of typologies" value="{{ platform.value }}">{{ platform.name }}</option>
19 19
    </select>
20 20
  </form-inline>
21
  <form-inline [description]="platformNameDesc">
21
  <form-inline [description]="platformNameDesc" [valid]="updateGroup.get('platformName').valid || !formSubmitted">
22 22
    <span *ngIf="updateGroup.get('platformName').touched && updateGroup.get('platformName').value"
23 23
          class="help-block inline"
24
          style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">This value will be used as the platform for your repository</span>
24
          style="margin-top: 0px; margin-bottom: 0px; ">This value will be used as the platform for your repository</span>
25 25
    <input formControlName="platformName" class="form-control" style="" type="text">
26 26
  </form-inline>
27 27
  <form-inline [description]="officialNameDesc" >
28 28
    <input formControlName="officialName" class="form-control" style="" type="text">
29 29
  </form-inline>
30 30
  <div *ngIf="selectedRepo.datasourceType == 'journal'">
31
    <form-inline [description]="issnDesc" [valid]="updateGroup.get('issn').valid">
31
    <form-inline [description]="issnDesc" [valid]="updateGroup.get('issn').valid || !formSubmitted">
32 32
      <span *ngIf="updateGroup.get('issn').invalid && updateGroup.get('issn').touched && updateGroup.get('issn').dirty"
33
            class="help-block inline"
34
            style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">Issn needs to be of the form: "1111-1111"</span>
33
            class="help-block inline uk-text-danger"
34
            style="margin-top: 0px; margin-bottom: 0px; ">Issn needs to be of the form: "1111-1111"</span>
35 35
      <input formControlName="issn" class="form-control" type="text" (focus)="updateGroup.get('issn').markAsUntouched()" (blur)="updateGroup.get('issn').updateValueAndValidity()">
36 36
    </form-inline>
37 37
    <form-inline [description]="eissnDesc" [valid]="updateGroup.get('eissn').valid">
38 38
      <span *ngIf="updateGroup.get('eissn').invalid && updateGroup.get('eissn').touched && updateGroup.get('eissn').dirty"
39
            class="help-block inline"
40
            style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">Eissn needs to be of the form: "1111-1111"</span>
39
            class="help-block inline uk-text-danger"
40
            style="margin-top: 0px; margin-bottom: 0px; ">Eissn needs to be of the form: "1111-1111"</span>
41 41
      <input formControlName="eissn"class="form-control" type="text" (focus)="updateGroup.get('eissn').markAsUntouched()" (blur)="updateGroup.get('eissn').updateValueAndValidity()">
42 42
    </form-inline>
43 43
    <form-inline [description]="lissnDesc" [valid]="updateGroup.get('lissn').valid">
44 44
      <span *ngIf="updateGroup.get('lissn').invalid && updateGroup.get('lissn').touched && updateGroup.get('lissn').dirty"
45
            class="help-block inline"
46
            style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">Lissn needs to be of the form: "1111-1111"</span>
45
            class="help-block inline uk-text-danger"
46
            style="margin-top: 0px; margin-bottom: 0px;">Lissn needs to be of the form: "1111-1111"</span>
47 47
      <input formControlName="lissn"class="form-control" type="text" (focus)="updateGroup.get('lissn').markAsUntouched()" (blur)="updateGroup.get('lissn').updateValueAndValidity()">
48 48
    </form-inline>
49 49
  </div>
50
  <form-inline [description]="repoDescriptionDesc">
50
  <form-inline [description]="repoDescriptionDesc" [valid]="updateGroup.get('repoDescription').valid || !formSubmitted">
51 51
    <textarea formControlName="repoDescription" class="form-control"></textarea>
52 52
  </form-inline>
53
  <form-inline [description]="countryDesc">
53
  <form-inline [description]="countryDesc" [valid]="updateGroup.get('country') || !formSubmitted">
54 54
    <select formControlName="country" class="form-control">
55 55
      <option value="">-- none selected --</option>
56 56
      <option *ngFor="let country of countries" value="{{country.code}}" title="{{country.name}}">{{ country.name }}</option>
57 57
    </select>
58 58
  </form-inline>
59
  <form-inline [description]="longtitudeDesc" [valid]="updateGroup.get('longtitude').valid">
59
  <form-inline [description]="longtitudeDesc" [valid]="updateGroup.get('longtitude').valid || !formSubmitted">
60 60
    <span *ngIf="updateGroup.get('longtitude').invalid && updateGroup.get('longtitude').touched && updateGroup.get('longtitude').dirty"
61 61
          class="help-block inline"
62
          style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">Invalid Longtitude</span>
62
          style="margin-top: 0px; margin-bottom: 0px; ">Invalid Longtitude</span>
63 63
    <input formControlName="longtitude" class="form-control" type="number" step="0.05" (focus)="updateGroup.get('longtitude').markAsUntouched()" (blur)="updateGroup.get('longtitude').updateValueAndValidity()">
64 64
  </form-inline>
65
  <form-inline [description]="latitudeDesc" [valid]="updateGroup.get('latitude').valid">
65
  <form-inline [description]="latitudeDesc" [valid]="updateGroup.get('latitude').valid || !formSubmitted">
66 66
    <span *ngIf="updateGroup.get('latitude').invalid && updateGroup.get('latitude').touched && updateGroup.get('latitude').dirty"
67 67
          class="help-block inline"
68
          style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">Invalid Latitude</span>
68
          style="margin-top: 0px; margin-bottom: 0px; ">Invalid Latitude</span>
69 69
    <input formControlName="latitude" class="form-control" type="number" step="0.05" (focus)="updateGroup.get('latitude').markAsUntouched()" (blur)="updateGroup.get('latitude').updateValueAndValidity()">
70 70
  </form-inline>
71
  <form-inline [description]="websiteUrlDesc">
72
    <input formControlName="websiteUrl" class="form-control" type="text">
71
  <form-inline [description]="websiteUrlDesc" [valid]="updateGroup.get('websiteUrl').valid || !formSubmitted">
72
    <span *ngIf="updateGroup.get('websiteUrl').invalid && updateGroup.get('websiteUrl').touched && updateGroup.get('websiteUrl').dirty"
73
            class="help-block inline uk-text-danger"
74
            style="margin-top: 0px; margin-bottom: 0px; ">You need to enter a valid url</span>
75
    <input formControlName="websiteUrl" class="form-control" type="text"
76
           (focus)="updateGroup.get('websiteUrl').markAsUntouched()"
77
           (blur)="updateGroup.get('websiteUrl').updateValueAndValidity()">
73 78
  </form-inline>
74
  <form-inline [description]="institutionNameDesc">
79
  <form-inline [description]="institutionNameDesc" [valid]="updateGroup.get('institutionName').valid || !formSubmitted">
75 80
    <input formControlName="institutionName" class="form-control" type="text">
76 81
  </form-inline>
77 82
  <h4 class="uk-h4 uk-text-primary uk-scrollspy-inview uk-animation-slide-top-medium"
78 83
      uk-scrollspy-class="">Extra Information</h4>
79
  <form-inline [description]="englishNameDesc" [valid]="updateGroup.get('englishName').valid">
84
  <form-inline [description]="englishNameDesc" [valid]="updateGroup.get('englishName').valid || !formSubmitted">
80 85
    <input formControlName="englishName" class="form-control" type="text">
81 86
  </form-inline>
82 87
  <form-inline [description]="logoUrlDesc" [valid]="updateGroup.get('logoUrl').valid">
83
    <input formControlName="logoUrl" class="form-control" type="text">
88
    <span *ngIf="updateGroup.get('logoUrl').invalid && updateGroup.get('logoUrl').touched && updateGroup.get('logoUrl').dirty"
89
          class="help-block inline uk-text-danger"
90
          style="margin-top: 0px; margin-bottom: 0px; ">The url you entered is not valid</span>
91
    <input formControlName="logoUrl" class="form-control" type="text"
92
           (focus)="updateGroup.get('logoUrl').markAsUntouched()"
93
           (blur)="updateGroup.get('logoUrl').updateValueAndValidity()">
84 94
    <div class="comment fontItalic">
85 95
      Please make sure that the maximum size of the uploaded image is width=360px, height=240px
86 96
    </div>
87 97
  </form-inline>
88
  <form-inline [description]="timezoneDesc" [valid]="updateGroup.get('timezone').valid">
98
  <form-inline [description]="timezoneDesc" [valid]="updateGroup.get('timezone').valid || !formSubmitted">
89 99
    <select formControlName="timezone" class="form-control">
90 100
      <option value="">-- none selected --</option>
91 101
      <option *ngFor="let timezone of timezones" value="{{ timezone.offset }}">{{ timezone.name }}</option>
92 102
    </select>
93 103
  </form-inline>
94
  <form-inline [description]="datasourceTypeDesc" [valid]="updateGroup.get('datasourceType').valid">
104
  <form-inline [description]="datasourceTypeDesc" [valid]="updateGroup.get('datasourceType').valid || !formSubmitted">
95 105
    <select formControlName="datasourceType" class="form-control">
96 106
      <option value="">-- none selected --</option>
97 107
      <option *ngFor="let key of classCodes" value="{{key}}">{{ datasourceClasses[key] }}</option>
......
99 109
  </form-inline>
100 110
  <h4 class="uk-h4 uk-text-primary uk-scrollspy-inview uk-animation-slide-top-medium"
101 111
      uk-scrollspy-class="">Administrator & contact information</h4>
102
  <form-inline [description]="adminEmailDesc" [valid]="updateGroup.get('adminEmail').valid">
112
  <form-inline [description]="adminEmailDesc" [valid]="updateGroup.get('adminEmail').valid || !formSubmitted">
103 113
    <span *ngIf="updateGroup.get('adminEmail').invalid && updateGroup.get('adminEmail').touched && updateGroup.get('adminEmail').dirty"
104 114
          class="help-block inline"
105
          style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">You need to enter a valid email address</span>
115
          style="margin-top: 0px; margin-bottom: 0px; ">You need to enter a valid email address</span>
106 116
    <input formControlName="adminEmail" class="form-control" type="text" (focus)="updateGroup.get('adminEmail').markAsUntouched()" (blur)="updateGroup.get('adminEmail').updateValueAndValidity()">
107 117
  </form-inline>
108 118
  <div *ngIf="showButton" class="form-group">
modules/uoa-repository-dashboard-gui/trunk/app/pages/sources/sources-forms/datasource-create-form.component.html
12 12
  </div>
13 13
  <div *ngIf="errorMessage" class="uk-alert uk-alert-danger">{{ errorMessage }}</div>
14 14
  <div *ngIf="successMessage" class="uk-alert uk-alert-success">{{ successMessage }}</div>
15
  <form-inline [description]="softwarePlatformDesc" [valid]="group.get('softwarePlatform').valid">
15
  <form-inline [description]="softwarePlatformDesc" [valid]="group.get('softwarePlatform').valid || !formSubmitted">
16 16
    <select formControlName="softwarePlatform" class="form-control">
17 17
      <option *ngFor="let platform of typologies" value="{{ platform.value }}">{{ platform.name }}</option>
18 18
    </select>
19 19
  </form-inline>
20
  <form-inline [description]="officialNameDesc"  [valid]="group.get('officialName').valid">
20
  <form-inline [description]="officialNameDesc"  [valid]="group.get('officialName').valid || !formSubmitted">
21 21
    <input formControlName="officialName" class="form-control" type="text">
22 22
  </form-inline>
23 23
  <div *ngIf="mode == 'journal'">
24
    <form-inline [description]="issnDesc" [valid]="group.get('issn').valid">
24
    <form-inline [description]="issnDesc" [valid]="group.get('issn').valid || !formSubmitted">
25 25
      <span *ngIf="group.get('issn').invalid && group.get('issn').touched && group.get('issn').dirty"
26
            class="help-block inline"
26
            class="help-block inline uk-text-danger"
27 27
            style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">Issn needs to be of the form: "1111-1111"</span>
28 28
      <input formControlName="issn" class="form-control" type="text" (focus)="group.get('issn').markAsUntouched()" (blur)="group.get('issn').updateValueAndValidity()">
29 29
    </form-inline>
30 30
    <form-inline [description]="eissnDesc" [valid]="group.get('eissn').valid">
31 31
      <span *ngIf="group.get('eissn').invalid && group.get('eissn').touched && group.get('eissn').dirty"
32
            class="help-block inline"
32
            class="help-block inline uk-text-danger"
33 33
            style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">Eissn needs to be of the form: "1111-1111"</span>
34 34
      <input formControlName="eissn"class="form-control" type="text" (focus)="group.get('eissn').markAsUntouched()" (blur)="group.get('eissn').updateValueAndValidity()">
35 35
    </form-inline>
36 36
    <form-inline [description]="lissnDesc" [valid]="group.get('lissn').valid">
37 37
      <span *ngIf="group.get('lissn').invalid && group.get('lissn').touched && group.get('lissn').dirty"
38
            class="help-block inline"
38
            class="help-block inline uk-text-danger"
39 39
            style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">Lissn needs to be of the form: "1111-1111"</span>
40 40
      <input formControlName="lissn"class="form-control" type="text" (focus)="group.get('lissn').markAsUntouched()" (blur)="group.get('lissn').updateValueAndValidity()">
41 41
    </form-inline>
42 42
  </div>
43
  <form-inline [description]="repoDescriptionDesc" [valid]="group.get('repoDescription').valid">
43
  <form-inline [description]="repoDescriptionDesc" [valid]="group.get('repoDescription').valid || !formSubmitted">
44 44
    <textarea formControlName="repoDescription" class="form-control"></textarea>
45 45
  </form-inline>
46
  <form-inline [description]="countryDesc" [valid]="group.get('country').valid">
46
  <form-inline [description]="countryDesc" [valid]="group.get('country').valid || !formSubmitted">
47 47
    <select formControlName="country" class="form-control">
48 48
      <option value="">-- none selected --</option>
49 49
      <option *ngFor="let country of countries" value="{{ country.code }}">{{ country.name }}</option>
50 50
    </select>
51 51
  </form-inline>
52
  <form-inline [description]="longtitudeDesc" [valid]="group.get('longtitude').valid">
52
  <form-inline [description]="longtitudeDesc" [valid]="group.get('longtitude').valid || !formSubmitted">
53 53
    <span *ngIf="group.get('longtitude').invalid && group.get('longtitude').touched && group.get('longtitude').dirty"
54 54
          class="help-block inline"
55
          style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">Invalid Longtitude</span>
56
    <input formControlName="longtitude" class="form-control" type="text" (focus)="group.get('longtitude').markAsUntouched()" (blur)="group.get('longtitude').updateValueAndValidity()">
55
          style="margin-top: 0px; margin-bottom: 0px; ">Invalid Longtitude</span>
56
    <input formControlName="longtitude" class="form-control" type="text"
57
           (focus)="group.get('longtitude').markAsUntouched()"
58
           (blur)="group.get('longtitude').updateValueAndValidity()">
57 59
  </form-inline>
58
  <form-inline [description]="latitudeDesc" [valid]="group.get('latitude').valid">
60
  <form-inline [description]="latitudeDesc" [valid]="group.get('latitude').valid || !formSubmitted">
59 61
    <span *ngIf="group.get('latitude').invalid && group.get('latitude').touched && group.get('latitude').dirty"
60 62
          class="help-block inline"
61
          style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">Invalid Latitude</span>
63
          style="margin-top: 0px; margin-bottom: 0px; ">Invalid Latitude</span>
62 64
    <input formControlName="latitude" class="form-control" type="text" (focus)="group.get('latitude').markAsUntouched()" (blur)="group.get('latitude').updateValueAndValidity()">
63 65
  </form-inline>
64
  <form-inline [description]="websiteUrlDesc" [valid]="group.get('websiteUrl').valid">
65
    <input formControlName="websiteUrl" class="form-control" type="text">
66
  <form-inline [description]="websiteUrlDesc" [valid]="group.get('websiteUrl').valid || !formSubmitted">
67
    <span *ngIf="group.get('websiteUrl').invalid && group.get('websiteUrl').touched && group.get('websiteUrl').dirty"
68
          class="help-block inline uk-text-danger"
69
          style="margin-top: 0px; margin-bottom: 0px; ">You need to enter a valid url</span>
70
    <input formControlName="websiteUrl" class="form-control" type="text"
71
           (focus)="group.get('websiteUrl').markAsUntouched()"
72
           (blur)="group.get('websiteUrl').updateValueAndValidity()">
66 73
  </form-inline>
67
  <form-inline [description]="institutionNameDesc" [valid]="group.get('institutionName').valid">
74
  <form-inline [description]="institutionNameDesc" [valid]="group.get('institutionName').valid || !formSubmitted">
68 75
    <input formControlName="institutionName" class="form-control" type="text">
69 76
  </form-inline>
70 77
  <h4 class="uk-h4 uk-text-primary uk-scrollspy-inview uk-animation-slide-top-medium"
71 78
      uk-scrollspy-class="">Extra Information</h4>
72
  <form-inline [description]="englishNameDesc" [valid]="group.get('englishName').valid">
79
  <form-inline [description]="englishNameDesc" [valid]="group.get('englishName').valid || !formSubmitted">
73 80
    <input formControlName="englishName" class="form-control" type="text" >
74 81
  </form-inline>
75 82
  <form-inline [description]="logoUrlDesc" [valid]="group.get('logoUrl').valid">
76
    <input formControlName="logoUrl" class="form-control" type="text">
83
    <span *ngIf="group.get('logoUrl').invalid && group.get('logoUrl').touched && group.get('logoUrl').dirty"
84
          class="help-block inline uk-text-danger"
85
          style="margin-top: 0px; margin-bottom: 0px; ">The url you entered is not valid</span>
86
    <input formControlName="logoUrl" class="form-control" type="text"
87
           (focus)="group.get('logoUrl').markAsUntouched()"
88
           (blur)="group.get('logoUrl').updateValueAndValidity()">
77 89
    <div class="comment fontItalic">
78 90
      Please make sure that the maximum size of the uploaded image is width=360px, height=240px
79 91
    </div>
80 92
  </form-inline>
81
  <form-inline [description]="timezoneDesc" [valid]="group.get('timezone').valid">
93
  <form-inline [description]="timezoneDesc" [valid]="group.get('timezone').valid || !formSubmitted">
82 94
    <select formControlName="timezone" class="form-control">
83 95
      <option value="">-- none selected --</option>
84 96
      <option *ngFor="let timezone of timezones" value="{{ timezone.offset }}">{{ timezone.name }}</option>
85 97
    </select>
86 98
  </form-inline>
87
  <form-inline [description]="datasourceTypeDesc" [valid]="group.get('datasourceType').valid">
99
  <form-inline [description]="datasourceTypeDesc" [valid]="group.get('datasourceType').valid || !formSubmitted">
88 100
    <select formControlName="datasourceType" class="form-control">
89 101
      <option value="">-- none selected --</option>
90 102
      <option *ngFor="let key of classCodes" value="{{key}}">{{ datasourceClasses[key] }}</option>
......
93 105
  </form-inline>
94 106
  <h4 class="uk-h4 uk-text-primary uk-scrollspy-inview uk-animation-slide-top-medium"
95 107
      uk-scrollspy-class="">Administrator & contact information</h4>
96
  <form-inline [description]="adminEmailDesc" [valid]="group.get('adminEmail').valid">
108
  <form-inline [description]="adminEmailDesc" [valid]="group.get('adminEmail').valid || !formSubmitted">
97 109
    <span *ngIf="group.get('adminEmail').invalid && group.get('adminEmail').touched && group.get('adminEmail').dirty"
98 110
          class="help-block inline"
99
          style="margin-top: 0px; margin-bottom: 0px; padding-left: 10px;">You need to enter a valid email address</span>
111
          style="margin-top: 0px; margin-bottom: 0px; ">You need to enter a valid email address</span>
100 112
    <input formControlName="adminEmail" class="form-control" type="text"
101 113
           (focus)="group.get('adminEmail').markAsUntouched()"
102 114
           (blur)="group.get('adminEmail').updateValueAndValidity()">
modules/uoa-repository-dashboard-gui/trunk/app/shared/topmenu/topmenu.component.html
97 97
        <div class="uk-container uk-container-expand">
98 98
          <nav class="uk-navbar" uk-navbar="{&quot;align&quot;:&quot;left&quot;}">
99 99
            <div class="uk-navbar-left">
100
              <a [routerLink]="['/dashboard']" class="uk-logo uk-navbar-item">
100
              <a [routerLink]="['landing']" class="uk-logo uk-navbar-item">
101 101
                <img src="assets/imgs/OA_PROVIDE_B.png" alt="OpenAIRE" class="uk-responsive-height">
102 102
              </a>
103 103
            </div>
104 104

  
105 105
            <!-- THERE WAS COMMENTED SCRIPT HERE - CHECK REPOSITORYMANAGER.HTML -->
106 106

  
107
            <div class="uk-navbar-center" *ngIf="getIsUserLoggedIn()">
107
            <div class="uk-navbar-center" *ngIf="getIsUserLoggedIn()" >
108 108

  
109 109
              <ul class="uk-navbar-nav">
110 110
                <li class="uk-parent" [routerLinkActive]="['uk-active']">
......
194 194
                    <div class="uk-navbar-dropdown-grid uk-child-width-1-1 uk-grid uk-grid-stack" uk-grid="">
195 195
                      <div class="uk-first-column">
196 196
                        <ul class="uk-nav uk-navbar-dropdown-nav">
197
                          <ul *ngIf="isUserAdmin()" class="uk-nav uk-navbar-dropdown-nav">
197
                          <ul *ngIf="getIsUserAdmin()" class="uk-nav uk-navbar-dropdown-nav">
198 198
                            <li class="uk-nav-header" style="display: block;">Admin</li>
199 199
                            <li style="display: block"><a [routerLink]="['/admin','help-texts']">Help Texts</a></li>
200 200
                            <li style="display: block" class="uk-margin-small-bottom"><a [routerLink]="['/admin','metrics']">Metrics</a></li>
......
212 212
        </div>
213 213
      </div>
214 214

  
215
      <!-- hidden="hidden" DOESN'T WORK! -->
216 215
      <div class="uk-sticky-placeholder" style="height: 84px; margin: 0px;" hidden="hidden"></div>
217 216
    </div>
218 217

  
modules/uoa-repository-dashboard-gui/trunk/app/shared/reusablecomponents/forms/my-group.interface.ts
124 124
  selector : 'form-inline',
125 125
  template : `
126 126
    <div class="form-group">
127
      <label class="control-label" *ngIf="description.label != ''" [ngClass]="{'required' : description.mandatory==true}" title="{{ description.desc }}">
127
      <label class="control-label" *ngIf="description.label != ''" [ngClass]="{'required' : description.mandatory==true, 'uk-text-danger' : valid == false}" title="{{ description.desc }}">
128 128
        {{ description.label }}
129 129
      </label>
130 130
      <ng-content></ng-content>
modules/uoa-repository-dashboard-gui/trunk/webpack.config.js
98 98
        "process.env": {
99 99
          PRODUCTION: JSON.stringify(false),
100 100
          API_ENDPOINT: JSON.stringify(process.env.API_ENDPOINT || "http://aleka.athenarc.gr:8380/repomanager-service-dev"),
101
          FAQ_ENDPOINT: JSON.stringify(process.env.FAQ_ENDPOINT || "http://aleka.athenarc.gr:5555"),
101
          FAQ_ENDPOINT: JSON.stringify(process.env.FAQ_ENDPOINT || "http://aleka.athenarc.gr:5555/api"),
102 102
          WORKFLOW_API_ENDPOINT: JSON.stringify(process.env.WORKFLOW_API_ENDPOINT || "http://aleka.athenarc.gr:3000"),
103 103
          AAI_ENDPOINT: JSON.stringify(process.env.AAI_ENDPOINT || "http://aleka.athenarc.gr:8380/repomanager-service-dev/openid_connect_login")
104 104
        }
......
126 126
        "process.env": {
127 127
          PRODUCTION: JSON.stringify(true),
128 128
          API_ENDPOINT: JSON.stringify("http://aleka.athenarc.gr:8380/repomanager-service-dev"),
129
          FAQ_ENDPOINT: JSON.stringify("http://aleka.athenarc.gr:5555"),
129
          FAQ_ENDPOINT: JSON.stringify("http://aleka.athenarc.gr:5555/api"),
130 130
          WORKFLOW_API_ENDPOINT: JSON.stringify("http://aleka.athenarc.gr:3000"),
131 131
          AAI_ENDPOINT: JSON.stringify("http://aleka.athenarc.gr:8380/repomanager-service-dev/openid_connect_login")
132 132
        }
modules/uoa-repository-dashboard-gui/trunk/app/pages/sources/sources-forms/datasource-update-form.component.ts
62 62

  
63 63
  @Input() showButton: boolean;
64 64

  
65
  formSubmitted:boolean = false;
65 66
  updateGroup: FormGroup;
66 67
  readonly updateGroupDefinition = {
67 68
    softwarePlatform : '',
......
74 75
    country : ['', Validators.required],
75 76
    longtitude : ['', [Validators.required, Validators.min(-180), Validators.max(180)] ],
76 77
    latitude : ['', [Validators.required, Validators.min(-90), Validators.max(90)] ],
77
    websiteUrl : ['', [Validators.required] ],
78
    websiteUrl : ['', [Validators.required, Validators.pattern('^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$')] ],
78 79
    institutionName : ['', Validators.required],
79 80
    englishName: ['', Validators.required],
80
    logoUrl: [''],
81
    logoUrl: ['', Validators.pattern('^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$') ],
81 82
    timezone: ['', Validators.required],
82 83
    datasourceType: ['', Validators.required],
83 84
    adminEmail: ['', [Validators.required, Validators.email]]
......
165 166
      this.updateGroup.get('websiteUrl').disable();
166 167
      this.updateGroup.get('institutionName').disable();
167 168
      if (this.selectedRepo.datasourceType == 'journal') {
169

  
170
        this.updateGroup.get('issn').setValidators([Validators.required, Validators.pattern('^\\d\\d\\d\\d[-]\\d\\d\\d\\d$')]);
171

  
168 172
        let ssnToShow = this.selectedRepo.issn.slice(0, 4)+ '-' + this.selectedRepo.issn.toString().slice(4);
169 173
        this.updateGroup.get('issn').setValue(ssnToShow);
170
        if (this.selectedRepo.eissn) {
174

  
175
        if (this.selectedRepo.eissn.trim().length) {
171 176
          ssnToShow = this.selectedRepo.eissn.slice(0, 4)+ '-' + this.selectedRepo.eissn.toString().slice(4);
172 177
          this.updateGroup.get('eissn').setValue(ssnToShow);
173 178
        }
174
        if (this.selectedRepo.eissn) {
179

  
180
        if (this.selectedRepo.lissn.trim().length) {
175 181
          ssnToShow = this.selectedRepo.lissn.slice(0, 4)+ '-' + this.selectedRepo.lissn.toString().slice(4);
176 182
          this.updateGroup.get('lissn').setValue(ssnToShow);
177 183
        }
184

  
178 185
        this.updateGroup.get('issn').disable();
179 186
        this.updateGroup.get('eissn').disable();
180 187
        this.updateGroup.get('lissn').disable();
......
246 253
  }
247 254

  
248 255
  updateRepo() {
256
    this.formSubmitted = true;
249 257
    this.errorMessage = '';
250 258
    this.successMessage = '';
251 259

  
......
343 351
export function checkPlatform(c: AbstractControl) {
344 352
  if ( c.get('softwarePlatform').value || c.get('platformName').value )
345 353
    return null;
354
  markPlatformAsRequired(c);
346 355
  return 'invalid';
347 356
}
357

  
358
export function markPlatformAsRequired(c: AbstractControl) {
359
  c.get('platformName').setValidators([Validators.required]);
360
}
modules/uoa-repository-dashboard-gui/trunk/app/pages/sources/sources-forms/datasource-create-form.component.ts
56 56

  
57 57
  @Output() emittedInfo: EventEmitter<Repository> = new EventEmitter();
58 58

  
59
  formSubmitted: boolean = false;
59 60
  group: FormGroup;
60 61
  readonly groupDefinition = {
61
    softwarePlatform : '',
62
    softwarePlatform : ['', Validators.required],
62 63
    officialName : ['', Validators.required],
63 64
    issn : ['', [Validators.pattern('^\\d\\d\\d\\d[-]\\d\\d\\d\\d$')] ],
64 65
    eissn : ['', Validators.pattern('^\\d\\d\\d\\d[-]\\d\\d\\d\\d$') ],
......
67 68
    country : ['', Validators.required],
68 69
    longtitude : ['', [Validators.required, Validators.min(-180), Validators.max(180)] ],
69 70
    latitude : ['', [Validators.required, Validators.min(-90), Validators.max(90)] ],
70
    websiteUrl : ['', [Validators.required] ],
71
    websiteUrl : ['', [Validators.required, Validators.pattern('^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$')] ],
71 72
    institutionName : ['', Validators.required],
72 73
    englishName: ['', Validators.required],
73
    logoUrl: [''],
74
    logoUrl: ['', Validators.pattern('^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$') ],
74 75
    timezone: ['', Validators.required],
75 76
    datasourceType: ['', Validators.required],
76 77
    adminEmail: ['', [Validators.required, Validators.email] ]
......
114 115
    }*/
115 116
    console.log(this.mode);
116 117
    this.group = this.fb.group(this.groupDefinition);
118
    if (this.mode == 'journal') {
119
      this.group.get('issn').setValidators([Validators.required, Validators.pattern('^\\d\\d\\d\\d[-]\\d\\d\\d\\d$')]);
120
    }
117 121
    this.getTypologies();
118 122
    this.getTimezones();
119 123
    this.getCountries();
......
168 172
  }
169 173

  
170 174
  registerDatasource() {
175
    this.formSubmitted = true;
171 176
    this.errorMessage = '';
172 177
    this.successMessage = '';
173 178

  
modules/uoa-repository-dashboard-gui/trunk/app/pages/sources/sources-update.component.html
3 3
        <h1 class="uk-h2">Manage your datasources</h1>
4 4

  
5 5
        <!-- TOP HELP CONTENT -->
6
<!--        <help-content #topHelperContent [position]="'top'"
6
        <help-content #topHelperContent [position]="'top'"
7 7
                      [ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
8
        </help-content>-->
8
        </help-content>
9 9

  
10 10
        <div class="uk-container uk-margin-medium-top uk-margin-medium-bottom">
11 11
          <div class="uk-grid">
12 12

  
13 13
            <!-- LEFT HELP CONTENT -->
14
<!--            <aside-help-content #leftHelperContent [position]="'left'"
14
            <aside-help-content #leftHelperContent [position]="'left'"
15 15
                                [ngClass]="leftHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
16
            </aside-help-content>-->
16
            </aside-help-content>
17 17

  
18 18
            <!-- MIDDLE -->
19 19
            <div class=" uk-width-expand@m">
......
58 58
      </div>
59 59
    </div>
60 60

  
61

  
62

  
63

  
64
<!--  *** OLD HTML ***
65

  
66

  
67
<div class="uk-grid-margin uk-grid uk-grid-stack">
68
  <aside-help-content #rightHelperContent [position]="'left'"
69
                      [ngClass]="rightHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
70
  </aside-help-content>
71
  <div class="uk-width-expand@m uk-first-column">
72
    <div class="uk-margin-medium-bottom">
73
      <h1 class="uk-article-title">Manage your datasources</h1>
74
    </div>
75
    <help-content #topHelperContent [position]="'top'"
76
                  [ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
77
    </help-content>
78
    <div class="">
79
      <repository-tiles [parent]="'sourcesUpdate'"></repository-tiles>
80
      <div class="row openAIRECompliantLogoDownload">
81
        <div class="col-lg-12">
82
          <div class="col-md-12">
83
            <div>
84
              <div class="openAIRECompliantLogo">
85
                <h2 class="openAIRECompliantLogoMessage">
86
                  Congratulations! Your repository was successfully registered in OpenAIRE. You can download this logo to use in your site.
87
                </h2>
88
                <img src="assets/imgs/3_0ValidatedLogo.png" alt="OpenAireCompliant">
89
              </div>
90
            </div>
91
            <a>
92
              Download
93
              <i class="fa fa-download" style=""></i>
94
            </a>
95
          </div>
96
        </div>
97
      </div>
98
    </div>
99
  </div>
100
  <aside-help-content #rightHelperContent [position]="'right'"
101
                      [ngClass]="rightHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
102
  </aside-help-content>
103
  <help-content #topHelperContent [position]="'bottom'"
104
                [ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
105
  </help-content>
106
</div>
107
-->
modules/uoa-repository-dashboard-gui/trunk/app/pages/sources/sources-register.component.html
4 4
    <h1 class="uk-h2">Register your datasource</h1>
5 5

  
6 6
    <!-- TOP HELP CONTENT -->
7
<!--    <help-content #topHelperContent [position]="'top'"
7
    <help-content #topHelperContent [position]="'top'"
8 8
                  [ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
9
    </help-content>-->
9
    </help-content>
10 10

  
11 11
    <div class="uk-container uk-margin-medium-top uk-margin-medium-bottom">
12 12
      <div class="uk-grid">
13 13

  
14 14
        <!-- LEFT HELP CONTENT -->
15
<!--        <aside-help-content #leftHelperContent [position]="'left'"
15
        <aside-help-content #leftHelperContent [position]="'left'"
16 16
                            [ngClass]="leftHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
17
        </aside-help-content>-->
17
        </aside-help-content>
18 18

  
19 19
        <!-- MIDDLE -->
20 20
        <div class=" uk-width-expand@m">
......
114 114

  
115 115

  
116 116
    <!-- BOTTOM HELP CONTENT -->
117
<!--    <help-content #bottomHelperContent [position]="'bottom'"
117
    <help-content #bottomHelperContent [position]="'bottom'"
118 118
                  [ngClass]="bottomHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
119
    </help-content>-->
119
    </help-content>
120 120

  
121 121

  
122 122
  </div>
123 123
</div>
124 124

  
125

  
126
<!-- *** OLD HTML ***
127
<div class="uk-grid-margin uk-grid uk-grid-stack">
128
  <div class="uk-width-expand@m uk-first-column">
129
    <div class="uk-margin-medium-bottom">
130
      <h1 class="uk-article-title">Register your datasource</h1>
131
    </div>
132
    <div>
133
      <div class="uk-margin uk-grid repositoryTypeSelection" uk-grid="">
134
        <div class="uk-width-expand@m uk-width-1-2@s uk-grid-item-match uk-first-column">
135
          <div class="uk-text-center uk-card uk-card-default uk-card-hover uk-scrollspy-inview uk-animation-slide-top-medium" uk-scrollspy-class="">
136
            <a routerLink="literature" class="el-link uk-position-cover uk-margin-remove-adjacent"></a>
137
            <div class="uk-card-media-top">
138
              <img class="el-image" src="assets/imgs/Literature_repos_square.png" alt="" style="width: 100%;">
139
            </div>
140
            <div class="uk-card-body">
141
              <h3 class="el-title uk-margin uk-card-title uk-margin-remove-adjacent uk-margin-small-bottom">
142
                Make sure your repository is already registered in OpenDOAR, the authoritative directory of institutional and thematic OA repositories.
143
              </h3>
144
              <div class="el-meta uk-margin uk-text-meta" style="z-index:9999; position:relative;">
145
                <a href="http://www.opendoar.org" target="_blank">
146
                  List provided by
147
                  <br>
148
                  OpenDOAR<i class="fa fa-external-link" style="margin-left: 3px !important;"></i>
149
                </a>
150
              </div>
151
            </div>
152
          </div>
153
        </div>
154
        <div class="uk-width-expand@m uk-width-1-2@s uk-grid-item-match">
155
          <div class="uk-margin uk-text-center uk-card uk-card-default uk-card-hover uk-scrollspy-inview uk-animation-slide-top-medium" uk-scrollspy-class="" data-id="" style="">
156
            <a routerLink="data" class="el-link uk-position-cover uk-margin-remove-adjacent" href=""></a>
157
            <div class="uk-card-media-top">
158
              <img class="el-image" src="assets/imgs/Data_repos_sqare.png" alt="" style="width:100%;">
159
            </div>
160
            <div class="uk-card-body">
161
              <h3 class="el-title uk-margin uk-card-title uk-margin-remove-adjacent uk-margin-small-bottom" >
162
                Make sure your data repository is registered in Re3Data, the global registry of research data repositories from different academic disciplines.
163
              </h3>
164
              <div class="el-meta uk-margin uk-text-meta" style="z-index:9999; position:relative;">
165
                <a href="http://www.re3data.org" target="_blank">
166
                  List provided by
167
                  <br>
168
                  Re3data<i class="fa fa-external-link" style="margin-left: 3px !important;"></i>
169
                </a>
170
              </div>
171
            </div>
172
          </div>
173
        </div>
174
        <div class="uk-width-expand@m uk-width-1-2@s uk-grid-item-match">
175
          <div class="uk-margin uk-text-center uk-card uk-card-default uk-card-hover uk-scrollspy-inview uk-animation-slide-top-medium" uk-scrollspy-class="" data-id="" style="">
176
            <a routerLink="journal" class="el-link uk-position-cover uk-margin-remove-adjacent"></a>
177
            <div class="uk-card-media-top">
178
              <img class="el-image" src="assets/imgs/OAJournals_square.png" alt="" style="width:100%;">
179
            </div>
180
            <div class="uk-card-body">
181
              <h3 class="el-title uk-margin uk-card-title uk-margin-remove-adjacent uk-margin-small-bottom">
182
                Make sure that your Open Access Journal is compatible with the OpenAIRE literature Guidelines.
183
              </h3>
184
              <div class="el-meta uk-margin uk-text-meta" style="z-index:9999; position:relative;">
185
                <a href="https://www.openaire.eu/helpdesk/" target="_blank">
186
                  For any questions please contact the OpenAIRE helpdesk.
187
                  <i class="fa fa-external-link" style="margin-left: 3px !important;"></i>
188
                </a>
189
              </div>
190
            </div>
191
          </div>
192
        </div>
193
        <div class="uk-width-expand@m uk-width-1-2@s uk-grid-item-match">
194
          <div class="uk-margin uk-text-center uk-card uk-card-default uk-card-hover uk-scrollspy-inview uk-animation-slide-top-medium" uk-scrollspy-class="" data-id="" style="">
195
            <a routerLink="aggregator" class="el-link uk-position-cover uk-margin-remove-adjacent"></a>
196
            <div class="uk-card-media-top">
197
              <img class="el-image" src="assets/imgs/Icons_Aggregators_square.png" alt="" style="width:100%;">
198
            </div>
199
            <div class="uk-card-body">
200
              <h3 class="el-title uk-margin uk-card-title uk-margin-remove-adjacent uk-margin-small-bottom">
201
                Make sure that your publications aggregator is compatible with the OpenAIRE literature Guidelines.
202
              </h3>
203
              <div class="el-meta uk-margin uk-text-meta" style="z-index:9999; position:relative;">
204
                <a href="http://www.re3data.org" target="_blank">
205
                  For any questions please contact the OpenAIRE helpdesk.
206
                  <i class="fa fa-external-link" style="margin-left: 3px !important;"></i>
207
                </a>
208
              </div>
209
            </div>
210
          </div>
211
        </div>
212
      </div>
213
    </div>
214
  </div>
215
  &lt;!&ndash;<div class="tm-sidebar uk-width-1-4@m uk-first-column">
216
    <div class="gwt-HTML">
217
      <div class="uk-card uk-card-body uk-card-default sidemenu">
218
        <h3>Info / Help</h3>
219
        <p>
220
          The OpenAIRE services provide you with an easy way to register your content provider, literature or data repository, OA Journal into the OpenAIRE network. Please join!
221
        </p>
222
        <p>
223
          1) Make your repository, CRIS or journal OpenAIRE compatible by implementing the OpenAIRE
224
          <a href="https://guidelines.openaire.eu/en/latest/" target="_blank">Guidelines</a>
225
          .
226
        </p>
227
        <p>
228
          2) After you have made some progress in implementing the guidelines you should run a Compatibility test using the validator tool.
229
        </p>
230
        <p>
231
          3) Register your literature repository in OpenDOAR or your data repositoriy in Re3Data (this step does not apply for journals or CRIS).
232
        </p>
233
      </div>
234
    </div>
235
  </div>&ndash;&gt;
236
  <aside-help-content #rightHelperContent [position]="'right'"
237
                      [ngClass]="rightHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
238
  </aside-help-content>
239
</div>
240
-->
modules/uoa-repository-dashboard-gui/trunk/app/pages/sources/sources-update-repo.component.html
2 2
      <div class="uk-width-1-1@m uk-first-column">
3 3

  
4 4
        <!-- TOP HELP CONTENT -->
5
<!--        <help-content #topHelperContent [position]="'top'"
5
        <help-content #topHelperContent [position]="'top'"
6 6
                      [ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
7
        </help-content>-->
7
        </help-content>
8 8

  
9 9
        <div class="uk-container uk-margin-medium-top uk-margin-medium-bottom">
10 10
          <div class="uk-grid">
11 11

  
12 12
            <!-- LEFT HELP CONTENT -->
13
<!--            <aside-help-content #leftHelperContent [position]="'left'"
13
            <aside-help-content #leftHelperContent [position]="'left'"
14 14
                                [ngClass]="leftHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
15
            </aside-help-content>-->
15
            </aside-help-content>
16 16

  
17 17
            <!-- MIDDLE -->
18 18
            <div class=" uk-width-expand@m">
......
89 89
      </div>
90 90
    </div>
91 91

  
92
<!--  *** OLD HTML ***
93

  
94
<div class="uk-grid uk-grid-stack">
95
  <div class="uk-width-expand@m uk-first-column">
96
    <div *ngIf="loadingMessage" class="loading-big">
97
      <div class="loader-big" style="text-align: center; padding-top: 170px; color: rgb(47, 64, 80); font-weight: bold;">
98
        {{ loadingMessage }}
99
      </div>
100
      <div class="whiteFilm"></div>
101
    </div>
102
    <div *ngIf="errorMessage" class="uk-alert uk-alert-danger">{{ errorMessage }}</div>
103
    <div *ngIf="repo" class="uk-margin-medium-bottom">
104
      <h1 class="uk-article-title">
105
        <a id="updateLogoURL" (click)="datasourceUpdateForm.updateLogoUrl(repo.logoUrl)">
106
          <img *ngIf="!logoURL" src="/assets/imgs/yourLogoHere.jpg" style="margin-right: 15px; margin-top:-8px" width="60">
107
          <img *ngIf="logoURL" src="{{ logoURL }}" style="margin-right: 15px; margin-top:-8px" width="60">
108
        </a>
109
        {{ repo.officialName }}
110
      </h1>
111
    </div>
112
    <div *ngIf="repo">
113
      <div>
114
        <ul class="uk-margin el-nav uk-tab" uk-switcher="connect: .uk-switcher">
115
          <li routerLinkActive="uk-active">
116
            <a href="#">Update Information</a>
117
          </li>
118
          <li routerLinkActive="uk-active">
119
            <a href="#">Update Interfaces</a>
120
          </li>
121
        </ul>
122
        <ul class="uk-switcher">
123
          <li class="el-item">
124
            <div>
125
              <datasource-update-form #datasourceUpdateForm
126
                                      [selectedRepo]="repo"
127
                                      [showButton]=true
128
                                      (emittedUrl)="getNewLogoUrl($event)"></datasource-update-form>
129
            </div>
130
          </li>
131
          <li class="el-item">
132
            <div *ngIf="repo && repoInterfaces" class="uk-width-1-1@m uk-first-column">
133
              <form [formGroup]="group">
134
                <form-repeat [component]="updateDatasourceInterfaces"
135
                             [parentGroup]="group"
136
                             [description]="interfaceFormDesc"
137
                             [name]="'datasource-interface-form'"
138
                             [data]="repoInterfaces"
139
                             [otherData]="repo">
140
                </form-repeat>
141
              </form>
142
            </div>
143
          </li>
144
        </ul>
145
      </div>
146
    </div>
147
  </div>
148
&lt;!&ndash;  <div class="tm-sidebar uk-width-1-4@m">
149
    <div>
150
      <div class="uk-card uk-card-body uk-card-default sidemenu"><h3>Info / Help</h3>
151
        <p>You have access to edit&nbsp;the following repository listed on the left.&nbsp;Fields marked with * are mandatory.
152
          &nbsp;Hover over each field to find more information about it.</p>
153
        <p>The official repository administrator (his/her email address being retrieved from the OAI-PMH verb Identify) will be contacted and informed about the update request.
154
          So please make sure that you are either this person or have access to the email address, or that you have notified them.</p>
155
        <p>For any problems or questions please contact the <a href="https://www.openaire.eu/support/helpdesk" target="_blank">OpenAIRE helpdesk</a>.</p>
156
      </div>
157
    </div>
158
  </div>&ndash;&gt;
159
  <aside-help-content #rightHelperContent [position]="'right'"
160
                      [ngClass]="rightHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
161
  </aside-help-content>
162
</div>
163
-->
modules/uoa-repository-dashboard-gui/trunk/app/pages/metrics/metrics-show.component.html
10 10
        <h1 class="uk-h2">Metrics</h1>
11 11

  
12 12
        <!-- TOP HELP CONTENT -->
13
<!--        <help-content #topHelperContent [position]="'top'"
13
        <help-content #topHelperContent [position]="'top'"
14 14
                      [ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
15
        </help-content>-->
15
        </help-content>
16 16

  
17 17
        <div class="uk-container uk-margin-medium-top uk-margin-medium-bottom">
18 18
          <div class="uk-grid">
19 19

  
20 20
            <!-- LEFT HELP CONTENT -->
21
<!--            <aside-help-content #leftHelperContent [position]="'left'"
21
            <aside-help-content #leftHelperContent [position]="'left'"
22 22
                                [ngClass]="leftHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
23
            </aside-help-content>-->
23
            </aside-help-content>
24 24

  
25 25
            <!-- MIDDLE -->
26 26
            <div class=" uk-width-expand@m">
......
90 90
  </div>
91 91
</div>
92 92

  
93

  
94
<!--  *** OLD HTML ***
95

  
96
<div id="contentWrapper"
97
     class="tm-main uk-section uk-section-default"
98
     uk-height-viewport="expand: true"
99
     style="box-sizing: border-box;" >
100

  
101
  &lt;!&ndash; MARGIN-TOP  &ndash;&gt;
102
  <div class="uk-sticky-placeholder" style="height: 84px; margin: 0px;" aria-hidden="true"></div>
103

  
104
  <div>
105
    <div class="uk-container">
106
      <div class="uk-grid uk-grid-stack">
107
        <div class="uk-width-expand@m uk-first-column">
108
          <div class="gwt-HTML uk-margin-medium-bottom">
109
            <h1 class="uk-article-title">Metrics</h1>
110
          </div>
111
          <div *ngIf="errorMessage" class="uk-alert uk-alert-danger">{{ errorMessage }}</div>
112
          <div *ngIf="loadingMessage" class="loading-big">
113
            <div class="loader-big" style="text-align: center; padding-top: 170px; color: rgb(47, 64, 80); font-weight: bold;">
114
              {{ loadingMessage }}
115
            </div>
116
            <div class="whiteFilm"></div>
117
          </div>
118
          <div *ngIf="repoMetrics">
119
            <div class="uk-margin-medium-bottom">
120
              <div>
121
                <div class="uk-child-width-1-3@m uk-grid-small uk-grid-match uk-grid" uk-grid="">
122
                  <div class="metrics-openaire uk-first-column">
123
                    <div class="uk-tile uk-tile-default uk-padding-small">
124
                      <div class="uk-text-center">   {{ pageViews }}</div>
125
                      <div class="uk-text-center"> views in OpenAIRE</div>
126
                    </div>
127
                  </div>
128
                  <div class="metrics-views">
129
                    <div class="uk-tile uk-tile-muted uk-padding-small">
130
                      <div class="uk-text-center">  {{ totalViews }}
131
                        <span *ngIf="repoMetrics.metricsNumbers.total_openaire_views">( {{ repoMetrics.metricsNumbers.total_openaire_views }} from OpenAIRE )</span>
132
                      </div>
133
                      <div class="uk-text-center">views in local repository</div>
134
                    </div>
135
                  </div>
136
                  <div class="metrics-downloads">
137
                    <div class="uk-tile uk-tile-primary uk-padding-small">
138
                      <div class="uk-text-center">  {{ totalDownloads }}
139
                        <span *ngIf="repoMetrics.metricsNumbers.total_openaire_downloads">( {{ repoMetrics.metricsNumbers.total_openaire_downloads }} from OpenAIRE )</span></div>
140
                      <div class="uk-text-center">downloads in local repository</div>
141
                    </div>
142
                  </div>
143
                </div>
144
              </div>
145
            </div>
146
            <div class="uk-text-center uk-card uk-card-default uk-card-hover uk-scrollspy-inview uk-animation-slide-top-medium uk-margin-bottom uk-padding">
147
              <iframe class="statsFrame" [src]="viewsUrl"></iframe>
148
            </div>
149
            <div class="uk-text-center uk-card uk-card-default uk-card-hover uk-scrollspy-inview uk-animation-slide-top-medium uk-margin-bottom uk-padding">
150
              <iframe class="statsFrame" [src]="downloadsUrl"></iframe>
151
            </div>
152
          </div>
153
        </div>
154
        <div class="tm-sidebar uk-width-1-4@m">
155
          <div>
156
            <div class="uk-card uk-card-body uk-card-default sidemenu">
157
              <h3>Info</h3>
158
              <p>This page provides you with information about views and downloads of items in your datasource.</p>
159
              <p>The indicators are:</p>
160
              <ul>
161
                <li>
162
                  <strong>views</strong>
163
                  of your datasource items
164
                  <strong> in the OpenAIRE portal</strong>
165
                </li>
166
                <li>
167
                  <strong>views of items</strong>
168
                  tracked from your datasource
169
                </li>
170
                <li>
171
                  <strong>number of downloads</strong>
172
                  tracked from your datasource
173
                </li>
174
              </ul>
175
            </div>
176
          </div>
177
        </div>
178
      </div>
179
    </div>
180
  </div>
181
</div>
182
-->
modules/uoa-repository-dashboard-gui/trunk/app/pages/metrics/metrics-instructions.component.html
10 10
        <h1 class="uk-h2">Metrics Configuration & Software Details</h1>
11 11

  
12 12
        <!-- TOP HELP CONTENT -->
13
<!--        <help-content #topHelperContent [position]="'top'"
13
        <help-content #topHelperContent [position]="'top'"
14 14
                      [ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
15
        </help-content>-->
15
        </help-content>
16 16

  
17 17
        <div class="uk-container uk-margin-medium-top uk-margin-medium-bottom">
18 18
          <div class="uk-grid">
19 19

  
20 20
            <!-- LEFT HELP CONTENT -->
21
<!--            <aside-help-content #leftHelperContent [position]="'left'"
21
            <aside-help-content #leftHelperContent [position]="'left'"
22 22
                                [ngClass]="leftHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
23
            </aside-help-content>-->
23
            </aside-help-content>
24 24

  
25 25
            <!-- MIDDLE -->
26 26
            <div class=" uk-width-expand@m">
......
81 81
  </div>
82 82
</div>
83 83

  
84
<!--   *** OLD HTML ***
85

  
86
<div id="contentWrapper"
87
     class="tm-main uk-section uk-section-default"
88
     uk-height-viewport="expand: true"
89
     style="box-sizing: border-box;" >
90

  
91
  &lt;!&ndash; MARGIN-TOP  &ndash;&gt;
92
  <div class="uk-sticky-placeholder" style="height: 84px; margin: 0px;" aria-hidden="true"></div>
93

  
94
  <div>
95
    <div class="uk-container">
96
      <div class="uk-grid uk-grid-stack">
97
        <div class="uk-width-expand@m uk-first-column">
98
          <div class="gwt-HTML uk-margin-medium-bottom">
99
            <h1 class="uk-article-title">Metrics Configuration & Software Details</h1>
100
          </div>
101
          <div class="">
102
            <div>
103
              <div *ngIf="errorMessage" class="uk-alert uk-alert-danger">{{ errorMessage }}</div>
104
              <div *ngIf="piwik">
105
                <p>
106
                  OpenAIRE’s usage statistic service uses the <i>Piwik Open Source Analytics platform</i> (piwik.org) to track usage activity. When <i>metrics</i>
107
                  are enabled for a repository, two unique identifiers are generated - a piwik-ID that associates the repository with its usage events in Piwik
108
                  and an authentication-ID that allows to track usage activity on the Piwik platform. Metadata views and item downloads are tracked and automatically sent to Piwik. Statistics are generated using the COUNTER Code of practice directives.
109
                </p>
110
                <p>
111
                  OpenAIRE's usage statistics service tracking code exploits Piwik’s API. In order to make the tracking of usage events from repositories more robust, it was necessary to implement repository platform specific patches and plugins starting with DSpace and EPrints. The code is maintained on Github:
112
                </p>
113
                <ul>
114
                  <li>as a patch for various versions of DSpace
115
                    (<a href="https://github.com/openaire/OpenAIRE-Piwik-DSpace">https://github.com/dimitrispie/OpenAIRE-Piwik-DSpace</a>)</li>
116
                  <li>as an Eprints plugin for version 3
117
                    (<a href="https://github.com/openaire/EPrints-OAPiwik">https://github.com/dimitrispie/EPrints-OAPiwik</a>)</li>
118
                </ul>
119
                <p>
120
                  To configure your repository to allow tracking in Piwik platform, please change the configuration files with the following parameters and values, generated for your site:
121
                </p>
122
                <dl class="uk-description-list">
123
                  <dt>PiwikID</dt>
124
                  <dd>{{ piwik.siteId }}</dd>
125
                  <dt>AuthenticationToken</dt>
126
                  <dd>{{ piwik.authenticationToken }}</dd>
127
                </dl>
128
                <p>
129
                  Details for the configuration files are given in the README of the tracking code.
130
                </p>
131
                <div class="uk-alert uk-alert-info">
132
                  <strong>NOTE</strong>
133
                  - You will be informed by e-mail that the installation of the tracking code has been validated and when the usage statistics will be available.
134
                </div>
135
              </div>
136
            </div>
137
          </div>
138
        </div>
139
        &lt;!&ndash;<div class="tm-sidebar uk-width-1-4@m">
140
          <div>
141
            <div class="uk-card uk-card-body uk-card-default sidemenu">
142
              <h3>Info / Tracking setup</h3>
143
              <p></p>
144
            </div>
145
          </div>
146
        </div>&ndash;&gt;
147
        <aside-help-content #rightHelperContent [position]="'right'"
148
                            [ngClass]="rightHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
149
        </aside-help-content>
150
      </div>
151
    </div>
152
  </div>
153
</div>
154
-->
modules/uoa-repository-dashboard-gui/trunk/app/pages/compatibility/compatibility-monitor.component.html
4 4
    <h1 class="uk-h2">Monitor</h1>
5 5

  
6 6
    <!-- TOP HELP CONTENT -->
7
<!--    <help-content #topHelperContent [position]="'top'"
7
    <help-content #topHelperContent [position]="'top'"
8 8
                  [ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
9
    </help-content>-->
9
    </help-content>
10 10

  
11 11
    <div class="uk-container uk-margin-medium-top uk-margin-medium-bottom">
12 12
      <div class="uk-grid">
13 13

  
14 14
        <!-- LEFT HELP CONTENT -->
15
<!--        <aside-help-content #leftHelperContent [position]="'left'"
15
        <aside-help-content #leftHelperContent [position]="'left'"
16 16
                            [ngClass]="leftHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
17
        </aside-help-content>-->
17
        </aside-help-content>
18 18

  
19 19
        <!-- MIDDLE -->
20 20
        <div class=" uk-width-expand@m">
......
40 40

  
41 41
  </div>
42 42
</div>
43

  
44

  
45
<!--   *** OLD HTML ***
46

  
47
<div class="uk-grid uk-grid-stack">
48
  <div class="uk-width-expand@m uk-first-column">
49
    <div class="uk-margin-medium-bottom">
50
      <h1 class="uk-article-title">Monitor</h1>
51
    </div>
52
    <repository-tiles [parent]="'compatibilityMonitor'"></repository-tiles>
53
  </div>
54
</div>
55
-->
modules/uoa-repository-dashboard-gui/trunk/app/pages/compatibility/compatibility-validation-results.component.html
4 4
    <h1 class="uk-h2">Validation results for</h1>
5 5

  
6 6
    <!-- TOP HELP CONTENT -->
7
<!--    <help-content #topHelperContent [position]="'top'"
7
    <help-content #topHelperContent [position]="'top'"
8 8
                  [ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
9
    </help-content>-->
9
    </help-content>
10 10

  
11 11
    <div class="uk-container uk-margin-medium-top uk-margin-medium-bottom">
12 12
      <div class="uk-grid">
13 13

  
14 14
        <!-- LEFT HELP CONTENT -->
15
<!--        <aside-help-content #leftHelperContent [position]="'left'"
15
        <aside-help-content #leftHelperContent [position]="'left'"
16 16
                            [ngClass]="leftHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
17
        </aside-help-content>-->
17
        </aside-help-content>
18 18

  
19 19
        <!-- MIDDLE -->
20 20
        <div class=" uk-width-expand@m">
......
254 254
  </div>
255 255
</confirmation-dialog>
256 256

  
257

  
258
<!--   *** OLD HTML ***
259

  
260
<div class="uk-grid uk-grid-stack">
261
  <div class="uk-width-expand@m uk-first-column">
262
    <div class="uk-margin-medium-bottom">
263
      <h1 class="uk-article-title">Validation results for</h1>
264
    </div>
265
    <div>
266
      <div *ngIf="errorMessage" class="uk-alert uk-alert-danger">{{ errorMessage }}</div>
267
      <div *ngIf="loadingMessage" class="loading-big">
268
        <div class="loader-big" style="text-align: center; padding-top: 170px; color: rgb(47, 64, 80); font-weight: bold;">
269
          {{ loadingMessage }}
270
        </div>
271
        <div class="whiteFilm"></div>
272
      </div>
273
      <div *ngIf="jobSummary">
274
        <div>
275
          <div>
276
            <h4 class="uk-h4 uk-text-primary uk-scrollspy-inview uk-animation-slide-top-medium"
277
                uk-scrollspy-class=""><span>{{jobSummary.baseUrl}}</span></h4>
278
            <div class="uk-margin-small">by {{jobSummary.userEmail}}</div>
279
          </div>
280
        </div>
281
        <div>
282
          <div>
283
            <hr class="uk-scrollspy-inview uk-animation-slide-bottom-small" uk-scrollspy-class="">
284
            <div>
285
              <span>{{ jobSummary.jobType }}</span>
286
              |
287
              <span>{{ jobSummary.guidelinesShortName }}</span>
288
              |
289
              <span>Validation set: {{ jobSummary.validationSet }}</span>
290
            </div>
291
            <div>
292
              <span>Started: {{ jobSummary.started }}</span>
293
              ,
294
              <span>Ended: {{ jobSummary.ended }}</span>
295
              ,
296
              <span>Duration: {{ jobSummary.duration }}</span>
297
            </div>
298
            <div style="font-size: 120%;">
299
              <span>Records tested: {{ jobSummary.recordsTested }}</span>
300
            </div>
301
            <div>
302
              <span class="uk-label uk-margin-right">Score for content: {{ jobSummary.contentJobScore }}</span>
303
              <span class="uk-label">Score for usage: {{ jobSummary.usageJobScore }}</span>
304
            </div>
305
            <hr class="uk-scrollspy-inview uk-animation-slide-bottom-small" uk-scrollspy-class="">
306
          </div>
307
        </div>
308
        <div>
309
          <ul class="uk-margin el-nav uk-tab" uk-switcher="connect: .uk-switcher">
310
            <li routerLinkActive="uk-active">
311
              <a href="#">for Content</a>
312
            </li>
313
            <li routerLinkActive="uk-active">
314
              <a href="#">for Usage</a>
315
            </li>
316
          </ul>
317
          <ul class="uk-switcher">
318
            <li class="el-item">
319
              <div class="uk-grid-margin uk-grid uk-grid-stack">
320
                <div class="uk-width-1-1@m uk-first-column">
321
                  <div class="uk-overflow-auto uk-scrollspy-inview uk-animation-slide-top-medium">
322
                    <div *ngIf="noContent" class="uk-alert">{{ noContent }}</div>
323
                    <div>
324
                      <table class="uk-table uk-table-striped uk-table-middle rules-table">
325
                        <thead>
326
                          <tr>
327
                            <th>Rule Name</th>
328
                            <th class="uk-text-nowrap">Rule Description</th>
329
                            <th class="uk-text-nowrap">Rule Weight</th>
330
                            <th class="uk-text-nowrap"># of records</th>
331
                            <th class="uk-text-nowrap">Status</th>
332
                          </tr>
333
                        </thead>
334
                        <tbody>
335
                          <tr *ngFor="let contentRule of contentResults" class="el-item">
336
                            <td class="uk-table-shrink">
337
                              <div class="el-title">{{ contentRule.name }}</div>
338
                            </td>
339
                            <td class="uk-table-shrink">
340
                              <div class="el-title" [innerHtml]="contentRule.description">
341
                              </div>
342
                            </td>
343
                            <td class="uk-table-shrink">
344
                              <div class="el-title">{{ contentRule.weight }}</div>
345
                            </td>
346
                            <td class="uk-table-shrink">
347
                              <div class="el-title">{{ contentRule.successes }}</div>
348
                            </td>
349
                            <td class="uk-table-shrink">
350
                              <div *ngIf="!contentRule.hasErrors" class="el-title">
351
                                <span uk-icon="icon: check" style="color: #4b991f" class="uk-icon">
352
                                  <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="check" ratio="1">
353
                                    <polyline fill="none" stroke="#000" stroke-width="1.1" points="4,10 8,15 17,4"></polyline>
354
                                  </svg>
355
                                </span>
356
                              </div>
357
                              <div *ngIf="contentRule.hasErrors && contentRule.mandatory">
358
                                <span uk-icon="icon: close" style="color: #cd242b" class="uk-icon">
359
                                  <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="close" ratio="1">
360
                                    <path fill="none" stroke="#000" stroke-width="1.06" d="M16,16 L4,4"></path>
361
                                    <path fill="none" stroke="#000" stroke-width="1.06" d="M16,4 L4,16"></path>
362
                                  </svg>
363
                                </span>
364
                                <a class="errorlink viewErrors uk-display-block" (click)="viewErrors(contentRule)"><span>View Errors</span></a>
365
                              </div>
366
                              <div *ngIf="contentRule.hasErrors && !contentRule.mandatory">
367
                                <span uk-icon="icon: warning" style="color: #e9d60d" class="uk-icon">
368
                                  <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="warning" ratio="1">
369
                                    <circle cx="10" cy="14" r="1"></circle>
370
                                    <circle fill="none" stroke="#000" stroke-width="1.1" cx="10" cy="10" r="9"></circle>
371
                                    <path d="M10.97,7.72 C10.85,9.54 10.56,11.29 10.56,11.29 C10.51,11.87 10.27,12 9.99,12 C9.69,12 9.49,11.87 9.43,11.29 C9.43,11.29 9.16,9.54 9.03,7.72 C8.96,6.54 9.03,6 9.03,6 C9.03,5.45 9.46,5.02 9.99,5 C10.53,5.01 10.97,5.44 10.97,6 C10.97,6 11.04,6.54 10.97,7.72 L10.97,7.72 Z"></path>
372
                                  </svg>
373
                                </span>
374
                                <a class="warninglink viewErrors uk-display-block" (click)="viewErrors(contentRule)"><span>View Warnings</span></a>
375
                              </div>
376
                            </td>
377
                          </tr>
378
                        </tbody>
379
                      </table>
380
                    </div>
381
                  </div>
382
                </div>
383
              </div>
384
            </li>
385
            <li class="el-item">
386
              <div class="uk-grid-margin uk-grid uk-grid-stack">
387
                <div class="uk-width-1-1@m uk-first-column">
388
                  <div class="uk-overflow-auto uk-scrollspy-inview uk-animation-slide-top-medium">
389
                    <div *ngIf="noUsage" class="uk-alert">{{ noUsage }}</div>
390
                    <div>
391
                      <table class="uk-table uk-table-striped uk-table-middle rules-table">
392
                        <thead>
393
                        <tr>
394
                          <th>Rule Name</th>
395
                          <th class="uk-text-nowrap">Rule Description</th>
396
                          <th class="uk-text-nowrap">Rule Weight</th>
397
                          <th class="uk-text-nowrap"># of records</th>
398
                          <th class="uk-text-nowrap">Status</th>
399
                        </tr>
400
                        </thead>
401
                        <tbody>
402
                        <tr *ngFor="let usageRule of usageResults" class="el-item">
403
                          <td class="uk-table-shrink">
404
                            <div class="el-title">{{ usageRule.name }}</div>
405
                          </td>
406
                          <td class="uk-table-shrink">
407
                            <div class="el-title" [innerHtml]="usageRule.description">
408
                            </div>
409
                          </td>
410
                          <td class="uk-table-shrink">
411
                            <div class="el-title">{{ usageRule.weight }}</div>
412
                          </td>
413
                          <td class="uk-table-shrink">
414
                            <div class="el-title">{{ usageRule.successes }}</div>
415
                          </td>
416
                          <td class="uk-table-shrink">
417
                            <div *ngIf="!usageRule.hasErrors" class="el-title">
418
                                <span uk-icon="icon: check" style="color: #4b991f" class="uk-icon">
419
                                  <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="check" ratio="1">
420
                                    <polyline fill="none" stroke="#000" stroke-width="1.1" points="4,10 8,15 17,4"></polyline>
421
                                  </svg>
422
                                </span>
423
                            </div>
424
                            <div *ngIf="usageRule.hasErrors && usageRule.mandatory">
425
                                <span uk-icon="icon: close" style="color: #cd242b" class="uk-icon">
426
                                  <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="close" ratio="1">
427
                                    <path fill="none" stroke="#000" stroke-width="1.06" d="M16,16 L4,4"></path>
428
                                    <path fill="none" stroke="#000" stroke-width="1.06" d="M16,4 L4,16"></path>
429
                                  </svg>
430
                                </span>
431
                              <a class="errorlink viewErrors uk-display-block" (click)="viewErrors(usageRule)"><span>View Errors</span></a>
432
                            </div>
433
                            <div *ngIf="usageRule.hasErrors && !usageRule.mandatory">
434
                                <span uk-icon="icon: warning" style="color: #e9d60d" class="uk-icon">
435
                                  <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="warning" ratio="1">
436
                                    <circle cx="10" cy="14" r="1"></circle>
437
                                    <circle fill="none" stroke="#000" stroke-width="1.1" cx="10" cy="10" r="9"></circle>
438
                                    <path d="M10.97,7.72 C10.85,9.54 10.56,11.29 10.56,11.29 C10.51,11.87 10.27,12 9.99,12 C9.69,12 9.49,11.87 9.43,11.29 C9.43,11.29 9.16,9.54 9.03,7.72 C8.96,6.54 9.03,6 9.03,6 C9.03,5.45 9.46,5.02 9.99,5 C10.53,5.01 10.97,5.44 10.97,6 C10.97,6 11.04,6.54 10.97,7.72 L10.97,7.72 Z"></path>
439
                                  </svg>
440
                                </span>
441
                              <a class="warninglink viewErrors uk-display-block" (click)="viewErrors(usageRule)"><span>View Warnings</span></a>
442
                            </div>
443
                          </td>
444
                        </tr>
445
                        </tbody>
446
                      </table>
447
                    </div>
448
                  </div>
449
                </div>
450
              </div>
451
            </li>
452
          </ul>
453
        </div>
454
      </div>
455
    </div>
456
  </div>
457
</div>
458
-->
modules/uoa-repository-dashboard-gui/trunk/app/pages/compatibility/compatibility-validation-history.component.html
4 4
    <h1 class="uk-h2">Previous validations</h1>
5 5

  
6 6
    <!-- TOP HELP CONTENT -->
7
    <!--    <help-content #topHelperContent [position]="'top'"
8
                      [ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
9
        </help-content>-->
7
    <help-content #topHelperContent [position]="'top'"
8
                  [ngClass]="topHelperContent.isPresent()?'uk-margin-medium-top uk-margin-medium-bottom':'clear-style'">
9
    </help-content>
10 10

  
11 11
    <div class="uk-container uk-margin-medium-top uk-margin-medium-bottom">
12 12
      <div class="uk-grid">
13 13

  
14 14
        <!-- LEFT HELP CONTENT -->
15
        <!--        <aside-help-content #leftHelperContent [position]="'left'"
16
                                    [ngClass]="leftHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
17
                </aside-help-content>-->
15
        <aside-help-content #leftHelperContent [position]="'left'"
16
                            [ngClass]="leftHelperContent.isPresent()?'tm-sidebar uk-width-1-4@m uk-first-column':'clear-style'">
17
        </aside-help-content>
18 18

  
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff