@galadrim/galadmin 0.0.74 → 0.0.78
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/tsconfig.tsbuildinfo +1 -1
- package/dist/types/config.d.ts +3 -0
- package/package.json +1 -1
- package/src/front/build/asset-manifest.json +3 -3
- package/src/front/build/index.html +1 -1
- package/src/front/build/static/js/main.dcfa8eba.chunk.js +2 -0
- package/src/front/build/static/js/main.dcfa8eba.chunk.js.map +1 -0
- package/src/front/node_modules/.cache/.eslintcache +1 -1
- package/src/front/node_modules/.cache/babel-loader/88b26bbc9cf531475c494e9bc6aa1d43.json +1 -0
- package/src/front/node_modules/.cache/babel-loader/aa8b22e4a0727a957e357dffa4f4e310.json +1 -0
- package/src/front/node_modules/.cache/babel-loader/ea2c2ebc721648c438b40fb68ef65f04.json +1 -0
- package/src/front/node_modules/.cache/babel-loader/f4cb80e4316f8959fd9c2d589b91d8e5.json +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/04/36/44d9a15a091af35cefdab4826c5a5400e6d26fc819ed4cb47516dcfe1ea2b7a582ea3b3025b78095daabf7aa6997123e7078b81da14f7d3f24a2fd369463 +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/b4/70/5d5a681a15daa0f6bd282bf9588cec9426a194bf2f563282e6929c7e80137f0d3cfb3575c73a088055c2e87d7a449f34c1bff04125de36c20fc2d9cd3d2d +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/{7d/4a/f73f4ee84159809aa8ab73fc6eb14cf6b2df29433615f5fc66db39eaa8b7 → 0b/cd/2093db249c796a2c0240a6fa5ecd867338e2c6ee8f1590130373d205cc9e} +1 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/{85/32/ce21c9eaef2611fd4fb33689a361ba60bbae4c7f2eaf10a151709b9d4d08 → 52/1a/a70d5b65f7fc8d18db883c9b0a490d470f94b585e97a9989f8d764441b9f} +1 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/87/08/421190bfe6e50816e059da6c33526c9943732ef856ebd2752d0cbfb4a852 +1 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/93/40/1664ad7eaeaf568aa45393ab7f158f62d0407af4e89717f5a845397dd57f +1 -1
- package/src/front/node_modules/.package-lock.json +1 -1
- package/src/front/package-lock.json +1 -1
- package/src/front/src/components/panels/GalleryPanel.js +1 -1
- package/src/front/src/components/panels/TablePanel.js +1 -1
- package/src/front/src/pages/CreateRecord.js +1 -1
- package/src/front/src/pages/Records.js +1 -1
- package/src/types/config.ts +3 -0
- package/src/front/build/static/js/main.d0c40615.chunk.js +0 -2
- package/src/front/build/static/js/main.d0c40615.chunk.js.map +0 -1
- package/src/front/node_modules/.cache/babel-loader/1dcc78ab3af52e714586d619c8f1128f.json +0 -1
- package/src/front/node_modules/.cache/babel-loader/3fe8e136e2b1fd90b905cb6d33b5e699.json +0 -1
- package/src/front/node_modules/.cache/babel-loader/40f82d7c4495af82b6e682474a644bd6.json +0 -1
- package/src/front/node_modules/.cache/babel-loader/6d29194e9975f70d074bf162e23886ed.json +0 -1
- package/src/front/node_modules/.cache/babel-loader/7f01d0fdd2439a63a32759b5b6bac9dc.json +0 -1
- package/src/front/node_modules/.cache/babel-loader/8b2e3b7d832114bf8c399abc91f0bbc1.json +0 -1
- package/src/front/node_modules/.cache/babel-loader/97dd1359e23a17dccc8dff263bc8edba.json +0 -1
- package/src/front/node_modules/.cache/babel-loader/9d22770fb71fa58719881e4194d54dbf.json +0 -1
- package/src/front/node_modules/.cache/babel-loader/9e0702483ec7055257361ed86e1a9abb.json +0 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/76/89/e60c29e9d09fe2bfe4d64ee8814e0169d8a76a3fa08b32dee15d5ab454dfddd51c87de10c6b935c3b89ddd758a8b9105ba4ebd16a2e14cad9face454f5ce +0 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/82/fc/8df03373a80d4d89da5cdad8c280167829cff7b752ad71f51751f340f7fd0ae8ed0c60e608a41f7727e3e09de1ada900ebe5e213e4079167105c53293ed2 +0 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/9b/e3/9bf3e7b9b0100042d65d63130305494a8c49685e254d2405232da7938e1682459cbdf61b37be14e67b684e7b1f21499069eb0ba46a3c9c3717e216f1e04f +0 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/3b/6d/4bfed5b8d4522c713b88981d22cf3a01c8070de081205f08d72bde2b624d +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _toConsumableArray from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";import _slicedToArray from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";import{useState,useEffect,useContext}from\"react\";import axios from\"axios\";import{Link,useParams,useHistory}from\"react-router-dom\";import DownloadButton from\"../components/DownloadButton\";import AddFilterButton from\"../components/AddFilterButton\";import BulkActionsButton from\"../components/BulkActionsButton\";import getFormattedValue from\"../utils/getFormattedValue\";import{ConfigContext}from'../contexts/ConfigContext';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";export default(function(){var _view$columns,_data$records;var _useParams=useParams(),viewIndex=_useParams.viewIndex,subviewIndex=_useParams.subviewIndex;var history=useHistory();var _useState=useState(1),_useState2=_slicedToArray(_useState,2),page=_useState2[0],setPage=_useState2[1];var _useState3=useState([]),_useState4=_slicedToArray(_useState3,2),currentFilters=_useState4[0],setCurrentFilters=_useState4[1];var _useState5=useState(null),_useState6=_slicedToArray(_useState5,2),orderBy=_useState6[0],setOrderBy=_useState6[1];var _useState7=useState(null),_useState8=_slicedToArray(_useState7,2),isDesc=_useState8[0],setIsDesc=_useState8[1];var _useState9=useState(null),_useState10=_slicedToArray(_useState9,2),query=_useState10[0],setQuery=_useState10[1];var _useState11=useState([]),_useState12=_slicedToArray(_useState11,2),selectedRecordIds=_useState12[0],setSelectedRecordIds=_useState12[1];var _useState13=useState(null),_useState14=_slicedToArray(_useState13,2),data=_useState14[0],setData=_useState14[1];var config=useContext(ConfigContext);var view=config.views[viewIndex];var filteredColumns=(_view$columns=view.columns)===null||_view$columns===void 0?void 0:_view$columns.filter(function(x){return!x.hideInTable&&!x.hidden;});useEffect(function(){setPage(1);setQuery(null);setOrderBy(null);setIsDesc(null);if(selectedRecordIds.length>0){setSelectedRecordIds([]);}if(currentFilters.length>0){setCurrentFilters([]);}},[viewIndex]);useEffect(function(){refreshData();},[viewIndex,subviewIndex,page,query,currentFilters,orderBy,isDesc]);function refreshData(){setData(null);axios.post(\"/records\",{viewIndex:viewIndex,subviewIndex:subviewIndex,page:page,filters:currentFilters.map(function(x){return x.query;}),orderBy:orderBy,isDesc:isDesc,query:query}).then(function(response){setData(response.data);});}return/*#__PURE__*/_jsxs(\"div\",{class:\"view\",children:[/*#__PURE__*/_jsxs(\"div\",{class:\"scrollable\",children:[/*#__PURE__*/_jsxs(\"div\",{class:\"viewHeader\",children:[/*#__PURE__*/_jsx(\"div\",{class:\"viewTitle\",children:view.label}),/*#__PURE__*/_jsxs(\"div\",{class:\"viewHeaderActions\",children:[/*#__PURE__*/_jsxs(\"div\",{class:\"searchBarContainer\",children:[/*#__PURE__*/_jsx(\"input\",{type:\"text\",placeholder:\"Rechercher\",class:\"searchBar\",onChange:function onChange(e){return setQuery(e.target.value);}}),/*#__PURE__*/_jsx(\"div\",{class:\"searchBarIcon\",children:/*#__PURE__*/_jsx(\"i\",{class:\"fa fa-search\"})})]}),/*#__PURE__*/_jsx(BulkActionsButton,{viewIndex:viewIndex,selectedRecordIds:selectedRecordIds,refreshData:refreshData}),/*#__PURE__*/_jsx(AddFilterButton,{view:view,refreshData:refreshData,onAddFilter:function onAddFilter(filter){return setCurrentFilters([].concat(_toConsumableArray(currentFilters),[filter]));}}),/*#__PURE__*/_jsx(DownloadButton,{view:view,viewIndex:viewIndex,subviewIndex:subviewIndex,currentFilters:currentFilters,orderBy:orderBy,isDesc:isDesc,query:query}),view.canCreate?/*#__PURE__*/_jsx(Link,{to:\"/createRecord/\".concat(viewIndex),children:/*#__PURE__*/_jsx(\"div\",{class:\"plusButton\",children:/*#__PURE__*/_jsx(\"i\",{class:\"fa fa-plus\"})})}):null]})]}),currentFilters.length>0?/*#__PURE__*/_jsx(\"div\",{class:\"filtersContainer\",children:currentFilters.map(function(filter,index){return/*#__PURE__*/_jsxs(\"div\",{class:\"filterItem\",children:[/*#__PURE__*/_jsx(\"div\",{class:\"filterItemLabel\",children:filter.label}),/*#__PURE__*/_jsx(\"div\",{class:\"filterRemove\",onClick:function onClick(){setCurrentFilters(currentFilters.filter(function(x){return x.query!==filter.query;}));},children:/*#__PURE__*/_jsx(\"i\",{class:\"fa fa-times\"})})]},index);})}):null,/*#__PURE__*/_jsxs(\"table\",{class:\"table\",children:[/*#__PURE__*/_jsx(\"thead\",{children:/*#__PURE__*/_jsxs(\"tr\",{children:[config.hideMultiselect?null:/*#__PURE__*/_jsx(\"th\",{}),filteredColumns.map(function(column,index){var sortName=column.dataType===\"foreign\"||column.dataType===\"datalist\"?column.formattedValue:column.sortName||column.name;return/*#__PURE__*/_jsxs(\"th\",{class:sortName?\"sortable\":\"\",onClick:function onClick(){if(sortName){setOrderBy(sortName);setIsDesc(orderBy===sortName?!isDesc:false);}},children:[column.label,sortName?/*#__PURE__*/_jsx(\"div\",{class:\"columnSortIcon\",children:/*#__PURE__*/_jsx(\"i\",{class:\"fas fa-sort\".concat(isDesc===true&&sortName===orderBy?\"-down\":isDesc===false&&sortName===orderBy?\"-up\":\"\")})}):null]},index);})]})}),/*#__PURE__*/_jsxs(\"tbody\",{children:[!data?Array.from({length:10}).map(function(_,index){return/*#__PURE__*/_jsx(\"tr\",{class:\"record\",children:Array.from({length:filteredColumns.length+(config.hideMultiselect?0:1)}).map(function(_,cellIndex){return/*#__PURE__*/_jsx(\"td\",{children:\" \"},cellIndex);})},index);}):null,data===null||data===void 0?void 0:(_data$records=data.records)===null||_data$records===void 0?void 0:_data$records.map(function(record){var recordId=record[view.primaryId];return/*#__PURE__*/_jsxs(\"tr\",{class:\"record \".concat(view.notClickable?\"nonClickableRow\":\"\"),onClick:function onClick(event){if(event.target.tagName==\"A\"){event.stopPropagation();return;}if(!view.notClickable){history.push(\"/record/\".concat(viewIndex,\"/\").concat(recordId));}},children:[config.hideMultiselect?null:/*#__PURE__*/_jsx(\"td\",{class:\"checkboxParent\",onClick:function onClick(e){setSelectedRecordIds(selectedRecordIds.includes(recordId)?selectedRecordIds.filter(function(x){return x!==recordId;}):[].concat(_toConsumableArray(selectedRecordIds),[recordId]));e.stopPropagation();},children:/*#__PURE__*/_jsx(\"div\",{class:\"checkbox \".concat(selectedRecordIds.includes(recordId)?\"checked\":\"\")})}),filteredColumns.map(function(column,index){return/*#__PURE__*/_jsx(\"td\",{children:getFormattedValue(column,record,true)},index);})]},recordId);})]})]})]}),/*#__PURE__*/_jsxs(\"div\",{class:\"tableFooter\",children:[/*#__PURE__*/_jsxs(\"div\",{class:\"tableCounter\",children:[(data===null||data===void 0?void 0:data.count)||\"-\",\" \",view.label]}),/*#__PURE__*/_jsxs(\"div\",{class:\"paginator\",children:[/*#__PURE__*/_jsx(\"div\",{class:\"paginatorLeft\",onClick:function onClick(){return setPage(Math.max(1,page-1));},children:/*#__PURE__*/_jsx(\"i\",{class:\"fas fa-caret-left\"})}),/*#__PURE__*/_jsxs(\"div\",{class:\"paginatorNumber\",children:[page,\" / \",data&&data.count?Math.ceil(data.count/(view.limit||10)):\"-\"]}),/*#__PURE__*/_jsx(\"div\",{class:\"paginatorRight\",onClick:function onClick(){return setPage(Math.min(page+1,Math.ceil(data.count/(view.limit||10))));},children:/*#__PURE__*/_jsx(\"i\",{class:\"fas fa-caret-right\"})})]})]})]});});","map":{"version":3,"sources":["/home/runner/work/galadmin/galadmin/src/front/src/pages/Records.js"],"names":["useState","useEffect","useContext","axios","Link","useParams","useHistory","DownloadButton","AddFilterButton","BulkActionsButton","getFormattedValue","ConfigContext","viewIndex","subviewIndex","history","page","setPage","currentFilters","setCurrentFilters","orderBy","setOrderBy","isDesc","setIsDesc","query","setQuery","selectedRecordIds","setSelectedRecordIds","data","setData","config","view","views","filteredColumns","columns","filter","x","hideInTable","hidden","length","refreshData","post","filters","map","then","response","label","e","target","value","canCreate","index","hideMultiselect","column","sortName","dataType","formattedValue","name","Array","from","_","cellIndex","records","record","recordId","primaryId","notClickable","event","tagName","stopPropagation","push","includes","count","Math","max","ceil","limit","min"],"mappings":"gVAAA,OAASA,QAAT,CAAmBC,SAAnB,CAA8BC,UAA9B,KAAgD,OAAhD,CACA,MAAOC,CAAAA,KAAP,KAAkB,OAAlB,CACA,OACIC,IADJ,CAEIC,SAFJ,CAGIC,UAHJ,KAIO,kBAJP,CAKA,MAAOC,CAAAA,cAAP,KAA2B,8BAA3B,CACA,MAAOC,CAAAA,eAAP,KAA4B,+BAA5B,CACA,MAAOC,CAAAA,iBAAP,KAA8B,iCAA9B,CACA,MAAOC,CAAAA,iBAAP,KAA8B,4BAA9B,CACA,OAASC,aAAT,KAA8B,2BAA9B,C,wFAEA,eAAe,UAAM,iCACjB,eAAoCN,SAAS,EAA7C,CAAQO,SAAR,YAAQA,SAAR,CAAmBC,YAAnB,YAAmBA,YAAnB,CACA,GAAMC,CAAAA,OAAO,CAAGR,UAAU,EAA1B,CACA,cAAwBN,QAAQ,CAAC,CAAD,CAAhC,wCAAOe,IAAP,eAAaC,OAAb,eACA,eAA4ChB,QAAQ,CAAC,EAAD,CAApD,yCAAOiB,cAAP,eAAuBC,iBAAvB,eACA,eAA8BlB,QAAQ,CAAC,IAAD,CAAtC,yCAAOmB,OAAP,eAAgBC,UAAhB,eACA,eAA4BpB,QAAQ,CAAC,IAAD,CAApC,yCAAOqB,MAAP,eAAeC,SAAf,eACA,eAA0BtB,QAAQ,CAAC,IAAD,CAAlC,0CAAOuB,KAAP,gBAAcC,QAAd,gBACA,gBAAkDxB,QAAQ,CAAC,EAAD,CAA1D,2CAAOyB,iBAAP,gBAA0BC,oBAA1B,gBACA,gBAAwB1B,QAAQ,CAAC,IAAD,CAAhC,2CAAO2B,IAAP,gBAAaC,OAAb,gBACA,GAAMC,CAAAA,MAAM,CAAG3B,UAAU,CAACS,aAAD,CAAzB,CACA,GAAMmB,CAAAA,IAAI,CAAGD,MAAM,CAACE,KAAP,CAAanB,SAAb,CAAb,CAEA,GAAMoB,CAAAA,eAAe,gBAAGF,IAAI,CAACG,OAAR,wCAAG,cAAcC,MAAd,CAAqB,SAAAC,CAAC,QAAI,CAACA,CAAC,CAACC,WAAH,EAAkB,CAACD,CAAC,CAACE,MAAzB,EAAtB,CAAxB,CAEApC,SAAS,CAAC,UAAM,CACZe,OAAO,CAAC,CAAD,CAAP,CACAQ,QAAQ,CAAC,IAAD,CAAR,CACAJ,UAAU,CAAC,IAAD,CAAV,CACAE,SAAS,CAAC,IAAD,CAAT,CACA,GAAIG,iBAAiB,CAACa,MAAlB,CAA2B,CAA/B,CAAkC,CAC9BZ,oBAAoB,CAAC,EAAD,CAApB,CACH,CACD,GAAIT,cAAc,CAACqB,MAAf,CAAwB,CAA5B,CAA+B,CAC3BpB,iBAAiB,CAAC,EAAD,CAAjB,CACH,CACJ,CAXQ,CAWN,CAACN,SAAD,CAXM,CAAT,CAcAX,SAAS,CAAC,UAAM,CACZsC,WAAW,GACd,CAFQ,CAEN,CAAC3B,SAAD,CAAYC,YAAZ,CAA0BE,IAA1B,CAAgCQ,KAAhC,CAAuCN,cAAvC,CAAuDE,OAAvD,CAAgEE,MAAhE,CAFM,CAAT,CAIA,QAASkB,CAAAA,WAAT,EAAuB,CACnBX,OAAO,CAAC,IAAD,CAAP,CACAzB,KAAK,CAACqC,IAAN,CAAW,UAAX,CAAuB,CACnB5B,SAAS,CAATA,SADmB,CAEnBC,YAAY,CAAZA,YAFmB,CAGnBE,IAAI,CAAJA,IAHmB,CAInB0B,OAAO,CAAExB,cAAc,CAACyB,GAAf,CAAmB,SAAUP,CAAV,CAAa,CACrC,MAAOA,CAAAA,CAAC,CAACZ,KAAT,CACH,CAFQ,CAJU,CAOnBJ,OAAO,CAAPA,OAPmB,CAQnBE,MAAM,CAANA,MARmB,CASnBE,KAAK,CAALA,KATmB,CAAvB,EAUGoB,IAVH,CAUQ,SAACC,QAAD,CAAc,CAClBhB,OAAO,CAACgB,QAAQ,CAACjB,IAAV,CAAP,CACH,CAZD,EAaH,CAED,mBACI,aAAK,KAAK,CAAC,MAAX,wBACI,aAAK,KAAK,CAAC,YAAX,wBACI,aAAK,KAAK,CAAC,YAAX,wBACI,YAAK,KAAK,CAAC,WAAX,UAAwBG,IAAI,CAACe,KAA7B,EADJ,cAEI,aAAK,KAAK,CAAC,mBAAX,wBACI,aAAK,KAAK,CAAC,oBAAX,wBACI,cAAO,IAAI,CAAC,MAAZ,CAAmB,WAAW,CAAC,YAA/B,CAA4C,KAAK,CAAC,WAAlD,CAA8D,QAAQ,CAAE,kBAACC,CAAD,QAAOtB,CAAAA,QAAQ,CAACsB,CAAC,CAACC,MAAF,CAASC,KAAV,CAAf,EAAxE,EADJ,cAEI,YAAK,KAAK,CAAC,eAAX,uBACI,UAAG,KAAK,CAAC,cAAT,EADJ,EAFJ,GADJ,cAOI,KAAC,iBAAD,EACI,SAAS,CAAEpC,SADf,CAEI,iBAAiB,CAAEa,iBAFvB,CAGI,WAAW,CAAEc,WAHjB,EAPJ,cAYI,KAAC,eAAD,EACI,IAAI,CAAET,IADV,CAEI,WAAW,CAAES,WAFjB,CAGI,WAAW,CAAE,qBAACL,MAAD,QAAYhB,CAAAA,iBAAiB,8BAAKD,cAAL,GAAqBiB,MAArB,GAA7B,EAHjB,EAZJ,cAiBI,KAAC,cAAD,EACI,IAAI,CAAEJ,IADV,CAEI,SAAS,CAAElB,SAFf,CAGI,YAAY,CAAEC,YAHlB,CAII,cAAc,CAAEI,cAJpB,CAKI,OAAO,CAAEE,OALb,CAMI,MAAM,CAAEE,MANZ,CAOI,KAAK,CAAEE,KAPX,EAjBJ,CA0BKO,IAAI,CAACmB,SAAL,cACG,KAAC,IAAD,EAAM,EAAE,yBAAmBrC,SAAnB,CAAR,uBACI,YAAK,KAAK,CAAC,YAAX,uBAAwB,UAAG,KAAK,CAAC,YAAT,EAAxB,EADJ,EADH,CAIG,IA9BR,GAFJ,GADJ,CAoCKK,cAAc,CAACqB,MAAf,CAAwB,CAAxB,cACG,YAAK,KAAK,CAAC,kBAAX,UACKrB,cAAc,CAACyB,GAAf,CAAmB,SAACR,MAAD,CAASgB,KAAT,qBAChB,aAAK,KAAK,CAAC,YAAX,wBACI,YAAK,KAAK,CAAC,iBAAX,UAA8BhB,MAAM,CAACW,KAArC,EADJ,cAEI,YAAK,KAAK,CAAC,cAAX,CAA0B,OAAO,CAAE,kBAAM,CACrC3B,iBAAiB,CAACD,cAAc,CAACiB,MAAf,CAAsB,SAAAC,CAAC,QAAIA,CAAAA,CAAC,CAACZ,KAAF,GAAYW,MAAM,CAACX,KAAvB,EAAvB,CAAD,CAAjB,CACH,CAFD,uBAEG,UAAG,KAAK,CAAC,aAAT,EAFH,EAFJ,GAA6B2B,KAA7B,CADgB,EAAnB,CADL,EADH,CAWG,IA/CR,cAgDI,eAAO,KAAK,CAAC,OAAb,wBACI,oCACI,sBACKrB,MAAM,CAACsB,eAAP,CAAyB,IAAzB,cAAgC,aADrC,CAEKnB,eAAe,CAACU,GAAhB,CAAoB,SAACU,MAAD,CAASF,KAAT,CAAmB,CACpC,GAAMG,CAAAA,QAAQ,CAAGD,MAAM,CAACE,QAAP,GAAoB,SAApB,EAAiCF,MAAM,CAACE,QAAP,GAAoB,UAArD,CAAkEF,MAAM,CAACG,cAAzE,CAA0FH,MAAM,CAACC,QAAP,EAAmBD,MAAM,CAACI,IAArI,CACA,mBACI,YACI,KAAK,CAAEH,QAAQ,CAAG,UAAH,CAAgB,EADnC,CAGI,OAAO,CAAE,kBAAM,CACX,GAAIA,QAAJ,CAAc,CACVjC,UAAU,CAACiC,QAAD,CAAV,CACA/B,SAAS,CAACH,OAAO,GAAKkC,QAAZ,CAAuB,CAAChC,MAAxB,CAAiC,KAAlC,CAAT,CACH,CACJ,CARL,WAUK+B,MAAM,CAACP,KAVZ,CAWKQ,QAAQ,cACL,YAAK,KAAK,CAAC,gBAAX,uBACI,UAAG,KAAK,sBAAgBhC,MAAM,GAAK,IAAX,EAAmBgC,QAAQ,GAAKlC,OAAhC,CAA0C,OAA1C,CAAqDE,MAAM,GAAK,KAAX,EAAoBgC,QAAQ,GAAKlC,OAAjC,CAA2C,KAA3C,CAAmD,EAAxH,CAAR,EADJ,EADK,CAIL,IAfR,GAES+B,KAFT,CADJ,CAmBH,CArBA,CAFL,GADJ,EADJ,cA6BI,yBACK,CAACvB,IAAD,CAAQ8B,KAAK,CAACC,IAAN,CAAW,CAAEpB,MAAM,CAAE,EAAV,CAAX,EAA2BI,GAA3B,CAA+B,SAACiB,CAAD,CAAIT,KAAJ,qBACpC,WAAI,KAAK,CAAC,QAAV,UACIO,KAAK,CAACC,IAAN,CAAW,CACPpB,MAAM,CAAEN,eAAe,CAACM,MAAhB,EAA0BT,MAAM,CAACsB,eAAP,CAAyB,CAAzB,CAA6B,CAAvD,CADD,CAAX,EAEGT,GAFH,CAEO,SAACiB,CAAD,CAAIC,SAAJ,qBACH,yBAASA,SAAT,CADG,EAFP,CADJ,EAAwBV,KAAxB,CADoC,EAA/B,CAAR,CAQI,IATT,CAUKvB,IAVL,SAUKA,IAVL,gCAUKA,IAAI,CAAEkC,OAVX,wCAUK,cAAenB,GAAf,CAAmB,SAACoB,MAAD,CAAY,CAC5B,GAAMC,CAAAA,QAAQ,CAAGD,MAAM,CAAChC,IAAI,CAACkC,SAAN,CAAvB,CACA,mBACI,YACI,KAAK,kBAAYlC,IAAI,CAACmC,YAAL,CAAoB,iBAApB,CAAwC,EAApD,CADT,CAEI,OAAO,CAAE,iBAACC,KAAD,CAAW,CAChB,GAAIA,KAAK,CAACnB,MAAN,CAAaoB,OAAb,EAAwB,GAA5B,CAAiC,CAC7BD,KAAK,CAACE,eAAN,GACA,OACH,CACD,GAAI,CAACtC,IAAI,CAACmC,YAAV,CAAwB,CACpBnD,OAAO,CAACuD,IAAR,mBAAwBzD,SAAxB,aAAqCmD,QAArC,GACH,CACJ,CAVL,WAaKlC,MAAM,CAACsB,eAAP,CAAyB,IAAzB,cAAgC,WAAI,KAAK,CAAC,gBAAV,CAA2B,OAAO,CAAE,iBAACL,CAAD,CAAO,CACxEpB,oBAAoB,CAACD,iBAAiB,CAAC6C,QAAlB,CAA2BP,QAA3B,EAAuCtC,iBAAiB,CAACS,MAAlB,CAAyB,SAAAC,CAAC,QAAIA,CAAAA,CAAC,GAAK4B,QAAV,EAA1B,CAAvC,8BAA2FtC,iBAA3F,GAA8GsC,QAA9G,EAAD,CAApB,CACAjB,CAAC,CAACsB,eAAF,GACH,CAHgC,uBAG9B,YAAK,KAAK,oBAAc3C,iBAAiB,CAAC6C,QAAlB,CAA2BP,QAA3B,EAAuC,SAAvC,CAAmD,EAAjE,CAAV,EAH8B,EAbrC,CAiBK/B,eAAe,CAACU,GAAhB,CAAoB,SAACU,MAAD,CAASF,KAAT,qBACjB,oBAAiBxC,iBAAiB,CAAC0C,MAAD,CAASU,MAAT,CAAiB,IAAjB,CAAlC,EAASZ,KAAT,CADiB,EAApB,CAjBL,GAWSa,QAXT,CADJ,CAuBH,CAzBA,CAVL,GA7BJ,GAhDJ,GADJ,cAsHI,aAAK,KAAK,CAAC,aAAX,wBACI,aAAK,KAAK,CAAC,cAAX,WAA2B,CAAApC,IAAI,OAAJ,EAAAA,IAAI,SAAJ,QAAAA,IAAI,CAAE4C,KAAN,GAAe,GAA1C,KAAgDzC,IAAI,CAACe,KAArD,GADJ,cAEI,aAAK,KAAK,CAAC,WAAX,wBACI,YAAK,KAAK,CAAC,eAAX,CAA2B,OAAO,CAAE,yBAAM7B,CAAAA,OAAO,CAACwD,IAAI,CAACC,GAAL,CAAS,CAAT,CAAY1D,IAAI,CAAG,CAAnB,CAAD,CAAb,EAApC,uBAA0E,UAAG,KAAK,CAAC,mBAAT,EAA1E,EADJ,cAEI,aAAK,KAAK,CAAC,iBAAX,WAA8BA,IAA9B,OAAuCY,IAAI,EAAIA,IAAI,CAAC4C,KAAb,CAAqBC,IAAI,CAACE,IAAL,CAAU/C,IAAI,CAAC4C,KAAL,EAAczC,IAAI,CAAC6C,KAAL,EAAc,EAA5B,CAAV,CAArB,CAAkE,GAAzG,GAFJ,cAGI,YAAK,KAAK,CAAC,gBAAX,CAA4B,OAAO,CAAE,yBAAM3D,CAAAA,OAAO,CAACwD,IAAI,CAACI,GAAL,CAAS7D,IAAI,CAAG,CAAhB,CAAmByD,IAAI,CAACE,IAAL,CAAU/C,IAAI,CAAC4C,KAAL,EAAczC,IAAI,CAAC6C,KAAL,EAAc,EAA5B,CAAV,CAAnB,CAAD,CAAb,EAArC,uBAAoH,UAAG,KAAK,CAAC,oBAAT,EAApH,EAHJ,GAFJ,GAtHJ,GADJ,CAiIH,CAnLD","sourcesContent":["import { useState, useEffect, useContext } from \"react\"\nimport axios from \"axios\";\nimport {\n Link,\n useParams,\n useHistory\n} from \"react-router-dom\";\nimport DownloadButton from \"../components/DownloadButton\"\nimport AddFilterButton from \"../components/AddFilterButton\"\nimport BulkActionsButton from \"../components/BulkActionsButton\"\nimport getFormattedValue from \"../utils/getFormattedValue\"\nimport { ConfigContext } from '../contexts/ConfigContext'\n\nexport default () => {\n const { viewIndex, subviewIndex } = useParams();\n const history = useHistory();\n const [page, setPage] = useState(1)\n const [currentFilters, setCurrentFilters] = useState([])\n const [orderBy, setOrderBy] = useState(null);\n const [isDesc, setIsDesc] = useState(null);\n const [query, setQuery] = useState(null);\n const [selectedRecordIds, setSelectedRecordIds] = useState([])\n const [data, setData] = useState(null)\n const config = useContext(ConfigContext);\n const view = config.views[viewIndex]\n\n const filteredColumns = view.columns?.filter(x => !x.hideInTable && !x.hidden)\n\n useEffect(() => {\n setPage(1)\n setQuery(null)\n setOrderBy(null)\n setIsDesc(null)\n if (selectedRecordIds.length > 0) {\n setSelectedRecordIds([])\n }\n if (currentFilters.length > 0) {\n setCurrentFilters([])\n }\n }, [viewIndex])\n\n\n useEffect(() => {\n refreshData()\n }, [viewIndex, subviewIndex, page, query, currentFilters, orderBy, isDesc])\n\n function refreshData() {\n setData(null)\n axios.post(\"/records\", {\n viewIndex,\n subviewIndex,\n page,\n filters: currentFilters.map(function (x) {\n return x.query\n }),\n orderBy,\n isDesc,\n query\n }).then((response) => {\n setData(response.data)\n })\n }\n\n return (\n <div class=\"view\">\n <div class=\"scrollable\">\n <div class=\"viewHeader\">\n <div class=\"viewTitle\">{view.label}</div>\n <div class=\"viewHeaderActions\">\n <div class=\"searchBarContainer\">\n <input type=\"text\" placeholder=\"Rechercher\" class=\"searchBar\" onChange={(e) => setQuery(e.target.value)} />\n <div class=\"searchBarIcon\">\n <i class=\"fa fa-search\"></i>\n </div>\n </div>\n <BulkActionsButton\n viewIndex={viewIndex}\n selectedRecordIds={selectedRecordIds}\n refreshData={refreshData}\n />\n <AddFilterButton\n view={view}\n refreshData={refreshData}\n onAddFilter={(filter) => setCurrentFilters([...currentFilters, filter])}\n />\n <DownloadButton\n view={view}\n viewIndex={viewIndex}\n subviewIndex={subviewIndex}\n currentFilters={currentFilters}\n orderBy={orderBy}\n isDesc={isDesc}\n query={query}\n />\n {view.canCreate ? (\n <Link to={`/createRecord/${viewIndex}`}>\n <div class=\"plusButton\"><i class=\"fa fa-plus\"></i></div>\n </Link>\n ) : null}\n </div>\n </div>\n {currentFilters.length > 0 ? (\n <div class=\"filtersContainer\">\n {currentFilters.map((filter, index) => (\n <div class='filterItem' key={index}>\n <div class='filterItemLabel'>{filter.label}</div>\n <div class=\"filterRemove\" onClick={() => {\n setCurrentFilters(currentFilters.filter(x => x.query !== filter.query))\n }}><i class='fa fa-times'></i></div>\n </div>\n ))}\n </div>\n ) : null}\n <table class=\"table\">\n <thead>\n <tr>\n {config.hideMultiselect ? null : <th></th>}\n {filteredColumns.map((column, index) => {\n const sortName = column.dataType === \"foreign\" || column.dataType === \"datalist\" ? column.formattedValue : column.sortName || column.name\n return (\n <th\n class={sortName ? \"sortable\" : \"\"}\n key={index}\n onClick={() => {\n if (sortName) {\n setOrderBy(sortName)\n setIsDesc(orderBy === sortName ? !isDesc : false)\n }\n }}\n >\n {column.label}\n {sortName ? (\n <div class='columnSortIcon'>\n <i class={`fas fa-sort${isDesc === true && sortName === orderBy ? \"-down\" : (isDesc === false && sortName === orderBy ? \"-up\" : \"\")}`}></i>\n </div>\n ) : null}\n </th>\n )\n })}\n\n </tr>\n </thead>\n <tbody>\n {!data ? Array.from({ length: 10 }).map((_, index) => (\n <tr class='record' key={index}>{\n Array.from({\n length: filteredColumns.length + (config.hideMultiselect ? 0 : 1)\n }).map((_, cellIndex) => (\n <td key={cellIndex}> </td>\n ))\n }</tr>\n )) : null}\n {data?.records?.map((record) => {\n const recordId = record[view.primaryId]\n return (\n <tr\n class={`record ${view.notClickable ? \"nonClickableRow\" : \"\"}`}\n onClick={(event) => {\n if (event.target.tagName == \"A\") {\n event.stopPropagation();\n return;\n }\n if (!view.notClickable) {\n history.push(`/record/${viewIndex}/${recordId}`)\n }\n }}\n key={recordId}\n >\n {config.hideMultiselect ? null : <td class='checkboxParent' onClick={(e) => {\n setSelectedRecordIds(selectedRecordIds.includes(recordId) ? selectedRecordIds.filter(x => x !== recordId) : [...selectedRecordIds, recordId])\n e.stopPropagation()\n }}><div class={`checkbox ${selectedRecordIds.includes(recordId) ? \"checked\" : \"\"}`}></div></td>}\n {filteredColumns.map((column, index) => (\n <td key={index}>{getFormattedValue(column, record, true)}</td>\n ))}\n </tr>\n )\n })}\n </tbody>\n\n </table>\n </div>\n <div class=\"tableFooter\">\n <div class=\"tableCounter\">{data?.count || \"-\"} {view.label}</div>\n <div class=\"paginator\">\n <div class=\"paginatorLeft\" onClick={() => setPage(Math.max(1, page - 1))}><i class=\"fas fa-caret-left\"></i></div>\n <div class=\"paginatorNumber\">{page} / {data && data.count ? Math.ceil(data.count / (view.limit || 10)) : \"-\"}</div>\n <div class=\"paginatorRight\" onClick={() => setPage(Math.min(page + 1, Math.ceil(data.count / (view.limit || 10))))}><i class=\"fas fa-caret-right\"></i></div>\n </div>\n </div>\n </div>\n )\n}"]},"metadata":{},"sourceType":"module"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _objectSpread from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2\";import _regeneratorRuntime from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";import _asyncToGenerator from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";import _slicedToArray from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";import _createForOfIteratorHelper from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper\";import{useContext,useRef,useState}from\"react\";import{useParams,useHistory}from\"react-router-dom\";import axios from\"axios\";import Input from\"../components/Input\";import LabelTooltip from\"../components/LabelTooltip\";import{ConfigContext}from'../contexts/ConfigContext';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";export default(function(){var config=useContext(ConfigContext);var _useParams=useParams(),viewIndex=_useParams.viewIndex,panelIndex=_useParams.panelIndex,recordId=_useParams.recordId;var history=useHistory();var view=config.views[viewIndex];var panel=panelIndex?view.recordViewPanels[panelIndex]:null;var filteredColumns=panel?panel.createConfig.columns:view.columns.filter(function(column){return column.dataType&&(column.canEditOnCreation===true||column.canEdit!==false)&&!column.hidden;});var initialData={};var _iterator=_createForOfIteratorHelper(filteredColumns),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var column=_step.value;if(column.dataType===\"tinyint\"){initialData[column.name]=column.optional?\"NULL\":\"0\";}else if(column.dataType===\"select\"&&Array.isArray(column.options)){initialData[column.name]=column.options[0];}else if(column.dataType===\"select\"){initialData[column.name]=Object.keys(column.options)[0];}if(column.defaultValue){initialData[column.name]=column.defaultValue;}}}catch(err){_iterator.e(err);}finally{_iterator.f();}var data=useRef(initialData);var _useState=useState(false),_useState2=_slicedToArray(_useState,2),isCreating=_useState2[0],setIsCreating=_useState2[1];var createRecord=/*#__PURE__*/function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(){var key,_view$createConfig,response;return _regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:for(key in view.createFilters){data.current[key]=view.createFilters[key];}setIsCreating(true);_context.prev=2;_context.next=5;return axios.post(\"/createRecord\",{viewIndex:viewIndex,panelIndex:panelIndex,recordId:recordId,data:data.current});case 5:response=_context.sent;setIsCreating(false);if(recordId){// Create from panel view\nhistory.push(\"/record/\".concat(viewIndex,\"/\").concat(recordId));}else if(view===null||view===void 0?void 0:(_view$createConfig=view.createConfig)===null||_view$createConfig===void 0?void 0:_view$createConfig.redirectToCreatedItems){history.push(\"/record/\".concat(viewIndex,\"/\").concat(response.data.id));}else{history.push(\"/records/\".concat(viewIndex));}_context.next=14;break;case 10:_context.prev=10;_context.t0=_context[\"catch\"](2);if(_context.t0.response.responseText){window.swal({title:\"Erreur\",text:_context.t0.response.responseText,dangerMode:true});}setIsCreating(false);case 14:case\"end\":return _context.stop();}}},_callee,null,[[2,10]]);}));return function createRecord(){return _ref.apply(this,arguments);};}();return/*#__PURE__*/_jsxs(\"div\",{class:\"view\",children:[/*#__PURE__*/_jsx(\"div\",{class:\"viewHeader\",children:/*#__PURE__*/_jsx(\"div\",{class:\"viewTitle\",children:panel?panel.createConfig.label:\"Cr\\xE9er \".concat(view.aNewSingular)})}),/*#__PURE__*/_jsxs(\"div\",{class:\"paddedView\",children:[/*#__PURE__*/_jsx(\"div\",{class:\"form\",children:filteredColumns.map(function(column,index){return/*#__PURE__*/_jsxs(\"div\",{class:\"formElement\",children:[/*#__PURE__*/_jsxs(\"div\",{class:\"formLabel\",children:[column.label,column.labelTooltip?/*#__PURE__*/_jsx(LabelTooltip,{text:column.labelTooltip}):null]}),/*#__PURE__*/_jsx(\"div\",{class:\"formInput\",children:/*#__PURE__*/_jsx(Input,{column:column,onChange:function onChange(newValues){data.current=_objectSpread(_objectSpread({},data.current),newValues);}})})]},index);})}),/*#__PURE__*/_jsx(\"div\",{class:\"button greenButton \".concat(isCreating?\"loading\":\"\"),onClick:createRecord,children:isCreating?\"Sauvegarde en cours...\":\"Créer\"}),/*#__PURE__*/_jsx(\"div\",{class:\"button\",onClick:function onClick(){return history.goBack();},children:\"Annuler\"})]})]});});","map":{"version":3,"sources":["/home/runner/work/galadmin/galadmin/src/front/src/pages/CreateRecord.js"],"names":["useContext","useRef","useState","useParams","useHistory","axios","Input","LabelTooltip","ConfigContext","config","viewIndex","panelIndex","recordId","history","view","views","panel","recordViewPanels","filteredColumns","createConfig","columns","filter","column","dataType","canEditOnCreation","canEdit","hidden","initialData","name","optional","Array","isArray","options","Object","keys","defaultValue","data","isCreating","setIsCreating","createRecord","key","createFilters","current","post","response","push","redirectToCreatedItems","id","responseText","window","swal","title","text","dangerMode","label","aNewSingular","map","index","labelTooltip","newValues","goBack"],"mappings":"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","sourcesContent":["import { useContext, useRef, useState } from \"react\";\nimport {\n useParams,\n useHistory\n} from \"react-router-dom\";\nimport axios from \"axios\";\nimport Input from \"../components/Input\"\nimport LabelTooltip from \"../components/LabelTooltip\"\nimport { ConfigContext } from '../contexts/ConfigContext'\n\nexport default () => {\n const config = useContext(ConfigContext)\n const { viewIndex, panelIndex, recordId } = useParams();\n const history = useHistory();\n const view = config.views[viewIndex];\n const panel = panelIndex ? view.recordViewPanels[panelIndex] : null;\n const filteredColumns = panel ? panel.createConfig.columns : view.columns.filter(\n column => column.dataType &&\n (column.canEditOnCreation === true || column.canEdit !== false)\n && !column.hidden\n )\n\n const initialData = {}\n for (const column of filteredColumns) {\n if (column.dataType === \"tinyint\") {\n initialData[column.name] = column.optional ? \"NULL\" : \"0\"\n } else if (column.dataType === \"select\" && Array.isArray(column.options)) {\n initialData[column.name] = column.options[0]\n } else if (column.dataType === \"select\") {\n initialData[column.name] = Object.keys(column.options)[0]\n }\n if (column.defaultValue) {\n initialData[column.name] = column.defaultValue\n }\n }\n const data = useRef(initialData)\n const [isCreating, setIsCreating] = useState(false)\n\n const createRecord = async () => {\n for (const key in view.createFilters) {\n data.current[key] = view.createFilters[key]\n }\n setIsCreating(true)\n try {\n const response = await axios.post(\"/createRecord\", {\n viewIndex,\n panelIndex,\n recordId,\n data: data.current\n })\n setIsCreating(false)\n if (recordId) { // Create from panel view\n history.push(`/record/${viewIndex}/${recordId}`)\n } else if (view?.createConfig?.redirectToCreatedItems) {\n history.push(`/record/${viewIndex}/${response.data.id}`)\n } else {\n history.push(`/records/${viewIndex}`)\n }\n } catch (error) {\n if (error.response.responseText) {\n window.swal({\n title: \"Erreur\",\n text: error.response.responseText,\n dangerMode: true\n })\n }\n setIsCreating(false)\n }\n }\n\n return (\n <div class=\"view\">\n <div class=\"viewHeader\">\n <div class=\"viewTitle\">{panel ? panel.createConfig.label : `Créer ${view.aNewSingular}`}</div>\n </div>\n <div class=\"paddedView\">\n <div class=\"form\">\n {filteredColumns.map((column, index) => {\n return (\n <div class='formElement' key={index}>\n <div class='formLabel'>\n {column.label}\n {column.labelTooltip ? <LabelTooltip text={column.labelTooltip} /> : null}\n </div>\n <div class='formInput'>\n <Input\n column={column}\n onChange={(newValues) => { data.current = { ...data.current, ...newValues } }}\n />\n </div>\n </div>\n )\n })}\n </div>\n <div class={`button greenButton ${isCreating ? \"loading\" : \"\"}`} onClick={createRecord}>{isCreating ? \"Sauvegarde en cours...\" : \"Créer\"}</div>\n <div class=\"button\" onClick={() => history.goBack()}>Annuler</div>\n </div>\n </div>\n )\n}"]},"metadata":{},"sourceType":"module"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _regeneratorRuntime from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";import _asyncToGenerator from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";import _slicedToArray from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";import{useState,useEffect,useContext}from\"react\";import axios from\"axios\";import evalExpression from\"../../utils/evalExpression\";import{useHistory,useParams}from\"react-router-dom\";import{ConfigContext}from\"../../contexts/ConfigContext\";import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";export default(function(_ref){var panel=_ref.panel,record=_ref.record,view=_ref.view;var _useState=useState(null),_useState2=_slicedToArray(_useState,2),results=_useState2[0],setResults=_useState2[1];var history=useHistory();var _useParams=useParams(),viewIndex=_useParams.viewIndex;var config=useContext(ConfigContext);useEffect(function(){refreshData();},[]);var refreshData=function refreshData(){axios.get(\"/customQuery\",{params:{query:panel.query||evalExpression(panel.formattedQuery,record),primaryValue:record[view.primaryId]}}).then(function(response){setResults(response.data);});};var deleteRow=/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(row){var willDelete;return _regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.next=2;return window.swal({title:\"Êtes-vous sûr ?\",text:\"Une fois la suppression confirmée, il ne sera pas possible de revenir en arrière.\",buttons:[\"Annuler\",\"Oui\"],dangerMode:true});case 2:willDelete=_context.sent;if(!willDelete){_context.next=13;break;}_context.prev=4;_context.next=7;return axios.post(\"/deleteRecordFromPanel\",{viewIndex:viewIndex,panelId:panel.__id__,primaryValue:row[panel.primaryId]});case 7:refreshData();_context.next=13;break;case 10:_context.prev=10;_context.t0=_context[\"catch\"](4);window.swal({title:\"Erreur\",text:\"Suppression impossible\",dangerMode:true});case 13:case\"end\":return _context.stop();}}},_callee,null,[[4,10]]);}));return function deleteRow(_x){return _ref2.apply(this,arguments);};}();return/*#__PURE__*/_jsx(\"div\",{children:(results===null||results===void 0?void 0:results.length)>0?/*#__PURE__*/_jsxs(\"table\",{class:\"table panelTable \".concat(panel.folded?\"folded\":\"\"),children:[/*#__PURE__*/_jsx(\"thead\",{children:/*#__PURE__*/_jsxs(\"tr\",{children:[Object.keys(results[0]).filter(function(key){return key!==panel.primaryId;}).map(function(key){return/*#__PURE__*/_jsx(\"th\",{children:key},key);}),panel.canDelete?/*#__PURE__*/_jsx(\"th\",{}):null]})}),/*#__PURE__*/_jsx(\"tbody\",{children:results.map(function(result){return/*#__PURE__*/_jsxs(\"tr\",{class:\"record \".concat(panel.canShow?\"\":\"nonClickableRow\"),onClick:function onClick(){var viewIndex=config.views.findIndex(function(x){return x.type===\"table\"&&x.tableName===panel.tableName;});if(panel.canShow){history.push(\"/record/\".concat(viewIndex,\"/\").concat(result[panel.primaryId]));}},children:[Object.keys(result).filter(function(key){return key!==panel.primaryId;}).map(function(key){return/*#__PURE__*/_jsx(\"td\",{children:/*#__PURE__*/_jsx(\"div\",{dangerouslySetInnerHTML:{__html:panel.formattedValues&&key in panel.formattedValues?evalExpression(panel.formattedValues[key],result):result[key]}})},key);}),panel.canDelete?/*#__PURE__*/_jsx(\"td\",{class:\"deleteIconCell\",children:/*#__PURE__*/_jsx(\"div\",{class:\"deleteIcon\",onClick:function onClick(e){deleteRow(result);e.stopPropagation();},children:/*#__PURE__*/_jsx(\"i\",{class:\"fa fa-minus\"})})}):null]});})})]}):(results===null||results===void 0?void 0:results.length)===0?/*#__PURE__*/_jsx(\"div\",{class:\"noData panelTable \".concat(panel.folded?\"folded\":\"\"),children:\"Aucune donn\\xE9e\"}):null});});","map":{"version":3,"sources":["/home/runner/work/galadmin/galadmin/src/front/src/components/panels/TablePanel.js"],"names":["useState","useEffect","useContext","axios","evalExpression","useHistory","useParams","ConfigContext","panel","record","view","results","setResults","history","viewIndex","config","refreshData","get","params","query","formattedQuery","primaryValue","primaryId","then","response","data","deleteRow","row","window","swal","title","text","buttons","dangerMode","willDelete","post","panelId","__id__","length","folded","Object","keys","filter","key","map","canDelete","result","canShow","views","findIndex","x","type","tableName","push","__html","formattedValues","e","stopPropagation"],"mappings":"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","sourcesContent":["import { useState, useEffect, useContext } from \"react\"\nimport axios from \"axios\";\nimport evalExpression from \"../../utils/evalExpression\";\nimport {\n useHistory,\n useParams\n} from \"react-router-dom\";\nimport { ConfigContext } from \"../../contexts/ConfigContext\";\n\nexport default ({ panel, record, view }) => {\n const [results, setResults] = useState(null);\n const history = useHistory();\n const { viewIndex } = useParams();\n const config = useContext(ConfigContext)\n\n useEffect(() => {\n refreshData()\n }, [])\n\n const refreshData = () => {\n axios.get(\"/customQuery\", {\n params: {\n query: panel.query || evalExpression(panel.formattedQuery, record),\n primaryValue: record[view.primaryId]\n }\n }).then((response) => {\n setResults(response.data)\n })\n }\n\n const deleteRow = async (row) => {\n const willDelete = await window.swal({\n title: \"Êtes-vous sûr ?\",\n text: \"Une fois la suppression confirmée, il ne sera pas possible de revenir en arrière.\",\n buttons: [\"Annuler\", \"Oui\"],\n dangerMode: true\n })\n if (willDelete) {\n try {\n await axios.post(\"/deleteRecordFromPanel\", {\n viewIndex,\n panelId: panel.__id__,\n primaryValue: row[panel.primaryId]\n })\n refreshData();\n } catch (e) {\n window.swal({\n title: \"Erreur\",\n text: \"Suppression impossible\",\n dangerMode: true\n })\n }\n }\n }\n\n return (\n <div>\n {results?.length > 0 ? (\n <table class={`table panelTable ${panel.folded ? \"folded\" : \"\"}`}>\n <thead>\n <tr>\n {Object.keys(results[0]).filter(key => key !== panel.primaryId).map((key) =>\n <th key={key}>{key}</th>\n )}\n {panel.canDelete ? <th></th> : null}\n </tr>\n </thead>\n <tbody>\n {results.map((result) => (\n <tr\n class={`record ${panel.canShow ? \"\" : \"nonClickableRow\"}`}\n onClick={() => {\n const viewIndex = config.views.findIndex(x => x.type === \"table\" && x.tableName === panel.tableName)\n if (panel.canShow) {\n history.push(`/record/${viewIndex}/${result[panel.primaryId]}`)\n }\n }}\n >\n {Object.keys(result).filter(key => key !== panel.primaryId).map((key) =>\n <td key={key}>\n <div\n dangerouslySetInnerHTML={{\n __html:\n (panel.formattedValues && (key in panel.formattedValues)) ?\n evalExpression(panel.formattedValues[key], result) :\n result[key]\n }}\n />\n </td>\n )}\n {panel.canDelete ? (\n <td class='deleteIconCell'>\n <div\n class='deleteIcon'\n onClick={(e) => {deleteRow(result); e.stopPropagation()}}\n >\n <i class='fa fa-minus'></i>\n </div>\n </td>\n ) : null}\n </tr>\n ))}\n </tbody>\n </table>\n ) : results?.length === 0 ? (\n <div class={`noData panelTable ${panel.folded ? \"folded\" : \"\"}`}>Aucune donnée</div>\n ) : null}\n </div>\n )\n}\n"]},"metadata":{},"sourceType":"module"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _regeneratorRuntime from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";import _asyncToGenerator from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";import _slicedToArray from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";import{useState,useEffect}from\"react\";import{useHistory,useParams}from\"react-router-dom\";import axios from\"axios\";import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";export default(function(_ref){var panel=_ref.panel,record=_ref.record,view=_ref.view;var _useState=useState(null),_useState2=_slicedToArray(_useState,2),results=_useState2[0],setResults=_useState2[1];var history=useHistory();var _useParams=useParams(),viewIndex=_useParams.viewIndex;useEffect(function(){refreshData();},[panel.query]);var refreshData=function refreshData(){axios.get(\"/customQuery\",{params:{query:panel.query,primaryValue:record[view.primaryId]}}).then(function(response){setResults(response.data);});};var deleteRow=/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(row){var willDelete;return _regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.next=2;return window.swal({title:\"Êtes-vous sûr ?\",text:\"Une fois la suppression confirmée, il ne sera pas possible de revenir en arrière.\",buttons:[\"Annuler\",\"Oui\"],dangerMode:true});case 2:willDelete=_context.sent;if(!willDelete){_context.next=13;break;}_context.prev=4;_context.next=7;return axios.post(\"/deleteRecordFromPanel\",{viewIndex:viewIndex,panelId:panel.__id__,primaryValue:row[panel.primaryId]});case 7:refreshData();_context.next=13;break;case 10:_context.prev=10;_context.t0=_context[\"catch\"](4);window.swal({title:\"Erreur\",text:\"Suppression impossible\",dangerMode:true});case 13:case\"end\":return _context.stop();}}},_callee,null,[[4,10]]);}));return function deleteRow(_x){return _ref2.apply(this,arguments);};}();var pathField=panel.pathField||\"Path\";return/*#__PURE__*/_jsx(\"div\",{children:(results===null||results===void 0?void 0:results.length)>0?/*#__PURE__*/_jsx(\"div\",{class:\"gallery\",children:results.map(function(result){return/*#__PURE__*/_jsxs(\"div\",{class:\"galleryPicture\",children:[panel.canDelete?/*#__PURE__*/_jsx(\"div\",{class:\"deleteIcon\",onClick:function onClick(e){deleteRow(result);e.stopPropagation();},children:/*#__PURE__*/_jsx(\"i\",{class:\"fa fa-minus\"})}):null,/*#__PURE__*/_jsx(\"a\",{href:panel.baseUrl+result[pathField],target:\"_blank\",children:/*#__PURE__*/_jsx(\"img\",{src:panel.baseUrl+result[pathField],style:{width:\"100%\",height:150,objectFit:panel.objectFit||\"cover\"},onerror:\"this.style.height = 0\"})})]},result[pathField]);})}):(results===null||results===void 0?void 0:results.length)===0?/*#__PURE__*/_jsx(\"div\",{class:\"noData panelTable \".concat(panel.folded?\"folded\":\"\"),children:\"Aucune donn\\xE9e\"}):null});});","map":{"version":3,"sources":["/home/runner/work/galadmin/galadmin/src/front/src/components/panels/GalleryPanel.js"],"names":["useState","useEffect","useHistory","useParams","axios","panel","record","view","results","setResults","history","viewIndex","refreshData","query","get","params","primaryValue","primaryId","then","response","data","deleteRow","row","window","swal","title","text","buttons","dangerMode","willDelete","post","panelId","__id__","pathField","length","map","result","canDelete","e","stopPropagation","baseUrl","width","height","objectFit","folded"],"mappings":"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","sourcesContent":["import { useState, useEffect } from \"react\"\nimport {\n useHistory,\n useParams\n} from \"react-router-dom\";\nimport axios from \"axios\";\n\nexport default ({ panel, record, view }) => {\n const [results, setResults] = useState(null);\n const history = useHistory();\n const { viewIndex } = useParams();\n\n useEffect(() => {\n refreshData()\n }, [panel.query])\n\n const refreshData = () => {\n axios.get(\"/customQuery\", {\n params: {\n query: panel.query,\n primaryValue: record[view.primaryId]\n }\n }).then((response) => {\n setResults(response.data)\n })\n }\n const deleteRow = async (row) => {\n const willDelete = await window.swal({\n title: \"Êtes-vous sûr ?\",\n text: \"Une fois la suppression confirmée, il ne sera pas possible de revenir en arrière.\",\n buttons: [\"Annuler\", \"Oui\"],\n dangerMode: true\n })\n if (willDelete) {\n try {\n await axios.post(\"/deleteRecordFromPanel\", {\n viewIndex,\n panelId: panel.__id__,\n primaryValue: row[panel.primaryId]\n })\n refreshData();\n } catch (e) {\n window.swal({\n title: \"Erreur\",\n text: \"Suppression impossible\",\n dangerMode: true\n })\n }\n }\n }\n\n const pathField = panel.pathField || \"Path\"\n\n return (\n <div>\n {results?.length > 0 ? (\n <div class=\"gallery\">\n {results.map((result) => (\n <div class='galleryPicture' key={result[pathField]}>\n {panel.canDelete ? <div class='deleteIcon' onClick={(e) => {deleteRow(result); e.stopPropagation()}}><i class='fa fa-minus'></i></div> : null}\n <a href={panel.baseUrl + result[pathField]} target='_blank'>\n <img\n src={panel.baseUrl + result[pathField]}\n style={{ width: \"100%\", height: 150, objectFit: panel.objectFit || \"cover\" }}\n onerror='this.style.height = 0'\n />\n </a>\n </div>\n ))}\n </div>\n ) : results?.length === 0 ? (\n <div class={`noData panelTable ${panel.folded ? \"folded\" : \"\"}`}>Aucune donnée</div>\n ) : null}\n </div>\n )\n}\n"]},"metadata":{},"sourceType":"module"}
|