Move jquery-minicolors to npm/webpack (#12305)
* Move jquery-minicolors to npm/webpack - Unvendor and add as npm dependency - Removed unneeded backend variable - Fixed existing bug where picker would previously initizalize to the same green color when editing a label. There was probably a version bump because the previous version was over 3 years old but it seems to be compatible. * use file-loader * trailing comma and comment update * misc tweaks Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
		
							parent
							
								
									2f6aadffa8
								
							
						
					
					
						commit
						2fd78c151e
					
				
					 15 changed files with 36 additions and 366 deletions
				
			
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							|  | @ -79,6 +79,7 @@ coverage.all | ||||||
| /public/serviceworker.js | /public/serviceworker.js | ||||||
| /public/css | /public/css | ||||||
| /public/fonts | /public/fonts | ||||||
|  | /public/img/webpack | ||||||
| /web_src/fomantic/build | /web_src/fomantic/build | ||||||
| /VERSION | /VERSION | ||||||
| /.air | /.air | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							|  | @ -96,7 +96,7 @@ FOMANTIC_DEST_DIR := web_src/fomantic/build | ||||||
| WEBPACK_SOURCES := $(shell find web_src/js web_src/less -type f) $(FOMANTIC_DEST) | WEBPACK_SOURCES := $(shell find web_src/js web_src/less -type f) $(FOMANTIC_DEST) | ||||||
| WEBPACK_CONFIGS := webpack.config.js | WEBPACK_CONFIGS := webpack.config.js | ||||||
| WEBPACK_DEST := public/js/index.js public/css/index.css | WEBPACK_DEST := public/js/index.js public/css/index.css | ||||||
| WEBPACK_DEST_ENTRIES := public/js public/css public/fonts public/serviceworker.js | WEBPACK_DEST_ENTRIES := public/js public/css public/fonts public/img/webpack public/serviceworker.js | ||||||
| 
 | 
 | ||||||
| BINDATA_DEST := modules/public/bindata.go modules/options/bindata.go modules/templates/bindata.go | BINDATA_DEST := modules/public/bindata.go modules/options/bindata.go modules/templates/bindata.go | ||||||
| BINDATA_HASH := $(addsuffix .hash,$(BINDATA_DEST)) | BINDATA_HASH := $(addsuffix .hash,$(BINDATA_DEST)) | ||||||
|  |  | ||||||
							
								
								
									
										5
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										5
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							|  | @ -904,6 +904,11 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-3.1.0.tgz", |       "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-3.1.0.tgz", | ||||||
|       "integrity": "sha512-GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==" |       "integrity": "sha512-GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==" | ||||||
|     }, |     }, | ||||||
|  |     "@claviska/jquery-minicolors": { | ||||||
|  |       "version": "2.3.5", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@claviska/jquery-minicolors/-/jquery-minicolors-2.3.5.tgz", | ||||||
|  |       "integrity": "sha512-LpiN8hyqRPYB2tEzFD4lI54GxKHQXhzrJMnKnsumElYxjkjbdAPmiIm+1k/Mkfn92HepL7t9uaK5iQSFP/19aw==" | ||||||
|  |     }, | ||||||
|     "@csstools/convert-colors": { |     "@csstools/convert-colors": { | ||||||
|       "version": "1.4.0", |       "version": "1.4.0", | ||||||
|       "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", |       "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", | ||||||
|  |  | ||||||
|  | @ -10,6 +10,7 @@ | ||||||
|     "@babel/plugin-transform-runtime": "7.10.5", |     "@babel/plugin-transform-runtime": "7.10.5", | ||||||
|     "@babel/preset-env": "7.10.4", |     "@babel/preset-env": "7.10.4", | ||||||
|     "@babel/runtime": "7.10.5", |     "@babel/runtime": "7.10.5", | ||||||
|  |     "@claviska/jquery-minicolors": "2.3.5", | ||||||
|     "@primer/octicons": "10.0.0", |     "@primer/octicons": "10.0.0", | ||||||
|     "babel-loader": "8.1.0", |     "babel-loader": "8.1.0", | ||||||
|     "clipboard": "2.0.6", |     "clipboard": "2.0.6", | ||||||
|  |  | ||||||
							
								
								
									
										18
									
								
								public/vendor/plugins/jquery.minicolors/LICENSE
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								public/vendor/plugins/jquery.minicolors/LICENSE
									
									
									
									
										vendored
									
									
								
							|  | @ -1,18 +0,0 @@ | ||||||
| Copyright 2017 A Beautiful Site, LLC |  | ||||||
| 
 |  | ||||||
| Permission is hereby granted, free of charge, to any person obtaining a copy of |  | ||||||
| this software and associated documentation files (the "Software"), to deal in |  | ||||||
| the Software without restriction, including without limitation the rights to use, |  | ||||||
| copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the |  | ||||||
| Software, and to permit persons to whom the Software is furnished to do so, |  | ||||||
| subject to the following conditions: |  | ||||||
| 
 |  | ||||||
| The above copyright notice and this permission notice shall be included in all |  | ||||||
| copies or substantial portions of the Software. |  | ||||||
| 
 |  | ||||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, |  | ||||||
| INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A |  | ||||||
| PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |  | ||||||
| HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |  | ||||||
| OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |  | ||||||
| SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |  | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 67 KiB | 
|  | @ -202,7 +202,6 @@ func DeleteWebhook(ctx *context.Context) { | ||||||
| func Labels(ctx *context.Context) { | func Labels(ctx *context.Context) { | ||||||
| 	ctx.Data["Title"] = ctx.Tr("repo.labels") | 	ctx.Data["Title"] = ctx.Tr("repo.labels") | ||||||
| 	ctx.Data["PageIsOrgSettingsLabels"] = true | 	ctx.Data["PageIsOrgSettingsLabels"] = true | ||||||
| 	ctx.Data["RequireMinicolors"] = true |  | ||||||
| 	ctx.Data["RequireTribute"] = true | 	ctx.Data["RequireTribute"] = true | ||||||
| 	ctx.Data["LabelTemplates"] = models.LabelTemplates | 	ctx.Data["LabelTemplates"] = models.LabelTemplates | ||||||
| 	ctx.HTML(200, tplSettingsLabels) | 	ctx.HTML(200, tplSettingsLabels) | ||||||
|  |  | ||||||
|  | @ -23,7 +23,6 @@ func Labels(ctx *context.Context) { | ||||||
| 	ctx.Data["Title"] = ctx.Tr("repo.labels") | 	ctx.Data["Title"] = ctx.Tr("repo.labels") | ||||||
| 	ctx.Data["PageIsIssueList"] = true | 	ctx.Data["PageIsIssueList"] = true | ||||||
| 	ctx.Data["PageIsLabels"] = true | 	ctx.Data["PageIsLabels"] = true | ||||||
| 	ctx.Data["RequireMinicolors"] = true |  | ||||||
| 	ctx.Data["RequireTribute"] = true | 	ctx.Data["RequireTribute"] = true | ||||||
| 	ctx.Data["LabelTemplates"] = models.LabelTemplates | 	ctx.Data["LabelTemplates"] = models.LabelTemplates | ||||||
| 	ctx.HTML(200, tplLabels) | 	ctx.HTML(200, tplLabels) | ||||||
|  |  | ||||||
|  | @ -30,9 +30,6 @@ | ||||||
| 	{{end}} | 	{{end}} | ||||||
| {{end}} | {{end}} | ||||||
| 	<script src="{{StaticUrlPrefix}}/js/index.js?v={{MD5 AppVer}}"></script> | 	<script src="{{StaticUrlPrefix}}/js/index.js?v={{MD5 AppVer}}"></script> | ||||||
| {{if .RequireMinicolors}} |  | ||||||
| 	<script src="{{StaticUrlPrefix}}/vendor/plugins/jquery.minicolors/jquery.minicolors.min.js"></script> |  | ||||||
| {{end}} |  | ||||||
| {{template "custom/footer" .}} | {{template "custom/footer" .}} | ||||||
| </body> | </body> | ||||||
| </html> | </html> | ||||||
|  |  | ||||||
|  | @ -66,7 +66,6 @@ | ||||||
| 			UseServiceWorker: {{UseServiceWorker}}, | 			UseServiceWorker: {{UseServiceWorker}}, | ||||||
| 			csrf: '{{.CsrfToken}}', | 			csrf: '{{.CsrfToken}}', | ||||||
| 			HighlightJS: {{if .RequireHighlightJS}}true{{else}}false{{end}}, | 			HighlightJS: {{if .RequireHighlightJS}}true{{else}}false{{end}}, | ||||||
| 			Minicolors: {{if .RequireMinicolors}}true{{else}}false{{end}}, |  | ||||||
| 			SimpleMDE: {{if .RequireSimpleMDE}}true{{else}}false{{end}}, | 			SimpleMDE: {{if .RequireSimpleMDE}}true{{else}}false{{end}}, | ||||||
| 			Tribute: {{if .RequireTribute}}true{{else}}false{{end}}, | 			Tribute: {{if .RequireTribute}}true{{else}}false{{end}}, | ||||||
| 			U2F: {{if .RequireU2F}}true{{else}}false{{end}}, | 			U2F: {{if .RequireU2F}}true{{else}}false{{end}}, | ||||||
|  | @ -101,9 +100,6 @@ | ||||||
| 			.ui.secondary.menu .dropdown.item > .menu { margin-top: 0; } | 			.ui.secondary.menu .dropdown.item > .menu { margin-top: 0; } | ||||||
| 		</style> | 		</style> | ||||||
| 	</noscript> | 	</noscript> | ||||||
| {{if .RequireMinicolors}} |  | ||||||
| 	<link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/jquery.minicolors/jquery.minicolors.css"> |  | ||||||
| {{end}} |  | ||||||
| 	<style class="list-search-style"></style> | 	<style class="list-search-style"></style> | ||||||
| {{if .PageIsUserProfile}} | {{if .PageIsUserProfile}} | ||||||
| 	<meta property="og:title" content="{{.Owner.Name}}" /> | 	<meta property="og:title" content="{{.Owner.Name}}" /> | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								web_src/js/features/colorpicker.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								web_src/js/features/colorpicker.js
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | ||||||
|  | export default async function createColorPicker($els) { | ||||||
|  |   if (!$els || !$els.length) return; | ||||||
|  | 
 | ||||||
|  |   await Promise.all([ | ||||||
|  |     import(/* webpackChunkName: "minicolors" */'@claviska/jquery-minicolors'), | ||||||
|  |     import(/* webpackChunkName: "minicolors" */'@claviska/jquery-minicolors/jquery.minicolors.css'), | ||||||
|  |   ]); | ||||||
|  | 
 | ||||||
|  |   $els.minicolors(); | ||||||
|  | } | ||||||
|  | @ -15,6 +15,7 @@ import initServiceWorker from './features/serviceworker.js'; | ||||||
| import initMarkdownAnchors from './markdown/anchors.js'; | import initMarkdownAnchors from './markdown/anchors.js'; | ||||||
| import renderMarkdownContent from './markdown/content.js'; | import renderMarkdownContent from './markdown/content.js'; | ||||||
| import attachTribute from './features/tribute.js'; | import attachTribute from './features/tribute.js'; | ||||||
|  | import createColorPicker from './features/colorpicker.js'; | ||||||
| import createDropzone from './features/dropzone.js'; | import createDropzone from './features/dropzone.js'; | ||||||
| import initTableSort from './features/tablesort.js'; | import initTableSort from './features/tablesort.js'; | ||||||
| import ActivityTopAuthors from './components/ActivityTopAuthors.vue'; | import ActivityTopAuthors from './components/ActivityTopAuthors.vue'; | ||||||
|  | @ -134,15 +135,15 @@ function initLabelEdit() { | ||||||
|     $newLabelPanel.hide(); |     $newLabelPanel.hide(); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   $('.color-picker').each(function () { |   createColorPicker($('.color-picker')); | ||||||
|     $(this).minicolors(); | 
 | ||||||
|   }); |  | ||||||
|   $('.precolors .color').on('click', function () { |   $('.precolors .color').on('click', function () { | ||||||
|     const color_hex = $(this).data('color-hex'); |     const color_hex = $(this).data('color-hex'); | ||||||
|     $('.color-picker').val(color_hex); |     $('.color-picker').val(color_hex); | ||||||
|     $('.minicolors-swatch-color').css('background-color', color_hex); |     $('.minicolors-swatch-color').css('background-color', color_hex); | ||||||
|   }); |   }); | ||||||
|   $('.edit-label-button').on('click', function () { |   $('.edit-label-button').on('click', function () { | ||||||
|  |     $('.color-picker').minicolors('value', $(this).data('color')); | ||||||
|     $('#label-modal-id').val($(this).data('id')); |     $('#label-modal-id').val($(this).data('id')); | ||||||
|     $('.edit-label .new-label-input').val($(this).data('title')); |     $('.edit-label .new-label-input').val($(this).data('title')); | ||||||
|     $('.edit-label .new-label-desc-input').val($(this).data('description')); |     $('.edit-label .new-label-desc-input').val($(this).data('description')); | ||||||
|  |  | ||||||
|  | @ -243,7 +243,20 @@ module.exports = { | ||||||
|             options: { |             options: { | ||||||
|               name: '[name].[ext]', |               name: '[name].[ext]', | ||||||
|               outputPath: 'fonts/', |               outputPath: 'fonts/', | ||||||
|               publicPath: (url) => `../fonts/${url}`, // seems required for monaco's font
 |               publicPath: (url) => `../fonts/${url}`, // required to remove css/ path segment
 | ||||||
|  |             }, | ||||||
|  |           }, | ||||||
|  |         ], | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |         test: /\.png$/i, | ||||||
|  |         use: [ | ||||||
|  |           { | ||||||
|  |             loader: 'file-loader', | ||||||
|  |             options: { | ||||||
|  |               name: '[name].[ext]', | ||||||
|  |               outputPath: 'img/webpack/', | ||||||
|  |               publicPath: (url) => `../img/webpack/${url}`, // required to remove css/ path segment
 | ||||||
|             }, |             }, | ||||||
|           }, |           }, | ||||||
|         ], |         ], | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue