forked from gitea/gitea
		
	 e82f1b15c7
			
		
	
	
		e82f1b15c7
		
			
		
	
	
	
	
		
			
			Similar to #23394 The dashboard repo list mixes jQuery/Fomantic UI/Vue together, it's very diffcult to maintain and causes unfixable a11y problems. This PR uses two steps to refactor the repo list: 1. move `data-` attributes to JS object and use Vue data as much as possibled3adc0dcac2. move the code into a Vue SFC7ebe55df6eTotal: +516 −585 Screenshots: <details>    </details> --------- Co-authored-by: John Olheiser <john.olheiser@gmail.com>
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Handlebars
		
	
	
	
	
	
| <script type="module">
 | |
| const data = {
 | |
| 	...window.config.pageData.dashboardRepoList, // it only contains searchLimit and uid
 | |
| 
 | |
| 	isMirrorsEnabled: {{.IsMirrorsEnabled}},
 | |
| 	isStarsEnabled: {{not .IsDisableStars}},
 | |
| 
 | |
| 	textRepository: {{.locale.Tr "repository"}},
 | |
| 	textOrganization: {{.locale.Tr "organization"}},
 | |
| 	textMyRepos: {{.locale.Tr "home.my_repos"}},
 | |
| 	textNewRepo: {{.locale.Tr "new_repo"}},
 | |
| 	textSearchRepos: {{.locale.Tr "home.search_repos"}},
 | |
| 	textFilter: {{.locale.Tr "home.filter"}},
 | |
| 	textShowArchived: {{.locale.Tr "home.show_archived"}},
 | |
| 	textShowPrivate: {{.locale.Tr "home.show_private"}},
 | |
| 
 | |
| 	textShowBothArchivedUnarchived: {{.locale.Tr "home.show_both_archived_unarchived"}},
 | |
| 	textShowOnlyUnarchived: {{.locale.Tr "home.show_only_unarchived"}},
 | |
| 	textShowOnlyArchived: {{.locale.Tr "home.show_only_archived"}},
 | |
| 
 | |
| 	textShowBothPrivatePublic: {{.locale.Tr "home.show_both_private_public"}},
 | |
| 	textShowOnlyPublic: {{.locale.Tr "home.show_only_public"}},
 | |
| 	textShowOnlyPrivate: {{.locale.Tr "home.show_only_private"}},
 | |
| 
 | |
| 	textAll: {{.locale.Tr "all"}},
 | |
| 	textSources: {{.locale.Tr "sources"}},
 | |
| 	textForks: {{.locale.Tr "forks"}},
 | |
| 	textMirrors: {{.locale.Tr "mirrors"}},
 | |
| 	textCollaborative: {{.locale.Tr "collaborative"}},
 | |
| 
 | |
| 	textFirstPage: {{.locale.Tr "admin.first_page"}},
 | |
| 	textPreviousPage: {{.locale.Tr "repo.issues.previous"}},
 | |
| 	textNextPage: {{.locale.Tr "repo.issues.next"}},
 | |
| 	textLastPage: {{.locale.Tr "admin.last_page"}},
 | |
| 
 | |
| 	textMyOrgs: {{.locale.Tr "home.my_orgs"}},
 | |
| 	textNewOrg: {{.locale.Tr "new_org"}},
 | |
| };
 | |
| 
 | |
| {{if .Team}}
 | |
| data.teamId = {{.Team.ID}};
 | |
| {{end}}
 | |
| 
 | |
| {{if not .ContextUser.IsOrganization}}
 | |
| data.organizations = [{{range .Orgs}}{'name': {{.Name}}, 'num_repos': {{.NumRepos}}},{{end}}];
 | |
| data.isOrganization = false;
 | |
| data.organizationsTotalCount = {{.UserOrgsCount}}
 | |
| data.canCreateOrganization = {{.SignedUser.CanCreateOrganization}}
 | |
| {{end}}
 | |
| 
 | |
| window.config.pageData.dashboardRepoList = data;
 | |
| </script>
 | |
| 
 | |
| <div id="dashboard-repo-list" class="six wide column"></div>
 |