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" class="-row  ">
30
        <td><mat-select [(ngModel)]="selectedField.id" name="selectField_{{i}}" [disableOptionCentering]="true" class="matSelection uk-input" 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"
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)"></static-autocomplete>
67
        </td>
68
        <td *ngIf="selectedField.type == 'entity'">
69
          <entities-autocomplete [properties]=properties [fieldId]=selectedField.id [entityType]=selectedField.param
70
                                 [selectedValue]=selectedField.value [showSelected]=true
71
                                 [placeHolderMessage]="'Search for '+selectedField.name" [title]="selectedField.name"
72
                                 [multipleSelections]=false
73
                                 (selectedValueChanged)="valueChanged($event,i)"
74
                                 (listUpdated)="listUpdated($event,selectedField.id)">
75
          </entities-autocomplete>
76
        </td>
77

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

    
131
<div *ngIf="simpleView">
132
  <form class=" uk-margin-medium-bottom uk-margin-top ">
133
    <div class="uk-grid uk-margin-small-left">
134
      <div
135
        [class]="((entitiesSelection)?'':'uk-width-small@s')+' uk-margin-small-top uk-padding-remove-left'">
136
        <entities-selection *ngIf="entitiesSelection" [simpleView]="true" [currentEntity]="entityType"
137
                            [properties]="properties"
138
                            (selectionChange)=" simpleEntityChanged($event)"
139
                            [onChangeNavigate]="true" [customFilter]="customFilter"></entities-selection>
140
      </div>
141
      <div [class]="((resultTypes || quickFilter)?'quickSelectionsBox':'')+' uk-padding-remove-left uk-margin-small-top'">
142
        <div class="uk-inline">
143
          <a *ngIf="selectedFields[0].value.length > 0" class="uk-form-icon uk-form-icon-flip"
144
             (click)="selectedFields[0].value = ''"
145
             uk-icon="icon: close"></a>
146
          <input type="text" class="uk-input  uk-width-xlarge@l uk-width-large@m uk-width-medium"
147
                 [placeholder]="formPlaceholderText" aria-describedby="sizing-addon2"
148
                 [(ngModel)]="selectedFields[0].value" name="keyword">
149
        </div>
150
        <div class=" uk-width-xlarge@l uk-width-large@m uk-width-medium">
151
          <quick-selections [resultTypes]="resultTypes" (typeChange)="queryChanged()" [isDisabled]="isDisabled"
152
                            [quickFilter]="quickFilter" [QFselected]="(quickFilter)?quickFilter.selected:null"
153
                            [properties]="properties">
154
          </quick-selections>
155
        </div>
156
      </div>
157
      <div class="uk-padding-remove-left uk-margin-small-top">
158
        <button (click)="simpleKeywordChanged(null)" type="submit"
159
                class=" uk-button  portal-button uk-margin-small-left uk-text-bold uk-padding uk-padding-remove-top uk-padding-remove-bottom">
160
          Search
161
        </button>
162
        <div class="uk-margin-small-top" *ngIf="showAdvancedSearchLink">
163
          <a *ngIf ="this.entityType == this.selectedEntity && advancedSearchLink" routerLinkActive="router-link-active"
164
             [routerLink]="advancedSearchLink" style="z-index:1;" [queryParams]="advancedSearchLinkParameters"
165
             [class]="(isDisabled)?'  uk-disabled uk-link-muted  portal-link   uk-margin-left ':' portal-link   uk-margin-left '">Advanced search
166
          </a>
167
          <a *ngIf ="this.entityType != this.selectedEntity && selectedEntityAdvancedUrl " routerLinkActive="router-link-active"
168
             [routerLink]="selectedEntityAdvancedUrl" style="z-index:1;"
169
             [queryParams]="{q:this.selectedFields[0].value,op:'and'}"
170
             [class]="(isDisabled)?'  uk-disabled uk-link-muted  portal-link   uk-margin-left ':' portal-link   uk-margin-left '">Advanced search
171
          </a>
172
        </div>
173
      </div>
174
    </div>
175
  </form>
176
</div>
(1-1/55)