Services düzenlemesi ve vite.config sub domains
This commit is contained in:
parent
cb8c224a54
commit
00eb20d55f
130 changed files with 599 additions and 587 deletions
|
|
@ -82,7 +82,7 @@ define(['./workbox-54d0af47'], (function (workbox) { 'use strict';
|
|||
"revision": "3ca0b8505b4bec776b69afdba2768812"
|
||||
}, {
|
||||
"url": "index.html",
|
||||
"revision": "0.1u96j36821"
|
||||
"revision": "0.4akve1tmvk"
|
||||
}], {});
|
||||
workbox.cleanupOutdatedCaches();
|
||||
workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//import Side from './Side'
|
||||
//import Cover from './Cover'
|
||||
import Simple from './Simple'
|
||||
import View from '@/views'
|
||||
import View from '@/views/Views'
|
||||
import { useStoreState } from '@/store'
|
||||
import { LAYOUT_TYPE_BLANK } from '@/constants/theme.constant'
|
||||
|
||||
|
|
@ -13,9 +13,9 @@ const AuthLayout = () => {
|
|||
{layoutType === LAYOUT_TYPE_BLANK ? (
|
||||
<View />
|
||||
) : (
|
||||
<Simple>
|
||||
<View />
|
||||
</Simple>
|
||||
<Simple>
|
||||
<View />
|
||||
</Simple>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import View from '@/views'
|
||||
import View from '@/views/Views'
|
||||
import SidePanel from '@/components/template/SidePanel'
|
||||
import { useStoreState, useStoreActions } from '@/store'
|
||||
import { HiOutlineCog } from 'react-icons/hi'
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import HeaderLogo from '@/components/template/HeaderLogo'
|
|||
import SecondaryHeader from '@/components/template/SecondaryHeader'
|
||||
import Notification from '@/components/template/Notification'
|
||||
import MobileNav from '@/components/template/MobileNav'
|
||||
import View from '@/views'
|
||||
import View from '@/views/Views'
|
||||
import Search from '@/components/template/Search'
|
||||
import LanguageSelector from '../template/LanguageSelector'
|
||||
import AiAssistant from '../template/AiAssistant'
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import SideNav from '@/components/template/SideNav'
|
|||
import SideNavToggle from '@/components/template/SideNavToggle'
|
||||
import SidePanel from '@/components/template/SidePanel'
|
||||
import UserDropdown from '@/components/template/UserDropdown'
|
||||
import View from '@/views'
|
||||
import View from '@/views/Views'
|
||||
import LanguageSelector from '../template/LanguageSelector'
|
||||
import { useStoreState } from '@/store'
|
||||
import StackedSideNav from '../template/StackedSideNav'
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import View from '@/views'
|
||||
import View from '@/views/Views'
|
||||
import React, { useEffect, useState } from 'react'
|
||||
import { useLocation, Link } from 'react-router-dom'
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import UserDropdown from '@/components/template/UserDropdown'
|
|||
import HeaderLogo from '@/components/template/HeaderLogo'
|
||||
import MobileNav from '@/components/template/MobileNav'
|
||||
import HorizontalNav from '@/components/template/HorizontalNav'
|
||||
import View from '@/views'
|
||||
import View from '@/views/Views'
|
||||
import Notification from '@/components/template/Notification'
|
||||
import Search from '@/components/template/Search'
|
||||
import LanguageSelector from '../template/LanguageSelector'
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import SidePanel from '@/components/template/SidePanel'
|
|||
import UserDropdown from '@/components/template/UserDropdown'
|
||||
import MobileNav from '@/components/template/MobileNav'
|
||||
import StackedSideNav from '@/components/template/StackedSideNav'
|
||||
import View from '@/views'
|
||||
import View from '@/views/Views'
|
||||
import Search from '@/components/template/Search'
|
||||
import Notification from '@/components/template/Notification'
|
||||
import LanguageSelector from '../template/LanguageSelector'
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { getTenantByNameDetail } from '@/proxy/admin/tenant/tenant.service'
|
||||
import { getTenantByNameDetail } from '@/services/tenant.service'
|
||||
import { CustomTenantDto } from '@/proxy/config/models'
|
||||
import {
|
||||
ArrowLeft,
|
||||
|
|
|
|||
|
|
@ -8,12 +8,7 @@ import Tooltip from '@/components/ui/Tooltip'
|
|||
import { AVATAR_URL } from '@/constants/app.constant'
|
||||
import NotificationChannels from '@/constants/notification-channel.enum'
|
||||
import { ROUTES_ENUM } from '@/routes/route.constant'
|
||||
import {
|
||||
getList,
|
||||
updateRead,
|
||||
updateReadAll,
|
||||
updateSent,
|
||||
} from '@/proxy/notification/notification.service'
|
||||
import { getList, updateRead, updateReadAll, updateSent } from '@/services/notification.service'
|
||||
import { useStoreState } from '@/store'
|
||||
import withHeaderItem from '@/utils/hoc/withHeaderItem'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
import Button from '@/components/ui/Button'
|
||||
import Dialog from '@/components/ui/Dialog'
|
||||
import navigationIcon from '@/configs/navigation-icon.config'
|
||||
import { GLOBAL_SEARCH } from '@/constants/permission.constant'
|
||||
import { getSearch, getSystems } from '@/proxy/global-search'
|
||||
import withHeaderItem from '@/utils/hoc/withHeaderItem'
|
||||
import useThemeClass from '@/utils/hooks/useThemeClass'
|
||||
import classNames from 'classnames'
|
||||
|
|
@ -13,6 +11,7 @@ import { Link } from 'react-router-dom'
|
|||
import { PermissionCheck } from '../shared'
|
||||
import { Badge, Checkbox, Pagination } from '../ui'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { getSearch, getSystems } from '@/services/global-search.service'
|
||||
|
||||
type SearchData = {
|
||||
title: string
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
export * from './models';
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
import { SignInResponse } from '@/@types/auth'
|
||||
import { ExtensibleObject } from '..'
|
||||
import { SignInResponse } from '../../@types/auth'
|
||||
|
||||
export interface ProfileDto extends ExtensibleObject {
|
||||
email: string
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
export * from './models'
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import { PagedAndSortedResultRequestDto } from '@/proxy/abp'
|
||||
import { PagedAndSortedResultRequestDto } from '../../abp'
|
||||
|
||||
export interface ListFormCustomizationRequestDto extends PagedAndSortedResultRequestDto {
|
||||
listFormCode: string
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { PagedAndSortedResultRequestDto } from '@/proxy/abp'
|
||||
import { ColumnFormatDto, SelectListItem } from '@/proxy/form'
|
||||
import { PagedAndSortedResultRequestDto } from '../../abp'
|
||||
import { ColumnFormatDto, SelectListItem } from '../../form/models'
|
||||
|
||||
export interface ListFormFieldRequestDto extends PagedAndSortedResultRequestDto {
|
||||
listFormCode: string
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import {
|
|||
FieldsDefaultValueDto,
|
||||
SelectCommandTypeEnum,
|
||||
SubFormDto,
|
||||
} from '@/proxy/form'
|
||||
} from '../../form/models'
|
||||
|
||||
export interface ListFormWizardDto {
|
||||
listFormCode: string
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { ExtensibleObject } from '@/proxy/abp'
|
||||
import { ExtensibleObject } from '../../abp'
|
||||
import { ExtensibleFullAuditedEntityDto, IdentityRoleDto } from '../models'
|
||||
|
||||
export interface OrganizationUnitDto extends ExtensibleFullAuditedEntityDto<string> {
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
export * from './ai.service'
|
||||
export * from './models'
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import { FullAuditedEntityDto } from '@/proxy/abp'
|
||||
import { FullAuditedEntityDto } from '../abp'
|
||||
|
||||
export interface AiDto extends FullAuditedEntityDto<string> {
|
||||
botName: string
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
export * from './models'
|
||||
|
|
@ -11,3 +11,11 @@ export interface DashboardWidgetsDto {
|
|||
valuePrefix: string
|
||||
date: Date
|
||||
}
|
||||
|
||||
export interface WidgetsData {
|
||||
label: string
|
||||
datavalue: number
|
||||
datagrowShrink: number
|
||||
valuePrefix: string
|
||||
date: Date
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import apiService from '@/services/api.service'
|
||||
import apiService from '../../services/api.service'
|
||||
import { DashboardWidgetsRequestDto, DashboardWidgetsDto } from './models'
|
||||
|
||||
export const getDashboardWidgetList = (input: DashboardWidgetsRequestDto) => {
|
||||
|
|
@ -7,5 +7,3 @@ export const getDashboardWidgetList = (input: DashboardWidgetsRequestDto) => {
|
|||
url: `/api/app/dashboard/widgets?Tarih1=${input.tarih1}&Tarih2=${input.tarih2}`,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
export * from './models'
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
import { EditorType2, RowMode } from '@/views/form/types'
|
||||
import {
|
||||
HorizontalAlignment,
|
||||
ScrollMode,
|
||||
|
|
@ -19,6 +18,7 @@ import {
|
|||
} from 'devextreme/ui/data_grid_types'
|
||||
import { FormItemComponent } from 'devextreme/ui/form'
|
||||
import { AuditedEntityDto } from '../abp'
|
||||
import { EditorType2, RowMode } from '../../views/form/types'
|
||||
|
||||
//1
|
||||
export interface SelectListItem {
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
export * from './global-search.service'
|
||||
export * from './models'
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import { GridOptionsDto } from '../form'
|
||||
import { GridOptionsDto } from '../form/models'
|
||||
|
||||
export interface ListFormImportDto {
|
||||
id: string
|
||||
|
|
@ -13,7 +13,7 @@ export interface ListFormImportExecuteDto {
|
|||
id: string
|
||||
importId: string
|
||||
blobName: string
|
||||
status: 'processing' | 'validating' | 'completed' | 'failed'
|
||||
status: 'processing' | 'validating' | 'completed' | 'failed'
|
||||
execRows: number
|
||||
validRows: number
|
||||
errorRows: number
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
export * from './models'
|
||||
|
|
@ -1 +0,0 @@
|
|||
export * from './models';
|
||||
|
|
@ -1 +0,0 @@
|
|||
export * from './models'
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
export * from './models';
|
||||
export * from './setting-ui.service';
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
import { Notification, toast } from '@/components/ui'
|
||||
import { generateBackgroundWorkers } from '@/proxy/background-worker/background-worker.service'
|
||||
import { generateBackgroundWorkers } from '@/services/background-worker.service'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
|
||||
export abstract class UiEvalService {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import apiService from '@/services/api.service'
|
||||
import {
|
||||
ApplicationConfigurationDto,
|
||||
ApplicationLocalizationConfigurationDto,
|
||||
ApplicationLocalizationRequestDto,
|
||||
} from './models'
|
||||
} from '../proxy/config/models'
|
||||
import apiService from './api.service'
|
||||
|
||||
export const getAppConfig = (includeLocalizationResources: boolean) =>
|
||||
apiService.fetchData<ApplicationConfigurationDto>({
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
import type { SignUpCredential, SignUpResponse } from '@/@types/auth'
|
||||
import { ProfileDto, UpdateProfileDto } from '@/proxy/account'
|
||||
import apiService from '@/services/api.service'
|
||||
import { AxiosError } from 'axios'
|
||||
import { SignUpCredential, SignUpResponse } from '../@types/auth'
|
||||
import apiService from './api.service'
|
||||
import { ProfileDto, UpdateProfileDto } from '../proxy/account'
|
||||
|
||||
export const register = (data: SignUpCredential) =>
|
||||
apiService.fetchData<SignUpResponse>({
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
import { ListFormCustomizationDto } from '@/proxy/form'
|
||||
import apiService from '@/services/api.service'
|
||||
import { ListFormCustomizationRequestDto } from './models'
|
||||
import { ListResultDto } from '@/proxy/abp'
|
||||
import { ListResultDto } from '../../proxy'
|
||||
import { ListFormCustomizationRequestDto } from '../../proxy/admin/list-form-customization/models'
|
||||
import { ListFormCustomizationDto } from '../../proxy/form'
|
||||
import apiService from '../api.service'
|
||||
|
||||
export const getListFormCustomizations = (input: ListFormCustomizationRequestDto) =>
|
||||
apiService.fetchData<ListResultDto<ListFormCustomizationDto>>({
|
||||
|
|
@ -1,6 +1,10 @@
|
|||
import { PagedResultDto } from '@/proxy/abp'
|
||||
import apiService from '@/services/api.service'
|
||||
import { ColumnFormatEditDto, CopyListFormFieldColumnDto, ListFormFieldRequestDto } from './models'
|
||||
import { PagedResultDto } from '../../proxy'
|
||||
import {
|
||||
ColumnFormatEditDto,
|
||||
CopyListFormFieldColumnDto,
|
||||
ListFormFieldRequestDto,
|
||||
} from '../../proxy/admin/list-form-field/models'
|
||||
import apiService from '../api.service'
|
||||
|
||||
export const getListFormFields = (input: ListFormFieldRequestDto) =>
|
||||
apiService.fetchData<PagedResultDto<ColumnFormatEditDto>>({
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
import { FieldsDefaultValueDto, GridOptionsEditDto } from '@/proxy/form'
|
||||
import apiService from '@/services/api.service'
|
||||
import { ListFormJsonRowDto, ListFormWizardDto } from './models'
|
||||
import { ListFormJsonRowDto, ListFormWizardDto } from '../../proxy/admin/list-form/models'
|
||||
import { FieldsDefaultValueDto, GridOptionsEditDto } from '../../proxy/form'
|
||||
import apiService from '../api.service'
|
||||
|
||||
export const postListFormWizard = (input: ListFormWizardDto) =>
|
||||
apiService.fetchData({
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
import apiService, { Config } from '@/services/api.service'
|
||||
import { AiDto } from './models'
|
||||
import { PagedAndSortedResultRequestDto, PagedResultDto } from '../abp'
|
||||
import { PagedAndSortedResultRequestDto, PagedResultDto } from '../proxy'
|
||||
import { AiDto } from '../proxy/ai'
|
||||
import apiService, { Config } from './api.service'
|
||||
|
||||
export class AiService {
|
||||
apiName = 'Default'
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
import type {
|
||||
import {
|
||||
FailedRefreshResponse,
|
||||
FailedSignInResponse,
|
||||
SignInCredential,
|
||||
SignInResponse,
|
||||
} from '@/@types/auth'
|
||||
import { AUTH_API_NAME } from '@/constants/app.constant'
|
||||
import apiService, { Config } from '@/services/api.service'
|
||||
} from '../@types/auth'
|
||||
import { AUTH_API_NAME } from '../constants/app.constant'
|
||||
import apiService, { Config } from './api.service'
|
||||
|
||||
const authConfig: Config = {
|
||||
apiName: AUTH_API_NAME,
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
import apiService from '@/services/api.service'
|
||||
import { AxiosError } from 'axios'
|
||||
import apiService from './api.service'
|
||||
|
||||
export const generateBackgroundWorkers = async () => {
|
||||
try {
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
import apiService from '@/services/api.service'
|
||||
import { ChartDto, ChartEditDto, ChartJsonItemRowDto } from './models'
|
||||
import { ChartDto, ChartEditDto, ChartJsonItemRowDto } from '../proxy/charts/models'
|
||||
import apiService from './api.service'
|
||||
|
||||
export const getChartByCode = (chartCode: string) =>
|
||||
apiService.fetchData<ChartEditDto>({
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
import apiService from '@/services/api.service'
|
||||
import { GridDto } from './models'
|
||||
import { AxiosError, Method } from 'axios'
|
||||
import { URLSearchParams } from 'url'
|
||||
import { GridDto } from '../proxy/form'
|
||||
import apiService from './api.service'
|
||||
|
||||
export const getList = (data: Record<string, string>) => {
|
||||
try {
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
import apiService from '@/services/api.service'
|
||||
import { PagedResultDto } from '../abp'
|
||||
import type { GlobalSearchInputDto, GlobalSearchResultDto } from './models'
|
||||
import { PagedResultDto } from '../proxy'
|
||||
import { GlobalSearchInputDto, GlobalSearchResultDto } from '../proxy/global-search/models'
|
||||
import apiService from './api.service'
|
||||
|
||||
export const getSystems = () =>
|
||||
apiService.fetchData<string[], void>({
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import { ListResultDto } from '@/proxy'
|
||||
import { ListResultDto } from '../proxy'
|
||||
import {
|
||||
GetPermissionListResultDto,
|
||||
IdentityRoleDto,
|
||||
|
|
@ -7,9 +7,9 @@ import {
|
|||
UpdatePermissionsDto,
|
||||
UserClaimModel,
|
||||
UserInfoViewModel,
|
||||
} from '@/proxy/admin'
|
||||
import apiService from '@/services/api.service'
|
||||
import { AuditLogDto } from '../auditLog/audit-log'
|
||||
} from '../proxy/admin'
|
||||
import { AuditLogDto } from '../proxy/auditLog/audit-log'
|
||||
import apiService from './api.service'
|
||||
|
||||
export const getRoles = (skipCount = 0, maxResultCount = 10) =>
|
||||
apiService.fetchData<ListResultDto<IdentityRoleDto>>({
|
||||
|
|
@ -2,8 +2,8 @@ import {
|
|||
ListFormCustomizationDto,
|
||||
ListFormCustomizationForUserDto,
|
||||
ListFormCustomizationTypeEnum,
|
||||
} from '@/proxy/form'
|
||||
import apiService from '@/services/api.service'
|
||||
} from '../proxy/form'
|
||||
import apiService from './api.service'
|
||||
|
||||
export const getListFormCustomization = (
|
||||
listFormCode: string,
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
import apiService from '@/services/api.service'
|
||||
import { NotificationRuleDto } from './models'
|
||||
import { NotificationRuleDto } from '../proxy/notification/models'
|
||||
import apiService from './api.service'
|
||||
|
||||
export const getMyNotificationTypes = () =>
|
||||
apiService.fetchData<string[]>({
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
import apiService, { Config } from '@/services/api.service'
|
||||
import { PagedAndSortedResultRequestDto, PagedResultDto } from '../abp'
|
||||
import { NotificationDto, NotificationFilterRequestDto } from './models'
|
||||
import { PagedAndSortedResultRequestDto, PagedResultDto } from '../proxy'
|
||||
import { NotificationDto, NotificationFilterRequestDto } from '../proxy/notification/models'
|
||||
import apiService, { Config } from './api.service'
|
||||
|
||||
export const getList = (params: NotificationFilterRequestDto, config?: Partial<Config>) =>
|
||||
apiService.fetchData<PagedResultDto<NotificationDto>, PagedAndSortedResultRequestDto>(
|
||||
|
|
@ -36,12 +36,9 @@ export const updateSent = (notificationId: string, isSent: boolean) =>
|
|||
params: { isSent },
|
||||
})
|
||||
|
||||
export const postMyNotificationByNotificationRuleId = (data: {
|
||||
id: string
|
||||
message: string
|
||||
}) =>
|
||||
apiService.fetchData({
|
||||
method: 'POST',
|
||||
url: `/api/app/notification/notification-by-notification-rule-id`,
|
||||
data,
|
||||
})
|
||||
export const postMyNotificationByNotificationRuleId = (data: { id: string; message: string }) =>
|
||||
apiService.fetchData({
|
||||
method: 'POST',
|
||||
url: `/api/app/notification/notification-by-notification-rule-id`,
|
||||
data,
|
||||
})
|
||||
|
|
@ -1,7 +1,10 @@
|
|||
import { ListResultDto, PagedResultDto } from '@/proxy'
|
||||
import apiService from '@/services/api.service'
|
||||
import { IdentityRoleDto, IdentityUserDto } from '../models'
|
||||
import { CreateUpdateOrganizationUnitDto, OrganizationUnitDto } from './models'
|
||||
import { ListResultDto, PagedResultDto } from '../proxy'
|
||||
import { IdentityRoleDto, IdentityUserDto } from '../proxy/admin'
|
||||
import {
|
||||
CreateUpdateOrganizationUnitDto,
|
||||
OrganizationUnitDto,
|
||||
} from '../proxy/admin/organization-unit/models'
|
||||
import apiService from './api.service'
|
||||
|
||||
export const ouGet = (skipCount = 0, maxResultCount = 10) =>
|
||||
apiService.fetchData<PagedResultDto<OrganizationUnitDto>>({
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
import appConfig from '@/configs/app.config'
|
||||
import { isLoginSuccess } from '@/proxy/account'
|
||||
import { refreshToken } from '@/proxy/account/auth.service'
|
||||
import axios from 'axios'
|
||||
import { store } from '../store'
|
||||
import { jwtDecode } from 'jwt-decode'
|
||||
import appConfig from '../configs/app.config'
|
||||
import { refreshToken } from './auth.service'
|
||||
import { isLoginSuccess } from '../proxy/account/models'
|
||||
|
||||
const unauthorizedCode = [401]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import apiService from '@/services/api.service'
|
||||
import type { MainGroupedSettingDto } from './models'
|
||||
import { AxiosError } from 'axios'
|
||||
import { MainGroupedSettingDto } from '../proxy/settings'
|
||||
import apiService from './api.service'
|
||||
|
||||
export const getList = () =>
|
||||
apiService.fetchData<MainGroupedSettingDto[]>({
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
import { PagedResultDto } from '@/proxy'
|
||||
import { CustomTenantDto, TenantDto } from '@/proxy/config/models'
|
||||
import apiService from '@/services/api.service'
|
||||
import { SeedTenantDataInput } from './models'
|
||||
import { PagedResultDto } from '../proxy'
|
||||
import { SeedTenantDataInput } from '../proxy/admin/tenant/models'
|
||||
import { CustomTenantDto, TenantDto } from '../proxy/config/models'
|
||||
import apiService from './api.service'
|
||||
|
||||
export const getTenants = (skipCount = 0, maxResultCount = 10) =>
|
||||
apiService.fetchData<PagedResultDto<TenantDto>>({
|
||||
37
ui/src/services/tenants.ts
Normal file
37
ui/src/services/tenants.ts
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
// scripts/tenant.ts
|
||||
export type TenantDto = { name: string }
|
||||
export type PagedResultDto<T> = { totalCount: number; items: T[] }
|
||||
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'
|
||||
}
|
||||
|
||||
export async function fetchTenantNames(apiUrl: string): Promise<string[]> {
|
||||
try {
|
||||
const url = `${apiUrl.replace(/\/$/, '')}/api/app/platform-tenant?skipCount=0&maxResultCount=1000`
|
||||
|
||||
const response = await fetch(url, {
|
||||
headers: {
|
||||
Accept: 'application/json',
|
||||
'X-Requested-With': 'XMLHttpRequest',
|
||||
},
|
||||
})
|
||||
|
||||
if (!response.ok) {
|
||||
console.error('[vite] Tenant API hatası:', response.status, response.statusText)
|
||||
return []
|
||||
}
|
||||
|
||||
const data = (await response.json()) as PagedResultDto<TenantDto>
|
||||
return (data.items ?? [])
|
||||
.map((t) =>
|
||||
String(t?.name || '')
|
||||
.trim()
|
||||
.toLowerCase(),
|
||||
)
|
||||
.filter(Boolean)
|
||||
} catch (e) {
|
||||
console.error('[vite] Tenant listesi alınamadı:', e)
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
|
@ -1,22 +1,21 @@
|
|||
import {
|
||||
ColumnFormatDto,
|
||||
EditingFormItemDto,
|
||||
GridDto,
|
||||
PlatformEditorTypes,
|
||||
UiCommandButtonPositionTypeEnum,
|
||||
UiLookupDataSourceTypeEnum,
|
||||
} from '@/proxy/form'
|
||||
import { dynamicFetch } from '@/proxy/form/form.service'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { usePermission } from '@/utils/hooks/usePermission'
|
||||
import { usePWA } from '@/utils/hooks/usePWA'
|
||||
import { GridColumnData } from '@/views/list/GridColumnData'
|
||||
import { addCss } from '@/views/list/Utils'
|
||||
import { useDialogContext } from '@/views/shared/DialogContext'
|
||||
import { DataGridTypes, IFormatProps } from 'devextreme-react/data-grid'
|
||||
import { DataType, HorizontalEdge, SortOrder, ValidationRule } from 'devextreme/common'
|
||||
import CustomStore from 'devextreme/data/custom_store'
|
||||
import { SelectedFilterOperation } from 'devextreme/ui/data_grid'
|
||||
import { dynamicFetch } from '../services/form.service'
|
||||
import { useLocalization } from '../utils/hooks/useLocalization'
|
||||
import { addCss } from '../views/list/Utils'
|
||||
import { useDialogContext } from '../views/shared/DialogContext'
|
||||
import { usePWA } from '../utils/hooks/usePWA'
|
||||
import { usePermission } from '../utils/hooks/usePermission'
|
||||
import { GridColumnData } from '../views/list/GridColumnData'
|
||||
import {
|
||||
ColumnFormatDto,
|
||||
GridDto,
|
||||
PlatformEditorTypes,
|
||||
UiCommandButtonPositionTypeEnum,
|
||||
UiLookupDataSourceTypeEnum,
|
||||
} from '../proxy/form/models'
|
||||
|
||||
const cellTemplateMultiValue = (
|
||||
cellElement: HTMLElement,
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { MULTIVALUE_DELIMITER } from '@/constants/app.constant'
|
||||
import { GridOptionsDto } from '@/proxy/form'
|
||||
import { dynamicFetch } from '@/proxy/form/form.service'
|
||||
import { GridColumnData } from '@/views/list/GridColumnData'
|
||||
import { getLoadOptions, getServiceAddress, setGridPanelColor } from '@/views/list/Utils'
|
||||
import DataGrid from 'devextreme-react/data-grid'
|
||||
import PivotGrid from 'devextreme-react/pivot-grid'
|
||||
import CustomStore from 'devextreme/data/custom_store'
|
||||
import { MutableRefObject, useCallback } from 'react'
|
||||
import { getLoadOptions, getServiceAddress, setGridPanelColor } from '../views/list/Utils'
|
||||
import { GridOptionsDto } from '../proxy/form/models'
|
||||
import { GridColumnData } from '../views/list/GridColumnData'
|
||||
import { dynamicFetch } from '../services/form.service'
|
||||
import { MULTIVALUE_DELIMITER } from '../constants/app.constant'
|
||||
|
||||
const filteredGridPanelColor = 'rgba(10, 200, 10, 0.5)' // kullanici tanimli filtre ile filtrelenmis gridin paneline ait renk
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import { NavigationTree } from '@/@types/navigation'
|
||||
import appConfig from '@/configs/app.config'
|
||||
import {
|
||||
ApplicationConfigurationDto,
|
||||
ApplicationLocalizationRequestDto,
|
||||
} from '@/proxy/config/models'
|
||||
import { MenuDto } from '@/proxy/menus'
|
||||
import getChildren from '@/utils/navigation'
|
||||
import type { Action, Thunk } from 'easy-peasy'
|
||||
import { action, thunk } from 'easy-peasy'
|
||||
import { Injections, StoreModel } from '.'
|
||||
import { getLocalization, setLocalization } from '../services/localization.service'
|
||||
import appConfig from '../configs/app.config'
|
||||
import { NavigationTree } from '../@types/navigation'
|
||||
import { MenuDto } from '../proxy/menus/models'
|
||||
import getChildren from '../utils/navigation'
|
||||
import {
|
||||
ApplicationConfigurationDto,
|
||||
ApplicationLocalizationRequestDto,
|
||||
} from '../proxy/config/models'
|
||||
|
||||
export type Texts = Record<string, Record<string, string>>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { FieldsDefaultValueDto, GridOptionsEditDto } from '@/proxy/form'
|
||||
import type { Action, Thunk } from 'easy-peasy'
|
||||
import { action, thunk } from 'easy-peasy'
|
||||
import { Injections } from './store'
|
||||
import setNull from '@/utils/setNull'
|
||||
import { FieldsDefaultValueDto, GridOptionsEditDto } from '../proxy/form/models'
|
||||
import setNull from '../utils/setNull'
|
||||
|
||||
export interface AdminStoreModel {
|
||||
listFormValues: GridOptionsEditDto | undefined
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { AVATAR_URL } from '@/constants/app.constant'
|
||||
import dayjs from 'dayjs'
|
||||
import type { Action, ThunkOn } from 'easy-peasy'
|
||||
import { action, thunkOn } from 'easy-peasy'
|
||||
import { Injections, StoreModel } from './store'
|
||||
import { AVATAR_URL } from '../constants/app.constant'
|
||||
|
||||
export interface AuthStoreModel {
|
||||
isRefreshing: boolean
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
import { refreshToken } from '@/proxy/account/auth.service'
|
||||
import { createStore, createTypedHooks, persist } from 'easy-peasy'
|
||||
import {
|
||||
Config as ReduxStateSyncConfig,
|
||||
createStateSyncMiddleware,
|
||||
initMessageListener,
|
||||
} from 'redux-state-sync'
|
||||
import * as abpConfigService from '../proxy/config/abpConfig.service'
|
||||
import * as listFormService from '../proxy/admin/list-form/list-form.service'
|
||||
import * as abpConfigService from '../services/abpConfig.service'
|
||||
import * as listFormService from '../services/admin/list-form.service'
|
||||
import { AbpConfigModel, abpConfigModel } from './abpConfig.model'
|
||||
import { AdminModel, adminModel } from './admin.model'
|
||||
import { AuthModel, authModel } from './auth.model'
|
||||
import { BaseModel, baseModel } from './base.model'
|
||||
import { LocaleModel, localeModel } from './locale.model'
|
||||
import { ThemeModel, themeModel } from './theme.model'
|
||||
import { MenuService } from '@/services/menu.service'
|
||||
import { refreshToken } from '../services/auth.service'
|
||||
import { MenuService } from '../services/menu.service'
|
||||
|
||||
export interface StoreModel {
|
||||
abpConfig: AbpConfigModel
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import {
|
|||
NAV_MODE_THEMED,
|
||||
NAV_MODE_TRANSPARENT,
|
||||
} from '../constants/theme.constant'
|
||||
import { Direction, Mode, NavMode } from '@/@types/theme'
|
||||
import { Direction, Mode, NavMode } from '../@types/theme'
|
||||
|
||||
export interface ThemeStoreModel {
|
||||
themeColor: string
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import { useState } from 'react'
|
||||
import { useNavigate } from 'react-router-dom'
|
||||
import {
|
||||
sendAccountConfirmationCode,
|
||||
verifyAccountConfirmationCode,
|
||||
} from '@/proxy/account/account.service'
|
||||
import { useState } from 'react'
|
||||
import { useNavigate } from 'react-router-dom'
|
||||
} from '../../services/account.service'
|
||||
|
||||
function useAccount() {
|
||||
const [message, setMessage] = useState('')
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
import type {
|
||||
import { jwtDecode } from 'jwt-decode'
|
||||
import { useNavigate } from 'react-router-dom'
|
||||
import useQuery from './useQuery'
|
||||
import { useStoreActions, useStoreState } from '../../store/store'
|
||||
import {
|
||||
FailedSignInResponse,
|
||||
SignInCredential,
|
||||
SignInResponse,
|
||||
SignUpCredential,
|
||||
} from '@/@types/auth'
|
||||
import appConfig from '@/configs/app.config'
|
||||
import { REDIRECT_URL_KEY } from '@/constants/app.constant'
|
||||
import { isLoginSuccess } from '@/proxy/account'
|
||||
import { register } from '@/proxy/account/account.service'
|
||||
import { signIn, signOut } from '@/proxy/account/auth.service'
|
||||
import { useStoreActions, useStoreState } from '@/store'
|
||||
import { jwtDecode } from 'jwt-decode'
|
||||
import { useNavigate } from 'react-router-dom'
|
||||
import useQuery from './useQuery'
|
||||
} from '../../@types/auth'
|
||||
import { signIn, signOut } from '../../services/auth.service'
|
||||
import { isLoginSuccess } from '../../proxy/account/models'
|
||||
import { REDIRECT_URL_KEY } from '../../constants/app.constant'
|
||||
import appConfig from '../../configs/app.config'
|
||||
import { register } from '../../services/account.service'
|
||||
|
||||
type Status = 'success' | 'failed' | 'error'
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import AdaptableCard from '@/components/shared/AdaptableCard'
|
|||
import Container from '@/components/shared/Container'
|
||||
import NotificationChannels from '@/constants/notification-channel.enum'
|
||||
import { NotificationDto } from '@/proxy/notification/models'
|
||||
import { getList } from '@/proxy/notification/notification.service'
|
||||
import { getList } from '@/services/notification.service'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import dayjs from 'dayjs'
|
||||
import { Dictionary } from 'lodash'
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ import TabNav from '@/components/ui/Tabs/TabNav'
|
|||
import TabContent from '@/components/ui/Tabs/TabContent'
|
||||
import { Tabs } from '@/components/ui'
|
||||
import { AdaptableCard } from '@/components/shared'
|
||||
import { getAuditLogs } from '@/proxy/admin/identity.service'
|
||||
import { AuditLogDto } from '@/proxy/auditLog/audit-log'
|
||||
import { getAuditLogs } from '@/services/identity.service'
|
||||
|
||||
function AuditLogs({
|
||||
open,
|
||||
|
|
|
|||
|
|
@ -21,26 +21,15 @@ import Tr from '@/components/ui/Table/Tr'
|
|||
import TabContent from '@/components/ui/Tabs/TabContent'
|
||||
import TabList from '@/components/ui/Tabs/TabList'
|
||||
import TabNav from '@/components/ui/Tabs/TabNav'
|
||||
import { IdentityRoleDto, IdentityUserDto } from '@/proxy/admin'
|
||||
import { getRoles, getUsers } from '@/proxy/admin/identity.service'
|
||||
import {
|
||||
BreakDto,
|
||||
ChartAnnotationDto,
|
||||
ChartEditDto,
|
||||
ChartPanesDto,
|
||||
ChartSeriesDto,
|
||||
ChartValueAxisDto,
|
||||
} from '@/proxy/charts'
|
||||
import { getRoles, getUsers } from '@/services/identity.service'
|
||||
import {
|
||||
deleteChartJsonItem,
|
||||
getChartByCode,
|
||||
putChartJsonItem,
|
||||
putCharts,
|
||||
} from '@/proxy/charts/chart.service'
|
||||
} from '@/services/chart.service'
|
||||
import { LanguageInfo } from '@/proxy/config/models'
|
||||
import { getDataSources } from '@/proxy/data-source'
|
||||
import { DataSourceTypeEnum } from '@/proxy/form'
|
||||
import { MenuDto } from '@/proxy/menus'
|
||||
import { themeOptions, tooltipFormatListOptions } from '@/shared/options'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { useStoreState } from '@/store'
|
||||
|
|
@ -81,6 +70,17 @@ import {
|
|||
chartZoomAndPanKeyOptions,
|
||||
} from './options'
|
||||
import { ChartDialogType, ChartOperation } from './types'
|
||||
import { IdentityRoleDto, IdentityUserDto } from '@/proxy/admin/models'
|
||||
import { MenuDto } from '@/proxy/menus/models'
|
||||
import { DataSourceTypeEnum } from '@/proxy/form/models'
|
||||
import {
|
||||
BreakDto,
|
||||
ChartAnnotationDto,
|
||||
ChartEditDto,
|
||||
ChartPanesDto,
|
||||
ChartSeriesDto,
|
||||
ChartValueAxisDto,
|
||||
} from '@/proxy/charts/models'
|
||||
|
||||
const chartPanesValidationSchema = object().shape({
|
||||
name: string().required(),
|
||||
|
|
@ -293,9 +293,7 @@ function ChartEdit() {
|
|||
<div className="lg:flex items-center justify-between mb-4 gap-3">
|
||||
<div className="mb-4 lg:mb-0">
|
||||
<h4>
|
||||
<Link to={`/chart/${chartCode}`}>
|
||||
🔙 {chartCode}
|
||||
</Link>
|
||||
<Link to={`/chart/${chartCode}`}>🔙 {chartCode}</Link>
|
||||
</h4>
|
||||
{chartValues.isTenant && (
|
||||
<Alert showIcon className="mb-4" type="warning">
|
||||
|
|
@ -389,7 +387,6 @@ function ChartEdit() {
|
|||
)}
|
||||
</Field>
|
||||
</FormItem>
|
||||
|
||||
</TabContent>
|
||||
|
||||
<TabContent value="database">
|
||||
|
|
@ -3439,10 +3436,10 @@ function ChartEdit() {
|
|||
width: 2,
|
||||
label: {
|
||||
visible: false,
|
||||
backgroundColor: "#f05b41",
|
||||
backgroundColor: '#f05b41',
|
||||
customizeText: '',
|
||||
format: '',
|
||||
font: null
|
||||
font: null,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
@ -3652,32 +3649,20 @@ function ChartEdit() {
|
|||
|
||||
<Card className="my-2" header="Label">
|
||||
<FormItem label="Label Visible">
|
||||
<Field
|
||||
name="label.visible"
|
||||
component={Checkbox}
|
||||
/>
|
||||
<Field name="label.visible" component={Checkbox} />
|
||||
</FormItem>
|
||||
|
||||
<FormItem
|
||||
label="Background Color"
|
||||
invalid={
|
||||
errors.label?.backgroundColor &&
|
||||
touched.label?.backgroundColor
|
||||
}
|
||||
invalid={errors.label?.backgroundColor && touched.label?.backgroundColor}
|
||||
errorMessage={errors.label?.backgroundColor}
|
||||
>
|
||||
<Field
|
||||
type="text"
|
||||
name="label.backgroundColor"
|
||||
component={Input}
|
||||
/>
|
||||
<Field type="text" name="label.backgroundColor" component={Input} />
|
||||
</FormItem>
|
||||
|
||||
<FormItem
|
||||
label="Format"
|
||||
invalid={
|
||||
errors.label?.format && touched.label?.format
|
||||
}
|
||||
invalid={errors.label?.format && touched.label?.format}
|
||||
errorMessage={errors.label?.format}
|
||||
>
|
||||
<Field type="text" name="label.format">
|
||||
|
|
@ -3698,16 +3683,10 @@ function ChartEdit() {
|
|||
|
||||
<FormItem
|
||||
label="Customize Text"
|
||||
invalid={
|
||||
errors.label?.customizeText && touched.label?.customizeText
|
||||
}
|
||||
invalid={errors.label?.customizeText && touched.label?.customizeText}
|
||||
errorMessage={errors.label?.customizeText}
|
||||
>
|
||||
<Field
|
||||
type="text"
|
||||
name="label.customizeText"
|
||||
component={Input}
|
||||
/>
|
||||
<Field type="text" name="label.customizeText" component={Input} />
|
||||
</FormItem>
|
||||
</Card>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -9,11 +9,8 @@ import {
|
|||
toast,
|
||||
} from '@/components/ui'
|
||||
import { ROUTES_ENUM } from '@/routes/route.constant'
|
||||
import { getPermissions } from '@/proxy/admin/identity.service'
|
||||
import { postListFormWizard } from '@/proxy/admin/list-form/list-form.service'
|
||||
import { ListFormWizardDto } from '@/proxy/admin/list-form/models'
|
||||
import { getDataSources } from '@/proxy/data-source'
|
||||
import { DbTypeEnum, SelectCommandTypeEnum } from '@/proxy/form'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { Field, FieldProps, Form, Formik } from 'formik'
|
||||
|
|
@ -24,6 +21,9 @@ import CreatableSelect from 'react-select/creatable'
|
|||
import * as Yup from 'yup'
|
||||
import { dbSourceTypeOptions, selectCommandTypeOptions } from './edit/options'
|
||||
import { getMenus } from '@/services/menu.service'
|
||||
import { getPermissions } from '@/services/identity.service'
|
||||
import { DbTypeEnum, SelectCommandTypeEnum } from '@/proxy/form/models'
|
||||
import { postListFormWizard } from '@/services/admin/list-form.service'
|
||||
|
||||
const initialValues: ListFormWizardDto = {
|
||||
listFormCode: '',
|
||||
|
|
@ -77,7 +77,7 @@ const Wizard = () => {
|
|||
const response = await getDataSources()
|
||||
if (response.data?.items) {
|
||||
setDataSourceList(
|
||||
response.data.items.map((item) => ({
|
||||
response.data.items.map((item: any) => ({
|
||||
value: item.code,
|
||||
label: item.code,
|
||||
})),
|
||||
|
|
@ -94,7 +94,7 @@ const Wizard = () => {
|
|||
const response = await getMenus()
|
||||
if (response.data?.items) {
|
||||
setMenuList(
|
||||
response.data.items.map((item) => ({
|
||||
response.data.items.map((item: any) => ({
|
||||
value: item.code,
|
||||
label: item.displayName,
|
||||
})),
|
||||
|
|
@ -111,7 +111,7 @@ const Wizard = () => {
|
|||
const response = await getPermissions('R', '')
|
||||
if (response.data?.groups) {
|
||||
setPermissionGroupList(
|
||||
response.data.groups.map((item) => ({
|
||||
response.data.groups.map((item: any) => ({
|
||||
value: item.name,
|
||||
label: item.displayName,
|
||||
})),
|
||||
|
|
@ -204,10 +204,10 @@ const Wizard = () => {
|
|||
options={permissionGroupList}
|
||||
value={
|
||||
values.permissionGroupName
|
||||
? menuList?.find((o) => o.value === values.permissionGroupName) ?? {
|
||||
? (menuList?.find((o) => o.value === values.permissionGroupName) ?? {
|
||||
label: values.permissionGroupName,
|
||||
value: values.permissionGroupName,
|
||||
}
|
||||
})
|
||||
: null
|
||||
}
|
||||
onChange={(option) => {
|
||||
|
|
@ -239,10 +239,10 @@ const Wizard = () => {
|
|||
options={menuList}
|
||||
value={
|
||||
values.menuParentCode
|
||||
? menuList?.find((o) => o.value === values.menuParentCode) ?? {
|
||||
? (menuList?.find((o) => o.value === values.menuParentCode) ?? {
|
||||
label: values.menuParentCode,
|
||||
value: values.menuParentCode,
|
||||
}
|
||||
})
|
||||
: null
|
||||
}
|
||||
onChange={(option) => {
|
||||
|
|
@ -329,12 +329,12 @@ const Wizard = () => {
|
|||
options={dataSourceList}
|
||||
value={
|
||||
values.dataSourceCode
|
||||
? dataSourceList?.find(
|
||||
? (dataSourceList?.find(
|
||||
(o) => o.value === values.dataSourceCode,
|
||||
) ?? {
|
||||
label: values.dataSourceCode,
|
||||
value: values.dataSourceCode,
|
||||
}
|
||||
})
|
||||
: null
|
||||
}
|
||||
onChange={(option) => {
|
||||
|
|
@ -385,7 +385,9 @@ const Wizard = () => {
|
|||
field={field}
|
||||
form={form}
|
||||
options={selectCommandTypeOptions}
|
||||
value={selectCommandTypeOptions.find((o) => o.value === field.value)}
|
||||
value={selectCommandTypeOptions.find(
|
||||
(o: any) => o.value === field.value,
|
||||
)}
|
||||
onChange={(o) => form.setFieldValue(field.name, o?.value)}
|
||||
/>
|
||||
)}
|
||||
|
|
@ -440,7 +442,7 @@ const Wizard = () => {
|
|||
form={form}
|
||||
options={dbSourceTypeOptions}
|
||||
value={dbSourceTypeOptions?.filter(
|
||||
(o) => o.value === values.keyFieldDbSourceType,
|
||||
(o: any) => o.value === values.keyFieldDbSourceType,
|
||||
)}
|
||||
onChange={(o) => form.setFieldValue(field.name, o?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -14,14 +14,12 @@ import THead from '@/components/ui/Table/THead'
|
|||
import Td from '@/components/ui/Table/Td'
|
||||
import Th from '@/components/ui/Table/Th'
|
||||
import Tr from '@/components/ui/Table/Tr'
|
||||
import { IdentityRoleDto, IdentityUserDto } from '@/proxy/admin'
|
||||
import {
|
||||
deleteListFormCustomization,
|
||||
getListFormCustomizationById,
|
||||
postListFormCustomization,
|
||||
putListFormCustomization,
|
||||
} from '@/proxy/admin/list-form-customization/list-form-customization.service'
|
||||
import { ListFormCustomizationDto, ListFormCustomizationTypeEnum } from '@/proxy/form'
|
||||
} from '@/services/admin/list-form-customization.service'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { Field, FieldProps, Form, Formik } from 'formik'
|
||||
|
|
@ -31,6 +29,8 @@ import { HiOutlineDocumentAdd } from 'react-icons/hi'
|
|||
import { MdDelete } from 'react-icons/md'
|
||||
import * as Yup from 'yup'
|
||||
import { listFormCustomizationOptions } from './options'
|
||||
import { IdentityRoleDto, IdentityUserDto } from '@/proxy/admin/models'
|
||||
import { ListFormCustomizationDto, ListFormCustomizationTypeEnum } from '@/proxy/form/models'
|
||||
|
||||
const customizationFormValidationSchema = Yup.object().shape({
|
||||
roleId: Yup.string().notRequired(),
|
||||
|
|
@ -119,7 +119,10 @@ function FormCustomization({
|
|||
</div>
|
||||
</Td>
|
||||
<Td>
|
||||
{listFormCustomizationOptions.find((a) => a.value === row.customizationType)?.label}
|
||||
{
|
||||
listFormCustomizationOptions.find((a: any) => a.value === row.customizationType)
|
||||
?.label
|
||||
}
|
||||
</Td>
|
||||
<Td>{row.filterName}</Td>
|
||||
<Td>{roleList.find((a) => a.value === row.roleId)?.label}</Td>
|
||||
|
|
@ -207,7 +210,7 @@ function FormCustomization({
|
|||
isClearable={true}
|
||||
options={listFormCustomizationOptions}
|
||||
value={listFormCustomizationOptions.filter(
|
||||
(option) => option.value === values.customizationType,
|
||||
(option: any) => option.value === values.customizationType,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -2,15 +2,7 @@ import { Alert, Notification, Tabs, toast } from '@/components/ui'
|
|||
import TabContent from '@/components/ui/Tabs/TabContent'
|
||||
import TabList from '@/components/ui/Tabs/TabList'
|
||||
import TabNav from '@/components/ui/Tabs/TabNav'
|
||||
import { IdentityRoleDto, IdentityUserDto, PermissionDefinitionRecord } from '@/proxy/admin'
|
||||
import {
|
||||
getRoles,
|
||||
getUsers,
|
||||
} from '@/proxy/admin/identity.service'
|
||||
import { getListFormCustomizations } from '@/proxy/admin/list-form-customization/list-form-customization.service'
|
||||
import { putListForms } from '@/proxy/admin/list-form/list-form.service'
|
||||
import { LanguageInfo } from '@/proxy/config/models'
|
||||
import { GridOptionsEditDto, ListFormCustomizationDto } from '@/proxy/form'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { useStoreActions, useStoreState } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
|
|
@ -33,6 +25,11 @@ import FormTabSelect from './FormTabSelect'
|
|||
import FormTabState from './FormTabState'
|
||||
import FormTabSubForm from './FormTabSubForm'
|
||||
import FormFields from './form-fields/FormFields'
|
||||
import { putListForms } from '@/services/admin/list-form.service'
|
||||
import { getRoles, getUsers } from '@/services/identity.service'
|
||||
import { GridOptionsEditDto, ListFormCustomizationDto } from '@/proxy/form/models'
|
||||
import { IdentityRoleDto, IdentityUserDto } from '@/proxy/admin/models'
|
||||
import { getListFormCustomizations } from '@/services/admin/list-form-customization.service'
|
||||
|
||||
export interface FormEditProps {
|
||||
onSubmit: (
|
||||
|
|
@ -156,7 +153,7 @@ const FormEdit = () => {
|
|||
<div className="mb-4 lg:mb-0">
|
||||
<h4>
|
||||
<Link to={`/admin/list/${listFormCode}`}>
|
||||
🔙 {listFormCode} - {translate(`::${listFormValues.title}`)}
|
||||
🔙 {listFormCode} - {translate(`::${listFormValues.title}`)}
|
||||
</Link>
|
||||
</h4>
|
||||
{listFormValues.isTenant && (
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import Td from '@/components/ui/Table/Td'
|
|||
import Th from '@/components/ui/Table/Th'
|
||||
import Tr from '@/components/ui/Table/Tr'
|
||||
import { ListFormEditTabs } from '@/proxy/admin/list-form/models'
|
||||
import { UiCommandButtonPositionTypeEnum } from '@/proxy/form'
|
||||
import { useStoreState } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { useState } from 'react'
|
||||
|
|
@ -15,6 +14,7 @@ import { HiOutlineDocumentAdd } from 'react-icons/hi'
|
|||
import { MdDelete } from 'react-icons/md'
|
||||
import JsonRowOpDialogCommand from './json-row-operations/JsonRowOpDialogCommand'
|
||||
import { JsonRowDialogData } from './json-row-operations/types'
|
||||
import { UiCommandButtonPositionTypeEnum } from '@/proxy/form/models'
|
||||
|
||||
function FormTabCommands() {
|
||||
const [isJsonRowOpDialogOpen, setIsJsonRowOpDialogOpen] = useState(false)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ import { Container } from '@/components/shared'
|
|||
import { Button, Card, Checkbox, FormContainer, FormItem, Input, Select } from '@/components/ui'
|
||||
import { ListFormEditTabs } from '@/proxy/admin/list-form/models'
|
||||
import { getDataSources } from '@/proxy/data-source'
|
||||
import { DataSourceTypeEnum, SelectCommandTypeEnum } from '@/proxy/form'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { useStoreState } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
|
|
@ -11,6 +10,7 @@ import { useEffect, useState } from 'react'
|
|||
import * as Yup from 'yup'
|
||||
import { FormEditProps } from './FormEdit'
|
||||
import { dbSourceTypeOptions, selectCommandTypeOptions } from './options'
|
||||
import { DataSourceTypeEnum, SelectCommandTypeEnum } from '@/proxy/form/models'
|
||||
|
||||
const schema = Yup.object().shape({
|
||||
isOrganizationUnit: Yup.bool(),
|
||||
|
|
@ -30,7 +30,7 @@ function FormTabDatabaseDataSource(props: FormEditProps) {
|
|||
const response = await getDataSources()
|
||||
if (response.data?.items) {
|
||||
setDataSourceList(
|
||||
response.data.items.map((a) => ({
|
||||
response.data.items.map((a: any) => ({
|
||||
value: a.code,
|
||||
label: a.code,
|
||||
})),
|
||||
|
|
@ -141,7 +141,7 @@ function FormTabDatabaseDataSource(props: FormEditProps) {
|
|||
isClearable={true}
|
||||
options={selectCommandTypeOptions}
|
||||
value={selectCommandTypeOptions?.filter(
|
||||
(option) => option.value === values.selectCommandType,
|
||||
(option: any) => option.value === values.selectCommandType,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
@ -213,7 +213,7 @@ function FormTabDatabaseDataSource(props: FormEditProps) {
|
|||
isClearable={true}
|
||||
options={dbSourceTypeOptions}
|
||||
value={dbSourceTypeOptions?.filter(
|
||||
(option) => option.value === values.keyFieldDbSourceType,
|
||||
(option: any) => option.value === values.keyFieldDbSourceType,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -5,9 +5,7 @@ import THead from '@/components/ui/Table/THead'
|
|||
import Td from '@/components/ui/Table/Td'
|
||||
import Th from '@/components/ui/Table/Th'
|
||||
import Tr from '@/components/ui/Table/Tr'
|
||||
import { getListFormDataQueryByCode } from '@/proxy/admin/list-form/list-form.service'
|
||||
import { ListFormEditTabs } from '@/proxy/admin/list-form/models'
|
||||
import { FieldCustomValueTypeEnum } from '@/proxy/form'
|
||||
import { useStoreState } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { Field, Form, Formik } from 'formik'
|
||||
|
|
@ -19,6 +17,8 @@ import { object, string } from 'yup'
|
|||
import { FormEditProps } from './FormEdit'
|
||||
import { JsonRowDialogData } from './json-row-operations/types'
|
||||
import { dbSourceTypeOptions } from './options'
|
||||
import { FieldCustomValueTypeEnum } from '@/proxy/form/models'
|
||||
import { getListFormDataQueryByCode } from '@/services/admin/list-form.service'
|
||||
|
||||
const schema = object().shape({
|
||||
deleteServiceAddress: string(),
|
||||
|
|
@ -158,7 +158,7 @@ function FormTabDatabaseDelete({
|
|||
</Tr>
|
||||
</THead>
|
||||
<TBody>
|
||||
{initialValues.deleteFieldsDefaultValueDto.map((row, index) => (
|
||||
{initialValues.deleteFieldsDefaultValueDto.map((row: any, index: number) => (
|
||||
<Tr key={row.fieldName}>
|
||||
<Td>
|
||||
<div className="flex-wrap inline-flex xl:flex items-center gap-2">
|
||||
|
|
@ -202,7 +202,7 @@ function FormTabDatabaseDelete({
|
|||
</div>
|
||||
</Td>
|
||||
<Td>{row.fieldName}</Td>
|
||||
<Td>{dbSourceTypeOptions.find((a) => a.value === row.fieldDbType)?.label}</Td>
|
||||
<Td>{dbSourceTypeOptions.find((a: any) => a.value === row.fieldDbType)?.label}</Td>
|
||||
<Td>{FieldCustomValueTypeEnum[row.customValueType]}</Td>
|
||||
<Td>{row.value}</Td>
|
||||
<Td className="break-all">{row.sqlQuery}</Td>
|
||||
|
|
|
|||
|
|
@ -5,9 +5,7 @@ import THead from '@/components/ui/Table/THead'
|
|||
import Td from '@/components/ui/Table/Td'
|
||||
import Th from '@/components/ui/Table/Th'
|
||||
import Tr from '@/components/ui/Table/Tr'
|
||||
import { getListFormDataQueryByCode } from '@/proxy/admin/list-form/list-form.service'
|
||||
import { ListFormEditTabs } from '@/proxy/admin/list-form/models'
|
||||
import { FieldCustomValueTypeEnum } from '@/proxy/form'
|
||||
import { useStoreState } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { Field, Form, Formik } from 'formik'
|
||||
|
|
@ -19,6 +17,8 @@ import { object, string } from 'yup'
|
|||
import { FormEditProps } from './FormEdit'
|
||||
import { JsonRowDialogData } from './json-row-operations/types'
|
||||
import { dbSourceTypeOptions } from './options'
|
||||
import { getListFormDataQueryByCode } from '@/services/admin/list-form.service'
|
||||
import { FieldCustomValueTypeEnum } from '@/proxy/form/models'
|
||||
|
||||
const schema = object().shape({
|
||||
insertServiceAddress: string(),
|
||||
|
|
@ -158,7 +158,7 @@ function FormTabDatabaseInsert({
|
|||
</Tr>
|
||||
</THead>
|
||||
<TBody>
|
||||
{initialValues.insertFieldsDefaultValueDto.map((row, index) => (
|
||||
{initialValues.insertFieldsDefaultValueDto.map((row: any, index: number) => (
|
||||
<Tr key={row.fieldName}>
|
||||
<Td>
|
||||
<div className="flex-wrap inline-flex xl:flex items-center gap-2">
|
||||
|
|
@ -202,7 +202,7 @@ function FormTabDatabaseInsert({
|
|||
</div>
|
||||
</Td>
|
||||
<Td>{row.fieldName}</Td>
|
||||
<Td>{dbSourceTypeOptions.find((a) => a.value === row.fieldDbType)?.label}</Td>
|
||||
<Td>{dbSourceTypeOptions.find((a: any) => a.value === row.fieldDbType)?.label}</Td>
|
||||
<Td>{FieldCustomValueTypeEnum[row.customValueType]}</Td>
|
||||
<Td>{row.value}</Td>
|
||||
<Td className="break-all">{row.sqlQuery}</Td>
|
||||
|
|
@ -268,7 +268,7 @@ function FormTabDatabaseInsert({
|
|||
</Tr>
|
||||
</THead>
|
||||
<TBody>
|
||||
{initialValues.formFieldsDefaultValueDto.map((row, index) => (
|
||||
{initialValues.formFieldsDefaultValueDto.map((row: any, index: number) => (
|
||||
<Tr key={row.fieldName}>
|
||||
<Td>
|
||||
<div className="flex-wrap inline-flex xl:flex items-center gap-2">
|
||||
|
|
@ -310,7 +310,7 @@ function FormTabDatabaseInsert({
|
|||
</div>
|
||||
</Td>
|
||||
<Td>{row.fieldName}</Td>
|
||||
<Td>{dbSourceTypeOptions.find((a) => a.value === row.fieldDbType)?.label}</Td>
|
||||
<Td>{dbSourceTypeOptions.find((a: any) => a.value === row.fieldDbType)?.label}</Td>
|
||||
<Td>{FieldCustomValueTypeEnum[row.customValueType]}</Td>
|
||||
<Td>{row.value}</Td>
|
||||
<Td className="break-all">{row.sqlQuery}</Td>
|
||||
|
|
|
|||
|
|
@ -5,9 +5,7 @@ import THead from '@/components/ui/Table/THead'
|
|||
import Td from '@/components/ui/Table/Td'
|
||||
import Th from '@/components/ui/Table/Th'
|
||||
import Tr from '@/components/ui/Table/Tr'
|
||||
import { getListFormSelectQueryByCode } from '@/proxy/admin/list-form/list-form.service'
|
||||
import { ListFormEditTabs } from '@/proxy/admin/list-form/models'
|
||||
import { FieldCustomValueTypeEnum } from '@/proxy/form'
|
||||
import { useStoreState } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { Field, Form, Formik } from 'formik'
|
||||
|
|
@ -19,6 +17,8 @@ import { object, string } from 'yup'
|
|||
import { FormEditProps } from './FormEdit'
|
||||
import { JsonRowDialogData } from './json-row-operations/types'
|
||||
import { dbSourceTypeOptions } from './options'
|
||||
import { getListFormSelectQueryByCode } from '@/services/admin/list-form.service'
|
||||
import { FieldCustomValueTypeEnum } from '@/proxy/form/models'
|
||||
|
||||
const schema = object().shape({
|
||||
sortMode: string(),
|
||||
|
|
@ -151,7 +151,7 @@ function FormTabDatabaseSelect({
|
|||
</Tr>
|
||||
</THead>
|
||||
<TBody>
|
||||
{initialValues.selectFieldsDefaultValueDto.map((row, index) => (
|
||||
{initialValues.selectFieldsDefaultValueDto.map((row: any, index: number) => (
|
||||
<Tr key={row.fieldName}>
|
||||
<Td>
|
||||
<div className="flex-wrap inline-flex xl:flex items-center gap-2">
|
||||
|
|
@ -195,7 +195,7 @@ function FormTabDatabaseSelect({
|
|||
</div>
|
||||
</Td>
|
||||
<Td>{row.fieldName}</Td>
|
||||
<Td>{dbSourceTypeOptions.find((a) => a.value === row.fieldDbType)?.label}</Td>
|
||||
<Td>{dbSourceTypeOptions.find((a: any) => a.value === row.fieldDbType)?.label}</Td>
|
||||
<Td>{FieldCustomValueTypeEnum[row.customValueType]}</Td>
|
||||
<Td>{row.value}</Td>
|
||||
<Td className="break-all">{row.sqlQuery}</Td>
|
||||
|
|
|
|||
|
|
@ -5,9 +5,7 @@ import THead from '@/components/ui/Table/THead'
|
|||
import Td from '@/components/ui/Table/Td'
|
||||
import Th from '@/components/ui/Table/Th'
|
||||
import Tr from '@/components/ui/Table/Tr'
|
||||
import { getListFormDataQueryByCode } from '@/proxy/admin/list-form/list-form.service'
|
||||
import { ListFormEditTabs } from '@/proxy/admin/list-form/models'
|
||||
import { FieldCustomValueTypeEnum } from '@/proxy/form'
|
||||
import { useStoreState } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { Field, Form, Formik } from 'formik'
|
||||
|
|
@ -19,6 +17,8 @@ import { object, string } from 'yup'
|
|||
import { FormEditProps } from './FormEdit'
|
||||
import { JsonRowDialogData } from './json-row-operations/types'
|
||||
import { dbSourceTypeOptions } from './options'
|
||||
import { getListFormDataQueryByCode } from '@/services/admin/list-form.service'
|
||||
import { FieldCustomValueTypeEnum } from '@/proxy/form/models'
|
||||
|
||||
const schema = object().shape({
|
||||
updateServiceAddress: string(),
|
||||
|
|
@ -158,7 +158,7 @@ function FormTabDatabaseUpdate({
|
|||
</Tr>
|
||||
</THead>
|
||||
<TBody>
|
||||
{initialValues.updateFieldsDefaultValueDto.map((row, index) => (
|
||||
{initialValues.updateFieldsDefaultValueDto.map((row: any, index: number) => (
|
||||
<Tr key={row.fieldName}>
|
||||
<Td>
|
||||
<div className="flex-wrap inline-flex xl:flex items-center gap-2">
|
||||
|
|
@ -202,7 +202,7 @@ function FormTabDatabaseUpdate({
|
|||
</div>
|
||||
</Td>
|
||||
<Td>{row.fieldName}</Td>
|
||||
<Td>{dbSourceTypeOptions.find((a) => a.value === row.fieldDbType)?.label}</Td>
|
||||
<Td>{dbSourceTypeOptions.find((a: any) => a.value === row.fieldDbType)?.label}</Td>
|
||||
<Td>{FieldCustomValueTypeEnum[row.customValueType]}</Td>
|
||||
<Td>{row.value}</Td>
|
||||
<Td className="break-all">{row.sqlQuery}</Td>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ import {
|
|||
Tabs,
|
||||
} from '@/components/ui'
|
||||
import { ListFormEditTabs } from '@/proxy/admin/list-form/models'
|
||||
import { GridOptionsSortModeEnum } from '@/proxy/form'
|
||||
import { useStoreState } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { ApplyFilterMode } from 'devextreme/common/grids'
|
||||
|
|
@ -21,6 +20,7 @@ import { applyFilterOptions, sortModeOptions } from './options'
|
|||
import TabList from '@/components/ui/Tabs/TabList'
|
||||
import TabNav from '@/components/ui/Tabs/TabNav'
|
||||
import TabContent from '@/components/ui/Tabs/TabContent'
|
||||
import { GridOptionsSortModeEnum } from '@/proxy/form/models'
|
||||
|
||||
const validationSchema = Yup.object().shape({})
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ import { Field, FieldProps, Form, Formik } from 'formik'
|
|||
import { useEffect, useState } from 'react'
|
||||
import { object, string } from 'yup'
|
||||
import { FormEditProps } from './FormEdit'
|
||||
import { getPermissionsList } from '@/proxy/admin/identity.service'
|
||||
import { PermissionDefinitionRecord } from '@/proxy/admin/models'
|
||||
import { getPermissionsList } from '@/services/identity.service'
|
||||
|
||||
const schema = object().shape({
|
||||
c: string(),
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ function FormTabSelect(props: FormEditProps) {
|
|||
isClearable={true}
|
||||
options={selectionModeOptions}
|
||||
value={selectionModeOptions?.filter(
|
||||
(option) => option.value === values.selectionDto.mode,
|
||||
(option: any) => option.value === values.selectionDto.mode,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -16,13 +16,8 @@ import THead from '@/components/ui/Table/THead'
|
|||
import Td from '@/components/ui/Table/Td'
|
||||
import Th from '@/components/ui/Table/Th'
|
||||
import Tr from '@/components/ui/Table/Tr'
|
||||
import { getListFormFieldById } from '@/proxy/admin/list-form-field/list-form-field.service'
|
||||
import { ColumnFormatEditDto, ListFormFieldEditTabs } from '@/proxy/admin/list-form-field/models'
|
||||
import {
|
||||
ColumnRowTypeListOptions,
|
||||
ColumnStylingDto,
|
||||
ColumnValidationComparisonTypeEnum,
|
||||
} from '@/proxy/form'
|
||||
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import setNull from '@/utils/setNull'
|
||||
import { Field, FieldProps, Form, Formik } from 'formik'
|
||||
|
|
@ -33,6 +28,12 @@ import { MdCheck, MdDelete } from 'react-icons/md'
|
|||
import { object, string } from 'yup'
|
||||
import { columnRowTypeListOptions, columnValidationComparisonTypeListOptions } from '../options'
|
||||
import { FormFieldEditProps } from './FormFields'
|
||||
import { getListFormFieldById } from '@/services/admin/list-form-field.service'
|
||||
import {
|
||||
ColumnRowTypeListOptions,
|
||||
ColumnStylingDto,
|
||||
ColumnValidationComparisonTypeEnum,
|
||||
} from '@/proxy/form/models'
|
||||
|
||||
const NewItem: ColumnStylingDto = {
|
||||
rowType: ColumnRowTypeListOptions.Data,
|
||||
|
|
@ -233,7 +234,7 @@ function FormFieldTabConditionalFormatting({
|
|||
form={form}
|
||||
options={columnRowTypeListOptions}
|
||||
value={columnRowTypeListOptions.filter(
|
||||
(option) => option.value === values.rowType,
|
||||
(option: any) => option.value === values.rowType,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
@ -263,7 +264,7 @@ function FormFieldTabConditionalFormatting({
|
|||
form={form}
|
||||
options={columnValidationComparisonTypeListOptions}
|
||||
value={columnValidationComparisonTypeListOptions.filter(
|
||||
(option) => option.value === values.condition,
|
||||
(option: any) => option.value === values.condition,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
import { Container } from '@/components/shared'
|
||||
import { Button, Checkbox, FormContainer, FormItem, Select } from '@/components/ui'
|
||||
import { ColumnFormatEditDto, ListFormFieldEditTabs } from '@/proxy/admin/list-form-field/models'
|
||||
import { FixedPositionEnum } from '@/proxy/form'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { Field, FieldProps, Form, Formik } from 'formik'
|
||||
import { bool, object, string } from 'yup'
|
||||
import { fixedPositionOptions } from '../options'
|
||||
import { FormFieldEditProps } from './FormFields'
|
||||
import { FixedPositionEnum } from '@/proxy/form/models'
|
||||
|
||||
const schema = object().shape({
|
||||
columnCustomizationDto: object()
|
||||
|
|
@ -61,7 +61,8 @@ function FormFieldTabCustomization({
|
|||
isClearable={true}
|
||||
options={fixedPositionOptions}
|
||||
value={fixedPositionOptions.filter(
|
||||
(option) => option.value === values?.columnCustomizationDto?.fixedPosition,
|
||||
(option: any) =>
|
||||
option.value === values?.columnCustomizationDto?.fixedPosition,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ function FormFieldTabDetails({
|
|||
isClearable={true}
|
||||
options={dbSourceTypeOptions}
|
||||
value={dbSourceTypeOptions.filter(
|
||||
(option) => option.value === values.sourceDbType,
|
||||
(option: any) => option.value === values.sourceDbType,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
import { Container } from '@/components/shared'
|
||||
import { Button, Checkbox, FormContainer, FormItem, Input, Select } from '@/components/ui'
|
||||
import { ColumnFormatEditDto, ListFormFieldEditTabs } from '@/proxy/admin/list-form-field/models'
|
||||
import { ColumnCascadeFilterOperatorEnum, UiLookupDataSourceTypeEnum } from '@/proxy/form'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { Field, FieldProps, Form, Formik } from 'formik'
|
||||
import { bool, number, object, string } from 'yup'
|
||||
import { number, object, string } from 'yup'
|
||||
import { cascadeFilterOperator, columnLookupDataSourceTypeListOptions } from '../options'
|
||||
import { FormFieldEditProps } from './FormFields'
|
||||
import { ColumnCascadeFilterOperatorEnum, UiLookupDataSourceTypeEnum } from '@/proxy/form/models'
|
||||
|
||||
const schema = object().shape({
|
||||
lookupDto: object()
|
||||
|
|
@ -67,7 +67,7 @@ function FormFieldTabLookup({
|
|||
isClearable={true}
|
||||
options={columnLookupDataSourceTypeListOptions}
|
||||
value={columnLookupDataSourceTypeListOptions.filter(
|
||||
(option) => option.value === values.lookupDto?.dataSourceType,
|
||||
(option: any) => option.value === values.lookupDto?.dataSourceType,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
@ -159,7 +159,7 @@ function FormFieldTabLookup({
|
|||
isClearable={true}
|
||||
options={cascadeFilterOperator}
|
||||
value={cascadeFilterOperator.filter(
|
||||
(option) => option.value === values.lookupDto?.cascadeFilterOperator,
|
||||
(option: any) => option.value === values.lookupDto?.cascadeFilterOperator,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
import { Container } from '@/components/shared'
|
||||
import { Button, Checkbox, FormContainer, FormItem, Input, Select } from '@/components/ui'
|
||||
import { ColumnFormatEditDto, ListFormFieldEditTabs } from '@/proxy/admin/list-form-field/models'
|
||||
import { SortDirectionEnum } from '@/proxy/form'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { Field, FieldProps, Form, Formik } from 'formik'
|
||||
import { bool, number, object, string } from 'yup'
|
||||
import { sortDirectionOptions } from '../options'
|
||||
import { FormFieldEditProps } from './FormFields'
|
||||
import { SortDirectionEnum } from '@/proxy/form/models'
|
||||
|
||||
const schema = object().shape({
|
||||
listOrderNo: number(),
|
||||
|
|
@ -74,7 +74,7 @@ function FormFieldTabOptions({
|
|||
isClearable={true}
|
||||
options={sortDirectionOptions}
|
||||
value={sortDirectionOptions.filter(
|
||||
(option) => option.value === values.sortDirection,
|
||||
(option: any) => option.value === values.sortDirection,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import { Container } from '@/components/shared'
|
||||
import { Button, Checkbox, FormContainer, FormItem, Select } from '@/components/ui'
|
||||
import { getPermissions } from '@/proxy/admin/identity.service'
|
||||
import { ColumnFormatEditDto, ListFormFieldEditTabs } from '@/proxy/admin/list-form-field/models'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
|
|
@ -8,6 +7,7 @@ import { Field, FieldProps, Form, Formik } from 'formik'
|
|||
import { useEffect, useState } from 'react'
|
||||
import { bool, object, string } from 'yup'
|
||||
import { FormFieldEditProps } from './FormFields'
|
||||
import { getPermissions } from '@/services/identity.service'
|
||||
|
||||
const schema = object().shape({
|
||||
permissionDto: object().shape({
|
||||
|
|
@ -34,8 +34,8 @@ function FormFieldTabPermissions({
|
|||
const response = await getPermissions('R')
|
||||
if (response.data) {
|
||||
setPermissionOptions(
|
||||
response.data.groups.flatMap((group) =>
|
||||
group.permissions.map((permission) => ({
|
||||
response.data.groups.flatMap((group: any) =>
|
||||
group.permissions.map((permission: any) => ({
|
||||
value: permission.name,
|
||||
label: permission.name,
|
||||
})),
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ function FormFieldTabPivotSetting({
|
|||
isClearable={true}
|
||||
options={pivotSettingsAreaOptions}
|
||||
value={pivotSettingsAreaOptions.filter(
|
||||
(option) => option.value === values.pivotSettingsDto?.area,
|
||||
(option: any) => option.value === values.pivotSettingsDto?.area,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
@ -132,7 +132,7 @@ function FormFieldTabPivotSetting({
|
|||
isClearable={true}
|
||||
options={columnSummaryTypeListOptions}
|
||||
value={columnSummaryTypeListOptions.filter(
|
||||
(option) => option.value === values.pivotSettingsDto?.summaryType,
|
||||
(option: any) => option.value === values.pivotSettingsDto?.summaryType,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
@ -160,7 +160,7 @@ function FormFieldTabPivotSetting({
|
|||
isClearable={true}
|
||||
options={pivotSettingsGroupIntervalOptions}
|
||||
value={pivotSettingsGroupIntervalOptions.filter(
|
||||
(option) => option.value === values.pivotSettingsDto?.groupInterval,
|
||||
(option: any) => option.value === values.pivotSettingsDto?.groupInterval,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
@ -186,7 +186,7 @@ function FormFieldTabPivotSetting({
|
|||
isClearable={true}
|
||||
options={pivotSortDirectionOptions}
|
||||
value={pivotSortDirectionOptions.filter(
|
||||
(option) => option.value === values.pivotSettingsDto?.sortOrder,
|
||||
(option: any) => option.value === values.pivotSettingsDto?.sortOrder,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -16,13 +16,9 @@ import THead from '@/components/ui/Table/THead'
|
|||
import Td from '@/components/ui/Table/Td'
|
||||
import Th from '@/components/ui/Table/Th'
|
||||
import Tr from '@/components/ui/Table/Tr'
|
||||
import { getListFormFieldById } from '@/proxy/admin/list-form-field/list-form-field.service'
|
||||
import { getListFormFieldById } from '@/services/admin/list-form-field.service'
|
||||
import { ColumnFormatEditDto, ListFormFieldEditTabs } from '@/proxy/admin/list-form-field/models'
|
||||
import {
|
||||
ColumnValidationComparisonTypeEnum,
|
||||
ColumnValidationTypeListEnum,
|
||||
ValidationRuleDto,
|
||||
} from '@/proxy/form'
|
||||
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import setNull from '@/utils/setNull'
|
||||
import { Field, FieldProps, Form, Formik } from 'formik'
|
||||
|
|
@ -36,6 +32,11 @@ import {
|
|||
columnValidationTypeListOptions,
|
||||
} from '../options'
|
||||
import { FormFieldEditProps } from './FormFields'
|
||||
import {
|
||||
ColumnValidationComparisonTypeEnum,
|
||||
ColumnValidationTypeListEnum,
|
||||
ValidationRuleDto,
|
||||
} from '@/proxy/form/models'
|
||||
|
||||
const NewItem: ValidationRuleDto = {
|
||||
type: ColumnValidationTypeListEnum.None,
|
||||
|
|
@ -244,7 +245,7 @@ function FormFieldTabValidationRules({
|
|||
isClearable={true}
|
||||
options={columnValidationTypeListOptions}
|
||||
value={columnValidationTypeListOptions.filter(
|
||||
(option) => option.value === values.type,
|
||||
(option: any) => option.value === values.type,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
@ -304,7 +305,7 @@ function FormFieldTabValidationRules({
|
|||
isClearable={true}
|
||||
options={columnValidationComparisonTypeListOptions}
|
||||
value={columnValidationComparisonTypeListOptions.filter(
|
||||
(option) => option.value === values.comparisonType,
|
||||
(option: any) => option.value === values.comparisonType,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -17,14 +17,13 @@ import THead from '@/components/ui/Table/THead'
|
|||
import Td from '@/components/ui/Table/Td'
|
||||
import Th from '@/components/ui/Table/Th'
|
||||
import Tr from '@/components/ui/Table/Tr'
|
||||
import { IdentityRoleDto, IdentityUserDto } from '@/proxy/admin'
|
||||
import {
|
||||
deleteListFormField,
|
||||
getListFormFields,
|
||||
postListFormField,
|
||||
postListFormFieldCopy,
|
||||
putListFormField,
|
||||
} from '@/proxy/admin/list-form-field/list-form-field.service'
|
||||
} from '@/services/admin/list-form-field.service'
|
||||
import {
|
||||
ColumnFormatEditDto,
|
||||
CopyListFormFieldColumnDto,
|
||||
|
|
@ -43,6 +42,7 @@ import { MdDelete } from 'react-icons/md'
|
|||
import { number, object, string } from 'yup'
|
||||
import FormFieldEdit from './FormFieldEdit'
|
||||
import { dbSourceTypeOptions } from '../options'
|
||||
import { IdentityRoleDto, IdentityUserDto } from '@/proxy/admin/models'
|
||||
|
||||
export interface FormFieldEditProps {
|
||||
onSubmit: (
|
||||
|
|
@ -470,7 +470,7 @@ function FormFields({
|
|||
isClearable={true}
|
||||
options={dbSourceTypeOptions}
|
||||
value={dbSourceTypeOptions.filter(
|
||||
(option) => option.value === values.sourceDbType,
|
||||
(option: any) => option.value === values.sourceDbType,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -12,14 +12,7 @@ import {
|
|||
import TabContent from '@/components/ui/Tabs/TabContent'
|
||||
import TabList from '@/components/ui/Tabs/TabList'
|
||||
import TabNav from '@/components/ui/Tabs/TabNav'
|
||||
import {
|
||||
deleteListFormJsonRow,
|
||||
getListFormJsonRow,
|
||||
postListFormJsonRow,
|
||||
putListFormJsonRow,
|
||||
} from '@/proxy/admin/list-form/list-form.service'
|
||||
import { ListFormJsonRowDto } from '@/proxy/admin/list-form/models'
|
||||
import { UiCommandButtonPositionTypeEnum } from '@/proxy/form'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { useStoreActions, useStoreState } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
|
|
@ -28,6 +21,13 @@ import { Dispatch, SetStateAction, useEffect, useState } from 'react'
|
|||
import { number, object, string } from 'yup'
|
||||
import { commandButtonPositionTypeOptions, urlOptions } from '../options'
|
||||
import { JsonRowDialogData } from './types'
|
||||
import {
|
||||
deleteListFormJsonRow,
|
||||
getListFormJsonRow,
|
||||
postListFormJsonRow,
|
||||
putListFormJsonRow,
|
||||
} from '@/services/admin/list-form.service'
|
||||
import { UiCommandButtonPositionTypeEnum } from '@/proxy/form/models'
|
||||
|
||||
const schema = object().shape({
|
||||
buttonPosition: number().required('Button Position Required'),
|
||||
|
|
@ -174,7 +174,7 @@ function JsonRowOpDialogCommand({
|
|||
isClearable={true}
|
||||
options={commandButtonPositionTypeOptions}
|
||||
value={commandButtonPositionTypeOptions?.filter(
|
||||
(option) => option.value === values.buttonPosition,
|
||||
(option: any) => option.value === values.buttonPosition,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -8,14 +8,7 @@ import {
|
|||
Select,
|
||||
toast,
|
||||
} from '@/components/ui'
|
||||
import {
|
||||
deleteListFormJsonRow,
|
||||
getListFormJsonRow,
|
||||
postListFormJsonRow,
|
||||
putListFormJsonRow,
|
||||
} from '@/proxy/admin/list-form/list-form.service'
|
||||
import { ListFormEditTabs, ListFormJsonRowDto } from '@/proxy/admin/list-form/models'
|
||||
import { FieldCustomValueTypeEnum } from '@/proxy/form'
|
||||
import { useStoreActions } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { Field, FieldProps, Form, Formik } from 'formik'
|
||||
|
|
@ -23,6 +16,13 @@ import { Dispatch, SetStateAction } from 'react'
|
|||
import { object, string } from 'yup'
|
||||
import { customValueTypeOptions, dbSourceTypeOptions } from '../options'
|
||||
import { JsonRowDialogData } from './types'
|
||||
import {
|
||||
deleteListFormJsonRow,
|
||||
getListFormJsonRow,
|
||||
postListFormJsonRow,
|
||||
putListFormJsonRow,
|
||||
} from '@/services/admin/list-form.service'
|
||||
import { FieldCustomValueTypeEnum } from '@/proxy/form/models'
|
||||
|
||||
const schema = object().shape({
|
||||
fieldName: string().required('Field Name Required'),
|
||||
|
|
@ -193,7 +193,7 @@ function JsonRowOpDialogDatabase({
|
|||
isClearable={true}
|
||||
options={dbSourceTypeOptions}
|
||||
value={dbSourceTypeOptions?.filter(
|
||||
(option) => option.value === values.fieldDbType,
|
||||
(option: any) => option.value === values.fieldDbType,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -10,15 +10,8 @@ import {
|
|||
Select,
|
||||
toast,
|
||||
} from '@/components/ui'
|
||||
import { getListFormFields } from '@/proxy/admin/list-form-field/list-form-field.service'
|
||||
import {
|
||||
deleteListFormJsonRow,
|
||||
getListFormJsonRow,
|
||||
postListFormJsonRow,
|
||||
putListFormJsonRow,
|
||||
} from '@/proxy/admin/list-form/list-form.service'
|
||||
|
||||
import { ListFormJsonRowDto } from '@/proxy/admin/list-form/models'
|
||||
import { EditingFormItemDto, PlatformEditorTypes } from '@/proxy/form'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { useStoreActions } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
|
|
@ -40,6 +33,14 @@ import {
|
|||
} from '../options'
|
||||
import { JsonRowDialogData } from './types'
|
||||
import CreatableSelect from 'react-select/creatable'
|
||||
import { getListFormFields } from '@/services/admin/list-form-field.service'
|
||||
import {
|
||||
deleteListFormJsonRow,
|
||||
getListFormJsonRow,
|
||||
postListFormJsonRow,
|
||||
putListFormJsonRow,
|
||||
} from '@/services/admin/list-form.service'
|
||||
import { EditingFormItemDto, PlatformEditorTypes } from '@/proxy/form/models'
|
||||
|
||||
const schema = object().shape({
|
||||
itemType: string().required('Item Type Required'),
|
||||
|
|
@ -291,7 +292,7 @@ function JsonRowOpDialogEditForm({
|
|||
<div className="w-1/12"></div>
|
||||
</div>
|
||||
{values.items && values.items.length > 0 ? (
|
||||
values.items.map((item: EditingFormItemDto, index) => (
|
||||
values.items.map((item: EditingFormItemDto, index: number) => (
|
||||
<div key={`items-${index}`} className="flex m-1">
|
||||
<div className="w-1/12">
|
||||
<Field
|
||||
|
|
@ -316,10 +317,15 @@ function JsonRowOpDialogEditForm({
|
|||
form={form}
|
||||
isClearable={true}
|
||||
options={fieldList}
|
||||
value={values.items?.at(index)?.dataField
|
||||
? fieldList.find((option) =>
|
||||
option.value === values.items?.at(index)?.dataField,
|
||||
) : null}
|
||||
value={
|
||||
values.items?.at(index)?.dataField
|
||||
? fieldList.find(
|
||||
(option) =>
|
||||
option.value ===
|
||||
values.items?.at(index)?.dataField,
|
||||
)
|
||||
: null
|
||||
}
|
||||
onChange={(option) =>
|
||||
form.setFieldValue(field.name, option?.value)
|
||||
}
|
||||
|
|
@ -493,7 +499,7 @@ function JsonRowOpDialogEditForm({
|
|||
isClearable={true}
|
||||
options={selectionModeOptions}
|
||||
value={selectionModeOptions.filter(
|
||||
(option) =>
|
||||
(option: any) =>
|
||||
option.value ===
|
||||
values.items?.at(index)?.gridBoxOptions
|
||||
?.selectionMode,
|
||||
|
|
|
|||
|
|
@ -8,14 +8,7 @@ import {
|
|||
Select,
|
||||
toast,
|
||||
} from '@/components/ui'
|
||||
import {
|
||||
deleteListFormJsonRow,
|
||||
getListFormJsonRow,
|
||||
postListFormJsonRow,
|
||||
putListFormJsonRow,
|
||||
} from '@/proxy/admin/list-form/list-form.service'
|
||||
import { ListFormJsonRowDto } from '@/proxy/admin/list-form/models'
|
||||
import { SubFormDto, SubFormRelationDto } from '@/proxy/form'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { useStoreActions } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
|
|
@ -25,6 +18,13 @@ import { HiOutlineDocumentAdd, HiOutlineDocumentRemove } from 'react-icons/hi'
|
|||
import { object, string } from 'yup'
|
||||
import { tabTypeOptions } from '../options'
|
||||
import { JsonRowDialogData } from './types'
|
||||
import {
|
||||
deleteListFormJsonRow,
|
||||
getListFormJsonRow,
|
||||
postListFormJsonRow,
|
||||
putListFormJsonRow,
|
||||
} from '@/services/admin/list-form.service'
|
||||
import { SubFormDto, SubFormRelationDto } from '@/proxy/form/models'
|
||||
|
||||
const schema = object().shape({
|
||||
tabTitle: string().required('Tab Title Required'),
|
||||
|
|
@ -150,7 +150,7 @@ function JsonRowOpDialogSubForm({
|
|||
isClearable={true}
|
||||
options={tabTypeOptions}
|
||||
value={tabTypeOptions?.filter(
|
||||
(option) => option.value === values.tabType,
|
||||
(option: any) => option.value === values.tabType,
|
||||
)}
|
||||
onChange={(option) => form.setFieldValue(field.name, option?.value)}
|
||||
/>
|
||||
|
|
@ -182,7 +182,7 @@ function JsonRowOpDialogSubForm({
|
|||
<div className="w-4/12">Child Field Name</div>
|
||||
</div>
|
||||
{values.relation && values.relation.length > 0 ? (
|
||||
values.relation.map((item: SubFormRelationDto, index) => (
|
||||
values.relation.map((item: SubFormRelationDto, index: any) => (
|
||||
<div key={index} className="flex m-1">
|
||||
<div className="w-4/12 ml-2">
|
||||
<Field
|
||||
|
|
|
|||
|
|
@ -1,7 +1,3 @@
|
|||
import {
|
||||
GridColumnJoinConditionEnum,
|
||||
GridColumnJoinTypeListEnum,
|
||||
} from '@/proxy/admin/list-form-field/models'
|
||||
import {
|
||||
AuthorizationTypeEnum,
|
||||
ColumnCascadeFilterOperatorEnum,
|
||||
|
|
@ -23,8 +19,12 @@ import {
|
|||
SummaryTypeEnum,
|
||||
UiCommandButtonPositionTypeEnum,
|
||||
UiLookupDataSourceTypeEnum,
|
||||
} from '@/proxy/form'
|
||||
import { enumToList } from '@/utils/enumUtils'
|
||||
} from '../../../../proxy/form/models'
|
||||
import {
|
||||
GridColumnJoinConditionEnum,
|
||||
GridColumnJoinTypeListEnum,
|
||||
} from '../../../../proxy/admin/list-form-field/models'
|
||||
import { enumToList } from '../../../../utils/enumUtils'
|
||||
|
||||
export const sortModeOptions = [
|
||||
{ value: 'none', label: 'None' },
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@ import {
|
|||
Notification,
|
||||
toast,
|
||||
} from '@/components/ui'
|
||||
import { postMyNotificationByNotificationRuleId } from '@/proxy/notification/notification.service'
|
||||
import { postMyNotificationByNotificationRuleId } from '@/services/notification.service'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { Field, Form, Formik, FormikHelpers } from 'formik'
|
||||
import { useState } from 'react'
|
||||
import { useState } from 'react'
|
||||
import * as Yup from 'yup'
|
||||
|
||||
export interface NotificationDto {
|
||||
|
|
@ -47,7 +47,7 @@ function CreateNotification({
|
|||
setSubmitting(true)
|
||||
|
||||
try {
|
||||
await postMyNotificationByNotificationRuleId({id, message: values.message})
|
||||
await postMyNotificationByNotificationRuleId({ id, message: values.message })
|
||||
toast.push(
|
||||
<Notification type="success" duration={2000}>
|
||||
{translate('::Kaydet')}
|
||||
|
|
@ -75,42 +75,38 @@ function CreateNotification({
|
|||
return (
|
||||
<Dialog isOpen={open} onClose={onDialogClose} onRequestClose={onDialogClose}>
|
||||
<h5 className="mb-4">{id}</h5>
|
||||
<Formik
|
||||
initialValues={ { id, message:''}}
|
||||
validationSchema={scheme}
|
||||
onSubmit={handleSubmit}
|
||||
>
|
||||
{({ touched, errors, values, isSubmitting }) => {
|
||||
return (
|
||||
<Form>
|
||||
<FormContainer size="sm">
|
||||
<FormItem
|
||||
label="Message"
|
||||
invalid={errors.message && touched.message}
|
||||
errorMessage={errors.message}
|
||||
>
|
||||
<Field
|
||||
textArea="true"
|
||||
type="text"
|
||||
autoComplete="off"
|
||||
name="message"
|
||||
component={Input}
|
||||
/>
|
||||
</FormItem>
|
||||
<Formik initialValues={{ id, message: '' }} validationSchema={scheme} onSubmit={handleSubmit}>
|
||||
{({ touched, errors, values, isSubmitting }) => {
|
||||
return (
|
||||
<Form>
|
||||
<FormContainer size="sm">
|
||||
<FormItem
|
||||
label="Message"
|
||||
invalid={errors.message && touched.message}
|
||||
errorMessage={errors.message}
|
||||
>
|
||||
<Field
|
||||
textArea="true"
|
||||
type="text"
|
||||
autoComplete="off"
|
||||
name="message"
|
||||
component={Input}
|
||||
/>
|
||||
</FormItem>
|
||||
|
||||
<div className="mt-6 flex flex-row justify-end gap-3">
|
||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
||||
</Button>
|
||||
<Button type="button" variant="plain" onClick={onDialogClose}>
|
||||
{translate('::Cancel')}
|
||||
</Button>
|
||||
</div>
|
||||
</FormContainer>
|
||||
</Form>
|
||||
)
|
||||
}}
|
||||
</Formik>
|
||||
<div className="mt-6 flex flex-row justify-end gap-3">
|
||||
<Button variant="solid" loading={isSubmitting} type="submit">
|
||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
||||
</Button>
|
||||
<Button type="button" variant="plain" onClick={onDialogClose}>
|
||||
{translate('::Cancel')}
|
||||
</Button>
|
||||
</div>
|
||||
</FormContainer>
|
||||
</Form>
|
||||
)
|
||||
}}
|
||||
</Formik>
|
||||
</Dialog>
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ import Tr from '@/components/ui/Table/Tr'
|
|||
import TabContent from '@/components/ui/Tabs/TabContent'
|
||||
import TabList from '@/components/ui/Tabs/TabList'
|
||||
import TabNav from '@/components/ui/Tabs/TabNav'
|
||||
import { IdentityRoleDto, IdentityUserDto } from '@/proxy/admin'
|
||||
import { getRoles, getUsers } from '@/proxy/admin/identity.service'
|
||||
import { getRoles, getUsers } from '@/services/identity.service'
|
||||
import { IdentityRoleDto, IdentityUserDto } from '@/proxy/admin/models'
|
||||
import {
|
||||
CreateUpdateOrganizationUnitDto,
|
||||
OrganizationUnitDto,
|
||||
|
|
@ -41,7 +41,7 @@ import {
|
|||
ouPutMembers,
|
||||
ouPutMove,
|
||||
ouPutRoles,
|
||||
} from '@/proxy/admin/organization-unit/organization-unit.service'
|
||||
} from '@/services/organization-unit.service'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import TableNoRecords from '@/views/shared/TableNoRecords'
|
||||
|
|
@ -424,15 +424,21 @@ const OrganizationUnits = () => {
|
|||
|
||||
<div className="file-actions">
|
||||
<div className="flex gap-1 folderFileActions">
|
||||
<button onClick={() => setIsMoveAllUsersOpen(true)} title={ translate('::Abp.Identity.OrganizationUnit.MoveAllUsers')}>
|
||||
<button
|
||||
onClick={() => setIsMoveAllUsersOpen(true)}
|
||||
title={translate('::Abp.Identity.OrganizationUnit.MoveAllUsers')}
|
||||
>
|
||||
<MdSupervisedUserCircle size="20" color="#2d6da3" />
|
||||
</button>
|
||||
<button onClick={() => node.edit()} title={ translate('::Abp.Identity.OrganizationUnit.Rename')}>
|
||||
<button
|
||||
onClick={() => node.edit()}
|
||||
title={translate('::Abp.Identity.OrganizationUnit.Rename')}
|
||||
>
|
||||
<MdEdit size="20" className="text-teal-900" />
|
||||
</button>
|
||||
<button
|
||||
onClick={() => setDeleteRow({ id: node.data.id, name: 'Organization Unit' })}
|
||||
title={ translate('::Delete')}
|
||||
title={translate('::Delete')}
|
||||
>
|
||||
<MdDelete size="20" className="text-red-500" />
|
||||
</button>
|
||||
|
|
@ -594,7 +600,9 @@ const OrganizationUnits = () => {
|
|||
</Table>
|
||||
</AdaptableCard>
|
||||
) : (
|
||||
<div className="p-3">{ translate('::Abp.Identity.OrganizationUnit.Users.Description')}</div>
|
||||
<div className="p-3">
|
||||
{translate('::Abp.Identity.OrganizationUnit.Users.Description')}
|
||||
</div>
|
||||
)}
|
||||
</TabContent>
|
||||
<TabContent value="roles">
|
||||
|
|
@ -650,7 +658,9 @@ const OrganizationUnits = () => {
|
|||
</Table>
|
||||
</AdaptableCard>
|
||||
) : (
|
||||
<div className="p-3">{ translate('::Abp.Identity.OrganizationUnit.Roles.Description')}</div>
|
||||
<div className="p-3">
|
||||
{translate('::Abp.Identity.OrganizationUnit.Roles.Description')}
|
||||
</div>
|
||||
)}
|
||||
</TabContent>
|
||||
</Tabs>
|
||||
|
|
@ -724,7 +734,7 @@ const OrganizationUnits = () => {
|
|||
onClose={() => setUserSelectionList([])}
|
||||
onRequestClose={() => setUserSelectionList([])}
|
||||
>
|
||||
<h5 className="mb-4">{ translate('::Abp.Identity.OrganizationUnit.SelectMembers')}</h5>
|
||||
<h5 className="mb-4">{translate('::Abp.Identity.OrganizationUnit.SelectMembers')}</h5>
|
||||
|
||||
<DataTable<IdentityUserDto>
|
||||
selectable
|
||||
|
|
@ -795,7 +805,7 @@ const OrganizationUnits = () => {
|
|||
onClose={() => setRoleSelectionList([])}
|
||||
onRequestClose={() => setRoleSelectionList([])}
|
||||
>
|
||||
<h5 className="mb-4">{ translate('::Abp.Identity.OrganizationUnit.SelectRoles')}</h5>
|
||||
<h5 className="mb-4">{translate('::Abp.Identity.OrganizationUnit.SelectRoles')}</h5>
|
||||
|
||||
<DataTable<IdentityRoleDto>
|
||||
selectable
|
||||
|
|
@ -866,9 +876,9 @@ const OrganizationUnits = () => {
|
|||
onClose={() => setDeleteRow(null)}
|
||||
onRequestClose={() => setDeleteRow(null)}
|
||||
>
|
||||
<h5 className="mb-4">{ translate('::Delete')}</h5>
|
||||
<h5 className="mb-4">{translate('::Delete')}</h5>
|
||||
|
||||
<p>{ translate('::DeleteConfirmation')}</p>
|
||||
<p>{translate('::DeleteConfirmation')}</p>
|
||||
|
||||
<div className="text-right mt-6">
|
||||
<Button
|
||||
|
|
@ -878,7 +888,7 @@ const OrganizationUnits = () => {
|
|||
setDeleteRow(null)
|
||||
}}
|
||||
>
|
||||
{ translate('::Cancel')}
|
||||
{translate('::Cancel')}
|
||||
</Button>
|
||||
<Button
|
||||
variant="solid"
|
||||
|
|
@ -933,7 +943,7 @@ const OrganizationUnits = () => {
|
|||
}
|
||||
}}
|
||||
>
|
||||
{ translate('::Delete')}
|
||||
{translate('::Delete')}
|
||||
</Button>
|
||||
</div>
|
||||
</Dialog>
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@ import { FormContainer } from '@/components/ui/Form'
|
|||
import Notification from '@/components/ui/Notification'
|
||||
import toast from '@/components/ui/toast'
|
||||
import { AVATAR_URL } from '@/constants/app.constant'
|
||||
import { ProfileDto, UpdateProfileDto } from '@/proxy/account'
|
||||
import { getProfile, updateProfile } from '@/proxy/account/account.service'
|
||||
import { useStoreActions, useStoreState } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import dayjs from 'dayjs'
|
||||
|
|
@ -27,6 +25,8 @@ import * as Yup from 'yup'
|
|||
import isEmpty from 'lodash/isEmpty'
|
||||
import FormRow from '@/views/shared/FormRow'
|
||||
import FormDesription from '@/views/shared/FormDesription'
|
||||
import { ProfileDto, UpdateProfileDto } from '@/proxy/account/models'
|
||||
import { getProfile, updateProfile } from '@/services/account.service'
|
||||
|
||||
const schema = Yup.object().shape({
|
||||
name: Yup.string().min(3).max(50).required(),
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import {
|
|||
getMyNotificationRules,
|
||||
getMyNotificationTypes,
|
||||
postMyNotificationRule,
|
||||
} from '@/proxy/notification/notification-rule.service'
|
||||
} from '@/services/notification-rule.service'
|
||||
import classNames from 'classnames'
|
||||
import isEmpty from 'lodash/isEmpty'
|
||||
import { useEffect, useState } from 'react'
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { FormContainer } from '@/components/ui/Form'
|
|||
import Input from '@/components/ui/Input'
|
||||
import Notification from '@/components/ui/Notification'
|
||||
import toast from '@/components/ui/toast'
|
||||
import { changePassword } from '@/proxy/account/account.service'
|
||||
import { changePassword } from '@/services/account.service'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import FormDesription from '@/views/shared/FormDesription'
|
||||
import FormRow from '@/views/shared/FormRow'
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
import AdaptableCard from '@/components/shared/AdaptableCard'
|
||||
import Container from '@/components/shared/Container'
|
||||
import { Button, Table, toast } from '@/components/ui'
|
||||
import { IdentityRoleDto } from '@/proxy/admin'
|
||||
import { getRoles } from '@/proxy/admin/identity.service'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import useThemeClass from '@/utils/hooks/useThemeClass'
|
||||
import isEmpty from 'lodash/isEmpty'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { Helmet } from 'react-helmet'
|
||||
import RolesPermission from './RolesPermission'
|
||||
import { IdentityRoleDto } from '@/proxy/admin/models'
|
||||
import { getRoles } from '@/services/identity.service'
|
||||
|
||||
const { Tr, Th, Td, THead, TBody } = Table
|
||||
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ import {
|
|||
PermissionWithGroupName,
|
||||
PermissionWithStyle,
|
||||
UpdatePermissionDto,
|
||||
} from '@/proxy/admin'
|
||||
import { getPermissions, updatePermissions } from '@/proxy/admin/identity.service'
|
||||
} from '@/proxy/admin/models'
|
||||
import { getPermissions, updatePermissions } from '@/services/identity.service'
|
||||
import { useStoreActions, useStoreState } from '@/store'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { ChangeEvent, useEffect, useMemo, useState } from 'react'
|
||||
|
|
@ -51,7 +51,7 @@ function RolesPermission({
|
|||
}
|
||||
|
||||
const changeGroup = (groupName?: string) => {
|
||||
const group = permissionList?.groups.find((a) => a.name === groupName)
|
||||
const group = permissionList?.groups.find((a: any) => a.name === groupName)
|
||||
|
||||
if (!group) {
|
||||
setSelectedGroup(undefined)
|
||||
|
|
@ -62,7 +62,7 @@ function RolesPermission({
|
|||
setSelectedGroup(group)
|
||||
|
||||
const selectedGroupPerm = group.permissions.map(
|
||||
(permission) =>
|
||||
(permission: any) =>
|
||||
({
|
||||
...permission,
|
||||
class: className + findMargin(group.permissions, permission) * 4,
|
||||
|
|
@ -99,7 +99,6 @@ function RolesPermission({
|
|||
setIsLoading(false)
|
||||
}, 1000)
|
||||
|
||||
|
||||
setTimeout(async () => {
|
||||
getConfig(true)
|
||||
}, 2000)
|
||||
|
|
@ -109,7 +108,7 @@ function RolesPermission({
|
|||
return groups.reduce(
|
||||
(acc, val) => [
|
||||
...acc,
|
||||
...val.permissions.map<PermissionWithGroupName>((p) => ({
|
||||
...val.permissions.map<PermissionWithGroupName>((p: any) => ({
|
||||
...p,
|
||||
groupName: val.name || '',
|
||||
})),
|
||||
|
|
@ -133,8 +132,8 @@ function RolesPermission({
|
|||
|
||||
const isAllSelected = useMemo(
|
||||
() =>
|
||||
permissionList?.groups.every((group) =>
|
||||
group.permissions.every((permission) => permission.isGranted),
|
||||
permissionList?.groups.every((group: any) =>
|
||||
group.permissions.every((permission: any) => permission.isGranted),
|
||||
),
|
||||
[permissionList],
|
||||
)
|
||||
|
|
@ -155,13 +154,13 @@ function RolesPermission({
|
|||
|
||||
if (e.target.name === 'group') {
|
||||
permissionList?.groups
|
||||
.find((group) => group.name === selectedGroup?.name)
|
||||
?.permissions.forEach((permission) => {
|
||||
.find((group: any) => group.name === selectedGroup?.name)
|
||||
?.permissions.forEach((permission: any) => {
|
||||
permission.isGranted = value
|
||||
})
|
||||
} else {
|
||||
permissionList?.groups.forEach((group) => {
|
||||
group.permissions.forEach((permission) => {
|
||||
permissionList?.groups.forEach((group: any) => {
|
||||
group.permissions.forEach((permission: any) => {
|
||||
permission.isGranted = value
|
||||
})
|
||||
})
|
||||
|
|
@ -188,7 +187,7 @@ function RolesPermission({
|
|||
return per
|
||||
})
|
||||
|
||||
const permGroup = permissionList?.groups.find((a) => a.name === selectedGroup?.name)
|
||||
const permGroup = permissionList?.groups.find((a: any) => a.name === selectedGroup?.name)
|
||||
if (permGroup) {
|
||||
permGroup.permissions = groupPerm
|
||||
}
|
||||
|
|
@ -221,7 +220,7 @@ function RolesPermission({
|
|||
</Checkbox>
|
||||
<hr className="mt-2 mb-2"></hr>
|
||||
<Menu variant={mode} defaultActiveKeys={[selectedGroup?.displayName ?? '']}>
|
||||
{permissionList?.groups.map((group) => (
|
||||
{permissionList?.groups.map((group: any) => (
|
||||
<Menu.MenuItem
|
||||
key={group.name}
|
||||
className="break-all whitespace-normal"
|
||||
|
|
@ -229,7 +228,7 @@ function RolesPermission({
|
|||
onSelect={changeGroup}
|
||||
>
|
||||
{translate('::' + group.displayName)} (
|
||||
{group.permissions.filter((a) => a.isGranted).length})
|
||||
{group.permissions.filter((a: any) => a.isGranted).length})
|
||||
</Menu.MenuItem>
|
||||
))}
|
||||
</Menu>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ import { Loading } from '@/components/shared'
|
|||
import AdaptableCard from '@/components/shared/AdaptableCard'
|
||||
import Container from '@/components/shared/Container'
|
||||
import { Table } from '@/components/ui'
|
||||
import { getTenants } from '@/proxy/admin/tenant/tenant.service'
|
||||
import { TenantDto } from '@/proxy/config/models'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import useThemeClass from '@/utils/hooks/useThemeClass'
|
||||
|
|
@ -10,6 +9,7 @@ import isEmpty from 'lodash/isEmpty'
|
|||
import { useEffect, useState } from 'react'
|
||||
import { Helmet } from 'react-helmet'
|
||||
import TenantsConnectionString from './TenantsConnectionString'
|
||||
import { getTenants } from '@/services/tenant.service'
|
||||
|
||||
const { Tr, Th, Td, THead, TBody } = Table
|
||||
|
||||
|
|
|
|||
|
|
@ -17,13 +17,13 @@ import {
|
|||
getTenantDefaultConnectionString,
|
||||
postSeedTenantData,
|
||||
putTenantDefaultConnectionString,
|
||||
} from '@/proxy/admin/tenant/tenant.service'
|
||||
import { DataSourceTypeEnum } from '@/proxy/form'
|
||||
} from '@/services/tenant.service'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import { Field, FieldProps, Form, Formik, FormikHelpers } from 'formik'
|
||||
import { Suspense, useEffect, useRef, useState } from 'react'
|
||||
import * as Yup from 'yup'
|
||||
import { dataSourceTypeOptions } from '../listForm/edit/options'
|
||||
import { DataSourceTypeEnum } from '@/proxy/form/models'
|
||||
|
||||
export interface ConnectionStringDto {
|
||||
id: string
|
||||
|
|
@ -268,7 +268,7 @@ function TenantConnectionString({
|
|||
isClearable={true}
|
||||
options={dataSourceTypeOptions}
|
||||
value={dataSourceTypeOptions?.filter(
|
||||
(option) => option.value === values.dataSourceType,
|
||||
(option: any) => option.value === values.dataSourceType,
|
||||
)}
|
||||
onChange={(option) => {
|
||||
form.setFieldValue(field.name, option?.value)
|
||||
|
|
|
|||
|
|
@ -21,14 +21,13 @@ import Tr from '@/components/ui/Table/Tr'
|
|||
import TabContent from '@/components/ui/Tabs/TabContent'
|
||||
import TabList from '@/components/ui/Tabs/TabList'
|
||||
import TabNav from '@/components/ui/Tabs/TabNav'
|
||||
import { AssignedClaimViewModel, UserInfoViewModel } from '@/proxy/admin'
|
||||
import {
|
||||
deleteClaimUser,
|
||||
getUserDetail,
|
||||
postClaimUser,
|
||||
putUserDetail,
|
||||
putUserLookout,
|
||||
} from '@/proxy/admin/identity.service'
|
||||
} from '@/services/identity.service'
|
||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||
import dayjs from 'dayjs'
|
||||
import { Field, FieldArray, FieldProps, Form, Formik, FormikHelpers } from 'formik'
|
||||
|
|
@ -40,6 +39,7 @@ import { useParams } from 'react-router-dom'
|
|||
import * as Yup from 'yup'
|
||||
import { SelectBoxOption } from '@/shared/types'
|
||||
import { ConfirmDialog } from '@/components/shared'
|
||||
import { AssignedClaimViewModel, UserInfoViewModel } from '@/proxy/admin/models'
|
||||
|
||||
export interface ClaimTypeDto {
|
||||
claimType: string
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue