mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 09:03:22 +00:00 
			
		
		
		
	Add <overflow-menu>, rename webcomponents (#29400)
				
					
				
			1. Add `<overflow-menu>` web component 2. Rename `<gitea-origin-url>` to `<origin-url>` and make filenames match. <img width="439" alt="image" src="https://github.com/go-gitea/gitea/assets/115237/2fbe4ca4-110b-4ad2-8e17-c1e116ccbd74"> <img width="444" alt="Screenshot 2024-03-02 at 21 36 52" src="https://github.com/go-gitea/gitea/assets/115237/aa8f786e-dc8c-4030-b12d-7cfb74bdfd6e"> <img width="537" alt="Screenshot 2024-03-03 at 03 05 06" src="https://github.com/go-gitea/gitea/assets/115237/fddd50aa-adf1-4b4b-bd7f-caf30c7b2245">   TODO: - [x] Check if removal of `requestAnimationFrame` is possible to avoid flash of content. Likely needs a `MutationObserver`. - [x] Hide tippy when button is removed from DOM. - [x] ~~Implement right-aligned items (https://github.com/go-gitea/gitea/pull/28976)~~. Not going to do it. - [x] Clean up CSS so base element has no background and add background via tailwind instead. - [x] Use it for org and user page. --------- Co-authored-by: Giteabot <teabot@gitea.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		@@ -43,6 +43,18 @@ if ('ENABLE_SOURCEMAP' in env) {
 | 
			
		||||
  sourceMaps = isProduction ? 'reduced' : 'true';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// define which web components we use for Vue to not interpret them as Vue components
 | 
			
		||||
const webComponents = new Set([
 | 
			
		||||
  // our own, in web_src/js/webcomponents
 | 
			
		||||
  'overflow-menu',
 | 
			
		||||
  'origin-url',
 | 
			
		||||
  'absolute-date',
 | 
			
		||||
  // from dependencies
 | 
			
		||||
  'markdown-toolbar',
 | 
			
		||||
  'relative-time',
 | 
			
		||||
  'text-expander',
 | 
			
		||||
]);
 | 
			
		||||
 | 
			
		||||
const filterCssImport = (url, ...args) => {
 | 
			
		||||
  const cssFile = args[1] || args[0]; // resourcePath is 2nd argument for url and 3rd for import
 | 
			
		||||
  const importedFile = url.replace(/[?#].+/, '').toLowerCase();
 | 
			
		||||
@@ -72,7 +84,7 @@ export default {
 | 
			
		||||
      fileURLToPath(new URL('web_src/css/index.css', import.meta.url)),
 | 
			
		||||
    ],
 | 
			
		||||
    webcomponents: [
 | 
			
		||||
      fileURLToPath(new URL('web_src/js/webcomponents/webcomponents.js', import.meta.url)),
 | 
			
		||||
      fileURLToPath(new URL('web_src/js/webcomponents/index.js', import.meta.url)),
 | 
			
		||||
    ],
 | 
			
		||||
    swagger: [
 | 
			
		||||
      fileURLToPath(new URL('web_src/js/standalone/swagger.js', import.meta.url)),
 | 
			
		||||
@@ -121,6 +133,11 @@ export default {
 | 
			
		||||
        test: /\.vue$/i,
 | 
			
		||||
        exclude: /node_modules/,
 | 
			
		||||
        loader: 'vue-loader',
 | 
			
		||||
        options: {
 | 
			
		||||
          compilerOptions: {
 | 
			
		||||
            isCustomElement: (tag) => webComponents.has(tag),
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        test: /\.js$/i,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user