Project

General

Profile

1
<div *ngIf="!simpleView">
2
  <a *ngIf="showSwitchSearchLink && simpleSearchLink && simpleSearchLink.length > 0"
3
     routerLinkActive="router-link-active"
4
     [routerLink]=simpleSearchLink style="z-index:1;"
5
     [queryParams]="customFilter?customFilter.getParameters():{}"
6
     [class]="(isDisabled)?'uk-float-right uk-disabled uk-link-muted  portal-link   uk-margin-right ':'uk-float-right  portal-link   uk-margin-right '">Quick search
7
  </a>
8
  <h6 class="uk-margin-small-bottom">
9
    Advanced search in
10
    <entities-selection [simpleView]="false" [currentEntity]="entityType"
11
                        [properties]="properties" [customFilter]="customFilter" ></entities-selection>
12

    
13
  </h6>
14
</div>
15
<form *ngIf="!simpleView"
16
      [class]="((isDisabled )?'uk-disabled ':'')
17
       +' advancedSearchForm uk-tile  uk-padding-small uk-margin-medium-bottom'">
18
  <div>
19

    
20

    
21
   <!-- <quick-selections [resultTypes]="resultTypes" (typeChange)="queryChanged()" [isDisabled]="isDisabled"
22
                      [quickFilter]="quickFilter" [QFselected]="(quickFilter)?quickFilter.selected:null"
23
                      [properties]="properties" class="uk-grid  "
24
    ></quick-selections>
25
    <hr *ngIf="resultTypes || quickFilter" class="uk-margin-small">-->
26
    <table class=" uk-table uk-table-responsive uk-table-small uk-margin-remove">
27
      <tr>
28
        <td class="uk-text-muted uk-text-uppercase">Field to search</td>
29
        <td class="uk-text-muted uk-text-uppercase uk-width-1-2">Term</td>
30
      </tr>
31
      <tr *ngFor="let selectedField of selectedFields; let i = index">
32
        <td><mat-select [(ngModel)]="selectedField.id" name="selectField_{{i}}" [disableOptionCentering]="true" class="matSelection" panelClass="matSelectionPanel"
33
                    (ngModelChange)="fieldIdsChanged(i,selectedField.id)"><!--(click)="fieldIdsChanged(i)"  -->
34
          <mat-option *ngFor="let id of fieldIds" [value]="id">{{fieldIdsMap[id].name}} </mat-option>
35
        </mat-select></td>
36
        <td *ngIf="selectedField.type == 'keyword' || selectedField.type == 'identifier'">
37
          <div class="uk-inline uk-width-expand">
38
            <a *ngIf="selectedField.value.length > 0" class="uk-form-icon uk-form-icon-flip"
39
               (click)="selectedField.value = ''"
40
               uk-icon="icon: close"></a>
41
            <input type="text" class="form-control uk-input"
42
                   placeholder="Type keywords..."
43
                   [(ngModel)]="selectedField.value" name="value[{{i}}]">
44
          </div>
45

    
46

    
47
        </td>
48
        <td *ngIf="selectedField.type == 'date'">
49
          <date-filter [dateValue]=selectedField.dateValue [validDateFrom]=validDateFrom class="uk-width-expand"
50
                       [validDateTo]=validDateTo></date-filter>
51
        </td>
52
        <td *ngIf=" selectedField.id && selectedField.type == 'vocabulary'">
53
          <static-autocomplete [properties]=properties *ngIf=" selectedField.id" [vocabularyId]=selectedField.param
54
                               [fieldId]=selectedField.id
55
                               [list]=this.fieldList[selectedField.id] [entityName]="entityType"
56
                               [selectedValue]=selectedField.value [showSelected]=true
57
                               [placeHolderMessage]="'Search for '+selectedField.name" [title]="selectedField.name"
58
                               [multipleSelections]=false
59
                               (selectedValueChanged)="valueChanged($event,i)"
60
                               (listUpdated)="listUpdated($event,selectedField.id)"></static-autocomplete>
61
        </td>
62
        <td *ngIf="  selectedField.id &&  selectedField.type == 'refine'" class="uk-width-1-3">
63
          <static-autocomplete [properties]=properties [list]=this.fieldList[selectedField.id]
64
                               [fieldId]=selectedField.id [entityName]="entityType" [fieldName]=[selectedField.id]
65
                               [selectedValue]=selectedField.value [showSelected]=true
66
                               [placeHolderMessage]="'Search for '+selectedField.name" [title]="selectedField.name"
67
                               [multipleSelections]=false (selectedValueChanged)="valueChanged($event,i)"
68
                               (listUpdated)="listUpdated($event,selectedField.id)"
69
                               (updateValueLabel)="updatedValueLabel($event, i)"></static-autocomplete>
70
        </td>
71
        <td *ngIf="selectedField.type == 'entity'">
72
          <entities-autocomplete [properties]=properties [fieldId]=selectedField.id [entityType]=selectedField.param
73
                                 [selectedValue]=selectedField.value [showSelected]=true
74
                                 [placeHolderMessage]="'Search for '+selectedField.name" [title]="selectedField.name"
75
                                 [multipleSelections]=false
76
                                 (selectedValueChanged)="valueChanged($event,i)"
77
                                 (updateValueLabel)="updatedValueLabel($event, i)">
78
          </entities-autocomplete>
79
        </td>
80

    
81
        <td *ngIf="selectedField.type == 'boolean'" class="input-group">
82
                   <span class="input-group-addon">
83
                      <input type="radio" [(ngModel)]="selectedField.value" [name]=selectedField.param
84
                             value="true">Yes<br>
85
                  </span>
86
          <span class="input-group-addon">
87
                    <input type="radio" [(ngModel)]="selectedField.value" [name]=selectedField.param
88
                           value="false">No<br>
89
                  </span>
90
        </td>
91
        <td  style="min-width: 75px;"><mat-select *ngIf="i+1 <selectedFields.length"
92
                                        [(ngModel)]="selectedFields[i+1].operatorId"
93
                              name="selectOp_{{i}}" [disableOptionCentering]="true" class="matSelection uk-input" panelClass="matSelectionPanel">
94
          <mat-option *ngFor="let op of operators" (change)="fieldOperatorChanged(i+1, op.id, op.id)"
95
                  (click)="fieldOperatorChanged(i+1, op.id, op.id)" [value]="op.id">{{op.id}}</mat-option>
96
        </mat-select>
97
          <div *ngIf="i == selectedFields.length-1 " class=" uk-text-right" style="margin-top: 55px;">
98
            <span class="uk-text-muted uk-text-uppercase uk-margin-small-right " > Add rule</span>
99
          </div>
100
        </td>
101
        <td class=" ">
102
                <span type="button" class="uk-icon-button portal-button-reverse clickable "
103
                      (click)="removeField(i)">
104
                  <span  class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
105
                                              xmlns="http://www.w3.org/2000/svg" data-svg="minus"><rect height="1" width="18" y="9" x="1"></rect></svg></span>
106
                </span>
107
          <div *ngIf="i == selectedFields.length-1 " class="uk-margin-small-top">
108
          <span  type="button"
109
                class="uk-icon-button   portal-button clickable "
110
                (click)="addField()">
111
                 <span  class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
112
                                             xmlns="http://www.w3.org/2000/svg" data-svg="plus"><rect x="9" y="1" width="1" height="17"></rect><rect x="1" y="9" width="17" height="1"></rect></svg></span>
113
              </span>
114
          </div>
115
        </td>
116
      </tr>
117
    </table>
118
    <div class=" uk-text-center">
119
      <div *ngIf="!validDateFrom && validDateTo" class="uk-text-danger">
120
        Please check your <u>from</u> date
121
      </div>
122
      <div *ngIf="!validDateTo && validDateFrom" class="uk-text-danger">
123
        Please check your <u>to</u> date
124
      </div>
125
      <div *ngIf="!validDateFrom && !validDateTo" class="uk-text-danger">
126
        Please check your dates
127
      </div>
128
    </div>
129
    <button (click)="queryChanged()" type="submit"
130
            class=" uk-button  uk-padding uk-padding-remove-top uk-padding-remove-bottom portal-button uk-padding uk-padding-remove-top uk-padding-remove-bottom " style="position: absolute;bottom: -19px;left: 45%;"> Search
131
    </button>
132
  </div>
133
</form>
134

    
135
<div *ngIf="simpleView">
136
  <form [class]="((isDisabled )?'uk-disabled ':'') + ' uk-margin-medium-bottom uk-margin-top' ">
137
    <div class="uk-grid uk-margin-small-left uk-flex" [class.uk-flex-center]="entityType != 'community' && entityType !== 'stakeholder'">
138
      <div
139
        [class]="((entitiesSelection)?'':'uk-width-small@s')+' uk-margin-small-top uk-padding-remove-left'">
140
        <entities-selection *ngIf="entitiesSelection" [simpleView]="true" [currentEntity]="entityType"
141
                            [properties]="properties"
142
                            (selectionChange)=" simpleEntityChanged($event)"
143
                            [onChangeNavigate]="true" [customFilter]="customFilter"></entities-selection>
144
      </div>
145
      <div class="uk-padding-remove-left uk-margin-small-top">
146
        <div  *ngIf="selectedFields[0]" class="uk-inline">
147
          <a *ngIf="selectedFields[0].value.length > 0" class="uk-form-icon uk-form-icon-flip"
148
             (click)="selectedFields[0].value = ''"
149
             uk-icon="icon: close"></a>
150
          <input type="text" class="uk-input  uk-width-xlarge@l uk-width-large@m uk-width-medium"
151
                 [placeholder]="formPlaceholderText" aria-describedby="sizing-addon2"
152
                 [(ngModel)]="selectedFields[0].value" name="keyword">
153
        </div>
154
       <!-- <div class=" uk-width-xlarge@l uk-width-large@m uk-width-medium" [class.quickSelectionsBox]="(resultTypes || quickFilter)">
155
          <quick-selections [resultTypes]="resultTypes" (typeChange)="queryChanged()" [isDisabled]="isDisabled"
156
                            [quickFilter]="quickFilter" [QFselected]="(quickFilter)?quickFilter.selected:null"
157
                            [properties]="properties">
158
          </quick-selections>
159
        </div>-->
160
      </div>
161
      <div class="uk-padding-remove-left uk-margin-small-top">
162
        <button (click)="simpleKeywordChanged(null)" type="submit"
163
                class=" uk-button  portal-button uk-margin-small-left uk-text-bold uk-padding uk-padding-remove-top uk-padding-remove-bottom">
164
          Search
165
        </button>
166
        <div class="uk-margin-small-top" *ngIf="showSwitchSearchLink">
167
          <a *ngIf ="this.entityType !='all' && this.entityType == this.selectedEntity && advancedSearchLink" routerLinkActive="router-link-active"
168
             [routerLink]="advancedSearchLink" style="z-index:1;" [queryParams]="advancedSearchLinkParameters"
169
             [class]="(isDisabled)?'  uk-disabled uk-link-muted  portal-link   uk-margin-left ':' portal-link   uk-margin-left '">Advanced search
170
          </a>
171
          <a *ngIf =" this.entityType !='all' && this.entityType != this.selectedEntity && selectedEntityAdvancedUrl "
172
             routerLinkActive="router-link-active"
173
             [routerLink]="selectedEntityAdvancedUrl" style="z-index:1;"
174
             [queryParams]="{q:this.selectedFields[0].value,op:'and'}"
175
             [class]="(isDisabled)?'  uk-disabled uk-link-muted  portal-link   uk-margin-left ':' portal-link   uk-margin-left '">Advanced search
176
          </a>
177
          <a *ngIf="this.entityType=='all'"  class="portal-link  uk-margin-left">Advanced Search</a>
178
          <div *ngIf="this.entityType =='all'" uk-dropdown class="uk-dropdown default-dropdown">
179
            <ul class="uk-list uk-margin-remove-bottom">
180
              <li><a
181
                [routerLink]="properties.searchLinkToAdvancedResults" [queryParams]="advancedSearchLinkParameters"
182
              >Research
183
                outcomes</a></li>
184
              <li><a
185
                [routerLink]="properties.searchLinkToAdvancedProjects" [queryParams]="advancedSearchLinkParameters" >
186
                Projects</a></li>
187
              <li><a
188
                [routerLink]="properties.searchLinkToAdvancedDataProviders" [queryParams]="advancedSearchLinkParameters">
189
                Content providers</a></li>
190
              <li><a
191
                [routerLink]="properties.searchLinkToAdvancedOrganizations" [queryParams]="advancedSearchLinkParameters">
192
                Organizations</a></li>
193
            </ul>
194
          </div>
195
        </div>
196
      </div>
197
    </div>
198
  </form>
199
</div>
(1-1/44)