Initial project scaffolding
This commit is contained in:
32
packages/dev-tools-pages/ts/utils/utils.ts
Normal file
32
packages/dev-tools-pages/ts/utils/utils.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import * as bowser from 'bowser';
|
||||
import * as _ from 'lodash';
|
||||
|
||||
export const utils = {
|
||||
getColSize(items: number): number {
|
||||
const bassCssGridSize = 12; // Source: http://basscss.com/#basscss-grid
|
||||
const colSize = bassCssGridSize / items;
|
||||
if (!_.isInteger(colSize)) {
|
||||
throw new Error(`Number of cols must be divisible by ${bassCssGridSize}`);
|
||||
}
|
||||
return colSize;
|
||||
},
|
||||
getCurrentBaseUrl(): string {
|
||||
const port = window.location.port;
|
||||
const hasPort = !_.isUndefined(port);
|
||||
const baseUrl = `https://${window.location.hostname}${hasPort ? `:${port}` : ''}`;
|
||||
return baseUrl;
|
||||
},
|
||||
onPageLoadPromise: new Promise<void>((resolve, _reject) => {
|
||||
if (document.readyState === 'complete') {
|
||||
resolve();
|
||||
return;
|
||||
}
|
||||
window.onload = () => resolve();
|
||||
}),
|
||||
openUrl(url: string): void {
|
||||
window.open(url, '_blank');
|
||||
},
|
||||
isMobileOperatingSystem(): boolean {
|
||||
return bowser.mobile;
|
||||
},
|
||||
};
|
Reference in New Issue
Block a user