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 { 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 remoteServiceName = 'LocalizationManagement';
const controllerName = 'Language'; const controllerName = 'Language';
@ -8,9 +8,10 @@ enum Api {
GetList = '/api/abp/localization/languages', GetList = '/api/abp/localization/languages',
} }
export const getList = () => { export const getList = (input: GetLanguageWithFilter) => {
return defAbpHttp.get<LanguageListResult>({ return defAbpHttp.get<LanguageListResult>({
url: Api.GetList, 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 { export interface GetLanguagePagedRequest extends PagedAndSortedResultRequestDto {
filter?: string; 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; filter?: string;
} }
export interface GetWithFilter { export interface GetResourceWithFilter {
filter?: string; filter?: string;
} }

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

@ -1,17 +1,17 @@
import { defAbpHttp } from '/@/utils/http/abp'; import { defAbpHttp } from '/@/utils/http/abp';
import { ResourceListResult, Resource, ResourceCreate, ResourceUpdate, GetWithFilter } from './model/resourcesModel'; import { ResourceListResult, Resource, ResourceCreate, ResourceUpdate, GetResourceWithFilter } from './model/resourcesModel';
import { format } from '/@/utils/strings';
const remoteServiceName = 'LocalizationManagement'; const remoteServiceName = 'LocalizationManagement';
const controllerName = 'Resource'; const controllerName = 'Resource';
enum Api { 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>({ 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() { function fetchLanguages() {
const form = getForm(); const form = getForm();
return form.validate().then(() => { return form.validate().then((input) => {
return getList().then((res) => { return getList(input).then((res) => {
setTableData(res.items); setTableData(res.items);
}); });
}); });

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

@ -49,10 +49,7 @@
import { getDataColumns } from './TableData'; import { getDataColumns } from './TableData';
import { reactive } from 'vue'; import { reactive } from 'vue';
import ResourceModal from './ResourceModal.vue'; import ResourceModal from './ResourceModal.vue';
const state = reactive({
filter: 'noti'
});
const { createConfirm, createMessage } = useMessage(); const { createConfirm, createMessage } = useMessage();
const { L } = useLocalization(['LocalizationManagement', 'AbpLocalization', 'AbpUi']); const { L } = useLocalization(['LocalizationManagement', 'AbpLocalization', 'AbpUi']);
@ -77,7 +74,7 @@
component: 'Input', component: 'Input',
label: L('Search'), label: L('Search'),
colProps: { span: 24 }, colProps: { span: 24 },
defaultValue: '', defaultValue: ''
}, },
], ],
submitFunc: fetchResources, submitFunc: fetchResources,
@ -92,8 +89,8 @@
function fetchResources() { function fetchResources() {
const form = getForm(); const form = getForm();
return form.validate().then(() => { return form.validate().then((input) => {
return getList({filter: state.filter}).then((res) => { return getList(input).then((res) => {
setTableData(res.items); 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 namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
{ {
public class GetWithFilter public class GetLanguageWithFilterDto
{ {
public string Filter { get; set; } 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 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 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 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 System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
using Volo.Abp.Localization; using Volo.Abp.Localization;
using Volo.Abp.Localization.External;
namespace LINGYUN.Abp.AspNetCore.Mvc.Localization namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
{ {
@ -16,9 +24,12 @@ namespace LINGYUN.Abp.AspNetCore.Mvc.Localization
_languageProvider = languageProvider; _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>( return new ListResultDto<LanguageDto>(
languages.Select(l => new 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] [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; _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()) 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 var resources = _localizationOptions
.Resources .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 .Select(x => new ResourceDto
{ {
Name = x.Value.ResourceName, 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] [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