@green-code-studio/objects-list 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/demoDist/demo.js CHANGED
@@ -86,7 +86,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
86
86
  \*****************************************************************************************************************/
87
87
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
88
88
 
89
- 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_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.contextMenu {\n position: fixed;\n z-index: 1000;\n margin: 0;\n padding: 0;\n max-width: 100vh;\n min-width: 200px;\n user-select: none;\n background: var(--background);\n}\n.contextMenu li, .contextMenu a {\n display: flex;\n cursor: pointer;\n margin: 0;\n white-space: nowrap;\n align-items: center;\n}\n.contextMenu li .icon, .contextMenu a .icon {\n display: inline-block;\n flex: 0 0 50px;\n text-align: center;\n font-size: 1.2em;\n line-height: 1em;\n vertical-align: middle;\n}\n.contextMenu li .iconPlaceholder, .contextMenu a .iconPlaceholder {\n display: inline-block;\n width: 50px;\n}\n.contextMenu li .content, .contextMenu a .content {\n flex: 1 1 auto;\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 15px 10px;\n line-height: 1em;\n vertical-align: middle;\n}\n\ndata-view {\n border: 1px solid var(--second);\n display: flex;\n flex-direction: column;\n height: calc(100vh - 200px);\n user-select: none;\n}\ndata-view table-view {\n display: block;\n flex-grow: 1;\n overflow: auto;\n --rowHeight: 41px;\n}\ndata-view table-view .head {\n position: sticky;\n top: 0;\n z-index: 1;\n height: 19px;\n background: var(--second);\n}\ndata-view table-view .head .column {\n background: var(--second);\n color: var(--textSecondColor);\n cursor: default;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: 700;\n position: absolute;\n padding: 0 10px;\n box-sizing: border-box;\n height: 19px;\n}\ndata-view table-view .head .column.ableToSort {\n cursor: pointer;\n}\ndata-view table-view .head .column.ableToSort::before {\n transform: scaleY(0);\n transition: all 300ms ease-out;\n position: absolute;\n right: 0;\n}\ndata-view table-view .head .column.ableToSort[data-order=asc]::before {\n transform: scaleY(1);\n}\ndata-view table-view .head .column.ableToSort[data-order=desc]::before {\n transform: scaleY(-1);\n}\ndata-view table-view .head .column.ableToSort .tableCopy {\n display: none;\n}\ndata-view table-view .body {\n position: relative;\n}\ndata-view table-view .body .tr {\n display: flex;\n position: absolute;\n transition: top 300ms ease, background 100ms;\n table-layout: fixed;\n flex-direction: row;\n animation: data-view-appear 200ms;\n}\n@keyframes data-view-appear {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\ndata-view table-view .body .tr.selectedMain, data-view table-view .body .tr:focus {\n outline: 2px black dashed;\n outline-offset: -2px;\n}\ndata-view table-view .body .tr .td {\n padding: 5px 10px;\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n flex: 0 0 auto;\n box-sizing: border-box;\n height: var(--rowHeight);\n}\ndata-view table-view .body .tr .td button, data-view table-view .body .tr .td .button {\n font-size: 16px;\n margin-left: 2px;\n}\ndata-view list-view {\n display: block;\n flex-grow: 1;\n overflow: auto;\n}\ndata-view list-view .body {\n position: relative;\n}\ndata-view list-view .body .tr {\n display: grid;\n position: absolute;\n transition: top 300ms ease, background 100ms;\n animation: data-view-appear 200ms;\n grid-template-columns: max-content 1fr max-content;\n width: 100%;\n padding: 10px 0;\n}\ndata-view list-view .body .tr.selectedMain, data-view list-view .body .tr:focus {\n outline: 2px black dashed;\n outline-offset: -2px;\n}\ndata-view list-view .body .tr button, data-view list-view .body .tr .button {\n font-size: 16px;\n margin-left: 2px;\n}\ndata-view list-view .body .tr .icon {\n grid-column: 1;\n grid-row: 1/4;\n font-size: 40px;\n line-height: 63px;\n}\ndata-view list-view .body .tr .keyValue {\n grid-column: 2/4;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 21px;\n}\ndata-view list-view .body .tr .keyValue:nth-child(2), data-view list-view .body .tr .keyValue:nth-child(3) {\n grid-column: 2;\n}\ndata-view list-view .body .tr .actions {\n grid-column: 3;\n grid-row: 1/3;\n}\ndata-view .foot {\n border-top: 1px solid var(--second);\n display: flex;\n justify-content: space-between;\n}\n@media (max-width: 600px) {\n data-view .foot form input {\n width: 40px;\n }\n data-view .foot form input:focus {\n width: 200px;\n margin-left: -160px;\n }\n}\ndata-view.infiniteScrollEnabled table-view .body, data-view.infiniteScrollEnabled list-view .body {\n height: var(--height);\n}\ndata-view.infiniteScrollEnabled pagination-buttons {\n display: none;\n}\n\npagination-buttons button.active {\n background: var(--main);\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://@green-code-studio/objects-list/./src/style/objectsList.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js");
89
+ 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_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.contextMenu {\n position: fixed;\n z-index: 1000;\n margin: 0;\n padding: 0;\n max-width: 100vh;\n min-width: 200px;\n user-select: none;\n background: var(--background);\n}\n.contextMenu li, .contextMenu a {\n display: flex;\n cursor: pointer;\n margin: 0;\n white-space: nowrap;\n align-items: center;\n}\n.contextMenu li .icon, .contextMenu a .icon {\n display: inline-block;\n flex: 0 0 50px;\n text-align: center;\n font-size: 1.2em;\n line-height: 1em;\n vertical-align: middle;\n}\n.contextMenu li .iconPlaceholder, .contextMenu a .iconPlaceholder {\n display: inline-block;\n width: 50px;\n}\n.contextMenu li .content, .contextMenu a .content {\n flex: 1 1 auto;\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 15px 10px;\n line-height: 1em;\n vertical-align: middle;\n}\n\ndata-view {\n border: 1px solid var(--second);\n display: flex;\n flex-direction: column;\n height: calc(100vh - 200px);\n user-select: none;\n}\ndata-view table-view {\n display: block;\n flex-grow: 1;\n overflow: auto;\n --rowHeight: 41px;\n}\ndata-view table-view .head {\n position: sticky;\n top: 0;\n z-index: 1;\n height: 19px;\n background: var(--second);\n}\ndata-view table-view .head .column {\n background: var(--second);\n color: var(--textSecondColor);\n cursor: default;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: 700;\n position: absolute;\n padding: 0 10px;\n box-sizing: border-box;\n height: 19px;\n}\ndata-view table-view .head .column.ableToSort {\n cursor: pointer;\n}\ndata-view table-view .head .column.ableToSort::before {\n transform: scaleY(0);\n transition: all 300ms ease-out;\n position: absolute;\n right: 0;\n}\ndata-view table-view .head .column.ableToSort[data-order=asc]::before {\n transform: scaleY(1);\n}\ndata-view table-view .head .column.ableToSort[data-order=desc]::before {\n transform: scaleY(-1);\n}\ndata-view table-view .head .column.ableToSort .tableCopy {\n display: none;\n}\ndata-view table-view .body {\n position: relative;\n}\ndata-view table-view .body .tr {\n display: flex;\n position: absolute;\n transition: top 300ms ease, background 100ms;\n table-layout: fixed;\n flex-direction: row;\n animation: data-view-appear 200ms;\n}\n@keyframes data-view-appear {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\ndata-view table-view .body .tr.selectedMain, data-view table-view .body .tr:focus {\n outline: 2px black dashed;\n outline-offset: -2px;\n}\ndata-view table-view .body .tr .td {\n padding: 5px 10px;\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n flex: 0 0 auto;\n box-sizing: border-box;\n height: var(--rowHeight);\n}\ndata-view table-view .body .tr .td button, data-view table-view .body .tr .td .button {\n font-size: 16px;\n margin-left: 2px;\n}\ndata-view table-view .body .tr .td.actions {\n display: flex;\n}\ndata-view list-view {\n display: block;\n flex-grow: 1;\n overflow: auto;\n}\ndata-view list-view .body {\n position: relative;\n}\ndata-view list-view .body .tr {\n display: grid;\n position: absolute;\n transition: top 300ms ease, background 100ms;\n animation: data-view-appear 200ms;\n grid-template-columns: max-content 1fr max-content;\n width: 100%;\n padding: 10px 0;\n}\ndata-view list-view .body .tr.selectedMain, data-view list-view .body .tr:focus {\n outline: 2px black dashed;\n outline-offset: -2px;\n}\ndata-view list-view .body .tr button, data-view list-view .body .tr .button {\n font-size: 16px;\n margin-left: 2px;\n}\ndata-view list-view .body .tr .icon {\n grid-column: 1;\n grid-row: 1/4;\n font-size: 40px;\n line-height: 63px;\n}\ndata-view list-view .body .tr .keyValue {\n grid-column: 2/4;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 21px;\n}\ndata-view list-view .body .tr .keyValue:nth-child(2), data-view list-view .body .tr .keyValue:nth-child(3) {\n grid-column: 2;\n}\ndata-view list-view .body .tr .actions {\n grid-column: 3;\n grid-row: 1/3;\n}\ndata-view .foot {\n border-top: 1px solid var(--second);\n display: flex;\n justify-content: space-between;\n}\n@media (max-width: 600px) {\n data-view .foot form input {\n width: 40px;\n }\n data-view .foot form input:focus {\n width: 200px;\n margin-left: -160px;\n }\n}\ndata-view.infiniteScrollEnabled table-view .body, data-view.infiniteScrollEnabled list-view .body {\n height: var(--height);\n}\ndata-view.infiniteScrollEnabled pagination-buttons {\n display: none;\n}\n\npagination-buttons button.active {\n background: var(--main);\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://@green-code-studio/objects-list/./src/style/objectsList.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js");
90
90
 
91
91
  /***/ }),
92
92
 
package/dist/index.mjs CHANGED
@@ -54,7 +54,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
54
54
  \**********************/
55
55
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
56
56
 
57
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ node: () => (/* binding */ node),\n/* harmony export */ t: () => (/* binding */ t),\n/* harmony export */ translator: () => (/* binding */ translator)\n/* harmony export */ });\n/* harmony import */ var _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @green-code-studio/internationalization/i18nNode.js */ \"./node_modules/@green-code-studio/internationalization/i18nNode.js\");\n/* harmony import */ var _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @green-code-studio/internationalization/i18nTextValue.js */ \"./node_modules/@green-code-studio/internationalization/i18nTextValue.js\");\n/* harmony import */ var _green_code_studio_internationalization_translator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @green-code-studio/internationalization/translator.js */ \"./node_modules/@green-code-studio/internationalization/translator.js\");\n/* harmony import */ var _green_code_studio_internationalization_languagesHierarchy_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @green-code-studio/internationalization/languagesHierarchy.js */ \"./node_modules/@green-code-studio/internationalization/languagesHierarchy.js\");\n\n\n\n\n\nconsole.log(_green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode);\nconst node = {name:\"\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([],[{name:\"objectList\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([],[{name:\"search\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Szukaj\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Search\")}],[])},{name:\"paginationMode\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Tryb paginacji\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Pagination mode\")}],[])},{name:\"scrollMode\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Tryb scrollowania\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Scroll mode\")}],[])},{name:\"tableView\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Widok tabeli\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Table view\")}],[])},{name:\"listView\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Widok listy\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"List view\")}],[])},{name:\"startMultiEdit\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Rozpocznij edycję wielu\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Start multi-edit\")}],[])},{name:\"saveRow\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Zapisz wiersz\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Save a row\")}],[])},{name:\"mode\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Tryb\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Mode\")}],[])},{name:\"view\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Widok\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"View\")}],[])},{name:\"columnEnabled\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Kolumna widoczna\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Column enabled\")}],[])},{name:\"columnName\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Nazwa kolumny\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Column name\")}],[])},{name:\"columnFilter\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Filtr\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Filter\")}],[])}])},{name:\"filter\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([],[{name:\"none\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Brak\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"None\")}],[])},{name:\"equals\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Równa się\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Equals\")}],[])},{name:\"lessThan\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Mniejsze niż\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Less than\")}],[])},{name:\"greaterThan\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Większe niż\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Greater than\")}],[])},{name:\"contains\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Zawiera\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Contains\")}],[])},{name:\"oneOf\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Jedno z\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"One of\")}],[])},{name:\"empty\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Puste\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Empty\")}],[])}])}])};\nconst translator=new _green_code_studio_internationalization_translator_js__WEBPACK_IMPORTED_MODULE_2__.Translator(_green_code_studio_internationalization_languagesHierarchy_js__WEBPACK_IMPORTED_MODULE_3__.LanguagesHierarchy.default, node.node);\nfunction t(q){var x=translator.translate(q);return x?x.toString():'';}\n\n\n//# sourceURL=webpack://@green-code-studio/objects-list/./src/i18n.xml?");
57
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ node: () => (/* binding */ node),\n/* harmony export */ t: () => (/* binding */ t),\n/* harmony export */ translator: () => (/* binding */ translator)\n/* harmony export */ });\n/* harmony import */ var _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @green-code-studio/internationalization/i18nNode.js */ \"./node_modules/@green-code-studio/internationalization/i18nNode.js\");\n/* harmony import */ var _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @green-code-studio/internationalization/i18nTextValue.js */ \"./node_modules/@green-code-studio/internationalization/i18nTextValue.js\");\n/* harmony import */ var _green_code_studio_internationalization_translator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @green-code-studio/internationalization/translator.js */ \"./node_modules/@green-code-studio/internationalization/translator.js\");\n/* harmony import */ var _green_code_studio_internationalization_languagesHierarchy_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @green-code-studio/internationalization/languagesHierarchy.js */ \"./node_modules/@green-code-studio/internationalization/languagesHierarchy.js\");\n\n\n\n\n\nconsole.log(_green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode);\nconst node = {name:\"\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([],[{name:\"objectList\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([],[{name:\"search\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Szukaj\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Search\")}],[])},{name:\"paginationMode\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Tryb paginacji\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Pagination mode\")}],[])},{name:\"scrollMode\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Tryb scrollowania\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Scroll mode\")}],[])},{name:\"tableView\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Widok tabeli\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Table view\")}],[])},{name:\"listView\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Widok listy\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"List view\")}],[])},{name:\"startMultiEdit\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Rozpocznij edycję wielu\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Start multi-edit\")}],[])},{name:\"saveRow\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Zapisz wiersz\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Save a row\")}],[])},{name:\"mode\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Tryb\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Mode\")}],[])},{name:\"view\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Widok\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"View\")}],[])},{name:\"columnEnabled\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Kolumna widoczna\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Column enabled\")}],[])},{name:\"columnName\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Nazwa kolumny\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Column name\")}],[])},{name:\"columnFilter\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Filtr\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Filter\")}],[])},{name:\"filtersCount\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Liczba filtrów\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Filters count\")}],[])},{name:\"clearFilters\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Wyczyść filtry\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Clear filters\")}],[])}])},{name:\"filter\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([],[{name:\"none\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Brak\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"None\")}],[])},{name:\"equals\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Równa się\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Equals\")}],[])},{name:\"lessThan\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Mniejsze niż\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Less than\")}],[])},{name:\"greaterThan\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Większe niż\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Greater than\")}],[])},{name:\"contains\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Zawiera\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Contains\")}],[])},{name:\"oneOf\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Jedno z\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"One of\")}],[])},{name:\"empty\", node:new _green_code_studio_internationalization_i18nNode_js__WEBPACK_IMPORTED_MODULE_0__.I18nNode([{lang:\"pl\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Puste\")},{lang:\"en\", value: new _green_code_studio_internationalization_i18nTextValue_js__WEBPACK_IMPORTED_MODULE_1__.I18nTextValue(\"Empty\")}],[])}])}])};\nconst translator=new _green_code_studio_internationalization_translator_js__WEBPACK_IMPORTED_MODULE_2__.Translator(_green_code_studio_internationalization_languagesHierarchy_js__WEBPACK_IMPORTED_MODULE_3__.LanguagesHierarchy.default, node.node);\nfunction t(q){var x=translator.translate(q);return x?x.toString():'';}\n\n\n//# sourceURL=webpack://@green-code-studio/objects-list/./src/i18n.xml?");
58
58
 
59
59
  /***/ }),
60
60
 
@@ -174,7 +174,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
174
174
  \****************************/
175
175
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
176
176
 
177
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ObjectsList: () => (/* binding */ ObjectsList)\n/* harmony export */ });\n/* harmony import */ var _tableView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./tableView.js */ \"./src/tableView.js\");\n/* harmony import */ var _listView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./listView.js */ \"./src/listView.js\");\n/* harmony import */ var _i18n_xml__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./i18n.xml */ \"./src/i18n.xml\");\n/* harmony import */ var _paginationButtons_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./paginationButtons.js */ \"./src/paginationButtons.js\");\n/* harmony import */ var _green_code_studio_context_menu_dist_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @green-code-studio/context-menu/dist/index.mjs */ \"./node_modules/@green-code-studio/context-menu/dist/index.mjs\");\n/* harmony import */ var _utils_concurencyLimiter_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/concurencyLimiter.js */ \"./src/utils/concurencyLimiter.js\");\n/* harmony import */ var _idsSet_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./idsSet.js */ \"./src/idsSet.js\");\n/* harmony import */ var _ConfigPopup_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ConfigPopup.js */ \"./src/ConfigPopup.js\");\n/* harmony import */ var fast_creator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! fast-creator */ \"./node_modules/fast-creator/dist/entry.js\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nclass ObjectsList extends HTMLElement {\r\n constructor(datasource) {\r\n super();\r\n this.columns = [];\r\n this.hiddenColumns = new Set()\r\n this.columnFilters = new Map();\r\n this.generateActions = () => [];\r\n this.insideViewClass = _tableView_js__WEBPACK_IMPORTED_MODULE_0__.TableView;\r\n this.icon = 'icon-document';\r\n this.loadConcurencyLimiter = new _utils_concurencyLimiter_js__WEBPACK_IMPORTED_MODULE_5__.ConcurencyLimiter();\r\n this.datasource = datasource;\r\n this.datasource.onchange = () => this.refresh();\r\n this.start = 0;\r\n this.limit = 10\r\n this.total = 0;\r\n this.selected = new _idsSet_js__WEBPACK_IMPORTED_MODULE_6__.IdsSet();\r\n this.selectedMain = null;\r\n this.dataById = new Map();\r\n this.initFoot();\r\n this.addEventListener('contextmenu', e => this.showGlobalContextMenu(e));\r\n addEventListener('resize', e => this.resize());\r\n this.infiniteScrollEnabled = false;\r\n }\r\n\r\n get visibleColumns() {\r\n return this.columns.filter(x => !this.hiddenColumns.has(x.dataName))\r\n }\r\n\r\n refreshLimit() {\r\n this.limit = this.insideView.calcMaxVisibleItems(this.clientHeight - this.foot.clientHeight - 2);\r\n if (this.limit < 1) this.limit = 1;\r\n if (this.infiniteScrollEnabled) {\r\n this.limit = Math.ceil(this.limit / 20) * 20 + 40;\r\n } else {\r\n this.start = Math.floor(Math.min(this.total, this.start) / this.limit) * this.limit;\r\n }\r\n }\r\n\r\n async refresh() {\r\n this.classList.toggle('infiniteScrollEnabled', this.infiniteScrollEnabled);\r\n\r\n if (!this.insideView || !(this.insideView instanceof this.insideViewClass))\r\n this.initInsideView();\r\n else if (this.insideView.refreshHeader)\r\n this.insideView.refreshHeader()\r\n\r\n this.refreshLimit();\r\n const refreshSymbol = Symbol();\r\n this.lastRefreshSymbol = refreshSymbol;\r\n await this.loadConcurencyLimiter.run(async () => {\r\n if (this.lastRefreshSymbol != refreshSymbol) return;\r\n\r\n let data = await this.datasource.get(this);\r\n if (this.lastRefreshSymbol != refreshSymbol) return;\r\n\r\n this.currentRows = data.rows;\r\n this.fillDataById(data.rows);\r\n this.total = data.total;\r\n this.insideView.loadData(data, this.start, this.limit, this.infiniteScrollEnabled);\r\n this.pagination.currentPage = Math.floor(this.start / this.limit);\r\n this.pagination.totalPages = Math.ceil(this.total / this.limit);\r\n this.pagination.render();\r\n });\r\n }\r\n\r\n initInsideView() {\r\n if (this.insideView) {\r\n this.insideView.remove();\r\n }\r\n this.insideView = new this.insideViewClass(this);\r\n this.insertBefore(this.insideView, this.foot);\r\n this.insideView.refresh = () => this.refresh();\r\n this.insideView.onPaginationChanged = (start, limit) => {\r\n if (this.start != start) {\r\n this.start = start;\r\n //this.limit=limit;\r\n this.refresh();\r\n }\r\n }\r\n }\r\n\r\n fillDataById(rows) {\r\n for (let row of rows) {\r\n this.dataById.set(parseInt(row.id), row);\r\n }\r\n }\r\n\r\n getSelectedData() {\r\n let data = Array.from(this.dataById).filter(([id, row]) => this.selected.has(id)).map(([id, row]) => row);\r\n if (data.length > 0) return data;\r\n else if (this.dataById[this.selectedMain])\r\n return [this.dataById[this.selectedMain]]\r\n else return [];\r\n }\r\n\r\n initFoot() {\r\n this.foot = (0,fast_creator__WEBPACK_IMPORTED_MODULE_8__.create)('.foot');\r\n this.append(this.foot);\r\n let menuButton = (0,fast_creator__WEBPACK_IMPORTED_MODULE_8__.create)('button.menuButton span.icon-settings');\r\n this.foot.append(menuButton)\r\n menuButton.onclick = e => this.showConfigPopup();\r\n this.pagination = new _paginationButtons_js__WEBPACK_IMPORTED_MODULE_3__.PaginationButtons();\r\n this.pagination.onpageclick = (page) => {\r\n this.start = page * this.limit;\r\n this.refresh();\r\n }\r\n this.foot.append(this.pagination);\r\n this.searchForm = (0,fast_creator__WEBPACK_IMPORTED_MODULE_8__.create)('form', {className: 'search'});\r\n this.foot.append(this.searchForm);\r\n this.searchForm.onsubmit = e => e.preventDefault();\r\n const searchInput = (0,fast_creator__WEBPACK_IMPORTED_MODULE_8__.create)('input', {\r\n name: 'search',\r\n type: 'search',\r\n placeholder: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.search')\r\n });\r\n this.searchForm.append((0,fast_creator__WEBPACK_IMPORTED_MODULE_8__.create)(searchInput));\r\n searchInput.oninput = e => {\r\n this.start = 0;\r\n this.refresh();\r\n }\r\n\r\n }\r\n\r\n get search() {\r\n if (!this.foot) return '';\r\n const searchForm = this.foot.querySelector('.search');\r\n if (!searchForm) return '';\r\n return searchForm.search.value;\r\n }\r\n\r\n showGlobalContextMenu(e) {\r\n let elements = [{\r\n text: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.paginationMode'),\r\n icon: 'icon-pagination',\r\n onclick: () => {\r\n this.infiniteScrollEnabled = false;\r\n this.refresh();\r\n }\r\n }, {\r\n text: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.scrollMode'),\r\n icon: 'icon-scroll',\r\n onclick: () => {\r\n this.infiniteScrollEnabled = true;\r\n this.refresh();\r\n }\r\n }, {\r\n text: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.tableView'),\r\n icon: 'icon-table',\r\n onclick: () => {\r\n this.insideViewClass = _tableView_js__WEBPACK_IMPORTED_MODULE_0__.TableView;\r\n this.refresh();\r\n }\r\n }, {\r\n text: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.listView'),\r\n icon: 'icon-table',\r\n onclick: () => {\r\n this.insideViewClass = _listView_js__WEBPACK_IMPORTED_MODULE_1__.ListView;\r\n this.refresh();\r\n }\r\n }];\r\n if (this.allowTableEdit) {\r\n elements.push({\r\n text: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.startMultiEdit'),\r\n icon: 'icon-edit',\r\n onclick: () => {\r\n this.insideViewClass = _tableView_js__WEBPACK_IMPORTED_MODULE_0__.TableView;\r\n this.refresh();\r\n this.insideView.startMultiEdit();\r\n }\r\n });\r\n }\r\n _green_code_studio_context_menu_dist_index_mjs__WEBPACK_IMPORTED_MODULE_4__.ContextMenu.openContextMenu(e, elements);\r\n }\r\n\r\n resize() {\r\n let limit = this.limit;\r\n this.refreshLimit();\r\n if (limit != this.limit) {\r\n this.refresh();\r\n }\r\n }\r\n\r\n multiEditChanged(id, data, save = false) {\r\n this.datasource.multiEditChanged(id, data, save);\r\n }\r\n\r\n showConfigPopup() {\r\n if (this.querySelector('config-popup')) {\r\n this.querySelector('config-popup').remove()\r\n } else {\r\n const popup = new _ConfigPopup_js__WEBPACK_IMPORTED_MODULE_7__.ConfigPopup(this)\r\n this.append(popup)\r\n }\r\n }\r\n gotoUrl(url) {\r\n window.location.href = url;\r\n }\r\n}\r\n\r\ncustomElements.define('data-view', ObjectsList);\r\n\n\n//# sourceURL=webpack://@green-code-studio/objects-list/./src/objectsList.js?");
177
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ObjectsList: () => (/* binding */ ObjectsList)\n/* harmony export */ });\n/* harmony import */ var _tableView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./tableView.js */ \"./src/tableView.js\");\n/* harmony import */ var _listView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./listView.js */ \"./src/listView.js\");\n/* harmony import */ var _i18n_xml__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./i18n.xml */ \"./src/i18n.xml\");\n/* harmony import */ var _paginationButtons_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./paginationButtons.js */ \"./src/paginationButtons.js\");\n/* harmony import */ var _green_code_studio_context_menu_dist_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @green-code-studio/context-menu/dist/index.mjs */ \"./node_modules/@green-code-studio/context-menu/dist/index.mjs\");\n/* harmony import */ var _utils_concurencyLimiter_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/concurencyLimiter.js */ \"./src/utils/concurencyLimiter.js\");\n/* harmony import */ var _idsSet_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./idsSet.js */ \"./src/idsSet.js\");\n/* harmony import */ var _ConfigPopup_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ConfigPopup.js */ \"./src/ConfigPopup.js\");\n/* harmony import */ var fast_creator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! fast-creator */ \"./node_modules/fast-creator/dist/entry.js\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nclass ObjectsList extends HTMLElement {\r\n constructor(datasource) {\r\n super();\r\n this.columns = [];\r\n this.hiddenColumns = new Set()\r\n this.columnFilters = new Map();\r\n this.generateActions = () => [];\r\n this.insideViewClass = _tableView_js__WEBPACK_IMPORTED_MODULE_0__.TableView;\r\n this.icon = 'icon-document';\r\n this.loadConcurencyLimiter = new _utils_concurencyLimiter_js__WEBPACK_IMPORTED_MODULE_5__.ConcurencyLimiter();\r\n this.datasource = datasource;\r\n this.datasource.onchange = () => this.refresh();\r\n this.start = 0;\r\n this.limit = 10\r\n this.total = 0;\r\n this.selected = new _idsSet_js__WEBPACK_IMPORTED_MODULE_6__.IdsSet();\r\n this.selectedMain = null;\r\n this.dataById = new Map();\r\n this.initFoot();\r\n this.addEventListener('contextmenu', e => this.showGlobalContextMenu(e));\r\n addEventListener('resize', e => this.resize());\r\n this.infiniteScrollEnabled = false;\r\n }\r\n\r\n get visibleColumns() {\r\n return this.columns.filter(x => !this.hiddenColumns.has(x.dataName))\r\n }\r\n\r\n refreshLimit() {\r\n this.limit = this.insideView.calcMaxVisibleItems(this.clientHeight - this.foot.clientHeight - 2);\r\n if (this.limit < 1) this.limit = 1;\r\n if (this.infiniteScrollEnabled) {\r\n this.limit = Math.ceil(this.limit / 20) * 20 + 40;\r\n } else {\r\n this.start = Math.floor(Math.min(this.total, this.start) / this.limit) * this.limit;\r\n }\r\n }\r\n\r\n async refresh() {\r\n this.classList.toggle('infiniteScrollEnabled', this.infiniteScrollEnabled);\r\n\r\n if (!this.insideView || !(this.insideView instanceof this.insideViewClass))\r\n this.initInsideView();\r\n else if (this.insideView.refreshHeader)\r\n this.insideView.refreshHeader()\r\n\r\n this.refreshLimit();\r\n const refreshSymbol = Symbol();\r\n this.lastRefreshSymbol = refreshSymbol;\r\n await this.loadConcurencyLimiter.run(async () => {\r\n if (this.lastRefreshSymbol != refreshSymbol) return;\r\n\r\n let data = await this.datasource.get(this);\r\n if (this.lastRefreshSymbol != refreshSymbol) return;\r\n\r\n this.currentRows = data.rows;\r\n this.fillDataById(data.rows);\r\n this.total = data.total;\r\n this.insideView.loadData(data, this.start, this.limit, this.infiniteScrollEnabled);\r\n this.pagination.currentPage = Math.floor(this.start / this.limit);\r\n this.pagination.totalPages = Math.ceil(this.total / this.limit);\r\n this.pagination.render();\r\n });\r\n while(this.filterShortContainer.firstChild){\r\n this.filterShortContainer.firstChild.remove()\r\n }\r\n if(this.columnFilters.length)\r\n {\r\n this.filterShortContainer.append((0,fast_creator__WEBPACK_IMPORTED_MODULE_8__.create)('span', {text: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.filtersCount')+': '+this.columnFilters.length}));\r\n const clearButton=(0,fast_creator__WEBPACK_IMPORTED_MODULE_8__.create)('button', {text: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.clearFilters')});\r\n clearButton.onclick=()=>{\r\n this.columnFilters=[];\r\n this.refresh();\r\n }\r\n this.filterShortContainer.append(clearButton);\r\n }\r\n }\r\n\r\n initInsideView() {\r\n if (this.insideView) {\r\n this.insideView.remove();\r\n }\r\n this.insideView = new this.insideViewClass(this);\r\n this.insertBefore(this.insideView, this.foot);\r\n this.insideView.refresh = () => this.refresh();\r\n this.insideView.onPaginationChanged = (start, limit) => {\r\n if (this.start != start) {\r\n this.start = start;\r\n //this.limit=limit;\r\n this.refresh();\r\n }\r\n }\r\n }\r\n\r\n fillDataById(rows) {\r\n for (let row of rows) {\r\n this.dataById.set(parseInt(row.id), row);\r\n }\r\n }\r\n\r\n getSelectedData() {\r\n let data = Array.from(this.dataById).filter(([id, row]) => this.selected.has(id)).map(([id, row]) => row);\r\n if (data.length > 0) return data;\r\n else if (this.dataById[this.selectedMain])\r\n return [this.dataById[this.selectedMain]]\r\n else return [];\r\n }\r\n\r\n initFoot() {\r\n this.foot = (0,fast_creator__WEBPACK_IMPORTED_MODULE_8__.create)('.foot');\r\n this.append(this.foot);\r\n let menuButton = (0,fast_creator__WEBPACK_IMPORTED_MODULE_8__.create)('button.menuButton span.icon-settings');\r\n this.foot.append(menuButton)\r\n menuButton.onclick = e => this.showConfigPopup();\r\n this.pagination = new _paginationButtons_js__WEBPACK_IMPORTED_MODULE_3__.PaginationButtons();\r\n this.pagination.onpageclick = (page) => {\r\n this.start = page * this.limit;\r\n this.refresh();\r\n }\r\n this.foot.append(this.pagination);\r\n this.filterShortContainer = (0,fast_creator__WEBPACK_IMPORTED_MODULE_8__.create)('.filterShortContainer');\r\n this.foot.append(this.filterShortContainer);\r\n this.searchForm = (0,fast_creator__WEBPACK_IMPORTED_MODULE_8__.create)('form', {className: 'search'});\r\n this.foot.append(this.searchForm);\r\n this.searchForm.onsubmit = e => e.preventDefault();\r\n const searchInput = (0,fast_creator__WEBPACK_IMPORTED_MODULE_8__.create)('input', {\r\n name: 'search',\r\n type: 'search',\r\n placeholder: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.search')\r\n });\r\n this.searchForm.append((0,fast_creator__WEBPACK_IMPORTED_MODULE_8__.create)(searchInput));\r\n searchInput.oninput = e => {\r\n this.start = 0;\r\n this.refresh();\r\n }\r\n\r\n }\r\n\r\n get search() {\r\n if (!this.foot) return '';\r\n const searchForm = this.foot.querySelector('.search');\r\n if (!searchForm) return '';\r\n return searchForm.search.value;\r\n }\r\n\r\n showGlobalContextMenu(e) {\r\n let elements = [{\r\n text: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.paginationMode'),\r\n icon: 'icon-pagination',\r\n onclick: () => {\r\n this.infiniteScrollEnabled = false;\r\n this.refresh();\r\n }\r\n }, {\r\n text: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.scrollMode'),\r\n icon: 'icon-scroll',\r\n onclick: () => {\r\n this.infiniteScrollEnabled = true;\r\n this.refresh();\r\n }\r\n }, {\r\n text: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.tableView'),\r\n icon: 'icon-table',\r\n onclick: () => {\r\n this.insideViewClass = _tableView_js__WEBPACK_IMPORTED_MODULE_0__.TableView;\r\n this.refresh();\r\n }\r\n }, {\r\n text: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.listView'),\r\n icon: 'icon-table',\r\n onclick: () => {\r\n this.insideViewClass = _listView_js__WEBPACK_IMPORTED_MODULE_1__.ListView;\r\n this.refresh();\r\n }\r\n }];\r\n if (this.allowTableEdit) {\r\n elements.push({\r\n text: (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_2__.t)('objectList.startMultiEdit'),\r\n icon: 'icon-edit',\r\n onclick: () => {\r\n this.insideViewClass = _tableView_js__WEBPACK_IMPORTED_MODULE_0__.TableView;\r\n this.refresh();\r\n this.insideView.startMultiEdit();\r\n }\r\n });\r\n }\r\n _green_code_studio_context_menu_dist_index_mjs__WEBPACK_IMPORTED_MODULE_4__.ContextMenu.openContextMenu(e, elements);\r\n }\r\n\r\n resize() {\r\n let limit = this.limit;\r\n this.refreshLimit();\r\n if (limit != this.limit) {\r\n this.refresh();\r\n }\r\n }\r\n\r\n multiEditChanged(id, data, save = false) {\r\n this.datasource.multiEditChanged(id, data, save);\r\n }\r\n\r\n showConfigPopup() {\r\n if (this.querySelector('config-popup')) {\r\n this.querySelector('config-popup').remove()\r\n } else {\r\n const popup = new _ConfigPopup_js__WEBPACK_IMPORTED_MODULE_7__.ConfigPopup(this)\r\n this.append(popup)\r\n }\r\n }\r\n gotoUrl(url) {\r\n window.location.href = url;\r\n }\r\n}\r\n\r\ncustomElements.define('data-view', ObjectsList);\r\n\n\n//# sourceURL=webpack://@green-code-studio/objects-list/./src/objectsList.js?");
178
178
 
179
179
  /***/ }),
180
180
 
package/dist/style.mjs CHANGED
@@ -14,7 +14,7 @@
14
14
  \************************************/
15
15
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
16
16
 
17
- 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_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.contextMenu {\n position: fixed;\n z-index: 1000;\n margin: 0;\n padding: 0;\n max-width: 100vh;\n min-width: 200px;\n user-select: none;\n background: var(--background);\n}\n.contextMenu li, .contextMenu a {\n display: flex;\n cursor: pointer;\n margin: 0;\n white-space: nowrap;\n align-items: center;\n}\n.contextMenu li .icon, .contextMenu a .icon {\n display: inline-block;\n flex: 0 0 50px;\n text-align: center;\n font-size: 1.2em;\n line-height: 1em;\n vertical-align: middle;\n}\n.contextMenu li .iconPlaceholder, .contextMenu a .iconPlaceholder {\n display: inline-block;\n width: 50px;\n}\n.contextMenu li .content, .contextMenu a .content {\n flex: 1 1 auto;\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 15px 10px;\n line-height: 1em;\n vertical-align: middle;\n}\n\ndata-view {\n border: 1px solid var(--second);\n display: flex;\n flex-direction: column;\n height: calc(100vh - 200px);\n user-select: none;\n}\ndata-view table-view {\n display: block;\n flex-grow: 1;\n overflow: auto;\n --rowHeight: 41px;\n}\ndata-view table-view .head {\n position: sticky;\n top: 0;\n z-index: 1;\n height: 19px;\n background: var(--second);\n}\ndata-view table-view .head .column {\n background: var(--second);\n color: var(--textSecondColor);\n cursor: default;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: 700;\n position: absolute;\n padding: 0 10px;\n box-sizing: border-box;\n height: 19px;\n}\ndata-view table-view .head .column.ableToSort {\n cursor: pointer;\n}\ndata-view table-view .head .column.ableToSort::before {\n transform: scaleY(0);\n transition: all 300ms ease-out;\n position: absolute;\n right: 0;\n}\ndata-view table-view .head .column.ableToSort[data-order=asc]::before {\n transform: scaleY(1);\n}\ndata-view table-view .head .column.ableToSort[data-order=desc]::before {\n transform: scaleY(-1);\n}\ndata-view table-view .head .column.ableToSort .tableCopy {\n display: none;\n}\ndata-view table-view .body {\n position: relative;\n}\ndata-view table-view .body .tr {\n display: flex;\n position: absolute;\n transition: top 300ms ease, background 100ms;\n table-layout: fixed;\n flex-direction: row;\n animation: data-view-appear 200ms;\n}\n@keyframes data-view-appear {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\ndata-view table-view .body .tr.selectedMain, data-view table-view .body .tr:focus {\n outline: 2px black dashed;\n outline-offset: -2px;\n}\ndata-view table-view .body .tr .td {\n padding: 5px 10px;\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n flex: 0 0 auto;\n box-sizing: border-box;\n height: var(--rowHeight);\n}\ndata-view table-view .body .tr .td button, data-view table-view .body .tr .td .button {\n font-size: 16px;\n margin-left: 2px;\n}\ndata-view list-view {\n display: block;\n flex-grow: 1;\n overflow: auto;\n}\ndata-view list-view .body {\n position: relative;\n}\ndata-view list-view .body .tr {\n display: grid;\n position: absolute;\n transition: top 300ms ease, background 100ms;\n animation: data-view-appear 200ms;\n grid-template-columns: max-content 1fr max-content;\n width: 100%;\n padding: 10px 0;\n}\ndata-view list-view .body .tr.selectedMain, data-view list-view .body .tr:focus {\n outline: 2px black dashed;\n outline-offset: -2px;\n}\ndata-view list-view .body .tr button, data-view list-view .body .tr .button {\n font-size: 16px;\n margin-left: 2px;\n}\ndata-view list-view .body .tr .icon {\n grid-column: 1;\n grid-row: 1/4;\n font-size: 40px;\n line-height: 63px;\n}\ndata-view list-view .body .tr .keyValue {\n grid-column: 2/4;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 21px;\n}\ndata-view list-view .body .tr .keyValue:nth-child(2), data-view list-view .body .tr .keyValue:nth-child(3) {\n grid-column: 2;\n}\ndata-view list-view .body .tr .actions {\n grid-column: 3;\n grid-row: 1/3;\n}\ndata-view .foot {\n border-top: 1px solid var(--second);\n display: flex;\n justify-content: space-between;\n}\n@media (max-width: 600px) {\n data-view .foot form input {\n width: 40px;\n }\n data-view .foot form input:focus {\n width: 200px;\n margin-left: -160px;\n }\n}\ndata-view.infiniteScrollEnabled table-view .body, data-view.infiniteScrollEnabled list-view .body {\n height: var(--height);\n}\ndata-view.infiniteScrollEnabled pagination-buttons {\n display: none;\n}\n\npagination-buttons button.active {\n background: var(--main);\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://@green-code-studio/objects-list/./src/style/objectsList.scss?");
17
+ 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_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.contextMenu {\n position: fixed;\n z-index: 1000;\n margin: 0;\n padding: 0;\n max-width: 100vh;\n min-width: 200px;\n user-select: none;\n background: var(--background);\n}\n.contextMenu li, .contextMenu a {\n display: flex;\n cursor: pointer;\n margin: 0;\n white-space: nowrap;\n align-items: center;\n}\n.contextMenu li .icon, .contextMenu a .icon {\n display: inline-block;\n flex: 0 0 50px;\n text-align: center;\n font-size: 1.2em;\n line-height: 1em;\n vertical-align: middle;\n}\n.contextMenu li .iconPlaceholder, .contextMenu a .iconPlaceholder {\n display: inline-block;\n width: 50px;\n}\n.contextMenu li .content, .contextMenu a .content {\n flex: 1 1 auto;\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 15px 10px;\n line-height: 1em;\n vertical-align: middle;\n}\n\ndata-view {\n border: 1px solid var(--second);\n display: flex;\n flex-direction: column;\n height: calc(100vh - 200px);\n user-select: none;\n}\ndata-view table-view {\n display: block;\n flex-grow: 1;\n overflow: auto;\n --rowHeight: 41px;\n}\ndata-view table-view .head {\n position: sticky;\n top: 0;\n z-index: 1;\n height: 19px;\n background: var(--second);\n}\ndata-view table-view .head .column {\n background: var(--second);\n color: var(--textSecondColor);\n cursor: default;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: 700;\n position: absolute;\n padding: 0 10px;\n box-sizing: border-box;\n height: 19px;\n}\ndata-view table-view .head .column.ableToSort {\n cursor: pointer;\n}\ndata-view table-view .head .column.ableToSort::before {\n transform: scaleY(0);\n transition: all 300ms ease-out;\n position: absolute;\n right: 0;\n}\ndata-view table-view .head .column.ableToSort[data-order=asc]::before {\n transform: scaleY(1);\n}\ndata-view table-view .head .column.ableToSort[data-order=desc]::before {\n transform: scaleY(-1);\n}\ndata-view table-view .head .column.ableToSort .tableCopy {\n display: none;\n}\ndata-view table-view .body {\n position: relative;\n}\ndata-view table-view .body .tr {\n display: flex;\n position: absolute;\n transition: top 300ms ease, background 100ms;\n table-layout: fixed;\n flex-direction: row;\n animation: data-view-appear 200ms;\n}\n@keyframes data-view-appear {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\ndata-view table-view .body .tr.selectedMain, data-view table-view .body .tr:focus {\n outline: 2px black dashed;\n outline-offset: -2px;\n}\ndata-view table-view .body .tr .td {\n padding: 5px 10px;\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n flex: 0 0 auto;\n box-sizing: border-box;\n height: var(--rowHeight);\n}\ndata-view table-view .body .tr .td button, data-view table-view .body .tr .td .button {\n font-size: 16px;\n margin-left: 2px;\n}\ndata-view table-view .body .tr .td.actions {\n display: flex;\n}\ndata-view list-view {\n display: block;\n flex-grow: 1;\n overflow: auto;\n}\ndata-view list-view .body {\n position: relative;\n}\ndata-view list-view .body .tr {\n display: grid;\n position: absolute;\n transition: top 300ms ease, background 100ms;\n animation: data-view-appear 200ms;\n grid-template-columns: max-content 1fr max-content;\n width: 100%;\n padding: 10px 0;\n}\ndata-view list-view .body .tr.selectedMain, data-view list-view .body .tr:focus {\n outline: 2px black dashed;\n outline-offset: -2px;\n}\ndata-view list-view .body .tr button, data-view list-view .body .tr .button {\n font-size: 16px;\n margin-left: 2px;\n}\ndata-view list-view .body .tr .icon {\n grid-column: 1;\n grid-row: 1/4;\n font-size: 40px;\n line-height: 63px;\n}\ndata-view list-view .body .tr .keyValue {\n grid-column: 2/4;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 21px;\n}\ndata-view list-view .body .tr .keyValue:nth-child(2), data-view list-view .body .tr .keyValue:nth-child(3) {\n grid-column: 2;\n}\ndata-view list-view .body .tr .actions {\n grid-column: 3;\n grid-row: 1/3;\n}\ndata-view .foot {\n border-top: 1px solid var(--second);\n display: flex;\n justify-content: space-between;\n}\n@media (max-width: 600px) {\n data-view .foot form input {\n width: 40px;\n }\n data-view .foot form input:focus {\n width: 200px;\n margin-left: -160px;\n }\n}\ndata-view.infiniteScrollEnabled table-view .body, data-view.infiniteScrollEnabled list-view .body {\n height: var(--height);\n}\ndata-view.infiniteScrollEnabled pagination-buttons {\n display: none;\n}\n\npagination-buttons button.active {\n background: var(--main);\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://@green-code-studio/objects-list/./src/style/objectsList.scss?");
18
18
 
19
19
  /***/ }),
20
20
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@green-code-studio/objects-list",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "main": "src/index.js",
5
5
  "author": "Mateusz Krawczyk",
6
6
  "license": "MIT",
package/src/i18n.xml CHANGED
@@ -49,6 +49,14 @@
49
49
  <value lang="pl">Filtr</value>
50
50
  <value lang="en">Filter</value>
51
51
  </node>
52
+ <node name="filtersCount">
53
+ <value lang="pl">Liczba filtrów</value>
54
+ <value lang="en">Filters count</value>
55
+ </node>
56
+ <node name="clearFilters">
57
+ <value lang="pl">Wyczyść filtry</value>
58
+ <value lang="en">Clear filters</value>
59
+ </node>
52
60
  </node>
53
61
  <node name="filter">
54
62
  <node name="none">
@@ -71,6 +71,19 @@ export class ObjectsList extends HTMLElement {
71
71
  this.pagination.totalPages = Math.ceil(this.total / this.limit);
72
72
  this.pagination.render();
73
73
  });
74
+ while(this.filterShortContainer.firstChild){
75
+ this.filterShortContainer.firstChild.remove()
76
+ }
77
+ if(this.columnFilters.length)
78
+ {
79
+ this.filterShortContainer.append(create('span', {text: t('objectList.filtersCount')+': '+this.columnFilters.length}));
80
+ const clearButton=create('button', {text: t('objectList.clearFilters')});
81
+ clearButton.onclick=()=>{
82
+ this.columnFilters=[];
83
+ this.refresh();
84
+ }
85
+ this.filterShortContainer.append(clearButton);
86
+ }
74
87
  }
75
88
 
76
89
  initInsideView() {
@@ -115,6 +128,8 @@ export class ObjectsList extends HTMLElement {
115
128
  this.refresh();
116
129
  }
117
130
  this.foot.append(this.pagination);
131
+ this.filterShortContainer = create('.filterShortContainer');
132
+ this.foot.append(this.filterShortContainer);
118
133
  this.searchForm = create('form', {className: 'search'});
119
134
  this.foot.append(this.searchForm);
120
135
  this.searchForm.onsubmit = e => e.preventDefault();