diff --git a/index.php b/index.php
index 7214220..4f62db2 100644
--- a/index.php
+++ b/index.php
@@ -15,7 +15,7 @@ if(isset($_REQUEST['debug'])) {ini_set('display_errors', 'On');}
-
+
@@ -28,6 +28,11 @@ if(isset($_REQUEST['debug'])) {ini_set('display_errors', 'On');}
32) {
$identificador_original= $identificador;
$key = substr($identificador, 32, $length = 40);
@@ -264,6 +279,12 @@ if ($variable !=''){
}
elseif($v[0] =='p') {
$set =$v[1];
+ $form =$v[1];
+
+ $empresa = remplacetas('form_id','id',$form,'id_empresa',"") ;
+ $razon_social_portal = remplacetas('empresa','id',"$empresa[0]",'razon_social','') ;
+ $titulo = remplacetas('empresa','id',"$empresa[0]",'razon_social','') ;
+ $id_empresa = $empresa[0];
/// s= SET DE DATOS
$embebido = "1";
if(isset($_REQUEST['print'])) { $print = "window.print()";}
@@ -588,6 +609,9 @@ if('serviceWorker' in navigator) {
/// g=FORMULARIO EMBEBIDO
$no_mostrar ="display:none; ";
$form =$v[1];
+ $empresa = remplacetas('form_id','id',$form,'id_empresa',"") ;
+ $razon_social_portal = remplacetas('empresa','id',"1",'razon_social','') ;
+ $id_empresa = $empresa[0];
$embebido = "1";
$onload = formulario_embebido($form,$opciones);
}
@@ -663,11 +687,24 @@ $aplicacion_pie="
$onload = "$suite_listado";
}
+ elseif($v[0] =='m') {
+ $set =$v[1];
+ $form =$v[1];
+
+ $empresa = remplacetas('form_id','id',$form,'id_empresa',"") ;
+ $razon_social_portal = remplacetas('empresa','id',"$empresa[0]",'razon_social','') ;
+ $titulo = remplacetas('empresa','id',"$empresa[0]",'razon_social','') ;
+ $id_empresa = $empresa[0];
+ $embebido = "1";
+ if(isset($_REQUEST['print'])) { $print = "window.print()";}
+ $onload = "".checklist("$set",@$_REQUEST['registros'],@$_REQUEST['campo'],@$_REQUEST['valor'],'')." ";
+
+ }
elseif($v[0] =='n') {
- /// g=FORMULARIO EMBEBIDO
+ $form =$v[1];
$embebido = "1";
$no_mostrar ="display:none; ";
- $form =$v[1];
+
$publico = remplacetas('form_id','id',$form,'publico','') ;
$empresa_seguridad = remplacetas('form_id','id',$form,'id_empresa','') ;
if($publico[0] != "1" and ( $_SESSION['id_empresa'] != $empresa_seguridad[0] ) ) {
@@ -741,11 +778,12 @@ $css_adicional = remplacetas('form_parametrizacion','campo',"index",'descripcion
if($css_adicional[0] !="") {
$css_adicional ="";
}
else {
- $css_adicional ="";
+ $css_adicional ="";
}
@@ -783,6 +821,7 @@ $uri = $_SERVER['REQUEST_URI'];
+
printJavascript("milfs/xajax/");
$xajax->statusMessagesOn();
@@ -845,6 +884,9 @@ $uri = $_SERVER['REQUEST_URI'];
+
+
+
@@ -1035,7 +1077,7 @@ $eventos= "
if( $embebido =="1" ){ /* SI SE SOLICITA UN EMBEBIDO SE MUESTRA ESTO */
-
+echo $css_adicional;
echo $onload;
if(isset($set)) {
diff --git a/librerias/datatables/Buttons-1.5.1/css/buttons.bootstrap.css b/librerias/datatables/Buttons-1.5.1/css/buttons.bootstrap.css
new file mode 100644
index 0000000..c9686bb
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/buttons.bootstrap.css
@@ -0,0 +1,161 @@
+@keyframes dtb-spinner {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+@-o-keyframes dtb-spinner {
+ 100% {
+ -o-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-ms-keyframes dtb-spinner {
+ 100% {
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-webkit-keyframes dtb-spinner {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-moz-keyframes dtb-spinner {
+ 100% {
+ -moz-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+div.dt-button-info {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 400px;
+ margin-top: -100px;
+ margin-left: -200px;
+ background-color: white;
+ border: 2px solid #111;
+ box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
+ border-radius: 3px;
+ text-align: center;
+ z-index: 21;
+}
+div.dt-button-info h2 {
+ padding: 0.5em;
+ margin: 0;
+ font-weight: normal;
+ border-bottom: 1px solid #ddd;
+ background-color: #f3f3f3;
+}
+div.dt-button-info > div {
+ padding: 1em;
+}
+
+ul.dt-button-collection.dropdown-menu {
+ display: block;
+ z-index: 2002;
+ -webkit-column-gap: 8px;
+ -moz-column-gap: 8px;
+ -ms-column-gap: 8px;
+ -o-column-gap: 8px;
+ column-gap: 8px;
+}
+ul.dt-button-collection.dropdown-menu.fixed {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ margin-left: -75px;
+ border-radius: 0;
+}
+ul.dt-button-collection.dropdown-menu.fixed.two-column {
+ margin-left: -150px;
+}
+ul.dt-button-collection.dropdown-menu.fixed.three-column {
+ margin-left: -225px;
+}
+ul.dt-button-collection.dropdown-menu.fixed.four-column {
+ margin-left: -300px;
+}
+ul.dt-button-collection.dropdown-menu > * {
+ -webkit-column-break-inside: avoid;
+ break-inside: avoid;
+}
+ul.dt-button-collection.dropdown-menu.two-column {
+ width: 300px;
+ padding-bottom: 1px;
+ -webkit-column-count: 2;
+ -moz-column-count: 2;
+ -ms-column-count: 2;
+ -o-column-count: 2;
+ column-count: 2;
+}
+ul.dt-button-collection.dropdown-menu.three-column {
+ width: 450px;
+ padding-bottom: 1px;
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ -ms-column-count: 3;
+ -o-column-count: 3;
+ column-count: 3;
+}
+ul.dt-button-collection.dropdown-menu.four-column {
+ width: 600px;
+ padding-bottom: 1px;
+ -webkit-column-count: 4;
+ -moz-column-count: 4;
+ -ms-column-count: 4;
+ -o-column-count: 4;
+ column-count: 4;
+}
+ul.dt-button-collection.dropdown-menu .dt-button {
+ border-radius: 0;
+}
+
+div.dt-button-background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 2001;
+}
+
+@media screen and (max-width: 767px) {
+ div.dt-buttons {
+ float: none;
+ width: 100%;
+ text-align: center;
+ margin-bottom: 0.5em;
+ }
+ div.dt-buttons a.btn {
+ float: none;
+ }
+}
+div.dt-buttons button.btn.processing,
+div.dt-buttons div.btn.processing,
+div.dt-buttons a.btn.processing {
+ color: rgba(0, 0, 0, 0.2);
+}
+div.dt-buttons button.btn.processing:after,
+div.dt-buttons div.btn.processing:after,
+div.dt-buttons a.btn.processing:after {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 16px;
+ height: 16px;
+ margin: -8px 0 0 -8px;
+ box-sizing: border-box;
+ display: block;
+ content: ' ';
+ border: 2px solid #282828;
+ border-radius: 50%;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ animation: dtb-spinner 1500ms infinite linear;
+ -o-animation: dtb-spinner 1500ms infinite linear;
+ -ms-animation: dtb-spinner 1500ms infinite linear;
+ -webkit-animation: dtb-spinner 1500ms infinite linear;
+ -moz-animation: dtb-spinner 1500ms infinite linear;
+}
diff --git a/librerias/datatables/Buttons-1.5.1/css/buttons.bootstrap.min.css b/librerias/datatables/Buttons-1.5.1/css/buttons.bootstrap.min.css
new file mode 100644
index 0000000..6de6703
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/buttons.bootstrap.min.css
@@ -0,0 +1 @@
+@keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-o-keyframes dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dtb-spinner{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}ul.dt-button-collection.dropdown-menu{display:block;z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}ul.dt-button-collection.dropdown-menu.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}ul.dt-button-collection.dropdown-menu.fixed.two-column{margin-left:-150px}ul.dt-button-collection.dropdown-menu.fixed.three-column{margin-left:-225px}ul.dt-button-collection.dropdown-menu.fixed.four-column{margin-left:-300px}ul.dt-button-collection.dropdown-menu>*{-webkit-column-break-inside:avoid;break-inside:avoid}ul.dt-button-collection.dropdown-menu.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}ul.dt-button-collection.dropdown-menu.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}ul.dt-button-collection.dropdown-menu.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}ul.dt-button-collection.dropdown-menu .dt-button{border-radius:0}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2001}@media screen and (max-width: 767px){div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:0.5em}div.dt-buttons a.btn{float:none}}div.dt-buttons button.btn.processing,div.dt-buttons div.btn.processing,div.dt-buttons a.btn.processing{color:rgba(0,0,0,0.2)}div.dt-buttons button.btn.processing:after,div.dt-buttons div.btn.processing:after,div.dt-buttons a.btn.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1500ms infinite linear;-o-animation:dtb-spinner 1500ms infinite linear;-ms-animation:dtb-spinner 1500ms infinite linear;-webkit-animation:dtb-spinner 1500ms infinite linear;-moz-animation:dtb-spinner 1500ms infinite linear}
diff --git a/librerias/datatables/Buttons-1.5.1/css/buttons.bootstrap4.css b/librerias/datatables/Buttons-1.5.1/css/buttons.bootstrap4.css
new file mode 100644
index 0000000..a51aaf8
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/buttons.bootstrap4.css
@@ -0,0 +1,225 @@
+@keyframes dtb-spinner {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+@-o-keyframes dtb-spinner {
+ 100% {
+ -o-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-ms-keyframes dtb-spinner {
+ 100% {
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-webkit-keyframes dtb-spinner {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-moz-keyframes dtb-spinner {
+ 100% {
+ -moz-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+div.dt-button-info {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 400px;
+ margin-top: -100px;
+ margin-left: -200px;
+ background-color: white;
+ border: 2px solid #111;
+ box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
+ border-radius: 3px;
+ text-align: center;
+ z-index: 21;
+}
+div.dt-button-info h2 {
+ padding: 0.5em;
+ margin: 0;
+ font-weight: normal;
+ border-bottom: 1px solid #ddd;
+ background-color: #f3f3f3;
+}
+div.dt-button-info > div {
+ padding: 1em;
+}
+
+ul.dt-button-collection.dropdown-menu {
+ display: block;
+ z-index: 2002;
+ -webkit-column-gap: 8px;
+ -moz-column-gap: 8px;
+ -ms-column-gap: 8px;
+ -o-column-gap: 8px;
+ column-gap: 8px;
+}
+ul.dt-button-collection.dropdown-menu.fixed {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ margin-left: -75px;
+ border-radius: 0;
+}
+ul.dt-button-collection.dropdown-menu.fixed.two-column {
+ margin-left: -150px;
+}
+ul.dt-button-collection.dropdown-menu.fixed.three-column {
+ margin-left: -225px;
+}
+ul.dt-button-collection.dropdown-menu.fixed.four-column {
+ margin-left: -300px;
+}
+ul.dt-button-collection.dropdown-menu > * {
+ -webkit-column-break-inside: avoid;
+ break-inside: avoid;
+}
+ul.dt-button-collection.dropdown-menu.two-column {
+ width: 300px;
+ padding-bottom: 1px;
+ -webkit-column-count: 2;
+ -moz-column-count: 2;
+ -ms-column-count: 2;
+ -o-column-count: 2;
+ column-count: 2;
+}
+ul.dt-button-collection.dropdown-menu.three-column {
+ width: 450px;
+ padding-bottom: 1px;
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ -ms-column-count: 3;
+ -o-column-count: 3;
+ column-count: 3;
+}
+ul.dt-button-collection.dropdown-menu.four-column {
+ width: 600px;
+ padding-bottom: 1px;
+ -webkit-column-count: 4;
+ -moz-column-count: 4;
+ -ms-column-count: 4;
+ -o-column-count: 4;
+ column-count: 4;
+}
+ul.dt-button-collection.dropdown-menu .dt-button {
+ border-radius: 0;
+}
+
+ul.dt-button-collection {
+ -webkit-column-gap: 8px;
+ -moz-column-gap: 8px;
+ -ms-column-gap: 8px;
+ -o-column-gap: 8px;
+ column-gap: 8px;
+}
+ul.dt-button-collection.fixed {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ margin-left: -75px;
+ border-radius: 0;
+}
+ul.dt-button-collection.fixed.two-column {
+ margin-left: -150px;
+}
+ul.dt-button-collection.fixed.three-column {
+ margin-left: -225px;
+}
+ul.dt-button-collection.fixed.four-column {
+ margin-left: -300px;
+}
+ul.dt-button-collection > * {
+ -webkit-column-break-inside: avoid;
+ break-inside: avoid;
+}
+ul.dt-button-collection.two-column {
+ width: 300px;
+ padding-bottom: 1px;
+ -webkit-column-count: 2;
+ -moz-column-count: 2;
+ -ms-column-count: 2;
+ -o-column-count: 2;
+ column-count: 2;
+}
+ul.dt-button-collection.three-column {
+ width: 450px;
+ padding-bottom: 1px;
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ -ms-column-count: 3;
+ -o-column-count: 3;
+ column-count: 3;
+}
+ul.dt-button-collection.four-column {
+ width: 600px;
+ padding-bottom: 1px;
+ -webkit-column-count: 4;
+ -moz-column-count: 4;
+ -ms-column-count: 4;
+ -o-column-count: 4;
+ column-count: 4;
+}
+ul.dt-button-collection .dt-button {
+ border-radius: 0;
+}
+ul.dt-button-collection.fixed {
+ max-width: none;
+}
+ul.dt-button-collection.fixed:before, ul.dt-button-collection.fixed:after {
+ display: none;
+}
+
+div.dt-button-background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 999;
+}
+
+@media screen and (max-width: 767px) {
+ div.dt-buttons {
+ float: none;
+ width: 100%;
+ text-align: center;
+ margin-bottom: 0.5em;
+ }
+ div.dt-buttons a.btn {
+ float: none;
+ }
+}
+div.dt-buttons button.btn.processing,
+div.dt-buttons div.btn.processing,
+div.dt-buttons a.btn.processing {
+ color: rgba(0, 0, 0, 0.2);
+}
+div.dt-buttons button.btn.processing:after,
+div.dt-buttons div.btn.processing:after,
+div.dt-buttons a.btn.processing:after {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 16px;
+ height: 16px;
+ margin: -8px 0 0 -8px;
+ box-sizing: border-box;
+ display: block;
+ content: ' ';
+ border: 2px solid #282828;
+ border-radius: 50%;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ animation: dtb-spinner 1500ms infinite linear;
+ -o-animation: dtb-spinner 1500ms infinite linear;
+ -ms-animation: dtb-spinner 1500ms infinite linear;
+ -webkit-animation: dtb-spinner 1500ms infinite linear;
+ -moz-animation: dtb-spinner 1500ms infinite linear;
+}
diff --git a/librerias/datatables/Buttons-1.5.1/css/buttons.bootstrap4.min.css b/librerias/datatables/Buttons-1.5.1/css/buttons.bootstrap4.min.css
new file mode 100644
index 0000000..dcf41c6
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/buttons.bootstrap4.min.css
@@ -0,0 +1 @@
+@keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-o-keyframes dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dtb-spinner{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}ul.dt-button-collection.dropdown-menu{display:block;z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}ul.dt-button-collection.dropdown-menu.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}ul.dt-button-collection.dropdown-menu.fixed.two-column{margin-left:-150px}ul.dt-button-collection.dropdown-menu.fixed.three-column{margin-left:-225px}ul.dt-button-collection.dropdown-menu.fixed.four-column{margin-left:-300px}ul.dt-button-collection.dropdown-menu>*{-webkit-column-break-inside:avoid;break-inside:avoid}ul.dt-button-collection.dropdown-menu.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}ul.dt-button-collection.dropdown-menu.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}ul.dt-button-collection.dropdown-menu.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}ul.dt-button-collection.dropdown-menu .dt-button{border-radius:0}ul.dt-button-collection{-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}ul.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}ul.dt-button-collection.fixed.two-column{margin-left:-150px}ul.dt-button-collection.fixed.three-column{margin-left:-225px}ul.dt-button-collection.fixed.four-column{margin-left:-300px}ul.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}ul.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}ul.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}ul.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}ul.dt-button-collection .dt-button{border-radius:0}ul.dt-button-collection.fixed{max-width:none}ul.dt-button-collection.fixed:before,ul.dt-button-collection.fixed:after{display:none}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999}@media screen and (max-width: 767px){div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:0.5em}div.dt-buttons a.btn{float:none}}div.dt-buttons button.btn.processing,div.dt-buttons div.btn.processing,div.dt-buttons a.btn.processing{color:rgba(0,0,0,0.2)}div.dt-buttons button.btn.processing:after,div.dt-buttons div.btn.processing:after,div.dt-buttons a.btn.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1500ms infinite linear;-o-animation:dtb-spinner 1500ms infinite linear;-ms-animation:dtb-spinner 1500ms infinite linear;-webkit-animation:dtb-spinner 1500ms infinite linear;-moz-animation:dtb-spinner 1500ms infinite linear}
diff --git a/librerias/datatables/Buttons-1.5.1/css/buttons.dataTables.css b/librerias/datatables/Buttons-1.5.1/css/buttons.dataTables.css
new file mode 100644
index 0000000..bb4dc79
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/buttons.dataTables.css
@@ -0,0 +1,360 @@
+@keyframes dtb-spinner {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+@-o-keyframes dtb-spinner {
+ 100% {
+ -o-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-ms-keyframes dtb-spinner {
+ 100% {
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-webkit-keyframes dtb-spinner {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-moz-keyframes dtb-spinner {
+ 100% {
+ -moz-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+div.dt-button-info {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 400px;
+ margin-top: -100px;
+ margin-left: -200px;
+ background-color: white;
+ border: 2px solid #111;
+ box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
+ border-radius: 3px;
+ text-align: center;
+ z-index: 21;
+}
+div.dt-button-info h2 {
+ padding: 0.5em;
+ margin: 0;
+ font-weight: normal;
+ border-bottom: 1px solid #ddd;
+ background-color: #f3f3f3;
+}
+div.dt-button-info > div {
+ padding: 1em;
+}
+
+button.dt-button,
+div.dt-button,
+a.dt-button {
+ position: relative;
+ display: inline-block;
+ box-sizing: border-box;
+ margin-right: 0.333em;
+ margin-bottom: 0.333em;
+ padding: 0.5em 1em;
+ border: 1px solid #999;
+ border-radius: 2px;
+ cursor: pointer;
+ font-size: 0.88em;
+ line-height: 1.6em;
+ color: black;
+ white-space: nowrap;
+ overflow: hidden;
+ background-color: #e9e9e9;
+ /* Fallback */
+ background-image: -webkit-linear-gradient(top, white 0%, #e9e9e9 100%);
+ /* Chrome 10+, Saf5.1+, iOS 5+ */
+ background-image: -moz-linear-gradient(top, white 0%, #e9e9e9 100%);
+ /* FF3.6 */
+ background-image: -ms-linear-gradient(top, white 0%, #e9e9e9 100%);
+ /* IE10 */
+ background-image: -o-linear-gradient(top, white 0%, #e9e9e9 100%);
+ /* Opera 11.10+ */
+ background-image: linear-gradient(to bottom, white 0%, #e9e9e9 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='white', EndColorStr='#e9e9e9');
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ text-decoration: none;
+ outline: none;
+}
+button.dt-button.disabled,
+div.dt-button.disabled,
+a.dt-button.disabled {
+ color: #999;
+ border: 1px solid #d0d0d0;
+ cursor: default;
+ background-color: #f9f9f9;
+ /* Fallback */
+ background-image: -webkit-linear-gradient(top, #ffffff 0%, #f9f9f9 100%);
+ /* Chrome 10+, Saf5.1+, iOS 5+ */
+ background-image: -moz-linear-gradient(top, #ffffff 0%, #f9f9f9 100%);
+ /* FF3.6 */
+ background-image: -ms-linear-gradient(top, #ffffff 0%, #f9f9f9 100%);
+ /* IE10 */
+ background-image: -o-linear-gradient(top, #ffffff 0%, #f9f9f9 100%);
+ /* Opera 11.10+ */
+ background-image: linear-gradient(to bottom, #ffffff 0%, #f9f9f9 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#ffffff', EndColorStr='#f9f9f9');
+}
+button.dt-button:active:not(.disabled), button.dt-button.active:not(.disabled),
+div.dt-button:active:not(.disabled),
+div.dt-button.active:not(.disabled),
+a.dt-button:active:not(.disabled),
+a.dt-button.active:not(.disabled) {
+ background-color: #e2e2e2;
+ /* Fallback */
+ background-image: -webkit-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);
+ /* Chrome 10+, Saf5.1+, iOS 5+ */
+ background-image: -moz-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);
+ /* FF3.6 */
+ background-image: -ms-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);
+ /* IE10 */
+ background-image: -o-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);
+ /* Opera 11.10+ */
+ background-image: linear-gradient(to bottom, #f3f3f3 0%, #e2e2e2 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f3f3f3', EndColorStr='#e2e2e2');
+ box-shadow: inset 1px 1px 3px #999999;
+}
+button.dt-button:active:not(.disabled):hover:not(.disabled), button.dt-button.active:not(.disabled):hover:not(.disabled),
+div.dt-button:active:not(.disabled):hover:not(.disabled),
+div.dt-button.active:not(.disabled):hover:not(.disabled),
+a.dt-button:active:not(.disabled):hover:not(.disabled),
+a.dt-button.active:not(.disabled):hover:not(.disabled) {
+ box-shadow: inset 1px 1px 3px #999999;
+ background-color: #cccccc;
+ /* Fallback */
+ background-image: -webkit-linear-gradient(top, #eaeaea 0%, #cccccc 100%);
+ /* Chrome 10+, Saf5.1+, iOS 5+ */
+ background-image: -moz-linear-gradient(top, #eaeaea 0%, #cccccc 100%);
+ /* FF3.6 */
+ background-image: -ms-linear-gradient(top, #eaeaea 0%, #cccccc 100%);
+ /* IE10 */
+ background-image: -o-linear-gradient(top, #eaeaea 0%, #cccccc 100%);
+ /* Opera 11.10+ */
+ background-image: linear-gradient(to bottom, #eaeaea 0%, #cccccc 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#eaeaea', EndColorStr='#cccccc');
+}
+button.dt-button:hover,
+div.dt-button:hover,
+a.dt-button:hover {
+ text-decoration: none;
+}
+button.dt-button:hover:not(.disabled),
+div.dt-button:hover:not(.disabled),
+a.dt-button:hover:not(.disabled) {
+ border: 1px solid #666;
+ background-color: #e0e0e0;
+ /* Fallback */
+ background-image: -webkit-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);
+ /* Chrome 10+, Saf5.1+, iOS 5+ */
+ background-image: -moz-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);
+ /* FF3.6 */
+ background-image: -ms-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);
+ /* IE10 */
+ background-image: -o-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);
+ /* Opera 11.10+ */
+ background-image: linear-gradient(to bottom, #f9f9f9 0%, #e0e0e0 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f9f9f9', EndColorStr='#e0e0e0');
+}
+button.dt-button:focus:not(.disabled),
+div.dt-button:focus:not(.disabled),
+a.dt-button:focus:not(.disabled) {
+ border: 1px solid #426c9e;
+ text-shadow: 0 1px 0 #c4def1;
+ outline: none;
+ background-color: #79ace9;
+ /* Fallback */
+ background-image: -webkit-linear-gradient(top, #bddef4 0%, #79ace9 100%);
+ /* Chrome 10+, Saf5.1+, iOS 5+ */
+ background-image: -moz-linear-gradient(top, #bddef4 0%, #79ace9 100%);
+ /* FF3.6 */
+ background-image: -ms-linear-gradient(top, #bddef4 0%, #79ace9 100%);
+ /* IE10 */
+ background-image: -o-linear-gradient(top, #bddef4 0%, #79ace9 100%);
+ /* Opera 11.10+ */
+ background-image: linear-gradient(to bottom, #bddef4 0%, #79ace9 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#bddef4', EndColorStr='#79ace9');
+}
+
+.dt-button embed {
+ outline: none;
+}
+
+div.dt-buttons {
+ position: relative;
+ float: left;
+}
+div.dt-buttons.buttons-right {
+ float: right;
+}
+
+div.dt-button-collection {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 150px;
+ margin-top: 3px;
+ padding: 8px 8px 4px 8px;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.4);
+ background-color: white;
+ overflow: hidden;
+ z-index: 2002;
+ border-radius: 5px;
+ box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
+ z-index: 2002;
+ -webkit-column-gap: 8px;
+ -moz-column-gap: 8px;
+ -ms-column-gap: 8px;
+ -o-column-gap: 8px;
+ column-gap: 8px;
+}
+div.dt-button-collection button.dt-button,
+div.dt-button-collection div.dt-button,
+div.dt-button-collection a.dt-button {
+ position: relative;
+ left: 0;
+ right: 0;
+ width: 100%;
+ display: block;
+ float: none;
+ margin-bottom: 4px;
+ margin-right: 0;
+}
+div.dt-button-collection button.dt-button:active:not(.disabled), div.dt-button-collection button.dt-button.active:not(.disabled),
+div.dt-button-collection div.dt-button:active:not(.disabled),
+div.dt-button-collection div.dt-button.active:not(.disabled),
+div.dt-button-collection a.dt-button:active:not(.disabled),
+div.dt-button-collection a.dt-button.active:not(.disabled) {
+ background-color: #dadada;
+ /* Fallback */
+ background-image: -webkit-linear-gradient(top, #f0f0f0 0%, #dadada 100%);
+ /* Chrome 10+, Saf5.1+, iOS 5+ */
+ background-image: -moz-linear-gradient(top, #f0f0f0 0%, #dadada 100%);
+ /* FF3.6 */
+ background-image: -ms-linear-gradient(top, #f0f0f0 0%, #dadada 100%);
+ /* IE10 */
+ background-image: -o-linear-gradient(top, #f0f0f0 0%, #dadada 100%);
+ /* Opera 11.10+ */
+ background-image: linear-gradient(to bottom, #f0f0f0 0%, #dadada 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f0f0f0', EndColorStr='#dadada');
+ box-shadow: inset 1px 1px 3px #666;
+}
+div.dt-button-collection.fixed {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ margin-left: -75px;
+ border-radius: 0;
+}
+div.dt-button-collection.fixed.two-column {
+ margin-left: -150px;
+}
+div.dt-button-collection.fixed.three-column {
+ margin-left: -225px;
+}
+div.dt-button-collection.fixed.four-column {
+ margin-left: -300px;
+}
+div.dt-button-collection > * {
+ -webkit-column-break-inside: avoid;
+ break-inside: avoid;
+}
+div.dt-button-collection.two-column {
+ width: 300px;
+ padding-bottom: 1px;
+ -webkit-column-count: 2;
+ -moz-column-count: 2;
+ -ms-column-count: 2;
+ -o-column-count: 2;
+ column-count: 2;
+}
+div.dt-button-collection.three-column {
+ width: 450px;
+ padding-bottom: 1px;
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ -ms-column-count: 3;
+ -o-column-count: 3;
+ column-count: 3;
+}
+div.dt-button-collection.four-column {
+ width: 600px;
+ padding-bottom: 1px;
+ -webkit-column-count: 4;
+ -moz-column-count: 4;
+ -ms-column-count: 4;
+ -o-column-count: 4;
+ column-count: 4;
+}
+div.dt-button-collection .dt-button {
+ border-radius: 0;
+}
+
+div.dt-button-background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.7);
+ /* Fallback */
+ background: -ms-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ /* IE10 Consumer Preview */
+ background: -moz-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ /* Firefox */
+ background: -o-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ /* Opera */
+ background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0, 0, 0, 0.3)), color-stop(1, rgba(0, 0, 0, 0.7)));
+ /* Webkit (Safari/Chrome 10) */
+ background: -webkit-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ /* Webkit (Chrome 11+) */
+ background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ /* W3C Markup, IE10 Release Preview */
+ z-index: 2001;
+}
+
+@media screen and (max-width: 640px) {
+ div.dt-buttons {
+ float: none !important;
+ text-align: center;
+ }
+}
+button.dt-button.processing,
+div.dt-button.processing,
+a.dt-button.processing {
+ color: rgba(0, 0, 0, 0.2);
+}
+button.dt-button.processing:after,
+div.dt-button.processing:after,
+a.dt-button.processing:after {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 16px;
+ height: 16px;
+ margin: -8px 0 0 -8px;
+ box-sizing: border-box;
+ display: block;
+ content: ' ';
+ border: 2px solid #282828;
+ border-radius: 50%;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ animation: dtb-spinner 1500ms infinite linear;
+ -o-animation: dtb-spinner 1500ms infinite linear;
+ -ms-animation: dtb-spinner 1500ms infinite linear;
+ -webkit-animation: dtb-spinner 1500ms infinite linear;
+ -moz-animation: dtb-spinner 1500ms infinite linear;
+}
diff --git a/librerias/datatables/Buttons-1.5.1/css/buttons.dataTables.min.css b/librerias/datatables/Buttons-1.5.1/css/buttons.dataTables.min.css
new file mode 100644
index 0000000..a178fc1
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/buttons.dataTables.min.css
@@ -0,0 +1 @@
+@keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-o-keyframes dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dtb-spinner{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}button.dt-button,div.dt-button,a.dt-button{position:relative;display:inline-block;box-sizing:border-box;margin-right:0.333em;margin-bottom:0.333em;padding:0.5em 1em;border:1px solid #999;border-radius:2px;cursor:pointer;font-size:0.88em;line-height:1.6em;color:black;white-space:nowrap;overflow:hidden;background-color:#e9e9e9;background-image:-webkit-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:-moz-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:-ms-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:-o-linear-gradient(top, #fff 0%, #e9e9e9 100%);background-image:linear-gradient(to bottom, #fff 0%, #e9e9e9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='white', EndColorStr='#e9e9e9');-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;outline:none}button.dt-button.disabled,div.dt-button.disabled,a.dt-button.disabled{color:#999;border:1px solid #d0d0d0;cursor:default;background-color:#f9f9f9;background-image:-webkit-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:-moz-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:-ms-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:-o-linear-gradient(top, #fff 0%, #f9f9f9 100%);background-image:linear-gradient(to bottom, #fff 0%, #f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#ffffff', EndColorStr='#f9f9f9')}button.dt-button:active:not(.disabled),button.dt-button.active:not(.disabled),div.dt-button:active:not(.disabled),div.dt-button.active:not(.disabled),a.dt-button:active:not(.disabled),a.dt-button.active:not(.disabled){background-color:#e2e2e2;background-image:-webkit-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:-moz-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:-ms-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:-o-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);background-image:linear-gradient(to bottom, #f3f3f3 0%, #e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f3f3f3', EndColorStr='#e2e2e2');box-shadow:inset 1px 1px 3px #999999}button.dt-button:active:not(.disabled):hover:not(.disabled),button.dt-button.active:not(.disabled):hover:not(.disabled),div.dt-button:active:not(.disabled):hover:not(.disabled),div.dt-button.active:not(.disabled):hover:not(.disabled),a.dt-button:active:not(.disabled):hover:not(.disabled),a.dt-button.active:not(.disabled):hover:not(.disabled){box-shadow:inset 1px 1px 3px #999999;background-color:#cccccc;background-image:-webkit-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:-moz-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:-ms-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:-o-linear-gradient(top, #eaeaea 0%, #ccc 100%);background-image:linear-gradient(to bottom, #eaeaea 0%, #ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#eaeaea', EndColorStr='#cccccc')}button.dt-button:hover,div.dt-button:hover,a.dt-button:hover{text-decoration:none}button.dt-button:hover:not(.disabled),div.dt-button:hover:not(.disabled),a.dt-button:hover:not(.disabled){border:1px solid #666;background-color:#e0e0e0;background-image:-webkit-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:-moz-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:-ms-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:-o-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);background-image:linear-gradient(to bottom, #f9f9f9 0%, #e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f9f9f9', EndColorStr='#e0e0e0')}button.dt-button:focus:not(.disabled),div.dt-button:focus:not(.disabled),a.dt-button:focus:not(.disabled){border:1px solid #426c9e;text-shadow:0 1px 0 #c4def1;outline:none;background-color:#79ace9;background-image:-webkit-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:-moz-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:-ms-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:-o-linear-gradient(top, #bddef4 0%, #79ace9 100%);background-image:linear-gradient(to bottom, #bddef4 0%, #79ace9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#bddef4', EndColorStr='#79ace9')}.dt-button embed{outline:none}div.dt-buttons{position:relative;float:left}div.dt-buttons.buttons-right{float:right}div.dt-button-collection{position:absolute;top:0;left:0;width:150px;margin-top:3px;padding:8px 8px 4px 8px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.4);background-color:white;overflow:hidden;z-index:2002;border-radius:5px;box-shadow:3px 3px 5px rgba(0,0,0,0.3);z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}div.dt-button-collection button.dt-button,div.dt-button-collection div.dt-button,div.dt-button-collection a.dt-button{position:relative;left:0;right:0;width:100%;display:block;float:none;margin-bottom:4px;margin-right:0}div.dt-button-collection button.dt-button:active:not(.disabled),div.dt-button-collection button.dt-button.active:not(.disabled),div.dt-button-collection div.dt-button:active:not(.disabled),div.dt-button-collection div.dt-button.active:not(.disabled),div.dt-button-collection a.dt-button:active:not(.disabled),div.dt-button-collection a.dt-button.active:not(.disabled){background-color:#dadada;background-image:-webkit-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:-moz-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:-ms-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:-o-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background-image:linear-gradient(to bottom, #f0f0f0 0%, #dadada 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f0f0f0', EndColorStr='#dadada');box-shadow:inset 1px 1px 3px #666}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-150px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-collection .dt-button{border-radius:0}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:2001}@media screen and (max-width: 640px){div.dt-buttons{float:none !important;text-align:center}}button.dt-button.processing,div.dt-button.processing,a.dt-button.processing{color:rgba(0,0,0,0.2)}button.dt-button.processing:after,div.dt-button.processing:after,a.dt-button.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1500ms infinite linear;-o-animation:dtb-spinner 1500ms infinite linear;-ms-animation:dtb-spinner 1500ms infinite linear;-webkit-animation:dtb-spinner 1500ms infinite linear;-moz-animation:dtb-spinner 1500ms infinite linear}
diff --git a/librerias/datatables/Buttons-1.5.1/css/buttons.foundation.css b/librerias/datatables/Buttons-1.5.1/css/buttons.foundation.css
new file mode 100644
index 0000000..694766c
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/buttons.foundation.css
@@ -0,0 +1,192 @@
+@keyframes dtb-spinner {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+@-o-keyframes dtb-spinner {
+ 100% {
+ -o-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-ms-keyframes dtb-spinner {
+ 100% {
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-webkit-keyframes dtb-spinner {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-moz-keyframes dtb-spinner {
+ 100% {
+ -moz-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+div.dt-button-info {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 400px;
+ margin-top: -100px;
+ margin-left: -200px;
+ background-color: white;
+ border: 2px solid #111;
+ box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
+ border-radius: 3px;
+ text-align: center;
+ z-index: 21;
+}
+div.dt-button-info h2 {
+ padding: 0.5em;
+ margin: 0;
+ font-weight: normal;
+ border-bottom: 1px solid #ddd;
+ background-color: #f3f3f3;
+}
+div.dt-button-info > div {
+ padding: 1em;
+}
+
+ul.dt-buttons li {
+ margin: 0;
+}
+ul.dt-buttons li.active a {
+ box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.6);
+}
+
+ul.dt-buttons.button-group a {
+ margin-bottom: 0;
+}
+
+ul.dt-button-collection.f-dropdown {
+ -webkit-column-gap: 8px;
+ -moz-column-gap: 8px;
+ -ms-column-gap: 8px;
+ -o-column-gap: 8px;
+ column-gap: 8px;
+}
+ul.dt-button-collection.f-dropdown.fixed {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ margin-left: -75px;
+ border-radius: 0;
+}
+ul.dt-button-collection.f-dropdown.fixed.two-column {
+ margin-left: -150px;
+}
+ul.dt-button-collection.f-dropdown.fixed.three-column {
+ margin-left: -225px;
+}
+ul.dt-button-collection.f-dropdown.fixed.four-column {
+ margin-left: -300px;
+}
+ul.dt-button-collection.f-dropdown > * {
+ -webkit-column-break-inside: avoid;
+ break-inside: avoid;
+}
+ul.dt-button-collection.f-dropdown.two-column {
+ width: 300px;
+ padding-bottom: 1px;
+ -webkit-column-count: 2;
+ -moz-column-count: 2;
+ -ms-column-count: 2;
+ -o-column-count: 2;
+ column-count: 2;
+}
+ul.dt-button-collection.f-dropdown.three-column {
+ width: 450px;
+ padding-bottom: 1px;
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ -ms-column-count: 3;
+ -o-column-count: 3;
+ column-count: 3;
+}
+ul.dt-button-collection.f-dropdown.four-column {
+ width: 600px;
+ padding-bottom: 1px;
+ -webkit-column-count: 4;
+ -moz-column-count: 4;
+ -ms-column-count: 4;
+ -o-column-count: 4;
+ column-count: 4;
+}
+ul.dt-button-collection.f-dropdown .dt-button {
+ border-radius: 0;
+}
+ul.dt-button-collection.f-dropdown.fixed {
+ max-width: none;
+}
+ul.dt-button-collection.f-dropdown.fixed:before, ul.dt-button-collection.f-dropdown.fixed:after {
+ display: none;
+}
+
+div.dt-button-background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 88;
+}
+
+@media screen and (max-width: 767px) {
+ ul.dt-buttons {
+ float: none;
+ width: 100%;
+ text-align: center;
+ margin-bottom: 0.5rem;
+ }
+ ul.dt-buttons li {
+ float: none;
+ }
+}
+div.button-group.stacked.dropdown-pane {
+ margin-top: 2px;
+ padding: 1px;
+ z-index: 89;
+}
+div.button-group.stacked.dropdown-pane a.button {
+ margin-bottom: 1px;
+ border-right: none;
+}
+div.button-group.stacked.dropdown-pane a.button:last-child {
+ margin-bottom: 0;
+}
+
+div.dt-buttons button.button.processing,
+div.dt-buttons div.button.processing,
+div.dt-buttons a.button.processing {
+ color: rgba(0, 0, 0, 0.2);
+ color: rgba(255, 255, 255, 0.2);
+ border-top-color: white;
+ border-bottom-color: white;
+}
+div.dt-buttons button.button.processing:after,
+div.dt-buttons div.button.processing:after,
+div.dt-buttons a.button.processing:after {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 16px;
+ height: 16px;
+ margin: -8px 0 0 -8px;
+ box-sizing: border-box;
+ display: block;
+ content: ' ';
+ border: 2px solid #282828;
+ border-radius: 50%;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ animation: dtb-spinner 1500ms infinite linear;
+ -o-animation: dtb-spinner 1500ms infinite linear;
+ -ms-animation: dtb-spinner 1500ms infinite linear;
+ -webkit-animation: dtb-spinner 1500ms infinite linear;
+ -moz-animation: dtb-spinner 1500ms infinite linear;
+}
diff --git a/librerias/datatables/Buttons-1.5.1/css/buttons.foundation.min.css b/librerias/datatables/Buttons-1.5.1/css/buttons.foundation.min.css
new file mode 100644
index 0000000..bad8da3
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/buttons.foundation.min.css
@@ -0,0 +1 @@
+@keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-o-keyframes dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dtb-spinner{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}ul.dt-buttons li{margin:0}ul.dt-buttons li.active a{box-shadow:inset 0 0 10px rgba(0,0,0,0.6)}ul.dt-buttons.button-group a{margin-bottom:0}ul.dt-button-collection.f-dropdown{-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}ul.dt-button-collection.f-dropdown.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}ul.dt-button-collection.f-dropdown.fixed.two-column{margin-left:-150px}ul.dt-button-collection.f-dropdown.fixed.three-column{margin-left:-225px}ul.dt-button-collection.f-dropdown.fixed.four-column{margin-left:-300px}ul.dt-button-collection.f-dropdown>*{-webkit-column-break-inside:avoid;break-inside:avoid}ul.dt-button-collection.f-dropdown.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}ul.dt-button-collection.f-dropdown.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}ul.dt-button-collection.f-dropdown.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}ul.dt-button-collection.f-dropdown .dt-button{border-radius:0}ul.dt-button-collection.f-dropdown.fixed{max-width:none}ul.dt-button-collection.f-dropdown.fixed:before,ul.dt-button-collection.f-dropdown.fixed:after{display:none}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:88}@media screen and (max-width: 767px){ul.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:0.5rem}ul.dt-buttons li{float:none}}div.button-group.stacked.dropdown-pane{margin-top:2px;padding:1px;z-index:89}div.button-group.stacked.dropdown-pane a.button{margin-bottom:1px;border-right:none}div.button-group.stacked.dropdown-pane a.button:last-child{margin-bottom:0}div.dt-buttons button.button.processing,div.dt-buttons div.button.processing,div.dt-buttons a.button.processing{color:rgba(0,0,0,0.2);color:rgba(255,255,255,0.2);border-top-color:white;border-bottom-color:white}div.dt-buttons button.button.processing:after,div.dt-buttons div.button.processing:after,div.dt-buttons a.button.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1500ms infinite linear;-o-animation:dtb-spinner 1500ms infinite linear;-ms-animation:dtb-spinner 1500ms infinite linear;-webkit-animation:dtb-spinner 1500ms infinite linear;-moz-animation:dtb-spinner 1500ms infinite linear}
diff --git a/librerias/datatables/Buttons-1.5.1/css/buttons.jqueryui.css b/librerias/datatables/Buttons-1.5.1/css/buttons.jqueryui.css
new file mode 100644
index 0000000..02d3849
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/buttons.jqueryui.css
@@ -0,0 +1,220 @@
+@keyframes dtb-spinner {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+@-o-keyframes dtb-spinner {
+ 100% {
+ -o-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-ms-keyframes dtb-spinner {
+ 100% {
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-webkit-keyframes dtb-spinner {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-moz-keyframes dtb-spinner {
+ 100% {
+ -moz-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+div.dt-button-info {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 400px;
+ margin-top: -100px;
+ margin-left: -200px;
+ background-color: white;
+ border: 2px solid #111;
+ box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
+ border-radius: 3px;
+ text-align: center;
+ z-index: 21;
+}
+div.dt-button-info h2 {
+ padding: 0.5em;
+ margin: 0;
+ font-weight: normal;
+ border-bottom: 1px solid #ddd;
+ background-color: #f3f3f3;
+}
+div.dt-button-info > div {
+ padding: 1em;
+}
+
+div.dt-buttons {
+ position: relative;
+ float: left;
+}
+div.dt-buttons .dt-button {
+ margin-right: 0;
+}
+div.dt-buttons .dt-button span.ui-icon {
+ display: inline-block;
+ vertical-align: middle;
+ margin-top: -2px;
+}
+div.dt-buttons .dt-button:active {
+ outline: none;
+}
+div.dt-buttons .dt-button:hover > span {
+ background-color: rgba(0, 0, 0, 0.05);
+}
+
+div.dt-button-collection {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 150px;
+ margin-top: 3px;
+ padding: 8px 8px 4px 8px;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.4);
+ background-color: #f3f3f3;
+ background-color: rgba(255, 255, 255, 0.3);
+ overflow: hidden;
+ z-index: 2002;
+ border-radius: 5px;
+ box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
+ z-index: 2002;
+ -webkit-column-gap: 8px;
+ -moz-column-gap: 8px;
+ -ms-column-gap: 8px;
+ -o-column-gap: 8px;
+ column-gap: 8px;
+ -webkit-column-gap: 0;
+ -moz-column-gap: 0;
+ -ms-column-gap: 0;
+ -o-column-gap: 0;
+ column-gap: 0;
+}
+div.dt-button-collection .dt-button {
+ position: relative;
+ left: 0;
+ right: 0;
+ width: 100%;
+ display: block;
+ float: none;
+ margin-right: 0;
+ margin-bottom: 4px;
+}
+div.dt-button-collection .dt-button:hover > span {
+ background-color: rgba(0, 0, 0, 0.05);
+}
+div.dt-button-collection.fixed {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ margin-left: -75px;
+ border-radius: 0;
+}
+div.dt-button-collection.fixed.two-column {
+ margin-left: -150px;
+}
+div.dt-button-collection.fixed.three-column {
+ margin-left: -225px;
+}
+div.dt-button-collection.fixed.four-column {
+ margin-left: -300px;
+}
+div.dt-button-collection > * {
+ -webkit-column-break-inside: avoid;
+ break-inside: avoid;
+}
+div.dt-button-collection.two-column {
+ width: 300px;
+ padding-bottom: 1px;
+ -webkit-column-count: 2;
+ -moz-column-count: 2;
+ -ms-column-count: 2;
+ -o-column-count: 2;
+ column-count: 2;
+}
+div.dt-button-collection.three-column {
+ width: 450px;
+ padding-bottom: 1px;
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ -ms-column-count: 3;
+ -o-column-count: 3;
+ column-count: 3;
+}
+div.dt-button-collection.four-column {
+ width: 600px;
+ padding-bottom: 1px;
+ -webkit-column-count: 4;
+ -moz-column-count: 4;
+ -ms-column-count: 4;
+ -o-column-count: 4;
+ column-count: 4;
+}
+div.dt-button-collection .dt-button {
+ border-radius: 0;
+}
+
+div.dt-button-background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.7);
+ /* Fallback */
+ background: -ms-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ /* IE10 Consumer Preview */
+ background: -moz-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ /* Firefox */
+ background: -o-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ /* Opera */
+ background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0, 0, 0, 0.3)), color-stop(1, rgba(0, 0, 0, 0.7)));
+ /* Webkit (Safari/Chrome 10) */
+ background: -webkit-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ /* Webkit (Chrome 11+) */
+ background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ /* W3C Markup, IE10 Release Preview */
+ z-index: 2001;
+}
+
+@media screen and (max-width: 640px) {
+ div.dt-buttons {
+ float: none !important;
+ text-align: center;
+ }
+}
+button.dt-button.processing,
+div.dt-button.processing,
+a.dt-button.processing {
+ color: rgba(0, 0, 0, 0.2);
+}
+button.dt-button.processing:after,
+div.dt-button.processing:after,
+a.dt-button.processing:after {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 16px;
+ height: 16px;
+ margin: -8px 0 0 -8px;
+ box-sizing: border-box;
+ display: block;
+ content: ' ';
+ border: 2px solid #282828;
+ border-radius: 50%;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ animation: dtb-spinner 1500ms infinite linear;
+ -o-animation: dtb-spinner 1500ms infinite linear;
+ -ms-animation: dtb-spinner 1500ms infinite linear;
+ -webkit-animation: dtb-spinner 1500ms infinite linear;
+ -moz-animation: dtb-spinner 1500ms infinite linear;
+}
diff --git a/librerias/datatables/Buttons-1.5.1/css/buttons.jqueryui.min.css b/librerias/datatables/Buttons-1.5.1/css/buttons.jqueryui.min.css
new file mode 100644
index 0000000..ed88726
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/buttons.jqueryui.min.css
@@ -0,0 +1 @@
+@keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-o-keyframes dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dtb-spinner{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}div.dt-buttons{position:relative;float:left}div.dt-buttons .dt-button{margin-right:0}div.dt-buttons .dt-button span.ui-icon{display:inline-block;vertical-align:middle;margin-top:-2px}div.dt-buttons .dt-button:active{outline:none}div.dt-buttons .dt-button:hover>span{background-color:rgba(0,0,0,0.05)}div.dt-button-collection{position:absolute;top:0;left:0;width:150px;margin-top:3px;padding:8px 8px 4px 8px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.4);background-color:#f3f3f3;background-color:rgba(255,255,255,0.3);overflow:hidden;z-index:2002;border-radius:5px;box-shadow:3px 3px 5px rgba(0,0,0,0.3);z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px;-webkit-column-gap:0;-moz-column-gap:0;-ms-column-gap:0;-o-column-gap:0;column-gap:0}div.dt-button-collection .dt-button{position:relative;left:0;right:0;width:100%;display:block;float:none;margin-right:0;margin-bottom:4px}div.dt-button-collection .dt-button:hover>span{background-color:rgba(0,0,0,0.05)}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-150px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-collection .dt-button{border-radius:0}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:2001}@media screen and (max-width: 640px){div.dt-buttons{float:none !important;text-align:center}}button.dt-button.processing,div.dt-button.processing,a.dt-button.processing{color:rgba(0,0,0,0.2)}button.dt-button.processing:after,div.dt-button.processing:after,a.dt-button.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1500ms infinite linear;-o-animation:dtb-spinner 1500ms infinite linear;-ms-animation:dtb-spinner 1500ms infinite linear;-webkit-animation:dtb-spinner 1500ms infinite linear;-moz-animation:dtb-spinner 1500ms infinite linear}
diff --git a/librerias/datatables/Buttons-1.5.1/css/buttons.semanticui.css b/librerias/datatables/Buttons-1.5.1/css/buttons.semanticui.css
new file mode 100644
index 0000000..45f4263
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/buttons.semanticui.css
@@ -0,0 +1,174 @@
+@charset "UTF-8";
+@keyframes dtb-spinner {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+@-o-keyframes dtb-spinner {
+ 100% {
+ -o-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-ms-keyframes dtb-spinner {
+ 100% {
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-webkit-keyframes dtb-spinner {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-moz-keyframes dtb-spinner {
+ 100% {
+ -moz-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+div.dt-button-info {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 400px;
+ margin-top: -100px;
+ margin-left: -200px;
+ background-color: white;
+ border: 2px solid #111;
+ box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
+ border-radius: 3px;
+ text-align: center;
+ z-index: 21;
+}
+div.dt-button-info h2 {
+ padding: 0.5em;
+ margin: 0;
+ font-weight: normal;
+ border-bottom: 1px solid #ddd;
+ background-color: #f3f3f3;
+}
+div.dt-button-info > div {
+ padding: 1em;
+}
+
+div.dt-button-collection {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 150px;
+ margin-top: 3px !important;
+ z-index: 2002;
+ background: white;
+ -webkit-column-gap: 8px;
+ -moz-column-gap: 8px;
+ -ms-column-gap: 8px;
+ -o-column-gap: 8px;
+ column-gap: 8px;
+}
+div.dt-button-collection.fixed {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ margin-left: -75px;
+ border-radius: 0;
+}
+div.dt-button-collection.fixed.two-column {
+ margin-left: -150px;
+}
+div.dt-button-collection.fixed.three-column {
+ margin-left: -225px;
+}
+div.dt-button-collection.fixed.four-column {
+ margin-left: -300px;
+}
+div.dt-button-collection > * {
+ -webkit-column-break-inside: avoid;
+ break-inside: avoid;
+}
+div.dt-button-collection.two-column {
+ width: 300px;
+ padding-bottom: 1px;
+ -webkit-column-count: 2;
+ -moz-column-count: 2;
+ -ms-column-count: 2;
+ -o-column-count: 2;
+ column-count: 2;
+}
+div.dt-button-collection.three-column {
+ width: 450px;
+ padding-bottom: 1px;
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ -ms-column-count: 3;
+ -o-column-count: 3;
+ column-count: 3;
+}
+div.dt-button-collection.four-column {
+ width: 600px;
+ padding-bottom: 1px;
+ -webkit-column-count: 4;
+ -moz-column-count: 4;
+ -ms-column-count: 4;
+ -o-column-count: 4;
+ column-count: 4;
+}
+div.dt-button-collection .dt-button {
+ border-radius: 0;
+}
+
+button.buttons-collection.ui.button span:after {
+ display: inline-block;
+ content: "▾";
+ padding-left: 0.5em;
+}
+
+div.dt-button-background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 2001;
+}
+
+@media screen and (max-width: 767px) {
+ div.dt-buttons {
+ float: none;
+ width: 100%;
+ text-align: center;
+ margin-bottom: 0.5em;
+ }
+ div.dt-buttons a.btn {
+ float: none;
+ }
+}
+div.dt-buttons button.button.processing,
+div.dt-buttons div.button.processing,
+div.dt-buttons a.button.processing {
+ position: relative;
+ color: rgba(0, 0, 0, 0.2);
+}
+div.dt-buttons button.button.processing:after,
+div.dt-buttons div.button.processing:after,
+div.dt-buttons a.button.processing:after {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 16px;
+ height: 16px;
+ margin: -8px 0 0 -8px;
+ box-sizing: border-box;
+ display: block;
+ content: ' ';
+ border: 2px solid #282828;
+ border-radius: 50%;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ animation: dtb-spinner 1500ms infinite linear;
+ -o-animation: dtb-spinner 1500ms infinite linear;
+ -ms-animation: dtb-spinner 1500ms infinite linear;
+ -webkit-animation: dtb-spinner 1500ms infinite linear;
+ -moz-animation: dtb-spinner 1500ms infinite linear;
+}
diff --git a/librerias/datatables/Buttons-1.5.1/css/buttons.semanticui.min.css b/librerias/datatables/Buttons-1.5.1/css/buttons.semanticui.min.css
new file mode 100644
index 0000000..320b86d
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/buttons.semanticui.min.css
@@ -0,0 +1 @@
+@keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-o-keyframes dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dtb-spinner{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}div.dt-button-collection{position:absolute;top:0;left:0;width:150px;margin-top:3px !important;z-index:2002;background:white;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-150px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-collection .dt-button{border-radius:0}button.buttons-collection.ui.button span:after{display:inline-block;content:"▾";padding-left:0.5em}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2001}@media screen and (max-width: 767px){div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:0.5em}div.dt-buttons a.btn{float:none}}div.dt-buttons button.button.processing,div.dt-buttons div.button.processing,div.dt-buttons a.button.processing{position:relative;color:rgba(0,0,0,0.2)}div.dt-buttons button.button.processing:after,div.dt-buttons div.button.processing:after,div.dt-buttons a.button.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1500ms infinite linear;-o-animation:dtb-spinner 1500ms infinite linear;-ms-animation:dtb-spinner 1500ms infinite linear;-webkit-animation:dtb-spinner 1500ms infinite linear;-moz-animation:dtb-spinner 1500ms infinite linear}
diff --git a/librerias/datatables/Buttons-1.5.1/css/common.scss b/librerias/datatables/Buttons-1.5.1/css/common.scss
new file mode 100644
index 0000000..8312ccd
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/common.scss
@@ -0,0 +1,27 @@
+
+div.dt-button-info {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 400px;
+ margin-top: -100px;
+ margin-left: -200px;
+ background-color: white;
+ border: 2px solid #111;
+ box-shadow: 3px 3px 8px rgba( 0, 0, 0, 0.3);
+ border-radius: 3px;
+ text-align: center;
+ z-index: 21;
+
+ h2 {
+ padding: 0.5em;
+ margin: 0;
+ font-weight: normal;
+ border-bottom: 1px solid #ddd;
+ background-color: #f3f3f3;
+ }
+
+ > div {
+ padding: 1em;
+ }
+}
diff --git a/librerias/datatables/Buttons-1.5.1/css/mixins.scss b/librerias/datatables/Buttons-1.5.1/css/mixins.scss
new file mode 100644
index 0000000..6328942
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/css/mixins.scss
@@ -0,0 +1,141 @@
+
+@mixin dtb-two-stop-gradient($fromColor, $toColor) {
+ background-color: $toColor; /* Fallback */
+ background-image: -webkit-linear-gradient(top, $fromColor 0%, $toColor 100%); /* Chrome 10+, Saf5.1+, iOS 5+ */
+ background-image: -moz-linear-gradient(top, $fromColor 0%, $toColor 100%); /* FF3.6 */
+ background-image: -ms-linear-gradient(top, $fromColor 0%, $toColor 100%); /* IE10 */
+ background-image: -o-linear-gradient(top, $fromColor 0%, $toColor 100%); /* Opera 11.10+ */
+ background-image: linear-gradient(to bottom, $fromColor 0%, $toColor 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#{nth( $fromColor, 1 )}', EndColorStr='#{nth( $toColor, 1 )}');
+}
+
+@mixin dtb-radial-gradient ($fromColor, $toColor ) {
+ background: $toColor; /* Fallback */
+ background: -ms-radial-gradient(center, ellipse farthest-corner, $fromColor 0%, $toColor 100%); /* IE10 Consumer Preview */
+ background: -moz-radial-gradient(center, ellipse farthest-corner, $fromColor 0%, $toColor 100%); /* Firefox */
+ background: -o-radial-gradient(center, ellipse farthest-corner, $fromColor 0%, $toColor 100%); /* Opera */
+ background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, $fromColor), color-stop(1, $toColor)); /* Webkit (Safari/Chrome 10) */
+ background: -webkit-radial-gradient(center, ellipse farthest-corner, $fromColor 0%, $toColor 100%); /* Webkit (Chrome 11+) */
+ background: radial-gradient(ellipse farthest-corner at center, $fromColor 0%, $toColor 100%); /* W3C Markup, IE10 Release Preview */
+}
+
+
+@mixin dtb-fixed-collection {
+ // Fixed positioning feature
+ &.fixed {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ margin-left: -75px;
+ border-radius: 0;
+
+ &.two-column {
+ margin-left: -150px;
+ }
+
+ &.three-column {
+ margin-left: -225px;
+ }
+
+ &.four-column {
+ margin-left: -300px;
+ }
+ }
+
+ // Multi-column layout feature
+ -webkit-column-gap: 8px;
+ -moz-column-gap: 8px;
+ -ms-column-gap: 8px;
+ -o-column-gap: 8px;
+ column-gap: 8px;
+
+ > * {
+ -webkit-column-break-inside: avoid;
+ break-inside: avoid;
+ }
+
+ &.two-column {
+ width: 300px;
+ padding-bottom: 1px;
+
+ -webkit-column-count: 2;
+ -moz-column-count: 2;
+ -ms-column-count: 2;
+ -o-column-count: 2;
+ column-count: 2;
+ }
+
+ &.three-column {
+ width: 450px;
+ padding-bottom: 1px;
+
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ -ms-column-count: 3;
+ -o-column-count: 3;
+ column-count: 3;
+ }
+
+ &.four-column {
+ width: 600px;
+ padding-bottom: 1px;
+
+ -webkit-column-count: 4;
+ -moz-column-count: 4;
+ -ms-column-count: 4;
+ -o-column-count: 4;
+ column-count: 4;
+ }
+
+ // Chrome fix - 531528
+ .dt-button {
+ border-radius: 0;
+ }
+}
+
+
+@mixin dtb-processing {
+ color: rgba(0, 0, 0, 0.2);
+
+ &:after {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 16px;
+ height: 16px;
+ margin: -8px 0 0 -8px;
+ box-sizing: border-box;
+
+ display: block;
+ content: ' ';
+ border: 2px solid rgb(40,40,40);
+ border-radius: 50%;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ animation: dtb-spinner 1500ms infinite linear;
+ -o-animation: dtb-spinner 1500ms infinite linear;
+ -ms-animation: dtb-spinner 1500ms infinite linear;
+ -webkit-animation: dtb-spinner 1500ms infinite linear;
+ -moz-animation: dtb-spinner 1500ms infinite linear;
+ }
+}
+
+@keyframes dtb-spinner {
+ 100%{ transform: rotate(360deg); }
+}
+
+@-o-keyframes dtb-spinner {
+ 100%{ -o-transform: rotate(360deg); transform: rotate(360deg); }
+}
+
+@-ms-keyframes dtb-spinner {
+ 100%{ -ms-transform: rotate(360deg); transform: rotate(360deg); }
+}
+
+@-webkit-keyframes dtb-spinner {
+ 100%{ -webkit-transform: rotate(360deg); transform: rotate(360deg); }
+}
+
+@-moz-keyframes dtb-spinner {
+ 100%{ -moz-transform: rotate(360deg); transform: rotate(360deg); }
+}
diff --git a/librerias/datatables/Buttons-1.5.1/js/buttons.bootstrap.js b/librerias/datatables/Buttons-1.5.1/js/buttons.bootstrap.js
new file mode 100644
index 0000000..994ab89
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/js/buttons.bootstrap.js
@@ -0,0 +1,70 @@
+/*! Bootstrap integration for DataTables' Buttons
+ * ©2016 SpryMedia Ltd - datatables.net/license
+ */
+
+(function( factory ){
+ if ( typeof define === 'function' && define.amd ) {
+ // AMD
+ define( ['jquery', 'datatables.net-bs', 'datatables.net-buttons'], function ( $ ) {
+ return factory( $, window, document );
+ } );
+ }
+ else if ( typeof exports === 'object' ) {
+ // CommonJS
+ module.exports = function (root, $) {
+ if ( ! root ) {
+ root = window;
+ }
+
+ if ( ! $ || ! $.fn.dataTable ) {
+ $ = require('datatables.net-bs')(root, $).$;
+ }
+
+ if ( ! $.fn.dataTable.Buttons ) {
+ require('datatables.net-buttons')(root, $);
+ }
+
+ return factory( $, root, root.document );
+ };
+ }
+ else {
+ // Browser
+ factory( jQuery, window, document );
+ }
+}(function( $, window, document, undefined ) {
+'use strict';
+var DataTable = $.fn.dataTable;
+
+
+$.extend( true, DataTable.Buttons.defaults, {
+ dom: {
+ container: {
+ className: 'dt-buttons btn-group'
+ },
+ button: {
+ className: 'btn btn-default'
+ },
+ collection: {
+ tag: 'ul',
+ className: 'dt-button-collection dropdown-menu',
+ button: {
+ tag: 'li',
+ className: 'dt-button',
+ active: 'active',
+ disabled: 'disabled'
+ },
+ buttonLiner: {
+ tag: 'a',
+ className: ''
+ }
+ }
+ }
+} );
+
+DataTable.ext.buttons.collection.text = function ( dt ) {
+ return dt.i18n('buttons.collection', 'Collection ');
+};
+
+
+return DataTable.Buttons;
+}));
diff --git a/librerias/datatables/Buttons-1.5.1/js/buttons.bootstrap.min.js b/librerias/datatables/Buttons-1.5.1/js/buttons.bootstrap.min.js
new file mode 100644
index 0000000..b94eda0
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/js/buttons.bootstrap.min.js
@@ -0,0 +1,6 @@
+/*!
+ Bootstrap integration for DataTables' Buttons
+ ©2016 SpryMedia Ltd - datatables.net/license
+*/
+(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs","datatables.net-buttons"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net-bs")(a,b).$;b.fn.dataTable.Buttons||require("datatables.net-buttons")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c){var a=c.fn.dataTable;c.extend(!0,a.Buttons.defaults,{dom:{container:{className:"dt-buttons btn-group"},
+button:{className:"btn btn-default"},collection:{tag:"ul",className:"dt-button-collection dropdown-menu",button:{tag:"li",className:"dt-button",active:"active",disabled:"disabled"},buttonLiner:{tag:"a",className:""}}}});a.ext.buttons.collection.text=function(a){return a.i18n("buttons.collection",'Collection ')};return a.Buttons});
diff --git a/librerias/datatables/Buttons-1.5.1/js/buttons.bootstrap4.js b/librerias/datatables/Buttons-1.5.1/js/buttons.bootstrap4.js
new file mode 100644
index 0000000..4a3e489
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/js/buttons.bootstrap4.js
@@ -0,0 +1,62 @@
+/*! Bootstrap integration for DataTables' Buttons
+ * ©2016 SpryMedia Ltd - datatables.net/license
+ */
+
+(function( factory ){
+ if ( typeof define === 'function' && define.amd ) {
+ // AMD
+ define( ['jquery', 'datatables.net-bs4', 'datatables.net-buttons'], function ( $ ) {
+ return factory( $, window, document );
+ } );
+ }
+ else if ( typeof exports === 'object' ) {
+ // CommonJS
+ module.exports = function (root, $) {
+ if ( ! root ) {
+ root = window;
+ }
+
+ if ( ! $ || ! $.fn.dataTable ) {
+ $ = require('datatables.net-bs4')(root, $).$;
+ }
+
+ if ( ! $.fn.dataTable.Buttons ) {
+ require('datatables.net-buttons')(root, $);
+ }
+
+ return factory( $, root, root.document );
+ };
+ }
+ else {
+ // Browser
+ factory( jQuery, window, document );
+ }
+}(function( $, window, document, undefined ) {
+'use strict';
+var DataTable = $.fn.dataTable;
+
+$.extend( true, DataTable.Buttons.defaults, {
+ dom: {
+ container: {
+ className: 'dt-buttons btn-group'
+ },
+ button: {
+ className: 'btn btn-secondary'
+ },
+ collection: {
+ tag: 'div',
+ className: 'dt-button-collection dropdown-menu',
+ button: {
+ tag: 'a',
+ className: 'dt-button dropdown-item',
+ active: 'active',
+ disabled: 'disabled'
+ }
+ }
+ }
+} );
+
+DataTable.ext.buttons.collection.className += ' dropdown-toggle';
+
+return DataTable.Buttons;
+}));
diff --git a/librerias/datatables/Buttons-1.5.1/js/buttons.bootstrap4.min.js b/librerias/datatables/Buttons-1.5.1/js/buttons.bootstrap4.min.js
new file mode 100644
index 0000000..f76a5b0
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/js/buttons.bootstrap4.min.js
@@ -0,0 +1,6 @@
+/*!
+ Bootstrap integration for DataTables' Buttons
+ ©2016 SpryMedia Ltd - datatables.net/license
+*/
+(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-buttons"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net-bs4")(a,b).$;b.fn.dataTable.Buttons||require("datatables.net-buttons")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c){var a=c.fn.dataTable;c.extend(!0,a.Buttons.defaults,{dom:{container:{className:"dt-buttons btn-group"},
+button:{className:"btn btn-secondary"},collection:{tag:"div",className:"dt-button-collection dropdown-menu",button:{tag:"a",className:"dt-button dropdown-item",active:"active",disabled:"disabled"}}}});a.ext.buttons.collection.className+=" dropdown-toggle";return a.Buttons});
diff --git a/librerias/datatables/Buttons-1.5.1/js/buttons.colVis.js b/librerias/datatables/Buttons-1.5.1/js/buttons.colVis.js
new file mode 100644
index 0000000..e4e771f
--- /dev/null
+++ b/librerias/datatables/Buttons-1.5.1/js/buttons.colVis.js
@@ -0,0 +1,208 @@
+/*!
+ * Column visibility buttons for Buttons and DataTables.
+ * 2016 SpryMedia Ltd - datatables.net/license
+ */
+
+(function( factory ){
+ if ( typeof define === 'function' && define.amd ) {
+ // AMD
+ define( ['jquery', 'datatables.net', 'datatables.net-buttons'], function ( $ ) {
+ return factory( $, window, document );
+ } );
+ }
+ else if ( typeof exports === 'object' ) {
+ // CommonJS
+ module.exports = function (root, $) {
+ if ( ! root ) {
+ root = window;
+ }
+
+ if ( ! $ || ! $.fn.dataTable ) {
+ $ = require('datatables.net')(root, $).$;
+ }
+
+ if ( ! $.fn.dataTable.Buttons ) {
+ require('datatables.net-buttons')(root, $);
+ }
+
+ return factory( $, root, root.document );
+ };
+ }
+ else {
+ // Browser
+ factory( jQuery, window, document );
+ }
+}(function( $, window, document, undefined ) {
+'use strict';
+var DataTable = $.fn.dataTable;
+
+
+$.extend( DataTable.ext.buttons, {
+ // A collection of column visibility buttons
+ colvis: function ( dt, conf ) {
+ return {
+ extend: 'collection',
+ text: function ( dt ) {
+ return dt.i18n( 'buttons.colvis', 'Column visibility' );
+ },
+ className: 'buttons-colvis',
+ buttons: [ {
+ extend: 'columnsToggle',
+ columns: conf.columns,
+ columnText: conf.columnText
+ } ]
+ };
+ },
+
+ // Selected columns with individual buttons - toggle column visibility
+ columnsToggle: function ( dt, conf ) {
+ var columns = dt.columns( conf.columns ).indexes().map( function ( idx ) {
+ return {
+ extend: 'columnToggle',
+ columns: idx,
+ columnText: conf.columnText
+ };
+ } ).toArray();
+
+ return columns;
+ },
+
+ // Single button to toggle column visibility
+ columnToggle: function ( dt, conf ) {
+ return {
+ extend: 'columnVisibility',
+ columns: conf.columns,
+ columnText: conf.columnText
+ };
+ },
+
+ // Selected columns with individual buttons - set column visibility
+ columnsVisibility: function ( dt, conf ) {
+ var columns = dt.columns( conf.columns ).indexes().map( function ( idx ) {
+ return {
+ extend: 'columnVisibility',
+ columns: idx,
+ visibility: conf.visibility,
+ columnText: conf.columnText
+ };
+ } ).toArray();
+
+ return columns;
+ },
+
+ // Single button to set column visibility
+ columnVisibility: {
+ columns: undefined, // column selector
+ text: function ( dt, button, conf ) {
+ return conf._columnText( dt, conf );
+ },
+ className: 'buttons-columnVisibility',
+ action: function ( e, dt, button, conf ) {
+ var col = dt.columns( conf.columns );
+ var curr = col.visible();
+
+ col.visible( conf.visibility !== undefined ?
+ conf.visibility :
+ ! (curr.length ? curr[0] : false )
+ );
+ },
+ init: function ( dt, button, conf ) {
+ var that = this;
+
+ dt
+ .on( 'column-visibility.dt'+conf.namespace, function (e, settings) {
+ if ( ! settings.bDestroying && settings.nTable == dt.settings()[0].nTable ) {
+ that.active( dt.column( conf.columns ).visible() );
+ }
+ } )
+ .on( 'column-reorder.dt'+conf.namespace, function (e, settings, details) {
+ // Don't rename buttons based on column name if the button
+ // controls more than one column!
+ if ( dt.columns( conf.columns ).count() !== 1 ) {
+ return;
+ }
+
+ if ( typeof conf.columns === 'number' ) {
+ conf.columns = details.mapping[ conf.columns ];
+ }
+
+ var col = dt.column( conf.columns );
+
+ that.text( conf._columnText( dt, conf ) );
+ that.active( col.visible() );
+ } );
+
+ this.active( dt.column( conf.columns ).visible() );
+ },
+ destroy: function ( dt, button, conf ) {
+ dt
+ .off( 'column-visibility.dt'+conf.namespace )
+ .off( 'column-reorder.dt'+conf.namespace );
+ },
+
+ _columnText: function ( dt, conf ) {
+ // Use DataTables' internal data structure until this is presented
+ // is a public API. The other option is to use
+ // `$( column(col).node() ).text()` but the node might not have been
+ // populated when Buttons is constructed.
+ var idx = dt.column( conf.columns ).index();
+ var title = dt.settings()[0].aoColumns[ idx ].sTitle
+ .replace(/\n/g," ") // remove new lines
+ .replace(/
/gi, " ") // replace line breaks with spaces
+ .replace(/