|
306 | 306 | }); |
307 | 307 | }, |
308 | 308 |
|
| 309 | + renderMenuItem: function(menuItem) { |
| 310 | + var $item = $(wp.template('available-menu-item')(menuItem.attributes)); |
| 311 | + |
| 312 | + $item.find('.menu-item-title').toggleClass( |
| 313 | + 'in-use', |
| 314 | + this.isMenuItemAlreadyAdded(menuItem) |
| 315 | + ); |
| 316 | + |
| 317 | + return $item; |
| 318 | + }, |
| 319 | + |
309 | 320 | // Get search results. |
310 | 321 | doSearch: function( page ) { |
311 | 322 | var self = this, params, |
312 | 323 | $section = $( '#available-menu-items-search' ), |
313 | | - $content = $section.find( '.accordion-section-content' ), |
314 | | - itemTemplate = wp.template( 'available-menu-item' ); |
| 324 | + $content = $section.find( '.accordion-section-content' ) |
315 | 325 |
|
316 | 326 | if ( self.currentRequest ) { |
317 | 327 | self.currentRequest.abort(); |
|
354 | 364 | self.loading = false; |
355 | 365 | items = new api.Menus.AvailableItemCollection( data.items ); |
356 | 366 | self.collection.add( items.models ); |
357 | | - items.each( function( menuItem ) { |
358 | | - var $item = $( itemTemplate( menuItem.attributes ) ); |
359 | | - var inUse = this.currentMenuControl.getMenuItemControls().some( function( control ) { |
360 | | - var setting = control.setting(); |
361 | | - return setting.object_id == menuItem.get( 'object_id' ) && |
362 | | - setting.type === menuItem.get( 'type' ) && |
363 | | - setting.object === menuItem.get( 'object' ); |
364 | | - }); |
365 | | - |
366 | | - if ( inUse ) { |
367 | | - $item.find( '.menu-item-title' ).addClass( 'in-use' ); |
368 | | - } |
369 | | - |
370 | | - $content.append( $item ); |
| 367 | + items.each(function(menuItem) { |
| 368 | + var $item = self.renderMenuItem(menuItem); |
| 369 | + $content.append($item); |
371 | 370 | }); |
372 | 371 |
|
373 | 372 | if ( 20 > items.length ) { |
|
422 | 421 | * @return {void} |
423 | 422 | */ |
424 | 423 | loadItems: function( itemTypes, deprecated ) { |
425 | | - var self = this, _itemTypes, requestItemTypes = [], params, request, itemTemplate, availableMenuItemContainers = {}; |
426 | | - itemTemplate = wp.template( 'available-menu-item' ); |
| 424 | + var self = this, _itemTypes, requestItemTypes = [], params, request, availableMenuItemContainers = {}; |
427 | 425 |
|
428 | 426 | if ( _.isString( itemTypes ) && _.isString( deprecated ) ) { |
429 | 427 | _itemTypes = [ { type: itemTypes, object: deprecated } ]; |
|
480 | 478 | } |
481 | 479 | typeItems = new api.Menus.AvailableItemCollection( typeItems ); |
482 | 480 | self.collection.add( typeItems.models ); |
483 | | - typeInner = availableMenuItemContainers[ name ].find( '.available-menu-items-list' ); |
484 | | - typeInner.empty(); |
| 481 | + typeInner = availableMenuItemContainers[name].find('.available-menu-items-list').empty(); |
485 | 482 | typeItems.each(function(menuItem) { |
486 | | - var $item = $(itemTemplate(menuItem.attributes)); |
487 | | - |
488 | | - if (self.isMenuItemAlreadyAdded(menuItem)) { |
489 | | - $item.find('.menu-item-title').addClass('in-use'); |
490 | | - } else { |
491 | | - $item.find('.menu-item-title').removeClass('in-use'); |
492 | | - } |
493 | | - |
| 483 | + var $item = self.renderMenuItem(menuItem); |
494 | 484 | typeInner.append($item); |
495 | | - } ); |
| 485 | + }); |
496 | 486 | self.pages[ name ] += 1; |
497 | 487 | }); |
498 | 488 | }); |
|
0 commit comments