</div>
<div class="row">
<div class="col-lg-2">
- <button class="form-control btn-success" (click)="submitSearch()" i18n>Search</button>
+ <button class="form-control btn btn-success" (click)="submitSearch()" i18n>Search</button>
+ </div>
+ <div class="col-lg-8"></div>
+ <div class="col-lg-2">
+ <button class="form-control btn btn-primary" (click)="saveSearchAsDefault()" i18n>Set As Default Search</button>
</div>
</div>
</div>
import {IdlService, IdlObject} from '@eg/core/idl.service';
import {PcrudService} from '@eg/core/pcrud.service';
import {AcqSearchTerm} from './acq-search.service';
+import {ServerStoreService} from '@eg/core/server-store.service';
@Component({
selector: 'eg-acq-search-form',
export class AcqSearchFormComponent implements OnInit, AfterViewInit {
@Input() initialSearchTerms: AcqSearchTerm[] = [];
+ @Input() defaultSearchSetting = '';
@Output() searchSubmitted = new EventEmitter<AcqSearchTerm[]>();
private router: Router,
private route: ActivatedRoute,
private pcrud: PcrudService,
+ private store: ServerStoreService,
private idl: IdlService,
) {}
this.searchTerms = JSON.parse(JSON.stringify(this.initialSearchTerms)); // deep copy
this.submitSearch();
} else {
- this.addSearchTerm();
+ this.store.getItem(this.defaultSearchSetting).then(
+ defaultSearch => {
+ if (defaultSearch) {
+ this.searchTerms = JSON.parse(JSON.stringify(defaultSearch));
+ this.submitSearch();
+ } else {
+ this.addSearchTerm();
+ }
+ }
+ );
}
}
submitSearch() {
this.searchSubmitted.emit(this.searchTerms);
}
+
+ saveSearchAsDefault() {
+ return this.store.setItem(this.defaultSearchSetting, this.searchTerms);
+ }
}
-<eg-acq-search-form (searchSubmitted)="doSearch($event)" [initialSearchTerms]="initialSearchTerms"></eg-acq-search-form>
+<eg-acq-search-form (searchSubmitted)="doSearch($event)" [initialSearchTerms]="initialSearchTerms" defaultSearchSetting="eg.acq.search.default.invoices"></eg-acq-search-form>
<ng-template #inv_identTmpl let-invoice="row">
<a href="/eg/staff/acq/legacy/invoice/view/{{invoice.id()}}"
-<eg-acq-search-form (searchSubmitted)="doSearch($event)" [initialSearchTerms]="initialSearchTerms"></eg-acq-search-form>
+<eg-acq-search-form (searchSubmitted)="doSearch($event)" [initialSearchTerms]="initialSearchTerms" defaultSearchSetting="eg.acq.search.default.lineitems"></eg-acq-search-form>
<ng-template #idTmpl let-lineitem="row">
<a *ngIf="lineitem.purchase_order()" href="/eg/staff/acq/legacy/po/view/{{lineitem.purchase_order()}}?focus_li={{lineitem.id()}}"
-<eg-acq-search-form (searchSubmitted)="doSearch($event)" [initialSearchTerms]="initialSearchTerms"></eg-acq-search-form>
+<eg-acq-search-form (searchSubmitted)="doSearch($event)" [initialSearchTerms]="initialSearchTerms" defaultSearchSetting="eg.acq.search.default.selectionlists"></eg-acq-search-form>
<eg-string #createSelectionListString i18n-text text="Selection List Created">
</eg-string>
-<eg-acq-search-form (searchSubmitted)="doSearch($event)" [initialSearchTerms]="initialSearchTerms"></eg-acq-search-form>
+<eg-acq-search-form (searchSubmitted)="doSearch($event)" [initialSearchTerms]="initialSearchTerms" defaultSearchSetting="eg.acq.search.default.purchaseorders"></eg-acq-search-form>
<ng-template #nameTmpl let-purchaseorder="row">
<a href="/eg/staff/acq/legacy/po/view/{{purchaseorder.id()}}"