forked from EVOgeek/Vmeda.Online
		
	MOBILE-3833 pipes: Restore coreToLocaleString pipe
This commit is contained in:
		
							parent
							
								
									22c482bdda
								
							
						
					
					
						commit
						68708d116b
					
				| @ -22,6 +22,7 @@ import { CoreFormatDatePipe } from './format-date'; | |||||||
| import { CoreNoTagsPipe } from './no-tags'; | import { CoreNoTagsPipe } from './no-tags'; | ||||||
| import { CoreSecondsToHMSPipe } from './seconds-to-hms'; | import { CoreSecondsToHMSPipe } from './seconds-to-hms'; | ||||||
| import { CoreTimeAgoPipe } from './time-ago'; | import { CoreTimeAgoPipe } from './time-ago'; | ||||||
|  | import { CoreToLocaleStringPipe } from './to-locale-string'; | ||||||
| 
 | 
 | ||||||
| @NgModule({ | @NgModule({ | ||||||
|     declarations: [ |     declarations: [ | ||||||
| @ -33,6 +34,7 @@ import { CoreTimeAgoPipe } from './time-ago'; | |||||||
|         CoreNoTagsPipe, |         CoreNoTagsPipe, | ||||||
|         CoreSecondsToHMSPipe, |         CoreSecondsToHMSPipe, | ||||||
|         CoreTimeAgoPipe, |         CoreTimeAgoPipe, | ||||||
|  |         CoreToLocaleStringPipe, | ||||||
|     ], |     ], | ||||||
|     exports: [ |     exports: [ | ||||||
|         CoreBytesToSizePipe, |         CoreBytesToSizePipe, | ||||||
| @ -43,6 +45,7 @@ import { CoreTimeAgoPipe } from './time-ago'; | |||||||
|         CoreNoTagsPipe, |         CoreNoTagsPipe, | ||||||
|         CoreSecondsToHMSPipe, |         CoreSecondsToHMSPipe, | ||||||
|         CoreTimeAgoPipe, |         CoreTimeAgoPipe, | ||||||
|  |         CoreToLocaleStringPipe, | ||||||
|     ], |     ], | ||||||
| }) | }) | ||||||
| export class CorePipesModule {} | export class CorePipesModule {} | ||||||
|  | |||||||
							
								
								
									
										67
									
								
								src/core/pipes/to-locale-string.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								src/core/pipes/to-locale-string.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,67 @@ | |||||||
|  | // (C) Copyright 2015 Moodle Pty Ltd.
 | ||||||
|  | //
 | ||||||
|  | // Licensed under the Apache License, Version 2.0 (the "License");
 | ||||||
|  | // you may not use this file 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.
 | ||||||
|  | 
 | ||||||
|  | import { Pipe, PipeTransform } from '@angular/core'; | ||||||
|  | import { CoreTimeUtils } from '@services/utils/time'; | ||||||
|  | 
 | ||||||
|  | import { CoreLogger } from '@singletons/logger'; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Filter to format a timestamp to a locale string. Timestamp can be in seconds or milliseconds. | ||||||
|  |  * | ||||||
|  |  * @deprecated since 3.6. Use coreFormatDate instead. | ||||||
|  |  * This pipe wasn't removed in app 4.0 because some site plugins still used it. It will be removed in future versions. | ||||||
|  |  */ | ||||||
|  | @Pipe({ | ||||||
|  |     name: 'coreToLocaleString', | ||||||
|  | }) | ||||||
|  | export class CoreToLocaleStringPipe implements PipeTransform { | ||||||
|  | 
 | ||||||
|  |     protected logger: CoreLogger; | ||||||
|  | 
 | ||||||
|  |     constructor() { | ||||||
|  |         this.logger = CoreLogger.getInstance('CoreToLocaleStringPipe'); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Format a timestamp to a locale string. | ||||||
|  |      * | ||||||
|  |      * @param timestamp The timestamp (can be in seconds or milliseconds). | ||||||
|  |      * @return Formatted time. | ||||||
|  |      */ | ||||||
|  |     transform(timestamp: number | string): string { | ||||||
|  |         if (typeof timestamp == 'string') { | ||||||
|  |             // Convert the value to a number.
 | ||||||
|  |             const numberTimestamp = parseInt(timestamp, 10); | ||||||
|  |             if (isNaN(numberTimestamp)) { | ||||||
|  |                 this.logger.error('Invalid value received', timestamp); | ||||||
|  | 
 | ||||||
|  |                 return timestamp; | ||||||
|  |             } | ||||||
|  |             timestamp = numberTimestamp; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         if (timestamp < 0) { | ||||||
|  |             // Date not valid.
 | ||||||
|  |             return ''; | ||||||
|  |         } | ||||||
|  |         if (timestamp < 100000000000) { | ||||||
|  |             // Timestamp is in seconds, convert it to milliseconds.
 | ||||||
|  |             timestamp = timestamp * 1000; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         return CoreTimeUtils.userDate(timestamp, 'core.strftimedatetimeshort'); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user