scratch – Blame information for rev 125

Subversion Repositories:
Rev:
Rev Author Line No. Line
58 office 1 /*/* ===========================================================
2 * trumbowyg.insertaudio.js v1.0
3 * InsertAudio plugin for Trumbowyg
4 * http://alex-d.github.com/Trumbowyg
5 * ===========================================================
6 * Author : Adam Hess (AdamHess)
7 */
8  
9 (function ($) {
10 'use strict';
11  
12 var insertAudioOptions = {
13 src: {
14 label: 'URL',
15 required: true
16 },
17 autoplay: {
18 label: 'AutoPlay',
19 required: false,
20 type: 'checkbox'
21 },
22 muted: {
23 label: 'Muted',
24 required: false,
25 type: 'checkbox'
26 },
27 preload: {
28 label: 'preload options',
29 required: false
30 }
31 };
32  
33  
34 $.extend(true, $.trumbowyg, {
35 langs: {
36 en: {
37 insertAudio: 'Insert Audio'
125 office 38 },
39 ja: {
40 insertAudio: '音声の挿入'
58 office 41 }
42 },
43 plugins: {
44 insertAudio: {
45 init: function (trumbowyg) {
46 var btnDef = {
47 fn: function () {
48 var insertAudioCallback = function (v) {
49 // controls should always be show otherwise the audio will
50 // be invisible defeating the point of a wysiwyg
51 var html = '<audio controls';
52 if (v.src) {
53 html += ' src=\'' + v.src + '\'';
54 }
55 if (v.autoplay) {
56 html += ' autoplay';
57 }
58 if (v.muted) {
59 html += ' muted';
60 }
61 if (v.preload) {
62 html += ' preload=\'' + v + '\'';
63 }
64 html += '></audio>';
65 var node = $(html)[0];
66 trumbowyg.range.deleteContents();
67 trumbowyg.range.insertNode(node);
68 return true;
69 };
70  
71 trumbowyg.openModalInsert(trumbowyg.lang.insertAudio, insertAudioOptions, insertAudioCallback);
72 }
73 };
74  
75 trumbowyg.addBtnDef('insertAudio', btnDef);
76 }
77 }
78 }
79 });
80 })(jQuery);