Fix heatmap and repository menu display in Internet Explorer 9+ (#6117)
This commit is contained in:
		
							parent
							
								
									41fbaaba78
								
							
						
					
					
						commit
						fc14344acb
					
				
					 5 changed files with 121 additions and 8 deletions
				
			
		|  | @ -7,6 +7,115 @@ function htmlEncode(text) { | |||
| var csrf; | ||||
| var suburl; | ||||
| 
 | ||||
| // Polyfill for IE9+ support (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from)
 | ||||
| if (!Array.from) { | ||||
|     Array.from = (function () { | ||||
|         var toStr = Object.prototype.toString; | ||||
|         var isCallable = function (fn) { | ||||
|             return typeof fn === 'function' || toStr.call(fn) === '[object Function]'; | ||||
|         }; | ||||
|         var toInteger = function (value) { | ||||
|             var number = Number(value); | ||||
|             if (isNaN(number)) { return 0; } | ||||
|             if (number === 0 || !isFinite(number)) { return number; } | ||||
|             return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number)); | ||||
|         }; | ||||
|         var maxSafeInteger = Math.pow(2, 53) - 1; | ||||
|         var toLength = function (value) { | ||||
|             var len = toInteger(value); | ||||
|             return Math.min(Math.max(len, 0), maxSafeInteger); | ||||
|         }; | ||||
| 
 | ||||
|         // The length property of the from method is 1.
 | ||||
|         return function from(arrayLike/*, mapFn, thisArg */) { | ||||
|             // 1. Let C be the this value.
 | ||||
|             var C = this; | ||||
| 
 | ||||
|             // 2. Let items be ToObject(arrayLike).
 | ||||
|             var items = Object(arrayLike); | ||||
| 
 | ||||
|             // 3. ReturnIfAbrupt(items).
 | ||||
|             if (arrayLike == null) { | ||||
|                 throw new TypeError("Array.from requires an array-like object - not null or undefined"); | ||||
|             } | ||||
| 
 | ||||
|             // 4. If mapfn is undefined, then let mapping be false.
 | ||||
|             var mapFn = arguments.length > 1 ? arguments[1] : void undefined; | ||||
|             var T; | ||||
|             if (typeof mapFn !== 'undefined') { | ||||
|                 // 5. else
 | ||||
|                 // 5. a If IsCallable(mapfn) is false, throw a TypeError exception.
 | ||||
|                 if (!isCallable(mapFn)) { | ||||
|                     throw new TypeError('Array.from: when provided, the second argument must be a function'); | ||||
|                 } | ||||
| 
 | ||||
|                 // 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.
 | ||||
|                 if (arguments.length > 2) { | ||||
|                     T = arguments[2]; | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             // 10. Let lenValue be Get(items, "length").
 | ||||
|             // 11. Let len be ToLength(lenValue).
 | ||||
|             var len = toLength(items.length); | ||||
| 
 | ||||
|             // 13. If IsConstructor(C) is true, then
 | ||||
|             // 13. a. Let A be the result of calling the [[Construct]] internal method of C with an argument list containing the single item len.
 | ||||
|             // 14. a. Else, Let A be ArrayCreate(len).
 | ||||
|             var A = isCallable(C) ? Object(new C(len)) : new Array(len); | ||||
| 
 | ||||
|             // 16. Let k be 0.
 | ||||
|             var k = 0; | ||||
|             // 17. Repeat, while k < len… (also steps a - h)
 | ||||
|             var kValue; | ||||
|             while (k < len) { | ||||
|                 kValue = items[k]; | ||||
|                 if (mapFn) { | ||||
|                     A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k); | ||||
|                 } else { | ||||
|                     A[k] = kValue; | ||||
|                 } | ||||
|                 k += 1; | ||||
|             } | ||||
|             // 18. Let putStatus be Put(A, "length", len, true).
 | ||||
|             A.length = len; | ||||
|             // 20. Return A.
 | ||||
|             return A; | ||||
|         }; | ||||
|     }()); | ||||
| } | ||||
| 
 | ||||
| // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
 | ||||
| if (typeof Object.assign != 'function') { | ||||
|     // Must be writable: true, enumerable: false, configurable: true
 | ||||
|     Object.defineProperty(Object, "assign", { | ||||
|         value: function assign(target, varArgs) { // .length of function is 2
 | ||||
|             'use strict'; | ||||
|             if (target == null) { // TypeError if undefined or null
 | ||||
|                 throw new TypeError('Cannot convert undefined or null to object'); | ||||
|             } | ||||
| 
 | ||||
|             var to = Object(target); | ||||
| 
 | ||||
|             for (var index = 1; index < arguments.length; index++) { | ||||
|                 var nextSource = arguments[index]; | ||||
| 
 | ||||
|                 if (nextSource != null) { // Skip over if undefined or null
 | ||||
|                     for (var nextKey in nextSource) { | ||||
|                         // Avoid bugs when hasOwnProperty is shadowed
 | ||||
|                         if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { | ||||
|                             to[nextKey] = nextSource[nextKey]; | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             return to; | ||||
|         }, | ||||
|         writable: true, | ||||
|         configurable: true | ||||
|     }); | ||||
| } | ||||
| 
 | ||||
| function initCommentPreviewTab($form) { | ||||
|     var $tabMenu = $form.find('.tabular.menu'); | ||||
|     $tabMenu.find('.item').tab(); | ||||
|  | @ -2350,7 +2459,6 @@ function initHeatmap(appElementId, heatmapUser, locale) { | |||
|                 this.getColor(4), | ||||
|                 this.getColor(5) | ||||
|             ]; | ||||
|             console.log(this.colorRange); | ||||
|             this.endDate = new Date(); | ||||
|             this.loadHeatmap(this.user); | ||||
|         }, | ||||
|  |  | |||
							
								
								
									
										9
									
								
								public/vendor/librejs.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								public/vendor/librejs.html
									
									
									
									
										vendored
									
									
								
							|  | @ -48,7 +48,7 @@ | |||
|         <tr> | ||||
|           <td><a href="./plugins/vue/vue.min.js">vue.min.js</a></td> | ||||
|           <td><a href="https://github.com/vuejs/vue/blob/dev/LICENSE">Expat</a></td> | ||||
|           <td><a href="https://github.com/vuejs/vue/archive/v2.1.10.tar.gz">vue.js-v2.1.10.tar.gz</a></td> | ||||
|           <td><a href="https://github.com/vuejs/vue/archive/v2.6.6.tar.gz">vue.js-v2.6.6.tar.gz</a></td> | ||||
|         </tr> | ||||
|         <tr> | ||||
|           <td><a href="./plugins/emojify/emojify.min.js">emojify.min.js</a></td> | ||||
|  | @ -136,7 +136,7 @@ | |||
|           <td><a href="https://github.com/swagger-api/swagger-ui/archive/v3.0.4.tar.gz">swagger-ui-v3.0.4.tar.gz</a></td> | ||||
|         </tr> | ||||
|         <tr> | ||||
|           <td><a href="./plugins/vue-calendar-heatmap">vue-calendar-heatmap</a></td> | ||||
|           <td><a href="./plugins/vue-calendar-heatmap/">vue-calendar-heatmap</a></td> | ||||
|           <td><a href="https://github.com/WildCodeSchool/vue-calendar-heatmap/blob/master/README.md">MIT</a></td> | ||||
|           <td><a href="https://github.com/WildCodeSchool/vue-calendar-heatmap/archive/master.zip">7f48b20.zip</a></td> | ||||
|         </tr> | ||||
|  | @ -145,6 +145,11 @@ | |||
|           <td><a href="https://github.com/moment/moment/blob/develop/LICENSE">MIT</a></td> | ||||
|           <td><a href="https://github.com/moment/moment/archive/2.22.2.tar.gz">0.4.1.tar.gz</a></td> | ||||
|         </tr> | ||||
|         <tr> | ||||
|           <td><a href="./plugins/es6-promise/">es6-promise</a></td> | ||||
|           <td><a href="https://github.com/stefanpenner/es6-promise/blob/master/LICENSE">MIT</a></td> | ||||
|           <td><a href="https://github.com/stefanpenner/es6-promise/archive/v4.2.6.tar.gz">4.2.6.tar.gz</a></td> | ||||
|         </tr> | ||||
|       </tbody> | ||||
|     </table> | ||||
|   </body> | ||||
|  |  | |||
							
								
								
									
										1
									
								
								public/vendor/plugins/es6-promise/es6-promise.auto.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/vendor/plugins/es6-promise/es6-promise.auto.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										8
									
								
								public/vendor/plugins/vue/vue.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								public/vendor/plugins/vue/vue.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -122,6 +122,7 @@ | |||
| 	<script src="{{AppSubUrl}}/vendor/plugins/semantic/semantic.min.js"></script> | ||||
| 	<script src="{{AppSubUrl}}/js/index.js?v={{MD5 AppVer}}"></script> | ||||
| {{if .EnableHeatmap}} | ||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/es6-promise/es6-promise.auto.min.js" charset="utf-8"></script> | ||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/moment/moment.min.js" charset="utf-8"></script> | ||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/vue-calendar-heatmap/vue-calendar-heatmap.browser.js" charset="utf-8"></script> | ||||
| 	<script type="text/javascript"> | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue