rich_cms 2.0.7 → 2.1.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.
Files changed (89) hide show
  1. data/CHANGELOG +10 -1
  2. data/README.textile +58 -16
  3. data/Rakefile +3 -3
  4. data/VERSION +1 -1
  5. data/{lib/app → app}/controllers/rich/cms_controller.rb +7 -7
  6. data/{lib/app → app}/views/rich/cms/_dock.html.erb +1 -1
  7. data/{lib/app → app}/views/rich/cms/dock/_menu.html.erb +1 -1
  8. data/{lib/app → app}/views/rich/cms/dock/_panel.html.erb +1 -1
  9. data/app/views/rich/cms/dock/panel/_edit.html.erb +1 -0
  10. data/app/views/rich/cms/dock/panel/_login.html.erb +1 -0
  11. data/app/views/rich/cms/dock/panel/edit/_rails3.html.erb +10 -0
  12. data/{lib/app/views/rich/cms/dock/panel/_login.html.erb → app/views/rich/cms/dock/panel/login/_rails2.html.erb} +4 -4
  13. data/app/views/rich/cms/dock/panel/login/_rails3.html.erb +15 -0
  14. data/{lib/app → app}/views/rich_cms.html.erb +1 -1
  15. data/{lib/assets → assets}/jzip/jquery/cleditor.js +14 -14
  16. data/assets/jzip/jquery/extensions/ajaxify.js +26 -0
  17. data/{lib/assets → assets}/jzip/jquery/raccoon_tip.js +22 -22
  18. data/assets/jzip/jquery/ui/components/draggable.js +797 -0
  19. data/assets/jzip/jquery/ui/components/mouse.js +151 -0
  20. data/assets/jzip/jquery/ui/components/widget.js +237 -0
  21. data/{lib/assets → assets}/jzip/rich/cms/dock.js +5 -5
  22. data/{lib/assets → assets}/jzip/rich/cms/editor.js +21 -21
  23. data/{lib/assets → assets}/jzip/rich/cms/menu.js +3 -3
  24. data/{lib/assets → assets}/jzip/rich/cms.js +1 -1
  25. data/{lib/assets → assets}/sass/rich_cms/_dock.sass +2 -2
  26. data/{lib/assets → assets}/sass/rich_cms/_menu.sass +2 -2
  27. data/{lib/assets → assets}/sass/rich_cms/_panel.sass +2 -2
  28. data/{lib/assets → assets}/sass/tools/_mixins.sass +5 -5
  29. data/config/routes.rb +36 -0
  30. data/lib/generators/rich/authlogic_user/authlogic_user_generator.rb +63 -0
  31. data/lib/generators/rich/authlogic_user/templates/migration.rb +25 -0
  32. data/lib/generators/rich/authlogic_user/templates/model.rb +12 -0
  33. data/lib/generators/rich/authlogic_user/templates/session.rb +7 -0
  34. data/lib/generators/rich/cms_content/cms_content_generator.rb +59 -0
  35. data/lib/generators/rich/cms_content/templates/migration.rb +15 -0
  36. data/lib/generators/rich.rb +25 -0
  37. data/lib/rich/cms/actionpack/action_controller/base.rb +8 -8
  38. data/lib/rich/cms/actionpack/action_view/base.rb +14 -14
  39. data/lib/rich/cms/activesupport/active_support/dependencies.rb +12 -0
  40. data/lib/rich/cms/activesupport.rb +1 -0
  41. data/lib/rich/cms/content/group.rb +13 -13
  42. data/lib/rich/cms/content/item.rb +17 -17
  43. data/lib/rich/cms/core/string/html_safe.rb +18 -0
  44. data/lib/rich/cms/core/string.rb +6 -0
  45. data/lib/rich/cms/core.rb +1 -0
  46. data/lib/rich/cms/engine.rb +85 -74
  47. data/lib/rich/cms/rails/engine.rb +5 -0
  48. data/lib/rich/cms/rails.rb +1 -0
  49. data/lib/rich_cms.rb +8 -6
  50. data/rails_generators/rich_authlogic_user/rich_authlogic_user_generator.rb +4 -4
  51. data/rails_generators/rich_authlogic_user/templates/migration.rb +1 -1
  52. data/rails_generators/rich_authlogic_user/templates/model.rb +1 -1
  53. data/rails_generators/rich_authlogic_user/templates/session.rb +4 -0
  54. data/rails_generators/rich_cms_content/rich_cms_content_generator.rb +3 -3
  55. data/rails_generators/rich_cms_content/templates/migration.rb +1 -1
  56. data/rich_cms.gemspec +69 -60
  57. data/test/test_helper.rb +4 -1
  58. metadata +73 -62
  59. data/lib/app/controllers/rich/._cms_controller.rb +0 -0
  60. data/lib/app/views/._rich_cms.html.erb +0 -0
  61. data/lib/app/views/rich/cms/dock/.__menu.html.erb +0 -0
  62. data/lib/app/views/rich/cms/dock/.__panel.html.erb +0 -0
  63. data/lib/app/views/rich/cms/dock/panel/.__login.html.erb +0 -0
  64. data/lib/assets/jzip/jquery/extensions/ajaxify.js +0 -26
  65. data/lib/assets/jzip/jquery/ui/components/draggable.js +0 -797
  66. data/lib/assets/jzip/jquery/ui/components/mouse.js +0 -151
  67. data/lib/assets/jzip/jquery/ui/components/widget.js +0 -237
  68. data/lib/config/routes.rb +0 -19
  69. data/lib/rich/cms/actionpack/action_controller/._base.rb +0 -0
  70. data/lib/rich/cms/actionpack/action_view/._base.rb +0 -0
  71. data/test/engine_test.rb +0 -15
  72. /data/{lib/app/views/rich/cms/dock/panel/_edit.html.erb → app/views/rich/cms/dock/panel/edit/_rails2.html.erb} +0 -0
  73. /data/{lib/assets → assets}/images/cleditor/buttons.gif +0 -0
  74. /data/{lib/assets → assets}/images/cleditor/toolbar.gif +0 -0
  75. /data/{lib/assets → assets}/jzip/jquery/core.jz +0 -0
  76. /data/{lib/assets → assets}/jzip/jquery/extensions/browser_detect.js +0 -0
  77. /data/{lib/assets → assets}/jzip/jquery/extensions/modules.js +0 -0
  78. /data/{lib/assets → assets}/jzip/jquery/extensions/object.js +0 -0
  79. /data/{lib/assets → assets}/jzip/jquery/ui/components/core.js +0 -0
  80. /data/{lib/assets → assets}/jzip/jquery/ui/rich_cms/core.jz +0 -0
  81. /data/{lib/assets → assets}/jzip/jquery/ui/rich_cms/draggable.jz +0 -0
  82. /data/{lib/assets → assets}/jzip/jquery/ui/rich_cms/mouse.jz +0 -0
  83. /data/{lib/assets → assets}/jzip/jquery/ui/rich_cms/widget.jz +0 -0
  84. /data/{lib/assets → assets}/jzip/rich.js +0 -0
  85. /data/{lib/assets → assets}/jzip/rich_cms.jz +0 -0
  86. /data/{lib/assets → assets}/sass/rich_cms/_content.sass +0 -0
  87. /data/{lib/assets → assets}/sass/rich_cms/_reset.sass +0 -0
  88. /data/{lib/assets → assets}/sass/rich_cms.sass +0 -0
  89. /data/{lib/assets → assets}/sass/tools/_css3.sass +0 -0
@@ -1,151 +0,0 @@
1
- /*!
2
- * jQuery UI Mouse 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/Mouse
9
- *
10
- * Depends:
11
- * jquery.ui.widget.js
12
- */
13
- (function( $, undefined ) {
14
-
15
- $.widget("ui.mouse", {
16
- options: {
17
- cancel: ':input,option',
18
- distance: 1,
19
- delay: 0
20
- },
21
- _mouseInit: function() {
22
- var self = this;
23
-
24
- this.element
25
- .bind('mousedown.'+this.widgetName, function(event) {
26
- return self._mouseDown(event);
27
- })
28
- .bind('click.'+this.widgetName, function(event) {
29
- if(self._preventClickEvent) {
30
- self._preventClickEvent = false;
31
- event.stopImmediatePropagation();
32
- return false;
33
- }
34
- });
35
-
36
- this.started = false;
37
- },
38
-
39
- // TODO: make sure destroying one instance of mouse doesn't mess with
40
- // other instances of mouse
41
- _mouseDestroy: function() {
42
- this.element.unbind('.'+this.widgetName);
43
- },
44
-
45
- _mouseDown: function(event) {
46
- // don't let more than one widget handle mouseStart
47
- // TODO: figure out why we have to use originalEvent
48
- event.originalEvent = event.originalEvent || {};
49
- if (event.originalEvent.mouseHandled) { return; }
50
-
51
- // we may have missed mouseup (out of window)
52
- (this._mouseStarted && this._mouseUp(event));
53
-
54
- this._mouseDownEvent = event;
55
-
56
- var self = this,
57
- btnIsLeft = (event.which == 1),
58
- elIsCancel = (typeof this.options.cancel == "string" ? $(event.target).parents().add(event.target).filter(this.options.cancel).length : false);
59
- if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
60
- return true;
61
- }
62
-
63
- this.mouseDelayMet = !this.options.delay;
64
- if (!this.mouseDelayMet) {
65
- this._mouseDelayTimer = setTimeout(function() {
66
- self.mouseDelayMet = true;
67
- }, this.options.delay);
68
- }
69
-
70
- if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
71
- this._mouseStarted = (this._mouseStart(event) !== false);
72
- if (!this._mouseStarted) {
73
- event.preventDefault();
74
- return true;
75
- }
76
- }
77
-
78
- // these delegates are required to keep context
79
- this._mouseMoveDelegate = function(event) {
80
- return self._mouseMove(event);
81
- };
82
- this._mouseUpDelegate = function(event) {
83
- return self._mouseUp(event);
84
- };
85
- $(document)
86
- .bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
87
- .bind('mouseup.'+this.widgetName, this._mouseUpDelegate);
88
-
89
- // preventDefault() is used to prevent the selection of text here -
90
- // however, in Safari, this causes select boxes not to be selectable
91
- // anymore, so this fix is needed
92
- ($.browser.safari || event.preventDefault());
93
-
94
- event.originalEvent.mouseHandled = true;
95
- return true;
96
- },
97
-
98
- _mouseMove: function(event) {
99
- // IE mouseup check - mouseup happened when mouse was out of window
100
- if ($.browser.msie && !event.button) {
101
- return this._mouseUp(event);
102
- }
103
-
104
- if (this._mouseStarted) {
105
- this._mouseDrag(event);
106
- return event.preventDefault();
107
- }
108
-
109
- if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
110
- this._mouseStarted =
111
- (this._mouseStart(this._mouseDownEvent, event) !== false);
112
- (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
113
- }
114
-
115
- return !this._mouseStarted;
116
- },
117
-
118
- _mouseUp: function(event) {
119
- $(document)
120
- .unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
121
- .unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);
122
-
123
- if (this._mouseStarted) {
124
- this._mouseStarted = false;
125
- this._preventClickEvent = (event.target == this._mouseDownEvent.target);
126
- this._mouseStop(event);
127
- }
128
-
129
- return false;
130
- },
131
-
132
- _mouseDistanceMet: function(event) {
133
- return (Math.max(
134
- Math.abs(this._mouseDownEvent.pageX - event.pageX),
135
- Math.abs(this._mouseDownEvent.pageY - event.pageY)
136
- ) >= this.options.distance
137
- );
138
- },
139
-
140
- _mouseDelayMet: function(event) {
141
- return this.mouseDelayMet;
142
- },
143
-
144
- // These are placeholder methods, to be overriden by extending plugin
145
- _mouseStart: function(event) {},
146
- _mouseDrag: function(event) {},
147
- _mouseStop: function(event) {},
148
- _mouseCapture: function(event) { return true; }
149
- });
150
-
151
- })(jQuery);
@@ -1,237 +0,0 @@
1
- /*!
2
- * jQuery UI Widget 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/Widget
9
- */
10
- (function( $, undefined ) {
11
-
12
- var _remove = $.fn.remove;
13
-
14
- $.fn.remove = function( selector, keepData ) {
15
- return this.each(function() {
16
- if ( !keepData ) {
17
- if ( !selector || $.filter( selector, [ this ] ).length ) {
18
- $( "*", this ).add( [ this ] ).each(function() {
19
- $( this ).triggerHandler( "remove" );
20
- });
21
- }
22
- }
23
- return _remove.call( $(this), selector, keepData );
24
- });
25
- };
26
-
27
- $.widget = function( name, base, prototype ) {
28
- var namespace = name.split( "." )[ 0 ],
29
- fullName;
30
- name = name.split( "." )[ 1 ];
31
- fullName = namespace + "-" + name;
32
-
33
- if ( !prototype ) {
34
- prototype = base;
35
- base = $.Widget;
36
- }
37
-
38
- // create selector for plugin
39
- $.expr[ ":" ][ fullName ] = function( elem ) {
40
- return !!$.data( elem, name );
41
- };
42
-
43
- $[ namespace ] = $[ namespace ] || {};
44
- $[ namespace ][ name ] = function( options, element ) {
45
- // allow instantiation without initializing for simple inheritance
46
- if ( arguments.length ) {
47
- this._createWidget( options, element );
48
- }
49
- };
50
-
51
- var basePrototype = new base();
52
- // we need to make the options hash a property directly on the new instance
53
- // otherwise we'll modify the options hash on the prototype that we're
54
- // inheriting from
55
- // $.each( basePrototype, function( key, val ) {
56
- // if ( $.isPlainObject(val) ) {
57
- // basePrototype[ key ] = $.extend( {}, val );
58
- // }
59
- // });
60
- basePrototype.options = $.extend( true, {}, basePrototype.options );
61
- $[ namespace ][ name ].prototype = $.extend( true, basePrototype, {
62
- namespace: namespace,
63
- widgetName: name,
64
- widgetEventPrefix: $[ namespace ][ name ].prototype.widgetEventPrefix || name,
65
- widgetBaseClass: fullName
66
- }, prototype );
67
-
68
- $.widget.bridge( name, $[ namespace ][ name ] );
69
- };
70
-
71
- $.widget.bridge = function( name, object ) {
72
- $.fn[ name ] = function( options ) {
73
- var isMethodCall = typeof options === "string",
74
- args = Array.prototype.slice.call( arguments, 1 ),
75
- returnValue = this;
76
-
77
- // allow multiple hashes to be passed on init
78
- options = !isMethodCall && args.length ?
79
- $.extend.apply( null, [ true, options ].concat(args) ) :
80
- options;
81
-
82
- // prevent calls to internal methods
83
- if ( isMethodCall && options.substring( 0, 1 ) === "_" ) {
84
- return returnValue;
85
- }
86
-
87
- if ( isMethodCall ) {
88
- this.each(function() {
89
- var instance = $.data( this, name ),
90
- methodValue = instance && $.isFunction( instance[options] ) ?
91
- instance[ options ].apply( instance, args ) :
92
- instance;
93
- if ( methodValue !== instance && methodValue !== undefined ) {
94
- returnValue = methodValue;
95
- return false;
96
- }
97
- });
98
- } else {
99
- this.each(function() {
100
- var instance = $.data( this, name );
101
- if ( instance ) {
102
- if ( options ) {
103
- instance.option( options );
104
- }
105
- instance._init();
106
- } else {
107
- $.data( this, name, new object( options, this ) );
108
- }
109
- });
110
- }
111
-
112
- return returnValue;
113
- };
114
- };
115
-
116
- $.Widget = function( options, element ) {
117
- // allow instantiation without initializing for simple inheritance
118
- if ( arguments.length ) {
119
- this._createWidget( options, element );
120
- }
121
- };
122
-
123
- $.Widget.prototype = {
124
- widgetName: "widget",
125
- widgetEventPrefix: "",
126
- options: {
127
- disabled: false
128
- },
129
- _createWidget: function( options, element ) {
130
- // $.widget.bridge stores the plugin instance, but we do it anyway
131
- // so that it's stored even before the _create function runs
132
- $.data( element, this.widgetName, this );
133
- this.element = $( element );
134
- this.options = $.extend( true, {},
135
- this.options,
136
- $.metadata && $.metadata.get( element )[ this.widgetName ],
137
- options );
138
-
139
- var self = this;
140
- this.element.bind( "remove." + this.widgetName, function() {
141
- self.destroy();
142
- });
143
-
144
- this._create();
145
- this._init();
146
- },
147
- _create: function() {},
148
- _init: function() {},
149
-
150
- destroy: function() {
151
- this.element
152
- .unbind( "." + this.widgetName )
153
- .removeData( this.widgetName );
154
- this.widget()
155
- .unbind( "." + this.widgetName )
156
- .removeAttr( "aria-disabled" )
157
- .removeClass(
158
- this.widgetBaseClass + "-disabled " +
159
- "ui-state-disabled" );
160
- },
161
-
162
- widget: function() {
163
- return this.element;
164
- },
165
-
166
- option: function( key, value ) {
167
- var options = key,
168
- self = this;
169
-
170
- if ( arguments.length === 0 ) {
171
- // don't return a reference to the internal hash
172
- return $.extend( {}, self.options );
173
- }
174
-
175
- if (typeof key === "string" ) {
176
- if ( value === undefined ) {
177
- return this.options[ key ];
178
- }
179
- options = {};
180
- options[ key ] = value;
181
- }
182
-
183
- $.each( options, function( key, value ) {
184
- self._setOption( key, value );
185
- });
186
-
187
- return self;
188
- },
189
- _setOption: function( key, value ) {
190
- this.options[ key ] = value;
191
-
192
- if ( key === "disabled" ) {
193
- this.widget()
194
- [ value ? "addClass" : "removeClass"](
195
- this.widgetBaseClass + "-disabled" + " " +
196
- "ui-state-disabled" )
197
- .attr( "aria-disabled", value );
198
- }
199
-
200
- return this;
201
- },
202
-
203
- enable: function() {
204
- return this._setOption( "disabled", false );
205
- },
206
- disable: function() {
207
- return this._setOption( "disabled", true );
208
- },
209
-
210
- _trigger: function( type, event, data ) {
211
- var callback = this.options[ type ];
212
-
213
- event = $.Event( event );
214
- event.type = ( type === this.widgetEventPrefix ?
215
- type :
216
- this.widgetEventPrefix + type ).toLowerCase();
217
- data = data || {};
218
-
219
- // copy original event properties over to the new event
220
- // this would happen if we could call $.event.fix instead of $.Event
221
- // but we don't have a way to force an event to be fixed multiple times
222
- if ( event.originalEvent ) {
223
- for ( var i = $.event.props.length, prop; i; ) {
224
- prop = $.event.props[ --i ];
225
- event[ prop ] = event.originalEvent[ prop ];
226
- }
227
- }
228
-
229
- this.element.trigger( event, data );
230
-
231
- return !( $.isFunction(callback) &&
232
- callback.call( this.element[0], event, data ) === false ||
233
- event.isDefaultPrevented() );
234
- }
235
- };
236
-
237
- })( jQuery );
data/lib/config/routes.rb DELETED
@@ -1,19 +0,0 @@
1
- # TODO: add routes the right way as this is evil
2
- class << ActionController::Routing::Routes;self;end.class_eval do
3
- define_method :clear!, lambda {}
4
- end
5
- # END
6
-
7
- ActionController::Routing::Routes.draw do |map|
8
- map.namespace :rich, :path_prefix => "" do |rich|
9
-
10
- %w(login logout update).each do |action|
11
- rich.send "cms_#{action}", "cms/#{action}", :controller => "cms", :action => action
12
- end
13
-
14
- rich.cms "cms" , :controller => "cms", :action => "display", :display => true
15
- rich.cms_hide "cms/hide" , :controller => "cms", :action => "display", :display => false
16
- rich.connect "cms/position", :controller => "cms", :action => "position"
17
-
18
- end
19
- end
data/test/engine_test.rb DELETED
@@ -1,15 +0,0 @@
1
- require "test_helper"
2
-
3
- module Rich
4
- module Cms
5
- module Test
6
-
7
- class EngineTest < ActiveSupport::TestCase
8
- # test "something" do
9
- # assert true
10
- # end
11
- end
12
-
13
- end
14
- end
15
- end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes