
שפה 🇮🇱 עברית
רקע
ממשק
פיתוח הרחבות
הקשר
FastComments מספקת את היכולת להרחיב את הפונקציונליות הליבה שלנו באמצעות סקריפטים שאנו קוראים להם הרחבות.
ה-Extension יכול להוסיף סימון נוסף לווידג'ט התגובות, להוסיף מאזיני אירועים, ולהריץ קוד כלשהו.
כאן תמצאו דוגמאות להרחבות שלנו בסביבת הייצור, וכן תיעוד כיצד לכתוב הרחבות.
מחזור חיי ההרחבה 
הסקריפט של כל תוסף נטען ומופעל לפני שהווידג'ט של התגובות מתחיל להביא את קבוצת התגובות הראשונה ולהציג את ממשק המשתמש.
בעת טעינה ראשונית, הנתונים הבאים יתווספו לאובייקט התוסף:
config- הפניה לאובייקטconfig.translations- הפניה לאובייקטtranslations.commentsById- הפניה לכל התגובות לפי id.root- הפניה לצומת ה-DOM השורשית.
תוספים צריכים לדרוס את הפונקציות הרצויות, שהווידג'ט של התגובות יפעיל בזמנים המתאימים.
הגדרת הרחבה 
ההרחבה הקטנה ביותר האפשרית תהיה:
Run 
לצורך הדוגמה, שמור קובץ זה כ-my-extension.js, והפוך אותו לזמין ב-https://example.com/my-extension.min.js.
תוסף זה אינו עושה דבר; בעת טעינה בלבד הוא מאחזר את אובייקט ה-Extension שנוצר על ידי ספריית ההערות המרכזית.
אובייקט ה-Extension הוא סינגלטון ואינו משותף עם תוספים אחרים.
בהמשך, כדי לטעון את התוסף שלנו, עלינו להודיע על כך לווידג'ט ההערות. לדוגמה:
Run 
לדוגמות פונקציונליות, ראה את הסעיף הבא.
דוגמאות להרחבות 
ב-FastComments, אנחנו כותבים את התוספים שלנו בעצמנו, תוך שימוש באותו ה-API. אתה יכול לצפות בקוד הלא-ממוזער של התוספים האלה בנקודות הקצה הבאות:
מצב כהה
תוסף מצב כהה נטען באופן מותנה כאשר מזוהה דף ב-"dark". תוסף זה פשוט מוסיף קצת CSS לווידג'ט התגובות. כך אין לנו צורך לטעון את ה-CSS של מצב כהה כאשר הוא לא נדרש.
https://fastcomments.com/js/comment-ui/extensions/comment-ui.dark.extension.js
מודרציה
כאשר המשתמש הנוכחי הוא מודרטור, אנו משתמשים בתוסף המודרציה.
זהו דוגמה טובה להוספת מאזיני אירועים מבוססי לחיצה, ביצוע בקשות API, הוספה לתפריט התגובות ואזורים בתגובות.
https://fastcomments.com/js/comment-ui/extensions/comment-ui.moderation.extension.js
צ'אט חי
תוסף הצ'אט החי (בשילוב עם תצורה ועיצוב אחרים) הופך את ווידג'ט התגובות לרכיב צ'אט חי.
https://fastcomments.com/js/comment-ui/extensions/live-chat.extension.js
אובייקט ההרחבה 
אובייקט התוסף מורכב מההגדרה הבאה:
Run 
ממשק API של ההרחבה 
האינטראקציה עם ה-Extension פשוטה, מאחר שאנו מגדירים הפניות לפונקציות שאנחנו רוצים שיופעלו.
כדי להמשיך מהדוגמה הקודמת, נניח שאנו רוצים להוסיף HTML לראש כל תגובה:
Run 
כאשר תחזיר HTML כזה, הוא יתמזג בממשק המשתמש באמצעות אלגוריתם dom-diffing.
הפעלת הצגה מחדש של תגובה באופן ידני
אפשר להמתין לטעינת הדף ההתחלתית ולהציג תגובה מחדש באופן ידני על-ידי קריאה ל-reRenderComment:
Run 