/*
 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
 * This devtool is neither made for production nor for readable output files.
 * It uses "eval()" calls to create a separate source file in the browser devtools.
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 * or disable the default devtool with "devtool: false".
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 */
(self["webpackChunk"] = self["webpackChunk"] || []).push([["apps"],{

/***/ "../enterprise/apps/Accounting/Components/FormAccount.tsx":
/*!****************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/FormAccount.tsx ***!
  \****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormAccount)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/ModalForm */ \"../react-ui/core/ModalForm.tsx\");\n\n\n\nclass FormAccount extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Enterprise/Accounting/Models/Account'\n  };\n  refAddSubAccountModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  refAddSubAccountForm = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\FormEntry';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Account')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.number ?? '-', \" \", this.state.record.name ?? '-'));\n  }\n  renderContent() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_parent', {\n      readonly: R.is_readonly\n    }), this.inputWrapper('number', {\n      readonly: R.is_readonly\n    }), this.inputWrapper('name', {\n      readonly: R.is_readonly\n    }), this.inputWrapper('id_type', {\n      readonly: R.is_readonly,\n      uiStyle: 'buttons'\n    }), this.inputWrapper('credit_debit', {\n      readonly: R.is_readonly\n    }), this.inputWrapper('notes'), R.id > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-add-outline mt-2\",\n      onClick: () => {\n        this.setState({\n          addSubAccount: true\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-plus\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, \"Add sub-account\")) : null, this.state.addSubAccount ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      ref: this.refAddSubAccountModal,\n      form: this.refAddSubAccountForm,\n      uid: \"add-sub-account-form\",\n      isOpen: true,\n      type: \"inside-parent theme-secondary\",\n      onClose: () => this.setState({\n        addSubAccount: false\n      })\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(FormAccount, {\n      ref: this.refAddSubAccountForm,\n      modal: this.refAddSubAccountModal,\n      descriptionSource: \"both\",\n      description: {\n        defaultValues: {\n          id_parent: R.id,\n          number: R.number\n        }\n      },\n      id: -1\n    }))) : null);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/FormAccount.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/FormAccountCategory.tsx":
/*!************************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/FormAccountCategory.tsx ***!
  \************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormAccountCategory)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormAccountCategory extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: \"Hubleto/App/Enterprise/Accounting/Models/AccountCategory\"\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\FormAccountCategory';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/FormAccountCategory.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/FormEntry.tsx":
/*!**************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/FormEntry.tsx ***!
  \**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormEntry)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _TableEntryLines__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TableEntryLines */ \"../enterprise/apps/Accounting/Components/TableEntryLines.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Int__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Int */ \"../react-ui/core/Inputs/Int.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @hubleto/react-ui/core/FormInput */ \"../react-ui/core/FormInput.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Varchar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Varchar */ \"../react-ui/core/Inputs/Varchar.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n\n\n\n\n\n\n\nclass FormEntry extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: \"Hubleto/App/Enterprise/Accounting/Models/Entry\"\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\FormEntry';\n  constructor(props) {\n    super(props);\n    this.refTableEntryLines = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props),\n      newEntryLine: {}\n    };\n  }\n  getRecordFormUrl() {\n    return 'accounting/entries/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Journal entry')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.key ?? '-'));\n  }\n  renderContent() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('date_entry'), this.inputWrapper('reference_number'), this.inputWrapper('reference_model'), this.inputWrapper('reference_id'), this.inputWrapper('notes'), R.id > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"mt-2 flex gap-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card grow\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-header\"\n    }, \"Lines\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableEntryLines__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      ref: this.refTableEntryLines,\n      uid: this.props.uid + '_table_entry_lines',\n      tag: this.props.uid + '_table_entry_lines',\n      idEntry: R.id\n    }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card grow\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-header\"\n    }, \"New line\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      title: \"Account\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Varchar__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n      value: this.state.newEntryLine.account_number ?? '',\n      onChange: (input, value) => {\n        let newEntryLine = this.state.newEntryLine;\n        newEntryLine.account_number = value;\n        this.setState({\n          newEntryLine: newEntryLine\n        });\n      }\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      title: \"Debit\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Int__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n      value: this.state.newEntryLine.debit ?? '',\n      onChange: (input, value) => {\n        let newEntryLine = this.state.newEntryLine;\n        newEntryLine.debit = value;\n        this.setState({\n          newEntryLine: newEntryLine\n        });\n      },\n      unit: \"\\u20AC\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      title: \"Credit\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Int__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n      value: this.state.newEntryLine.credit ?? '',\n      onChange: (input, value) => {\n        let newEntryLine = this.state.newEntryLine;\n        newEntryLine.credit = value;\n        this.setState({\n          newEntryLine: newEntryLine\n        });\n      },\n      unit: \"\\u20AC\"\n    }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-footer\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-add-outline\",\n      onClick: () => {\n        _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__[\"default\"].post('accounting/api/add-entry-line', {\n          idEntry: R.id,\n          line: this.state.newEntryLine\n        }, {}, data => {\n          this.setState({\n            newEntryLine: {}\n          });\n          this.refTableEntryLines.current.reload();\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-plus\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate('Add line')))))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"alert alert-info\"\n    }, this.translate('Create journal entry and add entry lines after.')));\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/FormEntry.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/FormEntryLine.tsx":
/*!******************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/FormEntryLine.tsx ***!
  \******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormEntryLine)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormEntryLine extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: \"Hubleto/App/Enterprise/Accounting/Models/EntryLine\"\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\FormEntryLine';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/FormEntryLine.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/FormPayable.tsx":
/*!****************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/FormPayable.tsx ***!
  \****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormPayable)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormPayable extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: \"Hubleto/App/Enterprise/Accounting/Models/Payable\"\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\FormPayable';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  renderContent() {\n    const R = this.state.record;\n    return super.renderContent();\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/FormPayable.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/FormReceivable.tsx":
/*!*******************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/FormReceivable.tsx ***!
  \*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormReceivable)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormReceivable extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: \"Hubleto/App/Enterprise/Accounting/Models/Receivable\"\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\FormReceivable';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  renderContent() {\n    const R = this.state.record;\n    return super.renderContent();\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/FormReceivable.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/FormTransaction.tsx":
/*!********************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/FormTransaction.tsx ***!
  \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormTransaction)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n\n\n\n\nclass FormTransaction extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: \"Hubleto/App/Enterprise/Accounting/Models/Transaction\"\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\FormTransaction';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      reconciledAmount: 0,\n      ...this.getStateFromProps(props)\n    };\n  }\n  getEndpointParams() {\n    let params = super.getEndpointParams();\n    return params;\n  }\n  getReconciledAmount(record) {\n    if (record.id <= 0) return;\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].post('transactions/api/get-reconciled-amount', {\n      transactionId: record.id\n    }, {}, response => {\n      this.setState({\n        reconciledAmount: response.reconciledAmount\n      });\n    });\n  }\n  onAfterRecordLoaded(record) {\n    this.getReconciledAmount(record);\n    return super.onAfterRecordLoaded(record);\n  }\n  renderContent() {\n    const R = this.state.record;\n    // const showAdditional: boolean = R.id > 0 ? true : false;\n\n    // const linkExists = this.state.description.defaultValues?.creatingForModel ? false : true\n\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, this.inputWrapper('bank'), this.inputWrapper('date'), this.inputWrapper('description'), this.inputWrapper('amount'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card bg-gray-50\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex justify-between items-center\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"input-wrapper\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"input-label\"\n    }, this.translate('Total amount'), \":\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"font-bold\"\n    }, R.amount)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"input-wrapper\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"input-label\"\n    }, this.translate('Reconciled Amount'), \":\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"font-bold\"\n    }, this.state.reconciledAmount)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper('isReconciled'))))), R.id > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card mt-4\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      model: \"Hubleto/App/Enterprise/Accounting/Models/Reconciliation\",\n      formProps: {\n        model: 'Hubleto/App/Enterprise/Accounting/Models/Reconciliation',\n        description: {\n          defaultValues: {\n            id_transaction: R.id\n          },\n          inputs: {\n            'id_transaction': {\n              readonly: true\n            }\n          }\n        }\n      },\n      uid: this.props.uid,\n      customEndpointParams: {\n        idTransaction: R.id\n      }\n    }))));\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/FormTransaction.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/TableAccountCategories.tsx":
/*!***************************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/TableAccountCategories.tsx ***!
  \***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableAccountCategories)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormAccountCategory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormAccountCategory */ \"../enterprise/apps/Accounting/Components/FormAccountCategory.tsx\");\n\n\n\nclass TableAccountCategories extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Enterprise/Accounting/Models/AccountCategory'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\TableAccountCategories';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormAccountCategory__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/TableAccountCategories.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/TableAccounts.tsx":
/*!******************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/TableAccounts.tsx ***!
  \******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableAccounts)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormAccount__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormAccount */ \"../enterprise/apps/Accounting/Components/FormAccount.tsx\");\n\n\n\nclass TableAccounts extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Enterprise/Accounting/Models/Account'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\TableAccounts';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormAccount__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/TableAccounts.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/TableEntries.tsx":
/*!*****************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/TableEntries.tsx ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableEntries)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormEntry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormEntry */ \"../enterprise/apps/Accounting/Components/FormEntry.tsx\");\n\n\n\nclass TableEntries extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Enterprise/Accounting/Models/Entry'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\TableEntries';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  setRecordFormUrl(id) {\n    globalThis.window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/accounting/entries/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormEntry__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/TableEntries.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/TableEntryLines.tsx":
/*!********************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/TableEntryLines.tsx ***!
  \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableEntryLines)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormEntryLine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormEntryLine */ \"../enterprise/apps/Accounting/Components/FormEntryLine.tsx\");\n\n\n\nclass TableEntryLines extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Enterprise/Accounting/Models/EntryLine'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\TableEntryLines';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      idEntry: this.props.idEntry\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'centered small secondary';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idEntry: this.props.idEntry\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idKey = this.props.idEntry;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_entry: this.props.idEntry\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormEntryLine__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/TableEntryLines.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/TablePayables.tsx":
/*!******************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/TablePayables.tsx ***!
  \******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TablePayables)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormPayable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormPayable */ \"../enterprise/apps/Accounting/Components/FormPayable.tsx\");\n\n\n\nclass TablePayables extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Enterprise/Accounting/Models/Payable'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\TablePayables';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormPayable__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/TablePayables.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/TableReceivables.tsx":
/*!*********************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/TableReceivables.tsx ***!
  \*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableReceivables)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormReceivable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormReceivable */ \"../enterprise/apps/Accounting/Components/FormReceivable.tsx\");\n\n\n\nclass TableReceivables extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Enterprise/Accounting/Models/Receivable'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\TableReceivables';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormReceivable__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/TableReceivables.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/TableTransactions.tsx":
/*!**********************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/TableTransactions.tsx ***!
  \**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableTransactions)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormTransaction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormTransaction */ \"../enterprise/apps/Accounting/Components/FormTransaction.tsx\");\n\n\n\nclass TableTransactions extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Enterprise/Accounting/Models/Transaction'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\TableTransactions';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormTransaction__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/TableTransactions.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Components/TreeAccounts.tsx":
/*!*****************************************************************!*\
  !*** ../enterprise/apps/Accounting/Components/TreeAccounts.tsx ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TreeAccounts)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Tree__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Tree */ \"../react-ui/core/Tree.tsx\");\n/* harmony import */ var _FormAccount__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormAccount */ \"../enterprise/apps/Accounting/Components/FormAccount.tsx\");\n\n\n\nclass TreeAccounts extends _hubleto_react_ui_core_Tree__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Tree__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Enterprise/Accounting/Models/Account'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Accounting\\\\Loader::Components\\\\TreeAccounts';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormAccount__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Components/TreeAccounts.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Accounting/Loader.tsx":
/*!************************************************!*\
  !*** ../enterprise/apps/Accounting/Loader.tsx ***!
  \************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TreeAccounts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TreeAccounts */ \"../enterprise/apps/Accounting/Components/TreeAccounts.tsx\");\n/* harmony import */ var _Components_TableAccounts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableAccounts */ \"../enterprise/apps/Accounting/Components/TableAccounts.tsx\");\n/* harmony import */ var _Components_TablePayables__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/TablePayables */ \"../enterprise/apps/Accounting/Components/TablePayables.tsx\");\n/* harmony import */ var _Components_TableEntries__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Components/TableEntries */ \"../enterprise/apps/Accounting/Components/TableEntries.tsx\");\n/* harmony import */ var _Components_TableEntryLines__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Components/TableEntryLines */ \"../enterprise/apps/Accounting/Components/TableEntryLines.tsx\");\n/* harmony import */ var _Components_TableAccountCategories__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Components/TableAccountCategories */ \"../enterprise/apps/Accounting/Components/TableAccountCategories.tsx\");\n/* harmony import */ var _Components_TableReceivables__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Components/TableReceivables */ \"../enterprise/apps/Accounting/Components/TableReceivables.tsx\");\n/* harmony import */ var _Components_TableTransactions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Components/TableTransactions */ \"../enterprise/apps/Accounting/Components/TableTransactions.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _hubleto_apps_Invoices_Components_FormInvoice__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @hubleto/apps/Invoices/Components/FormInvoice */ \"../erp/apps/Invoices/Components/FormInvoice.tsx\");\n\n\n\n\n\n\n\n\n\n\n\nclass Accounting extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('AccountingTreeAccounts', _Components_TreeAccounts__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('AccountingTableAccounts', _Components_TableAccounts__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('AccountingTableEntries', _Components_TableEntries__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('AccountingTableTransactions', _Components_TableTransactions__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('AccountingTableReceivables', _Components_TableReceivables__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('AccountingTablePayables', _Components_TablePayables__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('AccountingTableAccountCategories', _Components_TableAccountCategories__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('AccountingTableEntryLines', _Components_TableEntryLines__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n    _hubleto_apps_Invoices_Components_FormInvoice__WEBPACK_IMPORTED_MODULE_10__[\"default\"].addFormFooterButton('Post invoice', 'fas fa-arrow-right', form => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_9__[\"default\"].get('accounting/api/post-invoice', {\n        idInvoice: form.state.record.id\n      }, data => {\n        if (data.status == \"success\") {\n          globalThis.window.open(globalThis.hubleto.config.projectUrl + '/accounting/entries/' + data.idEntry);\n        }\n      });\n    });\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Enterprise/Accounting', new Accounting());\n\n//# sourceURL=webpack:///../enterprise/apps/Accounting/Loader.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Banks/Components/FormAccount.tsx":
/*!***********************************************************!*\
  !*** ../enterprise/apps/Banks/Components/FormAccount.tsx ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormEntry)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormEntry extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto\\\\App\\\\Enterprise\\\\Banks\\\\Models\\\\Account'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Banks\\\\Loader::Components\\\\FormAccount';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Account')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.number ?? '-', \" \", this.state.record.name ?? '-'));\n  }\n  renderContent() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_bank'), this.inputWrapper('name'), this.inputWrapper('number'), this.inputWrapper('iban'), this.inputWrapper('id_currency'), this.inputWrapper('current_balance'), this.inputWrapper('notes'));\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Banks/Components/FormAccount.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Banks/Components/FormBank.tsx":
/*!********************************************************!*\
  !*** ../enterprise/apps/Banks/Components/FormBank.tsx ***!
  \********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormEntry)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormEntry extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto\\\\App\\\\Enterprise\\\\Banks\\\\Models\\\\Bank'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Banks\\\\Loader::Components\\\\FormBank';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Bank')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.name ?? '-', \" \", this.state.record.address ?? '-'));\n  }\n  renderContent() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('name'), this.inputWrapper('address'), this.inputWrapper('swift_bic'));\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Banks/Components/FormBank.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Banks/Components/FormTransaction.tsx":
/*!***************************************************************!*\
  !*** ../enterprise/apps/Banks/Components/FormTransaction.tsx ***!
  \***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormEntry)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormEntry extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto\\\\App\\\\Enterprise\\\\Banks\\\\Models\\\\Transaction'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Banks\\\\Loader::Components\\\\FormTransaction';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Transaction')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.amount ?? '-', \" \", this.state.record.datetime_created ?? '-'));\n  }\n  renderContent() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_account'), this.inputWrapper('uid'), this.inputWrapper('amount'), this.inputWrapper('datetime_created'), this.inputWrapper('status'), this.inputWrapper('reference_model'), this.inputWrapper('reference_id'), this.inputWrapper('notes'));\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Banks/Components/FormTransaction.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Banks/Components/TableAccounts.tsx":
/*!*************************************************************!*\
  !*** ../enterprise/apps/Banks/Components/TableAccounts.tsx ***!
  \*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableAccounts)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormAccount__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormAccount */ \"../enterprise/apps/Banks/Components/FormAccount.tsx\");\n\n\n\nclass TableAccounts extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto\\\\App\\\\Enterprise\\\\Banks\\\\Models\\\\Account'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Banks\\\\Loader::Components\\\\TableAccounts';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right';\n    return params;\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormAccount__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Banks/Components/TableAccounts.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Banks/Components/TableBanks.tsx":
/*!**********************************************************!*\
  !*** ../enterprise/apps/Banks/Components/TableBanks.tsx ***!
  \**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableBanks)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormBank__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormBank */ \"../enterprise/apps/Banks/Components/FormBank.tsx\");\n\n\n\nclass TableBanks extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto\\\\App\\\\Enterprise\\\\Banks\\\\Models\\\\Bank'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Banks\\\\Loader::Components\\\\TableBanks';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right';\n    return params;\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormBank__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Banks/Components/TableBanks.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Banks/Components/TableTransactions.tsx":
/*!*****************************************************************!*\
  !*** ../enterprise/apps/Banks/Components/TableTransactions.tsx ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableTransactions)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormTransaction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormTransaction */ \"../enterprise/apps/Banks/Components/FormTransaction.tsx\");\n\n\n\nclass TableTransactions extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto\\\\App\\\\Enterprise\\\\Banks\\\\Models\\\\Transaction'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\Banks\\\\Loader::Components\\\\TableTransactions';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right';\n    return params;\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormTransaction__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Banks/Components/TableTransactions.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Banks/Loader.tsx":
/*!*******************************************!*\
  !*** ../enterprise/apps/Banks/Loader.tsx ***!
  \*******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableBanks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableBanks */ \"../enterprise/apps/Banks/Components/TableBanks.tsx\");\n/* harmony import */ var _Components_TableTransactions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableTransactions */ \"../enterprise/apps/Banks/Components/TableTransactions.tsx\");\n/* harmony import */ var _Components_TableAccounts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/TableAccounts */ \"../enterprise/apps/Banks/Components/TableAccounts.tsx\");\n\n\n\n\nclass Banks extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('BanksTableBanks', _Components_TableBanks__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('BanksTableTransactions', _Components_TableTransactions__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('BanksTableAccounts', _Components_TableAccounts__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Enterprise/Banks', new Banks());\n\n//# sourceURL=webpack:///../enterprise/apps/Banks/Loader.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Einvoice/Components/FormExport.tsx":
/*!*************************************************************!*\
  !*** ../enterprise/apps/Einvoice/Components/FormExport.tsx ***!
  \*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   FormExport: () => (/* binding */ FormExport)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\n\n// for debugging purposes, delete later\n\nclass FormExport extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: \"Hubleto/App/Enterprise/Einvoice/Models/Export\"\n  };\n  translationContext = \"Hubleto\\\\App\\\\Enterprise\\\\Einvoice\\\\Loader\";\n  translationContextInner = \"Components\\\\FormExport\";\n\n  // For debugging purposes, delete later\n  componentDidMount() {\n    if (super.componentDidMount) super.componentDidMount();\n    this.loadDebugData();\n  }\n  componentDidUpdate(prevProps, prevState) {\n    if (super.componentDidUpdate) super.componentDidUpdate(prevProps, prevState);\n    const prevInvoiceId = prevState?.record?.id_invoice;\n    const currInvoiceId = this.state?.record?.id_invoice;\n    if (currInvoiceId && currInvoiceId !== prevInvoiceId) {\n      this.loadDebugData();\n    }\n  }\n  // For debugging purposes, delete later\n  loadDebugData() {\n    const invoiceId = this.state?.record?.id_invoice;\n    if (!invoiceId || invoiceId <= 0) return;\n    this.setState({\n      debugLoading: true,\n      debugRawData: undefined\n    });\n    globalThis.fetch(`einvoice/api/debug-invoice-data/${invoiceId}`).then(res => res.json()).then(json => {\n      const rawData = json.rawData ?? json;\n      this.setState({\n        debugRawData: JSON.stringify(rawData, null, 2),\n        debugLoading: false\n      });\n    }).catch(err => {\n      this.setState({\n        debugRawData: \"Error loading raw data: \" + err.message,\n        debugLoading: false\n      });\n    });\n  }\n  // For debugging purposes, delete later\n  renderContent() {\n    const content = super.renderContent();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      style: {\n        padding: \"12px\",\n        borderRadius: \"6px\",\n        marginBottom: \"12px\",\n        maxHeight: \"400px\",\n        overflow: \"auto\",\n        fontSize: \"12px\",\n        fontFamily: \"monospace\"\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      style: {\n        fontWeight: \"bold\",\n        marginBottom: \"8px\"\n      }\n    }, \"DEBUG: Raw getPreviewVars() data (invoice #\", this.state?.record?.id_invoice, \")\"), this.state.debugLoading ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      style: {\n        color: \"#888\"\n      }\n    }, \"Loading...\") : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"pre\", {\n      style: {\n        margin: 0,\n        whiteSpace: \"pre-wrap\",\n        wordBreak: \"break-all\"\n      }\n    }, this.state.debugRawData ?? \"No data loaded yet\")), content);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Einvoice/Components/FormExport.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Einvoice/Components/TableExports.tsx":
/*!***************************************************************!*\
  !*** ../enterprise/apps/Einvoice/Components/TableExports.tsx ***!
  \***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableExports)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormExport__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormExport */ \"../enterprise/apps/Einvoice/Components/FormExport.tsx\");\n\n\n\nclass TableExports extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: \"Hubleto/App/Enterprise/Einvoice/Models/Export\"\n  };\n  translationContext = \"Hubleto\\\\App\\\\Enterprise\\\\Einvoice\\\\Loader\";\n  translationContextInner = \"Components\\\\TableExports\";\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormExport__WEBPACK_IMPORTED_MODULE_2__.FormExport, formProps);\n  }\n  renderActionsColumn(rowData, actions = []) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-1\"\n    }, super.renderActionsColumn(rowData, actions), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-sm btn-light\",\n      onClick: e => {\n        e.stopPropagation();\n        globalThis.alert(rowData.xml_content);\n      },\n      title: \"Preview XML\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-file-code\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n      className: \"btn btn-sm btn-light\",\n      href: `einvoice/exports?action=download&id=${rowData.id}`,\n      onClick: e => e.stopPropagation(),\n      title: \"Download XML\",\n      target: \"_blank\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-download\"\n    })));\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/Einvoice/Components/TableExports.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/Einvoice/Loader.tsx":
/*!**********************************************!*\
  !*** ../enterprise/apps/Einvoice/Loader.tsx ***!
  \**********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableExports__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableExports */ \"../enterprise/apps/Einvoice/Components/TableExports.tsx\");\n/* harmony import */ var _Components_FormExport__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/FormExport */ \"../enterprise/apps/Einvoice/Components/FormExport.tsx\");\n\n\n\nclass Einvoice extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n    globalThis.hubleto.registerReactComponent(\"TableExports\", _Components_TableExports__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent(\"FormExport\", _Components_FormExport__WEBPACK_IMPORTED_MODULE_2__.FormExport);\n  }\n}\nglobalThis.hubleto.registerApp(\"Hubleto/App/Enterprise/Einvoice\", new Einvoice());\n\n//# sourceURL=webpack:///../enterprise/apps/Einvoice/Loader.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/LegalCases/Components/FormLegalCase.tsx":
/*!******************************************************************!*\
  !*** ../enterprise/apps/LegalCases/Components/FormLegalCase.tsx ***!
  \******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormEntry)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormEntry extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\LegalCases\\\\Loader::Components\\\\FormLegalCase';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  renderContent() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('name'));\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/LegalCases/Components/FormLegalCase.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/LegalCases/Components/TableLegalCases.tsx":
/*!********************************************************************!*\
  !*** ../enterprise/apps/LegalCases/Components/TableLegalCases.tsx ***!
  \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableLegalCases)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormLegalCase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormLegalCase */ \"../enterprise/apps/LegalCases/Components/FormLegalCase.tsx\");\n\n\n\nclass TableLegalCases extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto\\\\App\\\\Enterprise\\\\LegalCases\\\\Models\\\\LegalCase'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Enterprise\\\\LegalCases\\\\Loader::Components\\\\TableLegalCases';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormLegalCase__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../enterprise/apps/LegalCases/Components/TableLegalCases.tsx?\n}");

/***/ }),

/***/ "../enterprise/apps/LegalCases/Loader.tsx":
/*!************************************************!*\
  !*** ../enterprise/apps/LegalCases/Loader.tsx ***!
  \************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableLegalCases__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableLegalCases */ \"../enterprise/apps/LegalCases/Components/TableLegalCases.tsx\");\n\n\nclass LegalCases extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('LegalCasesTableLegalCases', _Components_TableLegalCases__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Enterprise/LegalCases', new LegalCases());\n\n//# sourceURL=webpack:///../enterprise/apps/LegalCases/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/AiAssistent/Components/ChatUi.tsx":
/*!*****************************************************!*\
  !*** ../erp/apps/AiAssistent/Components/ChatUi.tsx ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ ChatUi)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_TranslatedComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/TranslatedComponent */ \"../react-ui/core/TranslatedComponent.tsx\");\n\n\n\nclass ChatUi extends _hubleto_react_ui_core_TranslatedComponent__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\AiAssistent\\\\Loader';\n  translationContextInner = 'Components\\\\ChatUi';\n  constructor(props) {\n    super(props);\n    this.state = {\n      messages: [],\n      context: null,\n      showContextDetails: false,\n      inputValue: '',\n      isLoading: false,\n      promptMode: 'user'\n    };\n  }\n  handleInputChange = e => {\n    this.setState({\n      inputValue: e.target.value\n    });\n  };\n  handleKeyDown = e => {\n    if (e.key === 'Enter' && !e.shiftKey) {\n      e.preventDefault();\n      this.sendMessage();\n    }\n  };\n  sendMessage = () => {\n    const message = this.state.inputValue.trim();\n    if (!message || this.state.isLoading) return;\n    const searchParams = new URLSearchParams(window.location.search);\n    const modelParam = searchParams.get('model');\n    const idParam = searchParams.get('id');\n    const newMessages = [...this.state.messages, {\n      role: 'user',\n      content: message\n    }];\n    this.setState({\n      messages: newMessages,\n      inputValue: '',\n      isLoading: true\n    });\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post('api/ai-assistant/chat', {\n      message: message,\n      messages: this.state.messages,\n      mode: this.state.promptMode,\n      model: modelParam,\n      id: idParam\n    }, {}, response => {\n      if (response && response.status === 'success') {\n        this.setState({\n          messages: [...newMessages, {\n            role: 'model',\n            content: response.response,\n            html: response.responseHtml\n          }],\n          context: response.context,\n          isLoading: false\n        });\n      } else {\n        this.setState({\n          messages: [...newMessages, {\n            role: 'model',\n            content: response?.message || this.translate('Error occurred.')\n          }],\n          context: response.context,\n          isLoading: false\n        });\n      }\n    }, error => {\n      this.setState({\n        messages: [...newMessages, {\n          role: 'model',\n          content: this.translate('Connection error.')\n        }],\n        isLoading: false\n      });\n    });\n  };\n  insertSampleQuestion = question => {\n    this.setState({\n      inputValue: question\n    });\n  };\n  render() {\n    const searchParams = new URLSearchParams(window.location.search);\n    const modelParam = searchParams.get('model');\n    const idParam = searchParams.get('id');\n    const contextSource = modelParam ? modelParam.split('/').pop() : '';\n    const sampleQuestions = [this.translate(\"What is the difference between a Lead and a Deal in Hubleto?\"), this.translate(\"How can I create a new model and migration in Hubleto?\"), this.translate(\"How do I set up calendar synchronization?\"), this.translate(\"How do I create a new custom app?\"), this.translate(\"How does the link between an order and an invoice work?\")];\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex h-full bg-white dark:bg-slate-900 shadow-sm border border-slate-200 dark:border-slate-700\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-1/4 border-r border-slate-200 dark:border-slate-700 p-4 bg-slate-50 dark:bg-slate-800 flex flex-col gap-4 overflow-y-auto\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex bg-slate-200 dark:bg-slate-700 p-1 rounded-lg\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      onClick: () => this.setState({\n        promptMode: 'user'\n      }),\n      className: `flex-1 py-2 px-3 text-sm font-medium rounded-md transition-colors ${this.state.promptMode === 'user' ? 'bg-white dark:bg-slate-600 text-blue-600 dark:text-blue-400 shadow-sm' : 'text-slate-600 dark:text-slate-300 hover:text-slate-900 dark:hover:text-white'}`\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-user mr-2\"\n    }), \" \", this.translate('User Mode')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      onClick: () => this.setState({\n        promptMode: 'developer'\n      }),\n      className: `flex-1 py-2 px-3 text-sm font-medium rounded-md transition-colors ${this.state.promptMode === 'developer' ? 'bg-white dark:bg-slate-600 text-blue-600 dark:text-blue-400 shadow-sm' : 'text-slate-600 dark:text-slate-300 hover:text-slate-900 dark:hover:text-white'}`\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-code mr-2\"\n    }), \" \", this.translate('Developer Mode'))), contextSource && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"mt-2 text-sm bg-blue-50 dark:bg-slate-700/50 border border-blue-200 dark:border-slate-600 rounded-md p-3 text-slate-700 dark:text-slate-300 flex flex-col items-start shadow-sm\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex items-center\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-database text-blue-500 dark:text-blue-400 mr-2\"\n    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"strong\", null, this.translate('Context'), \":\"), \" \", contextSource, \" \", idParam ? `#${idParam}` : '', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), this.state.context ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-transparent\",\n      onClick: () => {\n        this.setState({\n          showContextDetails: true\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate('Show context details'))) : null)), this.state.showContextDetails ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"pre\", {\n      className: \"text-xs w-full overflow-x-auto\"\n    }, JSON.stringify(this.state.context, null, 2)) : null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", {\n      className: \"font-semibold text-lg text-slate-800 dark:text-slate-200 mt-2\"\n    }, this.translate('Sample Questions')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"ul\", {\n      className: \"flex flex-col gap-2\"\n    }, sampleQuestions.map((q, idx) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"li\", {\n      key: idx\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"text-left w-full text-sm text-slate-600 dark:text-slate-300 bg-white dark:bg-slate-700 p-3 rounded-md border border-slate-200 dark:border-slate-600 hover:border-blue-400 hover:text-blue-600 dark:hover:border-blue-500 dark:hover:text-blue-400 transition-colors\",\n      onClick: () => this.insertSampleQuestion(q)\n    }, q))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1 flex flex-col bg-slate-50 dark:bg-slate-900 relative\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1 p-6 overflow-y-auto flex flex-col gap-4\"\n    }, this.state.messages.length === 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1 flex flex-col items-center justify-center text-slate-400 dark:text-slate-500\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n      src: this.props.assetsUrl + \"/images/hubi.png\",\n      className: \"h-24 w-auto object-contain opacity-50 mb-2 grayscale\",\n      alt: \"Hubi\"\n    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, this.translate('Hi, I am Hubi, your AIAssistant. How can I help you today with Hubleto ERP?'))) : this.state.messages.map((msg, idx) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      key: idx,\n      className: `flex ${msg.role === 'user' ? 'justify-end' : 'justify-start'}`\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: `max-w-[90%] md:max-w-[85%] p-5 sm:p-6 shadow-md ${msg.role === 'user' ? 'bg-blue-600 text-white rounded-2xl rounded-br-none' : 'bg-white dark:bg-slate-800 text-slate-800 dark:text-slate-200 rounded-2xl rounded-bl-none border border-slate-200 dark:border-slate-700'}`\n    }, msg.html ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      dangerouslySetInnerHTML: {\n        __html: msg.html\n      },\n      className: \"prose prose-slate dark:prose-invert max-w-none text-base leading-relaxed prose-pre:bg-slate-800 prose-pre:text-slate-50\"\n    }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"whitespace-pre-wrap text-base leading-relaxed\"\n    }, msg.content)))), this.state.isLoading && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex justify-start\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"bg-white dark:bg-slate-800 text-slate-500 dark:text-slate-400 p-4 rounded-xl rounded-bl-none shadow-sm border border-slate-200 dark:border-slate-700 flex items-center gap-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-spinner fa-spin\"\n    }), \" \", this.translate('Thinking...')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"p-4 border-t border-slate-200 dark:border-slate-700 bg-white dark:bg-slate-800\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"relative flex items-end gap-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"textarea\", {\n      value: this.state.inputValue,\n      onChange: this.handleInputChange,\n      onKeyDown: this.handleKeyDown,\n      placeholder: this.translate('Type your question here...'),\n      className: \"flex-1 h-[50px] border border-slate-300 dark:border-slate-600 rounded-lg py-3 px-4 resize-none focus:outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 dark:bg-slate-700 dark:text-slate-200\",\n      rows: 1,\n      disabled: this.state.isLoading\n    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      onClick: this.sendMessage,\n      disabled: this.state.isLoading || !this.state.inputValue.trim(),\n      className: \"h-[50px] w-[50px] bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:bg-slate-300 dark:disabled:bg-slate-600 disabled:cursor-not-allowed transition-colors flex items-center justify-center\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-paper-plane\"\n    }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"text-xs text-slate-400 dark:text-slate-500 mt-2 text-center\"\n    }, this.translate('AI can make mistakes. Please verify answers in the official documentation.')))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/AiAssistent/Components/ChatUi.tsx?\n}");

/***/ }),

/***/ "../erp/apps/AiAssistent/Loader.tsx":
/*!******************************************!*\
  !*** ../erp/apps/AiAssistent/Loader.tsx ***!
  \******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Components_ChatUi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Components/ChatUi */ \"../erp/apps/AiAssistent/Components/ChatUi.tsx\");\n\nglobalThis.hubleto.registerReactComponent('AiAssistentChatUi', _Components_ChatUi__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///../erp/apps/AiAssistent/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Api/Components/FormKey.tsx":
/*!**********************************************!*\
  !*** ../erp/apps/Api/Components/FormKey.tsx ***!
  \**********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormKey)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Varchar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Varchar */ \"../react-ui/core/Inputs/Varchar.tsx\");\n/* harmony import */ var _TablePermissions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./TablePermissions */ \"../erp/apps/Api/Components/TablePermissions.tsx\");\n/* harmony import */ var _TableUsages__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TableUsages */ \"../erp/apps/Api/Components/TableUsages.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n\n\n\n\n\n\nclass FormKey extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Api/Models/Key'\n  };\n  refInputApp = null;\n  refInputController = null;\n  refInputVars = null;\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Api\\\\Loader';\n  translationContextInner = 'Components\\\\FormKey';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n    this.refInputApp = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refInputController = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refInputVars = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  }\n  getStateFromProps(props) {\n    let editTabs = [];\n    if (props.id > 0) {\n      editTabs = [{\n        uid: 'permissions',\n        title: this.translate('Permissions')\n      }, {\n        uid: 'test',\n        title: this.translate('Test')\n      }, {\n        uid: 'usage',\n        title: this.translate('Usage')\n      }];\n    }\n    return {\n      ...super.getStateFromProps(props),\n      testRequest: null,\n      testResponse: null,\n      tabs: [{\n        uid: 'default',\n        title: this.translate('Key')\n      }, ...editTabs]\n    };\n  }\n  getRecordFormUrl() {\n    return 'api/keys/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('API Key')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.key ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('key'), this.inputWrapper('valid_until'), this.inputWrapper('is_enabled'), this.inputWrapper('notes'), this.inputWrapper('ip_address_blacklist'), this.inputWrapper('ip_address_whitelist'), this.inputWrapper('created'), this.inputWrapper('id_created_by'));\n        // removed by dead control flow\n\n      case 'permissions':\n        return R.id > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TablePermissions__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          uid: this.props.uid + \"_table_permissions\",\n          tag: this.props.uid + \"_table_permissions\",\n          parentForm: this,\n          idKey: R.id\n        }) : null;\n        // removed by dead control flow\n\n      case 'test':\n        return R.id > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n          className: \"table-default dense\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"thead\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Parameter')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Value')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('Endpoint')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n          className: \"m-2\"\n        }, globalThis.hubleto.config.projectUrl + '/api/call')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('Key')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n          className: \"m-2\"\n        }, R.key)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('App')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n          className: \"m-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Varchar__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          uid: \"app\",\n          value: \"Hubleto\\\\App\\\\Community\\\\Contacts\",\n          ref: this.refInputApp\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('Controller')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n          className: \"m-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Varchar__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          uid: \"controller\",\n          value: \"GetContacts\",\n          ref: this.refInputController\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('Vars')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n          className: \"m-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Varchar__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          uid: \"vars\",\n          value: \"{\\\"idCustomer\\\":0}\",\n          ref: this.refInputVars\n        }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-primary-outline mt-2\",\n          onClick: () => {\n            let testRequest = {\n              key: R.key,\n              app: this.refInputApp.current.state.value,\n              controller: this.refInputController.current.state.value,\n              vars: this.refInputVars.current.state.value\n            };\n            _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_5__[\"default\"].post('api/call', testRequest, {}, data => {\n              this.setState({\n                testRequest: testRequest,\n                testResponse: data\n              });\n            }, error => {\n              this.setState({\n                testRequest: testRequest,\n                testResponse: error\n              });\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-bolt\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Run test'))), this.state.testResponse ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Test result')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"pre\", {\n          className: \"text-xs bg-yellow-50 p-2\"\n        }, \"POST accounts/wai-blue/api/call\", \"\\n\", \"  \", \"-H 'Content-type: application/json'\", \"\\n\", \"  \", \"-D '{\", \"\\n\", \"    \", \"key: \", this.state.testRequest.key, \"\\n\", \"    \", \"app: \", this.state.testRequest.app, \"\\n\", \"    \", \"controller: \", this.state.testRequest.controller, \"\\n\", \"    \", \"vars: \", JSON.stringify(this.state.testRequest.vars), \"\\n\", \"  \", \"}'\", \"\\n\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"pre\", {\n          className: \"text-xs bg-blue-50 p-2\"\n        }, JSON.stringify(this.state.testResponse, null, 2)))) : null) : null;\n        // removed by dead control flow\n\n      case 'usage':\n        return R.id > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableUsages__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n          uid: this.props.uid + \"_table_usage\",\n          tag: this.props.uid + \"_table_usage\",\n          parentForm: this,\n          idKey: R.id,\n          readonly: true\n        }) : null;\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Api/Components/FormKey.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Api/Components/FormPermission.tsx":
/*!*****************************************************!*\
  !*** ../erp/apps/Api/Components/FormPermission.tsx ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormPermission)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormPermission extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Api/Models/Permission'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Api\\\\Loader';\n  translationContextInner = 'Components\\\\FormPermission';\n  constructor(props) {\n    super(props);\n  }\n  getRecordFormUrl() {\n    return 'api/permissions/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Permission')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_key'), this.inputWrapper('app'), this.inputWrapper('controller'));\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Api/Components/FormPermission.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Api/Components/FormUsage.tsx":
/*!************************************************!*\
  !*** ../erp/apps/Api/Components/FormUsage.tsx ***!
  \************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormUsage)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormUsage extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Api/Models/Usage'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Api\\\\Loader';\n  translationContextInner = 'Components\\\\FormUsage';\n  constructor(props) {\n    super(props);\n  }\n  getRecordFormUrl() {\n    return 'api/usages/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Usage')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_key'), this.inputWrapper('controller'), this.inputWrapper('used_on'), this.inputWrapper('ip_address'), this.inputWrapper('status'));\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Api/Components/FormUsage.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Api/Components/TableKeys.tsx":
/*!************************************************!*\
  !*** ../erp/apps/Api/Components/TableKeys.tsx ***!
  \************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableKeys)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormKey__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormKey */ \"../erp/apps/Api/Components/FormKey.tsx\");\n\n\n\nclass TableKeys extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Api/Models/Key'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Api\\\\Loader';\n  translationContextInner = 'Components\\\\TableKeys';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idKey: this.props.idKey\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/api/keys/' + (id > 0 ? id : 'add'));\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"key\") {\n      return data.key.substr(0, 8) + ' ...';\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idKey = this.props.idKey;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_key: this.props.idKey\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormKey__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Api/Components/TableKeys.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Api/Components/TablePermissions.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Api/Components/TablePermissions.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TablePermissions)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormPermission__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormPermission */ \"../erp/apps/Api/Components/FormPermission.tsx\");\n\n\n\nclass TablePermissions extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Api/Models/Permission'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Api\\\\Loader';\n  translationContextInner = 'Components\\\\TablePermissions';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/api/permissions/' + (id > 0 ? id : 'add'));\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idKey: this.props.idKey\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idKey = this.props.idKey;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_key: this.props.idKey\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormPermission__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Api/Components/TablePermissions.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Api/Components/TableUsages.tsx":
/*!**************************************************!*\
  !*** ../erp/apps/Api/Components/TableUsages.tsx ***!
  \**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableUsages)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormUsage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormUsage */ \"../erp/apps/Api/Components/FormUsage.tsx\");\n\n\n\nclass TableUsages extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Api/Models/Usage',\n    readonly: true\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Api\\\\Loader';\n  translationContextInner = 'Components\\\\TableUsages';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idKey: this.props.idKey\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/api/usages/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idKey = this.props.idKey;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_key: this.props.idKey\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormUsage__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Api/Components/TableUsages.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Api/Loader.tsx":
/*!**********************************!*\
  !*** ../erp/apps/Api/Loader.tsx ***!
  \**********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableKeys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableKeys */ \"../erp/apps/Api/Components/TableKeys.tsx\");\n/* harmony import */ var _Components_TablePermissions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TablePermissions */ \"../erp/apps/Api/Components/TablePermissions.tsx\");\n/* harmony import */ var _Components_TableUsages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/TableUsages */ \"../erp/apps/Api/Components/TableUsages.tsx\");\n\n\n\n\nclass ApiApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('ApiTableKeys', _Components_TableKeys__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('ApiTablePermissions', _Components_TablePermissions__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('ApiTableUsages', _Components_TableUsages__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Api', new ApiApp());\n\n//# sourceURL=webpack:///../erp/apps/Api/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/AuditLogs/Components/FormAuditLog.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/AuditLogs/Components/FormAuditLog.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormAuditLog)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormAuditLog extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/AuditLogs/Models/AuditLog'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\AuditLogs\\\\Loader';\n  translationContextInner = 'Components\\\\FormAuditLog';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Audit Log')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.context), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.state.record.model, \" #\", this.state.record.record_id));\n  }\n  renderContent() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('datetime'), this.inputWrapper('type'), this.inputWrapper('context'), this.inputWrapper('model'), this.inputWrapper('record_id'), this.inputWrapper('message'), this.inputWrapper('priority'), this.inputWrapper('id_user'), this.inputWrapper('ip'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/AuditLogs/Components/FormAuditLog.tsx?\n}");

/***/ }),

/***/ "../erp/apps/AuditLogs/Components/TableAuditLogs.tsx":
/*!***********************************************************!*\
  !*** ../erp/apps/AuditLogs/Components/TableAuditLogs.tsx ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableAuditLogs)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormAuditLog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormAuditLog */ \"../erp/apps/AuditLogs/Components/FormAuditLog.tsx\");\n\n\n\nclass TableAuditLogs extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/AuditLogs/Models/AuditLog'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\AuditLogs\\\\Loader';\n  translationContextInner = 'Components\\\\TableAuditLogs';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      folder: this.props.folder\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right';\n    return params;\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormAuditLog__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/AuditLogs/Components/TableAuditLogs.tsx?\n}");

/***/ }),

/***/ "../erp/apps/AuditLogs/Loader.tsx":
/*!****************************************!*\
  !*** ../erp/apps/AuditLogs/Loader.tsx ***!
  \****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Components_TableAuditLogs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Components/TableAuditLogs */ \"../erp/apps/AuditLogs/Components/TableAuditLogs.tsx\");\n\nglobalThis.hubleto.registerReactComponent('AuditLogsTableAuditLogs', _Components_TableAuditLogs__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///../erp/apps/AuditLogs/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Billing/Components/TableBillingAccountServices.tsx":
/*!**********************************************************************!*\
  !*** ../erp/apps/Billing/Components/TableBillingAccountServices.tsx ***!
  \**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableBillingAccountServices)\n/* harmony export */ });\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n\nclass TableBillingAccountServices extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_0__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Billing/Models/BillingAccountService'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Billing\\\\Loader';\n  translationContextInner = 'Components\\\\TableBillingAccountServices';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n\n  //   getStateFromProps(props: TableBillingAccountServicesProps) {\n  //     return {\n  //       ...super.getStateFromProps(props),\n  //     }\n  //   }\n\n  //   renderForm(): JSX.Element {\n  //     let formDescription = this.getFormProps();\n  //     return <FormActivity {...formDescription}/>;\n  //   }\n}\n\n//# sourceURL=webpack:///../erp/apps/Billing/Components/TableBillingAccountServices.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Billing/Loader.tsx":
/*!**************************************!*\
  !*** ../erp/apps/Billing/Loader.tsx ***!
  \**************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableBillingAccountServices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableBillingAccountServices */ \"../erp/apps/Billing/Components/TableBillingAccountServices.tsx\");\n\n\nclass BillingApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('BillingTableBillingAccountService', _Components_TableBillingAccountServices__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Billing', new BillingApp());\n\n//# sourceURL=webpack:///../erp/apps/Billing/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Calendar/Components/Calendar.tsx":
/*!****************************************************!*\
  !*** ../erp/apps/Calendar/Components/Calendar.tsx ***!
  \****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Calendar)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _fullcalendar_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @fullcalendar/react */ \"../react-ui/node_modules/@fullcalendar/react/dist/index.js\");\n/* harmony import */ var _fullcalendar_daygrid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @fullcalendar/daygrid */ \"../react-ui/node_modules/@fullcalendar/daygrid/index.js\");\n/* harmony import */ var _fullcalendar_timegrid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @fullcalendar/timegrid */ \"../react-ui/node_modules/@fullcalendar/timegrid/index.js\");\n/* harmony import */ var _fullcalendar_interaction__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @fullcalendar/interaction */ \"../react-ui/node_modules/@fullcalendar/interaction/index.js\");\n/* harmony import */ var _fullcalendar_list__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @fullcalendar/list */ \"../react-ui/node_modules/@fullcalendar/list/index.js\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _fullcalendar_core_locales_sk__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @fullcalendar/core/locales/sk */ \"../react-ui/node_modules/@fullcalendar/core/locales/sk.js\");\n/* harmony import */ var _fullcalendar_core_locales_cs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @fullcalendar/core/locales/cs */ \"../react-ui/node_modules/@fullcalendar/core/locales/cs.js\");\n/* harmony import */ var _fullcalendar_core_locales_pl__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @fullcalendar/core/locales/pl */ \"../react-ui/node_modules/@fullcalendar/core/locales/pl.js\");\n/* harmony import */ var _fullcalendar_core_locales_de__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @fullcalendar/core/locales/de */ \"../react-ui/node_modules/@fullcalendar/core/locales/de.js\");\n/* harmony import */ var _fullcalendar_core_locales_ro__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @fullcalendar/core/locales/ro */ \"../react-ui/node_modules/@fullcalendar/core/locales/ro.js\");\n/* harmony import */ var _fullcalendar_core_locales_it__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @fullcalendar/core/locales/it */ \"../react-ui/node_modules/@fullcalendar/core/locales/it.js\");\n/* harmony import */ var _fullcalendar_core_locales_es__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @fullcalendar/core/locales/es */ \"../react-ui/node_modules/@fullcalendar/core/locales/es.js\");\n/* harmony import */ var _fullcalendar_core_locales_fr__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @fullcalendar/core/locales/fr */ \"../react-ui/node_modules/@fullcalendar/core/locales/fr.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst localeMap = {\n  'sk': _fullcalendar_core_locales_sk__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n  'cs': _fullcalendar_core_locales_cs__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n  'pl': _fullcalendar_core_locales_pl__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n  'de': _fullcalendar_core_locales_de__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n  'ro': _fullcalendar_core_locales_ro__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n  'it': _fullcalendar_core_locales_it__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n  'es': _fullcalendar_core_locales_es__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n  'fr': _fullcalendar_core_locales_fr__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n  'en': null\n};\nconst currentLang = globalThis.hubleto.config.language;\nclass Calendar extends react__WEBPACK_IMPORTED_MODULE_0__.Component {\n  constructor(props) {\n    super(props);\n    this.state = {\n      events: [],\n      dateClicked: \"\",\n      timeClicked: \"\",\n      headerToolbar: this.props.headerToolbar ?? {\n        left: 'prev,next today',\n        center: 'title',\n        right: this.props.views ?? 'timeGridDay,timeGridWeek,dayGridMonth'\n      }\n    };\n  }\n  renderCell = eventInfo => {\n    let color = \"\";\n\n    //choose the correct color based on the current view and the calendar color config\n    if (eventInfo.view.type == \"dayGridMonth\" && eventInfo.event.allDay) {\n      color = \"\";\n    } else if (eventInfo.view.type == \"dayGridMonth\" || eventInfo.view.type == \"listYear\") {\n      color = eventInfo.event.backgroundColor;\n    }\n    const cellContent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, eventInfo.event.extendedProps.completed ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-check ml-1\"\n    }) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", {\n      className: \"ml-2\"\n    }, eventInfo.timeText), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"ml-2\"\n    }, eventInfo.event.title), eventInfo.event.extendedProps.details ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"ml-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", null, eventInfo.event.extendedProps.details))) : null);\n    if (eventInfo.event.url) {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n        href: eventInfo.event.url,\n        target: \"_blank\"\n      }, cellContent);\n    } else {\n      return cellContent;\n    }\n  };\n  render() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_fullcalendar_react__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n      eventClassNames: \"truncate cursor-pointer\",\n      height: this.props.height,\n      plugins: [_fullcalendar_daygrid__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _fullcalendar_timegrid__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _fullcalendar_interaction__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _fullcalendar_list__WEBPACK_IMPORTED_MODULE_5__[\"default\"]],\n      firstDay: 1,\n      scrollTime: \"10:30:00\",\n      headerToolbar: this.state.headerToolbar,\n      initialView: this.props.initialView,\n      eventTimeFormat: {\n        hour: '2-digit',\n        minute: '2-digit',\n        meridiem: false,\n        hour12: false\n      },\n      editable: false,\n      selectable: false,\n      selectMirror: false,\n      dayMaxEvents: true,\n      weekends: true,\n      events: {\n        url: this.props.eventsEndpoint\n      },\n      eventsSet: events => {\n        if (this.props.onEventsLoaded) this.props.onEventsLoaded(events);\n      }\n      //initialEvents={this.state.events} // alternatively, use the `events` setting to fetch from a feed\n      //select={handleDateSelect}\n      ,\n      viewDidMount: data => {\n        _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__[\"default\"].post('calendar/api/set-initial-view', {\n          initialView: data.view.type\n        });\n      },\n      dateClick: info => {\n        if (this.props.readonly) return;\n        const year = info.date.getFullYear();\n        const month = String(info.date.getMonth() + 1).padStart(2, '0');\n        const day = String(info.date.getDate()).padStart(2, '0');\n        const hours = String(info.date.getHours()).padStart(2, '0');\n        const minutes = String(info.date.getMinutes()).padStart(2, '0');\n        const seconds = String(info.date.getSeconds()).padStart(2, '0');\n        const date = `${year}-${month}-${day}`;\n        const time = `${hours}:${minutes}:${seconds}`;\n        this.props.onDateClick(date, time, info);\n      },\n      eventContent: this.renderCell // custom render function\n      ,\n      eventClick: info => this.props.onEventClick(info),\n      locale: localeMap[currentLang]\n    }));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Calendar/Components/Calendar.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Calendar/Components/CalendarMain.tsx":
/*!********************************************************!*\
  !*** ../erp/apps/Calendar/Components/CalendarMain.tsx ***!
  \********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CalendarComponent)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Helper */ \"../react-ui/core/Helper.tsx\");\n/* harmony import */ var _Calendar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Calendar */ \"../erp/apps/Calendar/Components/Calendar.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/ModalForm */ \"../react-ui/core/ModalForm.tsx\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! moment */ \"../react-ui/node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _hubleto_react_ui_core_TranslatedComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @hubleto/react-ui/core/TranslatedComponent */ \"../react-ui/core/TranslatedComponent.tsx\");\n\n\n\n\n\n\nclass CalendarComponent extends _hubleto_react_ui_core_TranslatedComponent__WEBPACK_IMPORTED_MODULE_5__[\"default\"] {\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader';\n  translationContextInner = 'Components\\\\CalendarMain';\n  // refActivityModal: any;\n  // refActivityForm: any;\n\n  constructor(props) {\n    super(props);\n    this.refCalendar = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refActivityModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refActivityForm = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    // this.refActivityModal = React.createRef();\n    // this.refActivityForm = React.createRef();\n\n    this.state = {\n      showActivity: this.props.showActivity ?? '',\n      events: [],\n      showIdActivity: 0,\n      dateClicked: \"\",\n      timeClicked: \"\",\n      newActivity: false,\n      calendars: this.props.calendars,\n      fOwnership: 0,\n      fCompleted: 0\n    };\n  }\n  getCalenActivitiesEndpointUrl(showActivity, eventId) {\n    return 'calendar/api/get-calendar-events?' + 'fOwnership=' + this.state.fOwnership + '&fCompleted=' + this.state.fCompleted + '&' + Object.keys(this.state.calendars).filter(calendarName => this.state.calendars[calendarName].show).map(calendarName => 'calendars[]=' + calendarName).join('&')\n    // + (showActivity ? '&source=' + showActivity : '')\n    + (eventId ? '&id=' + eventId : '');\n  }\n  renderCell = eventInfo => {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, eventInfo.timeText), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      style: {\n        marginLeft: 4\n      }\n    }, eventInfo.event.title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      style: {\n        marginLeft: 4\n      }\n    }, \"(\", eventInfo.event.extendedProps.type, \")\"));\n  };\n  render() {\n    let eventForm = null;\n    if (this.state.showActivity) {\n      (0,_hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__.setUrlParam)('showActivity', this.state.showActivity);\n      const activityCalendar = this.state.showActivity.split(',')[0];\n      const activityId = this.state.showActivity.split(',')[1];\n      let calendar = this.state.calendars[activityCalendar];\n      eventForm = globalThis.hubleto.renderReactElement(calendar.formComponent, {\n        ref: this.refActivityForm,\n        description: {\n          defaultValues: {\n            date_start: this.state.dateClicked,\n            time_start: this.state.timeClicked ?? moment__WEBPACK_IMPORTED_MODULE_4___default()().format('HH:mm:ss'),\n            date_end: this.state.dateClicked,\n            time_end: moment__WEBPACK_IMPORTED_MODULE_4___default()().add(30, 'minutes').format(\"HH:mm:ss\")\n          }\n        },\n        id: activityId,\n        modal: this.refActivityModal,\n        onClose: () => {\n          this.setState({\n            showActivity: ''\n          });\n        },\n        onSaveCallback: () => {\n          this.setState({\n            showActivity: ''\n          });\n        }\n      });\n    } else {\n      (0,_hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__.deleteUrlParam)('showActivity');\n    }\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 flex-col md:flex-row\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex flex-col gap-2 text-nowrap\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-add-outline mb-2\",\n      onClick: () => {\n        this.setState({\n          showActivity: 'calendar,-1',\n          dateClicked: moment__WEBPACK_IMPORTED_MODULE_4___default()().format('YYYY-MM-DD'),\n          timeClicked: moment__WEBPACK_IMPORTED_MODULE_4___default()().format('HH:mm:ss')\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-plus\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate(\"New activity\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Calendars')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"list\"\n    }, Object.keys(this.props.calendars).map(calendarName => {\n      const calendar = this.props.calendars[calendarName];\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        className: \"btn btn-small btn-list-item btn-transparent\",\n        style: {\n          \"borderLeft\": \"1em solid \" + calendar.color\n        },\n        onClick: () => {\n          let calendars = this.state.calendars;\n          calendars[calendarName].show = !calendars[calendarName].show;\n          this.setState({\n            calendars: calendars\n          });\n        }\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n        type: \"checkbox\",\n        checked: this.state.calendars[calendarName].show\n      })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"text\"\n      }, calendar.title), calendar.missedActivities > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"badge badge-small badge-red ml-auto mr-1\"\n      }, calendar.missedActivities) : null);\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"list\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-small btn-list-item \" + (this.state.fOwnership == 0 ? \"btn-primary\" : \"btn-transparent\"),\n      onClick: () => {\n        this.setState({\n          fOwnership: 0\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate(\"All\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-small btn-list-item \" + (this.state.fOwnership == 1 ? \"btn-primary\" : \"btn-transparent\"),\n      onClick: () => {\n        this.setState({\n          fOwnership: 1\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate(\"My\")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"list\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-small btn-list-item \" + (this.state.fCompleted == 0 ? \"btn-primary\" : \"btn-transparent\"),\n      onClick: () => {\n        this.setState({\n          fCompleted: 0\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate(\"All\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-small btn-list-item \" + (this.state.fCompleted == 1 ? \"btn-primary\" : \"btn-transparent\"),\n      onClick: () => {\n        this.setState({\n          fCompleted: 1\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate(\"Open\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-small btn-list-item \" + (this.state.fCompleted == 2 ? \"btn-primary\" : \"btn-transparent\"),\n      onClick: () => {\n        this.setState({\n          fCompleted: 2\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate(\"Completed\")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n      className: \"btn btn-primary-outline mt-2\",\n      href: globalThis.hubleto.config.projectUrl + \"/calendar/share\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fa-solid fa-share-nodes\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate(\"Share calendar\")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-full\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Calendar__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      ref: this.refCalendar,\n      readonly: false,\n      views: \"timeGridDay,timeGridWeek,dayGridMonth,listYear\",\n      height: this.props.height,\n      initialView: this.props.initialView ?? \"timeGridWeek\",\n      eventsEndpoint: globalThis.hubleto.config.projectUrl + '/' + this.getCalenActivitiesEndpointUrl(this.props.showActivity),\n      onEventsLoaded: events => {},\n      onDateClick: (date, time, info) => {\n        this.setState({\n          showActivity: 'calendar,-1',\n          dateClicked: date,\n          timeClicked: info.view.type == \"dayGridMonth\" ? null : time\n        });\n      },\n      onEventClick: info => {\n        if (info.event.url) {\n          globalThis.window.open(globalThis.hubleto.config.projectUrl + '/' + info.event.url);\n        } else {\n          this.setState({\n            showActivity: info.event.extendedProps.source + ',' + info.event.id\n          });\n        }\n        info.jsEvent.preventDefault();\n      }\n    })), eventForm ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n      ref: this.refActivityModal,\n      form: this.refActivityForm,\n      uid: \"event_modal\",\n      isOpen: true,\n      type: \"right\",\n      onClose: () => this.setState({\n        showActivity: ''\n      })\n    }, eventForm) : null);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Calendar/Components/CalendarMain.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Calendar/Components/CalendarShareTable.tsx":
/*!**************************************************************!*\
  !*** ../erp/apps/Calendar/Components/CalendarShareTable.tsx ***!
  \**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CalendarShareTable)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_TranslatedComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/TranslatedComponent */ \"../react-ui/core/TranslatedComponent.tsx\");\n\n\n\n\nclass CalendarShareTable extends _hubleto_react_ui_core_TranslatedComponent__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader';\n  translationContextInner = 'Components\\\\CalendarShareTable';\n  constructor(props) {\n    super(props);\n    this.state = {\n      configs: props.configs,\n      loading: false,\n      newCalendar: \"\"\n    };\n  }\n  componentDidMount() {}\n  shareCalendar(calendar) {\n    this.setState({\n      loading: true,\n      newCalendar: calendar,\n      configs: this.state.configs\n    }, () => {\n      this.setState({\n        loading: false,\n        newCalendar: calendar,\n        configs: this.state.configs\n      });\n    });\n  }\n  refresh() {\n    this.setState({\n      loading: true,\n      newCalendar: \"\",\n      configs: this.state.configs\n    }, () => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].get('calendar/api/get-shared-calendars', {}, data => {\n        let backup = this.state.configs;\n        Object.entries(backup).forEach(backupObject => {\n          backup[backupObject[0]].shared = 0;\n        });\n        data.forEach(calendar => {\n          if (calendar.calendar in backup) {\n            backup[calendar.calendar].shared += 1;\n          }\n        });\n        this.setState({\n          loading: false,\n          newCalendar: \"\",\n          configs: backup\n        });\n      });\n    });\n  }\n  stopSharingConfirm(calendar) {\n    globalThis.hubleto.showDialogConfirm(this.translate('You are about to remove all shared access to the calendar \"{calendar}\". Do you want to continue?').replace('{calendar}', calendar), {\n      headerClassName: 'dialog-danger-header',\n      contentClassName: 'dialog-danger-content',\n      header: this.translate('Stop sharing \"{calendar}\"').replace('{calendar}', calendar),\n      yesText: this.translate('Yes, remove all shares'),\n      yesButtonClass: 'btn-danger',\n      onYes: () => {\n        this.stopSharingCalendar(calendar);\n      },\n      noText: this.translate('No, keep current sharing'),\n      onNo: () => {}\n    });\n  }\n  stopSharingCalendar(calendar) {\n    this.setState({\n      loading: true,\n      configs: this.state.configs\n    }, () => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post('calendar/api/stop-sharing-calendar', {\n        calendar: calendar\n      }, {}, data => {\n        this.refresh();\n      }, data => {\n        this.refresh();\n      });\n    });\n  }\n  removeShare(table) {\n    let recordToDelete = null;\n    for (let i in table.state.data?.records) {\n      if (table.state.data?.records[i]._toBeDeleted_) {\n        recordToDelete = table.state.data?.records[i];\n        break;\n      }\n    }\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post('calendar/api/stop-sharing-calendar', {\n      calendar: recordToDelete?.calendar ?? \"\",\n      share_key: recordToDelete?.share_key ?? \"\"\n    }, {}, data => {\n      this.refresh();\n    });\n  }\n  renderCalendars(calendars) {\n    return calendars.map(calendarObject => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", {\n      key: calendarObject[0],\n      style: {\n        \"borderLeft\": \"1em solid \" + calendarObject[1].color\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, calendarObject[1].title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n      className: \"text-right\"\n    }, calendarObject[1].shared == 1 && this.translate('Shared 1 time'), calendarObject[1].shared > 1 && this.translate('Shared {count} times').replace('{count}', calendarObject[1].shared), calendarObject[1].shared > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      onClick: () => this.stopSharingConfirm(calendarObject[0]),\n      className: \"btn btn-transparent btn-small\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-chain-broken\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate('Stop sharing'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      onClick: () => this.shareCalendar(calendarObject[0]),\n      className: \"btn btn-transparent btn-small\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-share-nodes\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate('Share calendar'), \" \", calendarObject[1].shared >= 1 && this.translate('again'))))));\n  }\n  render() {\n    let calendars = this.renderCalendars(Object.entries(this.state.configs));\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card w-1/2 m-auto\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-header\"\n    }, this.translate(\"Share calendar as ICS\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n      className: \"table-default dense w-full\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, calendars)))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card w-1/2 m-auto mt-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-header\"\n    }, this.translate('Shared calendars')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, this.state.loading ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      role: \"status\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"svg\", {\n      \"aria-hidden\": \"true\",\n      className: \"w-8 h-8 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600\",\n      viewBox: \"0 0 100 101\",\n      fill: \"none\",\n      xmlns: \"http://www.w3.org/2000/svg\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"path\", {\n      d: \"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\",\n      fill: \"currentColor\"\n    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"path\", {\n      d: \"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\",\n      fill: \"currentFill\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"sr-only\"\n    }, this.translate('Loading...'))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      model: \"Hubleto/App/Community/Calendar/Models/SharedCalendar\",\n      formReactComponent: \"SharedCalendarForm\",\n      description: {\n        ui: {\n          showHeader: false\n        }\n      },\n      recordId: this.state.newCalendar != \"\" ? -1 : 0,\n      onDeleteRecord: table => this.removeShare(table),\n      formProps: {\n        description: {\n          defaultValues: {\n            calendar: this.state.newCalendar\n          }\n        }\n      },\n      formCustomProps: {\n        onUpdate: () => this.refresh()\n      }\n    }))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Calendar/Components/CalendarShareTable.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Calendar/Components/FormActivity.tsx":
/*!********************************************************!*\
  !*** ../erp/apps/Calendar/Components/FormActivity.tsx ***!
  \********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormActivity)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! moment */ \"../react-ui/node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nclass FormActivity extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-calendar-days',\n    model: 'Hubleto/App/Community/Calendar/Models/Activity'\n  };\n  getActivitySourceReadable() {\n    return 'Event';\n  }\n  expandRecurrenceDates(recurrence) {\n    let dates = [];\n    let date = moment__WEBPACK_IMPORTED_MODULE_2___default()();\n    let periodCount = recurrence.periodCount;\n    for (let i = 0; i < periodCount; i++) {\n      dates.push(date.format('YYYY-MM-DD'));\n      date = date.add(recurrence.periodEvery, recurrence.period);\n    }\n    return dates;\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.getActivitySourceReadable()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.subject ?? ''));\n  }\n  renderCustomInputs() {\n    return null;\n  }\n  renderContent() {\n    const R = this.state.record;\n    const customInputs = this.renderCustomInputs();\n    let recurrence = {\n      period: '',\n      periodEvery: 1,\n      periodCount: 0,\n      dates: []\n    };\n    if (R.recurrence != '') {\n      try {\n        recurrence = JSON.parse(R.recurrence);\n        recurrence.dates = this.expandRecurrenceDates(recurrence);\n      } catch (ex) {\n        recurrence = {\n          period: '',\n          periodEvery: 1,\n          periodCount: 0,\n          dates: []\n        };\n        recurrence.dates = this.expandRecurrenceDates(recurrence);\n      }\n    }\n    let daysDuration = moment__WEBPACK_IMPORTED_MODULE_2___default()(R.date_end).diff(moment__WEBPACK_IMPORTED_MODULE_2___default()(R.date_start), 'days');\n    let hoursDuration = moment__WEBPACK_IMPORTED_MODULE_2___default()(R.date_end + ' ' + R.time_end).diff(moment__WEBPACK_IMPORTED_MODULE_2___default()(R.date_end + ' ' + R.time_start), 'hours');\n    let minutesDuration = moment__WEBPACK_IMPORTED_MODULE_2___default()(R.date_end + ' ' + R.time_end).diff(moment__WEBPACK_IMPORTED_MODULE_2___default()(R.date_end + ' ' + R.time_start), 'minutes') - (hoursDuration ?? 0) * 60;\n    if (isNaN(hoursDuration)) hoursDuration = 0;\n    if (isNaN(daysDuration)) daysDuration = 0;\n    if (isNaN(minutesDuration)) minutesDuration = 15;\n    if (R.all_day) {\n      hoursDuration = 0;\n      minutesDuration = 0;\n    }\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2\"\n    }, customInputs ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"grow p-2 mb-2 bg-blue-50 dark:bg-gray-900/50 rounded\"\n    }, customInputs) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 flex-col\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-full\"\n    }, this.inputWrapper('completed')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-full\"\n    }, this.inputWrapper('id_owner')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 flex-col md:flex-row\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"grow\"\n    }, this.inputWrapper('subject', {\n      cssClass: 'text-primary text-2xl'\n    }), this.inputWrapper('id_activity_type'), this.inputWrapper('online_meeting_link')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"grow\"\n    }, this.inputWrapper('location'), this.inputWrapper('description'))), this.inputWrapper('all_day'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 w-full flex-col md:flex-row\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-1/2\"\n    }, this.divider(this.translate('Start - End', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity')), this.input('date_start', {\n      onChange: (input, value) => {\n        this.updateRecord({\n          date_end: moment__WEBPACK_IMPORTED_MODULE_2___default()(value).add(daysDuration, 'days').format('YYYY-MM-DD')\n        });\n      }\n    }), R.all_day ? null : this.input('time_start', {\n      onChange: (input, value) => {\n        console.log(value, moment__WEBPACK_IMPORTED_MODULE_2___default()(R.date_end + ' ' + value + ':00'), moment__WEBPACK_IMPORTED_MODULE_2___default()(R.date_end + ' ' + value + ':00').add(minutesDuration, 'minutes').format('HH:mm:ss'));\n        this.updateRecord({\n          time_end: moment__WEBPACK_IMPORTED_MODULE_2___default()(R.date_end + ' ' + value + ':00').add(minutesDuration, 'minutes').format('HH:mm:ss')\n        });\n      }\n    }), this.input('date_end'), R.all_day ? null : this.input('time_end'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"mt-2 alert alert-info\"\n    }, this.translate('Duration', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity'), \": \", daysDuration > 0 && daysDuration + \" \" + this.translate('day(s)', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity'), daysDuration > 0 && (hoursDuration > 0 || minutesDuration > 0) && \", \", hoursDuration > 0 && hoursDuration + \" \" + this.translate('hours', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity'), hoursDuration > 0 && minutesDuration > 0 && \", \", minutesDuration > 0 && minutesDuration + \" \" + this.translate('minutes', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-1/2\"\n    }, this.divider(this.translate('Repeats', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity')), this.inputWrapperCustom('recurrence', {}, '', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"hubleto component input flex flex-col items-start gap-2 dark:text-gray-200\"\n    }, recurrence && recurrence.period == '' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"select\", {\n      value: recurrence.period,\n      className: \"w-full dark:bg-gray-800 dark:border-gray-600 dark:text-white\",\n      onChange: event => {\n        let newR = R;\n        //@ts-ignore\n        recurrence.period = event.currentTarget.value;\n        recurrence.dates = this.expandRecurrenceDates(recurrence);\n        newR.recurrence = JSON.stringify(recurrence);\n        this.updateRecord(newR);\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"\"\n    }, this.translate('Does not repeat', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"day\"\n    }, this.translate('Configure custom recurrence', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity'))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-1 items-center text-nowrap\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, this.translate('Repeat every', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n      className: \"dark:bg-gray-800 dark:border-gray-600 dark:text-white rounded border p-1\",\n      type: \"number\",\n      value: recurrence.periodEvery,\n      style: {\n        width: '4em'\n      },\n      onChange: event => {\n        let newR = R;\n        recurrence.periodEvery = parseInt(event.currentTarget.value) ?? 1;\n        newR.recurrence = JSON.stringify(recurrence);\n        this.updateRecord(newR);\n      }\n    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"select\", {\n      className: \"dark:bg-gray-800 dark:border-gray-600 dark:text-white rounded border p-1\",\n      value: recurrence.period,\n      style: {\n        width: '8em'\n      },\n      onChange: event => {\n        let newR = R;\n        //@ts-ignore\n        recurrence.period = event.currentTarget.value;\n        recurrence.dates = this.expandRecurrenceDates(recurrence);\n        newR.recurrence = JSON.stringify(recurrence);\n        this.updateRecord(newR);\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"\"\n    }, this.translate('does not repeat', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"day\"\n    }, this.translate('day', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"week\"\n    }, this.translate('week', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"month\"\n    }, this.translate('month', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"year\"\n    }, this.translate('year', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-1 items-center text-nowrap\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, this.translate('End after', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n      className: \"dark:bg-gray-800 dark:border-gray-600 dark:text-white rounded border p-1\",\n      type: \"number\",\n      value: recurrence.periodCount,\n      style: {\n        width: '4em'\n      },\n      onChange: event => {\n        let newR = R;\n        recurrence.periodCount = parseInt(event.currentTarget.value) ?? 1;\n        recurrence.dates = this.expandRecurrenceDates(recurrence);\n        newR.recurrence = JSON.stringify(recurrence);\n        this.updateRecord(newR);\n      }\n    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, this.translate('occurences.', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-1 text-nowrap\"\n    }, this.translate('Repeats from {{ dateFrom }} to {{ dateTo }}.', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity').replace('{{ dateFrom }}', recurrence.dates[0]).replace('{{ dateTo }}', recurrence.dates[recurrence.dates.length - 1]))))))), this.divider(this.translate('Meeting minutes', 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader', 'Components\\\\FormActivity')), this.inputWrapper('meeting_minutes'), this.inputWrapper('meeting_minutes_link'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Calendar/Components/FormActivity.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Calendar/Components/FormSharedCalendar.tsx":
/*!**************************************************************!*\
  !*** ../erp/apps/Calendar/Components/FormSharedCalendar.tsx ***!
  \**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormSharedCalendar)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormSharedCalendar extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Calendar/Models/SharedCalendar'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Calendar\\\\Loader';\n  translationContextInner = 'Components\\\\FormSharedCalendar';\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Shared calendar')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.subject ?? ''));\n  }\n  onAfterSaveRecord(saveResponse) {\n    super.onAfterSaveRecord(saveResponse);\n    this.props.onUpdate();\n  }\n  onAfterDeleteRecord(deleteResponse) {\n    super.onAfterDeleteRecord(deleteResponse);\n    this.props.onUpdate();\n  }\n  renderContent() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper(\"id_owner\"), this.inputWrapper(\"calendar\"), this.inputWrapper(\"view_details\"), this.inputWrapper(\"enabled\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex align-middle justify-between\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper(\"date_from\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper(\"date_to\"))), this.state.record.id > 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 mt-4 input-element\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n      type: \"text\",\n      className: \"flex-grow bg-muted\",\n      value: globalThis.hubleto.config.projectUrl + \"/calendar/\" + this.state.record.share_key + \"/ics\",\n      readOnly: true\n    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-primary px-2\",\n      onClick: () => navigator.clipboard.writeText(globalThis.hubleto.config.projectUrl + \"/calendar/\" + this.state.record.share_key + \"/ics\")\n    }, this.translate('Copy share link'))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Calendar/Components/FormSharedCalendar.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Calendar/Loader.tsx":
/*!***************************************!*\
  !*** ../erp/apps/Calendar/Loader.tsx ***!
  \***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_CalendarMain__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/CalendarMain */ \"../erp/apps/Calendar/Components/CalendarMain.tsx\");\n/* harmony import */ var _Components_FormActivity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/FormActivity */ \"../erp/apps/Calendar/Components/FormActivity.tsx\");\n/* harmony import */ var _Components_CalendarShareTable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/CalendarShareTable */ \"../erp/apps/Calendar/Components/CalendarShareTable.tsx\");\n/* harmony import */ var _Components_FormSharedCalendar__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Components/FormSharedCalendar */ \"../erp/apps/Calendar/Components/FormSharedCalendar.tsx\");\n\n\n\n\n\nclass CalendarApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('CalendarShareTable', _Components_CalendarShareTable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('CalendarMain', _Components_CalendarMain__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('CalendarFormActivity', _Components_FormActivity__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('SharedCalendarForm', _Components_FormSharedCalendar__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Calendar', new CalendarApp());\n\n//# sourceURL=webpack:///../erp/apps/Calendar/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/CalendarSync/Components/FormCalendarSyncSource.tsx":
/*!**********************************************************************!*\
  !*** ../erp/apps/CalendarSync/Components/FormCalendarSyncSource.tsx ***!
  \**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormCalendarSyncSource)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Form__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Form */ \"../react-ui/core/Form.tsx\");\n\n\nclass FormCalendarSyncSource extends _hubleto_react_ui_core_Form__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Form__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Customers/Models/CustomerActivity'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\CalendarSync\\\\Loader';\n  translationContextInner = 'Components\\\\FormSource';\n  renderContent() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('name'), this.inputWrapper('type'), this.inputWrapper('link'), this.state.record.type == 'google' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"alert-info mt-1\"\n    }, this.translate('Enter the Calendar ID from the settings of your calendar in Google Calendar (look at the bottom of the page).'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), \" \", this.translate('It should be in the form of'), \" \", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, '<', \"Google Calendar identifier\", '>', \"@group.calendar.google.com\"), \".\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), \" \", this.translate('The calendar must also be set to public or the API Key specified in the config file must have access to it.')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null), this.state.record.type == 'ics' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"alert-info mt-1\"\n    }, this.translate('Enter the URL that points to an ICS file.')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null), this.inputWrapper('color'), this.inputWrapper('active'), this.state.record.type == 'google' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"alert-warning mt-1\"\n    }, this.translate('When using Google calendar, make sure you define an API key in ConfigEnv.php: $config[\\'google-api-key\\'] = ...')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/CalendarSync/Components/FormCalendarSyncSource.tsx?\n}");

/***/ }),

/***/ "../erp/apps/CalendarSync/Components/TableCalendarSyncSources.tsx":
/*!************************************************************************!*\
  !*** ../erp/apps/CalendarSync/Components/TableCalendarSyncSources.tsx ***!
  \************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableCalendarSyncSources)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormCalendarSyncSource__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormCalendarSyncSource */ \"../erp/apps/CalendarSync/Components/FormCalendarSyncSource.tsx\");\n\n\n\nclass TableCalendarSyncSources extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/CalendarSync/Models/Source'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\CalendarSync\\\\Loader';\n  translationContextInner = 'Components\\\\TableSources';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormCalendarSyncSource__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/CalendarSync/Components/TableCalendarSyncSources.tsx?\n}");

/***/ }),

/***/ "../erp/apps/CalendarSync/Loader.tsx":
/*!*******************************************!*\
  !*** ../erp/apps/CalendarSync/Loader.tsx ***!
  \*******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Components_TableCalendarSyncSources__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Components/TableCalendarSyncSources */ \"../erp/apps/CalendarSync/Components/TableCalendarSyncSources.tsx\");\n\nglobalThis.hubleto.registerReactComponent('TableCalendarSyncSources', _Components_TableCalendarSyncSources__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///../erp/apps/CalendarSync/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Campaigns/Components/CampaignFormActivity.tsx":
/*!*****************************************************************!*\
  !*** ../erp/apps/Campaigns/Components/CampaignFormActivity.tsx ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CampaignFormActivity)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/apps/Calendar/Components/FormActivity */ \"../erp/apps/Calendar/Components/FormActivity.tsx\");\n\n\n\nclass CampaignFormActivity extends _hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Campaigns/Models/CampaignActivity'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Campaigns\\\\Loader';\n  translationContextInner = 'Components\\\\FormActivity';\n  constructor(props) {\n    super(props);\n  }\n  getActivitySourceReadable() {\n    return this.translate('Campaign');\n  }\n  renderCustomInputs() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_campaign', {\n      readonly: R.id > 0\n    }));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Campaigns/Components/CampaignFormActivity.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Campaigns/Components/FormCampaign.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Campaigns/Components/FormCampaign.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormCampaign)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_apps_Contacts_Components_TableContacts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/apps/Contacts/Components/TableContacts */ \"../erp/apps/Contacts/Components/TableContacts.tsx\");\n/* harmony import */ var _hubleto_apps_Campaigns_Components_TableRecipients__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/apps/Campaigns/Components/TableRecipients */ \"../erp/apps/Campaigns/Components/TableRecipients.tsx\");\n/* harmony import */ var _hubleto_apps_Campaigns_Components_TableClicks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @hubleto/apps/Campaigns/Components/TableClicks */ \"../erp/apps/Campaigns/Components/TableClicks.tsx\");\n/* harmony import */ var _hubleto_apps_Tasks_Components_TableTasks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @hubleto/apps/Tasks/Components/TableTasks */ \"../erp/apps/Tasks/Components/TableTasks.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_JsonKeyValue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/JsonKeyValue */ \"../react-ui/core/Inputs/JsonKeyValue.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @hubleto/react-ui/core/ModalForm */ \"../react-ui/core/ModalForm.tsx\");\n/* harmony import */ var _CampaignFormActivity__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./CampaignFormActivity */ \"../erp/apps/Campaigns/Components/CampaignFormActivity.tsx\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! moment */ \"../react-ui/node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../Calendar/Components/Calendar */ \"../erp/apps/Calendar/Components/Calendar.tsx\");\n/* harmony import */ var _hubleto_react_ui_ext_ErpWorkflowSelector__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @hubleto/react-ui/ext/ErpWorkflowSelector */ \"../react-ui/ext/ErpWorkflowSelector.tsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass FormCampaign extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Campaigns/Models/Campaign',\n    renderWorkflowUi: true,\n    renderOwnerManagerUi: true\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Campaigns\\\\Loader';\n  translationContextInner = 'Components\\\\FormCampaign';\n  parentApp = 'Hubleto/App/Community/Campaigns';\n  refTestEmailRecipientInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  refActivityModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  refActivityForm = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  refEmails = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  refTableRecipients = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      showIdActivity: 0,\n      activityTime: '',\n      activityDate: '',\n      activitySubject: '',\n      activityAllDay: false,\n      campaignTestInfo: null,\n      campaignLaunchInfo: null,\n      recentlyContactedPeriod: 1,\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Campaign'))\n      }, {\n        uid: 'documents',\n        title: this.translate('Documents')\n      }, {\n        uid: 'calendar',\n        title: this.translate('Calendar')\n      }, {\n        uid: 'contacts',\n        title: this.translate('Contacts')\n      }, {\n        uid: 'recipients',\n        title: this.translate('Recipients')\n      }, {\n        uid: 'mail',\n        title: this.translate('Mail'),\n        subTabs: [{\n          uid: 'content',\n          title: this.translate('Content')\n        }, {\n          uid: 'test',\n          title: this.translate('Test')\n        }, {\n          uid: 'launch',\n          title: this.translate('Launch')\n        }, {\n          uid: 'clicks',\n          title: this.translate('Clicks')\n        }]\n      }, {\n        uid: 'call',\n        title: this.translate('Call')\n      }, {\n        uid: 'tasks',\n        title: this.translate('Tasks'),\n        showCountFor: 'TASKS'\n      }, {\n        uid: 'timeline',\n        icon: 'fas fa-timeline',\n        position: 'right'\n      }, ...this.getCustomTabs()],\n      subTab: ''\n    };\n  }\n  getRecordFormUrl() {\n    return 'campaigns/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  contentClassName() {\n    return this.state.record.is_closed ? 'bg-slate-100' : '';\n  }\n  removeRecipient(email) {\n    this.setState({\n      campaignTestInfo: null\n    }, () => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__[\"default\"].post('campaigns/api/remove-recipient-from-campaign', {\n        idCampaign: this.state.record.id,\n        email: email\n      }, {}, data => {\n        this.updateCampaignTestInfo();\n      });\n    });\n  }\n  removeRecipients(emails) {\n    this.setState({\n      campaignTestInfo: null\n    }, () => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__[\"default\"].post('campaigns/api/remove-recipient-from-campaign', {\n        idCampaign: this.state.record.id,\n        emails: emails\n      }, {}, data => {\n        this.updateCampaignTestInfo();\n      });\n    });\n  }\n  updateCampaignTestInfo() {\n    this.setState({\n      campaignTestInfo: null\n    }, () => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__[\"default\"].post('campaigns/api/get-campaign-test-info', {\n        idCampaign: this.state.record.id,\n        recentlyContactedPeriod: this.state.recentlyContactedPeriod\n      }, {}, data => {\n        this.setState({\n          campaignTestInfo: data\n        });\n      });\n    });\n  }\n  updateCampaignLaunchInfo() {\n    this.setState({\n      campaignLaunchInfo: null\n    }, () => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__[\"default\"].post('campaigns/api/get-campaign-launch-info', {\n        idCampaign: this.state.record.id,\n        recentlyContactedPeriod: this.state.recentlyContactedPeriod\n      }, {}, data => {\n        this.setState({\n          campaignLaunchInfo: data\n        });\n      });\n    });\n  }\n  onTabChange() {\n    super.onTabChange();\n    const tabUid = this.state.activeTabUid;\n    switch (tabUid) {\n      case 'mail.test':\n        this.updateCampaignTestInfo();\n        break;\n      case 'mail.launch':\n        this.updateCampaignLaunchInfo();\n        break;\n    }\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate(\"Campaign\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.name ?? '-'));\n  }\n  logCompletedActivity() {\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__[\"default\"].get('campaigns/api/log-activity', {\n      idCampaign: this.state.record.id,\n      activity: this.refLogActivityInput.current.value\n    }, result => {\n      this.loadRecord();\n      this.refLogActivityInput.current.value = '';\n    });\n  }\n  scheduleActivity() {\n    this.setState({\n      showIdActivity: -1,\n      activityDate: moment__WEBPACK_IMPORTED_MODULE_10___default()().add(1, 'week').format('YYYY-MM-DD'),\n      activityTime: moment__WEBPACK_IMPORTED_MODULE_10___default()().add(1, 'week').format('H:00:00'),\n      activitySubject: this.refLogActivityInput.current.value,\n      activityAllDay: false\n    });\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full flex flex-col md:flex-row gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1 border-r border-gray-100\"\n        }, this.inputWrapper('name'), this.inputWrapper('type'), this.inputWrapper('target_audience'), this.inputWrapper('goal'), this.inputWrapper('notes'), this.inputWrapper('id_mail_account'), this.inputWrapper('id_mail_template'), this.inputWrapper('reply_to'), this.inputWrapper('is_approved')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full flex gap-2\"\n        }, this.inputWrapper('utm_source'), this.inputWrapper('utm_campaign')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full flex gap-2\"\n        }, this.inputWrapper('utm_term'), this.inputWrapper('utm_content')), this.inputWrapper('color'), this.inputWrapper('datetime_created'), this.inputWrapper('uid'))));\n        // removed by dead control flow\n\n      case 'documents':\n        let iframeUrl = '';\n        try {\n          let url = new URL(R.shared_folder ?? '');\n          if (url.hostname == 'drive.google.com' && url.pathname.indexOf('/drive/folders') == 0) {\n            // for Google Drive, replacing\n            // https://drive.google.com/drive/folders/FOLDER_ID\n            // with https://drive.google.com/embeddedfolderview?id=FOLDER_ID\n            // makes the folder embeddable\n\n            iframeUrl = 'https://drive.google.com/embeddedfolderview' + '?id=' + url.pathname.replace('/drive/folders/', '') + '&authuser=0';\n          } else {\n            iframeUrl = R.shared_folder ?? '';\n          }\n        } catch (e) {}\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-col gap-2 h-full\"\n        }, this.inputWrapper('shared_folder'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"iframe\", {\n          className: \"w-full h-full shadow-sm\",\n          src: iframeUrl\n        }));\n        // removed by dead control flow\n\n      case 'calendar':\n        //@ts-ignore\n        const tmpCalendarSmall = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n          onCreateCallback: () => this.loadRecord(),\n          readonly: R.is_closed,\n          initialView: \"dayGridMonth\",\n          headerToolbar: {\n            start: 'title',\n            center: '',\n            end: 'prev,today,next'\n          },\n          eventsEndpoint: globalThis.hubleto.config.projectUrl + '/calendar/api/get-calendar-events?calendar=campaigns&idCampaign=' + R.id,\n          onDateClick: (date, time, info) => {\n            this.setState({\n              activityDate: date,\n              activityTime: time,\n              activityAllDay: false,\n              showIdActivity: -1\n            });\n          },\n          onEventClick: info => {\n            this.setState({\n              showIdActivity: parseInt(info.event.id)\n            });\n            info.jsEvent.preventDefault();\n          }\n        });\n        const recentActivitiesAndCalendar = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card card-body flex flex-col gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, tmpCalendarSmall), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"hubleto component input\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"input-element w-full flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n          className: \"w-full bg-blue-50 border border-blue-800 p-1 text-blue-800 placeholder-blue-300\",\n          placeholder: this.translate('Type recent activity here'),\n          ref: this.refLogActivityInput,\n          onKeyUp: event => {\n            if (event.keyCode == 13) {\n              if (event.shiftKey) {\n                this.scheduleActivity();\n              } else {\n                this.logCompletedActivity();\n              }\n            }\n          },\n          onChange: event => {\n            this.refLogActivityInput.current.value = event.target.value;\n          }\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          onClick: () => {\n            this.logCompletedActivity();\n          },\n          className: \"btn btn-blue-outline btn-small w-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-check\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Log completed activity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"shortcut\"\n        }, \"Enter\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          onClick: () => {\n            this.scheduleActivity();\n          },\n          className: \"btn btn-small w-full btn-blue-outline\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-clock\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Schedule activity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"shortcut\"\n        }, \"Shift+Enter\"))), this.divider(this.translate('Most recent activities')), R.ACTIVITIES ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"list\"\n        }, R.ACTIVITIES.reverse().slice(0, 7).map((item, index) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n            key: index,\n            className: \"btn btn-small btn-transparent btn-list-item \" + (item.completed ? \"bg-green-50\" : \"bg-red-50\"),\n            onClick: () => this.setState({\n              showIdActivity: item.id\n            })\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"icon\"\n          }, item.date_start, \" \", item.time_start, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), \"@\", item['_LOOKUP[id_owner]']), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"text\"\n          }, item.subject, item.completed ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"text-red-800\"\n          }, this.translate('Not completed yet')))));\n        })) : null));\n\n        //@ts-ignore\n        const tmpCalendarLarge = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n          onCreateCallback: () => this.loadRecord(),\n          readonly: R.is_closed,\n          initialView: \"timeGridWeek\",\n          views: \"timeGridDay,timeGridWeek,dayGridMonth,listYear\",\n          eventsEndpoint: globalThis.hubleto.config.projectUrl + '/calendar/api/get-calendar-events?calendar=campaigns&idCampaign=' + R.id,\n          onDateClick: (date, time, info) => {\n            this.setState({\n              activityDate: date,\n              activityTime: time,\n              activityAllDay: false,\n              showIdActivity: -1\n            });\n          },\n          onEventClick: info => {\n            this.setState({\n              showIdActivity: parseInt(info.event.id)\n            });\n            info.jsEvent.preventDefault();\n          }\n        });\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-2 w-2/3\"\n        }, tmpCalendarLarge), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1 w-1/3\"\n        }, this.state.id > 0 ? recentActivitiesAndCalendar : null)), this.state.showIdActivity == 0 ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n          ref: this.refActivityModal,\n          form: this.refActivityForm,\n          uid: \"activity_form\",\n          isOpen: true,\n          type: \"right\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_CampaignFormActivity__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n          modal: this.refActivityModal,\n          ref: this.refActivityForm,\n          id: this.state.showIdActivity,\n          isInlineEditing: true,\n          description: {\n            defaultValues: {\n              id_campaign: R.id,\n              date_start: this.state.activityDate,\n              time_start: this.state.activityTime == \"00:00:00\" ? null : this.state.activityTime,\n              date_end: this.state.activityDate,\n              all_day: this.state.activityAllDay,\n              subject: this.state.activitySubject\n            }\n          },\n          idCustomer: R.id_customer,\n          onClose: () => {\n            this.setState({\n              showIdActivity: 0\n            });\n          },\n          onSaveCallback: (form, saveResponse) => {\n            if (saveResponse.status == \"success\") {\n              this.setState({\n                showIdActivity: 0\n              });\n            }\n          }\n        })));\n        // removed by dead control flow\n\n      case 'contacts':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.translate('Select contacts which will be added as recipients')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Contacts_Components_TableContacts__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          tag: \"table_campaign_contact\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_campaign_contact\",\n          selectionMode: \"multiple\",\n          readonly: true,\n          descriptionSource: \"both\"\n          //@ts-ignore\n          ,\n          description: {\n            ui: {\n              showHeader: false\n            }\n          },\n          idCustomer: 0,\n          selection: R && R.RECIPIENTS ? R.RECIPIENTS.map(item => {\n            return {\n              id: item.id_contact\n            };\n          }) : null,\n          onSelectionChange: table => {\n            _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__[\"default\"].post('campaigns/api/save-recipients-from-contacts', {\n              idCampaign: this.state.record.id,\n              contactIds: table.state.selection.map(item => item.id)\n            }, {}, result => {\n              this.setState({\n                record: {\n                  ...R,\n                  RECIPIENTS: result\n                }\n              });\n            });\n          }\n        }));\n        // removed by dead control flow\n\n      case 'call':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('call_script'));\n        // removed by dead control flow\n\n      case 'mail.content':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('mail_subject'), this.inputWrapper('mail_body'));\n        // removed by dead control flow\n\n      case 'mail.test':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card flex-1\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Analysis & warnings')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body\"\n        }, this.state.campaignTestInfo ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.state.campaignTestInfo.warnings.length == 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"alert alert-success\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-check mr-2\"\n        }), this.translate('No warnings')) : this.state.campaignTestInfo.warnings.map((item, key) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            key: key,\n            className: \"alert alert-warning\"\n          }, item);\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-1\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", {\n          className: \"flex gap-1 items-center\"\n        }, \"Recipients contacted in last \", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n          type: \"number\",\n          className: \"w-12\",\n          value: this.state.recentlyContactedPeriod,\n          onChange: event => {\n            this.setState({\n              recentlyContactedPeriod: event.target.value\n            }, () => {\n              this.updateCampaignTestInfo();\n            });\n          }\n        }), \" months\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-delete-outline btn-small\",\n          onClick: () => {\n            let emails = [];\n            Object.keys(this.state.campaignTestInfo.recentlyContacted).map((email, key) => {\n              emails.push(email);\n            });\n            this.removeRecipients(emails);\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-trash-can\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, \"Remove all\"))), Object.keys(this.state.campaignTestInfo.recentlyContacted).length == 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-1 items-center\"\n        }, \"No recipients found.\") : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n          className: \"table-default dense\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"thead\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, \"#\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Email')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('When')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Campaign')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, Object.keys(this.state.campaignTestInfo.recentlyContacted).map((email, key) => {\n          const details = this.state.campaignTestInfo.recentlyContacted[email];\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"text-nowrap\"\n          }, key + 1), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"text-nowrap\"\n          }, email), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"text-nowrap\"\n          }, details.mailSent), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"text-nowrap\"\n          }, details.campaignName), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n            className: \"btn btn-delete-outline btn-small\",\n            onClick: () => {\n              this.removeRecipient(email);\n            }\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"icon\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n            className: \"fas fa-trash-can\"\n          })))));\n        })))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"alert alert-warning\"\n        }, this.translate('Analysing campaign...')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card flex-1\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Send test email')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body\"\n        }, this.translate('Test email recipient:'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n          ref: this.refTestEmailRecipientInput,\n          className: \"ml-2\",\n          type: \"text\",\n          placeholder: this.translate(\"Recipient email\")\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), this.translate(\"Test email variables:\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_JsonKeyValue__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n          uid: \"test-email-variables\",\n          onChange: (input, value) => {\n            input.setState({\n              value: value\n            });\n            this.setState({\n              testEmailVariables: value\n            });\n          }\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-transparent mt-2\",\n          onClick: () => {\n            _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__[\"default\"].post('campaigns/api/send-test-email', {\n              idCampaign: this.state.record.id,\n              to: this.refTestEmailRecipientInput.current.value,\n              variables: this.state.testEmailVariables\n            }, {}, result => {\n              this.setState({\n                testEmailSendResult: result\n              });\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-envelope\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Send test email'))), this.state.testEmailSendResult && this.state.testEmailSendResult.status == 'success' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"alert alert-success mt-2\"\n        }, this.translate('Test email was sent to you.')) : null, this.state.testEmailSendResult && this.state.testEmailSendResult.status != 'success' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"alert alert-danger mt-2\"\n        }, this.translate('Error occured when sending a test email to you.'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.state.testEmailSendResult.message)) : null)));\n        // removed by dead control flow\n\n      case 'mail.launch':\n        let invalidRecipientsCount = 0;\n        let unsubscribedRecipientsCount = 0;\n        let emailsSent = 0;\n        let potentialLeads = [];\n        if (this.state.campaignLaunchInfo?.recipients) {\n          this.state.campaignLaunchInfo.recipients.map((item, key) => {\n            if (item.STATUS?.is_unsubscribed) unsubscribedRecipientsCount++;\n            if (item.STATUS?.is_invalid) invalidRecipientsCount++;\n            if (item.MAIL?.datetime_sent) emailsSent++;\n            let isPotentialLead = false;\n            if (item.CLICK_GROUPS) {\n              Object.keys(item.CLICK_GROUPS).map((ts, key) => {\n                const group = item.CLICK_GROUPS[ts];\n                if (group[0] <= 1 // clicks\n                && group[1] == 0 // bot score\n                ) {\n                  isPotentialLead = true;\n                }\n              });\n            }\n            if (isPotentialLead) potentialLeads.push(item.email);\n          });\n        }\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.state.campaignLaunchInfo ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.state.campaignLaunchInfo.recentlyContacted && this.state.campaignLaunchInfo.recentlyContacted.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"alert alert-warning\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Recently contacted')), this.state.campaignLaunchInfo.recentlyContacted.map((item, key) => {\n          if (!item.CONTACT) return null;\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            key: key\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"code\", null, item.CONTACT.first_name, \"\\xA0\", item.CONTACT.last_name, \"\\xA0\", item.CONTACT.VALUES ? item.CONTACT.VALUES.map((vItem, vKey) => {\n            if (vItem.type == 'email') {\n              return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n                key: vKey\n              }, vItem.value);\n            } else {\n              return null;\n            }\n          }) : null), \" \", this.translate('in campaign'), \" \", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n            href: globalThis.hubleto.config.projectUrl + '/campaigns/' + item.CAMPAIGN.id,\n            target: \"_blank\"\n          }, item.CAMPAIGN.name), \".\");\n        })) : null) : null, R.id_launched_by ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"alert alert-warning\"\n        }, this.translate('Campaign was already launched by {{ email }} on {{ datetime }}.', this.translationContext, this.translationContextInner, {\n          email: R.LAUNCHED_BY.email,\n          datetime: R.datetime_launched\n        })) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-col md:flex-row gap-2 w-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-add-outline btn-large\",\n          onClick: () => {\n            _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__[\"default\"].post('campaigns/api/launch', {\n              idCampaign: this.state.record.id\n            }, {}, result => {\n              this.setState({\n                launchResult: result\n              });\n              if (result.status && result.status == 'success') {\n                (0,_hubleto_react_ui_ext_ErpWorkflowSelector__WEBPACK_IMPORTED_MODULE_12__.updateFormWorkflowByTag)(this, 'campaign-launched', () => {\n                  this.saveRecord();\n                  this.reload();\n                });\n              }\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-paper-plane\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Launch campaign now!'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"mt-2 alert alert-info\"\n        }, this.translate('Emails will be sent only to recipients who did not receive email from this campaign yet.')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"mt-2 alert alert-info\"\n        }, this.translate('Unsubscribed and invalid recipients will be ignored.')), this.state.campaignLaunchInfo && this.state.campaignLaunchInfo.recipients ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Statistics')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body flex flex-col gap-1\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge\"\n        }, this.translate('Recipients'), \": \", this.state.campaignLaunchInfo.recipients.length), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge\"\n        }, this.translate('Emails sent'), \": \", emailsSent), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge badge-warning\"\n        }, this.translate('Invalid recipients'), \": \", invalidRecipientsCount, \" (\", Math.round(invalidRecipientsCount / this.state.campaignLaunchInfo.recipients.length * 100), \" %)\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge badge-danger\"\n        }, this.translate('Unsubscribed recipients'), \": \", unsubscribedRecipientsCount, \" (\", Math.round(unsubscribedRecipientsCount / this.state.campaignLaunchInfo.recipients.length * 100), \" %)\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Potential leads')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body flex flex-wrap gap-1\"\n        }, potentialLeads.map((email, key) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            key: key,\n            className: \"badge\"\n          }, email);\n        })))) : null, this.state.launchResult && this.state.launchResult.status == 'success' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"alert alert-success mt-2\"\n        }, this.translate('Campaign was launched.')) : null, this.state.launchResult && this.state.launchResult.status != 'success' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"alert alert-danger mt-2\"\n        }, this.translate('Error occured when launching the campaign.'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.state.launchResult.message)) : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card grow\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Recipients')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body\"\n        }, this.state.campaignLaunchInfo && this.state.campaignLaunchInfo.recipients ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n          className: \"table-default dense\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"thead\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n          rowSpan: 2\n        }, \"#\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n          rowSpan: 2\n        }, this.translate('Email')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n          rowSpan: 2\n        }, this.translate('Status')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n          rowSpan: 2\n        }, this.translate('Clicks')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n          colSpan: 2\n        }, this.translate('Bot score'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Total')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Details')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, this.state.campaignLaunchInfo.recipients.map((item, key) => {\n          let botScoreTotal = 0;\n          item.CLICKS.map((click, key) => {\n            botScoreTotal += click.bot_score;\n          });\n          let recentlyContacted = this.state.campaignLaunchInfo.recentlyContacted[item.email];\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"text-nowrap\"\n          }, key + 1), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: 'text-nowrap' + (item.CLICKS.length > 0 ? ' bg-green-100' : '')\n          }, item.email), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"text-nowrap\"\n          }, item.id_mail > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, item.MAIL?.datetime_sent ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"badge badge-success\"\n          }, this.translate('Sent'), \" \", item.MAIL?.datetime_sent) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"badge badge-warning\"\n          }, this.translate('Scheduled'), \" \", item.MAIL?.datetime_scheduled_to_send)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"badge\"\n          }, this.translate('Not scheduled yet')), item.STATUS?.is_unsubscribed ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"badge badge-danger\"\n          }, this.translate('Unsubscribed')) : null, item.STATUS?.is_invalid ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"badge badge-warning\"\n          }, this.translate('Invalid')) : null, recentlyContacted ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"badge\"\n          }, \"Contacted \", recentlyContacted.mailSent, \" in \", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", null, recentlyContacted.campaignName)) : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, item.CLICKS.length > 0 ? item.CLICKS.length : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: 'text-nowrap text-red-800'\n          }, botScoreTotal > 0 ? botScoreTotal : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"text-nowrap\"\n          }, item.CLICK_GROUPS ? Object.keys(item.CLICK_GROUPS).map((ts, key) => {\n            const group = item.CLICK_GROUPS[ts];\n            return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n              key: key,\n              className: \"text-xs\"\n            }, \"#\", key + 1, \" \", moment__WEBPACK_IMPORTED_MODULE_10___default().unix(parseInt(ts)).format(\"YYYY-MM-DD HH:mm:ss\"), \" = \", group[0], \", \", group[1]);\n          }) : null));\n        }))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"alert alert-warning\"\n        }, this.translate('Loading information about recipients and launch status.'))))));\n        // removed by dead control flow\n\n      case 'mail.clicks':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Campaigns_Components_TableClicks__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n          parentForm: this,\n          tag: \"table_campaign_click\",\n          uid: this.props.uid + \"_table_campaign_click\",\n          idCampaign: R.id\n        });\n        // removed by dead control flow\n\n      case 'mail.timeline':\n        return this.renderTimeline([{\n          data: thisForm => thisForm.state.record.ACTIVITIES,\n          icon: 'fas fa-calendar',\n          color: '#32678fff',\n          timestampFormatter: entry => entry.date_start,\n          valueFormatter: entry => entry.subject,\n          userNameFormatter: entry => entry['_LOOKUP[id_owner]']\n        }, {\n          data: thisForm => thisForm.state.record.WORKFLOW_HISTORY,\n          icon: 'fas fa-timeline',\n          color: '#8f3248ff',\n          timestampFormatter: entry => entry.datetime_change,\n          valueFormatter: entry => entry.WORKFLOW_STEP?.name ?? '---',\n          userNameFormatter: entry => entry.USER?.nick\n        }]);\n        // removed by dead control flow\n\n      case 'recipients':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-3\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Campaigns_Components_TableRecipients__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          tag: \"table_campaign_recipients\",\n          ref: this.refTableRecipients,\n          parentForm: this,\n          uid: this.props.uid + \"_table_campaign_recipient\",\n          idCampaign: R.id,\n          view: \"briefOverview\",\n          onAfterLoadData: table => {\n            this.setState({\n              recipients: table.state.data.records\n            });\n          }\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Import emails')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"textarea\", {\n          className: \"w-full h-80\",\n          placeholder: this.translate('One email per line.'),\n          ref: this.refEmails\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-add-outline mt-2 w-full\",\n          onClick: () => {\n            _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_6__[\"default\"].post('campaigns/api/import-emails', {\n              idCampaign: R.id,\n              emails: this.refEmails.current.value\n            }, {}, data => {\n              this.refTableRecipients.current.reload();\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-upload\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Import emails')))))));\n        // removed by dead control flow\n\n      case 'tasks':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Tasks_Components_TableTasks__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n          tag: \"table_campaign_task\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_campaign_task\",\n          junctionTitle: \"Campaign\",\n          junctionModel: \"Hubleto/App/Community/Campaigns/Models/CampaignTask\",\n          junctionSourceColumn: \"id_campaign\",\n          junctionSourceRecordId: R.id,\n          junctionDestinationColumn: \"id_task\"\n        });\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Campaigns/Components/FormCampaign.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Campaigns/Components/FormClick.tsx":
/*!******************************************************!*\
  !*** ../erp/apps/Campaigns/Components/FormClick.tsx ***!
  \******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormClick)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormClick extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Campaigns/Models/Click'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Campaigns\\\\Loader';\n  translationContextInner = 'Components\\\\FormClick';\n  parentApp = 'Hubleto/App/Community/Campaigns';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Campaign'))\n      }]\n    };\n  }\n  getRecordFormUrl() {\n    return 'campaigns/clicks/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate(\"Click\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.email ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    const mailPreviewInfo = this.state.mailPreviewInfo;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_campaign', {\n          readonly: true\n        }), this.inputWrapper('id_recipient', {\n          readonly: true\n        }), this.inputWrapper('url', {\n          readonly: true\n        }), this.inputWrapper('datetime_clicked', {\n          readonly: true\n        }), this.inputWrapper('log', {\n          readonly: true\n        }), this.inputWrapper('bot_score', {\n          readonly: true\n        }));\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Campaigns/Components/FormClick.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Campaigns/Components/FormRecipient.tsx":
/*!**********************************************************!*\
  !*** ../erp/apps/Campaigns/Components/FormRecipient.tsx ***!
  \**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormRecipient)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n\n\n\nclass FormRecipient extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Campaigns/Models/Recipient'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Campaigns\\\\Loader';\n  translationContextInner = 'Components\\\\FormRecipient';\n  parentApp = 'Hubleto/App/Community/Campaigns';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Campaign'))\n      }]\n    };\n  }\n  getRecordFormUrl() {\n    return 'campaigns/recipients/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate(\"Recipient\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.email ?? '-'));\n  }\n  onAfterRecordLoaded(record) {\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_2__[\"default\"].post('campaigns/api/get-mail-preview-info', {\n      idRecipient: record.id\n    }, {}, result => {\n      console.log(result);\n      this.setState({\n        mailPreviewInfo: result\n      });\n    });\n    return record;\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    const mailPreviewInfo = this.state.mailPreviewInfo;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1 border-r border-gray-100\"\n        }, this.inputWrapper('id_campaign'), this.inputWrapper('id_contact'), this.inputWrapper('email'), this.inputWrapper('phone_number'), this.inputWrapper('first_name'), this.inputWrapper('last_name'), this.inputWrapper('salutation'), this.inputWrapper('variables'), this.inputWrapper('id_mail')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Mail preview')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body\"\n        }, mailPreviewInfo && mailPreviewInfo.bodyHtml != '' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          dangerouslySetInnerHTML: {\n            __html: mailPreviewInfo.bodyHtml\n          }\n        })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.translate('No mail preview available.')))))));\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Campaigns/Components/FormRecipient.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Campaigns/Components/FormRecipientStatus.tsx":
/*!****************************************************************!*\
  !*** ../erp/apps/Campaigns/Components/FormRecipientStatus.tsx ***!
  \****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormRecipientStatus)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormRecipientStatus extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Campaigns/Models/RecipientStatus'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Campaigns\\\\Loader';\n  translationContextInner = 'Components\\\\FormRecipientStatus';\n  parentApp = 'Hubleto/App/Community/Campaigns';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Campaign'))\n      }]\n    };\n  }\n  getRecordFormUrl() {\n    return 'campaigns/recipients/statuses/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate(\"Recipient status\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.email ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    const mailPreviewInfo = this.state.mailPreviewInfo;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('email'), this.inputWrapper('is_unsubscribed'), this.inputWrapper('is_invalid'));\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Campaigns/Components/FormRecipientStatus.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Campaigns/Components/TableCampaigns.tsx":
/*!***********************************************************!*\
  !*** ../erp/apps/Campaigns/Components/TableCampaigns.tsx ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableCampaigns)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormCampaign__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormCampaign */ \"../erp/apps/Campaigns/Components/FormCampaign.tsx\");\n\n\n\nclass TableCampaigns extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Campaigns/Models/Campaign'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Campaigns\\\\Loader';\n  translationContextInner = 'Components\\\\TableCampaigns';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    return {\n      ...super.getFormModalProps(),\n      type: 'right wide'\n    };\n  }\n  rowClassName(rowData) {\n    return rowData.is_closed ? 'bg-slate-300' : super.rowClassName(rowData);\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/campaigns/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormCampaign__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Campaigns/Components/TableCampaigns.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Campaigns/Components/TableClicks.tsx":
/*!********************************************************!*\
  !*** ../erp/apps/Campaigns/Components/TableClicks.tsx ***!
  \********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableClicks)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormClick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormClick */ \"../erp/apps/Campaigns/Components/FormClick.tsx\");\n\n\n\nclass TableClicks extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Campaigns/Models/Click',\n    orderBy: {\n      field: 'datetime_clicked',\n      direction: 'desc'\n    }\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Campaigns\\\\Loader';\n  translationContextInner = 'Components\\\\TableClicks';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    return {\n      ...super.getFormModalProps(),\n      type: 'right wide'\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idCampaign: this.props.idCampaign\n    };\n  }\n  getCsvImportEndpointParams() {\n    return {\n      model: this.props.model,\n      defaultCsvImportValues: {\n        id_campaign: this.props.idCampaign\n      }\n    };\n  }\n  rowClassName(rowData) {\n    return rowData.is_closed ? 'bg-slate-300' : super.rowClassName(rowData);\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/campaigns/clicks/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_campaign: this.props.idCampaign\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormClick__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Campaigns/Components/TableClicks.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Campaigns/Components/TableRecipientStatuses.tsx":
/*!*******************************************************************!*\
  !*** ../erp/apps/Campaigns/Components/TableRecipientStatuses.tsx ***!
  \*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableRecipientStatuses)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormRecipientStatus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormRecipientStatus */ \"../erp/apps/Campaigns/Components/FormRecipientStatus.tsx\");\n\n\n\nclass TableRecipientStatuses extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Campaigns/Models/RecipientStatus'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Campaigns\\\\Loader';\n  translationContextInner = 'Components\\\\TableRecipientStatuses';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    return {\n      ...super.getFormModalProps(),\n      type: 'right wide'\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idCampaign: this.props.idCampaign\n    };\n  }\n  getCsvImportEndpointParams() {\n    return {\n      model: this.props.model,\n      defaultCsvImportValues: {\n        id_campaign: this.props.idCampaign\n      }\n    };\n  }\n  rowClassName(rowData) {\n    return rowData.is_unsubscribed ? 'bg-red-300' : rowData.is_invalid ? 'bg-gray-300' : super.rowClassName(rowData);\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/campaigns/recipients/statuses/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_campaign: this.props.idCampaign\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormRecipientStatus__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Campaigns/Components/TableRecipientStatuses.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Campaigns/Components/TableRecipients.tsx":
/*!************************************************************!*\
  !*** ../erp/apps/Campaigns/Components/TableRecipients.tsx ***!
  \************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableRecipients)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormRecipient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormRecipient */ \"../erp/apps/Campaigns/Components/FormRecipient.tsx\");\n\n\n\nclass TableRecipients extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Campaigns/Models/Recipient'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Campaigns\\\\Loader';\n  translationContextInner = 'Components\\\\TableRecipients';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    return {\n      ...super.getFormModalProps(),\n      type: 'right wide'\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idCampaign: this.props.idCampaign\n    };\n  }\n  getCsvImportEndpointParams() {\n    return {\n      model: this.props.model,\n      defaultCsvImportValues: {\n        id_campaign: this.props.idCampaign\n      }\n    };\n  }\n  rowClassName(rowData) {\n    return rowData.is_unsubscribed ? 'bg-red-300' : rowData.is_invalid ? 'bg-gray-300' : super.rowClassName(rowData);\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/campaigns/recipients/' + (id > 0 ? id : 'add'));\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"virt_status\" && data.virt_status) {\n      const status = data.virt_status.split(',');\n      const isUnsubscribed = status[0] == 'unsubscribed';\n      const isInvalid = status[1] == 'invalid';\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, isUnsubscribed ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"badge badge-danger\"\n      }, this.translate('Unsubscribed')) : null, isInvalid ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"badge\"\n      }, this.translate('Invalid')) : null);\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_campaign: this.props.idCampaign\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormRecipient__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Campaigns/Components/TableRecipients.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Campaigns/Loader.tsx":
/*!****************************************!*\
  !*** ../erp/apps/Campaigns/Loader.tsx ***!
  \****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableCampaigns__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableCampaigns */ \"../erp/apps/Campaigns/Components/TableCampaigns.tsx\");\n/* harmony import */ var _Components_TableRecipients__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableRecipients */ \"../erp/apps/Campaigns/Components/TableRecipients.tsx\");\n/* harmony import */ var _Components_TableRecipientStatuses__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/TableRecipientStatuses */ \"../erp/apps/Campaigns/Components/TableRecipientStatuses.tsx\");\n/* harmony import */ var _Components_CampaignFormActivity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Components/CampaignFormActivity */ \"../erp/apps/Campaigns/Components/CampaignFormActivity.tsx\");\n\n\n\n\n\nclass CampaignsApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('CampaignsTableCampaigns', _Components_TableCampaigns__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('CampaignsTableRecipients', _Components_TableRecipients__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('CampaignsTableRecipientStatuses', _Components_TableRecipientStatuses__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('CampaignFormActivity', _Components_CampaignFormActivity__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Campaigns', new CampaignsApp());\n\n//# sourceURL=webpack:///../erp/apps/Campaigns/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Cashdesk/Components/FormCashRegister.tsx":
/*!************************************************************!*\
  !*** ../erp/apps/Cashdesk/Components/FormCashRegister.tsx ***!
  \************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormCashRegister)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormCashRegister extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: \"Hubleto/App/Community/Cashdesk/Models/CashRegister\"\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Cashdesk\\\\Loader';\n  translationContextInner = 'Components\\\\FormCashRegister';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Cash register', 'Hubleto\\\\App\\\\Community\\\\Cashdesk\\\\Loader', 'Components\\\\FormCashRegister'))\n      }]\n    };\n  }\n  getRecordFormUrl() {\n    return 'cashdesk/cash-registers/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      saveRelations: ['ITEMS']\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Cash register')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.identifier ? this.state.record.identifier : ''));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_company'), this.inputWrapper('id_shop'), this.inputWrapper('identifier'), this.inputWrapper('description'));\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Cashdesk/Components/FormCashRegister.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Cashdesk/Components/FormReceipt.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Cashdesk/Components/FormReceipt.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormReceipt)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Int__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Int */ \"../react-ui/core/Inputs/Int.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Lookup */ \"../react-ui/core/Inputs/Lookup.tsx\");\n/* harmony import */ var react_barcode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-barcode */ \"../react-ui/node_modules/react-barcode/lib/react-barcode.js\");\n/* harmony import */ var react_barcode__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_barcode__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\nclass FormReceipt extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: \"Hubleto/App/Community/Cashdesk/Models/Receipt\"\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Cashdesk\\\\Loader';\n  translationContextInner = 'Components\\\\FormReceipt';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Receipt'))\n      }]\n    };\n  }\n  getRecordFormUrl() {\n    return 'cashdesk/receipts/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      saveRelations: ['ITEMS']\n    };\n  }\n  updateItem(index, newItem) {\n    let newRecord = this.state.record;\n    if (!newRecord.ITEMS[index]) newRecord.ITEMS[index] = {};\n    newRecord.ITEMS[index].id_receipt = {\n      _useMasterRecordId_: true\n    };\n    newRecord.ITEMS[index] = {\n      ...newRecord.ITEMS[index],\n      ...newItem\n    };\n    this.updateRecord(newRecord);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Receipt')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.number ? this.state.record.number : ''));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full flex-3\"\n        }, this.inputWrapper('id_company'), this.inputWrapper('number'), this.inputWrapper('id_cash_register'), this.inputWrapper('created'), this.inputWrapper('sent_to_cash_register'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n          className: \"table-default dense mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"thead\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Product')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Qty.')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Unit price incl. VAT (€)')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('VAT (%)')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Total price incl. VAT (€)')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, R.ITEMS ? R.ITEMS.map((item, index) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n            model: \"Hubleto/App/Community/Products/Models/Product\",\n            value: item.id_product,\n            cssClass: \"font-bold\",\n            onChange: (input, value) => {\n              this.updateItem(index, {\n                id_product: value\n              });\n            }\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Int__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n            value: item.quantity,\n            description: {\n              decimals: 4,\n              unit: 'x'\n            },\n            onChange: (input, value) => {\n              this.updateItem(index, {\n                quantity: value\n              });\n            }\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Int__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n            value: item.vat_percent,\n            description: {\n              decimals: 4,\n              unit: '%'\n            },\n            onChange: (input, value) => {\n              this.updateItem(index, {\n                vat_percent: value\n              });\n            }\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Int__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n            value: item.unit_price_excl_vat,\n            description: {\n              decimals: 4,\n              unit: '€'\n            },\n            onChange: (input, value) => {\n              this.updateItem(index, {\n                unit_price_incl_vat: value\n              });\n            }\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Int__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n            value: item.total_price_incl_vat,\n            description: {\n              decimals: 4,\n              unit: '€'\n            },\n            onChange: (input, value) => {\n              this.updateItem(index, {\n                total_price_incl_vat: value\n              });\n            }\n          }))));\n        }) : null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-add mt-2\",\n          onClick: () => {\n            let newR = R;\n            if (!newR.ITEMS) newR.ITEMS = [];\n            newR.ITEMS.push({});\n            this.updateRecord(newR);\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-plus\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Add item'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"mt-8 text-center\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-add-outline btn-extra-large\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-arrow-right\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Send to cash register'))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full flex-1\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"m-4 shadow p-2 rounded-lg border border-gray-200\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"border-dashed border-b p-2 text-center\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, R.COMPANY.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), this.translate('TAX ID:'), \" \", R.COMPANY.tax_id, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), this.translate('VAT ID:'), \" \", R.COMPANY.vat_id, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), R.COMPANY.street_1, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), R.COMPANY.street_2, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), R.COMPANY.zip, \" \", R.COMPANY.city, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), R.COMPANY.country), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"text-center font-bold border-dashed border-b p-2\"\n        }, this.translate('RECEIPT'), \" #\", R.number), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"border-dashed border-b p-2\"\n        }, R.ITEMS ? R.ITEMS.map((item, index) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"w-full my-2\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"text-blue-400\"\n          }, item.PRODUCT.ean ?? '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"font-bold\"\n          }, item.PRODUCT.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"flex gap justify-between w-full\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, globalThis.hubleto.numberFormat(item.quantity, 2, \",\", \" \"), \"x\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, globalThis.hubleto.numberFormat(item.unit_price_incl_vat, 2, \",\", \" \"), \" \\u20AC\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, globalThis.hubleto.numberFormat(item.vat_percent, 2, \",\", \" \"), \" %\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, globalThis.hubleto.numberFormat(item.total_price_incl_vat, 2, \",\", \" \"), \" \\u20AC\")));\n        }) : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"p-2 mt-2 bg-gray-600 text-white text-3xl\"\n        }, this.translate('TOTAL:'), \" \", globalThis.hubleto.numberFormat(R.total_price_incl_vat, 2, \",\", \" \"), \" \\u20AC\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"mt-4 p-2 text-center\"\n        }, R.created, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), this.translate('Cash register identifier:'), \" \", R.CASH_REGISTER.identifier, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"m-auto\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react_barcode__WEBPACK_IMPORTED_MODULE_4___default()), {\n          value: R.CASH_REGISTER.identifier,\n          height: 30,\n          lineColor: \"#444444\",\n          margin: 0,\n          className: \"w-full\"\n        }))))));\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Cashdesk/Components/FormReceipt.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Cashdesk/Components/TableCashRegisters.tsx":
/*!**************************************************************!*\
  !*** ../erp/apps/Cashdesk/Components/TableCashRegisters.tsx ***!
  \**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableCashRegisters)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormCashRegister__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormCashRegister */ \"../erp/apps/Cashdesk/Components/FormCashRegister.tsx\");\n\n\n\nclass TableCashRegisters extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Cashdesk/Models/CashRegister'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Cashdesk\\\\Loader';\n  translationContextInner = 'Components\\\\TableCashRegisters';\n  getFormModalProps() {\n    return {\n      ...super.getFormModalProps(),\n      type: 'right wide'\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/cashdesk/cash-registers/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormCashRegister__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n  renderTable() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"grid grid-cols-4 gap-2\"\n    }, this.state.data.records.map((row, index) => {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        onClick: () => {\n          this.openForm(row.id);\n        },\n        className: \"btn btn-square btn-transparent btn-large\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"card-header text-center flex-col\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fas fa-cash-register text-4xl mb-4\"\n      })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, row.identifier)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"card-body\"\n      }, row.description));\n    }));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Cashdesk/Components/TableCashRegisters.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Cashdesk/Components/TableReceipts.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Cashdesk/Components/TableReceipts.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableReceipts)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormReceipt__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormReceipt */ \"../erp/apps/Cashdesk/Components/FormReceipt.tsx\");\n\n\n\nclass TableReceipts extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Cashdesk/Models/Receipt'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Cashdesk\\\\Loader';\n  translationContextInner = 'Components\\\\TableReceipts';\n  getFormModalProps() {\n    return {\n      ...super.getFormModalProps(),\n      type: 'right wide'\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/cashdesk/receipts/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormReceipt__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Cashdesk/Components/TableReceipts.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Cashdesk/Loader.tsx":
/*!***************************************!*\
  !*** ../erp/apps/Cashdesk/Loader.tsx ***!
  \***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableReceipts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableReceipts */ \"../erp/apps/Cashdesk/Components/TableReceipts.tsx\");\n/* harmony import */ var _Components_TableCashRegisters__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableCashRegisters */ \"../erp/apps/Cashdesk/Components/TableCashRegisters.tsx\");\n\n\n\nclass CashdeskApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('CashdeskTableReceipts', _Components_TableReceipts__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('CashdeskTableCashRegisters', _Components_TableCashRegisters__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Cashdesk', new CashdeskApp());\n\n//# sourceURL=webpack:///../erp/apps/Cashdesk/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Contacts/Components/FormContact.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Contacts/Components/FormContact.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormContact)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Tags2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Tags2 */ \"../react-ui/core/Inputs/Tags2.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/FormInput */ \"../react-ui/core/FormInput.tsx\");\n/* harmony import */ var _TableValues__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TableValues */ \"../erp/apps/Contacts/Components/TableValues.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n\n\n\n\n\n\nclass FormContact extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-user',\n    model: 'Hubleto/App/Community/Contacts/Models/Contact'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Contacts\\\\Loader';\n  translationContextInner = 'Components\\\\FormContact';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props),\n      newEntryId: this.props.newEntryId ?? -1,\n      primaryContactMessage: false,\n      contactsTableKey: 0\n    };\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      saveRelations: ['VALUES', 'TAGS']\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Contact')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.first_name ?? '', \"\\xA0\", this.state.record.last_name ?? ''));\n  }\n  checkPrimaryContact(R) {\n    if (R.TAGS && R.TAGS.length > 0) {\n      var tagIds = [];\n      for (const [key, value] of Object.entries(R.TAGS)) {\n        tagIds.push(value['id_tag'] ?? 0);\n      }\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_5__[\"default\"].get(\"contacts/api/check-primary-contact\", {\n        idContact: this.state.record.id ?? -1,\n        idCustomer: R.id_customer,\n        tags: tagIds\n      }, response => {\n        if (response.result == true) {\n          this.updateRecord({\n            is_primary: 1\n          });\n        } else {\n          globalThis.hubleto.showDialogDanger(/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n            className: \"text\"\n          }, response.error ?? \"Unknown error\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n            className: \"text\"\n          }, response.names != null ? response.names : \"\")), {});\n        }\n      });\n    } else {\n      this.updateRecord({\n        is_primary: 1\n      });\n    }\n  }\n  componentDidUpdate(prevProps, prevState) {\n    if (prevState.isInlineEditing != this.state.isInlineEditing) this.setState({\n      contactsTableKey: Math.random()\n    });\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    const showAdditional = R.id > 0 ? true : false;\n    // const customInputs = this.renderCustomInputs();\n\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body flex flex-col md:flex-row gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-3\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 w-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-user text-2xl p-4 text-gray-500\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full\"\n        }, this.inputWrapper('salutation'), this.inputWrapper('title_before', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('first_name', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('middle_name', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('last_name', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('title_after', {\n          cssClass: 'text-2xl'\n        })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, this.inputWrapper('id_customer'), this.inputWrapper('is_primary'), this.inputWrapper('is_for_invoicing'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          title: this.translate('Tags')\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Tags2__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _extends({}, this.getInputProps('id_tag'), {\n          value: this.state.record.TAGS,\n          model: \"Hubleto/App/Community/Contacts/Models/Tag\",\n          targetColumn: \"id_contact\",\n          sourceColumn: \"id_tag\",\n          colorColumn: \"color\",\n          onChange: (input, value) => {\n            // if (this.state.record.is_primary == 1) {\n            //   this.setState({primaryContactMessage: true} as FormContactState);\n            // }\n            R.TAGS = value;\n            this.updateRecord(R);\n            // this.updateRecord({is_primary: 0});\n          },\n          onNewTag: title => {\n            return {\n              id: -1,\n              name: title,\n              color: '#' + Math.floor(Math.random() * 16777215).toString(16).padStart(6, '0')\n            };\n          }\n          // newTagService={{\n          //   getNewRecord: (value: string) => {\n          //     return { id: -1, name: value, color: '#' + Math.floor(Math.random()*16777215).toString(16).padStart(6, '0') }\n          //   },\n          // }}\n        }))), this.inputWrapper('note', {\n          cssClass: 'bg-yellow-50 dark:bg-slate-600'\n        }), this.inputWrapper('is_valid'), showAdditional ? this.inputWrapper('date_created') : null))), this.divider(this.translate('Contacts')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableValues__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n          key: \"contacts_\" + this.state.contactsTableKey,\n          uid: this.props.uid + '_table_contacts',\n          parentForm: this,\n          context: \"Hello World\"\n          // customEndpointParams={{idContact: R.id}}\n          ,\n          data: {\n            records: R.VALUES\n          },\n          isInlineEditing: this.state.isInlineEditing,\n          isUsedAsInput: true,\n          readonly: !this.state.isInlineEditing,\n          descriptionSource: \"props\",\n          onRowClick: () => this.setState({\n            isInlineEditing: true\n          }),\n          onChange: table => {\n            this.updateRecord({\n              VALUES: table.state.data.records\n            });\n          },\n          onDeleteSelectionChange: table => {\n            this.updateRecord({\n              VALUES: table.state.data.records ?? []\n            });\n            this.setState({\n              contactsTableKey: Math.random()\n            });\n          },\n          customEndpointParams: {\n            idContact: R.id\n          },\n          description: {\n            permissions: this.props.tableValuesDescription?.permissions ?? {},\n            ui: {\n              emptyMessage: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n                className: \"p-2\"\n              }, this.translate('No contacts yet.'))\n            },\n            columns: {\n              type: {\n                type: 'varchar',\n                title: this.translate('Type'),\n                enumValues: {\n                  'email': this.translate('Email'),\n                  'number': this.translate('Phone Number'),\n                  'other': this.translate('Other')\n                }\n              },\n              value: {\n                type: 'varchar',\n                title: this.translate('Value')\n              },\n              id_category: {\n                type: 'lookup',\n                title: this.translate('Category'),\n                model: 'Hubleto/App/Community/Contacts/Models/Category'\n              }\n            },\n            inputs: {\n              type: {\n                type: 'varchar',\n                title: this.translate('Type'),\n                enumValues: {\n                  'email': this.translate('Email'),\n                  'number': this.translate('Phone Number'),\n                  'other': this.translate('Other')\n                }\n              },\n              value: {\n                type: 'varchar',\n                title: this.translate('Value')\n              },\n              id_category: {\n                type: 'lookup',\n                title: this.translate('Category'),\n                model: 'Hubleto/App/Community/Contacts/Models/Category'\n              }\n            }\n          }\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n          className: \"btn btn-add-outline mt-2\",\n          onClick: () => {\n            if (!R.VALUES) R.VALUES = [];\n            R.VALUES.push({\n              id: this.state.newEntryId,\n              id_contact: {\n                _useMasterRecordId_: true\n              },\n              type: 'email'\n            });\n            this.setState({\n              isInlineEditing: true,\n              newEntryId: this.state.newEntryId - 1\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-add\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Add contact'))));\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Contacts/Components/FormContact.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Contacts/Components/TableContacts.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Contacts/Components/TableContacts.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableContacts)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormContact__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormContact */ \"../erp/apps/Contacts/Components/FormContact.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var primereact_progressbar__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! primereact/progressbar */ \"../react-ui/node_modules/primereact/progressbar/progressbar.esm.js\");\n\n\n\n\n\nclass TableContacts extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Contacts/Models/Contact'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Contacts\\\\Loader';\n  translationContextInner = 'Components\\\\TableContacts';\n  getFormModalProps() {\n    return {\n      ...super.getFormModalProps(),\n      type: this.props.idCustomer ? 'right theme-secondary' : 'right wide'\n    };\n  }\n  getFormProps() {\n    var formProps = super.getFormProps();\n    return {\n      ...super.getFormProps(),\n      onSaveCallback: (form, saveResponse) => {\n        formProps.onSaveCallback(form, saveResponse);\n        if (this.props.parentForm) {\n          this.props.parentForm.reload();\n        }\n      },\n      onDeleteCallback: (form, saveResponse) => {\n        formProps.onDeleteCallback(form, saveResponse);\n        if (this.props.parentForm) {\n          this.props.parentForm.reload();\n        }\n      }\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/contacts/' + (id > 0 ? id : 'add'));\n  }\n  onAfterLoadTableDescription(description) {\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].get('api/table/describe', {\n      model: 'Hubleto/App/Community/Contacts/Models/Value',\n      idContact: this.props.recordId ?? description.idContact\n    }, description => {\n      this.setState({\n        tableValuesDescription: description\n      });\n    });\n    return description;\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"virt_tags\") {\n      return data.TAGS.map((tag, key) => {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          key: key,\n          style: {\n            backgroundColor: tag.TAG?.color\n          },\n          className: \"badge\"\n        }, tag.TAG?.name);\n      });\n    } else if (data.VALUES && data.VALUES.length > 0) {\n      if (columnName == \"virt_email\") {\n        let contactsRendered = 0;\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-row gap-2 flex-wrap max-w-lg\"\n        }, data.VALUES.map((value, key) => {\n          if (value.type == \"email\" && contactsRendered < 2) {\n            contactsRendered += 1;\n            return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n              className: \"border border-gray-400 rounded px-1\",\n              key: data.id + '-email-' + key\n            }, value.value, \" \", value.CATEGORY ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, \"(\", value.CATEGORY.name, \")\") : null);\n          } else return null;\n        }));\n      } else if (columnName == \"virt_number\") {\n        let contactsRendered = 0;\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-row gap-2 flex-wrap max-w-lg\"\n        }, data.VALUES.map((value, key) => {\n          if (value.type == \"number\" && contactsRendered < 2) {\n            contactsRendered += 1;\n            return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n              className: \"border border-gray-400 rounded px-1\",\n              key: data.id + '-number-' + key\n            }, value.value, \" \", value.CATEGORY ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, \"(\", value.CATEGORY.name, \")\") : null);\n          } else return null;\n        }));\n      } else return super.renderCell(columnName, column, data, options);\n    } else return super.renderCell(columnName, column, data, options);\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_customer: this.props.idCustomer\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormContact__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n  render() {\n    if (this.props.showAsCards) {\n      if (!this.state.data) {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(primereact_progressbar__WEBPACK_IMPORTED_MODULE_4__.ProgressBar, {\n          mode: \"indeterminate\",\n          style: {\n            height: '8px'\n          }\n        });\n      }\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"flex gap-2\"\n      }, this.renderHeaderButtons(), this.renderFulltextSearch()), this.renderFormModal(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"md:grid md:grid-cols-2 gap-2 mt-2\"\n      }, Object.keys(this.state.data?.records).map(key => {\n        const item = this.state.data.records[key];\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          key: key\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-transparent w-full\",\n          onClick: () => {\n            this.setState({\n              recordId: item.id\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon flex flex-col gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-user text-2xl\"\n        }), item.is_primary ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge badge-violet\"\n        }, this.translate(\"Primary\")) : null, item.is_for_invoicing ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge badge-green\"\n        }, this.translate(\"Invoicing\")) : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\",\n          style: {\n            maxHeight: \"10em\"\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, item.salutation ?? '', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, item.first_name ?? ''), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, item.last_name ?? '')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, item.TAGS.map((tag, index) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            key: index,\n            className: \"rounded\",\n            style: {\n              color: tag.TAG?.color,\n              border: '1px solid ' + tag.TAG?.color,\n              padding: '0 3px'\n            }\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, tag.TAG?.name));\n        })), item.VALUES.map((value, index) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            key: index,\n            className: \"w-full truncate\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, value.value));\n        }))));\n      })));\n    } else {\n      return super.render();\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Contacts/Components/TableContacts.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Contacts/Components/TableValues.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Contacts/Components/TableValues.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableValues)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var primereact_progressbar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! primereact/progressbar */ \"../react-ui/node_modules/primereact/progressbar/progressbar.esm.js\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Lookup */ \"../react-ui/core/Inputs/Lookup.tsx\");\n\n\n\n\nclass TableValues extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Contacts/Models/Value'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Contacts\\\\Loader';\n  translationContextInner = 'Components\\\\TableValues';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getType(value) {\n    if (/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value)) {\n      return 'email';\n    } else if (/^[\\+|0-9| ]+$/.test(value)) {\n      return 'number';\n    } else if (/(https:\\/\\/www\\.|http:\\/\\/www\\.|https:\\/\\/|http:\\/\\/)?[a-zA-Z0-9]{2,}(\\.[a-zA-Z0-9]{2,})(\\.[a-zA-Z0-9]{2,})?/.test(value)) {\n      return 'url';\n    } else {\n      return 'other';\n    }\n  }\n  getIcon(value) {\n    switch (this.getType(value)) {\n      case 'email':\n        return 'envelope';\n        // removed by dead control flow\n\n      case 'number':\n        return 'phone';\n        // removed by dead control flow\n\n      case 'url':\n        return 'link';\n        // removed by dead control flow\n\n      default:\n        return 'grip-lines';\n        // removed by dead control flow\n\n    }\n  }\n  render() {\n    if (!this.state.data) {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(primereact_progressbar__WEBPACK_IMPORTED_MODULE_2__.ProgressBar, {\n        mode: \"indeterminate\",\n        style: {\n          height: '8px'\n        }\n      });\n    }\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.renderFormModal(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex flex-col gap-2\"\n    }, this.state.data?.records ? Object.keys(this.state.data?.records).map(key => {\n      const item = this.state.data.records[key];\n      const itemType = this.getType(item.value);\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        key: key,\n        className: 'flex gap-2 items-center' + (item._toBeDeleted_ ? ' bg-red-100' : '')\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        className: \"btn btn-transparent w-3/4\",\n        onClick: e => {\n          if (this.props.parentForm.state.isInlineEditing) {\n            e.stopPropagation();\n          } else {\n            switch (itemType) {\n              case 'url':\n                window.open(item.value);\n                e.stopPropagation();\n                break;\n              case 'email':\n                window.open('mailto://' + item.value);\n                e.stopPropagation();\n                break;\n              default:\n                this.props.parentForm.setState({\n                  isInlineEditing: true\n                });\n                break;\n            }\n          }\n        }\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fas fa-\" + this.getIcon(item.value)\n      })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"text w-full\",\n        style: {\n          maxHeight: \"10em\"\n        }\n      }, this.props.parentForm.state.isInlineEditing ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"hubleto component input w-full\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"input-element w-full\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n        className: \"w-full bg-blue-50 dark:bg-white/20\",\n        onChange: e => {\n          let newValues = this.state.data.records;\n          newValues[key].value = e.currentTarget.value;\n          newValues[key].type = this.getType(e.currentTarget.value);\n          this.props.parentForm.updateRecord({\n            VALUES: newValues\n          });\n        },\n        value: item.value\n      })))) : item.value ?? '')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"w-1/4\"\n      }, this.props.parentForm.state.isInlineEditing ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n        uid: 'value_' + item.id + '_id_category',\n        model: \"Hubleto/App/Community/Contacts/Models/Category\",\n        value: item.id_category,\n        onChange: (input, value) => {\n          let newValues = this.state.data.records;\n          newValues[key].id_category = value;\n          this.props.parentForm.updateRecord({\n            VALUES: newValues\n          });\n        }\n      }) : item.CATEGORY?.name ?? ''), this.props.parentForm.state.isInlineEditing ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        className: \"btn btn-transparent\",\n        onClick: () => {\n          this.props.parentForm.setState({\n            isInlineEditing: true\n          });\n        }\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fas fa-pencil\"\n      })))), this.props.parentForm.state.isInlineEditing ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        className: 'btn ' + (item._toBeDeleted_ ? 'btn-primary' : 'btn-danger'),\n        onClick: () => {\n          let newValues = this.state.data.records;\n          if (newValues[key].id < 0) {\n            newValues.splice(Number(key), 1);\n          } else {\n            newValues[key]._toBeDeleted_ = !newValues[key]._toBeDeleted_;\n          }\n          this.props.parentForm.updateRecord({\n            VALUES: newValues\n          });\n        }\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: 'fas ' + (item._toBeDeleted_ ? 'fa-times' : 'fa-trash-can')\n      }))) : null);\n    }) : null));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Contacts/Components/TableValues.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Contacts/Loader.tsx":
/*!***************************************!*\
  !*** ../erp/apps/Contacts/Loader.tsx ***!
  \***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableContacts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableContacts */ \"../erp/apps/Contacts/Components/TableContacts.tsx\");\n\n\nclass ContactsApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('ContactsTableContacts', _Components_TableContacts__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Contacts', new ContactsApp());\n\n//# sourceURL=webpack:///../erp/apps/Contacts/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Customers/Components/CustomerFormActivity.tsx":
/*!*****************************************************************!*\
  !*** ../erp/apps/Customers/Components/CustomerFormActivity.tsx ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CustomerFormActivity)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/FormInput */ \"../react-ui/core/FormInput.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Lookup */ \"../react-ui/core/Inputs/Lookup.tsx\");\n/* harmony import */ var _hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/apps/Calendar/Components/FormActivity */ \"../erp/apps/Calendar/Components/FormActivity.tsx\");\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n\n\n\n\nclass CustomerFormActivity extends _hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_3__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Customers/Models/CustomerActivity'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Customers\\\\Loader';\n  translationContextInner = 'Components\\\\CustomerFormActivity';\n  getActivitySourceReadable() {\n    return this.translate('Customer');\n  }\n  renderCustomInputs() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n      title: this.translate(\"Customer\"),\n      required: true\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _extends({}, this.getInputProps('id_customer'), {\n      model: \"Hubleto/App/Community/Contacts/Models/Customer\",\n      endpoint: `customers/api/get-customer`,\n      value: R.id_customer,\n      onChange: (input, value) => {\n        this.updateRecord({\n          id_customer: value\n        });\n      }\n    }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n      title: this.translate(\"Contact\")\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _extends({}, this.getInputProps(\"id_contact\"), {\n      model: \"Hubleto/App/Community/Contacts/Models/Contact\",\n      endpoint: `contacts/api/get-customer-contacts`,\n      customEndpointParams: {\n        id_customer: R.id_customer\n      },\n      value: R.id_contact,\n      onChange: (input, value) => {\n        this.updateRecord({\n          id_contact: value\n        });\n        if (R.id_contact == 0) {\n          R.id_contact = null;\n          this.setState({\n            record: R\n          });\n        }\n      }\n    }))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Customers/Components/CustomerFormActivity.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Customers/Components/FormCustomer.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Customers/Components/FormCustomer.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormCustomer)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Tags2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Tags2 */ \"../react-ui/core/Inputs/Tags2.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/FormInput */ \"../react-ui/core/FormInput.tsx\");\n/* harmony import */ var _Contacts_Components_TableContacts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../Contacts/Components/TableContacts */ \"../erp/apps/Contacts/Components/TableContacts.tsx\");\n/* harmony import */ var _CustomerFormActivity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CustomerFormActivity */ \"../erp/apps/Customers/Components/CustomerFormActivity.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @hubleto/react-ui/core/ModalForm */ \"../react-ui/core/ModalForm.tsx\");\n/* harmony import */ var _hubleto_apps_Documents_Components_TableDocuments__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @hubleto/apps/Documents/Components/TableDocuments */ \"../erp/apps/Documents/Components/TableDocuments.tsx\");\n/* harmony import */ var _Documents_Components_FormDocument__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../Documents/Components/FormDocument */ \"../erp/apps/Documents/Components/FormDocument.tsx\");\n/* harmony import */ var _Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../Calendar/Components/Calendar */ \"../erp/apps/Calendar/Components/Calendar.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! moment */ \"../react-ui/node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_11__);\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n\n\n\n\n\n\n\n\n\n\n\n\nclass FormCustomer extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-address-card',\n    model: \"Hubleto/App/Community/Customers/Models/Customer\"\n  };\n  parentApp = 'Hubleto/App/Community/Customers';\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Customers\\\\Loader';\n  translationContextInner = 'Components\\\\FormCustomer';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refDocumentModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refDocumentForm = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refActivityModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refActivityForm = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props),\n      highlightIdActivity: this.props.highlightIdActivity ?? 0,\n      createNewLead: false,\n      createNewDeal: false,\n      createNewContact: false,\n      showIdDocument: 0,\n      showIdActivity: 0,\n      activityTime: '',\n      activityDate: '',\n      activitySubject: '',\n      activityAllDay: false,\n      tablesKey: 0\n    };\n  }\n  componentDidUpdate(prevProps, prevState) {\n    if (prevState.isInlineEditing != this.state.isInlineEditing) this.setState({\n      tablesKey: Math.random()\n    });\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Customer'))\n      }, {\n        uid: 'calendar',\n        title: this.translate('Calendar')\n      }, ...this.getCustomTabs()]\n    };\n  }\n  getRecordFormUrl() {\n    return 'customers/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      saveRelations: ['TAGS']\n    };\n  }\n  onBeforeSaveRecord(record) {\n    //Delete all spaces in identifiers\n    if (record.tax_id) record.tax_id = record.tax_id.replace(/\\s+/g, \"\");\n    if (record.vat_id) record.vat_id = record.vat_id.replace(/\\s+/g, \"\");\n    if (record.customer_id) record.customer_id = record.customer_id.replace(/\\s+/g, \"\");\n    return record;\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Customer')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.name ? this.state.record.name : ''));\n  }\n  onAfterFormInitialized() {\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_10__[\"default\"].get('api/table/describe', {\n      model: 'Hubleto/App/Community/Contacts/Models/Value',\n      idContact: -1\n    }, description => {\n      this.setState({\n        tableValuesDescription: description\n      });\n    });\n  }\n  renderActivityForm(R) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n      ref: this.refActivityModal,\n      uid: \"activity_form\",\n      isOpen: true,\n      type: \"right theme-secondary\",\n      form: this.refActivityForm\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_CustomerFormActivity__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n      modal: this.refActivityModal,\n      id: this.state.showIdActivity,\n      isInlineEditing: true,\n      description: {\n        defaultValues: {\n          id_customer: R.id,\n          date_start: this.state.activityDate,\n          time_start: this.state.activityTime == \"00:00:00\" ? null : this.state.activityTime,\n          date_end: this.state.activityDate,\n          subject: this.state.activitySubject,\n          all_day: this.state.activityAllDay\n        }\n      },\n      onClose: () => {\n        this.setState({\n          showIdActivity: 0\n        });\n      },\n      onSaveCallback: (form, saveResponse) => {\n        if (saveResponse.status == \"success\") {\n          this.setState({\n            showIdActivity: 0\n          });\n        }\n      }\n    }));\n  }\n  renderDocumentForm() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n      ref: this.refDocumentModal,\n      uid: \"document_form\",\n      isOpen: true,\n      type: \"right\",\n      form: this.refDocumentForm\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Documents_Components_FormDocument__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n      modal: this.refDocumentModal,\n      id: this.state.showIdDocument,\n      onClose: () => this.setState({\n        showIdDocument: 0\n      }),\n      descriptionSource: \"both\",\n      description: {\n        defaultValues: {\n          creatingForModel: \"Hubleto/App/Community/Customers/Models/CustomerDocument\",\n          creatingForId: this.state.record.id,\n          origin_link: window.location.pathname + \"?recordId=\" + this.state.record.id\n        }\n      },\n      isInlineEditing: this.state.showIdDocument < 0,\n      showInModalSimple: true,\n      onSaveCallback: (form, saveResponse) => {\n        if (saveResponse.status == \"success\") {\n          this.loadRecord();\n          this.setState({\n            showIdDocument: 0\n          });\n        }\n      },\n      onDeleteCallback: (form, saveResponse) => {\n        if (saveResponse.status == \"success\") {\n          this.loadRecord();\n          this.setState({\n            showIdDocument: 0\n          });\n        }\n      }\n    }));\n  }\n  logCompletedActivity() {\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_10__[\"default\"].get('customers/api/log-activity', {\n      idCustomer: this.state.record.id,\n      activity: this.refLogActivityInput.current.value\n    }, result => {\n      this.loadRecord();\n      this.refLogActivityInput.current.value = '';\n    });\n  }\n  scheduleActivity() {\n    this.setState({\n      showIdActivity: -1,\n      activityDate: moment__WEBPACK_IMPORTED_MODULE_11___default()().add(1, 'week').format('YYYY-MM-DD'),\n      activityTime: moment__WEBPACK_IMPORTED_MODULE_11___default()().add(1, 'week').format('H:00:00'),\n      activitySubject: this.refLogActivityInput.current.value,\n      activityAllDay: false\n    });\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        // const customInputs = this.renderCustomInputs();\n\n        let mapAddress = '';\n        if (R.street_line_1 != '' && R.city != '' && R.COUNTRY && R.COUNTRY.name != '') {\n          mapAddress = R.street_line_1 + ', ' + R.postal_code + ' ' + R.city + ', ' + (R.region ? R.region + ', ' : '') + R.COUNTRY.name;\n        }\n\n        //@ts-ignore\n        const tmpCalendarSmall = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n          onCreateCallback: () => this.loadRecord(),\n          initialView: \"dayGridMonth\",\n          headerToolbar: {\n            start: 'title',\n            center: '',\n            end: 'prev,today,next'\n          },\n          eventsEndpoint: globalThis.hubleto.config.projectUrl + '/calendar/api/get-calendar-events?calendar=customers&idCustomer=' + R.id,\n          onDateClick: (date, time, info) => {\n            this.setState({\n              activityDate: date,\n              activityTime: time,\n              activityAllDay: false,\n              showIdActivity: -1\n            });\n          },\n          onEventClick: info => {\n            this.setState({\n              showIdActivity: parseInt(info.event.id)\n            });\n            info.jsEvent.preventDefault();\n          }\n        });\n        const recentActivitiesAndCalendar = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card card-body shadow-blue-200\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"mb-2\"\n        }, tmpCalendarSmall), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"hubleto component input\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"input-element w-full flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n          className: \"w-full bg-blue-50 border border-blue-800 p-1 text-blue-800 placeholder-blue-300\",\n          placeholder: this.translate('Type recent activity here'),\n          ref: this.refLogActivityInput,\n          onKeyUp: event => {\n            if (event.keyCode == 13) {\n              if (event.shiftKey) {\n                this.scheduleActivity();\n              } else {\n                this.logCompletedActivity();\n              }\n            }\n          },\n          onChange: event => {\n            this.refLogActivityInput.current.value = event.target.value;\n          }\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          onClick: () => {\n            this.logCompletedActivity();\n          },\n          className: \"btn btn-blue-outline btn-small w-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-check\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Log completed activity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"shortcut\"\n        }, this.translate('Enter'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          onClick: () => {\n            this.scheduleActivity();\n          },\n          className: \"btn btn-small w-full btn-blue-outline\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-clock\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Schedule activity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"shortcut\"\n        }, this.translate('Shift+Enter')))), this.divider(this.translate('Most recent activities')), R.ACTIVITIES ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"list\"\n        }, R.ACTIVITIES.reverse().slice(0, 7).map((item, index) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n            key: index,\n            className: \"btn btn-small btn-transparent btn-list-item \" + (item.completed ? \"bg-green-50\" : \"bg-red-50\"),\n            onClick: () => this.setState({\n              showIdActivity: item.id\n            })\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"icon\"\n          }, item.date_start, \" \", item.time_start, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), \"@\", item['_LOOKUP[id_owner]']), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"text\"\n          }, item.subject, item.completed ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"text-red-800\"\n          }, this.translate('Not completed yet'))));\n        })) : null);\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-col md:flex-row gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-2 card\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body flex flex-col md:flex-row gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper(\"name\", {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper(\"identifier\"), this.inputWrapper(\"customer_id\"), this.inputWrapper(\"street_line_1\"), this.inputWrapper(\"street_line_2\"), this.inputWrapper(\"postal_code\"), this.inputWrapper(\"city\"), this.inputWrapper(\"region\"), this.inputWrapper(\"id_country\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex justify-between\"\n        }, mapAddress == '' ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n          href: \"https://maps.google.com/?q=\" + encodeURIComponent(mapAddress),\n          target: \"_blank\",\n          className: \"btn btn-transparent\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-map\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate(\"Show on map\"))))), this.inputWrapper('shared_folder')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper(\"id_owner\"), this.inputWrapper(\"id_manager\"), this.inputWrapper('note', {\n          cssClass: 'bg-yellow-50 dark:bg-slate-600'\n        }), this.inputWrapper(\"tax_id\"), this.inputWrapper(\"vat_id\"), this.inputWrapper(\"date_created\"), this.inputWrapper(\"is_active\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          title: this.translate('Tags')\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Tags2__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _extends({}, this.getInputProps('tags'), {\n          value: this.state.record.TAGS,\n          model: \"Hubleto/App/Community/Customers/Models/Tag\",\n          targetColumn: \"id_customer\",\n          sourceColumn: \"id_tag\",\n          colorColumn: \"color\",\n          onChange: (input, value) => {\n            R.TAGS = value;\n            this.setState({\n              record: R\n            });\n          },\n          onNewTag: title => {\n            return {\n              id: -1,\n              name: title,\n              color: '#' + Math.floor(Math.random() * 16777215).toString(16).padStart(6, '0')\n            };\n          }\n        })))))), this.state.id > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Contacts_Components_TableContacts__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n          uid: this.props.uid + \"_table_contacts\",\n          parentForm: this,\n          showAsCards: true,\n          idCustomer: R.id,\n          customEndpointParams: {\n            idCustomer: R.id\n          }\n        })) : null));\n        // removed by dead control flow\n\n      case 'calendar':\n        //@ts-ignore\n        const tmpCalendarLarge = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n          onCreateCallback: () => this.loadRecord(),\n          initialView: \"timeGridWeek\",\n          views: \"timeGridDay,timeGridWeek,dayGridMonth,listYear\",\n          eventsEndpoint: globalThis.hubleto.config.projectUrl + '/calendar/api/get-calendar-events?calendar=customers&idCustomer=' + R.id,\n          onDateClick: (date, time, info) => {\n            this.setState({\n              activityDate: date,\n              activityTime: time,\n              showIdActivity: -1\n            });\n          },\n          onEventClick: info => {\n            this.setState({\n              showIdActivity: parseInt(info.event.id)\n            });\n            info.jsEvent.preventDefault();\n          }\n        });\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, tmpCalendarLarge, this.state.showIdActivity == 0 ? null : this.renderActivityForm(R));\n        // removed by dead control flow\n\n      case 'documents':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Documents_Components_TableDocuments__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n          key: this.state.tablesKey + \"_table_customer_document\",\n          uid: this.props.uid + \"_table_customer_documents\",\n          junctionModel: \"Hubleto\\\\App\\\\Community\\\\Customers\\\\Models\\\\CustomerDocument\",\n          junctionSourceColumn: \"id_customer\",\n          junctionDestinationColumn: \"id_document\",\n          junctionSourceRecordId: R.id,\n          readonly: !this.state.isInlineEditing\n        }), this.state.showIdDocument != 0 ? this.renderDocumentForm() : null);\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Customers/Components/FormCustomer.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Customers/Components/TableActivities.tsx":
/*!************************************************************!*\
  !*** ../erp/apps/Customers/Components/TableActivities.tsx ***!
  \************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableActivities)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _CustomerFormActivity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CustomerFormActivity */ \"../erp/apps/Customers/Components/CustomerFormActivity.tsx\");\n\n\n\nclass TableActivities extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Customers/Models/Activity'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Customers\\\\Loader';\n  translationContextInner = 'Components\\\\TableActivities';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_CustomerFormActivity__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Customers/Components/TableActivities.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Customers/Components/TableCustomers.tsx":
/*!***********************************************************!*\
  !*** ../erp/apps/Customers/Components/TableCustomers.tsx ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableCustomers)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormCustomer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormCustomer */ \"../erp/apps/Customers/Components/FormCustomer.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n\n\n\n\nclass TableCustomers extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Customers/Models/Customer'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Customers\\\\Loader';\n  translationContextInner = 'Components\\\\TableCustomers';\n  getFormModalProps() {\n    return {\n      ...super.getFormModalProps(),\n      type: 'right wide'\n    };\n  }\n  getCsvImportEndpointParams() {\n    return {\n      model: this.props.model\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/customers/' + (id > 0 ? id : 'add'));\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"virt_tags\") {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, data.TAGS.map((tag, key) => {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          style: {\n            backgroundColor: tag.TAG?.color ?? 'white'\n          },\n          className: \"badge\",\n          key: 'tag-' + data.id + '-' + key\n        }, tag.TAG?.name);\n      }));\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  onAfterLoadTableDescription(description) {\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].get('api/table/describe', {\n      model: 'Hubleto/App/Community/Contacts/Models/Contact',\n      idCustomer: this.props.recordId\n    }, description => {\n      this.setState({\n        tableContactsDescription: description\n      });\n    });\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].get('api/table/describe', {\n      model: 'Hubleto/App/Community/Leads/Models/Lead',\n      idCustomer: this.props.recordId\n    }, description => {\n      this.setState({\n        tableLeadsDescription: description\n      });\n    });\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].get('api/table/describe', {\n      model: 'Hubleto/App/Community/Deals/Models/Deal',\n      idCustomer: this.props.recordId\n    }, description => {\n      this.setState({\n        tableDealsDescription: description\n      });\n    });\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].get('api/table/describe', {\n      model: 'Hubleto/App/Community/Customers/Models/CustomerDocument',\n      idCustomer: this.props.recordId\n    }, description => {\n      this.setState({\n        tableDocumentsDescription: description\n      });\n    });\n    return description;\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.uid = 'form_customer';\n    formProps.tableContactsDescription = this.state.tableContactsDescription;\n    formProps.tableLeadsDescription = this.state.tableLeadsDescription;\n    formProps.tableDealsDescription = this.state.tableDealsDescription;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormCustomer__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Customers/Components/TableCustomers.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Customers/Loader.tsx":
/*!****************************************!*\
  !*** ../erp/apps/Customers/Loader.tsx ***!
  \****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableCustomers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableCustomers */ \"../erp/apps/Customers/Components/TableCustomers.tsx\");\n/* harmony import */ var _Components_TableActivities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableActivities */ \"../erp/apps/Customers/Components/TableActivities.tsx\");\n/* harmony import */ var _Components_CustomerFormActivity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/CustomerFormActivity */ \"../erp/apps/Customers/Components/CustomerFormActivity.tsx\");\n\n\n\n\nclass CustomersApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('CustomersTableCustomers', _Components_TableCustomers__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('CustomersTableActivities', _Components_TableActivities__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('CustomersFormActivity', _Components_CustomerFormActivity__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Customers', new CustomersApp());\n\n//# sourceURL=webpack:///../erp/apps/Customers/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Dashboards/Components/Dashboard.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Dashboards/Components/Dashboard.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ DesktopDashboard)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var primereact_progressbar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! primereact/progressbar */ \"../react-ui/node_modules/primereact/progressbar/progressbar.esm.js\");\n/* harmony import */ var _hubleto_react_ui_core_TranslatedComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/TranslatedComponent */ \"../react-ui/core/TranslatedComponent.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @hubleto/react-ui/core/ModalForm */ \"../react-ui/core/ModalForm.tsx\");\n/* harmony import */ var _FormPanel__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./FormPanel */ \"../erp/apps/Dashboards/Components/FormPanel.tsx\");\n/* harmony import */ var _FormDashboard__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./FormDashboard */ \"../erp/apps/Dashboards/Components/FormDashboard.tsx\");\n\n\n\n\n\n\n\nclass DesktopDashboard extends _hubleto_react_ui_core_TranslatedComponent__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Dashboards\\\\Loader';\n  translationContextInner = 'Components\\\\Dashboard';\n  constructor(props) {\n    super(props);\n    this.refPanelModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refForm = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      panels: this.props.panels,\n      showIdPanel: 0,\n      showIdDashboard: 0,\n      draggedIdPanel: 0,\n      hidePanelsWhileDragging: false\n    };\n  }\n  componentDidMount() {\n    this.loadPanelContents();\n  }\n  loadPanelContents() {\n    let panels = this.state.panels;\n    for (let i in panels) {\n      let configuration = {};\n      try {\n        configuration = JSON.parse(panels[i].configuration ?? '');\n      } catch (ex) {\n        configuration = {};\n      }\n      configuration.idPanel = panels[i].id;\n      if (!panels[i].contentLoaded) {\n        _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post(panels[i].board_url_slug, configuration ?? {}, {}, html => {\n          try {\n            this.state.panels[i].contentLoaded = true;\n            this.state.panels[i].content = html;\n            this.setState({\n              panels: panels\n            });\n          } catch (err) {\n            console.error(err);\n          }\n        });\n      }\n    }\n  }\n  setPanelWidth(idPanel, width) {\n    console.log(idPanel, width);\n    let newPanels = this.state.panels;\n    for (let i in newPanels) {\n      if (newPanels[i].id == idPanel) {\n        newPanels[i].width = width;\n      }\n    }\n    this.setState({\n      panels: newPanels\n    });\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].get('dashboards/api/set-panel-width', {\n      idDashboard: this.props.idDashboard,\n      idPanel: idPanel,\n      width: width\n    }, result => {});\n  }\n  onDragStart(e, idPanel) {\n    this.setState({\n      draggedIdPanel: idPanel\n    });\n    setTimeout(() => {\n      this.setState({\n        hidePanelsWhileDragging: true\n      });\n    }, 50);\n    e.dataTransfer.effectAllowed = \"move\";\n  }\n  onDragOver(e, targetPanelId) {\n    e.preventDefault();\n    const draggedIdPanel = this.state.draggedIdPanel;\n    const panels = this.state.panels;\n    if (draggedIdPanel === targetPanelId) return;\n    let draggedPanel = null;\n    for (let i in panels) {\n      if (panels[i].id === draggedIdPanel) draggedPanel = panels[i];\n    }\n    const newPanels = [];\n    for (let i in panels) {\n      if (panels[i].id == draggedIdPanel) continue;\n      if (panels[i].id == targetPanelId) {\n        newPanels.push(draggedPanel);\n      }\n      newPanels.push(panels[i]);\n    }\n    this.setState({\n      panels: newPanels\n    });\n  }\n  onDrop(e) {\n    e.preventDefault();\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].get('dashboards/api/sort-panels', {\n      idDashboard: this.props.idDashboard,\n      idPanelsSorted: this.state.panels.map(item => item.id)\n    }, html => {\n      this.setState({\n        draggedIdPanel: null,\n        hidePanelsWhileDragging: false\n      });\n    });\n  }\n  renderPanel(panel, index) {\n    const width = panel.width ?? 1;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      key: index,\n      className: \"card\" + \" \" + (panel.id == this.state.draggedIdPanel ? \"card-info\" : \"\"),\n      style: {\n        gridColumn: `span ${width}`\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-header cursor-move\",\n      draggable: true,\n      onDragStart: e => this.onDragStart(e, panel.id),\n      onDragOver: e => this.onDragOver(e, panel.id),\n      onDrop: e => this.onDrop(e)\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"btn-group items-center hidden md:block\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-transparent btn-small\",\n      onClick: () => {\n        let newWidth = (panel.width ?? 3) - 1;\n        if (newWidth > 6) newWidth = 6;\n        if (newWidth < 1) newWidth = 1;\n        this.setPanelWidth(panel.id, newWidth);\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-minus\"\n    }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-transparent btn-small\",\n      onClick: () => {\n        let newWidth = (panel.width ?? 3) + 1;\n        if (newWidth > 6) newWidth = 6;\n        if (newWidth < 1) newWidth = 1;\n        this.setPanelWidth(panel.id, newWidth);\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-plus\"\n    })))), panel.title, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-transparent btn-small\",\n      onClick: () => {\n        this.setState({\n          showIdPanel: panel.id\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-cog\"\n    })))), this.state.hidePanelsWhileDragging ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body bg-gray-50 p-4\"\n    }) : panel.contentLoaded ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\",\n      dangerouslySetInnerHTML: {\n        __html: panel.content\n      }\n    }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(primereact_progressbar__WEBPACK_IMPORTED_MODULE_2__.ProgressBar, {\n      mode: \"indeterminate\",\n      style: {\n        height: '2em'\n      }\n    })));\n  }\n  render() {\n    setTimeout(() => {\n      globalThis.hubleto.renderReactElements();\n    }, 100);\n    const panels = this.state.panels;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex flex-col gap-2\"\n    }, this.props.showAddNewPanelButton ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex flex-row justify-between\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-add mt-2\",\n      onClick: () => {\n        this.setState({\n          showIdPanel: -1\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-plus\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate('Add new panel')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-transparent\",\n      onClick: () => {\n        this.setState({\n          showIdDashboard: this.props.idDashboard\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-cog\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text text-nowrap\"\n    }, this.translate('Configure this dashboard')))) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex flex-col gap-2 md:grid md:grid-cols-6\"\n    }, panels.map((panel, index) => this.renderPanel(panel, index))), this.state.showIdPanel != 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      ref: this.refPanelModal,\n      uid: \"add_new_panel_modal\",\n      isOpen: true,\n      type: \"right\",\n      onClose: () => {\n        this.setState({\n          showIdPanel: 0\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormPanel__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n      modal: this.refPanelModal,\n      uid: \"add_new_panel_form\",\n      customEndpointParams: {\n        idDashboard: this.props.idDashboard\n      },\n      id: this.state.showIdPanel,\n      onClose: () => {\n        this.setState({\n          showIdPanel: 0\n        });\n      },\n      onSaveCallback: () => {\n        this.props.redirectUrl ? window.location.assign(this.props.redirectUrl) : window.location.reload();\n      },\n      onDeleteCallback: () => {\n        this.props.redirectUrl ? window.location.assign(this.props.redirectUrl) : window.location.reload();\n      }\n    })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null), this.state.showIdDashboard != 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      ref: this.refPanelModal,\n      uid: \"edit_dashboard_modal\",\n      isOpen: true,\n      type: \"right\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormDashboard__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n      modal: this.refPanelModal,\n      ref: this.refForm,\n      uid: \"edit_dashboard_modal_form\",\n      id: this.props.idDashboard,\n      onClose: () => {\n        this.setState({\n          showIdDashboard: 0\n        });\n      },\n      onSaveCallback: (form, saveResponse) => {\n        if (saveResponse.status == \"success\") {\n          this.props.redirectUrl ? window.location.assign(this.props.redirectUrl) : window.location.assign(globalThis.hubleto.config.projectUrl + \"/dashboards/\" + this.refForm.current.state.record.slug);\n        }\n      },\n      onDeleteCallback: (form, saveResponse) => {\n        if (saveResponse.status == true) {\n          this.props.redirectUrl ? window.location.assign(this.props.redirectUrl) : window.location.assign(globalThis.hubleto.config.projectUrl + \"/dashboards\");\n        }\n      }\n    })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Dashboards/Components/Dashboard.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Dashboards/Components/FormDashboard.tsx":
/*!***********************************************************!*\
  !*** ../erp/apps/Dashboards/Components/FormDashboard.tsx ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormDashboard)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _TablePanels__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TablePanels */ \"../erp/apps/Dashboards/Components/TablePanels.tsx\");\n\n\n\nclass FormDashboard extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Dashboards/Models/Dashboard'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Dashboards\\\\Loader';\n  translationContextInner = 'Components\\\\FormDashboard';\n  constructor(props) {\n    super(props);\n  }\n  slugify(text) {\n    if (text == null || text.length < 1) return \"\";\n    return text.toString().normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase().trim().replace(/[^a-z0-9-]/g, '-').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  renderHeaderRight() {\n    if (this.state.recordChanged) {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"btn btn-transparent px-2\"\n      }, this.translate(\"Preview available after saving\")), super.renderHeaderRight());\n    } else {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n        className: \"btn btn-add px-2\",\n        target: \"_blank\",\n        href: globalThis.hubleto.config.projectUrl + \"/dashboards/\" + this.state.record.slug\n      }, this.translate(\"Preview\")), super.renderHeaderRight());\n    }\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.title ?? ''));\n  }\n  renderContent() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, this.inputWrapper(\"id_owner\"), this.inputWrapper(\"title\", {\n      onChange: () => {\n        this.updateRecord({\n          slug: this.slugify(this.state.record.title)\n        });\n      }\n    }), this.inputWrapper(\"color\"), this.inputWrapper(\"is_default\"), this.divider(this.translate('Advanced options')), this.inputWrapper(\"slug\"))), this.divider(this.translate('Panels')), this.state.id < 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"badge badge-info\"\n    }, this.translate('First create the dashboard, then you will be prompted to add panels.')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"mt-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TablePanels__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      uid: \"dashboard_panels\",\n      customEndpointParams: {\n        idDashboard: this.state.id\n      }\n    })));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Dashboards/Components/FormDashboard.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Dashboards/Components/FormPanel.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Dashboards/Components/FormPanel.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormPanel)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormPanel extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Dashboards/Models/Panel'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Dashboards\\\\Loader';\n  translationContextInner = 'Components\\\\FormPanel';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Dashboard panel')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.title ? this.state.record.title : '-'));\n  }\n  renderContent() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_dashboard'), this.inputWrapper('board_url_slug', {\n      cssClass: 'text-2xl',\n      onChange: (input, value) => {\n        const enumValues = input.props.enumValues;\n        this.updateRecord({\n          title: enumValues[value] ?? '-'\n        });\n      }\n    }), this.inputWrapper('title'), this.inputWrapper('width'), this.inputWrapper('configuration'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Dashboards/Components/FormPanel.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Dashboards/Components/TableDashboards.tsx":
/*!*************************************************************!*\
  !*** ../erp/apps/Dashboards/Components/TableDashboards.tsx ***!
  \*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableDashboards)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormDashboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormDashboard */ \"../erp/apps/Dashboards/Components/FormDashboard.tsx\");\n\n\n\nclass TableDashboards extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Dashboards/Models/Dashboard'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Dashboards\\\\Loader';\n  translationContextInner = 'Components\\\\TableDashboards';\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right';\n    return params;\n  }\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      idDashboard: this.state.recordId\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormDashboard__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Dashboards/Components/TableDashboards.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Dashboards/Components/TablePanels.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Dashboards/Components/TablePanels.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TablePanels)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormPanel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormPanel */ \"../erp/apps/Dashboards/Components/FormPanel.tsx\");\n\n\n\nclass TablePanels extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Dashboards/Models/Panel'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Dashboards\\\\Loader';\n  translationContextInner = 'Components\\\\TablePanels';\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right';\n    return params;\n  }\n  getFormProps() {\n    let formProps = super.getFormProps();\n    formProps.onSaveCallback = (form, saveResponse) => {\n      this.reload();\n      if (this.state.recordId === -1) {\n        this.openForm(-1);\n      }\n    };\n    return formProps;\n  }\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormPanel__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Dashboards/Components/TablePanels.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Dashboards/Loader.tsx":
/*!*****************************************!*\
  !*** ../erp/apps/Dashboards/Loader.tsx ***!
  \*****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableDashboards__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableDashboards */ \"../erp/apps/Dashboards/Components/TableDashboards.tsx\");\n/* harmony import */ var _Components_Dashboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/Dashboard */ \"../erp/apps/Dashboards/Components/Dashboard.tsx\");\n\n\n\nclass DashboardsApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('DashboardsDashboard', _Components_Dashboard__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('DashboardsTableDashboards', _Components_TableDashboards__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Dashboards', new DashboardsApp());\n\n//# sourceURL=webpack:///../erp/apps/Dashboards/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Deals/Components/DealFormActivity.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Deals/Components/DealFormActivity.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ DealFormActivity)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/FormInput */ \"../react-ui/core/FormInput.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Lookup */ \"../react-ui/core/Inputs/Lookup.tsx\");\n/* harmony import */ var _hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/apps/Calendar/Components/FormActivity */ \"../erp/apps/Calendar/Components/FormActivity.tsx\");\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n\n\n\n\nclass DealFormActivity extends _hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_3__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Deals/Models/DealActivity'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Deals\\\\Loader';\n  translationContextInner = 'Components\\\\FormActivity';\n  getActivitySourceReadable() {\n    return this.translate('Deal');\n  }\n  renderCustomInputs() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_deal', {\n      readonly: R.id > 0\n    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n      title: this.translate(\"Contact\")\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _extends({}, this.getInputProps('id_contact'), {\n      model: \"Hubleto/App/Community/Contacts/Models/Contact\",\n      endpoint: `contacts/api/get-customer-contacts`,\n      customEndpointParams: {\n        id_customer: this.props.idCustomer\n      },\n      value: R.id_contact,\n      onChange: (input, value) => {\n        this.updateRecord({\n          id_contact: value\n        });\n        if (R.id_contact == 0) {\n          R.id_contact = null;\n          this.setState({\n            record: R\n          });\n        }\n      }\n    }))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Deals/Components/DealFormActivity.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Deals/Components/FormDeal.tsx":
/*!*************************************************!*\
  !*** ../erp/apps/Deals/Components/FormDeal.tsx ***!
  \*************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormDeal)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/FormInput */ \"../react-ui/core/FormInput.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! moment */ \"../react-ui/node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Lookup */ \"../react-ui/core/Inputs/Lookup.tsx\");\n/* harmony import */ var _Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Calendar/Components/Calendar */ \"../erp/apps/Calendar/Components/Calendar.tsx\");\n/* harmony import */ var _DealFormActivity__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./DealFormActivity */ \"../erp/apps/Deals/Components/DealFormActivity.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @hubleto/react-ui/core/ModalForm */ \"../react-ui/core/ModalForm.tsx\");\n/* harmony import */ var _TableItems__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./TableItems */ \"../erp/apps/Deals/Components/TableItems.tsx\");\n/* harmony import */ var _hubleto_apps_Documents_Components_TableDocuments__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @hubleto/apps/Documents/Components/TableDocuments */ \"../erp/apps/Documents/Components/TableDocuments.tsx\");\n/* harmony import */ var _TableDealHistory__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./TableDealHistory */ \"../erp/apps/Deals/Components/TableDealHistory.tsx\");\n/* harmony import */ var _hubleto_apps_Tasks_Components_TableTasks__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @hubleto/apps/Tasks/Components/TableTasks */ \"../erp/apps/Tasks/Components/TableTasks.tsx\");\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass FormDeal extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-handshake',\n    model: 'Hubleto/App/Community/Deals/Models/Deal',\n    renderWorkflowUi: true,\n    renderOwnerManagerUi: true,\n    renderPreviewUi: true\n  };\n  parentApp = 'Hubleto/App/Community/Deals';\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Deals\\\\Loader';\n  translationContextInner = 'Components\\\\FormDeal';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refProductsLookup = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refActivityModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refActivityForm = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props),\n      showIdActivity: 0,\n      activityTime: '',\n      activityDate: '',\n      activitySubject: '',\n      activityAllDay: false,\n      tableItemsDescription: null,\n      tableDealDocumentsDescription: null,\n      tablesKey: 0,\n      selectParentLead: false\n    };\n    this.onCreateActivityCallback = this.onCreateActivityCallback.bind(this);\n  }\n  getTabsLeft() {\n    return [{\n      uid: 'default',\n      title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Deal'))\n    }, {\n      uid: 'items',\n      title: this.translate('Items'),\n      showCountFor: 'ITEMS'\n    }, {\n      uid: 'documents',\n      title: this.translate('Documents')\n    }, {\n      uid: 'calendar',\n      title: this.translate('Calendar')\n    }, ...super.getTabsLeft()];\n  }\n  getTabsRight() {\n    return [{\n      uid: 'tasks',\n      title: this.translate('Tasks'),\n      showCountFor: 'TASKS'\n    }, {\n      uid: 'history',\n      icon: 'fas fa-clock-rotate-left',\n      position: 'right'\n    }, {\n      uid: 'timeline',\n      icon: 'fas fa-timeline',\n      position: 'right'\n    }, ...super.getTabsRight()];\n  }\n  getRecordFormUrl() {\n    return 'deals/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n\n  // onTabChange() {\n  //   super.onTabChange();\n\n  //   const tabUid = this.state.activeTabUid;\n  //   switch (tabUid) {\n  //     case 'preview':\n  //       this.updateDealPreview(this.state.record.id_template);\n  //     break;\n  //   }\n  // }\n\n  // updateDealPreview(idTemplate: number) {\n  //   request.post(\n  //     'deals/api/get-preview-html',\n  //     {\n  //       idDeal: this.state.record.id,\n  //       idTemplate: idTemplate,\n  //     },\n  //     {},\n  //     (result: any) => {\n  //       this.setState({htmlPreview: result.html});\n  //     }\n  //   );\n  // }\n\n  // showDealPreviewVars() {\n  //   request.post(\n  //     'deals/api/get-preview-vars',\n  //     {\n  //       idDeal: this.state.record.id,\n  //       idTemplate: this.state.record.id_template,\n  //     },\n  //     {},\n  //     (vars: any) => {\n  //       this.setState({htmlPreview: '<pre>' + JSON.stringify(vars.vars, null, 2) + '</pre>'});\n  //     }\n  //   );\n  // }\n\n  onAfterLoadFormDescription(description) {\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].get('api/table/describe', {\n      model: 'Hubleto/App/Community/Deals/Models/Item',\n      idDeal: this.state.id\n    }, description => {\n      this.setState({\n        tableItemsDescription: description\n      });\n    });\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].get('api/table/describe', {\n      model: 'Hubleto/App/Community/Deals/Models/DealDocument',\n      idDeal: this.state.id\n    }, description => {\n      this.setState({\n        tableDealDocumentsDescription: description\n      });\n    });\n    return description;\n  }\n  contentClassName() {\n    return this.state.record.is_closed ? 'bg-slate-100' : '';\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate(\"Deal\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.identifier ?? '-'));\n  }\n  renderSubTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Deal'));\n  }\n  calculateWeightedProfit(probability, price) {\n    return probability / 100 * price;\n  }\n  onCreateActivityCallback() {\n    this.loadRecord();\n  }\n  componentDidUpdate(prevProps, prevState) {\n    if (prevState.isInlineEditing != this.state.isInlineEditing) this.setState({\n      tablesKey: Math.random()\n    });\n  }\n  logCompletedActivity() {\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].get('deals/api/log-activity', {\n      idDeal: this.state.record.id,\n      activity: this.refLogActivityInput.current.value\n    }, result => {\n      this.loadRecord();\n      this.refLogActivityInput.current.value = '';\n    });\n  }\n  scheduleActivity() {\n    this.setState({\n      showIdActivity: -1,\n      activityDate: moment__WEBPACK_IMPORTED_MODULE_4___default()().add(1, 'week').format('YYYY-MM-DD'),\n      activityTime: moment__WEBPACK_IMPORTED_MODULE_4___default()().add(1, 'week').format('H:00:00'),\n      activitySubject: this.refLogActivityInput.current.value,\n      activityAllDay: false\n    });\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        const inputsColumnLeft = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          title: this.translate(\"Lead\")\n        }, this.state.selectParentLead ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n          model: \"Hubleto/App/Community/Leads/Models/Lead\",\n          cssClass: \"font-bold\",\n          onChange: (input, value) => {\n            _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].post('deals/api/set-parent-lead', {\n              idDeal: this.state.record.id,\n              idLead: value\n            }, {}, data => {\n              this.setState({\n                selectParentLead: false\n              }, () => this.reload());\n            });\n          }\n        })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, R.LEADS ? R.LEADS.map((item, key) => {\n          if (!item.LEAD) return null;\n          return item.LEAD ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n            key: key,\n            className: \"badge\",\n            href: globalThis.hubleto.config.projectUrl + '/leads/' + item.LEAD.id,\n            target: \"_blank\"\n          }, \"#\", item.LEAD.id) : '#';\n        }) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-small btn-transparent\",\n          onClick: () => {\n            this.setState({\n              selectParentLead: true\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Select parent lead'))))), this.inputWrapper('identifier', {\n          cssClass: 'text-2xl',\n          readonly: R.is_closed\n        }), this.inputWrapper('title', {\n          cssClass: 'text-2xl',\n          readonly: R.is_closed\n        }), this.inputWrapper('version'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          title: this.translate('Customer')\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _extends({}, this.getInputProps(\"id_customer\"), {\n          model: \"Hubleto/App/Community/Customers/Models/Customer\",\n          urlAdd: \"customers/add\",\n          value: R.id_customer,\n          readonly: R.is_closed,\n          onChange: (input, value) => {\n            this.updateRecord({\n              id_customer: value,\n              id_contact: null\n            });\n            if (R.id_customer == 0) {\n              R.id_customer = null;\n              this.setState({\n                record: R\n              });\n            }\n          }\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          title: this.translate('Contact')\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _extends({}, this.getInputProps(\"id_contact\"), {\n          model: \"Hubleto/App/Community/Contacts/Models/Contact\",\n          customEndpointParams: {\n            idCustomer: R.id_customer\n          },\n          value: R.id_contact,\n          urlAdd: \"contacts/add\",\n          readonly: R.is_closed,\n          onChange: (input, value) => {\n            this.updateRecord({\n              id_contact: value\n            });\n            if (R.id_contact == 0) {\n              R.id_contact = null;\n              this.setState({\n                record: R\n              });\n            }\n          }\n        }))), R.CONTACT && R.CONTACT.VALUES ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"ml-4 text-sm p-2 bg-lime-100 text-lime-900 mb-2\"\n        }, R.CONTACT.VALUES.map((item, key) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            key: key\n          }, item.value);\n        })) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-row *:w-1/2\"\n        }, this.inputWrapper('price_excl_vat', {\n          cssClass: 'text-2xl',\n          readonly: R.ITEMS && R.ITEMS.length > 0 ? true : false\n        }), this.input('id_currency')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-row *:w-1/2 items-center\"\n        }, this.inputWrapper('price_incl_vat', {\n          readonly: R.ITEMS && R.ITEMS.length > 0 ? true : false\n        }), this.state.isInlineEditing && R.ITEMS && R.ITEMS.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge badge-warning\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon mr-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-warning\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Price is calculated from items.'))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null)), this.inputWrapper('customer_order_number', {\n          readonly: R.is_closed\n        }), this.inputWrapper('id_template_quotation', {\n          readonly: R.is_closed\n        }), this.inputWrapper('date_expected_close', {\n          readonly: R.is_closed\n        }), this.inputWrapper('date_created'));\n        const inputsColumnRight = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.state.id > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 mb-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge badge-violet\"\n        }, this.translate(\"Deal value:\"), \" \", globalThis.hubleto.numberFormat(R.price_excl_vat, 2, \",\", \" \"), \" \", R.CURRENCY?.code), R.WORKFLOW_STEP && R.WORKFLOW_STEP.probability ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge badge-violet\"\n        }, this.translate(\"Weighted profit\"), \" (\", R.WORKFLOW_STEP?.probability, \" %):\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"strong\", null, \" \", globalThis.hubleto.numberFormat(this.calculateWeightedProfit(R.WORKFLOW_STEP?.probability, R.price_excl_vat), 2, ',', ' '), \" \", R.CURRENCY.code)) : null) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, this.inputWrapper('source_channel', {\n          readonly: R.is_closed\n        }), this.inputWrapper('is_new_customer', {\n          readonly: R.is_closed,\n          onChange: (input, value) => {\n            if (this.state.record.is_new_customer) {\n              this.updateRecord({\n                business_type: 1 /* New */\n              });\n            }\n          }\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, this.inputWrapper('business_type', {\n          uiStyle: 'buttons',\n          readonly: R.is_closed,\n          onChange: (input, value) => {\n            if (this.state.record.business_type == 2 /* Existing */) {\n              this.updateRecord({\n                is_new_customer: false\n              });\n            }\n          }\n        }), this.inputWrapper(\"deal_result\", {\n          uiStyle: 'buttons',\n          readonly: R.is_closed,\n          onChange: (input, value) => {\n            this.updateRecord({\n              lost_reason: null\n            });\n          }\n        })), this.inputWrapper('note', {\n          cssClass: 'bg-yellow-50 dark:bg-slate-600',\n          readonly: R.is_closed\n        }), this.state.record.deal_result == 2 ? this.inputWrapper('lost_reason', {\n          readonly: R.is_closed\n        }) : null);\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 flex-col md:flex-row\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card card-body flex flex-col md:flex-row gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, inputsColumnLeft), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"border-t md:border-l border-gray-200\"\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, inputsColumnRight)))));\n        // removed by dead control flow\n\n      case 'items':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full h-full overflow-x-auto\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper('description_before')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableItems__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n          key: \"items_\" + this.state.tablesKey,\n          uid: this.props.uid + \"_table_deal_items\",\n          tag: \"deal_items\",\n          parentForm: this,\n          idDeal: R.id,\n          descriptionSource: \"both\",\n          readonly: !this.state.isInlineEditing\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper('description_after'))));\n        // removed by dead control flow\n\n\n      // case 'preview':\n      //   return <div className='flex gap-2 h-full'>\n      //     <div className='flex-1 w-72 flex flex-col gap-2'>\n      //       <div className='grow'>\n      //         {this.inputWrapper('id_template', {\n      //           uiStyle: 'buttons-vertical',\n      //           onChange: (input: any) => {\n      //             this.updateDealPreview(input.state.value);\n      //           }\n      //         })}\n      //       </div>\n      //     </div>\n      //     <div className='flex-3 flex flex-col'>\n      //       <div className='flex gap-2 align-center justify-end'>\n      //         <div>\n      //           {this.input('pdf', {readonly: true})}\n      //         </div>\n      //         <div className='flex gap-2'>\n      //           <button\n      //             className='btn btn-transparent mb-4'\n      //             onClick={() => {\n      //               request.post(\n      //                 'deals/api/generate-pdf',\n      //                 {idDeal: this.state.record.id},\n      //                 {},\n      //                 (result: any) => {\n      //                   // if (result.idDocument) {\n      //                   //   window.open(globalThis.hubleto.config.projectUrl + '/documents/' + result.idDocument);\n      //                   // }\n      //                   // this.reload();\n      //                   if (result && result.pdfFile) {\n      //                     this.updateRecord({pdf: result.pdfFile});\n      //                   }\n      //                 }\n      //               );\n      //             }}\n      //           >\n      //             <span className='icon'><i className='fas fa-download'></i></span>\n      //             <span className='text'>{this.translate('Export to PDF')}</span>\n      //           </button>\n      //           <button\n      //             className='btn btn-transparent mb-4'\n      //             onClick={() => {\n      //               const iframe = window.frames[this.props.uid + '_deal_preview'];\n      //               const origDocumentTitle = document.title;\n\n      //               document.title += 'Deal ' + R.number + ' ' + R.CUSTOMER.name;\n\n      //               iframe.contentWindow.focus();\n      //               iframe.contentWindow.print();\n\n      //               document.title = origDocumentTitle;\n      //             }}\n      //           >\n      //             <span className='icon'><i className='fas fa-print'></i></span>\n      //             <span className='text'>{this.translate('Print')}</span>\n      //           </button>\n      //         </div>\n      //       </div>\n      //       <div className='w-full h-full card mt-2'>\n      //         <div className=\"card-body\">\n      //           <HtmlFrame\n      //             className='w-full h-full'\n      //             iframeId={this.props.uid + '_deal_preview'}\n      //             content={this.state.htmlPreview}\n      //           />\n      //         </div>\n      //         <div className='card-footer'>\n      //           <a\n      //             href='#'\n      //             onClick={() => {\n      //               this.showDealPreviewVars();\n      //             }}\n      //           >{this.translate('Show variables available in template')}</a>\n      //         </div>\n      //       </div>\n      //     </div>\n      //   </div>;\n      // break;\n\n      case 'documents':\n        let iframeUrl = '';\n        try {\n          let url = new URL(R.shared_folder ?? '');\n          if (url.hostname == 'drive.google.com' && url.pathname.indexOf('/drive/folders') == 0) {\n            // for Google Drive, replacing\n            // https://drive.google.com/drive/folders/FOLDER_ID\n            // with https://drive.google.com/embeddedfolderview?id=FOLDER_ID\n            // makes the folder embeddable\n\n            iframeUrl = 'https://drive.google.com/embeddedfolderview' + '?id=' + url.pathname.replace('/drive/folders/', '') + '&authuser=0';\n          } else {\n            iframeUrl = R.shared_folder ?? '';\n          }\n        } catch (e) {}\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-col gap-2 h-full\"\n        }, this.inputWrapper('shared_folder', {\n          readonly: R.is_closed\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"iframe\", {\n          className: \"w-full h-full shadow-sm\",\n          src: iframeUrl\n        }));\n        // removed by dead control flow\n\n      case 'calendar':\n        //@ts-ignore\n        const tmpCalendarSmall = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n          onCreateCallback: () => this.loadRecord(),\n          readonly: R.is_closed,\n          initialView: \"dayGridMonth\",\n          headerToolbar: {\n            start: 'title',\n            center: '',\n            end: 'prev,today,next'\n          },\n          eventsEndpoint: globalThis.hubleto.config.projectUrl + '/calendar/api/get-calendar-events?calendar=deals&idDeal=' + R.id,\n          onDateClick: (date, time, info) => {\n            this.setState({\n              activityDate: date,\n              activityTime: time,\n              activityAllDay: false,\n              showIdActivity: -1\n            });\n          },\n          onEventClick: info => {\n            this.setState({\n              showIdActivity: parseInt(info.event.id)\n            });\n            info.jsEvent.preventDefault();\n          }\n        });\n        const recentActivitiesAndCalendar = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card card-body flex flex-col gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, tmpCalendarSmall), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"hubleto component input\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"input-element w-full flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n          className: \"w-full bg-blue-50 border border-blue-800 p-1 text-blue-800 placeholder-blue-300\",\n          placeholder: this.translate('Type recent activity here'),\n          ref: this.refLogActivityInput,\n          onKeyUp: event => {\n            if (event.keyCode == 13) {\n              if (event.shiftKey) {\n                this.scheduleActivity();\n              } else {\n                this.logCompletedActivity();\n              }\n            }\n          },\n          onChange: event => {\n            this.refLogActivityInput.current.value = event.target.value;\n          }\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          onClick: () => {\n            this.logCompletedActivity();\n          },\n          className: \"btn btn-blue-outline btn-small w-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-check\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Log completed activity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"shortcut\"\n        }, this.translate('Enter'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          onClick: () => {\n            this.scheduleActivity();\n          },\n          className: \"btn btn-small w-full btn-blue-outline\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-clock\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Schedule activity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"shortcut\"\n        }, this.translate('Shift+Enter')))), this.divider(this.translate('Most recent activities')), R.ACTIVITIES ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"list\"\n        }, R.ACTIVITIES.reverse().slice(0, 7).map((item, index) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n            key: index,\n            className: \"btn btn-small btn-transparent btn-list-item \" + (item.completed ? \"bg-green-50\" : \"bg-red-50\"),\n            onClick: () => this.setState({\n              showIdActivity: item.id\n            })\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"icon\"\n          }, item.date_start, \" \", item.time_start, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), \"@\", item['_LOOKUP[id_owner]']), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"text\"\n          }, item.subject, item.completed ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"text-red-800\"\n          }, this.translate('Not completed yet')))));\n        })) : null));\n\n        //@ts-ignore\n        const tmpCalendarLarge = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n          onCreateCallback: () => this.loadRecord(),\n          readonly: R.is_closed,\n          initialView: \"timeGridWeek\",\n          views: \"timeGridDay,timeGridWeek,dayGridMonth,listYear\",\n          eventsEndpoint: globalThis.hubleto.config.projectUrl + '/calendar/api/get-calendar-events?calendar=deals&idDeal=' + R.id,\n          onDateClick: (date, time, info) => {\n            this.setState({\n              activityDate: date,\n              activityTime: time,\n              activityAllDay: false,\n              showIdActivity: -1\n            });\n          },\n          onEventClick: info => {\n            this.setState({\n              showIdActivity: parseInt(info.event.id)\n            });\n            info.jsEvent.preventDefault();\n          }\n        });\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-2 w-2/3\"\n        }, tmpCalendarLarge), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1 w-1/3\"\n        }, this.state.id > 0 ? recentActivitiesAndCalendar : null)));\n        // removed by dead control flow\n\n      case 'tasks':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Tasks_Components_TableTasks__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n          tag: \"table_deal_task\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_deal_task\",\n          junctionTitle: \"Deal\",\n          junctionModel: \"Hubleto/App/Community/Deals/Models/DealTask\",\n          junctionSourceColumn: \"id_deal\",\n          junctionSourceRecordId: R.id,\n          junctionDestinationColumn: \"id_task\"\n        });\n        // removed by dead control flow\n\n      case 'documents':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Documents_Components_TableDocuments__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n          key: this.state.tablesKey + \"_table_deal_document\",\n          uid: this.props.uid + \"_table_deal_documents\",\n          tag: 'table_deal_documents',\n          parentForm: this,\n          junctionModel: \"Hubleto\\\\App\\\\Community\\\\Deals\\\\Models\\\\DealDocument\",\n          junctionSourceColumn: \"id_deal\",\n          junctionDestinationColumn: \"id_document\",\n          junctionSourceRecordId: R.id,\n          readonly: !this.state.isInlineEditing\n        }));\n        // removed by dead control flow\n\n      case 'history':\n        if (R.HISTORY && R.HISTORY.length > 0) {\n          if (R.HISTORY.length > 1 && R.HISTORY[0].id < R.HISTORY[R.HISTORY.length - 1].id) R.HISTORY = this.state.record.HISTORY.reverse();\n        }\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body [&_*]:whitespace-normal\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableDealHistory__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n          uid: this.props.uid + \"_table_deal_history\",\n          data: {\n            records: R.HISTORY\n          },\n          descriptionSource: \"props\",\n          onRowClick: table => {},\n          description: {\n            permissions: {\n              canCreate: false,\n              canDelete: false,\n              canRead: true,\n              canUpdate: false\n            },\n            ui: {\n              showFooter: false,\n              showHeader: false\n            },\n            columns: {\n              description: {\n                type: \"varchar\",\n                title: this.translate(\"Description\")\n              },\n              change_date: {\n                type: \"date\",\n                title: this.translate(\"Change Date\")\n              }\n            },\n            inputs: {\n              description: {\n                type: \"varchar\",\n                title: this.translate(\"Description\"),\n                readonly: true\n              },\n              change_date: {\n                type: \"date\",\n                title: this.translate(\"Change Date\")\n              }\n            }\n          },\n          readonly: true\n        }))));\n        // removed by dead control flow\n\n      case 'timeline':\n        return this.renderTimeline([{\n          data: thisForm => thisForm.state.record.ACTIVITIES,\n          icon: 'fas fa-calendar',\n          color: '#32678fff',\n          timestampFormatter: entry => entry.date_start,\n          valueFormatter: entry => entry.subject,\n          userNameFormatter: entry => entry['_LOOKUP[id_owner]']\n        }, {\n          data: thisForm => thisForm.state.record.WORKFLOW_HISTORY,\n          icon: 'fas fa-timeline',\n          color: '#8f3248ff',\n          timestampFormatter: entry => entry.datetime_change,\n          valueFormatter: entry => entry.WORKFLOW_STEP?.name ?? '---',\n          userNameFormatter: entry => entry.USER?.nick\n        }]);\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n  renderContent() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, super.renderContent(), this.state.showIdActivity == 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n      ref: this.refActivityModal,\n      form: this.refActivityForm,\n      uid: \"activity_form\",\n      isOpen: true,\n      type: \"right\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_DealFormActivity__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n      ref: this.refActivityForm,\n      modal: this.refActivityModal,\n      id: this.state.showIdActivity,\n      isInlineEditing: true,\n      description: {\n        defaultValues: {\n          id_deal: R.id,\n          id_contact: R.id_contact,\n          date_start: this.state.activityDate,\n          time_start: this.state.activityTime == \"00:00:00\" ? null : this.state.activityTime,\n          date_end: this.state.activityDate,\n          all_day: this.state.activityAllDay,\n          subject: this.state.activitySubject\n        }\n      },\n      idCustomer: R.id_customer,\n      onClose: () => {\n        this.setState({\n          showIdActivity: 0\n        });\n      },\n      onSaveCallback: (form, saveResponse) => {\n        if (saveResponse.status == \"success\") {\n          this.setState({\n            showIdActivity: 0\n          });\n        }\n      }\n    })));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Deals/Components/FormDeal.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Deals/Components/TableDealHistory.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Deals/Components/TableDealHistory.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableDealHistory)\n/* harmony export */ });\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n\nclass TableDealHistory extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_0__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Deals/Models/DealHistory'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Deals\\\\Loader';\n  translationContextInner = 'Components\\\\TableDealHistory';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Deals/Components/TableDealHistory.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Deals/Components/TableDeals.tsx":
/*!***************************************************!*\
  !*** ../erp/apps/Deals/Components/TableDeals.tsx ***!
  \***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableDeals)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormDeal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormDeal */ \"../erp/apps/Deals/Components/FormDeal.tsx\");\n\n\n\nclass TableDeals extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Deals/Models/Deal'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Deals\\\\Loader';\n  translationContextInner = 'Components\\\\TableDeals';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idCustomer: this.props.idCustomer\n    };\n  }\n  rowClassName(rowData) {\n    return rowData.is_closed ? 'bg-slate-300' : super.rowClassName(rowData);\n  }\n\n  // renderCell(columnName: string, column: any, data: any, options: any) {\n  //   if (columnName == \"title\") {\n  //     return <>\n  //       {super.renderCell(columnName, column, data, options)}\n  //       {data['note'] ?\n  //         <div\n  //           className=\"badge badge-extra-small badge-warning block whitespace-pre truncate\"\n  //           style={{maxHeight: '2.7em', maxWidth: '20em', overflow: 'hidden'}}\n  //         ><i className=\"fas fa-note-sticky mr-2\"></i>{data['note']}</div>\n  //       : null}\n  //     </>;\n  //   } else {\n  //     return super.renderCell(columnName, column, data, options);\n  //   }\n  // }\n\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/deals/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idCustomer = this.props.idCustomer;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormDeal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Deals/Components/TableDeals.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Deals/Components/TableItems.tsx":
/*!***************************************************!*\
  !*** ../erp/apps/Deals/Components/TableItems.tsx ***!
  \***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableItems)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\n\nclass TableItems extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Deals/Models/Item'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Deals\\\\Loader';\n  translationContextInner = 'Components\\\\TableItems';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idDeal: this.props.idDeal\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.description = {\n      defaultValues: {\n        id_deal: this.props.idDeal\n      }\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Deals/Components/TableItems.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Deals/Loader.tsx":
/*!************************************!*\
  !*** ../erp/apps/Deals/Loader.tsx ***!
  \************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableDeals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableDeals */ \"../erp/apps/Deals/Components/TableDeals.tsx\");\n/* harmony import */ var _Components_DealFormActivity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/DealFormActivity */ \"../erp/apps/Deals/Components/DealFormActivity.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _hubleto_apps_Leads_Components_FormLead__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @hubleto/apps/Leads/Components/FormLead */ \"../erp/apps/Leads/Components/FormLead.tsx\");\n\n\n\n\n\n\nclass DealsApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('DealsTableDeals', _Components_TableDeals__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('DealsFormActivity', _Components_DealFormActivity__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n    // miscellaneous\n    globalThis.hubleto.getApp('Hubleto/App/Community/Leads').addCustomFormTab({\n      uid: 'deals',\n      title: globalThis.hubleto.translate('Deals', 'Hubleto\\\\App\\\\Community\\\\Deals\\\\Loader', 'manifest'),\n      onRender: form => {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Components_TableDeals__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          tag: \"table_lead_deal\",\n          parentForm: form\n          //@ts-ignore\n          ,\n          description: {\n            ui: {\n              showHeader: false\n            }\n          },\n          descriptionSource: \"both\",\n          uid: form.props.uid + \"_table_lead_deal\",\n          junctionTitle: \"Deal\",\n          junctionModel: \"Hubleto/App/Community/Deals/Models/DealLead\",\n          junctionSourceColumn: \"id_lead\",\n          junctionSourceRecordId: form.state.record.id,\n          junctionDestinationColumn: \"id_deal\"\n        });\n      }\n    });\n    _hubleto_apps_Leads_Components_FormLead__WEBPACK_IMPORTED_MODULE_5__[\"default\"].addFormHeaderButton(globalThis.hubleto.translate('Create deal', 'Hubleto\\\\App\\\\Community\\\\Deals\\\\Loader', 'manifest'), '', form => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_4__[\"default\"].get('deals/api/create-from-lead', {\n        idLead: form.state.record.id\n      }, data => {\n        if (data.status == \"success\") {\n          globalThis.window.open(globalThis.hubleto.config.projectUrl + `/deals/${data.idDeal}`);\n        }\n      });\n    });\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Deals', new DealsApp());\n\n//# sourceURL=webpack:///../erp/apps/Deals/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Desktop/Loader.tsx":
/*!**************************************!*\
  !*** ../erp/apps/Desktop/Loader.tsx ***!
  \**************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n\nclass DesktopApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Desktop', new DesktopApp());\n\n//# sourceURL=webpack:///../erp/apps/Desktop/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Developer/Loader.tsx":
/*!****************************************!*\
  !*** ../erp/apps/Developer/Loader.tsx ***!
  \****************************************/
/***/ (() => {

eval("{// How to add any React Component to be usable in Twig templates as '<hblreact-*></hblreact-*>' HTML tag.\n// -> Replace 'MyModel' with the name of your model in the examples below\n\n// 1. import the component\n// import TableMyModel from \"./Components/TableMyModel\"\n\n// 2. Register the React Component into Hubleto framework\n// globalThis.hubleto.registerReactComponent('DeveloperTableMyModel', TableMyModel);\n\n// 3. Use the component in any of your Twig views:\n// <hblreact-developer-table-my-model string:some-property=\"some-value\"></hblreact-developer-table-my-model>\n\n//# sourceURL=webpack:///../erp/apps/Developer/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Discussions/Components/FormDiscussion.tsx":
/*!*************************************************************!*\
  !*** ../erp/apps/Discussions/Components/FormDiscussion.tsx ***!
  \*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormDiscussion)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _Messages__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Messages */ \"../erp/apps/Discussions/Components/Messages.tsx\");\n\n\n\nclass FormDiscussion extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Discussions/Models/Discussion'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Discussions\\\\Loader';\n  translationContextInner = 'Components\\\\FormDiscussion';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    let tabs = {};\n    if (this.props.id < 0) {\n      tabs = [{\n        uid: 'default',\n        title: this.translate('About')\n      }];\n    } else {\n      tabs = [{\n        uid: 'default',\n        title: this.translate('Messages')\n      }, {\n        uid: 'about',\n        title: this.translate('About')\n      }];\n    }\n    return {\n      ...super.getStateFromProps(props),\n      tabs: tabs\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Discussion')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.topic ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    const tabAbout = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-full flex gap-2 flex-col md:flex-row\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1 border-r border-gray-100\"\n    }, this.inputWrapper('topic'), this.inputWrapper('description'), this.inputWrapper('id_main_mod'), this.inputWrapper('is_closed')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1\"\n    }, this.inputWrapper('notes'), this.inputWrapper('date_created')));\n    const tabMessages = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Messages__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      uid: this.props.uid + \"_table_messages\",\n      tag: \"DiscussionMessages\",\n      parentForm: this,\n      idDiscussion: R.id\n    });\n    switch (tabUid) {\n      case 'default':\n        return this.state.id < 0 ? tabAbout : tabMessages;\n        // removed by dead control flow\n\n      case 'about':\n        return this.state.id < 0 ? null : tabAbout;\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Discussions/Components/FormDiscussion.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Discussions/Components/FormMember.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Discussions/Components/FormMember.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormMember)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormMember extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Discussions/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Discussions\\\\Loader';\n  translationContextInner = 'Components\\\\FormMember';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Member')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.translate('Record #'), this.state.record.id ?? '0'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Discussions/Components/FormMember.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Discussions/Components/FormMessage.tsx":
/*!**********************************************************!*\
  !*** ../erp/apps/Discussions/Components/FormMessage.tsx ***!
  \**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormMessage)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormMessage extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Discussions/Models/Message'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Discussions\\\\Loader';\n  translationContextInner = 'Components\\\\FormMessage';\n  constructor(props) {\n    super(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: this.translate('Task')\n      }\n      // Add your tabs here.\n      // 'tab_with_nested_table': { title: 'Example tab with nested table' }\n      ]\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Message')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.translate('Record #'), this.state.record.id ?? '0'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Discussions/Components/FormMessage.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Discussions/Components/Messages.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Discussions/Components/Messages.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Messages)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var primereact_progressbar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! primereact/progressbar */ \"../react-ui/node_modules/primereact/progressbar/progressbar.esm.js\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var marked_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marked-react */ \"../react-ui/node_modules/marked-react/dist/index.js\");\n\n\n\n\n\nclass Messages extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Discussions/Models/Message'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Discussions\\\\Loader';\n  translationContextInner = 'Components\\\\Messages';\n  constructor(props) {\n    super(props);\n    this.refMessageTextarea = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idDiscussion: this.props.idDiscussion\n    };\n  }\n  render() {\n    if (!this.state.data) {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(primereact_progressbar__WEBPACK_IMPORTED_MODULE_2__.ProgressBar, {\n        mode: \"indeterminate\",\n        style: {\n          height: '8px'\n        }\n      });\n    }\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"list\"\n    }, Object.keys(this.state.data.records ?? {}).map(index => {\n      const message = this.state.data.records[index];\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"btn btn-list-item btn-transparent gap-2 p-2 justify-between  \",\n        key: index\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, message.id_from == globalThis.hubleto.idUser || !message.FROM?.nick ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"badge badge-blue\"\n      }, this.translate('you')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"badge\"\n      }, message.FROM?.nick), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", {\n        className: \"ml-2\"\n      }, message.sent), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(marked_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null, message.message))));\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 items-end\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"grow\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"textarea\", {\n      id: this.props.uid + '_message',\n      className: \"w-full h-24 shadow mt-2 border-gray-200\",\n      ref: this.refMessageTextarea,\n      placeholder: this.translate('Type your message here...')\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"shrink\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-large mb-2\",\n      onClick: () => {\n        _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].post('discussions/api/send-message', {\n          idDiscussion: this.props.idDiscussion,\n          message: this.refMessageTextarea.current.value\n        }, {}, res => {\n          let data = this.state.data;\n          data.records.push(res.sentMessage);\n          this.setState({\n            data: data\n          }, () => {\n            this.refMessageTextarea.current.value = '';\n          });\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-paper-plane\"\n    }))))), this.translate('Tip: You can use **markdown** syntax.'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Discussions/Components/Messages.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Discussions/Components/TableDiscussions.tsx":
/*!***************************************************************!*\
  !*** ../erp/apps/Discussions/Components/TableDiscussions.tsx ***!
  \***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableDiscussions)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormDiscussion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormDiscussion */ \"../erp/apps/Discussions/Components/FormDiscussion.tsx\");\n\n\n\nclass TableDiscussions extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Discussions/Models/Discussion'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Discussions\\\\Loader';\n  translationContextInner = 'Components\\\\TableDiscussions';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormDiscussion__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Discussions/Components/TableDiscussions.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Discussions/Components/TableMembers.tsx":
/*!***********************************************************!*\
  !*** ../erp/apps/Discussions/Components/TableMembers.tsx ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableMembers)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormMember__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormMember */ \"../erp/apps/Discussions/Components/FormMember.tsx\");\n\n\n\nclass TableMembers extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Discussions/Models/Member'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Discussions\\\\Loader';\n  translationContextInner = 'Components\\\\TableMembers';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idDiscussion: this.props.idDiscussion\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idDiscussion = this.props.idDiscussion;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_discussion: this.props.idDiscussion\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormMember__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Discussions/Components/TableMembers.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Discussions/Components/TableMessages.tsx":
/*!************************************************************!*\
  !*** ../erp/apps/Discussions/Components/TableMessages.tsx ***!
  \************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableMessages)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormMessage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormMessage */ \"../erp/apps/Discussions/Components/FormMessage.tsx\");\n\n\n\nclass TableMessages extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Discussions/Models/Message'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Discussions\\\\Loader';\n  translationContextInner = 'Components\\\\TableMessages';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idDiscussion: this.props.idDiscussion\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idDiscussion = this.props.idDiscussion;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_discussion: this.props.idDiscussion\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormMessage__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Discussions/Components/TableMessages.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Discussions/Loader.tsx":
/*!******************************************!*\
  !*** ../erp/apps/Discussions/Loader.tsx ***!
  \******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableDiscussions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableDiscussions */ \"../erp/apps/Discussions/Components/TableDiscussions.tsx\");\n/* harmony import */ var _Components_TableMembers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableMembers */ \"../erp/apps/Discussions/Components/TableMembers.tsx\");\n/* harmony import */ var _Components_TableMessages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/TableMessages */ \"../erp/apps/Discussions/Components/TableMessages.tsx\");\n\n\n\n\nclass DiscussionsApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('DiscussionsTableMembers', _Components_TableMembers__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('DiscussionsTableDiscussions', _Components_TableDiscussions__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('DiscussionsTableMessages', _Components_TableMessages__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Discussions', new DiscussionsApp());\n\n//# sourceURL=webpack:///../erp/apps/Discussions/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Documents/Components/FileBrowser.tsx":
/*!********************************************************!*\
  !*** ../erp/apps/Documents/Components/FileBrowser.tsx ***!
  \********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FileBrowser)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Form__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/Form */ \"../react-ui/core/Form.tsx\");\n/* harmony import */ var _FormFile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./FormFile */ \"../erp/apps/Documents/Components/FormFile.tsx\");\n/* harmony import */ var primereact_progressbar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! primereact/progressbar */ \"../react-ui/node_modules/primereact/progressbar/progressbar.esm.js\");\n/* harmony import */ var _hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @hubleto/react-ui/core/ModalForm */ \"../react-ui/core/ModalForm.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Lookup */ \"../react-ui/core/Inputs/Lookup.tsx\");\n\n\n\n\n\n\n\n\nclass FileBrowser extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Documents/Models/File'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Documents\\\\Loader';\n  translationContextInner = 'Components\\\\FileBrowser';\n  constructor(props) {\n    super(props);\n    this.refFolderPropertiesModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refBulkMoveFolderLookup = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props),\n      folderUid: this.props.folderUid ? this.props.folderUid : '_ROOT_',\n      fileUid: this.props.fileUid,\n      folderContent: null,\n      path: this.props.path ?? [],\n      showFolderProperties: 0,\n      selectedFolders: [],\n      selectedFiles: [],\n      deletingRecord: false,\n      deleteButtonDisabled: false,\n      showBulkMove: false\n    };\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  componentDidMount() {\n    super.componentDidMount();\n    window.addEventListener('popstate', this.handlePopState);\n  }\n  componentWillUnmount() {\n    window.removeEventListener('popstate', this.handlePopState);\n  }\n  handlePopState = event => {\n    if (event.state && event.state.folderUid) {\n      this.setState(event.state, () => {\n        this.loadData();\n      });\n    } else {\n      this.setState({\n        recordId: 0,\n        folderUid: '_ROOT_',\n        path: [],\n        showFolderProperties: 0\n      }, () => {\n        this.loadData();\n      });\n    }\n  };\n  loadData() {\n    this.setState({\n      loadingData: true,\n      selectedFolders: [],\n      selectedFiles: [],\n      deletingRecord: false,\n      showBulkMove: false\n    }, () => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].get('', {\n        route: 'documents/api/get-folder-content',\n        folderUid: this.state.folderUid,\n        fulltextSearch: this.state.fulltextSearch\n      }, folderContent => {\n        this.setState({\n          loadingData: false,\n          folderContent: folderContent\n        });\n      });\n    });\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wider';\n    return params;\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams = {\n      idFolder: this.state.folderContent.folder.id\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormFile__WEBPACK_IMPORTED_MODULE_4__[\"default\"], formProps);\n  }\n  changeFolder(newFolderUid, newPath) {\n    const newState = {\n      recordId: 0,\n      folderUid: newFolderUid,\n      path: newPath,\n      showFolderProperties: 0\n    };\n    window.history.pushState(newState, \"\", '?folderUid=' + newFolderUid);\n    this.setState(newState, () => {\n      this.loadData();\n    });\n  }\n  createSubFolder() {\n    this.setState({\n      showFolderProperties: -1\n    });\n  }\n  toggleSelection(id, type) {\n    const sel = this.state[type].includes(id) ? this.state[type].filter(i => i !== id) : [...this.state[type], id];\n    this.setState({\n      [type]: sel\n    });\n  }\n  bulkDelete() {\n    this.setState({\n      deletingRecord: false,\n      deleteButtonDisabled: false\n    });\n    const items = [...this.state.selectedFolders.map(id => ({\n      id,\n      model: 'Hubleto/App/Community/Documents/Models/Folder'\n    })), ...this.state.selectedFiles.map(id => ({\n      id,\n      model: 'Hubleto/App/Community/Documents/Models/File'\n    }))];\n    const promises = items.map(item => new Promise(resolve => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].delete('api/record/delete', item, resolve, resolve);\n    }));\n    Promise.all(promises).then(() => this.loadData());\n  }\n  bulkMove() {\n    const idFolder = Number(this.refBulkMoveFolderLookup.current?.state?.value ?? 0);\n    const promises = this.state.selectedFiles.map(id => new Promise(resolve => {\n      const doc = this.state.folderContent.files.find(d => d.id === id);\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post('api/record/save', {\n        model: 'Hubleto/App/Community/Documents/Models/File',\n        record: {\n          ...doc,\n          id_folder: idFolder\n        }\n      }, {}, resolve, resolve);\n    }));\n    Promise.all(promises).then(() => this.loadData());\n  }\n  render() {\n    if (!this.state.folderContent) {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(primereact_progressbar__WEBPACK_IMPORTED_MODULE_5__.ProgressBar, {\n        mode: \"indeterminate\",\n        style: {\n          height: '8px'\n        }\n      });\n    }\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-info text-xl dark:bg-blue-900 dark:text-blue-100 dark:border-blue-900\",\n      onClick: () => {\n        this.changeFolder('_ROOT_', []);\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-home\"\n    }))), this.state.path.map((item, index) => {\n      const isLast = index == this.state.path.length - 1;\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        key: index,\n        className: \"btn text-xl \" + (isLast ? \"btn-info dark:bg-blue-900 dark:text-blue-100 dark:border-blue-900\" : \"btn-cancel dark:bg-gray-700 dark:text-gray-200\"),\n        onClick: () => {\n          if (isLast) {\n            this.setState({\n              showFolderProperties: this.state.folderContent.folder.id\n            });\n          } else {\n            let newPath = [];\n            for (let i = 0; i <= index; i++) newPath.push(this.state.path[i]);\n            this.changeFolder(item.uid, newPath);\n          }\n        }\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"text flex items-center gap-1\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"truncate max-w-[150px]\"\n      }, item.name), isLast ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fa fa-chevron-down\"\n      }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null)));\n    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-transparent text-xl\",\n      onClick: () => {\n        this.createSubFolder();\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-plus\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate('Add folder'))), this.state.selectedFiles.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      onClick: () => {\n        this.setState({\n          showBulkMove: !this.state.showBulkMove\n        });\n      },\n      className: \"btn btn-transparent text-xl\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-folder-open\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text text-nowrap\"\n    }, this.translate(\"Move\"))), this.state.showBulkMove ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 items-center\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n      ref: this.refBulkMoveFolderLookup,\n      model: \"Hubleto/App/Community/Documents/Models/Folder\",\n      value: this.state.folderContent.folder.id,\n      uiStyle: \"select\"\n    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-info text-nowrap\",\n      onClick: () => {\n        this.bulkMove();\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate('Move selected')))) : null) : null, this.state.selectedFolders.length > 0 || this.state.selectedFiles.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      onClick: () => {\n        if (!this.state.deleteButtonDisabled) {\n          if (this.state.deletingRecord) this.bulkDelete();else {\n            this.setState({\n              deletingRecord: true,\n              deleteButtonDisabled: true\n            });\n            setTimeout(() => this.setState({\n              deleteButtonDisabled: false\n            }), 1000);\n          }\n        }\n      },\n      className: \"btn text-xl \" + (this.state.deletingRecord ? \"font-bold\" : \"\") + \" \" + (this.state.deleteButtonDisabled ? \"btn-light\" : \"btn-delete\")\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-trash-alt\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text text-nowrap\"\n    }, this.state.deletingRecord ? this.translate(\"Confirm delete\") : this.translate(\"Delete\"))) : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 mt-2\"\n    }, this.state.folderContent.subFolders ? this.state.folderContent.subFolders.map((item, index) => {\n      const isSelected = this.state.selectedFolders.includes(item.id);\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        key: index,\n        className: \"relative btn btn-square w-32 \" + (isSelected ? \"btn-primary dark:bg-blue-900\" : \"btn-light\"),\n        onClick: e => {\n          let newFolderUid = item.uid;\n          let newPath = this.state.path;\n          newPath.push(item);\n          this.changeFolder(newFolderUid, newPath);\n        }\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n        type: \"checkbox\",\n        className: \"absolute top-2 left-2 cursor-pointer w-4 h-4\",\n        checked: isSelected,\n        onChange: () => this.toggleSelection(item.id, 'selectedFolders'),\n        onClick: e => e.stopPropagation()\n      }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fas fa-folder\"\n      })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"text line-clamp-2 w-full break-words\"\n      }, item.name ?? ''));\n    }) : null, this.state.folderContent.files ? this.state.folderContent.files.map((item, index) => {\n      const isSelected = this.state.selectedFiles.includes(item.id);\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        key: index,\n        className: \"relative btn btn-square w-32 \" + (isSelected ? \"btn-primary dark:bg-blue-900\" : \"btn-primary-outline dark:bg-transparent\"),\n        onClick: e => {\n          this.setState({\n            recordId: item.id\n          });\n        }\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n        type: \"checkbox\",\n        className: \"absolute top-2 left-2 cursor-pointer w-4 h-4\",\n        checked: isSelected,\n        onChange: () => this.toggleSelection(item.id, 'selectedFiles'),\n        onClick: e => e.stopPropagation()\n      }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fas fa-file\"\n      })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"text line-clamp-2 w-full break-words\"\n      }, item.name ?? ''), item.is_public ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"text-xs text-yellow-800 p-1\"\n      }, this.translate('Public')) : null);\n    }) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-square btn-transparent\",\n      onClick: () => {\n        this.setState({\n          recordId: -1\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-plus\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate('Add file')))), this.renderFormModal(), this.state.showFolderProperties ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n      ref: this.refFolderPropertiesModal,\n      uid: \"create_sub_folder_modal\",\n      isOpen: true,\n      type: \"right\",\n      form: {},\n      onClose: () => {\n        this.setState({\n          showFolderProperties: 0\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Form__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n      modal: this.refFolderPropertiesModal,\n      uid: \"create_sub_folder_form\",\n      model: \"Hubleto/App/Community/Documents/Models/Folder\",\n      isInlineEditing: true,\n      customEndpointParams: {\n        idParentFolder: this.state.folderContent.folder.id,\n        noSelfParent: true\n      },\n      id: this.state.showFolderProperties,\n      onSaveCallback: (form, saveResponse, customSaveOptions) => {\n        //if the folder is being moved to another parent folder\n        if (saveResponse.originalRecord.id_parent_folder != saveResponse.savedRecord.id_parent_folder) {\n          this.changeFolder(\"_ROOT_\", []);\n        } else {\n          this.loadData();\n        }\n        this.setState({\n          showFolderProperties: 0\n        });\n      },\n      onClose: () => {\n        this.setState({\n          showFolderProperties: 0\n        });\n      },\n      onDeleteCallback: () => {\n        const secondLastIndex = this.state.path.length - 2;\n        let item = this.state.path[secondLastIndex];\n        let newPath = [];\n        for (let i = 0; i <= secondLastIndex; i++) newPath.push(this.state.path[i]);\n        this.changeFolder(item.uid, newPath);\n        this.setState({\n          showFolderProperties: 0\n        });\n      }\n    })) : null);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Documents/Components/FileBrowser.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Documents/Components/FormDocument.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Documents/Components/FormDocument.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormDocument)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _TableDocumentVersions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TableDocumentVersions */ \"../erp/apps/Documents/Components/TableDocumentVersions.tsx\");\n/* harmony import */ var _TableDocumentReviews__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./TableDocumentReviews */ \"../erp/apps/Documents/Components/TableDocumentReviews.tsx\");\n\n\n\n\nclass FormDocument extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Documents/Models/Document',\n    renderWorkflowUi: true\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Documents\\\\Loader';\n  translationContextInner = 'Components\\\\FormDocument';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Document'))\n      }]\n    };\n  }\n  getRecordFormUrl() {\n    return 'documents/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate(\"Document\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.name ? this.state.record.name : '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-2\"\n        }, this.inputWrapper('uid', {\n          readonly: true\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, this.inputWrapper('model'), this.inputWrapper('record_id')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, this.inputWrapper('id_created_by'), this.inputWrapper('created_on')), this.inputWrapper('name', {\n          cssClass: 'text-2xl'\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Versions')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableDocumentVersions__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          key: \"table_documents_versions\",\n          tag: \"table_documents_versions\",\n          parentForm: this,\n          readonly: true,\n          uid: this.props.uid + \"_table_documents_versions\",\n          idDocument: R.id\n        })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableDocumentReviews__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          key: \"table_documents_reviews\",\n          tag: \"table_documents_reviews\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_documents_reviews\",\n          idDocument: R.id\n        })));\n        // removed by dead control flow\n\n    }\n    ;\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Documents/Components/FormDocument.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Documents/Components/FormDocumentReview.tsx":
/*!***************************************************************!*\
  !*** ../erp/apps/Documents/Components/FormDocumentReview.tsx ***!
  \***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormDocumentReview)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormDocumentReview extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Documents/Models/DocumentReview'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Documents\\\\Loader';\n  translationContextInner = 'Components\\\\FormDocumentReview';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Document'))\n      }]\n    };\n  }\n  getRecordFormUrl() {\n    return 'documents/reviews/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate(\"Document review\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.name ? this.state.record.name : '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 h-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, this.inputWrapper('id_document'), this.inputWrapper('requested_on'), this.inputWrapper('id_requested_by'), this.inputWrapper('reviewed_on'), this.inputWrapper('id_reviewed_by'), this.inputWrapper('comments')));\n    }\n    ;\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Documents/Components/FormDocumentReview.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Documents/Components/FormDocumentVersion.tsx":
/*!****************************************************************!*\
  !*** ../erp/apps/Documents/Components/FormDocumentVersion.tsx ***!
  \****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormDocumentVersion)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormDocumentVersion extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Documents/Models/DocumentVersion'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Documents\\\\Loader';\n  translationContextInner = 'Components\\\\FormDocumentVersion';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Document'))\n      }]\n    };\n  }\n  getRecordFormUrl() {\n    return 'documents/versions/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate(\"Document version\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.name ? this.state.record.name : '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 h-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, this.inputWrapper('uid', {\n          readonly: true\n        }), this.inputWrapper('id_document'), this.inputWrapper('version'), this.inputWrapper('file'), this.inputWrapper('created_on'), this.inputWrapper('id_created_by')));\n    }\n    ;\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Documents/Components/FormDocumentVersion.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Documents/Components/FormFile.tsx":
/*!*****************************************************!*\
  !*** ../erp/apps/Documents/Components/FormFile.tsx ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormFile)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormFile extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Documents/Models/File'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Documents\\\\Loader';\n  translationContextInner = 'Components\\\\FormFile';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Document'))\n      }]\n    };\n  }\n  getRecordFormUrl() {\n    return 'documents/files/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate(\"File\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.name ? this.state.record.name : '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    const downloadUrl = R.hyperlink ?? globalThis.hubleto.config.projectUrl + '/documents/files/download?fld=' + (R.FOLDER?.uid ?? '') + '&fil=' + R.uid;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 h-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, this.inputWrapper('id_folder'), this.inputWrapper('name', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('file'), this.inputWrapper('hyperlink'), this.inputWrapper('is_public'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"mt-16 text-center\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n          href: downloadUrl,\n          target: \"_blank\",\n          className: \"btn btn-extra-large btn-primary-outline\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-download\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Download'))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card h-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Preview')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body h-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"iframe\", {\n          className: \"w-full h-full\",\n          src: downloadUrl\n        })))));\n    }\n    ;\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Documents/Components/FormFile.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Documents/Components/FormTemplate.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Documents/Components/FormTemplate.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormTemplate)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormTemplate extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Documents/Models/Document'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Documents\\\\Loader';\n  translationContextInner = 'Components\\\\FormTemplate';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getRecordFormUrl() {\n    return 'documents/templates/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Document template')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.name ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grid grid-cols-2 gap-1\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper('name'), this.inputWrapper('used_for')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper('notes'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          style: {\n            height: 'calc(100vh - 260px)',\n            overflowY: 'scroll'\n          }\n        }, this.inputWrapper('content', {\n          wrapperCssClass: 'overflow-y-auto'\n        })));\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Documents/Components/FormTemplate.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Documents/Components/TableDocumentReviews.tsx":
/*!*****************************************************************!*\
  !*** ../erp/apps/Documents/Components/TableDocumentReviews.tsx ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableDocumentReviews)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormDocumentReview__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormDocumentReview */ \"../erp/apps/Documents/Components/FormDocumentReview.tsx\");\n\n\n\nclass TableDocumentReviews extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Documents/Models/DocumentReview'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Documents\\\\Loader';\n  translationContextInner = 'Components\\\\TableDocumentReviews';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wider';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idDocument: this.props.idDocument\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/documents/' + (id > 0 ? id : 'add'));\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"hyperlink\") {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, data[columnName] && data[columnName].length > 28 ? data[columnName].substring(0, 28) + '...' : data[columnName], /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n        href: data[columnName],\n        target: \"_blank\",\n        onClick: e => {\n          e.stopPropagation();\n        },\n        className: \"btn btn-transparent\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fa-solid fa-up-right-from-square\"\n      }))));\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idDocument = this.props.idDocument;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_document: this.props.idDocument\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormDocumentReview__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Documents/Components/TableDocumentReviews.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Documents/Components/TableDocumentVersions.tsx":
/*!******************************************************************!*\
  !*** ../erp/apps/Documents/Components/TableDocumentVersions.tsx ***!
  \******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableDocumentVersions)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormDocumentVersion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormDocumentVersion */ \"../erp/apps/Documents/Components/FormDocumentVersion.tsx\");\n\n\n\nclass TableDocumentVersions extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Documents/Models/DocumentVersion'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Documents\\\\Loader';\n  translationContextInner = 'Components\\\\TableDocumentVersions';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wider';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idDocument: this.props.idDocument\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/documents/' + (id > 0 ? id : 'add'));\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"hyperlink\") {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, data[columnName] && data[columnName].length > 28 ? data[columnName].substring(0, 28) + '...' : data[columnName], /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n        href: data[columnName],\n        target: \"_blank\",\n        onClick: e => {\n          e.stopPropagation();\n        },\n        className: \"btn btn-transparent\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fa-solid fa-up-right-from-square\"\n      }))));\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idDocument = this.props.idDocument;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_document: this.props.idDocument\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormDocumentVersion__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Documents/Components/TableDocumentVersions.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Documents/Components/TableDocuments.tsx":
/*!***********************************************************!*\
  !*** ../erp/apps/Documents/Components/TableDocuments.tsx ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableDocuments)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormDocument__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormDocument */ \"../erp/apps/Documents/Components/FormDocument.tsx\");\n\n\n\nclass TableDocuments extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Documents/Models/Document'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Documents\\\\Loader';\n  translationContextInner = 'Components\\\\TableDocuments';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wider';\n    return params;\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/documents/' + (id > 0 ? id : 'add'));\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"hyperlink\") {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, data[columnName] && data[columnName].length > 28 ? data[columnName].substring(0, 28) + '...' : data[columnName], /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n        href: data[columnName],\n        target: \"_blank\",\n        onClick: e => {\n          e.stopPropagation();\n        },\n        className: \"btn btn-transparent\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fa-solid fa-up-right-from-square\"\n      }))));\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormDocument__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Documents/Components/TableDocuments.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Documents/Components/TableFiles.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Documents/Components/TableFiles.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableFiles)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormFile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormFile */ \"../erp/apps/Documents/Components/FormFile.tsx\");\n\n\n\nclass TableFiles extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Documents/Models/File'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Documents\\\\Loader';\n  translationContextInner = 'Components\\\\TableFiles';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wider';\n    return params;\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/documents/files/' + (id > 0 ? id : 'add'));\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"hyperlink\") {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, data[columnName] && data[columnName].length > 28 ? data[columnName].substring(0, 28) + '...' : data[columnName], /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n        href: data[columnName],\n        target: \"_blank\",\n        onClick: e => {\n          e.stopPropagation();\n        },\n        className: \"btn btn-transparent\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fa-solid fa-up-right-from-square\"\n      }))));\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormFile__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Documents/Components/TableFiles.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Documents/Components/TableTemplates.tsx":
/*!***********************************************************!*\
  !*** ../erp/apps/Documents/Components/TableTemplates.tsx ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableTemplates)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormTemplate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormTemplate */ \"../erp/apps/Documents/Components/FormTemplate.tsx\");\n\n\n\nclass TableTemplates extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Documents/Models/Template'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Documents\\\\Loader';\n  translationContextInner = 'Components\\\\TableTemplates';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/documents/templates/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormTemplate__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Documents/Components/TableTemplates.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Documents/Loader.tsx":
/*!****************************************!*\
  !*** ../erp/apps/Documents/Loader.tsx ***!
  \****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableFiles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableFiles */ \"../erp/apps/Documents/Components/TableFiles.tsx\");\n/* harmony import */ var _Components_TableDocuments__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableDocuments */ \"../erp/apps/Documents/Components/TableDocuments.tsx\");\n/* harmony import */ var _Components_TableDocumentVersions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/TableDocumentVersions */ \"../erp/apps/Documents/Components/TableDocumentVersions.tsx\");\n/* harmony import */ var _Components_TableDocumentReviews__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Components/TableDocumentReviews */ \"../erp/apps/Documents/Components/TableDocumentReviews.tsx\");\n/* harmony import */ var _Components_TableTemplates__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Components/TableTemplates */ \"../erp/apps/Documents/Components/TableTemplates.tsx\");\n/* harmony import */ var _Components_FileBrowser__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Components/FileBrowser */ \"../erp/apps/Documents/Components/FileBrowser.tsx\");\n\n\n\n\n\n\n\nclass DocumentsApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('DocumentsTableDocuments', _Components_TableDocuments__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('DocumentsTableDocumentVersions', _Components_TableDocumentVersions__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('DocumentsTableDocumentReviews', _Components_TableDocumentReviews__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('DocumentsTableFiles', _Components_TableFiles__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('DocumentsFileBrowser', _Components_FileBrowser__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('DocumentsTableTemplates', _Components_TableTemplates__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Documents', new DocumentsApp());\n\n//# sourceURL=webpack:///../erp/apps/Documents/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/EventFeedback/Loader.tsx":
/*!********************************************!*\
  !*** ../erp/apps/EventFeedback/Loader.tsx ***!
  \********************************************/
/***/ (() => {

eval("{// How to add any React Component to be usable in Twig templates as '<hblreact-*></hblreact-*>' HTML tag.\n// -> Replace 'MyModel' with the name of your model in the examples below\n\n// 1. import the component\n// import TableMyModel from \"./Components/TableMyModel\"\n\n// 2. Register the React Component into Hubleto framework\n// globalThis.hubleto.registerReactComponent('EventFeedbackTableMyModel', TableMyModel);\n\n// 3. Use the component in any of your Twig views:\n// <hblreact-eventfeedback-table-my-model string:some-property=\"some-value\"></hblreact-eventfeedback-table-my-model>\n\n//# sourceURL=webpack:///../erp/apps/EventFeedback/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/EventRegistrations/Loader.tsx":
/*!*************************************************!*\
  !*** ../erp/apps/EventRegistrations/Loader.tsx ***!
  \*************************************************/
/***/ (() => {

eval("{// How to add any React Component to be usable in Twig templates as '<hblreact-*></hblreact-*>' HTML tag.\n// -> Replace 'MyModel' with the name of your model in the examples below\n\n// 1. import the component\n// import TableMyModel from \"./Components/TableMyModel\"\n\n// 2. Register the React Component into Hubleto framework\n// globalThis.hubleto.registerReactComponent('EventRegistrationsTableMyModel', TableMyModel);\n\n// 3. Use the component in any of your Twig views:\n// <hblreact-eventregistrations-table-my-model string:some-property=\"some-value\"></hblreact-eventregistrations-table-my-model>\n\n//# sourceURL=webpack:///../erp/apps/EventRegistrations/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/FormAgenda.tsx":
/*!****************************************************!*\
  !*** ../erp/apps/Events/Components/FormAgenda.tsx ***!
  \****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormAgenda)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormAgenda extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Events/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\FormAgenda';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Agenda')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/FormAgenda.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/FormAttendee.tsx":
/*!******************************************************!*\
  !*** ../erp/apps/Events/Components/FormAttendee.tsx ***!
  \******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormAttendee)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormAttendee extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Events/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\FormAttendee';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Attendee')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/FormAttendee.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/FormEvent.tsx":
/*!***************************************************!*\
  !*** ../erp/apps/Events/Components/FormEvent.tsx ***!
  \***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormEvent)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _TableEventVenues__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TableEventVenues */ \"../erp/apps/Events/Components/TableEventVenues.tsx\");\n/* harmony import */ var _TableEventAttendees__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./TableEventAttendees */ \"../erp/apps/Events/Components/TableEventAttendees.tsx\");\n/* harmony import */ var _TableEventSpeakers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TableEventSpeakers */ \"../erp/apps/Events/Components/TableEventSpeakers.tsx\");\n\n\n\n\n\nclass FormEvent extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Events/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\FormEvent';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Event')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n  renderContent() {\n    // This is an example code to render content of the form.\n    // You should develop your own render content.\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-full flex gap-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1 border-r border-gray-100\"\n    }, this.inputWrapper('title'), this.inputWrapper('id_type'), this.inputWrapper('attendance_options'), this.inputWrapper('brief_description'), this.inputWrapper('full_description')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card mt-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-header\"\n    }, this.translate('Venues')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, this.state.id < 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"badge badge-info\"\n    }, this.translate('First create event, then you will be prompted to add its venues.')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableEventVenues__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      uid: this.props.uid + '_table_venues',\n      parentForm: this,\n      customEndpointParams: {\n        idEvent: this.state.id\n      }\n    }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-full flex gap-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1 border-r border-gray-100\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card mt-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-header\"\n    }, this.translate('Attendees')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, this.state.id < 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"badge badge-info\"\n    }, this.translate('First create event, then you will be prompted to add its attendees.')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableEventAttendees__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n      uid: this.props.uid + '_table_attendees',\n      parentForm: this,\n      customEndpointParams: {\n        idEvent: this.state.id\n      }\n    })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1 border-r border-gray-100\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card mt-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-header\"\n    }, this.translate('Speakers')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, this.state.id < 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"badge badge-info\"\n    }, this.translate('First create event, then you will be prompted to add its speakers.')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableEventSpeakers__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      uid: this.props.uid + '_table_speakers',\n      parentForm: this,\n      customEndpointParams: {\n        idEvent: this.state.id\n      }\n    }))))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/FormEvent.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/FormEventAttendee.tsx":
/*!***********************************************************!*\
  !*** ../erp/apps/Events/Components/FormEventAttendee.tsx ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormEventAttendee)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormEventAttendee extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Events/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\FormEventAttendee';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Event attendee')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/FormEventAttendee.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/FormEventSpeaker.tsx":
/*!**********************************************************!*\
  !*** ../erp/apps/Events/Components/FormEventSpeaker.tsx ***!
  \**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormEventSpeaker)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormEventSpeaker extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Events/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\FormEventSpeaker';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Event speaker')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/FormEventSpeaker.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/FormEventVenue.tsx":
/*!********************************************************!*\
  !*** ../erp/apps/Events/Components/FormEventVenue.tsx ***!
  \********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormEventVenue)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormEventVenue extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Events/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\FormEventVenue';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Event venue')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/FormEventVenue.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/FormSpeaker.tsx":
/*!*****************************************************!*\
  !*** ../erp/apps/Events/Components/FormSpeaker.tsx ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormSpeaker)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormSpeaker extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Events/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\FormSpeaker';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Speaker')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/FormSpeaker.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/FormType.tsx":
/*!**************************************************!*\
  !*** ../erp/apps/Events/Components/FormType.tsx ***!
  \**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormType)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormType extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Events/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\FormType';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Type')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/FormType.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/FormVenue.tsx":
/*!***************************************************!*\
  !*** ../erp/apps/Events/Components/FormVenue.tsx ***!
  \***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormVenue)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormVenue extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Events/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\FormVenue';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Venue')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/FormVenue.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/TableAgendas.tsx":
/*!******************************************************!*\
  !*** ../erp/apps/Events/Components/TableAgendas.tsx ***!
  \******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableAgendas)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormAgenda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormAgenda */ \"../erp/apps/Events/Components/FormAgenda.tsx\");\n\n\n\nclass TableAgendas extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Events/Models/Agenda'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\TableAgendas';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n      // Uncomment and modify these lines if you want to create URL-based filtering for your model\n      // idCustomer: this.props.idCustomer,\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    // formProps.customEndpointParams.idCustomer = this.props.idCustomer;\n    // if (!formProps.description) formProps.description = {};\n    // formProps.description.defaultValues = { id_customer: this.props.idCustomer };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormAgenda__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/TableAgendas.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/TableAttendees.tsx":
/*!********************************************************!*\
  !*** ../erp/apps/Events/Components/TableAttendees.tsx ***!
  \********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableAttendees)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormAttendee__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormAttendee */ \"../erp/apps/Events/Components/FormAttendee.tsx\");\n\n\n\nclass TableAttendees extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Events/Models/Attendee'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\TableAttendees';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n      // Uncomment and modify these lines if you want to create URL-based filtering for your model\n      // idCustomer: this.props.idCustomer,\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    // formProps.customEndpointParams.idCustomer = this.props.idCustomer;\n    // if (!formProps.description) formProps.description = {};\n    // formProps.description.defaultValues = { idDashboard: this.props.idDashboard };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormAttendee__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/TableAttendees.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/TableEventAttendees.tsx":
/*!*************************************************************!*\
  !*** ../erp/apps/Events/Components/TableEventAttendees.tsx ***!
  \*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableEventAttendees)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormEventAttendee__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormEventAttendee */ \"../erp/apps/Events/Components/FormEventAttendee.tsx\");\n\n\n\nclass TableEventAttendees extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Events/Models/EventAttendee'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\TableEventAttendees';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idEvent: this.props.idEvent\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idEvent = this.props.idEvent;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_event: this.props.idEvent\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormEventAttendee__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/TableEventAttendees.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/TableEventSpeakers.tsx":
/*!************************************************************!*\
  !*** ../erp/apps/Events/Components/TableEventSpeakers.tsx ***!
  \************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableEventSpeakers)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormEventSpeaker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormEventSpeaker */ \"../erp/apps/Events/Components/FormEventSpeaker.tsx\");\n\n\n\nclass TableEventSpeakers extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Events/Models/EventSpeaker'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\TableEventSpeakers';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n      // Uncomment and modify these lines if you want to create URL-based filtering for your model\n      // idCustomer: this.props.idCustomer,\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    // formProps.customEndpointParams.idCustomer = this.props.idCustomer;\n    // if (!formProps.description) formProps.description = {};\n    // formProps.description.defaultValues = { id_customer: this.props.idCustomer };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormEventSpeaker__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/TableEventSpeakers.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/TableEventVenues.tsx":
/*!**********************************************************!*\
  !*** ../erp/apps/Events/Components/TableEventVenues.tsx ***!
  \**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableEventVenues)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormEventVenue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormEventVenue */ \"../erp/apps/Events/Components/FormEventVenue.tsx\");\n\n\n\nclass TableEventVenues extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Events/Models/EventVenue'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\TableEventVenues';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idEvent: this.props.idEvent\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idEvent = this.props.idEvent;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_event: this.props.idEvent\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormEventVenue__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/TableEventVenues.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/TableEvents.tsx":
/*!*****************************************************!*\
  !*** ../erp/apps/Events/Components/TableEvents.tsx ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableEvents)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormEvent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormEvent */ \"../erp/apps/Events/Components/FormEvent.tsx\");\n\n\n\nclass TableEvents extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Events/Models/Event'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\TableEvents';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n      // Uncomment and modify these lines if you want to create URL-based filtering for your model\n      // idCustomer: this.props.idCustomer,\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    // formProps.customEndpointParams.idCustomer = this.props.idCustomer;\n    // if (!formProps.description) formProps.description = {};\n    // formProps.description.defaultValues = { idDashboard: this.props.idDashboard };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormEvent__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/TableEvents.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/TableSpeakers.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Events/Components/TableSpeakers.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableSpeakers)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormSpeaker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormSpeaker */ \"../erp/apps/Events/Components/FormSpeaker.tsx\");\n\n\n\nclass TableSpeakers extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Events/Models/Speaker'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\TableSpeakers';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n      // Uncomment and modify these lines if you want to create URL-based filtering for your model\n      // idCustomer: this.props.idCustomer,\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    // formProps.customEndpointParams.idCustomer = this.props.idCustomer;\n    // if (!formProps.description) formProps.description = {};\n    // formProps.description.defaultValues = { id_customer: this.props.idCustomer };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormSpeaker__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/TableSpeakers.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/TableTypes.tsx":
/*!****************************************************!*\
  !*** ../erp/apps/Events/Components/TableTypes.tsx ***!
  \****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableTypes)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormType__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormType */ \"../erp/apps/Events/Components/FormType.tsx\");\n\n\n\nclass TableTypes extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Events/Models/Type'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\TableTypes';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n      // Uncomment and modify these lines if you want to create URL-based filtering for your model\n      // idCustomer: this.props.idCustomer,\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    // formProps.customEndpointParams.idCustomer = this.props.idCustomer;\n    // if (!formProps.description) formProps.description = {};\n    // formProps.description.defaultValues = { idDashboard: this.props.idDashboard };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormType__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/TableTypes.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Components/TableVenues.tsx":
/*!*****************************************************!*\
  !*** ../erp/apps/Events/Components/TableVenues.tsx ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableVenues)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormVenue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormVenue */ \"../erp/apps/Events/Components/FormVenue.tsx\");\n\n\n\nclass TableVenues extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Events/Models/Venue'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Events\\\\Loader';\n  translationContextInner = 'Components\\\\TableVenues';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n      // Uncomment and modify these lines if you want to create URL-based filtering for your model\n      // idCustomer: this.props.idCustomer,\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    // formProps.customEndpointParams.idCustomer = this.props.idCustomer;\n    // if (!formProps.description) formProps.description = {};\n    // formProps.description.defaultValues = { idDashboard: this.props.idDashboard };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormVenue__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Events/Components/TableVenues.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Events/Loader.tsx":
/*!*************************************!*\
  !*** ../erp/apps/Events/Loader.tsx ***!
  \*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Components_TableEvents__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Components/TableEvents */ \"../erp/apps/Events/Components/TableEvents.tsx\");\n/* harmony import */ var _Components_TableTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableTypes */ \"../erp/apps/Events/Components/TableTypes.tsx\");\n/* harmony import */ var _Components_TableVenues__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableVenues */ \"../erp/apps/Events/Components/TableVenues.tsx\");\n/* harmony import */ var _Components_TableAttendees__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/TableAttendees */ \"../erp/apps/Events/Components/TableAttendees.tsx\");\n/* harmony import */ var _Components_TableEventAttendees__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Components/TableEventAttendees */ \"../erp/apps/Events/Components/TableEventAttendees.tsx\");\n/* harmony import */ var _Components_TableEventVenues__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Components/TableEventVenues */ \"../erp/apps/Events/Components/TableEventVenues.tsx\");\n/* harmony import */ var _Components_TableAgendas__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Components/TableAgendas */ \"../erp/apps/Events/Components/TableAgendas.tsx\");\n/* harmony import */ var _Components_TableSpeakers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Components/TableSpeakers */ \"../erp/apps/Events/Components/TableSpeakers.tsx\");\n/* harmony import */ var _Components_TableEventSpeakers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Components/TableEventSpeakers */ \"../erp/apps/Events/Components/TableEventSpeakers.tsx\");\n// How to add any React Component to be usable in Twig templates as '<hblreact-*></hblreact-*>' HTML tag.\n// -> Replace 'MyModel' with the name of your model in the examples below\n\n// 1. import the component\n// import TableMyModel from \"./Components/TableMyModel\"\n\n// 2. Register the React Component into Hubleto framework\n// globalThis.hubleto.registerReactComponent('EventsTableMyModel', TableMyModel);\n\n// 3. Use the component in any of your Twig views:\n// <hblreact-events-table-my-model string:some-property=\"some-value\"></hblreact-events-table-my-model>\n\n\n\n\n\n\n\n\n\n\nglobalThis.hubleto.registerReactComponent('EventsTableEvents', _Components_TableEvents__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nglobalThis.hubleto.registerReactComponent('EventsTableTypes', _Components_TableTypes__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\nglobalThis.hubleto.registerReactComponent('EventsTableVenues', _Components_TableVenues__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\nglobalThis.hubleto.registerReactComponent('EventsTableAttendees', _Components_TableAttendees__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nglobalThis.hubleto.registerReactComponent('EventsTableEventAttendees', _Components_TableEventAttendees__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nglobalThis.hubleto.registerReactComponent('EventsTableEventVenues', _Components_TableEventVenues__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nglobalThis.hubleto.registerReactComponent('EventsTableAgendas', _Components_TableAgendas__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\nglobalThis.hubleto.registerReactComponent('EventsTableSpeakers', _Components_TableSpeakers__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\nglobalThis.hubleto.registerReactComponent('EventsTableEventSpeakers', _Components_TableEventSpeakers__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n\n//# sourceURL=webpack:///../erp/apps/Events/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Invoices/Components/FormInvoice.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Invoices/Components/FormInvoice.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormInvoice)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_InputFactory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/InputFactory */ \"../react-ui/core/InputFactory.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _TableItems__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TableItems */ \"../erp/apps/Invoices/Components/TableItems.tsx\");\n/* harmony import */ var _TablePayments__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TablePayments */ \"../erp/apps/Invoices/Components/TablePayments.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_ModalSimple__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @hubleto/react-ui/core/ModalSimple */ \"../react-ui/core/ModalSimple.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_TextareaWithHtmlPreview__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/TextareaWithHtmlPreview */ \"../react-ui/core/Inputs/TextareaWithHtmlPreview.tsx\");\n\n\n\n\n\n\n\n\nclass FormInvoice extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-file-invoice',\n    description: {\n      ui: {\n        headerClassName: 'bg-indigo-50'\n      }\n    },\n    renderPreviewUi: true\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader';\n  translationContextInner = 'Components\\\\FormInvoice';\n  constructor(props) {\n    super(props);\n  }\n  getTabsLeft() {\n    let tabs = [];\n    if (this.props.id > 0) {\n      tabs.push({\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Invoice', 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader', 'Components\\\\FormInvoice'))\n      });\n      tabs.push({\n        uid: 'payments',\n        title: this.translate('Payments', 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader', 'Components\\\\FormInvoice')\n      });\n      tabs.push({\n        uid: 'email',\n        title: this.translate('Email', 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader', 'Components\\\\FormInvoice')\n      });\n    }\n    return [...tabs, ...super.getTabsLeft()];\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      linkPreparedItem: false,\n      sendInvoiceEmailType: 'send-invoice'\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      saveRelations: ['ITEMS']\n    };\n  }\n  getRecordFormUrl() {\n    return 'invoices/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  onTabChange() {\n    super.onTabChange();\n    switch (this.state.activeTabUid) {\n      case 'email':\n        this.updateEmailPreview();\n        break;\n    }\n  }\n  updateEmailPreview() {\n    this.setState({\n      sendInvoicePreparedData: null,\n      sendInvoiceResult: null\n    });\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].post('invoices/api/send-invoice-in-email', {\n      idInvoice: this.state.record.id,\n      emailType: this.state.sendInvoiceEmailType,\n      prepare: true\n    }, {}, result => {\n      this.setState({\n        sendInvoicePreparedData: result\n      });\n    });\n  }\n  renderTitle() {\n    const R = this.state.record;\n    let title = this.state.record.inbound_outbound == 1 ? this.translate('Inbound') : this.translate('Outbound');\n    switch (R.type) {\n      case 1:\n      case '1':\n        title += ' ' + this.translate('Proforma Invoice');\n        break;\n      case 2:\n      case '2':\n        title += ' ' + this.translate('Advance Invoice');\n        break;\n      case 3:\n      case '3':\n        title += ' ' + this.translate('Invoice');\n        break;\n      case 4:\n      case '4':\n        title += ' ' + this.translate('Credit Note');\n        break;\n      case 5:\n      case '5':\n        title += ' ' + this.translate('Debit Note');\n        break;\n    }\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, R.number ? R.number : '---'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        const currencySymbol = R && R.CURRENCY ? R.CURRENCY.symbol : '';\n        if (this.state.id <= 0) {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('inbound_outbound', {\n            uiStyle: 'buttons'\n          }), this.inputWrapper('type', {\n            uiStyle: 'buttons'\n          }), R.inbound_outbound == 1 ? this.inputWrapper('id_supplier') : this.inputWrapper('id_customer'), this.inputWrapper('number', {\n            cssClass: 'text-4xl'\n          }));\n        } else {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"flex flex-col md:flex-row gap-2\"\n          }, this.input('inbound_outbound', {\n            cssClass: 'w-auto',\n            uiStyle: 'buttons'\n          }), this.input('type', {\n            cssClass: 'w-auto',\n            uiStyle: 'buttons'\n          }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"grow\"\n          }, R.inbound_outbound == 1 ? this.inputWrapper('id_supplier', {\n            wrapperCssClass: 'flex gap-2'\n          }) : this.inputWrapper('id_customer', {\n            wrapperCssClass: 'flex gap-2'\n          }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"flex flex-col md:flex-row gap-2 mt-2\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"flex flex-5 gap-2 mt-2\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"flex-1 min-w-80\"\n          }, this.state.id == -1 ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"p-2 grow\"\n          }, this.inputWrapper('number', {\n            wrapperCssClass: 'block',\n            cssClass: 'text-xl'\n          })), this.inputWrapper('id_profile', {\n            wrapperCssClass: 'flex gap-2',\n            uiStyle: 'buttons'\n          }), this.inputWrapper('id_payment_method', {\n            wrapperCssClass: 'flex gap-2',\n            uiStyle: 'buttons'\n          }), this.inputWrapper('id_currency', {\n            wrapperCssClass: 'flex gap-2'\n          }), this.inputWrapper('vs'), this.inputWrapper('cs'), this.inputWrapper('ss'), this.inputWrapper('notes')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"gap-2 flex-1\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"p-2 grow text-nowrap bg-slate-50 text-slate-800\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"text-sm\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, globalThis.hubleto.numberFormat(R.total_excl_vat, 2, ',', ' '), \" \", currencySymbol), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"ml-2\"\n          }, this.translate('excl. VAT'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"mt-2\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"text-2xl badge badge-yellow\"\n          }, globalThis.hubleto.numberFormat(R.total_incl_vat, 2, ',', ' '), \" \", currencySymbol), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"text-sm ml-2\"\n          }, this.translate('incl. VAT'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"text-sm mt-2\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, globalThis.hubleto.numberFormat(R.total_payments, 2, ',', ' '), \" \", currencySymbol), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"ml-2\"\n          }, this.translate('paid')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: 'border-t border-t-4 border-t-blue-400 grow ' + (R.date_delivery ? '' : 'bg-gradient-to-b from-red-50 to-white')\n          }, this.inputWrapper('date_delivery', {\n            wrapperCssClass: 'block'\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: 'border-t border-t-4 border-t-orange-300 grow ' + (R.date_issue ? '' : 'bg-gradient-to-b from-red-50 to-white')\n          }, this.inputWrapper('date_issue', {\n            wrapperCssClass: 'block'\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: 'border-t border-t-4 border-t-green-400 grow ' + (R.date_due ? '' : 'bg-gradient-to-b from-red-50 to-white')\n          }, this.inputWrapper('date_due', {\n            wrapperCssClass: 'block'\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: 'border-t border-t-4 border-t-violet-400 grow ' + (R.date_sent ? '' : 'bg-gradient-to-b from-red-50 to-white')\n          }, this.inputWrapper('date_sent', {\n            wrapperCssClass: 'block'\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: 'border-t border-t-4 border-t-green-600 grow ' + (R.date_payment ? '' : 'bg-gradient-to-b from-red-50 to-white')\n          }, this.inputWrapper('date_payment', {\n            wrapperCssClass: 'block'\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper('number_external', {\n            wrapperCssClass: 'flex gap-2'\n          }), this.inputWrapper('id_issued_by', {\n            wrapperCssClass: 'flex gap-2'\n          })))), this.state.id <= 0 ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"card mt-2\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"card-header\"\n          }, this.translate('Items')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"card-body\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"flex flex-col gap-2\"\n          }, this.input('description_before', {\n            cssClass: 'bg-blue-50 text-blue-500'\n          }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n            className: \"table-default dense not-striped\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"thead\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            rowSpan: 3,\n            className: \"align-top\"\n          }, \"#\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n            colSpan: 3,\n            style: {\n              width: '50%'\n            }\n          }, this.translate('Order')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n            colSpan: 4\n          }, this.translate('Order item')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            rowSpan: 3\n          }, \"\\xA0\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n            colSpan: 4\n          }, this.translate('Item')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Unit price')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Amount')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, R && R.ITEMS ? R.ITEMS.map((item, key) => {\n            const rowBgClass = key % 2 == 0 ? 'bg-white' : 'bg-gray-50';\n            return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", {\n              key: key + '1',\n              className: item._toBeDeleted_ ? 'border border-red-400' : ''\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n              rowSpan: 3,\n              className: 'align-top ' + rowBgClass\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n              className: \"badge\"\n            }, key + 1)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n              colSpan: 3,\n              style: {\n                width: '50%'\n              },\n              className: rowBgClass\n            }, (0,_hubleto_react_ui_core_InputFactory__WEBPACK_IMPORTED_MODULE_2__.InputFactory)({\n              value: item.id_order,\n              cssClass: 'bg-white text-xs',\n              description: {\n                type: 'lookup',\n                model: 'Hubleto/App/Community/Orders/Models/Order'\n              },\n              onInit: input => {\n                this.idOrderInputs[key] = input;\n              },\n              onChange: (input, value) => {\n                R.ITEMS[key].id_order = input.state.value;\n                R.ITEMS[key].item = input.refInput.current.getValue()[0]?._LOOKUP;\n                this.updateRecord(R);\n              }\n            })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n              colSpan: 4,\n              className: rowBgClass\n            }, item.id_order > 0 ? (0,_hubleto_react_ui_core_InputFactory__WEBPACK_IMPORTED_MODULE_2__.InputFactory)({\n              value: item.id_order_item,\n              cssClass: 'bg-white text-xs',\n              description: {\n                type: 'lookup',\n                model: 'Hubleto/App/Community/Orders/Models/Item'\n              },\n              customEndpointParams: {\n                idOrder: item.id_order\n              },\n              onChange: input => {\n                _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].post('orders/api/get-item', {\n                  idItem: input.state.value\n                }, {}, data => {\n                  const P = data.item;\n                  R.ITEMS[key].id_order_item = input.state.value;\n                  R.ITEMS[key].item = P?.title ?? '';\n                  R.ITEMS[key].unit_price = P?.sales_price ?? 0;\n                  R.ITEMS[key].amount = P?.amount ?? 0;\n                  R.ITEMS[key].price_excl_vat = P?.price_excl_vat ?? 0;\n                  R.ITEMS[key].price_incl_vat = P?.price_incl_vat ?? 0;\n                  R.ITEMS[key].vat = P?.vat ?? 0;\n                  R.ITEMS[key].discount = P?.discount ?? 0;\n                  this.updateRecord(R);\n                });\n              }\n            }) : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n              rowSpan: 3,\n              className: rowBgClass\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n              className: \"flex gap-2\"\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n              className: \"btn btn-warning\",\n              onClick: () => {\n                _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].post('invoices/api/unlink-prepared-item', {\n                  idInvoice: R.id,\n                  idItem: item.id\n                }, {}, result => {\n                  this.loadRecord();\n                });\n              }\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n              className: \"icon\"\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n              className: \"fas fa-link-slash\"\n            }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n              className: \"btn btn-danger\",\n              onClick: () => {\n                R.ITEMS[key]._toBeDeleted_ = true;\n                this.updateRecord(R);\n              }\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n              className: \"icon\"\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n              className: \"fas fa-trash\"\n            })))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", {\n              key: key + '2',\n              className: item._toBeDeleted_ ? 'bg bg-red-50' : ''\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n              className: rowBgClass,\n              colSpan: 4\n            }, (0,_hubleto_react_ui_core_InputFactory__WEBPACK_IMPORTED_MODULE_2__.InputFactory)({\n              value: item.item,\n              cssClass: 'bg-white text-blue-500',\n              description: {\n                type: 'string'\n              },\n              onChange: e => {\n                R.ITEMS[key].item = e.state.value;\n                this.updateRecord(R);\n              }\n            })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n              className: rowBgClass + ' pr-4'\n            }, (0,_hubleto_react_ui_core_InputFactory__WEBPACK_IMPORTED_MODULE_2__.InputFactory)({\n              value: item.unit_price,\n              cssClass: 'bg-white text-blue-500',\n              description: {\n                type: 'number',\n                unit: currencySymbol + '/unit'\n              },\n              onChange: e => {\n                R.ITEMS[key].unit_price = e.state.value;\n                this.updateRecord(R);\n              }\n            })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n              className: rowBgClass + ' pr-4'\n            }, (0,_hubleto_react_ui_core_InputFactory__WEBPACK_IMPORTED_MODULE_2__.InputFactory)({\n              value: item.amount,\n              cssClass: 'bg-white text-blue-500',\n              description: {\n                type: 'number',\n                unit: 'units'\n              },\n              onChange: e => {\n                R.ITEMS[key].amount = e.state.value;\n                this.updateRecord(R);\n              }\n            }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", {\n              key: key + '3',\n              className: item._toBeDeleted_ ? 'bg bg-red-50' : ''\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n              className: rowBgClass\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n              className: \"flex gap-2 items-center\"\n            }, this.translate('Discount'), \": \", (0,_hubleto_react_ui_core_InputFactory__WEBPACK_IMPORTED_MODULE_2__.InputFactory)({\n              value: item.discount,\n              cssClass: 'bg-white',\n              description: {\n                type: 'number',\n                unit: '%'\n              },\n              onChange: e => {\n                R.ITEMS[key].discount = e.state.value;\n                this.updateRecord(R);\n              }\n            }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n              className: rowBgClass\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n              className: \"flex gap-2 items-center\"\n            }, this.translate('VAT'), \": \", (0,_hubleto_react_ui_core_InputFactory__WEBPACK_IMPORTED_MODULE_2__.InputFactory)({\n              value: item.vat,\n              cssClass: 'bg-white',\n              description: {\n                type: 'number',\n                unit: '%'\n              },\n              onChange: e => {\n                R.ITEMS[key].vat = e.state.value;\n                this.updateRecord(R);\n              }\n            }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n              className: rowBgClass + ' text-right',\n              colSpan: 4\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n              className: 'badge ' + (item.price_excl_vat < 0 ? 'badge-red' : 'badge-green')\n            }, globalThis.hubleto.numberFormat(item.price_excl_vat, 2, ',', ' '), \" \", currencySymbol, \" \", this.translate('excl. VAT')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n              className: 'badge ' + (item.price_excl_vat < 0 ? 'badge-red' : 'badge-green')\n            }, globalThis.hubleto.numberFormat(item.price_incl_vat, 2, ',', ' '), \" \", currencySymbol, \" \", this.translate('incl. VAT')))));\n          }) : null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"flex gap-2\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n            className: \"btn btn-add mt-2\",\n            onClick: () => {\n              if (!R.ITEMS) R.ITEMS = [];\n              R.ITEMS.push({\n                id_invoice: this.state.id,\n                id_customer: R.id_customer\n              });\n              this.updateRecord(R);\n            }\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"icon\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n            className: \"fas fa-plus\"\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"text\"\n          }, this.translate('Add new item'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n            className: \"btn btn-add-outline mt-2\",\n            onClick: () => {\n              this.setState({\n                linkPreparedItem: true\n              });\n            }\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"icon\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n            className: \"fas fa-link\"\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"text\"\n          }, this.translate('Link prepared item')))), this.input('description_after', {\n            cssClass: 'bg-blue-50 text-blue-500'\n          })))), this.state.linkPreparedItem ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_ModalSimple__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n            uid: this.props.uid + '_modal_table_link_not_invoiced_items',\n            isOpen: true,\n            type: \"centered\",\n            showHeader: true,\n            title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.translate('Link prepared item'))),\n            onClose: modal => {\n              this.setState({\n                linkPreparedItem: false\n              });\n            }\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableItems__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n            uid: this.props.uid + \"_table_link_not_invoiced_items\",\n            tag: \"link_not_invoiced_items\",\n            parentForm: this,\n            idInvoice: 0,\n            filters: {\n              fStatus: 1\n            },\n            readonly: true,\n            onRowClick: (table, row) => {\n              _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].post('invoices/api/link-prepared-item', {\n                idInvoice: R.id,\n                idItem: row.id\n              }, {}, result => {\n                this.setState({\n                  linkPreparedItem: false\n                }, () => {\n                  this.loadRecord();\n                });\n              });\n            }\n          }))) : null);\n        }\n        // removed by dead control flow\n\n      case 'payments':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TablePayments__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n          uid: this.props.uid + \"_table_invoice_payments\",\n          tag: 'table_invoice_payments',\n          parentForm: this,\n          idInvoice: R.id\n        });\n        // removed by dead control flow\n\n      case 'email':\n        if (!R.pdf) return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"alert alert-danger\"\n        }, this.translate('PDF version of the invoice was not generated yet. Cannot send.'));\n        if (this.state.sendInvoiceResult) return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"alert alert-success\"\n        }, this.translate('Email was sent'));\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"btn-group\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: 'btn ' + (this.state.sendInvoiceEmailType == 'send-invoice' ? 'btn-primary' : 'btn-transparent'),\n          onClick: () => {\n            this.setState({\n              sendInvoiceEmailType: 'send-invoice'\n            }, () => {\n              this.updateEmailPreview();\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Send invoice'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: 'btn ' + (this.state.sendInvoiceEmailType == 'notify-due-invoice' ? 'btn-primary' : 'btn-transparent'),\n          onClick: () => {\n            this.setState({\n              sendInvoiceEmailType: 'notify-due-invoice'\n            }, () => {\n              this.updateEmailPreview();\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Send notification on due invoice')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"mt-2\"\n        }, !this.state.sendInvoicePreparedData ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"alert alert-warning\"\n        }, this.translate('Preparing email...')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n          className: \"table-default dense\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('Subject'), \":\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n          className: \"w-full bg-white\",\n          value: this.state.sendInvoicePreparedData.subject ?? '',\n          onChange: e => {\n            this.setState({\n              sendInvoicePreparedData: {\n                ...this.state.sendInvoicePreparedData,\n                subject: e.currentTarget.value\n              }\n            });\n          }\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('From'), \":\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.state.sendInvoicePreparedData.senderAccount?.name ?? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"text-red-800\"\n        }, this.translate('Not configured')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('To'), \":\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n          className: this.state.sendInvoicePreparedData.to == '' ? 'bg-red-100' : ''\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n          className: \"w-full bg-white\",\n          value: this.state.sendInvoicePreparedData.to ?? '',\n          onChange: e => {\n            this.setState({\n              sendInvoicePreparedData: {\n                ...this.state.sendInvoicePreparedData,\n                to: e.currentTarget.value\n              }\n            });\n          }\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('CC'), \":\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n          className: \"w-full bg-white\",\n          value: this.state.sendInvoicePreparedData.cc ?? '',\n          onChange: e => {\n            this.setState({\n              sendInvoicePreparedData: {\n                ...this.state.sendInvoicePreparedData,\n                cc: e.currentTarget.value\n              }\n            });\n          }\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('BCC'), \":\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n          className: \"w-full bg-white\",\n          value: this.state.sendInvoicePreparedData.bcc ?? '',\n          onChange: e => {\n            this.setState({\n              sendInvoicePreparedData: {\n                ...this.state.sendInvoicePreparedData,\n                bcc: e.currentTarget.value\n              }\n            });\n          }\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('Email'), \":\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_TextareaWithHtmlPreview__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n          value: this.state.sendInvoicePreparedData.bodyHtml ?? '',\n          onChange: input => {\n            this.setState({\n              sendInvoicePreparedData: {\n                ...this.state.sendInvoicePreparedData,\n                bodyHtml: input.state.value\n              }\n            });\n          }\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('Attachments'), \":\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.state.sendInvoicePreparedData.attachments ? this.state.sendInvoicePreparedData.attachments.map((att, index) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n            className: \"badge badge-info\",\n            href: globalThis.hubleto.config.uploadUrl + \"/\" + att.file,\n            target: \"_blank\"\n          }, att.name);\n        }) : null)))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-add-outline mt-2\",\n          onClick: () => {\n            _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].post('invoices/api/send-invoice-in-email', {\n              idInvoice: this.state.record.id,\n              idSenderAccount: this.state.sendInvoicePreparedData.senderAccount.id,\n              subject: this.state.sendInvoicePreparedData.subject,\n              bodyHtml: this.state.sendInvoicePreparedData.bodyHtml,\n              to: this.state.sendInvoicePreparedData.to,\n              cc: this.state.sendInvoicePreparedData.cc,\n              bcc: this.state.sendInvoicePreparedData.bcc,\n              ATTACHMENTS: this.state.sendInvoicePreparedData.ATTACHMENTS\n            }, {}, result => {\n              this.setState({\n                sendInvoiceResult: result\n              });\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-paper-plane\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Send email'))))));\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Invoices/Components/FormInvoice.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Invoices/Components/FormPayment.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Invoices/Components/FormPayment.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormPayment)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormPayment extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-file-invoice',\n    description: {\n      ui: {\n        headerClassName: 'bg-indigo-50'\n      }\n    },\n    renderWorkflowUi: true\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader';\n  translationContextInner = 'Components\\\\FormPayment';\n  constructor(props) {\n    super(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Invoice'))\n      }, ...this.getCustomTabs()]\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  getRecordFormUrl() {\n    return 'invoices/paymentss/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Payment', 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader', 'Components\\\\FormPayment')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, R.date));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, this.inputWrapper('id_invoice'), this.inputWrapper('date_payment'), this.inputWrapper('amount'), this.inputWrapper('is_advance_payment'))));\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Invoices/Components/FormPayment.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Invoices/Components/FormProfile.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Invoices/Components/FormProfile.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormProfile)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormProfile extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-file-invoice',\n    description: {\n      ui: {\n        headerClassName: 'bg-indigo-50'\n      }\n    }\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader';\n  translationContextInner = 'Components\\\\FormProfile';\n  constructor(props) {\n    super(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Profile', 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader', 'Components\\\\FormProfile'))\n      }, {\n        uid: 'invoice-rendering',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Invoice rendering', 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader', 'Components\\\\FormProfile'))\n      }, {\n        uid: 'e-mails',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('E-mails', 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader', 'Components\\\\FormProfile'))\n      }, ...this.getCustomTabs()]\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  getRecordFormUrl() {\n    return 'invoices/profiles/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Invoice profile', 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader', 'Components\\\\FormProfile')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, R.name));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, this.inputWrapper('is_default'), this.inputWrapper('name'), this.inputWrapper('headline'), this.inputWrapper('id_company'), this.inputWrapper('id_currency'), this.inputWrapper('id_payment_method'), this.inputWrapper('iban'), this.inputWrapper('swift'), this.inputWrapper('due_days'), this.inputWrapper('numbering_pattern'), this.inputWrapper('invoice_type_prefixes'))));\n        // removed by dead control flow\n\n      case 'invoice-rendering':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, this.inputWrapper('id_template'), this.inputWrapper('stamp_and_signature'))));\n        // removed by dead control flow\n\n      case 'e-mails':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_sender_account'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Send invoice')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body\"\n        }, this.inputWrapper('mail_send_invoice_subject'), this.inputWrapper('mail_send_invoice_body'), this.inputWrapper('mail_send_invoice_cc'), this.inputWrapper('mail_send_invoice_bcc'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Send warning about due invoice')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body\"\n        }, this.inputWrapper('mail_send_due_warning_subject'), this.inputWrapper('mail_send_due_warning_body'), this.inputWrapper('mail_send_due_warning_cc'), this.inputWrapper('mail_send_due_warning_bcc'))));\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Invoices/Components/FormProfile.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Invoices/Components/TableInvoices.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Invoices/Components/TableInvoices.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableInvoices)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Helper */ \"../react-ui/core/Helper.tsx\");\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormInvoice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FormInvoice */ \"../erp/apps/Invoices/Components/FormInvoice.tsx\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! moment */ \"../react-ui/node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\nclass TableInvoices extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_2__[\"default\"].defaultProps,\n    itemsPerPage: 25,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Invoices/Models/Invoice'\n    // description: {\n    //   ui: { addButtonText: this.translate('Create invoice') }\n    // },\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader';\n  translationContextInner = 'Components\\\\TableInvoices';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      idCustomer: props.idCustomer ?? (0,_hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__.getUrlParam)('id-customer') ?? 0,\n      number: props.number ?? (0,_hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__.getUrlParam)('number') ?? '',\n      vs: props.vs ?? (0,_hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__.getUrlParam)('vs') ?? '',\n      dateIssueFrom: props.dateIssueFrom ?? (0,_hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__.getUrlParam)('date-issue-from') ?? '',\n      dateIssueTo: props.dateIssueTo ?? (0,_hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__.getUrlParam)('date-issue-to') ?? '',\n      dateDeliveryFrom: props.dateDeliveryFrom ?? (0,_hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__.getUrlParam)('date-delivery-from') ?? '',\n      dateDeliveryTo: props.dateDeliveryTo ?? (0,_hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__.getUrlParam)('date-delivery-to') ?? '',\n      dateDueFrom: props.dateDueFrom ?? (0,_hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__.getUrlParam)('date-due-from') ?? '',\n      dateDueTo: props.dateDueTo ?? (0,_hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__.getUrlParam)('date-due-to') ?? '',\n      datePaymentFrom: props.datePaymentFrom ?? (0,_hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__.getUrlParam)('date-payment-from') ?? '',\n      datePaymentTo: props.datePaymentTo ?? (0,_hubleto_react_ui_core_Helper__WEBPACK_IMPORTED_MODULE_1__.getUrlParam)('date-payment-to') ?? ''\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = this.state.recordId == -1 ? 'centered small' : 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idCustomer: this.state.idCustomer,\n      number: this.state.number,\n      vs: this.state.vs,\n      dateIssueFrom: this.state.dateIssueFrom,\n      dateIssueTo: this.state.dateIssueTo,\n      dateDeliveryFrom: this.state.dateDeliveryFrom,\n      dateDeliveryTo: this.state.dateDeliveryTo,\n      dateDueFrom: this.state.dateDueFrom,\n      dateDueTo: this.state.dateDueTo,\n      datePaymentFrom: this.state.datePaymentFrom,\n      datePaymentTo: this.state.datePaymentTo\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/invoices/' + (id > 0 ? id : 'add'));\n  }\n  cellClassName(columnName, column, rowData) {\n    const cellClassName = super.cellClassName(columnName, column, rowData);\n    if (columnName == 'date_due') {\n      const now = moment__WEBPACK_IMPORTED_MODULE_4___default()();\n      const daysDue = moment__WEBPACK_IMPORTED_MODULE_4___default()(now).diff(moment__WEBPACK_IMPORTED_MODULE_4___default()(rowData['date_due']), 'days');\n      const datePayment = moment__WEBPACK_IMPORTED_MODULE_4___default()(rowData['date_payment']);\n      if (!datePayment.isValid()) {\n        if (daysDue >= 0) return cellClassName + ' bg-red-200 text-red-800';else if (daysDue > -7) return cellClassName + ' text-yellow-800';else return cellClassName;\n      } else {\n        return cellClassName;\n      }\n    } else {\n      return cellClassName;\n    }\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"date_sent\" && !data['date_sent']) {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"badge badge-danger\"\n      }, this.translate('Not sent'));\n    } else if (columnName == \"date_payment\" && !data['date_payment']) {\n      const now = moment__WEBPACK_IMPORTED_MODULE_4___default()();\n      const dateDue = moment__WEBPACK_IMPORTED_MODULE_4___default()(data['date_due']);\n      const badgeColor = now > dateDue ? 'danger' : 'warning';\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: 'badge badge-' + badgeColor\n      }, this.translate('Not paid'));\n    } else if (columnName == \"virt_items\") {\n      try {\n        let items = JSON.parse(data['virt_items']);\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-col\"\n        }, items.map((item, index) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            key: index,\n            className: \"badge text-xs\"\n          }, item.item, \": \", item.amount ?? 0, \" ks x \", globalThis.hubleto.currencyFormat(item.unit_price), \" \\u20AC\");\n        }));\n      } catch (ex) {\n        return null;\n      }\n    } else if (columnName == \"virt_payments\") {\n      try {\n        let payments = JSON.parse(data['virt_payments']);\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-col\"\n        }, payments.map((payment, index) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            key: index,\n            className: \"badge text-xs\"\n          }, payment.date_payment, \" \", payment.amount ?? 0, \" \\u20AC\");\n        }));\n      } catch (ex) {\n        return null;\n      }\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderFooter() {\n    let totalExclVat = 0;\n    let totalVat = 0;\n    let totalInclVat = 0;\n    for (let i in this.state.data?.records) {\n      const row = this.state.data?.records[i];\n      totalExclVat += parseFloat(row['total_excl_vat']);\n      totalVat += parseFloat(row['total_incl_vat']) - parseFloat(row['total_excl_vat']);\n      totalInclVat += parseFloat(row['total_incl_vat']);\n    }\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"font-bold\"\n    }, this.translate('Total excl. VAT'), \": \", totalExclVat.toFixed(2), \" \\u20AC\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), this.translate('Total VAT'), \": \", totalVat.toFixed(2), \" \\u20AC\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), this.translate('Total incl. VAT'), \": \", totalInclVat.toFixed(2), \" \\u20AC\"));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.description = {\n      defaultValues: {\n        id_klient: this.state.idCustomer,\n        id_profil: 1,\n        id_vystavil: globalThis.hubleto.idUser\n      },\n      ui: {\n        headerClassName: 'bg-indigo-50'\n      }\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormInvoice__WEBPACK_IMPORTED_MODULE_3__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Invoices/Components/TableInvoices.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Invoices/Components/TableItems.tsx":
/*!******************************************************!*\
  !*** ../erp/apps/Invoices/Components/TableItems.tsx ***!
  \******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableItems)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n\n\n\nclass TableItems extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Invoices/Models/Item'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader';\n  translationContextInner = 'Components\\\\TableItems';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idInvoice: this.props.idInvoice\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/invoices/items/' + (id > 0 ? id : 'add'));\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"id_invoice\" && !data['INVOICE']) {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        className: \"btn btn-yellow btn-small\",\n        onClick: () => {\n          return globalThis.hubleto.showDialogConfirm(/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"font-bold\"\n          }, data.CUSTOMER?.name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"font-bold\"\n          }, data.item), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"font-bold\"\n          }, data.unit_price, \" \\u20AC x \", data.amount, \" pcs\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"mt-4\"\n          }, this.translate('Create invoice from this item? Press OK to confirm.'))), {\n            headerClassName: 'dialog-warning-header',\n            contentClassName: 'dialog-warning-content',\n            header: this.translate('Create invoice'),\n            yesText: this.translate('Yes, create invoice'),\n            yesButtonClass: 'btn-warning',\n            onYes: () => {\n              _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_2__[\"default\"].post('invoices/api/create-invoice-from-prepared-item', {\n                idItem: data['id']\n              }, {}, data => {\n                if (!isNaN(data.idInvoice)) {\n                  window.location.href = globalThis.hubleto.config.projectUrl + '/invoices/' + data.idInvoice;\n                }\n              });\n            },\n            noText: this.translate('Cancel'),\n            noButtonClass: 'btn-transparent',\n            onNo: () => {},\n            onHide: () => {}\n          });\n        }\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fas fa-euro-sign\"\n      })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"text\"\n      }, this.translate('Create invoice')));\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderFooter() {\n    let totalExclVat = 0;\n    let totalVat = 0;\n    let totalInclVat = 0;\n    for (let i in this.state.data?.records) {\n      const row = this.state.data?.records[i];\n      totalExclVat += parseFloat(row['price_excl_vat']);\n      totalVat += parseFloat(row['price_incl_vat']) - parseFloat(row['price_excl_vat']);\n      totalInclVat += parseFloat(row['price_incl_vat']);\n    }\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"font-bold\"\n    }, this.translate('Total excl. VAT'), \": \", totalExclVat.toFixed(2), \" \\u20AC\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), this.translate('Total VAT'), \": \", totalVat.toFixed(2), \" \\u20AC\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), this.translate('Total incl. VAT'), \": \", totalInclVat.toFixed(2), \" \\u20AC\"));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Invoices/Components/TableItems.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Invoices/Components/TablePayments.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Invoices/Components/TablePayments.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TablePayments)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormPayment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormPayment */ \"../erp/apps/Invoices/Components/FormPayment.tsx\");\n\n\n\nclass TablePayments extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Invoices/Models/Payment'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader';\n  translationContextInner = 'Components\\\\TablePayments';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idInvoice: this.props.idInvoice\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/invoices/payments/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_invoice: this.props.idInvoice\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormPayment__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Invoices/Components/TablePayments.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Invoices/Components/TableProfiles.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Invoices/Components/TableProfiles.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableProfiles)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormProfile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormProfile */ \"../erp/apps/Invoices/Components/FormProfile.tsx\");\n\n\n\nclass TableProfiles extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Invoices/Models/Profile'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader';\n  translationContextInner = 'Components\\\\TableProfiles';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idCustomer: this.props.idCustomer\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/invoices/profiles/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormProfile__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Invoices/Components/TableProfiles.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Invoices/Loader.tsx":
/*!***************************************!*\
  !*** ../erp/apps/Invoices/Loader.tsx ***!
  \***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _Components_TableProfiles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableProfiles */ \"../erp/apps/Invoices/Components/TableProfiles.tsx\");\n/* harmony import */ var _Components_TableInvoices__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/TableInvoices */ \"../erp/apps/Invoices/Components/TableInvoices.tsx\");\n/* harmony import */ var _Components_TableItems__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Components/TableItems */ \"../erp/apps/Invoices/Components/TableItems.tsx\");\n/* harmony import */ var _Components_TablePayments__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Components/TablePayments */ \"../erp/apps/Invoices/Components/TablePayments.tsx\");\n/* harmony import */ var _hubleto_apps_Orders_Components_FormOrder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @hubleto/apps/Orders/Components/FormOrder */ \"../erp/apps/Orders/Components/FormOrder.tsx\");\n\n\n\n\n\n\n\nclass InvoicesApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('InvoicesTableProfiles', _Components_TableProfiles__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('InvoicesTableInvoices', _Components_TableInvoices__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('InvoicesTableItems', _Components_TableItems__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('InvoicesTablePayments', _Components_TablePayments__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n    _hubleto_apps_Orders_Components_FormOrder__WEBPACK_IMPORTED_MODULE_6__[\"default\"].addFormHeaderButton(globalThis.hubleto.translate('Create invoice', 'Hubleto\\\\App\\\\Community\\\\Invoices\\\\Loader', 'manifest'), '', form => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].get('invoices/api/create-invoice-from-order', {\n        idOrder: form.state.record.id\n      }, data => {\n        if (data.status == \"success\") {\n          globalThis.window.open(globalThis.hubleto.config.projectUrl + '/invoices/' + data.idInvoice);\n        }\n      });\n    });\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Invoices', new InvoicesApp());\n\n//# sourceURL=webpack:///../erp/apps/Invoices/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Issues/Components/FormIssue.tsx":
/*!***************************************************!*\
  !*** ../erp/apps/Issues/Components/FormIssue.tsx ***!
  \***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormIssue)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_apps_Tasks_Components_TableTasks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/apps/Tasks/Components/TableTasks */ \"../erp/apps/Tasks/Components/TableTasks.tsx\");\n/* harmony import */ var _TablePosts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./TablePosts */ \"../erp/apps/Issues/Components/TablePosts.tsx\");\n\n\n\n\nclass FormIssue extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-money-check-dollar',\n    model: 'Hubleto/App/Community/Issues/Models/Issue',\n    renderWorkflowUi: true,\n    renderOwnerManagerUi: true\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Issues\\\\Loader';\n  translationContextInner = 'Components\\\\FormIssue';\n  parentApp = 'Hubleto/App/Community/Issues';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  getTabsLeft() {\n    return [{\n      uid: 'default',\n      title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Issue'))\n    }, {\n      uid: 'tasks',\n      title: this.translate('Tasks'),\n      showCountFor: 'TASKS'\n    }, ...super.getTabsLeft()];\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getRecordFormUrl() {\n    return 'issues/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  contentClassName() {\n    return this.state.record.is_closed ? 'bg-slate-100' : '';\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Issue')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.title ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('from'), this.inputWrapper('title'), this.inputWrapper('description'), this.inputWrapper('notes'), this.inputWrapper('id_customer'), this.inputWrapper('id_mail'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TablePosts__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          uid: \"issue_table_posts\",\n          idIssue: R.id\n        }));\n        // removed by dead control flow\n\n      case 'tasks':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Tasks_Components_TableTasks__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          tag: \"table_issue_task\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_issue_task\",\n          junctionTitle: \"Issue\",\n          junctionModel: \"Hubleto/App/Community/Issues/Models/IssueTask\",\n          junctionSourceColumn: \"id_issue\",\n          junctionSourceRecordId: R.id,\n          junctionDestinationColumn: \"id_task\"\n        });\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Issues/Components/FormIssue.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Issues/Components/FormPost.tsx":
/*!**************************************************!*\
  !*** ../erp/apps/Issues/Components/FormPost.tsx ***!
  \**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormPost)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormPost extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-money-check-dollar',\n    model: 'Hubleto/App/Community/Issues/Models/Post',\n    renderWorkflowUi: true,\n    renderOwnerManagerUi: true\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Issues\\\\Loader';\n  translationContextInner = 'Components\\\\FormPost';\n  parentApp = 'Hubleto/App/Community/Issues';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  getTabsLeft() {\n    return [{\n      uid: 'default',\n      title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Post'))\n    }, ...super.getTabsLeft()];\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getRecordFormUrl() {\n    return 'issues/posts/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  contentClassName() {\n    return this.state.record.is_closed ? 'bg-slate-100' : '';\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Post')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.title ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_issue'), this.inputWrapper('from'), this.inputWrapper('content'), this.inputWrapper('id_mail'));\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Issues/Components/FormPost.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Issues/Components/TableIssues.tsx":
/*!*****************************************************!*\
  !*** ../erp/apps/Issues/Components/TableIssues.tsx ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableIssues)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormIssue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormIssue */ \"../erp/apps/Issues/Components/FormIssue.tsx\");\n\n\n\nclass TableIssues extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Issues/Models/Issue'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Issues\\\\Loader';\n  translationContextInner = 'Components\\\\TableIssues';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/issues/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormIssue__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Issues/Components/TableIssues.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Issues/Components/TablePosts.tsx":
/*!****************************************************!*\
  !*** ../erp/apps/Issues/Components/TablePosts.tsx ***!
  \****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TablePosts)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormPost__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormPost */ \"../erp/apps/Issues/Components/FormPost.tsx\");\n\n\n\nclass TablePosts extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Issues/Models/Post'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Issues\\\\Loader';\n  translationContextInner = 'Components\\\\TablePosts';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idIssue: this.props.idIssue\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  setRecordFormUrl(id) {\n    globalThis.window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/issues/posts/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idKey = this.props.idIssue;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_issue: this.props.idIssue\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormPost__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Issues/Components/TablePosts.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Issues/Loader.tsx":
/*!*************************************!*\
  !*** ../erp/apps/Issues/Loader.tsx ***!
  \*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableIssues__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableIssues */ \"../erp/apps/Issues/Components/TableIssues.tsx\");\n/* harmony import */ var _Components_TablePosts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TablePosts */ \"../erp/apps/Issues/Components/TablePosts.tsx\");\n\n\n\nclass IssuesApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('IssuesTableIssues', _Components_TableIssues__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('IssuesTablePosts', _Components_TablePosts__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Issues', new IssuesApp());\n\n//# sourceURL=webpack:///../erp/apps/Issues/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Leads/Components/FormLead.tsx":
/*!*************************************************!*\
  !*** ../erp/apps/Leads/Components/FormLead.tsx ***!
  \*************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormLead)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Tags2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Tags2 */ \"../react-ui/core/Inputs/Tags2.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/FormInput */ \"../react-ui/core/FormInput.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../Calendar/Components/Calendar */ \"../erp/apps/Calendar/Components/Calendar.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @hubleto/react-ui/core/ModalForm */ \"../react-ui/core/ModalForm.tsx\");\n/* harmony import */ var _LeadFormActivity__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./LeadFormActivity */ \"../erp/apps/Leads/Components/LeadFormActivity.tsx\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! moment */ \"../react-ui/node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _TableLeadHistory__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./TableLeadHistory */ \"../erp/apps/Leads/Components/TableLeadHistory.tsx\");\n/* harmony import */ var _hubleto_apps_Tasks_Components_TableTasks__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @hubleto/apps/Tasks/Components/TableTasks */ \"../erp/apps/Tasks/Components/TableTasks.tsx\");\n/* harmony import */ var _hubleto_apps_Documents_Components_TableDocuments__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @hubleto/apps/Documents/Components/TableDocuments */ \"../erp/apps/Documents/Components/TableDocuments.tsx\");\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n\n\n\n\n\n\n\n\n\n\n\n\nclass FormLead extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Leads/Models/Lead',\n    renderWorkflowUi: true,\n    renderOwnerManagerUi: true\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Leads\\\\Loader';\n  translationContextInner = 'Components\\\\FormLead';\n  parentApp = 'Hubleto/App/Community/Leads';\n  constructor(props) {\n    super(props);\n    this.refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refActivityModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = {\n      ...this.getStateFromProps(props),\n      showIdDocument: 0,\n      showIdActivity: 0,\n      activityTime: '',\n      activityDate: '',\n      activitySubject: '',\n      activityAllDay: false,\n      tableLeadDocumentsDescription: null,\n      tablesKey: 0\n    };\n  }\n  componentDidUpdate(prevProps, prevState) {\n    if (prevState.isInlineEditing != this.state.isInlineEditing) this.setState({\n      tablesKey: Math.random()\n    });\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Lead'))\n      }, {\n        uid: 'calendar',\n        title: this.translate('Calendar')\n      }, {\n        uid: 'tasks',\n        title: this.translate('Tasks'),\n        showCountFor: 'TASKS'\n      }, {\n        uid: 'history',\n        icon: 'fas fa-clock-rotate-left',\n        position: 'right'\n      }, {\n        uid: 'timeline',\n        icon: 'fas fa-timeline',\n        position: 'right'\n      }, ...this.getCustomTabs()]\n    };\n  }\n  getRecordFormUrl() {\n    return 'leads/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  onAfterLoadFormDescription(description) {\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_4__[\"default\"].get('api/table/describe', {\n      model: 'Hubleto/App/Community/Leads/Models/LeadDocument',\n      idLead: this.state.id\n    }, description => {\n      this.setState({\n        tableLeadDocumentsDescription: description\n      });\n    });\n    return description;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      saveRelations: ['TAGS']\n    };\n  }\n  contentClassName() {\n    return this.state.record.is_closed ? 'bg-slate-100' : '';\n  }\n  renderTitle() {\n    const R = this.state.record;\n    let values = [];\n    if (R && R.CONTACT) {\n      if (R.CONTACT.first_name) values.push(R.CONTACT.first_name);\n      if (R.CONTACT.last_name) values.push(R.CONTACT.last_name);\n      if (R.CONTACT.VALUES) R.CONTACT.VALUES.map((item, key) => {\n        values.push(item.value);\n      });\n    }\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Lead')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, values && values.length > 0 ? values.join(', ') : '-'));\n  }\n  renderSubTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Lead'));\n  }\n  logCompletedActivity() {\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_4__[\"default\"].get('leads/api/log-activity', {\n      idLead: this.state.record.id,\n      activity: this.refLogActivityInput.current.value\n    }, result => {\n      this.loadRecord();\n      this.refLogActivityInput.current.value = '';\n    });\n  }\n  scheduleActivity() {\n    this.setState({\n      showIdActivity: -1,\n      activityDate: moment__WEBPACK_IMPORTED_MODULE_8___default()().add(1, 'week').format('YYYY-MM-DD'),\n      activityTime: moment__WEBPACK_IMPORTED_MODULE_8___default()().add(1, 'week').format('H:00:00'),\n      activitySubject: this.refLogActivityInput.current.value,\n      activityAllDay: false\n    });\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card card-body flex flex-row gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          title: this.translate(\"Campaign\")\n        }, R.CAMPAIGNS ? R.CAMPAIGNS.map((item, key) => {\n          if (!item.CAMPAIGN) return null;\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n            key: key,\n            className: \"badge\",\n            href: globalThis.hubleto.config.projectUrl + '/campaigns/' + item.CAMPAIGN.id,\n            target: \"_blank\"\n          }, item.CAMPAIGN.name);\n        }) : null), this.inputWrapper('email'), this.inputWrapper('phone'), this.inputWrapper('profile_link_1'), this.inputWrapper('profile_link_2'), this.inputWrapper('profile_link_3'), this.inputWrapper('source_channel', {\n          readonly: R.is_closed\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          title: this.translate('Tags')\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Tags2__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _extends({}, this.getInputProps('tags_input'), {\n          value: this.state.record.TAGS,\n          readonly: R.is_closed,\n          model: \"Hubleto/App/Community/Leads/Models/Tag\",\n          targetColumn: \"id_lead\",\n          sourceColumn: \"id_tag\",\n          colorColumn: \"color\",\n          onChange: (input, value) => {\n            R.TAGS = value;\n            this.setState({\n              record: R\n            });\n          },\n          onNewTag: title => {\n            return {\n              id: -1,\n              name: title,\n              color: '#' + Math.floor(Math.random() * 16777215).toString(16).padStart(6, '0')\n            };\n          }\n        }))), this.inputWrapper('note', {\n          cssClass: 'bg-yellow-50 dark:bg-slate-600',\n          readonly: R.is_closed\n        }), this.state.record.status == 4 ? this.inputWrapper('lost_reason', {\n          readonly: R.is_closed\n        }) : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"border-l border-gray-200\"\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-row *:w-1/2\"\n        }, this.inputWrapper('price', {\n          cssClass: 'text-2xl',\n          readonly: R.is_closed ? true : false\n        }), this.inputWrapper('id_currency')), this.inputWrapper('score', {\n          readonly: R.is_closed\n        }), this.inputWrapper('id_team', {\n          readonly: R.is_closed\n        }), this.inputWrapper('date_expected_close', {\n          readonly: R.is_closed\n        }), this.inputWrapper('id_customer'), this.inputWrapper('id_contact'), this.inputWrapper('shared_folder', {\n          readonly: R.is_closed\n        }), this.inputWrapper('date_created'))));\n        // removed by dead control flow\n\n      case 'calendar':\n        //@ts-ignore\n        const tmpCalendarSmall = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n          onCreateCallback: () => this.loadRecord(),\n          readonly: R.is_closed,\n          initialView: \"dayGridMonth\",\n          headerToolbar: {\n            start: 'title',\n            center: '',\n            end: 'prev,today,next'\n          },\n          eventsEndpoint: globalThis.hubleto.config.projectUrl + '/calendar/api/get-calendar-events?calendar=leads&idLead=' + R.id,\n          onDateClick: (date, time, info) => {\n            this.setState({\n              activityDate: date,\n              activityTime: time,\n              activityAllDay: false,\n              showIdActivity: -1\n            });\n          },\n          onEventClick: info => {\n            this.setState({\n              showIdActivity: parseInt(info.event.id)\n            });\n            info.jsEvent.preventDefault();\n          }\n        });\n        const recentActivitiesAndCalendar = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card card-body flex flex-col gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, tmpCalendarSmall), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"hubleto component input\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"input-element w-full flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n          className: \"w-full bg-blue-50 border border-blue-800 p-1 text-blue-800 placeholder-blue-300\",\n          placeholder: this.translate('Type recent activity here'),\n          ref: this.refLogActivityInput,\n          onKeyUp: event => {\n            if (event.keyCode == 13) {\n              if (event.shiftKey) {\n                this.scheduleActivity();\n              } else {\n                this.logCompletedActivity();\n              }\n            }\n          },\n          onChange: event => {\n            this.refLogActivityInput.current.value = event.target.value;\n          }\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          onClick: () => {\n            this.logCompletedActivity();\n          },\n          className: \"btn btn-blue-outline btn-small w-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-check\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Log completed activity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"shortcut\"\n        }, this.translate('Enter'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          onClick: () => {\n            this.scheduleActivity();\n          },\n          className: \"btn btn-small w-full btn-blue-outline\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-clock\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Schedule activity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"shortcut\"\n        }, this.translate('Shift+Enter')))), this.divider(this.translate('Most recent activities')), R.ACTIVITIES ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"list\"\n        }, R.ACTIVITIES.reverse().slice(0, 7).map((item, index) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n            key: index,\n            className: \"btn btn-small btn-transparent btn-list-item \" + (item.completed ? \"bg-green-50\" : \"bg-red-50\"),\n            onClick: () => this.setState({\n              showIdActivity: item.id\n            })\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"icon\"\n          }, item.date_start, \" \", item.time_start, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), \"@\", item['_LOOKUP[id_owner]']), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"text\"\n          }, item.subject, item.completed ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"text-red-800\"\n          }, this.translate('Not completed yet')))));\n        })) : null));\n\n        //@ts-ignore\n        const tmpCalendarLarge = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n          onCreateCallback: () => this.loadRecord(),\n          readonly: R.is_closed,\n          initialView: \"timeGridWeek\",\n          views: \"timeGridDay,timeGridWeek,dayGridMonth,listYear\",\n          eventsEndpoint: globalThis.hubleto.config.projectUrl + '/calendar/api/get-calendar-events?calendar=leads&idLead=' + R.id,\n          onDateClick: (date, time, info) => {\n            this.setState({\n              activityDate: date,\n              activityTime: time,\n              activityAllDay: false,\n              showIdActivity: -1\n            });\n          },\n          onEventClick: info => {\n            this.setState({\n              showIdActivity: parseInt(info.event.id)\n            });\n            info.jsEvent.preventDefault();\n          }\n        });\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-2 w-2/3\"\n        }, tmpCalendarLarge), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1 w-1/3\"\n        }, this.state.id > 0 ? recentActivitiesAndCalendar : null)), this.state.showIdActivity == 0 ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n          ref: this.refActivityModal,\n          uid: \"activity_form\",\n          isOpen: true,\n          type: \"right\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_LeadFormActivity__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n          modal: this.refActivityModal,\n          id: this.state.showIdActivity,\n          isInlineEditing: true,\n          description: {\n            defaultValues: {\n              id_lead: R.id,\n              id_contact: R.id_contact,\n              date_start: this.state.activityDate,\n              time_start: this.state.activityTime == \"00:00:00\" ? null : this.state.activityTime,\n              date_end: this.state.activityDate,\n              all_day: this.state.activityAllDay,\n              subject: this.state.activitySubject\n            }\n          },\n          idCustomer: R.id_customer,\n          onClose: () => {\n            this.setState({\n              showIdActivity: 0\n            });\n          },\n          onSaveCallback: (form, saveResponse) => {\n            if (saveResponse.status == \"success\") {\n              this.setState({\n                showIdActivity: 0\n              });\n            }\n          }\n        })));\n        // removed by dead control flow\n\n      case 'documents':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Documents_Components_TableDocuments__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n          tag: \"table_lead_document\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_lead_document\",\n          junctionTitle: \"Lead\",\n          junctionModel: \"Hubleto/App/Community/Leads/Models/LeadDocument\",\n          junctionSourceColumn: \"id_lead\",\n          junctionSourceRecordId: R.id,\n          junctionDestinationColumn: \"id_document\"\n        });\n        // removed by dead control flow\n\n      case 'tasks':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Tasks_Components_TableTasks__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n          tag: \"table_lead_task\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_lead_task\",\n          junctionTitle: \"Lead\",\n          junctionModel: \"Hubleto/App/Community/Leads/Models/LeadTask\",\n          junctionSourceColumn: \"id_lead\",\n          junctionSourceRecordId: R.id,\n          junctionDestinationColumn: \"id_task\"\n        });\n        // removed by dead control flow\n\n      case 'history':\n        if (R.HISTORY && R.HISTORY.length > 0) {\n          if (R.HISTORY.length > 1 && R.HISTORY[0].id < R.HISTORY[R.HISTORY.length - 1].id) R.HISTORY = this.state.record.HISTORY.reverse();\n        }\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body [&_*]:whitespace-normal\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableLeadHistory__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n          uid: this.props.uid + \"_table_lead_history\",\n          data: {\n            records: R.HISTORY\n          },\n          descriptionSource: \"props\",\n          onRowClick: table => {},\n          description: {\n            permissions: {\n              canCreate: false,\n              canDelete: false,\n              canRead: true,\n              canUpdate: false\n            },\n            ui: {\n              showFooter: false,\n              showHeader: false\n            },\n            columns: {\n              description: {\n                type: \"varchar\",\n                title: this.translate(\"Description\")\n              },\n              change_date: {\n                type: \"date\",\n                title: this.translate(\"Change Date\")\n              }\n            },\n            inputs: {\n              description: {\n                type: \"varchar\",\n                title: this.translate(\"Description\"),\n                readonly: true\n              },\n              change_date: {\n                type: \"date\",\n                title: this.translate(\"Change Date\")\n              }\n            }\n          },\n          readonly: true\n        }))));\n        // removed by dead control flow\n\n      case 'timeline':\n        return this.renderTimeline([{\n          data: thisForm => thisForm.state.record.ACTIVITIES,\n          icon: 'fas fa-calendar',\n          color: '#32678fff',\n          timestampFormatter: entry => entry.date_start,\n          valueFormatter: entry => entry.subject,\n          userNameFormatter: entry => entry['_LOOKUP[id_owner]']\n        }, {\n          data: thisForm => thisForm.state.record.WORKFLOW_HISTORY,\n          icon: 'fas fa-timeline',\n          color: '#8f3248ff',\n          timestampFormatter: entry => entry.datetime_change,\n          valueFormatter: entry => entry.WORKFLOW_STEP?.name ?? '---',\n          userNameFormatter: entry => entry.USER?.nick\n        }]);\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Leads/Components/FormLead.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Leads/Components/FormLevel.tsx":
/*!**************************************************!*\
  !*** ../erp/apps/Leads/Components/FormLevel.tsx ***!
  \**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormLevel)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormLevel extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Leads/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Leads\\\\Loader';\n  translationContextInner = 'Components\\\\FormLevel';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate(\"Level\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.translate(\"Record\"), \" #\", this.state.record.id ?? '0'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Leads/Components/FormLevel.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Leads/Components/LeadFormActivity.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Leads/Components/LeadFormActivity.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ LeadFormActivity)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/apps/Calendar/Components/FormActivity */ \"../erp/apps/Calendar/Components/FormActivity.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/FormInput */ \"../react-ui/core/FormInput.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Lookup */ \"../react-ui/core/Inputs/Lookup.tsx\");\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n\n\n\n\n\nclass LeadFormActivity extends _hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Leads/Models/LeadActivity'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Leads\\\\Loader';\n  translationContextInner = 'Components\\\\FormActivity';\n  constructor(props) {\n    super(props);\n  }\n  getActivitySourceReadable() {\n    return this.translate('Lead');\n  }\n  renderCustomInputs() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_lead', {\n      readonly: R.id > 0\n    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n      title: this.translate(\"Contact\")\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _extends({}, this.getInputProps('id_contact'), {\n      model: \"Hubleto/App/Community/Contacts/Models/Contact\",\n      endpoint: `contacts/api/get-customer-contacts`,\n      customEndpointParams: {\n        id_customer: this.props.idCustomer\n      },\n      value: R.id_contact,\n      onChange: (input, value) => {\n        this.updateRecord({\n          id_contact: value\n        });\n        if (R.id_contact == 0) {\n          R.id_contact = null;\n          this.setState({\n            record: R\n          });\n        }\n      }\n    }))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Leads/Components/LeadFormActivity.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Leads/Components/TableLeadHistory.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Leads/Components/TableLeadHistory.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableLeadHistory)\n/* harmony export */ });\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n\nclass TableLeadHistory extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_0__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Leads/Models/LeadHistory'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Leads\\\\Loader';\n  translationContextInner = 'Components\\\\TableLeadHistory';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Leads/Components/TableLeadHistory.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Leads/Components/TableLeads.tsx":
/*!***************************************************!*\
  !*** ../erp/apps/Leads/Components/TableLeads.tsx ***!
  \***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableLeads)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormLead__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormLead */ \"../erp/apps/Leads/Components/FormLead.tsx\");\n\n\n\nclass TableLeads extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Leads/Models/Lead'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Leads\\\\Loader';\n  translationContextInner = 'Components\\\\TableLeads';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props),\n      // showSetStatusDialog: false,\n      rerenderKey: Math.random(),\n      selectedBulkStatus: 0\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idCustomer: this.props.idCustomer,\n      idCampaign: this.props.idCampaign\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/leads/' + (id > 0 ? id : 'add'));\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"virt_tags\") {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, data.TAGS.map((tag, key) => {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          style: {\n            backgroundColor: tag.TAG?.color\n          },\n          className: \"badge\",\n          key: data.id + '-tags-' + key\n        }, tag.TAG?.name);\n      }));\n    } else if (columnName == \"DEAL\") {\n      if (data.DEAL) {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n          className: \"btn btn-transparent btn-small\",\n          href: \"deals/\" + data.DEAL.id,\n          target: \"_blank\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-arrow-right\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, data.DEAL.identifier)));\n      } else {\n        return null;\n      }\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  onAfterLoadTableDescription(description) {\n    description.columns['DEAL'] = {\n      type: 'varchar',\n      title: this.translate('Deal')\n    };\n    return description;\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idCustomer = this.props.idCustomer;\n    formProps.customEndpointParams.idCampaign = this.props.idCampaign;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormLead__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n\n  // saveBulkStatusChange() {\n  //   request.post(\n  //     \"leads/api/save-bulk-status-change\",\n  //     {\n  //       record: this.state.selection,\n  //     },\n  //     {},\n  //     (data: any) => {\n  //       if (data.status == \"success\") {\n  //         this.setState({showSetStatusDialog: false, selection: null})\n  //         this.loadData();\n  //       }\n  //     }\n  //   );\n  // }\n\n  // bulkStatusChange(newStatus: any) {\n  //   if (this.state.selection.length > 0) {\n  //     let data = this.state.selection;\n  //     Object.entries(data).map((item, index) => item[1].status = newStatus)\n  //     this.setState({selection: data, rerenderKey: Math.random()});\n  //   }\n  // }\n\n  // renderContent(): JSX.Element {\n\n  //   let saveButton = <>\n  //     <button className='btn btn-edit' onClick={() => this.saveBulkStatusChange()}>\n  //       <span className=\"icon\"><i className=\"fas fa-save\"></i></span>\n  //       <span className=\"text\">\n  //         Save\n  //       </span>\n  //     </button>\n  //   </>\n\n  //   return <>\n  //     {super.renderContent()}\n  //     {this.state.showSetStatusDialog ?\n  //       <ModalSimple\n  //         uid={this.props.uid + '_form_bulk_status_change'}\n  //         isOpen={true}\n  //         title={this.translate('Bulk change Lead status')}\n  //         type='centered'\n  //         showHeader={true}\n  //         headerLeft={saveButton}\n  //         onClose={() => { this.setState({showSetStatusDialog: false}); }}\n  //       >\n  //         <>\n  //           <div className='w-[100%] flex flex-row justify-end items-center gap-2 mb-2'>\n  //             <span className='text font-bold'>{this.translate(\"Bulk change status\")}:</span>\n  //             <select\n  //               className='w-1/4 mr-[15px]'\n  //               value={this.state.selectedBulkStatus}\n  //               onChange={(e) => {\n  //                 this.setState({selectedBulkStatus: e.target.value});\n  //                 this.bulkStatusChange(e.target.value);\n  //               }}\n  //             >\n  //               <option value={0}>{this.translate(\"No interaction yet\")}</option>\n  //               <option value={1}>{this.translate(\"Contacted\")}</option>\n  //               <option value={2}>{this.translate(\"In Progress\")}</option>\n  //               <option value={3}>{this.translate(\"Closed\")}</option>\n  //               <option value={20}>C{this.translate(\"onverted to deal\")}</option>\n  //             </select>\n  //           </div>\n  //           <TableExtended\n  //             key={this.state.rerenderKey}\n  //             model={this.model}\n  //             data={{data: this.state.selection}}\n  //             readonly={true}\n  //             uid={this.props.uid + 'table_leads_mass_status_change'}\n  //             descriptionSource='props'\n  //             isInlineEditing={true}\n  //             onRowClick={() => null}\n  //             onChange={(table: TableLeads) => {this.setState({selection: table.state.data?.records})}}\n  //             description={{\n  //               columns: {\n  //                 identifier: {type: \"varchar\", title: this.translate(\"Identifier\"), readonly: true,\n  //                   cellRenderer: ( table: TableLeads, data: any, options: any): JSX.Element => (\n  //                     <>{data.identifier}</>\n  //                   )\n  //                 },\n  //                 title: {type: \"varchar\", title: this.translate(\"Title\"), readonly: true,\n  //                   cellRenderer: ( table: TableLeads, data: any, options: any): JSX.Element => (\n  //                     <>{data.title}</>\n  //                   )\n  //                 },\n  //                 company_name: {type: \"varchar\", title: this.translate(\"Company\"), readonly: true,\n  //                   cellRenderer: ( table: TableLeads, data: any, options: any): JSX.Element => (\n  //                     <>{data.CUSTOMER.name}</>\n  //                   )\n  //                 },\n  //                 status: {type: \"interger\", title: this.translate(\"Status\"), readonly: true},\n  //               },\n  //               inputs: {\n  //                 identifier: {type: \"varchar\", title: this.translate(\"Identifier\"), readonly: true},\n  //                 title: {type: \"varchar\", title: this.translate(\"Title\"), readonly: true},\n  //                 company_name: {type: \"varchar\", title: this.translate(\"Company\"),readonly: true},\n  //                 status: {type: \"interger\", title: this.translate(\"Status\"), readonly: true,\n  //                   enumValues: {\n  //                     0: this.translate('No interaction yet'),\n  //                     1: this.translate('Contacted'),\n  //                     2: this.translate('In Progress'),\n  //                     3: this.translate('Closed'),\n  //                     20: this.translate('Converted to deal'),\n  //                   }},\n  //               }\n  //             }}\n  //           >\n  //           </TableExtended>\n  //         </>\n  //       </ModalSimple>\n  //     : null}\n  //   </>;\n  // }\n}\n\n//# sourceURL=webpack:///../erp/apps/Leads/Components/TableLeads.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Leads/Components/TableLevels.tsx":
/*!****************************************************!*\
  !*** ../erp/apps/Leads/Components/TableLevels.tsx ***!
  \****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableLevels)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormLevel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormLevel */ \"../erp/apps/Leads/Components/FormLevel.tsx\");\n\n\n\nclass TableLevels extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Leads/Models/Level'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Leads\\\\Loader';\n  translationContextInner = 'Components\\\\TableLevels';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n      // Uncomment and modify these lines if you want to create URL-based filtering for your model\n      // idCustomer: this.props.idCustomer,\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    // formProps.customEndpointParams.idCustomer = this.props.idCustomer;\n    // if (!formProps.description) formProps.description = {};\n    // formProps.description.defaultValues = { id_customer: this.props.idCustomer };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormLevel__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Leads/Components/TableLevels.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Leads/Loader.tsx":
/*!************************************!*\
  !*** ../erp/apps/Leads/Loader.tsx ***!
  \************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableLeads__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableLeads */ \"../erp/apps/Leads/Components/TableLeads.tsx\");\n/* harmony import */ var _Components_LeadFormActivity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/LeadFormActivity */ \"../erp/apps/Leads/Components/LeadFormActivity.tsx\");\n/* harmony import */ var _Components_TableLevels__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Components/TableLevels */ \"../erp/apps/Leads/Components/TableLevels.tsx\");\n\n\n\n\n\nclass LeadsApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('LeadsTableLeads', _Components_TableLeads__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('LeadsTableLevels', _Components_TableLevels__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('LeadFormActivity', _Components_LeadFormActivity__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n    // miscellaneous\n    globalThis.hubleto.getApp('Hubleto/App/Community/Campaigns').addCustomFormTab({\n      uid: 'leads',\n      title: globalThis.hubleto.translate('Leads', 'Hubleto\\\\App\\\\Community\\\\Leads\\\\Loader', 'manifest'),\n      onRender: form => {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Components_TableLeads__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          tag: \"table_campaign_lead\",\n          parentForm: form,\n          uid: form.props.uid + \"_table_campaign_lead\",\n          junctionTitle: \"Campaign\",\n          junctionModel: \"Hubleto/App/Community/Leads/Models/LeadCampaign\",\n          junctionSourceColumn: \"id_campaign\",\n          junctionSourceRecordId: form.state.record.id,\n          junctionDestinationColumn: \"id_lead\"\n        });\n      }\n    });\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Leads', new LeadsApp());\n\n//# sourceURL=webpack:///../erp/apps/Leads/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Mail/Components/FormAccount.tsx":
/*!***************************************************!*\
  !*** ../erp/apps/Mail/Components/FormAccount.tsx ***!
  \***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormAccount)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormAccount extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Mail/Models/Account',\n    renderOwnerManagerUi: true\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Mail\\\\Loader';\n  translationContextInner = 'Components\\\\FormAccount';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Email account'))\n      }, {\n        uid: 'smtp',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Sending (SMTP)'))\n      }]\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.subject ? this.state.record.subject : ''), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Account')));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('name'), this.inputWrapper('color'), this.divider(this.translate('Receiving (IMAP)')), this.inputWrapper('imap_host'), this.inputWrapper('imap_port'), this.inputWrapper('imap_encryption'), this.inputWrapper('imap_username'), this.inputWrapper('imap_password'), this.inputWrapper('max_attachment_size'));\n        // removed by dead control flow\n\n      case 'smtp':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('sender_email'), this.inputWrapper('sender_name'), this.inputWrapper('smtp_host'), this.inputWrapper('smtp_port'), this.inputWrapper('smtp_encryption'), this.inputWrapper('smtp_username'), this.inputWrapper('smtp_password'));\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Mail/Components/FormAccount.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Mail/Components/FormMail.tsx":
/*!************************************************!*\
  !*** ../erp/apps/Mail/Components/FormMail.tsx ***!
  \************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormMail)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormMail extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Mail/Models/Mail'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Mail\\\\Loader';\n  translationContextInner = 'Components\\\\FormMail';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getRecordFormUrl() {\n    return 'mail/' + this.state.record.id_mailbox + '/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.subject ? this.state.record.subject : ''), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Mail')));\n  }\n  sendMail() {}\n\n  // renderSaveButton(): null|JSX.Element {\n  //   return <>\n  //     <button onClick={() => this.saveRecord()} className=\"btn btn-add-outline\">\n  //       <span className=\"icon\"><i className=\"fa-solid fa-file-pen\"></i></span>\n  //       <span className=\"text\">{this.translate('Save draft')}</span>\n  //     </button>\n  //   </>;\n  // }\n\n  renderHeaderLeft() {\n    const R = this.state.record;\n    const isSent = R.datetime_sent !== null;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, super.renderHeaderLeft(), isSent ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      onClick: () => this.sendMail(),\n      className: \"btn btn-add-outline\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-paper-plane\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate('Send now'))));\n  }\n  renderContent() {\n    const R = this.state.record;\n    const isSent = R.datetime_sent !== null;\n    const readonly = isSent;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-3\"\n    }, this.inputWrapper('from'), this.inputWrapper('subject', {\n      cssClass: 'text-2xl'\n    }), this.inputWrapper('body_html', {\n      readonly: readonly\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1\"\n    }, R.ATTACHMENTS ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 flex-wrap\"\n    }, R.ATTACHMENTS.map((att, key) => {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"mt-2\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n        href: globalThis.hubleto.config.uploadUrl + '/' + att.file,\n        className: \"btn btn-blue-outline\",\n        target: \"_blank\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fas fa-link\"\n      })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"text\"\n      }, att.name, \" (\", Math.round(att.size / 1024 * 100) / 100, \" kB)\")));\n    })) : null, this.inputWrapper('to'), this.inputWrapper('cc'), this.inputWrapper('bcc'), this.inputWrapper('reply_to'), this.inputWrapper('in_reply_to'), this.inputWrapper('datetime_created', {\n      readonly: true\n    }), this.inputWrapper('datetime_scheduled_to_send', {\n      readonly: true\n    }), this.inputWrapper('datetime_sent', {\n      readonly: true\n    }), this.inputWrapper('datetime_read', {\n      readonly: true\n    }))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Mail/Components/FormMail.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Mail/Components/FormTemplate.tsx":
/*!****************************************************!*\
  !*** ../erp/apps/Mail/Components/FormTemplate.tsx ***!
  \****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormTemplate)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormTemplate extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Mail/Models/Template'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Mail\\\\Loader';\n  translationContextInner = 'Components\\\\FormTemplate';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getRecordFormUrl() {\n    return 'mail/templates/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.subject ? this.state.record.subject : ''), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Template')));\n  }\n  sendMail() {}\n  renderContent() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('subject'), this.inputWrapper('body_html'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Mail/Components/FormTemplate.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Mail/Components/TableAccounts.tsx":
/*!*****************************************************!*\
  !*** ../erp/apps/Mail/Components/TableAccounts.tsx ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableAccounts)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormAccount__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FormAccount */ \"../erp/apps/Mail/Components/FormAccount.tsx\");\n\n\n\n\nclass TableAccounts extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Mail/Models/Account'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Mail\\\\Loader';\n  translationContextInner = 'Components\\\\TableAccounts';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idAccount: this.props.idAccount,\n      idMailbox: this.props.idMailbox,\n      mailboxName: this.props.mailboxName,\n      showOnlyScheduledToSend: this.props.showOnlyScheduledToSend,\n      showOnlySent: this.props.showOnlySent,\n      showOnlyDrafts: this.props.showOnlyDrafts,\n      showOnlyTemplates: this.props.showOnlyTemplates\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  rowClassName(rowData) {\n    return rowData.datetime_read ? '' : 'bg-yellow-50 text-yellow-800';\n  }\n  renderActionsColumn(data, options) {\n    const R = this.findRecordById(data.id);\n    if (R.datetime_read) {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        className: \"btn btn-small btn-transparent\",\n        onClick: e => {\n          e.preventDefault();\n          _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].get(\"mail/api/mark-as-unread\", {\n            idAccount: this.props.idAccount,\n            idMailbox: this.props.idMailbox,\n            idMail: data.id\n          }, response => {\n            this.loadData();\n          });\n        }\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fas fa-eye-slash\"\n      })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"text\"\n      }, this.translate('Mark as unread')));\n    } else {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        className: \"btn btn-small btn-transparent\",\n        onClick: e => {\n          e.preventDefault();\n          _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].get(\"mail/api/mark-as-read\", {\n            idAccount: this.props.idAccount,\n            idMailbox: this.props.idMailbox,\n            idMail: data.id\n          }, response => {\n            this.loadData();\n          });\n        }\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fas fa-eye\"\n      })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"text\"\n      }, this.translate('Mark as read')));\n    }\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormAccount__WEBPACK_IMPORTED_MODULE_3__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Mail/Components/TableAccounts.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Mail/Components/TableMails.tsx":
/*!**************************************************!*\
  !*** ../erp/apps/Mail/Components/TableMails.tsx ***!
  \**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableExtendedMails)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormMail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FormMail */ \"../erp/apps/Mail/Components/FormMail.tsx\");\n\n\n\n\nclass TableExtendedMails extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_2__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Mail/Models/Mail'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Mail\\\\Loader';\n  translationContextInner = 'Components\\\\TableMails';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      // idAccount: this.props.idAccount,\n      idMailbox: this.props.idMailbox,\n      mailboxName: this.props.mailboxName,\n      showOnlyScheduledToSend: this.props.showOnlyScheduledToSend,\n      showOnlySent: this.props.showOnlySent,\n      showOnlyDrafts: this.props.showOnlyDrafts,\n      showOnlyTemplates: this.props.showOnlyTemplates\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  rowClassName(rowData) {\n    return rowData.datetime_read ? '' : 'bg-yellow-50 text-yellow-800';\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/mail/' + this.props.idMailbox + '/' + (id > 0 ? id : 'add'));\n  }\n  renderActionsColumn(data, options) {\n    const R = this.findRecordById(data.id);\n    if (R.datetime_read) {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        className: \"btn btn-small btn-transparent\",\n        onClick: e => {\n          e.preventDefault();\n          _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].get(\"mail/api/mark-as-unread\", {\n            idAccount: this.props.idAccount,\n            idMailbox: this.props.idMailbox,\n            idMail: data.id\n          }, response => {\n            this.loadData();\n          });\n        }\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fas fa-eye-slash\"\n      })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"text text-nowrap\"\n      }, this.translate('Mark as unread')));\n    } else {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        className: \"btn btn-small btn-transparent\",\n        onClick: e => {\n          e.preventDefault();\n          _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].get(\"mail/api/mark-as-read\", {\n            idAccount: this.props.idAccount,\n            idMailbox: this.props.idMailbox,\n            idMail: data.id\n          }, response => {\n            this.loadData();\n          });\n        }\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fas fa-eye\"\n      })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"text text-nowrap\"\n      }, this.translate('Mark as read')));\n    }\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"subject\") {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, data['subject']), data.ATTACHMENTS ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n        className: \"flex gap-1\"\n      }, data.ATTACHMENTS.map((att, key) => {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n          href: globalThis.hubleto.config.uploadUrl + '/' + att.file,\n          target: \"_blank\",\n          className: \"font-normal text-xs text-blue-500\"\n        }, att.name);\n      })) : null);\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    if (this.props.showOnlyTemplates) {\n      formProps.description = {};\n      formProps.description.defaultValues = {\n        'is_template': true\n      };\n    }\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormMail__WEBPACK_IMPORTED_MODULE_3__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Mail/Components/TableMails.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Mail/Components/TableTemplates.tsx":
/*!******************************************************!*\
  !*** ../erp/apps/Mail/Components/TableTemplates.tsx ***!
  \******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableTemplates)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormTemplate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormTemplate */ \"../erp/apps/Mail/Components/FormTemplate.tsx\");\n\n\n\nclass TableTemplates extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Mail/Models/Template'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Mail\\\\Loader';\n  translationContextInner = 'Components\\\\TableTemplates';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idMailbox: this.props.idMailbox,\n      showOnlyDrafts: this.props.showOnlyDrafts,\n      showOnlyTemplates: this.props.showOnlyTemplates\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/mail/templates/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormTemplate__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Mail/Components/TableTemplates.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Mail/Loader.tsx":
/*!***********************************!*\
  !*** ../erp/apps/Mail/Loader.tsx ***!
  \***********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableAccounts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableAccounts */ \"../erp/apps/Mail/Components/TableAccounts.tsx\");\n/* harmony import */ var _Components_TableMails__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableMails */ \"../erp/apps/Mail/Components/TableMails.tsx\");\n/* harmony import */ var _Components_TableTemplates__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/TableTemplates */ \"../erp/apps/Mail/Components/TableTemplates.tsx\");\n\n\n\n\nclass MailApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('MailTableAccounts', _Components_TableAccounts__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('MailTableMails', _Components_TableMails__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('MailTableTemplates', _Components_TableTemplates__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Mail', new MailApp());\n\n//# sourceURL=webpack:///../erp/apps/Mail/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Notifications/Components/FormNotification.tsx":
/*!*****************************************************************!*\
  !*** ../erp/apps/Notifications/Components/FormNotification.tsx ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormNotification)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormNotification extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Notifications/Models/Notification'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Notifications\\\\Loader';\n  translationContextInner = 'Components\\\\FormNotification';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Notification')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.subject ? this.state.record.subject : ''));\n  }\n  renderContent() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-3\"\n    }, this.inputWrapper('id_to'), this.inputWrapper('subject'), this.inputWrapper('url'), this.inputWrapper('body')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1\"\n    }, this.inputWrapper('id_from'), this.inputWrapper('priority'), this.inputWrapper('category'), this.inputWrapper('tags'), this.inputWrapper('datetime_sent'), this.inputWrapper('color'))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Notifications/Components/FormNotification.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Notifications/Components/TableNotifications.tsx":
/*!*******************************************************************!*\
  !*** ../erp/apps/Notifications/Components/TableNotifications.tsx ***!
  \*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableNotifications)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormNotification__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FormNotification */ \"../erp/apps/Notifications/Components/FormNotification.tsx\");\n\n\n\n\nclass TableNotifications extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_2__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Notifications/Models/Notification'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Notifications\\\\Loader';\n  translationContextInner = 'Components\\\\TableNotifications';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      folder: this.props.folder\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right';\n    return params;\n  }\n  rowClassName(rowData) {\n    if (this.props.folder == 'inbox') {\n      return rowData.datetime_read ? '' : 'bg-yellow-50 text-yellow-800';\n    } else {\n      return '';\n    }\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"url\" && data.url) {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n        href: data.url,\n        target: \"_blank\"\n      }, data.url);\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderActionsColumn(data, options) {\n    const R = this.findRecordById(data.id);\n    if (this.props.folder == 'inbox') {\n      if (R.datetime_read) {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-small btn-transparent text-nowrap\",\n          onClick: e => {\n            e.preventDefault();\n            _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].get(\"notifications/api/mark-as-unread\", {\n              idNotification: data.id\n            }, response => {\n              this.loadData();\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-eye-slash\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Mark as unread')));\n      } else {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-small btn-transparent text-nowrap\",\n          onClick: e => {\n            e.preventDefault();\n            _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_1__[\"default\"].get(\"notifications/api/mark-as-read\", {\n              idNotification: data.id\n            }, response => {\n              this.reload();\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-eye\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Mark as read')));\n      }\n    }\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormNotification__WEBPACK_IMPORTED_MODULE_3__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Notifications/Components/TableNotifications.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Notifications/Loader.tsx":
/*!********************************************!*\
  !*** ../erp/apps/Notifications/Loader.tsx ***!
  \********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Components_TableNotifications__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Components/TableNotifications */ \"../erp/apps/Notifications/Components/TableNotifications.tsx\");\n\nglobalThis.hubleto.registerReactComponent('NotificationsTableNotifications', _Components_TableNotifications__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///../erp/apps/Notifications/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Orders/Components/FormItem.tsx":
/*!**************************************************!*\
  !*** ../erp/apps/Orders/Components/FormItem.tsx ***!
  \**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormItem)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormItem extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-file-invoice',\n    description: {\n      ui: {\n        headerClassName: 'bg-indigo-50'\n      }\n    },\n    renderOwnerManagerUi: true\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Orders\\\\Loader';\n  translationContextInner = 'Components\\\\FormItem';\n  constructor(props) {\n    super(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Order item'))\n      }, ...this.getCustomTabs()]\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idOrder: this.props.idOrder\n    };\n  }\n  getRecordFormUrl() {\n    return 'orders/items/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Item')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, R.date));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, this.inputWrapper('id_order'), this.inputWrapper('title'), this.inputWrapper('id_product'), this.inputWrapper('date_due'), this.inputWrapper('unit_price'), this.inputWrapper('amount'), this.inputWrapper('discount'), this.inputWrapper('vat'), this.inputWrapper('position')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, this.inputWrapper('notes'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"bg-slate-50 p-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Summary')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n          className: \"table-default dense w-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"thead\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Without discount')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('With discount')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, R.title)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n          className: \"text-nowrap\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, globalThis.hubleto.currencyFormat(R.unit_price, 4)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, \"x\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, globalThis.hubleto.numberFormat(R.amount, 4)))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n          className: \"text-nowrap\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, globalThis.hubleto.currencyFormat(R.unit_price * (1 - R.discount / 100), 4)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, \"x\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, globalThis.hubleto.numberFormat(R.amount, 4))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('Excluding VAT')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n          className: \"text-nowrap\"\n        }, globalThis.hubleto.currencyFormat(R.unit_price * R.amount, 4)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n          className: \"text-nowrap\"\n        }, globalThis.hubleto.currencyFormat(R.unit_price * R.amount * (1 - R.discount / 100), 4))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, this.translate('Including {vat}% VAT').replace('{vat}', globalThis.hubleto.numberFormat(R.vat, 0))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n          className: \"text-nowrap\"\n        }, globalThis.hubleto.currencyFormat(R.unit_price * R.amount * (1 + R.vat / 100), 4)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n          className: \"text-nowrap\"\n        }, globalThis.hubleto.currencyFormat(R.unit_price * R.amount * (1 + R.vat / 100) * (1 - R.discount / 100), 4)))))), this.inputWrapper('id_invoice_item'))));\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Orders/Components/FormItem.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Orders/Components/FormOrder.tsx":
/*!***************************************************!*\
  !*** ../erp/apps/Orders/Components/FormOrder.tsx ***!
  \***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormOrder)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _TableItems__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TableItems */ \"../erp/apps/Orders/Components/TableItems.tsx\");\n/* harmony import */ var _TableQuotes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./TableQuotes */ \"../erp/apps/Orders/Components/TableQuotes.tsx\");\n/* harmony import */ var _hubleto_apps_Documents_Components_TableDocuments__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @hubleto/apps/Documents/Components/TableDocuments */ \"../erp/apps/Documents/Components/TableDocuments.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _TableHistories__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./TableHistories */ \"../erp/apps/Orders/Components/TableHistories.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @hubleto/react-ui/core/FormInput */ \"../react-ui/core/FormInput.tsx\");\n/* harmony import */ var _OrdersFormActivity__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./OrdersFormActivity */ \"../erp/apps/Orders/Components/OrdersFormActivity.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @hubleto/react-ui/core/ModalForm */ \"../react-ui/core/ModalForm.tsx\");\n/* harmony import */ var _Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../Calendar/Components/Calendar */ \"../erp/apps/Calendar/Components/Calendar.tsx\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! moment */ \"../react-ui/node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Lookup */ \"../react-ui/core/Inputs/Lookup.tsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass FormOrder extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-money-check-dollar',\n    model: 'Hubleto/App/Community/Orders/Models/Order',\n    renderWorkflowUi: true,\n    renderOwnerManagerUi: true,\n    renderPreviewUi: true\n  };\n  refLogActivityInput = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  refActivityModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  refActivityForm = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  refTableItemsInvoicing = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Orders\\\\Loader';\n  translationContextInner = 'Components\\\\FormOrder';\n  parentApp = 'Hubleto/App/Community/Orders';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props),\n      showIdActivity: 0,\n      activityTime: '',\n      activityDate: '',\n      activitySubject: '',\n      activityAllDay: false,\n      selectParentDeal: false\n    };\n  }\n  getTabsLeft() {\n    return [{\n      uid: 'default',\n      title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Order'))\n    }, {\n      uid: 'items',\n      title: this.translate('Items')\n    }, {\n      uid: 'calendar',\n      title: this.translate('Calendar')\n    }, {\n      uid: 'quotes',\n      title: this.translate('Quotes')\n    },\n    // { uid: 'payments', title: this.translate('Payments') },\n    {\n      uid: 'invoicing',\n      title: this.translate('Invoicing')\n    }, ...super.getTabsLeft()];\n  }\n  getTabsRight() {\n    return [{\n      uid: 'history',\n      icon: 'fas fa-clock-rotate-left',\n      position: 'right'\n    }, {\n      uid: 'timeline',\n      icon: 'fas fa-timeline',\n      position: 'right'\n    }, ...super.getTabsRight()];\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getRecordFormUrl() {\n    return 'orders/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  contentClassName() {\n    return this.state.record.is_closed ? 'bg-slate-100' : '';\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.state.record.purchase_sales == 1 ? this.translate('Purchase Order') : this.translate('Sales Order')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.identifier ?? '-'));\n  }\n  getSumPrice(recordItems) {\n    var sumPrice = 0;\n    recordItems.map((item, index) => {\n      if (item.unit_price && item.amount && item._toBeDeleted_ != true) {\n        var sum = item.unit_price * item.amount;\n        if (item.vat) sum = sum + sum * (item.vat / 100);\n        if (item.discount) sum = sum - sum * (item.discount / 100);\n        sumPrice += sum;\n      }\n    });\n    return Number(sumPrice.toFixed(2));\n  }\n  logCompletedActivity() {\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_5__[\"default\"].get('orders/api/log-activity', {\n      idOrder: this.state.record.id,\n      activity: this.refLogActivityInput.current.value\n    }, result => {\n      this.loadRecord();\n      this.refLogActivityInput.current.value = '';\n    });\n  }\n  scheduleActivity() {\n    this.setState({\n      showIdActivity: -1,\n      activityDate: moment__WEBPACK_IMPORTED_MODULE_11___default()().add(1, 'week').format('YYYY-MM-DD'),\n      activityTime: moment__WEBPACK_IMPORTED_MODULE_11___default()().add(1, 'week').format('H:00:00'),\n      activitySubject: this.refLogActivityInput.current.value,\n      activityAllDay: false\n    });\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.input('purchase_sales', {\n          uiStyle: 'buttons'\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body flex flex-row gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, R.purchase_sales == 1 ? this.inputWrapper('id_supplier') : this.inputWrapper('id_customer')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n          title: \"Deal\"\n        }, this.state.selectParentDeal ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n          model: \"Hubleto/App/Community/Deals/Models/Deal\",\n          cssClass: \"font-bold\",\n          onChange: (input, value) => {\n            _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_5__[\"default\"].post('orders/api/set-parent-deal', {\n              idOrder: this.state.record.id,\n              idDeal: value\n            }, {}, data => {\n              this.setState({\n                selectParentDeal: false\n              }, () => this.reload());\n            });\n          }\n        })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, R.DEALS ? R.DEALS.map((item, key) => {\n          if (!item.DEAL) return null;\n          return item.DEAL ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n            key: key,\n            className: \"badge\",\n            href: globalThis.hubleto.config.projectUrl + '/deals/' + item.DEAL.id,\n            target: \"_blank\"\n          }, \"#\", item.DEAL.identifier, \"\\xA0\", item.DEAL.title) : '#';\n        }) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-small btn-transparent\",\n          onClick: () => {\n            this.setState({\n              selectParentDeal: true\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Select parent deal'))))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, this.inputWrapper('identifier', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('title', {\n          cssClass: 'text-2xl'\n        }), this.divider(null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper('price_excl_vat'), this.inputWrapper('price_incl_vat')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper('id_currency', {\n          wrapperCssClass: 'flex gap-2',\n          uiStyle: 'select'\n        }), this.inputWrapper('payment_period', {\n          wrapperCssClass: 'flex gap-2'\n        }))), this.divider(null), this.inputWrapper('date_order'), this.inputWrapper('required_delivery_date'), this.divider(null), this.inputWrapper('shared_folder')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, this.inputWrapper('identifier_external', {\n          wrapperCssClass: 'flex gap-2'\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 items-center w-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, this.inputWrapper('prepaid_working_hours', {\n          wrapperCssClass: 'flex gap-2'\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, this.input('prepaid_working_hours_period'))), this.inputWrapper('note', {\n          cssClass: 'bg-yellow-50 border-none'\n        }), this.divider(null), this.divider(null), this.inputWrapper('shipping_info')))))));\n        // removed by dead control flow\n\n      case 'calendar':\n        //@ts-ignore\n        const tmpCalendarSmall = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n          onCreateCallback: () => this.loadRecord(),\n          initialView: \"dayGridMonth\",\n          headerToolbar: {\n            start: 'title',\n            center: '',\n            end: 'prev,today,next'\n          },\n          eventsEndpoint: globalThis.hubleto.config.projectUrl + '/calendar/api/get-calendar-events?calendar=orders&idOrder=' + R.id,\n          onDateClick: (date, time, info) => {\n            this.setState({\n              activityDate: date,\n              activityTime: time,\n              activityAllDay: false,\n              showIdActivity: -1\n            });\n          },\n          onEventClick: info => {\n            this.setState({\n              showIdActivity: parseInt(info.event.id)\n            });\n            info.jsEvent.preventDefault();\n          }\n        });\n        const recentActivitiesAndCalendar = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card card-body flex flex-col gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, tmpCalendarSmall), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"hubleto component input\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"input-element w-full flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n          className: \"w-full bg-blue-50 border border-blue-800 p-1 text-blue-800 placeholder-blue-300\",\n          placeholder: this.translate('Type recent activity here'),\n          ref: this.refLogActivityInput,\n          onKeyUp: event => {\n            if (event.keyCode == 13) {\n              if (event.shiftKey) {\n                this.scheduleActivity();\n              } else {\n                this.logCompletedActivity();\n              }\n            }\n          },\n          onChange: event => {\n            this.refLogActivityInput.current.value = event.target.value;\n          }\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          onClick: () => {\n            this.logCompletedActivity();\n          },\n          className: \"btn btn-blue-outline btn-small w-full\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-check\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Log completed activity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"shortcut\"\n        }, this.translate('Enter'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          onClick: () => {\n            this.scheduleActivity();\n          },\n          className: \"btn btn-small w-full btn-blue-outline\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-clock\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Schedule activity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"shortcut\"\n        }, this.translate('Shift+Enter')))), this.divider(this.translate('Most recent activities')), R.ACTIVITIES ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"list\"\n        }, R.ACTIVITIES.reverse().slice(0, 7).map((item, index) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n            key: index,\n            className: \"btn btn-small btn-transparent btn-list-item \" + (item.completed ? \"bg-green-50\" : \"bg-red-50\"),\n            onClick: () => this.setState({\n              showIdActivity: item.id\n            })\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"icon\"\n          }, item.date_start, \" \", item.time_start, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), \"@\", item['_LOOKUP[id_owner]']), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"text\"\n          }, item.subject, item.completed ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"text-red-800\"\n          }, this.translate('Not completed yet')))));\n        })) : null));\n\n        //@ts-ignore\n        const tmpCalendarLarge = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Calendar_Components_Calendar__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n          onCreateCallback: () => this.loadRecord(),\n          initialView: \"timeGridWeek\",\n          views: \"timeGridDay,timeGridWeek,dayGridMonth,listYear\",\n          eventsEndpoint: globalThis.hubleto.config.projectUrl + '/calendar/api/get-calendar-events?calendar=orders&idOrder=' + R.id,\n          onDateClick: (date, time, info) => {\n            this.setState({\n              activityDate: date,\n              activityTime: time,\n              activityAllDay: false,\n              showIdActivity: -1\n            });\n          },\n          onEventClick: info => {\n            this.setState({\n              showIdActivity: parseInt(info.event.id)\n            });\n            info.jsEvent.preventDefault();\n          }\n        });\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-2 w-2/3\"\n        }, tmpCalendarLarge), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1 w-1/3\"\n        }, this.state.id > 0 ? recentActivitiesAndCalendar : null)));\n        // removed by dead control flow\n\n      case 'items':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-col gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper('description_before')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableItems__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          key: \"table_order_item\",\n          tag: \"table_order_item\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_order_item\",\n          idOrder: R.id\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper('description_after')));\n        // removed by dead control flow\n\n      case 'quotes':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableQuotes__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          key: \"table_order_quote\",\n          tag: \"table_order_quote\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_order_quote\",\n          idOrder: R.id\n        });\n        // removed by dead control flow\n\n      case 'invoicing':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-col gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableItems__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          key: \"table_order_items_invoicing\",\n          tag: \"table_order_items_invoicing\",\n          ref: this.refTableItemsInvoicing,\n          parentForm: this,\n          uid: this.props.uid + \"_table_order_items_invoicing\",\n          idOrder: R.id,\n          view: \"invoicing\"\n        }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-primary btn-large\",\n          onClick: () => {\n            const selection = this.refTableItemsInvoicing.current.state.selection;\n            const idItems = selection.map(item => item.id);\n            _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_5__[\"default\"].post('orders/api/prepare-items-for-invoice', {\n              idOrder: this.state.record.id,\n              idItems: idItems\n            }, {}, result => {\n              this.refTableItemsInvoicing.current.reload();\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-file-invoice\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Prepare selected for invoice')))));\n        // removed by dead control flow\n\n      case 'documents':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Documents_Components_TableDocuments__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n          key: \"table_order_document\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_order_document\",\n          junctionTitle: \"Order\",\n          junctionModel: \"Hubleto/App/Community/Orders/Models/OrderDocument\",\n          junctionSourceColumn: \"id_order\",\n          junctionSourceRecordId: R.id,\n          junctionDestinationColumn: \"id_document\",\n          readonly: !this.state.isInlineEditing\n        });\n        // removed by dead control flow\n\n      case 'history':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableHistories__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n          uid: this.props.uid + \"_table_order_history\",\n          data: {\n            records: R.HISTORY\n          },\n          descriptionSource: \"props\",\n          description: {\n            ui: {\n              showHeader: false,\n              showFooter: false\n            },\n            permissions: {\n              canCreate: false,\n              canUpdate: false,\n              canDelete: false,\n              canRead: true\n            },\n            columns: {\n              short_description: {\n                type: \"text\",\n                title: \"Short Description\"\n              },\n              date_time: {\n                type: \"datetime\",\n                title: \"Date Time\"\n              }\n            },\n            inputs: {\n              short_description: {\n                type: \"text\",\n                title: \"Short Description\"\n              },\n              date_time: {\n                type: \"datetime\",\n                title: \"Date Time\"\n              }\n            }\n          },\n          isUsedAsInput: true,\n          isInlineEditing: false,\n          onRowClick: (table, row) => table.openForm(row.id)\n        }));\n        // removed by dead control flow\n\n      case 'timeline':\n        return this.renderTimeline([{\n          data: thisForm => thisForm.state.record.ACTIVITIES,\n          icon: 'fas fa-calendar',\n          color: '#32678fff',\n          timestampFormatter: entry => entry.date_start,\n          valueFormatter: entry => entry.subject,\n          userNameFormatter: entry => entry['_LOOKUP[id_owner]']\n        }, {\n          data: thisForm => thisForm.state.record.WORKFLOW_HISTORY,\n          icon: 'fas fa-timeline',\n          color: '#8f3248ff',\n          timestampFormatter: entry => entry.datetime_change,\n          valueFormatter: entry => entry.WORKFLOW_STEP?.name ?? '---',\n          userNameFormatter: entry => entry.USER?.nick\n        }]);\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n  renderContent() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, super.renderContent(), this.state.showIdActivity == 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n      ref: this.refActivityModal,\n      form: this.refActivityForm,\n      uid: \"activity_form\",\n      isOpen: true,\n      type: \"right\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_OrdersFormActivity__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n      id: this.state.showIdActivity,\n      ref: this.refActivityForm,\n      modal: this.refActivityModal,\n      isInlineEditing: true,\n      description: {\n        defaultValues: {\n          id_order: R.id,\n          id_contact: R.id_contact,\n          date_start: this.state.activityDate,\n          time_start: this.state.activityTime == \"00:00:00\" ? null : this.state.activityTime,\n          date_end: this.state.activityDate,\n          all_day: this.state.activityAllDay,\n          subject: this.state.activitySubject\n        }\n      },\n      idCustomer: R.id_customer,\n      onClose: () => {\n        this.setState({\n          showIdActivity: 0\n        });\n      },\n      onSaveCallback: (form, saveResponse) => {\n        if (saveResponse.status == \"success\") {\n          this.setState({\n            showIdActivity: 0\n          });\n        }\n      }\n    })));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Orders/Components/FormOrder.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Orders/Components/FormQuote.tsx":
/*!***************************************************!*\
  !*** ../erp/apps/Orders/Components/FormQuote.tsx ***!
  \***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormQuote)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormQuote extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Orders/Models/Quote'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Orders\\\\Loader';\n  translationContextInner = 'Components\\\\FormQuote';\n  constructor(props) {\n    super(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Quote'))\n      }]\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  getRecordFormUrl() {\n    return 'quotes/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Quote')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, R.id <= 0 ? this.translate('New') : R.id));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, this.inputWrapper('id_order'), this.inputWrapper('version'), this.inputWrapper('summary'), this.inputWrapper('date_created'), this.inputWrapper('date_sent'), this.inputWrapper('id_approved_by'), this.inputWrapper('date_approved')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-2\"\n        }, [1, 2, 3, 4, 5].map((i, key) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            key: key\n          }, this.divider(this.translate('Document #') + i), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"flex gap-2\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"flex-3\"\n          }, this.inputWrapper('online_document_' + i, {\n            wrapperCssClass: 'flex gap-2'\n          }), this.inputWrapper('final_pdf_' + i, {\n            wrapperCssClass: 'flex gap-2'\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"flex-2\"\n          }, this.input('notes_document_' + i, {\n            cssStyle: {\n              height: '4.5em'\n            }\n          }))));\n        })));\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Orders/Components/FormQuote.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Orders/Components/OrdersFormActivity.tsx":
/*!************************************************************!*\
  !*** ../erp/apps/Orders/Components/OrdersFormActivity.tsx ***!
  \************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ OrdersFormActivity)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/apps/Calendar/Components/FormActivity */ \"../erp/apps/Calendar/Components/FormActivity.tsx\");\n\n\nclass OrdersFormActivity extends _hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Orders/Models/OrderActivity'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Orders\\\\Loader';\n  translationContextInner = 'Components\\\\FormActivity';\n  getActivitySourceReadable() {\n    return this.translate('Order');\n  }\n  renderCustomInputs() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_order', {\n      readonly: R.id > 0\n    }));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Orders/Components/OrdersFormActivity.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Orders/Components/TableHistories.tsx":
/*!********************************************************!*\
  !*** ../erp/apps/Orders/Components/TableHistories.tsx ***!
  \********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableHistories)\n/* harmony export */ });\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n\nclass TableHistories extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_0__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Orders/Models/History'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Orders\\\\Loader';\n  translationContextInner = 'Components\\\\TableHistories';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  renderHeaderRight() {\n    let elements = super.renderHeaderRight();\n    return elements;\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Orders/Components/TableHistories.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Orders/Components/TableItems.tsx":
/*!****************************************************!*\
  !*** ../erp/apps/Orders/Components/TableItems.tsx ***!
  \****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableItems)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormItem */ \"../erp/apps/Orders/Components/FormItem.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! moment */ \"../react-ui/node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\nclass TableItems extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Orders/Models/Item'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Orders\\\\Loader';\n  translationContextInner = 'Components\\\\TableItems';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idOrder: this.props.idOrder\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/orders/items/' + (id > 0 ? id : 'add'));\n  }\n  cellClassName(columnName, column, rowData) {\n    const cellClassName = super.cellClassName(columnName, column, rowData);\n    if (columnName == 'date_due') {\n      const now = moment__WEBPACK_IMPORTED_MODULE_4___default()();\n      const daysDue = moment__WEBPACK_IMPORTED_MODULE_4___default()(now).diff(moment__WEBPACK_IMPORTED_MODULE_4___default()(rowData['date_due']), 'days');\n      if (!rowData['INVOICE_ITEM']) {\n        if (daysDue >= 0) return cellClassName + ' bg-red-200 text-red-800';else if (daysDue > -7) return cellClassName + ' text-yellow-800';else return cellClassName;\n      } else {\n        return cellClassName;\n      }\n    } else {\n      return cellClassName;\n    }\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"id_invoice_item\") {\n      if (data['INVOICE_ITEM']) {\n        return super.renderCell(columnName, column, data, options);\n        // removed by dead control flow\n\n      } else {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-yellow btn-small\",\n          onClick: () => {\n            return globalThis.hubleto.showDialogConfirm(/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, data.ORDER?.identifier, \" (\", data.ORDER?.title, \")\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n              className: \"font-bold\"\n            }, data.title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n              className: \"font-bold\"\n            }, data.unit_price, \" \\u20AC x \", data.amount, \" pcs\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n              className: \"mt-4\"\n            }, this.translate('Is this item ready to be invoiced? Press OK to confirm.'))), {\n              headerClassName: 'dialog-warning-header',\n              contentClassName: 'dialog-warning-content',\n              header: this.translate('Prepare for invoice'),\n              yesText: this.translate('Yes, prepare for invoice'),\n              yesButtonClass: 'btn-warning',\n              onYes: () => {\n                _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].get('orders/api/prepare-item-for-invoice', {\n                  idOrder: data['id_order'],\n                  idItem: data['id']\n                }, data => {\n                  this.reload();\n                  // globalThis.window.open(globalThis.hubleto.config.projectUrl + '/invoices/items/' + data.idInvoiceItem);\n                });\n              },\n              noText: this.translate('Cancel'),\n              noButtonClass: 'btn-transparent',\n              onNo: () => {},\n              onHide: () => {}\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-euro-sign\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Prepare for invoice')));\n      }\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    if (!formProps.description) formProps.description = {};\n    formProps.idOrder = this.props.idOrder;\n    formProps.description.defaultValues = {\n      id_order: this.props.idOrder\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormItem__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Orders/Components/TableItems.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Orders/Components/TableOrders.tsx":
/*!*****************************************************!*\
  !*** ../erp/apps/Orders/Components/TableOrders.tsx ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableOrders)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormOrder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormOrder */ \"../erp/apps/Orders/Components/FormOrder.tsx\");\n\n\n\nclass TableOrders extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Orders/Models/Order'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Orders\\\\Loader';\n  translationContextInner = 'Components\\\\TableOrders';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/orders/' + (id > 0 ? id : 'add'));\n  }\n  rowClassName(rowData) {\n    return rowData.is_closed ? 'bg-slate-300' : super.rowClassName(rowData);\n  }\n  renderHeaderRight() {\n    let elements = super.renderHeaderRight();\n    return elements;\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"virt_last_item\") {\n      if (data.virt_last_item) {\n        let lastItem = {};\n        try {\n          lastItem = JSON.parse(data.virt_last_item);\n        } catch (ex) {}\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-1 text-xs items-center\"\n        }, lastItem.date_due, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge\"\n        }, lastItem.title), \" \", globalThis.hubleto.currencyFormat(lastItem.unit_price, 2), \" x \", lastItem.amount);\n      } else {\n        return null;\n      }\n    } else return super.renderCell(columnName, column, data, options);\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormOrder__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Orders/Components/TableOrders.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Orders/Components/TableQuotes.tsx":
/*!*****************************************************!*\
  !*** ../erp/apps/Orders/Components/TableQuotes.tsx ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableQuotes)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormQuote__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormQuote */ \"../erp/apps/Orders/Components/FormQuote.tsx\");\n\n\n\nclass TableQuotes extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Orders/Models/Quote'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Orders';\n  translationContextInner = 'Components\\\\TableQuotes';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idOrder: this.props.idOrder\n    };\n  }\n  rowClassName(rowData) {\n    return '';\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/quotes//' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idOrder = this.props.idOrder;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_order: this.props.idOrder\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormQuote__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Orders/Components/TableQuotes.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Orders/Loader.tsx":
/*!*************************************!*\
  !*** ../erp/apps/Orders/Loader.tsx ***!
  \*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _Components_TableOrders__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/TableOrders */ \"../erp/apps/Orders/Components/TableOrders.tsx\");\n/* harmony import */ var _Components_OrdersFormActivity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Components/OrdersFormActivity */ \"../erp/apps/Orders/Components/OrdersFormActivity.tsx\");\n/* harmony import */ var _Components_TableItems__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Components/TableItems */ \"../erp/apps/Orders/Components/TableItems.tsx\");\n/* harmony import */ var _Components_TableQuotes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Components/TableQuotes */ \"../erp/apps/Orders/Components/TableQuotes.tsx\");\n/* harmony import */ var _hubleto_apps_Deals_Components_FormDeal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @hubleto/apps/Deals/Components/FormDeal */ \"../erp/apps/Deals/Components/FormDeal.tsx\");\n\n\n\n\n\n\n\n\nclass OrdersApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('OrdersTableOrders', _Components_TableOrders__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('OrdersFormActivity', _Components_OrdersFormActivity__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('OrdersTableItems', _Components_TableItems__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('OrdersTableQuotes', _Components_TableQuotes__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n\n    // miscellaneous\n    globalThis.hubleto.getApp('Hubleto/App/Community/Deals').addCustomFormTab({\n      uid: 'orders',\n      title: globalThis.hubleto.translate('Orders', 'Hubleto\\\\App\\\\Community\\\\Orders\\\\Loader', 'manifest'),\n      onRender: form => {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Components_TableOrders__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          tag: \"table_order_deal\",\n          parentForm: form\n          //@ts-ignore\n          ,\n          description: {\n            ui: {\n              showHeader: false\n            }\n          },\n          descriptionSource: \"both\",\n          uid: form.props.uid + \"_table_order_deal\",\n          junctionTitle: \"Deal\",\n          junctionModel: \"Hubleto/App/Community/Orders/Models/OrderDeal\",\n          junctionSourceColumn: \"id_deal\",\n          junctionSourceRecordId: form.state.record.id,\n          junctionDestinationColumn: \"id_order\"\n        });\n      }\n    });\n    _hubleto_apps_Deals_Components_FormDeal__WEBPACK_IMPORTED_MODULE_7__[\"default\"].addFormHeaderButton(globalThis.hubleto.translate('Create order', 'Hubleto\\\\App\\\\Community\\\\Orders\\\\Loader', 'manifest'), '', form => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_2__[\"default\"].get('orders/api/create-from-deal', {\n        idDeal: form.state.record.id\n      }, data => {\n        if (data.status == \"success\") {\n          globalThis.window.open(globalThis.hubleto.config.projectUrl + '/orders/' + data.idOrder);\n        }\n      });\n    });\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Orders', new OrdersApp());\n\n//# sourceURL=webpack:///../erp/apps/Orders/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Products/Components/FormCategory.tsx":
/*!********************************************************!*\
  !*** ../erp/apps/Products/Components/FormCategory.tsx ***!
  \********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormCategory)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _TableProducts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TableProducts */ \"../erp/apps/Products/Components/TableProducts.tsx\");\n\n\n\nclass FormCategory extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Products/Models/Category'\n  };\n  parentApp = 'Hubleto/App/Community/Products';\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Products\\\\Loader';\n  translationContextInner = 'Components\\\\FormCategory';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Category'))\n      }, {\n        uid: 'description',\n        title: this.translate('Description')\n      }, {\n        uid: 'products',\n        title: this.translate('Products')\n      }]\n    };\n  }\n  getRecordFormUrl() {\n    return 'products/categories/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Category')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.title ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, this.inputWrapper('name', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('id_parent'), this.inputWrapper('color'), this.inputWrapper('short_description'), this.inputWrapper('url_slug')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, this.inputWrapper('photo_1'), this.inputWrapper('photo_2'), this.inputWrapper('photo_3'), this.inputWrapper('photo_4'), this.inputWrapper('photo_5')));\n        // removed by dead control flow\n\n      case 'description':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('long_description'));\n        // removed by dead control flow\n\n      case 'products':\n        return this.state.id < 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge badge-info\"\n        }, this.translate(\"First create the category.\")) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableProducts__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          uid: this.props.uid + \"_table_category_products\",\n          tag: \"table_category_products\",\n          parentForm: this,\n          idCategory: R.id\n        });\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Products/Components/FormCategory.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Products/Components/FormGroup.tsx":
/*!*****************************************************!*\
  !*** ../erp/apps/Products/Components/FormGroup.tsx ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormGroup)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormGroup extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Products/Models/Group'\n  };\n  parentApp = 'Hubleto/App/Community/Products';\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Products\\\\Loader';\n  translationContextInner = 'Components\\\\FormGroup';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  getRecordFormUrl() {\n    return 'products/groups/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Group')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.title ?? '-'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Products/Components/FormGroup.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Products/Components/FormProduct.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Products/Components/FormProduct.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormProduct)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _TableProductSuppliers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TableProductSuppliers */ \"../erp/apps/Products/Components/TableProductSuppliers.tsx\");\n/* harmony import */ var react_barcode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-barcode */ \"../react-ui/node_modules/react-barcode/lib/react-barcode.js\");\n/* harmony import */ var react_barcode__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_barcode__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\nclass FormProduct extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Products/Models/Product'\n  };\n  parentApp = 'Hubleto/App/Community/Products';\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Products\\\\Loader';\n  translationContextInner = 'Components\\\\FormProduct';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Product'))\n      }, {\n        uid: 'packaging',\n        title: this.translate('Packaging')\n      }, {\n        uid: 'gallery',\n        title: this.translate('Gallery')\n      }, {\n        uid: 'suppliers',\n        title: this.translate('Suppliers')\n      }, ...this.getCustomTabs()]\n    };\n  }\n  getRecordFormUrl() {\n    return 'products/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Product')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.ean ?? '-', \" \", this.state.record.name ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grid grid-cols-2 gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"border-r border-gray-200\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex grow\"\n        }, this.inputWrapper('ean')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex grow\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react_barcode__WEBPACK_IMPORTED_MODULE_3___default()), {\n          value: R.ean,\n          height: 30\n        }))), this.inputWrapper('name', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('is_on_sale'), this.inputWrapper('sales_price'), this.inputWrapper('id_group'), this.inputWrapper('id_category'), this.inputWrapper('vat'), this.inputWrapper('margin'), this.inputWrapper('unit'), this.inputWrapper('description'), this.inputWrapper('is_single_order_possible'), this.inputWrapper('show_price'), this.inputWrapper('needs_reordering')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"\"\n        }, this.inputWrapper('type'), this.inputWrapper('invoicing_policy'), this.inputWrapper('sale_ended'), this.inputWrapper('price_after_reweight'), this.inputWrapper('storage_rules'))));\n        // removed by dead control flow\n\n      case 'packaging':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('package_unit'), this.inputWrapper('package_amount'), this.inputWrapper('package_length'), this.inputWrapper('package_width'), this.inputWrapper('package_height'), this.inputWrapper('package_volume'), this.inputWrapper('package_mass'), this.inputWrapper('package_discount'), this.inputWrapper('package_description'));\n        // removed by dead control flow\n\n      case 'gallery':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('image_1'), this.inputWrapper('image_2'), this.inputWrapper('image_3'), this.inputWrapper('image_4'), this.inputWrapper('image_5'));\n        // removed by dead control flow\n\n      case 'suppliers':\n        return this.state.id < 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge badge-info\"\n        }, this.translate(\"First create the product.\")) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableProductSuppliers__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          uid: this.props.uid + \"_table_suppliers\",\n          tag: \"ProductSuppliers\",\n          parentForm: this,\n          idProduct: R.id\n        });\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Products/Components/FormProduct.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Products/Components/FormProductSupplier.tsx":
/*!***************************************************************!*\
  !*** ../erp/apps/Products/Components/FormProductSupplier.tsx ***!
  \***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormProductSupplier)\n/* harmony export */ });\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\nclass FormProductSupplier extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_0__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Products/Models/ProductSupplier'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Products\\\\Loader';\n  translationContextInner = 'Components\\\\FormProductSupplier';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props)\n    };\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Products/Components/FormProductSupplier.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Products/Components/TableCategories.tsx":
/*!***********************************************************!*\
  !*** ../erp/apps/Products/Components/TableCategories.tsx ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableCategories)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormCategory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormCategory */ \"../erp/apps/Products/Components/FormCategory.tsx\");\n\n\n\nclass TableCategories extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Products/Models/Category'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Products\\\\Loader';\n  translationContextInner = 'Components\\\\TableCategories';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/products/categories/' + (id > 0 ? id : 'add'));\n  }\n  renderHeaderRight() {\n    let elements = super.renderHeaderRight();\n    return elements;\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormCategory__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Products/Components/TableCategories.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Products/Components/TableGroups.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Products/Components/TableGroups.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableGroups)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormGroup__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormGroup */ \"../erp/apps/Products/Components/FormGroup.tsx\");\n\n\n\nclass TableGroups extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Products/Models/Group'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Products\\\\Loader';\n  translationContextInner = 'Components\\\\TableGroups';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/products/groups/' + (id > 0 ? id : 'add'));\n  }\n  renderHeaderRight() {\n    let elements = super.renderHeaderRight();\n    return elements;\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormGroup__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Products/Components/TableGroups.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Products/Components/TableProductSuppliers.tsx":
/*!*****************************************************************!*\
  !*** ../erp/apps/Products/Components/TableProductSuppliers.tsx ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableProductSuppliers)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormProductSupplier__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormProductSupplier */ \"../erp/apps/Products/Components/FormProductSupplier.tsx\");\n\n\n\nclass TableProductSuppliers extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Products/Models/ProductSupplier'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Products\\\\Loader';\n  translationContextInner = 'Components\\\\TableProductSuppliers';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  renderHeaderRight() {\n    let elements = super.renderHeaderRight();\n    return elements;\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.description = {\n      defaultValues: {\n        id_product: this.props.idProduct\n      }\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormProductSupplier__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Products/Components/TableProductSuppliers.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Products/Components/TableProducts.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Products/Components/TableProducts.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableProducts)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormProduct__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormProduct */ \"../erp/apps/Products/Components/FormProduct.tsx\");\n\n\n\nclass TableProducts extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Products/Models/Product'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Products\\\\Loader';\n  translationContextInner = 'Components\\\\TableProducts';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idCategory: this.props.idCategory\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/products/' + (id > 0 ? id : 'add'));\n  }\n  renderHeaderRight() {\n    let elements = super.renderHeaderRight();\n    return elements;\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormProduct__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Products/Components/TableProducts.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Products/Loader.tsx":
/*!***************************************!*\
  !*** ../erp/apps/Products/Loader.tsx ***!
  \***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableCategories__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableCategories */ \"../erp/apps/Products/Components/TableCategories.tsx\");\n/* harmony import */ var _Components_TableGroups__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableGroups */ \"../erp/apps/Products/Components/TableGroups.tsx\");\n/* harmony import */ var _Components_TableProducts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/TableProducts */ \"../erp/apps/Products/Components/TableProducts.tsx\");\n\n\n\n\nclass ProductsApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('ProductsTableCategories', _Components_TableCategories__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('ProductsTableGroups', _Components_TableGroups__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('ProductsTableProducts', _Components_TableProducts__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Products', new ProductsApp());\n\n//# sourceURL=webpack:///../erp/apps/Products/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Projects/Components/FormExpense.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Projects/Components/FormExpense.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormExpense)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormExpense extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Projects/Models/Expense'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader';\n  translationContextInner = 'Components\\\\FormExpense';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Expense')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.reason ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper('id_project'), this.inputWrapper('reason'), this.inputWrapper('date'), this.inputWrapper('amount'), this.inputWrapper('id_approved_by'), this.inputWrapper('id_spent_by'));\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Projects/Components/FormExpense.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Projects/Components/FormMilestone.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Projects/Components/FormMilestone.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormMilestone)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _TableMilestoneReports__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TableMilestoneReports */ \"../erp/apps/Projects/Components/TableMilestoneReports.tsx\");\n\n\n\nclass FormMilestone extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Projects/Models/Milestone'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader';\n  translationContextInner = 'Components\\\\FormMilestone';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Milestone', 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader', 'Components\\\\FormMilestone')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.title ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, this.inputWrapper('id_project'), this.inputWrapper('id_responsible'), this.inputWrapper('title'), this.inputWrapper('date_due'), this.inputWrapper('expected_output'), this.inputWrapper('description'), this.inputWrapper('color'), this.inputWrapper('is_closed')), R.id > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow card\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Reports')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableMilestoneReports__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          tag: \"table_project_milestone_report\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_project_milestone_report\",\n          idMilestone: R.id\n        }))) : null);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Projects/Components/FormMilestone.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Projects/Components/FormMilestoneReport.tsx":
/*!***************************************************************!*\
  !*** ../erp/apps/Projects/Components/FormMilestoneReport.tsx ***!
  \***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormMilestoneReport)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormMilestoneReport extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Projects/Models/MilestoneReport'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader';\n  translationContextInner = 'Components\\\\FormMilestoneReport';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Milestone report')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.date_report ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_milestone'), this.inputWrapper('date_report'), this.inputWrapper('summary'), this.inputWrapper('details'), this.inputWrapper('progress_percent'), this.inputWrapper('id_reported_by'));\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Projects/Components/FormMilestoneReport.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Projects/Components/FormProject.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Projects/Components/FormProject.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormProject)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_apps_Tasks_Components_TableTasks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/apps/Tasks/Components/TableTasks */ \"../erp/apps/Tasks/Components/TableTasks.tsx\");\n/* harmony import */ var _hubleto_apps_Worksheets_Components_TableActivities__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/apps/Worksheets/Components/TableActivities */ \"../erp/apps/Worksheets/Components/TableActivities.tsx\");\n/* harmony import */ var _TableMilestones__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TableMilestones */ \"../erp/apps/Projects/Components/TableMilestones.tsx\");\n/* harmony import */ var _TableExpenses__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TableExpenses */ \"../erp/apps/Projects/Components/TableExpenses.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @hubleto/react-ui/core/FormInput */ \"../react-ui/core/FormInput.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Lookup */ \"../react-ui/core/Inputs/Lookup.tsx\");\n/* harmony import */ var primereact_progressbar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! primereact/progressbar */ \"../react-ui/node_modules/primereact/progressbar/progressbar.esm.js\");\n\n\n\n\n\n\n\n\n\n\nclass FormProject extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-diagram-project',\n    model: 'Hubleto/App/Community/Projects/Models/Team',\n    renderWorkflowUi: true\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader';\n  translationContextInner = 'Components\\\\FormProject';\n  constructor(props) {\n    super(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      selectParentOrder: false,\n      salaries: {},\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Project', 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader', 'Components\\\\FormProject'))\n      }, {\n        uid: 'documents',\n        title: this.translate('Documents', 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader', 'Components\\\\FormProject')\n      }, {\n        uid: 'milestones',\n        title: this.translate('Milestones', 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader', 'Components\\\\FormProject')\n      }, {\n        uid: 'tasks',\n        title: this.translate('Tasks', 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader', 'Components\\\\FormProject')\n      }, {\n        uid: 'worksheet',\n        title: this.translate('Worksheet', 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader', 'Components\\\\FormProject')\n      }, {\n        uid: 'expenses',\n        title: this.translate('Expenses', 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader', 'Components\\\\FormProject')\n      }, {\n        uid: 'statistics',\n        title: this.translate('Statistics', 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader', 'Components\\\\FormProject')\n      }, {\n        uid: 'timeline',\n        icon: 'fas fa-timeline',\n        position: 'right'\n      }, ...this.getCustomTabs()]\n    };\n  }\n  getRecordFormUrl() {\n    return 'projects/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  contentClassName() {\n    return this.state.record.is_closed ? 'bg-slate-100' : '';\n  }\n  onTabChange() {\n    super.onTabChange();\n    const tabUid = this.state.activeTabUid;\n    switch (tabUid) {\n      case 'statistics':\n        _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_7__[\"default\"].post('projects/api/get-statistics', {\n          idProject: this.state.record.id\n        }, {}, data => {\n          this.setState({\n            statistics: data\n          });\n        });\n        break;\n    }\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Project')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.identifier ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full flex gap-2 flex-col md:flex-row\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1 border-r border-gray-100\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n          title: this.translate(\"Order\")\n        }, this.state.selectParentOrder ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n          model: \"Hubleto/App/Community/Orders/Models/Order\",\n          cssClass: \"font-bold\",\n          onChange: (input, value) => {\n            _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_7__[\"default\"].post('projects/api/set-parent-order', {\n              idProject: this.state.record.id,\n              idOrder: value\n            }, {}, data => {\n              this.setState({\n                selectParentOrder: false\n              }, () => this.reload());\n            });\n          }\n        })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, R.ORDERS ? R.ORDERS.map((item, key) => {\n          if (!item.ORDER) return null;\n          return item.ORDER ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n            key: key,\n            className: \"badge\",\n            href: globalThis.hubleto.config.projectUrl + '/orders/' + item.ORDER.id,\n            target: \"_blank\"\n          }, \"#\", item.ORDER.identifier, \"\\xA0\", item.ORDER.title) : '#';\n        }) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-small btn-transparent\",\n          onClick: () => {\n            this.setState({\n              selectParentOrder: true\n            });\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Select parent order'))))), this.inputWrapper('identifier', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('title', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('description'), this.inputWrapper('id_main_developer'), this.inputWrapper('id_project_manager'), this.inputWrapper('id_account_manager'), this.inputWrapper('priority'), this.inputWrapper('date_start'), this.inputWrapper('date_deadline'), this.inputWrapper('budget')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, R.id > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card card-warning\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Milestones')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableMilestones__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n          tag: \"table_project_task\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_project_task\",\n          idProject: R.id,\n          view: \"briefOverview\"\n        }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card card-info mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, this.translate('Open tasks')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Tasks_Components_TableTasks__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          tag: \"table_project_task\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_project_task\",\n          idCustomer: R.id_customer,\n          junctionTitle: \"Project\",\n          junctionModel: \"Hubleto/App/Community/Projects/Models/ProjectTask\",\n          junctionSourceColumn: \"id_project\",\n          junctionSourceRecordId: R.id,\n          junctionDestinationColumn: \"id_task\",\n          view: \"briefOverview\"\n        })))) : null, this.inputWrapper('id_customer'), this.inputWrapper('id_contact'), this.inputWrapper('color'), this.inputWrapper('notes'), this.inputWrapper('average_hourly_costs'))));\n        // removed by dead control flow\n\n      case 'documents':\n        let iframeUrl = '';\n        try {\n          let url = new URL(R.online_documentation_folder ?? '');\n          if (url.hostname == 'drive.google.com' && url.pathname.indexOf('/drive/folders') == 0) {\n            // for Google Drive, replacing\n            // https://drive.google.com/drive/folders/FOLDER_ID\n            // with https://drive.google.com/embeddedfolderview?id=FOLDER_ID\n            // makes the folder embeddable\n\n            iframeUrl = 'https://drive.google.com/embeddedfolderview' + '?id=' + url.pathname.replace('/drive/folders/', '') + '&authuser=0';\n          } else {\n            iframeUrl = R.shared_folder ?? '';\n          }\n        } catch (e) {}\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex flex-col gap-2 h-full\"\n        }, this.inputWrapper('online_documentation_folder'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"iframe\", {\n          className: \"w-full h-full shadow-sm\",\n          src: iframeUrl\n        }));\n        // removed by dead control flow\n\n      case 'milestones':\n        return this.state.id < 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge badge-info\"\n        }, this.translate('First create the project, then you will be prompted to add tasks.')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableMilestones__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n          tag: \"table_project_milestone\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_project_milestone\",\n          idProject: R.id\n        });\n        // removed by dead control flow\n\n      case 'tasks':\n        return this.state.id < 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge badge-info\"\n        }, this.translate('First create the project, then you will be prompted to add tasks.')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Tasks_Components_TableTasks__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          tag: \"table_project_task\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_project_task\",\n          idCustomer: R.id_customer,\n          junctionTitle: \"Project\",\n          junctionModel: \"Hubleto/App/Community/Projects/Models/ProjectTask\",\n          junctionSourceColumn: \"id_project\",\n          junctionSourceRecordId: R.id,\n          junctionDestinationColumn: \"id_task\"\n        });\n        // removed by dead control flow\n\n      case 'worksheet':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Worksheets_Components_TableActivities__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          uid: this.props.uid + \"_table_activities\",\n          tag: \"ProjectActivities\",\n          parentForm: this,\n          idProject: R.id,\n          readonly: true\n        });\n        // removed by dead control flow\n\n      case 'expenses':\n        return this.state.id < 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge badge-info\"\n        }, this.translate('First create the project, then you will be prompted to add tasks.')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableExpenses__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n          tag: \"table_project_expense\",\n          parentForm: this,\n          uid: this.props.uid + \"_table_project_expense\",\n          idProject: R.id\n        });\n        // removed by dead control flow\n\n      case 'statistics':\n        if (this.state.statistics) {\n          let totalWorkedHours = 0;\n          let totalChargeableHours = 0;\n          let totalCostsByWorker = 0;\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"flex gap-2\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"card\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"card-header\"\n          }, this.translate('Worked hours & costs by month')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"card-body\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n            className: \"table-default dense\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, this.state.statistics.workedByMonth.map((item, key) => {\n            totalWorkedHours += parseFloat(item.worked_hours);\n            return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", {\n              key: key\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, item.year, \"-\", item.month), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, item.worked_hours, \" \", this.translate('hours')));\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tfoot\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"bg-primary text-white p-2\"\n          }, this.translate('Total')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"bg-primary text-white p-2\"\n          }, globalThis.hubleto.numberFormat(totalWorkedHours), \" \", this.translate('hours'))))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"card\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"card-header\"\n          }, this.translate('Chargeable hours by month')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"card-body\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n            className: \"table-default dense\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, this.state.statistics.chargeableByMonth.map((item, key) => {\n            totalChargeableHours += parseFloat(item.worked_hours);\n            return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", {\n              key: key\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, item.year, \"-\", item.month), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, item.worked_hours, \" \", this.translate('hours')));\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tfoot\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"bg-primary text-white p-2\"\n          }, this.translate('Total')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"bg-primary text-white p-2\"\n          }, globalThis.hubleto.numberFormat(totalChargeableHours), \" \", this.translate('hours')))))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"flex gap-2 mt-2\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"card\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"card-header\"\n          }, this.translate('Labor costs calculator')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"card-body\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n            className: \"table-default dense\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"thead\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('User')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Worked hours')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Salary')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Labor costs')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, this.state.statistics.workedByUser.map((item, key) => {\n            let workerCosts = item.worked_hours * this.state.salaries[item.id_worker];\n            totalCostsByWorker += workerCosts;\n            return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", {\n              key: key\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, item.worker_name), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, item.worked_hours, \" \", this.translate('hours')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n              className: \"flex gap-2 items-center\"\n            }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n              value: this.state.salaries[item.id_worker] ?? '',\n              className: \"w-12 bg-white\",\n              onChange: e => {\n                let salaries = this.state.salaries;\n                salaries[item.id_worker] = e.currentTarget.value;\n                this.setState({\n                  salaries: salaries\n                });\n              }\n            }), \" \\u20AC/h\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, globalThis.hubleto.currencyFormat(workerCosts)));\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tfoot\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"bg-primary text-white p-2\"\n          }, this.translate('Total')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"bg-primary text-white p-2\"\n          }, \"\\xA0\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"bg-primary text-white p-2\"\n          }, \"\\xA0\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n            className: \"bg-primary text-white p-2\"\n          }, globalThis.hubleto.currencyFormat(totalCostsByWorker)))))))));\n        } else {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(primereact_progressbar__WEBPACK_IMPORTED_MODULE_9__.ProgressBar, {\n            mode: \"indeterminate\",\n            style: {\n              height: '8px'\n            }\n          });\n        }\n        // removed by dead control flow\n\n      case 'timeline':\n        return this.renderTimeline([{\n          data: thisForm => thisForm.state.record.ACTIVITIES,\n          icon: 'fas fa-calendar',\n          color: '#32678fff',\n          timestampFormatter: entry => entry.date_start,\n          valueFormatter: entry => entry.subject,\n          userNameFormatter: entry => entry['_LOOKUP[id_owner]']\n        }, {\n          data: thisForm => thisForm.state.record.WORKFLOW_HISTORY,\n          icon: 'fas fa-timeline',\n          color: '#8f3248ff',\n          timestampFormatter: entry => entry.datetime_change,\n          valueFormatter: entry => entry.WORKFLOW_STEP?.name ?? '---',\n          userNameFormatter: entry => entry.USER?.nick\n        }]);\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Projects/Components/FormProject.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Projects/Components/ProjectsFormActivity.tsx":
/*!****************************************************************!*\
  !*** ../erp/apps/Projects/Components/ProjectsFormActivity.tsx ***!
  \****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ ProjectsFormActivity)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/FormInput */ \"../react-ui/core/FormInput.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Lookup */ \"../react-ui/core/Inputs/Lookup.tsx\");\n/* harmony import */ var _hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/apps/Calendar/Components/FormActivity */ \"../erp/apps/Calendar/Components/FormActivity.tsx\");\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\n\n\n\n\nclass ProjectsFormActivity extends _hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_apps_Calendar_Components_FormActivity__WEBPACK_IMPORTED_MODULE_3__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Projects/Models/ProjectActivity'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader';\n  translationContextInner = 'Components\\\\FormActivity';\n  getActivitySourceReadable() {\n    return this.translate('Project');\n  }\n  renderCustomInputs() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.inputWrapper('id_project', {\n      readonly: R.id > 0\n    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n      title: this.translate(\"Contact\")\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _extends({}, this.getInputProps('id_contact'), {\n      model: \"Hubleto/App/Community/Contacts/Models/Contact\",\n      endpoint: `contacts/api/get-customer-contacts`,\n      customEndpointParams: {\n        id_customer: this.props.idCustomer\n      },\n      value: R.id_contact,\n      onChange: (input, value) => {\n        this.updateRecord({\n          id_contact: value\n        });\n        if (R.id_contact == 0) {\n          R.id_contact = null;\n          this.setState({\n            record: R\n          });\n        }\n      }\n    }))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Projects/Components/ProjectsFormActivity.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Projects/Components/TableExpenses.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Projects/Components/TableExpenses.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableExpenses)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormExpense__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormExpense */ \"../erp/apps/Projects/Components/FormExpense.tsx\");\n\n\n\nclass TableExpenses extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Projects/Models/Expense'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader';\n  translationContextInner = 'Components\\\\TableExpenses';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idProject: this.props.idProject\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idProject = this.props.idProject;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_project: this.props.idProject\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormExpense__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Projects/Components/TableExpenses.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Projects/Components/TableMilestoneReports.tsx":
/*!*****************************************************************!*\
  !*** ../erp/apps/Projects/Components/TableMilestoneReports.tsx ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableMilestoneReports)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormMilestoneReport__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormMilestoneReport */ \"../erp/apps/Projects/Components/FormMilestoneReport.tsx\");\n\n\n\nclass TableMilestoneReports extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Projects/Models/MilestoneReport'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader';\n  translationContextInner = 'Components\\\\TableMilestoneReports';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idMilestone: this.props.idMilestone\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idMilestone = this.props.idMilestone;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_milestone: this.props.idMilestone\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormMilestoneReport__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Projects/Components/TableMilestoneReports.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Projects/Components/TableMilestones.tsx":
/*!***********************************************************!*\
  !*** ../erp/apps/Projects/Components/TableMilestones.tsx ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableMilestones)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormMilestone__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormMilestone */ \"../erp/apps/Projects/Components/FormMilestone.tsx\");\n\n\n\nclass TableMilestones extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Projects/Models/Milestone'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader';\n  translationContextInner = 'Components\\\\TableMilestones';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idProject: this.props.idProject\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idProject = this.props.idProject;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_project: this.props.idProject\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormMilestone__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Projects/Components/TableMilestones.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Projects/Components/TableProjects.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Projects/Components/TableProjects.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableProjects)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormProject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormProject */ \"../erp/apps/Projects/Components/FormProject.tsx\");\n\n\n\nclass TableProjects extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Projects/Models/Project'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader';\n  translationContextInner = 'Components\\\\TableProjects';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/projects/' + (id > 0 ? id : 'add'));\n  }\n  rowClassName(rowData) {\n    return rowData.is_closed ? 'bg-slate-300' : super.rowClassName(rowData);\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idDeal = this.props.idDeal;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_deal: this.props.idDeal\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormProject__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Projects/Components/TableProjects.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Projects/Loader.tsx":
/*!***************************************!*\
  !*** ../erp/apps/Projects/Loader.tsx ***!
  \***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableProjects__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableProjects */ \"../erp/apps/Projects/Components/TableProjects.tsx\");\n/* harmony import */ var _Components_TableMilestones__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/TableMilestones */ \"../erp/apps/Projects/Components/TableMilestones.tsx\");\n/* harmony import */ var _Components_ProjectsFormActivity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Components/ProjectsFormActivity */ \"../erp/apps/Projects/Components/ProjectsFormActivity.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n/* harmony import */ var _hubleto_apps_Orders_Components_FormOrder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @hubleto/apps/Orders/Components/FormOrder */ \"../erp/apps/Orders/Components/FormOrder.tsx\");\n/* harmony import */ var _hubleto_apps_Tasks_Components_FormTask__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @hubleto/apps/Tasks/Components/FormTask */ \"../erp/apps/Tasks/Components/FormTask.tsx\");\n\n\n\n\n\n\n\n\nclass ProjectsApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('ProjectsTableProjects', _Components_TableProjects__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('ProjectsTableMilestones', _Components_TableMilestones__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('ProjectsFormActivity', _Components_ProjectsFormActivity__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n    // miscellaneous\n    globalThis.hubleto.getApp('Hubleto/App/Community/Orders').addCustomFormTab({\n      uid: 'projects',\n      title: globalThis.hubleto.translate('Projects', 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader', 'manifest'),\n      onRender: form => {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Components_TableProjects__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          tag: \"table_project_order\",\n          parentForm: form\n          //@ts-ignore\n          ,\n          description: {\n            ui: {\n              showHeader: false\n            }\n          },\n          descriptionSource: \"both\",\n          uid: form.props.uid + \"_table_project_order\",\n          junctionTitle: \"Order\",\n          junctionModel: \"Hubleto/App/Community/Projects/Models/ProjectOrder\",\n          junctionSourceColumn: \"id_order\",\n          junctionSourceRecordId: form.state.record.id,\n          junctionDestinationColumn: \"id_project\"\n        });\n      }\n    });\n    _hubleto_apps_Orders_Components_FormOrder__WEBPACK_IMPORTED_MODULE_6__[\"default\"].addFormHeaderButton(globalThis.hubleto.translate('Create project', 'Hubleto\\\\App\\\\Community\\\\Projects\\\\Loader', 'manifest'), '', form => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_5__[\"default\"].get('projects/api/create-from-order', {\n        idOrder: form.state.record.id\n      }, data => {\n        if (data.status == \"success\") {\n          globalThis.window.open(globalThis.hubleto.config.projectUrl + '/projects/' + data.idProject);\n        }\n      });\n    });\n    _hubleto_apps_Tasks_Components_FormTask__WEBPACK_IMPORTED_MODULE_7__[\"default\"].addFormFooterButton('Assign task to project', 'fas fa-check-double', form => {\n      globalThis.window.open(globalThis.hubleto.config.projectUrl + '/projects/task-assignment/add?idTask=' + form.state.record.id);\n    });\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Projects', new ProjectsApp());\n\n//# sourceURL=webpack:///../erp/apps/Projects/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Settings/Components/FormTeam.tsx":
/*!****************************************************!*\
  !*** ../erp/apps/Settings/Components/FormTeam.tsx ***!
  \****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormTeam)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n\n\n\nclass FormTeam extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Settings/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Settings\\\\Loader';\n  translationContextInner = 'Components\\\\FormTeam';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Team')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.name ?? '-'));\n  }\n  renderContent() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-full flex gap-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"p-4 flex-1 text-center\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-users text-primary\",\n      style: {\n        fontSize: '8em'\n      }\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-6\"\n    }, this.inputWrapper('name'), this.inputWrapper('color'), this.inputWrapper('description'), this.inputWrapper('id_manager'), this.divider(this.translate('Team members')), this.state.id < 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"badge badge-info\"\n    }, this.translate('First create team, then you will be prompted to add members.')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      uid: \"teams_members\",\n      model: \"Hubleto/App/Community/Settings/Models/TeamMember\",\n      customEndpointParams: {\n        idTeam: this.state.id\n      }\n    }))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Settings/Components/FormTeam.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Settings/Components/FormUser.tsx":
/*!****************************************************!*\
  !*** ../erp/apps/Settings/Components/FormUser.tsx ***!
  \****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormUser)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n\n\n\n\nclass FormUser extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Auth/Models/User'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Settings\\\\Loader';\n  translationContextInner = 'Components\\\\FormUser';\n  constructor(props) {\n    super(props);\n  }\n  onAfterLoadFormDescription(description) {\n    _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_3__[\"default\"].get('api/get-apps-info', {}, appsInfo => {\n      this.setState({\n        appsInfo: appsInfo\n      });\n    });\n    return description;\n  }\n  renderTitle() {\n    let title = ((this.state.record.first_name ?? '') + ' ' + (this.state.record.middle_name ?? '') + ' ' + (this.state.record.last_name ?? '')).trim();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('User')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, title == '' ? '-' : title));\n  }\n  renderContent() {\n    const R = this.state.record;\n    let permissions = {};\n    try {\n      permissions = JSON.parse(R.permissions);\n    } catch (ex) {\n      permissions = {};\n    }\n    if (!permissions) permissions = {};\n    let uApps = [];\n    try {\n      uApps = JSON.parse(R.apps);\n    } catch (ex) {\n      uApps = [];\n    }\n    if (!uApps) uApps = [];\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-full flex flex-col md:flex-row gap-2\"\n    }, this.state.id == -1 && !globalThis.hubleto.isPremium ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"badge badge-warning text-lg w-full block p-8\"\n    }, this.translate('You may add new users only in Premium account.'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n      href: globalThis.hubleto.config.projectUrl + '/cloud',\n      className: \"btn btn-primary\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-medal\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate('Activate Premium account')))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"p-4 flex-1 text-center\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-user text-primary\",\n      style: {\n        fontSize: '8em'\n      }\n    }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"mt-2\"\n    }, this.input('photo'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-6\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 flex-col md:flex-row\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1\"\n    }, this.divider(this.translate('About the user')), this.inputWrapper('type'), this.inputWrapper('first_name'), this.inputWrapper('last_name'), this.inputWrapper('nick'), this.inputWrapper('position'), this.inputWrapper('email'), this.inputWrapper('phone_1'), this.inputWrapper('phone_2'), this.inputWrapper('language'), this.inputWrapper('timezone'), this.inputWrapper('id_default_company'), this.divider(this.translate('Access to Hubleto')), this.inputWrapper('is_active', {\n      readonly: this.state.id == globalThis.hubleto.idUser\n    }), this.inputWrapper('password'), this.divider(this.translate('Roles')), this.state.id < 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"badge badge-info\"\n    }, this.translate('First create user, then you will be prompted to assign roles.')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      uid: \"user_roles\",\n      model: \"Hubleto/App/Community/Auth/Models/UserHasRole\",\n      customEndpointParams: {\n        idUser: this.state.id\n      }\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1 md:flex-row\"\n    }, this.divider(this.translate('Permissions for records with designated owner or manager')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"list\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"list-item\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 justify-between p-1\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.translate('Reading')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"select\", {\n      onChange: event => {\n        permissions.recordsRead = event.currentTarget.value;\n        this.updateRecord({\n          permissions: JSON.stringify(permissions)\n        });\n      },\n      value: permissions.recordsRead ?? 'owned'\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"owned\"\n    }, this.translate('Can read only owned records')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"owned-and-managed\"\n    }, this.translate('Can read only owned and managed records')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"all\"\n    }, this.translate('Can read all records')))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"list-item\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 justify-between p-1\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.translate('Modifying')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"select\", {\n      onChange: event => {\n        permissions.recordsModify = event.currentTarget.value;\n        this.updateRecord({\n          permissions: JSON.stringify(permissions)\n        });\n      },\n      value: permissions.recordsModify ?? 'owned'\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"owned\"\n    }, this.translate('Can modify only owned records')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"owned-and-managed\"\n    }, this.translate('Can modify only owned and managed records')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"all\"\n    }, this.translate('Can modify all records'))))))), this.divider(this.translate('Access to apps')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"list\"\n    }, this.state.appsInfo ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, Object.keys(this.state.appsInfo).map(appNamespace => {\n      const app = this.state.appsInfo[appNamespace];\n      const permitted = app.permittedForAllUsers || uApps.includes(appNamespace);\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n        key: appNamespace,\n        className: \"btn btn-small btn-list-item \" + (app.permittedForAllUsers ? \"btn-disabled\" : permitted ? \"btn-primary-outline\" : \"btn-transparent\"),\n        onClick: () => {\n          if (!app.permittedForAllUsers) {\n            if (uApps.includes(appNamespace)) {\n              let uAppsNew = [];\n              for (let i in uApps) {\n                if (uApps[i] != appNamespace) uAppsNew.push(uApps[i]);\n              }\n              uApps = uAppsNew;\n            } else {\n              uApps.push(appNamespace);\n            }\n            this.updateRecord({\n              apps: JSON.stringify(uApps)\n            });\n          }\n        }\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"icon\"\n      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n        className: \"fas fa-\" + (permitted ? \"square-check\" : \"square\")\n      })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n        className: \"text\"\n      }, app.manifest.name));\n    })) : null)))))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Settings/Components/FormUser.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Settings/Components/FormUserRole.tsx":
/*!********************************************************!*\
  !*** ../erp/apps/Settings/Components/FormUserRole.tsx ***!
  \********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormUserRole)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n\n\n\nclass FormUserRole extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Auth/Models/UserRole'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Settings\\\\Loader';\n  translationContextInner = 'Components\\\\FormUserRole';\n  constructor(props) {\n    super(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('User role')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.role ?? '-'));\n  }\n  renderContent() {\n    const R = this.state.record;\n    let permissions = {};\n    try {\n      permissions = JSON.parse(R.permissions);\n    } catch (ex) {\n      permissions = {};\n    }\n    if (!permissions) permissions = {};\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, this.inputWrapper(\"role\"), this.inputWrapper(\"description\"), this.inputWrapper(\"grant_all\"))), this.divider(this.translate('Permissions for records with designated owner, manager or team')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"list\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"list-item\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 justify-between p-1\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.translate('Reading')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"select\", {\n      onChange: event => {\n        permissions.recordsRead = event.currentTarget.value;\n        this.updateRecord({\n          permissions: JSON.stringify(permissions)\n        });\n      },\n      value: permissions.recordsRead ?? 'owned'\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"owned\"\n    }, this.translate('Can read only owned records')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"owned-and-managed\"\n    }, this.translate('Can read only owned and managed records')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"all\"\n    }, this.translate('Can read all records')))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"list-item\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2 justify-between p-1\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.translate('Modifying')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"select\", {\n      onChange: event => {\n        permissions.recordsModify = event.currentTarget.value;\n        this.updateRecord({\n          permissions: JSON.stringify(permissions)\n        });\n      },\n      value: permissions.recordsModify ?? 'owned'\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"owned\"\n    }, this.translate('Can modify only owned records')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"owned-and-managed\"\n    }, this.translate('Can modify only owned and managed records')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n      value: \"all\"\n    }, this.translate('Can modify all records'))))))), R.grant_all || R.id <= 0 ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      uid: \"user_role_permissions\",\n      model: \"Hubleto/App/Community/Settings/Models/RolePermission\",\n      customEndpointParams: {\n        idRole: this.state.id\n      }\n    }));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Settings/Components/FormUserRole.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Settings/Components/TableTeams.tsx":
/*!******************************************************!*\
  !*** ../erp/apps/Settings/Components/TableTeams.tsx ***!
  \******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableTeams)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormTeam__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormTeam */ \"../erp/apps/Settings/Components/FormTeam.tsx\");\n\n\n\nclass TableTeams extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Settings/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Settings\\\\Loader';\n  translationContextInner = 'Components\\\\TableTeams';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'centered';\n    return params;\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"members\") {\n      return data.MEMBERS.map((member, key) => {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge\",\n          key: data.id + '-members-' + key\n        }, member.MEMBER.email);\n      });\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormTeam__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Settings/Components/TableTeams.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Settings/Components/TableUserRoles.tsx":
/*!**********************************************************!*\
  !*** ../erp/apps/Settings/Components/TableUserRoles.tsx ***!
  \**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableUserRoles)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormUserRole__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormUserRole */ \"../erp/apps/Settings/Components/FormUserRole.tsx\");\n\n\n\nclass TableUserRoles extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Auth/Models/UserRole'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Settings\\\\Loader';\n  translationContextInner = 'Components\\\\TableUserRoles';\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right';\n    return params;\n  }\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormUserRole__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Settings/Components/TableUserRoles.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Settings/Components/TableUsers.tsx":
/*!******************************************************!*\
  !*** ../erp/apps/Settings/Components/TableUsers.tsx ***!
  \******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableUsers)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormUser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormUser */ \"../erp/apps/Settings/Components/FormUser.tsx\");\n\n\n\nclass TableUsers extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Auth/Models/User'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Settings\\\\Loader';\n  translationContextInner = 'Components\\\\TableUsers';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'centered';\n    return params;\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"roles\") {\n      return data.ROLES.map((role, key) => {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge\",\n          key: data.id + '-roles-' + key\n        }, role.role);\n      });\n    } else if (columnName == \"teams\") {\n      return data.TEAMS.map((team, key) => {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge\",\n          key: data.id + '-roles-' + key,\n          style: {\n            borderLeft: '1em solid ' + team.color\n          }\n        }, team.name);\n      });\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormUser__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Settings/Components/TableUsers.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Settings/Loader.tsx":
/*!***************************************!*\
  !*** ../erp/apps/Settings/Loader.tsx ***!
  \***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Components_FormUser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Components/FormUser */ \"../erp/apps/Settings/Components/FormUser.tsx\");\n/* harmony import */ var _Components_TableUsers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableUsers */ \"../erp/apps/Settings/Components/TableUsers.tsx\");\n/* harmony import */ var _Components_TableUserRoles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableUserRoles */ \"../erp/apps/Settings/Components/TableUserRoles.tsx\");\n/* harmony import */ var _Components_FormTeam__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/FormTeam */ \"../erp/apps/Settings/Components/FormTeam.tsx\");\n/* harmony import */ var _Components_TableTeams__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Components/TableTeams */ \"../erp/apps/Settings/Components/TableTeams.tsx\");\n\n\n\n\n\nglobalThis.hubleto.registerReactComponent('SettingsFormUser', _Components_FormUser__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nglobalThis.hubleto.registerReactComponent('SettingsTableUsers', _Components_TableUsers__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\nglobalThis.hubleto.registerReactComponent('SettingsTableUserRoles', _Components_TableUserRoles__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\nglobalThis.hubleto.registerReactComponent('SettingsFormTeam', _Components_FormTeam__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nglobalThis.hubleto.registerReactComponent('SettingsTableTeams', _Components_TableTeams__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n//# sourceURL=webpack:///../erp/apps/Settings/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Shops/Components/FormShop.tsx":
/*!*************************************************!*\
  !*** ../erp/apps/Shops/Components/FormShop.tsx ***!
  \*************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormShop)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormShop extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-shop',\n    model: 'Hubleto/App/Community/Shops/Models/Shop'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Shops\\\\Loader';\n  translationContextInner = 'Components\\\\FormShop';\n  constructor(props) {\n    super(props);\n    this.refInputNewTodo = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Shop', 'Hubleto\\\\App\\\\Community\\\\Shops\\\\Loader', 'Components\\\\FormShop'))\n      }, ...this.getCustomTabs()]\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  getRecordFormUrl() {\n    return 'shops/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Shop', 'Hubleto\\\\App\\\\Community\\\\Shops\\\\Loader', 'Components\\\\FormShop')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.address ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full flex gap-2 flex-col md:flex-row\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1 border-r border-gray-100\"\n        }, this.inputWrapper('name', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('address', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('color'), this.inputWrapper('short_description'), this.inputWrapper('long_description')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, this.inputWrapper('photo_1'), this.inputWrapper('photo_2'), this.inputWrapper('photo_3'), this.inputWrapper('photo_4'), this.inputWrapper('photo_5'))));\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Shops/Components/FormShop.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Shops/Components/TableShops.tsx":
/*!***************************************************!*\
  !*** ../erp/apps/Shops/Components/TableShops.tsx ***!
  \***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableShops)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormShop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormShop */ \"../erp/apps/Shops/Components/FormShop.tsx\");\n\n\n\nclass TableShops extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Shops/Models/Shop'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Shops\\\\Loader';\n  translationContextInner = 'Components\\\\TableShops';\n  refActivityModal = null;\n  constructor(props) {\n    super(props);\n    this.refActivityModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/shops/' + (id > 0 ? id : 'add'));\n  }\n  rowClassName(rowData) {\n    return rowData.is_closed ? 'bg-slate-300' : super.rowClassName(rowData);\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormShop__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Shops/Components/TableShops.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Shops/Loader.tsx":
/*!************************************!*\
  !*** ../erp/apps/Shops/Loader.tsx ***!
  \************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Components_TableShops__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Components/TableShops */ \"../erp/apps/Shops/Components/TableShops.tsx\");\n\nglobalThis.hubleto.registerReactComponent('ShopsTableShops', _Components_TableShops__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///../erp/apps/Shops/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Tasks/Components/FormTask.tsx":
/*!*************************************************!*\
  !*** ../erp/apps/Tasks/Components/FormTask.tsx ***!
  \*************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormTask)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_apps_Worksheets_Components_TableActivities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/apps/Worksheets/Components/TableActivities */ \"../erp/apps/Worksheets/Components/TableActivities.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/FormInput */ \"../react-ui/core/FormInput.tsx\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! moment */ \"../react-ui/node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _hubleto_react_ui_core_Inputs_UserSelect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/UserSelect */ \"../react-ui/core/Inputs/UserSelect.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_DateTime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/DateTime */ \"../react-ui/core/Inputs/DateTime.tsx\");\n\n\n\n\n\n\n\nclass FormTask extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-list-check',\n    model: 'Hubleto/App/Community/Tasks/Models/Task',\n    renderWorkflowUi: true\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Tasks\\\\Loader';\n  translationContextInner = 'Components\\\\FormTask';\n  refInputNewTodoTodo = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  refInputNewTodoResponsible = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  refInputNewTodoDeadline = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  constructor(props) {\n    super(props);\n  }\n  getStateFromProps(props) {\n    return {\n      newTodo: {\n        todo: '',\n        id_responsible: globalThis.hubleto.idUser,\n        date_deadline: moment__WEBPACK_IMPORTED_MODULE_4___default()().add(1, 'week').format('YYYY-MM-DD')\n      },\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Task', 'Hubleto\\\\App\\\\Community\\\\Tasks\\\\Loader', 'Components\\\\FormTask'))\n      }, {\n        uid: 'worksheet',\n        title: this.translate('Worksheet', 'Hubleto\\\\App\\\\Community\\\\Tasks\\\\Loader', 'Components\\\\FormTask')\n      }, {\n        uid: 'timeline',\n        icon: 'fas fa-timeline',\n        position: 'right'\n      }, ...this.getCustomTabs()]\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      saveRelations: ['TODO'],\n      idCustomer: this.props.idCustomer\n    };\n  }\n  getRecordFormUrl() {\n    return 'tasks/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  contentClassName() {\n    return this.state.record.is_closed ? 'bg-slate-100' : '';\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Task')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.identifier ?? '-'));\n  }\n  addTodo(todo, R) {\n    // if (todo.todo.trim() != '') {\n    let newR = R;\n    let newTodo = {\n      id_task: R.id,\n      todo: '',\n      id_responsible: globalThis.hubleto.idUser,\n      date_deadline: moment__WEBPACK_IMPORTED_MODULE_4___default()().add(1, 'week').format('YYYY-MM-DD')\n    };\n    newR.TODO.push(newTodo);\n    // this.refInputNewTodoTodo.current.value = '';\n    // this.refInputNewTodoResponsible.current.value = globalThis.hubleto.idUser;\n    this.updateRecord(newR);\n    // this.setState({newTodo: {todo: '', id_responsible: globalThis.hubleto.idUser, date_deadline: moment().add(1, 'week').format('YYYY-MM-DD')}})\n    // }\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full flex gap-2 flex-col md:flex-row\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1 border-r border-gray-100\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, R.ORDERS && R.ORDERS.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          title: this.translate(\"Orders\")\n        }, R.ORDERS.map((item, key) => {\n          return item ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n            key: key,\n            className: \"badge badge-violet text-lg\",\n            href: globalThis.hubleto.config.projectUrl + '/orders/' + item.id,\n            target: \"_blank\"\n          }, item.identifier, \" \", item.title) : '#';\n        })) : null, R.DEALS && R.DEALS.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          title: this.translate(\"Deals\")\n        }, R.DEALS.map((item, key) => {\n          return item ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n            key: key,\n            className: \"badge badge-violet text-lg\",\n            href: globalThis.hubleto.config.projectUrl + '/deals/' + item.id,\n            target: \"_blank\"\n          }, item.identifier, \" \", item.title) : '#';\n        })) : null, R.PROJECTS && R.PROJECTS.length > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_FormInput__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          title: this.translate(\"Projects\")\n        }, R.PROJECTS.map((item, key) => {\n          return item ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n            key: key,\n            className: \"badge badge-violet text-lg\",\n            href: globalThis.hubleto.config.projectUrl + '/projects/' + item.id,\n            target: \"_blank\"\n          }, item.identifier, \" \", item.title) : '#';\n        })) : null), this.inputWrapper('identifier', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('title', {\n          cssClass: 'text-2xl'\n        }), this.inputWrapper('description'), this.inputWrapper('shared_folder'), this.inputWrapper('hours_estimation')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, this.inputWrapper('id_customer'), this.inputWrapper('id_contact'), this.inputWrapper('id_developer'), this.inputWrapper('id_tester'), this.inputWrapper('priority'), this.inputWrapper('duration_days'), this.inputWrapper('date_start'), this.inputWrapper('date_deadline'), this.inputWrapper('is_chargeable'), this.inputWrapper('is_milestone'), this.inputWrapper('notes'), this.inputWrapper('date_created')), this.state.id <= 0 ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1 flex gap-2 flex-col\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"text-2xl\"\n        }, globalThis.hubleto.numberFormat(R.virt_worked, 2), \" h\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card card-info\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-header\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex w-full justify-between\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.translate('Todo')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"card-body btn-list\"\n        }, R.TODO && R.TODO.map((item, key) => {\n          const refInputTodo = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: 'btn-list-item items-center flex gap-2 items-start' + (item._toBeDeleted_ ? ' bg-red-100' : ''),\n            key: key\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n            type: \"checkbox\",\n            checked: item.is_closed,\n            onChange: e => {\n              let newR = R;\n              newR.TODO[key].is_closed = e.currentTarget.checked;\n              this.updateRecord(newR);\n            }\n          })), item.is_closed ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"w-full line-through\"\n          }, item.todo) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"w-full flex flex-col gap-2\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"textarea\", {\n            className: 'w-full field-sizing-content dark:bg-slate-600 ' + (this.state.record.is_closed ? 'bg-slate-100 text-slate-400' : 'bg-yellow-50'),\n            readOnly: this.state.record.is_closed,\n            ref: refInputTodo,\n            value: item.todo,\n            placeholder: this.translate('What to do?'),\n            onChange: e => {\n              let newR = R;\n              newR.TODO[key].todo = refInputTodo.current.value;\n              this.updateRecord(newR);\n            }\n          }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"flex gap-2\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"w-full\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_UserSelect__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n            uid: \"new_todo_id_responsible\",\n            ref: this.refInputNewTodoResponsible,\n            value: item.id_responsible,\n            onChange: input => {\n              let newR = R;\n              newR.TODO[key].id_responsible = input.state.value;\n              this.updateRecord(newR);\n            }\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n            className: \"w-full\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_DateTime__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n            uid: \"new_todo_deadline\",\n            type: \"date\",\n            ref: this.refInputNewTodoDeadline,\n            value: item.date_deadline,\n            onChange: input => {\n              let newR = R;\n              newR.TODO[key].date_deadline = input.state.value;\n              this.updateRecord(newR);\n            }\n          })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.state.record.is_closed ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n            className: 'btn ' + (item._toBeDeleted_ ? 'btn-primary' : 'btn-danger'),\n            onClick: e => {\n              let newR = R;\n              if (newR.TODO[key].id == undefined) {\n                newR.TODO = newR.TODO.filter((todoItem, todoKey) => todoKey !== key);\n              } else {\n                newR.TODO[key]._toBeDeleted_ = !newR.TODO[key]._toBeDeleted_;\n              }\n              this.updateRecord(newR);\n            }\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n            className: \"icon\"\n          }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n            className: 'fas ' + (item._toBeDeleted_ ? 'fa-times' : 'fa-trash-can')\n          })))));\n        }), !this.state.record.is_closed ?\n        /*#__PURE__*/\n        // <div className='btn-list-item flex items-start gap-2 mt-4 bg-blue-50'>\n        //   <div className='flex flex-col gap-2'>\n        //     <textarea\n        //       className='w-full field-sizing-content bg-yellow-50 dark:bg-slate-600'\n        //       ref={this.refInputNewTodoTodo}\n        //       placeholder={this.translate('Add new todo...')}\n        //       onChange={(e) => {\n        //         this.setState({newTodo: {...this.state.newTodo, todo: this.refInputNewTodoTodo.current.value}});\n        //       }}\n        //       onKeyDown={(e) => {\n        //         if (e.key !== 'Enter' || e.shiftKey || e.ctrlKey) return;\n        //         e.preventDefault();\n        //         this.addTodo(this.state.newTodo, R);\n        //       }}\n        //     ></textarea>\n        //     <div className='flex gap-2'>\n        //       <div>\n        //         <UserSelect\n        //           uid='new_todo_id_responsible'\n        //           ref={this.refInputNewTodoResponsible}\n        //           value={this.state.newTodo.id_responsible ?? 0}\n        //           onChange={(input: any) => {\n        //             this.setState({newTodo: {...this.state.newTodo, id_responsible: input.state.value}});\n        //           }}\n        //         />\n        //       </div>\n        //       <div>\n        //         <DateTime\n        //           uid='new_todo_deadline'\n        //           type='date'\n        //           ref={this.refInputNewTodoDeadline}\n        //           value={this.state.newTodo.date_deadline ?? moment().add(1, 'week').format('YYYY-MM-DD')}\n        //           onChange={(input: any) => {\n        //             this.setState({newTodo: {...this.state.newTodo, idd_responsible: input.state.value}});\n        //           }}\n        //         />\n        //       </div>\n        //     </div>\n        //   </div>\n        //   <div>\n        //     <button\n        //       className='btn btn-add'\n        //       onClick={(e) => {\n        //         e.preventDefault();\n        //         this.addTodo(this.state.newTodo, R);\n        //       }}\n        //     >\n        //       <span className='icon'><i className='fas fa-plus'></i></span>\n        //       <span className='text'>{this.translate('Add todo')}</span>\n        //     </button>\n        //   </div>\n        // </div>\n        react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-add-outline\",\n          onClick: e => {\n            e.preventDefault();\n            this.addTodo(this.state.newTodo, R);\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-plus\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Add todo'))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null))))));\n        // removed by dead control flow\n\n      case 'worksheet':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Worksheets_Components_TableActivities__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          uid: this.props.uid + \"_table_activities\",\n          tag: \"TaskActivities\",\n          parentForm: this,\n          idTask: R.id\n        });\n        // removed by dead control flow\n\n      case 'timeline':\n        return this.renderTimeline([{\n          data: thisForm => thisForm.state.record.ACTIVITIES,\n          icon: 'fas fa-calendar',\n          color: '#32678fff',\n          timestampFormatter: entry => entry.date_start,\n          valueFormatter: entry => entry.subject,\n          userNameFormatter: entry => entry['_LOOKUP[id_owner]']\n        }, {\n          data: thisForm => thisForm.state.record.WORKFLOW_HISTORY,\n          icon: 'fas fa-timeline',\n          color: '#8f3248ff',\n          timestampFormatter: entry => entry.datetime_change,\n          valueFormatter: entry => entry.WORKFLOW_STEP?.name ?? '---',\n          userNameFormatter: entry => entry.USER?.nick\n        }]);\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Tasks/Components/FormTask.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Tasks/Components/FormTodo.tsx":
/*!*************************************************!*\
  !*** ../erp/apps/Tasks/Components/FormTodo.tsx ***!
  \*************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormTodo)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormTodo extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    icon: 'fas fa-list-check',\n    model: 'Hubleto/App/Community/Tasks/Models/Todo'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Tasks\\\\Loader';\n  translationContextInner = 'Components\\\\FormTodo';\n  constructor(props) {\n    super(props);\n    this.refInputNewTodo = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n  }\n  getStateFromProps(props) {\n    return {\n      newTodo: '',\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Task'))\n      }, ...this.getCustomTabs()]\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      saveRelations: ['TODO']\n    };\n  }\n  getRecordFormUrl() {\n    return 'tasks/todo/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Todo')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.identifier ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper('id_task'), this.inputWrapper('id_responsible'), this.inputWrapper('todo'), this.inputWrapper('is_closed'), this.inputWrapper('date_deadline'));\n        // removed by dead control flow\n\n      default:\n        return super.renderTab(tabUid);\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Tasks/Components/FormTodo.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Tasks/Components/TableTasks.tsx":
/*!***************************************************!*\
  !*** ../erp/apps/Tasks/Components/TableTasks.tsx ***!
  \***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableTasks)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/ModalForm */ \"../react-ui/core/ModalForm.tsx\");\n/* harmony import */ var _FormTask__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FormTask */ \"../erp/apps/Tasks/Components/FormTask.tsx\");\n/* harmony import */ var _hubleto_apps_Worksheets_Components_FormActivity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @hubleto/apps/Worksheets/Components/FormActivity */ \"../erp/apps/Worksheets/Components/FormActivity.tsx\");\n\n\n\n\n\nclass TableTasks extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Tasks/Models/Task'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Tasks\\\\Loader';\n  translationContextInner = 'Components\\\\TableTasks';\n  constructor(props) {\n    super(props);\n    this.refActivityModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refActivityForm = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      addActivityForIdTask: 0\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idCustomer: this.props.idCustomer\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/tasks/' + (id > 0 ? id : 'add'));\n  }\n  rowClassName(rowData) {\n    return rowData.is_closed ? 'bg-slate-300' : super.rowClassName(rowData);\n  }\n  renderActionsColumn(data, options) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n      className: \"btn btn-small btn-add-outline text-nowrap\",\n      onClick: e => {\n        e.preventDefault();\n        this.setState({\n          addActivityForIdTask: data.id\n        });\n      }\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"icon\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n      className: \"fas fa-plus\"\n    })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n      className: \"text\"\n    }, this.translate('Add activity'))));\n  }\n  renderCell(columnName, column, data, options) {\n    if (columnName == \"title\") {\n      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, super.renderCell(columnName, column, data, options), data['TODO'] ? data['TODO'].map((item, key) => {\n        if (item.is_closed) return null;else return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"text-yellow-600 font-normal text-xs\",\n          key: key\n        }, item.todo);\n      }) : null);\n    } else {\n      return super.renderCell(columnName, column, data, options);\n    }\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.idCustomer = this.props.idCustomer;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_customer: this.props.idCustomer\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormTask__WEBPACK_IMPORTED_MODULE_3__[\"default\"], formProps);\n  }\n  renderContent() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, super.renderContent(), this.state.addActivityForIdTask > 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_ModalForm__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      ref: this.refActivityModal,\n      uid: this.props.uid + \"_add_activity_modal\",\n      isOpen: true,\n      type: \"centered small theme-secondary\",\n      onClose: () => this.setState({\n        addActivityForIdTask: 0\n      }),\n      form: this.refActivityForm\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_apps_Worksheets_Components_FormActivity__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      id: -1,\n      modal: this.refActivityModal,\n      description: {\n        defaultValues: {\n          id_task: this.state.addActivityForIdTask\n        }\n      },\n      onClose: () => {\n        this.setState({\n          addActivityForIdTask: 0\n        });\n        this.reload();\n      }\n    })) : null);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Tasks/Components/TableTasks.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Tasks/Components/TableTodos.tsx":
/*!***************************************************!*\
  !*** ../erp/apps/Tasks/Components/TableTodos.tsx ***!
  \***************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableTodos)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormTodo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormTodo */ \"../erp/apps/Tasks/Components/FormTodo.tsx\");\n\n\n\nclass TableTodos extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Tasks/Models/Todo'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Tasks\\\\Loader';\n  translationContextInner = 'Components\\\\TableTodos';\n  constructor(props) {\n    super(props);\n    this.refActivityModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.refActivityForm = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'centered small';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/tasks/todo/' + (id > 0 ? id : 'add'));\n  }\n  rowClassName(rowData) {\n    return rowData.is_closed ? 'bg-slate-300' : super.rowClassName(rowData);\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    // formProps.idCustomer = this.props.idCustomer;\n    // if (!formProps.description) formProps.description = {};\n    // formProps.description.defaultValues = { id_customer: this.props.idCustomer };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormTodo__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Tasks/Components/TableTodos.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Tasks/Loader.tsx":
/*!************************************!*\
  !*** ../erp/apps/Tasks/Loader.tsx ***!
  \************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableTasks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableTasks */ \"../erp/apps/Tasks/Components/TableTasks.tsx\");\n/* harmony import */ var _Components_TableTodos__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableTodos */ \"../erp/apps/Tasks/Components/TableTodos.tsx\");\n/* harmony import */ var _hubleto_apps_Mail_Components_FormMail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/apps/Mail/Components/FormMail */ \"../erp/apps/Mail/Components/FormMail.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @hubleto/react-ui/core/Request */ \"../react-ui/core/Request.tsx\");\n\n\n\n\n\nclass Tasks extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('TasksTableTasks', _Components_TableTasks__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('TasksTableTodos', _Components_TableTodos__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    _hubleto_apps_Mail_Components_FormMail__WEBPACK_IMPORTED_MODULE_3__[\"default\"].addFormFooterButton('Create task', 'fas fas fa-list-check', form => {\n      _hubleto_react_ui_core_Request__WEBPACK_IMPORTED_MODULE_4__[\"default\"].get('tasks/api/create-from-mail', {\n        idMail: form.state.record.id\n      }, data => {\n        if (data.status == \"success\") {\n          globalThis.window.open(globalThis.hubleto.config.projectUrl + '/tasks/' + data.idTask);\n        }\n      });\n    });\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Enterprise/Tasks', new Tasks());\n\n//# sourceURL=webpack:///../erp/apps/Tasks/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Usage/Loader.tsx":
/*!************************************!*\
  !*** ../erp/apps/Usage/Loader.tsx ***!
  \************************************/
/***/ (() => {

eval("{// import TableCalendarSyncSources from \"./Components/TableCalendarSyncSources\"\n\n// globalThis.hubleto.registerReactComponent('TableCalendarSyncSources', TableCalendarSyncSources);\n\n//# sourceURL=webpack:///../erp/apps/Usage/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Warehouses/Components/FormInventory.tsx":
/*!***********************************************************!*\
  !*** ../erp/apps/Warehouses/Components/FormInventory.tsx ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormInventory)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormInventory extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Warehouses/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader';\n  translationContextInner = 'Components\\\\FormInventory';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Inventory')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Warehouses/Components/FormInventory.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Warehouses/Components/FormLocation.tsx":
/*!**********************************************************!*\
  !*** ../erp/apps/Warehouses/Components/FormLocation.tsx ***!
  \**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormLocation)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormLocation extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Warehouses/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader';\n  translationContextInner = 'Components\\\\FormLocation';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Location', 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader', 'Components\\\\FormLocation')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n  renderContent() {\n    // This is an example code to render content of the form.\n    // You should develop your own render content.\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-full flex gap-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1 border-r border-gray-100\"\n    }, this.inputWrapper('id_warehouse'), this.inputWrapper('code'), this.inputWrapper('id_type'), this.inputWrapper('operational_status'), this.inputWrapper('id_operational_manager'), this.divider(this.translate('Capacity and stock status')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-full\"\n    }, this.inputWrapper('capacity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"w-full\"\n    }, this.inputWrapper('capacity_unit'))), this.inputWrapper('current_stock_status')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex-1\"\n    }, this.divider(this.translate('Placement')), this.inputWrapper('placement'), this.divider(this.translate('More information')), this.inputWrapper('description'), this.inputWrapper('photo_1'), this.inputWrapper('photo_2'), this.inputWrapper('photo_3'))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Warehouses/Components/FormLocation.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Warehouses/Components/FormTransaction.tsx":
/*!*************************************************************!*\
  !*** ../erp/apps/Warehouses/Components/FormTransaction.tsx ***!
  \*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormTransaction)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Int__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Int */ \"../react-ui/core/Inputs/Int.tsx\");\n/* harmony import */ var _hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hubleto/react-ui/core/Inputs/Lookup */ \"../react-ui/core/Inputs/Lookup.tsx\");\n\n\n\n\nclass FormTransaction extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Warehouses/Models/Transaction'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader';\n  translationContextInner = 'Components\\\\FormTransaction';\n  constructor(props) {\n    super(props);\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      saveRelations: ['ITEMS']\n    };\n  }\n  getRecordFormUrl() {\n    return 'warehouses/transactions/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Transaction')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n  updateItem(index, newItem) {\n    let newRecord = this.state.record;\n    if (!newRecord.ITEMS[index]) newRecord.ITEMS[index] = {};\n    newRecord.ITEMS[index].id_transaction = {\n      _useMasterRecordId_: true\n    };\n    newRecord.ITEMS[index] = {\n      ...newRecord.ITEMS[index],\n      ...newItem\n    };\n    this.updateRecord(newRecord);\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full flex-1\"\n        }, this.inputWrapper('uid'), this.inputWrapper('type'), this.inputWrapper('id_supplier'), this.inputWrapper('supplier_invoice_number'), this.inputWrapper('supplier_order_number'), this.inputWrapper('batch_number'), this.inputWrapper('serial_number'), this.inputWrapper('document_1'), this.inputWrapper('document_2'), this.inputWrapper('document_3'), this.inputWrapper('notes'), this.inputWrapper('created_on'), this.inputWrapper('id_created_by')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full flex-3\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2 items-center bg-blue-50 p-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, this.inputWrapper('id_location_old')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-arrow-right\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"grow\"\n        }, this.inputWrapper('id_location_new'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n          className: \"table-default dense mt-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"thead\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Product')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Qty.')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", null, this.translate('Purchase price')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, R.ITEMS ? R.ITEMS.map((item, index) => {\n          return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Lookup__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n            model: \"Hubleto/App/Community/Products/Models/Product\",\n            urlAdd: 'products/add',\n            value: item.id_product,\n            cssClass: \"font-bold\",\n            onChange: (input, value) => {\n              this.updateItem(index, {\n                id_product: value\n              });\n            }\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Int__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n            value: item.quantity,\n            description: {\n              decimals: 4\n            },\n            onChange: (input, value) => {\n              this.updateItem(index, {\n                quantity: value\n              });\n            }\n          })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_hubleto_react_ui_core_Inputs_Int__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n            value: item.purchase_price,\n            description: {\n              decimals: 4,\n              unit: '€'\n            },\n            onChange: (input, value) => {\n              this.updateItem(index, {\n                purchase_price: value\n              });\n            }\n          }))));\n        }) : null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n          className: \"btn btn-add mt-2\",\n          onClick: () => {\n            let newR = R;\n            if (!newR.ITEMS) newR.ITEMS = [];\n            newR.ITEMS.push({});\n            this.updateRecord(newR);\n          }\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"icon\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-plus\"\n        })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text\"\n        }, this.translate('Add item')))));\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Warehouses/Components/FormTransaction.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Warehouses/Components/FormTransactionItem.tsx":
/*!*****************************************************************!*\
  !*** ../erp/apps/Warehouses/Components/FormTransactionItem.tsx ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormTransactionItem)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormTransactionItem extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Warehouses/Models/Transaction'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader';\n  translationContextInner = 'Components\\\\FormTransactionItem';\n  constructor(props) {\n    super(props);\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      saveRelations: ['ITEMS']\n    };\n  }\n  getRecordFormUrl() {\n    return 'warehouses/transactions/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Transaction item')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, \"Record #\", this.state.record.id ?? '0'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Warehouses/Components/FormTransactionItem.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Warehouses/Components/FormWarehouse.tsx":
/*!***********************************************************!*\
  !*** ../erp/apps/Warehouses/Components/FormWarehouse.tsx ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormWarehouse)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _TableLocations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TableLocations */ \"../erp/apps/Warehouses/Components/TableLocations.tsx\");\n\n\n\nclass FormWarehouse extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Warehouses/Models/Warehouse'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader';\n  translationContextInner = 'Components\\\\FormWarehouse';\n  constructor(props) {\n    super(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      tabs: [{\n        uid: 'default',\n        title: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, this.translate('Warehouse', 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader', 'Components\\\\FormWarehouse'))\n      }, {\n        uid: 'locations',\n        title: this.translate('Locations', 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader', 'Components\\\\FormWarehouse'),\n        showCountFor: 'LOCATIONS'\n      }, ...this.getCustomTabs()]\n    };\n  }\n  getRecordFormUrl() {\n    return 'warehouses/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Warehouse')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.name ?? '-'));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1 border-r border-gray-100\"\n        }, this.inputWrapper('name'), this.inputWrapper('id_type'), this.inputWrapper('operational_status'), this.inputWrapper('id_operation_manager'), this.divider(this.translate('Contact')), this.inputWrapper('contact_person'), this.inputWrapper('contact_email'), this.inputWrapper('contact_phone'), this.divider(this.translate('Capacity and stock status')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex gap-2\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full\"\n        }, this.inputWrapper('capacity')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full\"\n        }, this.inputWrapper('capacity_unit'))), this.inputWrapper('current_stock_status')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"flex-1\"\n        }, this.divider(this.translate('Address')), this.inputWrapper('address'), this.inputWrapper('address_plus_code'), this.inputWrapper('lng'), this.inputWrapper('lat'), this.divider(this.translate('More information')), this.inputWrapper('description'), this.inputWrapper('photo_1'), this.inputWrapper('photo_2'), this.inputWrapper('photo_3')));\n        // removed by dead control flow\n\n      case 'locations':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.state.id < 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"badge badge-info\"\n        }, this.translate('First create warehouse, then you will be prompted to add its locations.')) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableLocations__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n          uid: this.props.uid + '_table_locations',\n          parentForm: this,\n          idWarehouse: this.state.id,\n          customEndpointParams: {\n            idWarehouse: this.state.id\n          }\n        }));\n        // removed by dead control flow\n\n    }\n    ;\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Warehouses/Components/FormWarehouse.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Warehouses/Components/TableInventory.tsx":
/*!************************************************************!*\
  !*** ../erp/apps/Warehouses/Components/TableInventory.tsx ***!
  \************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableInventory)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormInventory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormInventory */ \"../erp/apps/Warehouses/Components/FormInventory.tsx\");\n\n\n\nclass TableInventory extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Warehouses/Models/Inventory'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader';\n  translationContextInner = 'Components\\\\TableInventory';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idProduct: this.props.idProduct\n    };\n  }\n  renderCell(columnName, column, data, options) {\n    let cell = super.renderCell(columnName, column, data, options);\n    if (columnName == 'quantity') {\n      if (data[columnName] >= 0) {\n        cell = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text-green-800\"\n        }, data[columnName]);\n      } else {\n        cell = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n          className: \"text-red-800\"\n        }, data[columnName]);\n      }\n    }\n    return cell;\n  }\n  renderFooter() {\n    let totalQuantity = 0;\n    for (let i in this.state.data?.records) {\n      const row = this.state.data?.records[i];\n      totalQuantity += parseFloat(row['quantity']);\n    }\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"font-bold\"\n    }, this.translate('Total quantity'), \": \", totalQuantity.toFixed(2), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null)));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idProduct = this.props.idProduct;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_product: this.props.idProduct\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormInventory__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Warehouses/Components/TableInventory.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Warehouses/Components/TableLocations.tsx":
/*!************************************************************!*\
  !*** ../erp/apps/Warehouses/Components/TableLocations.tsx ***!
  \************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableLocations)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormLocation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormLocation */ \"../erp/apps/Warehouses/Components/FormLocation.tsx\");\n\n\n\nclass TableLocations extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Warehouses/Models/Location'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader';\n  translationContextInner = 'Components\\\\FormLocations';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idWarehouse: this.props.idWarehouse\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    // formProps.customEndpointParams.idWarehouse = this.props.idWarehouse;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_warehouse: this.props.idWarehouse\n    };\n    console.log(formProps.description);\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormLocation__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Warehouses/Components/TableLocations.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Warehouses/Components/TableTransactionItems.tsx":
/*!*******************************************************************!*\
  !*** ../erp/apps/Warehouses/Components/TableTransactionItems.tsx ***!
  \*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableTransactionItems)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormTransactionItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormTransactionItem */ \"../erp/apps/Warehouses/Components/FormTransactionItem.tsx\");\n\n\n\nclass TableTransactionItems extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Warehouses/Models/TransactionItem'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader';\n  translationContextInner = 'Components\\\\TableTransactionItems';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idTransaction: this.props.idTransaction,\n      idProduct: this.props.idProduct\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/warehouses/transactions/items/' + (id > 0 ? id : 'add'));\n  }\n  cellClassName(columnName, column, rowData) {\n    let cellClassName = super.cellClassName(columnName, column, rowData);\n    if (columnName == 'id_transaction') {\n      if (rowData.TRANSACTION.id_location_old > 0 && rowData.TRANSACTION.id_location_new > 0) {\n        cellClassName += ' bg-blue-50';\n      } else if (rowData.TRANSACTION.id_location_old > 0) {\n        cellClassName += ' bg-red-50';\n      } else if (rowData.TRANSACTION.id_location_new > 0) {\n        cellClassName += ' bg-green-50';\n      }\n    }\n    return cellClassName;\n  }\n  renderCell(columnName, column, data, options) {\n    let cell = super.renderCell(columnName, column, data, options);\n    if (columnName == 'id_transaction') {\n      if (data.TRANSACTION.id_location_old > 0 && data.TRANSACTION.id_location_new > 0) {\n        cell = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-refresh\"\n        }), \" \", cell);\n      } else if (data.TRANSACTION.id_location_old > 0) {\n        cell = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-minus\"\n        }), \" \", cell);\n      } else if (data.TRANSACTION.id_location_new > 0) {\n        cell = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n          className: \"fas fa-plus\"\n        }), \" \", cell);\n      }\n    }\n\n    // if (columnName == 'quantity') {\n    //   if (data.TRANSACTION.direction == 1) {\n    //     cell = <span className='text-green-800'>{data[columnName]}</span>;\n    //   } else {\n    //     cell = <span className='text-red-800'>- {data[columnName]}</span>;\n    //   }\n    // }\n\n    return cell;\n  }\n  renderFooter() {\n    let totalQuantity = 0;\n    for (let i in this.state.data?.records) {\n      const row = this.state.data?.records[i];\n      if (row.TRANSACTION.direction == 1)\n        // inbound\n        totalQuantity += parseFloat(row['quantity']);else\n        // outbound\n        totalQuantity -= parseFloat(row['quantity']);\n    }\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"font-bold\"\n    }, this.translate('Total quantity'), \": \", totalQuantity.toFixed(2), \" \\u20AC\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null)));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idTransaction = this.props.idTransaction;\n    formProps.customEndpointParams.idProduct = this.props.idProduct;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_transaction: this.props.idTransaction,\n      id_product: this.props.idProduct\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormTransactionItem__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Warehouses/Components/TableTransactionItems.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Warehouses/Components/TableTransactions.tsx":
/*!***************************************************************!*\
  !*** ../erp/apps/Warehouses/Components/TableTransactions.tsx ***!
  \***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableTransaction)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormTransaction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormTransaction */ \"../erp/apps/Warehouses/Components/FormTransaction.tsx\");\n\n\n\nclass TableTransaction extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Warehouses/Models/Transaction'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader';\n  translationContextInner = 'Components\\\\TableTransactions';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idProduct: this.props.idProduct,\n      direction: this.props.direction\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/warehouses/transactions/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.direction = this.props.direction;\n    formProps.customEndpointParams.idProduct = this.props.idProduct;\n    formProps.customEndpointParams.direction = this.props.direction;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_product: this.props.idProduct,\n      direction: this.props.direction\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormTransaction__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Warehouses/Components/TableTransactions.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Warehouses/Components/TableWarehouses.tsx":
/*!*************************************************************!*\
  !*** ../erp/apps/Warehouses/Components/TableWarehouses.tsx ***!
  \*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormWarehouses)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormWarehouse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormWarehouse */ \"../erp/apps/Warehouses/Components/FormWarehouse.tsx\");\n\n\n\nclass FormWarehouses extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Warehouses/Models/Warehouse'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader';\n  translationContextInner = 'Components\\\\FormWarehouses';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n      // idCustomer: this.props.idCustomer,\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/warehouses/' + (id > 0 ? id : 'add'));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    // formProps.customEndpointParams.idCustomer = this.props.idCustomer;\n    // if (!formProps.description) formProps.description = {};\n    // formProps.description.defaultValues = { idDashboard: this.state.recordId };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormWarehouse__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Warehouses/Components/TableWarehouses.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Warehouses/Loader.tsx":
/*!*****************************************!*\
  !*** ../erp/apps/Warehouses/Loader.tsx ***!
  \*****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableWarehouses__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableWarehouses */ \"../erp/apps/Warehouses/Components/TableWarehouses.tsx\");\n/* harmony import */ var _Components_TableInventory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Components/TableInventory */ \"../erp/apps/Warehouses/Components/TableInventory.tsx\");\n/* harmony import */ var _Components_TableLocations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Components/TableLocations */ \"../erp/apps/Warehouses/Components/TableLocations.tsx\");\n/* harmony import */ var _Components_TableTransactions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Components/TableTransactions */ \"../erp/apps/Warehouses/Components/TableTransactions.tsx\");\n/* harmony import */ var _Components_TableTransactionItems__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Components/TableTransactionItems */ \"../erp/apps/Warehouses/Components/TableTransactionItems.tsx\");\n/* harmony import */ var _Components_FormTransaction__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Components/FormTransaction */ \"../erp/apps/Warehouses/Components/FormTransaction.tsx\");\n\n\n\n\n\n\n\n\nclass WarehousesApp extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('WarehousesTableWarehouses', _Components_TableWarehouses__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('WarehousesTableInventory', _Components_TableInventory__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('WarehousesTableLocations', _Components_TableLocations__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('WarehousesTableTransactions', _Components_TableTransactions__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('WarehousesTableTransactionItems', _Components_TableTransactionItems__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('WarehousesFormTransaction', _Components_FormTransaction__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n\n    // custom tabs\n    globalThis.hubleto.getApp('Hubleto/App/Community/Products').addCustomFormTab({\n      uid: 'inventory',\n      title: globalThis.hubleto.translate('Inventory', 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader', 'manifest'),\n      onRender: form => {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Components_TableInventory__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n          uid: form.props.uid + \"_table_product_inventory\",\n          tag: \"table_product_inventory\",\n          parentForm: form,\n          view: \"productOverview\",\n          idProduct: form.state.record.id\n        });\n      }\n    });\n    globalThis.hubleto.getApp('Hubleto/App/Community/Products').addCustomFormTab({\n      uid: 'transactions',\n      title: globalThis.hubleto.translate('Transactions', 'Hubleto\\\\App\\\\Community\\\\Warehouses\\\\Loader', 'manifest'),\n      onRender: form => {\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Components_TableTransactions__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n          uid: form.props.uid + \"_table_product_transactions\",\n          tag: \"table_product_transactions\",\n          parentForm: form,\n          view: \"productOverview\",\n          idProduct: form.state.record.id\n        });\n      }\n    });\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Community/Suppliers', new WarehousesApp());\n\n//# sourceURL=webpack:///../erp/apps/Warehouses/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Workflow/Components/FormAutomat.tsx":
/*!*******************************************************!*\
  !*** ../erp/apps/Workflow/Components/FormAutomat.tsx ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormAutomat)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormAutomat extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: \"Hubleto/App/Community/Workflow/Models/Automat\"\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Workflow\\\\Loader\\\\Loader';\n  translationContextInner = 'Components\\\\FormAutomat';\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Workflow automat')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.name ?? '-'));\n  }\n  renderContent() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex flex-col gap-2\"\n    }, this.inputWrapper(\"name\"), this.inputWrapper(\"execution_order\"), this.inputWrapper(\"description\"), this.inputWrapper(\"conditions\"), this.inputWrapper(\"actions\"));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Workflow/Components/FormAutomat.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Workflow/Components/FormWorkflow.tsx":
/*!********************************************************!*\
  !*** ../erp/apps/Workflow/Components/FormWorkflow.tsx ***!
  \********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormWorkflow)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n/* harmony import */ var _TableWorkflowSteps__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TableWorkflowSteps */ \"../erp/apps/Workflow/Components/TableWorkflowSteps.tsx\");\n\n\n\nclass FormWorkflow extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: \"Hubleto/App/Community/Workflow/Models/Workflow\"\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Workflow\\\\Loader\\\\Loader';\n  translationContextInner = 'Components\\\\FormWorkflow';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props),\n      tablesKey: 0,\n      newStepId: -1\n    };\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      saveRelations: ['STEPS']\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Workflow')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.name ?? '-'));\n  }\n  componentDidUpdate(prevProps, prevState) {\n    if (prevState.isInlineEditing != this.state.isInlineEditing) this.setState({\n      tablesKey: Math.random()\n    });\n  }\n  renderContent() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"flex gap-2\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-header\"\n    }, this.translate('Workflow')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, this.inputWrapper(\"name\"), this.inputWrapper(\"order\"), this.inputWrapper(\"group\"), this.inputWrapper(\"description\"), this.inputWrapper(\"show_in_kanban\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-header\"\n    }, this.translate('Steps')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"card-body\"\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_TableWorkflowSteps__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      invalidInputs: this.state.invalidInputs,\n      key: this.state.tablesKey,\n      uid: this.props.uid + \"_table_workflow_steps_input\"\n      // context=\"Hello World\"\n      // descriptionSource=\"props\"\n      // records={{ records: R.STEPS }}\n      // isUsedAsInput={true}\n      ,\n      idWorkflow: R.id\n      // isInlineEditing={this.state.isInlineEditing}\n      // onRowClick={() => this.setState({isInlineEditing: true})}\n      // onChange={(table: TableWorkflowSteps) => {\n      //   this.updateRecord({ STEPS: table.state.data?.records });\n      //   this.setState({updatingRecord: true});\n      // }}\n      // description={{\n      //   ui: {\n      //     showFooter: false,\n      //     showHeader: false,\n      //   },\n      //   permissions: {\n      //     canCreate: true,\n      //     canDelete: true,\n      //     canRead: true,\n      //     canUpdate: true,\n      //   },\n      //   columns: {\n      //     name: { type: \"varchar\", title: \"Name\" },\n      //     order: { type: \"int\", title: \"Order\" },\n      //     color: { type: \"color\", title: \"Color\" },\n      //     probability: { type: \"int\", title: \"Probability\", unit: \"%\" },\n      //     tag: { type: \"varchar\", title: \"Tag\"},\n      //   },\n      //   inputs: {\n      //     name: { type: \"varchar\", title: \"Name\" },\n      //     order: { type: \"int\", title: \"Order\" },\n      //     color: { type: \"color\", title: \"Color\" },\n      //     probability: { type: \"int\", title: \"Probability\", unit: \"%\" },\n      //     tag: { type: \"varchar\", title: \"Tag\"},\n      //   },\n      // }}\n    }))));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Workflow/Components/FormWorkflow.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Workflow/Components/FormWorkflowStep.tsx":
/*!************************************************************!*\
  !*** ../erp/apps/Workflow/Components/FormWorkflowStep.tsx ***!
  \************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormWorkflowStep)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormWorkflowStep extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: \"Hubleto/App/Community/Workflow/Models/WorkflowStep\"\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Workflow\\\\Loader\\\\Loader';\n  translationContextInner = 'Components\\\\FormWorkflowStep';\n  constructor(props) {\n    super(props);\n    this.state = {\n      ...this.getStateFromProps(props),\n      tablesKey: 0,\n      newStepId: -1\n    };\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('Workflow step')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.state.record.name ?? '-'));\n  }\n  componentDidUpdate(prevProps, prevState) {\n    if (prevState.isInlineEditing != this.state.isInlineEditing) this.setState({\n      tablesKey: Math.random()\n    });\n  }\n  renderContent() {\n    const R = this.state.record;\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, this.inputWrapper('id_workflow'), this.inputWrapper('name'), this.inputWrapper('order'), this.inputWrapper('color'), this.inputWrapper('tag'), this.inputWrapper('probability'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Workflow/Components/FormWorkflowStep.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Workflow/Components/TableAutomats.tsx":
/*!*********************************************************!*\
  !*** ../erp/apps/Workflow/Components/TableAutomats.tsx ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableAutomats)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormAutomat__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormAutomat */ \"../erp/apps/Workflow/Components/FormAutomat.tsx\");\n\n\n\nclass TableAutomats extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Workflow/Models/Automat'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Workflow\\\\Loader';\n  translationContextInner = 'Components\\\\TableAutomats';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getFormModalProps() {\n    return {\n      ...super.getFormModalProps(),\n      type: 'right wide'\n    };\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormAutomat__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Workflow/Components/TableAutomats.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Workflow/Components/TableWorkflowSteps.tsx":
/*!**************************************************************!*\
  !*** ../erp/apps/Workflow/Components/TableWorkflowSteps.tsx ***!
  \**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableWorkflowSteps)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormWorkflowStep__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormWorkflowStep */ \"../erp/apps/Workflow/Components/FormWorkflowStep.tsx\");\n\n\n\nclass TableWorkflowSteps extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Workflow/Models/WorkflowStep'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Workflow\\\\Loader';\n  translationContextInner = 'Components\\\\TableWorkflowSteps';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props),\n      idWorkflow: props.idWorkflow\n    };\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idWorkflow: this.state.idWorkflow\n    };\n  }\n  getFormModalProps() {\n    return {\n      ...super.getFormModalProps(),\n      type: 'right wide'\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.description = {\n      defaultValues: {\n        id_workflow: this.state.idWorkflow\n      },\n      ui: {\n        headerClassName: 'bg-indigo-50'\n      }\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormWorkflowStep__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Workflow/Components/TableWorkflowSteps.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Workflow/Components/TableWorkflows.tsx":
/*!**********************************************************!*\
  !*** ../erp/apps/Workflow/Components/TableWorkflows.tsx ***!
  \**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableWorkflows)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/core/Table */ \"../react-ui/core/Table.tsx\");\n/* harmony import */ var _FormWorkflow__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormWorkflow */ \"../erp/apps/Workflow/Components/FormWorkflow.tsx\");\n\n\n\nclass TableWorkflows extends _hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_core_Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Workflow/Models/Workflow'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Workflow\\\\Loader';\n  translationContextInner = 'Components\\\\TableWorkflows';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getFormModalProps() {\n    return {\n      ...super.getFormModalProps(),\n      type: 'right wide'\n    };\n  }\n  renderForm() {\n    let formDescription = this.getFormProps();\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormWorkflow__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formDescription);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Workflow/Components/TableWorkflows.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Workflow/Loader.tsx":
/*!***************************************!*\
  !*** ../erp/apps/Workflow/Loader.tsx ***!
  \***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hubleto/react-ui/core/App */ \"../react-ui/core/App.tsx\");\n/* harmony import */ var _Components_TableWorkflows__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableWorkflows */ \"../erp/apps/Workflow/Components/TableWorkflows.tsx\");\n/* harmony import */ var _Components_TableAutomats__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/TableAutomats */ \"../erp/apps/Workflow/Components/TableAutomats.tsx\");\n\n\n\nclass Workflow extends _hubleto_react_ui_core_App__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n  init() {\n    super.init();\n\n    // register react components\n    globalThis.hubleto.registerReactComponent('WorkflowTableWorkflows', _Components_TableWorkflows__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    globalThis.hubleto.registerReactComponent('WorkflowTableAutomats', _Components_TableAutomats__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  }\n}\n\n// register app\nglobalThis.hubleto.registerApp('Hubleto/App/Enterprise/Workflow', new Workflow());\n\n//# sourceURL=webpack:///../erp/apps/Workflow/Loader.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Worksheets/Components/FormActivity.tsx":
/*!**********************************************************!*\
  !*** ../erp/apps/Worksheets/Components/FormActivity.tsx ***!
  \**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormActivity)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormActivity extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Worksheets/Models/Activity'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Worksheets\\\\Loader';\n  translationContextInner = 'Components\\\\FormActivity';\n  constructor(props) {\n    super(props);\n  }\n\n  // getStateFromProps(props: FormActivityProps) {\n  //   return {\n  //     ...super.getStateFromProps(props),\n  //     tabs: [\n  //       { uid: 'default', title: 'Activity' },\n  //     ]\n  //   }\n  // }\n\n  getRecordFormUrl() {\n    return 'worksheets/' + (this.state.record.id > 0 ? this.state.record.id : 'add');\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.translate('Activity')));\n  }\n  renderTab(tabUid) {\n    const R = this.state.record;\n    switch (tabUid) {\n      case 'default':\n        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full flex gap-2 md:flex-row\"\n        }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full\"\n        }, this.inputWrapper('id_task'), this.inputWrapper('id_type'), this.inputWrapper('date_worked'), this.inputWrapper('description'), this.inputWrapper('worked_hours')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n          className: \"w-full\"\n        }, this.inputWrapper('id_worker'), this.inputWrapper('is_approved'), this.inputWrapper('is_chargeable'), this.inputWrapper('datetime_created')));\n        // removed by dead control flow\n\n    }\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Worksheets/Components/FormActivity.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Worksheets/Components/FormActivityType.tsx":
/*!**************************************************************!*\
  !*** ../erp/apps/Worksheets/Components/FormActivityType.tsx ***!
  \**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ FormActivityType)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/FormExtended */ \"../react-ui/ext/FormExtended.tsx\");\n\n\nclass FormActivityType extends _hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_FormExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    model: 'Hubleto/App/Community/Worksheets/Models/Team'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Worksheets\\\\Loader';\n  translationContextInner = 'Components\\\\FormActivityType';\n  constructor(props) {\n    super(props);\n  }\n  renderTitle() {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"small\", null, this.translate('ActivityType')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h2\", null, this.translate('Record #'), this.state.record.id ?? '0'));\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Worksheets/Components/FormActivityType.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Worksheets/Components/TableActivities.tsx":
/*!*************************************************************!*\
  !*** ../erp/apps/Worksheets/Components/TableActivities.tsx ***!
  \*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableActivities)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormActivity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormActivity */ \"../erp/apps/Worksheets/Components/FormActivity.tsx\");\n\n\n\nclass TableActivities extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Worksheets/Models/Activity'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Worksheets\\\\Loader';\n  translationContextInner = 'Components\\\\TableActivities';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'centered theme-secondary';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams(),\n      idTask: this.props.idTask,\n      idProject: this.props.idProject\n    };\n  }\n  setRecordFormUrl(id) {\n    window.history.pushState({}, \"\", globalThis.hubleto.config.projectUrl + '/worksheets/' + (id > 0 ? id : 'add'));\n  }\n  renderFooter() {\n    let workedTotal = 0;\n    for (let i in this.state.data?.records) {\n      const row = this.state.data?.records[i];\n      if (row['total_worked_hours']) workedTotal += parseFloat(row['total_worked_hours']);else workedTotal += parseFloat(row['worked_hours']);\n    }\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n      className: \"font-bold\"\n    }, this.translate('Worked total'), \": \", globalThis.hubleto.numberFormat(workedTotal, 2, \",\", \" \"), \" \", this.translate('hours'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null)));\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    formProps.customEndpointParams.idTask = this.props.idTask;\n    if (!formProps.description) formProps.description = {};\n    formProps.description.defaultValues = {\n      id_task: this.props.idTask\n    };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormActivity__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Worksheets/Components/TableActivities.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Worksheets/Components/TableActivityTypes.tsx":
/*!****************************************************************!*\
  !*** ../erp/apps/Worksheets/Components/TableActivityTypes.tsx ***!
  \****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ TableActivityTypes)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../react-ui/node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hubleto/react-ui/ext/TableExtended */ \"../react-ui/ext/TableExtended.tsx\");\n/* harmony import */ var _FormActivityType__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormActivityType */ \"../erp/apps/Worksheets/Components/FormActivityType.tsx\");\n\n\n\nclass TableActivityTypes extends _hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n  static defaultProps = {\n    ..._hubleto_react_ui_ext_TableExtended__WEBPACK_IMPORTED_MODULE_1__[\"default\"].defaultProps,\n    formUseModalSimple: true,\n    model: 'Hubleto/App/Community/Worksheets/Models/ActivityType'\n  };\n  translationContext = 'Hubleto\\\\App\\\\Community\\\\Worksheets\\\\Loader';\n  translationContextInner = 'Components\\\\TableActivityTypes';\n  constructor(props) {\n    super(props);\n    this.state = this.getStateFromProps(props);\n  }\n  getStateFromProps(props) {\n    return {\n      ...super.getStateFromProps(props)\n    };\n  }\n  getFormModalProps() {\n    let params = super.getFormModalProps();\n    params.type = 'right wide';\n    return params;\n  }\n  getEndpointParams() {\n    return {\n      ...super.getEndpointParams()\n      // Uncomment and modify these lines if you want to create URL-based filtering for your model\n      // idCustomer: this.props.idCustomer,\n    };\n  }\n  renderForm() {\n    let formProps = this.getFormProps();\n    // formProps.customEndpointParams.idCustomer = this.props.idCustomer;\n    // if (!formProps.description) formProps.description = {};\n    // formProps.description.defaultValues = { id_customer: this.props.idCustomer };\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FormActivityType__WEBPACK_IMPORTED_MODULE_2__[\"default\"], formProps);\n  }\n}\n\n//# sourceURL=webpack:///../erp/apps/Worksheets/Components/TableActivityTypes.tsx?\n}");

/***/ }),

/***/ "../erp/apps/Worksheets/Loader.tsx":
/*!*****************************************!*\
  !*** ../erp/apps/Worksheets/Loader.tsx ***!
  \*****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Components_TableActivities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Components/TableActivities */ \"../erp/apps/Worksheets/Components/TableActivities.tsx\");\n/* harmony import */ var _Components_TableActivityTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/TableActivityTypes */ \"../erp/apps/Worksheets/Components/TableActivityTypes.tsx\");\n// How to add any React Component to be usable in Twig templates as '<hblreact-*></hblreact-*>' HTML tag.\n// -> Replace 'MyModel' with the name of your model in the examples below\n\n// 1. import the component\n// import TableMyModel from \"./Components/TableMyModel\"\n\n// 2. Register the React Component into Hubleto framework\n// globalThis.hubleto.registerReactComponent('WorksheetsTableMyModel', TableMyModel);\n\n// 3. Use the component in any of your Twig views:\n// <hblreact-worksheets-table-my-model string:some-property=\"some-value\"></hblreact-worksheets-table-my-model>\n\n\n\nglobalThis.hubleto.registerReactComponent('WorksheetsTableActivities', _Components_TableActivities__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nglobalThis.hubleto.registerReactComponent('WorksheetsTableActivityTypes', _Components_TableActivityTypes__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n//# sourceURL=webpack:///../erp/apps/Worksheets/Loader.tsx?\n}");

/***/ })

}]);