typus 3.1.0.rc14 → 3.1.0.rc15
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitmodules +3 -0
- data/README.md +10 -14
- data/Rakefile +7 -5
- data/app/assets/javascripts/typus.js +1 -0
- data/app/assets/javascripts/typus/jquery.application.js +0 -2
- data/app/assets/stylesheets/typus.css +13 -1
- data/app/assets/stylesheets/typus/account.css +53 -0
- data/app/assets/stylesheets/typus/actions.css +11 -0
- data/app/assets/stylesheets/typus/content.css +92 -0
- data/app/assets/stylesheets/typus/defaults.css +31 -0
- data/app/assets/stylesheets/typus/errors.css +33 -0
- data/app/assets/stylesheets/typus/footer.css +8 -0
- data/app/assets/stylesheets/typus/forms.css +52 -0
- data/app/assets/stylesheets/typus/hacks.css +20 -0
- data/app/assets/stylesheets/typus/header.css +55 -0
- data/app/assets/stylesheets/typus/layout.css +4 -0
- data/app/assets/stylesheets/typus/pagination.css +34 -8
- data/app/assets/stylesheets/typus/sidebar.css +23 -0
- data/app/assets/stylesheets/typus/tables.css +47 -0
- data/app/helpers/admin/base_helper.rb +1 -1
- data/app/helpers/admin/resources/data_types/belongs_to_helper.rb +1 -0
- data/app/helpers/admin/resources/data_types/tree_helper.rb +1 -0
- data/app/helpers/admin/resources/display_helper.rb +1 -1
- data/app/helpers/admin/resources/form_helper.rb +1 -0
- data/app/helpers/admin/resources_helper.rb +3 -5
- data/app/views/admin/account/forgot_password.html.erb +7 -1
- data/app/views/admin/base/user_guide.html.erb +61 -57
- data/app/views/admin/dashboard/show.html.erb +6 -16
- data/app/views/admin/dashboard/widgets/_applications.html.erb +31 -0
- data/app/views/admin/dashboard/widgets/_models.html.erb +23 -0
- data/app/views/admin/dashboard/widgets/_models_extended.html.erb +25 -0
- data/app/views/admin/dashboard/widgets/_resources.html.erb +23 -0
- data/app/views/admin/resources/_actions.html.erb +23 -0
- data/app/views/admin/resources/edit.html.erb +26 -20
- data/app/views/admin/resources/edit/_actions.html.erb +7 -0
- data/app/views/admin/resources/edit/_rencently_edited.html.erb +8 -0
- data/app/views/admin/resources/index.html.erb +42 -32
- data/app/views/admin/resources/new.html.erb +16 -8
- data/app/views/admin/resources/show.html.erb +22 -14
- data/app/views/admin/session/new.html.erb +9 -1
- data/app/views/admin/templates/_belongs_to.html.erb +1 -1
- data/app/views/admin/templates/_belongs_to_with_autocomplete.html.erb +1 -1
- data/app/views/admin/templates/_boolean.html.erb +1 -1
- data/app/views/admin/templates/_date.html.erb +1 -1
- data/app/views/admin/templates/_datetime.html.erb +1 -1
- data/app/views/admin/templates/_dragonfly.html.erb +1 -1
- data/app/views/admin/templates/_paperclip.html.erb +1 -1
- data/app/views/admin/templates/_password.html.erb +1 -1
- data/app/views/admin/templates/_selector.html.erb +1 -1
- data/app/views/admin/templates/_string.html.erb +1 -1
- data/app/views/admin/templates/_string_with_preview.html.erb +1 -1
- data/app/views/admin/templates/_text.html.erb +1 -1
- data/app/views/admin/templates/_text_with_ckeditor.html.erb +16 -2
- data/app/views/admin/templates/_text_with_ckeditor_and_assets.html.erb +16 -2
- data/app/views/admin/templates/_time.html.erb +1 -1
- data/app/views/admin/templates/_tree.html.erb +1 -1
- data/app/views/helpers/admin/resources/_sidebar.html.erb +36 -12
- data/app/views/helpers/admin/resources/_table.html.erb +5 -3
- data/app/views/layouts/admin/base.html.erb +16 -29
- data/app/views/layouts/admin/headless.html.erb +1 -1
- data/app/views/layouts/admin/session.html.erb +6 -0
- data/lib/support/fake_user.rb +2 -8
- data/lib/typus.rb +6 -2
- data/lib/typus/authentication/devise.rb +19 -0
- data/lib/typus/controller/headless.rb +1 -1
- data/lib/typus/orm/active_record/admin_user_v1.rb +15 -1
- data/lib/typus/orm/active_record/admin_user_v2.rb +16 -2
- data/lib/typus/orm/active_record/user/class_methods.rb +2 -3
- data/lib/typus/orm/active_record/user/instance_methods.rb +5 -2
- data/lib/typus/orm/active_record/user/instance_methods_more.rb +19 -0
- data/lib/typus/version.rb +1 -1
- data/vendor/assets/adapt/css/1200.css +357 -0
- data/vendor/assets/adapt/css/1200.min.css +1 -0
- data/vendor/assets/adapt/css/1560.css +357 -0
- data/vendor/assets/adapt/css/1560.min.css +1 -0
- data/vendor/assets/adapt/css/720.css +357 -0
- data/vendor/assets/adapt/css/720.min.css +1 -0
- data/vendor/assets/adapt/css/960.css +357 -0
- data/vendor/assets/adapt/css/960.min.css +1 -0
- data/vendor/assets/adapt/css/fluid.css +345 -0
- data/vendor/assets/adapt/css/fluid.min.css +1 -0
- data/vendor/assets/adapt/css/master.css +120 -0
- data/vendor/assets/adapt/css/mobile.css +20 -0
- data/vendor/assets/adapt/css/mobile.min.css +1 -0
- data/vendor/assets/adapt/css/reset.css +202 -0
- data/vendor/assets/adapt/css/text.css +81 -0
- data/vendor/assets/adapt/images/h1.png +0 -0
- data/vendor/assets/adapt/js/adapt.js +135 -0
- data/vendor/assets/adapt/js/adapt.min.js +1 -0
- data/vendor/assets/formalize/.gitignore +1 -0
- data/vendor/assets/formalize/css/_formalize.sass +332 -0
- data/vendor/assets/formalize/css/demo.css +47 -0
- data/vendor/assets/formalize/css/formalize.css +395 -0
- data/vendor/assets/formalize/css/reset.css +202 -0
- data/vendor/assets/formalize/css/text.css +81 -0
- data/vendor/assets/formalize/images/button.png +0 -0
- data/vendor/assets/formalize/images/select_arrow.gif +0 -0
- data/vendor/assets/formalize/js/dojo.formalize.js +166 -0
- data/vendor/assets/formalize/js/dojo.formalize.min.js +1 -0
- data/vendor/assets/formalize/js/extjs.formalize.js +163 -0
- data/vendor/assets/formalize/js/extjs.formalize.min.js +1 -0
- data/vendor/assets/formalize/js/jquery.formalize.js +150 -0
- data/vendor/assets/formalize/js/jquery.formalize.min.js +1 -0
- data/vendor/assets/formalize/js/mootools.formalize.js +155 -0
- data/vendor/assets/formalize/js/mootools.formalize.min.js +1 -0
- data/vendor/assets/formalize/js/prototype.formalize.js +163 -0
- data/vendor/assets/formalize/js/prototype.formalize.min.js +1 -0
- data/vendor/assets/formalize/js/yui.formalize.js +152 -0
- data/vendor/assets/formalize/js/yui.formalize.min.js +1 -0
- metadata +79 -47
- data/app/assets/stylesheets/typus/screen.css +0 -340
- data/app/helpers/admin/dashboard_helper.rb +0 -8
- data/app/views/admin/dashboard/_applications.html.erb +0 -21
- data/config/locales/typus.ca.models.yml +0 -17
- data/config/locales/typus.ca.yml +0 -80
- data/config/locales/typus.de.models.yml +0 -17
- data/config/locales/typus.de.yml +0 -79
- data/config/locales/typus.el.models.yml +0 -17
- data/config/locales/typus.el.yml +0 -81
- data/config/locales/typus.es.models.yml +0 -18
- data/config/locales/typus.es.yml +0 -81
- data/config/locales/typus.fr.models.yml +0 -18
- data/config/locales/typus.fr.yml +0 -85
- data/config/locales/typus.hu.models.yml +0 -17
- data/config/locales/typus.hu.yml +0 -79
- data/config/locales/typus.it.models.yml +0 -18
- data/config/locales/typus.it.yml +0 -88
- data/config/locales/typus.locale.models.yml.template +0 -17
- data/config/locales/typus.locale.yml.template +0 -80
- data/config/locales/typus.pt-BR.models.yml +0 -17
- data/config/locales/typus.pt-BR.yml +0 -79
- data/config/locales/typus.pt-PT.models.yml +0 -17
- data/config/locales/typus.pt-PT.yml +0 -83
- data/config/locales/typus.ru.models.yml +0 -17
- data/config/locales/typus.ru.yml +0 -79
- data/config/locales/typus.zh-CN.models.yml +0 -17
- data/config/locales/typus.zh-CN.yml +0 -78
@@ -0,0 +1 @@
|
|
1
|
+
var FORMALIZE=function(a,b,c){var d="placeholder"in b.createElement("input"),e="autofocus"in b.createElement("input"),f=Browser.ie6,g=Browser.ie7;return{go:function(){for(var a in FORMALIZE.init)FORMALIZE.init[a]()},init:{full_input_size:function(){!!g&&!!$$("textarea, input.input_full").length&&$$("textarea, input.input_full").each(function(a){(new Element("span.input_full_wrap")).wraps(a)})},ie6_skin_inputs:function(){if(!!f&&!!$$("input, select, textarea").length){var a=/button|submit|reset/,b=/date|datetime|datetime-local|email|month|number|password|range|search|tel|text|time|url|week/;$$("input").each(function(c){c.getAttribute("type").match(a)?(c.addClass("ie6_button"),c.disabled&&c.addClass("ie6_button_disabled")):c.getAttribute("type").match(b)&&(c.addClass("ie6_input"),c.disabled&&c.addClass("ie6_input_disabled"))}),$$("textarea, select").each(function(a){a.disabled&&a.addClass("ie6_input_disabled")})}},autofocus:function(){!e&&!!$$("[autofocus]").length&&$$("[autofocus]")[0].focus()},placeholder:function(){!d&&!!$$("[placeholder]").length&&(FORMALIZE.misc.add_placeholder(),$$("[placeholder]").each(function(a){var b=a.get("placeholder");a.addEvents({focus:function(){a.value===b&&a.set("value","").removeClass("placeholder_text")},blur:function(){FORMALIZE.misc.add_placeholder()}}),a.getParent("form").addEvents({submit:function(){a.value===b&&a.set("value","").removeClass("placeholder_text")},reset:function(){setTimeout(FORMALIZE.misc.add_placeholder,50)}})}))}},misc:{add_placeholder:function(){!d&&!!$$("[placeholder]").length&&$$("[placeholder]").each(function(a){var b=a.get("placeholder");(!a.value||a.value===b)&&a.set("value",b).addClass("placeholder_text")})}}}}(this,this.document);$(document).addEvent("domready",function(){FORMALIZE.go()})
|
@@ -0,0 +1,163 @@
|
|
1
|
+
/*
|
2
|
+
Formalize - version 1.1
|
3
|
+
|
4
|
+
Note: This file depends on the Prototype library.
|
5
|
+
*/
|
6
|
+
|
7
|
+
// Module pattern:
|
8
|
+
// http://yuiblog.com/blog/2007/06/12/module-pattern
|
9
|
+
var FORMALIZE = (function(window, document, undefined) {
|
10
|
+
// Private constants.
|
11
|
+
var PLACEHOLDER_SUPPORTED = 'placeholder' in document.createElement('input');
|
12
|
+
var AUTOFOCUS_SUPPORTED = 'autofocus' in document.createElement('input');
|
13
|
+
var IE6 = IE(6);
|
14
|
+
var IE7 = IE(7);
|
15
|
+
|
16
|
+
// Internet Explorer detection.
|
17
|
+
function IE(version) {
|
18
|
+
var b = document.createElement('b');
|
19
|
+
b.innerHTML = '<!--[if IE ' + version + ']><br><![endif]-->';
|
20
|
+
return !!b.getElementsByTagName('br').length;
|
21
|
+
}
|
22
|
+
|
23
|
+
// Expose innards of FORMALIZE.
|
24
|
+
return {
|
25
|
+
// FORMALIZE.go
|
26
|
+
go: function() {
|
27
|
+
for (var i in FORMALIZE.init) {
|
28
|
+
FORMALIZE.init[i]();
|
29
|
+
}
|
30
|
+
},
|
31
|
+
// FORMALIZE.init
|
32
|
+
init: {
|
33
|
+
// FORMALIZE.init.full_input_size
|
34
|
+
full_input_size: function() {
|
35
|
+
if (!IE7 || !$$('textarea, input.input_full').length) {
|
36
|
+
return;
|
37
|
+
}
|
38
|
+
|
39
|
+
// This fixes width: 100% on <textarea> and class="input_full".
|
40
|
+
// It ensures that form elements don't go wider than container.
|
41
|
+
$$('textarea, input.input_full').each(function(el) {
|
42
|
+
Element.wrap(el, 'span', {'class': 'input_full_wrap'});
|
43
|
+
});
|
44
|
+
},
|
45
|
+
// FORMALIZE.init.ie6_skin_inputs
|
46
|
+
ie6_skin_inputs: function() {
|
47
|
+
// Test for Internet Explorer 6.
|
48
|
+
if (!IE6 || !$$('input, select, textarea').length) {
|
49
|
+
// Exit if the browser is not IE6,
|
50
|
+
// or if no form elements exist.
|
51
|
+
return;
|
52
|
+
}
|
53
|
+
|
54
|
+
// For <input type="submit" />, etc.
|
55
|
+
var button_regex = /button|submit|reset/;
|
56
|
+
|
57
|
+
// For <input type="text" />, etc.
|
58
|
+
var type_regex = /date|datetime|datetime-local|email|month|number|password|range|search|tel|text|time|url|week/;
|
59
|
+
|
60
|
+
$$('input').each(function(el) {
|
61
|
+
// Is it a button?
|
62
|
+
if (el.getAttribute('type').match(button_regex)) {
|
63
|
+
el.addClassName('ie6_button');
|
64
|
+
|
65
|
+
/* Is it disabled? */
|
66
|
+
if (el.disabled) {
|
67
|
+
el.addClassName('ie6_button_disabled');
|
68
|
+
}
|
69
|
+
}
|
70
|
+
// Or is it a textual input?
|
71
|
+
else if (el.getAttribute('type').match(type_regex)) {
|
72
|
+
el.addClassName('ie6_input');
|
73
|
+
|
74
|
+
/* Is it disabled? */
|
75
|
+
if (el.disabled) {
|
76
|
+
el.addClassName('ie6_input_disabled');
|
77
|
+
}
|
78
|
+
}
|
79
|
+
});
|
80
|
+
|
81
|
+
$$('textarea, select').each(function(el) {
|
82
|
+
/* Is it disabled? */
|
83
|
+
if (el.disabled) {
|
84
|
+
el.addClassName('ie6_input_disabled');
|
85
|
+
}
|
86
|
+
});
|
87
|
+
},
|
88
|
+
// FORMALIZE.init.autofocus
|
89
|
+
autofocus: function() {
|
90
|
+
if (AUTOFOCUS_SUPPORTED || !$$('[autofocus]').length) {
|
91
|
+
return;
|
92
|
+
}
|
93
|
+
|
94
|
+
$$('[autofocus]')[0].focus();
|
95
|
+
},
|
96
|
+
// FORMALIZE.init.placeholder
|
97
|
+
placeholder: function() {
|
98
|
+
if (PLACEHOLDER_SUPPORTED || !$$('[placeholder]').length) {
|
99
|
+
// Exit if placeholder is supported natively,
|
100
|
+
// or if page does not have any placeholder.
|
101
|
+
return;
|
102
|
+
}
|
103
|
+
|
104
|
+
FORMALIZE.misc.add_placeholder();
|
105
|
+
|
106
|
+
$$('[placeholder]').each(function(el) {
|
107
|
+
var text = el.getAttribute('placeholder');
|
108
|
+
var form = el.up('form');
|
109
|
+
|
110
|
+
el.observe('focus', function() {
|
111
|
+
if (el.value === text) {
|
112
|
+
el.value = '';
|
113
|
+
el.removeClassName('placeholder_text');
|
114
|
+
}
|
115
|
+
});
|
116
|
+
|
117
|
+
el.observe('blur', function() {
|
118
|
+
FORMALIZE.misc.add_placeholder();
|
119
|
+
});
|
120
|
+
|
121
|
+
// Prevent <form> from accidentally
|
122
|
+
// submitting the placeholder text.
|
123
|
+
form.observe('submit', function() {
|
124
|
+
if (el.value === text) {
|
125
|
+
el.value = '';
|
126
|
+
el.removeClassName('placeholder_text');
|
127
|
+
}
|
128
|
+
});
|
129
|
+
|
130
|
+
form.observe('reset', function() {
|
131
|
+
setTimeout(FORMALIZE.misc.add_placeholder, 50);
|
132
|
+
});
|
133
|
+
});
|
134
|
+
}
|
135
|
+
},
|
136
|
+
// FORMALIZE.misc
|
137
|
+
misc: {
|
138
|
+
// FORMALIZE.misc.add_placeholder
|
139
|
+
add_placeholder: function() {
|
140
|
+
if (PLACEHOLDER_SUPPORTED || !$$('[placeholder]').length) {
|
141
|
+
// Exit if placeholder is supported natively,
|
142
|
+
// or if page does not have any placeholder.
|
143
|
+
return;
|
144
|
+
}
|
145
|
+
|
146
|
+
$$('[placeholder]').each(function(el) {
|
147
|
+
var text = el.getAttribute('placeholder');
|
148
|
+
|
149
|
+
if (!el.value || el.value === text) {
|
150
|
+
el.value = text;
|
151
|
+
el.addClassName('placeholder_text');
|
152
|
+
}
|
153
|
+
});
|
154
|
+
}
|
155
|
+
}
|
156
|
+
};
|
157
|
+
// Alias window, document.
|
158
|
+
})(this, this.document);
|
159
|
+
|
160
|
+
// Automatically calls all functions in FORMALIZE.init
|
161
|
+
$(document).observe('dom:loaded', function() {
|
162
|
+
FORMALIZE.go();
|
163
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
var FORMALIZE=function(a,b,c){function h(a){var c=b.createElement("b");c.innerHTML="<!--[if IE "+a+"]><br><![endif]-->";return!!c.getElementsByTagName("br").length}var d="placeholder"in b.createElement("input"),e="autofocus"in b.createElement("input"),f=h(6),g=h(7);return{go:function(){for(var a in FORMALIZE.init)FORMALIZE.init[a]()},init:{full_input_size:function(){!!g&&!!$$("textarea, input.input_full").length&&$$("textarea, input.input_full").each(function(a){Element.wrap(a,"span",{"class":"input_full_wrap"})})},ie6_skin_inputs:function(){if(!!f&&!!$$("input, select, textarea").length){var a=/button|submit|reset/,b=/date|datetime|datetime-local|email|month|number|password|range|search|tel|text|time|url|week/;$$("input").each(function(c){c.getAttribute("type").match(a)?(c.addClassName("ie6_button"),c.disabled&&c.addClassName("ie6_button_disabled")):c.getAttribute("type").match(b)&&(c.addClassName("ie6_input"),c.disabled&&c.addClassName("ie6_input_disabled"))}),$$("textarea, select").each(function(a){a.disabled&&a.addClassName("ie6_input_disabled")})}},autofocus:function(){!e&&!!$$("[autofocus]").length&&$$("[autofocus]")[0].focus()},placeholder:function(){!d&&!!$$("[placeholder]").length&&(FORMALIZE.misc.add_placeholder(),$$("[placeholder]").each(function(a){var b=a.getAttribute("placeholder"),c=a.up("form");a.observe("focus",function(){a.value===b&&(a.value="",a.removeClassName("placeholder_text"))}),a.observe("blur",function(){FORMALIZE.misc.add_placeholder()}),c.observe("submit",function(){a.value===b&&(a.value="",a.removeClassName("placeholder_text"))}),c.observe("reset",function(){setTimeout(FORMALIZE.misc.add_placeholder,50)})}))}},misc:{add_placeholder:function(){!d&&!!$$("[placeholder]").length&&$$("[placeholder]").each(function(a){var b=a.getAttribute("placeholder");if(!a.value||a.value===b)a.value=b,a.addClassName("placeholder_text")})}}}}(this,this.document);$(document).observe("dom:loaded",function(){FORMALIZE.go()})
|
@@ -0,0 +1,152 @@
|
|
1
|
+
/*
|
2
|
+
Formalize - version 1.1
|
3
|
+
|
4
|
+
Note: This file depends on the YUI library.
|
5
|
+
*/
|
6
|
+
|
7
|
+
YUI.add('formalize', function(Y) {
|
8
|
+
// Private constants.
|
9
|
+
var PLACEHOLDER_SUPPORTED = 'placeholder' in document.createElement('input');
|
10
|
+
var AUTOFOCUS_SUPPORTED = 'autofocus' in document.createElement('input');
|
11
|
+
var IE6 = parseInt(Y.UA.ie, 10) === 6;
|
12
|
+
var IE7 = parseInt(Y.UA.ie, 10) === 7;
|
13
|
+
|
14
|
+
// Expose innards of Formalize.
|
15
|
+
Y.formalize = {
|
16
|
+
// Y.formalize.go
|
17
|
+
go: function() {
|
18
|
+
for (var i in Y.formalize.init) {
|
19
|
+
Y.formalize.init[i]();
|
20
|
+
}
|
21
|
+
},
|
22
|
+
// Y.formalize.init
|
23
|
+
init: {
|
24
|
+
// Y.formalize.init.full_input_size
|
25
|
+
full_input_size: function() {
|
26
|
+
if (!IE7 || !Y.all('textarea, input.input_full')) {
|
27
|
+
return;
|
28
|
+
}
|
29
|
+
|
30
|
+
// This fixes width: 100% on <textarea> and class="input_full".
|
31
|
+
// It ensures that form elements don't go wider than container.
|
32
|
+
Y.all('textarea, input.input_full').each(function(el) {
|
33
|
+
var wrapper = Y.Node.create('<span class="input_full_wrap"></span>');
|
34
|
+
wrapper.append(el.replace(wrapper));
|
35
|
+
});
|
36
|
+
},
|
37
|
+
// Y.formalize.init.ie6_skin_inputs
|
38
|
+
ie6_skin_inputs: function() {
|
39
|
+
// Test for Internet Explorer 6.
|
40
|
+
if (!IE6 || !Y.all('input, select, textarea')) {
|
41
|
+
// Exit if the browser is not IE6,
|
42
|
+
// or if no form elements exist.
|
43
|
+
return;
|
44
|
+
}
|
45
|
+
|
46
|
+
// For <input type="submit" />, etc.
|
47
|
+
var button_regex = /button|submit|reset/;
|
48
|
+
|
49
|
+
// For <input type="text" />, etc.
|
50
|
+
var type_regex = /date|datetime|datetime-local|email|month|number|password|range|search|tel|text|time|url|week/;
|
51
|
+
|
52
|
+
Y.all('input').each(function(el) {
|
53
|
+
// Is it a button?
|
54
|
+
if (el.getAttribute('type').match(button_regex)) {
|
55
|
+
el.addClass('ie6_button');
|
56
|
+
|
57
|
+
/* Is it disabled? */
|
58
|
+
if (el.disabled) {
|
59
|
+
el.addClass('ie6_button_disabled');
|
60
|
+
}
|
61
|
+
}
|
62
|
+
// Or is it a textual input?
|
63
|
+
else if (el.getAttribute('type').match(type_regex)) {
|
64
|
+
el.addClass('ie6_input');
|
65
|
+
|
66
|
+
/* Is it disabled? */
|
67
|
+
if (el.disabled) {
|
68
|
+
el.addClass('ie6_input_disabled');
|
69
|
+
}
|
70
|
+
}
|
71
|
+
});
|
72
|
+
|
73
|
+
Y.all('textarea, select').each(function(el) {
|
74
|
+
/* Is it disabled? */
|
75
|
+
if (el.disabled) {
|
76
|
+
el.addClass('ie6_input_disabled');
|
77
|
+
}
|
78
|
+
});
|
79
|
+
},
|
80
|
+
// Y.formalize.init.autofocus
|
81
|
+
autofocus: function() {
|
82
|
+
if (AUTOFOCUS_SUPPORTED || !Y.one('[autofocus]')) {
|
83
|
+
return;
|
84
|
+
}
|
85
|
+
|
86
|
+
Y.one('[autofocus]').focus();
|
87
|
+
},
|
88
|
+
// Y.formalize.init.placeholder
|
89
|
+
placeholder: function() {
|
90
|
+
if (PLACEHOLDER_SUPPORTED || !Y.one('[placeholder]')) {
|
91
|
+
// Exit if placeholder is supported natively,
|
92
|
+
// or if page does not have any placeholder.
|
93
|
+
return;
|
94
|
+
}
|
95
|
+
|
96
|
+
Y.formalize.misc.add_placeholder();
|
97
|
+
|
98
|
+
Y.all('[placeholder]').each(function(el) {
|
99
|
+
var text = el.getAttribute('placeholder');
|
100
|
+
var form = el.ancestor('form');
|
101
|
+
|
102
|
+
function add_placeholder() {
|
103
|
+
if (!el.get('value') || el.get('value') === text) {
|
104
|
+
el.set('value', text).addClass('placeholder_text');
|
105
|
+
}
|
106
|
+
}
|
107
|
+
|
108
|
+
el.on('focus', function() {
|
109
|
+
if (el.get('value') === text) {
|
110
|
+
el.set('value', '').removeClass('placeholder_text');
|
111
|
+
}
|
112
|
+
});
|
113
|
+
|
114
|
+
el.on('blur', function() {
|
115
|
+
Y.formalize.misc.add_placeholder();
|
116
|
+
});
|
117
|
+
|
118
|
+
// Prevent <form> from accidentally
|
119
|
+
// submitting the placeholder text.
|
120
|
+
form.on('submit', function() {
|
121
|
+
if (el.get('value') === text) {
|
122
|
+
el.set('value', '').removeClass('placeholder_text');
|
123
|
+
}
|
124
|
+
});
|
125
|
+
|
126
|
+
form.on('reset', function() {
|
127
|
+
setTimeout(Y.formalize.misc.add_placeholder, 50);
|
128
|
+
});
|
129
|
+
});
|
130
|
+
}
|
131
|
+
},
|
132
|
+
// Y.formalize.misc
|
133
|
+
misc: {
|
134
|
+
// Y.formalize.misc.add_placeholder
|
135
|
+
add_placeholder: function() {
|
136
|
+
if (PLACEHOLDER_SUPPORTED || !Y.one('[placeholder]')) {
|
137
|
+
// Exit if placeholder is supported natively,
|
138
|
+
// or if page does not have any placeholder.
|
139
|
+
return;
|
140
|
+
}
|
141
|
+
|
142
|
+
Y.all('[placeholder]').each(function(el) {
|
143
|
+
var text = el.getAttribute('placeholder');
|
144
|
+
|
145
|
+
if (!el.get('value') || el.get('value') === text) {
|
146
|
+
el.set('value', text).addClass('placeholder_text');
|
147
|
+
}
|
148
|
+
});
|
149
|
+
}
|
150
|
+
}
|
151
|
+
};
|
152
|
+
}, '1.1', {requires: ['yui', 'dom', 'event']});
|
@@ -0,0 +1 @@
|
|
1
|
+
YUI.add("formalize",function(a){var b="placeholder"in document.createElement("input"),c="autofocus"in document.createElement("input"),d=parseInt(a.UA.ie,10)===6,e=parseInt(a.UA.ie,10)===7;a.formalize={go:function(){for(var b in a.formalize.init)a.formalize.init[b]()},init:{full_input_size:function(){!!e&&!!a.all("textarea, input.input_full")&&a.all("textarea, input.input_full").each(function(b){var c=a.Node.create('<span class="input_full_wrap"></span>');c.append(b.replace(c))})},ie6_skin_inputs:function(){if(!!d&&!!a.all("input, select, textarea")){var b=/button|submit|reset/,c=/date|datetime|datetime-local|email|month|number|password|range|search|tel|text|time|url|week/;a.all("input").each(function(a){a.getAttribute("type").match(b)?(a.addClass("ie6_button"),a.disabled&&a.addClass("ie6_button_disabled")):a.getAttribute("type").match(c)&&(a.addClass("ie6_input"),a.disabled&&a.addClass("ie6_input_disabled"))}),a.all("textarea, select").each(function(a){a.disabled&&a.addClass("ie6_input_disabled")})}},autofocus:function(){!c&&!!a.one("[autofocus]")&&a.one("[autofocus]").focus()},placeholder:function(){!b&&!!a.one("[placeholder]")&&(a.formalize.misc.add_placeholder(),a.all("[placeholder]").each(function(b){function e(){(!b.get("value")||b.get("value")===c)&&b.set("value",c).addClass("placeholder_text")}var c=b.getAttribute("placeholder"),d=b.ancestor("form");b.on("focus",function(){b.get("value")===c&&b.set("value","").removeClass("placeholder_text")}),b.on("blur",function(){a.formalize.misc.add_placeholder()}),d.on("submit",function(){b.get("value")===c&&b.set("value","").removeClass("placeholder_text")}),d.on("reset",function(){setTimeout(a.formalize.misc.add_placeholder,50)})}))}},misc:{add_placeholder:function(){!b&&!!a.one("[placeholder]")&&a.all("[placeholder]").each(function(a){var b=a.getAttribute("placeholder");(!a.get("value")||a.get("value")===b)&&a.set("value",b).addClass("placeholder_text")})}}}},"1.1",{requires:["yui","dom","event"]})
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: typus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.0.
|
4
|
+
version: 3.1.0.rc15
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-07-
|
12
|
+
date: 2011-07-17 00:00:00.000000000 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: dragonfly
|
17
|
-
requirement: &
|
17
|
+
requirement: &2157078540 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0.9'
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2157078540
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: jquery-rails
|
28
|
-
requirement: &
|
28
|
+
requirement: &2157078120 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2157078120
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: paperclip
|
39
|
-
requirement: &
|
39
|
+
requirement: &2157077640 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *2157077640
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: rack-cache
|
50
|
-
requirement: &
|
50
|
+
requirement: &2157077180 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *2157077180
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: rails-trash
|
61
|
-
requirement: &
|
61
|
+
requirement: &2157076680 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ~>
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: 1.1.1
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *2157076680
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: jquery-rails
|
72
|
-
requirement: &
|
72
|
+
requirement: &2157076260 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: '0'
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *2157076260
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: kaminari
|
83
|
-
requirement: &
|
83
|
+
requirement: &2157075800 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: '0'
|
89
89
|
type: :runtime
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *2157075800
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: sass-rails
|
94
|
-
requirement: &
|
94
|
+
requirement: &2157075280 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ~>
|
@@ -99,10 +99,10 @@ dependencies:
|
|
99
99
|
version: 3.1.0.rc.2
|
100
100
|
type: :runtime
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *2157075280
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: rails
|
105
|
-
requirement: &
|
105
|
+
requirement: &2157074680 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
108
|
- - ~>
|
@@ -110,7 +110,7 @@ dependencies:
|
|
110
110
|
version: 3.1.0.rc4
|
111
111
|
type: :runtime
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *2157074680
|
114
114
|
description: Ruby on Rails Admin Panel (Engine) to allow trusted users edit structured
|
115
115
|
content.
|
116
116
|
email:
|
@@ -128,10 +128,21 @@ files:
|
|
128
128
|
- app/assets/javascripts/typus/application.js
|
129
129
|
- app/assets/javascripts/typus/jquery.application.js
|
130
130
|
- app/assets/stylesheets/typus.css
|
131
|
+
- app/assets/stylesheets/typus/account.css
|
132
|
+
- app/assets/stylesheets/typus/actions.css
|
131
133
|
- app/assets/stylesheets/typus/application.css
|
134
|
+
- app/assets/stylesheets/typus/content.css
|
135
|
+
- app/assets/stylesheets/typus/defaults.css
|
136
|
+
- app/assets/stylesheets/typus/errors.css
|
137
|
+
- app/assets/stylesheets/typus/footer.css
|
138
|
+
- app/assets/stylesheets/typus/forms.css
|
139
|
+
- app/assets/stylesheets/typus/hacks.css
|
140
|
+
- app/assets/stylesheets/typus/header.css
|
141
|
+
- app/assets/stylesheets/typus/layout.css
|
132
142
|
- app/assets/stylesheets/typus/pagination.css
|
133
143
|
- app/assets/stylesheets/typus/reset.css
|
134
|
-
- app/assets/stylesheets/typus/
|
144
|
+
- app/assets/stylesheets/typus/sidebar.css
|
145
|
+
- app/assets/stylesheets/typus/tables.css
|
135
146
|
- app/controllers/admin/account_controller.rb
|
136
147
|
- app/controllers/admin/base_controller.rb
|
137
148
|
- app/controllers/admin/dashboard_controller.rb
|
@@ -139,7 +150,6 @@ files:
|
|
139
150
|
- app/controllers/admin/resources_controller.rb
|
140
151
|
- app/controllers/admin/session_controller.rb
|
141
152
|
- app/helpers/admin/base_helper.rb
|
142
|
-
- app/helpers/admin/dashboard_helper.rb
|
143
153
|
- app/helpers/admin/resources/data_types/belongs_to_helper.rb
|
144
154
|
- app/helpers/admin/resources/data_types/boolean_helper.rb
|
145
155
|
- app/helpers/admin/resources/data_types/date_helper.rb
|
@@ -167,11 +177,15 @@ files:
|
|
167
177
|
- app/views/admin/account/forgot_password.html.erb
|
168
178
|
- app/views/admin/account/new.html.erb
|
169
179
|
- app/views/admin/base/user_guide.html.erb
|
170
|
-
- app/views/admin/dashboard/_applications.html.erb
|
171
180
|
- app/views/admin/dashboard/_sidebar.html.erb
|
172
181
|
- app/views/admin/dashboard/show.html.erb
|
173
182
|
- app/views/admin/dashboard/styles.html.erb
|
183
|
+
- app/views/admin/dashboard/widgets/_applications.html.erb
|
184
|
+
- app/views/admin/dashboard/widgets/_models.html.erb
|
185
|
+
- app/views/admin/dashboard/widgets/_models_extended.html.erb
|
186
|
+
- app/views/admin/dashboard/widgets/_resources.html.erb
|
174
187
|
- app/views/admin/mailer/reset_password_link.text.erb
|
188
|
+
- app/views/admin/resources/_actions.html.erb
|
175
189
|
- app/views/admin/resources/_edit.html.erb
|
176
190
|
- app/views/admin/resources/_form.html.erb
|
177
191
|
- app/views/admin/resources/_form_javascripts.html.erb
|
@@ -179,6 +193,8 @@ files:
|
|
179
193
|
- app/views/admin/resources/_new.html.erb
|
180
194
|
- app/views/admin/resources/_show.html.erb
|
181
195
|
- app/views/admin/resources/edit.html.erb
|
196
|
+
- app/views/admin/resources/edit/_actions.html.erb
|
197
|
+
- app/views/admin/resources/edit/_rencently_edited.html.erb
|
182
198
|
- app/views/admin/resources/index.html.erb
|
183
199
|
- app/views/admin/resources/new.html.erb
|
184
200
|
- app/views/admin/resources/show.html.erb
|
@@ -221,30 +237,6 @@ files:
|
|
221
237
|
- app/views/layouts/admin/base.html.erb
|
222
238
|
- app/views/layouts/admin/headless.html.erb
|
223
239
|
- app/views/layouts/admin/session.html.erb
|
224
|
-
- config/locales/typus.ca.models.yml
|
225
|
-
- config/locales/typus.ca.yml
|
226
|
-
- config/locales/typus.de.models.yml
|
227
|
-
- config/locales/typus.de.yml
|
228
|
-
- config/locales/typus.el.models.yml
|
229
|
-
- config/locales/typus.el.yml
|
230
|
-
- config/locales/typus.es.models.yml
|
231
|
-
- config/locales/typus.es.yml
|
232
|
-
- config/locales/typus.fr.models.yml
|
233
|
-
- config/locales/typus.fr.yml
|
234
|
-
- config/locales/typus.hu.models.yml
|
235
|
-
- config/locales/typus.hu.yml
|
236
|
-
- config/locales/typus.it.models.yml
|
237
|
-
- config/locales/typus.it.yml
|
238
|
-
- config/locales/typus.locale.models.yml.template
|
239
|
-
- config/locales/typus.locale.yml.template
|
240
|
-
- config/locales/typus.pt-BR.models.yml
|
241
|
-
- config/locales/typus.pt-BR.yml
|
242
|
-
- config/locales/typus.pt-PT.models.yml
|
243
|
-
- config/locales/typus.pt-PT.yml
|
244
|
-
- config/locales/typus.ru.models.yml
|
245
|
-
- config/locales/typus.ru.yml
|
246
|
-
- config/locales/typus.zh-CN.models.yml
|
247
|
-
- config/locales/typus.zh-CN.yml
|
248
240
|
- config/routes.rb
|
249
241
|
- lib/generators/templates/config/initializers/typus.rb
|
250
242
|
- lib/generators/templates/config/initializers/typus_authentication.rb
|
@@ -271,6 +263,7 @@ files:
|
|
271
263
|
- lib/tasks/typus.rake
|
272
264
|
- lib/typus.rb
|
273
265
|
- lib/typus/authentication/base.rb
|
266
|
+
- lib/typus/authentication/devise.rb
|
274
267
|
- lib/typus/authentication/http_basic.rb
|
275
268
|
- lib/typus/authentication/none.rb
|
276
269
|
- lib/typus/authentication/session.rb
|
@@ -295,12 +288,31 @@ files:
|
|
295
288
|
- lib/typus/orm/active_record/search.rb
|
296
289
|
- lib/typus/orm/active_record/user/class_methods.rb
|
297
290
|
- lib/typus/orm/active_record/user/instance_methods.rb
|
291
|
+
- lib/typus/orm/active_record/user/instance_methods_more.rb
|
298
292
|
- lib/typus/orm/base.rb
|
299
293
|
- lib/typus/orm/mongo/class_methods.rb
|
300
294
|
- lib/typus/regex.rb
|
301
295
|
- lib/typus/resources.rb
|
302
296
|
- lib/typus/version.rb
|
303
297
|
- typus.gemspec
|
298
|
+
- vendor/assets/adapt/css/1200.css
|
299
|
+
- vendor/assets/adapt/css/1200.min.css
|
300
|
+
- vendor/assets/adapt/css/1560.css
|
301
|
+
- vendor/assets/adapt/css/1560.min.css
|
302
|
+
- vendor/assets/adapt/css/720.css
|
303
|
+
- vendor/assets/adapt/css/720.min.css
|
304
|
+
- vendor/assets/adapt/css/960.css
|
305
|
+
- vendor/assets/adapt/css/960.min.css
|
306
|
+
- vendor/assets/adapt/css/fluid.css
|
307
|
+
- vendor/assets/adapt/css/fluid.min.css
|
308
|
+
- vendor/assets/adapt/css/master.css
|
309
|
+
- vendor/assets/adapt/css/mobile.css
|
310
|
+
- vendor/assets/adapt/css/mobile.min.css
|
311
|
+
- vendor/assets/adapt/css/reset.css
|
312
|
+
- vendor/assets/adapt/css/text.css
|
313
|
+
- vendor/assets/adapt/images/h1.png
|
314
|
+
- vendor/assets/adapt/js/adapt.js
|
315
|
+
- vendor/assets/adapt/js/adapt.min.js
|
304
316
|
- vendor/assets/fancybox/blank.gif
|
305
317
|
- vendor/assets/fancybox/fancy_close.png
|
306
318
|
- vendor/assets/fancybox/fancy_loading.png
|
@@ -326,6 +338,26 @@ files:
|
|
326
338
|
- vendor/assets/fancybox/jquery.fancybox-1.3.4.js
|
327
339
|
- vendor/assets/fancybox/jquery.fancybox-1.3.4.pack.js
|
328
340
|
- vendor/assets/fancybox/jquery.mousewheel-3.0.4.pack.js
|
341
|
+
- vendor/assets/formalize/.gitignore
|
342
|
+
- vendor/assets/formalize/css/_formalize.sass
|
343
|
+
- vendor/assets/formalize/css/demo.css
|
344
|
+
- vendor/assets/formalize/css/formalize.css
|
345
|
+
- vendor/assets/formalize/css/reset.css
|
346
|
+
- vendor/assets/formalize/css/text.css
|
347
|
+
- vendor/assets/formalize/images/button.png
|
348
|
+
- vendor/assets/formalize/images/select_arrow.gif
|
349
|
+
- vendor/assets/formalize/js/dojo.formalize.js
|
350
|
+
- vendor/assets/formalize/js/dojo.formalize.min.js
|
351
|
+
- vendor/assets/formalize/js/extjs.formalize.js
|
352
|
+
- vendor/assets/formalize/js/extjs.formalize.min.js
|
353
|
+
- vendor/assets/formalize/js/jquery.formalize.js
|
354
|
+
- vendor/assets/formalize/js/jquery.formalize.min.js
|
355
|
+
- vendor/assets/formalize/js/mootools.formalize.js
|
356
|
+
- vendor/assets/formalize/js/mootools.formalize.min.js
|
357
|
+
- vendor/assets/formalize/js/prototype.formalize.js
|
358
|
+
- vendor/assets/formalize/js/prototype.formalize.min.js
|
359
|
+
- vendor/assets/formalize/js/yui.formalize.js
|
360
|
+
- vendor/assets/formalize/js/yui.formalize.min.js
|
329
361
|
- vendor/assets/jquery-searchField/jquery.searchField.js
|
330
362
|
- vendor/assets/jquery-tokeninput/jquery.tokeninput.js
|
331
363
|
- vendor/assets/jquery-tokeninput/token-input.css
|