@galadrim/galadmin 0.1.14 → 0.1.18
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/.github/workflows/main.yml +3 -5
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/front/build/asset-manifest.json +7 -7
- package/src/front/build/index.html +1 -1
- package/src/front/build/static/js/{2.778cdac1.chunk.js → 2.b3d419cf.chunk.js} +3 -3
- package/src/front/build/static/js/2.b3d419cf.chunk.js.map +1 -0
- package/src/front/build/static/js/main.06236740.chunk.js +2 -0
- package/src/front/build/static/js/main.06236740.chunk.js.map +1 -0
- package/src/front/node_modules/.cache/.eslintcache +1 -1
- package/src/front/node_modules/.cache/babel-loader/18489f84531299b3338ea69092838d3d.json +1 -0
- package/src/front/node_modules/.cache/babel-loader/3c35365361be8af665836d218febef34.json +1 -0
- package/src/front/node_modules/.cache/babel-loader/97f15c98cea463a696048a36a8de774d.json +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/18/db/255fe63aa0ec9232a8cfdb3fa679dfdbd0fd64f7b77318a20906043c49f44bfa659200f0268867bee6d3a7b21b7bfd62c3030e62ec095147f98b42eb9afd +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/f6/05/bf653eeee15b552c868443834d3c503be9a34e127ec76f805cf60768bf58d94750e1ddcc7f4ce0ed716d625e2040823d09d3473383e8464ba015db0ec1d9 +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/{13/d8/d32579e27a416aac7b04b60faf320c4da778c3f180c52876b5966798f6b5 → 0d/89/d99652dba5f73c4101373f4b2c9aabadbe9f3857c9421c62e61ff66caad3} +1 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/{f3/67/591e18ebf4c0bef454dd26c51b3a6caca691338ed27811d59ddef26e7031 → 1a/b8/bc69b6c33a11502667cb59add9db2987fe400f0ce7def96861b03ef6755c} +1 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/87/08/421190bfe6e50816e059da6c33526c9943732ef856ebd2752d0cbfb4a852 +1 -1
- package/src/front/src/pages/Record.js +1 -1
- package/src/front/src/pages/Records.js +1 -1
- package/src/front/src/utils/getFormattedValue.js +10 -2
- package/src/front/build/static/js/2.778cdac1.chunk.js.map +0 -1
- package/src/front/build/static/js/main.f1cbeca5.chunk.js +0 -2
- package/src/front/build/static/js/main.f1cbeca5.chunk.js.map +0 -1
- package/src/front/node_modules/.cache/babel-loader/21924c261ae0190e05b25ff7be335a48.json +0 -1
- package/src/front/node_modules/.cache/babel-loader/9927257e5a1c34883ddacb1665837685.json +0 -1
- package/src/front/node_modules/.cache/babel-loader/c79f8df4d3d0abc42e0d2b1eb71c3d00.json +0 -1
- package/src/front/node_modules/.cache/babel-loader/d40c086cba0e12432c036d1aa14719eb.json +0 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/06/44/2353946ccf0d62e366a6b64754a6713aedc604873a39d4fc7108a05e7ef7c02cf9ec46056d39d970a0dcbe4a88bcdd49cfc09aa5e7c0636eee76ae382845 +0 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/55/2e/532185baf9d4193531944361bcc44af3adc322983b2b219704fccdc42b234ac5a08820b33d496cb7f7a9b0a4b656ba46d4222c816658dfe7cba112ba0f8e +0 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/a0/a5/02eb7c3686fc0b8b368d7571ac99d9057923ade02523769a0104df72645454c3abb5e1abd7959435a4592ccfc6f625105898092e038cb444bea039289fc9 +0 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/77/76/87d901f3ac114d66548b68159bacc2a530b3251dbe62c2c09ff6fd29bd73 +0 -2
- /package/src/front/build/static/js/{2.778cdac1.chunk.js.LICENSE.txt → 2.b3d419cf.chunk.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
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\";var _viewIndex=null;var _page=1;var _currentFilters=[];var _orderBy=null;var _isDesc=null;var _query=\"\";export default(function(){var _view$columns,_data$records;var _useParams=useParams(),viewIndex=_useParams.viewIndex,subviewIndex=_useParams.subviewIndex;var history=useHistory();var _useState=useState(_page),_useState2=_slicedToArray(_useState,2),page=_useState2[0],setPage=_useState2[1];var _useState3=useState(_currentFilters),_useState4=_slicedToArray(_useState3,2),currentFilters=_useState4[0],setCurrentFilters=_useState4[1];var _useState5=useState(_orderBy),_useState6=_slicedToArray(_useState5,2),orderBy=_useState6[0],setOrderBy=_useState6[1];var _useState7=useState(_isDesc),_useState8=_slicedToArray(_useState7,2),isDesc=_useState8[0],setIsDesc=_useState8[1];var _useState9=useState(_query),_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(){if(viewIndex!==_viewIndex){setPage(1);setQuery(null);setOrderBy(null);setIsDesc(null);setQuery(\"\");if(selectedRecordIds.length>0){setSelectedRecordIds([]);}if(currentFilters.length>0){setCurrentFilters([]);}}},[viewIndex]);useEffect(function(){refreshData();_viewIndex=viewIndex;_page=page;_query=query;_currentFilters=currentFilters;_orderBy=orderBy;_isDesc=isDesc;},[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){var _response$data,_response$data$record;if(((_response$data=response.data)===null||_response$data===void 0?void 0:(_response$data$record=_response$data.records)===null||_response$data$record===void 0?void 0:_response$data$record.length)===0&&page>1){setPage(1);}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\",value:query,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){if(view.clickToEdit){history.push(\"/editRecord/\".concat(viewIndex,\"/\").concat(recordId));}else{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","_page","_currentFilters","_orderBy","_isDesc","_query","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","records","label","e","target","value","canCreate","index","hideMultiselect","column","sortName","dataType","formattedValue","name","Array","from","_","cellIndex","record","recordId","primaryId","notClickable","event","tagName","stopPropagation","clickToEdit","push","includes","count","Math","max","ceil","limit","min"],"mappings":"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","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\nlet _viewIndex = null;\nlet _page = 1;\nlet _currentFilters = [];\nlet _orderBy = null;\nlet _isDesc = null;\nlet _query = \"\";\n\nexport default () => {\n const { viewIndex, subviewIndex } = useParams();\n const history = useHistory();\n const [page, setPage] = useState(_page)\n const [currentFilters, setCurrentFilters] = useState(_currentFilters)\n const [orderBy, setOrderBy] = useState(_orderBy);\n const [isDesc, setIsDesc] = useState(_isDesc);\n const [query, setQuery] = useState(_query);\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 if (viewIndex !== _viewIndex) {\n setPage(1)\n setQuery(null)\n setOrderBy(null)\n setIsDesc(null)\n setQuery(\"\")\n if (selectedRecordIds.length > 0) {\n setSelectedRecordIds([])\n }\n if (currentFilters.length > 0) {\n setCurrentFilters([])\n }\n }\n }, [viewIndex])\n\n\n useEffect(() => {\n refreshData()\n _viewIndex = viewIndex;\n _page = page;\n _query = query;\n _currentFilters = currentFilters;\n _orderBy = orderBy;\n _isDesc = isDesc;\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 if (response.data?.records?.length === 0 && page > 1) {\n setPage(1)\n }\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\" value={query} 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 if (view.clickToEdit) {\n history.push(`/editRecord/${viewIndex}/${recordId}`)\n } else {\n history.push(`/record/${viewIndex}/${recordId}`)\n }\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}\n"]},"metadata":{},"sourceType":"module"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"ast":null,"code":"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{useParams,Link}from\"react-router-dom\";import getFormattedValue from\"../utils/getFormattedValue\";import ActionsButton from\"../components/ActionsButton\";import BackButton from\"../components/BackButton\";import DownloadTablePanelButton from\"../components/DownloadTablePanelButton\";import TablePanel from\"../components/panels/TablePanel\";import GalleryPanel from\"../components/panels/GalleryPanel\";import MapPanel from\"../components/panels/MapPanel\";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;var config=useContext(ConfigContext);var _useParams=useParams(),viewIndex=_useParams.viewIndex,recordId=_useParams.recordId;var _useState=useState(null),_useState2=_slicedToArray(_useState,2),record=_useState2[0],setRecord=_useState2[1];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.hidden;});useEffect(function(){refreshData();},[viewIndex,recordId]);var refreshData=function refreshData(){axios.get(\"/record\",{params:{viewIndex:viewIndex,recordId:recordId}}).then(function(response){setRecord(response.data);});};return/*#__PURE__*/_jsxs(\"div\",{class:\"view backgroundBlue\",children:[/*#__PURE__*/_jsxs(\"div\",{class:\"viewHeader\",children:[/*#__PURE__*/_jsx(\"div\",{class:\"viewTitle\",children:view.label}),/*#__PURE__*/_jsxs(\"div\",{class:\"viewHeaderActions\",children:[/*#__PURE__*/_jsx(BackButton,{}),/*#__PURE__*/_jsx(ActionsButton,{viewIndex:viewIndex,record:record,refreshData:refreshData}),view.canEdit!==false?/*#__PURE__*/_jsx(Link,{to:\"/editRecord/\".concat(viewIndex,\"/\").concat(recordId),children:/*#__PURE__*/_jsx(\"div\",{class:\"button greenButton recordAction\",children:\"Modifier\"})}):null]})]}),/*#__PURE__*/_jsx(\"div\",{class:\"paddedView\",children:/*#__PURE__*/_jsxs(\"div\",{class:\"showContainer\",children:[/*#__PURE__*/_jsxs(\"div\",{class:\"panel detailsPanel\",children:[/*#__PURE__*/_jsx(\"div\",{class:\"panelTitle\",children:\"D\\xE9tails\"}),record?filteredColumns.map(function(column,index){return/*#__PURE__*/_jsxs(\"div\",{class:\"showRecordField\",children:[/*#__PURE__*/_jsx(\"div\",{class:\"formLabel\",children:column.label}),/*#__PURE__*/_jsx(\"div\",{class:\"formValue\",children:getFormattedValue(column,record,false)||\"-\"})]},index);}):null]}),view.recordViewPanels&&record?/*#__PURE__*/_jsx(\"div\",{class:\"recordViewPanels\",children:view.recordViewPanels.map(function(panel,index){return/*#__PURE__*/_jsxs(\"div\",{class:\"panel\",children:[/*#__PURE__*/_jsxs(\"div\",{class:\"panelHeader\",children:[/*#__PURE__*/_jsx(\"div\",{class:\"viewTitle\",children:panel.label}),/*#__PURE__*/_jsxs(\"div\",{class:\"viewHeaderActions\",children:[panel.folded?/*#__PURE__*/_jsx(\"div\",{class:\"button smallButton unfoldPanel\",children:\"Afficher\"}):null,panel.canCreate?/*#__PURE__*/_jsx(Link,{to:\"/createRecord/\".concat(viewIndex,\"/\").concat(index,\"/\").concat(recordId),children:/*#__PURE__*/_jsx(\"div\",{class:\"plusButton\",children:/*#__PURE__*/_jsx(\"i\",{class:\"fa fa-plus\"})})}):null,panel.canDownload&&panel.type===\"table\"?/*#__PURE__*/_jsx(DownloadTablePanelButton,{record:record,panel:panel}):null]})]}),panel.type===\"table\"?/*#__PURE__*/_jsx(TablePanel,{record:record,panel:panel,view:view,index:index}):null,panel.type===\"gallery\"?/*#__PURE__*/_jsx(GalleryPanel,{record:record,panel:panel,view:view,index:index}):null,panel.type===\"map\"?/*#__PURE__*/_jsx(MapPanel,{record:record,panel:panel,view:view,index:index}):null]},index);})}):null]})})]});});","map":{"version":3,"sources":["/home/runner/work/galadmin/galadmin/src/front/src/pages/Record.js"],"names":["useState","useEffect","useContext","axios","useParams","Link","getFormattedValue","ActionsButton","BackButton","DownloadTablePanelButton","TablePanel","GalleryPanel","MapPanel","ConfigContext","config","viewIndex","recordId","record","setRecord","view","views","filteredColumns","columns","filter","x","hidden","refreshData","get","params","then","response","data","label","canEdit","map","column","index","recordViewPanels","panel","folded","canCreate","canDownload","type"],"mappings":"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","sourcesContent":["import { useState, useEffect, useContext } from \"react\"\nimport axios from \"axios\";\nimport {\n useParams,\n Link,\n} from \"react-router-dom\";\nimport getFormattedValue from \"../utils/getFormattedValue\"\nimport ActionsButton from \"../components/ActionsButton\"\nimport BackButton from \"../components/BackButton\"\nimport DownloadTablePanelButton from \"../components/DownloadTablePanelButton\"\nimport TablePanel from \"../components/panels/TablePanel\"\nimport GalleryPanel from \"../components/panels/GalleryPanel\"\nimport MapPanel from \"../components/panels/MapPanel\"\nimport { ConfigContext } from '../contexts/ConfigContext'\n\nexport default () => {\n const config = useContext(ConfigContext)\n const { viewIndex, recordId } = useParams();\n const [record, setRecord] = useState(null);\n\n const view = config.views[viewIndex]\n const filteredColumns = view.columns?.filter(x => !x.hidden)\n\n useEffect(() => {\n refreshData()\n }, [viewIndex, recordId]);\n\n const refreshData = () => {\n axios.get(\"/record\", {\n params: {\n viewIndex,\n recordId\n }\n }).then((response) => {\n setRecord(response.data);\n });\n }\n\n return (\n <div class=\"view backgroundBlue\">\n <div class=\"viewHeader\">\n <div class=\"viewTitle\">{view.label}</div>\n <div class=\"viewHeaderActions\">\n <BackButton />\n <ActionsButton viewIndex={viewIndex} record={record} refreshData={refreshData} />\n {view.canEdit !== false ? (\n <Link to={`/editRecord/${viewIndex}/${recordId}`}>\n <div class=\"button greenButton recordAction\">Modifier</div>\n </Link>\n ) : null}\n </div>\n </div>\n <div class=\"paddedView\">\n <div class=\"showContainer\">\n <div class='panel detailsPanel'>\n <div class='panelTitle'>Détails</div>\n {record ?\n filteredColumns.map((column, index) => (\n <div class='showRecordField' key={index}>\n <div class='formLabel'>{column.label}</div>\n <div class='formValue'>{getFormattedValue(column, record, false) || \"-\"}</div>\n </div>\n ))\n : null}\n </div>\n {view.recordViewPanels && record ? (\n <div class='recordViewPanels'>\n {view.recordViewPanels.map((panel, index) => (\n <div class='panel' key={index}>\n <div class='panelHeader'>\n <div class='viewTitle'>{panel.label}</div>\n <div class='viewHeaderActions'>\n {panel.folded ? <div class='button smallButton unfoldPanel'>Afficher</div> : null}\n {panel.canCreate ? <Link to={`/createRecord/${viewIndex}/${index}/${recordId}`}><div class='plusButton'><i class='fa fa-plus'></i></div></Link> : null}\n {panel.canDownload && panel.type === \"table\" ? <DownloadTablePanelButton record={record} panel={panel} /> : null}\n </div>\n </div>\n {panel.type === \"table\" ? <TablePanel record={record} panel={panel} view={view} index={index} /> : null}\n {panel.type === \"gallery\" ? <GalleryPanel record={record} panel={panel} view={view} index={index} /> : null}\n {panel.type === \"map\" ? <MapPanel record={record} panel={panel} view={view} index={index} /> : null}\n </div>\n ))}\n </div>\n ) : null}\n </div>\n </div>\n </div>\n )\n}\n"]},"metadata":{},"sourceType":"module"}
|