gnui 1.2.12 → 1.2.14

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 (82) hide show
  1. package/dist/js/gnui.esm.js +40432 -0
  2. package/dist/js/gnui.js +40440 -0
  3. package/dist/js/gnui.min.js +23 -0
  4. package/dist/styles/default.css +1 -0
  5. package/dist/styles/gpi.css +1 -0
  6. package/dist/styles/green24.css +1 -0
  7. package/dist/styles/insights.css +1 -0
  8. package/dist/styles/nac.css +1 -0
  9. package/dist/styles/ztnac.css +1 -0
  10. package/package.json +1 -1
  11. package/styleguide/assets/components.js +1757 -0
  12. package/styleguide/assets/favicon.ico +0 -0
  13. package/styleguide/assets/guide.js +47 -0
  14. package/styleguide/assets/image.png +0 -0
  15. package/styleguide/assets/js/gnui.js +40440 -0
  16. package/styleguide/assets/js/gnui.min.js +23 -0
  17. package/styleguide/assets/okadia.css +121 -0
  18. package/styleguide/assets/styles/default.css +1 -0
  19. package/styleguide/assets/styles/gpi.css +1 -0
  20. package/styleguide/assets/styles/green24.css +1 -0
  21. package/styleguide/assets/styles/insights.css +1 -0
  22. package/styleguide/assets/styles/nac.css +1 -0
  23. package/styleguide/assets/styles/ztnac.css +1 -0
  24. package/styleguide/assets/theme.css +596 -0
  25. package/styleguide/category/COLOR/index.html +157 -0
  26. package/styleguide/category/COMPONENT/Alert(js)/index.html +419 -0
  27. package/styleguide/category/COMPONENT/Bignumber/index.html +270 -0
  28. package/styleguide/category/COMPONENT/Breadcrumb/index.html +325 -0
  29. package/styleguide/category/COMPONENT/Calendar(js)/index.html +243 -0
  30. package/styleguide/category/COMPONENT/Card/index.html +185 -0
  31. package/styleguide/category/COMPONENT/Chart(js)/index.html +556 -0
  32. package/styleguide/category/COMPONENT/Datagrid(js)/index.html +685 -0
  33. package/styleguide/category/COMPONENT/Datalist(js)/index.html +472 -0
  34. package/styleguide/category/COMPONENT/Growl(js)/index.html +352 -0
  35. package/styleguide/category/COMPONENT/JsonView(js)/index.html +1135 -0
  36. package/styleguide/category/COMPONENT/Loader(js)/index.html +296 -0
  37. package/styleguide/category/COMPONENT/MenuButton(js)/index.html +282 -0
  38. package/styleguide/category/COMPONENT/Message(js)/index.html +516 -0
  39. package/styleguide/category/COMPONENT/Modal(js)/index.html +445 -0
  40. package/styleguide/category/COMPONENT/Pagination(js)/index.html +446 -0
  41. package/styleguide/category/COMPONENT/Panel/index.html +327 -0
  42. package/styleguide/category/COMPONENT/Progressbar(js)/index.html +314 -0
  43. package/styleguide/category/COMPONENT/Tab(js)/index.html +474 -0
  44. package/styleguide/category/COMPONENT/Tagcloud(js)/index.html +261 -0
  45. package/styleguide/category/COMPONENT/Tooltip(js)/index.html +413 -0
  46. package/styleguide/category/COMPONENT/Tree(js)/index.html +405 -0
  47. package/styleguide/category/CONTROLS/Button(js)/index.html +466 -0
  48. package/styleguide/category/CONTROLS/Checkbox/index.html +195 -0
  49. package/styleguide/category/CONTROLS/Colorpicker(js)/index.html +286 -0
  50. package/styleguide/category/CONTROLS/Datepicker(js)/index.html +324 -0
  51. package/styleguide/category/CONTROLS/Dropdown(js)/index.html +1113 -0
  52. package/styleguide/category/CONTROLS/File/index.html +313 -0
  53. package/styleguide/category/CONTROLS/Form/Control/index.html +228 -0
  54. package/styleguide/category/CONTROLS/Form/Field/index.html +255 -0
  55. package/styleguide/category/CONTROLS/Form/Plain/index.html +194 -0
  56. package/styleguide/category/CONTROLS/Input/index.html +331 -0
  57. package/styleguide/category/CONTROLS/MultiText(js)/index.html +274 -0
  58. package/styleguide/category/CONTROLS/Picklist(js)/index.html +739 -0
  59. package/styleguide/category/CONTROLS/Radio/index.html +198 -0
  60. package/styleguide/category/CONTROLS/Select/index.html +457 -0
  61. package/styleguide/category/CONTROLS/SelectButton(js)/index.html +292 -0
  62. package/styleguide/category/CONTROLS/Slider/index.html +190 -0
  63. package/styleguide/category/CONTROLS/Switch(js)/index.html +346 -0
  64. package/styleguide/category/CONTROLS/SyntaxInput(js)/index.html +481 -0
  65. package/styleguide/category/CONTROLS/Textarea/index.html +186 -0
  66. package/styleguide/category/CONTROLS/Time(js)/index.html +264 -0
  67. package/styleguide/category/ELEMENTS/Box/index.html +171 -0
  68. package/styleguide/category/ELEMENTS/Icon/index.html +359 -0
  69. package/styleguide/category/ELEMENTS/Image/index.html +210 -0
  70. package/styleguide/category/ELEMENTS/List/index.html +393 -0
  71. package/styleguide/category/ELEMENTS/Table/index.html +480 -0
  72. package/styleguide/category/ELEMENTS/Tag/index.html +252 -0
  73. package/styleguide/category/ELEMENTS/Title/index.html +183 -0
  74. package/styleguide/category/LAYOUT/Container/index.html +232 -0
  75. package/styleguide/category/LAYOUT/Grid/index.html +397 -0
  76. package/styleguide/category/LAYOUT/Splitter(js)/index.html +276 -0
  77. package/styleguide/category/UTILITY/index.html +472 -0
  78. package/styleguide/category/Utils/index.html +338 -0
  79. package/styleguide/color.html +170 -0
  80. package/styleguide/index.html +170 -0
  81. package/styleguide/tag/javascript/index.html +7565 -0
  82. package/styleguide/tag/v.0.1.0/index.html +12646 -0
@@ -0,0 +1,1135 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width" />
6
+ <link rel="icon" type="image/x-icon" href="./assets/favicon.ico">
7
+ <link href="../../../assets/styles/default.css" rel="stylesheet" id="ThemeFile" />
8
+ <link href="../../../assets/okadia.css" rel="stylesheet" />
9
+ <link href="../../../assets/theme.css" rel="stylesheet" />
10
+ <link
11
+ rel="stylesheet"
12
+ href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css"
13
+ integrity="sha512-+4zCK9k+qNFUR5X+cKL9EIR+ZOhtIloNl9GIKS57V1MyNsYpYcUrUeQc9vNfzsWfV28IaLL3i96P9sdNyeRssA=="
14
+ crossorigin="anonymous"
15
+ />
16
+ <link href="https://fonts.googleapis.com/css?family=Squada+One&display=swap" rel="stylesheet" />
17
+ <script src="../../../assets/components.js"></script>
18
+ <script src="../../../assets/js/gnui.js"></script>
19
+ </head>
20
+ <body>
21
+ <div class="aigis-container">
22
+ <header class="aigis-header gn-gcolor is-primary">
23
+ <span><a href="../../../index.html" class="main-link" style="font-family: 'Squada One', cursive">GNUI</a></span>
24
+ <span class="has-text-invert" style="font-size: 1em; padding-left: 10px">Start your next web project with GNUI.</span>
25
+ <div class="gn-select is-medium">
26
+ <select id="ThemeSelector">
27
+
28
+ <option value="default">default</option>
29
+
30
+ <option value="nac">nac</option>
31
+
32
+ <option value="insights">insights</option>
33
+
34
+ <option value="gpi">gpi</option>
35
+
36
+ <option value="ztnac">ztnac</option>
37
+
38
+ <option value="green24">green24</option>
39
+
40
+ </select>
41
+ </div>
42
+ <div>
43
+ <a class="gn-button is-primary util-link" href="../../../category/Utils/index.html">
44
+ <span class="gn-icon is-small">
45
+ <i class="fas fa-tools"></i>
46
+ </span>
47
+ Gn.util
48
+ </a>
49
+ </div>
50
+ </header>
51
+ <div class="aigis-sidemenu">
52
+ <nav class="gn-tree is-borderless is-large left-menu"></nav>
53
+ </div>
54
+
55
+ <script>
56
+ window.Gn = window.gnui;
57
+
58
+ Gn.ready(function () {
59
+ var leftMenu = setTree('COLOR,COMPONENT/Alert(js),COMPONENT/Bignumber,COMPONENT/Breadcrumb,COMPONENT/Calendar(js),COMPONENT/Card,COMPONENT/Chart(js),COMPONENT/Datagrid(js),COMPONENT/Datalist(js),COMPONENT/Growl(js),COMPONENT/JsonView(js),COMPONENT/Loader(js),COMPONENT/MenuButton(js),COMPONENT/Message(js),COMPONENT/Modal(js),COMPONENT/Pagination(js),COMPONENT/Panel,COMPONENT/Progressbar(js),COMPONENT/Tab(js),COMPONENT/Tagcloud(js),COMPONENT/Tooltip(js),COMPONENT/Tree(js),CONTROLS/Button(js),CONTROLS/Checkbox,CONTROLS/Colorpicker(js),CONTROLS/Datepicker(js),CONTROLS/Dropdown(js),CONTROLS/File,CONTROLS/Form/Control,CONTROLS/Form/Field,CONTROLS/Form/Plain,CONTROLS/Input,CONTROLS/MultiText(js),CONTROLS/Picklist(js),CONTROLS/Radio,CONTROLS/Select,CONTROLS/SelectButton(js),CONTROLS/Slider,CONTROLS/Switch(js),CONTROLS/SyntaxInput(js),CONTROLS/Textarea,CONTROLS/Time(js),ELEMENTS/Box,ELEMENTS/Icon,ELEMENTS/Image,ELEMENTS/List,ELEMENTS/Table,ELEMENTS/Tag,ELEMENTS/Title,LAYOUT/Container,LAYOUT/Grid,LAYOUT/Splitter(js),UTILITY,Utils'.split(','));
60
+ var jsComps = ''.split(',');
61
+ delete leftMenu.Utils;
62
+ Gn.util.append('.left-menu', renderTree(leftMenu));
63
+ Gn.util.scrollIntoView(Gn.util.$('.tree-item.is-active'), 300);
64
+
65
+ function renderTree(menus) {
66
+ var $depths = Gn.util.$('<ul></ul>');
67
+ Gn.util.each(menus, function (child, menu) {
68
+ if (Gn.util.isString(child)) {
69
+ Gn.util.append($depths, renderMenu(menu, '../../../category/' + child + '/index.html', location.href.indexOf(child + '/') > -1));
70
+ } else {
71
+ var $_depth = renderMenu(menu, '');
72
+ Gn.util.append($_depth, renderTree(child));
73
+ Gn.util.append($depths, $_depth);
74
+ }
75
+ });
76
+ return $depths;
77
+ }
78
+
79
+ function renderMenu(name, link, isActive) {
80
+ var $_menu;
81
+ if (link === '') {
82
+ $_menu = Gn.util.$('<li>' + name + '</li>');
83
+ } else {
84
+ var menuClass = isActive ? ' is-active' : '';
85
+ $_menu = Gn.util.$('<li><a href="' + link + '"><div class="tree-item' + menuClass + '">' + name.split('(js)').join('') + '</a></div></li>');
86
+ }
87
+ if (name.indexOf('(js)') > 0) {
88
+ Gn.util.append(Gn.util.find('.tree-item', $_menu), Gn.util.$('<span class="gn-tag is-small is-info-light">JS</span>'));
89
+ }
90
+ return $_menu;
91
+ }
92
+
93
+ function setTree(categorys) {
94
+ var menus = {};
95
+
96
+ categorys.forEach(function (category) {
97
+ parseTree(menus, category.split('/'), category);
98
+ });
99
+ return menus;
100
+ }
101
+
102
+ function parseTree(parents, child, catgry) {
103
+ var _depth = child.shift();
104
+ if (parents[_depth] === undefined) {
105
+ parents[_depth] = {};
106
+ }
107
+ if (child.length === 1) {
108
+ parents[_depth][child] = catgry;
109
+ } else if (child.length > 1) {
110
+ parseTree(parents[_depth], child, catgry);
111
+ } else {
112
+ parents[_depth] = catgry;
113
+ }
114
+ }
115
+ });
116
+ </script>
117
+
118
+ <div class="aigis-contents">
119
+ <div class="aigis-contents__body">
120
+
121
+ <div>
122
+
123
+ <div class="aigis-module JsonView">
124
+ <h2 class="aigis-module__heading" id="JsonView">JsonView</h2>
125
+ <div class="aigis-module__filepath">/scss/components/jsonview.scss</div>
126
+ <div class="aigis-tags">
127
+
128
+ <span class="gn-tag">v.0.1.0</span>
129
+
130
+ </div>
131
+ <!-- <div id="ComponentTab">
132
+ <ul>
133
+ <li><a href="#styleguide">Style</a></li>
134
+ <li>
135
+ <a href="#scriptguide"
136
+ >Script <span class="gn-icon"><i class="fas fa-code"></i></span
137
+ ></a>
138
+ </li>
139
+ </ul>
140
+ </div> -->
141
+ <h3 id="-">기본 사용</h3>
142
+ <ul>
143
+ <li>Json 데이터를 화면에 표시하기 위한 컴포넌트</li>
144
+ <li>Object : key-value 형식으로 출력</li>
145
+ <li>Array(Object) : 테이블 그리드 형식으로 출력</li>
146
+ <li>Array(string,number) : 배열 항목을 텍스트로 병합(,)하여 출력</li>
147
+ </ul>
148
+ <h3 id="-">생성 옵션</h3>
149
+ <div class="aigis-preview">
150
+
151
+ <div class="new-jsonview"></div>
152
+ </div>
153
+
154
+ <pre><code class="language-ejs"><span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>div</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>new-jsonview<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span><span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>div</span><span class="token punctuation" >></span></span>
155
+ </code></pre>
156
+ <pre><code>Gn<span class="token punctuation" >.</span><span class="token function" >create</span><span class="token punctuation" >(</span><span class="token string" >'jsonview'</span><span class="token punctuation" >,</span> {
157
+ target<span class="token punctuation" >:</span> <span class="token string" >'.new-jsonview'</span><span class="token punctuation" >,</span>
158
+ schema<span class="token punctuation" >:</span> {
159
+ Type<span class="token punctuation" >:</span> <span class="token string" >'array'</span><span class="token punctuation" >,</span>
160
+ Disp<span class="token punctuation" >:</span> <span class="token string" >'aws sample 정보'</span><span class="token punctuation" >,</span>
161
+ Description<span class="token punctuation" >:</span> <span class="token string" >'aws sample 정보 설명'</span><span class="token punctuation" >,</span>
162
+ Items<span class="token punctuation" >:</span> {
163
+ Type<span class="token punctuation" >:</span> <span class="token string" >'object'</span><span class="token punctuation" >,</span>
164
+ Properties<span class="token punctuation" >:</span> {
165
+ index<span class="token punctuation" >:</span> {
166
+ Type<span class="token punctuation" >:</span> <span class="token string" >'checkbox'</span><span class="token punctuation" >,</span>
167
+ Disp<span class="token punctuation" >:</span> <span class="token string" >''</span>
168
+ }<span class="token punctuation" >,</span>
169
+ _id<span class="token punctuation" >:</span> {
170
+ Type<span class="token punctuation" >:</span> <span class="token string" >'string'</span><span class="token punctuation" >,</span>
171
+ Disp<span class="token punctuation" >:</span> <span class="token string" >'인스턴스ID'</span><span class="token punctuation" >,</span>
172
+ Description<span class="token punctuation" >:</span> <span class="token string" >'인스턴스ID입니다.'</span>
173
+ }<span class="token punctuation" >,</span>
174
+ _type<span class="token punctuation" >:</span> {
175
+ Type<span class="token punctuation" >:</span> <span class="token string" >'string'</span><span class="token punctuation" >,</span>
176
+ Disp<span class="token punctuation" >:</span> <span class="token string" >'수집기타입'</span>
177
+ }<span class="token punctuation" >,</span>
178
+ test1<span class="token punctuation" >:</span> {
179
+ Type<span class="token punctuation" >:</span> <span class="token string" >'number'</span><span class="token punctuation" >,</span>
180
+ Disp<span class="token punctuation" >:</span> <span class="token string" >'Test1 Value'</span>
181
+ }<span class="token punctuation" >,</span>
182
+ test2<span class="token punctuation" >:</span> {
183
+ Type<span class="token punctuation" >:</span> <span class="token string" >'number'</span><span class="token punctuation" >,</span>
184
+ Disp<span class="token punctuation" >:</span> <span class="token string" >'Test2 Value'</span>
185
+ }<span class="token punctuation" >,</span>
186
+ updated<span class="token punctuation" >:</span> {
187
+ Type<span class="token punctuation" >:</span> <span class="token string" >'datetime'</span><span class="token punctuation" >,</span>
188
+ Disp<span class="token punctuation" >:</span> <span class="token string" >'마지막 업데이트'</span><span class="token punctuation" >,</span>
189
+ <span class="token variable" >$ref</span><span class="token punctuation" >:</span> <span class="token string" >'#/$defs/Datas'</span>
190
+ }<span class="token punctuation" >,</span>
191
+ nodes<span class="token punctuation" >:</span> {
192
+ Type<span class="token punctuation" >:</span> <span class="token string" >'object'</span><span class="token punctuation" >,</span>
193
+ Disp<span class="token punctuation" >:</span> <span class="token string" >'노드정보'</span><span class="token punctuation" >,</span>
194
+ Properties<span class="token punctuation" >:</span> {
195
+ obj1<span class="token punctuation" >:</span> {
196
+ Type<span class="token punctuation" >:</span> <span class="token string" >'string'</span><span class="token punctuation" >,</span>
197
+ Disp<span class="token punctuation" >:</span> <span class="token string" >'obj1'</span>
198
+ }<span class="token punctuation" >,</span>
199
+ obj2<span class="token punctuation" >:</span> {
200
+ Type<span class="token punctuation" >:</span> <span class="token string" >'integer'</span><span class="token punctuation" >,</span>
201
+ Disp<span class="token punctuation" >:</span> <span class="token string" >'obj2'</span>
202
+ }
203
+ }
204
+ }
205
+ }<span class="token punctuation" >,</span>
206
+ Required<span class="token punctuation" >:</span> <span class="token punctuation" >[</span><span class="token string" >'_type'</span><span class="token punctuation" >]</span><span class="token punctuation" >,</span>
207
+ Hidden<span class="token punctuation" >:</span> <span class="token punctuation" >[</span><span class="token string" >'test1'</span><span class="token punctuation" >,</span> <span class="token string" >'test2'</span><span class="token punctuation" >]</span><span class="token punctuation" >,</span>
208
+ SortItems<span class="token punctuation" >:</span> <span class="token punctuation" >[</span><span class="token string" >'_id'</span><span class="token punctuation" >]</span>
209
+ }<span class="token punctuation" >,</span>
210
+ <span class="token variable" >$defs</span><span class="token punctuation" >:</span> {
211
+ Datas<span class="token punctuation" >:</span> {
212
+ Type<span class="token punctuation" >:</span> <span class="token string" >'array'</span><span class="token punctuation" >,</span>
213
+ Disp<span class="token punctuation" >:</span> <span class="token string" >'추가 데이터 정보'</span><span class="token punctuation" >,</span>
214
+ Items<span class="token punctuation" >:</span> {
215
+ Type<span class="token punctuation" >:</span> <span class="token string" >'object'</span><span class="token punctuation" >,</span>
216
+ Properties<span class="token punctuation" >:</span> {
217
+ field1<span class="token punctuation" >:</span> {
218
+ Type<span class="token punctuation" >:</span> <span class="token string" >'string'</span><span class="token punctuation" >,</span>
219
+ Disp<span class="token punctuation" >:</span> <span class="token string" >'필드 1'</span>
220
+ }<span class="token punctuation" >,</span>
221
+ field2<span class="token punctuation" >:</span> {
222
+ Type<span class="token punctuation" >:</span> <span class="token string" >'number'</span>
223
+ }<span class="token punctuation" >,</span>
224
+ datas<span class="token punctuation" >:</span> {
225
+ Type<span class="token punctuation" >:</span> <span class="token punctuation" >[</span><span class="token string" >'array'</span><span class="token punctuation" >,</span> <span class="token string" >'string'</span><span class="token punctuation" >]</span><span class="token punctuation" >,</span>
226
+ Items<span class="token punctuation" >:</span> {
227
+ Type<span class="token punctuation" >:</span> <span class="token string" >'object'</span><span class="token punctuation" >,</span>
228
+ Properties<span class="token punctuation" >:</span> {
229
+ id<span class="token punctuation" >:</span> {
230
+ Type<span class="token punctuation" >:</span> <span class="token string" >'number'</span><span class="token punctuation" >,</span>
231
+ Disp<span class="token punctuation" >:</span> <span class="token keyword" >null</span>
232
+ }<span class="token punctuation" >,</span>
233
+ text<span class="token punctuation" >:</span> {
234
+ Type<span class="token punctuation" >:</span> <span class="token string" >'string'</span><span class="token punctuation" >,</span>
235
+ Disp<span class="token punctuation" >:</span> <span class="token keyword" >null</span>
236
+ }
237
+ }
238
+ }
239
+ }
240
+ }
241
+ }
242
+ }
243
+ }
244
+ }<span class="token punctuation" >,</span>
245
+ data<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
246
+ {
247
+ index<span class="token punctuation" >:</span> <span class="token number" >0</span><span class="token punctuation" >,</span>
248
+ _id<span class="token punctuation" >:</span> <span class="token string" >'d3185f78-7221-103a-8002-0272452c0706'</span><span class="token punctuation" >,</span>
249
+ _type<span class="token punctuation" >:</span> <span class="token string" >'aws'</span><span class="token punctuation" >,</span>
250
+ test1<span class="token punctuation" >:</span> <span class="token number" >1234</span><span class="token punctuation" >,</span>
251
+ test2<span class="token punctuation" >:</span> <span class="token number" >1231.23</span><span class="token punctuation" >,</span>
252
+ updated<span class="token punctuation" >:</span> <span class="token number" >1603427314109</span><span class="token punctuation" >,</span>
253
+ nodes<span class="token punctuation" >:</span> {
254
+ obj1<span class="token punctuation" >:</span> <span class="token string" >'value'</span><span class="token punctuation" >,</span>
255
+ obj2<span class="token punctuation" >:</span> <span class="token number" >123</span>
256
+ }<span class="token punctuation" >,</span>
257
+ Datas<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
258
+ {
259
+ field1<span class="token punctuation" >:</span> <span class="token string" >'test1'</span><span class="token punctuation" >,</span>
260
+ field2<span class="token punctuation" >:</span> <span class="token number" >123</span><span class="token punctuation" >,</span>
261
+ datas<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
262
+ {
263
+ id<span class="token punctuation" >:</span> <span class="token number" >1</span><span class="token punctuation" >,</span>
264
+ text<span class="token punctuation" >:</span> <span class="token string" >'data1'</span>
265
+ }<span class="token punctuation" >,</span>
266
+ {
267
+ id<span class="token punctuation" >:</span> <span class="token number" >2</span><span class="token punctuation" >,</span>
268
+ text<span class="token punctuation" >:</span> <span class="token string" >'data2'</span>
269
+ }
270
+ <span class="token punctuation" >]</span>
271
+ }<span class="token punctuation" >,</span>
272
+ {
273
+ field1<span class="token punctuation" >:</span> <span class="token string" >'test2'</span><span class="token punctuation" >,</span>
274
+ field2<span class="token punctuation" >:</span> <span class="token number" >321</span><span class="token punctuation" >,</span>
275
+ datas<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
276
+ {
277
+ id<span class="token punctuation" >:</span> <span class="token number" >1</span><span class="token punctuation" >,</span>
278
+ text<span class="token punctuation" >:</span> <span class="token string" >'data3'</span>
279
+ }<span class="token punctuation" >,</span>
280
+ {
281
+ id<span class="token punctuation" >:</span> <span class="token number" >2</span><span class="token punctuation" >,</span>
282
+ text<span class="token punctuation" >:</span> <span class="token string" >'data4'</span>
283
+ }
284
+ <span class="token punctuation" >]</span>
285
+ }<span class="token punctuation" >,</span>
286
+ {
287
+ field1<span class="token punctuation" >:</span> <span class="token string" >'test2'</span><span class="token punctuation" >,</span>
288
+ field2<span class="token punctuation" >:</span> <span class="token number" >321</span><span class="token punctuation" >,</span>
289
+ datas<span class="token punctuation" >:</span> <span class="token string" >'just text'</span>
290
+ }
291
+ <span class="token punctuation" >]</span>
292
+ }<span class="token punctuation" >,</span>{
293
+ index<span class="token punctuation" >:</span> <span class="token number" >1</span><span class="token punctuation" >,</span>
294
+ _id<span class="token punctuation" >:</span> <span class="token string" >'d3185f78-7221-103a-8002-0125213c0706'</span><span class="token punctuation" >,</span>
295
+ _type<span class="token punctuation" >:</span> <span class="token string" >'aws'</span><span class="token punctuation" >,</span>
296
+ test1<span class="token punctuation" >:</span> <span class="token number" >1234</span><span class="token punctuation" >,</span>
297
+ test2<span class="token punctuation" >:</span> <span class="token number" >1231.23</span><span class="token punctuation" >,</span>
298
+ updated<span class="token punctuation" >:</span> <span class="token number" >1603427314109</span><span class="token punctuation" >,</span>
299
+ nodes<span class="token punctuation" >:</span> {
300
+ obj1<span class="token punctuation" >:</span> <span class="token string" >'value'</span><span class="token punctuation" >,</span>
301
+ obj2<span class="token punctuation" >:</span> <span class="token number" >123</span>
302
+ }<span class="token punctuation" >,</span>
303
+ Datas<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
304
+ {
305
+ field1<span class="token punctuation" >:</span> <span class="token string" >'test1'</span><span class="token punctuation" >,</span>
306
+ field2<span class="token punctuation" >:</span> <span class="token number" >123</span><span class="token punctuation" >,</span>
307
+ datas<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
308
+ {
309
+ id<span class="token punctuation" >:</span> <span class="token number" >1</span><span class="token punctuation" >,</span>
310
+ text<span class="token punctuation" >:</span> <span class="token string" >'data1'</span>
311
+ }<span class="token punctuation" >,</span>
312
+ {
313
+ id<span class="token punctuation" >:</span> <span class="token number" >2</span><span class="token punctuation" >,</span>
314
+ text<span class="token punctuation" >:</span> <span class="token string" >'data2'</span>
315
+ }
316
+ <span class="token punctuation" >]</span>
317
+ }<span class="token punctuation" >,</span>
318
+ {
319
+ field1<span class="token punctuation" >:</span> <span class="token string" >'test2'</span><span class="token punctuation" >,</span>
320
+ field2<span class="token punctuation" >:</span> <span class="token number" >321</span><span class="token punctuation" >,</span>
321
+ datas<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
322
+ {
323
+ id<span class="token punctuation" >:</span> <span class="token number" >1</span><span class="token punctuation" >,</span>
324
+ text<span class="token punctuation" >:</span> <span class="token string" >'data3'</span>
325
+ }<span class="token punctuation" >,</span>
326
+ {
327
+ id<span class="token punctuation" >:</span> <span class="token number" >2</span><span class="token punctuation" >,</span>
328
+ text<span class="token punctuation" >:</span> <span class="token string" >'data4'</span>
329
+ }
330
+ <span class="token punctuation" >]</span>
331
+ }<span class="token punctuation" >,</span>
332
+ {
333
+ field1<span class="token punctuation" >:</span> <span class="token string" >'test2'</span><span class="token punctuation" >,</span>
334
+ field2<span class="token punctuation" >:</span> <span class="token number" >321</span><span class="token punctuation" >,</span>
335
+ datas<span class="token punctuation" >:</span> <span class="token string" >'just text'</span>
336
+ }
337
+ <span class="token punctuation" >]</span>
338
+ }
339
+ <span class="token punctuation" >]</span>
340
+ }<span class="token punctuation" >)</span><span class="token comment" spellcheck="true">;</span>
341
+
342
+ </code></pre><div class="aigis-preview">
343
+
344
+ <div class="new-rawview"></div>
345
+ </div>
346
+
347
+ <pre><code class="language-ejs"><span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>div</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>new-rawview<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span><span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>div</span><span class="token punctuation" >></span></span>
348
+ </code></pre>
349
+ <pre><code>Gn<span class="token punctuation" >.</span><span class="token function" >create</span><span class="token punctuation" >(</span><span class="token string" >'jsonview'</span><span class="token punctuation" >,</span> {
350
+ target<span class="token punctuation" >:</span> <span class="token string" >'.new-rawgrid'</span><span class="token punctuation" >,</span>
351
+ data<span class="token punctuation" >:</span> <span class="token string" >'{"_id": "d3185f78-7221-103a-8002-0272452c0706","_type": "aws","test1": 1234,"test2": 1231.23,"nodes" : {"obj1":"value","obj2":123},"datas": [{"field1":"test1","field2":123,"datas":["data1","data2"]},{"field1":"test2","field2":321,"datas":["data3","data4"]}]}'</span>
352
+ }<span class="token punctuation" >)</span>
353
+ </code></pre><div class="aigis-preview">
354
+
355
+ <div class="add-jsonview"></div>
356
+ </div>
357
+
358
+ <pre><code class="language-ejs"><span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>div</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>add-jsonview<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span><span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>div</span><span class="token punctuation" >></span></span>
359
+ </code></pre>
360
+ <pre><code>Gn<span class="token punctuation" >.</span><span class="token function" >create</span><span class="token punctuation" >(</span><span class="token string" >'jsonview'</span><span class="token punctuation" >,</span> {
361
+ target<span class="token punctuation" >:</span> <span class="token string" >'.add-jsonview'</span><span class="token punctuation" >,</span>
362
+ schema<span class="token punctuation" >:</span> {
363
+ Type<span class="token punctuation" >:</span> <span class="token string" >"array"</span><span class="token punctuation" >,</span>
364
+ Items<span class="token punctuation" >:</span> {
365
+ Type<span class="token punctuation" >:</span> <span class="token string" >'object'</span><span class="token punctuation" >,</span>
366
+ Properties<span class="token punctuation" >:</span> {
367
+ bignum<span class="token punctuation" >:</span> {
368
+ Type<span class="token punctuation" >:</span> <span class="token string" >"bignumber"</span>
369
+ }
370
+ }
371
+ }
372
+ }<span class="token punctuation" >,</span>
373
+ data<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>{
374
+ bignum<span class="token punctuation" >:</span> {
375
+ CPU<span class="token punctuation" >:</span> <span class="token number" >23.34</span><span class="token punctuation" >,</span>
376
+ RAM<span class="token punctuation" >:</span> {
377
+ value<span class="token punctuation" >:</span> <span class="token number" >26</span><span class="token punctuation" >,</span>
378
+ data<span class="token punctuation" >:</span> <span class="token punctuation" >[</span><span class="token number" >0</span><span class="token punctuation" >,</span> <span class="token number" >23</span><span class="token punctuation" >,</span> <span class="token number" >33</span><span class="token punctuation" >,</span> <span class="token number" >0</span><span class="token punctuation" >]</span>
379
+ }
380
+ }
381
+ }<span class="token punctuation" >]</span>
382
+ }<span class="token punctuation" >)</span><span class="token comment" spellcheck="true">;</span>
383
+ </code></pre><table class="gn-table is-full is-border">
384
+ <thead>
385
+ <th colspan="2">name</th>
386
+ <th>type</th>
387
+ <th>default</th>
388
+ <th>description</th>
389
+ </thead>
390
+ <tbody>
391
+ <tr>
392
+ <td colspan="2">target</td>
393
+ <td>string</td>
394
+ <td></td>
395
+ <td>jsonview를 생성할 대상의 선택자(selector)</td>
396
+ </tr>
397
+ <tr>
398
+ <td colspan="2">schema</td>
399
+ <td>Object</td>
400
+ <td></td>
401
+ <td>json <super>*</super>gnschema. 생략 시, data를 기준으로 출력된다.</td>
402
+ </tr>
403
+ <tr>
404
+ <td colspan="2">data</td>
405
+ <td>Array | Object</td>
406
+ <td></td>
407
+ <td></td>
408
+ </tr>
409
+ <tr>
410
+ <td colspan="2">defWidth</td>
411
+ <td>string</td>
412
+ <td>&#39;auto&#39;</td>
413
+ <td>Object key 값 출력 넓이. &#39;auto&#39;로 설정 시 컨텐츠에 맞춤</td>
414
+ </tr>
415
+ <tr>
416
+ <td colspan="2">onSort</td>
417
+ <td>Function(key, sort, schema)</td>
418
+ <td></td>
419
+ <td>schema의 SortItems에 설정된 항목 정렬 시 수행 이벤트</td>
420
+ </tr>
421
+ <tr>
422
+ <td colspan="2">onSelect</td>
423
+ <td>Function(value, key, obj, e)</td>
424
+ <td></td>
425
+ <td>그리드 형식으로 출력된 항목을 클릭 시 수행 이벤트</td>
426
+ </tr>
427
+ <tr>
428
+ <td colspan="2">convert</td>
429
+ <td>Function(convertername, type, value): string</td>
430
+ <td></td>
431
+ <td>데이터를 컨버팅하는 함수.<br> 스키마에 설정된 Converter가 존재할 시 해당 함수를 실행하여 리턴된 결과를 렌더링한다.<br>text 또는 html 사용 가능.<br>value를 {{parent}}로 정의 시 해당 열에 대한 정보를 가져올 수 있다.</td>
432
+ </tr>
433
+ <tr>
434
+ <td rowspan="3">textSets</td>
435
+ <td>noData</td>
436
+ <td>string</td>
437
+ <td>No records available.</td>
438
+ <td>데이터가 없을 경우 출력 메시지</td>
439
+ </tr>
440
+ </tbody>
441
+ </table>
442
+
443
+ <h3 id="-">메소드</h3>
444
+ <table class="gn-table is-full is-border">
445
+ <thead>
446
+ <th>name</th>
447
+ <th>return</th>
448
+ <th>description</th>
449
+ </thead>
450
+ <tbody>
451
+ <tr>
452
+ <td>reRender(param:{data, schema?))</td>
453
+ <td>void</td>
454
+ <td>전달된 데이트로 그리드를 다시 렌더링한다</td>
455
+ </tr>
456
+ <tr>
457
+ <td>getChecked()</td>
458
+ <td>Array<string></td>
459
+ <td>checkbox 타입이 존재하는 경우, 체크된 항목의 데이터를 배열로 리턴한다.</td>
460
+ </tr>
461
+ </tbody>
462
+ </table>
463
+
464
+
465
+ <h3 id="-gnschema">*gnschema</h3>
466
+ <h4 id="attributes">Attributes</h4>
467
+ <table class="gn-table is-full is-border">
468
+ <thead>
469
+ <th>attribute</th>
470
+ <th>description</th>
471
+ <th></th>
472
+ </thead>
473
+ <tbody>
474
+ <tr>
475
+ <td>Type</td>
476
+ <td>데이터 타입</td>
477
+ <td>아래 단일타입, 복합타입 참조</td>
478
+ </tr>
479
+ <tr>
480
+ <td>Disp</td>
481
+ <td>항목명</td>
482
+ <td></td>
483
+ </tr>
484
+ <tr>
485
+ <td>Description</td>
486
+ <td>항목설명</td>
487
+ <td></td>
488
+ </tr>
489
+ <tr>
490
+ <td>RefURL</td>
491
+ <td>링크</td>
492
+ <td>아래 RefURL 사용법 참조</td>
493
+ </tr>
494
+ <tr>
495
+ <td>Target</td>
496
+ <td>링크(RefURL) 타겟</td>
497
+ <td></td>
498
+ </tr>
499
+ <tr>
500
+ <td>Items</td>
501
+ <td>Array의 항목 기술</td>
502
+ <td></td>
503
+ </tr>
504
+ <tr>
505
+ <td>Properties</td>
506
+ <td>Object의 항목 기술</td>
507
+ <td></td>
508
+ </tr>
509
+ <tr>
510
+ <td>Hidden</td>
511
+ <td>화면에 출력하지 않을 항목의 배열</td>
512
+ <td></td>
513
+ </tr>
514
+ <tr>
515
+ <td>SortItems</td>
516
+ <td>정렬아이콘 출력 필드(Object Array 타입에서만 동작)의 배열</td>
517
+ <td></td>
518
+ </tr>
519
+ <tr>
520
+ <td>Required</td>
521
+ <td>필수 항목 필드의 배열</td>
522
+ <td></td>
523
+ </tr>
524
+ <tr>
525
+ <td>Disabled</td>
526
+ <td>클릭 이벤트 비활성화 필드의 배열</td>
527
+ <td></td>
528
+ </tr>
529
+ <tr>
530
+ <td>Style</td>
531
+ <td>inline 스타일</td>
532
+ <td>ex. &#39;font-size: 12px; display: block; width: 200px&#39;</td>
533
+ </tr>
534
+ <tr>
535
+ <td>StyleClass</td>
536
+ <td>스타일 클래스명</td>
537
+ <td></td>
538
+ </tr>
539
+ <tr>
540
+ <td>Converter</td>
541
+ <td>데이터를 컨버팅할 컨버터 convertername, type, <em>value</em>를 배열로 넣음<br><em>value</em>에 {{mustache}} 구문 사용가능(<em>RefURL 참조) 생략 시 해당 항목의 데이터 바인딩</td>
542
+ <td> <span class="has-text-danger"></em> jsonview 컴포넌트 생성 시 convert 메서드를 정의해주어야 사용가능</span></td>
543
+ </tr>
544
+ <tr>
545
+ <td>$ref - $defs</td>
546
+ <td>참조 데이터</td>
547
+ <td>아래 $ref-$defs 항목 참조</td>
548
+ </tr>
549
+ </tbody>
550
+ </table>
551
+
552
+ <h4 id="-">단일타입</h4>
553
+ <table class="gn-table is-full is-border">
554
+ <thead>
555
+ <th>type</th>
556
+ <th>schema</th>
557
+ <th>data</th>
558
+ <th>output</th>
559
+ </thead>
560
+ <tbody>
561
+ <tr>
562
+ <td>string</td>
563
+ <td>
564
+ <pre>
565
+ {
566
+ &quot;Type&quot;: &quot;string&quot;,
567
+ &quot;RefURL&quot;: &quot;<a href="http://www.genians.com&quot;" title="null">http://www.genians.com&quot;</a>,
568
+ &quot;Target&quot;: &quot;_blank&quot;
569
+ }
570
+ </pre>
571
+ </td>
572
+ <td>
573
+ <pre>
574
+ &quot;다람쥐 헌 쳇바퀴&quot;
575
+ </pre>
576
+ </td>
577
+ <td>
578
+ <div class="type-string"></div>
579
+ </td>
580
+ </tr>
581
+ <tr>
582
+ <td>number</td>
583
+ <td>
584
+ <pre>
585
+ {
586
+ &quot;Type&quot;: &quot;number&quot;
587
+ }
588
+ </pre>
589
+ </td>
590
+ <td>
591
+ <pre>
592
+ 10001
593
+ </pre>
594
+ </td>
595
+ <td>
596
+ <div class="type-number"></div>
597
+ </td>
598
+ </tr>
599
+ <tr>
600
+ <td>byte</td>
601
+ <td>
602
+ <pre>
603
+ {
604
+ &quot;Type&quot;: &quot;byte&quot;
605
+ }
606
+ </pre>
607
+ </td>
608
+ <td>
609
+ <pre>
610
+ 100000000
611
+ </pre>
612
+ </td>
613
+ <td>
614
+ <div class="type-byte"></div>
615
+ </td>
616
+ </tr>
617
+ <tr>
618
+ <td>datetime</td>
619
+ <td>
620
+ <pre>
621
+ {
622
+ &quot;Type&quot;: &quot;datetime&quot;
623
+ }
624
+ </pre>
625
+ </td>
626
+ <td>
627
+ <pre>
628
+ 1603427314109
629
+ </pre>
630
+ </td>
631
+ <td>
632
+ <div class="type-datetime"></div>
633
+ </td>
634
+ </tr>
635
+ <tr>
636
+ <td>html</td>
637
+ <td>
638
+ <pre>
639
+ {
640
+ &quot;Type&quot;: &quot;html&quot;
641
+ }
642
+ </pre>
643
+ </td>
644
+ <td>
645
+ <pre>
646
+ &#39;&lt;img
647
+ src=&quot;/styleguide/assets/image.png&quot;
648
+ alt=&quot;asset&quot;
649
+ /&gt;&#39;
650
+ </pre>
651
+ </td>
652
+ <td>
653
+ <div class="type-html"></div>
654
+ </td>
655
+ </tr>
656
+ <tr>
657
+ <td>checkbox</td>
658
+ <td>
659
+ <pre>
660
+ {
661
+ &quot;Type&quot;: &quot;checkbox&quot;
662
+ }
663
+ </pre>
664
+ </td>
665
+ <td>
666
+ <pre>
667
+ {
668
+ value: &#39;100&#39;,
669
+ checked: true,
670
+ // hidden: true
671
+ // 화면에 표시하지 않으려면 true
672
+ // {{mustache}} 구문을 사용하여 조건문을 설정할 수 있다.
673
+ }
674
+ </pre>
675
+ <pre>
676
+ 100
677
+ </pre>
678
+ </td>
679
+ <td>
680
+ <div class="type-checkbox"></div>
681
+ <div class="type-checkbox2"></div>
682
+ </td>
683
+ </tr>
684
+ <tr>
685
+ <td>array</td>
686
+ <td>
687
+ <pre>
688
+ {
689
+ Type: &#39;array&#39;,
690
+ Items: {
691
+ Type: [&#39;string&#39;,&#39;number&#39;],
692
+ RefURL: &#39;<a href="https://search.naver.com/search.naver?query={{data}}&#39;" title="null">https://search.naver.com/search.naver?query={{data}}&#39;</a>
693
+ }
694
+ }
695
+ </pre>
696
+ </td>
697
+ <td>
698
+ <pre>
699
+ [&quot;빨강&quot;,&quot;주황&quot;,&quot;노랑&quot;,&quot;초록&quot;,&quot;파랑&quot;]
700
+ </pre>
701
+ </td>
702
+ <td>
703
+ <div class="type-array1"></div>
704
+ </td>
705
+ </tr>
706
+ <tr>
707
+ <td>percent</td>
708
+ <td>
709
+ <pre>
710
+ {
711
+ &quot;Type&quot;: &quot;percent&quot;
712
+ }
713
+ </pre>
714
+ </td>
715
+ <td>
716
+ <pre>
717
+ 52
718
+ </pre>
719
+ </td>
720
+ <td>
721
+ <div class="type-percent"></div>
722
+ </td>
723
+ </tr>
724
+ <tr>
725
+ <td>bignumber</td>
726
+ <td>
727
+ <pre>
728
+ {
729
+ &quot;Type&quot;: &quot;bignumber&quot;
730
+ }
731
+ </pre>
732
+ </td>
733
+ <td>
734
+ <pre>
735
+ {
736
+ 온도: 24,
737
+ 습도: {
738
+ value: 60,
739
+ data: [0,10,21,5,18]
740
+ }
741
+ }
742
+ </pre>
743
+ </td>
744
+ <td>
745
+ <div class="type-bignumber"></div>
746
+ </td>
747
+ </tr>
748
+ <tr>
749
+ <td>chart</td>
750
+ <td>
751
+ <pre>
752
+ {
753
+ &quot;Type&quot;: &quot;chart&quot;
754
+ }
755
+ </pre>
756
+ </td>
757
+ <td>
758
+ <pre>
759
+ {
760
+ type: &#39;donut&#39;,
761
+ series: [30, 200, 100],
762
+ labels: [&#39;data1&#39;,&#39;data2&#39;,&#39;data3&#39;]
763
+ }
764
+ </pre>
765
+ </td>
766
+ <td>
767
+ <div class="type-chart"></div>
768
+ </td>
769
+ </tr>
770
+ </tbody>
771
+ </table>
772
+
773
+
774
+ <h4 id="-">복합 타입</h4>
775
+ <table class="gn-table is-full is-border">
776
+ <thead>
777
+ <th>type</th>
778
+ <th>schema</th>
779
+ <th>data</th>
780
+ <th>output</th>
781
+ </thead>
782
+ <tbody>
783
+ <tr>
784
+ <td>object</td>
785
+ <td>
786
+ <pre>
787
+ {
788
+ &quot;Type&quot;: &quot;object&quot;,
789
+ &quot;Disp&quot;: &quot;&quot;,
790
+ &quot;Description&quot;: &quot;&quot;,
791
+ &quot;Properties&quot;: {
792
+ &quot;data-string&quot;: {
793
+ &quot;Type&quot;: &quot;string&quot;,
794
+ &quot;Disp&quot;: &quot;물품명&quot;,
795
+ &quot;Description&quot;: &quot;product name&quot;
796
+ },
797
+ &quot;data-number&quot;: {
798
+ &quot;Type&quot;: &quot;number&quot;,
799
+ &quot;Disp&quot;: &quot;재고&quot;
800
+ },
801
+ &#39;data-reorder&#39;: {
802
+ Type: &#39;string&#39;,
803
+ Disp: &#39;재주문가능&#39;
804
+ }
805
+ },
806
+ Hidden: [&#39;data-reorder&#39;] // 화면에 나타내지 않을 프로퍼티명 배열
807
+ }
808
+ </pre>
809
+ </td>
810
+ <td>
811
+ <pre>
812
+ {
813
+ &#39;data-string&#39;: &#39;부뚜막&#39;,
814
+ &#39;data-number&#39;: 1489,
815
+ &#39;data-reorder&#39;: &#39;false&#39;
816
+ }
817
+ </pre>
818
+ </td>
819
+ <td>
820
+ <div class="type-object"></div>
821
+ </td>
822
+ </tr>
823
+ <tr>
824
+ <td>array</td>
825
+ <td>
826
+ <pre>
827
+ {
828
+ &quot;Type&quot;: &quot;array&quot;,
829
+ &quot;Items&quot;: {
830
+ &quot;Type&quot;: &quot;object&quot;,
831
+ &quot;Properties&quot;: {
832
+ &quot;data-string&quot;: {
833
+ &quot;Type&quot;: &#39;string&#39;,
834
+ &quot;Disp&quot;: &#39;물품명&#39;,
835
+ &quot;Description&quot;: &quot;product name&quot;
836
+ },
837
+ &quot;data-number&quot;: {
838
+ &quot;Type&quot;: &#39;number&#39;,
839
+ &quot;Disp&quot;: &#39;재고&#39;
840
+ }
841
+ }
842
+ }
843
+ }
844
+ </pre>
845
+ </td>
846
+ <td>
847
+ <pre>
848
+ [{
849
+ &#39;data-string&#39;: &#39;부뚜막&#39;,
850
+ &#39;data-number&#39;: 1489
851
+ },{
852
+ &#39;data-string&#39;: &#39;솥뚜껑&#39;,
853
+ &#39;data-number&#39;: 34
854
+ }]
855
+ </pre>
856
+ </td>
857
+ <td>
858
+ <div class="type-array2"></div>
859
+ </td>
860
+ </tr>
861
+ </tbody>
862
+ </table>
863
+
864
+
865
+ <h3 id="refurl-">RefURL 사용법</h3>
866
+ <h4 id="-mustache-">링크 파라메터에 {{mustache}} 구문을 사용할 수 있다.</h4>
867
+ <div class="gn-box-no-line">
868
+ <i><a href="https://www.google.com/search?q={{data}}" title="null">https://www.google.com/search?q={{data}}</a></i>
869
+ </div>
870
+
871
+ <table class="gn-table is-full is-border">
872
+ <thead>
873
+ <th>name</th>
874
+ <th>description</th>
875
+ </thead>
876
+ <tbody>
877
+ <tr>
878
+ <td>data</td>
879
+ <td>해당 항목에 대한 데이터를 반환한다.</td>
880
+ </tr>
881
+ <tr>
882
+ <td>schema</td>
883
+ <td>해당 항목에 대한 스키마를 반환한다.</td>
884
+ </tr>
885
+ <tr>
886
+ <td>$</td>
887
+ <td>전체 데이터 루트를 나타낸다.<br/>루트로부터 <a href="https://github.com/dchester/jsonpath#jsonpath-syntax" target="_blank">jsonpath 문법<span class="gn-icon is-small"><i class="fas fa-external-link-alt"></i></span></a>을 사용할 수 있다.<br/>*property key에 특수문자가 포함되는 경우 $[&#39;property-key&#39;] 와 같이 사용한다.</td>
888
+ </tr>
889
+ <tr>
890
+ <td>parent</td>
891
+ <td>해당 항목의 상위 데이터를 반환한다.</td>
892
+ </tr>
893
+ </tbody>
894
+ </table>
895
+
896
+
897
+ <h3 id="jsonpath-key-">jsonpath key 사용</h3>
898
+ <ul>
899
+ <li>object properties의 key 값으로 jsonpath를 사용할 수 있다.</li>
900
+ </ul>
901
+ <h3 id="style-styleclass-">Style, StyleClass 사용</h3>
902
+ <h4 id="-mustache-">{{mustache}} 구문을 사용하여 조건문을 설정할 수 있다.</h4>
903
+ <div class="gn-box-no-line">
904
+ <i>{{parent.test1 == &quot;1234&quot; ? &quot;color: red; font-weight: 900&quot; : &quot;color: blue;&quot;}}</i>
905
+ </div>
906
+
907
+ <table class="gn-table is-full is-border">
908
+ <thead>
909
+ <th>name</th>
910
+ <th>description</th>
911
+ </thead>
912
+ <tbody>
913
+ <tr>
914
+ <td>data</td>
915
+ <td>해당 항목에 대한 데이터를 반환한다.</td>
916
+ </tr>
917
+ <tr>
918
+ <td>parent</td>
919
+ <td>해당 항목의 상위 데이터를 반환한다.</td>
920
+ </tr>
921
+ <tr>
922
+ <td>$</td>
923
+ <td>전체 데이터를 반환한다.</td>
924
+ </tr>
925
+ </tbody>
926
+ </table>
927
+
928
+ <h3 id="defs-ref-">defs - ref 사용</h3>
929
+ <ul>
930
+ <li>schema에 미리 정의된 defs 객체를 ref로 지정하는 경우, 해당 데이터는 tooltip 형태로 출력된다.</li>
931
+ </ul>
932
+ <p><table class="gn-table is-full is-border">
933
+ <thead>
934
+ <th>schema</th>
935
+ <th>data</th>
936
+ </thead>
937
+ <tbody>
938
+ <tr>
939
+ <td>
940
+ <pre>
941
+ {
942
+ Type: &#39;array&#39;,
943
+ Items: {
944
+ Type: &#39;object&#39;,
945
+ Properties: {
946
+ &#39;$.COLLECTOR._id&#39;: {
947
+ Type: &#39;string&#39;,
948
+ Disp: &#39;인스턴스ID&#39;
949
+ },
950
+ &#39;$.COLLECTOR._type&#39;: {
951
+ Type: &#39;string&#39;,
952
+ Disp: &#39;타입&#39;,
953
+ $ref: &#39;#/$defs/Datas&#39;
954
+ },
955
+ &#39;$.COLLECTOR.nodes.obj2&#39;: {
956
+ Type: &#39;number&#39;,
957
+ Disp: &#39;No&#39;
958
+ }
959
+ }
960
+ },
961
+ $defs: {
962
+ Datas: {
963
+ Type: &#39;array&#39;,
964
+ Disp: &#39;Datas&#39;,
965
+ Items: {
966
+ Type: &#39;object&#39;,
967
+ Properties: {
968
+ field1: {
969
+ Type: &#39;string&#39;,
970
+ Disp: &#39;필드1&#39;
971
+ },
972
+ field2: {
973
+ Type: &#39;number&#39;,
974
+ Disp: &#39;필드2&#39;
975
+ },
976
+ field3: {
977
+ Type: &#39;string&#39;,
978
+ Disp: &#39;필드3&#39;
979
+ }
980
+ }
981
+ }
982
+ }
983
+ }
984
+ }
985
+ </pre>
986
+ </td>
987
+ <td>
988
+ <pre>
989
+ [
990
+ {
991
+ COLLECTOR: {
992
+ _id: &#39;data-1-id&#39;,
993
+ _type: &#39;collector&#39;,
994
+ test1: 0,
995
+ test2: 0,
996
+ nodes: {
997
+ obj1: &#39;&#39;,
998
+ obj2: 0
999
+ },
1000
+ datas: {
1001
+ field1: &#39;data-1&#39;,
1002
+ field2: 0,
1003
+ datas: [
1004
+ {
1005
+ field1: &#39;data-1&#39;,
1006
+ field2: 0,
1007
+ field3: &#39;data-1&#39;
1008
+ },
1009
+ {
1010
+ field1: &#39;data-1&#39;,
1011
+ field2: 0,
1012
+ field3: &#39;data-1&#39;
1013
+ }
1014
+ ]
1015
+ }
1016
+ }
1017
+ },
1018
+ {
1019
+ COLLECTOR: {
1020
+ _id: &#39;data-2-id&#39;,
1021
+ _type: &#39;collector&#39;,
1022
+ test1: 1,
1023
+ test2: 1,
1024
+ nodes: {
1025
+ obj1: &#39;&#39;,
1026
+ obj2: 1
1027
+ },
1028
+ datas: {
1029
+ field1: &#39;data-2&#39;,
1030
+ field2: 1,
1031
+ datas: [
1032
+ {
1033
+ field1: &#39;data-2&#39;,
1034
+ field2: 1,
1035
+ field3: &#39;data-2&#39;
1036
+ },
1037
+ {
1038
+ field1: &#39;data-2&#39;,
1039
+ field2: 1,
1040
+ field3: &#39;data-2&#39;
1041
+ }
1042
+ ]
1043
+ }
1044
+ }
1045
+ }
1046
+ ]
1047
+ </pre>
1048
+ </td>
1049
+ </tr>
1050
+ </tbody>
1051
+ </table></p>
1052
+ <div class="path-key"></div>
1053
+
1054
+
1055
+
1056
+
1057
+ <h3 id="converter-">Converter 사용</h3>
1058
+ <ul>
1059
+ <li>schema Converter 항목을 추가하여 데이터를 변환출력 할 수 있다.</li>
1060
+ <li>생성옵션의 convert Function을 정의하여 사용할 수 있다.</li>
1061
+ </ul>
1062
+ <p><table class="gn-table is-full is-border">
1063
+ <thead>
1064
+ <th>schema</th>
1065
+ <th>data</th>
1066
+ <th>Converter</th>
1067
+ </thead>
1068
+ <tbody>
1069
+ <tr>
1070
+ <td>
1071
+ <pre>
1072
+ {
1073
+ Type: &#39;array&#39;,
1074
+ Items: {
1075
+ Type: &#39;object&#39;,
1076
+ Properties: {
1077
+ name: {
1078
+ Type: &#39;string&#39;,
1079
+ Disp: &#39;스위치명&#39;
1080
+ },
1081
+ status: {
1082
+ Type: &#39;number&#39;,
1083
+ Disp: &#39;동작상태&#39;,
1084
+ Converter: [&#39;CodeImageConverter&#39;, &#39;OperStatus&#39;]
1085
+ }
1086
+ }
1087
+ }
1088
+ }
1089
+ </pre>
1090
+ </td>
1091
+ <td>
1092
+ <pre>
1093
+ [
1094
+ {
1095
+ name: &#39;부뚜막&#39;,
1096
+ status: 1
1097
+ },
1098
+ {
1099
+ name: &#39;솥뚜껑&#39;,
1100
+ status: 0
1101
+ }
1102
+ ]
1103
+ </pre>
1104
+ </td>
1105
+ <td>
1106
+ <pre>
1107
+ (name, type, value) =&gt; {
1108
+ // name : &#39;CodeImageConverter&#39;
1109
+ // type : &#39;OperStatus&#39;
1110
+ // value : {data.status 값}
1111
+ if (value === &#39;1&#39;) {
1112
+ return &#39;미동작&#39;;
1113
+ } else {
1114
+ return &#39;동작&#39;;
1115
+ }
1116
+ }
1117
+ </pre>
1118
+ </td>
1119
+ </tr>
1120
+ </tbody>
1121
+ </table></p>
1122
+ <div class="converter-view"></div>
1123
+
1124
+ </div>
1125
+
1126
+ </div>
1127
+
1128
+
1129
+ <footer class="aigis-footer">Last update at 2025/09/22 02:18</footer>
1130
+ </div>
1131
+ </div>
1132
+ </div>
1133
+ <script src="../../../assets/guide.js"></script>
1134
+ </body>
1135
+ </html>