ng-tailwind 3.30.368 → 4.0.0

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 (197) hide show
  1. package/README.md +24 -24
  2. package/animations/ngt-angular-animations.d.ts +5 -5
  3. package/base/ngt-base-ng-model.d.ts +32 -32
  4. package/bundles/ng-tailwind.umd.js +7689 -7631
  5. package/bundles/ng-tailwind.umd.js.map +1 -1
  6. package/components/ngt-action/ngt-action.component.d.ts +13 -13
  7. package/components/ngt-action/ngt-action.module.d.ts +2 -2
  8. package/components/ngt-button/ngt-button.component.d.ts +22 -22
  9. package/components/ngt-button/ngt-button.module.d.ts +2 -2
  10. package/components/ngt-checkbox/ngt-checkbox.component.d.ts +41 -41
  11. package/components/ngt-checkbox/ngt-checkbox.module.d.ts +2 -2
  12. package/components/ngt-content/ngt-content.component.d.ts +9 -9
  13. package/components/ngt-content/ngt-content.module.d.ts +2 -2
  14. package/components/ngt-datatable/ngt-datatable.component.d.ts +114 -114
  15. package/components/ngt-datatable/ngt-datatable.module.d.ts +2 -2
  16. package/components/ngt-datatable/ngt-tbody/ngt-tbody.component.d.ts +11 -11
  17. package/components/ngt-datatable/ngt-td/ngt-td.component.d.ts +11 -11
  18. package/components/ngt-datatable/ngt-td-check/ngt-td-check.component.d.ts +26 -26
  19. package/components/ngt-datatable/ngt-th/ngt-th.component.d.ts +48 -48
  20. package/components/ngt-datatable/ngt-th-check/ngt-th-check.component.d.ts +19 -19
  21. package/components/ngt-datatable/ngt-thead/ngt-thead.component.d.ts +10 -10
  22. package/components/ngt-datatable/ngt-tr/ngt-tr.component.d.ts +17 -17
  23. package/components/ngt-date/ngt-date.component.d.ts +75 -75
  24. package/components/ngt-date/ngt-date.module.d.ts +2 -2
  25. package/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.d.ts +5 -5
  26. package/components/ngt-dropdown/ngt-dropdown.component.d.ts +48 -48
  27. package/components/ngt-dropdown/ngt-dropdown.module.d.ts +2 -2
  28. package/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.d.ts +11 -11
  29. package/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.d.ts +22 -22
  30. package/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.d.ts +21 -21
  31. package/components/ngt-dropzone/ngt-dropzone.component.d.ts +108 -108
  32. package/components/ngt-dropzone/ngt-dropzone.module.d.ts +2 -2
  33. package/components/ngt-floating-button/ngt-floating-button.component.d.ts +32 -32
  34. package/components/ngt-floating-button/ngt-floating-button.module.d.ts +2 -2
  35. package/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.d.ts +7 -7
  36. package/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.module.d.ts +2 -2
  37. package/components/ngt-form/ngt-form.component.d.ts +52 -52
  38. package/components/ngt-form/ngt-form.module.d.ts +2 -2
  39. package/components/ngt-header-nav/ngt-header-nav.component.d.ts +11 -11
  40. package/components/ngt-header-nav/ngt-header-nav.module.d.ts +2 -2
  41. package/components/ngt-helper/ngt-helper.component.d.ts +20 -20
  42. package/components/ngt-helper/ngt-helper.module.d.ts +2 -2
  43. package/components/ngt-input/ngt-input.component.d.ts +116 -116
  44. package/components/ngt-input/ngt-input.module.d.ts +2 -2
  45. package/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.d.ts +2 -2
  46. package/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.d.ts +2 -2
  47. package/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.d.ts +12 -12
  48. package/components/ngt-modal/ngt-modal.component.d.ts +19 -19
  49. package/components/ngt-modal/ngt-modal.module.d.ts +2 -2
  50. package/components/ngt-multi-select/ngt-multi-select.component.d.ts +97 -97
  51. package/components/ngt-multi-select/ngt-multi-select.module.d.ts +2 -2
  52. package/components/ngt-pagination/ngt-pagination.component.d.ts +40 -40
  53. package/components/ngt-pagination/ngt-pagination.module.d.ts +2 -2
  54. package/components/ngt-popover/ngt-popover.component.d.ts +28 -28
  55. package/components/ngt-popover/ngt-popover.module.d.ts +2 -2
  56. package/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.d.ts +9 -9
  57. package/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.d.ts +9 -9
  58. package/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.d.ts +14 -14
  59. package/components/ngt-portlet/ngt-portlet.component.d.ts +17 -17
  60. package/components/ngt-portlet/ngt-portlet.module.d.ts +2 -2
  61. package/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.d.ts +6 -6
  62. package/components/ngt-radio-button/ngt-radio-button.component.d.ts +32 -32
  63. package/components/ngt-radio-button/ngt-radio-button.module.d.ts +2 -2
  64. package/components/ngt-section/ngt-section.component.d.ts +26 -26
  65. package/components/ngt-section/ngt-section.module.d.ts +2 -2
  66. package/components/ngt-select/ngt-select.component.d.ts +131 -131
  67. package/components/ngt-select/ngt-select.directive.d.ts +13 -13
  68. package/components/ngt-select/ngt-select.module.d.ts +2 -2
  69. package/components/ngt-shining/ngt-shining.component.d.ts +16 -16
  70. package/components/ngt-shining/ngt-shining.module.d.ts +2 -2
  71. package/components/ngt-sidenav/ngt-sidenav.component.d.ts +29 -29
  72. package/components/ngt-sidenav/ngt-sidenav.module.d.ts +2 -2
  73. package/components/ngt-slider/ngt-slider.component.d.ts +31 -31
  74. package/components/ngt-slider/ngt-slider.module.d.ts +2 -2
  75. package/components/ngt-svg/ngt-svg.component.d.ts +10 -10
  76. package/components/ngt-svg/ngt-svg.module.d.ts +2 -2
  77. package/components/ngt-tag/ngt-tag.component.d.ts +10 -10
  78. package/components/ngt-tag/ngt-tag.module.d.ts +2 -2
  79. package/components/ngt-textarea/ngt-textarea.component.d.ts +46 -46
  80. package/components/ngt-textarea/ngt-textarea.module.d.ts +2 -2
  81. package/components/ngt-validation/ngt-validation.component.d.ts +10 -10
  82. package/components/ngt-validation/ngt-validation.module.d.ts +2 -2
  83. package/directives/ngt-stylizable/ngt-stylizable.directive.d.ts +65 -65
  84. package/directives/ngt-stylizable/ngt-stylizable.module.d.ts +2 -2
  85. package/enums/size.enum.d.ts +8 -8
  86. package/esm2015/animations/ngt-angular-animations.js +34 -34
  87. package/esm2015/base/ngt-base-ng-model.js +90 -90
  88. package/esm2015/components/ngt-action/ngt-action.component.js +49 -49
  89. package/esm2015/components/ngt-action/ngt-action.module.js +19 -19
  90. package/esm2015/components/ngt-button/ngt-button.component.js +106 -106
  91. package/esm2015/components/ngt-button/ngt-button.module.js +19 -19
  92. package/esm2015/components/ngt-checkbox/ngt-checkbox.component.js +139 -139
  93. package/esm2015/components/ngt-checkbox/ngt-checkbox.module.js +19 -19
  94. package/esm2015/components/ngt-content/ngt-content.component.js +33 -33
  95. package/esm2015/components/ngt-content/ngt-content.module.js +15 -15
  96. package/esm2015/components/ngt-datatable/ngt-datatable.component.js +409 -409
  97. package/esm2015/components/ngt-datatable/ngt-datatable.module.js +58 -58
  98. package/esm2015/components/ngt-datatable/ngt-tbody/ngt-tbody.component.js +58 -58
  99. package/esm2015/components/ngt-datatable/ngt-td/ngt-td.component.js +63 -63
  100. package/esm2015/components/ngt-datatable/ngt-td-check/ngt-td-check.component.js +105 -105
  101. package/esm2015/components/ngt-datatable/ngt-th/ngt-th.component.js +195 -195
  102. package/esm2015/components/ngt-datatable/ngt-th-check/ngt-th-check.component.js +87 -87
  103. package/esm2015/components/ngt-datatable/ngt-thead/ngt-thead.component.js +56 -56
  104. package/esm2015/components/ngt-datatable/ngt-tr/ngt-tr.component.js +76 -76
  105. package/esm2015/components/ngt-date/ngt-date.component.js +380 -380
  106. package/esm2015/components/ngt-date/ngt-date.module.js +25 -25
  107. package/esm2015/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.js +20 -20
  108. package/esm2015/components/ngt-dropdown/ngt-dropdown.component.js +185 -185
  109. package/esm2015/components/ngt-dropdown/ngt-dropdown.module.js +16 -16
  110. package/esm2015/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.js +50 -50
  111. package/esm2015/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.js +59 -59
  112. package/esm2015/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.js +67 -67
  113. package/esm2015/components/ngt-dropzone/ngt-dropzone.component.js +434 -434
  114. package/esm2015/components/ngt-dropzone/ngt-dropzone.module.js +37 -37
  115. package/esm2015/components/ngt-floating-button/ngt-floating-button.component.js +94 -94
  116. package/esm2015/components/ngt-floating-button/ngt-floating-button.module.js +19 -19
  117. package/esm2015/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.js +23 -23
  118. package/esm2015/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.module.js +15 -15
  119. package/esm2015/components/ngt-form/ngt-form.component.js +181 -181
  120. package/esm2015/components/ngt-form/ngt-form.module.js +17 -17
  121. package/esm2015/components/ngt-header-nav/ngt-header-nav.component.js +38 -38
  122. package/esm2015/components/ngt-header-nav/ngt-header-nav.module.js +15 -15
  123. package/esm2015/components/ngt-helper/ngt-helper.component.js +51 -51
  124. package/esm2015/components/ngt-helper/ngt-helper.module.js +19 -19
  125. package/esm2015/components/ngt-input/ngt-input.component.js +680 -680
  126. package/esm2015/components/ngt-input/ngt-input.module.js +28 -28
  127. package/esm2015/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.js +11 -11
  128. package/esm2015/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.js +11 -11
  129. package/esm2015/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.js +40 -40
  130. package/esm2015/components/ngt-modal/ngt-modal.component.js +79 -79
  131. package/esm2015/components/ngt-modal/ngt-modal.module.js +28 -28
  132. package/esm2015/components/ngt-multi-select/ngt-multi-select.component.js +394 -394
  133. package/esm2015/components/ngt-multi-select/ngt-multi-select.module.js +33 -33
  134. package/esm2015/components/ngt-pagination/ngt-pagination.component.js +172 -172
  135. package/esm2015/components/ngt-pagination/ngt-pagination.module.js +23 -23
  136. package/esm2015/components/ngt-popover/ngt-popover.component.js +73 -73
  137. package/esm2015/components/ngt-popover/ngt-popover.module.js +17 -17
  138. package/esm2015/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.js +34 -34
  139. package/esm2015/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.js +33 -33
  140. package/esm2015/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.js +47 -47
  141. package/esm2015/components/ngt-portlet/ngt-portlet.component.js +58 -58
  142. package/esm2015/components/ngt-portlet/ngt-portlet.module.js +32 -32
  143. package/esm2015/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.js +19 -19
  144. package/esm2015/components/ngt-radio-button/ngt-radio-button.component.js +103 -103
  145. package/esm2015/components/ngt-radio-button/ngt-radio-button.module.js +20 -20
  146. package/esm2015/components/ngt-section/ngt-section.component.js +101 -101
  147. package/esm2015/components/ngt-section/ngt-section.module.js +21 -21
  148. package/esm2015/components/ngt-select/ngt-select.component.js +488 -488
  149. package/esm2015/components/ngt-select/ngt-select.directive.js +35 -35
  150. package/esm2015/components/ngt-select/ngt-select.module.js +40 -40
  151. package/esm2015/components/ngt-shining/ngt-shining.component.js +41 -41
  152. package/esm2015/components/ngt-shining/ngt-shining.module.js +15 -15
  153. package/esm2015/components/ngt-sidenav/ngt-sidenav.component.js +123 -123
  154. package/esm2015/components/ngt-sidenav/ngt-sidenav.module.js +15 -15
  155. package/esm2015/components/ngt-slider/ngt-slider.component.js +82 -82
  156. package/esm2015/components/ngt-slider/ngt-slider.module.js +17 -17
  157. package/esm2015/components/ngt-svg/ngt-svg.component.js +52 -52
  158. package/esm2015/components/ngt-svg/ngt-svg.module.js +19 -19
  159. package/esm2015/components/ngt-tag/ngt-tag.component.js +36 -36
  160. package/esm2015/components/ngt-tag/ngt-tag.module.js +17 -17
  161. package/esm2015/components/ngt-textarea/ngt-textarea.component.js +210 -210
  162. package/esm2015/components/ngt-textarea/ngt-textarea.module.js +26 -26
  163. package/esm2015/components/ngt-validation/ngt-validation.component.js +24 -24
  164. package/esm2015/components/ngt-validation/ngt-validation.module.js +15 -15
  165. package/esm2015/directives/ngt-stylizable/ngt-stylizable.directive.js +227 -227
  166. package/esm2015/directives/ngt-stylizable/ngt-stylizable.module.js +15 -15
  167. package/esm2015/enums/size.enum.js +11 -11
  168. package/esm2015/helpers/enum/enum.js +7 -7
  169. package/esm2015/helpers/form/form.js +14 -14
  170. package/esm2015/helpers/routing/route.js +11 -11
  171. package/esm2015/helpers/uuid.js +10 -10
  172. package/esm2015/ng-tailwind.js +10 -10
  173. package/esm2015/public-api.js +120 -120
  174. package/esm2015/services/http/ngt-attachment-http.service.js +3 -3
  175. package/esm2015/services/http/ngt-http-form.service.js +3 -3
  176. package/esm2015/services/http/ngt-http-resource.service.js +3 -3
  177. package/esm2015/services/http/ngt-http-validation.service.js +3 -3
  178. package/esm2015/services/http/ngt-http.service.js +3 -3
  179. package/esm2015/services/http/ngt-translate.service.js +3 -3
  180. package/esm2015/services/ngt-stylizable/ngt-stylizable.service.js +273 -273
  181. package/fesm2015/ng-tailwind.js +6690 -6690
  182. package/fesm2015/ng-tailwind.js.map +1 -1
  183. package/helpers/enum/enum.d.ts +1 -1
  184. package/helpers/form/form.d.ts +4 -4
  185. package/helpers/routing/route.d.ts +2 -2
  186. package/helpers/uuid.d.ts +1 -1
  187. package/ng-tailwind.d.ts +10 -10
  188. package/ng-tailwind.metadata.json +1 -1
  189. package/package.json +2 -2
  190. package/public-api.d.ts +82 -82
  191. package/services/http/ngt-attachment-http.service.d.ts +10 -10
  192. package/services/http/ngt-http-form.service.d.ts +5 -5
  193. package/services/http/ngt-http-resource.service.d.ts +12 -12
  194. package/services/http/ngt-http-validation.service.d.ts +11 -11
  195. package/services/http/ngt-http.service.d.ts +27 -27
  196. package/services/http/ngt-translate.service.d.ts +29 -29
  197. package/services/ngt-stylizable/ngt-stylizable.service.d.ts +96 -96
@@ -1,33 +1,33 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';
5
- import { NgtCheckboxModule } from '../ngt-checkbox/ngt-checkbox.module';
6
- import { NgtHelperModule } from '../ngt-helper/ngt-helper.module';
7
- import { NgtInputModule } from '../ngt-input/ngt-input.module';
8
- import { NgtShiningModule } from '../ngt-shining/ngt-shining.module';
9
- import { NgtValidationModule } from '../ngt-validation/ngt-validation.module';
10
- import { NgtMultiSelectComponent } from './ngt-multi-select.component';
11
- export class NgtMultiSelectModule {
12
- }
13
- NgtMultiSelectModule.decorators = [
14
- { type: NgModule, args: [{
15
- declarations: [
16
- NgtMultiSelectComponent
17
- ],
18
- exports: [
19
- NgtMultiSelectComponent
20
- ],
21
- imports: [
22
- CommonModule,
23
- FormsModule,
24
- NgtValidationModule,
25
- NgtShiningModule,
26
- NgtHelperModule,
27
- NgtInputModule,
28
- NgtCheckboxModule,
29
- NgtStylizableModule
30
- ]
31
- },] }
32
- ];
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LW11bHRpLXNlbGVjdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtbXVsdGktc2VsZWN0L25ndC1tdWx0aS1zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBb0J2RSxNQUFNLE9BQU8sb0JBQW9COzs7WUFsQmhDLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUU7b0JBQ1YsdUJBQXVCO2lCQUMxQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsdUJBQXVCO2lCQUMxQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLGNBQWM7b0JBQ2QsaUJBQWlCO29CQUNqQixtQkFBbUI7aUJBQ3RCO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IE5ndFN0eWxpemFibGVNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5ndENoZWNrYm94TW9kdWxlIH0gZnJvbSAnLi4vbmd0LWNoZWNrYm94L25ndC1jaGVja2JveC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBOZ3RIZWxwZXJNb2R1bGUgfSBmcm9tICcuLi9uZ3QtaGVscGVyL25ndC1oZWxwZXIubW9kdWxlJztcclxuaW1wb3J0IHsgTmd0SW5wdXRNb2R1bGUgfSBmcm9tICcuLi9uZ3QtaW5wdXQvbmd0LWlucHV0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IE5ndFNoaW5pbmdNb2R1bGUgfSBmcm9tICcuLi9uZ3Qtc2hpbmluZy9uZ3Qtc2hpbmluZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBOZ3RWYWxpZGF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vbmd0LXZhbGlkYXRpb24vbmd0LXZhbGlkYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgTmd0TXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL25ndC1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBOZ3RNdWx0aVNlbGVjdENvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBOZ3RNdWx0aVNlbGVjdENvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgTmd0VmFsaWRhdGlvbk1vZHVsZSxcclxuICAgICAgICBOZ3RTaGluaW5nTW9kdWxlLFxyXG4gICAgICAgIE5ndEhlbHBlck1vZHVsZSxcclxuICAgICAgICBOZ3RJbnB1dE1vZHVsZSxcclxuICAgICAgICBOZ3RDaGVja2JveE1vZHVsZSxcclxuICAgICAgICBOZ3RTdHlsaXphYmxlTW9kdWxlXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3RNdWx0aVNlbGVjdE1vZHVsZSB7IH1cclxuIl19
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';
5
+ import { NgtCheckboxModule } from '../ngt-checkbox/ngt-checkbox.module';
6
+ import { NgtHelperModule } from '../ngt-helper/ngt-helper.module';
7
+ import { NgtInputModule } from '../ngt-input/ngt-input.module';
8
+ import { NgtShiningModule } from '../ngt-shining/ngt-shining.module';
9
+ import { NgtValidationModule } from '../ngt-validation/ngt-validation.module';
10
+ import { NgtMultiSelectComponent } from './ngt-multi-select.component';
11
+ export class NgtMultiSelectModule {
12
+ }
13
+ NgtMultiSelectModule.decorators = [
14
+ { type: NgModule, args: [{
15
+ declarations: [
16
+ NgtMultiSelectComponent
17
+ ],
18
+ exports: [
19
+ NgtMultiSelectComponent
20
+ ],
21
+ imports: [
22
+ CommonModule,
23
+ FormsModule,
24
+ NgtValidationModule,
25
+ NgtShiningModule,
26
+ NgtHelperModule,
27
+ NgtInputModule,
28
+ NgtCheckboxModule,
29
+ NgtStylizableModule
30
+ ]
31
+ },] }
32
+ ];
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LW11bHRpLXNlbGVjdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtbXVsdGktc2VsZWN0L25ndC1tdWx0aS1zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBb0J2RSxNQUFNLE9BQU8sb0JBQW9COzs7WUFsQmhDLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUU7b0JBQ1YsdUJBQXVCO2lCQUMxQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsdUJBQXVCO2lCQUMxQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLGNBQWM7b0JBQ2QsaUJBQWlCO29CQUNqQixtQkFBbUI7aUJBQ3RCO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHsgTmd0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICcuLi9uZ3QtY2hlY2tib3gvbmd0LWNoZWNrYm94Lm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3RIZWxwZXJNb2R1bGUgfSBmcm9tICcuLi9uZ3QtaGVscGVyL25ndC1oZWxwZXIubW9kdWxlJztcbmltcG9ydCB7IE5ndElucHV0TW9kdWxlIH0gZnJvbSAnLi4vbmd0LWlucHV0L25ndC1pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgTmd0U2hpbmluZ01vZHVsZSB9IGZyb20gJy4uL25ndC1zaGluaW5nL25ndC1zaGluaW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3RWYWxpZGF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vbmd0LXZhbGlkYXRpb24vbmd0LXZhbGlkYXRpb24ubW9kdWxlJztcbmltcG9ydCB7IE5ndE11bHRpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9uZ3QtbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE5ndE11bHRpU2VsZWN0Q29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE5ndE11bHRpU2VsZWN0Q29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE5ndFZhbGlkYXRpb25Nb2R1bGUsXG4gICAgICAgIE5ndFNoaW5pbmdNb2R1bGUsXG4gICAgICAgIE5ndEhlbHBlck1vZHVsZSxcbiAgICAgICAgTmd0SW5wdXRNb2R1bGUsXG4gICAgICAgIE5ndENoZWNrYm94TW9kdWxlLFxuICAgICAgICBOZ3RTdHlsaXphYmxlTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3RNdWx0aVNlbGVjdE1vZHVsZSB7IH1cbiJdfQ==
@@ -1,172 +1,172 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, EventEmitter, Injector, Input, Optional, Output } from '@angular/core';
3
- import { NgtTranslateService } from '../../services/http/ngt-translate.service';
4
- import { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';
5
- export class NgtPaginationComponent {
6
- constructor(injector, ngtTranslateService) {
7
- this.injector = injector;
8
- this.ngtTranslateService = ngtTranslateService;
9
- this.onPageChange = new EventEmitter();
10
- this.onPerPageChange = new EventEmitter();
11
- this.displayPagination = true;
12
- this.pagination = {
13
- count: null,
14
- page: 1,
15
- pages: null,
16
- total: null,
17
- from: null,
18
- to: null,
19
- per_page: null
20
- };
21
- this.pages = [];
22
- this.registersPerPageOptions = [
23
- 5, 10, 15, 30, 50, 100
24
- ];
25
- this.currentRegistersPerPage = 15;
26
- this.ngtPaginationNextPreviousButtonStyle = new NgtStylizableService();
27
- this.ngtPaginationNextPreviousSectionButtonStyle = new NgtStylizableService();
28
- this.ngtPaginationFirstLastButtonStyle = new NgtStylizableService();
29
- this.ngtPaginationActivePageButtonStyle = new NgtStylizableService();
30
- this.ngtPaginationPageButtonStyle = new NgtStylizableService();
31
- this.ngtPaginationNextPreviousButtonStyle.load(this.injector, 'NgtPaginationNextPreviousButton', {
32
- h: 'h-8',
33
- w: 'w-8',
34
- color: {
35
- text: 'text-white',
36
- bg: 'bg-gray-700'
37
- }
38
- });
39
- this.ngtPaginationNextPreviousSectionButtonStyle.load(this.injector, 'NgtPaginationNextPreviousButton', {
40
- h: 'h-8',
41
- w: 'w-8',
42
- color: {
43
- text: 'text-white',
44
- bg: 'bg-gray-300'
45
- }
46
- });
47
- this.ngtPaginationFirstLastButtonStyle.load(this.injector, 'NgtPaginationFirstLastButton', {
48
- h: 'h-8',
49
- w: 'w-8',
50
- color: {
51
- text: 'text-white',
52
- bg: 'bg-gray-900'
53
- }
54
- });
55
- this.ngtPaginationActivePageButtonStyle.load(this.injector, 'NgtPaginationActivePageButton', {
56
- h: 'h-8',
57
- w: 'w-8',
58
- color: {
59
- text: 'text-white',
60
- bg: 'bg-gray-500'
61
- }
62
- });
63
- this.ngtPaginationPageButtonStyle.load(this.injector, 'NgtPaginationPageButton', {
64
- h: 'h-8',
65
- w: 'w-8',
66
- color: {
67
- text: 'text-white',
68
- bg: 'bg-gray-300'
69
- }
70
- });
71
- }
72
- onRegistersPerPageChange(value) {
73
- if (value && this.pagination.per_page != value) {
74
- this.pagination.per_page = value;
75
- this.currentRegistersPerPage = value;
76
- this.onPerPageChange.emit(value);
77
- }
78
- }
79
- goToPage(page) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- this.onPageChange.emit(page);
82
- });
83
- }
84
- goToPreviousPage() {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- if ((this.pagination.page - 1) > 0) {
87
- return this.goToPage(this.pagination.page - 1);
88
- }
89
- });
90
- }
91
- goToNextPage() {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- if ((this.pagination.page + 1) <= this.pagination.pages) {
94
- return this.goToPage(this.pagination.page + 1);
95
- }
96
- });
97
- }
98
- goToPreviousSection() {
99
- return __awaiter(this, void 0, void 0, function* () {
100
- return this.goToPage(this.sectionStartPage - 1);
101
- });
102
- }
103
- goToNextSection() {
104
- return __awaiter(this, void 0, void 0, function* () {
105
- return this.goToPage(this.sectionEndPage + 1);
106
- });
107
- }
108
- goToFirstPage() {
109
- return __awaiter(this, void 0, void 0, function* () {
110
- if (this.pagination.page != 1) {
111
- return this.goToPage(1);
112
- }
113
- });
114
- }
115
- goToLastPage() {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- if (this.pagination.page != this.pagination.pages) {
118
- return this.goToPage(this.pagination.pages);
119
- }
120
- });
121
- }
122
- getCurrentPage() {
123
- return this.pagination.page;
124
- }
125
- getPagination() {
126
- return this.pagination;
127
- }
128
- proccessPagination(meta) {
129
- this.pages = [];
130
- this.pagination = meta.pagination;
131
- this.sectionStartPage = Math.floor((this.pagination.page - 1) / this.pagesInterval) * this.pagesInterval + 1;
132
- this.sectionEndPage = this.sectionStartPage + (this.pagesInterval - 1);
133
- const totalPages = this.pagination.pages;
134
- for (let i = this.sectionStartPage; i <= this.sectionEndPage && i <= totalPages; i++) {
135
- this.pages.push(i);
136
- }
137
- this.bindDisplayedButtonSections(this.sectionStartPage, this.sectionEndPage, totalPages);
138
- this.displayPagination = true;
139
- }
140
- resetPagination() {
141
- this.pagination = {
142
- count: null,
143
- page: 1,
144
- pages: null,
145
- total: null,
146
- from: null,
147
- to: null,
148
- per_page: null
149
- };
150
- }
151
- bindDisplayedButtonSections(sectionStartPage, sectionEndPage, totalPages) {
152
- this.displayPreviousSectionButton = sectionStartPage > 1 ? true : false;
153
- this.displayNextSectionButton = sectionEndPage < totalPages ? true : false;
154
- }
155
- }
156
- NgtPaginationComponent.decorators = [
157
- { type: Component, args: [{
158
- selector: 'ngt-pagination',
159
- template: "<div class=\"{{ displayPagination ? 'flex' : 'hidden' }} items-center w-full h-full relative\">\r\n <ul class=\"flex justify-start\">\r\n <!-- FIRST -->\r\n <li (click)='goToFirstPage()' class=\"mr-2\">\r\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle'>\r\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n aria-hidden=\"true\" focusable=\"false\"\r\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\r\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\r\n <path\r\n d=\"M18.41 7.41L17 6l-6 6l6 6l1.41-1.41L13.83 12l4.58-4.59m-6 0L11 6l-6 6l6 6l1.41-1.41L7.83 12l4.58-4.59z\" />\r\n </svg>\r\n </ngt-action>\r\n </li>\r\n\r\n <!-- PREVIOUS -->\r\n <li (click)='goToPreviousPage()' class=\"mr-2\">\r\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle'>\r\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\r\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\r\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\r\n <path d=\"M15.41 16.58L10.83 12l4.58-4.59L14 6l-6 6l6 6l1.41-1.42z\" />\r\n </svg>\r\n </ngt-action>\r\n </li>\r\n\r\n <!-- PREVIOUS SECTION -->\r\n <li *ngIf=\"displayPreviousSectionButton\" (click)='goToPreviousSection()' class=\"mr-2\">\r\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle'>\r\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\r\n <path\r\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\r\n </svg>\r\n </ngt-action>\r\n </li>\r\n\r\n <ng-container *ngFor='let page of pages'>\r\n <ng-container *ngIf='page == pagination.page'>\r\n <li class=\"mr-2\">\r\n <ngt-action [ngtStyle]='ngtPaginationActivePageButtonStyle'>\r\n {{ page }}\r\n </ngt-action>\r\n </li>\r\n </ng-container>\r\n\r\n <ng-container *ngIf='page !== pagination.page'>\r\n <li (click)='goToPage(page)' class=\"mr-2\">\r\n <ngt-action [ngtStyle]='ngtPaginationPageButtonStyle'>\r\n {{ page }}\r\n </ngt-action>\r\n </li>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n <!-- NEXT SECTION -->\r\n <li *ngIf=\"displayNextSectionButton\" (click)='goToNextSection()' class=\"mr-2\">\r\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle'>\r\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\r\n <path\r\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\r\n </svg>\r\n </ngt-action>\r\n </li>\r\n\r\n <!-- NEXT -->\r\n <li (click)='goToNextPage()' class=\"mr-2\">\r\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle'>\r\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\r\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\r\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\r\n <path d=\"M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6l-1.41-1.42z\" />\r\n </svg>\r\n </ngt-action>\r\n </li>\r\n\r\n <!-- LAST -->\r\n <li (click)='goToLastPage()' class=\"mr-2\">\r\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle'>\r\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n aria-hidden=\"true\" focusable=\"false\"\r\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\r\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\r\n <path\r\n d=\"M5.59 7.41L7 6l6 6l-6 6l-1.41-1.41L10.17 12L5.59 7.41m6 0L13 6l6 6l-6 6l-1.41-1.41L16.17 12l-4.58-4.59z\" />\r\n </svg>\r\n </ngt-action>\r\n </li>\r\n </ul>\r\n\r\n <!-- REGISTERS PER PAGE -->\r\n <div class=\"flex items-center w-auto absolute right-0\">\r\n <ngt-select class='block w-20 left-0' [searchable]='false' [clearable]='false' dropdownPosition='top'\r\n [items]='registersPerPageOptions' name='registersPerPageSelect' [(ngModel)]=\"currentRegistersPerPage\"\r\n h='h-auto' (ngModelChange)='onRegistersPerPageChange($event)' ngt-stylizable>\r\n <ng-template let-item=\"item\" let-index=\"index\" ngt-select-option>\r\n {{ item ? item : '' }}\r\n </ng-template>\r\n </ngt-select>\r\n\r\n <P class=\"ml-2\">\r\n {{ ngtTranslateService.ngtPagination(pagination.from, pagination.to, pagination.total) }}\r\n </P>\r\n </div>\r\n</div>",
160
- styles: [""]
161
- },] }
162
- ];
163
- NgtPaginationComponent.ctorParameters = () => [
164
- { type: Injector },
165
- { type: NgtTranslateService, decorators: [{ type: Optional }] }
166
- ];
167
- NgtPaginationComponent.propDecorators = {
168
- pagesInterval: [{ type: Input }],
169
- onPageChange: [{ type: Output }],
170
- onPerPageChange: [{ type: Output }]
171
- };
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXBhZ2luYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXBhZ2luYXRpb24vbmd0LXBhZ2luYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFPNUYsTUFBTSxPQUFPLHNCQUFzQjtJQXFDL0IsWUFDWSxRQUFrQixFQUVuQixtQkFBd0M7UUFGdkMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUVuQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBckNsQyxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hELG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFhckUsc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBRWxDLGVBQVUsR0FBc0I7WUFDbkMsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsQ0FBQztZQUNQLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsSUFBSTtZQUNWLEVBQUUsRUFBRSxJQUFJO1lBQ1IsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQztRQUVLLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCw0QkFBdUIsR0FBRztZQUM3QixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUc7U0FDekIsQ0FBQztRQUVLLDRCQUF1QixHQUFXLEVBQUUs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Q0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQy9FLENBQUM7OztZQXhMSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsMGpMQUE4Qzs7YUFFakQ7OztZQVZpQyxRQUFRO1lBR2pDLG1CQUFtQix1QkErQ25CLFFBQVE7Ozs0QkF0Q1osS0FBSzsyQkFFTCxNQUFNOzhCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBOZ3RIdHRwTWV0YSwgTmd0SHR0cFBhZ2luYXRpb24gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwL25ndC1odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ3RUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC9uZ3QtdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ25ndC1wYWdpbmF0aW9uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZ3QtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9uZ3QtcGFnaW5hdGlvbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE5ndFBhZ2luYXRpb25Db21wb25lbnQge1xyXG4gICAgQElucHV0KCkgcHVibGljIHBhZ2VzSW50ZXJ2YWw6IG51bWJlcjtcclxuXHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uUGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uUGVyUGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgLyoqIFN0eWxlcyAqL1xyXG4gICAgcHVibGljIG5ndFBhZ2luYXRpb25BY3RpdmVQYWdlQnV0dG9uU3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xyXG4gICAgcHVibGljIG5ndFBhZ2luYXRpb25OZXh0UHJldmlvdXNCdXR0b25TdHlsZTogTmd0U3R5bGl6YWJsZVNlcnZpY2U7XHJcbiAgICBwdWJsaWMgbmd0UGFnaW5hdGlvbk5leHRQcmV2aW91c1NlY3Rpb25CdXR0b25TdHlsZTogTmd0U3R5bGl6YWJsZVNlcnZpY2U7XHJcbiAgICBwdWJsaWMgbmd0UGFnaW5hdGlvbkZpcnN0TGFzdEJ1dHRvblN0eWxlOiBOZ3RTdHlsaXphYmxlU2VydmljZTtcclxuICAgIHB1YmxpYyBuZ3RQYWdpbmF0aW9uUGFnZUJ1dHRvblN0eWxlOiBOZ3RTdHlsaXphYmxlU2VydmljZTtcclxuXHJcbiAgICBwdWJsaWMgc2VjdGlvblN0YXJ0UGFnZTogbnVtYmVyO1xyXG4gICAgcHVibGljIHNlY3Rpb25FbmRQYWdlOiBudW1iZXI7XHJcbiAgICBwdWJsaWMgZGlzcGxheU5leHRTZWN0aW9uQnV0dG9uOiBib29sZWFuO1xyXG4gICAgcHVibGljIGRpc3BsYXlQcmV2aW91c1NlY3Rpb25CdXR0b246IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgZGlzcGxheVBhZ2luYXRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIHB1YmxpYyBwYWdpbmF0aW9uOiBOZ3RIdHRwUGFnaW5hdGlvbiA9IHtcclxuICAgICAgICBjb3VudDogbnVsbCxcclxuICAgICAgICBwYWdlOiAxLFxyXG4gICAgICAgIHBhZ2VzOiBudWxsLFxyXG4gICAgICAgIHRvdGFsOiBudWxsLFxyXG4gICAgICAgIGZyb206IG51bGwsXHJcbiAgICAgICAgdG86IG51bGwsXHJcbiAgICAgICAgcGVyX3BhZ2U6IG51bGxcclxuICAgIH07XHJcblxyXG4gICAgcHVibGljIHBhZ2VzID0gW107XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyc1BlclBhZ2VPcHRpb25zID0gW1xyXG4gICAgICAgIDUsIDEwLCAxNSwgMzAsIDUwLCAxMDBcclxuICAgIF07XHJcblxyXG4gICAgcHVibGljIGN1cnJlbnRSZWdpc3RlcnNQZXJQYWdlOiBudW1iZXIgPSAxNTtcclxuXHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgQE9wdGlvbmFsKClcclxuICAgICAgICBwdWJsaWMgbmd0VHJhbnNsYXRlU2VydmljZTogTmd0VHJhbnNsYXRlU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5uZ3RQYWdpbmF0aW9uTmV4dFByZXZpb3VzQnV0dG9uU3R5bGUgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcclxuICAgICAgICB0aGlzLm5ndFBhZ2luYXRpb25OZXh0UHJldmlvdXNTZWN0aW9uQnV0dG9uU3R5bGUgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcclxuICAgICAgICB0aGlzLm5ndFBhZ2luYXRpb25GaXJzdExhc3RCdXR0b25TdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xyXG4gICAgICAgIHRoaXMubmd0UGFnaW5hdGlvbkFjdGl2ZVBhZ2VCdXR0b25TdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xyXG4gICAgICAgIHRoaXMubmd0UGFnaW5hdGlvblBhZ2VCdXR0b25TdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xyXG5cclxuICAgICAgICB0aGlzLm5ndFBhZ2luYXRpb25OZXh0UHJldmlvdXNCdXR0b25TdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RQYWdpbmF0aW9uTmV4dFByZXZpb3VzQnV0dG9uJywge1xyXG4gICAgICAgICAgICBoOiAnaC04JyxcclxuICAgICAgICAgICAgdzogJ3ctOCcsXHJcbiAgICAgICAgICAgIGNvbG9yOiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZScsXHJcbiAgICAgICAgICAgICAgICBiZzogJ2JnLWdyYXktNzAwJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMubmd0UGFnaW5hdGlvbk5leHRQcmV2aW91c1NlY3Rpb25CdXR0b25TdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RQYWdpbmF0aW9uTmV4dFByZXZpb3VzQnV0dG9uJywge1xyXG4gICAgICAgICAgICBoOiAnaC04JyxcclxuICAgICAgICAgICAgdzogJ3ctOCcsXHJcbiAgICAgICAgICAgIGNvbG9yOiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZScsXHJcbiAgICAgICAgICAgICAgICBiZzogJ2JnLWdyYXktMzAwJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMubmd0UGFnaW5hdGlvbkZpcnN0TGFzdEJ1dHRvblN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFBhZ2luYXRpb25GaXJzdExhc3RCdXR0b24nLCB7XHJcbiAgICAgICAgICAgIGg6ICdoLTgnLFxyXG4gICAgICAgICAgICB3OiAndy04JyxcclxuICAgICAgICAgICAgY29sb3I6IHtcclxuICAgICAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXdoaXRlJyxcclxuICAgICAgICAgICAgICAgIGJnOiAnYmctZ3JheS05MDAnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5uZ3RQYWdpbmF0aW9uQWN0aXZlUGFnZUJ1dHRvblN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFBhZ2luYXRpb25BY3RpdmVQYWdlQnV0dG9uJywge1xyXG4gICAgICAgICAgICBoOiAnaC04JyxcclxuICAgICAgICAgICAgdzogJ3ctOCcsXHJcbiAgICAgICAgICAgIGNvbG9yOiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZScsXHJcbiAgICAgICAgICAgICAgICBiZzogJ2JnLWdyYXktNTAwJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMubmd0UGFnaW5hdGlvblBhZ2VCdXR0b25TdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RQYWdpbmF0aW9uUGFnZUJ1dHRvbicsIHtcclxuICAgICAgICAgICAgaDogJ2gtOCcsXHJcbiAgICAgICAgICAgIHc6ICd3LTgnLFxyXG4gICAgICAgICAgICBjb2xvcjoge1xyXG4gICAgICAgICAgICAgICAgdGV4dDogJ3RleHQtd2hpdGUnLFxyXG4gICAgICAgICAgICAgICAgYmc6ICdiZy1ncmF5LTMwMCdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblJlZ2lzdGVyc1BlclBhZ2VDaGFuZ2UodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSAmJiB0aGlzLnBhZ2luYXRpb24ucGVyX3BhZ2UgIT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uLnBlcl9wYWdlID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFJlZ2lzdGVyc1BlclBhZ2UgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMub25QZXJQYWdlQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ29Ub1BhZ2UocGFnZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5vblBhZ2VDaGFuZ2UuZW1pdChwYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ29Ub1ByZXZpb3VzUGFnZSgpIHtcclxuICAgICAgICBpZiAoKHRoaXMucGFnaW5hdGlvbi5wYWdlIC0gMSkgPiAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdvVG9QYWdlKHRoaXMucGFnaW5hdGlvbi5wYWdlIC0gMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnb1RvTmV4dFBhZ2UoKSB7XHJcbiAgICAgICAgaWYgKCh0aGlzLnBhZ2luYXRpb24ucGFnZSArIDEpIDw9IHRoaXMucGFnaW5hdGlvbi5wYWdlcykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nb1RvUGFnZSh0aGlzLnBhZ2luYXRpb24ucGFnZSArIDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ29Ub1ByZXZpb3VzU2VjdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nb1RvUGFnZSh0aGlzLnNlY3Rpb25TdGFydFBhZ2UgLSAxKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ29Ub05leHRTZWN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdvVG9QYWdlKHRoaXMuc2VjdGlvbkVuZFBhZ2UgKyAxKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ29Ub0ZpcnN0UGFnZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5wYWdpbmF0aW9uLnBhZ2UgIT0gMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nb1RvUGFnZSgxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdvVG9MYXN0UGFnZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5wYWdpbmF0aW9uLnBhZ2UgIT0gdGhpcy5wYWdpbmF0aW9uLnBhZ2VzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdvVG9QYWdlKHRoaXMucGFnaW5hdGlvbi5wYWdlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRDdXJyZW50UGFnZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wYWdpbmF0aW9uLnBhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFBhZ2luYXRpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucGFnaW5hdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcHJvY2Nlc3NQYWdpbmF0aW9uKG1ldGE6IE5ndEh0dHBNZXRhKSB7XHJcbiAgICAgICAgdGhpcy5wYWdlcyA9IFtdO1xyXG4gICAgICAgIHRoaXMucGFnaW5hdGlvbiA9IG1ldGEucGFnaW5hdGlvbjtcclxuXHJcbiAgICAgICAgdGhpcy5zZWN0aW9uU3RhcnRQYWdlID0gTWF0aC5mbG9vcigodGhpcy5wYWdpbmF0aW9uLnBhZ2UgLSAxKSAvIHRoaXMucGFnZXNJbnRlcnZhbCkgKiB0aGlzLnBhZ2VzSW50ZXJ2YWwgKyAxO1xyXG4gICAgICAgIHRoaXMuc2VjdGlvbkVuZFBhZ2UgPSB0aGlzLnNlY3Rpb25TdGFydFBhZ2UgKyAodGhpcy5wYWdlc0ludGVydmFsIC0gMSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHRvdGFsUGFnZXMgPSB0aGlzLnBhZ2luYXRpb24ucGFnZXM7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSB0aGlzLnNlY3Rpb25TdGFydFBhZ2U7IGkgPD0gdGhpcy5zZWN0aW9uRW5kUGFnZSAmJiBpIDw9IHRvdGFsUGFnZXM7IGkrKykge1xyXG4gICAgICAgICAgICB0aGlzLnBhZ2VzLnB1c2goaSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmJpbmREaXNwbGF5ZWRCdXR0b25TZWN0aW9ucyh0aGlzLnNlY3Rpb25TdGFydFBhZ2UsIHRoaXMuc2VjdGlvbkVuZFBhZ2UsIHRvdGFsUGFnZXMpO1xyXG4gICAgICAgIHRoaXMuZGlzcGxheVBhZ2luYXRpb24gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZXNldFBhZ2luYXRpb24oKSB7XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uID0ge1xyXG4gICAgICAgICAgICBjb3VudDogbnVsbCxcclxuICAgICAgICAgICAgcGFnZTogMSxcclxuICAgICAgICAgICAgcGFnZXM6IG51bGwsXHJcbiAgICAgICAgICAgIHRvdGFsOiBudWxsLFxyXG4gICAgICAgICAgICBmcm9tOiBudWxsLFxyXG4gICAgICAgICAgICB0bzogbnVsbCxcclxuICAgICAgICAgICAgcGVyX3BhZ2U6IG51bGxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYmluZERpc3BsYXllZEJ1dHRvblNlY3Rpb25zKHNlY3Rpb25TdGFydFBhZ2U6IG51bWJlciwgc2VjdGlvbkVuZFBhZ2U6IG51bWJlciwgdG90YWxQYWdlczogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5UHJldmlvdXNTZWN0aW9uQnV0dG9uID0gc2VjdGlvblN0YXJ0UGFnZSA+IDEgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5TmV4dFNlY3Rpb25CdXR0b24gPSBzZWN0aW9uRW5kUGFnZSA8IHRvdGFsUGFnZXMgPyB0cnVlIDogZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuIl19
1
+ import { __awaiter } from "tslib";
2
+ import { Component, EventEmitter, Injector, Input, Optional, Output } from '@angular/core';
3
+ import { NgtTranslateService } from '../../services/http/ngt-translate.service';
4
+ import { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';
5
+ export class NgtPaginationComponent {
6
+ constructor(injector, ngtTranslateService) {
7
+ this.injector = injector;
8
+ this.ngtTranslateService = ngtTranslateService;
9
+ this.onPageChange = new EventEmitter();
10
+ this.onPerPageChange = new EventEmitter();
11
+ this.displayPagination = true;
12
+ this.pagination = {
13
+ count: null,
14
+ page: 1,
15
+ pages: null,
16
+ total: null,
17
+ from: null,
18
+ to: null,
19
+ per_page: null
20
+ };
21
+ this.pages = [];
22
+ this.registersPerPageOptions = [
23
+ 5, 10, 15, 30, 50, 100
24
+ ];
25
+ this.currentRegistersPerPage = 15;
26
+ this.ngtPaginationNextPreviousButtonStyle = new NgtStylizableService();
27
+ this.ngtPaginationNextPreviousSectionButtonStyle = new NgtStylizableService();
28
+ this.ngtPaginationFirstLastButtonStyle = new NgtStylizableService();
29
+ this.ngtPaginationActivePageButtonStyle = new NgtStylizableService();
30
+ this.ngtPaginationPageButtonStyle = new NgtStylizableService();
31
+ this.ngtPaginationNextPreviousButtonStyle.load(this.injector, 'NgtPaginationNextPreviousButton', {
32
+ h: 'h-8',
33
+ w: 'w-8',
34
+ color: {
35
+ text: 'text-white',
36
+ bg: 'bg-gray-700'
37
+ }
38
+ });
39
+ this.ngtPaginationNextPreviousSectionButtonStyle.load(this.injector, 'NgtPaginationNextPreviousButton', {
40
+ h: 'h-8',
41
+ w: 'w-8',
42
+ color: {
43
+ text: 'text-white',
44
+ bg: 'bg-gray-300'
45
+ }
46
+ });
47
+ this.ngtPaginationFirstLastButtonStyle.load(this.injector, 'NgtPaginationFirstLastButton', {
48
+ h: 'h-8',
49
+ w: 'w-8',
50
+ color: {
51
+ text: 'text-white',
52
+ bg: 'bg-gray-900'
53
+ }
54
+ });
55
+ this.ngtPaginationActivePageButtonStyle.load(this.injector, 'NgtPaginationActivePageButton', {
56
+ h: 'h-8',
57
+ w: 'w-8',
58
+ color: {
59
+ text: 'text-white',
60
+ bg: 'bg-gray-500'
61
+ }
62
+ });
63
+ this.ngtPaginationPageButtonStyle.load(this.injector, 'NgtPaginationPageButton', {
64
+ h: 'h-8',
65
+ w: 'w-8',
66
+ color: {
67
+ text: 'text-white',
68
+ bg: 'bg-gray-300'
69
+ }
70
+ });
71
+ }
72
+ onRegistersPerPageChange(value) {
73
+ if (value && this.pagination.per_page != value) {
74
+ this.pagination.per_page = value;
75
+ this.currentRegistersPerPage = value;
76
+ this.onPerPageChange.emit(value);
77
+ }
78
+ }
79
+ goToPage(page) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ this.onPageChange.emit(page);
82
+ });
83
+ }
84
+ goToPreviousPage() {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ if ((this.pagination.page - 1) > 0) {
87
+ return this.goToPage(this.pagination.page - 1);
88
+ }
89
+ });
90
+ }
91
+ goToNextPage() {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ if ((this.pagination.page + 1) <= this.pagination.pages) {
94
+ return this.goToPage(this.pagination.page + 1);
95
+ }
96
+ });
97
+ }
98
+ goToPreviousSection() {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ return this.goToPage(this.sectionStartPage - 1);
101
+ });
102
+ }
103
+ goToNextSection() {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ return this.goToPage(this.sectionEndPage + 1);
106
+ });
107
+ }
108
+ goToFirstPage() {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ if (this.pagination.page != 1) {
111
+ return this.goToPage(1);
112
+ }
113
+ });
114
+ }
115
+ goToLastPage() {
116
+ return __awaiter(this, void 0, void 0, function* () {
117
+ if (this.pagination.page != this.pagination.pages) {
118
+ return this.goToPage(this.pagination.pages);
119
+ }
120
+ });
121
+ }
122
+ getCurrentPage() {
123
+ return this.pagination.page;
124
+ }
125
+ getPagination() {
126
+ return this.pagination;
127
+ }
128
+ proccessPagination(meta) {
129
+ this.pages = [];
130
+ this.pagination = meta.pagination;
131
+ this.sectionStartPage = Math.floor((this.pagination.page - 1) / this.pagesInterval) * this.pagesInterval + 1;
132
+ this.sectionEndPage = this.sectionStartPage + (this.pagesInterval - 1);
133
+ const totalPages = this.pagination.pages;
134
+ for (let i = this.sectionStartPage; i <= this.sectionEndPage && i <= totalPages; i++) {
135
+ this.pages.push(i);
136
+ }
137
+ this.bindDisplayedButtonSections(this.sectionStartPage, this.sectionEndPage, totalPages);
138
+ this.displayPagination = true;
139
+ }
140
+ resetPagination() {
141
+ this.pagination = {
142
+ count: null,
143
+ page: 1,
144
+ pages: null,
145
+ total: null,
146
+ from: null,
147
+ to: null,
148
+ per_page: null
149
+ };
150
+ }
151
+ bindDisplayedButtonSections(sectionStartPage, sectionEndPage, totalPages) {
152
+ this.displayPreviousSectionButton = sectionStartPage > 1 ? true : false;
153
+ this.displayNextSectionButton = sectionEndPage < totalPages ? true : false;
154
+ }
155
+ }
156
+ NgtPaginationComponent.decorators = [
157
+ { type: Component, args: [{
158
+ selector: 'ngt-pagination',
159
+ template: "<div class=\"{{ displayPagination ? 'flex' : 'hidden' }} items-center w-full h-full relative\">\n <ul class=\"flex justify-start\">\n <!-- FIRST -->\n <li (click)='goToFirstPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M18.41 7.41L17 6l-6 6l6 6l1.41-1.41L13.83 12l4.58-4.59m-6 0L11 6l-6 6l6 6l1.41-1.41L7.83 12l4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS -->\n <li (click)='goToPreviousPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M15.41 16.58L10.83 12l4.58-4.59L14 6l-6 6l6 6l1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- PREVIOUS SECTION -->\n <li *ngIf=\"displayPreviousSectionButton\" (click)='goToPreviousSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <ng-container *ngFor='let page of pages'>\n <ng-container *ngIf='page == pagination.page'>\n <li class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationActivePageButtonStyle'>\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n <ng-container *ngIf='page !== pagination.page'>\n <li (click)='goToPage(page)' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationPageButtonStyle'>\n {{ page }}\n </ngt-action>\n </li>\n </ng-container>\n\n </ng-container>\n\n <!-- NEXT SECTION -->\n <li *ngIf=\"displayNextSectionButton\" (click)='goToNextSection()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousSectionButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path\n d=\"M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- NEXT -->\n <li (click)='goToNextPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationNextPreviousButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path d=\"M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6l-1.41-1.42z\" />\n </svg>\n </ngt-action>\n </li>\n\n <!-- LAST -->\n <li (click)='goToLastPage()' class=\"mr-2\">\n <ngt-action [ngtStyle]='ngtPaginationFirstLastButtonStyle'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\" focusable=\"false\"\n style=\"-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);\"\n preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 24 24\">\n <path\n d=\"M5.59 7.41L7 6l6 6l-6 6l-1.41-1.41L10.17 12L5.59 7.41m6 0L13 6l6 6l-6 6l-1.41-1.41L16.17 12l-4.58-4.59z\" />\n </svg>\n </ngt-action>\n </li>\n </ul>\n\n <!-- REGISTERS PER PAGE -->\n <div class=\"flex items-center w-auto absolute right-0\">\n <ngt-select class='block w-20 left-0' [searchable]='false' [clearable]='false' dropdownPosition='top'\n [items]='registersPerPageOptions' name='registersPerPageSelect' [(ngModel)]=\"currentRegistersPerPage\"\n h='h-auto' (ngModelChange)='onRegistersPerPageChange($event)' ngt-stylizable>\n <ng-template let-item=\"item\" let-index=\"index\" ngt-select-option>\n {{ item ? item : '' }}\n </ng-template>\n </ngt-select>\n\n <P class=\"ml-2\">\n {{ ngtTranslateService.ngtPagination(pagination.from, pagination.to, pagination.total) }}\n </P>\n </div>\n</div>",
160
+ styles: [""]
161
+ },] }
162
+ ];
163
+ NgtPaginationComponent.ctorParameters = () => [
164
+ { type: Injector },
165
+ { type: NgtTranslateService, decorators: [{ type: Optional }] }
166
+ ];
167
+ NgtPaginationComponent.propDecorators = {
168
+ pagesInterval: [{ type: Input }],
169
+ onPageChange: [{ type: Output }],
170
+ onPerPageChange: [{ type: Output }]
171
+ };
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXBhZ2luYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXBhZ2luYXRpb24vbmd0LXBhZ2luYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFPNUYsTUFBTSxPQUFPLHNCQUFzQjtJQXFDL0IsWUFDWSxRQUFrQixFQUVuQixtQkFBd0M7UUFGdkMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUVuQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBckNsQyxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hELG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFhckUsc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBRWxDLGVBQVUsR0FBc0I7WUFDbkMsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsQ0FBQztZQUNQLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsSUFBSTtZQUNWLEVBQUUsRUFBRSxJQUFJO1lBQ1IsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQztRQUVLLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCw0QkFBdUIsR0FBRztZQUM3QixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUc7U0FDekIsQ0FBQztRQUVLLDRCQUF1QixHQUFXLEVBQUUs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Q0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQy9FLENBQUM7OztZQXhMSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsMDJLQUE4Qzs7YUFFakQ7OztZQVZpQyxRQUFRO1lBR2pDLG1CQUFtQix1QkErQ25CLFFBQVE7Ozs0QkF0Q1osS0FBSzsyQkFFTCxNQUFNOzhCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5ndEh0dHBNZXRhLCBOZ3RIdHRwUGFnaW5hdGlvbiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAvbmd0LWh0dHAuc2VydmljZSc7XG5pbXBvcnQgeyBOZ3RUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC9uZ3QtdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmd0U3R5bGl6YWJsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3QtcGFnaW5hdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ndC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uZ3QtcGFnaW5hdGlvbi5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmd0UGFnaW5hdGlvbkNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgcHVibGljIHBhZ2VzSW50ZXJ2YWw6IG51bWJlcjtcblxuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25QYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uUGVyUGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogU3R5bGVzICovXG4gICAgcHVibGljIG5ndFBhZ2luYXRpb25BY3RpdmVQYWdlQnV0dG9uU3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuICAgIHB1YmxpYyBuZ3RQYWdpbmF0aW9uTmV4dFByZXZpb3VzQnV0dG9uU3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuICAgIHB1YmxpYyBuZ3RQYWdpbmF0aW9uTmV4dFByZXZpb3VzU2VjdGlvbkJ1dHRvblN0eWxlOiBOZ3RTdHlsaXphYmxlU2VydmljZTtcbiAgICBwdWJsaWMgbmd0UGFnaW5hdGlvbkZpcnN0TGFzdEJ1dHRvblN0eWxlOiBOZ3RTdHlsaXphYmxlU2VydmljZTtcbiAgICBwdWJsaWMgbmd0UGFnaW5hdGlvblBhZ2VCdXR0b25TdHlsZTogTmd0U3R5bGl6YWJsZVNlcnZpY2U7XG5cbiAgICBwdWJsaWMgc2VjdGlvblN0YXJ0UGFnZTogbnVtYmVyO1xuICAgIHB1YmxpYyBzZWN0aW9uRW5kUGFnZTogbnVtYmVyO1xuICAgIHB1YmxpYyBkaXNwbGF5TmV4dFNlY3Rpb25CdXR0b246IGJvb2xlYW47XG4gICAgcHVibGljIGRpc3BsYXlQcmV2aW91c1NlY3Rpb25CdXR0b246IGJvb2xlYW47XG4gICAgcHVibGljIGRpc3BsYXlQYWdpbmF0aW9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHB1YmxpYyBwYWdpbmF0aW9uOiBOZ3RIdHRwUGFnaW5hdGlvbiA9IHtcbiAgICAgICAgY291bnQ6IG51bGwsXG4gICAgICAgIHBhZ2U6IDEsXG4gICAgICAgIHBhZ2VzOiBudWxsLFxuICAgICAgICB0b3RhbDogbnVsbCxcbiAgICAgICAgZnJvbTogbnVsbCxcbiAgICAgICAgdG86IG51bGwsXG4gICAgICAgIHBlcl9wYWdlOiBudWxsXG4gICAgfTtcblxuICAgIHB1YmxpYyBwYWdlcyA9IFtdO1xuXG4gICAgcHVibGljIHJlZ2lzdGVyc1BlclBhZ2VPcHRpb25zID0gW1xuICAgICAgICA1LCAxMCwgMTUsIDMwLCA1MCwgMTAwXG4gICAgXTtcblxuICAgIHB1YmxpYyBjdXJyZW50UmVnaXN0ZXJzUGVyUGFnZTogbnVtYmVyID0gMTU7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBwdWJsaWMgbmd0VHJhbnNsYXRlU2VydmljZTogTmd0VHJhbnNsYXRlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLm5ndFBhZ2luYXRpb25OZXh0UHJldmlvdXNCdXR0b25TdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB0aGlzLm5ndFBhZ2luYXRpb25OZXh0UHJldmlvdXNTZWN0aW9uQnV0dG9uU3R5bGUgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcbiAgICAgICAgdGhpcy5uZ3RQYWdpbmF0aW9uRmlyc3RMYXN0QnV0dG9uU3R5bGUgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcbiAgICAgICAgdGhpcy5uZ3RQYWdpbmF0aW9uQWN0aXZlUGFnZUJ1dHRvblN0eWxlID0gbmV3IE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgICAgIHRoaXMubmd0UGFnaW5hdGlvblBhZ2VCdXR0b25TdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuXG4gICAgICAgIHRoaXMubmd0UGFnaW5hdGlvbk5leHRQcmV2aW91c0J1dHRvblN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFBhZ2luYXRpb25OZXh0UHJldmlvdXNCdXR0b24nLCB7XG4gICAgICAgICAgICBoOiAnaC04JyxcbiAgICAgICAgICAgIHc6ICd3LTgnLFxuICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZScsXG4gICAgICAgICAgICAgICAgYmc6ICdiZy1ncmF5LTcwMCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5uZ3RQYWdpbmF0aW9uTmV4dFByZXZpb3VzU2VjdGlvbkJ1dHRvblN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFBhZ2luYXRpb25OZXh0UHJldmlvdXNCdXR0b24nLCB7XG4gICAgICAgICAgICBoOiAnaC04JyxcbiAgICAgICAgICAgIHc6ICd3LTgnLFxuICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZScsXG4gICAgICAgICAgICAgICAgYmc6ICdiZy1ncmF5LTMwMCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5uZ3RQYWdpbmF0aW9uRmlyc3RMYXN0QnV0dG9uU3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0UGFnaW5hdGlvbkZpcnN0TGFzdEJ1dHRvbicsIHtcbiAgICAgICAgICAgIGg6ICdoLTgnLFxuICAgICAgICAgICAgdzogJ3ctOCcsXG4gICAgICAgICAgICBjb2xvcjoge1xuICAgICAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXdoaXRlJyxcbiAgICAgICAgICAgICAgICBiZzogJ2JnLWdyYXktOTAwJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm5ndFBhZ2luYXRpb25BY3RpdmVQYWdlQnV0dG9uU3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0UGFnaW5hdGlvbkFjdGl2ZVBhZ2VCdXR0b24nLCB7XG4gICAgICAgICAgICBoOiAnaC04JyxcbiAgICAgICAgICAgIHc6ICd3LTgnLFxuICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZScsXG4gICAgICAgICAgICAgICAgYmc6ICdiZy1ncmF5LTUwMCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5uZ3RQYWdpbmF0aW9uUGFnZUJ1dHRvblN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFBhZ2luYXRpb25QYWdlQnV0dG9uJywge1xuICAgICAgICAgICAgaDogJ2gtOCcsXG4gICAgICAgICAgICB3OiAndy04JyxcbiAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgdGV4dDogJ3RleHQtd2hpdGUnLFxuICAgICAgICAgICAgICAgIGJnOiAnYmctZ3JheS0zMDAnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJlZ2lzdGVyc1BlclBhZ2VDaGFuZ2UodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodmFsdWUgJiYgdGhpcy5wYWdpbmF0aW9uLnBlcl9wYWdlICE9IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRpb24ucGVyX3BhZ2UgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFJlZ2lzdGVyc1BlclBhZ2UgPSB2YWx1ZTtcblxuICAgICAgICAgICAgdGhpcy5vblBlclBhZ2VDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ29Ub1BhZ2UocGFnZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMub25QYWdlQ2hhbmdlLmVtaXQocGFnZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdvVG9QcmV2aW91c1BhZ2UoKSB7XG4gICAgICAgIGlmICgodGhpcy5wYWdpbmF0aW9uLnBhZ2UgLSAxKSA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdvVG9QYWdlKHRoaXMucGFnaW5hdGlvbi5wYWdlIC0gMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ29Ub05leHRQYWdlKCkge1xuICAgICAgICBpZiAoKHRoaXMucGFnaW5hdGlvbi5wYWdlICsgMSkgPD0gdGhpcy5wYWdpbmF0aW9uLnBhZ2VzKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nb1RvUGFnZSh0aGlzLnBhZ2luYXRpb24ucGFnZSArIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdvVG9QcmV2aW91c1NlY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdvVG9QYWdlKHRoaXMuc2VjdGlvblN0YXJ0UGFnZSAtIDEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnb1RvTmV4dFNlY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdvVG9QYWdlKHRoaXMuc2VjdGlvbkVuZFBhZ2UgKyAxKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ29Ub0ZpcnN0UGFnZSgpIHtcbiAgICAgICAgaWYgKHRoaXMucGFnaW5hdGlvbi5wYWdlICE9IDEpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdvVG9QYWdlKDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdvVG9MYXN0UGFnZSgpIHtcbiAgICAgICAgaWYgKHRoaXMucGFnaW5hdGlvbi5wYWdlICE9IHRoaXMucGFnaW5hdGlvbi5wYWdlcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ29Ub1BhZ2UodGhpcy5wYWdpbmF0aW9uLnBhZ2VzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDdXJyZW50UGFnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFnaW5hdGlvbi5wYWdlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQYWdpbmF0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYWdpbmF0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBwcm9jY2Vzc1BhZ2luYXRpb24obWV0YTogTmd0SHR0cE1ldGEpIHtcbiAgICAgICAgdGhpcy5wYWdlcyA9IFtdO1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24gPSBtZXRhLnBhZ2luYXRpb247XG5cbiAgICAgICAgdGhpcy5zZWN0aW9uU3RhcnRQYWdlID0gTWF0aC5mbG9vcigodGhpcy5wYWdpbmF0aW9uLnBhZ2UgLSAxKSAvIHRoaXMucGFnZXNJbnRlcnZhbCkgKiB0aGlzLnBhZ2VzSW50ZXJ2YWwgKyAxO1xuICAgICAgICB0aGlzLnNlY3Rpb25FbmRQYWdlID0gdGhpcy5zZWN0aW9uU3RhcnRQYWdlICsgKHRoaXMucGFnZXNJbnRlcnZhbCAtIDEpO1xuXG4gICAgICAgIGNvbnN0IHRvdGFsUGFnZXMgPSB0aGlzLnBhZ2luYXRpb24ucGFnZXM7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMuc2VjdGlvblN0YXJ0UGFnZTsgaSA8PSB0aGlzLnNlY3Rpb25FbmRQYWdlICYmIGkgPD0gdG90YWxQYWdlczsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VzLnB1c2goaSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmJpbmREaXNwbGF5ZWRCdXR0b25TZWN0aW9ucyh0aGlzLnNlY3Rpb25TdGFydFBhZ2UsIHRoaXMuc2VjdGlvbkVuZFBhZ2UsIHRvdGFsUGFnZXMpO1xuICAgICAgICB0aGlzLmRpc3BsYXlQYWdpbmF0aW9uID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXRQYWdpbmF0aW9uKCkge1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24gPSB7XG4gICAgICAgICAgICBjb3VudDogbnVsbCxcbiAgICAgICAgICAgIHBhZ2U6IDEsXG4gICAgICAgICAgICBwYWdlczogbnVsbCxcbiAgICAgICAgICAgIHRvdGFsOiBudWxsLFxuICAgICAgICAgICAgZnJvbTogbnVsbCxcbiAgICAgICAgICAgIHRvOiBudWxsLFxuICAgICAgICAgICAgcGVyX3BhZ2U6IG51bGxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJpbmREaXNwbGF5ZWRCdXR0b25TZWN0aW9ucyhzZWN0aW9uU3RhcnRQYWdlOiBudW1iZXIsIHNlY3Rpb25FbmRQYWdlOiBudW1iZXIsIHRvdGFsUGFnZXM6IG51bWJlcikge1xuICAgICAgICB0aGlzLmRpc3BsYXlQcmV2aW91c1NlY3Rpb25CdXR0b24gPSBzZWN0aW9uU3RhcnRQYWdlID4gMSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5kaXNwbGF5TmV4dFNlY3Rpb25CdXR0b24gPSBzZWN0aW9uRW5kUGFnZSA8IHRvdGFsUGFnZXMgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxufVxuIl19
@@ -1,23 +1,23 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';
5
- import { NgtActionModule } from '../ngt-action/ngt-action.module';
6
- import { NgtSelectModule } from '../ngt-select/ngt-select.module';
7
- import { NgtPaginationComponent } from './ngt-pagination.component';
8
- export class NgtPaginationModule {
9
- }
10
- NgtPaginationModule.decorators = [
11
- { type: NgModule, args: [{
12
- declarations: [NgtPaginationComponent],
13
- exports: [NgtPaginationComponent],
14
- imports: [
15
- CommonModule,
16
- FormsModule,
17
- NgtStylizableModule,
18
- NgtActionModule,
19
- NgtSelectModule,
20
- ]
21
- },] }
22
- ];
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXBhZ2luYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXBhZ2luYXRpb24vbmd0LXBhZ2luYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBYXBFLE1BQU0sT0FBTyxtQkFBbUI7OztZQVgvQixRQUFRLFNBQUM7Z0JBQ04sWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNqQyxPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsZUFBZTtvQkFDZixlQUFlO2lCQUNsQjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBOZ3RBY3Rpb25Nb2R1bGUgfSBmcm9tICcuLi9uZ3QtYWN0aW9uL25ndC1hY3Rpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgTmd0U2VsZWN0TW9kdWxlIH0gZnJvbSAnLi4vbmd0LXNlbGVjdC9uZ3Qtc2VsZWN0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IE5ndFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL25ndC1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbTmd0UGFnaW5hdGlvbkNvbXBvbmVudF0sXHJcbiAgICBleHBvcnRzOiBbTmd0UGFnaW5hdGlvbkNvbXBvbmVudF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIE5ndFN0eWxpemFibGVNb2R1bGUsXHJcbiAgICAgICAgTmd0QWN0aW9uTW9kdWxlLFxyXG4gICAgICAgIE5ndFNlbGVjdE1vZHVsZSxcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5ndFBhZ2luYXRpb25Nb2R1bGUgeyB9XHJcbiJdfQ==
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { NgtStylizableModule } from '../../directives/ngt-stylizable/ngt-stylizable.module';
5
+ import { NgtActionModule } from '../ngt-action/ngt-action.module';
6
+ import { NgtSelectModule } from '../ngt-select/ngt-select.module';
7
+ import { NgtPaginationComponent } from './ngt-pagination.component';
8
+ export class NgtPaginationModule {
9
+ }
10
+ NgtPaginationModule.decorators = [
11
+ { type: NgModule, args: [{
12
+ declarations: [NgtPaginationComponent],
13
+ exports: [NgtPaginationComponent],
14
+ imports: [
15
+ CommonModule,
16
+ FormsModule,
17
+ NgtStylizableModule,
18
+ NgtActionModule,
19
+ NgtSelectModule,
20
+ ]
21
+ },] }
22
+ ];
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXBhZ2luYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXBhZ2luYXRpb24vbmd0LXBhZ2luYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBYXBFLE1BQU0sT0FBTyxtQkFBbUI7OztZQVgvQixRQUFRLFNBQUM7Z0JBQ04sWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNqQyxPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsZUFBZTtvQkFDZixlQUFlO2lCQUNsQjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTmd0U3R5bGl6YWJsZU1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUubW9kdWxlJztcbmltcG9ydCB7IE5ndEFjdGlvbk1vZHVsZSB9IGZyb20gJy4uL25ndC1hY3Rpb24vbmd0LWFjdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgTmd0U2VsZWN0TW9kdWxlIH0gZnJvbSAnLi4vbmd0LXNlbGVjdC9uZ3Qtc2VsZWN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3RQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9uZ3QtcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW05ndFBhZ2luYXRpb25Db21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtOZ3RQYWdpbmF0aW9uQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE5ndFN0eWxpemFibGVNb2R1bGUsXG4gICAgICAgIE5ndEFjdGlvbk1vZHVsZSxcbiAgICAgICAgTmd0U2VsZWN0TW9kdWxlLFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd0UGFnaW5hdGlvbk1vZHVsZSB7IH1cbiJdfQ==