Эффективный способ создания виджетов JQuery для панели инструментов - PullRequest
0 голосов
/ 12 октября 2019

Я разрабатываю панель управления для пользователей, чтобы просматривать статистику и другую информацию, полученную из базы данных MySQL. На одной странице около 10 виджетов, и я беспокоюсь о скорости и эффективности. Виджеты - это базовые сообщения jQuery и ответы JSON ... См. Код ниже. Этот подход в порядке? Или есть способ получше? Также я бы хотел позже импортировать эти виджеты на другие страницы сайта. Как это может быть сделано? Простым решением было бы включить файл JavaScript и его контейнер. Но я хотел бы максимально ограничить код.

ФАЙЛ JavaScript

function getLatest(mode) {ç
$.ajax({
type: "POST",
url: "./demo2/contents/updates/getLatest.php",
data: {mode:mode},
cache: false,
dataType: "json",
success: function(response){

NotifyPage('Retrieved '+response['count']+' records','success'); 
BlockPortlet('#kt_widget6_tab1_content','Loading..');
HidePortlet(1000,'#kt_widget6_tab1_content');

$("#latestContainer").html(response['data']);

}

});

}

PHP

$count = 0;
$result = db_query($query);
while($row = db_fetch_array($result))
{

$fieldArray["title"]        = "title 22";
$fieldArray["shortDesc"]    = "Desc";
$fieldArray["icon"]         = "item-icon";
$fieldArray["timeAgo"]      = "2 hrs ago";

$saveData .= requireToVarArray('templates/itemsLatest.php',$fieldArray);

$count++; 
}

$returnArray["data"]    = $saveData;
$returnArray["count"]   = $count;

echo json_encode($returnArray);

exit;

PHP-файл 2

<a href="#" class="kt-notification__item">

 <div class="kt-notification__item-icon">
 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="24px" viewBox="0 0 24 24" version="1.1" class="kt-svg-icon kt-svg-icon--brand">
 <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
 <rect x="0" y="0" width="24" height="24"/>
 <path d="M5,3 L6,3 C6.55228475,3 7,3.44771525 7,4 L7,20 C7,20.5522847 6.55228475,21 6,21 L5,21 C4.44771525,21 4,20.5522847 4,20 L4,4 C4,3.44771525 4.44771525,3 5,3 Z M10,3 L11,3 C11.5522847,3 12,3.44771525 12,4 L12,20 C12,20.5522847 11.5522847,21 11,21 L10,21 C9.44771525,21 9,20.5522847 9,20 L9,4 C9,3.44771525 9.44771525,3 10,3 Z" fill="#000000"/>
 <rect fill="#000000" opacity="0.3" transform="translate(17.825568, 11.945519) rotate(-19.000000) translate(-17.825568, -11.945519) " x="16.3255682" y="2.94551858" width="3" height="18" rx="1"/>
 </g>
</svg>
</div>

 <div class="kt-notification__item-details">
 <div class="kt-notification__item-title">
 <?=$fieldArray["title"]?>
 </div>
 <div class="kt-notification__item-time">
  <?=$fieldArray["timeAgo"]?>
 </div>
 </div>
 </a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...