imagine_cms 4.1.4 → 4.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +2 -1
- data/app/assets/images/interface/form_loading.gif +0 -0
- data/app/assets/images/management/btn-top-delete.png +0 -0
- data/app/assets/images/management/btn-top-edit.png +0 -0
- data/app/assets/images/management/btn-top-exterminate.png +0 -0
- data/app/assets/images/management/btn-top-new.png +0 -0
- data/app/assets/images/management/btn-top-preview.png +0 -0
- data/app/assets/images/management/btn-top-properties.png +0 -0
- data/app/assets/javascripts/codemirror/modes-custom/imagine_cms.js +87 -0
- data/app/assets/javascripts/imagine_cms/core.js +510 -0
- data/app/assets/javascripts/imagine_cms/legacy/misc.js +537 -0
- data/app/assets/javascripts/imagine_cms/legacy/rollovers.js +193 -0
- data/app/assets/javascripts/imagine_cms/legacy/slideshow.js +116 -0
- data/app/assets/javascripts/imagine_cms/legacy/textfieldhints.js +55 -0
- data/app/assets/javascripts/imagine_cms.js +14 -1
- data/app/assets/javascripts/imagine_cms_compat.js +26 -0
- data/app/assets/javascripts/jquery-ui.js +16608 -0
- data/app/assets/javascripts/tag-it.js +591 -0
- data/app/assets/stylesheets/imagine_cms.css.scss +26 -10
- data/app/assets/stylesheets/imagine_controls.css.scss +8 -0
- data/app/assets/stylesheets/jquery-ui.css +1225 -0
- data/app/assets/stylesheets/jquery-ui.structure.css +833 -0
- data/app/assets/stylesheets/jquery-ui.theme.css +410 -0
- data/app/assets/stylesheets/jquery.tagit.css +69 -0
- data/app/assets/stylesheets/management.css.scss +7 -0
- data/app/assets/stylesheets/tagit.ui-imagine.css +100 -0
- data/app/controllers/cms/content_controller.rb +28 -45
- data/app/controllers/management/cms_controller.rb +116 -94
- data/app/helpers/cms_application_helper.rb +76 -39
- data/app/models/cms_page.rb +32 -14
- data/app/models/cms_page_object.rb +1 -1
- data/app/models/cms_page_tag.rb +2 -2
- data/app/models/cms_template.rb +1 -1
- data/app/models/user.rb +6 -6
- data/app/models/user_group.rb +1 -1
- data/app/views/cms/content/_photo_gallery.html.erb +12 -12
- data/app/views/cms/content/_search.html.erb +2 -2
- data/app/views/cms/content/_search_result.html.erb +16 -10
- data/app/views/layouts/management.html.erb +18 -17
- data/app/views/management/cms/_edit_page.html.erb +47 -33
- data/app/views/management/cms/_gallery_index.html.erb +4 -4
- data/app/views/management/cms/_image.html.erb +3 -3
- data/app/views/management/cms/_image_details.html.erb +9 -8
- data/app/views/management/cms/_list_page.html.erb +2 -2
- data/app/views/management/cms/_list_page_select.html.erb +1 -1
- data/app/views/management/cms/_page_list.html.erb +69 -48
- data/app/views/management/cms/_page_list_source_folder.html.erb +2 -2
- data/app/views/management/cms/_template_options.html.erb +4 -4
- data/app/views/management/cms/_template_reference.html.erb +13 -15
- data/app/views/management/cms/edit_page_content.html.erb +3 -3
- data/app/views/management/cms/edit_snippet.html.erb +19 -41
- data/app/views/management/cms/edit_template.html.erb +15 -38
- data/app/views/management/cms/pages.html.erb +17 -29
- data/app/views/management/cms/snippets.html.erb +2 -2
- data/app/views/management/cms/templates.html.erb +2 -2
- data/app/views/management/cms/toolbar_edit.html.erb +2 -0
- data/app/views/management/cms/toolbar_preview.html.erb +2 -2
- data/config/initializers/config_file.rb +1 -1
- data/imagine_cms.gemspec +7 -4
- data/lib/extensions/action_controller_extensions.rb +50 -19
- data/lib/imagine_cms/engine.rb +12 -8
- data/lib/imagine_cms/version.rb +1 -1
- data/lib/prototype_legacy_helper/lib/prototype_legacy_helper.rb +2 -2
- data/lib/tasks/imagine_cms_tasks.rake +8 -0
- metadata +69 -91
- data/app/assets/images/management/btn_archive.gif +0 -0
- data/app/assets/images/management/btn_delete.gif +0 -0
- data/app/assets/images/management/btn_duplicate.gif +0 -0
- data/app/assets/images/management/btn_edit.gif +0 -0
- data/app/assets/images/management/btn_new_page.gif +0 -0
- data/app/assets/images/management/btn_preview.gif +0 -0
- data/app/assets/images/management/btn_properties.gif +0 -0
- data/app/assets/images/management/btn_restore.gif +0 -0
- data/app/assets/images/management/btn_top_delete.gif +0 -0
- data/app/assets/images/management/btn_top_duplicate.gif +0 -0
- data/app/assets/images/management/btn_top_edit.gif +0 -0
- data/app/assets/images/management/btn_top_new.gif +0 -0
- data/app/assets/images/management/btn_top_preview.gif +0 -0
- data/app/assets/images/management/btn_top_properties.gif +0 -0
- data/app/assets/javascripts/codepress/codepress.html +0 -36
- data/app/assets/javascripts/codepress/codepress.js +0 -130
- data/app/assets/javascripts/codepress/engines/gecko.js +0 -240
- data/app/assets/javascripts/codepress/engines/khtml.js +0 -0
- data/app/assets/javascripts/codepress/engines/msie.js +0 -263
- data/app/assets/javascripts/codepress/engines/older.js +0 -0
- data/app/assets/javascripts/codepress/engines/opera.js +0 -259
- data/app/assets/javascripts/codepress/languages/css.js +0 -23
- data/app/assets/javascripts/codepress/languages/generic.js +0 -25
- data/app/assets/javascripts/codepress/languages/html.js +0 -63
- data/app/assets/javascripts/codepress/languages/java.js +0 -24
- data/app/assets/javascripts/codepress/languages/javascript.js +0 -30
- data/app/assets/javascripts/codepress/languages/perl.js +0 -27
- data/app/assets/javascripts/codepress/languages/php.js +0 -60
- data/app/assets/javascripts/codepress/languages/ruby.js +0 -26
- data/app/assets/javascripts/codepress/languages/sql.js +0 -30
- data/app/assets/javascripts/codepress/languages/text.js +0 -9
- data/app/assets/javascripts/imagine.js +0 -1393
- data/app/assets/stylesheets/codepress/codepress.css +0 -7
- data/app/assets/stylesheets/codepress/languages/css.css +0 -10
- data/app/assets/stylesheets/codepress/languages/generic.css +0 -9
- data/app/assets/stylesheets/codepress/languages/html.css +0 -18
- data/app/assets/stylesheets/codepress/languages/java.css +0 -7
- data/app/assets/stylesheets/codepress/languages/javascript.css +0 -8
- data/app/assets/stylesheets/codepress/languages/perl.css +0 -11
- data/app/assets/stylesheets/codepress/languages/php.css +0 -12
- data/app/assets/stylesheets/codepress/languages/ruby.css +0 -10
- data/app/assets/stylesheets/codepress/languages/sql.css +0 -10
- data/app/assets/stylesheets/codepress/languages/text.css +0 -5
@@ -0,0 +1,193 @@
|
|
1
|
+
/* deprecated image rollover code */
|
2
|
+
|
3
|
+
var defaultXMenuOffset = 0;
|
4
|
+
var defaultYMenuOffset = 0;
|
5
|
+
var defaultXOffset = 0;
|
6
|
+
var defaultYOffset = 0;
|
7
|
+
var showRolloverEffect = Effect.Appear;
|
8
|
+
var showRolloverEffectOptions = { duration: 0.2 };
|
9
|
+
var showRolloverMenuEffect = Effect.BlindDown;
|
10
|
+
var showRolloverMenuEffectOptions = { duration: 0.2 };
|
11
|
+
var hideRolloverDelay = 120;
|
12
|
+
var hideRolloverEffect = Effect.Fade;
|
13
|
+
var hideRolloverEffectOptions = { duration: 0.3 };
|
14
|
+
var hideRolloverMenuEffect = Effect.BlindUp;
|
15
|
+
var hideRolloverMenuEffectOptions = { duration: 0.2 };
|
16
|
+
|
17
|
+
var currentEffect = [];
|
18
|
+
|
19
|
+
var hideRolloverTimeouts = [];
|
20
|
+
var hoveredButtons = [];
|
21
|
+
|
22
|
+
|
23
|
+
/********************************
|
24
|
+
* rollover/menu functions *
|
25
|
+
********************************/
|
26
|
+
|
27
|
+
function showRollover(target, xMenuOffset, yMenuOffset, xOffset, yOffset) {
|
28
|
+
try {
|
29
|
+
if (hideRolloverTimeouts[target]) {
|
30
|
+
clearTimeout(hideRolloverTimeouts[target]);
|
31
|
+
hideRolloverTimeouts[target] = null;
|
32
|
+
return;
|
33
|
+
}
|
34
|
+
|
35
|
+
if (hoveredButtons[target]) {
|
36
|
+
return;
|
37
|
+
}
|
38
|
+
|
39
|
+
var el = $(target + '_hover');
|
40
|
+
var sourceObj = $(target + '_std');
|
41
|
+
|
42
|
+
var coords = getElementPosition(sourceObj);
|
43
|
+
if (typeof(xMenuOffset) == 'undefined') xMenuOffset = defaultXMenuOffset;
|
44
|
+
if (typeof(yMenuOffset) == 'undefined') yMenuOffset = defaultYMenuOffset;
|
45
|
+
if (typeof(xOffset) == 'undefined') xOffset = defaultXOffset;
|
46
|
+
if (typeof(yOffset) == 'undefined') yOffset = defaultYOffset;
|
47
|
+
|
48
|
+
el.style.position = 'absolute';
|
49
|
+
el.style.left = coords[0] + xOffset + 'px';
|
50
|
+
el.style.top = coords[1] + yOffset + 'px';
|
51
|
+
el.style.margin = '0';
|
52
|
+
el.style.zIndex = '100';
|
53
|
+
|
54
|
+
if (currentEffect[el.id]) currentEffect[el.id].cancel();
|
55
|
+
currentEffect[el.id] = showRolloverEffect(el.id, showRolloverEffectOptions);
|
56
|
+
|
57
|
+
if (el = $(target + '_menu')) {
|
58
|
+
el.style.display = 'none';
|
59
|
+
el.style.position = 'absolute';
|
60
|
+
el.style.left = (coords[0] + xMenuOffset) + 'px';
|
61
|
+
el.style.top = (coords[1] + yMenuOffset) + 'px';
|
62
|
+
el.style.margin = '0';
|
63
|
+
el.style.zIndex = '100';
|
64
|
+
|
65
|
+
for (var i = 0; i < el.childNodes.length; i++) {
|
66
|
+
if (el.childNodes[i].tagName == 'DIV') {
|
67
|
+
el.style.width = el.childNodes[i].style.width;
|
68
|
+
el.style.height = el.childNodes[i].style.height;
|
69
|
+
break;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
if (currentEffect[el.id]) currentEffect[el.id].cancel();
|
73
|
+
currentEffect[el.id] = showRolloverMenuEffect(el.id, showRolloverMenuEffectOptions);
|
74
|
+
}
|
75
|
+
|
76
|
+
hoveredButtons[target] = true;
|
77
|
+
} catch (e) { }
|
78
|
+
}
|
79
|
+
|
80
|
+
function hideRollover(target) {
|
81
|
+
try {
|
82
|
+
hideRolloverTimeouts[target] = setTimeout('hideRolloverComplete("' + target + '");', hideRolloverDelay);
|
83
|
+
} catch (e) {}
|
84
|
+
}
|
85
|
+
|
86
|
+
function hideRolloverComplete(target) {
|
87
|
+
try {
|
88
|
+
hideRolloverTimeouts[target] = null;
|
89
|
+
|
90
|
+
if (el = $(target + '_hover')) {
|
91
|
+
if (currentEffect[el.id]) currentEffect[el.id].cancel();
|
92
|
+
currentEffect[el.id] = hideRolloverEffect(el.id, hideRolloverEffectOptions);
|
93
|
+
}
|
94
|
+
|
95
|
+
if (el = $(target + '_menu')) {
|
96
|
+
if (currentEffect[el.id]) currentEffect[el.id].cancel();
|
97
|
+
currentEffect[el.id] = hideRolloverMenuEffect(el.id, hideRolloverMenuEffectOptions);
|
98
|
+
}
|
99
|
+
|
100
|
+
hoveredButtons[target] = false;
|
101
|
+
} catch (e) {}
|
102
|
+
}
|
103
|
+
|
104
|
+
|
105
|
+
var hideSimpleRolloverTimeouts = [];
|
106
|
+
function showSimpleRollover(target, xOffset, yOffset) {
|
107
|
+
try {
|
108
|
+
// if we were planning to hide this element in the future, no need for that now
|
109
|
+
if (hideSimpleRolloverTimeouts[target]) {
|
110
|
+
clearTimeout(hideSimpleRolloverTimeouts[target]);
|
111
|
+
hideSimpleRolloverTimeouts[target] = null;
|
112
|
+
return;
|
113
|
+
}
|
114
|
+
|
115
|
+
// if other elements are waiting to be hidden, get it over with now
|
116
|
+
$H(hideSimpleRolloverTimeouts)._each(function (pair) {
|
117
|
+
clearTimeout(pair[1]);
|
118
|
+
hideSimpleRolloverComplete(pair[0]);
|
119
|
+
});
|
120
|
+
} catch (e) {}
|
121
|
+
|
122
|
+
try {
|
123
|
+
var el = document.getElementById(target + '_std');
|
124
|
+
el.oldsrc = el.src;
|
125
|
+
el.src = el.src.replace(/(_hover)?.gif$/, '_hover.gif');
|
126
|
+
if (!(is.ie && is.mac)) showSimpleRolloverMenu(target, xOffset, yOffset);
|
127
|
+
} catch (e) {}
|
128
|
+
}
|
129
|
+
|
130
|
+
function showSimpleRolloverMenu(target, xOffset, yOffset, useRelative) {
|
131
|
+
try {
|
132
|
+
if (hideSimpleRolloverTimeouts[target]) {
|
133
|
+
clearTimeout(hideSimpleRolloverTimeouts[target]);
|
134
|
+
hideSimpleRolloverTimeouts[target] = null;
|
135
|
+
return;
|
136
|
+
}
|
137
|
+
|
138
|
+
var el = document.getElementById(target + '_std');
|
139
|
+
if (el) {
|
140
|
+
var coords = getElementPosition(el);
|
141
|
+
|
142
|
+
if (typeof(xOffset) == 'undefined') xOffset = 0;
|
143
|
+
if (typeof(yOffset) == 'undefined') yOffset = 30;
|
144
|
+
if (typeof(useRelative) == 'undefined') useRelative = false;
|
145
|
+
|
146
|
+
if (el = document.getElementById(target + '_menu')) {
|
147
|
+
el.style.zIndex = 100;
|
148
|
+
el.style.position = 'absolute';
|
149
|
+
if (useRelative) {
|
150
|
+
el.style.left = xOffset + 'px';
|
151
|
+
el.style.top = yOffset + 'px';
|
152
|
+
} else {
|
153
|
+
el.style.left = (coords[0] + xOffset) + 'px';
|
154
|
+
el.style.top = (coords[1] + yOffset) + 'px';
|
155
|
+
}
|
156
|
+
el.style.display = '';
|
157
|
+
}
|
158
|
+
}
|
159
|
+
} catch (e) {}
|
160
|
+
}
|
161
|
+
|
162
|
+
function hideSimpleRollover(target) {
|
163
|
+
try {
|
164
|
+
hideSimpleRolloverTimeouts[target] = setTimeout('hideSimpleRolloverComplete("' + target + '")', 200);
|
165
|
+
} catch (e) {}
|
166
|
+
}
|
167
|
+
|
168
|
+
function hideSimpleRolloverComplete(target) {
|
169
|
+
try {
|
170
|
+
var el = document.getElementById(target + '_std');
|
171
|
+
if (el.oldsrc) el.src = el.oldsrc;
|
172
|
+
hideSimpleRolloverMenuComplete(target);
|
173
|
+
} catch (e) {}
|
174
|
+
}
|
175
|
+
|
176
|
+
function hideSimpleRolloverMenu(target) {
|
177
|
+
try {
|
178
|
+
hideSimpleRolloverTimeouts[target] = setTimeout('hideSimpleRolloverMenuComplete("' + target + '")', 200);
|
179
|
+
} catch (e) {}
|
180
|
+
}
|
181
|
+
|
182
|
+
function hideSimpleRolloverMenuComplete(target) {
|
183
|
+
try {
|
184
|
+
hideSimpleRolloverTimeouts[target] = null;
|
185
|
+
|
186
|
+
var el = document.getElementById(target + '_std');
|
187
|
+
var coords = getElementPosition(el);
|
188
|
+
|
189
|
+
if (el = document.getElementById(target + '_menu')) {
|
190
|
+
el.style.display = 'none';
|
191
|
+
}
|
192
|
+
} catch (e) {}
|
193
|
+
}
|
@@ -0,0 +1,116 @@
|
|
1
|
+
/********************************
|
2
|
+
* custom effects *
|
3
|
+
********************************/
|
4
|
+
|
5
|
+
Effect.BlindRight = function(element) {
|
6
|
+
element = $(element);
|
7
|
+
var oldWidth = Element.getStyle(element, 'width');
|
8
|
+
var elementDimensions = Element.getDimensions(element);
|
9
|
+
return new Effect.Scale(element, 100,
|
10
|
+
Object.extend({
|
11
|
+
scaleContent: false,
|
12
|
+
scaleY: false,
|
13
|
+
scaleFrom: 0,
|
14
|
+
scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
|
15
|
+
restoreAfterFinish: true,
|
16
|
+
afterSetup: function(effect) { with(Element) {
|
17
|
+
makeClipping(effect.element);
|
18
|
+
setStyle(effect.element, {width: '0px'});
|
19
|
+
show(effect.element);
|
20
|
+
}}
|
21
|
+
}, arguments[1] || {})
|
22
|
+
);
|
23
|
+
}
|
24
|
+
|
25
|
+
Effect.SlideAppear = function(element) {
|
26
|
+
element = $(element);
|
27
|
+
new Effect.Appear(element, arguments[2] || arguments[1] || {});
|
28
|
+
new Effect.BlindRight(element, arguments[1] || {});
|
29
|
+
}
|
30
|
+
|
31
|
+
/********************************
|
32
|
+
* slideshow functions *
|
33
|
+
********************************/
|
34
|
+
|
35
|
+
var currentSlideIndex = 0;
|
36
|
+
var maxSlideIndex = -1;
|
37
|
+
|
38
|
+
function getNumSlides() {
|
39
|
+
if (maxSlideIndex > -1) return maxSlideIndex;
|
40
|
+
maxSlideIndex = 0;
|
41
|
+
|
42
|
+
while ($('img_slideshow' + maxSlideIndex)) maxSlideIndex++;
|
43
|
+
return maxSlideIndex;
|
44
|
+
}
|
45
|
+
|
46
|
+
function nextSlide(delay, transition) {
|
47
|
+
if (typeof(transition) == 'undefined') transition = 'SlideAppear';
|
48
|
+
changeSlide(delay, transition, 1);
|
49
|
+
}
|
50
|
+
|
51
|
+
function prevSlide(delay, transition) {
|
52
|
+
if (typeof(transition) == 'undefined') transition = 'SlideAppear';
|
53
|
+
changeSlide(delay, transition, -1);
|
54
|
+
}
|
55
|
+
|
56
|
+
// controls elements named img_slideshowX
|
57
|
+
// uses a global named currentSlideIndex to keep track of its state
|
58
|
+
// uses a global named maxSlideIndex to cache the discovered maximum slide index
|
59
|
+
function changeSlide(delay, transition, increment) {
|
60
|
+
try {
|
61
|
+
if (typeof(delay) == 'undefined') delay = -1;
|
62
|
+
if (typeof(transition) == 'undefined') transition = 'SlideAppear';
|
63
|
+
|
64
|
+
// this element is used for positioning
|
65
|
+
origimg = $('img_slideshow');
|
66
|
+
|
67
|
+
nextSlideIndex = currentSlideIndex + increment;
|
68
|
+
if (!$('img_slideshow' + nextSlideIndex)) {
|
69
|
+
if (increment > 0) {
|
70
|
+
nextSlideIndex = 0;
|
71
|
+
} else {
|
72
|
+
nextSlideIndex = getNumSlides() - 1;
|
73
|
+
}
|
74
|
+
}
|
75
|
+
|
76
|
+
if ((curimg = $('img_slideshow' + currentSlideIndex)) &&
|
77
|
+
(nextimg = $('img_slideshow' + nextSlideIndex))) {
|
78
|
+
// push old images back
|
79
|
+
for (var i = 0; i < getNumSlides(); i++) {
|
80
|
+
$('img_slideshow' + i).style.zIndex = ((increment > 0) ? i : (getNumSlides() - i));
|
81
|
+
}
|
82
|
+
nextimg.style.zIndex = '90';
|
83
|
+
nextimg.style.margin = '0';
|
84
|
+
|
85
|
+
// really shouldn't have to do this, but I just can't figure it out...
|
86
|
+
curimg.style.zIndex = '89';
|
87
|
+
|
88
|
+
// drag the new image over the main image
|
89
|
+
var coords = getElementPosition(origimg);
|
90
|
+
nextimg.style.position = 'absolute';
|
91
|
+
nextimg.style.left = coords[0] + 'px';
|
92
|
+
nextimg.style.top = coords[1] + 'px';
|
93
|
+
|
94
|
+
eval('Effect.' + transition + '(nextimg.id, { duration: 1.8 });');
|
95
|
+
setTimeout('$("' + curimg.id + '").style.display = "none"', 1900);
|
96
|
+
if (delay > 0) setTimeout('changeSlide(' + delay + ', "' + transition + '", ' + increment + ');', delay);
|
97
|
+
|
98
|
+
currentSlideIndex = nextSlideIndex;
|
99
|
+
}
|
100
|
+
} catch (e) {}
|
101
|
+
}
|
102
|
+
|
103
|
+
// positions slide navigation elements (named btn_slidenext and btn_slideprev)
|
104
|
+
// relative to img_slideshow (x and y are the relative offsets)
|
105
|
+
function positionSlideNav(x, y) {
|
106
|
+
try {
|
107
|
+
img = $('img_slideshow');
|
108
|
+
nav = $('div_slidenav');
|
109
|
+
|
110
|
+
// move the buttons to their proper places
|
111
|
+
nav.style.zIndex = '95';
|
112
|
+
nav.style.position = 'relative';
|
113
|
+
nav.style.left = x + 'px';
|
114
|
+
nav.style.top = y + 'px';
|
115
|
+
} catch (e) {}
|
116
|
+
}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
/* deprecated text field hints (use html placeholder attribute instead) */
|
2
|
+
|
3
|
+
/********************************
|
4
|
+
* text field hints *
|
5
|
+
********************************/
|
6
|
+
|
7
|
+
var textFieldHints = new Array();
|
8
|
+
function setupTextFieldHints() {
|
9
|
+
textFieldHints.each(function (a) {
|
10
|
+
$A(document.getElementsByName(a.name)).each(function (el) {
|
11
|
+
var clearHint = function () {
|
12
|
+
el.value = '';
|
13
|
+
el.style.color = el.style.origColor ? el.style.origColor : 'black';
|
14
|
+
el.onfocus = el.oldOnFocus;
|
15
|
+
el.oldOnBlur = el.onblur;
|
16
|
+
el.onblur = function () {
|
17
|
+
if (typeof(el.oldOnBlur) == 'function') el.oldOnBlur();
|
18
|
+
setHint();
|
19
|
+
}
|
20
|
+
};
|
21
|
+
var setHint = function () {
|
22
|
+
if (!el.value || el.value == a.hint) {
|
23
|
+
el.value = a.hint;
|
24
|
+
el.style.origColor = el.style.color;
|
25
|
+
el.style.color = 'gray';
|
26
|
+
if (typeof(el.oldOnBlur) != 'undefined') el.onblur = el.oldOnBlur;
|
27
|
+
el.oldOnFocus = el.onfocus;
|
28
|
+
el.onfocus = function () {
|
29
|
+
if (typeof(el.oldOnFocus) == 'function') el.oldOnFocus();
|
30
|
+
clearHint();
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
setHint();
|
35
|
+
})
|
36
|
+
});
|
37
|
+
}
|
38
|
+
addLoadEvent(setupTextFieldHints);
|
39
|
+
|
40
|
+
function teardownTextFieldHints() {
|
41
|
+
textFieldHints.each(function (a) {
|
42
|
+
var el = document.getElementsByName(a.name)[0];
|
43
|
+
if (el.value == a.hint) {
|
44
|
+
el.value = '';
|
45
|
+
el.style.color = el.origColor ? el.origColor : 'black';
|
46
|
+
el.onfocus = null;
|
47
|
+
}
|
48
|
+
});
|
49
|
+
}
|
50
|
+
|
51
|
+
function addTextFieldHint(name, hint) {
|
52
|
+
if (textFieldHints.select(function (a) { return a.name == name }).length == 0) {
|
53
|
+
textFieldHints.push({ name: name, hint: hint });
|
54
|
+
}
|
55
|
+
}
|
@@ -4,6 +4,19 @@
|
|
4
4
|
//= require dragdrop
|
5
5
|
//= require controls
|
6
6
|
//= require jquery_no_conflict
|
7
|
+
//= require jquery-ui
|
7
8
|
//= require builder
|
8
9
|
//= require cropper
|
9
|
-
|
10
|
+
//
|
11
|
+
//= require codemirror
|
12
|
+
//= require codemirror/modes/xml
|
13
|
+
//= require codemirror/modes/javascript
|
14
|
+
//= require codemirror/modes/css
|
15
|
+
//= require codemirror/modes/ruby
|
16
|
+
//= require codemirror/modes/htmlmixed
|
17
|
+
// require codemirror/modes/htmlembedded
|
18
|
+
//= require codemirror/modes-custom/imagine_cms
|
19
|
+
//
|
20
|
+
//= require tag-it
|
21
|
+
//
|
22
|
+
//= require imagine_cms/core
|
@@ -0,0 +1,26 @@
|
|
1
|
+
//= require prototype
|
2
|
+
//= require prototype_ujs
|
3
|
+
//= require effects
|
4
|
+
//= require dragdrop
|
5
|
+
//= require controls
|
6
|
+
//= require jquery_no_conflict
|
7
|
+
//= require jquery-ui
|
8
|
+
//= require builder
|
9
|
+
//= require cropper
|
10
|
+
//
|
11
|
+
//= require codemirror
|
12
|
+
//= require codemirror/modes/xml
|
13
|
+
//= require codemirror/modes/javascript
|
14
|
+
//= require codemirror/modes/css
|
15
|
+
//= require codemirror/modes/ruby
|
16
|
+
//= require codemirror/modes/htmlmixed
|
17
|
+
// require codemirror/modes/htmlembedded
|
18
|
+
//= require codemirror/modes-custom/imagine_cms
|
19
|
+
//
|
20
|
+
//= require tag-it
|
21
|
+
//
|
22
|
+
//= require imagine_cms/core
|
23
|
+
//= require imagine_cms/legacy/rollovers
|
24
|
+
//= require imagine_cms/legacy/slideshow
|
25
|
+
//= require imagine_cms/legacy/misc
|
26
|
+
//= require imagine_cms/legacy/textfieldhints
|