@gipisistemas/ng-core 1.1.0 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- package/assets/styles/colors.scss +261 -0
- package/assets/styles/layout-grid.scss +146 -0
- package/assets/styles/styles.scss +149 -0
- package/assets/styles/theme.scss +22 -0
- package/assets/styles/typography.scss +54 -0
- package/assets/styles/variable.scss +41 -0
- package/bundles/gipisistemas-ng-core.umd.js +28372 -0
- package/bundles/gipisistemas-ng-core.umd.js.map +1 -0
- package/bundles/gipisistemas-ng-core.umd.min.js +66 -0
- package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -0
- package/core/app-messages.d.ts +9 -0
- package/core/app.messages.d.ts +4 -0
- package/core/components/abstract-crud.component.d.ts +27 -0
- package/core/components/abstract-find.component.d.ts +43 -0
- package/core/components/abstract.component.d.ts +23 -0
- package/core/components/alert/alert.component.d.ts +7 -0
- package/core/core.module.d.ts +17 -0
- package/core/custom-breakpoints.d.ts +7 -0
- package/core/enums/local-time.enum.d.ts +5 -0
- package/core/extensions/string.extension.d.ts +3 -0
- package/core/gipi-components/components/abstract-crud.component.d.ts +25 -0
- package/core/gipi-components/components/abstract-find.component.d.ts +73 -0
- package/core/gipi-components/components/abstract.component.d.ts +38 -0
- package/core/gipi-components/decorators/autowired.decorator.d.ts +7 -0
- package/core/gipi-components/enums/sort-direction.enum.d.ts +5 -0
- package/core/gipi-components/interface/abstract-crud.interface.d.ts +5 -0
- package/core/gipi-components/interface/abstract-find.interface.d.ts +12 -0
- package/core/gipi-components/interface/abstract.interface.d.ts +11 -0
- package/core/gipi-components/interface/base-permission.interface.d.ts +9 -0
- package/core/gipi-components/models/abstract-filter.model.d.ts +9 -0
- package/core/gipi-components/models/abstract.model.d.ts +7 -0
- package/core/gipi-components/models/applied-filter.model.d.ts +9 -0
- package/core/gipi-components/models/dto/abstract.dto.d.ts +7 -0
- package/core/gipi-components/models/page-event.model.d.ts +18 -0
- package/core/gipi-components/models/page.model.d.ts +7 -0
- package/core/gipi-components/models/sort.model.d.ts +6 -0
- package/core/gipi-components/services/abstract-crud.service.d.ts +83 -0
- package/core/gipi-components/services/abstract.service.d.ts +19 -0
- package/core/gipi-components/services/base.service.d.ts +35 -0
- package/core/gipi-components/services/file.service.d.ts +6 -0
- package/core/gipi-components/services/session-storage.service.d.ts +8 -0
- package/core/gipi-components/types/generic.type.d.ts +1 -0
- package/core/gipi-components/types/uuid.type.d.ts +1 -0
- package/core/guards/auth.guard.d.ts +11 -0
- package/core/guards/permission.guard.d.ts +14 -0
- package/core/guards/public.guard.d.ts +11 -0
- package/core/interceptors/auth.interceptor.d.ts +9 -0
- package/core/interceptors/error.interceptor.d.ts +11 -0
- package/core/models/abstract.model.d.ts +3 -0
- package/core/models/archive.model.d.ts +4 -0
- package/core/models/authority.model.d.ts +3 -0
- package/core/models/base-user.model.d.ts +12 -0
- package/core/models/dto/abstract.dto.d.ts +2 -0
- package/core/models/dto/api-error.dto.d.ts +9 -0
- package/core/models/dto/api-sub-error.dto.d.ts +7 -0
- package/core/models/dto/chart.dto.d.ts +5 -0
- package/core/models/dto/confirmation.dto.d.ts +10 -0
- package/core/models/dto/dialog.dto.d.ts +36 -0
- package/core/models/dto/filter.dto.d.ts +8 -0
- package/core/models/dto/input-listbox.dto.d.ts +6 -0
- package/core/models/dto/menu.dto.d.ts +15 -0
- package/core/models/dto/message.dto.d.ts +7 -0
- package/core/models/dto/page.dto.d.ts +8 -0
- package/core/models/dto/sort.dto.d.ts +7 -0
- package/core/models/dto/tab.dto.d.ts +12 -0
- package/core/models/dto/table-column.dto.d.ts +21 -0
- package/core/models/dto/table-group-header.dto.d.ts +7 -0
- package/core/models/dto/table-page-event.dto.d.ts +6 -0
- package/core/models/dto/token.dto.d.ts +8 -0
- package/core/models/enums/criteria-operation.enum.d.ts +13 -0
- package/core/models/enums/criteria-sort-direction.enum.d.ts +4 -0
- package/core/models/enums/menu-type.enum.d.ts +6 -0
- package/core/models/enums/radio-button.enum.d.ts +6 -0
- package/core/models/enums/sort-direction.enum.d.ts +4 -0
- package/core/models/multitenant.model.d.ts +4 -0
- package/core/models/permission.model.d.ts +8 -0
- package/core/models/role.model.d.ts +7 -0
- package/core/pipes/local-time.pipe.d.ts +6 -0
- package/core/services/abstract-crud.service.d.ts +15 -0
- package/core/services/abstract-find.service.d.ts +30 -0
- package/core/services/abstract.service.d.ts +13 -0
- package/core/services/authentication.service.d.ts +23 -0
- package/core/services/breakpoint-observer.service.d.ts +9 -0
- package/core/services/confirmation.service.d.ts +8 -0
- package/core/services/dialog.service.d.ts +8 -0
- package/core/services/message.service.d.ts +8 -0
- package/core/services/nav.service.d.ts +16 -0
- package/core/services/svg-register.service.d.ts +22 -0
- package/core/types/local-time.type.d.ts +5 -0
- package/core/types/ng-class.type.d.ts +10 -0
- package/core/utils/array.util.d.ts +14 -0
- package/core/utils/browser.util.d.ts +4 -0
- package/core/utils/currency.util.d.ts +6 -0
- package/core/utils/date.util.d.ts +39 -0
- package/core/utils/document.util.d.ts +11 -0
- package/core/utils/email.util.d.ts +4 -0
- package/core/utils/number.util.d.ts +8 -0
- package/core/utils/object.util.d.ts +20 -0
- package/core/utils/password.util.d.ts +11 -0
- package/core/utils/phone.util.d.ts +13 -0
- package/core/utils/string.util.d.ts +9 -0
- package/core/utils/table-column-builder.d.ts +40 -0
- package/core/utils/time.util.d.ts +9 -0
- package/core/utils/url-params.util.d.ts +7 -0
- package/core/utils/uuid.util.d.ts +5 -0
- package/core/utils/zindex.util.d.ts +7 -0
- package/core.d.ts +88 -0
- package/esm2015/core/app-messages.js +1 -0
- package/esm2015/core/app.messages.js +12 -0
- package/esm2015/core/components/abstract-crud.component.js +97 -0
- package/esm2015/core/components/abstract-find.component.js +189 -0
- package/esm2015/core/components/abstract.component.js +110 -0
- package/esm2015/core/components/alert/alert.component.js +24 -0
- package/esm2015/core/core.module.js +103 -0
- package/esm2015/core/custom-breakpoints.js +87 -0
- package/esm2015/core/enums/local-time.enum.js +6 -0
- package/esm2015/core/extensions/string.extension.js +37 -0
- package/esm2015/core/gipi-components/components/abstract-crud.component.js +110 -0
- package/esm2015/core/gipi-components/components/abstract-find.component.js +471 -0
- package/esm2015/core/gipi-components/components/abstract.component.js +140 -0
- package/esm2015/core/gipi-components/decorators/autowired.decorator.js +47 -0
- package/esm2015/core/gipi-components/enums/sort-direction.enum.js +6 -0
- package/esm2015/core/gipi-components/interface/abstract-crud.interface.js +1 -0
- package/esm2015/core/gipi-components/interface/abstract-find.interface.js +1 -0
- package/esm2015/core/gipi-components/interface/abstract.interface.js +1 -0
- package/esm2015/core/gipi-components/interface/base-permission.interface.js +1 -0
- package/esm2015/core/gipi-components/models/abstract-filter.model.js +3 -0
- package/esm2015/core/gipi-components/models/abstract.model.js +3 -0
- package/esm2015/core/gipi-components/models/applied-filter.model.js +19 -0
- package/esm2015/core/gipi-components/models/dto/abstract.dto.js +3 -0
- package/esm2015/core/gipi-components/models/page-event.model.js +35 -0
- package/esm2015/core/gipi-components/models/page.model.js +7 -0
- package/esm2015/core/gipi-components/models/sort.model.js +7 -0
- package/esm2015/core/gipi-components/services/abstract-crud.service.js +109 -0
- package/esm2015/core/gipi-components/services/abstract.service.js +47 -0
- package/esm2015/core/gipi-components/services/base.service.js +102 -0
- package/esm2015/core/gipi-components/services/file.service.js +51 -0
- package/esm2015/core/gipi-components/services/session-storage.service.js +44 -0
- package/esm2015/core/gipi-components/types/generic.type.js +1 -0
- package/esm2015/core/gipi-components/types/uuid.type.js +1 -0
- package/esm2015/core/guards/auth.guard.js +48 -0
- package/esm2015/core/guards/permission.guard.js +61 -0
- package/esm2015/core/guards/public.guard.js +45 -0
- package/esm2015/core/interceptors/auth.interceptor.js +28 -0
- package/esm2015/core/interceptors/error.interceptor.js +110 -0
- package/esm2015/core/models/abstract.model.js +3 -0
- package/esm2015/core/models/archive.model.js +3 -0
- package/esm2015/core/models/authority.model.js +3 -0
- package/esm2015/core/models/base-user.model.js +8 -0
- package/esm2015/core/models/dto/abstract.dto.js +3 -0
- package/esm2015/core/models/dto/api-error.dto.js +8 -0
- package/esm2015/core/models/dto/api-sub-error.dto.js +4 -0
- package/esm2015/core/models/dto/chart.dto.js +4 -0
- package/esm2015/core/models/dto/confirmation.dto.js +8 -0
- package/esm2015/core/models/dto/dialog.dto.js +4 -0
- package/esm2015/core/models/dto/filter.dto.js +4 -0
- package/esm2015/core/models/dto/input-listbox.dto.js +7 -0
- package/esm2015/core/models/dto/menu.dto.js +9 -0
- package/esm2015/core/models/dto/message.dto.js +4 -0
- package/esm2015/core/models/dto/page.dto.js +9 -0
- package/esm2015/core/models/dto/sort.dto.js +9 -0
- package/esm2015/core/models/dto/tab.dto.js +10 -0
- package/esm2015/core/models/dto/table-column.dto.js +24 -0
- package/esm2015/core/models/dto/table-group-header.dto.js +10 -0
- package/esm2015/core/models/dto/table-page-event.dto.js +7 -0
- package/esm2015/core/models/dto/token.dto.js +4 -0
- package/esm2015/core/models/enums/criteria-operation.enum.js +15 -0
- package/esm2015/core/models/enums/criteria-sort-direction.enum.js +6 -0
- package/esm2015/core/models/enums/menu-type.enum.js +7 -0
- package/esm2015/core/models/enums/radio-button.enum.js +8 -0
- package/esm2015/core/models/enums/sort-direction.enum.js +6 -0
- package/esm2015/core/models/multitenant.model.js +4 -0
- package/esm2015/core/models/permission.model.js +11 -0
- package/esm2015/core/models/role.model.js +8 -0
- package/esm2015/core/pipes/local-time.pipe.js +21 -0
- package/esm2015/core/services/abstract-crud.service.js +24 -0
- package/esm2015/core/services/abstract-find.service.js +65 -0
- package/esm2015/core/services/abstract.service.js +30 -0
- package/esm2015/core/services/authentication.service.js +100 -0
- package/esm2015/core/services/breakpoint-observer.service.js +42 -0
- package/esm2015/core/services/confirmation.service.js +55 -0
- package/esm2015/core/services/dialog.service.js +41 -0
- package/esm2015/core/services/message.service.js +33 -0
- package/esm2015/core/services/nav.service.js +48 -0
- package/esm2015/core/services/svg-register.service.js +55 -0
- package/esm2015/core/types/local-time.type.js +1 -0
- package/esm2015/core/types/ng-class.type.js +1 -0
- package/esm2015/core/utils/array.util.js +110 -0
- package/esm2015/core/utils/browser.util.js +13 -0
- package/esm2015/core/utils/currency.util.js +21 -0
- package/esm2015/core/utils/date.util.js +257 -0
- package/esm2015/core/utils/document.util.js +153 -0
- package/esm2015/core/utils/email.util.js +25 -0
- package/esm2015/core/utils/number.util.js +28 -0
- package/esm2015/core/utils/object.util.js +199 -0
- package/esm2015/core/utils/password.util.js +38 -0
- package/esm2015/core/utils/phone.util.js +125 -0
- package/esm2015/core/utils/string.util.js +40 -0
- package/esm2015/core/utils/table-column-builder.js +85 -0
- package/esm2015/core/utils/time.util.js +59 -0
- package/esm2015/core/utils/url-params.util.js +12 -0
- package/esm2015/core/utils/uuid.util.js +17 -0
- package/esm2015/core/utils/zindex.util.js +35 -0
- package/esm2015/core.js +89 -0
- package/esm2015/gipi-components.js +105 -0
- package/esm2015/gipisistemas-ng-core.js +21 -0
- package/esm2015/public_api.js +4 -0
- package/esm2015/shared/api/generate-id-component.js +12 -0
- package/esm2015/shared/api/gipi-ng-config.js +76 -0
- package/esm2015/shared/api/overlay-message.js +1 -0
- package/esm2015/shared/api/throttle.js +60 -0
- package/esm2015/shared/api/translation.js +1 -0
- package/esm2015/shared/components/button/button.component.js +110 -0
- package/esm2015/shared/components/card/card.component.js +44 -0
- package/esm2015/shared/components/checkbox/checkbox.component.js +79 -0
- package/esm2015/shared/components/dom/connected-overlay-scroll-handler.js +27 -0
- package/esm2015/shared/components/dom/dom-handler.js +538 -0
- package/esm2015/shared/components/icon/icon.component.js +35 -0
- package/esm2015/shared/components/input/input.component.js +235 -0
- package/esm2015/shared/components/input-currency/input-currency.component.js +115 -0
- package/esm2015/shared/components/input-file/input-file.component.js +161 -0
- package/esm2015/shared/components/loading/loading.component.js +15 -0
- package/esm2015/shared/components/loading-overlay/loading-overlay.component.js +21 -0
- package/esm2015/shared/components/overlay-panel/overlay-panel.component.js +361 -0
- package/esm2015/shared/components/popover/popover-ref.js +25 -0
- package/esm2015/shared/components/popover/popover.component.js +34 -0
- package/esm2015/shared/components/popover/popover.service.js +85 -0
- package/esm2015/shared/components/radio-group-entity/radio-group-entity.component.js +74 -0
- package/esm2015/shared/components/radio-group-enum/radio-group-enum.component.js +126 -0
- package/esm2015/shared/components/select-button/select-button.component.js +181 -0
- package/esm2015/shared/components/select-entity/select-entity.component.js +262 -0
- package/esm2015/shared/components/select-entity-paged/select-entity-paged.component.js +419 -0
- package/esm2015/shared/components/select-entity-paged/shared/default-options.js +35 -0
- package/esm2015/shared/components/select-entity-paged/shared/select-button-add/select-button-add.component.js +69 -0
- package/esm2015/shared/components/select-entity-paged/shared/select-button-next-batch/select-button-next-batch.component.js +59 -0
- package/esm2015/shared/components/select-entity-paged/shared/select-no-entries-found.directive.js +20 -0
- package/esm2015/shared/components/select-entity-paged/shared/select-search/select-search.component.js +547 -0
- package/esm2015/shared/components/select-entity-paged/shared/select-search-clear.directive.js +18 -0
- package/esm2015/shared/components/select-enum/select-enum.component.js +117 -0
- package/esm2015/shared/components/select-month-period/select-month-period.component.js +87 -0
- package/esm2015/shared/components/slide-toggle/slide-toggle.component.js +75 -0
- package/esm2015/shared/components/stepper/stepper.component.js +32 -0
- package/esm2015/shared/components/tab/tab.component.js +57 -0
- package/esm2015/shared/components/tab-group/tab-group.component.js +117 -0
- package/esm2015/shared/components/table/table.component.js +585 -0
- package/esm2015/shared/components/table-scrolled/table-scrolled.component.js +105 -0
- package/esm2015/shared/components/textarea/textarea.component.js +156 -0
- package/esm2015/shared/directives/dynamic-tab.directive.js +18 -0
- package/esm2015/shared/directives/generic-template.directive.js +30 -0
- package/esm2015/shared/directives/input-select-infinite-scroll.directive.js +109 -0
- package/esm2015/shared/directives/lower-case.directive.js +47 -0
- package/esm2015/shared/directives/phone-mask.directive.js +60 -0
- package/esm2015/shared/directives/space-drop.directive.js +47 -0
- package/esm2015/shared/directives/upper-case.directive.js +47 -0
- package/esm2015/shared/gipi-components/abstract-form/abstract-form.component.js +119 -0
- package/esm2015/shared/gipi-components/action-row/action-row.component.js +30 -0
- package/esm2015/shared/gipi-components/badge/badge.component.js +44 -0
- package/esm2015/shared/gipi-components/button/button.component.js +251 -0
- package/esm2015/shared/gipi-components/chips/chips.component.js +149 -0
- package/esm2015/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +44 -0
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +324 -0
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range-selection-startegy.js +41 -0
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range.directive.js +35 -0
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/shared/preset-range/preset-range.component.js +259 -0
- package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +218 -0
- package/esm2015/shared/gipi-components/datepicker/datepicker.module.js +130 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +341 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/calendar.js +397 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-input-parts.js +325 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +329 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-picker.js +41 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-selection-strategy.js +61 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-selection-model.js +159 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-animations.js +35 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-base.js +555 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-errors.js +14 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-input-base.js +303 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-input.js +179 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-intl.js +51 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker-toggle.js +124 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/datepicker.js +29 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/month-view.js +365 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/multi-year-view.js +305 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-adapter.js +116 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-formats.js +10 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-adapter.js +294 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-formats.js +19 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/platform.js +81 -0
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/year-view.js +294 -0
- package/esm2015/shared/gipi-components/dom/connected-overlay-scroll-handler.js +27 -0
- package/esm2015/shared/gipi-components/dom/dom-handler.js +645 -0
- package/esm2015/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +185 -0
- package/esm2015/shared/gipi-components/expansion-panel/expansion-panel.component.js +81 -0
- package/esm2015/shared/gipi-components/file-drag-and-drop/file-drag-and-drop.component.js +240 -0
- package/esm2015/shared/gipi-components/file-drag-and-drop/shared/file-drag-and-drop.directive.js +92 -0
- package/esm2015/shared/gipi-components/footer/footer.component.js +29 -0
- package/esm2015/shared/gipi-components/form-field/form-field.component.js +262 -0
- package/esm2015/shared/gipi-components/helpful-tip/helpful-tip.component.js +62 -0
- package/esm2015/shared/gipi-components/infinite-scroll/infinite-scroll.directive.js +103 -0
- package/esm2015/shared/gipi-components/input-checkbox/input-checkbox.component.js +112 -0
- package/esm2015/shared/gipi-components/input-currency/input-currency.component.js +197 -0
- package/esm2015/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +408 -0
- package/esm2015/shared/gipi-components/input-select/input-select.component.js +655 -0
- package/esm2015/shared/gipi-components/input-select-enum/input-select-enum.component.js +311 -0
- package/esm2015/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +422 -0
- package/esm2015/shared/gipi-components/input-select-paged/input-search/input-search.component.js +374 -0
- package/esm2015/shared/gipi-components/input-select-paged/input-select-paged.component.js +350 -0
- package/esm2015/shared/gipi-components/input-select-radio/input-select-radio.component.js +269 -0
- package/esm2015/shared/gipi-components/layout-grid/col.directive.js +161 -0
- package/esm2015/shared/gipi-components/layout-grid/row.directive.js +124 -0
- package/esm2015/shared/gipi-components/layout-grid/services/breakpoint.service.js +87 -0
- package/esm2015/shared/gipi-components/layout-grid/services/resize.service.js +64 -0
- package/esm2015/shared/gipi-components/month-year-picker/calendar-month-year/calendar-month-year.component.js +193 -0
- package/esm2015/shared/gipi-components/month-year-picker/mont-year-picker.module.js +47 -0
- package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +460 -0
- package/esm2015/shared/gipi-components/notification/notification.component.js +104 -0
- package/esm2015/shared/gipi-components/novelties/novelties.component.js +109 -0
- package/esm2015/shared/gipi-components/overlay/overlay.component.js +565 -0
- package/esm2015/shared/gipi-components/overlay/shared/overlay-service.js +21 -0
- package/esm2015/shared/gipi-components/overlay/shared/overlay_options.js +1 -0
- package/esm2015/shared/gipi-components/password-requeriments/password-requeriments.component.js +127 -0
- package/esm2015/shared/gipi-components/popover/popover.component.js +397 -0
- package/esm2015/shared/gipi-components/popover/shared/popover-animations.js +29 -0
- package/esm2015/shared/gipi-components/popover/shared/popover-errors.js +27 -0
- package/esm2015/shared/gipi-components/popover/shared/popover-interfaces.js +1 -0
- package/esm2015/shared/gipi-components/popover/shared/popover-target.js +19 -0
- package/esm2015/shared/gipi-components/popover/shared/popover-trigger.js +514 -0
- package/esm2015/shared/gipi-components/popover/shared/popover-types.js +1 -0
- package/esm2015/shared/gipi-components/radio-group/radio-group.component.js +143 -0
- package/esm2015/shared/gipi-components/range-page/range-page.component.js +254 -0
- package/esm2015/shared/gipi-components/range-slider/range-slider.component.js +345 -0
- package/esm2015/shared/gipi-components/select/select.component.js +211 -0
- package/esm2015/shared/gipi-components/select-button/select-button.component.js +187 -0
- package/esm2015/shared/gipi-components/sidebar/container/container.component.js +83 -0
- package/esm2015/shared/gipi-components/sidebar/sidenav/sidenav.component.js +240 -0
- package/esm2015/shared/gipi-components/stepper/stepper.component.js +37 -0
- package/esm2015/shared/gipi-components/table/components/table-body/table-body.component.js +203 -0
- package/esm2015/shared/gipi-components/table/components/table-footer/table-footer.component.js +30 -0
- package/esm2015/shared/gipi-components/table/components/table-header/table-header.component.js +152 -0
- package/esm2015/shared/gipi-components/table/components/table-pagination/shared/paginate.pipe.js +122 -0
- package/esm2015/shared/gipi-components/table/components/table-pagination/shared/pagination-controls.directive.js +225 -0
- package/esm2015/shared/gipi-components/table/components/table-pagination/shared/pagination-instance.js +1 -0
- package/esm2015/shared/gipi-components/table/components/table-pagination/shared/pagination.service.js +105 -0
- package/esm2015/shared/gipi-components/table/components/table-pagination/table-pagination.component.js +102 -0
- package/esm2015/shared/gipi-components/table/components/table-progress-bar/table-progress-bar.component.js +30 -0
- package/esm2015/shared/gipi-components/table/models/pipe-transform.model.js +1 -0
- package/esm2015/shared/gipi-components/table/models/sort.model.js +19 -0
- package/esm2015/shared/gipi-components/table/models/sorted-column.model.js +2 -0
- package/esm2015/shared/gipi-components/table/models/table-column-builder.model.js +104 -0
- package/esm2015/shared/gipi-components/table/models/table-column.model.js +162 -0
- package/esm2015/shared/gipi-components/table/table.component.js +159 -0
- package/esm2015/shared/gipi-components/table/types/sort-direction.type.js +1 -0
- package/esm2015/shared/gipi-components/table/types/sort.type.js +1 -0
- package/esm2015/shared/gipi-components/template/template.directive.js +33 -0
- package/esm2015/shared/gipi-components/toolbar/toolbar.component.js +53 -0
- package/esm2015/shared/gipi-components/top-nav/top-nav.component.js +38 -0
- package/esm2015/shared/gipi-components/user-profile/user-profile.component.js +109 -0
- package/esm2015/shared/material.module.js +102 -0
- package/esm2015/shared/shared.module.js +339 -0
- package/esm2015/shared.js +36 -0
- package/esm5/core/app-messages.js +1 -0
- package/esm5/core/app.messages.js +12 -0
- package/esm5/core/components/abstract-crud.component.js +108 -0
- package/esm5/core/components/abstract-find.component.js +201 -0
- package/esm5/core/components/abstract.component.js +112 -0
- package/esm5/core/components/alert/alert.component.js +25 -0
- package/esm5/core/core.module.js +107 -0
- package/esm5/core/custom-breakpoints.js +87 -0
- package/esm5/core/enums/local-time.enum.js +6 -0
- package/esm5/core/extensions/string.extension.js +37 -0
- package/esm5/core/gipi-components/components/abstract-crud.component.js +122 -0
- package/esm5/core/gipi-components/components/abstract-find.component.js +507 -0
- package/esm5/core/gipi-components/components/abstract.component.js +152 -0
- package/esm5/core/gipi-components/decorators/autowired.decorator.js +52 -0
- package/esm5/core/gipi-components/enums/sort-direction.enum.js +6 -0
- package/esm5/core/gipi-components/interface/abstract-crud.interface.js +1 -0
- package/esm5/core/gipi-components/interface/abstract-find.interface.js +1 -0
- package/esm5/core/gipi-components/interface/abstract.interface.js +1 -0
- package/esm5/core/gipi-components/interface/base-permission.interface.js +1 -0
- package/esm5/core/gipi-components/models/abstract-filter.model.js +7 -0
- package/esm5/core/gipi-components/models/abstract.model.js +7 -0
- package/esm5/core/gipi-components/models/applied-filter.model.js +29 -0
- package/esm5/core/gipi-components/models/dto/abstract.dto.js +7 -0
- package/esm5/core/gipi-components/models/page-event.model.js +49 -0
- package/esm5/core/gipi-components/models/page.model.js +9 -0
- package/esm5/core/gipi-components/models/sort.model.js +9 -0
- package/esm5/core/gipi-components/services/abstract-crud.service.js +114 -0
- package/esm5/core/gipi-components/services/abstract.service.js +49 -0
- package/esm5/core/gipi-components/services/base.service.js +143 -0
- package/esm5/core/gipi-components/services/file.service.js +53 -0
- package/esm5/core/gipi-components/services/session-storage.service.js +45 -0
- package/esm5/core/gipi-components/types/generic.type.js +1 -0
- package/esm5/core/gipi-components/types/uuid.type.js +1 -0
- package/esm5/core/guards/auth.guard.js +50 -0
- package/esm5/core/guards/permission.guard.js +74 -0
- package/esm5/core/guards/public.guard.js +47 -0
- package/esm5/core/interceptors/auth.interceptor.js +29 -0
- package/esm5/core/interceptors/error.interceptor.js +129 -0
- package/esm5/core/models/abstract.model.js +7 -0
- package/esm5/core/models/archive.model.js +7 -0
- package/esm5/core/models/authority.model.js +7 -0
- package/esm5/core/models/base-user.model.js +13 -0
- package/esm5/core/models/dto/abstract.dto.js +7 -0
- package/esm5/core/models/dto/api-error.dto.js +13 -0
- package/esm5/core/models/dto/api-sub-error.dto.js +11 -0
- package/esm5/core/models/dto/chart.dto.js +11 -0
- package/esm5/core/models/dto/confirmation.dto.js +13 -0
- package/esm5/core/models/dto/dialog.dto.js +11 -0
- package/esm5/core/models/dto/filter.dto.js +11 -0
- package/esm5/core/models/dto/input-listbox.dto.js +11 -0
- package/esm5/core/models/dto/menu.dto.js +14 -0
- package/esm5/core/models/dto/message.dto.js +11 -0
- package/esm5/core/models/dto/page.dto.js +14 -0
- package/esm5/core/models/dto/sort.dto.js +14 -0
- package/esm5/core/models/dto/tab.dto.js +15 -0
- package/esm5/core/models/dto/table-column.dto.js +29 -0
- package/esm5/core/models/dto/table-group-header.dto.js +15 -0
- package/esm5/core/models/dto/table-page-event.dto.js +11 -0
- package/esm5/core/models/dto/token.dto.js +11 -0
- package/esm5/core/models/enums/criteria-operation.enum.js +15 -0
- package/esm5/core/models/enums/criteria-sort-direction.enum.js +6 -0
- package/esm5/core/models/enums/menu-type.enum.js +7 -0
- package/esm5/core/models/enums/radio-button.enum.js +8 -0
- package/esm5/core/models/enums/sort-direction.enum.js +6 -0
- package/esm5/core/models/multitenant.model.js +11 -0
- package/esm5/core/models/permission.model.js +16 -0
- package/esm5/core/models/role.model.js +13 -0
- package/esm5/core/pipes/local-time.pipe.js +26 -0
- package/esm5/core/services/abstract-crud.service.js +30 -0
- package/esm5/core/services/abstract-find.service.js +71 -0
- package/esm5/core/services/abstract.service.js +32 -0
- package/esm5/core/services/authentication.service.js +121 -0
- package/esm5/core/services/breakpoint-observer.service.js +52 -0
- package/esm5/core/services/confirmation.service.js +66 -0
- package/esm5/core/services/dialog.service.js +44 -0
- package/esm5/core/services/message.service.js +36 -0
- package/esm5/core/services/nav.service.js +51 -0
- package/esm5/core/services/svg-register.service.js +67 -0
- package/esm5/core/types/local-time.type.js +1 -0
- package/esm5/core/types/ng-class.type.js +1 -0
- package/esm5/core/utils/array.util.js +120 -0
- package/esm5/core/utils/browser.util.js +17 -0
- package/esm5/core/utils/currency.util.js +26 -0
- package/esm5/core/utils/date.util.js +269 -0
- package/esm5/core/utils/document.util.js +157 -0
- package/esm5/core/utils/email.util.js +29 -0
- package/esm5/core/utils/number.util.js +32 -0
- package/esm5/core/utils/object.util.js +204 -0
- package/esm5/core/utils/password.util.js +42 -0
- package/esm5/core/utils/phone.util.js +135 -0
- package/esm5/core/utils/string.util.js +44 -0
- package/esm5/core/utils/table-column-builder.js +87 -0
- package/esm5/core/utils/time.util.js +65 -0
- package/esm5/core/utils/url-params.util.js +16 -0
- package/esm5/core/utils/uuid.util.js +21 -0
- package/esm5/core/utils/zindex.util.js +35 -0
- package/esm5/core.js +89 -0
- package/esm5/gipi-components.js +105 -0
- package/esm5/gipisistemas-ng-core.js +21 -0
- package/esm5/public_api.js +4 -0
- package/esm5/shared/api/generate-id-component.js +16 -0
- package/esm5/shared/api/gipi-ng-config.js +77 -0
- package/esm5/shared/api/overlay-message.js +1 -0
- package/esm5/shared/api/throttle.js +60 -0
- package/esm5/shared/api/translation.js +1 -0
- package/esm5/shared/components/button/button.component.js +111 -0
- package/esm5/shared/components/card/card.component.js +45 -0
- package/esm5/shared/components/checkbox/checkbox.component.js +85 -0
- package/esm5/shared/components/dom/connected-overlay-scroll-handler.js +30 -0
- package/esm5/shared/components/dom/dom-handler.js +573 -0
- package/esm5/shared/components/icon/icon.component.js +38 -0
- package/esm5/shared/components/input/input.component.js +242 -0
- package/esm5/shared/components/input-currency/input-currency.component.js +121 -0
- package/esm5/shared/components/input-file/input-file.component.js +165 -0
- package/esm5/shared/components/loading/loading.component.js +18 -0
- package/esm5/shared/components/loading-overlay/loading-overlay.component.js +23 -0
- package/esm5/shared/components/overlay-panel/overlay-panel.component.js +366 -0
- package/esm5/shared/components/popover/popover-ref.js +28 -0
- package/esm5/shared/components/popover/popover.component.js +35 -0
- package/esm5/shared/components/popover/popover.service.js +88 -0
- package/esm5/shared/components/radio-group-entity/radio-group-entity.component.js +80 -0
- package/esm5/shared/components/radio-group-enum/radio-group-enum.component.js +138 -0
- package/esm5/shared/components/select-button/select-button.component.js +195 -0
- package/esm5/shared/components/select-entity/select-entity.component.js +269 -0
- package/esm5/shared/components/select-entity-paged/select-entity-paged.component.js +453 -0
- package/esm5/shared/components/select-entity-paged/shared/default-options.js +35 -0
- package/esm5/shared/components/select-entity-paged/shared/select-button-add/select-button-add.component.js +72 -0
- package/esm5/shared/components/select-entity-paged/shared/select-button-next-batch/select-button-next-batch.component.js +62 -0
- package/esm5/shared/components/select-entity-paged/shared/select-no-entries-found.directive.js +23 -0
- package/esm5/shared/components/select-entity-paged/shared/select-search/select-search.component.js +590 -0
- package/esm5/shared/components/select-entity-paged/shared/select-search-clear.directive.js +21 -0
- package/esm5/shared/components/select-enum/select-enum.component.js +124 -0
- package/esm5/shared/components/select-month-period/select-month-period.component.js +91 -0
- package/esm5/shared/components/slide-toggle/slide-toggle.component.js +81 -0
- package/esm5/shared/components/stepper/stepper.component.js +36 -0
- package/esm5/shared/components/tab/tab.component.js +58 -0
- package/esm5/shared/components/tab-group/tab-group.component.js +125 -0
- package/esm5/shared/components/table/table.component.js +599 -0
- package/esm5/shared/components/table-scrolled/table-scrolled.component.js +107 -0
- package/esm5/shared/components/textarea/textarea.component.js +174 -0
- package/esm5/shared/directives/dynamic-tab.directive.js +19 -0
- package/esm5/shared/directives/generic-template.directive.js +31 -0
- package/esm5/shared/directives/input-select-infinite-scroll.directive.js +113 -0
- package/esm5/shared/directives/lower-case.directive.js +48 -0
- package/esm5/shared/directives/phone-mask.directive.js +61 -0
- package/esm5/shared/directives/space-drop.directive.js +48 -0
- package/esm5/shared/directives/upper-case.directive.js +48 -0
- package/esm5/shared/gipi-components/abstract-form/abstract-form.component.js +141 -0
- package/esm5/shared/gipi-components/action-row/action-row.component.js +33 -0
- package/esm5/shared/gipi-components/badge/badge.component.js +46 -0
- package/esm5/shared/gipi-components/button/button.component.js +257 -0
- package/esm5/shared/gipi-components/chips/chips.component.js +159 -0
- package/esm5/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.js +46 -0
- package/esm5/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +378 -0
- package/esm5/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range-selection-startegy.js +42 -0
- package/esm5/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range.directive.js +40 -0
- package/esm5/shared/gipi-components/datepicker/date-range-picker/shared/preset-range/preset-range.component.js +291 -0
- package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +252 -0
- package/esm5/shared/gipi-components/datepicker/datepicker.module.js +133 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +349 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/calendar.js +441 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-input-parts.js +339 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +376 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-picker.js +46 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-selection-strategy.js +62 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-selection-model.js +167 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-animations.js +35 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-base.js +586 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-errors.js +14 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-input-base.js +327 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-input.js +199 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-intl.js +52 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker-toggle.js +133 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/datepicker.js +34 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/month-view.js +384 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/multi-year-view.js +324 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-adapter.js +118 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-formats.js +10 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-adapter.js +300 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-formats.js +19 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/platform.js +82 -0
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/year-view.js +313 -0
- package/esm5/shared/gipi-components/dom/connected-overlay-scroll-handler.js +30 -0
- package/esm5/shared/gipi-components/dom/dom-handler.js +681 -0
- package/esm5/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +191 -0
- package/esm5/shared/gipi-components/expansion-panel/expansion-panel.component.js +83 -0
- package/esm5/shared/gipi-components/file-drag-and-drop/file-drag-and-drop.component.js +255 -0
- package/esm5/shared/gipi-components/file-drag-and-drop/shared/file-drag-and-drop.directive.js +93 -0
- package/esm5/shared/gipi-components/footer/footer.component.js +32 -0
- package/esm5/shared/gipi-components/form-field/form-field.component.js +276 -0
- package/esm5/shared/gipi-components/helpful-tip/helpful-tip.component.js +68 -0
- package/esm5/shared/gipi-components/infinite-scroll/infinite-scroll.directive.js +106 -0
- package/esm5/shared/gipi-components/input-checkbox/input-checkbox.component.js +118 -0
- package/esm5/shared/gipi-components/input-currency/input-currency.component.js +207 -0
- package/esm5/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +426 -0
- package/esm5/shared/gipi-components/input-select/input-select.component.js +698 -0
- package/esm5/shared/gipi-components/input-select-enum/input-select-enum.component.js +351 -0
- package/esm5/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +437 -0
- package/esm5/shared/gipi-components/input-select-paged/input-search/input-search.component.js +397 -0
- package/esm5/shared/gipi-components/input-select-paged/input-select-paged.component.js +384 -0
- package/esm5/shared/gipi-components/input-select-radio/input-select-radio.component.js +286 -0
- package/esm5/shared/gipi-components/layout-grid/col.directive.js +164 -0
- package/esm5/shared/gipi-components/layout-grid/row.directive.js +127 -0
- package/esm5/shared/gipi-components/layout-grid/services/breakpoint.service.js +90 -0
- package/esm5/shared/gipi-components/layout-grid/services/resize.service.js +68 -0
- package/esm5/shared/gipi-components/month-year-picker/calendar-month-year/calendar-month-year.component.js +200 -0
- package/esm5/shared/gipi-components/month-year-picker/mont-year-picker.module.js +50 -0
- package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +505 -0
- package/esm5/shared/gipi-components/notification/notification.component.js +106 -0
- package/esm5/shared/gipi-components/novelties/novelties.component.js +111 -0
- package/esm5/shared/gipi-components/overlay/overlay.component.js +670 -0
- package/esm5/shared/gipi-components/overlay/shared/overlay-service.js +22 -0
- package/esm5/shared/gipi-components/overlay/shared/overlay_options.js +1 -0
- package/esm5/shared/gipi-components/password-requeriments/password-requeriments.component.js +157 -0
- package/esm5/shared/gipi-components/popover/popover.component.js +473 -0
- package/esm5/shared/gipi-components/popover/shared/popover-animations.js +29 -0
- package/esm5/shared/gipi-components/popover/shared/popover-errors.js +21 -0
- package/esm5/shared/gipi-components/popover/shared/popover-interfaces.js +1 -0
- package/esm5/shared/gipi-components/popover/shared/popover-target.js +20 -0
- package/esm5/shared/gipi-components/popover/shared/popover-trigger.js +529 -0
- package/esm5/shared/gipi-components/popover/shared/popover-types.js +1 -0
- package/esm5/shared/gipi-components/radio-group/radio-group.component.js +155 -0
- package/esm5/shared/gipi-components/range-page/range-page.component.js +283 -0
- package/esm5/shared/gipi-components/range-slider/range-slider.component.js +364 -0
- package/esm5/shared/gipi-components/select/select.component.js +222 -0
- package/esm5/shared/gipi-components/select-button/select-button.component.js +206 -0
- package/esm5/shared/gipi-components/sidebar/container/container.component.js +96 -0
- package/esm5/shared/gipi-components/sidebar/sidenav/sidenav.component.js +267 -0
- package/esm5/shared/gipi-components/stepper/stepper.component.js +43 -0
- package/esm5/shared/gipi-components/table/components/table-body/table-body.component.js +209 -0
- package/esm5/shared/gipi-components/table/components/table-footer/table-footer.component.js +33 -0
- package/esm5/shared/gipi-components/table/components/table-header/table-header.component.js +155 -0
- package/esm5/shared/gipi-components/table/components/table-pagination/shared/paginate.pipe.js +123 -0
- package/esm5/shared/gipi-components/table/components/table-pagination/shared/pagination-controls.directive.js +228 -0
- package/esm5/shared/gipi-components/table/components/table-pagination/shared/pagination-instance.js +1 -0
- package/esm5/shared/gipi-components/table/components/table-pagination/shared/pagination.service.js +108 -0
- package/esm5/shared/gipi-components/table/components/table-pagination/table-pagination.component.js +116 -0
- package/esm5/shared/gipi-components/table/components/table-progress-bar/table-progress-bar.component.js +33 -0
- package/esm5/shared/gipi-components/table/models/pipe-transform.model.js +1 -0
- package/esm5/shared/gipi-components/table/models/sort.model.js +29 -0
- package/esm5/shared/gipi-components/table/models/sorted-column.model.js +2 -0
- package/esm5/shared/gipi-components/table/models/table-column-builder.model.js +106 -0
- package/esm5/shared/gipi-components/table/models/table-column.model.js +252 -0
- package/esm5/shared/gipi-components/table/table.component.js +161 -0
- package/esm5/shared/gipi-components/table/types/sort-direction.type.js +1 -0
- package/esm5/shared/gipi-components/table/types/sort.type.js +1 -0
- package/esm5/shared/gipi-components/template/template.directive.js +34 -0
- package/esm5/shared/gipi-components/toolbar/toolbar.component.js +56 -0
- package/esm5/shared/gipi-components/top-nav/top-nav.component.js +40 -0
- package/esm5/shared/gipi-components/user-profile/user-profile.component.js +115 -0
- package/esm5/shared/material.module.js +101 -0
- package/esm5/shared/shared.module.js +340 -0
- package/esm5/shared.js +36 -0
- package/fesm2015/gipisistemas-ng-core.js +25941 -0
- package/fesm2015/gipisistemas-ng-core.js.map +1 -0
- package/fesm5/gipisistemas-ng-core.js +27966 -0
- package/fesm5/gipisistemas-ng-core.js.map +1 -0
- package/gipi-components.d.ts +97 -0
- package/gipisistemas-ng-core.d.ts +20 -0
- package/gipisistemas-ng-core.metadata.json +1 -0
- package/package.json +31 -83
- package/public_api.d.ts +3 -0
- package/shared/api/generate-id-component.d.ts +3 -0
- package/shared/api/gipi-ng-config.d.ts +18 -0
- package/shared/api/overlay-message.d.ts +14 -0
- package/shared/api/throttle.d.ts +17 -0
- package/shared/api/translation.d.ts +45 -0
- package/shared/components/button/button.component.d.ts +26 -0
- package/shared/components/card/card.component.d.ts +10 -0
- package/shared/components/checkbox/checkbox.component.d.ts +20 -0
- package/shared/components/dom/connected-overlay-scroll-handler.d.ts +9 -0
- package/shared/components/dom/dom-handler.d.ts +74 -0
- package/shared/components/icon/icon.component.d.ts +9 -0
- package/shared/components/input/input.component.d.ts +52 -0
- package/shared/components/input-currency/input-currency.component.d.ts +29 -0
- package/shared/components/input-file/input-file.component.d.ts +28 -0
- package/shared/components/loading/loading.component.d.ts +4 -0
- package/shared/components/loading-overlay/loading-overlay.component.d.ts +6 -0
- package/shared/components/overlay-panel/overlay-panel.component.d.ts +67 -0
- package/shared/components/popover/popover-ref.d.ts +17 -0
- package/shared/components/popover/popover.component.d.ts +10 -0
- package/shared/components/popover/popover.service.d.ts +23 -0
- package/shared/components/radio-group-entity/radio-group-entity.component.d.ts +19 -0
- package/shared/components/radio-group-enum/radio-group-enum.component.d.ts +30 -0
- package/shared/components/select-button/select-button.component.d.ts +35 -0
- package/shared/components/select-entity/select-entity.component.d.ts +52 -0
- package/shared/components/select-entity-paged/select-entity-paged.component.d.ts +78 -0
- package/shared/components/select-entity-paged/shared/default-options.d.ts +25 -0
- package/shared/components/select-entity-paged/shared/select-button-add/select-button-add.component.d.ts +18 -0
- package/shared/components/select-entity-paged/shared/select-button-next-batch/select-button-next-batch.component.d.ts +16 -0
- package/shared/components/select-entity-paged/shared/select-no-entries-found.directive.d.ts +11 -0
- package/shared/components/select-entity-paged/shared/select-search/select-search.component.d.ts +119 -0
- package/shared/components/select-entity-paged/shared/select-search-clear.directive.d.ts +9 -0
- package/shared/components/select-enum/select-enum.component.d.ts +29 -0
- package/shared/components/select-month-period/select-month-period.component.d.ts +20 -0
- package/shared/components/slide-toggle/slide-toggle.component.d.ts +19 -0
- package/shared/components/stepper/stepper.component.d.ts +7 -0
- package/shared/components/tab/tab.component.d.ts +14 -0
- package/shared/components/tab-group/tab-group.component.d.ts +22 -0
- package/shared/components/table/table.component.d.ts +137 -0
- package/shared/components/table-scrolled/table-scrolled.component.d.ts +31 -0
- package/shared/components/textarea/textarea.component.d.ts +35 -0
- package/shared/directives/dynamic-tab.directive.d.ts +5 -0
- package/shared/directives/generic-template.directive.d.ts +8 -0
- package/shared/directives/input-select-infinite-scroll.directive.d.ts +35 -0
- package/shared/directives/lower-case.directive.d.ts +9 -0
- package/shared/directives/phone-mask.directive.d.ts +8 -0
- package/shared/directives/space-drop.directive.d.ts +9 -0
- package/shared/directives/upper-case.directive.d.ts +9 -0
- package/shared/gipi-components/abstract-form/abstract-form.component.d.ts +21 -0
- package/shared/gipi-components/action-row/action-row.component.d.ts +5 -0
- package/shared/gipi-components/badge/badge.component.d.ts +8 -0
- package/shared/gipi-components/button/button.component.d.ts +56 -0
- package/shared/gipi-components/chips/chips.component.d.ts +37 -0
- package/shared/gipi-components/confirmation-dialog/confirmation-dialog.component.d.ts +11 -0
- package/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.d.ts +71 -0
- package/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range-selection-startegy.d.ts +11 -0
- package/shared/gipi-components/datepicker/date-range-picker/shared/max-range/max-range.directive.d.ts +6 -0
- package/shared/gipi-components/datepicker/date-range-picker/shared/preset-range/preset-range.component.d.ts +40 -0
- package/shared/gipi-components/datepicker/datepicker/datepicker.component.d.ts +49 -0
- package/shared/gipi-components/datepicker/datepicker.module.d.ts +2 -0
- package/shared/gipi-components/datepicker/mat-datepicker/calendar-body.d.ts +143 -0
- package/shared/gipi-components/datepicker/mat-datepicker/calendar.d.ts +152 -0
- package/shared/gipi-components/datepicker/mat-datepicker/date-range-input-parts.d.ts +102 -0
- package/shared/gipi-components/datepicker/mat-datepicker/date-range-input.d.ts +124 -0
- package/shared/gipi-components/datepicker/mat-datepicker/date-range-picker.d.ts +21 -0
- package/shared/gipi-components/datepicker/mat-datepicker/date-range-selection-strategy.d.ts +45 -0
- package/shared/gipi-components/datepicker/mat-datepicker/date-selection-model.d.ts +106 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-animations.d.ts +16 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-base.d.ts +209 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-errors.d.ts +9 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-input-base.d.ts +136 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-input.d.ts +68 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-intl.d.ts +38 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker-toggle.d.ts +39 -0
- package/shared/gipi-components/datepicker/mat-datepicker/datepicker.d.ts +11 -0
- package/shared/gipi-components/datepicker/mat-datepicker/month-view.d.ts +120 -0
- package/shared/gipi-components/datepicker/mat-datepicker/multi-year-view.d.ts +85 -0
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-adapter.d.ts +225 -0
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/date-formats.d.ts +20 -0
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-adapter.d.ts +76 -0
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/native-date-formats.d.ts +9 -0
- package/shared/gipi-components/datepicker/mat-datepicker/shared/adapter/platform.d.ts +33 -0
- package/shared/gipi-components/datepicker/mat-datepicker/year-view.d.ts +97 -0
- package/shared/gipi-components/dom/connected-overlay-scroll-handler.d.ts +9 -0
- package/shared/gipi-components/dom/dom-handler.d.ts +85 -0
- package/shared/gipi-components/dropdown-menu/dropdown-menu.component.d.ts +36 -0
- package/shared/gipi-components/expansion-panel/expansion-panel.component.d.ts +16 -0
- package/shared/gipi-components/file-drag-and-drop/file-drag-and-drop.component.d.ts +43 -0
- package/shared/gipi-components/file-drag-and-drop/shared/file-drag-and-drop.directive.d.ts +13 -0
- package/shared/gipi-components/footer/footer.component.d.ts +5 -0
- package/shared/gipi-components/form-field/form-field.component.d.ts +61 -0
- package/shared/gipi-components/helpful-tip/helpful-tip.component.d.ts +13 -0
- package/shared/gipi-components/infinite-scroll/infinite-scroll.directive.d.ts +27 -0
- package/shared/gipi-components/input-checkbox/input-checkbox.component.d.ts +28 -0
- package/shared/gipi-components/input-currency/input-currency.component.d.ts +48 -0
- package/shared/gipi-components/input-monthpicker/input-monthpicker.component.d.ts +89 -0
- package/shared/gipi-components/input-select/input-select.component.d.ts +120 -0
- package/shared/gipi-components/input-select-enum/input-select-enum.component.d.ts +65 -0
- package/shared/gipi-components/input-select-listbox/input-select-listbox.component.d.ts +85 -0
- package/shared/gipi-components/input-select-paged/input-search/input-search.component.d.ts +77 -0
- package/shared/gipi-components/input-select-paged/input-select-paged.component.d.ts +66 -0
- package/shared/gipi-components/input-select-radio/input-select-radio.component.d.ts +53 -0
- package/shared/gipi-components/layout-grid/col.directive.d.ts +38 -0
- package/shared/gipi-components/layout-grid/row.directive.d.ts +28 -0
- package/shared/gipi-components/layout-grid/services/breakpoint.service.d.ts +30 -0
- package/shared/gipi-components/layout-grid/services/resize.service.d.ts +17 -0
- package/shared/gipi-components/month-year-picker/calendar-month-year/calendar-month-year.component.d.ts +37 -0
- package/shared/gipi-components/month-year-picker/mont-year-picker.module.d.ts +2 -0
- package/shared/gipi-components/month-year-picker/month-year-picker.component.d.ts +104 -0
- package/shared/gipi-components/notification/notification.component.d.ts +21 -0
- package/shared/gipi-components/novelties/novelties.component.d.ts +22 -0
- package/shared/gipi-components/overlay/overlay.component.d.ts +113 -0
- package/shared/gipi-components/overlay/shared/overlay-service.d.ts +6 -0
- package/shared/gipi-components/overlay/shared/overlay_options.d.ts +50 -0
- package/shared/gipi-components/password-requeriments/password-requeriments.component.d.ts +27 -0
- package/shared/gipi-components/popover/popover.component.d.ts +133 -0
- package/shared/gipi-components/popover/shared/popover-animations.d.ts +13 -0
- package/shared/gipi-components/popover/shared/popover-errors.d.ts +14 -0
- package/shared/gipi-components/popover/shared/popover-interfaces.d.ts +43 -0
- package/shared/gipi-components/popover/shared/popover-target.d.ts +5 -0
- package/shared/gipi-components/popover/shared/popover-trigger.d.ts +140 -0
- package/shared/gipi-components/popover/shared/popover-types.d.ts +4 -0
- package/shared/gipi-components/radio-group/radio-group.component.d.ts +33 -0
- package/shared/gipi-components/range-page/range-page.component.d.ts +55 -0
- package/shared/gipi-components/range-slider/range-slider.component.d.ts +57 -0
- package/shared/gipi-components/select/select.component.d.ts +45 -0
- package/shared/gipi-components/select-button/select-button.component.d.ts +39 -0
- package/shared/gipi-components/sidebar/container/container.component.d.ts +15 -0
- package/shared/gipi-components/sidebar/sidenav/sidenav.component.d.ts +40 -0
- package/shared/gipi-components/stepper/stepper.component.d.ts +8 -0
- package/shared/gipi-components/table/components/table-body/table-body.component.d.ts +36 -0
- package/shared/gipi-components/table/components/table-footer/table-footer.component.d.ts +5 -0
- package/shared/gipi-components/table/components/table-header/table-header.component.d.ts +28 -0
- package/shared/gipi-components/table/components/table-pagination/shared/paginate.pipe.d.ts +40 -0
- package/shared/gipi-components/table/components/table-pagination/shared/pagination-controls.directive.d.ts +81 -0
- package/shared/gipi-components/table/components/table-pagination/shared/pagination-instance.d.ts +24 -0
- package/shared/gipi-components/table/components/table-pagination/shared/pagination.service.d.ts +45 -0
- package/shared/gipi-components/table/components/table-pagination/table-pagination.component.d.ts +21 -0
- package/shared/gipi-components/table/components/table-progress-bar/table-progress-bar.component.d.ts +5 -0
- package/shared/gipi-components/table/models/pipe-transform.model.d.ts +3 -0
- package/shared/gipi-components/table/models/sort.model.d.ts +10 -0
- package/shared/gipi-components/table/models/sorted-column.model.d.ts +6 -0
- package/shared/gipi-components/table/models/table-column-builder.model.d.ts +52 -0
- package/shared/gipi-components/table/models/table-column.model.d.ts +74 -0
- package/shared/gipi-components/table/table.component.d.ts +37 -0
- package/shared/gipi-components/table/types/sort-direction.type.d.ts +1 -0
- package/shared/gipi-components/table/types/sort.type.d.ts +1 -0
- package/shared/gipi-components/template/template.directive.d.ts +8 -0
- package/shared/gipi-components/toolbar/toolbar.component.d.ts +11 -0
- package/shared/gipi-components/top-nav/top-nav.component.d.ts +8 -0
- package/shared/gipi-components/user-profile/user-profile.component.d.ts +24 -0
- package/shared/material.module.d.ts +2 -0
- package/shared/shared.module.d.ts +6 -0
- package/shared.d.ts +35 -0
- package/README.md +0 -38
- package/_ITSS-NG-CI-CD.yml +0 -53
- package/_ITSS-NG-CI-PR.yml +0 -53
- package/angular-cli.json +0 -42
- package/azure-pipelines.yml +0 -35
- package/projects/itss-ng/ng-package.json +0 -7
- package/projects/itss-ng/package.json +0 -25
@@ -0,0 +1,20 @@
|
|
1
|
+
import { GIPIIndexableObject } from '../types/ng-class.type';
|
2
|
+
/** @dynamic */
|
3
|
+
export declare class ObjectUtil {
|
4
|
+
static isNull(value: Object): boolean;
|
5
|
+
static isNewModel(value: Object): boolean;
|
6
|
+
static isNotNil<T>(value: T): value is NonNullable<T>;
|
7
|
+
static isNil(value: unknown): value is null | undefined;
|
8
|
+
static clone(value: Object): any;
|
9
|
+
static resolveFieldData(data: any, field: any): any;
|
10
|
+
static isFunction(obj: any): boolean;
|
11
|
+
static equals(obj1: any, obj2: any, field?: string): boolean;
|
12
|
+
static equalsByValue(obj1: any, obj2: any): boolean;
|
13
|
+
static removeAccents(str: any): any;
|
14
|
+
static merge(obj1?: any, obj2?: any): any;
|
15
|
+
/**
|
16
|
+
* Examine se dois objetos são superficialmente igualados.
|
17
|
+
*/
|
18
|
+
static shallowEqual(objA?: GIPIIndexableObject, objB?: GIPIIndexableObject): boolean;
|
19
|
+
static hasPropertyInObj(obj: Object, property: string): boolean;
|
20
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/** @dynamic */
|
2
|
+
export declare class PasswordUtil {
|
3
|
+
static isValid(password: string): boolean;
|
4
|
+
static isValidMinLength(password: string): boolean;
|
5
|
+
static isValidMaxLength(password: string): boolean;
|
6
|
+
static hasUppercase(password: string): boolean;
|
7
|
+
static hasLowercase(password: string): boolean;
|
8
|
+
static hasNumber(password: string): boolean;
|
9
|
+
static hasSpecialChar(password: string): boolean;
|
10
|
+
static hasBackspace(password: string): boolean;
|
11
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import * as libPhone from 'libphonenumber-js';
|
2
|
+
/** @dynamic */
|
3
|
+
export declare class PhoneUtil {
|
4
|
+
static removeCharacters(value: string): string;
|
5
|
+
static maskLib(phoneNumber: string, state?: libPhone.Examples, country?: libPhone.CountryCode): string;
|
6
|
+
static formatLib(phoneNumber: string, country?: libPhone.CountryCode): string;
|
7
|
+
static format(number: string, mask?: string): string;
|
8
|
+
static mask(phone: string): string;
|
9
|
+
static isPossible(phoneNumber: string, country?: libPhone.CountryCode): boolean;
|
10
|
+
static isValid(phoneNumber: string, country?: libPhone.CountryCode): boolean;
|
11
|
+
static getType(phoneNumber: string, country?: libPhone.CountryCode): libPhone.NumberType | null;
|
12
|
+
static isEqual(phoneNumber1: string, phoneNumber2: string, country?: libPhone.CountryCode): boolean;
|
13
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/** @dynamic */
|
2
|
+
export declare class StringUtil {
|
3
|
+
static EMPTY: string;
|
4
|
+
static replaceAccents(value: string): string;
|
5
|
+
static removeAccents(value: string): string;
|
6
|
+
static isEmpty(value: string): boolean;
|
7
|
+
static format(value: string, mask: string): string;
|
8
|
+
static truncateWithEllipses(text: string, max: number): '' | '...';
|
9
|
+
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
2
|
+
import { AbstractModel } from '../models/abstract.model';
|
3
|
+
import { TableColumnDTO } from '../models/dto/table-column.dto';
|
4
|
+
import { BreakpointObserverService } from '../services/breakpoint-observer.service';
|
5
|
+
/** @dynamic */
|
6
|
+
export declare class TableColumnBuilder {
|
7
|
+
private name$;
|
8
|
+
private property$;
|
9
|
+
private value$;
|
10
|
+
private sortable$;
|
11
|
+
private hiddenSm$;
|
12
|
+
private visible$;
|
13
|
+
private width$;
|
14
|
+
private marginLeft$;
|
15
|
+
private marginRight$;
|
16
|
+
private align$;
|
17
|
+
private template$;
|
18
|
+
private templateHeader$;
|
19
|
+
private sliceLength$;
|
20
|
+
private action$;
|
21
|
+
private breakpointObserverService$;
|
22
|
+
constructor(breakpointObserverService?: BreakpointObserverService);
|
23
|
+
static instance(breakpointObserverService?: BreakpointObserverService): TableColumnBuilder;
|
24
|
+
name(name: any): TableColumnBuilder;
|
25
|
+
property(property: any): TableColumnBuilder;
|
26
|
+
value(value: any): TableColumnBuilder;
|
27
|
+
sortable(sortable: boolean): TableColumnBuilder;
|
28
|
+
hiddenSm(hiddenSm: boolean): TableColumnBuilder;
|
29
|
+
visible(visible: boolean): TableColumnBuilder;
|
30
|
+
width(width: number | string): TableColumnBuilder;
|
31
|
+
marginLeft(marginLeft: number | string): TableColumnBuilder;
|
32
|
+
marginRight(marginRight: number | string): TableColumnBuilder;
|
33
|
+
align(align: string): TableColumnBuilder;
|
34
|
+
breakpointWidth(breakpointMap: Map<string, string | number>): TableColumnBuilder;
|
35
|
+
template(template: TemplateRef<any>): TableColumnBuilder;
|
36
|
+
templateHeader(templateHeader: TemplateRef<any>): TableColumnBuilder;
|
37
|
+
sliceLength(sliceLength: number): TableColumnBuilder;
|
38
|
+
action(action: (obj: AbstractModel) => void): TableColumnBuilder;
|
39
|
+
build(): TableColumnDTO;
|
40
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { LocalTimeType } from '../enums/local-time.enum';
|
2
|
+
import { GIPILocalTime } from '../types/local-time.type';
|
3
|
+
/** @dynamic */
|
4
|
+
export declare class TimeUtil {
|
5
|
+
static TIME_FORMAT: string;
|
6
|
+
static format(time: GIPILocalTime | Date, format: LocalTimeType | string, period?: boolean): string;
|
7
|
+
private static _formatDate;
|
8
|
+
private static _padToAnyDigits;
|
9
|
+
}
|
package/core.d.ts
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
export * from './core/app-messages';
|
2
|
+
export * from './core/app.messages';
|
3
|
+
export * from './core/components/abstract-crud.component';
|
4
|
+
export * from './core/components/abstract-find.component';
|
5
|
+
export * from './core/components/abstract.component';
|
6
|
+
export * from './core/components/alert/alert.component';
|
7
|
+
export * from './core/core.module';
|
8
|
+
export * from './core/enums/local-time.enum';
|
9
|
+
export * from './core/guards/auth.guard';
|
10
|
+
export * from './core/guards/permission.guard';
|
11
|
+
export * from './core/guards/public.guard';
|
12
|
+
export * from './core/interceptors/auth.interceptor';
|
13
|
+
export * from './core/interceptors/error.interceptor';
|
14
|
+
export * from './core/models/abstract.model';
|
15
|
+
export * from './core/models/archive.model';
|
16
|
+
export * from './core/models/base-user.model';
|
17
|
+
export * from './core/models/dto/abstract.dto';
|
18
|
+
export * from './core/models/dto/chart.dto';
|
19
|
+
export * from './core/models/dto/confirmation.dto';
|
20
|
+
export * from './core/models/dto/dialog.dto';
|
21
|
+
export * from './core/models/dto/filter.dto';
|
22
|
+
export * from './core/models/dto/input-listbox.dto';
|
23
|
+
export * from './core/models/dto/menu.dto';
|
24
|
+
export * from './core/models/dto/message.dto';
|
25
|
+
export * from './core/models/dto/page.dto';
|
26
|
+
export * from './core/models/dto/sort.dto';
|
27
|
+
export * from './core/models/dto/tab.dto';
|
28
|
+
export * from './core/models/dto/table-column.dto';
|
29
|
+
export * from './core/models/dto/token.dto';
|
30
|
+
export * from './core/models/enums/criteria-operation.enum';
|
31
|
+
export * from './core/models/enums/criteria-sort-direction.enum';
|
32
|
+
export * from './core/models/enums/menu-type.enum';
|
33
|
+
export * from './core/models/enums/radio-button.enum';
|
34
|
+
export * from './core/models/enums/sort-direction.enum';
|
35
|
+
export * from './core/models/multitenant.model';
|
36
|
+
export * from './core/models/permission.model';
|
37
|
+
export * from './core/models/role.model';
|
38
|
+
export * from './core/pipes/local-time.pipe';
|
39
|
+
export * from './core/services/abstract-crud.service';
|
40
|
+
export * from './core/services/abstract-find.service';
|
41
|
+
export * from './core/services/abstract.service';
|
42
|
+
export * from './core/services/authentication.service';
|
43
|
+
export * from './core/services/breakpoint-observer.service';
|
44
|
+
export * from './core/services/confirmation.service';
|
45
|
+
export * from './core/services/dialog.service';
|
46
|
+
export * from './core/services/message.service';
|
47
|
+
export * from './core/services/nav.service';
|
48
|
+
export * from './core/services/svg-register.service';
|
49
|
+
export * from './core/types/local-time.type';
|
50
|
+
export * from './core/utils/array.util';
|
51
|
+
export * from './core/utils/browser.util';
|
52
|
+
export * from './core/utils/currency.util';
|
53
|
+
export * from './core/utils/date.util';
|
54
|
+
export * from './core/utils/document.util';
|
55
|
+
export * from './core/utils/email.util';
|
56
|
+
export * from './core/utils/number.util';
|
57
|
+
export * from './core/utils/object.util';
|
58
|
+
export * from './core/utils/password.util';
|
59
|
+
export * from './core/utils/phone.util';
|
60
|
+
export * from './core/utils/string.util';
|
61
|
+
export * from './core/utils/table-column-builder';
|
62
|
+
export * from './core/utils/time.util';
|
63
|
+
export * from './core/utils/url-params.util';
|
64
|
+
export * from './core/utils/uuid.util';
|
65
|
+
export * from './core/utils/zindex.util';
|
66
|
+
export * from './core/custom-breakpoints';
|
67
|
+
export * from './core/gipi-components/components/abstract-crud.component';
|
68
|
+
export * from './core/gipi-components/components/abstract-find.component';
|
69
|
+
export * from './core/gipi-components/components/abstract.component';
|
70
|
+
export * from './core/gipi-components/decorators/autowired.decorator';
|
71
|
+
export * from './core/gipi-components/enums/sort-direction.enum';
|
72
|
+
export * from './core/gipi-components/interface/abstract-crud.interface';
|
73
|
+
export * from './core/gipi-components/interface/abstract-find.interface';
|
74
|
+
export * from './core/gipi-components/interface/abstract.interface';
|
75
|
+
export * from './core/gipi-components/models/abstract-filter.model';
|
76
|
+
export * from './core/gipi-components/models/abstract.model';
|
77
|
+
export * from './core/gipi-components/models/applied-filter.model';
|
78
|
+
export * from './core/gipi-components/models/dto/abstract.dto';
|
79
|
+
export * from './core/gipi-components/models/page-event.model';
|
80
|
+
export * from './core/gipi-components/models/page.model';
|
81
|
+
export * from './core/gipi-components/models/sort.model';
|
82
|
+
export * from './core/gipi-components/services/abstract-crud.service';
|
83
|
+
export * from './core/gipi-components/services/abstract.service';
|
84
|
+
export * from './core/gipi-components/services/base.service';
|
85
|
+
export * from './core/gipi-components/services/file.service';
|
86
|
+
export * from './core/gipi-components/services/session-storage.service';
|
87
|
+
export * from './core/gipi-components/types/generic.type';
|
88
|
+
export * from './core/gipi-components/types/uuid.type';
|
@@ -0,0 +1 @@
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW1lc3NhZ2VzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsiY29yZS9hcHAtbWVzc2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXBwTWVzc2FnZXMge1xuICAgIFNVQ0NFU1M6IHN0cmluZztcbiAgICBSRVRVUk5fQ09ORklSTUFUSU9OOiBzdHJpbmc7XG4gICAgREVMRVRFX0NPTkZJUk1BVElPTjogc3RyaW5nO1xuICAgIERFTEVURV9BTExfQ09ORklSTUFUSU9OOiBzdHJpbmc7XG4gICAgQlVUVE9OX09LX0NPTkZJUk1BVElPTjogc3RyaW5nO1xuICAgIEJVVFRPTl9DQU5DRUxfQ09ORklSTUFUSU9OOiBzdHJpbmc7XG4gICAgTk9UX1BFUk1JU1NJT046IHN0cmluZztcbn1cbiJdfQ==
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
export const APP_MESSAGES = new InjectionToken('app.messages');
|
3
|
+
export const DEFAULT_MESSAGES = {
|
4
|
+
SUCCESS: 'Operação realizada com sucesso',
|
5
|
+
RETURN_CONFIRMATION: 'Deseja retornar para à tela de consulta?',
|
6
|
+
DELETE_CONFIRMATION: 'Deseja realmente excluir este registro?',
|
7
|
+
DELETE_ALL_CONFIRMATION: 'Deseja realmente excluir os registros selecionados?',
|
8
|
+
BUTTON_OK_CONFIRMATION: 'OK',
|
9
|
+
BUTTON_CANCEL_CONFIRMATION: 'Cancelar',
|
10
|
+
NOT_PERMISSION: 'Infelizmente, esta ação não é permitida para o seu perfil',
|
11
|
+
};
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lc3NhZ2VzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsiY29yZS9hcHAubWVzc2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQWMsY0FBYyxDQUFDLENBQUM7QUFFNUUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQWdCO0lBQ3pDLE9BQU8sRUFBRSxnQ0FBZ0M7SUFDekMsbUJBQW1CLEVBQUUsMENBQTBDO0lBQy9ELG1CQUFtQixFQUFFLHlDQUF5QztJQUM5RCx1QkFBdUIsRUFBRSxxREFBcUQ7SUFDOUUsc0JBQXNCLEVBQUUsSUFBSTtJQUM1QiwwQkFBMEIsRUFBRSxVQUFVO0lBQ3RDLGNBQWMsRUFBRSwyREFBMkQ7Q0FDOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcE1lc3NhZ2VzIH0gZnJvbSAnLi9hcHAtbWVzc2FnZXMnO1xuXG5leHBvcnQgY29uc3QgQVBQX01FU1NBR0VTID0gbmV3IEluamVjdGlvblRva2VuPEFwcE1lc3NhZ2VzPignYXBwLm1lc3NhZ2VzJyk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01FU1NBR0VTOiBBcHBNZXNzYWdlcyA9IHtcbiAgICBTVUNDRVNTOiAnT3BlcmHDp8OjbyByZWFsaXphZGEgY29tIHN1Y2Vzc28nLFxuICAgIFJFVFVSTl9DT05GSVJNQVRJT046ICdEZXNlamEgcmV0b3JuYXIgcGFyYSDDoCB0ZWxhIGRlIGNvbnN1bHRhPycsXG4gICAgREVMRVRFX0NPTkZJUk1BVElPTjogJ0Rlc2VqYSByZWFsbWVudGUgZXhjbHVpciBlc3RlIHJlZ2lzdHJvPycsXG4gICAgREVMRVRFX0FMTF9DT05GSVJNQVRJT046ICdEZXNlamEgcmVhbG1lbnRlIGV4Y2x1aXIgb3MgcmVnaXN0cm9zIHNlbGVjaW9uYWRvcz8nLFxuICAgIEJVVFRPTl9PS19DT05GSVJNQVRJT046ICdPSycsXG4gICAgQlVUVE9OX0NBTkNFTF9DT05GSVJNQVRJT046ICdDYW5jZWxhcicsXG4gICAgTk9UX1BFUk1JU1NJT046ICdJbmZlbGl6bWVudGUsIGVzdGEgYcOnw6NvIG7Do28gw6kgcGVybWl0aWRhIHBhcmEgbyBzZXUgcGVyZmlsJyxcbn07XG4iXX0=
|
@@ -0,0 +1,97 @@
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { EventEmitter, Input, Output } from '@angular/core';
|
3
|
+
import { INJECTOR } from '../../shared/shared.module';
|
4
|
+
import { APP_MESSAGES } from '../app.messages';
|
5
|
+
import { AbstractFindComponent } from './abstract-find.component';
|
6
|
+
export class AbstractCrudComponent extends AbstractFindComponent {
|
7
|
+
constructor(service, messageService, confirmationService, router, activatedRoute) {
|
8
|
+
super(service, messageService, confirmationService, router, activatedRoute);
|
9
|
+
this.service = service;
|
10
|
+
this.messageService = messageService;
|
11
|
+
this.confirmationService = confirmationService;
|
12
|
+
this.router = router;
|
13
|
+
this.activatedRoute = activatedRoute;
|
14
|
+
this.entityChange = new EventEmitter(true);
|
15
|
+
}
|
16
|
+
get entity() {
|
17
|
+
return this.entityValue;
|
18
|
+
}
|
19
|
+
set entity(entity) {
|
20
|
+
this.entityValue = entity;
|
21
|
+
this.entityChange.emit(this.entityValue);
|
22
|
+
}
|
23
|
+
ngOnInit() {
|
24
|
+
super.ngOnInit();
|
25
|
+
this.entity = this.newEntity();
|
26
|
+
this.initializeForm();
|
27
|
+
}
|
28
|
+
save(edit, filter) {
|
29
|
+
try {
|
30
|
+
this.loading = true;
|
31
|
+
this.loadingChange.emit(this.loading);
|
32
|
+
if (filter) {
|
33
|
+
this.page = this.newPage();
|
34
|
+
}
|
35
|
+
this.preSave();
|
36
|
+
this.service.save(this.entity).subscribe(entity => {
|
37
|
+
this.addSuccessMessage(INJECTOR.get(APP_MESSAGES).SUCCESS);
|
38
|
+
if (edit) {
|
39
|
+
this.edit(entity);
|
40
|
+
}
|
41
|
+
else if (filter) {
|
42
|
+
this.find();
|
43
|
+
}
|
44
|
+
else {
|
45
|
+
this.router.navigateByUrl(this.getPath(), { skipLocationChange: true }).then(() => this.router.navigate([this.getPath()]));
|
46
|
+
}
|
47
|
+
}, error => this.handleError(error));
|
48
|
+
}
|
49
|
+
catch (e) {
|
50
|
+
this.handleError(e);
|
51
|
+
}
|
52
|
+
}
|
53
|
+
preSave() { }
|
54
|
+
return() {
|
55
|
+
if (this.isViewing()) {
|
56
|
+
this.router.navigateByUrl(this.service.returnPath, { skipLocationChange: true })
|
57
|
+
.then(() => this.router.navigate([this.service.returnPath]));
|
58
|
+
}
|
59
|
+
else {
|
60
|
+
this.confirmationService.confirm({
|
61
|
+
title: 'Confirmação',
|
62
|
+
message: INJECTOR.get(APP_MESSAGES).RETURN_CONFIRMATION,
|
63
|
+
accept: () => this.router.navigateByUrl(this.service.returnPath, { skipLocationChange: true })
|
64
|
+
.then(() => this.router.navigate([this.service.returnPath]))
|
65
|
+
});
|
66
|
+
}
|
67
|
+
}
|
68
|
+
initializeForm() {
|
69
|
+
this.loading = true;
|
70
|
+
this.loadingChange.emit(this.loading);
|
71
|
+
const id = this.activatedRoute.snapshot.params.id;
|
72
|
+
if (id) {
|
73
|
+
this.service.getOne(id).subscribe(entity => {
|
74
|
+
this.entity = entity;
|
75
|
+
this.afterInitializeForm();
|
76
|
+
this.loading = false;
|
77
|
+
this.loadingChange.emit(this.loading);
|
78
|
+
}, error => this.handleError(error));
|
79
|
+
}
|
80
|
+
else {
|
81
|
+
this.entity = this.newEntity();
|
82
|
+
this.loading = false;
|
83
|
+
this.loadingChange.emit(this.loading);
|
84
|
+
}
|
85
|
+
}
|
86
|
+
afterInitializeForm() { }
|
87
|
+
}
|
88
|
+
__decorate([
|
89
|
+
Output(),
|
90
|
+
__metadata("design:type", EventEmitter)
|
91
|
+
], AbstractCrudComponent.prototype, "entityChange", void 0);
|
92
|
+
__decorate([
|
93
|
+
Input(),
|
94
|
+
__metadata("design:type", Object),
|
95
|
+
__metadata("design:paramtypes", [Object])
|
96
|
+
], AbstractCrudComponent.prototype, "entity", null);
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY3J1ZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJjb3JlL2NvbXBvbmVudHMvYWJzdHJhY3QtY3J1ZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTS9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxFLE1BQU0sT0FBZ0IscUJBQW9FLFNBQVEscUJBQTJCO0lBWXpILFlBQ2MsT0FBa0MsRUFDbEMsY0FBOEIsRUFDOUIsbUJBQXdDLEVBQ3hDLE1BQWMsRUFDZCxjQUE4QjtRQUV4QyxLQUFLLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFObEUsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDbEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQWRsQyxpQkFBWSxHQUFvQixJQUFJLFlBQVksQ0FBSSxJQUFJLENBQUMsQ0FBQztJQWlCcEUsQ0FBQztJQWhCUSxJQUFJLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLE1BQVM7UUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFD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Q0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sRUFBRSxHQUFvQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25FLElBQUksRUFBRSxFQUFFO1lBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztnQkFDckIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3hDO2FBQU07WUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRU0sbUJBQW1CLEtBQVcsQ0FBQztDQUV6QztBQXRGYTtJQUFULE1BQU0sRUFBRTs4QkFBZSxZQUFZOzJEQUFnQztBQUMzRDtJQUFSLEtBQUssRUFBRTs7O21EQUVQIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBJTkpFQ1RPUiB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IEFQUF9NRVNTQUdFUyB9IGZyb20gJy4uL2FwcC5tZXNzYWdlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Fic3RyYWN0Lm1vZGVsJztcbmltcG9ydCB7IEZpbHRlckRUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vZmlsdGVyLmR0byc7XG5pbXBvcnQgeyBBYnN0cmFjdENydWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWJzdHJhY3QtY3J1ZC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpbmRDb21wb25lbnQgfSBmcm9tICcuL2Fic3RyYWN0LWZpbmQuY29tcG9uZW50JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Q3J1ZENvbXBvbmVudDxUIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCwgRiBleHRlbmRzIEZpbHRlckRUTz4gZXh0ZW5kcyBBYnN0cmFjdEZpbmRDb21wb25lbnQ8VCwgRj4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgZW50aXR5VmFsdWU6IFQ7XG4gICAgQE91dHB1dCgpIGVudGl0eUNoYW5nZTogRXZlbnRFbWl0dGVyPFQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUPih0cnVlKTtcbiAgICBASW5wdXQoKSBnZXQgZW50aXR5KCk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnRpdHlWYWx1ZTtcbiAgICB9XG4gICAgc2V0IGVudGl0eShlbnRpdHk6IFQpIHtcbiAgICAgICAgdGhpcy5lbnRpdHlWYWx1ZSA9IGVudGl0eTtcbiAgICAgICAgdGhpcy5lbnRpdHlDaGFuZ2UuZW1pdCh0aGlzLmVudGl0eVZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHNlcnZpY2U6IEFic3RyYWN0Q3J1ZFNlcnZpY2U8VCwgRj4sXG4gICAgICAgIHByb3RlY3RlZCBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByb3RlY3RlZCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgICApIHtcbiAgICAgICAgc3VwZXIoc2VydmljZSwgbWVzc2FnZVNlcnZpY2UsIGNvbmZpcm1hdGlvblNlcnZpY2UsIHJvdXRlciwgYWN0aXZhdGVkUm91dGUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmVudGl0eSA9IHRoaXMubmV3RW50aXR5KCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm0oKTtcbiAgICB9XG5cbiAgICBzYXZlKGVkaXQ/OiBib29sZWFuLCBmaWx0ZXI/OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nKTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSB0aGlzLm5ld1BhZ2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucHJlU2F2ZSgpO1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnNhdmUodGhpcy5lbnRpdHkpLnN1YnNjcmliZShlbnRpdHkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkU3VjY2Vzc01lc3NhZ2UoSU5KRUNUT1IuZ2V0KEFQUF9NRVNTQUdFUykuU1VDQ0VTUyk7XG4gICAgICAgICAgICAgICAgaWYgKGVkaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0KGVudGl0eSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maW5kKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLmdldFBhdGgoKSwgeyBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUgfSkudGhlbigoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5nZXRQYXRoKCldKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgZXJyb3IgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvcikpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJlU2F2ZSgpOiB2b2lkIHsgfVxuXG4gICAgcmV0dXJuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc1ZpZXdpbmcoKSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnNlcnZpY2UucmV0dXJuUGF0aCwgeyBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUgfSlcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5zZXJ2aWNlLnJldHVyblBhdGhdKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdDb25maXJtYcOnw6NvJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5SRVRVUk5fQ09ORklSTUFUSU9OLFxuICAgICAgICAgICAgICAgIGFjY2VwdDogKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnNlcnZpY2UucmV0dXJuUGF0aCwgeyBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUgfSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuc2VydmljZS5yZXR1cm5QYXRoXSkpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBuZXdFbnRpdHkoKTogVDtcblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplRm9ybSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nKTtcbiAgICAgICAgY29uc3QgaWQ6IG51bWJlciB8IHN0cmluZyA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyYW1zLmlkO1xuICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5nZXRPbmUoaWQpLnN1YnNjcmliZShlbnRpdHkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZW50aXR5ID0gZW50aXR5O1xuICAgICAgICAgICAgICAgIHRoaXMuYWZ0ZXJJbml0aWFsaXplRm9ybSgpO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KHRoaXMubG9hZGluZyk7XG4gICAgICAgICAgICB9LCBlcnJvciA9PiB0aGlzLmhhbmRsZUVycm9yKGVycm9yKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVudGl0eSA9IHRoaXMubmV3RW50aXR5KCk7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KHRoaXMubG9hZGluZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWZ0ZXJJbml0aWFsaXplRm9ybSgpOiB2b2lkIHsgfVxuXG59XG4iXX0=
|
@@ -0,0 +1,189 @@
|
|
1
|
+
import { INJECTOR } from '../../shared/shared.module';
|
2
|
+
import { APP_MESSAGES } from '../app.messages';
|
3
|
+
import { PageDTO } from '../models/dto/page.dto';
|
4
|
+
import { SortDTO } from '../models/dto/sort.dto';
|
5
|
+
import { SortDirectionEnum } from '../models/enums/sort-direction.enum';
|
6
|
+
import { ObjectUtil } from '../utils/object.util';
|
7
|
+
import { StringUtil } from '../utils/string.util';
|
8
|
+
import { AbstractComponent } from './abstract.component';
|
9
|
+
export class AbstractFindComponent extends AbstractComponent {
|
10
|
+
constructor(service, messageService, confirmationService, router, activatedRoute) {
|
11
|
+
super(messageService, router, activatedRoute);
|
12
|
+
this.service = service;
|
13
|
+
this.messageService = messageService;
|
14
|
+
this.confirmationService = confirmationService;
|
15
|
+
this.router = router;
|
16
|
+
this.activatedRoute = activatedRoute;
|
17
|
+
}
|
18
|
+
ngOnInit() {
|
19
|
+
super.ngOnInit();
|
20
|
+
this.service.returnPath = this.getPath();
|
21
|
+
this.page = this.newPage();
|
22
|
+
this.filter = this.newFilterDTO();
|
23
|
+
this.getFilterDTOSessionStorage();
|
24
|
+
this.columns = this.createTableColumns();
|
25
|
+
}
|
26
|
+
new() {
|
27
|
+
this.router.navigateByUrl(this.getPath(), { skipLocationChange: true }).then(() => this.router.navigate([this.getPath(), 'new']));
|
28
|
+
}
|
29
|
+
edit(entity) {
|
30
|
+
this.router.navigateByUrl(this.getPath(), { skipLocationChange: true }).then(() => this.router.navigate([this.getPath(), 'edit', entity.id]));
|
31
|
+
}
|
32
|
+
view(entity) {
|
33
|
+
this.router.navigateByUrl(this.getPath(), { skipLocationChange: true }).then(() => this.router.navigate([this.getPath(), 'view', entity.id]));
|
34
|
+
}
|
35
|
+
delete(entity, filter) {
|
36
|
+
this.confirmationService.confirm({
|
37
|
+
title: 'Confirmação',
|
38
|
+
message: INJECTOR.get(APP_MESSAGES).DELETE_CONFIRMATION,
|
39
|
+
accept: () => {
|
40
|
+
try {
|
41
|
+
this.loading = true;
|
42
|
+
this.loadingChange.emit(this.loading);
|
43
|
+
this.page = this.newPage();
|
44
|
+
this.preDelete();
|
45
|
+
this.service.delete(entity.id).subscribe(() => {
|
46
|
+
if (filter) {
|
47
|
+
this.find();
|
48
|
+
}
|
49
|
+
else {
|
50
|
+
this.new();
|
51
|
+
this.loading = false;
|
52
|
+
this.loadingChange.emit(this.loading);
|
53
|
+
}
|
54
|
+
this.addSuccessMessage(INJECTOR.get(APP_MESSAGES).SUCCESS);
|
55
|
+
}, error => {
|
56
|
+
if (this.isFinding()) {
|
57
|
+
this.clear();
|
58
|
+
}
|
59
|
+
this.handleError(error);
|
60
|
+
});
|
61
|
+
}
|
62
|
+
catch (e) {
|
63
|
+
this.handleError(e);
|
64
|
+
}
|
65
|
+
}
|
66
|
+
});
|
67
|
+
}
|
68
|
+
deleteAll(entityList, filter) {
|
69
|
+
this.confirmationService.confirm({
|
70
|
+
title: 'Confirmação',
|
71
|
+
message: INJECTOR.get(APP_MESSAGES).DELETE_ALL_CONFIRMATION,
|
72
|
+
accept: () => {
|
73
|
+
try {
|
74
|
+
this.loading = true;
|
75
|
+
this.loadingChange.emit(this.loading);
|
76
|
+
this.page = this.newPage();
|
77
|
+
this.preDelete();
|
78
|
+
this.service.deleteAll(entityList).subscribe(() => {
|
79
|
+
if (filter) {
|
80
|
+
this.find();
|
81
|
+
}
|
82
|
+
else {
|
83
|
+
this.new();
|
84
|
+
this.loading = false;
|
85
|
+
this.loadingChange.emit(this.loading);
|
86
|
+
}
|
87
|
+
this.addSuccessMessage(INJECTOR.get(APP_MESSAGES).SUCCESS);
|
88
|
+
}, error => {
|
89
|
+
if (this.isFinding()) {
|
90
|
+
this.clear();
|
91
|
+
}
|
92
|
+
this.handleError(error);
|
93
|
+
});
|
94
|
+
}
|
95
|
+
catch (e) {
|
96
|
+
this.handleError(e);
|
97
|
+
}
|
98
|
+
}
|
99
|
+
});
|
100
|
+
}
|
101
|
+
updateStatus(entity, enabled) {
|
102
|
+
this.confirmationService.confirm({
|
103
|
+
title: 'Confirmação',
|
104
|
+
message: `Deseja realmente ${enabled ? 'ativar' : 'inativar'} este registro?`,
|
105
|
+
accept: () => {
|
106
|
+
try {
|
107
|
+
this.loading = true;
|
108
|
+
this.loadingChange.emit(this.loading);
|
109
|
+
this.service.save(entity).subscribe(() => {
|
110
|
+
this.clear();
|
111
|
+
this.addSuccessMessage(INJECTOR.get(APP_MESSAGES).SUCCESS);
|
112
|
+
}, error => {
|
113
|
+
this.clear();
|
114
|
+
this.handleError(error);
|
115
|
+
});
|
116
|
+
}
|
117
|
+
catch (e) {
|
118
|
+
this.handleError(e);
|
119
|
+
}
|
120
|
+
},
|
121
|
+
cancel: () => this.clear()
|
122
|
+
});
|
123
|
+
}
|
124
|
+
preDelete() {
|
125
|
+
}
|
126
|
+
clear() {
|
127
|
+
this.page = this.newPage();
|
128
|
+
this.filter = this.newFilterDTO();
|
129
|
+
this.find();
|
130
|
+
}
|
131
|
+
getPath() {
|
132
|
+
return `${this.activatedRoute.snapshot.parent.parent.url[0].path}/${this.activatedRoute.snapshot.parent.url[0].path}`;
|
133
|
+
}
|
134
|
+
newPage() {
|
135
|
+
return new PageDTO();
|
136
|
+
}
|
137
|
+
newFilterDTO() {
|
138
|
+
return null;
|
139
|
+
}
|
140
|
+
getFilterDTOSessionStorage() {
|
141
|
+
return Promise.resolve();
|
142
|
+
}
|
143
|
+
createTableColumns() {
|
144
|
+
return [];
|
145
|
+
}
|
146
|
+
createSorts() {
|
147
|
+
return [];
|
148
|
+
}
|
149
|
+
find(pageEvent) {
|
150
|
+
this.loading = true;
|
151
|
+
this.loadingChange.emit(this.loading);
|
152
|
+
this.page = this.newPage();
|
153
|
+
if (ObjectUtil.isNull(this.filter)) {
|
154
|
+
this.filter = this.newFilterDTO();
|
155
|
+
}
|
156
|
+
if (ObjectUtil.isNull(pageEvent) && !ObjectUtil.isNull(this.tablePageEventDTO)) {
|
157
|
+
pageEvent = this.tablePageEventDTO;
|
158
|
+
}
|
159
|
+
if (pageEvent) {
|
160
|
+
this.tablePageEventDTO = pageEvent;
|
161
|
+
this.filter.pageNumber = pageEvent.pageIndex;
|
162
|
+
this.filter.pageSize = pageEvent.pageSize;
|
163
|
+
this.filter.offset = pageEvent.pageIndex * pageEvent.pageSize;
|
164
|
+
if (pageEvent.sort) {
|
165
|
+
this.filter.sorts = [new SortDTO(pageEvent.sort.active, StringUtil.isEmpty(pageEvent.sort.direction) ? SortDirectionEnum.DESC : pageEvent.sort.direction.toUpperCase())];
|
166
|
+
}
|
167
|
+
}
|
168
|
+
else {
|
169
|
+
this.filter.pageNumber = 0;
|
170
|
+
this.filter.offset = 0;
|
171
|
+
this.filter.pageSize = 10;
|
172
|
+
}
|
173
|
+
this.service.find(this.filter).subscribe(page => {
|
174
|
+
this.page = page;
|
175
|
+
this.loading = false;
|
176
|
+
this.loadingChange.emit(this.loading);
|
177
|
+
}, error => this.handleError(error));
|
178
|
+
}
|
179
|
+
isFinding() {
|
180
|
+
return this.router.url.split('/').filter(path => path === 'new' || path === 'edit').length === 0;
|
181
|
+
}
|
182
|
+
isViewing() {
|
183
|
+
return this.router.url.split('/').filter(path => path === 'view').length > 0;
|
184
|
+
}
|
185
|
+
isCreating() {
|
186
|
+
return this.router.url.split('/').filter(path => path === 'new').length > 0;
|
187
|
+
}
|
188
|
+
}
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZmluZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJjb3JlL2NvbXBvbmVudHMvYWJzdHJhY3QtZmluZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsTUFBTSxPQUFnQixxQkFBb0UsU0FBUSxpQkFBaUI7SUFVL0csWUFDYyxPQUFrQyxFQUNsQyxjQUE4QixFQUM5QixtQkFBd0MsRUFDeEMsTUFBYyxFQUNkLGNBQThCO1FBRXhDLEtBQUssQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBTnBDLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFHNUMsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFB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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBJTkpFQ1RPUiB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IEFQUF9NRVNTQUdFUyB9IGZyb20gJy4uL2FwcC5tZXNzYWdlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Fic3RyYWN0Lm1vZGVsJztcbmltcG9ydCB7IEZpbHRlckRUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vZmlsdGVyLmR0byc7XG5pbXBvcnQgeyBQYWdlRFRPIH0gZnJvbSAnLi4vbW9kZWxzL2R0by9wYWdlLmR0byc7XG5pbXBvcnQgeyBTb3J0RFRPIH0gZnJvbSAnLi4vbW9kZWxzL2R0by9zb3J0LmR0byc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbkRUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vdGFibGUtY29sdW1uLmR0byc7XG5pbXBvcnQgeyBUYWJsZVBhZ2VFdmVudERUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vdGFibGUtcGFnZS1ldmVudC5kdG8nO1xuaW1wb3J0IHsgU29ydERpcmVjdGlvbkVudW0gfSBmcm9tICcuLi9tb2RlbHMvZW51bXMvc29ydC1kaXJlY3Rpb24uZW51bSc7XG5pbXBvcnQgeyBBYnN0cmFjdENydWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWJzdHJhY3QtY3J1ZC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi4vdXRpbHMvb2JqZWN0LnV0aWwnO1xuaW1wb3J0IHsgU3RyaW5nVXRpbCB9IGZyb20gJy4uL3V0aWxzL3N0cmluZy51dGlsJztcbmltcG9ydCB7IEFic3RyYWN0Q29tcG9uZW50IH0gZnJvbSAnLi9hYnN0cmFjdC5jb21wb25lbnQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGaW5kQ29tcG9uZW50PFQgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsLCBGIGV4dGVuZHMgRmlsdGVyRFRPPiBleHRlbmRzIEFic3RyYWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIGZpbHRlcjogRjtcblxuICAgIHBhZ2U6IFBhZ2VEVE88VD47XG5cbiAgICBjb2x1bW5zOiBUYWJsZUNvbHVtbkRUT1tdO1xuXG4gICAgdGFibGVQYWdlRXZlbnREVE86IFRhYmxlUGFnZUV2ZW50RFRPO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBzZXJ2aWNlOiBBYnN0cmFjdENydWRTZXJ2aWNlPFQsIEY+LFxuICAgICAgICBwcm90ZWN0ZWQgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICkge1xuICAgICAgICBzdXBlcihtZXNzYWdlU2VydmljZSwgcm91dGVyLCBhY3RpdmF0ZWRSb3V0ZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuc2VydmljZS5yZXR1cm5QYXRoID0gdGhpcy5nZXRQYXRoKCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmV3UGFnZSgpO1xuICAgICAgICB0aGlzLmZpbHRlciA9IHRoaXMubmV3RmlsdGVyRFRPKCk7XG4gICAgICAgIHRoaXMuZ2V0RmlsdGVyRFRPU2Vzc2lvblN0b3JhZ2UoKTtcbiAgICAgICAgdGhpcy5jb2x1bW5zID0gdGhpcy5jcmVhdGVUYWJsZUNvbHVtbnMoKTtcbiAgICB9XG5cbiAgICBuZXcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5nZXRQYXRoKCksIHsgc2tpcExvY2F0aW9uQ2hhbmdlOiB0cnVlIH0pLnRoZW4oXG4gICAgICAgICAgICAoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5nZXRQYXRoKCksICduZXcnXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBlZGl0KGVudGl0eTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMuZ2V0UGF0aCgpLCB7IHNraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZSB9KS50aGVuKFxuICAgICAgICAgICAgKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuZ2V0UGF0aCgpLCAnZWRpdCcsIGVudGl0eS5pZF0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdmlldyhlbnRpdHk6IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLmdldFBhdGgoKSwgeyBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUgfSkudGhlbihcbiAgICAgICAgICAgICgpID0+IHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmdldFBhdGgoKSwgJ3ZpZXcnLCBlbnRpdHkuaWRdKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZShlbnRpdHk6IFQsIGZpbHRlcj86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgdGl0bGU6ICdDb25maXJtYcOnw6NvJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLkRFTEVURV9DT05GSVJNQVRJT04sXG4gICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdCh0aGlzLmxvYWRpbmcpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSB0aGlzLm5ld1BhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmVEZWxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmRlbGV0ZShlbnRpdHkuaWQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maW5kKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV3KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkU3VjY2Vzc01lc3NhZ2UoSU5KRUNUT1IuZ2V0KEFQUF9NRVNTQUdFUykuU1VDQ0VTUyk7XG4gICAgICAgICAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzRmluZGluZygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRlbGV0ZUFsbChlbnRpdHlMaXN0OiBUW10sIGZpbHRlcj86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgdGl0bGU6ICdDb25maXJtYcOnw6NvJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLkRFTEVURV9BTExfQ09ORklSTUFUSU9OLFxuICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlID0gdGhpcy5uZXdQYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJlRGVsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5kZWxldGVBbGwoZW50aXR5TGlzdCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdCh0aGlzLmxvYWRpbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRTdWNjZXNzTWVzc2FnZShJTkpFQ1RPUi5nZXQoQVBQX01FU1NBR0VTKS5TVUNDRVNTKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNGaW5kaW5nKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlU3RhdHVzKGVudGl0eTogVCwgZW5hYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICB0aXRsZTogJ0NvbmZpcm1hw6fDo28nLFxuICAgICAgICAgICAgbWVzc2FnZTogYERlc2VqYSByZWFsbWVudGUgJHtlbmFibGVkID8gJ2F0aXZhcicgOiAnaW5hdGl2YXInfSBlc3RlIHJlZ2lzdHJvP2AsXG4gICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdCh0aGlzLmxvYWRpbmcpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2Uuc2F2ZShlbnRpdHkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFN1Y2Nlc3NNZXNzYWdlKElOSkVDVE9SLmdldChBUFBfTUVTU0FHRVMpLlNVQ0NFU1MpO1xuICAgICAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjYW5jZWw6ICgpID0+IHRoaXMuY2xlYXIoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcmVEZWxldGUoKTogdm9pZCB7XG4gICAgfVxuXG4gICAgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZSA9IHRoaXMubmV3UGFnZSgpO1xuICAgICAgICB0aGlzLmZpbHRlciA9IHRoaXMubmV3RmlsdGVyRFRPKCk7XG4gICAgICAgIHRoaXMuZmluZCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRQYXRoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmVudC5wYXJlbnQudXJsWzBdLnBhdGh9LyR7dGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJlbnQudXJsWzBdLnBhdGh9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbmV3UGFnZSgpOiBQYWdlRFRPPFQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQYWdlRFRPPFQ+KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG5ld0ZpbHRlckRUTygpOiBGIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZpbHRlckRUT1Nlc3Npb25TdG9yYWdlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVRhYmxlQ29sdW1ucygpOiBUYWJsZUNvbHVtbkRUT1tdIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVTb3J0cygpOiBTb3J0RFRPW10ge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgZmluZChwYWdlRXZlbnQ/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nKTtcbiAgICAgICAgdGhpcy5wYWdlID0gdGhpcy5uZXdQYWdlKCk7XG4gICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbCh0aGlzLmZpbHRlcikpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyID0gdGhpcy5uZXdGaWx0ZXJEVE8oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChPYmplY3RVdGlsLmlzTnVsbChwYWdlRXZlbnQpICYmICFPYmplY3RVdGlsLmlzTnVsbCh0aGlzLnRhYmxlUGFnZUV2ZW50RFRPKSkge1xuICAgICAgICAgICAgcGFnZUV2ZW50ID0gdGhpcy50YWJsZVBhZ2VFdmVudERUTztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYWdlRXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMudGFibGVQYWdlRXZlbnREVE8gPSBwYWdlRXZlbnQ7XG4gICAgICAgICAgICB0aGlzLmZpbHRlci5wYWdlTnVtYmVyID0gcGFnZUV2ZW50LnBhZ2VJbmRleDtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyLnBhZ2VTaXplID0gcGFnZUV2ZW50LnBhZ2VTaXplO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXIub2Zmc2V0ID0gcGFnZUV2ZW50LnBhZ2VJbmRleCAqIHBhZ2VFdmVudC5wYWdlU2l6ZTtcbiAgICAgICAgICAgIGlmIChwYWdlRXZlbnQuc29ydCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyLnNvcnRzID0gW25ldyBTb3J0RFRPKFxuICAgICAgICAgICAgICAgICAgICBwYWdlRXZlbnQuc29ydC5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgIFN0cmluZ1V0aWwuaXNFbXB0eShwYWdlRXZlbnQuc29ydC5kaXJlY3Rpb24pID8gU29ydERpcmVjdGlvbkVudW0uREVTQyA6IHBhZ2VFdmVudC5zb3J0LmRpcmVjdGlvbi50b1VwcGVyQ2FzZSgpXG4gICAgICAgICAgICAgICAgKV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlci5wYWdlTnVtYmVyID0gMDtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyLm9mZnNldCA9IDA7XG4gICAgICAgICAgICB0aGlzLmZpbHRlci5wYWdlU2l6ZSA9IDEwO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VydmljZS5maW5kKHRoaXMuZmlsdGVyKS5zdWJzY3JpYmUocGFnZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdCh0aGlzLmxvYWRpbmcpO1xuICAgICAgICB9LCBlcnJvciA9PiB0aGlzLmhhbmRsZUVycm9yKGVycm9yKSk7XG4gICAgfVxuXG4gICAgaXNGaW5kaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJykuZmlsdGVyKHBhdGggPT4gcGF0aCA9PT0gJ25ldycgfHwgcGF0aCA9PT0gJ2VkaXQnKS5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgaXNWaWV3aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJykuZmlsdGVyKHBhdGggPT4gcGF0aCA9PT0gJ3ZpZXcnKS5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGlzQ3JlYXRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci51cmwuc3BsaXQoJy8nKS5maWx0ZXIocGF0aCA9PiBwYXRoID09PSAnbmV3JykubGVuZ3RoID4gMDtcbiAgICB9XG5cbn1cbiJdfQ==
|