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
     [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
6
  </a>
7
  <div class="uk-h5 uk-margin-small-bottom">
8
    Advanced search in
9
    <entities-selection [simpleView]="false" [currentEntity]="entityType"
10
                        [properties]="properties" [customFilter]="customFilter" ></entities-selection>
11

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

    
19

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

    
45

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

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

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