Add list of lists component to web UI (#5811)
* Add list of lists component to web UI * Add list adding * Add list removing * List editor modal * Add API account search limited by following=true relation * Rework list editor modal * Remove mandatory pagination of GET /api/v1/lists/:id/accounts * Adjust search input placeholder * Fix rspec (#5890) * i18n: (zh-CN) Add missing translations for #5811 (#5891) * i18n: (zh-CN) yarn manage:translations -- zh-CN * i18n: (zh-CN) Add missing translations for #5811 * Fix some issues - Display loading/missing state for list timelines - Order lists alphabetically in overview - Fix async list editor reset - Redirect to /lists after deleting unpinned list - Redirect to / after pinning a list * Remove dead list columns when a list is deleted or fetch returns 404
This commit is contained in:
		
					parent
					
						
							
								12cea76634
							
						
					
				
			
			
				commit
				
					
						e20895f251
					
				
			
		
					 27 changed files with 1073 additions and 41 deletions
				
			
		|  | @ -10,7 +10,7 @@ class Api::V1::Lists::AccountsController < Api::BaseController | |||
|   after_action :insert_pagination_headers, only: :show | ||||
| 
 | ||||
|   def show | ||||
|     @accounts = @list.accounts.paginate_by_max_id(limit_param(DEFAULT_ACCOUNTS_LIMIT), params[:max_id], params[:since_id]) | ||||
|     @accounts = load_accounts | ||||
|     render json: @accounts, each_serializer: REST::AccountSerializer | ||||
|   end | ||||
| 
 | ||||
|  | @ -35,6 +35,14 @@ class Api::V1::Lists::AccountsController < Api::BaseController | |||
|     @list = List.where(account: current_account).find(params[:list_id]) | ||||
|   end | ||||
| 
 | ||||
|   def load_accounts | ||||
|     if unlimited? | ||||
|       @list.accounts.all | ||||
|     else | ||||
|       @list.accounts.paginate_by_max_id(limit_param(DEFAULT_ACCOUNTS_LIMIT), params[:max_id], params[:since_id]) | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def list_accounts | ||||
|     Account.find(account_ids) | ||||
|   end | ||||
|  | @ -52,12 +60,16 @@ class Api::V1::Lists::AccountsController < Api::BaseController | |||
|   end | ||||
| 
 | ||||
|   def next_path | ||||
|     return if unlimited? | ||||
| 
 | ||||
|     if records_continue? | ||||
|       api_v1_list_accounts_url pagination_params(max_id: pagination_max_id) | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def prev_path | ||||
|     return if unlimited? | ||||
| 
 | ||||
|     unless @accounts.empty? | ||||
|       api_v1_list_accounts_url pagination_params(since_id: pagination_since_id) | ||||
|     end | ||||
|  | @ -78,4 +90,8 @@ class Api::V1::Lists::AccountsController < Api::BaseController | |||
|   def pagination_params(core_params) | ||||
|     params.permit(:limit).merge(core_params) | ||||
|   end | ||||
| 
 | ||||
|   def unlimited? | ||||
|     params[:limit] == '0' | ||||
|   end | ||||
| end | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue