• דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    • הרשמה
    • התחברות

    סקריפט ל-Tampermonkey להוספת כפתור של מעבר מהיר לעריכת רשימת התפוצה

    מתוזמן נעוץ נעול הועבר טיפים עצות והדגמות מהמשתמשים
    5 פוסטים 2 כותבים 306 צפיות 3 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • C מנותק
      CUBASE
      נערך לאחרונה על ידי CUBASE

      לבקשת @פישל כתבתי סקריפט ל-Tampermonkey בעזרת ChatGPT, הסקריפט מוסיף כפתור בדף שיגור הודעות לעריכת רשימת התפוצה במקום ללחוץ עריכה ואז רשימת התפוצה

      תוכלו לראות כאן איך מתקינים את זה

      // ==UserScript==
      // @name         Add button of campaing list
      // @namespace    http://tampermonkey.net/
      // @version      1.9
      // @description  Adds a button to automate clicks on Call2All campaign pages
      // @author       Jonny
      // @match        https://www.call2all.co.il/ym/index.php?view=customer_select_campaign
      // @match        https://private.call2all.co.il/ym/index.php?view=customer_select_campaign
      // @grant        none
      // ==/UserScript==
      
      (function() {
          'use strict';
      
          // ממתינים שהדף יטען חלקית או באופן מלא
          const waitForElements = () => {
              const rows = document.querySelectorAll('table.admin-table.customer-templates tbody tr');
              if (rows.length > 0) {
                  addCustomButtons(rows); // אם יש שורות בטבלה, נוסיף כפתור
              } else {
                  setTimeout(waitForElements, 500); // אם לא מצאנו שורות, ננסה שוב בעוד חצי שניה
              }
          };
      
          function addCustomButtons(rows) {
              rows.forEach(row => {
                  let editButton = row.querySelector('a.edit-button');
                  if (!editButton) return;
      
                  let actionsCell = row.querySelector('td:last-child');
                  let newButton = document.createElement('a');  // שינינו ל-a כדי להתאים לסגנון הקיים
                  newButton.classList.add('ui-button', 'ui-widget', 'ui-state-default', 'ui-corner-all', 'ui-button-text-icon-secondary');
                  newButton.style.margin = '5px';
                  newButton.style.padding = '2px 10px';  // הקטנה של ה-padding כדי להקטין את הכפתור
                  newButton.style.fontSize = '18px';  // נשאיר את ה-font-size בגודל המקורי
                  newButton.style.minWidth = '160px'; // שמירה על רוחב מינימלי בכפתור
      
                  // יצירת אלמנט של אייקון עיפרון
                  let pencilIcon = document.createElement('span');
                  pencilIcon.classList.add('ui-button-icon-secondary', 'ui-icon', 'ui-icon-pencil');
      
                  // יצירת הטקסט של הכפתור
                  let buttonText = document.createElement('span');
                  buttonText.classList.add('ui-button-text');
                  buttonText.innerText = 'רשימת התפוצה';
      
                  // הוספת האייקון והטקסט לכפתור
                  newButton.appendChild(buttonText);
                  newButton.appendChild(pencilIcon);
      
                  // הוספת עיצוב על hover כמו כל כפתור אחר
                  newButton.style.transition = 'background-color 0.3s, border-color 0.3s';  // אפקט החלקה
                  newButton.onmouseover = function() {
                      newButton.style.backgroundColor = '#16638f'; // צבע כהה כשעומדים על הכפתור
                      newButton.style.borderColor = '#16638f'; // גבול כהה
                  };
                  newButton.onmouseout = function() {
                      newButton.style.backgroundColor = ''; // ברירת מחדל
                      newButton.style.borderColor = ''; // גבול ברירת מחדל
                  };
      
                  newButton.onclick = function(event) {
                      event.preventDefault();
                      fetch(editButton.href) // מבצע את הלחיצה מאחורי הקלעים
                          .then(() => {
                              setTimeout(() => {
                                  let listButton = document.querySelector('a[href="index.php?view=campaign_phone_list"]');
                                  if (listButton) listButton.click();
                              }, 500); // מחכה קצת כדי לוודא שהדף נטען
                          }).catch(() => {
                              console.log("לא ניתן לגשת לכתובת");
                          });
                  };
      
                  // למצוא את ה-div הקיים של הכפתורים
                  let buttonContainer = document.querySelector('#buttonContainer');
                  if (buttonContainer) {
                      buttonContainer.appendChild(newButton); // מוסיף את הכפתור החדש מימין לכפתור קיים
                  } else {
                      // אם לא נמצא אז פשוט מוסיף אותו בתא הפעולות
                      actionsCell.appendChild(newButton);
                  }
              });
          }
      
          // מתחילים לחפש את האלמנטים ברגע שהדף מתחיל לטעון
          waitForElements();
      })();
      
      
      פ תגובה 1 תגובה אחרונה תגובה ציטוט 2
      • C CUBASE התייחס לנושא זה ב
      • פ מנותק
        פישל @CUBASE
        נערך לאחרונה על ידי

        @CUBASE אהבתי שבסקריפט שבנית בלחיצה על רשימת התפוצה הוא נותן ישר את כל הרשימה ולא רק 20

        C 2 תגובות תגובה אחרונה תגובה ציטוט 0
        • C מנותק
          CUBASE @פישל
          נערך לאחרונה על ידי

          @פישל אין לי מושג, לא ביקשתי ממנו דבר כזה אבל אדרבה - אם יש את זה אז מצויין!

          פ תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • פ מנותק
            פישל @CUBASE
            נערך לאחרונה על ידי

            @CUBASE אם יש מישהו שמקשיב לבקשות שלי, יש לי עוד אתגר בשבילך.
            לבנות סקריפט שמסדר את הבאג של רצף השלוחות מעל שלוחה 9 דהיינו ששלוחה 10 לא תהיה אחרי שלוחה 1 אלא אחרי שלוחה 9 גם בראשי וגם בתתי שלוחות.
            אתגר לא פשוט...😉

            תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • C מנותק
              CUBASE @פישל
              נערך לאחרונה על ידי CUBASE

              @פישל עדכנתי את הסקריפט כך שיעבוד גם במצב אנונימי (סתם שיגעון של פרפקציוניסטים😊)

              תגובה 1 תגובה אחרונה תגובה ציטוט 0

              שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

              נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

              בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

              הרשמה התחברות
              • פוסט ראשון
                פוסט אחרון