UNPKG

@zohodesk/dot

Version:

In this Library, we Provide Some Basic Components to Build Your Application

68 lines (56 loc) 2.04 kB
export function stopBubbling(event) { event.preventDefault(); event.stopPropagation && event.stopPropagation(); event.nativeEvent && event.nativeEvent.stopImmediatePropagation && event.nativeEvent.stopImmediatePropagation(); } export function getFullName() { let firstName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; let lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; let fullName = ''; if (firstName !== null && firstName !== '') { fullName = firstName; } if (lastName !== null && lastName !== '') { fullName = `${fullName}${lastName}`; } return fullName; } export function shallowDiff() { let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; for (let i in a) { if (!(i in b)) { return true; } } for (let i in b) { if (a[i] !== b[i]) { return true; } } return false; } export function formatPhoneUrl(phone) { if (/^[0-9]{1,10}$/.test(phone)) { return phone.length == 10 ? `(${phone.slice(0, 3)}) ${phone.slice(3, 6)}-${phone.slice(6, 10)}` : phone; } return phone; } export const DUMMY_OBJECT = Object.freeze({}); export function getBrowserWithVersion() { const userAgent = navigator.userAgent; let tempMatch; let browserMatch = userAgent.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*([\d\.]+)/i) || []; if (userAgent.toLowerCase().indexOf('edge') !== -1) { return userAgent.substring(userAgent.toLowerCase().indexOf('edge')); } if (/trident/i.test(browserMatch[1])) { tempMatch = /\brv[ :]+(\d+(\.\d+)?)/g.exec(userAgent) || []; return `IE ${tempMatch[1] || ''}`; } browserMatch = browserMatch[2] ? [browserMatch[1], browserMatch[2]] : [navigator.appName, navigator.appVersion, '-?']; if ((tempMatch = userAgent.match(/version\/([\.\d]+)/i)) !== null) { browserMatch[2] = tempMatch[1]; } return browserMatch.join(' '); }