@gipisistemas/ng-core 1.0.68 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +38 -0
- package/_ITSS-NG-CI-CD.yml +53 -0
- package/_ITSS-NG-CI-PR.yml +53 -0
- package/angular-cli.json +42 -0
- package/azure-pipelines.yml +35 -0
- package/package.json +83 -31
- package/projects/itss-ng/ng-package.json +7 -0
- package/projects/itss-ng/package.json +25 -0
- package/assets/styles/colors.scss +0 -261
- package/assets/styles/layout-grid.scss +0 -146
- package/assets/styles/styles.scss +0 -149
- package/assets/styles/theme.scss +0 -22
- package/assets/styles/typography.scss +0 -54
- package/assets/styles/variable.scss +0 -41
- package/bundles/gipisistemas-ng-core.umd.js +0 -28311
- package/bundles/gipisistemas-ng-core.umd.js.map +0 -1
- package/bundles/gipisistemas-ng-core.umd.min.js +0 -66
- package/bundles/gipisistemas-ng-core.umd.min.js.map +0 -1
- package/core/app-messages.d.ts +0 -9
- package/core/app.messages.d.ts +0 -4
- package/core/components/abstract-crud.component.d.ts +0 -27
- package/core/components/abstract-find.component.d.ts +0 -43
- package/core/components/abstract.component.d.ts +0 -23
- package/core/components/alert/alert.component.d.ts +0 -7
- package/core/core.module.d.ts +0 -17
- package/core/custom-breakpoints.d.ts +0 -7
- package/core/enums/local-time.enum.d.ts +0 -5
- package/core/extensions/string.extension.d.ts +0 -3
- package/core/gipi-components/components/abstract-crud.component.d.ts +0 -25
- package/core/gipi-components/components/abstract-find.component.d.ts +0 -73
- package/core/gipi-components/components/abstract.component.d.ts +0 -38
- package/core/gipi-components/decorators/autowired.decorator.d.ts +0 -7
- package/core/gipi-components/enums/sort-direction.enum.d.ts +0 -5
- package/core/gipi-components/interface/abstract-crud.interface.d.ts +0 -5
- package/core/gipi-components/interface/abstract-find.interface.d.ts +0 -12
- package/core/gipi-components/interface/abstract.interface.d.ts +0 -11
- package/core/gipi-components/interface/base-permission.interface.d.ts +0 -9
- package/core/gipi-components/models/abstract-filter.model.d.ts +0 -9
- package/core/gipi-components/models/abstract.model.d.ts +0 -7
- package/core/gipi-components/models/applied-filter.model.d.ts +0 -9
- package/core/gipi-components/models/dto/abstract.dto.d.ts +0 -7
- package/core/gipi-components/models/page-event.model.d.ts +0 -18
- package/core/gipi-components/models/page.model.d.ts +0 -7
- package/core/gipi-components/models/sort.model.d.ts +0 -6
- package/core/gipi-components/services/abstract-crud.service.d.ts +0 -83
- package/core/gipi-components/services/abstract.service.d.ts +0 -19
- package/core/gipi-components/services/base.service.d.ts +0 -35
- package/core/gipi-components/services/file.service.d.ts +0 -6
- package/core/gipi-components/services/session-storage.service.d.ts +0 -8
- package/core/gipi-components/types/generic.type.d.ts +0 -1
- package/core/gipi-components/types/uuid.type.d.ts +0 -1
- package/core/guards/auth.guard.d.ts +0 -11
- package/core/guards/permission.guard.d.ts +0 -14
- package/core/guards/public.guard.d.ts +0 -11
- package/core/interceptors/auth.interceptor.d.ts +0 -9
- package/core/interceptors/error.interceptor.d.ts +0 -11
- package/core/models/abstract.model.d.ts +0 -3
- package/core/models/archive.model.d.ts +0 -4
- package/core/models/authority.model.d.ts +0 -3
- package/core/models/base-user.model.d.ts +0 -12
- package/core/models/dto/abstract.dto.d.ts +0 -2
- package/core/models/dto/api-error.dto.d.ts +0 -9
- package/core/models/dto/api-sub-error.dto.d.ts +0 -7
- package/core/models/dto/chart.dto.d.ts +0 -5
- package/core/models/dto/confirmation.dto.d.ts +0 -10
- package/core/models/dto/dialog.dto.d.ts +0 -36
- package/core/models/dto/filter.dto.d.ts +0 -8
- package/core/models/dto/input-listbox.dto.d.ts +0 -6
- package/core/models/dto/menu.dto.d.ts +0 -15
- package/core/models/dto/message.dto.d.ts +0 -7
- package/core/models/dto/page.dto.d.ts +0 -8
- package/core/models/dto/sort.dto.d.ts +0 -7
- package/core/models/dto/tab.dto.d.ts +0 -12
- package/core/models/dto/table-column.dto.d.ts +0 -21
- package/core/models/dto/table-group-header.dto.d.ts +0 -7
- package/core/models/dto/table-page-event.dto.d.ts +0 -6
- package/core/models/dto/token.dto.d.ts +0 -8
- package/core/models/enums/criteria-operation.enum.d.ts +0 -13
- package/core/models/enums/criteria-sort-direction.enum.d.ts +0 -4
- package/core/models/enums/menu-type.enum.d.ts +0 -6
- package/core/models/enums/radio-button.enum.d.ts +0 -6
- package/core/models/enums/sort-direction.enum.d.ts +0 -4
- package/core/models/multitenant.model.d.ts +0 -4
- package/core/models/permission.model.d.ts +0 -8
- package/core/models/role.model.d.ts +0 -7
- package/core/pipes/local-time.pipe.d.ts +0 -6
- package/core/services/abstract-crud.service.d.ts +0 -15
- package/core/services/abstract-find.service.d.ts +0 -30
- package/core/services/abstract.service.d.ts +0 -13
- package/core/services/authentication.service.d.ts +0 -23
- package/core/services/breakpoint-observer.service.d.ts +0 -9
- package/core/services/confirmation.service.d.ts +0 -8
- package/core/services/dialog.service.d.ts +0 -8
- package/core/services/message.service.d.ts +0 -8
- package/core/services/nav.service.d.ts +0 -16
- package/core/services/svg-register.service.d.ts +0 -22
- package/core/types/local-time.type.d.ts +0 -5
- package/core/types/ng-class.type.d.ts +0 -10
- package/core/utils/array.util.d.ts +0 -14
- package/core/utils/browser.util.d.ts +0 -4
- package/core/utils/currency.util.d.ts +0 -6
- package/core/utils/date.util.d.ts +0 -39
- package/core/utils/document.util.d.ts +0 -11
- package/core/utils/email.util.d.ts +0 -4
- package/core/utils/number.util.d.ts +0 -8
- package/core/utils/object.util.d.ts +0 -20
- package/core/utils/password.util.d.ts +0 -11
- package/core/utils/phone.util.d.ts +0 -13
- package/core/utils/string.util.d.ts +0 -9
- package/core/utils/table-column-builder.d.ts +0 -40
- package/core/utils/time.util.d.ts +0 -9
- package/core/utils/url-params.util.d.ts +0 -7
- package/core/utils/uuid.util.d.ts +0 -5
- package/core/utils/zindex.util.d.ts +0 -7
- package/core.d.ts +0 -88
- package/esm2015/core/app-messages.js +0 -1
- package/esm2015/core/app.messages.js +0 -12
- package/esm2015/core/components/abstract-crud.component.js +0 -97
- package/esm2015/core/components/abstract-find.component.js +0 -189
- package/esm2015/core/components/abstract.component.js +0 -110
- package/esm2015/core/components/alert/alert.component.js +0 -24
- package/esm2015/core/core.module.js +0 -103
- package/esm2015/core/custom-breakpoints.js +0 -87
- package/esm2015/core/enums/local-time.enum.js +0 -6
- package/esm2015/core/extensions/string.extension.js +0 -37
- package/esm2015/core/gipi-components/components/abstract-crud.component.js +0 -110
- package/esm2015/core/gipi-components/components/abstract-find.component.js +0 -471
- package/esm2015/core/gipi-components/components/abstract.component.js +0 -140
- package/esm2015/core/gipi-components/decorators/autowired.decorator.js +0 -47
- package/esm2015/core/gipi-components/enums/sort-direction.enum.js +0 -6
- package/esm2015/core/gipi-components/interface/abstract-crud.interface.js +0 -1
- package/esm2015/core/gipi-components/interface/abstract-find.interface.js +0 -1
- package/esm2015/core/gipi-components/interface/abstract.interface.js +0 -1
- package/esm2015/core/gipi-components/interface/base-permission.interface.js +0 -1
- package/esm2015/core/gipi-components/models/abstract-filter.model.js +0 -3
- package/esm2015/core/gipi-components/models/abstract.model.js +0 -3
- package/esm2015/core/gipi-components/models/applied-filter.model.js +0 -19
- package/esm2015/core/gipi-components/models/dto/abstract.dto.js +0 -3
- package/esm2015/core/gipi-components/models/page-event.model.js +0 -35
- package/esm2015/core/gipi-components/models/page.model.js +0 -7
- package/esm2015/core/gipi-components/models/sort.model.js +0 -7
- package/esm2015/core/gipi-components/services/abstract-crud.service.js +0 -109
- package/esm2015/core/gipi-components/services/abstract.service.js +0 -47
- package/esm2015/core/gipi-components/services/base.service.js +0 -102
- package/esm2015/core/gipi-components/services/file.service.js +0 -51
- package/esm2015/core/gipi-components/services/session-storage.service.js +0 -44
- package/esm2015/core/gipi-components/types/generic.type.js +0 -1
- package/esm2015/core/gipi-components/types/uuid.type.js +0 -1
- package/esm2015/core/guards/auth.guard.js +0 -48
- package/esm2015/core/guards/permission.guard.js +0 -61
- package/esm2015/core/guards/public.guard.js +0 -45
- package/esm2015/core/interceptors/auth.interceptor.js +0 -28
- package/esm2015/core/interceptors/error.interceptor.js +0 -110
- package/esm2015/core/models/abstract.model.js +0 -3
- package/esm2015/core/models/archive.model.js +0 -3
- package/esm2015/core/models/authority.model.js +0 -3
- package/esm2015/core/models/base-user.model.js +0 -8
- package/esm2015/core/models/dto/abstract.dto.js +0 -3
- package/esm2015/core/models/dto/api-error.dto.js +0 -8
- package/esm2015/core/models/dto/api-sub-error.dto.js +0 -4
- package/esm2015/core/models/dto/chart.dto.js +0 -4
- package/esm2015/core/models/dto/confirmation.dto.js +0 -8
- package/esm2015/core/models/dto/dialog.dto.js +0 -4
- package/esm2015/core/models/dto/filter.dto.js +0 -4
- package/esm2015/core/models/dto/input-listbox.dto.js +0 -7
- package/esm2015/core/models/dto/menu.dto.js +0 -9
- package/esm2015/core/models/dto/message.dto.js +0 -4
- package/esm2015/core/models/dto/page.dto.js +0 -9
- package/esm2015/core/models/dto/sort.dto.js +0 -9
- package/esm2015/core/models/dto/tab.dto.js +0 -10
- package/esm2015/core/models/dto/table-column.dto.js +0 -24
- package/esm2015/core/models/dto/table-group-header.dto.js +0 -10
- package/esm2015/core/models/dto/table-page-event.dto.js +0 -7
- package/esm2015/core/models/dto/token.dto.js +0 -4
- package/esm2015/core/models/enums/criteria-operation.enum.js +0 -15
- package/esm2015/core/models/enums/criteria-sort-direction.enum.js +0 -6
- package/esm2015/core/models/enums/menu-type.enum.js +0 -7
- package/esm2015/core/models/enums/radio-button.enum.js +0 -8
- package/esm2015/core/models/enums/sort-direction.enum.js +0 -6
- package/esm2015/core/models/multitenant.model.js +0 -4
- package/esm2015/core/models/permission.model.js +0 -11
- package/esm2015/core/models/role.model.js +0 -8
- package/esm2015/core/pipes/local-time.pipe.js +0 -21
- package/esm2015/core/services/abstract-crud.service.js +0 -24
- package/esm2015/core/services/abstract-find.service.js +0 -65
- package/esm2015/core/services/abstract.service.js +0 -30
- package/esm2015/core/services/authentication.service.js +0 -100
- package/esm2015/core/services/breakpoint-observer.service.js +0 -42
- package/esm2015/core/services/confirmation.service.js +0 -55
- package/esm2015/core/services/dialog.service.js +0 -41
- package/esm2015/core/services/message.service.js +0 -33
- package/esm2015/core/services/nav.service.js +0 -48
- package/esm2015/core/services/svg-register.service.js +0 -55
- package/esm2015/core/types/local-time.type.js +0 -1
- package/esm2015/core/types/ng-class.type.js +0 -1
- package/esm2015/core/utils/array.util.js +0 -110
- package/esm2015/core/utils/browser.util.js +0 -13
- package/esm2015/core/utils/currency.util.js +0 -21
- package/esm2015/core/utils/date.util.js +0 -257
- package/esm2015/core/utils/document.util.js +0 -153
- package/esm2015/core/utils/email.util.js +0 -25
- package/esm2015/core/utils/number.util.js +0 -28
- package/esm2015/core/utils/object.util.js +0 -199
- package/esm2015/core/utils/password.util.js +0 -38
- package/esm2015/core/utils/phone.util.js +0 -125
- package/esm2015/core/utils/string.util.js +0 -40
- package/esm2015/core/utils/table-column-builder.js +0 -85
- package/esm2015/core/utils/time.util.js +0 -59
- package/esm2015/core/utils/url-params.util.js +0 -12
- package/esm2015/core/utils/uuid.util.js +0 -17
- package/esm2015/core/utils/zindex.util.js +0 -35
- package/esm2015/core.js +0 -89
- package/esm2015/gipi-components.js +0 -105
- package/esm2015/gipisistemas-ng-core.js +0 -21
- package/esm2015/public_api.js +0 -4
- package/esm2015/shared/api/generate-id-component.js +0 -12
- package/esm2015/shared/api/gipi-ng-config.js +0 -76
- package/esm2015/shared/api/overlay-message.js +0 -1
- package/esm2015/shared/api/throttle.js +0 -60
- package/esm2015/shared/api/translation.js +0 -1
- package/esm2015/shared/components/button/button.component.js +0 -110
- package/esm2015/shared/components/card/card.component.js +0 -44
- package/esm2015/shared/components/checkbox/checkbox.component.js +0 -79
- package/esm2015/shared/components/dom/connected-overlay-scroll-handler.js +0 -27
- package/esm2015/shared/components/dom/dom-handler.js +0 -538
- package/esm2015/shared/components/icon/icon.component.js +0 -35
- package/esm2015/shared/components/input/input.component.js +0 -235
- package/esm2015/shared/components/input-currency/input-currency.component.js +0 -115
- package/esm2015/shared/components/input-file/input-file.component.js +0 -161
- package/esm2015/shared/components/loading/loading.component.js +0 -15
- package/esm2015/shared/components/loading-overlay/loading-overlay.component.js +0 -21
- package/esm2015/shared/components/overlay-panel/overlay-panel.component.js +0 -361
- package/esm2015/shared/components/popover/popover-ref.js +0 -25
- package/esm2015/shared/components/popover/popover.component.js +0 -34
- package/esm2015/shared/components/popover/popover.service.js +0 -85
- package/esm2015/shared/components/radio-group-entity/radio-group-entity.component.js +0 -74
- package/esm2015/shared/components/radio-group-enum/radio-group-enum.component.js +0 -126
- package/esm2015/shared/components/select-button/select-button.component.js +0 -181
- package/esm2015/shared/components/select-entity/select-entity.component.js +0 -262
- package/esm2015/shared/components/select-entity-paged/select-entity-paged.component.js +0 -419
- package/esm2015/shared/components/select-entity-paged/shared/default-options.js +0 -35
- package/esm2015/shared/components/select-entity-paged/shared/select-button-add/select-button-add.component.js +0 -69
- package/esm2015/shared/components/select-entity-paged/shared/select-button-next-batch/select-button-next-batch.component.js +0 -59
- package/esm2015/shared/components/select-entity-paged/shared/select-no-entries-found.directive.js +0 -20
- package/esm2015/shared/components/select-entity-paged/shared/select-search/select-search.component.js +0 -547
- package/esm2015/shared/components/select-entity-paged/shared/select-search-clear.directive.js +0 -18
- package/esm2015/shared/components/select-enum/select-enum.component.js +0 -117
- package/esm2015/shared/components/select-month-period/select-month-period.component.js +0 -87
- package/esm2015/shared/components/slide-toggle/slide-toggle.component.js +0 -75
- package/esm2015/shared/components/stepper/stepper.component.js +0 -32
- package/esm2015/shared/components/tab/tab.component.js +0 -57
- package/esm2015/shared/components/tab-group/tab-group.component.js +0 -117
- package/esm2015/shared/components/table/table.component.js +0 -523
- package/esm2015/shared/components/table-scrolled/table-scrolled.component.js +0 -105
- package/esm2015/shared/components/textarea/textarea.component.js +0 -156
- package/esm2015/shared/directives/dynamic-tab.directive.js +0 -18
- package/esm2015/shared/directives/generic-template.directive.js +0 -30
- package/esm2015/shared/directives/input-select-infinite-scroll.directive.js +0 -109
- package/esm2015/shared/directives/lower-case.directive.js +0 -47
- package/esm2015/shared/directives/phone-mask.directive.js +0 -60
- package/esm2015/shared/directives/space-drop.directive.js +0 -47
- package/esm2015/shared/directives/upper-case.directive.js +0 -47
- package/esm2015/shared/gipi-components/abstract-form/abstract-form.component.js +0 -119
- package/esm2015/shared/gipi-components/action-row/action-row.component.js +0 -30
- package/esm2015/shared/gipi-components/badge/badge.component.js +0 -44
- package/esm2015/shared/gipi-components/button/button.component.js +0 -251
- package/esm2015/shared/gipi-components/chips/chips.component.js +0 -149
- package/esm2015/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +0 -44
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +0 -324
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range-selection-startegy.js +0 -41
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range.directive.js +0 -35
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/shared/preset-range/preset-range.component.js +0 -259
- package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +0 -218
- package/esm2015/shared/gipi-components/datepicker/datepicker.module.js +0 -130
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +0 -341
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/calendar.js +0 -397
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-input-parts.js +0 -325
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +0 -329
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-picker.js +0 -41
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-selection-strategy.js +0 -61
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-selection-model.js +0 -159
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-animations.js +0 -35
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-base.js +0 -555
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-errors.js +0 -14
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-input-base.js +0 -303
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-input.js +0 -179
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-intl.js +0 -51
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-toggle.js +0 -124
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker.js +0 -29
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/month-view.js +0 -365
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/multi-year-view.js +0 -305
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-adapter.js +0 -116
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-formats.js +0 -10
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-adapter.js +0 -294
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-formats.js +0 -19
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/platform.js +0 -81
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/year-view.js +0 -294
- package/esm2015/shared/gipi-components/dom/connected-overlay-scroll-handler.js +0 -27
- package/esm2015/shared/gipi-components/dom/dom-handler.js +0 -645
- package/esm2015/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +0 -185
- package/esm2015/shared/gipi-components/expansion-panel/expansion-panel.component.js +0 -81
- package/esm2015/shared/gipi-components/file-drag-and-drop/file-drag-and-drop.component.js +0 -240
- package/esm2015/shared/gipi-components/file-drag-and-drop/shared/file-drag-and-drop.directive.js +0 -92
- package/esm2015/shared/gipi-components/footer/footer.component.js +0 -29
- package/esm2015/shared/gipi-components/form-field/form-field.component.js +0 -262
- package/esm2015/shared/gipi-components/helpful-tip/helpful-tip.component.js +0 -62
- package/esm2015/shared/gipi-components/infinite-scroll/infinite-scroll.directive.js +0 -103
- package/esm2015/shared/gipi-components/input-checkbox/input-checkbox.component.js +0 -112
- package/esm2015/shared/gipi-components/input-currency/input-currency.component.js +0 -197
- package/esm2015/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +0 -408
- package/esm2015/shared/gipi-components/input-select/input-select.component.js +0 -655
- package/esm2015/shared/gipi-components/input-select-enum/input-select-enum.component.js +0 -311
- package/esm2015/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +0 -422
- package/esm2015/shared/gipi-components/input-select-paged/input-search/input-search.component.js +0 -374
- package/esm2015/shared/gipi-components/input-select-paged/input-select-paged.component.js +0 -350
- package/esm2015/shared/gipi-components/input-select-radio/input-select-radio.component.js +0 -269
- package/esm2015/shared/gipi-components/layout-grid/col.directive.js +0 -161
- package/esm2015/shared/gipi-components/layout-grid/row.directive.js +0 -124
- package/esm2015/shared/gipi-components/layout-grid/services/breakpoint.service.js +0 -87
- package/esm2015/shared/gipi-components/layout-grid/services/resize.service.js +0 -64
- package/esm2015/shared/gipi-components/month-year-picker/calendar-month-year/calendar-month-year.component.js +0 -193
- package/esm2015/shared/gipi-components/month-year-picker/mont-year-picker.module.js +0 -47
- package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +0 -460
- package/esm2015/shared/gipi-components/notification/notification.component.js +0 -104
- package/esm2015/shared/gipi-components/novelties/novelties.component.js +0 -109
- package/esm2015/shared/gipi-components/overlay/overlay.component.js +0 -565
- package/esm2015/shared/gipi-components/overlay/shared/overlay-service.js +0 -21
- package/esm2015/shared/gipi-components/overlay/shared/overlay_options.js +0 -1
- package/esm2015/shared/gipi-components/password-requeriments/password-requeriments.component.js +0 -127
- package/esm2015/shared/gipi-components/popover/popover.component.js +0 -397
- package/esm2015/shared/gipi-components/popover/shared/popover-animations.js +0 -29
- package/esm2015/shared/gipi-components/popover/shared/popover-errors.js +0 -27
- package/esm2015/shared/gipi-components/popover/shared/popover-interfaces.js +0 -1
- package/esm2015/shared/gipi-components/popover/shared/popover-target.js +0 -19
- package/esm2015/shared/gipi-components/popover/shared/popover-trigger.js +0 -514
- package/esm2015/shared/gipi-components/popover/shared/popover-types.js +0 -1
- package/esm2015/shared/gipi-components/radio-group/radio-group.component.js +0 -143
- package/esm2015/shared/gipi-components/range-page/range-page.component.js +0 -254
- package/esm2015/shared/gipi-components/range-slider/range-slider.component.js +0 -345
- package/esm2015/shared/gipi-components/select/select.component.js +0 -211
- package/esm2015/shared/gipi-components/select-button/select-button.component.js +0 -187
- package/esm2015/shared/gipi-components/sidebar/container/container.component.js +0 -83
- package/esm2015/shared/gipi-components/sidebar/sidenav/sidenav.component.js +0 -240
- package/esm2015/shared/gipi-components/stepper/stepper.component.js +0 -37
- package/esm2015/shared/gipi-components/table/components/table-body/table-body.component.js +0 -203
- package/esm2015/shared/gipi-components/table/components/table-footer/table-footer.component.js +0 -30
- package/esm2015/shared/gipi-components/table/components/table-header/table-header.component.js +0 -152
- package/esm2015/shared/gipi-components/table/components/table-pagination/shared/paginate.pipe.js +0 -122
- package/esm2015/shared/gipi-components/table/components/table-pagination/shared/pagination-controls.directive.js +0 -225
- package/esm2015/shared/gipi-components/table/components/table-pagination/shared/pagination-instance.js +0 -1
- package/esm2015/shared/gipi-components/table/components/table-pagination/shared/pagination.service.js +0 -105
- package/esm2015/shared/gipi-components/table/components/table-pagination/table-pagination.component.js +0 -102
- package/esm2015/shared/gipi-components/table/components/table-progress-bar/table-progress-bar.component.js +0 -30
- package/esm2015/shared/gipi-components/table/models/pipe-transform.model.js +0 -1
- package/esm2015/shared/gipi-components/table/models/sort.model.js +0 -19
- package/esm2015/shared/gipi-components/table/models/sorted-column.model.js +0 -2
- package/esm2015/shared/gipi-components/table/models/table-column-builder.model.js +0 -104
- package/esm2015/shared/gipi-components/table/models/table-column.model.js +0 -162
- package/esm2015/shared/gipi-components/table/table.component.js +0 -159
- package/esm2015/shared/gipi-components/table/types/sort-direction.type.js +0 -1
- package/esm2015/shared/gipi-components/table/types/sort.type.js +0 -1
- package/esm2015/shared/gipi-components/template/template.directive.js +0 -33
- package/esm2015/shared/gipi-components/toolbar/toolbar.component.js +0 -53
- package/esm2015/shared/gipi-components/top-nav/top-nav.component.js +0 -38
- package/esm2015/shared/gipi-components/user-profile/user-profile.component.js +0 -109
- package/esm2015/shared/material.module.js +0 -102
- package/esm2015/shared/shared.module.js +0 -339
- package/esm2015/shared.js +0 -36
- package/esm5/core/app-messages.js +0 -1
- package/esm5/core/app.messages.js +0 -12
- package/esm5/core/components/abstract-crud.component.js +0 -108
- package/esm5/core/components/abstract-find.component.js +0 -201
- package/esm5/core/components/abstract.component.js +0 -112
- package/esm5/core/components/alert/alert.component.js +0 -25
- package/esm5/core/core.module.js +0 -107
- package/esm5/core/custom-breakpoints.js +0 -87
- package/esm5/core/enums/local-time.enum.js +0 -6
- package/esm5/core/extensions/string.extension.js +0 -37
- package/esm5/core/gipi-components/components/abstract-crud.component.js +0 -122
- package/esm5/core/gipi-components/components/abstract-find.component.js +0 -507
- package/esm5/core/gipi-components/components/abstract.component.js +0 -152
- package/esm5/core/gipi-components/decorators/autowired.decorator.js +0 -52
- package/esm5/core/gipi-components/enums/sort-direction.enum.js +0 -6
- package/esm5/core/gipi-components/interface/abstract-crud.interface.js +0 -1
- package/esm5/core/gipi-components/interface/abstract-find.interface.js +0 -1
- package/esm5/core/gipi-components/interface/abstract.interface.js +0 -1
- package/esm5/core/gipi-components/interface/base-permission.interface.js +0 -1
- package/esm5/core/gipi-components/models/abstract-filter.model.js +0 -7
- package/esm5/core/gipi-components/models/abstract.model.js +0 -7
- package/esm5/core/gipi-components/models/applied-filter.model.js +0 -29
- package/esm5/core/gipi-components/models/dto/abstract.dto.js +0 -7
- package/esm5/core/gipi-components/models/page-event.model.js +0 -49
- package/esm5/core/gipi-components/models/page.model.js +0 -9
- package/esm5/core/gipi-components/models/sort.model.js +0 -9
- package/esm5/core/gipi-components/services/abstract-crud.service.js +0 -114
- package/esm5/core/gipi-components/services/abstract.service.js +0 -49
- package/esm5/core/gipi-components/services/base.service.js +0 -143
- package/esm5/core/gipi-components/services/file.service.js +0 -53
- package/esm5/core/gipi-components/services/session-storage.service.js +0 -45
- package/esm5/core/gipi-components/types/generic.type.js +0 -1
- package/esm5/core/gipi-components/types/uuid.type.js +0 -1
- package/esm5/core/guards/auth.guard.js +0 -50
- package/esm5/core/guards/permission.guard.js +0 -74
- package/esm5/core/guards/public.guard.js +0 -47
- package/esm5/core/interceptors/auth.interceptor.js +0 -29
- package/esm5/core/interceptors/error.interceptor.js +0 -129
- package/esm5/core/models/abstract.model.js +0 -7
- package/esm5/core/models/archive.model.js +0 -7
- package/esm5/core/models/authority.model.js +0 -7
- package/esm5/core/models/base-user.model.js +0 -13
- package/esm5/core/models/dto/abstract.dto.js +0 -7
- package/esm5/core/models/dto/api-error.dto.js +0 -13
- package/esm5/core/models/dto/api-sub-error.dto.js +0 -11
- package/esm5/core/models/dto/chart.dto.js +0 -11
- package/esm5/core/models/dto/confirmation.dto.js +0 -13
- package/esm5/core/models/dto/dialog.dto.js +0 -11
- package/esm5/core/models/dto/filter.dto.js +0 -11
- package/esm5/core/models/dto/input-listbox.dto.js +0 -11
- package/esm5/core/models/dto/menu.dto.js +0 -14
- package/esm5/core/models/dto/message.dto.js +0 -11
- package/esm5/core/models/dto/page.dto.js +0 -14
- package/esm5/core/models/dto/sort.dto.js +0 -14
- package/esm5/core/models/dto/tab.dto.js +0 -15
- package/esm5/core/models/dto/table-column.dto.js +0 -29
- package/esm5/core/models/dto/table-group-header.dto.js +0 -15
- package/esm5/core/models/dto/table-page-event.dto.js +0 -11
- package/esm5/core/models/dto/token.dto.js +0 -11
- package/esm5/core/models/enums/criteria-operation.enum.js +0 -15
- package/esm5/core/models/enums/criteria-sort-direction.enum.js +0 -6
- package/esm5/core/models/enums/menu-type.enum.js +0 -7
- package/esm5/core/models/enums/radio-button.enum.js +0 -8
- package/esm5/core/models/enums/sort-direction.enum.js +0 -6
- package/esm5/core/models/multitenant.model.js +0 -11
- package/esm5/core/models/permission.model.js +0 -16
- package/esm5/core/models/role.model.js +0 -13
- package/esm5/core/pipes/local-time.pipe.js +0 -26
- package/esm5/core/services/abstract-crud.service.js +0 -30
- package/esm5/core/services/abstract-find.service.js +0 -71
- package/esm5/core/services/abstract.service.js +0 -32
- package/esm5/core/services/authentication.service.js +0 -121
- package/esm5/core/services/breakpoint-observer.service.js +0 -52
- package/esm5/core/services/confirmation.service.js +0 -66
- package/esm5/core/services/dialog.service.js +0 -44
- package/esm5/core/services/message.service.js +0 -36
- package/esm5/core/services/nav.service.js +0 -51
- package/esm5/core/services/svg-register.service.js +0 -67
- package/esm5/core/types/local-time.type.js +0 -1
- package/esm5/core/types/ng-class.type.js +0 -1
- package/esm5/core/utils/array.util.js +0 -120
- package/esm5/core/utils/browser.util.js +0 -17
- package/esm5/core/utils/currency.util.js +0 -26
- package/esm5/core/utils/date.util.js +0 -269
- package/esm5/core/utils/document.util.js +0 -157
- package/esm5/core/utils/email.util.js +0 -29
- package/esm5/core/utils/number.util.js +0 -32
- package/esm5/core/utils/object.util.js +0 -204
- package/esm5/core/utils/password.util.js +0 -42
- package/esm5/core/utils/phone.util.js +0 -135
- package/esm5/core/utils/string.util.js +0 -44
- package/esm5/core/utils/table-column-builder.js +0 -87
- package/esm5/core/utils/time.util.js +0 -65
- package/esm5/core/utils/url-params.util.js +0 -16
- package/esm5/core/utils/uuid.util.js +0 -21
- package/esm5/core/utils/zindex.util.js +0 -35
- package/esm5/core.js +0 -89
- package/esm5/gipi-components.js +0 -105
- package/esm5/gipisistemas-ng-core.js +0 -21
- package/esm5/public_api.js +0 -4
- package/esm5/shared/api/generate-id-component.js +0 -16
- package/esm5/shared/api/gipi-ng-config.js +0 -77
- package/esm5/shared/api/overlay-message.js +0 -1
- package/esm5/shared/api/throttle.js +0 -60
- package/esm5/shared/api/translation.js +0 -1
- package/esm5/shared/components/button/button.component.js +0 -111
- package/esm5/shared/components/card/card.component.js +0 -45
- package/esm5/shared/components/checkbox/checkbox.component.js +0 -85
- package/esm5/shared/components/dom/connected-overlay-scroll-handler.js +0 -30
- package/esm5/shared/components/dom/dom-handler.js +0 -573
- package/esm5/shared/components/icon/icon.component.js +0 -38
- package/esm5/shared/components/input/input.component.js +0 -242
- package/esm5/shared/components/input-currency/input-currency.component.js +0 -121
- package/esm5/shared/components/input-file/input-file.component.js +0 -165
- package/esm5/shared/components/loading/loading.component.js +0 -18
- package/esm5/shared/components/loading-overlay/loading-overlay.component.js +0 -23
- package/esm5/shared/components/overlay-panel/overlay-panel.component.js +0 -366
- package/esm5/shared/components/popover/popover-ref.js +0 -28
- package/esm5/shared/components/popover/popover.component.js +0 -35
- package/esm5/shared/components/popover/popover.service.js +0 -88
- package/esm5/shared/components/radio-group-entity/radio-group-entity.component.js +0 -80
- package/esm5/shared/components/radio-group-enum/radio-group-enum.component.js +0 -138
- package/esm5/shared/components/select-button/select-button.component.js +0 -195
- package/esm5/shared/components/select-entity/select-entity.component.js +0 -269
- package/esm5/shared/components/select-entity-paged/select-entity-paged.component.js +0 -453
- package/esm5/shared/components/select-entity-paged/shared/default-options.js +0 -35
- package/esm5/shared/components/select-entity-paged/shared/select-button-add/select-button-add.component.js +0 -72
- package/esm5/shared/components/select-entity-paged/shared/select-button-next-batch/select-button-next-batch.component.js +0 -62
- package/esm5/shared/components/select-entity-paged/shared/select-no-entries-found.directive.js +0 -23
- package/esm5/shared/components/select-entity-paged/shared/select-search/select-search.component.js +0 -590
- package/esm5/shared/components/select-entity-paged/shared/select-search-clear.directive.js +0 -21
- package/esm5/shared/components/select-enum/select-enum.component.js +0 -124
- package/esm5/shared/components/select-month-period/select-month-period.component.js +0 -91
- package/esm5/shared/components/slide-toggle/slide-toggle.component.js +0 -81
- package/esm5/shared/components/stepper/stepper.component.js +0 -36
- package/esm5/shared/components/tab/tab.component.js +0 -58
- package/esm5/shared/components/tab-group/tab-group.component.js +0 -125
- package/esm5/shared/components/table/table.component.js +0 -538
- package/esm5/shared/components/table-scrolled/table-scrolled.component.js +0 -107
- package/esm5/shared/components/textarea/textarea.component.js +0 -174
- package/esm5/shared/directives/dynamic-tab.directive.js +0 -19
- package/esm5/shared/directives/generic-template.directive.js +0 -31
- package/esm5/shared/directives/input-select-infinite-scroll.directive.js +0 -113
- package/esm5/shared/directives/lower-case.directive.js +0 -48
- package/esm5/shared/directives/phone-mask.directive.js +0 -61
- package/esm5/shared/directives/space-drop.directive.js +0 -48
- package/esm5/shared/directives/upper-case.directive.js +0 -48
- package/esm5/shared/gipi-components/abstract-form/abstract-form.component.js +0 -141
- package/esm5/shared/gipi-components/action-row/action-row.component.js +0 -33
- package/esm5/shared/gipi-components/badge/badge.component.js +0 -46
- package/esm5/shared/gipi-components/button/button.component.js +0 -257
- package/esm5/shared/gipi-components/chips/chips.component.js +0 -159
- package/esm5/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +0 -46
- package/esm5/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +0 -378
- package/esm5/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range-selection-startegy.js +0 -42
- package/esm5/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range.directive.js +0 -40
- package/esm5/shared/gipi-components/datepicker/date-range-picker/shared/preset-range/preset-range.component.js +0 -291
- package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +0 -252
- package/esm5/shared/gipi-components/datepicker/datepicker.module.js +0 -133
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +0 -349
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/calendar.js +0 -441
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-input-parts.js +0 -339
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +0 -376
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-picker.js +0 -46
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-selection-strategy.js +0 -62
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-selection-model.js +0 -167
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-animations.js +0 -35
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-base.js +0 -586
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-errors.js +0 -14
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-input-base.js +0 -327
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-input.js +0 -199
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-intl.js +0 -52
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-toggle.js +0 -133
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker.js +0 -34
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/month-view.js +0 -384
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/multi-year-view.js +0 -324
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-adapter.js +0 -118
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-formats.js +0 -10
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-adapter.js +0 -300
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-formats.js +0 -19
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/platform.js +0 -82
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/year-view.js +0 -313
- package/esm5/shared/gipi-components/dom/connected-overlay-scroll-handler.js +0 -30
- package/esm5/shared/gipi-components/dom/dom-handler.js +0 -681
- package/esm5/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +0 -191
- package/esm5/shared/gipi-components/expansion-panel/expansion-panel.component.js +0 -83
- package/esm5/shared/gipi-components/file-drag-and-drop/file-drag-and-drop.component.js +0 -255
- package/esm5/shared/gipi-components/file-drag-and-drop/shared/file-drag-and-drop.directive.js +0 -93
- package/esm5/shared/gipi-components/footer/footer.component.js +0 -32
- package/esm5/shared/gipi-components/form-field/form-field.component.js +0 -276
- package/esm5/shared/gipi-components/helpful-tip/helpful-tip.component.js +0 -68
- package/esm5/shared/gipi-components/infinite-scroll/infinite-scroll.directive.js +0 -106
- package/esm5/shared/gipi-components/input-checkbox/input-checkbox.component.js +0 -118
- package/esm5/shared/gipi-components/input-currency/input-currency.component.js +0 -207
- package/esm5/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +0 -426
- package/esm5/shared/gipi-components/input-select/input-select.component.js +0 -698
- package/esm5/shared/gipi-components/input-select-enum/input-select-enum.component.js +0 -351
- package/esm5/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +0 -437
- package/esm5/shared/gipi-components/input-select-paged/input-search/input-search.component.js +0 -397
- package/esm5/shared/gipi-components/input-select-paged/input-select-paged.component.js +0 -384
- package/esm5/shared/gipi-components/input-select-radio/input-select-radio.component.js +0 -286
- package/esm5/shared/gipi-components/layout-grid/col.directive.js +0 -164
- package/esm5/shared/gipi-components/layout-grid/row.directive.js +0 -127
- package/esm5/shared/gipi-components/layout-grid/services/breakpoint.service.js +0 -90
- package/esm5/shared/gipi-components/layout-grid/services/resize.service.js +0 -68
- package/esm5/shared/gipi-components/month-year-picker/calendar-month-year/calendar-month-year.component.js +0 -200
- package/esm5/shared/gipi-components/month-year-picker/mont-year-picker.module.js +0 -50
- package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +0 -505
- package/esm5/shared/gipi-components/notification/notification.component.js +0 -106
- package/esm5/shared/gipi-components/novelties/novelties.component.js +0 -111
- package/esm5/shared/gipi-components/overlay/overlay.component.js +0 -670
- package/esm5/shared/gipi-components/overlay/shared/overlay-service.js +0 -22
- package/esm5/shared/gipi-components/overlay/shared/overlay_options.js +0 -1
- package/esm5/shared/gipi-components/password-requeriments/password-requeriments.component.js +0 -157
- package/esm5/shared/gipi-components/popover/popover.component.js +0 -473
- package/esm5/shared/gipi-components/popover/shared/popover-animations.js +0 -29
- package/esm5/shared/gipi-components/popover/shared/popover-errors.js +0 -21
- package/esm5/shared/gipi-components/popover/shared/popover-interfaces.js +0 -1
- package/esm5/shared/gipi-components/popover/shared/popover-target.js +0 -20
- package/esm5/shared/gipi-components/popover/shared/popover-trigger.js +0 -529
- package/esm5/shared/gipi-components/popover/shared/popover-types.js +0 -1
- package/esm5/shared/gipi-components/radio-group/radio-group.component.js +0 -155
- package/esm5/shared/gipi-components/range-page/range-page.component.js +0 -283
- package/esm5/shared/gipi-components/range-slider/range-slider.component.js +0 -364
- package/esm5/shared/gipi-components/select/select.component.js +0 -222
- package/esm5/shared/gipi-components/select-button/select-button.component.js +0 -206
- package/esm5/shared/gipi-components/sidebar/container/container.component.js +0 -96
- package/esm5/shared/gipi-components/sidebar/sidenav/sidenav.component.js +0 -267
- package/esm5/shared/gipi-components/stepper/stepper.component.js +0 -43
- package/esm5/shared/gipi-components/table/components/table-body/table-body.component.js +0 -209
- package/esm5/shared/gipi-components/table/components/table-footer/table-footer.component.js +0 -33
- package/esm5/shared/gipi-components/table/components/table-header/table-header.component.js +0 -155
- package/esm5/shared/gipi-components/table/components/table-pagination/shared/paginate.pipe.js +0 -123
- package/esm5/shared/gipi-components/table/components/table-pagination/shared/pagination-controls.directive.js +0 -228
- package/esm5/shared/gipi-components/table/components/table-pagination/shared/pagination-instance.js +0 -1
- package/esm5/shared/gipi-components/table/components/table-pagination/shared/pagination.service.js +0 -108
- package/esm5/shared/gipi-components/table/components/table-pagination/table-pagination.component.js +0 -116
- package/esm5/shared/gipi-components/table/components/table-progress-bar/table-progress-bar.component.js +0 -33
- package/esm5/shared/gipi-components/table/models/pipe-transform.model.js +0 -1
- package/esm5/shared/gipi-components/table/models/sort.model.js +0 -29
- package/esm5/shared/gipi-components/table/models/sorted-column.model.js +0 -2
- package/esm5/shared/gipi-components/table/models/table-column-builder.model.js +0 -106
- package/esm5/shared/gipi-components/table/models/table-column.model.js +0 -252
- package/esm5/shared/gipi-components/table/table.component.js +0 -161
- package/esm5/shared/gipi-components/table/types/sort-direction.type.js +0 -1
- package/esm5/shared/gipi-components/table/types/sort.type.js +0 -1
- package/esm5/shared/gipi-components/template/template.directive.js +0 -34
- package/esm5/shared/gipi-components/toolbar/toolbar.component.js +0 -56
- package/esm5/shared/gipi-components/top-nav/top-nav.component.js +0 -40
- package/esm5/shared/gipi-components/user-profile/user-profile.component.js +0 -115
- package/esm5/shared/material.module.js +0 -101
- package/esm5/shared/shared.module.js +0 -340
- package/esm5/shared.js +0 -36
- package/fesm2015/gipisistemas-ng-core.js +0 -25879
- package/fesm2015/gipisistemas-ng-core.js.map +0 -1
- package/fesm5/gipisistemas-ng-core.js +0 -27905
- package/fesm5/gipisistemas-ng-core.js.map +0 -1
- package/gipi-components.d.ts +0 -97
- package/gipisistemas-ng-core.d.ts +0 -20
- package/gipisistemas-ng-core.metadata.json +0 -1
- package/public_api.d.ts +0 -3
- package/shared/api/generate-id-component.d.ts +0 -3
- package/shared/api/gipi-ng-config.d.ts +0 -18
- package/shared/api/overlay-message.d.ts +0 -14
- package/shared/api/throttle.d.ts +0 -17
- package/shared/api/translation.d.ts +0 -45
- package/shared/components/button/button.component.d.ts +0 -26
- package/shared/components/card/card.component.d.ts +0 -10
- package/shared/components/checkbox/checkbox.component.d.ts +0 -20
- package/shared/components/dom/connected-overlay-scroll-handler.d.ts +0 -9
- package/shared/components/dom/dom-handler.d.ts +0 -74
- package/shared/components/icon/icon.component.d.ts +0 -9
- package/shared/components/input/input.component.d.ts +0 -52
- package/shared/components/input-currency/input-currency.component.d.ts +0 -29
- package/shared/components/input-file/input-file.component.d.ts +0 -28
- package/shared/components/loading/loading.component.d.ts +0 -4
- package/shared/components/loading-overlay/loading-overlay.component.d.ts +0 -6
- package/shared/components/overlay-panel/overlay-panel.component.d.ts +0 -67
- package/shared/components/popover/popover-ref.d.ts +0 -17
- package/shared/components/popover/popover.component.d.ts +0 -10
- package/shared/components/popover/popover.service.d.ts +0 -23
- package/shared/components/radio-group-entity/radio-group-entity.component.d.ts +0 -19
- package/shared/components/radio-group-enum/radio-group-enum.component.d.ts +0 -30
- package/shared/components/select-button/select-button.component.d.ts +0 -35
- package/shared/components/select-entity/select-entity.component.d.ts +0 -52
- package/shared/components/select-entity-paged/select-entity-paged.component.d.ts +0 -78
- package/shared/components/select-entity-paged/shared/default-options.d.ts +0 -25
- package/shared/components/select-entity-paged/shared/select-button-add/select-button-add.component.d.ts +0 -18
- package/shared/components/select-entity-paged/shared/select-button-next-batch/select-button-next-batch.component.d.ts +0 -16
- package/shared/components/select-entity-paged/shared/select-no-entries-found.directive.d.ts +0 -11
- package/shared/components/select-entity-paged/shared/select-search/select-search.component.d.ts +0 -119
- package/shared/components/select-entity-paged/shared/select-search-clear.directive.d.ts +0 -9
- package/shared/components/select-enum/select-enum.component.d.ts +0 -29
- package/shared/components/select-month-period/select-month-period.component.d.ts +0 -20
- package/shared/components/slide-toggle/slide-toggle.component.d.ts +0 -19
- package/shared/components/stepper/stepper.component.d.ts +0 -7
- package/shared/components/tab/tab.component.d.ts +0 -14
- package/shared/components/tab-group/tab-group.component.d.ts +0 -22
- package/shared/components/table/table.component.d.ts +0 -86
- package/shared/components/table-scrolled/table-scrolled.component.d.ts +0 -31
- package/shared/components/textarea/textarea.component.d.ts +0 -35
- package/shared/directives/dynamic-tab.directive.d.ts +0 -5
- package/shared/directives/generic-template.directive.d.ts +0 -8
- package/shared/directives/input-select-infinite-scroll.directive.d.ts +0 -35
- package/shared/directives/lower-case.directive.d.ts +0 -9
- package/shared/directives/phone-mask.directive.d.ts +0 -8
- package/shared/directives/space-drop.directive.d.ts +0 -9
- package/shared/directives/upper-case.directive.d.ts +0 -9
- package/shared/gipi-components/abstract-form/abstract-form.component.d.ts +0 -21
- package/shared/gipi-components/action-row/action-row.component.d.ts +0 -5
- package/shared/gipi-components/badge/badge.component.d.ts +0 -8
- package/shared/gipi-components/button/button.component.d.ts +0 -56
- package/shared/gipi-components/chips/chips.component.d.ts +0 -37
- package/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.d.ts +0 -11
- package/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.d.ts +0 -71
- package/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range-selection-startegy.d.ts +0 -11
- package/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range.directive.d.ts +0 -6
- package/shared/gipi-components/datepicker/date-range-picker/shared/preset-range/preset-range.component.d.ts +0 -40
- package/shared/gipi-components/datepicker/datepicker/datepicker.component.d.ts +0 -49
- package/shared/gipi-components/datepicker/datepicker.module.d.ts +0 -2
- package/shared/gipi-components/datepicker/mat-datepicker/calendar-body.d.ts +0 -143
- package/shared/gipi-components/datepicker/mat-datepicker/calendar.d.ts +0 -152
- package/shared/gipi-components/datepicker/mat-datepicker/date-range-input-parts.d.ts +0 -102
- package/shared/gipi-components/datepicker/mat-datepicker/date-range-input.d.ts +0 -124
- package/shared/gipi-components/datepicker/mat-datepicker/date-range-picker.d.ts +0 -21
- package/shared/gipi-components/datepicker/mat-datepicker/date-range-selection-strategy.d.ts +0 -45
- package/shared/gipi-components/datepicker/mat-datepicker/date-selection-model.d.ts +0 -106
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-animations.d.ts +0 -16
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-base.d.ts +0 -209
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-errors.d.ts +0 -9
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-input-base.d.ts +0 -136
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-input.d.ts +0 -68
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-intl.d.ts +0 -38
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-toggle.d.ts +0 -39
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker.d.ts +0 -11
- package/shared/gipi-components/datepicker/mat-datepicker/month-view.d.ts +0 -120
- package/shared/gipi-components/datepicker/mat-datepicker/multi-year-view.d.ts +0 -85
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-adapter.d.ts +0 -225
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-formats.d.ts +0 -20
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-adapter.d.ts +0 -76
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-formats.d.ts +0 -9
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/platform.d.ts +0 -33
- package/shared/gipi-components/datepicker/mat-datepicker/year-view.d.ts +0 -97
- package/shared/gipi-components/dom/connected-overlay-scroll-handler.d.ts +0 -9
- package/shared/gipi-components/dom/dom-handler.d.ts +0 -85
- package/shared/gipi-components/dropdown-menu/dropdown-menu.component.d.ts +0 -36
- package/shared/gipi-components/expansion-panel/expansion-panel.component.d.ts +0 -16
- package/shared/gipi-components/file-drag-and-drop/file-drag-and-drop.component.d.ts +0 -43
- package/shared/gipi-components/file-drag-and-drop/shared/file-drag-and-drop.directive.d.ts +0 -13
- package/shared/gipi-components/footer/footer.component.d.ts +0 -5
- package/shared/gipi-components/form-field/form-field.component.d.ts +0 -61
- package/shared/gipi-components/helpful-tip/helpful-tip.component.d.ts +0 -13
- package/shared/gipi-components/infinite-scroll/infinite-scroll.directive.d.ts +0 -27
- package/shared/gipi-components/input-checkbox/input-checkbox.component.d.ts +0 -28
- package/shared/gipi-components/input-currency/input-currency.component.d.ts +0 -48
- package/shared/gipi-components/input-monthpicker/input-monthpicker.component.d.ts +0 -89
- package/shared/gipi-components/input-select/input-select.component.d.ts +0 -120
- package/shared/gipi-components/input-select-enum/input-select-enum.component.d.ts +0 -65
- package/shared/gipi-components/input-select-listbox/input-select-listbox.component.d.ts +0 -85
- package/shared/gipi-components/input-select-paged/input-search/input-search.component.d.ts +0 -77
- package/shared/gipi-components/input-select-paged/input-select-paged.component.d.ts +0 -66
- package/shared/gipi-components/input-select-radio/input-select-radio.component.d.ts +0 -53
- package/shared/gipi-components/layout-grid/col.directive.d.ts +0 -38
- package/shared/gipi-components/layout-grid/row.directive.d.ts +0 -28
- package/shared/gipi-components/layout-grid/services/breakpoint.service.d.ts +0 -30
- package/shared/gipi-components/layout-grid/services/resize.service.d.ts +0 -17
- package/shared/gipi-components/month-year-picker/calendar-month-year/calendar-month-year.component.d.ts +0 -37
- package/shared/gipi-components/month-year-picker/mont-year-picker.module.d.ts +0 -2
- package/shared/gipi-components/month-year-picker/month-year-picker.component.d.ts +0 -104
- package/shared/gipi-components/notification/notification.component.d.ts +0 -21
- package/shared/gipi-components/novelties/novelties.component.d.ts +0 -22
- package/shared/gipi-components/overlay/overlay.component.d.ts +0 -113
- package/shared/gipi-components/overlay/shared/overlay-service.d.ts +0 -6
- package/shared/gipi-components/overlay/shared/overlay_options.d.ts +0 -50
- package/shared/gipi-components/password-requeriments/password-requeriments.component.d.ts +0 -27
- package/shared/gipi-components/popover/popover.component.d.ts +0 -133
- package/shared/gipi-components/popover/shared/popover-animations.d.ts +0 -13
- package/shared/gipi-components/popover/shared/popover-errors.d.ts +0 -14
- package/shared/gipi-components/popover/shared/popover-interfaces.d.ts +0 -43
- package/shared/gipi-components/popover/shared/popover-target.d.ts +0 -5
- package/shared/gipi-components/popover/shared/popover-trigger.d.ts +0 -140
- package/shared/gipi-components/popover/shared/popover-types.d.ts +0 -4
- package/shared/gipi-components/radio-group/radio-group.component.d.ts +0 -33
- package/shared/gipi-components/range-page/range-page.component.d.ts +0 -55
- package/shared/gipi-components/range-slider/range-slider.component.d.ts +0 -57
- package/shared/gipi-components/select/select.component.d.ts +0 -45
- package/shared/gipi-components/select-button/select-button.component.d.ts +0 -39
- package/shared/gipi-components/sidebar/container/container.component.d.ts +0 -15
- package/shared/gipi-components/sidebar/sidenav/sidenav.component.d.ts +0 -40
- package/shared/gipi-components/stepper/stepper.component.d.ts +0 -8
- package/shared/gipi-components/table/components/table-body/table-body.component.d.ts +0 -36
- package/shared/gipi-components/table/components/table-footer/table-footer.component.d.ts +0 -5
- package/shared/gipi-components/table/components/table-header/table-header.component.d.ts +0 -28
- package/shared/gipi-components/table/components/table-pagination/shared/paginate.pipe.d.ts +0 -40
- package/shared/gipi-components/table/components/table-pagination/shared/pagination-controls.directive.d.ts +0 -81
- package/shared/gipi-components/table/components/table-pagination/shared/pagination-instance.d.ts +0 -24
- package/shared/gipi-components/table/components/table-pagination/shared/pagination.service.d.ts +0 -45
- package/shared/gipi-components/table/components/table-pagination/table-pagination.component.d.ts +0 -21
- package/shared/gipi-components/table/components/table-progress-bar/table-progress-bar.component.d.ts +0 -5
- package/shared/gipi-components/table/models/pipe-transform.model.d.ts +0 -3
- package/shared/gipi-components/table/models/sort.model.d.ts +0 -10
- package/shared/gipi-components/table/models/sorted-column.model.d.ts +0 -6
- package/shared/gipi-components/table/models/table-column-builder.model.d.ts +0 -52
- package/shared/gipi-components/table/models/table-column.model.d.ts +0 -74
- package/shared/gipi-components/table/table.component.d.ts +0 -37
- package/shared/gipi-components/table/types/sort-direction.type.d.ts +0 -1
- package/shared/gipi-components/table/types/sort.type.d.ts +0 -1
- package/shared/gipi-components/template/template.directive.d.ts +0 -8
- package/shared/gipi-components/toolbar/toolbar.component.d.ts +0 -11
- package/shared/gipi-components/top-nav/top-nav.component.d.ts +0 -8
- package/shared/gipi-components/user-profile/user-profile.component.d.ts +0 -24
- package/shared/material.module.d.ts +0 -2
- package/shared/shared.module.d.ts +0 -6
- package/shared.d.ts +0 -35
@@ -1,441 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @license
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
4
|
-
*
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
7
|
-
*/
|
8
|
-
import { __decorate, __metadata, __param } from "tslib";
|
9
|
-
import { AfterContentInit, AfterViewChecked, AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Inject, Input, OnChanges, OnDestroy, Optional, Output, SimpleChanges, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';
|
10
|
-
import { Subject } from 'rxjs';
|
11
|
-
import { DateRange, MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER } from './date-selection-model';
|
12
|
-
import { createMissingDateImplError } from './datepicker-errors';
|
13
|
-
import { MatDatepickerIntl } from './datepicker-intl';
|
14
|
-
import { MatMonthView } from './month-view';
|
15
|
-
import { getActiveOffset, isSameMultiYearView, MatMultiYearView, yearsPerPage } from './multi-year-view';
|
16
|
-
import { DateAdapter } from './shared/adapter/date-adapter';
|
17
|
-
import { MAT_DATE_FORMATS } from './shared/adapter/date-formats';
|
18
|
-
import { MatYearView } from './year-view';
|
19
|
-
/**
|
20
|
-
* A calendar that is used as part of the datepicker.
|
21
|
-
* @docs-private
|
22
|
-
*/
|
23
|
-
var MatCalendar = /** @class */ (function () {
|
24
|
-
function MatCalendar(_intl, _dateAdapter, _dateFormats, _changeDetectorRef) {
|
25
|
-
var _this = this;
|
26
|
-
this._dateAdapter = _dateAdapter;
|
27
|
-
this._dateFormats = _dateFormats;
|
28
|
-
this._changeDetectorRef = _changeDetectorRef;
|
29
|
-
this.matCalendarRef = this;
|
30
|
-
/**
|
31
|
-
* Used for scheduling that focus should be moved to the active cell on the next tick.
|
32
|
-
* We need to schedule it, rather than do it immediately, because we have to wait
|
33
|
-
* for Angular to re-evaluate the view children.
|
34
|
-
*/
|
35
|
-
this._moveFocusOnNextTick = false;
|
36
|
-
/** Whether the calendar should be started in month or year view. */
|
37
|
-
this.startView = 'month';
|
38
|
-
/**
|
39
|
-
* Emits when the currently selected date changes.
|
40
|
-
* @breaking-change 11.0.0 Emitted value to change to `D | null`.
|
41
|
-
*/
|
42
|
-
this.selectedChange = new EventEmitter();
|
43
|
-
/**
|
44
|
-
* Emits the year chosen in multiyear view.
|
45
|
-
* This doesn't imply a change on the selected date.
|
46
|
-
*/
|
47
|
-
this.yearSelected = new EventEmitter();
|
48
|
-
/**
|
49
|
-
* Emits the month chosen in year view.
|
50
|
-
* This doesn't imply a change on the selected date.
|
51
|
-
*/
|
52
|
-
this.monthSelected = new EventEmitter();
|
53
|
-
/** Emits when any date is selected. */
|
54
|
-
this._userSelection = new EventEmitter();
|
55
|
-
/**
|
56
|
-
* Emits whenever there is a state change that the header may need to respond to.
|
57
|
-
*/
|
58
|
-
this.stateChanges = new Subject();
|
59
|
-
if (!this._dateAdapter) {
|
60
|
-
throw createMissingDateImplError('DateAdapter');
|
61
|
-
}
|
62
|
-
if (!this._dateFormats) {
|
63
|
-
throw createMissingDateImplError('MAT_DATE_FORMATS');
|
64
|
-
}
|
65
|
-
this._intlChanges = _intl.changes.subscribe(function () {
|
66
|
-
_changeDetectorRef.markForCheck();
|
67
|
-
_this.stateChanges.next();
|
68
|
-
});
|
69
|
-
}
|
70
|
-
Object.defineProperty(MatCalendar.prototype, "startAt", {
|
71
|
-
/** A date representing the period (month or year) to start the calendar in. */
|
72
|
-
get: function () { return this._startAt; },
|
73
|
-
set: function (value) {
|
74
|
-
this._startAt = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));
|
75
|
-
},
|
76
|
-
enumerable: false,
|
77
|
-
configurable: true
|
78
|
-
});
|
79
|
-
Object.defineProperty(MatCalendar.prototype, "selected", {
|
80
|
-
/** The currently selected date. */
|
81
|
-
get: function () { return this._selected; },
|
82
|
-
set: function (value) {
|
83
|
-
if (value instanceof DateRange) {
|
84
|
-
this._selected = value;
|
85
|
-
}
|
86
|
-
else {
|
87
|
-
this._selected = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));
|
88
|
-
}
|
89
|
-
},
|
90
|
-
enumerable: false,
|
91
|
-
configurable: true
|
92
|
-
});
|
93
|
-
Object.defineProperty(MatCalendar.prototype, "minDate", {
|
94
|
-
/** The minimum selectable date. */
|
95
|
-
get: function () { return this._minDate; },
|
96
|
-
set: function (value) {
|
97
|
-
this._minDate = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));
|
98
|
-
},
|
99
|
-
enumerable: false,
|
100
|
-
configurable: true
|
101
|
-
});
|
102
|
-
Object.defineProperty(MatCalendar.prototype, "maxDate", {
|
103
|
-
/** The maximum selectable date. */
|
104
|
-
get: function () { return this._maxDate; },
|
105
|
-
set: function (value) {
|
106
|
-
this._maxDate = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));
|
107
|
-
},
|
108
|
-
enumerable: false,
|
109
|
-
configurable: true
|
110
|
-
});
|
111
|
-
Object.defineProperty(MatCalendar.prototype, "activeDate", {
|
112
|
-
/**
|
113
|
-
* The current active date. This determines which time period is shown and which date is
|
114
|
-
* highlighted when using keyboard navigation.
|
115
|
-
*/
|
116
|
-
get: function () { return this._clampedActiveDate; },
|
117
|
-
set: function (value) {
|
118
|
-
this._clampedActiveDate = this._dateAdapter.clampDate(value, this.minDate, this.maxDate);
|
119
|
-
this.stateChanges.next();
|
120
|
-
this._changeDetectorRef.markForCheck();
|
121
|
-
},
|
122
|
-
enumerable: false,
|
123
|
-
configurable: true
|
124
|
-
});
|
125
|
-
Object.defineProperty(MatCalendar.prototype, "currentView", {
|
126
|
-
/** Whether the calendar is in month view. */
|
127
|
-
get: function () { return this._currentView; },
|
128
|
-
set: function (value) {
|
129
|
-
this._currentView = value;
|
130
|
-
this._moveFocusOnNextTick = true;
|
131
|
-
this._changeDetectorRef.markForCheck();
|
132
|
-
},
|
133
|
-
enumerable: false,
|
134
|
-
configurable: true
|
135
|
-
});
|
136
|
-
MatCalendar.prototype.ngAfterContentInit = function () {
|
137
|
-
this.activeDate = this.startAt || this._dateAdapter.today();
|
138
|
-
// Assign to the private property since we don't want to move focus on init.
|
139
|
-
this._currentView = this.startView;
|
140
|
-
};
|
141
|
-
MatCalendar.prototype.ngAfterViewChecked = function () {
|
142
|
-
if (this._moveFocusOnNextTick) {
|
143
|
-
this._moveFocusOnNextTick = false;
|
144
|
-
this.focusActiveCell();
|
145
|
-
}
|
146
|
-
};
|
147
|
-
MatCalendar.prototype.ngOnDestroy = function () {
|
148
|
-
this._intlChanges.unsubscribe();
|
149
|
-
this.stateChanges.complete();
|
150
|
-
};
|
151
|
-
MatCalendar.prototype.ngOnChanges = function (changes) {
|
152
|
-
var change = changes['minDate'] || changes['maxDate'] || changes['dateFilter'];
|
153
|
-
if (change && !change.firstChange) {
|
154
|
-
var view = this._getCurrentViewComponent();
|
155
|
-
if (view) {
|
156
|
-
// We need to `detectChanges` manually here, because the `minDate`, `maxDate` etc. are
|
157
|
-
// passed down to the view via data bindings which won't be up-to-date when we call `_init`.
|
158
|
-
this._changeDetectorRef.detectChanges();
|
159
|
-
view._init();
|
160
|
-
}
|
161
|
-
}
|
162
|
-
this.stateChanges.next();
|
163
|
-
};
|
164
|
-
MatCalendar.prototype.focusActiveCell = function () {
|
165
|
-
this._getCurrentViewComponent()._focusActiveCell(false);
|
166
|
-
};
|
167
|
-
/** Updates today's date after an update of the active date */
|
168
|
-
MatCalendar.prototype.updateTodaysDate = function () {
|
169
|
-
var currentView = this.currentView;
|
170
|
-
var view;
|
171
|
-
if (currentView === 'month') {
|
172
|
-
view = this.monthView;
|
173
|
-
}
|
174
|
-
else if (currentView === 'year') {
|
175
|
-
view = this.yearView;
|
176
|
-
}
|
177
|
-
else {
|
178
|
-
view = this.multiYearView;
|
179
|
-
}
|
180
|
-
view._init();
|
181
|
-
};
|
182
|
-
/** Handles date selection in the month view. */
|
183
|
-
MatCalendar.prototype._dateSelected = function (event) {
|
184
|
-
var date = event.value;
|
185
|
-
if (this.selected instanceof DateRange || (date && !this._dateAdapter.sameDate(date, this.selected))) {
|
186
|
-
// @breaking-change 11.0.0 remove non-null assertion
|
187
|
-
// once the `selectedChange` is allowed to be null.
|
188
|
-
this.selectedChange.emit(date);
|
189
|
-
}
|
190
|
-
this._userSelection.emit(event);
|
191
|
-
};
|
192
|
-
/** Handles year selection in the multiyear view. */
|
193
|
-
MatCalendar.prototype._yearSelectedInMultiYearView = function (normalizedYear) {
|
194
|
-
this.yearSelected.emit(normalizedYear);
|
195
|
-
};
|
196
|
-
/** Handles month selection in the year view. */
|
197
|
-
MatCalendar.prototype._monthSelectedInYearView = function (normalizedMonth) {
|
198
|
-
this.monthSelected.emit(normalizedMonth);
|
199
|
-
};
|
200
|
-
/** Handles year/month selection in the multi-year/year views. */
|
201
|
-
MatCalendar.prototype._goToDateInView = function (date, view) {
|
202
|
-
this.activeDate = date;
|
203
|
-
this.currentView = view;
|
204
|
-
};
|
205
|
-
/** Returns the component instance that corresponds to the current calendar view. */
|
206
|
-
MatCalendar.prototype._getCurrentViewComponent = function () {
|
207
|
-
return this.monthView || this.yearView || this.multiYearView;
|
208
|
-
};
|
209
|
-
MatCalendar.ctorParameters = function () { return [
|
210
|
-
{ type: MatDatepickerIntl },
|
211
|
-
{ type: DateAdapter, decorators: [{ type: Optional }] },
|
212
|
-
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DATE_FORMATS,] }] },
|
213
|
-
{ type: ChangeDetectorRef }
|
214
|
-
]; };
|
215
|
-
__decorate([
|
216
|
-
Input(),
|
217
|
-
__metadata("design:type", TemplateRef)
|
218
|
-
], MatCalendar.prototype, "templatePresetRange", void 0);
|
219
|
-
__decorate([
|
220
|
-
Input(),
|
221
|
-
__metadata("design:type", Object),
|
222
|
-
__metadata("design:paramtypes", [Object])
|
223
|
-
], MatCalendar.prototype, "startAt", null);
|
224
|
-
__decorate([
|
225
|
-
Input(),
|
226
|
-
__metadata("design:type", String)
|
227
|
-
], MatCalendar.prototype, "startView", void 0);
|
228
|
-
__decorate([
|
229
|
-
Input(),
|
230
|
-
__metadata("design:type", Object),
|
231
|
-
__metadata("design:paramtypes", [Object])
|
232
|
-
], MatCalendar.prototype, "selected", null);
|
233
|
-
__decorate([
|
234
|
-
Input(),
|
235
|
-
__metadata("design:type", Object),
|
236
|
-
__metadata("design:paramtypes", [Object])
|
237
|
-
], MatCalendar.prototype, "minDate", null);
|
238
|
-
__decorate([
|
239
|
-
Input(),
|
240
|
-
__metadata("design:type", Object),
|
241
|
-
__metadata("design:paramtypes", [Object])
|
242
|
-
], MatCalendar.prototype, "maxDate", null);
|
243
|
-
__decorate([
|
244
|
-
Input(),
|
245
|
-
__metadata("design:type", Function)
|
246
|
-
], MatCalendar.prototype, "dateFilter", void 0);
|
247
|
-
__decorate([
|
248
|
-
Input(),
|
249
|
-
__metadata("design:type", Function)
|
250
|
-
], MatCalendar.prototype, "dateClass", void 0);
|
251
|
-
__decorate([
|
252
|
-
Input(),
|
253
|
-
__metadata("design:type", Object)
|
254
|
-
], MatCalendar.prototype, "comparisonStart", void 0);
|
255
|
-
__decorate([
|
256
|
-
Input(),
|
257
|
-
__metadata("design:type", Object)
|
258
|
-
], MatCalendar.prototype, "comparisonEnd", void 0);
|
259
|
-
__decorate([
|
260
|
-
Output(),
|
261
|
-
__metadata("design:type", EventEmitter)
|
262
|
-
], MatCalendar.prototype, "selectedChange", void 0);
|
263
|
-
__decorate([
|
264
|
-
Output(),
|
265
|
-
__metadata("design:type", EventEmitter)
|
266
|
-
], MatCalendar.prototype, "yearSelected", void 0);
|
267
|
-
__decorate([
|
268
|
-
Output(),
|
269
|
-
__metadata("design:type", EventEmitter)
|
270
|
-
], MatCalendar.prototype, "monthSelected", void 0);
|
271
|
-
__decorate([
|
272
|
-
Output(),
|
273
|
-
__metadata("design:type", EventEmitter)
|
274
|
-
], MatCalendar.prototype, "_userSelection", void 0);
|
275
|
-
__decorate([
|
276
|
-
ViewChild(MatMonthView, { static: false }),
|
277
|
-
__metadata("design:type", MatMonthView)
|
278
|
-
], MatCalendar.prototype, "monthView", void 0);
|
279
|
-
__decorate([
|
280
|
-
ViewChild(MatYearView, { static: false }),
|
281
|
-
__metadata("design:type", MatYearView)
|
282
|
-
], MatCalendar.prototype, "yearView", void 0);
|
283
|
-
__decorate([
|
284
|
-
ViewChild(MatMultiYearView, { static: false }),
|
285
|
-
__metadata("design:type", MatMultiYearView)
|
286
|
-
], MatCalendar.prototype, "multiYearView", void 0);
|
287
|
-
MatCalendar = __decorate([
|
288
|
-
Component({
|
289
|
-
selector: 'gipi-mat-calendar',
|
290
|
-
template: "<div class=\"gipi-mat-calendar-wrapper\">\n <ng-container *ngIf=\"templatePresetRange\"\n [ngTemplateOutlet]=\"templatePresetRange\"\n [ngTemplateOutletContext]=\"{$implicit: matCalendarRef}\">\n </ng-container>\n\n <div class=\"gipi-mat-calendar-content\">\n <!-- <ng-template [cdkPortalOutlet]=\"_calendarHeaderPortal\"> </ng-template> -->\n <gipi-mat-calendar-header [matCalendar]=\"matCalendarRef\"> </gipi-mat-calendar-header>\n\n <div class=\"mat-calendar-content\"\n [ngSwitch]=\"currentView\"\n cdkMonitorSubtreeFocus\n tabindex=\"-1\">\n <gipi-mat-month-view *ngSwitchCase=\"'month'\"\n [(activeDate)]=\"activeDate\"\n [selected]=\"selected\"\n [dateFilter]=\"dateFilter\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [dateClass]=\"dateClass\"\n [comparisonStart]=\"comparisonStart\"\n [comparisonEnd]=\"comparisonEnd\"\n (_userSelection)=\"_dateSelected($event)\">\n </gipi-mat-month-view>\n\n <gipi-mat-year-view *ngSwitchCase=\"'year'\"\n [(activeDate)]=\"activeDate\"\n [selected]=\"selected\"\n [dateFilter]=\"dateFilter\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [dateClass]=\"dateClass\"\n (monthSelected)=\"_monthSelectedInYearView($event)\"\n (selectedChange)=\"_goToDateInView($event, 'month')\">\n </gipi-mat-year-view>\n\n <gipi-mat-multi-year-view *ngSwitchCase=\"'multi-year'\"\n [(activeDate)]=\"activeDate\"\n [selected]=\"selected\"\n [dateFilter]=\"dateFilter\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [dateClass]=\"dateClass\"\n (yearSelected)=\"_yearSelectedInMultiYearView($event)\"\n (selectedChange)=\"_goToDateInView($event, 'year')\">\n </gipi-mat-multi-year-view>\n </div>\n </div>\n</div>",
|
291
|
-
host: {
|
292
|
-
'class': 'mat-calendar',
|
293
|
-
},
|
294
|
-
exportAs: 'gipiMatCalendar',
|
295
|
-
encapsulation: ViewEncapsulation.None,
|
296
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
297
|
-
providers: [
|
298
|
-
MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER
|
299
|
-
],
|
300
|
-
styles: [".mat-calendar{display:block}.mat-calendar-header{padding:8px 8px 0}.mat-calendar-content{padding:0 8px 8px;outline:0}.mat-calendar-controls{display:flex;margin:5% calc(33% / 7 - 16px)}.mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:.04}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0}.mat-calendar-arrow{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top-width:5px;border-top-style:solid;margin:0 0 0 5px;vertical-align:middle}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}.mat-calendar-next-button,.mat-calendar-previous-button{position:relative}.mat-calendar-next-button::after,.mat-calendar-previous-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:'';margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .mat-calendar-next-button,[dir=rtl] .mat-calendar-previous-button{transform:rotate(180deg)}.mat-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.mat-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:'';position:absolute;top:0;left:-8px;right:-8px;height:1px}.gipi-mat-calendar-wrapper{display:flex;flex-direction:row}"]
|
301
|
-
}),
|
302
|
-
__param(1, Optional()),
|
303
|
-
__param(2, Optional()), __param(2, Inject(MAT_DATE_FORMATS)),
|
304
|
-
__metadata("design:paramtypes", [MatDatepickerIntl,
|
305
|
-
DateAdapter, Object, ChangeDetectorRef])
|
306
|
-
], MatCalendar);
|
307
|
-
return MatCalendar;
|
308
|
-
}());
|
309
|
-
export { MatCalendar };
|
310
|
-
/** Default header for MatCalendar */
|
311
|
-
var MatCalendarHeader = /** @class */ (function () {
|
312
|
-
function MatCalendarHeader(_intl, _dateAdapter, _dateFormats, _changeDetectorRef) {
|
313
|
-
this._intl = _intl;
|
314
|
-
this._dateAdapter = _dateAdapter;
|
315
|
-
this._dateFormats = _dateFormats;
|
316
|
-
this._changeDetectorRef = _changeDetectorRef;
|
317
|
-
}
|
318
|
-
MatCalendarHeader.prototype.ngAfterViewInit = function () {
|
319
|
-
var _this = this;
|
320
|
-
this.matCalendar.stateChanges.subscribe(function () { return _this._changeDetectorRef.markForCheck(); });
|
321
|
-
};
|
322
|
-
Object.defineProperty(MatCalendarHeader.prototype, "periodButtonText", {
|
323
|
-
/** The label for the current matCalendar view. */
|
324
|
-
get: function () {
|
325
|
-
if (this.matCalendar.currentView == 'month') {
|
326
|
-
return this._dateAdapter
|
327
|
-
.format(this.matCalendar.activeDate, this._dateFormats.display.monthYearLabel)
|
328
|
-
.toLocaleUpperCase();
|
329
|
-
}
|
330
|
-
if (this.matCalendar.currentView == 'year') {
|
331
|
-
return this._dateAdapter.getYearName(this.matCalendar.activeDate);
|
332
|
-
}
|
333
|
-
// The offset from the active year to the "slot" for the starting year is the
|
334
|
-
// *actual* first rendered year in the multi-year view, and the last year is
|
335
|
-
// just yearsPerPage - 1 away.
|
336
|
-
var activeYear = this._dateAdapter.getYear(this.matCalendar.activeDate);
|
337
|
-
var minYearOfPage = activeYear - getActiveOffset(this._dateAdapter, this.matCalendar.activeDate, this.matCalendar.minDate, this.matCalendar.maxDate);
|
338
|
-
var maxYearOfPage = minYearOfPage + yearsPerPage - 1;
|
339
|
-
var minYearName = this._dateAdapter.getYearName(this._dateAdapter.createDate(minYearOfPage, 0, 1));
|
340
|
-
var maxYearName = this._dateAdapter.getYearName(this._dateAdapter.createDate(maxYearOfPage, 0, 1));
|
341
|
-
return this._intl.formatYearRange(minYearName, maxYearName);
|
342
|
-
},
|
343
|
-
enumerable: false,
|
344
|
-
configurable: true
|
345
|
-
});
|
346
|
-
Object.defineProperty(MatCalendarHeader.prototype, "periodButtonLabel", {
|
347
|
-
get: function () {
|
348
|
-
return this.matCalendar.currentView == 'month' ? this._intl.switchToMultiYearViewLabel : this._intl.switchToMonthViewLabel;
|
349
|
-
},
|
350
|
-
enumerable: false,
|
351
|
-
configurable: true
|
352
|
-
});
|
353
|
-
Object.defineProperty(MatCalendarHeader.prototype, "prevButtonLabel", {
|
354
|
-
/** The label for the previous button. */
|
355
|
-
get: function () {
|
356
|
-
return {
|
357
|
-
'month': this._intl.prevMonthLabel,
|
358
|
-
'year': this._intl.prevYearLabel,
|
359
|
-
'multi-year': this._intl.prevMultiYearLabel
|
360
|
-
}[this.matCalendar.currentView];
|
361
|
-
},
|
362
|
-
enumerable: false,
|
363
|
-
configurable: true
|
364
|
-
});
|
365
|
-
Object.defineProperty(MatCalendarHeader.prototype, "nextButtonLabel", {
|
366
|
-
/** The label for the next button. */
|
367
|
-
get: function () {
|
368
|
-
return {
|
369
|
-
'month': this._intl.nextMonthLabel,
|
370
|
-
'year': this._intl.nextYearLabel,
|
371
|
-
'multi-year': this._intl.nextMultiYearLabel
|
372
|
-
}[this.matCalendar.currentView];
|
373
|
-
},
|
374
|
-
enumerable: false,
|
375
|
-
configurable: true
|
376
|
-
});
|
377
|
-
/** Handles user clicks on the period label. */
|
378
|
-
MatCalendarHeader.prototype.currentPeriodClicked = function () {
|
379
|
-
this.matCalendar.currentView = this.matCalendar.currentView == 'month' ? 'multi-year' : 'month';
|
380
|
-
};
|
381
|
-
/** Handles user clicks on the previous button. */
|
382
|
-
MatCalendarHeader.prototype.previousClicked = function () {
|
383
|
-
this.matCalendar.activeDate = this.matCalendar.currentView == 'month'
|
384
|
-
? this._dateAdapter.addCalendarMonths(this.matCalendar.activeDate, -1)
|
385
|
-
: this._dateAdapter.addCalendarYears(this.matCalendar.activeDate, this.matCalendar.currentView == 'year' ? -1 : -yearsPerPage);
|
386
|
-
};
|
387
|
-
/** Handles user clicks on the next button. */
|
388
|
-
MatCalendarHeader.prototype.nextClicked = function () {
|
389
|
-
this.matCalendar.activeDate = this.matCalendar.currentView == 'month'
|
390
|
-
? this._dateAdapter.addCalendarMonths(this.matCalendar.activeDate, 1)
|
391
|
-
: this._dateAdapter.addCalendarYears(this.matCalendar.activeDate, this.matCalendar.currentView == 'year' ? 1 : yearsPerPage);
|
392
|
-
};
|
393
|
-
/** Whether the previous period button is enabled. */
|
394
|
-
MatCalendarHeader.prototype.previousEnabled = function () {
|
395
|
-
if (!this.matCalendar.minDate) {
|
396
|
-
return true;
|
397
|
-
}
|
398
|
-
return !this.matCalendar.minDate || !this._isSameView(this.matCalendar.activeDate, this.matCalendar.minDate);
|
399
|
-
};
|
400
|
-
/** Whether the next period button is enabled. */
|
401
|
-
MatCalendarHeader.prototype.nextEnabled = function () {
|
402
|
-
return !this.matCalendar.maxDate || !this._isSameView(this.matCalendar.activeDate, this.matCalendar.maxDate);
|
403
|
-
};
|
404
|
-
/** Whether the two dates represent the same view in the current view mode (month or year). */
|
405
|
-
MatCalendarHeader.prototype._isSameView = function (date1, date2) {
|
406
|
-
if (this.matCalendar.currentView == 'month') {
|
407
|
-
return this._dateAdapter.getYear(date1) == this._dateAdapter.getYear(date2) && this._dateAdapter.getMonth(date1) == this._dateAdapter.getMonth(date2);
|
408
|
-
}
|
409
|
-
if (this.matCalendar.currentView == 'year') {
|
410
|
-
return this._dateAdapter.getYear(date1) == this._dateAdapter.getYear(date2);
|
411
|
-
}
|
412
|
-
// Otherwise we are in 'multi-year' view.
|
413
|
-
return isSameMultiYearView(this._dateAdapter, date1, date2, this.matCalendar.minDate, this.matCalendar.maxDate);
|
414
|
-
};
|
415
|
-
MatCalendarHeader.ctorParameters = function () { return [
|
416
|
-
{ type: MatDatepickerIntl },
|
417
|
-
{ type: DateAdapter, decorators: [{ type: Optional }] },
|
418
|
-
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DATE_FORMATS,] }] },
|
419
|
-
{ type: ChangeDetectorRef }
|
420
|
-
]; };
|
421
|
-
__decorate([
|
422
|
-
Input(),
|
423
|
-
__metadata("design:type", MatCalendar)
|
424
|
-
], MatCalendarHeader.prototype, "matCalendar", void 0);
|
425
|
-
MatCalendarHeader = __decorate([
|
426
|
-
Component({
|
427
|
-
selector: 'gipi-mat-calendar-header',
|
428
|
-
template: "<div class=\"mat-calendar-header\">\n <div class=\"mat-calendar-controls\">\n <button mat-button\n type=\"button\"\n class=\"mat-calendar-period-button\"\n (click)=\"currentPeriodClicked()\"\n [attr.aria-label]=\"periodButtonLabel\"\n cdkAriaLive=\"polite\">\n {{ periodButtonText }}\n <div class=\"mat-calendar-arrow\"\n [class.mat-calendar-invert]=\"matCalendar.currentView != 'month'\">\n </div>\n </button>\n\n <div class=\"mat-calendar-spacer\"> </div>\n\n <ng-content> </ng-content>\n\n <button mat-icon-button\n type=\"button\"\n class=\"mat-calendar-previous-button\"\n [disabled]=\"!previousEnabled()\"\n (click)=\"previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\">\n </button>\n\n <button mat-icon-button\n type=\"button\"\n class=\"mat-calendar-next-button\"\n [disabled]=\"!nextEnabled()\"\n (click)=\"nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\">\n </button>\n </div>\n</div>",
|
429
|
-
exportAs: 'gipiMatCalendarHeader',
|
430
|
-
encapsulation: ViewEncapsulation.None,
|
431
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
432
|
-
}),
|
433
|
-
__param(1, Optional()),
|
434
|
-
__param(2, Optional()), __param(2, Inject(MAT_DATE_FORMATS)),
|
435
|
-
__metadata("design:paramtypes", [MatDatepickerIntl,
|
436
|
-
DateAdapter, Object, ChangeDetectorRef])
|
437
|
-
], MatCalendarHeader);
|
438
|
-
return MatCalendarHeader;
|
439
|
-
}());
|
440
|
-
export { MatCalendarHeader };
|
441
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJzaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGVwaWNrZXIvbWF0LWRhdGVwaWNrZXIvY2FsZW5kYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4USxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sK0JBQStCLENBQUM7QUFDakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVExQzs7O0dBR0c7QUFlSDtJQTJISSxxQkFDSSxLQUF3QixFQUNKLFlBQTRCLEVBQ0YsWUFBNEIsRUFDbEUs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QkFBaUI7T0FSeEMsaUJBQWlCLENBc0c3QjtJQUFELHdCQUFDO0NBQUEsQUF0R0QsSUFzR0M7U0F0R1ksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPcHRpb25hbCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRDYWxlbmRhckNlbGxDbGFzc0Z1bmN0aW9uLCBNYXRDYWxlbmRhclVzZXJFdmVudCB9IGZyb20gJy4vY2FsZW5kYXItYm9keSc7XG5pbXBvcnQgeyBEYXRlUmFuZ2UsIE1BVF9TSU5HTEVfREFURV9TRUxFQ1RJT05fTU9ERUxfUFJPVklERVIgfSBmcm9tICcuL2RhdGUtc2VsZWN0aW9uLW1vZGVsJztcbmltcG9ydCB7IGNyZWF0ZU1pc3NpbmdEYXRlSW1wbEVycm9yIH0gZnJvbSAnLi9kYXRlcGlja2VyLWVycm9ycyc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VySW50bCB9IGZyb20gJy4vZGF0ZXBpY2tlci1pbnRsJztcbmltcG9ydCB7IE1hdE1vbnRoVmlldyB9IGZyb20gJy4vbW9udGgtdmlldyc7XG5pbXBvcnQgeyBnZXRBY3RpdmVPZmZzZXQsIGlzU2FtZU11bHRpWWVhclZpZXcsIE1hdE11bHRpWWVhclZpZXcsIHllYXJzUGVyUGFnZSB9IGZyb20gJy4vbXVsdGkteWVhci12aWV3JztcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnLi9zaGFyZWQvYWRhcHRlci9kYXRlLWFkYXB0ZXInO1xuaW1wb3J0IHsgTUFUX0RBVEVfRk9STUFUUywgTWF0RGF0ZUZvcm1hdHMgfSBmcm9tICcuL3NoYXJlZC9hZGFwdGVyL2RhdGUtZm9ybWF0cyc7XG5pbXBvcnQgeyBNYXRZZWFyVmlldyB9IGZyb20gJy4veWVhci12aWV3JztcblxuLyoqXG4gKiBQb3NzaWJsZSB2aWV3cyBmb3IgdGhlIGNhbGVuZGFyLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgdHlwZSBNYXRDYWxlbmRhclZpZXcgPSAnbW9udGgnIHwgJ3llYXInIHwgJ211bHRpLXllYXInO1xuXG4vKipcbiAqIEEgY2FsZW5kYXIgdGhhdCBpcyB1c2VkIGFzIHBhcnQgb2YgdGhlIGRhdGVwaWNrZXIuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZ2lwaS1tYXQtY2FsZW5kYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnY2FsZW5kYXIuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2NhbGVuZGFyLnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdtYXQtY2FsZW5kYXInLFxuICAgIH0sXG4gICAgZXhwb3J0QXM6ICdnaXBpTWF0Q2FsZW5kYXInLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIE1BVF9TSU5HTEVfREFURV9TRUxFQ1RJT05fTU9ERUxfUFJPVklERVJcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE1hdENhbGVuZGFyPEQ+IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuXG4gICAgcHVibGljIG1hdENhbGVuZGFyUmVmOiBNYXRDYWxlbmRhcjxEPiA9IHRoaXM7XG5cbiAgICAvKiogQ3JlYXRlZCBieSBHSVBJIFNpc3RlbWFzICovXG4gICAgQElucHV0KCkgdGVtcGxhdGVQcmVzZXRSYW5nZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHByaXZhdGUgX2ludGxDaGFuZ2VzOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIGZvciBzY2hlZHVsaW5nIHRoYXQgZm9jdXMgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBhY3RpdmUgY2VsbCBvbiB0aGUgbmV4dCB0aWNrLlxuICAgICAqIFdlIG5lZWQgdG8gc2NoZWR1bGUgaXQsIHJhdGhlciB0aGFuIGRvIGl0IGltbWVkaWF0ZWx5LCBiZWNhdXNlIHdlIGhhdmUgdG8gd2FpdFxuICAgICAqIGZvciBBbmd1bGFyIHRvIHJlLWV2YWx1YXRlIHRoZSB2aWV3IGNoaWxkcmVuLlxuICAgICAqL1xuICAgIHByaXZhdGUgX21vdmVGb2N1c09uTmV4dFRpY2sgPSBmYWxzZTtcblxuICAgIC8qKiBBIGRhdGUgcmVwcmVzZW50aW5nIHRoZSBwZXJpb2QgKG1vbnRoIG9yIHllYXIpIHRvIHN0YXJ0IHRoZSBjYWxlbmRhciBpbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBzdGFydEF0KCk6IEQgfCBudWxsIHsgcmV0dXJuIHRoaXMuX3N0YXJ0QXQ7IH1cbiAgICBzZXQgc3RhcnRBdCh2YWx1ZTogRCB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5fc3RhcnRBdCA9IHRoaXMuX2RhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbCh0aGlzLl9kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICAgIH1cbiAgICBwcml2YXRlIF9zdGFydEF0OiBEIHwgbnVsbDtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBjYWxlbmRhciBzaG91bGQgYmUgc3RhcnRlZCBpbiBtb250aCBvciB5ZWFyIHZpZXcuICovXG4gICAgQElucHV0KCkgc3RhcnRWaWV3OiBNYXRDYWxlbmRhclZpZXcgPSAnbW9udGgnO1xuXG4gICAgLyoqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZGF0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBzZWxlY3RlZCgpOiBEYXRlUmFuZ2U8RD4gfCBEIHwgbnVsbCB7IHJldHVybiB0aGlzLl9zZWxlY3RlZDsgfVxuICAgIHNldCBzZWxlY3RlZCh2YWx1ZTogRGF0ZVJhbmdlPEQ+IHwgRCB8IG51bGwpIHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZVJhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0aGlzLl9kYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwodGhpcy5fZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIF9zZWxlY3RlZDogRGF0ZVJhbmdlPEQ+IHwgRCB8IG51bGw7XG5cbiAgICAvKiogVGhlIG1pbmltdW0gc2VsZWN0YWJsZSBkYXRlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IG1pbkRhdGUoKTogRCB8IG51bGwgeyByZXR1cm4gdGhpcy5fbWluRGF0ZTsgfVxuICAgIHNldCBtaW5EYXRlKHZhbHVlOiBEIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9taW5EYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKHRoaXMuX2RhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gICAgfVxuICAgIHByaXZhdGUgX21pbkRhdGU6IEQgfCBudWxsO1xuXG4gICAgLyoqIFRoZSBtYXhpbXVtIHNlbGVjdGFibGUgZGF0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBtYXhEYXRlKCk6IEQgfCBudWxsIHsgcmV0dXJuIHRoaXMuX21heERhdGU7IH1cbiAgICBzZXQgbWF4RGF0ZSh2YWx1ZTogRCB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5fbWF4RGF0ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbCh0aGlzLl9kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICAgIH1cbiAgICBwcml2YXRlIF9tYXhEYXRlOiBEIHwgbnVsbDtcblxuICAgIC8qKiBGdW5jdGlvbiB1c2VkIHRvIGZpbHRlciB3aGljaCBkYXRlcyBhcmUgc2VsZWN0YWJsZS4gKi9cbiAgICBASW5wdXQoKSBkYXRlRmlsdGVyOiAoZGF0ZTogRCkgPT4gYm9vbGVhbjtcblxuICAgIC8qKiBGdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGFkZCBjdXN0b20gQ1NTIGNsYXNzZXMgdG8gZGF0ZXMuICovXG4gICAgQElucHV0KCkgZGF0ZUNsYXNzOiBNYXRDYWxlbmRhckNlbGxDbGFzc0Z1bmN0aW9uPEQ+O1xuXG4gICAgLyoqIFN0YXJ0IG9mIHRoZSBjb21wYXJpc29uIHJhbmdlLiAqL1xuICAgIEBJbnB1dCgpIGNvbXBhcmlzb25TdGFydDogRCB8IG51bGw7XG5cbiAgICAvKiogRW5kIG9mIHRoZSBjb21wYXJpc29uIHJhbmdlLiAqL1xuICAgIEBJbnB1dCgpIGNvbXBhcmlzb25FbmQ6IEQgfCBudWxsO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGRhdGUgY2hhbmdlcy5cbiAgICAgKiBAYnJlYWtpbmctY2hhbmdlIDExLjAuMCBFbWl0dGVkIHZhbHVlIHRvIGNoYW5nZSB0byBgRCB8IG51bGxgLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPEQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxEPigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgdGhlIHllYXIgY2hvc2VuIGluIG11bHRpeWVhciB2aWV3LlxuICAgICAqIFRoaXMgZG9lc24ndCBpbXBseSBhIGNoYW5nZSBvbiB0aGUgc2VsZWN0ZWQgZGF0ZS5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgeWVhclNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8RD4gPSBuZXcgRXZlbnRFbWl0dGVyPEQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB0aGUgbW9udGggY2hvc2VuIGluIHllYXIgdmlldy5cbiAgICAgKiBUaGlzIGRvZXNuJ3QgaW1wbHkgYSBjaGFuZ2Ugb24gdGhlIHNlbGVjdGVkIGRhdGUuXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG1vbnRoU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxEPiA9IG5ldyBFdmVudEVtaXR0ZXI8RD4oKTtcblxuICAgIC8qKiBFbWl0cyB3aGVuIGFueSBkYXRlIGlzIHNlbGVjdGVkLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBfdXNlclNlbGVjdGlvbjogRXZlbnRFbWl0dGVyPE1hdENhbGVuZGFyVXNlckV2ZW50PEQgfCBudWxsPj4gPSBuZXcgRXZlbnRFbWl0dGVyPE1hdENhbGVuZGFyVXNlckV2ZW50PEQgfCBudWxsPj4oKTtcblxuICAgIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnQgbW9udGggdmlldyBjb21wb25lbnQuICovXG4gICAgQFZpZXdDaGlsZChNYXRNb250aFZpZXcsIHsgc3RhdGljOiBmYWxzZSB9KSBtb250aFZpZXc6IE1hdE1vbnRoVmlldzxEPjtcblxuICAgIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnQgeWVhciB2aWV3IGNvbXBvbmVudC4gKi9cbiAgICBAVmlld0NoaWxkKE1hdFllYXJWaWV3LCB7IHN0YXRpYzogZmFsc2UgfSkgeWVhclZpZXc6IE1hdFllYXJWaWV3PEQ+O1xuXG4gICAgLyoqIFJlZmVyZW5jZSB0byB0aGUgY3VycmVudCBtdWx0aS15ZWFyIHZpZXcgY29tcG9uZW50LiAqL1xuICAgIEBWaWV3Q2hpbGQoTWF0TXVsdGlZZWFyVmlldywgeyBzdGF0aWM6IGZhbHNlIH0pIG11bHRpWWVhclZpZXc6IE1hdE11bHRpWWVhclZpZXc8RD47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY3VycmVudCBhY3RpdmUgZGF0ZS4gVGhpcyBkZXRlcm1pbmVzIHdoaWNoIHRpbWUgcGVyaW9kIGlzIHNob3duIGFuZCB3aGljaCBkYXRlIGlzXG4gICAgICogaGlnaGxpZ2h0ZWQgd2hlbiB1c2luZyBrZXlib2FyZCBuYXZpZ2F0aW9uLlxuICAgICAqL1xuICAgIGdldCBhY3RpdmVEYXRlKCk6IEQgeyByZXR1cm4gdGhpcy5fY2xhbXBlZEFjdGl2ZURhdGU7IH1cbiAgICBzZXQgYWN0aXZlRGF0ZSh2YWx1ZTogRCkge1xuICAgICAgICB0aGlzLl9jbGFtcGVkQWN0aXZlRGF0ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLmNsYW1wRGF0ZSh2YWx1ZSwgdGhpcy5taW5EYXRlLCB0aGlzLm1heERhdGUpO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jbGFtcGVkQWN0aXZlRGF0ZTogRDtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBjYWxlbmRhciBpcyBpbiBtb250aCB2aWV3LiAqL1xuICAgIGdldCBjdXJyZW50VmlldygpOiBNYXRDYWxlbmRhclZpZXcgeyByZXR1cm4gdGhpcy5fY3VycmVudFZpZXc7IH1cbiAgICBzZXQgY3VycmVudFZpZXcodmFsdWU6IE1hdENhbGVuZGFyVmlldykge1xuICAgICAgICB0aGlzLl9jdXJyZW50VmlldyA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9tb3ZlRm9jdXNPbk5leHRUaWNrID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX2N1cnJlbnRWaWV3OiBNYXRDYWxlbmRhclZpZXc7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB3aGVuZXZlciB0aGVyZSBpcyBhIHN0YXRlIGNoYW5nZSB0aGF0IHRoZSBoZWFkZXIgbWF5IG5lZWQgdG8gcmVzcG9uZCB0by5cbiAgICAgKi9cbiAgICBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIF9pbnRsOiBNYXREYXRlcGlja2VySW50bCxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9EQVRFX0ZPUk1BVFMpIHByaXZhdGUgX2RhdGVGb3JtYXRzOiBNYXREYXRlRm9ybWF0cyxcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIGlmICghdGhpcy5fZGF0ZUFkYXB0ZXIpIHtcbiAgICAgICAgICAgIHRocm93IGNyZWF0ZU1pc3NpbmdEYXRlSW1wbEVycm9yKCdEYXRlQWRhcHRlcicpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLl9kYXRlRm9ybWF0cykge1xuICAgICAgICAgICAgdGhyb3cgY3JlYXRlTWlzc2luZ0RhdGVJbXBsRXJyb3IoJ01BVF9EQVRFX0ZPUk1BVFMnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2ludGxDaGFuZ2VzID0gX2ludGwuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IHRoaXMuc3RhcnRBdCB8fCB0aGlzLl9kYXRlQWRhcHRlci50b2RheSgpO1xuXG4gICAgICAgIC8vIEFzc2lnbiB0byB0aGUgcHJpdmF0ZSBwcm9wZXJ0eSBzaW5jZSB3ZSBkb24ndCB3YW50IHRvIG1vdmUgZm9jdXMgb24gaW5pdC5cbiAgICAgICAgdGhpcy5fY3VycmVudFZpZXcgPSB0aGlzLnN0YXJ0VmlldztcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9tb3ZlRm9jdXNPbk5leHRUaWNrKSB7XG4gICAgICAgICAgICB0aGlzLl9tb3ZlRm9jdXNPbk5leHRUaWNrID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmZvY3VzQWN0aXZlQ2VsbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX2ludGxDaGFuZ2VzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBjb25zdCBjaGFuZ2UgPSBjaGFuZ2VzWydtaW5EYXRlJ10gfHwgY2hhbmdlc1snbWF4RGF0ZSddIHx8IGNoYW5nZXNbJ2RhdGVGaWx0ZXInXTtcblxuICAgICAgICBpZiAoY2hhbmdlICYmICFjaGFuZ2UuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXcgPSB0aGlzLl9nZXRDdXJyZW50Vmlld0NvbXBvbmVudCgpO1xuXG4gICAgICAgICAgICBpZiAodmlldykge1xuICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gYGRldGVjdENoYW5nZXNgIG1hbnVhbGx5IGhlcmUsIGJlY2F1c2UgdGhlIGBtaW5EYXRlYCwgYG1heERhdGVgIGV0Yy4gYXJlXG4gICAgICAgICAgICAgICAgLy8gcGFzc2VkIGRvd24gdG8gdGhlIHZpZXcgdmlhIGRhdGEgYmluZGluZ3Mgd2hpY2ggd29uJ3QgYmUgdXAtdG8tZGF0ZSB3aGVuIHdlIGNhbGwgYF9pbml0YC5cbiAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgdmlldy5faW5pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cblxuICAgIGZvY3VzQWN0aXZlQ2VsbCgpIHtcbiAgICAgICAgdGhpcy5fZ2V0Q3VycmVudFZpZXdDb21wb25lbnQoKS5fZm9jdXNBY3RpdmVDZWxsKGZhbHNlKTtcbiAgICB9XG5cbiAgICAvKiogVXBkYXRlcyB0b2RheSdzIGRhdGUgYWZ0ZXIgYW4gdXBkYXRlIG9mIHRoZSBhY3RpdmUgZGF0ZSAqL1xuICAgIHVwZGF0ZVRvZGF5c0RhdGUoKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRWaWV3ID0gdGhpcy5jdXJyZW50VmlldztcbiAgICAgICAgbGV0IHZpZXc6IE1hdE1vbnRoVmlldzxEPiB8IE1hdFllYXJWaWV3PEQ+IHwgTWF0TXVsdGlZZWFyVmlldzxEPjtcblxuICAgICAgICBpZiAoY3VycmVudFZpZXcgPT09ICdtb250aCcpIHtcbiAgICAgICAgICAgIHZpZXcgPSB0aGlzLm1vbnRoVmlldztcbiAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50VmlldyA9PT0gJ3llYXInKSB7XG4gICAgICAgICAgICB2aWV3ID0gdGhpcy55ZWFyVmlldztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZpZXcgPSB0aGlzLm11bHRpWWVhclZpZXc7XG4gICAgICAgIH1cblxuICAgICAgICB2aWV3Ll9pbml0KCk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXMgZGF0ZSBzZWxlY3Rpb24gaW4gdGhlIG1vbnRoIHZpZXcuICovXG4gICAgX2RhdGVTZWxlY3RlZChldmVudDogTWF0Q2FsZW5kYXJVc2VyRXZlbnQ8RCB8IG51bGw+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBldmVudC52YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZCBpbnN0YW5jZW9mIERhdGVSYW5nZSB8fCAoZGF0ZSAmJiAhdGhpcy5fZGF0ZUFkYXB0ZXIuc2FtZURhdGUoZGF0ZSwgdGhpcy5zZWxlY3RlZCkpKSB7XG4gICAgICAgICAgICAvLyBAYnJlYWtpbmctY2hhbmdlIDExLjAuMCByZW1vdmUgbm9uLW51bGwgYXNzZXJ0aW9uXG4gICAgICAgICAgICAvLyBvbmNlIHRoZSBgc2VsZWN0ZWRDaGFuZ2VgIGlzIGFsbG93ZWQgdG8gYmUgbnVsbC5cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChkYXRlISk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl91c2VyU2VsZWN0aW9uLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVzIHllYXIgc2VsZWN0aW9uIGluIHRoZSBtdWx0aXllYXIgdmlldy4gKi9cbiAgICBfeWVhclNlbGVjdGVkSW5NdWx0aVllYXJWaWV3KG5vcm1hbGl6ZWRZZWFyOiBEKSB7XG4gICAgICAgIHRoaXMueWVhclNlbGVjdGVkLmVtaXQobm9ybWFsaXplZFllYXIpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVzIG1vbnRoIHNlbGVjdGlvbiBpbiB0aGUgeWVhciB2aWV3LiAqL1xuICAgIF9tb250aFNlbGVjdGVkSW5ZZWFyVmlldyhub3JtYWxpemVkTW9udGg6IEQpIHtcbiAgICAgICAgdGhpcy5tb250aFNlbGVjdGVkLmVtaXQobm9ybWFsaXplZE1vbnRoKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlcyB5ZWFyL21vbnRoIHNlbGVjdGlvbiBpbiB0aGUgbXVsdGkteWVhci95ZWFyIHZpZXdzLiAqL1xuICAgIF9nb1RvRGF0ZUluVmlldyhkYXRlOiBELCB2aWV3OiAnbW9udGgnIHwgJ3llYXInIHwgJ211bHRpLXllYXInKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGRhdGU7XG4gICAgICAgIHRoaXMuY3VycmVudFZpZXcgPSB2aWV3O1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHRoZSBjb21wb25lbnQgaW5zdGFuY2UgdGhhdCBjb3JyZXNwb25kcyB0byB0aGUgY3VycmVudCBjYWxlbmRhciB2aWV3LiAqL1xuICAgIHByaXZhdGUgX2dldEN1cnJlbnRWaWV3Q29tcG9uZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tb250aFZpZXcgfHwgdGhpcy55ZWFyVmlldyB8fCB0aGlzLm11bHRpWWVhclZpZXc7XG4gICAgfVxufVxuXG4vKiogRGVmYXVsdCBoZWFkZXIgZm9yIE1hdENhbGVuZGFyICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dpcGktbWF0LWNhbGVuZGFyLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICdjYWxlbmRhci1oZWFkZXIuaHRtbCcsXG4gICAgZXhwb3J0QXM6ICdnaXBpTWF0Q2FsZW5kYXJIZWFkZXInLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1hdENhbGVuZGFySGVhZGVyPEQ+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBASW5wdXQoKSBtYXRDYWxlbmRhcjogTWF0Q2FsZW5kYXI8RD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfaW50bDogTWF0RGF0ZXBpY2tlckludGwsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2RhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcml2YXRlIF9kYXRlRm9ybWF0czogTWF0RGF0ZUZvcm1hdHMsXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHsgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1hdENhbGVuZGFyLnN0YXRlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgbGFiZWwgZm9yIHRoZSBjdXJyZW50IG1hdENhbGVuZGFyIHZpZXcuICovXG4gICAgZ2V0IHBlcmlvZEJ1dHRvblRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMubWF0Q2FsZW5kYXIuY3VycmVudFZpZXcgPT0gJ21vbnRoJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVBZGFwdGVyXG4gICAgICAgICAgICAgICAgLmZvcm1hdCh0aGlzLm1hdENhbGVuZGFyLmFjdGl2ZURhdGUsIHRoaXMuX2RhdGVGb3JtYXRzLmRpc3BsYXkubW9udGhZZWFyTGFiZWwpXG4gICAgICAgICAgICAgICAgLnRvTG9jYWxlVXBwZXJDYXNlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubWF0Q2FsZW5kYXIuY3VycmVudFZpZXcgPT0gJ3llYXInKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0WWVhck5hbWUodGhpcy5tYXRDYWxlbmRhci5hY3RpdmVEYXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSBvZmZzZXQgZnJvbSB0aGUgYWN0aXZlIHllYXIgdG8gdGhlIFwic2xvdFwiIGZvciB0aGUgc3RhcnRpbmcgeWVhciBpcyB0aGVcbiAgICAgICAgLy8gKmFjdHVhbCogZmlyc3QgcmVuZGVyZWQgeWVhciBpbiB0aGUgbXVsdGkteWVhciB2aWV3LCBhbmQgdGhlIGxhc3QgeWVhciBpc1xuICAgICAgICAvLyBqdXN0IHllYXJzUGVyUGFnZSAtIDEgYXdheS5cbiAgICAgICAgY29uc3QgYWN0aXZlWWVhciA9IHRoaXMuX2RhdGVBZGFwdGVyLmdldFllYXIodGhpcy5tYXRDYWxlbmRhci5hY3RpdmVEYXRlKTtcbiAgICAgICAgY29uc3QgbWluWWVhck9mUGFnZSA9IGFjdGl2ZVllYXIgLSBnZXRBY3RpdmVPZmZzZXQodGhpcy5fZGF0ZUFkYXB0ZXIsIHRoaXMubWF0Q2FsZW5kYXIuYWN0aXZlRGF0ZSwgdGhpcy5tYXRDYWxlbmRhci5taW5EYXRlLCB0aGlzLm1hdENhbGVuZGFyLm1heERhdGUpO1xuICAgICAgICBjb25zdCBtYXhZZWFyT2ZQYWdlID0gbWluWWVhck9mUGFnZSArIHllYXJzUGVyUGFnZSAtIDE7XG4gICAgICAgIGNvbnN0IG1pblllYXJOYW1lID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0WWVhck5hbWUodGhpcy5fZGF0ZUFkYXB0ZXIuY3JlYXRlRGF0ZShtaW5ZZWFyT2ZQYWdlLCAwLCAxKSk7XG4gICAgICAgIGNvbnN0IG1heFllYXJOYW1lID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0WWVhck5hbWUodGhpcy5fZGF0ZUFkYXB0ZXIuY3JlYXRlRGF0ZShtYXhZZWFyT2ZQYWdlLCAwLCAxKSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnRsLmZvcm1hdFllYXJSYW5nZShtaW5ZZWFyTmFtZSwgbWF4WWVhck5hbWUpO1xuICAgIH1cblxuICAgIGdldCBwZXJpb2RCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXRDYWxlbmRhci5jdXJyZW50VmlldyA9PSAnbW9udGgnID8gdGhpcy5faW50bC5zd2l0Y2hUb011bHRpWWVhclZpZXdMYWJlbCA6IHRoaXMuX2ludGwuc3dpdGNoVG9Nb250aFZpZXdMYWJlbDtcbiAgICB9XG5cbiAgICAvKiogVGhlIGxhYmVsIGZvciB0aGUgcHJldmlvdXMgYnV0dG9uLiAqL1xuICAgIGdldCBwcmV2QnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdtb250aCc6IHRoaXMuX2ludGwucHJldk1vbnRoTGFiZWwsXG4gICAgICAgICAgICAneWVhcic6IHRoaXMuX2ludGwucHJldlllYXJMYWJlbCxcbiAgICAgICAgICAgICdtdWx0aS15ZWFyJzogdGhpcy5faW50bC5wcmV2TXVsdGlZZWFyTGFiZWxcbiAgICAgICAgfVt0aGlzLm1hdENhbGVuZGFyLmN1cnJlbnRWaWV3XTtcbiAgICB9XG5cbiAgICAvKiogVGhlIGxhYmVsIGZvciB0aGUgbmV4dCBidXR0b24uICovXG4gICAgZ2V0IG5leHRCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ21vbnRoJzogdGhpcy5faW50bC5uZXh0TW9udGhMYWJlbCxcbiAgICAgICAgICAgICd5ZWFyJzogdGhpcy5faW50bC5uZXh0WWVhckxhYmVsLFxuICAgICAgICAgICAgJ211bHRpLXllYXInOiB0aGlzLl9pbnRsLm5leHRNdWx0aVllYXJMYWJlbFxuICAgICAgICB9W3RoaXMubWF0Q2FsZW5kYXIuY3VycmVudFZpZXddO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVzIHVzZXIgY2xpY2tzIG9uIHRoZSBwZXJpb2QgbGFiZWwuICovXG4gICAgY3VycmVudFBlcmlvZENsaWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWF0Q2FsZW5kYXIuY3VycmVudFZpZXcgPSB0aGlzLm1hdENhbGVuZGFyLmN1cnJlbnRWaWV3ID09ICdtb250aCcgPyAnbXVsdGkteWVhcicgOiAnbW9udGgnO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVzIHVzZXIgY2xpY2tzIG9uIHRoZSBwcmV2aW91cyBidXR0b24uICovXG4gICAgcHJldmlvdXNDbGlja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1hdENhbGVuZGFyLmFjdGl2ZURhdGUgPSB0aGlzLm1hdENhbGVuZGFyLmN1cnJlbnRWaWV3ID09ICdtb250aCdcbiAgICAgICAgICAgID8gdGhpcy5fZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHModGhpcy5tYXRDYWxlbmRhci5hY3RpdmVEYXRlLCAtMSlcbiAgICAgICAgICAgIDogdGhpcy5fZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJZZWFycyh0aGlzLm1hdENhbGVuZGFyLmFjdGl2ZURhdGUsIHRoaXMubWF0Q2FsZW5kYXIuY3VycmVudFZpZXcgPT0gJ3llYXInID8gLTEgOiAteWVhcnNQZXJQYWdlKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlcyB1c2VyIGNsaWNrcyBvbiB0aGUgbmV4dCBidXR0b24uICovXG4gICAgbmV4dENsaWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWF0Q2FsZW5kYXIuYWN0aXZlRGF0ZSA9IHRoaXMubWF0Q2FsZW5kYXIuY3VycmVudFZpZXcgPT0gJ21vbnRoJ1xuICAgICAgICAgICAgPyB0aGlzLl9kYXRlQWRhcHRlci5hZGRDYWxlbmRhck1vbnRocyh0aGlzLm1hdENhbGVuZGFyLmFjdGl2ZURhdGUsIDEpXG4gICAgICAgICAgICA6IHRoaXMuX2RhdGVBZGFwdGVyLmFkZENhbGVuZGFyWWVhcnModGhpcy5tYXRDYWxlbmRhci5hY3RpdmVEYXRlLCB0aGlzLm1hdENhbGVuZGFyLmN1cnJlbnRWaWV3ID09ICd5ZWFyJyA/IDEgOiB5ZWFyc1BlclBhZ2UpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwcmV2aW91cyBwZXJpb2QgYnV0dG9uIGlzIGVuYWJsZWQuICovXG4gICAgcHJldmlvdXNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMubWF0Q2FsZW5kYXIubWluRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICF0aGlzLm1hdENhbGVuZGFyLm1pbkRhdGUgfHwgIXRoaXMuX2lzU2FtZVZpZXcodGhpcy5tYXRDYWxlbmRhci5hY3RpdmVEYXRlLCB0aGlzLm1hdENhbGVuZGFyLm1pbkRhdGUpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBuZXh0IHBlcmlvZCBidXR0b24gaXMgZW5hYmxlZC4gKi9cbiAgICBuZXh0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm1hdENhbGVuZGFyLm1heERhdGUgfHwgIXRoaXMuX2lzU2FtZVZpZXcodGhpcy5tYXRDYWxlbmRhci5hY3RpdmVEYXRlLCB0aGlzLm1hdENhbGVuZGFyLm1heERhdGUpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSB0d28gZGF0ZXMgcmVwcmVzZW50IHRoZSBzYW1lIHZpZXcgaW4gdGhlIGN1cnJlbnQgdmlldyBtb2RlIChtb250aCBvciB5ZWFyKS4gKi9cbiAgICBwcml2YXRlIF9pc1NhbWVWaWV3KGRhdGUxOiBELCBkYXRlMjogRCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5tYXRDYWxlbmRhci5jdXJyZW50VmlldyA9PSAnbW9udGgnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0WWVhcihkYXRlMSkgPT0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0WWVhcihkYXRlMikgJiYgdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0TW9udGgoZGF0ZTEpID09IHRoaXMuX2RhdGVBZGFwdGVyLmdldE1vbnRoKGRhdGUyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5tYXRDYWxlbmRhci5jdXJyZW50VmlldyA9PSAneWVhcicpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kYXRlQWRhcHRlci5nZXRZZWFyKGRhdGUxKSA9PSB0aGlzLl9kYXRlQWRhcHRlci5nZXRZZWFyKGRhdGUyKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBPdGhlcndpc2Ugd2UgYXJlIGluICdtdWx0aS15ZWFyJyB2aWV3LlxuICAgICAgICByZXR1cm4gaXNTYW1lTXVsdGlZZWFyVmlldyh0aGlzLl9kYXRlQWRhcHRlciwgZGF0ZTEsIGRhdGUyLCB0aGlzLm1hdENhbGVuZGFyLm1pbkRhdGUsIHRoaXMubWF0Q2FsZW5kYXIubWF4RGF0ZSk7XG4gICAgfVxufVxuIl19
|