insertColumn(col: GridColumn): boolean {
if (col.isAuto) {
- if (this.getColByName(col.name)) {
+ if (this.getColByName(col.name) || this.getColByPath(col.path)) {
// New auto-generated column conflicts with existing
// column. Skip it.
return false;
return this.columns.filter(c => c.name === name)[0];
}
+ getColByPath(path: string): GridColumn {
+ if (path) {
+ return this.columns.filter(c => c.path === path)[0];
+ }
+ }
+
idlInfoFromDotpath(dotpath: string): any {
if (!dotpath || !this.idlClass) { return null; }
</ng-template>
-<ul ngbNav #nav="ngbNav" class="nav-tabs" [(activeId)]="tab">
+<ul ngbNav #nav="ngbNav" class="nav-tabs"
+ [activeId]="tab" (navChange)="beforeTabChange($event)">
<li ngbNavItem="transactions">
<a ngbNavLink i18n>Transactions</a>
<ng-template ngbNavContent>
ngOnInit() {
+ this.route.paramMap.subscribe((params: ParamMap) => {
+ this.tab = params.get('billingHistoryTab') || 'transactions';
+ });
+
+
const start = new Date();
const end = new Date();
start.setFullYear(start.getFullYear() - 1);
}
}
+ beforeTabChange(evt: NgbNavChangeEvent) {
+ // tab will change with route navigation.
+ evt.preventDefault();
+ this.router.navigate([
+ `/staff/circ/patron/${this.patronId}/bills/history/${evt.nextId}`]);
+ }
+
+
showStatement(row: any | any[], forPayment?: boolean) {
row = [].concat(row)[0];
const id = forPayment ? row['xact.id'] : row.id;
-- SELECT evergreen.upgrade_deps_block_check('TODO', :eg_version);
-/*
-
-- insert then update for easier iterative development tweaks
INSERT INTO config.print_template
(name, label, owner, active, locale, content_type, template)
</div>
$TEMPLATE$ WHERE name = 'bills_historical';
-*/
-
COMMIT;