Browse Source

统一类名,语言及资源支持搜索

pull/862/head
李宏 2 years ago
parent
commit
4d71843ff0
  1. 5
      apps/vue/src/api/localization/languages.ts
  2. 4
      apps/vue/src/api/localization/model/languagesModel.ts
  3. 2
      apps/vue/src/api/localization/model/resourcesModel.ts
  4. 10
      apps/vue/src/api/localization/resources.ts
  5. 4
      apps/vue/src/views/localization/languages/components/LanguageTable.vue
  6. 11
      apps/vue/src/views/localization/resources/components/ResourceTable.vue
  7. 2
      aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/GetLanguageWithFilterDto.cs
  8. 7
      aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/GetResourceWithFilterDto.cs
  9. 2
      aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/ILanguageAppService.cs
  10. 2
      aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/IResourceAppService.cs
  11. 17
      aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/LanguageAppService.cs
  12. 4
      aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/LanguageController.cs
  13. 6
      aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/ResourceAppService.cs
  14. 4
      aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/ResourceController.cs

5
apps/vue/src/api/localization/languages.ts

@ -1,5 +1,5 @@
import { defAbpHttp } from '/@/utils/http/abp';
import { LanguageListResult, LanguageCreate, LanguageUpdate, Language } from './model/languagesModel';
import { LanguageListResult, LanguageCreate, LanguageUpdate, Language, GetLanguageWithFilter } from './model/languagesModel';
const remoteServiceName = 'LocalizationManagement';
const controllerName = 'Language';
@ -8,9 +8,10 @@ enum Api {
GetList = '/api/abp/localization/languages',
}
export const getList = () => {
export const getList = (input: GetLanguageWithFilter) => {
return defAbpHttp.get<LanguageListResult>({
url: Api.GetList,
params: input,
});
};

4
apps/vue/src/api/localization/model/languagesModel.ts

@ -26,3 +26,7 @@ export interface LanguagePagedResult extends PagedResultDto<Language> {}
export interface GetLanguagePagedRequest extends PagedAndSortedResultRequestDto {
filter?: string;
}
export interface GetLanguageWithFilter {
filter?: string;
}

2
apps/vue/src/api/localization/model/resourcesModel.ts

@ -27,6 +27,6 @@ export interface GetResourcePagedRequest extends PagedAndSortedResultRequestDto
filter?: string;
}
export interface GetWithFilter {
export interface GetResourceWithFilter {
filter?: string;
}

10
apps/vue/src/api/localization/resources.ts

@ -1,17 +1,17 @@
import { defAbpHttp } from '/@/utils/http/abp';
import { ResourceListResult, Resource, ResourceCreate, ResourceUpdate, GetWithFilter } from './model/resourcesModel';
import { format } from '/@/utils/strings';
import { ResourceListResult, Resource, ResourceCreate, ResourceUpdate, GetResourceWithFilter } from './model/resourcesModel';
const remoteServiceName = 'LocalizationManagement';
const controllerName = 'Resource';
enum Api {
GetList = '/api/abp/localization/resources?filter={filter}',
GetList = '/api/abp/localization/resources',
}
export const getList = (input: GetWithFilter) => {
export const getList = (input: GetResourceWithFilter) => {
return defAbpHttp.get<ResourceListResult>({
url: format(Api.GetList, input),
url: Api.GetList,
params: input,
});
};

4
apps/vue/src/views/localization/languages/components/LanguageTable.vue

@ -89,8 +89,8 @@
function fetchLanguages() {
const form = getForm();
return form.validate().then(() => {
return getList().then((res) => {
return form.validate().then((input) => {
return getList(input).then((res) => {
setTableData(res.items);
});
});

11
apps/vue/src/views/localization/resources/components/ResourceTable.vue

@ -49,10 +49,7 @@
import { getDataColumns } from './TableData';
import { reactive } from 'vue';
import ResourceModal from './ResourceModal.vue';
const state = reactive({
filter: 'noti'
});
const { createConfirm, createMessage } = useMessage();
const { L } = useLocalization(['LocalizationManagement', 'AbpLocalization', 'AbpUi']);
@ -77,7 +74,7 @@
component: 'Input',
label: L('Search'),
colProps: { span: 24 },
defaultValue: '',
defaultValue: ''
},
],
submitFunc: fetchResources,
@ -92,8 +89,8 @@
function fetchResources() {
const form = getForm();
return form.validate().then(() => {
return getList({filter: state.filter}).then((res) => {
return form.validate().then((input) => {
return getList(input).then((res) => {
setTableData(res.items);
});
});

2
aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/GetWithFilter.cs → aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/GetLanguageWithFilterDto.cs

@ -1,6 +1,6 @@
namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
{
public class GetWithFilter
public class GetLanguageWithFilterDto
{
public string Filter { get; set; }
}

7
aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/GetResourceWithFilterDto.cs

@ -0,0 +1,7 @@
namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
{
public class GetResourceWithFilterDto
{
public string Filter { get; set; }
}
}

2
aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/ILanguageAppService.cs

@ -6,6 +6,6 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
{
public interface ILanguageAppService : IApplicationService
{
Task<ListResultDto<LanguageDto>> GetListAsync();
Task<ListResultDto<LanguageDto>> GetListAsync(GetLanguageWithFilterDto input);
}
}

2
aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/IResourceAppService.cs

@ -6,6 +6,6 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
{
public interface IResourceAppService : IApplicationService
{
Task<ListResultDto<ResourceDto>> GetListAsync(GetWithFilter filter);
Task<ListResultDto<ResourceDto>> GetListAsync(GetResourceWithFilterDto input);
}
}

17
aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/LanguageAppService.cs

@ -1,9 +1,17 @@
using Microsoft.AspNetCore.Authorization;
using System.Linq;
using Microsoft.Extensions.Options;
using Microsoft.Extensions.Localization;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Dynamic.Core;
using System.Threading.Tasks;
using Volo.Abp;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Localization;
using Volo.Abp.Localization.External;
namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
{
@ -16,9 +24,12 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
_languageProvider = languageProvider;
}
public async virtual Task<ListResultDto<LanguageDto>> GetListAsync()
public async virtual Task<ListResultDto<LanguageDto>> GetListAsync(GetLanguageWithFilterDto input)
{
var languages = await _languageProvider.GetLanguagesAsync();
var languages = (await _languageProvider.GetLanguagesAsync())
.WhereIf(!input.Filter.IsNullOrWhiteSpace(), x => x.CultureName.IndexOf(input.Filter, StringComparison.OrdinalIgnoreCase) >= 0
|| x.UiCultureName.IndexOf(input.Filter, StringComparison.OrdinalIgnoreCase) >= 0
|| x.DisplayName.IndexOf(input.Filter, StringComparison.OrdinalIgnoreCase) >= 0);
return new ListResultDto<LanguageDto>(
languages.Select(l => new LanguageDto

4
aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/LanguageController.cs

@ -19,9 +19,9 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
}
[HttpGet]
public virtual Task<ListResultDto<LanguageDto>> GetListAsync()
public virtual Task<ListResultDto<LanguageDto>> GetListAsync(GetLanguageWithFilterDto input)
{
return _service.GetListAsync();
return _service.GetListAsync(input);
}
}
}

6
aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/ResourceAppService.cs

@ -29,14 +29,14 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
_externalLocalizationStore = externalLocalizationStore;
}
public virtual async Task<ListResultDto<ResourceDto>> GetListAsync(GetWithFilter input)
public virtual async Task<ListResultDto<ResourceDto>> GetListAsync(GetResourceWithFilterDto input)
{
var externalResources = (await _externalLocalizationStore.GetResourcesAsync())
.WhereIf(!input.Filter.IsNullOrWhiteSpace(), x => x.ResourceName.Contains(input.Filter));
.WhereIf(!input.Filter.IsNullOrWhiteSpace(), x => x.ResourceName.IndexOf(input.Filter, StringComparison.OrdinalIgnoreCase) >= 0);
var resources = _localizationOptions
.Resources
.WhereIf(!input.Filter.IsNullOrWhiteSpace(), x => x.Value.ResourceName.Contains(input.Filter))
.WhereIf(!input.Filter.IsNullOrWhiteSpace(), x => x.Value.ResourceName.IndexOf(input.Filter, StringComparison.OrdinalIgnoreCase) >= 0)
.Select(x => new ResourceDto
{
Name = x.Value.ResourceName,

4
aspnet-core/modules/localization/LINGYUN.Abp.AspNetCore.Mvc.Localization/LINGYUN/Abp/AspNetCore/Mvc/Localization/ResourceController.cs

@ -19,9 +19,9 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
}
[HttpGet]
public virtual Task<ListResultDto<ResourceDto>> GetListAsync(GetWithFilter filter)
public virtual Task<ListResultDto<ResourceDto>> GetListAsync(GetResourceWithFilterDto input)
{
return _service.GetListAsync(filter);
return _service.GetListAsync(input);
}
}
}

Loading…
Cancel
Save