aboutsummaryrefslogtreecommitdiffstats
path: root/packages/dev-tools-pages/ts/utils
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-10-11 18:44:00 +0800
committerGitHub <noreply@github.com>2018-10-11 18:44:00 +0800
commit8941b6cee5b56fab6d3b89ac8a899f21d5c86350 (patch)
treed958e69af58dfc6a959b2b7bb4f5f9fedd3884a6 /packages/dev-tools-pages/ts/utils
parenta5a033c359a1a00a144ae0655080b4e6d0e43c88 (diff)
parente4351789d20df12ab8d70021acb5674bb59cae0c (diff)
downloaddexon-sol-tools-8941b6cee5b56fab6d3b89ac8a899f21d5c86350.tar
dexon-sol-tools-8941b6cee5b56fab6d3b89ac8a899f21d5c86350.tar.gz
dexon-sol-tools-8941b6cee5b56fab6d3b89ac8a899f21d5c86350.tar.bz2
dexon-sol-tools-8941b6cee5b56fab6d3b89ac8a899f21d5c86350.tar.lz
dexon-sol-tools-8941b6cee5b56fab6d3b89ac8a899f21d5c86350.tar.xz
dexon-sol-tools-8941b6cee5b56fab6d3b89ac8a899f21d5c86350.tar.zst
dexon-sol-tools-8941b6cee5b56fab6d3b89ac8a899f21d5c86350.zip
Merge pull request #1125 from 0xProject/feature/starter-dev-tools-pages
Initial project scaffolding for dev tools pages
Diffstat (limited to 'packages/dev-tools-pages/ts/utils')
-rw-r--r--packages/dev-tools-pages/ts/utils/utils.ts32
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/dev-tools-pages/ts/utils/utils.ts b/packages/dev-tools-pages/ts/utils/utils.ts
new file mode 100644
index 000000000..b274706a2
--- /dev/null
+++ b/packages/dev-tools-pages/ts/utils/utils.ts
@@ -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;
+ },
+};