2819 lines
193 KiB
JavaScript
2819 lines
193 KiB
JavaScript
define("4825e72c-4ff3-479e-917e-f6b04e003a82_0.0.1", ["react","react-dom","@microsoft/sp-core-library","@microsoft/sp-property-pane","@microsoft/sp-webpart-base","@microsoft/sp-http"], (__WEBPACK_EXTERNAL_MODULE__959__, __WEBPACK_EXTERNAL_MODULE__398__, __WEBPACK_EXTERNAL_MODULE__676__, __WEBPACK_EXTERNAL_MODULE__877__, __WEBPACK_EXTERNAL_MODULE__642__, __WEBPACK_EXTERNAL_MODULE__909__) => { return /******/ (() => { // webpackBootstrap
|
||
/******/ "use strict";
|
||
/******/ var __webpack_modules__ = ({
|
||
|
||
/***/ 845:
|
||
/*!*****************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ApprovalAdmin.module.scss.css ***!
|
||
\*****************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var _node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/@microsoft/sp-css-loader/node_modules/@microsoft/load-themed-styles/lib-es6/index.js */ 323);
|
||
// Imports
|
||
|
||
|
||
_node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__.loadStyles(":root{--navy-950:#0a1b30;--navy-900:#0f2440;--navy-800:#1b3a5c;--navy-700:#244b73;--navy-600:#2d5c8a;--navy-100:#e8eef4;--navy-50:#f4f7fa;--gold-600:#b8881a;--gold-500:#d4a01e;--gold-400:#e5b635;--gold-300:#f0cc5e;--gold-100:#fdf5e0;--gold-50:#fefbf0;--gray-900:#111827;--gray-700:#374151;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--red-500:#dc2626;--red-50:#fef2f2;--green-600:#15803d;--green-50:#f0fdf4;--blue-600:#2563eb;--blue-50:#eff6ff;--amber-700:#854d0e;--sh-1:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);--sh-2:0 4px 16px rgba(15,36,64,.07);--sh-3:0 12px 32px rgba(15,36,64,.1);--sh-gold:0 4px 20px rgba(212,160,30,.18);--sh-modal:0 24px 70px rgba(10,27,48,.25);--r-sm:6px;--r-md:10px;--r-lg:14px}.approvalAdmin_36d7a38f{font-family:Inter,-apple-system,Segoe UI,sans-serif}.stateBox_36d7a38f{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;color:#6b7280;font-size:13.5px;padding:40px 24px;text-align:center}", true);
|
||
|
||
// Exports
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||
approvalAdmin: "approvalAdmin_36d7a38f",
|
||
stateBox: "stateBox_36d7a38f"
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 41:
|
||
/*!****************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/app/AdminApp.module.scss.css ***!
|
||
\****************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var _node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/@microsoft/sp-css-loader/node_modules/@microsoft/load-themed-styles/lib-es6/index.js */ 323);
|
||
// Imports
|
||
|
||
|
||
_node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__.loadStyles(":root{--navy-950:#0a1b30;--navy-900:#0f2440;--navy-800:#1b3a5c;--navy-700:#244b73;--navy-600:#2d5c8a;--navy-100:#e8eef4;--navy-50:#f4f7fa;--gold-600:#b8881a;--gold-500:#d4a01e;--gold-400:#e5b635;--gold-300:#f0cc5e;--gold-100:#fdf5e0;--gold-50:#fefbf0;--gray-900:#111827;--gray-700:#374151;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--red-500:#dc2626;--red-50:#fef2f2;--green-600:#15803d;--green-50:#f0fdf4;--blue-600:#2563eb;--blue-50:#eff6ff;--amber-700:#854d0e;--sh-1:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);--sh-2:0 4px 16px rgba(15,36,64,.07);--sh-3:0 12px 32px rgba(15,36,64,.1);--sh-gold:0 4px 20px rgba(212,160,30,.18);--sh-modal:0 24px 70px rgba(10,27,48,.25);--r-sm:6px;--r-md:10px;--r-lg:14px}.shell_34febe7a{background:linear-gradient(180deg,#f6f8fa,#eef2f6);border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);color:#111827;font-family:Inter,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.55;overflow:hidden}.content_34febe7a{margin:0 auto;max-width:1080px;padding:28px 30px 36px}.centerState_34febe7a{color:#9ca3af;font-size:13.5px;padding:60px 30px;text-align:center}", true);
|
||
|
||
// Exports
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||
shell: "shell_34febe7a",
|
||
centerState: "centerState_34febe7a",
|
||
content: "content_34febe7a"
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 923:
|
||
/*!**************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/app/TopNav.module.scss.css ***!
|
||
\**************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var _node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/@microsoft/sp-css-loader/node_modules/@microsoft/load-themed-styles/lib-es6/index.js */ 323);
|
||
// Imports
|
||
|
||
|
||
_node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__.loadStyles(":root{--navy-950:#0a1b30;--navy-900:#0f2440;--navy-800:#1b3a5c;--navy-700:#244b73;--navy-600:#2d5c8a;--navy-100:#e8eef4;--navy-50:#f4f7fa;--gold-600:#b8881a;--gold-500:#d4a01e;--gold-400:#e5b635;--gold-300:#f0cc5e;--gold-100:#fdf5e0;--gold-50:#fefbf0;--gray-900:#111827;--gray-700:#374151;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--red-500:#dc2626;--red-50:#fef2f2;--green-600:#15803d;--green-50:#f0fdf4;--blue-600:#2563eb;--blue-50:#eff6ff;--amber-700:#854d0e;--sh-1:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);--sh-2:0 4px 16px rgba(15,36,64,.07);--sh-3:0 12px 32px rgba(15,36,64,.1);--sh-gold:0 4px 20px rgba(212,160,30,.18);--sh-modal:0 24px 70px rgba(10,27,48,.25);--r-sm:6px;--r-md:10px;--r-lg:14px}.topnav_beba2ab6{align-items:center;background:linear-gradient(135deg,#0a1b30,#1b3a5c 85%);border-radius:10px 10px 0 0;box-shadow:0 1px 0 rgba(212,160,30,.35);display:flex;flex-wrap:wrap;height:54px;padding:0 22px}.brand_beba2ab6{flex-shrink:0;gap:10px;margin-right:28px}.brand_beba2ab6,.mark_beba2ab6{align-items:center;display:flex}.mark_beba2ab6{background:linear-gradient(180deg,#e5b635,#b8881a);border-radius:7px;color:#0a1b30;font-family:Lora,Georgia,serif;font-size:13px;font-weight:800;height:30px;justify-content:center;width:30px}.brandText_beba2ab6{color:#fff;font-size:13px;font-weight:600;letter-spacing:.4px;white-space:nowrap}.brandText_beba2ab6 em{color:#e5b635;font-style:normal}.tabs_beba2ab6{display:flex;flex-wrap:wrap;height:100%}.tab_beba2ab6{background:0;border:none;border-bottom:2px solid transparent;color:hsla(0,0%,100%,.5);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;height:54px;letter-spacing:.2px;padding:0 16px;transition:.18s}.tab_beba2ab6:hover{color:hsla(0,0%,100%,.85)}.tab_beba2ab6.on_beba2ab6{border-bottom-color:#e5b635;color:#f0cc5e}", true);
|
||
|
||
// Exports
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||
topnav: "topnav_beba2ab6",
|
||
brand: "brand_beba2ab6",
|
||
mark: "mark_beba2ab6",
|
||
brandText: "brandText_beba2ab6",
|
||
tabs: "tabs_beba2ab6",
|
||
tab: "tab_beba2ab6",
|
||
on: "on_beba2ab6"
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 922:
|
||
/*!************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/Alert.module.scss.css ***!
|
||
\************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var _node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/@microsoft/sp-css-loader/node_modules/@microsoft/load-themed-styles/lib-es6/index.js */ 323);
|
||
// Imports
|
||
|
||
|
||
_node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__.loadStyles(":root{--navy-950:#0a1b30;--navy-900:#0f2440;--navy-800:#1b3a5c;--navy-700:#244b73;--navy-600:#2d5c8a;--navy-100:#e8eef4;--navy-50:#f4f7fa;--gold-600:#b8881a;--gold-500:#d4a01e;--gold-400:#e5b635;--gold-300:#f0cc5e;--gold-100:#fdf5e0;--gold-50:#fefbf0;--gray-900:#111827;--gray-700:#374151;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--red-500:#dc2626;--red-50:#fef2f2;--green-600:#15803d;--green-50:#f0fdf4;--blue-600:#2563eb;--blue-50:#eff6ff;--amber-700:#854d0e;--sh-1:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);--sh-2:0 4px 16px rgba(15,36,64,.07);--sh-3:0 12px 32px rgba(15,36,64,.1);--sh-gold:0 4px 20px rgba(212,160,30,.18);--sh-modal:0 24px 70px rgba(10,27,48,.25);--r-sm:6px;--r-md:10px;--r-lg:14px}.alert_39a4b1a3{align-items:center;border:1px solid;border-radius:10px;display:flex;font-size:12.5px;gap:10px;line-height:1.5;margin-bottom:18px;padding:12px 16px}.warn_39a4b1a3{background:#fefbf0;border-color:#f0cc5e;color:#854d0e}.ok_39a4b1a3{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.err_39a4b1a3{background:#fef2f2;border-color:#fecaca;color:#dc2626}", true);
|
||
|
||
// Exports
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||
alert: "alert_39a4b1a3",
|
||
warn: "warn_39a4b1a3",
|
||
ok: "ok_39a4b1a3",
|
||
err: "err_39a4b1a3"
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 793:
|
||
/*!************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/Badge.module.scss.css ***!
|
||
\************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var _node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/@microsoft/sp-css-loader/node_modules/@microsoft/load-themed-styles/lib-es6/index.js */ 323);
|
||
// Imports
|
||
|
||
|
||
_node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__.loadStyles(":root{--navy-950:#0a1b30;--navy-900:#0f2440;--navy-800:#1b3a5c;--navy-700:#244b73;--navy-600:#2d5c8a;--navy-100:#e8eef4;--navy-50:#f4f7fa;--gold-600:#b8881a;--gold-500:#d4a01e;--gold-400:#e5b635;--gold-300:#f0cc5e;--gold-100:#fdf5e0;--gold-50:#fefbf0;--gray-900:#111827;--gray-700:#374151;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--red-500:#dc2626;--red-50:#fef2f2;--green-600:#15803d;--green-50:#f0fdf4;--blue-600:#2563eb;--blue-50:#eff6ff;--amber-700:#854d0e;--sh-1:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);--sh-2:0 4px 16px rgba(15,36,64,.07);--sh-3:0 12px 32px rgba(15,36,64,.1);--sh-gold:0 4px 20px rgba(212,160,30,.18);--sh-modal:0 24px 70px rgba(10,27,48,.25);--r-sm:6px;--r-md:10px;--r-lg:14px}.badge_3fba18e1{align-items:center;border-radius:100px;display:inline-flex;font-size:11px;font-weight:600;gap:5px;letter-spacing:.2px;padding:3px 11px;white-space:nowrap}.badge_3fba18e1:before{background:currentColor;border-radius:50%;content:\"\";height:5px;width:5px}.ok_3fba18e1{background:#f0fdf4;color:#15803d}.gold_3fba18e1{background:#fdf5e0;color:#854d0e}.neutral_3fba18e1{background:#f3f4f6;color:#6b7280}.blue_3fba18e1{background:#eff6ff;color:#2563eb}.red_3fba18e1{background:#fef2f2;color:#dc2626}.count_3fba18e1{align-items:center;background:#0f2440;border-radius:11px;color:#f0cc5e;display:inline-flex;font-size:11px;font-weight:600;height:22px;justify-content:center;min-width:22px;padding:0 6px}", true);
|
||
|
||
// Exports
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||
badge: "badge_3fba18e1",
|
||
ok: "ok_3fba18e1",
|
||
gold: "gold_3fba18e1",
|
||
neutral: "neutral_3fba18e1",
|
||
blue: "blue_3fba18e1",
|
||
red: "red_3fba18e1",
|
||
count: "count_3fba18e1"
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 926:
|
||
/*!*************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/Button.module.scss.css ***!
|
||
\*************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var _node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/@microsoft/sp-css-loader/node_modules/@microsoft/load-themed-styles/lib-es6/index.js */ 323);
|
||
// Imports
|
||
|
||
|
||
_node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__.loadStyles(":root{--navy-950:#0a1b30;--navy-900:#0f2440;--navy-800:#1b3a5c;--navy-700:#244b73;--navy-600:#2d5c8a;--navy-100:#e8eef4;--navy-50:#f4f7fa;--gold-600:#b8881a;--gold-500:#d4a01e;--gold-400:#e5b635;--gold-300:#f0cc5e;--gold-100:#fdf5e0;--gold-50:#fefbf0;--gray-900:#111827;--gray-700:#374151;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--red-500:#dc2626;--red-50:#fef2f2;--green-600:#15803d;--green-50:#f0fdf4;--blue-600:#2563eb;--blue-50:#eff6ff;--amber-700:#854d0e;--sh-1:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);--sh-2:0 4px 16px rgba(15,36,64,.07);--sh-3:0 12px 32px rgba(15,36,64,.1);--sh-gold:0 4px 20px rgba(212,160,30,.18);--sh-modal:0 24px 70px rgba(10,27,48,.25);--r-sm:6px;--r-md:10px;--r-lg:14px}.btn_74afcd3b{align-items:center;border:1px solid transparent;border-radius:6px;cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,Segoe UI,sans-serif;font-size:13px;font-weight:500;gap:7px;letter-spacing:.15px;padding:10px 20px;text-decoration:none;transition:.18s;white-space:nowrap}.btn_74afcd3b:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.primary_74afcd3b{background:#1b3a5c;border-color:#1b3a5c;color:#fff}.primary_74afcd3b:hover:not(:disabled){background:#244b73;box-shadow:0 4px 16px rgba(15,36,64,.07)}.accent_74afcd3b{background:linear-gradient(135deg,#e5b635,#d4a01e);border:1px solid #d4a01e;color:#0a1b30;font-weight:600}.accent_74afcd3b:hover{box-shadow:0 4px 20px rgba(212,160,30,.18);transform:translateY(-1px)}.secondary_74afcd3b{background:#fff;border-color:#d1d5db;color:#1b3a5c}.secondary_74afcd3b:hover:not(:disabled){border-color:#d4a01e;color:#0f2440}.ghost_74afcd3b{background:transparent;border-color:transparent;color:#244b73}.ghost_74afcd3b:hover:not(:disabled){background:#e8eef4}.danger_74afcd3b{background:#fff;border-color:#d1d5db;color:#dc2626}.danger_74afcd3b:hover:not(:disabled){background:#fef2f2;border-color:#dc2626}.sm_74afcd3b{font-size:12.5px;padding:7px 14px}.iconButton_74afcd3b{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:#9ca3af;cursor:pointer;display:inline-flex;height:33px;justify-content:center;padding:0;transition:.18s;width:33px}.iconButton_74afcd3b:hover:not(:disabled){background:#f4f7fa;border-color:#e5e7eb;color:#1b3a5c}.iconButton_74afcd3b.danger_74afcd3b:hover:not(:disabled){background:#fef2f2;color:#dc2626}.iconButton_74afcd3b:disabled{cursor:not-allowed;opacity:.4}", true);
|
||
|
||
// Exports
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||
btn: "btn_74afcd3b",
|
||
primary: "primary_74afcd3b",
|
||
accent: "accent_74afcd3b",
|
||
secondary: "secondary_74afcd3b",
|
||
ghost: "ghost_74afcd3b",
|
||
danger: "danger_74afcd3b",
|
||
sm: "sm_74afcd3b",
|
||
iconButton: "iconButton_74afcd3b"
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 872:
|
||
/*!***********************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/Card.module.scss.css ***!
|
||
\***********************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var _node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/@microsoft/sp-css-loader/node_modules/@microsoft/load-themed-styles/lib-es6/index.js */ 323);
|
||
// Imports
|
||
|
||
|
||
_node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__.loadStyles(":root{--navy-950:#0a1b30;--navy-900:#0f2440;--navy-800:#1b3a5c;--navy-700:#244b73;--navy-600:#2d5c8a;--navy-100:#e8eef4;--navy-50:#f4f7fa;--gold-600:#b8881a;--gold-500:#d4a01e;--gold-400:#e5b635;--gold-300:#f0cc5e;--gold-100:#fdf5e0;--gold-50:#fefbf0;--gray-900:#111827;--gray-700:#374151;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--red-500:#dc2626;--red-50:#fef2f2;--green-600:#15803d;--green-50:#f0fdf4;--blue-600:#2563eb;--blue-50:#eff6ff;--amber-700:#854d0e;--sh-1:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);--sh-2:0 4px 16px rgba(15,36,64,.07);--sh-3:0 12px 32px rgba(15,36,64,.1);--sh-gold:0 4px 20px rgba(212,160,30,.18);--sh-modal:0 24px 70px rgba(10,27,48,.25);--r-sm:6px;--r-md:10px;--r-lg:14px}.grid_61c1671e{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));margin-bottom:24px}.navCard_61c1671e{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);color:inherit;cursor:pointer;display:flex;gap:16px;overflow:hidden;padding:22px 24px;position:relative;text-decoration:none;transition:.22s}.navCard_61c1671e:hover{border-color:#f0cc5e;box-shadow:0 12px 32px rgba(15,36,64,.1);transform:translateY(-2px)}.navCard_61c1671e:before{background:linear-gradient(180deg,#e5b635,#b8881a);bottom:0;content:\"\";left:0;opacity:0;position:absolute;top:0;transition:.22s;width:3px}.navCard_61c1671e:hover:before{opacity:1}.navIcon_61c1671e{align-items:center;background:#f4f7fa;border:1px solid #e8eef4;border-radius:10px;color:#244b73;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:.22s;width:44px}.navCard_61c1671e:hover .navIcon_61c1671e{background:#fefbf0;border-color:#f0cc5e;color:#b8881a}.navTitle_61c1671e{color:#0f2440;font-size:14.5px;font-weight:600;letter-spacing:.1px}.navDesc_61c1671e{color:#9ca3af;font-size:12px;margin-top:2px}.navArrow_61c1671e{color:#d1d5db;display:flex;margin-left:auto;transition:.22s}.navCard_61c1671e:hover .navArrow_61c1671e{color:#d4a01e;transform:translateX(3px)}.statRow_61c1671e{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:24px}.statCard_61c1671e{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);padding:18px 20px}.statLabel_61c1671e{color:#9ca3af;font-size:10px;font-weight:600;letter-spacing:1.2px;margin-bottom:6px;text-transform:uppercase}.statValue_61c1671e{color:#0f2440;font-family:Lora,Georgia,serif;font-size:26px;font-weight:600}", true);
|
||
|
||
// Exports
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||
navCard: "navCard_61c1671e",
|
||
navIcon: "navIcon_61c1671e",
|
||
navTitle: "navTitle_61c1671e",
|
||
navDesc: "navDesc_61c1671e",
|
||
navArrow: "navArrow_61c1671e",
|
||
statRow: "statRow_61c1671e",
|
||
statCard: "statCard_61c1671e",
|
||
statLabel: "statLabel_61c1671e",
|
||
statValue: "statValue_61c1671e",
|
||
grid: "grid_61c1671e"
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 264:
|
||
/*!****************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/DataTable.module.scss.css ***!
|
||
\****************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var _node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/@microsoft/sp-css-loader/node_modules/@microsoft/load-themed-styles/lib-es6/index.js */ 323);
|
||
// Imports
|
||
|
||
|
||
_node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__.loadStyles(":root{--navy-950:#0a1b30;--navy-900:#0f2440;--navy-800:#1b3a5c;--navy-700:#244b73;--navy-600:#2d5c8a;--navy-100:#e8eef4;--navy-50:#f4f7fa;--gold-600:#b8881a;--gold-500:#d4a01e;--gold-400:#e5b635;--gold-300:#f0cc5e;--gold-100:#fdf5e0;--gold-50:#fefbf0;--gray-900:#111827;--gray-700:#374151;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--red-500:#dc2626;--red-50:#fef2f2;--green-600:#15803d;--green-50:#f0fdf4;--blue-600:#2563eb;--blue-50:#eff6ff;--amber-700:#854d0e;--sh-1:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);--sh-2:0 4px 16px rgba(15,36,64,.07);--sh-3:0 12px 32px rgba(15,36,64,.1);--sh-gold:0 4px 20px rgba(212,160,30,.18);--sh-modal:0 24px 70px rgba(10,27,48,.25);--r-sm:6px;--r-md:10px;--r-lg:14px}.wrap_a3314060{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);overflow:hidden}.scroll_a3314060{overflow-x:auto}.table_a3314060{border-collapse:collapse;font-size:13.5px;min-width:100%}.table_a3314060 thead th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#9ca3af;font-size:10.5px;font-weight:600;letter-spacing:1.2px;padding:13px 18px;text-align:left;text-transform:uppercase;white-space:nowrap}.table_a3314060 tbody td{border-bottom:1px solid #f3f4f6;color:#374151;padding:15px 18px;vertical-align:middle}.table_a3314060 tbody tr:last-child td{border-bottom:0}.table_a3314060 tbody tr{transition:.12s}.table_a3314060 tbody tr:hover{background:#fefbf0}.stickyCell_a3314060{position:sticky;right:0}.table_a3314060 thead th.stickyCell_a3314060{z-index:2}.table_a3314060 tbody td.stickyCell_a3314060{background:#fff;box-shadow:-6px 0 6px -6px rgba(15,36,64,.12);z-index:1}.table_a3314060 tbody tr:hover td.stickyCell_a3314060{background:#fefbf0}.primaryCell_a3314060{align-items:center;color:#0f2440;display:flex;font-weight:500;gap:10px}.actionsCell_a3314060{align-items:center;display:flex;gap:4px;justify-content:flex-end}.empty_a3314060{color:#9ca3af;font-size:13px;padding:48px 20px;text-align:center}", true);
|
||
|
||
// Exports
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||
wrap: "wrap_a3314060",
|
||
scroll: "scroll_a3314060",
|
||
table: "table_a3314060",
|
||
stickyCell: "stickyCell_a3314060",
|
||
primaryCell: "primaryCell_a3314060",
|
||
actionsCell: "actionsCell_a3314060",
|
||
empty: "empty_a3314060"
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 550:
|
||
/*!****************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/FormField.module.scss.css ***!
|
||
\****************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var _node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/@microsoft/sp-css-loader/node_modules/@microsoft/load-themed-styles/lib-es6/index.js */ 323);
|
||
// Imports
|
||
|
||
|
||
_node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__.loadStyles(":root{--navy-950:#0a1b30;--navy-900:#0f2440;--navy-800:#1b3a5c;--navy-700:#244b73;--navy-600:#2d5c8a;--navy-100:#e8eef4;--navy-50:#f4f7fa;--gold-600:#b8881a;--gold-500:#d4a01e;--gold-400:#e5b635;--gold-300:#f0cc5e;--gold-100:#fdf5e0;--gold-50:#fefbf0;--gray-900:#111827;--gray-700:#374151;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--red-500:#dc2626;--red-50:#fef2f2;--green-600:#15803d;--green-50:#f0fdf4;--blue-600:#2563eb;--blue-50:#eff6ff;--amber-700:#854d0e;--sh-1:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);--sh-2:0 4px 16px rgba(15,36,64,.07);--sh-3:0 12px 32px rgba(15,36,64,.1);--sh-gold:0 4px 20px rgba(212,160,30,.18);--sh-modal:0 24px 70px rgba(10,27,48,.25);--r-sm:6px;--r-md:10px;--r-lg:14px}.grid_a7c8dbcf{display:grid;gap:18px 22px;grid-template-columns:1fr 1fr}.field_a7c8dbcf{display:flex;flex-direction:column;gap:6px;min-width:0}.full_a7c8dbcf{grid-column:1/-1}.label_a7c8dbcf{color:#374151;font-size:12px;font-weight:500;letter-spacing:.2px}.req_a7c8dbcf{color:#b8881a}.input_a7c8dbcf,.select_a7c8dbcf,.textarea_a7c8dbcf{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#111827;font-family:Inter,-apple-system,Segoe UI,sans-serif;font-size:13.5px;padding:11px 13px;transition:.18s;width:100%}.input_a7c8dbcf:focus,.select_a7c8dbcf:focus,.textarea_a7c8dbcf:focus{border-color:#d4a01e;box-shadow:0 0 0 3px rgba(212,160,30,.12);outline:0}.input_a7c8dbcf:-ms-input-placeholder, .select_a7c8dbcf:-ms-input-placeholder, .textarea_a7c8dbcf:-ms-input-placeholder{color:#9ca3af}.input_a7c8dbcf::placeholder,.select_a7c8dbcf::placeholder,.textarea_a7c8dbcf::placeholder{color:#9ca3af}.input_a7c8dbcf:disabled,.select_a7c8dbcf:disabled,.textarea_a7c8dbcf:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.textarea_a7c8dbcf{min-height:80px;resize:vertical}.select_a7c8dbcf{appearance:none;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1.5 5 5 5-5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.errorText_a7c8dbcf{color:#dc2626;font-size:11.5px}.hint_a7c8dbcf{color:#9ca3af;font-size:11.5px}.checkboxRow_a7c8dbcf{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:9px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.checkbox_a7c8dbcf{accent-color:#d4a01e;cursor:pointer;height:17px;width:17px}.radioGroup_a7c8dbcf{display:flex;flex-direction:column;gap:8px}.radioRow_a7c8dbcf{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:9px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.radioRow_a7c8dbcf.disabled_a7c8dbcf{cursor:not-allowed;opacity:.45}.radio_a7c8dbcf{accent-color:#d4a01e;cursor:pointer;height:16px;width:16px}.radio_a7c8dbcf:disabled{cursor:not-allowed}", true);
|
||
|
||
// Exports
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||
field: "field_a7c8dbcf",
|
||
full: "full_a7c8dbcf",
|
||
label: "label_a7c8dbcf",
|
||
req: "req_a7c8dbcf",
|
||
input: "input_a7c8dbcf",
|
||
select: "select_a7c8dbcf",
|
||
textarea: "textarea_a7c8dbcf",
|
||
errorText: "errorText_a7c8dbcf",
|
||
hint: "hint_a7c8dbcf",
|
||
checkboxRow: "checkboxRow_a7c8dbcf",
|
||
checkbox: "checkbox_a7c8dbcf",
|
||
radioGroup: "radioGroup_a7c8dbcf",
|
||
radioRow: "radioRow_a7c8dbcf",
|
||
disabled: "disabled_a7c8dbcf",
|
||
radio: "radio_a7c8dbcf",
|
||
grid: "grid_a7c8dbcf"
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 595:
|
||
/*!************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/Modal.module.scss.css ***!
|
||
\************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var _node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/@microsoft/sp-css-loader/node_modules/@microsoft/load-themed-styles/lib-es6/index.js */ 323);
|
||
// Imports
|
||
|
||
|
||
_node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__.loadStyles(":root{--navy-950:#0a1b30;--navy-900:#0f2440;--navy-800:#1b3a5c;--navy-700:#244b73;--navy-600:#2d5c8a;--navy-100:#e8eef4;--navy-50:#f4f7fa;--gold-600:#b8881a;--gold-500:#d4a01e;--gold-400:#e5b635;--gold-300:#f0cc5e;--gold-100:#fdf5e0;--gold-50:#fefbf0;--gray-900:#111827;--gray-700:#374151;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--red-500:#dc2626;--red-50:#fef2f2;--green-600:#15803d;--green-50:#f0fdf4;--blue-600:#2563eb;--blue-50:#eff6ff;--amber-700:#854d0e;--sh-1:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);--sh-2:0 4px 16px rgba(15,36,64,.07);--sh-3:0 12px 32px rgba(15,36,64,.1);--sh-gold:0 4px 20px rgba(212,160,30,.18);--sh-modal:0 24px 70px rgba(10,27,48,.25);--r-sm:6px;--r-md:10px;--r-lg:14px}.overlay_4d365bec{align-items:center;backdrop-filter:blur(6px);background:rgba(10,27,48,.5);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:300}.box_4d365bec{background:#fff;border-radius:14px;border-top:3px solid #d4a01e;box-shadow:0 24px 70px rgba(10,27,48,.25);max-height:calc(100vh - 40px);max-width:100%;overflow-y:auto;width:480px}.narrow_4d365bec{padding:30px;text-align:center;width:420px}.header_4d365bec{align-items:center;display:flex;justify-content:space-between;padding:22px 26px 0}.title_4d365bec{color:#0f2440;font-family:Lora,Georgia,serif;font-size:19px;font-weight:600}.body_4d365bec{padding:18px 26px 26px}.narrowBody_4d365bec{padding:0}.text_4d365bec{color:#6b7280;font-size:13px;line-height:1.6;margin-bottom:24px}.footer_4d365bec{display:flex;gap:10px;justify-content:flex-end;padding:16px 26px 22px}.narrowFooter_4d365bec{justify-content:center;margin-top:24px;padding:0}", true);
|
||
|
||
// Exports
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||
overlay: "overlay_4d365bec",
|
||
box: "box_4d365bec",
|
||
narrow: "narrow_4d365bec",
|
||
header: "header_4d365bec",
|
||
title: "title_4d365bec",
|
||
body: "body_4d365bec",
|
||
narrowBody: "narrowBody_4d365bec",
|
||
text: "text_4d365bec",
|
||
footer: "footer_4d365bec",
|
||
narrowFooter: "narrowFooter_4d365bec"
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 521:
|
||
/*!*****************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/PageChrome.module.scss.css ***!
|
||
\*****************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var _node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/@microsoft/sp-css-loader/node_modules/@microsoft/load-themed-styles/lib-es6/index.js */ 323);
|
||
// Imports
|
||
|
||
|
||
_node_modules_microsoft_sp_css_loader_node_modules_microsoft_load_themed_styles_lib_es6_index_js__WEBPACK_IMPORTED_MODULE_0__.loadStyles(":root{--navy-950:#0a1b30;--navy-900:#0f2440;--navy-800:#1b3a5c;--navy-700:#244b73;--navy-600:#2d5c8a;--navy-100:#e8eef4;--navy-50:#f4f7fa;--gold-600:#b8881a;--gold-500:#d4a01e;--gold-400:#e5b635;--gold-300:#f0cc5e;--gold-100:#fdf5e0;--gold-50:#fefbf0;--gray-900:#111827;--gray-700:#374151;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--red-500:#dc2626;--red-50:#fef2f2;--green-600:#15803d;--green-50:#f0fdf4;--blue-600:#2563eb;--blue-50:#eff6ff;--amber-700:#854d0e;--sh-1:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);--sh-2:0 4px 16px rgba(15,36,64,.07);--sh-3:0 12px 32px rgba(15,36,64,.1);--sh-gold:0 4px 20px rgba(212,160,30,.18);--sh-modal:0 24px 70px rgba(10,27,48,.25);--r-sm:6px;--r-md:10px;--r-lg:14px}.bread_22491a1c{align-items:center;color:#9ca3af;display:flex;flex-wrap:wrap;font-size:12px;gap:7px;letter-spacing:.2px;margin-bottom:14px}.breadLink_22491a1c{background:none;border:0;color:#244b73;cursor:pointer;font:inherit;padding:0;text-decoration:none}.breadLink_22491a1c:hover{color:#b8881a}.sep_22491a1c{color:#e5b635;font-size:10px}.ph_22491a1c{align-items:center;background:linear-gradient(135deg,#0a1b30,#1b3a5c 85%);border-radius:14px;box-shadow:0 4px 16px rgba(15,36,64,.07);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:24px;overflow:hidden;padding:26px 30px;position:relative}.ph_22491a1c:before{background:linear-gradient(90deg,#d4a01e,transparent 60%);bottom:0;content:\"\";height:2px;left:0;position:absolute;right:0}.ph_22491a1c:after{background:radial-gradient(circle,rgba(212,160,30,.14),transparent 65%);border-radius:50%;content:\"\";height:220px;position:absolute;right:-60px;top:-60px;width:220px}.phLeft_22491a1c{align-items:center;display:flex;gap:18px;position:relative;z-index:1}.phIcon_22491a1c{align-items:center;background:rgba(212,160,30,.14);border:1px solid rgba(212,160,30,.3);border-radius:10px;color:#f0cc5e;display:flex;flex-shrink:0;height:46px;justify-content:center;width:46px}.phSub_22491a1c{color:hsla(0,0%,100%,.55);font-size:10.5px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase}.phTitle_22491a1c{color:#fff;font-family:Lora,Georgia,serif;font-size:24px;font-weight:600;letter-spacing:.2px;margin-top:3px}.phRight_22491a1c{align-items:center;display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}", true);
|
||
|
||
// Exports
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||
bread: "bread_22491a1c",
|
||
breadLink: "breadLink_22491a1c",
|
||
sep: "sep_22491a1c",
|
||
ph: "ph_22491a1c",
|
||
phLeft: "phLeft_22491a1c",
|
||
phIcon: "phIcon_22491a1c",
|
||
phSub: "phSub_22491a1c",
|
||
phTitle: "phTitle_22491a1c",
|
||
phRight: "phRight_22491a1c"
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 867:
|
||
/*!****************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ApprovalAdmin.js ***!
|
||
\****************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tslib */ 196);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _ApprovalAdmin_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ApprovalAdmin.module.scss */ 845);
|
||
/* harmony import */ var _app_AdminApp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app/AdminApp */ 619);
|
||
/* harmony import */ var _services_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/api */ 905);
|
||
/* harmony import */ var _services_httpClient__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/httpClient */ 10);
|
||
|
||
|
||
|
||
|
||
|
||
|
||
var FONTS_LINK_ID = 'tnsu-approval-admin-fonts';
|
||
function ensureFontsLoaded() {
|
||
if (typeof document === 'undefined' || document.getElementById(FONTS_LINK_ID))
|
||
return;
|
||
var link = document.createElement('link');
|
||
link.id = FONTS_LINK_ID;
|
||
link.rel = 'stylesheet';
|
||
link.href = 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Lora:wght@500;600;700&display=swap';
|
||
document.head.appendChild(link);
|
||
}
|
||
function createHttpClient(props) {
|
||
return (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__awaiter)(this, void 0, void 0, function () {
|
||
var aadClient;
|
||
return (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__generator)(this, function (_a) {
|
||
switch (_a.label) {
|
||
case 0:
|
||
if (props.useDevAuth) {
|
||
return [2 /*return*/, new _services_httpClient__WEBPACK_IMPORTED_MODULE_4__.DevApiHttpClient(props.apiBaseUrl, props.devUserEmail || 'dev@tnsu.kz')];
|
||
}
|
||
return [4 /*yield*/, props.context.aadHttpClientFactory.getClient(props.aadResourceId)];
|
||
case 1:
|
||
aadClient = _a.sent();
|
||
return [2 /*return*/, new _services_httpClient__WEBPACK_IMPORTED_MODULE_4__.AadApiHttpClient(aadClient, props.apiBaseUrl)];
|
||
}
|
||
});
|
||
});
|
||
}
|
||
var ApprovalAdmin = function (props) {
|
||
var _a = react__WEBPACK_IMPORTED_MODULE_0__.useState(), api = _a[0], setApi = _a[1];
|
||
var _b = react__WEBPACK_IMPORTED_MODULE_0__.useState(), error = _b[0], setError = _b[1];
|
||
react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
|
||
ensureFontsLoaded();
|
||
}, []);
|
||
react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
|
||
var cancelled = false;
|
||
setApi(undefined);
|
||
setError(undefined);
|
||
createHttpClient(props)
|
||
.then(function (client) { if (!cancelled)
|
||
setApi(new _services_api__WEBPACK_IMPORTED_MODULE_3__.ApprovalRouteApi(client)); })
|
||
.catch(function (e) { if (!cancelled)
|
||
setError(e.message); });
|
||
return function () { cancelled = true; };
|
||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||
}, [props.useDevAuth, props.apiBaseUrl, props.devUserEmail, props.aadResourceId]);
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("section", { className: _ApprovalAdmin_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].approvalAdmin },
|
||
error && (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _ApprovalAdmin_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].stateBox },
|
||
"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F \u043A API: ",
|
||
error,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("br", null),
|
||
"\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0432\u0435\u0431-\u0447\u0430\u0441\u0442\u0438 (Api Base Url, \u0440\u0435\u0436\u0438\u043C \u0430\u0432\u0442\u043E\u0440\u0438\u0437\u0430\u0446\u0438\u0438) \u0432 \u043F\u0430\u043D\u0435\u043B\u0438 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A.")),
|
||
!error && !api && react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _ApprovalAdmin_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].stateBox }, "\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043A API..."),
|
||
api && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_app_AdminApp__WEBPACK_IMPORTED_MODULE_2__.AdminApp, { api: api, currentUserEmail: props.context.pageContext.user.email })));
|
||
};
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ApprovalAdmin);
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 619:
|
||
/*!***************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/app/AdminApp.js ***!
|
||
\***************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ AdminApp: () => (/* binding */ AdminApp)
|
||
/* harmony export */ });
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _AdminApp_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AdminApp.module.scss */ 41);
|
||
/* harmony import */ var _TopNav__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TopNav */ 801);
|
||
/* harmony import */ var _screens_DashboardScreen__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../screens/DashboardScreen */ 379);
|
||
/* harmony import */ var _screens_RequestTypesScreen__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../screens/RequestTypesScreen */ 273);
|
||
/* harmony import */ var _screens_RoutesScreen__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../screens/RoutesScreen */ 373);
|
||
/* harmony import */ var _screens_RouteStepsScreen__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../screens/RouteStepsScreen */ 187);
|
||
/* harmony import */ var _screens_ResolveScreen__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../screens/ResolveScreen */ 667);
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
var AdminApp = function (_a) {
|
||
var api = _a.api, currentUserEmail = _a.currentUserEmail;
|
||
var _b = react__WEBPACK_IMPORTED_MODULE_0__.useState('dashboard'), screen = _b[0], setScreen = _b[1];
|
||
var _c = react__WEBPACK_IMPORTED_MODULE_0__.useState(), selectedRoute = _c[0], setSelectedRoute = _c[1];
|
||
var _d = react__WEBPACK_IMPORTED_MODULE_0__.useState(''), selectedRequestTypeName = _d[0], setSelectedRequestTypeName = _d[1];
|
||
var navigate = function (key) {
|
||
setScreen(key);
|
||
};
|
||
var openSteps = function (route) {
|
||
setSelectedRoute(route);
|
||
api.requestTypes.get(route.requestTypeId)
|
||
.then(function (rt) { return setSelectedRequestTypeName(rt.name); })
|
||
.catch(function () { return setSelectedRequestTypeName("#".concat(route.requestTypeId)); });
|
||
setScreen('routeSteps');
|
||
};
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _AdminApp_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].shell },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_TopNav__WEBPACK_IMPORTED_MODULE_2__.TopNav, { active: screen, onSelect: navigate }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _AdminApp_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].content },
|
||
screen === 'dashboard' && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_screens_DashboardScreen__WEBPACK_IMPORTED_MODULE_3__.DashboardScreen, { api: api, onNavigate: navigate }),
|
||
screen === 'requestTypes' && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_screens_RequestTypesScreen__WEBPACK_IMPORTED_MODULE_4__.RequestTypesScreen, { api: api }),
|
||
screen === 'routes' && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_screens_RoutesScreen__WEBPACK_IMPORTED_MODULE_5__.RoutesScreen, { api: api, onOpenSteps: openSteps }),
|
||
screen === 'routeSteps' && selectedRoute && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_screens_RouteStepsScreen__WEBPACK_IMPORTED_MODULE_6__.RouteStepsScreen, { api: api, route: selectedRoute, requestTypeName: selectedRequestTypeName, onBack: function () { return setScreen('routes'); } })),
|
||
screen === 'resolve' && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_screens_ResolveScreen__WEBPACK_IMPORTED_MODULE_7__.ResolveScreen, { api: api, currentUserEmail: currentUserEmail }))));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 801:
|
||
/*!*************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/app/TopNav.js ***!
|
||
\*************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ TopNav: () => (/* binding */ TopNav)
|
||
/* harmony export */ });
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _TopNav_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TopNav.module.scss */ 923);
|
||
|
||
|
||
var TABS = [
|
||
{ key: 'dashboard', label: 'Дашборд' },
|
||
{ key: 'requestTypes', label: 'Типы заявок' },
|
||
{ key: 'routes', label: 'Маршруты' },
|
||
{ key: 'resolve', label: 'Проверка маршрута' }
|
||
];
|
||
var TopNav = function (_a) {
|
||
var active = _a.active, onSelect = _a.onSelect;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("nav", { className: _TopNav_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].topnav },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _TopNav_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].brand },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _TopNav_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].mark }, "T"),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _TopNav_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].brandText },
|
||
"TNSU ",
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("em", null, "Approval Route"))),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _TopNav_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].tabs }, TABS.map(function (tab) { return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("button", { key: tab.key, className: "".concat(_TopNav_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].tab, " ").concat((active === tab.key || (active === 'routeSteps' && tab.key === 'routes')) ? _TopNav_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].on : ''), onClick: function () { return onSelect(tab.key); } }, tab.label)); }))));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 379:
|
||
/*!**************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/screens/DashboardScreen.js ***!
|
||
\**************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ DashboardScreen: () => (/* binding */ DashboardScreen)
|
||
/* harmony export */ });
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ui */ 536);
|
||
|
||
|
||
var DashboardScreen = function (_a) {
|
||
var api = _a.api, onNavigate = _a.onNavigate;
|
||
var _b = react__WEBPACK_IMPORTED_MODULE_0__.useState(), requestTypesCount = _b[0], setRequestTypesCount = _b[1];
|
||
var _c = react__WEBPACK_IMPORTED_MODULE_0__.useState(), routesCount = _c[0], setRoutesCount = _c[1];
|
||
react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
|
||
api.requestTypes.list().then(function (items) { return setRequestTypesCount(items.length); }).catch(function () { return setRequestTypesCount(undefined); });
|
||
api.templateRoutes.list().then(function (items) { return setRoutesCount(items.length); }).catch(function () { return setRoutesCount(undefined); });
|
||
}, [api]);
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.StatRow, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.StatCard, { label: "\u0422\u0438\u043F\u043E\u0432 \u0437\u0430\u044F\u0432\u043E\u043A", value: requestTypesCount !== null && requestTypesCount !== void 0 ? requestTypesCount : '—' }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.StatCard, { label: "\u041C\u0430\u0440\u0448\u0440\u0443\u0442\u043E\u0432 \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u044F", value: routesCount !== null && routesCount !== void 0 ? routesCount : '—' })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { style: { fontSize: 10, textTransform: 'uppercase', letterSpacing: 1.6, color: 'var(--gray-400)', fontWeight: 600, marginBottom: 12 } }, "\u0420\u0430\u0437\u0434\u0435\u043B\u044B"),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("hr", { style: { height: 1, background: 'linear-gradient(90deg, var(--gold-400), transparent 70%)', border: 0, margin: '6px 0 22px' } }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.CardGrid, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.NavCard, { icon: "clipboard", title: "\u0422\u0438\u043F\u044B \u0437\u0430\u044F\u0432\u043E\u043A", description: "\u0421\u043F\u0440\u0430\u0432\u043E\u0447\u043D\u0438\u043A \u0442\u0438\u043F\u043E\u0432 \u0437\u0430\u044F\u0432\u043E\u043A \u0438 \u0438\u0445 \u0441\u0442\u0440\u0430\u043D\u0438\u0446", onClick: function () { return onNavigate('requestTypes'); } }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.NavCard, { icon: "route", title: "\u041C\u0430\u0440\u0448\u0440\u0443\u0442\u044B \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u044F", description: "\u041C\u0430\u0440\u0448\u0440\u0443\u0442\u044B, \u0448\u0430\u0433\u0438 \u0438 \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u0438", onClick: function () { return onNavigate('routes'); } }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.NavCard, { icon: "search", title: "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043C\u0430\u0440\u0448\u0440\u0443\u0442\u0430", description: "\u041A\u0430\u043A \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u0441\u044F \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u0434\u043B\u044F \u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0433\u043E \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F", onClick: function () { return onNavigate('resolve'); } }))));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 273:
|
||
/*!*****************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/screens/RequestTypesScreen.js ***!
|
||
\*****************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ RequestTypesScreen: () => (/* binding */ RequestTypesScreen)
|
||
/* harmony export */ });
|
||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ 196);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ui */ 536);
|
||
|
||
|
||
|
||
var EMPTY_FORM = { name: '', pageUrl: '' };
|
||
var RequestTypesScreen = function (_a) {
|
||
var api = _a.api;
|
||
var _b = react__WEBPACK_IMPORTED_MODULE_0__.useState([]), items = _b[0], setItems = _b[1];
|
||
var _c = react__WEBPACK_IMPORTED_MODULE_0__.useState(true), loading = _c[0], setLoading = _c[1];
|
||
var _d = react__WEBPACK_IMPORTED_MODULE_0__.useState(), loadError = _d[0], setLoadError = _d[1];
|
||
var _e = react__WEBPACK_IMPORTED_MODULE_0__.useState(), editing = _e[0], setEditing = _e[1];
|
||
var _f = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), showForm = _f[0], setShowForm = _f[1];
|
||
var _g = react__WEBPACK_IMPORTED_MODULE_0__.useState(EMPTY_FORM), form = _g[0], setForm = _g[1];
|
||
var _h = react__WEBPACK_IMPORTED_MODULE_0__.useState(), formError = _h[0], setFormError = _h[1];
|
||
var _j = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), saving = _j[0], setSaving = _j[1];
|
||
var _k = react__WEBPACK_IMPORTED_MODULE_0__.useState(), deleting = _k[0], setDeleting = _k[1];
|
||
var _l = react__WEBPACK_IMPORTED_MODULE_0__.useState(), deleteError = _l[0], setDeleteError = _l[1];
|
||
var _m = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), deleteBusy = _m[0], setDeleteBusy = _m[1];
|
||
var load = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function () {
|
||
setLoading(true);
|
||
setLoadError(undefined);
|
||
api.requestTypes
|
||
.list()
|
||
.then(setItems)
|
||
.catch(function (e) { return setLoadError(e.message); })
|
||
.finally(function () { return setLoading(false); });
|
||
}, [api]);
|
||
react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () { load(); }, [load]);
|
||
var openCreate = function () {
|
||
setEditing(undefined);
|
||
setForm(EMPTY_FORM);
|
||
setFormError(undefined);
|
||
setShowForm(true);
|
||
};
|
||
var openEdit = function (item) {
|
||
setEditing(item);
|
||
setForm({ name: item.name, pageUrl: item.pageUrl });
|
||
setFormError(undefined);
|
||
setShowForm(true);
|
||
};
|
||
var submit = function () {
|
||
if (!form.name.trim() || !form.pageUrl.trim()) {
|
||
setFormError('Заполните имя и Url страницы.');
|
||
return;
|
||
}
|
||
setSaving(true);
|
||
setFormError(undefined);
|
||
var request = editing
|
||
? api.requestTypes.update(editing.id, { name: form.name.trim(), pageUrl: form.pageUrl.trim() })
|
||
: api.requestTypes.create({ name: form.name.trim(), pageUrl: form.pageUrl.trim() });
|
||
request
|
||
.then(function () {
|
||
setShowForm(false);
|
||
load();
|
||
})
|
||
.catch(function (e) { return setFormError(e.message); })
|
||
.finally(function () { return setSaving(false); });
|
||
};
|
||
var confirmDelete = function () {
|
||
if (!deleting)
|
||
return;
|
||
setDeleteBusy(true);
|
||
setDeleteError(undefined);
|
||
api.requestTypes
|
||
.remove(deleting.id)
|
||
.then(function () {
|
||
setDeleting(undefined);
|
||
load();
|
||
})
|
||
.catch(function (e) { return setDeleteError(e.message); })
|
||
.finally(function () { return setDeleteBusy(false); });
|
||
};
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.Breadcrumbs, { items: [{ label: 'Главная' }, { label: 'Типы заявок' }] }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.PageHeader, { icon: "clipboard", subtitle: "\u0421\u043F\u0440\u0430\u0432\u043E\u0447\u043D\u0438\u043A", title: "\u0422\u0438\u043F\u044B \u0437\u0430\u044F\u0432\u043E\u043A", actions: react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.Button, { variant: "accent", icon: "plus", onClick: openCreate }, "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0442\u0438\u043F") }),
|
||
loadError && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.Alert, { kind: "err" }, loadError),
|
||
deleteError && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.Alert, { kind: "err" }, deleteError),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.DataTable, { columns: [
|
||
{ key: 'name', header: 'Название', render: function (r) { return react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.PrimaryCell, null, r.name); } },
|
||
{ key: 'url', header: 'Url страницы', render: function (r) { return r.pageUrl; } },
|
||
{
|
||
key: 'actions',
|
||
header: '',
|
||
width: '100px',
|
||
align: 'right',
|
||
sticky: true,
|
||
render: function (r) { return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.ActionsCell, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.IconButton, { icon: "edit", label: "\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C", onClick: function () { return openEdit(r); } }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.IconButton, { icon: "trash", label: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C", danger: true, onClick: function () { setDeleteError(undefined); setDeleting(r); } }))); }
|
||
}
|
||
], rows: items, keyOf: function (r) { return r.id; }, emptyMessage: loading ? 'Загрузка...' : 'Типов заявок пока нет.' }),
|
||
showForm && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.Modal, { title: editing ? 'Редактировать тип заявки' : 'Новый тип заявки', onClose: function () { return setShowForm(false); }, footer: react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.Button, { variant: "secondary", onClick: function () { return setShowForm(false); }, disabled: saving }, "\u041E\u0442\u043C\u0435\u043D\u0430"),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.Button, { variant: "accent", icon: "check", onClick: submit, disabled: saving }, saving ? 'Сохранение...' : 'Сохранить')) },
|
||
formError && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.Alert, { kind: "err" }, formError),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.FormGrid, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.Field, { label: "\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435", required: true, full: true },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.TextInput, { value: form.name, onChange: function (e) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, form), { name: e.target.value })); }, placeholder: "\u041D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0417\u0430\u044F\u0432\u043A\u0430 \u043D\u0430 \u043A\u043E\u043C\u0430\u043D\u0434\u0438\u0440\u043E\u0432\u043A\u0443" })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.Field, { label: "Url \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B", required: true, full: true, hint: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0444\u043E\u0440\u043C\u044B \u0437\u0430\u044F\u0432\u043A\u0438 \u043D\u0430 \u043F\u043E\u0440\u0442\u0430\u043B\u0435." },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.TextInput, { value: form.pageUrl, onChange: function (e) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, form), { pageUrl: e.target.value })); }, placeholder: "/pages/business-trip" }))))),
|
||
deleting && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_1__.ConfirmDialog, { title: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0442\u0438\u043F \u0437\u0430\u044F\u0432\u043A\u0438?", text: "\u0422\u0438\u043F \u00AB".concat(deleting.name, "\u00BB \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043B\u0451\u043D \u0431\u0435\u0437\u0432\u043E\u0437\u0432\u0440\u0430\u0442\u043D\u043E. \u0421\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435 \u043C\u0430\u0440\u0448\u0440\u0443\u0442\u044B \u043C\u043E\u0433\u0443\u0442 \u043F\u0435\u0440\u0435\u0441\u0442\u0430\u0442\u044C \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044C\u0441\u044F."), confirmLabel: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C", busy: deleteBusy, onCancel: function () { return setDeleting(undefined); }, onConfirm: confirmDelete }))));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 667:
|
||
/*!************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/screens/ResolveScreen.js ***!
|
||
\************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ ResolveScreen: () => (/* binding */ ResolveScreen)
|
||
/* harmony export */ });
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _models__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../models */ 907);
|
||
/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui */ 536);
|
||
|
||
|
||
|
||
var STATUS_OPTIONS = [_models__WEBPACK_IMPORTED_MODULE_1__.RouteStepStatus.Approval, _models__WEBPACK_IMPORTED_MODULE_1__.RouteStepStatus.Execution]
|
||
.map(function (v) { return ({ value: v, label: _models__WEBPACK_IMPORTED_MODULE_1__.routeStepStatusLabels[v] }); });
|
||
var ResolveScreen = function (_a) {
|
||
var api = _a.api, currentUserEmail = _a.currentUserEmail;
|
||
var _b = react__WEBPACK_IMPORTED_MODULE_0__.useState([]), requestTypes = _b[0], setRequestTypes = _b[1];
|
||
var _c = react__WEBPACK_IMPORTED_MODULE_0__.useState(''), requestTypeId = _c[0], setRequestTypeId = _c[1];
|
||
var _d = react__WEBPACK_IMPORTED_MODULE_0__.useState(''), userEmail = _d[0], setUserEmail = _d[1];
|
||
var _e = react__WEBPACK_IMPORTED_MODULE_0__.useState(''), projectId = _e[0], setProjectId = _e[1];
|
||
var _f = react__WEBPACK_IMPORTED_MODULE_0__.useState(_models__WEBPACK_IMPORTED_MODULE_1__.RouteStepStatus.Approval), status = _f[0], setStatus = _f[1];
|
||
var _g = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), busy = _g[0], setBusy = _g[1];
|
||
var _h = react__WEBPACK_IMPORTED_MODULE_0__.useState(), error = _h[0], setError = _h[1];
|
||
var _j = react__WEBPACK_IMPORTED_MODULE_0__.useState(), result = _j[0], setResult = _j[1];
|
||
react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
|
||
api.requestTypes.list().then(setRequestTypes).catch(function () { });
|
||
}, [api]);
|
||
var run = function () {
|
||
if (!requestTypeId) {
|
||
setError('Выберите тип заявки.');
|
||
return;
|
||
}
|
||
setBusy(true);
|
||
setError(undefined);
|
||
setResult(undefined);
|
||
api.templateRoutes
|
||
.resolve({
|
||
requestTypeId: Number(requestTypeId),
|
||
userEmail: userEmail.trim() || undefined,
|
||
projectId: projectId.trim() || undefined,
|
||
status: status
|
||
})
|
||
.then(setResult)
|
||
.catch(function (e) { return setError(e.message); })
|
||
.finally(function () { return setBusy(false); });
|
||
};
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Breadcrumbs, { items: [{ label: 'Главная' }, { label: 'Проверка маршрута' }] }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.PageHeader, { icon: "search", subtitle: "\u0414\u0438\u0430\u0433\u043D\u043E\u0441\u0442\u0438\u043A\u0430", title: "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u044F \u043C\u0430\u0440\u0448\u0440\u0443\u0442\u0430" }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { style: { background: '#fff', borderRadius: 14, padding: 26, boxShadow: 'var(--sh-1)', border: '1px solid var(--gray-200)', marginBottom: 24 } },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.FormGrid, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u0422\u0438\u043F \u0437\u0430\u044F\u0432\u043A\u0438", required: true, full: true },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Select, { options: requestTypes.map(function (rt) { return ({ value: String(rt.id), label: rt.name }); }), placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043F \u0437\u0430\u044F\u0432\u043A\u0438", value: requestTypeId, onChange: function (e) { return setRequestTypeId(e.target.value); } })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "Email \u0438\u043D\u0438\u0446\u0438\u0430\u0442\u043E\u0440\u0430", hint: currentUserEmail ? "\u041F\u0443\u0441\u0442\u043E = \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C (".concat(currentUserEmail, ").") : 'Пусто = текущий пользователь из токена.' },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.TextInput, { value: userEmail, onChange: function (e) { return setUserEmail(e.target.value); }, placeholder: "user@tnsu.kz" })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "Id \u043F\u0440\u043E\u0435\u043A\u0442\u0430 (Guid)", hint: "\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u0435, \u0435\u0441\u043B\u0438 \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043E\u0442 \u043F\u0440\u043E\u0435\u043A\u0442\u0430." },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.TextInput, { value: projectId, onChange: function (e) { return setProjectId(e.target.value); }, placeholder: "\u041D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E" })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u0421\u0442\u0430\u0442\u0443\u0441", required: true },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Select, { options: STATUS_OPTIONS, value: status, onChange: function (e) { return setStatus(e.target.value); } }))),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { style: { marginTop: 18 } },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Button, { variant: "accent", icon: "search", onClick: run, disabled: busy }, busy ? 'Проверка...' : 'Проверить'))),
|
||
error && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Alert, { kind: "err" }, error),
|
||
result && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Alert, { kind: "ok" },
|
||
"\u041C\u0430\u0440\u0448\u0440\u0443\u0442 #",
|
||
result.routeId,
|
||
" \u00B7 ",
|
||
_models__WEBPACK_IMPORTED_MODULE_1__.routeTypeLabels[result.routeType],
|
||
result.requiresControl ? ' · требуется контроль исполнения' : ''),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.DataTable, { columns: [
|
||
{ key: 'order', header: '№', width: '50px', render: function (r) { return r.orderNo; } },
|
||
{ key: 'executor', header: 'Исполнитель', render: function (r) { var _a; return react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.PrimaryCell, null, (_a = r.executorEmail) !== null && _a !== void 0 ? _a : '—'); } },
|
||
{ key: 'position', header: 'Должность', render: function (r) { var _a; return (_a = r.position) !== null && _a !== void 0 ? _a : '—'; } },
|
||
{
|
||
key: 'reassign',
|
||
header: 'Переназначение',
|
||
align: 'center',
|
||
render: function (r) { return (r.allowReassignToOtherApprovers ? 'Разрешено' : 'Нет'); }
|
||
}
|
||
], rows: result.steps, keyOf: function (r) { return r.id; }, emptyMessage: "\u041C\u0430\u0440\u0448\u0440\u0443\u0442 \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u043B\u0441\u044F \u0431\u0435\u0437 \u0448\u0430\u0433\u043E\u0432 \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0441\u0442\u0430\u0442\u0443\u0441\u0430." })))));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 187:
|
||
/*!***************************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/screens/RouteStepsScreen.js ***!
|
||
\***************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ RouteStepsScreen: () => (/* binding */ RouteStepsScreen)
|
||
/* harmony export */ });
|
||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ 196);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _models__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../models */ 907);
|
||
/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui */ 536);
|
||
|
||
|
||
|
||
|
||
function emptyForm(nextOrderNo) {
|
||
return {
|
||
orderNo: String(nextOrderNo),
|
||
status: _models__WEBPACK_IMPORTED_MODULE_1__.RouteStepStatus.Approval,
|
||
kind: 'email',
|
||
executorEmail: '',
|
||
position: '',
|
||
projectRole: _models__WEBPACK_IMPORTED_MODULE_1__.ProjectRole.ProjectManager,
|
||
headType: _models__WEBPACK_IMPORTED_MODULE_1__.HeadType.Chief,
|
||
allowReassignToOtherApprovers: false
|
||
};
|
||
}
|
||
var STATUS_OPTIONS = [_models__WEBPACK_IMPORTED_MODULE_1__.RouteStepStatus.Approval, _models__WEBPACK_IMPORTED_MODULE_1__.RouteStepStatus.Execution]
|
||
.map(function (v) { return ({ value: v, label: _models__WEBPACK_IMPORTED_MODULE_1__.routeStepStatusLabels[v] }); });
|
||
var PROJECT_ROLE_OPTIONS = Object.values(_models__WEBPACK_IMPORTED_MODULE_1__.ProjectRole)
|
||
.filter(function (v) { return v !== _models__WEBPACK_IMPORTED_MODULE_1__.ProjectRole.None; })
|
||
.map(function (v) { return ({ value: v, label: _models__WEBPACK_IMPORTED_MODULE_1__.projectRoleLabels[v] }); });
|
||
var HEAD_TYPE_OPTIONS = Object.values(_models__WEBPACK_IMPORTED_MODULE_1__.HeadType)
|
||
.filter(function (v) { return v !== _models__WEBPACK_IMPORTED_MODULE_1__.HeadType.None; })
|
||
.map(function (v) { return ({ value: v, label: _models__WEBPACK_IMPORTED_MODULE_1__.headTypeLabels[v] }); });
|
||
var RouteStepsScreen = function (_a) {
|
||
var api = _a.api, route = _a.route, requestTypeName = _a.requestTypeName, onBack = _a.onBack;
|
||
var _b = react__WEBPACK_IMPORTED_MODULE_0__.useState([]), items = _b[0], setItems = _b[1];
|
||
var _c = react__WEBPACK_IMPORTED_MODULE_0__.useState(true), loading = _c[0], setLoading = _c[1];
|
||
var _d = react__WEBPACK_IMPORTED_MODULE_0__.useState(), loadError = _d[0], setLoadError = _d[1];
|
||
var _e = react__WEBPACK_IMPORTED_MODULE_0__.useState(), warning = _e[0], setWarning = _e[1];
|
||
var _f = react__WEBPACK_IMPORTED_MODULE_0__.useState(), editing = _f[0], setEditing = _f[1];
|
||
var _g = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), showForm = _g[0], setShowForm = _g[1];
|
||
var _h = react__WEBPACK_IMPORTED_MODULE_0__.useState(emptyForm(1)), form = _h[0], setForm = _h[1];
|
||
var _j = react__WEBPACK_IMPORTED_MODULE_0__.useState(), formError = _j[0], setFormError = _j[1];
|
||
var _k = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), saving = _k[0], setSaving = _k[1];
|
||
var _l = react__WEBPACK_IMPORTED_MODULE_0__.useState(), deleting = _l[0], setDeleting = _l[1];
|
||
var _m = react__WEBPACK_IMPORTED_MODULE_0__.useState(), deleteError = _m[0], setDeleteError = _m[1];
|
||
var _o = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), deleteBusy = _o[0], setDeleteBusy = _o[1];
|
||
var load = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function () {
|
||
setLoading(true);
|
||
setLoadError(undefined);
|
||
api.templateRouteSteps
|
||
.list(route.id)
|
||
.then(setItems)
|
||
.catch(function (e) { return setLoadError(e.message); })
|
||
.finally(function () { return setLoading(false); });
|
||
}, [api, route.id]);
|
||
react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () { load(); }, [load]);
|
||
var openCreate = function () {
|
||
setEditing(undefined);
|
||
var nextOrder = items.length > 0 ? Math.max.apply(Math, items.map(function (s) { return s.orderNo; })) + 1 : 1;
|
||
setForm(emptyForm(nextOrder));
|
||
setFormError(undefined);
|
||
setShowForm(true);
|
||
};
|
||
var openEdit = function (item) {
|
||
var _a, _b;
|
||
setEditing(item);
|
||
setForm({
|
||
orderNo: String(item.orderNo),
|
||
status: item.status,
|
||
kind: (0,_models__WEBPACK_IMPORTED_MODULE_1__.detectExecutorKind)(item),
|
||
executorEmail: (_a = item.executorEmail) !== null && _a !== void 0 ? _a : '',
|
||
position: (_b = item.position) !== null && _b !== void 0 ? _b : '',
|
||
projectRole: item.projectRole && item.projectRole !== _models__WEBPACK_IMPORTED_MODULE_1__.ProjectRole.None ? item.projectRole : _models__WEBPACK_IMPORTED_MODULE_1__.ProjectRole.ProjectManager,
|
||
headType: item.headType && item.headType !== _models__WEBPACK_IMPORTED_MODULE_1__.HeadType.None ? item.headType : _models__WEBPACK_IMPORTED_MODULE_1__.HeadType.Chief,
|
||
allowReassignToOtherApprovers: item.allowReassignToOtherApprovers
|
||
});
|
||
setFormError(undefined);
|
||
setShowForm(true);
|
||
};
|
||
var submit = function () {
|
||
var orderNo = Number(form.orderNo);
|
||
if (!orderNo || orderNo < 1) {
|
||
setFormError('Порядковый номер шага обязателен.');
|
||
return;
|
||
}
|
||
if (form.kind === 'email' && !form.executorEmail.trim()) {
|
||
setFormError('Укажите email исполнителя.');
|
||
return;
|
||
}
|
||
if (form.kind === 'position' && !form.position.trim()) {
|
||
setFormError('Укажите должность.');
|
||
return;
|
||
}
|
||
var payload = {
|
||
orderNo: orderNo,
|
||
status: form.status,
|
||
allowReassignToOtherApprovers: form.allowReassignToOtherApprovers,
|
||
executorEmail: form.kind === 'email' ? form.executorEmail.trim() : null,
|
||
position: form.kind === 'position' ? form.position.trim() : null,
|
||
projectRole: form.kind === 'projectRole' ? form.projectRole : null,
|
||
headType: form.kind === 'headType' ? form.headType : null
|
||
};
|
||
setSaving(true);
|
||
setFormError(undefined);
|
||
var request = editing
|
||
? api.templateRouteSteps.update(route.id, editing.id, payload)
|
||
: api.templateRouteSteps.create(route.id, payload);
|
||
request
|
||
.then(function (step) {
|
||
var _a;
|
||
setShowForm(false);
|
||
setWarning((_a = step.warning) !== null && _a !== void 0 ? _a : undefined);
|
||
load();
|
||
})
|
||
.catch(function (e) { return setFormError(e.message); })
|
||
.finally(function () { return setSaving(false); });
|
||
};
|
||
var confirmDelete = function () {
|
||
if (!deleting)
|
||
return;
|
||
setDeleteBusy(true);
|
||
setDeleteError(undefined);
|
||
api.templateRouteSteps
|
||
.remove(route.id, deleting.id)
|
||
.then(function () {
|
||
setDeleting(undefined);
|
||
load();
|
||
})
|
||
.catch(function (e) { return setDeleteError(e.message); })
|
||
.finally(function () { return setDeleteBusy(false); });
|
||
};
|
||
var sorted = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__spreadArray)([], items, true).sort(function (a, b) { return a.orderNo - b.orderNo; });
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Breadcrumbs, { items: [
|
||
{ label: 'Главная' },
|
||
{ label: 'Маршруты согласования', onClick: onBack },
|
||
{ label: "\u0428\u0430\u0433\u0438 \u043C\u0430\u0440\u0448\u0440\u0443\u0442\u0430 #".concat(route.id) }
|
||
] }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.PageHeader, { icon: "flag-check", subtitle: "".concat(requestTypeName, " \u00B7 ").concat(_models__WEBPACK_IMPORTED_MODULE_1__.routeTypeLabels[route.routeType]), title: "\u041C\u0430\u0440\u0448\u0440\u0443\u0442 #".concat(route.id), actions: react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Button, { variant: "ghost", icon: "arrow-left", onClick: onBack }, "\u041A \u043C\u0430\u0440\u0448\u0440\u0443\u0442\u0430\u043C"),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Button, { variant: "accent", icon: "plus", onClick: openCreate }, "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0448\u0430\u0433")) }),
|
||
warning && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Alert, { kind: "warn" }, warning),
|
||
loadError && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Alert, { kind: "err" }, loadError),
|
||
deleteError && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Alert, { kind: "err" }, deleteError),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.DataTable, { columns: [
|
||
{ key: 'order', header: '№', width: '50px', render: function (r) { return r.orderNo; } },
|
||
{
|
||
key: 'executor',
|
||
header: 'Исполнитель',
|
||
render: function (r) { return react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.PrimaryCell, null, describeExecutor(r)); }
|
||
},
|
||
{
|
||
key: 'status',
|
||
header: 'Статус',
|
||
render: function (r) { return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Badge, { variant: r.status === _models__WEBPACK_IMPORTED_MODULE_1__.RouteStepStatus.Approval ? 'gold' : 'blue' }, _models__WEBPACK_IMPORTED_MODULE_1__.routeStepStatusLabels[r.status])); }
|
||
},
|
||
{
|
||
key: 'reassign',
|
||
header: 'Переназначение',
|
||
align: 'center',
|
||
render: function (r) { return (r.allowReassignToOtherApprovers ? react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Badge, { variant: "ok" }, "\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u043E") : react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Badge, { variant: "neutral" }, "\u041D\u0435\u0442")); }
|
||
},
|
||
{
|
||
key: 'actions',
|
||
header: '',
|
||
width: '100px',
|
||
align: 'right',
|
||
sticky: true,
|
||
render: function (r) { return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.ActionsCell, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.IconButton, { icon: "edit", label: "\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C", onClick: function () { return openEdit(r); } }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.IconButton, { icon: "trash", label: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C", danger: true, onClick: function () { setDeleteError(undefined); setDeleting(r); } }))); }
|
||
}
|
||
], rows: sorted, keyOf: function (r) { return r.id; }, emptyMessage: loading ? 'Загрузка...' : 'Шагов пока нет — добавьте первый.' }),
|
||
showForm && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Modal, { title: editing ? "\u0428\u0430\u0433 #".concat(editing.orderNo) : 'Новый шаг маршрута', onClose: function () { return setShowForm(false); }, footer: react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Button, { variant: "secondary", onClick: function () { return setShowForm(false); }, disabled: saving }, "\u041E\u0442\u043C\u0435\u043D\u0430"),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Button, { variant: "accent", icon: "check", onClick: submit, disabled: saving }, saving ? 'Сохранение...' : 'Сохранить')) },
|
||
formError && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Alert, { kind: "err" }, formError),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.FormGrid, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u041F\u043E\u0440\u044F\u0434\u043A\u043E\u0432\u044B\u0439 \u043D\u043E\u043C\u0435\u0440", required: true },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.TextInput, { type: "number", min: 1, value: form.orderNo, onChange: function (e) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { orderNo: e.target.value })); } })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u0421\u0442\u0430\u0442\u0443\u0441 \u0448\u0430\u0433\u0430", required: true },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Select, { options: STATUS_OPTIONS, value: form.status, onChange: function (e) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { status: e.target.value })); } })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u041A\u0442\u043E \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C", required: true, full: true, hint: "\u0414\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u043E \u0440\u043E\u0432\u043D\u043E \u043E\u0434\u043D\u043E \u0438\u0437 \u043F\u043E\u043B\u0435\u0439." },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.RadioGroup, { name: "executorKind", value: form.kind, onChange: function (kind) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { kind: kind })); }, options: [
|
||
{ value: 'email', label: 'Конкретный сотрудник (email)' },
|
||
{ value: 'position', label: 'По должности в компании инициатора' },
|
||
{
|
||
value: 'projectRole',
|
||
label: 'По роли в проекте',
|
||
disabled: !route.byProject,
|
||
disabledHint: 'Недоступно: маршрут не учитывает проект (по проекту = нет).'
|
||
},
|
||
{ value: 'headType', label: 'По типу руководителя' }
|
||
] })),
|
||
form.kind === 'email' && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "Email \u0438\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044F", required: true, full: true },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.TextInput, { value: form.executorEmail, onChange: function (e) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { executorEmail: e.target.value })); }, placeholder: "user@tnsu.kz" }))),
|
||
form.kind === 'position' && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u0414\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C", required: true, full: true, hint: "\u0418\u0449\u0435\u0442\u0441\u044F \u0432 \u0441\u043F\u0440\u0430\u0432\u043E\u0447\u043D\u0438\u043A\u0435 api.tnsu.kz \u043F\u043E \u043A\u043E\u043C\u043F\u0430\u043D\u0438\u0438 \u0438\u043D\u0438\u0446\u0438\u0430\u0442\u043E\u0440\u0430." },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.TextInput, { value: form.position, onChange: function (e) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { position: e.target.value })); }, placeholder: "\u0413\u043B\u0430\u0432\u043D\u044B\u0439 \u0438\u043D\u0436\u0435\u043D\u0435\u0440" }))),
|
||
form.kind === 'projectRole' && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u0420\u043E\u043B\u044C \u0432 \u043F\u0440\u043E\u0435\u043A\u0442\u0435", required: true, full: true },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Select, { options: PROJECT_ROLE_OPTIONS, value: form.projectRole, onChange: function (e) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { projectRole: e.target.value })); } }))),
|
||
form.kind === 'headType' && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u0422\u0438\u043F \u0440\u0443\u043A\u043E\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044F", required: true, full: true },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Select, { options: HEAD_TYPE_OPTIONS, value: form.headType, onChange: function (e) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { headType: e.target.value })); } }))),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u041F\u0435\u0440\u0435\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", full: true },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Checkbox, { label: "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043F\u0435\u0440\u0435\u043D\u0430\u0437\u043D\u0430\u0447\u0430\u0442\u044C \u0434\u0440\u0443\u0433\u0438\u043C \u0441\u043E\u0433\u043B\u0430\u0441\u0443\u044E\u0449\u0438\u043C", checked: form.allowReassignToOtherApprovers, onChange: function (v) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { allowReassignToOtherApprovers: v })); } }))))),
|
||
deleting && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.ConfirmDialog, { title: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0448\u0430\u0433?", text: "\u0428\u0430\u0433 #".concat(deleting.orderNo, " \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043B\u0451\u043D \u0431\u0435\u0437\u0432\u043E\u0437\u0432\u0440\u0430\u0442\u043D\u043E."), confirmLabel: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C", busy: deleteBusy, onCancel: function () { return setDeleting(undefined); }, onConfirm: confirmDelete }))));
|
||
};
|
||
function describeExecutor(step) {
|
||
if (step.executorEmail)
|
||
return step.executorEmail;
|
||
if (step.position)
|
||
return step.position;
|
||
if (step.projectRole && step.projectRole !== _models__WEBPACK_IMPORTED_MODULE_1__.ProjectRole.None)
|
||
return "\u0420\u043E\u043B\u044C: ".concat(_models__WEBPACK_IMPORTED_MODULE_1__.projectRoleLabels[step.projectRole]);
|
||
if (step.headType && step.headType !== _models__WEBPACK_IMPORTED_MODULE_1__.HeadType.None)
|
||
return "\u0420\u0443\u043A\u043E\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044C: ".concat(_models__WEBPACK_IMPORTED_MODULE_1__.headTypeLabels[step.headType]);
|
||
return '—';
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 373:
|
||
/*!***********************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/screens/RoutesScreen.js ***!
|
||
\***********************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ RoutesScreen: () => (/* binding */ RoutesScreen)
|
||
/* harmony export */ });
|
||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ 196);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _models__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../models */ 907);
|
||
/* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui */ 536);
|
||
|
||
|
||
|
||
|
||
var EMPTY_FORM = {
|
||
requestTypeId: '',
|
||
routeType: _models__WEBPACK_IMPORTED_MODULE_1__.RouteType.Sequential,
|
||
companyId: '',
|
||
departmentId: '',
|
||
byProject: false,
|
||
requiresControl: false
|
||
};
|
||
var ROUTE_TYPE_OPTIONS = Object.values(_models__WEBPACK_IMPORTED_MODULE_1__.RouteType)
|
||
.filter(function (v) { return v !== _models__WEBPACK_IMPORTED_MODULE_1__.RouteType.None; })
|
||
.map(function (v) { return ({ value: v, label: _models__WEBPACK_IMPORTED_MODULE_1__.routeTypeLabels[v] }); });
|
||
var RoutesScreen = function (_a) {
|
||
var api = _a.api, onOpenSteps = _a.onOpenSteps;
|
||
var _b = react__WEBPACK_IMPORTED_MODULE_0__.useState([]), requestTypes = _b[0], setRequestTypes = _b[1];
|
||
var _c = react__WEBPACK_IMPORTED_MODULE_0__.useState([]), items = _c[0], setItems = _c[1];
|
||
var _d = react__WEBPACK_IMPORTED_MODULE_0__.useState(''), filterRequestTypeId = _d[0], setFilterRequestTypeId = _d[1];
|
||
var _e = react__WEBPACK_IMPORTED_MODULE_0__.useState(true), loading = _e[0], setLoading = _e[1];
|
||
var _f = react__WEBPACK_IMPORTED_MODULE_0__.useState(), loadError = _f[0], setLoadError = _f[1];
|
||
var _g = react__WEBPACK_IMPORTED_MODULE_0__.useState(), editing = _g[0], setEditing = _g[1];
|
||
var _h = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), showForm = _h[0], setShowForm = _h[1];
|
||
var _j = react__WEBPACK_IMPORTED_MODULE_0__.useState(EMPTY_FORM), form = _j[0], setForm = _j[1];
|
||
var _k = react__WEBPACK_IMPORTED_MODULE_0__.useState(), formError = _k[0], setFormError = _k[1];
|
||
var _l = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), saving = _l[0], setSaving = _l[1];
|
||
var _m = react__WEBPACK_IMPORTED_MODULE_0__.useState(), deleting = _m[0], setDeleting = _m[1];
|
||
var _o = react__WEBPACK_IMPORTED_MODULE_0__.useState(), deleteError = _o[0], setDeleteError = _o[1];
|
||
var _p = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), deleteBusy = _p[0], setDeleteBusy = _p[1];
|
||
react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
|
||
api.requestTypes.list().then(setRequestTypes).catch(function () { });
|
||
}, [api]);
|
||
var load = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function () {
|
||
setLoading(true);
|
||
setLoadError(undefined);
|
||
var requestTypeId = filterRequestTypeId ? Number(filterRequestTypeId) : undefined;
|
||
api.templateRoutes
|
||
.list(requestTypeId)
|
||
.then(setItems)
|
||
.catch(function (e) { return setLoadError(e.message); })
|
||
.finally(function () { return setLoading(false); });
|
||
}, [api, filterRequestTypeId]);
|
||
react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () { load(); }, [load]);
|
||
var requestTypeName = function (id) { var _a, _b; return (_b = (_a = requestTypes.find(function (rt) { return rt.id === id; })) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : "#".concat(id); };
|
||
var openCreate = function () {
|
||
setEditing(undefined);
|
||
setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, EMPTY_FORM), { requestTypeId: filterRequestTypeId }));
|
||
setFormError(undefined);
|
||
setShowForm(true);
|
||
};
|
||
var openEdit = function (item) {
|
||
var _a;
|
||
setEditing(item);
|
||
setForm({
|
||
requestTypeId: String(item.requestTypeId),
|
||
routeType: item.routeType,
|
||
companyId: item.companyId,
|
||
departmentId: (_a = item.departmentId) !== null && _a !== void 0 ? _a : '',
|
||
byProject: item.byProject,
|
||
requiresControl: item.requiresControl
|
||
});
|
||
setFormError(undefined);
|
||
setShowForm(true);
|
||
};
|
||
var submit = function () {
|
||
if (!editing && !form.requestTypeId) {
|
||
setFormError('Выберите тип заявки.');
|
||
return;
|
||
}
|
||
if (!form.companyId.trim()) {
|
||
setFormError('Компания обязательна (Guid из справочника api.tnsu.kz).');
|
||
return;
|
||
}
|
||
setSaving(true);
|
||
setFormError(undefined);
|
||
var departmentId = form.departmentId.trim() ? form.departmentId.trim() : null;
|
||
var request = editing
|
||
? api.templateRoutes.update(editing.id, {
|
||
routeType: form.routeType,
|
||
companyId: form.companyId.trim(),
|
||
departmentId: departmentId,
|
||
byProject: form.byProject,
|
||
requiresControl: form.requiresControl
|
||
})
|
||
: api.templateRoutes.create({
|
||
routeType: form.routeType,
|
||
requestTypeId: Number(form.requestTypeId),
|
||
companyId: form.companyId.trim(),
|
||
departmentId: departmentId,
|
||
byProject: form.byProject,
|
||
requiresControl: form.requiresControl
|
||
});
|
||
request
|
||
.then(function () {
|
||
setShowForm(false);
|
||
load();
|
||
})
|
||
.catch(function (e) { return setFormError(e.message); })
|
||
.finally(function () { return setSaving(false); });
|
||
};
|
||
var confirmDelete = function () {
|
||
if (!deleting)
|
||
return;
|
||
setDeleteBusy(true);
|
||
setDeleteError(undefined);
|
||
api.templateRoutes
|
||
.remove(deleting.id)
|
||
.then(function () {
|
||
setDeleting(undefined);
|
||
load();
|
||
})
|
||
.catch(function (e) { return setDeleteError(e.message); })
|
||
.finally(function () { return setDeleteBusy(false); });
|
||
};
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Breadcrumbs, { items: [{ label: 'Главная' }, { label: 'Маршруты согласования' }] }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.PageHeader, { icon: "route", subtitle: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0439", title: "\u041C\u0430\u0440\u0448\u0440\u0443\u0442\u044B \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u044F", actions: react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Button, { variant: "accent", icon: "plus", onClick: openCreate }, "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043C\u0430\u0440\u0448\u0440\u0443\u0442") }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { style: { marginBottom: 18, maxWidth: 320 } },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u0424\u0438\u043B\u044C\u0442\u0440 \u043F\u043E \u0442\u0438\u043F\u0443 \u0437\u0430\u044F\u0432\u043A\u0438" },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Select, { options: requestTypes.map(function (rt) { return ({ value: String(rt.id), label: rt.name }); }), placeholder: "\u0412\u0441\u0435 \u0442\u0438\u043F\u044B \u0437\u0430\u044F\u0432\u043E\u043A", value: filterRequestTypeId, onChange: function (e) { return setFilterRequestTypeId(e.target.value); } }))),
|
||
loadError && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Alert, { kind: "err" }, loadError),
|
||
deleteError && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Alert, { kind: "err" }, deleteError),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.DataTable, { columns: [
|
||
{
|
||
key: 'requestType',
|
||
header: 'Тип заявки',
|
||
render: function (r) { return react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.PrimaryCell, null, requestTypeName(r.requestTypeId)); }
|
||
},
|
||
{
|
||
key: 'routeType',
|
||
header: 'Тип маршрута',
|
||
render: function (r) { return react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Badge, { variant: r.routeType === _models__WEBPACK_IMPORTED_MODULE_1__.RouteType.Parallel ? 'blue' : 'gold' }, _models__WEBPACK_IMPORTED_MODULE_1__.routeTypeLabels[r.routeType]); }
|
||
},
|
||
{ key: 'company', header: 'Компания', render: function (r) { return react__WEBPACK_IMPORTED_MODULE_0__.createElement("code", null, shortGuid(r.companyId)); } },
|
||
{ key: 'department', header: 'Отдел', render: function (r) { return (r.departmentId ? react__WEBPACK_IMPORTED_MODULE_0__.createElement("code", null, shortGuid(r.departmentId)) : '—'); } },
|
||
{
|
||
key: 'byProject',
|
||
header: 'По проекту',
|
||
align: 'center',
|
||
render: function (r) { return (r.byProject ? react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Badge, { variant: "ok" }, "\u0414\u0430") : react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Badge, { variant: "neutral" }, "\u041D\u0435\u0442")); }
|
||
},
|
||
{
|
||
key: 'control',
|
||
header: 'Контроль',
|
||
align: 'center',
|
||
render: function (r) { return (r.requiresControl ? react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Badge, { variant: "gold" }, "\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F") : react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Badge, { variant: "neutral" }, "\u041D\u0435\u0442")); }
|
||
},
|
||
{
|
||
key: 'actions',
|
||
header: '',
|
||
width: '160px',
|
||
align: 'right',
|
||
sticky: true,
|
||
render: function (r) { return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.ActionsCell, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Button, { size: "sm", variant: "secondary", icon: "clipboard", onClick: function () { return onOpenSteps(r); } }, "\u0428\u0430\u0433\u0438"),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.IconButton, { icon: "edit", label: "\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C", onClick: function () { return openEdit(r); } }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.IconButton, { icon: "trash", label: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C", danger: true, onClick: function () { setDeleteError(undefined); setDeleting(r); } }))); }
|
||
}
|
||
], rows: items, keyOf: function (r) { return r.id; }, emptyMessage: loading ? 'Загрузка...' : 'Маршрутов пока нет.' }),
|
||
showForm && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Modal, { title: editing ? "\u041C\u0430\u0440\u0448\u0440\u0443\u0442 #".concat(editing.id) : 'Новый маршрут', onClose: function () { return setShowForm(false); }, footer: react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Button, { variant: "secondary", onClick: function () { return setShowForm(false); }, disabled: saving }, "\u041E\u0442\u043C\u0435\u043D\u0430"),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Button, { variant: "accent", icon: "check", onClick: submit, disabled: saving }, saving ? 'Сохранение...' : 'Сохранить')) },
|
||
formError && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Alert, { kind: "err" }, formError),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.FormGrid, null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u0422\u0438\u043F \u0437\u0430\u044F\u0432\u043A\u0438", required: true, full: true },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Select, { options: requestTypes.map(function (rt) { return ({ value: String(rt.id), label: rt.name }); }), placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043F \u0437\u0430\u044F\u0432\u043A\u0438", value: form.requestTypeId, disabled: !!editing, onChange: function (e) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { requestTypeId: e.target.value })); } })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u0422\u0438\u043F \u043C\u0430\u0440\u0448\u0440\u0443\u0442\u0430", required: true, full: true },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Select, { options: ROUTE_TYPE_OPTIONS, value: form.routeType, onChange: function (e) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { routeType: e.target.value })); } })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u041A\u043E\u043C\u043F\u0430\u043D\u0438\u044F (Guid)", required: true, full: true, hint: "\u0418\u0437 \u0441\u043F\u0440\u0430\u0432\u043E\u0447\u043D\u0438\u043A\u0430 api.tnsu.kz." },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.TextInput, { value: form.companyId, onChange: function (e) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { companyId: e.target.value })); }, placeholder: "00000000-0000-0000-0000-000000000000" })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u041E\u0442\u0434\u0435\u043B (Guid)", full: true, hint: "\u041D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u2014 \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u00AB\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E\u00BB \u0434\u043B\u044F \u043A\u043E\u043C\u043F\u0430\u043D\u0438\u0438." },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.TextInput, { value: form.departmentId, onChange: function (e) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { departmentId: e.target.value })); }, placeholder: "\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043F\u0443\u0441\u0442\u044B\u043C \u0434\u043B\u044F \u043C\u0430\u0440\u0448\u0440\u0443\u0442\u0430 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E" })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u041F\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0443" },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Checkbox, { label: "\u041C\u0430\u0440\u0448\u0440\u0443\u0442 \u0443\u0447\u0438\u0442\u044B\u0432\u0430\u0435\u0442 \u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0439 \u043F\u0440\u043E\u0435\u043A\u0442", checked: form.byProject, onChange: function (v) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { byProject: v })); } })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Field, { label: "\u041A\u043E\u043D\u0442\u0440\u043E\u043B\u044C" },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.Checkbox, { label: "\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u044B\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C \u0438\u0441\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F", checked: form.requiresControl, onChange: function (v) { return setForm((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, form), { requiresControl: v })); } }))))),
|
||
deleting && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui__WEBPACK_IMPORTED_MODULE_2__.ConfirmDialog, { title: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043C\u0430\u0440\u0448\u0440\u0443\u0442?", text: "\u041C\u0430\u0440\u0448\u0440\u0443\u0442 #".concat(deleting.id, " \u0438 \u0432\u0441\u0435 \u0435\u0433\u043E \u0448\u0430\u0433\u0438 \u0431\u0443\u0434\u0443\u0442 \u0443\u0434\u0430\u043B\u0435\u043D\u044B \u0431\u0435\u0437\u0432\u043E\u0437\u0432\u0440\u0430\u0442\u043D\u043E."), confirmLabel: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C", busy: deleteBusy, onCancel: function () { return setDeleting(undefined); }, onConfirm: confirmDelete }))));
|
||
};
|
||
function shortGuid(guid) {
|
||
return guid.length > 8 ? "".concat(guid.slice(0, 8), "\u2026") : guid;
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 394:
|
||
/*!***********************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/Alert.js ***!
|
||
\***********************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ Alert: () => (/* binding */ Alert)
|
||
/* harmony export */ });
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _Alert_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Alert.module.scss */ 922);
|
||
/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Icon */ 79);
|
||
|
||
|
||
|
||
var ICONS = { warn: 'warning', ok: 'check', err: 'close' };
|
||
var Alert = function (_a) {
|
||
var kind = _a.kind, children = _a.children;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "".concat(_Alert_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].alert, " ").concat(_Alert_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"][kind]) },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { name: ICONS[kind], size: "sm" }),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, children)));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 543:
|
||
/*!***********************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/Badge.js ***!
|
||
\***********************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ Badge: () => (/* binding */ Badge),
|
||
/* harmony export */ CountBadge: () => (/* binding */ CountBadge)
|
||
/* harmony export */ });
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _Badge_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Badge.module.scss */ 793);
|
||
|
||
|
||
var Badge = function (_a) {
|
||
var _b = _a.variant, variant = _b === void 0 ? 'neutral' : _b, children = _a.children;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", { className: "".concat(_Badge_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].badge, " ").concat(_Badge_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"][variant]) }, children));
|
||
};
|
||
var CountBadge = function (_a) {
|
||
var count = _a.count;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", { className: _Badge_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].count }, count));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 330:
|
||
/*!************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/Button.js ***!
|
||
\************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ Button: () => (/* binding */ Button),
|
||
/* harmony export */ IconButton: () => (/* binding */ IconButton)
|
||
/* harmony export */ });
|
||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ 196);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _Button_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Button.module.scss */ 926);
|
||
/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Icon */ 79);
|
||
|
||
|
||
|
||
|
||
var Button = function (_a) {
|
||
var _b = _a.variant, variant = _b === void 0 ? 'secondary' : _b, _c = _a.size, size = _c === void 0 ? 'md' : _c, icon = _a.icon, className = _a.className, children = _a.children, rest = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__rest)(_a, ["variant", "size", "icon", "className", "children"]);
|
||
var classes = [_Button_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].btn, _Button_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"][variant], size === 'sm' ? _Button_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].sm : '', className]
|
||
.filter(Boolean)
|
||
.join(' ');
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("button", (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({ type: "button", className: classes }, rest),
|
||
icon && react__WEBPACK_IMPORTED_MODULE_0__.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { name: icon, size: "sm" }),
|
||
children));
|
||
};
|
||
var IconButton = function (_a) {
|
||
var icon = _a.icon, danger = _a.danger, label = _a.label, className = _a.className, rest = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__rest)(_a, ["icon", "danger", "label", "className"]);
|
||
var classes = [_Button_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].iconButton, danger ? _Button_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].danger : '', className].filter(Boolean).join(' ');
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("button", (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({ type: "button", className: classes, "aria-label": label, title: label }, rest),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { name: icon, size: "sm" })));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 644:
|
||
/*!**********************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/Card.js ***!
|
||
\**********************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ CardGrid: () => (/* binding */ CardGrid),
|
||
/* harmony export */ NavCard: () => (/* binding */ NavCard),
|
||
/* harmony export */ StatCard: () => (/* binding */ StatCard),
|
||
/* harmony export */ StatRow: () => (/* binding */ StatRow)
|
||
/* harmony export */ });
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _Card_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Card.module.scss */ 872);
|
||
/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Icon */ 79);
|
||
|
||
|
||
|
||
var CardGrid = function (_a) {
|
||
var children = _a.children;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Card_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].grid }, children));
|
||
};
|
||
var NavCard = function (_a) {
|
||
var icon = _a.icon, title = _a.title, description = _a.description, onClick = _a.onClick;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("a", { className: _Card_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].navCard, onClick: function (e) { e.preventDefault(); onClick(); }, href: "#" },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Card_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].navIcon },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { name: icon })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Card_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].navTitle }, title),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Card_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].navDesc }, description)),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Card_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].navArrow },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { name: "chevron-right", size: "sm" }))));
|
||
};
|
||
var StatRow = function (_a) {
|
||
var children = _a.children;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Card_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].statRow }, children));
|
||
};
|
||
var StatCard = function (_a) {
|
||
var label = _a.label, value = _a.value;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Card_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].statCard },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Card_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].statLabel }, label),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Card_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].statValue }, value)));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 132:
|
||
/*!***************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/DataTable.js ***!
|
||
\***************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ ActionsCell: () => (/* binding */ ActionsCell),
|
||
/* harmony export */ DataTable: () => (/* binding */ DataTable),
|
||
/* harmony export */ PrimaryCell: () => (/* binding */ PrimaryCell)
|
||
/* harmony export */ });
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _DataTable_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DataTable.module.scss */ 264);
|
||
|
||
|
||
function DataTable(_a) {
|
||
var columns = _a.columns, rows = _a.rows, keyOf = _a.keyOf, emptyMessage = _a.emptyMessage;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _DataTable_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].wrap },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _DataTable_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].scroll },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("table", { className: _DataTable_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].table },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("thead", null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("tr", null, columns.map(function (col) {
|
||
var _a;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("th", { key: col.key, className: col.sticky ? _DataTable_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].stickyCell : undefined, style: { width: col.width, textAlign: (_a = col.align) !== null && _a !== void 0 ? _a : 'left' } }, col.header));
|
||
}))),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("tbody", null, rows.map(function (row) { return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("tr", { key: keyOf(row) }, columns.map(function (col) {
|
||
var _a;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("td", { key: col.key, className: col.sticky ? _DataTable_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].stickyCell : undefined, style: { textAlign: (_a = col.align) !== null && _a !== void 0 ? _a : 'left' } }, col.render(row)));
|
||
}))); })))),
|
||
rows.length === 0 && react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _DataTable_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].empty }, emptyMessage)));
|
||
}
|
||
var PrimaryCell = function (_a) {
|
||
var children = _a.children;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", { className: _DataTable_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].primaryCell }, children));
|
||
};
|
||
var ActionsCell = function (_a) {
|
||
var children = _a.children;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", { className: _DataTable_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].actionsCell }, children));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 954:
|
||
/*!***************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/FormField.js ***!
|
||
\***************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ Checkbox: () => (/* binding */ Checkbox),
|
||
/* harmony export */ Field: () => (/* binding */ Field),
|
||
/* harmony export */ FormGrid: () => (/* binding */ FormGrid),
|
||
/* harmony export */ RadioGroup: () => (/* binding */ RadioGroup),
|
||
/* harmony export */ Select: () => (/* binding */ Select),
|
||
/* harmony export */ TextInput: () => (/* binding */ TextInput),
|
||
/* harmony export */ Textarea: () => (/* binding */ Textarea)
|
||
/* harmony export */ });
|
||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ 196);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FormField.module.scss */ 550);
|
||
|
||
|
||
|
||
var FormGrid = function (_a) {
|
||
var children = _a.children;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].grid }, children));
|
||
};
|
||
var Field = function (_a) {
|
||
var label = _a.label, required = _a.required, full = _a.full, error = _a.error, hint = _a.hint, children = _a.children;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "".concat(_FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].field, " ").concat(full ? _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].full : '') },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", { className: _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].label },
|
||
label,
|
||
" ",
|
||
required && react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", { className: _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].req }, "*")),
|
||
children,
|
||
error && react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", { className: _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].errorText }, error),
|
||
!error && hint && react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", { className: _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].hint }, hint)));
|
||
};
|
||
var TextInput = function (props) { return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("input", (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, props, { className: _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].input }))); };
|
||
var Textarea = function (props) { return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("textarea", (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, props, { className: _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].textarea }))); };
|
||
var Select = function (_a) {
|
||
var options = _a.options, placeholder = _a.placeholder, rest = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__rest)(_a, ["options", "placeholder"]);
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("select", (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, rest, { className: _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].select }),
|
||
placeholder && react__WEBPACK_IMPORTED_MODULE_0__.createElement("option", { value: "" }, placeholder),
|
||
options.map(function (opt) { return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("option", { key: opt.value, value: opt.value }, opt.label)); })));
|
||
};
|
||
var Checkbox = function (_a) {
|
||
var label = _a.label, checked = _a.checked, onChange = _a.onChange, disabled = _a.disabled;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("label", { className: _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].checkboxRow },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("input", { type: "checkbox", className: _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].checkbox, checked: checked, disabled: disabled, onChange: function (e) { return onChange(e.target.checked); } }),
|
||
label));
|
||
};
|
||
function RadioGroup(_a) {
|
||
var name = _a.name, value = _a.value, options = _a.options, onChange = _a.onChange;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].radioGroup }, options.map(function (opt) { return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("label", { key: opt.value, className: "".concat(_FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].radioRow, " ").concat(opt.disabled ? _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].disabled : ''), title: opt.disabled ? opt.disabledHint : undefined },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("input", { type: "radio", className: _FormField_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].radio, name: name, checked: value === opt.value, disabled: opt.disabled, onChange: function () { return onChange(opt.value); } }),
|
||
opt.label)); })));
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 79:
|
||
/*!**********************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/Icon.js ***!
|
||
\**********************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ Icon: () => (/* binding */ Icon)
|
||
/* harmony export */ });
|
||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ 196);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
|
||
|
||
var spriteInjected = false;
|
||
var SPRITE_SVG = "\n<symbol id=\"i-route\" viewBox=\"0 0 24 24\"><circle cx=\"6\" cy=\"6\" r=\"3\"/><circle cx=\"18\" cy=\"18\" r=\"3\"/><path d=\"M9 6h7a3 3 0 0 1 3 3v0a3 3 0 0 1-3 3H8a3 3 0 0 0-3 3v0a3 3 0 0 0 3 3h7\"/></symbol>\n<symbol id=\"i-clipboard\" viewBox=\"0 0 24 24\"><path d=\"M9 3h6v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1z\"/><rect x=\"5\" y=\"5\" width=\"14\" height=\"16\" rx=\"2\"/><path d=\"M9 12h6M9 16h4\"/></symbol>\n<symbol id=\"i-flag-check\" viewBox=\"0 0 24 24\"><path d=\"M4 3v18\"/><path d=\"M4 4h13l-2 4 2 4H4\"/></symbol>\n<symbol id=\"i-people\" viewBox=\"0 0 24 24\"><circle cx=\"9\" cy=\"7\" r=\"3\"/><path d=\"M3 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2\"/><circle cx=\"17\" cy=\"8\" r=\"2.5\"/><path d=\"M17 13.5a3.5 3.5 0 0 1 3.5 3.5v1\"/></symbol>\n<symbol id=\"i-warning\" viewBox=\"0 0 24 24\"><path d=\"M12 2 1 21h22z\" stroke-linejoin=\"round\"/><path d=\"M12 9v5M12 17h.01\"/></symbol>\n<symbol id=\"i-check\" viewBox=\"0 0 24 24\"><path d=\"M5 12l5 5L20 7\"/></symbol>\n<symbol id=\"i-close\" viewBox=\"0 0 24 24\"><path d=\"M18 6 6 18M6 6l12 12\"/></symbol>\n<symbol id=\"i-plus\" viewBox=\"0 0 24 24\"><path d=\"M12 5v14M5 12h14\"/></symbol>\n<symbol id=\"i-edit\" viewBox=\"0 0 24 24\"><path d=\"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4z\"/></symbol>\n<symbol id=\"i-trash\" viewBox=\"0 0 24 24\"><path d=\"M4 7h16M10 11v6M14 11v6\"/><path d=\"M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12\"/><path d=\"M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3\"/></symbol>\n<symbol id=\"i-more\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"5\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"12\" cy=\"19\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\"/></symbol>\n<symbol id=\"i-chevron-right\" viewBox=\"0 0 24 24\"><path d=\"m9 6 6 6-6 6\"/></symbol>\n<symbol id=\"i-chevron-down\" viewBox=\"0 0 24 24\"><path d=\"m6 9 6 6 6-6\"/></symbol>\n<symbol id=\"i-chevron-left\" viewBox=\"0 0 24 24\"><path d=\"m15 6-6 6 6 6\"/></symbol>\n<symbol id=\"i-arrow-left\" viewBox=\"0 0 24 24\"><path d=\"M19 12H5m0 0 5-5m-5 5 5 5\"/></symbol>\n<symbol id=\"i-search\" viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"7\"/><path d=\"m21 21-4.35-4.35\"/></symbol>\n<symbol id=\"i-sort\" viewBox=\"0 0 24 24\"><path d=\"M7 3v18M7 3l-4 4m4-4 4 4M17 21V3m0 18-4-4m4 4 4-4\"/></symbol>\n<symbol id=\"i-mail\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><path d=\"m4 6 8 7 8-7\"/></symbol>\n<symbol id=\"i-briefcase\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"2\"/><path d=\"M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"/><path d=\"M3 12h18\"/></symbol>\n<symbol id=\"i-flag\" viewBox=\"0 0 24 24\"><path d=\"M5 3v18\"/><path d=\"M5 4h13l-3 4 3 4H5\"/></symbol>\n<symbol id=\"i-crown\" viewBox=\"0 0 24 24\"><path d=\"m3 8 4 3 5-6 5 6 4-3-2 11H5z\"/></symbol>\n<symbol id=\"i-refresh\" viewBox=\"0 0 24 24\"><path d=\"M21 12a9 9 0 1 1-3-6.7\"/><path d=\"M21 3v6h-6\"/></symbol>\n";
|
||
function ensureSpriteInjected() {
|
||
if (spriteInjected || typeof document === 'undefined')
|
||
return;
|
||
var holder = document.createElement('div');
|
||
holder.style.display = 'none';
|
||
holder.innerHTML = "<svg xmlns=\"http://www.w3.org/2000/svg\">".concat(SPRITE_SVG, "</svg>");
|
||
document.body.appendChild(holder);
|
||
spriteInjected = true;
|
||
}
|
||
var SIZE_PX = { sm: 16, md: 20, lg: 24 };
|
||
var Icon = function (_a) {
|
||
var name = _a.name, _b = _a.size, size = _b === void 0 ? 'md' : _b, className = _a.className, style = _a.style;
|
||
react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
|
||
ensureSpriteInjected();
|
||
}, []);
|
||
var px = SIZE_PX[size];
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", { width: px, height: px, className: className, style: (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__assign)({ flexShrink: 0, fill: 'none', stroke: 'currentColor', strokeWidth: 1.5, strokeLinecap: 'round', strokeLinejoin: 'round' }, style) },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("use", { href: "#i-".concat(name) })));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 153:
|
||
/*!***********************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/Modal.js ***!
|
||
\***********************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ ConfirmDialog: () => (/* binding */ ConfirmDialog),
|
||
/* harmony export */ Modal: () => (/* binding */ Modal)
|
||
/* harmony export */ });
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _Modal_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Modal.module.scss */ 595);
|
||
/* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Button */ 330);
|
||
|
||
|
||
|
||
var Modal = function (_a) {
|
||
var title = _a.title, onClose = _a.onClose, footer = _a.footer, children = _a.children;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Modal_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].overlay, onClick: function (e) { if (e.target === e.currentTarget)
|
||
onClose(); } },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Modal_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].box },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Modal_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].header },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Modal_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].title }, title),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_Button__WEBPACK_IMPORTED_MODULE_2__.IconButton, { icon: "close", label: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", onClick: onClose })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Modal_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].body }, children),
|
||
footer && react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Modal_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].footer }, footer))));
|
||
};
|
||
var ConfirmDialog = function (_a) {
|
||
var title = _a.title, text = _a.text, confirmLabel = _a.confirmLabel, onConfirm = _a.onConfirm, onCancel = _a.onCancel, busy = _a.busy;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Modal_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].overlay, onClick: function (e) { if (e.target === e.currentTarget)
|
||
onCancel(); } },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "".concat(_Modal_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].box, " ").concat(_Modal_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].narrow) },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Modal_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].title }, title),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("p", { className: _Modal_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].text }, text),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _Modal_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].narrowFooter },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_Button__WEBPACK_IMPORTED_MODULE_2__.Button, { variant: "secondary", onClick: onCancel, disabled: busy }, "\u041E\u0442\u043C\u0435\u043D\u0430"),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_Button__WEBPACK_IMPORTED_MODULE_2__.Button, { variant: "danger", icon: "trash", onClick: onConfirm, disabled: busy }, confirmLabel)))));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 307:
|
||
/*!****************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/PageChrome.js ***!
|
||
\****************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ Breadcrumbs: () => (/* binding */ Breadcrumbs),
|
||
/* harmony export */ PageHeader: () => (/* binding */ PageHeader)
|
||
/* harmony export */ });
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var _PageChrome_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PageChrome.module.scss */ 521);
|
||
/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Icon */ 79);
|
||
|
||
|
||
|
||
var Breadcrumbs = function (_a) {
|
||
var items = _a.items;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _PageChrome_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].bread }, items.map(function (item, i) { return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, { key: i },
|
||
i > 0 && react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", { className: _PageChrome_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].sep }, "\u25C6"),
|
||
item.onClick ? (react__WEBPACK_IMPORTED_MODULE_0__.createElement("button", { className: _PageChrome_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].breadLink, onClick: item.onClick }, item.label)) : (react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, item.label)))); })));
|
||
};
|
||
var PageHeader = function (_a) {
|
||
var icon = _a.icon, subtitle = _a.subtitle, title = _a.title, actions = _a.actions;
|
||
return (react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _PageChrome_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].ph },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _PageChrome_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].phLeft },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _PageChrome_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].phIcon },
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement(_Icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { name: icon })),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", null,
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _PageChrome_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].phSub }, subtitle),
|
||
react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _PageChrome_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].phTitle }, title))),
|
||
actions && react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: _PageChrome_module_scss__WEBPACK_IMPORTED_MODULE_1__["default"].phRight }, actions)));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 536:
|
||
/*!***********************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/components/ui/index.js ***!
|
||
\***********************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ ActionsCell: () => (/* reexport safe */ _DataTable__WEBPACK_IMPORTED_MODULE_6__.ActionsCell),
|
||
/* harmony export */ Alert: () => (/* reexport safe */ _Alert__WEBPACK_IMPORTED_MODULE_3__.Alert),
|
||
/* harmony export */ Badge: () => (/* reexport safe */ _Badge__WEBPACK_IMPORTED_MODULE_2__.Badge),
|
||
/* harmony export */ Breadcrumbs: () => (/* reexport safe */ _PageChrome__WEBPACK_IMPORTED_MODULE_4__.Breadcrumbs),
|
||
/* harmony export */ Button: () => (/* reexport safe */ _Button__WEBPACK_IMPORTED_MODULE_1__.Button),
|
||
/* harmony export */ CardGrid: () => (/* reexport safe */ _Card__WEBPACK_IMPORTED_MODULE_5__.CardGrid),
|
||
/* harmony export */ Checkbox: () => (/* reexport safe */ _FormField__WEBPACK_IMPORTED_MODULE_8__.Checkbox),
|
||
/* harmony export */ ConfirmDialog: () => (/* reexport safe */ _Modal__WEBPACK_IMPORTED_MODULE_7__.ConfirmDialog),
|
||
/* harmony export */ CountBadge: () => (/* reexport safe */ _Badge__WEBPACK_IMPORTED_MODULE_2__.CountBadge),
|
||
/* harmony export */ DataTable: () => (/* reexport safe */ _DataTable__WEBPACK_IMPORTED_MODULE_6__.DataTable),
|
||
/* harmony export */ Field: () => (/* reexport safe */ _FormField__WEBPACK_IMPORTED_MODULE_8__.Field),
|
||
/* harmony export */ FormGrid: () => (/* reexport safe */ _FormField__WEBPACK_IMPORTED_MODULE_8__.FormGrid),
|
||
/* harmony export */ Icon: () => (/* reexport safe */ _Icon__WEBPACK_IMPORTED_MODULE_0__.Icon),
|
||
/* harmony export */ IconButton: () => (/* reexport safe */ _Button__WEBPACK_IMPORTED_MODULE_1__.IconButton),
|
||
/* harmony export */ Modal: () => (/* reexport safe */ _Modal__WEBPACK_IMPORTED_MODULE_7__.Modal),
|
||
/* harmony export */ NavCard: () => (/* reexport safe */ _Card__WEBPACK_IMPORTED_MODULE_5__.NavCard),
|
||
/* harmony export */ PageHeader: () => (/* reexport safe */ _PageChrome__WEBPACK_IMPORTED_MODULE_4__.PageHeader),
|
||
/* harmony export */ PrimaryCell: () => (/* reexport safe */ _DataTable__WEBPACK_IMPORTED_MODULE_6__.PrimaryCell),
|
||
/* harmony export */ RadioGroup: () => (/* reexport safe */ _FormField__WEBPACK_IMPORTED_MODULE_8__.RadioGroup),
|
||
/* harmony export */ Select: () => (/* reexport safe */ _FormField__WEBPACK_IMPORTED_MODULE_8__.Select),
|
||
/* harmony export */ StatCard: () => (/* reexport safe */ _Card__WEBPACK_IMPORTED_MODULE_5__.StatCard),
|
||
/* harmony export */ StatRow: () => (/* reexport safe */ _Card__WEBPACK_IMPORTED_MODULE_5__.StatRow),
|
||
/* harmony export */ TextInput: () => (/* reexport safe */ _FormField__WEBPACK_IMPORTED_MODULE_8__.TextInput),
|
||
/* harmony export */ Textarea: () => (/* reexport safe */ _FormField__WEBPACK_IMPORTED_MODULE_8__.Textarea)
|
||
/* harmony export */ });
|
||
/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Icon */ 79);
|
||
/* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Button */ 330);
|
||
/* harmony import */ var _Badge__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Badge */ 543);
|
||
/* harmony import */ var _Alert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Alert */ 394);
|
||
/* harmony import */ var _PageChrome__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PageChrome */ 307);
|
||
/* harmony import */ var _Card__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Card */ 644);
|
||
/* harmony import */ var _DataTable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./DataTable */ 132);
|
||
/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Modal */ 153);
|
||
/* harmony import */ var _FormField__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./FormField */ 954);
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 907:
|
||
/*!****************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/models/index.js ***!
|
||
\****************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ HeadType: () => (/* binding */ HeadType),
|
||
/* harmony export */ ProjectRole: () => (/* binding */ ProjectRole),
|
||
/* harmony export */ RouteStepStatus: () => (/* binding */ RouteStepStatus),
|
||
/* harmony export */ RouteType: () => (/* binding */ RouteType),
|
||
/* harmony export */ detectExecutorKind: () => (/* binding */ detectExecutorKind),
|
||
/* harmony export */ headTypeLabels: () => (/* binding */ headTypeLabels),
|
||
/* harmony export */ projectRoleLabels: () => (/* binding */ projectRoleLabels),
|
||
/* harmony export */ routeStepStatusLabels: () => (/* binding */ routeStepStatusLabels),
|
||
/* harmony export */ routeTypeLabels: () => (/* binding */ routeTypeLabels)
|
||
/* harmony export */ });
|
||
// Зеркало DTO и enum'ов backend (Tnsu.ApprovalRoute.Api / Application / Domain).
|
||
// Имена и форма типов должны 1:1 соответствовать C#-стороне — см.
|
||
// backend/src/Tnsu.ApprovalRoute.Domain/Enums/*.cs и
|
||
// backend/src/Tnsu.ApprovalRoute.Application/**/*.cs
|
||
var _a, _b, _c, _d;
|
||
var RouteType;
|
||
(function (RouteType) {
|
||
RouteType["None"] = "None";
|
||
RouteType["Parallel"] = "Parallel";
|
||
RouteType["Sequential"] = "Sequential";
|
||
})(RouteType || (RouteType = {}));
|
||
var RouteStepStatus;
|
||
(function (RouteStepStatus) {
|
||
RouteStepStatus["None"] = "None";
|
||
RouteStepStatus["Approval"] = "Approval";
|
||
RouteStepStatus["Execution"] = "Execution";
|
||
})(RouteStepStatus || (RouteStepStatus = {}));
|
||
var ProjectRole;
|
||
(function (ProjectRole) {
|
||
ProjectRole["None"] = "None";
|
||
ProjectRole["ProjectManager"] = "ProjectManager";
|
||
ProjectRole["Planner"] = "Planner";
|
||
ProjectRole["ManagerHSE"] = "ManagerHSE";
|
||
ProjectRole["Security"] = "Security";
|
||
})(ProjectRole || (ProjectRole = {}));
|
||
var HeadType;
|
||
(function (HeadType) {
|
||
HeadType["None"] = "None";
|
||
HeadType["Chief"] = "Chief";
|
||
HeadType["DirectionHead"] = "DirectionHead";
|
||
HeadType["DirectorTansu"] = "DirectorTansu";
|
||
})(HeadType || (HeadType = {}));
|
||
var routeTypeLabels = (_a = {},
|
||
_a[RouteType.None] = 'Не задан',
|
||
_a[RouteType.Parallel] = 'Параллельный',
|
||
_a[RouteType.Sequential] = 'Последовательный',
|
||
_a);
|
||
var routeStepStatusLabels = (_b = {},
|
||
_b[RouteStepStatus.None] = 'Не задан',
|
||
_b[RouteStepStatus.Approval] = 'Согласование',
|
||
_b[RouteStepStatus.Execution] = 'Исполнение',
|
||
_b);
|
||
var projectRoleLabels = (_c = {},
|
||
_c[ProjectRole.None] = '—',
|
||
_c[ProjectRole.ProjectManager] = 'Руководитель проекта',
|
||
_c[ProjectRole.Planner] = 'Планировщик',
|
||
_c[ProjectRole.ManagerHSE] = 'Менеджер HSE',
|
||
_c[ProjectRole.Security] = 'Безопасность',
|
||
_c);
|
||
var headTypeLabels = (_d = {},
|
||
_d[HeadType.None] = '—',
|
||
_d[HeadType.Chief] = 'Непосредственный руководитель',
|
||
_d[HeadType.DirectionHead] = 'Руководитель направления',
|
||
_d[HeadType.DirectorTansu] = 'Директор Tansu',
|
||
_d);
|
||
function detectExecutorKind(step) {
|
||
if (step.executorEmail)
|
||
return 'email';
|
||
if (step.position)
|
||
return 'position';
|
||
if (step.projectRole && step.projectRole !== ProjectRole.None)
|
||
return 'projectRole';
|
||
return 'headType';
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 905:
|
||
/*!****************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/services/api.js ***!
|
||
\****************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ ApprovalRouteApi: () => (/* binding */ ApprovalRouteApi)
|
||
/* harmony export */ });
|
||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ 196);
|
||
|
||
// Тонкий 1:1 фасад над контроллерами бэкенда:
|
||
// backend/src/Tnsu.ApprovalRoute.Api/Controllers/{RequestTypes,TemplateRoutes,TemplateRouteSteps}Controller.cs
|
||
var ApprovalRouteApi = /** @class */ (function () {
|
||
function ApprovalRouteApi(http) {
|
||
var _this = this;
|
||
this.http = http;
|
||
this.requestTypes = {
|
||
list: function () {
|
||
return _this.http.get('/api/request-types');
|
||
},
|
||
get: function (id) {
|
||
return _this.http.get("/api/request-types/".concat(id));
|
||
},
|
||
create: function (body) {
|
||
return _this.http.post('/api/request-types', body);
|
||
},
|
||
update: function (id, body) {
|
||
return _this.http.put("/api/request-types/".concat(id), body);
|
||
},
|
||
patch: function (id, body) {
|
||
return _this.http.patch("/api/request-types/".concat(id), body);
|
||
},
|
||
remove: function (id) {
|
||
return _this.http.delete("/api/request-types/".concat(id));
|
||
}
|
||
};
|
||
this.templateRoutes = {
|
||
list: function (requestTypeId) {
|
||
return _this.http.get('/api/template-routes', { requestTypeId: requestTypeId });
|
||
},
|
||
get: function (id) {
|
||
return _this.http.get("/api/template-routes/".concat(id));
|
||
},
|
||
create: function (body) {
|
||
return _this.http.post('/api/template-routes', body);
|
||
},
|
||
update: function (id, body) {
|
||
return _this.http.put("/api/template-routes/".concat(id), body);
|
||
},
|
||
patch: function (id, body) {
|
||
return _this.http.patch("/api/template-routes/".concat(id), body);
|
||
},
|
||
remove: function (id) {
|
||
return _this.http.delete("/api/template-routes/".concat(id));
|
||
},
|
||
resolve: function (query) {
|
||
return _this.http.get('/api/template-routes/resolve', (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__assign)({}, query));
|
||
}
|
||
};
|
||
this.templateRouteSteps = {
|
||
list: function (routeId) {
|
||
return _this.http.get("/api/template-routes/".concat(routeId, "/steps"));
|
||
},
|
||
get: function (routeId, id) {
|
||
return _this.http.get("/api/template-routes/".concat(routeId, "/steps/").concat(id));
|
||
},
|
||
create: function (routeId, body) {
|
||
return _this.http.post("/api/template-routes/".concat(routeId, "/steps"), body);
|
||
},
|
||
update: function (routeId, id, body) {
|
||
return _this.http.put("/api/template-routes/".concat(routeId, "/steps/").concat(id), body);
|
||
},
|
||
patch: function (routeId, id, body) {
|
||
return _this.http.patch("/api/template-routes/".concat(routeId, "/steps/").concat(id), body);
|
||
},
|
||
remove: function (routeId, id) {
|
||
return _this.http.delete("/api/template-routes/".concat(routeId, "/steps/").concat(id));
|
||
}
|
||
};
|
||
}
|
||
return ApprovalRouteApi;
|
||
}());
|
||
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 10:
|
||
/*!***********************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/services/httpClient.js ***!
|
||
\***********************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ AadApiHttpClient: () => (/* binding */ AadApiHttpClient),
|
||
/* harmony export */ ApiClientError: () => (/* binding */ ApiClientError),
|
||
/* harmony export */ DevApiHttpClient: () => (/* binding */ DevApiHttpClient)
|
||
/* harmony export */ });
|
||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ 196);
|
||
/* harmony import */ var _microsoft_sp_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @microsoft/sp-http */ 909);
|
||
/* harmony import */ var _microsoft_sp_http__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_microsoft_sp_http__WEBPACK_IMPORTED_MODULE_0__);
|
||
|
||
|
||
var ApiClientError = /** @class */ (function (_super) {
|
||
(0,tslib__WEBPACK_IMPORTED_MODULE_1__.__extends)(ApiClientError, _super);
|
||
function ApiClientError(status, messages) {
|
||
var _this = _super.call(this, messages.join('; ') || "HTTP ".concat(status)) || this;
|
||
_this.status = status;
|
||
_this.messages = messages;
|
||
return _this;
|
||
}
|
||
return ApiClientError;
|
||
}(Error));
|
||
|
||
function buildUrl(baseUrl, path, query) {
|
||
var normalizedBase = baseUrl.endsWith('/') ? baseUrl : "".concat(baseUrl, "/");
|
||
var url = new URL(path.replace(/^\//, ''), normalizedBase);
|
||
if (query) {
|
||
Object.keys(query).forEach(function (key) {
|
||
var value = query[key];
|
||
if (value !== undefined && value !== null && value !== '') {
|
||
url.searchParams.set(key, String(value));
|
||
}
|
||
});
|
||
}
|
||
return url.toString();
|
||
}
|
||
function parseResponse(response) {
|
||
return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, function () {
|
||
var text, json, messages;
|
||
var _a, _b;
|
||
return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__generator)(this, function (_c) {
|
||
switch (_c.label) {
|
||
case 0:
|
||
if (response.status === 204) {
|
||
return [2 /*return*/, undefined];
|
||
}
|
||
return [4 /*yield*/, response.text()];
|
||
case 1:
|
||
text = _c.sent();
|
||
try {
|
||
json = text ? JSON.parse(text) : undefined;
|
||
}
|
||
catch (_d) {
|
||
// Ответ пришёл не в конверте ApiResponse/ApiError (например, "сырая" страница
|
||
// необработанного исключения ASP.NET Core или ошибка от прокси перед API).
|
||
if (!response.ok) {
|
||
throw new ApiClientError(response.status, [text || "HTTP ".concat(response.status)]);
|
||
}
|
||
throw new ApiClientError(response.status, ['Сервер вернул не-JSON ответ.']);
|
||
}
|
||
if (!response.ok) {
|
||
messages = (_a = json === null || json === void 0 ? void 0 : json.messages) !== null && _a !== void 0 ? _a : ["HTTP ".concat(response.status)];
|
||
throw new ApiClientError(response.status, messages);
|
||
}
|
||
return [2 /*return*/, (_b = json === null || json === void 0 ? void 0 : json.data) !== null && _b !== void 0 ? _b : undefined];
|
||
}
|
||
});
|
||
});
|
||
}
|
||
/**
|
||
* Прод/staging: вызовы через AAD-защищённое SPFx-подключение (AadHttpClient).
|
||
* Требует webApiPermissionRequests в package-solution.json и админского
|
||
* согласия в SharePoint admin center → Advanced → API access.
|
||
*/
|
||
var AadApiHttpClient = /** @class */ (function () {
|
||
function AadApiHttpClient(client, baseUrl) {
|
||
this.client = client;
|
||
this.baseUrl = baseUrl;
|
||
}
|
||
AadApiHttpClient.prototype.get = function (path, query) {
|
||
var url = buildUrl(this.baseUrl, path, query);
|
||
return this.client
|
||
.get(url, _microsoft_sp_http__WEBPACK_IMPORTED_MODULE_0__.AadHttpClient.configurations.v1)
|
||
.then(function (r) { return parseResponse(r); });
|
||
};
|
||
AadApiHttpClient.prototype.post = function (path, body) {
|
||
return this.send('POST', path, body);
|
||
};
|
||
AadApiHttpClient.prototype.put = function (path, body) {
|
||
return this.send('PUT', path, body);
|
||
};
|
||
AadApiHttpClient.prototype.patch = function (path, body) {
|
||
return this.send('PATCH', path, body);
|
||
};
|
||
AadApiHttpClient.prototype.delete = function (path) {
|
||
return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, function () {
|
||
return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__generator)(this, function (_a) {
|
||
switch (_a.label) {
|
||
case 0: return [4 /*yield*/, this.send('DELETE', path)];
|
||
case 1:
|
||
_a.sent();
|
||
return [2 /*return*/];
|
||
}
|
||
});
|
||
});
|
||
};
|
||
AadApiHttpClient.prototype.send = function (method, path, body) {
|
||
var url = buildUrl(this.baseUrl, path);
|
||
return this.client
|
||
.fetch(url, _microsoft_sp_http__WEBPACK_IMPORTED_MODULE_0__.AadHttpClient.configurations.v1, {
|
||
method: method,
|
||
headers: { 'Content-Type': 'application/json' },
|
||
body: body !== undefined ? JSON.stringify(body) : undefined
|
||
})
|
||
.then(function (r) { return parseResponse(r); });
|
||
};
|
||
return AadApiHttpClient;
|
||
}());
|
||
|
||
/**
|
||
* Локальная отладка: обычный fetch с заголовком X-Dev-User-Email.
|
||
* Работает только если бэкенд поднят с пустыми Entra:TenantId/Entra:Audience
|
||
* (см. backend/.../Auth/AuthSetup.cs — тогда включается DevAuthHandler).
|
||
*/
|
||
var DevApiHttpClient = /** @class */ (function () {
|
||
function DevApiHttpClient(baseUrl, devUserEmail) {
|
||
this.baseUrl = baseUrl;
|
||
this.devUserEmail = devUserEmail;
|
||
}
|
||
DevApiHttpClient.prototype.get = function (path, query) {
|
||
return this.send('GET', path, undefined, query);
|
||
};
|
||
DevApiHttpClient.prototype.post = function (path, body) {
|
||
return this.send('POST', path, body);
|
||
};
|
||
DevApiHttpClient.prototype.put = function (path, body) {
|
||
return this.send('PUT', path, body);
|
||
};
|
||
DevApiHttpClient.prototype.patch = function (path, body) {
|
||
return this.send('PATCH', path, body);
|
||
};
|
||
DevApiHttpClient.prototype.delete = function (path) {
|
||
return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, function () {
|
||
return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__generator)(this, function (_a) {
|
||
switch (_a.label) {
|
||
case 0: return [4 /*yield*/, this.send('DELETE', path)];
|
||
case 1:
|
||
_a.sent();
|
||
return [2 /*return*/];
|
||
}
|
||
});
|
||
});
|
||
};
|
||
DevApiHttpClient.prototype.send = function (method, path, body, query) {
|
||
return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, function () {
|
||
var url, response;
|
||
return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__generator)(this, function (_a) {
|
||
switch (_a.label) {
|
||
case 0:
|
||
url = buildUrl(this.baseUrl, path, query);
|
||
return [4 /*yield*/, fetch(url, {
|
||
method: method,
|
||
headers: {
|
||
'Content-Type': 'application/json',
|
||
'X-Dev-User-Email': this.devUserEmail
|
||
},
|
||
body: body !== undefined ? JSON.stringify(body) : undefined
|
||
})];
|
||
case 1:
|
||
response = _a.sent();
|
||
return [2 /*return*/, parseResponse(response)];
|
||
}
|
||
});
|
||
});
|
||
};
|
||
return DevApiHttpClient;
|
||
}());
|
||
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 323:
|
||
/*!***********************************************************************************************************!*\
|
||
!*** ./node_modules/@microsoft/sp-css-loader/node_modules/@microsoft/load-themed-styles/lib-es6/index.js ***!
|
||
\***********************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ clearStyles: () => (/* binding */ clearStyles),
|
||
/* harmony export */ configureLoadStyles: () => (/* binding */ configureLoadStyles),
|
||
/* harmony export */ configureRunMode: () => (/* binding */ configureRunMode),
|
||
/* harmony export */ detokenize: () => (/* binding */ detokenize),
|
||
/* harmony export */ flush: () => (/* binding */ flush),
|
||
/* harmony export */ loadStyles: () => (/* binding */ loadStyles),
|
||
/* harmony export */ loadTheme: () => (/* binding */ loadTheme),
|
||
/* harmony export */ splitStyles: () => (/* binding */ splitStyles)
|
||
/* harmony export */ });
|
||
// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
|
||
// See LICENSE in the project root for license information.
|
||
var __assign = (undefined && undefined.__assign) || function () {
|
||
__assign = Object.assign || function(t) {
|
||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||
s = arguments[i];
|
||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
||
t[p] = s[p];
|
||
}
|
||
return t;
|
||
};
|
||
return __assign.apply(this, arguments);
|
||
};
|
||
// Store the theming state in __themeState__ global scope for reuse in the case of duplicate
|
||
// load-themed-styles hosted on the page.
|
||
var _root = typeof window === 'undefined' ? __webpack_require__.g : window; // eslint-disable-line @typescript-eslint/no-explicit-any
|
||
// Nonce string to inject into script tag if one provided. This is used in CSP (Content Security Policy).
|
||
var _styleNonce = _root && _root.CSPSettings && _root.CSPSettings.nonce;
|
||
var _themeState = initializeThemeState();
|
||
/**
|
||
* Matches theming tokens. For example, "[theme: themeSlotName, default: #FFF]" (including the quotes).
|
||
*/
|
||
var _themeTokenRegex = /[\'\"]\[theme:\s*(\w+)\s*(?:\,\s*default:\s*([\\"\']?[\.\,\(\)\#\-\s\w]*[\.\,\(\)\#\-\w][\"\']?))?\s*\][\'\"]/g;
|
||
var now = function () {
|
||
return typeof performance !== 'undefined' && !!performance.now ? performance.now() : Date.now();
|
||
};
|
||
function measure(func) {
|
||
var start = now();
|
||
func();
|
||
var end = now();
|
||
_themeState.perf.duration += end - start;
|
||
}
|
||
/**
|
||
* initialize global state object
|
||
*/
|
||
function initializeThemeState() {
|
||
var state = _root.__themeState__ || {
|
||
theme: undefined,
|
||
lastStyleElement: undefined,
|
||
registeredStyles: []
|
||
};
|
||
if (!state.runState) {
|
||
state = __assign(__assign({}, state), { perf: {
|
||
count: 0,
|
||
duration: 0
|
||
}, runState: {
|
||
flushTimer: 0,
|
||
mode: 0 /* Mode.sync */,
|
||
buffer: []
|
||
} });
|
||
}
|
||
if (!state.registeredThemableStyles) {
|
||
state = __assign(__assign({}, state), { registeredThemableStyles: [] });
|
||
}
|
||
_root.__themeState__ = state;
|
||
return state;
|
||
}
|
||
/**
|
||
* Loads a set of style text. If it is registered too early, we will register it when the window.load
|
||
* event is fired.
|
||
* @param {string | ThemableArray} styles Themable style text to register.
|
||
* @param {boolean} loadAsync When true, always load styles in async mode, irrespective of current sync mode.
|
||
*/
|
||
function loadStyles(styles, loadAsync) {
|
||
if (loadAsync === void 0) { loadAsync = false; }
|
||
measure(function () {
|
||
var styleParts = Array.isArray(styles) ? styles : splitStyles(styles);
|
||
var _a = _themeState.runState, mode = _a.mode, buffer = _a.buffer, flushTimer = _a.flushTimer;
|
||
if (loadAsync || mode === 1 /* Mode.async */) {
|
||
buffer.push(styleParts);
|
||
if (!flushTimer) {
|
||
_themeState.runState.flushTimer = asyncLoadStyles();
|
||
}
|
||
}
|
||
else {
|
||
applyThemableStyles(styleParts);
|
||
}
|
||
});
|
||
}
|
||
/**
|
||
* Allows for customizable loadStyles logic. e.g. for server side rendering application
|
||
* @param {(processedStyles: string, rawStyles?: string | ThemableArray) => void}
|
||
* a loadStyles callback that gets called when styles are loaded or reloaded
|
||
*/
|
||
function configureLoadStyles(loadStylesFn) {
|
||
_themeState.loadStyles = loadStylesFn;
|
||
}
|
||
/**
|
||
* Configure run mode of load-themable-styles
|
||
* @param mode load-themable-styles run mode, async or sync
|
||
*/
|
||
function configureRunMode(mode) {
|
||
_themeState.runState.mode = mode;
|
||
}
|
||
/**
|
||
* external code can call flush to synchronously force processing of currently buffered styles
|
||
*/
|
||
function flush() {
|
||
measure(function () {
|
||
var styleArrays = _themeState.runState.buffer.slice();
|
||
_themeState.runState.buffer = [];
|
||
var mergedStyleArray = [].concat.apply([], styleArrays);
|
||
if (mergedStyleArray.length > 0) {
|
||
applyThemableStyles(mergedStyleArray);
|
||
}
|
||
});
|
||
}
|
||
/**
|
||
* register async loadStyles
|
||
*/
|
||
function asyncLoadStyles() {
|
||
return setTimeout(function () {
|
||
_themeState.runState.flushTimer = 0;
|
||
flush();
|
||
}, 0);
|
||
}
|
||
/**
|
||
* Loads a set of style text. If it is registered too early, we will register it when the window.load event
|
||
* is fired.
|
||
* @param {string} styleText Style to register.
|
||
* @param {IStyleRecord} styleRecord Existing style record to re-apply.
|
||
*/
|
||
function applyThemableStyles(stylesArray, styleRecord) {
|
||
if (_themeState.loadStyles) {
|
||
_themeState.loadStyles(resolveThemableArray(stylesArray).styleString, stylesArray);
|
||
}
|
||
else {
|
||
registerStyles(stylesArray);
|
||
}
|
||
}
|
||
/**
|
||
* Registers a set theme tokens to find and replace. If styles were already registered, they will be
|
||
* replaced.
|
||
* @param {theme} theme JSON object of theme tokens to values.
|
||
*/
|
||
function loadTheme(theme) {
|
||
_themeState.theme = theme;
|
||
// reload styles.
|
||
reloadStyles();
|
||
}
|
||
/**
|
||
* Clear already registered style elements and style records in theme_State object
|
||
* @param option - specify which group of registered styles should be cleared.
|
||
* Default to be both themable and non-themable styles will be cleared
|
||
*/
|
||
function clearStyles(option) {
|
||
if (option === void 0) { option = 3 /* ClearStyleOptions.all */; }
|
||
if (option === 3 /* ClearStyleOptions.all */ || option === 2 /* ClearStyleOptions.onlyNonThemable */) {
|
||
clearStylesInternal(_themeState.registeredStyles);
|
||
_themeState.registeredStyles = [];
|
||
}
|
||
if (option === 3 /* ClearStyleOptions.all */ || option === 1 /* ClearStyleOptions.onlyThemable */) {
|
||
clearStylesInternal(_themeState.registeredThemableStyles);
|
||
_themeState.registeredThemableStyles = [];
|
||
}
|
||
}
|
||
function clearStylesInternal(records) {
|
||
records.forEach(function (styleRecord) {
|
||
var styleElement = styleRecord && styleRecord.styleElement;
|
||
if (styleElement && styleElement.parentElement) {
|
||
styleElement.parentElement.removeChild(styleElement);
|
||
}
|
||
});
|
||
}
|
||
/**
|
||
* Reloads styles.
|
||
*/
|
||
function reloadStyles() {
|
||
if (_themeState.theme) {
|
||
var themableStyles = [];
|
||
for (var _i = 0, _a = _themeState.registeredThemableStyles; _i < _a.length; _i++) {
|
||
var styleRecord = _a[_i];
|
||
themableStyles.push(styleRecord.themableStyle);
|
||
}
|
||
if (themableStyles.length > 0) {
|
||
clearStyles(1 /* ClearStyleOptions.onlyThemable */);
|
||
applyThemableStyles([].concat.apply([], themableStyles));
|
||
}
|
||
}
|
||
}
|
||
/**
|
||
* Find theme tokens and replaces them with provided theme values.
|
||
* @param {string} styles Tokenized styles to fix.
|
||
*/
|
||
function detokenize(styles) {
|
||
if (styles) {
|
||
styles = resolveThemableArray(splitStyles(styles)).styleString;
|
||
}
|
||
return styles;
|
||
}
|
||
/**
|
||
* Resolves ThemingInstruction objects in an array and joins the result into a string.
|
||
* @param {ThemableArray} splitStyleArray ThemableArray to resolve and join.
|
||
*/
|
||
function resolveThemableArray(splitStyleArray) {
|
||
var theme = _themeState.theme;
|
||
var themable = false;
|
||
// Resolve the array of theming instructions to an array of strings.
|
||
// Then join the array to produce the final CSS string.
|
||
var resolvedArray = (splitStyleArray || []).map(function (currentValue) {
|
||
var themeSlot = currentValue.theme;
|
||
if (themeSlot) {
|
||
themable = true;
|
||
// A theming annotation. Resolve it.
|
||
var themedValue = theme ? theme[themeSlot] : undefined;
|
||
var defaultValue = currentValue.defaultValue || 'inherit';
|
||
// Warn to console if we hit an unthemed value even when themes are provided, but only if "DEBUG" is true.
|
||
// Allow the themedValue to be undefined to explicitly request the default value.
|
||
if (theme &&
|
||
!themedValue &&
|
||
console &&
|
||
!(themeSlot in theme) &&
|
||
"boolean" !== 'undefined' &&
|
||
true) {
|
||
console.warn("Theming value not provided for \"".concat(themeSlot, "\". Falling back to \"").concat(defaultValue, "\"."));
|
||
}
|
||
return themedValue || defaultValue;
|
||
}
|
||
else {
|
||
// A non-themable string. Preserve it.
|
||
return currentValue.rawString;
|
||
}
|
||
});
|
||
return {
|
||
styleString: resolvedArray.join(''),
|
||
themable: themable
|
||
};
|
||
}
|
||
/**
|
||
* Split tokenized CSS into an array of strings and theme specification objects
|
||
* @param {string} styles Tokenized styles to split.
|
||
*/
|
||
function splitStyles(styles) {
|
||
var result = [];
|
||
if (styles) {
|
||
var pos = 0; // Current position in styles.
|
||
var tokenMatch = void 0;
|
||
while ((tokenMatch = _themeTokenRegex.exec(styles))) {
|
||
var matchIndex = tokenMatch.index;
|
||
if (matchIndex > pos) {
|
||
result.push({
|
||
rawString: styles.substring(pos, matchIndex)
|
||
});
|
||
}
|
||
result.push({
|
||
theme: tokenMatch[1],
|
||
defaultValue: tokenMatch[2] // May be undefined
|
||
});
|
||
// index of the first character after the current match
|
||
pos = _themeTokenRegex.lastIndex;
|
||
}
|
||
// Push the rest of the string after the last match.
|
||
result.push({
|
||
rawString: styles.substring(pos)
|
||
});
|
||
}
|
||
return result;
|
||
}
|
||
/**
|
||
* Registers a set of style text. If it is registered too early, we will register it when the
|
||
* window.load event is fired.
|
||
* @param {ThemableArray} styleArray Array of IThemingInstruction objects to register.
|
||
* @param {IStyleRecord} styleRecord May specify a style Element to update.
|
||
*/
|
||
function registerStyles(styleArray) {
|
||
if (typeof document === 'undefined') {
|
||
return;
|
||
}
|
||
var head = document.getElementsByTagName('head')[0];
|
||
var styleElement = document.createElement('style');
|
||
var _a = resolveThemableArray(styleArray), styleString = _a.styleString, themable = _a.themable;
|
||
styleElement.setAttribute('data-load-themed-styles', 'true');
|
||
if (_styleNonce) {
|
||
styleElement.setAttribute('nonce', _styleNonce);
|
||
}
|
||
styleElement.appendChild(document.createTextNode(styleString));
|
||
_themeState.perf.count++;
|
||
head.appendChild(styleElement);
|
||
var ev = document.createEvent('HTMLEvents');
|
||
ev.initEvent('styleinsert', true /* bubbleEvent */, false /* cancelable */);
|
||
ev.args = {
|
||
newStyle: styleElement
|
||
};
|
||
document.dispatchEvent(ev);
|
||
var record = {
|
||
styleElement: styleElement,
|
||
themableStyle: styleArray
|
||
};
|
||
if (themable) {
|
||
_themeState.registeredThemableStyles.push(record);
|
||
}
|
||
else {
|
||
_themeState.registeredStyles.push(record);
|
||
}
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 196:
|
||
/*!*****************************************!*\
|
||
!*** ./node_modules/tslib/tslib.es6.js ***!
|
||
\*****************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ __assign: () => (/* binding */ __assign),
|
||
/* harmony export */ __asyncDelegator: () => (/* binding */ __asyncDelegator),
|
||
/* harmony export */ __asyncGenerator: () => (/* binding */ __asyncGenerator),
|
||
/* harmony export */ __asyncValues: () => (/* binding */ __asyncValues),
|
||
/* harmony export */ __await: () => (/* binding */ __await),
|
||
/* harmony export */ __awaiter: () => (/* binding */ __awaiter),
|
||
/* harmony export */ __classPrivateFieldGet: () => (/* binding */ __classPrivateFieldGet),
|
||
/* harmony export */ __classPrivateFieldSet: () => (/* binding */ __classPrivateFieldSet),
|
||
/* harmony export */ __createBinding: () => (/* binding */ __createBinding),
|
||
/* harmony export */ __decorate: () => (/* binding */ __decorate),
|
||
/* harmony export */ __exportStar: () => (/* binding */ __exportStar),
|
||
/* harmony export */ __extends: () => (/* binding */ __extends),
|
||
/* harmony export */ __generator: () => (/* binding */ __generator),
|
||
/* harmony export */ __importDefault: () => (/* binding */ __importDefault),
|
||
/* harmony export */ __importStar: () => (/* binding */ __importStar),
|
||
/* harmony export */ __makeTemplateObject: () => (/* binding */ __makeTemplateObject),
|
||
/* harmony export */ __metadata: () => (/* binding */ __metadata),
|
||
/* harmony export */ __param: () => (/* binding */ __param),
|
||
/* harmony export */ __read: () => (/* binding */ __read),
|
||
/* harmony export */ __rest: () => (/* binding */ __rest),
|
||
/* harmony export */ __spread: () => (/* binding */ __spread),
|
||
/* harmony export */ __spreadArray: () => (/* binding */ __spreadArray),
|
||
/* harmony export */ __spreadArrays: () => (/* binding */ __spreadArrays),
|
||
/* harmony export */ __values: () => (/* binding */ __values)
|
||
/* harmony export */ });
|
||
/*! *****************************************************************************
|
||
Copyright (c) Microsoft Corporation.
|
||
|
||
Permission to use, copy, modify, and/or distribute this software for any
|
||
purpose with or without fee is hereby granted.
|
||
|
||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||
PERFORMANCE OF THIS SOFTWARE.
|
||
***************************************************************************** */
|
||
/* global Reflect, Promise */
|
||
|
||
var extendStatics = function(d, b) {
|
||
extendStatics = Object.setPrototypeOf ||
|
||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||
return extendStatics(d, b);
|
||
};
|
||
|
||
function __extends(d, b) {
|
||
if (typeof b !== "function" && b !== null)
|
||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||
extendStatics(d, b);
|
||
function __() { this.constructor = d; }
|
||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||
}
|
||
|
||
var __assign = function() {
|
||
__assign = Object.assign || function __assign(t) {
|
||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||
s = arguments[i];
|
||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
||
}
|
||
return t;
|
||
}
|
||
return __assign.apply(this, arguments);
|
||
}
|
||
|
||
function __rest(s, e) {
|
||
var t = {};
|
||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
||
t[p] = s[p];
|
||
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
||
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
||
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
||
t[p[i]] = s[p[i]];
|
||
}
|
||
return t;
|
||
}
|
||
|
||
function __decorate(decorators, target, key, desc) {
|
||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||
}
|
||
|
||
function __param(paramIndex, decorator) {
|
||
return function (target, key) { decorator(target, key, paramIndex); }
|
||
}
|
||
|
||
function __metadata(metadataKey, metadataValue) {
|
||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
||
}
|
||
|
||
function __awaiter(thisArg, _arguments, P, generator) {
|
||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||
return new (P || (P = Promise))(function (resolve, reject) {
|
||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||
});
|
||
}
|
||
|
||
function __generator(thisArg, body) {
|
||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||
function step(op) {
|
||
if (f) throw new TypeError("Generator is already executing.");
|
||
while (_) try {
|
||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||
switch (op[0]) {
|
||
case 0: case 1: t = op; break;
|
||
case 4: _.label++; return { value: op[1], done: false };
|
||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||
default:
|
||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||
if (t[2]) _.ops.pop();
|
||
_.trys.pop(); continue;
|
||
}
|
||
op = body.call(thisArg, _);
|
||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||
}
|
||
}
|
||
|
||
var __createBinding = Object.create ? (function(o, m, k, k2) {
|
||
if (k2 === undefined) k2 = k;
|
||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
||
}) : (function(o, m, k, k2) {
|
||
if (k2 === undefined) k2 = k;
|
||
o[k2] = m[k];
|
||
});
|
||
|
||
function __exportStar(m, o) {
|
||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
|
||
}
|
||
|
||
function __values(o) {
|
||
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
||
if (m) return m.call(o);
|
||
if (o && typeof o.length === "number") return {
|
||
next: function () {
|
||
if (o && i >= o.length) o = void 0;
|
||
return { value: o && o[i++], done: !o };
|
||
}
|
||
};
|
||
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
||
}
|
||
|
||
function __read(o, n) {
|
||
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
||
if (!m) return o;
|
||
var i = m.call(o), r, ar = [], e;
|
||
try {
|
||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
||
}
|
||
catch (error) { e = { error: error }; }
|
||
finally {
|
||
try {
|
||
if (r && !r.done && (m = i["return"])) m.call(i);
|
||
}
|
||
finally { if (e) throw e.error; }
|
||
}
|
||
return ar;
|
||
}
|
||
|
||
/** @deprecated */
|
||
function __spread() {
|
||
for (var ar = [], i = 0; i < arguments.length; i++)
|
||
ar = ar.concat(__read(arguments[i]));
|
||
return ar;
|
||
}
|
||
|
||
/** @deprecated */
|
||
function __spreadArrays() {
|
||
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
||
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
||
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
||
r[k] = a[j];
|
||
return r;
|
||
}
|
||
|
||
function __spreadArray(to, from, pack) {
|
||
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
||
if (ar || !(i in from)) {
|
||
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
||
ar[i] = from[i];
|
||
}
|
||
}
|
||
return to.concat(ar || Array.prototype.slice.call(from));
|
||
}
|
||
|
||
function __await(v) {
|
||
return this instanceof __await ? (this.v = v, this) : new __await(v);
|
||
}
|
||
|
||
function __asyncGenerator(thisArg, _arguments, generator) {
|
||
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
||
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
||
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
||
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
||
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
||
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
||
function fulfill(value) { resume("next", value); }
|
||
function reject(value) { resume("throw", value); }
|
||
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
||
}
|
||
|
||
function __asyncDelegator(o) {
|
||
var i, p;
|
||
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
||
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
|
||
}
|
||
|
||
function __asyncValues(o) {
|
||
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
||
var m = o[Symbol.asyncIterator], i;
|
||
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
||
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
||
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
||
}
|
||
|
||
function __makeTemplateObject(cooked, raw) {
|
||
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
||
return cooked;
|
||
};
|
||
|
||
var __setModuleDefault = Object.create ? (function(o, v) {
|
||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||
}) : function(o, v) {
|
||
o["default"] = v;
|
||
};
|
||
|
||
function __importStar(mod) {
|
||
if (mod && mod.__esModule) return mod;
|
||
var result = {};
|
||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||
__setModuleDefault(result, mod);
|
||
return result;
|
||
}
|
||
|
||
function __importDefault(mod) {
|
||
return (mod && mod.__esModule) ? mod : { default: mod };
|
||
}
|
||
|
||
function __classPrivateFieldGet(receiver, state, kind, f) {
|
||
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
||
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
||
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
||
}
|
||
|
||
function __classPrivateFieldSet(receiver, state, value, kind, f) {
|
||
if (kind === "m") throw new TypeError("Private method is not writable");
|
||
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
||
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
||
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ 676:
|
||
/*!*********************************************!*\
|
||
!*** external "@microsoft/sp-core-library" ***!
|
||
\*********************************************/
|
||
/***/ ((module) => {
|
||
|
||
module.exports = __WEBPACK_EXTERNAL_MODULE__676__;
|
||
|
||
/***/ }),
|
||
|
||
/***/ 909:
|
||
/*!*************************************!*\
|
||
!*** external "@microsoft/sp-http" ***!
|
||
\*************************************/
|
||
/***/ ((module) => {
|
||
|
||
module.exports = __WEBPACK_EXTERNAL_MODULE__909__;
|
||
|
||
/***/ }),
|
||
|
||
/***/ 877:
|
||
/*!**********************************************!*\
|
||
!*** external "@microsoft/sp-property-pane" ***!
|
||
\**********************************************/
|
||
/***/ ((module) => {
|
||
|
||
module.exports = __WEBPACK_EXTERNAL_MODULE__877__;
|
||
|
||
/***/ }),
|
||
|
||
/***/ 642:
|
||
/*!*********************************************!*\
|
||
!*** external "@microsoft/sp-webpart-base" ***!
|
||
\*********************************************/
|
||
/***/ ((module) => {
|
||
|
||
module.exports = __WEBPACK_EXTERNAL_MODULE__642__;
|
||
|
||
/***/ }),
|
||
|
||
/***/ 959:
|
||
/*!************************!*\
|
||
!*** external "react" ***!
|
||
\************************/
|
||
/***/ ((module) => {
|
||
|
||
module.exports = __WEBPACK_EXTERNAL_MODULE__959__;
|
||
|
||
/***/ }),
|
||
|
||
/***/ 398:
|
||
/*!****************************!*\
|
||
!*** external "react-dom" ***!
|
||
\****************************/
|
||
/***/ ((module) => {
|
||
|
||
module.exports = __WEBPACK_EXTERNAL_MODULE__398__;
|
||
|
||
/***/ })
|
||
|
||
/******/ });
|
||
/************************************************************************/
|
||
/******/ // The module cache
|
||
/******/ var __webpack_module_cache__ = {};
|
||
/******/
|
||
/******/ // The require function
|
||
/******/ function __webpack_require__(moduleId) {
|
||
/******/ // Check if module is in cache
|
||
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
||
/******/ if (cachedModule !== undefined) {
|
||
/******/ return cachedModule.exports;
|
||
/******/ }
|
||
/******/ // Create a new module (and put it into the cache)
|
||
/******/ var module = __webpack_module_cache__[moduleId] = {
|
||
/******/ // no module.id needed
|
||
/******/ // no module.loaded needed
|
||
/******/ exports: {}
|
||
/******/ };
|
||
/******/
|
||
/******/ // Execute the module function
|
||
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
||
/******/
|
||
/******/ // Return the exports of the module
|
||
/******/ return module.exports;
|
||
/******/ }
|
||
/******/
|
||
/************************************************************************/
|
||
/******/ /* webpack/runtime/compat get default export */
|
||
/******/ (() => {
|
||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||
/******/ __webpack_require__.n = (module) => {
|
||
/******/ var getter = module && module.__esModule ?
|
||
/******/ () => (module['default']) :
|
||
/******/ () => (module);
|
||
/******/ __webpack_require__.d(getter, { a: getter });
|
||
/******/ return getter;
|
||
/******/ };
|
||
/******/ })();
|
||
/******/
|
||
/******/ /* webpack/runtime/define property getters */
|
||
/******/ (() => {
|
||
/******/ // define getter functions for harmony exports
|
||
/******/ __webpack_require__.d = (exports, definition) => {
|
||
/******/ for(var key in definition) {
|
||
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
||
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
||
/******/ }
|
||
/******/ }
|
||
/******/ };
|
||
/******/ })();
|
||
/******/
|
||
/******/ /* webpack/runtime/global */
|
||
/******/ (() => {
|
||
/******/ __webpack_require__.g = (function() {
|
||
/******/ if (typeof globalThis === 'object') return globalThis;
|
||
/******/ try {
|
||
/******/ return this || new Function('return this')();
|
||
/******/ } catch (e) {
|
||
/******/ if (typeof window === 'object') return window;
|
||
/******/ }
|
||
/******/ })();
|
||
/******/ })();
|
||
/******/
|
||
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||
/******/ (() => {
|
||
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
||
/******/ })();
|
||
/******/
|
||
/******/ /* webpack/runtime/make namespace object */
|
||
/******/ (() => {
|
||
/******/ // define __esModule on exports
|
||
/******/ __webpack_require__.r = (exports) => {
|
||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||
/******/ }
|
||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||
/******/ };
|
||
/******/ })();
|
||
/******/
|
||
/************************************************************************/
|
||
var __webpack_exports__ = {};
|
||
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
|
||
(() => {
|
||
/*!************************************************************!*\
|
||
!*** ./lib/webparts/approvalAdmin/ApprovalAdminWebPart.js ***!
|
||
\************************************************************/
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! tslib */ 196);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 959);
|
||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ 398);
|
||
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);
|
||
/* harmony import */ var _microsoft_sp_core_library__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @microsoft/sp-core-library */ 676);
|
||
/* harmony import */ var _microsoft_sp_core_library__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_microsoft_sp_core_library__WEBPACK_IMPORTED_MODULE_2__);
|
||
/* harmony import */ var _microsoft_sp_property_pane__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @microsoft/sp-property-pane */ 877);
|
||
/* harmony import */ var _microsoft_sp_property_pane__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_microsoft_sp_property_pane__WEBPACK_IMPORTED_MODULE_3__);
|
||
/* harmony import */ var _microsoft_sp_webpart_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @microsoft/sp-webpart-base */ 642);
|
||
/* harmony import */ var _microsoft_sp_webpart_base__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_microsoft_sp_webpart_base__WEBPACK_IMPORTED_MODULE_4__);
|
||
/* harmony import */ var _components_ApprovalAdmin__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/ApprovalAdmin */ 867);
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
var ApprovalAdminWebPart = /** @class */ (function (_super) {
|
||
(0,tslib__WEBPACK_IMPORTED_MODULE_6__.__extends)(ApprovalAdminWebPart, _super);
|
||
function ApprovalAdminWebPart() {
|
||
return _super !== null && _super.apply(this, arguments) || this;
|
||
}
|
||
ApprovalAdminWebPart.prototype.render = function () {
|
||
var element = react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_ApprovalAdmin__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
||
context: this.context,
|
||
apiBaseUrl: this.properties.apiBaseUrl,
|
||
useDevAuth: this.properties.useDevAuth,
|
||
devUserEmail: this.properties.devUserEmail,
|
||
aadResourceId: this.properties.aadResourceId
|
||
});
|
||
react_dom__WEBPACK_IMPORTED_MODULE_1__.render(element, this.domElement);
|
||
};
|
||
ApprovalAdminWebPart.prototype.onInit = function () {
|
||
var _a;
|
||
this.properties.apiBaseUrl = this.properties.apiBaseUrl || 'http://localhost:5080';
|
||
this.properties.useDevAuth = (_a = this.properties.useDevAuth) !== null && _a !== void 0 ? _a : true;
|
||
this.properties.devUserEmail = this.properties.devUserEmail || 'dev@tnsu.kz';
|
||
this.properties.aadResourceId = this.properties.aadResourceId || 'api://9232d9e2-9807-4753-808f-07250e5474b0';
|
||
return Promise.resolve();
|
||
};
|
||
ApprovalAdminWebPart.prototype.onDispose = function () {
|
||
react_dom__WEBPACK_IMPORTED_MODULE_1__.unmountComponentAtNode(this.domElement);
|
||
};
|
||
Object.defineProperty(ApprovalAdminWebPart.prototype, "dataVersion", {
|
||
get: function () {
|
||
return _microsoft_sp_core_library__WEBPACK_IMPORTED_MODULE_2__.Version.parse('1.0');
|
||
},
|
||
enumerable: false,
|
||
configurable: true
|
||
});
|
||
ApprovalAdminWebPart.prototype.getPropertyPaneConfiguration = function () {
|
||
return {
|
||
pages: [
|
||
{
|
||
header: {
|
||
description: 'Подключение к Tnsu.ApprovalRoute.Api'
|
||
},
|
||
groups: [
|
||
{
|
||
groupName: 'API',
|
||
groupFields: [
|
||
(0,_microsoft_sp_property_pane__WEBPACK_IMPORTED_MODULE_3__.PropertyPaneTextField)('apiBaseUrl', {
|
||
label: 'Api Base Url',
|
||
description: 'Например, https://localhost:5443 локально или прод-адрес API.'
|
||
}),
|
||
(0,_microsoft_sp_property_pane__WEBPACK_IMPORTED_MODULE_3__.PropertyPaneToggle)('useDevAuth', {
|
||
label: 'Локальный Dev-режим (без Azure AD)',
|
||
onText: 'Вкл. (заголовок X-Dev-User-Email)',
|
||
offText: 'Выкл. (AAD-токен через SPFx)'
|
||
}),
|
||
(0,_microsoft_sp_property_pane__WEBPACK_IMPORTED_MODULE_3__.PropertyPaneTextField)('devUserEmail', {
|
||
label: 'Dev: email пользователя',
|
||
description: 'Используется только при включённом Dev-режиме.'
|
||
}),
|
||
(0,_microsoft_sp_property_pane__WEBPACK_IMPORTED_MODULE_3__.PropertyPaneTextField)('aadResourceId', {
|
||
label: 'AAD Resource Id (App ID URI)',
|
||
description: 'Используется только при выключенном Dev-режиме. Должен совпадать с webApiPermissionRequests в package-solution.json.'
|
||
})
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
};
|
||
};
|
||
return ApprovalAdminWebPart;
|
||
}(_microsoft_sp_webpart_base__WEBPACK_IMPORTED_MODULE_4__.BaseClientSideWebPart));
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ApprovalAdminWebPart);
|
||
|
||
})();
|
||
|
||
/******/ return __webpack_exports__;
|
||
/******/ })()
|
||
;
|
||
});;
|
||
//# sourceMappingURL=approval-admin-web-part.js.map
|