|
40 | 40 | </tr>
|
41 | 41 | <tr class="names-header">
|
42 | 42 | <th *ngFor="let col of columns" [setClass]="col.class" [id]="'tf_header_' + col.property"
|
43 |
| - [sorter]="getDefaultSorter(col)" |
44 |
| - (sorted)="sort($event)" class="{{col.property}}" [ngClass]="{ |
| 43 | + [sorter]="getDefaultSorter(col)" (sorted)="sort($event)" class="{{col.property}}" [ngClass]="{ |
45 | 44 | 'fit': col.type === 'checkbox' || col.property === 'action',
|
46 | 45 | 'percent':col.type === 'percent' || col.type === 'number'
|
47 | 46 | }">
|
48 | 47 | <fa-icon class="icon up sorter" [icon]="icons.faArrowUp" style="display: none"></fa-icon>
|
49 | 48 | <fa-icon class="icon down sorter" [icon]="icons.faArrowDown" style="display: none"></fa-icon>
|
50 | 49 |
|
51 |
| - <div *ngIf="!col.headerlink && col.type !== 'selector'" class="pull-left">{{col?.name}}{{col?.type === 'percent' ? ', %' : ''}}</div> |
| 50 | + <div *ngIf="!col.headerlink && col.type !== 'selector'" class="pull-left"> |
| 51 | + {{col?.name}}{{col?.type === 'percent' ? ', %' : ''}}</div> |
52 | 52 | <a *ngIf="col.headerlink" class="pull-left" oncontextmenu="return false;"
|
53 |
| - (contextmenu)="openlink(col.headerlink)" title="Right click to open">{{col?.name}}{{col?.type === 'percent' ? ', %' : ''}}</a> |
| 53 | + (contextmenu)="openlink(col.headerlink)" |
| 54 | + title="Right click to open">{{col?.name}}{{col?.type === 'percent' ? ', %' : ''}}</a> |
54 | 55 | <input *ngIf="col.type === 'selector'" name="select_all" type="checkbox"
|
55 | 56 | [title]="selectAll ? 'Deselect All' : 'Select All'" [ngModel]="selectAll"
|
56 | 57 | (ngModelChange)="toggleSelectAll($event)" />
|
|
77 | 78 | </div>
|
78 | 79 | <lookup class="ms-lookup-sm" [small]="true" [cutLongText]="true"
|
79 | 80 | [model]="textFilterData(col.property)" *ngIf="col.type === 'link' && col.filter"
|
80 |
| - placeholder="{{col?.name}} Filter" [allowEmptyValue]="true" [array]="col.lookup.filterValues ? col.lookup.filterValues : col.lookup.values" |
| 81 | + placeholder="{{col?.name}} Filter" [allowEmptyValue]="true" |
| 82 | + [array]="col.lookup.filterValues ? col.lookup.filterValues : col.lookup.values" |
81 | 83 | (modelChange)="handleFilterChange(col, $event)"></lookup>
|
82 | 84 |
|
83 | 85 | <lookup-colored *ngIf="col.type === 'lookup-colored' && col.filter" [cutLongText]="true"
|
84 |
| - [small]="true" [colorProperty]="'color'" |
85 |
| - [propertiesToShow]="col.lookup.propToShow" |
| 86 | + [small]="true" [colorProperty]="'color'" [propertiesToShow]="col.lookup.propToShow" |
86 | 87 | [array]="col.lookup.values"
|
87 | 88 | [placeholder]="col.lookup.placeholder ? col.lookup.placeholder : 'None'"
|
88 | 89 | [allowEmptyValue]="true" [model]="getLookupFilterValue(col)[0]"
|
|
107 | 108 | <input placeholder="from" class="inline form-control input-sm ft-range-selector"
|
108 | 109 | (keyup)="rangeKeyUp($event, col)"
|
109 | 110 | (ngModelChange)="handleRangeFilterChange(col, $event, 'from')"
|
110 |
| - [ngModel]="rangeFilterData(col.property, 'from')" type="number" min="0" [max]="col.type === 'percent' ? 100 : undefined" |
| 111 | + [ngModel]="rangeFilterData(col.property, 'from')" type="number" min="0" |
| 112 | + [max]="col.type === 'percent' ? 100 : undefined" |
111 | 113 | oninput="this.value = this.value.replace(/[^0-9]/g, '');">
|
112 | 114 | <input placeholder="to" class="inline form-control input-sm ft-range-selector"
|
113 | 115 | (ngModelChange)="handleRangeFilterChange(col, $event, 'to')"
|
114 |
| - [ngModel]="rangeFilterData(col.property, 'to')" type="number" min="0" [max]="col.type === 'percent' ? 100 : undefined" |
115 |
| - (keyup)="rangeKeyUp($event, col)" oninput="this.value = this.value.replace(/[^0-9]/g, '');"> |
| 116 | + [ngModel]="rangeFilterData(col.property, 'to')" type="number" min="0" |
| 117 | + [max]="col.type === 'percent' ? 100 : undefined" (keyup)="rangeKeyUp($event, col)" |
| 118 | + oninput="this.value = this.value.replace(/[^0-9]/g, '');"> |
116 | 119 | <fa-icon class="icon" [icon]="icons.faTimes" (click)="removeRangeFilter(col.property)">
|
117 | 120 | </fa-icon>
|
118 | 121 | </div>
|
119 | 122 | <lookup-autocomplete-multiselect class="ms-lookup-sm" [cutLongText]="true"
|
120 | 123 | *ngIf="col.type === 'multiselect' && col.filter" placeholder="{{col?.name}} Filter"
|
121 |
| - [propertiesToShow]="col.lookup.propToShow" [array]="col.lookup.filterValues ? col.lookup.filterValues : col.lookup.values" |
| 124 | + [propertiesToShow]="col.lookup.propToShow" |
| 125 | + [array]="col.lookup.filterValues ? col.lookup.filterValues : col.lookup.values" |
122 | 126 | [model]="getLookupFilterValue(col)"
|
123 | 127 | (modelChange)="handleLookupFilterChange(col.property, $event)">
|
124 | 128 | </lookup-autocomplete-multiselect>
|
|
176 | 180 |
|
177 | 181 | <lookup-colored *ngIf="col.creation && col.type === 'lookup-colored'" [cutLongText]="true"
|
178 | 182 | [small]="true" placeholder="col?.name" [allowEmptyValue]="!col.creation.required"
|
179 |
| - [propertiesToShow]="col.lookup.propToShow" |
180 |
| - [array]="col.lookup.values" [model]="getFilterLookupModel(col.property)" |
| 183 | + [propertiesToShow]="col.lookup.propToShow" [array]="col.lookup.values" |
| 184 | + [model]="getFilterLookupModel(col.property)" |
181 | 185 | (modelChange)="setNewValueFromLookup(col.property, $event)" [colorProperty]="'color'">
|
182 | 186 | </lookup-colored>
|
183 | 187 |
|
|
227 | 231 | </lookup-autocomplete>
|
228 | 232 |
|
229 | 233 | <lookup-colored *ngIf="col.type === 'lookup-colored'" [cutLongText]="true" [small]="true"
|
230 |
| - [colorProperty]="'color'" |
231 |
| - [propertiesToShow]="col.lookup.propToShow" |
| 234 | + [colorProperty]="'color'" [propertiesToShow]="col.lookup.propToShow" |
232 | 235 | [array]="col.lookup.values" placeholder="Not Assigned"
|
233 | 236 | [allowEmptyValue]="col.lookup.allowEmpty"
|
234 | 237 | [model]="transformationsService.getPropertyValue(bulkChangeEntity, col.property)"
|
|
286 | 289 |
|
287 | 290 | <lookup-autocomplete *ngIf="col.type === 'lookup-autocomplete'" [cutLongText]="true"
|
288 | 291 | [small]="true" [allowEmptyValue]="col.lookup.allowEmpty"
|
289 |
| - [allowCreation]="col.lookup.allowCreation" |
290 |
| - [propertiesToShow]="col.lookup.propToShow" [array]="col.lookup.values" |
| 292 | + [allowCreation]="col.lookup.allowCreation" [propertiesToShow]="col.lookup.propToShow" |
| 293 | + [array]="col.lookup.values" |
291 | 294 | [model]="transformationsService.getPropertyValue(entity, col.property)"
|
292 | 295 | [disabled]="!col.editable || entity.constantRow || notEditableByProperty(entity, col)"
|
293 | 296 | placeholder="Not Assigned" [addAction]="col.lookup.addAction"
|
|
297 | 300 | </lookup-autocomplete>
|
298 | 301 |
|
299 | 302 | <lookup-colored *ngIf="col.type === 'lookup-colored'" [cutLongText]="true" [small]="true"
|
300 |
| - [colorProperty]="'color'" |
301 |
| - [propertiesToShow]="col.lookup.propToShow" |
| 303 | + [colorProperty]="'color'" [propertiesToShow]="col.lookup.propToShow" |
302 | 304 | [array]="col.lookup.values"
|
303 | 305 | [disabled]="!col.editable || entity.constantRow || notEditableByProperty(entity, col)"
|
304 | 306 | placeholder="Not Assigned" [allowEmptyValue]="col.lookup.allowEmpty"
|
|
327 | 329 | <a *ngIf="!col.editable && col.link" [routerLink]="createRouterLink(col, entity)"
|
328 | 330 | [queryParams]="col?.link.params">{{transformationsService.getPropertyValue(entity, col.property)}}</a>
|
329 | 331 |
|
| 332 | + <a *ngIf="col.type === 'externalLink' && transformationsService.getPropertyValue(entity, col.property).link" |
| 333 | + [href]="transformationsService.getPropertyValue(entity, col.property).link">{{transformationsService.getPropertyValue(entity, col.property).text}}</a> |
| 334 | + |
330 | 335 | <div
|
331 | 336 | *ngIf="col.type === 'link' && !transformationsService.getPropertyValue(entity, col.property).link">
|
332 | 337 | {{transformationsService.getPropertyValue(entity, col.property).text}}</div>
|
|
343 | 348 | (modelChange)="setPropertyValue(entity, col.property, $event)">
|
344 | 349 | </lookup-autocomplete-multiselect>
|
345 | 350 |
|
346 |
| - <div *ngIf="col.type === 'date' && col.format && (!col.editable || entity.constantRow || notEditableByProperty(entity, col))" class="nowrap"> |
| 351 | + <div *ngIf="col.type === 'date' && col.format && (!col.editable || entity.constantRow || notEditableByProperty(entity, col))" |
| 352 | + class="nowrap"> |
347 | 353 | {{transformationsService.getPropertyValue(entity, col.property) | date:col.format}}
|
348 | 354 | </div>
|
349 | 355 |
|
350 |
| - <div *ngIf="col.type === 'date' && !col.format && (!col.editable || entity.constantRow || notEditableByProperty(entity, col))" class="nowrap"> |
| 356 | + <div *ngIf="col.type === 'date' && !col.format && (!col.editable || entity.constantRow || notEditableByProperty(entity, col))" |
| 357 | + class="nowrap"> |
351 | 358 | {{transformationsService.getPropertyValue(entity, col.property) | date:'MM/dd/yy hh:mm:ss a'}}
|
352 | 359 | </div>
|
353 |
| - |
354 |
| - <ng-datepicker *ngIf="col.type === 'date' && col.editable && !entity.constantRow && !notEditableByProperty(entity, col)" |
| 360 | + |
| 361 | + <ng-datepicker |
| 362 | + *ngIf="col.type === 'date' && col.editable && !entity.constantRow && !notEditableByProperty(entity, col)" |
355 | 363 | [ngModel]="transformationsService.getPropertyValue(entity, col.property)"
|
356 |
| - (ngModelChange)="setPropertyValue(entity, col.property, $event)" |
357 |
| - [options]="col.format"></ng-datepicker> |
| 364 | + (ngModelChange)="setPropertyValue(entity, col.property, $event)" [options]="col.format"> |
| 365 | + </ng-datepicker> |
358 | 366 |
|
359 | 367 | <div
|
360 | 368 | *ngIf="col.type === 'time' && (!col.editable || entity.constantRow || notEditableByProperty(entity, col))">
|
|
0 commit comments