You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					53 lines
				
				1.6 KiB
			
		
		
			
		
	
	
					53 lines
				
				1.6 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", { value: true });
							 | 
						||
| 
								 | 
							
								exports.pad = exports.formatDateTime = exports.formatDate = exports.formatDateProperty = void 0;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * adds leading 0 to the number when it is lower than 10
							 | 
						||
| 
								 | 
							
								 * @param {number} pad        number - i.e 8
							 | 
						||
| 
								 | 
							
								 * @returns {sting}           formatted number: i.e. "08"
							 | 
						||
| 
								 | 
							
								 * @memberof module:@adminjs/design-system
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								const pad = (n) => (n < 10 ? `0${n.toString()}` : n.toString());
							 | 
						||
| 
								 | 
							
								exports.pad = pad;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Formats date to YYYY-MM-DD
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param   {Date}    date
							 | 
						||
| 
								 | 
							
								 * @return  {string}
							 | 
						||
| 
								 | 
							
								 * @memberof module:@adminjs/design-system
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								const formatDate = (date) => `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;
							 | 
						||
| 
								 | 
							
								exports.formatDate = formatDate;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Formats date to HH:mm
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param   {Date}    date
							 | 
						||
| 
								 | 
							
								 * @return  {string}
							 | 
						||
| 
								 | 
							
								 * @memberof module:@adminjs/design-system
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								const formatTime = (date) => `${pad(date.getHours())}:${pad(date.getMinutes())}`;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Formats date to YYYY-MM-DD HH:mm
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param   {Date}    date
							 | 
						||
| 
								 | 
							
								 * @return  {string}
							 | 
						||
| 
								 | 
							
								 * @memberof module:@adminjs/design-system
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								const formatDateTime = (date) => `${formatDate(date)} ${formatTime(date)}`;
							 | 
						||
| 
								 | 
							
								exports.formatDateTime = formatDateTime;
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Based on the property type formats date to either YYYY-MM-DD HH:mm or YYYY-MM-DD
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param   {Date}    date
							 | 
						||
| 
								 | 
							
								 * @param   {PropertyType}    propertyType
							 | 
						||
| 
								 | 
							
								 * @return  {string}
							 | 
						||
| 
								 | 
							
								 * @memberof module:@adminjs/design-system
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								const formatDateProperty = (date, propertyType) => {
							 | 
						||
| 
								 | 
							
								    if (propertyType === 'date') {
							 | 
						||
| 
								 | 
							
								        return formatDate(date);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    return formatDateTime(date);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								exports.formatDateProperty = formatDateProperty;
							 |