@galadrim/galadmin 0.1.104 → 0.1.105

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.
Files changed (23) hide show
  1. package/dist/tsconfig.tsbuildinfo +1 -1
  2. package/dist/types/config.d.ts +2 -0
  3. package/package.json +1 -1
  4. package/src/front/build/asset-manifest.json +3 -3
  5. package/src/front/build/index.html +1 -1
  6. package/src/front/build/static/js/{main.9d617e1e.js → main.f51385bc.js} +3 -3
  7. package/src/front/build/static/js/{main.9d617e1e.js.map → main.f51385bc.js.map} +1 -1
  8. package/src/front/node_modules/.cache/.eslintcache +1 -1
  9. package/src/front/node_modules/.cache/babel-loader/4ba8d93cce9b9bb9e9d35a9736243eb2cb5a172a3da4bff460e48c7f540debd8.json +1 -0
  10. package/src/front/node_modules/.cache/babel-loader/8288deb48ee2df58484462c929eb4deaa63845e8a35aa4eca3a0dd2c6f2d0458.json +1 -0
  11. package/src/front/node_modules/.cache/babel-loader/8d55c4123c6fbc61b008f1dc00ea80d019aaf6ca9a9b6fb619e85d369d3c6121.json +1 -0
  12. package/src/front/node_modules/.cache/babel-loader/c8191949ac4753ef845a81483adfe800f67b152467478a020329c4040a546a6e.json +1 -0
  13. package/src/front/node_modules/.cache/babel-loader/fec388634ceacbc3c5dde362b4f6ce6ec28cbcedd6bd29193ba6526c96c249ab.json +1 -0
  14. package/src/front/src/components/Input.js +1 -1
  15. package/src/front/src/components/Sidebar.js +0 -2
  16. package/src/front/src/pages/CreateRecord.js +11 -6
  17. package/src/front/src/pages/EditRecord.js +14 -7
  18. package/src/front/src/pages/Record.js +22 -16
  19. package/src/types/config.ts +3 -1
  20. package/src/front/node_modules/.cache/babel-loader/6e656c8e19d5bfc72071f066db9df465077e006a087080d47fa46bef6dee8d24.json +0 -1
  21. package/src/front/node_modules/.cache/babel-loader/b48e0edb4b5495d1905816dd392c40aa40b08ade628c94e89a3f85775451a26a.json +0 -1
  22. package/src/front/node_modules/.cache/babel-loader/cb534fd4b7c6f54f5445d2de21a02fabce63cad224ccb08649541c02baf1b6d6.json +0 -1
  23. /package/src/front/build/static/js/{main.9d617e1e.js.LICENSE.txt → main.f51385bc.js.LICENSE.txt} +0 -0
@@ -15,15 +15,22 @@ export default () => {
15
15
  const history = useHistory();
16
16
  const view = config.views[viewIndex];
17
17
  const [record, setRecord] = useState(null);
18
+ const [dataToUpdate, setDataToUpdate] = useState({});
18
19
  const filteredColumns = view.columns.filter(
19
20
  column => column.dataType &&
20
21
  column.canEdit !== false &&
21
- !column.hidden
22
+ !column.hidden &&
23
+ (!record || !column.displayCondition || column.displayCondition({ ...record, ...dataToUpdate }))
22
24
  )
23
-
24
- const dataToUpdate = useRef({})
25
25
  const [isUpdating, setIsUpdating] = useState(false)
26
26
 
27
+ for (let column of view.columns) {
28
+ if (column.displayCondition) {
29
+ console.log({ ...record, ...dataToUpdate })
30
+ console.log(column.displayCondition({ ...record, ...dataToUpdate }))
31
+ }
32
+ }
33
+
27
34
  useEffect(() => {
28
35
  axios.get("/record", {
29
36
  params: {
@@ -31,19 +38,19 @@ export default () => {
31
38
  recordId
32
39
  }
33
40
  }).then((response) => {
34
- dataToUpdate.current = {};
41
+ setDataToUpdate({});
35
42
  setRecord(response.data);
36
43
  });
37
44
  }, [viewIndex, recordId]);
38
45
 
39
46
  const updateRecord = async () => {
40
- if (!checkRequiredColumns(filteredColumns, {...record, ...dataToUpdate.current})) return;
47
+ if (!checkRequiredColumns(filteredColumns, { ...record, ...dataToUpdate })) return;
41
48
  setIsUpdating(true)
42
49
  try {
43
50
  await axios.post("/updateRecord", {
44
51
  viewIndex,
45
52
  primaryValue: recordId,
46
- data: dataToUpdate.current,
53
+ data: dataToUpdate,
47
54
  previousData: record
48
55
  })
49
56
  setIsUpdating(false)
@@ -80,7 +87,7 @@ export default () => {
80
87
  <Input
81
88
  column={column}
82
89
  initialData={record}
83
- onChange={(newValues) => { dataToUpdate.current = { ...dataToUpdate.current, ...newValues } }}
90
+ onChange={(newValues) => setDataToUpdate({ ...dataToUpdate, ...newValues })}
84
91
  />
85
92
  </div>
86
93
  </div>
@@ -21,7 +21,10 @@ export default () => {
21
21
  const [record, setRecord] = useState(null);
22
22
 
23
23
  const view = config.views[viewIndex]
24
- const filteredColumns = view.columns?.filter(x => !x.hidden)
24
+ const filteredColumns = view.columns?.filter(x =>
25
+ !x.hidden &&
26
+ (!record || !x.displayCondition || x.displayCondition(record))
27
+ )
25
28
 
26
29
  useEffect(() => {
27
30
  refreshData()
@@ -67,23 +70,26 @@ export default () => {
67
70
  </div>
68
71
  {view.recordViewPanels && record ? (
69
72
  <div class='recordViewPanels'>
70
- {view.recordViewPanels.map((panel, index) => (
71
- <div class='panel' key={index}>
72
- <div class='panelHeader'>
73
- <div class='viewTitle'>{panel.label}</div>
74
- <div class='viewHeaderActions'>
75
- {panel.folded ? <div class='button smallButton unfoldPanel'>Afficher</div> : null}
76
- {panel.canCreate ? <Link to={`/createRecord/${viewIndex}/${index}/${recordId}`}><div class='plusButton'><i class='fa fa-plus'></i></div></Link> : null}
77
- {panel.canDownload && panel.type === "table" ? <DownloadTablePanelButton record={record} panel={panel} /> : null}
78
- {panel.canImport && panel.type === "table" ? <UploadTablePanelButton record={record} viewIndex={viewIndex} panel={panel} panelIndex={index} refreshData={refreshData} /> : null}
73
+ {view.recordViewPanels
74
+ .filter(panel => !panel.displayCondition || panel.displayCondition(record))
75
+ .map((panel, index) => (
76
+ <div class='panel' key={index}>
77
+ <div class='panelHeader'>
78
+ <div class='viewTitle'>{panel.label}</div>
79
+ <div class='viewHeaderActions'>
80
+ {panel.folded ? <div class='button smallButton unfoldPanel'>Afficher</div> : null}
81
+ {panel.canCreate ? <Link to={`/createRecord/${viewIndex}/${index}/${recordId}`}><div class='plusButton'><i class='fa fa-plus'></i></div></Link> : null}
82
+ {panel.canDownload && panel.type === "table" ? <DownloadTablePanelButton record={record} panel={panel} /> : null}
83
+ {panel.canImport && panel.type === "table" ? <UploadTablePanelButton record={record} viewIndex={viewIndex} panel={panel} panelIndex={index} refreshData={refreshData} /> : null}
84
+ </div>
79
85
  </div>
86
+ {panel.type === "table" ? <TablePanel record={record} panel={panel} view={view} index={index} /> : null}
87
+ {panel.type === "gallery" ? <GalleryPanel record={record} panel={panel} view={view} index={index} /> : null}
88
+ {panel.type === "map" ? <MapPanel record={record} panel={panel} view={view} index={index} /> : null}
89
+ {panel.type === "chat" ? <ChatPanel record={record} panel={panel} view={view} index={index} /> : null}
80
90
  </div>
81
- {panel.type === "table" ? <TablePanel record={record} panel={panel} view={view} index={index} /> : null}
82
- {panel.type === "gallery" ? <GalleryPanel record={record} panel={panel} view={view} index={index} /> : null}
83
- {panel.type === "map" ? <MapPanel record={record} panel={panel} view={view} index={index} /> : null}
84
- {panel.type === "chat" ? <ChatPanel record={record} panel={panel} view={view} index={index} /> : null}
85
- </div>
86
- ))}
91
+ ))
92
+ }
87
93
  </div>
88
94
  ) : null}
89
95
  </div>
@@ -13,7 +13,8 @@ export type BaseTypeColumn = {
13
13
  searchableName?: string,
14
14
  labelTooltip?: string,
15
15
  required?: boolean,
16
- includeInExport?: boolean
16
+ includeInExport?: boolean,
17
+ displayCondition?: (record: any) => boolean,
17
18
  }
18
19
 
19
20
  export type ColorColumn = {
@@ -223,6 +224,7 @@ export type Subview = {
223
224
  export type BaseTypePanel = {
224
225
  label: string,
225
226
  folded?: boolean,
227
+ displayCondition?: (record: any) => boolean,
226
228
  }
227
229
 
228
230
  export type CreateConfig = {
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import _slicedToArray from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import React,{useState,useContext,useEffect}from\"react\";import{Link,useHistory,useLocation}from\"react-router-dom\";import{ConfigContext}from'../contexts/ConfigContext';import{jsx as _jsx}from\"react/jsx-runtime\";import{Fragment as _Fragment}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var SidebarItemIconAndLabel=function SidebarItemIconAndLabel(_ref){var view=_ref.view;return/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{class:\"sidebarIcon\",children:/*#__PURE__*/_jsx(\"i\",{class:\"fas fa-\".concat(view.icon||\"square\")})}),/*#__PURE__*/_jsx(\"div\",{class:\"sidebarLabel\",children:view.label})]});};export default(function(_ref2){var logout=_ref2.logout;var location=useLocation();var config=useContext(ConfigContext);var history=useHistory();var _useState=useState(false),_useState2=_slicedToArray(_useState,2),showMenu=_useState2[0],setShowMenu=_useState2[1];var toggleMenu=function toggleMenu(){return setShowMenu(!showMenu);};useEffect(function(){var closeMenu=function closeMenu(e){if(!e.target.closest('.menu')&&!e.target.closest('.menuButton')){setShowMenu(false);}};document.addEventListener('click',closeMenu);return function(){return document.removeEventListener('click',closeMenu);};},[]);console.log({showMenu:showMenu});return/*#__PURE__*/_jsxs(\"div\",{class:\"sidebar\",children:[config.logo?/*#__PURE__*/_jsx(\"img\",{src:config.logo,class:\"logo\"}):null,/*#__PURE__*/_jsx(\"div\",{class:\"sidebarTitle\",children:config.name}),/*#__PURE__*/_jsx(\"div\",{class:\"sidebarSubtitle\",children:\"Back-office\"}),config.views.filter(function(view){return!view.hidden;}).map(function(view,i){if(view.type===\"link\"){return/*#__PURE__*/_jsx(\"a\",{href:view.src,children:/*#__PURE__*/_jsx(\"div\",{class:\"sidebarItem\",children:/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(SidebarItemIconAndLabel,{view:view})})})},i);}else if(view.type===\"iframe\"){var isActive=location.pathname===\"/iframe/\".concat(i);return/*#__PURE__*/_jsx(Link,{to:\"/iframe/\".concat(i),children:/*#__PURE__*/_jsx(\"div\",{class:\"sidebarItem \".concat(isActive?\"active\":\"\"),children:/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(SidebarItemIconAndLabel,{view:view})})})},i);}else if(view.type===\"custom\"){var _isActive=location.pathname===\"/customView/\".concat(i);return/*#__PURE__*/_jsx(Link,{to:\"/customView/\".concat(i),children:/*#__PURE__*/_jsx(\"div\",{class:\"sidebarItem \".concat(_isActive?\"active\":\"\"),children:/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(SidebarItemIconAndLabel,{view:view})})})},i);}else if(view.type===\"table\"){var _isActive2=location.pathname===\"/records/\".concat(i)||location.pathname===\"/createRecord/\".concat(i)||location.pathname.startsWith(\"/record/\".concat(i,\"/\"))||location.pathname.startsWith(\"/editRecord/\".concat(i,\"/\"));return/*#__PURE__*/_jsx(\"div\",{onClick:function onClick(){return history.push(\"/records/\".concat(i));},children:/*#__PURE__*/_jsxs(\"div\",{class:\"sidebarItem \".concat(_isActive2?\"active\":\"\"),children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{class:\"notificationWrapper\"}),/*#__PURE__*/_jsx(SidebarItemIconAndLabel,{view:view})]}),view.subviews?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{class:\"subviewsSeparator\"}),view.subviews.map(function(subview,j){var isActive=location.pathname==\"/records/\".concat(i,\"/\").concat(j);return/*#__PURE__*/_jsx(\"div\",{onClick:function onClick(e){history.push(\"/records/\".concat(i,\"/\").concat(j));e.stopPropagation();},children:/*#__PURE__*/_jsxs(\"div\",{\"data-subview-index\":j,class:isActive?\"active\":\"\",children:[/*#__PURE__*/_jsx(\"div\",{class:\"notificationWrapperForSubview\"}),subview.label]})});})]}):null]})},i);}}),!config.hideBranding?/*#__PURE__*/_jsxs(\"div\",{class:\"sidebarBranding\",children:[\"Made with \",/*#__PURE__*/_jsx(\"i\",{class:\"fas fa-heart\"}),\" by Galadrim\"]}):null,/*#__PURE__*/_jsxs(\"div\",{class:\"menu\",onClick:toggleMenu,children:[/*#__PURE__*/_jsx(\"div\",{class:\"menuButton\",children:/*#__PURE__*/_jsx(\"i\",{class:\"far fa-ellipsis-v\"})}),showMenu?/*#__PURE__*/_jsx(\"div\",{class:\"menuOptions\",children:/*#__PURE__*/_jsxs(\"div\",{onClick:logout,class:\"menuOption\",children:[/*#__PURE__*/_jsx(\"i\",{class:\"far fa-sign-out\"}),\" Se d\\xE9connecter\"]})}):null]})]});});","map":{"version":3,"names":["React","useState","useContext","useEffect","Link","useHistory","useLocation","ConfigContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SidebarItemIconAndLabel","_ref","view","children","class","concat","icon","label","_ref2","logout","location","config","history","_useState","_useState2","_slicedToArray","showMenu","setShowMenu","toggleMenu","closeMenu","e","target","closest","document","addEventListener","removeEventListener","console","log","logo","src","name","views","filter","hidden","map","i","type","href","isActive","pathname","to","startsWith","onClick","push","subviews","subview","j","stopPropagation","hideBranding"],"sources":["/home/runner/work/galadmin/galadmin/src/front/src/components/Sidebar.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from \"react\";\nimport {\n Link,\n useHistory,\n useLocation\n} from \"react-router-dom\";\nimport { ConfigContext } from '../contexts/ConfigContext'\n\nconst SidebarItemIconAndLabel = ({ view }) => (\n <>\n <div class=\"sidebarIcon\">\n <i class={`fas fa-${view.icon || \"square\"}`}></i>\n </div>\n <div class=\"sidebarLabel\">{view.label}</div>\n </>\n)\n\nexport default ({ logout }) => {\n const location = useLocation();\n const config = useContext(ConfigContext);\n const history = useHistory();\n const [showMenu, setShowMenu] = useState(false);\n\n const toggleMenu = () => setShowMenu(!showMenu);\n\n useEffect(() => {\n const closeMenu = (e) => {\n if (!e.target.closest('.menu') && !e.target.closest('.menuButton')) {\n setShowMenu(false);\n }\n };\n\n document.addEventListener('click', closeMenu);\n return () => document.removeEventListener('click', closeMenu);\n }, []);\n\n console.log({ showMenu })\n\n return (\n <div class=\"sidebar\">\n {config.logo ? <img src={config.logo} class=\"logo\" /> : null}\n <div class=\"sidebarTitle\">{config.name}</div>\n <div class=\"sidebarSubtitle\">Back-office</div>\n {config.views.filter(view => !view.hidden).map((view, i) => {\n if (view.type === \"link\") {\n return (\n <a href={view.src} key={i}>\n <div class=\"sidebarItem\">\n <div>\n <SidebarItemIconAndLabel view={view} />\n </div>\n </div>\n </a>\n )\n } else if (view.type === \"iframe\") {\n const isActive = location.pathname === `/iframe/${i}`\n return (\n <Link to={`/iframe/${i}`} key={i}>\n <div class={`sidebarItem ${isActive ? \"active\" : \"\"}`}>\n <div>\n <SidebarItemIconAndLabel view={view} />\n </div>\n </div>\n </Link>\n )\n } else if (view.type === \"custom\") {\n const isActive = location.pathname === `/customView/${i}`\n return (\n <Link to={`/customView/${i}`} key={i}>\n <div class={`sidebarItem ${isActive ? \"active\" : \"\"}`}>\n <div>\n <SidebarItemIconAndLabel view={view} />\n </div>\n </div>\n </Link>\n )\n } else if (view.type === \"table\") {\n const isActive =\n location.pathname === `/records/${i}` ||\n location.pathname === `/createRecord/${i}` ||\n location.pathname.startsWith(`/record/${i}/`) ||\n location.pathname.startsWith(`/editRecord/${i}/`)\n return (\n <div onClick={() => history.push(`/records/${i}`)} key={i}>\n <div class={`sidebarItem ${isActive ? \"active\" : \"\"}`}>\n <div>\n <div class=\"notificationWrapper\"></div>\n <SidebarItemIconAndLabel view={view} />\n </div>\n {view.subviews ? (\n <>\n <div class=\"subviewsSeparator\"></div>\n {view.subviews.map((subview, j) => {\n const isActive = location.pathname == `/records/${i}/${j}`\n return (\n <div onClick={(e) => {\n history.push(`/records/${i}/${j}`);\n e.stopPropagation();\n }}>\n <div data-subview-index={j} class={isActive ? \"active\" : \"\"}>\n <div class=\"notificationWrapperForSubview\"></div>\n {subview.label}\n </div>\n </div>\n )\n })}\n </>\n ) : null}\n </div>\n </div>\n )\n }\n })}\n {!config.hideBranding ? (\n <div class=\"sidebarBranding\">Made with <i class=\"fas fa-heart\"></i> by Galadrim</div>\n ) : null}\n <div class=\"menu\" onClick={toggleMenu}>\n <div class=\"menuButton\">\n <i class=\"far fa-ellipsis-v\"></i>\n </div>\n {showMenu ? (\n <div class=\"menuOptions\">\n <div onClick={logout} class=\"menuOption\">\n <i class=\"far fa-sign-out\"></i> Se déconnecter\n </div>\n </div>\n ) : null}\n </div>\n </div>\n );\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import _defineProperty from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";import ColorInput from\"./inputs/ColorInput\";import RichTextInput from\"./inputs/RichTextInput\";import BetterRichTextInput from\"./inputs/BetterRichTextInput\";import DatetimeInput from\"./inputs/DatetimeInput\";import AddressInput from\"./inputs/AddressInput\";import FileInput from\"./inputs/FileInput\";import ForeignSelectInput from\"./inputs/ForeignSelectInput\";import ForeignDatalistInput from\"./inputs/ForeignDatalistInput\";import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";export default(function(_ref){var column=_ref.column,_onChange2=_ref.onChange,initialData=_ref.initialData;var dataType=column.dataType;if([\"int\",\"double\",\"float\",\"decimal\"].includes(dataType)){return/*#__PURE__*/_jsx(\"input\",{type:\"number\",onChange:function onChange(e){return _onChange2(_defineProperty({},column.name,e.target.value));},defaultValue:initialData===null||initialData===void 0?void 0:initialData[column.name],onWheel:function onWheel(e){e.target.blur();setTimeout(function(){e.target.focus();},0);}});}else if(dataType===\"tinyint\"||dataType===\"boolean\"){var _initialData$column$n;return/*#__PURE__*/_jsxs(\"select\",{onChange:function onChange(e){return _onChange2(_defineProperty({},column.name,e.target.value));},defaultValue:(_initialData$column$n=initialData===null||initialData===void 0?void 0:initialData[column.name])!==null&&_initialData$column$n!==void 0?_initialData$column$n:column.defaultOption,children:[column.optional?/*#__PURE__*/_jsx(\"option\",{value:\"NULL\",children:\"-\"}):null,/*#__PURE__*/_jsx(\"option\",{value:\"0\",children:\"Non\"}),/*#__PURE__*/_jsx(\"option\",{value:\"1\",children:\"Oui\"})]});}else if(dataType===\"select\"&&Array.isArray(column.options)){var _initialData$column$n2;return/*#__PURE__*/_jsxs(\"select\",{onChange:function onChange(e){return _onChange2(_defineProperty({},column.name,e.target.value));},defaultValue:(_initialData$column$n2=initialData===null||initialData===void 0?void 0:initialData[column.name])!==null&&_initialData$column$n2!==void 0?_initialData$column$n2:column.defaultOption,children:[column.optional?/*#__PURE__*/_jsx(\"option\",{value:\"NULL\",children:\"-\"}):null,column.options.map(function(option){return/*#__PURE__*/_jsx(\"option\",{value:option,children:option},option);})]});}else if(dataType===\"select\"){var _initialData$column$n3;return/*#__PURE__*/_jsxs(\"select\",{onChange:function onChange(e){return _onChange2(_defineProperty({},column.name,e.target.value));},defaultValue:(_initialData$column$n3=initialData===null||initialData===void 0?void 0:initialData[column.name])!==null&&_initialData$column$n3!==void 0?_initialData$column$n3:column.defaultOption,children:[column.optional?/*#__PURE__*/_jsx(\"option\",{value:\"NULL\",children:\"-\"}):null,Object.keys(column.options).map(function(key){return/*#__PURE__*/_jsx(\"option\",{value:key,children:column.options[key]},key);})]});}else if(dataType===\"datalist\"){return/*#__PURE__*/_jsx(ForeignDatalistInput,{column:column,onChange:_onChange2,initialData:initialData});}else if(dataType===\"foreign\"){return/*#__PURE__*/_jsx(ForeignSelectInput,{column:column,onChange:_onChange2,initialData:initialData});}else if(dataType===\"address\"){return/*#__PURE__*/_jsx(AddressInput,{column:column,onChange:_onChange2,initialData:initialData});}else if(dataType===\"color\"){return/*#__PURE__*/_jsx(ColorInput,{column:column,onChange:_onChange2,initialData:initialData});}else if(dataType===\"file\"){return/*#__PURE__*/_jsx(FileInput,{column:column,onChange:_onChange2,initialData:initialData});}else if(dataType===\"datetime\"){return/*#__PURE__*/_jsx(DatetimeInput,{column:column,onChange:_onChange2,initialData:initialData,withTime:true});}else if(dataType===\"date\"){return/*#__PURE__*/_jsx(DatetimeInput,{column:column,onChange:_onChange2,initialData:initialData,withTime:false});}else if(dataType===\"textarea\"){return/*#__PURE__*/_jsx(\"textarea\",{onChange:function onChange(e){return _onChange2(_defineProperty({},column.name,e.target.value));},defaultValue:initialData===null||initialData===void 0?void 0:initialData[column.name]});}else if(dataType===\"richText\"){return/*#__PURE__*/_jsx(RichTextInput,{column:column,onChange:_onChange2,initialData:initialData});}else if(dataType===\"betterRichText\"){return/*#__PURE__*/_jsx(BetterRichTextInput,{column:column,onChange:_onChange2,initialData:initialData});}else{return/*#__PURE__*/_jsx(\"input\",{type:\"text\",onChange:function onChange(e){return _onChange2(_defineProperty({},column.name,e.target.value));},defaultValue:initialData===null||initialData===void 0?void 0:initialData[column.name]});}});","map":{"version":3,"names":["ColorInput","RichTextInput","BetterRichTextInput","DatetimeInput","AddressInput","FileInput","ForeignSelectInput","ForeignDatalistInput","jsx","_jsx","jsxs","_jsxs","_ref","column","onChange","initialData","dataType","includes","type","e","_defineProperty","name","target","value","defaultValue","onWheel","blur","setTimeout","focus","_initialData$column$n","defaultOption","children","optional","Array","isArray","options","_initialData$column$n2","map","option","_initialData$column$n3","Object","keys","key","withTime"],"sources":["/home/runner/work/galadmin/galadmin/src/front/src/components/Input.js"],"sourcesContent":["import ColorInput from \"./inputs/ColorInput\"\nimport RichTextInput from \"./inputs/RichTextInput\";\nimport BetterRichTextInput from \"./inputs/BetterRichTextInput\";\nimport DatetimeInput from \"./inputs/DatetimeInput\";\nimport AddressInput from \"./inputs/AddressInput\";\nimport FileInput from \"./inputs/FileInput\";\nimport ForeignSelectInput from \"./inputs/ForeignSelectInput\";\nimport ForeignDatalistInput from \"./inputs/ForeignDatalistInput\";\n\nexport default ({ column, onChange, initialData }) => {\n const { dataType } = column;\n\n if ([\"int\", \"double\", \"float\", \"decimal\"].includes(dataType)) {\n return (\n <input\n type='number'\n onChange={(e) => onChange({ [column.name]: e.target.value })}\n defaultValue={initialData?.[column.name]}\n onWheel={(e) => {\n e.target.blur()\n setTimeout(() => {\n e.target.focus()\n }, 0)\n }}\n />\n );\n } else if (dataType === \"tinyint\" || dataType === \"boolean\") {\n return (\n <select\n onChange={(e) => onChange({ [column.name]: e.target.value })}\n defaultValue={initialData?.[column.name] ?? column.defaultOption}\n >\n {column.optional ? <option value='NULL'>-</option> : null}\n <option value='0'>Non</option>\n <option value='1'>Oui</option>\n </select>\n );\n } else if (dataType === \"select\" && Array.isArray(column.options)) {\n return (\n <select\n onChange={(e) => onChange({ [column.name]: e.target.value })}\n defaultValue={initialData?.[column.name] ?? column.defaultOption}\n >\n {column.optional ? <option value='NULL'>-</option> : null}\n {column.options.map(option => <option value={option} key={option}>{option}</option>)}\n </select>\n );\n } else if (dataType === \"select\") {\n return (\n <select\n onChange={(e) => onChange({ [column.name]: e.target.value })}\n defaultValue={initialData?.[column.name] ?? column.defaultOption}\n >\n {column.optional ? <option value='NULL'>-</option> : null}\n {Object.keys(column.options).map(key => <option value={key} key={key}>{column.options[key]}</option>)}\n </select>\n );\n } else if (dataType === \"datalist\") {\n return (\n <ForeignDatalistInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n />\n );\n } else if (dataType === \"foreign\") {\n return (\n <ForeignSelectInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n />\n );\n } else if (dataType === \"address\") {\n return (\n <AddressInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n />\n )\n } else if (dataType === \"color\") {\n return (\n <ColorInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n />\n );\n } else if (dataType === \"file\") {\n return (\n <FileInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n />\n );\n } else if (dataType === \"datetime\") {\n return (\n <DatetimeInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n withTime={true}\n />\n );\n } else if (dataType === \"date\") {\n return (\n <DatetimeInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n withTime={false}\n />\n );\n } else if (dataType === \"textarea\") {\n return (\n <textarea\n onChange={(e) => onChange({ [column.name]: e.target.value })}\n defaultValue={initialData?.[column.name]}\n >\n </textarea>\n );\n } else if (dataType === \"richText\") {\n return (\n <RichTextInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n />\n );\n } else if (dataType === \"betterRichText\") {\n return (\n <BetterRichTextInput\n column={column}\n onChange={onChange}\n initialData={initialData}\n />\n );\n } else {\n return (\n <input\n type='text'\n onChange={(e) => onChange({ [column.name]: e.target.value })}\n defaultValue={initialData?.[column.name]}\n />\n );\n }\n};"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}
@@ -1 +0,0 @@
1
- {"ast":null,"code":"import _slicedToArray from\"/home/runner/work/galadmin/galadmin/src/front/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";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 UploadTablePanelButton from\"../components/UploadTablePanelButton\";import TablePanel from\"../components/panels/TablePanel\";import GalleryPanel from\"../components/panels/GalleryPanel\";import MapPanel from\"../components/panels/MapPanel\";import{ConfigContext}from'../contexts/ConfigContext';import ChatPanel from\"../components/panels/ChatPanel\";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,config,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.canImport&&panel.type===\"table\"?/*#__PURE__*/_jsx(UploadTablePanelButton,{record:record,viewIndex:viewIndex,panel:panel,panelIndex:index,refreshData:refreshData}):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,panel.type===\"chat\"?/*#__PURE__*/_jsx(ChatPanel,{record:record,panel:panel,view:view,index:index}):null]},index);})}):null]})})]});});","map":{"version":3,"names":["useState","useEffect","useContext","axios","useParams","Link","getFormattedValue","ActionsButton","BackButton","DownloadTablePanelButton","UploadTablePanelButton","TablePanel","GalleryPanel","MapPanel","ConfigContext","ChatPanel","jsx","_jsx","jsxs","_jsxs","_view$columns","config","_useParams","viewIndex","recordId","_useState","_useState2","_slicedToArray","record","setRecord","view","views","filteredColumns","columns","filter","x","hidden","refreshData","get","params","then","response","data","class","children","label","canEdit","to","concat","map","column","index","recordViewPanels","panel","folded","canCreate","canDownload","type","canImport","panelIndex"],"sources":["/home/runner/work/galadmin/galadmin/src/front/src/pages/Record.js"],"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 UploadTablePanelButton from \"../components/UploadTablePanelButton\"\nimport TablePanel from \"../components/panels/TablePanel\"\nimport GalleryPanel from \"../components/panels/GalleryPanel\"\nimport MapPanel from \"../components/panels/MapPanel\"\nimport { ConfigContext } from '../contexts/ConfigContext'\nimport ChatPanel from \"../components/panels/ChatPanel\";\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, config, 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 {panel.canImport && panel.type === \"table\" ? <UploadTablePanelButton record={record} viewIndex={viewIndex} panel={panel} panelIndex={index} refreshData={refreshData} /> : 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 {panel.type === \"chat\" ? <ChatPanel 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"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}