52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
/**
|
|
* wp.media.view.MenuIconsItemPreview
|
|
*
|
|
* @class
|
|
* @augments wp.media.View
|
|
* @augments wp.Backbone.View
|
|
* @augments Backbone.View
|
|
*/
|
|
var MenuIconsItemPreview = wp.media.View.extend({
|
|
tagName: 'p',
|
|
className: 'mi-preview menu-item attachment-info',
|
|
events: {
|
|
'click a': 'preventDefault'
|
|
},
|
|
|
|
initialize: function() {
|
|
wp.media.View.prototype.initialize.apply( this, arguments );
|
|
this.model.on( 'change', this.render, this );
|
|
},
|
|
|
|
render: function() {
|
|
var frame = this.controller,
|
|
state = frame.state(),
|
|
selected = state.get( 'selection' ).single(),
|
|
props = this.model.toJSON(),
|
|
data = _.extend( props, {
|
|
type: state.id,
|
|
icon: selected.id,
|
|
title: this.model.get( '$title' ).val(),
|
|
url: state.ipGetIconUrl( selected, props.image_size )
|
|
}),
|
|
template = 'menu-icons-item-sidebar-preview-' + iconPicker.types[ state.id ].templateId + '-';
|
|
|
|
if ( data.hide_label ) {
|
|
template += 'hide_label';
|
|
} else {
|
|
template += data.position;
|
|
}
|
|
|
|
this.template = wp.media.template( template );
|
|
this.$el.html( this.template( data ) );
|
|
|
|
return this;
|
|
},
|
|
|
|
preventDefault: function( e ) {
|
|
e.preventDefault();
|
|
}
|
|
});
|
|
|
|
module.exports = MenuIconsItemPreview;
|