@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,529 +0,0 @@
|
|
1
|
-
import { __decorate, __metadata, __param, __read } from "tslib";
|
2
|
-
import { isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';
|
3
|
-
import { Direction, Directionality } from '@angular/cdk/bidi';
|
4
|
-
import { FlexibleConnectedPositionStrategy, HorizontalConnectionPos, Overlay, OverlayConfig, OverlayRef, ScrollStrategy, VerticalConnectionPos } from '@angular/cdk/overlay';
|
5
|
-
import { TemplatePortal } from '@angular/cdk/portal';
|
6
|
-
import { AfterViewInit, ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Optional, Output, ViewContainerRef, } from '@angular/core';
|
7
|
-
import { Subject } from 'rxjs';
|
8
|
-
import { takeUntil } from 'rxjs/operators';
|
9
|
-
import { ObjectUtil } from '../../../../core/utils/object.util';
|
10
|
-
import { StringUtil } from '../../../../core/utils/string.util';
|
11
|
-
import { GIPIDomHandler } from '../../dom/dom-handler';
|
12
|
-
import { throwPopoverMissingError } from './popover-errors';
|
13
|
-
/**
|
14
|
-
* Esta diretiva destina-se a ser usada em conjunto com uma tag gipi-popover.
|
15
|
-
* Ele é responsável por alternar a exibição da instância popover fornecida.
|
16
|
-
*/
|
17
|
-
var GIPIPopoverTrigger = /** @class */ (function () {
|
18
|
-
function GIPIPopoverTrigger(_overlay, _elementRef, _viewContainerRef, _dir, _changeDetectorRef) {
|
19
|
-
this._overlay = _overlay;
|
20
|
-
this._elementRef = _elementRef;
|
21
|
-
this._viewContainerRef = _viewContainerRef;
|
22
|
-
this._dir = _dir;
|
23
|
-
this._changeDetectorRef = _changeDetectorRef;
|
24
|
-
this.ariaHaspopup = true;
|
25
|
-
this.popoverOpened = new Subject();
|
26
|
-
this.popoverClosed = new Subject();
|
27
|
-
this._overlayRef = null;
|
28
|
-
this._popoverOpen = false;
|
29
|
-
this._halt = false;
|
30
|
-
// tracking input type is necessary so it's possible to only auto-focus
|
31
|
-
// the first item of the list when the popover is opened via the keyboard
|
32
|
-
this._openedByMouse = false;
|
33
|
-
this._onDestroy = new Subject();
|
34
|
-
/** Popover backdrop close on click */
|
35
|
-
this.backdropCloseOnClick = true;
|
36
|
-
/** Event emitted when the associated popover is opened. */
|
37
|
-
this.opened = new EventEmitter();
|
38
|
-
/** Event emitted when the associated popover is closed. */
|
39
|
-
this.closed = new EventEmitter();
|
40
|
-
}
|
41
|
-
GIPIPopoverTrigger.prototype.ngAfterViewInit = function () {
|
42
|
-
var _this = this;
|
43
|
-
this._checkPopover();
|
44
|
-
this._setCurrentConfig();
|
45
|
-
this.popover.close.subscribe(function () { return _this.closePopover(); });
|
46
|
-
};
|
47
|
-
GIPIPopoverTrigger.prototype.ngOnDestroy = function () {
|
48
|
-
this.destroyPopover();
|
49
|
-
};
|
50
|
-
GIPIPopoverTrigger.prototype._setCurrentConfig = function () {
|
51
|
-
if (this.positionX === 'before' || this.positionX === 'after') {
|
52
|
-
this.popover.positionX = this.positionX;
|
53
|
-
}
|
54
|
-
if (this.positionY === 'above' || this.positionY === 'below') {
|
55
|
-
this.popover.positionY = this.positionY;
|
56
|
-
}
|
57
|
-
if (this.triggerEvent) {
|
58
|
-
this.popover.triggerEvent = this.triggerEvent;
|
59
|
-
}
|
60
|
-
if (this.enterDelay) {
|
61
|
-
this.popover.enterDelay = this.enterDelay;
|
62
|
-
}
|
63
|
-
if (this.leaveDelay) {
|
64
|
-
this.popover.leaveDelay = this.leaveDelay;
|
65
|
-
}
|
66
|
-
if (this.overlapTrigger === true || this.overlapTrigger === false) {
|
67
|
-
this.popover.overlapTrigger = this.overlapTrigger;
|
68
|
-
}
|
69
|
-
if (this.targetOffsetX) {
|
70
|
-
this.popover.targetOffsetX = this.targetOffsetX;
|
71
|
-
}
|
72
|
-
if (this.targetOffsetY) {
|
73
|
-
this.popover.targetOffsetY = this.targetOffsetY;
|
74
|
-
}
|
75
|
-
if (this.arrowOffsetX) {
|
76
|
-
this.popover.arrowOffsetX = this.arrowOffsetX;
|
77
|
-
}
|
78
|
-
if (this.arrowWidth) {
|
79
|
-
this.popover.arrowWidth = this.arrowWidth;
|
80
|
-
}
|
81
|
-
if (this.arrowColor) {
|
82
|
-
this.popover.arrowColor = this.arrowColor;
|
83
|
-
}
|
84
|
-
if (this.closeOnClick === true || this.closeOnClick === false) {
|
85
|
-
this.popover.closeOnClick = this.closeOnClick;
|
86
|
-
}
|
87
|
-
this.popover.setCurrentStyles();
|
88
|
-
};
|
89
|
-
Object.defineProperty(GIPIPopoverTrigger.prototype, "popoverOpen", {
|
90
|
-
/** Whether the popover is open. */
|
91
|
-
get: function () { return this._popoverOpen; },
|
92
|
-
enumerable: false,
|
93
|
-
configurable: true
|
94
|
-
});
|
95
|
-
GIPIPopoverTrigger.prototype.onClick = function (event) {
|
96
|
-
if (this.popover.triggerEvent === 'click') {
|
97
|
-
this.togglePopover();
|
98
|
-
}
|
99
|
-
};
|
100
|
-
GIPIPopoverTrigger.prototype.onMouseEnter = function (event) {
|
101
|
-
var _this = this;
|
102
|
-
this._halt = false;
|
103
|
-
if (this.popover.triggerEvent === 'hover') {
|
104
|
-
this._mouseoverTimer = setTimeout(function () {
|
105
|
-
_this.openPopover();
|
106
|
-
}, this.popover.enterDelay);
|
107
|
-
}
|
108
|
-
};
|
109
|
-
GIPIPopoverTrigger.prototype.onMouseLeave = function (event) {
|
110
|
-
var _this = this;
|
111
|
-
if (this.popover.triggerEvent === 'hover') {
|
112
|
-
if (this._mouseoverTimer) {
|
113
|
-
clearTimeout(this._mouseoverTimer);
|
114
|
-
this._mouseoverTimer = null;
|
115
|
-
}
|
116
|
-
if (this._popoverOpen) {
|
117
|
-
setTimeout(function () {
|
118
|
-
if (!_this.popover.closeDisabled) {
|
119
|
-
_this.closePopover();
|
120
|
-
}
|
121
|
-
}, this.popover.leaveDelay);
|
122
|
-
}
|
123
|
-
else {
|
124
|
-
this._halt = true;
|
125
|
-
}
|
126
|
-
}
|
127
|
-
};
|
128
|
-
/** Toggles the popover between the open and closed states. */
|
129
|
-
GIPIPopoverTrigger.prototype.togglePopover = function () {
|
130
|
-
return this._popoverOpen ? this.closePopover() : this.openPopover();
|
131
|
-
};
|
132
|
-
/** Opens the popover. */
|
133
|
-
GIPIPopoverTrigger.prototype.openPopover = function () {
|
134
|
-
if (!this._popoverOpen && !this._halt) {
|
135
|
-
this._createOverlay().attach(this._portal);
|
136
|
-
if (!ObjectUtil.isNull(this._viewContainerRef) && !ObjectUtil.isNull(this._viewContainerRef.element)) {
|
137
|
-
var width = GIPIDomHandler.getWidth(this._viewContainerRef.element.nativeElement);
|
138
|
-
if (StringUtil.isEmpty(this.popover.popoverWidth) || (this.popover.popoverWidth === 'auto')) {
|
139
|
-
this.popover.popoverWidth = width + "px";
|
140
|
-
}
|
141
|
-
}
|
142
|
-
this._subscribeToBackdrop();
|
143
|
-
this._subscribeToDetachments();
|
144
|
-
this._initPopover();
|
145
|
-
}
|
146
|
-
};
|
147
|
-
/** Closes the popover. */
|
148
|
-
GIPIPopoverTrigger.prototype.closePopover = function () {
|
149
|
-
if (this._overlayRef) {
|
150
|
-
this._overlayRef.detach();
|
151
|
-
this._resetPopover();
|
152
|
-
}
|
153
|
-
};
|
154
|
-
/** Removes the popover from the DOM. */
|
155
|
-
GIPIPopoverTrigger.prototype.destroyPopover = function () {
|
156
|
-
if (this._mouseoverTimer) {
|
157
|
-
clearTimeout(this._mouseoverTimer);
|
158
|
-
this._mouseoverTimer = null;
|
159
|
-
}
|
160
|
-
if (this._overlayRef) {
|
161
|
-
this._overlayRef.dispose();
|
162
|
-
this._overlayRef = null;
|
163
|
-
this._cleanUpSubscriptions();
|
164
|
-
}
|
165
|
-
this._onDestroy.next();
|
166
|
-
this._onDestroy.complete();
|
167
|
-
};
|
168
|
-
/** Focuses the popover trigger. */
|
169
|
-
GIPIPopoverTrigger.prototype.focus = function () {
|
170
|
-
this._elementRef.nativeElement.focus();
|
171
|
-
};
|
172
|
-
Object.defineProperty(GIPIPopoverTrigger.prototype, "dir", {
|
173
|
-
/** The text direction of the containing app. */
|
174
|
-
get: function () {
|
175
|
-
return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';
|
176
|
-
},
|
177
|
-
enumerable: false,
|
178
|
-
configurable: true
|
179
|
-
});
|
180
|
-
/**
|
181
|
-
* This method ensures that the popover closes when the overlay backdrop is clicked.
|
182
|
-
* We do not use first() here because doing so would not catch clicks from within
|
183
|
-
* the popover, and it would fail to unsubscribe properly. Instead, we unsubscribe
|
184
|
-
* explicitly when the popover is closed or destroyed.
|
185
|
-
*/
|
186
|
-
GIPIPopoverTrigger.prototype._subscribeToBackdrop = function () {
|
187
|
-
var _this = this;
|
188
|
-
if (this._overlayRef) {
|
189
|
-
/** Only subscribe to backdrop if trigger event is click */
|
190
|
-
if (this.triggerEvent === 'click' && this.backdropCloseOnClick === true) {
|
191
|
-
this._overlayRef.backdropClick()
|
192
|
-
.pipe(takeUntil(this.popoverClosed), takeUntil(this._onDestroy))
|
193
|
-
.subscribe(function () {
|
194
|
-
_this.popover._emitCloseEvent();
|
195
|
-
});
|
196
|
-
}
|
197
|
-
}
|
198
|
-
};
|
199
|
-
GIPIPopoverTrigger.prototype._subscribeToDetachments = function () {
|
200
|
-
var _this = this;
|
201
|
-
if (this._overlayRef) {
|
202
|
-
this._overlayRef.detachments()
|
203
|
-
.pipe(takeUntil(this.popoverClosed), takeUntil(this._onDestroy))
|
204
|
-
.subscribe(function () {
|
205
|
-
_this._setPopoverClosed();
|
206
|
-
});
|
207
|
-
}
|
208
|
-
};
|
209
|
-
/**
|
210
|
-
* This method sets the popover state to open and focuses the first item if
|
211
|
-
* the popover was opened via the keyboard.
|
212
|
-
*/
|
213
|
-
GIPIPopoverTrigger.prototype._initPopover = function () {
|
214
|
-
this._setPopoverOpened();
|
215
|
-
};
|
216
|
-
/**
|
217
|
-
* This method resets the popover when it's closed, most importantly restoring
|
218
|
-
* focus to the popover trigger if the popover was opened via the keyboard.
|
219
|
-
*/
|
220
|
-
GIPIPopoverTrigger.prototype._resetPopover = function () {
|
221
|
-
this._setPopoverClosed();
|
222
|
-
// Focus only needs to be reset to the host element if the popover was opened
|
223
|
-
// by the keyboard and manually shifted to the first popover item.
|
224
|
-
if (!this._openedByMouse) {
|
225
|
-
this.focus();
|
226
|
-
}
|
227
|
-
this._openedByMouse = false;
|
228
|
-
};
|
229
|
-
/** set state rather than toggle to support triggers sharing a popover */
|
230
|
-
GIPIPopoverTrigger.prototype._setPopoverOpened = function () {
|
231
|
-
if (!this._popoverOpen) {
|
232
|
-
this._popoverOpen = true;
|
233
|
-
this.popoverOpened.next();
|
234
|
-
this.opened.emit();
|
235
|
-
}
|
236
|
-
};
|
237
|
-
/** set state rather than toggle to support triggers sharing a popover */
|
238
|
-
GIPIPopoverTrigger.prototype._setPopoverClosed = function () {
|
239
|
-
if (this._popoverOpen) {
|
240
|
-
this._popoverOpen = false;
|
241
|
-
this.popoverClosed.next();
|
242
|
-
this.closed.emit();
|
243
|
-
}
|
244
|
-
};
|
245
|
-
/**
|
246
|
-
* This method checks that a valid instance of MdPopover has been passed into
|
247
|
-
* mdPopoverTriggerFor. If not, an exception is thrown.
|
248
|
-
*/
|
249
|
-
GIPIPopoverTrigger.prototype._checkPopover = function () {
|
250
|
-
if (!this.popover) {
|
251
|
-
throwPopoverMissingError();
|
252
|
-
}
|
253
|
-
};
|
254
|
-
/**
|
255
|
-
* This method creates the overlay from the provided popover's template and saves its
|
256
|
-
* OverlayRef so that it can be attached to the DOM when openPopover is called.
|
257
|
-
*/
|
258
|
-
GIPIPopoverTrigger.prototype._createOverlay = function () {
|
259
|
-
if (!this._overlayRef) {
|
260
|
-
this._portal = new TemplatePortal(this.popover.templateRef, this._viewContainerRef);
|
261
|
-
var config = this._getOverlayConfig();
|
262
|
-
this._subscribeToPositions(config.positionStrategy);
|
263
|
-
this._overlayRef = this._overlay.create(config);
|
264
|
-
}
|
265
|
-
return this._overlayRef;
|
266
|
-
};
|
267
|
-
/**
|
268
|
-
* This method builds the configuration object needed to create the overlay, the OverlayConfig.
|
269
|
-
* @returns OverlayConfig
|
270
|
-
*/
|
271
|
-
GIPIPopoverTrigger.prototype._getOverlayConfig = function () {
|
272
|
-
var overlayState = new OverlayConfig();
|
273
|
-
overlayState.positionStrategy = this._getPosition();
|
274
|
-
/** Display overlay backdrop if trigger event is click */
|
275
|
-
if (this.triggerEvent === 'click') {
|
276
|
-
overlayState.hasBackdrop = true;
|
277
|
-
overlayState.backdropClass = 'cdk-overlay-transparent-backdrop';
|
278
|
-
}
|
279
|
-
overlayState.direction = this.dir;
|
280
|
-
overlayState.scrollStrategy = this._getOverlayScrollStrategy(this.popover.scrollStrategy);
|
281
|
-
return overlayState;
|
282
|
-
};
|
283
|
-
/**
|
284
|
-
* This method returns the scroll strategy used by the cdk/overlay.
|
285
|
-
*/
|
286
|
-
GIPIPopoverTrigger.prototype._getOverlayScrollStrategy = function (strategy) {
|
287
|
-
switch (strategy) {
|
288
|
-
case 'noop':
|
289
|
-
return this._overlay.scrollStrategies.noop();
|
290
|
-
case 'close':
|
291
|
-
return this._overlay.scrollStrategies.close();
|
292
|
-
case 'block':
|
293
|
-
return this._overlay.scrollStrategies.block();
|
294
|
-
case 'reposition':
|
295
|
-
default:
|
296
|
-
return this._overlay.scrollStrategies.reposition();
|
297
|
-
}
|
298
|
-
};
|
299
|
-
/**
|
300
|
-
* Listens to changes in the position of the overlay and sets the correct classes
|
301
|
-
* on the popover based on the new position. This ensures the animation origin is always
|
302
|
-
* correct, even if a fallback position is used for the overlay.
|
303
|
-
*/
|
304
|
-
GIPIPopoverTrigger.prototype._subscribeToPositions = function (position) {
|
305
|
-
var _this = this;
|
306
|
-
this._positionSubscription = position.positionChanges.subscribe(function (change) {
|
307
|
-
var posisionX = change.connectionPair.overlayX === 'start' ? 'after' : 'before';
|
308
|
-
var posisionY = change.connectionPair.overlayY === 'top' ? 'below' : 'above';
|
309
|
-
if (!_this.popover.overlapTrigger) {
|
310
|
-
posisionY = posisionY === 'below' ? 'above' : 'below';
|
311
|
-
}
|
312
|
-
// required for ChangeDetectionStrategy.OnPush
|
313
|
-
_this._changeDetectorRef.markForCheck();
|
314
|
-
_this.popover.zone.run(function () {
|
315
|
-
_this.popover.positionX = posisionX;
|
316
|
-
_this.popover.positionY = posisionY;
|
317
|
-
_this.popover.setCurrentStyles();
|
318
|
-
_this.popover.setPositionClasses(posisionX, posisionY);
|
319
|
-
});
|
320
|
-
});
|
321
|
-
};
|
322
|
-
/**
|
323
|
-
* This method builds the position strategy for the overlay, so the popover is properly connected
|
324
|
-
* to the trigger.
|
325
|
-
* @returns ConnectedPositionStrategy
|
326
|
-
*/
|
327
|
-
GIPIPopoverTrigger.prototype._getPosition = function () {
|
328
|
-
var _a = __read(this.popover.positionX === 'before' ? ['end', 'start'] : ['start', 'end'], 2), originX = _a[0], originFallbackX = _a[1];
|
329
|
-
var _b = __read(this.popover.positionY === 'above' ? ['bottom', 'top'] : ['top', 'bottom'], 2), overlayY = _b[0], overlayFallbackY = _b[1];
|
330
|
-
// let originY = overlayY;
|
331
|
-
// let fallbackOriginY = overlayFallbackY;
|
332
|
-
var originY = overlayY;
|
333
|
-
var originFallbackY = overlayFallbackY;
|
334
|
-
var overlayX = originX;
|
335
|
-
var overlayFallbackX = originFallbackX;
|
336
|
-
/** Reverse overlayY and fallbackOverlayY when overlapTrigger is false */
|
337
|
-
if (!this.popover.overlapTrigger) {
|
338
|
-
originY = overlayY === 'top' ? 'bottom' : 'top';
|
339
|
-
originFallbackY = overlayFallbackY === 'top' ? 'bottom' : 'top';
|
340
|
-
}
|
341
|
-
var offsetX = 0;
|
342
|
-
var offsetY = 0;
|
343
|
-
if (this.popover.targetOffsetX && !isNaN(Number(this.popover.targetOffsetX))) {
|
344
|
-
offsetX = Number(this.popover.targetOffsetX);
|
345
|
-
}
|
346
|
-
if (this.popover.targetOffsetY && !isNaN(Number(this.popover.targetOffsetY))) {
|
347
|
-
offsetY = Number(this.popover.targetOffsetY);
|
348
|
-
}
|
349
|
-
/**
|
350
|
-
* For overriding position element, when popoverTargetAt has a valid element reference.
|
351
|
-
* Useful for sticking popover to parent element and offsetting arrow to trigger element.
|
352
|
-
* If undefined defaults to the trigger element reference.
|
353
|
-
*/
|
354
|
-
var element = this._elementRef;
|
355
|
-
if (typeof this.targetElement !== 'undefined') {
|
356
|
-
this.popover.containerPositioning = true;
|
357
|
-
element = this.targetElement._elementRef;
|
358
|
-
}
|
359
|
-
return this._overlay.position()
|
360
|
-
.flexibleConnectedTo(element)
|
361
|
-
.withLockedPosition(true)
|
362
|
-
.withPositions([
|
363
|
-
{
|
364
|
-
originX: originX,
|
365
|
-
originY: originY,
|
366
|
-
overlayX: overlayX,
|
367
|
-
overlayY: overlayY,
|
368
|
-
offsetY: offsetY
|
369
|
-
},
|
370
|
-
{
|
371
|
-
originX: originFallbackX,
|
372
|
-
originY: originY,
|
373
|
-
overlayX: overlayFallbackX,
|
374
|
-
overlayY: overlayY,
|
375
|
-
offsetY: offsetY
|
376
|
-
},
|
377
|
-
{
|
378
|
-
originX: originX,
|
379
|
-
originY: originFallbackY,
|
380
|
-
overlayX: overlayX,
|
381
|
-
overlayY: overlayFallbackY,
|
382
|
-
offsetY: -offsetY
|
383
|
-
},
|
384
|
-
{
|
385
|
-
originX: originFallbackX,
|
386
|
-
originY: originFallbackY,
|
387
|
-
overlayX: overlayFallbackX,
|
388
|
-
overlayY: overlayFallbackY,
|
389
|
-
offsetY: -offsetY
|
390
|
-
}
|
391
|
-
])
|
392
|
-
.withDefaultOffsetX(offsetX)
|
393
|
-
.withDefaultOffsetY(offsetY);
|
394
|
-
};
|
395
|
-
GIPIPopoverTrigger.prototype._cleanUpSubscriptions = function () {
|
396
|
-
if (this._backdropSubscription) {
|
397
|
-
this._backdropSubscription.unsubscribe();
|
398
|
-
}
|
399
|
-
if (this._positionSubscription) {
|
400
|
-
this._positionSubscription.unsubscribe();
|
401
|
-
}
|
402
|
-
if (this._detachmentsSubscription) {
|
403
|
-
this._detachmentsSubscription.unsubscribe();
|
404
|
-
}
|
405
|
-
};
|
406
|
-
GIPIPopoverTrigger.prototype._handleMousedown = function (event) {
|
407
|
-
if (event && !isFakeMousedownFromScreenReader(event)) {
|
408
|
-
this._openedByMouse = true;
|
409
|
-
}
|
410
|
-
};
|
411
|
-
GIPIPopoverTrigger.ctorParameters = function () { return [
|
412
|
-
{ type: Overlay },
|
413
|
-
{ type: ElementRef },
|
414
|
-
{ type: ViewContainerRef },
|
415
|
-
{ type: Directionality, decorators: [{ type: Optional }] },
|
416
|
-
{ type: ChangeDetectorRef }
|
417
|
-
]; };
|
418
|
-
__decorate([
|
419
|
-
HostBinding('attr.aria-haspopup'),
|
420
|
-
__metadata("design:type", Boolean)
|
421
|
-
], GIPIPopoverTrigger.prototype, "ariaHaspopup", void 0);
|
422
|
-
__decorate([
|
423
|
-
Input('popoverTriggerFor'),
|
424
|
-
__metadata("design:type", Object)
|
425
|
-
], GIPIPopoverTrigger.prototype, "popover", void 0);
|
426
|
-
__decorate([
|
427
|
-
Input('popoverTargetAt'),
|
428
|
-
__metadata("design:type", Object)
|
429
|
-
], GIPIPopoverTrigger.prototype, "targetElement", void 0);
|
430
|
-
__decorate([
|
431
|
-
Input('popoverPositionX'),
|
432
|
-
__metadata("design:type", String)
|
433
|
-
], GIPIPopoverTrigger.prototype, "positionX", void 0);
|
434
|
-
__decorate([
|
435
|
-
Input('popoverPositionY'),
|
436
|
-
__metadata("design:type", String)
|
437
|
-
], GIPIPopoverTrigger.prototype, "positionY", void 0);
|
438
|
-
__decorate([
|
439
|
-
Input('popoverTriggerOn'),
|
440
|
-
__metadata("design:type", String)
|
441
|
-
], GIPIPopoverTrigger.prototype, "triggerEvent", void 0);
|
442
|
-
__decorate([
|
443
|
-
Input('popoverEnterDelay'),
|
444
|
-
__metadata("design:type", Number)
|
445
|
-
], GIPIPopoverTrigger.prototype, "enterDelay", void 0);
|
446
|
-
__decorate([
|
447
|
-
Input('popoverLeaveDelay'),
|
448
|
-
__metadata("design:type", Number)
|
449
|
-
], GIPIPopoverTrigger.prototype, "leaveDelay", void 0);
|
450
|
-
__decorate([
|
451
|
-
Input('popoverOverlapTrigger'),
|
452
|
-
__metadata("design:type", Boolean)
|
453
|
-
], GIPIPopoverTrigger.prototype, "overlapTrigger", void 0);
|
454
|
-
__decorate([
|
455
|
-
Input('popoverOffsetX'),
|
456
|
-
__metadata("design:type", Number)
|
457
|
-
], GIPIPopoverTrigger.prototype, "targetOffsetX", void 0);
|
458
|
-
__decorate([
|
459
|
-
Input('popoverOffsetY'),
|
460
|
-
__metadata("design:type", Number)
|
461
|
-
], GIPIPopoverTrigger.prototype, "targetOffsetY", void 0);
|
462
|
-
__decorate([
|
463
|
-
Input('popoverArrowOffsetX'),
|
464
|
-
__metadata("design:type", Number)
|
465
|
-
], GIPIPopoverTrigger.prototype, "arrowOffsetX", void 0);
|
466
|
-
__decorate([
|
467
|
-
Input('popoverArrowWidth'),
|
468
|
-
__metadata("design:type", Number)
|
469
|
-
], GIPIPopoverTrigger.prototype, "arrowWidth", void 0);
|
470
|
-
__decorate([
|
471
|
-
Input('popoverArrowColor'),
|
472
|
-
__metadata("design:type", String)
|
473
|
-
], GIPIPopoverTrigger.prototype, "arrowColor", void 0);
|
474
|
-
__decorate([
|
475
|
-
Input('popoverCloseOnClick'),
|
476
|
-
__metadata("design:type", Boolean)
|
477
|
-
], GIPIPopoverTrigger.prototype, "closeOnClick", void 0);
|
478
|
-
__decorate([
|
479
|
-
Input('popoverBackdropCloseOnClick'),
|
480
|
-
__metadata("design:type", Boolean)
|
481
|
-
], GIPIPopoverTrigger.prototype, "backdropCloseOnClick", void 0);
|
482
|
-
__decorate([
|
483
|
-
Output(),
|
484
|
-
__metadata("design:type", EventEmitter)
|
485
|
-
], GIPIPopoverTrigger.prototype, "opened", void 0);
|
486
|
-
__decorate([
|
487
|
-
Output(),
|
488
|
-
__metadata("design:type", EventEmitter)
|
489
|
-
], GIPIPopoverTrigger.prototype, "closed", void 0);
|
490
|
-
__decorate([
|
491
|
-
HostListener('click', ['$event']),
|
492
|
-
__metadata("design:type", Function),
|
493
|
-
__metadata("design:paramtypes", [MouseEvent]),
|
494
|
-
__metadata("design:returntype", void 0)
|
495
|
-
], GIPIPopoverTrigger.prototype, "onClick", null);
|
496
|
-
__decorate([
|
497
|
-
HostListener('mouseenter', ['$event']),
|
498
|
-
__metadata("design:type", Function),
|
499
|
-
__metadata("design:paramtypes", [MouseEvent]),
|
500
|
-
__metadata("design:returntype", void 0)
|
501
|
-
], GIPIPopoverTrigger.prototype, "onMouseEnter", null);
|
502
|
-
__decorate([
|
503
|
-
HostListener('mouseleave', ['$event']),
|
504
|
-
__metadata("design:type", Function),
|
505
|
-
__metadata("design:paramtypes", [MouseEvent]),
|
506
|
-
__metadata("design:returntype", void 0)
|
507
|
-
], GIPIPopoverTrigger.prototype, "onMouseLeave", null);
|
508
|
-
__decorate([
|
509
|
-
HostListener('mousedown', ['$event']),
|
510
|
-
__metadata("design:type", Function),
|
511
|
-
__metadata("design:paramtypes", [MouseEvent]),
|
512
|
-
__metadata("design:returntype", void 0)
|
513
|
-
], GIPIPopoverTrigger.prototype, "_handleMousedown", null);
|
514
|
-
GIPIPopoverTrigger = __decorate([
|
515
|
-
Directive({
|
516
|
-
selector: '[popoverTriggerFor]',
|
517
|
-
exportAs: 'popoverTrigger'
|
518
|
-
}),
|
519
|
-
__param(3, Optional()),
|
520
|
-
__metadata("design:paramtypes", [Overlay,
|
521
|
-
ElementRef,
|
522
|
-
ViewContainerRef,
|
523
|
-
Directionality,
|
524
|
-
ChangeDetectorRef])
|
525
|
-
], GIPIPopoverTrigger);
|
526
|
-
return GIPIPopoverTrigger;
|
527
|
-
}());
|
528
|
-
export { GIPIPopoverTrigger };
|
529
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsic2hhcmVkL2dpcGktY29tcG9uZW50cy9wb3BvdmVyL3NoYXJlZC9wb3BvdmVyLXRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdLLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixHQUFHLE1BQU0sZUFBZSxDQUFDO0FBQ3hMLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUk1RDs7O0dBR0c7QUFNSDtJQTBFSSw0QkFDWSxRQUFpQixFQUNsQixXQUF1QixFQUN0QixpQkFB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L0IsUUFBUSxFQUFFLGdCQUFnQjtTQUM3QixDQUFDO1FBK0VPLFdBQUEsUUFBUSxFQUFFLENBQUE7eUNBSE8sT0FBTztZQUNMLFVBQVU7WUFDSCxnQkFBZ0I7WUFDakIsY0FBYztZQUNaLGlCQUFpQjtPQS9FeEMsa0JBQWtCLENBK2Y5QjtJQUFELHlCQUFDO0NBQUEsQUEvZkQsSUErZkM7U0EvZlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGlvbiwgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksIEhvcml6b250YWxDb25uZWN0aW9uUG9zLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmLCBTY3JvbGxTdHJhdGVneSwgVmVydGljYWxDb25uZWN0aW9uUG9zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT3B0aW9uYWwsIE91dHB1dCwgVmlld0NvbnRhaW5lclJlZiwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS91dGlscy9vYmplY3QudXRpbCc7XG5pbXBvcnQgeyBTdHJpbmdVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS91dGlscy9zdHJpbmcudXRpbCc7XG5pbXBvcnQgeyBHSVBJRG9tSGFuZGxlciB9IGZyb20gJy4uLy4uL2RvbS9kb20taGFuZGxlcic7XG5pbXBvcnQgeyB0aHJvd1BvcG92ZXJNaXNzaW5nRXJyb3IgfSBmcm9tICcuL3BvcG92ZXItZXJyb3JzJztcbmltcG9ydCB7IFBvcG92ZXJQYW5lbCwgVGFyZ2V0IH0gZnJvbSAnLi9wb3BvdmVyLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgUG9wb3ZlclBvc2l0aW9uWCwgUG9wb3ZlclBvc2l0aW9uWSwgUG9wb3ZlclNjcm9sbFN0cmF0ZWd5LCBQb3BvdmVyVHJpZ2dlckV2ZW50IH0gZnJvbSAnLi9wb3BvdmVyLXR5cGVzJztcblxuLyoqXG4gKiBFc3RhIGRpcmV0aXZhIGRlc3RpbmEtc2UgYSBzZXIgdXNhZGEgZW0gY29uanVudG8gY29tIHVtYSB0YWcgZ2lwaS1wb3BvdmVyLlxuICogRWxlIMOpIHJlc3BvbnPDoXZlbCBwb3IgYWx0ZXJuYXIgYSBleGliacOnw6NvIGRhIGluc3TDom5jaWEgcG9wb3ZlciBmb3JuZWNpZGEuXG4gKi9cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcG9wb3ZlclRyaWdnZXJGb3JdJyxcbiAgICBleHBvcnRBczogJ3BvcG92ZXJUcmlnZ2VyJ1xufSlcbmV4cG9ydCBjbGFzcyBHSVBJUG9wb3ZlclRyaWdnZXIgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kgeyAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lOmRpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJykgYXJpYUhhc3BvcHVwOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHBvcG92ZXJPcGVuZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHBvcG92ZXJDbG9zZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBfcG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDxhbnk+O1xuICAgIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF9wb3BvdmVyT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2hhbHQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF9iYWNrZHJvcFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgX3Bvc2l0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBfZGV0YWNobWVudHNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgX21vdXNlb3ZlclRpbWVyOiBhbnk7XG5cbiAgICAvLyB0cmFja2luZyBpbnB1dCB0eXBlIGlzIG5lY2Vzc2FyeSBzbyBpdCdzIHBvc3NpYmxlIHRvIG9ubHkgYXV0by1mb2N1c1xuICAgIC8vIHRoZSBmaXJzdCBpdGVtIG9mIHRoZSBsaXN0IHdoZW4gdGhlIHBvcG92ZXIgaXMgb3BlbmVkIHZpYSB0aGUga2V5Ym9hcmRcbiAgICBwcml2YXRlIF9vcGVuZWRCeU1vdXNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9vbkRlc3Ryb3k6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIFJlZmVyZW5jZXMgdGhlIHBvcG92ZXIgaW5zdGFuY2UgdGhhdCB0aGUgdHJpZ2dlciBpcyBhc3NvY2lhdGVkIHdpdGguICovXG4gICAgQElucHV0KCdwb3BvdmVyVHJpZ2dlckZvcicpIHBvcG92ZXI6IFBvcG92ZXJQYW5lbDtcblxuICAgIC8qKiBSZWZlcmVuY2VzIHRoZSBwb3BvdmVyIHRhcmdldCBpbnN0YW5jZSB0aGF0IHRoZSB0cmlnZ2VyIGlzIGFzc29jaWF0ZWQgd2l0aC4gKi9cbiAgICBASW5wdXQoJ3BvcG92ZXJUYXJnZXRBdCcpIHRhcmdldEVsZW1lbnQ6IFRhcmdldDtcblxuICAgIC8qKiBQb3NpdGlvbiBvZiB0aGUgcG9wb3ZlciBpbiB0aGUgWCBheGlzICovXG4gICAgQElucHV0KCdwb3BvdmVyUG9zaXRpb25YJykgcG9zaXRpb25YOiBQb3BvdmVyUG9zaXRpb25YO1xuXG4gICAgLyoqIFBvc2l0aW9uIG9mIHRoZSBwb3BvdmVyIGluIHRoZSBZIGF4aXMgKi9cbiAgICBASW5wdXQoJ3BvcG92ZXJQb3NpdGlvblknKSBwb3NpdGlvblk6IFBvcG92ZXJQb3NpdGlvblk7XG5cbiAgICAvKiogUG9wb3ZlciB0cmlnZ2VyIGV2ZW50ICovXG4gICAgQElucHV0KCdwb3BvdmVyVHJpZ2dlck9uJykgdHJpZ2dlckV2ZW50OiBQb3BvdmVyVHJpZ2dlckV2ZW50O1xuXG4gICAgLyoqIFBvcG92ZXIgZGVsYXkgKi9cbiAgICBASW5wdXQoJ3BvcG92ZXJFbnRlckRlbGF5JykgZW50ZXJEZWxheTogbnVtYmVyO1xuXG4gICAgLyoqIFBvcG92ZXIgZGVsYXkgKi9cbiAgICBASW5wdXQoJ3BvcG92ZXJMZWF2ZURlbGF5JykgbGVhdmVEZWxheTogbnVtYmVyO1xuXG4gICAgLyoqIFBvcG92ZXIgb3ZlcmxhcCB0cmlnZ2VyICovXG4gICAgQElucHV0KCdwb3BvdmVyT3ZlcmxhcFRyaWdnZXInKSBvdmVybGFwVHJpZ2dlcjogYm9vbGVhbjtcblxuICAgIC8qKiBQb3BvdmVyIHRhcmdldCBvZmZzZXQgeCAqL1xuICAgIEBJbnB1dCgncG9wb3Zlck9mZnNldFgnKSB0YXJnZXRPZmZzZXRYOiBudW1iZXI7XG5cbiAgICAvKiogUG9wb3ZlciB0YXJnZXQgb2Zmc2V0IHkgKi9cbiAgICBASW5wdXQoJ3BvcG92ZXJPZmZzZXRZJykgdGFyZ2V0T2Zmc2V0WTogbnVtYmVyO1xuXG4gICAgLyoqIFBvcG92ZXIgYXJyb3cgb2Zmc2V0IHggKi9cbiAgICBASW5wdXQoJ3BvcG92ZXJBcnJvd09mZnNldFgnKSBhcnJvd09mZnNldFg6IG51bWJlcjtcblxuICAgIC8qKiBQb3BvdmVyIGFycm93IHdpZHRoICovXG4gICAgQElucHV0KCdwb3BvdmVyQXJyb3dXaWR0aCcpIGFycm93V2lkdGg6IG51bWJlcjtcblxuICAgIC8qKiBQb3BvdmVyIGFycm93IGNvbG9yICovXG4gICAgQElucHV0KCdwb3BvdmVyQXJyb3dDb2xvcicpIGFycm93Q29sb3I6IHN0cmluZztcblxuICAgIC8qKiBQb3BvdmVyIGNvbnRhaW5lciBjbG9zZSBvbiBjbGljayAqL1xuICAgIEBJbnB1dCgncG9wb3ZlckNsb3NlT25DbGljaycpIGNsb3NlT25DbGljazogYm9vbGVhbjtcblxuICAgIC8qKiBQb3BvdmVyIGJhY2tkcm9wIGNsb3NlIG9uIGNsaWNrICovXG4gICAgQElucHV0KCdwb3BvdmVyQmFja2Ryb3BDbG9zZU9uQ2xpY2snKSBiYWNrZHJvcENsb3NlT25DbGljazogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhc3NvY2lhdGVkIHBvcG92ZXIgaXMgb3BlbmVkLiAqL1xuICAgIEBPdXRwdXQoKSBvcGVuZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBjbG9zZWQuICovXG4gICAgQE91dHB1dCgpIGNsb3NlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHB1YmxpYyBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZGlyOiBEaXJlY3Rpb25hbGl0eSxcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7IH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2hlY2tQb3BvdmVyKCk7XG4gICAgICAgIHRoaXMuX3NldEN1cnJlbnRDb25maWcoKTtcbiAgICAgICAgdGhpcy5wb3BvdmVyLmNsb3NlLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlUG9wb3ZlcigpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95UG9wb3ZlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEN1cnJlbnRDb25maWcoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBvc2l0aW9uWCA9PT0gJ2JlZm9yZScgfHwgdGhpcy5wb3NpdGlvblggPT09ICdhZnRlcicpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5wb3NpdGlvblggPSB0aGlzLnBvc2l0aW9uWDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnBvc2l0aW9uWSA9PT0gJ2Fib3ZlJyB8fCB0aGlzLnBvc2l0aW9uWSA9PT0gJ2JlbG93Jykge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLnBvc2l0aW9uWSA9IHRoaXMucG9zaXRpb25ZO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlckV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIudHJpZ2dlckV2ZW50ID0gdGhpcy50cmlnZ2VyRXZlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5lbnRlckRlbGF5KSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIuZW50ZXJEZWxheSA9IHRoaXMuZW50ZXJEZWxheTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxlYXZlRGVsYXkpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5sZWF2ZURlbGF5ID0gdGhpcy5sZWF2ZURlbGF5O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMub3ZlcmxhcFRyaWdnZXIgPT09IHRydWUgfHwgdGhpcy5vdmVybGFwVHJpZ2dlciA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5vdmVybGFwVHJpZ2dlciA9IHRoaXMub3ZlcmxhcFRyaWdnZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50YXJnZXRPZmZzZXRYKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIudGFyZ2V0T2Zmc2V0WCA9IHRoaXMudGFyZ2V0T2Zmc2V0WDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRhcmdldE9mZnNldFkpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci50YXJnZXRPZmZzZXRZID0gdGhpcy50YXJnZXRPZmZzZXRZO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYXJyb3dPZmZzZXRYKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIuYXJyb3dPZmZzZXRYID0gdGhpcy5hcnJvd09mZnNldFg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hcnJvd1dpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIuYXJyb3dXaWR0aCA9IHRoaXMuYXJyb3dXaWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmFycm93Q29sb3IpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5hcnJvd0NvbG9yID0gdGhpcy5hcnJvd0NvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY2xvc2VPbkNsaWNrID09PSB0cnVlIHx8IHRoaXMuY2xvc2VPbkNsaWNrID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmNsb3NlT25DbGljayA9IHRoaXMuY2xvc2VPbkNsaWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wb3BvdmVyLnNldEN1cnJlbnRTdHlsZXMoKTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBpcyBvcGVuLiAqL1xuICAgIGdldCBwb3BvdmVyT3BlbigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX3BvcG92ZXJPcGVuOyB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wb3BvdmVyLnRyaWdnZXJFdmVudCA9PT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVQb3BvdmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSlcbiAgICBvbk1vdXNlRW50ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faGFsdCA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5wb3BvdmVyLnRyaWdnZXJFdmVudCA9PT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgdGhpcy5fbW91c2VvdmVyVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5Qb3BvdmVyKCk7XG4gICAgICAgICAgICB9LCB0aGlzLnBvcG92ZXIuZW50ZXJEZWxheSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJywgWyckZXZlbnQnXSlcbiAgICBvbk1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucG9wb3Zlci50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9tb3VzZW92ZXJUaW1lcikge1xuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9tb3VzZW92ZXJUaW1lcik7XG4gICAgICAgICAgICAgICAgdGhpcy5fbW91c2VvdmVyVGltZXIgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuX3BvcG92ZXJPcGVuKSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5wb3BvdmVyLmNsb3NlRGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCB0aGlzLnBvcG92ZXIubGVhdmVEZWxheSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2hhbHQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFRvZ2dsZXMgdGhlIHBvcG92ZXIgYmV0d2VlbiB0aGUgb3BlbiBhbmQgY2xvc2VkIHN0YXRlcy4gKi9cbiAgICB0b2dnbGVQb3BvdmVyKCk6IHZvaWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fcG9wb3Zlck9wZW4gPyB0aGlzLmNsb3NlUG9wb3ZlcigpIDogdGhpcy5vcGVuUG9wb3ZlcigpO1xuICAgIH1cblxuICAgIC8qKiBPcGVucyB0aGUgcG9wb3Zlci4gKi9cbiAgICBvcGVuUG9wb3ZlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9wb3BvdmVyT3BlbiAmJiAhdGhpcy5faGFsdCkge1xuICAgICAgICAgICAgdGhpcy5fY3JlYXRlT3ZlcmxheSgpLmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xuXG4gICAgICAgICAgICBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKHRoaXMuX3ZpZXdDb250YWluZXJSZWYpICYmICFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLl92aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGg6IG51bWJlciA9IEdJUElEb21IYW5kbGVyLmdldFdpZHRoKCh0aGlzLl92aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkpO1xuICAgICAgICAgICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkodGhpcy5wb3BvdmVyLnBvcG92ZXJXaWR0aCkgfHwgKHRoaXMucG9wb3Zlci5wb3BvdmVyV2lkdGggPT09ICdhdXRvJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyLnBvcG92ZXJXaWR0aCA9IGAke3dpZHRofXB4YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmliZVRvQmFja2Ryb3AoKTtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmliZVRvRGV0YWNobWVudHMoKTtcblxuICAgICAgICAgICAgdGhpcy5faW5pdFBvcG92ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDbG9zZXMgdGhlIHBvcG92ZXIuICovXG4gICAgY2xvc2VQb3BvdmVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgICAgIHRoaXMuX3Jlc2V0UG9wb3ZlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJlbW92ZXMgdGhlIHBvcG92ZXIgZnJvbSB0aGUgRE9NLiAqL1xuICAgIGRlc3Ryb3lQb3BvdmVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fbW91c2VvdmVyVGltZXIpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9tb3VzZW92ZXJUaW1lcik7XG4gICAgICAgICAgICB0aGlzLl9tb3VzZW92ZXJUaW1lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9jbGVhblVwU3Vic2NyaXB0aW9ucygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fb25EZXN0cm95Lm5leHQoKTtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95LmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIEZvY3VzZXMgdGhlIHBvcG92ZXIgdHJpZ2dlci4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgY29udGFpbmluZyBhcHAuICovXG4gICAgZ2V0IGRpcigpOiBEaXJlY3Rpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlyICYmIHRoaXMuX2Rpci52YWx1ZSA9PT0gJ3J0bCcgPyAncnRsJyA6ICdsdHInO1xuICAgIH1cblxuICAgIC8qKlxuICAgICogVGhpcyBtZXRob2QgZW5zdXJlcyB0aGF0IHRoZSBwb3BvdmVyIGNsb3NlcyB3aGVuIHRoZSBvdmVybGF5IGJhY2tkcm9wIGlzIGNsaWNrZWQuXG4gICAgKiBXZSBkbyBub3QgdXNlIGZpcnN0KCkgaGVyZSBiZWNhdXNlIGRvaW5nIHNvIHdvdWxkIG5vdCBjYXRjaCBjbGlja3MgZnJvbSB3aXRoaW5cbiAgICAqIHRoZSBwb3BvdmVyLCBhbmQgaXQgd291bGQgZmFpbCB0byB1bnN1YnNjcmliZSBwcm9wZXJseS4gSW5zdGVhZCwgd2UgdW5zdWJzY3JpYmVcbiAgICAqIGV4cGxpY2l0bHkgd2hlbiB0aGUgcG9wb3ZlciBpcyBjbG9zZWQgb3IgZGVzdHJveWVkLlxuICAgICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaWJlVG9CYWNrZHJvcCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIC8qKiBPbmx5IHN1YnNjcmliZSB0byBiYWNrZHJvcCBpZiB0cmlnZ2VyIGV2ZW50IGlzIGNsaWNrICovXG4gICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdjbGljaycgJiYgdGhpcy5iYWNrZHJvcENsb3NlT25DbGljayA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX292ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMucG9wb3ZlckNsb3NlZCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9wb3Zlci5fZW1pdENsb3NlRXZlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zdWJzY3JpYmVUb0RldGFjaG1lbnRzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2htZW50cygpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLnBvcG92ZXJDbG9zZWQpLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NldFBvcG92ZXJDbG9zZWQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICogVGhpcyBtZXRob2Qgc2V0cyB0aGUgcG9wb3ZlciBzdGF0ZSB0byBvcGVuIGFuZCBmb2N1c2VzIHRoZSBmaXJzdCBpdGVtIGlmXG4gICAgKiB0aGUgcG9wb3ZlciB3YXMgb3BlbmVkIHZpYSB0aGUga2V5Ym9hcmQuXG4gICAgKi9cbiAgICBwcml2YXRlIF9pbml0UG9wb3ZlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0UG9wb3Zlck9wZW5lZCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICogVGhpcyBtZXRob2QgcmVzZXRzIHRoZSBwb3BvdmVyIHdoZW4gaXQncyBjbG9zZWQsIG1vc3QgaW1wb3J0YW50bHkgcmVzdG9yaW5nXG4gICAgKiBmb2N1cyB0byB0aGUgcG9wb3ZlciB0cmlnZ2VyIGlmIHRoZSBwb3BvdmVyIHdhcyBvcGVuZWQgdmlhIHRoZSBrZXlib2FyZC5cbiAgICAqL1xuICAgIHByaXZhdGUgX3Jlc2V0UG9wb3ZlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0UG9wb3ZlckNsb3NlZCgpO1xuXG4gICAgICAgIC8vIEZvY3VzIG9ubHkgbmVlZHMgdG8gYmUgcmVzZXQgdG8gdGhlIGhvc3QgZWxlbWVudCBpZiB0aGUgcG9wb3ZlciB3YXMgb3BlbmVkXG4gICAgICAgIC8vIGJ5IHRoZSBrZXlib2FyZCBhbmQgbWFudWFsbHkgc2hpZnRlZCB0byB0aGUgZmlyc3QgcG9wb3ZlciBpdGVtLlxuICAgICAgICBpZiAoIXRoaXMuX29wZW5lZEJ5TW91c2UpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9vcGVuZWRCeU1vdXNlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqIHNldCBzdGF0ZSByYXRoZXIgdGhhbiB0b2dnbGUgdG8gc3VwcG9ydCB0cmlnZ2VycyBzaGFyaW5nIGEgcG9wb3ZlciAqL1xuICAgIHByaXZhdGUgX3NldFBvcG92ZXJPcGVuZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fcG9wb3Zlck9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJPcGVuID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyT3BlbmVkLm5leHQoKTtcbiAgICAgICAgICAgIHRoaXMub3BlbmVkLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBzZXQgc3RhdGUgcmF0aGVyIHRoYW4gdG9nZ2xlIHRvIHN1cHBvcnQgdHJpZ2dlcnMgc2hhcmluZyBhIHBvcG92ZXIgKi9cbiAgICBwcml2YXRlIF9zZXRQb3BvdmVyQ2xvc2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fcG9wb3Zlck9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJPcGVuID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHRoaXMucG9wb3ZlckNsb3NlZC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAqICBUaGlzIG1ldGhvZCBjaGVja3MgdGhhdCBhIHZhbGlkIGluc3RhbmNlIG9mIE1kUG9wb3ZlciBoYXMgYmVlbiBwYXNzZWQgaW50b1xuICAgICogIG1kUG9wb3ZlclRyaWdnZXJGb3IuIElmIG5vdCwgYW4gZXhjZXB0aW9uIGlzIHRocm93bi5cbiAgICAqL1xuICAgIHByaXZhdGUgX2NoZWNrUG9wb3ZlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnBvcG92ZXIpIHtcbiAgICAgICAgICAgIHRocm93UG9wb3Zlck1pc3NpbmdFcnJvcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgKiAgVGhpcyBtZXRob2QgY3JlYXRlcyB0aGUgb3ZlcmxheSBmcm9tIHRoZSBwcm92aWRlZCBwb3BvdmVyJ3MgdGVtcGxhdGUgYW5kIHNhdmVzIGl0c1xuICAgICogIE92ZXJsYXlSZWYgc28gdGhhdCBpdCBjYW4gYmUgYXR0YWNoZWQgdG8gdGhlIERPTSB3aGVuIG9wZW5Qb3BvdmVyIGlzIGNhbGxlZC5cbiAgICAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZU92ZXJsYXkoKTogT3ZlcmxheVJlZiB7XG4gICAgICAgIGlmICghdGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgICAgICAgdGhpcy5fcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMucG9wb3Zlci50ZW1wbGF0ZVJlZiwgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLl9nZXRPdmVybGF5Q29uZmlnKCk7XG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpYmVUb1Bvc2l0aW9ucyhjb25maWcucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKGNvbmZpZyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVJlZjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAqIFRoaXMgbWV0aG9kIGJ1aWxkcyB0aGUgY29uZmlndXJhdGlvbiBvYmplY3QgbmVlZGVkIHRvIGNyZWF0ZSB0aGUgb3ZlcmxheSwgdGhlIE92ZXJsYXlDb25maWcuXG4gICAgKiBAcmV0dXJucyBPdmVybGF5Q29uZmlnXG4gICAgKi9cbiAgICBwcml2YXRlIF9nZXRPdmVybGF5Q29uZmlnKCk6IE92ZXJsYXlDb25maWcge1xuICAgICAgICBjb25zdCBvdmVybGF5U3RhdGUgPSBuZXcgT3ZlcmxheUNvbmZpZygpO1xuICAgICAgICBvdmVybGF5U3RhdGUucG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX2dldFBvc2l0aW9uKCk7XG5cbiAgICAgICAgLyoqIERpc3BsYXkgb3ZlcmxheSBiYWNrZHJvcCBpZiB0cmlnZ2VyIGV2ZW50IGlzIGNsaWNrICovXG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgb3ZlcmxheVN0YXRlLmhhc0JhY2tkcm9wID0gdHJ1ZTtcbiAgICAgICAgICAgIG92ZXJsYXlTdGF0ZS5iYWNrZHJvcENsYXNzID0gJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJztcbiAgICAgICAgfVxuXG4gICAgICAgIG92ZXJsYXlTdGF0ZS5kaXJlY3Rpb24gPSB0aGlzLmRpcjtcbiAgICAgICAgb3ZlcmxheVN0YXRlLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5fZ2V0T3ZlcmxheVNjcm9sbFN0cmF0ZWd5KHRoaXMucG9wb3Zlci5zY3JvbGxTdHJhdGVneSk7XG5cbiAgICAgICAgcmV0dXJuIG92ZXJsYXlTdGF0ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIHRoZSBzY3JvbGwgc3RyYXRlZ3kgdXNlZCBieSB0aGUgY2RrL292ZXJsYXkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0T3ZlcmxheVNjcm9sbFN0cmF0ZWd5KHN0cmF0ZWd5OiBQb3BvdmVyU2Nyb2xsU3RyYXRlZ3kpOiBTY3JvbGxTdHJhdGVneSB7XG4gICAgICAgIHN3aXRjaCAoc3RyYXRlZ3kpIHtcbiAgICAgICAgICAgIGNhc2UgJ25vb3AnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpO1xuICAgICAgICAgICAgY2FzZSAnY2xvc2UnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKTtcbiAgICAgICAgICAgIGNhc2UgJ2Jsb2NrJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCk7XG4gICAgICAgICAgICBjYXNlICdyZXBvc2l0aW9uJzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAqIExpc3RlbnMgdG8gY2hhbmdlcyBpbiB0aGUgcG9zaXRpb24gb2YgdGhlIG92ZXJsYXkgYW5kIHNldHMgdGhlIGNvcnJlY3QgY2xhc3Nlc1xuICAgICogb24gdGhlIHBvcG92ZXIgYmFzZWQgb24gdGhlIG5ldyBwb3NpdGlvbi4gVGhpcyBlbnN1cmVzIHRoZSBhbmltYXRpb24gb3JpZ2luIGlzIGFsd2F5c1xuICAgICogY29ycmVjdCwgZXZlbiBpZiBhIGZhbGxiYWNrIHBvc2l0aW9uIGlzIHVzZWQgZm9yIHRoZSBvdmVybGF5LlxuICAgICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaWJlVG9Qb3NpdGlvbnMocG9zaXRpb246IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3NpdGlvblN1YnNjcmlwdGlvbiA9IHBvc2l0aW9uLnBvc2l0aW9uQ2hhbmdlcy5zdWJzY3JpYmUoY2hhbmdlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2lzaW9uWDogUG9wb3ZlclBvc2l0aW9uWCA9IGNoYW5nZS5jb25uZWN0aW9uUGFpci5vdmVybGF5WCA9PT0gJ3N0YXJ0JyA/ICdhZnRlcicgOiAnYmVmb3JlJztcbiAgICAgICAgICAgIGxldCBwb3Npc2lvblk6IFBvcG92ZXJQb3NpdGlvblkgPSBjaGFuZ2UuY29ubmVjdGlvblBhaXIub3ZlcmxheVkgPT09ICd0b3AnID8gJ2JlbG93JyA6ICdhYm92ZSc7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5wb3BvdmVyLm92ZXJsYXBUcmlnZ2VyKSB7XG4gICAgICAgICAgICAgICAgcG9zaXNpb25ZID0gcG9zaXNpb25ZID09PSAnYmVsb3cnID8gJ2Fib3ZlJyA6ICdiZWxvdyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHJlcXVpcmVkIGZvciBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wb3Zlci5wb3NpdGlvblggPSBwb3Npc2lvblg7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyLnBvc2l0aW9uWSA9IHBvc2lzaW9uWTtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXIuc2V0Q3VycmVudFN0eWxlcygpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyLnNldFBvc2l0aW9uQ2xhc3Nlcyhwb3Npc2lvblgsIHBvc2lzaW9uWSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgKiBUaGlzIG1ldGhvZCBidWlsZHMgdGhlIHBvc2l0aW9uIHN0cmF0ZWd5IGZvciB0aGUgb3ZlcmxheSwgc28gdGhlIHBvcG92ZXIgaXMgcHJvcGVybHkgY29ubmVjdGVkXG4gICAgKiB0byB0aGUgdHJpZ2dlci5cbiAgICAqIEByZXR1cm5zIENvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lcbiAgICAqL1xuICAgIHByaXZhdGUgX2dldFBvc2l0aW9uKCk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIGNvbnN0IFtvcmlnaW5YLCBvcmlnaW5GYWxsYmFja1hdOiBIb3Jpem9udGFsQ29ubmVjdGlvblBvc1tdID1cbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5wb3NpdGlvblggPT09ICdiZWZvcmUnID8gWydlbmQnLCAnc3RhcnQnXSA6IFsnc3RhcnQnLCAnZW5kJ107XG5cbiAgICAgICAgY29uc3QgW292ZXJsYXlZLCBvdmVybGF5RmFsbGJhY2tZXTogVmVydGljYWxDb25uZWN0aW9uUG9zW10gPVxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLnBvc2l0aW9uWSA9PT0gJ2Fib3ZlJyA/IFsnYm90dG9tJywgJ3RvcCddIDogWyd0b3AnLCAnYm90dG9tJ107XG5cbiAgICAgICAgLy8gbGV0IG9yaWdpblkgPSBvdmVybGF5WTtcbiAgICAgICAgLy8gbGV0IGZhbGxiYWNrT3JpZ2luWSA9IG92ZXJsYXlGYWxsYmFja1k7XG5cbiAgICAgICAgbGV0IG9yaWdpblk6ICd0b3AnIHwgJ2JvdHRvbScgPSBvdmVybGF5WTtcbiAgICAgICAgbGV0IG9yaWdpbkZhbGxiYWNrWTogJ3RvcCcgfCAnYm90dG9tJyA9IG92ZXJsYXlGYWxsYmFja1k7XG5cbiAgICAgICAgY29uc3Qgb3ZlcmxheVg6ICdzdGFydCcgfCAnZW5kJyA9IG9yaWdpblg7XG4gICAgICAgIGNvbnN0IG92ZXJsYXlGYWxsYmFja1g6ICdzdGFydCcgfCAnZW5kJyA9IG9yaWdpbkZhbGxiYWNrWDtcblxuICAgICAgICAvKiogUmV2ZXJzZSBvdmVybGF5WSBhbmQgZmFsbGJhY2tPdmVybGF5WSB3aGVuIG92ZXJsYXBUcmlnZ2VyIGlzIGZhbHNlICovXG4gICAgICAgIGlmICghdGhpcy5wb3BvdmVyLm92ZXJsYXBUcmlnZ2VyKSB7XG4gICAgICAgICAgICBvcmlnaW5ZID0gb3ZlcmxheVkgPT09ICd0b3AnID8gJ2JvdHRvbScgOiAndG9wJztcbiAgICAgICAgICAgIG9yaWdpbkZhbGxiYWNrWSA9IG92ZXJsYXlGYWxsYmFja1kgPT09ICd0b3AnID8gJ2JvdHRvbScgOiAndG9wJztcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBvZmZzZXRYOiBudW1iZXIgPSAwO1xuICAgICAgICBsZXQgb2Zmc2V0WTogbnVtYmVyID0gMDtcblxuICAgICAgICBpZiAodGhpcy5wb3BvdmVyLnRhcmdldE9mZnNldFggJiYgIWlzTmFOKE51bWJlcih0aGlzLnBvcG92ZXIudGFyZ2V0T2Zmc2V0WCkpKSB7XG4gICAgICAgICAgICBvZmZzZXRYID0gTnVtYmVyKHRoaXMucG9wb3Zlci50YXJnZXRPZmZzZXRYKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnBvcG92ZXIudGFyZ2V0T2Zmc2V0WSAmJiAhaXNOYU4oTnVtYmVyKHRoaXMucG9wb3Zlci50YXJnZXRPZmZzZXRZKSkpIHtcbiAgICAgICAgICAgIG9mZnNldFkgPSBOdW1iZXIodGhpcy5wb3BvdmVyLnRhcmdldE9mZnNldFkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEZvciBvdmVycmlkaW5nIHBvc2l0aW9uIGVsZW1lbnQsIHdoZW4gcG9wb3ZlclRhcmdldEF0IGhhcyBhIHZhbGlkIGVsZW1lbnQgcmVmZXJlbmNlLlxuICAgICAgICAgKiBVc2VmdWwgZm9yIHN0aWNraW5nIHBvcG92ZXIgdG8gcGFyZW50IGVsZW1lbnQgYW5kIG9mZnNldHRpbmcgYXJyb3cgdG8gdHJpZ2dlciBlbGVtZW50LlxuICAgICAgICAgKiBJZiB1bmRlZmluZWQgZGVmYXVsdHMgdG8gdGhlIHRyaWdnZXIgZWxlbWVudCByZWZlcmVuY2UuXG4gICAgICAgICAqL1xuICAgICAgICBsZXQgZWxlbWVudDogRWxlbWVudFJlZjxhbnk+ID0gdGhpcy5fZWxlbWVudFJlZjtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRhcmdldEVsZW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIuY29udGFpbmVyUG9zaXRpb25pbmcgPSB0cnVlO1xuICAgICAgICAgICAgZWxlbWVudCA9IHRoaXMudGFyZ2V0RWxlbWVudC5fZWxlbWVudFJlZjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKGVsZW1lbnQpXG4gICAgICAgICAgICAud2l0aExvY2tlZFBvc2l0aW9uKHRydWUpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcmlnaW5YLFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW5ZLFxuICAgICAgICAgICAgICAgICAgICBvdmVybGF5WCxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVksXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFlcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWDogb3JpZ2luRmFsbGJhY2tYLFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW5ZLFxuICAgICAgICAgICAgICAgICAgICBvdmVybGF5WDogb3ZlcmxheUZhbGxiYWNrWCxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVksXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFlcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWCxcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogb3JpZ2luRmFsbGJhY2tZLFxuICAgICAgICAgICAgICAgICAgICBvdmVybGF5WCxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVk6IG92ZXJsYXlGYWxsYmFja1ksXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFk6IC1vZmZzZXRZXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpblg6IG9yaWdpbkZhbGxiYWNrWCxcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogb3JpZ2luRmFsbGJhY2tZLFxuICAgICAgICAgICAgICAgICAgICBvdmVybGF5WDogb3ZlcmxheUZhbGxiYWNrWCxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVk6IG92ZXJsYXlGYWxsYmFja1ksXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFk6IC1vZmZzZXRZXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdE9mZnNldFgob2Zmc2V0WClcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdE9mZnNldFkob2Zmc2V0WSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2xlYW5VcFN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9iYWNrZHJvcFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3Bvc2l0aW9uU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2RldGFjaG1lbnRzU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9kZXRhY2htZW50c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSkgX2hhbmRsZU1vdXNlZG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQgJiYgIWlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLl9vcGVuZWRCeU1vdXNlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
@@ -1 +0,0 @@
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvcG9wb3Zlci9zaGFyZWQvcG9wb3Zlci10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUG9wb3ZlclBvc2l0aW9uWCA9ICdiZWZvcmUnIHwgJ2FmdGVyJztcblxuZXhwb3J0IHR5cGUgUG9wb3ZlclBvc2l0aW9uWSA9ICdhYm92ZScgfCAnYmVsb3cnO1xuXG5leHBvcnQgdHlwZSBQb3BvdmVyVHJpZ2dlckV2ZW50ID0gJ2NsaWNrJyB8ICdob3ZlcicgfCAnbm9uZSc7XG5cbmV4cG9ydCB0eXBlIFBvcG92ZXJTY3JvbGxTdHJhdGVneSA9ICdub29wJyB8ICdjbG9zZScgfCAnYmxvY2snIHwgJ3JlcG9zaXRpb24nO1xuIl19
|