Services düzenlemesi ve vite.config sub domains

This commit is contained in:
Sedat ÖZTÜRK 2025-08-12 11:39:06 +03:00
parent cb8c224a54
commit 00eb20d55f
130 changed files with 599 additions and 587 deletions

View file

@ -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"), {

View file

@ -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'

View file

@ -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'

View file

@ -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'

View file

@ -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'

View file

@ -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 {

View file

@ -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'

View file

@ -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'

View file

@ -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,

View file

@ -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'

View file

@ -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

View file

@ -1 +0,0 @@
export * from './models';

View file

@ -1,5 +1,5 @@
import { SignInResponse } from '@/@types/auth'
import { ExtensibleObject } from '..'
import { SignInResponse } from '../../@types/auth'
export interface ProfileDto extends ExtensibleObject {
email: string

View file

@ -1 +0,0 @@
export * from './models'

View file

@ -1,4 +1,4 @@
import { PagedAndSortedResultRequestDto } from '@/proxy/abp'
import { PagedAndSortedResultRequestDto } from '../../abp'
export interface ListFormCustomizationRequestDto extends PagedAndSortedResultRequestDto {
listFormCode: string

View file

@ -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

View file

@ -4,7 +4,7 @@ import {
FieldsDefaultValueDto,
SelectCommandTypeEnum,
SubFormDto,
} from '@/proxy/form'
} from '../../form/models'
export interface ListFormWizardDto {
listFormCode: string

View file

@ -1,4 +1,4 @@
import { ExtensibleObject } from '@/proxy/abp'
import { ExtensibleObject } from '../../abp'
import { ExtensibleFullAuditedEntityDto, IdentityRoleDto } from '../models'
export interface OrganizationUnitDto extends ExtensibleFullAuditedEntityDto<string> {

View file

@ -1,2 +0,0 @@
export * from './ai.service'
export * from './models'

View file

@ -1,4 +1,4 @@
import { FullAuditedEntityDto } from '@/proxy/abp'
import { FullAuditedEntityDto } from '../abp'
export interface AiDto extends FullAuditedEntityDto<string> {
botName: string

View file

@ -1 +0,0 @@
export * from './models'

View file

@ -11,3 +11,11 @@ export interface DashboardWidgetsDto {
valuePrefix: string
date: Date
}
export interface WidgetsData {
label: string
datavalue: number
datagrowShrink: number
valuePrefix: string
date: Date
}

View file

@ -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}`,
})
}

View file

@ -1 +0,0 @@
export * from './models'

View file

@ -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 {

View file

@ -1,2 +0,0 @@
export * from './global-search.service'
export * from './models'

View file

@ -1,4 +1,4 @@
import { GridOptionsDto } from '../form'
import { GridOptionsDto } from '../form/models'
export interface ListFormImportDto {
id: string

View file

@ -1 +0,0 @@
export * from './models'

View file

@ -1 +0,0 @@
export * from './models';

View file

@ -1 +0,0 @@
export * from './models'

View file

@ -1,2 +0,0 @@
export * from './models';
export * from './setting-ui.service';

View file

@ -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 {

View file

@ -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>({

View file

@ -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>({

View file

@ -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>>({

View file

@ -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>>({

View file

@ -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({

View file

@ -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'

View file

@ -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,

View file

@ -1,5 +1,5 @@
import apiService from '@/services/api.service'
import { AxiosError } from 'axios'
import apiService from './api.service'
export const generateBackgroundWorkers = async () => {
try {

View file

@ -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>({

View file

@ -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 {

View file

@ -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>({

View file

@ -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>>({

View file

@ -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,

View file

@ -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[]>({

View file

@ -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,10 +36,7 @@ export const updateSent = (notificationId: string, isSent: boolean) =>
params: { isSent },
})
export const postMyNotificationByNotificationRuleId = (data: {
id: string
message: string
}) =>
export const postMyNotificationByNotificationRuleId = (data: { id: string; message: string }) =>
apiService.fetchData({
method: 'POST',
url: `/api/app/notification/notification-by-notification-rule-id`,

View file

@ -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>>({

View file

@ -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]

View file

@ -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[]>({

View file

@ -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>>({

View 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 []
}
}

View file

@ -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,

View file

@ -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

View file

@ -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>>

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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('')

View file

@ -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'

View file

@ -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'

View file

@ -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,

View file

@ -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>

View file

@ -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)}
/>

View file

@ -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)}
/>

View file

@ -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: (

View file

@ -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)

View file

@ -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)}
/>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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({})

View file

@ -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(),

View file

@ -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)}
/>

View file

@ -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)}
/>

View file

@ -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)}
/>

View file

@ -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)}
/>

View file

@ -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)}
/>

View file

@ -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)}
/>

View file

@ -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,
})),

View file

@ -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)}
/>

View file

@ -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)}
/>

View file

@ -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)}
/>

View file

@ -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)}
/>

View file

@ -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)}
/>

View file

@ -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,

View file

@ -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

View file

@ -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' },

View file

@ -7,7 +7,7 @@ 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'
@ -75,11 +75,7 @@ function CreateNotification({
return (
<Dialog isOpen={open} onClose={onDialogClose} onRequestClose={onDialogClose}>
<h5 className="mb-4">{id}</h5>
<Formik
initialValues={ { id, message:''}}
validationSchema={scheme}
onSubmit={handleSubmit}
>
<Formik initialValues={{ id, message: '' }} validationSchema={scheme} onSubmit={handleSubmit}>
{({ touched, errors, values, isSubmitting }) => {
return (
<Form>

View file

@ -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,10 +424,16 @@ 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
@ -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>

View file

@ -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(),

View file

@ -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'

View file

@ -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'

View file

@ -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

View file

@ -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>

View file

@ -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

View file

@ -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)

View file

@ -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