דוגמאות חיבור מלאות
כך נראים בפועל כמה חיבורים אמיתיים, ריבוע-אחרי-ריבוע - בדיוק כמו שהם מחוברים בעורך האוטומציות. דוגמת שמירת סיסמאות עם hash נמצאת בפרק "פונקציות וביטויים".
1. טופס יצירת קשר → שמירה בטבלה → הודעה → חזרה הביתה
שני שמות שדה, name/email/message, נגישים ישר כמשתנים אחרי הלחיצה על כפתור
השליחה של אותו טופס.
אירוע
אינטראקציה עם אלמנט
elementId: btn_send
mode: click
mode: click
פעולה
הרצת קוד (מתקדם)
{{submissionId = {{genId}}}}
{{sdb.messages[{{submissionId}}].name = {{name}}}}
{{sdb.messages[{{submissionId}}].email = {{email}}}}
{{sdb.messages[{{submissionId}}].message = {{message}}}}
{{sdb.messages[{{submissionId}}].submittedAt = now}}
{{sdb.messages[{{submissionId}}].name = {{name}}}}
{{sdb.messages[{{submissionId}}].email = {{email}}}}
{{sdb.messages[{{submissionId}}].message = {{message}}}}
{{sdb.messages[{{submissionId}}].submittedAt = now}}
פעולה
הצגת הודעה
text: "ההודעה נשלחה, נחזור אליך בקרוב!"
פעולה
מעבר למסך
screen: home
transition: fade
transition: fade
2. כרטיס נאמנות - מזהה קבוע וקוד QR בכניסה הראשונה
מייצר מזהה קבוע פעם אחת לכל מבקר ומצייר ממנו QR אישי, בלי שום פעולת משתמש נדרשת.
אירוע
כניסה לאפליקציה
-
פעולה
יצירת מזהה קבוע
target: db.loyalty.customerId
type: short
type: short
פעולה
יצירת קוד QR
target: image_qr
text: {{db.loyalty.customerId}}
text: {{db.loyalty.customerId}}
3. תנאי גיל - הדגמת ענפים "כן"/"לא"
ריבוע תנאי הוא היחיד עם שתי יציאות - כך בונים "אם / אחרת" אמיתי.
אירוע
אינטראקציה עם אלמנט
elementId: btn_submit
mode: click
mode: click
תנאי
תנאי
left: age
operator: >=
right: 18
operator: >=
right: 18
כן
פעולה
מעבר למסך
screen: welcome
לא
פעולה
הצגת הודעה
text: "צריך להיות מעל גיל 18"
4. התראת Push מתוזמנת עם שני כפתורים
"שליחת התראת Push" מקבלת יציאת חוט נוספת לכל כפתור שמוגדר לה - לחיצה על הכפתור בהתראה
עצמה ממשיכה את הגרף מאותה יציאה בדיוק. כפתור שלא חיווטו לו כלום פשוט סוגר את ההתראה בשקט.
אירוע
התראת Push מתוזמנת
time: 09:00
timezone: Asia/Jerusalem
days: א׳, ב׳, ג׳, ד׳, ה׳
timezone: Asia/Jerusalem
days: א׳, ב׳, ג׳, ד׳, ה׳
פעולה
שליחת התראת Push
title: "מבצע היום בלבד!"
body: "20% הנחה על הכל"
buttons: [פתח מבצע] [לא עכשיו]
body: "20% הנחה על הכל"
buttons: [פתח מבצע] [לא עכשיו]
כפתור: פתח מבצע
פעולה
מעבר למסך
screen: sale
כפתור: לא עכשיו
- לא מחווט -
ההתראה נסגרת
אין המשך, וזה בסדר גמור
5. כפתור "לייק" בתוך שורת לופ דטה
עמודות השורה הופכות למשתנים אוטומטית (כאן postId),
ו"הרצת קוד" מבצעת את החיבור (+1) - כי זו הדרך היחידה בשפה להגדיל ערך קיים.
אירוע (בתוך שורת לופ דטה)
אינטראקציה עם אלמנט
elementId: btn_like (בתוך תבנית השורה)
mode: click
mode: click
פעולה
הרצת קוד (מתקדם)
{{sdb.posts[{{postId}}].likes = {{sdb.posts[{{postId}}].likes}} + 1}}
פעולה
רענון לופ דטה
target: dataLoop_posts
6. הדבקת מספר טלפון וניקוי שלו
קורא את מה שהמבקר העתיק לאחרונה מחוץ לאפליקציה, מסיר ממנו את המקפים, ומציג את התוצאה
הנקייה - שלוש פעולות קטנות עושות מה שאחרת היה דורש "הרצת קוד".
אירוע
אינטראקציה עם אלמנט
elementId: btn_paste
mode: click
mode: click
פעולה
הדבקה מהלוח
שמירה למשתנה: rawPhone
פעולה
חיפוש והחלפת טקסט
טקסט: {{rawPhone}}
חיפוש: -
החלפה ל: (ריק)
שמירה למשתנה: cleanPhone
חיפוש: -
החלפה ל: (ריק)
שמירה למשתנה: cleanPhone
פעולה
הגדרת טקסט באלמנט/קלט
elementId: lbl_phone_preview
value: {{cleanPhone}}
value: {{cleanPhone}}
7. מקש Escape חוזר אחורה ממסך
"לחיצה על מקש" מופעל מכל מקום על המסך (חוץ מתוך הקלדה בשדה קלט), כך שקיצור מקלדת כזה
עובד לא משנה מה המבקר עשה רגע לפני כן.
אירוע
לחיצה על מקש
key: Escape
פעולה
חזרה אחורה
-
8. אירוע "כל מקש" אחד שמפעיל תנועה עם חצים
"כל מקש" יחד עם תנאי על {{lastKey}} מבדיל בין מקשים
בלי צורך בריבוע אירוע נפרד לכל אחד - שימושי לבניית שליטת משחק מלאה בחצים/WASD מתוך ארבעה כאלה בלבד.
אירוע
לחיצה על מקש
key: (כל מקש)
תנאי
תנאי
left: lastKey
operator: ==
right: "ArrowRight"
operator: ==
right: "ArrowRight"
כן
פעולה
הזזת אלמנט
elementId: player
mode: יחסי
x: 10
y: 0
mode: יחסי
x: 10
y: 0
לא
פעולה
(בדקו את המקש הבא עם תנאי נוסף, למשל "ArrowLeft")
-