tandem 0.2.0.rc → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/tandem/version.rb +1 -1
- data/vendor/assets/javascripts/tandem/jquery-fileupload/index.js +2 -0
- data/vendor/assets/javascripts/tandem/jquery-fileupload/jquery.fileupload.js +852 -0
- data/vendor/assets/javascripts/tandem/jquery-fileupload/jquery.iframe-transport.js +165 -0
- data/vendor/assets/javascripts/tandem/jquery.colorbox.js +888 -0
- data/vendor/assets/javascripts/tandem/jquery.ui.widget.js +282 -0
- data/vendor/assets/javascripts/tandem/modernizr-2.5.3.min.js +4 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-article.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-aside.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-blockquote.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-command.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-details.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-figcaption.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-figure.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-footer.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-h1.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-h2.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-h3.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-h4.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-h5.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-h6.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-header.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-hgroup.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-mark.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-meter.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-nav.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-p.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-pre.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-progress.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-rp.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-rt.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-ruby.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-section.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-summary.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/lbl-time.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/readme.md +1 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/wymiframe.css +98 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/wymiframe.css.scss +98 -0
- data/vendor/assets/javascripts/tandem/wymeditor/iframe/default/wymiframe.html +26 -0
- data/vendor/assets/javascripts/tandem/wymeditor/jquery.wymeditor.min.js +34 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/bg.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/ca.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/cs.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/cy.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/de.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/en.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/es.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/fa.js +46 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/fi.js +44 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/fr.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/gl.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/he.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/hr.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/hu.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/it.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/ja.js +44 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/lt.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/nb.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/nl.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/nn.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/pl.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/pt-br.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/pt.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/ru.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/sv.js +46 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/tr.js +45 -0
- data/vendor/assets/javascripts/tandem/wymeditor/lang/zh_cn.js +47 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/embed/jquery.wymeditor.embed.js +82 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/fullscreen/icon_fullscreen.gif +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/fullscreen/jquery.wymeditor.fullscreen.js +124 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/hovertools/jquery.wymeditor.hovertools.js +49 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/list/jquery.wymeditor.list.js +60 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/rdfa/jquery.wymeditor.rdfa.js +186 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/resizable/jquery.wymeditor.resizable.js +77 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/resizable/readme.txt +124 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/table/jquery.wymeditor.table.js +721 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/table/table_delete_column.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/table/table_delete_row.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/table/table_insert_column.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/table/table_insert_row.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/table/table_join_row.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/tidy/README +19 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/tidy/jquery.wymeditor.tidy.js +78 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/tidy/tidy.php +58 -0
- data/vendor/assets/javascripts/tandem/wymeditor/plugins/tidy/wand.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/compact/icons.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/compact/skin.css +134 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/compact/skin.js +37 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/default/icons.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/default/skin.css +136 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/default/skin.js +40 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/minimal/images/bg.header.gif +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/minimal/images/bg.selector.silver.gif +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/minimal/images/bg.wymeditor.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/minimal/images/icons.silver.gif +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/minimal/skin.css +131 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/minimal/skin.js +30 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/silver/COPYING +674 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/silver/README +27 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/silver/images/bg.header.gif +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/silver/images/bg.selector.silver.gif +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/silver/images/bg.wymeditor.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/silver/images/icons.silver.gif +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/silver/skin.css +297 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/silver/skin.js +61 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/twopanels/icons.png +0 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/twopanels/skin.css +134 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/twopanels/skin.js +39 -0
- data/vendor/assets/javascripts/tandem/wymeditor/skins/wymeditor_icon.png +0 -0
- metadata +112 -4
Binary file
|
data/vendor/assets/javascripts/tandem/wymeditor/plugins/fullscreen/jquery.wymeditor.fullscreen.js
ADDED
@@ -0,0 +1,124 @@
|
|
1
|
+
/*
|
2
|
+
* WYMeditor : what you see is What You Mean web-based editor
|
3
|
+
* Copyright (c) 2005 - 2009 Jean-Francois Hovinne, http://www.wymeditor.org/
|
4
|
+
* Dual licensed under the MIT (MIT-license.txt)
|
5
|
+
* and GPL (GPL-license.txt) licenses.
|
6
|
+
*
|
7
|
+
* For further information visit:
|
8
|
+
* http://www.wymeditor.org/
|
9
|
+
*
|
10
|
+
* File Name:
|
11
|
+
* jquery.wymeditor.fullscreen.js
|
12
|
+
* Fullscreen plugin for WYMeditor
|
13
|
+
*
|
14
|
+
* File Authors:
|
15
|
+
* Luis Santos (luis.santos a-t openquest dotpt)
|
16
|
+
* Jonatan Lundin (jonatan.lundin a-t gmail dotcom)
|
17
|
+
* Gerd Riesselmann (gerd a-t gyro-php dot org) : Fixed issue with new skin layout
|
18
|
+
*/
|
19
|
+
|
20
|
+
//Extend WYMeditor
|
21
|
+
WYMeditor.editor.prototype.fullscreen = function() {
|
22
|
+
var wym = this,
|
23
|
+
$box = jQuery(this._box),
|
24
|
+
$iframe = jQuery(this._iframe),
|
25
|
+
$overlay = null,
|
26
|
+
$window = jQuery(window),
|
27
|
+
|
28
|
+
editorMargin = 15; // Margin from window (without padding)
|
29
|
+
|
30
|
+
|
31
|
+
//construct the button's html
|
32
|
+
var html = '' +
|
33
|
+
"<li class='wym_tools_fullscreen'>" +
|
34
|
+
"<a name='Fullscreen' href='#' " +
|
35
|
+
"style='background-image: url(" +
|
36
|
+
wym._options.basePath +
|
37
|
+
"plugins/fullscreen/icon_fullscreen.gif)'>" +
|
38
|
+
"Fullscreen" +
|
39
|
+
"</a>" +
|
40
|
+
"</li>";
|
41
|
+
//add the button to the tools box
|
42
|
+
$box.find(wym._options.toolsSelector + wym._options.toolsListSelector)
|
43
|
+
.append(html);
|
44
|
+
|
45
|
+
function resize () {
|
46
|
+
// Calculate margins
|
47
|
+
var uiHeight = $box.outerHeight(true) - $iframe.outerHeight(true);
|
48
|
+
var editorPadding = $box.outerWidth() - $box.width();
|
49
|
+
|
50
|
+
// Calculate heights
|
51
|
+
var screenHeight = $window.height();
|
52
|
+
var iframeHeight = (screenHeight - uiHeight - (editorMargin * 2)) + 'px';
|
53
|
+
|
54
|
+
// Calculate witdths
|
55
|
+
var screenWidth = $window.width();
|
56
|
+
var boxWidth = (screenWidth - editorPadding - (editorMargin * 2)) + 'px';
|
57
|
+
|
58
|
+
$box.css('width', boxWidth);
|
59
|
+
$iframe.css('height', iframeHeight);
|
60
|
+
$overlay.css({
|
61
|
+
'height': screenHeight + 'px',
|
62
|
+
'width': screenWidth + 'px'
|
63
|
+
});
|
64
|
+
}
|
65
|
+
|
66
|
+
//handle click event
|
67
|
+
$box.find('li.wym_tools_fullscreen a').click(function() {
|
68
|
+
if ($box.css('position') != 'fixed') {
|
69
|
+
// Store previous inline styles
|
70
|
+
$box.data('wym-inline-css', $box.attr('style'));
|
71
|
+
$iframe.data('wym-inline-css', $iframe.attr('style'));
|
72
|
+
|
73
|
+
// Create overlay
|
74
|
+
$overlay = jQuery('<div id="wym-fullscreen-overlay"></div>')
|
75
|
+
.appendTo('body').css({
|
76
|
+
'position': 'fixed',
|
77
|
+
'background-color': 'rgb(0, 0, 0)',
|
78
|
+
'opacity': '0.75',
|
79
|
+
'z-index': '98',
|
80
|
+
'top': '0px',
|
81
|
+
'left': '0px'
|
82
|
+
});
|
83
|
+
|
84
|
+
// Possition the editor
|
85
|
+
$box.css({
|
86
|
+
'position': 'fixed',
|
87
|
+
'z-index': '99',
|
88
|
+
'top': editorMargin + 'px',
|
89
|
+
'left': editorMargin + 'px'
|
90
|
+
});
|
91
|
+
|
92
|
+
// Bind event listeners
|
93
|
+
$window.bind('resize', resize);
|
94
|
+
$box.find('li.wym_tools_html a').bind('click', resize);
|
95
|
+
|
96
|
+
// Force resize
|
97
|
+
resize();
|
98
|
+
} else {
|
99
|
+
// Unbind event listeners
|
100
|
+
$window.unbind('resize', resize);
|
101
|
+
$box.find('li.wym_tools_html a').unbind('click', resize);
|
102
|
+
|
103
|
+
// Remove inline styles
|
104
|
+
$box.css({
|
105
|
+
'position': 'static',
|
106
|
+
'z-index': '',
|
107
|
+
'width': '',
|
108
|
+
'top': '',
|
109
|
+
'left': ''
|
110
|
+
});
|
111
|
+
$iframe.css('height', '');
|
112
|
+
|
113
|
+
// Remove overlay
|
114
|
+
$overlay.remove();
|
115
|
+
$overlay = null;
|
116
|
+
|
117
|
+
// Retore previous inline styles
|
118
|
+
$box.attr('style', $box.data('wym-inline-css'));
|
119
|
+
$iframe.attr('style', $iframe.data('wym-inline-css'));
|
120
|
+
}
|
121
|
+
|
122
|
+
return false;
|
123
|
+
});
|
124
|
+
};
|
data/vendor/assets/javascripts/tandem/wymeditor/plugins/hovertools/jquery.wymeditor.hovertools.js
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
/*jslint evil: true */
|
2
|
+
/**
|
3
|
+
WYMeditor.hovertools
|
4
|
+
====================
|
5
|
+
|
6
|
+
A hovertools plugin.
|
7
|
+
*/
|
8
|
+
|
9
|
+
WYMeditor.editor.prototype.hovertools = function() {
|
10
|
+
var wym = this;
|
11
|
+
|
12
|
+
wym.status(' ');
|
13
|
+
|
14
|
+
// Bind events on buttons
|
15
|
+
jQuery(this._box).find(this._options.toolSelector).hover(
|
16
|
+
function() {
|
17
|
+
wym.status(jQuery(this).html());
|
18
|
+
},
|
19
|
+
function() {
|
20
|
+
wym.status(' ');
|
21
|
+
}
|
22
|
+
);
|
23
|
+
|
24
|
+
// Classes: add/remove a style attr to matching elems
|
25
|
+
// while mouseover/mouseout
|
26
|
+
jQuery(this._box).find(this._options.classSelector).hover(
|
27
|
+
function() {
|
28
|
+
var aClasses = eval(wym._options.classesItems);
|
29
|
+
var sName = jQuery(this).attr(WYMeditor.NAME);
|
30
|
+
var oClass = WYMeditor.Helper.findByName(aClasses, sName);
|
31
|
+
|
32
|
+
if (oClass){
|
33
|
+
jqexpr = oClass.expr;
|
34
|
+
// Don't use jQuery.find() on the iframe body
|
35
|
+
// because of MSIE + jQuery + expando issue (#JQ1143)
|
36
|
+
if (!jQuery.browser.msie) {
|
37
|
+
jQuery(wym._doc).find(jqexpr).css('background-color','#cfc');
|
38
|
+
}
|
39
|
+
}
|
40
|
+
},
|
41
|
+
function() {
|
42
|
+
// Don't use jQuery.find() on the iframe body
|
43
|
+
// because of MSIE + jQuery + expando issue (#JQ1143)
|
44
|
+
if (!jQuery.browser.msie) {
|
45
|
+
jQuery(wym._doc).find('*').removeAttr('style');
|
46
|
+
}
|
47
|
+
}
|
48
|
+
);
|
49
|
+
};
|
@@ -0,0 +1,60 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2011 PolicyStat LLC.
|
3
|
+
* MIT licensed (MIT-license.txt)
|
4
|
+
*
|
5
|
+
* This plugin adds the ability to use tab and shift+tab to indent/outdent
|
6
|
+
* lists, mimicking a user's expected behavior when inside an editor.
|
7
|
+
*
|
8
|
+
* @author Wes Winham (winhamwr@gmail.com)
|
9
|
+
*/
|
10
|
+
|
11
|
+
function ListPlugin(options, wym) {
|
12
|
+
this._options = jQuery.extend({}, options);
|
13
|
+
this._wym = wym;
|
14
|
+
|
15
|
+
this.init();
|
16
|
+
}
|
17
|
+
|
18
|
+
ListPlugin.prototype.init = function() {
|
19
|
+
this._wym.listPlugin = this;
|
20
|
+
|
21
|
+
this.bindEvents();
|
22
|
+
};
|
23
|
+
|
24
|
+
ListPlugin.prototype.bindEvents = function() {
|
25
|
+
var listPlugin = this;
|
26
|
+
var wym = this._wym;
|
27
|
+
|
28
|
+
// Bind a key listener so we can handle tabs
|
29
|
+
// With jQuery 1.3, live() can be used to simplify handler logic
|
30
|
+
$(wym._doc).bind('keydown', listPlugin.handleKeyDown);
|
31
|
+
};
|
32
|
+
|
33
|
+
/**
|
34
|
+
* Handle any tab presses when inside list items and indent/outdent.
|
35
|
+
*/
|
36
|
+
ListPlugin.prototype.handleKeyDown = function(evt) {
|
37
|
+
//'this' is the editor._doc
|
38
|
+
var wym = WYMeditor.INSTANCES[this.title];
|
39
|
+
var listPlugin = wym.listPlugin;
|
40
|
+
|
41
|
+
var container = wym.selected();
|
42
|
+
var name = container.tagName.toLowerCase();
|
43
|
+
// We only care about tabs when we're inside a list
|
44
|
+
if (name != "li") {
|
45
|
+
return null;
|
46
|
+
}
|
47
|
+
|
48
|
+
// Handle tab presses
|
49
|
+
if (evt.keyCode == WYMeditor.KEY.TAB) {
|
50
|
+
if (evt.shiftKey) {
|
51
|
+
wym.exec(WYMeditor.OUTDENT);
|
52
|
+
return false; // Short-circuit normal tab behavior
|
53
|
+
} else {
|
54
|
+
wym.exec(WYMeditor.INDENT);
|
55
|
+
return false;
|
56
|
+
}
|
57
|
+
}
|
58
|
+
|
59
|
+
return null;
|
60
|
+
};
|
@@ -0,0 +1,186 @@
|
|
1
|
+
/*
|
2
|
+
* WYMeditor : what you see is What You Mean web-based editor
|
3
|
+
* Copyright (c) 2005 - 2011 Jean-Francois Hovinne, http://www.wymeditor.org/
|
4
|
+
* Dual licensed under the MIT (MIT-license.txt)
|
5
|
+
* and GPL (GPL-license.txt) licenses.
|
6
|
+
*
|
7
|
+
* For further information visit:
|
8
|
+
* http://www.wymeditor.org/
|
9
|
+
*
|
10
|
+
* File Name:
|
11
|
+
* jquery.wymeditor.rdfa.js
|
12
|
+
* RDFa plugin for WYMeditor
|
13
|
+
*
|
14
|
+
* File Authors:
|
15
|
+
* Jean-Francois Hovinne (@jfhovinne)
|
16
|
+
*/
|
17
|
+
|
18
|
+
//Extend WYMeditor
|
19
|
+
WYMeditor.editor.prototype.rdfa = function (options) {
|
20
|
+
var rdfa = new WYMeditor.RDFa(options, this);
|
21
|
+
return rdfa;
|
22
|
+
};
|
23
|
+
|
24
|
+
//RDFa constructor
|
25
|
+
WYMeditor.RDFa = function (options, wym) {
|
26
|
+
options = jQuery.extend({
|
27
|
+
setStdNameSpaces: true,
|
28
|
+
extendXHTMLParser: true,
|
29
|
+
buttons: {}
|
30
|
+
}, options);
|
31
|
+
|
32
|
+
this._options = options;
|
33
|
+
this._wym = wym;
|
34
|
+
this.init();
|
35
|
+
};
|
36
|
+
|
37
|
+
//RDFa plugin init
|
38
|
+
WYMeditor.RDFa.prototype.init = function () {
|
39
|
+
if (this._options.setStdNameSpaces) {
|
40
|
+
this.setStdNameSpaces();
|
41
|
+
}
|
42
|
+
if (this._options.extendXHTMLParser) {
|
43
|
+
this.extendXHTMLParser();
|
44
|
+
}
|
45
|
+
this.setButtons();
|
46
|
+
};
|
47
|
+
|
48
|
+
//Adding the namespaces to the document
|
49
|
+
WYMeditor.RDFa.prototype.setStdNameSpaces = function () {
|
50
|
+
this.addNameSpace('xmlns', 'http://www.w3.org/1999/xhtml');
|
51
|
+
this.addNameSpace('version', 'XHTML+RDFa 1.0');
|
52
|
+
};
|
53
|
+
|
54
|
+
WYMeditor.RDFa.prototype.addNameSpace = function (attr, value) {
|
55
|
+
jQuery('html', this._wym._doc)
|
56
|
+
.attr(attr, value);
|
57
|
+
};
|
58
|
+
|
59
|
+
WYMeditor.RDFa.prototype.extendXHTMLParser = function () {
|
60
|
+
this.extendAttributes();
|
61
|
+
this.setStdVocabularies();
|
62
|
+
this.extendLinkAttributes();
|
63
|
+
};
|
64
|
+
|
65
|
+
WYMeditor.RDFa.prototype.extendAttributes = function () {
|
66
|
+
//Add the RDFa attributes
|
67
|
+
WYMeditor.XhtmlValidator._attributes.core.attributes.push(
|
68
|
+
'rel',
|
69
|
+
'rev',
|
70
|
+
'content',
|
71
|
+
'href',
|
72
|
+
'src',
|
73
|
+
'about',
|
74
|
+
'property',
|
75
|
+
'resource',
|
76
|
+
'datatype',
|
77
|
+
'typeof'
|
78
|
+
);
|
79
|
+
};
|
80
|
+
|
81
|
+
WYMeditor.RDFa.prototype.setStdVocabularies = function () {
|
82
|
+
var _this = this;
|
83
|
+
//Add the 'standard' vocabularies
|
84
|
+
vocabularies = [
|
85
|
+
'xmlns:biblio',
|
86
|
+
'xmlns:cc',
|
87
|
+
'xmlns:dbp',
|
88
|
+
'xmlns:dbr',
|
89
|
+
'xmlns:dc',
|
90
|
+
'xmlns:ex',
|
91
|
+
'xmlns:foaf',
|
92
|
+
'xmlns:rdf',
|
93
|
+
'xmlns:rdfs',
|
94
|
+
'xmlns:taxo',
|
95
|
+
'xmlns:xhv',
|
96
|
+
'xmlns:xsd'
|
97
|
+
];
|
98
|
+
jQuery.each(vocabularies, function (index, vocabulary) {
|
99
|
+
_this.addVocabulary(vocabulary);
|
100
|
+
});
|
101
|
+
};
|
102
|
+
|
103
|
+
WYMeditor.RDFa.prototype.addVocabulary = function (vocabulary) {
|
104
|
+
WYMeditor.XhtmlValidator._attributes.core.attributes.push(vocabulary);
|
105
|
+
};
|
106
|
+
|
107
|
+
WYMeditor.RDFa.prototype.extendLinkAttributes = function () {
|
108
|
+
//Overwrite the <a> attributes 'rel' and 'rev'
|
109
|
+
WYMeditor.XhtmlValidator._tags.a = {
|
110
|
+
"attributes": {
|
111
|
+
"0": "charset",
|
112
|
+
"1": "coords",
|
113
|
+
"2": "href",
|
114
|
+
"3": "hreflang",
|
115
|
+
"4": "name",
|
116
|
+
"5": "rel",
|
117
|
+
"6": "rev",
|
118
|
+
"shape": /^(rect|rectangle|circ|circle|poly|polygon)$/,
|
119
|
+
"7": "type"
|
120
|
+
}
|
121
|
+
};
|
122
|
+
};
|
123
|
+
|
124
|
+
WYMeditor.RDFa.prototype.setButtons = function () {
|
125
|
+
var _this = this,
|
126
|
+
list = jQuery(this._wym._box).find('div.wym_classes ul');
|
127
|
+
jQuery.each(this._options.buttons, function (index, button) {
|
128
|
+
list
|
129
|
+
.append('<li></li>')
|
130
|
+
.children(':last')
|
131
|
+
.append('<a></a>')
|
132
|
+
.children(':last')
|
133
|
+
.attr('href', '#')
|
134
|
+
.text(button.title)
|
135
|
+
.bind('click',
|
136
|
+
{
|
137
|
+
instance: _this._wym,
|
138
|
+
button: button,
|
139
|
+
ns: button.ns,
|
140
|
+
attr: button.attr,
|
141
|
+
value: button.value
|
142
|
+
},
|
143
|
+
_this.clickButtonHandler);
|
144
|
+
});
|
145
|
+
};
|
146
|
+
|
147
|
+
WYMeditor.RDFa.prototype.clickButtonHandler = function (evt) {
|
148
|
+
var wym = evt.data.instance,
|
149
|
+
selected = wym.selected();
|
150
|
+
|
151
|
+
//the attribute already exists, remove it
|
152
|
+
if (typeof jQuery(selected).attr(evt.data.attr) !== 'undefined' &&
|
153
|
+
jQuery(selected).attr(evt.data.attr) !== '') {
|
154
|
+
WYMeditor.console.log(
|
155
|
+
'attribute already exists, remove it:',
|
156
|
+
evt.data.attr,
|
157
|
+
jQuery(selected).attr(evt.data.attr)
|
158
|
+
);
|
159
|
+
jQuery(selected)
|
160
|
+
.removeAttr(evt.data.attr)
|
161
|
+
.removeClass(evt.data.ns)
|
162
|
+
.removeClass(evt.data.attr)
|
163
|
+
.removeClass(evt.data.value);
|
164
|
+
|
165
|
+
//else, add it
|
166
|
+
} else {
|
167
|
+
WYMeditor.console.log('attribute does not exist, add it:', evt.data.attr, evt.data.value);
|
168
|
+
if (evt.data.value) { //value available
|
169
|
+
jQuery(selected)
|
170
|
+
.attr(evt.data.attr, evt.data.ns + ':' + evt.data.value)
|
171
|
+
.addClass(evt.data.ns)
|
172
|
+
.addClass(evt.data.attr)
|
173
|
+
.addClass(evt.data.value);
|
174
|
+
} else { //value not available
|
175
|
+
evt.data.value = prompt('Value', '');
|
176
|
+
if (evt.data.value !== null) {
|
177
|
+
jQuery(selected)
|
178
|
+
.attr(evt.data.attr, evt.data.value)
|
179
|
+
.addClass(evt.data.ns)
|
180
|
+
.addClass(evt.data.attr)
|
181
|
+
.addClass(evt.data.value);
|
182
|
+
}
|
183
|
+
}
|
184
|
+
}
|
185
|
+
return false;
|
186
|
+
};
|
data/vendor/assets/javascripts/tandem/wymeditor/plugins/resizable/jquery.wymeditor.resizable.js
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
/*
|
2
|
+
* WYMeditor : what you see is What You Mean web-based editor
|
3
|
+
* Copyright (c) 2005 - 2009 Jean-Francois Hovinne, http://www.wymeditor.org/
|
4
|
+
* Dual licensed under the MIT (MIT-license.txt)
|
5
|
+
* and GPL (GPL-license.txt) licenses.
|
6
|
+
*
|
7
|
+
* For further information visit:
|
8
|
+
* http://www.wymeditor.org/
|
9
|
+
*
|
10
|
+
* File Name:
|
11
|
+
* jquery.wymeditor.resizable.js
|
12
|
+
* resize plugin for WYMeditor
|
13
|
+
*
|
14
|
+
* File Authors:
|
15
|
+
* Peter Eschler (peschler _at_ gmail.com)
|
16
|
+
* Jean-Francois Hovinne - http://www.hovinne.com/
|
17
|
+
*
|
18
|
+
* Version:
|
19
|
+
* 0.4
|
20
|
+
*
|
21
|
+
* Changelog:
|
22
|
+
*
|
23
|
+
* 0.4
|
24
|
+
* - Removed UI and UI.resizable scripts loading - see #167 (jfh).
|
25
|
+
*
|
26
|
+
* 0.3
|
27
|
+
* - Added 'iframeOriginalSize' and removed 'ui.instance' calls (jfh).
|
28
|
+
*
|
29
|
+
* 0.2
|
30
|
+
* - Added full support for all jQueryUI resizable plugin options.
|
31
|
+
* - Refactored and documented code.
|
32
|
+
* 0.1
|
33
|
+
* - Initial release.
|
34
|
+
*/
|
35
|
+
|
36
|
+
/**
|
37
|
+
* The resizable plugin makes the wymeditor box vertically resizable.
|
38
|
+
* It it based on the ui.resizable.js plugin of the jQuery UI library.
|
39
|
+
*
|
40
|
+
* The WYMeditor resizable plugin supports all parameters of the jQueryUI
|
41
|
+
* resizable plugin. The parameters are passed like this:
|
42
|
+
*
|
43
|
+
* wym.resizable({ handles: "s,e",
|
44
|
+
* maxHeight: 600 });
|
45
|
+
*
|
46
|
+
* DEPENDENCIES: jQuery UI, jQuery UI resizable
|
47
|
+
*
|
48
|
+
* @param options options for the plugin
|
49
|
+
*/
|
50
|
+
WYMeditor.editor.prototype.resizable = function(options) {
|
51
|
+
|
52
|
+
var wym = this;
|
53
|
+
var $iframe = jQuery(wym._box).find('iframe');
|
54
|
+
var $iframe_div = jQuery(wym._box).find('.wym_iframe');
|
55
|
+
var iframeOriginalSize = {};
|
56
|
+
|
57
|
+
// Define some default options
|
58
|
+
var default_options = {
|
59
|
+
resize: function() {
|
60
|
+
$iframe_div.height($iframe.height());
|
61
|
+
},
|
62
|
+
alsoResize: $iframe,
|
63
|
+
handles: "s,e,se",
|
64
|
+
minHeight: 250
|
65
|
+
};
|
66
|
+
|
67
|
+
// Merge given options with default options. Given options override
|
68
|
+
// default ones.
|
69
|
+
var final_options = jQuery.extend(default_options, options);
|
70
|
+
|
71
|
+
if (jQuery.isFunction(jQuery.fn.resizable)) {
|
72
|
+
jQuery(wym._box).resizable(final_options);
|
73
|
+
} else {
|
74
|
+
WYMeditor.console.error('Oops, jQuery UI.resizable unavailable.');
|
75
|
+
}
|
76
|
+
|
77
|
+
};
|