Best JavaScript code snippet using best
date-de.js
Source:date-de.js
1/**2 * This sorting plug-in for DataTables will correctly sort data in date time or date3 * format typically used in Germany:4 * date and time:`dd.mm.YYYY HH:mm`5 * just date:`dd.mm.YYYY`.6 *7 * Please note that this plug-in is **deprecated*. The8 * [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced9 * functionality and flexibility.10 *11 * @name Date (dd.mm.YYYY) or date and time (dd.mm.YYYY HH:mm)12 * @summary Sort date / time in the format `dd.mm.YYYY HH:mm` or `dd.mm.YYYY`.13 * @author [Ronny Vedrilla](http://www.ambient-innovation.com)14 * @deprecated15 *16 * @example17 * $('#example').dataTable( {18 * columnDefs: [19 * { type: 'de_datetime', targets: 0 },20 * { type: 'de_date', targets: 1 }21 * ]22 * } );23 */24 jQuery.extend( jQuery.fn.dataTableExt.oSort, {25 "de_datetime-asc": function ( a, b ) {26 var x, y;27 if (jQuery.trim(a) !== '') {28 var deDatea = jQuery.trim(a).split(' ');29 var deTimea = deDatea[1].split(':');30 var deDatea2 = deDatea[0].split('.');31 if(typeof deTimea[2] != 'undefined') {32 x = (deDatea2[2] + deDatea2[1] + deDatea2[0] + deTimea[0] + deTimea[1] + deTimea[2]) * 1;33 } else {34 x = (deDatea2[2] + deDatea2[1] + deDatea2[0] + deTimea[0] + deTimea[1]) * 1;35 }36 } else {37 x = Infinity; // = l'an 1000 ...38 }39 if (jQuery.trim(b) !== '') {40 var deDateb = jQuery.trim(b).split(' ');41 var deTimeb = deDateb[1].split(':');42 deDateb = deDateb[0].split('.');43 if(typeof deTimeb[2] != 'undefined') {44 y = (deDateb[2] + deDateb[1] + deDateb[0] + deTimeb[0] + deTimeb[1] + deTimeb[2]) * 1;45 } else {46 y = (deDateb[2] + deDateb[1] + deDateb[0] + deTimeb[0] + deTimeb[1]) * 1;47 }48 } else {49 y = Infinity;50 }51 var z = ((x < y) ? -1 : ((x > y) ? 1 : 0));52 return z;53 },54 "de_datetime-desc": function ( a, b ) {55 var x, y;56 if (jQuery.trim(a) !== '') {57 var deDatea = jQuery.trim(a).split(' ');58 var deTimea = deDatea[1].split(':');59 var deDatea2 = deDatea[0].split('.');60 if(typeof deTimea[2] != 'undefined') {61 x = (deDatea2[2] + deDatea2[1] + deDatea2[0] + deTimea[0] + deTimea[1] + deTimea[2]) * 1;62 } else {63 x = (deDatea2[2] + deDatea2[1] + deDatea2[0] + deTimea[0] + deTimea[1]) * 1;64 }65 } else {66 x = Infinity;67 }68 if (jQuery.trim(b) !== '') {69 var deDateb = jQuery.trim(b).split(' ');70 var deTimeb = deDateb[1].split(':');71 deDateb = deDateb[0].split('.');72 if(typeof deTimeb[2] != 'undefined') {73 y = (deDateb[2] + deDateb[1] + deDateb[0] + deTimeb[0] + deTimeb[1] + deTimeb[2]) * 1;74 } else {75 y = (deDateb[2] + deDateb[1] + deDateb[0] + deTimeb[0] + deTimeb[1]) * 1;76 }77 } else {78 y = Infinity;79 }80 var z = ((x < y) ? 1 : ((x > y) ? -1 : 0));81 return z;82 },83 "de_date-asc": function ( a, b ) {84 var x, y;85 if (jQuery.trim(a) !== '') {86 var deDatea = jQuery.trim(a).split('.');87 x = (deDatea[2] + deDatea[1] + deDatea[0]) * 1;88 } else {89 x = Infinity; // = l'an 1000 ...90 }91 if (jQuery.trim(b) !== '') {92 var deDateb = jQuery.trim(b).split('.');93 y = (deDateb[2] + deDateb[1] + deDateb[0]) * 1;94 } else {95 y = Infinity;96 }97 var z = ((x < y) ? -1 : ((x > y) ? 1 : 0));98 return z;99 },100 "de_date-desc": function ( a, b ) {101 var x, y;102 if (jQuery.trim(a) !== '') {103 var deDatea = jQuery.trim(a).split('.');104 x = (deDatea[2] + deDatea[1] + deDatea[0]) * 1;105 } else {106 x = Infinity;107 }108 if (jQuery.trim(b) !== '') {109 var deDateb = jQuery.trim(b).split('.');110 y = (deDateb[2] + deDateb[1] + deDateb[0]) * 1;111 } else {112 y = Infinity;113 }114 var z = ((x < y) ? 1 : ((x > y) ? -1 : 0));115 return z;116 }...
classificacao.js
Source: classificacao.js
1import React from "react";2import "../App.css";3function TabelaClassificacao(props) {4 const [metodoDeOrdenacao, setMetodoDeOrdenacao] = React.useState("posicao");5 const [ordem, setOrdem] = React.useState("crescente");6 const { tabelaClassificacao, setTabelaClassificacao } = props;7 const ordenaTabela = (coluna, ordemColuna) => {8 let novaTabela = [];9 switch (coluna) {10 case "pontos":11 novaTabela = tabelaClassificacao.sort((timeA, timeB) =>12 timeA.pontos > timeB.pontos ? -1 : 113 );14 break;15 case "vitorias":16 novaTabela = tabelaClassificacao.sort((timeA, timeB) =>17 timeA.vitorias > timeB.vitorias ? -1 : 118 );19 break;20 case "empates":21 novaTabela = tabelaClassificacao.sort((timeA, timeB) =>22 timeA.empates > timeB.empates ? -1 : 123 );24 break;25 case "derrotas":26 novaTabela = tabelaClassificacao.sort((timeA, timeB) =>27 timeA.derrotas > timeB.derrotas ? -1 : 128 );29 break;30 case "gf":31 novaTabela = tabelaClassificacao.sort((timeA, timeB) =>32 timeA.golsFeitos > timeB.golsFeitos ? -1 : 133 );34 break;35 case "gs":36 novaTabela = tabelaClassificacao.sort((timeA, timeB) =>37 timeA.golsSofridos > timeB.golsSofridos ? -1 : 138 );39 break;40 case "sg":41 novaTabela = tabelaClassificacao.sort((timeA, timeB) =>42 timeA.golsFeitos - timeA.golsSofridos >43 timeB.golsFeitos - timeB.golsSofridos44 ? -145 : 146 );47 break;48 case "time":49 novaTabela = tabelaClassificacao.sort((timeA, timeB) =>50 timeB.nome.localeCompare(timeA.nome)51 );52 break;53 default:54 novaTabela = tabelaClassificacao.sort((timeA, timeB) =>55 timeA.posicao > timeB.posicao ? -1 : 156 );57 break;58 }59 setMetodoDeOrdenacao(coluna);60 setOrdem(ordemColuna);61 if (ordemColuna === "crescente") {62 setTabelaClassificacao(novaTabela.reverse());63 } else {64 setTabelaClassificacao(novaTabela);65 }66 };67 const ordenar = (coluna) => {68 if (metodoDeOrdenacao === coluna) {69 {70 return (71 <img72 onClick={() => {73 ordenaTabela(74 coluna,75 ordem === "crescente" ? "decrescente" : "crescente"76 );77 }}78 src={79 ordem === "decrescente"80 ? "https://systemuicons.com/images/icons/arrow_down.svg"81 : "https://systemuicons.com/images/icons/arrow_up.svg"82 }83 />84 );85 }86 } else {87 return (88 <img89 src="https://systemuicons.com/images/icons/sort.svg"90 onClick={() => {91 ordenaTabela(coluna, "decrescente");92 }}93 />94 );95 }96 };97 return (98 <table className="classificacao">99 <thead>100 <tr className="cabecalhoClassificacao">101 <th>Posição {ordenar("posicao")}</th>102 <th>Time {ordenar("time")}</th>103 <th>104 <abbr title="Pontos">PTS</abbr> {ordenar("pontos")}105 </th>106 <th>107 <abbr title="Empates">E</abbr> {ordenar("empates")}108 </th>109 <th>110 <abbr title="Vitórias">V</abbr> {ordenar("vitorias")}111 </th>112 <th>113 <abbr title="Derrotas">D</abbr> {ordenar("derrotas")}114 </th>115 <th>116 <abbr title="Gols Feitos">GF</abbr> {ordenar("gf")}117 </th>118 <th>119 <abbr title="Gols Sofridos">GS</abbr> {ordenar("gs")}120 </th>121 <th>122 <abbr title="Saldo de Gols">SG</abbr> {ordenar("sg")}123 </th>124 </tr>125 </thead>126 <tbody className="timesClassificacao">127 {tabelaClassificacao &&128 tabelaClassificacao.map((time) => {129 return (130 <tr131 className={132 time.posicao < 5133 ? "classificados"134 : time.posicao > 16135 ? "rebaixados"136 : undefined137 }138 >139 <td>{time.posicao}</td>140 <td>{time.nome}</td>141 <td>{time.pontos}</td>142 <td>{time.empates}</td>143 <td>{time.vitorias}</td>144 <td>{time.derrotas}</td>145 <td>{time.golsFeitos}</td>146 <td>{time.golsSofridos}</td>147 <td>{time.golsFeitos - time.golsSofridos}</td>148 </tr>149 );150 })}151 </tbody>152 </table>153 );154}...
Check out the latest blogs from LambdaTest on this topic:
Imagine breaking down a single function unit into multiple mini-service units. That is exactly what microservices do to the traditional monolithic architecture. But, there is more to it than meets the eye. Microservices are the go-to solution for all the major software development projects.
The quickest hack to build a live web design fast is to follow app design trends already set up by hugely popular SaaS companies. So before you kick-start the designing and development phase of your web app, check out some of the best SaaS design inspiration that has already helped companies succeed. But where to find those inspirations??
Before development of a project begins, the project manager’s job is to determine which methodology should be used for the project life cycle. The 2 most popular methodologies are
Every user journey on a website starts from a signup page. Signup page is one of the simplest yet one of the most important page of the website. People do everything in their control to increase the conversions on their website by changing signup pages, modifying them, performing A/B testing to find out the best pages and what not. But the major problem that went unnoticed or is usually underrated is testing the signup page. If you try all the possible hacks but fail to test it properly you’re missing on a big thing. Because if users are facing problem while signing up they leave your website and will never come back.
Gone are the olden times when the more you scaled your application, the further your tests were complicated. At present, every QA team aims to cover a maximum number of functional tests in the least amount of time, thanks to parallel testing. Using virtualization, parallel testing allows you to perform multiple tests at the same time. As simple as it sounds, it can exponentially minimize your testing time, resulting in a fastened release process. Let’s delve in to see some amazing improvements you can bring about in your work by introducing parallel testing into it.
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!