Angular مقارنة بين مكتبات التعامل مع الجداول مع اطار
Angular مقارنة بين مكتبات التعامل مع الجداول مع اطار
المقدمة
تُعدّ الجداول جزءًا أساسيًا من أي تطبيق ناجح. فمعظم تطبيقات الويب تستخدم الجداول لعرض السجلات على صفحات الويب.
وعلى الرغم من أن HTML توفّر بنية أساسية للجداول عبر عناصر <table>، إلا أنها تفتقر إلى ميزات واجهة مستخدم متقدمة مثل: التخطيط المتجاوب، وترقيم الصفحات، وتصفية النتائج، والفرز الديناميكي، وغيرها. لذلك نحتاج إلى كتابة شيفرات منفصلة لتنفيذ هذه الميزات.
في Angular، يمكننا تنفيذ ميزات الجداول المتقدمة المذكورة أعلاه. ولكن بدلًا من كتابة شيفرة مخصّصة لكل ميزة، يمكننا استخدام مكوّنات Angular DataTable الجاهزة، والتي توفّر جميع هذه الميزات بالإضافة إلى ميزات متقدمة أخرى.
فيما يلي مقارنة بين أشهر المكتبات المستخدمة مع إطار عمل Angular:
1- Angular DataTables (حزمة angular-datatables)
ميزات Angular DataTable هي:
التصفية المخصّصة (Custom filtering) مثل البحث بنطاق القيم
ترقيم الصفحات (Pagination)
جلب نسخ (Instances) من جدول البيانات
التصفية والفرز لكل عمود بشكل فردي
تحميل خيارات DataTable باستخدام Promise
إعادة الرسم (Rerender)
حدث النقر على الصف (Row click event)
دعم جداول متعددة في الصفحة نفسها
دعم Router Link
تصدير الجدول باستخدام إضافة الأزرار (Button DT extension)
2- PrimeNG (عرض)
ميزات PrimeNG هي:
تجميع الأعمدة (Column Grouping)
ترقيم الصفحات
التصفية والفرز لكل عمود بشكل فردي
تحديد الصفوف بعدة طرق (Row Selection)
نمط التحميل الكسول (Lazy Mode)
طرق تمرير متعددة (Multiple Scroll Way)
توسيع الصفوف (Expanding Row)
تعديل البيانات داخل الجدول
إظهار/إخفاء الأعمدة (Column Toggling)
إمكانية تغيير حجم الأعمدة (Resizable)
ترتيب ديناميكي للصفوف
عرض الصفوف كمجموعات
تصدير الجدول إلى ملف
تثبيت رأس الجدول (Sticky Header)
دعم عمليات CRUD (إضافة، تعديل، حذف) بشكل مدمج
3- Angular Material (عرض)
ميزات Angular Material هي:
التصفية والفرز لكل عمود بشكل فردي
ترقيم الصفحات
تحديد الصفوف (Selection)
تثبيت الصفوف والأعمدة (Sticky Rows and Columns)
4- Ng2-Smart-Table (عرض)
ميزات Ng2-Smart-Table هي:
تصفية مصدر البيانات
ترقيم الصفحات
الفرز
الإضافة والتعديل والحذف داخل الصف (Inline Add/Edit/Delete)
المراجع والمصادر الرسمية
Angular DataTables: https://l-lin.github.io/angular-datatables/
PrimeNG: https://primeng.org/table
Angular Material Table: https://material.angular.io/components/table/overview
Ng2-Smart-Table: https://akveo.github.io/ng2-smart-table/
ليست هناك تعليقات: