@@ -40,39 +40,8 @@ $(document).ready(function () {
40
40
41
41
// initial methods
42
42
_setupPlaceholders : function ( placeholders ) {
43
- var that = this ;
44
- var draggables = placeholders . find ( '.cms_draggable' ) ;
45
-
46
- // attach events to draggable
47
- draggables . find ( '> .cms_dragitem-collapsable' ) . bind ( 'click' , function ( ) {
48
- var el = $ ( this ) ;
49
- var id = that . getId ( $ ( this ) . parent ( ) ) ;
50
- var settings = CMS . API . Toolbar . getSettings ( ) ;
51
- settings . states = settings . states || [ ] ;
52
- var index = settings . states . indexOf ( id ) ;
53
- if ( index != - 1 ) settings . states . splice ( settings . states . indexOf ( id ) , 1 ) ;
54
-
55
- if ( el . hasClass ( 'cms_dragitem-collapsed' ) ) {
56
- // show element
57
- el . removeClass ( 'cms_dragitem-collapsed' ) . parent ( ) . find ( '> .cms_draggables' ) . show ( ) ;
58
- } else {
59
- // hide element
60
- el . addClass ( 'cms_dragitem-collapsed' ) . parent ( ) . find ( '> .cms_draggables' ) . hide ( ) ;
61
- settings . states . push ( id ) ;
62
- }
63
-
64
- // save settings
65
- CMS . API . Toolbar . setSettings ( settings ) ;
66
- } ) ;
67
-
68
- // setting correct states
69
- var states = CMS . API . Toolbar . getSettings ( ) . states ;
70
- // loop through the items
71
- $ . each ( states , function ( index , id ) {
72
- var el = $ ( '#cms_draggable-' + id ) ;
73
- el . find ( '> .cms_draggables' ) . hide ( ) ;
74
- el . find ( '> .cms_dragitem' ) . addClass ( 'cms_dragitem-collapsed' ) ;
75
- } ) ;
43
+ // ensure collapsables work
44
+ this . _collapsables ( placeholders . find ( '.cms_draggable' ) ) ;
76
45
} ,
77
46
78
47
_setupPlugins : function ( plugins ) {
@@ -299,6 +268,38 @@ $(document).ready(function () {
299
268
if ( lengthContainers <= 0 ) this . clipboard . remove ( ) ;
300
269
} ,
301
270
271
+ _collapsables : function ( draggables ) {
272
+ var that = this ;
273
+
274
+ // attach events to draggable
275
+ draggables . find ( '> .cms_dragitem-collapsable' ) . bind ( 'click' , function ( ) {
276
+ var el = $ ( this ) ;
277
+ var id = that . getId ( $ ( this ) . parent ( ) ) ;
278
+ var settings = CMS . API . Toolbar . getSettings ( ) ;
279
+ settings . states = settings . states || [ ] ;
280
+ var index = settings . states . indexOf ( id ) ;
281
+
282
+ // collapsable function and save states
283
+ if ( index != - 1 ) {
284
+ settings . states . splice ( settings . states . indexOf ( id ) , 1 ) ;
285
+ el . removeClass ( 'cms_dragitem-expanded' ) . parent ( ) . find ( '> .cms_draggables' ) . hide ( ) ;
286
+ } else {
287
+ settings . states . push ( id ) ;
288
+ el . addClass ( 'cms_dragitem-expanded' ) . parent ( ) . find ( '> .cms_draggables' ) . show ( ) ;
289
+ }
290
+
291
+ // save settings
292
+ CMS . API . Toolbar . setSettings ( settings ) ;
293
+ } ) ;
294
+
295
+ // loop through the items
296
+ $ . each ( CMS . API . Toolbar . getSettings ( ) . states , function ( index , id ) {
297
+ var el = $ ( '#cms_draggable-' + id ) ;
298
+ el . find ( '> .cms_draggables' ) . show ( ) ;
299
+ el . find ( '> .cms_dragitem' ) . addClass ( 'cms_dragitem-expanded' ) ;
300
+ } ) ;
301
+ } ,
302
+
302
303
_preventEvents : function ( ) {
303
304
var clicks = 0 ;
304
305
var delay = 500 ;
0 commit comments