brainloper-ui 14.0.14 → 14.0.15

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.
@@ -1290,6 +1290,497 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1290
1290
  type: Output
1291
1291
  }] } });
1292
1292
 
1293
+ const Root = {
1294
+ id: 1,
1295
+ name: 'root',
1296
+ hasAccessToAll: true,
1297
+ };
1298
+ const Administrative = {
1299
+ id: 2,
1300
+ name: 'Administrativo',
1301
+ modules: [
1302
+ {
1303
+ id: 0,
1304
+ name: "Inicio"
1305
+ },
1306
+ {
1307
+ id: 2,
1308
+ name: "Administración",
1309
+ hasAccessToAll: true,
1310
+ },
1311
+ {
1312
+ id: 3,
1313
+ name: "Mantenimiento",
1314
+ hasAccessToAll: true
1315
+ },
1316
+ {
1317
+ id: 4,
1318
+ name: "Combustible",
1319
+ hasAccessToAll: true
1320
+ },
1321
+ {
1322
+ id: 5,
1323
+ name: "Personal",
1324
+ hasAccessToAll: true
1325
+ },
1326
+ {
1327
+ id: 6,
1328
+ name: "Indicadores",
1329
+ hasAccessToAll: true
1330
+ },
1331
+ {
1332
+ id: 7,
1333
+ name: "Inspecciones",
1334
+ hasAccessToAll: true
1335
+ },
1336
+ {
1337
+ id: 8,
1338
+ name: "Almacén",
1339
+ hasAccessToAll: true
1340
+ },
1341
+ {
1342
+ id: 9,
1343
+ name: "Localización",
1344
+ hasAccessToAll: true
1345
+ },
1346
+ {
1347
+ id: 10,
1348
+ name: "Alquiler",
1349
+ hasAccessToAll: true
1350
+ },
1351
+ ],
1352
+ };
1353
+ const MaintenanceManager = {
1354
+ id: 3,
1355
+ name: 'Jefe Mantenimiento',
1356
+ modules: [
1357
+ {
1358
+ id: 0,
1359
+ name: "Inicio"
1360
+ },
1361
+ {
1362
+ id: 2,
1363
+ name: "Administración",
1364
+ hasAccessToAll: true,
1365
+ },
1366
+ {
1367
+ id: 3,
1368
+ name: "Mantenimiento",
1369
+ hasAccessToAll: true
1370
+ },
1371
+ {
1372
+ id: 4,
1373
+ name: "Combustible",
1374
+ hasAccessToAll: true
1375
+ },
1376
+ {
1377
+ id: 5,
1378
+ name: "Personal",
1379
+ hasAccessToAll: true
1380
+ },
1381
+ {
1382
+ id: 6,
1383
+ name: "Indicadores",
1384
+ hasAccessToAll: true
1385
+ },
1386
+ {
1387
+ id: 7,
1388
+ name: "Inspecciones",
1389
+ hasAccessToAll: true
1390
+ },
1391
+ {
1392
+ id: 8,
1393
+ name: "Almacén",
1394
+ hasAccessToAll: true
1395
+ },
1396
+ {
1397
+ id: 9,
1398
+ name: "Localización",
1399
+ hasAccessToAll: true
1400
+ },
1401
+ {
1402
+ id: 10,
1403
+ name: "Alquiler",
1404
+ hasAccessToAll: true
1405
+ },
1406
+ ],
1407
+ };
1408
+ const BasicOperator = {
1409
+ id: 4,
1410
+ name: 'Operario básico',
1411
+ modules: [
1412
+ {
1413
+ id: 0,
1414
+ name: "Inicio"
1415
+ },
1416
+ {
1417
+ id: 2,
1418
+ name: "Administración",
1419
+ subModules: [
1420
+ { id: 2, name: "Terceros", permissions: { readDetail: true, readAll: true } },
1421
+ { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
1422
+ ]
1423
+ },
1424
+ {
1425
+ id: 3,
1426
+ name: "Mantenimiento",
1427
+ subModules: [
1428
+ { id: 10, name: "Registro de Mtto", permissions: { write: true } },
1429
+ { id: 12, name: "Solicitudes Mtto", permissions: { readDetail: true, write: true, delete: true, update: true } },
1430
+ { id: 7, name: "Ejecucion O.T", permissions: { readOwn: true, closeOT: true } },
1431
+ ]
1432
+ },
1433
+ {
1434
+ id: 4,
1435
+ name: "Combustible",
1436
+ subModules: [
1437
+ { id: 16, name: "Solicitudes", permissions: { readDetail: true, write: true, delete: true, update: true } },
1438
+ { id: 17, name: 'Órdenes', permissions: { readDetail: true, closeOT: true } },
1439
+ ]
1440
+ },
1441
+ {
1442
+ id: 7,
1443
+ name: "Inspecciones",
1444
+ subModules: [
1445
+ { id: 27, name: "Diligenciar", permissions: { write: true, update: true } },
1446
+ { id: 28, name: "Consultar", permissions: { readAll: true } },
1447
+ ]
1448
+ },
1449
+ {
1450
+ id: 9,
1451
+ name: "Localización",
1452
+ subModules: [
1453
+ { id: 38, name: "Iniciar ruta", permissions: { readDetail: true, write: true } },
1454
+ ]
1455
+ },
1456
+ // {
1457
+ // id: 10,
1458
+ // name: "Alquiler",
1459
+ // subModules: [
1460
+ // {id: 41, name: "Ingreso", permissions: {readDetail:true, write:true}},
1461
+ // {id: 42, name: "Despacho", permissions: {readDetail:true, write:true}},
1462
+ // {id: 43, name: "Catalogo", permissions: {readDetail:true, write:true}},
1463
+ // {id: 44, name: "Orden Alquiler", permissions: {readDetail:true, write:true}},
1464
+ // ]
1465
+ // }
1466
+ ]
1467
+ };
1468
+ const BasicMechanical = {
1469
+ id: 5,
1470
+ name: 'Mecanico básico',
1471
+ modules: [
1472
+ {
1473
+ id: 0,
1474
+ name: "Inicio"
1475
+ },
1476
+ {
1477
+ id: 2,
1478
+ name: "Administración",
1479
+ subModules: [
1480
+ { id: 2, name: "Terceros", permissions: { readDetail: true, readAll: true } },
1481
+ { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
1482
+ ]
1483
+ },
1484
+ {
1485
+ id: 3,
1486
+ name: "Mantenimiento",
1487
+ subModules: [
1488
+ { id: 10, name: "Registro de Mtto", permissions: { write: true } },
1489
+ { id: 12, name: "Solicitudes Mtto", permissions: { readDetail: true, write: true, delete: true, update: true } },
1490
+ { id: 7, name: "Ejecucion O.T", permissions: { readOwn: true, closeOT: true } },
1491
+ ]
1492
+ },
1493
+ {
1494
+ id: 4,
1495
+ name: "Combustible",
1496
+ subModules: [
1497
+ { id: 16, name: "Solicitudes", permissions: { readDetail: true, write: true, delete: true, update: true } },
1498
+ ]
1499
+ },
1500
+ {
1501
+ id: 7,
1502
+ name: "Inspecciones",
1503
+ subModules: [
1504
+ { id: 27, name: "Diligenciar", permissions: { write: true, update: true } },
1505
+ { id: 28, name: "Consultar", permissions: { readAll: true } },
1506
+ ]
1507
+ }
1508
+ ]
1509
+ };
1510
+ const BasicStorer = {
1511
+ id: 6,
1512
+ name: 'Almacenista básico',
1513
+ modules: [
1514
+ {
1515
+ id: 0,
1516
+ name: "Inicio"
1517
+ },
1518
+ {
1519
+ id: 2,
1520
+ name: "Administración",
1521
+ subModules: [
1522
+ { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
1523
+ { id: 25, name: "Datos", permissions: {} },
1524
+ ]
1525
+ },
1526
+ {
1527
+ id: 3,
1528
+ name: "Mantenimiento",
1529
+ subModules: [
1530
+ { id: 33, name: "Despachar", permissions: { readAll: true, allocateResources: true } },
1531
+ ]
1532
+ },
1533
+ {
1534
+ id: 6,
1535
+ name: "Indicadores",
1536
+ subModules: [
1537
+ { id: 35, name: "Almacen", permissions: { readAll: true, write: true, delete: true, update: true } },
1538
+ ]
1539
+ },
1540
+ {
1541
+ id: 8,
1542
+ name: "Almacén",
1543
+ subModules: [
1544
+ { id: 30, name: "Entradas", permissions: { readAll: true, write: true, delete: true, update: true } },
1545
+ { id: 31, name: "Salidas", permissions: { readAll: true, write: true, delete: true, update: true } },
1546
+ { id: 32, name: "Inventario", permissions: { readAll: true, write: true, delete: true, update: true } },
1547
+ { id: 34, name: "Orden Compra", permissions: { readAll: true, write: true, delete: true, update: true } },
1548
+ { id: 39, name: "Bodegas", permissions: { readAll: true, write: true, delete: true, update: true } },
1549
+ ]
1550
+ },
1551
+ // {
1552
+ // id: 10,
1553
+ // name: "Alquiler",
1554
+ // hasAccessToAll: true
1555
+ // }
1556
+ ],
1557
+ };
1558
+ const AdvanceStorer = {
1559
+ id: 7,
1560
+ name: 'Almacenista avanzado',
1561
+ modules: [
1562
+ {
1563
+ id: 0,
1564
+ name: "Inicio"
1565
+ },
1566
+ {
1567
+ id: 2,
1568
+ name: "Administración",
1569
+ subModules: [
1570
+ { id: 2, name: "Terceros", permissions: { readAll: true } },
1571
+ { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
1572
+ ]
1573
+ },
1574
+ {
1575
+ id: 3,
1576
+ name: "Mantenimiento",
1577
+ subModules: [
1578
+ { id: 4, name: "Equipos", permissions: { readAll: true } },
1579
+ { id: 8, name: "Históricos", permissions: { readAll: true } },
1580
+ { id: 9, name: "Calendario", permissions: { readAll: true } },
1581
+ { id: 33, name: "Despachar", permissions: { readAll: true, allocateResources: true } },
1582
+ ]
1583
+ },
1584
+ {
1585
+ id: 6,
1586
+ name: "Indicadores",
1587
+ subModules: [
1588
+ { id: 35, name: "Almacen", permissions: { readAll: true, write: true, delete: true, update: true } },
1589
+ ]
1590
+ },
1591
+ {
1592
+ id: 8,
1593
+ name: "Almacén",
1594
+ subModules: [
1595
+ { id: 30, name: "Entradas", permissions: { readAll: true, write: true, delete: true, update: true } },
1596
+ { id: 31, name: "Salidas", permissions: { readAll: true, write: true, delete: true, update: true } },
1597
+ { id: 32, name: "Inventario", permissions: { readAll: true, write: true, delete: true, update: true } },
1598
+ { id: 34, name: "Orden Compra", permissions: { readAll: true, write: true, delete: true, update: true } },
1599
+ ]
1600
+ },
1601
+ ],
1602
+ };
1603
+ const AdvanceOperator = {
1604
+ id: 8,
1605
+ name: 'Operario avanzado',
1606
+ modules: [
1607
+ {
1608
+ id: 0,
1609
+ name: "Inicio",
1610
+ subModules: []
1611
+ },
1612
+ {
1613
+ id: 2,
1614
+ name: "Administración",
1615
+ subModules: [
1616
+ { id: 2, name: "Terceros", permissions: { readAll: true } },
1617
+ { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
1618
+ ]
1619
+ },
1620
+ {
1621
+ id: 3,
1622
+ name: "Mantenimiento",
1623
+ subModules: [
1624
+ { id: 4, name: "Equipos", permissions: { readAll: true } },
1625
+ { id: 5, name: "Actividades", permissions: { readAll: true } },
1626
+ { id: 7, name: "Ejecucion O.T", permissions: { readOwn: true, closeOT: true } },
1627
+ { id: 8, name: "Históricos", permissions: { readAll: true } },
1628
+ { id: 9, name: "Calendario", permissions: { readAll: true } },
1629
+ { id: 10, name: "Registro de Mtto", permissions: { readAll: true, write: true } },
1630
+ { id: 12, name: "Solicitudes Mtto", permissions: { readAll: true, write: true, delete: true, update: true } }
1631
+ ]
1632
+ },
1633
+ {
1634
+ id: 4,
1635
+ name: "Combustible",
1636
+ subModules: [
1637
+ { id: 16, name: "Solicitudes", permissions: { readAll: true, write: true, delete: true, update: true } },
1638
+ { id: 17, name: "Órdenes", permissions: { readOwn: true, closeOT: true } },
1639
+ { id: 18, name: "Históricos", permissions: { readAll: true } },
1640
+ ]
1641
+ },
1642
+ {
1643
+ id: 7,
1644
+ name: "Inspecciones",
1645
+ subModules: [
1646
+ { id: 27, name: "Diligenciar", permissions: { readAll: true, write: true, delete: true, update: true } },
1647
+ { id: 28, name: "Consultar", permissions: { readAll: true, write: true, delete: true, update: true } },
1648
+ ]
1649
+ },
1650
+ {
1651
+ id: 8,
1652
+ name: "Almacén",
1653
+ subModules: [
1654
+ { id: 32, name: "Inventario", permissions: { readAll: true } },
1655
+ ]
1656
+ },
1657
+ {
1658
+ id: 9,
1659
+ name: "Localización",
1660
+ subModules: [
1661
+ { id: 37, name: "Históricos", permissions: { readAll: true, write: true } },
1662
+ { id: 38, name: "Iniciar ruta", permissions: { readAll: true, write: true, delete: true, update: true } },
1663
+ ]
1664
+ },
1665
+ ]
1666
+ };
1667
+ const AdvanceMechanical = {
1668
+ id: 9,
1669
+ name: 'Mecanico avanzado',
1670
+ modules: [
1671
+ {
1672
+ id: 0,
1673
+ name: "Inicio",
1674
+ subModules: []
1675
+ },
1676
+ {
1677
+ id: 2,
1678
+ name: "Administración",
1679
+ subModules: [
1680
+ { id: 2, name: "Terceros", permissions: { readAll: true } },
1681
+ { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
1682
+ ]
1683
+ },
1684
+ {
1685
+ id: 3,
1686
+ name: "Mantenimiento",
1687
+ subModules: [
1688
+ { id: 4, name: "Equipos", permissions: { readAll: true } },
1689
+ { id: 5, name: "Actividades", permissions: { readAll: true } },
1690
+ { id: 7, name: "Ejecucion O.T", permissions: { readOwn: true, closeOT: true } },
1691
+ { id: 8, name: "Históricos", permissions: { readAll: true } },
1692
+ { id: 9, name: "Calendario", permissions: { readAll: true } },
1693
+ { id: 10, name: "Registro de Mtto", permissions: { readAll: true, write: true } },
1694
+ { id: 12, name: "Solicitudes Mtto", permissions: { readAll: true, write: true, delete: true, update: true } }
1695
+ ]
1696
+ },
1697
+ {
1698
+ id: 4,
1699
+ name: "Combustible",
1700
+ subModules: [
1701
+ { id: 16, name: "Solicitudes", permissions: { readAll: true, write: true, delete: true, update: true } },
1702
+ { id: 17, name: "Órdenes", permissions: { readOwn: true, closeOT: true } },
1703
+ { id: 18, name: "Históricos", permissions: { readAll: true } },
1704
+ ]
1705
+ },
1706
+ {
1707
+ id: 7,
1708
+ name: "Inspecciones",
1709
+ subModules: [
1710
+ { id: 27, name: "Diligenciar", permissions: { readAll: true, write: true, delete: true, update: true } },
1711
+ { id: 28, name: "Consultar", permissions: { readAll: true, write: true, delete: true, update: true } },
1712
+ ]
1713
+ },
1714
+ {
1715
+ id: 8,
1716
+ name: "Almacén",
1717
+ subModules: [
1718
+ { id: 32, name: "Inventario", permissions: { readAll: true } },
1719
+ ]
1720
+ },
1721
+ ]
1722
+ };
1723
+ const OperatorFusion = {
1724
+ id: 10,
1725
+ name: 'Operario fusion',
1726
+ modules: [
1727
+ {
1728
+ id: 0,
1729
+ name: "Inicio"
1730
+ },
1731
+ {
1732
+ id: 2,
1733
+ name: "Administración",
1734
+ subModules: [
1735
+ { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
1736
+ ]
1737
+ },
1738
+ {
1739
+ id: 3,
1740
+ name: "Mantenimiento",
1741
+ subModules: [
1742
+ { id: 10, name: "Registro de Mtto", permissions: { write: true } },
1743
+ { id: 12, name: "Solicitudes Mtto", permissions: { readDetail: true, write: true, delete: true, update: true } },
1744
+ { id: 8, name: "Históricos", permissions: { readAll: true, update: true } },
1745
+ ]
1746
+ },
1747
+ {
1748
+ id: 4,
1749
+ name: "Combustible",
1750
+ subModules: [
1751
+ { id: 16, name: "Solicitudes", permissions: { readDetail: true, write: true, delete: true, update: true } },
1752
+ ]
1753
+ },
1754
+ {
1755
+ id: 7,
1756
+ name: "Inspecciones",
1757
+ subModules: [
1758
+ { id: 27, name: "Diligenciar", permissions: { write: true, update: true } },
1759
+ { id: 28, name: "Consultar", permissions: { readAll: true } },
1760
+ ]
1761
+ },
1762
+ {
1763
+ id: 9,
1764
+ name: "Localización",
1765
+ subModules: [
1766
+ { id: 38, name: "Iniciar ruta", permissions: { readDetail: true, write: true } },
1767
+ ]
1768
+ },
1769
+ ]
1770
+ };
1771
+ const modulesByRol = [
1772
+ Root,
1773
+ Administrative,
1774
+ MaintenanceManager,
1775
+ BasicOperator,
1776
+ BasicMechanical,
1777
+ BasicStorer,
1778
+ AdvanceOperator,
1779
+ AdvanceStorer,
1780
+ AdvanceMechanical,
1781
+ OperatorFusion
1782
+ ];
1783
+
1293
1784
  class ExportDataService {
1294
1785
  constructor(http, functionEter, message) {
1295
1786
  this.http = http;
@@ -79349,6 +79840,7 @@ const spanishRangeLabel = (page, pageSize, length) => {
79349
79840
  : startIndex + pageSize;
79350
79841
  return `${startIndex + 1} - ${endIndex} de ${length}`;
79351
79842
  };
79843
+ const rolesAndPermissions = modulesByRol;
79352
79844
  class DataTableComponent {
79353
79845
  constructor(dialog, http, message, functionEter, paginatorTranslate, exportService) {
79354
79846
  this.dialog = dialog;
@@ -79388,6 +79880,11 @@ class DataTableComponent {
79388
79880
  this.headerFileXlsm = [];
79389
79881
  this.headerFilters = [];
79390
79882
  this.xslxParams = null;
79883
+ this.roleId = 0;
79884
+ this.moduleId = 0;
79885
+ this.subModuleId = 0;
79886
+ this.hasAccessToAll = true;
79887
+ this.rolesAndPermissionUser = {};
79391
79888
  this.clickRow = new EventEmitter();
79392
79889
  this.add = new EventEmitter();
79393
79890
  this.edit = new EventEmitter();
@@ -79418,11 +79915,88 @@ class DataTableComponent {
79418
79915
  this.length = 0;
79419
79916
  this.page = 0;
79420
79917
  this.above = ['above'];
79918
+ this.buttonsConfig = [];
79919
+ this.paginatorTranslate.itemsPerPageLabel = 'Elementos por página';
79920
+ this.paginatorTranslate.nextPageLabel = 'Siguiente página';
79921
+ this.paginatorTranslate.lastPageLabel = 'Última página';
79922
+ this.paginatorTranslate.previousPageLabel = 'Página anterior';
79923
+ this.paginatorTranslate.firstPageLabel = 'Primera página';
79924
+ this.paginatorTranslate.getRangeLabel = spanishRangeLabel;
79925
+ }
79926
+ async ngOnInit() {
79927
+ this.validateRolAndPermission();
79928
+ if (window.screen.width > 1000) {
79929
+ this.screen = true;
79930
+ window.addEventListener('resize', () => {
79931
+ window.screen.width > 1000
79932
+ ? (this.screen = true)
79933
+ : (this.screen = false);
79934
+ });
79935
+ }
79936
+ else {
79937
+ this.screen = false;
79938
+ window.addEventListener('resize', () => {
79939
+ window.screen.width > 1000
79940
+ ? (this.screen = true)
79941
+ : (this.screen = false);
79942
+ });
79943
+ }
79944
+ if (this.reloadTable) {
79945
+ this.reloadTable.subscribe((res) => {
79946
+ this.originalData = [];
79947
+ this.selectAll = false;
79948
+ this.seletecAllEvent('');
79949
+ });
79950
+ }
79951
+ this.titleLoading == '' ? (this.titleLoading = 'Cargando') : '';
79952
+ this.messageLoading == ''
79953
+ ? (this.messageLoading = 'Obteniendo datos...')
79954
+ : '';
79955
+ this.url && !this.configuration.notInitialize
79956
+ ? this.message.openLoading(this.titleLoading, this.messageLoading)
79957
+ : '';
79958
+ try {
79959
+ if (this.url && !this.configuration.notInitialize) {
79960
+ let service = await this.getDateTableByUrl();
79961
+ this.data = service['data'];
79962
+ this.length = service['count'];
79963
+ this.data.forEach((row) => {
79964
+ this.checkboxs[row[this.configuration.primaryKey]] = false;
79965
+ });
79966
+ this.internalData.emit(service);
79967
+ setTimeout(() => {
79968
+ this.message.closeLoading();
79969
+ }, 1000);
79970
+ this.validateRules();
79971
+ }
79972
+ else if (!this.url) {
79973
+ this.paginatorActive = false;
79974
+ }
79975
+ }
79976
+ catch (error) {
79977
+ console.log(error);
79978
+ }
79979
+ }
79980
+ validateRolAndPermission() {
79981
+ if (this.roleId == 0) {
79982
+ let rolePermissions = rolesAndPermissions?.find(x => x.id == this.roleId);
79983
+ this.hasAccessToAll = rolePermissions?.hasAccessToAll ?? rolePermissions.modules?.find(x => x.id == this.moduleId)?.hasAccessToAll ?? false;
79984
+ }
79985
+ ;
79986
+ this.rolesAndPermissionUser = rolesAndPermissions?.find(x => x.id == this.roleId)?.modules?.find(x => x.id == this.moduleId)?.subModules?.find(x => x.id == this.subModuleId)?.permissions ?? {};
79987
+ if (!this.hasAccessToAll && !this.rolesAndPermissionUser.readAll && this.rolesAndPermissionUser.readOwn == true) {
79988
+ this.params = [...this.params, { id: 'readOwn', value: true }];
79989
+ }
79990
+ this.configureButtons();
79991
+ }
79992
+ configureButtons() {
79421
79993
  this.buttonsConfig = [
79422
79994
  {
79423
79995
  action: 'edit',
79424
- conditionShowHeader: () => this.selectedRows.length === 1 && this.configuration.edit,
79425
- condition: () => this.configuration.edit,
79996
+ conditionShowHeader: () => this.selectedRows.length === 1 &&
79997
+ this.configuration.edit &&
79998
+ this.hasPermission('update'),
79999
+ condition: () => this.configuration.edit && this.hasPermission('update'),
79426
80000
  icon: 'fa-edit',
79427
80001
  tooltip: 'Editar',
79428
80002
  },
@@ -79430,72 +80004,75 @@ class DataTableComponent {
79430
80004
  action: 'print',
79431
80005
  conditionShowHeader: () => this.selectedRows.length === 1 &&
79432
80006
  this.configuration.print &&
79433
- this.screen,
79434
- condition: () => this.configuration.print && this.screen,
80007
+ this.screen &&
80008
+ this.hasPermission('print'),
80009
+ condition: () => this.configuration.print && this.screen && this.hasPermission('print'),
79435
80010
  icon: 'fa-print',
79436
80011
  tooltip: 'Imprimir',
79437
80012
  },
79438
80013
  {
79439
80014
  action: 'active',
79440
- conditionShowHeader: () => this.selectedRows.length > 0 && this.configuration.active,
79441
- condition: () => this.configuration.active,
80015
+ conditionShowHeader: () => this.selectedRows.length > 0 && this.configuration.active && this.hasPermission('activateAndInactivate'),
80016
+ condition: () => this.configuration.active && this.hasPermission('activateAndInactivate'),
79442
80017
  icon: 'fa-adjust',
79443
80018
  tooltip: 'Activar/Desactivar',
79444
80019
  },
79445
80020
  {
79446
80021
  action: 'add',
79447
- conditionShowHeader: () => this.selectedRows.length === 0 && this.configuration.add,
80022
+ conditionShowHeader: () => this.selectedRows.length === 0 && this.configuration.add && this.hasPermission('write'),
79448
80023
  condition: () => false,
79449
80024
  icon: 'fa-plus-circle',
79450
80025
  tooltip: 'Nuevo',
79451
80026
  },
79452
80027
  {
79453
80028
  action: 'income',
79454
- conditionShowHeader: () => this.selectedRows.length === 0 && this.configuration.income,
80029
+ conditionShowHeader: () => this.selectedRows.length === 0 && this.configuration.income && this.hasPermission('write'),
79455
80030
  condition: () => false,
79456
80031
  icon: 'fa-user-plus',
79457
80032
  tooltip: 'Ingreso',
79458
80033
  },
79459
80034
  {
79460
80035
  action: 'exit',
79461
- conditionShowHeader: () => this.selectedRows.length === 0 && this.configuration.exit,
80036
+ conditionShowHeader: () => this.selectedRows.length === 0 && this.configuration.exit && this.hasPermission('write'),
79462
80037
  condition: () => false,
79463
80038
  icon: 'fa-user-times',
79464
80039
  tooltip: 'Salida',
79465
80040
  },
79466
80041
  {
79467
80042
  action: 'view',
79468
- conditionShowHeader: () => this.selectedRows.length === 1 && this.configuration.view,
79469
- condition: () => this.configuration.view,
80043
+ conditionShowHeader: () => this.selectedRows.length === 1 && this.configuration.view && this.hasPermission('readDetail'),
80044
+ condition: () => this.configuration.view && this.hasPermission('readDetail'),
79470
80045
  icon: 'fa-eye',
79471
80046
  tooltip: 'Ver detalle',
79472
80047
  },
79473
80048
  {
79474
80049
  action: 'closeOrder',
79475
- conditionShowHeader: () => this.selectedRows.length === 1 && this.configuration.closeOrder,
79476
- condition: () => this.configuration.closeOrder,
80050
+ conditionShowHeader: () => (this.selectedRows.length === 1 && this.configuration.closeOrder) && this.hasPermission('closeOT'),
80051
+ condition: () => this.configuration.closeOrder && this.hasPermission('closeOT'),
79477
80052
  icon: 'fa-check-circle',
79478
80053
  tooltip: 'Cerrar orden',
79479
80054
  },
79480
80055
  {
79481
80056
  action: 'packOff',
79482
- conditionShowHeader: () => this.selectedRows.length === 1 && this.configuration.packOff,
79483
- condition: () => this.configuration.packOff,
80057
+ conditionShowHeader: () => this.selectedRows.length === 1 && this.configuration.packOff && this.hasPermission('allocateResources'),
80058
+ condition: () => this.configuration.packOff && this.hasPermission('allocateResources'),
79484
80059
  icon: 'fa-cart-arrow-down',
79485
80060
  tooltip: 'Despachar recursos',
79486
80061
  },
79487
80062
  {
79488
80063
  action: 'advance',
79489
- conditionShowHeader: () => this.selectedRows.length === 1 && this.configuration.advance,
79490
- condition: () => this.configuration.advance,
80064
+ conditionShowHeader: () => this.selectedRows.length === 1 && this.configuration.advance && this.hasPermission('advance'),
80065
+ condition: () => this.configuration.advance && this.hasPermission('advance'),
79491
80066
  icon: 'fa-arrow-right',
79492
80067
  tooltip: this.configuration.advanceLabel,
79493
80068
  },
79494
80069
  {
79495
80070
  action: 'sendEmail',
79496
80071
  conditionShowHeader: () => this.selectedRows.length === 1 &&
79497
- this.configuration.sendEmail,
79498
- condition: () => this.configuration.sendEmail && this.screen,
80072
+ this.configuration.sendEmail &&
80073
+ this.screen &&
80074
+ this.hasPermission('sendEmail'),
80075
+ condition: () => this.configuration.sendEmail && this.screen && this.hasPermission('sendEmail'),
79499
80076
  icon: 'fa-mail-bulk',
79500
80077
  tooltip: 'Envia correo',
79501
80078
  },
@@ -79503,86 +80080,32 @@ class DataTableComponent {
79503
80080
  action: 'exportToExcel',
79504
80081
  conditionShowHeader: () => this.selectedRows.length === 0 &&
79505
80082
  this.data.length > 0 &&
79506
- (this.configuration.exportXslx ||
79507
- this.configuration.exportXslxWithPages),
80083
+ (this.configuration.exportXslx || this.configuration.exportXslxWithPages) &&
80084
+ this.hasPermission('export'),
79508
80085
  condition: () => false,
79509
80086
  icon: 'fa-download',
79510
80087
  tooltip: 'Exportar Tabla',
79511
80088
  },
79512
80089
  {
79513
80090
  action: 'exportToExcelByRow',
79514
- conditionShowHeader: () => this.selectedRows.length === 1 && this.configuration.exportXslxByRow,
79515
- condition: () => this.configuration.exportXslxByRow,
80091
+ conditionShowHeader: () => this.selectedRows.length === 1 && this.configuration.exportXslxByRow && this.hasPermission('export'),
80092
+ condition: () => this.configuration.exportXslxByRow && this.hasPermission('export'),
79516
80093
  icon: 'fa-download',
79517
80094
  tooltip: 'Exportar Registro',
79518
80095
  },
79519
80096
  {
79520
80097
  action: 'delete',
79521
- conditionShowHeader: () => this.selectedRows.length > 0 && this.configuration.delete,
79522
- condition: () => this.configuration.delete,
80098
+ conditionShowHeader: () => this.selectedRows.length > 0 && this.configuration.delete && this.hasPermission('delete'),
80099
+ condition: () => this.configuration.delete && this.hasPermission('delete'),
79523
80100
  icon: 'fa-trash',
79524
80101
  tooltip: 'Eliminar',
79525
80102
  },
79526
80103
  ];
79527
- this.paginatorTranslate.itemsPerPageLabel = 'Elementos por página';
79528
- this.paginatorTranslate.nextPageLabel = 'Siguiente página';
79529
- this.paginatorTranslate.lastPageLabel = 'Última página';
79530
- this.paginatorTranslate.previousPageLabel = 'Página anterior';
79531
- this.paginatorTranslate.firstPageLabel = 'Primera página';
79532
- this.paginatorTranslate.getRangeLabel = spanishRangeLabel;
79533
80104
  }
79534
- async ngOnInit() {
79535
- if (window.screen.width > 1000) {
79536
- this.screen = true;
79537
- window.addEventListener('resize', () => {
79538
- window.screen.width > 1000
79539
- ? (this.screen = true)
79540
- : (this.screen = false);
79541
- });
79542
- }
79543
- else {
79544
- this.screen = false;
79545
- window.addEventListener('resize', () => {
79546
- window.screen.width > 1000
79547
- ? (this.screen = true)
79548
- : (this.screen = false);
79549
- });
79550
- }
79551
- if (this.reloadTable) {
79552
- this.reloadTable.subscribe((res) => {
79553
- this.originalData = [];
79554
- this.selectAll = false;
79555
- this.seletecAllEvent('');
79556
- });
79557
- }
79558
- this.titleLoading == '' ? (this.titleLoading = 'Cargando') : '';
79559
- this.messageLoading == ''
79560
- ? (this.messageLoading = 'Obteniendo datos...')
79561
- : '';
79562
- this.url && !this.configuration.notInitialize
79563
- ? this.message.openLoading(this.titleLoading, this.messageLoading)
79564
- : '';
79565
- try {
79566
- if (this.url && !this.configuration.notInitialize) {
79567
- let service = await this.getDateTableByUrl();
79568
- this.data = service['data'];
79569
- this.length = service['count'];
79570
- this.data.forEach((row) => {
79571
- this.checkboxs[row[this.configuration.primaryKey]] = false;
79572
- });
79573
- this.internalData.emit(service);
79574
- setTimeout(() => {
79575
- this.message.closeLoading();
79576
- }, 1000);
79577
- this.validateRules();
79578
- }
79579
- else if (!this.url) {
79580
- this.paginatorActive = false;
79581
- }
79582
- }
79583
- catch (error) {
79584
- console.log(error);
79585
- }
80105
+ hasPermission(permission) {
80106
+ if (this.hasAccessToAll)
80107
+ return true;
80108
+ return this.rolesAndPermissionUser?.[permission] ?? false;
79586
80109
  }
79587
80110
  async getDateTableByUrl() {
79588
80111
  this.validarParams();
@@ -79889,7 +80412,7 @@ class DataTableComponent {
79889
80412
  }
79890
80413
  }
79891
80414
  DataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DataTableComponent, deps: [{ token: i1.MatDialog }, { token: HttpService }, { token: MessageService }, { token: FunctionsService }, { token: i5.MatPaginatorIntl }, { token: ExportDataService }], target: i0.ɵɵFactoryTarget.Component });
79892
- DataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DataTableComponent, selector: "data-table", inputs: { title: "title", columns: "columns", data: "data", combo: "combo", configuration: "configuration", reloadTable: "reloadTable", url: "url", params: "params", titleLoading: "titleLoading", messageLoading: "messageLoading", headerFileXlsm: "headerFileXlsm", headerFilters: "headerFilters", xslxTitleFields: "xslxTitleFields", xslxSheetNameFields: "xslxSheetNameFields", xslxBodyFields: "xslxBodyFields", xslxParams: "xslxParams" }, outputs: { clickRow: "clickRow", add: "add", edit: "edit", delete: "delete", print: "print", exportXslxByRow: "exportXslxByRow", active: "active", selected: "selected", view: "view", closeOrder: "closeOrder", packOff: "packOff", advance: "advance", income: "income", exit: "exit", internalData: "internalData", sendEmail: "sendEmail" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"contenedor-tabla\">\r\n <app-filters [headerFilters]=\"headerFilters\" (applyFilters)=\"applyFilters($event)\">\r\n </app-filters>\r\n\r\n <div style='display: flex; flex-direction: row; justify-content: space-between; align-items: center;'>\r\n <div style='flex:1; font-size: 1rem;'>\r\n <strong><p style='margin:0' *ngIf='selectedRows.length>0 && selectedRows.length<2 && configuration.selectable'> {{selectedRows.length}} Seleccionado </p></strong>\r\n <strong><p style='margin:0' *ngIf='selectedRows.length>1'> {{selectedRows.length}} Seleccionados </p></strong>\r\n <strong><p style='margin:0' *ngIf='selectedRows.length<1 && !configuration.hideTitle'> {{title}} </p></strong>\r\n </div>\r\n\r\n <div *ngIf=\"!configuration.hideFilter\" style='flex:3; padding-right: 10px; margin-bottom: 5px;'>\r\n <mat-form-field class='filter'>\r\n <input type=\"text\" [(ngModel)]='filters' (keyup)='changeFilters()' matInput placeholder=\"Filtrar\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <ng-container *ngTemplateOutlet=\"buttonsTable\"></ng-container>\r\n\r\n </div>\r\n\r\n <table class=\"table_Eter table-hover\">\r\n <thead class=\"dark\">\r\n <tr >\r\n <th *ngIf='configuration.selectable' style='justify-content: center;'>\r\n <mat-checkbox color='primary' (change)='seletecAllEvent($event)' [(ngModel)]='selectAll' [indeterminate]='indeterminateState'> </mat-checkbox> </th>\r\n <th\r\n [class]=\"column.style?.movil\"\r\n *ngFor='let column of columns' scope=\"col\"\r\n [ngStyle]=\"column.style\"\r\n >{{column.label}}</th>\r\n <th *ngIf=\"shouldShowMenu()\"></th>\r\n </tr>\r\n </thead>\r\n <tbody class='mat-elevation-z3'>\r\n\r\n <tr style=\"cursor: pointer;\" *ngFor='let row of data' (click)='clickOnRoW(row)' [class]=\"checkboxs[row[configuration.primaryKey]]?'selected-row':''\">\r\n <th *ngIf='configuration.selectable' style='justify-content: center;'> <mat-checkbox color='primary' [(ngModel)]='checkboxs[row[configuration.primaryKey]]' (click)='clicked($event)' (change)='selection(row, $event)'> </mat-checkbox> </th>\r\n <th [class]='column.style?.movil' [ngStyle]='column.style' scope=\"row\" *ngFor='let column of columns'>{{ row[column.ID] }}</th>\r\n\r\n <th *ngIf=\"shouldShowMenu()\" style=\"display: flex; justify-content: center; align-items: center; overflow: visible;\">\r\n <mat-icon\r\n (click)=\"showMenu($event)\"\r\n [matMenuTriggerFor]=\"menu\"\r\n matRipple\r\n class=\"menu_more_vert\"\r\n aria-hidden=\"false\"\r\n aria-label=\"Example delete icon\"\r\n >more_vert</mat-icon>\r\n\r\n <mat-menu #menu=\"matMenu\">\r\n <div *ngFor=\"let btn of buttonsConfig\" >\r\n <button *ngIf=\"btn.condition()\" (click)=\"action(btn.action, row)\" mat-menu-item class=\"d-flex align-items-center w-100\" >\r\n <i class=\"fa {{btn.icon}} btn-accion\" style=\"font-size:120%; margin-right: 10px\"></i>\r\n {{btn.tooltip}}\r\n </button>\r\n </div>\r\n\r\n </mat-menu>\r\n </th>\r\n\r\n </tr>\r\n\r\n\r\n </tbody>\r\n\r\n </table>\r\n\r\n <div *ngIf='length == 0 && data.length == 0' style=\"margin-left: 10px;\"> <strong>No se encontr\u00F3 informaci\u00F3n</strong></div>\r\n\r\n <mat-paginator *ngIf=\"paginatorActive\"\r\n [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons\r\n (page)=\"changePage($event)\"></mat-paginator>\r\n\r\n </div>\r\n\r\n<ng-template #buttonsTable let-fontSize=\"fontSize\" let-marginRight=\"marginRight\" style='flex:0.5; display:flex; flex-direction: row; justify-content: flex-end;'>\r\n <ng-container *ngFor=\"let btn of buttonsConfig\">\r\n <div *ngIf=\"btn.conditionShowHeader()\" (click)=\"action(btn.action)\" matTooltip=\"{{btn.tooltip}}\" matTooltipPosition=\"above\">\r\n <i class=\"fa {{btn.icon}} btn-accion\" [ngStyle]=\"{'font-size': fontSize ? fontSize : '170%', 'margin-right': marginRight ? marginRight : '15px'}\"></i>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n", styles: [".contenedor-tabla{width:100%;overflow-x:auto}.table_Eter{width:100%;margin-bottom:4px;color:primary;border-collapse:collapse}.table_Eter .dark th{color:#fff;background-color:#343a40;border-color:#454d55;text-align:center;vertical-align:middle}.table_Eter thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table_Eter th,.table_Eter td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}th{text-align:inherit}*,*:before,*:after{box-sizing:border-box}.btn-accion{cursor:pointer}mat-form-field{padding:0!important;width:100%}.filter{padding:0;margin-bottom:10px;width:100%}.filter ::ng-deep .mat-form-field-underline{bottom:3px!important}.filter ::ng-deep .mat-form-field-infix{border:0!important}.filter ::ng-deep .mat-form-field-wrapper{padding:0}.filter ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-wrapper{padding:0}.selected-row{color:#212529;background-color:#00000013}button:focus{outline:none!important}@media only screen and (max-width: 600px){.no-movil{display:none}}::ng-deep .mat-paginator{background:transparent!important}@media screen and (max-width: 400px){.filter{padding:0;margin-bottom:40px;width:70%}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i8$1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i3$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i13.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i7$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FiltersComponent, selector: "app-filters", inputs: ["headerFilters"], outputs: ["applyFilters"] }] });
80415
+ DataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DataTableComponent, selector: "data-table", inputs: { title: "title", columns: "columns", data: "data", combo: "combo", configuration: "configuration", reloadTable: "reloadTable", url: "url", params: "params", titleLoading: "titleLoading", messageLoading: "messageLoading", headerFileXlsm: "headerFileXlsm", headerFilters: "headerFilters", xslxTitleFields: "xslxTitleFields", xslxSheetNameFields: "xslxSheetNameFields", xslxBodyFields: "xslxBodyFields", xslxParams: "xslxParams", roleId: "roleId", moduleId: "moduleId", subModuleId: "subModuleId" }, outputs: { clickRow: "clickRow", add: "add", edit: "edit", delete: "delete", print: "print", exportXslxByRow: "exportXslxByRow", active: "active", selected: "selected", view: "view", closeOrder: "closeOrder", packOff: "packOff", advance: "advance", income: "income", exit: "exit", internalData: "internalData", sendEmail: "sendEmail" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"contenedor-tabla\">\r\n <app-filters [headerFilters]=\"headerFilters\" (applyFilters)=\"applyFilters($event)\">\r\n </app-filters>\r\n\r\n <div style='display: flex; flex-direction: row; justify-content: space-between; align-items: center;'>\r\n <div style='flex:1; font-size: 1rem;'>\r\n <strong><p style='margin:0' *ngIf='selectedRows.length>0 && selectedRows.length<2 && configuration.selectable'> {{selectedRows.length}} Seleccionado </p></strong>\r\n <strong><p style='margin:0' *ngIf='selectedRows.length>1'> {{selectedRows.length}} Seleccionados </p></strong>\r\n <strong><p style='margin:0' *ngIf='selectedRows.length<1 && !configuration.hideTitle'> {{title}} </p></strong>\r\n </div>\r\n\r\n <div *ngIf=\"!configuration.hideFilter\" style='flex:3; padding-right: 10px; margin-bottom: 5px;'>\r\n <mat-form-field class='filter'>\r\n <input type=\"text\" [(ngModel)]='filters' (keyup)='changeFilters()' matInput placeholder=\"Filtrar\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <ng-container *ngTemplateOutlet=\"buttonsTable\"></ng-container>\r\n\r\n </div>\r\n\r\n <table class=\"table_Eter table-hover\">\r\n <thead class=\"dark\">\r\n <tr >\r\n <th *ngIf='configuration.selectable' style='justify-content: center;'>\r\n <mat-checkbox color='primary' (change)='seletecAllEvent($event)' [(ngModel)]='selectAll' [indeterminate]='indeterminateState'> </mat-checkbox> </th>\r\n <th\r\n [class]=\"column.style?.movil\"\r\n *ngFor='let column of columns' scope=\"col\"\r\n [ngStyle]=\"column.style\"\r\n >{{column.label}}</th>\r\n <th *ngIf=\"shouldShowMenu()\"></th>\r\n </tr>\r\n </thead>\r\n <tbody class='mat-elevation-z3'>\r\n\r\n <tr style=\"cursor: pointer;\" *ngFor='let row of data' (click)='clickOnRoW(row)' [class]=\"checkboxs[row[configuration.primaryKey]]?'selected-row':''\">\r\n <th *ngIf='configuration.selectable' style='justify-content: center;'> <mat-checkbox color='primary' [(ngModel)]='checkboxs[row[configuration.primaryKey]]' (click)='clicked($event)' (change)='selection(row, $event)'> </mat-checkbox> </th>\r\n <th [class]='column.style?.movil' [ngStyle]='column.style' scope=\"row\" *ngFor='let column of columns'>{{ row[column.ID] }}</th>\r\n\r\n <th *ngIf=\"shouldShowMenu()\" style=\"display: flex; justify-content: center; align-items: center; overflow: visible;\">\r\n <mat-icon\r\n (click)=\"showMenu($event)\"\r\n [matMenuTriggerFor]=\"menu\"\r\n matRipple\r\n class=\"menu_more_vert\"\r\n aria-hidden=\"false\"\r\n aria-label=\"Example delete icon\"\r\n >more_vert</mat-icon>\r\n\r\n <mat-menu #menu=\"matMenu\">\r\n <div *ngFor=\"let btn of buttonsConfig\" >\r\n <button *ngIf=\"btn.condition()\" (click)=\"action(btn.action, row)\" mat-menu-item class=\"d-flex align-items-center w-100\" >\r\n <i class=\"fa {{btn.icon}} btn-accion\" style=\"font-size:120%; margin-right: 10px\"></i>\r\n {{btn.tooltip}}\r\n </button>\r\n </div>\r\n\r\n </mat-menu>\r\n </th>\r\n\r\n </tr>\r\n\r\n\r\n </tbody>\r\n\r\n </table>\r\n\r\n <div *ngIf='length == 0 && data.length == 0' style=\"margin-left: 10px;\"> <strong>No se encontr\u00F3 informaci\u00F3n</strong></div>\r\n\r\n <mat-paginator *ngIf=\"paginatorActive\"\r\n [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons\r\n (page)=\"changePage($event)\"></mat-paginator>\r\n\r\n </div>\r\n\r\n<ng-template #buttonsTable let-fontSize=\"fontSize\" let-marginRight=\"marginRight\" style='flex:0.5; display:flex; flex-direction: row; justify-content: flex-end;'>\r\n <ng-container *ngFor=\"let btn of buttonsConfig\">\r\n <div *ngIf=\"btn.conditionShowHeader()\" (click)=\"action(btn.action)\" matTooltip=\"{{btn.tooltip}}\" matTooltipPosition=\"above\">\r\n <i class=\"fa {{btn.icon}} btn-accion\" [ngStyle]=\"{'font-size': fontSize ? fontSize : '170%', 'margin-right': marginRight ? marginRight : '15px'}\"></i>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n", styles: [".contenedor-tabla{width:100%;overflow-x:auto}.table_Eter{width:100%;margin-bottom:4px;color:primary;border-collapse:collapse}.table_Eter .dark th{color:#fff;background-color:#343a40;border-color:#454d55;text-align:center;vertical-align:middle}.table_Eter thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table_Eter th,.table_Eter td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}th{text-align:inherit}*,*:before,*:after{box-sizing:border-box}.btn-accion{cursor:pointer}mat-form-field{padding:0!important;width:100%}.filter{padding:0;margin-bottom:10px;width:100%}.filter ::ng-deep .mat-form-field-underline{bottom:3px!important}.filter ::ng-deep .mat-form-field-infix{border:0!important}.filter ::ng-deep .mat-form-field-wrapper{padding:0}.filter ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-wrapper{padding:0}.selected-row{color:#212529;background-color:#00000013}button:focus{outline:none!important}@media only screen and (max-width: 600px){.no-movil{display:none}}::ng-deep .mat-paginator{background:transparent!important}@media screen and (max-width: 400px){.filter{padding:0;margin-bottom:40px;width:70%}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i8$1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i3$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i13.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i7$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FiltersComponent, selector: "app-filters", inputs: ["headerFilters"], outputs: ["applyFilters"] }] });
79893
80416
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DataTableComponent, decorators: [{
79894
80417
  type: Component,
79895
80418
  args: [{ selector: 'data-table', template: "<div class=\"contenedor-tabla\">\r\n <app-filters [headerFilters]=\"headerFilters\" (applyFilters)=\"applyFilters($event)\">\r\n </app-filters>\r\n\r\n <div style='display: flex; flex-direction: row; justify-content: space-between; align-items: center;'>\r\n <div style='flex:1; font-size: 1rem;'>\r\n <strong><p style='margin:0' *ngIf='selectedRows.length>0 && selectedRows.length<2 && configuration.selectable'> {{selectedRows.length}} Seleccionado </p></strong>\r\n <strong><p style='margin:0' *ngIf='selectedRows.length>1'> {{selectedRows.length}} Seleccionados </p></strong>\r\n <strong><p style='margin:0' *ngIf='selectedRows.length<1 && !configuration.hideTitle'> {{title}} </p></strong>\r\n </div>\r\n\r\n <div *ngIf=\"!configuration.hideFilter\" style='flex:3; padding-right: 10px; margin-bottom: 5px;'>\r\n <mat-form-field class='filter'>\r\n <input type=\"text\" [(ngModel)]='filters' (keyup)='changeFilters()' matInput placeholder=\"Filtrar\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <ng-container *ngTemplateOutlet=\"buttonsTable\"></ng-container>\r\n\r\n </div>\r\n\r\n <table class=\"table_Eter table-hover\">\r\n <thead class=\"dark\">\r\n <tr >\r\n <th *ngIf='configuration.selectable' style='justify-content: center;'>\r\n <mat-checkbox color='primary' (change)='seletecAllEvent($event)' [(ngModel)]='selectAll' [indeterminate]='indeterminateState'> </mat-checkbox> </th>\r\n <th\r\n [class]=\"column.style?.movil\"\r\n *ngFor='let column of columns' scope=\"col\"\r\n [ngStyle]=\"column.style\"\r\n >{{column.label}}</th>\r\n <th *ngIf=\"shouldShowMenu()\"></th>\r\n </tr>\r\n </thead>\r\n <tbody class='mat-elevation-z3'>\r\n\r\n <tr style=\"cursor: pointer;\" *ngFor='let row of data' (click)='clickOnRoW(row)' [class]=\"checkboxs[row[configuration.primaryKey]]?'selected-row':''\">\r\n <th *ngIf='configuration.selectable' style='justify-content: center;'> <mat-checkbox color='primary' [(ngModel)]='checkboxs[row[configuration.primaryKey]]' (click)='clicked($event)' (change)='selection(row, $event)'> </mat-checkbox> </th>\r\n <th [class]='column.style?.movil' [ngStyle]='column.style' scope=\"row\" *ngFor='let column of columns'>{{ row[column.ID] }}</th>\r\n\r\n <th *ngIf=\"shouldShowMenu()\" style=\"display: flex; justify-content: center; align-items: center; overflow: visible;\">\r\n <mat-icon\r\n (click)=\"showMenu($event)\"\r\n [matMenuTriggerFor]=\"menu\"\r\n matRipple\r\n class=\"menu_more_vert\"\r\n aria-hidden=\"false\"\r\n aria-label=\"Example delete icon\"\r\n >more_vert</mat-icon>\r\n\r\n <mat-menu #menu=\"matMenu\">\r\n <div *ngFor=\"let btn of buttonsConfig\" >\r\n <button *ngIf=\"btn.condition()\" (click)=\"action(btn.action, row)\" mat-menu-item class=\"d-flex align-items-center w-100\" >\r\n <i class=\"fa {{btn.icon}} btn-accion\" style=\"font-size:120%; margin-right: 10px\"></i>\r\n {{btn.tooltip}}\r\n </button>\r\n </div>\r\n\r\n </mat-menu>\r\n </th>\r\n\r\n </tr>\r\n\r\n\r\n </tbody>\r\n\r\n </table>\r\n\r\n <div *ngIf='length == 0 && data.length == 0' style=\"margin-left: 10px;\"> <strong>No se encontr\u00F3 informaci\u00F3n</strong></div>\r\n\r\n <mat-paginator *ngIf=\"paginatorActive\"\r\n [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons\r\n (page)=\"changePage($event)\"></mat-paginator>\r\n\r\n </div>\r\n\r\n<ng-template #buttonsTable let-fontSize=\"fontSize\" let-marginRight=\"marginRight\" style='flex:0.5; display:flex; flex-direction: row; justify-content: flex-end;'>\r\n <ng-container *ngFor=\"let btn of buttonsConfig\">\r\n <div *ngIf=\"btn.conditionShowHeader()\" (click)=\"action(btn.action)\" matTooltip=\"{{btn.tooltip}}\" matTooltipPosition=\"above\">\r\n <i class=\"fa {{btn.icon}} btn-accion\" [ngStyle]=\"{'font-size': fontSize ? fontSize : '170%', 'margin-right': marginRight ? marginRight : '15px'}\"></i>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n", styles: [".contenedor-tabla{width:100%;overflow-x:auto}.table_Eter{width:100%;margin-bottom:4px;color:primary;border-collapse:collapse}.table_Eter .dark th{color:#fff;background-color:#343a40;border-color:#454d55;text-align:center;vertical-align:middle}.table_Eter thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table_Eter th,.table_Eter td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}th{text-align:inherit}*,*:before,*:after{box-sizing:border-box}.btn-accion{cursor:pointer}mat-form-field{padding:0!important;width:100%}.filter{padding:0;margin-bottom:10px;width:100%}.filter ::ng-deep .mat-form-field-underline{bottom:3px!important}.filter ::ng-deep .mat-form-field-infix{border:0!important}.filter ::ng-deep .mat-form-field-wrapper{padding:0}.filter ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-wrapper{padding:0}.selected-row{color:#212529;background-color:#00000013}button:focus{outline:none!important}@media only screen and (max-width: 600px){.no-movil{display:none}}::ng-deep .mat-paginator{background:transparent!important}@media screen and (max-width: 400px){.filter{padding:0;margin-bottom:40px;width:70%}}\n"] }]
@@ -79925,6 +80448,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
79925
80448
  type: Input
79926
80449
  }], xslxParams: [{
79927
80450
  type: Input
80451
+ }], roleId: [{
80452
+ type: Input
80453
+ }], moduleId: [{
80454
+ type: Input
80455
+ }], subModuleId: [{
80456
+ type: Input
79928
80457
  }], clickRow: [{
79929
80458
  type: Output
79930
80459
  }], add: [{
@@ -80739,494 +81268,10 @@ class RolesAndPermissions {
80739
81268
  constructor() {
80740
81269
  this.hasAccessToAll = false;
80741
81270
  }
81271
+ }
81272
+ class IPermissions {
80742
81273
  }
80743
81274
 
80744
- const Root = {
80745
- id: 1,
80746
- name: 'root',
80747
- hasAccessToAll: true,
80748
- };
80749
- const Administrative = {
80750
- id: 2,
80751
- name: 'Administrativo',
80752
- modules: [
80753
- {
80754
- id: 0,
80755
- name: "Inicio"
80756
- },
80757
- {
80758
- id: 2,
80759
- name: "Administración",
80760
- hasAccessToAll: true,
80761
- },
80762
- {
80763
- id: 3,
80764
- name: "Mantenimiento",
80765
- hasAccessToAll: true
80766
- },
80767
- {
80768
- id: 4,
80769
- name: "Combustible",
80770
- hasAccessToAll: true
80771
- },
80772
- {
80773
- id: 5,
80774
- name: "Personal",
80775
- hasAccessToAll: true
80776
- },
80777
- {
80778
- id: 6,
80779
- name: "Indicadores",
80780
- hasAccessToAll: true
80781
- },
80782
- {
80783
- id: 7,
80784
- name: "Inspecciones",
80785
- hasAccessToAll: true
80786
- },
80787
- {
80788
- id: 8,
80789
- name: "Almacén",
80790
- hasAccessToAll: true
80791
- },
80792
- {
80793
- id: 9,
80794
- name: "Localización",
80795
- hasAccessToAll: true
80796
- },
80797
- {
80798
- id: 10,
80799
- name: "Alquiler",
80800
- hasAccessToAll: true
80801
- },
80802
- ],
80803
- };
80804
- const MaintenanceManager = {
80805
- id: 3,
80806
- name: 'Jefe Mantenimiento',
80807
- modules: [
80808
- {
80809
- id: 0,
80810
- name: "Inicio"
80811
- },
80812
- {
80813
- id: 2,
80814
- name: "Administración",
80815
- hasAccessToAll: true,
80816
- },
80817
- {
80818
- id: 3,
80819
- name: "Mantenimiento",
80820
- hasAccessToAll: true
80821
- },
80822
- {
80823
- id: 4,
80824
- name: "Combustible",
80825
- hasAccessToAll: true
80826
- },
80827
- {
80828
- id: 5,
80829
- name: "Personal",
80830
- hasAccessToAll: true
80831
- },
80832
- {
80833
- id: 6,
80834
- name: "Indicadores",
80835
- hasAccessToAll: true
80836
- },
80837
- {
80838
- id: 7,
80839
- name: "Inspecciones",
80840
- hasAccessToAll: true
80841
- },
80842
- {
80843
- id: 8,
80844
- name: "Almacén",
80845
- hasAccessToAll: true
80846
- },
80847
- {
80848
- id: 9,
80849
- name: "Localización",
80850
- hasAccessToAll: true
80851
- },
80852
- {
80853
- id: 10,
80854
- name: "Alquiler",
80855
- hasAccessToAll: true
80856
- },
80857
- ],
80858
- };
80859
- const BasicOperator = {
80860
- id: 4,
80861
- name: 'Operario básico',
80862
- modules: [
80863
- {
80864
- id: 0,
80865
- name: "Inicio"
80866
- },
80867
- {
80868
- id: 2,
80869
- name: "Administración",
80870
- subModules: [
80871
- { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
80872
- ]
80873
- },
80874
- {
80875
- id: 3,
80876
- name: "Mantenimiento",
80877
- subModules: [
80878
- { id: 10, name: "Registro de Mtto", permissions: { write: true } },
80879
- { id: 12, name: "Solicitudes Mtto", permissions: { readDetail: true, write: true, delete: true, update: true } },
80880
- { id: 7, name: "Ejecucion O.T", permissions: { readOwn: true, closeOT: true } },
80881
- ]
80882
- },
80883
- {
80884
- id: 4,
80885
- name: "Combustible",
80886
- subModules: [
80887
- { id: 16, name: "Solicitudes", permissions: { readDetail: true, write: true, delete: true, update: true } },
80888
- ]
80889
- },
80890
- {
80891
- id: 7,
80892
- name: "Inspecciones",
80893
- subModules: [
80894
- { id: 27, name: "Diligenciar", permissions: { write: true, update: true } },
80895
- { id: 28, name: "Consultar", permissions: { readAll: true } },
80896
- ]
80897
- },
80898
- {
80899
- id: 9,
80900
- name: "Localización",
80901
- subModules: [
80902
- { id: 38, name: "Iniciar ruta", permissions: { readDetail: true, write: true } },
80903
- ]
80904
- },
80905
- // {
80906
- // id: 10,
80907
- // name: "Alquiler",
80908
- // subModules: [
80909
- // {id: 41, name: "Ingreso", permissions: {readDetail:true, write:true}},
80910
- // {id: 42, name: "Despacho", permissions: {readDetail:true, write:true}},
80911
- // {id: 43, name: "Catalogo", permissions: {readDetail:true, write:true}},
80912
- // {id: 44, name: "Orden Alquiler", permissions: {readDetail:true, write:true}},
80913
- // ]
80914
- // }
80915
- ]
80916
- };
80917
- const BasicMechanical = {
80918
- id: 5,
80919
- name: 'Mecanico básico',
80920
- modules: [
80921
- {
80922
- id: 0,
80923
- name: "Inicio"
80924
- },
80925
- {
80926
- id: 2,
80927
- name: "Administración",
80928
- subModules: [
80929
- { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
80930
- ]
80931
- },
80932
- {
80933
- id: 3,
80934
- name: "Mantenimiento",
80935
- subModules: [
80936
- { id: 10, name: "Registro de Mtto", permissions: { write: true } },
80937
- { id: 12, name: "Solicitudes Mtto", permissions: { readDetail: true, write: true, delete: true, update: true } }
80938
- ]
80939
- },
80940
- {
80941
- id: 4,
80942
- name: "Combustible",
80943
- subModules: [
80944
- { id: 16, name: "Solicitudes", permissions: { readDetail: true, write: true, delete: true, update: true } },
80945
- ]
80946
- },
80947
- {
80948
- id: 7,
80949
- name: "Inspecciones",
80950
- subModules: [
80951
- { id: 27, name: "Diligenciar", permissions: { write: true, update: true } },
80952
- { id: 28, name: "Consultar", permissions: { readAll: true } },
80953
- ]
80954
- }
80955
- ]
80956
- };
80957
- const BasicStorer = {
80958
- id: 6,
80959
- name: 'Almacenista básico',
80960
- modules: [
80961
- {
80962
- id: 0,
80963
- name: "Inicio"
80964
- },
80965
- {
80966
- id: 2,
80967
- name: "Administración",
80968
- subModules: [
80969
- { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
80970
- ]
80971
- },
80972
- {
80973
- id: 3,
80974
- name: "Mantenimiento",
80975
- subModules: [
80976
- { id: 33, name: "Despachar", permissions: { readAll: true, allocateResources: true } },
80977
- ]
80978
- },
80979
- {
80980
- id: 6,
80981
- name: "Indicadores",
80982
- subModules: [
80983
- { id: 35, name: "Almacen", permissions: { readAll: true, write: true, delete: true, update: true } },
80984
- ]
80985
- },
80986
- {
80987
- id: 8,
80988
- name: "Almacén",
80989
- subModules: [
80990
- { id: 30, name: "Entradas", permissions: { readAll: true, write: true, delete: true, update: true } },
80991
- { id: 31, name: "Salidas", permissions: { readAll: true, write: true, delete: true, update: true } },
80992
- { id: 32, name: "Inventario", permissions: { readAll: true, write: true, delete: true, update: true } },
80993
- { id: 34, name: "Orden Compra", permissions: { readAll: true, write: true, delete: true, update: true } },
80994
- { id: 39, name: "Bodegas", permissions: { readAll: true, write: true, delete: true, update: true } },
80995
- ]
80996
- },
80997
- // {
80998
- // id: 10,
80999
- // name: "Alquiler",
81000
- // hasAccessToAll: true
81001
- // }
81002
- ],
81003
- };
81004
- const AdvanceStorer = {
81005
- id: 7,
81006
- name: 'Almacenista avanzado',
81007
- modules: [
81008
- {
81009
- id: 0,
81010
- name: "Inicio"
81011
- },
81012
- {
81013
- id: 2,
81014
- name: "Administración",
81015
- subModules: [
81016
- { id: 2, name: "Terceros", permissions: { readAll: true } },
81017
- { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
81018
- ]
81019
- },
81020
- {
81021
- id: 3,
81022
- name: "Mantenimiento",
81023
- subModules: [
81024
- { id: 4, name: "Equipos", permissions: { readAll: true } },
81025
- { id: 8, name: "Históricos", permissions: { readAll: true } },
81026
- { id: 9, name: "Calendario", permissions: { readAll: true } },
81027
- { id: 33, name: "Despachar", permissions: { readAll: true, allocateResources: true } },
81028
- ]
81029
- },
81030
- {
81031
- id: 6,
81032
- name: "Indicadores",
81033
- subModules: [
81034
- { id: 35, name: "Almacen", permissions: { readAll: true, write: true, delete: true, update: true } },
81035
- ]
81036
- },
81037
- {
81038
- id: 8,
81039
- name: "Almacén",
81040
- subModules: [
81041
- { id: 30, name: "Entradas", permissions: { readAll: true, write: true, delete: true, update: true } },
81042
- { id: 31, name: "Salidas", permissions: { readAll: true, write: true, delete: true, update: true } },
81043
- { id: 32, name: "Inventario", permissions: { readAll: true, write: true, delete: true, update: true } },
81044
- { id: 34, name: "Orden Compra", permissions: { readAll: true, write: true, delete: true, update: true } },
81045
- ]
81046
- },
81047
- ],
81048
- };
81049
- const AdvanceOperator = {
81050
- id: 8,
81051
- name: 'Operario avanzado',
81052
- modules: [
81053
- {
81054
- id: 0,
81055
- name: "Inicio",
81056
- subModules: []
81057
- },
81058
- {
81059
- id: 2,
81060
- name: "Administración",
81061
- subModules: [
81062
- { id: 2, name: "Terceros", permissions: { readAll: true } },
81063
- { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
81064
- ]
81065
- },
81066
- {
81067
- id: 3,
81068
- name: "Mantenimiento",
81069
- subModules: [
81070
- { id: 4, name: "Equipos", permissions: { readAll: true } },
81071
- { id: 5, name: "Actividades", permissions: { readAll: true } },
81072
- { id: 7, name: "Ejecucion O.T", permissions: { readOwn: true, closeOT: true } },
81073
- { id: 8, name: "Históricos", permissions: { readAll: true } },
81074
- { id: 9, name: "Calendario", permissions: { readAll: true } },
81075
- { id: 10, name: "Registro de Mtto", permissions: { readAll: true, write: true } },
81076
- { id: 12, name: "Solicitudes Mtto", permissions: { readAll: true, write: true, delete: true, update: true } }
81077
- ]
81078
- },
81079
- {
81080
- id: 4,
81081
- name: "Combustible",
81082
- subModules: [
81083
- { id: 16, name: "Solicitudes", permissions: { readAll: true, write: true, delete: true, update: true } },
81084
- { id: 17, name: "Órdenes", permissions: { readOwn: true, closeOT: true } },
81085
- { id: 18, name: "Históricos", permissions: { readAll: true } },
81086
- ]
81087
- },
81088
- {
81089
- id: 7,
81090
- name: "Inspecciones",
81091
- subModules: [
81092
- { id: 27, name: "Diligenciar", permissions: { readAll: true, write: true, delete: true, update: true } },
81093
- { id: 28, name: "Consultar", permissions: { readAll: true, write: true, delete: true, update: true } },
81094
- ]
81095
- },
81096
- {
81097
- id: 8,
81098
- name: "Almacén",
81099
- subModules: [
81100
- { id: 32, name: "Inventario", permissions: { readAll: true } },
81101
- ]
81102
- },
81103
- {
81104
- id: 9,
81105
- name: "Localización",
81106
- subModules: [
81107
- { id: 37, name: "Históricos", permissions: { readAll: true, write: true } },
81108
- { id: 38, name: "Iniciar ruta", permissions: { readAll: true, write: true, delete: true, update: true } },
81109
- ]
81110
- },
81111
- ]
81112
- };
81113
- const AdvanceMechanical = {
81114
- id: 9,
81115
- name: 'Mecanico avanzado',
81116
- modules: [
81117
- {
81118
- id: 0,
81119
- name: "Inicio",
81120
- subModules: []
81121
- },
81122
- {
81123
- id: 2,
81124
- name: "Administración",
81125
- subModules: [
81126
- { id: 2, name: "Terceros", permissions: { readAll: true } },
81127
- { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
81128
- ]
81129
- },
81130
- {
81131
- id: 3,
81132
- name: "Mantenimiento",
81133
- subModules: [
81134
- { id: 4, name: "Equipos", permissions: { readAll: true } },
81135
- { id: 5, name: "Actividades", permissions: { readAll: true } },
81136
- { id: 7, name: "Ejecucion O.T", permissions: { readOwn: true, closeOT: true } },
81137
- { id: 8, name: "Históricos", permissions: { readAll: true } },
81138
- { id: 9, name: "Calendario", permissions: { readAll: true } },
81139
- { id: 10, name: "Registro de Mtto", permissions: { readAll: true, write: true } },
81140
- { id: 12, name: "Solicitudes Mtto", permissions: { readAll: true, write: true, delete: true, update: true } }
81141
- ]
81142
- },
81143
- {
81144
- id: 4,
81145
- name: "Combustible",
81146
- subModules: [
81147
- { id: 16, name: "Solicitudes", permissions: { readAll: true, write: true, delete: true, update: true } },
81148
- { id: 17, name: "Órdenes", permissions: { readOwn: true, closeOT: true } },
81149
- { id: 18, name: "Históricos", permissions: { readAll: true } },
81150
- ]
81151
- },
81152
- {
81153
- id: 7,
81154
- name: "Inspecciones",
81155
- subModules: [
81156
- { id: 27, name: "Diligenciar", permissions: { readAll: true, write: true, delete: true, update: true } },
81157
- { id: 28, name: "Consultar", permissions: { readAll: true, write: true, delete: true, update: true } },
81158
- ]
81159
- },
81160
- {
81161
- id: 8,
81162
- name: "Almacén",
81163
- subModules: [
81164
- { id: 32, name: "Inventario", permissions: { readAll: true } },
81165
- ]
81166
- },
81167
- ]
81168
- };
81169
- const OperatorFusion = {
81170
- id: 10,
81171
- name: 'Operario fusion',
81172
- modules: [
81173
- {
81174
- id: 0,
81175
- name: "Inicio"
81176
- },
81177
- {
81178
- id: 2,
81179
- name: "Administración",
81180
- subModules: [
81181
- { id: 3, name: "Perfil", permissions: { readDetail: true, update: true } },
81182
- ]
81183
- },
81184
- {
81185
- id: 3,
81186
- name: "Mantenimiento",
81187
- subModules: [
81188
- { id: 10, name: "Registro de Mtto", permissions: { write: true } },
81189
- { id: 12, name: "Solicitudes Mtto", permissions: { readDetail: true, write: true, delete: true, update: true } },
81190
- { id: 8, name: "Históricos", permissions: { readAll: true, update: true } },
81191
- ]
81192
- },
81193
- {
81194
- id: 4,
81195
- name: "Combustible",
81196
- subModules: [
81197
- { id: 16, name: "Solicitudes", permissions: { readDetail: true, write: true, delete: true, update: true } },
81198
- ]
81199
- },
81200
- {
81201
- id: 7,
81202
- name: "Inspecciones",
81203
- subModules: [
81204
- { id: 27, name: "Diligenciar", permissions: { write: true, update: true } },
81205
- { id: 28, name: "Consultar", permissions: { readAll: true } },
81206
- ]
81207
- },
81208
- {
81209
- id: 9,
81210
- name: "Localización",
81211
- subModules: [
81212
- { id: 38, name: "Iniciar ruta", permissions: { readDetail: true, write: true } },
81213
- ]
81214
- },
81215
- ]
81216
- };
81217
- const modulesByRol = [
81218
- Root,
81219
- Administrative,
81220
- MaintenanceManager,
81221
- BasicOperator,
81222
- BasicMechanical,
81223
- BasicStorer,
81224
- AdvanceOperator,
81225
- AdvanceStorer,
81226
- AdvanceMechanical,
81227
- OperatorFusion
81228
- ];
81229
-
81230
81275
  /**
81231
81276
  * @modules
81232
81277
  * exportacion de modulos adjuntos a brainloper
@@ -81236,5 +81281,5 @@ const modulesByRol = [
81236
81281
  * Generated bundle index. Do not edit.
81237
81282
  */
81238
81283
 
81239
- export { BrainloperUiModule, BreadCrumbComponent, ButtonIconComponent, ButtonLabelComponent, CarouselComponent, CombosComponent, CryptoService, DataTableComponent, ExportDataService, FileFormsService, FileInputComponent, FiltersComponent, FunctionsService, GeneratePdfService, HttpService, LoadingComponent, LocalStorageService, MenuBreadCrumb, MessageService, RolesAndPermissions, ScreenSizeUtil, SelectFilterComponent, SessionService, TableModalComponent, enumActions, modulesByRol, playerFactory };
81284
+ export { BrainloperUiModule, BreadCrumbComponent, ButtonIconComponent, ButtonLabelComponent, CarouselComponent, CombosComponent, CryptoService, DataTableComponent, ExportDataService, FileFormsService, FileInputComponent, FiltersComponent, FunctionsService, GeneratePdfService, HttpService, IPermissions, LoadingComponent, LocalStorageService, MenuBreadCrumb, MessageService, RolesAndPermissions, ScreenSizeUtil, SelectFilterComponent, SessionService, TableModalComponent, enumActions, modulesByRol, playerFactory };
81240
81285
  //# sourceMappingURL=brainloper-ui.mjs.map