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.
- package/@types/gnui.d.ts +195 -154
- package/README.md +9 -3
- package/assets/NotoSansKR-Black.otf +0 -0
- package/assets/NotoSansKR-Black.woff +0 -0
- package/assets/NotoSansKR-Black.woff2 +0 -0
- package/assets/NotoSansKR-Bold.otf +0 -0
- package/assets/NotoSansKR-Bold.woff +0 -0
- package/assets/NotoSansKR-Bold.woff2 +0 -0
- package/assets/NotoSansKR-DemiLight.otf +0 -0
- package/assets/NotoSansKR-DemiLight.woff +0 -0
- package/assets/NotoSansKR-DemiLight.woff2 +0 -0
- package/assets/NotoSansKR-Light.otf +0 -0
- package/assets/NotoSansKR-Light.woff +0 -0
- package/assets/NotoSansKR-Light.woff2 +0 -0
- package/assets/NotoSansKR-Medium.otf +0 -0
- package/assets/NotoSansKR-Medium.woff +0 -0
- package/assets/NotoSansKR-Medium.woff2 +0 -0
- package/assets/NotoSansKR-Regular.otf +0 -0
- package/assets/NotoSansKR-Regular.woff +0 -0
- package/assets/NotoSansKR-Regular.woff2 +0 -0
- package/assets/NotoSansKR-Thin.otf +0 -0
- package/assets/NotoSansKR-Thin.woff +0 -0
- package/assets/NotoSansKR-Thin.woff2 +0 -0
- package/assets/{LICENSE_OFL.txt → OFL.txt} +93 -92
- package/assets/images/flags.png +0 -0
- package/dist/js/gnui.esm.js +19752 -17631
- package/dist/js/gnui.js +19757 -17927
- package/dist/js/gnui.min.js +23 -1
- package/dist/styles/default.css +1 -3
- package/dist/styles/gpi.css +1 -3
- package/dist/styles/green24.css +1 -0
- package/dist/styles/insights.css +1 -3
- package/dist/styles/nac.css +1 -3
- package/dist/styles/ztnac.css +1 -0
- package/package.json +39 -30
- package/styleguide/assets/components.js +1031 -579
- package/styleguide/assets/guide.js +28 -26
- package/styleguide/assets/okadia.css +115 -117
- package/styleguide/assets/theme.css +140 -82
- package/styleguide/category/COLOR/index.html +75 -77
- package/styleguide/category/COMPONENT/Alert(js)/index.html +89 -92
- package/styleguide/category/COMPONENT/Bignumber/index.html +78 -82
- package/styleguide/category/COMPONENT/Breadcrumb/index.html +78 -82
- package/styleguide/category/COMPONENT/Calendar(js)/index.html +89 -92
- package/styleguide/category/COMPONENT/Card/index.html +78 -82
- package/styleguide/category/COMPONENT/Chart(js)/index.html +89 -92
- package/styleguide/category/COMPONENT/Datagrid(js)/index.html +354 -206
- package/styleguide/category/COMPONENT/Datalist(js)/index.html +471 -0
- package/styleguide/category/COMPONENT/Growl(js)/index.html +89 -92
- package/styleguide/category/COMPONENT/JsonView(js)/index.html +544 -246
- package/styleguide/category/{CONTROLS → COMPONENT}/MenuButton(js)/index.html +116 -92
- package/styleguide/category/COMPONENT/Message(js)/index.html +219 -95
- package/styleguide/category/COMPONENT/Modal(js)/index.html +128 -94
- package/styleguide/category/COMPONENT/Pagination/index.html +78 -82
- package/styleguide/category/COMPONENT/Panel/index.html +78 -82
- package/styleguide/category/COMPONENT/Progressbar(js)/index.html +89 -92
- package/styleguide/category/COMPONENT/Tab(js)/index.html +122 -93
- package/styleguide/category/COMPONENT/Tagcloud(js)/index.html +88 -89
- package/styleguide/category/COMPONENT/Tooltip(js)/index.html +175 -92
- package/styleguide/category/COMPONENT/Tree(js)/index.html +95 -92
- package/styleguide/category/CONTROLS/Button(js)/index.html +110 -95
- package/styleguide/category/CONTROLS/Checkbox/index.html +82 -86
- package/styleguide/category/CONTROLS/Colorpicker(js)/index.html +147 -93
- package/styleguide/category/CONTROLS/Datepicker(js)/index.html +124 -92
- package/styleguide/category/CONTROLS/Dropdown(js)/index.html +161 -132
- package/styleguide/category/CONTROLS/File/index.html +78 -82
- package/styleguide/category/CONTROLS/Form/Control/index.html +78 -82
- package/styleguide/category/CONTROLS/Form/Field/index.html +78 -82
- package/styleguide/category/CONTROLS/Form/Plain/index.html +78 -82
- package/styleguide/category/CONTROLS/Input/index.html +80 -84
- package/styleguide/category/CONTROLS/MultiText(js)/index.html +105 -92
- package/styleguide/category/CONTROLS/Picklist(js)/index.html +165 -141
- package/styleguide/category/CONTROLS/Radio/index.html +78 -82
- package/styleguide/category/CONTROLS/Select/index.html +80 -84
- package/styleguide/category/CONTROLS/SelectButton(js)/index.html +147 -92
- package/styleguide/category/CONTROLS/Slider/index.html +78 -82
- package/styleguide/category/CONTROLS/Switch(js)/index.html +105 -93
- package/styleguide/category/CONTROLS/SyntaxInput(js)/index.html +89 -92
- package/styleguide/category/CONTROLS/Textarea/index.html +78 -82
- package/styleguide/category/{COMPONENT → CONTROLS}/Time(js)/index.html +111 -92
- package/styleguide/category/ELEMENTS/Box/index.html +78 -82
- package/styleguide/category/ELEMENTS/Icon/index.html +122 -82
- package/styleguide/category/ELEMENTS/Image/index.html +78 -82
- package/styleguide/category/ELEMENTS/List/index.html +78 -82
- package/styleguide/category/ELEMENTS/Table/index.html +78 -82
- package/styleguide/category/ELEMENTS/Tag/index.html +78 -82
- package/styleguide/category/ELEMENTS/Title/index.html +78 -82
- package/styleguide/category/LAYOUT/Container/index.html +78 -82
- package/styleguide/category/LAYOUT/Grid/index.html +78 -82
- package/styleguide/category/LAYOUT/Splitter(js)/index.html +89 -92
- package/styleguide/category/UTILITY/index.html +80 -82
- package/styleguide/category/Utils/index.html +97 -71
- package/styleguide/color.html +66 -65
- package/styleguide/index.html +66 -65
- package/styleguide/tag/javascript/index.html +1984 -1011
- package/styleguide/tag/v.0.1.0/index.html +2730 -1568
- package/assets/NotoSansCJKkr-Black.otf +0 -0
- package/assets/NotoSansCJKkr-Bold.otf +0 -0
- package/assets/NotoSansCJKkr-DemiLight.otf +0 -0
- package/assets/NotoSansCJKkr-Light.otf +0 -0
- package/assets/NotoSansCJKkr-Medium.otf +0 -0
- package/assets/NotoSansCJKkr-Regular.otf +0 -0
- package/assets/NotoSansCJKkr-Thin.otf +0 -0
- package/assets/NotoSansMonoCJKkr-Bold.otf +0 -0
- package/assets/NotoSansMonoCJKkr-Regular.otf +0 -0
- package/assets/README +0 -11
- package/dist/styles/zt-nac.css +0 -3
|
@@ -1,65 +1,71 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html>
|
|
3
3
|
<head>
|
|
4
|
-
<meta charset="utf-8"
|
|
5
|
-
<meta name="viewport" content="width=device-width"
|
|
6
|
-
<link href="../../../dist/styles/default.css" rel="stylesheet" id="ThemeFile"
|
|
7
|
-
<link href="../../assets/okadia.css" rel="stylesheet"
|
|
8
|
-
<link href="../../assets/theme.css" rel="stylesheet"
|
|
9
|
-
<link
|
|
10
|
-
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width" />
|
|
6
|
+
<link href="../../../dist/styles/default.css" rel="stylesheet" id="ThemeFile" />
|
|
7
|
+
<link href="../../assets/okadia.css" rel="stylesheet" />
|
|
8
|
+
<link href="../../assets/theme.css" rel="stylesheet" />
|
|
9
|
+
<link
|
|
10
|
+
rel="stylesheet"
|
|
11
|
+
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css"
|
|
12
|
+
integrity="sha512-+4zCK9k+qNFUR5X+cKL9EIR+ZOhtIloNl9GIKS57V1MyNsYpYcUrUeQc9vNfzsWfV28IaLL3i96P9sdNyeRssA=="
|
|
13
|
+
crossorigin="anonymous"
|
|
14
|
+
/>
|
|
15
|
+
<link href="https://fonts.googleapis.com/css?family=Squada+One&display=swap" rel="stylesheet" />
|
|
11
16
|
<script src="../../assets/components.js"></script>
|
|
12
17
|
<script src="../../../dist/js/gnui.js"></script>
|
|
13
18
|
</head>
|
|
14
|
-
<body>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
<body>
|
|
20
|
+
<div class="aigis-container">
|
|
21
|
+
<header class="aigis-header gn-gcolor is-primary">
|
|
22
|
+
<span><a href="../../index.html" class="main-link" style="font-family: 'Squada One', cursive">GNUI</a></span>
|
|
23
|
+
<span class="has-text-invert" style="font-size: 1em; padding-left: 10px">Start your next web project with GNUI.</span>
|
|
24
|
+
<div class="gn-select is-medium">
|
|
25
|
+
<select id="ThemeSelector">
|
|
26
|
+
|
|
22
27
|
<option value="default">default</option>
|
|
23
|
-
|
|
28
|
+
|
|
24
29
|
<option value="nac">nac</option>
|
|
25
|
-
|
|
30
|
+
|
|
26
31
|
<option value="insights">insights</option>
|
|
27
|
-
|
|
32
|
+
|
|
28
33
|
<option value="gpi">gpi</option>
|
|
29
|
-
|
|
30
|
-
<option value="
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
34
|
+
|
|
35
|
+
<option value="ztnac">ztnac</option>
|
|
36
|
+
|
|
37
|
+
<option value="green24">green24</option>
|
|
38
|
+
|
|
39
|
+
</select>
|
|
40
|
+
</div>
|
|
41
|
+
<div>
|
|
42
|
+
<a class="gn-button is-primary util-link" href="../../category/Utils/index.html">
|
|
43
|
+
<span class="gn-icon is-small">
|
|
44
|
+
<i class="fas fa-tools"></i>
|
|
45
|
+
</span>
|
|
46
|
+
Gn.util
|
|
47
|
+
</a>
|
|
48
|
+
</div>
|
|
49
|
+
</header>
|
|
50
|
+
<div class="aigis-sidemenu">
|
|
51
|
+
<nav class="gn-tree is-borderless is-large left-menu"></nav>
|
|
46
52
|
</div>
|
|
47
53
|
|
|
48
54
|
<script>
|
|
49
55
|
window.Gn = window.gnui;
|
|
50
56
|
|
|
51
|
-
Gn.ready(function(){
|
|
52
|
-
var leftMenu = setTree('COLOR,COMPONENT/Alert(js),COMPONENT/Bignumber,COMPONENT/Breadcrumb,COMPONENT/Calendar(js),COMPONENT/Card,COMPONENT/Chart(js),COMPONENT/Datagrid(js),COMPONENT/Growl(js),COMPONENT/JsonView(js),COMPONENT/Message(js),COMPONENT/Modal(js),COMPONENT/Pagination,COMPONENT/Panel,COMPONENT/Progressbar(js),COMPONENT/Tab(js),COMPONENT/Tagcloud(js),COMPONENT/
|
|
57
|
+
Gn.ready(function () {
|
|
58
|
+
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/MenuButton(js),COMPONENT/Message(js),COMPONENT/Modal(js),COMPONENT/Pagination,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(','));
|
|
53
59
|
var jsComps = ''.split(',');
|
|
54
60
|
delete leftMenu.Utils;
|
|
55
61
|
Gn.util.append('.left-menu', renderTree(leftMenu));
|
|
56
62
|
Gn.util.scrollIntoView(Gn.util.$('.tree-item.is-active'), 300);
|
|
57
63
|
|
|
58
|
-
function renderTree(menus){
|
|
64
|
+
function renderTree(menus) {
|
|
59
65
|
var $depths = Gn.util.$('<ul></ul>');
|
|
60
|
-
Gn.util.each(menus, function (child, menu){
|
|
61
|
-
if(Gn.util.isString(child)){
|
|
62
|
-
Gn.util.append($depths, renderMenu(menu, '../../category/'+child+'/index.html', location.href.indexOf(child+'/') > -1));
|
|
66
|
+
Gn.util.each(menus, function (child, menu) {
|
|
67
|
+
if (Gn.util.isString(child)) {
|
|
68
|
+
Gn.util.append($depths, renderMenu(menu, '../../category/' + child + '/index.html', location.href.indexOf(child + '/') > -1));
|
|
63
69
|
} else {
|
|
64
70
|
var $_depth = renderMenu(menu, '');
|
|
65
71
|
Gn.util.append($_depth, renderTree(child));
|
|
@@ -69,35 +75,35 @@
|
|
|
69
75
|
return $depths;
|
|
70
76
|
}
|
|
71
77
|
|
|
72
|
-
function renderMenu(name, link, isActive){
|
|
78
|
+
function renderMenu(name, link, isActive) {
|
|
73
79
|
var $_menu;
|
|
74
|
-
if (link === ''){
|
|
80
|
+
if (link === '') {
|
|
75
81
|
$_menu = Gn.util.$('<li>' + name + '</li>');
|
|
76
82
|
} else {
|
|
77
|
-
var menuClass = isActive ? ' is-active' :''
|
|
78
|
-
$_menu = Gn.util.$('<li><a href="' + link + '"><div class="tree-item'+menuClass+'">' + name.split('(js)').join('') + '</a></div></li>');
|
|
83
|
+
var menuClass = isActive ? ' is-active' : '';
|
|
84
|
+
$_menu = Gn.util.$('<li><a href="' + link + '"><div class="tree-item' + menuClass + '">' + name.split('(js)').join('') + '</a></div></li>');
|
|
79
85
|
}
|
|
80
|
-
if(name.indexOf('(js)') > 0){
|
|
86
|
+
if (name.indexOf('(js)') > 0) {
|
|
81
87
|
Gn.util.append(Gn.util.find('.tree-item', $_menu), Gn.util.$('<span class="gn-tag is-small is-info-light">JS</span>'));
|
|
82
88
|
}
|
|
83
89
|
return $_menu;
|
|
84
90
|
}
|
|
85
91
|
|
|
86
|
-
function setTree(categorys){
|
|
92
|
+
function setTree(categorys) {
|
|
87
93
|
var menus = {};
|
|
88
94
|
|
|
89
|
-
categorys.forEach(function(category){
|
|
95
|
+
categorys.forEach(function (category) {
|
|
90
96
|
parseTree(menus, category.split('/'), category);
|
|
91
97
|
});
|
|
92
98
|
return menus;
|
|
93
99
|
}
|
|
94
100
|
|
|
95
|
-
function parseTree(parents, child, catgry){
|
|
101
|
+
function parseTree(parents, child, catgry) {
|
|
96
102
|
var _depth = child.shift();
|
|
97
103
|
if (parents[_depth] === undefined) {
|
|
98
|
-
parents[_depth] = {}
|
|
104
|
+
parents[_depth] = {};
|
|
99
105
|
}
|
|
100
|
-
if(child.length === 1){
|
|
106
|
+
if (child.length === 1) {
|
|
101
107
|
parents[_depth][child] = catgry;
|
|
102
108
|
} else if (child.length > 1) {
|
|
103
109
|
parseTree(parents[_depth], child, catgry);
|
|
@@ -108,27 +114,20 @@
|
|
|
108
114
|
});
|
|
109
115
|
</script>
|
|
110
116
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
<span class="gn-tag">v.0.1.0</span>
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
</div>
|
|
130
|
-
|
|
131
|
-
<h2 id="box-">Box 정렬</h2>
|
|
117
|
+
<div class="aigis-contents">
|
|
118
|
+
<div class="aigis-contents__body">
|
|
119
|
+
|
|
120
|
+
<div>
|
|
121
|
+
|
|
122
|
+
<div class="aigis-module UTILITY">
|
|
123
|
+
<h2 class="aigis-module__heading" id="UTILITY">UTILITY</h2>
|
|
124
|
+
<div class="aigis-module__filepath">/scss/default/help.scss</div>
|
|
125
|
+
<div class="aigis-tags">
|
|
126
|
+
|
|
127
|
+
<span class="gn-tag">v.0.1.0</span>
|
|
128
|
+
|
|
129
|
+
</div>
|
|
130
|
+
<h2 id="box-">Box 정렬</h2>
|
|
132
131
|
<ul>
|
|
133
132
|
<li><p>.is-clearfix</p>
|
|
134
133
|
</li>
|
|
@@ -138,6 +137,8 @@
|
|
|
138
137
|
</li>
|
|
139
138
|
<li><p>.is-clipped</p>
|
|
140
139
|
</li>
|
|
140
|
+
<li><p>.is-vertical-middle</p>
|
|
141
|
+
</li>
|
|
141
142
|
</ul>
|
|
142
143
|
<div class="aigis-preview">
|
|
143
144
|
<div class="gn-box is-clearfix">
|
|
@@ -350,18 +351,15 @@
|
|
|
350
351
|
<li>is-static, is-relative, is-absolute</li>
|
|
351
352
|
</ul>
|
|
352
353
|
|
|
353
|
-
</div>
|
|
354
354
|
</div>
|
|
355
355
|
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
356
|
+
</div>
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
<footer class="aigis-footer">Last update at 2024/04/15 13:52</footer>
|
|
360
|
+
</div>
|
|
359
361
|
</div>
|
|
360
362
|
</div>
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
</body>
|
|
363
|
+
<script src="../../assets/guide.js"></script>
|
|
364
|
+
</body>
|
|
364
365
|
</html>
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
@@ -1,65 +1,71 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html>
|
|
3
3
|
<head>
|
|
4
|
-
<meta charset="utf-8"
|
|
5
|
-
<meta name="viewport" content="width=device-width"
|
|
6
|
-
<link href="../../../dist/styles/default.css" rel="stylesheet" id="ThemeFile"
|
|
7
|
-
<link href="../../assets/okadia.css" rel="stylesheet"
|
|
8
|
-
<link href="../../assets/theme.css" rel="stylesheet"
|
|
9
|
-
<link
|
|
10
|
-
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width" />
|
|
6
|
+
<link href="../../../dist/styles/default.css" rel="stylesheet" id="ThemeFile" />
|
|
7
|
+
<link href="../../assets/okadia.css" rel="stylesheet" />
|
|
8
|
+
<link href="../../assets/theme.css" rel="stylesheet" />
|
|
9
|
+
<link
|
|
10
|
+
rel="stylesheet"
|
|
11
|
+
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css"
|
|
12
|
+
integrity="sha512-+4zCK9k+qNFUR5X+cKL9EIR+ZOhtIloNl9GIKS57V1MyNsYpYcUrUeQc9vNfzsWfV28IaLL3i96P9sdNyeRssA=="
|
|
13
|
+
crossorigin="anonymous"
|
|
14
|
+
/>
|
|
15
|
+
<link href="https://fonts.googleapis.com/css?family=Squada+One&display=swap" rel="stylesheet" />
|
|
11
16
|
<script src="../../assets/components.js"></script>
|
|
12
17
|
<script src="../../../dist/js/gnui.js"></script>
|
|
13
18
|
</head>
|
|
14
|
-
<body>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
<body>
|
|
20
|
+
<div class="aigis-container">
|
|
21
|
+
<header class="aigis-header gn-gcolor is-primary">
|
|
22
|
+
<span><a href="../../index.html" class="main-link" style="font-family: 'Squada One', cursive">GNUI</a></span>
|
|
23
|
+
<span class="has-text-invert" style="font-size: 1em; padding-left: 10px">Start your next web project with GNUI.</span>
|
|
24
|
+
<div class="gn-select is-medium">
|
|
25
|
+
<select id="ThemeSelector">
|
|
26
|
+
|
|
22
27
|
<option value="default">default</option>
|
|
23
|
-
|
|
28
|
+
|
|
24
29
|
<option value="nac">nac</option>
|
|
25
|
-
|
|
30
|
+
|
|
26
31
|
<option value="insights">insights</option>
|
|
27
|
-
|
|
32
|
+
|
|
28
33
|
<option value="gpi">gpi</option>
|
|
29
|
-
|
|
30
|
-
<option value="
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
34
|
+
|
|
35
|
+
<option value="ztnac">ztnac</option>
|
|
36
|
+
|
|
37
|
+
<option value="green24">green24</option>
|
|
38
|
+
|
|
39
|
+
</select>
|
|
40
|
+
</div>
|
|
41
|
+
<div>
|
|
42
|
+
<a class="gn-button is-primary util-link" href="../../category/Utils/index.html">
|
|
43
|
+
<span class="gn-icon is-small">
|
|
44
|
+
<i class="fas fa-tools"></i>
|
|
45
|
+
</span>
|
|
46
|
+
Gn.util
|
|
47
|
+
</a>
|
|
48
|
+
</div>
|
|
49
|
+
</header>
|
|
50
|
+
<div class="aigis-sidemenu">
|
|
51
|
+
<nav class="gn-tree is-borderless is-large left-menu"></nav>
|
|
46
52
|
</div>
|
|
47
53
|
|
|
48
54
|
<script>
|
|
49
55
|
window.Gn = window.gnui;
|
|
50
56
|
|
|
51
|
-
Gn.ready(function(){
|
|
52
|
-
var leftMenu = setTree('COLOR,COMPONENT/Alert(js),COMPONENT/Bignumber,COMPONENT/Breadcrumb,COMPONENT/Calendar(js),COMPONENT/Card,COMPONENT/Chart(js),COMPONENT/Datagrid(js),COMPONENT/Growl(js),COMPONENT/JsonView(js),COMPONENT/Message(js),COMPONENT/Modal(js),COMPONENT/Pagination,COMPONENT/Panel,COMPONENT/Progressbar(js),COMPONENT/Tab(js),COMPONENT/Tagcloud(js),COMPONENT/
|
|
57
|
+
Gn.ready(function () {
|
|
58
|
+
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/MenuButton(js),COMPONENT/Message(js),COMPONENT/Modal(js),COMPONENT/Pagination,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(','));
|
|
53
59
|
var jsComps = ''.split(',');
|
|
54
60
|
delete leftMenu.Utils;
|
|
55
61
|
Gn.util.append('.left-menu', renderTree(leftMenu));
|
|
56
62
|
Gn.util.scrollIntoView(Gn.util.$('.tree-item.is-active'), 300);
|
|
57
63
|
|
|
58
|
-
function renderTree(menus){
|
|
64
|
+
function renderTree(menus) {
|
|
59
65
|
var $depths = Gn.util.$('<ul></ul>');
|
|
60
|
-
Gn.util.each(menus, function (child, menu){
|
|
61
|
-
if(Gn.util.isString(child)){
|
|
62
|
-
Gn.util.append($depths, renderMenu(menu, '../../category/'+child+'/index.html', location.href.indexOf(child+'/') > -1));
|
|
66
|
+
Gn.util.each(menus, function (child, menu) {
|
|
67
|
+
if (Gn.util.isString(child)) {
|
|
68
|
+
Gn.util.append($depths, renderMenu(menu, '../../category/' + child + '/index.html', location.href.indexOf(child + '/') > -1));
|
|
63
69
|
} else {
|
|
64
70
|
var $_depth = renderMenu(menu, '');
|
|
65
71
|
Gn.util.append($_depth, renderTree(child));
|
|
@@ -69,35 +75,35 @@
|
|
|
69
75
|
return $depths;
|
|
70
76
|
}
|
|
71
77
|
|
|
72
|
-
function renderMenu(name, link, isActive){
|
|
78
|
+
function renderMenu(name, link, isActive) {
|
|
73
79
|
var $_menu;
|
|
74
|
-
if (link === ''){
|
|
80
|
+
if (link === '') {
|
|
75
81
|
$_menu = Gn.util.$('<li>' + name + '</li>');
|
|
76
82
|
} else {
|
|
77
|
-
var menuClass = isActive ? ' is-active' :''
|
|
78
|
-
$_menu = Gn.util.$('<li><a href="' + link + '"><div class="tree-item'+menuClass+'">' + name.split('(js)').join('') + '</a></div></li>');
|
|
83
|
+
var menuClass = isActive ? ' is-active' : '';
|
|
84
|
+
$_menu = Gn.util.$('<li><a href="' + link + '"><div class="tree-item' + menuClass + '">' + name.split('(js)').join('') + '</a></div></li>');
|
|
79
85
|
}
|
|
80
|
-
if(name.indexOf('(js)') > 0){
|
|
86
|
+
if (name.indexOf('(js)') > 0) {
|
|
81
87
|
Gn.util.append(Gn.util.find('.tree-item', $_menu), Gn.util.$('<span class="gn-tag is-small is-info-light">JS</span>'));
|
|
82
88
|
}
|
|
83
89
|
return $_menu;
|
|
84
90
|
}
|
|
85
91
|
|
|
86
|
-
function setTree(categorys){
|
|
92
|
+
function setTree(categorys) {
|
|
87
93
|
var menus = {};
|
|
88
94
|
|
|
89
|
-
categorys.forEach(function(category){
|
|
95
|
+
categorys.forEach(function (category) {
|
|
90
96
|
parseTree(menus, category.split('/'), category);
|
|
91
97
|
});
|
|
92
98
|
return menus;
|
|
93
99
|
}
|
|
94
100
|
|
|
95
|
-
function parseTree(parents, child, catgry){
|
|
101
|
+
function parseTree(parents, child, catgry) {
|
|
96
102
|
var _depth = child.shift();
|
|
97
103
|
if (parents[_depth] === undefined) {
|
|
98
|
-
parents[_depth] = {}
|
|
104
|
+
parents[_depth] = {};
|
|
99
105
|
}
|
|
100
|
-
if(child.length === 1){
|
|
106
|
+
if (child.length === 1) {
|
|
101
107
|
parents[_depth][child] = catgry;
|
|
102
108
|
} else if (child.length > 1) {
|
|
103
109
|
parseTree(parents[_depth], child, catgry);
|
|
@@ -108,17 +114,18 @@
|
|
|
108
114
|
});
|
|
109
115
|
</script>
|
|
110
116
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
117
|
+
<div class="aigis-contents">
|
|
118
|
+
<div class="aigis-contents__body">
|
|
119
|
+
|
|
115
120
|
<h2 class="gn-title is-border">Gn.util</h2>
|
|
116
|
-
<div class="aigis-module">
|
|
117
|
-
|
|
118
|
-
<h3 id="-">문자열 변경</h3>
|
|
121
|
+
<div class="aigis-module"> <h3 id="-">문자열</h3>
|
|
119
122
|
<ul>
|
|
120
123
|
<li><strong>hyphenate</strong>(str: string): string</li>
|
|
121
124
|
<li><strong>camelize</strong>(str: string): string</li>
|
|
125
|
+
<li><strong>parseBundle</strong>(text: string, locale: string): string (locale 에 맞는 표시 라벨 리턴)</li>
|
|
126
|
+
<li><strong>textToMultiLangs</strong>(text: string): { [key: string]: string } (언어와 표시 라벨을 객체화, Start Date{/default}{ko}사용시작{/ko} -> {default: 'Start Date', ko: '사용시작'})</li>
|
|
127
|
+
<li><strong>formatString</strong>(str: string, args: string[]): string ({0},{1},, 포함한 문자열 포맷팅)</li>
|
|
128
|
+
<li><strong>getByteSize</strong>(str: string): number (문자열의 바이트 사이즈 리턴)</li>
|
|
122
129
|
</ul>
|
|
123
130
|
<pre><code>Gn<span class="token punctuation" >.</span>util<span class="token punctuation" >.</span><span class="token function" >hyphenate</span><span class="token punctuation" >(</span><span class="token string" >'someString'</span><span class="token punctuation" >)</span> <span class="token operator" >/</span><span class="token operator" >/=</span><span class="token operator" >></span> some<span class="token operator" >-</span>string
|
|
124
131
|
Gn<span class="token punctuation" >.</span>util<span class="token punctuation" >.</span><span class="token function" >hyphenate</span><span class="token punctuation" >(</span><span class="token string" >'some-string'</span><span class="token punctuation" >)</span> <span class="token operator" >/</span><span class="token operator" >/=</span><span class="token operator" >></span> someString
|
|
@@ -147,6 +154,21 @@ Gn<span class="token punctuation" >.</span>util<span class="token punctuation" >
|
|
|
147
154
|
<li><strong>isTouch</strong>(e: any): boolean (touch 속성이 있는지 판단)</li>
|
|
148
155
|
<li><strong>isInput</strong>(element: any): boolean (input elements: input,select,textarea,button)</li>
|
|
149
156
|
<li><strong>isEqual</strong>(value: any, other: any): boolean</li>
|
|
157
|
+
<li><strong>isMAC</strong>(macStr: string, sep = ':'): boolean</li>
|
|
158
|
+
<li><strong>isNetworkAndBroadcastAddr</strong>(ipStr: string): boolean (IP가 0.0.0.0 혹은 255.255.255.255인지 확인)</li>
|
|
159
|
+
<li><strong>isIP</strong>(ipStr: string, version?: string, ipPattern?: string): boolean (버전과 패턴을 받아서 IP 주소인지 검증)</li>
|
|
160
|
+
<li><strong>isIPv4Pattern</strong>(ipPattern: string, ipPattern?: string, isSubnetMask?: boolean): boolean (특정 패턴의 IP 주소인지 확인, ipPattern값이 없으면 모두 체크 (ipstr|cidr|range|longRange))</li>
|
|
161
|
+
<li><strong>isIPv6Pattern</strong>(ipPattern: string, ipPattern?: string): boolean (특정 패턴의 IP 주소인지 확인, ipPattern값이 없으면 모두 체크 (ipstr|cidr|range|longRange))</li>
|
|
162
|
+
<li><strong>isIPv4</strong>(ipStr: string): boolean (IP V4 주소인지 확인)</li>
|
|
163
|
+
<li><strong>isIPv4Exclusive</strong>(ipStr: string): boolean (IP의 마지막 자리가 0 또는 255 가 아닌 V4 주소인지 확인)</li>
|
|
164
|
+
<li><strong>isIPv6</strong>(ipStr: string): boolean </li>
|
|
165
|
+
<li><strong>isCidrIPv4</strong>(ipStr: string): boolean (cidr 표기법의 IP 주소인지 확인, 1.1.1.1/7 )</li>
|
|
166
|
+
<li><strong>isCidrIPv6</strong>(ipStr: string): boolean </li>
|
|
167
|
+
<li><strong>isRangeIPv4</strong>(ipStr: string): boolean (축약한 IP의 범위인지 확인, 1.1.1.1-2)</li>
|
|
168
|
+
<li><strong>isRangeIPv6</strong>(ipStr: string): boolean </li>
|
|
169
|
+
<li><strong>isLongRangeIPv4</strong>(ipStr: string): boolean (IP의 범위인지 확인, 1.1.1.1-1.1.1.2)</li>
|
|
170
|
+
<li><strong>isLongRangeIPv6</strong>(ipStr: string): boolean </li>
|
|
171
|
+
<li><strong>isHexPattern</strong>(color: string): boolean (헥사 코드인지 검사, #123 #27290e)</li>
|
|
150
172
|
<li><strong>startsWith</strong>(str: string, search: string): boolean</li>
|
|
151
173
|
<li><strong>endsWith</strong>(str: string, search: string): boolean</li>
|
|
152
174
|
<li><strong>includes</strong>(obj: any, search: any): boolean</li>
|
|
@@ -166,6 +188,7 @@ Gn<span class="token punctuation" >.</span>util<span class="token punctuation" >
|
|
|
166
188
|
<li><strong>toList</strong>(value: any): any[]</li>
|
|
167
189
|
<li><strong>toMs</strong>(time: number): number (ms 단위로 환산한다) </li>
|
|
168
190
|
<li><strong>toDate</strong>(value: any): Date</li>
|
|
191
|
+
<li><strong>toJson</strong>(str: string): any (JSON 문자열을 JavaScript 객체로 변환)</li>
|
|
169
192
|
</ul>
|
|
170
193
|
<h3 id="-">객체속성</h3>
|
|
171
194
|
<ul>
|
|
@@ -244,7 +267,7 @@ GN<span class="token punctuation" >.</span>util<span class="token punctuation" >
|
|
|
244
267
|
<ul>
|
|
245
268
|
<li><strong>scrollTop</strong>(element: any, top: number): void</li>
|
|
246
269
|
<li><strong>scrollIntoView</strong>(element: any, offsetBy = 0): void</li>
|
|
247
|
-
<li><strong>scrollParents</strong>(element: any, overflowRe = /auto|scroll/): HTMLElement</li>
|
|
270
|
+
<li><strong>scrollParents</strong>(element: any, overflowRe?: RegExp = /auto|scroll/): HTMLElement[]</li>
|
|
248
271
|
<li><strong>getViewport</strong>(scrollElement: any): window|HTMLElement</li>
|
|
249
272
|
<li><strong>getCenterX</strong>(): number</li>
|
|
250
273
|
<li><strong>getCenterY</strong>(): number</li>
|
|
@@ -273,7 +296,10 @@ GN<span class="token punctuation" >.</span>util<span class="token punctuation" >
|
|
|
273
296
|
<li><strong>hasOwn</strong>(obj: any, key: any): boolean (object의 own property 인지 확인한다.)</li>
|
|
274
297
|
<li><strong>extend</strong>(default: any, options: any): any ( object 얕은 병합 )</li>
|
|
275
298
|
<li><strong>objExtends</strong>(...args: any[]): any</li>
|
|
299
|
+
<li><strong>objClone</strong>(obj: any): any (object 복제)</li>
|
|
276
300
|
<li><strong>findPath</strong>(obj: any, key: string): string</li>
|
|
301
|
+
<li><strong>findValue</strong>(obj: any, pathString: string | Array<string>): any</li>
|
|
302
|
+
<li><strong>findProperty</strong>(obj: any, predicate: (value, key) => {//return true/false}): Array<any> : predicate 결과가 true인 항목 배열을 리턴한다.</li>
|
|
277
303
|
<li><strong>merge</strong>(target: any, source: any): any (deepmerge)</li>
|
|
278
304
|
</ul>
|
|
279
305
|
<h3 id="date">Date</h3>
|
|
@@ -286,20 +312,20 @@ GN<span class="token punctuation" >.</span>util<span class="token punctuation" >
|
|
|
286
312
|
</ul>
|
|
287
313
|
<h3 id="-">기타</h3>
|
|
288
314
|
<ul>
|
|
289
|
-
<li><strong>isIE</strong>: boolean (브라우저가 IE인지 아닌지 확인한다)</li>
|
|
315
|
+
<li><strong>isIE</strong>: boolean (접속한 브라우저가 IE인지 아닌지 확인한다)</li>
|
|
316
|
+
<li><strong>getBrowser</strong>: string (접속한 브라우저를 확인한다)</li>
|
|
317
|
+
<li><strong>getOS</strong>: string (접속한 장비의 OS를 추측한다)</li>
|
|
318
|
+
<li><strong>toPlainText</strong>(content: string): string (html을 escape한 문자열을 반환한다)</li>
|
|
319
|
+
<li><strong>copyToClipboard</strong>(text: string): string (전달받은 텍스트를 클립보드에 저장한다)</li>
|
|
320
|
+
<li><strong>generateUUID</strong>(): string (uuid 를 생성한다)</li>
|
|
290
321
|
</ul>
|
|
322
|
+
</div>
|
|
291
323
|
|
|
292
|
-
|
|
293
|
-
</
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
<footer class="aigis-footer">Last update at 2023/04/04 17:59</footer>
|
|
324
|
+
|
|
325
|
+
<footer class="aigis-footer">Last update at 2024/04/15 13:52</footer>
|
|
326
|
+
</div>
|
|
297
327
|
</div>
|
|
298
328
|
</div>
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
</body>
|
|
329
|
+
<script src="../../assets/guide.js"></script>
|
|
330
|
+
</body>
|
|
302
331
|
</html>
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|