hobo 0.6.4 → 0.7.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/bin/hobo +4 -6
- data/hobo_files/plugin/CHANGES.txt +170 -0
- data/hobo_files/plugin/generators/hobo_front_controller/templates/index.dryml +9 -9
- data/hobo_files/plugin/generators/hobo_front_controller/templates/search.dryml +9 -9
- data/hobo_files/plugin/generators/hobo_migration/hobo_migration_generator.rb +7 -2
- data/hobo_files/plugin/generators/hobo_rapid/hobo_rapid_generator.rb +4 -4
- data/hobo_files/plugin/generators/hobo_rapid/templates/{hobo_rapid.css → hobo-rapid.css} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/{hobo_rapid.js → hobo-rapid.js} +66 -47
- data/hobo_files/plugin/generators/hobo_rapid/templates/lowpro.js +130 -44
- data/hobo_files/plugin/generators/hobo_rapid/templates/{hobo_base.css → reset.css} +0 -5
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/clean/public/images/pencil.png +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/clean/public/images/small_close.png +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/clean/public/stylesheets/application.css +45 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/clean/public/stylesheets/rapid_ui.css +167 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/clean/views/application.dryml +10 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_bodytop.gif → bkg-bodytop.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_corner_01.gif → bkg-corner-01.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_corner_02.gif → bkg-corner-02.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_corner_03.gif → bkg-corner-03.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_corner_04.gif → bkg-corner-04.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_shadow_bottom.gif → bkg-shadow-bottom.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_shadow_left.gif → bkg-shadow-left.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_shadow_right.gif → bkg-shadow-right.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{bkg_shadow_top.gif → bkg-shadow-top.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{header_blue.gif → header-blue.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{header_dblue.gif → header-dblue.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{header_green.gif → header-green.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{header_purple.gif → header-purple.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{header_red.gif → header-red.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{txt_list_img_dblue.gif → txt-list-img-dblue.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{txt_list_img_green.gif → txt-list-img-green.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{txt_list_img_purple.gif → txt-list-img-purple.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{txt_list_img_red.gif → txt-list-img-red.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_corner_01.gif → window-corner-01.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_corner_02.gif → window-corner-02.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_corner_03.gif → window-corner-03.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_corner_04.gif → window-corner-04.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_shadow_bottom.gif → window-shadow-bottom.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_shadow_left.gif → window-shadow-left.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_shadow_right.gif → window-shadow-right.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/{window_shadow_top.gif → window-shadow-top.gif} +0 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/stylesheets/application.css +69 -69
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/views/application.dryml +39 -53
- data/hobo_files/plugin/generators/hobo_user_model/templates/model.rb +1 -1
- data/hobo_files/plugin/lib/extensions.rb +0 -16
- data/hobo_files/plugin/lib/hobo/dryml/part_context.rb +1 -1
- data/hobo_files/plugin/lib/hobo/dryml/tag_parameters.rb +35 -0
- data/hobo_files/plugin/lib/hobo/dryml/taglib.rb +2 -2
- data/hobo_files/plugin/lib/hobo/dryml/template.rb +165 -236
- data/hobo_files/plugin/lib/hobo/dryml/template_environment.rb +158 -123
- data/hobo_files/plugin/lib/hobo/hobo_helper.rb +15 -4
- data/hobo_files/plugin/lib/hobo/model.rb +30 -11
- data/hobo_files/plugin/lib/hobo/model_controller.rb +13 -9
- data/hobo_files/plugin/lib/hobo/model_router.rb +27 -7
- data/hobo_files/plugin/lib/hobo/static_tags +0 -2
- data/hobo_files/plugin/lib/hobo/user.rb +3 -3
- data/hobo_files/plugin/lib/rexml.rb +10 -3
- data/hobo_files/plugin/tags/core.dryml +11 -16
- data/hobo_files/plugin/tags/rapid.dryml +147 -110
- data/hobo_files/plugin/tags/rapid_document_tags.dryml +22 -20
- data/hobo_files/plugin/tags/rapid_editing.dryml +41 -41
- data/hobo_files/plugin/tags/rapid_forms.dryml +51 -49
- data/hobo_files/plugin/tags/rapid_navigation.dryml +34 -34
- data/hobo_files/plugin/tags/rapid_pages.dryml +174 -174
- data/hobo_files/plugin/tags/rapid_plus.dryml +19 -19
- data/hobo_files/plugin/tags/rapid_support.dryml +5 -5
- data/hobo_files/plugin/tasks/dump_fixtures.rake +62 -53
- data/hobo_files/plugin/tasks/fix_dryml.rake +144 -0
- data/hobo_files/plugin/tasks/hobo_tasks.rake +0 -4
- metadata +43 -32
- data/hobo_files/plugin/lib/hobo/dryml/tag_module.rb +0 -9
|
@@ -1,25 +1,16 @@
|
|
|
1
1
|
LowPro = {};
|
|
2
2
|
LowPro.Version = '0.5';
|
|
3
|
+
LowPro.CompatibleWithPrototype = '1.6.0';
|
|
4
|
+
|
|
5
|
+
if (Prototype.Version != LowPro.CompatibleWithPrototype && console && console.warn)
|
|
6
|
+
console.warn("This version of Low Pro is tested with Prototype " + LowPro.CompatibleWithPrototype +
|
|
7
|
+
" it may not work as expected with this version (" + Prototype.Version + ")");
|
|
3
8
|
|
|
4
9
|
if (!Element.addMethods)
|
|
5
10
|
Element.addMethods = function(o) { Object.extend(Element.Methods, o) };
|
|
6
11
|
|
|
7
12
|
// Simple utility methods for working with the DOM
|
|
8
|
-
DOM = {
|
|
9
|
-
prependChild : function(element, node) {
|
|
10
|
-
$(element).insertBefore(node, element.firstChild);
|
|
11
|
-
},
|
|
12
|
-
appendChildren : function(element, children) {
|
|
13
|
-
element = $(element);
|
|
14
|
-
if (!(children instanceof Array))
|
|
15
|
-
children = Array.prototype.slice.call(arguments, 1);
|
|
16
|
-
children.each(function(child) { element.appendChild(child) });
|
|
17
|
-
return children;
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
// Add them to the element mixin
|
|
22
|
-
Element.addMethods(DOM);
|
|
13
|
+
DOM = {};
|
|
23
14
|
|
|
24
15
|
// DOMBuilder for prototype
|
|
25
16
|
DOM.Builder = {
|
|
@@ -80,7 +71,7 @@ DOM.Builder.fromHTML = function(html) {
|
|
|
80
71
|
// Event.onReady(callbackFunction);
|
|
81
72
|
Object.extend(Event, {
|
|
82
73
|
onReady : function(f) {
|
|
83
|
-
document.observe('
|
|
74
|
+
document.observe('dom:loaded', f);
|
|
84
75
|
}
|
|
85
76
|
});
|
|
86
77
|
|
|
@@ -119,7 +110,7 @@ Event.addBehavior = function(rules) {
|
|
|
119
110
|
|
|
120
111
|
Object.extend(Event.addBehavior, {
|
|
121
112
|
rules : {}, cache : [],
|
|
122
|
-
reassignAfterAjax :
|
|
113
|
+
reassignAfterAjax : false,
|
|
123
114
|
autoTrigger : true,
|
|
124
115
|
|
|
125
116
|
load : function(rules) {
|
|
@@ -130,6 +121,7 @@ Object.extend(Event.addBehavior, {
|
|
|
130
121
|
var parts = sel.split(/:(?=[a-z]+$)/), css = parts[0], event = parts[1];
|
|
131
122
|
$$(css).each(function(element) {
|
|
132
123
|
if (event) {
|
|
124
|
+
observer = Event.addBehavior._wrapObserver(observer);
|
|
133
125
|
$(element).observe(event, observer);
|
|
134
126
|
Event.addBehavior.cache.push([element, event, observer]);
|
|
135
127
|
} else {
|
|
@@ -151,6 +143,12 @@ Object.extend(Event.addBehavior, {
|
|
|
151
143
|
Event.stopObserving.apply(Event, c);
|
|
152
144
|
});
|
|
153
145
|
this.cache = [];
|
|
146
|
+
},
|
|
147
|
+
|
|
148
|
+
_wrapObserver: function(observer) {
|
|
149
|
+
return function(event) {
|
|
150
|
+
if (observer.call(this, event) === false) event.stop();
|
|
151
|
+
}
|
|
154
152
|
}
|
|
155
153
|
|
|
156
154
|
});
|
|
@@ -158,7 +156,7 @@ Object.extend(Event.addBehavior, {
|
|
|
158
156
|
Event.observe(window, 'unload', Event.addBehavior.unload.bind(Event.addBehavior));
|
|
159
157
|
|
|
160
158
|
// A silly Prototype style shortcut for the reckless
|
|
161
|
-
$$$ = Event.addBehavior;
|
|
159
|
+
$$$ = Event.addBehavior.bind(Event);
|
|
162
160
|
|
|
163
161
|
// Behaviors can be bound to elements to provide an object orientated way of controlling elements
|
|
164
162
|
// and their behavior. Use Behavior.create() to make a new behavior class then use attach() to
|
|
@@ -186,42 +184,130 @@ $$$ = Event.addBehavior;
|
|
|
186
184
|
//
|
|
187
185
|
// Each behaviour has a collection of all its instances in Behavior.instances
|
|
188
186
|
//
|
|
189
|
-
Behavior = {
|
|
190
|
-
create
|
|
191
|
-
var
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
187
|
+
var Behavior = {
|
|
188
|
+
create: function() {
|
|
189
|
+
var parent = null, properties = $A(arguments);
|
|
190
|
+
if (Object.isFunction(properties[0]))
|
|
191
|
+
parent = properties.shift();
|
|
192
|
+
|
|
193
|
+
var behavior = function() {
|
|
194
|
+
var behavior = arguments.callee;
|
|
195
|
+
if (!this.initialize) {
|
|
196
|
+
var args = $A(arguments);
|
|
197
|
+
|
|
198
|
+
return function() {
|
|
199
|
+
var initArgs = [this].concat(args);
|
|
200
|
+
behavior.attach.apply(behavior, initArgs);
|
|
201
|
+
};
|
|
202
|
+
} else {
|
|
203
|
+
var args = (arguments.length == 2 && arguments[1] instanceof Array) ?
|
|
204
|
+
arguments[1] : Array.prototype.slice.call(arguments, 1);
|
|
205
|
+
|
|
206
|
+
this.element = $(arguments[0]);
|
|
207
|
+
this.initialize.apply(this, args);
|
|
208
|
+
behavior._bindEvents(this);
|
|
209
|
+
behavior.instances.push(this);
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
Object.extend(behavior, Class.Methods);
|
|
214
|
+
Object.extend(behavior, Behavior.Methods);
|
|
215
|
+
behavior.superclass = parent;
|
|
216
|
+
behavior.subclasses = [];
|
|
213
217
|
behavior.instances = [];
|
|
218
|
+
|
|
219
|
+
if (parent) {
|
|
220
|
+
var subclass = function() { };
|
|
221
|
+
subclass.prototype = parent.prototype;
|
|
222
|
+
behavior.prototype = new subclass;
|
|
223
|
+
parent.subclasses.push(behavior);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
for (var i = 0; i < properties.length; i++)
|
|
227
|
+
behavior.addMethods(properties[i]);
|
|
228
|
+
|
|
229
|
+
if (!behavior.prototype.initialize)
|
|
230
|
+
behavior.prototype.initialize = Prototype.emptyFunction;
|
|
231
|
+
|
|
232
|
+
behavior.prototype.constructor = behavior;
|
|
233
|
+
|
|
214
234
|
return behavior;
|
|
215
235
|
},
|
|
216
|
-
|
|
236
|
+
Methods : {
|
|
217
237
|
attach : function(element) {
|
|
218
238
|
return new this(element, Array.prototype.slice.call(arguments, 1));
|
|
219
239
|
},
|
|
220
240
|
_bindEvents : function(bound) {
|
|
221
241
|
for (var member in bound)
|
|
222
242
|
if (member.match(/^on(.+)/) && typeof bound[member] == 'function')
|
|
223
|
-
bound.element.observe(RegExp.$1, bound[member].bindAsEventListener(bound));
|
|
243
|
+
bound.element.observe(RegExp.$1, Event.addBehavior._wrapObserver(bound[member].bindAsEventListener(bound)));
|
|
224
244
|
}
|
|
225
245
|
}
|
|
226
246
|
};
|
|
227
247
|
|
|
248
|
+
Remote = Behavior.create({
|
|
249
|
+
initialize: function(options) {
|
|
250
|
+
if (this.element.nodeName == 'FORM') new Remote.Form(this.element, options);
|
|
251
|
+
else new Remote.Link(this.element, options);
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
|
|
255
|
+
Remote.Base = {
|
|
256
|
+
initialize : function(options) {
|
|
257
|
+
this.options = Object.extend({
|
|
258
|
+
evaluateScripts : true
|
|
259
|
+
}, options || {});
|
|
260
|
+
},
|
|
261
|
+
_makeRequest : function(options) {
|
|
262
|
+
if (options.update) new Ajax.Updater(options.update, options.url, options);
|
|
263
|
+
else new Ajax.Request(options.url, options);
|
|
264
|
+
return false;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
Remote.Link = Behavior.create(Remote.Base, {
|
|
269
|
+
onclick : function() {
|
|
270
|
+
var options = Object.extend({ url : this.element.href, method : 'get' }, this.options);
|
|
271
|
+
return this._makeRequest(options);
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
Remote.Form = Behavior.create(Remote.Base, {
|
|
277
|
+
onclick : function(e) {
|
|
278
|
+
var sourceElement = e.element();
|
|
279
|
+
|
|
280
|
+
if (sourceElement.nodeName.toLowerCase() == 'input' &&
|
|
281
|
+
sourceElement.type == 'submit')
|
|
282
|
+
this._submitButton = sourceElement;
|
|
283
|
+
},
|
|
284
|
+
onsubmit : function() {
|
|
285
|
+
var options = Object.extend({
|
|
286
|
+
url : this.element.action,
|
|
287
|
+
method : this.element.method || 'get',
|
|
288
|
+
parameters : this.element.serialize({ submit: this._submitButton.name })
|
|
289
|
+
}, this.options);
|
|
290
|
+
this._submitButton = null;
|
|
291
|
+
return this._makeRequest(options);
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
|
|
295
|
+
Observed = Behavior.create({
|
|
296
|
+
initialize : function(callback, options) {
|
|
297
|
+
this.callback = callback.bind(this);
|
|
298
|
+
this.options = options || {};
|
|
299
|
+
this.observer = (this.element.nodeName == 'FORM') ? this._observeForm() : this._observeField();
|
|
300
|
+
},
|
|
301
|
+
stop: function() {
|
|
302
|
+
this.observer.stop();
|
|
303
|
+
},
|
|
304
|
+
_observeForm: function() {
|
|
305
|
+
return (this.options.frequency) ? new Form.Observer(this.element, this.options.frequency, this.callback) :
|
|
306
|
+
new Form.EventObserver(this.element, this.callback);
|
|
307
|
+
},
|
|
308
|
+
_observeField: function() {
|
|
309
|
+
return (this.options.frequency) ? new Form.Element.Observer(this.element, this.options.frequency, this.callback) :
|
|
310
|
+
new Form.Element.EventObserver(this.element, this.callback);
|
|
311
|
+
}
|
|
312
|
+
});
|
|
313
|
+
|
|
@@ -29,9 +29,6 @@ body {
|
|
|
29
29
|
color: black;
|
|
30
30
|
background: white;
|
|
31
31
|
}
|
|
32
|
-
ol, ul {
|
|
33
|
-
list-style: none;
|
|
34
|
-
}
|
|
35
32
|
|
|
36
33
|
/* Tables still need 'cellspacing="0"' in the markup. */
|
|
37
34
|
table {
|
|
@@ -63,5 +60,3 @@ h3 { font-size: 18px;}
|
|
|
63
60
|
h4 { font-size: 14px;}
|
|
64
61
|
h5 { font-size: 12px;}
|
|
65
62
|
h6 { font-size: 10px;}
|
|
66
|
-
|
|
67
|
-
ul, ol { list-style: none;}
|
|
Binary file
|
data/hobo_files/plugin/generators/hobo_rapid/templates/themes/clean/public/images/small_close.png
ADDED
|
Binary file
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
html {background: #666;}
|
|
2
|
+
body {
|
|
3
|
+
width: 600px; margin: 0 auto; background: white;
|
|
4
|
+
font: 14px "Lucida Grande", Arial, sans-serif;
|
|
5
|
+
line-height: 21px; padding-bottom: 10px; margin-bottom: 20px;
|
|
6
|
+
}
|
|
7
|
+
h1, h2, h3 {font-family: "Rockwell", "Trebuchet MS", "Arial", sans-serif;}
|
|
8
|
+
h1 {line-height: 54px;}
|
|
9
|
+
h2 {line-height: 42px;}
|
|
10
|
+
h3 {line-height: 27px;}
|
|
11
|
+
|
|
12
|
+
a {
|
|
13
|
+
text-decoration: none; color: black;
|
|
14
|
+
border-bottom: 1px dotted #aaa;
|
|
15
|
+
}
|
|
16
|
+
a:hover {border-bottom: 1px dotted #222;}
|
|
17
|
+
|
|
18
|
+
.content_header, .content_body {margin: 30px;}
|
|
19
|
+
.article { margin: 20px 0; border-top: 1px dotted #ccc;}
|
|
20
|
+
|
|
21
|
+
/***********/
|
|
22
|
+
|
|
23
|
+
.page_header .nav {color: white; padding-bottom: 8px; background: black; overflow: hidden; height: 100%;}
|
|
24
|
+
.page_header .nav li {float: left; padding-right: 20px;}
|
|
25
|
+
.page_header .nav a {border-bottom: 1px solid black; color: white;}
|
|
26
|
+
.page_header .nav a:hover {border-bottom: 1px dotted #ddd;}
|
|
27
|
+
.main_nav {float: right;}
|
|
28
|
+
.main_nav li {line-height: 36px;}
|
|
29
|
+
.main_nav a {
|
|
30
|
+
font: bold 16px "Myriad Pro", Arial, sans-serif;
|
|
31
|
+
}
|
|
32
|
+
.account_nav {
|
|
33
|
+
clear: both; float: right;
|
|
34
|
+
font: normal 12px "Myriad Pro", Arial, sans-serif;
|
|
35
|
+
}
|
|
36
|
+
.account_nav a {font-weight: bold;}
|
|
37
|
+
|
|
38
|
+
/***********/
|
|
39
|
+
|
|
40
|
+
.intro {
|
|
41
|
+
background: #eee; color: #222; padding: 10px 20px;
|
|
42
|
+
}
|
|
43
|
+
.intro h2 {
|
|
44
|
+
font-size: 18px; line-height: 27px;
|
|
45
|
+
}
|
data/hobo_files/plugin/generators/hobo_rapid/templates/themes/clean/public/stylesheets/rapid_ui.css
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
.flash {
|
|
2
|
+
background: #92ab6e;
|
|
3
|
+
padding: 10px;
|
|
4
|
+
margin-top: 5px;
|
|
5
|
+
border-top: 2px solid #829862;
|
|
6
|
+
border-bottom: 2px solid #829862;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
input.text, input.string, input.email_address, input.password, textarea {
|
|
10
|
+
border: 2px solid #444; padding: 1px;
|
|
11
|
+
}
|
|
12
|
+
input.file_upload {
|
|
13
|
+
background: #070707; border: 1px dotted #666;
|
|
14
|
+
color: white;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.button {
|
|
18
|
+
padding: 4px 8px;
|
|
19
|
+
color: white; /* background: #292929; border: 2px solid #444;*/ background: black; border: 1px solid #666;
|
|
20
|
+
font: 12px "Lucida Grande", Arial, sans-serif;
|
|
21
|
+
}
|
|
22
|
+
.button:hover {cursor: pointer;}
|
|
23
|
+
/*.delete_button {
|
|
24
|
+
border: none; background: url(../images/small_close.png) center bottom no-repeat;
|
|
25
|
+
width: 14px; height: 15px;
|
|
26
|
+
margin: 0; padding: 0; margin-left: 5px;
|
|
27
|
+
overflow: hidden; text-indent: -300px;
|
|
28
|
+
}*/
|
|
29
|
+
|
|
30
|
+
.in_place_textfield_bhv, .in_place_textarea_bhv, .in_place_html_textarea_bhv {
|
|
31
|
+
/* background: #070707; border: 1px dotted #666;*/
|
|
32
|
+
padding: 0 3px;
|
|
33
|
+
background-image: url(../images/pencil.png);
|
|
34
|
+
background-position: top right;
|
|
35
|
+
background-repeat: no-repeat;
|
|
36
|
+
}
|
|
37
|
+
.in_place_textfield_bhv {
|
|
38
|
+
padding-right: 20px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.inplaceeditor-form input, .inplaceeditor-form textarea,
|
|
42
|
+
table.new_record textarea, table.new_record input {
|
|
43
|
+
background: #070707; border: 1px dotted #666;
|
|
44
|
+
padding: 3px; color: white; width: 100%;
|
|
45
|
+
}
|
|
46
|
+
.inplaceeditor-form, .inplaceeditor-form input {
|
|
47
|
+
display: inline;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.login-table, .login-table td {border: none;}
|
|
51
|
+
.login_table td.field_label { vertical-align: middle; }
|
|
52
|
+
.login-table tr td {
|
|
53
|
+
padding-bottom: 15px;
|
|
54
|
+
padding-right: 10px;
|
|
55
|
+
}
|
|
56
|
+
#login-form {
|
|
57
|
+
padding-top: 20px;
|
|
58
|
+
}
|
|
59
|
+
#login-form .submit_button {margin-left: 68px;}
|
|
60
|
+
|
|
61
|
+
/**** Admin ****/
|
|
62
|
+
|
|
63
|
+
.admin-banner {
|
|
64
|
+
background: #9d0018; border-top: 2px solid #7a0013; border-bottom: 2px solid #7a0013;
|
|
65
|
+
padding: 2px 0;
|
|
66
|
+
margin: 10px 0;
|
|
67
|
+
}
|
|
68
|
+
.admin-banner p, .admin-banner span {
|
|
69
|
+
font: 12px "Lucida Grande", Arial, sans-serif;
|
|
70
|
+
}
|
|
71
|
+
.admin-banner p, .admin-banner div {margin-bottom: 0;}
|
|
72
|
+
.admin-banner a {color: white; text-decoration: none; padding: 1px 5px; font-weight: bold;}
|
|
73
|
+
.admin-banner a:hover {color: #9d0018; background: white;}
|
|
74
|
+
.admin-banner .logged-in {
|
|
75
|
+
float: right;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* rails error message */
|
|
79
|
+
.error_messages {
|
|
80
|
+
font-family: "Lucida Grande", arial, sans-serif;
|
|
81
|
+
background: #9d0018;
|
|
82
|
+
border: 1px solid #7a0013;
|
|
83
|
+
padding: 15px 30px;
|
|
84
|
+
color: white;
|
|
85
|
+
margin-bottom: 20px;
|
|
86
|
+
}
|
|
87
|
+
.error_messages h2 {
|
|
88
|
+
text-transform: none;
|
|
89
|
+
letter-spacing: normal;
|
|
90
|
+
color: white;
|
|
91
|
+
margin-bottom: 10px;
|
|
92
|
+
}
|
|
93
|
+
.error_messages li {
|
|
94
|
+
margin-left: 20px;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/********* everything below here came from hobo_rapid.css, needs looking at ********/
|
|
98
|
+
|
|
99
|
+
/**** Default styling for Rapid ****/
|
|
100
|
+
|
|
101
|
+
#ajax_progress {
|
|
102
|
+
color: grey;
|
|
103
|
+
float: right;
|
|
104
|
+
margin: 20px;
|
|
105
|
+
position: fixed;
|
|
106
|
+
background: white;
|
|
107
|
+
font-family: Tahoma "sans serif";
|
|
108
|
+
display: none;
|
|
109
|
+
z-index: 10;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
#ajax_progress div {
|
|
113
|
+
border: 1px dashed grey;
|
|
114
|
+
margin: 10px;
|
|
115
|
+
padding: 3px;
|
|
116
|
+
/* padding-top: -15px;*/
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
#ajax_progress img {
|
|
120
|
+
padding-left: 6px;
|
|
121
|
+
vertical-align: middle;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
/* Scriptaculous Autocompleter ---*/
|
|
126
|
+
|
|
127
|
+
div.completions_popup {
|
|
128
|
+
position:absolute;
|
|
129
|
+
width:250px;
|
|
130
|
+
background-color:white;
|
|
131
|
+
border:1px solid #888;
|
|
132
|
+
margin:0px;
|
|
133
|
+
padding:0px;
|
|
134
|
+
}
|
|
135
|
+
div.completions_popup ul {
|
|
136
|
+
list-style-type:none;
|
|
137
|
+
margin:0px;
|
|
138
|
+
padding:0px;
|
|
139
|
+
}
|
|
140
|
+
div.completions_popup ul li.selected { background-color: #ffb;}
|
|
141
|
+
div.completions_popup ul li {
|
|
142
|
+
list-style-type:none;
|
|
143
|
+
display:block;
|
|
144
|
+
margin:0;
|
|
145
|
+
padding:2px;
|
|
146
|
+
cursor:pointer;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
.field_list { width:95%; }
|
|
151
|
+
.field_list td { padding: 5px; vertical-align: middle; }
|
|
152
|
+
.field_list td.field_label {
|
|
153
|
+
text-align: left; width: 1px; white-space: nowrap; vertical-align: top;
|
|
154
|
+
padding-top: 10px; padding-bottom: 10px;
|
|
155
|
+
}
|
|
156
|
+
/*.field_list input[type=text] { width: 100%; }*/
|
|
157
|
+
/*.field_list input, .field_list textarea { margin: -2px 0 0 0; }*/
|
|
158
|
+
.field_list textarea { width: 100%; margin: 0; }
|
|
159
|
+
/*table.login-table input {font-size: 16px; color: black;}*/
|
|
160
|
+
|
|
161
|
+
/*input[type=text].wide { width: 100%; }*/
|
|
162
|
+
textarea { height: 200px; }
|
|
163
|
+
textarea.wide { width: 100%; }
|
|
164
|
+
textarea.tall { height: 350px; }
|
|
165
|
+
|
|
166
|
+
.field_list input.percentage {width: 25px; display: inline; margin-right: 5px; padding: 1px 3px;}
|
|
167
|
+
|