/*! elementor-pro - v3.31.0 - 10-08-2025 */
"use strict";
(self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["woocommerce-cart"],{
/***/ "../modules/woocommerce/assets/js/frontend/handlers/base.js":
/*!******************************************************************!*\
!*** ../modules/woocommerce/assets/js/frontend/handlers/base.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
class Base extends elementorModules.frontend.handlers.Base {
getDefaultSettings() {
return {
selectors: {
stickyRightColumn: '.e-sticky-right-column'
},
classes: {
stickyRightColumnActive: 'e-sticky-right-column--active'
}
};
}
getDefaultElements() {
const selectors = this.getSettings('selectors');
return {
$stickyRightColumn: this.$element.find(selectors.stickyRightColumn)
};
}
bindEvents() {
// Add our wrapper class around the select2 whenever it is opened.
elementorFrontend.elements.$document.on('select2:open', event => {
this.addSelect2Wrapper(event);
});
}
addSelect2Wrapper(event) {
// The select element is recaptured every time because the markup can refresh
const selectElement = jQuery(event.target).data('select2');
if (selectElement.$dropdown) {
selectElement.$dropdown.addClass('e-woo-select2-wrapper');
}
}
isStickyRightColumnActive() {
const classes = this.getSettings('classes');
return this.elements.$stickyRightColumn.hasClass(classes.stickyRightColumnActive);
}
activateStickyRightColumn() {
const elementSettings = this.getElementSettings(),
$wpAdminBar = elementorFrontend.elements.$wpAdminBar,
classes = this.getSettings('classes');
let stickyOptionsOffset = elementSettings.sticky_right_column_offset || 0;
if ($wpAdminBar.length && 'fixed' === $wpAdminBar.css('position')) {
stickyOptionsOffset += $wpAdminBar.height();
}
if ('yes' === this.getElementSettings('sticky_right_column')) {
this.elements.$stickyRightColumn.addClass(classes.stickyRightColumnActive);
this.elements.$stickyRightColumn.css('top', stickyOptionsOffset + 'px');
}
}
deactivateStickyRightColumn() {
if (!this.isStickyRightColumnActive()) {
return;
}
const classes = this.getSettings('classes');
this.elements.$stickyRightColumn.removeClass(classes.stickyRightColumnActive);
}
/**
* Activates the sticky column
*
* @return {void}
*/
toggleStickyRightColumn() {
if (!this.getElementSettings('sticky_right_column')) {
this.deactivateStickyRightColumn();
return;
}
if (!this.isStickyRightColumnActive()) {
this.activateStickyRightColumn();
}
}
equalizeElementHeight($element) {
if ($element.length) {
$element.removeAttr('style'); // First remove the custom height we added so that the new height can be re-calculated according to the content
let maxHeight = 0;
$element.each((index, element) => {
maxHeight = Math.max(maxHeight, element.offsetHeight);
});
if (0 < maxHeight) {
$element.css({
height: maxHeight + 'px'
});
}
}
}
/**
* WooCommerce prints the Purchase Note separated from the product name by a border and padding.
* In Elementor's Order Summary design, the product name and purchase note are displayed un-separated.
* To achieve this design, it is necessary to access the Product Name line before the Purchase Note line to adjust
* its padding. Since this cannot be achieved in CSS, it is done in this method.
*
* @param {Object} $element
*
* @return {void}
*/
removePaddingBetweenPurchaseNote($element) {
if ($element) {
$element.each((index, element) => {
jQuery(element).prev().children('td').addClass('product-purchase-note-is-below');
});
}
}
/**
* `elementorPageId` and `elementorWidgetId` are added to the url in the `_wp_http_referer` input which is then
* received when WooCommerce does its cart and checkout ajax requests e.g `update_order_review` and `update_cart`.
* These query strings are extracted from the url and used in our `load_widget_before_wc_ajax` method.
*/
updateWpReferers() {
const selectors = this.getSettings('selectors'),
wpHttpRefererInputs = this.$element.find(selectors.wpHttpRefererInputs),
url = new URL(document.location);
url.searchParams.set('elementorPageId', elementorFrontend.config.post.id);
url.searchParams.set('elementorWidgetId', this.getID());
wpHttpRefererInputs.attr('value', url);
}
}
exports["default"] = Base;
/***/ }),
/***/ "../modules/woocommerce/assets/js/frontend/handlers/cart.js":
/*!******************************************************************!*\
!*** ../modules/woocommerce/assets/js/frontend/handlers/cart.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _base = _interopRequireDefault(__webpack_require__(/*! ./base */ "../modules/woocommerce/assets/js/frontend/handlers/base.js"));
class Cart extends _base.default {
getDefaultSettings() {
const defaultSettings = super.getDefaultSettings(...arguments);
return {
selectors: {
...defaultSettings.selectors,
shippingForm: '.shipping-calculator-form',
quantityInput: '.qty',
updateCartButton: 'button[name=update_cart]',
wpHttpRefererInputs: '[name=_wp_http_referer]',
hiddenInput: 'input[type=hidden]',
productRemove: '.product-remove a'
},
classes: defaultSettings.classes,
ajaxUrl: elementorProFrontend.config.ajaxurl
};
}
getDefaultElements() {
const selectors = this.getSettings('selectors');
return {
...super.getDefaultElements(...arguments),
$shippingForm: this.$element.find(selectors.shippingForm),
$stickyColumn: this.$element.find(selectors.stickyColumn),
$hiddenInput: this.$element.find(selectors.hiddenInput)
};
}
bindEvents() {
super.bindEvents();
const selectors = this.getSettings('selectors');
elementorFrontend.elements.$body.on('wc_fragments_refreshed', () => this.applyButtonsHoverAnimation());
if ('yes' === this.getElementSettings('update_cart_automatically')) {
this.$element.on('input', selectors.quantityInput, () => this.updateCart());
}
elementorFrontend.elements.$body.on('wc_fragments_loaded wc_fragments_refreshed', () => {
this.updateWpReferers();
if (elementorFrontend.isEditMode() || elementorFrontend.isWPPreviewMode()) {
this.disableActions();
}
});
elementorFrontend.elements.$body.on('added_to_cart', function (e, data) {
// We do not want the page to reload in the Editor after we triggered the 'added_to_cart' event.
if (data.e_manually_triggered) {
return false;
}
});
}
onInit() {
super.onInit(...arguments);
this.toggleStickyRightColumn();
this.hideHiddenInputsParentElements();
if (elementorFrontend.isEditMode()) {
this.elements.$shippingForm.show();
}
this.applyButtonsHoverAnimation();
this.updateWpReferers();
if (elementorFrontend.isEditMode() || elementorFrontend.isWPPreviewMode()) {
this.disableActions();
}
}
/**
* Using the WooCommerce Cart controls (quantity, remove product) in the editor will cause the cart to disappear.
* This is because WooCommerce does an ajax round trip where it modifies the cart, then loads that cart into the
* current page and attempts to grab the elements from that page via ajax. In the Editor, if the page is not
* published yet, it fetches an empty page that does not contain the required elements. As a result, the cart
* is rendered empty.
*
* Due to this issue, the cart controls (quantity, remove product) need to be disabled in the Editor.
*/
disableActions() {
const selectors = this.getSettings('selectors');
this.$element.find(selectors.updateCartButton).attr({
disabled: 'disabled',
'aria-disabled': 'true'
});
if (elementorFrontend.isEditMode()) {
this.$element.find(selectors.quantityInput).attr('disabled', 'disabled');
this.$element.find(selectors.productRemove).css('pointer-events', 'none');
}
}
onElementChange(propertyName) {
if ('sticky_right_column' === propertyName) {
this.toggleStickyRightColumn();
}
if ('additional_template_select' === propertyName) {
elementorPro.modules.woocommerce.onTemplateIdChange('additional_template_select');
}
}
onDestroy() {
super.onDestroy(...arguments);
this.deactivateStickyRightColumn();
}
updateCart() {
const selectors = this.getSettings('selectors');
clearTimeout(this._debounce);
this._debounce = setTimeout(() => {
this.$element.find(selectors.updateCartButton).trigger('click');
}, 1500);
}
applyButtonsHoverAnimation() {
const elementSettings = this.getElementSettings();
if (elementSettings.checkout_button_hover_animation) {
// This element is recaptured every time because the cart markup can refresh
jQuery('.checkout-button').addClass('elementor-animation-' + elementSettings.checkout_button_hover_animation);
}
if (elementSettings.forms_buttons_hover_animation) {
// This element is recaptured every time because the cart markup can refresh
jQuery('.shop_table .button').addClass('elementor-animation-' + elementSettings.forms_buttons_hover_animation);
}
}
/**
* In the editor, WC Frontend JS does not fire (not registered).
* This causes that hidden inputs parent paragraph elements do not get display:none
* as they would have on the front end.
* So this function manually display:none the parent elements of these hidden inputs to avoid having
* gaps/spaces in the layout caused by these parent elements' margins/paddings.
*/
hideHiddenInputsParentElements() {
if (this.isEdit) {
if (this.elements.$hiddenInput) {
this.elements.$hiddenInput.parent('.form-row').addClass('elementor-hidden');
}
}
}
}
exports["default"] = Cart;
/***/ })
}]);
//# sourceMappingURL=woocommerce-cart.79b5dc500681930471c6.bundle.js.map
Esta inversión representa un ahorro de 43.879 kWh y evita la emisión a la atmósfera de 16’32 toneladas de CO2. En una sesión de gobierno celebrada el pasado mes de septiembre, se dio cuenta ante la Comisión de Pleno de Urbanismo de la contratación de seis actuaciones de mejora de eficiencia energética en instalaciones municipales que representan una inversión de 97.065,17 euros, enmarcadas dentro del mencionado Programa de Ahorro Energético del Ayuntamiento.
En concreto, las seis actuaciones consisten en la mejora de la climatización en el edificio de Servicios Sociales en el Casco Histórico, la instalación de baterías de condensadores para mejorar la eficiencia energética de varias instalaciones municipales, las obras para la mejora de la eficiencia energética en el edificio de la Junta Municipal de Delicias, las mejoras en la climatización de la Junta Municipal de Las Fuentes, la mejora en la eficiencia energética con el cambio de luminarias en el Colegio Público Tomás Alvira y las mejoras en la climatización del Albergue Municipal de Transeúntes. A estas actuaciones hay que añadir la corrección de anomalías en las instalaciones eléctricas de alta y baja tensión en la Subestación Elevadora de Aguas del Ebro que ya está finalizada, el cambio a gas natural y reforma de la instalación de calefacción en el colegio Público Eugenio López y López que está en proceso de adjudicación y la mejora de la eficiencia energética de la iluminación del Parque de Bomberos nº 1 que actualmente se está estudiando.
Con el Programa de Ahorro Energético 2015-2020, el gobierno municipal pretende alcanzar el objetivo de reducir en un 20 por ciento las emisiones de gases nocivos a la atmósfera para el año 2020. Este paquete de medidas se basa en racionalizar la explotación y reducción de costes en materia energética, para que se produzca una reducción de la contaminación, una mayor presencia de las energías renovables, así como un mayor control de la gestión técnica del conjunto. Con las acciones que ha se han llevado a cabo, en 2015 ha existido un ahorro de 1.478.000 euros, de los cuales corresponden a ahorro en el consumo energético unos 453.000 euros, y el resto a los ajustes de potencia contratada.
]]>En cuanto a la distribución del consumo de energía en una oficina media en España, tenemos que el 40 por ciento se va en iluminación, la calefacción ocupa el 30 por ciento de la energía, la refrigeración el 25 por ciento y un 5 por ciento es del agua caliente. Por tanto, las medidas que se tomen en estos ámbitos destinadas a reducir el coste, contribuirán a reducir la factura energética. En cuanto a las medidas a seguir, hay que implementar un Plan de Ahorro y Eficiencia Energética para reducir el consumo energético y las emisiones de CO2, o desarrollar una cultura energética basada en el ahorro, el uso de tecnologías más eficientes y en el desarrollo de las fuentes de energía renovables.
Podemos empezar haciendo una revisión del consumo energético que tenemos en la oficina. El aprovechamiento de la luz natural, una distribución óptima de cara a aprovechar la ventilación natural y la existencia de controles y regulación en las instalaciones para poder realizar un control del consumo de energía son elementos que van a favorecer el ahorro de energía. Otro aspecto fundamental es el equipamiento eléctrico disponible y el tipo de tarifa eléctrica contratada. La recomendación general es la utilización de equipos de bajo consumo energético y el uso racional de los mismos por parte de los trabajadores de la oficina.
Si la factura energética sigue siendo elevada puedes plantearte cambiar el tipo de combustible. La energía solar térmica o la biomasa son una solución excelente para cubrir total o parcialmente las necesidades calefacción y con su aplicación se reducen notablemente las emisiones contaminantes a la atmósfera. La electricidad es el sistema más ineficiente desde el punto de vista energético y es preferible el uso de gas natural por su mayor rendimiento energético y menores emisiones contaminantes. Renovar los sistemas de iluminación puede suponer un gran ahorro gracias a la utilización de bombillas de bajo consumo y de tipo LED.
]]>Esto quiere decir que los edificios que tengan matrícula de honor en ahorro energético y emisiones podrán beneficiarse de esa rebaja en el Impuesto de Bienes Inmuebles. Este impuesto es competencia de los ayuntamientos, que en todo caso son quienes tienen la última palabra de trasladar esa rebaja al tributo a través de ordenanzas fiscales a partir del 1 de enero de 2016. Aunque sólo un 0’1 por ciento de los hogares que ya dispone de esta evaluación energética podrá beneficiarse de la rebaja máxima contemplada por Hacienda, según la estadística de certificación energética que elabora el Ministerio de Industria.
En este informe aparece que sólo 1.974 inmuebles, sobre un total de 1’1 millones examinados, disponía de la máxima nota a cierre del año 2014. Algo parecido ocurre con las bonificaciones del 16 por ciento y del 12 por ciento que plantea el impuesto vinculadas a las calificaciones energéticas B y C. Y es que en el primer caso sólo un 0’6 por ciento de los contribuyentes tiene derecho a la rebaja, mientras que en el segundo caso sería un 3’4 por ciento, según el registro de certificados existentes.
En esta misma vertiente están los inmuebles conseguirá una rebaja del 8 por ciento en el IBI, al tener una calificación energética de D, que son uno de cada diez hogares. La mayor parte de las viviendas, un 46 por ciento, logrará la reducción del 4 por ciento ligada a la calificación energética E, equivalente a un aprobado raspado en eficiencia energética. El 38 por ciento restante que cuenta con notas F o G, y todos aquellos que no dispongan de certificado energético, quedarán fuera de esta reducción fiscal. La forma de acreditar la mencionada calificación y acceder a la rebaja pasa por presentar en su Ayuntamiento la correspondiente acreditación. No todos los hogares dispondrán de una de estas evaluaciones, ya que la actual legislación solo establece como obligatoria la realización de esta prueba para viviendas que se hayan puesto en venta o en alquiler.
]]>