diff --git a/src/app/system/codes/codes.component.html b/src/app/system/codes/codes.component.html
index e5f48343f..1cf03296e 100644
--- a/src/app/system/codes/codes.component.html
+++ b/src/app/system/codes/codes.component.html
@@ -10,22 +10,27 @@
-
+
| Code Name |
+ {{ code.name }} |
System Defined |
+
+
+
+ |
-
+
diff --git a/src/app/system/codes/codes.component.scss b/src/app/system/codes/codes.component.scss
index 1922e7ffa..3a95ea579 100644
--- a/src/app/system/codes/codes.component.scss
+++ b/src/app/system/codes/codes.component.scss
@@ -1,3 +1,12 @@
table {
width: 100%;
}
+
+// TODO: CONFIGURE THESE CLASSES GLOBALLY
+.system-defined {
+ color: #32cd32;
+}
+
+.not-system-defined {
+ color: #f44366;
+}
diff --git a/src/app/system/codes/codes.component.ts b/src/app/system/codes/codes.component.ts
index 268760c30..5c5297daf 100644
--- a/src/app/system/codes/codes.component.ts
+++ b/src/app/system/codes/codes.component.ts
@@ -1,5 +1,7 @@
+/** Angular Imports */
import { Component, OnInit, ViewChild } from '@angular/core';
-import { MatPaginator, MatSort, MatTableDataSource } from '@angular/material';
+import { MatTableDataSource, MatPaginator, MatSort } from '@angular/material';
+import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'mifosx-codes',
@@ -11,7 +13,7 @@ export class CodesComponent implements OnInit {
/** Codes data. */
codesData: any;
/** Columns to be displayed in codes table. */
- displayedColumns: string[] = ['codeName', 'systemDefined'];
+ displayedColumns: string[] = ['name', 'systemDefined'];
/** Data source for codes table. */
dataSource: MatTableDataSource
;
@@ -20,9 +22,39 @@ export class CodesComponent implements OnInit {
/** Sorter for codes table. */
@ViewChild(MatSort) sort: MatSort;
- constructor() { }
+ /**
+ * Retrieves the codes data from `resolve`.
+ * @param {ActivatedRoute} route Activated Route.
+ */
+ constructor(private route: ActivatedRoute) {
+ this.route.data.subscribe(( data: { codes: any }) => {
+ this.codesData = data.codes;
+ });
+ }
+ /**
+ * Sets the codes table.
+ */
ngOnInit() {
+ this.setCodes();
+ }
+
+ /**
+ * Initializes the data source, paginator and sorter for codes table.
+ */
+ setCodes() {
+ this.dataSource = new MatTableDataSource(this.codesData);
+ console.log(this.codesData);
+ this.dataSource.paginator = this.paginator;
+ this.dataSource.sort = this.sort;
+ }
+
+ /**
+ * Filters data in codes table based on passed value.
+ * @param {string} filterValue Value to filter data.
+ */
+ applyFilter(filterValue: string) {
+ this.dataSource.filter = filterValue.trim().toLowerCase();
}
}
diff --git a/src/app/system/codes/codes.resolver.ts b/src/app/system/codes/codes.resolver.ts
new file mode 100644
index 000000000..ca0dc6565
--- /dev/null
+++ b/src/app/system/codes/codes.resolver.ts
@@ -0,0 +1,30 @@
+/** Angular Imports */
+import { Injectable } from '@angular/core';
+import { Resolve } from '@angular/router';
+
+/** rxjs Imports */
+import { Observable } from 'rxjs';
+
+/** Custom Services */
+import { SystemService } from '../system.service';
+
+/**
+ * Codes data resolver.
+ */
+@Injectable()
+export class CodesResolver implements Resolve