2026-09-02 08:32:53 +00:00
|
|
|
|
import { ColumnFormatEditDto } from '@/proxy/admin/list-form-field/models'
|
2026-05-27 19:09:05 +00:00
|
|
|
|
import {
|
2026-07-28 18:36:37 +00:00
|
|
|
|
GanttOptionDto,
|
2026-09-02 08:32:53 +00:00
|
|
|
|
GridOptionsEditDto,
|
2026-07-28 18:36:37 +00:00
|
|
|
|
SchedulerOptionDto,
|
2026-05-27 19:09:05 +00:00
|
|
|
|
SubFormDto,
|
2026-07-28 18:36:37 +00:00
|
|
|
|
TodoOptionDto,
|
|
|
|
|
|
TreeOptionDto,
|
2026-05-27 19:09:05 +00:00
|
|
|
|
WidgetEditDto,
|
2026-07-28 18:36:37 +00:00
|
|
|
|
WorkflowDto,
|
2026-07-16 14:01:18 +00:00
|
|
|
|
SelectCommandTypeEnum,
|
2026-05-27 19:09:05 +00:00
|
|
|
|
} from '@/proxy/form/models'
|
|
|
|
|
|
import { ListViewLayoutType } from '@/views/admin/listForm/edit/types'
|
2026-05-03 09:52:22 +00:00
|
|
|
|
|
|
|
|
|
|
export interface ListFormWizardColumnItemDto {
|
2026-07-17 20:23:43 +00:00
|
|
|
|
fieldName: string
|
2026-05-03 09:52:22 +00:00
|
|
|
|
editorType: string
|
|
|
|
|
|
editorOptions: string
|
|
|
|
|
|
editorScript: string
|
|
|
|
|
|
colSpan: number
|
|
|
|
|
|
isRequired: boolean
|
2026-06-06 19:52:56 +00:00
|
|
|
|
includeInEditingForm: boolean
|
2026-05-03 09:52:22 +00:00
|
|
|
|
dbSourceType: number
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export interface ListFormWizardColumnGroupDto {
|
|
|
|
|
|
caption: string
|
|
|
|
|
|
colCount: number
|
|
|
|
|
|
items: ListFormWizardColumnItemDto[]
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-08-18 08:00:53 +00:00
|
|
|
|
/** Wizard'ın yol ayrımı; backend `WizardComponentKindEnum` ile birebir eşleşir. */
|
|
|
|
|
|
export enum WizardComponentKindEnum {
|
|
|
|
|
|
List = 0,
|
|
|
|
|
|
Custom = 1,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-05-03 09:52:22 +00:00
|
|
|
|
export interface ListFormWizardDto {
|
2026-08-18 08:00:53 +00:00
|
|
|
|
componentKind: WizardComponentKindEnum
|
|
|
|
|
|
|
2026-08-18 19:36:51 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Düzenleme modunda, yerine geçilecek seed dosyasının adı. Doluysa sunucu önce bu dosyayı
|
|
|
|
|
|
* ve ürettiği kayıtları siler, sonra yenisini üretir; istek güncelleme yetkisiyle çalışır.
|
|
|
|
|
|
*/
|
|
|
|
|
|
editFileName?: string
|
|
|
|
|
|
|
2026-05-03 09:52:22 +00:00
|
|
|
|
wizardName: string
|
2026-09-02 08:32:53 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Wizard'ın ilk deploy edildiği an. Dosya adı tarih taşımadığı için seeder dosyaları bu
|
|
|
|
|
|
* damgaya göre sıralar; sunucu üretir, istemci göndermez.
|
|
|
|
|
|
*/
|
|
|
|
|
|
seededAt?: string
|
2026-05-03 09:52:22 +00:00
|
|
|
|
listFormCode: string
|
|
|
|
|
|
menuCode: string
|
2026-07-29 06:11:09 +00:00
|
|
|
|
menuOrder: number
|
2026-08-18 08:00:53 +00:00
|
|
|
|
|
2026-08-24 12:00:31 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Wizard menüye eklensin mi. False ise menü kaydı hiç üretilmez; ListForm, permission ve
|
|
|
|
|
|
* dil anahtarları yine üretilir (SubGrid gibi başka bir ekranın parçası olarak kullanılır).
|
|
|
|
|
|
*/
|
|
|
|
|
|
createMenu: boolean
|
|
|
|
|
|
|
2026-08-18 08:00:53 +00:00
|
|
|
|
customComponentName: string
|
|
|
|
|
|
/** Menünün açtığı adres; Custom yolunda seçilen bileşenin rota yolu. */
|
|
|
|
|
|
menuUrl: string
|
2026-05-03 09:52:22 +00:00
|
|
|
|
isTenant: boolean
|
|
|
|
|
|
isBranch: boolean
|
|
|
|
|
|
isOrganizationUnit: boolean
|
|
|
|
|
|
allowAdding: boolean
|
|
|
|
|
|
allowUpdating: boolean
|
|
|
|
|
|
allowDeleting: boolean
|
|
|
|
|
|
confirmDelete: boolean
|
|
|
|
|
|
allowDetail: boolean
|
|
|
|
|
|
|
|
|
|
|
|
defaultLayout: ListViewLayoutType
|
|
|
|
|
|
grid: boolean
|
2026-07-16 08:19:17 +00:00
|
|
|
|
card: boolean
|
2026-05-03 09:52:22 +00:00
|
|
|
|
pivot: boolean
|
|
|
|
|
|
tree: boolean
|
|
|
|
|
|
chart: boolean
|
|
|
|
|
|
gantt: boolean
|
|
|
|
|
|
scheduler: boolean
|
2026-07-16 14:01:18 +00:00
|
|
|
|
todo: boolean
|
2026-05-03 09:52:22 +00:00
|
|
|
|
|
|
|
|
|
|
languageTextMenuEn: string
|
|
|
|
|
|
languageTextMenuTr: string
|
|
|
|
|
|
languageTextTitleEn: string
|
|
|
|
|
|
languageTextTitleTr: string
|
|
|
|
|
|
languageTextDescEn: string
|
|
|
|
|
|
languageTextDescTr: string
|
|
|
|
|
|
languageTextMenuParentEn: string
|
|
|
|
|
|
languageTextMenuParentTr: string
|
|
|
|
|
|
permissionGroupName: string
|
2026-08-26 06:40:18 +00:00
|
|
|
|
/** Izin grubunun Ingilizce gorunen adi; grup adiyla ayni olan dil anahtarina yazilir. */
|
|
|
|
|
|
permissionGroupDisplayNameEn: string
|
|
|
|
|
|
/** Izin grubunun Turkce gorunen adi. */
|
|
|
|
|
|
permissionGroupDisplayNameTr: string
|
2026-05-03 09:52:22 +00:00
|
|
|
|
menuParentCode: string
|
2026-08-31 14:17:50 +00:00
|
|
|
|
menuParentModuleId?: string
|
2026-06-06 15:22:14 +00:00
|
|
|
|
menuParentIcon?: string
|
2026-05-03 09:52:22 +00:00
|
|
|
|
menuIcon: string
|
|
|
|
|
|
dataSourceCode: string
|
|
|
|
|
|
dataSourceConnectionString: string
|
|
|
|
|
|
selectCommandType: SelectCommandTypeEnum
|
|
|
|
|
|
selectCommand: string
|
|
|
|
|
|
keyFieldName: string
|
|
|
|
|
|
keyFieldDbSourceType: number
|
2026-05-03 11:35:52 +00:00
|
|
|
|
|
2026-07-28 18:36:37 +00:00
|
|
|
|
treeOptionDto: TreeOptionDto
|
|
|
|
|
|
ganttOptionDto: GanttOptionDto
|
|
|
|
|
|
schedulerOptionDto: SchedulerOptionDto
|
|
|
|
|
|
todoOptionDto: TodoOptionDto
|
|
|
|
|
|
workflowDto: WorkflowDto
|
2026-07-16 14:01:18 +00:00
|
|
|
|
|
2026-05-03 09:52:22 +00:00
|
|
|
|
groups?: ListFormWizardColumnGroupDto[]
|
2026-05-27 19:09:05 +00:00
|
|
|
|
subForms?: SubFormDto[]
|
|
|
|
|
|
widgets?: WidgetEditDto[]
|
2026-05-03 09:52:22 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-08-26 06:40:18 +00:00
|
|
|
|
/** Izin grubu secim listesi ogesi; gorunen adlar grup adiyla ayni olan dil anahtarindan gelir. */
|
|
|
|
|
|
export interface WizardPermissionGroupDto {
|
|
|
|
|
|
name: string
|
|
|
|
|
|
displayNameEn: string
|
|
|
|
|
|
displayNameTr: string
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-05-03 09:52:22 +00:00
|
|
|
|
export interface WizardFileInfoDto {
|
|
|
|
|
|
fileName: string
|
|
|
|
|
|
wizardName: string
|
|
|
|
|
|
listFormCode: string
|
2026-05-03 12:24:46 +00:00
|
|
|
|
defaultLayout: string
|
|
|
|
|
|
menuIcon: string
|
2026-05-03 09:52:22 +00:00
|
|
|
|
createdAt: string
|
|
|
|
|
|
hasInsertedRecords: boolean
|
2026-08-18 08:00:53 +00:00
|
|
|
|
componentKind: WizardComponentKindEnum
|
|
|
|
|
|
customComponentName: string
|
|
|
|
|
|
menuUrl: string
|
2026-05-03 09:52:22 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export interface WizardInsertedRecordsDto {
|
|
|
|
|
|
languageKeys: string[]
|
|
|
|
|
|
permissionGroupNames: string[]
|
|
|
|
|
|
permissionNames: string[]
|
|
|
|
|
|
menuCodes: string[]
|
|
|
|
|
|
dataSourceCodes: string[]
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export interface WizardSeedFileItemDto {
|
2026-07-17 20:23:43 +00:00
|
|
|
|
fieldName: string
|
2026-05-03 09:52:22 +00:00
|
|
|
|
editorType: string
|
|
|
|
|
|
editorOptions: string
|
|
|
|
|
|
editorScript: string
|
|
|
|
|
|
colSpan: number
|
|
|
|
|
|
isRequired: boolean
|
2026-06-06 19:52:56 +00:00
|
|
|
|
includeInEditingForm?: boolean
|
2026-05-03 09:52:22 +00:00
|
|
|
|
dbSourceType: number
|
|
|
|
|
|
turkishCaption?: string
|
|
|
|
|
|
englishCaption?: string
|
|
|
|
|
|
captionName?: string
|
|
|
|
|
|
lookupDataSourceType?: number
|
|
|
|
|
|
valueExpr?: string
|
|
|
|
|
|
displayExpr?: string
|
|
|
|
|
|
lookupQuery?: string
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export interface WizardSeedFileGroupDto {
|
|
|
|
|
|
caption: string
|
|
|
|
|
|
colCount: number
|
|
|
|
|
|
items: WizardSeedFileItemDto[]
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export interface WizardSeedFileWizardDto extends Omit<ListFormWizardDto, 'groups'> {
|
|
|
|
|
|
groups?: WizardSeedFileGroupDto[]
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export interface WizardSeedFileDto {
|
|
|
|
|
|
wizard: WizardSeedFileWizardDto
|
2026-09-02 08:32:53 +00:00
|
|
|
|
/** Wizard'ın ürettiği ekranın ListForm sözleşmesi; tasarımcıdaki değişiklikler buraya yazılır. */
|
|
|
|
|
|
listForm?: GridOptionsEditDto
|
|
|
|
|
|
/** Ekranın alanları; ListForm detayındaki alan tanımlarıyla aynı sözleşme. */
|
|
|
|
|
|
fields?: ColumnFormatEditDto[]
|
2026-05-03 09:52:22 +00:00
|
|
|
|
isDeletedField: boolean
|
|
|
|
|
|
isCreatedField: boolean
|
|
|
|
|
|
insertedRecords: WizardInsertedRecordsDto
|
2026-05-27 19:09:05 +00:00
|
|
|
|
}
|
2026-08-18 19:36:51 +00:00
|
|
|
|
|
|
|
|
|
|
/** Import edilen dosyanin hedefteki karsiligiyla karsilastirma sonucu; backend enum'u ile birebir. */
|
|
|
|
|
|
export enum WizardImportEntryStatusEnum {
|
|
|
|
|
|
New = 0,
|
|
|
|
|
|
Identical = 1,
|
|
|
|
|
|
Conflict = 2,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export interface WizardImportEntryDto {
|
|
|
|
|
|
/** Kapsam klasorune goreli yol, ornegin `custom/Orders.json`. */
|
|
|
|
|
|
path: string
|
|
|
|
|
|
folder: string
|
|
|
|
|
|
fileName: string
|
|
|
|
|
|
status: WizardImportEntryStatusEnum
|
|
|
|
|
|
incomingSize: number
|
|
|
|
|
|
existingSize: number
|
|
|
|
|
|
/** Yalnizca Conflict durumunda doludur. */
|
|
|
|
|
|
incomingContent?: string
|
|
|
|
|
|
/** Yalnizca Conflict durumunda doludur. */
|
|
|
|
|
|
existingContent?: string
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export interface WizardImportAnalysisDto {
|
|
|
|
|
|
importId: string
|
|
|
|
|
|
/** Dosyalarin yazilacagi kapsam klasoru (`host` ya da `tenants/{tenantId}`). */
|
|
|
|
|
|
scopeFolder: string
|
|
|
|
|
|
entries: WizardImportEntryDto[]
|
|
|
|
|
|
warnings: string[]
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export interface WizardImportApplyResultDto {
|
|
|
|
|
|
path: string
|
|
|
|
|
|
overwritten: boolean
|
|
|
|
|
|
size: number
|
|
|
|
|
|
}
|