@galadrim/galadmin 0.0.87 → 0.0.91
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/api.js +12 -10
- package/dist/api.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/config.d.ts +3 -0
- package/package.json +1 -1
- package/src/api.ts +13 -11
- package/src/front/build/asset-manifest.json +7 -7
- package/src/front/build/index.html +1 -1
- package/src/front/build/static/js/{2.f2c3716e.chunk.js → 2.f7eb6c73.chunk.js} +3 -3
- package/src/front/build/static/js/{2.f2c3716e.chunk.js.LICENSE.txt → 2.f7eb6c73.chunk.js.LICENSE.txt} +0 -0
- package/src/front/build/static/js/{2.f2c3716e.chunk.js.map → 2.f7eb6c73.chunk.js.map} +1 -1
- package/src/front/build/static/js/main.9866c20c.chunk.js +2 -0
- package/src/front/build/static/js/main.9866c20c.chunk.js.map +1 -0
- package/src/front/node_modules/.cache/.eslintcache +1 -1
- package/src/front/node_modules/.cache/babel-loader/24219caae014deda10c22e10394d0474.json +1 -0
- package/src/front/node_modules/.cache/babel-loader/5e5471f6262188d58fadddab6f6e34f7.json +1 -0
- package/src/front/node_modules/.cache/babel-loader/75afe094860464eea4635ac4096f166b.json +1 -0
- package/src/front/node_modules/.cache/babel-loader/a60a212019ec841a23bb8f7ceb59c51a.json +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/b8/b1/e57a780a9fc2b75c19e27fcad6c93721d4ef879c4c43a4cde3329b80a7b59900e90e27e2aeeed48429537aa3f3a9b4933c386ef3418420556380b587306c +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/fa/66/8afa4931e2987ccafcf7006dca2f32e8dab9f7d836f3e27ff09beb7cb31896ef6e6ad7c2845550340f0212bf8db417c65cd3665c63f18cf6258e9c68a20e +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/{96/a3/e4e1684d24fe2baf803921d59100b5e7ef38ab3ae521cab364cc89e14d06 → e5/36/db86229f8e748e052955d530e52e9d859c5307851c1370d3ce6e48a6c7c3} +1 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/e8/a0/0d48cce4b946fe50c4b6bf34f7e1a52058d2d785e0ff7d6f841b115a2f4a +2 -0
- package/src/front/src/pages/CreateRecord.js +3 -1
- package/src/front/src/pages/EditRecord.js +3 -1
- package/src/front/src/pages/Records.js +31 -15
- package/src/front/src/utils/checkRequiredColumns.js +18 -0
- package/src/types/config.ts +4 -1
- package/src/front/build/static/js/main.5a13ae8f.chunk.js +0 -2
- package/src/front/build/static/js/main.5a13ae8f.chunk.js.map +0 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/20/ec/f3271b43d74d3da465d9d3739b2aaddcb379161255f391e8f8f5a609983818e0af27a64d65caf6dc7e24a42a6255be22518efe9a3b6b454ff9d7c8daa4ce +0 -1
package/src/api.ts
CHANGED
|
@@ -39,7 +39,7 @@ export default (db, config) => {
|
|
|
39
39
|
queryString += ")"
|
|
40
40
|
}
|
|
41
41
|
const limit = params.allRecords ? 999999 : parseInt(params.limit)
|
|
42
|
-
const query = "SELECT " + (params.selectExpression || "*") + " FROM ?? " + (params.join || "") + queryString + " " + (params.groupBy ? "GROUP BY " + params.groupBy : "") + (params.orderBy || params.primaryId ? " ORDER BY " + (params.orderBy || `${params.table}.${params.primaryId}`) : "") + (params.isDesc ? " DESC" : "") + " LIMIT ?, ?"
|
|
42
|
+
const query = params.customQuery || ("SELECT " + (params.selectExpression || "*") + " FROM ?? " + (params.join || "") + queryString + " " + (params.groupBy ? "GROUP BY " + params.groupBy : "") + (params.orderBy || params.primaryId ? " ORDER BY " + (params.orderBy || `${params.table}.${params.primaryId}`) : "") + (params.isDesc ? " DESC" : "") + " LIMIT ?, ?")
|
|
43
43
|
const queryParams = [params.table, Math.max((params.page - 1) * limit, 0), limit]
|
|
44
44
|
const { err, rows } = await db.query(query, queryParams)
|
|
45
45
|
if (err) {
|
|
@@ -189,6 +189,7 @@ export default (db, config) => {
|
|
|
189
189
|
table: view.tableName,
|
|
190
190
|
page: req.body.page,
|
|
191
191
|
filters: sqlAnd([view.filters, req.body.subviewIndex !== undefined ? view.subviews[req.body.subviewIndex].filters : null].concat(req.body.filters)),
|
|
192
|
+
customQuery: view.customQuery,
|
|
192
193
|
join: view.join,
|
|
193
194
|
selectExpression: view.selectExpression,
|
|
194
195
|
orderBy: req.body.orderBy || view.orderBy,
|
|
@@ -278,6 +279,7 @@ export default (db, config) => {
|
|
|
278
279
|
page: 1,
|
|
279
280
|
allRecords: true,
|
|
280
281
|
filters: sqlAnd([view.filters, req.body.subviewIndex !== undefined ? view.subviews[req.body.subviewIndex].filters : null].concat(req.body.filters)),
|
|
282
|
+
customQuery: view.customQuery,
|
|
281
283
|
join: view.join,
|
|
282
284
|
selectExpression: view.selectExpression,
|
|
283
285
|
orderBy: req.body.orderBy || view.orderBy,
|
|
@@ -596,16 +598,16 @@ async function enrichConfig(config, db) {
|
|
|
596
598
|
|
|
597
599
|
function enrichColumn(column, tableName, info) {
|
|
598
600
|
column.__id__ = Math.random();
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
601
|
+
const infoEl = info.find(x => x.TABLE_NAME == tableName && x.COLUMN_NAME == column.name)
|
|
602
|
+
if (infoEl?.IS_NULLABLE == "NO" && infoEl?.DATA_TYPE != 'text' && (column.required !== true && column.required !== false)) {
|
|
603
|
+
column.required = true;
|
|
604
|
+
}
|
|
605
|
+
if (!column.dataType && infoEl) {
|
|
606
|
+
column.dataType = infoEl.DATA_TYPE;
|
|
607
|
+
if (column.dataType == "enum") {
|
|
608
|
+
column.dataType = "select";
|
|
609
|
+
column.options = JSON.parse(infoEl.COLUMN_TYPE.replace("enum(", "[").replace(")", "]").replace(/'/g, '"'))
|
|
610
|
+
}
|
|
609
611
|
}
|
|
610
612
|
if (column.dataType == "richText") {
|
|
611
613
|
column.name = column.contentField
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
3
|
"main.css": "/_HOMEPAGE_/static/css/main.6cc4d508.chunk.css",
|
|
4
|
-
"main.js": "/_HOMEPAGE_/static/js/main.
|
|
5
|
-
"main.js.map": "/_HOMEPAGE_/static/js/main.
|
|
4
|
+
"main.js": "/_HOMEPAGE_/static/js/main.9866c20c.chunk.js",
|
|
5
|
+
"main.js.map": "/_HOMEPAGE_/static/js/main.9866c20c.chunk.js.map",
|
|
6
6
|
"runtime-main.js": "/_HOMEPAGE_/static/js/runtime-main.2084140f.js",
|
|
7
7
|
"runtime-main.js.map": "/_HOMEPAGE_/static/js/runtime-main.2084140f.js.map",
|
|
8
|
-
"static/js/2.
|
|
9
|
-
"static/js/2.
|
|
8
|
+
"static/js/2.f7eb6c73.chunk.js": "/_HOMEPAGE_/static/js/2.f7eb6c73.chunk.js",
|
|
9
|
+
"static/js/2.f7eb6c73.chunk.js.map": "/_HOMEPAGE_/static/js/2.f7eb6c73.chunk.js.map",
|
|
10
10
|
"index.html": "/_HOMEPAGE_/index.html",
|
|
11
11
|
"static/css/main.6cc4d508.chunk.css.map": "/_HOMEPAGE_/static/css/main.6cc4d508.chunk.css.map",
|
|
12
|
-
"static/js/2.
|
|
12
|
+
"static/js/2.f7eb6c73.chunk.js.LICENSE.txt": "/_HOMEPAGE_/static/js/2.f7eb6c73.chunk.js.LICENSE.txt",
|
|
13
13
|
"static/media/App.css": "/_HOMEPAGE_/static/media/gt-eesti-regular.304a7ae0.woff",
|
|
14
14
|
"static/media/logo.e407b9ca.png": "/_HOMEPAGE_/static/media/logo.e407b9ca.png"
|
|
15
15
|
},
|
|
16
16
|
"entrypoints": [
|
|
17
17
|
"static/js/runtime-main.2084140f.js",
|
|
18
|
-
"static/js/2.
|
|
18
|
+
"static/js/2.f7eb6c73.chunk.js",
|
|
19
19
|
"static/css/main.6cc4d508.chunk.css",
|
|
20
|
-
"static/js/main.
|
|
20
|
+
"static/js/main.9866c20c.chunk.js"
|
|
21
21
|
]
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="fr"><head><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script><script src="https://momentjs.com/downloads/moment-timezone-with-data-10-year-range.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/locale/fr.js"></script><script async="async" defer="defer" src="https://cdnjs.cloudflare.com/ajax/libs/spectrum/1.8.0/spectrum.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/js/datepicker.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/js/i18n/datepicker.fr.min.js"></script><script async="async" defer="defer" src="https://cdnjs.cloudflare.com/ajax/libs/downloadjs/1.4.8/download.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script><script async="async" defer="defer" src="https://cdn.jsdelivr.net/npm/sweetalert"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/quill/1.3.6/quill.min.js"></script><script src="https://sdk.amazonaws.com/js/aws-sdk-2.606.0.min.js"></script><script src="https://kit.fontawesome.com/75b28933ed.js" crossorigin="anonymous" async="async" defer="defer"></script><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/css/datepicker.min.css"/><link rel="stylesheet" href="/_HOMEPAGE_/spectrum.css"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/quill/1.3.6/quill.snow.min.css"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta charset="utf-8"/><link rel="icon" href="/_HOMEPAGE_/favicon.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="/_HOMEPAGE_/manifest.json"/><title>Back-office</title><link href="/_HOMEPAGE_/static/css/main.6cc4d508.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,l,a=r[0],f=r[1],i=r[2],c=0,s=[];c<a.length;c++)l=a[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,i||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,a=1;a<t.length;a++){var f=t[a];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={1:0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/_HOMEPAGE_/";var a=this["webpackJsonpgaladmin-front"]=this["webpackJsonpgaladmin-front"]||[],f=a.push.bind(a);a.push=r,a=a.slice();for(var i=0;i<a.length;i++)r(a[i]);var p=f;t()}([])</script><script src="/_HOMEPAGE_/static/js/2.
|
|
1
|
+
<!doctype html><html lang="fr"><head><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script><script src="https://momentjs.com/downloads/moment-timezone-with-data-10-year-range.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/locale/fr.js"></script><script async="async" defer="defer" src="https://cdnjs.cloudflare.com/ajax/libs/spectrum/1.8.0/spectrum.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/js/datepicker.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/js/i18n/datepicker.fr.min.js"></script><script async="async" defer="defer" src="https://cdnjs.cloudflare.com/ajax/libs/downloadjs/1.4.8/download.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script><script async="async" defer="defer" src="https://cdn.jsdelivr.net/npm/sweetalert"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/quill/1.3.6/quill.min.js"></script><script src="https://sdk.amazonaws.com/js/aws-sdk-2.606.0.min.js"></script><script src="https://kit.fontawesome.com/75b28933ed.js" crossorigin="anonymous" async="async" defer="defer"></script><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/air-datepicker/2.2.3/css/datepicker.min.css"/><link rel="stylesheet" href="/_HOMEPAGE_/spectrum.css"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/quill/1.3.6/quill.snow.min.css"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta charset="utf-8"/><link rel="icon" href="/_HOMEPAGE_/favicon.png"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="/_HOMEPAGE_/manifest.json"/><title>Back-office</title><link href="/_HOMEPAGE_/static/css/main.6cc4d508.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,l,a=r[0],f=r[1],i=r[2],c=0,s=[];c<a.length;c++)l=a[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,i||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,a=1;a<t.length;a++){var f=t[a];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={1:0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/_HOMEPAGE_/";var a=this["webpackJsonpgaladmin-front"]=this["webpackJsonpgaladmin-front"]||[],f=a.push.bind(a);a.push=r,a=a.slice();for(var i=0;i<a.length;i++)r(a[i]);var p=f;t()}([])</script><script src="/_HOMEPAGE_/static/js/2.f7eb6c73.chunk.js"></script><script src="/_HOMEPAGE_/static/js/main.9866c20c.chunk.js"></script></body></html>
|