aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts
diff options
context:
space:
mode:
authorAnjali walsatwar <anjali.walsatwar@huawei.com>2018-08-17 11:03:43 +0530
committerIdan Amit <ia096e@intl.att.com>2018-09-12 11:53:10 +0000
commit4ea0c4b514eed8d65849647955bfffa97559194a (patch)
tree9df9c14fb28f672eda4b0b805179fd5269ec4d64 /catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts
parentc72587ed4cdd2a324ef6e5a1576f9a132ef314a1 (diff)
Add sorting capability to property assignment
Change-Id: I74cbebac6cfe76f4334fcb46813c98686de55822 Issue-ID: SDC-1516 Signed-off-by: Anjali walsatwar <anjali.walsatwar@huawei.com>
Diffstat (limited to 'catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts')
-rw-r--r--catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts49
1 files changed, 41 insertions, 8 deletions
diff --git a/catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts b/catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts
index 0c7fc2a24c..d95198f162 100644
--- a/catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts
+++ b/catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts
@@ -3,6 +3,7 @@
* SDC
* ================================================================================
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2018 Huawei Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,9 +22,9 @@
/**
* Created by rc2122 on 5/4/2017.
*/
-import {Component, Input, Output, EventEmitter} from "@angular/core";
-import {InputFEModel} from "app/models";
-import {ModalService} from "../../../services/modal.service";
+import { Component, Input, Output, EventEmitter } from "@angular/core";
+import { InputFEModel } from "app/models";
+import { ModalService } from "../../../services/modal.service";
import { InstanceFeDetails } from "app/models/instance-fe-details";
@Component({
@@ -35,16 +36,48 @@ export class InputsTableComponent {
@Input() inputs: Array<InputFEModel>;
@Input() instanceNamesMap: Map<string, InstanceFeDetails>;
- @Input() readonly:boolean;
- @Input() isLoading:boolean;
+ @Input() readonly: boolean;
+ @Input() isLoading: boolean;
@Output() inputChanged: EventEmitter<any> = new EventEmitter<any>();
@Output() deleteInput: EventEmitter<any> = new EventEmitter<any>();
- selectedInputToDelete:InputFEModel;
+ sortBy: String;
+ reverse: boolean;
+ selectedInputToDelete: InputFEModel;
- constructor(private modalService: ModalService){
+ sort = (sortBy) => {
+ this.reverse = (this.sortBy === sortBy) ? !this.reverse : true;
+ let reverse = this.reverse ? 1 : -1;
+ this.sortBy = sortBy;
+ let instanceNameMapTemp = this.instanceNamesMap;
+ let itemIdx1Val = "";
+ let itemIdx2Val = "";
+ this.inputs.sort(function (itemIdx1, itemIdx2) {
+ if (sortBy == 'instanceUniqueId') {
+ itemIdx1Val = (itemIdx1[sortBy] && instanceNameMapTemp[itemIdx1[sortBy]] !== undefined) ? instanceNameMapTemp[itemIdx1[sortBy]].name : "";
+ itemIdx2Val = (itemIdx2[sortBy] && instanceNameMapTemp[itemIdx2[sortBy]] !== undefined) ? instanceNameMapTemp[itemIdx2[sortBy]].name : "";
+ }
+ else {
+ itemIdx1Val = itemIdx1[sortBy];
+ itemIdx2Val = itemIdx2[sortBy];
+ }
+ if (itemIdx1Val < itemIdx2Val) {
+ return -1 * reverse;
+ }
+ else if (itemIdx1Val > itemIdx2Val) {
+ return 1 * reverse;
+ }
+ else {
+ return 0;
+ }
+ });
+ };
+
+
+ constructor(private modalService: ModalService) {
}
+
onInputChanged = (input, event) => {
input.updateDefaultValueObj(event.value, event.isValid);
this.inputChanged.emit(input);
@@ -55,7 +88,7 @@ export class InputsTableComponent {
this.modalService.closeCurrentModal();
};
- openDeleteModal = (input:InputFEModel) => {
+ openDeleteModal = (input: InputFEModel) => {
this.selectedInputToDelete = input;
this.modalService.createActionModal("Delete Input", "Are you sure you want to delete this input?", "Delete", this.onDeleteInput, "Close").instance.open();
}