⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 upsale.js

📁 能够实现宾馆管理的基本功能。 例如删除
💻 JS
📖 第 1 页 / 共 2 页
字号:
/**  * Objet javascript permettant de gérer les données d'affichage * du de la page des Upsales. */var class_technique = "techPrice" ; var UpsaleBloc = {  bookingEngineViewBean: null,  upsaleViewBean: null,    /**   * Liste des noms d'objets à utiliser.   */  getBeans: function()  {      return "BookingEngineViewBean;UpsaleViewBean";  },    /**   * Initialisation de la variable JSON   */  initJSON: function()  {    var num;    try {        for( num in beans)        {            if("BookingEngineViewBean" == beans[num].nom)            {                bookingEngineViewBean = beans[num].bean;            }            if("UpsaleViewBean" == beans[num].nom)             {              upsaleViewBean =  beans[num].bean;             }        }    }    catch(e)    {        alert(e);    }  },    /**   * Retourne la variable de classe instanciée.   */  getBookingEngineViewBean: function()  {    return bookingEngineViewBean;  },     getUpsaleViewBean: function()  {    return upsaleViewBean;  },  getUpsaleCurrency: function()  {  	var bean = this.getUpsaleViewBean();  	if (bean.roomUpsale) {  		return bean.roomUpsale[bean.currentRoom].currencyCode;  	}  	return "EUR";	},   /**   * Ecrivez votre code sur l'initialisation des affichage de la page   * ici.   * Cette méthode est appelée sur le onload de la page.   */  rewrite: function()  {      	this.setInfoRatesLinks();   	   	this.upsaleIframe = frames['iframe-upsale'];   	var c = this.getUpsaleCurrency();     Currencies.setOriginalCurrency(c);    Currencies.setCrtCurrency(c);   	Currencies.doSelectCurrency("s_devise", Currencies.CrtCurrency);    this.setRatesDetailsLinks();    this.adapUpsaleIframeForContentHeight();        Event.observe(      $("iframe-upsale"),      "load",      function()      {        UpsaleBloc.adapUpsaleIframeForContentHeight();		    UpsaleBloc.clickCheckBoxControl();		    UpsaleBloc.clickSelectControl();				UpsaleBloc.setRatesDetailsLinks();				Currencies.doSelectCurrency("s_devise", Currencies.CrtCurrency);				Event.observe(		      $("iframe-upsale").contentWindow.document.getElementById("delete-upsales"),		      "click",      function(e)      { 		        UpsaleBloc.deleteUpsales(e);		        Event.stop(e);      }    );    				UpsaleBloc.refreshTotal();	      }    );            if ($('s_devise')) {	    Currencies.observeSelect( $('s_devise'), "UpsaleBloc.refreshSums();if(Currencies.CrtCurrency == Currencies.OriginalCurrency) { try { ReservationSummary.writeRoomPrice();} catch(e) { alert(e); } }");		}	Event.observe(		      $("iframe-upsale").contentWindow.document.getElementById("delete-upsales"),		      "click",      function(e)      { 		        UpsaleBloc.deleteUpsales(e);		        Event.stop(e);      }    );    						      	this.clickCheckBoxControl(); this.clickSelectControl();	    Event.observe(  $("validate-link"),   "click",      function(e)      {        if(!e.target && e.srcElement)/* Débuggage IE */        {          e.target = e.srcElement;        }        var hrefPortions = e.target.href.split("?");        var hrefParmasSplit = hrefPortions[1].split("&");        var hrefParmas = {};        for (var i = hrefParmasSplit.length - 1; i >= 0; i--)        {          var duo = hrefParmasSplit[i].split("=");          hrefParmas[duo[0]] = duo[1];        };        /*        if(hrefParmas.packCodes.length == 0 || hrefParmas.tariffCodes.length == 0)        {        	          //$("must-choose-upsale").style.display = "block";          //Event.stop(e);          //return;                  $("validate-link").href = $("no-option-link").href;         }  */      $("must-choose-upsale").style.display = "none";      }    );   	UpsaleBloc.refreshTotal();  },   /**   * Indique si l'iframe a déjà été chargée (ce n'est pas le cas lors du chargement initial de la page)   *    * @return boolean    */  isTarifsIframeLoaded: function()  {    if($("iframe-upsale")) {        if($("iframe-upsale").contentWindow.location.href == "about:blank")        {          return false;        }        return true;    }  },  setRatesDetailsLinks : function(){  	if(this.isTarifsIframeLoaded() === false || !$("iframe-upsale"))    {      return;    }    		var iframe_document = $("iframe-upsale").contentWindow.document;    // repas    var iframe_rates_sales_links_main_parent = $(iframe_document.getElementById('mealUpsale'));       if(iframe_rates_sales_links_main_parent) {	    var iframe_rates_sales_links_containers = iframe_rates_sales_links_main_parent.select("p.detail");	 		iframe_rates_sales_links_containers.each(	      function(element)	      {	        var link0 = element.getElementsByTagName('a')[0];	        if (link0!=null)	            Event.observe(	              link0,	              'click',	              function(e) {Event.stop(e); DivPopup.openPopup('rates_sales_policies', 500, 400, null, link0+"&currencyCode="+Currencies.CrtCurrency); }	            );	       }.bind(this)	    );	    	  }    // chambres     iframe_rates_sales_links_main_parent = $(iframe_document.getElementById('roomsUpsale'));       if(iframe_rates_sales_links_main_parent) {	     iframe_rates_sales_links_containers = iframe_rates_sales_links_main_parent.select("div.detail");		 	 iframe_rates_sales_links_containers.each(		      function(element)		      {		        var link0 = element.getElementsByTagName('a')[0];		        if (link0!=null)		            Event.observe(		              link0,		              'click',		              function(e) {Event.stop(e); DivPopup.openPopup('rates_sales_policies', 500, 400, null, link0+"&currencyCode="+Currencies.CrtCurrency); }		            );		       }.bind(this)		    );	    	  }      },  /**  * Controle le click sur l'ensemble du texte et non pas seulement sur la checkbox  */  clickCheckBoxControl:function()  {		if($("iframe-upsale").contentWindow.document.getElementById("roomUpsale")) {			var room = $("iframe-upsale").contentWindow.document.getElementById("roomUpsale") ;			var uls = $A(room.getElementsByTagName( "ul" )).map(Element.extend); // pour IE							Event.observe(			      uls[0],      "click",			      function(e)			      {			        if(!e.target && e.srcElement)        {          e.target = e.srcElement;        }			        if(e.target.nodeName == "UL")        {            return;        }			        if(e.target.nodeName != "INPUT")			        {			            var li = e.target;			            if(li.nodeName != "LI")			            {			                while(typeof(li.nodeName) != "undefined" && li.nodeName != "LI")			                { li = li.parentNode; }			            }			            var inputs = $A(li.getElementsByTagName( "INPUT" )).map(Element.extend); // pour IE			            var input = inputs[0];			            if(input.checked == true) { input.checked = false; }			            else					            { input.checked = true; }			        }			        else  {  var input = e.target;   }			        			        UpsaleBloc.checkboxAsRadio(input);			       			        UpsaleBloc.refreshTotal();			       			      }			    )		}  },    clickSelectControl:function()  {  	if($("iframe-upsale").contentWindow.document.getElementById("mealUpsale")) {			var meal = $("iframe-upsale").contentWindow.document.getElementById("mealUpsale");      var selects = $A(meal.getElementsByTagName( "select" )).map(Element.extend); // pour IE		  for (i= 0 ; i < selects.length ; i++) {		   	Event.observe( selects[i], "change", function(e)  {    UpsaleBloc.refreshTotal();    }    )		  }  	}  },    /**   * Redimensionnement de l'iframe en fonction du contenu pour éviter les assenceurs   */  adapUpsaleIframeForContentHeight: function()  {    if(document.getElementById("iframe-upsale").contentWindow.document.getElementsByTagName("body"))    {      var height = $("iframe-upsale").contentWindow.document.getElementsByTagName("body")[0].clientHeight;      $("iframe-upsale").style.height = (height + 35)+"px";    //  UpsaleBloc.checkSelectedPrice();    }  },    /**   * Au chargement de l'iframe, attache des listener sur les options de tri et de sélection de chambre   *   * Lance également refreshTotal()   */  checkSelectedPrice: function()  // cette fonction ne sert à rien  {    for (var i = $("iframe-upsale").contentWindow.document.getElementsByTagName("input").length - 1; i >= 0; i--)    {      if(document.getElementById("iframe-upsale").contentWindow.document.getElementsByTagName("input")[i].type == "radio")      {        Event.observe(          $("iframe-upsale").contentWindow.document.getElementsByTagName("input")[i],          "click",          function(e)          { 			      this.dealSorter(Event.element(e));          }        );      }      else if(document.getElementById("iframe-upsale").contentWindow.document.getElementsByTagName("input")[i].type == "checkbox")      {        /*        Event.observe(          $("iframe-upsale").contentWindow.document.getElementsByTagName("input")[i],          "click",          function(e)          {            if(!e.target && e.srcElement)            {              e.target = e.srcElement;            }            this.checkboxAsRadio(e.target);            UpsaleBloc.refreshTotal();          }        );        */      }    }    Event.observe(      $("iframe-upsale").contentWindow.document.getElementById("delete-upsales"),      "click",      function(e)      {         UpsaleBloc.deleteUpsales(e);        Event.stop(e);      }    );    UpsaleBloc.refreshTotal();  },  /**   * Exécuté lors d'un clic sur un bouton checkboxs de sélection de chambre   * Règle le comportement des checkboxs de sélection de chambre comme s'il sagissait de boutons radio   *    * @param  input  Element input qui vient d'être cliqué    */  checkboxAsRadio: function(input)  {    if(input.checked === true && input.getAttribute("name") == "room")    {      for (var i = $("iframe-upsale").contentWindow.document.getElementsByTagName("input").length - 1; i >= 0; i--)      {        if(          $("iframe-upsale").contentWindow.document.getElementsByTagName("input")[i].type == "checkbox"          && $("iframe-upsale").contentWindow.document.getElementsByTagName("input")[i].name == "room"          && $("iframe-upsale").contentWindow.document.getElementsByTagName("input")[i].value != input.value        )        {          $("iframe-upsale").contentWindow.document.getElementsByTagName("input")[i].checked = false;        }      }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -