diff options
author | Anjali walsatwar <anjali.walsatwar@huawei.com> | 2018-08-17 11:03:43 +0530 |
---|---|---|
committer | Idan Amit <ia096e@intl.att.com> | 2018-09-12 11:53:10 +0000 |
commit | 4ea0c4b514eed8d65849647955bfffa97559194a (patch) | |
tree | 9df9c14fb28f672eda4b0b805179fd5269ec4d64 /catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts | |
parent | c72587ed4cdd2a324ef6e5a1576f9a132ef314a1 (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.ts | 49 |
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(); } |