@galadrim/galadmin 0.1.8 → 0.1.12

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 (30) hide show
  1. package/dist/api.js +2 -1
  2. package/dist/api.js.map +1 -1
  3. package/dist/tsconfig.tsbuildinfo +1 -1
  4. package/dist/types/config.d.ts +32 -31
  5. package/package.json +2 -2
  6. package/src/api.ts +2 -1
  7. package/src/front/build/asset-manifest.json +3 -3
  8. package/src/front/build/index.html +1 -1
  9. package/src/front/build/static/js/main.41b4c7b0.chunk.js +2 -0
  10. package/src/front/build/static/js/main.41b4c7b0.chunk.js.map +1 -0
  11. package/src/front/node_modules/.cache/.eslintcache +1 -1
  12. package/src/front/node_modules/.cache/babel-loader/9927257e5a1c34883ddacb1665837685.json +1 -0
  13. package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/55/2e/532185baf9d4193531944361bcc44af3adc322983b2b219704fccdc42b234ac5a08820b33d496cb7f7a9b0a4b656ba46d4222c816658dfe7cba112ba0f8e +1 -0
  14. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/{62/bf/4d0bed81c731f8de025d3d7325b3ddecae4d4940036de9027a342c5100df → 77/76/87d901f3ac114d66548b68159bacc2a530b3251dbe62c2c09ff6fd29bd73} +1 -1
  15. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/87/08/421190bfe6e50816e059da6c33526c9943732ef856ebd2752d0cbfb4a852 +1 -1
  16. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/f3/67/591e18ebf4c0bef454dd26c51b3a6caca691338ed27811d59ddef26e7031 +1 -1
  17. package/src/front/node_modules/.package-lock.json +6 -1
  18. package/src/front/package-lock.json +6 -1
  19. package/src/front/src/components/Input.js +1 -1
  20. package/src/types/config.ts +2 -0
  21. package/src/front/build/static/js/main.e23875e4.chunk.js +0 -2
  22. package/src/front/build/static/js/main.e23875e4.chunk.js.map +0 -1
  23. package/src/front/node_modules/.cache/babel-loader/35765a1a683877bd7229c164062f715e.json +0 -1
  24. package/src/front/node_modules/.cache/babel-loader/472483d7359abc2d6cbe00f9b7c22e55.json +0 -1
  25. package/src/front/node_modules/.cache/babel-loader/e37c21537bc5013b9a2a6a8c1ea68430.json +0 -1
  26. package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/b8/b1/e57a780a9fc2b75c19e27fcad6c93721d4ef879c4c43a4cde3329b80a7b59900e90e27e2aeeed48429537aa3f3a9b4933c386ef3418420556380b587306c +0 -1
  27. package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/bd/f2/61c53645f95ac3ad1ace732e4a011e3590dd4c257cc9f0a88cef527de898b2c806512e065a25527232f30ac5cd37a6f14c0678a061cad3a0ed839cd34618 +0 -1
  28. package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/c2/5c/7ec02edf68834865ea433a20d030f518416edf440adfad32f86931fc70519fb17d2ff282c9020744289218a9fe89f1e1d5f7280e9438171f28f8c5075582 +0 -1
  29. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/bc/60/45a8cd3b5ff1c55a654323e4532eaa0218e186e53786ef1acf429ff046a5 +0 -2
  30. package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/e8/a0/0d48cce4b946fe50c4b6bf34f7e1a52058d2d785e0ff7d6f841b115a2f4a +0 -2
@@ -1,5 +1,5 @@
1
- export declare type Filter = {};
2
- export declare type BaseTypeColumn = {
1
+ export type Filter = {};
2
+ export type BaseTypeColumn = {
3
3
  label: string;
4
4
  hideInTable?: boolean;
5
5
  canEditOnCreation?: boolean;
@@ -12,22 +12,23 @@ export declare type BaseTypeColumn = {
12
12
  labelTooltip?: string;
13
13
  required?: boolean;
14
14
  };
15
- export declare type ColorColumn = {
15
+ export type ColorColumn = {
16
16
  dataType: 'color';
17
17
  name: string;
18
18
  };
19
- export declare type StandardColumn = {
19
+ export type StandardColumn = {
20
20
  name?: string;
21
21
  };
22
- export declare type SelectColumn = {
22
+ export type SelectColumn = {
23
23
  dataType: 'select';
24
24
  name: string;
25
25
  options: string[] | {
26
26
  [key: string]: string;
27
27
  };
28
+ defaultOption: string;
28
29
  optional?: boolean;
29
30
  };
30
- export declare type AddressColumn = {
31
+ export type AddressColumn = {
31
32
  dataType: 'address';
32
33
  latitudeField?: string;
33
34
  longitudeField?: string;
@@ -40,15 +41,15 @@ export declare type AddressColumn = {
40
41
  countryField?: string;
41
42
  postalCodeField?: string;
42
43
  };
43
- export declare type DateColumn = {
44
+ export type DateColumn = {
44
45
  dataType: 'date';
45
46
  name: string;
46
47
  };
47
- export declare type DatetimeColumn = {
48
+ export type DatetimeColumn = {
48
49
  dataType: 'datetime';
49
50
  name: string;
50
51
  };
51
- export declare type ForeignSelectColumn = {
52
+ export type ForeignSelectColumn = {
52
53
  dataType: 'foreign';
53
54
  name: string;
54
55
  table: string;
@@ -61,7 +62,7 @@ export declare type ForeignSelectColumn = {
61
62
  optional?: boolean;
62
63
  formatForeignValue?: (record: any) => string;
63
64
  };
64
- export declare type ForeignDatalistColumn = {
65
+ export type ForeignDatalistColumn = {
65
66
  dataType: 'datalist';
66
67
  name: string;
67
68
  table: string;
@@ -75,16 +76,16 @@ export declare type ForeignDatalistColumn = {
75
76
  optional?: boolean;
76
77
  formatForeignValue?: (record: any) => string;
77
78
  };
78
- export declare type TextareaColumn = {
79
+ export type TextareaColumn = {
79
80
  dataType: 'textarea';
80
81
  name: string;
81
82
  };
82
- export declare type RichTextColumn = {
83
+ export type RichTextColumn = {
83
84
  dataType: 'richText';
84
85
  htmlField: string;
85
86
  contentField: string;
86
87
  };
87
- export declare type FileColumn = {
88
+ export type FileColumn = {
88
89
  dataType: 'file';
89
90
  name: string;
90
91
  publicPath?: string;
@@ -104,8 +105,8 @@ export declare type FileColumn = {
104
105
  password: string;
105
106
  };
106
107
  };
107
- export declare type Column = BaseTypeColumn & (StandardColumn | ColorColumn | SelectColumn | AddressColumn | DateColumn | DatetimeColumn | ForeignSelectColumn | ForeignDatalistColumn | RichTextColumn | TextareaColumn | FileColumn);
108
- export declare type CreateType = {
108
+ export type Column = BaseTypeColumn & (StandardColumn | ColorColumn | SelectColumn | AddressColumn | DateColumn | DatetimeColumn | ForeignSelectColumn | ForeignDatalistColumn | RichTextColumn | TextareaColumn | FileColumn);
109
+ export type CreateType = {
109
110
  canCreate: true;
110
111
  aNewSingular: string;
111
112
  createFilters?: {
@@ -115,12 +116,12 @@ export declare type CreateType = {
115
116
  redirectToCreatedItems?: boolean;
116
117
  };
117
118
  };
118
- export declare type CustomAction = {
119
+ export type CustomAction = {
119
120
  label: string;
120
121
  action: (record: any) => void;
121
122
  successMessage?: string;
122
123
  };
123
- export declare type TableView = {
124
+ export type TableView = {
124
125
  type: 'table';
125
126
  icon?: string;
126
127
  label: string;
@@ -159,21 +160,21 @@ export declare type TableView = {
159
160
  } & (CreateType | {
160
161
  canCreate?: false;
161
162
  });
162
- export declare type Subview = {
163
+ export type Subview = {
163
164
  label: string;
164
165
  filters: string;
165
166
  };
166
- export declare type BaseTypePanel = {
167
+ export type BaseTypePanel = {
167
168
  label: string;
168
169
  folded?: boolean;
169
170
  };
170
- export declare type CreateConfig = {
171
+ export type CreateConfig = {
171
172
  label: string;
172
173
  recordIdKey: string;
173
174
  columns: Column[];
174
175
  redirectToCreatedItems?: boolean;
175
176
  };
176
- export declare type TablePanel = {
177
+ export type TablePanel = {
177
178
  type: "table";
178
179
  query: string;
179
180
  formattedQuery?: string;
@@ -200,14 +201,14 @@ export declare type TablePanel = {
200
201
  id: number;
201
202
  }) => void;
202
203
  };
203
- export declare type MapPanel = {
204
+ export type MapPanel = {
204
205
  type: "map";
205
206
  query: string;
206
207
  latitudeField: string;
207
208
  longitudeField: string;
208
209
  zoom?: number;
209
210
  };
210
- export declare type GalleryPanel = {
211
+ export type GalleryPanel = {
211
212
  type: "gallery";
212
213
  tableName?: string;
213
214
  primaryId?: string;
@@ -219,38 +220,38 @@ export declare type GalleryPanel = {
219
220
  pathField?: string;
220
221
  objectFit?: 'cover' | 'contain';
221
222
  };
222
- export declare type ViewPanel = BaseTypePanel & (TablePanel | MapPanel | GalleryPanel);
223
- export declare type IframeView = {
223
+ export type ViewPanel = BaseTypePanel & (TablePanel | MapPanel | GalleryPanel);
224
+ export type IframeView = {
224
225
  type: 'iframe';
225
226
  src: string;
226
227
  icon?: string;
227
228
  label: string;
228
229
  };
229
- export declare type LinkView = {
230
+ export type LinkView = {
230
231
  type: 'link';
231
232
  src: string;
232
233
  icon?: string;
233
234
  label: string;
234
235
  };
235
- export declare type CustomView = {
236
+ export type CustomView = {
236
237
  type: 'custom';
237
238
  icon?: string;
238
239
  label: string;
239
240
  componentPath: string;
240
241
  };
241
- export declare type BaseTypeView = {
242
+ export type BaseTypeView = {
242
243
  hidden?: boolean;
243
244
  roles?: string[];
244
245
  };
245
- export declare type View = BaseTypeView & (TableView | IframeView | LinkView | CustomView);
246
- export declare type AuthRole = {
246
+ export type View = BaseTypeView & (TableView | IframeView | LinkView | CustomView);
247
+ export type AuthRole = {
247
248
  role: string;
248
249
  table: string;
249
250
  usernameField: string;
250
251
  passwordField: string;
251
252
  idField: string;
252
253
  };
253
- export declare type Config = {
254
+ export type Config = {
254
255
  name: string;
255
256
  sessionSecret: string;
256
257
  useMysql2?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galadrim/galadmin",
3
- "version": "0.1.8",
3
+ "version": "0.1.12",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -34,7 +34,7 @@
34
34
  "@types/express": "^4.17.13",
35
35
  "@types/express-session": "1.17.0",
36
36
  "@types/mime": "^2.0.3",
37
- "@types/node": "^16.4.8"
37
+ "@types/node": "^16.18.11"
38
38
  },
39
39
  "repository": {
40
40
  "type": "git",
package/src/api.ts CHANGED
@@ -555,7 +555,8 @@ export default (db, config, user) => {
555
555
  const dimensions = sizeOf(files.file[0].path);
556
556
  aspectRatio = dimensions.height / dimensions.width;
557
557
  }
558
- const path = (s3Config.subfolder ? s3Config.subfolder + "/" : "") + Math.random().toString().substr(2) + "." + extension;
558
+ const originalFilenameWithoutExtension = files.file[0].originalFilename.replace("." + extension, "")
559
+ const path = (s3Config.subfolder ? s3Config.subfolder + "/" : "") + originalFilenameWithoutExtension + "-" + Math.random().toString().substr(2) + "." + extension;
559
560
 
560
561
  if (s3Config.signedUrlNeeded) {
561
562
  const signedUrl = s3.getSignedUrl('putObject', {
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "files": {
3
3
  "main.css": "/_HOMEPAGE_/static/css/main.6cc4d508.chunk.css",
4
- "main.js": "/_HOMEPAGE_/static/js/main.e23875e4.chunk.js",
5
- "main.js.map": "/_HOMEPAGE_/static/js/main.e23875e4.chunk.js.map",
4
+ "main.js": "/_HOMEPAGE_/static/js/main.41b4c7b0.chunk.js",
5
+ "main.js.map": "/_HOMEPAGE_/static/js/main.41b4c7b0.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
8
  "static/js/2.778cdac1.chunk.js": "/_HOMEPAGE_/static/js/2.778cdac1.chunk.js",
@@ -17,6 +17,6 @@
17
17
  "static/js/runtime-main.2084140f.js",
18
18
  "static/js/2.778cdac1.chunk.js",
19
19
  "static/css/main.6cc4d508.chunk.css",
20
- "static/js/main.e23875e4.chunk.js"
20
+ "static/js/main.41b4c7b0.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.778cdac1.chunk.js"></script><script src="/_HOMEPAGE_/static/js/main.e23875e4.chunk.js"></script></body></html>
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.778cdac1.chunk.js"></script><script src="/_HOMEPAGE_/static/js/main.41b4c7b0.chunk.js"></script></body></html>
@@ -0,0 +1,2 @@
1
+ (this["webpackJsonpgaladmin-front"]=this["webpackJsonpgaladmin-front"]||[]).push([[0],{16:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_exports__.a=function(expression,data){try{var varString="";for(var key in data)varString+="var "+key+" = "+("string"===typeof data[key]?"'"+data[key].replace(/'/g,"\\'").replace(/\n/g,"<br>").replace(/\r/g,"")+"'":"object"===typeof data[key]?JSON.stringify(data[key]):data[key])+";";return eval(varString+expression)}catch(e){return console.log(varString+expression),console.error(e),"Error"}}},49:function(e,t,n){},50:function(e,t,n){},6:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ConfigContext})),__webpack_require__.d(__webpack_exports__,"b",(function(){return ConfigProvider}));var _home_runner_work_galadmin_galadmin_src_front_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2),react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(1),react__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__),axios__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(3),axios__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_2__),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(0),react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__),ConfigContext=Object(react__WEBPACK_IMPORTED_MODULE_1__.createContext)(null),ConfigProvider=function ConfigProvider(props){var _useState=Object(react__WEBPACK_IMPORTED_MODULE_1__.useState)(null),_useState2=Object(_home_runner_work_galadmin_galadmin_src_front_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__.a)(_useState,2),config=_useState2[0],setConfig=_useState2[1];return Object(react__WEBPACK_IMPORTED_MODULE_1__.useEffect)((function(){axios__WEBPACK_IMPORTED_MODULE_2___default.a.get("/config").then((function(response){var _config=eval("("+response.data.config+")");if(setConfig(_config),_config.googleMapsKey){var script=document.createElement("script");return script.src="https://maps.googleapis.com/maps/api/js?key="+_config.googleMapsKey+"&libraries=places,autocomplete",document.body.appendChild(script),function(){document.body.removeChild(script)}}}))}),[]),config?Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(ConfigContext.Provider,{value:config,children:props.children}):null}},75:function(e,t,n){"use strict";n.r(t);var c=n(1),r=n.n(c),a=n(39),i=n.n(a),l=(n(49),n(2)),o=n(7),s=n(8),u=(n(50),n(6)),d=n(0),j=function(e){var t=e.view;return Object(d.jsxs)(d.Fragment,{children:[Object(d.jsx)("div",{class:"sidebarIcon",children:Object(d.jsx)("i",{class:"fas fa-".concat(t.icon||"square")})}),Object(d.jsx)("div",{class:"sidebarLabel",children:t.label})]})},b=function(){var e=Object(s.h)(),t=Object(c.useContext)(u.a),n=Object(s.g)();return Object(d.jsxs)("div",{class:"sidebar",children:[t.logo?Object(d.jsx)("img",{src:t.logo,class:"logo"}):null,Object(d.jsx)("div",{class:"sidebarTitle",children:t.name}),Object(d.jsx)("div",{class:"sidebarSubtitle",children:"Back-office"}),t.views.filter((function(e){return!e.hidden})).map((function(t,c){if("link"===t.type)return Object(d.jsx)("a",{href:t.src,children:Object(d.jsx)("div",{class:"sidebarItem",children:Object(d.jsx)("div",{children:Object(d.jsx)(j,{view:t})})})},c);if("iframe"===t.type){var r=e.pathname==="/iframe/".concat(c);return Object(d.jsx)(o.b,{to:"/iframe/".concat(c),children:Object(d.jsx)("div",{class:"sidebarItem ".concat(r?"active":""),children:Object(d.jsx)("div",{children:Object(d.jsx)(j,{view:t})})})},c)}if("custom"===t.type){var a=e.pathname==="/customView/".concat(c);return Object(d.jsx)(o.b,{to:"/customView/".concat(c),children:Object(d.jsx)("div",{class:"sidebarItem ".concat(a?"active":""),children:Object(d.jsx)("div",{children:Object(d.jsx)(j,{view:t})})})},c)}if("table"===t.type){var i=e.pathname.startsWith("/records/".concat(c))||e.pathname==="/createRecord/".concat(c)||e.pathname.startsWith("/record/".concat(c))||e.pathname.startsWith("/editRecord/".concat(c));return Object(d.jsx)("div",{onClick:function(){return n.push("/records/".concat(c))},children:Object(d.jsxs)("div",{class:"sidebarItem ".concat(i?"active":""),children:[Object(d.jsxs)("div",{children:[Object(d.jsx)("div",{class:"notificationWrapper"}),Object(d.jsx)(j,{view:t})]}),t.subviews?Object(d.jsxs)(d.Fragment,{children:[Object(d.jsx)("div",{class:"subviewsSeparator"}),t.subviews.map((function(t,r){var a=e.pathname=="/records/".concat(c,"/").concat(r);return Object(d.jsx)("div",{onClick:function(e){n.push("/records/".concat(c,"/").concat(r)),e.stopPropagation()},children:Object(d.jsxs)("div",{"data-subview-index":r,class:a?"active":"",children:[Object(d.jsx)("div",{class:"notificationWrapperForSubview"}),t.label]})})}))]}):null]},c)})}})),t.hideBranding?null:Object(d.jsxs)("div",{class:"sidebarBranding",children:["Made with ",Object(d.jsx)("i",{class:"fas fa-heart"})," by Galadrim"]})]})},f=function(){var e=Object(c.useContext)(u.a).views[0];return e?"table"===e.type?Object(d.jsx)(s.a,{to:"/records/0"}):"iframe"===e.type?Object(d.jsx)(s.a,{to:"/iframe/0"}):"custom"===e.type?Object(d.jsx)(s.a,{to:"/customView/0"}):null:null},v=n(15),p=n(4),O=n.n(p),h=n(10),x=n(23),m=n(3),_=n.n(m),g=n(5),w=function(e){var t=e.column,n=e.onChange,r=e.initialData,a=Object(c.useRef)(null);return Object(c.useEffect)((function(){return a.current&&(window.$(a.current).spectrum({preferredFormat:"hex",showInput:!0,chooseText:"OK",cancelText:"Annuler",color:null===r||void 0===r?void 0:r[t.name]}),window.$(a.current).on("change.spectrum",(function(e,c){n(Object(g.a)({},t.name,c.toHexString()))}))),function(){return window.$(a.current).off()}}),[a.current]),Object(d.jsx)("input",{ref:a,type:"text",onChange:function(e){return n(Object(g.a)({},t.name,e.target.value))}})};window.Quill.prototype.getHTML=function(){return this.container.querySelector(".ql-editor").innerHTML};var y=function(e){var t=e.column,n=e.onChange,r=e.initialData,a=Object(c.useRef)(null);return Object(c.useEffect)((function(){if(a.current&&!a.current.editor){var e=new window.Quill(a.current,{theme:"snow",modules:{toolbar:[[{header:[1,2,3,4,!1]}],["bold","italic","underline","link"],["image"],[{align:[]}],[{list:"ordered"},{list:"bullet"}],["clean"]]}});if(null===r||void 0===r?void 0:r[t.contentField])try{e.setContents(JSON.parse(null===r||void 0===r?void 0:r[t.contentField]))}catch(c){}return e.on("text-change",(function(){var c;n((c={},Object(g.a)(c,t.htmlField,e.getHTML()),Object(g.a)(c,t.contentField,JSON.stringify(e.getContents())),c))})),a.current.editor=e,e.off()}}),[a.current]),Object(d.jsx)("div",{class:"quillContainer",children:Object(d.jsx)("div",{class:"quill",ref:a,style:t.height?{height:t.height}:null})})},C=function(e){var t=e.column,n=e.onChange,r=e.initialData,a=e.withTime,i=Object(c.useRef)(null);return Object(c.useEffect)((function(){if(i.current){var e=window.$(i.current).datepicker({language:"fr",autoClose:!0,onSelect:function(e,c){n(Object(g.a)({},t.name,window.moment(c).format(a?null:"YYYY-MM-DD")))}});(null===r||void 0===r?void 0:r[t.name])&&e.data("datepicker").selectDate(new Date(null===r||void 0===r?void 0:r[t.name]))}}),[i.current]),Object(d.jsx)("div",{children:Object(d.jsx)("input",{type:"text",ref:i,"data-timepicker":a?"true":"false"})})},I=function(e){var t=e.column,n=e.onChange,r=e.initialData,a=Object(c.useRef)(null);return Object(c.useEffect)((function(){if(a.current&&window.google){var e=new window.google.maps.places.Autocomplete(a.current,t.componentRestrictions?{componentRestrictions:t.componentRestrictions}:{});e.addListener("place_changed",(function(){var c=e.getPlace();if(0!==c.length&&c.geometry){var r={latitudeField:function(e){return e.geometry.location.lat()},longitudeField:function(e){return e.geometry.location.lng()},addressField:function(e){return e.formatted_address},streetNumberField:function(e){var t;return null===(t=e.address_components.find((function(e){return"street_number"===e.type})))||void 0===t?void 0:t.long_name},routeField:function(e){var t;return null===(t=e.address_components.find((function(e){return"route"===e.type})))||void 0===t?void 0:t.long_name},localityField:function(e){var t;return null===(t=e.address_components.find((function(e){return"locality"===e.type})))||void 0===t?void 0:t.long_name},administrativeAreaLevel2Field:function(e){var t;return null===(t=e.address_components.find((function(e){return"administrative_area_level_2"===e.type})))||void 0===t?void 0:t.long_name},administrativeAreaLevel1Field:function(e){var t;return null===(t=e.address_components.find((function(e){return"administrative_area_level_1"===e.type})))||void 0===t?void 0:t.long_name},countryField:function(e){var t;return null===(t=e.address_components.find((function(e){return"country"===e.type})))||void 0===t?void 0:t.long_name},postalCodeField:function(e){var t;return null===(t=e.address_components.find((function(e){return"postal_code"===e.type})))||void 0===t?void 0:t.long_name}},i={};for(var l in r)t[l]&&(i[t[l]]=r[l](c));a.current.value=c.formatted_address,n(i)}}))}}),[a.current]),Object(c.useEffect)((function(){var e,t=function(){a.current&&(a.current.value="")};return null===a||void 0===a||null===(e=a.current)||void 0===e||e.addEventListener("focusout",t),function(){var e;return null===a||void 0===a||null===(e=a.current)||void 0===e?void 0:e.removeEventListener("focusout",t)}}),[a.current]),Object(d.jsx)("div",{children:Object(d.jsx)("input",{type:"text",placeholder:"",ref:a,defaultValue:null===r||void 0===r?void 0:r[t.name]})})},k=function(e){var t=e.column,n=e.onChange,r=e.initialData,a=Object(c.useRef)(null),i=Object(s.i)().viewIndex,o=Object(c.useState)(!1),u=Object(l.a)(o,2),j=u[0],b=u[1],f=Object(c.useState)(null===r||void 0===r?void 0:r[t.name]),v=Object(l.a)(f,2),p=v[0],x=v[1],m=function(){var e=Object(h.a)(O.a.mark((function e(){var c,r,l;return O.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=new FormData(a.current),b(!0),e.next=4,_()({method:"post",url:"/uploadFile",data:c,params:{viewIndex:i,columnId:t.__id__},headers:{"Content-Type":"multipart/form-data"}});case 4:r=e.sent,l=Object(g.a)({},t.name,r.data.path),t.aspectRatioField&&(l[t.aspectRatioField]=r.data.aspectRatio),t.originalNameField&&(l[t.originalNameField]=r.data.originalFilename),n(l),b(!1),x(r.data.path);case 11:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),w=Math.random().toString();return Object(d.jsx)("div",{class:"fileInputContainer",children:Object(d.jsxs)("label",{htmlFor:w,children:[Object(d.jsx)("form",{ref:a,children:Object(d.jsx)("input",{type:"file",id:w,style:{display:"none"},name:"file",onChange:m})}),Object(d.jsxs)("div",{class:"fileInputContent ".concat(p?"":"clickToSelectFile"),children:[j?Object(d.jsx)("i",{class:"fa fa-circle-notch fa-spin"}):null,j||p?null:Object(d.jsx)("div",{children:"Cliquez pour s\xe9lectionner un fichier"}),!j&&p?Object(d.jsxs)("div",{class:"nonImageFileOutput",children:[Object(d.jsx)("span",{children:"Fichier t\xe9l\xe9charg\xe9"}),Object(d.jsx)("div",{class:"deleteFile",onClick:function(e){x(null);var c=Object(g.a)({},t.name,null);t.aspectRatioField&&(c[t.aspectRatioField]=null),t.originalNameField&&(c[t.originalNameField]=null),n(c),e.preventDefault()},children:Object(d.jsx)("i",{class:"fal fa-trash-alt"})})]}):null]})]})})},E=function(e){var t=e.column,n=e.onChange,r=e.initialData,a=Object(c.useState)(null),i=Object(l.a)(a,2),o=i[0],u=i[1],j=Object(s.i)().viewIndex;return Object(c.useEffect)((function(){_.a.post("/foreignSelectRecords",{viewIndex:j,columnId:t.__id__}).then((function(e){var c,a;u(e.data),n(Object(g.a)({},t.name,(null===r||void 0===r?void 0:r[t.name])||(t.optional?"NULL":null===(c=e.data[0])||void 0===c?void 0:c.value)),{label:t.optional?"-":null===(a=e.data[0])||void 0===a?void 0:a.label})}))}),[]),null===o?Object(d.jsx)("i",{class:"fa fa-circle-notch fa-spin",style:{color:"#536579"}}):Object(d.jsxs)("select",{onChange:function(e){var c;return n(Object(g.a)({},t.name,e.target.value),{label:null===(c=o.find((function(t){return t.value==e.target.value})))||void 0===c?void 0:c.label})},defaultValue:null===r||void 0===r?void 0:r[t.name],children:[t.optional?Object(d.jsx)("option",{value:"NULL",children:"-"}):null,o.map((function(e){return Object(d.jsx)("option",{value:e.value,children:e.label},e.value)}))]})},T=function(e){var t,n=e.column,r=e.onChange,a=e.initialData,i=Object(c.useState)([]),o=Object(l.a)(i,2),u=o[0],j=o[1],b=Object(s.i)().viewIndex,f=Object(c.useState)(""),v=Object(l.a)(f,2),p=v[0],O=v[1],h=Object(c.useRef)(null),x=Object(c.useRef)(!1);Object(c.useEffect)((function(){_.a.post("/foreignSelectRecords",{viewIndex:b,columnId:n.__id__,query:p}).then((function(e){j(e.data)}))}),[p]),Object(c.useEffect)((function(){var e,t=function(){h.current&&!x.current&&(h.current.value="")};return null===h||void 0===h||null===(e=h.current)||void 0===e||e.addEventListener("focusout",t),function(){var e;return null===h||void 0===h||null===(e=h.current)||void 0===e?void 0:e.removeEventListener("focusout",t)}}),[h.current]);var m=Math.random();return null===u?Object(d.jsx)("i",{class:"fa fa-circle-notch fa-spin",style:{color:"#536579"}}):Object(d.jsxs)("div",{children:[Object(d.jsx)("input",{type:"text",list:m,ref:h,onChange:function(e){var t,c,a=null!==(t=null===(c=u.find((function(t){return t.label===e.target.value})))||void 0===c?void 0:c.value)&&void 0!==t?t:null;x.current=!!a,O(e.target.value),r(Object(g.a)({},n.name,a))},defaultValue:null===(t=u.find((function(e){return e.value===(null===a||void 0===a?void 0:a[n.name])})))||void 0===t?void 0:t.label}),Object(d.jsxs)("datalist",{id:m,children:[n.optional?Object(d.jsx)("option",{value:"NULL",children:"-"}):null,u.map((function(e){return Object(d.jsx)("option",{value:e.label,children:e.label},e.value)}))]})]})},D=function(e){var t=e.column,n=e.onChange,c=e.initialData,r=t.dataType;return["int","double","float","decimal"].includes(r)?Object(d.jsx)("input",{type:"number",onChange:function(e){return n(Object(g.a)({},t.name,e.target.value))},defaultValue:null===c||void 0===c?void 0:c[t.name]}):"tinyint"===r?Object(d.jsxs)("select",{onChange:function(e){return n(Object(g.a)({},t.name,e.target.value))},defaultValue:null===c||void 0===c?void 0:c[t.name],children:[t.optional?Object(d.jsx)("option",{value:"NULL",children:"-"}):null,Object(d.jsx)("option",{value:"0",children:"Non"}),Object(d.jsx)("option",{value:"1",children:"Oui"})]}):"select"===r&&Array.isArray(t.options)?Object(d.jsxs)("select",{onChange:function(e){return n(Object(g.a)({},t.name,e.target.value))},defaultValue:(null===c||void 0===c?void 0:c[t.name])||t.defaultValue,children:[t.optional?Object(d.jsx)("option",{value:"NULL",children:"-"}):null,t.options.map((function(e){return Object(d.jsx)("option",{value:e,children:e},e)}))]}):"select"===r?Object(d.jsxs)("select",{onChange:function(e){return n(Object(g.a)({},t.name,e.target.value))},defaultValue:null===c||void 0===c?void 0:c[t.name],children:[t.optional?Object(d.jsx)("option",{value:"NULL",children:"-"}):null,Object.keys(t.options).map((function(e){return Object(d.jsx)("option",{value:e,children:t.options[e]},e)}))]}):"datalist"===r?Object(d.jsx)(T,{column:t,onChange:n,initialData:c}):"foreign"===r?Object(d.jsx)(E,{column:t,onChange:n,initialData:c}):"address"===r?Object(d.jsx)(I,{column:t,onChange:n,initialData:c}):"color"===r?Object(d.jsx)(w,{column:t,onChange:n,initialData:c}):"file"===r?Object(d.jsx)(k,{column:t,onChange:n,initialData:c}):"datetime"===r?Object(d.jsx)(C,{column:t,onChange:n,initialData:c,withTime:!0}):"date"===r?Object(d.jsx)(C,{column:t,onChange:n,initialData:c,withTime:!1}):"textarea"===r?Object(d.jsx)("textarea",{onChange:function(e){return n(Object(g.a)({},t.name,e.target.value))},defaultValue:null===c||void 0===c?void 0:c[t.name]}):"richText"===r?Object(d.jsx)(y,{column:t,onChange:n,initialData:c}):Object(d.jsx)("input",{type:"text",onChange:function(e){return n(Object(g.a)({},t.name,e.target.value))},defaultValue:null===c||void 0===c?void 0:c[t.name]})},M=function(e){var t=e.text,n=Object(c.useState)(!1),r=Object(l.a)(n,2),a=r[0],i=r[1];return Object(d.jsxs)("div",{class:"labelTooltipContainer",onMouseLeave:function(){return i(!1)},children:[Object(d.jsx)("div",{class:"labelTooltipIcon",onMouseEnter:function(){return i(!0)},children:Object(d.jsx)("i",{class:"fa fa-question-circle"})}),a?Object(d.jsx)("div",{class:"tooltip",children:t}):null]})};var A=function(e,t){var n,c=e.filter((function(e){return e.required&&(void 0===(n=t[e.name])||null===n||""===n);var n}));return!(c.length>0)||(n=1==c.length?"Le champ requis ".concat(c.map((function(e){return e.label})).join(", ")," n'a pas \xe9t\xe9 rempli"):"Les champs requis ".concat(c.map((function(e){return e.label})).join(", ")," n'ont pas \xe9t\xe9 remplis"),window.swal({title:"Erreur",text:n,dangerMode:!0}),!1)},S=function(){var e,t=Object(c.useContext)(u.a),n=Object(s.i)(),r=n.viewIndex,a=n.panelIndex,i=n.recordId,o=Object(s.g)(),j=t.views[r],b=a?j.recordViewPanels[a]:null,f=b?b.createConfig.columns:j.columns.filter((function(e){return e.dataType&&(!0===e.canEditOnCreation||!1!==e.canEdit)&&!e.hidden})),p={},m=Object(x.a)(f);try{for(m.s();!(e=m.n()).done;){var g=e.value;"tinyint"===g.dataType?p[g.name]=g.optional?"NULL":"0":"select"===g.dataType&&Array.isArray(g.options)?p[g.name]=g.options[0]:"select"===g.dataType&&(p[g.name]=Object.keys(g.options)[0]),g.defaultValue&&(p[g.name]=g.defaultValue)}}catch(T){m.e(T)}finally{m.f()}var w=Object(c.useRef)(p),y=Object(c.useState)(!1),C=Object(l.a)(y,2),I=C[0],k=C[1],E=function(){var e=Object(h.a)(O.a.mark((function e(){var t,n,c;return O.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A(f,w.current)){e.next=2;break}return e.abrupt("return");case 2:for(t in j.createFilters)w.current[t]=j.createFilters[t];return k(!0),e.prev=4,e.next=7,_.a.post("/createRecord",{viewIndex:r,panelIndex:a,recordId:i,data:w.current});case 7:c=e.sent,k(!1),i?o.push("/record/".concat(r,"/").concat(i)):(null===j||void 0===j||null===(n=j.createConfig)||void 0===n?void 0:n.redirectToCreatedItems)?o.push("/record/".concat(r,"/").concat(c.data.id)):o.push("/records/".concat(r)),e.next=16;break;case 12:e.prev=12,e.t0=e.catch(4),e.t0.response.responseText&&window.swal({title:"Erreur",text:e.t0.response.responseText,dangerMode:!0}),k(!1);case 16:case"end":return e.stop()}}),e,null,[[4,12]])})));return function(){return e.apply(this,arguments)}}();return Object(d.jsxs)("div",{class:"view",children:[Object(d.jsx)("div",{class:"viewHeader",children:Object(d.jsx)("div",{class:"viewTitle",children:b?b.createConfig.label:"Cr\xe9er ".concat(j.aNewSingular)})}),Object(d.jsxs)("div",{class:"paddedView",children:[Object(d.jsx)("div",{class:"form",children:f.map((function(e,t){return Object(d.jsxs)("div",{class:"formElement",children:[Object(d.jsxs)("div",{class:"formLabel",children:[e.label," ",e.required?"*":"",e.labelTooltip?Object(d.jsx)(M,{text:e.labelTooltip}):null]}),Object(d.jsx)("div",{class:"formInput",children:Object(d.jsx)(D,{column:e,onChange:function(e){w.current=Object(v.a)(Object(v.a)({},w.current),e)}})})]},t)}))}),Object(d.jsx)("div",{class:"button greenButton ".concat(I?"loading":""),onClick:E,children:I?"Sauvegarde en cours...":"Cr\xe9er"}),Object(d.jsx)("div",{class:"button",onClick:function(){return o.goBack()},children:"Annuler"})]})]})},L=function(){var e=Object(c.useContext)(u.a),t=Object(s.i)(),n=t.viewIndex,r=t.recordId,a=Object(s.g)(),i=e.views[n],o=Object(c.useState)(null),j=Object(l.a)(o,2),b=j[0],f=j[1],p=i.columns.filter((function(e){return e.dataType&&!1!==e.canEdit&&!e.hidden})),x=Object(c.useRef)({}),m=Object(c.useState)(!1),g=Object(l.a)(m,2),w=g[0],y=g[1];Object(c.useEffect)((function(){_.a.get("/record",{params:{viewIndex:n,recordId:r}}).then((function(e){x.current={},f(e.data)}))}),[n,r]);var C=function(){var e=Object(h.a)(O.a.mark((function e(){return O.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A(p,Object(v.a)(Object(v.a)({},b),x.current))){e.next=2;break}return e.abrupt("return");case 2:return y(!0),e.prev=3,e.next=6,_.a.post("/updateRecord",{viewIndex:n,primaryValue:r,data:x.current,previousData:b});case 6:y(!1),a.push("/record/".concat(n,"/").concat(r)),e.next=14;break;case 10:e.prev=10,e.t0=e.catch(3),e.t0.response.responseText&&window.swal({title:"Erreur",text:e.t0.response.responseText,dangerMode:!0}),y(!1);case 14:case"end":return e.stop()}}),e,null,[[3,10]])})));return function(){return e.apply(this,arguments)}}();return Object(d.jsxs)("div",{class:"view",children:[Object(d.jsx)("div",{class:"viewHeader",children:Object(d.jsx)("div",{class:"viewTitle",children:i.label})}),Object(d.jsx)("div",{class:"paddedView",children:b?Object(d.jsxs)(d.Fragment,{children:[Object(d.jsx)("div",{class:"form",children:p.map((function(e,t){return Object(d.jsxs)("div",{class:"formElement",children:[Object(d.jsxs)("div",{class:"formLabel",children:[e.label," ",e.required?"*":"",e.labelTooltip?Object(d.jsx)(M,{text:e.labelTooltip}):null]}),Object(d.jsx)("div",{class:"formInput",children:Object(d.jsx)(D,{column:e,initialData:b,onChange:function(e){x.current=Object(v.a)(Object(v.a)({},x.current),e)}})})]},t)}))}),Object(d.jsx)("div",{class:"button greenButton ".concat(w?"loading":""),onClick:C,children:w?"Sauvegarde en cours...":"Sauvegarder"}),Object(d.jsx)("div",{class:"button",onClick:function(){return a.goBack()},children:"Annuler"})]}):null})]})},P=n(28),R=function(e){var t=e.view,n=e.viewIndex,r=e.subviewIndex,a=e.currentFilters,i=e.orderBy,o=e.isDesc,s=e.query,u=Object(c.useState)(!1),j=Object(l.a)(u,2),b=j[0],f=j[1];return Object(d.jsx)("div",{class:"downloadButton",onClick:function(){f(!0),_.a.post("/recordsExport",{viewIndex:n,subviewIndex:r,filters:a.map((function(e){return e.query})),orderBy:i,isDesc:o,query:s}).then((function(e){f(!1),window.download(e.data.content,t.label+".csv")}))},children:Object(d.jsx)("i",{class:"fa ".concat(b?"fa-spin fa-circle-notch":"fa-cloud-download")})})};function F(e){var t,n,r=Object(c.useRef)(null);return t=r,n=e.onOutsideClick,Object(c.useEffect)((function(){function e(e){var c;!t.current||t.current.contains(e.target)||(null===(c=document.getElementById("datepickers-container"))||void 0===c?void 0:c.contains(e.target))||n()}return document.addEventListener("mousedown",e),function(){document.removeEventListener("mousedown",e)}}),[t]),Object(d.jsx)("div",{ref:r,children:e.children})}var q=function(e){var t=e.view,n=(e.refreshData,e.onAddFilter),r=Object(c.useState)(!1),a=Object(l.a)(r,2),i=a[0],o=a[1],s=Object(c.useState)(null),u=Object(l.a)(s,2),j=u[0],b=u[1],f=Object(c.useState)("contains"),v=Object(l.a)(f,2),p=v[0],O=v[1],h=Object(c.useState)(null),x=Object(l.a)(h,2),m=x[0],_=x[1],g=Object(c.useRef)("-"),w=t.columns.find((function(e){return(e.searchableName||e.name)===j}));Object(c.useEffect)((function(){"select"===(null===w||void 0===w?void 0:w.dataType)&&_(Array.isArray(w.options)?w.options[0]:Object.keys(w.options)[0])}),[j]);return Object(d.jsx)(F,{onOutsideClick:function(){return o(!1)},children:Object(d.jsxs)("div",{class:"button openFilterPopup",onClick:function(){return o(!i)},children:[Object(d.jsx)("i",{class:"fas fa-filter"})," Ajouter un filtre",i?Object(d.jsxs)("div",{class:"addFilterPopup",onClick:function(e){return e.stopPropagation()},children:[Object(d.jsx)("div",{class:"filterLabel",children:"Champ"}),Object(d.jsxs)("select",{onChange:function(e){return b(e.target.value)},children:[Object(d.jsx)("option",{value:"",children:"S\xe9lectionnez un champ"}),t.columns.filter((function(e){return(e.searchableName||e.name)&&"datalist"!==e.dataType})).map((function(e){var t=e.searchableName||e.name;return Object(d.jsx)("option",{value:t,children:e.label},t)}))]}),"select"===(null===w||void 0===w?void 0:w.dataType)?Object(d.jsxs)(d.Fragment,{children:[Object(d.jsx)("div",{class:"filterLabel",children:"Valeur"}),Object(d.jsx)("select",{onChange:function(e){return _(e.target.value)},children:Array.isArray(w.options)?w.options.map((function(e){return Object(d.jsx)("option",{value:e,children:e})})):Object.keys(w.options).map((function(e){return Object(d.jsx)("option",{value:e,children:w.options[e]})}))})]}):"foreign"===(null===w||void 0===w?void 0:w.dataType)?Object(d.jsxs)(d.Fragment,{children:[Object(d.jsx)("div",{class:"filterLabel",children:"Valeur"}),Object(d.jsx)(E,{column:w,onChange:function(e,t){_(e[w.name]),g.current=t.label}})]}):"date"===(null===w||void 0===w?void 0:w.dataType)||"datetime"===(null===w||void 0===w?void 0:w.dataType)?Object(d.jsxs)(d.Fragment,{children:[Object(d.jsx)("div",{class:"filterLabel",children:"De"}),Object(d.jsx)(C,{column:w,withTime:!0,onChange:function(e){_({from:e[w.name],to:null===m||void 0===m?void 0:m.to})}}),Object(d.jsx)("div",{class:"filterLabel",children:"\xc0"}),Object(d.jsx)(C,{column:w,withTime:!0,onChange:function(e){_({from:null===m||void 0===m?void 0:m.from,to:e[w.name]})}})]}):Object(d.jsxs)(d.Fragment,{children:[Object(d.jsx)("div",{class:"filterLabel",children:"Op\xe9rateur"}),Object(d.jsxs)("select",{onChange:function(e){return O(e.target.value)},children:[Object(d.jsx)("option",{value:"contains",children:"contient"}),Object(d.jsx)("option",{value:"notContains",children:"ne contient pas"}),Object(d.jsx)("option",{value:"startsWith",children:"commence par"}),Object(d.jsx)("option",{value:"endsWith",children:"finit par"}),Object(d.jsx)("option",{value:"is",children:"est"}),Object(d.jsx)("option",{value:"isNot",children:"n'est pas"}),Object(d.jsx)("option",{value:"largerThan",children:"est sup\xe9rieur \xe0"}),Object(d.jsx)("option",{value:"smallerThan",children:"est inf\xe9rieur \xe0"})]}),Object(d.jsx)("div",{class:"filterLabel",children:"Valeur"}),Object(d.jsx)("input",{onChange:function(e){return _(e.target.value)}})]}),Object(d.jsx)("div",{class:"button greenButton",onClick:function(){if(j&&m){var e=null===w||void 0===w?void 0:w.label,t="(".concat((null===w||void 0===w?void 0:w.searchableName)||(null===w||void 0===w?void 0:w.name),")");if("select"===(null===w||void 0===w?void 0:w.dataType)){var c=Array.isArray(null===w||void 0===w?void 0:w.options)?m:w.options[m];n({label:e+" est "+c,query:t+" = '"+m+"'"})}else if("foreign"===(null===w||void 0===w?void 0:w.dataType))n({label:e+" est "+g.current,query:w.name+" = '"+m+"'"});else if("date"===(null===w||void 0===w?void 0:w.dataType)||"datetime"===(null===w||void 0===w?void 0:w.dataType)){var r,a=[];r=m.from&&!m.to?e+" est apr\xe8s "+m.from:m.to&&!m.from?e+" est avant "+m.to:e+" de "+m.from+" \xe0 "+m.to,m.from&&a.push(w.name+" >= '"+m.from+"'"),m.to&&a.push(w.name+" <= '"+m.to+"'"),n({label:r,query:a.join(" AND ")})}else"contains"===p?n({label:e+" contient "+m,query:t+" LIKE '%"+m+"%'"}):"notContains"===p?n({label:e+" ne contient pas "+m,query:t+" NOT LIKE '%"+m+"%'"}):"is"===p?n({label:e+" est "+m,query:t+" = '"+m+"'"}):"isNot"===p?n({label:e+" n'est pas "+m,query:t+" != '"+m+"'"}):"startsWith"===p?n({label:e+" commence par "+m,query:t+" LIKE '"+m+"%'"}):"endsWith"===p?n({label:e+" finit par "+m,query:t+" LIKE '%"+m+"'"}):"largerThan"===p?n({label:e+" sup\xe9rieur \xe0 "+m,query:t+" >= "+m}):"smallerThan"===p&&n({label:e+" inf\xe9rieur \xe0 "+m,query:t+" <= "+m});b(null),_(null),o(!1)}},children:"Ajouter"})]}):null]})})},B=function(e){var t,n,r=e.viewIndex,a=e.selectedRecordIds,i=e.refreshData,o=Object(c.useContext)(u.a),s=o.views[r],j=Object(c.useState)(!1),b=Object(l.a)(j,2),f=b[0],v=b[1];return!o.hideMultiselect&&(!1!==s.canDelete||(null===(t=s.customActions)||void 0===t?void 0:t.length)>0)?Object(d.jsx)(F,{onOutsideClick:function(){return v(!1)},children:Object(d.jsxs)("div",{class:"actionButtonsContainer",children:[Object(d.jsx)("div",{class:"button openBulkActionsButton",onClick:function(){return v(!f)},children:"Actions"}),f?Object(d.jsxs)("div",{class:"bulkActions",children:[null===(n=s.customActions)||void 0===n?void 0:n.map((function(e,t){return Object(d.jsx)("div",{class:"action recordAction",onClick:(n=t,function(){v(!1),_.a.post("customAction",{viewIndex:r,actionIndex:n,selectedRecordIds:a}).then((function(e){e.data.message&&alert(e.data.message),i()})).catch((function(){window.swal({title:"Erreur",text:"L'action a \xe9chou\xe9",dangerMode:!0})}))}),children:e.label});var n})),!1!==s.canDelete?Object(d.jsx)("div",{class:"action recordAction red",onClick:function(){window.swal({title:"\xcates-vous s\xfbr ?",text:"Une fois la suppression confirm\xe9e, il ne sera pas possible de revenir en arri\xe8re.",buttons:["Annuler","Oui"],dangerMode:!0}).then((function(e){e&&_.a.post("deleteRecords",{viewIndex:r,primaryValues:a}).then((function(){i()})).catch((function(){window.swal({title:"Erreur",text:"Suppression impossible",dangerMode:!0})}))}))},children:"Supprimer"}):null]}):null]})}):null},V=n(16),N=function(e,t,n){if(e.showAsPicture){var c=e.baseUrl+t[e.pathField];return t[e.pathField]?Object(d.jsx)("a",{href:c,target:"_blank",children:Object(d.jsx)("img",{src:c,style:{width:n?60:300,height:n?30:150,objectFit:"contain"}})}):null}if(e.formatValue)return Object(d.jsx)("div",{dangerouslySetInnerHTML:{__html:t["__formatValue-".concat(e.__id__,"__")]}});if(e.formattedValue)return Object(d.jsx)("div",{children:Object(V.a)(e.formattedValue,t)});if(e.action){if(e.actionDisplayCondition)if(!Object(V.a)(e.actionDisplayCondition,t))return"";var r=JSON.parse(JSON.stringify(e.data));for(var a in r)r[a]=Object(V.a)(r[a],t);return Object(d.jsx)("div",{class:"actionButton","data-route":'" + column.route + "',"data-data":'" + JSON.stringify(data) + "',children:e.action})}return"tinyint"===e.dataType?Object(d.jsx)("div",{children:1===t[e.name]?"Oui":"Non"}):"color"===e.dataType?Object(d.jsx)("div",{class:"colorPreview",style:{backgroundColor:t[e.name]}}):"richText"===e.dataType?Object(d.jsx)("div",{dangerouslySetInnerHTML:{__html:t[e.htmlField]}}):"select"===e.dataType&&e.options&&e.options.constructor==Object?Object(d.jsx)("div",{children:e.options[t[e.name]]}):Object(d.jsx)("div",{children:t[e.name]})},U=null,W=1,K=[],H=null,J=null,Q="",z=function(){var e,t,n=Object(s.i)(),r=n.viewIndex,a=n.subviewIndex,i=Object(s.g)(),j=Object(c.useState)(W),b=Object(l.a)(j,2),f=b[0],v=b[1],p=Object(c.useState)(K),O=Object(l.a)(p,2),h=O[0],x=O[1],m=Object(c.useState)(H),g=Object(l.a)(m,2),w=g[0],y=g[1],C=Object(c.useState)(J),I=Object(l.a)(C,2),k=I[0],E=I[1],T=Object(c.useState)(Q),D=Object(l.a)(T,2),M=D[0],A=D[1],S=Object(c.useState)([]),L=Object(l.a)(S,2),F=L[0],V=L[1],z=Object(c.useState)(null),Y=Object(l.a)(z,2),$=Y[0],G=Y[1],X=Object(c.useContext)(u.a),Z=X.views[r],ee=null===(e=Z.columns)||void 0===e?void 0:e.filter((function(e){return!e.hideInTable&&!e.hidden}));function te(){G(null),_.a.post("/records",{viewIndex:r,subviewIndex:a,page:f,filters:h.map((function(e){return e.query})),orderBy:w,isDesc:k,query:M}).then((function(e){var t,n;0===(null===(t=e.data)||void 0===t||null===(n=t.records)||void 0===n?void 0:n.length)&&f>1&&v(1),G(e.data)}))}return Object(c.useEffect)((function(){r!==U&&(v(1),A(null),y(null),E(null),A(""),F.length>0&&V([]),h.length>0&&x([]))}),[r]),Object(c.useEffect)((function(){te(),U=r,W=f,Q=M,K=h,H=w,J=k}),[r,a,f,M,h,w,k]),Object(d.jsxs)("div",{class:"view",children:[Object(d.jsxs)("div",{class:"scrollable",children:[Object(d.jsxs)("div",{class:"viewHeader",children:[Object(d.jsx)("div",{class:"viewTitle",children:Z.label}),Object(d.jsxs)("div",{class:"viewHeaderActions",children:[Object(d.jsxs)("div",{class:"searchBarContainer",children:[Object(d.jsx)("input",{type:"text",placeholder:"Rechercher",class:"searchBar",value:M,onChange:function(e){return A(e.target.value)}}),Object(d.jsx)("div",{class:"searchBarIcon",children:Object(d.jsx)("i",{class:"fa fa-search"})})]}),Object(d.jsx)(B,{viewIndex:r,selectedRecordIds:F,refreshData:te}),Object(d.jsx)(q,{view:Z,refreshData:te,onAddFilter:function(e){return x([].concat(Object(P.a)(h),[e]))}}),Object(d.jsx)(R,{view:Z,viewIndex:r,subviewIndex:a,currentFilters:h,orderBy:w,isDesc:k,query:M}),Z.canCreate?Object(d.jsx)(o.b,{to:"/createRecord/".concat(r),children:Object(d.jsx)("div",{class:"plusButton",children:Object(d.jsx)("i",{class:"fa fa-plus"})})}):null]})]}),h.length>0?Object(d.jsx)("div",{class:"filtersContainer",children:h.map((function(e,t){return Object(d.jsxs)("div",{class:"filterItem",children:[Object(d.jsx)("div",{class:"filterItemLabel",children:e.label}),Object(d.jsx)("div",{class:"filterRemove",onClick:function(){x(h.filter((function(t){return t.query!==e.query})))},children:Object(d.jsx)("i",{class:"fa fa-times"})})]},t)}))}):null,Object(d.jsxs)("table",{class:"table",children:[Object(d.jsx)("thead",{children:Object(d.jsxs)("tr",{children:[X.hideMultiselect?null:Object(d.jsx)("th",{}),ee.map((function(e,t){var n="foreign"===e.dataType||"datalist"===e.dataType?e.formattedValue:e.sortName||e.name;return Object(d.jsxs)("th",{class:n?"sortable":"",onClick:function(){n&&(y(n),E(w===n&&!k))},children:[e.label,n?Object(d.jsx)("div",{class:"columnSortIcon",children:Object(d.jsx)("i",{class:"fas fa-sort".concat(!0===k&&n===w?"-down":!1===k&&n===w?"-up":"")})}):null]},t)}))]})}),Object(d.jsxs)("tbody",{children:[$?null:Array.from({length:10}).map((function(e,t){return Object(d.jsx)("tr",{class:"record",children:Array.from({length:ee.length+(X.hideMultiselect?0:1)}).map((function(e,t){return Object(d.jsx)("td",{children:" "},t)}))},t)})),null===$||void 0===$||null===(t=$.records)||void 0===t?void 0:t.map((function(e){var t=e[Z.primaryId];return Object(d.jsxs)("tr",{class:"record ".concat(Z.notClickable?"nonClickableRow":""),onClick:function(e){"A"!=e.target.tagName?Z.notClickable||(Z.clickToEdit?i.push("/editRecord/".concat(r,"/").concat(t)):i.push("/record/".concat(r,"/").concat(t))):e.stopPropagation()},children:[X.hideMultiselect?null:Object(d.jsx)("td",{class:"checkboxParent",onClick:function(e){V(F.includes(t)?F.filter((function(e){return e!==t})):[].concat(Object(P.a)(F),[t])),e.stopPropagation()},children:Object(d.jsx)("div",{class:"checkbox ".concat(F.includes(t)?"checked":"")})}),ee.map((function(t,n){return Object(d.jsx)("td",{children:N(t,e,!0)},n)}))]},t)}))]})]})]}),Object(d.jsxs)("div",{class:"tableFooter",children:[Object(d.jsxs)("div",{class:"tableCounter",children:[(null===$||void 0===$?void 0:$.count)||"-"," ",Z.label]}),Object(d.jsxs)("div",{class:"paginator",children:[Object(d.jsx)("div",{class:"paginatorLeft",onClick:function(){return v(Math.max(1,f-1))},children:Object(d.jsx)("i",{class:"fas fa-caret-left"})}),Object(d.jsxs)("div",{class:"paginatorNumber",children:[f," / ",$&&$.count?Math.ceil($.count/(Z.limit||10)):"-"]}),Object(d.jsx)("div",{class:"paginatorRight",onClick:function(){return v(Math.min(f+1,Math.ceil($.count/(Z.limit||10))))},children:Object(d.jsx)("i",{class:"fas fa-caret-right"})})]})]})]})},Y=function(e){var t,n,r=e.viewIndex,a=e.record,i=e.refreshData,o=Object(c.useContext)(u.a).views[r],j=Object(c.useState)(!1),b=Object(l.a)(j,2),f=b[0],v=b[1],p=Object(s.g)(),x=function(){var e=Object(h.a)(O.a.mark((function e(){return O.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,window.swal({title:"\xcates-vous s\xfbr ?",text:"Une fois la suppression confirm\xe9e, il ne sera pas possible de revenir en arri\xe8re.",buttons:["Annuler","Oui"],dangerMode:!0});case 2:if(!e.sent){e.next=14;break}return o.deleteCallback&&_.a.post(o.deleteCallback,{id:a[o.primaryId],data:a}),e.prev=5,e.next=8,_.a.post("/deleteRecord",{viewIndex:r,primaryValue:a[o.primaryId]});case 8:p.push("/records/".concat(r)),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(5),window.swal({title:"Erreur",text:"Suppression impossible",dangerMode:!0});case 14:case"end":return e.stop()}}),e,null,[[5,11]])})));return function(){return e.apply(this,arguments)}}();return!0===o.canDuplicate||!1!==o.canDelete||(null===(t=o.customActions)||void 0===t?void 0:t.length)>0?Object(d.jsx)(F,{onOutsideClick:function(){return v(!1)},children:Object(d.jsxs)("div",{class:"actionButtonsContainer",children:[Object(d.jsx)("div",{class:"button openActionsButton",onClick:function(){return v(!f)},children:"Actions"}),f?Object(d.jsxs)("div",{class:"actions",children:[null===(n=o.customActions)||void 0===n?void 0:n.map((function(e,t){return Object(d.jsx)("div",{class:"action recordAction",onClick:(n=t,function(){v(!1),_.a.post("customAction",{viewIndex:r,actionIndex:n,selectedRecordIds:[a[o.primaryId]]}).then((function(e){e.data.message&&alert(e.data.message),i()})).catch((function(){window.swal({title:"Erreur",text:"L'action a \xe9chou\xe9",dangerMode:!0})}))}),children:e.label});var n})),!0===o.canDuplicate?Object(d.jsx)("div",{class:"action recordAction duplicateRecord",children:"Dupliquer"}):null,!1!==o.canDelete?Object(d.jsx)("div",{class:"action recordAction red",onClick:x,children:"Supprimer"}):null]}):null]})}):null},$=function(){var e=Object(s.g)();return Object(d.jsx)("div",{class:"button backButton",onClick:function(){return e.goBack()},children:"Retour"})},G=function(e){var t=e.record,n=e.panel;return Object(d.jsx)("div",{class:"downloadPanelButton",onClick:function(){_.a.get("/customQuery",{params:{query:n.query||Object(V.a)(n.formattedQuery,t),primaryValue:2630}}).then((function(e){var t=e.data,c=[];c.push(Object.keys(t[0]).filter((function(e){return e!==n.primaryId})).join(","));var r,a=Object(x.a)(t);try{var i=function(){var e=r.value;c.push(Object.keys(e).filter((function(e){return e!==n.primaryId})).map((function(t){return n.formattedValues&&t in n.formattedValues?Object(V.a)(n.formattedValues[t],e):e[t]})).join(","))};for(a.s();!(r=a.n()).done;)i()}catch(l){a.e(l)}finally{a.f()}window.download(c.join("\r\n"),n.label+".csv")}))},children:Object(d.jsx)("i",{class:"fa fa-cloud-download"})})},X=function(e){var t=e.panel,n=e.record,r=e.view,a=e.index,i=Object(c.useState)(null),o=Object(l.a)(i,2),j=o[0],b=o[1],f=Object(s.g)(),v=Object(s.i)().viewIndex,p=Object(c.useContext)(u.a);Object(c.useEffect)((function(){x()}),[n]);var x=function(){_.a.get("/customQuery",{params:{viewIndex:v,panelIndex:a,query:t.query||Object(V.a)(t.formattedQuery,n),primaryValue:n[r.primaryId]}}).then((function(e){b(e.data)}))},m=function(){var e=Object(h.a)(O.a.mark((function e(n){return O.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,window.swal({title:"\xcates-vous s\xfbr ?",text:"Une fois la suppression confirm\xe9e, il ne sera pas possible de revenir en arri\xe8re.",buttons:["Annuler","Oui"],dangerMode:!0});case 2:if(!e.sent){e.next=13;break}return e.prev=4,e.next=7,_.a.post("/deleteRecordFromPanel",{viewIndex:v,panelId:t.__id__,primaryValue:n[t.primaryId]});case 7:x(),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(4),window.swal({title:"Erreur",text:"Suppression impossible",dangerMode:!0});case 13:case"end":return e.stop()}}),e,null,[[4,10]])})));return function(t){return e.apply(this,arguments)}}();return Object(d.jsx)("div",{children:(null===j||void 0===j?void 0:j.length)>0?Object(d.jsxs)("table",{class:"table panelTable ".concat(t.folded?"folded":""),children:[Object(d.jsx)("thead",{children:Object(d.jsxs)("tr",{children:[Object.keys(j[0]).filter((function(e){return e!==t.primaryId})).map((function(e){return Object(d.jsx)("th",{children:e},e)})),t.canDelete?Object(d.jsx)("th",{}):null]})}),Object(d.jsx)("tbody",{children:j.map((function(e){return Object(d.jsxs)("tr",{class:"record ".concat(t.canShow?"":"nonClickableRow"),onClick:function(){var n=p.views.findIndex((function(e){return"table"===e.type&&e.tableName===t.tableName}));t.canShow&&f.push("/record/".concat(n,"/").concat(e[t.primaryId]))},children:[Object.keys(e).filter((function(e){return e!==t.primaryId})).map((function(n){return Object(d.jsx)("td",{children:Object(d.jsx)("div",{dangerouslySetInnerHTML:{__html:t.formattedValues&&n in t.formattedValues?Object(V.a)(t.formattedValues[n],e):e[n]}})},n)})),t.canDelete?Object(d.jsx)("td",{class:"deleteIconCell",children:Object(d.jsx)("div",{class:"deleteIcon",onClick:function(t){m(e),t.stopPropagation()},children:Object(d.jsx)("i",{class:"fa fa-minus"})})}):null]})}))})]}):0===(null===j||void 0===j?void 0:j.length)?Object(d.jsx)("div",{class:"noData panelTable ".concat(t.folded?"folded":""),children:"Aucune donn\xe9e"}):null})},Z=function(e){var t=e.panel,n=e.record,r=e.view,a=Object(c.useState)(null),i=Object(l.a)(a,2),o=i[0],u=i[1],j=(Object(s.g)(),Object(s.i)().viewIndex);Object(c.useEffect)((function(){b()}),[t.query,n]);var b=function(){_.a.get("/customQuery",{params:{query:t.query,primaryValue:n[r.primaryId]}}).then((function(e){u(e.data)}))},f=function(){var e=Object(h.a)(O.a.mark((function e(n){return O.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,window.swal({title:"\xcates-vous s\xfbr ?",text:"Une fois la suppression confirm\xe9e, il ne sera pas possible de revenir en arri\xe8re.",buttons:["Annuler","Oui"],dangerMode:!0});case 2:if(!e.sent){e.next=13;break}return e.prev=4,e.next=7,_.a.post("/deleteRecordFromPanel",{viewIndex:j,panelId:t.__id__,primaryValue:n[t.primaryId]});case 7:b(),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(4),window.swal({title:"Erreur",text:"Suppression impossible",dangerMode:!0});case 13:case"end":return e.stop()}}),e,null,[[4,10]])})));return function(t){return e.apply(this,arguments)}}(),v=t.pathField||"Path";return Object(d.jsx)("div",{children:(null===o||void 0===o?void 0:o.length)>0?Object(d.jsx)("div",{class:"gallery",children:o.map((function(e){return Object(d.jsxs)("div",{class:"galleryPicture",children:[t.canDelete?Object(d.jsx)("div",{class:"deleteIcon",onClick:function(t){f(e),t.stopPropagation()},children:Object(d.jsx)("i",{class:"fa fa-minus"})}):null,Object(d.jsx)("a",{href:t.baseUrl+e[v],target:"_blank",children:Object(d.jsx)("img",{src:t.baseUrl+e[v],style:{width:"100%",height:150,objectFit:t.objectFit||"cover"},onerror:"this.style.height = 0"})})]},e[v])}))}):0===(null===o||void 0===o?void 0:o.length)?Object(d.jsx)("div",{class:"noData panelTable ".concat(t.folded?"folded":""),children:"Aucune donn\xe9e"}):null})},ee=function(e){var t=e.panel,n=e.record,r=e.view,a=Object(c.useRef)();Object(c.useEffect)((function(){window.google&&n&&(t.query?_.a.get("/customQuery",{query:t.query,primaryValue:n[r.primaryId]}).then((function(e){var n,c=null===e||void 0===e||null===(n=e.data)||void 0===n?void 0:n[0];c&&i(c.Lat,c.Lng,t.zoom||12)})):i(n[t.latitudeField],n[t.longitudeField],t.zoom||12))}),[n,window.google]);var i=function(e,t,n){var c=new window.google.maps.Map(a.current,{zoom:n,center:{lat:e,lng:t}});new window.google.maps.Marker({position:{lat:e,lng:t},map:c})};return Object(d.jsx)("div",{class:"map",ref:a})},te=function(){var e,t=Object(c.useContext)(u.a),n=Object(s.i)(),r=n.viewIndex,a=n.recordId,i=Object(c.useState)(null),j=Object(l.a)(i,2),b=j[0],f=j[1],v=t.views[r],p=null===(e=v.columns)||void 0===e?void 0:e.filter((function(e){return!e.hidden}));Object(c.useEffect)((function(){O()}),[r,a]);var O=function(){_.a.get("/record",{params:{viewIndex:r,recordId:a}}).then((function(e){f(e.data)}))};return Object(d.jsxs)("div",{class:"view backgroundBlue",children:[Object(d.jsxs)("div",{class:"viewHeader",children:[Object(d.jsx)("div",{class:"viewTitle",children:v.label}),Object(d.jsxs)("div",{class:"viewHeaderActions",children:[Object(d.jsx)($,{}),Object(d.jsx)(Y,{viewIndex:r,record:b,refreshData:O}),!1!==v.canEdit?Object(d.jsx)(o.b,{to:"/editRecord/".concat(r,"/").concat(a),children:Object(d.jsx)("div",{class:"button greenButton recordAction",children:"Modifier"})}):null]})]}),Object(d.jsx)("div",{class:"paddedView",children:Object(d.jsxs)("div",{class:"showContainer",children:[Object(d.jsxs)("div",{class:"panel detailsPanel",children:[Object(d.jsx)("div",{class:"panelTitle",children:"D\xe9tails"}),b?p.map((function(e,t){return Object(d.jsxs)("div",{class:"showRecordField",children:[Object(d.jsx)("div",{class:"formLabel",children:e.label}),Object(d.jsx)("div",{class:"formValue",children:N(e,b,!1)||"-"})]},t)})):null]}),v.recordViewPanels&&b?Object(d.jsx)("div",{class:"recordViewPanels",children:v.recordViewPanels.map((function(e,t){return Object(d.jsxs)("div",{class:"panel",children:[Object(d.jsxs)("div",{class:"panelHeader",children:[Object(d.jsx)("div",{class:"viewTitle",children:e.label}),Object(d.jsxs)("div",{class:"viewHeaderActions",children:[e.folded?Object(d.jsx)("div",{class:"button smallButton unfoldPanel",children:"Afficher"}):null,e.canCreate?Object(d.jsx)(o.b,{to:"/createRecord/".concat(r,"/").concat(t,"/").concat(a),children:Object(d.jsx)("div",{class:"plusButton",children:Object(d.jsx)("i",{class:"fa fa-plus"})})}):null,e.canDownload&&"table"===e.type?Object(d.jsx)(G,{record:b,panel:e}):null]})]}),"table"===e.type?Object(d.jsx)(X,{record:b,panel:e,view:v,index:t}):null,"gallery"===e.type?Object(d.jsx)(Z,{record:b,panel:e,view:v,index:t}):null,"map"===e.type?Object(d.jsx)(ee,{record:b,panel:e,view:v,index:t}):null]},t)}))}):null]})})]})},ne=n.p+"static/media/logo.e407b9ca.png",ce=function(e){var t=e.setIsAuthenticated,n=Object(c.useState)(""),r=Object(l.a)(n,2),a=r[0],i=r[1],o=Object(c.useState)(""),s=Object(l.a)(o,2),u=s[0],j=s[1],b=function(){var e=Object(h.a)(O.a.mark((function e(){return O.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_.a.post("/login",{username:a,password:u});case 2:e.sent.data.success&&t(!0);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return Object(d.jsx)("div",{class:"loginPanelBackground",children:Object(d.jsxs)("div",{class:"loginPanel",children:[Object(d.jsx)("div",{class:"loginLogoContainer",children:Object(d.jsx)("img",{class:"loginLogo",src:ne})}),Object(d.jsx)("label",{children:"Nom d'utilisateur"}),Object(d.jsx)("input",{type:"text",name:"username",onChange:function(e){return i(e.target.value)}}),Object(d.jsx)("label",{children:"Mot de passe"}),Object(d.jsx)("input",{type:"password",name:"password",onChange:function(e){return j(e.target.value)}}),Object(d.jsx)("button",{class:"button greenButton fullWidth",onClick:b,children:"Se connecter"})]})})},re=function(){var e=Object(c.useContext)(u.a),t=Object(s.i)().viewIndex,n=e.views[t];return Object(d.jsx)("div",{class:"view",children:Object(d.jsx)("iframe",{src:n.src})})},ae=n(44),ie=n(40),le=["componentPath","children"],oe={react:function(){return{exports:r.a}},axios:function(){return{exports:_.a}},"styled-components":function(){return{exports:ie.a}}};function se(e,t,n){var c=Object.create(n);return function n(r){if(r in c||t!==r){if(!(r in c))throw"Module '".concat(r,"' not found")}else{var a={exports:{}};c[r]=function(){return a},Function("require, exports, module",e)(n,a.exports,a)}return c[r]().exports}(t)}function ue(e){return de.apply(this,arguments)}function de(){return(de=Object(h.a)(O.a.mark((function e(t){var n,c;return O.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,_.a.get("/customComponent",{params:{componentPath:t}});case 3:return n=e.sent,c=n.data,e.abrupt("return",{default:se(c,"__moduleName__",oe)});case 8:return e.prev=8,e.t0=e.catch(0),console.error(e.t0),e.abrupt("return",{default:function(){return Object(d.jsx)("div",{children:"Erreur de rendu"})}});case 12:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}var je=function(e){var t=e.componentPath,n=e.children,a=Object(ae.a)(e,le),i=Object(c.useMemo)((function(){return r.a.lazy(Object(h.a)(O.a.mark((function e(){return O.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",ue(t));case 1:case"end":return e.stop()}}),e)}))))}),[t]);return Object(d.jsx)(c.Suspense,{fallback:null,children:Object(d.jsx)(i,Object(v.a)(Object(v.a)({},a),{},{children:n}))})},be=r.a.memo(je),fe=function(){var e=Object(c.useContext)(u.a),t=Object(s.i)().viewIndex,n=e.views[t].componentPath;return Object(d.jsx)(be,{componentPath:n})};_.a.defaults.withCredentials=!0,_.a.defaults.baseURL="/_HOMEPAGE_/api";var ve=function(){var e=Object(c.useState)(null),t=Object(l.a)(e,2),n=t[0],r=t[1];return Object(c.useEffect)((function(){_.a.get("/isAuthenticated").then((function(e){r(e.data.isAuthenticated)}))}),[]),Object(d.jsx)("div",{id:"body",children:!0===n?Object(d.jsx)(u.b,{children:Object(d.jsxs)(o.a,{basename:"/_HOMEPAGE_",children:[Object(d.jsx)(b,{}),Object(d.jsxs)(s.d,{children:[Object(d.jsx)(s.b,{path:"/records/:viewIndex/:subviewIndex?",children:Object(d.jsx)(z,{})}),Object(d.jsx)(s.b,{path:"/record/:viewIndex/:recordId",children:Object(d.jsx)(te,{})}),Object(d.jsx)(s.b,{path:"/editRecord/:viewIndex/:recordId",children:Object(d.jsx)(L,{})}),Object(d.jsx)(s.b,{path:"/createRecord/:viewIndex/:panelIndex?/:recordId?",children:Object(d.jsx)(S,{})}),Object(d.jsx)(s.b,{path:"/iframe/:viewIndex",children:Object(d.jsx)(re,{})}),Object(d.jsx)(s.b,{path:"/customView/:viewIndex",children:Object(d.jsx)(fe,{})}),Object(d.jsx)(s.b,{path:"/",children:Object(d.jsx)(f,{})})]})]})}):!1===n?Object(d.jsx)(ce,{setIsAuthenticated:r}):Object(d.jsx)("div",{class:"appLoading",children:Object(d.jsx)("i",{class:"fa fa-circle-notch fa-spin"})})})};i.a.render(Object(d.jsx)(r.a.StrictMode,{children:Object(d.jsx)(ve,{})}),document.getElementById("root"))}},[[75,1,2]]]);
2
+ //# sourceMappingURL=main.41b4c7b0.chunk.js.map