(self["webpackChunkapp"] = self["webpackChunkapp"] || []).push([[2200],{

/***/ 49532:
/*!*************************************************************************************!*\
  !*** ./src/app/modules/parking/management-space/management-space-routing.module.ts ***!
  \*************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "ManagementSpacePageRoutingModule": () => (/* binding */ ManagementSpacePageRoutingModule)
/* harmony export */ });
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/router */ 61380);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_angular_router__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _management_space_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./management-space.page */ 47484);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 45449);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_angular_core__WEBPACK_IMPORTED_MODULE_2__);




const routes = [
    {
        path: '',
        component: _management_space_page__WEBPACK_IMPORTED_MODULE_1__.ManagementSpacePage
    }
];
class ManagementSpacePageRoutingModule {
}
ManagementSpacePageRoutingModule.ɵfac = function ManagementSpacePageRoutingModule_Factory(t) { return new (t || ManagementSpacePageRoutingModule)(); };
ManagementSpacePageRoutingModule.ɵmod = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineNgModule"]({ type: ManagementSpacePageRoutingModule });
ManagementSpacePageRoutingModule.ɵinj = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjector"]({ imports: [_angular_router__WEBPACK_IMPORTED_MODULE_0__.RouterModule.forChild(routes), _angular_router__WEBPACK_IMPORTED_MODULE_0__.RouterModule] });
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵsetNgModuleScope"](ManagementSpacePageRoutingModule, { imports: [_angular_router__WEBPACK_IMPORTED_MODULE_0__.RouterModule], exports: [_angular_router__WEBPACK_IMPORTED_MODULE_0__.RouterModule] }); })();


/***/ }),

/***/ 62200:
/*!*****************************************************************************!*\
  !*** ./src/app/modules/parking/management-space/management-space.module.ts ***!
  \*****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "ManagementSpacePageModule": () => (/* binding */ ManagementSpacePageModule)
/* harmony export */ });
/* harmony import */ var _shared_components_components_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @shared/components/components.module */ 15626);
/* harmony import */ var _shared_module_shared_module_module__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared-module/shared-module.module */ 69270);
/* harmony import */ var _management_space_routing_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./management-space-routing.module */ 49532);
/* harmony import */ var _management_space_page__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./management-space.page */ 47484);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 45449);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_angular_core__WEBPACK_IMPORTED_MODULE_4__);





class ManagementSpacePageModule {
}
ManagementSpacePageModule.ɵfac = function ManagementSpacePageModule_Factory(t) { return new (t || ManagementSpacePageModule)(); };
ManagementSpacePageModule.ɵmod = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineNgModule"]({ type: ManagementSpacePageModule });
ManagementSpacePageModule.ɵinj = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineInjector"]({ imports: [_shared_module_shared_module_module__WEBPACK_IMPORTED_MODULE_1__.SharedModuleModule, _shared_components_components_module__WEBPACK_IMPORTED_MODULE_0__.ComponentsModule, _management_space_routing_module__WEBPACK_IMPORTED_MODULE_2__.ManagementSpacePageRoutingModule] });
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsetNgModuleScope"](ManagementSpacePageModule, { declarations: [_management_space_page__WEBPACK_IMPORTED_MODULE_3__.ManagementSpacePage], imports: [_shared_module_shared_module_module__WEBPACK_IMPORTED_MODULE_1__.SharedModuleModule, _shared_components_components_module__WEBPACK_IMPORTED_MODULE_0__.ComponentsModule, _management_space_routing_module__WEBPACK_IMPORTED_MODULE_2__.ManagementSpacePageRoutingModule] }); })();


/***/ }),

/***/ 47484:
/*!***************************************************************************!*\
  !*** ./src/app/modules/parking/management-space/management-space.page.ts ***!
  \***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "ManagementSpacePage": () => (/* binding */ ManagementSpacePage)
/* harmony export */ });
/* harmony import */ var _Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 71670);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common/http */ 59584);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_angular_common_http__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _shared_services_pooling_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @shared/services/pooling.service */ 6555);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rxjs/operators */ 44661);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 45449);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_angular_core__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _shared_services__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @shared/services */ 17253);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/common */ 90944);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_angular_common__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ionic/angular */ 93819);
/* harmony import */ var _shared_components_header_header_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../shared/components/header/header.component */ 36290);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ngx-translate/core */ 38699);











function ManagementSpacePage_ng_container_6_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerStart"](0);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "div", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](2, "ion-spinner", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerEnd"]();
  }
}

function ManagementSpacePage_div_7_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 8)(1, "div", 9)(2, "div", 10);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](6, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](7, "div", 9)(8, "div", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](9);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](12, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](13, "div", 9)(14, "div", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](15);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](16, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](17);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](18, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()()();
  }

  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](ctx_r1.totalParkingsSum);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](6, 6, "PAGE_PARKING_MANAGEMENT.TOTALS.PARKINGS"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](ctx_r1.totalOccupiedSum);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](12, 8, "PAGE_PARKING_MANAGEMENT.TOTALS.PARKINGS_OCCUPIED"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](ctx_r1.totalAvailableSum);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](18, 10, "PAGE_PARKING_MANAGEMENT.TOTALS.PARKINGS_AVAILABLE"), " ");
  }
}

function ManagementSpacePage_ng_container_8_div_35_ng_container_1_div_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 31)(1, "div", 32);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](3, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "div", 33);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "div", 34)(7, "div", 35)(8, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](9);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](10, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](11, "div", 36);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](12);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](13, "div", 37)(14, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](15);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](16, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](17, "div", 38);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](18);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](19, "date");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](20);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](21, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](22, "date");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()()()();
  }

  if (rf & 2) {
    const occupation_r11 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](3, 8, "PAGE_PARKING_MANAGEMENT.OCCUPATIONS_DETAILS.OCCUPIED_BY"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](occupation_r11.fullName);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](10, 10, "PAGE_PARKING_MANAGEMENT.OCCUPATIONS_DETAILS.PLATE"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](occupation_r11.licensePlateOne);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](16, 12, "PAGE_PARKING_MANAGEMENT.OCCUPATIONS_DETAILS.OCCUPATION_DATE"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind2"](19, 14, occupation_r11.occupationDate, "dd/MM/yyyy"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate2"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](21, 17, "PAGE_PARKING_MANAGEMENT.OCCUPATIONS_DETAILS.AT"), " ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind2"](22, 19, occupation_r11.occupationDate, "HH:mm"), " ");
  }
}

function ManagementSpacePage_ng_container_8_div_35_ng_container_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerStart"](0);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, ManagementSpacePage_ng_container_8_div_35_ng_container_1_div_1_Template, 23, 22, "div", 30);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerEnd"]();
  }

  if (rf & 2) {
    const visitorParkingType_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](2).$implicit;
    const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
    let tmp_0_0;
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", (tmp_0_0 = ctx_r6.occupationsMap.get(visitorParkingType_r3.id)) == null ? null : tmp_0_0.list);
  }
}

function ManagementSpacePage_ng_container_8_div_35_ng_container_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerStart"](0);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "div", 31)(2, "div", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](3, "ion-spinner", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerEnd"]();
  }
}

function ManagementSpacePage_ng_container_8_div_35_ng_container_3_div_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 31)(1, "ion-text")(2, "p", 40);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](4, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()()();
  }

  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](4, 1, "PAGE_PARKING_MANAGEMENT.OCCUPATIONS_DETAILS.EMPTY"), " ");
  }
}

function ManagementSpacePage_ng_container_8_div_35_ng_container_3_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerStart"](0);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, ManagementSpacePage_ng_container_8_div_35_ng_container_3_div_1_Template, 5, 3, "div", 39);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerEnd"]();
  }

  if (rf & 2) {
    const visitorParkingType_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](2).$implicit;
    const ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
    let tmp_0_0;
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ((tmp_0_0 = ctx_r8.occupationsMap.get(visitorParkingType_r3.id)) == null ? null : tmp_0_0.list == null ? null : tmp_0_0.list.length) === 0);
  }
}

function ManagementSpacePage_ng_container_8_div_35_div_4_div_6_Template(rf, ctx) {
  if (rf & 1) {
    const _r18 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();

    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 44)(1, "button", 45);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ManagementSpacePage_ng_container_8_div_35_div_4_div_6_Template_button_click_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r18);
      const visitorParkingType_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](3).$implicit;
      const ctx_r16 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r16.loadMoreOccupations(visitorParkingType_r3));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](3, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()();
  }

  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](3, 1, "PAGE_PARKING_MANAGEMENT.OCCUPATIONS_DETAILS.PAGINATION.SHOW_MORE"), " ");
  }
}

function ManagementSpacePage_ng_container_8_div_35_div_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 41)(1, "div", 42);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](3, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](5, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](6, ManagementSpacePage_ng_container_8_div_35_div_4_div_6_Template, 4, 3, "div", 43);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
  }

  if (rf & 2) {
    const visitorParkingType_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](2).$implicit;
    const ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
    let tmp_0_0;
    let tmp_1_0;
    let tmp_2_0;
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate2"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](3, 5, "PAGE_PARKING_MANAGEMENT.OCCUPATIONS_DETAILS.PAGINATION.SHOW_NUMBER"), " ", (tmp_0_0 = ctx_r9.occupationsMap.get(visitorParkingType_r3.id)) == null ? null : tmp_0_0.list == null ? null : tmp_0_0.list.length, " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate2"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](5, 7, "PAGE_PARKING_MANAGEMENT.OCCUPATIONS_DETAILS.PAGINATION.OF"), " ", (tmp_1_0 = ctx_r9.occupationsMap.get(visitorParkingType_r3.id)) == null ? null : tmp_1_0.totalElements, " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ((tmp_2_0 = ctx_r9.occupationsMap.get(visitorParkingType_r3.id)) == null ? null : tmp_2_0.totalElements) > ((tmp_2_0 = ctx_r9.occupationsMap.get(visitorParkingType_r3.id)) == null ? null : tmp_2_0.list == null ? null : tmp_2_0.list.length));
  }
}

function ManagementSpacePage_ng_container_8_div_35_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 28);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, ManagementSpacePage_ng_container_8_div_35_ng_container_1_Template, 2, 1, "ng-container", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](2, ManagementSpacePage_ng_container_8_div_35_ng_container_2_Template, 4, 0, "ng-container", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](3, ManagementSpacePage_ng_container_8_div_35_ng_container_3_Template, 2, 1, "ng-container", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](4, ManagementSpacePage_ng_container_8_div_35_div_4_Template, 7, 9, "div", 29);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
  }

  if (rf & 2) {
    const visitorParkingType_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]().$implicit;
    const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
    let tmp_0_0;
    let tmp_3_0;
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ((tmp_0_0 = ctx_r5.occupationsMap.get(visitorParkingType_r3.id)) == null ? null : tmp_0_0.list == null ? null : tmp_0_0.list.length) > 0);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", !ctx_r5.isLoadingFinishListOccupationsFinished);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx_r5.isLoadingFinishListOccupationsFinished);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ((tmp_3_0 = ctx_r5.occupationsMap.get(visitorParkingType_r3.id)) == null ? null : tmp_3_0.list == null ? null : tmp_3_0.list.length) > 0);
  }
}

function ManagementSpacePage_ng_container_8_Template(rf, ctx) {
  if (rf & 1) {
    const _r22 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();

    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerStart"](0);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "div", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](2, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "ion-accordion-group", 15)(4, "ion-accordion", 16)(5, "div", 17);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ManagementSpacePage_ng_container_8_Template_div_click_5_listener() {
      const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r22);
      const visitorParkingType_r3 = restoredCtx.$implicit;
      const ctx_r21 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r21.toggleAccordion(visitorParkingType_r3));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "div", 18)(7, "div", 19);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](8);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](9, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "div", 20);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "div", 21)(13, "div", 19)(14, "div", 22)(15, "span", 19);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](16);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](17, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](18);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](19, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](20, "div", 19)(21, "div", 22)(22, "span", 23);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](23);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](24, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](25);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](26, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](27, "div", 24)(28, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](29);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](30, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](31, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](32, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](33, "div", 25);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](34, "ion-icon", 26);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](35, ManagementSpacePage_ng_container_8_div_35_Template, 5, 4, "div", 27);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerEnd"]();
  }

  if (rf & 2) {
    const visitorParkingType_r3 = ctx.$implicit;
    const index_r4 = ctx.index;
    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("multiple", true);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("value", visitorParkingType_r3.id);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](9, 12, "PAGE_PARKING_MANAGEMENT.PARKINGS_TYPES.OCCUPATION"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](visitorParkingType_r3.description);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx_r2.visitorParkingTypes[index_r4].occupied, " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](19, 14, "PAGE_PARKING_MANAGEMENT.PARKINGS_TYPES.OCCUPIED"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx_r2.visitorParkingTypes[index_r4].available, " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](26, 16, "PAGE_PARKING_MANAGEMENT.PARKINGS_TYPES.AVAILABLE"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate2"](" ", ctx_r2.openedAccordions.has(visitorParkingType_r3.id) ? _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](30, 18, "PAGE_PARKING_MANAGEMENT.PARKINGS_TYPES.HIDE_ACCORDION") : _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](31, 20, "PAGE_PARKING_MANAGEMENT.PARKINGS_TYPES.SHOW_ACCORDION"), " ", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](32, 22, "PAGE_PARKING_MANAGEMENT.PARKINGS_TYPES.DETAILS_OCCUPATION_TEXT"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("name", ctx_r2.openedAccordions.has(visitorParkingType_r3.id) ? "chevron-up" : "chevron-down");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx_r2.openedAccordions.has(visitorParkingType_r3.id));
  }
}

class ManagementSpacePage {
  constructor(profileManagerService, authService, portalLoginManagerService, apiService, logService, showToastModalErroCodeZero, notificatorService, translateService, poolingService) {
    this.profileManagerService = profileManagerService;
    this.authService = authService;
    this.portalLoginManagerService = portalLoginManagerService;
    this.apiService = apiService;
    this.logService = logService;
    this.showToastModalErroCodeZero = showToastModalErroCodeZero;
    this.notificatorService = notificatorService;
    this.translateService = translateService;
    this.poolingService = poolingService;
    this.visitorParkingTypes = [];
    this.isLoadingFinishGetAllFinished = false;
    this.isLoadingFinishListOccupationsFinished = false;
    this.occupationsMap = new Map();
    this.paginationMap = new Map();
    this.openedAccordions = new Set();
    this.poolingIntervalInSecondsSums = 60; // Um minuto

    this.poolingIntervalInSecondsTypes = 120; // dois minuto
  }

  ngOnInit() {
    this.initLoadParkingTypes();
  }

  ngOnDestroy() {
    const isPoolingActive = this.poolingService.isPoolingActive();

    if (isPoolingActive) {
      console.log('isPoolingActive', isPoolingActive);
      this.poolingService.stopPooling();
      console.log('stopPooling', isPoolingActive);
    }
  }

  doRefresh(event) {
    this.initLoadParkingTypes();
    setTimeout(() => {
      event.target.complete();
    }, 2000);
  }

  toggleAccordion(visitorParkingType) {
    const parkingTypeId = visitorParkingType.id;

    if (this.openedAccordions.has(parkingTypeId)) {
      this.openedAccordions.delete(parkingTypeId);
    } else {
      this.openedAccordions.add(parkingTypeId);
      this.loadOccupations(visitorParkingType, false);
    }
  }

  loadMoreOccupations(visitorParkingType) {
    const parkingTypeId = visitorParkingType.id; // Verificar se ainda há páginas para carregar

    const {
      currentPage,
      totalPages
    } = this.paginationMap.get(parkingTypeId);

    if (currentPage + 1 >= totalPages) {
      console.log('Todas as páginas já foram carregadas.');
      return;
    } // Carregar a próxima página


    this.loadOccupations(visitorParkingType, true);
  }

  initLoadParkingTypes() {
    this.getToken().then(token => {
      this.loadParkingTypes(token);
    }).catch(err => this.logService.logError('http', 'getAccessToken-page-parking-management-space', err ?? '')).finally(() => {
      this.createPooling();
    });
  }

  createPooling() {
    this.poolingService.startPooling(() => this.loadRereshSums(), this.poolingIntervalInSecondsSums); // Contadores de Soma e Ocupação

    this.poolingService.startPooling(() => this.initLoadParkingTypes(), this.poolingIntervalInSecondsTypes); // Contadores carregar tipos de vagas
  }

  getToken() {
    var _this = this;

    const profile = this.getProfile();

    if (!profile && profile?.login) {
      return;
    }

    return new Promise( /*#__PURE__*/function () {
      var _ref = (0,_Volumes_case_workspace_work_APPS_KA_APP_WORK_NOW_KA_PASS_V2_2_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (resolve, reject) {
        let token = null;

        try {
          token = yield _this.authService.getToken();
        } catch (error) {
          reject(error);
        }

        try {
          const response = yield _this.portalLoginManagerService.getAccessToken(profile.login, profile.portal, token);
          resolve(response.access_token);
        } catch (error) {
          reject(error);
          throw error;
        }
      });

      return function (_x, _x2) {
        return _ref.apply(this, arguments);
      };
    }());
  }

  getCompanyInstance() {
    const profile = this.getProfile();
    return profile.company.instanceName;
  }

  getProfile() {
    const profile = this.profileManagerService.getProfileLogistic();

    if (!profile && profile?.login) {
      this.logService.logError('', 'getAccessToken-page-parking-management-space', 'not profile selected');
      return;
    }

    return profile;
  }

  getParkingTypesGetAll(companyInstance, token) {
    return this.apiService.parkingTypesGetAll(companyInstance, token).toPromise();
  }

  sumValues(data) {
    const {
      visitorParkingTypes
    } = data.environment;
    const totalSum = visitorParkingTypes.reduce((sum, type) => sum + type.total, 0);
    const occupiedSum = visitorParkingTypes.reduce((sum, type) => sum + type.occupied, 0);
    const availableSum = visitorParkingTypes.reduce((sum, type) => sum + type.available, 0);
    this.totalParkingsSum = totalSum.toLocaleString('pt-BR');
    this.totalOccupiedSum = occupiedSum.toLocaleString('pt-BR');
    this.totalAvailableSum = availableSum.toLocaleString('pt-BR');
    this.sumValuesOcupations(visitorParkingTypes);
  }

  sumValuesOcupations(visitorParkingTypes) {
    for (let index = 0; index < visitorParkingTypes.length; index++) {
      const element = visitorParkingTypes[index];
      const total = element.total;
      const occupied = element.occupied;
      const available = element.available;
      visitorParkingTypes[index].total = total;
      visitorParkingTypes[index].occupied = occupied;
      visitorParkingTypes[index].available = available;
      this.visitorParkingTypes[index].total = total;
      this.visitorParkingTypes[index].occupied = occupied;
      this.visitorParkingTypes[index].available = available;
    }
  }

  loadParkingTypes(token) {
    const companyInstance = this.getCompanyInstance();
    this.getParkingTypesGetAll(companyInstance, token).then(data => {
      if (data && data?.environment && data?.environment?.visitorParkingTypes.length > 0) {
        this.visitorParkingTypes = data.environment.visitorParkingTypes;
        this.sumValues(data);
      }
    }).catch(this.handleErrorGetParkingTypes).finally(() => {
      this.isLoadingFinishGetAllFinished = true;
    });
  }

  handleErrorGetParkingTypes(error) {
    if (error instanceof _angular_common_http__WEBPACK_IMPORTED_MODULE_1__.HttpErrorResponse) {
      this.logService.logError('http', error.message + 'handleErrorGetParkingTypes', error);

      if (error?.status === 0) {
        this.showModalErroCodeZero(error);
        return;
      }

      const title = this.translateService.translate('TOAST_TITLE_ERROR_IN_REQUEST');
      this.toastMessage(title + ' ' + error.status, 'Não foi possivel carregar os tipos de estacionamentos', 'error');
    }

    console.error('Erro ao carregar os tipos de estacionamento:', error);
  }

  loadOccupations(visitorParkingType, loadNextPage = false) {
    const parkingTypeId = visitorParkingType.id; // Inicializar o controle de paginação, caso ainda não exista

    if (!this.paginationMap.has(parkingTypeId)) {
      this.paginationMap.set(parkingTypeId, {
        currentPage: 0,
        totalPages: 1,
        loadedPages: new Set()
      });
    }

    const pagination = this.paginationMap.get(parkingTypeId); // Se for carregar a próxima página

    const nextPage = loadNextPage ? pagination.currentPage + 1 : 0;
    const timeOut = setTimeout(() => {
      this.getToken().then(token => {
        const companyInstance = this.getCompanyInstance();
        this.apiService.parkingTypesListOccupations(companyInstance, token, parkingTypeId, nextPage).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_7__.finalize)(() => {
          this.isLoadingFinishListOccupationsFinished = true;
          this.loadRereshSums();
        })).subscribe(res => {
          let currentData = this.occupationsMap.get(parkingTypeId)?.list || []; // Se for a primeira página, substituímos os dados, caso contrário, adicionamos

          currentData = nextPage === 0 ? res.content : [...currentData, ...res.content]; // Atualizar os dados do mapa

          this.occupationsMap.set(parkingTypeId, {
            list: currentData,
            totalElements: res.totalElements,
            totalNumberOfElements: currentData.length
          }); // Atualizar a paginação

          this.paginationMap.set(parkingTypeId, {
            currentPage: nextPage,
            totalPages: res.totalPages,
            loadedPages: nextPage === 0 ? new Set([0]) : pagination.loadedPages.add(nextPage) // Atualiza páginas carregadas

          });
          console.log(`Página ${nextPage} carregada para o acordeão ${parkingTypeId}.`, res.content);
        }, error => {
          this.handleErrorGetOccupations(error);
        });
      });
      clearTimeout(timeOut);
    }, 500);
  }

  handleErrorGetOccupations(error) {
    if (error instanceof _angular_common_http__WEBPACK_IMPORTED_MODULE_1__.HttpErrorResponse) {
      this.logService.logError('http', error.message + 'handleErrorGetOccupations', error);

      if (error?.status === 0) {
        this.showModalErroCodeZero(error);
        return;
      }

      const title = this.translateService.translate('TOAST_TITLE_ERROR_IN_REQUEST');
      this.toastMessage(title + ' ' + error.status, '', 'error');
    }

    console.error('Erro ao carregar os ocupantes:', error);
  }

  showModalErroCodeZero(error) {
    if (error instanceof _angular_common_http__WEBPACK_IMPORTED_MODULE_1__.HttpErrorResponse) {
      this.showToastModalErroCodeZero.showToast();
    }
  }

  toastMessage(title, message, type = 'error', durarion = 8000) {
    const notification = {
      title,
      message,
      type,
      timeout: durarion
    };
    this.notificatorService.notify(notification);
  }

  refreshSums(token) {
    const companyInstance = this.getCompanyInstance();
    this.getParkingTypesGetAll(companyInstance, token).then(data => {
      if (data && data?.environment && data?.environment?.visitorParkingTypes.length > 0) {
        this.sumValues(data);
      }
    }).catch(this.handleErrorGetParkingTypes).finally(() => {});
  }

  loadRereshSums() {
    this.getToken().then(token => {
      this.refreshSums(token);
    }).catch(err => this.logService.logError('http', 'getAccessToken-page-parking-management-space', err ?? ''));
  }

}

ManagementSpacePage.ɵfac = function ManagementSpacePage_Factory(t) {
  return new (t || ManagementSpacePage)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_shared_services__WEBPACK_IMPORTED_MODULE_4__.ProfileManagerService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_shared_services__WEBPACK_IMPORTED_MODULE_4__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_shared_services__WEBPACK_IMPORTED_MODULE_4__.PortalLoginManagerService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_shared_services__WEBPACK_IMPORTED_MODULE_4__.ApiService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_shared_services__WEBPACK_IMPORTED_MODULE_4__.LogService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_shared_services__WEBPACK_IMPORTED_MODULE_4__.ShowToastAndModalErroCodeZeroService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_shared_services__WEBPACK_IMPORTED_MODULE_4__.NotificatorService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_shared_services__WEBPACK_IMPORTED_MODULE_4__.TranslateConfigService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_shared_services_pooling_service__WEBPACK_IMPORTED_MODULE_2__["default"]));
};

ManagementSpacePage.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineComponent"]({
  type: ManagementSpacePage,
  selectors: [["app-management-space"]],
  decls: 9,
  vars: 7,
  consts: [["defaultHref", "/logistic-events/entrance", 3, "refresh", "title"], ["slot", "fixed", "pullFactor", "0.9", "slot", "fixed", "pullFactor", "0.8", "pullMin", "60", "pullMax", "120", 2, "background-color", "transparent", 3, "ionRefresh"], [1, "content"], [4, "ngIf"], ["class", "cards_ocupations_totals", 4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "spinner"], ["color", "primary", "mode", "ios", "name", "crescent"], [1, "cards_ocupations_totals"], [1, "ocupation_card"], [1, "total", "qt"], [1, "label"], [1, "total", "ocupation"], [1, "total", "free"], [1, "hr-line"], [3, "multiple"], [3, "value"], ["slot", "header", 1, "cards_ocupation", 3, "click"], [1, "type_ocupation"], [1, "ocupation"], [1, "type"], [1, "cards_ocupations"], [1, "card_qt"], [1, "free"], [1, "show_details"], [1, "icon"], ["slot", "end", 3, "name"], ["class", "ion-padding", "slot", "content", 4, "ngIf"], ["slot", "content", 1, "ion-padding"], ["class", "footer", 4, "ngIf"], ["class", "card_ocupation_by", 4, "ngFor", "ngForOf"], [1, "card_ocupation_by"], [1, "ocupation_by"], [1, "ocupation_drive_name", "ion-text-capitalize"], [1, "ocupation_info_plate"], [1, "plate"], [1, "plate_number"], [1, "ocupation_date"], [1, "date"], ["class", "card_ocupation_by", 4, "ngIf"], [1, "empty"], [1, "footer"], [1, "pagination_show_number"], ["class", "btn_more", 4, "ngIf"], [1, "btn_more"], [3, "click"]],
  template: function ManagementSpacePage_Template(rf, ctx) {
    if (rf & 1) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "app-header", 0);
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipe"](1, "translate");
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "ion-content")(3, "ion-refresher", 1);
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("ionRefresh", function ManagementSpacePage_Template_ion_refresher_ionRefresh_3_listener($event) {
        return ctx.doRefresh($event);
      })("ionRefresh", function ManagementSpacePage_Template_ion_refresher_ionRefresh_3_listener($event) {
        return ctx.doRefresh($event);
      });
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](4, "ion-refresher-content");
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](5, "div", 2);
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](6, ManagementSpacePage_ng_container_6_Template, 3, 0, "ng-container", 3);
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](7, ManagementSpacePage_div_7_Template, 19, 12, "div", 4);
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](8, ManagementSpacePage_ng_container_8_Template, 36, 24, "ng-container", 5);
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()();
    }

    if (rf & 2) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("refresh", false)("title", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpipeBind1"](1, 5, "PAGE_PARKING_MANAGEMENT.HEADER_TITLE"));
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6);
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", !ctx.isLoadingFinishGetAllFinished);
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.isLoadingFinishGetAllFinished);
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", ctx.visitorParkingTypes);
    }
  },
  dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_5__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_5__.NgIf, _ionic_angular__WEBPACK_IMPORTED_MODULE_8__.IonAccordion, _ionic_angular__WEBPACK_IMPORTED_MODULE_8__.IonAccordionGroup, _ionic_angular__WEBPACK_IMPORTED_MODULE_8__.IonContent, _ionic_angular__WEBPACK_IMPORTED_MODULE_8__.IonIcon, _ionic_angular__WEBPACK_IMPORTED_MODULE_8__.IonRefresher, _ionic_angular__WEBPACK_IMPORTED_MODULE_8__.IonRefresherContent, _ionic_angular__WEBPACK_IMPORTED_MODULE_8__.IonSpinner, _ionic_angular__WEBPACK_IMPORTED_MODULE_8__.IonText, _shared_components_header_header_component__WEBPACK_IMPORTED_MODULE_6__.HeaderComponent, _angular_common__WEBPACK_IMPORTED_MODULE_5__.DatePipe, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__.TranslatePipe],
  styles: ["ion-content[_ngcontent-%COMP%] {\n  --background: #f1f1f1;\n}\n\n.content[_ngcontent-%COMP%] {\n  margin: 1.4em 0 6em 0;\n}\n\n.content[_ngcontent-%COMP%]   .spinner[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n\n.content[_ngcontent-%COMP%]   .cards_ocupations_totals[_ngcontent-%COMP%] {\n  display: flex;\n  margin: 1em;\n  justify-content: space-around;\n  gap: 1em;\n}\n\n.content[_ngcontent-%COMP%]   .cards_ocupations_totals[_ngcontent-%COMP%]   .ocupation_card[_ngcontent-%COMP%] {\n  padding: 0.6em 0.2em 0.6em 0.7em;\n  border: solid 1px #cccccc;\n  border-radius: 4px;\n  background: #fff;\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n}\n\n.content[_ngcontent-%COMP%]   .cards_ocupations_totals[_ngcontent-%COMP%]   .ocupation_card[_ngcontent-%COMP%]   .label[_ngcontent-%COMP%] {\n  font-size: 0.75em;\n  font-weight: 800;\n  color: #a2a2a2;\n}\n\n.content[_ngcontent-%COMP%]   .cards_ocupations_totals[_ngcontent-%COMP%]   .ocupation_card[_ngcontent-%COMP%]   .total[_ngcontent-%COMP%] {\n  font-size: 1.66em;\n  font-weight: 800;\n}\n\n.content[_ngcontent-%COMP%]   .cards_ocupations_totals[_ngcontent-%COMP%]   .ocupation_card[_ngcontent-%COMP%]   .total.qt[_ngcontent-%COMP%] {\n  color: #656768;\n}\n\n.content[_ngcontent-%COMP%]   .cards_ocupations_totals[_ngcontent-%COMP%]   .ocupation_card[_ngcontent-%COMP%]   .total.ocupation[_ngcontent-%COMP%] {\n  color: #ea9d5a;\n}\n\n.content[_ngcontent-%COMP%]   .cards_ocupations_totals[_ngcontent-%COMP%]   .ocupation_card[_ngcontent-%COMP%]   .total.free[_ngcontent-%COMP%] {\n  color: #61bc03;\n}\n\n.content[_ngcontent-%COMP%]   .hr-line[_ngcontent-%COMP%] {\n  width: 90%;\n  margin: 1.5em auto;\n}\n\n.content[_ngcontent-%COMP%]   .hr-line[_ngcontent-%COMP%]   span[_ngcontent-%COMP%] {\n  height: 1px;\n  background: #fff;\n  width: 100%;\n  display: flex;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%] {\n  padding: 0 1em;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%] {\n  --border-radius: 4px;\n  border-radius: 4px;\n  border: solid 1px #cccccc;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%] {\n  display: flex;\n  padding: 0.6em 0.5em;\n  gap: 1em;\n  align-items: center;\n  justify-content: space-between;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%]   .type_ocupation[_ngcontent-%COMP%] {\n  display: flex;\n  width: 40%;\n  flex-direction: column;\n  gap: 0.3em;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%]   .type_ocupation[_ngcontent-%COMP%]   .ocupation[_ngcontent-%COMP%] {\n  color: #656768;\n  font-size: 16px;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%]   .type_ocupation[_ngcontent-%COMP%]   .type[_ngcontent-%COMP%] {\n  color: #a2a2a2;\n  font-size: 12px;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%]   .cards_ocupations[_ngcontent-%COMP%] {\n  display: flex;\n  gap: 0.6em;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%]   .cards_ocupations[_ngcontent-%COMP%]   .ocupation[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 0.2em;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%]   .cards_ocupations[_ngcontent-%COMP%]   .ocupation[_ngcontent-%COMP%]   .card_qt[_ngcontent-%COMP%] {\n  display: flex;\n  border: solid 1px #eeeeee;\n  border-radius: 4px;\n  height: 2em;\n  justify-content: center;\n  align-items: center;\n  min-width: 4rem;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%]   .cards_ocupations[_ngcontent-%COMP%]   .ocupation[_ngcontent-%COMP%]   .card_qt[_ngcontent-%COMP%]   span[_ngcontent-%COMP%] {\n  font-weight: 800;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%]   .cards_ocupations[_ngcontent-%COMP%]   .ocupation[_ngcontent-%COMP%]   .card_qt[_ngcontent-%COMP%]   span.ocupation[_ngcontent-%COMP%] {\n  color: #ea9d5a;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%]   .cards_ocupations[_ngcontent-%COMP%]   .ocupation[_ngcontent-%COMP%]   .card_qt[_ngcontent-%COMP%]   span.free[_ngcontent-%COMP%] {\n  color: #61bc03;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%]   .cards_ocupations[_ngcontent-%COMP%]   .ocupation[_ngcontent-%COMP%]   .label[_ngcontent-%COMP%] {\n  font-size: 10px;\n  color: #a2a2a2;\n  font-weight: 700;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%]   .show_details[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%]   .show_details[_ngcontent-%COMP%]   .label[_ngcontent-%COMP%] {\n  color: #61bc03;\n  font-size: 12px;\n  text-align: center;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .cards_ocupation[_ngcontent-%COMP%]   .show_details[_ngcontent-%COMP%]   .icon[_ngcontent-%COMP%] {\n  color: #61bc03;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   .card_ocupation_by[_ngcontent-%COMP%] {\n  background-color: #f7f7f7;\n  border: solid 1px #cccccc;\n  border-radius: 4px;\n  padding: 0.6em;\n  font-size: 0.77em;\n  display: flex;\n  flex-direction: column;\n  gap: 0.2em;\n  margin-bottom: 1em;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   .card_ocupation_by[_ngcontent-%COMP%]   .empty[_ngcontent-%COMP%] {\n  text-align: center;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   .card_ocupation_by[_ngcontent-%COMP%]   .spinner[_ngcontent-%COMP%] {\n  display: flex;\n  margin: auto;\n  justify-content: center;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   .card_ocupation_by[_ngcontent-%COMP%]   .ocupation_by[_ngcontent-%COMP%] {\n  color: #656768;\n  font-weight: 800;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   .card_ocupation_by[_ngcontent-%COMP%]   .ocupation_drive_name[_ngcontent-%COMP%] {\n  font-weight: 400;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   .card_ocupation_by[_ngcontent-%COMP%]   .ocupation_info_place[_ngcontent-%COMP%] {\n  display: flex;\n  margin-top: 0.8em;\n  gap: 2em;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   .card_ocupation_by[_ngcontent-%COMP%]   .ocupation_info_place[_ngcontent-%COMP%]   .place[_ngcontent-%COMP%]   .label[_ngcontent-%COMP%], .content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   .card_ocupation_by[_ngcontent-%COMP%]   .ocupation_info_place[_ngcontent-%COMP%]   .ocupation_date[_ngcontent-%COMP%]   .label[_ngcontent-%COMP%] {\n  color: #656768;\n  font-weight: 800;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   .card_ocupation_by[_ngcontent-%COMP%]   .ocupation_info_place[_ngcontent-%COMP%]   .place_number[_ngcontent-%COMP%], .content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   .card_ocupation_by[_ngcontent-%COMP%]   .ocupation_info_place[_ngcontent-%COMP%]   .date[_ngcontent-%COMP%] {\n  padding-top: 0.2em;\n  font-weight: 300;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .footer[_ngcontent-%COMP%] {\n  display: flex;\n  margin-top: 1em;\n  flex-direction: column;\n  align-items: center;\n  gap: 1em;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .footer[_ngcontent-%COMP%]   .pagination_show_number[_ngcontent-%COMP%] {\n  color: #a2a2a2;\n  font-size: 11px;\n}\n\n.content[_ngcontent-%COMP%]   ion-accordion-group[_ngcontent-%COMP%]   ion-accordion[_ngcontent-%COMP%]   .footer[_ngcontent-%COMP%]   .btn_more[_ngcontent-%COMP%]   button[_ngcontent-%COMP%] {\n  background: #fff;\n  border: solid 1px #cccccc;\n  border-radius: 32px;\n  color: #61bc03;\n  font-weight: 700;\n  font-size: 11px;\n  height: 25px;\n  padding: 0 1em;\n}\n/*# sourceMappingURL=data:application/json;base64,[encoded data, 8684 characters] */"]
});

/***/ }),

/***/ 6555:
/*!****************************************************!*\
  !*** ./src/app/shared/services/pooling.service.ts ***!
  \****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs */ 13491);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 45449);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_angular_core__WEBPACK_IMPORTED_MODULE_0__);


class PoolingService {
    constructor() {
        this.pollingSubscription = null;
    }
    /**
     * Inicia o pooling com base no intervalo especificado e uma função de callback.
     * @param callback - A função a ser executada em cada intervalo.
     * @param intervalSeconds - O intervalo em segundos entre as execuções.
     */
    startPooling(callback, intervalSeconds) {
        // Verifica se já existe uma assinatura de pooling ativa e, se sim, cancela a anterior
        if (this.pollingSubscription) {
            this.pollingSubscription.unsubscribe();
        }
        console.log('Pooling started');
        // Cria um novo intervalo que executa a função de callback a cada `intervalSeconds`
        this.pollingSubscription = (0,rxjs__WEBPACK_IMPORTED_MODULE_1__.interval)(1000 * intervalSeconds).subscribe(() => {
            try {
                callback();
            }
            catch (error) {
                console.error('Error occurred while executing the pooling function:', error);
            }
        });
    }
    /**
     * Para o pooling em execução.
     */
    stopPooling() {
        if (this.pollingSubscription) {
            this.pollingSubscription.unsubscribe();
            this.pollingSubscription = null;
            console.log('Pooling stopped');
        }
    }
    /**
     * Verifica se o pooling está ativo.
     * @returns `true` se o pooling estiver ativo, `false` caso contrário.
     */
    isPoolingActive() {
        return this.pollingSubscription !== null && !this.pollingSubscription.closed;
    }
}
PoolingService.ɵfac = function PoolingService_Factory(t) { return new (t || PoolingService)(); };
PoolingService.ɵprov = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({ token: PoolingService, factory: PoolingService.ɵfac, providedIn: 'root' });
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PoolingService);


/***/ }),

/***/ 13491:
/*!********************************************************************!*\
  !*** ./node_modules/rxjs/_esm2015/internal/observable/interval.js ***!
  \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "interval": () => (/* binding */ interval)
/* harmony export */ });
/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Observable */ 12378);
/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scheduler/async */ 10328);
/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/isNumeric */ 7269);



function interval(period = 0, scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async) {
  if (!(0,_util_isNumeric__WEBPACK_IMPORTED_MODULE_1__.isNumeric)(period) || period < 0) {
    period = 0;
  }

  if (!scheduler || typeof scheduler.schedule !== 'function') {
    scheduler = _scheduler_async__WEBPACK_IMPORTED_MODULE_0__.async;
  }

  return new _Observable__WEBPACK_IMPORTED_MODULE_2__.Observable(subscriber => {
    subscriber.add(scheduler.schedule(dispatch, period, {
      subscriber,
      counter: 0,
      period
    }));
    return subscriber;
  });
}

function dispatch(state) {
  const {
    subscriber,
    counter,
    period
  } = state;
  subscriber.next(counter);
  this.schedule({
    subscriber,
    counter: counter + 1,
    period
  }, period);
}

/***/ }),

/***/ 7269:
/*!***************************************************************!*\
  !*** ./node_modules/rxjs/_esm2015/internal/util/isNumeric.js ***!
  \***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "isNumeric": () => (/* binding */ isNumeric)
/* harmony export */ });
/* harmony import */ var _isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isArray */ 94327);

function isNumeric(val) {
  return !(0,_isArray__WEBPACK_IMPORTED_MODULE_0__.isArray)(val) && val - parseFloat(val) + 1 >= 0;
}

/***/ })

}])
//# sourceMappingURL=2200.js.map