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.
Files changed (59) hide show
  1. data/CHANGELOG +4 -0
  2. data/README.textile +29 -7
  3. data/Rakefile +2 -2
  4. data/VERSION +1 -1
  5. data/lib/app/controllers/rich/._cms_controller.rb +0 -0
  6. data/lib/app/controllers/rich/cms_controller.rb +10 -14
  7. data/lib/app/views/._rich_cms.html.erb +0 -0
  8. data/lib/app/views/rich/cms/_dock.html.erb +8 -0
  9. data/lib/app/views/rich/cms/dock/.__menu.html.erb +0 -0
  10. data/lib/app/views/rich/cms/dock/.__panel.html.erb +0 -0
  11. data/lib/app/views/rich/cms/dock/_menu.html.erb +23 -0
  12. data/lib/app/views/rich/cms/dock/_panel.html.erb +3 -0
  13. data/lib/app/views/rich/cms/dock/panel/.__login.html.erb +0 -0
  14. data/lib/app/views/rich/cms/{bar → dock}/panel/_edit.html.erb +1 -1
  15. data/lib/app/views/rich/cms/{bar → dock}/panel/_login.html.erb +8 -4
  16. data/lib/app/views/rich_cms.html.erb +7 -2
  17. data/lib/assets/jzip/jquery/core.jz +159 -0
  18. data/lib/assets/jzip/jquery/extensions/browser_detect.js +8 -0
  19. data/lib/assets/jzip/jquery/extensions/modules.js +11 -1
  20. data/lib/assets/jzip/jquery/raccoon_tip.js +191 -0
  21. data/lib/assets/jzip/jquery/ui/components/core.js +18 -0
  22. data/lib/assets/jzip/jquery/ui/components/draggable.js +797 -0
  23. data/lib/assets/jzip/jquery/ui/components/mouse.js +151 -0
  24. data/lib/assets/jzip/jquery/ui/components/widget.js +237 -0
  25. data/lib/assets/jzip/jquery/ui/rich_cms/core.jz +5 -0
  26. data/lib/assets/jzip/jquery/ui/rich_cms/draggable.jz +2 -0
  27. data/lib/assets/jzip/jquery/ui/rich_cms/mouse.jz +3 -0
  28. data/lib/assets/jzip/jquery/ui/rich_cms/widget.jz +4 -0
  29. data/lib/assets/jzip/rich/cms/dock.js +61 -0
  30. data/lib/assets/jzip/rich/cms/editor.js +29 -31
  31. data/lib/assets/jzip/rich/cms/menu.js +19 -0
  32. data/lib/assets/jzip/rich/cms.js +19 -0
  33. data/lib/assets/jzip/rich.js +4 -27
  34. data/lib/assets/jzip/rich_cms.jz +7 -2
  35. data/lib/assets/sass/rich_cms/_content.sass +13 -0
  36. data/lib/assets/sass/rich_cms/_dock.sass +44 -0
  37. data/lib/assets/sass/rich_cms/_menu.sass +38 -0
  38. data/lib/assets/sass/rich_cms/_panel.sass +24 -0
  39. data/lib/assets/sass/rich_cms.sass +6 -3
  40. data/lib/assets/sass/tools/_css3.sass +18 -0
  41. data/lib/config/routes.rb +7 -5
  42. data/lib/rich/cms/actionpack/action_controller/._base.rb +0 -0
  43. data/lib/rich/cms/actionpack/action_controller/base.rb +11 -10
  44. data/lib/rich/cms/actionpack/action_view/._base.rb +0 -0
  45. data/lib/rich/cms/actionpack/action_view/base.rb +9 -1
  46. data/lib/rich/cms/content/item.rb +16 -12
  47. data/lib/rich/cms/engine.rb +11 -8
  48. data/lib/rich_cms.rb +3 -1
  49. data/rich_cms.gemspec +39 -19
  50. metadata +43 -19
  51. data/lib/app/views/rich/cms/_bar.html.erb +0 -4
  52. data/lib/app/views/rich/cms/_config.html.erb +0 -5
  53. data/lib/app/views/rich/cms/bar/_menu.html.erb +0 -16
  54. data/lib/app/views/rich/cms/bar/_panel.html.erb +0 -3
  55. data/lib/assets/jzip/jquery/core.js +0 -168
  56. data/lib/assets/jzip/rich/cms/login.js +0 -12
  57. data/lib/assets/sass/_bar.sass +0 -45
  58. data/lib/assets/sass/_editables.sass +0 -6
  59. /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
+ ;