tandem 0.2.0.rc → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
};
|