תפריטים
התפריט הוא הדבר האחרון שבונים ומה שהמשתמש רואה ראשון. שלושה כלים מנהלים אותו — אחד מוצא את התפריט, אחד קורא את הפריטים, ואחד כותב.
Get-Menus
Section titled “Get-Menus”| הפרמטר | טיפוס | חובה | המשמעות |
|---|---|---|---|
siteId |
String | האתר. בהשמטה — האתר של החיבור |
מחזיר לכל תפריט: _id, name, originId, marketApp.
התפריטים המוכרים במערכת סטנדרטית: CRM-Menu (התפריט הצדדי הראשי), Settings (תפריט ההגדרות), Dashboard Menu (רשימת הדשבורדים).
Get-Menu-Items
Section titled “Get-Menu-Items”| הפרמטר | טיפוס | חובה | המשמעות |
|---|---|---|---|
menuId |
String | * | מזהה התפריט |
originMenuId |
String | * | מזהה תפריט המקור |
siteId |
String | האתר |
* אחד מהשניים.
לכל פריט חוזרים: _id, title, type, page או path, icon, order, newWin, parent, visibility.
זו קריאת החובה שלפני כל כתיבה — ראו למה בסעיף הבא.
Set-Menu-Items
Section titled “Set-Menu-Items”| הפרמטר | טיפוס | חובה | המשמעות |
|---|---|---|---|
items |
Array<Object> | ✔ | הפריטים לכתיבה |
menuId |
String | * | התפריט |
originMenuId |
String | * | חלופה ל‑menuId — כתיבה לפי מזהה המקור עובדת |
siteId |
String | האתר |
* אחד מהשניים. בלי שניהם: Error: menuId or originMenuId is required — הכלי אינו יוצר תפריט חדש.
אובייקט הפריט:
| המפתח | טיפוס | המשמעות |
|---|---|---|
_id |
String | מזהה פריט קיים. בהשמטה — נוצר פריט חדש |
type |
Enum | page או link. ברירת מחדל link |
page |
String | ה‑_id של הדף — לפריט מסוג page |
path |
String | כתובת — לפריט מסוג link |
title |
String | הכותרת. בהשמטה הפריט מקבל את ה‑_id של הדף ככותרת (לא את שמו) — תמיד שלחו title |
icon |
String | אייקון FontAwesome — ראו האזהרה |
order |
Number | מיקום בתפריט |
parent |
String | ה‑_id של פריט האב — יוצר היררכיה |
newWin |
Boolean | פתיחה בחלון חדש |
visibility |
Array<String> | תפקידים שרשאים לראות, או loggedIn |
removeThisItem |
Boolean | מוחק את הפריט |
// הוספת פריט חדש{ "menuId": "<menuId>", "items": [ { "type": "page", "page": "<pageId>", "title": "ספקים", "icon": "fa fa-truck", "order": 7, "visibility": [] }] }
// עדכון כותרת של פריט קיים — שימו לב שכל השדות חוזרים{ "menuId": "<menuId>", "items": [ { "_id": "<itemId>", "type": "page", "page": "<pageId>", "title": "ספקים וקבלנים", "icon": "fa fa-truck", "order": 7, "visibility": [] }] }
// מחיקה{ "menuId": "<menuId>", "items": [ { "_id": "<itemId>", "removeThisItem": true } ] }אין כלי מחיקה נפרד. מוחקים בדגל removeThisItem: true על הפריט, בתוך אותה קריאת Set-Menu-Items — וזו הפעולה היחידה בכל חבילת הבנייה שבאמת מוחקת משהו. אין Delete-Page, אין מחיקת אלמנט, אין מחיקת שדה — אבל פריט תפריט כן נמחק.
היררכיה
Section titled “היררכיה”תת‑תפריט נבנה בשדה parent, שמקבל את ה‑_id של פריט האב:
{ "menuId": "<menuId>", "items": [ { "_id": "<childId>", "type": "page", "page": "<pageId>", "title": "ספקים", "parent": "<parentItemId>", "order": 2, "icon": "fa fa-truck" }] }visibility — נראוּת לפי תפקיד
Section titled “visibility — נראוּת לפי תפקיד”מערך של שמות תפקידים, או המילה loggedIn:
| הערך | מי רואה |
|---|---|
[] |
כמו רוב הפריטים הקיימים — ללא סינון מפורש |
["loggedIn"] |
כל משתמש מחובר |
["Admin", "Report Admin"] |
חברי התפקידים האלה בלבד |
שמות התפקידים הם בדיוק כפי שהם ב‑Get-Roles, כולל רישיות ורווחים.
אייקונים
Section titled “אייקונים”המסלול המהיר — menuName
Section titled “המסלול המהיר — menuName”לרוב אין צורך לגעת בכלים האלה בכלל: ל‑Create-Table-View-Page יש פרמטר menuName, והוא מוסיף את פריט התפריט אוטומטית בעת יצירת דף הרשימה.
הכלים בעמוד הזה נחוצים כשצריך: לסדר מחדש, לבנות היררכיה, לשנות אייקון או כותרת, למחוק פריט, להוסיף דשבורד לתפריט הדשבורדים, או לשנות מינוח בכל התפריטים.
הוספת דשבורד לתפריט הדשבורדים
Section titled “הוספת דשבורד לתפריט הדשבורדים”1. Get-Menus → מאתרים את "Dashboard Menu", לוקחים את ה-_id2. Get-Menu-Items(menuId) → רואים את ה-order ואת צורת ה-visibility הקיימת3. Set-Menu-Items → מוסיפים פריט type:"page" עם ה-pageId של הדשבורד{ "menuId": "<dashMenuId>", "items": [ { "type": "page", "page": "<newDashboardPageId>", "title": "דשבורד שותפים", "icon": "fa fa-handshake-o", "order": 7, "visibility": [] }] }שינוי מינוח בתפריטים
Section titled “שינוי מינוח בתפריטים”כשמשנים שפה במערכת — “מכירה” ל“פרויקט” — התפריטים הם אחת מארבע השכבות שצריך לעבור. כאן זה נעשה כך:
Get-Menus → לכל תפריט: Get-Menu-Items → Set-Menu-Items עם אובייקטי הפריט המלאים, כשרק ה-title שונהושוב: אובייקט מלא, כולל _id, type, page/path, order ו‑icon. משלוח חלקי מאבד נתונים. התמונה המלאה: מינוח והתאמת שפה.
Get-Menu-Items(menuId) אחרי כל כתיבה — ובודקים שלושה דברים: הפריט קיים עם הכותרת הנכונה, מספר הפריטים הוא כמצופה (לא נמחק משהו בשוגג), ו‑type / page נשמרו.
ואז — רענון בדפדפן. התפריט נטען עם המסגרת, ולא יתעדכן במסך פתוח.
- אתרים ודפים — קריאה — מאיפה מגיע ה‑
pageשהפריט מצביע אליו - טבלאות תצוגה ודפי רשימה —
menuNameשעושה את זה לבד - הגדרות דף, קוד וגרסאות — שער הדף שמתחת לתפריט
- תפקידים, הרשאות טבלה וחבילות — שמות התפקידים ל‑
visibility - מינוח והתאמת שפה · אינדקס הכלים המלא