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/css
 | 
			
		||||
/public/fonts
 | 
			
		||||
/public/img/webpack
 | 
			
		||||
/web_src/fomantic/build
 | 
			
		||||
/VERSION
 | 
			
		||||
/.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_CONFIGS := webpack.config.js
 | 
			
		||||
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_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",
 | 
			
		||||
      "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": {
 | 
			
		||||
      "version": "1.4.0",
 | 
			
		||||
      "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/preset-env": "7.10.4",
 | 
			
		||||
    "@babel/runtime": "7.10.5",
 | 
			
		||||
    "@claviska/jquery-minicolors": "2.3.5",
 | 
			
		||||
    "@primer/octicons": "10.0.0",
 | 
			
		||||
    "babel-loader": "8.1.0",
 | 
			
		||||
    "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) {
 | 
			
		||||
	ctx.Data["Title"] = ctx.Tr("repo.labels")
 | 
			
		||||
	ctx.Data["PageIsOrgSettingsLabels"] = true
 | 
			
		||||
	ctx.Data["RequireMinicolors"] = true
 | 
			
		||||
	ctx.Data["RequireTribute"] = true
 | 
			
		||||
	ctx.Data["LabelTemplates"] = models.LabelTemplates
 | 
			
		||||
	ctx.HTML(200, tplSettingsLabels)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,6 @@ func Labels(ctx *context.Context) {
 | 
			
		|||
	ctx.Data["Title"] = ctx.Tr("repo.labels")
 | 
			
		||||
	ctx.Data["PageIsIssueList"] = true
 | 
			
		||||
	ctx.Data["PageIsLabels"] = true
 | 
			
		||||
	ctx.Data["RequireMinicolors"] = true
 | 
			
		||||
	ctx.Data["RequireTribute"] = true
 | 
			
		||||
	ctx.Data["LabelTemplates"] = models.LabelTemplates
 | 
			
		||||
	ctx.HTML(200, tplLabels)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,9 +30,6 @@
 | 
			
		|||
	{{end}}
 | 
			
		||||
{{end}}
 | 
			
		||||
	<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" .}}
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,7 +66,6 @@
 | 
			
		|||
			UseServiceWorker: {{UseServiceWorker}},
 | 
			
		||||
			csrf: '{{.CsrfToken}}',
 | 
			
		||||
			HighlightJS: {{if .RequireHighlightJS}}true{{else}}false{{end}},
 | 
			
		||||
			Minicolors: {{if .RequireMinicolors}}true{{else}}false{{end}},
 | 
			
		||||
			SimpleMDE: {{if .RequireSimpleMDE}}true{{else}}false{{end}},
 | 
			
		||||
			Tribute: {{if .RequireTribute}}true{{else}}false{{end}},
 | 
			
		||||
			U2F: {{if .RequireU2F}}true{{else}}false{{end}},
 | 
			
		||||
| 
						 | 
				
			
			@ -101,9 +100,6 @@
 | 
			
		|||
			.ui.secondary.menu .dropdown.item > .menu { margin-top: 0; }
 | 
			
		||||
		</style>
 | 
			
		||||
	</noscript>
 | 
			
		||||
{{if .RequireMinicolors}}
 | 
			
		||||
	<link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/jquery.minicolors/jquery.minicolors.css">
 | 
			
		||||
{{end}}
 | 
			
		||||
	<style class="list-search-style"></style>
 | 
			
		||||
{{if .PageIsUserProfile}}
 | 
			
		||||
	<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 renderMarkdownContent from './markdown/content.js';
 | 
			
		||||
import attachTribute from './features/tribute.js';
 | 
			
		||||
import createColorPicker from './features/colorpicker.js';
 | 
			
		||||
import createDropzone from './features/dropzone.js';
 | 
			
		||||
import initTableSort from './features/tablesort.js';
 | 
			
		||||
import ActivityTopAuthors from './components/ActivityTopAuthors.vue';
 | 
			
		||||
| 
						 | 
				
			
			@ -134,15 +135,15 @@ function initLabelEdit() {
 | 
			
		|||
    $newLabelPanel.hide();
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  $('.color-picker').each(function () {
 | 
			
		||||
    $(this).minicolors();
 | 
			
		||||
  });
 | 
			
		||||
  createColorPicker($('.color-picker'));
 | 
			
		||||
 | 
			
		||||
  $('.precolors .color').on('click', function () {
 | 
			
		||||
    const color_hex = $(this).data('color-hex');
 | 
			
		||||
    $('.color-picker').val(color_hex);
 | 
			
		||||
    $('.minicolors-swatch-color').css('background-color', color_hex);
 | 
			
		||||
  });
 | 
			
		||||
  $('.edit-label-button').on('click', function () {
 | 
			
		||||
    $('.color-picker').minicolors('value', $(this).data('color'));
 | 
			
		||||
    $('#label-modal-id').val($(this).data('id'));
 | 
			
		||||
    $('.edit-label .new-label-input').val($(this).data('title'));
 | 
			
		||||
    $('.edit-label .new-label-desc-input').val($(this).data('description'));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -243,7 +243,20 @@ module.exports = {
 | 
			
		|||
            options: {
 | 
			
		||||
              name: '[name].[ext]',
 | 
			
		||||
              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…
	
	Add table
		Add a link
		
	
		Reference in a new issue