google apps script - Google Apps स्क्रिप्ट में जावास्क्रिप्ट के साथ साइडबार टेम्पलेट में मॉडेल संवाद टेम्पलेट से html कैसे अपडेट करें?



google-apps-script modal-dialog (1)

मेरे पास एक मॉडल संवाद में एक रूप है एक फ़ॉर्म सबमिट करने के बाद कि संवाद बंद हो जाता है और पृष्ठभूमि में कुछ कार्य करता है मोडल डायलॉग बंद करने के बाद मैं साइडबार में एचटीएमएल अपडेट करना चाहता हूं (साइडबार को ताज़ा करने के बिना ) मेरे पास साइडबार में कक्षा छुपा हुआ है (जो उसे दिखाई देने से बचाता है) में "लोडर" आईडी के साथ एक डिवि है मोडल संवाद बंद होने पर मैं "लोडर" div से छिपा हुआ वर्ग निकालना चाहता हूं मैं उस "लोडर" div को मॉडेल संवाद टेम्पलेट से कैसे प्राप्त करूं?


आप ब्राउज़र सत्रस्ट्रॉज का उपयोग कर सकते हैं, एक टाइमर सेट कर सकते हैं, और उपलब्ध जानकारी के लिए लगातार "मतदान" कर सकते हैं।

एक टिप्पणी के लिए धन्यवाद, एक भिन्नता का सुझाव दिया गया था जो मतदान की आवश्यकता को समाप्त करता है:

jQuery

$(window).bind('storage',
  function(e){if(e.key === "newValuesWereEntered"){doSomething()}});

स्क्रिप्ट टैग:

<script>
  //Use a timer to keep checking for a completed action from another dialog
  var theTimer;

  window.setTheTimer = function() {
    //To Do - Hide the Spinner
    if (typeof(Storage) === "undefined") {
      alert('HTML5 Storage is not supported.  This App will not work in this browser.  Please update your browser.');
      return;
    }

    try {
    window.sessionStorage.setItem("newValuesWereEntered","n"); //Make sure check value is reset
    } catch(e) {
      alert(e.error + ' You may have this apps cookies blocked in this browser, and/or this browser tab.  Check cookie blocking.');
      return;
    };
    theTimer = window.setInterval(monitorForTheResponse, 500); //Every 1/2 second, check for response value
  };

  window.monitorForTheResponse = function() {
    var was_a_newValueEntered,dlgInfo;
    was_a_newValueEntered = window.sessionStorage.getItem("newValuesWereEntered");
    if (was_a_newValueEntered === 'y') {//Dialog just wrote value to window.sessionStorage
      window.sessionStorage.setItem("newValuesWereEntered","n");//Reset
      clearTimeout(theTimer);//turn off timer
      //Get submitted values
      dlgInfo = window.sessionStorage.getItem("newValuesToTransfer");

      //To Do - Run code to display new value
    };
  };
</script>

साइडबार को पास करने के लिए मान वाला संवाद उस सत्र को सत्र संग्रहण में सहेजना होगा

window.theValueWasSavedOrEntered = function() {
  var arry,objectOfNewValues,strJSON;
  try{
  if (typeof(Storage) !== "undefined") {//Browser has local storage      
    window.sessionStorage.setItem("newValuesWereEntered","y"); //Set to yes      
    objectOfNewValues = {};

    objectOfNewValues.valueOne = arry[0];
    objectOfNewValues.valueTwo = arry[1];

    strJSON = JSON.stringify(objectOfNewValues);
    window.sessionStorage.setItem("newValuesWereEntered","y"); //Set to yes
    window.sessionStorage.setItem("newValuesToTransfer", strJSON);
  };

  google.script.host.close();
  } catch(e) {
    SendErr({'message':'ERROR: ' + e.stack + ' message: ' + e.message});
  };
};




sidebar