rich_cms 1.0.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +4 -0
- data/README.textile +29 -7
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/lib/app/controllers/rich/._cms_controller.rb +0 -0
- data/lib/app/controllers/rich/cms_controller.rb +10 -14
- data/lib/app/views/._rich_cms.html.erb +0 -0
- data/lib/app/views/rich/cms/_dock.html.erb +8 -0
- data/lib/app/views/rich/cms/dock/.__menu.html.erb +0 -0
- data/lib/app/views/rich/cms/dock/.__panel.html.erb +0 -0
- data/lib/app/views/rich/cms/dock/_menu.html.erb +23 -0
- data/lib/app/views/rich/cms/dock/_panel.html.erb +3 -0
- data/lib/app/views/rich/cms/dock/panel/.__login.html.erb +0 -0
- data/lib/app/views/rich/cms/{bar → dock}/panel/_edit.html.erb +1 -1
- data/lib/app/views/rich/cms/{bar → dock}/panel/_login.html.erb +8 -4
- data/lib/app/views/rich_cms.html.erb +7 -2
- data/lib/assets/jzip/jquery/core.jz +159 -0
- data/lib/assets/jzip/jquery/extensions/browser_detect.js +8 -0
- data/lib/assets/jzip/jquery/extensions/modules.js +11 -1
- data/lib/assets/jzip/jquery/raccoon_tip.js +191 -0
- data/lib/assets/jzip/jquery/ui/components/core.js +18 -0
- data/lib/assets/jzip/jquery/ui/components/draggable.js +797 -0
- data/lib/assets/jzip/jquery/ui/components/mouse.js +151 -0
- data/lib/assets/jzip/jquery/ui/components/widget.js +237 -0
- data/lib/assets/jzip/jquery/ui/rich_cms/core.jz +5 -0
- data/lib/assets/jzip/jquery/ui/rich_cms/draggable.jz +2 -0
- data/lib/assets/jzip/jquery/ui/rich_cms/mouse.jz +3 -0
- data/lib/assets/jzip/jquery/ui/rich_cms/widget.jz +4 -0
- data/lib/assets/jzip/rich/cms/dock.js +61 -0
- data/lib/assets/jzip/rich/cms/editor.js +29 -31
- data/lib/assets/jzip/rich/cms/menu.js +19 -0
- data/lib/assets/jzip/rich/cms.js +19 -0
- data/lib/assets/jzip/rich.js +4 -27
- data/lib/assets/jzip/rich_cms.jz +7 -2
- data/lib/assets/sass/rich_cms/_content.sass +13 -0
- data/lib/assets/sass/rich_cms/_dock.sass +44 -0
- data/lib/assets/sass/rich_cms/_menu.sass +38 -0
- data/lib/assets/sass/rich_cms/_panel.sass +24 -0
- data/lib/assets/sass/rich_cms.sass +6 -3
- data/lib/assets/sass/tools/_css3.sass +18 -0
- data/lib/config/routes.rb +7 -5
- data/lib/rich/cms/actionpack/action_controller/._base.rb +0 -0
- data/lib/rich/cms/actionpack/action_controller/base.rb +11 -10
- data/lib/rich/cms/actionpack/action_view/._base.rb +0 -0
- data/lib/rich/cms/actionpack/action_view/base.rb +9 -1
- data/lib/rich/cms/content/item.rb +16 -12
- data/lib/rich/cms/engine.rb +11 -8
- data/lib/rich_cms.rb +3 -1
- data/rich_cms.gemspec +39 -19
- metadata +43 -19
- data/lib/app/views/rich/cms/_bar.html.erb +0 -4
- data/lib/app/views/rich/cms/_config.html.erb +0 -5
- data/lib/app/views/rich/cms/bar/_menu.html.erb +0 -16
- data/lib/app/views/rich/cms/bar/_panel.html.erb +0 -3
- data/lib/assets/jzip/jquery/core.js +0 -168
- data/lib/assets/jzip/rich/cms/login.js +0 -12
- data/lib/assets/sass/_bar.sass +0 -45
- data/lib/assets/sass/_editables.sass +0 -6
- /data/lib/assets/sass/{_mixins.sass → tools/_mixins.sass} +0 -0
@@ -0,0 +1,191 @@
|
|
1
|
+
if (typeof(RaccoonTip) == "undefined") {
|
2
|
+
|
3
|
+
// *
|
4
|
+
// * RaccoonTip 1.0.3 (Uncompressed)
|
5
|
+
// * A lightweight jQuery based balloon tip library
|
6
|
+
// *
|
7
|
+
// * This library requires jQuery (http://jquery.com)
|
8
|
+
// *
|
9
|
+
// * (c) 2010 Paul Engel (Internetbureau Holder B.V.)
|
10
|
+
// * Except otherwise noted, RaccoonTip is licensed under
|
11
|
+
// * http://creativecommons.org/licenses/by-sa/3.0
|
12
|
+
// *
|
13
|
+
// * $Date: 2010-09-01 23:21:13 +0100 (Wed, 01 September 2010) $
|
14
|
+
// *
|
15
|
+
|
16
|
+
RaccoonTip = (function() {
|
17
|
+
var html = '<div id="raccoon_tip" style="display: none"><div class="rt_tip"></div><div class="rt_content"></div></div>';
|
18
|
+
var css = '<style>#raccoon_tip{*padding:14px;position:absolute;z-index:9999}#raccoon_tip .rt_tip{width:0;font-size:0;line-height:0;position:absolute;filter:chroma(color=pink)}#raccoon_tip.rt_bottom_right{margin-left:-28px;padding-top:14px}#raccoon_tip.rt_bottom_right .rt_tip{top:0;left:14px;border-bottom-width:14px;border-bottom-style:solid;border-bottom-color:#f9e98e;border-right-width:14px;border-right-style:solid;border-right-color:transparent;*border-right-color:pink}#raccoon_tip.rt_bottom_middle{padding-top:14px}#raccoon_tip.rt_bottom_middle .rt_tip{top:0;left:50%;margin-left:-7px;border-bottom-width:14px;border-bottom-style:solid;border-bottom-color:#f9e98e;border-left-width:7px;border-left-style:solid;border-left-color:transparent;*border-left-color:pink;border-right-width:7px;border-right-style:solid;border-right-color:transparent;*border-right-color:pink}#raccoon_tip.rt_bottom_left{margin-left:28px;padding-top:14px}#raccoon_tip.rt_bottom_left .rt_tip{top:0;right:14px;border-bottom-width:14px;border-bottom-style:solid;border-bottom-color:#f9e98e;border-left-width:14px;border-left-style:solid;border-left-color:transparent;*border-left-color:pink}#raccoon_tip.rt_middle_left{margin-left:-7px;padding-right:14px}#raccoon_tip.rt_middle_left .rt_tip{top:50%;right:0;margin-top:-7px;border-left-width:14px;border-left-style:solid;border-left-color:#f9e98e;border-top-width:7px;border-top-style:solid;border-top-color:transparent;*border-top-color:pink;border-bottom-width:7px;border-bottom-style:solid;border-bottom-color:transparent;*border-bottom-color:pink}#raccoon_tip.rt_top_left{margin-left:28px;padding-bottom:14px}#raccoon_tip.rt_top_left .rt_tip{bottom:0;right:14px;border-top-width:14px;border-top-style:solid;border-top-color:#f9e98e;border-left-width:14px;border-left-style:solid;border-left-color:transparent;*border-left-color:pink}#raccoon_tip.rt_top_middle{padding-bottom:14px}#raccoon_tip.rt_top_middle .rt_tip{bottom:0;left:50%;margin-left:-7px;border-top-width:14px;border-top-style:solid;border-top-color:#f9e98e;border-left-width:7px;border-left-style:solid;border-left-color:transparent;*border-left-color:pink;border-right-width:7px;border-right-style:solid;border-right-color:transparent;*border-right-color:pink}#raccoon_tip.rt_top_right{margin-left:-28px;padding-bottom:14px}#raccoon_tip.rt_top_right .rt_tip{bottom:0;left:14px;border-top-width:14px;border-top-style:solid;border-top-color:#f9e98e;border-right-width:14px;border-right-style:solid;border-right-color:transparent;*border-right-color:pink}#raccoon_tip.rt_middle_right{margin-left:7px;padding-left:14px}#raccoon_tip.rt_middle_right .rt_tip{top:50%;left:0;margin-top:-7px;border-right-width:14px;border-right-style:solid;border-right-color:#f9e98e;border-top-width:7px;border-top-style:solid;border-top-color:transparent;*border-top-color:pink;border-bottom-width:7px;border-bottom-style:solid;border-bottom-color:transparent;*border-bottom-color:pink}#raccoon_tip .rt_content{padding:6px 12px 8px 12px;overflow:hidden;background:#fbf7aa;border-width:10px;border-style:solid;border-color:#f9e98e;*border-width:7px;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px}#raccoon_tip .rt_content,#raccoon_tip .rt_content a{color:#a27d35;text-shadow:none}#raccoon_tip .rt_content a{outline:0}</style>';
|
19
|
+
|
20
|
+
var default_options = {event: "click", duration: "fast", position: "bottom_right", beforeShow: function() {}, afterHide: function() {}}, opts = null;
|
21
|
+
var displaying = false, mouseover = false;
|
22
|
+
|
23
|
+
var register = function(target, content, options) {
|
24
|
+
var attachFunction = $.inArray(options.event || default_options.event, ["focus"]) == -1 ? "live" : "bind";
|
25
|
+
$(target)[attachFunction]((options || {}).event || "click", function(event) {
|
26
|
+
event.preventDefault();
|
27
|
+
display(event.target, content, options);
|
28
|
+
});
|
29
|
+
};
|
30
|
+
|
31
|
+
var display = function(target, content, options) {
|
32
|
+
displaying = true;
|
33
|
+
setup();
|
34
|
+
deriveOptions(target, content, options);
|
35
|
+
show();
|
36
|
+
displaying = false;
|
37
|
+
};
|
38
|
+
|
39
|
+
var close = function() {
|
40
|
+
hide();
|
41
|
+
};
|
42
|
+
|
43
|
+
var setup = function() {
|
44
|
+
if (!$("#raccoon_tip").length) {
|
45
|
+
$("body").mouseup(function(event) {
|
46
|
+
if (!displaying && !mouseover) {
|
47
|
+
hide();
|
48
|
+
}
|
49
|
+
});
|
50
|
+
if (!$("head").length) {
|
51
|
+
$(document.body).before("<head></head>");
|
52
|
+
}
|
53
|
+
$(css).prependTo("head");
|
54
|
+
$(html).appendTo("body").find(".rt_content").mouseenter(function() { mouseover = true; }).mouseleave(function() { mouseover = false; });
|
55
|
+
} else {
|
56
|
+
hide();
|
57
|
+
}
|
58
|
+
};
|
59
|
+
|
60
|
+
var deriveOptions = function(__target__, __content__, options) {
|
61
|
+
opts = $.extend({}, default_options, options, {target: $(__target__), content: $(__content__)});
|
62
|
+
};
|
63
|
+
|
64
|
+
var show = function() {
|
65
|
+
beforeShow();
|
66
|
+
setContent();
|
67
|
+
position();
|
68
|
+
$("#raccoon_tip").data("rt_options", opts).show(opts.duration);
|
69
|
+
};
|
70
|
+
|
71
|
+
var beforeShow = function() {
|
72
|
+
var options = opts.beforeShow.apply(opts.target, [opts.content, opts]);
|
73
|
+
if (options) {
|
74
|
+
$.extend(opts, options);
|
75
|
+
}
|
76
|
+
};
|
77
|
+
|
78
|
+
var setContent = function() {
|
79
|
+
opts.content = $(opts.content);
|
80
|
+
if (opts.content.length) {
|
81
|
+
var marker = null;
|
82
|
+
if (opts.content.context) {
|
83
|
+
marker = $("<span class=\".rt_marker\"></span>");
|
84
|
+
opts.content.before(marker);
|
85
|
+
}
|
86
|
+
opts.content.appendTo("#raccoon_tip .rt_content");
|
87
|
+
$("#raccoon_tip").data("rt_marker", marker);
|
88
|
+
} else {
|
89
|
+
$("#raccoon_tip .rt_content").html(opts.content.selector);
|
90
|
+
}
|
91
|
+
};
|
92
|
+
|
93
|
+
var position = function() {
|
94
|
+
var raccoon_tip = $("#raccoon_tip"), position = null, correction = null;
|
95
|
+
|
96
|
+
var calculate = function() {
|
97
|
+
raccoon_tip.attr("class", "rt_" + opts.position);
|
98
|
+
|
99
|
+
position = opts.position.split("_");
|
100
|
+
correction = [null, null];
|
101
|
+
|
102
|
+
switch(position[0]) {
|
103
|
+
case "top":
|
104
|
+
raccoon_tip.css({top: opts.target.offset().top - raccoon_tip.outerHeight() - 7}); break;
|
105
|
+
case "middle":
|
106
|
+
raccoon_tip.css({top: opts.target.offset().top + (opts.target.outerHeight() / 2) - (raccoon_tip.outerHeight() / 2)}); break;
|
107
|
+
case "bottom":
|
108
|
+
raccoon_tip.css({top: opts.target.offset().top + opts.target.outerHeight() + 7}); break;
|
109
|
+
}
|
110
|
+
|
111
|
+
if (parseInt(raccoon_tip.css("top"), 10) < $(window).scrollTop()) {
|
112
|
+
correction[0] = "bottom";
|
113
|
+
}
|
114
|
+
if (parseInt(raccoon_tip.css("top"), 10) + raccoon_tip.outerHeight() > $(window).scrollTop() + $(window).height()) {
|
115
|
+
correction[0] = "top";
|
116
|
+
}
|
117
|
+
|
118
|
+
switch(position[1]) {
|
119
|
+
case "left":
|
120
|
+
raccoon_tip.css({left: opts.target.offset().left - raccoon_tip.outerWidth()}); break;
|
121
|
+
case "middle":
|
122
|
+
raccoon_tip.css({left: opts.target.offset().left + (opts.target.outerWidth() / 2) - (raccoon_tip.outerWidth() / 2)}); break;
|
123
|
+
case "right":
|
124
|
+
raccoon_tip.css({left: opts.target.offset().left + opts.target.outerWidth()}); break;
|
125
|
+
}
|
126
|
+
|
127
|
+
if (parseInt(raccoon_tip.css("left"), 10) < $(window).scrollLeft()) {
|
128
|
+
correction[1] = "right";
|
129
|
+
}
|
130
|
+
if (parseInt(raccoon_tip.css("left"), 10) + raccoon_tip.outerWidth() > $(window).scrollLeft() + $(window).width()) {
|
131
|
+
correction[1] = "left";
|
132
|
+
}
|
133
|
+
};
|
134
|
+
|
135
|
+
calculate();
|
136
|
+
if (correction[0] || correction[1]) {
|
137
|
+
opts.position = [correction[0] || position[0], correction[1] || position[1]].join("_");
|
138
|
+
calculate();
|
139
|
+
}
|
140
|
+
};
|
141
|
+
|
142
|
+
var hide = function() {
|
143
|
+
var options = $("#raccoon_tip").data("rt_options");
|
144
|
+
$("#raccoon_tip").hide(0);
|
145
|
+
options.afterHide.apply(options.target, [options.content, options]);
|
146
|
+
if ($("#raccoon_tip").data("rt_marker")) {
|
147
|
+
$("#raccoon_tip").data("rt_marker").before($("#raccoon_tip .rt_content").children()).remove();
|
148
|
+
}
|
149
|
+
};
|
150
|
+
|
151
|
+
return {
|
152
|
+
version: "1.0.3",
|
153
|
+
init: function() {
|
154
|
+
if (typeof(onRaccoonTipReady) == "function") {
|
155
|
+
onRaccoonTipReady();
|
156
|
+
};
|
157
|
+
},
|
158
|
+
register: register,
|
159
|
+
display : display,
|
160
|
+
close : close
|
161
|
+
};
|
162
|
+
}());
|
163
|
+
|
164
|
+
(function requireMissingLibs() {
|
165
|
+
var missing_libs = [];
|
166
|
+
|
167
|
+
if (typeof(jQuery) == "undefined") {
|
168
|
+
missing_libs.push("core");
|
169
|
+
}
|
170
|
+
|
171
|
+
if (missing_libs.length == 0) {
|
172
|
+
RaccoonTip.init();
|
173
|
+
} else {
|
174
|
+
var id = "rt_dummy_script";
|
175
|
+
document.write('<script id="' + id + '"></script>');
|
176
|
+
|
177
|
+
var dummyScript = document.getElementById(id);
|
178
|
+
var element = dummyScript.previousSibling;
|
179
|
+
while (element && element.tagName.toLowerCase() != "script") {
|
180
|
+
element = element.previousSibling;
|
181
|
+
}
|
182
|
+
dummyScript.parentNode.removeChild(dummyScript);
|
183
|
+
|
184
|
+
var src = element.getAttribute("src").replace(/(development\/)?(\w+)(\-min)?\.js.*$/, "jquery/" + missing_libs.sort().join(".") + ".js");
|
185
|
+
document.write('<script src="' + src + '" type="text/javascript" ' +
|
186
|
+
'onload="RaccoonTip.init()" onreadystatechange="RaccoonTip.init()">' +
|
187
|
+
'</script>');
|
188
|
+
}
|
189
|
+
}());
|
190
|
+
|
191
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
/*!
|
2
|
+
* jQuery UI 1.8.4
|
3
|
+
*
|
4
|
+
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
5
|
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6
|
+
* http://jquery.org/license
|
7
|
+
*
|
8
|
+
* http://docs.jquery.com/UI
|
9
|
+
*/
|
10
|
+
(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.4",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,
|
11
|
+
b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,
|
12
|
+
CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable",
|
13
|
+
"off").css("MozUserSelect","")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none")},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
|
14
|
+
"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"));if(!isNaN(b)&&b!=0)return b}a=a.parent()}}return 0}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=
|
15
|
+
parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c.style(this,h,d(this,f)+"px")})};c.fn["outer"+
|
16
|
+
b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c.style(this,h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==
|
17
|
+
b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}})}})(jQuery);
|
18
|
+
;
|