1
1
/**
2
2
* --------------------------------------------------------------------------
3
- * CoreUI (v4.2.0-alpha.0 ): picker.js
4
- * Licensed under MIT (https://coreui.io/license)
3
+ * CoreUI PRO (v4.2.0-beta.2 ): picker.js
4
+ * License (https://coreui.io/pro/ license-new/ )
5
5
* --------------------------------------------------------------------------
6
6
*/
7
7
@@ -24,19 +24,23 @@ const EVENT_KEY = `.${DATA_KEY}`
24
24
const EVENT_CANCEL = `onCancelClick${ EVENT_KEY } `
25
25
26
26
const Default = {
27
- cancelButtonText : 'Cancel' ,
27
+ cancelButtonLabel : 'Cancel' ,
28
+ cancelButtonClasses : [ 'btn' , 'btn-sm' , 'btn-ghost-primary' ] ,
29
+ confirmButtonLabel : 'OK' ,
30
+ confirmButtonClasses : [ 'btn' , 'btn-sm' , 'btn-primary' ] ,
28
31
container : 'dropdown' ,
29
32
disabled : false ,
30
- footer : false ,
31
- okButtonText : 'OK'
33
+ footer : false
32
34
}
33
35
34
36
const DefaultType = {
35
- cancelButtonText : 'string' ,
37
+ cancelButtonLabel : 'string' ,
38
+ cancelButtonClasses : '(array|string)' ,
39
+ confirmButtonLabel : 'string' ,
40
+ confirmButtonClasses : '(array|string)' ,
36
41
container : 'string' ,
37
42
disabled : 'boolean' ,
38
- footer : 'boolean' ,
39
- okButtonText : 'string'
43
+ footer : 'boolean'
40
44
}
41
45
42
46
/**
@@ -73,6 +77,14 @@ class Picker extends BaseComponent {
73
77
return NAME
74
78
}
75
79
80
+ _getButtonClasses ( classes ) {
81
+ if ( typeof classes === 'string' ) {
82
+ return classes . split ( ' ' )
83
+ }
84
+
85
+ return classes
86
+ }
87
+
76
88
// Private
77
89
_createDropdown ( ) {
78
90
const dropdownEl = document . createElement ( 'div' )
@@ -104,18 +116,18 @@ class Picker extends BaseComponent {
104
116
footerEl . classList . add ( 'picker-footer' )
105
117
106
118
const cancelButtonEl = document . createElement ( 'button' )
107
- cancelButtonEl . classList . add ( 'btn' , 'btn-sm' , 'btn-ghost-primary' )
119
+ cancelButtonEl . classList . add ( ... this . _getButtonClasses ( this . _config . cancelButtonClasses ) )
108
120
cancelButtonEl . type = 'button'
109
- cancelButtonEl . innerHTML = this . _config . cancelButtonText
121
+ cancelButtonEl . innerHTML = this . _config . cancelButtonLabel
110
122
cancelButtonEl . addEventListener ( 'click' , ( ) => {
111
123
this . _dropdown . hide ( )
112
124
EventHandler . trigger ( this . _element , EVENT_CANCEL )
113
125
} )
114
126
115
127
const okButtonEl = document . createElement ( 'button' )
116
- okButtonEl . classList . add ( 'btn' , 'btn-sm' , 'btn-primary' )
128
+ okButtonEl . classList . add ( ... this . _getButtonClasses ( this . _config . confirmButtonClasses ) )
117
129
okButtonEl . type = 'button'
118
- okButtonEl . innerHTML = this . _config . okButtonText
130
+ okButtonEl . innerHTML = this . _config . confirmButtonLabel
119
131
okButtonEl . addEventListener ( 'click' , ( ) => {
120
132
this . _dropdown . hide ( )
121
133
} )
0 commit comments