@bimatrix-aud-platform/aud_mcp_server 1.1.38 → 1.1.39
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.
- package/dist/generators/defaults.d.ts +182 -35
- package/dist/generators/defaults.js +255 -44
- package/dist/generators/mtsd-builder.js +63 -85
- package/package.json +1 -1
- package/schemas/mtsd.interface.ts +2 -2
- package/schemas/mtsd.schema.json +7 -8
|
@@ -88,26 +88,47 @@ export declare function buttonDefaults(): {
|
|
|
88
88
|
Cursor: string;
|
|
89
89
|
HasNewRadius: boolean;
|
|
90
90
|
};
|
|
91
|
-
export declare function
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
91
|
+
export declare function textBoxDefaults(): {
|
|
92
|
+
LanguageCode: string;
|
|
93
|
+
Value: string;
|
|
94
|
+
Text: string;
|
|
95
|
+
IsReadOnly: boolean;
|
|
96
|
+
MaxLength: number;
|
|
97
|
+
Formula: string;
|
|
98
|
+
MxBinding: string;
|
|
99
|
+
MxBindingUseStyle: boolean;
|
|
95
100
|
};
|
|
96
|
-
export declare function
|
|
97
|
-
|
|
101
|
+
export declare function numberBoxDefaults(): {
|
|
102
|
+
Format: string;
|
|
103
|
+
Formula: string;
|
|
104
|
+
Value: number;
|
|
105
|
+
Text: string;
|
|
106
|
+
IsReadOnly: boolean;
|
|
107
|
+
Maximum: number;
|
|
108
|
+
Minimum: number;
|
|
109
|
+
MxBinding: string;
|
|
110
|
+
MxBindingUseStyle: boolean;
|
|
98
111
|
};
|
|
99
|
-
export declare function
|
|
100
|
-
|
|
112
|
+
export declare function maskTextBoxDefaults(): {
|
|
113
|
+
Format: string;
|
|
114
|
+
Formula: string;
|
|
115
|
+
IsReadOnly: boolean;
|
|
116
|
+
Text: string;
|
|
117
|
+
Value: string;
|
|
118
|
+
MxBinding: string;
|
|
119
|
+
};
|
|
120
|
+
export declare function richTextBoxDefaults(): {
|
|
121
|
+
Formula: string;
|
|
122
|
+
IsReadOnly: boolean;
|
|
123
|
+
MaxLength: number;
|
|
124
|
+
LineSpacing: number;
|
|
125
|
+
HasLineSpacing: boolean;
|
|
126
|
+
MxBinding: string;
|
|
127
|
+
MxBindingUseStyle: boolean;
|
|
128
|
+
Value: string;
|
|
101
129
|
Text: string;
|
|
102
|
-
TextPosition: string;
|
|
103
|
-
GroupName: string;
|
|
104
|
-
CheckedValue: string;
|
|
105
|
-
UnCheckedValue: string;
|
|
106
|
-
Checked: boolean;
|
|
107
|
-
ViewType: number;
|
|
108
130
|
};
|
|
109
131
|
export declare function comboBoxDefaults(): {
|
|
110
|
-
DataSource: string;
|
|
111
132
|
Value: string;
|
|
112
133
|
Text: string;
|
|
113
134
|
InitType: number;
|
|
@@ -115,25 +136,52 @@ export declare function comboBoxDefaults(): {
|
|
|
115
136
|
IsReadOnly: boolean;
|
|
116
137
|
SortType: number;
|
|
117
138
|
AutoRefresh: boolean;
|
|
139
|
+
DoRefresh: boolean;
|
|
118
140
|
AfterRefresh: string;
|
|
119
141
|
UseAllItems: boolean;
|
|
120
142
|
UseAllItemsText: string;
|
|
121
143
|
DisplayType: number;
|
|
122
|
-
DataSourceInfo: {
|
|
123
|
-
LabelField: string;
|
|
124
|
-
ValueField: string;
|
|
125
|
-
};
|
|
126
144
|
InitValue: string;
|
|
127
145
|
};
|
|
128
|
-
export declare function
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
146
|
+
export declare function multiComboBoxDefaults(): {
|
|
147
|
+
InitType: number;
|
|
148
|
+
RefreshType: number;
|
|
149
|
+
AutoRefresh: boolean;
|
|
150
|
+
EditValue: string;
|
|
151
|
+
CaptionText: string;
|
|
152
|
+
};
|
|
153
|
+
export declare function checkBoxDefaults(): {
|
|
154
|
+
LanguageCode: string;
|
|
133
155
|
Text: string;
|
|
156
|
+
TextPosition: string;
|
|
157
|
+
GroupName: string;
|
|
158
|
+
CheckedValue: string;
|
|
159
|
+
UnCheckedValue: string;
|
|
160
|
+
Checked: boolean;
|
|
161
|
+
ViewType: number;
|
|
162
|
+
};
|
|
163
|
+
export declare function radioButtonDefaults(): {
|
|
164
|
+
LanguageCode: string;
|
|
165
|
+
Text: string;
|
|
166
|
+
TextPosition: string;
|
|
167
|
+
GroupName: string;
|
|
168
|
+
CheckedValue: string;
|
|
169
|
+
Checked: boolean;
|
|
170
|
+
};
|
|
171
|
+
export declare function pickListDefaults(): {
|
|
134
172
|
IsReadOnly: boolean;
|
|
135
|
-
|
|
136
|
-
|
|
173
|
+
};
|
|
174
|
+
export declare function calendarDefaults(): {
|
|
175
|
+
LanguageCode: string;
|
|
176
|
+
Value: string;
|
|
177
|
+
Text: string;
|
|
178
|
+
InitType: number;
|
|
179
|
+
IsReadOnly: boolean;
|
|
180
|
+
CalendarType: number;
|
|
181
|
+
UseButton: boolean;
|
|
182
|
+
AutoRefresh: boolean;
|
|
183
|
+
AfterRefresh: string;
|
|
184
|
+
DataSource: string;
|
|
137
185
|
MxBinding: string;
|
|
138
186
|
MxBindingUseStyle: boolean;
|
|
139
187
|
};
|
|
@@ -144,20 +192,119 @@ export declare function imageDefaults(): {
|
|
|
144
192
|
SaveName: string;
|
|
145
193
|
};
|
|
146
194
|
};
|
|
147
|
-
export declare function
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
HasLineSpacing: boolean;
|
|
153
|
-
MxBinding: string;
|
|
154
|
-
MxBindingUseStyle: boolean;
|
|
195
|
+
export declare function colorSelectorDefaults(): {
|
|
196
|
+
ColorValue: string;
|
|
197
|
+
ShowButton: boolean;
|
|
198
|
+
};
|
|
199
|
+
export declare function fileUploadButtonDefaults(): {
|
|
155
200
|
Value: string;
|
|
156
|
-
|
|
201
|
+
Cursor: string;
|
|
202
|
+
};
|
|
203
|
+
export declare function dataGridDefaults(): {
|
|
204
|
+
CellMargin: string;
|
|
205
|
+
Columns: any[];
|
|
206
|
+
AutoRefresh: boolean;
|
|
207
|
+
DoRefresh: boolean;
|
|
208
|
+
DoExport: boolean;
|
|
209
|
+
ColumnHeaderHeight: number;
|
|
210
|
+
RowHeight: number;
|
|
211
|
+
ShowHeader: number;
|
|
212
|
+
SelectRule: number;
|
|
213
|
+
FontFamily: string;
|
|
214
|
+
FontSize: number;
|
|
215
|
+
};
|
|
216
|
+
export declare function compactDataGridDefaults(): {
|
|
217
|
+
CellMargin: string;
|
|
218
|
+
Columns: any[];
|
|
219
|
+
AutoRefresh: boolean;
|
|
220
|
+
DoRefresh: boolean;
|
|
221
|
+
DoExport: boolean;
|
|
222
|
+
ColumnHeaderHeight: number;
|
|
223
|
+
RowHeight: number;
|
|
224
|
+
ShowHeader: number;
|
|
225
|
+
SelectRule: number;
|
|
226
|
+
FontFamily: string;
|
|
227
|
+
FontSize: number;
|
|
228
|
+
};
|
|
229
|
+
export declare function treeGridDefaults(): {
|
|
230
|
+
CellMargin: string;
|
|
231
|
+
Columns: any[];
|
|
232
|
+
AutoRefresh: boolean;
|
|
233
|
+
DoRefresh: boolean;
|
|
234
|
+
DoExport: boolean;
|
|
235
|
+
ColumnHeaderHeight: number;
|
|
236
|
+
RowHeight: number;
|
|
237
|
+
SelectRule: number;
|
|
238
|
+
FontFamily: string;
|
|
239
|
+
FontSize: number;
|
|
240
|
+
ToggleBtnSize: number;
|
|
241
|
+
};
|
|
242
|
+
export declare function iGridDefaults(): {
|
|
243
|
+
AutoRefresh: boolean;
|
|
244
|
+
DoRefresh: boolean;
|
|
245
|
+
DoExport: boolean;
|
|
246
|
+
ServerScript: string;
|
|
247
|
+
TemplateCode: string;
|
|
248
|
+
};
|
|
249
|
+
export declare function olapGridDefaults(): {
|
|
250
|
+
AutoRefresh: boolean;
|
|
251
|
+
DoRefresh: boolean;
|
|
252
|
+
DoExport: boolean;
|
|
253
|
+
iOLAPView: Record<string, any>;
|
|
254
|
+
ExtraOption: Record<string, any>;
|
|
255
|
+
};
|
|
256
|
+
export declare function chartDefaults(): {
|
|
257
|
+
AutoRefresh: boolean;
|
|
258
|
+
DoRefresh: boolean;
|
|
259
|
+
DoExport: boolean;
|
|
260
|
+
PlotOptions: {
|
|
261
|
+
Animation: number;
|
|
262
|
+
EnableMouseTracking: boolean;
|
|
263
|
+
DataLabels: {};
|
|
264
|
+
ConnectNulls: boolean;
|
|
265
|
+
AllowOverlap: boolean;
|
|
266
|
+
};
|
|
267
|
+
Axis: {
|
|
268
|
+
XAxis: {
|
|
269
|
+
Text: string;
|
|
270
|
+
Visible: boolean;
|
|
271
|
+
};
|
|
272
|
+
Y1Axis: {
|
|
273
|
+
Text: string;
|
|
274
|
+
Visible: boolean;
|
|
275
|
+
};
|
|
276
|
+
Y2Axis: {
|
|
277
|
+
Text: string;
|
|
278
|
+
Visible: boolean;
|
|
279
|
+
};
|
|
280
|
+
};
|
|
281
|
+
SeriesSet: any[];
|
|
282
|
+
};
|
|
283
|
+
export declare function emptyDefaults(): Record<string, any>;
|
|
284
|
+
export declare function groupDefaults(): {
|
|
285
|
+
ChildElements: any[];
|
|
286
|
+
};
|
|
287
|
+
export declare function tabDefaults(): {
|
|
288
|
+
Property: {
|
|
289
|
+
TabButtonPosition: number;
|
|
290
|
+
};
|
|
291
|
+
TabItems: any[];
|
|
292
|
+
DoExport: boolean;
|
|
293
|
+
};
|
|
294
|
+
export declare function tableLayoutDefaults(): {
|
|
295
|
+
Cols: any[];
|
|
296
|
+
Rows: any[];
|
|
297
|
+
MergeCellList: any[];
|
|
157
298
|
};
|
|
158
299
|
export declare function userComponentDefaults(): {
|
|
159
300
|
DoRefresh: boolean;
|
|
160
301
|
DoExport: boolean;
|
|
161
302
|
ReportInfo: {};
|
|
303
|
+
ExternalReportInfo: {};
|
|
304
|
+
};
|
|
305
|
+
export declare function webContainerDefaults(): {
|
|
306
|
+
AutoRefresh: boolean;
|
|
307
|
+
DoRefresh: boolean;
|
|
308
|
+
TargetURL: string;
|
|
162
309
|
};
|
|
163
310
|
export declare const ELEMENT_DEFAULTS_MAP: Record<string, () => Record<string, any>>;
|
|
@@ -65,6 +65,8 @@ export function defaultValidator() {
|
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
// ---- Element 타입별 기본값 ----
|
|
68
|
+
// 실제 i-AUD Designer(all_controls_report.mtsd)의 기본값을 기준으로 설정
|
|
69
|
+
// -- 기본 컨트롤 --
|
|
68
70
|
export function labelDefaults() {
|
|
69
71
|
return {
|
|
70
72
|
LanguageCode: "",
|
|
@@ -73,8 +75,8 @@ export function labelDefaults() {
|
|
|
73
75
|
Formula: "",
|
|
74
76
|
UseTextOverflow: false,
|
|
75
77
|
UseAutoLineBreak: false,
|
|
76
|
-
LineSpacing:
|
|
77
|
-
HasLineSpacing:
|
|
78
|
+
LineSpacing: 1.2,
|
|
79
|
+
HasLineSpacing: true,
|
|
78
80
|
MxBinding: "",
|
|
79
81
|
MxBindingUseStyle: false,
|
|
80
82
|
};
|
|
@@ -84,104 +86,313 @@ export function buttonDefaults() {
|
|
|
84
86
|
LanguageCode: "",
|
|
85
87
|
Value: "",
|
|
86
88
|
Cursor: "pointer",
|
|
87
|
-
HasNewRadius:
|
|
89
|
+
HasNewRadius: true,
|
|
88
90
|
};
|
|
89
91
|
}
|
|
90
|
-
|
|
92
|
+
// -- 입력 컨트롤 --
|
|
93
|
+
export function textBoxDefaults() {
|
|
91
94
|
return {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
+
LanguageCode: "",
|
|
96
|
+
Value: "",
|
|
97
|
+
Text: "",
|
|
98
|
+
IsReadOnly: false,
|
|
99
|
+
MaxLength: 0,
|
|
100
|
+
Formula: "",
|
|
101
|
+
MxBinding: "",
|
|
102
|
+
MxBindingUseStyle: false,
|
|
95
103
|
};
|
|
96
104
|
}
|
|
97
|
-
export function
|
|
105
|
+
export function numberBoxDefaults() {
|
|
98
106
|
return {
|
|
99
|
-
|
|
107
|
+
Format: "#,##0",
|
|
108
|
+
Formula: "",
|
|
109
|
+
Value: 0,
|
|
110
|
+
Text: "",
|
|
111
|
+
IsReadOnly: false,
|
|
112
|
+
Maximum: 999999999,
|
|
113
|
+
Minimum: -999999999,
|
|
114
|
+
MxBinding: "",
|
|
115
|
+
MxBindingUseStyle: false,
|
|
100
116
|
};
|
|
101
117
|
}
|
|
102
|
-
export function
|
|
118
|
+
export function maskTextBoxDefaults() {
|
|
103
119
|
return {
|
|
104
|
-
|
|
120
|
+
Format: "",
|
|
121
|
+
Formula: "",
|
|
122
|
+
IsReadOnly: false,
|
|
123
|
+
Text: "",
|
|
124
|
+
Value: "",
|
|
125
|
+
MxBinding: "",
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
export function richTextBoxDefaults() {
|
|
129
|
+
return {
|
|
130
|
+
Formula: "",
|
|
131
|
+
IsReadOnly: false,
|
|
132
|
+
MaxLength: 0,
|
|
133
|
+
LineSpacing: 1.2,
|
|
134
|
+
HasLineSpacing: true,
|
|
135
|
+
MxBinding: "",
|
|
136
|
+
MxBindingUseStyle: false,
|
|
137
|
+
Value: "",
|
|
105
138
|
Text: "",
|
|
106
|
-
TextPosition: "right",
|
|
107
|
-
GroupName: "",
|
|
108
|
-
CheckedValue: "Y",
|
|
109
|
-
UnCheckedValue: "N",
|
|
110
|
-
Checked: false,
|
|
111
|
-
ViewType: 0,
|
|
112
139
|
};
|
|
113
140
|
}
|
|
141
|
+
// -- 선택 컨트롤 --
|
|
114
142
|
export function comboBoxDefaults() {
|
|
115
143
|
return {
|
|
116
|
-
DataSource: "",
|
|
117
144
|
Value: "",
|
|
118
145
|
Text: "",
|
|
119
146
|
InitType: 0,
|
|
120
|
-
RefreshType:
|
|
147
|
+
RefreshType: 1,
|
|
121
148
|
IsReadOnly: false,
|
|
122
149
|
SortType: 0,
|
|
123
150
|
AutoRefresh: false,
|
|
151
|
+
DoRefresh: false,
|
|
124
152
|
AfterRefresh: "",
|
|
125
153
|
UseAllItems: false,
|
|
126
154
|
UseAllItemsText: "",
|
|
127
155
|
DisplayType: 0,
|
|
128
|
-
DataSourceInfo: { LabelField: "", ValueField: "" },
|
|
129
156
|
InitValue: "",
|
|
130
157
|
};
|
|
131
158
|
}
|
|
132
|
-
export function
|
|
133
|
-
return {
|
|
159
|
+
export function multiComboBoxDefaults() {
|
|
160
|
+
return {
|
|
161
|
+
InitType: 0,
|
|
162
|
+
RefreshType: 1,
|
|
163
|
+
AutoRefresh: false,
|
|
164
|
+
EditValue: "",
|
|
165
|
+
CaptionText: "",
|
|
166
|
+
};
|
|
134
167
|
}
|
|
135
|
-
export function
|
|
168
|
+
export function checkBoxDefaults() {
|
|
136
169
|
return {
|
|
137
|
-
|
|
138
|
-
Formula: "",
|
|
139
|
-
Value: 0,
|
|
170
|
+
LanguageCode: "",
|
|
140
171
|
Text: "",
|
|
172
|
+
TextPosition: "back",
|
|
173
|
+
GroupName: "",
|
|
174
|
+
CheckedValue: "Y",
|
|
175
|
+
UnCheckedValue: "N",
|
|
176
|
+
Checked: false,
|
|
177
|
+
ViewType: 0,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
export function radioButtonDefaults() {
|
|
181
|
+
return {
|
|
182
|
+
LanguageCode: "",
|
|
183
|
+
Text: "",
|
|
184
|
+
TextPosition: "back",
|
|
185
|
+
GroupName: "",
|
|
186
|
+
CheckedValue: "",
|
|
187
|
+
Checked: false,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
export function pickListDefaults() {
|
|
191
|
+
return {
|
|
141
192
|
IsReadOnly: false,
|
|
142
|
-
|
|
143
|
-
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
// -- 날짜 컨트롤 --
|
|
196
|
+
export function calendarDefaults() {
|
|
197
|
+
return {
|
|
198
|
+
LanguageCode: "",
|
|
199
|
+
Value: "",
|
|
200
|
+
Text: "",
|
|
201
|
+
InitType: 0,
|
|
202
|
+
IsReadOnly: false,
|
|
203
|
+
CalendarType: 0,
|
|
204
|
+
UseButton: true,
|
|
205
|
+
AutoRefresh: false,
|
|
206
|
+
AfterRefresh: "",
|
|
207
|
+
DataSource: "",
|
|
144
208
|
MxBinding: "",
|
|
145
209
|
MxBindingUseStyle: false,
|
|
146
210
|
};
|
|
147
211
|
}
|
|
212
|
+
// -- 이미지/색상/파일 --
|
|
148
213
|
export function imageDefaults() {
|
|
149
214
|
return {
|
|
150
215
|
Cursor: "default",
|
|
151
216
|
Image: { FolderCode: "", SaveName: "" },
|
|
152
217
|
};
|
|
153
218
|
}
|
|
154
|
-
export function
|
|
219
|
+
export function colorSelectorDefaults() {
|
|
220
|
+
return {
|
|
221
|
+
ColorValue: "",
|
|
222
|
+
ShowButton: true,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
export function fileUploadButtonDefaults() {
|
|
155
226
|
return {
|
|
156
|
-
Formula: "",
|
|
157
|
-
IsReadOnly: false,
|
|
158
|
-
MaxLength: 0,
|
|
159
|
-
LineSpacing: 0,
|
|
160
|
-
HasLineSpacing: false,
|
|
161
|
-
MxBinding: "",
|
|
162
|
-
MxBindingUseStyle: false,
|
|
163
227
|
Value: "",
|
|
164
|
-
|
|
228
|
+
Cursor: "pointer",
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
// -- 그리드 컨트롤 --
|
|
232
|
+
export function dataGridDefaults() {
|
|
233
|
+
return {
|
|
234
|
+
CellMargin: "5,5,5,5",
|
|
235
|
+
Columns: [],
|
|
236
|
+
AutoRefresh: false,
|
|
237
|
+
DoRefresh: true,
|
|
238
|
+
DoExport: true,
|
|
239
|
+
ColumnHeaderHeight: 28,
|
|
240
|
+
RowHeight: 24,
|
|
241
|
+
ShowHeader: 3,
|
|
242
|
+
SelectRule: 2,
|
|
243
|
+
FontFamily: "inherit",
|
|
244
|
+
FontSize: 12,
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
export function compactDataGridDefaults() {
|
|
248
|
+
return dataGridDefaults();
|
|
249
|
+
}
|
|
250
|
+
export function treeGridDefaults() {
|
|
251
|
+
return {
|
|
252
|
+
CellMargin: "5,5,5,5",
|
|
253
|
+
Columns: [],
|
|
254
|
+
AutoRefresh: false,
|
|
255
|
+
DoRefresh: true,
|
|
256
|
+
DoExport: true,
|
|
257
|
+
ColumnHeaderHeight: 28,
|
|
258
|
+
RowHeight: 24,
|
|
259
|
+
SelectRule: 2,
|
|
260
|
+
FontFamily: "inherit",
|
|
261
|
+
FontSize: 12,
|
|
262
|
+
ToggleBtnSize: 10,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
export function iGridDefaults() {
|
|
266
|
+
return {
|
|
267
|
+
AutoRefresh: false,
|
|
268
|
+
DoRefresh: true,
|
|
269
|
+
DoExport: true,
|
|
270
|
+
ServerScript: "",
|
|
271
|
+
TemplateCode: "",
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
export function olapGridDefaults() {
|
|
275
|
+
return {
|
|
276
|
+
AutoRefresh: false,
|
|
277
|
+
DoRefresh: true,
|
|
278
|
+
DoExport: true,
|
|
279
|
+
iOLAPView: {},
|
|
280
|
+
ExtraOption: {},
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
// -- 차트 컨트롤 --
|
|
284
|
+
function defaultChartAxis() {
|
|
285
|
+
return {
|
|
286
|
+
XAxis: { Text: "", Visible: true },
|
|
287
|
+
Y1Axis: { Text: "", Visible: true },
|
|
288
|
+
Y2Axis: { Text: "", Visible: false },
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
function defaultPlotOptions() {
|
|
292
|
+
return {
|
|
293
|
+
Animation: 1000,
|
|
294
|
+
EnableMouseTracking: true,
|
|
295
|
+
DataLabels: {},
|
|
296
|
+
ConnectNulls: false,
|
|
297
|
+
AllowOverlap: false,
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
export function chartDefaults() {
|
|
301
|
+
return {
|
|
302
|
+
AutoRefresh: false,
|
|
303
|
+
DoRefresh: true,
|
|
304
|
+
DoExport: true,
|
|
305
|
+
PlotOptions: defaultPlotOptions(),
|
|
306
|
+
Axis: defaultChartAxis(),
|
|
307
|
+
SeriesSet: [],
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
// -- 트리 컨트롤 --
|
|
311
|
+
export function emptyDefaults() {
|
|
312
|
+
return {};
|
|
313
|
+
}
|
|
314
|
+
// -- 컨테이너/레이아웃 --
|
|
315
|
+
export function groupDefaults() {
|
|
316
|
+
return {
|
|
317
|
+
ChildElements: [],
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
export function tabDefaults() {
|
|
321
|
+
return {
|
|
322
|
+
Property: { TabButtonPosition: 0 },
|
|
323
|
+
TabItems: [],
|
|
324
|
+
DoExport: true,
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
export function tableLayoutDefaults() {
|
|
328
|
+
return {
|
|
329
|
+
Cols: [],
|
|
330
|
+
Rows: [],
|
|
331
|
+
MergeCellList: [],
|
|
165
332
|
};
|
|
166
333
|
}
|
|
167
334
|
export function userComponentDefaults() {
|
|
168
335
|
return {
|
|
169
|
-
DoRefresh:
|
|
170
|
-
DoExport:
|
|
336
|
+
DoRefresh: true,
|
|
337
|
+
DoExport: true,
|
|
171
338
|
ReportInfo: {},
|
|
339
|
+
ExternalReportInfo: {},
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
export function webContainerDefaults() {
|
|
343
|
+
return {
|
|
344
|
+
AutoRefresh: true,
|
|
345
|
+
DoRefresh: true,
|
|
346
|
+
TargetURL: "",
|
|
172
347
|
};
|
|
173
348
|
}
|
|
174
349
|
// Type → defaults 팩토리 매핑
|
|
175
350
|
export const ELEMENT_DEFAULTS_MAP = {
|
|
351
|
+
// 기본 컨트롤
|
|
176
352
|
Label: labelDefaults,
|
|
177
353
|
Button: buttonDefaults,
|
|
178
|
-
|
|
179
|
-
Group: groupDefaults,
|
|
180
|
-
CheckBox: checkBoxDefaults,
|
|
181
|
-
ComboBox: comboBoxDefaults,
|
|
354
|
+
// 입력 컨트롤
|
|
182
355
|
TextBox: textBoxDefaults,
|
|
183
356
|
NumberBox: numberBoxDefaults,
|
|
184
|
-
|
|
357
|
+
MaskTextBox: maskTextBoxDefaults,
|
|
185
358
|
RichTextBox: richTextBoxDefaults,
|
|
359
|
+
// 선택 컨트롤
|
|
360
|
+
ComboBox: comboBoxDefaults,
|
|
361
|
+
MultiComboBox: multiComboBoxDefaults,
|
|
362
|
+
CheckBox: checkBoxDefaults,
|
|
363
|
+
RadioButton: radioButtonDefaults,
|
|
364
|
+
PickList: pickListDefaults,
|
|
365
|
+
// 날짜 컨트롤
|
|
366
|
+
Calendar: calendarDefaults,
|
|
367
|
+
CalendarYear: calendarDefaults,
|
|
368
|
+
CalendarYM: calendarDefaults,
|
|
369
|
+
// 이미지/색상/파일
|
|
370
|
+
Image: imageDefaults,
|
|
371
|
+
ColorSelector: colorSelectorDefaults,
|
|
372
|
+
FileUploadButton: fileUploadButtonDefaults,
|
|
373
|
+
// 그리드 컨트롤
|
|
374
|
+
DataGrid: dataGridDefaults,
|
|
375
|
+
CompactDataGrid: compactDataGridDefaults,
|
|
376
|
+
TreeGrid: treeGridDefaults,
|
|
377
|
+
iGrid: iGridDefaults,
|
|
378
|
+
OlapGrid: olapGridDefaults,
|
|
379
|
+
// 차트 컨트롤
|
|
380
|
+
Chart: chartDefaults,
|
|
381
|
+
PieChart: chartDefaults,
|
|
382
|
+
ScatterChart: chartDefaults,
|
|
383
|
+
PolygonChart: chartDefaults,
|
|
384
|
+
// 트리 컨트롤
|
|
385
|
+
Tree: emptyDefaults,
|
|
386
|
+
TreeView: emptyDefaults,
|
|
387
|
+
// 컨테이너/레이아웃
|
|
388
|
+
Group: groupDefaults,
|
|
389
|
+
Tab: tabDefaults,
|
|
390
|
+
TableLayout: tableLayoutDefaults,
|
|
186
391
|
UserComponent: userComponentDefaults,
|
|
392
|
+
WebContainer: webContainerDefaults,
|
|
393
|
+
// 기타
|
|
394
|
+
Slider: emptyDefaults,
|
|
395
|
+
DiagramControl: emptyDefaults,
|
|
396
|
+
Slicer: emptyDefaults,
|
|
397
|
+
AddIn: emptyDefaults,
|
|
187
398
|
};
|
|
@@ -8,6 +8,7 @@ import { generateId } from "../utils/uuid.js";
|
|
|
8
8
|
import { parseHexColor } from "../utils/color.js";
|
|
9
9
|
import { parseDocking } from "../utils/docking.js";
|
|
10
10
|
import { generateGridColumns } from "./grid-column.js";
|
|
11
|
+
import { ELEMENT_DEFAULTS_MAP } from "./defaults.js";
|
|
11
12
|
// ============================================================
|
|
12
13
|
// Schema-Compliant Style Helpers (internal)
|
|
13
14
|
// ============================================================
|
|
@@ -143,6 +144,11 @@ const COMMON_OPTS = new Set([
|
|
|
143
144
|
"bg", "border", "font", "color", "visible", "style",
|
|
144
145
|
"dataSource",
|
|
145
146
|
]);
|
|
147
|
+
/** defaults.ts의 ELEMENT_DEFAULTS_MAP에서 타입별 기본값을 가져온다 */
|
|
148
|
+
function getTypeDefaults(type) {
|
|
149
|
+
const factory = ELEMENT_DEFAULTS_MAP[type];
|
|
150
|
+
return factory ? factory() : {};
|
|
151
|
+
}
|
|
146
152
|
// ============================================================
|
|
147
153
|
// DataGridBuilder
|
|
148
154
|
// ============================================================
|
|
@@ -190,10 +196,8 @@ class ElementContainer {
|
|
|
190
196
|
Type: "Label", Id: id, Name: name,
|
|
191
197
|
Position: buildPosition({ width: 200, height: 30, ...opts }),
|
|
192
198
|
Style: buildStyle(opts),
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
LineSpacing: 0, HasLineSpacing: false,
|
|
196
|
-
MxBinding: "", MxBindingUseStyle: false,
|
|
199
|
+
...getTypeDefaults("Label"),
|
|
200
|
+
Text: text,
|
|
197
201
|
};
|
|
198
202
|
this._applyPassThrough(element, opts);
|
|
199
203
|
this._addElement(element);
|
|
@@ -205,7 +209,8 @@ class ElementContainer {
|
|
|
205
209
|
Type: "Button", Id: id, Name: name,
|
|
206
210
|
Position: buildPosition({ width: 80, height: 30, ...opts }),
|
|
207
211
|
Style: buildStyle(opts),
|
|
208
|
-
|
|
212
|
+
...getTypeDefaults("Button"),
|
|
213
|
+
Value: text,
|
|
209
214
|
};
|
|
210
215
|
this._applyPassThrough(element, opts);
|
|
211
216
|
this._addElement(element);
|
|
@@ -217,10 +222,7 @@ class ElementContainer {
|
|
|
217
222
|
Type: "Calendar", Id: id, Name: name,
|
|
218
223
|
Position: buildPosition({ width: 130, height: 28, ...opts }),
|
|
219
224
|
Style: buildStyle(opts),
|
|
220
|
-
|
|
221
|
-
IsReadOnly: false, CalendarType: 0, UseButton: true,
|
|
222
|
-
AutoRefresh: false, AfterRefresh: "", DataSource: "",
|
|
223
|
-
MxBinding: "", MxBindingUseStyle: false,
|
|
225
|
+
...getTypeDefaults("Calendar"),
|
|
224
226
|
};
|
|
225
227
|
this._applyPassThrough(element, opts);
|
|
226
228
|
this._addElement(element);
|
|
@@ -232,9 +234,7 @@ class ElementContainer {
|
|
|
232
234
|
Type: "TextBox", Id: id, Name: name,
|
|
233
235
|
Position: buildPosition({ width: 200, height: 28, ...opts }),
|
|
234
236
|
Style: buildStyle(opts),
|
|
235
|
-
|
|
236
|
-
IsReadOnly: false, Formula: "", MaxLength: 0,
|
|
237
|
-
MxBinding: "", MxBindingUseStyle: false,
|
|
237
|
+
...getTypeDefaults("TextBox"),
|
|
238
238
|
};
|
|
239
239
|
this._applyPassThrough(element, opts);
|
|
240
240
|
this._addElement(element);
|
|
@@ -246,12 +246,11 @@ class ElementContainer {
|
|
|
246
246
|
Type: "NumberBox", Id: id, Name: name,
|
|
247
247
|
Position: buildPosition({ width: 150, height: 28, ...opts }),
|
|
248
248
|
Style: buildStyle(opts),
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
Maximum: opts.max
|
|
253
|
-
Minimum: opts.min
|
|
254
|
-
MxBinding: "", MxBindingUseStyle: false,
|
|
249
|
+
...getTypeDefaults("NumberBox"),
|
|
250
|
+
...(opts.format !== undefined ? { Format: opts.format } : {}),
|
|
251
|
+
...(opts.value !== undefined ? { Value: opts.value } : {}),
|
|
252
|
+
...(opts.max !== undefined ? { Maximum: opts.max } : {}),
|
|
253
|
+
...(opts.min !== undefined ? { Minimum: opts.min } : {}),
|
|
255
254
|
};
|
|
256
255
|
this._applyPassThrough(element, opts);
|
|
257
256
|
this._addElement(element);
|
|
@@ -263,16 +262,12 @@ class ElementContainer {
|
|
|
263
262
|
Type: "ComboBox", Id: id, Name: name,
|
|
264
263
|
Position: buildPosition({ width: 150, height: 28, ...opts }),
|
|
265
264
|
Style: buildStyle(opts),
|
|
265
|
+
...getTypeDefaults("ComboBox"),
|
|
266
266
|
DataSource: opts.dataSource || "",
|
|
267
|
-
Value: "", Text: "", InitType: 0, RefreshType: 0,
|
|
268
|
-
IsReadOnly: false, SortType: 0,
|
|
269
|
-
AutoRefresh: false, AfterRefresh: "",
|
|
270
|
-
UseAllItems: false, UseAllItemsText: "", DisplayType: 0,
|
|
271
267
|
DataSourceInfo: {
|
|
272
268
|
LabelField: opts.labelField || "",
|
|
273
269
|
ValueField: opts.valueField || "",
|
|
274
270
|
},
|
|
275
|
-
InitValue: "",
|
|
276
271
|
};
|
|
277
272
|
this._applyPassThrough(element, opts);
|
|
278
273
|
this._addElement(element);
|
|
@@ -284,12 +279,11 @@ class ElementContainer {
|
|
|
284
279
|
Type: "CheckBox", Id: id, Name: name,
|
|
285
280
|
Position: buildPosition({ width: 100, height: 25, ...opts }),
|
|
286
281
|
Style: buildStyle(opts),
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
CheckedValue: opts.checkedValue
|
|
290
|
-
UnCheckedValue: opts.uncheckedValue
|
|
291
|
-
Checked: opts.checked
|
|
292
|
-
ViewType: 0,
|
|
282
|
+
...getTypeDefaults("CheckBox"),
|
|
283
|
+
Text: text,
|
|
284
|
+
...(opts.checkedValue !== undefined ? { CheckedValue: opts.checkedValue } : {}),
|
|
285
|
+
...(opts.uncheckedValue !== undefined ? { UnCheckedValue: opts.uncheckedValue } : {}),
|
|
286
|
+
...(opts.checked !== undefined ? { Checked: opts.checked } : {}),
|
|
293
287
|
};
|
|
294
288
|
this._applyPassThrough(element, opts);
|
|
295
289
|
this._addElement(element);
|
|
@@ -301,8 +295,7 @@ class ElementContainer {
|
|
|
301
295
|
Type: "Image", Id: id, Name: name,
|
|
302
296
|
Position: buildPosition({ width: 100, height: 100, ...opts }),
|
|
303
297
|
Style: buildStyle(opts),
|
|
304
|
-
|
|
305
|
-
Image: { FolderCode: "", SaveName: "" },
|
|
298
|
+
...getTypeDefaults("Image"),
|
|
306
299
|
};
|
|
307
300
|
this._applyPassThrough(element, opts);
|
|
308
301
|
this._addElement(element);
|
|
@@ -314,9 +307,8 @@ class ElementContainer {
|
|
|
314
307
|
Type: "Chart", Id: id, Name: name,
|
|
315
308
|
Position: buildPosition({ width: 600, height: 400, ...opts }),
|
|
316
309
|
Style: buildStyle(opts),
|
|
310
|
+
...getTypeDefaults("Chart"),
|
|
317
311
|
DataSource: opts.dataSource || "",
|
|
318
|
-
AutoRefresh: false, DoRefresh: false, DoExport: false,
|
|
319
|
-
PlotOptions: {},
|
|
320
312
|
};
|
|
321
313
|
this._applyPassThrough(element, opts);
|
|
322
314
|
this._addElement(element);
|
|
@@ -328,8 +320,8 @@ class ElementContainer {
|
|
|
328
320
|
Type: "OlapGrid", Id: id, Name: name,
|
|
329
321
|
Position: buildPosition({ width: 800, height: 400, ...opts }),
|
|
330
322
|
Style: buildStyle(opts),
|
|
323
|
+
...getTypeDefaults("OlapGrid"),
|
|
331
324
|
DataSource: opts.dataSource || "",
|
|
332
|
-
AutoRefresh: false, DoRefresh: false, DoExport: false,
|
|
333
325
|
};
|
|
334
326
|
this._applyPassThrough(element, opts);
|
|
335
327
|
this._addElement(element);
|
|
@@ -342,9 +334,8 @@ class ElementContainer {
|
|
|
342
334
|
Type: "MaskTextBox", Id: id, Name: name,
|
|
343
335
|
Position: buildPosition({ width: 200, height: 28, ...opts }),
|
|
344
336
|
Style: buildStyle(opts),
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
MxBinding: "",
|
|
337
|
+
...getTypeDefaults("MaskTextBox"),
|
|
338
|
+
...(opts.format !== undefined ? { Format: opts.format } : {}),
|
|
348
339
|
};
|
|
349
340
|
this._applyPassThrough(element, opts);
|
|
350
341
|
this._addElement(element);
|
|
@@ -356,10 +347,7 @@ class ElementContainer {
|
|
|
356
347
|
Type: "RichTextBox", Id: id, Name: name,
|
|
357
348
|
Position: buildPosition({ width: 400, height: 200, ...opts }),
|
|
358
349
|
Style: buildStyle(opts),
|
|
359
|
-
|
|
360
|
-
LineSpacing: 0, HasLineSpacing: false,
|
|
361
|
-
MxBinding: "", MxBindingUseStyle: false,
|
|
362
|
-
Value: "", Text: "",
|
|
350
|
+
...getTypeDefaults("RichTextBox"),
|
|
363
351
|
};
|
|
364
352
|
this._applyPassThrough(element, opts);
|
|
365
353
|
this._addElement(element);
|
|
@@ -371,9 +359,8 @@ class ElementContainer {
|
|
|
371
359
|
Type: "MultiComboBox", Id: id, Name: name,
|
|
372
360
|
Position: buildPosition({ width: 200, height: 28, ...opts }),
|
|
373
361
|
Style: buildStyle(opts),
|
|
362
|
+
...getTypeDefaults("MultiComboBox"),
|
|
374
363
|
DataSource: opts.dataSource || "",
|
|
375
|
-
InitType: 0, RefreshType: 0, AutoRefresh: false,
|
|
376
|
-
EditValue: "", CaptionText: "",
|
|
377
364
|
DataSourceInfo: {
|
|
378
365
|
LabelField: opts.labelField || "",
|
|
379
366
|
ValueField: opts.valueField || "",
|
|
@@ -389,7 +376,7 @@ class ElementContainer {
|
|
|
389
376
|
Type: "PickList", Id: id, Name: name,
|
|
390
377
|
Position: buildPosition({ width: 200, height: 28, ...opts }),
|
|
391
378
|
Style: buildStyle(opts),
|
|
392
|
-
|
|
379
|
+
...getTypeDefaults("PickList"),
|
|
393
380
|
};
|
|
394
381
|
this._applyPassThrough(element, opts);
|
|
395
382
|
this._addElement(element);
|
|
@@ -401,10 +388,11 @@ class ElementContainer {
|
|
|
401
388
|
Type: "RadioButton", Id: id, Name: name,
|
|
402
389
|
Position: buildPosition({ width: 100, height: 25, ...opts }),
|
|
403
390
|
Style: buildStyle(opts),
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
391
|
+
...getTypeDefaults("RadioButton"),
|
|
392
|
+
Text: text,
|
|
393
|
+
...(opts.groupName !== undefined ? { GroupName: opts.groupName } : {}),
|
|
394
|
+
...(opts.checkedValue !== undefined ? { CheckedValue: opts.checkedValue } : {}),
|
|
395
|
+
...(opts.checked !== undefined ? { Checked: opts.checked } : {}),
|
|
408
396
|
};
|
|
409
397
|
this._applyPassThrough(element, opts);
|
|
410
398
|
this._addElement(element);
|
|
@@ -416,6 +404,7 @@ class ElementContainer {
|
|
|
416
404
|
Type: "Tree", Id: id, Name: name,
|
|
417
405
|
Position: buildPosition({ width: 200, height: 300, ...opts }),
|
|
418
406
|
Style: buildStyle(opts),
|
|
407
|
+
...getTypeDefaults("Tree"),
|
|
419
408
|
DataSource: opts.dataSource || "",
|
|
420
409
|
};
|
|
421
410
|
this._applyPassThrough(element, opts);
|
|
@@ -428,7 +417,7 @@ class ElementContainer {
|
|
|
428
417
|
Type: "ColorSelector", Id: id, Name: name,
|
|
429
418
|
Position: buildPosition({ width: 100, height: 28, ...opts }),
|
|
430
419
|
Style: buildStyle(opts),
|
|
431
|
-
|
|
420
|
+
...getTypeDefaults("ColorSelector"),
|
|
432
421
|
};
|
|
433
422
|
this._applyPassThrough(element, opts);
|
|
434
423
|
this._addElement(element);
|
|
@@ -440,6 +429,7 @@ class ElementContainer {
|
|
|
440
429
|
Type: "Slider", Id: id, Name: name,
|
|
441
430
|
Position: buildPosition({ width: 200, height: 30, ...opts }),
|
|
442
431
|
Style: buildStyle(opts),
|
|
432
|
+
...getTypeDefaults("Slider"),
|
|
443
433
|
DataSource: opts.dataSource || "",
|
|
444
434
|
};
|
|
445
435
|
this._applyPassThrough(element, opts);
|
|
@@ -453,10 +443,7 @@ class ElementContainer {
|
|
|
453
443
|
Type: "CalendarYear", Id: id, Name: name,
|
|
454
444
|
Position: buildPosition({ width: 100, height: 28, ...opts }),
|
|
455
445
|
Style: buildStyle(opts),
|
|
456
|
-
|
|
457
|
-
IsReadOnly: false, CalendarType: 0, UseButton: true,
|
|
458
|
-
AutoRefresh: false, AfterRefresh: "", DataSource: "",
|
|
459
|
-
MxBinding: "", MxBindingUseStyle: false,
|
|
446
|
+
...getTypeDefaults("CalendarYear"),
|
|
460
447
|
};
|
|
461
448
|
this._applyPassThrough(element, opts);
|
|
462
449
|
this._addElement(element);
|
|
@@ -468,10 +455,7 @@ class ElementContainer {
|
|
|
468
455
|
Type: "CalendarYM", Id: id, Name: name,
|
|
469
456
|
Position: buildPosition({ width: 120, height: 28, ...opts }),
|
|
470
457
|
Style: buildStyle(opts),
|
|
471
|
-
|
|
472
|
-
IsReadOnly: false, CalendarType: 0, UseButton: true,
|
|
473
|
-
AutoRefresh: false, AfterRefresh: "", DataSource: "",
|
|
474
|
-
MxBinding: "", MxBindingUseStyle: false,
|
|
458
|
+
...getTypeDefaults("CalendarYM"),
|
|
475
459
|
};
|
|
476
460
|
this._applyPassThrough(element, opts);
|
|
477
461
|
this._addElement(element);
|
|
@@ -484,7 +468,8 @@ class ElementContainer {
|
|
|
484
468
|
Type: "FileUploadButton", Id: id, Name: name,
|
|
485
469
|
Position: buildPosition({ width: 100, height: 30, ...opts }),
|
|
486
470
|
Style: buildStyle(opts),
|
|
487
|
-
|
|
471
|
+
...getTypeDefaults("FileUploadButton"),
|
|
472
|
+
Value: text,
|
|
488
473
|
};
|
|
489
474
|
if (opts.allowExt)
|
|
490
475
|
element.AllowExt = opts.allowExt;
|
|
@@ -501,10 +486,8 @@ class ElementContainer {
|
|
|
501
486
|
Type: "TreeGrid", Id: id, Name: name,
|
|
502
487
|
Position: buildPosition({ width: 800, height: 400, ...opts }),
|
|
503
488
|
Style: buildStyle(opts),
|
|
489
|
+
...getTypeDefaults("TreeGrid"),
|
|
504
490
|
DataSource: opts.dataSource || "",
|
|
505
|
-
CellMargin: "2", Columns: [],
|
|
506
|
-
AutoRefresh: false, DoRefresh: false, DoExport: false,
|
|
507
|
-
ToggleBtnSize: 10,
|
|
508
491
|
};
|
|
509
492
|
this._applyPassThrough(element, opts);
|
|
510
493
|
this._addElement(element);
|
|
@@ -518,9 +501,9 @@ class ElementContainer {
|
|
|
518
501
|
Type: "iGrid", Id: id, Name: name,
|
|
519
502
|
Position: buildPosition({ width: 800, height: 400, ...opts }),
|
|
520
503
|
Style: buildStyle(opts),
|
|
521
|
-
|
|
522
|
-
ServerScript: opts.serverScript
|
|
523
|
-
TemplateCode: opts.templateCode
|
|
504
|
+
...getTypeDefaults("iGrid"),
|
|
505
|
+
...(opts.serverScript !== undefined ? { ServerScript: opts.serverScript } : {}),
|
|
506
|
+
...(opts.templateCode !== undefined ? { TemplateCode: opts.templateCode } : {}),
|
|
524
507
|
};
|
|
525
508
|
this._applyPassThrough(element, opts);
|
|
526
509
|
this._addElement(element);
|
|
@@ -532,11 +515,8 @@ class ElementContainer {
|
|
|
532
515
|
Type: "CompactDataGrid", Id: id, Name: name,
|
|
533
516
|
Position: buildPosition({ width: 800, height: 300, ...opts }),
|
|
534
517
|
Style: buildStyle(opts),
|
|
518
|
+
...getTypeDefaults("CompactDataGrid"),
|
|
535
519
|
DataSource: opts.dataSource || "",
|
|
536
|
-
CellMargin: "2", Columns: [], UsePPTExport: false,
|
|
537
|
-
AutoRefresh: false, DoRefresh: false, DoExport: false,
|
|
538
|
-
ColumnHeaderHeight: 30, RowHeight: 26,
|
|
539
|
-
ShowHeader: 1, SelectRule: 0,
|
|
540
520
|
};
|
|
541
521
|
this._applyPassThrough(element, opts);
|
|
542
522
|
this._addElement(element);
|
|
@@ -550,6 +530,7 @@ class ElementContainer {
|
|
|
550
530
|
Type: "TreeView", Id: id, Name: name,
|
|
551
531
|
Position: buildPosition({ width: 250, height: 400, ...opts }),
|
|
552
532
|
Style: buildStyle(opts),
|
|
533
|
+
...getTypeDefaults("TreeView"),
|
|
553
534
|
DataSource: opts.dataSource || "",
|
|
554
535
|
};
|
|
555
536
|
this._applyPassThrough(element, opts);
|
|
@@ -563,9 +544,8 @@ class ElementContainer {
|
|
|
563
544
|
Type: "PieChart", Id: id, Name: name,
|
|
564
545
|
Position: buildPosition({ width: 400, height: 400, ...opts }),
|
|
565
546
|
Style: buildStyle(opts),
|
|
547
|
+
...getTypeDefaults("PieChart"),
|
|
566
548
|
DataSource: opts.dataSource || "",
|
|
567
|
-
AutoRefresh: false, DoRefresh: false, DoExport: false,
|
|
568
|
-
PlotOptions: {},
|
|
569
549
|
};
|
|
570
550
|
this._applyPassThrough(element, opts);
|
|
571
551
|
this._addElement(element);
|
|
@@ -577,9 +557,8 @@ class ElementContainer {
|
|
|
577
557
|
Type: "ScatterChart", Id: id, Name: name,
|
|
578
558
|
Position: buildPosition({ width: 600, height: 400, ...opts }),
|
|
579
559
|
Style: buildStyle(opts),
|
|
560
|
+
...getTypeDefaults("ScatterChart"),
|
|
580
561
|
DataSource: opts.dataSource || "",
|
|
581
|
-
AutoRefresh: false, DoRefresh: false, DoExport: false,
|
|
582
|
-
PlotOptions: {},
|
|
583
562
|
};
|
|
584
563
|
this._applyPassThrough(element, opts);
|
|
585
564
|
this._addElement(element);
|
|
@@ -591,9 +570,8 @@ class ElementContainer {
|
|
|
591
570
|
Type: "PolygonChart", Id: id, Name: name,
|
|
592
571
|
Position: buildPosition({ width: 400, height: 400, ...opts }),
|
|
593
572
|
Style: buildStyle(opts),
|
|
573
|
+
...getTypeDefaults("PolygonChart"),
|
|
594
574
|
DataSource: opts.dataSource || "",
|
|
595
|
-
AutoRefresh: false, DoRefresh: false, DoExport: false,
|
|
596
|
-
PlotOptions: {},
|
|
597
575
|
};
|
|
598
576
|
this._applyPassThrough(element, opts);
|
|
599
577
|
this._addElement(element);
|
|
@@ -606,7 +584,7 @@ class ElementContainer {
|
|
|
606
584
|
Type: "Tab", Id: id, Name: name,
|
|
607
585
|
Position: buildPosition({ width: 800, height: 400, ...opts }),
|
|
608
586
|
Style: buildStyle(opts),
|
|
609
|
-
|
|
587
|
+
...getTypeDefaults("Tab"),
|
|
610
588
|
};
|
|
611
589
|
this._applyPassThrough(element, opts);
|
|
612
590
|
this._addElement(element);
|
|
@@ -618,7 +596,7 @@ class ElementContainer {
|
|
|
618
596
|
Type: "TableLayout", Id: id, Name: name,
|
|
619
597
|
Position: buildPosition({ width: 800, height: 400, ...opts }),
|
|
620
598
|
Style: buildStyle(opts),
|
|
621
|
-
|
|
599
|
+
...getTypeDefaults("TableLayout"),
|
|
622
600
|
};
|
|
623
601
|
this._applyPassThrough(element, opts);
|
|
624
602
|
this._addElement(element);
|
|
@@ -631,6 +609,7 @@ class ElementContainer {
|
|
|
631
609
|
Type: "AddIn", Id: id, Name: name,
|
|
632
610
|
Position: buildPosition({ width: 400, height: 300, ...opts }),
|
|
633
611
|
Style: buildStyle(opts),
|
|
612
|
+
...getTypeDefaults("AddIn"),
|
|
634
613
|
};
|
|
635
614
|
this._applyPassThrough(element, opts);
|
|
636
615
|
this._addElement(element);
|
|
@@ -642,9 +621,8 @@ class ElementContainer {
|
|
|
642
621
|
Type: "UserComponent", Id: id, Name: name,
|
|
643
622
|
Position: buildPosition({ width: 800, height: 400, ...opts }),
|
|
644
623
|
Style: buildStyle(opts),
|
|
645
|
-
|
|
624
|
+
...getTypeDefaults("UserComponent"),
|
|
646
625
|
ReportInfo: { ReportCode: opts.reportCode || "", FolderCode: "" },
|
|
647
|
-
ExternalReportInfo: {},
|
|
648
626
|
};
|
|
649
627
|
this._applyPassThrough(element, opts);
|
|
650
628
|
this._addElement(element);
|
|
@@ -656,8 +634,8 @@ class ElementContainer {
|
|
|
656
634
|
Type: "WebContainer", Id: id, Name: name,
|
|
657
635
|
Position: buildPosition({ width: 800, height: 400, ...opts }),
|
|
658
636
|
Style: buildStyle(opts),
|
|
659
|
-
|
|
660
|
-
TargetURL: opts.url
|
|
637
|
+
...getTypeDefaults("WebContainer"),
|
|
638
|
+
...(opts.url !== undefined ? { TargetURL: opts.url } : {}),
|
|
661
639
|
};
|
|
662
640
|
this._applyPassThrough(element, opts);
|
|
663
641
|
this._addElement(element);
|
|
@@ -669,6 +647,7 @@ class ElementContainer {
|
|
|
669
647
|
Type: "DiagramControl", Id: id, Name: name,
|
|
670
648
|
Position: buildPosition({ width: 800, height: 400, ...opts }),
|
|
671
649
|
Style: buildStyle(opts),
|
|
650
|
+
...getTypeDefaults("DiagramControl"),
|
|
672
651
|
};
|
|
673
652
|
this._applyPassThrough(element, opts);
|
|
674
653
|
this._addElement(element);
|
|
@@ -680,6 +659,7 @@ class ElementContainer {
|
|
|
680
659
|
Type: "Slicer", Id: id, Name: name,
|
|
681
660
|
Position: buildPosition({ width: 200, height: 300, ...opts }),
|
|
682
661
|
Style: buildStyle(opts),
|
|
662
|
+
...getTypeDefaults("Slicer"),
|
|
683
663
|
};
|
|
684
664
|
this._applyPassThrough(element, opts);
|
|
685
665
|
this._addElement(element);
|
|
@@ -691,7 +671,7 @@ class ElementContainer {
|
|
|
691
671
|
Type: "Group", Id: id, Name: name,
|
|
692
672
|
Position: buildPosition({ width: 800, height: 50, ...opts }),
|
|
693
673
|
Style: buildStyle(opts),
|
|
694
|
-
|
|
674
|
+
...getTypeDefaults("Group"),
|
|
695
675
|
};
|
|
696
676
|
this._applyPassThrough(element, opts);
|
|
697
677
|
this._addElement(element);
|
|
@@ -703,11 +683,8 @@ class ElementContainer {
|
|
|
703
683
|
Type: "DataGrid", Id: id, Name: name,
|
|
704
684
|
Position: buildPosition({ width: 800, height: 400, ...opts }),
|
|
705
685
|
Style: buildStyle(opts),
|
|
686
|
+
...getTypeDefaults("DataGrid"),
|
|
706
687
|
DataSource: opts.dataSource || "",
|
|
707
|
-
CellMargin: "2", Columns: [], UsePPTExport: false,
|
|
708
|
-
AutoRefresh: false, DoRefresh: false, DoExport: false,
|
|
709
|
-
ColumnHeaderHeight: 30, RowHeight: 26,
|
|
710
|
-
ShowHeader: 1, SelectRule: 0,
|
|
711
688
|
};
|
|
712
689
|
this._applyPassThrough(element, opts);
|
|
713
690
|
this._addElement(element);
|
|
@@ -722,6 +699,7 @@ class ElementContainer {
|
|
|
722
699
|
Type: type, Id: id, Name: name,
|
|
723
700
|
Position: buildPosition(opts),
|
|
724
701
|
Style: buildStyle(opts),
|
|
702
|
+
...getTypeDefaults(type),
|
|
725
703
|
};
|
|
726
704
|
this._applyPassThrough(element, opts);
|
|
727
705
|
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.39",
|
|
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",
|
|
@@ -2942,7 +2942,7 @@ export interface IChartElement extends IBaseElement {
|
|
|
2942
2942
|
/** 차트 옵션 (@see ChartOptions.ts Serialize: ChartType, 폰트, 테두리, 팔레트, 툴팁 등) */
|
|
2943
2943
|
Chart?: IChartOptions;
|
|
2944
2944
|
/** 축 설정 (@see Chart.ts Serialize: { XAxis, Y1Axis, Y2Axis }) */
|
|
2945
|
-
Axis
|
|
2945
|
+
Axis: IChartAxis;
|
|
2946
2946
|
/** 플롯 옵션 (Serialize: Animation, EnableMouseTracking, DataLabels, ConnectNulls, AllowOverlap) */
|
|
2947
2947
|
PlotOptions: IChartPlotOptions;
|
|
2948
2948
|
/** 차트 제목 설정 (@see Title.ts Serialize: Text, LanguageCode, Style?) */
|
|
@@ -2950,7 +2950,7 @@ export interface IChartElement extends IBaseElement {
|
|
|
2950
2950
|
/** 범례 설정 (@see Legend.ts Serialize: 기본값과 다른 속성만 저장) */
|
|
2951
2951
|
Legend?: IChartLegend;
|
|
2952
2952
|
/** 시리즈 배열 (@see Series.ts Serialize) */
|
|
2953
|
-
SeriesSet
|
|
2953
|
+
SeriesSet: IChartSeriesItem[];
|
|
2954
2954
|
}
|
|
2955
2955
|
|
|
2956
2956
|
// ============================================
|
package/schemas/mtsd.schema.json
CHANGED
|
@@ -379,7 +379,7 @@
|
|
|
379
379
|
"DataGridElement": {
|
|
380
380
|
"type": "object",
|
|
381
381
|
"description": "데이터 그리드 컨트롤",
|
|
382
|
-
"required": ["CellMargin", "Columns", "
|
|
382
|
+
"required": ["CellMargin", "Columns", "AutoRefresh", "DoRefresh", "DoExport", "ColumnHeaderHeight", "RowHeight", "ShowHeader", "SelectRule", "FontFamily", "FontSize"],
|
|
383
383
|
"properties": {
|
|
384
384
|
"CellMargin": { "type": "string", "description": "셀 내부 여백" },
|
|
385
385
|
"Columns": { "type": "array", "items": { "$ref": "#/$defs/GridColumn" } },
|
|
@@ -482,7 +482,7 @@
|
|
|
482
482
|
"RichTextBoxElement": {
|
|
483
483
|
"type": "object",
|
|
484
484
|
"description": "리치 텍스트 박스 컨트롤",
|
|
485
|
-
"required": ["
|
|
485
|
+
"required": ["Value", "Text"],
|
|
486
486
|
"properties": {
|
|
487
487
|
"Formula": { "type": "string", "description": "동적 수식" },
|
|
488
488
|
"IsReadOnly": { "type": "boolean", "description": "읽기 전용" },
|
|
@@ -499,7 +499,7 @@
|
|
|
499
499
|
"CheckBoxElement": {
|
|
500
500
|
"type": "object",
|
|
501
501
|
"description": "체크박스 컨트롤",
|
|
502
|
-
"required": ["
|
|
502
|
+
"required": ["Text"],
|
|
503
503
|
"properties": {
|
|
504
504
|
"LanguageCode": { "type": "string", "description": "다국어 키 코드" },
|
|
505
505
|
"Text": { "type": "string", "description": "체크박스 옆 텍스트" },
|
|
@@ -515,7 +515,7 @@
|
|
|
515
515
|
"ComboBoxElement": {
|
|
516
516
|
"type": "object",
|
|
517
517
|
"description": "콤보박스 컨트롤",
|
|
518
|
-
"required": ["
|
|
518
|
+
"required": ["AutoRefresh", "DoRefresh"],
|
|
519
519
|
"properties": {
|
|
520
520
|
"DataSource": { "type": "string", "description": "데이터소스 이름" },
|
|
521
521
|
"Value": { "type": "string", "description": "선택된 값" },
|
|
@@ -559,7 +559,6 @@
|
|
|
559
559
|
"NumberBoxElement": {
|
|
560
560
|
"type": "object",
|
|
561
561
|
"description": "숫자 입력 박스 컨트롤",
|
|
562
|
-
"required": ["Format", "Formula", "Value", "Text", "IsReadOnly", "Maximum", "Minimum", "MxBinding", "MxBindingUseStyle"],
|
|
563
562
|
"properties": {
|
|
564
563
|
"Format": { "type": "string", "description": "숫자 포맷" },
|
|
565
564
|
"Formula": { "type": "string", "description": "동적 수식" },
|
|
@@ -588,7 +587,7 @@
|
|
|
588
587
|
"OlapGridElement": {
|
|
589
588
|
"type": "object",
|
|
590
589
|
"description": "OLAP 피벗 그리드 컨트롤",
|
|
591
|
-
"required": ["AutoRefresh", "DoRefresh", "DoExport"],
|
|
590
|
+
"required": ["DataSource", "AutoRefresh", "DoRefresh", "DoExport", "iOLAPView", "ExtraOption"],
|
|
592
591
|
"properties": {
|
|
593
592
|
"DataSource": { "type": "string", "description": "바인딩할 데이터소스 이름" },
|
|
594
593
|
"ServerScript": { "type": "string", "description": "서버 스크립트 이름" },
|
|
@@ -602,7 +601,7 @@
|
|
|
602
601
|
"RadioButtonElement": {
|
|
603
602
|
"type": "object",
|
|
604
603
|
"description": "라디오 버튼 컨트롤",
|
|
605
|
-
"required": ["
|
|
604
|
+
"required": ["Text", "GroupName", "CheckedValue", "Checked"],
|
|
606
605
|
"properties": {
|
|
607
606
|
"LanguageCode": { "type": "string", "description": "다국어 키 코드" },
|
|
608
607
|
"Text": { "type": "string", "description": "라디오 버튼 옆 텍스트" },
|
|
@@ -783,7 +782,7 @@
|
|
|
783
782
|
"ChartElement": {
|
|
784
783
|
"type": "object",
|
|
785
784
|
"description": "차트 컨트롤 (Chart, PieChart, ScatterChart, PolygonChart 공통)",
|
|
786
|
-
"required": ["AutoRefresh", "DoRefresh", "DoExport", "PlotOptions"],
|
|
785
|
+
"required": ["AutoRefresh", "DoRefresh", "DoExport", "PlotOptions", "Axis", "SeriesSet"],
|
|
787
786
|
"properties": {
|
|
788
787
|
"DataSource": { "type": "string", "description": "데이터소스 코드" },
|
|
789
788
|
"AutoRefresh": { "type": "boolean", "description": "자동 새로고침 (기본값: false)" },
|