PluginProbe ʕ •ᴥ•ʔ
VikAppointments Services Booking Calendar / 1.2.21
VikAppointments Services Booking Calendar v1.2.21
1.2.21 1.2.20 trunk 1.2.17 1.2.18 1.2.19
vikappointments / media / js / tinymce-shortcodes.js
vikappointments / media / js Last commit date
admin.js 2 days ago bootstrap.min.js 2 days ago gutenberg-shortcodes.js 2 days ago gutenberg-tools.js 2 days ago gutenberg-widgets.js 2 days ago system.js 2 days ago tinymce-shortcodes.js 2 days ago
tinymce-shortcodes.js
99 lines
1 (function() {
2 tinymce.PluginManager.add('vap-shortcodes', function(editor, url) {
3 // add Button to Visual Editor Toolbar
4 editor.addButton('vap-shortcodes', {
5 title: 'VikAppointments Shortcodes List',
6 cmd: 'vap-shortcodes',
7 icon: 'wp_code'
8 });
9
10 editor.addCommand('vap-shortcodes', function() {
11 openVikAppointmentsShortcodes(editor);
12 });
13
14 });
15 })();
16
17 var shortcodes_editor = null;
18
19 function openVikAppointmentsShortcodes(editor) {
20
21 shortcodes_editor = editor;
22
23 var html = '';
24
25 for (var group in VIKAPPOINTMENTS_SHORTCODES) {
26
27 html += '<div class="shortcodes-block">';
28 html += '<div class="shortcodes-group"><a href="javascript: void(0);" onclick="toggleVikAppointmentsShortcode(this);">' + group + '</a></div>';
29 html += '<div class="shortcodes-container">';
30
31 for (var i = 0; i < VIKAPPOINTMENTS_SHORTCODES[group].length; i++) {
32 var row = VIKAPPOINTMENTS_SHORTCODES[group][i];
33
34 html += '<div class="shortcode-record" onclick="selectVikAppointmentsShortcode(this);" data-code=\'' + row.shortcode + '\'">';
35 html += '<div class="maindetails">' + row.name + '</div>';
36 html += '<div class="subdetails">';
37 html += '<small class="postid">Post ID: ' + row.post_id + '</small>';
38 html += '<small class="createdon">Created On: ' + row.createdon + '</small>';
39 html += '</div>';
40 html += '</div>';
41 }
42
43 html += '</div></div>';
44 }
45
46 jQuery('body').append(
47 '<div id="vap-shortcodes-backdrop" class="vap-tinymce-backdrop"></div>\n'+
48 '<div id="vap-shortcodes-wrap" class="vap-tinymce-modal wp-core-ui has-text-field" role="dialog" aria-labelledby="link-modal-title">\n'+
49 '<form id="vap-shortcodes" tabindex="-1">\n'+
50 '<h1>VikAppointments Shortcodes List</h1>\n'+
51 '<button type="button" onclick="dismissVikAppointmentsShortcodes();" class="vap-tinymce-dismiss"><span class="screen-reader-text">Close</span></button>\n'+
52 '<div class="vap-tinymce-body">' + html + '</div>\n'+
53 '<div class="vap-tinymce-submitbox">\n'+
54 '<div id="vap-tinymce-cancel">\n'+
55 '<button type="button" class="button" onclick="dismissVikAppointmentsShortcodes();">Cancel</button>\n'+
56 '</div>\n'+
57 '<div id="vap-tinymce-update">\n'+
58 '<button type="button" class="button button-primary" disabled onclick="putVikAppointmentsShortcode();">Add</button>\n'+
59 '</div>\n'+
60 '</div>\n'+
61 '</form>\n'+
62 '</div>\n'
63 );
64
65 jQuery('#vap-shortcodes-backdrop').on('click', function() {
66 dismissVikAppointmentsShortcodes();
67 });
68 }
69
70 function dismissVikAppointmentsShortcodes() {
71 jQuery('#vap-shortcodes-backdrop, #vap-shortcodes-wrap').remove();
72 }
73
74 function toggleVikAppointmentsShortcode(link) {
75 var next = jQuery(link).parent().next();
76 var show = next.is(':visible') ? false : true;
77
78 jQuery('.shortcodes-container').slideUp();
79
80 if (show) {
81 next.slideDown();
82 }
83 }
84
85 function selectVikAppointmentsShortcode(record) {
86 jQuery('.shortcode-record').removeClass('selected');
87 jQuery(record).addClass('selected');
88
89 jQuery('#vap-tinymce-update button').prop('disabled', false);
90 }
91
92 function putVikAppointmentsShortcode() {
93 var shortcode = jQuery('.shortcode-record.selected').data('code');
94
95 shortcodes_editor.execCommand('mceReplaceContent', false, shortcode);
96
97 dismissVikAppointmentsShortcodes();
98 }
99