mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 00:02:59 -04:00 
			
		
		
		
	Fix heatmap and repository menu display in Internet Explorer 9+ (#6117)
This commit is contained in:
		
							parent
							
								
									41fbaaba78
								
							
						
					
					
						commit
						fc14344acb
					
				| @ -7,6 +7,115 @@ function htmlEncode(text) { | |||||||
| var csrf; | var csrf; | ||||||
| var suburl; | 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) { | function initCommentPreviewTab($form) { | ||||||
|     var $tabMenu = $form.find('.tabular.menu'); |     var $tabMenu = $form.find('.tabular.menu'); | ||||||
|     $tabMenu.find('.item').tab(); |     $tabMenu.find('.item').tab(); | ||||||
| @ -2350,7 +2459,6 @@ function initHeatmap(appElementId, heatmapUser, locale) { | |||||||
|                 this.getColor(4), |                 this.getColor(4), | ||||||
|                 this.getColor(5) |                 this.getColor(5) | ||||||
|             ]; |             ]; | ||||||
|             console.log(this.colorRange); |  | ||||||
|             this.endDate = new Date(); |             this.endDate = new Date(); | ||||||
|             this.loadHeatmap(this.user); |             this.loadHeatmap(this.user); | ||||||
|         }, |         }, | ||||||
|  | |||||||
							
								
								
									
										9
									
								
								public/vendor/librejs.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								public/vendor/librejs.html
									
									
									
									
										vendored
									
									
								
							| @ -48,7 +48,7 @@ | |||||||
|         <tr> |         <tr> | ||||||
|           <td><a href="./plugins/vue/vue.min.js">vue.min.js</a></td> |           <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/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> | ||||||
|         <tr> |         <tr> | ||||||
|           <td><a href="./plugins/emojify/emojify.min.js">emojify.min.js</a></td> |           <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> |           <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> | ||||||
|         <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/blob/master/README.md">MIT</a></td> | ||||||
|           <td><a href="https://github.com/WildCodeSchool/vue-calendar-heatmap/archive/master.zip">7f48b20.zip</a></td> |           <td><a href="https://github.com/WildCodeSchool/vue-calendar-heatmap/archive/master.zip">7f48b20.zip</a></td> | ||||||
|         </tr> |         </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/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> |           <td><a href="https://github.com/moment/moment/archive/2.22.2.tar.gz">0.4.1.tar.gz</a></td> | ||||||
|         </tr> |         </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> |       </tbody> | ||||||
|     </table> |     </table> | ||||||
|   </body> |   </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}}/vendor/plugins/semantic/semantic.min.js"></script> | ||||||
| 	<script src="{{AppSubUrl}}/js/index.js?v={{MD5 AppVer}}"></script> | 	<script src="{{AppSubUrl}}/js/index.js?v={{MD5 AppVer}}"></script> | ||||||
| {{if .EnableHeatmap}} | {{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/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 src="{{AppSubUrl}}/vendor/plugins/vue-calendar-heatmap/vue-calendar-heatmap.browser.js" charset="utf-8"></script> | ||||||
| 	<script type="text/javascript"> | 	<script type="text/javascript"> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user