@codeits/react-codeits-rrhh-lib 0.0.14-dev → 0.0.16-master

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.
@@ -1,7 +1,8 @@
1
1
  import React, { useEffect } from 'react';
2
- import { DynamicGraphQL, ApiRequest, Configure, GraphQLRequest } from '@codeits/react-codeits-lib';
2
+ import { DynamicGraphQL, LanguageRender, FormItemInputMultiLanguage, ApiRequest, Configure, GraphQLRequest } from '@codeits/react-codeits-lib';
3
3
  import { Form, Select } from 'antd';
4
4
  import { useTranslation } from 'react-i18next';
5
+ import 'process';
5
6
 
6
7
  var ComponentCargoDependecy = function ComponentCargoDependecy(props) {
7
8
  console.log("ComponentCargoDependecy", props.form.getFieldsValue());
@@ -14,30 +15,40 @@ var ComponentCargoDependecy = function ComponentCargoDependecy(props) {
14
15
  setUsersCargoDependency = _React$useState2[1];
15
16
  var _useTranslation = useTranslation(),
16
17
  t = _useTranslation.t;
18
+ var has_dependency = props.form.getFieldValue("has_dependency") || false;
17
19
  var loadCargos = function loadCargos() {
20
+ console.log("loadCargos ComponentCargoDependecy", props.form.getFieldsValue());
21
+ var formData = props.form.getFieldsValue();
18
22
  var modelName = "Cargo";
19
- var select_fields = ["key", "id", "dependency_cargo_id"];
20
- var filter = {
21
- id: formData.cargo_id
23
+ var select_fields = ["key", "id", "name", "dependency_cargo_id"];
24
+ var filter = {};
25
+ var sort = {
26
+ Cargo: {
27
+ name: "asc"
28
+ }
22
29
  };
23
- DynamicGraphQL.all(modelName, select_fields, filter).then(function (data) {
30
+ DynamicGraphQL.all(modelName, select_fields, filter, sort).then(function (data) {
24
31
  console.log("cargo_id_dependency data", data);
25
- DynamicGraphQL.all("Cargo", ["id", "name"], {
26
- id: data[0].dependency_cargo_id
27
- }).then(function (data) {
28
- console.log("cargosDependency data", data);
29
- setCargosDependency(data);
30
- });
32
+ setCargosDependency(data);
31
33
  });
32
34
  };
33
- var onChangeCargoDependency = function onChangeCargoDependency(value) {
34
- console.log("onChangeCargoDependency", value);
35
+ var loadUsersByCargo = function loadUsersByCargo(value, resetUser) {
36
+ if (resetUser) {
37
+ props.form.setFieldValue("user_id_dependency", null);
38
+ }
35
39
  var modelName = "UserAreaCargoRel";
36
40
  var select_fields = ["id", "user { id, email, person { id, name, lastname } }"];
37
41
  var filter = {
38
42
  cargo_id: value
39
43
  };
40
- DynamicGraphQL.all(modelName, select_fields, filter).then(function (data) {
44
+ var sort = {
45
+ User: {
46
+ person: {
47
+ name: "asc"
48
+ }
49
+ }
50
+ };
51
+ DynamicGraphQL.all(modelName, select_fields, filter, sort).then(function (data) {
41
52
  console.log("usersCargoDependency data", data);
42
53
  var users = data.map(function (userRel) {
43
54
  return {
@@ -45,22 +56,23 @@ var ComponentCargoDependecy = function ComponentCargoDependecy(props) {
45
56
  name: userRel.user.person.name + " " + userRel.user.person.lastname
46
57
  };
47
58
  });
59
+ users.sort(function (a, b) {
60
+ return a.name.localeCompare(b.name);
61
+ });
48
62
  setUsersCargoDependency(users);
49
63
  });
50
64
  };
65
+ var onChangeCargoDependency = function onChangeCargoDependency(value) {
66
+ console.log("onChangeCargoDependency", value);
67
+ loadUsersByCargo(value, true);
68
+ };
51
69
  useEffect(function () {
52
70
  loadCargos();
53
- if (props.formData.cargo_id_dependency) {
54
- onChangeCargoDependency(props.formData.cargo_id_dependency);
55
- }
56
- }, [props.formData]);
57
- useEffect(function () {
58
- loadCargos();
59
- if (props.formData.cargo_id_dependency) {
60
- onChangeCargoDependency(props.formData.cargo_id_dependency);
71
+ if (props.form.getFieldsValue().cargo_id_dependency) {
72
+ loadUsersByCargo(props.form.getFieldsValue().cargo_id_dependency, false);
61
73
  }
62
74
  }, []);
63
- return /*#__PURE__*/React.createElement("div", null, formData.has_dependency && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Form.Item, {
75
+ return /*#__PURE__*/React.createElement("div", null, has_dependency && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Form.Item, {
64
76
  label: t("schema.userAreaCargoRel.form.cargo_dependency"),
65
77
  name: "cargo_id_dependency",
66
78
  labelAlign: "left",
@@ -90,16 +102,14 @@ var ComponentCargoDependecy = function ComponentCargoDependecy(props) {
90
102
  }))));
91
103
  };
92
104
 
93
- var _editForm, _editForm2;
105
+ var _editForm;
94
106
  var date_format = function date_format(value) {
95
107
  if (!value) return "-";
96
- var date = new Date(value + "Z");
97
- var day = String(date.getDate()).padStart(2, "0");
98
- var month = String(date.getMonth() + 1).padStart(2, "0");
99
- var year = date.getFullYear();
100
- var hours = String(date.getHours()).padStart(2, "0");
101
- var minutes = String(date.getMinutes()).padStart(2, "0");
102
- var formatD = day + "/" + month + "/" + year + " " + hours + ":" + minutes;
108
+ var _value$split$0$split = value.split('T')[0].split('-'),
109
+ year = _value$split$0$split[0],
110
+ month = _value$split$0$split[1],
111
+ day = _value$split$0$split[2];
112
+ var formatD = day + "/" + month + "/" + year;
103
113
  return formatD;
104
114
  };
105
115
  var UserAreaCargoRel = function UserAreaCargoRel() {};
@@ -168,10 +178,10 @@ UserAreaCargoRel.schema = {
168
178
  field: 'user.person.lastname',
169
179
  title: 'translate:schema.userAreaCargoRel.form.lastname',
170
180
  listTable: false,
171
- editForm: (_editForm2 = {
172
- type: 'text',
173
- filter: true
174
- }, _editForm2["type"] = 'hidden', _editForm2),
181
+ editForm: {
182
+ filter: true,
183
+ type: 'hidden'
184
+ },
175
185
  excludeSET: true
176
186
  }, {
177
187
  field: 'user.person.uid',
@@ -276,6 +286,42 @@ UserAreaCargoRel.schema = {
276
286
  }
277
287
  }
278
288
  }
289
+ }, {
290
+ field: 'user_id_dependency',
291
+ title: 'translate:schema.userAreaCargoRel.form.is_working_status',
292
+ listTable: {
293
+ render: function render(value, record) {
294
+ console.log("userAreaCargoRel", record);
295
+ if (!record.start_shift && !record.end_shift) {
296
+ return /*#__PURE__*/React.createElement(LanguageRender, {
297
+ color: "#ff0000",
298
+ value: {
299
+ 'es': 'Descanso',
300
+ 'en': 'Resting'
301
+ }
302
+ });
303
+ }
304
+ var today = new Date();
305
+ today.setHours(0, 0, 0, 0);
306
+ var startDateParts = record.start_shift.split('T')[0].split('-');
307
+ var startDate = new Date(parseInt(startDateParts[0]), parseInt(startDateParts[1]) - 1, parseInt(startDateParts[2]));
308
+ var endDateParts = record.end_shift.split('T')[0].split('-');
309
+ var endDate = new Date(parseInt(endDateParts[0]), parseInt(endDateParts[1]) - 1, parseInt(endDateParts[2]));
310
+ return startDate <= today && endDate >= today ? /*#__PURE__*/React.createElement(LanguageRender, {
311
+ color: "#29732dff",
312
+ value: {
313
+ 'es': 'Trabajando',
314
+ 'en': 'Working'
315
+ }
316
+ }) : /*#__PURE__*/React.createElement(LanguageRender, {
317
+ color: "#ff0000",
318
+ value: {
319
+ 'es': 'Descanso',
320
+ 'en': 'Resting'
321
+ }
322
+ });
323
+ }
324
+ }
279
325
  }, {
280
326
  field: 'is_rotating_shift',
281
327
  title: 'translate:schema.userAreaCargoRel.form.is_rotating_shift',
@@ -319,8 +365,18 @@ UserAreaCargoRel.schema = {
319
365
  field: 'id',
320
366
  required: true,
321
367
  filter: true,
322
- render: function render(area) {
323
- return area === null || area === void 0 ? void 0 : area.name;
368
+ render: function render(option, index) {
369
+ return /*#__PURE__*/React.createElement("div", {
370
+ key: index,
371
+ style: {
372
+ display: 'flex',
373
+ gap: 10,
374
+ alignItems: 'center',
375
+ justifyContent: 'flex-start'
376
+ }
377
+ }, /*#__PURE__*/React.createElement(LanguageRender, {
378
+ value: option.name
379
+ }));
324
380
  }
325
381
  },
326
382
  dataProvider: {
@@ -334,7 +390,16 @@ UserAreaCargoRel.schema = {
334
390
  title: 'translate:schema.userAreaCargoRel.form.area',
335
391
  listTable: {
336
392
  render: function render(value, record) {
337
- return record.area ? record.area.name : '--';
393
+ if (!record.area) return /*#__PURE__*/React.createElement(LanguageRender, {
394
+ color: "#ff0000",
395
+ value: {
396
+ 'en': 'No assigned',
397
+ 'es': 'No asignado'
398
+ }
399
+ });
400
+ return /*#__PURE__*/React.createElement(LanguageRender, {
401
+ value: record.area.name
402
+ });
338
403
  }
339
404
  }
340
405
  }, {
@@ -347,8 +412,18 @@ UserAreaCargoRel.schema = {
347
412
  field: 'id',
348
413
  required: true,
349
414
  filter: true,
350
- render: function render(cargo) {
351
- return cargo === null || cargo === void 0 ? void 0 : cargo.name;
415
+ render: function render(option, index) {
416
+ return /*#__PURE__*/React.createElement("div", {
417
+ key: index,
418
+ style: {
419
+ display: 'flex',
420
+ gap: 10,
421
+ alignItems: 'center',
422
+ justifyContent: 'flex-start'
423
+ }
424
+ }, /*#__PURE__*/React.createElement(LanguageRender, {
425
+ value: option.name
426
+ }));
352
427
  }
353
428
  },
354
429
  dataProvider: {
@@ -375,7 +450,16 @@ UserAreaCargoRel.schema = {
375
450
  title: 'translate:schema.userAreaCargoRel.form.cargo',
376
451
  listTable: {
377
452
  render: function render(value, record) {
378
- return record.cargo ? record.cargo.name : '--';
453
+ if (!record.cargo) return /*#__PURE__*/React.createElement(LanguageRender, {
454
+ color: "#ff0000",
455
+ value: {
456
+ 'en': 'No assigned',
457
+ 'es': 'No asignado'
458
+ }
459
+ });
460
+ return /*#__PURE__*/React.createElement(LanguageRender, {
461
+ value: record.cargo.name
462
+ });
379
463
  }
380
464
  }
381
465
  }, {
@@ -400,7 +484,9 @@ UserAreaCargoRel.schema = {
400
484
  title: 'translate:schema.userAreaCargoRel.form.dependency_cargo',
401
485
  listTable: {
402
486
  render: function render(value, record) {
403
- return record.cargo_dependency ? record.cargo_dependency.name : '--';
487
+ return record.cargo_dependency ? /*#__PURE__*/React.createElement(LanguageRender, {
488
+ value: record.cargo_dependency.name
489
+ }) : '--';
404
490
  }
405
491
  }
406
492
  }, {
@@ -479,9 +565,16 @@ var Area = /*#__PURE__*/function () {
479
565
  }, {
480
566
  field: 'name',
481
567
  title: 'translate:schema.common.name',
482
- listTable: true,
568
+ listTable: {
569
+ render: function render(text, record) {
570
+ return /*#__PURE__*/React.createElement(LanguageRender, {
571
+ value: record.name
572
+ });
573
+ }
574
+ },
483
575
  editForm: {
484
- type: 'text',
576
+ type: 'formItem',
577
+ component: FormItemInputMultiLanguage,
485
578
  filter: true,
486
579
  required: true
487
580
  }
@@ -498,13 +591,29 @@ var Area = /*#__PURE__*/function () {
498
591
  title: 'translate:schema.area.parent_area',
499
592
  listTable: {
500
593
  render: function render(value, record) {
501
- return record.parent_area_id ? record.parent_area.name : '-';
594
+ var _record$parent_area;
595
+ return record.parent_area_id ? /*#__PURE__*/React.createElement(LanguageRender, {
596
+ value: (_record$parent_area = record.parent_area) === null || _record$parent_area === void 0 ? void 0 : _record$parent_area.name
597
+ }) : '-';
502
598
  }
503
599
  },
504
600
  editForm: {
505
601
  type: 'select',
506
602
  label: 'name',
507
603
  field: 'id',
604
+ render: function render(option, index) {
605
+ return /*#__PURE__*/React.createElement("div", {
606
+ key: index,
607
+ style: {
608
+ display: 'flex',
609
+ gap: 10,
610
+ alignItems: 'center',
611
+ justifyContent: 'flex-start'
612
+ }
613
+ }, /*#__PURE__*/React.createElement(LanguageRender, {
614
+ value: option.name
615
+ }));
616
+ },
508
617
  filter: true
509
618
  },
510
619
  dataProvider: {
@@ -556,9 +665,16 @@ var Cargo = /*#__PURE__*/function () {
556
665
  }, {
557
666
  field: 'name',
558
667
  title: 'translate:schema.common.name',
559
- listTable: true,
668
+ listTable: {
669
+ render: function render(text, record) {
670
+ return /*#__PURE__*/React.createElement(LanguageRender, {
671
+ value: record.name
672
+ });
673
+ }
674
+ },
560
675
  editForm: {
561
- type: 'text',
676
+ type: 'formItem',
677
+ component: FormItemInputMultiLanguage,
562
678
  filter: true,
563
679
  required: true
564
680
  }
@@ -567,13 +683,29 @@ var Cargo = /*#__PURE__*/function () {
567
683
  title: 'translate:schema.cargo.area',
568
684
  listTable: {
569
685
  render: function render(value, record) {
570
- return record.area_id ? record.area.name : '-';
686
+ var _record$area;
687
+ return record.area_id ? /*#__PURE__*/React.createElement(LanguageRender, {
688
+ value: (_record$area = record.area) === null || _record$area === void 0 ? void 0 : _record$area.name
689
+ }) : '-';
571
690
  }
572
691
  },
573
692
  editForm: {
574
693
  type: 'select',
575
694
  label: 'name',
576
695
  field: 'id',
696
+ render: function render(option, index) {
697
+ return /*#__PURE__*/React.createElement("div", {
698
+ key: index,
699
+ style: {
700
+ display: 'flex',
701
+ gap: 10,
702
+ alignItems: 'center',
703
+ justifyContent: 'flex-start'
704
+ }
705
+ }, /*#__PURE__*/React.createElement(LanguageRender, {
706
+ value: option.name
707
+ }));
708
+ },
577
709
  filter: true,
578
710
  required: true
579
711
  },
@@ -603,17 +735,33 @@ var Cargo = /*#__PURE__*/function () {
603
735
  title: 'translate:schema.cargo.dependency_area',
604
736
  listTable: {
605
737
  render: function render(value, record) {
606
- return record.dependency_area_id ? record.dependency_area.name : '-';
738
+ var _record$dependency_ar;
739
+ return record.dependency_area_id ? /*#__PURE__*/React.createElement(LanguageRender, {
740
+ value: (_record$dependency_ar = record.dependency_area) === null || _record$dependency_ar === void 0 ? void 0 : _record$dependency_ar.name
741
+ }) : '-';
607
742
  }
608
743
  },
609
744
  editForm: {
610
745
  type: 'select',
611
746
  label: 'name',
612
747
  field: 'id',
748
+ render: function render(option, index) {
749
+ return /*#__PURE__*/React.createElement("div", {
750
+ key: index,
751
+ style: {
752
+ display: 'flex',
753
+ gap: 10,
754
+ alignItems: 'center',
755
+ justifyContent: 'flex-start'
756
+ }
757
+ }, /*#__PURE__*/React.createElement(LanguageRender, {
758
+ value: option.name
759
+ }));
760
+ },
613
761
  filter: false,
614
762
  required: true,
615
- ignoreIf: function ignoreIf(formData) {
616
- return !formData.has_dependency;
763
+ ignoreIf: function ignoreIf(e) {
764
+ return !e.data.has_dependency;
617
765
  }
618
766
  },
619
767
  dataProvider: {
@@ -629,17 +777,33 @@ var Cargo = /*#__PURE__*/function () {
629
777
  title: 'translate:schema.cargo.dependency_cargo',
630
778
  listTable: {
631
779
  render: function render(value, record) {
632
- return record.dependency_cargo_id ? record.dependency_cargo.name : '-';
780
+ var _record$dependency_ca;
781
+ return record.dependency_cargo_id ? /*#__PURE__*/React.createElement(LanguageRender, {
782
+ value: (_record$dependency_ca = record.dependency_cargo) === null || _record$dependency_ca === void 0 ? void 0 : _record$dependency_ca.name
783
+ }) : '-';
633
784
  }
634
785
  },
635
786
  editForm: {
636
787
  type: 'select',
637
788
  label: 'name',
638
789
  field: 'id',
790
+ render: function render(option, index) {
791
+ return /*#__PURE__*/React.createElement("div", {
792
+ key: index,
793
+ style: {
794
+ display: 'flex',
795
+ gap: 10,
796
+ alignItems: 'center',
797
+ justifyContent: 'flex-start'
798
+ }
799
+ }, /*#__PURE__*/React.createElement(LanguageRender, {
800
+ value: option.name
801
+ }));
802
+ },
639
803
  filter: false,
640
804
  required: true,
641
- ignoreIf: function ignoreIf(formData) {
642
- return !formData.has_dependency;
805
+ ignoreIf: function ignoreIf(e) {
806
+ return !e.data.has_dependency;
643
807
  }
644
808
  },
645
809
  dataProvider: {
@@ -658,6 +822,58 @@ var Cargo = /*#__PURE__*/function () {
658
822
  }
659
823
  }
660
824
  }
825
+ }, {
826
+ field: 'has_notification',
827
+ title: 'translate:schema.notificationType.has_notification',
828
+ listTable: false,
829
+ editForm: {
830
+ type: 'switch',
831
+ props: function props(e) {
832
+ return {
833
+ checkedChildren: e.t('schema.form.switch.yes'),
834
+ unCheckedChildren: e.t('schema.form.switch.no')
835
+ };
836
+ }
837
+ }
838
+ }, {
839
+ field: 'notification_types',
840
+ title: 'translate:schema.notificationType.notification_type_name',
841
+ editForm: {
842
+ type: 'select',
843
+ label: 'name',
844
+ field: 'id',
845
+ filter: false,
846
+ props: {
847
+ mode: "multiple"
848
+ },
849
+ ignoreIf: function ignoreIf(e) {
850
+ return !e.data.has_notification;
851
+ },
852
+ render: function render(option) {
853
+ return /*#__PURE__*/React.createElement("div", {
854
+ style: {
855
+ display: "flex",
856
+ gap: 10,
857
+ alignItems: "center",
858
+ justifyContent: "flex-start"
859
+ }
860
+ }, /*#__PURE__*/React.createElement(LanguageRender, {
861
+ value: option.name
862
+ }));
863
+ }
864
+ },
865
+ dataProvider: {
866
+ model: 'NotificationType',
867
+ select_fields: 'key,id,name'
868
+ }
869
+ }, {
870
+ field: 'notification_types.id'
871
+ }, {
872
+ field: 'notification_types.name'
873
+ }, {
874
+ field: 'organization.id'
875
+ }, {
876
+ field: 'organization.name'
661
877
  }, {
662
878
  field: 'dependency_cargo.id'
663
879
  }, {