summaryrefslogtreecommitdiffstats
path: root/cds-ui/client/src/app/common/shared
diff options
context:
space:
mode:
authorArundathi Patil <arundpil@in.ibm.com>2019-05-27 15:14:14 +0530
committerArundathi Patil <arundpil@in.ibm.com>2019-05-27 15:14:37 +0530
commitb0bda9b6310a84ce00a747926c78b04b66eac8ae (patch)
tree0fcde175cc5f0ccfe2673ec8efa130220c87a39c /cds-ui/client/src/app/common/shared
parent1f69e1c3569196305c23f085cfbc03bdba14f4e0 (diff)
CCSDK-1308- Files sorting
Files are now sorted in ascending order Issue-ID: CCSDK-1308 Change-Id: I4143a132a946815363f1c80b6ab37b6590ee242c Signed-off-by: Arundathi Patil <arundpil@in.ibm.com>
Diffstat (limited to 'cds-ui/client/src/app/common/shared')
-rw-r--r--cds-ui/client/src/app/common/shared/pipes/sort.pipe.ts54
-rw-r--r--cds-ui/client/src/app/common/shared/shared.module.ts8
2 files changed, 59 insertions, 3 deletions
diff --git a/cds-ui/client/src/app/common/shared/pipes/sort.pipe.ts b/cds-ui/client/src/app/common/shared/pipes/sort.pipe.ts
new file mode 100644
index 000000000..f878a2256
--- /dev/null
+++ b/cds-ui/client/src/app/common/shared/pipes/sort.pipe.ts
@@ -0,0 +1,54 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM Intellectual propertyNameerty. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+============LICENSE_END============================================
+*/
+
+import { Pipe, PipeTransform } from '@angular/core';
+
+@Pipe({
+ name: 'sort',
+ pure:false,
+})
+export class SortPipe implements PipeTransform {
+
+ transform(arrayData: any[], direcion: string, propertyName?: string): any {
+ if (!arrayData) {
+ return [];
+ }
+ if (!direcion || !propertyName) {
+ return arrayData
+ }
+ if (arrayData.length > 0) {
+ const _direction = direcion === 'asc' ? -1 : 1,
+ isArray = Array.isArray(arrayData),
+ arrayDataType = typeof arrayData[0],
+ flag = isArray && arrayDataType === 'object' ? true : isArray && arrayDataType !== 'object' ? false : true;
+ arrayData.sort((a, b) => {
+ a = flag ? a[propertyName] : a;
+ b = flag ? b[propertyName] : b;
+ if (typeof a === 'string') {
+ return a.toLowerCase() > b.toLowerCase() ? -1 * _direction : 1 * _direction;
+ } else if (typeof a === 'number') {
+ return a - b > 0 ? -1 * _direction : 1 * _direction;
+ }
+ });
+ }
+ return arrayData;
+ }
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/shared/shared.module.ts b/cds-ui/client/src/app/common/shared/shared.module.ts
index 6ca5b13a5..b036f5967 100644
--- a/cds-ui/client/src/app/common/shared/shared.module.ts
+++ b/cds-ui/client/src/app/common/shared/shared.module.ts
@@ -29,20 +29,22 @@ import { RouterModule } from "@angular/router";
import { SearchPipe } from './pipes/search.pipe';
import { SearchDialog } from './components/search-dialog/search-dialog.component';
import { AppMaterialModule } from '../modules/app-material.module';
+import { SortPipe } from './pipes/sort.pipe';
@NgModule({
declarations: [
HomeComponent,
CBAWizardComponent,
SearchPipe,
- SearchDialog
-
+ SearchDialog,
+ SortPipe
],
exports: [
HomeComponent,
CBAWizardComponent,
SearchPipe,
- SearchDialog
+ SearchDialog,
+ SortPipe
],
imports: [
AppMaterialModule,