@bimatrix-aud-platform/aud_mcp_server 1.1.46 → 1.1.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -555,6 +555,33 @@ export declare function chartDefaults(): {
|
|
|
555
555
|
};
|
|
556
556
|
SeriesSet: any[];
|
|
557
557
|
};
|
|
558
|
+
export declare function treeDefaults(): {
|
|
559
|
+
AutoRefresh: boolean;
|
|
560
|
+
DoRefresh: boolean;
|
|
561
|
+
ShowCheckBox: boolean;
|
|
562
|
+
DataSourceInfo: {
|
|
563
|
+
LabelField: string;
|
|
564
|
+
ValueField: string;
|
|
565
|
+
HasChildField: string;
|
|
566
|
+
ImageField: string;
|
|
567
|
+
OnImageField: string;
|
|
568
|
+
KeyField: string;
|
|
569
|
+
ParentKeyField: string;
|
|
570
|
+
ToolTipField: string;
|
|
571
|
+
};
|
|
572
|
+
HoverBackgroundColor: {
|
|
573
|
+
R: number;
|
|
574
|
+
G: number;
|
|
575
|
+
B: number;
|
|
576
|
+
A: number;
|
|
577
|
+
};
|
|
578
|
+
HoverFontColor: {
|
|
579
|
+
R: number;
|
|
580
|
+
G: number;
|
|
581
|
+
B: number;
|
|
582
|
+
A: number;
|
|
583
|
+
};
|
|
584
|
+
};
|
|
558
585
|
export declare function emptyDefaults(): Record<string, any>;
|
|
559
586
|
export declare function groupDefaults(): {
|
|
560
587
|
ChildElements: any[];
|
|
@@ -580,6 +607,6 @@ export declare function userComponentDefaults(): {
|
|
|
580
607
|
export declare function webContainerDefaults(): {
|
|
581
608
|
AutoRefresh: boolean;
|
|
582
609
|
DoRefresh: boolean;
|
|
583
|
-
|
|
610
|
+
DataSource: string;
|
|
584
611
|
};
|
|
585
612
|
export declare const ELEMENT_DEFAULTS_MAP: Record<string, () => Record<string, any>>;
|
|
@@ -440,6 +440,25 @@ export function chartDefaults() {
|
|
|
440
440
|
};
|
|
441
441
|
}
|
|
442
442
|
// -- 트리 컨트롤 --
|
|
443
|
+
export function treeDefaults() {
|
|
444
|
+
return {
|
|
445
|
+
AutoRefresh: false,
|
|
446
|
+
DoRefresh: true,
|
|
447
|
+
ShowCheckBox: false,
|
|
448
|
+
DataSourceInfo: {
|
|
449
|
+
LabelField: "",
|
|
450
|
+
ValueField: "",
|
|
451
|
+
HasChildField: "",
|
|
452
|
+
ImageField: "",
|
|
453
|
+
OnImageField: "",
|
|
454
|
+
KeyField: "",
|
|
455
|
+
ParentKeyField: "",
|
|
456
|
+
ToolTipField: "",
|
|
457
|
+
},
|
|
458
|
+
HoverBackgroundColor: { R: 220, G: 235, B: 252, A: 255 },
|
|
459
|
+
HoverFontColor: { R: 0, G: 0, B: 0, A: 255 },
|
|
460
|
+
};
|
|
461
|
+
}
|
|
443
462
|
export function emptyDefaults() {
|
|
444
463
|
return {};
|
|
445
464
|
}
|
|
@@ -473,9 +492,9 @@ export function userComponentDefaults() {
|
|
|
473
492
|
}
|
|
474
493
|
export function webContainerDefaults() {
|
|
475
494
|
return {
|
|
476
|
-
AutoRefresh:
|
|
495
|
+
AutoRefresh: false,
|
|
477
496
|
DoRefresh: true,
|
|
478
|
-
|
|
497
|
+
DataSource: "",
|
|
479
498
|
};
|
|
480
499
|
}
|
|
481
500
|
// Type → defaults 팩토리 매핑
|
|
@@ -498,6 +517,8 @@ export const ELEMENT_DEFAULTS_MAP = {
|
|
|
498
517
|
Calendar: calendarDefaults,
|
|
499
518
|
CalendarYear: calendarDefaults,
|
|
500
519
|
CalendarYM: calendarDefaults,
|
|
520
|
+
CalendarFromTo: calendarDefaults,
|
|
521
|
+
CalendarWeeklyFromTo: calendarDefaults,
|
|
501
522
|
// 이미지/색상/파일
|
|
502
523
|
Image: imageDefaults,
|
|
503
524
|
ColorSelector: colorSelectorDefaults,
|
|
@@ -514,7 +535,7 @@ export const ELEMENT_DEFAULTS_MAP = {
|
|
|
514
535
|
ScatterChart: chartDefaults,
|
|
515
536
|
PolygonChart: chartDefaults,
|
|
516
537
|
// 트리 컨트롤
|
|
517
|
-
Tree:
|
|
538
|
+
Tree: treeDefaults,
|
|
518
539
|
TreeView: emptyDefaults,
|
|
519
540
|
// 컨테이너/레이아웃
|
|
520
541
|
Group: groupDefaults,
|
package/dist/generators/fixer.js
CHANGED
|
@@ -398,15 +398,15 @@ function fixEnumAndRangeValues(doc, datas, fixes) {
|
|
|
398
398
|
walkElements(elements, (el, path) => {
|
|
399
399
|
// ---- AutoRefresh / DoRefresh / DoExport 필수 속성 보정 ----
|
|
400
400
|
const type = el.Type;
|
|
401
|
-
// AutoRefresh 대상: DataGrid, ComboBox, MultiComboBox, OlapGrid, Chart, PieChart, ScatterChart, PolygonChart, TreeGrid, iGrid, WebContainer
|
|
402
|
-
const hasAutoRefresh = ["DataGrid", "ComboBox", "MultiComboBox", "OlapGrid", "Chart", "PieChart", "ScatterChart", "PolygonChart", "TreeGrid", "iGrid", "WebContainer"];
|
|
401
|
+
// AutoRefresh 대상: DataGrid, ComboBox, MultiComboBox, OlapGrid, Chart, PieChart, ScatterChart, PolygonChart, TreeGrid, iGrid, WebContainer, Tree
|
|
402
|
+
const hasAutoRefresh = ["DataGrid", "ComboBox", "MultiComboBox", "OlapGrid", "Chart", "PieChart", "ScatterChart", "PolygonChart", "TreeGrid", "iGrid", "WebContainer", "Tree"];
|
|
403
403
|
if (hasAutoRefresh.includes(type) && !("AutoRefresh" in el)) {
|
|
404
404
|
const autoDefault = type === "ComboBox" ? true : false;
|
|
405
405
|
el.AutoRefresh = autoDefault;
|
|
406
406
|
fixes.push(`[Rule3] ${path}.AutoRefresh: 누락 → ${autoDefault}`);
|
|
407
407
|
}
|
|
408
|
-
// DoRefresh 대상: DataGrid, ComboBox, OlapGrid, Chart, PieChart, ScatterChart, PolygonChart, TreeGrid, iGrid, UserComponent, WebContainer
|
|
409
|
-
const hasDoRefresh = ["DataGrid", "ComboBox", "OlapGrid", "Chart", "PieChart", "ScatterChart", "PolygonChart", "TreeGrid", "iGrid", "UserComponent", "WebContainer"];
|
|
408
|
+
// DoRefresh 대상: DataGrid, ComboBox, OlapGrid, Chart, PieChart, ScatterChart, PolygonChart, TreeGrid, iGrid, UserComponent, WebContainer, Tree
|
|
409
|
+
const hasDoRefresh = ["DataGrid", "ComboBox", "OlapGrid", "Chart", "PieChart", "ScatterChart", "PolygonChart", "TreeGrid", "iGrid", "UserComponent", "WebContainer", "Tree"];
|
|
410
410
|
if (hasDoRefresh.includes(type) && !("DoRefresh" in el)) {
|
|
411
411
|
const isCombo = type === "ComboBox";
|
|
412
412
|
el.DoRefresh = isCombo ? false : true;
|
|
@@ -671,7 +671,7 @@ class ElementContainer {
|
|
|
671
671
|
Position: buildPosition({ width: 800, height: 400, ...opts }),
|
|
672
672
|
Style: buildStyle(opts),
|
|
673
673
|
...getTypeDefaults("WebContainer"),
|
|
674
|
-
...(opts.url !== undefined ? {
|
|
674
|
+
...(opts.url !== undefined ? { DataSource: opts.url } : {}),
|
|
675
675
|
};
|
|
676
676
|
this._applyPassThrough(element, opts);
|
|
677
677
|
this._addElement(element);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bimatrix-aud-platform/aud_mcp_server",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.48",
|
|
4
4
|
"description": "MCP Server for i-AUD MTSD document validation, generation, schema querying, control info extraction, and database operations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -460,7 +460,7 @@ export interface ILabelElement extends IBaseElement {
|
|
|
460
460
|
Type: 'Label';
|
|
461
461
|
/** 표시할 텍스트 내용 */
|
|
462
462
|
Text: string;
|
|
463
|
-
/** 마우스 커서 스타일 (
|
|
463
|
+
/** 마우스 커서 스타일 (enPropCursor: "default","crosshair","pointer","move","e-resize","ne-resize","nw-resize","n-resize","se-resize","sw-resize","s-resize","w-resize","help") */
|
|
464
464
|
Cursor: string;
|
|
465
465
|
/** 텍스트를 동적으로 계산할 수식 (FormulaManager에서 처리) */
|
|
466
466
|
Formula?: string;
|
|
@@ -488,7 +488,7 @@ export interface IButtonElement extends IBaseElement {
|
|
|
488
488
|
Type: 'Button';
|
|
489
489
|
/** 버튼에 표시될 텍스트 */
|
|
490
490
|
Value: string;
|
|
491
|
-
/** 마우스 커서 스타일 */
|
|
491
|
+
/** 마우스 커서 스타일 (enPropCursor: "default","crosshair","pointer","move","e-resize","ne-resize","nw-resize","n-resize","se-resize","sw-resize","s-resize","w-resize","help") */
|
|
492
492
|
Cursor: string;
|
|
493
493
|
/** 툴팁 사용 여부 */
|
|
494
494
|
UseTooltip?: boolean;
|
|
@@ -661,7 +661,7 @@ export interface IGridColumn {
|
|
|
661
661
|
UseExport?: boolean;
|
|
662
662
|
/** 컬럼 타입 (0:None, 1:Text, 2:CheckBox, 3:NumberBox, 4:ComboBox, 5:DateTime, 6:MaskEdit, 8:Image, 9:MultiLineText, 10:TrendLine, 11:SingleBarChart, 12:ColorPicker, 15:Time) */
|
|
663
663
|
ColumnType?: number;
|
|
664
|
-
/** 커서 타입 */
|
|
664
|
+
/** 커서 타입 (enPropCursor: "default","crosshair","pointer","move","e-resize","ne-resize","nw-resize","n-resize","se-resize","sw-resize","s-resize","w-resize","help") */
|
|
665
665
|
CursorType?: string;
|
|
666
666
|
/** 키 타입 (0:None, 1:NotNull, 2:Nullable, 3:Primary) */
|
|
667
667
|
KeyType: number;
|
|
@@ -782,7 +782,7 @@ export interface IGroupElement extends IBaseElement {
|
|
|
782
782
|
*/
|
|
783
783
|
export interface IImageElement extends IBaseElement {
|
|
784
784
|
Type: 'Image';
|
|
785
|
-
/** 마우스 커서 스타일 */
|
|
785
|
+
/** 마우스 커서 스타일 (enPropCursor: "default","crosshair","pointer","move","e-resize","ne-resize","nw-resize","n-resize","se-resize","sw-resize","s-resize","w-resize","help") */
|
|
786
786
|
Cursor?: string;
|
|
787
787
|
/** 기본 이미지 정보 */
|
|
788
788
|
Image: IImageInfo;
|
|
@@ -2448,6 +2448,57 @@ export interface IWorkFlowLink {
|
|
|
2448
2448
|
FromParam: string;
|
|
2449
2449
|
}
|
|
2450
2450
|
|
|
2451
|
+
// ============================================
|
|
2452
|
+
// Tree Element
|
|
2453
|
+
// ============================================
|
|
2454
|
+
|
|
2455
|
+
/**
|
|
2456
|
+
* 트리 데이터소스 필드 바인딩 정보
|
|
2457
|
+
*/
|
|
2458
|
+
export interface ITreeDataSourceInfo {
|
|
2459
|
+
/** 노드 라벨에 표시할 필드명 */
|
|
2460
|
+
LabelField: string;
|
|
2461
|
+
/** 노드 값 필드명 */
|
|
2462
|
+
ValueField: string;
|
|
2463
|
+
/** 자식 노드 존재 여부 필드명 ("Y"|"N") */
|
|
2464
|
+
HasChildField: string;
|
|
2465
|
+
/** 노드 이미지 필드명 */
|
|
2466
|
+
ImageField: string;
|
|
2467
|
+
/** 폴더 노드 선택 시 이미지 필드명 */
|
|
2468
|
+
OnImageField: string;
|
|
2469
|
+
/** 부모-자식 관계를 위한 키 필드명 */
|
|
2470
|
+
KeyField: string;
|
|
2471
|
+
/** 부모 키 필드명 */
|
|
2472
|
+
ParentKeyField: string;
|
|
2473
|
+
/** 노드 툴팁 필드명 */
|
|
2474
|
+
ToolTipField: string;
|
|
2475
|
+
}
|
|
2476
|
+
|
|
2477
|
+
/**
|
|
2478
|
+
* 트리 컨트롤 인터페이스
|
|
2479
|
+
* 계층 구조 데이터를 트리 형태로 표시하는 컨트롤입니다.
|
|
2480
|
+
* @see src/control/checkbox/Tree.ts
|
|
2481
|
+
*/
|
|
2482
|
+
export interface ITreeElement extends IBaseElement {
|
|
2483
|
+
Type: 'Tree';
|
|
2484
|
+
/** 데이터소스 ID */
|
|
2485
|
+
DataSource?: string;
|
|
2486
|
+
/** 자식 데이터소스 ID */
|
|
2487
|
+
DataSource_child?: string;
|
|
2488
|
+
/** 보고서 열기 시 자동 데이터 조회 여부 */
|
|
2489
|
+
AutoRefresh: boolean;
|
|
2490
|
+
/** 새로고침 포함 여부 */
|
|
2491
|
+
DoRefresh: boolean;
|
|
2492
|
+
/** 체크박스 표시 여부 */
|
|
2493
|
+
ShowCheckBox: boolean;
|
|
2494
|
+
/** 데이터소스 필드 바인딩 정보 */
|
|
2495
|
+
DataSourceInfo: ITreeDataSourceInfo;
|
|
2496
|
+
/** 마우스 오버/선택 시 배경색 */
|
|
2497
|
+
HoverBackgroundColor?: IColor;
|
|
2498
|
+
/** 마우스 오버/선택 시 폰트색 */
|
|
2499
|
+
HoverFontColor?: IColor;
|
|
2500
|
+
}
|
|
2501
|
+
|
|
2451
2502
|
// ============================================
|
|
2452
2503
|
// RadioButton Element
|
|
2453
2504
|
// ============================================
|
|
@@ -3096,7 +3147,7 @@ export interface ITabItemBaseProperties {
|
|
|
3096
3147
|
};
|
|
3097
3148
|
/** 표시 여부 : 기본값 true */
|
|
3098
3149
|
Visible: boolean;
|
|
3099
|
-
/** 커서 타입
|
|
3150
|
+
/** 커서 타입 (enPropCursor: "default","crosshair","pointer","move","e-resize","ne-resize","nw-resize","n-resize","se-resize","sw-resize","s-resize","w-resize","help") */
|
|
3100
3151
|
Cursor: string;
|
|
3101
3152
|
}
|
|
3102
3153
|
|
|
@@ -3265,7 +3316,7 @@ export interface IFileUploadButtonElement extends IBaseElement {
|
|
|
3265
3316
|
Type: 'FileUploadButton';
|
|
3266
3317
|
/** 버튼 텍스트, 기본값 : upload */
|
|
3267
3318
|
Value: string;
|
|
3268
|
-
/** 마우스 커서
|
|
3319
|
+
/** 마우스 커서 스타일, 기본값: "pointer" (enPropCursor: "default","crosshair","pointer","move","e-resize","ne-resize","nw-resize","n-resize","se-resize","sw-resize","s-resize","w-resize","help") */
|
|
3269
3320
|
Cursor: string;
|
|
3270
3321
|
/** 허용 파일 확장자 (예: ".xlsx,.csv") */
|
|
3271
3322
|
AllowExt?: string;
|
|
@@ -3306,8 +3357,8 @@ export interface IPickListElement extends IBaseElement {
|
|
|
3306
3357
|
*/
|
|
3307
3358
|
export interface IWebContainerElement extends IBaseElement {
|
|
3308
3359
|
Type: 'WebContainer';
|
|
3309
|
-
/** 대상 URL */
|
|
3310
|
-
|
|
3360
|
+
/** 대상 URL : 이름은 DataSource이나 실제로는 URL이 들어감 */
|
|
3361
|
+
DataSource?: string;
|
|
3311
3362
|
/** 보고서 로딩 시 자동 로딩 여부, 기본값: false */
|
|
3312
3363
|
AutoRefresh: boolean;
|
|
3313
3364
|
/** 수동 새로고침 버튼 표시 여부, 기본값: true */
|
|
@@ -3330,6 +3381,7 @@ export type IElement =
|
|
|
3330
3381
|
| IImageElement
|
|
3331
3382
|
| IRichTextBoxElement
|
|
3332
3383
|
| ICheckBoxElement
|
|
3384
|
+
| ITreeElement
|
|
3333
3385
|
| IComboBoxElement
|
|
3334
3386
|
| IMultiComboBoxElement
|
|
3335
3387
|
| ITextBoxElement
|
|
@@ -3404,6 +3456,13 @@ export function isCheckBoxElement(element: IElement): element is ICheckBoxElemen
|
|
|
3404
3456
|
return element.Type === 'CheckBox';
|
|
3405
3457
|
}
|
|
3406
3458
|
|
|
3459
|
+
/**
|
|
3460
|
+
* Tree 타입 가드
|
|
3461
|
+
*/
|
|
3462
|
+
export function isTreeElement(element: IElement): element is ITreeElement {
|
|
3463
|
+
return element.Type === 'Tree';
|
|
3464
|
+
}
|
|
3465
|
+
|
|
3407
3466
|
/**
|
|
3408
3467
|
* ComboBox 타입 가드
|
|
3409
3468
|
*/
|
package/schemas/mtsd.schema.json
CHANGED
|
@@ -235,6 +235,10 @@
|
|
|
235
235
|
"if": { "properties": { "Type": { "const": "CheckBox" } } },
|
|
236
236
|
"then": { "$ref": "#/$defs/CheckBoxElement" }
|
|
237
237
|
},
|
|
238
|
+
{
|
|
239
|
+
"if": { "properties": { "Type": { "const": "Tree" } } },
|
|
240
|
+
"then": { "$ref": "#/$defs/TreeElement" }
|
|
241
|
+
},
|
|
238
242
|
{
|
|
239
243
|
"if": { "properties": { "Type": { "const": "ComboBox" } } },
|
|
240
244
|
"then": { "$ref": "#/$defs/ComboBoxElement" }
|
|
@@ -348,7 +352,7 @@
|
|
|
348
352
|
"properties": {
|
|
349
353
|
"LanguageCode": { "type": "string", "description": "다국어 키 코드" },
|
|
350
354
|
"Text": { "type": "string", "description": "표시할 텍스트" },
|
|
351
|
-
"Cursor": { "type": "string", "description": "마우스 커서 스타일" },
|
|
355
|
+
"Cursor": { "type": "string", "enum": ["default","crosshair","pointer","move","e-resize","ne-resize","nw-resize","n-resize","se-resize","sw-resize","s-resize","w-resize","help"], "description": "마우스 커서 스타일 (enPropCursor)" },
|
|
352
356
|
"Formula": { "type": "string", "description": "동적 수식" },
|
|
353
357
|
"UseTextOverflow": { "type": "boolean", "description": "텍스트 오버플로우 처리" },
|
|
354
358
|
"UseAutoLineBreak": { "type": "boolean", "description": "자동 줄바꿈" },
|
|
@@ -368,7 +372,7 @@
|
|
|
368
372
|
"properties": {
|
|
369
373
|
"LanguageCode": { "type": "string", "description": "다국어 키 코드" },
|
|
370
374
|
"Value": { "type": "string", "description": "버튼 텍스트" },
|
|
371
|
-
"Cursor": { "type": "string", "description": "마우스 커서 스타일" },
|
|
375
|
+
"Cursor": { "type": "string", "enum": ["default","crosshair","pointer","move","e-resize","ne-resize","nw-resize","n-resize","se-resize","sw-resize","s-resize","w-resize","help"], "description": "마우스 커서 스타일 (enPropCursor)" },
|
|
372
376
|
"HasNewRadius": { "type": "boolean", "description": "새로운 모서리 반경 사용" },
|
|
373
377
|
"UseTooltip": { "type": "boolean", "description": "툴팁 사용 여부 (정의되어 있을 때만)" },
|
|
374
378
|
"MouseOver": { "$ref": "#/$defs/MouseState", "description": "마우스 오버 스타일 (null이 아닐 때만)" },
|
|
@@ -472,7 +476,7 @@
|
|
|
472
476
|
"description": "이미지 컨트롤",
|
|
473
477
|
"required": ["Image"],
|
|
474
478
|
"properties": {
|
|
475
|
-
"Cursor": { "type": "string", "description": "마우스 커서 스타일" },
|
|
479
|
+
"Cursor": { "type": "string", "enum": ["default","crosshair","pointer","move","e-resize","ne-resize","nw-resize","n-resize","se-resize","sw-resize","s-resize","w-resize","help"], "description": "마우스 커서 스타일 (enPropCursor)" },
|
|
476
480
|
"Image": { "$ref": "#/$defs/ImageInfo", "description": "기본 이미지 정보" },
|
|
477
481
|
"OnImage": { "$ref": "#/$defs/ImageInfo", "description": "마우스 오버 시 이미지" },
|
|
478
482
|
"ImageBase64Text": { "type": "string", "description": "Base64 인코딩 이미지" },
|
|
@@ -512,6 +516,35 @@
|
|
|
512
516
|
"BindingInfo": { "$ref": "#/$defs/BindingInfo", "description": "데이터 바인딩 정보 (GridID && GridColumnID 있을 때만)" }
|
|
513
517
|
}
|
|
514
518
|
},
|
|
519
|
+
"TreeElement": {
|
|
520
|
+
"type": "object",
|
|
521
|
+
"description": "트리 컨트롤 — 계층 구조 데이터를 트리 형태로 표시",
|
|
522
|
+
"required": ["AutoRefresh", "DoRefresh", "ShowCheckBox", "DataSourceInfo"],
|
|
523
|
+
"properties": {
|
|
524
|
+
"DataSource": { "type": "string", "description": "데이터소스 ID" },
|
|
525
|
+
"DataSource_child": { "type": "string", "description": "자식 데이터소스 ID" },
|
|
526
|
+
"AutoRefresh": { "type": "boolean", "description": "보고서 열기 시 자동 데이터 조회 여부" },
|
|
527
|
+
"DoRefresh": { "type": "boolean", "description": "새로고침 포함 여부" },
|
|
528
|
+
"ShowCheckBox": { "type": "boolean", "description": "체크박스 표시 여부" },
|
|
529
|
+
"DataSourceInfo": {
|
|
530
|
+
"type": "object",
|
|
531
|
+
"description": "데이터소스 필드 바인딩 정보",
|
|
532
|
+
"required": ["LabelField", "ValueField", "HasChildField", "ImageField", "OnImageField", "KeyField", "ParentKeyField", "ToolTipField"],
|
|
533
|
+
"properties": {
|
|
534
|
+
"LabelField": { "type": "string", "description": "노드 라벨 필드명" },
|
|
535
|
+
"ValueField": { "type": "string", "description": "노드 값 필드명" },
|
|
536
|
+
"HasChildField": { "type": "string", "description": "자식 노드 존재 여부 필드명 (Y|N)" },
|
|
537
|
+
"ImageField": { "type": "string", "description": "노드 이미지 필드명" },
|
|
538
|
+
"OnImageField": { "type": "string", "description": "폴더 노드 선택 시 이미지 필드명" },
|
|
539
|
+
"KeyField": { "type": "string", "description": "부모-자식 관계 키 필드명" },
|
|
540
|
+
"ParentKeyField": { "type": "string", "description": "부모 키 필드명" },
|
|
541
|
+
"ToolTipField": { "type": "string", "description": "노드 툴팁 필드명" }
|
|
542
|
+
}
|
|
543
|
+
},
|
|
544
|
+
"HoverBackgroundColor": { "$ref": "#/$defs/Color", "description": "마우스 오버/선택 시 배경색" },
|
|
545
|
+
"HoverFontColor": { "$ref": "#/$defs/Color", "description": "마우스 오버/선택 시 폰트색" }
|
|
546
|
+
}
|
|
547
|
+
},
|
|
515
548
|
"ComboBoxElement": {
|
|
516
549
|
"type": "object",
|
|
517
550
|
"description": "콤보박스 컨트롤",
|
|
@@ -693,7 +726,7 @@
|
|
|
693
726
|
}
|
|
694
727
|
},
|
|
695
728
|
"Visible": { "type": "boolean", "description": "표시 여부" },
|
|
696
|
-
"Cursor": { "type": "string", "description": "커서 타입" }
|
|
729
|
+
"Cursor": { "type": "string", "enum": ["default","crosshair","pointer","move","e-resize","ne-resize","nw-resize","n-resize","se-resize","sw-resize","s-resize","w-resize","help"], "description": "커서 타입 (enPropCursor)" }
|
|
697
730
|
}
|
|
698
731
|
},
|
|
699
732
|
"TabItemStyleProperties": {
|
|
@@ -1115,10 +1148,10 @@
|
|
|
1115
1148
|
},
|
|
1116
1149
|
"WebContainerElement": {
|
|
1117
1150
|
"type": "object",
|
|
1118
|
-
"description": "웹
|
|
1151
|
+
"description": "웹 컨테이너 컨트롤 — 외부 URL을 iframe으로 표시",
|
|
1119
1152
|
"required": ["AutoRefresh", "DoRefresh"],
|
|
1120
1153
|
"properties": {
|
|
1121
|
-
"
|
|
1154
|
+
"DataSource": { "type": "string", "description": "대상 URL (이름은 DataSource이나 실제로는 URL이 들어감)" },
|
|
1122
1155
|
"AutoRefresh": { "type": "boolean", "description": "보고서 로딩 시 자동 로딩 여부 (기본값: false)" },
|
|
1123
1156
|
"DoRefresh": { "type": "boolean", "description": "수동 새로고침 버튼 표시 여부 (기본값: true)" }
|
|
1124
1157
|
}
|
|
@@ -1164,7 +1197,7 @@
|
|
|
1164
1197
|
"properties": {
|
|
1165
1198
|
"LanguageCode": { "type": "string", "description": "다국어 키 코드" },
|
|
1166
1199
|
"Value": { "type": "string", "description": "버튼 텍스트 (기본값: upload)" },
|
|
1167
|
-
"Cursor": { "type": "string", "description": "마우스 커서
|
|
1200
|
+
"Cursor": { "type": "string", "enum": ["default","crosshair","pointer","move","e-resize","ne-resize","nw-resize","n-resize","se-resize","sw-resize","s-resize","w-resize","help"], "description": "마우스 커서 스타일, 기본값: pointer (enPropCursor)" },
|
|
1168
1201
|
"AllowExt": { "type": "string", "description": "허용 파일 확장자" },
|
|
1169
1202
|
"SaveLimitSize": { "type": "number", "description": "업로드 크기 제한" },
|
|
1170
1203
|
"SaveFolderName": { "type": "string", "description": "저장 폴더명" }
|
|
@@ -1681,7 +1714,7 @@
|
|
|
1681
1714
|
"Resizable": { "type": "boolean" },
|
|
1682
1715
|
"UseExport": { "type": "boolean" },
|
|
1683
1716
|
"ColumnType": { "type": "integer", "description": "컬럼 타입 (0:None, 1:Text, 2:CheckBox, 3:NumberBox, 4:ComboBox, 5:DateTime, 6:MaskEdit, 8:Image, 9:MultiLineText, 10:TrendLine, 11:SingleBarChart, 12:ColorPicker, 15:Time)" },
|
|
1684
|
-
"CursorType": { "type": "string" },
|
|
1717
|
+
"CursorType": { "type": "string", "enum": ["default","crosshair","pointer","move","e-resize","ne-resize","nw-resize","n-resize","se-resize","sw-resize","s-resize","w-resize","help"], "description": "커서 타입 (enPropCursor)" },
|
|
1685
1718
|
"KeyType": { "type": "integer", "description": "키 타입 (0:None, 1:NotNull, 2:Nullable, 3:Primary)" },
|
|
1686
1719
|
"DataType": { "type": "integer", "description": "데이터 타입 (0:Numeric, 1:String, 2:DateTime8(yyyyMMdd), 3:DateTimeNow, 4:UserCode, 5:CLOB, 7:UUID)" },
|
|
1687
1720
|
"HeaderPosition": { "type": "string", "enum": ["left", "center", "right", "start", "end"] },
|