[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [17474] API: update jquery datatables from upstream
From: |
sigurdne |
Subject: |
[Fmsystem-commits] [17474] API: update jquery datatables from upstream |
Date: |
Tue, 26 Dec 2017 17:07:24 -0500 (EST) |
Revision: 17474
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=17474
Author: sigurdne
Date: 2017-12-26 17:07:22 -0500 (Tue, 26 Dec 2017)
Log Message:
-----------
API: update jquery datatables from upstream
Added Paths:
-----------
trunk/phpgwapi/js/DataTables/AutoFill/
trunk/phpgwapi/js/DataTables/AutoFill/css/
trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap.css
trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap.min.css
trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap4.css
trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap4.min.css
trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.dataTables.css
trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.dataTables.min.css
trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.foundation.css
trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.foundation.min.css
trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.jqueryui.css
trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.jqueryui.min.css
trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.semanticui.css
trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.semanticui.min.css
trunk/phpgwapi/js/DataTables/AutoFill/js/
trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap.js
trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap.min.js
trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap4.js
trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap4.min.js
trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.foundation.js
trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.foundation.min.js
trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.jqueryui.js
trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.jqueryui.min.js
trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.semanticui.js
trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.semanticui.min.js
trunk/phpgwapi/js/DataTables/AutoFill/js/dataTables.autoFill.js
trunk/phpgwapi/js/DataTables/AutoFill/js/dataTables.autoFill.min.js
trunk/phpgwapi/js/DataTables/Buttons/
trunk/phpgwapi/js/DataTables/Buttons/css/
trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap.css
trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap.min.css
trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap4.css
trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap4.min.css
trunk/phpgwapi/js/DataTables/Buttons/css/buttons.dataTables.css
trunk/phpgwapi/js/DataTables/Buttons/css/buttons.dataTables.min.css
trunk/phpgwapi/js/DataTables/Buttons/css/buttons.foundation.css
trunk/phpgwapi/js/DataTables/Buttons/css/buttons.foundation.min.css
trunk/phpgwapi/js/DataTables/Buttons/css/buttons.jqueryui.css
trunk/phpgwapi/js/DataTables/Buttons/css/buttons.jqueryui.min.css
trunk/phpgwapi/js/DataTables/Buttons/css/buttons.semanticui.css
trunk/phpgwapi/js/DataTables/Buttons/css/buttons.semanticui.min.css
trunk/phpgwapi/js/DataTables/Buttons/css/common.scss
trunk/phpgwapi/js/DataTables/Buttons/css/mixins.scss
trunk/phpgwapi/js/DataTables/Buttons/js/
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap.min.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap4.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap4.min.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.colVis.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.colVis.min.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.flash.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.flash.min.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.foundation.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.foundation.min.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.html5.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.html5.min.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.jqueryui.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.jqueryui.min.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.print.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.print.min.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.semanticui.js
trunk/phpgwapi/js/DataTables/Buttons/js/buttons.semanticui.min.js
trunk/phpgwapi/js/DataTables/Buttons/js/dataTables.buttons.js
trunk/phpgwapi/js/DataTables/Buttons/js/dataTables.buttons.min.js
trunk/phpgwapi/js/DataTables/Buttons/swf/
trunk/phpgwapi/js/DataTables/Buttons/swf/flashExport.swf
trunk/phpgwapi/js/DataTables/ColReorder/
trunk/phpgwapi/js/DataTables/ColReorder/css/
trunk/phpgwapi/js/DataTables/ColReorder/css/colReorder.bootstrap.css
trunk/phpgwapi/js/DataTables/ColReorder/css/colReorder.bootstrap.min.css
trunk/phpgwapi/js/DataTables/ColReorder/css/colReorder.bootstrap4.css
trunk/phpgwapi/js/DataTables/ColReorder/css/colReorder.bootstrap4.min.css
trunk/phpgwapi/js/DataTables/ColReorder/css/colReorder.dataTables.css
trunk/phpgwapi/js/DataTables/ColReorder/css/colReorder.dataTables.min.css
trunk/phpgwapi/js/DataTables/ColReorder/css/colReorder.foundation.css
trunk/phpgwapi/js/DataTables/ColReorder/css/colReorder.foundation.min.css
trunk/phpgwapi/js/DataTables/ColReorder/css/colReorder.jqueryui.css
trunk/phpgwapi/js/DataTables/ColReorder/css/colReorder.jqueryui.min.css
trunk/phpgwapi/js/DataTables/ColReorder/css/colReorder.semanticui.css
trunk/phpgwapi/js/DataTables/ColReorder/css/colReorder.semanticui.min.css
trunk/phpgwapi/js/DataTables/ColReorder/js/
trunk/phpgwapi/js/DataTables/ColReorder/js/dataTables.colReorder.js
trunk/phpgwapi/js/DataTables/ColReorder/js/dataTables.colReorder.min.js
trunk/phpgwapi/js/DataTables/DataTables/
trunk/phpgwapi/js/DataTables/DataTables/css/
trunk/phpgwapi/js/DataTables/DataTables/css/dataTables.bootstrap.css
trunk/phpgwapi/js/DataTables/DataTables/css/dataTables.bootstrap.min.css
trunk/phpgwapi/js/DataTables/DataTables/css/dataTables.bootstrap4.css
trunk/phpgwapi/js/DataTables/DataTables/css/dataTables.bootstrap4.min.css
trunk/phpgwapi/js/DataTables/DataTables/css/dataTables.foundation.css
trunk/phpgwapi/js/DataTables/DataTables/css/dataTables.foundation.min.css
trunk/phpgwapi/js/DataTables/DataTables/css/dataTables.jqueryui.css
trunk/phpgwapi/js/DataTables/DataTables/css/dataTables.jqueryui.min.css
trunk/phpgwapi/js/DataTables/DataTables/css/dataTables.semanticui.css
trunk/phpgwapi/js/DataTables/DataTables/css/dataTables.semanticui.min.css
trunk/phpgwapi/js/DataTables/DataTables/css/jquery.dataTables.css
trunk/phpgwapi/js/DataTables/DataTables/css/jquery.dataTables.min.css
trunk/phpgwapi/js/DataTables/DataTables/images/
trunk/phpgwapi/js/DataTables/DataTables/images/sort_asc.png
trunk/phpgwapi/js/DataTables/DataTables/images/sort_asc_disabled.png
trunk/phpgwapi/js/DataTables/DataTables/images/sort_both.png
trunk/phpgwapi/js/DataTables/DataTables/images/sort_desc.png
trunk/phpgwapi/js/DataTables/DataTables/images/sort_desc_disabled.png
trunk/phpgwapi/js/DataTables/DataTables/js/
trunk/phpgwapi/js/DataTables/DataTables/js/dataTables.bootstrap.js
trunk/phpgwapi/js/DataTables/DataTables/js/dataTables.bootstrap.min.js
trunk/phpgwapi/js/DataTables/DataTables/js/dataTables.bootstrap4.js
trunk/phpgwapi/js/DataTables/DataTables/js/dataTables.bootstrap4.min.js
trunk/phpgwapi/js/DataTables/DataTables/js/dataTables.foundation.js
trunk/phpgwapi/js/DataTables/DataTables/js/dataTables.foundation.min.js
trunk/phpgwapi/js/DataTables/DataTables/js/dataTables.jqueryui.js
trunk/phpgwapi/js/DataTables/DataTables/js/dataTables.jqueryui.min.js
trunk/phpgwapi/js/DataTables/DataTables/js/dataTables.semanticui.js
trunk/phpgwapi/js/DataTables/DataTables/js/dataTables.semanticui.min.js
trunk/phpgwapi/js/DataTables/DataTables/js/jquery.dataTables.js
trunk/phpgwapi/js/DataTables/DataTables/js/jquery.dataTables.min.js
trunk/phpgwapi/js/DataTables/FixedColumns/
trunk/phpgwapi/js/DataTables/FixedColumns/css/
trunk/phpgwapi/js/DataTables/FixedColumns/css/fixedColumns.bootstrap.css
trunk/phpgwapi/js/DataTables/FixedColumns/css/fixedColumns.bootstrap.min.css
trunk/phpgwapi/js/DataTables/FixedColumns/css/fixedColumns.bootstrap4.css
trunk/phpgwapi/js/DataTables/FixedColumns/css/fixedColumns.bootstrap4.min.css
trunk/phpgwapi/js/DataTables/FixedColumns/css/fixedColumns.dataTables.css
trunk/phpgwapi/js/DataTables/FixedColumns/css/fixedColumns.dataTables.min.css
trunk/phpgwapi/js/DataTables/FixedColumns/css/fixedColumns.foundation.css
trunk/phpgwapi/js/DataTables/FixedColumns/css/fixedColumns.foundation.min.css
trunk/phpgwapi/js/DataTables/FixedColumns/css/fixedColumns.jqueryui.css
trunk/phpgwapi/js/DataTables/FixedColumns/css/fixedColumns.jqueryui.min.css
trunk/phpgwapi/js/DataTables/FixedColumns/css/fixedColumns.semanticui.css
trunk/phpgwapi/js/DataTables/FixedColumns/css/fixedColumns.semanticui.min.css
trunk/phpgwapi/js/DataTables/FixedColumns/js/
trunk/phpgwapi/js/DataTables/FixedColumns/js/dataTables.fixedColumns.js
trunk/phpgwapi/js/DataTables/FixedColumns/js/dataTables.fixedColumns.min.js
trunk/phpgwapi/js/DataTables/FixedHeader/
trunk/phpgwapi/js/DataTables/FixedHeader/css/
trunk/phpgwapi/js/DataTables/FixedHeader/css/fixedHeader.bootstrap.css
trunk/phpgwapi/js/DataTables/FixedHeader/css/fixedHeader.bootstrap.min.css
trunk/phpgwapi/js/DataTables/FixedHeader/css/fixedHeader.bootstrap4.css
trunk/phpgwapi/js/DataTables/FixedHeader/css/fixedHeader.bootstrap4.min.css
trunk/phpgwapi/js/DataTables/FixedHeader/css/fixedHeader.dataTables.css
trunk/phpgwapi/js/DataTables/FixedHeader/css/fixedHeader.dataTables.min.css
trunk/phpgwapi/js/DataTables/FixedHeader/css/fixedHeader.foundation.css
trunk/phpgwapi/js/DataTables/FixedHeader/css/fixedHeader.foundation.min.css
trunk/phpgwapi/js/DataTables/FixedHeader/css/fixedHeader.jqueryui.css
trunk/phpgwapi/js/DataTables/FixedHeader/css/fixedHeader.jqueryui.min.css
trunk/phpgwapi/js/DataTables/FixedHeader/css/fixedHeader.semanticui.css
trunk/phpgwapi/js/DataTables/FixedHeader/css/fixedHeader.semanticui.min.css
trunk/phpgwapi/js/DataTables/FixedHeader/js/
trunk/phpgwapi/js/DataTables/FixedHeader/js/dataTables.fixedHeader.js
trunk/phpgwapi/js/DataTables/FixedHeader/js/dataTables.fixedHeader.min.js
trunk/phpgwapi/js/DataTables/JSZip/
trunk/phpgwapi/js/DataTables/JSZip/jszip.js
trunk/phpgwapi/js/DataTables/JSZip/jszip.min.js
trunk/phpgwapi/js/DataTables/KeyTable/
trunk/phpgwapi/js/DataTables/KeyTable/css/
trunk/phpgwapi/js/DataTables/KeyTable/css/keyTable.bootstrap.css
trunk/phpgwapi/js/DataTables/KeyTable/css/keyTable.bootstrap.min.css
trunk/phpgwapi/js/DataTables/KeyTable/css/keyTable.bootstrap4.css
trunk/phpgwapi/js/DataTables/KeyTable/css/keyTable.bootstrap4.min.css
trunk/phpgwapi/js/DataTables/KeyTable/css/keyTable.dataTables.css
trunk/phpgwapi/js/DataTables/KeyTable/css/keyTable.dataTables.min.css
trunk/phpgwapi/js/DataTables/KeyTable/css/keyTable.foundation.css
trunk/phpgwapi/js/DataTables/KeyTable/css/keyTable.foundation.min.css
trunk/phpgwapi/js/DataTables/KeyTable/css/keyTable.jqueryui.css
trunk/phpgwapi/js/DataTables/KeyTable/css/keyTable.jqueryui.min.css
trunk/phpgwapi/js/DataTables/KeyTable/css/keyTable.semanticui.css
trunk/phpgwapi/js/DataTables/KeyTable/css/keyTable.semanticui.min.css
trunk/phpgwapi/js/DataTables/KeyTable/js/
trunk/phpgwapi/js/DataTables/KeyTable/js/dataTables.keyTable.js
trunk/phpgwapi/js/DataTables/KeyTable/js/dataTables.keyTable.min.js
trunk/phpgwapi/js/DataTables/Responsive/
trunk/phpgwapi/js/DataTables/Responsive/css/
trunk/phpgwapi/js/DataTables/Responsive/css/responsive.bootstrap.css
trunk/phpgwapi/js/DataTables/Responsive/css/responsive.bootstrap.min.css
trunk/phpgwapi/js/DataTables/Responsive/css/responsive.bootstrap4.css
trunk/phpgwapi/js/DataTables/Responsive/css/responsive.bootstrap4.min.css
trunk/phpgwapi/js/DataTables/Responsive/css/responsive.dataTables.css
trunk/phpgwapi/js/DataTables/Responsive/css/responsive.dataTables.min.css
trunk/phpgwapi/js/DataTables/Responsive/css/responsive.foundation.css
trunk/phpgwapi/js/DataTables/Responsive/css/responsive.foundation.min.css
trunk/phpgwapi/js/DataTables/Responsive/css/responsive.jqueryui.css
trunk/phpgwapi/js/DataTables/Responsive/css/responsive.jqueryui.min.css
trunk/phpgwapi/js/DataTables/Responsive/css/responsive.semanticui.css
trunk/phpgwapi/js/DataTables/Responsive/css/responsive.semanticui.min.css
trunk/phpgwapi/js/DataTables/Responsive/js/
trunk/phpgwapi/js/DataTables/Responsive/js/dataTables.responsive.js
trunk/phpgwapi/js/DataTables/Responsive/js/dataTables.responsive.min.js
trunk/phpgwapi/js/DataTables/Responsive/js/responsive.bootstrap.js
trunk/phpgwapi/js/DataTables/Responsive/js/responsive.bootstrap.min.js
trunk/phpgwapi/js/DataTables/Responsive/js/responsive.bootstrap4.js
trunk/phpgwapi/js/DataTables/Responsive/js/responsive.bootstrap4.min.js
trunk/phpgwapi/js/DataTables/Responsive/js/responsive.foundation.js
trunk/phpgwapi/js/DataTables/Responsive/js/responsive.foundation.min.js
trunk/phpgwapi/js/DataTables/Responsive/js/responsive.jqueryui.js
trunk/phpgwapi/js/DataTables/Responsive/js/responsive.jqueryui.min.js
trunk/phpgwapi/js/DataTables/Responsive/js/responsive.semanticui.js
trunk/phpgwapi/js/DataTables/Responsive/js/responsive.semanticui.min.js
trunk/phpgwapi/js/DataTables/RowGroup/
trunk/phpgwapi/js/DataTables/RowGroup/css/
trunk/phpgwapi/js/DataTables/RowGroup/css/rowGroup.bootstrap.css
trunk/phpgwapi/js/DataTables/RowGroup/css/rowGroup.bootstrap.min.css
trunk/phpgwapi/js/DataTables/RowGroup/css/rowGroup.bootstrap4.css
trunk/phpgwapi/js/DataTables/RowGroup/css/rowGroup.bootstrap4.min.css
trunk/phpgwapi/js/DataTables/RowGroup/css/rowGroup.dataTables.css
trunk/phpgwapi/js/DataTables/RowGroup/css/rowGroup.dataTables.min.css
trunk/phpgwapi/js/DataTables/RowGroup/css/rowGroup.foundation.css
trunk/phpgwapi/js/DataTables/RowGroup/css/rowGroup.foundation.min.css
trunk/phpgwapi/js/DataTables/RowGroup/css/rowGroup.jqueryui.css
trunk/phpgwapi/js/DataTables/RowGroup/css/rowGroup.jqueryui.min.css
trunk/phpgwapi/js/DataTables/RowGroup/css/rowGroup.semanticui.css
trunk/phpgwapi/js/DataTables/RowGroup/css/rowGroup.semanticui.min.css
trunk/phpgwapi/js/DataTables/RowGroup/js/
trunk/phpgwapi/js/DataTables/RowGroup/js/dataTables.rowGroup.js
trunk/phpgwapi/js/DataTables/RowGroup/js/dataTables.rowGroup.min.js
trunk/phpgwapi/js/DataTables/RowReorder/
trunk/phpgwapi/js/DataTables/RowReorder/css/
trunk/phpgwapi/js/DataTables/RowReorder/css/rowReorder.bootstrap.css
trunk/phpgwapi/js/DataTables/RowReorder/css/rowReorder.bootstrap.min.css
trunk/phpgwapi/js/DataTables/RowReorder/css/rowReorder.bootstrap4.css
trunk/phpgwapi/js/DataTables/RowReorder/css/rowReorder.bootstrap4.min.css
trunk/phpgwapi/js/DataTables/RowReorder/css/rowReorder.dataTables.css
trunk/phpgwapi/js/DataTables/RowReorder/css/rowReorder.dataTables.min.css
trunk/phpgwapi/js/DataTables/RowReorder/css/rowReorder.foundation.css
trunk/phpgwapi/js/DataTables/RowReorder/css/rowReorder.foundation.min.css
trunk/phpgwapi/js/DataTables/RowReorder/css/rowReorder.jqueryui.css
trunk/phpgwapi/js/DataTables/RowReorder/css/rowReorder.jqueryui.min.css
trunk/phpgwapi/js/DataTables/RowReorder/css/rowReorder.semanticui.css
trunk/phpgwapi/js/DataTables/RowReorder/css/rowReorder.semanticui.min.css
trunk/phpgwapi/js/DataTables/RowReorder/js/
trunk/phpgwapi/js/DataTables/RowReorder/js/dataTables.rowReorder.js
trunk/phpgwapi/js/DataTables/RowReorder/js/dataTables.rowReorder.min.js
trunk/phpgwapi/js/DataTables/Scroller/
trunk/phpgwapi/js/DataTables/Scroller/css/
trunk/phpgwapi/js/DataTables/Scroller/css/scroller.bootstrap.css
trunk/phpgwapi/js/DataTables/Scroller/css/scroller.bootstrap.min.css
trunk/phpgwapi/js/DataTables/Scroller/css/scroller.bootstrap4.css
trunk/phpgwapi/js/DataTables/Scroller/css/scroller.bootstrap4.min.css
trunk/phpgwapi/js/DataTables/Scroller/css/scroller.dataTables.css
trunk/phpgwapi/js/DataTables/Scroller/css/scroller.dataTables.min.css
trunk/phpgwapi/js/DataTables/Scroller/css/scroller.foundation.css
trunk/phpgwapi/js/DataTables/Scroller/css/scroller.foundation.min.css
trunk/phpgwapi/js/DataTables/Scroller/css/scroller.jqueryui.css
trunk/phpgwapi/js/DataTables/Scroller/css/scroller.jqueryui.min.css
trunk/phpgwapi/js/DataTables/Scroller/css/scroller.semanticui.css
trunk/phpgwapi/js/DataTables/Scroller/css/scroller.semanticui.min.css
trunk/phpgwapi/js/DataTables/Scroller/js/
trunk/phpgwapi/js/DataTables/Scroller/js/dataTables.scroller.js
trunk/phpgwapi/js/DataTables/Scroller/js/dataTables.scroller.min.js
trunk/phpgwapi/js/DataTables/Select/
trunk/phpgwapi/js/DataTables/Select/css/
trunk/phpgwapi/js/DataTables/Select/css/select.bootstrap.css
trunk/phpgwapi/js/DataTables/Select/css/select.bootstrap.min.css
trunk/phpgwapi/js/DataTables/Select/css/select.bootstrap4.css
trunk/phpgwapi/js/DataTables/Select/css/select.bootstrap4.min.css
trunk/phpgwapi/js/DataTables/Select/css/select.dataTables.css
trunk/phpgwapi/js/DataTables/Select/css/select.dataTables.min.css
trunk/phpgwapi/js/DataTables/Select/css/select.foundation.css
trunk/phpgwapi/js/DataTables/Select/css/select.foundation.min.css
trunk/phpgwapi/js/DataTables/Select/css/select.jqueryui.css
trunk/phpgwapi/js/DataTables/Select/css/select.jqueryui.min.css
trunk/phpgwapi/js/DataTables/Select/css/select.semanticui.css
trunk/phpgwapi/js/DataTables/Select/css/select.semanticui.min.css
trunk/phpgwapi/js/DataTables/Select/js/
trunk/phpgwapi/js/DataTables/Select/js/dataTables.select.js
trunk/phpgwapi/js/DataTables/Select/js/dataTables.select.min.js
trunk/phpgwapi/js/DataTables/pdfmake/
trunk/phpgwapi/js/DataTables/pdfmake/pdfmake.js
trunk/phpgwapi/js/DataTables/pdfmake/pdfmake.min.js
trunk/phpgwapi/js/DataTables/pdfmake/vfs_fonts.js
Removed Paths:
-------------
trunk/phpgwapi/js/DataTables/Contributing.md
trunk/phpgwapi/js/DataTables/Readme.md
trunk/phpgwapi/js/DataTables/extensions/
trunk/phpgwapi/js/DataTables/license.txt
trunk/phpgwapi/js/DataTables/media/
Added: trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap.css
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,81 @@
+div.dt-autofill-handle {
+ position: absolute;
+ height: 8px;
+ width: 8px;
+ z-index: 102;
+ box-sizing: border-box;
+ border: 1px solid #337ab7;
+ background: #337ab7;
+}
+
+div.dt-autofill-select {
+ position: absolute;
+ z-index: 1001;
+ background-color: #337ab7;
+ background-image: repeating-linear-gradient(45deg, transparent, transparent
5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px);
+}
+div.dt-autofill-select.top, div.dt-autofill-select.bottom {
+ height: 3px;
+ margin-top: -1px;
+}
+div.dt-autofill-select.left, div.dt-autofill-select.right {
+ width: 3px;
+ margin-left: -1px;
+}
+
+div.dt-autofill-list {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 500px;
+ margin-left: -250px;
+ background-color: white;
+ border-radius: 6px;
+ box-shadow: 0 0 5px #555;
+ border: 2px solid #444;
+ z-index: 11;
+ box-sizing: border-box;
+ padding: 1.5em 2em;
+}
+div.dt-autofill-list ul {
+ display: table;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ width: 100%;
+}
+div.dt-autofill-list ul li {
+ display: table-row;
+}
+div.dt-autofill-list ul li:last-child div.dt-autofill-question,
div.dt-autofill-list ul li:last-child div.dt-autofill-button {
+ border-bottom: none;
+}
+div.dt-autofill-list ul li:hover {
+ background-color: #f6f6f6;
+}
+div.dt-autofill-list div.dt-autofill-question {
+ display: table-cell;
+ padding: 0.5em 0;
+ border-bottom: 1px solid #ccc;
+}
+div.dt-autofill-list div.dt-autofill-question input[type=number] {
+ padding: 6px;
+ width: 30px;
+ margin: -2px 0;
+}
+div.dt-autofill-list div.dt-autofill-button {
+ display: table-cell;
+ padding: 0.5em 0;
+ border-bottom: 1px solid #ccc;
+}
+
+div.dt-autofill-background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.7);
+ background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0,
0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ z-index: 10;
+}
Added: trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap.min.css
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap.min.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap.min.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1 @@
+div.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;box-sizing:border-box;border:1px
solid
#337ab7;background:#337ab7}div.dt-autofill-select{position:absolute;z-index:1001;background-color:#337ab7;background-image:repeating-linear-gradient(45deg,
transparent, transparent 5px, rgba(255,255,255,0.5) 5px, rgba(255,255,255,0.5)
10px)}div.dt-autofill-select.top,div.dt-autofill-select.bottom{height:3px;margin-top:-1px}div.dt-autofill-select.left,div.dt-autofill-select.right{width:3px;margin-left:-1px}div.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:white;border-radius:6px;box-shadow:0
0 5px #555;border:2px solid
#444;z-index:11;box-sizing:border-box;padding:1.5em 2em}div.dt-autofill-list
ul{display:table;margin:0;padding:0;list-style:none;width:100%}div.dt-autofill-list
ul li{display:table-row}div.dt-autofill-list ul li:last-child
div.dt-autofill-question,div.dt-autofill-list ul li:last-child
div.dt-autofill-button{border-bottom:none}div.dt-autofill-list ul
li:hover{background-color:#f6f6f6}div.dt-autofill-list
div.dt-autofill-question{display:table-cell;padding:0.5em 0;border-bottom:1px
solid #ccc}div.dt-autofill-list div.dt-autofill-question
input[type=number]{padding:6px;width:30px;margin:-2px 0}div.dt-autofill-list
div.dt-autofill-button{display:table-cell;padding:0.5em 0;border-bottom:1px
solid
#ccc}div.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:radial-gradient(ellipse
farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7)
100%);z-index:10}
Added: trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap4.css
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap4.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap4.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,81 @@
+div.dt-autofill-handle {
+ position: absolute;
+ height: 8px;
+ width: 8px;
+ z-index: 102;
+ box-sizing: border-box;
+ border: 1px solid #0275d8;
+ background: #0275d8;
+}
+
+div.dt-autofill-select {
+ position: absolute;
+ z-index: 1001;
+ background-color: #0275d8;
+ background-image: repeating-linear-gradient(45deg, transparent, transparent
5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px);
+}
+div.dt-autofill-select.top, div.dt-autofill-select.bottom {
+ height: 3px;
+ margin-top: -1px;
+}
+div.dt-autofill-select.left, div.dt-autofill-select.right {
+ width: 3px;
+ margin-left: -1px;
+}
+
+div.dt-autofill-list {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 500px;
+ margin-left: -250px;
+ background-color: white;
+ border-radius: 6px;
+ box-shadow: 0 0 5px #555;
+ border: 2px solid #444;
+ z-index: 11;
+ box-sizing: border-box;
+ padding: 1.5em 2em;
+}
+div.dt-autofill-list ul {
+ display: table;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ width: 100%;
+}
+div.dt-autofill-list ul li {
+ display: table-row;
+}
+div.dt-autofill-list ul li:last-child div.dt-autofill-question,
div.dt-autofill-list ul li:last-child div.dt-autofill-button {
+ border-bottom: none;
+}
+div.dt-autofill-list ul li:hover {
+ background-color: #f6f6f6;
+}
+div.dt-autofill-list div.dt-autofill-question {
+ display: table-cell;
+ padding: 0.5em 0;
+ border-bottom: 1px solid #ccc;
+}
+div.dt-autofill-list div.dt-autofill-question input[type=number] {
+ padding: 6px;
+ width: 30px;
+ margin: -2px 0;
+}
+div.dt-autofill-list div.dt-autofill-button {
+ display: table-cell;
+ padding: 0.5em 0;
+ border-bottom: 1px solid #ccc;
+}
+
+div.dt-autofill-background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.7);
+ background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0,
0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ z-index: 10;
+}
Added: trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap4.min.css
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap4.min.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.bootstrap4.min.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1 @@
+div.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;box-sizing:border-box;border:1px
solid
#0275d8;background:#0275d8}div.dt-autofill-select{position:absolute;z-index:1001;background-color:#0275d8;background-image:repeating-linear-gradient(45deg,
transparent, transparent 5px, rgba(255,255,255,0.5) 5px, rgba(255,255,255,0.5)
10px)}div.dt-autofill-select.top,div.dt-autofill-select.bottom{height:3px;margin-top:-1px}div.dt-autofill-select.left,div.dt-autofill-select.right{width:3px;margin-left:-1px}div.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:white;border-radius:6px;box-shadow:0
0 5px #555;border:2px solid
#444;z-index:11;box-sizing:border-box;padding:1.5em 2em}div.dt-autofill-list
ul{display:table;margin:0;padding:0;list-style:none;width:100%}div.dt-autofill-list
ul li{display:table-row}div.dt-autofill-list ul li:last-child
div.dt-autofill-question,div.dt-autofill-list ul li:last-child
div.dt-autofill-button{border-bottom:none}div.dt-autofill-list ul
li:hover{background-color:#f6f6f6}div.dt-autofill-list
div.dt-autofill-question{display:table-cell;padding:0.5em 0;border-bottom:1px
solid #ccc}div.dt-autofill-list div.dt-autofill-question
input[type=number]{padding:6px;width:30px;margin:-2px 0}div.dt-autofill-list
div.dt-autofill-button{display:table-cell;padding:0.5em 0;border-bottom:1px
solid
#ccc}div.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:radial-gradient(ellipse
farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7)
100%);z-index:10}
Added: trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.dataTables.css
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.dataTables.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.dataTables.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,92 @@
+div.dt-autofill-handle {
+ position: absolute;
+ height: 8px;
+ width: 8px;
+ z-index: 102;
+ box-sizing: border-box;
+ border: 1px solid #316ad1;
+ background: linear-gradient(to bottom, #abcffb 0%, #4989de 100%);
+}
+
+div.dt-autofill-select {
+ position: absolute;
+ z-index: 1001;
+ background-color: #4989de;
+ background-image: repeating-linear-gradient(45deg, transparent, transparent
5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px);
+}
+div.dt-autofill-select.top, div.dt-autofill-select.bottom {
+ height: 3px;
+ margin-top: -1px;
+}
+div.dt-autofill-select.left, div.dt-autofill-select.right {
+ width: 3px;
+ margin-left: -1px;
+}
+
+div.dt-autofill-list {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 500px;
+ margin-left: -250px;
+ background-color: white;
+ border-radius: 6px;
+ box-shadow: 0 0 5px #555;
+ border: 2px solid #444;
+ z-index: 11;
+ box-sizing: border-box;
+ padding: 1.5em 2em;
+}
+div.dt-autofill-list ul {
+ display: table;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ width: 100%;
+}
+div.dt-autofill-list ul li {
+ display: table-row;
+}
+div.dt-autofill-list ul li:last-child div.dt-autofill-question,
div.dt-autofill-list ul li:last-child div.dt-autofill-button {
+ border-bottom: none;
+}
+div.dt-autofill-list ul li:hover {
+ background-color: #f6f6f6;
+}
+div.dt-autofill-list div.dt-autofill-question {
+ display: table-cell;
+ padding: 0.5em 0;
+ border-bottom: 1px solid #ccc;
+}
+div.dt-autofill-list div.dt-autofill-question input[type=number] {
+ padding: 6px;
+ width: 30px;
+ margin: -2px 0;
+}
+div.dt-autofill-list div.dt-autofill-button {
+ display: table-cell;
+ padding: 0.5em 0;
+ border-bottom: 1px solid #ccc;
+}
+div.dt-autofill-list div.dt-autofill-button button {
+ color: white;
+ margin: 0;
+ padding: 6px 12px;
+ text-align: center;
+ border: 1px solid #2e6da4;
+ background-color: #337ab7;
+ border-radius: 4px;
+ cursor: pointer;
+ vertical-align: middle;
+}
+
+div.dt-autofill-background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.7);
+ background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0,
0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ z-index: 10;
+}
Added: trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.dataTables.min.css
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.dataTables.min.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.dataTables.min.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1 @@
+div.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;box-sizing:border-box;border:1px
solid #316ad1;background:linear-gradient(to bottom, #abcffb 0%, #4989de
100%)}div.dt-autofill-select{position:absolute;z-index:1001;background-color:#4989de;background-image:repeating-linear-gradient(45deg,
transparent, transparent 5px, rgba(255,255,255,0.5) 5px, rgba(255,255,255,0.5)
10px)}div.dt-autofill-select.top,div.dt-autofill-select.bottom{height:3px;margin-top:-1px}div.dt-autofill-select.left,div.dt-autofill-select.right{width:3px;margin-left:-1px}div.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:white;border-radius:6px;box-shadow:0
0 5px #555;border:2px solid
#444;z-index:11;box-sizing:border-box;padding:1.5em 2em}div.dt-autofill-list
ul{display:table;margin:0;padding:0;list-style:none;width:100%}div.dt-autofill-list
ul li{display:table-row}div.dt-autofill-list ul li:last-child
div.dt-autofill-question,div.dt-autofill-list ul li:last-child
div.dt-autofill-button{border-bottom:none}div.dt-autofill-list ul
li:hover{background-color:#f6f6f6}div.dt-autofill-list
div.dt-autofill-question{display:table-cell;padding:0.5em 0;border-bottom:1px
solid #ccc}div.dt-autofill-list div.dt-autofill-question
input[type=number]{padding:6px;width:30px;margin:-2px 0}div.dt-autofill-list
div.dt-autofill-button{display:table-cell;padding:0.5em 0;border-bottom:1px
solid #ccc}div.dt-autofill-list div.dt-autofill-button
button{color:white;margin:0;padding:6px 12px;text-align:center;border:1px solid
#2e6da4;background-color:#337ab7;border-radius:4px;cursor:pointer;vertical-align:middle}div.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:radial-gradient(ellipse
farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7)
100%);z-index:10}
Added: trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.foundation.css
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.foundation.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.foundation.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,85 @@
+div.dt-autofill-handle {
+ position: absolute;
+ height: 8px;
+ width: 8px;
+ z-index: 102;
+ box-sizing: border-box;
+ border: 1px solid #008CBA;
+ background: #008CBA;
+}
+
+div.dt-autofill-select {
+ position: absolute;
+ z-index: 1001;
+ background-color: #008CBA;
+ background-image: repeating-linear-gradient(45deg, transparent, transparent
5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px);
+}
+div.dt-autofill-select.top, div.dt-autofill-select.bottom {
+ height: 3px;
+ margin-top: -1px;
+}
+div.dt-autofill-select.left, div.dt-autofill-select.right {
+ width: 3px;
+ margin-left: -1px;
+}
+
+div.dt-autofill-list {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 500px;
+ margin-left: -250px;
+ background-color: white;
+ border-radius: 6px;
+ box-shadow: 0 0 5px #555;
+ border: 2px solid #444;
+ z-index: 11;
+ box-sizing: border-box;
+ padding: 1.5em 2em;
+}
+div.dt-autofill-list ul {
+ display: table;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ width: 100%;
+}
+div.dt-autofill-list ul li {
+ display: table-row;
+}
+div.dt-autofill-list ul li:last-child div.dt-autofill-question,
div.dt-autofill-list ul li:last-child div.dt-autofill-button {
+ border-bottom: none;
+}
+div.dt-autofill-list ul li:hover {
+ background-color: #f6f6f6;
+}
+div.dt-autofill-list div.dt-autofill-question {
+ display: table-cell;
+ padding: 0.5em 0;
+ border-bottom: 1px solid #ccc;
+}
+div.dt-autofill-list div.dt-autofill-question input[type=number] {
+ padding: 6px;
+ width: 30px;
+ margin: -2px 0;
+}
+div.dt-autofill-list div.dt-autofill-button {
+ display: table-cell;
+ padding: 0.5em 0;
+ border-bottom: 1px solid #ccc;
+}
+
+div.dt-autofill-background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.7);
+ background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0,
0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ z-index: 10;
+}
+
+div.dt-autofill-list button {
+ margin: 0;
+}
Added: trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.foundation.min.css
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.foundation.min.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.foundation.min.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1 @@
+div.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;box-sizing:border-box;border:1px
solid
#008CBA;background:#008CBA}div.dt-autofill-select{position:absolute;z-index:1001;background-color:#008CBA;background-image:repeating-linear-gradient(45deg,
transparent, transparent 5px, rgba(255,255,255,0.5) 5px, rgba(255,255,255,0.5)
10px)}div.dt-autofill-select.top,div.dt-autofill-select.bottom{height:3px;margin-top:-1px}div.dt-autofill-select.left,div.dt-autofill-select.right{width:3px;margin-left:-1px}div.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:white;border-radius:6px;box-shadow:0
0 5px #555;border:2px solid
#444;z-index:11;box-sizing:border-box;padding:1.5em 2em}div.dt-autofill-list
ul{display:table;margin:0;padding:0;list-style:none;width:100%}div.dt-autofill-list
ul li{display:table-row}div.dt-autofill-list ul li:last-child
div.dt-autofill-question,div.dt-autofill-list ul li:last-child
div.dt-autofill-button{border-bottom:none}div.dt-autofill-list ul
li:hover{background-color:#f6f6f6}div.dt-autofill-list
div.dt-autofill-question{display:table-cell;padding:0.5em 0;border-bottom:1px
solid #ccc}div.dt-autofill-list div.dt-autofill-question
input[type=number]{padding:6px;width:30px;margin:-2px 0}div.dt-autofill-list
div.dt-autofill-button{display:table-cell;padding:0.5em 0;border-bottom:1px
solid
#ccc}div.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:radial-gradient(ellipse
farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7)
100%);z-index:10}div.dt-autofill-list button{margin:0}
Added: trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.jqueryui.css
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.jqueryui.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.jqueryui.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,85 @@
+div.dt-autofill-handle {
+ position: absolute;
+ height: 8px;
+ width: 8px;
+ z-index: 102;
+ box-sizing: border-box;
+ border: 1px solid #316ad1;
+ background: linear-gradient(to bottom, #abcffb 0%, #4989de 100%);
+}
+
+div.dt-autofill-select {
+ position: absolute;
+ z-index: 1001;
+ background-color: #4989de;
+ background-image: repeating-linear-gradient(45deg, transparent, transparent
5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px);
+}
+div.dt-autofill-select.top, div.dt-autofill-select.bottom {
+ height: 3px;
+ margin-top: -1px;
+}
+div.dt-autofill-select.left, div.dt-autofill-select.right {
+ width: 3px;
+ margin-left: -1px;
+}
+
+div.dt-autofill-list {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 500px;
+ margin-left: -250px;
+ background-color: white;
+ border-radius: 6px;
+ box-shadow: 0 0 5px #555;
+ border: 2px solid #444;
+ z-index: 11;
+ box-sizing: border-box;
+ padding: 1.5em 2em;
+}
+div.dt-autofill-list ul {
+ display: table;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ width: 100%;
+}
+div.dt-autofill-list ul li {
+ display: table-row;
+}
+div.dt-autofill-list ul li:last-child div.dt-autofill-question,
div.dt-autofill-list ul li:last-child div.dt-autofill-button {
+ border-bottom: none;
+}
+div.dt-autofill-list ul li:hover {
+ background-color: #f6f6f6;
+}
+div.dt-autofill-list div.dt-autofill-question {
+ display: table-cell;
+ padding: 0.5em 0;
+ border-bottom: 1px solid #ccc;
+}
+div.dt-autofill-list div.dt-autofill-question input[type=number] {
+ padding: 6px;
+ width: 30px;
+ margin: -2px 0;
+}
+div.dt-autofill-list div.dt-autofill-button {
+ display: table-cell;
+ padding: 0.5em 0;
+ border-bottom: 1px solid #ccc;
+}
+
+div.dt-autofill-background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.7);
+ background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0,
0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ z-index: 10;
+}
+
+div.dt-autofill-list button {
+ padding: 0.35em 1em;
+}
Added: trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.jqueryui.min.css
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.jqueryui.min.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.jqueryui.min.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1 @@
+div.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;box-sizing:border-box;border:1px
solid #316ad1;background:linear-gradient(to bottom, #abcffb 0%, #4989de
100%)}div.dt-autofill-select{position:absolute;z-index:1001;background-color:#4989de;background-image:repeating-linear-gradient(45deg,
transparent, transparent 5px, rgba(255,255,255,0.5) 5px, rgba(255,255,255,0.5)
10px)}div.dt-autofill-select.top,div.dt-autofill-select.bottom{height:3px;margin-top:-1px}div.dt-autofill-select.left,div.dt-autofill-select.right{width:3px;margin-left:-1px}div.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:white;border-radius:6px;box-shadow:0
0 5px #555;border:2px solid
#444;z-index:11;box-sizing:border-box;padding:1.5em 2em}div.dt-autofill-list
ul{display:table;margin:0;padding:0;list-style:none;width:100%}div.dt-autofill-list
ul li{display:table-row}div.dt-autofill-list ul li:last-child
div.dt-autofill-question,div.dt-autofill-list ul li:last-child
div.dt-autofill-button{border-bottom:none}div.dt-autofill-list ul
li:hover{background-color:#f6f6f6}div.dt-autofill-list
div.dt-autofill-question{display:table-cell;padding:0.5em 0;border-bottom:1px
solid #ccc}div.dt-autofill-list div.dt-autofill-question
input[type=number]{padding:6px;width:30px;margin:-2px 0}div.dt-autofill-list
div.dt-autofill-button{display:table-cell;padding:0.5em 0;border-bottom:1px
solid
#ccc}div.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:radial-gradient(ellipse
farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7)
100%);z-index:10}div.dt-autofill-list button{padding:0.35em 1em}
Added: trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.semanticui.css
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.semanticui.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.semanticui.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,81 @@
+div.dt-autofill-handle {
+ position: absolute;
+ height: 8px;
+ width: 8px;
+ z-index: 102;
+ box-sizing: border-box;
+ border: 1px solid #888;
+ background: #888;
+}
+
+div.dt-autofill-select {
+ position: absolute;
+ z-index: 1001;
+ background-color: #888;
+ background-image: repeating-linear-gradient(45deg, transparent, transparent
5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px);
+}
+div.dt-autofill-select.top, div.dt-autofill-select.bottom {
+ height: 3px;
+ margin-top: -1px;
+}
+div.dt-autofill-select.left, div.dt-autofill-select.right {
+ width: 3px;
+ margin-left: -1px;
+}
+
+div.dt-autofill-list {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ width: 500px;
+ margin-left: -250px;
+ background-color: white;
+ border-radius: 6px;
+ box-shadow: 0 0 5px #555;
+ border: 2px solid #444;
+ z-index: 11;
+ box-sizing: border-box;
+ padding: 1.5em 2em;
+}
+div.dt-autofill-list ul {
+ display: table;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ width: 100%;
+}
+div.dt-autofill-list ul li {
+ display: table-row;
+}
+div.dt-autofill-list ul li:last-child div.dt-autofill-question,
div.dt-autofill-list ul li:last-child div.dt-autofill-button {
+ border-bottom: none;
+}
+div.dt-autofill-list ul li:hover {
+ background-color: #f6f6f6;
+}
+div.dt-autofill-list div.dt-autofill-question {
+ display: table-cell;
+ padding: 0.5em 0;
+ border-bottom: 1px solid #ccc;
+}
+div.dt-autofill-list div.dt-autofill-question input[type=number] {
+ padding: 6px;
+ width: 30px;
+ margin: -2px 0;
+}
+div.dt-autofill-list div.dt-autofill-button {
+ display: table-cell;
+ padding: 0.5em 0;
+ border-bottom: 1px solid #ccc;
+}
+
+div.dt-autofill-background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.7);
+ background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0,
0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
+ z-index: 10;
+}
Added: trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.semanticui.min.css
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.semanticui.min.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/css/autoFill.semanticui.min.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1 @@
+div.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;box-sizing:border-box;border:1px
solid
#888;background:#888}div.dt-autofill-select{position:absolute;z-index:1001;background-color:#888;background-image:repeating-linear-gradient(45deg,
transparent, transparent 5px, rgba(255,255,255,0.5) 5px, rgba(255,255,255,0.5)
10px)}div.dt-autofill-select.top,div.dt-autofill-select.bottom{height:3px;margin-top:-1px}div.dt-autofill-select.left,div.dt-autofill-select.right{width:3px;margin-left:-1px}div.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:white;border-radius:6px;box-shadow:0
0 5px #555;border:2px solid
#444;z-index:11;box-sizing:border-box;padding:1.5em 2em}div.dt-autofill-list
ul{display:table;margin:0;padding:0;list-style:none;width:100%}div.dt-autofill-list
ul li{display:table-row}div.dt-autofill-list ul li:last-child
div.dt-autofill-question,div.dt-autofill-list ul li:last-child
div.dt-autofill-button{border-bottom:none}div.dt-autofill-list ul
li:hover{background-color:#f6f6f6}div.dt-autofill-list
div.dt-autofill-question{display:table-cell;padding:0.5em 0;border-bottom:1px
solid #ccc}div.dt-autofill-list div.dt-autofill-question
input[type=number]{padding:6px;width:30px;margin:-2px 0}div.dt-autofill-list
div.dt-autofill-button{display:table-cell;padding:0.5em 0;border-bottom:1px
solid
#ccc}div.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:radial-gradient(ellipse
farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7)
100%);z-index:10}
Added: trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap.js
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,43 @@
+/*! Bootstrap integration for DataTables' AutoFill
+ * ©2015 SpryMedia Ltd - datatables.net/license
+ */
+
+(function( factory ){
+ if ( typeof define === 'function' && define.amd ) {
+ // AMD
+ define( ['jquery', 'datatables.net-bs',
'datatables.net-autofill'], 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.AutoFill ) {
+ require('datatables.net-autofill')(root, $);
+ }
+
+ return factory( $, root, root.document );
+ };
+ }
+ else {
+ // Browser
+ factory( jQuery, window, document );
+ }
+}(function( $, window, document, undefined ) {
+'use strict';
+var DataTable = $.fn.dataTable;
+
+
+DataTable.AutoFill.classes.btn = 'btn btn-primary';
+
+
+return DataTable;
+}));
\ No newline at end of file
Added: trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap.min.js
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap.min.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap.min.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,5 @@
+/*!
+ Bootstrap integration for DataTables' AutoFill
+ ©2015 SpryMedia Ltd - datatables.net/license
+*/
+(function(a){"function"===typeof
define&&define.amd?define(["jquery","datatables.net-bs","datatables.net-autofill"],function(b){return
a(b,window,document)}):"object"===typeof
exports?module.exports=function(b,c){b||(b=window);if(!c||!c.fn.dataTable)c=require("datatables.net-bs")(b,c).$;c.fn.dataTable.AutoFill||require("datatables.net-autofill")(b,c);return
a(c,b,b.document)}:a(jQuery,window,document)})(function(a){a=a.fn.dataTable;a.AutoFill.classes.btn="btn
btn-primary";return a});
Added: trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap4.js
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap4.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap4.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,43 @@
+/*! Bootstrap integration for DataTables' AutoFill
+ * ©2015 SpryMedia Ltd - datatables.net/license
+ */
+
+(function( factory ){
+ if ( typeof define === 'function' && define.amd ) {
+ // AMD
+ define( ['jquery', 'datatables.net-bs4',
'datatables.net-autofill'], 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.AutoFill ) {
+ require('datatables.net-autofill')(root, $);
+ }
+
+ return factory( $, root, root.document );
+ };
+ }
+ else {
+ // Browser
+ factory( jQuery, window, document );
+ }
+}(function( $, window, document, undefined ) {
+'use strict';
+var DataTable = $.fn.dataTable;
+
+
+DataTable.AutoFill.classes.btn = 'btn btn-primary';
+
+
+return DataTable;
+}));
\ No newline at end of file
Added: trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap4.min.js
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap4.min.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.bootstrap4.min.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,5 @@
+/*!
+ Bootstrap integration for DataTables' AutoFill
+ ©2015 SpryMedia Ltd - datatables.net/license
+*/
+(function(a){"function"===typeof
define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-autofill"],function(b){return
a(b,window,document)}):"object"===typeof
exports?module.exports=function(b,c){b||(b=window);if(!c||!c.fn.dataTable)c=require("datatables.net-bs4")(b,c).$;c.fn.dataTable.AutoFill||require("datatables.net-autofill")(b,c);return
a(c,b,b.document)}:a(jQuery,window,document)})(function(a){a=a.fn.dataTable;a.AutoFill.classes.btn="btn
btn-primary";return a});
Added: trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.foundation.js
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.foundation.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.foundation.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,43 @@
+/*! Foundation integration for DataTables' AutoFill
+ * ©2015 SpryMedia Ltd - datatables.net/license
+ */
+
+(function( factory ){
+ if ( typeof define === 'function' && define.amd ) {
+ // AMD
+ define( ['jquery', 'datatables.net-zf',
'datatables.net-autofill'], 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-zf')(root, $).$;
+ }
+
+ if ( ! $.fn.dataTable.AutoFill ) {
+ require('datatables.net-autofill')(root, $);
+ }
+
+ return factory( $, root, root.document );
+ };
+ }
+ else {
+ // Browser
+ factory( jQuery, window, document );
+ }
+}(function( $, window, document, undefined ) {
+'use strict';
+var DataTable = $.fn.dataTable;
+
+
+DataTable.AutoFill.classes.btn = 'button tiny';
+
+
+return DataTable;
+}));
\ No newline at end of file
Added: trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.foundation.min.js
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.foundation.min.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.foundation.min.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,5 @@
+/*!
+ Foundation integration for DataTables' AutoFill
+ ©2015 SpryMedia Ltd - datatables.net/license
+*/
+(function(a){"function"===typeof
define&&define.amd?define(["jquery","datatables.net-zf","datatables.net-autofill"],function(b){return
a(b,window,document)}):"object"===typeof
exports?module.exports=function(b,c){b||(b=window);if(!c||!c.fn.dataTable)c=require("datatables.net-zf")(b,c).$;c.fn.dataTable.AutoFill||require("datatables.net-autofill")(b,c);return
a(c,b,b.document)}:a(jQuery,window,document)})(function(a){a=a.fn.dataTable;a.AutoFill.classes.btn="button
tiny";return a});
Added: trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.jqueryui.js
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.jqueryui.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.jqueryui.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,43 @@
+/*! jQuery UI integration for DataTables' AutoFill
+ * ©2015 SpryMedia Ltd - datatables.net/license
+ */
+
+(function( factory ){
+ if ( typeof define === 'function' && define.amd ) {
+ // AMD
+ define( ['jquery', 'datatables.net-jqui',
'datatables.net-autofill'], 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-jqui')(root, $).$;
+ }
+
+ if ( ! $.fn.dataTable.AutoFill ) {
+ require('datatables.net-autofill')(root, $);
+ }
+
+ return factory( $, root, root.document );
+ };
+ }
+ else {
+ // Browser
+ factory( jQuery, window, document );
+ }
+}(function( $, window, document, undefined ) {
+'use strict';
+var DataTable = $.fn.dataTable;
+
+
+DataTable.AutoFill.classes.btn = 'ui-button ui-state-default ui-corner-all';
+
+
+return DataTable;
+}));
Added: trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.jqueryui.min.js
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.jqueryui.min.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.jqueryui.min.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,6 @@
+/*!
+ jQuery UI integration for DataTables' AutoFill
+ ©2015 SpryMedia Ltd - datatables.net/license
+*/
+(function(a){"function"===typeof
define&&define.amd?define(["jquery","datatables.net-jqui","datatables.net-autofill"],function(b){return
a(b,window,document)}):"object"===typeof
exports?module.exports=function(b,c){b||(b=window);if(!c||!c.fn.dataTable)c=require("datatables.net-jqui")(b,c).$;c.fn.dataTable.AutoFill||require("datatables.net-autofill")(b,c);return
a(c,b,b.document)}:a(jQuery,window,document)})(function(a){a=a.fn.dataTable;a.AutoFill.classes.btn="ui-button
ui-state-default ui-corner-all";
+return a});
Added: trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.semanticui.js
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.semanticui.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.semanticui.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,43 @@
+/*! Bootstrap integration for DataTables' AutoFill
+ * ©2015 SpryMedia Ltd - datatables.net/license
+ */
+
+(function( factory ){
+ if ( typeof define === 'function' && define.amd ) {
+ // AMD
+ define( ['jquery', 'datatables.net-se',
'datatables.net-autofill'], 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-se')(root, $).$;
+ }
+
+ if ( ! $.fn.dataTable.AutoFill ) {
+ require('datatables.net-autofill')(root, $);
+ }
+
+ return factory( $, root, root.document );
+ };
+ }
+ else {
+ // Browser
+ factory( jQuery, window, document );
+ }
+}(function( $, window, document, undefined ) {
+'use strict';
+var DataTable = $.fn.dataTable;
+
+
+DataTable.AutoFill.classes.btn = 'ui button';
+
+
+return DataTable;
+}));
\ No newline at end of file
Added: trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.semanticui.min.js
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.semanticui.min.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/js/autoFill.semanticui.min.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,5 @@
+/*!
+ Bootstrap integration for DataTables' AutoFill
+ ©2015 SpryMedia Ltd - datatables.net/license
+*/
+(function(a){"function"===typeof
define&&define.amd?define(["jquery","datatables.net-se","datatables.net-autofill"],function(b){return
a(b,window,document)}):"object"===typeof
exports?module.exports=function(b,c){b||(b=window);if(!c||!c.fn.dataTable)c=require("datatables.net-se")(b,c).$;c.fn.dataTable.AutoFill||require("datatables.net-autofill")(b,c);return
a(c,b,b.document)}:a(jQuery,window,document)})(function(a){a=a.fn.dataTable;a.AutoFill.classes.btn="ui
button";return a});
Added: trunk/phpgwapi/js/DataTables/AutoFill/js/dataTables.autoFill.js
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/js/dataTables.autoFill.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/js/dataTables.autoFill.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,1159 @@
+/*! AutoFill 2.2.2
+ * ©2008-2017 SpryMedia Ltd - datatables.net/license
+ */
+
+/**
+ * @summary AutoFill
+ * @description Add Excel like click and drag auto-fill options to DataTables
+ * @version 2.2.2
+ * @file dataTables.autoFill.js
+ * @author SpryMedia Ltd (www.sprymedia.co.uk)
+ * @contact www.sprymedia.co.uk/contact
+ * @copyright Copyright 2010-2017 SpryMedia Ltd.
+ *
+ * This source file is free software, available under the following license:
+ * MIT license - http://datatables.net/license/mit
+ *
+ * This source file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
+ *
+ * For details please refer to: http://www.datatables.net
+ */
+(function( factory ){
+ if ( typeof define === 'function' && define.amd ) {
+ // AMD
+ define( ['jquery', 'datatables.net'], 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, $).$;
+ }
+
+ return factory( $, root, root.document );
+ };
+ }
+ else {
+ // Browser
+ factory( jQuery, window, document );
+ }
+}(function( $, window, document, undefined ) {
+'use strict';
+var DataTable = $.fn.dataTable;
+
+
+var _instance = 0;
+
+/**
+ * AutoFill provides Excel like auto-fill features for a DataTable
+ *
+ * @class AutoFill
+ * @constructor
+ * @param {object} oTD DataTables settings object
+ * @param {object} oConfig Configuration object for AutoFill
+ */
+var AutoFill = function( dt, opts )
+{
+ if ( ! DataTable.versionCheck || ! DataTable.versionCheck( '1.10.8' ) )
{
+ throw( "Warning: AutoFill requires DataTables 1.10.8 or
greater");
+ }
+
+ // User and defaults configuration object
+ this.c = $.extend( true, {},
+ DataTable.defaults.autoFill,
+ AutoFill.defaults,
+ opts
+ );
+
+ /**
+ * @namespace Settings object which contains customisable information
for AutoFill instance
+ */
+ this.s = {
+ /** @type {DataTable.Api} DataTables' API instance */
+ dt: new DataTable.Api( dt ),
+
+ /** @type {String} Unique namespace for events attached to the
document */
+ namespace: '.autoFill'+(_instance++),
+
+ /** @type {Object} Cached dimension information for use in the
mouse move event handler */
+ scroll: {},
+
+ /** @type {integer} Interval object used for smooth scrolling */
+ scrollInterval: null,
+
+ handle: {
+ height: 0,
+ width: 0
+ },
+
+ /**
+ * Enabled setting
+ * @type {Boolean}
+ */
+ enabled: false
+ };
+
+
+ /**
+ * @namespace Common and useful DOM elements for the class instance
+ */
+ this.dom = {
+ /** @type {jQuery} AutoFill handle */
+ handle: $('<div class="dt-autofill-handle"/>'),
+
+ /**
+ * @type {Object} Selected cells outline - Need to use 4
elements,
+ * otherwise the mouse over if you back into the selected
rectangle
+ * will be over that element, rather than the cells!
+ */
+ select: {
+ top: $('<div class="dt-autofill-select top"/>'),
+ right: $('<div class="dt-autofill-select right"/>'),
+ bottom: $('<div class="dt-autofill-select bottom"/>'),
+ left: $('<div class="dt-autofill-select left"/>')
+ },
+
+ /** @type {jQuery} Fill type chooser background */
+ background: $('<div class="dt-autofill-background"/>'),
+
+ /** @type {jQuery} Fill type chooser */
+ list: $('<div
class="dt-autofill-list">'+this.s.dt.i18n('autoFill.info', '')+'<ul/></div>'),
+
+ /** @type {jQuery} DataTables scrolling container */
+ dtScroll: null,
+
+ /** @type {jQuery} Offset parent element */
+ offsetParent: null
+ };
+
+
+ /* Constructor logic */
+ this._constructor();
+};
+
+
+
+$.extend( AutoFill.prototype, {
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * *
+ * Public methods (exposed via the DataTables API below)
+ */
+ enabled: function ()
+ {
+ return this.s.enabled;
+ },
+
+
+ enable: function ( flag )
+ {
+ var that = this;
+
+ if ( flag === false ) {
+ return this.disable();
+ }
+
+ this.s.enabled = true;
+
+ this._focusListener();
+
+ this.dom.handle.on( 'mousedown', function (e) {
+ that._mousedown( e );
+ return false;
+ } );
+
+ return this;
+ },
+
+ disable: function ()
+ {
+ this.s.enabled = false;
+
+ this._focusListenerRemove();
+
+ return this;
+ },
+
+
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * *
+ * Constructor
+ */
+
+ /**
+ * Initialise the RowReorder instance
+ *
+ * @private
+ */
+ _constructor: function ()
+ {
+ var that = this;
+ var dt = this.s.dt;
+ var dtScroll = $('div.dataTables_scrollBody',
this.s.dt.table().container());
+
+ // Make the instance accessible to the API
+ dt.settings()[0].autoFill = this;
+
+ if ( dtScroll.length ) {
+ this.dom.dtScroll = dtScroll;
+
+ // Need to scroll container to be the offset parent
+ if ( dtScroll.css('position') === 'static' ) {
+ dtScroll.css( 'position', 'relative' );
+ }
+ }
+
+ if ( this.c.enable !== false ) {
+ this.enable();
+ }
+
+ dt.on( 'destroy.autoFill', function () {
+ that._focusListenerRemove();
+ } );
+ },
+
+
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * *
+ * Private methods
+ */
+
+ /**
+ * Display the AutoFill drag handle by appending it to a table cell.
This
+ * is the opposite of the _detach method.
+ *
+ * @param {node} node TD/TH cell to insert the handle into
+ * @private
+ */
+ _attach: function ( node )
+ {
+ var dt = this.s.dt;
+ var idx = dt.cell( node ).index();
+ var handle = this.dom.handle;
+ var handleDim = this.s.handle;
+
+ if ( ! idx || dt.columns( this.c.columns ).indexes().indexOf(
idx.column ) === -1 ) {
+ this._detach();
+ return;
+ }
+
+ if ( ! this.dom.offsetParent ) {
+ // We attach to the table's offset parent
+ this.dom.offsetParent = $( dt.table().node()
).offsetParent();
+ }
+
+ if ( ! handleDim.height || ! handleDim.width ) {
+ // Append to document so we can get its size. Not
expecting it to
+ // change during the life time of the page
+ handle.appendTo( 'body' );
+ handleDim.height = handle.outerHeight();
+ handleDim.width = handle.outerWidth();
+ }
+
+ // Might need to go through multiple offset parents
+ var offset = this._getPosition( node, this.dom.offsetParent );
+
+ this.dom.attachedTo = node;
+ handle
+ .css( {
+ top: offset.top + node.offsetHeight -
handleDim.height,
+ left: offset.left + node.offsetWidth -
handleDim.width
+ } )
+ .appendTo( this.dom.offsetParent );
+ },
+
+
+ /**
+ * Determine can the fill type should be. This can be automatic, or ask
the
+ * end user.
+ *
+ * @param {array} cells Information about the selected cells from the
key
+ * up function
+ * @private
+ */
+ _actionSelector: function ( cells )
+ {
+ var that = this;
+ var dt = this.s.dt;
+ var actions = AutoFill.actions;
+ var available = [];
+
+ // "Ask" each plug-in if it wants to handle this data
+ $.each( actions, function ( key, action ) {
+ if ( action.available( dt, cells ) ) {
+ available.push( key );
+ }
+ } );
+
+ if ( available.length === 1 && this.c.alwaysAsk === false ) {
+ // Only one action available - enact it immediately
+ var result = actions[ available[0] ].execute( dt, cells
);
+ this._update( result, cells );
+ }
+ else {
+ // Multiple actions available - ask the end user what
they want to do
+ var list = this.dom.list.children('ul').empty();
+
+ // Add a cancel option
+ available.push( 'cancel' );
+
+ $.each( available, function ( i, name ) {
+ list.append( $('<li/>')
+ .append(
+ '<div
class="dt-autofill-question">'+
+ actions[ name ].option(
dt, cells )+
+ '<div>'
+ )
+ .append( $('<div
class="dt-autofill-button">' )
+ .append( $('<button
class="'+AutoFill.classes.btn+'">'+dt.i18n('autoFill.button',
'>')+'</button>')
+ .on( 'click', function
() {
+ var result =
actions[ name ].execute(
+ dt,
cells, $(this).closest('li')
+ );
+ that._update(
result, cells );
+
+
that.dom.background.remove();
+
that.dom.list.remove();
+ } )
+ )
+ )
+ );
+ } );
+
+ this.dom.background.appendTo( 'body' );
+ this.dom.list.appendTo( 'body' );
+
+ this.dom.list.css( 'margin-top',
this.dom.list.outerHeight()/2 * -1 );
+ }
+ },
+
+
+ /**
+ * Remove the AutoFill handle from the document
+ *
+ * @private
+ */
+ _detach: function ()
+ {
+ this.dom.attachedTo = null;
+ this.dom.handle.detach();
+ },
+
+
+ /**
+ * Draw the selection outline by calculating the range between the start
+ * and end cells, then placing the highlighting elements to draw a
rectangle
+ *
+ * @param {node} target End cell
+ * @param {object} e Originating event
+ * @private
+ */
+ _drawSelection: function ( target, e )
+ {
+ // Calculate boundary for start cell to this one
+ var dt = this.s.dt;
+ var start = this.s.start;
+ var startCell = $(this.dom.start);
+ var endCell = $(target);
+ var end = {
+ row: dt.rows( { page: 'current' } ).nodes().indexOf(
endCell.parent()[0] ),
+ column: endCell.index()
+ };
+ var colIndx = dt.column.index( 'toData', end.column );
+
+ // Be sure that is a DataTables controlled cell
+ if ( ! dt.cell( endCell ).any() ) {
+ return;
+ }
+
+ // if target is not in the columns available - do nothing
+ if ( dt.columns( this.c.columns ).indexes().indexOf( colIndx )
=== -1 ) {
+ return;
+ }
+
+ this.s.end = end;
+
+ var top, bottom, left, right, height, width;
+
+ top = start.row < end.row ? startCell : endCell;
+ bottom = start.row < end.row ? endCell : startCell;
+ left = start.column < end.column ? startCell : endCell;
+ right = start.column < end.column ? endCell : startCell;
+
+ top = this._getPosition( top ).top;
+ left = this._getPosition( left ).left;
+ height = this._getPosition( bottom ).top + bottom.outerHeight()
- top;
+ width = this._getPosition( right ).left + right.outerWidth() -
left;
+
+ var select = this.dom.select;
+ select.top.css( {
+ top: top,
+ left: left,
+ width: width
+ } );
+
+ select.left.css( {
+ top: top,
+ left: left,
+ height: height
+ } );
+
+ select.bottom.css( {
+ top: top + height,
+ left: left,
+ width: width
+ } );
+
+ select.right.css( {
+ top: top,
+ left: left + width,
+ height: height
+ } );
+ },
+
+
+ /**
+ * Use the Editor API to perform an update based on the new data for the
+ * cells
+ *
+ * @param {array} cells Information about the selected cells from the
key
+ * up function
+ * @private
+ */
+ _editor: function ( cells )
+ {
+ var dt = this.s.dt;
+ var editor = this.c.editor;
+
+ if ( ! editor ) {
+ return;
+ }
+
+ // Build the object structure for Editor's multi-row editing
+ var idValues = {};
+ var nodes = [];
+ var fields = editor.fields();
+
+ for ( var i=0, ien=cells.length ; i<ien ; i++ ) {
+ for ( var j=0, jen=cells[i].length ; j<jen ; j++ ) {
+ var cell = cells[i][j];
+
+ // Determine the field name for the cell being
edited
+ var col = dt.settings()[0].aoColumns[
cell.index.column ];
+ var fieldName = col.editField;
+
+ if ( fieldName === undefined ) {
+ var dataSrc = col.mData;
+
+ // dataSrc is the `field.data`
property, but we need to set
+ // using the field name, so we need to
translate from the
+ // data to the name
+ for ( var k=0, ken=fields.length ;
k<ken ; k++ ) {
+ var field = editor.field(
fields[k] );
+
+ if ( field.dataSrc() ===
dataSrc ) {
+ fieldName =
field.name();
+ break;
+ }
+ }
+ }
+
+ if ( ! fieldName ) {
+ throw 'Could not automatically
determine field data. '+
+ 'Please see
https://datatables.net/tn/11';
+ }
+
+ if ( ! idValues[ fieldName ] ) {
+ idValues[ fieldName ] = {};
+ }
+
+ var id = dt.row( cell.index.row ).id();
+ idValues[ fieldName ][ id ] = cell.set;
+
+ // Keep a list of cells so we can activate the
bubble editing
+ // with them
+ nodes.push( cell.index );
+ }
+ }
+
+ // Perform the edit using bubble editing as it allows us to
specify
+ // the cells to be edited, rather than using full rows
+ editor
+ .bubble( nodes, false )
+ .multiSet( idValues )
+ .submit();
+ },
+
+
+ /**
+ * Emit an event on the DataTable for listeners
+ *
+ * @param {string} name Event name
+ * @param {array} args Event arguments
+ * @private
+ */
+ _emitEvent: function ( name, args )
+ {
+ this.s.dt.iterator( 'table', function ( ctx, i ) {
+ $(ctx.nTable).triggerHandler( name+'.dt', args );
+ } );
+ },
+
+
+ /**
+ * Attach suitable listeners (based on the configuration) that will
attach
+ * and detach the AutoFill handle in the document.
+ *
+ * @private
+ */
+ _focusListener: function ()
+ {
+ var that = this;
+ var dt = this.s.dt;
+ var namespace = this.s.namespace;
+ var focus = this.c.focus !== null ?
+ this.c.focus :
+ dt.init().keys || dt.settings()[0].keytable ?
+ 'focus' :
+ 'hover';
+
+ // All event listeners attached here are removed in the
`destroy`
+ // callback in the constructor
+ if ( focus === 'focus' ) {
+ dt
+ .on( 'key-focus.autoFill', function ( e, dt,
cell ) {
+ that._attach( cell.node() );
+ } )
+ .on( 'key-blur.autoFill', function ( e, dt,
cell ) {
+ that._detach();
+ } );
+ }
+ else if ( focus === 'click' ) {
+ $(dt.table().body()).on( 'click'+namespace, 'td, th',
function (e) {
+ that._attach( this );
+ } );
+
+ $(document.body).on( 'click'+namespace, function (e) {
+ if ( ! $(e.target).parents().filter(
dt.table().body() ).length ) {
+ that._detach();
+ }
+ } );
+ }
+ else {
+ $(dt.table().body())
+ .on( 'mouseenter'+namespace, 'td, th', function
(e) {
+ that._attach( this );
+ } )
+ .on( 'mouseleave'+namespace, function (e) {
+ if (
$(e.relatedTarget).hasClass('dt-autofill-handle') ) {
+ return;
+ }
+
+ that._detach();
+ } );
+ }
+ },
+
+
+ _focusListenerRemove: function ()
+ {
+ var dt = this.s.dt;
+
+ dt.off( '.autoFill' );
+ $(dt.table().body()).off( this.s.namespace );
+ $(document.body).off( this.s.namespace );
+ },
+
+
+ /**
+ * Get the position of a node, relative to another, including any
scrolling
+ * offsets.
+ * @param {Node} node Node to get the position of
+ * @param {jQuery} targetParent Node to use as the parent
+ * @return {object} Offset calculation
+ * @private
+ */
+ _getPosition: function ( node, targetParent )
+ {
+ var
+ currNode = $(node),
+ currOffsetParent,
+ position,
+ top = 0,
+ left = 0;
+
+ if ( ! targetParent ) {
+ targetParent = $( this.s.dt.table().node()
).offsetParent();
+ }
+
+ do {
+ position = currNode.position();
+ currOffsetParent = currNode.offsetParent();
+
+ top += position.top + currOffsetParent.scrollTop();
+ left += position.left + currOffsetParent.scrollLeft();
+
+ // Emergency fall back. Shouldn't happen, but just in
case!
+ if ( currNode.get(0).nodeName.toLowerCase() === 'body'
) {
+ break;
+ }
+
+ currNode = currOffsetParent; // for next loop
+ }
+ while ( currOffsetParent.get(0) !== targetParent.get(0) )
+
+ return {
+ top: top,
+ left: left
+ };
+ },
+
+
+ /**
+ * Start mouse drag - selects the start cell
+ *
+ * @param {object} e Mouse down event
+ * @private
+ */
+ _mousedown: function ( e )
+ {
+ var that = this;
+ var dt = this.s.dt;
+
+ this.dom.start = this.dom.attachedTo;
+ this.s.start = {
+ row: dt.rows( { page: 'current' } ).nodes().indexOf(
$(this.dom.start).parent()[0] ),
+ column: $(this.dom.start).index()
+ };
+
+ $(document.body)
+ .on( 'mousemove.autoFill', function (e) {
+ that._mousemove( e );
+ } )
+ .on( 'mouseup.autoFill', function (e) {
+ that._mouseup( e );
+ } );
+
+ var select = this.dom.select;
+ var offsetParent = $( dt.table().node() ).offsetParent();
+ select.top.appendTo( offsetParent );
+ select.left.appendTo( offsetParent );
+ select.right.appendTo( offsetParent );
+ select.bottom.appendTo( offsetParent );
+
+ this._drawSelection( this.dom.start, e );
+
+ this.dom.handle.css( 'display', 'none' );
+
+ // Cache scrolling information so mouse move doesn't need to
read.
+ // This assumes that the window and DT scroller will not change
size
+ // during an AutoFill drag, which I think is a fair assumption
+ var scrollWrapper = this.dom.dtScroll;
+ this.s.scroll = {
+ windowHeight: $(window).height(),
+ windowWidth: $(window).width(),
+ dtTop: scrollWrapper ?
scrollWrapper.offset().top : null,
+ dtLeft: scrollWrapper ?
scrollWrapper.offset().left : null,
+ dtHeight: scrollWrapper ?
scrollWrapper.outerHeight() : null,
+ dtWidth: scrollWrapper ?
scrollWrapper.outerWidth() : null
+ };
+ },
+
+
+ /**
+ * Mouse drag - selects the end cell and update the selection display
for
+ * the end user
+ *
+ * @param {object} e Mouse move event
+ * @private
+ */
+ _mousemove: function ( e )
+ {
+ var that = this;
+ var dt = this.s.dt;
+ var name = e.target.nodeName.toLowerCase();
+ if ( name !== 'td' && name !== 'th' ) {
+ return;
+ }
+
+ this._drawSelection( e.target, e );
+ this._shiftScroll( e );
+ },
+
+
+ /**
+ * End mouse drag - perform the update actions
+ *
+ * @param {object} e Mouse up event
+ * @private
+ */
+ _mouseup: function ( e )
+ {
+ $(document.body).off( '.autoFill' );
+
+ var dt = this.s.dt;
+ var select = this.dom.select;
+ select.top.remove();
+ select.left.remove();
+ select.right.remove();
+ select.bottom.remove();
+
+ this.dom.handle.css( 'display', 'block' );
+
+ // Display complete - now do something useful with the
selection!
+ var start = this.s.start;
+ var end = this.s.end;
+
+ // Haven't selected multiple cells, so nothing to do
+ if ( start.row === end.row && start.column === end.column ) {
+ return;
+ }
+
+ // Build a matrix representation of the selected rows
+ var rows = this._range( start.row, end.row );
+ var columns = this._range( start.column, end.column );
+ var selected = [];
+ var dtSettings = dt.settings()[0];
+ var dtColumns = dtSettings.aoColumns;
+
+ // Can't use Array.prototype.map as IE8 doesn't support it
+ // Can't use $.map as jQuery flattens 2D arrays
+ // Need to use a good old fashioned for loop
+ for ( var rowIdx=0 ; rowIdx<rows.length ; rowIdx++ ) {
+ selected.push(
+ $.map( columns, function (column) {
+ var cell = dt.cell(
':eq('+rows[rowIdx]+')', column+':visible', {page:'current'} );
+ var data = cell.data();
+ var cellIndex = cell.index();
+ var editField = dtColumns[
cellIndex.column ].editField;
+
+ if ( editField !== undefined ) {
+ data =
dtSettings.oApi._fnGetObjectDataFn( editField )( dt.row( cellIndex.row ).data()
);
+ }
+
+ return {
+ cell: cell,
+ data: data,
+ label: cell.data(),
+ index: cellIndex
+ };
+ } )
+ );
+ }
+
+ this._actionSelector( selected );
+
+ // Stop shiftScroll
+ clearInterval( this.s.scrollInterval );
+ this.s.scrollInterval = null;
+ },
+
+
+ /**
+ * Create an array with a range of numbers defined by the start and end
+ * parameters passed in (inclusive!).
+ *
+ * @param {integer} start Start
+ * @param {integer} end End
+ * @private
+ */
+ _range: function ( start, end )
+ {
+ var out = [];
+ var i;
+
+ if ( start <= end ) {
+ for ( i=start ; i<=end ; i++ ) {
+ out.push( i );
+ }
+ }
+ else {
+ for ( i=start ; i>=end ; i-- ) {
+ out.push( i );
+ }
+ }
+
+ return out;
+ },
+
+
+ /**
+ * Move the window and DataTables scrolling during a drag to scroll new
+ * content into view. This is done by proximity to the edge of the
scrolling
+ * container of the mouse - for example near the top edge of the window
+ * should scroll up. This is a little complicated as there are two
elements
+ * that can be scrolled - the window and the DataTables scrolling view
port
+ * (if scrollX and / or scrollY is enabled).
+ *
+ * @param {object} e Mouse move event object
+ * @private
+ */
+ _shiftScroll: function ( e )
+ {
+ var that = this;
+ var dt = this.s.dt;
+ var scroll = this.s.scroll;
+ var runInterval = false;
+ var scrollSpeed = 5;
+ var buffer = 65;
+ var
+ windowY = e.pageY - document.body.scrollTop,
+ windowX = e.pageX - document.body.scrollLeft,
+ windowVert, windowHoriz,
+ dtVert, dtHoriz;
+
+ // Window calculations - based on the mouse position in the
window,
+ // regardless of scrolling
+ if ( windowY < buffer ) {
+ windowVert = scrollSpeed * -1;
+ }
+ else if ( windowY > scroll.windowHeight - buffer ) {
+ windowVert = scrollSpeed;
+ }
+
+ if ( windowX < buffer ) {
+ windowHoriz = scrollSpeed * -1;
+ }
+ else if ( windowX > scroll.windowWidth - buffer ) {
+ windowHoriz = scrollSpeed;
+ }
+
+ // DataTables scrolling calculations - based on the table's
position in
+ // the document and the mouse position on the page
+ if ( scroll.dtTop !== null && e.pageY < scroll.dtTop + buffer )
{
+ dtVert = scrollSpeed * -1;
+ }
+ else if ( scroll.dtTop !== null && e.pageY > scroll.dtTop +
scroll.dtHeight - buffer ) {
+ dtVert = scrollSpeed;
+ }
+
+ if ( scroll.dtLeft !== null && e.pageX < scroll.dtLeft + buffer
) {
+ dtHoriz = scrollSpeed * -1;
+ }
+ else if ( scroll.dtLeft !== null && e.pageX > scroll.dtLeft +
scroll.dtWidth - buffer ) {
+ dtHoriz = scrollSpeed;
+ }
+
+ // This is where it gets interesting. We want to continue
scrolling
+ // without requiring a mouse move, so we need an interval to be
+ // triggered. The interval should continue until it is no
longer needed,
+ // but it must also use the latest scroll commands (for example
consider
+ // that the mouse might move from scrolling up to scrolling
left, all
+ // with the same interval running. We use the `scroll` object
to "pass"
+ // this information to the interval. Can't use local variables
as they
+ // wouldn't be the ones that are used by an already existing
interval!
+ if ( windowVert || windowHoriz || dtVert || dtHoriz ) {
+ scroll.windowVert = windowVert;
+ scroll.windowHoriz = windowHoriz;
+ scroll.dtVert = dtVert;
+ scroll.dtHoriz = dtHoriz;
+ runInterval = true;
+ }
+ else if ( this.s.scrollInterval ) {
+ // Don't need to scroll - remove any existing timer
+ clearInterval( this.s.scrollInterval );
+ this.s.scrollInterval = null;
+ }
+
+ // If we need to run the interval to scroll and there is no
existing
+ // interval (if there is an existing one, it will continue to
run)
+ if ( ! this.s.scrollInterval && runInterval ) {
+ this.s.scrollInterval = setInterval( function () {
+ // Don't need to worry about setting scroll <0
or beyond the
+ // scroll bound as the browser will just reject
that.
+ if ( scroll.windowVert ) {
+ document.body.scrollTop +=
scroll.windowVert;
+ }
+ if ( scroll.windowHoriz ) {
+ document.body.scrollLeft +=
scroll.windowHoriz;
+ }
+
+ // DataTables scrolling
+ if ( scroll.dtVert || scroll.dtHoriz ) {
+ var scroller = that.dom.dtScroll[0];
+
+ if ( scroll.dtVert ) {
+ scroller.scrollTop +=
scroll.dtVert;
+ }
+ if ( scroll.dtHoriz ) {
+ scroller.scrollLeft +=
scroll.dtHoriz;
+ }
+ }
+ }, 20 );
+ }
+ },
+
+
+ /**
+ * Update the DataTable after the user has selected what they want to do
+ *
+ * @param {false|undefined} result Return from the `execute` method -
can
+ * be false internally to do nothing. This is not documented for
plug-ins
+ * and is used only by the cancel option.
+ * @param {array} cells Information about the selected cells from the
key
+ * up function, argumented with the set values
+ * @private
+ */
+ _update: function ( result, cells )
+ {
+ // Do nothing on `false` return from an execute function
+ if ( result === false ) {
+ return;
+ }
+
+ var dt = this.s.dt;
+ var cell;
+
+ // Potentially allow modifications to the cells matrix
+ this._emitEvent( 'preAutoFill', [ dt, cells ] );
+
+ this._editor( cells );
+
+ // Automatic updates are not performed if `update` is null and
the
+ // `editor` parameter is passed in - the reason being that
Editor will
+ // update the data once submitted
+ var update = this.c.update !== null ?
+ this.c.update :
+ this.c.editor ?
+ false :
+ true;
+
+ if ( update ) {
+ for ( var i=0, ien=cells.length ; i<ien ; i++ ) {
+ for ( var j=0, jen=cells[i].length ; j<jen ;
j++ ) {
+ cell = cells[i][j];
+
+ cell.cell.data( cell.set );
+ }
+ }
+
+ dt.draw(false);
+ }
+
+ this._emitEvent( 'autoFill', [ dt, cells ] );
+ }
+} );
+
+
+/**
+ * AutoFill actions. The options here determine how AutoFill will fill the data
+ * in the table when the user has selected a range of cells. Please see the
+ * documentation on the DataTables site for full details on how to create plug-
+ * ins.
+ *
+ * @type {Object}
+ */
+AutoFill.actions = {
+ increment: {
+ available: function ( dt, cells ) {
+ return $.isNumeric( cells[0][0].label );
+ },
+
+ option: function ( dt, cells ) {
+ return dt.i18n(
+ 'autoFill.increment',
+ 'Increment / decrement each cell by: <input
type="number" value="1">'
+ );
+ },
+
+ execute: function ( dt, cells, node ) {
+ var value = cells[0][0].data * 1;
+ var increment = $('input', node).val() * 1;
+
+ for ( var i=0, ien=cells.length ; i<ien ; i++ ) {
+ for ( var j=0, jen=cells[i].length ; j<jen ;
j++ ) {
+ cells[i][j].set = value;
+
+ value += increment;
+ }
+ }
+ }
+ },
+
+ fill: {
+ available: function ( dt, cells ) {
+ return true;
+ },
+
+ option: function ( dt, cells ) {
+ return dt.i18n('autoFill.fill', 'Fill all cells with
<i>'+cells[0][0].label+'</i>' );
+ },
+
+ execute: function ( dt, cells, node ) {
+ var value = cells[0][0].data;
+
+ for ( var i=0, ien=cells.length ; i<ien ; i++ ) {
+ for ( var j=0, jen=cells[i].length ; j<jen ;
j++ ) {
+ cells[i][j].set = value;
+ }
+ }
+ }
+ },
+
+ fillHorizontal: {
+ available: function ( dt, cells ) {
+ return cells.length > 1 && cells[0].length > 1;
+ },
+
+ option: function ( dt, cells ) {
+ return dt.i18n('autoFill.fillHorizontal', 'Fill cells
horizontally' );
+ },
+
+ execute: function ( dt, cells, node ) {
+ for ( var i=0, ien=cells.length ; i<ien ; i++ ) {
+ for ( var j=0, jen=cells[i].length ; j<jen ;
j++ ) {
+ cells[i][j].set = cells[i][0].data;
+ }
+ }
+ }
+ },
+
+ fillVertical: {
+ available: function ( dt, cells ) {
+ return cells.length > 1 && cells[0].length > 1;
+ },
+
+ option: function ( dt, cells ) {
+ return dt.i18n('autoFill.fillVertical', 'Fill cells
vertically' );
+ },
+
+ execute: function ( dt, cells, node ) {
+ for ( var i=0, ien=cells.length ; i<ien ; i++ ) {
+ for ( var j=0, jen=cells[i].length ; j<jen ;
j++ ) {
+ cells[i][j].set = cells[0][j].data;
+ }
+ }
+ }
+ },
+
+ // Special type that does not make itself available, but is added
+ // automatically by AutoFill if a multi-choice list is shown. This
allows
+ // sensible code reuse
+ cancel: {
+ available: function () {
+ return false;
+ },
+
+ option: function ( dt ) {
+ return dt.i18n('autoFill.cancel', 'Cancel' );
+ },
+
+ execute: function () {
+ return false;
+ }
+ }
+};
+
+
+/**
+ * AutoFill version
+ *
+ * @static
+ * @type String
+ */
+AutoFill.version = '2.2.2';
+
+
+/**
+ * AutoFill defaults
+ *
+ * @namespace
+ */
+AutoFill.defaults = {
+ /** @type {Boolean} Ask user what they want to do, even for a single
option */
+ alwaysAsk: false,
+
+ /** @type {string|null} What will trigger a focus */
+ focus: null, // focus, click, hover
+
+ /** @type {column-selector} Columns to provide auto fill for */
+ columns: '', // all
+
+ /** @type {Boolean} Enable AutoFill on load */
+ enable: true,
+
+ /** @type {boolean|null} Update the cells after a drag */
+ update: null, // false is editor given, true otherwise
+
+ /** @type {DataTable.Editor} Editor instance for automatic submission */
+ editor: null
+};
+
+
+/**
+ * Classes used by AutoFill that are configurable
+ *
+ * @namespace
+ */
+AutoFill.classes = {
+ /** @type {String} Class used by the selection button */
+ btn: 'btn'
+};
+
+
+/*
+ * API
+ */
+var Api = $.fn.dataTable.Api;
+
+// Doesn't do anything - Not documented
+Api.register( 'autoFill()', function () {
+ return this;
+} );
+
+Api.register( 'autoFill().enabled()', function () {
+ var ctx = this.context[0];
+
+ return ctx.autoFill ?
+ ctx.autoFill.enabled() :
+ false;
+} );
+
+Api.register( 'autoFill().enable()', function ( flag ) {
+ return this.iterator( 'table', function ( ctx ) {
+ if ( ctx.autoFill ) {
+ ctx.autoFill.enable( flag );
+ }
+ } );
+} );
+
+Api.register( 'autoFill().disable()', function () {
+ return this.iterator( 'table', function ( ctx ) {
+ if ( ctx.autoFill ) {
+ ctx.autoFill.disable();
+ }
+ } );
+} );
+
+
+// Attach a listener to the document which listens for DataTables
initialisation
+// events so we can automatically initialise
+$(document).on( 'preInit.dt.autofill', function (e, settings, json) {
+ if ( e.namespace !== 'dt' ) {
+ return;
+ }
+
+ var init = settings.oInit.autoFill;
+ var defaults = DataTable.defaults.autoFill;
+
+ if ( init || defaults ) {
+ var opts = $.extend( {}, init, defaults );
+
+ if ( init !== false ) {
+ new AutoFill( settings, opts );
+ }
+ }
+} );
+
+
+// Alias for access
+DataTable.AutoFill = AutoFill;
+DataTable.AutoFill = AutoFill;
+
+
+return AutoFill;
+}));
Added: trunk/phpgwapi/js/DataTables/AutoFill/js/dataTables.autoFill.min.js
===================================================================
--- trunk/phpgwapi/js/DataTables/AutoFill/js/dataTables.autoFill.min.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/AutoFill/js/dataTables.autoFill.min.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,25 @@
+/*!
+ AutoFill 2.2.2
+ ©2008-2017 SpryMedia Ltd - datatables.net/license
+*/
+(function(e){"function"===typeof
define&&define.amd?define(["jquery","datatables.net"],function(l){return
e(l,window,document)}):"object"===typeof
exports?module.exports=function(l,i){l||(l=window);if(!i||!i.fn.dataTable)i=require("datatables.net")(l,i).$;return
e(i,l,l.document)}:e(jQuery,window,document)})(function(e,l,i,q){var
k=e.fn.dataTable,p=0,j=function(c,b){if(!k.versionCheck||!k.versionCheck("1.10.8"))throw"Warning:
AutoFill requires DataTables 1.10.8 or
greater";this.c=e.extend(!0,{},k.defaults.autoFill,
+j.defaults,b);this.s={dt:new
k.Api(c),namespace:".autoFill"+p++,scroll:{},scrollInterval:null,handle:{height:0,width:0},enabled:!1};this.dom={handle:e('<div
class="dt-autofill-handle"/>'),select:{top:e('<div class="dt-autofill-select
top"/>'),right:e('<div class="dt-autofill-select right"/>'),bottom:e('<div
class="dt-autofill-select bottom"/>'),left:e('<div class="dt-autofill-select
left"/>')},background:e('<div class="dt-autofill-background"/>'),list:e('<div
class="dt-autofill-list">'+this.s.dt.i18n("autoFill.info",
+"")+"<ul/></div>"),dtScroll:null,offsetParent:null};this._constructor()};e.extend(j.prototype,{enabled:function(){return
this.s.enabled},enable:function(c){var b=this;if(!1===c)return
this.disable();this.s.enabled=!0;this._focusListener();this.dom.handle.on("mousedown",function(a){b._mousedown(a);return!1});return
this},disable:function(){this.s.enabled=!1;this._focusListenerRemove();return
this},_constructor:function(){var
c=this,b=this.s.dt,a=e("div.dataTables_scrollBody",this.s.dt.table().container());
+b.settings()[0].autoFill=this;a.length&&(this.dom.dtScroll=a,"static"===a.css("position")&&a.css("position","relative"));!1!==this.c.enable&&this.enable();b.on("destroy.autoFill",function(){c._focusListenerRemove()})},_attach:function(c){var
b=this.s.dt,a=b.cell(c).index(),d=this.dom.handle,f=this.s.handle;if(!a||-1===b.columns(this.c.columns).indexes().indexOf(a.column))this._detach();else{this.dom.offsetParent||(this.dom.offsetParent=e(b.table().node()).offsetParent());if(!f.height||!f.width)d.appendTo("body"),
+f.height=d.outerHeight(),f.width=d.outerWidth();b=this._getPosition(c,this.dom.offsetParent);this.dom.attachedTo=c;d.css({top:b.top+c.offsetHeight-f.height,left:b.left+c.offsetWidth-f.width}).appendTo(this.dom.offsetParent)}},_actionSelector:function(c){var
b=this,a=this.s.dt,d=j.actions,f=[];e.each(d,function(b,d){d.available(a,c)&&f.push(b)});if(1===f.length&&!1===this.c.alwaysAsk){var
h=d[f[0]].execute(a,c);this._update(h,c)}else{var
g=this.dom.list.children("ul").empty();f.push("cancel");e.each(f,
+function(f,h){g.append(e("<li/>").append('<div
class="dt-autofill-question">'+d[h].option(a,c)+"<div>").append(e('<div
class="dt-autofill-button">').append(e('<button
class="'+j.classes.btn+'">'+a.i18n("autoFill.button",">")+"</button>").on("click",function(){var
f=d[h].execute(a,c,e(this).closest("li"));b._update(f,c);b.dom.background.remove();b.dom.list.remove()}))))});this.dom.background.appendTo("body");this.dom.list.appendTo("body");this.dom.list.css("margin-top",-1*(this.dom.list.outerHeight()/
+2))}},_detach:function(){this.dom.attachedTo=null;this.dom.handle.detach()},_drawSelection:function(c){var
b=this.s.dt,a=this.s.start,d=e(this.dom.start),f=e(c),h={row:b.rows({page:"current"}).nodes().indexOf(f.parent()[0]),column:f.index()},c=b.column.index("toData",h.column);if(b.cell(f).any()&&-1!==b.columns(this.c.columns).indexes().indexOf(c)){this.s.end=h;var
g,b=a.row<h.row?d:f;g=a.row<h.row?f:d;c=a.column<h.column?d:f;d=a.column<h.column?f:d;b=this._getPosition(b).top;c=this._getPosition(c).left;
+a=this._getPosition(g).top+g.outerHeight()-b;d=this._getPosition(d).left+d.outerWidth()-c;f=this.dom.select;f.top.css({top:b,left:c,width:d});f.left.css({top:b,left:c,height:a});f.bottom.css({top:b+a,left:c,width:d});f.right.css({top:b,left:c+d,height:a})}},_editor:function(c){var
b=this.s.dt,a=this.c.editor;if(a){for(var
d={},f=[],e=a.fields(),g=0,i=c.length;g<i;g++)for(var
j=0,l=c[g].length;j<l;j++){var
o=c[g][j],k=b.settings()[0].aoColumns[o.index.column],n=k.editField;if(n===q)for(var
k=k.mData,
+m=0,p=e.length;m<p;m++){var
r=a.field(e[m]);if(r.dataSrc()===k){n=r.name();break}}if(!n)throw"Could not
automatically determine field data. Please see
https://datatables.net/tn/11";d[n]||(d[n]={});k=b.row(o.index.row).id();d[n][k]=o.set;f.push(o.index)}a.bubble(f,!1).multiSet(d).submit()}},_emitEvent:function(c,b){this.s.dt.iterator("table",function(a){e(a.nTable).triggerHandler(c+".dt",b)})},_focusListener:function(){var
c=this,b=this.s.dt,a=this.s.namespace,d=null!==this.c.focus?this.c.focus:b.init().keys||
+b.settings()[0].keytable?"focus":"hover";if("focus"===d)b.on("key-focus.autoFill",function(b,a,d){c._attach(d.node())}).on("key-blur.autoFill",function(){c._detach()});else
if("click"===d)e(b.table().body()).on("click"+a,"td,
th",function(){c._attach(this)}),e(i.body).on("click"+a,function(a){e(a.target).parents().filter(b.table().body()).length||c._detach()});else
e(b.table().body()).on("mouseenter"+a,"td,
th",function(){c._attach(this)}).on("mouseleave"+a,function(b){e(b.relatedTarget).hasClass("dt-autofill-handle")||
+c._detach()})},_focusListenerRemove:function(){var
c=this.s.dt;c.off(".autoFill");e(c.table().body()).off(this.s.namespace);e(i.body).off(this.s.namespace)},_getPosition:function(c,b){var
a=e(c),d,f,h=0,g=0;b||(b=e(this.s.dt.table().node()).offsetParent());do{f=a.position();d=a.offsetParent();h+=f.top+d.scrollTop();g+=f.left+d.scrollLeft();if("body"===a.get(0).nodeName.toLowerCase())break;a=d}while(d.get(0)!==b.get(0));return{top:h,left:g}},_mousedown:function(c){var
b=this,a=this.s.dt;this.dom.start=
+this.dom.attachedTo;this.s.start={row:a.rows({page:"current"}).nodes().indexOf(e(this.dom.start).parent()[0]),column:e(this.dom.start).index()};e(i.body).on("mousemove.autoFill",function(a){b._mousemove(a)}).on("mouseup.autoFill",function(a){b._mouseup(a)});var
d=this.dom.select,a=e(a.table().node()).offsetParent();d.top.appendTo(a);d.left.appendTo(a);d.right.appendTo(a);d.bottom.appendTo(a);this._drawSelection(this.dom.start,c);this.dom.handle.css("display","none");c=this.dom.dtScroll;this.s.scroll=
+{windowHeight:e(l).height(),windowWidth:e(l).width(),dtTop:c?c.offset().top:null,dtLeft:c?c.offset().left:null,dtHeight:c?c.outerHeight():null,dtWidth:c?c.outerWidth():null}},_mousemove:function(c){var
b=c.target.nodeName.toLowerCase();"td"!==b&&"th"!==b||(this._drawSelection(c.target,c),this._shiftScroll(c))},_mouseup:function(){e(i.body).off(".autoFill");var
c=this.s.dt,b=this.dom.select;b.top.remove();b.left.remove();b.right.remove();b.bottom.remove();this.dom.handle.css("display","block");var
b=
+this.s.start,a=this.s.end;if(!(b.row===a.row&&b.column===a.column)){for(var
d=this._range(b.row,a.row),b=this._range(b.column,a.column),a=[],f=c.settings()[0],h=f.aoColumns,g=0;g<d.length;g++)a.push(e.map(b,function(a){var
a=c.cell(":eq("+d[g]+")",a+":visible",{page:"current"}),b=a.data(),e=a.index(),i=h[e.column].editField;i!==q&&(b=f.oApi._fnGetObjectDataFn(i)(c.row(e.row).data()));return{cell:a,data:b,label:a.data(),index:e}}));this._actionSelector(a);clearInterval(this.s.scrollInterval);this.s.scrollInterval=
+null}},_range:function(c,b){var a=[],d;if(c<=b)for(d=c;d<=b;d++)a.push(d);else
for(d=c;d>=b;d--)a.push(d);return a},_shiftScroll:function(c){var
b=this,a=this.s.scroll,d=!1,f=c.pageY-i.body.scrollTop,e=c.pageX-i.body.scrollLeft,g,j,k,l;65>f?g=-5:f>a.windowHeight-65&&(g=5);65>e?j=-5:e>a.windowWidth-65&&(j=5);null!==a.dtTop&&c.pageY<a.dtTop+65?k=-5:null!==a.dtTop&&c.pageY>a.dtTop+a.dtHeight-65&&(k=5);null!==a.dtLeft&&c.pageX<a.dtLeft+65?l=-5:null!==a.dtLeft&&c.pageX>a.dtLeft+a.dtWidth-65&&(l=5);g||
+j||k||l?(a.windowVert=g,a.windowHoriz=j,a.dtVert=k,a.dtHoriz=l,d=!0):this.s.scrollInterval&&(clearInterval(this.s.scrollInterval),this.s.scrollInterval=null);!this.s.scrollInterval&&d&&(this.s.scrollInterval=setInterval(function(){if(a.windowVert)i.body.scrollTop=i.body.scrollTop+a.windowVert;if(a.windowHoriz)i.body.scrollLeft=i.body.scrollLeft+a.windowHoriz;if(a.dtVert||a.dtHoriz){var
c=b.dom.dtScroll[0];if(a.dtVert)c.scrollTop=c.scrollTop+a.dtVert;if(a.dtHoriz)c.scrollLeft=c.scrollLeft+a.dtHoriz}},
+20))},_update:function(c,b){if(!1!==c){var
a=this.s.dt,d;this._emitEvent("preAutoFill",[a,b]);this._editor(b);if(null!==this.c.update?this.c.update:!this.c.editor){for(var
f=0,e=b.length;f<e;f++)for(var
g=0,i=b[f].length;g<i;g++)d=b[f][g],d.cell.data(d.set);a.draw(!1)}this._emitEvent("autoFill",[a,b])}}});j.actions={increment:{available:function(c,b){return
e.isNumeric(b[0][0].label)},option:function(c){return
c.i18n("autoFill.increment",'Increment / decrement each cell by: <input
type="number" value="1">')},
+execute:function(c,b,a){for(var
c=1*b[0][0].data,a=1*e("input",a).val(),d=0,f=b.length;d<f;d++)for(var
h=0,g=b[d].length;h<g;h++)b[d][h].set=c,c+=a}},fill:{available:function(){return!0},option:function(c,b){return
c.i18n("autoFill.fill","Fill all cells with
<i>"+b[0][0].label+"</i>")},execute:function(c,b){for(var
a=b[0][0].data,d=0,e=b.length;d<e;d++)for(var
h=0,g=b[d].length;h<g;h++)b[d][h].set=a}},fillHorizontal:{available:function(c,b){return
1<b.length&&1<b[0].length},option:function(c){return
c.i18n("autoFill.fillHorizontal",
+"Fill cells horizontally")},execute:function(c,b){for(var
a=0,d=b.length;a<d;a++)for(var
e=0,h=b[a].length;e<h;e++)b[a][e].set=b[a][0].data}},fillVertical:{available:function(c,b){return
1<b.length&&1<b[0].length},option:function(c){return
c.i18n("autoFill.fillVertical","Fill cells
vertically")},execute:function(c,b){for(var a=0,d=b.length;a<d;a++)for(var
e=0,h=b[a].length;e<h;e++)b[a][e].set=b[0][e].data}},cancel:{available:function(){return!1},option:function(c){return
c.i18n("autoFill.cancel",
+"Cancel")},execute:function(){return!1}}};j.version="2.2.2";j.defaults={alwaysAsk:!1,focus:null,columns:"",enable:!0,update:null,editor:null};j.classes={btn:"btn"};var
m=e.fn.dataTable.Api;m.register("autoFill()",function(){return
this});m.register("autoFill().enabled()",function(){var
c=this.context[0];return
c.autoFill?c.autoFill.enabled():!1});m.register("autoFill().enable()",function(c){return
this.iterator("table",function(b){b.autoFill&&b.autoFill.enable(c)})});m.register("autoFill().disable()",
+function(){return
this.iterator("table",function(c){c.autoFill&&c.autoFill.disable()})});e(i).on("preInit.dt.autofill",function(c,b){if("dt"===c.namespace){var
a=b.oInit.autoFill,d=k.defaults.autoFill;if(a||d)d=e.extend({},a,d),!1!==a&&new
j(b,d)}});k.AutoFill=j;return k.AutoFill=j});
Added: trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap.css
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,161 @@
address@hidden dtb-spinner {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -o-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden 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;
+}
+
address@hidden 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;
+}
Added: trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap.min.css
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap.min.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap.min.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1 @@
address@hidden dtb-spinner{100%{transform:rotate(360deg)address@hidden
dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)address@hidden
dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)address@hidden
dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)address@hidden
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:address@hidden
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}
Added: trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap4.css
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap4.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap4.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,225 @@
address@hidden dtb-spinner {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -o-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden 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;
+}
+
address@hidden 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;
+}
Added: trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap4.min.css
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap4.min.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/buttons.bootstrap4.min.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1 @@
address@hidden dtb-spinner{100%{transform:rotate(360deg)address@hidden
dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)address@hidden
dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)address@hidden
dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)address@hidden
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:address@hidden
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}
Added: trunk/phpgwapi/js/DataTables/Buttons/css/buttons.dataTables.css
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/buttons.dataTables.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/buttons.dataTables.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,360 @@
address@hidden dtb-spinner {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -o-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden 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;
+}
+
address@hidden 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;
+}
Added: trunk/phpgwapi/js/DataTables/Buttons/css/buttons.dataTables.min.css
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/buttons.dataTables.min.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/buttons.dataTables.min.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1 @@
address@hidden dtb-spinner{100%{transform:rotate(360deg)address@hidden
dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)address@hidden
dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)address@hidden
dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)address@hidden
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:address@hidden 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}
Added: trunk/phpgwapi/js/DataTables/Buttons/css/buttons.foundation.css
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/buttons.foundation.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/buttons.foundation.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,192 @@
address@hidden dtb-spinner {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -o-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden 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;
+}
+
address@hidden 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;
+}
Added: trunk/phpgwapi/js/DataTables/Buttons/css/buttons.foundation.min.css
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/buttons.foundation.min.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/buttons.foundation.min.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1 @@
address@hidden dtb-spinner{100%{transform:rotate(360deg)address@hidden
dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)address@hidden
dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)address@hidden
dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)address@hidden
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:address@hidden
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}
Added: trunk/phpgwapi/js/DataTables/Buttons/css/buttons.jqueryui.css
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/buttons.jqueryui.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/buttons.jqueryui.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,220 @@
address@hidden dtb-spinner {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -o-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden 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;
+}
+
address@hidden 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;
+}
Added: trunk/phpgwapi/js/DataTables/Buttons/css/buttons.jqueryui.min.css
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/buttons.jqueryui.min.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/buttons.jqueryui.min.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1 @@
address@hidden dtb-spinner{100%{transform:rotate(360deg)address@hidden
dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)address@hidden
dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)address@hidden
dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)address@hidden
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:address@hidden 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}
Added: trunk/phpgwapi/js/DataTables/Buttons/css/buttons.semanticui.css
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/buttons.semanticui.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/buttons.semanticui.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1,174 @@
address@hidden "UTF-8";
address@hidden dtb-spinner {
+ 100% {
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -o-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -ms-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden dtb-spinner {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
address@hidden 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;
+}
+
address@hidden 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;
+}
Added: trunk/phpgwapi/js/DataTables/Buttons/css/buttons.semanticui.min.css
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/buttons.semanticui.min.css
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/buttons.semanticui.min.css
2017-12-26 22:07:22 UTC (rev 17474)
@@ -0,0 +1 @@
address@hidden dtb-spinner{100%{transform:rotate(360deg)address@hidden
dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)address@hidden
dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)address@hidden
dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)address@hidden
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:address@hidden
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}
Added: trunk/phpgwapi/js/DataTables/Buttons/css/common.scss
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/common.scss
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/common.scss 2017-12-26
22:07:22 UTC (rev 17474)
@@ -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;
+ }
+}
Added: trunk/phpgwapi/js/DataTables/Buttons/css/mixins.scss
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/css/mixins.scss
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/css/mixins.scss 2017-12-26
22:07:22 UTC (rev 17474)
@@ -0,0 +1,141 @@
+
address@hidden 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 )}');
+}
+
address@hidden 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 */
+}
+
+
address@hidden 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;
+ }
+}
+
+
address@hidden 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;
+ }
+}
+
address@hidden dtb-spinner {
+ 100%{ transform: rotate(360deg); }
+}
+
address@hidden dtb-spinner {
+ 100%{ -o-transform: rotate(360deg); transform: rotate(360deg); }
+}
+
address@hidden dtb-spinner {
+ 100%{ -ms-transform: rotate(360deg); transform: rotate(360deg); }
+}
+
address@hidden dtb-spinner {
+ 100%{ -webkit-transform: rotate(360deg); transform: rotate(360deg); }
+}
+
address@hidden dtb-spinner {
+ 100%{ -moz-transform: rotate(360deg); transform: rotate(360deg); }
+}
Added: trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap.js
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -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 <span
class="caret"/>');
+};
+
+
+return DataTable.Buttons;
+}));
Added: trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap.min.js
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap.min.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap.min.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -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 <span class="caret"/>')};return
a.Buttons});
Added: trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap4.js
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap4.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap4.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -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;
+}));
Added: trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap4.min.js
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap4.min.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/js/buttons.bootstrap4.min.js
2017-12-26 22:07:22 UTC (rev 17474)
@@ -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});
Added: trunk/phpgwapi/js/DataTables/Buttons/js/buttons.colVis.js
===================================================================
--- trunk/phpgwapi/js/DataTables/Buttons/js/buttons.colVis.js
(rev 0)
+++ trunk/phpgwapi/js/DataTables/Buttons/js/buttons.colVis.js 2017-12-26
22:07:22 UTC (rev 17474)
@@ -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, $).$;
+ }
+
@@ Diff output truncated at 153600 characters. @@
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [17474] API: update jquery datatables from upstream,
sigurdne <=