gnui 1.2.17 → 1.2.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/js/gnui.esm.js +724 -92
- package/dist/js/gnui.js +724 -92
- package/dist/js/gnui.min.js +6 -6
- package/dist/styles/default.css +1019 -108
- package/dist/styles/gpi.css +1019 -108
- package/dist/styles/green24.css +1230 -289
- package/dist/styles/insights.css +1019 -108
- package/dist/styles/nac.css +969 -58
- package/dist/styles/ztnac.css +1206 -265
- package/package.json +1 -1
- package/styleguide/assets/components.js +216 -9
- package/styleguide/assets/js/gnui.js +724 -92
- package/styleguide/assets/js/gnui.min.js +6 -6
- package/styleguide/assets/styles/default.css +1019 -108
- package/styleguide/assets/styles/gpi.css +1019 -108
- package/styleguide/assets/styles/green24.css +1230 -289
- package/styleguide/assets/styles/insights.css +1019 -108
- package/styleguide/assets/styles/nac.css +969 -58
- package/styleguide/assets/styles/ztnac.css +1206 -265
- package/styleguide/category/COLOR/index.html +2 -2
- package/styleguide/category/COMPONENT/Alert(js)/index.html +2 -2
- package/styleguide/category/COMPONENT/Bignumber/index.html +2 -2
- package/styleguide/category/COMPONENT/Breadcrumb/index.html +2 -2
- package/styleguide/category/COMPONENT/Calendar(js)/index.html +2 -2
- package/styleguide/category/COMPONENT/Card/index.html +2 -2
- package/styleguide/category/COMPONENT/Chart(js)/index.html +2 -2
- package/styleguide/category/COMPONENT/Datagrid(js)/index.html +136 -9
- package/styleguide/category/COMPONENT/Datalist(js)/index.html +2 -2
- package/styleguide/category/COMPONENT/Growl(js)/index.html +2 -2
- package/styleguide/category/COMPONENT/JsonView(js)/index.html +2 -2
- package/styleguide/category/COMPONENT/Loader(js)/index.html +21 -4
- package/styleguide/category/COMPONENT/MenuButton(js)/index.html +74 -6
- package/styleguide/category/COMPONENT/Message(js)/index.html +2 -2
- package/styleguide/category/COMPONENT/Modal(js)/index.html +2 -2
- package/styleguide/category/COMPONENT/Pagination(js)/index.html +2 -2
- package/styleguide/category/COMPONENT/Panel/index.html +2 -2
- package/styleguide/category/COMPONENT/Progressbar(js)/index.html +2 -2
- package/styleguide/category/COMPONENT/Tab(js)/index.html +2 -2
- package/styleguide/category/COMPONENT/Tagcloud(js)/index.html +2 -2
- package/styleguide/category/COMPONENT/Tooltip(js)/index.html +2 -2
- package/styleguide/category/COMPONENT/Tree(js)/index.html +2 -2
- package/styleguide/category/CONTROLS/Button(js)/index.html +2 -2
- package/styleguide/category/CONTROLS/Checkbox/index.html +2 -2
- package/styleguide/category/CONTROLS/Colorpicker(js)/index.html +2 -2
- package/styleguide/category/CONTROLS/Datepicker(js)/index.html +2 -2
- package/styleguide/category/CONTROLS/Dropdown(js)/index.html +2 -2
- package/styleguide/category/CONTROLS/File/index.html +2 -2
- package/styleguide/category/CONTROLS/Form/Control/index.html +2 -2
- package/styleguide/category/CONTROLS/Form/Field/index.html +2 -2
- package/styleguide/category/CONTROLS/Form/Plain/index.html +2 -2
- package/styleguide/category/CONTROLS/Input/index.html +2 -2
- package/styleguide/category/CONTROLS/MultiText(js)/index.html +2 -2
- package/styleguide/category/CONTROLS/Picklist(js)/index.html +28 -18
- package/styleguide/category/CONTROLS/Radio/index.html +2 -2
- package/styleguide/category/CONTROLS/Select/index.html +2 -2
- package/styleguide/category/CONTROLS/SelectButton(js)/index.html +2 -2
- package/styleguide/category/CONTROLS/Slider/index.html +2 -2
- package/styleguide/category/CONTROLS/SortableList(js)/index.html +487 -0
- package/styleguide/category/CONTROLS/Switch(js)/index.html +2 -2
- package/styleguide/category/CONTROLS/SyntaxInput(js)/index.html +2 -2
- package/styleguide/category/CONTROLS/Textarea/index.html +2 -2
- package/styleguide/category/CONTROLS/Time(js)/index.html +2 -2
- package/styleguide/category/ELEMENTS/Box/index.html +2 -2
- package/styleguide/category/ELEMENTS/Icon/index.html +2 -2
- package/styleguide/category/ELEMENTS/Image/index.html +2 -2
- package/styleguide/category/ELEMENTS/List/index.html +2 -2
- package/styleguide/category/ELEMENTS/Table/index.html +2 -2
- package/styleguide/category/ELEMENTS/Tag/index.html +2 -2
- package/styleguide/category/ELEMENTS/Title/index.html +2 -2
- package/styleguide/category/LAYOUT/Container/index.html +2 -2
- package/styleguide/category/LAYOUT/Grid/index.html +2 -2
- package/styleguide/category/LAYOUT/Splitter(js)/index.html +2 -2
- package/styleguide/category/UTILITY/index.html +2 -2
- package/styleguide/category/Utils/index.html +2 -2
- package/styleguide/color.html +2 -2
- package/styleguide/index.html +2 -2
- package/styleguide/tag/javascript/index.html +608 -31
- package/styleguide/tag/v.0.1.0/index.html +608 -31
package/dist/styles/insights.css
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
transform: translateX(100%);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
.gn-container:not(:last-child), .gn-tagcloud:not(:last-child), .gn-tab:not(:last-child), .gn-progressbar:not(:last-child), .gn-picklist:not(:last-child), .gn-panel-3:not(:last-child), .gn-panel-2:not(:last-child), .gn-pagination:not(:last-child), .gn-message:not(:last-child), .gn-jsonview .jsonview-header:not(:last-child), .gn-growl:not(:last-child), .gn-gcolor:not(:last-child), .gn-card:not(:last-child), .gn-breadcrumb:not(:last-child), .gn-bignumber:not(:last-child), .gn-alert:not(:last-child), .gn-slider:not(:last-child), .gn-multitext:not(:last-child), .gn-field:not(:last-child), .gn-title:not(:last-child),
|
|
21
|
+
.gn-container:not(:last-child), .gn-tagcloud:not(:last-child), .gn-tab:not(:last-child), .gn-progressbar:not(:last-child), .gn-sortablelist:not(:last-child), .gn-picklist:not(:last-child), .gn-panel-3:not(:last-child), .gn-panel-2:not(:last-child), .gn-pagination:not(:last-child), .gn-message:not(:last-child), .gn-jsonview .jsonview-header:not(:last-child), .gn-growl:not(:last-child), .gn-gcolor:not(:last-child), .gn-card:not(:last-child), .gn-breadcrumb:not(:last-child), .gn-bignumber:not(:last-child), .gn-alert:not(:last-child), .gn-slider:not(:last-child), .gn-multitext:not(:last-child), .gn-field:not(:last-child), .gn-title:not(:last-child),
|
|
22
22
|
.gn-sub-title:not(:last-child), .gn-table:not(:last-child), .gn-list:not(:last-child), .gn-box-no-line:not(:last-child), .gn-box:not(:last-child) {
|
|
23
23
|
margin-bottom: 1rem;
|
|
24
24
|
}
|
|
@@ -2670,7 +2670,7 @@ tag:
|
|
|
2670
2670
|
}
|
|
2671
2671
|
.gn-icon-ext::before {
|
|
2672
2672
|
content: "\f15b";
|
|
2673
|
-
font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free";
|
|
2673
|
+
font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
2674
2674
|
font-weight: 300;
|
|
2675
2675
|
font-size: 1.6rem;
|
|
2676
2676
|
}
|
|
@@ -4179,10 +4179,6 @@ tag:
|
|
|
4179
4179
|
display: block;
|
|
4180
4180
|
word-break: break-word;
|
|
4181
4181
|
}
|
|
4182
|
-
.gn-title:not(:last-child),
|
|
4183
|
-
.gn-sub-title:not(:last-child) {
|
|
4184
|
-
margin-bottom: 1rem;
|
|
4185
|
-
}
|
|
4186
4182
|
|
|
4187
4183
|
.gn-title {
|
|
4188
4184
|
color: hsl(0, 0%, 21%);
|
|
@@ -5452,6 +5448,7 @@ compile: true
|
|
|
5452
5448
|
```ejs
|
|
5453
5449
|
<button name="new-button"></button>
|
|
5454
5450
|
<button name="new-button2"></button>
|
|
5451
|
+
<button name="new-button-submenu">편집 메뉴</button>
|
|
5455
5452
|
```
|
|
5456
5453
|
|
|
5457
5454
|
````
|
|
@@ -5491,6 +5488,51 @@ compile: true
|
|
|
5491
5488
|
value: 'menu2'
|
|
5492
5489
|
}]
|
|
5493
5490
|
});
|
|
5491
|
+
// 서브메뉴 예시
|
|
5492
|
+
Gn.create('menubutton', {
|
|
5493
|
+
target: 'button[name=new-button-submenu]',
|
|
5494
|
+
size: 'normal',
|
|
5495
|
+
textSets: {
|
|
5496
|
+
buttonText: '편집 메뉴'
|
|
5497
|
+
},
|
|
5498
|
+
onSelect: function (value, text, menu, e) {
|
|
5499
|
+
console.log('선택된 메뉴:', { value: value, text: text, menu: menu });
|
|
5500
|
+
},
|
|
5501
|
+
data: [
|
|
5502
|
+
{
|
|
5503
|
+
text: '파일',
|
|
5504
|
+
value: 'file',
|
|
5505
|
+
child: [
|
|
5506
|
+
{ text: '새 파일', value: 'file-new' },
|
|
5507
|
+
{ text: '열기', value: 'file-open' },
|
|
5508
|
+
{
|
|
5509
|
+
text: '최근 파일',
|
|
5510
|
+
value: 'file-recent',
|
|
5511
|
+
child: [
|
|
5512
|
+
{ text: 'document.txt', value: 'file-recent-1' },
|
|
5513
|
+
{ text: 'image.png', value: 'file-recent-2' }
|
|
5514
|
+
]
|
|
5515
|
+
},
|
|
5516
|
+
{ text: '저장', value: 'file-save', disabled: true },
|
|
5517
|
+
{ text: '다른 이름으로 저장', value: 'file-saveas' }
|
|
5518
|
+
]
|
|
5519
|
+
},
|
|
5520
|
+
{
|
|
5521
|
+
text: '편집',
|
|
5522
|
+
value: 'edit',
|
|
5523
|
+
actived: true,
|
|
5524
|
+
child: [
|
|
5525
|
+
{ text: '실행 취소', value: 'edit-undo' },
|
|
5526
|
+
{ text: '다시 실행', value: 'edit-redo' }
|
|
5527
|
+
]
|
|
5528
|
+
},
|
|
5529
|
+
{
|
|
5530
|
+
text: '도움말',
|
|
5531
|
+
value: 'help',
|
|
5532
|
+
disabled: true
|
|
5533
|
+
}
|
|
5534
|
+
]
|
|
5535
|
+
});
|
|
5494
5536
|
````
|
|
5495
5537
|
|
|
5496
5538
|
|
|
@@ -5547,15 +5589,21 @@ compile: true
|
|
|
5547
5589
|
</tr>
|
|
5548
5590
|
<tr>
|
|
5549
5591
|
<td colspan="2">data</td>
|
|
5550
|
-
<td>Array[{value, text,
|
|
5592
|
+
<td>Array[{value, text, html, child, disabled, actived}]</td>
|
|
5551
5593
|
<td></td>
|
|
5552
|
-
<td>메뉴 목록에 출력할
|
|
5594
|
+
<td>메뉴 목록에 출력할 목록<br/>- value: 메뉴 값<br/>- text: 메뉴 텍스트<br/>- html: HTML로 렌더링할 내용<br/>- child: 하위 메뉴 배열 (최대 2단계)<br/>- disabled: 비활성화 여부 (boolean)<br/>- actived: 활성화 상태 표시 여부</td>
|
|
5595
|
+
</tr>
|
|
5596
|
+
<tr>
|
|
5597
|
+
<td colspan="2">disabled</td>
|
|
5598
|
+
<td>boolean</td>
|
|
5599
|
+
<td>false</td>
|
|
5600
|
+
<td>버튼 비활성화 여부</td>
|
|
5553
5601
|
</tr>
|
|
5554
5602
|
<tr>
|
|
5555
5603
|
<td colspan="2">onSelect</td>
|
|
5556
|
-
<td>function(value, text)</td>
|
|
5604
|
+
<td>function(value, text, menu, e)</td>
|
|
5557
5605
|
<td></td>
|
|
5558
|
-
<td>메뉴 선택 시 수행될
|
|
5606
|
+
<td>메뉴 선택 시 수행될 이벤트<br/>- value: 선택된 메뉴의 값<br/>- text: 선택된 메뉴의 텍스트<br/>- menu: 선택된 메뉴 객체<br/>- e: MouseEvent 객체</td>
|
|
5559
5607
|
</tr>
|
|
5560
5608
|
</tbody>
|
|
5561
5609
|
</table>
|
|
@@ -5574,6 +5622,21 @@ compile: true
|
|
|
5574
5622
|
<td>void</td>
|
|
5575
5623
|
<td>버튼명을 변경한다.</td>
|
|
5576
5624
|
</tr>
|
|
5625
|
+
<tr>
|
|
5626
|
+
<td>reRender(data: Array)</td>
|
|
5627
|
+
<td>void</td>
|
|
5628
|
+
<td>메뉴 데이터를 전달받아 DOM을 다시 생성한다.</td>
|
|
5629
|
+
</tr>
|
|
5630
|
+
<tr>
|
|
5631
|
+
<td>disabled()</td>
|
|
5632
|
+
<td>void</td>
|
|
5633
|
+
<td>버튼을 비활성화한다.</td>
|
|
5634
|
+
</tr>
|
|
5635
|
+
<tr>
|
|
5636
|
+
<td>enabled()</td>
|
|
5637
|
+
<td>void</td>
|
|
5638
|
+
<td>버튼을 활성화한다.</td>
|
|
5639
|
+
</tr>
|
|
5577
5640
|
</tbody>
|
|
5578
5641
|
</table>
|
|
5579
5642
|
*/
|
|
@@ -5661,6 +5724,47 @@ compile: true
|
|
|
5661
5724
|
color: #fff;
|
|
5662
5725
|
background-color: #00b3af;
|
|
5663
5726
|
}
|
|
5727
|
+
.gn-menuButton .menuButton-menu.is-disabled {
|
|
5728
|
+
pointer-events: none;
|
|
5729
|
+
opacity: 0.5;
|
|
5730
|
+
}
|
|
5731
|
+
.gn-menuButton .menuButton-menu.is-actived {
|
|
5732
|
+
background-color: hsl(0, 0%, 100%);
|
|
5733
|
+
}
|
|
5734
|
+
.gn-menuButton .menuButton-menu.has-submenu .menuButton-menu-content {
|
|
5735
|
+
display: flex;
|
|
5736
|
+
align-items: center;
|
|
5737
|
+
justify-content: space-between;
|
|
5738
|
+
width: 100%;
|
|
5739
|
+
}
|
|
5740
|
+
.gn-menuButton .menuButton-menu.has-submenu .menuButton-menu-arrow {
|
|
5741
|
+
margin-left: 10px;
|
|
5742
|
+
display: inline-flex;
|
|
5743
|
+
align-items: center;
|
|
5744
|
+
}
|
|
5745
|
+
.gn-menuButton .menuButton-menu .menuButton-submenu {
|
|
5746
|
+
display: none;
|
|
5747
|
+
position: absolute;
|
|
5748
|
+
left: 100%;
|
|
5749
|
+
top: 0;
|
|
5750
|
+
min-width: 150px;
|
|
5751
|
+
background-color: hsl(0, 0%, 100%);
|
|
5752
|
+
border: 1px solid hsl(0, 0%, 86%);
|
|
5753
|
+
border-radius: 2px;
|
|
5754
|
+
z-index: 21;
|
|
5755
|
+
padding: 0.35rem;
|
|
5756
|
+
}
|
|
5757
|
+
.gn-menuButton .menuButton-menu .menuButton-submenu .menuButton-menu {
|
|
5758
|
+
color: hsl(0, 0%, 29%);
|
|
5759
|
+
cursor: pointer;
|
|
5760
|
+
}
|
|
5761
|
+
.gn-menuButton .menuButton-menu .menuButton-submenu .menuButton-menu:hover {
|
|
5762
|
+
color: #fff;
|
|
5763
|
+
background-color: #00b3af;
|
|
5764
|
+
}
|
|
5765
|
+
.gn-menuButton .menuButton-menu:hover > .menuButton-submenu {
|
|
5766
|
+
display: block;
|
|
5767
|
+
}
|
|
5664
5768
|
.gn-menuButton.is-white button {
|
|
5665
5769
|
color: hsl(0, 0%, 100%);
|
|
5666
5770
|
border-color: hsl(0, 0%, 100%);
|
|
@@ -9446,7 +9550,7 @@ tag:
|
|
|
9446
9550
|
}
|
|
9447
9551
|
.gn-select::after {
|
|
9448
9552
|
content: "\f107";
|
|
9449
|
-
font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
9553
|
+
font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
9450
9554
|
font-weight: 900;
|
|
9451
9555
|
position: absolute;
|
|
9452
9556
|
right: 0.5rem;
|
|
@@ -12608,9 +12712,13 @@ tag:
|
|
|
12608
12712
|
```ejs
|
|
12609
12713
|
<div class="new-grid"></div>
|
|
12610
12714
|
|
|
12611
|
-
<div style="width: 100%; height:
|
|
12715
|
+
<div style="width: 100%; height: 100px; overflow-x: auto; margin-top: 20px;">
|
|
12612
12716
|
<div class="new-grid2"></div>
|
|
12613
12717
|
</div>
|
|
12718
|
+
|
|
12719
|
+
<div style="width: 100%; height: 350px; overflow-x: auto; margin-top: 20px;">
|
|
12720
|
+
<div class="new-grid3"></div>
|
|
12721
|
+
</div>
|
|
12614
12722
|
```
|
|
12615
12723
|
````
|
|
12616
12724
|
Gn.create('datagrid', {
|
|
@@ -12723,19 +12831,122 @@ Gn.create('datagrid', {
|
|
|
12723
12831
|
})
|
|
12724
12832
|
Gn.create('datagrid', {
|
|
12725
12833
|
target: '.new-grid2',
|
|
12834
|
+
headers: [
|
|
12835
|
+
{
|
|
12836
|
+
label: 'no',
|
|
12837
|
+
key: 'number',
|
|
12838
|
+
onSelect: function () {
|
|
12839
|
+
// eslint-disable-next-line prefer-rest-params
|
|
12840
|
+
console.log(arguments);
|
|
12841
|
+
},
|
|
12842
|
+
template: function (k, d) {
|
|
12843
|
+
return '<span>' + d[k] + '</span>';
|
|
12844
|
+
},
|
|
12845
|
+
draggable: true,
|
|
12846
|
+
sortable: true,
|
|
12847
|
+
sort: 'asc'
|
|
12848
|
+
},
|
|
12849
|
+
{
|
|
12850
|
+
label: '제목',
|
|
12851
|
+
key: 'title',
|
|
12852
|
+
style: {
|
|
12853
|
+
width: '250px'
|
|
12854
|
+
},
|
|
12855
|
+
className: 'has-text-right',
|
|
12856
|
+
draggable: true,
|
|
12857
|
+
bodyClass: 'has-text-left',
|
|
12858
|
+
sortable: true
|
|
12859
|
+
},
|
|
12860
|
+
{
|
|
12861
|
+
label: '날짜',
|
|
12862
|
+
key: 'date',
|
|
12863
|
+
style: {
|
|
12864
|
+
width: '150px'
|
|
12865
|
+
},
|
|
12866
|
+
className: 'has-text-center',
|
|
12867
|
+
bodyClass: 'has-text-left'
|
|
12868
|
+
}
|
|
12869
|
+
],
|
|
12870
|
+
data: [
|
|
12871
|
+
{
|
|
12872
|
+
number: '1',
|
|
12873
|
+
title: '하나',
|
|
12874
|
+
date: '2020-09-19',
|
|
12875
|
+
desc: 'hello, world',
|
|
12876
|
+
child: [
|
|
12877
|
+
{
|
|
12878
|
+
number: '1-1',
|
|
12879
|
+
title: '1-하나',
|
|
12880
|
+
date: '2020-09-19'
|
|
12881
|
+
},
|
|
12882
|
+
{
|
|
12883
|
+
number: '1-2',
|
|
12884
|
+
title: '1-둘',
|
|
12885
|
+
date: '2020-09-19',
|
|
12886
|
+
desc: 'hello, world',
|
|
12887
|
+
child: [
|
|
12888
|
+
{
|
|
12889
|
+
number: '1-2-1',
|
|
12890
|
+
title: '1-둘-1',
|
|
12891
|
+
date: '2020-09-19',
|
|
12892
|
+
desc: 'hello, world',
|
|
12893
|
+
child: [
|
|
12894
|
+
{
|
|
12895
|
+
number: '1-2-1-1',
|
|
12896
|
+
title: '1-둘-1-1',
|
|
12897
|
+
desc: 'hello, world',
|
|
12898
|
+
date: '2020-09-19'
|
|
12899
|
+
}
|
|
12900
|
+
]
|
|
12901
|
+
}
|
|
12902
|
+
]
|
|
12903
|
+
}
|
|
12904
|
+
],
|
|
12905
|
+
color: 'is-danger-light'
|
|
12906
|
+
},
|
|
12907
|
+
{
|
|
12908
|
+
number: '2',
|
|
12909
|
+
title: '둘',
|
|
12910
|
+
date: '2020-09-19',
|
|
12911
|
+
desc: 'hello, world'
|
|
12912
|
+
}
|
|
12913
|
+
],
|
|
12914
|
+
hasHeader: false,
|
|
12915
|
+
hasCheck: true,
|
|
12916
|
+
hasDelete: true,
|
|
12917
|
+
textSets: {
|
|
12918
|
+
deleteConfirmMessage: '파일을 삭제하시겠습니까?'
|
|
12919
|
+
},
|
|
12920
|
+
// onDelete 에서 false 를 반환하면 해당 행 삭제를 취소할 수 있다.
|
|
12921
|
+
onDelete: (data, index) => {
|
|
12922
|
+
console.log(data, index);
|
|
12923
|
+
// 예) 특정 조건에 따라 삭제 취소
|
|
12924
|
+
// if (index === 0) {
|
|
12925
|
+
// return false;
|
|
12926
|
+
// }
|
|
12927
|
+
}
|
|
12928
|
+
})
|
|
12929
|
+
Gn.create('datagrid', {
|
|
12930
|
+
target: '.new-grid3',
|
|
12726
12931
|
headers: [
|
|
12727
12932
|
{
|
|
12728
12933
|
label: 'row data numbers',
|
|
12729
12934
|
key: 'number',
|
|
12730
12935
|
style: { width: '50px' },
|
|
12731
12936
|
sortable: true,
|
|
12732
|
-
draggable: true
|
|
12937
|
+
draggable: true,
|
|
12938
|
+
template: function (k, d) {
|
|
12939
|
+
return '<span>' + d[k] + '</span>';
|
|
12940
|
+
}
|
|
12733
12941
|
},
|
|
12734
12942
|
{
|
|
12735
12943
|
label: '제목',
|
|
12736
12944
|
key: 'title',
|
|
12737
12945
|
sortable: true,
|
|
12738
|
-
draggable: true
|
|
12946
|
+
draggable: true,
|
|
12947
|
+
template: function (k, d) {
|
|
12948
|
+
return '<span>' + d[k] + '</span>';
|
|
12949
|
+
}
|
|
12739
12950
|
},
|
|
12740
12951
|
{
|
|
12741
12952
|
label: '날짜를 표시하는 컬럼입니다',
|
|
@@ -12798,8 +13009,6 @@ Gn.create('datagrid', {
|
|
|
12798
13009
|
paginator: {
|
|
12799
13010
|
rows: 30
|
|
12800
13011
|
},
|
|
12801
|
-
hasDelete: true,
|
|
12802
|
-
fixHeader: true,
|
|
12803
13012
|
onChange: updatedData => {
|
|
12804
13013
|
console.log(updatedData)
|
|
12805
13014
|
}
|
|
@@ -12914,7 +13123,7 @@ Gn.create('datagrid', {
|
|
|
12914
13123
|
<b>color:is-warning-light</b> => 행의 색 변경</td>
|
|
12915
13124
|
</tr>
|
|
12916
13125
|
<tr>
|
|
12917
|
-
<td rowspan="
|
|
13126
|
+
<td rowspan="4">textSets</td>
|
|
12918
13127
|
<td>noData</td>
|
|
12919
13128
|
<td>string</td>
|
|
12920
13129
|
<td>No records available.</td>
|
|
@@ -12932,6 +13141,12 @@ Gn.create('datagrid', {
|
|
|
12932
13141
|
<td></td>
|
|
12933
13142
|
<td>삭제버튼 헤더표시문구</td>
|
|
12934
13143
|
</tr>
|
|
13144
|
+
<tr>
|
|
13145
|
+
<td>deleteConfirmMessage</td>
|
|
13146
|
+
<td>string</td>
|
|
13147
|
+
<td></td>
|
|
13148
|
+
<td>삭제 확인 창 표시문구 - 삭제 버튼 클릭시 확인 창 출력</td>
|
|
13149
|
+
</tr>
|
|
12935
13150
|
<tr>
|
|
12936
13151
|
<td colspan="2">childField</td>
|
|
12937
13152
|
<td>string</td>
|
|
@@ -12956,6 +13171,12 @@ Gn.create('datagrid', {
|
|
|
12956
13171
|
<td>false</td>
|
|
12957
13172
|
<td>삭제버튼 생성 여부</td>
|
|
12958
13173
|
</tr>
|
|
13174
|
+
<tr>
|
|
13175
|
+
<td colspan="2">hasHeader</td>
|
|
13176
|
+
<td>boolean</td>
|
|
13177
|
+
<td>true</td>
|
|
13178
|
+
<td>헤더 생성 여부</td>
|
|
13179
|
+
</tr>
|
|
12959
13180
|
<tr>
|
|
12960
13181
|
<td colspan="2">readonly</td>
|
|
12961
13182
|
<td>boolean</td>
|
|
@@ -13053,6 +13274,12 @@ Gn.create('datagrid', {
|
|
|
13053
13274
|
<td></td>
|
|
13054
13275
|
<td>이동, 삭제 등의 데이터 변경이 있는 경우, 변경된 데이터를 가져오기 위한 이벤트핸들러</td>
|
|
13055
13276
|
</tr>
|
|
13277
|
+
<tr>
|
|
13278
|
+
<td colspan="2">onDelete</td>
|
|
13279
|
+
<td>function(deletedData, index)</td>
|
|
13280
|
+
<td>deletedData, index 를 인자로 받으며, false 를 반환하면 해당 행 삭제를 취소한다.</td>
|
|
13281
|
+
<td>삭제 버튼 클릭 시 삭제 대상 데이터와 인덱스를 받을 수 있는 이벤트핸들러<br>onChange 보다 먼저 동작하며, onDelete 에서 false 를 반환하면 실제 삭제 및 onChange 호출이 수행되지 않는다.</td>
|
|
13282
|
+
</tr>
|
|
13056
13283
|
</tbody>
|
|
13057
13284
|
</table>
|
|
13058
13285
|
|
|
@@ -13238,11 +13465,11 @@ Gn.create('datagrid', {
|
|
|
13238
13465
|
}
|
|
13239
13466
|
.gn-datagrid .gn-datagrid-body-row .is-toggler::before {
|
|
13240
13467
|
content: "\f0d7";
|
|
13241
|
-
font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
13468
|
+
font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
13242
13469
|
font-weight: 700;
|
|
13243
13470
|
}
|
|
13244
13471
|
.gn-datagrid .gn-datagrid-body-row.has-child[data-depth="0"] .is-toggler {
|
|
13245
|
-
margin-left: -
|
|
13472
|
+
margin-left: -6px;
|
|
13246
13473
|
}
|
|
13247
13474
|
.gn-datagrid .gn-datagrid-body-row.is-collapsed .is-toggler::before {
|
|
13248
13475
|
content: "\f0da";
|
|
@@ -13442,6 +13669,9 @@ Gn.create('datagrid', {
|
|
|
13442
13669
|
.gn-datagrid.has-left-padding .gn-datagrid-body-row:not(.has-child)[data-depth="0"] .gn-datagrid-body-cell:first-child {
|
|
13443
13670
|
padding-left: 15px;
|
|
13444
13671
|
}
|
|
13672
|
+
.gn-datagrid.is-headless .gn-datagrid-body-row:first-child {
|
|
13673
|
+
border-top: 1px solid hsl(0, 0%, 86%);
|
|
13674
|
+
}
|
|
13445
13675
|
.gn-datagrid .gn-datagrid-header-cell {
|
|
13446
13676
|
border-right: 1px solid hsl(0, 0%, 86%);
|
|
13447
13677
|
padding: 0.55rem;
|
|
@@ -17156,11 +17386,21 @@ tag:
|
|
|
17156
17386
|
<div class="gn-loader is-info"></div>
|
|
17157
17387
|
```
|
|
17158
17388
|
|
|
17389
|
+
```html
|
|
17390
|
+
<div class="gn-loader is-inline"></div>
|
|
17391
|
+
<div class="gn-loader is-inline is-success"></div>
|
|
17392
|
+
<div class="gn-loader is-inline is-warning"></div>
|
|
17393
|
+
<div class="gn-loader is-inline is-danger"></div>
|
|
17394
|
+
<div class="gn-loader is-inline is-info"></div>
|
|
17395
|
+
<div class="gn-loader is-inline is-primary"></div>
|
|
17396
|
+
```
|
|
17397
|
+
|
|
17159
17398
|
### 타입
|
|
17160
17399
|
|
|
17161
17400
|
```html
|
|
17162
17401
|
<div class="gn-loader is-bounce"></div><br>
|
|
17163
17402
|
<div class="gn-loader is-move"></div>
|
|
17403
|
+
<div class="gn-loader is-inline"></div><br>
|
|
17164
17404
|
```
|
|
17165
17405
|
|
|
17166
17406
|
### 생성 옵션
|
|
@@ -17220,7 +17460,7 @@ Gn.create('button', {
|
|
|
17220
17460
|
<td colspan="2">type</td>
|
|
17221
17461
|
<td>string</td>
|
|
17222
17462
|
<td></td>
|
|
17223
|
-
<td>'bounce','move','
|
|
17463
|
+
<td>'inline','bounce','move','</td>
|
|
17224
17464
|
</tr>
|
|
17225
17465
|
<tr>
|
|
17226
17466
|
<td colspan="2">positionX</td>
|
|
@@ -17329,6 +17569,7 @@ Gn.create('button', {
|
|
|
17329
17569
|
.gn-loader.is-small {
|
|
17330
17570
|
width: 15px;
|
|
17331
17571
|
height: 15px;
|
|
17572
|
+
border-width: 5px;
|
|
17332
17573
|
}
|
|
17333
17574
|
.gn-loader.is-normal {
|
|
17334
17575
|
width: 25px;
|
|
@@ -17414,6 +17655,82 @@ Gn.create('button', {
|
|
|
17414
17655
|
border: 13px solid #00b3af;
|
|
17415
17656
|
animation: move 1.5s ease-in-out infinite alternate;
|
|
17416
17657
|
}
|
|
17658
|
+
.gn-loader.is-inline {
|
|
17659
|
+
border: 0;
|
|
17660
|
+
position: relative;
|
|
17661
|
+
margin-left: 10px;
|
|
17662
|
+
margin-right: 10px;
|
|
17663
|
+
animation-delay: -0.12s;
|
|
17664
|
+
background: hsl(0, 0%, 96%);
|
|
17665
|
+
}
|
|
17666
|
+
.gn-loader.is-inline, .gn-loader.is-inline::before, .gn-loader.is-inline::after {
|
|
17667
|
+
display: inline-block !important;
|
|
17668
|
+
width: 3px;
|
|
17669
|
+
height: 3px;
|
|
17670
|
+
animation: colorPulse 1.4s ease-in-out infinite;
|
|
17671
|
+
border-radius: 50%;
|
|
17672
|
+
}
|
|
17673
|
+
.gn-loader.is-inline::before, .gn-loader.is-inline::after {
|
|
17674
|
+
content: "";
|
|
17675
|
+
position: absolute;
|
|
17676
|
+
top: 0;
|
|
17677
|
+
}
|
|
17678
|
+
.gn-loader.is-inline::before {
|
|
17679
|
+
animation-delay: -0.24s;
|
|
17680
|
+
margin-left: -8px;
|
|
17681
|
+
}
|
|
17682
|
+
.gn-loader.is-inline::after {
|
|
17683
|
+
animation-delay: 0s;
|
|
17684
|
+
margin-left: 8px;
|
|
17685
|
+
}
|
|
17686
|
+
.gn-loader.is-inline.is-white, .gn-loader.is-inline.is-white::before, .gn-loader.is-inline.is-white::after {
|
|
17687
|
+
animation-name: colorPulse-white;
|
|
17688
|
+
}
|
|
17689
|
+
.gn-loader.is-inline.is-black, .gn-loader.is-inline.is-black::before, .gn-loader.is-inline.is-black::after {
|
|
17690
|
+
animation-name: colorPulse-black;
|
|
17691
|
+
}
|
|
17692
|
+
.gn-loader.is-inline.is-light, .gn-loader.is-inline.is-light::before, .gn-loader.is-inline.is-light::after {
|
|
17693
|
+
animation-name: colorPulse-light;
|
|
17694
|
+
}
|
|
17695
|
+
.gn-loader.is-inline.is-dark, .gn-loader.is-inline.is-dark::before, .gn-loader.is-inline.is-dark::after {
|
|
17696
|
+
animation-name: colorPulse-dark;
|
|
17697
|
+
}
|
|
17698
|
+
.gn-loader.is-inline.is-primary, .gn-loader.is-inline.is-primary::before, .gn-loader.is-inline.is-primary::after {
|
|
17699
|
+
animation-name: colorPulse-primary;
|
|
17700
|
+
}
|
|
17701
|
+
.gn-loader.is-inline.is-link, .gn-loader.is-inline.is-link::before, .gn-loader.is-inline.is-link::after {
|
|
17702
|
+
animation-name: colorPulse-link;
|
|
17703
|
+
}
|
|
17704
|
+
.gn-loader.is-inline.is-info, .gn-loader.is-inline.is-info::before, .gn-loader.is-inline.is-info::after {
|
|
17705
|
+
animation-name: colorPulse-info;
|
|
17706
|
+
}
|
|
17707
|
+
.gn-loader.is-inline.is-cancel, .gn-loader.is-inline.is-cancel::before, .gn-loader.is-inline.is-cancel::after {
|
|
17708
|
+
animation-name: colorPulse-cancel;
|
|
17709
|
+
}
|
|
17710
|
+
.gn-loader.is-inline.is-success, .gn-loader.is-inline.is-success::before, .gn-loader.is-inline.is-success::after {
|
|
17711
|
+
animation-name: colorPulse-success;
|
|
17712
|
+
}
|
|
17713
|
+
.gn-loader.is-inline.is-warning, .gn-loader.is-inline.is-warning::before, .gn-loader.is-inline.is-warning::after {
|
|
17714
|
+
animation-name: colorPulse-warning;
|
|
17715
|
+
}
|
|
17716
|
+
.gn-loader.is-inline.is-danger, .gn-loader.is-inline.is-danger::before, .gn-loader.is-inline.is-danger::after {
|
|
17717
|
+
animation-name: colorPulse-danger;
|
|
17718
|
+
}
|
|
17719
|
+
.gn-loader.is-inline.is-trans, .gn-loader.is-inline.is-trans::before, .gn-loader.is-inline.is-trans::after {
|
|
17720
|
+
animation-name: colorPulse-trans;
|
|
17721
|
+
}
|
|
17722
|
+
.gn-loader.is-inline.is-help, .gn-loader.is-inline.is-help::before, .gn-loader.is-inline.is-help::after {
|
|
17723
|
+
animation-name: colorPulse-help;
|
|
17724
|
+
}
|
|
17725
|
+
.gn-loader.is-inline.is-plain, .gn-loader.is-inline.is-plain::before, .gn-loader.is-inline.is-plain::after {
|
|
17726
|
+
animation-name: colorPulse-plain;
|
|
17727
|
+
}
|
|
17728
|
+
.gn-loader.is-inline.is-secondary, .gn-loader.is-inline.is-secondary::before, .gn-loader.is-inline.is-secondary::after {
|
|
17729
|
+
animation-name: colorPulse-secondary;
|
|
17730
|
+
}
|
|
17731
|
+
.gn-loader.is-inline.is-mono, .gn-loader.is-inline.is-mono::before, .gn-loader.is-inline.is-mono::after {
|
|
17732
|
+
animation-name: colorPulse-mono;
|
|
17733
|
+
}
|
|
17417
17734
|
|
|
17418
17735
|
@keyframes load-spin {
|
|
17419
17736
|
0% {
|
|
@@ -17442,56 +17759,260 @@ Gn.create('button', {
|
|
|
17442
17759
|
transform: translateX(15px);
|
|
17443
17760
|
}
|
|
17444
17761
|
}
|
|
17445
|
-
|
|
17446
|
-
|
|
17447
|
-
|
|
17448
|
-
|
|
17449
|
-
|
|
17450
|
-
|
|
17451
|
-
|
|
17452
|
-
|
|
17453
|
-
|
|
17454
|
-
|
|
17455
|
-
|
|
17456
|
-
|
|
17457
|
-
-
|
|
17458
|
-
|
|
17459
|
-
|
|
17460
|
-
|
|
17461
|
-
|
|
17462
|
-
|
|
17463
|
-
|
|
17464
|
-
|
|
17465
|
-
|
|
17466
|
-
|
|
17467
|
-
|
|
17468
|
-
|
|
17469
|
-
|
|
17470
|
-
|
|
17471
|
-
|
|
17472
|
-
|
|
17473
|
-
|
|
17474
|
-
|
|
17475
|
-
|
|
17476
|
-
|
|
17477
|
-
|
|
17478
|
-
|
|
17479
|
-
|
|
17480
|
-
|
|
17481
|
-
|
|
17482
|
-
|
|
17483
|
-
|
|
17484
|
-
|
|
17485
|
-
|
|
17486
|
-
|
|
17487
|
-
|
|
17488
|
-
|
|
17489
|
-
|
|
17490
|
-
|
|
17491
|
-
|
|
17492
|
-
|
|
17493
|
-
|
|
17494
|
-
|
|
17762
|
+
@keyframes colorPulse {
|
|
17763
|
+
0%, 70%, 100% {
|
|
17764
|
+
background: hsl(0, 0%, 96%);
|
|
17765
|
+
/* 비활성 색상 */
|
|
17766
|
+
transform: scale(1);
|
|
17767
|
+
}
|
|
17768
|
+
35% {
|
|
17769
|
+
background: #00b3af;
|
|
17770
|
+
/* 활성 색상 */
|
|
17771
|
+
transform: scale(1.1);
|
|
17772
|
+
}
|
|
17773
|
+
}
|
|
17774
|
+
@keyframes colorPulse-white {
|
|
17775
|
+
0%, 70%, 100% {
|
|
17776
|
+
background: hsl(0, 0%, 71%);
|
|
17777
|
+
/* 비활성 색상 */
|
|
17778
|
+
transform: scale(1);
|
|
17779
|
+
}
|
|
17780
|
+
35% {
|
|
17781
|
+
background: hsl(0, 0%, 100%);
|
|
17782
|
+
/* 활성 색상 */
|
|
17783
|
+
transform: scale(1.1);
|
|
17784
|
+
}
|
|
17785
|
+
}
|
|
17786
|
+
@keyframes colorPulse-black {
|
|
17787
|
+
0%, 70%, 100% {
|
|
17788
|
+
background: hsl(0, 0%, 86%);
|
|
17789
|
+
/* 비활성 색상 */
|
|
17790
|
+
transform: scale(1);
|
|
17791
|
+
}
|
|
17792
|
+
35% {
|
|
17793
|
+
background: hsl(0, 0%, 4%);
|
|
17794
|
+
/* 활성 색상 */
|
|
17795
|
+
transform: scale(1.1);
|
|
17796
|
+
}
|
|
17797
|
+
}
|
|
17798
|
+
@keyframes colorPulse-light {
|
|
17799
|
+
0%, 70%, 100% {
|
|
17800
|
+
background: hsl(0, 0%, 93%);
|
|
17801
|
+
/* 비활성 색상 */
|
|
17802
|
+
transform: scale(1);
|
|
17803
|
+
}
|
|
17804
|
+
35% {
|
|
17805
|
+
background: hsl(0, 0%, 96%);
|
|
17806
|
+
/* 활성 색상 */
|
|
17807
|
+
transform: scale(1.1);
|
|
17808
|
+
}
|
|
17809
|
+
}
|
|
17810
|
+
@keyframes colorPulse-dark {
|
|
17811
|
+
0%, 70%, 100% {
|
|
17812
|
+
background: hsl(0, 0%, 86%);
|
|
17813
|
+
/* 비활성 색상 */
|
|
17814
|
+
transform: scale(1);
|
|
17815
|
+
}
|
|
17816
|
+
35% {
|
|
17817
|
+
background: hsl(0, 0%, 20%);
|
|
17818
|
+
/* 활성 색상 */
|
|
17819
|
+
transform: scale(1.1);
|
|
17820
|
+
}
|
|
17821
|
+
}
|
|
17822
|
+
@keyframes colorPulse-primary {
|
|
17823
|
+
0%, 70%, 100% {
|
|
17824
|
+
background: rgb(234.6, 255, 254.5441340782);
|
|
17825
|
+
/* 비활성 색상 */
|
|
17826
|
+
transform: scale(1);
|
|
17827
|
+
}
|
|
17828
|
+
35% {
|
|
17829
|
+
background: #00b3af;
|
|
17830
|
+
/* 활성 색상 */
|
|
17831
|
+
transform: scale(1.1);
|
|
17832
|
+
}
|
|
17833
|
+
}
|
|
17834
|
+
@keyframes colorPulse-link {
|
|
17835
|
+
0%, 70%, 100% {
|
|
17836
|
+
background: hsl(217, 71%, 96%);
|
|
17837
|
+
/* 비활성 색상 */
|
|
17838
|
+
transform: scale(1);
|
|
17839
|
+
}
|
|
17840
|
+
35% {
|
|
17841
|
+
background: hsl(217, 71%, 53%);
|
|
17842
|
+
/* 활성 색상 */
|
|
17843
|
+
transform: scale(1.1);
|
|
17844
|
+
}
|
|
17845
|
+
}
|
|
17846
|
+
@keyframes colorPulse-info {
|
|
17847
|
+
0%, 70%, 100% {
|
|
17848
|
+
background: hsl(204, 71%, 96%);
|
|
17849
|
+
/* 비활성 색상 */
|
|
17850
|
+
transform: scale(1);
|
|
17851
|
+
}
|
|
17852
|
+
35% {
|
|
17853
|
+
background: hsl(204, 71%, 53%);
|
|
17854
|
+
/* 활성 색상 */
|
|
17855
|
+
transform: scale(1.1);
|
|
17856
|
+
}
|
|
17857
|
+
}
|
|
17858
|
+
@keyframes colorPulse-cancel {
|
|
17859
|
+
0%, 70%, 100% {
|
|
17860
|
+
background: hsl(0, 0%, 96%);
|
|
17861
|
+
/* 비활성 색상 */
|
|
17862
|
+
transform: scale(1);
|
|
17863
|
+
}
|
|
17864
|
+
35% {
|
|
17865
|
+
background: hsl(0, 0%, 71%);
|
|
17866
|
+
/* 활성 색상 */
|
|
17867
|
+
transform: scale(1.1);
|
|
17868
|
+
}
|
|
17869
|
+
}
|
|
17870
|
+
@keyframes colorPulse-success {
|
|
17871
|
+
0%, 70%, 100% {
|
|
17872
|
+
background: hsl(141, 53%, 96%);
|
|
17873
|
+
/* 비활성 색상 */
|
|
17874
|
+
transform: scale(1);
|
|
17875
|
+
}
|
|
17876
|
+
35% {
|
|
17877
|
+
background: hsl(141, 53%, 53%);
|
|
17878
|
+
/* 활성 색상 */
|
|
17879
|
+
transform: scale(1.1);
|
|
17880
|
+
}
|
|
17881
|
+
}
|
|
17882
|
+
@keyframes colorPulse-warning {
|
|
17883
|
+
0%, 70%, 100% {
|
|
17884
|
+
background: hsl(38, 100%, 96%);
|
|
17885
|
+
/* 비활성 색상 */
|
|
17886
|
+
transform: scale(1);
|
|
17887
|
+
}
|
|
17888
|
+
35% {
|
|
17889
|
+
background: hsl(38, 100%, 50%);
|
|
17890
|
+
/* 활성 색상 */
|
|
17891
|
+
transform: scale(1.1);
|
|
17892
|
+
}
|
|
17893
|
+
}
|
|
17894
|
+
@keyframes colorPulse-danger {
|
|
17895
|
+
0%, 70%, 100% {
|
|
17896
|
+
background: hsl(348, 86%, 96%);
|
|
17897
|
+
/* 비활성 색상 */
|
|
17898
|
+
transform: scale(1);
|
|
17899
|
+
}
|
|
17900
|
+
35% {
|
|
17901
|
+
background: hsl(348, 86%, 61%);
|
|
17902
|
+
/* 활성 색상 */
|
|
17903
|
+
transform: scale(1.1);
|
|
17904
|
+
}
|
|
17905
|
+
}
|
|
17906
|
+
@keyframes colorPulse-trans {
|
|
17907
|
+
0%, 70%, 100% {
|
|
17908
|
+
background: hsl(0, 0%, 100%);
|
|
17909
|
+
/* 비활성 색상 */
|
|
17910
|
+
transform: scale(1);
|
|
17911
|
+
}
|
|
17912
|
+
35% {
|
|
17913
|
+
background: hsl(0, 0%, 100%);
|
|
17914
|
+
/* 활성 색상 */
|
|
17915
|
+
transform: scale(1.1);
|
|
17916
|
+
}
|
|
17917
|
+
}
|
|
17918
|
+
@keyframes colorPulse-help {
|
|
17919
|
+
0%, 70%, 100% {
|
|
17920
|
+
background: hsl(203, 96%, 96%);
|
|
17921
|
+
/* 비활성 색상 */
|
|
17922
|
+
transform: scale(1);
|
|
17923
|
+
}
|
|
17924
|
+
35% {
|
|
17925
|
+
background: hsl(203, 96%, 43%);
|
|
17926
|
+
/* 활성 색상 */
|
|
17927
|
+
transform: scale(1.1);
|
|
17928
|
+
}
|
|
17929
|
+
}
|
|
17930
|
+
@keyframes colorPulse-plain {
|
|
17931
|
+
0%, 70%, 100% {
|
|
17932
|
+
background: hsl(171, 100%, 29%);
|
|
17933
|
+
/* 비활성 색상 */
|
|
17934
|
+
transform: scale(1);
|
|
17935
|
+
}
|
|
17936
|
+
35% {
|
|
17937
|
+
background: #fff;
|
|
17938
|
+
/* 활성 색상 */
|
|
17939
|
+
transform: scale(1.1);
|
|
17940
|
+
}
|
|
17941
|
+
}
|
|
17942
|
+
@keyframes colorPulse-secondary {
|
|
17943
|
+
0%, 70%, 100% {
|
|
17944
|
+
background: rgb(238.641509434, 244.1264150943, 250.958490566);
|
|
17945
|
+
/* 비활성 색상 */
|
|
17946
|
+
transform: scale(1);
|
|
17947
|
+
}
|
|
17948
|
+
35% {
|
|
17949
|
+
background: #2a63aa;
|
|
17950
|
+
/* 활성 색상 */
|
|
17951
|
+
transform: scale(1.1);
|
|
17952
|
+
}
|
|
17953
|
+
}
|
|
17954
|
+
@keyframes colorPulse-mono {
|
|
17955
|
+
0%, 70%, 100% {
|
|
17956
|
+
background: rgb(244.8, 244.8, 244.8);
|
|
17957
|
+
/* 비활성 색상 */
|
|
17958
|
+
transform: scale(1);
|
|
17959
|
+
}
|
|
17960
|
+
35% {
|
|
17961
|
+
background: #656565;
|
|
17962
|
+
/* 활성 색상 */
|
|
17963
|
+
transform: scale(1.1);
|
|
17964
|
+
}
|
|
17965
|
+
}
|
|
17966
|
+
/*
|
|
17967
|
+
---
|
|
17968
|
+
name: Message
|
|
17969
|
+
category:
|
|
17970
|
+
- COMPONENT/Message(js)
|
|
17971
|
+
tag:
|
|
17972
|
+
- v.0.1.0
|
|
17973
|
+
- javascript
|
|
17974
|
+
---
|
|
17975
|
+
|
|
17976
|
+
|
|
17977
|
+
### 기본 메세지 알림
|
|
17978
|
+
-Text with icon / Text only 선택 사용 할 수 있다.
|
|
17979
|
+
|
|
17980
|
+
```html
|
|
17981
|
+
<div class="gn-message is-success has-arrange">
|
|
17982
|
+
<span class="gn-icon is-normal">
|
|
17983
|
+
<i class="fas fa-check"></i>
|
|
17984
|
+
</span>
|
|
17985
|
+
<p>Success! Your message has been sent successfully. <br/> Success! Your message has been sent successfully. </p>
|
|
17986
|
+
</div>
|
|
17987
|
+
<div class="gn-message is-warning has-arrange">
|
|
17988
|
+
<span class="gn-icon is-normal">
|
|
17989
|
+
<i class="fas fa-exclamation-circle"></i>
|
|
17990
|
+
</span>
|
|
17991
|
+
<p>Warning! There was a problem with your network connection.</p>
|
|
17992
|
+
<span class="gn-icon is-close is-dark">
|
|
17993
|
+
<i class="fas fa-times"></i>
|
|
17994
|
+
</span>
|
|
17995
|
+
</div>
|
|
17996
|
+
<div class="gn-message is-danger has-arrange">
|
|
17997
|
+
<span class="gn-icon is-normal">
|
|
17998
|
+
<i class="fas fa-exclamation-triangle"></i>
|
|
17999
|
+
</span>
|
|
18000
|
+
<p>Error! A problem has been occurred while submitting your data.</p>
|
|
18001
|
+
</div>
|
|
18002
|
+
<div class="gn-message is-info has-arrange">
|
|
18003
|
+
<span class="gn-icon is-normal">
|
|
18004
|
+
<i class="fas fa-info-circle"></i>
|
|
18005
|
+
</span>
|
|
18006
|
+
<p>Info! Please read the comments carefully.</p>
|
|
18007
|
+
<span class="gn-icon is-close is-dark">
|
|
18008
|
+
<i class="fas fa-times"></i>
|
|
18009
|
+
</span>
|
|
18010
|
+
</div>
|
|
18011
|
+
<div class="gn-message is-guide has-arrange">
|
|
18012
|
+
<span class="gn-icon is-normal">
|
|
18013
|
+
<i class="fas fa-info-circle"></i>
|
|
18014
|
+
</span>
|
|
18015
|
+
<p> 가이드 메시지 한글 폰드 테스트 Guide!</p>
|
|
17495
18016
|
</div>
|
|
17496
18017
|
|
|
17497
18018
|
```
|
|
@@ -19010,22 +19531,26 @@ tag:
|
|
|
19010
19531
|
```
|
|
19011
19532
|
````
|
|
19012
19533
|
Gn.create('picklist', {
|
|
19013
|
-
target: '.new-picklist',
|
|
19014
|
-
data
|
|
19534
|
+
target: '.new-picklist',
|
|
19535
|
+
data: {
|
|
19015
19536
|
source: [
|
|
19016
|
-
{ value: '
|
|
19017
|
-
{ value: '
|
|
19018
|
-
{ value: '
|
|
19019
|
-
{ value: 'item4', text: '항목4' },
|
|
19020
|
-
{ value: 'item5', text: '항목5' },
|
|
19021
|
-
{ value: 'item6', text: '항목6' },
|
|
19022
|
-
{ value: 'item7', text: '항목7' },
|
|
19023
|
-
{ value: 'item8', text: '항목8' }
|
|
19537
|
+
{ value: '항목1', text: 'item1', html: '<span class="gn-tag is-primary">항목1</span> item1' },
|
|
19538
|
+
{ value: '항목2', text: 'item2', html: '<span class="gn-tag is-danger">항목2</span> item2' },
|
|
19539
|
+
{ value: '항목3', text: 'item3', html: '<span class="gn-tag is-warning">항목3</span> item3' }
|
|
19024
19540
|
],
|
|
19025
|
-
target: [
|
|
19541
|
+
target: [
|
|
19542
|
+
{ value: '항목4', text: 'item4', html: '<span class="gn-tag is-help">항목4</span> item4' },
|
|
19543
|
+
{ value: '항목5', text: 'item5', html: '<span class="gn-tag is-success">항목5</span> item5' }
|
|
19544
|
+
]
|
|
19026
19545
|
},
|
|
19546
|
+
hasSourceSearch: true,
|
|
19547
|
+
hasTargetSearch: true,
|
|
19027
19548
|
width: '80%',
|
|
19028
|
-
height: 180
|
|
19549
|
+
height: 180,
|
|
19550
|
+
onChange: function (s, t) {
|
|
19551
|
+
console.log(s, t);
|
|
19552
|
+
},
|
|
19553
|
+
orderable: 'target'
|
|
19029
19554
|
});
|
|
19030
19555
|
Gn.create('picklist', {
|
|
19031
19556
|
target: '.new-picklist-v',
|
|
@@ -19062,15 +19587,21 @@ tag:
|
|
|
19062
19587
|
<tr>
|
|
19063
19588
|
<td rowspan="2">data</td>
|
|
19064
19589
|
<td>source</td>
|
|
19065
|
-
<td>array[{value: string|array, text: string}]</td>
|
|
19590
|
+
<td>array[{value: string|array, text: string, html?: string, icon?:string}]</td>
|
|
19066
19591
|
<td></td>
|
|
19067
|
-
<td>source 항목
|
|
19592
|
+
<td>source 항목 배열<br>
|
|
19593
|
+
html: 옵션 html(html이 있는 경우 text가 있는 항목만 선택 가능하다.)<br>
|
|
19594
|
+
icon : <a href="https://fontawesome.com/cheatsheet?from=io" target="_blank">font awesome <span class="gn-icon is-small"><i class="fas fa-external-link-alt"></i></span></a> solid icon name
|
|
19595
|
+
</td>
|
|
19068
19596
|
</tr>
|
|
19069
19597
|
<tr>
|
|
19070
19598
|
<td>target</td>
|
|
19071
|
-
<td>array[{value: string|array, text: string}]</td>
|
|
19599
|
+
<td>array[{value: string|array, text: string, html?: string, icon?:string}]</td>
|
|
19072
19600
|
<td></td>
|
|
19073
|
-
<td>target 항목
|
|
19601
|
+
<td>target 항목 배열<br>
|
|
19602
|
+
html: 옵션 html(html이 있는 경우 text가 있는 항목만 선택 가능하다.)<br>
|
|
19603
|
+
icon : <a href="https://fontawesome.com/cheatsheet?from=io" target="_blank">font awesome <span class="gn-icon is-small"><i class="fas fa-external-link-alt"></i></span></a> solid icon name
|
|
19604
|
+
</td>
|
|
19074
19605
|
</tr>
|
|
19075
19606
|
<tr>
|
|
19076
19607
|
<td rowspan="3">textSets</td>
|
|
@@ -19224,23 +19755,17 @@ tag:
|
|
|
19224
19755
|
.gn-picklist .picklist-caption + .dropdown-items {
|
|
19225
19756
|
border-radius: 0 0 2px 2px;
|
|
19226
19757
|
}
|
|
19227
|
-
.gn-picklist .
|
|
19758
|
+
.gn-picklist .gn-dropdown {
|
|
19759
|
+
display: block;
|
|
19760
|
+
}
|
|
19761
|
+
.gn-picklist .picklist-source,
|
|
19762
|
+
.gn-picklist .picklist-target {
|
|
19228
19763
|
display: flex;
|
|
19229
19764
|
flex-basis: calc(50% - 16px);
|
|
19230
19765
|
width: calc(50% - 16px);
|
|
19231
19766
|
flex-grow: 0;
|
|
19232
19767
|
flex-shrink: 0;
|
|
19233
19768
|
}
|
|
19234
|
-
.gn-picklist .picklist-source > .gn-dropdown {
|
|
19235
|
-
order: 2;
|
|
19236
|
-
width: 100%;
|
|
19237
|
-
}
|
|
19238
|
-
.gn-picklist .picklist-source .picklist-controls {
|
|
19239
|
-
order: 1;
|
|
19240
|
-
}
|
|
19241
|
-
.gn-picklist .gn-dropdown {
|
|
19242
|
-
display: block;
|
|
19243
|
-
}
|
|
19244
19769
|
.gn-picklist .picklist-source.no-controls,
|
|
19245
19770
|
.gn-picklist .picklist-target.no-controls {
|
|
19246
19771
|
flex-basis: calc(50% - 45px);
|
|
@@ -19251,23 +19776,22 @@ tag:
|
|
|
19251
19776
|
width: 100%;
|
|
19252
19777
|
height: 100%;
|
|
19253
19778
|
}
|
|
19254
|
-
.gn-picklist.
|
|
19255
|
-
.gn-picklist .picklist-target {
|
|
19256
|
-
display: flex;
|
|
19257
|
-
flex-basis: calc(50% - 16px);
|
|
19258
|
-
width: calc(50% - 16px);
|
|
19259
|
-
flex-grow: 0;
|
|
19260
|
-
flex-shrink: 0;
|
|
19261
|
-
}
|
|
19262
|
-
.gn-picklist.is-vertical .picklist-source > .gn-dropdown,
|
|
19779
|
+
.gn-picklist .picklist-source > .gn-dropdown,
|
|
19263
19780
|
.gn-picklist .picklist-target > .gn-dropdown {
|
|
19264
19781
|
order: 1;
|
|
19265
19782
|
width: 100%;
|
|
19266
19783
|
}
|
|
19267
|
-
.gn-picklist
|
|
19784
|
+
.gn-picklist .picklist-source .picklist-controls,
|
|
19268
19785
|
.gn-picklist .picklist-target .picklist-controls {
|
|
19269
19786
|
order: 2;
|
|
19270
19787
|
}
|
|
19788
|
+
.gn-picklist .picklist-source > .gn-dropdown {
|
|
19789
|
+
order: 2;
|
|
19790
|
+
width: 100%;
|
|
19791
|
+
}
|
|
19792
|
+
.gn-picklist .picklist-source .picklist-controls {
|
|
19793
|
+
order: 1;
|
|
19794
|
+
}
|
|
19271
19795
|
.gn-picklist .picklist-controls {
|
|
19272
19796
|
margin: 0.5rem;
|
|
19273
19797
|
}
|
|
@@ -19277,6 +19801,16 @@ tag:
|
|
|
19277
19801
|
.gn-picklist.is-vertical {
|
|
19278
19802
|
flex-direction: column;
|
|
19279
19803
|
}
|
|
19804
|
+
.gn-picklist.is-vertical .picklist-source,
|
|
19805
|
+
.gn-picklist.is-vertical .picklist-target {
|
|
19806
|
+
width: calc(100% - 32px);
|
|
19807
|
+
}
|
|
19808
|
+
.gn-picklist.is-vertical .picklist-source > .gn-dropdown {
|
|
19809
|
+
order: 1;
|
|
19810
|
+
}
|
|
19811
|
+
.gn-picklist.is-vertical .picklist-source .picklist-controls {
|
|
19812
|
+
order: 2;
|
|
19813
|
+
}
|
|
19280
19814
|
.gn-picklist.is-vertical > .picklist-controls {
|
|
19281
19815
|
width: 90%;
|
|
19282
19816
|
width: calc(100% - 50px);
|
|
@@ -19287,6 +19821,382 @@ tag:
|
|
|
19287
19821
|
box-shadow: 0 0 0 0.1em rgba(241.077, 70.023, 104.2338, 0.7);
|
|
19288
19822
|
}
|
|
19289
19823
|
|
|
19824
|
+
/*
|
|
19825
|
+
---
|
|
19826
|
+
name: SortableList
|
|
19827
|
+
category:
|
|
19828
|
+
- CONTROLS/SortableList(js)
|
|
19829
|
+
tag:
|
|
19830
|
+
- v.0.1.0
|
|
19831
|
+
- javascript
|
|
19832
|
+
---
|
|
19833
|
+
### 기본 사용
|
|
19834
|
+
|
|
19835
|
+
```html
|
|
19836
|
+
<div class="gn-sortablelist">
|
|
19837
|
+
<div class="sortablelist-controls gn-control is-small has-arrange is-vertical is-center">
|
|
19838
|
+
<button type="button" class="gn-button is-outline">
|
|
19839
|
+
<span class="gn-icon">
|
|
19840
|
+
<i class="fas fa-angle-double-up"></i>
|
|
19841
|
+
</span>
|
|
19842
|
+
</button>
|
|
19843
|
+
<button type="button" class="gn-button is-outline">
|
|
19844
|
+
<span class="gn-icon">
|
|
19845
|
+
<i class="fas fa-angle-up"></i>
|
|
19846
|
+
</span>
|
|
19847
|
+
</button>
|
|
19848
|
+
<button type="button" class="gn-button is-outline">
|
|
19849
|
+
<span class="gn-icon">
|
|
19850
|
+
<i class="fas fa-angle-down"></i>
|
|
19851
|
+
</span>
|
|
19852
|
+
</button>
|
|
19853
|
+
<button type="button" class="gn-button is-outline">
|
|
19854
|
+
<span class="gn-icon">
|
|
19855
|
+
<i class="fas fa-angle-double-down"></i>
|
|
19856
|
+
</span>
|
|
19857
|
+
</button>
|
|
19858
|
+
</div>
|
|
19859
|
+
<div class="gn-dropdown is-opened sortablelist-items">
|
|
19860
|
+
<div class="dropdown-items">
|
|
19861
|
+
<ul class="sortablelist-rows">
|
|
19862
|
+
<li class="dropdown-item">항목 1</li>
|
|
19863
|
+
<li class="dropdown-item">항목 2</li>
|
|
19864
|
+
<li class="dropdown-item">항목 3</li>
|
|
19865
|
+
<li class="dropdown-item">항목 4</li>
|
|
19866
|
+
</ul>
|
|
19867
|
+
</div>
|
|
19868
|
+
</div>
|
|
19869
|
+
</div>
|
|
19870
|
+
```
|
|
19871
|
+
|
|
19872
|
+
### 버튼 우측 배치
|
|
19873
|
+
|
|
19874
|
+
```html
|
|
19875
|
+
<div class="gn-sortablelist">
|
|
19876
|
+
<div class="gn-dropdown is-opened sortablelist-items">
|
|
19877
|
+
<div class="dropdown-items">
|
|
19878
|
+
<ul class="sortablelist-rows">
|
|
19879
|
+
<li class="dropdown-item">항목 1</li>
|
|
19880
|
+
<li class="dropdown-item">항목 2</li>
|
|
19881
|
+
<li class="dropdown-item">항목 3</li>
|
|
19882
|
+
</ul>
|
|
19883
|
+
</div>
|
|
19884
|
+
</div>
|
|
19885
|
+
<div class="sortablelist-controls gn-control is-small has-arrange is-vertical is-center is-right">
|
|
19886
|
+
<button type="button" class="gn-button is-outline">
|
|
19887
|
+
<span class="gn-icon">
|
|
19888
|
+
<i class="fas fa-angle-double-up"></i>
|
|
19889
|
+
</span>
|
|
19890
|
+
</button>
|
|
19891
|
+
<button type="button" class="gn-button is-outline">
|
|
19892
|
+
<span class="gn-icon">
|
|
19893
|
+
<i class="fas fa-angle-up"></i>
|
|
19894
|
+
</span>
|
|
19895
|
+
</button>
|
|
19896
|
+
<button type="button" class="gn-button is-outline">
|
|
19897
|
+
<span class="gn-icon">
|
|
19898
|
+
<i class="fas fa-angle-down"></i>
|
|
19899
|
+
</span>
|
|
19900
|
+
</button>
|
|
19901
|
+
<button type="button" class="gn-button is-outline">
|
|
19902
|
+
<span class="gn-icon">
|
|
19903
|
+
<i class="fas fa-angle-double-down"></i>
|
|
19904
|
+
</span>
|
|
19905
|
+
</button>
|
|
19906
|
+
</div>
|
|
19907
|
+
</div>
|
|
19908
|
+
```
|
|
19909
|
+
|
|
19910
|
+
### 생성 옵션
|
|
19911
|
+
```ejs
|
|
19912
|
+
<div class="new-sortablelist"></div>
|
|
19913
|
+
<div class="new-sortablelist-drag"></div>
|
|
19914
|
+
<div class="new-sortablelist-cols"></div>
|
|
19915
|
+
```
|
|
19916
|
+
````
|
|
19917
|
+
// 단일 컬럼
|
|
19918
|
+
Gn.create('sortablelist', {
|
|
19919
|
+
target: '.new-sortablelist',
|
|
19920
|
+
data: [
|
|
19921
|
+
{ value: '1', text: '항목 1' },
|
|
19922
|
+
{ value: '2', text: '항목 2' },
|
|
19923
|
+
{ value: '3', text: '항목 3' },
|
|
19924
|
+
{ value: '4', text: '항목 4' },
|
|
19925
|
+
{ value: '5', text: '항목 5' },
|
|
19926
|
+
{ value: '6', text: '항목 6' },
|
|
19927
|
+
{ value: '7', text: '항목 7' },
|
|
19928
|
+
{ value: '8', text: '항목 8' },
|
|
19929
|
+
{ value: '9', text: '항목 9' },
|
|
19930
|
+
{ value: '10', text: '항목 10' }
|
|
19931
|
+
]
|
|
19932
|
+
});
|
|
19933
|
+
// 드래그 앤 드롭
|
|
19934
|
+
Gn.create('sortablelist', {
|
|
19935
|
+
target: '.new-sortablelist-drag',
|
|
19936
|
+
data: [
|
|
19937
|
+
{ value: 'a', text: '항목 A' },
|
|
19938
|
+
{ value: 'b', text: '항목 B' },
|
|
19939
|
+
{ value: 'c', text: '항목 C' },
|
|
19940
|
+
{ value: 'd', text: '항목 D' },
|
|
19941
|
+
{ value: 'e', text: '항목 E' },
|
|
19942
|
+
{ value: 'f', text: '항목 F' },
|
|
19943
|
+
{ value: 'g', text: '항목 G' },
|
|
19944
|
+
{ value: 'h', text: '항목 H' },
|
|
19945
|
+
{ value: 'i', text: '항목 I' },
|
|
19946
|
+
{ value: 'j', text: '항목 J' }
|
|
19947
|
+
],
|
|
19948
|
+
draggable: true
|
|
19949
|
+
});
|
|
19950
|
+
// 다중 컬럼
|
|
19951
|
+
Gn.create('sortablelist', {
|
|
19952
|
+
target: '.new-sortablelist-cols',
|
|
19953
|
+
buttonPosition: 'right',
|
|
19954
|
+
data: [
|
|
19955
|
+
{ value: 'x1', cols: ['항목1', '카테고리A', '1000'] },
|
|
19956
|
+
{ value: 'x2', cols: ['항목2', '카테고리B', '2000'] },
|
|
19957
|
+
{ value: 'x3', cols: ['항목3', '카테고리C', '3000'] },
|
|
19958
|
+
{ value: 'x4', cols: ['항목4', '카테고리D', '4000'] },
|
|
19959
|
+
{ value: 'x5', cols: ['항목5', '카테고리E', '5000'] },
|
|
19960
|
+
{ value: 'x6', cols: ['항목6', '카테고리F', '6000'] },
|
|
19961
|
+
{ value: 'x7', cols: ['항목7', '카테고리G', '7000'] },
|
|
19962
|
+
{ value: 'x8', cols: ['항목8', '카테고리H', '8000'] },
|
|
19963
|
+
{ value: 'x9', cols: ['항목9', '카테고리I', '9000'] },
|
|
19964
|
+
{ value: 'x10', cols: ['항목10', '카테고리J', '10000'] }
|
|
19965
|
+
]
|
|
19966
|
+
});
|
|
19967
|
+
````
|
|
19968
|
+
|
|
19969
|
+
### 데이터 모델 (SortableListItem)
|
|
19970
|
+
|
|
19971
|
+
<table class="gn-table is-full is-border">
|
|
19972
|
+
<thead>
|
|
19973
|
+
<th>필드</th>
|
|
19974
|
+
<th>type</th>
|
|
19975
|
+
<th>필수</th>
|
|
19976
|
+
<th>description</th>
|
|
19977
|
+
</thead>
|
|
19978
|
+
<tbody>
|
|
19979
|
+
<tr>
|
|
19980
|
+
<td>value</td>
|
|
19981
|
+
<td>string</td>
|
|
19982
|
+
<td>Y</td>
|
|
19983
|
+
<td>고유 값 (빈 문자열 불가)</td>
|
|
19984
|
+
</tr>
|
|
19985
|
+
<tr>
|
|
19986
|
+
<td>text</td>
|
|
19987
|
+
<td>string</td>
|
|
19988
|
+
<td>N</td>
|
|
19989
|
+
<td>단일 컬럼 표시 텍스트</td>
|
|
19990
|
+
</tr>
|
|
19991
|
+
<tr>
|
|
19992
|
+
<td>cols</td>
|
|
19993
|
+
<td>string[]</td>
|
|
19994
|
+
<td>N</td>
|
|
19995
|
+
<td>다중 컬럼 표시 값 배열</td>
|
|
19996
|
+
</tr>
|
|
19997
|
+
</tbody>
|
|
19998
|
+
</table>
|
|
19999
|
+
|
|
20000
|
+
### 옵션
|
|
20001
|
+
<table class="gn-table is-full is-border">
|
|
20002
|
+
<thead>
|
|
20003
|
+
<th colspan="2">name</th>
|
|
20004
|
+
<th>type</th>
|
|
20005
|
+
<th>default</th>
|
|
20006
|
+
<th>description</th>
|
|
20007
|
+
</thead>
|
|
20008
|
+
<tbody>
|
|
20009
|
+
<tr>
|
|
20010
|
+
<td colspan="2">target</td>
|
|
20011
|
+
<td>string</td>
|
|
20012
|
+
<td></td>
|
|
20013
|
+
<td>sortablelist를 표시할 대상의 선택자(selector)</td>
|
|
20014
|
+
</tr>
|
|
20015
|
+
<tr>
|
|
20016
|
+
<td colspan="2">data</td>
|
|
20017
|
+
<td>SortableListItem[]</td>
|
|
20018
|
+
<td></td>
|
|
20019
|
+
<td>sortablelist에 표시할 데이터 배열</td>
|
|
20020
|
+
</tr>
|
|
20021
|
+
<tr>
|
|
20022
|
+
<td colspan="2">buttonPosition</td>
|
|
20023
|
+
<td>left | right</td>
|
|
20024
|
+
<td>left</td>
|
|
20025
|
+
<td>순서 변경 버튼 위치</td>
|
|
20026
|
+
</tr>
|
|
20027
|
+
<tr>
|
|
20028
|
+
<td colspan="2">draggable</td>
|
|
20029
|
+
<td>boolean</td>
|
|
20030
|
+
<td>false</td>
|
|
20031
|
+
<td>드래그 앤 드롭 순서 변경 활성화 여부</td>
|
|
20032
|
+
</tr>
|
|
20033
|
+
<tr>
|
|
20034
|
+
<td>textSets</td>
|
|
20035
|
+
<td>noData</td>
|
|
20036
|
+
<td>string</td>
|
|
20037
|
+
<td>No records available.</td>
|
|
20038
|
+
<td>데이터가 없을 경우 출력 메시지</td>
|
|
20039
|
+
</tr>
|
|
20040
|
+
<tr>
|
|
20041
|
+
<td colspan="2">disabled</td>
|
|
20042
|
+
<td>boolean</td>
|
|
20043
|
+
<td>false</td>
|
|
20044
|
+
<td>컴포넌트 비활성화 여부</td>
|
|
20045
|
+
</tr>
|
|
20046
|
+
<tr>
|
|
20047
|
+
<td colspan="2">width</td>
|
|
20048
|
+
<td>number, string</td>
|
|
20049
|
+
<td>100%</td>
|
|
20050
|
+
<td>컴포넌트 너비</td>
|
|
20051
|
+
</tr>
|
|
20052
|
+
<tr>
|
|
20053
|
+
<td colspan="2">height</td>
|
|
20054
|
+
<td>number, string</td>
|
|
20055
|
+
<td>150</td>
|
|
20056
|
+
<td>리스트 높이 (미지정 시 150)</td>
|
|
20057
|
+
</tr>
|
|
20058
|
+
<tr>
|
|
20059
|
+
<td colspan="2">onChange</td>
|
|
20060
|
+
<td>function(data)</td>
|
|
20061
|
+
<td></td>
|
|
20062
|
+
<td>데이터 변경 시 발생 이벤트</td>
|
|
20063
|
+
</tr>
|
|
20064
|
+
</tbody>
|
|
20065
|
+
</table>
|
|
20066
|
+
|
|
20067
|
+
### 메소드
|
|
20068
|
+
|
|
20069
|
+
<table class="gn-table is-full is-border">
|
|
20070
|
+
<thead>
|
|
20071
|
+
<th>name</th>
|
|
20072
|
+
<th>return</th>
|
|
20073
|
+
<th>description</th>
|
|
20074
|
+
</thead>
|
|
20075
|
+
<tbody>
|
|
20076
|
+
<tr>
|
|
20077
|
+
<td>getData()</td>
|
|
20078
|
+
<td>SortableListItem[]</td>
|
|
20079
|
+
<td>현재 데이터 배열을 반환한다.</td>
|
|
20080
|
+
</tr>
|
|
20081
|
+
<tr>
|
|
20082
|
+
<td>setData(data: SortableListItem[]})</td>
|
|
20083
|
+
<td>void</td>
|
|
20084
|
+
<td>데이터 배열을 설정하고 다시 렌더링한다.</td>
|
|
20085
|
+
</tr>
|
|
20086
|
+
<tr>
|
|
20087
|
+
<td>disable()</td>
|
|
20088
|
+
<td>void</td>
|
|
20089
|
+
<td>컴포넌트를 비활성화한다.</td>
|
|
20090
|
+
</tr>
|
|
20091
|
+
<tr>
|
|
20092
|
+
<td>enable()</td>
|
|
20093
|
+
<td>void</td>
|
|
20094
|
+
<td>컴포넌트를 활성화한다.</td>
|
|
20095
|
+
</tr>
|
|
20096
|
+
</tbody>
|
|
20097
|
+
</table>
|
|
20098
|
+
|
|
20099
|
+
*/
|
|
20100
|
+
.gn-sortablelist {
|
|
20101
|
+
display: flex;
|
|
20102
|
+
align-items: stretch;
|
|
20103
|
+
-webkit-user-select: none;
|
|
20104
|
+
-moz-user-select: none;
|
|
20105
|
+
user-select: none;
|
|
20106
|
+
}
|
|
20107
|
+
.gn-sortablelist .gn-dropdown {
|
|
20108
|
+
display: block;
|
|
20109
|
+
}
|
|
20110
|
+
.gn-sortablelist .sortablelist-items {
|
|
20111
|
+
flex: 1 1 auto;
|
|
20112
|
+
}
|
|
20113
|
+
.gn-sortablelist .sortablelist-controls {
|
|
20114
|
+
margin: 0.5rem;
|
|
20115
|
+
}
|
|
20116
|
+
.gn-sortablelist .sortablelist-controls .gn-button {
|
|
20117
|
+
padding: 0.25rem 0.75rem;
|
|
20118
|
+
}
|
|
20119
|
+
.gn-sortablelist .sortablelist-controls.is-right {
|
|
20120
|
+
order: 2;
|
|
20121
|
+
margin-left: 0.5rem;
|
|
20122
|
+
margin-right: 0;
|
|
20123
|
+
justify-content: center;
|
|
20124
|
+
}
|
|
20125
|
+
.gn-sortablelist .sortablelist-rows {
|
|
20126
|
+
margin: 0;
|
|
20127
|
+
padding: 0;
|
|
20128
|
+
list-style: none;
|
|
20129
|
+
}
|
|
20130
|
+
.gn-sortablelist .sortablelist-cols {
|
|
20131
|
+
display: flex;
|
|
20132
|
+
gap: 0.5rem;
|
|
20133
|
+
width: 100%;
|
|
20134
|
+
}
|
|
20135
|
+
.gn-sortablelist .sortablelist-col {
|
|
20136
|
+
flex: 1 1 0;
|
|
20137
|
+
min-width: 0;
|
|
20138
|
+
}
|
|
20139
|
+
.gn-sortablelist .dropdown-item.is-empty {
|
|
20140
|
+
color: hsl(0, 0%, 48%);
|
|
20141
|
+
}
|
|
20142
|
+
.gn-sortablelist .dropdown-item.is-dragging {
|
|
20143
|
+
opacity: 0.6;
|
|
20144
|
+
}
|
|
20145
|
+
.gn-sortablelist .dropdown-item.is-group-dragging {
|
|
20146
|
+
outline: 1px dashed hsl(0, 0%, 71%);
|
|
20147
|
+
}
|
|
20148
|
+
.gn-sortablelist .dropdown-item.is-drag-over-top,
|
|
20149
|
+
.gn-sortablelist .dropdown-item.is-drag-over-bottom {
|
|
20150
|
+
background-color: hsl(0, 0%, 96%);
|
|
20151
|
+
}
|
|
20152
|
+
.gn-sortablelist .dropdown-item.is-drag-over-top {
|
|
20153
|
+
box-shadow: inset 0 2px 0 0 #00b3af;
|
|
20154
|
+
}
|
|
20155
|
+
.gn-sortablelist .dropdown-item.is-drag-over-bottom {
|
|
20156
|
+
box-shadow: inset 0 -2px 0 0 #00b3af;
|
|
20157
|
+
}
|
|
20158
|
+
|
|
20159
|
+
.sortablelist-drag-preview {
|
|
20160
|
+
position: absolute;
|
|
20161
|
+
top: -9999px;
|
|
20162
|
+
left: -9999px;
|
|
20163
|
+
display: inline-flex;
|
|
20164
|
+
align-items: flex-start;
|
|
20165
|
+
gap: 8px;
|
|
20166
|
+
padding: 6px 10px;
|
|
20167
|
+
border-radius: 8px;
|
|
20168
|
+
background-color: hsl(0, 0%, 20%);
|
|
20169
|
+
color: hsl(0, 0%, 98%);
|
|
20170
|
+
font-size: 12px;
|
|
20171
|
+
line-height: 1;
|
|
20172
|
+
}
|
|
20173
|
+
|
|
20174
|
+
.sortablelist-drag-preview::before {
|
|
20175
|
+
content: attr(data-count);
|
|
20176
|
+
min-width: 18px;
|
|
20177
|
+
height: 18px;
|
|
20178
|
+
padding: 0 6px;
|
|
20179
|
+
border-radius: 999px;
|
|
20180
|
+
background-color: hsl(0, 0%, 98%);
|
|
20181
|
+
color: hsl(0, 0%, 20%);
|
|
20182
|
+
font-size: 11px;
|
|
20183
|
+
line-height: 18px;
|
|
20184
|
+
text-align: center;
|
|
20185
|
+
}
|
|
20186
|
+
|
|
20187
|
+
.sortablelist-drag-preview-list {
|
|
20188
|
+
display: flex;
|
|
20189
|
+
flex-direction: column;
|
|
20190
|
+
gap: 4px;
|
|
20191
|
+
}
|
|
20192
|
+
|
|
20193
|
+
.sortablelist-drag-preview .dropdown-item.is-ghost {
|
|
20194
|
+
padding: 4px 8px;
|
|
20195
|
+
background-color: hsl(0, 0%, 18%);
|
|
20196
|
+
border-radius: 4px;
|
|
20197
|
+
color: hsl(0, 0%, 98%);
|
|
20198
|
+
}
|
|
20199
|
+
|
|
19290
20200
|
/*
|
|
19291
20201
|
---
|
|
19292
20202
|
name: Progressbar
|
|
@@ -19866,6 +20776,7 @@ tag:
|
|
|
19866
20776
|
.gn-tab > ul {
|
|
19867
20777
|
display: flex;
|
|
19868
20778
|
border-bottom: 1px solid hsl(0, 0%, 86%);
|
|
20779
|
+
padding-bottom: 0px;
|
|
19869
20780
|
}
|
|
19870
20781
|
.gn-tab.is-center > ul {
|
|
19871
20782
|
justify-content: center;
|
|
@@ -21015,7 +21926,7 @@ Gn.create('tree', {
|
|
|
21015
21926
|
}
|
|
21016
21927
|
.gn-tree li .tree-item .is-toggler::before {
|
|
21017
21928
|
content: "\f0da";
|
|
21018
|
-
font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
21929
|
+
font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
21019
21930
|
font-weight: 900;
|
|
21020
21931
|
}
|
|
21021
21932
|
.gn-tree li .tree-item + ul {
|