@tots/table 16.0.20 → 20.0.1

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 (100) hide show
  1. package/README.md +139 -13
  2. package/fesm2022/tots-table.mjs +116 -106
  3. package/fesm2022/tots-table.mjs.map +1 -1
  4. package/index.d.ts +384 -5
  5. package/package.json +5 -7
  6. package/esm2022/lib/column-factories/tots-balance-column.mjs +0 -12
  7. package/esm2022/lib/column-factories/tots-balance-icon-column.mjs +0 -15
  8. package/esm2022/lib/column-factories/tots-boolean-column.mjs +0 -8
  9. package/esm2022/lib/column-factories/tots-checkbox-column.mjs +0 -13
  10. package/esm2022/lib/column-factories/tots-currency-column.mjs +0 -8
  11. package/esm2022/lib/column-factories/tots-icon-button-column.mjs +0 -15
  12. package/esm2022/lib/column-factories/tots-link-column.mjs +0 -12
  13. package/esm2022/lib/column-factories/tots-more-menu-column.mjs +0 -12
  14. package/esm2022/lib/column-factories/tots-number-column.mjs +0 -12
  15. package/esm2022/lib/column-factories/tots-option-column.mjs +0 -13
  16. package/esm2022/lib/column-factories/tots-status-column.mjs +0 -13
  17. package/esm2022/lib/column-factories/tots-status-icon-column.mjs +0 -13
  18. package/esm2022/lib/column-factories/tots-string-column.mjs +0 -11
  19. package/esm2022/lib/column-factories/tots-two-string-column.mjs +0 -11
  20. package/esm2022/lib/column-factories/tots-user-column.mjs +0 -16
  21. package/esm2022/lib/columns/balance-currency-column/balance-currency-column.component.mjs +0 -23
  22. package/esm2022/lib/columns/balance-currency-icon-column/balance-currency-icon-column.component.mjs +0 -23
  23. package/esm2022/lib/columns/base-print-column/base-print-column.component.mjs +0 -29
  24. package/esm2022/lib/columns/boolean-column/boolean-column.component.mjs +0 -13
  25. package/esm2022/lib/columns/checkbox-column/checkbox-column.component.mjs +0 -20
  26. package/esm2022/lib/columns/currency-column/currency-column.component.mjs +0 -13
  27. package/esm2022/lib/columns/icon-button-column/icon-button-column.component.mjs +0 -28
  28. package/esm2022/lib/columns/link-column/link-column.component.mjs +0 -18
  29. package/esm2022/lib/columns/more-menu-column/more-menu-column.component.mjs +0 -21
  30. package/esm2022/lib/columns/number-column/number-column.component.mjs +0 -13
  31. package/esm2022/lib/columns/option-column/option-column.component.mjs +0 -22
  32. package/esm2022/lib/columns/status-column/status-column.component.mjs +0 -32
  33. package/esm2022/lib/columns/status-icon-column/status-icon-column.component.mjs +0 -24
  34. package/esm2022/lib/columns/string-column/string-column.component.mjs +0 -24
  35. package/esm2022/lib/columns/tots-base-column.component.mjs +0 -26
  36. package/esm2022/lib/columns/two-string-column/two-string-column.component.mjs +0 -16
  37. package/esm2022/lib/columns/user-column/user-column.component.mjs +0 -67
  38. package/esm2022/lib/components/loading-animation-renderer/loading-animation-renderer.component.mjs +0 -42
  39. package/esm2022/lib/components/tots-table/tots-table.component.mjs +0 -108
  40. package/esm2022/lib/components/tots-table-api/tots-table-api.component.mjs +0 -67
  41. package/esm2022/lib/entities/tots-action-table.mjs +0 -6
  42. package/esm2022/lib/entities/tots-column-option.mjs +0 -7
  43. package/esm2022/lib/entities/tots-column.mjs +0 -12
  44. package/esm2022/lib/entities/tots-more-menu-item.mjs +0 -9
  45. package/esm2022/lib/entities/tots-status-column-option.mjs +0 -9
  46. package/esm2022/lib/entities/tots-status-icon-column-option.mjs +0 -8
  47. package/esm2022/lib/entities/tots-table-api-config.mjs +0 -10
  48. package/esm2022/lib/entities/tots-table-config.mjs +0 -8
  49. package/esm2022/lib/entities/tots-table-default-config.mjs +0 -11
  50. package/esm2022/lib/helpers/tots-table-helper.mjs +0 -25
  51. package/esm2022/lib/table.module.mjs +0 -142
  52. package/esm2022/public-api.mjs +0 -66
  53. package/esm2022/tots-table.mjs +0 -5
  54. package/lib/column-factories/tots-balance-column.d.ts +0 -4
  55. package/lib/column-factories/tots-balance-icon-column.d.ts +0 -4
  56. package/lib/column-factories/tots-boolean-column.d.ts +0 -4
  57. package/lib/column-factories/tots-checkbox-column.d.ts +0 -5
  58. package/lib/column-factories/tots-currency-column.d.ts +0 -4
  59. package/lib/column-factories/tots-icon-button-column.d.ts +0 -5
  60. package/lib/column-factories/tots-link-column.d.ts +0 -4
  61. package/lib/column-factories/tots-more-menu-column.d.ts +0 -5
  62. package/lib/column-factories/tots-number-column.d.ts +0 -4
  63. package/lib/column-factories/tots-option-column.d.ts +0 -5
  64. package/lib/column-factories/tots-status-column.d.ts +0 -5
  65. package/lib/column-factories/tots-status-icon-column.d.ts +0 -5
  66. package/lib/column-factories/tots-string-column.d.ts +0 -4
  67. package/lib/column-factories/tots-two-string-column.d.ts +0 -4
  68. package/lib/column-factories/tots-user-column.d.ts +0 -4
  69. package/lib/columns/balance-currency-column/balance-currency-column.component.d.ts +0 -9
  70. package/lib/columns/balance-currency-icon-column/balance-currency-icon-column.component.d.ts +0 -9
  71. package/lib/columns/base-print-column/base-print-column.component.d.ts +0 -16
  72. package/lib/columns/boolean-column/boolean-column.component.d.ts +0 -6
  73. package/lib/columns/checkbox-column/checkbox-column.component.d.ts +0 -8
  74. package/lib/columns/currency-column/currency-column.component.d.ts +0 -6
  75. package/lib/columns/icon-button-column/icon-button-column.component.d.ts +0 -10
  76. package/lib/columns/link-column/link-column.component.d.ts +0 -10
  77. package/lib/columns/more-menu-column/more-menu-column.component.d.ts +0 -7
  78. package/lib/columns/number-column/number-column.component.d.ts +0 -6
  79. package/lib/columns/option-column/option-column.component.d.ts +0 -7
  80. package/lib/columns/status-column/status-column.component.d.ts +0 -8
  81. package/lib/columns/status-icon-column/status-icon-column.component.d.ts +0 -7
  82. package/lib/columns/string-column/string-column.component.d.ts +0 -8
  83. package/lib/columns/tots-base-column.component.d.ts +0 -13
  84. package/lib/columns/two-string-column/two-string-column.component.d.ts +0 -7
  85. package/lib/columns/user-column/user-column.component.d.ts +0 -15
  86. package/lib/components/loading-animation-renderer/loading-animation-renderer.component.d.ts +0 -15
  87. package/lib/components/tots-table/tots-table.component.d.ts +0 -44
  88. package/lib/components/tots-table-api/tots-table-api.component.d.ts +0 -25
  89. package/lib/entities/tots-action-table.d.ts +0 -4
  90. package/lib/entities/tots-column-option.d.ts +0 -5
  91. package/lib/entities/tots-column.d.ts +0 -12
  92. package/lib/entities/tots-more-menu-item.d.ts +0 -7
  93. package/lib/entities/tots-status-column-option.d.ts +0 -6
  94. package/lib/entities/tots-status-icon-column-option.d.ts +0 -5
  95. package/lib/entities/tots-table-api-config.d.ts +0 -9
  96. package/lib/entities/tots-table-config.d.ts +0 -9
  97. package/lib/entities/tots-table-default-config.d.ts +0 -36
  98. package/lib/helpers/tots-table-helper.d.ts +0 -9
  99. package/lib/table.module.d.ts +0 -34
  100. package/public-api.d.ts +0 -62
@@ -1 +1 @@
1
- {"version":3,"file":"tots-table.mjs","sources":["../../../../projects/tots/table/src/lib/entities/tots-column.ts","../../../../projects/tots/table/src/lib/entities/tots-table-config.ts","../../../../projects/tots/table/src/lib/entities/tots-table-default-config.ts","../../../../projects/tots/table/src/lib/entities/tots-action-table.ts","../../../../projects/tots/table/src/lib/entities/tots-table-api-config.ts","../../../../projects/tots/table/src/lib/entities/tots-column-option.ts","../../../../projects/tots/table/src/lib/entities/tots-more-menu-item.ts","../../../../projects/tots/table/src/lib/entities/tots-status-column-option.ts","../../../../projects/tots/table/src/lib/entities/tots-status-icon-column-option.ts","../../../../projects/tots/table/src/lib/helpers/tots-table-helper.ts","../../../../projects/tots/table/src/lib/columns/tots-base-column.component.ts","../../../../projects/tots/table/src/lib/columns/balance-currency-column/balance-currency-column.component.ts","../../../../projects/tots/table/src/lib/columns/balance-currency-column/balance-currency-column.component.html","../../../../projects/tots/table/src/lib/columns/balance-currency-icon-column/balance-currency-icon-column.component.ts","../../../../projects/tots/table/src/lib/columns/balance-currency-icon-column/balance-currency-icon-column.component.html","../../../../projects/tots/table/src/lib/columns/boolean-column/boolean-column.component.ts","../../../../projects/tots/table/src/lib/columns/boolean-column/boolean-column.component.html","../../../../projects/tots/table/src/lib/columns/checkbox-column/checkbox-column.component.ts","../../../../projects/tots/table/src/lib/columns/checkbox-column/checkbox-column.component.html","../../../../projects/tots/table/src/lib/columns/currency-column/currency-column.component.ts","../../../../projects/tots/table/src/lib/columns/currency-column/currency-column.component.html","../../../../projects/tots/table/src/lib/columns/icon-button-column/icon-button-column.component.ts","../../../../projects/tots/table/src/lib/columns/icon-button-column/icon-button-column.component.html","../../../../projects/tots/table/src/lib/columns/link-column/link-column.component.ts","../../../../projects/tots/table/src/lib/columns/link-column/link-column.component.html","../../../../projects/tots/table/src/lib/columns/more-menu-column/more-menu-column.component.ts","../../../../projects/tots/table/src/lib/columns/more-menu-column/more-menu-column.component.html","../../../../projects/tots/table/src/lib/columns/number-column/number-column.component.ts","../../../../projects/tots/table/src/lib/columns/number-column/number-column.component.html","../../../../projects/tots/table/src/lib/columns/option-column/option-column.component.ts","../../../../projects/tots/table/src/lib/columns/option-column/option-column.component.html","../../../../projects/tots/table/src/lib/columns/status-column/status-column.component.ts","../../../../projects/tots/table/src/lib/columns/status-column/status-column.component.html","../../../../projects/tots/table/src/lib/columns/status-icon-column/status-icon-column.component.ts","../../../../projects/tots/table/src/lib/columns/status-icon-column/status-icon-column.component.html","../../../../projects/tots/table/src/lib/columns/string-column/string-column.component.ts","../../../../projects/tots/table/src/lib/columns/string-column/string-column.component.html","../../../../projects/tots/table/src/lib/columns/two-string-column/two-string-column.component.ts","../../../../projects/tots/table/src/lib/columns/two-string-column/two-string-column.component.html","../../../../projects/tots/table/src/lib/columns/user-column/user-column.component.ts","../../../../projects/tots/table/src/lib/columns/user-column/user-column.component.html","../../../../projects/tots/table/src/lib/column-factories/tots-balance-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-balance-icon-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-boolean-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-checkbox-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-currency-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-icon-button-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-link-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-more-menu-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-number-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-option-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-status-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-status-icon-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-string-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-two-string-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-user-column.ts","../../../../projects/tots/table/src/lib/columns/base-print-column/base-print-column.component.ts","../../../../projects/tots/table/src/lib/columns/base-print-column/base-print-column.component.html","../../../../projects/tots/table/src/lib/components/loading-animation-renderer/loading-animation-renderer.component.ts","../../../../projects/tots/table/src/lib/components/loading-animation-renderer/loading-animation-renderer.component.html","../../../../projects/tots/table/src/lib/components/tots-table/tots-table.component.ts","../../../../projects/tots/table/src/lib/components/tots-table/tots-table.component.html","../../../../projects/tots/table/src/lib/components/tots-table-api/tots-table-api.component.ts","../../../../projects/tots/table/src/lib/components/tots-table-api/tots-table-api.component.html","../../../../projects/tots/table/src/lib/table.module.ts","../../../../projects/tots/table/src/public-api.ts","../../../../projects/tots/table/src/tots-table.ts"],"sourcesContent":["export class TotsColumn {\n key : string;\n component: any;\n \n field_key?: string|Array<string>;\n title? : string;\n\n extra?: any;\n is_show? : boolean = true;\n hasOrder? : boolean;\n order?: 'asc'|'desc';\n\n constructor(key:string, component:any, field_key?:string|string[], title?:string, hasOrder=false, order?:TotsColumnOrder) {\n this.key = key;\n this.field_key = field_key;\n this.title = title;\n this.component = component;\n this.hasOrder = hasOrder;\n this.order = order;\n }\n}\n\nexport type TotsColumnOrder = \"asc\"|\"desc\";","import { TotsListResponse, TotsQuery } from \"@tots/core\";\nimport { Observable } from \"rxjs\";\nimport { TotsColumn } from \"./tots-column\";\n\nexport class TotsTableConfig {\n id?: string = '';\n columns: Array<TotsColumn> = [];\n obs?: Observable<TotsListResponse<any>>;\n classes?: string = '';\n}","import { Injectable, InjectionToken } from \"@angular/core\";\nimport { ThemePalette } from \"@angular/material/core\";\n\nexport const TOTS_TABLE_DEFAULT_CONFIG = new InjectionToken<TotsTableDefaultConfig>('tots_table_default_config');\n\n@Injectable()\nexport class TotsTableDefaultConfig {\n /**\n * Message shown when there are no entries in the table\n */\n messageNotFound? : string;\n\n /**\n * Replaces default mat spinner\n */\n loadingComponent? : any;\n\n /**\n * Applies to the default initial loading spinner and to the upper and/or lower progress bars\n */\n matColor? : ThemePalette;\n\n /**\n * @default false\n */\n upperPaginator? : boolean;\n /**\n * @default true\n */\n lowerPaginator? : boolean;\n\n /**\n * @default false\n */\n upperProgressBar? : boolean;\n /**\n * @default true\n */\n lowerProgressBar? : boolean;\n}","export class TotsActionTable {\n key: string = '';\n item?: any;\n}","import { TotsBaseHttpService, TotsQuery } from \"@tots/core\";\nimport { TotsColumn } from \"./tots-column\";\n\nexport class TotsTableApiConfig {\n id?: string = '';\n columns: Array<TotsColumn> = [];\n service!: TotsBaseHttpService<any>;\n query: TotsQuery = new TotsQuery();\n classes?: string = '';\n}","export class TotsColumnOption {\n value: number|string;\n caption: string;\n\n constructor(value:number|string, caption:string) {\n this.value = value;\n this.caption = caption;\n }\n}","export class TotsMoreMenuItem {\n icon: string|undefined;\n title: string;\n key: string;\n class?: string;\n\n constructor(icon:string|undefined, caption:string, action:string, cssClass?:string) {\n this.icon = icon;\n this.title = caption;\n this.key = action;\n this.class = cssClass;\n }\n}","import { TotsColumnOption } from \"./tots-column-option\";\n\nexport class TotsStatusColumnOption extends TotsColumnOption {\n background_color: string;\n font_color: string;\n\n constructor(value:number|string, caption:string, backgroundColor:string, fontColor:string) {\n super(value, caption);\n this.background_color = backgroundColor;\n this.font_color = fontColor;\n }\n}","import { TotsColumnOption } from \"./tots-column-option\";\n\nexport class TotsStatusIconColumnOption extends TotsColumnOption {\n font_color: string;\n\n constructor(value:number|string, icon:string, fontColor:string) {\n super(value, icon);\n this.font_color = fontColor;\n }\n}","export class TotsTableHelper {\n /**\n * Obtiene el valor de un objeto a traves de la KEY\n * @param item \n * @param key \n * @returns \n */\n static getItemValueByKey(item: any, key: string|Array<string>|undefined): any {\n if(key == undefined||item == undefined){\n return '';\n }\n \n if (typeof key == 'string' && item[key] != undefined) {\n return item[key];\n }\n \n let valueFinal = item;\n for (const keyObj of key!) {\n if(valueFinal[keyObj] == undefined){\n return '';\n }\n valueFinal = valueFinal[keyObj];\n }\n return valueFinal;\n }\n}","import { Component, EventEmitter, Input, OnInit } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nimport { TotsActionTable } from \"../entities/tots-action-table\";\nimport { TotsColumn } from \"../entities/tots-column\";\nimport { TotsTableHelper } from \"../helpers/tots-table-helper\";\n\n@Component({\n selector: 'tots-base-column',\n template: ''\n})\nexport class TotsBaseColumnComponent{\n\n @Input() column!: TotsColumn;\n @Input() item: any;\n @Input() onAction!: Subject<TotsActionTable>;\n @Input() index?: number;\n\n getItemValue(): any {\n return TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n }\n}\n","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\n\n@Component({\n selector: 'tots-balance-currency-column',\n templateUrl: './balance-currency-column.component.html',\n styleUrls: ['./balance-currency-column.component.css']\n})\nexport class BalanceCurrencyColumnComponent extends TotsBaseColumnComponent {\n\n getBalance() {\n return this.getDebit() - this.getCredit();\n }\n\n getDebit(): any {\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_key_debit);\n }\n\n getCredit(): any {\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_key_credit);\n }\n}\n","<span [ngClass]=\"{'tots-balance-column-positive': getBalance() > 0, 'tots-balance-column-negative': getBalance() < 0}\">{{getBalance()|currency}}</span>","import { Component } from '@angular/core';\nimport { BalanceCurrencyColumnComponent } from '../balance-currency-column/balance-currency-column.component';\n\n@Component({\n selector: 'tots-balance-currency-icon-column',\n templateUrl: './balance-currency-icon-column.component.html',\n styleUrls: ['./balance-currency-icon-column.component.css']\n})\nexport class BalanceCurrencyIconColumnComponent extends BalanceCurrencyColumnComponent {\n\n getIconPositive(): any {\n return this.column.extra.icon_positive\n }\n\n getIconNegative(): any {\n return this.column.extra.icon_negative;\n }\n\n getIconNeutral(): any {\n return this.column.extra.icon_neutral;\n }\n}\n","<span [ngClass]=\"{'tots-balance-column-positive': getBalance() > 0, 'tots-balance-column-negative': getBalance() < 0}\">\n <mat-icon *ngIf=\"getBalance() > 0\">{{getIconPositive()}}</mat-icon>\n <mat-icon *ngIf=\"getBalance() < 0\">{{getIconNegative()}}</mat-icon>\n <mat-icon *ngIf=\"getBalance() == 0\">{{getIconNeutral()}}</mat-icon>\n</span>","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-boolean-column',\n templateUrl: './boolean-column.component.html',\n styleUrls: ['./boolean-column.component.css']\n})\nexport class BooleanColumnComponent extends TotsBaseColumnComponent {\n\n}","<ng-container *ngIf=\"getItemValue() == true||getItemValue() == 1; else textNo\">YES</ng-container>\n<ng-template #textNo>NO</ng-template>","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\n\n@Component({\n selector: 'tots-checkbox-column',\n templateUrl: './checkbox-column.component.html',\n styleUrls: ['./checkbox-column.component.css']\n})\nexport class CheckboxColumnComponent extends TotsBaseColumnComponent {\n\n onChange(event: MatCheckboxChange) {\n let key = 'select-item';\n if(!event.checked){\n key = 'unselect-item';\n }\n this.onAction.next({ key: key, item: this.item });\n }\n}\n","<div class=\"tots-checkbox-column\">\n <mat-checkbox [class]=\"this.column.extra?.class\" [color]=\"this.column.extra?.color\" (change)=\"onChange($event)\" (click)=\"$event.stopPropagation();\"></mat-checkbox>\n</div>","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-currency-column',\n templateUrl: './currency-column.component.html',\n styleUrls: ['./currency-column.component.css']\n})\nexport class CurrencyColumnComponent extends TotsBaseColumnComponent {\n\n}\n","<span [ngClass]=\"{'tots-currency-column-positive': getItemValue() > 0, 'tots-currency-column-negative': getItemValue() < 0}\">{{getItemValue()|currency}}</span>","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-icon-button-column',\n templateUrl: './icon-button-column.component.html',\n styleUrls: ['./icon-button-column.component.css']\n})\nexport class IconButtonColumnComponent extends TotsBaseColumnComponent {\n\n clickButton($event: UIEvent) {\n this.onAction.next({ key: this.column.extra.action, item: this.item });\n $event.stopPropagation();\n return false;\n }\n\n getIconName() : string {\n return this.column.extra.icon;\n }\n\n getButtonColor() : string {\n return this.column.extra.matColor;\n }\n\n getClasses() : string {\n return this.column.extra.class;\n }\n}\n","<button mat-icon-button [color]=\"getButtonColor()\" [class]=\"getClasses()\" (click)=\"clickButton($event)\">\n <mat-icon>{{getIconName()}}</mat-icon>\n</button>","import { Component, OnInit } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n\tselector: 'tots-link-column',\n\ttemplateUrl: './link-column.component.html',\n\tstyleUrls: ['./link-column.component.css']\n})\nexport class LinkColumnComponent extends TotsBaseColumnComponent implements OnInit {\n\n\tprotected linkCaption! : string;\n\tprotected target! : \"_blank\"|\"_self\";\n\n\tngOnInit() {\n\t\tthis.linkCaption = this.column.extra?.caption || \"Open in new tab\";\n\t\tthis.target = this.column.extra?.target || \"_blank\";\n\t}\n\n}","<div>\n <a *ngIf=\"getItemValue()\" [href]=\"getItemValue()\" [target]=\"target\">\n {{ linkCaption }}\n <mat-icon *ngIf=\"target == '_blank'\">open_in_new</mat-icon>\n </a>\n</div>","import { Component } from '@angular/core';\nimport { TotsActionTable } from '../../entities/tots-action-table';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-more-menu-column',\n templateUrl: './more-menu-column.component.html',\n styleUrls: ['./more-menu-column.component.scss']\n})\nexport class MoreMenuColumnComponent extends TotsBaseColumnComponent {\n\n clickButton(itemAction: any, $event: UIEvent) {\n this.onAction.next({ key: itemAction.key, item: this.item });\n $event.preventDefault();\n return false;\n }\n}\n","<button mat-icon-button [matMenuTriggerFor]=\"actions\" (click)=\"$event.stopPropagation()\"><mat-icon>more_vert</mat-icon></button>\n<mat-menu #actions=\"matMenu\">\n <button mat-menu-item *ngFor=\"let button of column.extra?.actions\" (click)=\"clickButton(button, $event)\" class=\"{{button.class}}\">\n <mat-icon *ngIf=\"button.icon\">{{ button.icon }}</mat-icon> {{ button.title }}\n </button>\n</mat-menu>","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n\tselector: 'tots-number-column',\n\ttemplateUrl: './number-column.component.html',\n\tstyleUrls: ['./number-column.component.css']\n})\nexport class NumberColumnComponent extends TotsBaseColumnComponent {\n\n}\n","<span [ngClass]=\"{\n 'tots-number-column-positive': getItemValue() > 0,\n 'tots-number-column-negative': getItemValue() < 0\n}\">\n\t<span class=\"tots-number-column-prepend\" *ngIf=\"column.extra?.prepend\">{{ column.extra?.prepend }}</span>\n {{ getItemValue() | number:\"1.0-2\" }}\n\t<span class=\"tots-number-column-append\" *ngIf=\"column.extra?.append\">{{ column.extra?.append }}</span>\n</span>","import { Component } from '@angular/core';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-option-column',\n templateUrl: './option-column.component.html',\n styleUrls: ['./option-column.component.css']\n})\nexport class OptionColumnComponent extends TotsBaseColumnComponent {\n\n override getItemValue(): any {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n for (const item of this.column.extra.options) {\n if(item[this.column.extra.field_rel_key] == value){\n return item[this.column.extra.field_print_key];\n }\n }\n return '';\n }\n\n}\n","{{getItemValue()}}","import { Component } from '@angular/core';\nimport { OptionColumnComponent } from '../option-column/option-column.component';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\n\n@Component({\n selector: 'tots-status-column',\n templateUrl: './status-column.component.html',\n styleUrls: ['./status-column.component.css']\n})\nexport class StatusColumnComponent extends OptionColumnComponent {\n\n getBackgroundColor(): string {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n for (const item of this.column.extra.options) {\n if(item[this.column.extra.field_rel_key] == value && item['background_color'] != undefined){\n return item['background_color'];\n }\n }\n return '';\n }\n\n getFontColor(): string {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n for (const item of this.column.extra.options) {\n if(item[this.column.extra.field_rel_key] == value && item['font_color'] != undefined){\n return item['font_color'];\n }\n }\n return '';\n }\n}\n","<span class=\"tots-status-column\" [ngStyle]=\"{'background-color': getBackgroundColor(), 'color': getFontColor()}\">{{getItemValue()}}</span>","import { Component } from '@angular/core';\nimport { OptionColumnComponent } from '../option-column/option-column.component';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\n\n@Component({\n selector: 'tots-status-icon-column',\n templateUrl: './status-icon-column.component.html',\n styleUrls: ['./status-icon-column.component.css']\n})\nexport class StatusIconColumnComponent extends OptionColumnComponent {\n\n getFontColor(): string {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n for (const item of this.column.extra.options) {\n if(item[this.column.extra.field_rel_key] == value && item['font_color'] != undefined){\n return item['font_color'];\n }\n }\n return '';\n }\n}\n","<span class=\"tots-status-icon-column\" [ngStyle]=\"{'color': getFontColor()}\"><mat-icon>{{getItemValue()}}</mat-icon></span>","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\n\n@Component({\n selector: 'tots-string-column',\n templateUrl: './string-column.component.html',\n styleUrls: ['./string-column.component.css']\n})\nexport class StringColumnComponent extends TotsBaseColumnComponent {\n\n override getItemValue(): any {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n\n if(this.column.extra && this.column.extra.cutSeparator){\n return value.split(this.column.extra.cutSeparator)[0];\n }\n\n return value;\n }\n\n protected get prepend() : string|undefined {\n return this.column.extra?.prepend;\n }\n}\n","<span class=\"prefix\" *ngIf=\"prepend\"> {{ prepend }} </span>\n{{getItemValue()}}","import { Component } from '@angular/core';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-two-string-column',\n templateUrl: './two-string-column.component.html',\n styleUrls: ['./two-string-column.component.css']\n})\nexport class TwoStringColumnComponent extends TotsBaseColumnComponent {\n\n getSubtitleValue(): any {\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_subtitle_key);\n }\n}\n","<div class=\"first-line\"><strong>{{getItemValue()}}</strong></div>\n<div class=\"second-line\">{{getSubtitleValue()}}</div>","import { Component } from '@angular/core';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-user-column',\n templateUrl: './user-column.component.html',\n styleUrls: ['./user-column.component.scss']\n})\nexport class UserColumnComponent extends TotsBaseColumnComponent {\n\n onClick(event: any) {\n if(!this.isClickable()){\n return;\n }\n\n this.onAction.next({ key: this.getClickEvent(), item: this.item });\n event.stopPropagation();\n }\n\n getFirstname() {\n if(this.column.extra?.field_firstname_key){\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_firstname_key);\n }\n\n return '';\n }\n\n getLastname() {\n if(this.column.extra?.field_lastname_key){\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_lastname_key);\n }\n\n return '';\n }\n\n getFullname() {\n return this.getFirstname() + ' ' + this.getLastname();\n }\n\n getPhoto() {\n if(this.column.extra?.field_photo_key){\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_photo_key);\n }\n\n return '';\n }\n\n getSubtitle() {\n if(this.column.extra?.field_subtitle_key){\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_subtitle_key);\n }\n\n return '';\n }\n\n isOnline() {\n if(this.column.extra?.field_online_key){\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_online_key);\n }\n\n return false;\n }\n\n isClickable() {\n if(this.column.extra?.is_clickable){\n return true;\n }\n\n return false;\n }\n\n getClickEvent() {\n if(this.column.extra?.click_event){\n return this.column.extra.click_event;\n }\n\n return 'click-column';\n }\n}\n","<div class=\"user-avatar-component\" [ngClass]=\"{'box-clickable': isClickable()}\" (click)=\"onClick($event);\">\n <div class=\"avatar\" *ngIf=\"getPhoto() != ''\">\n <img mat-card-avatar [src]=\"getPhoto()\" alt=\"{{ getFullname() }}\" class=\"cover-image\" onerror=\"this.src='/assets/img/user-avatar-empty.svg';\">\n </div>\n <div class=\"texts\">\n <div class=\"user\"> {{ getFullname() }} </div>\n <div class=\"body-2\" *ngIf=\"getSubtitle() != ''\"> {{ getSubtitle() }} </div>\n </div>\n <div class=\"check\" *ngIf=\"column.extra?.field_is_online && isOnline()\"><mat-icon>check</mat-icon></div>\n</div>\n","import { BalanceCurrencyColumnComponent } from \"../columns/balance-currency-column/balance-currency-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsBalanceColumn extends TotsColumn {\r\n\tconstructor(id:string, activeAssetFieldKey:string|string[], passiveAssetFieldKey:string|string[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, BalanceCurrencyColumnComponent, undefined, title, hasOrder, order);\r\n this.extra = {\r\n field_key_credit: activeAssetFieldKey,\r\n field_key_debit: passiveAssetFieldKey\r\n }\r\n }\r\n}","import { BalanceCurrencyIconColumnComponent } from \"../columns/balance-currency-icon-column/balance-currency-icon-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsBalanceIconColumn extends TotsColumn {\r\n\tconstructor(id:string, activeAssetFieldKey:string|string[], passiveAssetFieldKey:string|string[], neutralIcon:string, positiveIcon:string, negativeIcon:string, title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, BalanceCurrencyIconColumnComponent, undefined, title, hasOrder, order);\r\n this.extra = {\r\n field_key_credit: activeAssetFieldKey,\r\n field_key_debit: passiveAssetFieldKey,\r\n icon_neutral: neutralIcon,\r\n icon_positive: positiveIcon,\r\n icon_negative: negativeIcon\r\n }\r\n }\r\n}","import { BooleanColumnComponent } from \"../columns/boolean-column/boolean-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsBooleanColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, BooleanColumnComponent, fieldKey, title, hasOrder, order);\r\n }\r\n}","import { ThemePalette } from \"@angular/material/core\";\r\nimport { CheckboxColumnComponent } from \"../columns/checkbox-column/checkbox-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsCheckboxColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey?:string|string[], title?:string, color?:ThemePalette, cssClass?:string, hasOrder?:boolean, order?:TotsColumnOrder, stickyEnd?:true) {\r\n super(id, CheckboxColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n stickyEnd: stickyEnd,\r\n color: color,\r\n class: cssClass\r\n }\r\n }\r\n}","import { CurrencyColumnComponent } from \"../columns/currency-column/currency-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsCurrencyColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, CurrencyColumnComponent, fieldKey, title, hasOrder, order);\r\n }\r\n}","import { ThemePalette } from \"@angular/material/core\";\r\nimport { IconButtonColumnComponent } from \"../columns/icon-button-column/icon-button-column.component\";\r\nimport { TotsColumn } from \"../entities/tots-column\";\r\n\r\nexport class TotsIconButtonColumn extends TotsColumn {\r\n\tconstructor(id:string, icon:string, action:string, color?:ThemePalette, title?:string, cssClass?:string, stickyEnd?:boolean) {\r\n super(id, IconButtonColumnComponent, undefined, title);\r\n this.extra = {\r\n icon: icon,\r\n matColor: color,\r\n action: action,\r\n class: cssClass,\r\n stickyEnd: stickyEnd\r\n }\r\n }\r\n}","import { LinkColumnComponent } from \"../columns/link-column/link-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsLinkColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder, caption?:string, target?:\"_blank\"|\"_self\") {\r\n super(id, LinkColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n caption: caption,\r\n target: target\r\n }\r\n }\r\n}\r\n","import { MoreMenuColumnComponent } from \"../columns/more-menu-column/more-menu-column.component\";\r\nimport { TotsColumn } from \"../entities/tots-column\";\r\nimport { TotsMoreMenuItem } from \"../entities/tots-more-menu-item\";\r\n\r\nexport class TotsMoreMenuColumn extends TotsColumn {\r\n\tconstructor(id:string, items:TotsMoreMenuItem[], title?:string, stickyEnd?:boolean) {\r\n super(id, MoreMenuColumnComponent, undefined, title);\r\n this.extra = {\r\n stickyEnd: stickyEnd,\r\n actions: items\r\n }\r\n }\r\n}","import { NumberColumnComponent } from \"../columns/number-column/number-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsNumberColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder, prepend?:number|string, append?:number|string) {\r\n super(id, NumberColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n prepend: prepend,\r\n append: append\r\n }\r\n }\r\n}","import { OptionColumnComponent } from \"../columns/option-column/option-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\nimport { TotsColumnOption } from \"../entities/tots-column-option\";\r\n\r\nexport class TotsOptionColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], options:TotsColumnOption[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, OptionColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n options: options,\r\n field_rel_key: \"value\",\r\n field_print_key: \"caption\"\r\n }\r\n }\r\n}","import { StatusColumnComponent } from \"../columns/status-column/status-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\nimport { TotsStatusColumnOption } from \"../entities/tots-status-column-option\";\r\n\r\nexport class TotsStatusColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], options:TotsStatusColumnOption[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, StatusColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n options: options,\r\n field_rel_key: \"value\",\r\n field_print_key: \"caption\"\r\n }\r\n }\r\n}","import { StatusIconColumnComponent } from \"../columns/status-icon-column/status-icon-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\nimport { TotsStatusIconColumnOption } from \"../entities/tots-status-icon-column-option\";\r\n\r\nexport class TotsStatusIconColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], options:TotsStatusIconColumnOption[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, StatusIconColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n options: options,\r\n field_rel_key: \"value\",\r\n field_print_key: \"caption\"\r\n }\r\n }\r\n}","import { StringColumnComponent } from \"../columns/string-column/string-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsStringColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder, prepend?:string) {\r\n super(id, StringColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n prepend: prepend\r\n }\r\n }\r\n}","import { TwoStringColumnComponent } from \"../columns/two-string-column/two-string-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsTwoStringColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], secondFieldKey:string|string[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, TwoStringColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n field_subtitle_key: secondFieldKey\r\n }\r\n }\r\n}","import { UserColumnComponent } from \"../columns/user-column/user-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsUserColumn extends TotsColumn {\r\n // first name, last name y photo obligatorios. Si no hay variable de foto, que usen two string column\r\n\tconstructor(id:string, firstNameFieldKey:string|string[], lastNameFieldKey:string|string[], photoFieldKey:string|string[], secondLineFieldKey?:string|string[], title?:string, onlineFieldKey?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, UserColumnComponent, undefined, title, hasOrder, order);\r\n this.extra = {\r\n field_firstname_key: firstNameFieldKey,\r\n field_lastname_key: lastNameFieldKey,\r\n field_photo_key: photoFieldKey,\r\n field_subtitle_key: secondLineFieldKey,\r\n field_online_key: onlineFieldKey\r\n }\r\n }\r\n}","import { Component, Input, ViewContainerRef } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { TotsActionTable } from '../../entities/tots-action-table';\nimport { TotsColumn } from '../../entities/tots-column';\n\n@Component({\n selector: 'tots-base-print-column',\n templateUrl: './base-print-column.component.html',\n styleUrls: ['./base-print-column.component.css']\n})\nexport class BasePrintColumnComponent {\n\n @Input() column!: TotsColumn;\n @Input() item: any;\n @Input() onAction!: Subject<TotsActionTable>;\n @Input() index?: number;\n\n constructor(\n protected viewContainerRef: ViewContainerRef\n ) { }\n\n ngOnInit(): void {\n const view = this.viewContainerRef.createComponent(this.column.component);\n (<any>view.instance).column = this.column;\n (<any>view.instance).item = this.item;\n (<any>view.instance).onAction = this.onAction;\n (<any>view.instance).index = this.index;\n }\n}\n","<div #contentColumn></div>","import { Component, ComponentRef, Inject, OnDestroy, ViewChild, ViewContainerRef } from '@angular/core';\nimport { TOTS_TABLE_DEFAULT_CONFIG, TotsTableDefaultConfig } from '../../entities/tots-table-default-config';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\n\n@Component({\n selector: 'tots-loading-animation-renderer',\n templateUrl: './loading-animation-renderer.component.html',\n styleUrls: ['./loading-animation-renderer.component.scss']\n})\nexport class LoadingAnimationRendererComponent implements OnDestroy {\n\n\t@ViewChild('loadingComponentContainer', { read: ViewContainerRef }) loadingComponentContainer! : ViewContainerRef;\n loadingComponent! : ComponentRef<any>;\n\n //#region Setup\n constructor(\n @Inject(TOTS_TABLE_DEFAULT_CONFIG) private totsTableDefaultConfig : TotsTableDefaultConfig,\n\t\tprivate viewContainerRef: ViewContainerRef\n ) {}\n\n ngOnInit(): void {\n this.setLoader();\n }\n ngOnDestroy() {\n this.loadingComponentContainer?.clear();\n }\n\n private setLoader() {\n if (this.totsTableDefaultConfig.loadingComponent) {\n this.loadingComponent = this.viewContainerRef.createComponent(this.totsTableDefaultConfig.loadingComponent);\n } else {\n this.loadingComponent = this.viewContainerRef.createComponent(MatProgressSpinner);\n this.loadingComponent.instance.diameter = 50;\n this.loadingComponent.instance.mode = \"indeterminate\";\n this.loadingComponent.instance.color = this.totsTableDefaultConfig.matColor;\n }\n }\n //#endregion\n}","<ng-container #loadingComponentContainer></ng-container>","import { ChangeDetectorRef, Component, EventEmitter, Inject, Input, OnInit, Output } from '@angular/core';\nimport { PageEvent } from '@angular/material/paginator';\nimport { TotsListResponse } from '@tots/core';\nimport { Subject, tap } from 'rxjs';\nimport { TotsActionTable } from '../../entities/tots-action-table';\nimport { TotsColumn } from '../../entities/tots-column';\nimport { TotsTableConfig } from '../../entities/tots-table-config';\nimport { TOTS_TABLE_DEFAULT_CONFIG, TotsTableDefaultConfig } from '../../entities/tots-table-default-config';\nimport { ThemePalette } from '@angular/material/core';\n\n@Component({\n selector: 'tots-table',\n templateUrl: './tots-table.component.html',\n styleUrls: ['./tots-table.component.scss']\n})\nexport class TotsTableComponent implements OnInit {\n\n @Input() config = new TotsTableConfig();\n @Input() pageIndex: number = 0;\n @Input() pageSize: number = 50;\n @Input() hasPagination: boolean = true;\n @Input() messageNotFound! : string;\n\n @Output() onAction = new EventEmitter<TotsActionTable>();\n privateActions = new Subject<TotsActionTable>();\n\n dataItems?: TotsListResponse<any>;\n displayColumns: Array<String> = [];\n\n isLoading = true;\n firstLoad = true;\n matColor : ThemePalette;\n\n upperPaginator : boolean;\n lowerPaginator : boolean;\n upperProgressBar : boolean;\n lowerProgressBar : boolean;\n\n //#region Setup\n constructor(\n protected changeDectetor: ChangeDetectorRef,\n @Inject(TOTS_TABLE_DEFAULT_CONFIG) private totsTableDefaultConfig : TotsTableDefaultConfig,\n ) {\n this.messageNotFound = this.totsTableDefaultConfig.messageNotFound ? this.totsTableDefaultConfig.messageNotFound : \"No results found, please try with other search terms\";\n this.matColor = this.totsTableDefaultConfig.matColor != undefined ? this.totsTableDefaultConfig.matColor : \"primary\";\n this.upperPaginator = this.totsTableDefaultConfig.upperPaginator != undefined ? this.totsTableDefaultConfig.upperPaginator : false;\n this.lowerPaginator = this.totsTableDefaultConfig.lowerPaginator != undefined ? this.totsTableDefaultConfig.lowerPaginator : true;\n this.upperProgressBar = this.totsTableDefaultConfig.upperProgressBar != undefined ? this.totsTableDefaultConfig.upperProgressBar : false;\n this.lowerProgressBar = this.totsTableDefaultConfig.lowerProgressBar != undefined ? this.totsTableDefaultConfig.lowerProgressBar : true;\n }\n\n //#region Lifetime cycles\n ngOnInit(): void {\n this.loadConfig();\n this.loadItems(); \n }\n //#endregion\n\n loadConfig() {\n this.loadColumns();\n this.privateActions.subscribe(action => {\n this.onAction.emit(action);\n });\n }\n loadItems() {\n this.isLoading = true;\n return this.config.obs?.pipe(\n tap(res => {\n this.dataItems = res;\n this.onAction.emit({ key: 'loaded-items', item: res })\n })\n ).subscribe(()=> this.stopLoading());\n }\n\n private stopLoading() {\n this.isLoading = false;\n this.firstLoad = false;\n }\n //#endregion\n\n onClickOrder(column: TotsColumn) {\n if(!column.hasOrder){ return; }\n let orderColumn = column.order;\n this.config.columns.forEach(c => c.order = undefined);\n column.order = orderColumn == 'asc' ? 'desc' : 'asc';\n this.onAction.emit({ key: 'click-order', item: column });\n }\n\n onClickRow(item: any) {\n this.onAction.emit({ key: 'click-row', item: item });\n }\n\n onPageChange(event: PageEvent) {\n this.onAction.emit({ key: 'page-change', item: event });\n }\n\n loadColumns() {\n this.displayColumns = this.config.columns.filter(c => c.is_show || c.is_show == undefined).map(c => c.key);\n }\n\n getDataItems(): TotsListResponse<any> | undefined {\n return this.dataItems;\n }\n\n refreshDataItems(newData: TotsListResponse<any> | undefined) {\n this.dataItems = newData;\n }\n\n detectChanges() {\n this.changeDectetor.detectChanges();\n }\n}\n","<div class=\"tots-table-container {{config.classes}}\">\n\n <!-- #region Lower paginator -->\n <ng-container *ngIf=\"upperPaginator && dataItems && dataItems.data.length > 0 && hasPagination\">\n <mat-paginator [pageIndex]=\"pageIndex-1\" [length]=\"dataItems!.total\" [pageSize]=\"pageSize\" (page)=\"onPageChange($event)\"></mat-paginator>\n </ng-container>\n <!-- #endregion -->\n\n <!-- #region Lower progress bar -->\n <ng-container *ngIf=\"upperProgressBar && !firstLoad\">\n <div class=\"tots-table-bar-loading upper\">\n <mat-progress-bar *ngIf=\"isLoading\" [mode]=\"'indeterminate'\" [color]=\"matColor\"></mat-progress-bar>\n </div>\n </ng-container>\n <!-- #endregion -->\n\n <!-- #region Table -->\n <table mat-table [dataSource]=\"dataItems != undefined ? dataItems!.data : []\">\n\n <ng-container *ngFor=\"let column of config.columns\" [matColumnDef]=\"column.key\" [stickyEnd]=\"column.extra?.stickyEnd ?? false\">\n <!-- TH-->\n <th mat-header-cell *matHeaderCellDef [ngClass]=\"{'tots-tr-has-order': column.hasOrder}\" (click)=\"onClickOrder(column)\">\n {{ column.title }}\n <mat-icon [ngClass]=\"{'sort_active': column.order == 'asc'}\">arrow_drop_up</mat-icon>\n <mat-icon [ngClass]=\"{'sort_active': column.order == 'desc'}\">arrow_drop_down</mat-icon>\n </th>\n <!-- TD -->\n <td mat-cell *matCellDef=\"let item; let index = index;\" [ngStyle]=\"{'width': column.extra?.width ? column.extra.width : 'auto'}\"><tots-base-print-column [column]=\"column\" [item]=\"item\" [index]=\"index\" [onAction]=\"privateActions\"></tots-base-print-column></td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayColumns;\" (click)=\"onClickRow(row)\" [class]=\"row.classCustom\" [ngClass]=\"{'tots-cell-selected': row.isSelected}\"></tr>\n\n <!-- Row shown when there is no matching data. -->\n <ng-container *ngIf=\"!isLoading\">\n <tr class=\"tots-table-not-data\" *matNoDataRow><td class=\"mat-cell\" [colSpan]=\"config.columns.length\">{{ messageNotFound }}</td></tr>\n </ng-container>\n </table>\n <!-- #endregion -->\n\n <!-- #region First loading animation -->\n <div *ngIf=\"isLoading && firstLoad\" class=\"tots-table-loading\">\n <tots-loading-animation-renderer></tots-loading-animation-renderer>\n </div>\n <!-- #endregion -->\n\n <!-- #region Lower progress bar -->\n <ng-container *ngIf=\"lowerProgressBar && !firstLoad\">\n <div class=\"tots-table-bar-loading lower\">\n <mat-progress-bar *ngIf=\"isLoading\" [mode]=\"'indeterminate'\" [color]=\"matColor\"></mat-progress-bar>\n </div>\n </ng-container>\n <!-- #endregion -->\n\n <!-- #region Lower paginator -->\n <ng-container *ngIf=\"lowerPaginator && dataItems && dataItems.data.length > 0 && hasPagination\">\n <mat-paginator [pageIndex]=\"pageIndex-1\" [length]=\"dataItems!.total\" [pageSize]=\"pageSize\" (page)=\"onPageChange($event)\"></mat-paginator>\n </ng-container>\n <!-- #endregion -->\n\n</div>","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { TotsListResponse } from '@tots/core';\nimport { Observable } from 'rxjs';\nimport { TotsActionTable } from '../../entities/tots-action-table';\nimport { TotsTableApiConfig } from '../../entities/tots-table-api-config';\nimport { TotsTableConfig } from '../../entities/tots-table-config';\nimport { TotsTableComponent } from '../tots-table/tots-table.component';\n\n@Component({\n selector: 'tots-table-api',\n templateUrl: './tots-table-api.component.html',\n styleUrls: ['./tots-table-api.component.scss']\n})\nexport class TotsTableApiComponent implements OnInit {\n \n @ViewChild('tableComp') tableComp!: TotsTableComponent;\n\n @Input() config = new TotsTableApiConfig();\n @Input() hasPagination: boolean = true;\n @Input() isPaginationStartIndexInZero: boolean = false;\n\n @Output() onAction = new EventEmitter<TotsActionTable>();\n\n configTable = new TotsTableConfig();\n\n ngOnInit(): void {\n this.loadConfig();\n }\n\n onTableAction(action: TotsActionTable) {\n if(action.key == 'page-change'){\n this.config.query.per_page = action.item.pageSize;\n if(this.isPaginationStartIndexInZero){\n this.config.query.page = action.item.pageIndex;\n } else {\n this.config.query.page = action.item.pageIndex + 1;\n }\n this.configTable.obs = this.config.service.list(this.config.query);\n }\n\n this.onAction.emit(action);\n }\n\n loadConfig() {\n this.configTable.id = this.config.id;\n this.configTable.columns = this.config.columns;\n this.configTable.obs = this.config.service.list(this.config.query);\n this.configTable.classes = this.config.classes;\n }\n\n refreshQueryAndLoadItems() {\n this.configTable.obs = this.config.service.list(this.config.query);\n return this.loadItems();\n }\n\n loadItems() {\n return this.tableComp.loadItems();\n }\n\n getDataItems(): TotsListResponse<any> | undefined {\n return this.tableComp.getDataItems();\n }\n\n setObs(obs: Observable<TotsListResponse<any>>) {\n this.configTable.obs = obs;\n }\n}\n","<tots-table #tableComp [config]=\"configTable\" [pageIndex]=\"config.query.page\" [pageSize]=\"config.query.per_page\" (onAction)=\"onTableAction($event)\" [hasPagination]=\"hasPagination\"></tots-table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n/** Angular Material */\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTableModule } from '@angular/material/table';\nimport { MAT_PAGINATOR_DEFAULT_OPTIONS, MatPaginatorModule } from '@angular/material/paginator';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n/** Components */\nimport { TotsTableComponent } from './components/tots-table/tots-table.component';\nimport { TotsTableApiComponent } from './components/tots-table-api/tots-table-api.component';\n\n/** Columns */\nimport { BasePrintColumnComponent } from './columns/base-print-column/base-print-column.component';\nimport { StringColumnComponent } from './columns/string-column/string-column.component';\nimport { MoreMenuColumnComponent } from './columns/more-menu-column/more-menu-column.component';\nimport { BooleanColumnComponent } from './columns/boolean-column/boolean-column.component';\nimport { TwoStringColumnComponent } from './columns/two-string-column/two-string-column.component';\nimport { IconButtonColumnComponent } from './columns/icon-button-column/icon-button-column.component';\nimport { CheckboxColumnComponent } from './columns/checkbox-column/checkbox-column.component';\nimport { OptionColumnComponent } from './columns/option-column/option-column.component';\nimport { UserColumnComponent } from './columns/user-column/user-column.component';\nimport { CurrencyColumnComponent } from './columns/currency-column/currency-column.component';\nimport { StatusColumnComponent } from './columns/status-column/status-column.component';\nimport { BalanceCurrencyColumnComponent } from './columns/balance-currency-column/balance-currency-column.component';\nimport { StatusIconColumnComponent } from './columns/status-icon-column/status-icon-column.component';\nimport { BalanceCurrencyIconColumnComponent } from './columns/balance-currency-icon-column/balance-currency-icon-column.component';\nimport { TOTS_TABLE_DEFAULT_CONFIG, TotsTableDefaultConfig } from './entities/tots-table-default-config';\nimport { LoadingAnimationRendererComponent } from './components/loading-animation-renderer/loading-animation-renderer.component';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { LinkColumnComponent } from './columns/link-column/link-column.component';\nimport { NumberColumnComponent } from './columns/number-column/number-column.component';\n\n@NgModule({\n declarations: [\n TotsTableComponent,\n BasePrintColumnComponent,\n StringColumnComponent,\n TotsTableApiComponent,\n MoreMenuColumnComponent,\n BooleanColumnComponent,\n TwoStringColumnComponent,\n IconButtonColumnComponent,\n CheckboxColumnComponent,\n OptionColumnComponent,\n UserColumnComponent,\n CurrencyColumnComponent,\n StatusColumnComponent,\n BalanceCurrencyColumnComponent,\n StatusIconColumnComponent,\n BalanceCurrencyIconColumnComponent,\n LoadingAnimationRendererComponent,\n LinkColumnComponent,\n NumberColumnComponent\n ],\n imports: [\n CommonModule,\n // Angular Material\n MatIconModule,\n MatTableModule,\n MatPaginatorModule,\n MatButtonModule,\n MatMenuModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatProgressBarModule\n ],\n exports: [\n TotsTableComponent,\n TotsTableApiComponent\n ],\n providers: [\n {\n\t\t\tprovide: MAT_PAGINATOR_DEFAULT_OPTIONS,\n\t\t\tuseValue: {\n\t\t\t\tpageSizeOptions: [5, 10, 25, 50, 100]\n\t\t\t}\n\t\t},\n {\n provide: TOTS_TABLE_DEFAULT_CONFIG,\n useClass: TotsTableDefaultConfig\n }\n ]\n})\nexport class TotsTableModule { }\n","/*\n * Public API Surface of table\n */\n\n/**\n * Entities\n */\nexport * from './lib/entities/tots-column';\nexport * from './lib/entities/tots-table-config';\nexport * from './lib/entities/tots-table-default-config';\nexport * from './lib/entities/tots-action-table';\nexport * from './lib/entities/tots-table-api-config';\nexport * from './lib/entities/tots-column-option';\nexport * from './lib/entities/tots-more-menu-item';\nexport * from './lib/entities/tots-status-column-option';\nexport * from './lib/entities/tots-status-icon-column-option';\n\n/**\n * Helpers\n */\nexport * from './lib/helpers/tots-table-helper';\n\n/**\n * Columns\n */\nexport * from './lib/columns/tots-base-column.component';\nexport * from './lib/columns/balance-currency-column/balance-currency-column.component';\nexport * from './lib/columns/balance-currency-icon-column/balance-currency-icon-column.component';\nexport * from './lib/columns/boolean-column/boolean-column.component';\nexport * from './lib/columns/checkbox-column/checkbox-column.component';\nexport * from './lib/columns/currency-column/currency-column.component';\nexport * from './lib/columns/icon-button-column/icon-button-column.component';\nexport * from './lib/columns/link-column/link-column.component';\nexport * from './lib/columns/more-menu-column/more-menu-column.component';\nexport * from './lib/columns/number-column/number-column.component';\nexport * from './lib/columns/option-column/option-column.component';\nexport * from './lib/columns/status-column/status-column.component';\nexport * from './lib/columns/status-icon-column/status-icon-column.component';\nexport * from './lib/columns/string-column/string-column.component';\nexport * from './lib/columns/two-string-column/two-string-column.component';\nexport * from './lib/columns/user-column/user-column.component';\n\n/**\n * Factories\n */\nexport * from './lib/column-factories/tots-balance-column';\nexport * from './lib/column-factories/tots-balance-icon-column';\nexport * from './lib/column-factories/tots-boolean-column';\nexport * from './lib/column-factories/tots-checkbox-column';\nexport * from './lib/column-factories/tots-currency-column';\nexport * from './lib/column-factories/tots-icon-button-column';\nexport * from './lib/column-factories/tots-link-column';\nexport * from './lib/column-factories/tots-more-menu-column';\nexport * from './lib/column-factories/tots-number-column';\nexport * from './lib/column-factories/tots-option-column';\nexport * from './lib/column-factories/tots-status-column';\nexport * from './lib/column-factories/tots-status-icon-column';\nexport * from './lib/column-factories/tots-string-column';\nexport * from './lib/column-factories/tots-two-string-column';\nexport * from './lib/column-factories/tots-user-column';\n\n/**\n * Components\n */\nexport * from './lib/components/tots-table/tots-table.component';\nexport * from './lib/components/tots-table-api/tots-table-api.component';\n\n/**\n * Modules\n */\nexport * from './lib/table.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i4","i6.BasePrintColumnComponent","i7.LoadingAnimationRendererComponent","i1.TotsTableComponent"],"mappings":"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"}
1
+ {"version":3,"file":"tots-table.mjs","sources":["../../../../projects/tots/table/src/lib/entities/tots-column.ts","../../../../projects/tots/table/src/lib/entities/tots-table-config.ts","../../../../projects/tots/table/src/lib/entities/tots-table-default-config.ts","../../../../projects/tots/table/src/lib/entities/tots-action-table.ts","../../../../projects/tots/table/src/lib/entities/tots-table-api-config.ts","../../../../projects/tots/table/src/lib/entities/tots-column-option.ts","../../../../projects/tots/table/src/lib/entities/tots-more-menu-item.ts","../../../../projects/tots/table/src/lib/entities/tots-status-column-option.ts","../../../../projects/tots/table/src/lib/entities/tots-status-icon-column-option.ts","../../../../projects/tots/table/src/lib/helpers/tots-table-helper.ts","../../../../projects/tots/table/src/lib/columns/tots-base-column.component.ts","../../../../projects/tots/table/src/lib/columns/balance-currency-column/balance-currency-column.component.ts","../../../../projects/tots/table/src/lib/columns/balance-currency-column/balance-currency-column.component.html","../../../../projects/tots/table/src/lib/columns/balance-currency-icon-column/balance-currency-icon-column.component.ts","../../../../projects/tots/table/src/lib/columns/balance-currency-icon-column/balance-currency-icon-column.component.html","../../../../projects/tots/table/src/lib/columns/boolean-column/boolean-column.component.ts","../../../../projects/tots/table/src/lib/columns/boolean-column/boolean-column.component.html","../../../../projects/tots/table/src/lib/columns/checkbox-column/checkbox-column.component.ts","../../../../projects/tots/table/src/lib/columns/checkbox-column/checkbox-column.component.html","../../../../projects/tots/table/src/lib/columns/currency-column/currency-column.component.ts","../../../../projects/tots/table/src/lib/columns/currency-column/currency-column.component.html","../../../../projects/tots/table/src/lib/columns/icon-button-column/icon-button-column.component.ts","../../../../projects/tots/table/src/lib/columns/icon-button-column/icon-button-column.component.html","../../../../projects/tots/table/src/lib/columns/link-column/link-column.component.ts","../../../../projects/tots/table/src/lib/columns/link-column/link-column.component.html","../../../../projects/tots/table/src/lib/columns/more-menu-column/more-menu-column.component.ts","../../../../projects/tots/table/src/lib/columns/more-menu-column/more-menu-column.component.html","../../../../projects/tots/table/src/lib/columns/number-column/number-column.component.ts","../../../../projects/tots/table/src/lib/columns/number-column/number-column.component.html","../../../../projects/tots/table/src/lib/columns/option-column/option-column.component.ts","../../../../projects/tots/table/src/lib/columns/option-column/option-column.component.html","../../../../projects/tots/table/src/lib/columns/status-column/status-column.component.ts","../../../../projects/tots/table/src/lib/columns/status-column/status-column.component.html","../../../../projects/tots/table/src/lib/columns/status-icon-column/status-icon-column.component.ts","../../../../projects/tots/table/src/lib/columns/status-icon-column/status-icon-column.component.html","../../../../projects/tots/table/src/lib/columns/string-column/string-column.component.ts","../../../../projects/tots/table/src/lib/columns/string-column/string-column.component.html","../../../../projects/tots/table/src/lib/columns/two-string-column/two-string-column.component.ts","../../../../projects/tots/table/src/lib/columns/two-string-column/two-string-column.component.html","../../../../projects/tots/table/src/lib/columns/user-column/user-column.component.ts","../../../../projects/tots/table/src/lib/columns/user-column/user-column.component.html","../../../../projects/tots/table/src/lib/column-factories/tots-balance-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-balance-icon-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-boolean-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-checkbox-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-currency-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-icon-button-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-link-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-more-menu-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-number-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-option-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-status-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-status-icon-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-string-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-two-string-column.ts","../../../../projects/tots/table/src/lib/column-factories/tots-user-column.ts","../../../../projects/tots/table/src/lib/columns/base-print-column/base-print-column.component.ts","../../../../projects/tots/table/src/lib/columns/base-print-column/base-print-column.component.html","../../../../projects/tots/table/src/lib/components/loading-animation-renderer/loading-animation-renderer.component.ts","../../../../projects/tots/table/src/lib/components/loading-animation-renderer/loading-animation-renderer.component.html","../../../../projects/tots/table/src/lib/components/tots-table/tots-table.component.ts","../../../../projects/tots/table/src/lib/components/tots-table/tots-table.component.html","../../../../projects/tots/table/src/lib/components/tots-table-api/tots-table-api.component.ts","../../../../projects/tots/table/src/lib/components/tots-table-api/tots-table-api.component.html","../../../../projects/tots/table/src/lib/table.module.ts","../../../../projects/tots/table/src/public-api.ts","../../../../projects/tots/table/src/tots-table.ts"],"sourcesContent":["export class TotsColumn {\n key : string;\n component: any;\n \n field_key?: string|Array<string>;\n title? : string;\n\n extra?: any;\n is_show? : boolean = true;\n hasOrder? : boolean;\n order?: 'asc'|'desc';\n\n constructor(key:string, component:any, field_key?:string|string[], title?:string, hasOrder=false, order?:TotsColumnOrder) {\n this.key = key;\n this.field_key = field_key;\n this.title = title;\n this.component = component;\n this.hasOrder = hasOrder;\n this.order = order;\n }\n}\n\nexport type TotsColumnOrder = \"asc\"|\"desc\";","import { TotsListResponse, TotsQuery } from \"@tots/core\";\nimport { Observable } from \"rxjs\";\nimport { TotsColumn } from \"./tots-column\";\n\nexport class TotsTableConfig {\n id?: string = '';\n columns: Array<TotsColumn> = [];\n obs?: Observable<TotsListResponse<any>>;\n classes?: string = '';\n}","import { Injectable, InjectionToken } from \"@angular/core\";\n\nexport const TOTS_TABLE_DEFAULT_CONFIG = new InjectionToken<TotsTableDefaultConfig>('tots_table_default_config');\n\n@Injectable()\nexport class TotsTableDefaultConfig {\n /**\n * Message shown when there are no entries in the table\n */\n messageNotFound? : string;\n\n /**\n * Replaces default mat spinner\n */\n loadingComponent? : any;\n\n /**\n * Color class applied to the default initial loading spinner and to the upper and/or lower progress bars. Ex color directive\n */\n matColor? : string;\n\n /**\n * @default false\n */\n upperPaginator? : boolean;\n /**\n * @default true\n */\n lowerPaginator? : boolean;\n\n /**\n * @default false\n */\n upperProgressBar? : boolean;\n /**\n * @default true\n */\n lowerProgressBar? : boolean;\n}","export class TotsActionTable {\n key: string = '';\n item?: any;\n}","import { TotsBaseHttpService, TotsQuery } from \"@tots/core\";\nimport { TotsColumn } from \"./tots-column\";\n\nexport class TotsTableApiConfig {\n id?: string = '';\n columns: Array<TotsColumn> = [];\n service!: TotsBaseHttpService<any>;\n query: TotsQuery = new TotsQuery();\n classes?: string = '';\n}","export class TotsColumnOption {\n value: number|string;\n caption: string;\n\n constructor(value:number|string, caption:string) {\n this.value = value;\n this.caption = caption;\n }\n}","export class TotsMoreMenuItem {\n icon: string|undefined;\n title: string;\n key: string;\n class?: string;\n\n constructor(icon:string|undefined, caption:string, action:string, cssClass?:string) {\n this.icon = icon;\n this.title = caption;\n this.key = action;\n this.class = cssClass;\n }\n}","import { TotsColumnOption } from \"./tots-column-option\";\n\nexport class TotsStatusColumnOption extends TotsColumnOption {\n background_color: string;\n font_color: string;\n\n constructor(value:number|string, caption:string, backgroundColor:string, fontColor:string) {\n super(value, caption);\n this.background_color = backgroundColor;\n this.font_color = fontColor;\n }\n}","import { TotsColumnOption } from \"./tots-column-option\";\n\nexport class TotsStatusIconColumnOption extends TotsColumnOption {\n font_color: string;\n\n constructor(value:number|string, icon:string, fontColor:string) {\n super(value, icon);\n this.font_color = fontColor;\n }\n}","export class TotsTableHelper {\n /**\n * Obtiene el valor de un objeto a traves de la KEY\n * @param item \n * @param key \n * @returns \n */\n static getItemValueByKey(item: any, key: string|Array<string>|undefined): any {\n if(key == undefined||item == undefined){\n return '';\n }\n \n if (typeof key == 'string' && item[key] != undefined) {\n return item[key];\n }\n \n let valueFinal = item;\n for (const keyObj of key!) {\n if(valueFinal[keyObj] == undefined){\n return '';\n }\n valueFinal = valueFinal[keyObj];\n }\n return valueFinal;\n }\n}","import { Component, EventEmitter, Input, OnInit } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nimport { TotsActionTable } from \"../entities/tots-action-table\";\nimport { TotsColumn } from \"../entities/tots-column\";\nimport { TotsTableHelper } from \"../helpers/tots-table-helper\";\n\n@Component({\n selector: 'tots-base-column',\n template: ''\n})\nexport class TotsBaseColumnComponent{\n\n @Input() column!: TotsColumn;\n @Input() item: any;\n @Input() onAction!: Subject<TotsActionTable>;\n @Input() index?: number;\n\n getItemValue(): any {\n return TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n }\n}\n","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\n\n@Component({\n selector: 'tots-balance-currency-column',\n templateUrl: './balance-currency-column.component.html',\n styleUrls: ['./balance-currency-column.component.css'],\n standalone: false\n})\nexport class BalanceCurrencyColumnComponent extends TotsBaseColumnComponent {\n\n getBalance() {\n return this.getDebit() - this.getCredit();\n }\n\n getDebit(): any {\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_key_debit);\n }\n\n getCredit(): any {\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_key_credit);\n }\n}\n","<span [ngClass]=\"{\n\t'tots-balance-column-positive': getBalance() > 0,\n\t'tots-balance-column-negative': getBalance() < 0\n}\">\n\t{{ getBalance() | currency }}\n</span>","import { Component } from '@angular/core';\nimport { BalanceCurrencyColumnComponent } from '../balance-currency-column/balance-currency-column.component';\n\n@Component({\n selector: 'tots-balance-currency-icon-column',\n templateUrl: './balance-currency-icon-column.component.html',\n styleUrls: ['./balance-currency-icon-column.component.css'],\n standalone: false\n})\nexport class BalanceCurrencyIconColumnComponent extends BalanceCurrencyColumnComponent {\n\n getIconPositive(): any {\n return this.column.extra.icon_positive\n }\n\n getIconNegative(): any {\n return this.column.extra.icon_negative;\n }\n\n getIconNeutral(): any {\n return this.column.extra.icon_neutral;\n }\n}\n","<span [ngClass]=\"{\n\t'tots-balance-column-positive': getBalance() > 0,\n\t'tots-balance-column-negative': getBalance() < 0\n}\">\n\t@if (getBalance() > 0) {\n\t\t{{ getIconPositive() }}\n\t} @else if (getBalance() < 0) {\n\t\t{{ getIconNegative() }}\n\t} @else {\n\t\t{{ getIconNeutral() }}\n\t}\n</span>","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-boolean-column',\n templateUrl: './boolean-column.component.html',\n styleUrls: ['./boolean-column.component.css'],\n standalone: false\n})\nexport class BooleanColumnComponent extends TotsBaseColumnComponent {\n\n}","@if (getItemValue() == true||getItemValue() == 1) {\n\tYES\n} @else {\n\tNO\n}","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\n\n@Component({\n\tselector: 'tots-checkbox-column',\n\ttemplateUrl: './checkbox-column.component.html',\n\tstyleUrls: ['./checkbox-column.component.css'],\n\tstandalone: false\n})\nexport class CheckboxColumnComponent extends TotsBaseColumnComponent {\n\n onChange(event: MatCheckboxChange) {\n let key = 'select-item';\n if(!event.checked){\n key = 'unselect-item';\n }\n this.onAction.next({ key: key, item: this.item });\n }\n\n\tprotected get cssClass() : string {\n\t\treturn this.column.extra?.class || \"\";\n\t}\n\tprotected get color() : string {\n\t\treturn this.column.extra?.color || \"\";\n\t}\n}\n","<div class=\"tots-checkbox-column\">\n\t<mat-checkbox\n\t\t[ngClass]=\"[cssClass, color]\"\n\t\t(change)=\"onChange($event)\"\n\t\t(click)=\"$event.stopPropagation()\"\n\t></mat-checkbox>\n</div>","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-currency-column',\n templateUrl: './currency-column.component.html',\n styleUrls: ['./currency-column.component.css'],\n standalone: false\n})\nexport class CurrencyColumnComponent extends TotsBaseColumnComponent {\n\n}\n","<span [ngClass]=\"{\n\t'tots-currency-column-positive': getItemValue() > 0,\n\t'tots-currency-column-negative': getItemValue() < 0\n}\">\n\t{{ getItemValue() | currency }}\n</span>","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-icon-button-column',\n templateUrl: './icon-button-column.component.html',\n styleUrls: ['./icon-button-column.component.css'],\n standalone: false\n})\nexport class IconButtonColumnComponent extends TotsBaseColumnComponent {\n\n clickButton($event: UIEvent) {\n this.onAction.next({ key: this.column.extra.action, item: this.item });\n $event.stopPropagation();\n return false;\n }\n\n getIconName() : string {\n return this.column.extra.icon;\n }\n\n\tprotected get buttonColor() : string {\n\t\treturn this.column.extra.matColor || \"\";\n\t}\n\tprotected get cssClass() : string {\n\t\treturn this.column.extra.class || \"\";\n\t}\n}\n","<button mat-icon-button [ngClass]=\"[buttonColor, cssClass]\" (click)=\"clickButton($event)\">\n\t<mat-icon>{{getIconName()}}</mat-icon>\n</button>","import { Component, OnInit } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n\tselector: 'tots-link-column',\n\ttemplateUrl: './link-column.component.html',\n\tstyleUrls: ['./link-column.component.css'],\n\tstandalone: false\n})\nexport class LinkColumnComponent extends TotsBaseColumnComponent implements OnInit {\n\n\tprotected linkCaption! : string;\n\tprotected target! : \"_blank\"|\"_self\";\n\n\tngOnInit() {\n\t\tthis.linkCaption = this.column.extra?.caption || \"Open in new tab\";\n\t\tthis.target = this.column.extra?.target || \"_blank\";\n\t}\n\n}","<div>\n\t@if (getItemValue()) {\n\t\t<a [href]=\"getItemValue()\" [target]=\"target\">\n\t\t\t{{ linkCaption }}\n\t\t\t@if (target == '_blank') {\n\t\t\t\t<mat-icon>open_in_new</mat-icon>\n\t\t\t}\n\t\t</a>\n\t}\n</div>","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-more-menu-column',\n templateUrl: './more-menu-column.component.html',\n styleUrls: ['./more-menu-column.component.scss'],\n standalone: false\n})\nexport class MoreMenuColumnComponent extends TotsBaseColumnComponent {\n\n clickButton(itemAction: any, $event: UIEvent) {\n this.onAction.next({ key: itemAction.key, item: this.item });\n $event.preventDefault();\n return false;\n }\n}\n","<button mat-icon-button [matMenuTriggerFor]=\"actions\" (click)=\"$event.stopPropagation()\">\n\t<mat-icon>more_vert</mat-icon>\n</button>\n\n<mat-menu #actions=\"matMenu\">\n\t@for (button of column.extra?.actions; track $index) {\n\t\t<button mat-menu-item (click)=\"clickButton(button, $event)\" class=\"{{button.class}}\">\n\t\t\t@if (button.icon) {\n\t\t\t\t<mat-icon>\n\t\t\t\t\t{{ button.icon }}\n\t\t\t\t</mat-icon>\n\t\t\t}\n\t\t\t{{ button.title }}\n\t\t</button>\n\t}\n</mat-menu>","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n\tselector: 'tots-number-column',\n\ttemplateUrl: './number-column.component.html',\n\tstyleUrls: ['./number-column.component.css'],\n\tstandalone: false\n})\nexport class NumberColumnComponent extends TotsBaseColumnComponent {\n\n}\n","<span [ngClass]=\"{\n\t'tots-number-column-positive': getItemValue() > 0,\n\t'tots-number-column-negative': getItemValue() < 0\n}\">\n\t@if (column.extra?.prepend) {\n\t\t<span class=\"tots-number-column-prepend\">\n\t\t\t{{ column.extra?.prepend }}\n\t\t</span>\n\t}\n\n\t{{ getItemValue() | number:\"1.0-2\" }}\n\n\t@if (column.extra?.append) {\n\t\t<span class=\"tots-number-column-append\">\n\t\t\t{{ column.extra?.append }}\n\t\t</span>\n\t}\n</span>","import { Component } from '@angular/core';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-option-column',\n templateUrl: './option-column.component.html',\n styleUrls: ['./option-column.component.css'],\n standalone: false\n})\nexport class OptionColumnComponent extends TotsBaseColumnComponent {\n\n override getItemValue(): any {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n for (const item of this.column.extra.options) {\n if(item[this.column.extra.field_rel_key] == value){\n return item[this.column.extra.field_print_key];\n }\n }\n return '';\n }\n\n}\n","{{getItemValue()}}","import { Component } from '@angular/core';\nimport { OptionColumnComponent } from '../option-column/option-column.component';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\n\n@Component({\n selector: 'tots-status-column',\n templateUrl: './status-column.component.html',\n styleUrls: ['./status-column.component.css'],\n standalone: false\n})\nexport class StatusColumnComponent extends OptionColumnComponent {\n\n getBackgroundColor(): string {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n for (const item of this.column.extra.options) {\n if(item[this.column.extra.field_rel_key] == value && item['background_color'] != undefined){\n return item['background_color'];\n }\n }\n return '';\n }\n\n getFontColor(): string {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n for (const item of this.column.extra.options) {\n if(item[this.column.extra.field_rel_key] == value && item['font_color'] != undefined){\n return item['font_color'];\n }\n }\n return '';\n }\n}\n","<span class=\"tots-status-column\" [ngStyle]=\"{\n\t'background-color': getBackgroundColor(),\n\t'color': getFontColor()\n}\">\n\t{{ getItemValue() }}\n</span>","import { Component } from '@angular/core';\nimport { OptionColumnComponent } from '../option-column/option-column.component';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\n\n@Component({\n selector: 'tots-status-icon-column',\n templateUrl: './status-icon-column.component.html',\n styleUrls: ['./status-icon-column.component.css'],\n standalone: false\n})\nexport class StatusIconColumnComponent extends OptionColumnComponent {\n\n getFontColor(): string {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n for (const item of this.column.extra.options) {\n if(item[this.column.extra.field_rel_key] == value && item['font_color'] != undefined){\n return item['font_color'];\n }\n }\n return '';\n }\n}\n","<span class=\"tots-status-icon-column\" [ngStyle]=\"{'color': getFontColor()}\">\n\t<mat-icon>\n\t\t{{ getItemValue() }}\n\t</mat-icon>\n</span>","import { Component } from '@angular/core';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\n\n@Component({\n\tselector: 'tots-string-column',\n\ttemplateUrl: './string-column.component.html',\n\tstyleUrls: ['./string-column.component.css'],\n\tstandalone: false\n})\nexport class StringColumnComponent extends TotsBaseColumnComponent {\n\n override getItemValue(): any {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n\n if(this.column.extra && this.column.extra.cutSeparator){\n return value.split(this.column.extra.cutSeparator)[0];\n }\n\n return value;\n }\n\n\tprotected get prepend() : string | undefined {\n\t\treturn this.column.extra?.prepend;\n\t}\n\tprotected get append() : string | undefined {\n\t\treturn this.column.extra?.append;\n\t}\n}\n","@if (prepend) {\n\t<span class=\"prefix\"> {{ prepend }} </span>\n}\n\n{{ getItemValue() }}\n\n@if (append) {\n\t<span class=\"prefix\"> {{ append }} </span>\n}","import { Component } from '@angular/core';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-two-string-column',\n templateUrl: './two-string-column.component.html',\n styleUrls: ['./two-string-column.component.css'],\n standalone: false\n})\nexport class TwoStringColumnComponent extends TotsBaseColumnComponent {\n\n getSubtitleValue(): any {\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_subtitle_key);\n }\n}\n","<div class=\"first-line\">\n\t<strong>\n\t\t{{ getItemValue() }}\n\t</strong>\n</div>\n\n<div class=\"second-line\">\n\t{{ getSubtitleValue() }}\n</div>","import { Component } from '@angular/core';\nimport { TotsTableHelper } from '../../helpers/tots-table-helper';\nimport { TotsBaseColumnComponent } from '../tots-base-column.component';\n\n@Component({\n selector: 'tots-user-column',\n templateUrl: './user-column.component.html',\n styleUrls: ['./user-column.component.scss'],\n standalone: false\n})\nexport class UserColumnComponent extends TotsBaseColumnComponent {\n\n onClick(event: any) {\n if(!this.isClickable()){\n return;\n }\n\n this.onAction.next({ key: this.getClickEvent(), item: this.item });\n event.stopPropagation();\n }\n\n getFirstname() {\n if(this.column.extra?.field_firstname_key){\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_firstname_key);\n }\n\n return '';\n }\n\n getLastname() {\n if(this.column.extra?.field_lastname_key){\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_lastname_key);\n }\n\n return '';\n }\n\n getFullname() {\n return this.getFirstname() + ' ' + this.getLastname();\n }\n\n getPhoto() {\n if(this.column.extra?.field_photo_key){\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_photo_key);\n }\n\n return '';\n }\n\n getSubtitle() {\n if(this.column.extra?.field_subtitle_key){\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_subtitle_key);\n }\n\n return '';\n }\n\n isOnline() {\n if(this.column.extra?.field_online_key){\n return TotsTableHelper.getItemValueByKey(this.item, this.column.extra.field_online_key);\n }\n\n return false;\n }\n\n isClickable() {\n if(this.column.extra?.is_clickable){\n return true;\n }\n\n return false;\n }\n\n getClickEvent() {\n if(this.column.extra?.click_event){\n return this.column.extra.click_event;\n }\n\n return 'click-column';\n }\n}\n","<div class=\"user-avatar-component\" [ngClass]=\"{'box-clickable': isClickable()}\" (click)=\"onClick($event);\">\n\t@if (getPhoto()) {\n\t\t<div class=\"avatar\">\n\t\t\t<img mat-card-avatar [src]=\"getPhoto()\" alt=\"{{ getFullname() }}\" class=\"cover-image\" onerror=\"this.src='/assets/img/user-avatar-empty.svg';\">\n\t\t</div>\n\t}\n\n\t<div class=\"texts\">\n\t\t<div class=\"user\"> {{ getFullname() }} </div>\n\n\t\t@if (getSubtitle()) {\n\t\t\t<div class=\"body-2\"> {{ getSubtitle() }} </div>\n\t\t}\n\t</div>\n\n\t@if (column.extra?.field_is_online && isOnline()) {\n\t\t<div class=\"check\">\n\t\t\t<mat-icon>check</mat-icon>\n\t\t</div>\n\t}\n</div>\n","import { BalanceCurrencyColumnComponent } from \"../columns/balance-currency-column/balance-currency-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsBalanceColumn extends TotsColumn {\r\n\tconstructor(id:string, activeAssetFieldKey:string|string[], passiveAssetFieldKey:string|string[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, BalanceCurrencyColumnComponent, undefined, title, hasOrder, order);\r\n this.extra = {\r\n field_key_credit: activeAssetFieldKey,\r\n field_key_debit: passiveAssetFieldKey\r\n }\r\n }\r\n}","import { BalanceCurrencyIconColumnComponent } from \"../columns/balance-currency-icon-column/balance-currency-icon-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsBalanceIconColumn extends TotsColumn {\r\n\tconstructor(id:string, activeAssetFieldKey:string|string[], passiveAssetFieldKey:string|string[], neutralIcon:string, positiveIcon:string, negativeIcon:string, title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, BalanceCurrencyIconColumnComponent, undefined, title, hasOrder, order);\r\n this.extra = {\r\n field_key_credit: activeAssetFieldKey,\r\n field_key_debit: passiveAssetFieldKey,\r\n icon_neutral: neutralIcon,\r\n icon_positive: positiveIcon,\r\n icon_negative: negativeIcon\r\n }\r\n }\r\n}","import { BooleanColumnComponent } from \"../columns/boolean-column/boolean-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsBooleanColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, BooleanColumnComponent, fieldKey, title, hasOrder, order);\r\n }\r\n}","import { CheckboxColumnComponent } from \"../columns/checkbox-column/checkbox-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsCheckboxColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey?:string|string[], title?:string, color?:string, cssClass?:string, hasOrder?:boolean, order?:TotsColumnOrder, stickyEnd?:true) {\r\n super(id, CheckboxColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n stickyEnd: stickyEnd,\r\n color: color,\r\n class: cssClass\r\n }\r\n }\r\n}","import { CurrencyColumnComponent } from \"../columns/currency-column/currency-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsCurrencyColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, CurrencyColumnComponent, fieldKey, title, hasOrder, order);\r\n }\r\n}","import { IconButtonColumnComponent } from \"../columns/icon-button-column/icon-button-column.component\";\r\nimport { TotsColumn } from \"../entities/tots-column\";\r\n\r\nexport class TotsIconButtonColumn extends TotsColumn {\r\n\tconstructor(id:string, icon:string, action:string, color?:string, title?:string, cssClass?:string, stickyEnd?:boolean) {\r\n super(id, IconButtonColumnComponent, undefined, title);\r\n this.extra = {\r\n icon: icon,\r\n matColor: color,\r\n action: action,\r\n class: cssClass,\r\n stickyEnd: stickyEnd\r\n }\r\n }\r\n}","import { LinkColumnComponent } from \"../columns/link-column/link-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsLinkColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder, caption?:string, target?:\"_blank\"|\"_self\") {\r\n super(id, LinkColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n caption: caption,\r\n target: target\r\n }\r\n }\r\n}\r\n","import { MoreMenuColumnComponent } from \"../columns/more-menu-column/more-menu-column.component\";\r\nimport { TotsColumn } from \"../entities/tots-column\";\r\nimport { TotsMoreMenuItem } from \"../entities/tots-more-menu-item\";\r\n\r\nexport class TotsMoreMenuColumn extends TotsColumn {\r\n\tconstructor(id:string, items:TotsMoreMenuItem[], title?:string, stickyEnd?:boolean) {\r\n super(id, MoreMenuColumnComponent, undefined, title);\r\n this.extra = {\r\n stickyEnd: stickyEnd,\r\n actions: items\r\n }\r\n }\r\n}","import { NumberColumnComponent } from \"../columns/number-column/number-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsNumberColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder, prepend?:number|string, append?:number|string) {\r\n super(id, NumberColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n prepend: prepend,\r\n append: append\r\n }\r\n }\r\n}","import { OptionColumnComponent } from \"../columns/option-column/option-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\nimport { TotsColumnOption } from \"../entities/tots-column-option\";\r\n\r\nexport class TotsOptionColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], options:TotsColumnOption[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, OptionColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n options: options,\r\n field_rel_key: \"value\",\r\n field_print_key: \"caption\"\r\n }\r\n }\r\n}","import { StatusColumnComponent } from \"../columns/status-column/status-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\nimport { TotsStatusColumnOption } from \"../entities/tots-status-column-option\";\r\n\r\nexport class TotsStatusColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], options:TotsStatusColumnOption[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, StatusColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n options: options,\r\n field_rel_key: \"value\",\r\n field_print_key: \"caption\"\r\n }\r\n }\r\n}","import { StatusIconColumnComponent } from \"../columns/status-icon-column/status-icon-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\nimport { TotsStatusIconColumnOption } from \"../entities/tots-status-icon-column-option\";\r\n\r\nexport class TotsStatusIconColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], options:TotsStatusIconColumnOption[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, StatusIconColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n options: options,\r\n field_rel_key: \"value\",\r\n field_print_key: \"caption\"\r\n }\r\n }\r\n}","import { StringColumnComponent } from \"../columns/string-column/string-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsStringColumn extends TotsColumn {\r\n\tconstructor(id: string, fieldKey: string | string[], title?: string, hasOrder?: boolean, order?: TotsColumnOrder, prepend?: string, append?: string) {\r\n\t\tsuper(id, StringColumnComponent, fieldKey, title, hasOrder, order);\r\n\t\tthis.extra = {\r\n\t\t\tprepend: prepend,\r\n\t\t\tappend: append\r\n\t\t}\r\n\t}\r\n}","import { TwoStringColumnComponent } from \"../columns/two-string-column/two-string-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsTwoStringColumn extends TotsColumn {\r\n\tconstructor(id:string, fieldKey:string|string[], secondFieldKey:string|string[], title?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, TwoStringColumnComponent, fieldKey, title, hasOrder, order);\r\n this.extra = {\r\n field_subtitle_key: secondFieldKey\r\n }\r\n }\r\n}","import { UserColumnComponent } from \"../columns/user-column/user-column.component\";\r\nimport { TotsColumn, TotsColumnOrder } from \"../entities/tots-column\";\r\n\r\nexport class TotsUserColumn extends TotsColumn {\r\n // first name, last name y photo obligatorios. Si no hay variable de foto, que usen two string column\r\n\tconstructor(id:string, firstNameFieldKey:string|string[], lastNameFieldKey:string|string[], photoFieldKey:string|string[], secondLineFieldKey?:string|string[], title?:string, onlineFieldKey?:string, hasOrder?:boolean, order?:TotsColumnOrder) {\r\n super(id, UserColumnComponent, undefined, title, hasOrder, order);\r\n this.extra = {\r\n field_firstname_key: firstNameFieldKey,\r\n field_lastname_key: lastNameFieldKey,\r\n field_photo_key: photoFieldKey,\r\n field_subtitle_key: secondLineFieldKey,\r\n field_online_key: onlineFieldKey\r\n }\r\n }\r\n}","import { Component, Input, ViewContainerRef } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { TotsActionTable } from '../../entities/tots-action-table';\nimport { TotsColumn } from '../../entities/tots-column';\n\n@Component({\n selector: 'tots-base-print-column',\n templateUrl: './base-print-column.component.html',\n styleUrls: ['./base-print-column.component.css'],\n standalone: false\n})\nexport class BasePrintColumnComponent {\n\n @Input() column!: TotsColumn;\n @Input() item: any;\n @Input() onAction!: Subject<TotsActionTable>;\n @Input() index?: number;\n\n constructor(\n protected viewContainerRef: ViewContainerRef\n ) { }\n\n ngOnInit(): void {\n const view = this.viewContainerRef.createComponent(this.column.component);\n (<any>view.instance).column = this.column;\n (<any>view.instance).item = this.item;\n (<any>view.instance).onAction = this.onAction;\n (<any>view.instance).index = this.index;\n }\n}\n","<div #contentColumn></div>","import { Component, ComponentRef, Inject, OnDestroy, ViewChild, ViewContainerRef } from '@angular/core';\nimport { TOTS_TABLE_DEFAULT_CONFIG, TotsTableDefaultConfig } from '../../entities/tots-table-default-config';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\n\n@Component({\n selector: 'tots-loading-animation-renderer',\n templateUrl: './loading-animation-renderer.component.html',\n styleUrls: ['./loading-animation-renderer.component.scss'],\n standalone: false\n})\nexport class LoadingAnimationRendererComponent implements OnDestroy {\n\n\t@ViewChild('loadingComponentContainer', { read: ViewContainerRef }) loadingComponentContainer! : ViewContainerRef;\n loadingComponent! : ComponentRef<any>;\n\n //#region Setup\n constructor(\n @Inject(TOTS_TABLE_DEFAULT_CONFIG) private totsTableDefaultConfig : TotsTableDefaultConfig,\n\t\tprivate viewContainerRef: ViewContainerRef\n ) {}\n\n ngOnInit(): void {\n this.setLoader();\n }\n ngOnDestroy() {\n this.loadingComponentContainer?.clear();\n }\n\n private setLoader() {\n if (this.totsTableDefaultConfig.loadingComponent) {\n this.loadingComponent = this.viewContainerRef.createComponent(this.totsTableDefaultConfig.loadingComponent);\n } else {\n this.loadingComponent = this.viewContainerRef.createComponent(MatProgressSpinner);\n this.loadingComponent.instance.diameter = 50;\n this.loadingComponent.instance.mode = \"indeterminate\";\n this.loadingComponent.instance.color = this.totsTableDefaultConfig.matColor;\n }\n }\n //#endregion\n}","<ng-container #loadingComponentContainer></ng-container>","import { ChangeDetectorRef, Component, EventEmitter, Inject, Input, OnInit, Output } from '@angular/core';\nimport { PageEvent } from '@angular/material/paginator';\nimport { TotsListResponse } from '@tots/core';\nimport { Subject, tap } from 'rxjs';\nimport { TotsActionTable } from '../../entities/tots-action-table';\nimport { TotsColumn } from '../../entities/tots-column';\nimport { TotsTableConfig } from '../../entities/tots-table-config';\nimport { TOTS_TABLE_DEFAULT_CONFIG, TotsTableDefaultConfig } from '../../entities/tots-table-default-config';\n\n@Component({\n selector: 'tots-table',\n templateUrl: './tots-table.component.html',\n styleUrls: ['./tots-table.component.scss'],\n standalone: false\n})\nexport class TotsTableComponent implements OnInit {\n\n @Input() config = new TotsTableConfig();\n @Input() pageIndex: number = 0;\n @Input() pageSize: number = 50;\n @Input() hasPagination: boolean = true;\n @Input() messageNotFound! : string;\n\n @Output() onAction = new EventEmitter<TotsActionTable>();\n privateActions = new Subject<TotsActionTable>();\n\n dataItems?: TotsListResponse<any>;\n displayColumns: Array<String> = [];\n\n isLoading = true;\n firstLoad = true;\n\tprotected matColor : string;\n\n upperPaginator : boolean;\n lowerPaginator : boolean;\n upperProgressBar : boolean;\n lowerProgressBar : boolean;\n\n //#region Setup\n constructor(\n protected changeDectetor: ChangeDetectorRef,\n @Inject(TOTS_TABLE_DEFAULT_CONFIG) private totsTableDefaultConfig : TotsTableDefaultConfig,\n ) {\n this.messageNotFound = this.totsTableDefaultConfig.messageNotFound ? this.totsTableDefaultConfig.messageNotFound : \"No results found, please try with other search terms\";\n this.matColor = this.totsTableDefaultConfig.matColor || \"primary\";\n this.upperPaginator = this.totsTableDefaultConfig.upperPaginator != undefined ? this.totsTableDefaultConfig.upperPaginator : false;\n this.lowerPaginator = this.totsTableDefaultConfig.lowerPaginator != undefined ? this.totsTableDefaultConfig.lowerPaginator : true;\n this.upperProgressBar = this.totsTableDefaultConfig.upperProgressBar != undefined ? this.totsTableDefaultConfig.upperProgressBar : false;\n this.lowerProgressBar = this.totsTableDefaultConfig.lowerProgressBar != undefined ? this.totsTableDefaultConfig.lowerProgressBar : true;\n }\n\n //#region Lifetime cycles\n ngOnInit(): void {\n this.loadConfig();\n this.loadItems(); \n }\n //#endregion\n\n loadConfig() {\n this.loadColumns();\n this.privateActions.subscribe(action => {\n this.onAction.emit(action);\n });\n }\n loadItems() {\n this.isLoading = true;\n return this.config.obs?.pipe(\n tap(res => {\n this.dataItems = res;\n this.onAction.emit({ key: 'loaded-items', item: res })\n })\n ).subscribe(()=> this.stopLoading());\n }\n\n private stopLoading() {\n this.isLoading = false;\n this.firstLoad = false;\n }\n //#endregion\n\n onClickOrder(column: TotsColumn) {\n if(!column.hasOrder){ return; }\n let orderColumn = column.order;\n this.config.columns.forEach(c => c.order = undefined);\n column.order = orderColumn == 'asc' ? 'desc' : 'asc';\n this.onAction.emit({ key: 'click-order', item: column });\n }\n\n onClickRow(item: any) {\n this.onAction.emit({ key: 'click-row', item: item });\n }\n\n onPageChange(event: PageEvent) {\n this.onAction.emit({ key: 'page-change', item: event });\n }\n\n loadColumns() {\n this.displayColumns = this.config.columns.filter(c => c.is_show || c.is_show == undefined).map(c => c.key);\n }\n\n getDataItems(): TotsListResponse<any> | undefined {\n return this.dataItems;\n }\n\n refreshDataItems(newData: TotsListResponse<any> | undefined) {\n this.dataItems = newData;\n }\n\n detectChanges() {\n this.changeDectetor.detectChanges();\n }\n}\n","<div class=\"tots-table-container {{config.classes}}\">\n\n\t<!-- #region Lower paginator -->\n\t@if (upperPaginator && dataItems && dataItems.data.length > 0 && hasPagination) {\n\t\t<mat-paginator\n\t\t\t[pageIndex]=\"pageIndex-1\"\n\t\t\t[length]=\"dataItems!.total\"\n\t\t\t[pageSize]=\"pageSize\"\n\t\t\t(page)=\"onPageChange($event)\"\n\t\t></mat-paginator>\n\t}\n\t<!-- #endregion -->\n\n\t<!-- #region Lower progress bar -->\n\t@if (upperProgressBar && !firstLoad) {\n\t\t<div class=\"tots-table-bar-loading upper\">\n\t\t\t@if (isLoading) {\n\t\t\t\t<mat-progress-bar [mode]=\"'indeterminate'\" [class]=\"matColor\"></mat-progress-bar>\n\t\t\t}\n\t\t</div>\n\t}\n\t<!-- #endregion -->\n\n\t<!-- #region Table -->\n\t<table mat-table [dataSource]=\"dataItems != undefined ? dataItems!.data : []\">\n\n\t\t@for (column of config.columns; track $index) {\n\t\t\t<ng-container [matColumnDef]=\"column.key\" [stickyEnd]=\"column.extra?.stickyEnd ?? false\">\n\n\t\t\t\t<th mat-header-cell *matHeaderCellDef [ngClass]=\"{'tots-tr-has-order': column.hasOrder}\" (click)=\"onClickOrder(column)\">\n\t\t\t\t\t{{ column.title }}\n\t\t\t\t\t<mat-icon [ngClass]=\"{'sort_active': column.order == 'asc'}\">arrow_drop_up</mat-icon>\n\t\t\t\t\t<mat-icon [ngClass]=\"{'sort_active': column.order == 'desc'}\">arrow_drop_down</mat-icon>\n\t\t\t\t</th>\n\n\t\t\t\t<td mat-cell *matCellDef=\"let item; let index = index;\" [ngStyle]=\"{'width': column.extra?.width ? column.extra.width : 'auto'}\"><tots-base-print-column [column]=\"column\" [item]=\"item\" [index]=\"index\" [onAction]=\"privateActions\"></tots-base-print-column></td>\n\t\t\t</ng-container>\n\t\t}\n\n\t\t<tr mat-header-row *matHeaderRowDef=\"displayColumns\"></tr>\n\t\t<tr mat-row *matRowDef=\"let row; columns: displayColumns;\" (click)=\"onClickRow(row)\" [class]=\"row.classCustom\" [ngClass]=\"{'tots-cell-selected': row.isSelected}\"></tr>\n\n\t\t<!-- Row shown when there is no matching data. -->\n\t\t@if (!isLoading) {\n\t\t\t<tr class=\"tots-table-not-data\" *matNoDataRow>\n\t\t\t\t<td class=\"mat-cell\" [colSpan]=\"config.columns.length\">\n\t\t\t\t\t{{ messageNotFound }}\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t}\n\t</table>\n\t<!-- #endregion -->\n\n\t<!-- #region First loading animation -->\n\t@if (isLoading && firstLoad) {\n\t\t<div class=\"tots-table-loading\">\n\t\t\t<tots-loading-animation-renderer></tots-loading-animation-renderer>\n\t\t</div>\n\t}\n\t<!-- #endregion -->\n\n\t<!-- #region Lower progress bar -->\n\t@if (lowerProgressBar && !firstLoad) {\n\t\t<div class=\"tots-table-bar-loading lower\">\n\t\t\t@if (isLoading) {\n\t\t\t\t<mat-progress-bar [mode]=\"'indeterminate'\" [class]=\"matColor\"></mat-progress-bar>\n\t\t\t}\n\t\t</div>\n\t}\n\t<!-- #endregion -->\n\n\t<!-- #region Lower paginator -->\n\t@if (lowerPaginator && dataItems && dataItems.data.length > 0 && hasPagination) {\n\t\t<mat-paginator [pageIndex]=\"pageIndex-1\" [length]=\"dataItems!.total\" [pageSize]=\"pageSize\" (page)=\"onPageChange($event)\"></mat-paginator>\n\t}\n\t<!-- #endregion -->\n</div>","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { TotsListResponse } from '@tots/core';\nimport { Observable } from 'rxjs';\nimport { TotsActionTable } from '../../entities/tots-action-table';\nimport { TotsTableApiConfig } from '../../entities/tots-table-api-config';\nimport { TotsTableConfig } from '../../entities/tots-table-config';\nimport { TotsTableComponent } from '../tots-table/tots-table.component';\n\n@Component({\n selector: 'tots-table-api',\n templateUrl: './tots-table-api.component.html',\n styleUrls: ['./tots-table-api.component.scss'],\n standalone: false\n})\nexport class TotsTableApiComponent implements OnInit {\n \n @ViewChild('tableComp') tableComp!: TotsTableComponent;\n\n @Input() config = new TotsTableApiConfig();\n @Input() hasPagination: boolean = true;\n @Input() isPaginationStartIndexInZero: boolean = false;\n\n @Output() onAction = new EventEmitter<TotsActionTable>();\n\n configTable = new TotsTableConfig();\n\n ngOnInit(): void {\n this.loadConfig();\n }\n\n onTableAction(action: TotsActionTable) {\n if(action.key == 'page-change'){\n this.config.query.per_page = action.item.pageSize;\n if(this.isPaginationStartIndexInZero){\n this.config.query.page = action.item.pageIndex;\n } else {\n this.config.query.page = action.item.pageIndex + 1;\n }\n this.configTable.obs = this.config.service.list(this.config.query);\n }\n\n this.onAction.emit(action);\n }\n\n loadConfig() {\n this.configTable.id = this.config.id;\n this.configTable.columns = this.config.columns;\n this.configTable.obs = this.config.service.list(this.config.query);\n this.configTable.classes = this.config.classes;\n }\n\n refreshQueryAndLoadItems() {\n this.configTable.obs = this.config.service.list(this.config.query);\n return this.loadItems();\n }\n\n loadItems() {\n return this.tableComp.loadItems();\n }\n\n getDataItems(): TotsListResponse<any> | undefined {\n return this.tableComp.getDataItems();\n }\n\n setObs(obs: Observable<TotsListResponse<any>>) {\n this.configTable.obs = obs;\n }\n}\n","<tots-table #tableComp [config]=\"configTable\" [pageIndex]=\"config.query.page\" [pageSize]=\"config.query.per_page\" (onAction)=\"onTableAction($event)\" [hasPagination]=\"hasPagination\"></tots-table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n/** Angular Material */\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTableModule } from '@angular/material/table';\nimport { MAT_PAGINATOR_DEFAULT_OPTIONS, MatPaginatorModule } from '@angular/material/paginator';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n/** Components */\nimport { TotsTableComponent } from './components/tots-table/tots-table.component';\nimport { TotsTableApiComponent } from './components/tots-table-api/tots-table-api.component';\n\n/** Columns */\nimport { BasePrintColumnComponent } from './columns/base-print-column/base-print-column.component';\nimport { StringColumnComponent } from './columns/string-column/string-column.component';\nimport { MoreMenuColumnComponent } from './columns/more-menu-column/more-menu-column.component';\nimport { BooleanColumnComponent } from './columns/boolean-column/boolean-column.component';\nimport { TwoStringColumnComponent } from './columns/two-string-column/two-string-column.component';\nimport { IconButtonColumnComponent } from './columns/icon-button-column/icon-button-column.component';\nimport { CheckboxColumnComponent } from './columns/checkbox-column/checkbox-column.component';\nimport { OptionColumnComponent } from './columns/option-column/option-column.component';\nimport { UserColumnComponent } from './columns/user-column/user-column.component';\nimport { CurrencyColumnComponent } from './columns/currency-column/currency-column.component';\nimport { StatusColumnComponent } from './columns/status-column/status-column.component';\nimport { BalanceCurrencyColumnComponent } from './columns/balance-currency-column/balance-currency-column.component';\nimport { StatusIconColumnComponent } from './columns/status-icon-column/status-icon-column.component';\nimport { BalanceCurrencyIconColumnComponent } from './columns/balance-currency-icon-column/balance-currency-icon-column.component';\nimport { TOTS_TABLE_DEFAULT_CONFIG, TotsTableDefaultConfig } from './entities/tots-table-default-config';\nimport { LoadingAnimationRendererComponent } from './components/loading-animation-renderer/loading-animation-renderer.component';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { LinkColumnComponent } from './columns/link-column/link-column.component';\nimport { NumberColumnComponent } from './columns/number-column/number-column.component';\n\n@NgModule({\n declarations: [\n TotsTableComponent,\n BasePrintColumnComponent,\n StringColumnComponent,\n TotsTableApiComponent,\n MoreMenuColumnComponent,\n BooleanColumnComponent,\n TwoStringColumnComponent,\n IconButtonColumnComponent,\n CheckboxColumnComponent,\n OptionColumnComponent,\n UserColumnComponent,\n CurrencyColumnComponent,\n StatusColumnComponent,\n BalanceCurrencyColumnComponent,\n StatusIconColumnComponent,\n BalanceCurrencyIconColumnComponent,\n LoadingAnimationRendererComponent,\n LinkColumnComponent,\n NumberColumnComponent\n ],\n imports: [\n CommonModule,\n // Angular Material\n MatIconModule,\n MatTableModule,\n MatPaginatorModule,\n MatButtonModule,\n MatMenuModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatProgressBarModule\n ],\n exports: [\n TotsTableComponent,\n TotsTableApiComponent\n ],\n providers: [\n {\n\t\t\tprovide: MAT_PAGINATOR_DEFAULT_OPTIONS,\n\t\t\tuseValue: {\n\t\t\t\tpageSizeOptions: [5, 10, 25, 50, 100]\n\t\t\t}\n\t\t},\n {\n provide: TOTS_TABLE_DEFAULT_CONFIG,\n useClass: TotsTableDefaultConfig\n }\n ]\n})\nexport class TotsTableModule { }\n","/*\n * Public API Surface of table\n */\n\n/**\n * Entities\n */\nexport * from './lib/entities/tots-column';\nexport * from './lib/entities/tots-table-config';\nexport * from './lib/entities/tots-table-default-config';\nexport * from './lib/entities/tots-action-table';\nexport * from './lib/entities/tots-table-api-config';\nexport * from './lib/entities/tots-column-option';\nexport * from './lib/entities/tots-more-menu-item';\nexport * from './lib/entities/tots-status-column-option';\nexport * from './lib/entities/tots-status-icon-column-option';\n\n/**\n * Helpers\n */\nexport * from './lib/helpers/tots-table-helper';\n\n/**\n * Columns\n */\nexport * from './lib/columns/tots-base-column.component';\nexport * from './lib/columns/balance-currency-column/balance-currency-column.component';\nexport * from './lib/columns/balance-currency-icon-column/balance-currency-icon-column.component';\nexport * from './lib/columns/boolean-column/boolean-column.component';\nexport * from './lib/columns/checkbox-column/checkbox-column.component';\nexport * from './lib/columns/currency-column/currency-column.component';\nexport * from './lib/columns/icon-button-column/icon-button-column.component';\nexport * from './lib/columns/link-column/link-column.component';\nexport * from './lib/columns/more-menu-column/more-menu-column.component';\nexport * from './lib/columns/number-column/number-column.component';\nexport * from './lib/columns/option-column/option-column.component';\nexport * from './lib/columns/status-column/status-column.component';\nexport * from './lib/columns/status-icon-column/status-icon-column.component';\nexport * from './lib/columns/string-column/string-column.component';\nexport * from './lib/columns/two-string-column/two-string-column.component';\nexport * from './lib/columns/user-column/user-column.component';\n\n/**\n * Factories\n */\nexport * from './lib/column-factories/tots-balance-column';\nexport * from './lib/column-factories/tots-balance-icon-column';\nexport * from './lib/column-factories/tots-boolean-column';\nexport * from './lib/column-factories/tots-checkbox-column';\nexport * from './lib/column-factories/tots-currency-column';\nexport * from './lib/column-factories/tots-icon-button-column';\nexport * from './lib/column-factories/tots-link-column';\nexport * from './lib/column-factories/tots-more-menu-column';\nexport * from './lib/column-factories/tots-number-column';\nexport * from './lib/column-factories/tots-option-column';\nexport * from './lib/column-factories/tots-status-column';\nexport * from './lib/column-factories/tots-status-icon-column';\nexport * from './lib/column-factories/tots-string-column';\nexport * from './lib/column-factories/tots-two-string-column';\nexport * from './lib/column-factories/tots-user-column';\n\n/**\n * Components\n */\nexport * from './lib/components/tots-table/tots-table.component';\nexport * from './lib/components/tots-table-api/tots-table-api.component';\n\n/**\n * Modules\n */\nexport * from './lib/table.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3","i6.BasePrintColumnComponent","i7.LoadingAnimationRendererComponent","i1.TotsTableComponent"],"mappings":"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"}