grandstand 0.2.4 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +1 -1
- data/README.markdown +43 -0
- data/README.txt +0 -0
- data/Rakefile +7 -1
- data/VERSION +1 -1
- data/app/controllers/galleries_controller.rb +2 -2
- data/app/controllers/{admin → grandstand}/galleries_controller.rb +9 -13
- data/app/controllers/{admin → grandstand}/images_controller.rb +6 -9
- data/app/controllers/{admin → grandstand}/main_controller.rb +8 -8
- data/app/controllers/{admin → grandstand}/pages_controller.rb +9 -9
- data/app/controllers/grandstand/posts_controller.rb +64 -0
- data/app/controllers/{admin → grandstand}/sessions_controller.rb +8 -8
- data/app/controllers/grandstand/templates_controller.rb +8 -0
- data/app/controllers/{admin → grandstand}/users_controller.rb +10 -10
- data/app/controllers/posts_controller.rb +1 -1
- data/app/helpers/galleries_helper.rb +2 -0
- data/app/helpers/grandstand/galleries_helper.rb +2 -0
- data/app/helpers/grandstand/images_helpers.rb +2 -0
- data/app/helpers/grandstand/main_helper.rb +74 -0
- data/app/helpers/grandstand/pages_helper.rb +2 -0
- data/app/helpers/grandstand/posts_helper.rb +2 -0
- data/app/helpers/grandstand/sessions_helper.rb +2 -0
- data/app/helpers/grandstand/templates_helper.rb +2 -0
- data/app/helpers/grandstand/users_helper.rb +2 -0
- data/app/models/{gallery.rb → grandstand/gallery.rb} +2 -2
- data/app/models/{image.rb → grandstand/image.rb} +10 -9
- data/app/models/{page.rb → grandstand/page.rb} +1 -1
- data/app/models/grandstand/page_section.rb +6 -0
- data/app/models/{post.rb → grandstand/post.rb} +14 -2
- data/app/models/{template.rb → grandstand/template.rb} +2 -2
- data/app/models/{user.rb → grandstand/user.rb} +1 -1
- data/app/stylesheets/application.less +103 -10
- data/app/stylesheets/global.less +47 -30
- data/app/stylesheets/login.less +1 -1
- data/app/stylesheets/wysiwyg.less +77 -65
- data/app/views/{admin → grandstand}/galleries/_form.html.erb +2 -2
- data/app/views/grandstand/galleries/_gallery.html.erb +16 -0
- data/app/views/grandstand/galleries/_list.html.erb +17 -0
- data/app/views/grandstand/galleries/delete.html.erb +8 -0
- data/app/views/grandstand/galleries/edit.html.erb +8 -0
- data/app/views/grandstand/galleries/editor.html.erb +33 -0
- data/app/views/grandstand/galleries/index.html.erb +14 -0
- data/app/views/grandstand/galleries/new.html.erb +8 -0
- data/app/views/grandstand/galleries/show.html.erb +19 -0
- data/app/views/{admin → grandstand}/images/_form.html.erb +2 -2
- data/app/views/grandstand/images/delete.html.erb +8 -0
- data/app/views/grandstand/images/edit.html.erb +8 -0
- data/app/views/grandstand/images/new.html.erb +8 -0
- data/app/views/grandstand/images/show.html.erb +33 -0
- data/app/views/{admin → grandstand}/images/upload.html.erb +2 -2
- data/app/views/grandstand/main/index.html.erb +10 -0
- data/app/views/{admin → grandstand}/pages/_form.html.erb +2 -2
- data/app/views/grandstand/pages/_left.html.erb +3 -0
- data/app/views/{admin → grandstand}/pages/_row.html.erb +3 -3
- data/app/views/{admin → grandstand}/pages/delete.html.erb +2 -2
- data/app/views/{admin → grandstand}/pages/edit.html.erb +2 -2
- data/app/views/{admin → grandstand}/pages/index.html.erb +1 -1
- data/app/views/{admin → grandstand}/pages/new.html.erb +2 -2
- data/app/views/{admin → grandstand}/pages/show.html.erb +1 -1
- data/app/views/grandstand/posts/_form.html.erb +15 -0
- data/app/views/grandstand/posts/_left.html.erb +3 -0
- data/app/views/grandstand/posts/_list.html.erb +26 -0
- data/app/views/{admin → grandstand}/posts/delete.html.erb +2 -2
- data/app/views/grandstand/posts/edit.html.erb +8 -0
- data/app/views/{admin → grandstand}/posts/index.html.erb +1 -1
- data/app/views/grandstand/posts/new.html.erb +8 -0
- data/app/views/grandstand/posts/preview.html.erb +9 -0
- data/app/views/grandstand/posts/show.html.erb +8 -0
- data/app/views/{admin → grandstand}/sessions/forgot.html.erb +2 -2
- data/app/views/{admin → grandstand}/sessions/show.html.erb +2 -2
- data/app/views/grandstand/shared/_flash.html.erb +3 -0
- data/app/views/{admin → grandstand}/users/_form.html.erb +2 -2
- data/app/views/grandstand/users/_left.html.erb +3 -0
- data/app/views/{admin → grandstand}/users/delete.html.erb +2 -2
- data/app/views/grandstand/users/edit.html.erb +8 -0
- data/app/views/{admin → grandstand}/users/index.html.erb +3 -3
- data/app/views/grandstand/users/new.html.erb +8 -0
- data/app/views/grandstand/users/show.html.erb +12 -0
- data/app/views/layouts/grandstand.html.erb +76 -0
- data/app/views/layouts/grandstand_login.html.erb +17 -0
- data/app/views/layouts/{admin_xhr.html.erb → grandstand_xhr.html.erb} +0 -0
- data/app/views/posts/show.html.erb +2 -2
- data/{lib/grandstand → config}/routes.rb +9 -7
- data/grandstand.gemspec +139 -122
- data/lib/grandstand.rb +50 -19
- data/lib/grandstand/application.rb +27 -35
- data/lib/grandstand/controller.rb +4 -6
- data/lib/grandstand/form_builder.rb +19 -0
- data/lib/grandstand/helper.rb +1 -47
- data/lib/grandstand/session.rb +2 -11
- data/lib/grandstand/stylesheets_controller.rb +14 -0
- data/public/{admin → grandstand}/images/background-input.gif +0 -0
- data/public/{admin → grandstand}/images/background-progress-bar.png +0 -0
- data/public/{admin → grandstand}/images/background-progress-complete.gif +0 -0
- data/public/{admin → grandstand}/images/background-progress.gif +0 -0
- data/public/grandstand/images/galleries-empty.png +0 -0
- data/public/{admin → grandstand}/images/icons/add.png +0 -0
- data/public/{admin → grandstand}/images/icons/collapse.png +0 -0
- data/public/{admin → grandstand}/images/icons/delete.png +0 -0
- data/public/{admin → grandstand}/images/icons/edit.png +0 -0
- data/public/{admin → grandstand}/images/icons/editor/bold.png +0 -0
- data/public/{admin → grandstand}/images/icons/editor/gallery.png +0 -0
- data/public/{admin → grandstand}/images/icons/editor/image-center.png +0 -0
- data/public/{admin → grandstand}/images/icons/editor/image-left.png +0 -0
- data/public/{admin → grandstand}/images/icons/editor/image-right.png +0 -0
- data/public/{admin → grandstand}/images/icons/editor/image.png +0 -0
- data/public/{admin → grandstand}/images/icons/editor/italic.png +0 -0
- data/public/{admin → grandstand}/images/icons/editor/ordered-list.png +0 -0
- data/public/{admin → grandstand}/images/icons/editor/quote.png +0 -0
- data/public/{admin → grandstand}/images/icons/editor/source.png +0 -0
- data/public/{admin → grandstand}/images/icons/editor/strikethrough.png +0 -0
- data/public/{admin → grandstand}/images/icons/editor/underline.png +0 -0
- data/public/{admin → grandstand}/images/icons/editor/unordered-list.png +0 -0
- data/public/{admin → grandstand}/images/icons/error.png +0 -0
- data/public/{admin → grandstand}/images/icons/expand.png +0 -0
- data/public/{admin → grandstand}/images/icons/galleries.png +0 -0
- data/public/{admin → grandstand}/images/icons/gallery.png +0 -0
- data/public/{admin → grandstand}/images/icons/image.png +0 -0
- data/public/{admin → grandstand}/images/icons/okay.png +0 -0
- data/public/{admin → grandstand}/images/icons/pages.png +0 -0
- data/public/{admin → grandstand}/images/icons/posts.png +0 -0
- data/public/grandstand/images/icons/processing.gif +0 -0
- data/public/{admin → grandstand}/images/icons/upload.png +0 -0
- data/public/{admin → grandstand}/images/icons/users.png +0 -0
- data/public/{admin → grandstand}/images/logo.png +0 -0
- data/public/{admin → grandstand}/images/spinner-dark.gif +0 -0
- data/public/{admin → grandstand}/images/uploader.swf +0 -0
- data/public/{admin → grandstand}/javascripts/application.js +139 -54
- data/public/grandstand/javascripts/jquery.js +414 -0
- data/public/{admin → grandstand}/javascripts/mustache.js +0 -0
- data/public/grandstand/javascripts/preview.js +9 -0
- data/public/{admin → grandstand}/javascripts/selection.js +77 -57
- data/public/{admin → grandstand}/javascripts/string.js +7 -6
- data/public/grandstand/javascripts/wysiwyg.js +311 -0
- data/public/{admin → grandstand}/stylesheets/wysiwyg-content.css +15 -2
- metadata +207 -126
- data/README +0 -7
- data/app/controllers/admin/posts_controller.rb +0 -48
- data/app/controllers/admin/templates_controller.rb +0 -6
- data/app/helpers/admin/main_helper.rb +0 -31
- data/app/helpers/admin/pages_helper.rb +0 -2
- data/app/helpers/admin/posts_helper.rb +0 -2
- data/app/helpers/admin/sessions_helper.rb +0 -2
- data/app/helpers/admin/templates_helper.rb +0 -2
- data/app/helpers/admin/users_helper.rb +0 -2
- data/app/models/page_section.rb +0 -6
- data/app/stylesheets/_dialogs.less +0 -85
- data/app/views/admin/galleries/_gallery.html.erb +0 -16
- data/app/views/admin/galleries/_list.html.erb +0 -17
- data/app/views/admin/galleries/delete.html.erb +0 -8
- data/app/views/admin/galleries/edit.html.erb +0 -8
- data/app/views/admin/galleries/editor.html.erb +0 -13
- data/app/views/admin/galleries/editor_with_images.html.erb +0 -19
- data/app/views/admin/galleries/index.html.erb +0 -13
- data/app/views/admin/galleries/new.html.erb +0 -8
- data/app/views/admin/galleries/show.html.erb +0 -15
- data/app/views/admin/images/delete.html.erb +0 -8
- data/app/views/admin/images/edit.html.erb +0 -8
- data/app/views/admin/images/new.html.erb +0 -8
- data/app/views/admin/main/index.html.erb +0 -10
- data/app/views/admin/pages/_left.html.erb +0 -3
- data/app/views/admin/posts/_form.html.erb +0 -29
- data/app/views/admin/posts/_left.html.erb +0 -3
- data/app/views/admin/posts/_list.html.erb +0 -22
- data/app/views/admin/posts/edit.html.erb +0 -10
- data/app/views/admin/posts/new.html.erb +0 -10
- data/app/views/admin/posts/show.html.erb +0 -4
- data/app/views/admin/shared/_flash.html.erb +0 -3
- data/app/views/admin/users/_left.html.erb +0 -3
- data/app/views/admin/users/edit.html.erb +0 -8
- data/app/views/admin/users/new.html.erb +0 -8
- data/app/views/admin/users/show.html.erb +0 -12
- data/app/views/layouts/admin.html.erb +0 -80
- data/app/views/layouts/admin_login.html.erb +0 -17
- data/lib/grandstand/controller/development.rb +0 -15
- data/public/admin/javascripts/jquery.js +0 -404
- data/public/admin/javascripts/wysiwyg.js +0 -335
- data/public/admin/stylesheets/application.css +0 -1
- data/public/admin/stylesheets/global.css +0 -1
- data/public/admin/stylesheets/login.css +0 -1
- data/public/admin/stylesheets/wysiwyg.css +0 -1
@@ -1,335 +0,0 @@
|
|
1
|
-
require('selection');
|
2
|
-
require('mustache');
|
3
|
-
|
4
|
-
jQuery.fn.wysiwyg = function(template, rootSelector) {
|
5
|
-
var editor;
|
6
|
-
this.each(function() {
|
7
|
-
editor = new Editor(this, template, rootSelector);
|
8
|
-
});
|
9
|
-
return editor;
|
10
|
-
};
|
11
|
-
|
12
|
-
var Editor = function(textarea, template, rootSelector) {
|
13
|
-
// Load up mustache
|
14
|
-
this.template = template;
|
15
|
-
// Find the element we should make editable. Defaults to the BODY element
|
16
|
-
// once we've rendered the template.
|
17
|
-
this.rootSelector = rootSelector || 'body';
|
18
|
-
this.textarea = $(textarea);
|
19
|
-
this.container = $('<div class="wysiwyg"></div>');
|
20
|
-
this.toolbar = $('<div class="toolbar"></div>').hide();
|
21
|
-
// this.container.append(this.toolbar);
|
22
|
-
var toolbarItems = [
|
23
|
-
{id: 'bold', alt: 'Make text bold'},
|
24
|
-
{id: 'italic', alt: 'Make text italic'},
|
25
|
-
{id: 'hyperlink', alt: 'Insert a link'},
|
26
|
-
{id: 'unordered_list', alt: 'Insert a bullet list'},
|
27
|
-
{id: 'ordered_list', alt: 'Insert a numbered list'},
|
28
|
-
{id: 'gallery', alt: 'Embed a gallery'},
|
29
|
-
{id: 'image', alt: 'Embed an image'}
|
30
|
-
];
|
31
|
-
var editor = this;
|
32
|
-
// $.each(toolbarItems, function() {
|
33
|
-
// var button = $('<a class="button" rel="' + this.id + '" title="' + this.alt + '"><span class=" icon ' + this.id.replace('_', '-') + '"></span></a>');
|
34
|
-
// button.click(function() {
|
35
|
-
// editor.buttonClick(button);
|
36
|
-
// });
|
37
|
-
// editor.toolbar.append(button);
|
38
|
-
// });
|
39
|
-
this.iframe = $('<iframe frameBorder="0" id="' + textarea.id + '_editor"></iframe>').hide();
|
40
|
-
this.container.height(this.textarea.height() + 6.0);
|
41
|
-
this.textarea.height(this.textarea.height() + 5.0);
|
42
|
-
this.container.append(this.iframe);
|
43
|
-
this.startLoading();
|
44
|
-
this.textarea.after(this.container);
|
45
|
-
this.container.append(this.textarea);
|
46
|
-
$.get('/admin/templates/' + template, function(response) {
|
47
|
-
editor.template = response;
|
48
|
-
editor.initialize();
|
49
|
-
});
|
50
|
-
};
|
51
|
-
|
52
|
-
Editor.prototype = {
|
53
|
-
buttonClick: function(button) {
|
54
|
-
switch(button.attr('rel')) {
|
55
|
-
case 'bold':
|
56
|
-
var selection = this.selection();
|
57
|
-
if (selection.wrappedIn('strong')) {
|
58
|
-
selection.unwrap('strong');
|
59
|
-
} else {
|
60
|
-
selection.wrap('strong');
|
61
|
-
}
|
62
|
-
// this.document.execCommand('bold', false, null);
|
63
|
-
break;
|
64
|
-
case 'italic':
|
65
|
-
break;
|
66
|
-
case 'hyperlink':
|
67
|
-
this.document.execCommand('CreateLink', false, prompt("Please enter an URL:"));
|
68
|
-
break;
|
69
|
-
case 'unordered_list':
|
70
|
-
this.document.execCommand('InsertUnorderedList', false, null);
|
71
|
-
break;
|
72
|
-
case 'ordered_list':
|
73
|
-
this.document.execCommand('InsertOrderedList', false, null);
|
74
|
-
break;
|
75
|
-
case 'gallery':
|
76
|
-
this.dialog('/admin/galleries', function() {
|
77
|
-
|
78
|
-
}, function() {
|
79
|
-
|
80
|
-
});
|
81
|
-
break;
|
82
|
-
case 'image':
|
83
|
-
this.dialog('/admin/galleries?image=yup', function(dialog) {
|
84
|
-
var editor = this;
|
85
|
-
dialog.find('.image').click(function(event) {
|
86
|
-
event.preventDefault();
|
87
|
-
var image = $(this).find('img');
|
88
|
-
image = image.clone();
|
89
|
-
image.addClass('left');
|
90
|
-
editor.closeDialog();
|
91
|
-
var imageWrap = $('<div></div>');
|
92
|
-
imageWrap.append(image);
|
93
|
-
editor.selection().insert(imageWrap.html());
|
94
|
-
});
|
95
|
-
}, function() {
|
96
|
-
|
97
|
-
});
|
98
|
-
break;
|
99
|
-
}
|
100
|
-
},
|
101
|
-
closeDialog: function(block) {
|
102
|
-
var dialogs = this.container.find('.dialog');
|
103
|
-
if (dialogs.length === 0) {
|
104
|
-
if (block) {
|
105
|
-
block.call(this);
|
106
|
-
}
|
107
|
-
} else {
|
108
|
-
var editor = this;
|
109
|
-
dialogs.animate({top: -(dialogs.height())}, 300, function() {
|
110
|
-
$(this).remove();
|
111
|
-
if (block) {
|
112
|
-
block.call(editor);
|
113
|
-
}
|
114
|
-
});
|
115
|
-
}
|
116
|
-
},
|
117
|
-
// Loads up a dialog box using AJAX contents, and animates it in over top of the editor.
|
118
|
-
//
|
119
|
-
// `onLoad` will be called when the contents is loaded, and `this` will be the editor
|
120
|
-
// instance, and the only argument passed will be the dialog DIV. This allows you to
|
121
|
-
// define behavior for the dialog's controls.
|
122
|
-
//
|
123
|
-
// `onSubmit` is called when the user submits the form. `this` will be the editor instance
|
124
|
-
// (like onLoad), and the only argument passed will be an Object corresponding to the form
|
125
|
-
// elements. So a form like:
|
126
|
-
//
|
127
|
-
// "image[caption]=I am an image Caption&image[align]=left" will be:
|
128
|
-
//
|
129
|
-
// {image: {caption: "I am an image", align: "left"}}
|
130
|
-
//
|
131
|
-
dialog: function(url, onLoad, onSubmit) {
|
132
|
-
var editor = this;
|
133
|
-
// Setup a dialog container
|
134
|
-
var dialog = $('<div class="dialog"></div>');
|
135
|
-
// Setup a method to wrap the dialog. If the plugin passes a string, we'll render a
|
136
|
-
// dialog with the contents at that URL. If it passes an object, we'll just append it
|
137
|
-
// to `dialog` and display IT.
|
138
|
-
var processDialog = function() {
|
139
|
-
editor.container.append(dialog.hide());
|
140
|
-
var top = editor.toolbar.outerHeight();
|
141
|
-
dialog.css('height', editor.container.height() - top * 2);
|
142
|
-
if (onLoad && typeof(onLoad) == 'function') {
|
143
|
-
onLoad.call(editor, dialog);
|
144
|
-
}
|
145
|
-
dialog.css('top', -(dialog.height()) + top).show().animate({top: top}, 300);
|
146
|
-
dialog.find('form').submit(function(event) {
|
147
|
-
event.preventDefault();
|
148
|
-
if (onSubmit && typeof(onSubmit) == 'function') {
|
149
|
-
onSubmit.call(editor, $(this).serialize());
|
150
|
-
}
|
151
|
-
});
|
152
|
-
};
|
153
|
-
if (typeof(url) == 'string') {
|
154
|
-
editor.startLoading();
|
155
|
-
$.get(url, function(response) {
|
156
|
-
response = $(response);
|
157
|
-
dialog.append(response);
|
158
|
-
editor.closeDialog(function() {
|
159
|
-
editor.stopLoading();
|
160
|
-
processDialog.call(editor);
|
161
|
-
});
|
162
|
-
});
|
163
|
-
} else {
|
164
|
-
dialog.append(url);
|
165
|
-
editor.closeDialog(processDialog);
|
166
|
-
}
|
167
|
-
},
|
168
|
-
editImage: function(image) {
|
169
|
-
image = $(image);
|
170
|
-
var form = $('<form class="pad"></form>');
|
171
|
-
form.append(image.clone());
|
172
|
-
this.dialog(form, false, function() {
|
173
|
-
alert('okay!');
|
174
|
-
});
|
175
|
-
},
|
176
|
-
focus: function(selector, offset) {
|
177
|
-
var selection = this.selection();
|
178
|
-
selection.select(selector || ':block', offset || 0);
|
179
|
-
},
|
180
|
-
initialize: function() {
|
181
|
-
var editor = this;
|
182
|
-
try {
|
183
|
-
this.window = this.iframe[0].contentWindow;
|
184
|
-
this.document = this.window.document;
|
185
|
-
} catch(exception) {
|
186
|
-
return setTimeout(function(){ editor.initialize(); }, 10);
|
187
|
-
}
|
188
|
-
this.write(this.textarea.val());
|
189
|
-
this.body = this.document.body;
|
190
|
-
// Make sure all data is saved, no matter what.
|
191
|
-
this.textarea.parents('form').submit(function() {
|
192
|
-
editor.save();
|
193
|
-
});
|
194
|
-
this.textarea.hide();
|
195
|
-
this.toolbar.show();
|
196
|
-
this.iframe.height(this.textarea.height() - this.toolbar.height() - 4);
|
197
|
-
this.iframe.show();
|
198
|
-
this.root = $(this.document).find(this.rootSelector);
|
199
|
-
this.root.find('img').live('click', function(event) {
|
200
|
-
event.preventDefault();
|
201
|
-
event.stopPropagation();
|
202
|
-
editor.editImage(this);
|
203
|
-
});
|
204
|
-
$([this.iframe, this.root, this.document.body]).click(function(event) {
|
205
|
-
console.log(event.target);
|
206
|
-
if ($(event.target).childOf(editor.root)) {
|
207
|
-
return;
|
208
|
-
} else {
|
209
|
-
event.preventDefault();
|
210
|
-
editor.closeDialog();
|
211
|
-
editor.focus(':block:last', -1);
|
212
|
-
}
|
213
|
-
});
|
214
|
-
$([this.document, document]).keyup(function(event) {
|
215
|
-
if (event.keyCode == 27) {
|
216
|
-
editor.closeDialog();
|
217
|
-
editor.focus();
|
218
|
-
} else {
|
219
|
-
editor.selection().normalize();
|
220
|
-
}
|
221
|
-
});
|
222
|
-
var pasting;
|
223
|
-
this.root.keyup(function() {
|
224
|
-
clearTimeout(editor.timeout);
|
225
|
-
editor.timeout = setTimeout(function() { editor.save(); }, 100);
|
226
|
-
if (pasting) {
|
227
|
-
var before = $('<div></div>').html(pasting.shift()).html(), after = $('<div></div>').html(pasting.shift()).html();
|
228
|
-
console.log(after);
|
229
|
-
}
|
230
|
-
pasting = false;
|
231
|
-
}).keydown(function(event) {
|
232
|
-
if (event.keyCode == 13) {
|
233
|
-
// If a user hits "Enter", we'll hijack the event and clean it up just a little bit
|
234
|
-
var selection = editor.selection();
|
235
|
-
if (event.shiftKey) {
|
236
|
-
// If the user held shift and pressed enter, split it with a line break
|
237
|
-
selection.insert('<br />', true);
|
238
|
-
} else {
|
239
|
-
// If the selection is inside of a list, let the browser do its magic. In
|
240
|
-
// other words: don't interrupt anything; just leave well enough alone.
|
241
|
-
if (selection.wrappedIn('li, ol, ul')) {
|
242
|
-
return;
|
243
|
-
}
|
244
|
-
// If we're not inside of an li / ol / ul, default behavior is to split the
|
245
|
-
// selected content into two paragraphs, one with the content before the
|
246
|
-
// selection, and another with the content after it.
|
247
|
-
selection.split('p');
|
248
|
-
}
|
249
|
-
|
250
|
-
event.preventDefault();
|
251
|
-
event.stopPropagation();
|
252
|
-
|
253
|
-
} else if (event.keyCode == 86 && (event.metaKey || event.ctrlKey) && !pasting) {
|
254
|
-
// If the user is pasting, we'll prep keyUp for the past event. This means we'll
|
255
|
-
// set the pasting variable to the HTML content before and after the current selection.
|
256
|
-
// Once the content is pasted, we'll parse out WHAT was pasted in, clean it up, and viola!
|
257
|
-
// Better content.
|
258
|
-
pasting = [editor.selection().beforeAll(), editor.selection().afterAll()];
|
259
|
-
}
|
260
|
-
});
|
261
|
-
this.root.attr('contentEditable', 'true').css('outline', '0');
|
262
|
-
// this.document.body.contentEditable = 'true';
|
263
|
-
this.focus();
|
264
|
-
this.stopLoading();
|
265
|
-
},
|
266
|
-
// Called when the editor is loaded up for the first time and off finding dependencies / etc.
|
267
|
-
// Just puts a white cover over the textarea and waits for everything to load before saying,
|
268
|
-
// "okay, now you can edit"
|
269
|
-
startLoading: function() {
|
270
|
-
if (!this.cover) {
|
271
|
-
this.cover = $('<div class="cover"></div>');
|
272
|
-
this.loading = $('<div class="loading"></div>');
|
273
|
-
this.cover.append(this.loading);
|
274
|
-
this.container.append(this.cover);
|
275
|
-
}
|
276
|
-
this.cover.show();
|
277
|
-
},
|
278
|
-
stopLoading: function() {
|
279
|
-
if (this.cover) {
|
280
|
-
var cover = this.cover;
|
281
|
-
setTimeout(function() {
|
282
|
-
cover.fadeOut();
|
283
|
-
}, 100);
|
284
|
-
}
|
285
|
-
},
|
286
|
-
save: function() {
|
287
|
-
var html = this.root.html();
|
288
|
-
|
289
|
-
// Clean that HTML good
|
290
|
-
html = html.replace(/<DIV><BR class="khtml-block-placeholder"><\/DIV>/ig, '<br />');
|
291
|
-
html = html.replace(/<[^> ]*/ig, function(match) {
|
292
|
-
return match.toLowerCase();
|
293
|
-
});
|
294
|
-
html = html.replace(/<[^>]*>/ig, function(match) {
|
295
|
-
match = match.replace(/ [^=]+=/ig, function(match2) {
|
296
|
-
return match2.toLowerCase();
|
297
|
-
});
|
298
|
-
return match;
|
299
|
-
});
|
300
|
-
html = html.replace(/<[^>]*>/ig, function(match) {
|
301
|
-
match = match.replace(/( [^=]+=)([^"][^ >]*)/ig, "$1\"$2\"");
|
302
|
-
return match;
|
303
|
-
});
|
304
|
-
html = html.replace(/^\s+/, "");
|
305
|
-
html = html.replace(/\s+$/, "");
|
306
|
-
html = html.replace(/<br>/ig, "<br />");
|
307
|
-
html = html.replace(/<br \/>\s*<\/(h1|h2|h3|h4|h5|h6|li|p)/ig, "</$1");
|
308
|
-
html = html.replace(/(<img [^>]+[^\/])>/ig, "$1 />");
|
309
|
-
html = html.replace(/(<[^\/]>|<[^\/][^>]*[^\/]>)\s*<\/[^>]*>/ig, "");
|
310
|
-
|
311
|
-
this.textarea.val(html);
|
312
|
-
},
|
313
|
-
selection: function() {
|
314
|
-
return $(this.window).selection(this.rootSelector);
|
315
|
-
},
|
316
|
-
write: function(content) {
|
317
|
-
if (content == '') {
|
318
|
-
content = '<p> </p>';
|
319
|
-
}
|
320
|
-
var rendered = Mustache.to_html(this.template, {body: content});
|
321
|
-
var html = '<html><head><link href="/admin/stylesheets/wysiwyg-content.css" rel="stylesheet" type="text/css" /></head>';
|
322
|
-
html += '<body class="wysiwyg">';
|
323
|
-
html += rendered;
|
324
|
-
html += '</body>';
|
325
|
-
html += '</html>';
|
326
|
-
this.document.open();
|
327
|
-
this.document.write(html);
|
328
|
-
this.document.close();
|
329
|
-
}
|
330
|
-
};
|
331
|
-
|
332
|
-
jQuery.fn.childOf = function(a){
|
333
|
-
a = (typeof a=='string')?$(a):a;
|
334
|
-
return (a.length == 1 && this.length === this.map(function(){if($.inArray(this,a.children())!=-1){return this;}}).length);
|
335
|
-
};
|
@@ -1 +0,0 @@
|
|
1
|
-
#grandstand .styled-toolbar { background-color: #a7a7a7; background-image: -moz-linear-gradient(top, #cacaca, #a7a7a7); background-image: -webkit-gradient(linear, left top, left bottom, from(#cacaca), to(#a7a7a7)); overflow: hidden; padding: 5px;}#grandstand .button-default { background-color: #ececec; background-image: -moz-linear-gradient(top, #f4f4f4, #ececec); background-image: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); border: 1px solid #d4d4d4; color: #333333; cursor: pointer; display: inline-block; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0; overflow: hidden; padding: 4px 10px; text-decoration: none; text-shadow: #ffffff 0 1px 0; vertical-align: baseline; vertical-align: middle; -moz-border-radius: 2px; -webkit-border-radius: 2px;}#grandstand .button-hover { background-color: #3072b3; background-image: -moz-linear-gradient(top, #599bdc, #3072b3); background-image: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3)); border-color: #518cc6; border-bottom-color: #2a65a0; color: #ffffff; text-shadow: rgba(0, 0, 0, 0.4) 0 -1px 0;}#grandstand .button-active { background-color: #599bdc; background-image: -moz-linear-gradient(top, #3072b3, #599bdc); background-image: -webkit-gradient(linear, left top, left bottom, from(#3072b3), to(#599bdc)); border-bottom-color: #518cc6; border-top-color: #2a65a0; -moz-box-shadow: inset rgba(0, 0, 0, 0.2) 0 0 1px; -webkit-box-shadow: inset rgba(0, 0, 0, 0.2) 0 0 1px;}#grandstand .button-grey { background-color: #333333; background-image: -moz-linear-gradient(top, #333333, #444444); background-image: -webkit-gradient(linear, left top, left bottom, from(#444444), to(#333333)); border-color: #000000; color: #ffffff; text-shadow: #000000 0 -1px 0;}#grandstand .button-grey-hover { background-color: #444444; background-image: -moz-linear-gradient(top, #333333, #444444); background-image: -webkit-gradient(linear, left top, left bottom, from(#333333), to(#444444));}#grandstand .button-grey-active { -moz-box-shadow: inset #000000 0 0px 1px; -webkit-box-shadow: inset #000000 0 0px 1px;}body { overflow: hidden; }#header { background-color: #eeeeee; background-image: -moz-linear-gradient(top, #eeeeee, #dddddd); background-image: -webkit-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd)); border-bottom: 1px solid #eeeeee; border-top: 1px solid #ffffff; height: 32px; left: 0; padding: 0 10px; position: absolute; width: 100%; z-index: 2; box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-shadow: #111111 0 2px 2px; -webkit-box-shadow: #999999 0 1px 2px;}#header .float-right { line-height: 30px; }#header .float-right a { color: #000000; display: inline-block; padding: 0 7px;}#header .float-right a:hover { background-color: rgba(255, 255, 255, 0.3); text-decoration: underline;}#logo { display: inline-block; padding-top: 0;}#content { height: 100%; overflow: hidden; padding: 31px 0 0 0; position: absolute; width: 100%; box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -webkit-box-sizing: border-box;}#left { left: 20px; position: absolute; top: 51px; width: 150px;}#left .button { display: block; margin-bottom: 10px;}#left ul { background-color: #ececec; background-image: -moz-linear-gradient(top, #f4f4f4, #ececec); background-image: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); list-style-type: none; margin: 0; padding: 0; -moz-border-radius: 2px; -webkit-border-radius: 2px;}#left ul li.first > a { border-top-color: #d4d4d4; -webkit-border-top-left-radius: 2px;}#left ul li.first a.expand { -webkit-border-top-left-radius: 0; -webkit-border-top-right-radius: 2px;}#left ul li { margin: 0; padding: 0;}#left ul li a { background-color: #ececec; background-image: -moz-linear-gradient(top, #f4f4f4, #ececec); background-image: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); border: 1px solid #d4d4d4; color: #333333; cursor: pointer; display: inline-block; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0; overflow: hidden; padding: 4px 10px; text-decoration: none; text-shadow: #ffffff 0 1px 0; vertical-align: baseline; vertical-align: middle; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-top-color: #f4f4f4; display: block; padding: 5px; -moz-border-radius: 0; -webkit-border-radius: 0;}#left ul li a:hover { background-color: #3072b3; background-image: -moz-linear-gradient(top, #599bdc, #3072b3); background-image: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3)); border-color: #518cc6; border-bottom-color: #2a65a0; color: #ffffff; text-shadow: rgba(0, 0, 0, 0.4) 0 -1px 0;}#left ul li a:active { background-color: #599bdc; background-image: -moz-linear-gradient(top, #3072b3, #599bdc); background-image: -webkit-gradient(linear, left top, left bottom, from(#3072b3), to(#599bdc)); border-bottom-color: #518cc6; border-top-color: #2a65a0; -moz-box-shadow: inset rgba(0, 0, 0, 0.2) 0 0 1px; -webkit-box-shadow: inset rgba(0, 0, 0, 0.2) 0 0 1px;}#left ul li a.expand { float: right; margin-right: 0; height: 26px; line-height: 26px; padding: 0; width: 15px;}#left ul li a.expand span { background: url(../images/icons/expand.png) center bottom no-repeat; display: block; height: 16px; margin-top: 4px; width: 16px;}#left ul li ul { display: none; }#left ul li ul li a { font-size: 10px; padding-left: 20px;}#left ul li.expandable > a { border-right-width: 0; }#left ul li.expandable > a.expand { border-right-width: 1px; }#left ul li.last a { -webkit-border-bottom-left-radius: 2px; -webkit-border-bottom-right-radius: 2px;}#left ul li.expanded a.expand span { background-image: url(../images/icons/collapse.png); }#left ul li.expanded ul { display: block; }#main { height: 100%; padding: 20px 20px 20px 190px; overflow-x: hidden; overflow-y: auto; box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -webkit-box-sizing: border-box;}#cover { background-color: #000000; height: 100%; left: 0; opacity: 0.6; position: fixed; top: 0; width: 100%; z-index: 2;}#pulldown { left: 50%; margin-left: -200px; position: fixed; top: 0; width: 400px; z-index: 3;}#pulldown h2 { background: #fafafa; border-bottom: 1px solid #dddddd; color: #555555; font-size: 10pt; margin-bottom: 0; padding: 5px; text-shadow: #ffffff 0 1px 0;}#pulldown form { border-top: 1px solid #ffffff; margin: 0;}#pulldown form .field { background: #f0f0f0; padding: 10px;}#pulldown .toolbar { background-color: #a7a7a7; background-image: -moz-linear-gradient(top, #cacaca, #a7a7a7); background-image: -webkit-gradient(linear, left top, left bottom, from(#cacaca), to(#a7a7a7)); overflow: hidden; padding: 5px; border-top: 1px solid #888888; text-align: right; -moz-border-radius-bottomleft: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-left-radius: 5px; -webkit-border-bottom-right-radius: 5px;}#pulldown .toolbar .button { border-color: #888888; }
|
@@ -1 +0,0 @@
|
|
1
|
-
#grandstand .styled-toolbar { background-color: #a7a7a7; background-image: -moz-linear-gradient(top, #cacaca, #a7a7a7); background-image: -webkit-gradient(linear, left top, left bottom, from(#cacaca), to(#a7a7a7)); overflow: hidden; padding: 5px;}#grandstand .button-default { background-color: #ececec; background-image: -moz-linear-gradient(top, #f4f4f4, #ececec); background-image: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); border: 1px solid #d4d4d4; color: #333333; cursor: pointer; display: inline-block; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0; overflow: hidden; padding: 4px 10px; text-decoration: none; text-shadow: #ffffff 0 1px 0; vertical-align: baseline; vertical-align: middle; -moz-border-radius: 2px; -webkit-border-radius: 2px;}#grandstand .button-hover { background-color: #3072b3; background-image: -moz-linear-gradient(top, #599bdc, #3072b3); background-image: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3)); border-color: #518cc6; border-bottom-color: #2a65a0; color: #ffffff; text-shadow: rgba(0, 0, 0, 0.4) 0 -1px 0;}#grandstand .button-active { background-color: #599bdc; background-image: -moz-linear-gradient(top, #3072b3, #599bdc); background-image: -webkit-gradient(linear, left top, left bottom, from(#3072b3), to(#599bdc)); border-bottom-color: #518cc6; border-top-color: #2a65a0; -moz-box-shadow: inset rgba(0, 0, 0, 0.2) 0 0 1px; -webkit-box-shadow: inset rgba(0, 0, 0, 0.2) 0 0 1px;}#grandstand .button-grey { background-color: #333333; background-image: -moz-linear-gradient(top, #333333, #444444); background-image: -webkit-gradient(linear, left top, left bottom, from(#444444), to(#333333)); border-color: #000000; color: #ffffff; text-shadow: #000000 0 -1px 0;}#grandstand .button-grey-hover { background-color: #444444; background-image: -moz-linear-gradient(top, #333333, #444444); background-image: -webkit-gradient(linear, left top, left bottom, from(#333333), to(#444444));}#grandstand .button-grey-active { -moz-box-shadow: inset #000000 0 0px 1px; -webkit-box-shadow: inset #000000 0 0px 1px;}body, html { min-height: 100%; }body.admin { background-color: #ffffff; background-image: -moz-linear-gradient(top, #ffffff, #eeeeee); background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#eeeeee)); font: 12px Arial, sans-serif; margin: 0; padding: 0;}.admin a { cursor: pointer; text-decoration: none;}.admin a img { border-width: 0; }.admin form label { color: #666666; display: block; font: bold 12px Arial; margin-bottom: 3px;}.admin form .field { margin: 0; padding: 10px 5px;}.admin h1 { font-family: 'Calibiri', 'Helvetica Neue', Helvetica, Arial, sans-serif; }.admin h1 .button { margin-left: 10px; vertical-align: center;}.admin h2 { font-family: 'Calibiri', 'Helvetica Neue', Helvetica, Arial, sans-serif; }.admin h2 .button { margin-left: 10px; vertical-align: center;}.admin h1 { margin: 0 0 10px 0; font-size: 16pt;}.admin h2 { margin: 0 0 5px 0; font-size: 14pt;}.admin table { border-collapse: collapse; border-spacing: 0; width: 100%;}.admin table tbody { width: 100%; }.admin table tr { width: 100%; }.admin select.error { border: 1px solid #ff0000; }.admin select.multiple { min-height: 55px; min-width: 150px;}.admin select.small { width: 50px; }.admin textarea.small { height: 32px; width: 180px;}.admin textarea.wysiwyg { display: block; height: 400px; width: 100%;}.admin textarea.error { border: 1px solid #ff0000 !important; }.admin input.error { border: 1px solid #ff0000 !important; }.admin tr.item { background-color: #ffffff; }.admin tr.item.odd { background-color: #edf3fe; }.admin tr.item td { padding: 5px; }.admin tr.item td.icon { background-position: 5px 2px; padding-left: 25px;}.admin .container { float: left; margin: 0 0 10px 10px; padding: 0 !important; width: 220px;}.admin .container.gallery img { display: none; }.admin .container.gallery a img { display: block; padding: 10px;}.admin .container.image img { display: block; padding: 10px;}.admin .container:hover { background-color: #ececec; }.admin .dropdown { -moz-border-radius-bottomleft: 5px; -moz-border-radius-bottomright: 5px; -moz-box-shadow: #444444 0 2px 2px; -webkit-border-bottom-left-radius: 5px; -webkit-border-bottom-right-radius: 5px; -webkit-box-shadow: #444444 0 2px 2px;}.admin .grid { border-collapse: collapse; border: 1px solid #aaaaaa;}.admin .grid thead th { background: #eeeeee; padding: 5px; text-align: left;}.admin .grid tbody tr.row td { border-top: 1px solid #aaaaaa; padding: 5px;}.admin .grid tbody tr.row td.actions { text-align: right; }.admin .grid tbody tr.one { background-color: #ffffff; }.admin .grid tbody tr.two { background-color: #edf3fe; }.admin .grey { color: #666666; }.admin .header { background-color: #a7a7a7; background-image: -moz-linear-gradient(top, #cacaca, #a7a7a7); background-image: -webkit-gradient(linear, left top, left bottom, from(#cacaca), to(#a7a7a7)); border-bottom: 1px solid #888888; overflow: hidden; padding: 5px; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px; -webkit-border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px;}.admin .header .float-left { cursor: move; font-weight: bold;}.admin .button { background-color: #ececec; background-image: -moz-linear-gradient(top, #f4f4f4, #ececec); background-image: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); border: 1px solid #d4d4d4; color: #333333; cursor: pointer; display: inline-block; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0; overflow: hidden; padding: 4px 10px; text-decoration: none; text-shadow: #ffffff 0 1px 0; vertical-align: baseline; vertical-align: middle; -moz-border-radius: 2px; -webkit-border-radius: 2px;}.admin .button::-moz-focus-inner { border: none; padding: 0 !important;}.admin .button:hover { background-color: #3072b3; background-image: -moz-linear-gradient(top, #599bdc, #3072b3); background-image: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3)); border-color: #518cc6; border-bottom-color: #2a65a0; color: #ffffff; text-shadow: rgba(0, 0, 0, 0.4) 0 -1px 0;}.admin .button:active { background-color: #599bdc; background-image: -moz-linear-gradient(top, #3072b3, #599bdc); background-image: -webkit-gradient(linear, left top, left bottom, from(#3072b3), to(#599bdc)); border-bottom-color: #518cc6; border-top-color: #2a65a0; -moz-box-shadow: inset rgba(0, 0, 0, 0.2) 0 0 1px; -webkit-box-shadow: inset rgba(0, 0, 0, 0.2) 0 0 1px;}.admin .button.grey { background-color: #333333; background-image: -moz-linear-gradient(top, #333333, #444444); background-image: -webkit-gradient(linear, left top, left bottom, from(#444444), to(#333333)); border-color: #000000; color: #ffffff; text-shadow: #000000 0 -1px 0;}.admin .button.grey:hover { background-color: #444444; background-image: -moz-linear-gradient(top, #333333, #444444); background-image: -webkit-gradient(linear, left top, left bottom, from(#333333), to(#444444));}.admin .button.grey:active { -moz-box-shadow: inset #000000 0 0px 1px; -webkit-box-shadow: inset #000000 0 0px 1px;}.admin .error { margin-top: 5px; }.admin .errors label { color: #ff0000; }.admin .errors input.text { border: 1px solid #ff0000; }.admin .errors select { border: 1px solid #ff0000; }.admin .errors textarea { border: 1px solid #ff0000; }.admin .flash { bottom: 20px; position: fixed; text-align: center; width: 100%; z-index: 4;}.admin .flash .inner { background: rgba(0, 0, 0, 0.7); color: #ffffff; display: inline-block; font-size: 24pt; margin: 0 auto; padding: 10px 20px; -moz-border-radius: 70px; -webkit-border-radius: 70px;}.admin .float-left { float: left; }.admin .float-right { float: right; }.admin .icon { background-position: left top; background-repeat: no-repeat; display: inline-block; min-height: 16px; padding-left: 20px;}.admin .button:hover .icon { background-position: left bottom; }.admin .icon:hover { background-position: left bottom; }.admin .button.has-icon { padding-left: 5px; }.admin .icon.add { background-image: url(../images/icons/add.png); }.admin .icon.delete { background-image: url(../images/icons/delete.png); }.admin .icon.edit { background-image: url(../images/icons/edit.png); }.admin .icon.error { background-image: url(../images/icons/error.png); }.admin .icon.gallery { background-image: url(../images/icons/gallery.png); }.admin .icon.galleries { background-image: url(../images/icons/galleries.png); }.admin .icon.image { background-image: url(../images/icons/image.png); }.admin .icon.okay { background-image: url(../images/icons/okay.png); }.admin .icon.pages { background-image: url(../images/icons/pages.png); }.admin .icon.posts { background-image: url(../images/icons/posts.png); }.admin .icon.upload { background-image: url(../images/icons/upload.png); }.admin .icon.users { background-image: url(../images/icons/users.png); }.admin h1.icon { line-height: 48px; padding-left: 58px;}.admin .inset { background-color: #f0f0f0; padding: 10px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -moz-box-shadow: inset #888888 0 1px 2px; -webkit-box-shadow: inset #888888 0 1px 2px;}.admin .inset.icon { background-position: 5px 5px; display: block; padding-left: 68px;}.admin .progress-bar { background: url(../images/background-progress-bar.png) repeat-x left center; margin: 0; padding: 0 !important; width: 200px;}.admin .progress-bar .progress { background: url(../images/background-progress.gif) repeat-x; height: 11px; width: 0;}.admin .progress-bar.complete .progress { background-image: url(../images/background-progress-complete.gif); width: 100%;}.admin .right { text-align: right; }.admin select { padding: 2px; }.admin textarea { height: 50px; }.admin input.text { background: #ffffff url(../images/background-input.gif) repeat-x; border-bottom: 1px solid #dddddd; border-left: 1px solid #c3c3c3; border-right: 1px solid #c3c3c3; border-top: 1px solid #7d7d7d; padding: 3px; width: 370px; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -webkit-box-sizing: border-box;}.admin textarea { background: #ffffff url(../images/background-input.gif) repeat-x; border-bottom: 1px solid #dddddd; border-left: 1px solid #c3c3c3; border-right: 1px solid #c3c3c3; border-top: 1px solid #7d7d7d; padding: 3px; width: 370px; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -webkit-box-sizing: border-box;}.admin input.text.medium { width: 180px; }.admin input.text.oversized { font-size: 18px; width: 100%;}.admin input.half.text.oversized { width: 183px; }.admin input.text.small { width: 94px; }.admin input.text.tiny { width: 50px; }.admin input.replace.unedited { color: #777777 !important; }.admin textarea.replace.unedited { color: #777777 !important; }.admin .ui-tabs-hide { display: none; }
|
@@ -1 +0,0 @@
|
|
1
|
-
#logo { left: 50%; margin-left: -190px; position: absolute; top: 100px;}#login { border-bottom: 1px solid #ffffff; left: 50%; margin: 0 0 0 -200px; position: absolute; padding: 2em; top: 130px; width: 400px; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -webkit-box-sizing: border-box; -moz-border-radius: 5px; -webkit-border-radius: 5px;}
|
@@ -1 +0,0 @@
|
|
1
|
-
#grandstand .styled-toolbar { background-color: #a7a7a7; background-image: -moz-linear-gradient(top, #cacaca, #a7a7a7); background-image: -webkit-gradient(linear, left top, left bottom, from(#cacaca), to(#a7a7a7)); overflow: hidden; padding: 5px;}#grandstand .button-default { background-color: #ececec; background-image: -moz-linear-gradient(top, #f4f4f4, #ececec); background-image: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec)); border: 1px solid #d4d4d4; color: #333333; cursor: pointer; display: inline-block; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0; overflow: hidden; padding: 4px 10px; text-decoration: none; text-shadow: #ffffff 0 1px 0; vertical-align: baseline; vertical-align: middle; -moz-border-radius: 2px; -webkit-border-radius: 2px;}#grandstand .button-hover { background-color: #3072b3; background-image: -moz-linear-gradient(top, #599bdc, #3072b3); background-image: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3)); border-color: #518cc6; border-bottom-color: #2a65a0; color: #ffffff; text-shadow: rgba(0, 0, 0, 0.4) 0 -1px 0;}#grandstand .button-active { background-color: #599bdc; background-image: -moz-linear-gradient(top, #3072b3, #599bdc); background-image: -webkit-gradient(linear, left top, left bottom, from(#3072b3), to(#599bdc)); border-bottom-color: #518cc6; border-top-color: #2a65a0; -moz-box-shadow: inset rgba(0, 0, 0, 0.2) 0 0 1px; -webkit-box-shadow: inset rgba(0, 0, 0, 0.2) 0 0 1px;}#grandstand .button-grey { background-color: #333333; background-image: -moz-linear-gradient(top, #333333, #444444); background-image: -webkit-gradient(linear, left top, left bottom, from(#444444), to(#333333)); border-color: #000000; color: #ffffff; text-shadow: #000000 0 -1px 0;}#grandstand .button-grey-hover { background-color: #444444; background-image: -moz-linear-gradient(top, #333333, #444444); background-image: -webkit-gradient(linear, left top, left bottom, from(#333333), to(#444444));}#grandstand .button-grey-active { -moz-box-shadow: inset #000000 0 0px 1px; -webkit-box-shadow: inset #000000 0 0px 1px;}.admin .wysiwyg .dialog > form { background: #ffffff; left: 50%; margin-left: -40%; position: absolute; top: 0; width: 80%; z-index: 3; -moz-border-radius-bottomleft: 5px; -moz-border-radius-bottomright: 5px; -moz-box-shadow: #444444 0 2px 2px; -webkit-border-bottom-left-radius: 5px; -webkit-border-bottom-right-radius: 5px; -webkit-box-shadow: #444444 0 2px 2px;}.admin .wysiwyg .dialog .pad { padding: 10px; }.admin .wysiwyg .dialog .source { background: #d9dfe8; border-right: 1px solid #aaaaaa; float: left; overflow-x: hidden; overflow-y: auto; width: 200px; -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px;}.admin .wysiwyg .dialog .source .header { background-image: none !important; border-width: 0 !important; color: #505d81; font-weight: bold; padding: 10px 10px 5px 10px; text-shadow: #f1f5f8 0 1px 0; text-transform: uppercase;}.admin .wysiwyg .dialog .source a { border-top: 1px solid #d9dfe8; color: #000000; display: block; padding: 5px 5px 5px 20px; text-decoration: none;}.admin .wysiwyg .dialog .source a.active { background: -webkit-gradient(linear, left top, left bottom, from(#63a4e2), to(#0066c0)); border-top: 1px solid #4691d6; color: #ffffff; text-shadow: #000000 0 1px 0;}.admin .wysiwyg .dialog .destination { margin-left: 201px; }.admin .wysiwyg .dialog .image { cursor: pointer; }.admin .wysiwyg .dialog .scrollable { overflow-x: hidden; overflow-y: auto; padding: 10px 0; width: 100%; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -webkit-box-sizing: border-box;}.admin .wysiwyg { border: 1px solid #888888; overflow: hidden; position: relative; -webkit-border-radius: 3px;}.admin .wysiwyg .toolbar { background-color: #a7a7a7; background-image: -moz-linear-gradient(top, #cacaca, #a7a7a7); background-image: -webkit-gradient(linear, left top, left bottom, from(#cacaca), to(#a7a7a7)); overflow: hidden; padding: 5px; border-bottom: 1px solid #444444; position: relative; z-index: 4;}.admin .wysiwyg .toolbar .button { line-height: 0; padding: 3px;}.admin .wysiwyg .toolbar .button .icon { background-position: center top; }.admin .wysiwyg .toolbar .button .icon.bold { background-image: url(../images/icons/editor/bold.png); }.admin .wysiwyg .toolbar .button .icon.italic { background-image: url(../images/icons/editor/italic.png); }.admin .wysiwyg .toolbar .button .icon.ordered-list { background-image: url(../images/icons/editor/ordered-list.png); }.admin .wysiwyg .toolbar .button .icon.unordered-list { background-image: url(../images/icons/editor/unordered-list.png); }.admin .wysiwyg .toolbar .button:hover .icon { background-position: center bottom; }.admin .wysiwyg iframe { background: #ffffff url(../images/background-input.gif) repeat-x; display: block; height: 400px; width: 100%; -webkit-border-bottom-left-radius: 3px; -webkit-border-bottom-right-radius: 3px;}.admin .wysiwyg textarea { border-width: 0; }.admin .wysiwyg .cover { background-color: rgba(255, 255, 255, 0.9); height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 1; -webkit-border-radius: 3px;}.admin .wysiwyg .loading { background: rgba(0, 0, 0, 0.7) url(../images/spinner-dark.gif) center center no-repeat; height: 50px; left: 50%; margin: -25px 0 0 -25px; position: absolute; top: 50%; width: 50px; z-index: 2; -moz-border-radius: 5px; -webkit-border-radius: 5px;}
|