gnui 1.2.16 → 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 +772 -111
- package/dist/js/gnui.js +772 -111
- package/dist/js/gnui.min.js +6 -6
- package/dist/styles/default.css +1018 -108
- package/dist/styles/gpi.css +1018 -108
- package/dist/styles/green24.css +1229 -289
- package/dist/styles/insights.css +1018 -108
- package/dist/styles/nac.css +1019 -109
- package/dist/styles/ztnac.css +1205 -265
- package/package.json +2 -2
- package/styleguide/assets/components.js +216 -9
- package/styleguide/assets/js/gnui.js +772 -111
- package/styleguide/assets/js/gnui.min.js +6 -6
- package/styleguide/assets/styles/default.css +1018 -108
- package/styleguide/assets/styles/gpi.css +1018 -108
- package/styleguide/assets/styles/green24.css +1229 -289
- package/styleguide/assets/styles/insights.css +1018 -108
- package/styleguide/assets/styles/nac.css +1019 -109
- package/styleguide/assets/styles/ztnac.css +1205 -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
|
@@ -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
|
}
|
|
@@ -2700,7 +2700,7 @@ tag:
|
|
|
2700
2700
|
}
|
|
2701
2701
|
.gn-icon-ext::before {
|
|
2702
2702
|
content: "\f15b";
|
|
2703
|
-
font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free";
|
|
2703
|
+
font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
2704
2704
|
font-weight: 300;
|
|
2705
2705
|
font-size: 1.6rem;
|
|
2706
2706
|
}
|
|
@@ -4209,10 +4209,6 @@ tag:
|
|
|
4209
4209
|
display: block;
|
|
4210
4210
|
word-break: break-word;
|
|
4211
4211
|
}
|
|
4212
|
-
.gn-title:not(:last-child),
|
|
4213
|
-
.gn-sub-title:not(:last-child) {
|
|
4214
|
-
margin-bottom: 1rem;
|
|
4215
|
-
}
|
|
4216
4212
|
|
|
4217
4213
|
.gn-title {
|
|
4218
4214
|
color: hsl(0, 0%, 93%);
|
|
@@ -5482,6 +5478,7 @@ compile: true
|
|
|
5482
5478
|
```ejs
|
|
5483
5479
|
<button name="new-button"></button>
|
|
5484
5480
|
<button name="new-button2"></button>
|
|
5481
|
+
<button name="new-button-submenu">편집 메뉴</button>
|
|
5485
5482
|
```
|
|
5486
5483
|
|
|
5487
5484
|
````
|
|
@@ -5521,6 +5518,51 @@ compile: true
|
|
|
5521
5518
|
value: 'menu2'
|
|
5522
5519
|
}]
|
|
5523
5520
|
});
|
|
5521
|
+
// 서브메뉴 예시
|
|
5522
|
+
Gn.create('menubutton', {
|
|
5523
|
+
target: 'button[name=new-button-submenu]',
|
|
5524
|
+
size: 'normal',
|
|
5525
|
+
textSets: {
|
|
5526
|
+
buttonText: '편집 메뉴'
|
|
5527
|
+
},
|
|
5528
|
+
onSelect: function (value, text, menu, e) {
|
|
5529
|
+
console.log('선택된 메뉴:', { value: value, text: text, menu: menu });
|
|
5530
|
+
},
|
|
5531
|
+
data: [
|
|
5532
|
+
{
|
|
5533
|
+
text: '파일',
|
|
5534
|
+
value: 'file',
|
|
5535
|
+
child: [
|
|
5536
|
+
{ text: '새 파일', value: 'file-new' },
|
|
5537
|
+
{ text: '열기', value: 'file-open' },
|
|
5538
|
+
{
|
|
5539
|
+
text: '최근 파일',
|
|
5540
|
+
value: 'file-recent',
|
|
5541
|
+
child: [
|
|
5542
|
+
{ text: 'document.txt', value: 'file-recent-1' },
|
|
5543
|
+
{ text: 'image.png', value: 'file-recent-2' }
|
|
5544
|
+
]
|
|
5545
|
+
},
|
|
5546
|
+
{ text: '저장', value: 'file-save', disabled: true },
|
|
5547
|
+
{ text: '다른 이름으로 저장', value: 'file-saveas' }
|
|
5548
|
+
]
|
|
5549
|
+
},
|
|
5550
|
+
{
|
|
5551
|
+
text: '편집',
|
|
5552
|
+
value: 'edit',
|
|
5553
|
+
actived: true,
|
|
5554
|
+
child: [
|
|
5555
|
+
{ text: '실행 취소', value: 'edit-undo' },
|
|
5556
|
+
{ text: '다시 실행', value: 'edit-redo' }
|
|
5557
|
+
]
|
|
5558
|
+
},
|
|
5559
|
+
{
|
|
5560
|
+
text: '도움말',
|
|
5561
|
+
value: 'help',
|
|
5562
|
+
disabled: true
|
|
5563
|
+
}
|
|
5564
|
+
]
|
|
5565
|
+
});
|
|
5524
5566
|
````
|
|
5525
5567
|
|
|
5526
5568
|
|
|
@@ -5577,15 +5619,21 @@ compile: true
|
|
|
5577
5619
|
</tr>
|
|
5578
5620
|
<tr>
|
|
5579
5621
|
<td colspan="2">data</td>
|
|
5580
|
-
<td>Array[{value, text,
|
|
5622
|
+
<td>Array[{value, text, html, child, disabled, actived}]</td>
|
|
5581
5623
|
<td></td>
|
|
5582
|
-
<td>메뉴 목록에 출력할
|
|
5624
|
+
<td>메뉴 목록에 출력할 목록<br/>- value: 메뉴 값<br/>- text: 메뉴 텍스트<br/>- html: HTML로 렌더링할 내용<br/>- child: 하위 메뉴 배열 (최대 2단계)<br/>- disabled: 비활성화 여부 (boolean)<br/>- actived: 활성화 상태 표시 여부</td>
|
|
5625
|
+
</tr>
|
|
5626
|
+
<tr>
|
|
5627
|
+
<td colspan="2">disabled</td>
|
|
5628
|
+
<td>boolean</td>
|
|
5629
|
+
<td>false</td>
|
|
5630
|
+
<td>버튼 비활성화 여부</td>
|
|
5583
5631
|
</tr>
|
|
5584
5632
|
<tr>
|
|
5585
5633
|
<td colspan="2">onSelect</td>
|
|
5586
|
-
<td>function(value, text)</td>
|
|
5634
|
+
<td>function(value, text, menu, e)</td>
|
|
5587
5635
|
<td></td>
|
|
5588
|
-
<td>메뉴 선택 시 수행될
|
|
5636
|
+
<td>메뉴 선택 시 수행될 이벤트<br/>- value: 선택된 메뉴의 값<br/>- text: 선택된 메뉴의 텍스트<br/>- menu: 선택된 메뉴 객체<br/>- e: MouseEvent 객체</td>
|
|
5589
5637
|
</tr>
|
|
5590
5638
|
</tbody>
|
|
5591
5639
|
</table>
|
|
@@ -5604,6 +5652,21 @@ compile: true
|
|
|
5604
5652
|
<td>void</td>
|
|
5605
5653
|
<td>버튼명을 변경한다.</td>
|
|
5606
5654
|
</tr>
|
|
5655
|
+
<tr>
|
|
5656
|
+
<td>reRender(data: Array)</td>
|
|
5657
|
+
<td>void</td>
|
|
5658
|
+
<td>메뉴 데이터를 전달받아 DOM을 다시 생성한다.</td>
|
|
5659
|
+
</tr>
|
|
5660
|
+
<tr>
|
|
5661
|
+
<td>disabled()</td>
|
|
5662
|
+
<td>void</td>
|
|
5663
|
+
<td>버튼을 비활성화한다.</td>
|
|
5664
|
+
</tr>
|
|
5665
|
+
<tr>
|
|
5666
|
+
<td>enabled()</td>
|
|
5667
|
+
<td>void</td>
|
|
5668
|
+
<td>버튼을 활성화한다.</td>
|
|
5669
|
+
</tr>
|
|
5607
5670
|
</tbody>
|
|
5608
5671
|
</table>
|
|
5609
5672
|
*/
|
|
@@ -5691,6 +5754,47 @@ compile: true
|
|
|
5691
5754
|
color: #fff;
|
|
5692
5755
|
background-color: #aae033;
|
|
5693
5756
|
}
|
|
5757
|
+
.gn-menuButton .menuButton-menu.is-disabled {
|
|
5758
|
+
pointer-events: none;
|
|
5759
|
+
opacity: 0.5;
|
|
5760
|
+
}
|
|
5761
|
+
.gn-menuButton .menuButton-menu.is-actived {
|
|
5762
|
+
background-color: #2b2b2b;
|
|
5763
|
+
}
|
|
5764
|
+
.gn-menuButton .menuButton-menu.has-submenu .menuButton-menu-content {
|
|
5765
|
+
display: flex;
|
|
5766
|
+
align-items: center;
|
|
5767
|
+
justify-content: space-between;
|
|
5768
|
+
width: 100%;
|
|
5769
|
+
}
|
|
5770
|
+
.gn-menuButton .menuButton-menu.has-submenu .menuButton-menu-arrow {
|
|
5771
|
+
margin-left: 10px;
|
|
5772
|
+
display: inline-flex;
|
|
5773
|
+
align-items: center;
|
|
5774
|
+
}
|
|
5775
|
+
.gn-menuButton .menuButton-menu .menuButton-submenu {
|
|
5776
|
+
display: none;
|
|
5777
|
+
position: absolute;
|
|
5778
|
+
left: 100%;
|
|
5779
|
+
top: 0;
|
|
5780
|
+
min-width: 150px;
|
|
5781
|
+
background-color: #2b2b2b;
|
|
5782
|
+
border: 1px solid hsl(0, 0%, 48%);
|
|
5783
|
+
border-radius: 2px;
|
|
5784
|
+
z-index: 21;
|
|
5785
|
+
padding: 0.35rem;
|
|
5786
|
+
}
|
|
5787
|
+
.gn-menuButton .menuButton-menu .menuButton-submenu .menuButton-menu {
|
|
5788
|
+
color: hsl(0, 0%, 86%);
|
|
5789
|
+
cursor: pointer;
|
|
5790
|
+
}
|
|
5791
|
+
.gn-menuButton .menuButton-menu .menuButton-submenu .menuButton-menu:hover {
|
|
5792
|
+
color: #fff;
|
|
5793
|
+
background-color: #aae033;
|
|
5794
|
+
}
|
|
5795
|
+
.gn-menuButton .menuButton-menu:hover > .menuButton-submenu {
|
|
5796
|
+
display: block;
|
|
5797
|
+
}
|
|
5694
5798
|
.gn-menuButton.is-white button {
|
|
5695
5799
|
color: hsl(0, 0%, 100%);
|
|
5696
5800
|
border-color: hsl(0, 0%, 100%);
|
|
@@ -9476,7 +9580,7 @@ tag:
|
|
|
9476
9580
|
}
|
|
9477
9581
|
.gn-select::after {
|
|
9478
9582
|
content: "\f107";
|
|
9479
|
-
font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
9583
|
+
font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
9480
9584
|
font-weight: 900;
|
|
9481
9585
|
position: absolute;
|
|
9482
9586
|
right: 0.5rem;
|
|
@@ -12638,9 +12742,13 @@ tag:
|
|
|
12638
12742
|
```ejs
|
|
12639
12743
|
<div class="new-grid"></div>
|
|
12640
12744
|
|
|
12641
|
-
<div style="width: 100%; height:
|
|
12745
|
+
<div style="width: 100%; height: 100px; overflow-x: auto; margin-top: 20px;">
|
|
12642
12746
|
<div class="new-grid2"></div>
|
|
12643
12747
|
</div>
|
|
12748
|
+
|
|
12749
|
+
<div style="width: 100%; height: 350px; overflow-x: auto; margin-top: 20px;">
|
|
12750
|
+
<div class="new-grid3"></div>
|
|
12751
|
+
</div>
|
|
12644
12752
|
```
|
|
12645
12753
|
````
|
|
12646
12754
|
Gn.create('datagrid', {
|
|
@@ -12753,19 +12861,122 @@ Gn.create('datagrid', {
|
|
|
12753
12861
|
})
|
|
12754
12862
|
Gn.create('datagrid', {
|
|
12755
12863
|
target: '.new-grid2',
|
|
12864
|
+
headers: [
|
|
12865
|
+
{
|
|
12866
|
+
label: 'no',
|
|
12867
|
+
key: 'number',
|
|
12868
|
+
onSelect: function () {
|
|
12869
|
+
// eslint-disable-next-line prefer-rest-params
|
|
12870
|
+
console.log(arguments);
|
|
12871
|
+
},
|
|
12872
|
+
template: function (k, d) {
|
|
12873
|
+
return '<span>' + d[k] + '</span>';
|
|
12874
|
+
},
|
|
12875
|
+
draggable: true,
|
|
12876
|
+
sortable: true,
|
|
12877
|
+
sort: 'asc'
|
|
12878
|
+
},
|
|
12879
|
+
{
|
|
12880
|
+
label: '제목',
|
|
12881
|
+
key: 'title',
|
|
12882
|
+
style: {
|
|
12883
|
+
width: '250px'
|
|
12884
|
+
},
|
|
12885
|
+
className: 'has-text-right',
|
|
12886
|
+
draggable: true,
|
|
12887
|
+
bodyClass: 'has-text-left',
|
|
12888
|
+
sortable: true
|
|
12889
|
+
},
|
|
12890
|
+
{
|
|
12891
|
+
label: '날짜',
|
|
12892
|
+
key: 'date',
|
|
12893
|
+
style: {
|
|
12894
|
+
width: '150px'
|
|
12895
|
+
},
|
|
12896
|
+
className: 'has-text-center',
|
|
12897
|
+
bodyClass: 'has-text-left'
|
|
12898
|
+
}
|
|
12899
|
+
],
|
|
12900
|
+
data: [
|
|
12901
|
+
{
|
|
12902
|
+
number: '1',
|
|
12903
|
+
title: '하나',
|
|
12904
|
+
date: '2020-09-19',
|
|
12905
|
+
desc: 'hello, world',
|
|
12906
|
+
child: [
|
|
12907
|
+
{
|
|
12908
|
+
number: '1-1',
|
|
12909
|
+
title: '1-하나',
|
|
12910
|
+
date: '2020-09-19'
|
|
12911
|
+
},
|
|
12912
|
+
{
|
|
12913
|
+
number: '1-2',
|
|
12914
|
+
title: '1-둘',
|
|
12915
|
+
date: '2020-09-19',
|
|
12916
|
+
desc: 'hello, world',
|
|
12917
|
+
child: [
|
|
12918
|
+
{
|
|
12919
|
+
number: '1-2-1',
|
|
12920
|
+
title: '1-둘-1',
|
|
12921
|
+
date: '2020-09-19',
|
|
12922
|
+
desc: 'hello, world',
|
|
12923
|
+
child: [
|
|
12924
|
+
{
|
|
12925
|
+
number: '1-2-1-1',
|
|
12926
|
+
title: '1-둘-1-1',
|
|
12927
|
+
desc: 'hello, world',
|
|
12928
|
+
date: '2020-09-19'
|
|
12929
|
+
}
|
|
12930
|
+
]
|
|
12931
|
+
}
|
|
12932
|
+
]
|
|
12933
|
+
}
|
|
12934
|
+
],
|
|
12935
|
+
color: 'is-danger-light'
|
|
12936
|
+
},
|
|
12937
|
+
{
|
|
12938
|
+
number: '2',
|
|
12939
|
+
title: '둘',
|
|
12940
|
+
date: '2020-09-19',
|
|
12941
|
+
desc: 'hello, world'
|
|
12942
|
+
}
|
|
12943
|
+
],
|
|
12944
|
+
hasHeader: false,
|
|
12945
|
+
hasCheck: true,
|
|
12946
|
+
hasDelete: true,
|
|
12947
|
+
textSets: {
|
|
12948
|
+
deleteConfirmMessage: '파일을 삭제하시겠습니까?'
|
|
12949
|
+
},
|
|
12950
|
+
// onDelete 에서 false 를 반환하면 해당 행 삭제를 취소할 수 있다.
|
|
12951
|
+
onDelete: (data, index) => {
|
|
12952
|
+
console.log(data, index);
|
|
12953
|
+
// 예) 특정 조건에 따라 삭제 취소
|
|
12954
|
+
// if (index === 0) {
|
|
12955
|
+
// return false;
|
|
12956
|
+
// }
|
|
12957
|
+
}
|
|
12958
|
+
})
|
|
12959
|
+
Gn.create('datagrid', {
|
|
12960
|
+
target: '.new-grid3',
|
|
12756
12961
|
headers: [
|
|
12757
12962
|
{
|
|
12758
12963
|
label: 'row data numbers',
|
|
12759
12964
|
key: 'number',
|
|
12760
12965
|
style: { width: '50px' },
|
|
12761
12966
|
sortable: true,
|
|
12762
|
-
draggable: true
|
|
12967
|
+
draggable: true,
|
|
12968
|
+
template: function (k, d) {
|
|
12969
|
+
return '<span>' + d[k] + '</span>';
|
|
12970
|
+
}
|
|
12763
12971
|
},
|
|
12764
12972
|
{
|
|
12765
12973
|
label: '제목',
|
|
12766
12974
|
key: 'title',
|
|
12767
12975
|
sortable: true,
|
|
12768
|
-
draggable: true
|
|
12976
|
+
draggable: true,
|
|
12977
|
+
template: function (k, d) {
|
|
12978
|
+
return '<span>' + d[k] + '</span>';
|
|
12979
|
+
}
|
|
12769
12980
|
},
|
|
12770
12981
|
{
|
|
12771
12982
|
label: '날짜를 표시하는 컬럼입니다',
|
|
@@ -12828,8 +13039,6 @@ Gn.create('datagrid', {
|
|
|
12828
13039
|
paginator: {
|
|
12829
13040
|
rows: 30
|
|
12830
13041
|
},
|
|
12831
|
-
hasDelete: true,
|
|
12832
|
-
fixHeader: true,
|
|
12833
13042
|
onChange: updatedData => {
|
|
12834
13043
|
console.log(updatedData)
|
|
12835
13044
|
}
|
|
@@ -12944,7 +13153,7 @@ Gn.create('datagrid', {
|
|
|
12944
13153
|
<b>color:is-warning-light</b> => 행의 색 변경</td>
|
|
12945
13154
|
</tr>
|
|
12946
13155
|
<tr>
|
|
12947
|
-
<td rowspan="
|
|
13156
|
+
<td rowspan="4">textSets</td>
|
|
12948
13157
|
<td>noData</td>
|
|
12949
13158
|
<td>string</td>
|
|
12950
13159
|
<td>No records available.</td>
|
|
@@ -12962,6 +13171,12 @@ Gn.create('datagrid', {
|
|
|
12962
13171
|
<td></td>
|
|
12963
13172
|
<td>삭제버튼 헤더표시문구</td>
|
|
12964
13173
|
</tr>
|
|
13174
|
+
<tr>
|
|
13175
|
+
<td>deleteConfirmMessage</td>
|
|
13176
|
+
<td>string</td>
|
|
13177
|
+
<td></td>
|
|
13178
|
+
<td>삭제 확인 창 표시문구 - 삭제 버튼 클릭시 확인 창 출력</td>
|
|
13179
|
+
</tr>
|
|
12965
13180
|
<tr>
|
|
12966
13181
|
<td colspan="2">childField</td>
|
|
12967
13182
|
<td>string</td>
|
|
@@ -12986,6 +13201,12 @@ Gn.create('datagrid', {
|
|
|
12986
13201
|
<td>false</td>
|
|
12987
13202
|
<td>삭제버튼 생성 여부</td>
|
|
12988
13203
|
</tr>
|
|
13204
|
+
<tr>
|
|
13205
|
+
<td colspan="2">hasHeader</td>
|
|
13206
|
+
<td>boolean</td>
|
|
13207
|
+
<td>true</td>
|
|
13208
|
+
<td>헤더 생성 여부</td>
|
|
13209
|
+
</tr>
|
|
12989
13210
|
<tr>
|
|
12990
13211
|
<td colspan="2">readonly</td>
|
|
12991
13212
|
<td>boolean</td>
|
|
@@ -13083,6 +13304,12 @@ Gn.create('datagrid', {
|
|
|
13083
13304
|
<td></td>
|
|
13084
13305
|
<td>이동, 삭제 등의 데이터 변경이 있는 경우, 변경된 데이터를 가져오기 위한 이벤트핸들러</td>
|
|
13085
13306
|
</tr>
|
|
13307
|
+
<tr>
|
|
13308
|
+
<td colspan="2">onDelete</td>
|
|
13309
|
+
<td>function(deletedData, index)</td>
|
|
13310
|
+
<td>deletedData, index 를 인자로 받으며, false 를 반환하면 해당 행 삭제를 취소한다.</td>
|
|
13311
|
+
<td>삭제 버튼 클릭 시 삭제 대상 데이터와 인덱스를 받을 수 있는 이벤트핸들러<br>onChange 보다 먼저 동작하며, onDelete 에서 false 를 반환하면 실제 삭제 및 onChange 호출이 수행되지 않는다.</td>
|
|
13312
|
+
</tr>
|
|
13086
13313
|
</tbody>
|
|
13087
13314
|
</table>
|
|
13088
13315
|
|
|
@@ -13268,11 +13495,11 @@ Gn.create('datagrid', {
|
|
|
13268
13495
|
}
|
|
13269
13496
|
.gn-datagrid .gn-datagrid-body-row .is-toggler::before {
|
|
13270
13497
|
content: "\f0d7";
|
|
13271
|
-
font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
13498
|
+
font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
13272
13499
|
font-weight: 700;
|
|
13273
13500
|
}
|
|
13274
13501
|
.gn-datagrid .gn-datagrid-body-row.has-child[data-depth="0"] .is-toggler {
|
|
13275
|
-
margin-left: -
|
|
13502
|
+
margin-left: -6px;
|
|
13276
13503
|
}
|
|
13277
13504
|
.gn-datagrid .gn-datagrid-body-row.is-collapsed .is-toggler::before {
|
|
13278
13505
|
content: "\f0da";
|
|
@@ -13472,6 +13699,9 @@ Gn.create('datagrid', {
|
|
|
13472
13699
|
.gn-datagrid.has-left-padding .gn-datagrid-body-row:not(.has-child)[data-depth="0"] .gn-datagrid-body-cell:first-child {
|
|
13473
13700
|
padding-left: 15px;
|
|
13474
13701
|
}
|
|
13702
|
+
.gn-datagrid.is-headless .gn-datagrid-body-row:first-child {
|
|
13703
|
+
border-top: 1px solid #111111;
|
|
13704
|
+
}
|
|
13475
13705
|
.gn-datagrid .gn-datagrid-header-cell {
|
|
13476
13706
|
border-right: 1px solid #111111;
|
|
13477
13707
|
padding: 0.55rem;
|
|
@@ -14852,7 +15082,6 @@ tag:
|
|
|
14852
15082
|
}
|
|
14853
15083
|
.gn-dropdown.is-open .dropdown-items {
|
|
14854
15084
|
display: block;
|
|
14855
|
-
max-width: 100%;
|
|
14856
15085
|
}
|
|
14857
15086
|
.gn-dropdown.is-top .dropdown-items {
|
|
14858
15087
|
top: auto;
|
|
@@ -17187,11 +17416,21 @@ tag:
|
|
|
17187
17416
|
<div class="gn-loader is-info"></div>
|
|
17188
17417
|
```
|
|
17189
17418
|
|
|
17419
|
+
```html
|
|
17420
|
+
<div class="gn-loader is-inline"></div>
|
|
17421
|
+
<div class="gn-loader is-inline is-success"></div>
|
|
17422
|
+
<div class="gn-loader is-inline is-warning"></div>
|
|
17423
|
+
<div class="gn-loader is-inline is-danger"></div>
|
|
17424
|
+
<div class="gn-loader is-inline is-info"></div>
|
|
17425
|
+
<div class="gn-loader is-inline is-primary"></div>
|
|
17426
|
+
```
|
|
17427
|
+
|
|
17190
17428
|
### 타입
|
|
17191
17429
|
|
|
17192
17430
|
```html
|
|
17193
17431
|
<div class="gn-loader is-bounce"></div><br>
|
|
17194
17432
|
<div class="gn-loader is-move"></div>
|
|
17433
|
+
<div class="gn-loader is-inline"></div><br>
|
|
17195
17434
|
```
|
|
17196
17435
|
|
|
17197
17436
|
### 생성 옵션
|
|
@@ -17251,7 +17490,7 @@ Gn.create('button', {
|
|
|
17251
17490
|
<td colspan="2">type</td>
|
|
17252
17491
|
<td>string</td>
|
|
17253
17492
|
<td></td>
|
|
17254
|
-
<td>'bounce','move','
|
|
17493
|
+
<td>'inline','bounce','move','</td>
|
|
17255
17494
|
</tr>
|
|
17256
17495
|
<tr>
|
|
17257
17496
|
<td colspan="2">positionX</td>
|
|
@@ -17360,6 +17599,7 @@ Gn.create('button', {
|
|
|
17360
17599
|
.gn-loader.is-small {
|
|
17361
17600
|
width: 15px;
|
|
17362
17601
|
height: 15px;
|
|
17602
|
+
border-width: 5px;
|
|
17363
17603
|
}
|
|
17364
17604
|
.gn-loader.is-normal {
|
|
17365
17605
|
width: 25px;
|
|
@@ -17445,6 +17685,82 @@ Gn.create('button', {
|
|
|
17445
17685
|
border: 13px solid #aae033;
|
|
17446
17686
|
animation: move 1.5s ease-in-out infinite alternate;
|
|
17447
17687
|
}
|
|
17688
|
+
.gn-loader.is-inline {
|
|
17689
|
+
border: 0;
|
|
17690
|
+
position: relative;
|
|
17691
|
+
margin-left: 10px;
|
|
17692
|
+
margin-right: 10px;
|
|
17693
|
+
animation-delay: -0.12s;
|
|
17694
|
+
background: hsl(0, 0%, 29%);
|
|
17695
|
+
}
|
|
17696
|
+
.gn-loader.is-inline, .gn-loader.is-inline::before, .gn-loader.is-inline::after {
|
|
17697
|
+
display: inline-block !important;
|
|
17698
|
+
width: 3px;
|
|
17699
|
+
height: 3px;
|
|
17700
|
+
animation: colorPulse 1.4s ease-in-out infinite;
|
|
17701
|
+
border-radius: 50%;
|
|
17702
|
+
}
|
|
17703
|
+
.gn-loader.is-inline::before, .gn-loader.is-inline::after {
|
|
17704
|
+
content: "";
|
|
17705
|
+
position: absolute;
|
|
17706
|
+
top: 0;
|
|
17707
|
+
}
|
|
17708
|
+
.gn-loader.is-inline::before {
|
|
17709
|
+
animation-delay: -0.24s;
|
|
17710
|
+
margin-left: -8px;
|
|
17711
|
+
}
|
|
17712
|
+
.gn-loader.is-inline::after {
|
|
17713
|
+
animation-delay: 0s;
|
|
17714
|
+
margin-left: 8px;
|
|
17715
|
+
}
|
|
17716
|
+
.gn-loader.is-inline.is-white, .gn-loader.is-inline.is-white::before, .gn-loader.is-inline.is-white::after {
|
|
17717
|
+
animation-name: colorPulse-white;
|
|
17718
|
+
}
|
|
17719
|
+
.gn-loader.is-inline.is-black, .gn-loader.is-inline.is-black::before, .gn-loader.is-inline.is-black::after {
|
|
17720
|
+
animation-name: colorPulse-black;
|
|
17721
|
+
}
|
|
17722
|
+
.gn-loader.is-inline.is-light, .gn-loader.is-inline.is-light::before, .gn-loader.is-inline.is-light::after {
|
|
17723
|
+
animation-name: colorPulse-light;
|
|
17724
|
+
}
|
|
17725
|
+
.gn-loader.is-inline.is-dark, .gn-loader.is-inline.is-dark::before, .gn-loader.is-inline.is-dark::after {
|
|
17726
|
+
animation-name: colorPulse-dark;
|
|
17727
|
+
}
|
|
17728
|
+
.gn-loader.is-inline.is-primary, .gn-loader.is-inline.is-primary::before, .gn-loader.is-inline.is-primary::after {
|
|
17729
|
+
animation-name: colorPulse-primary;
|
|
17730
|
+
}
|
|
17731
|
+
.gn-loader.is-inline.is-link, .gn-loader.is-inline.is-link::before, .gn-loader.is-inline.is-link::after {
|
|
17732
|
+
animation-name: colorPulse-link;
|
|
17733
|
+
}
|
|
17734
|
+
.gn-loader.is-inline.is-info, .gn-loader.is-inline.is-info::before, .gn-loader.is-inline.is-info::after {
|
|
17735
|
+
animation-name: colorPulse-info;
|
|
17736
|
+
}
|
|
17737
|
+
.gn-loader.is-inline.is-cancel, .gn-loader.is-inline.is-cancel::before, .gn-loader.is-inline.is-cancel::after {
|
|
17738
|
+
animation-name: colorPulse-cancel;
|
|
17739
|
+
}
|
|
17740
|
+
.gn-loader.is-inline.is-success, .gn-loader.is-inline.is-success::before, .gn-loader.is-inline.is-success::after {
|
|
17741
|
+
animation-name: colorPulse-success;
|
|
17742
|
+
}
|
|
17743
|
+
.gn-loader.is-inline.is-warning, .gn-loader.is-inline.is-warning::before, .gn-loader.is-inline.is-warning::after {
|
|
17744
|
+
animation-name: colorPulse-warning;
|
|
17745
|
+
}
|
|
17746
|
+
.gn-loader.is-inline.is-danger, .gn-loader.is-inline.is-danger::before, .gn-loader.is-inline.is-danger::after {
|
|
17747
|
+
animation-name: colorPulse-danger;
|
|
17748
|
+
}
|
|
17749
|
+
.gn-loader.is-inline.is-trans, .gn-loader.is-inline.is-trans::before, .gn-loader.is-inline.is-trans::after {
|
|
17750
|
+
animation-name: colorPulse-trans;
|
|
17751
|
+
}
|
|
17752
|
+
.gn-loader.is-inline.is-help, .gn-loader.is-inline.is-help::before, .gn-loader.is-inline.is-help::after {
|
|
17753
|
+
animation-name: colorPulse-help;
|
|
17754
|
+
}
|
|
17755
|
+
.gn-loader.is-inline.is-plain, .gn-loader.is-inline.is-plain::before, .gn-loader.is-inline.is-plain::after {
|
|
17756
|
+
animation-name: colorPulse-plain;
|
|
17757
|
+
}
|
|
17758
|
+
.gn-loader.is-inline.is-secondary, .gn-loader.is-inline.is-secondary::before, .gn-loader.is-inline.is-secondary::after {
|
|
17759
|
+
animation-name: colorPulse-secondary;
|
|
17760
|
+
}
|
|
17761
|
+
.gn-loader.is-inline.is-mono, .gn-loader.is-inline.is-mono::before, .gn-loader.is-inline.is-mono::after {
|
|
17762
|
+
animation-name: colorPulse-mono;
|
|
17763
|
+
}
|
|
17448
17764
|
|
|
17449
17765
|
@keyframes load-spin {
|
|
17450
17766
|
0% {
|
|
@@ -17473,55 +17789,259 @@ Gn.create('button', {
|
|
|
17473
17789
|
transform: translateX(15px);
|
|
17474
17790
|
}
|
|
17475
17791
|
}
|
|
17476
|
-
|
|
17477
|
-
|
|
17478
|
-
|
|
17479
|
-
|
|
17480
|
-
|
|
17481
|
-
|
|
17482
|
-
|
|
17483
|
-
|
|
17484
|
-
|
|
17485
|
-
|
|
17486
|
-
|
|
17487
|
-
|
|
17488
|
-
-
|
|
17489
|
-
|
|
17490
|
-
|
|
17491
|
-
|
|
17492
|
-
|
|
17493
|
-
|
|
17494
|
-
|
|
17495
|
-
|
|
17496
|
-
|
|
17497
|
-
|
|
17498
|
-
|
|
17499
|
-
|
|
17500
|
-
|
|
17501
|
-
|
|
17502
|
-
|
|
17503
|
-
|
|
17504
|
-
|
|
17505
|
-
|
|
17506
|
-
|
|
17507
|
-
|
|
17508
|
-
|
|
17509
|
-
|
|
17510
|
-
|
|
17511
|
-
|
|
17512
|
-
|
|
17513
|
-
|
|
17514
|
-
|
|
17515
|
-
|
|
17516
|
-
|
|
17517
|
-
|
|
17518
|
-
|
|
17519
|
-
|
|
17520
|
-
|
|
17521
|
-
|
|
17522
|
-
|
|
17523
|
-
|
|
17524
|
-
|
|
17792
|
+
@keyframes colorPulse {
|
|
17793
|
+
0%, 70%, 100% {
|
|
17794
|
+
background: hsl(0, 0%, 29%);
|
|
17795
|
+
/* 비활성 색상 */
|
|
17796
|
+
transform: scale(1);
|
|
17797
|
+
}
|
|
17798
|
+
35% {
|
|
17799
|
+
background: #aae033;
|
|
17800
|
+
/* 활성 색상 */
|
|
17801
|
+
transform: scale(1.1);
|
|
17802
|
+
}
|
|
17803
|
+
}
|
|
17804
|
+
@keyframes colorPulse-white {
|
|
17805
|
+
0%, 70%, 100% {
|
|
17806
|
+
background: hsl(0, 0%, 71%);
|
|
17807
|
+
/* 비활성 색상 */
|
|
17808
|
+
transform: scale(1);
|
|
17809
|
+
}
|
|
17810
|
+
35% {
|
|
17811
|
+
background: hsl(0, 0%, 100%);
|
|
17812
|
+
/* 활성 색상 */
|
|
17813
|
+
transform: scale(1.1);
|
|
17814
|
+
}
|
|
17815
|
+
}
|
|
17816
|
+
@keyframes colorPulse-black {
|
|
17817
|
+
0%, 70%, 100% {
|
|
17818
|
+
background: hsl(0, 0%, 86%);
|
|
17819
|
+
/* 비활성 색상 */
|
|
17820
|
+
transform: scale(1);
|
|
17821
|
+
}
|
|
17822
|
+
35% {
|
|
17823
|
+
background: hsl(0, 0%, 4%);
|
|
17824
|
+
/* 활성 색상 */
|
|
17825
|
+
transform: scale(1.1);
|
|
17826
|
+
}
|
|
17827
|
+
}
|
|
17828
|
+
@keyframes colorPulse-light {
|
|
17829
|
+
0%, 70%, 100% {
|
|
17830
|
+
background: hsl(0, 0%, 93%);
|
|
17831
|
+
/* 비활성 색상 */
|
|
17832
|
+
transform: scale(1);
|
|
17833
|
+
}
|
|
17834
|
+
35% {
|
|
17835
|
+
background: hsl(0, 0%, 96%);
|
|
17836
|
+
/* 활성 색상 */
|
|
17837
|
+
transform: scale(1.1);
|
|
17838
|
+
}
|
|
17839
|
+
}
|
|
17840
|
+
@keyframes colorPulse-dark {
|
|
17841
|
+
0%, 70%, 100% {
|
|
17842
|
+
background: hsl(0, 0%, 86%);
|
|
17843
|
+
/* 비활성 색상 */
|
|
17844
|
+
transform: scale(1);
|
|
17845
|
+
}
|
|
17846
|
+
35% {
|
|
17847
|
+
background: hsl(0, 0%, 20%);
|
|
17848
|
+
/* 활성 색상 */
|
|
17849
|
+
transform: scale(1.1);
|
|
17850
|
+
}
|
|
17851
|
+
}
|
|
17852
|
+
@keyframes colorPulse-primary {
|
|
17853
|
+
0%, 70%, 100% {
|
|
17854
|
+
background: rgb(247.6212765957, 252.3089361702, 237.2910638298);
|
|
17855
|
+
/* 비활성 색상 */
|
|
17856
|
+
transform: scale(1);
|
|
17857
|
+
}
|
|
17858
|
+
35% {
|
|
17859
|
+
background: #aae033;
|
|
17860
|
+
/* 활성 색상 */
|
|
17861
|
+
transform: scale(1.1);
|
|
17862
|
+
}
|
|
17863
|
+
}
|
|
17864
|
+
@keyframes colorPulse-link {
|
|
17865
|
+
0%, 70%, 100% {
|
|
17866
|
+
background: hsl(217, 71%, 96%);
|
|
17867
|
+
/* 비활성 색상 */
|
|
17868
|
+
transform: scale(1);
|
|
17869
|
+
}
|
|
17870
|
+
35% {
|
|
17871
|
+
background: hsl(217, 71%, 53%);
|
|
17872
|
+
/* 활성 색상 */
|
|
17873
|
+
transform: scale(1.1);
|
|
17874
|
+
}
|
|
17875
|
+
}
|
|
17876
|
+
@keyframes colorPulse-info {
|
|
17877
|
+
0%, 70%, 100% {
|
|
17878
|
+
background: hsl(204, 71%, 96%);
|
|
17879
|
+
/* 비활성 색상 */
|
|
17880
|
+
transform: scale(1);
|
|
17881
|
+
}
|
|
17882
|
+
35% {
|
|
17883
|
+
background: hsl(204, 71%, 53%);
|
|
17884
|
+
/* 활성 색상 */
|
|
17885
|
+
transform: scale(1.1);
|
|
17886
|
+
}
|
|
17887
|
+
}
|
|
17888
|
+
@keyframes colorPulse-cancel {
|
|
17889
|
+
0%, 70%, 100% {
|
|
17890
|
+
background: hsl(0, 0%, 96%);
|
|
17891
|
+
/* 비활성 색상 */
|
|
17892
|
+
transform: scale(1);
|
|
17893
|
+
}
|
|
17894
|
+
35% {
|
|
17895
|
+
background: hsl(0, 0%, 71%);
|
|
17896
|
+
/* 활성 색상 */
|
|
17897
|
+
transform: scale(1.1);
|
|
17898
|
+
}
|
|
17899
|
+
}
|
|
17900
|
+
@keyframes colorPulse-success {
|
|
17901
|
+
0%, 70%, 100% {
|
|
17902
|
+
background: hsl(141, 53%, 96%);
|
|
17903
|
+
/* 비활성 색상 */
|
|
17904
|
+
transform: scale(1);
|
|
17905
|
+
}
|
|
17906
|
+
35% {
|
|
17907
|
+
background: hsl(141, 53%, 53%);
|
|
17908
|
+
/* 활성 색상 */
|
|
17909
|
+
transform: scale(1.1);
|
|
17910
|
+
}
|
|
17911
|
+
}
|
|
17912
|
+
@keyframes colorPulse-warning {
|
|
17913
|
+
0%, 70%, 100% {
|
|
17914
|
+
background: hsl(38, 100%, 96%);
|
|
17915
|
+
/* 비활성 색상 */
|
|
17916
|
+
transform: scale(1);
|
|
17917
|
+
}
|
|
17918
|
+
35% {
|
|
17919
|
+
background: hsl(38, 100%, 50%);
|
|
17920
|
+
/* 활성 색상 */
|
|
17921
|
+
transform: scale(1.1);
|
|
17922
|
+
}
|
|
17923
|
+
}
|
|
17924
|
+
@keyframes colorPulse-danger {
|
|
17925
|
+
0%, 70%, 100% {
|
|
17926
|
+
background: hsl(348, 86%, 96%);
|
|
17927
|
+
/* 비활성 색상 */
|
|
17928
|
+
transform: scale(1);
|
|
17929
|
+
}
|
|
17930
|
+
35% {
|
|
17931
|
+
background: hsl(348, 86%, 61%);
|
|
17932
|
+
/* 활성 색상 */
|
|
17933
|
+
transform: scale(1.1);
|
|
17934
|
+
}
|
|
17935
|
+
}
|
|
17936
|
+
@keyframes colorPulse-trans {
|
|
17937
|
+
0%, 70%, 100% {
|
|
17938
|
+
background: hsl(0, 0%, 100%);
|
|
17939
|
+
/* 비활성 색상 */
|
|
17940
|
+
transform: scale(1);
|
|
17941
|
+
}
|
|
17942
|
+
35% {
|
|
17943
|
+
background: hsl(0, 0%, 100%);
|
|
17944
|
+
/* 활성 색상 */
|
|
17945
|
+
transform: scale(1.1);
|
|
17946
|
+
}
|
|
17947
|
+
}
|
|
17948
|
+
@keyframes colorPulse-help {
|
|
17949
|
+
0%, 70%, 100% {
|
|
17950
|
+
background: hsl(203, 96%, 96%);
|
|
17951
|
+
/* 비활성 색상 */
|
|
17952
|
+
transform: scale(1);
|
|
17953
|
+
}
|
|
17954
|
+
35% {
|
|
17955
|
+
background: hsl(203, 96%, 43%);
|
|
17956
|
+
/* 활성 색상 */
|
|
17957
|
+
transform: scale(1.1);
|
|
17958
|
+
}
|
|
17959
|
+
}
|
|
17960
|
+
@keyframes colorPulse-plain {
|
|
17961
|
+
0%, 70%, 100% {
|
|
17962
|
+
background: hsl(171, 100%, 29%);
|
|
17963
|
+
/* 비활성 색상 */
|
|
17964
|
+
transform: scale(1);
|
|
17965
|
+
}
|
|
17966
|
+
35% {
|
|
17967
|
+
background: #fff;
|
|
17968
|
+
/* 활성 색상 */
|
|
17969
|
+
transform: scale(1.1);
|
|
17970
|
+
}
|
|
17971
|
+
}
|
|
17972
|
+
@keyframes colorPulse-secondary {
|
|
17973
|
+
0%, 70%, 100% {
|
|
17974
|
+
background: rgb(234.6, 245.08, 255);
|
|
17975
|
+
/* 비활성 색상 */
|
|
17976
|
+
transform: scale(1);
|
|
17977
|
+
}
|
|
17978
|
+
35% {
|
|
17979
|
+
background: #0083ff;
|
|
17980
|
+
/* 활성 색상 */
|
|
17981
|
+
transform: scale(1.1);
|
|
17982
|
+
}
|
|
17983
|
+
}
|
|
17984
|
+
@keyframes colorPulse-mono {
|
|
17985
|
+
0%, 70%, 100% {
|
|
17986
|
+
background: rgb(244.8, 244.8, 244.8);
|
|
17987
|
+
/* 비활성 색상 */
|
|
17988
|
+
transform: scale(1);
|
|
17989
|
+
}
|
|
17990
|
+
35% {
|
|
17991
|
+
background: #656565;
|
|
17992
|
+
/* 활성 색상 */
|
|
17993
|
+
transform: scale(1.1);
|
|
17994
|
+
}
|
|
17995
|
+
}
|
|
17996
|
+
/*
|
|
17997
|
+
---
|
|
17998
|
+
name: Message
|
|
17999
|
+
category:
|
|
18000
|
+
- COMPONENT/Message(js)
|
|
18001
|
+
tag:
|
|
18002
|
+
- v.0.1.0
|
|
18003
|
+
- javascript
|
|
18004
|
+
---
|
|
18005
|
+
|
|
18006
|
+
|
|
18007
|
+
### 기본 메세지 알림
|
|
18008
|
+
-Text with icon / Text only 선택 사용 할 수 있다.
|
|
18009
|
+
|
|
18010
|
+
```html
|
|
18011
|
+
<div class="gn-message is-success has-arrange">
|
|
18012
|
+
<span class="gn-icon is-normal">
|
|
18013
|
+
<i class="fas fa-check"></i>
|
|
18014
|
+
</span>
|
|
18015
|
+
<p>Success! Your message has been sent successfully. <br/> Success! Your message has been sent successfully. </p>
|
|
18016
|
+
</div>
|
|
18017
|
+
<div class="gn-message is-warning has-arrange">
|
|
18018
|
+
<span class="gn-icon is-normal">
|
|
18019
|
+
<i class="fas fa-exclamation-circle"></i>
|
|
18020
|
+
</span>
|
|
18021
|
+
<p>Warning! There was a problem with your network connection.</p>
|
|
18022
|
+
<span class="gn-icon is-close is-dark">
|
|
18023
|
+
<i class="fas fa-times"></i>
|
|
18024
|
+
</span>
|
|
18025
|
+
</div>
|
|
18026
|
+
<div class="gn-message is-danger has-arrange">
|
|
18027
|
+
<span class="gn-icon is-normal">
|
|
18028
|
+
<i class="fas fa-exclamation-triangle"></i>
|
|
18029
|
+
</span>
|
|
18030
|
+
<p>Error! A problem has been occurred while submitting your data.</p>
|
|
18031
|
+
</div>
|
|
18032
|
+
<div class="gn-message is-info has-arrange">
|
|
18033
|
+
<span class="gn-icon is-normal">
|
|
18034
|
+
<i class="fas fa-info-circle"></i>
|
|
18035
|
+
</span>
|
|
18036
|
+
<p>Info! Please read the comments carefully.</p>
|
|
18037
|
+
<span class="gn-icon is-close is-dark">
|
|
18038
|
+
<i class="fas fa-times"></i>
|
|
18039
|
+
</span>
|
|
18040
|
+
</div>
|
|
18041
|
+
<div class="gn-message is-guide has-arrange">
|
|
18042
|
+
<span class="gn-icon is-normal">
|
|
18043
|
+
<i class="fas fa-info-circle"></i>
|
|
18044
|
+
</span>
|
|
17525
18045
|
<p> 가이드 메시지 한글 폰드 테스트 Guide!</p>
|
|
17526
18046
|
</div>
|
|
17527
18047
|
|
|
@@ -19041,22 +19561,26 @@ tag:
|
|
|
19041
19561
|
```
|
|
19042
19562
|
````
|
|
19043
19563
|
Gn.create('picklist', {
|
|
19044
|
-
target: '.new-picklist',
|
|
19045
|
-
data
|
|
19564
|
+
target: '.new-picklist',
|
|
19565
|
+
data: {
|
|
19046
19566
|
source: [
|
|
19047
|
-
{ value: '
|
|
19048
|
-
{ value: '
|
|
19049
|
-
{ value: '
|
|
19050
|
-
{ value: 'item4', text: '항목4' },
|
|
19051
|
-
{ value: 'item5', text: '항목5' },
|
|
19052
|
-
{ value: 'item6', text: '항목6' },
|
|
19053
|
-
{ value: 'item7', text: '항목7' },
|
|
19054
|
-
{ value: 'item8', text: '항목8' }
|
|
19567
|
+
{ value: '항목1', text: 'item1', html: '<span class="gn-tag is-primary">항목1</span> item1' },
|
|
19568
|
+
{ value: '항목2', text: 'item2', html: '<span class="gn-tag is-danger">항목2</span> item2' },
|
|
19569
|
+
{ value: '항목3', text: 'item3', html: '<span class="gn-tag is-warning">항목3</span> item3' }
|
|
19055
19570
|
],
|
|
19056
|
-
target: [
|
|
19571
|
+
target: [
|
|
19572
|
+
{ value: '항목4', text: 'item4', html: '<span class="gn-tag is-help">항목4</span> item4' },
|
|
19573
|
+
{ value: '항목5', text: 'item5', html: '<span class="gn-tag is-success">항목5</span> item5' }
|
|
19574
|
+
]
|
|
19057
19575
|
},
|
|
19576
|
+
hasSourceSearch: true,
|
|
19577
|
+
hasTargetSearch: true,
|
|
19058
19578
|
width: '80%',
|
|
19059
|
-
height: 180
|
|
19579
|
+
height: 180,
|
|
19580
|
+
onChange: function (s, t) {
|
|
19581
|
+
console.log(s, t);
|
|
19582
|
+
},
|
|
19583
|
+
orderable: 'target'
|
|
19060
19584
|
});
|
|
19061
19585
|
Gn.create('picklist', {
|
|
19062
19586
|
target: '.new-picklist-v',
|
|
@@ -19093,15 +19617,21 @@ tag:
|
|
|
19093
19617
|
<tr>
|
|
19094
19618
|
<td rowspan="2">data</td>
|
|
19095
19619
|
<td>source</td>
|
|
19096
|
-
<td>array[{value: string|array, text: string}]</td>
|
|
19620
|
+
<td>array[{value: string|array, text: string, html?: string, icon?:string}]</td>
|
|
19097
19621
|
<td></td>
|
|
19098
|
-
<td>source 항목
|
|
19622
|
+
<td>source 항목 배열<br>
|
|
19623
|
+
html: 옵션 html(html이 있는 경우 text가 있는 항목만 선택 가능하다.)<br>
|
|
19624
|
+
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
|
|
19625
|
+
</td>
|
|
19099
19626
|
</tr>
|
|
19100
19627
|
<tr>
|
|
19101
19628
|
<td>target</td>
|
|
19102
|
-
<td>array[{value: string|array, text: string}]</td>
|
|
19629
|
+
<td>array[{value: string|array, text: string, html?: string, icon?:string}]</td>
|
|
19103
19630
|
<td></td>
|
|
19104
|
-
<td>target 항목
|
|
19631
|
+
<td>target 항목 배열<br>
|
|
19632
|
+
html: 옵션 html(html이 있는 경우 text가 있는 항목만 선택 가능하다.)<br>
|
|
19633
|
+
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
|
|
19634
|
+
</td>
|
|
19105
19635
|
</tr>
|
|
19106
19636
|
<tr>
|
|
19107
19637
|
<td rowspan="3">textSets</td>
|
|
@@ -19255,23 +19785,17 @@ tag:
|
|
|
19255
19785
|
.gn-picklist .picklist-caption + .dropdown-items {
|
|
19256
19786
|
border-radius: 0 0 2px 2px;
|
|
19257
19787
|
}
|
|
19258
|
-
.gn-picklist .
|
|
19788
|
+
.gn-picklist .gn-dropdown {
|
|
19789
|
+
display: block;
|
|
19790
|
+
}
|
|
19791
|
+
.gn-picklist .picklist-source,
|
|
19792
|
+
.gn-picklist .picklist-target {
|
|
19259
19793
|
display: flex;
|
|
19260
19794
|
flex-basis: calc(50% - 16px);
|
|
19261
19795
|
width: calc(50% - 16px);
|
|
19262
19796
|
flex-grow: 0;
|
|
19263
19797
|
flex-shrink: 0;
|
|
19264
19798
|
}
|
|
19265
|
-
.gn-picklist .picklist-source > .gn-dropdown {
|
|
19266
|
-
order: 2;
|
|
19267
|
-
width: 100%;
|
|
19268
|
-
}
|
|
19269
|
-
.gn-picklist .picklist-source .picklist-controls {
|
|
19270
|
-
order: 1;
|
|
19271
|
-
}
|
|
19272
|
-
.gn-picklist .gn-dropdown {
|
|
19273
|
-
display: block;
|
|
19274
|
-
}
|
|
19275
19799
|
.gn-picklist .picklist-source.no-controls,
|
|
19276
19800
|
.gn-picklist .picklist-target.no-controls {
|
|
19277
19801
|
flex-basis: calc(50% - 45px);
|
|
@@ -19282,23 +19806,22 @@ tag:
|
|
|
19282
19806
|
width: 100%;
|
|
19283
19807
|
height: 100%;
|
|
19284
19808
|
}
|
|
19285
|
-
.gn-picklist.
|
|
19286
|
-
.gn-picklist .picklist-target {
|
|
19287
|
-
display: flex;
|
|
19288
|
-
flex-basis: calc(50% - 16px);
|
|
19289
|
-
width: calc(50% - 16px);
|
|
19290
|
-
flex-grow: 0;
|
|
19291
|
-
flex-shrink: 0;
|
|
19292
|
-
}
|
|
19293
|
-
.gn-picklist.is-vertical .picklist-source > .gn-dropdown,
|
|
19809
|
+
.gn-picklist .picklist-source > .gn-dropdown,
|
|
19294
19810
|
.gn-picklist .picklist-target > .gn-dropdown {
|
|
19295
19811
|
order: 1;
|
|
19296
19812
|
width: 100%;
|
|
19297
19813
|
}
|
|
19298
|
-
.gn-picklist
|
|
19814
|
+
.gn-picklist .picklist-source .picklist-controls,
|
|
19299
19815
|
.gn-picklist .picklist-target .picklist-controls {
|
|
19300
19816
|
order: 2;
|
|
19301
19817
|
}
|
|
19818
|
+
.gn-picklist .picklist-source > .gn-dropdown {
|
|
19819
|
+
order: 2;
|
|
19820
|
+
width: 100%;
|
|
19821
|
+
}
|
|
19822
|
+
.gn-picklist .picklist-source .picklist-controls {
|
|
19823
|
+
order: 1;
|
|
19824
|
+
}
|
|
19302
19825
|
.gn-picklist .picklist-controls {
|
|
19303
19826
|
margin: 0.5rem;
|
|
19304
19827
|
}
|
|
@@ -19308,6 +19831,16 @@ tag:
|
|
|
19308
19831
|
.gn-picklist.is-vertical {
|
|
19309
19832
|
flex-direction: column;
|
|
19310
19833
|
}
|
|
19834
|
+
.gn-picklist.is-vertical .picklist-source,
|
|
19835
|
+
.gn-picklist.is-vertical .picklist-target {
|
|
19836
|
+
width: calc(100% - 32px);
|
|
19837
|
+
}
|
|
19838
|
+
.gn-picklist.is-vertical .picklist-source > .gn-dropdown {
|
|
19839
|
+
order: 1;
|
|
19840
|
+
}
|
|
19841
|
+
.gn-picklist.is-vertical .picklist-source .picklist-controls {
|
|
19842
|
+
order: 2;
|
|
19843
|
+
}
|
|
19311
19844
|
.gn-picklist.is-vertical > .picklist-controls {
|
|
19312
19845
|
width: 90%;
|
|
19313
19846
|
width: calc(100% - 50px);
|
|
@@ -19318,6 +19851,382 @@ tag:
|
|
|
19318
19851
|
box-shadow: 0 0 0 0.1em rgba(241.077, 70.023, 104.2338, 0.7);
|
|
19319
19852
|
}
|
|
19320
19853
|
|
|
19854
|
+
/*
|
|
19855
|
+
---
|
|
19856
|
+
name: SortableList
|
|
19857
|
+
category:
|
|
19858
|
+
- CONTROLS/SortableList(js)
|
|
19859
|
+
tag:
|
|
19860
|
+
- v.0.1.0
|
|
19861
|
+
- javascript
|
|
19862
|
+
---
|
|
19863
|
+
### 기본 사용
|
|
19864
|
+
|
|
19865
|
+
```html
|
|
19866
|
+
<div class="gn-sortablelist">
|
|
19867
|
+
<div class="sortablelist-controls gn-control is-small has-arrange is-vertical is-center">
|
|
19868
|
+
<button type="button" class="gn-button is-outline">
|
|
19869
|
+
<span class="gn-icon">
|
|
19870
|
+
<i class="fas fa-angle-double-up"></i>
|
|
19871
|
+
</span>
|
|
19872
|
+
</button>
|
|
19873
|
+
<button type="button" class="gn-button is-outline">
|
|
19874
|
+
<span class="gn-icon">
|
|
19875
|
+
<i class="fas fa-angle-up"></i>
|
|
19876
|
+
</span>
|
|
19877
|
+
</button>
|
|
19878
|
+
<button type="button" class="gn-button is-outline">
|
|
19879
|
+
<span class="gn-icon">
|
|
19880
|
+
<i class="fas fa-angle-down"></i>
|
|
19881
|
+
</span>
|
|
19882
|
+
</button>
|
|
19883
|
+
<button type="button" class="gn-button is-outline">
|
|
19884
|
+
<span class="gn-icon">
|
|
19885
|
+
<i class="fas fa-angle-double-down"></i>
|
|
19886
|
+
</span>
|
|
19887
|
+
</button>
|
|
19888
|
+
</div>
|
|
19889
|
+
<div class="gn-dropdown is-opened sortablelist-items">
|
|
19890
|
+
<div class="dropdown-items">
|
|
19891
|
+
<ul class="sortablelist-rows">
|
|
19892
|
+
<li class="dropdown-item">항목 1</li>
|
|
19893
|
+
<li class="dropdown-item">항목 2</li>
|
|
19894
|
+
<li class="dropdown-item">항목 3</li>
|
|
19895
|
+
<li class="dropdown-item">항목 4</li>
|
|
19896
|
+
</ul>
|
|
19897
|
+
</div>
|
|
19898
|
+
</div>
|
|
19899
|
+
</div>
|
|
19900
|
+
```
|
|
19901
|
+
|
|
19902
|
+
### 버튼 우측 배치
|
|
19903
|
+
|
|
19904
|
+
```html
|
|
19905
|
+
<div class="gn-sortablelist">
|
|
19906
|
+
<div class="gn-dropdown is-opened sortablelist-items">
|
|
19907
|
+
<div class="dropdown-items">
|
|
19908
|
+
<ul class="sortablelist-rows">
|
|
19909
|
+
<li class="dropdown-item">항목 1</li>
|
|
19910
|
+
<li class="dropdown-item">항목 2</li>
|
|
19911
|
+
<li class="dropdown-item">항목 3</li>
|
|
19912
|
+
</ul>
|
|
19913
|
+
</div>
|
|
19914
|
+
</div>
|
|
19915
|
+
<div class="sortablelist-controls gn-control is-small has-arrange is-vertical is-center is-right">
|
|
19916
|
+
<button type="button" class="gn-button is-outline">
|
|
19917
|
+
<span class="gn-icon">
|
|
19918
|
+
<i class="fas fa-angle-double-up"></i>
|
|
19919
|
+
</span>
|
|
19920
|
+
</button>
|
|
19921
|
+
<button type="button" class="gn-button is-outline">
|
|
19922
|
+
<span class="gn-icon">
|
|
19923
|
+
<i class="fas fa-angle-up"></i>
|
|
19924
|
+
</span>
|
|
19925
|
+
</button>
|
|
19926
|
+
<button type="button" class="gn-button is-outline">
|
|
19927
|
+
<span class="gn-icon">
|
|
19928
|
+
<i class="fas fa-angle-down"></i>
|
|
19929
|
+
</span>
|
|
19930
|
+
</button>
|
|
19931
|
+
<button type="button" class="gn-button is-outline">
|
|
19932
|
+
<span class="gn-icon">
|
|
19933
|
+
<i class="fas fa-angle-double-down"></i>
|
|
19934
|
+
</span>
|
|
19935
|
+
</button>
|
|
19936
|
+
</div>
|
|
19937
|
+
</div>
|
|
19938
|
+
```
|
|
19939
|
+
|
|
19940
|
+
### 생성 옵션
|
|
19941
|
+
```ejs
|
|
19942
|
+
<div class="new-sortablelist"></div>
|
|
19943
|
+
<div class="new-sortablelist-drag"></div>
|
|
19944
|
+
<div class="new-sortablelist-cols"></div>
|
|
19945
|
+
```
|
|
19946
|
+
````
|
|
19947
|
+
// 단일 컬럼
|
|
19948
|
+
Gn.create('sortablelist', {
|
|
19949
|
+
target: '.new-sortablelist',
|
|
19950
|
+
data: [
|
|
19951
|
+
{ value: '1', text: '항목 1' },
|
|
19952
|
+
{ value: '2', text: '항목 2' },
|
|
19953
|
+
{ value: '3', text: '항목 3' },
|
|
19954
|
+
{ value: '4', text: '항목 4' },
|
|
19955
|
+
{ value: '5', text: '항목 5' },
|
|
19956
|
+
{ value: '6', text: '항목 6' },
|
|
19957
|
+
{ value: '7', text: '항목 7' },
|
|
19958
|
+
{ value: '8', text: '항목 8' },
|
|
19959
|
+
{ value: '9', text: '항목 9' },
|
|
19960
|
+
{ value: '10', text: '항목 10' }
|
|
19961
|
+
]
|
|
19962
|
+
});
|
|
19963
|
+
// 드래그 앤 드롭
|
|
19964
|
+
Gn.create('sortablelist', {
|
|
19965
|
+
target: '.new-sortablelist-drag',
|
|
19966
|
+
data: [
|
|
19967
|
+
{ value: 'a', text: '항목 A' },
|
|
19968
|
+
{ value: 'b', text: '항목 B' },
|
|
19969
|
+
{ value: 'c', text: '항목 C' },
|
|
19970
|
+
{ value: 'd', text: '항목 D' },
|
|
19971
|
+
{ value: 'e', text: '항목 E' },
|
|
19972
|
+
{ value: 'f', text: '항목 F' },
|
|
19973
|
+
{ value: 'g', text: '항목 G' },
|
|
19974
|
+
{ value: 'h', text: '항목 H' },
|
|
19975
|
+
{ value: 'i', text: '항목 I' },
|
|
19976
|
+
{ value: 'j', text: '항목 J' }
|
|
19977
|
+
],
|
|
19978
|
+
draggable: true
|
|
19979
|
+
});
|
|
19980
|
+
// 다중 컬럼
|
|
19981
|
+
Gn.create('sortablelist', {
|
|
19982
|
+
target: '.new-sortablelist-cols',
|
|
19983
|
+
buttonPosition: 'right',
|
|
19984
|
+
data: [
|
|
19985
|
+
{ value: 'x1', cols: ['항목1', '카테고리A', '1000'] },
|
|
19986
|
+
{ value: 'x2', cols: ['항목2', '카테고리B', '2000'] },
|
|
19987
|
+
{ value: 'x3', cols: ['항목3', '카테고리C', '3000'] },
|
|
19988
|
+
{ value: 'x4', cols: ['항목4', '카테고리D', '4000'] },
|
|
19989
|
+
{ value: 'x5', cols: ['항목5', '카테고리E', '5000'] },
|
|
19990
|
+
{ value: 'x6', cols: ['항목6', '카테고리F', '6000'] },
|
|
19991
|
+
{ value: 'x7', cols: ['항목7', '카테고리G', '7000'] },
|
|
19992
|
+
{ value: 'x8', cols: ['항목8', '카테고리H', '8000'] },
|
|
19993
|
+
{ value: 'x9', cols: ['항목9', '카테고리I', '9000'] },
|
|
19994
|
+
{ value: 'x10', cols: ['항목10', '카테고리J', '10000'] }
|
|
19995
|
+
]
|
|
19996
|
+
});
|
|
19997
|
+
````
|
|
19998
|
+
|
|
19999
|
+
### 데이터 모델 (SortableListItem)
|
|
20000
|
+
|
|
20001
|
+
<table class="gn-table is-full is-border">
|
|
20002
|
+
<thead>
|
|
20003
|
+
<th>필드</th>
|
|
20004
|
+
<th>type</th>
|
|
20005
|
+
<th>필수</th>
|
|
20006
|
+
<th>description</th>
|
|
20007
|
+
</thead>
|
|
20008
|
+
<tbody>
|
|
20009
|
+
<tr>
|
|
20010
|
+
<td>value</td>
|
|
20011
|
+
<td>string</td>
|
|
20012
|
+
<td>Y</td>
|
|
20013
|
+
<td>고유 값 (빈 문자열 불가)</td>
|
|
20014
|
+
</tr>
|
|
20015
|
+
<tr>
|
|
20016
|
+
<td>text</td>
|
|
20017
|
+
<td>string</td>
|
|
20018
|
+
<td>N</td>
|
|
20019
|
+
<td>단일 컬럼 표시 텍스트</td>
|
|
20020
|
+
</tr>
|
|
20021
|
+
<tr>
|
|
20022
|
+
<td>cols</td>
|
|
20023
|
+
<td>string[]</td>
|
|
20024
|
+
<td>N</td>
|
|
20025
|
+
<td>다중 컬럼 표시 값 배열</td>
|
|
20026
|
+
</tr>
|
|
20027
|
+
</tbody>
|
|
20028
|
+
</table>
|
|
20029
|
+
|
|
20030
|
+
### 옵션
|
|
20031
|
+
<table class="gn-table is-full is-border">
|
|
20032
|
+
<thead>
|
|
20033
|
+
<th colspan="2">name</th>
|
|
20034
|
+
<th>type</th>
|
|
20035
|
+
<th>default</th>
|
|
20036
|
+
<th>description</th>
|
|
20037
|
+
</thead>
|
|
20038
|
+
<tbody>
|
|
20039
|
+
<tr>
|
|
20040
|
+
<td colspan="2">target</td>
|
|
20041
|
+
<td>string</td>
|
|
20042
|
+
<td></td>
|
|
20043
|
+
<td>sortablelist를 표시할 대상의 선택자(selector)</td>
|
|
20044
|
+
</tr>
|
|
20045
|
+
<tr>
|
|
20046
|
+
<td colspan="2">data</td>
|
|
20047
|
+
<td>SortableListItem[]</td>
|
|
20048
|
+
<td></td>
|
|
20049
|
+
<td>sortablelist에 표시할 데이터 배열</td>
|
|
20050
|
+
</tr>
|
|
20051
|
+
<tr>
|
|
20052
|
+
<td colspan="2">buttonPosition</td>
|
|
20053
|
+
<td>left | right</td>
|
|
20054
|
+
<td>left</td>
|
|
20055
|
+
<td>순서 변경 버튼 위치</td>
|
|
20056
|
+
</tr>
|
|
20057
|
+
<tr>
|
|
20058
|
+
<td colspan="2">draggable</td>
|
|
20059
|
+
<td>boolean</td>
|
|
20060
|
+
<td>false</td>
|
|
20061
|
+
<td>드래그 앤 드롭 순서 변경 활성화 여부</td>
|
|
20062
|
+
</tr>
|
|
20063
|
+
<tr>
|
|
20064
|
+
<td>textSets</td>
|
|
20065
|
+
<td>noData</td>
|
|
20066
|
+
<td>string</td>
|
|
20067
|
+
<td>No records available.</td>
|
|
20068
|
+
<td>데이터가 없을 경우 출력 메시지</td>
|
|
20069
|
+
</tr>
|
|
20070
|
+
<tr>
|
|
20071
|
+
<td colspan="2">disabled</td>
|
|
20072
|
+
<td>boolean</td>
|
|
20073
|
+
<td>false</td>
|
|
20074
|
+
<td>컴포넌트 비활성화 여부</td>
|
|
20075
|
+
</tr>
|
|
20076
|
+
<tr>
|
|
20077
|
+
<td colspan="2">width</td>
|
|
20078
|
+
<td>number, string</td>
|
|
20079
|
+
<td>100%</td>
|
|
20080
|
+
<td>컴포넌트 너비</td>
|
|
20081
|
+
</tr>
|
|
20082
|
+
<tr>
|
|
20083
|
+
<td colspan="2">height</td>
|
|
20084
|
+
<td>number, string</td>
|
|
20085
|
+
<td>150</td>
|
|
20086
|
+
<td>리스트 높이 (미지정 시 150)</td>
|
|
20087
|
+
</tr>
|
|
20088
|
+
<tr>
|
|
20089
|
+
<td colspan="2">onChange</td>
|
|
20090
|
+
<td>function(data)</td>
|
|
20091
|
+
<td></td>
|
|
20092
|
+
<td>데이터 변경 시 발생 이벤트</td>
|
|
20093
|
+
</tr>
|
|
20094
|
+
</tbody>
|
|
20095
|
+
</table>
|
|
20096
|
+
|
|
20097
|
+
### 메소드
|
|
20098
|
+
|
|
20099
|
+
<table class="gn-table is-full is-border">
|
|
20100
|
+
<thead>
|
|
20101
|
+
<th>name</th>
|
|
20102
|
+
<th>return</th>
|
|
20103
|
+
<th>description</th>
|
|
20104
|
+
</thead>
|
|
20105
|
+
<tbody>
|
|
20106
|
+
<tr>
|
|
20107
|
+
<td>getData()</td>
|
|
20108
|
+
<td>SortableListItem[]</td>
|
|
20109
|
+
<td>현재 데이터 배열을 반환한다.</td>
|
|
20110
|
+
</tr>
|
|
20111
|
+
<tr>
|
|
20112
|
+
<td>setData(data: SortableListItem[]})</td>
|
|
20113
|
+
<td>void</td>
|
|
20114
|
+
<td>데이터 배열을 설정하고 다시 렌더링한다.</td>
|
|
20115
|
+
</tr>
|
|
20116
|
+
<tr>
|
|
20117
|
+
<td>disable()</td>
|
|
20118
|
+
<td>void</td>
|
|
20119
|
+
<td>컴포넌트를 비활성화한다.</td>
|
|
20120
|
+
</tr>
|
|
20121
|
+
<tr>
|
|
20122
|
+
<td>enable()</td>
|
|
20123
|
+
<td>void</td>
|
|
20124
|
+
<td>컴포넌트를 활성화한다.</td>
|
|
20125
|
+
</tr>
|
|
20126
|
+
</tbody>
|
|
20127
|
+
</table>
|
|
20128
|
+
|
|
20129
|
+
*/
|
|
20130
|
+
.gn-sortablelist {
|
|
20131
|
+
display: flex;
|
|
20132
|
+
align-items: stretch;
|
|
20133
|
+
-webkit-user-select: none;
|
|
20134
|
+
-moz-user-select: none;
|
|
20135
|
+
user-select: none;
|
|
20136
|
+
}
|
|
20137
|
+
.gn-sortablelist .gn-dropdown {
|
|
20138
|
+
display: block;
|
|
20139
|
+
}
|
|
20140
|
+
.gn-sortablelist .sortablelist-items {
|
|
20141
|
+
flex: 1 1 auto;
|
|
20142
|
+
}
|
|
20143
|
+
.gn-sortablelist .sortablelist-controls {
|
|
20144
|
+
margin: 0.5rem;
|
|
20145
|
+
}
|
|
20146
|
+
.gn-sortablelist .sortablelist-controls .gn-button {
|
|
20147
|
+
padding: 0.25rem 0.75rem;
|
|
20148
|
+
}
|
|
20149
|
+
.gn-sortablelist .sortablelist-controls.is-right {
|
|
20150
|
+
order: 2;
|
|
20151
|
+
margin-left: 0.5rem;
|
|
20152
|
+
margin-right: 0;
|
|
20153
|
+
justify-content: center;
|
|
20154
|
+
}
|
|
20155
|
+
.gn-sortablelist .sortablelist-rows {
|
|
20156
|
+
margin: 0;
|
|
20157
|
+
padding: 0;
|
|
20158
|
+
list-style: none;
|
|
20159
|
+
}
|
|
20160
|
+
.gn-sortablelist .sortablelist-cols {
|
|
20161
|
+
display: flex;
|
|
20162
|
+
gap: 0.5rem;
|
|
20163
|
+
width: 100%;
|
|
20164
|
+
}
|
|
20165
|
+
.gn-sortablelist .sortablelist-col {
|
|
20166
|
+
flex: 1 1 0;
|
|
20167
|
+
min-width: 0;
|
|
20168
|
+
}
|
|
20169
|
+
.gn-sortablelist .dropdown-item.is-empty {
|
|
20170
|
+
color: hsl(0, 0%, 48%);
|
|
20171
|
+
}
|
|
20172
|
+
.gn-sortablelist .dropdown-item.is-dragging {
|
|
20173
|
+
opacity: 0.6;
|
|
20174
|
+
}
|
|
20175
|
+
.gn-sortablelist .dropdown-item.is-group-dragging {
|
|
20176
|
+
outline: 1px dashed hsl(0, 0%, 71%);
|
|
20177
|
+
}
|
|
20178
|
+
.gn-sortablelist .dropdown-item.is-drag-over-top,
|
|
20179
|
+
.gn-sortablelist .dropdown-item.is-drag-over-bottom {
|
|
20180
|
+
background-color: hsl(0, 0%, 96%);
|
|
20181
|
+
}
|
|
20182
|
+
.gn-sortablelist .dropdown-item.is-drag-over-top {
|
|
20183
|
+
box-shadow: inset 0 2px 0 0 #aae033;
|
|
20184
|
+
}
|
|
20185
|
+
.gn-sortablelist .dropdown-item.is-drag-over-bottom {
|
|
20186
|
+
box-shadow: inset 0 -2px 0 0 #aae033;
|
|
20187
|
+
}
|
|
20188
|
+
|
|
20189
|
+
.sortablelist-drag-preview {
|
|
20190
|
+
position: absolute;
|
|
20191
|
+
top: -9999px;
|
|
20192
|
+
left: -9999px;
|
|
20193
|
+
display: inline-flex;
|
|
20194
|
+
align-items: flex-start;
|
|
20195
|
+
gap: 8px;
|
|
20196
|
+
padding: 6px 10px;
|
|
20197
|
+
border-radius: 8px;
|
|
20198
|
+
background-color: hsl(0, 0%, 20%);
|
|
20199
|
+
color: hsl(0, 0%, 98%);
|
|
20200
|
+
font-size: 12px;
|
|
20201
|
+
line-height: 1;
|
|
20202
|
+
}
|
|
20203
|
+
|
|
20204
|
+
.sortablelist-drag-preview::before {
|
|
20205
|
+
content: attr(data-count);
|
|
20206
|
+
min-width: 18px;
|
|
20207
|
+
height: 18px;
|
|
20208
|
+
padding: 0 6px;
|
|
20209
|
+
border-radius: 999px;
|
|
20210
|
+
background-color: hsl(0, 0%, 98%);
|
|
20211
|
+
color: hsl(0, 0%, 20%);
|
|
20212
|
+
font-size: 11px;
|
|
20213
|
+
line-height: 18px;
|
|
20214
|
+
text-align: center;
|
|
20215
|
+
}
|
|
20216
|
+
|
|
20217
|
+
.sortablelist-drag-preview-list {
|
|
20218
|
+
display: flex;
|
|
20219
|
+
flex-direction: column;
|
|
20220
|
+
gap: 4px;
|
|
20221
|
+
}
|
|
20222
|
+
|
|
20223
|
+
.sortablelist-drag-preview .dropdown-item.is-ghost {
|
|
20224
|
+
padding: 4px 8px;
|
|
20225
|
+
background-color: hsl(0, 0%, 18%);
|
|
20226
|
+
border-radius: 4px;
|
|
20227
|
+
color: hsl(0, 0%, 98%);
|
|
20228
|
+
}
|
|
20229
|
+
|
|
19321
20230
|
/*
|
|
19322
20231
|
---
|
|
19323
20232
|
name: Progressbar
|
|
@@ -19897,6 +20806,7 @@ tag:
|
|
|
19897
20806
|
.gn-tab > ul {
|
|
19898
20807
|
display: flex;
|
|
19899
20808
|
border-bottom: 1px solid hsl(0, 0%, 48%);
|
|
20809
|
+
padding-bottom: 0px;
|
|
19900
20810
|
}
|
|
19901
20811
|
.gn-tab.is-center > ul {
|
|
19902
20812
|
justify-content: center;
|
|
@@ -21046,7 +21956,7 @@ Gn.create('tree', {
|
|
|
21046
21956
|
}
|
|
21047
21957
|
.gn-tree li .tree-item .is-toggler::before {
|
|
21048
21958
|
content: "\f0da";
|
|
21049
|
-
font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
21959
|
+
font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
|
|
21050
21960
|
font-weight: 900;
|
|
21051
21961
|
}
|
|
21052
21962
|
.gn-tree li .tree-item + ul {
|