view release on metacpan or search on metacpan
lib/App/AutoCRUD/View/Xlsx.pm view on Meta::CPAN
# pseudo-filehandle to memory buffer
open my $fh, '>', \my $str
or die "Failed to open filehandle: $!";
# open excel file in memory
my $workbook = Excel::Writer::XLSX->new($fh);
my $worksheet = $workbook->add_worksheet();
# global Excel settings
my $title_fmt = $workbook->add_format(bold => 1, size => 13);
my $sql_fmt = $workbook->add_format(size => 9);
my $colgroup_fmt = $workbook->add_format(bold => 1, align => 'center',
border => 1, border_color => 'blue',
);
$worksheet->outline_settings(1, # visible
0, # symbols_below,
0, # symbols_right,
1, # auto_style
);
# initial Excel rows (title and SQL request)
my $table = $data->{table};
lib/App/AutoCRUD/share/static/css/styles.css view on Meta::CPAN
body { background-color: white }
.appname { font-weight: bold; float: right}
lib/App/AutoCRUD/share/templates/src/schema/tablegroups.tt view on Meta::CPAN
[% WRAPPER head %]
<style>
.groupname { width: 27%; font-weight: bold; color: navy; font-size: 120%;
vertical-align: top }
.descr { width: 60%; font-style: italic; font-size: 90%;
vertical-align: top }
.link_descr { float: right }
</style>
<script>
function setup() {
new GvaScript.TreeNavigator(
'TN_tree',
lib/App/AutoCRUD/share/templates/src/table/delete.tt view on Meta::CPAN
[% WRAPPER head %]
<style>
.groupname { font-weight: bold; color: navy; font-size: 120% }
.colname { width: 25%; padding-left : 1em }
.actions { width: 100%; text-align: right }
.remarques { font-size: 90%; text-decoration: italic }
.readonly { background-color: lightgrey }
.where { width: 4em; text-align: right; }
</style>
<script>
function setup() {
new GvaScript.TreeNavigator(
'TN_tree',
lib/App/AutoCRUD/share/templates/src/table/descr.tt view on Meta::CPAN
<style>
.groupname { font-weight: bold; color: navy; font-size: 120% }
.colname { font-weight: bold }
.actions { float: right; text-align: right; background-color: LightCyan;
margin-left: 1em; margin-top: 1em; padding-left: 0.5em }
.remarks { font-size: 90%; font-style: italic}
.pk { text-decoration: underline }
.TN_node .remarks { margin-left: 28% }
</style>
<script>
function setup() {
new GvaScript.TreeNavigator(
'TN_tree',
lib/App/AutoCRUD/share/templates/src/table/id.tt view on Meta::CPAN
[% WRAPPER head %]
<style>
.record_num { color: #a00; font-weight: bold; font-size: 120% }
.groupname { font-weight: bold; color: navy; font-size: 110% }
.record { border-top: 1px dashed gray }
.criteria { font-size: 90% }
.val { background-color: #efe }
.page_links { font : 90% Arial black }
.check_record { float: right}
.pk { text-decoration: underline }
.message { width: 60%; color: red; border: 1px solid red;
font-weight: bold; margin-top: 6px}
H1 { margin-bottom : 0}
H2 { margin-bottom : 0}
#TN_tree { clear: right }
</style>
<script>
function setup() {
new GvaScript.TreeNavigator('TN_tree');
}
window.onload = setup;
</script>
lib/App/AutoCRUD/share/templates/src/table/insert.tt view on Meta::CPAN
[% WRAPPER head %]
<style>
.groupname { font-weight: bold; color: navy; font-size: 120% }
.remarques { font-size: 90%; text-decoration: italic }
.readonly { background-color: lightgrey }
.where { width: 4em; text-align: right; }
</style>
<script>
function setup() {
new GvaScript.TreeNavigator(
'TN_tree',
{selectFirstNode: false, tabIndex: -1}
);
lib/App/AutoCRUD/share/templates/src/table/list.tt view on Meta::CPAN
[% SET pk_name = data.primary_key.join("/"); %]
[% WRAPPER head %]
<style>
.record_key { color: #a00; font-weight: bold; font-size: 120% }
.record_num { font-size: 80%; float: right }
.groupname { font-weight: bold; color: navy; font-size: 110% }
.record { border-top: 1px dashed gray }
.criteria { font-size: 90% }
.val { background-color: #efe }
.check_record { float: right}
.pk { text-decoration: underline }
.message { width: 60%; color: red; border: 1px solid red;
font-weight: bold; margin-top: 6px}
H1 { margin-bottom : 0}
H2 { margin-bottom : 0}
#TN_tree { clear: right }
</style>
<script>
function setup() {
new GvaScript.TreeNavigator('TN_tree', {selectFirstNode: false});
new GvaScript.KeyMap({LEFT : function(){$('prev_page').click()},
lib/App/AutoCRUD/share/templates/src/table/search.tt view on Meta::CPAN
[% WRAPPER head %]
<style>
.param_group { font-weight: bold; color: firebrick; font-size: 120%; }
.groupname { font-weight: bold; color: navy; font-size: 110%; }
.check_column { float: right; }
.check_col_group { margin-right: 1.5em }
.check_all_groups { margin-right: 3em }
.clear_float { display:block;height:0;margin:0;
clear:both;visibility:hidden;}
#TN_tree { clear: right }
#criteria .TN_node { border-top: 1px dashed gray }
.TN_button { background-position-y: top; }
.focused_label { border-bottom: 1px dashed blue }
.pk { text-decoration: underline }
lib/App/AutoCRUD/share/templates/src/table/update.tt view on Meta::CPAN
[% WRAPPER head %]
<style>
.groupname { font-weight: bold; color: navy; font-size: 120% }
.TN_leaf { display: block }
.actions { float: right; text-align: right; background-color: LightCyan;
margin-left: 1em; margin-top: 1em; padding-left: 0.5em }
.readonly { background-color: lightgrey }
.where { display: inline-block; width: 4em; text-align: right}
.focused_label { border-bottom: 1px dashed blue }
</style>
<script>
var tn_tree;