הכנסת איבר נוסף לאמצע מערך, וניהול ה-DOM
-
הסתבכתי עם הכותרת..
יש לי אתר שמשמש כסוג של עורך טקסט
הקלינט מעתיק את הטקסט לתיבה, הטקסט נשלח לשרת וחוזר מפוענח ומפורק למערכים לקלינט עם כלי עזר לעריכתו.כלומר השרת לא מנהל את הפרויקט.
אני רוצה שכן הכל ישמר על השרת, וגם ינוהל דינמי משם בצורה עצלה, כלומר חלקים קטנים מהטקסט יפוענחו וישלחו לקלינט לפי קצב העבודה ושגם השינוים שמבוצעים בקלינט ישמרו בשרת.
הענין שלפעמים המילה הופכת לכמה מילים
אז איך אומרים למקמפל "הוסף איברים אחרי האיבר הנוכחי"?
ב-DOM זה אפשרי כי האוביקטים מכילים את מספר האינדקס שיודע גם להתעדכן, השאלה איך אני עורך את המערך המקורי שהוא המקור ל-DOM,
לעדכן את כל המערך לא נראה לי מומלץ כיון שזה יכול להיות הרבה דאטה, בפרט שמדובר במערכים בתוך מערכים (הטקסט מפורק למקטעים ובכל קטע מפורק למילים וכדו')
קושי נוסף: אז אני חייב לדעת בוודאות לאיזה איבר במערך השלם (ששמור בשרת) שייך כל קטע וקטע מהבודדים שנמצאים כרגע בקלינט (כיון שהטקסט המתוקן אמור להימחק כל הזמן ומאידך להתווסף קטעים חדשים לסוף)?
חשבתי שכל איבר במערך יהיה איביקט שמכיל אינדקס, הענין שבכל הוספת,מחיקת מילים אצטרך לעדכן את כל האוביקטים.
זה הופך למורכב עוד יותר אם תהיה אפשרות לאחד/לפצל קטעים.האמת שזו השאלה המקורית, בעקבותיה עלו לי שאלות נוספות על התכנון אם הוא נכון
ניהול פרויקטים
תיקיה בשם JOBS שקוללת בתוכה תיקיות בשמות הפרויקטים, ובכל תיקיה הטקסט/קובץ המקורי וקובץ JSON שמועתק אליו הטקסט המפורק מיד אחרי הפירוק, ומתעדכן אחרי קבלת תיקונים מהקלינט.
כשפותחים את דף הניהול בקלינט נשלחת בקשה לשרת שמחזיר מערך עם שמות כל התיקיות בתוך JOBS.
כשפותחים פרויקט, ה-JSON עולה לזיכרון ובכל שינוי נשמר לקובץ.
וכן באמצע העבודה על הפרויקט אם השרת נופל ונשלח בקשה לשרת בנוגע לפרויקט (איך הוא ידע, נוסיף את המידע הזה לכל בקשה?) הוא יבדוק אם האוביקט לא קיים בזכרון ויקרא שוב את הקובץ.ניהול ההתקדמות שכולל שליחת התיקונים ו/או ההתקדמות במיקום העבודה בטקסט.
לסמן כל קטע (דיב ב-DOM) כ"מוגה" ע"י ארוע הגלילה?ניהול ה-DOM.
חשוב מאוד שהשינוים ב-DOM לפני ואחרי הקיים במסך הנוכחי, לא ישנה כלום במסך הנוכחי, אחרת זה יקשה מאוד על העבודה.
אשמח לדעת איך עושים א"ז ללא אנגולר.
והאם זה אפשרי עם אנגולר.מקווה שאני מובן איכשהו
@zvizvi נראה שאתה יכול לתרום לא מעט
ובאנגולר בפרט. -
תשובה בקצרה ומלמעלה
לדעתי אל תשתמש בtextarea כי אז זה לא ניתן לפירוק ולעדכון דינמי.
תשתמש בדיבים לפי הסדר עם id לכל אחד ותעטוף הכל בדיב עם תגית editable.
ככה תוכל לעדכן כל דיב בפני עצמו וכמובן הדיב האחרון יכיל את התוכן החדש, שיוחלף בדיבים דומים לשאר כאשר הוא יעודכן לשרת. -
@zvizvi אמר בהכנסת איבר נוסף לאמצע מערך, וניהול ה-DOM:
לדעתי אל תשתמש בtextarea כי אז זה לא ניתן לפירוק ולעדכון דינמי.
הtextarea משמש רק לקבלת הטקסט בדרך לשרת, המפורק יושב בbuttons נפרדים.
@zvizvi אמר בהכנסת איבר נוסף לאמצע מערך, וניהול ה-DOM:
הדיב האחרון יכיל את התוכן החדש, שיוחלף בדיבים דומים לשאר כאשר הוא יעודכן לשרת.
להיפך, הענין שאני לא רוצה לשמור את השאר על הטקסט אלא בשרת, זה יכול להיות כמויות ענק של דאטא שמאט מאוד את פעולת הדפדפן.