Grammalecte  Diff

Differences From Artifact [f06df035f4]:

To Artifact [49ea22ef41]:



1
2
3
4
5
6
7
8
9









10
11





12
13

14
15
16




17
18
19
20
21
22
23






24
25
26
27
28
29
30
31
32
33
34

35
36
37



38
39
40
41
42
43
44
45

46
47

48
49
50
51

52
53
54
55
56
57
58
59
60
61
62
63
64







65

66
67
68
69
70



function showError (e) {
  console.error(e.fileName + "\n" + e.name + "\nline: " + e.lineNumber + "\n" + e.message);
}

function beastNameToURL(beastName) {
  switch (beastName) {
    case "Frog":
      return browser.extension.getURL("beasts/frog.jpg");









    case "Snake":
      return browser.extension.getURL("beasts/snake.jpg");





    case "Turtle":
      return browser.extension.getURL("beasts/turtle.jpg");

  }
}





window.addEventListener(
  "click",
  function (xEvent) {
    let xElem = xEvent.target;
    if (xElem.id) {
      if (xElem.id) {







      }
    } else if (xElem.className === "select") {
      showPage(xElem.dataset.page);
    } else if (xElem.tagName === "A") {
      openURL(xElem.getAttribute("href"));
    }
  },
  false
);

function showPage (sPageName) {

  try {
    // hide them all
    for (let xNodePage of document.getElementsByClassName("page")) {



      xNodePage.style.display = "None";
    }
    // show the one
    document.getElementById(sPageName).style.display = "block";
    sendMessage("Mon message");
    // specific modifications
    if (sPageName === "conj_page") {
      document.body.style.width = "600px";

      document.documentElement.style.width = "600px";
      //document.getElementById("movewindow").style.display = "none";

    } else {
      document.body.style.width = "530px";
      document.documentElement.style.width = "530px";
      //document.getElementById("movewindow").style.display = "block";

    }
  }
  catch (e) {
    showError(e);
  }
}

function handleResponse(message) {
  console.log(`[Panel] received: ${message.response}`);
}

function handleError(error) {
  console.log(`[Panel] Error: ${error}`);







}


function sendMessage (sMessage) {
  let sending = browser.runtime.sendMessage({content: sMessage});
  sending.then(handleResponse, handleError);  
}

>


|


|
|
|
|
>
>
>
>
>
>
>
>
>
|
<
>
>
>
>
>
|
<
>
|


>
>
>
>

|
|
|
|
|
|
>
>
>
>
>
>
|
|
|
|
|
|
|
|


|
>
|
|
<
>
>
>
|
|
|
<
<
|
|
|
>
|
<
>
|
<
<
|
>
|
|
<
<
<
<
|
<
|
<
|
|
|
>
>
>
>
>
>
>
|
>
|
<
<
<
|
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

21
22
23
24
25
26

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

62
63
64
65
66
67


68
69
70
71
72

73
74


75
76
77
78




79

80

81
82
83
84
85
86
87
88
89
90
91
92
93



94
95
// Main panel

function showError (e) {
    console.error(e.fileName + "\n" + e.name + "\nline: " + e.lineNumber + "\n" + e.message);
}

function showPage (sPageName) {
    try {
        // hide them all
        for (let xNodePage of document.getElementsByClassName("page")) {
            xNodePage.style.display = "none";
        }
        // show the selected one
        document.getElementById(sPageName).style.display = "block";
        // specific modifications
        if (sPageName === "conj_page") {
            document.body.style.width = "600px";
            document.documentElement.style.width = "600px";
            //document.getElementById("movewindow").style.display = "none";
        } else {

            document.body.style.width = "530px";
            document.documentElement.style.width = "530px";
            //document.getElementById("movewindow").style.display = "block";
        }
    }
    catch (e) {

        showError(e);
    }
}


/*
    Events
*/
window.addEventListener(
    "click",
    function (xEvent) {
        let xElem = xEvent.target;
        if (xElem.id) {
            switch (xElem.id) {
                case "text_to_test":
                    browser.runtime.sendMessage({sCommand: "text_to_test", sText: document.getElementById("text_to_test").value});
                    break;
                case "fulltests":
                    document.getElementById("tests_result").textContent = "Veuillez patienter…";
                    browser.runtime.sendMessage({sCommand: "fulltests"});
                    break;
            }
        } else if (xElem.className === "select") {
            showPage(xElem.dataset.page);
        } else if (xElem.tagName === "A") {
            openURL(xElem.getAttribute("href"));
        }
    },
    false
);


/* 
    Message sender
    and response handling

*/
function handleResponse (oResponse) {
    console.log(`[Panel] received:`);
    console.log(oResponse);
}



function handleError (error) {
    console.log(`[Panel] Error:`);
    console.log(error);
}


function sendMessageAndWaitResponse (oData) {
    let xPromise = browser.runtime.sendMessage(oData);


    xPromise.then(handleResponse, handleError);  
}






/*

    Messages received

*/
function handleMessage (oMessage, xSender, sendResponse) {
    //console.log(xSender);
    switch(oMessage.sCommand) {
        case "text_to_test_result":
            document.getElementById("tests_result").textContent = oMessage.sResult;
            break;
        case "fulltests_result":
            document.getElementById("tests_result").textContent = oMessage.sResult;
            break;
    }
    sendResponse({sCommand: "none", sResult: "done"});
}




browser.runtime.onMessage.addListener(handleMessage);