PluginProbe ʕ •ᴥ•ʔ
Menu Icons by Themeisle – Add Icons to Navigation Menus / trunk
Menu Icons by Themeisle – Add Icons to Navigation Menus vtrunk
trunk 0.1.0 0.1.1 0.1.2 0.1.3 0.1.4 0.1.5 0.10.0 0.10.1 0.10.2 0.11.0 0.11.1 0.11.2 0.11.3 0.11.4 0.11.5 0.12.0 0.12.1 0.12.10 0.12.11 0.12.12 0.12.2 0.12.3 0.12.4 0.12.5 0.12.6 0.12.7 0.12.8 0.12.9 0.13.0 0.13.1 0.13.10 0.13.11 0.13.12 0.13.13 0.13.14 0.13.15 0.13.16 0.13.17 0.13.18 0.13.19 0.13.2 0.13.20 0.13.21 0.13.22 0.13.23 0.13.3 0.13.4 0.13.5 0.13.6 0.13.7 0.13.8 0.13.9 0.2.0 0.2.1 0.2.2 0.2.3 0.3.0 0.3.1 0.3.2 0.4.0 0.5.0 0.5.1 0.6.0 0.7.0 0.8.0 0.8.1 0.9.0 0.9.2
menu-icons / js / src / media / views / sidebar.js
menu-icons / js / src / media / views Last commit date
frame.js 6 years ago item-preview.js 8 years ago item-setting-field.js 8 years ago item-settings.js 8 years ago sidebar.js 8 years ago
sidebar.js
102 lines
1 /**
2 * wp.media.view.MenuIconsSidebar
3 *
4 * @class
5 * @augments wp.media.view.IconPickerSidebar
6 * @augments wp.media.view.Sidebar
7 * @augments wp.media.view.PriorityList
8 * @augments wp.media.View
9 * @augments wp.Backbone.View
10 * @augments Backbone.View
11 */
12 var MenuIconsSidebar = wp.media.view.IconPickerSidebar.extend({
13 initialize: function() {
14 var title = new wp.media.View({
15 tagName: 'h3',
16 priority: - 10
17 });
18
19 var info = new wp.media.View({
20 tagName: 'p',
21 className: '_info',
22 priority: 1000
23 });
24
25 wp.media.view.IconPickerSidebar.prototype.initialize.apply( this, arguments );
26
27 title.$el.text( window.menuIcons.text.preview );
28 this.set( 'title', title );
29
30 info.$el.html( window.menuIcons.text.settingsInfo );
31 this.set( 'info', info );
32 },
33
34 createSingle: function() {
35 this.createPreview();
36 this.createSettings();
37 },
38
39 disposeSingle: function() {
40 this.unset( 'preview' );
41 this.unset( 'settings' );
42 },
43
44 createPreview: function() {
45 var self = this,
46 frame = self.controller,
47 state = frame.state();
48
49 // If the selected icon is still being downloaded (image or svg type),
50 // wait for it to complete before creating the preview.
51 if ( state.dfd && state.dfd.state() === 'pending' ) {
52 state.dfd.done( function() {
53 self.createPreview();
54 });
55
56 return;
57 }
58
59 self.set( 'preview', new wp.media.view.MenuIconsItemPreview({
60 controller: frame,
61 model: frame.target,
62 priority: 80
63 }) );
64 },
65
66 createSettings: function() {
67 var frame = this.controller,
68 state = frame.state(),
69 fieldIds = state.get( 'data' ).settingsFields,
70 fields = [];
71
72 _.each( fieldIds, function( fieldId ) {
73 var field = window.menuIcons.settingsFields[ fieldId ],
74 model;
75
76 if ( ! field ) {
77 return;
78 }
79
80 model = _.defaults({
81 value: frame.target.get( fieldId ) || field['default']
82 }, field );
83
84 fields.push( model );
85 });
86
87 if ( ! fields.length ) {
88 return;
89 }
90
91 this.set( 'settings', new wp.media.view.MenuIconsItemSettings({
92 controller: this.controller,
93 collection: new wp.media.model.MenuIconsItemSettings( fields ),
94 model: frame.target,
95 type: this.options.type,
96 priority: 120
97 }) );
98 }
99 });
100
101 module.exports = MenuIconsSidebar;
102