FWS-V2
view release on metacpan or search on metacpan
lib/FWS/V2/Admin.pm view on Meta::CPAN
#
# run go file checks
#
$errorReturn = '';
$systemInfo .= '<b>Script compatibility Check:</b><br/>';
$errorReturn .= $self->_checkScript();
if ( !$errorReturn ) { $systemInfo .= '<ul><li>All script compatability checks passed.</li></ul>' }
else { $systemInfo .= $errorReturn }
#
# Database Checks
#
$systemInfo .= '<b>Database Table And Index Check:</b><br/>';
$errorReturn = $self->updateDatabase();
if ( !$errorReturn ) { $systemInfo .= '<ul><li>All tables and indexes are correct.</li></ul>' }
else {$systemInfo .= $errorReturn . '<br/>' }
if ( $adminInstalled ) {
$systemInfo .= "<input style=\"width:300px;\" type=\"button\" onclick=\"location.href='" . $self->{scriptName} . "?s=site';\" value=\"View Site\"/>";
}
return $systemInfo;
}
=head2 aceTextArea
Create an ace editor UI componate.
=cut
sub aceTextArea {
my ( $self, %paramHash ) = @_;
my $statusContainer = 'scriptChangedStatus';
if ( $paramHash{statusContainer} ) { $statusContainer = $paramHash{statusContainer} }
#
# load the JS for for ace... but only ONCE!
#
if ( !$self->{FWSAceJSLoaded} ) {
$self->addToFoot(
"<script src=\"" . $self->{fileFWSPath}."/ace-1.1.01/ace.js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n" .
"<script src=\"" . $self->{fileFWSPath}."/ace-1.1.01/theme-" . $self->{aceTheme} . ".js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n" .
"<script src=\"" . $self->{fileFWSPath}."/ace-1.1.01/mode-javascript.js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n" .
"<script src=\"" . $self->{fileFWSPath}."/ace-1.1.01/mode-html.js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n" .
"<script src=\"" . $self->{fileFWSPath}."/ace-1.1.01/mode-perl.js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n" .
"<script src=\"" . $self->{fileFWSPath}."/ace-1.1.01/mode-css.js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n"
);
$self->{FWSAceJSLoaded}++;
}
#
# set the modes if we have them
#
my $modeScript;
if ( $paramHash{mode} eq 'html' ) {
$modeScript = "var HTMLScriptMode = require(\"ace/mode/html\").Mode;" . $paramHash{name} . ".getSession().setMode(new HTMLScriptMode());";
}
if ( $paramHash{mode} eq 'javascript' ) {
$modeScript = "var JSScriptMode = require(\"ace/mode/javascript\").Mode;" . $paramHash{name} .".getSession().setMode(new JSScriptMode());";
}
if ( $paramHash{mode} eq 'perl' ) {
$modeScript = "var HTMLScriptMode = require(\"ace/mode/perl\").Mode;" . $paramHash{name} . ".getSession().setMode(new HTMLScriptMode());";
}
if ( $paramHash{mode} eq 'css' ) {
$modeScript = "var CSSScriptMode = require(\"ace/mode/css\").Mode;" . $paramHash{name} . ".getSession().setMode(new CSSScriptMode());";
}
$self->addToFoot( "<script type=\"text/javascript\">" .
"\$(document).ready(function() {" .
"window." . $paramHash{name} . " = ace.edit(\"" . $paramHash{name} . "\");" .
$paramHash{name} . ".setTheme(\"ace/theme/" . $self->{aceTheme} . "\");" .
$paramHash{name} . ".getSession().setUseWrapMode(true);" .
$paramHash{name} . ".setShowPrintMargin(false);" . $modeScript .
$paramHash{name} . ".getSession().on('change', function () {document.getElementById('" . $statusContainer . "').innerHTML='[Not Saved]';});" .
"});" .
"</script>\n");
#
# clean up thing that need to be escaped for ace
#
$paramHash{value} =~ s/&/&/sg;
$paramHash{value} =~ s/\</</sg;
#
# create the line that will actually be rendered to the screen
#
return "<pre style=\"position: absolute; padding: 0; right: 0; bottom: 0; left: 0;display:none;\" id=\"" . $paramHash{name} . "\" class=\"FWSScriptEditContainer ui-widget ui-state-default ui-corner-bottom\">" . $paramHash{value} . "</pre>";
}
=head2 onOffLight
Return an on off lightbulb.
=cut
sub onOffLight {
my ( $self, $status, $guid, $style ) = @_;
return $self->activeToggleIcon( guid => $guid, style => $style, active => $status );
}
=head2 editBox
Return a edit box for the passed element hash;
=cut
sub editBox {
my ( $self, %editHash ) = @_;
my $editHTML;
#my $ajaxID = '#editModeAJAX_' . $self->formValue( 'FWS_elementId' );
my $ajaxID = '#editModeAJAX_' . $editHash{guid};
#
# default always show to off if its not passed
#
$editHash{alwaysShow} ||= 0;
#
# default color
#
$editHash{editBoxColor} ||= '#008000;';
( run in 1.780 second using v1.01-cache-2.11-cpan-39bf76dae61 )