gnui 1.2.20 → 1.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/@types/gnui.d.ts +8 -0
  2. package/dist/js/gnui.esm.js +528 -149
  3. package/dist/js/gnui.js +528 -149
  4. package/dist/js/gnui.min.js +6 -6
  5. package/dist/styles/default.css +144 -0
  6. package/dist/styles/gpi.css +144 -0
  7. package/dist/styles/green24.css +145 -1
  8. package/dist/styles/insights.css +144 -0
  9. package/dist/styles/nac.css +144 -0
  10. package/dist/styles/ztnac.css +145 -1
  11. package/package.json +7 -2
  12. package/styleguide/assets/components.js +155 -9
  13. package/styleguide/assets/js/gnui.js +528 -149
  14. package/styleguide/assets/js/gnui.min.js +6 -6
  15. package/styleguide/assets/styles/default.css +144 -0
  16. package/styleguide/assets/styles/gpi.css +144 -0
  17. package/styleguide/assets/styles/green24.css +145 -1
  18. package/styleguide/assets/styles/insights.css +144 -0
  19. package/styleguide/assets/styles/nac.css +144 -0
  20. package/styleguide/assets/styles/ztnac.css +145 -1
  21. package/styleguide/category/COLOR/index.html +1 -1
  22. package/styleguide/category/COMPONENT/Alert(js)/index.html +1 -1
  23. package/styleguide/category/COMPONENT/Bignumber/index.html +1 -1
  24. package/styleguide/category/COMPONENT/Breadcrumb/index.html +1 -1
  25. package/styleguide/category/COMPONENT/Calendar(js)/index.html +1 -1
  26. package/styleguide/category/COMPONENT/Card/index.html +1 -1
  27. package/styleguide/category/COMPONENT/Chart(js)/index.html +1 -1
  28. package/styleguide/category/COMPONENT/Datagrid(js)/index.html +109 -11
  29. package/styleguide/category/COMPONENT/Datalist(js)/index.html +1 -1
  30. package/styleguide/category/COMPONENT/Growl(js)/index.html +1 -1
  31. package/styleguide/category/COMPONENT/JsonView(js)/index.html +1 -1
  32. package/styleguide/category/COMPONENT/Loader(js)/index.html +1 -1
  33. package/styleguide/category/COMPONENT/MenuButton(js)/index.html +1 -1
  34. package/styleguide/category/COMPONENT/Message(js)/index.html +1 -1
  35. package/styleguide/category/COMPONENT/Modal(js)/index.html +31 -1
  36. package/styleguide/category/COMPONENT/Pagination(js)/index.html +1 -1
  37. package/styleguide/category/COMPONENT/Panel/index.html +1 -1
  38. package/styleguide/category/COMPONENT/Progressbar(js)/index.html +1 -1
  39. package/styleguide/category/COMPONENT/Tab(js)/index.html +1 -1
  40. package/styleguide/category/COMPONENT/Tagcloud(js)/index.html +1 -1
  41. package/styleguide/category/COMPONENT/Tooltip(js)/index.html +1 -1
  42. package/styleguide/category/COMPONENT/Tree(js)/index.html +83 -19
  43. package/styleguide/category/CONTROLS/Button(js)/index.html +1 -1
  44. package/styleguide/category/CONTROLS/Checkbox/index.html +1 -1
  45. package/styleguide/category/CONTROLS/Colorpicker(js)/index.html +1 -1
  46. package/styleguide/category/CONTROLS/Datepicker(js)/index.html +1 -1
  47. package/styleguide/category/CONTROLS/Dropdown(js)/index.html +1 -1
  48. package/styleguide/category/CONTROLS/File/index.html +1 -1
  49. package/styleguide/category/CONTROLS/Form/Control/index.html +1 -1
  50. package/styleguide/category/CONTROLS/Form/Field/index.html +53 -1
  51. package/styleguide/category/CONTROLS/Form/Plain/index.html +1 -1
  52. package/styleguide/category/CONTROLS/Input/index.html +1 -1
  53. package/styleguide/category/CONTROLS/MultiText(js)/index.html +32 -1
  54. package/styleguide/category/CONTROLS/Picklist(js)/index.html +1 -1
  55. package/styleguide/category/CONTROLS/Radio/index.html +1 -1
  56. package/styleguide/category/CONTROLS/Select/index.html +1 -1
  57. package/styleguide/category/CONTROLS/SelectButton(js)/index.html +1 -1
  58. package/styleguide/category/CONTROLS/Slider/index.html +1 -1
  59. package/styleguide/category/CONTROLS/SortableList(js)/index.html +1 -1
  60. package/styleguide/category/CONTROLS/Switch(js)/index.html +1 -1
  61. package/styleguide/category/CONTROLS/SyntaxInput(js)/index.html +1 -1
  62. package/styleguide/category/CONTROLS/Textarea/index.html +1 -1
  63. package/styleguide/category/CONTROLS/Time(js)/index.html +1 -1
  64. package/styleguide/category/ELEMENTS/Box/index.html +1 -1
  65. package/styleguide/category/ELEMENTS/Icon/index.html +1 -1
  66. package/styleguide/category/ELEMENTS/Image/index.html +1 -1
  67. package/styleguide/category/ELEMENTS/List/index.html +1 -1
  68. package/styleguide/category/ELEMENTS/Table/index.html +1 -1
  69. package/styleguide/category/ELEMENTS/Tag/index.html +1 -1
  70. package/styleguide/category/ELEMENTS/Title/index.html +1 -1
  71. package/styleguide/category/LAYOUT/Container/index.html +1 -1
  72. package/styleguide/category/LAYOUT/Grid/index.html +1 -1
  73. package/styleguide/category/LAYOUT/Splitter(js)/index.html +1 -1
  74. package/styleguide/category/UTILITY/index.html +9 -2
  75. package/styleguide/category/Utils/index.html +1 -1
  76. package/styleguide/color.html +1 -1
  77. package/styleguide/index.html +1 -1
  78. package/styleguide/tag/javascript/index.html +252 -29
  79. package/styleguide/tag/v.0.1.0/index.html +312 -30
@@ -560,6 +560,14 @@ table th{
560
560
  justify-content:space-between !important;
561
561
  }
562
562
 
563
+ .is-text-link{
564
+ color:#00327b !important;
565
+ }
566
+ .is-text-link:hover{
567
+ text-decoration:underline;
568
+ cursor:pointer;
569
+ }
570
+
563
571
  .has-text-ellipsis{
564
572
  white-space:nowrap;
565
573
  overflow:hidden;
@@ -4309,6 +4317,9 @@ span.gn-highlight{
4309
4317
  .gn-checks.is-no-padding{
4310
4318
  padding:0;
4311
4319
  }
4320
+ .gn-checks.is-no-padding > input[type=checkbox] + label{
4321
+ padding:0;
4322
+ }
4312
4323
  .gn-checks.is-disabled{
4313
4324
  cursor:not-allowed;
4314
4325
  }
@@ -5634,6 +5645,54 @@ span.gn-highlight{
5634
5645
  flex-shrink:0;
5635
5646
  text-align:right;
5636
5647
  }
5648
+ .gn-field > .gn-label.is-1{
5649
+ flex-grow:1;
5650
+ }
5651
+ .gn-field > .gn-label.is-1 + .gn-control{
5652
+ flex-grow:7;
5653
+ }
5654
+ .gn-field > .gn-label.is-2{
5655
+ flex-grow:2;
5656
+ }
5657
+ .gn-field > .gn-label.is-2 + .gn-control{
5658
+ flex-grow:6;
5659
+ }
5660
+ .gn-field > .gn-label.is-3{
5661
+ flex-grow:3;
5662
+ }
5663
+ .gn-field > .gn-label.is-3 + .gn-control{
5664
+ flex-grow:5;
5665
+ }
5666
+ .gn-field > .gn-label.is-4{
5667
+ flex-grow:4;
5668
+ }
5669
+ .gn-field > .gn-label.is-4 + .gn-control{
5670
+ flex-grow:4;
5671
+ }
5672
+ .gn-field > .gn-label.is-5{
5673
+ flex-grow:5;
5674
+ }
5675
+ .gn-field > .gn-label.is-5 + .gn-control{
5676
+ flex-grow:3;
5677
+ }
5678
+ .gn-field > .gn-label.is-6{
5679
+ flex-grow:6;
5680
+ }
5681
+ .gn-field > .gn-label.is-6 + .gn-control{
5682
+ flex-grow:2;
5683
+ }
5684
+ .gn-field > .gn-label.is-7{
5685
+ flex-grow:7;
5686
+ }
5687
+ .gn-field > .gn-label.is-7 + .gn-control{
5688
+ flex-grow:1;
5689
+ }
5690
+ .gn-field > .gn-label.is-8{
5691
+ flex-grow:8;
5692
+ }
5693
+ .gn-field > .gn-label.is-8 + .gn-control{
5694
+ flex-grow:0;
5695
+ }
5637
5696
  .gn-field > .gn-control{
5638
5697
  flex:5 1 0px;
5639
5698
  flex-basis:0;
@@ -9474,6 +9533,91 @@ span.gn-highlight{
9474
9533
  .gn-datagrid.is-headless .gn-datagrid-body-row:first-child{
9475
9534
  border-top:0;
9476
9535
  }
9536
+ .gn-datagrid.is-horizontal.is-headless .gn-datagrid-contents{
9537
+ border:0;
9538
+ }
9539
+ .gn-datagrid.is-horizontal.is-headless .gn-datagrid-body-row{
9540
+ border-top:0;
9541
+ border-bottom:1px solid #bebebe;
9542
+ }
9543
+ .gn-datagrid.is-horizontal.is-headless .gn-datagrid-body-row.is-horizontal-first-row{
9544
+ border-top:1px solid #bebebe;
9545
+ }
9546
+ .gn-datagrid.is-horizontal .gn-datagrid-header-row.is-horizontal{
9547
+ grid-template-columns:1fr !important;
9548
+ }
9549
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell.is-horizontal{
9550
+ display:flex;
9551
+ align-items:center;
9552
+ justify-content:flex-start;
9553
+ min-height:2.5rem;
9554
+ border-right:0;
9555
+ }
9556
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell .gn-datagrid-cell,
9557
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell .is-sortDir,
9558
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell .is-handle{
9559
+ display:none;
9560
+ }
9561
+ .gn-datagrid.is-horizontal .gn-datagrid-contents{
9562
+ border:0;
9563
+ }
9564
+ .gn-datagrid.is-horizontal .gn-datagrid-body{
9565
+ display:grid;
9566
+ gap:0;
9567
+ align-items:start;
9568
+ }
9569
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row{
9570
+ display:block;
9571
+ box-sizing:border-box;
9572
+ border-top:0;
9573
+ border-right:1px solid #bebebe;
9574
+ border-bottom:1px solid #bebebe;
9575
+ border-left:0;
9576
+ overflow:hidden;
9577
+ }
9578
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row.is-horizontal-first-col{
9579
+ border-left:1px solid #bebebe;
9580
+ }
9581
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row.is-horizontal-first-row{
9582
+ border-top:0;
9583
+ }
9584
+ .gn-datagrid.is-horizontal .gn-datagrid-card-header{
9585
+ display:flex;
9586
+ align-items:center;
9587
+ justify-content:space-between;
9588
+ min-height:calc(20px + 1.1rem);
9589
+ padding:0.55rem;
9590
+ border-bottom:1px solid rgba(190, 190, 190, 0.45);
9591
+ }
9592
+ .gn-datagrid.is-horizontal .gn-datagrid-card-header-left,
9593
+ .gn-datagrid.is-horizontal .gn-datagrid-card-header-right{
9594
+ display:flex;
9595
+ align-items:center;
9596
+ gap:0.5rem;
9597
+ }
9598
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row.is-nodata{
9599
+ grid-column:1/-1;
9600
+ }
9601
+ .gn-datagrid.is-horizontal .gn-datagrid-body-cell{
9602
+ display:flex;
9603
+ flex-direction:column;
9604
+ gap:0.25rem;
9605
+ padding:0.55rem;
9606
+ }
9607
+ .gn-datagrid.is-horizontal .gn-datagrid-cell-label{
9608
+ color:#535353;
9609
+ font-size:0.875em;
9610
+ font-weight:600;
9611
+ }
9612
+ .gn-datagrid.is-horizontal .btn-container{
9613
+ min-height:3rem;
9614
+ }
9615
+ .gn-datagrid.is-horizontal.has-horizontal-gap .gn-datagrid-contents{
9616
+ border:0;
9617
+ }
9618
+ .gn-datagrid.is-horizontal.has-horizontal-gap .gn-datagrid-body-row{
9619
+ border:1px solid #bebebe;
9620
+ }
9477
9621
  .gn-datagrid .gn-datagrid-header-cell{
9478
9622
  border-right:1px solid #bebebe;
9479
9623
  padding:0.55rem;
@@ -586,6 +586,14 @@ table th{
586
586
  justify-content:space-between !important;
587
587
  }
588
588
 
589
+ .is-text-link{
590
+ color:hsl(217, 71%, 53%) !important;
591
+ }
592
+ .is-text-link:hover{
593
+ text-decoration:underline;
594
+ cursor:pointer;
595
+ }
596
+
589
597
  .has-text-ellipsis{
590
598
  white-space:nowrap;
591
599
  overflow:hidden;
@@ -4565,6 +4573,9 @@ span.gn-highlight{
4565
4573
  .gn-checks.is-no-padding{
4566
4574
  padding:0;
4567
4575
  }
4576
+ .gn-checks.is-no-padding > input[type=checkbox] + label{
4577
+ padding:0;
4578
+ }
4568
4579
  .gn-checks.is-disabled{
4569
4580
  cursor:not-allowed;
4570
4581
  }
@@ -5970,6 +5981,54 @@ span.gn-highlight{
5970
5981
  flex-shrink:0;
5971
5982
  text-align:right;
5972
5983
  }
5984
+ .gn-field > .gn-label.is-1{
5985
+ flex-grow:1;
5986
+ }
5987
+ .gn-field > .gn-label.is-1 + .gn-control{
5988
+ flex-grow:7;
5989
+ }
5990
+ .gn-field > .gn-label.is-2{
5991
+ flex-grow:2;
5992
+ }
5993
+ .gn-field > .gn-label.is-2 + .gn-control{
5994
+ flex-grow:6;
5995
+ }
5996
+ .gn-field > .gn-label.is-3{
5997
+ flex-grow:3;
5998
+ }
5999
+ .gn-field > .gn-label.is-3 + .gn-control{
6000
+ flex-grow:5;
6001
+ }
6002
+ .gn-field > .gn-label.is-4{
6003
+ flex-grow:4;
6004
+ }
6005
+ .gn-field > .gn-label.is-4 + .gn-control{
6006
+ flex-grow:4;
6007
+ }
6008
+ .gn-field > .gn-label.is-5{
6009
+ flex-grow:5;
6010
+ }
6011
+ .gn-field > .gn-label.is-5 + .gn-control{
6012
+ flex-grow:3;
6013
+ }
6014
+ .gn-field > .gn-label.is-6{
6015
+ flex-grow:6;
6016
+ }
6017
+ .gn-field > .gn-label.is-6 + .gn-control{
6018
+ flex-grow:2;
6019
+ }
6020
+ .gn-field > .gn-label.is-7{
6021
+ flex-grow:7;
6022
+ }
6023
+ .gn-field > .gn-label.is-7 + .gn-control{
6024
+ flex-grow:1;
6025
+ }
6026
+ .gn-field > .gn-label.is-8{
6027
+ flex-grow:8;
6028
+ }
6029
+ .gn-field > .gn-label.is-8 + .gn-control{
6030
+ flex-grow:0;
6031
+ }
5973
6032
  .gn-field > .gn-control{
5974
6033
  flex:5 1 0px;
5975
6034
  flex-basis:0;
@@ -7229,7 +7288,7 @@ span.gn-highlight{
7229
7288
  box-shadow:0 0 0 0.1em rgba(241.077, 70.023, 104.2338, 0.7);
7230
7289
  }
7231
7290
  .gn-multitext .gn-tab{
7232
- margin-bottom:2px;
7291
+ margin-bottom:0;
7233
7292
  }
7234
7293
  .gn-multitext .gn-tab a{
7235
7294
  padding:calc(0.5em - 1px) calc(0.75em - 1px);
@@ -10058,6 +10117,91 @@ span.gn-highlight{
10058
10117
  .gn-datagrid.is-headless .gn-datagrid-body-row:first-child{
10059
10118
  border-top:0;
10060
10119
  }
10120
+ .gn-datagrid.is-horizontal.is-headless .gn-datagrid-contents{
10121
+ border:0;
10122
+ }
10123
+ .gn-datagrid.is-horizontal.is-headless .gn-datagrid-body-row{
10124
+ border-top:0;
10125
+ border-bottom:1px solid hsl(0, 0%, 86%);
10126
+ }
10127
+ .gn-datagrid.is-horizontal.is-headless .gn-datagrid-body-row.is-horizontal-first-row{
10128
+ border-top:1px solid hsl(0, 0%, 86%);
10129
+ }
10130
+ .gn-datagrid.is-horizontal .gn-datagrid-header-row.is-horizontal{
10131
+ grid-template-columns:1fr !important;
10132
+ }
10133
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell.is-horizontal{
10134
+ display:flex;
10135
+ align-items:center;
10136
+ justify-content:flex-start;
10137
+ min-height:2.5rem;
10138
+ border-right:0;
10139
+ }
10140
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell .gn-datagrid-cell,
10141
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell .is-sortDir,
10142
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell .is-handle{
10143
+ display:none;
10144
+ }
10145
+ .gn-datagrid.is-horizontal .gn-datagrid-contents{
10146
+ border:0;
10147
+ }
10148
+ .gn-datagrid.is-horizontal .gn-datagrid-body{
10149
+ display:grid;
10150
+ gap:0;
10151
+ align-items:start;
10152
+ }
10153
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row{
10154
+ display:block;
10155
+ box-sizing:border-box;
10156
+ border-top:0;
10157
+ border-right:1px solid hsl(0, 0%, 86%);
10158
+ border-bottom:1px solid hsl(0, 0%, 86%);
10159
+ border-left:0;
10160
+ overflow:hidden;
10161
+ }
10162
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row.is-horizontal-first-col{
10163
+ border-left:1px solid hsl(0, 0%, 86%);
10164
+ }
10165
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row.is-horizontal-first-row{
10166
+ border-top:0;
10167
+ }
10168
+ .gn-datagrid.is-horizontal .gn-datagrid-card-header{
10169
+ display:flex;
10170
+ align-items:center;
10171
+ justify-content:space-between;
10172
+ min-height:calc(20px + 1.1rem);
10173
+ padding:0.55rem;
10174
+ border-bottom:1px solid rgba(219.3, 219.3, 219.3, 0.45);
10175
+ }
10176
+ .gn-datagrid.is-horizontal .gn-datagrid-card-header-left,
10177
+ .gn-datagrid.is-horizontal .gn-datagrid-card-header-right{
10178
+ display:flex;
10179
+ align-items:center;
10180
+ gap:0.5rem;
10181
+ }
10182
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row.is-nodata{
10183
+ grid-column:1/-1;
10184
+ }
10185
+ .gn-datagrid.is-horizontal .gn-datagrid-body-cell{
10186
+ display:flex;
10187
+ flex-direction:column;
10188
+ gap:0.25rem;
10189
+ padding:0.55rem;
10190
+ }
10191
+ .gn-datagrid.is-horizontal .gn-datagrid-cell-label{
10192
+ color:hsl(0, 0%, 21%);
10193
+ font-size:0.875em;
10194
+ font-weight:600;
10195
+ }
10196
+ .gn-datagrid.is-horizontal .btn-container{
10197
+ min-height:3rem;
10198
+ }
10199
+ .gn-datagrid.is-horizontal.has-horizontal-gap .gn-datagrid-contents{
10200
+ border:0;
10201
+ }
10202
+ .gn-datagrid.is-horizontal.has-horizontal-gap .gn-datagrid-body-row{
10203
+ border:1px solid hsl(0, 0%, 86%);
10204
+ }
10061
10205
  .gn-datagrid .gn-datagrid-header-cell{
10062
10206
  border-right:1px solid hsl(0, 0%, 86%);
10063
10207
  padding:0.55rem;
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "1.2.20",
7
+ "version": "1.2.21",
8
8
  "type": "module",
9
9
  "main": "dist/js/gnui.js",
10
10
  "types": "@types/gnui.d.ts",
@@ -37,7 +37,11 @@
37
37
  "prettier": "npx prettier --write .",
38
38
  "eslint": "npx eslint --fix ./ts/**/*.{ts,tsx} ./template_docs/**/*.js",
39
39
  "server": "http-server ./ -a localhost --port 9002 -s -o ./styleguide --watch",
40
- "dev": "npm-watch"
40
+ "dev": "npm-watch",
41
+ "test": "playwright test --project=components",
42
+ "test:all": "playwright test",
43
+ "test:ui": "playwright test --project=components --ui",
44
+ "test:integration": "playwright test --project=integration-chromium --project=integration-firefox"
41
45
  },
42
46
  "watch": {
43
47
  "build-sass": {
@@ -92,6 +96,7 @@
92
96
  "@babel/plugin-proposal-class-properties": "^7.8.3",
93
97
  "@babel/plugin-transform-react-jsx": "^7.23.4",
94
98
  "@babel/preset-env": "^7.23.6",
99
+ "@playwright/test": "^1.58.2",
95
100
  "@rollup/plugin-babel": "^6.0.4",
96
101
  "@rollup/plugin-commonjs": "^25.0.7",
97
102
  "@rollup/plugin-node-resolve": "^15.2.3",
@@ -76,6 +76,10 @@ const components = {
76
76
  {
77
77
  name: 'data2',
78
78
  data: [50, 20, 10, 40, 15, 25]
79
+ },
80
+ {
81
+ name: 'data3',
82
+ data: [20, 100, 400, 150, 250, 30]
79
83
  }
80
84
  ],
81
85
  xaxis: {
@@ -94,7 +98,16 @@ const components = {
94
98
  {
95
99
  name: 'data1',
96
100
  data: [30, 200, 100, 400, 150, 250]
101
+ },
102
+ {
103
+ name: 'data2',
104
+ data: [50, 20, 10, 40, 15, 25]
105
+ },
106
+ {
107
+ name: 'data3',
108
+ data: [20, 100, 400, 150, 250, 30]
97
109
  }
110
+
98
111
  ],
99
112
  xaxis: {
100
113
  type: 'datetime',
@@ -117,6 +130,10 @@ const components = {
117
130
  {
118
131
  name: 'data2',
119
132
  data: [50, 20, 10, 40, 15, 25]
133
+ },
134
+ {
135
+ name: 'data3',
136
+ data: [20, 100, 400, 150, 250, 30]
120
137
  }
121
138
  ],
122
139
  width: '45%'
@@ -626,6 +643,64 @@ const components = {
626
643
  console.log(updatedData);
627
644
  }
628
645
  });
646
+ Gn.create('datagrid', {
647
+ target: '.new-grid4',
648
+ orientation: 'horizontal',
649
+ orientationOptions: {
650
+ columns: 'auto-fit',
651
+ minWidth: '240px'
652
+ },
653
+ hasHeader: true,
654
+ hasCheck: true,
655
+ hasDelete: true,
656
+ headers: [
657
+ {
658
+ label: '이름',
659
+ key: 'name'
660
+ },
661
+ {
662
+ label: '부서',
663
+ key: 'team'
664
+ },
665
+ {
666
+ label: '상태',
667
+ key: 'status',
668
+ template: function (k, d) {
669
+ return '<span class="tag is-info">' + d[k] + '</span>';
670
+ }
671
+ }
672
+ ],
673
+ data: [
674
+ {
675
+ name: '홍길동',
676
+ team: '플랫폼개발',
677
+ status: 'ACTIVE'
678
+ },
679
+ {
680
+ name: '김철수',
681
+ team: '디자인시스템',
682
+ status: 'PENDING'
683
+ },
684
+ {
685
+ name: '이영희',
686
+ team: 'QA',
687
+ status: 'DONE'
688
+ },
689
+ {
690
+ name: '박민수',
691
+ team: '프론트엔드',
692
+ status: 'ACTIVE'
693
+ },
694
+ {
695
+ name: '최지우',
696
+ team: '서비스기획',
697
+ status: 'REVIEW'
698
+ }
699
+ ],
700
+ textSets: {
701
+ deleteConfirmMessage: '카드를 삭제하시겠습니까?'
702
+ }
703
+ });
629
704
  },
630
705
  Datalist: function () {
631
706
  Gn.create('datalist', {
@@ -1467,6 +1542,25 @@ const components = {
1467
1542
  });
1468
1543
  }
1469
1544
  });
1545
+ // Modal(Extra) 예제 버튼 바인딩
1546
+ Gn.create('button', {
1547
+ target: '.new-modal-extra',
1548
+ onClick: function () {
1549
+ console.log('[Guide][Modal] .new-modal-extra clicked');
1550
+ Gn.create('modal', {
1551
+ textSets: { title: 'Extra Buttons Demo' },
1552
+ hasCancel: true,
1553
+ height: 400,
1554
+ extraButtons: [
1555
+ { key: 'edit-template', label: '수정(템플릿만적용)', className: 'is-small is-primary' },
1556
+ { key: 'edit-bulk', label: '수정(용도일괄적용)', className: 'is-small is-mono' }
1557
+ ],
1558
+ onExtra: function (actionKey) {
1559
+ console.log('extra clicked:', actionKey);
1560
+ }
1561
+ });
1562
+ }
1563
+ });
1470
1564
  },
1471
1565
  Pagination: function () {
1472
1566
  Gn.create('pagination', {
@@ -1492,6 +1586,19 @@ const components = {
1492
1586
  rows: 1,
1493
1587
  maxlength: 300
1494
1588
  });
1589
+ Gn.create('multitext', {
1590
+ target: '.message-multitext',
1591
+ lang: ['ko', 'en'],
1592
+ value: {
1593
+ ko: '옵션 문구 예시',
1594
+ en: 'message example'
1595
+ },
1596
+ maxlength: 120,
1597
+ useMaxLengthMessage: true,
1598
+ textSets: {
1599
+ maxLengthMessage: '{{maxlength}}자 입력 가능합니다.'
1600
+ }
1601
+ });
1495
1602
  },
1496
1603
  Picklist: function () {
1497
1604
  Gn.create('picklist', {
@@ -1961,59 +2068,98 @@ const components = {
1961
2068
  }
1962
2069
  ],
1963
2070
  color: 'success',
1964
- multiple: true
2071
+ hasCheck: false
1965
2072
  });
1966
2073
  Gn.create('tree', {
1967
2074
  target: '.new-tree3',
1968
2075
  data: [
1969
2076
  {
1970
2077
  text: 'Genians',
2078
+ value: 'genians',
1971
2079
  actived: true,
1972
2080
  opened: true,
1973
2081
  child: [
1974
2082
  {
1975
- text: 'GNUI'
2083
+ text: 'GNUI',
2084
+ value: 'gnui'
1976
2085
  },
1977
2086
  {
1978
2087
  text: 'GNUI core',
2088
+ value: 'gnui-core',
1979
2089
  opened: true,
1980
2090
  child: [
1981
2091
  {
1982
- text: 'GNUI'
2092
+ text: 'GNUI',
2093
+ value: 'gnui-nested'
1983
2094
  },
1984
2095
  {
1985
- text: 'GNUI core'
2096
+ text: 'GNUI core',
2097
+ value: 'gnui-core-nested'
1986
2098
  },
1987
2099
  {
1988
2100
  text: 'GNConfEngine',
2101
+ value: 'gnconfengine-nested',
1989
2102
  selected: true
1990
2103
  }
1991
2104
  ]
1992
2105
  },
1993
2106
  {
1994
- text: 'GNConfEngine'
2107
+ text: 'GNConfEngine',
2108
+ value: 'gnconfengine'
1995
2109
  }
1996
2110
  ]
1997
2111
  },
1998
2112
  {
1999
2113
  text: 'R&D Center',
2114
+ value: 'rnd-center',
2000
2115
  child: [
2001
2116
  {
2002
- text: 'GNUI'
2117
+ text: 'GNUI',
2118
+ value: 'rnd-gnui'
2003
2119
  },
2004
2120
  {
2005
- text: 'GNUI core'
2121
+ text: 'GNUI core',
2122
+ value: 'rnd-gnui-core'
2006
2123
  },
2007
2124
  {
2008
- text: 'GNConfEngine'
2125
+ text: 'GNConfEngine',
2126
+ value: 'rnd-gnconfengine'
2009
2127
  }
2010
2128
  ]
2011
2129
  },
2012
2130
  {
2013
- text: 'Front-end'
2131
+ text: 'Front-end',
2132
+ value: 'frontend'
2014
2133
  }
2015
2134
  ],
2016
2135
  hasCheck: true
2017
2136
  });
2137
+ Gn.create('tree', {
2138
+ target: '.new-tree4',
2139
+ data: [
2140
+ {
2141
+ text: 'Disabled Root',
2142
+ value: 'disabled-root',
2143
+ opened: true,
2144
+ child: [
2145
+ {
2146
+ text: 'Locked Node',
2147
+ value: 'locked-node',
2148
+ selected: true
2149
+ },
2150
+ {
2151
+ text: 'Review Only',
2152
+ value: 'review-only'
2153
+ }
2154
+ ]
2155
+ },
2156
+ {
2157
+ text: 'Disabled Leaf',
2158
+ value: 'disabled-leaf'
2159
+ }
2160
+ ],
2161
+ hasCheck: true,
2162
+ disabled: true
2163
+ });
2018
2164
  }
2019
2165
  };