mirror of
https://gitlab.com/signalytic/client-external/streamline/streamline-emr.git
synced 2026-09-12 03:01:32 +00:00
The official image from streamline does not currently work for the arm64 platform. As a temporary measure, the source code and docker build scripts have been lifted from the official images and are used to build locally. Some additional modifications are made to reduce overall image size, these are documented in docker/README.md
56 lines
2.0 KiB
JavaScript
Executable File
Vendored
56 lines
2.0 KiB
JavaScript
Executable File
Vendored
/**
|
|
* Due to the fact that DataTables moves DOM elements around (mainly `dt-tag tr`
|
|
* elements for sorting and filtering) it can at times be a little tricky to get
|
|
* the next row based on another, while taking into account pagination,
|
|
* filtering, sorting etc.
|
|
*
|
|
* This function is designed to address exactly this situation. It takes two
|
|
* parameters, the target node, and a boolean indicating if the adjacent row
|
|
* retrieved should be the next (`true`, or no value) or the previous (`false`).
|
|
*
|
|
* @name fnGetAdjacentTr
|
|
* @summary Get the adjacent `dt-tag tr` element for a row.
|
|
* @author [Allan Jardine](http://sprymedia.co.uk)
|
|
*
|
|
* @param {node} nTr `dt-tag tr` element to get the adjacent element of
|
|
* @param {boolean} [bNext=true] Get the next (`true`), or previous (`false`)
|
|
* `dt-tag tr` element.
|
|
* @returns {node} `dt-tag tr` element or null if not found.
|
|
*
|
|
* @example
|
|
* $(document).ready(function() {
|
|
* var table = $('#example').dataTable();
|
|
*
|
|
* var n1 = $('#example tbody tr').eq(2)[0];
|
|
* var next = table.fnGetAdjacentTr( n1 );
|
|
* var prev = table.fnGetAdjacentTr( n1, false );
|
|
* } );
|
|
*/
|
|
|
|
jQuery.fn.dataTableExt.oApi.fnGetAdjacentTr = function ( oSettings, nTr, bNext )
|
|
{
|
|
/* Find the node's position in the aoData store */
|
|
var iCurrent = oSettings.oApi._fnNodeToDataIndex( oSettings, nTr );
|
|
|
|
/* Convert that to a position in the display array */
|
|
var iDisplayIndex = $.inArray( iCurrent, oSettings.aiDisplay );
|
|
if ( iDisplayIndex == -1 )
|
|
{
|
|
/* Not in the current display */
|
|
return null;
|
|
}
|
|
|
|
/* Move along the display array as needed */
|
|
iDisplayIndex += (typeof bNext=='undefined' || bNext) ? 1 : -1;
|
|
|
|
/* Check that it within bounds */
|
|
if ( iDisplayIndex < 0 || iDisplayIndex >= oSettings.aiDisplay.length )
|
|
{
|
|
/* There is no next/previous element */
|
|
return null;
|
|
}
|
|
|
|
/* Return the target node from the aoData store */
|
|
return oSettings.aoData[ oSettings.aiDisplay[ iDisplayIndex ] ].nTr;
|
|
};
|