gnui 1.1.8 → 1.2.0

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.
Files changed (107) hide show
  1. package/@types/gnui.d.ts +195 -154
  2. package/README.md +9 -3
  3. package/assets/NotoSansKR-Black.otf +0 -0
  4. package/assets/NotoSansKR-Black.woff +0 -0
  5. package/assets/NotoSansKR-Black.woff2 +0 -0
  6. package/assets/NotoSansKR-Bold.otf +0 -0
  7. package/assets/NotoSansKR-Bold.woff +0 -0
  8. package/assets/NotoSansKR-Bold.woff2 +0 -0
  9. package/assets/NotoSansKR-DemiLight.otf +0 -0
  10. package/assets/NotoSansKR-DemiLight.woff +0 -0
  11. package/assets/NotoSansKR-DemiLight.woff2 +0 -0
  12. package/assets/NotoSansKR-Light.otf +0 -0
  13. package/assets/NotoSansKR-Light.woff +0 -0
  14. package/assets/NotoSansKR-Light.woff2 +0 -0
  15. package/assets/NotoSansKR-Medium.otf +0 -0
  16. package/assets/NotoSansKR-Medium.woff +0 -0
  17. package/assets/NotoSansKR-Medium.woff2 +0 -0
  18. package/assets/NotoSansKR-Regular.otf +0 -0
  19. package/assets/NotoSansKR-Regular.woff +0 -0
  20. package/assets/NotoSansKR-Regular.woff2 +0 -0
  21. package/assets/NotoSansKR-Thin.otf +0 -0
  22. package/assets/NotoSansKR-Thin.woff +0 -0
  23. package/assets/NotoSansKR-Thin.woff2 +0 -0
  24. package/assets/{LICENSE_OFL.txt → OFL.txt} +93 -92
  25. package/assets/images/flags.png +0 -0
  26. package/dist/js/gnui.esm.js +19752 -17631
  27. package/dist/js/gnui.js +19757 -17927
  28. package/dist/js/gnui.min.js +23 -1
  29. package/dist/styles/default.css +1 -3
  30. package/dist/styles/gpi.css +1 -3
  31. package/dist/styles/green24.css +1 -0
  32. package/dist/styles/insights.css +1 -3
  33. package/dist/styles/nac.css +1 -3
  34. package/dist/styles/ztnac.css +1 -0
  35. package/package.json +39 -30
  36. package/styleguide/assets/components.js +1031 -579
  37. package/styleguide/assets/guide.js +28 -26
  38. package/styleguide/assets/okadia.css +115 -117
  39. package/styleguide/assets/theme.css +140 -82
  40. package/styleguide/category/COLOR/index.html +75 -77
  41. package/styleguide/category/COMPONENT/Alert(js)/index.html +89 -92
  42. package/styleguide/category/COMPONENT/Bignumber/index.html +78 -82
  43. package/styleguide/category/COMPONENT/Breadcrumb/index.html +78 -82
  44. package/styleguide/category/COMPONENT/Calendar(js)/index.html +89 -92
  45. package/styleguide/category/COMPONENT/Card/index.html +78 -82
  46. package/styleguide/category/COMPONENT/Chart(js)/index.html +89 -92
  47. package/styleguide/category/COMPONENT/Datagrid(js)/index.html +354 -206
  48. package/styleguide/category/COMPONENT/Datalist(js)/index.html +471 -0
  49. package/styleguide/category/COMPONENT/Growl(js)/index.html +89 -92
  50. package/styleguide/category/COMPONENT/JsonView(js)/index.html +544 -246
  51. package/styleguide/category/{CONTROLS → COMPONENT}/MenuButton(js)/index.html +116 -92
  52. package/styleguide/category/COMPONENT/Message(js)/index.html +219 -95
  53. package/styleguide/category/COMPONENT/Modal(js)/index.html +128 -94
  54. package/styleguide/category/COMPONENT/Pagination/index.html +78 -82
  55. package/styleguide/category/COMPONENT/Panel/index.html +78 -82
  56. package/styleguide/category/COMPONENT/Progressbar(js)/index.html +89 -92
  57. package/styleguide/category/COMPONENT/Tab(js)/index.html +122 -93
  58. package/styleguide/category/COMPONENT/Tagcloud(js)/index.html +88 -89
  59. package/styleguide/category/COMPONENT/Tooltip(js)/index.html +175 -92
  60. package/styleguide/category/COMPONENT/Tree(js)/index.html +95 -92
  61. package/styleguide/category/CONTROLS/Button(js)/index.html +110 -95
  62. package/styleguide/category/CONTROLS/Checkbox/index.html +82 -86
  63. package/styleguide/category/CONTROLS/Colorpicker(js)/index.html +147 -93
  64. package/styleguide/category/CONTROLS/Datepicker(js)/index.html +124 -92
  65. package/styleguide/category/CONTROLS/Dropdown(js)/index.html +161 -132
  66. package/styleguide/category/CONTROLS/File/index.html +78 -82
  67. package/styleguide/category/CONTROLS/Form/Control/index.html +78 -82
  68. package/styleguide/category/CONTROLS/Form/Field/index.html +78 -82
  69. package/styleguide/category/CONTROLS/Form/Plain/index.html +78 -82
  70. package/styleguide/category/CONTROLS/Input/index.html +80 -84
  71. package/styleguide/category/CONTROLS/MultiText(js)/index.html +105 -92
  72. package/styleguide/category/CONTROLS/Picklist(js)/index.html +165 -141
  73. package/styleguide/category/CONTROLS/Radio/index.html +78 -82
  74. package/styleguide/category/CONTROLS/Select/index.html +80 -84
  75. package/styleguide/category/CONTROLS/SelectButton(js)/index.html +147 -92
  76. package/styleguide/category/CONTROLS/Slider/index.html +78 -82
  77. package/styleguide/category/CONTROLS/Switch(js)/index.html +105 -93
  78. package/styleguide/category/CONTROLS/SyntaxInput(js)/index.html +89 -92
  79. package/styleguide/category/CONTROLS/Textarea/index.html +78 -82
  80. package/styleguide/category/{COMPONENT → CONTROLS}/Time(js)/index.html +111 -92
  81. package/styleguide/category/ELEMENTS/Box/index.html +78 -82
  82. package/styleguide/category/ELEMENTS/Icon/index.html +122 -82
  83. package/styleguide/category/ELEMENTS/Image/index.html +78 -82
  84. package/styleguide/category/ELEMENTS/List/index.html +78 -82
  85. package/styleguide/category/ELEMENTS/Table/index.html +78 -82
  86. package/styleguide/category/ELEMENTS/Tag/index.html +78 -82
  87. package/styleguide/category/ELEMENTS/Title/index.html +78 -82
  88. package/styleguide/category/LAYOUT/Container/index.html +78 -82
  89. package/styleguide/category/LAYOUT/Grid/index.html +78 -82
  90. package/styleguide/category/LAYOUT/Splitter(js)/index.html +89 -92
  91. package/styleguide/category/UTILITY/index.html +80 -82
  92. package/styleguide/category/Utils/index.html +97 -71
  93. package/styleguide/color.html +66 -65
  94. package/styleguide/index.html +66 -65
  95. package/styleguide/tag/javascript/index.html +1984 -1011
  96. package/styleguide/tag/v.0.1.0/index.html +2730 -1568
  97. package/assets/NotoSansCJKkr-Black.otf +0 -0
  98. package/assets/NotoSansCJKkr-Bold.otf +0 -0
  99. package/assets/NotoSansCJKkr-DemiLight.otf +0 -0
  100. package/assets/NotoSansCJKkr-Light.otf +0 -0
  101. package/assets/NotoSansCJKkr-Medium.otf +0 -0
  102. package/assets/NotoSansCJKkr-Regular.otf +0 -0
  103. package/assets/NotoSansCJKkr-Thin.otf +0 -0
  104. package/assets/NotoSansMonoCJKkr-Bold.otf +0 -0
  105. package/assets/NotoSansMonoCJKkr-Regular.otf +0 -0
  106. package/assets/README +0 -11
  107. package/dist/styles/zt-nac.css +0 -3
@@ -1,40 +1,42 @@
1
-
2
- var components = {
3
- Alert: function(){
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */
3
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
4
+ const components = {
5
+ Alert: function () {
4
6
  Gn.create('button', {
5
7
  target: '.new-alert',
6
- onClick: function(){
8
+ onClick: function () {
7
9
  Gn.create('alert', {
8
- textSets : { alertText: 'alert이 생성됩니다.'},
10
+ textSets: { alertText: 'alert이 생성됩니다.' },
9
11
  hasClose: false,
10
12
  hasConfirm: true,
11
13
  hasCancel: true,
12
- onConfirm: function(){
14
+ onConfirm: function () {
13
15
  console.log('확인 되었습니다.');
14
16
  },
15
- onClose: function(){
17
+ onClose: function () {
16
18
  console.log('취소 되었습니다.');
17
19
  }
18
20
  });
19
21
  }
20
22
  });
21
23
  },
22
- Button: function(){
24
+ Button: function () {
23
25
  Gn.create('button', {
24
26
  target: 'button[name=new-button]',
25
27
  size: 'medium',
26
28
  icon: 'home',
27
- onClick: function(){
29
+ onClick: function () {
28
30
  console.log('버튼을 클릭했습니다.');
29
31
  }
30
32
  });
31
33
  },
32
- Calendar: function(){
34
+ Calendar: function () {
33
35
  Gn.create('calendar', {
34
36
  target: '.new-calendar',
35
37
  value: '2021-04-01',
36
38
  onSelect: function (v) {
37
- console.log('선택한 날짜: '+ v)
39
+ console.log('선택한 날짜: ' + v);
38
40
  },
39
41
  max: '2021-04-30',
40
42
  min: '2021-03-01'
@@ -42,37 +44,40 @@ var components = {
42
44
  Gn.create('calendar', {
43
45
  target: '.new-calendar1',
44
46
  onSelect: function (v) {
45
- console.log('선택한 날짜: '+ v)
47
+ console.log('선택한 날짜: ' + v);
46
48
  },
47
49
  dateType: 'datetime',
48
50
  max: '1M',
49
51
  min: '-1M'
50
52
  });
51
53
  },
52
- Chart: function(){
53
- let clickEvt = {
54
- dataPointSelection: function(event, chartContext, {seriesIndex, dataPointIndex, w}) {
55
- console.log(w.config.series)
56
- event && console.log('data', seriesIndex, dataPointIndex)
54
+ Chart: function () {
55
+ const clickEvt = {
56
+ dataPointSelection: function (event, chartContext, { seriesIndex, dataPointIndex, w }) {
57
+ console.log(w.config.series);
58
+ event && console.log('data', seriesIndex, dataPointIndex);
57
59
  },
58
- markerClick: function(event, chartContext, {seriesIndex, dataPointIndex, w}) {
59
- console.log(w.config.series[seriesIndex])
60
- console.log('marker', seriesIndex, dataPointIndex)
60
+ markerClick: function (event, chartContext, { seriesIndex, dataPointIndex, w }) {
61
+ console.log(w.config.series[seriesIndex]);
62
+ console.log('marker', seriesIndex, dataPointIndex);
61
63
  }
62
- }
64
+ };
63
65
  Gn.create('chart', {
64
66
  target: '.lineChart',
65
67
  type: 'line',
66
68
  chart: {
67
69
  events: clickEvt
68
70
  },
69
- series: [{
70
- name: 'data1',
71
- data: [30, 200, 100, 400, 150, 250],
72
- },{
73
- name: 'data2',
74
- data: [50, 20, 10, 40, 15, 25]
75
- }],
71
+ series: [
72
+ {
73
+ name: 'data1',
74
+ data: [30, 200, 100, 400, 150, 250]
75
+ },
76
+ {
77
+ name: 'data2',
78
+ data: [50, 20, 10, 40, 15, 25]
79
+ }
80
+ ],
76
81
  xaxis: {
77
82
  type: 'datetime',
78
83
  categories: ['2018-09-19T00:00:00.000Z', '2018-09-19T01:30:00.000Z', '2018-09-19T02:30:00.000Z', '2018-09-19T03:30:00.000Z', '2018-09-19T04:30:00.000Z', '2018-09-19T05:30:00.000Z']
@@ -85,10 +90,12 @@ var components = {
85
90
  chart: {
86
91
  events: clickEvt
87
92
  },
88
- series: [{
89
- name: 'data1',
90
- data: [30, 200, 100, 400, 150, 250],
91
- }],
93
+ series: [
94
+ {
95
+ name: 'data1',
96
+ data: [30, 200, 100, 400, 150, 250]
97
+ }
98
+ ],
92
99
  xaxis: {
93
100
  type: 'datetime',
94
101
  categories: ['2018-09-19T00:00:00.000Z', '2018-09-19T01:30:00.000Z', '2018-09-19T02:30:00.000Z', '2018-09-19T03:30:00.000Z', '2018-09-19T04:30:00.000Z', '2018-09-19T05:30:00.000Z']
@@ -102,13 +109,16 @@ var components = {
102
109
  stacked: true,
103
110
  events: clickEvt
104
111
  },
105
- series: [{
106
- name: 'data1',
107
- data: [30, 200, 100, 400, 150, 250],
108
- },{
109
- name: 'data2',
110
- data: [50, 20, 10, 40, 15, 25]
111
- }],
112
+ series: [
113
+ {
114
+ name: 'data1',
115
+ data: [30, 200, 100, 400, 150, 250]
116
+ },
117
+ {
118
+ name: 'data2',
119
+ data: [50, 20, 10, 40, 15, 25]
120
+ }
121
+ ],
112
122
  width: '45%'
113
123
  });
114
124
  Gn.create('chart', {
@@ -117,11 +127,13 @@ var components = {
117
127
  chart: {
118
128
  events: clickEvt
119
129
  },
120
- series: [{
121
- data: [30, 200, 100, 400, 150, 250],
122
- }],
130
+ series: [
131
+ {
132
+ data: [30, 200, 100, 400, 150, 250]
133
+ }
134
+ ],
123
135
  xaxis: {
124
- categories: ['data1','data2','data3','data4','data5','data6']
136
+ categories: ['data1', 'data2', 'data3', 'data4', 'data5', 'data6']
125
137
  },
126
138
  width: '45%'
127
139
  });
@@ -132,7 +144,7 @@ var components = {
132
144
  events: clickEvt
133
145
  },
134
146
  series: [30, 200, 100, 400],
135
- labels: ['data1','data2','data3','data4']
147
+ labels: ['data1', 'data2', 'data3', 'data4']
136
148
  });
137
149
  Gn.create('chart', {
138
150
  target: '.donutChart',
@@ -141,7 +153,7 @@ var components = {
141
153
  events: clickEvt
142
154
  },
143
155
  series: [30, 200, 100, 400, 150, 250],
144
- labels: ['data1','data2','data3','data4','data5','data6']
156
+ labels: ['data1', 'data2', 'data3', 'data4', 'data5', 'data6']
145
157
  });
146
158
  Gn.create('chart', {
147
159
  target: '.gaugeChart',
@@ -161,21 +173,39 @@ var components = {
161
173
  series: [30],
162
174
  labels: ['data1']
163
175
  });
164
- Gn.util.each(Gn.util.$$('.aigis-module > p'), function(_blank){
165
- Gn.util.remove(_blank)
166
- })
176
+ Gn.util.each(Gn.util.$$('.aigis-module > p'), function (_blank) {
177
+ Gn.util.remove(_blank);
178
+ });
167
179
  },
168
- Colorpicker: function(){
180
+ Colorpicker: function () {
169
181
  Gn.create('colorpicker', {
170
182
  target: '.colorPicker',
171
- size: 'large'
183
+ size: 'large',
184
+ editable: true,
185
+ onChange: color => {
186
+ console.log('color', color);
187
+ }
172
188
  });
173
189
  Gn.create('colorpicker', {
174
190
  target: '.colorPicker2',
175
- value: '#27290e'
191
+ value: '#27005d',
192
+ size: 'medium'
193
+ });
194
+ Gn.create('colorpicker', {
195
+ target: '.colorPicker3',
196
+ readonly: false,
197
+ value: '#aed2ff',
198
+ onChange: color => {
199
+ console.log('color', color);
200
+ }
201
+ });
202
+ Gn.create('colorpicker', {
203
+ target: '.colorPicker4',
204
+ value: '#e4f1ff',
205
+ size: 'small'
176
206
  });
177
207
  },
178
- Datepicker: function(){
208
+ Datepicker: function () {
179
209
  Gn.create('datepicker', {
180
210
  target: '.new-datepicker',
181
211
  value: '',
@@ -191,16 +221,28 @@ var components = {
191
221
  hasIcon: false
192
222
  });
193
223
  },
194
- Dropdown: function(){
224
+ Dropdown: function () {
225
+ Gn.create('dropdown', {
226
+ target: '.new-dropdown0',
227
+ onChange: function (val, txt, values) {
228
+ console.log('선택된 값은 [ ' + val + ' ]입니다.');
229
+ },
230
+ width: '150px',
231
+ data: [
232
+ { value: '1', text: '옵션 1' },
233
+ { value: '2', text: '옵션 2' },
234
+ { value: '3', text: '옵션 3' },
235
+ { value: '4', text: '옵션 4' },
236
+ { value: '5', text: '옵션 5' }
237
+ ]
238
+ });
195
239
  Gn.create('dropdown', {
196
240
  target: '.new-dropdown1',
197
- className: 'is-top',
198
- onChange: function(val, txt, values){
199
- console.log('선택된 값은 [ ' + val + ' ]입니다.')
241
+ onChange: function (val, txt, values) {
242
+ console.log('선택된 값은 [ ' + val + ' ]입니다.');
200
243
  },
201
244
  width: '150px',
202
245
  value: 'item2,item5',
203
- type: 'opened',
204
246
  multiple: true,
205
247
  data: [
206
248
  { value: 'item1', text: '항목1' },
@@ -214,24 +256,27 @@ var components = {
214
256
  });
215
257
  Gn.create('dropdown', {
216
258
  target: '.new-dropdown2',
217
- onChange: function(val, txt){
218
- console.log('선택된 항목은 [ ' + txt + ' ]입니다.')
219
- },
220
- textSets: {
221
- selectText: '골라라'
222
- },
223
- value: 'item2',
224
- hasSearch: true,
225
- color: 'danger'
259
+ data: [
260
+ [
261
+ { value: 'item1', text: 'Group1-항목1' },
262
+ { value: 'item2', text: 'Group1-항목2' },
263
+ { value: 'item3', text: 'Group1-항목3' }
264
+ ],
265
+ [
266
+ { value: 'item4', text: 'Group2-항목4' },
267
+ { value: 'item5', text: 'Group2-항목5' }
268
+ ]
269
+ ]
226
270
  });
227
271
  Gn.create('dropdown', {
228
272
  target: '.new-dropdown3',
229
273
  data: [
230
- { value: 'item1', text: '항목1' },
231
- { value: 'item2', text: '항목2' },
232
- { value: 'item3', text: '항목3' },
274
+ { value: '', text: '<선택안함>' },
275
+ { value: 'item1', icon: 'home', text: '항목1' },
276
+ { value: 'item2', icon: 'star', text: '항목2' },
277
+ { value: 'item3', icon: 'heart', text: '항목3' },
233
278
  { value: 'item4', text: '항목4' },
234
- { value: 'item5', text: '항목5', html: '<p><strong>text</strong>가 있는 항목은 선택 시 <u>text</u>로 대체됩니다.</p>' },
279
+ { value: 'item5', text: '&lt;항목5&gt;', html: '<p><strong>text</strong>가 있는 항목은 선택 시 <u>text</u>로 대체됩니다.</p>' },
235
280
  { value: 'item6', html: '<p><strong>text</strong>가 없는 항목은 <u>선택</u>할 수 없습니다.</p>' }
236
281
  ],
237
282
  width: 150,
@@ -239,92 +284,107 @@ var components = {
239
284
  });
240
285
  Gn.create('dropdown', {
241
286
  target: '.new-dropdown4',
242
- data: [
243
- [
244
- { value: 'item1', text: 'Group1-항목1' },
245
- { value: 'item2', text: 'Group1-항목2' },
246
- { value: 'item3', text: 'Group1-항목3' }
247
- ],[
248
- { value: 'item4', text: 'Group2-항목4' },
249
- { value: 'item5', text: 'Group2-항목5' }
250
- ]
251
- ]
287
+ onChange: function (val, txt) {
288
+ console.log('선택된 항목은 [ ' + txt + ' ]입니다.');
289
+ },
290
+ textSets: {
291
+ selectText: '골라라'
292
+ },
293
+ value: 'item2',
294
+ hasSearch: true,
295
+ color: 'danger'
252
296
  });
253
297
  },
254
- Datagrid: function(){
298
+ Datagrid: function () {
255
299
  Gn.create('datagrid', {
256
300
  target: '.new-grid',
257
- headers: [{
258
- label: 'no',
259
- key: 'number',
260
- onSelect: function(){
261
- console.log(arguments)
262
- },
263
- template: function(k, d) {
264
- return '<span>'+d[k]+'</span>'
265
- },
266
- draggable: true,
267
- sortable: true,
268
- sort: 'asc'
269
- }, {
270
- label: '제목',
271
- key: 'title',
272
- style: {
273
- width: '250px'
301
+ headers: [
302
+ {
303
+ label: 'no',
304
+ key: 'number',
305
+ onSelect: function () {
306
+ // eslint-disable-next-line prefer-rest-params
307
+ console.log(arguments);
308
+ },
309
+ template: function (k, d) {
310
+ return '<span>' + d[k] + '</span>';
311
+ },
312
+ draggable: true,
313
+ sortable: true,
314
+ sort: 'asc'
274
315
  },
275
- className: 'has-text-right',
276
- draggable: true,
277
- bodyClass: 'has-text-left',
278
- sortable: true
279
- }, {
280
- label: '날짜',
281
- key: 'date',
282
- style: {
283
- width: '150px'
316
+ {
317
+ label: '제목',
318
+ key: 'title',
319
+ style: {
320
+ width: '250px'
321
+ },
322
+ className: 'has-text-right',
323
+ draggable: true,
324
+ bodyClass: 'has-text-left',
325
+ sortable: true
284
326
  },
285
- className: 'has-text-center',
286
- bodyClass: 'has-text-left',
287
- }],
288
- data:[{
289
- number: '1',
290
- title: '하나',
291
- date: '2020-09-19',
292
- desc: 'hello, world',
293
- child : [{
294
- number: '1-1',
295
- title: '1-하나',
296
- date: '2020-09-19'
297
- }, {
298
- number: '1-2',
299
- title: '1-둘',
327
+ {
328
+ label: '날짜',
329
+ key: 'date',
330
+ style: {
331
+ width: '150px'
332
+ },
333
+ className: 'has-text-center',
334
+ bodyClass: 'has-text-left'
335
+ }
336
+ ],
337
+ data: [
338
+ {
339
+ number: '1',
340
+ title: '하나',
300
341
  date: '2020-09-19',
301
342
  desc: 'hello, world',
302
- child: [{
303
- number: '1-2-1',
304
- title: '1-둘-1',
305
- date: '2020-09-19',
306
- desc: 'hello, world',
307
- child: [{
308
- number: '1-2-1-1',
309
- title: '1-둘-1-1',
310
- desc: 'hello, world',
343
+ child: [
344
+ {
345
+ number: '1-1',
346
+ title: '1-하나',
311
347
  date: '2020-09-19'
312
- }]
313
- }]
314
- }]
315
- }, {
316
- number: '2',
317
- title: '',
318
- date: '2020-09-19',
319
- desc: 'hello, world'
320
- }],
321
- onSort: function(column){
322
- console.log('column',column);
348
+ },
349
+ {
350
+ number: '1-2',
351
+ title: '1-둘',
352
+ date: '2020-09-19',
353
+ desc: 'hello, world',
354
+ child: [
355
+ {
356
+ number: '1-2-1',
357
+ title: '1-둘-1',
358
+ date: '2020-09-19',
359
+ desc: 'hello, world',
360
+ child: [
361
+ {
362
+ number: '1-2-1-1',
363
+ title: '1-둘-1-1',
364
+ desc: 'hello, world',
365
+ date: '2020-09-19'
366
+ }
367
+ ]
368
+ }
369
+ ]
370
+ }
371
+ ],
372
+ color: 'is-danger-light'
373
+ },
374
+ {
375
+ number: '2',
376
+ title: '둘',
377
+ date: '2020-09-19',
378
+ desc: 'hello, world'
379
+ }
380
+ ],
381
+ onSort: function (column) {
382
+ console.log('column', column);
323
383
  },
324
- onDragEnd: function(col, position){
325
- console.log(col, position)
384
+ onDragEnd: function (col, position) {
385
+ console.log(col, position);
326
386
  },
327
- onToggle: function(type, row, n){
387
+ onToggle: function (type, row, n) {
328
388
  /* console.log(type, row, n)
329
389
  // 이렇게 하면 펼쳐질때마다 해당 로우에 2개의 자식을 바인딩한다.
330
390
  type === 'expanded' && this.addChild(n, [{
@@ -337,107 +397,240 @@ var components = {
337
397
  date: '2020-02-02'
338
398
  }]) */
339
399
  },
340
- onCheckAll: function(ggg){
341
- console.log('ggg',ggg)
400
+ onCheckAll: function (ggg) {
401
+ console.log('ggg', ggg);
342
402
  },
343
- onDoubleClick: function(e){
344
- console.log('dbclick', e)
403
+ onDoubleClick: function (e) {
404
+ console.log('dbclick', e);
345
405
  },
346
- hasCheck: true
406
+ hasCheck: true,
407
+ hasDelete: true
347
408
  });
348
409
  Gn.create('datagrid', {
349
410
  target: '.new-grid2',
350
- headers: [{
351
- label: 'row data numbers',
352
- key: 'number',
353
- style: { width: '50px'},
354
- sortable: true,
355
- draggable: true
356
- }, {
357
- label: '제목',
358
- key: 'title',
359
- sortable: true,
360
- draggable: true
361
- }, {
362
- label: '날짜를 표시하는 컬럼입니다',
363
- key: 'date',
364
- style: {
365
- width: '100px'
411
+ headers: [
412
+ {
413
+ label: 'row data numbers',
414
+ key: 'number',
415
+ style: { width: '50px' },
416
+ sortable: true,
417
+ draggable: true,
418
+ template: function (k, d) {
419
+ return '<span>' + d[k] + '</span>';
420
+ }
366
421
  },
367
- tipField: 'desc'
368
- }, {
369
- label: '헤더명도길어집니다',
370
- key: 'desc',
371
- style: { width: '50px' }
372
- }],
373
- data:[
422
+ {
423
+ label: '제목',
424
+ key: 'title',
425
+ sortable: true,
426
+ draggable: true,
427
+ template: function (k, d) {
428
+ return '<span>' + d[k] + '</span>';
429
+ }
430
+ },
431
+ {
432
+ label: '날짜를 표시하는 컬럼입니다',
433
+ key: 'date',
434
+ style: {
435
+ width: '100px'
436
+ },
437
+ tipField: 'desc'
438
+ },
439
+ {
440
+ label: '헤더명도길어집니다',
441
+ key: 'desc',
442
+ style: { width: '50px' }
443
+ }
444
+ ],
445
+ data: [
374
446
  {
375
447
  number: '1',
376
448
  title: '하나',
377
449
  date: '2020-09-19'
378
- }, {
450
+ },
451
+ {
379
452
  number: '232342333',
380
453
  title: 'Lorem labore culpa voluptate proident ad et id nostrud excepteur incididunt ut officia et ullamco.',
381
454
  date: '2020-09-19',
382
455
  desc: 'Voluptate enim culpa anim dolor magna excepteur ullamco id aliquip consequat ullamco voluptate consectetur.'
383
- },{
456
+ },
457
+ {
384
458
  number: '1',
385
459
  title: '하나',
386
- date: '2020-09-19'
387
- }, {
460
+ date: '2020-09-19',
461
+ color: 'is-warning-light'
462
+ },
463
+ {
388
464
  number: '232342333',
389
465
  title: 'Lorem labore culpa voluptate proident ad et id nostrud excepteur incididunt ut officia et ullamco.',
390
466
  date: '2020-09-19',
391
467
  desc: 'Voluptate enim culpa anim dolor magna excepteur ullamco id aliquip consequat ullamco voluptate consectetur.'
392
- },{
468
+ },
469
+ {
393
470
  number: '1',
394
471
  title: '하나',
395
472
  date: '2020-09-19'
396
- }, {
473
+ },
474
+ {
397
475
  number: '232342333',
398
- title: 'Lorem labore culpa voluptate proident ad et id nostrud excepteur incididunt ut officia et ullamco.Lorem labore culpa voluptate proident ad et id nostrud excepteur incididunt ut officia et ullamco.',
476
+ title:
477
+ 'Lorem labore culpa voluptate proident ad et id nostrud excepteur incididunt ut officia et ullamco.Lorem labore culpa voluptate proident ad et id nostrud excepteur incididunt ut officia et ullamco.',
399
478
  date: '2020-09-19',
400
479
  desc: 'Voluptate enim culpa anim dolor magna excepteur ullamco id aliquip consequat ullamco voluptate consectetur.'
401
- },{
480
+ },
481
+ {
402
482
  number: '1',
403
483
  title: '하나',
404
484
  date: '2020-09-19'
405
- }, {
485
+ },
486
+ {
406
487
  number: '232342333',
407
488
  title: 'Lorem labore culpa voluptate proident ad et id nostrud excepteur incididunt ut officia et ullamco.',
408
489
  date: '2020-09-19',
409
490
  desc: 'Voluptate enim culpa anim dolor magna excepteur ullamco id aliquip consequat ullamco voluptate consectetur.'
410
- },{
491
+ },
492
+ {
411
493
  number: '1',
412
494
  title: '하나',
413
495
  date: '2020-09-19'
414
- }, {
496
+ },
497
+ {
415
498
  number: '232342333',
416
499
  title: 'Lorem labore culpa voluptate proident ad et id nostrud excepteur incididunt ut officia et ullamco.',
417
500
  date: '2020-09-19',
418
501
  desc: 'Voluptate enim culpa anim dolor magna excepteur ullamco id aliquip consequat ullamco voluptate consectetur.'
419
502
  }
420
503
  ],
421
- sort: function(column){
422
- console.log('column',column);
504
+ sort: function (column) {
505
+ console.log('column', column);
423
506
  },
424
- onSelect: function(row, index){
425
- console.log('row',row, index)
507
+ onSelect: function (row, index) {
508
+ console.log('row', row, index);
509
+ this.showDetail(index);
426
510
  },
427
- onDoubleClick: function(e){
428
- console.log('dbclick', e)
511
+ onDoubleClick: function (e) {
512
+ console.log('dbclick', e);
429
513
  },
430
514
  isEllipsis: true,
431
515
  hasCheck: true,
432
- fixHeader: true
433
- })
516
+ hasOrder: true,
517
+ textSets: {
518
+ orderLabel: '이동'
519
+ },
520
+ hasDelete: true,
521
+ fixHeader: true,
522
+ onChange: updatedData => {
523
+ console.log(updatedData);
524
+ }
525
+ });
526
+ },
527
+ Datalist: function () {
528
+ Gn.create('datalist', {
529
+ target: '.new-list',
530
+ headers: [
531
+ {
532
+ label: 'no',
533
+ key: 'number',
534
+ bodyClass: 'has-text-left',
535
+ style: {
536
+ width: '50px',
537
+ 'text-align': 'center'
538
+ }
539
+ },
540
+ {
541
+ label: '제목',
542
+ key: 'title',
543
+ className: 'main-title'
544
+ },
545
+ {
546
+ label: '날짜',
547
+ key: 'date'
548
+ },
549
+ {
550
+ label: '설명',
551
+ key: 'desc'
552
+ },
553
+ {
554
+ label: '기타',
555
+ key: 'etc'
556
+ }
557
+ ],
558
+ data: [
559
+ {
560
+ number: '1',
561
+ title: '오늘',
562
+ date: '2023-07-28',
563
+ desc: 'hellojj'
564
+ },
565
+ {
566
+ number: '2',
567
+ title: '내일',
568
+ date: '2023-07-29',
569
+ desc: 'chaaaaaa'
570
+ }
571
+ ],
572
+ onChange: updatedData => {
573
+ console.log('updatedData', updatedData);
574
+ }
575
+ });
576
+ Gn.create('datalist', {
577
+ target: '.new-list2',
578
+ headers: [
579
+ {
580
+ label: 'row-number',
581
+ key: 'number'
582
+ },
583
+ {
584
+ label: '제목',
585
+ key: 'title'
586
+ },
587
+ {
588
+ label: '날짜',
589
+ key: 'date'
590
+ },
591
+ {
592
+ label: '상세설명',
593
+ key: 'desc'
594
+ },
595
+ {
596
+ label: '숨김',
597
+ key: 'ishidden',
598
+ isHidden: true
599
+ }
600
+ ],
601
+ data: [
602
+ { number: 1, title: '첫 번째', date: '2023-07-28', desc: '이것은 첫 번째 요소입니다.', ishidden: 'datalist에 표시되지 않습니다.' },
603
+ { number: 2, title: '두 번째', date: '2023-07-29', desc: '이것은 두 번째 요소입니다.', ishidden: 'datalist에 표시되지 않습니다.' },
604
+ { number: 3, title: '세 번째', date: '2023-07-30', desc: '', ishidden: 'datalist에 표시되지 않습니다.' },
605
+ { number: 4, title: '', date: '2023-07-31', desc: '이것은 네 번째 요소입니다.', ishidden: 'datalist에 표시되지 않습니다.' },
606
+ { number: 5, title: '다섯 번째', date: '2023-08-01', desc: '이것은 다섯 번째 요소입니다.' },
607
+ { number: 6, title: '여섯 번째', date: '2023-08-02 ~ 2023-11-02', desc: '이것은 여섯 번째 요소입니다.' },
608
+ { number: 7, title: '일곱 번째 일곱 번째 일곱 번째', date: '2023-08-03', desc: '이것은 일곱 번째 요소입니다.' },
609
+ {
610
+ number: 8,
611
+ title: '여덟 번째',
612
+ date: '2023-08-08',
613
+ desc: '이것은 여덟 번째 요소입니다.이것은 여덟 번째 요소입니다.이것은 여덟 번째 요소입니다.이것은 여덟 번째 요소입니다.이것은 여덟 번째 요소입니다.이것은 여덟 번째 요소입니다.이것은 여덟 번째 요소입니다.이것은 여덟 번째 요소입니다.이것은 여덟 번째 요소입니다.이것은 여덟 번째 요소입니다.이것은 여덟 번째 요소입니다.이것은 여덟 번째 요소입니다.'
614
+ }
615
+ ],
616
+ hasUpdate: true,
617
+ hasDelete: true,
618
+ onUpdate: function (row, index) {
619
+ console.log('row', row);
620
+ console.log('index', index);
621
+ },
622
+ onChange: updatedData => {
623
+ console.log('updatedData', updatedData);
624
+ },
625
+ isHiddenEmpty: true
626
+ });
434
627
  },
435
- Growl: function() {
436
- Gn.create('button', {
628
+ Growl: function () {
629
+ Gn.create('button', {
437
630
  target: '.new-growl1',
438
- onClick: function(){
631
+ onClick: function () {
439
632
  Gn.create('growl', {
440
- textSets : {message: '메세지가 생성됩니다!'},
633
+ textSets: { message: '메세지가 생성됩니다!' },
441
634
  duration: 3000,
442
635
  positionX: 'right',
443
636
  positionY: 'top',
@@ -445,82 +638,89 @@ var components = {
445
638
  });
446
639
  }
447
640
  });
448
- Gn.create('button', {
641
+ Gn.create('button', {
449
642
  target: '.new-growl2',
450
- onClick: function(){
643
+ onClick: function () {
451
644
  Gn.create('growl', {
452
- textSets : {message: '메세지가 생성됩니다!'},
645
+ textSets: { message: '메세지가 생성됩니다!' },
453
646
  duration: 3000
454
647
  });
455
648
  }
456
649
  });
457
650
  },
458
- JsonView: function(){
651
+ JsonView: function () {
459
652
  Gn.create('jsonview', {
460
653
  target: '.new-jsonview',
461
654
  schema: {
462
- Type: "object",
463
- Disp: "aws sample 정보",
464
- Description: "aws sample 정보 설명",
465
- Properties: {
466
- _id : {
467
- Type: "string",
468
- Disp: "인스턴스ID",
469
- Description: "인스턴스ID입니다."
470
- },
471
- _type: {
472
- Type: "string",
473
- Disp: "수집기타입"
474
- },
475
- test1: {
476
- Type: "number",
477
- Disp: "Test1 Value"
478
- },
479
- test2: {
480
- Type: "number",
481
- Disp: "Test2 Value"
482
- },
483
- updated: {
484
- Type: "datetime",
485
- Disp: '마지막 업데이트'
486
- },
487
- nodes: {
488
- Type: "object",
489
- Disp: "노드정보",
490
- Properties: {
491
- obj1: {
492
- Type: "string",
493
- Disp: "obj1"
494
- },
495
- obj2: {
496
- Type: "integer",
497
- Disp: "obj2"
498
- }
655
+ Type: 'array',
656
+ Disp: 'aws sample 정보',
657
+ Description: 'aws sample 정보 설명',
658
+ Items: {
659
+ Type: 'object',
660
+ Properties: {
661
+ index: {
662
+ Type: 'checkbox',
663
+ Disp: ''
664
+ },
665
+ _id: {
666
+ Type: 'string',
667
+ Disp: '인스턴스ID',
668
+ Description: '인스턴스ID입니다.'
669
+ },
670
+ _type: {
671
+ Type: 'string',
672
+ Disp: '수집기타입'
673
+ },
674
+ test1: {
675
+ Type: 'number',
676
+ Disp: 'Test1 Value'
677
+ },
678
+ test2: {
679
+ Type: 'number',
680
+ Disp: 'Test2 Value'
681
+ },
682
+ updated: {
683
+ Type: 'datetime',
684
+ Disp: '마지막 업데이트',
685
+ $ref: '#/$defs/Datas'
686
+ },
687
+ nodes: {
688
+ Type: 'object',
689
+ Disp: '노드정보',
690
+ Properties: {
691
+ obj1: {
692
+ Type: 'string',
693
+ Disp: 'obj1'
694
+ },
695
+ obj2: {
696
+ Type: 'integer',
697
+ Disp: 'obj2'
698
+ }
699
+ }
499
700
  }
500
701
  },
501
- datas: {
502
- $ref: '#/$defs/Datas'
503
- }
702
+ Required: ['_type'],
703
+ Hidden: ['test1', 'test2'],
704
+ SortItems: ['_id']
504
705
  },
505
706
  $defs: {
506
- Datas: {
507
- Type: "array",
508
- Disp: "추가 데이터 정보",
707
+ Datas: {
708
+ Type: 'array',
709
+ Disp: '추가 데이터 정보',
509
710
  Items: {
510
- Type: "object",
711
+ Type: 'object',
511
712
  Properties: {
512
713
  field1: {
513
- Type: "string",
514
- Disp: '필드 1',
515
- RefURL: 'https://search.naver.com/search.naver?query={{parent.field2}}'
714
+ Type: 'string',
715
+ Disp: '필드 1'
516
716
  },
517
717
  field2: {
518
- Type: "number"
718
+ Type: 'number'
519
719
  },
520
720
  datas: {
521
- Type: ["array","string"],
721
+ Type: ['array', 'string'],
522
722
  Items: {
523
- Type: "object",
723
+ Type: 'object',
524
724
  Properties: {
525
725
  id: {
526
726
  Type: 'number',
@@ -536,54 +736,104 @@ var components = {
536
736
  }
537
737
  }
538
738
  }
539
- },
540
- Required: ['_id', '_type'],
541
- Hidden: ['test1', 'test2']
739
+ }
542
740
  },
543
- data: {
544
- _id: 'd3185f78-7221-103a-8002-0272452c0706',
545
- _type: 'aws',
546
- test1: 1234,
547
- test2: 1231.23,
548
- updated: 1603427314109,
549
- nodes : {
550
- obj1: 'value',
551
- obj2: 123
552
- },
553
- datas: [
554
- {
555
- field1: 'test1',
556
- field2: 123,
557
- datas: [
558
- {
559
- id:1,
560
- text: 'data1'
561
- },{
562
- id:2,
563
- text: 'data2'
564
- }
565
- ]
741
+ data: [
742
+ {
743
+ index: 0,
744
+ _id: 'd3185f78-7221-103a-8002-0272452c0706',
745
+ _type: 'aws',
746
+ test1: 1234,
747
+ test2: 1231.23,
748
+ updated: 1603427314109,
749
+ nodes: {
750
+ obj1: 'value',
751
+ obj2: 123
566
752
  },
567
- {
568
- field1: 'test2',
569
- field2: 321,
570
- datas: [
571
- {
572
- id: 1,
573
- text: 'data3'
574
- },{
575
- id: 2,
576
- text: 'data4'
577
- }
578
- ]
753
+ Datas: [
754
+ {
755
+ field1: 'test1',
756
+ field2: 123,
757
+ datas: [
758
+ {
759
+ id: 1,
760
+ text: 'data1'
761
+ },
762
+ {
763
+ id: 2,
764
+ text: 'data2'
765
+ }
766
+ ]
767
+ },
768
+ {
769
+ field1: 'test2',
770
+ field2: 321,
771
+ datas: [
772
+ {
773
+ id: 1,
774
+ text: 'data3'
775
+ },
776
+ {
777
+ id: 2,
778
+ text: 'data4'
779
+ }
780
+ ]
781
+ },
782
+ {
783
+ field1: 'test2',
784
+ field2: 321,
785
+ datas: 'just text'
786
+ }
787
+ ]
788
+ },
789
+ {
790
+ index: 1,
791
+ _id: 'd3185f78-7221-103a-8002-0125213c0706',
792
+ _type: 'aws',
793
+ test1: 1234,
794
+ test2: 1231.23,
795
+ updated: 1603427314109,
796
+ nodes: {
797
+ obj1: 'value',
798
+ obj2: 123
579
799
  },
580
- {
581
- field1: 'test2',
582
- field2: 321,
583
- datas: "just text"
584
- }
585
- ]
586
- }
800
+ Datas: [
801
+ {
802
+ field1: 'test1',
803
+ field2: 123,
804
+ datas: [
805
+ {
806
+ id: 1,
807
+ text: 'data1'
808
+ },
809
+ {
810
+ id: 2,
811
+ text: 'data2'
812
+ }
813
+ ]
814
+ },
815
+ {
816
+ field1: 'test2',
817
+ field2: 321,
818
+ datas: [
819
+ {
820
+ id: 1,
821
+ text: 'data3'
822
+ },
823
+ {
824
+ id: 2,
825
+ text: 'data4'
826
+ }
827
+ ]
828
+ },
829
+ {
830
+ field1: 'test2',
831
+ field2: 321,
832
+ datas: 'just text'
833
+ }
834
+ ]
835
+ }
836
+ ]
587
837
  });
588
838
  Gn.create('jsonview', {
589
839
  target: '.new-rawview',
@@ -592,25 +842,27 @@ var components = {
592
842
  Gn.create('jsonview', {
593
843
  target: '.add-jsonview',
594
844
  schema: {
595
- Type: "array",
845
+ Type: 'array',
596
846
  Items: {
597
847
  Type: 'object',
598
848
  Properties: {
599
849
  bignum: {
600
- Type: "bignumber"
850
+ Type: 'bignumber'
601
851
  }
602
852
  }
603
853
  }
604
854
  },
605
- data: [{
606
- bignum: {
607
- CPU: 23.34,
608
- RAM: {
609
- value: 26,
610
- data: [0, 23, 33, 0]
855
+ data: [
856
+ {
857
+ bignum: {
858
+ CPU: 23.34,
859
+ RAM: {
860
+ value: 26,
861
+ data: [0, 23, 33, 0]
862
+ }
611
863
  }
612
864
  }
613
- }]
865
+ ]
614
866
  });
615
867
  Gn.create('jsonview', {
616
868
  target: '.type-string',
@@ -642,6 +894,23 @@ var components = {
642
894
  },
643
895
  data: 1603427314109
644
896
  });
897
+ Gn.create('jsonview', {
898
+ target: '.type-checkbox',
899
+ schema: {
900
+ Type: 'checkbox'
901
+ },
902
+ data: {
903
+ value: '100',
904
+ checked: true
905
+ }
906
+ });
907
+ Gn.create('jsonview', {
908
+ target: '.type-checkbox2',
909
+ schema: {
910
+ Type: 'checkbox'
911
+ },
912
+ data: 100
913
+ });
645
914
  Gn.create('jsonview', {
646
915
  target: '.type-html',
647
916
  schema: {
@@ -654,11 +923,11 @@ var components = {
654
923
  schema: {
655
924
  Type: 'array',
656
925
  Items: {
657
- Type: ['string','number'],
926
+ Type: ['string', 'number'],
658
927
  RefURL: 'https://search.naver.com/search.naver?query={{data}}'
659
928
  }
660
929
  },
661
- data: ['빨강','주황','노랑','초록','파랑']
930
+ data: ['빨강', '주황', '노랑', '초록', '파랑']
662
931
  });
663
932
  Gn.create('jsonview', {
664
933
  target: '.type-percent',
@@ -676,7 +945,7 @@ var components = {
676
945
  온도: 24,
677
946
  습도: {
678
947
  value: 60,
679
- data: [0,10,21,5,18]
948
+ data: [0, 10, 21, 5, 18]
680
949
  }
681
950
  }
682
951
  });
@@ -688,7 +957,7 @@ var components = {
688
957
  data: {
689
958
  type: 'donut',
690
959
  series: [30, 200, 100],
691
- labels: ['data1','data2','data3']
960
+ labels: ['data1', 'data2', 'data3']
692
961
  }
693
962
  });
694
963
  Gn.create('jsonview', {
@@ -739,55 +1008,56 @@ var components = {
739
1008
  }
740
1009
  }
741
1010
  },
742
- data: [{
743
- 'data-string': '부뚜막',
744
- 'data-number': 1489
745
- },{
746
- 'data-string': '솥뚜껑',
747
- 'data-number': 34
748
- }]
1011
+ data: [
1012
+ {
1013
+ 'data-string': '부뚜막',
1014
+ 'data-number': 1489
1015
+ },
1016
+ {
1017
+ 'data-string': '솥뚜껑',
1018
+ 'data-number': 34
1019
+ }
1020
+ ]
749
1021
  });
750
1022
  Gn.create('jsonview', {
751
1023
  target: '.path-key',
752
1024
  schema: {
753
- Type: "array",
1025
+ Type: 'array',
754
1026
  Items: {
755
- Type: "object",
1027
+ Type: 'object',
756
1028
  Properties: {
757
1029
  '$.COLLECTOR._id': {
758
- Type: "string",
759
- Disp: "인스턴스ID"
1030
+ Type: 'string',
1031
+ Disp: '인스턴스ID'
760
1032
  },
761
1033
  '$.COLLECTOR._type': {
762
- Type: "string",
763
- Disp: "타입"
1034
+ Type: 'string',
1035
+ Disp: '타입',
1036
+ $ref: '#/$defs/Datas'
764
1037
  },
765
1038
  '$.COLLECTOR.nodes.obj2': {
766
- Type: "number",
767
- Disp: "No"
768
- },
769
- '$.COLLECTOR.datas.datas': {
770
- $ref: '#/$defs/Datas'
1039
+ Type: 'number',
1040
+ Disp: 'No'
771
1041
  }
772
1042
  }
773
1043
  },
774
1044
  $defs: {
775
1045
  Datas: {
776
- Type: "array",
777
- Disp: "Datas",
1046
+ Type: 'array',
1047
+ Disp: 'Datas',
778
1048
  Items: {
779
- Type: "object",
1049
+ Type: 'object',
780
1050
  Properties: {
781
1051
  field1: {
782
- Type: "string",
1052
+ Type: 'string',
783
1053
  Disp: '필드1'
784
1054
  },
785
1055
  field2: {
786
- Type: "number",
1056
+ Type: 'number',
787
1057
  Disp: '필드2'
788
1058
  },
789
1059
  field3: {
790
- Type: "string",
1060
+ Type: 'string',
791
1061
  Disp: '필드3'
792
1062
  }
793
1063
  }
@@ -795,117 +1065,175 @@ var components = {
795
1065
  }
796
1066
  }
797
1067
  },
798
- data: [{
799
- COLLECTOR: {
800
- _id: 'data-1-id',
801
- _type: 'collector',
802
- test1: 0,
803
- test2: 0,
804
- nodes: {
805
- obj1: '',
806
- obj2: 0
807
- },
808
- datas: {
809
- field1: 'data-1',
810
- field2: 0,
811
- datas: [{
812
- field1: 'data-1',
813
- field2: 0,
814
- field3: 'data-1'
815
- }, {
1068
+ data: [
1069
+ {
1070
+ COLLECTOR: {
1071
+ _id: 'data-1-id',
1072
+ _type: 'collector',
1073
+ test1: 0,
1074
+ test2: 0,
1075
+ nodes: {
1076
+ obj1: '',
1077
+ obj2: 0
1078
+ },
1079
+ datas: {
816
1080
  field1: 'data-1',
817
1081
  field2: 0,
818
- field3: 'data-1'
819
- }]
1082
+ datas: [
1083
+ {
1084
+ field1: 'data-1',
1085
+ field2: 0,
1086
+ field3: 'data-1'
1087
+ },
1088
+ {
1089
+ field1: 'data-1',
1090
+ field2: 0,
1091
+ field3: 'data-1'
1092
+ }
1093
+ ]
1094
+ }
820
1095
  }
821
- }
822
- }, {
823
- COLLECTOR: {
824
- _id: 'data-2-id',
825
- _type: 'collector',
826
- test1: 1,
827
- test2: 1,
828
- nodes: {
829
- obj1: '',
830
- obj2: 1
831
- },
832
- datas: {
833
- field1: 'data-2',
834
- field2: 1,
835
- datas: [{
836
- field1: 'data-2',
837
- field2: 1,
838
- field3: 'data-2'
839
- },{
1096
+ },
1097
+ {
1098
+ COLLECTOR: {
1099
+ _id: 'data-2-id',
1100
+ _type: 'collector',
1101
+ test1: 1,
1102
+ test2: 1,
1103
+ nodes: {
1104
+ obj1: '',
1105
+ obj2: 1
1106
+ },
1107
+ datas: {
840
1108
  field1: 'data-2',
841
1109
  field2: 1,
842
- field3: 'data-2'
843
- }]
1110
+ datas: [
1111
+ {
1112
+ field1: 'data-2',
1113
+ field2: 1,
1114
+ field3: 'data-2'
1115
+ },
1116
+ {
1117
+ field1: 'data-2',
1118
+ field2: 1,
1119
+ field3: 'data-2'
1120
+ }
1121
+ ]
1122
+ }
844
1123
  }
845
1124
  }
846
- }]
1125
+ ]
1126
+ });
1127
+ Gn.create('jsonview', {
1128
+ target: '.converter-view',
1129
+ schema: {
1130
+ Type: 'array',
1131
+ Items: {
1132
+ Type: 'object',
1133
+ Properties: {
1134
+ name: {
1135
+ Type: 'string',
1136
+ Disp: '스위치명'
1137
+ },
1138
+ status: {
1139
+ Type: 'number',
1140
+ Disp: '동작상태',
1141
+ Converter: ['CodeImageConverter', 'OperStatus']
1142
+ }
1143
+ }
1144
+ }
1145
+ },
1146
+ data: [
1147
+ {
1148
+ name: '부뚜막',
1149
+ status: 1
1150
+ },
1151
+ {
1152
+ name: '솥뚜껑',
1153
+ status: 0
1154
+ }
1155
+ ],
1156
+ convert: (name, type, value) => {
1157
+ if (value === '1') {
1158
+ return '미동작';
1159
+ } else {
1160
+ return '동작';
1161
+ }
1162
+ }
847
1163
  });
848
1164
  },
849
- Message: function(){
850
- Gn.create('button', {
1165
+ Message: function () {
1166
+ Gn.create('button', {
851
1167
  target: '.new-message',
852
- onClick: function(){
1168
+ onClick: function () {
853
1169
  Gn.create('message', {
854
1170
  target: '.page-message',
855
- textSets : {message: '메세지가 생성됩니다!'}
1171
+ textSets: { message: '메세지가 생성됩니다!<br>잠시만 기다려주세요.' }
856
1172
  });
857
1173
  }
858
1174
  });
859
1175
  },
860
- MenuButton: function(){
1176
+ MenuButton: function () {
861
1177
  Gn.create('menubutton', {
862
- target: 'button[name=new-button]',
1178
+ target: 'button[name=new-button]',
863
1179
  size: 'normal',
864
- textSets:{
1180
+ textSets: {
865
1181
  buttonText: '메뉴버튼'
866
1182
  },
867
- onSelect: function(menu){
868
- console.log('선택된 메뉴는 ' + menu );
1183
+ onSelect: function (menu) {
1184
+ console.log('선택된 메뉴는 ' + menu);
869
1185
  },
870
- data: [[{
871
- text: 'menu1',
872
- value: 'menu1'
873
- },{
874
- text: 'menu2',
875
- value: 'menu2'
876
- }],[{
877
- text: '환경설정',
878
- html: '<span class="gn-icon is-small"><i class="fas fa-cogs"></i>설정</span>',
879
- value: 'menu1'
880
- },{
881
- text: 'Exit',
882
- value: 'exit'
883
- }]]
1186
+ data: [
1187
+ [
1188
+ {
1189
+ text: 'menu1',
1190
+ value: 'menu1'
1191
+ },
1192
+ {
1193
+ text: 'menu2',
1194
+ value: 'menu2'
1195
+ }
1196
+ ],
1197
+ [
1198
+ {
1199
+ text: '환경설정',
1200
+ html: '<span class="gn-icon is-small"><i class="fas fa-cogs"></i>설정</span>',
1201
+ value: 'menu1'
1202
+ },
1203
+ {
1204
+ text: 'Exit',
1205
+ value: 'exit'
1206
+ }
1207
+ ]
1208
+ ]
884
1209
  });
885
1210
  Gn.create('menubutton', {
886
- target: 'button[name=new-button2]',
1211
+ target: 'button[name=new-button2]',
887
1212
  style: 'simple',
888
1213
  icon: 'list',
889
- data: [{
890
- text: 'menu1',
891
- value: 'menu1'
892
- },{
893
- text: 'menu2',
894
- value: 'menu2'
895
- }]
1214
+ data: [
1215
+ {
1216
+ text: 'menu1',
1217
+ value: 'menu1'
1218
+ },
1219
+ {
1220
+ text: 'menu2',
1221
+ value: 'menu2'
1222
+ }
1223
+ ]
896
1224
  });
897
1225
  },
898
- Modal: function(){
1226
+ Modal: function () {
899
1227
  Gn.create('button', {
900
1228
  target: '.new-modal',
901
- onClick: function(){
1229
+ onClick: function () {
902
1230
  Gn.create('modal', {
903
- textSets : { title: '새로운 모달' },
1231
+ textSets: { title: '새로운 모달' },
904
1232
  hasConfirm: true,
905
1233
  hasCancel: true,
906
1234
  height: 600,
907
- onConfirm: function(){
908
- console.log('확인하였습니다.')
1235
+ onConfirm: function () {
1236
+ console.log('확인하였습니다.');
909
1237
  },
910
1238
  contents: '<ul class="gn-list is-medium"><li>Ad nisi excepteur nostrud in.</li><li>Commodo duis anim excepteur qui.</li><li>Centered Text</li></ul>'
911
1239
  });
@@ -913,10 +1241,11 @@ var components = {
913
1241
  });
914
1242
  Gn.create('button', {
915
1243
  target: '.new-popup',
916
- onClick: function(){
1244
+ onClick: function () {
917
1245
  Gn.create('modal', {
918
- textSets : { title: '새로운 팝업' },
919
- contents: '<table class="gn-table is-full"><tr><td>1</td><td>2</td><td>3</td><td>4</td></tr><tr class="is-primary-light"><td>5</td><td>6</td><td class="is-primary">7</td><td>8</td></tr><tr><td>9</td><td>10</td><td>11</td><td>12</td></tr><tr><td>13</td><td>14</td><td>15</td><td>16</td></tr></table>',
1246
+ textSets: { title: '새로운 팝업' },
1247
+ contents:
1248
+ '<table class="gn-table is-full"><tr><td>1</td><td>2</td><td>3</td><td>4</td></tr><tr class="is-primary-light"><td>5</td><td>6</td><td class="is-primary">7</td><td>8</td></tr><tr><td>9</td><td>10</td><td>11</td><td>12</td></tr><tr><td>13</td><td>14</td><td>15</td><td>16</td></tr></table>',
920
1249
  isModal: false,
921
1250
  draggable: true,
922
1251
  minimized: true,
@@ -925,13 +1254,13 @@ var components = {
925
1254
  }
926
1255
  });
927
1256
  },
928
- MultiText: function(){
1257
+ MultiText: function () {
929
1258
  Gn.create('multitext', {
930
1259
  target: '.default-multitext'
931
- })
1260
+ });
932
1261
  Gn.create('multitext', {
933
1262
  target: '.new-multitext',
934
- lang: ['en','ko','cn'],
1263
+ lang: ['en', 'ko', 'cn'],
935
1264
  value: {
936
1265
  en: 'hello',
937
1266
  ko: '안녕하세요',
@@ -939,12 +1268,12 @@ var components = {
939
1268
  },
940
1269
  rows: 1,
941
1270
  maxlength: 300
942
- })
1271
+ });
943
1272
  },
944
- Picklist: function(){
1273
+ Picklist: function () {
945
1274
  Gn.create('picklist', {
946
1275
  target: '.new-picklist',
947
- data : {
1276
+ data: {
948
1277
  source: [
949
1278
  { value: 'item1', text: '항목1' },
950
1279
  { value: 'item2', text: '항목2' },
@@ -955,18 +1284,20 @@ var components = {
955
1284
  { value: 'item7', text: '항목7' },
956
1285
  { value: 'item8', text: '항목8' }
957
1286
  ],
958
- target: [],
1287
+ target: []
959
1288
  },
1289
+ hasSourceSearch: true,
1290
+ hasTargetSearch: true,
960
1291
  width: '80%',
961
1292
  height: 180,
962
- onChange: function(s,t){
963
- console.log(s, t)
1293
+ onChange: function (s, t) {
1294
+ console.log(s, t);
964
1295
  },
965
1296
  orderable: 'target'
966
1297
  });
967
1298
  Gn.create('picklist', {
968
1299
  target: '.new-picklist-v',
969
- data : {
1300
+ data: {
970
1301
  source: [
971
1302
  { value: '항목1', text: 'item1' },
972
1303
  { value: '항목2', text: 'item2' },
@@ -978,87 +1309,156 @@ var components = {
978
1309
  },
979
1310
  direction: 'vertical',
980
1311
  width: '500px',
981
- height: 150
1312
+ height: 150,
1313
+ textSets: {
1314
+ sourceCaption: '할당가능',
1315
+ targetCaption: '할당됨'
1316
+ }
982
1317
  });
983
1318
  },
984
- Progressbar: function(){
1319
+ Progressbar: function () {
985
1320
  Gn.create('progressbar', {
986
1321
  target: '.new-progress-indeterminate',
987
1322
  color: 'info',
988
1323
  size: 'medium',
989
1324
  indeterminate: true
990
1325
  });
991
- var progress = Gn.create('progressbar', {
1326
+ const progress = Gn.create('progressbar', {
992
1327
  target: '.new-progress',
993
1328
  color: 'primary',
994
1329
  size: 'medium',
995
1330
  value: 30,
996
1331
  hasFigure: true
997
1332
  });
998
- Gn.create('button', { target: '.btn0', size: 'small', onClick: function(){ progress.setValue(0); }});
999
- Gn.create('button', { target: '.btn20', size: 'small', onClick: function(){ progress.setValue(20); }});
1000
- Gn.create('button', { target: '.btn50', size: 'small', onClick: function(){ progress.setValue(50); }});
1001
- Gn.create('button', { target: '.btn70', size: 'small', onClick: function(){ progress.setValue(70); }});
1002
- Gn.create('button', { target: '.btn100', size: 'small', onClick: function(){ progress.setValue(100); }});
1333
+ Gn.create('button', {
1334
+ target: '.btn0',
1335
+ size: 'small',
1336
+ onClick: function () {
1337
+ progress.setValue(0);
1338
+ }
1339
+ });
1340
+ Gn.create('button', {
1341
+ target: '.btn20',
1342
+ size: 'small',
1343
+ onClick: function () {
1344
+ progress.setValue(20);
1345
+ }
1346
+ });
1347
+ Gn.create('button', {
1348
+ target: '.btn50',
1349
+ size: 'small',
1350
+ onClick: function () {
1351
+ progress.setValue(50);
1352
+ }
1353
+ });
1354
+ Gn.create('button', {
1355
+ target: '.btn70',
1356
+ size: 'small',
1357
+ onClick: function () {
1358
+ progress.setValue(70);
1359
+ }
1360
+ });
1361
+ Gn.create('button', {
1362
+ target: '.btn100',
1363
+ size: 'small',
1364
+ onClick: function () {
1365
+ progress.setValue(100);
1366
+ }
1367
+ });
1003
1368
  },
1004
- SelectButton: function(){
1369
+ SelectButton: function () {
1005
1370
  Gn.create('selectbutton', {
1006
- target: '.new-selectButtons',
1371
+ target: '.new-selectButtons',
1007
1372
  size: 'normal',
1008
1373
  value: 'menu2',
1009
- onChange: function(option){
1010
- console.log('선택된 옵션은 ' + option );
1374
+ onChange: function (option) {
1375
+ console.log('선택된 옵션은 ' + option);
1011
1376
  },
1012
- data: [{
1013
- text: 'menu1',
1014
- value: 'menu1'
1015
- },{
1016
- text: 'menu2',
1017
- value: 'menu2'
1018
- },{
1019
- text: 'menu3',
1020
- value: 'menu3'
1021
- },{
1022
- text: 'menu4',
1023
- value: 'menu4'
1024
- }]
1377
+ data: [
1378
+ {
1379
+ text: 'menu1',
1380
+ value: 'menu1'
1381
+ },
1382
+ {
1383
+ text: 'menu2',
1384
+ value: 'menu2'
1385
+ },
1386
+ {
1387
+ text: 'menu3',
1388
+ value: 'menu3'
1389
+ },
1390
+ {
1391
+ text: 'menu4',
1392
+ value: 'menu4'
1393
+ }
1394
+ ]
1395
+ });
1396
+ Gn.create('selectbutton', {
1397
+ target: '.new-selectButtons-v',
1398
+ size: 'normal',
1399
+ value: 'menu1,menu2',
1400
+ multiple: true,
1401
+ align: 'vertical',
1402
+ onChange: function (option) {
1403
+ console.log('선택된 옵션은 ' + option);
1404
+ },
1405
+ data: [
1406
+ {
1407
+ text: 'menu1',
1408
+ value: 'menu1'
1409
+ },
1410
+ {
1411
+ text: 'menu2',
1412
+ value: 'menu2'
1413
+ },
1414
+ {
1415
+ text: 'menu3',
1416
+ value: 'menu3'
1417
+ },
1418
+ {
1419
+ text: 'menu4',
1420
+ value: 'menu4'
1421
+ }
1422
+ ]
1025
1423
  });
1026
1424
  },
1027
- Splitter: function(){
1425
+ Splitter: function () {
1028
1426
  Gn.create('splitter', {
1029
1427
  target: '#horizontal-splitter',
1030
- panel: ['#frame1','#frame2'],
1428
+ panel: ['#frame1', '#frame2'],
1031
1429
  position: '30%',
1032
- onDrag: function(e) {
1430
+ onDrag: function (e) {
1033
1431
  console.log('dragging');
1034
1432
  },
1035
- onDragStart: function(e) {
1433
+ onDragStart: function (e) {
1036
1434
  console.log('drag start');
1037
1435
  },
1038
- onDragEnd: function(e) {
1436
+ onDragEnd: function (e) {
1039
1437
  console.log(e, 'drag End');
1040
1438
  },
1041
1439
  orientation: 'horizontal'
1042
1440
  });
1043
1441
  Gn.create('splitter', {
1044
1442
  target: '#vertical-splitter',
1045
- panel: ['#frame3','#frame4'],
1443
+ panel: ['#frame3', '#frame4'],
1046
1444
  space: 20,
1047
1445
  minPosition: 40,
1048
1446
  position: '30%',
1049
1447
  orientation: 'vertical'
1050
1448
  });
1051
1449
  },
1052
- Switch: function(){
1450
+ Switch: function () {
1053
1451
  Gn.create('switch', {
1054
1452
  target: '.new-switch',
1055
1453
  size: 'large',
1056
1454
  color: 'info',
1057
1455
  checked: true,
1058
- onToggle: function(e){ console.log('toggle 이벤트'); }
1059
- })
1456
+ onToggle: function (e) {
1457
+ console.log('toggle 이벤트');
1458
+ }
1459
+ });
1060
1460
  },
1061
- SyntaxInput: function(){
1461
+ SyntaxInput: function () {
1062
1462
  Gn.create('syntaxinput', {
1063
1463
  target: '.syntaxInput'
1064
1464
  });
@@ -1080,54 +1480,65 @@ var components = {
1080
1480
  }
1081
1481
  });
1082
1482
  },
1083
- Tab: function(){
1483
+ Tab: function () {
1084
1484
  Gn.create('tab', {
1085
1485
  target: '#newTab',
1086
1486
  align: 'center',
1087
1487
  contents: '#newContents',
1088
- onChange: function(idx, tab){
1089
- console.log(idx + '번 탭이 활성화 되었습니다.')
1488
+ onChange: function (idx, tab) {
1489
+ console.log(idx + '번 탭이 활성화 되었습니다.');
1090
1490
  }
1091
1491
  });
1092
1492
  },
1093
- Tagcloud: function(){
1493
+ Tagcloud: function () {
1094
1494
  Gn.create('tagcloud', {
1095
1495
  target: '.new-tagcloud',
1096
1496
  width: '250px',
1097
- data: [{
1098
- text: 'Genians',
1099
- value: 50
1100
- },{
1101
- text: 'NAC',
1102
- value: 33
1103
- },{
1104
- text: 'Typescript',
1105
- value: 12
1106
- },{
1107
- text: 'Insights',
1108
- value: 26
1109
- },{
1110
- text: 'Network',
1111
- value: 3
1112
- },{
1113
- text: 'sass',
1114
- value: 1,
1115
- },{
1116
- text: 'EDR',
1117
- value: 19
1118
- },{
1119
- text: 'Front-end',
1120
- value: 6
1121
- },{
1122
- text: 'GNUI',
1123
- value: 42
1124
- },{
1125
- text: 'Framework',
1126
- value: 1
1127
- }]
1128
- })
1497
+ data: [
1498
+ {
1499
+ text: 'Genians',
1500
+ value: 50
1501
+ },
1502
+ {
1503
+ text: 'NAC',
1504
+ value: 33
1505
+ },
1506
+ {
1507
+ text: 'Typescript',
1508
+ value: 12
1509
+ },
1510
+ {
1511
+ text: 'Insights',
1512
+ value: 26
1513
+ },
1514
+ {
1515
+ text: 'Network',
1516
+ value: 3
1517
+ },
1518
+ {
1519
+ text: 'sass',
1520
+ value: 1
1521
+ },
1522
+ {
1523
+ text: 'EDR',
1524
+ value: 19
1525
+ },
1526
+ {
1527
+ text: 'Front-end',
1528
+ value: 6
1529
+ },
1530
+ {
1531
+ text: 'GNUI',
1532
+ value: 42
1533
+ },
1534
+ {
1535
+ text: 'Framework',
1536
+ value: 1
1537
+ }
1538
+ ]
1539
+ });
1129
1540
  },
1130
- Tooltip: function(){
1541
+ Tooltip: function () {
1131
1542
  Gn.create('tooltip', {
1132
1543
  target: '.has-tooltip1',
1133
1544
  contents: '.new-contents',
@@ -1161,120 +1572,161 @@ var components = {
1161
1572
  });
1162
1573
  Gn.create('tooltip', {
1163
1574
  target: '.has-tooltip7',
1164
- contents: 'right top 툴팁',
1575
+ contents:
1576
+ '</b>자주 사용되는 정규식 특수문자</b><br/><br/>. 임의의 한 문자 예) .* 모든문자열<br/>^ 문자열 시작 예) ^Genians Genians으로 시작하는 문자열<br/>$ 문자열 끝 예) Genians$ Genians로 끝나는 문자열<br/>[ 문자집합 시작 표시 예) [ab] a 또는 b문자가 포함되는 문자열<br/>] 문자집합 끝 표시<br/>( 문자열 집합 시작 예) a(b)|(c)d abd 또는 acd를 의미<br/> 문자열 집합 끝<br/>| 또는(OR)<br/> 특수한 기능을 하는 다음 문자표시 예) . Period 문자표시<br/>n* 0개 이상의 n문자<br/>n+ 1개 이상의 n문자<br/>&#123;n&#125; 앞문자가 n개 예) ab&#123;2&#125;c abbc를 의미<br/>&#123;n,&#125; 앞문자가 n개 이상<br/>&#123;,m&#125; 앞문자가 m개 이하<br/>&#123;n,m&#125; 앞문자가 n개 이상 m개 이하<br/>',
1165
1577
  direction: 'right-top'
1166
1578
  });
1167
1579
  Gn.create('tooltip', {
1168
1580
  target: '.has-tooltip8',
1169
- contents: 'right bottom 툴팁',
1581
+ contents: '<br/>right bottom 툴팁<br/>',
1170
1582
  direction: 'right-bottom'
1171
1583
  });
1172
1584
  },
1173
- Time: function(){
1585
+ Time: function () {
1174
1586
  Gn.create('time', {
1175
1587
  target: '.new-time',
1176
- onChange: function(time){
1177
- console.log(time)
1588
+ onChange: function (time) {
1589
+ console.log(time);
1178
1590
  },
1179
1591
  value: '22:33:44'
1180
1592
  });
1181
1593
  Gn.create('time', {
1182
1594
  target: '.new-time2',
1183
1595
  timeFormat: 'hh:mm',
1184
- onChange: function(time){
1185
- console.log(time)
1596
+ onChange: function (time) {
1597
+ console.log(time);
1186
1598
  },
1187
1599
  value: '6:2',
1188
1600
  hasControls: false
1189
1601
  });
1190
1602
  },
1191
- Tree: function(){
1603
+ Tree: function () {
1192
1604
  Gn.create('tree', {
1193
1605
  target: '.new-tree1',
1194
- data: [{
1195
- text: 'Genians',
1196
- child: [{
1197
- text: 'GNUI'
1198
- },{
1199
- text: 'GNUI core'
1200
- },{
1201
- text: 'GNConfEngine'
1202
- }]
1203
- },{
1204
- text: 'R&D Center',
1205
- child: [{
1206
- text: 'GNUI'
1207
- },{
1208
- text: 'GNUI core'
1209
- },{
1210
- text: 'GNConfEngine'
1211
- }]
1212
- },{
1213
- text: 'Front-end'
1214
- }],
1606
+ data: [
1607
+ {
1608
+ text: 'Genians',
1609
+ child: [
1610
+ {
1611
+ text: 'GNUI'
1612
+ },
1613
+ {
1614
+ text: 'GNUI core'
1615
+ },
1616
+ {
1617
+ text: 'GNConfEngine'
1618
+ }
1619
+ ]
1620
+ },
1621
+ {
1622
+ text: 'R&D Center',
1623
+ child: [
1624
+ {
1625
+ text: 'GNUI'
1626
+ },
1627
+ {
1628
+ text: 'GNUI core'
1629
+ },
1630
+ {
1631
+ text: 'GNConfEngine'
1632
+ }
1633
+ ]
1634
+ },
1635
+ {
1636
+ text: 'Front-end'
1637
+ }
1638
+ ],
1215
1639
  type: 'borderless'
1216
1640
  });
1217
1641
  Gn.create('tree', {
1218
1642
  target: '.new-tree2',
1219
- data: [{
1220
- text: 'Genians',
1221
- child: [{
1222
- text: 'GNUI'
1223
- },{
1224
- text: 'GNUI core'
1225
- },{
1226
- text: 'GNConfEngine'
1227
- }]
1228
- },{
1229
- text: 'R&D Center',
1230
- child: [{
1231
- text: 'GNUI'
1232
- },{
1233
- text: 'GNUI core'
1234
- },{
1235
- text: 'GNConfEngine'
1236
- }]
1237
- },{
1238
- text: 'Front-end'
1239
- }],
1643
+ data: [
1644
+ {
1645
+ text: 'Genians',
1646
+ child: [
1647
+ {
1648
+ text: 'GNUI'
1649
+ },
1650
+ {
1651
+ text: 'GNUI core'
1652
+ },
1653
+ {
1654
+ text: 'GNConfEngine'
1655
+ }
1656
+ ]
1657
+ },
1658
+ {
1659
+ text: 'R&D Center',
1660
+ child: [
1661
+ {
1662
+ text: 'GNUI'
1663
+ },
1664
+ {
1665
+ text: 'GNUI core'
1666
+ },
1667
+ {
1668
+ text: 'GNConfEngine'
1669
+ }
1670
+ ]
1671
+ },
1672
+ {
1673
+ text: 'Front-end'
1674
+ }
1675
+ ],
1240
1676
  color: 'success',
1241
1677
  multiple: true
1242
- })
1678
+ });
1243
1679
  Gn.create('tree', {
1244
1680
  target: '.new-tree3',
1245
- data: [{
1246
- text: 'Genians',
1247
- actived: true,
1248
- opened: true,
1249
- child: [{
1250
- text: 'GNUI'
1251
- },{
1252
- text: 'GNUI core',
1681
+ data: [
1682
+ {
1683
+ text: 'Genians',
1684
+ actived: true,
1253
1685
  opened: true,
1254
- child: [{
1255
- text: 'GNUI'
1256
- },{
1257
- text: 'GNUI core'
1258
- },{
1259
- text: 'GNConfEngine',
1260
- selected: true
1261
- }]
1262
- },{
1263
- text: 'GNConfEngine'
1264
- }]
1265
- },{
1266
- text: 'R&D Center',
1267
- child: [{
1268
- text: 'GNUI'
1269
- },{
1270
- text: 'GNUI core'
1271
- },{
1272
- text: 'GNConfEngine'
1273
- }]
1274
- },{
1275
- text: 'Front-end'
1276
- }],
1686
+ child: [
1687
+ {
1688
+ text: 'GNUI'
1689
+ },
1690
+ {
1691
+ text: 'GNUI core',
1692
+ opened: true,
1693
+ child: [
1694
+ {
1695
+ text: 'GNUI'
1696
+ },
1697
+ {
1698
+ text: 'GNUI core'
1699
+ },
1700
+ {
1701
+ text: 'GNConfEngine',
1702
+ selected: true
1703
+ }
1704
+ ]
1705
+ },
1706
+ {
1707
+ text: 'GNConfEngine'
1708
+ }
1709
+ ]
1710
+ },
1711
+ {
1712
+ text: 'R&D Center',
1713
+ child: [
1714
+ {
1715
+ text: 'GNUI'
1716
+ },
1717
+ {
1718
+ text: 'GNUI core'
1719
+ },
1720
+ {
1721
+ text: 'GNConfEngine'
1722
+ }
1723
+ ]
1724
+ },
1725
+ {
1726
+ text: 'Front-end'
1727
+ }
1728
+ ],
1277
1729
  hasCheck: true
1278
- })
1730
+ });
1279
1731
  }
1280
- }
1732
+ };