mirror of
https://github.com/cheveguerra/whatsapp-web.js.git
synced 2026-04-17 19:26:20 +00:00
133 lines
4.5 KiB
HTML
133 lines
4.5 KiB
HTML
<!doctype html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta name="generator" content="JSDoc 3.6.7">
|
|
<meta charset="utf-8">
|
|
<title>whatsapp-web.js 1.19.3 » Source: structures/List.js</title>
|
|
<link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Karla:400,400i,700,700i" type="text/css">
|
|
<link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Noto+Serif:400,400i,700,700i" type="text/css">
|
|
<link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
|
|
<link href="css/baseline.css" rel="stylesheet">
|
|
</head>
|
|
|
|
<body onload="prettyPrint()">
|
|
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
|
|
<div id="jsdoc-navbar-container">
|
|
<div id="jsdoc-navbar-content">
|
|
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>19.<wbr>3</a>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<div id="jsdoc-body-container">
|
|
<div id="jsdoc-content">
|
|
<div id="jsdoc-content-container">
|
|
<div id="jsdoc-banner" role="banner">
|
|
</div>
|
|
<div id="jsdoc-main" role="main">
|
|
<header class="page-header">
|
|
<h1>Source: structures/List.js</h1>
|
|
</header>
|
|
<article>
|
|
<pre class="prettyprint linenums"><code>'use strict';
|
|
|
|
const Util = require('../util/Util');
|
|
|
|
/**
|
|
* Message type List
|
|
*/
|
|
class List {
|
|
/**
|
|
* @param {string} body
|
|
* @param {string} buttonText
|
|
* @param {Array&lt;any>} sections
|
|
* @param {string?} title
|
|
* @param {string?} footer
|
|
*/
|
|
constructor(body, buttonText, sections, title, footer) {
|
|
/**
|
|
* Message body
|
|
* @type {string}
|
|
*/
|
|
this.description = body;
|
|
|
|
/**
|
|
* List button text
|
|
* @type {string}
|
|
*/
|
|
this.buttonText = buttonText;
|
|
|
|
/**
|
|
* title of message
|
|
* @type {string}
|
|
*/
|
|
this.title = title;
|
|
|
|
|
|
/**
|
|
* footer of message
|
|
* @type {string}
|
|
*/
|
|
this.footer = footer;
|
|
|
|
/**
|
|
* sections of message
|
|
* @type {Array&lt;any>}
|
|
*/
|
|
this.sections = this._format(sections);
|
|
|
|
}
|
|
|
|
/**
|
|
* Creates section array from simple array
|
|
* @param {Array&lt;any>} sections
|
|
* @returns {Array&lt;any>}
|
|
* @example
|
|
* Input: [{title:'sectionTitle',rows:[{id:'customId', title:'ListItem2', description: 'desc'},{title:'ListItem2'}]}}]
|
|
* Returns: [{'title':'sectionTitle','rows':[{'rowId':'customId','title':'ListItem1','description':'desc'},{'rowId':'oGSRoD','title':'ListItem2','description':''}]}]
|
|
*/
|
|
_format(sections){
|
|
if(!sections.length){throw '[LT02] List without sections';}
|
|
if(sections.length > 1 &amp;&amp; sections.filter(s => typeof s.title == 'undefined').length > 1){throw '[LT05] You can\'t have more than one empty title.';}
|
|
return sections.map( (section) =>{
|
|
if(!section.rows.length){throw '[LT03] Section without rows';}
|
|
return {
|
|
title: section.title ? section.title : undefined,
|
|
rows: section.rows.map( (row) => {
|
|
if(!row.title){throw '[LT04] Row without title';}
|
|
return {
|
|
rowId: row.id ? row.id : Util.generateHash(6),
|
|
title: row.title,
|
|
description: row.description ? row.description : ''
|
|
};
|
|
})
|
|
};
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
module.exports = List;
|
|
</code></pre>
|
|
</article>
|
|
</div>
|
|
</div>
|
|
<nav id="jsdoc-toc-nav" role="navigation"></nav>
|
|
</div>
|
|
</div>
|
|
<footer id="jsdoc-footer" class="jsdoc-footer">
|
|
<div id="jsdoc-footer-container">
|
|
<p>
|
|
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.7 on January 28, 2023.
|
|
</p>
|
|
</div>
|
|
</footer>
|
|
<script src="scripts/jquery.min.js"></script>
|
|
<script src="scripts/tree.jquery.js"></script>
|
|
<script src="scripts/prettify.js"></script>
|
|
<script src="scripts/jsdoc-toc.js"></script>
|
|
<script src="scripts/linenumber.js"></script>
|
|
<script src="scripts/scrollanchor.js"></script>
|
|
</body>
|
|
|
|
</html> |