trestle 0.8.3 → 0.8.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/trestle/_confirmation.js +23 -0
- data/app/assets/javascripts/trestle/_datepicker.js +22 -0
- data/app/assets/javascripts/trestle/_errors.js +11 -0
- data/app/assets/javascripts/trestle/_form.js +6 -0
- data/app/assets/javascripts/trestle/_gallery.js +27 -0
- data/app/assets/javascripts/trestle/_select.js +11 -0
- data/app/assets/javascripts/trestle/_sidebar.js +52 -0
- data/app/assets/javascripts/trestle/_table.js +21 -0
- data/app/assets/javascripts/trestle/_tabs.js +13 -0
- data/app/assets/javascripts/trestle/_tooltips.js +3 -0
- data/app/assets/javascripts/trestle/admin.js +23 -0
- data/app/assets/javascripts/trestle/custom.js +4 -0
- data/app/assets/stylesheets/trestle/components/_table.scss +6 -0
- data/app/helpers/trestle/form_helper.rb +1 -1
- data/app/helpers/trestle/format_helper.rb +48 -0
- data/app/helpers/trestle/url_helper.rb +2 -8
- data/app/views/layouts/trestle/admin.html.erb +3 -3
- data/app/views/trestle/admin/index.html.erb +1 -1
- data/app/views/trestle/dashboard/index.html.erb +2 -2
- data/app/views/trestle/resource/_form.html.erb +1 -1
- data/app/views/trestle/resource/edit.html.erb +2 -2
- data/app/views/trestle/resource/index.html.erb +1 -1
- data/app/views/trestle/resource/new.html.erb +1 -1
- data/app/views/trestle/resource/show.html.erb +2 -2
- data/app/views/trestle/shared/_sidebar.html.erb +4 -2
- data/bower.json +1 -1
- data/config/locales/en.yml +16 -2
- data/lib/generators/trestle/install/install_generator.rb +3 -3
- data/lib/generators/trestle/install/templates/custom.js +7 -0
- data/lib/generators/trestle/install/templates/trestle.rb.erb +3 -2
- data/lib/trestle/adapters.rb +7 -64
- data/lib/trestle/adapters/active_record_adapter.rb +46 -20
- data/lib/trestle/adapters/adapter.rb +176 -0
- data/lib/trestle/adapters/sequel_adapter.rb +85 -0
- data/lib/trestle/admin.rb +1 -1
- data/lib/trestle/attribute.rb +14 -37
- data/lib/trestle/breadcrumb.rb +6 -0
- data/lib/trestle/configuration.rb +1 -1
- data/lib/trestle/form/automatic.rb +29 -21
- data/lib/trestle/form/builder.rb +4 -0
- data/lib/trestle/form/field.rb +2 -2
- data/lib/trestle/form/fields/check_box.rb +1 -1
- data/lib/trestle/form/fields/collection_select.rb +1 -1
- data/lib/trestle/form/fields/date_select.rb +1 -1
- data/lib/trestle/form/fields/datetime_select.rb +1 -1
- data/lib/trestle/form/fields/grouped_collection_select.rb +1 -1
- data/lib/trestle/form/fields/select.rb +2 -2
- data/lib/trestle/form/fields/tag_select.rb +1 -2
- data/lib/trestle/form/fields/time_select.rb +1 -1
- data/lib/trestle/form/fields/time_zone_select.rb +1 -1
- data/lib/trestle/resource.rb +11 -7
- data/lib/trestle/resource/builder.rb +2 -1
- data/lib/trestle/resource/controller.rb +61 -17
- data/lib/trestle/scope.rb +1 -1
- data/lib/trestle/table/automatic.rb +5 -11
- data/lib/trestle/table/builder.rb +1 -0
- data/lib/trestle/table/column.rb +24 -43
- data/lib/trestle/version.rb +1 -1
- data/trestle.gemspec +3 -4
- data/vendor/assets/bower_components/trestle/flatpickr/dist/flatpickr.css +51 -26
- data/vendor/assets/bower_components/trestle/flatpickr/dist/flatpickr.js +349 -299
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/ar.js +5 -5
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/bg.js +5 -5
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/bn.js +5 -5
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/cat.js +7 -7
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/cs.js +7 -7
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/cy.js +7 -7
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/da.js +6 -6
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/de.js +10 -10
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/eo.js +11 -11
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/es.js +7 -7
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/et.js +11 -11
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/fa.js +6 -6
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/fi.js +7 -7
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/fr.js +11 -11
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/gr.js +13 -13
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/he.js +5 -5
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/hi.js +5 -5
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/hr.js +6 -6
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/hu.js +10 -10
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/id.js +7 -7
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/index.js +97 -0
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/it.js +10 -10
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/ja.js +5 -5
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/ko.js +6 -6
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/lt.js +10 -10
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/lv.js +6 -6
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/mk.js +8 -8
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/ms.js +7 -7
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/my.js +7 -7
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/nl.js +11 -11
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/no.js +11 -11
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/pa.js +5 -5
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/pl.js +6 -6
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/pt.js +6 -8
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/ro.js +7 -9
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/ru.js +6 -8
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/si.js +5 -7
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/sk.js +8 -8
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/sl.js +8 -10
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/sq.js +5 -7
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/sr.js +9 -10
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/sv.js +8 -10
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/th.js +10 -11
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/tr.js +6 -8
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/uk.js +6 -7
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/vn.js +6 -8
- data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/zh.js +9 -11
- metadata +24 -34
- data/app/assets/javascripts/trestle/_confirmation.js.coffee +0 -18
- data/app/assets/javascripts/trestle/_datepicker.js.coffee +0 -18
- data/app/assets/javascripts/trestle/_errors.js.coffee +0 -8
- data/app/assets/javascripts/trestle/_form.js.coffee +0 -4
- data/app/assets/javascripts/trestle/_gallery.js.coffee +0 -21
- data/app/assets/javascripts/trestle/_select.js.coffee +0 -7
- data/app/assets/javascripts/trestle/_sidebar.js.coffee +0 -45
- data/app/assets/javascripts/trestle/_table.js.coffee +0 -16
- data/app/assets/javascripts/trestle/_tabs.js.coffee +0 -9
- data/app/assets/javascripts/trestle/_tooltips.js.coffee +0 -2
- data/app/assets/javascripts/trestle/admin.js.coffee +0 -22
- data/app/assets/javascripts/trestle/custom.js.coffee +0 -4
- data/lib/generators/trestle/install/templates/custom.js.coffee +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4f02402474a2f77fc6f4af6582e9b68f59274d0
|
4
|
+
data.tar.gz: bb9815ae6b48b970443740c5b111aefef96dcea3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1593ee4dafcde35f20c312441df49e1b0861b82d87e387b4ed407e60a29758fb24e9efe4274339a1e04c78aac60cb0e85b9c76a425863fc3176d6a1f3afb70a
|
7
|
+
data.tar.gz: 04e575f53c928a249a74aa4cc8ad3477c7cd16fad6ef26874e0d9adf9397bbfe070fd059f74b4c85c25cba599887d84dbf3f5da1fd0cd91d26704c85ef976a1b
|
@@ -0,0 +1,23 @@
|
|
1
|
+
Trestle.ready(function() {
|
2
|
+
// This must be bound to an element beneath document so
|
3
|
+
// that it is fired before any jquery_ujs events.
|
4
|
+
var root = $('body');
|
5
|
+
|
6
|
+
// Ensure it is only initialized once
|
7
|
+
if (root.data('bs.confirmation')) return;
|
8
|
+
|
9
|
+
root.confirmation({
|
10
|
+
rootSelector: 'body',
|
11
|
+
selector: '[data-toggle="confirm-delete"]',
|
12
|
+
singleton: true,
|
13
|
+
popout: true,
|
14
|
+
title: Trestle.i18n['admin.confirmation.title'],
|
15
|
+
btnOkIcon: '',
|
16
|
+
btnOkClass: 'btn-danger',
|
17
|
+
btnOkLabel: Trestle.i18n['admin.confirmation.delete'] || 'Delete',
|
18
|
+
btnCancelIcon: '',
|
19
|
+
btnCancelClass: 'btn-default',
|
20
|
+
btnCancelLabel: Trestle.i18n['admin.confirmation.cancel'] || 'Cancel',
|
21
|
+
copyAttributes: ''
|
22
|
+
});
|
23
|
+
});
|
@@ -0,0 +1,22 @@
|
|
1
|
+
Trestle.ready(function() {
|
2
|
+
$('input[type="date"][data-picker="true"]').flatpickr({
|
3
|
+
allowInput: true,
|
4
|
+
altInput: true,
|
5
|
+
altFormat: "m/d/Y",
|
6
|
+
});
|
7
|
+
|
8
|
+
$('input[type="datetime"][data-picker="true"], input[type="datetime-local"][data-picker="true"]').flatpickr({
|
9
|
+
enableTime: true,
|
10
|
+
allowInput: true,
|
11
|
+
altInput: true,
|
12
|
+
altFormat: "m/d/Y h:i K",
|
13
|
+
});
|
14
|
+
|
15
|
+
$('input[type="time"][data-picker="true"]').flatpickr({
|
16
|
+
enableTime: true,
|
17
|
+
noCalendar: true,
|
18
|
+
allowInput: true,
|
19
|
+
altInput: true,
|
20
|
+
altFormat: "h:i K"
|
21
|
+
});
|
22
|
+
});
|
@@ -0,0 +1,11 @@
|
|
1
|
+
// Add error indicators to tabs
|
2
|
+
Trestle.ready(function() {
|
3
|
+
$('.tab-pane').each(function() {
|
4
|
+
var errorCount = $(this).find('.has-error').length;
|
5
|
+
|
6
|
+
if (errorCount > 0) {
|
7
|
+
var indicator = $("<span>").addClass('label label-danger label-pill').text(errorCount);
|
8
|
+
$(".nav-tabs a[href='#" + $(this).attr('id') + "']").append(indicator);
|
9
|
+
}
|
10
|
+
});
|
11
|
+
});
|
@@ -0,0 +1,27 @@
|
|
1
|
+
Trestle.ready(function() {
|
2
|
+
$('[data-behavior~="zoom"]').magnificPopup({
|
3
|
+
type: 'image',
|
4
|
+
closeOnContentClick: false,
|
5
|
+
closeBtnInside: false,
|
6
|
+
mainClass: 'mfp-with-zoom mfp-img-mobile',
|
7
|
+
zoom: {
|
8
|
+
enabled: true,
|
9
|
+
duration: 150
|
10
|
+
}
|
11
|
+
});
|
12
|
+
|
13
|
+
$('[data-behavior~="gallery"]').magnificPopup({
|
14
|
+
delegate: 'a',
|
15
|
+
type: 'image',
|
16
|
+
closeOnContentClick: false,
|
17
|
+
closeBtnInside: false,
|
18
|
+
mainClass: 'mfp-with-zoom mfp-img-mobile',
|
19
|
+
gallery: {
|
20
|
+
enabled: true
|
21
|
+
},
|
22
|
+
zoom: {
|
23
|
+
enabled: true,
|
24
|
+
duration: 150
|
25
|
+
}
|
26
|
+
});
|
27
|
+
});
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Trestle.ready(function() {
|
2
|
+
$('select[data-enable-select2]').each(function() {
|
3
|
+
$(this).select2({
|
4
|
+
theme: 'bootstrap',
|
5
|
+
containerCssClass: ':all:',
|
6
|
+
dropdownCssClass: function(el) {
|
7
|
+
return el[0].className.replace(/\s*form-control\s*/, '');
|
8
|
+
}
|
9
|
+
});
|
10
|
+
});
|
11
|
+
});
|
@@ -0,0 +1,52 @@
|
|
1
|
+
Trestle.ready(function() {
|
2
|
+
var sidebar = $('.app-sidebar');
|
3
|
+
|
4
|
+
// Toggle mobile navigation using menu button
|
5
|
+
|
6
|
+
sidebar.find('.navbar-toggle').on('click', function(e) {
|
7
|
+
e.preventDefault();
|
8
|
+
|
9
|
+
$('.app-wrapper').addClass('animate');
|
10
|
+
$('body').toggleClass('mobile-nav-expanded');
|
11
|
+
});
|
12
|
+
|
13
|
+
$('.app-wrapper').on('transitionend webkitTransitionEnd', function() {
|
14
|
+
$(this).removeClass('animate');
|
15
|
+
});
|
16
|
+
|
17
|
+
|
18
|
+
// Interacting outside of the sidebar closes the navigation
|
19
|
+
|
20
|
+
$('.app-wrapper').on('click touchstart', function(e) {
|
21
|
+
var navExpanded = $('body').hasClass('mobile-nav-expanded');
|
22
|
+
|
23
|
+
var clickInHeader = $(e.target).closest('.app-header').length;
|
24
|
+
var clickInSidebar = $(e.target).closest('.app-sidebar').length;
|
25
|
+
|
26
|
+
if (navExpanded && !clickInHeader && !clickInSidebar) {
|
27
|
+
e.stopPropagation();
|
28
|
+
e.preventDefault();
|
29
|
+
|
30
|
+
$('.app-wrapper').addClass('animate');
|
31
|
+
$('body').removeClass('mobile-nav-expanded');
|
32
|
+
}
|
33
|
+
});
|
34
|
+
|
35
|
+
|
36
|
+
// Toggle sidebar expand/collapse
|
37
|
+
|
38
|
+
sidebar.find('.toggle-sidebar').on('click', function(e) {
|
39
|
+
e.preventDefault();
|
40
|
+
|
41
|
+
if (sidebar.hasClass('expanded') || sidebar.hasClass('collapsed')) {
|
42
|
+
sidebar.removeClass('expanded').removeClass('collapsed');
|
43
|
+
document.cookie = "trestle:sidebar=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT";
|
44
|
+
} else if ($(document).width() >= 1200) {
|
45
|
+
sidebar.addClass('collapsed');
|
46
|
+
document.cookie = "trestle:sidebar=collapsed; path=/";
|
47
|
+
} else if ($(document).width() >= 768) {
|
48
|
+
sidebar.addClass('expanded');
|
49
|
+
document.cookie = "trestle:sidebar=expanded; path=/";
|
50
|
+
}
|
51
|
+
});
|
52
|
+
});
|
@@ -0,0 +1,21 @@
|
|
1
|
+
$(document).on('click', 'tr[data-url]', function(e) {
|
2
|
+
var row = $(e.currentTarget);
|
3
|
+
|
4
|
+
if (row.data('url') == 'auto') {
|
5
|
+
var url = row.find('td:not(.actions) a:first').attr('href');
|
6
|
+
} else {
|
7
|
+
var url = row.data('url');
|
8
|
+
}
|
9
|
+
|
10
|
+
if (url) {
|
11
|
+
if (e.metaKey || e.ctrlKey) {
|
12
|
+
window.open(url, '_blank');
|
13
|
+
} else {
|
14
|
+
Trestle.visit(url);
|
15
|
+
}
|
16
|
+
}
|
17
|
+
});
|
18
|
+
|
19
|
+
$(document).on('click', 'tr[data-url] a', function(e) {
|
20
|
+
e.stopPropagation();
|
21
|
+
});
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Trestle.ready(function() {
|
2
|
+
$("a[data-toggle='tab']").on('shown.bs.tab', function(e) {
|
3
|
+
var hash = $(this).attr("href");
|
4
|
+
|
5
|
+
if (hash.substr(0, 1) == "#") {
|
6
|
+
history.replaceState({ turbolinks: {} }, "", "#!" + hash.substr(1));
|
7
|
+
}
|
8
|
+
});
|
9
|
+
|
10
|
+
if (location.hash.substr(0, 2) == "#!") {
|
11
|
+
$("a[data-toggle='tab'][href='#" + location.hash.substr(2) + "']").tab("show");
|
12
|
+
}
|
13
|
+
});
|
@@ -0,0 +1,23 @@
|
|
1
|
+
//= require trestle/jquery
|
2
|
+
//= require trestle/jquery_ujs
|
3
|
+
//= require trestle/bootstrap
|
4
|
+
//= require trestle/bootstrap-confirmation
|
5
|
+
//= require trestle/magnific-popup
|
6
|
+
//= require trestle/flatpickr
|
7
|
+
//= require trestle/select2
|
8
|
+
//
|
9
|
+
//= require_self
|
10
|
+
//= require trestle/custom
|
11
|
+
//= require_tree .
|
12
|
+
|
13
|
+
var Trestle = window.Trestle = {};
|
14
|
+
|
15
|
+
Trestle.i18n = {};
|
16
|
+
|
17
|
+
if (typeof(Turbolinks) !== 'undefined' && Turbolinks.supported) {
|
18
|
+
Trestle.ready = function(callback) { $(document).on('turbolinks:load', callback); };
|
19
|
+
Trestle.visit = function(url) { Turbolinks.visit(url); };
|
20
|
+
} else {
|
21
|
+
Trestle.ready = function(callback) { $(callback); };
|
22
|
+
Trestle.visit = function(url) { document.location = url; };
|
23
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Trestle
|
2
|
+
module FormatHelper
|
3
|
+
def format_value(value, options={})
|
4
|
+
if options.key?(:format)
|
5
|
+
format_value_from_options(value, options)
|
6
|
+
else
|
7
|
+
autoformat_value(value, options)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def format_value_from_options(value, options={})
|
12
|
+
case options[:format]
|
13
|
+
when :currency
|
14
|
+
number_to_currency(value)
|
15
|
+
when :tags
|
16
|
+
safe_join(value.map { |tag| content_tag(:span, tag, class: "tag") })
|
17
|
+
else
|
18
|
+
value
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def autoformat_value(value, options={})
|
23
|
+
case value
|
24
|
+
when Array
|
25
|
+
content_tag(:ol, safe_join(value.map { |v| content_tag(:li, autoformat_value(v, options)) }, "\n"))
|
26
|
+
when Time, DateTime
|
27
|
+
timestamp(value)
|
28
|
+
when Date
|
29
|
+
datestamp(value)
|
30
|
+
when TrueClass, FalseClass
|
31
|
+
status_tag(icon("fa fa-check"), :success) if value
|
32
|
+
when NilClass
|
33
|
+
text = options.key?(:blank) ? options[:blank] : I18n.t("admin.format.blank")
|
34
|
+
content_tag(:span, text, class: "blank")
|
35
|
+
when String
|
36
|
+
if value.html_safe? || options[:truncate] == false
|
37
|
+
value
|
38
|
+
else
|
39
|
+
truncate(value, options[:truncate] || {})
|
40
|
+
end
|
41
|
+
when ->(value) { value.respond_to?(:id) }
|
42
|
+
display(value)
|
43
|
+
else
|
44
|
+
value
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -6,13 +6,7 @@ module Trestle
|
|
6
6
|
content = capture(&block)
|
7
7
|
end
|
8
8
|
|
9
|
-
if options.key?(:admin)
|
10
|
-
admin = Trestle.lookup(options.delete(:admin))
|
11
|
-
else
|
12
|
-
admin = admin_for(instance) || self.admin
|
13
|
-
end
|
14
|
-
|
15
|
-
if admin
|
9
|
+
if admin = (options.key?(:admin) ? Trestle.lookup(options.delete(:admin)) : admin_for(instance))
|
16
10
|
link_to(content, admin_url_for(instance, admin: admin), options)
|
17
11
|
else
|
18
12
|
content
|
@@ -20,7 +14,7 @@ module Trestle
|
|
20
14
|
end
|
21
15
|
|
22
16
|
def admin_url_for(instance, options={})
|
23
|
-
admin = Trestle.lookup(options[:admin]
|
17
|
+
admin = options.key?(:admin) ? Trestle.lookup(options[:admin]) : admin_for(instance)
|
24
18
|
admin.path(options[:action] || :show, id: admin.to_param(instance)) if admin
|
25
19
|
end
|
26
20
|
|
@@ -23,11 +23,11 @@
|
|
23
23
|
|
24
24
|
<script type="text/javascript">
|
25
25
|
<% Trestle.config.javascript_i18n_keys.each do |key| %>
|
26
|
-
|
26
|
+
Trestle.i18n['<%= key %>'] = "<%= escape_javascript(t(key, default: t(key, locale: :en))) %>";
|
27
27
|
<% end %>
|
28
28
|
|
29
|
-
if (
|
30
|
-
|
29
|
+
if (flatpickr.l10ns['<%= I18n.locale %>']) {
|
30
|
+
flatpickr.localize(flatpickr.l10ns['<%= I18n.locale %>']);
|
31
31
|
}
|
32
32
|
</script>
|
33
33
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<% content_for(:title, admin.admin_name.titleize) %>
|
2
2
|
|
3
3
|
<%= render layout: "layout" do %>
|
4
|
-
To customize this template, please create <code
|
4
|
+
<p><%= t("trestle.onboarding.no_template", path: "app/views/#{admin.controller_path}/index.html.erb", default: "To customize this template, please create <code>%{path}</code>.").html_safe %></p>
|
5
5
|
<% end %>
|
@@ -1,5 +1,5 @@
|
|
1
|
-
<% content_for(:title, "Welcome to Trestle") %>
|
1
|
+
<% content_for(:title, t("trestle.onboarding.welcome", default: "Welcome to Trestle")) %>
|
2
2
|
|
3
3
|
<%= render layout: "layout" do %>
|
4
|
-
<p
|
4
|
+
<p><%= t("trestle.onboarding.no_admins", default: "To begin, please create an admin within <code>app/admin</code>.").html_safe %></p>
|
5
5
|
<% end %>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<% if admin.form -%>
|
2
2
|
<%= admin.form.render(self, instance) %>
|
3
3
|
<% else %>
|
4
|
-
<p
|
4
|
+
<p><%= t("trestle.onboarding.no_form", default: "Please define a form block or create a <code>_form.html</code> partial.").html_safe %></p>
|
5
5
|
<% end %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<% title =
|
1
|
+
<% title = t("admin.titles.edit", default: "Editing %{model_name}", model_name: admin.model_name, pluralized_model_name: admin.model_name.pluralize) %>
|
2
2
|
|
3
3
|
<% content_for(:title, title) %>
|
4
4
|
<% breadcrumb title %>
|
@@ -13,6 +13,6 @@
|
|
13
13
|
<% end unless admin.readonly? %>
|
14
14
|
<% end %>
|
15
15
|
|
16
|
-
<%= trestle_form_for instance, url: admin.readonly? ? "#" : admin.path(:update, id: admin.to_param(instance)) do |f| %>
|
16
|
+
<%= trestle_form_for instance, url: admin.readonly? ? "#" : admin.path(:update, id: admin.to_param(instance)), method: :patch do |f| %>
|
17
17
|
<%= render partial: "form", layout: "layout" %>
|
18
18
|
<% end %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<% content_for(:title,
|
1
|
+
<% content_for(:title, t("admin.titles.index", default: "Listing %{pluralized_model_name}", model_name: admin.model_name, pluralized_model_name: admin.model_name.pluralize)) %>
|
2
2
|
|
3
3
|
<% content_for(:primary_toolbar) do %>
|
4
4
|
<%= link_to icon("fa fa-plus"), admin.path(:new), class: "btn btn-default btn-lg" unless admin.readonly? %>
|
@@ -7,6 +7,6 @@
|
|
7
7
|
<%= button_tag t("admin.buttons.save", default: "Save %{model_name}", model_name: admin.model_name), class: "btn btn-success btn-lg" %>
|
8
8
|
<% end %>
|
9
9
|
|
10
|
-
<%= trestle_form_for instance, url: admin.path do |f| %>
|
10
|
+
<%= trestle_form_for instance, url: admin.path, method: :post do |f| %>
|
11
11
|
<%= render partial: "form", layout: "layout" %>
|
12
12
|
<% end %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<% title =
|
1
|
+
<% title = t("admin.titles.edit", default: "Editing %{model_name}", model_name: admin.model_name, pluralized_model_name: admin.model_name.pluralize) %>
|
2
2
|
|
3
3
|
<% content_for(:title, title) %>
|
4
4
|
<% breadcrumb title %>
|
@@ -13,6 +13,6 @@
|
|
13
13
|
<% end unless admin.readonly? %>
|
14
14
|
<% end %>
|
15
15
|
|
16
|
-
<%= trestle_form_for instance, url: admin.readonly? ? "#" : admin.path(:update, id: admin.to_param(instance)) do |f| %>
|
16
|
+
<%= trestle_form_for instance, url: admin.readonly? ? "#" : admin.path(:update, id: admin.to_param(instance)), method: :patch do |f| %>
|
17
17
|
<%= render partial: "form", layout: "layout" %>
|
18
18
|
<% end %>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<aside class="app-sidebar<%= " #{cookies["trestle:sidebar"]}" if cookies["trestle:sidebar"] %>">
|
2
2
|
<header class="app-sidebar-header">
|
3
3
|
<button class="navbar-toggle">
|
4
|
-
<span class="sr-only"
|
4
|
+
<span class="sr-only"><%= t("admin.ui.toggle_navigation", default: "Toggle navigation") %></span>
|
5
5
|
<span class="icon-bar"></span>
|
6
6
|
<span class="icon-bar"></span>
|
7
7
|
<span class="icon-bar"></span>
|
@@ -32,6 +32,8 @@
|
|
32
32
|
<% end %>
|
33
33
|
</nav>
|
34
34
|
|
35
|
-
<button class="toggle-sidebar"
|
35
|
+
<button class="toggle-sidebar">
|
36
|
+
<span class="sr-only"><%= t("admin.ui.toggle_sidebar", default: "Toggle sidebar") %></span>
|
37
|
+
</button>
|
36
38
|
</div>
|
37
39
|
</aside>
|