@flywheel-io/vision 2.0.0-beta-4 → 2.0.0-beta.11
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.
- package/assets/fonts/Flywheel-Vision-Icons.svg +26 -0
- package/assets/fonts/Flywheel-Vision-Icons.ttf +0 -0
- package/assets/fonts/Flywheel-Vision-Icons.woff +0 -0
- package/assets/svg/arrow-redo.svg +4 -0
- package/assets/svg/arrow-undo.svg +4 -0
- package/assets/svg/arrow-up-high-priority.svg +6 -0
- package/assets/svg/arrow-up-low-priority.svg +6 -0
- package/assets/svg/certificate.svg +4 -0
- package/assets/svg/check-mark-certificate.svg +4 -0
- package/assets/svg/document-file-checkmark-bottom-left.svg +4 -0
- package/assets/svg/folders-copy-expand-arrow-down.svg +6 -0
- package/assets/svg/folders-copy-expand-arrow-up.svg +6 -0
- package/assets/svg/monitor-computer.svg +4 -0
- package/assets/svg/server-databases-checkmark-user.svg +4 -0
- package/assets/svg/stop-minus.svg +4 -0
- package/assets/svg/user-profile-cards-pool.svg +4 -0
- package/components/alert/alert.component.d.ts +1 -1
- package/components/app-icon/app-icon.component.d.ts +1 -1
- package/components/avatar/avatar.component.d.ts +1 -1
- package/components/badge/badge.component.d.ts +1 -1
- package/components/breadcrumbs/crumb.component.d.ts +1 -1
- package/components/button/button.component.d.ts +1 -1
- package/components/button-group/button-group.component.d.ts +1 -1
- package/components/button-toggle/button-toggle-item/button-toggle-item.component.d.ts +1 -1
- package/components/button-toggle/button-toggle.component.d.ts +2 -1
- package/components/card/card-attribute/card-attribute.component.d.ts +1 -1
- package/components/card/card-author/card-author.component.d.ts +1 -1
- package/components/card/card-header/card-header.component.d.ts +1 -1
- package/components/card/card.component.d.ts +1 -1
- package/components/checkbox/checkbox.component.d.ts +1 -1
- package/components/chip/chip.component.d.ts +1 -1
- package/components/contained-input/contained-input.component.d.ts +1 -1
- package/components/date-input/date-input.component.d.ts +1 -1
- package/components/dialog/dialog-confirm.component.d.ts +1 -1
- package/components/dialog/dialog-content.component.d.ts +1 -1
- package/components/dialog/dialog-simple.component.d.ts +1 -1
- package/components/dialog/dialog.component.d.ts +1 -1
- package/components/form-heading/form-heading.component.d.ts +1 -1
- package/components/icon/icon.component.d.ts +1 -1
- package/components/icon/icon.types.d.ts +2 -2
- package/components/icon-button/icon-button.component.d.ts +1 -1
- package/components/layouts/context/context.component.d.ts +1 -1
- package/components/layouts/grid/grid.component.d.ts +1 -1
- package/components/layouts/layout-group.component.d.ts +1 -1
- package/components/layouts/panel/panel.component.d.ts +1 -1
- package/components/layouts/sidebar/sidebar.component.d.ts +1 -1
- package/components/layouts/toolbar/toolbar.component.d.ts +1 -1
- package/components/menu/menu-container/menu-container.component.d.ts +1 -1
- package/components/menu/menu-item/menu-item.component.d.ts +1 -1
- package/components/menu/menu-item-group/menu-item-group.component.d.ts +1 -1
- package/components/menu/menu-sub-item/menu-sub-item.component.d.ts +1 -1
- package/components/menu/menu.component.d.ts +1 -1
- package/components/navbar/navbar-item/navbar-item.component.d.ts +1 -1
- package/components/navbar/navbar-sub-item/navbar-sub-item.component.d.ts +1 -1
- package/components/navbar/navbar.component.d.ts +1 -1
- package/components/number-input/number-input.component.d.ts +1 -1
- package/components/paginator/paginator-advanced/paginator-advanced.component.d.ts +1 -1
- package/components/paginator/paginator.component.d.ts +6 -3
- package/components/phone-input/phone-input.component.d.ts +1 -1
- package/components/phone-input/phone-input.model.d.ts +1 -1
- package/components/popover/popover-panel/popover-panel.component.d.ts +1 -1
- package/components/popover/popover.component.d.ts +1 -1
- package/components/progress/bar/bar.component.d.ts +1 -1
- package/components/progress/spinner/spinner.component.d.ts +1 -1
- package/components/radio/radio-group.component.d.ts +1 -1
- package/components/radio/radio.component.d.ts +1 -1
- package/components/section-heading/back-button/back-button.component.d.ts +1 -1
- package/components/section-heading/section-heading.component.d.ts +1 -1
- package/components/section-heading/subsection-heading/subsection-heading.component.d.ts +1 -1
- package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +6 -4
- package/components/select-menu/select-menu.component.d.ts +6 -4
- package/components/select-menu/select-menu.module.d.ts +2 -1
- package/components/shared/services/menu-manager.service.d.ts +10 -0
- package/components/snackbar/snackbar/snackbar.component.d.ts +1 -1
- package/components/stepper/step.component.d.ts +1 -1
- package/components/stepper/stepper.component.d.ts +1 -1
- package/components/switch/switch.component.d.ts +1 -1
- package/components/table/cell.d.ts +1 -1
- package/components/table/row.d.ts +3 -5
- package/components/tabs/tab/tab.component.d.ts +1 -1
- package/components/tabs/tab-panel/tab-panel.component.d.ts +1 -1
- package/components/tabs/tabs.component.d.ts +1 -1
- package/components/text-input/text-input.component.d.ts +5 -4
- package/components/textarea-input/textarea-input.component.d.ts +1 -1
- package/components/tooltip/tooltip-panel/tooltip-panel.component.d.ts +1 -1
- package/components/tooltip/tooltip.component.d.ts +1 -1
- package/components/wrapped-input/wrapped-input.component.d.ts +1 -1
- package/directives/menu-register.directive.d.ts +14 -0
- package/{esm2020 → esm2022}/components/alert/alert.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/alert/alert.module.mjs +9 -9
- package/{esm2020 → esm2022}/components/app-icon/app-icon.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/app-icon/app-icon.module.mjs +7 -7
- package/{esm2020 → esm2022}/components/avatar/avatar.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/avatar/avatar.module.mjs +7 -7
- package/esm2022/components/badge/badge.component.mjs +45 -0
- package/{esm2020 → esm2022}/components/badge/badge.module.mjs +5 -5
- package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +22 -0
- package/{esm2020 → esm2022}/components/breadcrumbs/breadcrumbs.module.mjs +9 -9
- package/esm2022/components/breadcrumbs/crumb.component.mjs +34 -0
- package/{esm2020 → esm2022}/components/button/button.component.mjs +4 -4
- package/esm2022/components/button/button.directives.mjs +129 -0
- package/{esm2020 → esm2022}/components/button/button.module.mjs +21 -21
- package/esm2022/components/button-group/button-group.component.mjs +131 -0
- package/{esm2020 → esm2022}/components/button-group/button-group.module.mjs +9 -9
- package/esm2022/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +54 -0
- package/esm2022/components/button-toggle/button-toggle.component.mjs +137 -0
- package/{esm2020 → esm2022}/components/button-toggle/button-toggle.module.mjs +9 -9
- package/{esm2020 → esm2022}/components/card/card-attribute/card-attribute.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card-author/card-author.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card-content/card-content.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card-footer/card-footer.component.mjs +8 -8
- package/{esm2020 → esm2022}/components/card/card-header/card-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card.module.mjs +19 -19
- package/esm2022/components/checkbox/checkbox.component.mjs +79 -0
- package/{esm2020 → esm2022}/components/checkbox/checkbox.module.mjs +9 -9
- package/esm2022/components/chip/chip.component.mjs +52 -0
- package/{esm2020 → esm2022}/components/chip/chip.module.mjs +9 -9
- package/esm2022/components/contained-input/contained-input.component.mjs +86 -0
- package/{esm2020 → esm2022}/components/contained-input/contained-input.module.mjs +13 -13
- package/esm2022/components/date-input/date-input.component.mjs +139 -0
- package/{esm2020 → esm2022}/components/date-input/date-input.module.mjs +9 -9
- package/{esm2020 → esm2022}/components/dialog/dialog-actions.component.mjs +9 -9
- package/{esm2020 → esm2022}/components/dialog/dialog-confirm.component.mjs +6 -6
- package/esm2022/components/dialog/dialog-content.component.mjs +38 -0
- package/{esm2020 → esm2022}/components/dialog/dialog-header.component.mjs +9 -9
- package/{esm2020 → esm2022}/components/dialog/dialog-simple.component.mjs +6 -6
- package/{esm2020 → esm2022}/components/dialog/dialog.component.mjs +6 -6
- package/{esm2020 → esm2022}/components/dialog/dialog.service.mjs +6 -6
- package/{esm2020 → esm2022}/components/dialog/dialogs.module.mjs +27 -27
- package/{esm2020 → esm2022}/components/form-heading/form-heading.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/form-heading/form-heading.module.mjs +9 -9
- package/esm2022/components/forms/validators.mjs +81 -0
- package/esm2022/components/icon/icon.component.mjs +61 -0
- package/{esm2020 → esm2022}/components/icon/icon.module.mjs +5 -5
- package/esm2022/components/icon/icon.types.mjs +330 -0
- package/{esm2020 → esm2022}/components/icon-button/icon-button.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/icon-button/icon-button.module.mjs +7 -7
- package/esm2022/components/layouts/context/context.component.mjs +46 -0
- package/{esm2020 → esm2022}/components/layouts/grid/grid.component.mjs +7 -7
- package/esm2022/components/layouts/layout-group.component.mjs +36 -0
- package/{esm2020 → esm2022}/components/layouts/layouts.module.mjs +19 -19
- package/{esm2020 → esm2022}/components/layouts/panel/panel.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/layouts/sidebar/sidebar.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/layouts/toolbar/toolbar.component.mjs +4 -4
- package/esm2022/components/menu/menu-close-triggers.directive.mjs +38 -0
- package/esm2022/components/menu/menu-container/menu-container.component.mjs +90 -0
- package/{esm2020 → esm2022}/components/menu/menu-header/menu-header.component.mjs +4 -4
- package/esm2022/components/menu/menu-item/menu-item.component.mjs +136 -0
- package/{esm2020 → esm2022}/components/menu/menu-item-group/menu-item-group.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/menu/menu-separator/menu-separator.component.mjs +4 -4
- package/esm2022/components/menu/menu-sub-item/menu-sub-item.component.mjs +109 -0
- package/esm2022/components/menu/menu.component.mjs +212 -0
- package/{esm2020 → esm2022}/components/menu/menu.module.mjs +37 -37
- package/{esm2020 → esm2022}/components/navbar/navbar-header/navbar-header.component.mjs +4 -4
- package/esm2022/components/navbar/navbar-item/navbar-item.component.mjs +95 -0
- package/esm2022/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +76 -0
- package/esm2022/components/navbar/navbar.component.mjs +75 -0
- package/{esm2020 → esm2022}/components/navbar/navbar.module.mjs +25 -25
- package/esm2022/components/number-input/number-input.component.mjs +122 -0
- package/{esm2020 → esm2022}/components/number-input/number-input.module.mjs +9 -9
- package/esm2022/components/paginator/paginator-advanced/paginator-advanced.component.mjs +123 -0
- package/esm2022/components/paginator/paginator.component.mjs +133 -0
- package/{esm2020 → esm2022}/components/paginator/paginator.module.mjs +17 -17
- package/esm2022/components/phone-input/phone-input.component.mjs +285 -0
- package/{esm2020 → esm2022}/components/phone-input/phone-input.module.mjs +17 -17
- package/{esm2020 → esm2022}/components/popover/popover-panel/popover-panel.component.mjs +4 -4
- package/esm2022/components/popover/popover.component.mjs +76 -0
- package/{esm2020 → esm2022}/components/popover/popover.module.mjs +13 -13
- package/{esm2020 → esm2022}/components/progress/bar/bar.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/progress/progress.module.mjs +7 -7
- package/esm2022/components/progress/spinner/spinner.component.mjs +101 -0
- package/esm2022/components/radio/radio-group.component.mjs +117 -0
- package/esm2022/components/radio/radio.component.mjs +51 -0
- package/{esm2020 → esm2022}/components/radio/radio.module.mjs +11 -11
- package/esm2022/components/section-heading/back-button/back-button.component.mjs +30 -0
- package/{esm2020 → esm2022}/components/section-heading/section-heading.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/section-heading/section-heading.module.mjs +13 -13
- package/{esm2020 → esm2022}/components/section-heading/subsection-heading/subsection-heading.component.mjs +5 -5
- package/esm2022/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +377 -0
- package/esm2022/components/select-menu/select-menu.component.mjs +332 -0
- package/esm2022/components/select-menu/select-menu.module.mjs +56 -0
- package/esm2022/components/shared/pipes/pipes.module.mjs +36 -0
- package/esm2022/components/shared/pipes/translate.pipe.mjs +40 -0
- package/{esm2020 → esm2022}/components/shared/pipes/trusthtml.pipe.mjs +5 -5
- package/esm2022/components/shared/services/menu-manager.service.mjs +27 -0
- package/esm2022/components/shared/translation.service.mjs +26 -0
- package/esm2022/components/snackbar/snackbar/snackbar.component.mjs +111 -0
- package/esm2022/components/snackbar/snackbar-container/snackbar-container.component.mjs +63 -0
- package/{esm2020 → esm2022}/components/snackbar/snackbar.module.mjs +15 -15
- package/esm2022/components/snackbar/snackbar.service.mjs +36 -0
- package/esm2022/components/stepper/step.component.mjs +113 -0
- package/esm2022/components/stepper/stepper.component.mjs +95 -0
- package/{esm2020 → esm2022}/components/stepper/stepper.module.mjs +13 -13
- package/esm2022/components/switch/switch.component.mjs +73 -0
- package/{esm2020 → esm2022}/components/switch/switch.module.mjs +5 -5
- package/{esm2020 → esm2022}/components/table/cell.mjs +24 -24
- package/esm2022/components/table/row.mjs +164 -0
- package/esm2022/components/table/table-dense.component.mjs +38 -0
- package/esm2022/components/table/table.component.mjs +38 -0
- package/{esm2020 → esm2022}/components/table/table.module.mjs +37 -37
- package/esm2022/components/tabs/tab/tab.component.mjs +79 -0
- package/{esm2020 → esm2022}/components/tabs/tab-panel/tab-panel.component.mjs +4 -4
- package/esm2022/components/tabs/tabs.component.mjs +68 -0
- package/{esm2020 → esm2022}/components/tabs/tabs.module.mjs +11 -11
- package/esm2022/components/text-input/text-input.component.mjs +118 -0
- package/{esm2020 → esm2022}/components/text-input/text-input.module.mjs +9 -9
- package/esm2022/components/textarea-input/textarea-input.component.mjs +86 -0
- package/{esm2020 → esm2022}/components/textarea-input/textarea-input.module.mjs +11 -11
- package/{esm2020 → esm2022}/components/tooltip/tooltip-panel/tooltip-panel.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/tooltip/tooltip.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/tooltip/tooltip.module.mjs +13 -13
- package/{esm2020 → esm2022}/components/wrapped-input/wrapped-input.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/wrapped-input/wrapped-input.module.mjs +7 -7
- package/esm2022/directives/menu-register.directive.mjs +38 -0
- package/esm2022/public-api.mjs +128 -0
- package/{fesm2020 → fesm2022}/flywheel-io-vision.mjs +1438 -1336
- package/fesm2022/flywheel-io-vision.mjs.map +1 -0
- package/flywheel-io-vision-2.0.0-beta.11.tgz +0 -0
- package/package.json +9 -12
- package/public-api.d.ts +2 -0
- package/scss/icons/_icon-glyphs.scss +667 -1256
- package/styles.css +54 -1
- package/esm2020/components/badge/badge.component.mjs +0 -45
- package/esm2020/components/breadcrumbs/breadcrumbs.component.mjs +0 -22
- package/esm2020/components/breadcrumbs/crumb.component.mjs +0 -34
- package/esm2020/components/button/button.directives.mjs +0 -129
- package/esm2020/components/button-group/button-group.component.mjs +0 -131
- package/esm2020/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +0 -54
- package/esm2020/components/button-toggle/button-toggle.component.mjs +0 -132
- package/esm2020/components/checkbox/checkbox.component.mjs +0 -79
- package/esm2020/components/chip/chip.component.mjs +0 -52
- package/esm2020/components/contained-input/contained-input.component.mjs +0 -86
- package/esm2020/components/date-input/date-input.component.mjs +0 -139
- package/esm2020/components/dialog/dialog-content.component.mjs +0 -38
- package/esm2020/components/forms/validators.mjs +0 -81
- package/esm2020/components/icon/icon.component.mjs +0 -61
- package/esm2020/components/icon/icon.types.mjs +0 -317
- package/esm2020/components/layouts/context/context.component.mjs +0 -46
- package/esm2020/components/layouts/layout-group.component.mjs +0 -36
- package/esm2020/components/menu/menu-close-triggers.directive.mjs +0 -38
- package/esm2020/components/menu/menu-container/menu-container.component.mjs +0 -90
- package/esm2020/components/menu/menu-item/menu-item.component.mjs +0 -136
- package/esm2020/components/menu/menu-sub-item/menu-sub-item.component.mjs +0 -109
- package/esm2020/components/menu/menu.component.mjs +0 -212
- package/esm2020/components/navbar/navbar-item/navbar-item.component.mjs +0 -95
- package/esm2020/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +0 -76
- package/esm2020/components/navbar/navbar.component.mjs +0 -75
- package/esm2020/components/number-input/number-input.component.mjs +0 -122
- package/esm2020/components/paginator/paginator-advanced/paginator-advanced.component.mjs +0 -123
- package/esm2020/components/paginator/paginator.component.mjs +0 -133
- package/esm2020/components/phone-input/phone-input.component.mjs +0 -285
- package/esm2020/components/popover/popover.component.mjs +0 -76
- package/esm2020/components/progress/spinner/spinner.component.mjs +0 -101
- package/esm2020/components/radio/radio-group.component.mjs +0 -117
- package/esm2020/components/radio/radio.component.mjs +0 -51
- package/esm2020/components/section-heading/back-button/back-button.component.mjs +0 -30
- package/esm2020/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +0 -356
- package/esm2020/components/select-menu/select-menu.component.mjs +0 -328
- package/esm2020/components/select-menu/select-menu.module.mjs +0 -53
- package/esm2020/components/shared/pipes/pipes.module.mjs +0 -36
- package/esm2020/components/shared/pipes/translate.pipe.mjs +0 -40
- package/esm2020/components/shared/translation.service.mjs +0 -26
- package/esm2020/components/snackbar/snackbar/snackbar.component.mjs +0 -111
- package/esm2020/components/snackbar/snackbar-container/snackbar-container.component.mjs +0 -63
- package/esm2020/components/snackbar/snackbar.service.mjs +0 -36
- package/esm2020/components/stepper/step.component.mjs +0 -113
- package/esm2020/components/stepper/stepper.component.mjs +0 -95
- package/esm2020/components/switch/switch.component.mjs +0 -73
- package/esm2020/components/table/row.mjs +0 -170
- package/esm2020/components/table/table-dense.component.mjs +0 -38
- package/esm2020/components/table/table.component.mjs +0 -38
- package/esm2020/components/tabs/tab/tab.component.mjs +0 -79
- package/esm2020/components/tabs/tabs.component.mjs +0 -68
- package/esm2020/components/text-input/text-input.component.mjs +0 -112
- package/esm2020/components/textarea-input/textarea-input.component.mjs +0 -86
- package/esm2020/public-api.mjs +0 -126
- package/fesm2015/flywheel-io-vision.mjs +0 -8039
- package/fesm2015/flywheel-io-vision.mjs.map +0 -1
- package/fesm2020/flywheel-io-vision.mjs.map +0 -1
- package/flywheel-io-vision-2.0.0-beta-4.tgz +0 -0
- /package/{esm2020 → esm2022}/components/paginator/paginator.model.mjs +0 -0
- /package/{esm2020 → esm2022}/components/phone-input/country-code.data.mjs +0 -0
- /package/{esm2020 → esm2022}/components/phone-input/phone-input.model.mjs +0 -0
- /package/{esm2020 → esm2022}/components/snackbar/snackbar-message.model.mjs +0 -0
- /package/{esm2020 → esm2022}/components/snackbar/snackbar-timer.service.mjs +0 -0
- /package/{esm2020 → esm2022}/flywheel-io-vision.mjs +0 -0
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@angular/forms";
|
|
5
|
-
import * as i3 from "../../icon/icon.component";
|
|
6
|
-
import * as i4 from "../../menu/menu-item/menu-item.component";
|
|
7
|
-
import * as i5 from "../../select-menu/select-menu.component";
|
|
8
|
-
export class FwPaginatorAdvancedComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.disabled = false;
|
|
11
|
-
this.showNext = true;
|
|
12
|
-
this.showPrevious = true;
|
|
13
|
-
this.showFirst = false;
|
|
14
|
-
this.showLast = false;
|
|
15
|
-
this.pageIndex = 0;
|
|
16
|
-
this.pageSizeOptions = [10, 25, 50, 100];
|
|
17
|
-
this.length = 0;
|
|
18
|
-
this.alignment = 'center';
|
|
19
|
-
this.selectorTitle = 'Items per page:';
|
|
20
|
-
this._pageSize = 10;
|
|
21
|
-
this.page = new EventEmitter();
|
|
22
|
-
}
|
|
23
|
-
get pageSize() {
|
|
24
|
-
return this._pageSize;
|
|
25
|
-
}
|
|
26
|
-
set pageSize(newSize) {
|
|
27
|
-
this._pageSize = parseInt(newSize.toString());
|
|
28
|
-
this.pageIndex = 0;
|
|
29
|
-
const pageEvt = this.buildPageEvent(0);
|
|
30
|
-
this.page.emit(pageEvt);
|
|
31
|
-
}
|
|
32
|
-
buildPageEvent(pageIndex) {
|
|
33
|
-
return {
|
|
34
|
-
length: this.length,
|
|
35
|
-
pageSize: this.pageSize,
|
|
36
|
-
pageIndex: pageIndex,
|
|
37
|
-
previousPageIndex: this.pageIndex,
|
|
38
|
-
rowIndexStart: this.getRowIndexStart(pageIndex),
|
|
39
|
-
rowIndexEnd: this.getRowIndexEnd(pageIndex),
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
firstPage() {
|
|
43
|
-
const evt = this.buildPageEvent(1);
|
|
44
|
-
this.pageIndex = 0;
|
|
45
|
-
this.page.emit(evt);
|
|
46
|
-
}
|
|
47
|
-
lastPage() {
|
|
48
|
-
const evt = this.buildPageEvent(this.getNumberOfPages());
|
|
49
|
-
this.pageIndex = this.getNumberOfPages() - 1;
|
|
50
|
-
this.page.emit(evt);
|
|
51
|
-
}
|
|
52
|
-
nextPage() {
|
|
53
|
-
if (this.hasNextPage()) {
|
|
54
|
-
const evt = this.buildPageEvent(this.pageIndex + 1);
|
|
55
|
-
this.pageIndex++;
|
|
56
|
-
this.page.emit(evt);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
previousPage() {
|
|
60
|
-
if (this.hasPreviousPage()) {
|
|
61
|
-
const evt = this.buildPageEvent(this.pageIndex - 1);
|
|
62
|
-
this.pageIndex--;
|
|
63
|
-
this.page.emit(evt);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
setPage(pageNumber) {
|
|
67
|
-
const evt = this.buildPageEvent(pageNumber);
|
|
68
|
-
this.pageIndex = pageNumber;
|
|
69
|
-
this.page.emit(evt);
|
|
70
|
-
}
|
|
71
|
-
getNumberOfPages() {
|
|
72
|
-
return Math.ceil(this.length / this.pageSize);
|
|
73
|
-
}
|
|
74
|
-
getRowIndexStart(pageIndex) {
|
|
75
|
-
const index = pageIndex !== undefined ? pageIndex : this.pageIndex;
|
|
76
|
-
return index * this.pageSize;
|
|
77
|
-
}
|
|
78
|
-
getRowIndexEnd(pageIndex) {
|
|
79
|
-
const index = pageIndex !== undefined ? pageIndex : this.pageIndex;
|
|
80
|
-
let indexEnd = (index * this.pageSize) + this.pageSize - 1;
|
|
81
|
-
if (indexEnd > this.length) {
|
|
82
|
-
indexEnd = this.length - 1;
|
|
83
|
-
}
|
|
84
|
-
return indexEnd;
|
|
85
|
-
}
|
|
86
|
-
hasNextPage() {
|
|
87
|
-
return (this.pageIndex !== this.getNumberOfPages() - 1);
|
|
88
|
-
}
|
|
89
|
-
hasPreviousPage() {
|
|
90
|
-
return (this.pageIndex > 0);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
FwPaginatorAdvancedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwPaginatorAdvancedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
94
|
-
FwPaginatorAdvancedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FwPaginatorAdvancedComponent, selector: "fw-paginator-advanced", inputs: { disabled: "disabled", showNext: "showNext", showPrevious: "showPrevious", showFirst: "showFirst", showLast: "showLast", pageIndex: "pageIndex", pageSizeOptions: "pageSizeOptions", length: "length", alignment: "alignment", selectorTitle: "selectorTitle", pageSize: "pageSize" }, outputs: { page: "page" }, ngImport: i0, template: "<div [ngClass]=\"['paginator', alignment]\">\n <div class=\"pages-selector\">\n <div>\n <p class=\"vision-p2\" [ngClass]=\"disabled?'disabled':''\">{{ selectorTitle }}</p>\n \n <fw-select\n [disabled]=\"disabled\" width=\"80px\" placeholder=\"Size\"\n [(ngModel)]=\"pageSize\">\n <fw-menu-item\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size.toString()\"\n [title]=\"size.toString()\"\n [selected]=\"pageSize.toString()===size.toString()\"\n [disabled]=\"disabled\"\n ></fw-menu-item>\n </fw-select>\n </div>\n <p class=\"vision-p2 record-count\" [ngClass]=\"disabled?'disabled':''\">\n {{ getRowIndexStart() + 1 }}-{{ getRowIndexEnd() + 1 }}\n of {{ length }}</p>\n <div>\n <button\n *ngIf=\"showFirst\"\n class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"firstPage()\">\n <fw-icon>arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"previousPage()\">\n <fw-icon>chevron-back</fw-icon>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon>chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon>arrow-forward-collapse</fw-icon>\n </button>\n </div>\n </div>\n</div>\n", styles: [":host .paginator{display:flex}:host .paginator button{border:none;background-color:transparent}:host .paginator .page-item{box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;align-items:center;border-radius:4px}:host .paginator .page-item:disabled{color:var(--typography-muted);cursor:not-allowed}:host .paginator .page-item:disabled h4{opacity:.4}:host .paginator .page-action fw-icon{font-size:22px;color:var(--typography-base)}:host .paginator .page-action:disabled{opacity:.4}:host .paginator .pages-list{box-sizing:border-box;display:flex;gap:4px}:host .paginator .pages-list .page-number h4{margin:0;color:var(--typography-base)}:host .paginator .pages-list .page-number:disabled h4{color:var(--slate-base)!important}:host .paginator .pages-list .page-active{background-color:var(--slate-focus)}:host .paginator .pages-list .page-active:disabled{background-color:transparent}:host .paginator.start{justify-content:flex-start}:host .paginator.center{justify-content:center}:host .paginator.end{justify-content:flex-end}:host .paginator.large .page-item{width:40px;height:40px}:host .paginator.medium .page-item{width:32px;height:32px}:host .paginator.small .page-item{width:26px;height:26px}:host .paginator.primary .page-active:not(:disabled){background-color:var(--primary-base)!important}:host .paginator.primary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.secondary .page-active:not(:disabled){background-color:var(--secondary-base)!important}:host .paginator.secondary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.outline .page-item{border:1px solid var(--slate-border)}:host .paginator.outline .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.primary .page-active{background-color:var(--primary-hover)!important;border-color:var(--primary-border)!important}:host .paginator.outline.primary .page-active h4{color:var(--primary-base)!important}:host .paginator.outline.primary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.secondary .page-active{background-color:var(--secondary-hover)!important;border-color:var(--secondary-border)!important}:host .paginator.outline.secondary .page-active h4{color:var(--secondary-base)!important}:host .paginator.outline.secondary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.solid .page-item{border:1px solid var(--slate-border);background-color:var(--card-background)}:host .paginator.solid .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:var(--card-background)!important;opacity:.4}:host .paginator.solid .page-number:disabled h4{opacity:1}:host .paginator.circle .page-number{border-radius:999px!important}:host .paginator .pages-selector{display:flex;align-items:center;justify-content:flex-end;gap:16px}:host .paginator .pages-selector>div{display:flex;align-items:center}:host .paginator .pages-selector fw-icon{font-size:22px}:host .paginator .pages-selector .record-count{min-width:130px;text-align:center}:host .paginator .pages-selector p.disabled{color:var(--typography-light)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i4.FwMenuItemComponent, selector: "fw-menu-item", inputs: ["value", "size", "title", "description", "icon", "iconColor", "disabled", "showCheckbox", "checkboxColor", "multiSelect", "hidden", "collapsed", "href", "target", "subItemsOpen", "focused", "selected", "variant"], outputs: ["click"] }, { kind: "component", type: i5.FwSelectMenuComponent, selector: "fw-select", inputs: ["options", "valueProperty", "titleProperty", "iconProperty", "staticIcon", "descriptionProperty", "showFilter", "showReset", "disabled", "errored", "width", "optionsWidth", "minOptionsHeight", "maxOptionsHeight", "size", "placeholder", "value"], outputs: ["change", "filterChanged"] }] });
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwPaginatorAdvancedComponent, decorators: [{
|
|
96
|
-
type: Component,
|
|
97
|
-
args: [{ selector: 'fw-paginator-advanced', template: "<div [ngClass]=\"['paginator', alignment]\">\n <div class=\"pages-selector\">\n <div>\n <p class=\"vision-p2\" [ngClass]=\"disabled?'disabled':''\">{{ selectorTitle }}</p>\n \n <fw-select\n [disabled]=\"disabled\" width=\"80px\" placeholder=\"Size\"\n [(ngModel)]=\"pageSize\">\n <fw-menu-item\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size.toString()\"\n [title]=\"size.toString()\"\n [selected]=\"pageSize.toString()===size.toString()\"\n [disabled]=\"disabled\"\n ></fw-menu-item>\n </fw-select>\n </div>\n <p class=\"vision-p2 record-count\" [ngClass]=\"disabled?'disabled':''\">\n {{ getRowIndexStart() + 1 }}-{{ getRowIndexEnd() + 1 }}\n of {{ length }}</p>\n <div>\n <button\n *ngIf=\"showFirst\"\n class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"firstPage()\">\n <fw-icon>arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"previousPage()\">\n <fw-icon>chevron-back</fw-icon>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon>chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon>arrow-forward-collapse</fw-icon>\n </button>\n </div>\n </div>\n</div>\n", styles: [":host .paginator{display:flex}:host .paginator button{border:none;background-color:transparent}:host .paginator .page-item{box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;align-items:center;border-radius:4px}:host .paginator .page-item:disabled{color:var(--typography-muted);cursor:not-allowed}:host .paginator .page-item:disabled h4{opacity:.4}:host .paginator .page-action fw-icon{font-size:22px;color:var(--typography-base)}:host .paginator .page-action:disabled{opacity:.4}:host .paginator .pages-list{box-sizing:border-box;display:flex;gap:4px}:host .paginator .pages-list .page-number h4{margin:0;color:var(--typography-base)}:host .paginator .pages-list .page-number:disabled h4{color:var(--slate-base)!important}:host .paginator .pages-list .page-active{background-color:var(--slate-focus)}:host .paginator .pages-list .page-active:disabled{background-color:transparent}:host .paginator.start{justify-content:flex-start}:host .paginator.center{justify-content:center}:host .paginator.end{justify-content:flex-end}:host .paginator.large .page-item{width:40px;height:40px}:host .paginator.medium .page-item{width:32px;height:32px}:host .paginator.small .page-item{width:26px;height:26px}:host .paginator.primary .page-active:not(:disabled){background-color:var(--primary-base)!important}:host .paginator.primary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.secondary .page-active:not(:disabled){background-color:var(--secondary-base)!important}:host .paginator.secondary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.outline .page-item{border:1px solid var(--slate-border)}:host .paginator.outline .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.primary .page-active{background-color:var(--primary-hover)!important;border-color:var(--primary-border)!important}:host .paginator.outline.primary .page-active h4{color:var(--primary-base)!important}:host .paginator.outline.primary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.secondary .page-active{background-color:var(--secondary-hover)!important;border-color:var(--secondary-border)!important}:host .paginator.outline.secondary .page-active h4{color:var(--secondary-base)!important}:host .paginator.outline.secondary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.solid .page-item{border:1px solid var(--slate-border);background-color:var(--card-background)}:host .paginator.solid .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:var(--card-background)!important;opacity:.4}:host .paginator.solid .page-number:disabled h4{opacity:1}:host .paginator.circle .page-number{border-radius:999px!important}:host .paginator .pages-selector{display:flex;align-items:center;justify-content:flex-end;gap:16px}:host .paginator .pages-selector>div{display:flex;align-items:center}:host .paginator .pages-selector fw-icon{font-size:22px}:host .paginator .pages-selector .record-count{min-width:130px;text-align:center}:host .paginator .pages-selector p.disabled{color:var(--typography-light)}\n"] }]
|
|
98
|
-
}], propDecorators: { disabled: [{
|
|
99
|
-
type: Input
|
|
100
|
-
}], showNext: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], showPrevious: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], showFirst: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], showLast: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], pageIndex: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], pageSizeOptions: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}], length: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], alignment: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], selectorTitle: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], pageSize: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], page: [{
|
|
121
|
-
type: Output
|
|
122
|
-
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLWFkdmFuY2VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3ItYWR2YW5jZWQvcGFnaW5hdG9yLWFkdmFuY2VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3ItYWR2YW5jZWQvcGFnaW5hdG9yLWFkdmFuY2VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFTdkUsTUFBTSxPQUFPLDRCQUE0QjtJQUx6QztRQU1XLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUM3QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixvQkFBZSxHQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUMsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixjQUFTLEdBQStCLFFBQVEsQ0FBQztRQUNqRCxrQkFBYSxHQUFXLGlCQUFpQixDQUFDO1FBYzNDLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDckIsU0FBSSxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztLQXdFdkY7SUFyRkMsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxPQUFlO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLE9B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QUM7UUFDbkUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQzNELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDMUIsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7OzBIQWhHVSw0QkFBNEI7OEdBQTVCLDRCQUE0Qix3WENUekMsbXVEQTZDQTs0RkRwQ2EsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFLeEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdGLFFBQVE7c0JBRFgsS0FBSztnQkFhSSxJQUFJO3NCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGd1BhZ2luYXRvckV2ZW50IH0gZnJvbSAnLi4vcGFnaW5hdG9yLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctcGFnaW5hdG9yLWFkdmFuY2VkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRvci1hZHZhbmNlZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRvci1hZHZhbmNlZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGd1BhZ2luYXRvckFkdmFuY2VkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd05leHQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93UHJldmlvdXM6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93Rmlyc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd0xhc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcGFnZUluZGV4OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdID0gWzEwLCAyNSwgNTAsIDEwMF07XG4gIEBJbnB1dCgpIGxlbmd0aDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgYWxpZ25tZW50OiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJyA9ICdjZW50ZXInO1xuICBASW5wdXQoKSBzZWxlY3RvclRpdGxlOiBzdHJpbmcgPSAnSXRlbXMgcGVyIHBhZ2U6JztcblxuICBASW5wdXQoKVxuICBnZXQgcGFnZVNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZVNpemU7XG4gIH1cblxuICBzZXQgcGFnZVNpemUobmV3U2l6ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fcGFnZVNpemUgPSBwYXJzZUludChuZXdTaXplLnRvU3RyaW5nKCkpO1xuICAgIHRoaXMucGFnZUluZGV4ID0gMDtcbiAgICBjb25zdCBwYWdlRXZ0ID0gdGhpcy5idWlsZFBhZ2VFdmVudCgwKTtcbiAgICB0aGlzLnBhZ2UuZW1pdChwYWdlRXZ0KTtcbiAgfVxuXG4gIHByaXZhdGUgX3BhZ2VTaXplOiBudW1iZXIgPSAxMDtcbiAgQE91dHB1dCgpIHBhZ2U6IEV2ZW50RW1pdHRlcjxGd1BhZ2luYXRvckV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RndQYWdpbmF0b3JFdmVudD4oKTtcblxuICBwcml2YXRlIGJ1aWxkUGFnZUV2ZW50KHBhZ2VJbmRleDogbnVtYmVyKTogRndQYWdpbmF0b3JFdmVudCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxlbmd0aDogdGhpcy5sZW5ndGgsXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcbiAgICAgIHBhZ2VJbmRleDogcGFnZUluZGV4LFxuICAgICAgcHJldmlvdXNQYWdlSW5kZXg6IHRoaXMucGFnZUluZGV4LFxuICAgICAgcm93SW5kZXhTdGFydDogdGhpcy5nZXRSb3dJbmRleFN0YXJ0KHBhZ2VJbmRleCksXG4gICAgICByb3dJbmRleEVuZDogdGhpcy5nZXRSb3dJbmRleEVuZChwYWdlSW5kZXgpLFxuICAgIH07XG4gIH1cblxuICBmaXJzdFBhZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgZXZ0ID0gdGhpcy5idWlsZFBhZ2VFdmVudCgxKTtcbiAgICB0aGlzLnBhZ2VJbmRleCA9IDA7XG4gICAgdGhpcy5wYWdlLmVtaXQoZXZ0KTtcbiAgfVxuXG4gIGxhc3RQYWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IGV2dCA9IHRoaXMuYnVpbGRQYWdlRXZlbnQodGhpcy5nZXROdW1iZXJPZlBhZ2VzKCkpO1xuICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5nZXROdW1iZXJPZlBhZ2VzKCkgLSAxO1xuICAgIHRoaXMucGFnZS5lbWl0KGV2dCk7XG4gIH1cblxuICBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNOZXh0UGFnZSgpKSB7XG4gICAgICBjb25zdCBldnQgPSB0aGlzLmJ1aWxkUGFnZUV2ZW50KHRoaXMucGFnZUluZGV4ICsgMSk7XG4gICAgICB0aGlzLnBhZ2VJbmRleCsrO1xuICAgICAgdGhpcy5wYWdlLmVtaXQoZXZ0KTtcbiAgICB9XG4gIH1cblxuICBwcmV2aW91c1BhZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGFzUHJldmlvdXNQYWdlKCkpIHtcbiAgICAgIGNvbnN0IGV2dCA9IHRoaXMuYnVpbGRQYWdlRXZlbnQodGhpcy5wYWdlSW5kZXggLSAxKTtcbiAgICAgIHRoaXMucGFnZUluZGV4LS07XG4gICAgICB0aGlzLnBhZ2UuZW1pdChldnQpO1xuICAgIH1cbiAgfVxuXG4gIHNldFBhZ2UocGFnZU51bWJlcjogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgZXZ0ID0gdGhpcy5idWlsZFBhZ2VFdmVudChwYWdlTnVtYmVyKTtcbiAgICB0aGlzLnBhZ2VJbmRleCA9IHBhZ2VOdW1iZXI7XG4gICAgdGhpcy5wYWdlLmVtaXQoZXZ0KTtcbiAgfVxuXG4gIGdldE51bWJlck9mUGFnZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSk7XG4gIH1cblxuICBnZXRSb3dJbmRleFN0YXJ0KHBhZ2VJbmRleD86IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgaW5kZXggPSBwYWdlSW5kZXggIT09IHVuZGVmaW5lZCA/IHBhZ2VJbmRleCA6IHRoaXMucGFnZUluZGV4O1xuICAgIHJldHVybiBpbmRleCAqIHRoaXMucGFnZVNpemU7XG4gIH1cblxuICBnZXRSb3dJbmRleEVuZChwYWdlSW5kZXg/OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IGluZGV4ID0gcGFnZUluZGV4ICE9PSB1bmRlZmluZWQgPyBwYWdlSW5kZXggOiB0aGlzLnBhZ2VJbmRleDtcbiAgICBsZXQgaW5kZXhFbmQgPSAoaW5kZXggKiB0aGlzLnBhZ2VTaXplKSArIHRoaXMucGFnZVNpemUgLSAxO1xuICAgIGlmIChpbmRleEVuZCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgICBpbmRleEVuZCA9IHRoaXMubGVuZ3RoIC0gMTtcbiAgICB9XG4gICAgcmV0dXJuIGluZGV4RW5kO1xuICB9XG5cbiAgaGFzTmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLnBhZ2VJbmRleCAhPT0gdGhpcy5nZXROdW1iZXJPZlBhZ2VzKCkgLSAxKTtcbiAgfVxuXG4gIGhhc1ByZXZpb3VzUGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMucGFnZUluZGV4ID4gMCk7XG4gIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiWydwYWdpbmF0b3InLCBhbGlnbm1lbnRdXCI+XG4gIDxkaXYgY2xhc3M9XCJwYWdlcy1zZWxlY3RvclwiPlxuICAgIDxkaXY+XG4gICAgICA8cCBjbGFzcz1cInZpc2lvbi1wMlwiIFtuZ0NsYXNzXT1cImRpc2FibGVkPydkaXNhYmxlZCc6JydcIj57eyBzZWxlY3RvclRpdGxlIH19PC9wPlxuICAgICAgJm5ic3A7XG4gICAgICA8Znctc2VsZWN0XG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIHdpZHRoPVwiODBweFwiIHBsYWNlaG9sZGVyPVwiU2l6ZVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwicGFnZVNpemVcIj5cbiAgICAgICAgPGZ3LW1lbnUtaXRlbVxuICAgICAgICAgICpuZ0Zvcj1cImxldCBzaXplIG9mIHBhZ2VTaXplT3B0aW9uc1wiXG4gICAgICAgICAgW3ZhbHVlXT1cInNpemUudG9TdHJpbmcoKVwiXG4gICAgICAgICAgW3RpdGxlXT1cInNpemUudG9TdHJpbmcoKVwiXG4gICAgICAgICAgW3NlbGVjdGVkXT1cInBhZ2VTaXplLnRvU3RyaW5nKCk9PT1zaXplLnRvU3RyaW5nKClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID48L2Z3LW1lbnUtaXRlbT5cbiAgICAgIDwvZnctc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxwIGNsYXNzPVwidmlzaW9uLXAyIHJlY29yZC1jb3VudFwiIFtuZ0NsYXNzXT1cImRpc2FibGVkPydkaXNhYmxlZCc6JydcIj5cbiAgICAgIHt7IGdldFJvd0luZGV4U3RhcnQoKSArIDEgfX0te3sgZ2V0Um93SW5kZXhFbmQoKSArIDEgfX1cbiAgICAgIG9mIHt7IGxlbmd0aCB9fTwvcD5cbiAgICA8ZGl2PlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInNob3dGaXJzdFwiXG4gICAgICAgIGNsYXNzPVwicGFnZS1pdGVtIHBhZ2UtYWN0aW9uIHBhZ2UtZmlyc3RcIiBbZGlzYWJsZWRdPVwiIWhhc1ByZXZpb3VzUGFnZSgpIHx8ICBkaXNhYmxlZFwiIChjbGljayk9XCJmaXJzdFBhZ2UoKVwiPlxuICAgICAgICA8ZnctaWNvbj5hcnJvdy1iYWNrLWNvbGxhcHNlPC9mdy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwic2hvd1ByZXZpb3VzXCJcbiAgICAgICAgY2xhc3M9XCJwYWdlLWl0ZW0gcGFnZS1hY3Rpb24gcGFnZS1wcmV2aW91c1wiIFtkaXNhYmxlZF09XCIhaGFzUHJldmlvdXNQYWdlKCkgfHwgZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwicHJldmlvdXNQYWdlKClcIj5cbiAgICAgICAgPGZ3LWljb24+Y2hldnJvbi1iYWNrPC9mdy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwic2hvd05leHRcIiBjbGFzcz1cInBhZ2UtaXRlbSBwYWdlLWFjdGlvbiBwYWdlLW5leHRcIiBbZGlzYWJsZWRdPVwiIWhhc05leHRQYWdlKCkgfHwgZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwibmV4dFBhZ2UoKVwiPlxuICAgICAgICA8ZnctaWNvbj5jaGV2cm9uLWZvcndhcmQ8L2Z3LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJzaG93TGFzdFwiIGNsYXNzPVwicGFnZS1pdGVtIHBhZ2UtYWN0aW9uIHBhZ2UtbGFzdFwiIFtkaXNhYmxlZF09XCIhaGFzTmV4dFBhZ2UoKSB8fCBkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJsYXN0UGFnZSgpXCI+XG4gICAgICAgIDxmdy1pY29uPmFycm93LWZvcndhcmQtY29sbGFwc2U8L2Z3LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "../icon/icon.component";
|
|
5
|
-
export class FwPaginatorComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.size = 'medium';
|
|
8
|
-
this.color = 'slate';
|
|
9
|
-
this.shape = 'rounded';
|
|
10
|
-
this.variant = 'ghost';
|
|
11
|
-
this.disabled = false;
|
|
12
|
-
this.showNext = true;
|
|
13
|
-
this.showPrevious = true;
|
|
14
|
-
this.showFirst = false;
|
|
15
|
-
this.showLast = false;
|
|
16
|
-
this.pageIndex = 0;
|
|
17
|
-
this.pageSize = 10;
|
|
18
|
-
this.maxPagesShown = 10;
|
|
19
|
-
this.length = 0;
|
|
20
|
-
this.alignment = 'center';
|
|
21
|
-
this.selectorTitle = 'Items per page:';
|
|
22
|
-
this.page = new EventEmitter();
|
|
23
|
-
}
|
|
24
|
-
buildPageEvent(pageIndex) {
|
|
25
|
-
return {
|
|
26
|
-
length: this.length,
|
|
27
|
-
pageSize: this.pageSize,
|
|
28
|
-
pageIndex: pageIndex,
|
|
29
|
-
previousPageIndex: this.pageIndex,
|
|
30
|
-
rowIndexStart: this.getRowIndexStart(pageIndex),
|
|
31
|
-
rowIndexEnd: this.getRowIndexEnd(pageIndex),
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
firstPage() {
|
|
35
|
-
const evt = this.buildPageEvent(0);
|
|
36
|
-
this.pageIndex = 0;
|
|
37
|
-
this.page.emit(evt);
|
|
38
|
-
}
|
|
39
|
-
lastPage() {
|
|
40
|
-
const evt = this.buildPageEvent(this.getNumberOfPages());
|
|
41
|
-
this.pageIndex = this.getNumberOfPages() - 1;
|
|
42
|
-
this.page.emit(evt);
|
|
43
|
-
}
|
|
44
|
-
nextPage() {
|
|
45
|
-
if (this.hasNextPage()) {
|
|
46
|
-
const evt = this.buildPageEvent(this.pageIndex + 1);
|
|
47
|
-
this.pageIndex++;
|
|
48
|
-
this.page.emit(evt);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
previousPage() {
|
|
52
|
-
if (this.hasPreviousPage()) {
|
|
53
|
-
const evt = this.buildPageEvent(this.pageIndex - 1);
|
|
54
|
-
this.pageIndex--;
|
|
55
|
-
this.page.emit(evt);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
setPage(pageIndex) {
|
|
59
|
-
const evt = this.buildPageEvent(pageIndex);
|
|
60
|
-
this.pageIndex = pageIndex;
|
|
61
|
-
this.page.emit(evt);
|
|
62
|
-
}
|
|
63
|
-
getPages() {
|
|
64
|
-
const pages = [];
|
|
65
|
-
const currentSet = Math.ceil((this.pageIndex + 1) / this.maxPagesShown);
|
|
66
|
-
for (let i = 0; i < this.getNumberOfPages(); i++) {
|
|
67
|
-
if (currentSet === Math.ceil((i + 1) / this.maxPagesShown)) {
|
|
68
|
-
pages.push({ pageIndex: i, number: i + 1, active: this.pageIndex === i });
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return pages;
|
|
72
|
-
}
|
|
73
|
-
getNumberOfPages() {
|
|
74
|
-
return Math.ceil(this.length / this.pageSize);
|
|
75
|
-
}
|
|
76
|
-
getRowIndexStart(pageIndex) {
|
|
77
|
-
const index = pageIndex !== undefined ? pageIndex : this.pageIndex;
|
|
78
|
-
return index * this.pageSize;
|
|
79
|
-
}
|
|
80
|
-
getRowIndexEnd(pageIndex) {
|
|
81
|
-
const index = pageIndex !== undefined ? pageIndex : this.pageIndex;
|
|
82
|
-
let indexEnd = (index * this.pageSize) + this.pageSize - 1;
|
|
83
|
-
if (indexEnd >= this.length) {
|
|
84
|
-
indexEnd = this.length - 1;
|
|
85
|
-
}
|
|
86
|
-
return indexEnd;
|
|
87
|
-
}
|
|
88
|
-
hasNextPage() {
|
|
89
|
-
return (this.pageIndex !== this.getNumberOfPages() - 1);
|
|
90
|
-
}
|
|
91
|
-
hasPreviousPage() {
|
|
92
|
-
return (this.pageIndex > 0);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
FwPaginatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
-
FwPaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FwPaginatorComponent, selector: "fw-paginator", inputs: { size: "size", color: "color", shape: "shape", variant: "variant", disabled: "disabled", showNext: "showNext", showPrevious: "showPrevious", showFirst: "showFirst", showLast: "showLast", pageIndex: "pageIndex", pageSize: "pageSize", maxPagesShown: "maxPagesShown", length: "length", alignment: "alignment", selectorTitle: "selectorTitle" }, outputs: { page: "page" }, ngImport: i0, template: "<div [ngClass]=\"['paginator', variant, color, size, shape, alignment]\">\n <div class=\"pages-list\">\n <button\n *ngIf=\"showFirst\" class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"firstPage()\">\n <fw-icon size=\"small\" color=\"typography\">arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"previousPage()\">\n <fw-icon size=\"small\" color=\"typography\">chevron-back</fw-icon>\n </button>\n <button\n [ngClass]=\"['page-item', 'page-number', page.active ? 'page-active': '']\"\n [disabled]=\"disabled\"\n *ngFor=\"let page of getPages()\"\n (click)=\"setPage(page.pageIndex)\"\n >\n <h4 class=\"vision-h4\">{{ page.number }}</h4>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon size=\"small\" color=\"typography\">chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon size=\"small\" color=\"typography\">arrow-forward-collapse</fw-icon>\n </button>\n </div>\n</div>\n", styles: [":host .paginator{display:flex}:host .paginator button{border:none;background-color:transparent}:host .paginator .page-item{box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;align-items:center;border-radius:4px}:host .paginator .page-item:disabled{color:var(--typography-muted);cursor:not-allowed}:host .paginator .page-item:disabled h4{opacity:.4}:host .paginator .page-action:disabled{opacity:.4}:host .paginator .pages-list{box-sizing:border-box;display:flex;gap:4px}:host .paginator .pages-list .page-number h4{margin:0;color:var(--typography-base)}:host .paginator .pages-list .page-number:disabled h4{color:var(--slate-base)!important}:host .paginator .pages-list .page-active{background-color:var(--slate-focus)}:host .paginator .pages-list .page-active:disabled{background-color:transparent}:host .paginator.start{justify-content:flex-start}:host .paginator.center{justify-content:center}:host .paginator.end{justify-content:flex-end}:host .paginator.large .page-item{width:40px;height:40px}:host .paginator.medium .page-item{width:32px;height:32px}:host .paginator.small .page-item{width:26px;height:26px}:host .paginator.primary .page-active:not(:disabled){background-color:var(--primary-base)!important}:host .paginator.primary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.secondary .page-active:not(:disabled){background-color:var(--secondary-base)!important}:host .paginator.secondary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.outline .page-item{border:1px solid var(--slate-border)}:host .paginator.outline .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.primary .page-active{background-color:var(--primary-hover)!important;border-color:var(--primary-border)!important}:host .paginator.outline.primary .page-active h4{color:var(--primary-base)!important}:host .paginator.outline.primary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.secondary .page-active{background-color:var(--secondary-hover)!important;border-color:var(--secondary-border)!important}:host .paginator.outline.secondary .page-active h4{color:var(--secondary-base)!important}:host .paginator.outline.secondary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.solid .page-item{border:1px solid var(--slate-border);background-color:var(--card-background)}:host .paginator.solid .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:var(--card-background)!important;opacity:.4}:host .paginator.solid .page-number:disabled h4{opacity:1}:host .paginator.circle .page-number{border-radius:999px!important}:host .paginator .pages-selector{display:flex;align-items:center;justify-content:flex-end;gap:16px}:host .paginator .pages-selector>div{display:flex;align-items:center}:host .paginator .pages-selector fw-icon{font-size:22px}:host .paginator .pages-selector .record-count{min-width:130px;text-align:center}:host .paginator .pages-selector p.disabled{color:var(--typography-light)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] });
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwPaginatorComponent, decorators: [{
|
|
98
|
-
type: Component,
|
|
99
|
-
args: [{ selector: 'fw-paginator', template: "<div [ngClass]=\"['paginator', variant, color, size, shape, alignment]\">\n <div class=\"pages-list\">\n <button\n *ngIf=\"showFirst\" class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"firstPage()\">\n <fw-icon size=\"small\" color=\"typography\">arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"previousPage()\">\n <fw-icon size=\"small\" color=\"typography\">chevron-back</fw-icon>\n </button>\n <button\n [ngClass]=\"['page-item', 'page-number', page.active ? 'page-active': '']\"\n [disabled]=\"disabled\"\n *ngFor=\"let page of getPages()\"\n (click)=\"setPage(page.pageIndex)\"\n >\n <h4 class=\"vision-h4\">{{ page.number }}</h4>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon size=\"small\" color=\"typography\">chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon size=\"small\" color=\"typography\">arrow-forward-collapse</fw-icon>\n </button>\n </div>\n</div>\n", styles: [":host .paginator{display:flex}:host .paginator button{border:none;background-color:transparent}:host .paginator .page-item{box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;align-items:center;border-radius:4px}:host .paginator .page-item:disabled{color:var(--typography-muted);cursor:not-allowed}:host .paginator .page-item:disabled h4{opacity:.4}:host .paginator .page-action:disabled{opacity:.4}:host .paginator .pages-list{box-sizing:border-box;display:flex;gap:4px}:host .paginator .pages-list .page-number h4{margin:0;color:var(--typography-base)}:host .paginator .pages-list .page-number:disabled h4{color:var(--slate-base)!important}:host .paginator .pages-list .page-active{background-color:var(--slate-focus)}:host .paginator .pages-list .page-active:disabled{background-color:transparent}:host .paginator.start{justify-content:flex-start}:host .paginator.center{justify-content:center}:host .paginator.end{justify-content:flex-end}:host .paginator.large .page-item{width:40px;height:40px}:host .paginator.medium .page-item{width:32px;height:32px}:host .paginator.small .page-item{width:26px;height:26px}:host .paginator.primary .page-active:not(:disabled){background-color:var(--primary-base)!important}:host .paginator.primary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.secondary .page-active:not(:disabled){background-color:var(--secondary-base)!important}:host .paginator.secondary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.outline .page-item{border:1px solid var(--slate-border)}:host .paginator.outline .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.primary .page-active{background-color:var(--primary-hover)!important;border-color:var(--primary-border)!important}:host .paginator.outline.primary .page-active h4{color:var(--primary-base)!important}:host .paginator.outline.primary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.secondary .page-active{background-color:var(--secondary-hover)!important;border-color:var(--secondary-border)!important}:host .paginator.outline.secondary .page-active h4{color:var(--secondary-base)!important}:host .paginator.outline.secondary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.solid .page-item{border:1px solid var(--slate-border);background-color:var(--card-background)}:host .paginator.solid .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:var(--card-background)!important;opacity:.4}:host .paginator.solid .page-number:disabled h4{opacity:1}:host .paginator.circle .page-number{border-radius:999px!important}:host .paginator .pages-selector{display:flex;align-items:center;justify-content:flex-end;gap:16px}:host .paginator .pages-selector>div{display:flex;align-items:center}:host .paginator .pages-selector fw-icon{font-size:22px}:host .paginator .pages-selector .record-count{min-width:130px;text-align:center}:host .paginator .pages-selector p.disabled{color:var(--typography-light)}\n"] }]
|
|
100
|
-
}], propDecorators: { size: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], color: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], shape: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], variant: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], disabled: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], showNext: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}], showPrevious: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], showFirst: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], showLast: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], pageIndex: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], pageSize: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}], maxPagesShown: [{
|
|
123
|
-
type: Input
|
|
124
|
-
}], length: [{
|
|
125
|
-
type: Input
|
|
126
|
-
}], alignment: [{
|
|
127
|
-
type: Input
|
|
128
|
-
}], selectorTitle: [{
|
|
129
|
-
type: Input
|
|
130
|
-
}], page: [{
|
|
131
|
-
type: Output
|
|
132
|
-
}] } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBZXZFLE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFNVyxTQUFJLEdBQWlDLFFBQVEsQ0FBQztRQUM5QyxVQUFLLEdBQXNDLE9BQU8sQ0FBQztRQUNuRCxVQUFLLEdBQXlCLFNBQVMsQ0FBQztRQUN4QyxZQUFPLEdBQWtDLE9BQU8sQ0FBQztRQUNqRCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDN0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFDdEIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ25CLGNBQVMsR0FBK0IsUUFBUSxDQUFDO1FBQ2pELGtCQUFhLEdBQVcsaUJBQWlCLENBQUM7UUFDekMsU0FBSSxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztLQW1GdkY7SUFqRlMsY0FBYyxDQUFDLFNBQWlCO1FBQ3RDLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLGlCQUFp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UTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRndQYWdpbmF0b3JFdmVudCB9IGZyb20gJy4vcGFnaW5hdG9yLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uUGFnZSB7XG4gIHBhZ2VJbmRleDogbnVtYmVyO1xuICBudW1iZXI6IG51bWJlcjtcbiAgYWN0aXZlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1wYWdpbmF0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdG9yLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZ3UGFnaW5hdG9yQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyA9ICdtZWRpdW0nO1xuICBASW5wdXQoKSBjb2xvcjogJ3NsYXRlJyB8ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknID0gJ3NsYXRlJztcbiAgQElucHV0KCkgc2hhcGU6ICdyb3VuZGVkJyB8ICdjaXJjbGUnID0gJ3JvdW5kZWQnO1xuICBASW5wdXQoKSB2YXJpYW50OiAnZ2hvc3QnIHwgJ291dGxpbmUnIHwgJ3NvbGlkJyA9ICdnaG9zdCc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dOZXh0OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1ByZXZpb3VzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0ZpcnN0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dMYXN0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlciA9IDEwO1xuICBASW5wdXQoKSBtYXhQYWdlc1Nob3duOiBudW1iZXIgPSAxMDtcbiAgQElucHV0KCkgbGVuZ3RoOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBhbGlnbm1lbnQ6ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnID0gJ2NlbnRlcic7XG4gIEBJbnB1dCgpIHNlbGVjdG9yVGl0bGU6IHN0cmluZyA9ICdJdGVtcyBwZXIgcGFnZTonO1xuICBAT3V0cHV0KCkgcGFnZTogRXZlbnRFbWl0dGVyPEZ3UGFnaW5hdG9yRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGd1BhZ2luYXRvckV2ZW50PigpO1xuXG4gIHByaXZhdGUgYnVpbGRQYWdlRXZlbnQocGFnZUluZGV4OiBudW1iZXIpOiBGd1BhZ2luYXRvckV2ZW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcbiAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxuICAgICAgcGFnZUluZGV4OiBwYWdlSW5kZXgsXG4gICAgICBwcmV2aW91c1BhZ2VJbmRleDogdGhpcy5wYWdlSW5kZXgsXG4gICAgICByb3dJbmRleFN0YXJ0OiB0aGlzLmdldFJvd0luZGV4U3RhcnQocGFnZUluZGV4KSxcbiAgICAgIHJvd0luZGV4RW5kOiB0aGlzLmdldFJvd0luZGV4RW5kKHBhZ2VJbmRleCksXG4gICAgfTtcbiAgfVxuXG4gIGZpcnN0UGFnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBldnQgPSB0aGlzLmJ1aWxkUGFnZUV2ZW50KDApO1xuICAgIHRoaXMucGFnZUluZGV4ID0gMDtcbiAgICB0aGlzLnBhZ2UuZW1pdChldnQpO1xuICB9XG5cbiAgbGFzdFBhZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgZXZ0ID0gdGhpcy5idWlsZFBhZ2VFdmVudCh0aGlzLmdldE51bWJlck9mUGFnZXMoKSk7XG4gICAgdGhpcy5wYWdlSW5kZXggPSB0aGlzLmdldE51bWJlck9mUGFnZXMoKSAtIDE7XG4gICAgdGhpcy5wYWdlLmVtaXQoZXZ0KTtcbiAgfVxuXG4gIG5leHRQYWdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc05leHRQYWdlKCkpIHtcbiAgICAgIGNvbnN0IGV2dCA9IHRoaXMuYnVpbGRQYWdlRXZlbnQodGhpcy5wYWdlSW5kZXggKyAxKTtcbiAgICAgIHRoaXMucGFnZUluZGV4Kys7XG4gICAgICB0aGlzLnBhZ2UuZW1pdChldnQpO1xuICAgIH1cbiAgfVxuXG4gIHByZXZpb3VzUGFnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNQcmV2aW91c1BhZ2UoKSkge1xuICAgICAgY29uc3QgZXZ0ID0gdGhpcy5idWlsZFBhZ2VFdmVudCh0aGlzLnBhZ2VJbmRleCAtIDEpO1xuICAgICAgdGhpcy5wYWdlSW5kZXgtLTtcbiAgICAgIHRoaXMucGFnZS5lbWl0KGV2dCk7XG4gICAgfVxuICB9XG5cbiAgc2V0UGFnZShwYWdlSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGV2dCA9IHRoaXMuYnVpbGRQYWdlRXZlbnQocGFnZUluZGV4KTtcbiAgICB0aGlzLnBhZ2VJbmRleCA9IHBhZ2VJbmRleDtcbiAgICB0aGlzLnBhZ2UuZW1pdChldnQpO1xuICB9XG5cbiAgZ2V0UGFnZXMoKTogUGFnaW5hdGlvblBhZ2VbXSB7XG4gICAgY29uc3QgcGFnZXM6IFBhZ2luYXRpb25QYWdlW10gPSBbXTtcbiAgICBjb25zdCBjdXJyZW50U2V0ID0gTWF0aC5jZWlsKCh0aGlzLnBhZ2VJbmRleCArIDEpIC8gdGhpcy5tYXhQYWdlc1Nob3duKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZ2V0TnVtYmVyT2ZQYWdlcygpOyBpKyspIHtcbiAgICAgIGlmIChjdXJyZW50U2V0ID09PSBNYXRoLmNlaWwoKGkgKyAxKSAvIHRoaXMubWF4UGFnZXNTaG93bikpIHtcbiAgICAgICAgcGFnZXMucHVzaCh7IHBhZ2VJbmRleDogaSwgbnVtYmVyOiBpICsgMSwgYWN0aXZlOiB0aGlzLnBhZ2VJbmRleCA9PT0gaSB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBhZ2VzO1xuICB9XG5cbiAgZ2V0TnVtYmVyT2ZQYWdlcygpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKTtcbiAgfVxuXG4gIGdldFJvd0luZGV4U3RhcnQocGFnZUluZGV4PzogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBpbmRleCA9IHBhZ2VJbmRleCAhPT0gdW5kZWZpbmVkID8gcGFnZUluZGV4IDogdGhpcy5wYWdlSW5kZXg7XG4gICAgcmV0dXJuIGluZGV4ICogdGhpcy5wYWdlU2l6ZTtcbiAgfVxuXG4gIGdldFJvd0luZGV4RW5kKHBhZ2VJbmRleD86IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgaW5kZXggPSBwYWdlSW5kZXggIT09IHVuZGVmaW5lZCA/IHBhZ2VJbmRleCA6IHRoaXMucGFnZUluZGV4O1xuICAgIGxldCBpbmRleEVuZCA9IChpbmRleCAqIHRoaXMucGFnZVNpemUpICsgdGhpcy5wYWdlU2l6ZSAtIDE7XG4gICAgaWYgKGluZGV4RW5kID49IHRoaXMubGVuZ3RoKSB7XG4gICAgICBpbmRleEVuZCA9IHRoaXMubGVuZ3RoIC0gMTtcbiAgICB9XG4gICAgcmV0dXJuIGluZGV4RW5kO1xuICB9XG5cbiAgaGFzTmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLnBhZ2VJbmRleCAhPT0gdGhpcy5nZXROdW1iZXJPZlBhZ2VzKCkgLSAxKTtcbiAgfVxuXG4gIGhhc1ByZXZpb3VzUGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMucGFnZUluZGV4ID4gMCk7XG4gIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiWydwYWdpbmF0b3InLCB2YXJpYW50LCBjb2xvciwgc2l6ZSwgc2hhcGUsIGFsaWdubWVudF1cIj5cbiAgPGRpdiBjbGFzcz1cInBhZ2VzLWxpc3RcIj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cInNob3dGaXJzdFwiIGNsYXNzPVwicGFnZS1pdGVtIHBhZ2UtYWN0aW9uIHBhZ2UtZmlyc3RcIiBbZGlzYWJsZWRdPVwiIWhhc1ByZXZpb3VzUGFnZSgpIHx8ICBkaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwiZmlyc3RQYWdlKClcIj5cbiAgICAgIDxmdy1pY29uIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwidHlwb2dyYXBoeVwiPmFycm93LWJhY2stY29sbGFwc2U8L2Z3LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzaG93UHJldmlvdXNcIlxuICAgICAgY2xhc3M9XCJwYWdlLWl0ZW0gcGFnZS1hY3Rpb24gcGFnZS1wcmV2aW91c1wiIFtkaXNhYmxlZF09XCIhaGFzUHJldmlvdXNQYWdlKCkgfHwgZGlzYWJsZWRcIiAoY2xpY2spPVwicHJldmlvdXNQYWdlKClcIj5cbiAgICAgIDxmdy1pY29uIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwidHlwb2dyYXBoeVwiPmNoZXZyb24tYmFjazwvZnctaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBbbmdDbGFzc109XCJbJ3BhZ2UtaXRlbScsICdwYWdlLW51bWJlcicsIHBhZ2UuYWN0aXZlID8gJ3BhZ2UtYWN0aXZlJzogJyddXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAqbmdGb3I9XCJsZXQgcGFnZSBvZiBnZXRQYWdlcygpXCJcbiAgICAgIChjbGljayk9XCJzZXRQYWdlKHBhZ2UucGFnZUluZGV4KVwiXG4gICAgPlxuICAgICAgPGg0IGNsYXNzPVwidmlzaW9uLWg0XCI+e3sgcGFnZS5udW1iZXIgfX08L2g0PlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwic2hvd05leHRcIiBjbGFzcz1cInBhZ2UtaXRlbSBwYWdlLWFjdGlvbiBwYWdlLW5leHRcIiBbZGlzYWJsZWRdPVwiIWhhc05leHRQYWdlKCkgfHwgZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cIm5leHRQYWdlKClcIj5cbiAgICAgIDxmdy1pY29uIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwidHlwb2dyYXBoeVwiPmNoZXZyb24tZm9yd2FyZDwvZnctaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cInNob3dMYXN0XCIgY2xhc3M9XCJwYWdlLWl0ZW0gcGFnZS1hY3Rpb24gcGFnZS1sYXN0XCIgW2Rpc2FibGVkXT1cIiFoYXNOZXh0UGFnZSgpIHx8IGRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJsYXN0UGFnZSgpXCI+XG4gICAgICA8ZnctaWNvbiBzaXplPVwic21hbGxcIiBjb2xvcj1cInR5cG9ncmFwaHlcIj5hcnJvdy1mb3J3YXJkLWNvbGxhcHNlPC9mdy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|