Bootstrap Table Pipeline
امتداد Pipeline للجدول في Bootstrap Table.
هذا الإضافة يتيح تخزين بيانات جانب العميل مؤقتًا لطلبات جانب الخادم، مما سيقضي على الحاجة إلى إصدار طلب جديد بكل تغيير صفحة. سيسمح هذا للحصول على توازن أداء لمجموعة بيانات كبيرة بين إرجاع جميع البيانات مرة واحدة (ترقيم جانب العميل) والطلب الجديد من جانب الخادم (ترقيم جانب الخادم).
هناك خياران جديدان:
usePipeline: ي सकِّر هذه الميزةpipelineSize: حجم كل نافذة تخزين مؤقت
يجب أن يكون حجمPipeline مقسمًا بالتساوي على حجم الصفحة الحالي. هذا يتم ضمانه عن طريق التقريب لأعلى إلى أقرب قيمة مقسمة بالتساوي. على سبيل المثال، إذا حجمPipeline هو 4990 وحجم الصفحة الحالي هو 25، فسيتم تعيين حجمPipeline بشكل ديناميكي إلى 5000.
تُحسب نوافذ التخزين المؤقت بناءً على حجمPipeline وعدد الصفوف الإجمالي المرجوع من استعلام جانب الخادم. على سبيل المثال، بحجمPipeline 500 وعدد الصفوف الإجمالي 1300، ستكون نوافذ التخزين المؤقت كما يلي:
[
{
"lower": 0,
"upper": 499
},
{
"lower": 500,
"upper": 999
},
{
"lower": 1000,
"upper": 1499
}
]
باستخدام حدود (أي pipelineSize) و параметры الإزاحة، يجب أن يُرجع طلب جانب الخادم
فقط البيانات الموجودة في نافذة التخزين المؤقت المطلوبة و إجمالي عدد الصفوف.
باختصار، يجب أن يستخدم الكود الجانب الخادم معلمات الإزاحة والحدود لإعداد بيانات الاستجابة.
عند تغيير الصفحة، تُتحقق مما إذا كانت الإزاحة الجديدة ضمن نافذة التخزين المؤقت الحالية. إذا كان الأمر كذلك، يُرجع بيانات الصفحة المطلوبة من مجموعة البيانات المخزنة مؤقتًا. وإلا، يُنشئ طلب جديد من جانب الخادم لنافذة التخزين المؤقت الجديدة.
تُعاد تفسير بيانات التخزين المؤقت الحالية فقط في هذه الأحداث:
- الترتيب
- البحث
- تغيير حجم الصفحة
- تغيير الصفحة يؤدي إلى دخول نافذة تخزين مؤقت جديدة
هناك حدثان جديدان:
cached-data-hit.bs.table: يُصدَّر عندما تُستخدم بيانات التخزين المؤقت على تغيير الصفحةcached-data-reset.bs.table: يُصدَّر عندما يتم إلغاء تفسير بيانات التخزين المؤقت ويُصدَّر الطلب الجديد من جانب الخادم
الاستخدام
<script src="extensions/pipeline/bootstrap-table-pipeline.js"></script>
Usage
المثال
الخيارات
pipelineSize
-
attribute:
data-pipeline-size -
type:
Number -
Detail:
حجم كل نافذة تخزين مؤقت. يجب أن يكون أكبر من 0.
-
Default:
1000
usePipeline
-
attribute:
data-use-pipeline -
type:
Boolean -
Detail:
قم بتعيين true لتشغيل تقنيةPipeline.
-
Default:
false
الأحداث
onCachedDataHit (cached-data-hit.bs.table)
-
Parameters:
undefined -
Detail:
ينطلق عندما يمكن أن يستخدم الترقيم البيانات المخزنة مؤقتًا محليًا.
onCachedDataReset (cached-data-reset.bs.table)
-
Parameters:
undefined -
Detail:
ينطلق عندما تحتاج البيانات المخزنة مؤقتًا محليًا إلى إعادة تعيين (أي عند الترتيب، البحث، تغيير حجم الصفحة أو الصفحة خارج نافذة التخزين المؤقت الحالية).