arengibook 2.0.1-table → 2.0.2-table

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 (2) hide show
  1. package/dist/index.js +18 -283
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -43901,11 +43901,6 @@ function textColorForBg(hex) {
43901
43901
  var b = parseInt(hex.substring(4, 6), 16);
43902
43902
  return (r + g + b) / 3 < 128 ? 'white' : 'black';
43903
43903
  }
43904
- var defaultRouting = {
43905
- generate: function generate() {
43906
- return '#';
43907
- }
43908
- };
43909
43904
  var Table = function Table(_ref) {
43910
43905
  var _ref$value = _ref.value,
43911
43906
  value = _ref$value === void 0 ? [] : _ref$value,
@@ -43926,9 +43921,7 @@ var Table = function Table(_ref) {
43926
43921
  _ref$editable = _ref.editable,
43927
43922
  editable = _ref$editable === void 0 ? false : _ref$editable,
43928
43923
  onChange = _ref.onChange,
43929
- carto = _ref.carto,
43930
- _ref$routing = _ref.routing,
43931
- routing = _ref$routing === void 0 ? typeof window !== 'undefined' && window.Routing ? window.Routing : defaultRouting : _ref$routing;
43924
+ carto = _ref.carto;
43932
43925
  var _useState = useState(value),
43933
43926
  _useState2 = _slicedToArray$a(_useState, 2),
43934
43927
  data = _useState2[0],
@@ -43971,78 +43964,15 @@ var Table = function Table(_ref) {
43971
43964
 
43972
43965
  // --- Body templates by type ---
43973
43966
 
43974
- var linkTemplate = useCallback(function (rowData) {
43975
- return /*#__PURE__*/React__default.createElement("a", {
43976
- className: "table-item-title",
43977
- href: routing.generate('Risque_detail', {
43978
- 'carto_id': carto,
43979
- 'risque_num': rowData.numero
43980
- }),
43981
- title: rowData.nom
43982
- }, rowData.nom);
43983
- }, [carto, routing]);
43984
- var labelColorTemplate = useCallback(function (rowData) {
43985
- var color = rowData.labelColor || '';
43986
- return /*#__PURE__*/React__default.createElement("div", {
43987
- style: {
43988
- display: 'flex',
43989
- alignItems: 'center',
43990
- justifyContent: 'center'
43991
- }
43992
- }, /*#__PURE__*/React__default.createElement("div", {
43993
- className: "etiquetteMatrix-risque"
43994
- }, /*#__PURE__*/React__default.createElement("span", {
43995
- className: "matrix-RisqueLabelColor",
43996
- style: {
43997
- backgroundColor: color ? '#' + color : 'transparent'
43998
- }
43999
- }), /*#__PURE__*/React__default.createElement("span", {
44000
- className: "matrix-RisqueLabel"
44001
- }, rowData.label)));
44002
- }, []);
44003
- var coloredLabelTemplate = useCallback(function (rowData, options) {
44004
- var field = options.field;
44005
- var val = rowData[field];
44006
- var color = rowData[field + 'Color'];
44007
- if (!val || val === 'N/A') return 'N/A';
44008
- if (!color) return val;
44009
- return /*#__PURE__*/React__default.createElement("span", {
44010
- className: "tab_label",
44011
- style: {
44012
- backgroundColor: '#' + color,
44013
- color: textColorForBg(color)
44014
- }
44015
- }, val);
44016
- }, []);
44017
- var criticiteTemplate = useCallback(function (rowData, options) {
44018
- var field = options.field;
44019
- var val = rowData[field];
44020
- var picto = rowData[field + 'Picto'];
44021
- var type = rowData[field + 'Type'];
44022
- if (!val || val === 'N/A') return 'N/A';
44023
- if (picto && type) {
44024
- var folder = 'pictos_risque/dashboard';
44025
- var className = 'img_dashboard_crit';
44026
- if (type === 'prio') {
44027
- folder = 'pictos_prio/dashboard';
44028
- className = 'img_dashboard_prio';
44029
- } else if (type === 'tendance') {
44030
- folder = 'pictos_tendance/full';
44031
- className = 'img_dashboard_tendance';
44032
- }
44033
- return /*#__PURE__*/React__default.createElement("div", {
44034
- style: {
44035
- textAlign: 'center'
44036
- }
44037
- }, /*#__PURE__*/React__default.createElement("img", {
44038
- className: className,
44039
- width: "40px",
44040
- src: '/bundles/arengimain/img/' + folder + '/' + picto + '.png',
44041
- alt: val,
44042
- title: val
44043
- }), /*#__PURE__*/React__default.createElement("br", null), val);
44044
- }
44045
- return val;
43967
+ var linkTemplate = useCallback(function (col) {
43968
+ return function (rowData) {
43969
+ var _ref2, _col$href;
43970
+ var label = rowData[col.field];
43971
+ var href = typeof col.href === 'function' ? col.href(rowData) : (_ref2 = (_col$href = col.href) !== null && _col$href !== void 0 ? _col$href : rowData[col.field + 'Url']) !== null && _ref2 !== void 0 ? _ref2 : '#';
43972
+ return /*#__PURE__*/React__default.createElement("a", {
43973
+ href: href
43974
+ }, label);
43975
+ };
44046
43976
  }, []);
44047
43977
  var dateTemplate = useCallback(function (rowData, options) {
44048
43978
  var val = rowData[options.field];
@@ -44173,223 +44103,24 @@ var Table = function Table(_ref) {
44173
44103
  setData(updated);
44174
44104
  onChange === null || onChange === void 0 || onChange(updated);
44175
44105
  }, [data, onChange]);
44176
- var htmlTemplate = useCallback(function (rowData, options) {
44177
- var val = rowData[options.field];
44178
- if (!val) return '';
44179
- return /*#__PURE__*/React__default.createElement("div", {
44180
- className: "limite_txt_table",
44181
- style: {
44182
- maxWidth: 410,
44183
- textAlign: 'left'
44184
- }
44185
- }, /*#__PURE__*/React__default.createElement("div", {
44186
- style: {
44187
- lineHeight: 1
44188
- },
44189
- dangerouslySetInnerHTML: {
44190
- __html: val
44191
- }
44192
- }));
44193
- }, []);
44194
- var progressTemplate = useCallback(function (rowData) {
44195
- var avancement = rowData.avancement || 0;
44196
- var clampedWidth = Math.max(0, Math.min(100, avancement));
44197
- var loadClass = 'progress_bar_menu_load0';
44198
- if (avancement === 100) loadClass = 'progress_bar_menu_load100';else if (avancement > 80) loadClass = 'progress_bar_menu_load90';else if (avancement > 70) loadClass = 'progress_bar_menu_load80';else if (avancement > 60) loadClass = 'progress_bar_menu_load70';else if (avancement > 50) loadClass = 'progress_bar_menu_load60';else if (avancement > 40) loadClass = 'progress_bar_menu_load50';else if (avancement > 30) loadClass = 'progress_bar_menu_load40';else if (avancement > 20) loadClass = 'progress_bar_menu_load30';else if (avancement > 10) loadClass = 'progress_bar_menu_load20';else if (avancement > 0) loadClass = 'progress_bar_menu_load10';
44199
- return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("div", {
44200
- className: "progress_bar_menu"
44201
- }, /*#__PURE__*/React__default.createElement("div", {
44202
- className: "progress_bar_menu_black"
44203
- }, /*#__PURE__*/React__default.createElement("div", {
44204
- className: 'progress_bar_menu_load ' + loadClass,
44205
- style: {
44206
- width: clampedWidth + '%'
44207
- }
44208
- }))), /*#__PURE__*/React__default.createElement("a", {
44209
- href: routing.generate('Risque_detail', {
44210
- 'carto_id': carto,
44211
- 'risque_num': rowData.numero,
44212
- 'page': 'actions'
44213
- })
44214
- }, /*#__PURE__*/React__default.createElement("span", {
44215
- className: "progress_bar_menu_info"
44216
- }, avancement, " %")), rowData.perspectiveColor && /*#__PURE__*/React__default.createElement("div", {
44217
- className: "status"
44218
- }, /*#__PURE__*/React__default.createElement("span", {
44219
- className: "perspective-circle",
44220
- style: {
44221
- backgroundColor: '#' + rowData.perspectiveColor
44222
- }
44223
- }), /*#__PURE__*/React__default.createElement("span", null, " ", rowData.perspectiveText)));
44224
- }, [carto, routing]);
44225
- var clustersTemplate = useCallback(function (rowData) {
44226
- var clusters = rowData.clusters;
44227
- if (!clusters || !Array.isArray(clusters) || !clusters.length) return '';
44228
- return /*#__PURE__*/React__default.createElement("div", null, clusters.map(function (cluster, i) {
44229
- return /*#__PURE__*/React__default.createElement("div", {
44230
- key: i,
44231
- className: "RiskClusters",
44232
- style: {
44233
- display: 'flex',
44234
- alignItems: 'center'
44235
- }
44236
- }, /*#__PURE__*/React__default.createElement("span", {
44237
- className: "material-icons",
44238
- style: {
44239
- marginRight: 5,
44240
- color: cluster.couleur ? '#' + cluster.couleur : 'black'
44241
- }
44242
- }, "bubble_chart"), /*#__PURE__*/React__default.createElement("span", {
44243
- className: "square"
44244
- }, cluster.nom));
44245
- }));
44246
- }, []);
44247
- var ventilationTemplate = useCallback(function (rowData) {
44248
- var items = rowData.ventilationActions;
44249
- if (!items || !Array.isArray(items) || !items.length) return '';
44250
- return /*#__PURE__*/React__default.createElement("div", null, items.map(function (item, i) {
44251
- return /*#__PURE__*/React__default.createElement("span", {
44252
- key: i,
44253
- className: "tab_label picto",
44254
- style: {
44255
- backgroundColor: '#' + item.couleur,
44256
- color: textColorForBg(item.couleur)
44257
- }
44258
- }, item.nom, " : ", /*#__PURE__*/React__default.createElement("span", {
44259
- className: "number"
44260
- }, item.count));
44261
- }));
44262
- }, []);
44263
- var ventilationDdmTemplate = useCallback(function (rowData) {
44264
- var items = rowData.ventilationDdm;
44265
- if (!items || !Array.isArray(items) || !items.length) return '';
44266
- return /*#__PURE__*/React__default.createElement("div", null, items.map(function (item, i) {
44267
- return /*#__PURE__*/React__default.createElement("span", {
44268
- key: i,
44269
- className: "tab_label",
44270
- style: {
44271
- backgroundColor: 'white'
44272
- }
44273
- }, /*#__PURE__*/React__default.createElement("span", {
44274
- className: "number"
44275
- }, item.intitule, " : ", item.count));
44276
- }));
44277
- }, []);
44278
- var kriEvolutionTemplate = useCallback(function (rowData) {
44279
- var tendance = rowData.evolutionKri;
44280
- if (tendance === null || tendance === undefined) return 'N/A';
44281
- var text = rowData.evolutionKriText || '';
44282
- return /*#__PURE__*/React__default.createElement("div", {
44283
- style: {
44284
- display: 'flex',
44285
- alignItems: 'center',
44286
- justifyContent: 'center'
44287
- }
44288
- }, /*#__PURE__*/React__default.createElement("img", {
44289
- src: '/bundles/arengimain/img/pictos_kri/full/' + tendance + '.png',
44290
- title: text,
44291
- alt: text
44292
- }));
44293
- }, []);
44294
- var evalGlobalDdmTemplate = useCallback(function (rowData) {
44295
- var val = rowData.evalGlobalDdm;
44296
- var picto = rowData.evalGlobalDdmPicto;
44297
- if (!val) return '';
44298
- return /*#__PURE__*/React__default.createElement("div", {
44299
- style: {
44300
- textAlign: 'center'
44301
- }
44302
- }, picto && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("img", {
44303
- className: "img_dashboard_crit",
44304
- width: "20px",
44305
- src: '/' + picto,
44306
- alt: val,
44307
- title: val
44308
- }), /*#__PURE__*/React__default.createElement("br", null)), val);
44309
- }, []);
44310
- var documentsTemplate = useCallback(function (rowData) {
44311
- var docs = rowData.documents;
44312
- if (!docs || !Array.isArray(docs) || !docs.length) return '';
44313
- if (docs.length === 1) {
44314
- return /*#__PURE__*/React__default.createElement("a", {
44315
- className: "AttachedFilesTD-item",
44316
- href: routing.generate('evenement_download_action', {
44317
- file: docs[0].id
44318
- }),
44319
- target: "_blank",
44320
- style: {
44321
- opacity: 1
44322
- }
44323
- }, /*#__PURE__*/React__default.createElement("span", {
44324
- className: "material-icons",
44325
- style: {
44326
- opacity: 1
44327
- }
44328
- }, "attach_file"), /*#__PURE__*/React__default.createElement("div", null, docs[0].name));
44329
- }
44330
- return /*#__PURE__*/React__default.createElement("div", null, docs.length, " document(s)");
44331
- }, [routing]);
44332
- var eventBadgeTemplate = useCallback(function (rowData, options) {
44333
- var field = options.field;
44334
- var count = rowData[field];
44335
- var color = rowData[field + 'Color'] || '';
44336
- return /*#__PURE__*/React__default.createElement("span", {
44337
- className: "tab_label testBadgeFormTableau",
44338
- style: {
44339
- backgroundColor: color,
44340
- color: textColorForBg(color)
44341
- }
44342
- }, count);
44343
- }, []);
44344
44106
 
44345
44107
  /** Get the body renderer for a column based on its type */
44346
44108
  var getBodyTemplate = useCallback(function (col) {
44347
44109
  switch (col.type) {
44348
44110
  case 'link':
44349
- return linkTemplate;
44350
- case 'labelColor':
44351
- return labelColorTemplate;
44352
- case 'coloredLabel':
44353
- return coloredLabelTemplate;
44354
- case 'criticite':
44355
- return criticiteTemplate;
44111
+ return linkTemplate(col);
44356
44112
  case 'date':
44357
44113
  return dateTemplate;
44358
44114
  case 'select':
44359
44115
  return selectTemplate(col);
44360
44116
  case 'selectMultiple':
44361
44117
  return selectMultipleTemplate(col);
44362
- case 'html':
44363
- return htmlTemplate;
44364
- case 'progress':
44365
- return progressTemplate;
44366
- case 'eventBadge':
44367
- return eventBadgeTemplate;
44368
- case 'clusters':
44369
- return clustersTemplate;
44370
- case 'ventilation':
44371
- return ventilationTemplate;
44372
- case 'ventilationDdm':
44373
- return ventilationDdmTemplate;
44374
- case 'kriEvolution':
44375
- return kriEvolutionTemplate;
44376
- case 'evalGlobalDdm':
44377
- return evalGlobalDdmTemplate;
44378
- case 'documents':
44379
- return documentsTemplate;
44380
44118
  default:
44381
44119
  return undefined;
44382
44120
  }
44383
- }, [linkTemplate, labelColorTemplate, coloredLabelTemplate, criticiteTemplate, dateTemplate, selectTemplate, selectMultipleTemplate, htmlTemplate, progressTemplate, eventBadgeTemplate, clustersTemplate, ventilationTemplate, ventilationDdmTemplate, kriEvolutionTemplate, evalGlobalDdmTemplate, documentsTemplate]);
44384
-
44385
- /** Get sortField override for columns that need custom sort ordering */
44121
+ }, [linkTemplate, dateTemplate, selectTemplate, selectMultipleTemplate]);
44386
44122
  var getSortField = useCallback(function (col) {
44387
- switch (col.type) {
44388
- case 'criticite':
44389
- return col.field + 'Order';
44390
- default:
44391
- return col.field;
44392
- }
44123
+ return col.field;
44393
44124
  }, []);
44394
44125
  var header = /*#__PURE__*/React__default.createElement("div", {
44395
44126
  style: {
@@ -44613,7 +44344,11 @@ var dataTyped = [{
44613
44344
  }];
44614
44345
  var columnsTyped = [{
44615
44346
  field: 'nom',
44616
- header: 'Nom'
44347
+ header: 'Nom',
44348
+ type: 'link',
44349
+ href: function href(row) {
44350
+ return "/risques/".concat(row.id);
44351
+ }
44617
44352
  }, {
44618
44353
  field: 'dateInscription',
44619
44354
  header: 'Inscription',
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "arengibook",
3
3
  "private": false,
4
- "version": "2.0.1-table",
4
+ "version": "2.0.2-table",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "exports": {