{"version":3,"file":"mingat.browser.js","sourceRoot":"","sources":["../../../../Scripts/App/Common/mingat.browser.ts"],"names":[],"mappings":"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","sourcesContent":["module MinGat.Browser {\r\n export class BrowserResult {\r\n score: number;\r\n maxScore: number;\r\n pass: boolean;\r\n failed: string[];\r\n warnings: string[];\r\n constructor(pass: boolean, score: number, maxScore: number, failed?: string[], warnings?: string[]) {\r\n this.score = score;\r\n this.maxScore = maxScore;\r\n this.pass = !!pass;\r\n this.failed = failed || [];\r\n this.warnings = warnings || [];\r\n }\r\n }\r\n\r\n export class BrowserDetect {\r\n browser: string;\r\n version: any;\r\n versionSearchString: string;\r\n usePrefered: boolean;\r\n prefered: string;\r\n isMobile: boolean;\r\n private _dataBrowser: any[];\r\n\r\n constructor() {\r\n this._dataBrowser =\r\n [\r\n { string: navigator.userAgent, subString: \"Chrome\", identity: \"Chrome\" },\r\n { string: navigator.userAgent, subString: \"MSIE\", identity: \"Explorer\" },\r\n { string: navigator.userAgent, subString: \"Firefox\", identity: \"Firefox\" },\r\n { string: navigator.userAgent, subString: \"Safari\", identity: \"Safari\", prefer: \"Version\" },\r\n { string: navigator.userAgent, subString: \"Opera\", identity: \"Opera\", prefer: \"Version\" }\r\n ];\r\n this.init();\r\n }\r\n\r\n init() {\r\n this.browser = this.searchString(this._dataBrowser) || \"Other\";\r\n this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || \"Unknown\";\r\n }\r\n\r\n searchString(data) {\r\n for (var i = 0; i < data.length; i++) {\r\n var dataString = data[i].string;\r\n this.versionSearchString = data[i].subString;\r\n this.isMobile = false;\r\n\r\n if (dataString.indexOf(data[i].subString) != -1) {\r\n this.usePrefered = false;\r\n this.prefered = null;\r\n this.isMobile = this.getIsMobile(dataString);\r\n if (typeof data[i].prefer == \"string\" && data[i].prefer.length) {\r\n this.usePrefered = dataString.indexOf(data[i].prefer) > -1;\r\n if (this.usePrefered) {\r\n this.prefered = data[i].prefer;\r\n }\r\n }\r\n\r\n return data[i].identity;\r\n }\r\n }\r\n }\r\n\r\n getIsMobile(dataString) : boolean {\r\n if (dataString.indexOf(\"Mobile\") > -1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n searchVersion(dataString) {\r\n var index;\r\n if (this.usePrefered) {\r\n index = dataString.indexOf(this.prefered);\r\n if (index >= 0)\r\n return parseFloat(dataString.substring(index + this.prefered.length + 1));\r\n } \r\n\r\n index = dataString.indexOf(this.versionSearchString);\r\n if (index == -1) return;\r\n return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));\r\n }\r\n }\r\n\r\n export var browserInfo = new BrowserDetect();\r\n\r\n export function checkBrowser(): BrowserResult {\r\n var accScore = 0;\r\n var maxScore = 0;\r\n var scoreSuccessMultiplier = 10;\r\n var scoreUsefulMultiplier = 5;\r\n var failed: string[] = [];\r\n var warnings: string[] = [];\r\n\r\n // Browser detection desktop\r\n var browserVersionFailed = false;\r\n if (!Modernizr.touch && !browserInfo.isMobile) {\r\n if (browserInfo.browser == 'Explorer' && browserInfo.version < 9) {\r\n failed.push(\"Internet Exlorer v.\" + browserInfo.version + \" is not supported!\");\r\n }\r\n\r\n if (browserInfo.browser == 'Opera' && browserInfo.version < 10) {\r\n failed.push(\"Opera v.\" + browserInfo.version + \" is not supported!\");\r\n }\r\n\r\n if (browserInfo.browser == 'Firefox' && browserInfo.version < 4) {\r\n failed.push(\"Firefox v.\" + browserInfo.version + \" is not supported!\");\r\n }\r\n\r\n if (browserInfo.browser == 'Safari' && browserInfo.version < 5.1) {\r\n failed.push(\"Safari v.\" + browserInfo.version + \" is not supported!\");\r\n }\r\n\r\n if (browserInfo.browser == 'Chrome' && browserInfo.version < 10) {\r\n failed.push(\"Chrome v.\" + browserInfo.version + \" is not supported!\");\r\n }\r\n\r\n browserVersionFailed = failed.length > 0;\r\n }\r\n\r\n if (Modernizr.hashchange) {\r\n accScore += scoreSuccessMultiplier;\r\n } else {\r\n failed.push(\"No support for HashChange functionality. MinGat is a single page application (SPA) and this functionality is required for clientside routing.\");\r\n }\r\n maxScore += scoreSuccessMultiplier;\r\n\r\n if (Modernizr.canvas) {\r\n accScore += scoreSuccessMultiplier;\r\n } else {\r\n failed.push(\"No support for canvas.\");\r\n }\r\n maxScore += scoreSuccessMultiplier;\r\n\r\n if (Modernizr.svg) {\r\n accScore += scoreSuccessMultiplier;\r\n } else {\r\n failed.push(\"No support for 'SVG'.\");\r\n }\r\n maxScore += scoreSuccessMultiplier;\r\n\r\n if (Modernizr.generatedcontent) {\r\n accScore += scoreSuccessMultiplier;\r\n \r\n } else {\r\n failed.push(\"No support for 'generated content' (:before & :after). Essential for usability.\");\r\n }\r\n maxScore += scoreSuccessMultiplier;\r\n\r\n if (Modernizr.opacity) {\r\n accScore += scoreSuccessMultiplier;\r\n } else {\r\n failed.push(\"No support for 'opacity'. Essential for usability.\");\r\n }\r\n maxScore += scoreSuccessMultiplier;\r\n\r\n if (Modernizr.rgba) {\r\n accScore += scoreSuccessMultiplier;\r\n } else {\r\n failed.push(\"No support for 'rgba'. Essential for usability.\");\r\n }\r\n maxScore += scoreSuccessMultiplier;\r\n\r\n // Warnings\r\n\r\n if (Modernizr.boxshadow) {\r\n accScore += scoreSuccessMultiplier;\r\n } else {\r\n warnings.push(\"No support for 'box shadow'. This may decrease usability.\");\r\n }\r\n maxScore += scoreSuccessMultiplier;\r\n\r\n if (Modernizr.borderradius) {\r\n accScore += scoreSuccessMultiplier;\r\n } else {\r\n warnings.push(\"No support for 'border radius'. This may decrease usability.\");\r\n }\r\n maxScore += scoreSuccessMultiplier;\r\n\r\n if (Modernizr.cssgradients) {\r\n accScore += scoreSuccessMultiplier;\r\n } else {\r\n warnings.push(\"No support for 'css gradients'. This may decrease usability.\");\r\n }\r\n maxScore += scoreSuccessMultiplier;\r\n\r\n if (Modernizr.textshadow) {\r\n accScore += scoreSuccessMultiplier;\r\n } else {\r\n warnings.push(\"No support for 'text shadow'. This may decrease usability.\");\r\n }\r\n maxScore += scoreSuccessMultiplier;\r\n\r\n if (Modernizr.sessionstorage && Modernizr.localstorage) {\r\n accScore += scoreSuccessMultiplier;\r\n } else {\r\n warnings.push(\"No support for 'session/local storage'. MinGat uses this functionality to temporarily store data for improved reliability, but are not required.\");\r\n }\r\n maxScore += scoreSuccessMultiplier;\r\n\r\n // Useful features\r\n\r\n if (Modernizr.backgroundsize) {\r\n accScore += scoreUsefulMultiplier;\r\n }\r\n maxScore += scoreUsefulMultiplier;\r\n\r\n if (Modernizr.cssanimations) {\r\n accScore += scoreUsefulMultiplier;\r\n }\r\n maxScore += scoreUsefulMultiplier;\r\n\r\n if (Modernizr.cssreflections) {\r\n accScore += scoreUsefulMultiplier;\r\n }\r\n maxScore += scoreUsefulMultiplier;\r\n\r\n if (Modernizr.fontface) {\r\n accScore += scoreUsefulMultiplier;\r\n }\r\n maxScore += scoreUsefulMultiplier;\r\n\r\n if (Modernizr.history) {\r\n accScore += scoreUsefulMultiplier;\r\n }\r\n maxScore += scoreUsefulMultiplier;\r\n\r\n if (Modernizr.hsla) {\r\n accScore += scoreUsefulMultiplier;\r\n }\r\n maxScore += scoreUsefulMultiplier;\r\n\r\n if (Modernizr.video) {\r\n accScore += scoreUsefulMultiplier;\r\n }\r\n maxScore += scoreUsefulMultiplier;\r\n\r\n if (browserVersionFailed) {\r\n return new BrowserResult(failed.length == 0, 0, maxScore, failed, warnings); \r\n }\r\n\r\n return new BrowserResult(failed.length == 0, accScore, maxScore, failed, warnings); \r\n }\r\n\r\n} "]}