import moment from "moment";
import { numberWithCommas } from "./DataFormat";
export function closeWindow() {
window.close();
}
export function isValid(data) {
return !isNull(data);
}
export function isNull(data) {
return data === undefined || data === null || data.length === 0
? true
: false;
}
export function getElementById(id) {
return document.getElementById(id);
}
export function getElementValueById(id) {
return getElementById(id).value;
}
export function setElementValueById(id, value) {
return (getElementById(id).value = value);
}
export function getElementTextById(id) {
if (id) return getElementById(id).innerText;
}
export function setElementTextById(id, value) {
if (id) if (value) return (getElementById(id).innerText = value);
}
export function setElementSelectOption(id, value, setter) {
const element = getElementById(id);
for (let i = 0; i < element.length; i++) {
if (Number(element[i].value) === Number(value)) {
element[i].selected = true;
if (setter) setter(value);
break;
}
}
}
export function setFocusById(id) {
if (isValid(id) && id !== "") document.getElementById(id).focus();
}
export function equalNumbers(a, b) {
return Number(a) === Number(b);
}
export function sum(a, b) {
return Number(a) + Number(b);
}
/**
* 문자열의 콤마를 제거한다.
*/
export function replaceComma(pStr) {
const strCheck = /\,/g;
pStr = pStr.replace(strCheck, "");
return pStr;
}
/**
*
* @param {string|number} num
* @returns return number type, if NaN return 0
*/
export function parseNumber(num) {
if (isNaN(num)) return 0;
else return Number(num);
}
export function parseNumberWithCommas(num) {
num = parseNumber(num);
return numberWithCommas(num);
}
function nowMonth() {
const year = new Date().getFullYear();
const month = new Date().getMonth();
return moment().year(year).month(month);
}
function nowDate() {
const date = new Date().getDate();
return nowMonth().date(date);
}
export function formatMinute(year, month, date, hour, minute) {
let formatDate = nowDate();
if (year && month) {
formatDate = moment().year(year).month(month);
}
if (date) {
formatDate = formatDate.date(date);
}
if (hour) {
formatDate = formatDate.hour(hour);
}
if (minute) {
formatDate = formatDate.minute(minute);
}
formatDate = getMomentFormatDateTime(formatDate);
return formatDate;
}
// js Date타입을 formatDate 함수 호출.
export function dateToFormatDate(time) {
if (moment.isDate(time)) {
let year = time.getFullYear();
if (year.length > 4) year /= 10 * 10 * year.length - 4;
const month = time.getMonth();
const date = time.getDate();
const hour = time.getHours();
const minute = time.getMinutes();
const seconds = time.getSeconds();
const m = moment()
.year(year)
.month(month)
.date(date)
.hour(hour)
.minute(minute)
.seconds(seconds);
const formatDate = getMomentFormatDateTime(m);
console.log("formatDate :", formatDate);
return formatDate;
} else {
return time;
}
}
export function formatDate(year, month, date) {
let formatDate = nowDate();
if (year) {
formatDate = moment().year(year);
}
if (month) {
formatDate = moment().month(month);
}
if (date) {
formatDate = formatDate.date(date);
}
formatDate = getMomentFormatDateTime(formatDate);
return formatDate;
}
export function formatMonth(year, month) {
let formatDate = nowMonth().date(1);
if (year && month) {
formatDate = moment().year(year).month(month).date(1);
}
formatDate = getMomentFormatDateTime(formatDate);
return formatDate;
}
export function getMomentFormatDateTime(moment) {
return moment.format("yyyy-MM-DD HH:mm:ss");
}
export function getMomentFormatDate(moment) {
return moment.format("yyyy-MM-DD");
}
export function logger(name, value) {
console.log(name, ":", value);
}
export function parseLocalTime(date) {
return moment(date).utc().format("yyyy-MM-DD HH:mm:ss");
}
export const nextMonth = formatMonth(
new Date().getFullYear(),
new Date().getMonth() + 1
);
export function parseQueryString(search) {
const queryString = search.substring(1); // ? 제거
const queries = queryString.split("&").map((data) => data.split("=")); // a=~&b=~ 에서 &를 기준으로 데이터 키,밸류 자르고 =를 기준으로 다시 key value 자르기.
const datas = queries.map((query) => {
const result = {};
result[query[0]] = query[1];
return result;
});
return datas;
}
'JS' 카테고리의 다른 글
apidocs @apiBody에 대해 (0) | 2021.08.10 |
---|