From 12c2c912a16036a6077cc731a7311b5df77d918d Mon Sep 17 00:00:00 2001 From: nerim Date: Thu, 13 Jul 2023 12:47:56 +0200 Subject: [PATCH] Refactor deployments table --- ...35223.js => index.52c6abe32f821afdd79b.js} | 56 +++--- connect_ext_ppr/static/index.html | 2 +- ui/src/components/DeploymentsTable.vue | 163 ++++++++++++++++++ ui/src/pages/App.vue | 160 +---------------- ui/src/tools/filters/utcToLocal.js | 28 +-- 5 files changed, 207 insertions(+), 202 deletions(-) rename connect_ext_ppr/static/{index.f717508c545611b35223.js => index.52c6abe32f821afdd79b.js} (94%) create mode 100644 ui/src/components/DeploymentsTable.vue diff --git a/connect_ext_ppr/static/index.f717508c545611b35223.js b/connect_ext_ppr/static/index.52c6abe32f821afdd79b.js similarity index 94% rename from connect_ext_ppr/static/index.f717508c545611b35223.js rename to connect_ext_ppr/static/index.52c6abe32f821afdd79b.js index 1b9dd91..f817454 100644 --- a/connect_ext_ppr/static/index.f717508c545611b35223.js +++ b/connect_ext_ppr/static/index.52c6abe32f821afdd79b.js @@ -195,25 +195,25 @@ eval("var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af /***/ }), -/***/ "./ui/src/components/DateItem.vue": -/*!****************************************!*\ - !*** ./ui/src/components/DateItem.vue ***! - \****************************************/ +/***/ "./ui/src/components/DeploymentsTable.vue": +/*!************************************************!*\ + !*** ./ui/src/components/DeploymentsTable.vue ***! + \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _DateItem_vue_vue_type_template_id_425731c2_lang_pug___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DateItem.vue?vue&type=template&id=425731c2&lang=pug& */ \"./ui/src/components/DateItem.vue?vue&type=template&id=425731c2&lang=pug&\");\n/* harmony import */ var _DateItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DateItem.vue?vue&type=script&lang=js& */ \"./ui/src/components/DateItem.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n;\nvar component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _DateItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _DateItem_vue_vue_type_template_id_425731c2_lang_pug___WEBPACK_IMPORTED_MODULE_0__.render,\n _DateItem_vue_vue_type_template_id_425731c2_lang_pug___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"ui/src/components/DateItem.vue\"\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/components/DateItem.vue?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _DeploymentsTable_vue_vue_type_template_id_05b190fe_lang_pug___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DeploymentsTable.vue?vue&type=template&id=05b190fe&lang=pug& */ \"./ui/src/components/DeploymentsTable.vue?vue&type=template&id=05b190fe&lang=pug&\");\n/* harmony import */ var _DeploymentsTable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DeploymentsTable.vue?vue&type=script&lang=js& */ \"./ui/src/components/DeploymentsTable.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n;\nvar component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _DeploymentsTable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _DeploymentsTable_vue_vue_type_template_id_05b190fe_lang_pug___WEBPACK_IMPORTED_MODULE_0__.render,\n _DeploymentsTable_vue_vue_type_template_id_05b190fe_lang_pug___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"ui/src/components/DeploymentsTable.vue\"\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/components/DeploymentsTable.vue?"); /***/ }), -/***/ "./node_modules/vue-loader/lib/index.js??vue-loader-options!./ui/src/components/DateItem.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/index.js??vue-loader-options!./ui/src/components/DateItem.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************/ +/***/ "./node_modules/vue-loader/lib/index.js??vue-loader-options!./ui/src/components/DeploymentsTable.vue?vue&type=script&lang=js&": +/*!************************************************************************************************************************************!*\ + !*** ./node_modules/vue-loader/lib/index.js??vue-loader-options!./ui/src/components/DeploymentsTable.vue?vue&type=script&lang=js& ***! + \************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ~constants */ \"./ui/src/tools/constants.js\");\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n props: {\n date: [String, Date],\n dateOnly: Boolean,\n oneLine: Boolean,\n timeFormat: {\n default: _constants__WEBPACK_IMPORTED_MODULE_0__.timeFormats.TIME,\n type: String,\n },\n },\n});\n\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/components/DateItem.vue?./node_modules/vue-loader/lib/index.js??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _components_cDataTable_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ~components/cDataTable.vue */ \"./ui/src/components/cDataTable.vue\");\n/* harmony import */ var _components_DetailItem_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ~components/DetailItem.vue */ \"./ui/src/components/DetailItem.vue\");\n/* harmony import */ var _components_Pic_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ~components/Pic.vue */ \"./ui/src/components/Pic.vue\");\n/* harmony import */ var _components_cStatus_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ~components/cStatus.vue */ \"./ui/src/components/cStatus.vue\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ~utils */ \"./ui/src/tools/utils.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ \"./ui/src/utils.js\");\n\n\n\n\n\n\n\n\n\n\nconst prepareRow = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.template)({\n id: ['id'],\n productId: ['product', 'id'],\n productIcon: ['product', 'icon'],\n productName: ['product', 'name'],\n vendorId: ['owner', 'id'],\n vendorIcon: ['owner', 'icon'],\n vendorName: ['owner', 'name'],\n hubId: ['hub', 'id'],\n hubName: ['hub', 'name'],\n lastSync: ['last_sync_at'],\n status: ['status'],\n});\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n components: {\n cDataTable: _components_cDataTable_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n DetailItem: _components_DetailItem_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Pic: _components_Pic_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n cStatus: _components_cStatus_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n },\n data() {\n return {\n localValue: null,\n headers: [{\n text: 'deployment',\n value: 'deployment',\n align: 'left',\n },\n {\n text: 'product',\n value: 'product',\n align: 'left',\n },\n {\n text: 'vendor',\n value: 'vendor',\n align: 'left',\n },\n {\n text: 'hub',\n value: 'hub',\n align: 'left',\n },\n {\n text: 'last sync',\n value: 'lastSync',\n align: 'left',\n },\n {\n text: 'status',\n value: 'status',\n align: 'left',\n },\n ],\n };\n },\n\n methods: {\n prepareRow,\n },\n\n async created() {\n const allDeployments = await (0,_utils__WEBPACK_IMPORTED_MODULE_5__.getDeployments)();\n this.localValue = allDeployments;\n },\n});\n\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/components/DeploymentsTable.vue?./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), @@ -565,7 +565,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _components_cDataTable_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ~components/cDataTable.vue */ \"./ui/src/components/cDataTable.vue\");\n/* harmony import */ var _components_DetailItem_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ~components/DetailItem.vue */ \"./ui/src/components/DetailItem.vue\");\n/* harmony import */ var _components_DateItem_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ~components/DateItem.vue */ \"./ui/src/components/DateItem.vue\");\n/* harmony import */ var _components_Pic_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ~components/Pic.vue */ \"./ui/src/components/Pic.vue\");\n/* harmony import */ var _components_cStatus_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ~components/cStatus.vue */ \"./ui/src/components/cStatus.vue\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ~utils */ \"./ui/src/tools/utils.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils */ \"./ui/src/utils.js\");\n\n\n\n\n\n\n\n\n\n\n\nconst prepareRow = (0,_utils__WEBPACK_IMPORTED_MODULE_5__.template)({\n id: ['id'],\n productId: ['product', 'id'],\n productIcon: ['product', 'icon'],\n productName: ['product', 'name'],\n vendorId: ['owner', 'id'],\n vendorIcon: ['owner', 'icon'],\n vendorName: ['owner', 'name'],\n hubId: ['hub', 'id'],\n hubName: ['hub', 'name'],\n lastSync: ['last_sync_at'],\n status: ['status'],\n});\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n components: {\n cDataTable: _components_cDataTable_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n DetailItem: _components_DetailItem_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Pic: _components_Pic_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n cStatus: _components_cStatus_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n DateItem: _components_DateItem_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n },\n data() {\n return {\n localValue: null,\n headers: [{\n text: 'deployment',\n value: 'deployment',\n align: 'left',\n },\n {\n text: 'product',\n value: 'product',\n align: 'left',\n },\n {\n text: 'vendor',\n value: 'vendor',\n align: 'left',\n },\n {\n text: 'hub',\n value: 'hub',\n align: 'left',\n },\n {\n text: 'last sync',\n value: 'lastSync',\n align: 'left',\n },\n {\n text: 'status',\n value: 'status',\n align: 'left',\n },\n ],\n };\n },\n\n methods: {\n prepareRow,\n },\n\n async created() {\n const allDeployments = await (0,_utils__WEBPACK_IMPORTED_MODULE_6__.getDeployments)();\n console.log(allDeployments);\n this.localValue = allDeployments;\n },\n});\n\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/pages/App.vue?./node_modules/vue-loader/lib/index.js??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _components_DeploymentsTable_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ~components/DeploymentsTable.vue */ \"./ui/src/components/DeploymentsTable.vue\");\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n components: {\n DeploymentsTable: _components_DeploymentsTable_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n },\n data() {\n return {};\n },\n});\n\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/pages/App.vue?./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), @@ -723,14 +723,14 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod /***/ }), -/***/ "./ui/src/components/DateItem.vue?vue&type=script&lang=js&": -/*!*****************************************************************!*\ - !*** ./ui/src/components/DateItem.vue?vue&type=script&lang=js& ***! - \*****************************************************************/ +/***/ "./ui/src/components/DeploymentsTable.vue?vue&type=script&lang=js&": +/*!*************************************************************************!*\ + !*** ./ui/src/components/DeploymentsTable.vue?vue&type=script&lang=js& ***! + \*************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_DateItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateItem.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js??vue-loader-options!./ui/src/components/DateItem.vue?vue&type=script&lang=js&\");\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_vue_loader_lib_index_js_vue_loader_options_DateItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/components/DateItem.vue?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_DeploymentsTable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeploymentsTable.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js??vue-loader-options!./ui/src/components/DeploymentsTable.vue?vue&type=script&lang=js&\");\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_vue_loader_lib_index_js_vue_loader_options_DeploymentsTable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/components/DeploymentsTable.vue?"); /***/ }), @@ -910,14 +910,14 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "./ui/src/components/DateItem.vue?vue&type=template&id=425731c2&lang=pug&": -/*!********************************************************************************!*\ - !*** ./ui/src/components/DateItem.vue?vue&type=template&id=425731c2&lang=pug& ***! - \********************************************************************************/ +/***/ "./ui/src/components/DeploymentsTable.vue?vue&type=template&id=05b190fe&lang=pug&": +/*!****************************************************************************************!*\ + !*** ./ui/src/components/DeploymentsTable.vue?vue&type=template&id=05b190fe&lang=pug& ***! + \****************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_1_node_modules_pug_plain_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DateItem_vue_vue_type_template_id_425731c2_lang_pug___WEBPACK_IMPORTED_MODULE_0__.render),\n/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_1_node_modules_pug_plain_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DateItem_vue_vue_type_template_id_425731c2_lang_pug___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_1_node_modules_pug_plain_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DateItem_vue_vue_type_template_id_425731c2_lang_pug___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[1]!../../../node_modules/pug-plain-loader/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateItem.vue?vue&type=template&id=425731c2&lang=pug& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[1]!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./ui/src/components/DateItem.vue?vue&type=template&id=425731c2&lang=pug&\");\n\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/components/DateItem.vue?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_1_node_modules_pug_plain_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DeploymentsTable_vue_vue_type_template_id_05b190fe_lang_pug___WEBPACK_IMPORTED_MODULE_0__.render),\n/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_1_node_modules_pug_plain_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DeploymentsTable_vue_vue_type_template_id_05b190fe_lang_pug___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_1_node_modules_pug_plain_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DeploymentsTable_vue_vue_type_template_id_05b190fe_lang_pug___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[1]!../../../node_modules/pug-plain-loader/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeploymentsTable.vue?vue&type=template&id=05b190fe&lang=pug& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[1]!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./ui/src/components/DeploymentsTable.vue?vue&type=template&id=05b190fe&lang=pug&\");\n\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/components/DeploymentsTable.vue?"); /***/ }), @@ -1097,14 +1097,14 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[1]!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./ui/src/components/DateItem.vue?vue&type=template&id=425731c2&lang=pug&": -/*!*****************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[1]!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./ui/src/components/DateItem.vue?vue&type=template&id=425731c2&lang=pug& ***! - \*****************************************************************************************************************************************************************************************************************************************************************/ +/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[1]!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./ui/src/components/DeploymentsTable.vue?vue&type=template&id=05b190fe&lang=pug&": +/*!*************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[1]!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./ui/src/components/DeploymentsTable.vue?vue&type=template&id=05b190fe&lang=pug& ***! + \*************************************************************************************************************************************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: () => (/* binding */ render),\n/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _vm.date\n ? _c(\n \"div\",\n { staticClass: \"date-item\" },\n [\n _c(\"span\", [_vm._v(_vm._s(_vm.date))]),\n !_vm.dateOnly\n ? [\n _vm.oneLine\n ? _c(\"span\", { staticClass: \"inline-block ml-1\" }, [\n _vm._v(_vm._s(_vm.date)),\n ])\n : _vm._e(),\n ]\n : _vm._e(),\n ],\n 2\n )\n : _c(\"div\", { staticClass: \"text--disabled\" }, [_vm._v(\"—\")])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/components/DateItem.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B1%5D!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: () => (/* binding */ render),\n/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _vm.localValue\n ? _c(\"c-data-table\", {\n attrs: {\n headers: _vm.headers,\n \"hide-go-to-page-section\": \"\",\n \"prepare-row\": _vm.prepareRow,\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"items\",\n fn: function ({ row, visibleHeaders }) {\n return [\n _c(\n \"tr\",\n {\n staticClass: \"table__row hoverable\",\n attrs: { id: row.id },\n },\n [\n _vm._l(visibleHeaders, function (header) {\n return [\n header.value === \"deployment\"\n ? _c(\n \"td\",\n {\n key: header.value,\n staticClass: \"nowrap-cell\",\n },\n [_c(\"span\", [_vm._v(_vm._s(row.id))])]\n )\n : _vm._e(),\n header.value === \"product\"\n ? _c(\n \"td\",\n {\n key: header.value,\n staticClass: \"nowrap-cell\",\n },\n [\n _c(\"detail-item\", {\n attrs: { \"assistive-text\": row.productId },\n scopedSlots: _vm._u(\n [\n {\n key: \"body-text\",\n fn: function () {\n return [\n _c(\n \"div\",\n {\n staticClass: \"truncate-text\",\n },\n [\n _vm._v(\n _vm._s(row.productName)\n ),\n ]\n ),\n ]\n },\n proxy: true,\n },\n {\n key: \"image\",\n fn: function () {\n return [\n _c(\"pic\", {\n staticClass: \"object-image\",\n class: {\n \"picture-placeholder\":\n !row.productIcon,\n },\n attrs: {\n src: row.productIcon,\n width: 32,\n height: 32,\n size: \"contain\",\n },\n }),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n )\n : _vm._e(),\n header.value === \"vendor\"\n ? _c(\n \"td\",\n {\n key: header.value,\n staticClass: \"nowrap-cell\",\n },\n [\n _c(\"detail-item\", {\n attrs: { \"assistive-text\": row.vendorId },\n scopedSlots: _vm._u(\n [\n {\n key: \"body-text\",\n fn: function () {\n return [\n _c(\n \"div\",\n {\n staticClass: \"truncate-text\",\n },\n [_vm._v(_vm._s(row.vendorName))]\n ),\n ]\n },\n proxy: true,\n },\n {\n key: \"image\",\n fn: function () {\n return [\n _c(\"pic\", {\n staticClass: \"object-image\",\n class: {\n \"picture-placeholder\":\n !row.vendorIcon,\n },\n attrs: {\n src: row.vendorIcon,\n width: 32,\n height: 32,\n size: \"contain\",\n },\n }),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n )\n : _vm._e(),\n header.value === \"hub\"\n ? _c(\n \"td\",\n {\n key: header.value,\n staticClass: \"nowrap-cell\",\n },\n [\n _c(\"detail-item\", {\n attrs: { \"assistive-text\": row.hubId },\n scopedSlots: _vm._u(\n [\n {\n key: \"body-text\",\n fn: function () {\n return [\n _c(\n \"div\",\n {\n staticClass: \"truncate-text\",\n },\n [_vm._v(_vm._s(row.hubName))]\n ),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n )\n : _vm._e(),\n header.value === \"lastSync\"\n ? _c(\n \"td\",\n {\n key: header.value,\n staticClass: \"nowrap-cell\",\n },\n [\n _c(\"span\", [\n _vm._v(\n _vm._s(_vm._f(\"utcToLocal\")(row.lastSync))\n ),\n ]),\n ]\n )\n : _vm._e(),\n header.value === \"status\"\n ? _c(\n \"td\",\n {\n key: header.value,\n staticClass: \"nowrap-cell\",\n },\n [\n _c(\n \"c-status\",\n { attrs: { status: row.status } },\n [_c(\"span\", [_vm._v(_vm._s(row.status))])]\n ),\n ],\n 1\n )\n : _vm._e(),\n ]\n }),\n ],\n 2\n ),\n ]\n },\n },\n ],\n null,\n false,\n 2430005290\n ),\n model: {\n value: _vm.localValue,\n callback: function ($$v) {\n _vm.localValue = $$v\n },\n expression: \"localValue\",\n },\n })\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/components/DeploymentsTable.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B1%5D!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), @@ -1280,7 +1280,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: () => (/* binding */ render),\n/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"div\",\n { staticClass: \"app\" },\n [\n _c(\"portal-target\", { attrs: { name: \"destination\", multiple: \"\" } }),\n _c(\"div\", { staticClass: \"title\" }, [_vm._v(\"XVS Extension\")]),\n _c(\n \"ui-tabs\",\n [\n _c(\"ui-tab\", { attrs: { default: \"\", tab: \"Deployments\" } }, [\n _vm._v(\"Deployments\"),\n ]),\n _c(\"ui-tab\", { attrs: { tab: \"Requests\" } }, [_vm._v(\"Requests\")]),\n _c(\n \"ui-pad\",\n { attrs: { pad: \"Deployments\" } },\n [\n _c(\"div\", { staticClass: \"summary-tab\" }, [_vm._v(\"uno\")]),\n _vm.localValue\n ? _c(\"c-data-table\", {\n attrs: {\n headers: _vm.headers,\n \"hide-go-to-page-section\": \"\",\n \"prepare-row\": _vm.prepareRow,\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"items\",\n fn: function ({ row, visibleHeaders }) {\n return [\n _c(\n \"tr\",\n {\n staticClass: \"table__row hoverable\",\n attrs: { id: row.id },\n },\n [\n _vm._l(visibleHeaders, function (header) {\n return [\n header.value === \"deployment\"\n ? _c(\n \"td\",\n {\n key: header.value,\n staticClass: \"nowrap-cell\",\n },\n [\n _c(\"span\", [\n _vm._v(_vm._s(row.id)),\n ]),\n ]\n )\n : _vm._e(),\n header.value === \"product\"\n ? _c(\n \"td\",\n {\n key: header.value,\n staticClass: \"nowrap-cell\",\n },\n [\n _c(\"detail-item\", {\n attrs: {\n \"assistive-text\":\n row.productId,\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"body-text\",\n fn: function () {\n return [\n _c(\n \"div\",\n {\n staticClass:\n \"truncate-text\",\n },\n [\n _vm._v(\n _vm._s(\n row.productName\n )\n ),\n ]\n ),\n ]\n },\n proxy: true,\n },\n {\n key: \"image\",\n fn: function () {\n return [\n _c(\"pic\", {\n staticClass:\n \"object-image\",\n class: {\n \"picture-placeholder\":\n !row.productIcon,\n },\n attrs: {\n src: row.productIcon,\n width: 32,\n height: 32,\n size: \"contain\",\n },\n }),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n )\n : _vm._e(),\n header.value === \"vendor\"\n ? _c(\n \"td\",\n {\n key: header.value,\n staticClass: \"nowrap-cell\",\n },\n [\n _c(\"detail-item\", {\n attrs: {\n \"assistive-text\":\n row.vendorId,\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"body-text\",\n fn: function () {\n return [\n _c(\n \"div\",\n {\n staticClass:\n \"truncate-text\",\n },\n [\n _vm._v(\n _vm._s(\n row.vendorName\n )\n ),\n ]\n ),\n ]\n },\n proxy: true,\n },\n {\n key: \"image\",\n fn: function () {\n return [\n _c(\"pic\", {\n staticClass:\n \"object-image\",\n class: {\n \"picture-placeholder\":\n !row.vendorIcon,\n },\n attrs: {\n src: row.vendorIcon,\n width: 32,\n height: 32,\n size: \"contain\",\n },\n }),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n )\n : _vm._e(),\n header.value === \"hub\"\n ? _c(\n \"td\",\n {\n key: header.value,\n staticClass: \"nowrap-cell\",\n },\n [\n _c(\"detail-item\", {\n attrs: {\n \"assistive-text\": row.hubId,\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"body-text\",\n fn: function () {\n return [\n _c(\n \"div\",\n {\n staticClass:\n \"truncate-text\",\n },\n [\n _vm._v(\n _vm._s(\n row.hubName\n )\n ),\n ]\n ),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n )\n : _vm._e(),\n header.value === \"lastSync\"\n ? _c(\n \"td\",\n {\n key: header.value,\n staticClass: \"nowrap-cell\",\n },\n [\n _c(\"date-item\", {\n attrs: {\n date: row.lastSync,\n \"one-line\": \"\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n header.value === \"status\"\n ? _c(\n \"td\",\n {\n key: header.value,\n staticClass: \"nowrap-cell\",\n },\n [\n _c(\n \"c-status\",\n {\n attrs: { status: row.status },\n },\n [\n _c(\"span\", [\n _vm._v(_vm._s(row.status)),\n ]),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n ]\n }),\n ],\n 2\n ),\n ]\n },\n },\n ],\n null,\n false,\n 2996019260\n ),\n model: {\n value: _vm.localValue,\n callback: function ($$v) {\n _vm.localValue = $$v\n },\n expression: \"localValue\",\n },\n })\n : _vm._e(),\n ],\n 1\n ),\n _c(\"ui-pad\", { attrs: { pad: \"Requests\" } }, [\n _c(\"div\", { staticClass: \"subscriptions-tab\" }, [_vm._v(\"dos\")]),\n ]),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/pages/App.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B1%5D!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: () => (/* binding */ render),\n/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"div\",\n { staticClass: \"app\" },\n [\n _c(\"portal-target\", { attrs: { name: \"destination\", multiple: \"\" } }),\n _c(\"div\", { staticClass: \"title\" }, [_vm._v(\"XVS Extension\")]),\n _c(\n \"ui-tabs\",\n [\n _c(\"ui-tab\", { attrs: { default: \"\", tab: \"Deployments\" } }, [\n _vm._v(\"Deployments\"),\n ]),\n _c(\"ui-tab\", { attrs: { tab: \"Requests\" } }, [_vm._v(\"Requests\")]),\n _c(\n \"ui-pad\",\n { attrs: { pad: \"Deployments\" } },\n [_c(\"deployments-table\")],\n 1\n ),\n _c(\"ui-pad\", { attrs: { pad: \"Requests\" } }, [\n _c(\"div\", { staticClass: \"subscriptions-tab\" }, [\n _vm._v(\"Requests\"),\n ]),\n ]),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/pages/App.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet%5B1%5D.rules%5B1%5D!./node_modules/pug-plain-loader/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options"); /***/ }), @@ -1357,7 +1357,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getUtcDate: () => (/* binding */ getUtcDate),\n/* harmony export */ utcToLocal: () => (/* binding */ utcToLocal)\n/* harmony export */ });\n/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! moment-timezone */ \"./node_modules/moment-timezone/index.js\");\n/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ramda */ \"./node_modules/ramda/es/index.js\");\n\n\n\n\n\nconst utcToLocal = (0,ramda__WEBPACK_IMPORTED_MODULE_1__.curry)((\n store,\n utcDateString,\n format = 'L LT',\n localize = true,\n timezoneInfo = {},\n) => {\n const settings = {\n ...store.getters['auth/userTimezoneInfo'],\n ...timezoneInfo,\n };\n\n let { timezone, region: locale } = settings;\n\n if (!localize || !moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().localeData(locale)) {\n locale = 'en_US';\n }\n\n if (!timezone || !moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().tz.names().includes(timezone)) {\n timezone = 'UTC';\n }\n\n const browserLocale = Intl.DateTimeFormat().resolvedOptions().locale;\n\n const localeData = moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().localeData(browserLocale);\n\n // eslint-disable-next-line no-underscore-dangle\n localeData._longDateFormat.LT = settings.time_24h ? 'HH:mm' : 'h:mm A';\n\n moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().locale(browserLocale);\n\n if (format === 'fromNow') {\n return moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().utc(utcDateString)\n .tz(timezone)\n .fromNow();\n }\n\n return moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().utc(utcDateString)\n .tz(timezone)\n .format(format);\n});\n\nconst getUtcDate = (utcDateString, format = 'L LT') => moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().utc(utcDateString)\n .format(format);\n\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/tools/filters/utcToLocal.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getUtcDate: () => (/* binding */ getUtcDate),\n/* harmony export */ utcToLocal: () => (/* binding */ utcToLocal)\n/* harmony export */ });\n/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! moment-timezone */ \"./node_modules/moment-timezone/index.js\");\n/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ramda */ \"./node_modules/ramda/es/index.js\");\n\n\n\n\n\nconst utcToLocal = (0,ramda__WEBPACK_IMPORTED_MODULE_1__.curry)((\n utcDateString,\n format = 'L LT',\n) => {\n let { timeZone, locale } = Intl.DateTimeFormat().resolvedOptions().locale;\n\n if (!moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().localeData(locale)) {\n locale = 'en_US';\n }\n\n if (!timeZone || !moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().tz.names().includes(timeZone)) {\n timeZone = 'UTC';\n }\n\n const localeData = moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().localeData(locale);\n\n // eslint-disable-next-line no-underscore-dangle\n localeData._longDateFormat.LT = 'HH:mm';\n\n moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().locale(locale);\n\n if (format === 'fromNow') {\n return moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().utc(utcDateString)\n .tz(timeZone)\n .fromNow();\n }\n\n return moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().utc(utcDateString)\n .tz(timeZone)\n .format(format);\n});\n\nconst getUtcDate = (utcDateString, format = 'L LT') => moment_timezone__WEBPACK_IMPORTED_MODULE_0___default().utc(utcDateString)\n .format(format);\n\n\n//# sourceURL=webpack://connect-extension-xvs/./ui/src/tools/filters/utcToLocal.js?"); /***/ }), diff --git a/connect_ext_ppr/static/index.html b/connect_ext_ppr/static/index.html index 9c12c0f..fece31a 100644 --- a/connect_ext_ppr/static/index.html +++ b/connect_ext_ppr/static/index.html @@ -11,7 +11,7 @@ Index - +
diff --git a/ui/src/components/DeploymentsTable.vue b/ui/src/components/DeploymentsTable.vue new file mode 100644 index 0000000..6071018 --- /dev/null +++ b/ui/src/components/DeploymentsTable.vue @@ -0,0 +1,163 @@ + + + diff --git a/ui/src/pages/App.vue b/ui/src/pages/App.vue index 33c33bf..8d41fe2 100644 --- a/ui/src/pages/App.vue +++ b/ui/src/pages/App.vue @@ -5,171 +5,23 @@ ui-tabs ui-tab(default tab="Deployments") Deployments ui-tab(tab="Requests") Requests - ui-pad(pad="Deployments") - .summary-tab uno - c-data-table( - v-if="localValue", - v-model="localValue", - :headers="headers", - hide-go-to-page-section, - :prepare-row="prepareRow", - ) - template(#items="{ row, visibleHeaders}") - tr.table__row.hoverable(:id="row.id") - template(v-for="header in visibleHeaders") - //- ID column - td.nowrap-cell( - v-if="header.value === 'deployment'", - :key="header.value", - ) - span {{ row.id }} - - //- ID column - td.nowrap-cell( - v-if="header.value === 'product'", - :key="header.value", - ) - detail-item(:assistive-text="row.productId") - template(#body-text="") - .truncate-text {{ row.productName }} - - template(#image="") - pic.object-image( - :src="row.productIcon", - :width="32", - :height="32", - size="contain", - :class="{'picture-placeholder': !row.productIcon }", - ) - - td.nowrap-cell( - v-if="header.value === 'vendor'", - :key="header.value", - ) - detail-item(:assistive-text="row.vendorId") - template(#body-text="") - .truncate-text {{ row.vendorName }} - template(#image="") - pic.object-image( - :src="row.vendorIcon", - :width="32", - :height="32", - size="contain", - :class="{'picture-placeholder': !row.vendorIcon }", - ) - - td.nowrap-cell( - v-if="header.value === 'hub'", - :key="header.value", - ) - detail-item(:assistive-text="row.hubId") - template(#body-text="") - .truncate-text {{ row.hubName }} - - td.nowrap-cell( - v-if="header.value === 'lastSync'", - :key="header.value", - ) - date-item( - :date="row.lastSync", - one-line, - ) - - td.nowrap-cell( - v-if="header.value === 'status'", - :key="header.value", - ) - c-status(:status="row.status") - span {{ row.status }} + ui-pad(pad="Deployments") + deployments-table ui-pad(pad="Requests") - .subscriptions-tab dos + .subscriptions-tab Requests diff --git a/ui/src/tools/filters/utcToLocal.js b/ui/src/tools/filters/utcToLocal.js index 692e012..87da85a 100644 --- a/ui/src/tools/filters/utcToLocal.js +++ b/ui/src/tools/filters/utcToLocal.js @@ -6,46 +6,36 @@ import { export const utcToLocal = curry(( - store, utcDateString, format = 'L LT', - localize = true, - timezoneInfo = {}, ) => { - const settings = { - ...store.getters['auth/userTimezoneInfo'], - ...timezoneInfo, - }; + let { timeZone, locale } = Intl.DateTimeFormat().resolvedOptions().locale; - let { timezone, region: locale } = settings; - - if (!localize || !moment.localeData(locale)) { + if (!moment.localeData(locale)) { locale = 'en_US'; } - if (!timezone || !moment.tz.names().includes(timezone)) { - timezone = 'UTC'; + if (!timeZone || !moment.tz.names().includes(timeZone)) { + timeZone = 'UTC'; } - const browserLocale = Intl.DateTimeFormat().resolvedOptions().locale; - - const localeData = moment.localeData(browserLocale); + const localeData = moment.localeData(locale); // eslint-disable-next-line no-underscore-dangle - localeData._longDateFormat.LT = settings.time_24h ? 'HH:mm' : 'h:mm A'; + localeData._longDateFormat.LT = 'HH:mm'; - moment.locale(browserLocale); + moment.locale(locale); if (format === 'fromNow') { return moment .utc(utcDateString) - .tz(timezone) + .tz(timeZone) .fromNow(); } return moment .utc(utcDateString) - .tz(timezone) + .tz(timeZone) .format(format); });