PluginProbe
Advanced Ads – Ad Manager & AdSense / 2.0.22
Advanced Ads – Ad Manager & AdSense v2.0.22
2.0.26 2.0.25 2.0.24 2.0.23 2.0.22 2.0.21 1.38.0 1.39.0 1.39.1 1.39.2 1.39.3 1.39.4 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.40.0 1.40.1 1.40.2 All 348 releases
advanced-ads / assets / js / admin / shortcode.js
shortcode.js
100 lines 3.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (function() {
2 tinymce.create( 'tinymce.plugins.advads_shortcode', {
3 /**
4 * Initializes the plugin
5 *
6 * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
7 * @param {string} url Absolute URL to where the plugin is located.
8 */
9 init : function( ed, url ) {
10 ed.addButton( 'advads_shortcode_button', {
11 title: ed.getLang( 'advads_shortcode.title', 'Advanced ads shortcodes' ),
12 image: ed.getLang( 'advads_shortcode.image' ),
13 cmd: 'advads_shortcode_command'
14 });
15
16 ed.addCommand( 'advads_shortcode_command', function() {
17 ed.windowManager.open({
18 title: ed.getLang( 'advads_shortcode.title', 'Advanced Ads shortcodes' ),
19 inline: 1,
20 body: [{
21 id: 'advads-shortcode-modal-container',
22 type: 'container',
23 minWidth: 320,
24 html: '<span class="spinner advads-ad-parameters-spinner advads-spinner"></span>',
25 }],
26 buttons: [{
27 text: ed.getLang( 'advads_shortcode.ok', 'Add shortcode' ),
28 id: 'advads-shortcode-button-insert-wrap',
29
30 onclick: function( e ) {
31 if ( jQuery( '#advads-shortcode-modal-container-body #advads-select-for-shortcode' ).length > 0 ) {
32 var item = jQuery( '#advads-select-for-shortcode option:selected' ).val();
33 if ( item ) {
34 item = item.split( '_' );
35 if ( item.length !== 2 ) {
36 return;
37 }
38 if ( item[0] === "ad" ) {
39 ed.insertContent( '[the_ad id="' + item[1] + '"]' );
40 } else if ( item[0] === "group" ) {
41 ed.insertContent( '[the_ad_group id="' + item[1] + '"]' );
42 } else if ( item[0] === "placement" ) {
43 ed.insertContent( '[the_ad_placement id="' + item[1] + '"]' );
44 }
45 }
46 }
47 ed.windowManager.close();
48 },
49 },
50 {
51 text: ed.getLang( 'advads_shortcode.cancel', 'Cancel' ),
52 onclick: 'close'
53 }],
54
55 });
56
57 append_select_field();
58
59 });
60 },
61 });
62
63 // Register the plugin
64 tinymce.PluginManager.add( 'advads_shortcode', tinymce.plugins.advads_shortcode );
65
66 function append_select_field() {
67 var insert_button_wrap = jQuery( '#advads-shortcode-button-insert-wrap' ),
68 insert_button = jQuery( '#advads-shortcode-button-insert-wrap button' ),
69 container_body = jQuery( '#advads-shortcode-modal-container-body' );
70
71 insert_button_wrap.addClass( 'mce-disabled' );
72 insert_button.prop( 'disabled', true );
73
74 jQuery.ajax({
75 type: 'POST',
76 url: ajaxurl,
77 data: {
78 'action': 'advads_content_for_shortcode_creator'
79 }
80 })
81 .done( function( data, textStatus, jqXHR ) {
82 container_body.html( data );
83
84 jQuery( '#advads-select-for-shortcode' ).on( 'change', function() {
85 if ( jQuery( this ).prop( 'selectedIndex' ) === 0 ) {
86 insert_button_wrap.addClass( 'mce-disabled' );
87 insert_button.prop( 'disabled', true );
88 } else {
89 insert_button_wrap.removeClass( 'mce-disabled' );
90 insert_button.prop( 'disabled', false );
91 }
92 });
93
94 })
95 .fail( function( jqXHR, textStatus, errorThrown ) {
96 container_body.html( errorThrown );
97 });
98 }
99 })();
100