@@ -134,6 +134,33 @@ var Colorpicker = (function(DX) {
134
134
block . appendChild ( input ) ;
135
135
}
136
136
137
+ function removeAppearence ( ) {
138
+ var parent = DX . Dom . getParent ( block ) ;
139
+ parent . insertBefore ( input , block ) ;
140
+ block . remove ( ) ;
141
+ }
142
+
143
+
144
+ function destroy ( ) {
145
+ removeListeners ( ) ;
146
+ DX . Event . trigger ( input , Colorpicker . E_DESTROYED ) ;
147
+ removeAppearence ( ) ;
148
+ dropDown . destroy ( ) ;
149
+ }
150
+
151
+ function removeListeners ( ) {
152
+ var dropDownEventTarget = dropDown . getEventTarget ( ) ;
153
+
154
+ block . removeEventListener ( DX . Event . TOUCH_CLICK , toggleDropDown , true ) ;
155
+
156
+ dropDownEventTarget . removeEventListener ( DropDown . E_SHOWN , setOpenedState , true ) ;
157
+ dropDownEventTarget . removeEventListener ( DropDown . E_HIDDEN , removeOpenedState , true ) ;
158
+ dropDownEventTarget . removeEventListener ( DropDown . E_CHANGED , dropDownIndexChangeHandler , true ) ;
159
+
160
+ input . removeEventListener ( Colorpicker . E_SET_COLOR_LIST , setColorListHandler ) ;
161
+ input . removeEventListener ( Colorpicker . E_SET_COLOR , setColorByInputValue ) ;
162
+ }
163
+
137
164
138
165
function setColorListHandler ( ) {
139
166
colorList = input . colorList || colorList || Colorpicker . colorList ;
@@ -327,6 +354,12 @@ var Colorpicker = (function(DX) {
327
354
*/
328
355
this . setDisabled = setDisabled ;
329
356
357
+ /**
358
+ * Destroying colorpicker component and its dropdown
359
+ * @method destroy
360
+ */
361
+ this . destroy = destroy ;
362
+
330
363
/**
331
364
* Enables ColorPicker
332
365
* @method setEnabled
@@ -359,6 +392,12 @@ var Colorpicker = (function(DX) {
359
392
* @memberof Colorpicker
360
393
*/
361
394
Colorpicker . E_CREATED = 'colorpicker:created' ;
395
+ /** @constant
396
+ * @type {string }
397
+ * @default
398
+ * @memberof Colorpicker
399
+ */
400
+ Colorpicker . E_DESTROYED = 'colorpicker:destroyed' ;
362
401
/** @constant
363
402
* @type {string }
364
403
* @default
0 commit comments