Navigation Menu

Skip to content

Commit

Permalink
Item12870: disabling TIDY hassle
Browse files Browse the repository at this point in the history
- doesn't accept custom settings
  • Loading branch information
MichaelDaum committed May 25, 2016
1 parent 557f307 commit e976c6f
Show file tree
Hide file tree
Showing 16 changed files with 1,375 additions and 1,540 deletions.
1 change: 0 additions & 1 deletion TIDY

This file was deleted.

166 changes: 76 additions & 90 deletions lib/Foswiki/Plugins/JQDataTablesPlugin.pm
Expand Up @@ -7,120 +7,106 @@ use warnings;
use Assert;
use Error qw(:try);

use Foswiki::Plugins ();
use Foswiki::Plugins::JQueryPlugin ();
use Foswiki::Func ();
use Foswiki::Plugins ();
use Foswiki::Plugins::JQueryPlugin ();
use Foswiki::Func ();
use Foswiki::AccessControlException ();

our $VERSION = '3.00';
our $RELEASE = '25 May 2016';
our $VERSION = '3.00';
our $RELEASE = '25 May 2016';
our $SHORTDESCRIPTION = 'JQuery based progressive enhancement of tables';

sub initPlugin {

Foswiki::Plugins::JQueryPlugin::registerPlugin( 'DataTablesAutoButtons',
'Foswiki::Plugins::JQDataTablesPlugin::DataTables::Buttons' );
Foswiki::Plugins::JQueryPlugin::registerPlugin( 'DataTablesAutoFill',
'Foswiki::Plugins::JQDataTablesPlugin::DataTables::AutoFill' );
Foswiki::Plugins::JQueryPlugin::registerPlugin( 'DataTablesColReorder',
'Foswiki::Plugins::JQDataTablesPlugin::DataTables::ColReorder' );
Foswiki::Plugins::JQueryPlugin::registerPlugin( 'DataTablesFixedColumns',
'Foswiki::Plugins::JQDataTablesPlugin::DataTables::FixedColumns' );
Foswiki::Plugins::JQueryPlugin::registerPlugin( 'DataTables',
'Foswiki::Plugins::JQDataTablesPlugin::DataTables' );
Foswiki::Plugins::JQueryPlugin::registerPlugin( 'DataTablesResponsive',
'Foswiki::Plugins::JQDataTablesPlugin::DataTables::Responsive' );
Foswiki::Plugins::JQueryPlugin::registerPlugin( 'DataTablesSelect',
'Foswiki::Plugins::JQDataTablesPlugin::DataTables::Select' );
Foswiki::Plugins::JQueryPlugin::registerPlugin( 'DataTablesFixedHeader',
'Foswiki::Plugins::JQDataTablesPlugin::DataTables::FixedHeader' );
Foswiki::Plugins::JQueryPlugin::registerPlugin( 'DataTablesScroller',
'Foswiki::Plugins::JQDataTablesPlugin::DataTables::Scroller' );

# Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesJSZip', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::JSZip');
# Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesKeyTable', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::KeyTable');
# Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesPDFMaker', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::PDFMaker');
# Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesRowReorder', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::RowReorder');

Foswiki::Func::registerTagHandler( 'DATATABLE', \&handleDataTable );
Foswiki::Func::registerRESTHandler(
'connector', \&restConnector,
authenticate => 0,
validate => 0,
http_allow => 'GET,POST',
);

return 1;
Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesAutoButtons', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::Buttons');
Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesAutoFill', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::AutoFill');
Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesColReorder', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::ColReorder');
Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesFixedColumns', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::FixedColumns');
Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTables', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables');
Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesResponsive', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::Responsive');
Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesSelect', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::Select');
Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesFixedHeader', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::FixedHeader');
Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesScroller', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::Scroller');

# Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesJSZip', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::JSZip');
# Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesKeyTable', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::KeyTable');
# Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesPDFMaker', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::PDFMaker');
# Foswiki::Plugins::JQueryPlugin::registerPlugin('DataTablesRowReorder', 'Foswiki::Plugins::JQDataTablesPlugin::DataTables::RowReorder');

Foswiki::Func::registerTagHandler('DATATABLE', \&handleDataTable);
Foswiki::Func::registerRESTHandler(
'connector', \&restConnector,
authenticate => 0,
validate => 0,
http_allow => 'GET,POST',
);

return 1;
}

sub handleDataTable {
my $session = shift;
my $session = shift;

my $plugin = Foswiki::Plugins::JQueryPlugin::createPlugin('datatables');
my $plugin = Foswiki::Plugins::JQueryPlugin::createPlugin('datatables');

return $plugin->handleDataTable(@_) if $plugin;
return '';
return $plugin->handleDataTable(@_) if $plugin;
return '';
}

sub restConnector {
my ( $session, $subject, $verb, $response ) = @_;

my $request = Foswiki::Func::getCgiQuery();

my $connectorID =
$request->param('connector')
|| $Foswiki::cfg{JQDataTablesPlugin}{DefaultConnector}
|| 'search';
my $connectorClass =
$Foswiki::cfg{JQDataTablesPlugin}{Connector}{$connectorID}
|| $Foswiki::cfg{JQDataTablesPlugin}{ExternalConnectors}{$connectorID};

unless ($connectorClass) {
printRESTResult( $response, 500,
"ERROR: unknown connector $connectorID" );
return '';
}
my ($session, $subject, $verb, $response) = @_;

eval "require $connectorClass";
if ($@) {
printRESTResult( $response, 500,
"ERROR: loading connector $connectorID - $@" );
return '';
}
my $request = Foswiki::Func::getCgiQuery();

my $connector = $connectorClass->new($session);
my $connectorID =
$request->param('connector')
|| $Foswiki::cfg{JQDataTablesPlugin}{DefaultConnector}
|| 'search';
my $connectorClass = $Foswiki::cfg{JQDataTablesPlugin}{Connector}{$connectorID}
|| $Foswiki::cfg{JQDataTablesPlugin}{ExternalConnectors}{$connectorID};

my $action = $request->param('oper') || 'search';
try {
if ( $action eq 'edit' ) {
$connector->restHandleSave( $request, $response );
}
else {
$connector->restHandleSearch( $request, $response );
}
}
catch Foswiki::AccessControlException with {
my $error = shift;
printRESTResult( $response, 401,
"ERROR: Unauthorized access to $error->{web}.$error->{topic}" );
}
catch Error::Simple with {
my $error = shift;
printRESTResult( $response, 500, "ERROR: " . $error );
};
unless ($connectorClass) {
printRESTResult($response, 500, "ERROR: unknown connector $connectorID");
return '';
}

eval "require $connectorClass";
if ($@) {
printRESTResult($response, 500, "ERROR: loading connector $connectorID - $@");
return '';
}

my $connector = $connectorClass->new($session);

my $action = $request->param('oper') || 'search';
try {
if ($action eq 'edit') {
$connector->restHandleSave($request, $response);
} else {
$connector->restHandleSearch($request, $response);
}
}
catch Foswiki::AccessControlException with {
my $error = shift;
printRESTResult($response, 401, "ERROR: Unauthorized access to $error->{web}.$error->{topic}");
}
catch Error::Simple with {
my $error = shift;
printRESTResult($response, 500, "ERROR: " . $error);
};

return '';
}

sub printRESTResult {
my ( $response, $status, $text ) = @_;
my ($response, $status, $text) = @_;

$response->header(
-status => $status,
-type => 'text/plain',
);
$response->header(
-status => $status,
-type => 'text/plain',
);

$response->print("$text\n");
$response->print("$text\n");
}

1;
Expand Down

0 comments on commit e976c6f

Please sign in to comment.