@green-code-studio/objects-list 1.9.5 → 1.9.6
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/dist/index.mjs +3 -3
- package/package.json +1 -1
- package/src/ConfigPopup.js +1 -1
- package/src/ConfigPopup.mpts +2 -2
- package/src/objectsList.js +5 -5
package/dist/index.mjs
CHANGED
|
@@ -94,7 +94,7 @@ eval("\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(obje
|
|
|
94
94
|
\******************************/
|
|
95
95
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
96
96
|
|
|
97
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(variables){const _0=document.createDocumentFragment();const _1=document.createElement(\"form\");const _2=document.createTextNode(\"\\r\\n \");_1.append(_2);const _3=document.createElement(\"label\");const _4=document.createTextNode(\"\\r\\n \");_3.append(_4);const _5=document.createElement(\"span\");const _6=document.createTextNode(variables[\"t\"](\"objectList.mode\"));_5.append(_6);_3.append(_5);const _7=document.createTextNode(\"\\r\\n \");_3.append(_7);const _8=document.createElement(\"select\");const _9=\"mode\";if(typeof _9==='function')_8[\"class\"]=_9;else if(_9!== undefined&&_9!== null&&_9!== false) _8.setAttribute(\"class\",_9);const _10=document.createTextNode(\"\\r\\n \");_8.append(_10);const _11=document.createElement(\"option\");const _12=\"paginationMode\";if(typeof _12==='function')_11[\"value\"]=_12;else if(_12!== undefined&&_12!== null&&_12!== false) _11.setAttribute(\"value\",_12);const _13=document.createTextNode(variables[\"t\"](\"objectList.paginationMode\"));_11.append(_13);_8.append(_11);const _14=document.createTextNode(\"\\r\\n \");_8.append(_14);const _15=document.createElement(\"option\");const _16=\"scrollMode\";if(typeof _16==='function')_15[\"value\"]=_16;else if(_16!== undefined&&_16!== null&&_16!== false) _15.setAttribute(\"value\",_16);const _17=document.createTextNode(variables[\"t\"](\"objectList.scrollMode\"));_15.append(_17);_8.append(_15);const _18=document.createTextNode(\"\\r\\n \");_8.append(_18);_3.append(_8);const _19=document.createTextNode(\"\\r\\n \");_3.append(_19);_1.append(_3);const _20=document.createTextNode(\"\\r\\n \");_1.append(_20);const _21=document.createElement(\"label\");const _22=document.createTextNode(\"\\r\\n \");_21.append(_22);const _23=document.createElement(\"span\");const _24=document.createTextNode(variables[\"t\"](\"objectList.view\"));_23.append(_24);_21.append(_23);const _25=document.createTextNode(\"\\r\\n \");_21.append(_25);const _26=document.createElement(\"select\");const _27=\"view\";if(typeof _27==='function')_26[\"class\"]=_27;else if(_27!== undefined&&_27!== null&&_27!== false) _26.setAttribute(\"class\",_27);const _28=document.createTextNode(\"\\r\\n \");_26.append(_28);const _29=document.createElement(\"option\");const _30=\"tableView\";if(typeof _30==='function')_29[\"value\"]=_30;else if(_30!== undefined&&_30!== null&&_30!== false) _29.setAttribute(\"value\",_30);const _31=document.createTextNode(variables[\"t\"](\"objectList.tableView\"));_29.append(_31);_26.append(_29);const _32=document.createTextNode(\"\\r\\n \");_26.append(_32);const _33=document.createElement(\"option\");const _34=\"tableWideView\";if(typeof _34==='function')_33[\"value\"]=_34;else if(_34!== undefined&&_34!== null&&_34!== false) _33.setAttribute(\"value\",_34);const _35=document.createTextNode(variables[\"t\"](\"objectList.tableWideView\"));_33.append(_35);_26.append(_33);const _36=document.createTextNode(\"\\r\\n \");_26.append(_36);const _37=document.createElement(\"option\");const _38=\"listView\";if(typeof _38==='function')_37[\"value\"]=_38;else if(_38!== undefined&&_38!== null&&_38!== false) _37.setAttribute(\"value\",_38);const _39=document.createTextNode(variables[\"t\"](\"objectList.listView\"));_37.append(_39);_26.append(_37);const _40=document.createTextNode(\"\\r\\n \");_26.append(_40);_21.append(_26);const _41=document.createTextNode(\"\\r\\n \");_21.append(_41);_1.append(_21);const _42=document.createTextNode(\"\\r\\n \");_1.append(_42);const _43=document.createElement(\"input\");const _44=\"search\";if(typeof _44==='function')_43[\"type\"]=_44;else if(_44!== undefined&&_44!== null&&_44!== false) _43.setAttribute(\"type\",_44);const _45=variables[\"t\"](\"objectList.search\");if(typeof _45==='function')_43[\"placeholder\"]=_45;else if(_45!== undefined&&_45!== null&&_45!== false) _43.setAttribute(\"placeholder\",_45);_1.append(_43);const _46=document.createTextNode(\"\\r\\n \");_1.append(_46);let _47=document.createDocumentFragment();for(let [_foreachKey,_foreachValue] of Object.entries(variables[\"categories\"])){let category = _foreachValue;const _48=document.createTextNode(\"\\r\\n \");_47.append(_48);const _49=document.createElement(\"div\");const _50=\"categoryTableContainer\";if(typeof _50==='function')_49[\"class\"]=_50;else if(_50!== undefined&&_50!== null&&_50!== false) _49.setAttribute(\"class\",_50);const _51=document.createTextNode(\"\\r\\n \");_49.append(_51);const _52=document.createTextNode(category[\"name\"]);_49.append(_52);const _53=document.createTextNode(\"\\r\\n\\r\\n \");_49.append(_53);const _54=document.createElement(\"table\");const _55=document.createTextNode(\"\\r\\n \");_54.append(_55);const _56=document.createElement(\"thead\");const _57=document.createTextNode(\"\\r\\n \");_56.append(_57);const _58=document.createElement(\"tr\");const _59=document.createTextNode(\"\\r\\n \");_58.append(_59);const _60=document.createElement(\"th\");const _61=document.createTextNode(variables[\"t\"](\"objectList.columnEnabled\"));_60.append(_61);_58.append(_60);const _62=document.createTextNode(\"\\r\\n \");_58.append(_62);const _63=document.createElement(\"th\");const _64=document.createTextNode(variables[\"t\"](\"objectList.sort\"));_63.append(_64);_58.append(_63);const _65=document.createTextNode(\"\\r\\n \");_58.append(_65);const _66=document.createElement(\"th\");const _67=document.createTextNode(variables[\"t\"](\"objectList.columnName\"));_66.append(_67);_58.append(_66);const _68=document.createTextNode(\"\\r\\n \");_58.append(_68);const _69=document.createElement(\"th\");const _70=\"filterHeader\";if(typeof _70==='function')_69[\"class\"]=_70;else if(_70!== undefined&&_70!== null&&_70!== false) _69.setAttribute(\"class\",_70);const _71=document.createTextNode(variables[\"t\"](\"objectList.columnFilter\"));_69.append(_71);_58.append(_69);const _72=document.createTextNode(\"\\r\\n \");_58.append(_72);_56.append(_58);const _73=document.createTextNode(\"\\r\\n \");_56.append(_73);_54.append(_56);const _74=document.createTextNode(\"\\r\\n \");_54.append(_74);const _75=document.createElement(\"tbody\");const _76=document.createTextNode(\"\\r\\n\\r\\n \");_75.append(_76);let _77=document.createDocumentFragment();for(let [_foreachKey,_foreachValue] of Object.entries(category[\"columns\"])){let column = _foreachValue;const _78=document.createTextNode(\"\\r\\n \");_77.append(_78);const _79=document.createElement(\"tr\");const _80=document.createTextNode(\"\\r\\n \");_79.append(_80);const _81=document.createElement(\"td\");const _82=document.createTextNode(\"\\r\\n \");_81.append(_82);const _83=document.createElement(\"input\");const _84=\"checkbox\";if(typeof _84==='function')_83[\"type\"]=_84;else if(_84!== undefined&&_84!== null&&_84!== false) _83.setAttribute(\"type\",_84);const _85=column[\"dataName\"];if(typeof _85==='function')_83[\"data-name\"]=_85;else if(_85!== undefined&&_85!== null&&_85!== false) _83.setAttribute(\"data-name\",_85);_81.append(_83);const _86=document.createTextNode(\"\\r\\n \");_81.append(_86);_79.append(_81);const _87=document.createTextNode(\"\\r\\n \");_79.append(_87);const _88=document.createElement(\"td\");const _89=document.createTextNode(\"\\r\\n \");_88.append(_89);let _90=document.createDocumentFragment();if(column[\"sortName\"]){const _91=document.createTextNode(\"\\r\\n \");_90.append(_91);const _92=document.createElement(\"button\");const _93=\"sortBtn\";if(typeof _93==='function')_92[\"class\"]=_93;else if(_93!== undefined&&_93!== null&&_93!== false) _92.setAttribute(\"class\",_93);const _94=column[\"sortName\"];if(typeof _94==='function')_92[\"data-name\"]=_94;else if(_94!== undefined&&_94!== null&&_94!== false) _92.setAttribute(\"data-name\",_94);const _95=\"button\";if(typeof _95==='function')_92[\"type\"]=_95;else if(_95!== undefined&&_95!== null&&_95!== false) _92.setAttribute(\"type\",_95);const _96=document.createTextNode(variables[\"t\"](\"objectList.sort\"));_92.append(_96);_90.append(_92);const _97=document.createTextNode(\"\\r\\n \");_90.append(_97);}_88.append(_90);const _98=document.createTextNode(\"\\r\\n \");_88.append(_98);_79.append(_88);const _99=document.createTextNode(\"\\r\\n \");_79.append(_99);const _100=document.createElement(\"td\");const _101=document.createTextNode(\"\\r\\n \");_100.append(_101);const _102=document.createTextNode(column[\"name\"]);_100.append(_102);const _103=document.createTextNode(\"\\r\\n \");_100.append(_103);_79.append(_100);const _104=document.createTextNode(\"\\r\\n \");_79.append(_104);let _105=document.createDocumentFragment();if(column[\"isFilter\"]){const _106=document.createTextNode(\"\\r\\n \");_105.append(_106);const _107=document.createElement(\"td\");const _108=\"filter\";if(typeof _108==='function')_107[\"class\"]=_108;else if(_108!== undefined&&_108!== null&&_108!== false) _107.setAttribute(\"class\",_108);const _109=column[\"dataName\"];if(typeof _109==='function')_107[\"data-name\"]=_109;else if(_109!== undefined&&_109!== null&&_109!== false) _107.setAttribute(\"data-name\",_109);const _110=document.createTextNode(\"\\r\\n \");_107.append(_110);_105.append(_107);const _111=document.createTextNode(\"\\r\\n \");_105.append(_111);}_79.append(_105);const _112=document.createTextNode(\"\\r\\n\\r\\n \");_79.append(_112);_77.append(_79);const _113=document.createTextNode(\"\\r\\n \");_77.append(_113);}_75.append(_77);const _114=document.createTextNode(\"\\r\\n \");_75.append(_114);_54.append(_75);const _115=document.createTextNode(\"\\r\\n \");_54.append(_115);_49.append(_54);const _116=document.createTextNode(\"\\r\\n \");_49.append(_116);_47.append(_49);const _117=document.createTextNode(\"\\r\\n \");_47.append(_117);}_1.append(_47);const _118=document.createTextNode(\"\\r\\n \");_1.append(_118);const _119=document.createElement(\"p\");const _120=\"endInformation\";if(typeof _120==='function')_119[\"class\"]=_120;else if(_120!== undefined&&_120!== null&&_120!== false) _119.setAttribute(\"class\",_120);const _121=document.createTextNode(\"\\r\\n\\r\\n \");_119.append(_121);_1.append(_119);const _122=document.createTextNode(\"\\r\\n\");_1.append(_122);_0.append(_1);const _123=document.createTextNode(\"\\r\\n\");_0.append(_123);return _0}\n\n\n//# sourceURL=webpack://@green-code-studio/objects-list/./src/ConfigPopup.mpts?");
|
|
97
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(variables){const _0=document.createDocumentFragment();const _1=document.createElement(\"form\");const _2=document.createTextNode(\"\\r\\n \");_1.append(_2);const _3=document.createElement(\"label\");const _4=document.createTextNode(\"\\r\\n \");_3.append(_4);const _5=document.createElement(\"span\");const _6=document.createTextNode(variables[\"t\"](\"objectList.mode\"));_5.append(_6);_3.append(_5);const _7=document.createTextNode(\"\\r\\n \");_3.append(_7);const _8=document.createElement(\"select\");const _9=\"mode\";if(typeof _9==='function')_8[\"class\"]=_9;else if(_9!== undefined&&_9!== null&&_9!== false) _8.setAttribute(\"class\",_9);const _10=document.createTextNode(\"\\r\\n \");_8.append(_10);const _11=document.createElement(\"option\");const _12=\"paginationMode\";if(typeof _12==='function')_11[\"value\"]=_12;else if(_12!== undefined&&_12!== null&&_12!== false) _11.setAttribute(\"value\",_12);const _13=document.createTextNode(variables[\"t\"](\"objectList.paginationMode\"));_11.append(_13);_8.append(_11);const _14=document.createTextNode(\"\\r\\n \");_8.append(_14);const _15=document.createElement(\"option\");const _16=\"scrollMode\";if(typeof _16==='function')_15[\"value\"]=_16;else if(_16!== undefined&&_16!== null&&_16!== false) _15.setAttribute(\"value\",_16);const _17=document.createTextNode(variables[\"t\"](\"objectList.scrollMode\"));_15.append(_17);_8.append(_15);const _18=document.createTextNode(\"\\r\\n \");_8.append(_18);_3.append(_8);const _19=document.createTextNode(\"\\r\\n \");_3.append(_19);_1.append(_3);const _20=document.createTextNode(\"\\r\\n \");_1.append(_20);const _21=document.createElement(\"label\");const _22=document.createTextNode(\"\\r\\n \");_21.append(_22);const _23=document.createElement(\"span\");const _24=document.createTextNode(variables[\"t\"](\"objectList.view\"));_23.append(_24);_21.append(_23);const _25=document.createTextNode(\"\\r\\n \");_21.append(_25);const _26=document.createElement(\"select\");const _27=\"view\";if(typeof _27==='function')_26[\"class\"]=_27;else if(_27!== undefined&&_27!== null&&_27!== false) _26.setAttribute(\"class\",_27);const _28=document.createTextNode(\"\\r\\n \");_26.append(_28);const _29=document.createElement(\"option\");const _30=\"tableView\";if(typeof _30==='function')_29[\"value\"]=_30;else if(_30!== undefined&&_30!== null&&_30!== false) _29.setAttribute(\"value\",_30);const _31=document.createTextNode(variables[\"t\"](\"objectList.tableView\"));_29.append(_31);_26.append(_29);const _32=document.createTextNode(\"\\r\\n \");_26.append(_32);const _33=document.createElement(\"option\");const _34=\"tableWideView\";if(typeof _34==='function')_33[\"value\"]=_34;else if(_34!== undefined&&_34!== null&&_34!== false) _33.setAttribute(\"value\",_34);const _35=document.createTextNode(variables[\"t\"](\"objectList.tableWideView\"));_33.append(_35);_26.append(_33);const _36=document.createTextNode(\"\\r\\n \");_26.append(_36);const _37=document.createElement(\"option\");const _38=\"listView\";if(typeof _38==='function')_37[\"value\"]=_38;else if(_38!== undefined&&_38!== null&&_38!== false) _37.setAttribute(\"value\",_38);const _39=document.createTextNode(variables[\"t\"](\"objectList.listView\"));_37.append(_39);_26.append(_37);const _40=document.createTextNode(\"\\r\\n \");_26.append(_40);_21.append(_26);const _41=document.createTextNode(\"\\r\\n \");_21.append(_41);_1.append(_21);const _42=document.createTextNode(\"\\r\\n \");_1.append(_42);const _43=document.createElement(\"input\");const _44=\"search\";if(typeof _44==='function')_43[\"type\"]=_44;else if(_44!== undefined&&_44!== null&&_44!== false) _43.setAttribute(\"type\",_44);const _45=variables[\"t\"](\"objectList.search\");if(typeof _45==='function')_43[\"placeholder\"]=_45;else if(_45!== undefined&&_45!== null&&_45!== false) _43.setAttribute(\"placeholder\",_45);_1.append(_43);const _46=document.createTextNode(\"\\r\\n \");_1.append(_46);let _47=document.createDocumentFragment();for(let [_foreachKey,_foreachValue] of Object.entries(variables[\"categories\"])){let category = _foreachValue;const _48=document.createTextNode(\"\\r\\n \");_47.append(_48);const _49=document.createElement(\"div\");const _50=\"categoryTableContainer\";if(typeof _50==='function')_49[\"class\"]=_50;else if(_50!== undefined&&_50!== null&&_50!== false) _49.setAttribute(\"class\",_50);const _51=document.createTextNode(\"\\r\\n \");_49.append(_51);const _52=document.createTextNode(category[\"name\"]);_49.append(_52);const _53=document.createTextNode(\"\\r\\n\\r\\n \");_49.append(_53);const _54=document.createElement(\"table\");const _55=document.createTextNode(\"\\r\\n \");_54.append(_55);const _56=document.createElement(\"thead\");const _57=document.createTextNode(\"\\r\\n \");_56.append(_57);const _58=document.createElement(\"tr\");const _59=document.createTextNode(\"\\r\\n \");_58.append(_59);const _60=document.createElement(\"th\");const _61=document.createTextNode(variables[\"t\"](\"objectList.columnEnabled\"));_60.append(_61);_58.append(_60);const _62=document.createTextNode(\"\\r\\n \");_58.append(_62);const _63=document.createElement(\"th\");const _64=document.createTextNode(variables[\"t\"](\"objectList.sort\"));_63.append(_64);_58.append(_63);const _65=document.createTextNode(\"\\r\\n \");_58.append(_65);const _66=document.createElement(\"th\");const _67=document.createTextNode(variables[\"t\"](\"objectList.columnName\"));_66.append(_67);_58.append(_66);const _68=document.createTextNode(\"\\r\\n \");_58.append(_68);const _69=document.createElement(\"th\");const _70=\"filterHeader\";if(typeof _70==='function')_69[\"class\"]=_70;else if(_70!== undefined&&_70!== null&&_70!== false) _69.setAttribute(\"class\",_70);const _71=document.createTextNode(variables[\"t\"](\"objectList.columnFilter\"));_69.append(_71);_58.append(_69);const _72=document.createTextNode(\"\\r\\n \");_58.append(_72);_56.append(_58);const _73=document.createTextNode(\"\\r\\n \");_56.append(_73);_54.append(_56);const _74=document.createTextNode(\"\\r\\n \");_54.append(_74);const _75=document.createElement(\"tbody\");const _76=document.createTextNode(\"\\r\\n\\r\\n \");_75.append(_76);let _77=document.createDocumentFragment();for(let [_foreachKey,_foreachValue] of Object.entries(category[\"columns\"])){let column = _foreachValue;const _78=document.createTextNode(\"\\r\\n \");_77.append(_78);const _79=document.createElement(\"tr\");const _80=document.createTextNode(\"\\r\\n \");_79.append(_80);const _81=document.createElement(\"td\");const _82=document.createTextNode(\"\\r\\n \");_81.append(_82);const _83=document.createElement(\"input\");const _84=\"checkbox\";if(typeof _84==='function')_83[\"type\"]=_84;else if(_84!== undefined&&_84!== null&&_84!== false) _83.setAttribute(\"type\",_84);const _85=(column[\"dataName\"]??column[\"sortName\"]);if(typeof _85==='function')_83[\"data-name\"]=_85;else if(_85!== undefined&&_85!== null&&_85!== false) _83.setAttribute(\"data-name\",_85);_81.append(_83);const _86=document.createTextNode(\"\\r\\n \");_81.append(_86);_79.append(_81);const _87=document.createTextNode(\"\\r\\n \");_79.append(_87);const _88=document.createElement(\"td\");const _89=document.createTextNode(\"\\r\\n \");_88.append(_89);let _90=document.createDocumentFragment();if(column[\"sortName\"]){const _91=document.createTextNode(\"\\r\\n \");_90.append(_91);const _92=document.createElement(\"button\");const _93=\"sortBtn\";if(typeof _93==='function')_92[\"class\"]=_93;else if(_93!== undefined&&_93!== null&&_93!== false) _92.setAttribute(\"class\",_93);const _94=column[\"sortName\"];if(typeof _94==='function')_92[\"data-name\"]=_94;else if(_94!== undefined&&_94!== null&&_94!== false) _92.setAttribute(\"data-name\",_94);const _95=\"button\";if(typeof _95==='function')_92[\"type\"]=_95;else if(_95!== undefined&&_95!== null&&_95!== false) _92.setAttribute(\"type\",_95);const _96=document.createTextNode(variables[\"t\"](\"objectList.sort\"));_92.append(_96);_90.append(_92);const _97=document.createTextNode(\"\\r\\n \");_90.append(_97);}_88.append(_90);const _98=document.createTextNode(\"\\r\\n \");_88.append(_98);_79.append(_88);const _99=document.createTextNode(\"\\r\\n \");_79.append(_99);const _100=document.createElement(\"td\");const _101=document.createTextNode(\"\\r\\n \");_100.append(_101);const _102=document.createTextNode(column[\"name\"]);_100.append(_102);const _103=document.createTextNode(\"\\r\\n \");_100.append(_103);_79.append(_100);const _104=document.createTextNode(\"\\r\\n \");_79.append(_104);let _105=document.createDocumentFragment();if(column[\"isFilter\"]){const _106=document.createTextNode(\"\\r\\n \");_105.append(_106);const _107=document.createElement(\"td\");const _108=\"filter\";if(typeof _108==='function')_107[\"class\"]=_108;else if(_108!== undefined&&_108!== null&&_108!== false) _107.setAttribute(\"class\",_108);const _109=(column[\"dataName\"]??column[\"sortName\"]);if(typeof _109==='function')_107[\"data-name\"]=_109;else if(_109!== undefined&&_109!== null&&_109!== false) _107.setAttribute(\"data-name\",_109);const _110=document.createTextNode(\"\\r\\n \");_107.append(_110);_105.append(_107);const _111=document.createTextNode(\"\\r\\n \");_105.append(_111);}_79.append(_105);const _112=document.createTextNode(\"\\r\\n\\r\\n \");_79.append(_112);_77.append(_79);const _113=document.createTextNode(\"\\r\\n \");_77.append(_113);}_75.append(_77);const _114=document.createTextNode(\"\\r\\n \");_75.append(_114);_54.append(_75);const _115=document.createTextNode(\"\\r\\n \");_54.append(_115);_49.append(_54);const _116=document.createTextNode(\"\\r\\n \");_49.append(_116);_47.append(_49);const _117=document.createTextNode(\"\\r\\n \");_47.append(_117);}_1.append(_47);const _118=document.createTextNode(\"\\r\\n \");_1.append(_118);const _119=document.createElement(\"p\");const _120=\"endInformation\";if(typeof _120==='function')_119[\"class\"]=_120;else if(_120!== undefined&&_120!== null&&_120!== false) _119.setAttribute(\"class\",_120);const _121=document.createTextNode(\"\\r\\n\\r\\n \");_119.append(_121);_1.append(_119);const _122=document.createTextNode(\"\\r\\n\");_1.append(_122);_0.append(_1);const _123=document.createTextNode(\"\\r\\n\");_0.append(_123);return _0}\n\n\n//# sourceURL=webpack://@green-code-studio/objects-list/./src/ConfigPopup.mpts?");
|
|
98
98
|
|
|
99
99
|
/***/ }),
|
|
100
100
|
|
|
@@ -124,7 +124,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
124
124
|
\****************************/
|
|
125
125
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
126
126
|
|
|
127
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConfigPopup: () => (/* binding */ ConfigPopup)\n/* harmony export */ });\n/* harmony import */ var _ConfigPopup_mpts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ConfigPopup.mpts */ \"./src/ConfigPopup.mpts\");\n/* harmony import */ var _i18n_xml__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./i18n.xml */ \"./src/i18n.xml\");\n/* harmony import */ var _tableView_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tableView.js */ \"./src/tableView.js\");\n/* harmony import */ var _listView_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./listView.js */ \"./src/listView.js\");\n/* harmony import */ var _ColumnFilter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ColumnFilter.js */ \"./src/ColumnFilter.js\");\n\r\n\r\n\r\n\r\n\r\n\r\nclass ConfigPopup extends HTMLElement {\r\n constructor(objectsList) {\r\n super();\r\n this.append((0,_ConfigPopup_mpts__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\r\n t: _i18n_xml__WEBPACK_IMPORTED_MODULE_1__.t,\r\n categories: Object.entries(objectsList.columns.reduce((o, c) => {\r\n o[c.category] = (o[c.category] ?? [])\r\n o[c.category].push(c);\r\n return o;\r\n }, {}))\r\n .map(([category, columns]) => ({name: category == 'undefined' ? '' : category, columns}))\r\n }))\r\n this.querySelector('.mode').onchange = () => {\r\n objectsList.infiniteScrollEnabled = this.querySelector('.mode').value == 'scrollMode'\r\n objectsList.refresh()\r\n }\r\n if (objectsList.infiniteScrollEnabled) {\r\n this.querySelector('.mode').value = 'scrollMode'\r\n }\r\n if (objectsList.insideViewClass == _tableView_js__WEBPACK_IMPORTED_MODULE_2__.TableView) {\r\n if (objectsList.insideViewParams?.wide)\r\n this.querySelector('.view').value = 'tableWideView'\r\n else\r\n this.querySelector('.view').value = 'tableView'\r\n } else if (objectsList.insideViewClass == _listView_js__WEBPACK_IMPORTED_MODULE_3__.ListView) {\r\n this.querySelector('.view').value = 'listView'\r\n }\r\n\r\n this.querySelector('.view').onchange = () => {\r\n objectsList.insideViewName = this.querySelector('.view').value\r\n objectsList.refresh()\r\n }\r\n // this.addEventListener('blur', () => {\r\n // console.log('blur')\r\n // if (!this.matches(':focus-within, :focus'))\r\n // this.remove();\r\n // })\r\n this.querySelector('select').focus()\r\n console.log('ssss')\r\n for (const checkbox of this.querySelectorAll('table input[type=\"checkbox\"]')) {\r\n checkbox.checked = !objectsList.hiddenColumns.has(checkbox.dataset.name)\r\n checkbox.onchange = () => {\r\n if (checkbox.checked)\r\n objectsList.hiddenColumns.delete(checkbox.dataset.name)\r\n else\r\n objectsList.hiddenColumns.add(checkbox.dataset.name)\r\n\r\n objectsList.refresh()\r\n }\r\n }\r\n for (const sortBtn of this.querySelectorAll('.sortBtn')){\r\n sortBtn.onclick = () => {\r\n const column = objectsList.columns.find(x => x.
|
|
127
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConfigPopup: () => (/* binding */ ConfigPopup)\n/* harmony export */ });\n/* harmony import */ var _ConfigPopup_mpts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ConfigPopup.mpts */ \"./src/ConfigPopup.mpts\");\n/* harmony import */ var _i18n_xml__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./i18n.xml */ \"./src/i18n.xml\");\n/* harmony import */ var _tableView_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tableView.js */ \"./src/tableView.js\");\n/* harmony import */ var _listView_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./listView.js */ \"./src/listView.js\");\n/* harmony import */ var _ColumnFilter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ColumnFilter.js */ \"./src/ColumnFilter.js\");\n\r\n\r\n\r\n\r\n\r\n\r\nclass ConfigPopup extends HTMLElement {\r\n constructor(objectsList) {\r\n super();\r\n this.append((0,_ConfigPopup_mpts__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\r\n t: _i18n_xml__WEBPACK_IMPORTED_MODULE_1__.t,\r\n categories: Object.entries(objectsList.columns.reduce((o, c) => {\r\n o[c.category] = (o[c.category] ?? [])\r\n o[c.category].push(c);\r\n return o;\r\n }, {}))\r\n .map(([category, columns]) => ({name: category == 'undefined' ? '' : category, columns}))\r\n }))\r\n this.querySelector('.mode').onchange = () => {\r\n objectsList.infiniteScrollEnabled = this.querySelector('.mode').value == 'scrollMode'\r\n objectsList.refresh()\r\n }\r\n if (objectsList.infiniteScrollEnabled) {\r\n this.querySelector('.mode').value = 'scrollMode'\r\n }\r\n if (objectsList.insideViewClass == _tableView_js__WEBPACK_IMPORTED_MODULE_2__.TableView) {\r\n if (objectsList.insideViewParams?.wide)\r\n this.querySelector('.view').value = 'tableWideView'\r\n else\r\n this.querySelector('.view').value = 'tableView'\r\n } else if (objectsList.insideViewClass == _listView_js__WEBPACK_IMPORTED_MODULE_3__.ListView) {\r\n this.querySelector('.view').value = 'listView'\r\n }\r\n\r\n this.querySelector('.view').onchange = () => {\r\n objectsList.insideViewName = this.querySelector('.view').value\r\n objectsList.refresh()\r\n }\r\n // this.addEventListener('blur', () => {\r\n // console.log('blur')\r\n // if (!this.matches(':focus-within, :focus'))\r\n // this.remove();\r\n // })\r\n this.querySelector('select').focus()\r\n console.log('ssss')\r\n for (const checkbox of this.querySelectorAll('table input[type=\"checkbox\"]')) {\r\n checkbox.checked = !objectsList.hiddenColumns.has(checkbox.dataset.name)\r\n checkbox.onchange = () => {\r\n if (checkbox.checked)\r\n objectsList.hiddenColumns.delete(checkbox.dataset.name)\r\n else\r\n objectsList.hiddenColumns.add(checkbox.dataset.name)\r\n\r\n objectsList.refresh()\r\n }\r\n }\r\n for (const sortBtn of this.querySelectorAll('.sortBtn')){\r\n sortBtn.onclick = () => {\r\n const column = objectsList.columns.find(x => x.sortName == sortBtn.dataset.name)\r\n if (column) {\r\n column.sort = column.sort == 'asc' ? 'desc' : 'asc'\r\n objectsList.refresh()\r\n }\r\n }\r\n }\r\n\r\n for (const filterContainer of this.querySelectorAll('table .filter')) {\r\n console.log('aa')\r\n const filter = new _ColumnFilter_js__WEBPACK_IMPORTED_MODULE_4__.ColumnFilter();\r\n filterContainer.append(filter)\r\n filter.addEventListener('x-filter', (e) => {\r\n console.log('dddd', e)\r\n objectsList.columnFilters.set(filterContainer.dataset.name, e.detail)\r\n objectsList.refresh()\r\n });\r\n const current = objectsList.columnFilters.get(filterContainer.dataset.name)\r\n if (current) {\r\n console.log('ffff')\r\n filter.set(current)\r\n }\r\n }\r\n\r\n this.querySelector('[type=\"search\"]').oninput = (event) => {\r\n objectsList.configPopupSearch = event.target.value\r\n this.refreshSearch(event.target.value)\r\n }\r\n if (objectsList.configPopupSearch) {\r\n this.querySelector('[type=\"search\"]').value = objectsList.configPopupSearch\r\n this.refreshSearch(objectsList.configPopupSearch)\r\n }\r\n this.tabIndex = 0\r\n setTimeout(() => this.focus(), 1)\r\n setTimeout(() => this.checkFocus(), 100)\r\n this.refreshSearch('')\r\n }\r\n\r\n refreshSearch(value) {\r\n let countedVisible = 0;\r\n const visibilityLimit = 100;\r\n for (const table of this.querySelectorAll('.categoryTableContainer')) {\r\n let anyVisible = false;\r\n for (const row of table.querySelectorAll('tbody tr')) {\r\n const shouldBeVisible = row.children[1].textContent.toLowerCase().includes(value.toLowerCase());\r\n const visible = shouldBeVisible && countedVisible < visibilityLimit;\r\n row.style.display = visible ? '' : 'none'\r\n if (visible) {\r\n anyVisible = true;\r\n }\r\n\r\n countedVisible += shouldBeVisible;\r\n }\r\n table.style.display = anyVisible ? '' : 'none'\r\n }\r\n const endInformation = this.querySelector('.endInformation');\r\n if (countedVisible > visibilityLimit) {\r\n endInformation.style.display = '';\r\n endInformation.textContent = (0,_i18n_xml__WEBPACK_IMPORTED_MODULE_1__.t)('objectList.visibilityLimitReached') + ' ' + countedVisible\r\n } else {\r\n endInformation.style.display = 'none';\r\n }\r\n }\r\n\r\n checkFocus() {\r\n console.log('checkFocus')\r\n if (!this.matches(':focus-within, :focus'))\r\n this.remove();\r\n\r\n if (this.parentNode)\r\n setTimeout(() => this.checkFocus(), 100)\r\n }\r\n}\r\n\r\ncustomElements.define('config-popup', ConfigPopup);\r\n\n\n//# sourceURL=webpack://@green-code-studio/objects-list/./src/ConfigPopup.js?");
|
|
128
128
|
|
|
129
129
|
/***/ }),
|
|
130
130
|
|
|
@@ -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.columnsReordered = [];\r\n this.columnsReorderedChanged = false;\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.loadConcurencyLimiterTotal = 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 this.resizeBinded = this.resize.bind(this);\r\n this.popstateBinded = this.readUrl.bind(this);\r\n this.readUrl()\r\n this.addEventListener('keydown', e => this.onkeydown(e));\r\n this.infiniteScrollEnabled = false;\r\n }\r\n\r\n connectedCallback() {\r\n addEventListener('resize', this.resizeBinded);\r\n addEventListener(\"popstate\", this.popstateBinded)\r\n if (this.paramsInLocalStorage) {\r\n this.applyParams(JSON.parse(localStorage['objectList_params_' + this.paramsInLocalStorage] ?? 'null'));\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n removeEventListener('resize', this.resizeBinded);\r\n removeEventListener(\"popstate\", this.popstateBinded)\r\n }\r\n\r\n get columns() {\r\n return this._columns;\r\n }\r\n\r\n set columns(value) {\r\n this._columns = value;\r\n this.columnsReordered = value;\r\n this.columnsReorderedChanged = false;\r\n }\r\n\r\n get visibleColumns() {\r\n return this.columnsReordered.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 console.log('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.params = this.insideViewParams\r\n this.insideView.refreshHeader()\r\n }\r\n\r\n this.refreshLimit();\r\n const refreshSymbol = Symbol();\r\n this.lastRefreshSymbol = refreshSymbol;\r\n this.lastRefreshSymbolTotal = refreshSymbol;\r\n if (this.asyncTotal) {\r\n const promise1 = this.loadConcurencyLimiter.run(async () => {\r\n if (this.lastRefreshSymbol != refreshSymbol) return;\r\n\r\n const data = await this.datasource.getRows(this);\r\n\r\n if (this.lastRefreshSymbol != refreshSymbol) return;\r\n this.currentRows = data.rows;\r\n this.fillDataById(data.rows);\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.render();\r\n });\r\n\r\n const promise2 = this.loadConcurencyLimiter.run(async () => {\r\n if (this.lastRefreshSymbolTotal != refreshSymbol) return;\r\n let dataTotal = this.datasource.getTotal(this);\r\n const x = await dataTotal\r\n if (this.lastRefreshSymbolTotal != refreshSymbol) return;\r\n this.total = x.total;\r\n this.pagination.totalPages = Math.ceil(this.total / this.limit);\r\n this.pagination.render();\r\n });\r\n\r\n await promise1;\r\n await promise2;\r\n } else {\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\r\n while (this.filterShortContainer.firstChild) {\r\n this.filterShortContainer.firstChild.remove()\r\n }\r\n if (this.columnFilters.size) {\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.size}));\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.clear();\r\n this.refresh();\r\n }\r\n this.filterShortContainer.append(clearButton);\r\n }\r\n if (this.paramsInUrl) {\r\n this.setUrl();\r\n }\r\n if (this.paramsInLocalStorage) {\r\n this.setLocalStorage();\r\n }\r\n }\r\n\r\n setUrl() {\r\n const query = new URLSearchParams(document.location.search)\r\n const prev = Object.fromEntries([...query]);\r\n const next = new URLSearchParams(this.serializeParams(prev))\r\n console.log('dddddcccc')\r\n console.log(query)\r\n if (prev.toString() !== next.toString()) {\r\n const url = new URL(document.location);\r\n url.search = next.toString();\r\n history.pushState(null, '', url.toString());\r\n }\r\n }\r\n\r\n setLocalStorage() {\r\n const prev = JSON.parse(localStorage.getItem('objectList_params_' + this.paramsInLocalStorage));\r\n const next = this.serializeParams(prev);\r\n if (JSON.stringify(prev) !== JSON.stringify(next)) {\r\n localStorage.setItem('objectList_params_' + this.paramsInLocalStorage, JSON.stringify(next));\r\n }\r\n }\r\n\r\n serializeParams(old = {}) {\r\n old = old || {};\r\n let ret = {};\r\n let changed = false;\r\n var visibleColumns = this.visibleColumns.map(x => x.dataName).join();\r\n if (old.visibleColumns || this.hiddenColumns.size || this.columnsReorderedChanged) {\r\n ret.visibleColumns = visibleColumns;\r\n changed = true;\r\n\r\n }\r\n if (old.sort || this.sort?.col) {\r\n ret.sort = this.sort?.col;\r\n\r\n }\r\n if (old.sortDesc == 'true' || this.sort?.desc) {\r\n ret.sortDesc = this.sort?.desc ? 'true' : 'false';\r\n\r\n\r\n }\r\n if (old.columnFilters || this.columnFilters) {\r\n ret.columnFilters = JSON.stringify(Array.from(this.columnFilters.entries()));\r\n\r\n }\r\n\r\n if (old.insideView || this.insideViewName) {\r\n ret.insideView = this.insideViewName;\r\n }\r\n return ret;\r\n }\r\n\r\n get insideViewName() {\r\n if (this.insideViewClass == _tableView_js__WEBPACK_IMPORTED_MODULE_0__.TableView) {\r\n if (this.insideViewParams?.wide)\r\n return 'tableWideView';\r\n else\r\n return 'tableView'\r\n } else {\r\n return 'listView'\r\n }\r\n }\r\n\r\n set insideViewName(value) {\r\n if (this.insideViewName == value) return;\r\n if (value == 'tableView') {\r\n this.insideViewClass = _tableView_js__WEBPACK_IMPORTED_MODULE_0__.TableView\r\n this.insideViewParams = {wide: false}\r\n } else if (value == 'tableWideView') {\r\n this.insideViewClass = _tableView_js__WEBPACK_IMPORTED_MODULE_0__.TableView\r\n this.insideViewParams = {wide: true}\r\n } else {\r\n this.insideViewClass = _listView_js__WEBPACK_IMPORTED_MODULE_1__.ListView\r\n this.insideViewParams = {}\r\n }\r\n }\r\n\r\n readUrl() {\r\n\r\n const query = new URLSearchParams(document.location.search)\r\n const params = Object.fromEntries([...query]);\r\n this.applyParams(params)\r\n }\r\n\r\n applyParams(params) {\r\n if (params?.visibleColumns) {\r\n const splitted = params.visibleColumns.split(',');\r\n this.hiddenColumns = new Set(this.columns.map(x => x.dataName));\r\n for (const name of splitted) {\r\n this.hiddenColumns.delete(name);\r\n }\r\n for (let i = splitted.length - 1; i > 0; i--) {\r\n const column = this.columnsReordered.find(x => x.dataName == splitted[i - 1]);\r\n const next = this.columnsReordered.find(x => x.dataName == splitted[i]);\r\n if (column) {\r\n this.columnsReordered.splice(this.columnsReordered.indexOf(column), 1);\r\n if (next)\r\n this.columnsReordered.splice(this.columnsReordered.indexOf(next), 0, column);\r\n else\r\n this.columnsReordered.push(column)\r\n this.columnsReorderedChanged = true;\r\n }\r\n }\r\n }\r\n if (params?.sort) {\r\n this.sort = {\r\n col: params.sort,\r\n desc: params.sortDesc === 'true'\r\n };\r\n }\r\n if (params?.columnFilters) {\r\n this.columnFilters = new Map(JSON.parse(params.columnFilters));\r\n }\r\n if (params?.insideView) {\r\n this.insideViewName = params.insideView;\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, this.insideViewParams);\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\r\n gotoUrl(url) {\r\n window.location.href = url;\r\n }\r\n\r\n onkeydown(e) {\r\n if (e.ctrlKey) {\r\n if (e.key == 'ArrowLeft' || e.key == 'ArrowRight') {\r\n let page = Math.floor(this.start / this.limit);\r\n page += (e.key == 'ArrowLeft' ? -1 : 1);\r\n if (page < 0) page = 0;\r\n else if (page > 0 && page > Math.ceil(this.total / this.limit) - 1) page = Math.ceil(this.total / this.limit) - 1;\r\n this.start = page * this.limit;\r\n this.refresh();\r\n }\r\n }\r\n }\r\n\r\n\r\n reorderColumns(column, next) {\r\n console.log('reorderColumns')\r\n if (column) {\r\n this.columnsReordered.splice(this.columnsReordered.indexOf(column), 1);\r\n if (next)\r\n this.columnsReordered.splice(this.columnsReordered.indexOf(next), 0, column);\r\n else\r\n this.columnsReordered.push(column)\r\n\r\n this.columnsReorderedChanged = true;\r\n if (this.insideView.setColumnsWidths) {\r\n this.insideView.setColumnsWidths()\r\n }\r\n }\r\n }\r\n}\r\n\r\ncustomElements\r\n .define(\r\n 'data-view'\r\n ,\r\n ObjectsList\r\n )\r\n;\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.columnsReordered = [];\r\n this.columnsReorderedChanged = false;\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.loadConcurencyLimiterTotal = 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 this.resizeBinded = this.resize.bind(this);\r\n this.popstateBinded = this.readUrl.bind(this);\r\n this.readUrl()\r\n this.addEventListener('keydown', e => this.onkeydown(e));\r\n this.infiniteScrollEnabled = false;\r\n }\r\n\r\n connectedCallback() {\r\n addEventListener('resize', this.resizeBinded);\r\n addEventListener(\"popstate\", this.popstateBinded)\r\n if (this.paramsInLocalStorage) {\r\n this.applyParams(JSON.parse(localStorage['objectList_params_' + this.paramsInLocalStorage] ?? 'null'));\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n removeEventListener('resize', this.resizeBinded);\r\n removeEventListener(\"popstate\", this.popstateBinded)\r\n }\r\n\r\n get columns() {\r\n return this._columns;\r\n }\r\n\r\n set columns(value) {\r\n this._columns = value;\r\n this.columnsReordered = value;\r\n this.columnsReorderedChanged = false;\r\n }\r\n\r\n get visibleColumns() {\r\n return this.columnsReordered.filter(x => !this.hiddenColumns.has(x.dataName??x.sortName))\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 console.log('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.params = this.insideViewParams\r\n this.insideView.refreshHeader()\r\n }\r\n\r\n this.refreshLimit();\r\n const refreshSymbol = Symbol();\r\n this.lastRefreshSymbol = refreshSymbol;\r\n this.lastRefreshSymbolTotal = refreshSymbol;\r\n if (this.asyncTotal) {\r\n const promise1 = this.loadConcurencyLimiter.run(async () => {\r\n if (this.lastRefreshSymbol != refreshSymbol) return;\r\n\r\n const data = await this.datasource.getRows(this);\r\n\r\n if (this.lastRefreshSymbol != refreshSymbol) return;\r\n this.currentRows = data.rows;\r\n this.fillDataById(data.rows);\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.render();\r\n });\r\n\r\n const promise2 = this.loadConcurencyLimiter.run(async () => {\r\n if (this.lastRefreshSymbolTotal != refreshSymbol) return;\r\n let dataTotal = this.datasource.getTotal(this);\r\n const x = await dataTotal\r\n if (this.lastRefreshSymbolTotal != refreshSymbol) return;\r\n this.total = x.total;\r\n this.pagination.totalPages = Math.ceil(this.total / this.limit);\r\n this.pagination.render();\r\n });\r\n\r\n await promise1;\r\n await promise2;\r\n } else {\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\r\n while (this.filterShortContainer.firstChild) {\r\n this.filterShortContainer.firstChild.remove()\r\n }\r\n if (this.columnFilters.size) {\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.size}));\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.clear();\r\n this.refresh();\r\n }\r\n this.filterShortContainer.append(clearButton);\r\n }\r\n if (this.paramsInUrl) {\r\n this.setUrl();\r\n }\r\n if (this.paramsInLocalStorage) {\r\n this.setLocalStorage();\r\n }\r\n }\r\n\r\n setUrl() {\r\n const query = new URLSearchParams(document.location.search)\r\n const prev = Object.fromEntries([...query]);\r\n const next = new URLSearchParams(this.serializeParams(prev))\r\n console.log('dddddcccc')\r\n console.log(query)\r\n if (prev.toString() !== next.toString()) {\r\n const url = new URL(document.location);\r\n url.search = next.toString();\r\n history.pushState(null, '', url.toString());\r\n }\r\n }\r\n\r\n setLocalStorage() {\r\n const prev = JSON.parse(localStorage.getItem('objectList_params_' + this.paramsInLocalStorage));\r\n const next = this.serializeParams(prev);\r\n if (JSON.stringify(prev) !== JSON.stringify(next)) {\r\n localStorage.setItem('objectList_params_' + this.paramsInLocalStorage, JSON.stringify(next));\r\n }\r\n }\r\n\r\n serializeParams(old = {}) {\r\n old = old || {};\r\n let ret = {};\r\n let changed = false;\r\n var visibleColumns = this.visibleColumns.map(x => x.dataName??x.sortName).join();\r\n if (old.visibleColumns || this.hiddenColumns.size || this.columnsReorderedChanged) {\r\n ret.visibleColumns = visibleColumns;\r\n changed = true;\r\n\r\n }\r\n if (old.sort || this.sort?.col) {\r\n ret.sort = this.sort?.col;\r\n\r\n }\r\n if (old.sortDesc == 'true' || this.sort?.desc) {\r\n ret.sortDesc = this.sort?.desc ? 'true' : 'false';\r\n\r\n\r\n }\r\n if (old.columnFilters || this.columnFilters) {\r\n ret.columnFilters = JSON.stringify(Array.from(this.columnFilters.entries()));\r\n\r\n }\r\n\r\n if (old.insideView || this.insideViewName) {\r\n ret.insideView = this.insideViewName;\r\n }\r\n return ret;\r\n }\r\n\r\n get insideViewName() {\r\n if (this.insideViewClass == _tableView_js__WEBPACK_IMPORTED_MODULE_0__.TableView) {\r\n if (this.insideViewParams?.wide)\r\n return 'tableWideView';\r\n else\r\n return 'tableView'\r\n } else {\r\n return 'listView'\r\n }\r\n }\r\n\r\n set insideViewName(value) {\r\n if (this.insideViewName == value) return;\r\n if (value == 'tableView') {\r\n this.insideViewClass = _tableView_js__WEBPACK_IMPORTED_MODULE_0__.TableView\r\n this.insideViewParams = {wide: false}\r\n } else if (value == 'tableWideView') {\r\n this.insideViewClass = _tableView_js__WEBPACK_IMPORTED_MODULE_0__.TableView\r\n this.insideViewParams = {wide: true}\r\n } else {\r\n this.insideViewClass = _listView_js__WEBPACK_IMPORTED_MODULE_1__.ListView\r\n this.insideViewParams = {}\r\n }\r\n }\r\n\r\n readUrl() {\r\n\r\n const query = new URLSearchParams(document.location.search)\r\n const params = Object.fromEntries([...query]);\r\n this.applyParams(params)\r\n }\r\n\r\n applyParams(params) {\r\n if (params?.visibleColumns) {\r\n const splitted = params.visibleColumns.split(',');\r\n this.hiddenColumns = new Set(this.columns.map(x => x.dataName??x.sortName));\r\n for (const name of splitted) {\r\n this.hiddenColumns.delete(name);\r\n }\r\n for (let i = splitted.length - 1; i > 0; i--) {\r\n const column = this.columnsReordered.find(x => (x.dataName??x.sortName) == splitted[i - 1]);\r\n const next = this.columnsReordered.find(x => (x.dataName??x.sortName) == splitted[i]);\r\n if (column) {\r\n this.columnsReordered.splice(this.columnsReordered.indexOf(column), 1);\r\n if (next)\r\n this.columnsReordered.splice(this.columnsReordered.indexOf(next), 0, column);\r\n else\r\n this.columnsReordered.push(column)\r\n this.columnsReorderedChanged = true;\r\n }\r\n }\r\n }\r\n if (params?.sort) {\r\n this.sort = {\r\n col: params.sort,\r\n desc: params.sortDesc === 'true'\r\n };\r\n }\r\n if (params?.columnFilters) {\r\n this.columnFilters = new Map(JSON.parse(params.columnFilters));\r\n }\r\n if (params?.insideView) {\r\n this.insideViewName = params.insideView;\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, this.insideViewParams);\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\r\n gotoUrl(url) {\r\n window.location.href = url;\r\n }\r\n\r\n onkeydown(e) {\r\n if (e.ctrlKey) {\r\n if (e.key == 'ArrowLeft' || e.key == 'ArrowRight') {\r\n let page = Math.floor(this.start / this.limit);\r\n page += (e.key == 'ArrowLeft' ? -1 : 1);\r\n if (page < 0) page = 0;\r\n else if (page > 0 && page > Math.ceil(this.total / this.limit) - 1) page = Math.ceil(this.total / this.limit) - 1;\r\n this.start = page * this.limit;\r\n this.refresh();\r\n }\r\n }\r\n }\r\n\r\n\r\n reorderColumns(column, next) {\r\n console.log('reorderColumns')\r\n if (column) {\r\n this.columnsReordered.splice(this.columnsReordered.indexOf(column), 1);\r\n if (next)\r\n this.columnsReordered.splice(this.columnsReordered.indexOf(next), 0, column);\r\n else\r\n this.columnsReordered.push(column)\r\n\r\n this.columnsReorderedChanged = true;\r\n if (this.insideView.setColumnsWidths) {\r\n this.insideView.setColumnsWidths()\r\n }\r\n }\r\n }\r\n}\r\n\r\ncustomElements\r\n .define(\r\n 'data-view'\r\n ,\r\n ObjectsList\r\n )\r\n;\r\n\n\n//# sourceURL=webpack://@green-code-studio/objects-list/./src/objectsList.js?");
|
|
178
178
|
|
|
179
179
|
/***/ }),
|
|
180
180
|
|
package/package.json
CHANGED
package/src/ConfigPopup.js
CHANGED
|
@@ -56,7 +56,7 @@ export class ConfigPopup extends HTMLElement {
|
|
|
56
56
|
}
|
|
57
57
|
for (const sortBtn of this.querySelectorAll('.sortBtn')){
|
|
58
58
|
sortBtn.onclick = () => {
|
|
59
|
-
const column = objectsList.columns.find(x => x.
|
|
59
|
+
const column = objectsList.columns.find(x => x.sortName == sortBtn.dataset.name)
|
|
60
60
|
if (column) {
|
|
61
61
|
column.sort = column.sort == 'asc' ? 'desc' : 'asc'
|
|
62
62
|
objectsList.refresh()
|
package/src/ConfigPopup.mpts
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
<:foreach collection=category.columns item=column>
|
|
34
34
|
<tr>
|
|
35
35
|
<td>
|
|
36
|
-
<input type="checkbox" data-name=column.dataName />
|
|
36
|
+
<input type="checkbox" data-name=column.dataName??column.sortName />
|
|
37
37
|
</td>
|
|
38
38
|
<td>
|
|
39
39
|
<:if condition=column.sortName >
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
{{column.name}}
|
|
45
45
|
</td>
|
|
46
46
|
<:if condition=column.isFilter >
|
|
47
|
-
<td class="filter" data-name=column.dataName >
|
|
47
|
+
<td class="filter" data-name=column.dataName??column.sortName >
|
|
48
48
|
</td>
|
|
49
49
|
</:if>
|
|
50
50
|
|
package/src/objectsList.js
CHANGED
|
@@ -62,7 +62,7 @@ export class ObjectsList extends HTMLElement {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
get visibleColumns() {
|
|
65
|
-
return this.columnsReordered.filter(x => !this.hiddenColumns.has(x.dataName))
|
|
65
|
+
return this.columnsReordered.filter(x => !this.hiddenColumns.has(x.dataName??x.sortName))
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
refreshLimit() {
|
|
@@ -179,7 +179,7 @@ export class ObjectsList extends HTMLElement {
|
|
|
179
179
|
old = old || {};
|
|
180
180
|
let ret = {};
|
|
181
181
|
let changed = false;
|
|
182
|
-
var visibleColumns = this.visibleColumns.map(x => x.dataName).join();
|
|
182
|
+
var visibleColumns = this.visibleColumns.map(x => x.dataName??x.sortName).join();
|
|
183
183
|
if (old.visibleColumns || this.hiddenColumns.size || this.columnsReorderedChanged) {
|
|
184
184
|
ret.visibleColumns = visibleColumns;
|
|
185
185
|
changed = true;
|
|
@@ -240,13 +240,13 @@ export class ObjectsList extends HTMLElement {
|
|
|
240
240
|
applyParams(params) {
|
|
241
241
|
if (params?.visibleColumns) {
|
|
242
242
|
const splitted = params.visibleColumns.split(',');
|
|
243
|
-
this.hiddenColumns = new Set(this.columns.map(x => x.dataName));
|
|
243
|
+
this.hiddenColumns = new Set(this.columns.map(x => x.dataName??x.sortName));
|
|
244
244
|
for (const name of splitted) {
|
|
245
245
|
this.hiddenColumns.delete(name);
|
|
246
246
|
}
|
|
247
247
|
for (let i = splitted.length - 1; i > 0; i--) {
|
|
248
|
-
const column = this.columnsReordered.find(x => x.dataName == splitted[i - 1]);
|
|
249
|
-
const next = this.columnsReordered.find(x => x.dataName == splitted[i]);
|
|
248
|
+
const column = this.columnsReordered.find(x => (x.dataName??x.sortName) == splitted[i - 1]);
|
|
249
|
+
const next = this.columnsReordered.find(x => (x.dataName??x.sortName) == splitted[i]);
|
|
250
250
|
if (column) {
|
|
251
251
|
this.columnsReordered.splice(this.columnsReordered.indexOf(column), 1);
|
|
252
252
|
if (next)
|