Recherche des tweets de réponse avec l'API Tweeter
This commit is contained in:
@@ -0,0 +1,203 @@
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty {
|
||||
cursor: default !important;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty:before {
|
||||
display: none !important;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control {
|
||||
cursor: pointer;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before {
|
||||
margin-right: 0.5em;
|
||||
display: inline-block;
|
||||
box-sizing: border-box;
|
||||
content: "";
|
||||
border-top: 5px solid transparent;
|
||||
border-left: 10px solid rgba(0, 0, 0, 0.5);
|
||||
border-bottom: 5px solid transparent;
|
||||
border-right: 0px solid transparent;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control.arrow-right::before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control.arrow-right::before {
|
||||
border-top: 5px solid transparent;
|
||||
border-left: 0px solid transparent;
|
||||
border-bottom: 5px solid transparent;
|
||||
border-right: 10px solid rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr.dtr-expanded > td.dtr-control:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr.dtr-expanded > th.dtr-control:before {
|
||||
border-top: 10px solid rgba(0, 0, 0, 0.5);
|
||||
border-left: 5px solid transparent;
|
||||
border-bottom: 0px solid transparent;
|
||||
border-right: 5px solid transparent;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td.dtr-control,
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th.dtr-control {
|
||||
padding-left: 0.333em;
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr > td.dtr-control,
|
||||
table.dataTable.dtr-column > tbody > tr > th.dtr-control,
|
||||
table.dataTable.dtr-column > tbody > tr > td.control,
|
||||
table.dataTable.dtr-column > tbody > tr > th.control {
|
||||
cursor: pointer;
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr > td.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr > th.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr > td.control:before,
|
||||
table.dataTable.dtr-column > tbody > tr > th.control:before {
|
||||
display: inline-block;
|
||||
box-sizing: border-box;
|
||||
content: "";
|
||||
border-top: 5px solid transparent;
|
||||
border-left: 10px solid rgba(0, 0, 0, 0.5);
|
||||
border-bottom: 5px solid transparent;
|
||||
border-right: 0px solid transparent;
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr > td.dtr-control.arrow-right::before,
|
||||
table.dataTable.dtr-column > tbody > tr > th.dtr-control.arrow-right::before,
|
||||
table.dataTable.dtr-column > tbody > tr > td.control.arrow-right::before,
|
||||
table.dataTable.dtr-column > tbody > tr > th.control.arrow-right::before {
|
||||
border-top: 5px solid transparent;
|
||||
border-left: 0px solid transparent;
|
||||
border-bottom: 5px solid transparent;
|
||||
border-right: 10px solid rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr.dtr-expanded td.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.dtr-expanded th.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.dtr-expanded td.control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.dtr-expanded th.control:before {
|
||||
border-top: 10px solid rgba(0, 0, 0, 0.5);
|
||||
border-left: 5px solid transparent;
|
||||
border-bottom: 0px solid transparent;
|
||||
border-right: 5px solid transparent;
|
||||
}
|
||||
table.dataTable > tbody > tr.child {
|
||||
padding: 0.5em 1em;
|
||||
}
|
||||
table.dataTable > tbody > tr.child:hover {
|
||||
background: transparent !important;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul.dtr-details {
|
||||
display: inline-block;
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul.dtr-details > li {
|
||||
border-bottom: 1px solid #efefef;
|
||||
padding: 0.5em 0;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul.dtr-details > li:first-child {
|
||||
padding-top: 0;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul.dtr-details > li:last-child {
|
||||
padding-bottom: 0;
|
||||
border-bottom: none;
|
||||
}
|
||||
table.dataTable > tbody > tr.child span.dtr-title {
|
||||
display: inline-block;
|
||||
min-width: 75px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.dtr-modal {
|
||||
position: fixed;
|
||||
box-sizing: border-box;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
padding: 10em 1em;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-display {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 50%;
|
||||
height: fit-content;
|
||||
max-height: 75%;
|
||||
overflow: auto;
|
||||
margin: auto;
|
||||
z-index: 102;
|
||||
overflow: auto;
|
||||
background-color: #f5f5f7;
|
||||
border: 1px solid black;
|
||||
border-radius: 0.5em;
|
||||
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-content {
|
||||
position: relative;
|
||||
padding: 2.5em;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-content h2 {
|
||||
margin-top: 0;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-close {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
right: 6px;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
text-align: center;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
z-index: 12;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-background {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 101;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
div.dtr-modal div.dtr-modal-display {
|
||||
width: 95%;
|
||||
}
|
||||
}
|
||||
html.dark table.dataTable > tbody > tr > td.dtr-control:before,
|
||||
html[data-bs-theme=dark] table.dataTable > tbody > tr > td.dtr-control:before {
|
||||
border-left-color: rgba(255, 255, 255, 0.5) !important;
|
||||
}
|
||||
html.dark table.dataTable > tbody > tr > td.dtr-control.arrow-right::before,
|
||||
html[data-bs-theme=dark] table.dataTable > tbody > tr > td.dtr-control.arrow-right::before {
|
||||
border-right-color: rgba(255, 255, 255, 0.5) !important;
|
||||
}
|
||||
html.dark table.dataTable > tbody > tr.dtr-expanded > td.dtr-control:before,
|
||||
html.dark table.dataTable > tbody > tr.dtr-expanded > th.dtr-control:before,
|
||||
html[data-bs-theme=dark] table.dataTable > tbody > tr.dtr-expanded > td.dtr-control:before,
|
||||
html[data-bs-theme=dark] table.dataTable > tbody > tr.dtr-expanded > th.dtr-control:before {
|
||||
border-top-color: rgba(255, 255, 255, 0.5) !important;
|
||||
border-left-color: transparent !important;
|
||||
border-right-color: transparent !important;
|
||||
}
|
||||
html.dark table.dataTable > tbody > tr.child ul.dtr-details > li,
|
||||
html[data-bs-theme=dark] table.dataTable > tbody > tr.child ul.dtr-details > li {
|
||||
border-bottom-color: rgb(64, 67, 70);
|
||||
}
|
||||
html.dark div.dtr-modal div.dtr-modal-display,
|
||||
html[data-bs-theme=dark] div.dtr-modal div.dtr-modal-display {
|
||||
background-color: rgb(33, 37, 41);
|
||||
border: 1px solid rgba(255, 255, 255, 0.15);
|
||||
}
|
||||
|
||||
div.dtr-bs-modal table.table tr:first-child td {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
table.dataTable.table-bordered th.dtr-control.dtr-hidden + *,
|
||||
table.dataTable.table-bordered td.dtr-control.dtr-hidden + * {
|
||||
border-left-width: 1px;
|
||||
}
|
||||
1
public/js/plugins/datatables-responsive-bs5/css/responsive.bootstrap5.min.css
vendored
Normal file
1
public/js/plugins/datatables-responsive-bs5/css/responsive.bootstrap5.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,134 @@
|
||||
/*! Bootstrap 5 integration for DataTables' Responsive
|
||||
* © SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
|
||||
(function( factory ){
|
||||
if ( typeof define === 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( ['jquery', 'datatables.net-bs5', 'datatables.net-responsive'], function ( $ ) {
|
||||
return factory( $, window, document );
|
||||
} );
|
||||
}
|
||||
else if ( typeof exports === 'object' ) {
|
||||
// CommonJS
|
||||
var jq = require('jquery');
|
||||
var cjsRequires = function (root, $) {
|
||||
if ( ! $.fn.dataTable ) {
|
||||
require('datatables.net-bs5')(root, $);
|
||||
}
|
||||
|
||||
if ( ! $.fn.dataTable.Responsive ) {
|
||||
require('datatables.net-responsive')(root, $);
|
||||
}
|
||||
};
|
||||
|
||||
if (typeof window === 'undefined') {
|
||||
module.exports = function (root, $) {
|
||||
if ( ! root ) {
|
||||
// CommonJS environments without a window global must pass a
|
||||
// root. This will give an error otherwise
|
||||
root = window;
|
||||
}
|
||||
|
||||
if ( ! $ ) {
|
||||
$ = jq( root );
|
||||
}
|
||||
|
||||
cjsRequires( root, $ );
|
||||
return factory( $, root, root.document );
|
||||
};
|
||||
}
|
||||
else {
|
||||
cjsRequires( window, jq );
|
||||
module.exports = factory( jq, window, window.document );
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Browser
|
||||
factory( jQuery, window, document );
|
||||
}
|
||||
}(function( $, window, document ) {
|
||||
'use strict';
|
||||
var DataTable = $.fn.dataTable;
|
||||
|
||||
|
||||
|
||||
var _display = DataTable.Responsive.display;
|
||||
var _original = _display.modal;
|
||||
var _modal = $(
|
||||
'<div class="modal fade dtr-bs-modal" role="dialog">' +
|
||||
'<div class="modal-dialog" role="document">' +
|
||||
'<div class="modal-content">' +
|
||||
'<div class="modal-header">' +
|
||||
'<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>' +
|
||||
'</div>' +
|
||||
'<div class="modal-body"/>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>'
|
||||
);
|
||||
var modal;
|
||||
|
||||
// Note this could be undefined at the time of initialisation - the
|
||||
// DataTable.Responsive.bootstrap function can be used to set a different
|
||||
// bootstrap object
|
||||
var _bs = window.bootstrap;
|
||||
|
||||
DataTable.Responsive.bootstrap = function (bs) {
|
||||
_bs = bs;
|
||||
};
|
||||
|
||||
_display.modal = function (options) {
|
||||
if (!modal && _bs.Modal) {
|
||||
modal = new _bs.Modal(_modal[0]);
|
||||
}
|
||||
|
||||
return function (row, update, render, closeCallback) {
|
||||
if (! modal) {
|
||||
return _original(row, update, render, closeCallback);
|
||||
}
|
||||
else {
|
||||
var rendered = render();
|
||||
|
||||
if (rendered === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!update) {
|
||||
if (options && options.header) {
|
||||
var header = _modal.find('div.modal-header');
|
||||
var button = header.find('button').detach();
|
||||
|
||||
header
|
||||
.empty()
|
||||
.append('<h4 class="modal-title">' + options.header(row) + '</h4>')
|
||||
.append(button);
|
||||
}
|
||||
|
||||
_modal.find('div.modal-body').empty().append(rendered);
|
||||
|
||||
_modal
|
||||
.data('dtr-row-idx', row.index())
|
||||
.one('hidden.bs.modal', closeCallback)
|
||||
.appendTo('body');
|
||||
|
||||
modal.show();
|
||||
}
|
||||
else {
|
||||
if ($.contains(document, _modal[0]) && row.index() === _modal.data('dtr-row-idx')) {
|
||||
_modal.find('div.modal-body').empty().append(rendered);
|
||||
}
|
||||
else {
|
||||
// Modal not shown for this row - do nothing
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
return DataTable;
|
||||
}));
|
||||
4
public/js/plugins/datatables-responsive-bs5/js/responsive.bootstrap5.min.js
vendored
Normal file
4
public/js/plugins/datatables-responsive-bs5/js/responsive.bootstrap5.min.js
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
/*! Bootstrap 5 integration for DataTables' Responsive
|
||||
* © SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
!function(n){var o,t;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs5","datatables.net-responsive"],function(e){return n(e,window,document)}):"object"==typeof exports?(o=require("jquery"),t=function(e,d){d.fn.dataTable||require("datatables.net-bs5")(e,d),d.fn.dataTable.Responsive||require("datatables.net-responsive")(e,d)},"undefined"==typeof window?module.exports=function(e,d){return e=e||window,d=d||o(e),t(e,d),n(d,e,e.document)}:(t(window,o),module.exports=n(o,window,window.document))):n(jQuery,window,document)}(function(r,e,l){"use strict";var u,d=r.fn.dataTable,n=d.Responsive.display,f=n.modal,p=r('<div class="modal fade dtr-bs-modal" role="dialog"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button></div><div class="modal-body"/></div></div></div>'),o=e.bootstrap;return d.Responsive.bootstrap=function(e){o=e},n.modal=function(s){return!u&&o.Modal&&(u=new o.Modal(p[0])),function(e,d,n,o){if(u){var t,a,i=n();if(!1===i)return!1;if(d){if(!r.contains(l,p[0])||e.index()!==p.data("dtr-row-idx"))return null;p.find("div.modal-body").empty().append(i)}else s&&s.header&&(a=(t=p.find("div.modal-header")).find("button").detach(),t.empty().append('<h4 class="modal-title">'+s.header(e)+"</h4>").append(a)),p.find("div.modal-body").empty().append(i),p.data("dtr-row-idx",e.index()).one("hidden.bs.modal",o).appendTo("body"),u.show();return!0}return f(e,d,n,o)}},d});
|
||||
@@ -0,0 +1,4 @@
|
||||
/*! Bootstrap 5 integration for DataTables' Responsive
|
||||
* © SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
import jQuery from"jquery";import DataTable from"datatables.net-bs5";import Responsive from"datatables.net-responsive";let $=jQuery;var modal,_display=DataTable.Responsive.display,_original=_display.modal,_modal=$('<div class="modal fade dtr-bs-modal" role="dialog"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button></div><div class="modal-body"/></div></div></div>'),_bs=window.bootstrap;DataTable.Responsive.bootstrap=function(a){_bs=a},_display.modal=function(n){return!modal&&_bs.Modal&&(modal=new _bs.Modal(_modal[0])),function(a,d,o,e){if(modal){var l,t,i=o();if(!1===i)return!1;if(d){if(!$.contains(document,_modal[0])||a.index()!==_modal.data("dtr-row-idx"))return null;_modal.find("div.modal-body").empty().append(i)}else n&&n.header&&(t=(l=_modal.find("div.modal-header")).find("button").detach(),l.empty().append('<h4 class="modal-title">'+n.header(a)+"</h4>").append(t)),_modal.find("div.modal-body").empty().append(i),_modal.data("dtr-row-idx",a.index()).one("hidden.bs.modal",e).appendTo("body"),modal.show();return!0}return _original(a,d,o,e)}};export default DataTable;
|
||||
@@ -0,0 +1,90 @@
|
||||
/*! Bootstrap 5 integration for DataTables' Responsive
|
||||
* © SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
|
||||
import jQuery from 'jquery';
|
||||
import DataTable from 'datatables.net-bs5';
|
||||
import Responsive from 'datatables.net-responsive';
|
||||
|
||||
// Allow reassignment of the $ variable
|
||||
let $ = jQuery;
|
||||
|
||||
|
||||
var _display = DataTable.Responsive.display;
|
||||
var _original = _display.modal;
|
||||
var _modal = $(
|
||||
'<div class="modal fade dtr-bs-modal" role="dialog">' +
|
||||
'<div class="modal-dialog" role="document">' +
|
||||
'<div class="modal-content">' +
|
||||
'<div class="modal-header">' +
|
||||
'<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>' +
|
||||
'</div>' +
|
||||
'<div class="modal-body"/>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>'
|
||||
);
|
||||
var modal;
|
||||
|
||||
// Note this could be undefined at the time of initialisation - the
|
||||
// DataTable.Responsive.bootstrap function can be used to set a different
|
||||
// bootstrap object
|
||||
var _bs = window.bootstrap;
|
||||
|
||||
DataTable.Responsive.bootstrap = function (bs) {
|
||||
_bs = bs;
|
||||
};
|
||||
|
||||
_display.modal = function (options) {
|
||||
if (!modal && _bs.Modal) {
|
||||
modal = new _bs.Modal(_modal[0]);
|
||||
}
|
||||
|
||||
return function (row, update, render, closeCallback) {
|
||||
if (! modal) {
|
||||
return _original(row, update, render, closeCallback);
|
||||
}
|
||||
else {
|
||||
var rendered = render();
|
||||
|
||||
if (rendered === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!update) {
|
||||
if (options && options.header) {
|
||||
var header = _modal.find('div.modal-header');
|
||||
var button = header.find('button').detach();
|
||||
|
||||
header
|
||||
.empty()
|
||||
.append('<h4 class="modal-title">' + options.header(row) + '</h4>')
|
||||
.append(button);
|
||||
}
|
||||
|
||||
_modal.find('div.modal-body').empty().append(rendered);
|
||||
|
||||
_modal
|
||||
.data('dtr-row-idx', row.index())
|
||||
.one('hidden.bs.modal', closeCallback)
|
||||
.appendTo('body');
|
||||
|
||||
modal.show();
|
||||
}
|
||||
else {
|
||||
if ($.contains(document, _modal[0]) && row.index() === _modal.data('dtr-row-idx')) {
|
||||
_modal.find('div.modal-body').empty().append(rendered);
|
||||
}
|
||||
else {
|
||||
// Modal not shown for this row - do nothing
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
export default DataTable;
|
||||
Reference in New Issue
Block a user