Project

General

Profile

1
<div *ngIf="!simpleView">
2
  <a *ngIf="simpleSearchLink && simpleSearchLink.length > 0" routerLinkActive="router-link-active"
3
     [routerLink]=simpleSearchLink style="z-index:1;"
4
     [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
5
  </a>
6
  <div class="uk-h5 uk-margin-small-bottom">
7
    Advanced search in
8
    <entities-selection [simpleView]="false" [currentEntity]="entityType"
9
                        [properties]="properties" [customFilter]="customFilter" ></entities-selection>
10

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

    
18

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

    
44

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

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

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