@galadrim/galadmin 0.0.84 → 0.0.85
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/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.3549e962.chunk.js +2 -0
- package/src/front/build/static/js/main.3549e962.chunk.js.map +1 -0
- package/src/front/node_modules/.cache/.eslintcache +1 -1
- package/src/front/node_modules/.cache/babel-loader/33efe725d3a6c84ec95bee723b2fb83e.json +1 -0
- package/src/front/node_modules/.cache/babel-loader/7b44feb49bfd51d8ac53fa7b761016b9.json +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/3a/8a/0580849c5c3b2e4129afb70fc0eb78b4b0e243b5b1a50e7cdfd20df13711ecdbf8fc7c075b51b687a404a3347323c6e2a6b6e7113448dd34887d403f2cbf +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/{e8/ac/a16a1a6f7fadeb4a366ae0c1cf1666d807f420032f658e44db7880e589c1 → 42/1e/84e122d2d43feb8a08cfca3c2f09b86eccd1797839ec6d605df654729afb} +1 -1
- package/src/front/src/components/AddFilterButton.js +52 -15
- package/src/front/src/components/OutsideClickHandler.js +5 -1
- package/src/front/build/static/js/main.a45edf1f.chunk.js +0 -2
- package/src/front/build/static/js/main.a45edf1f.chunk.js.map +0 -1
- package/src/front/node_modules/.cache/babel-loader/8c770bcbeb7a8d26437295a8e4dadfed.json +0 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/12/b6/f0dc562c2c76dea2b7bf50fca3a2635fc68a6cecd535f620c2c8d22bf716eff37a6c3bf480b75e4e04332e6b4986058e63de1af8b32ef46d3b6ca55706e1 +0 -1
|
@@ -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{useEffect,useState,useRef}from\"react\";import OutsideClickHandler from\"./OutsideClickHandler\";import ForeignSelectInput from\"./inputs/ForeignSelectInput\";import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";import{Fragment as _Fragment}from\"react/jsx-runtime\";export default(function(_ref){var view=_ref.view,refreshData=_ref.refreshData,onAddFilter=_ref.onAddFilter;var _useState=useState(false),_useState2=_slicedToArray(_useState,2),filtersOpened=_useState2[0],setFiltersOpened=_useState2[1];var _useState3=useState(null),_useState4=_slicedToArray(_useState3,2),field=_useState4[0],setField=_useState4[1];var _useState5=useState(\"contains\"),_useState6=_slicedToArray(_useState5,2),operator=_useState6[0],setOperator=_useState6[1];var _useState7=useState(null),_useState8=_slicedToArray(_useState7,2),value=_useState8[0],setValue=_useState8[1];var foreignSelectedLabel=useRef(\"-\");var column=view.columns.find(function(c){return(c.searchableName||c.name)===field;});useEffect(function(){if((column===null||column===void 0?void 0:column.dataType)==='select'){setValue(Array.isArray(column.options)?column.options[0]:Object.keys(column.options)[0]);}},[field]);var addFilter=function addFilter(){if(field&&value){var fieldLabel=column===null||column===void 0?void 0:column.label;var searchedField=\"(\".concat((column===null||column===void 0?void 0:column.searchableName)||(column===null||column===void 0?void 0:column.name),\")\");if((column===null||column===void 0?void 0:column.dataType)==='select'){var formattedValue=!Array.isArray(column===null||column===void 0?void 0:column.options)?column.options[value]:value;onAddFilter({label:fieldLabel+\" est \"+formattedValue,query:searchedField+\" = '\"+value+\"'\"});}else if((column===null||column===void 0?void 0:column.dataType)==='foreign'){onAddFilter({label:fieldLabel+\" est \"+foreignSelectedLabel.current,query:column.name+\" = '\"+value+\"'\"});}else if(operator===\"contains\"){onAddFilter({label:fieldLabel+\" contient \"+value,query:searchedField+\" LIKE '%\"+value+\"%'\"});}else if(operator===\"notContains\"){onAddFilter({label:fieldLabel+\" ne contient pas \"+value,query:searchedField+\" NOT LIKE '%\"+value+\"%'\"});}else if(operator===\"is\"){onAddFilter({label:fieldLabel+\" est \"+value,query:searchedField+\" = '\"+value+\"'\"});}else if(operator===\"isNot\"){onAddFilter({label:fieldLabel+\" n'est pas \"+value,query:searchedField+\" != '\"+value+\"'\"});}else if(operator===\"startsWith\"){onAddFilter({label:fieldLabel+\" commence par \"+value,query:searchedField+\" LIKE '\"+value+\"%'\"});}else if(operator===\"endsWith\"){onAddFilter({label:fieldLabel+\" finit par \"+value,query:searchedField+\" LIKE '%\"+value+\"'\"});}else if(operator===\"largerThan\"){onAddFilter({label:fieldLabel+\" supérieur à \"+value,query:searchedField+\" >= \"+value});}else if(operator===\"smallerThan\"){onAddFilter({label:fieldLabel+\" inférieur à \"+value,query:searchedField+\" <= \"+value});}setField(null);setValue(null);setFiltersOpened(false);}};return/*#__PURE__*/_jsx(OutsideClickHandler,{onOutsideClick:function onOutsideClick(){return setFiltersOpened(false);},children:/*#__PURE__*/_jsxs(\"div\",{class:\"button openFilterPopup\",onClick:function onClick(){return setFiltersOpened(!filtersOpened);},children:[/*#__PURE__*/_jsx(\"i\",{class:\"fas fa-filter\"}),\" Ajouter un filtre\",filtersOpened?/*#__PURE__*/_jsxs(\"div\",{class:\"addFilterPopup\",onClick:function onClick(e){return e.stopPropagation();},children:[/*#__PURE__*/_jsx(\"div\",{class:\"filterLabel\",children:\"Champ\"}),/*#__PURE__*/_jsxs(\"select\",{onChange:function onChange(e){return setField(e.target.value);},children:[/*#__PURE__*/_jsx(\"option\",{value:\"\",children:\"S\\xE9lectionnez un champ\"}),view.columns.filter(function(_column){return(_column.searchableName||_column.name)&&_column.dataType!==\"datalist\";}).map(function(_column){var value=_column.searchableName||_column.name;return/*#__PURE__*/_jsx(\"option\",{value:value,children:_column.label},value);})]}),(column===null||column===void 0?void 0:column.dataType)==='select'?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{class:\"filterLabel\",children:\"Valeur\"}),/*#__PURE__*/_jsx(\"select\",{onChange:function onChange(e){return setValue(e.target.value);},children:Array.isArray(column.options)?column.options.map(function(value){return/*#__PURE__*/_jsx(\"option\",{value:value,children:value});}):Object.keys(column.options).map(function(value){return/*#__PURE__*/_jsx(\"option\",{value:value,children:column.options[value]});})})]}):(column===null||column===void 0?void 0:column.dataType)==='foreign'?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{class:\"filterLabel\",children:\"Valeur\"}),/*#__PURE__*/_jsx(ForeignSelectInput,{column:column,onChange:function onChange(data,info){console.log({data:data,info:info});setValue(data[column.name]);foreignSelectedLabel.current=info.label;}})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{class:\"filterLabel\",children:\"Op\\xE9rateur\"}),/*#__PURE__*/_jsxs(\"select\",{onChange:function onChange(e){return setOperator(e.target.value);},children:[/*#__PURE__*/_jsx(\"option\",{value:\"contains\",children:\"contient\"}),/*#__PURE__*/_jsx(\"option\",{value:\"notContains\",children:\"ne contient pas\"}),/*#__PURE__*/_jsx(\"option\",{value:\"startsWith\",children:\"commence par\"}),/*#__PURE__*/_jsx(\"option\",{value:\"endsWith\",children:\"finit par\"}),/*#__PURE__*/_jsx(\"option\",{value:\"is\",children:\"est\"}),/*#__PURE__*/_jsx(\"option\",{value:\"isNot\",children:\"n'est pas\"}),/*#__PURE__*/_jsx(\"option\",{value:\"largerThan\",children:\"est sup\\xE9rieur \\xE0\"}),/*#__PURE__*/_jsx(\"option\",{value:\"smallerThan\",children:\"est inf\\xE9rieur \\xE0\"})]}),/*#__PURE__*/_jsx(\"div\",{class:\"filterLabel\",children:\"Valeur\"}),/*#__PURE__*/_jsx(\"input\",{onChange:function onChange(e){return setValue(e.target.value);}})]}),/*#__PURE__*/_jsx(\"div\",{class:\"button greenButton\",onClick:addFilter,children:\"Ajouter\"})]}):null]})});});","map":{"version":3,"sources":["/home/runner/work/galadmin/galadmin/src/front/src/components/AddFilterButton.js"],"names":["useEffect","useState","useRef","OutsideClickHandler","ForeignSelectInput","view","refreshData","onAddFilter","filtersOpened","setFiltersOpened","field","setField","operator","setOperator","value","setValue","foreignSelectedLabel","column","columns","find","c","searchableName","name","dataType","Array","isArray","options","Object","keys","addFilter","fieldLabel","label","searchedField","formattedValue","query","current","e","stopPropagation","target","filter","_column","map","data","info","console","log"],"mappings":"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","sourcesContent":["import { useEffect, useState, useRef } from \"react\"\nimport OutsideClickHandler from \"./OutsideClickHandler\"\nimport ForeignSelectInput from \"./inputs/ForeignSelectInput\"\n\nexport default ({ view, refreshData, onAddFilter }) => {\n const [filtersOpened, setFiltersOpened] = useState(false)\n const [field, setField] = useState(null);\n const [operator, setOperator] = useState(\"contains\")\n const [value, setValue] = useState(null)\n\n const foreignSelectedLabel = useRef(\"-\");\n\n const column = view.columns.find(c => (c.searchableName || c.name) === field)\n\n useEffect(() => {\n if (column?.dataType === 'select') {\n setValue(Array.isArray(column.options) ? column.options[0] : Object.keys(column.options)[0])\n }\n }, [field])\n\n const addFilter = () => {\n if (field && value) {\n const fieldLabel = column?.label\n const searchedField = `(${column?.searchableName || column?.name})`\n if (column?.dataType === 'select') {\n const formattedValue = !Array.isArray(column?.options) ? column.options[value] : value\n onAddFilter({\n label: fieldLabel + \" est \" + formattedValue,\n query: searchedField + \" = '\" + value + \"'\"\n })\n } else if (column?.dataType === 'foreign') {\n onAddFilter({\n label: fieldLabel + \" est \" + foreignSelectedLabel.current,\n query: column.name + \" = '\" + value + \"'\"\n })\n } else if (operator === \"contains\") {\n onAddFilter({\n label: fieldLabel + \" contient \" + value,\n query: searchedField + \" LIKE '%\" + value + \"%'\"\n })\n } else if (operator === \"notContains\") {\n onAddFilter({\n label: fieldLabel + \" ne contient pas \" + value,\n query: searchedField + \" NOT LIKE '%\" + value + \"%'\"\n })\n } else if (operator === \"is\") {\n onAddFilter({\n label: fieldLabel + \" est \" + value,\n query: searchedField + \" = '\" + value + \"'\"\n })\n } else if (operator === \"isNot\") {\n onAddFilter({\n label: fieldLabel + \" n'est pas \" + value,\n query: searchedField + \" != '\" + value + \"'\"\n })\n } else if (operator === \"startsWith\") {\n onAddFilter({\n label: fieldLabel + \" commence par \" + value,\n query: searchedField + \" LIKE '\" + value + \"%'\"\n })\n } else if (operator === \"endsWith\") {\n onAddFilter({\n label: fieldLabel + \" finit par \" + value,\n query: searchedField + \" LIKE '%\" + value + \"'\"\n })\n } else if (operator === \"largerThan\") {\n onAddFilter({\n label: fieldLabel + \" supérieur à \" + value,\n query: searchedField + \" >= \" + value\n })\n } else if (operator === \"smallerThan\") {\n onAddFilter({\n label: fieldLabel + \" inférieur à \" + value,\n query: searchedField + \" <= \" + value\n })\n }\n setField(null)\n setValue(null)\n setFiltersOpened(false)\n }\n }\n\n return (\n <OutsideClickHandler onOutsideClick={() => setFiltersOpened(false)}>\n <div class=\"button openFilterPopup\" onClick={() => setFiltersOpened(!filtersOpened)}>\n <i class=\"fas fa-filter\"></i> Ajouter un filtre\n {filtersOpened ? (\n <div class=\"addFilterPopup\" onClick={(e) => e.stopPropagation()}>\n <div class=\"filterLabel\">Champ</div>\n <select onChange={(e) => setField(e.target.value)}>\n <option value=''>Sélectionnez un champ</option>\n {view.columns.filter(_column =>\n (_column.searchableName || _column.name) && _column.dataType !== \"datalist\"\n ).map((_column) => {\n const value = _column.searchableName || _column.name\n return (\n <option value={value} key={value}>\n {_column.label}\n </option>\n )\n })}\n </select>\n {column?.dataType === 'select' ? (\n <>\n <div class=\"filterLabel\">Valeur</div>\n <select onChange={(e) => setValue(e.target.value)}>\n {Array.isArray(column.options) ? column.options.map(value => (\n <option value={value}>{value}</option>\n )) : Object.keys(column.options).map(value => (\n <option value={value}>{column.options[value]}</option>\n ))}\n </select>\n </>\n ) : column?.dataType === 'foreign' ? (\n <>\n <div class=\"filterLabel\">Valeur</div>\n <ForeignSelectInput \n column={column} \n onChange={(data, info) => {\n console.log({data, info})\n setValue(data[column.name])\n foreignSelectedLabel.current = info.label\n }}\n />\n </>\n ) : (\n <>\n <div class=\"filterLabel\">Opérateur</div>\n <select onChange={(e) => setOperator(e.target.value)}>\n <option value=\"contains\">contient</option>\n <option value=\"notContains\">ne contient pas</option>\n <option value=\"startsWith\">commence par</option>\n <option value=\"endsWith\">finit par</option>\n <option value=\"is\">est</option>\n <option value=\"isNot\">n'est pas</option>\n <option value=\"largerThan\">est supérieur à</option>\n <option value=\"smallerThan\">est inférieur à</option>\n </select>\n <div class=\"filterLabel\">Valeur</div>\n <input onChange={(e) => setValue(e.target.value)} />\n </>\n )}\n <div class=\"button greenButton\" onClick={addFilter}>Ajouter</div>\n </div>\n ) : null}\n </div>\n </OutsideClickHandler >\n )\n}"]},"metadata":{},"sourceType":"module"}
|