ngx-wapp-components 1.8.2 → 1.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ng-package.json +7 -0
- package/package.json +46 -53
- package/src/lib/button/w-button/w-button.component.html +85 -0
- package/src/lib/button/w-button/w-button.component.scss +227 -0
- package/src/lib/button/w-button/w-button.component.spec.ts +23 -0
- package/src/lib/button/w-button/w-button.component.ts +40 -0
- package/src/lib/button/w-buttons-footer/w-buttons-footer.component.html +3 -0
- package/src/lib/button/w-buttons-footer/w-buttons-footer.component.scss +11 -0
- package/src/lib/button/w-buttons-footer/w-buttons-footer.component.spec.ts +23 -0
- package/src/lib/button/w-buttons-footer/w-buttons-footer.component.ts +10 -0
- package/src/lib/button/w-radio-button/w-radio-button.component.html +31 -0
- package/src/lib/button/w-radio-button/w-radio-button.component.scss +114 -0
- package/src/lib/button/w-radio-button/w-radio-button.component.spec.ts +23 -0
- package/src/lib/button/w-radio-button/w-radio-button.component.ts +73 -0
- package/src/lib/button/w-select-button/w-select-button.component.html +29 -0
- package/src/lib/button/w-select-button/w-select-button.component.scss +64 -0
- package/src/lib/button/w-select-button/w-select-button.component.spec.ts +23 -0
- package/src/lib/button/w-select-button/w-select-button.component.ts +65 -0
- package/src/lib/button/w-toggle-button/w-toggle-button.component.html +33 -0
- package/src/lib/button/w-toggle-button/w-toggle-button.component.scss +116 -0
- package/src/lib/button/w-toggle-button/w-toggle-button.component.spec.ts +23 -0
- package/src/lib/button/w-toggle-button/w-toggle-button.component.ts +75 -0
- package/src/lib/edit/w-edit-calendar/w-edit-calendar.component.html +47 -0
- package/src/lib/edit/w-edit-calendar/w-edit-calendar.component.scss +96 -0
- package/src/lib/edit/w-edit-calendar/w-edit-calendar.component.spec.ts +23 -0
- package/src/lib/edit/w-edit-calendar/w-edit-calendar.component.ts +77 -0
- package/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.html +55 -0
- package/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.scss +127 -0
- package/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.spec.ts +23 -0
- package/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.ts +70 -0
- package/src/lib/edit/w-edit-input-number/w-edit-input-number.component.html +68 -0
- package/src/lib/edit/w-edit-input-number/w-edit-input-number.component.scss +247 -0
- package/src/lib/edit/w-edit-input-number/w-edit-input-number.component.spec.ts +23 -0
- package/src/lib/edit/w-edit-input-number/w-edit-input-number.component.ts +86 -0
- package/src/lib/edit/w-edit-input-text/w-edit-input-text.component.html +65 -0
- package/src/lib/edit/w-edit-input-text/w-edit-input-text.component.scss +220 -0
- package/src/lib/edit/w-edit-input-text/w-edit-input-text.component.spec.ts +23 -0
- package/src/lib/edit/w-edit-input-text/w-edit-input-text.component.ts +91 -0
- package/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.html +106 -0
- package/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.scss +213 -0
- package/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.spec.ts +23 -0
- package/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.ts +72 -0
- package/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.html +73 -0
- package/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.scss +330 -0
- package/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.spec.ts +23 -0
- package/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.ts +83 -0
- package/src/lib/edit/w-edit-select/w-edit-select.component.html +70 -0
- package/src/lib/edit/w-edit-select/w-edit-select.component.scss +188 -0
- package/src/lib/edit/w-edit-select/w-edit-select.component.spec.ts +23 -0
- package/src/lib/edit/w-edit-select/w-edit-select.component.ts +85 -0
- package/src/lib/edit/w-edit-toggle/w-edit-toggle.component.html +55 -0
- package/src/lib/edit/w-edit-toggle/w-edit-toggle.component.scss +86 -0
- package/src/lib/edit/w-edit-toggle/w-edit-toggle.component.spec.ts +23 -0
- package/src/lib/edit/w-edit-toggle/w-edit-toggle.component.ts +71 -0
- package/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.html +72 -0
- package/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.scss +205 -0
- package/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.spec.ts +23 -0
- package/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.ts +81 -0
- package/src/lib/file/w-image-cropper/w-image-cropper.component.html +150 -0
- package/src/lib/file/w-image-cropper/w-image-cropper.component.scss +55 -0
- package/src/lib/file/w-image-cropper/w-image-cropper.component.spec.ts +23 -0
- package/src/lib/file/w-image-cropper/w-image-cropper.component.ts +259 -0
- package/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.html +100 -0
- package/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.scss +77 -0
- package/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.spec.ts +23 -0
- package/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.ts +388 -0
- package/src/lib/file/w-preview-image/w-preview-image.component.css +0 -0
- package/src/lib/file/w-preview-image/w-preview-image.component.html +5 -0
- package/src/lib/file/w-preview-image/w-preview-image.component.spec.ts +23 -0
- package/src/lib/file/w-preview-image/w-preview-image.component.ts +17 -0
- package/src/lib/icons/icons.ts +116 -0
- package/src/lib/icons/wapping-icons/w-icons.component.ts +52 -0
- package/src/lib/layout/w-body/w-body.component.html +3 -0
- package/src/lib/layout/w-body/w-body.component.scss +13 -0
- package/src/lib/layout/w-body/w-body.component.spec.ts +23 -0
- package/src/lib/layout/w-body/w-body.component.ts +10 -0
- package/src/lib/layout/w-body-container/w-body-container.component.html +3 -0
- package/src/lib/layout/w-body-container/w-body-container.component.scss +58 -0
- package/src/lib/layout/w-body-container/w-body-container.component.spec.ts +23 -0
- package/src/lib/layout/w-body-container/w-body-container.component.ts +10 -0
- package/src/lib/layout/w-body-grid/w-body-grid.component.html +3 -0
- package/src/lib/layout/w-body-grid/w-body-grid.component.scss +59 -0
- package/src/lib/layout/w-body-grid/w-body-grid.component.spec.ts +23 -0
- package/src/lib/layout/w-body-grid/w-body-grid.component.ts +10 -0
- package/src/lib/layout/w-container/w-container.component.scss +9 -0
- package/src/lib/layout/w-container/w-container.component.ts +14 -0
- package/src/lib/layout/w-footer/w-footer.component.html +11 -0
- package/src/lib/layout/w-footer/w-footer.component.scss +17 -0
- package/src/lib/layout/w-footer/w-footer.component.spec.ts +23 -0
- package/src/lib/layout/w-footer/w-footer.component.ts +19 -0
- package/src/lib/layout/w-header-panel/w-header-panel.component.html +9 -0
- package/src/lib/layout/w-header-panel/w-header-panel.component.scss +29 -0
- package/src/lib/layout/w-header-panel/w-header-panel.component.spec.ts +23 -0
- package/src/lib/layout/w-header-panel/w-header-panel.component.ts +27 -0
- package/src/lib/layout/w-navbar/w-navbar.component.html +26 -0
- package/src/lib/layout/w-navbar/w-navbar.component.scss +26 -0
- package/src/lib/layout/w-navbar/w-navbar.component.spec.ts +23 -0
- package/src/lib/layout/w-navbar/w-navbar.component.ts +48 -0
- package/src/lib/layout/w-panel/w-panel.component.html +14 -0
- package/src/lib/layout/w-panel/w-panel.component.scss +122 -0
- package/src/lib/layout/w-panel/w-panel.component.spec.ts +23 -0
- package/src/lib/layout/w-panel/w-panel.component.ts +47 -0
- package/src/lib/layout/w-panel-grid/w-panel-grid.component.html +3 -0
- package/src/lib/layout/w-panel-grid/w-panel-grid.component.scss +58 -0
- package/src/lib/layout/w-panel-grid/w-panel-grid.component.spec.ts +23 -0
- package/src/lib/layout/w-panel-grid/w-panel-grid.component.ts +10 -0
- package/src/lib/layout/w-panel-subtitle/w-panel-subtitle.component.html +1 -0
- package/src/lib/layout/w-panel-subtitle/w-panel-subtitle.component.scss +6 -0
- package/src/lib/layout/w-panel-subtitle/w-panel-subtitle.component.spec.ts +23 -0
- package/src/lib/layout/w-panel-subtitle/w-panel-subtitle.component.ts +11 -0
- package/src/lib/layout/w-panel-title/w-panel-title.component.html +1 -0
- package/src/lib/layout/w-panel-title/w-panel-title.component.scss +6 -0
- package/src/lib/layout/w-panel-title/w-panel-title.component.spec.ts +23 -0
- package/src/lib/layout/w-panel-title/w-panel-title.component.ts +11 -0
- package/src/lib/logos/logos.ts +7 -0
- package/src/lib/logos/wapping-logos/w-logos.component.ts +47 -0
- package/src/lib/maps/w-maps/w-maps.component.html +43 -0
- package/src/lib/maps/w-maps/w-maps.component.scss +163 -0
- package/src/lib/maps/w-maps/w-maps.component.spec.ts +23 -0
- package/src/lib/maps/w-maps/w-maps.component.ts +151 -0
- package/src/lib/misc/w-badge/w-badge.component.html +3 -0
- package/src/lib/misc/w-badge/w-badge.component.scss +162 -0
- package/src/lib/misc/w-badge/w-badge.component.spec.ts +23 -0
- package/src/lib/misc/w-badge/w-badge.component.ts +13 -0
- package/src/lib/misc/w-chip/w-chip.component.html +27 -0
- package/src/lib/misc/w-chip/w-chip.component.scss +38 -0
- package/src/lib/misc/w-chip/w-chip.component.spec.ts +23 -0
- package/src/lib/misc/w-chip/w-chip.component.ts +35 -0
- package/src/lib/misc/w-filter-panel/w-filter-panel.component.html +312 -0
- package/src/lib/misc/w-filter-panel/w-filter-panel.component.scss +356 -0
- package/src/lib/misc/w-filter-panel/w-filter-panel.component.spec.ts +23 -0
- package/src/lib/misc/w-filter-panel/w-filter-panel.component.ts +457 -0
- package/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.html +21 -0
- package/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.scss +64 -0
- package/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.spec.ts +23 -0
- package/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.ts +73 -0
- package/src/lib/misc/w-timeline/w-timeline.component.html +44 -0
- package/src/lib/misc/w-timeline/w-timeline.component.scss +61 -0
- package/src/lib/misc/w-timeline/w-timeline.component.spec.ts +23 -0
- package/src/lib/misc/w-timeline/w-timeline.component.ts +27 -0
- package/src/lib/misc/w-wizard/w-wizard.component.html +72 -0
- package/src/lib/misc/w-wizard/w-wizard.component.scss +31 -0
- package/src/lib/misc/w-wizard/w-wizard.component.spec.ts +23 -0
- package/src/lib/misc/w-wizard/w-wizard.component.ts +55 -0
- package/src/lib/report/w-powerbi-report/w-powerbi-report.component.css +18 -0
- package/src/lib/report/w-powerbi-report/w-powerbi-report.component.html +52 -0
- package/src/lib/report/w-powerbi-report/w-powerbi-report.component.spec.ts +23 -0
- package/src/lib/report/w-powerbi-report/w-powerbi-report.component.ts +175 -0
- package/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.html +92 -0
- package/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.scss +144 -0
- package/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.spec.ts +23 -0
- package/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.ts +94 -0
- package/src/lib/search/w-input-search/w-input-search.component.html +140 -0
- package/src/lib/search/w-input-search/w-input-search.component.scss +198 -0
- package/src/lib/search/w-input-search/w-input-search.component.spec.ts +23 -0
- package/src/lib/search/w-input-search/w-input-search.component.ts +86 -0
- package/src/lib/shared/components/w-address-field/w-address-field.component.html +11 -0
- package/src/lib/shared/components/w-address-field/w-address-field.component.scss +24 -0
- package/src/lib/shared/components/w-address-field/w-address-field.component.spec.ts +23 -0
- package/src/lib/shared/components/w-address-field/w-address-field.component.ts +266 -0
- package/src/lib/shared/enums/enum.ts +18 -0
- package/src/lib/shared/models/action-button-response.model.ts +4 -0
- package/src/lib/shared/models/action-button.model.ts +5 -0
- package/src/lib/shared/models/address-maps.model.ts +14 -0
- package/src/lib/shared/models/back-button-config.model.ts +5 -0
- package/{lib/shared/models/components-tenant-storage.model.d.ts → src/lib/shared/models/components-tenant-storage.model.ts} +3 -2
- package/src/lib/shared/models/custom-button-config.model.ts +4 -0
- package/src/lib/shared/models/customer-address.model.ts +16 -0
- package/{lib/shared/models/embed-config.model.d.ts → src/lib/shared/models/embed-config.model.ts} +2 -2
- package/{lib/shared/models/enums.model.d.ts → src/lib/shared/models/enums.model.ts} +30 -23
- package/{lib/shared/models/filter-panel/field.model.d.ts → src/lib/shared/models/filter-panel/field.model.ts} +20 -2
- package/src/lib/shared/models/filter-panel/filter-field.models.ts +15 -0
- package/src/lib/shared/models/filter-panel/filter-panel-translations.model.ts +29 -0
- package/src/lib/shared/models/filter-panel/gmarealevel1.model.ts +4 -0
- package/src/lib/shared/models/filter-panel/gmarealevel2.model.ts +4 -0
- package/src/lib/shared/models/filter-panel/gmcountry-model.ts +4 -0
- package/src/lib/shared/models/filter-panel/gmlocality.model.ts +4 -0
- package/src/lib/shared/models/filter-panel/gmpostalcode.model.ts +4 -0
- package/src/lib/shared/models/filter-panel/last-query.model.ts +6 -0
- package/src/lib/shared/models/filter-panel/qb-filter-entity.model.ts +8 -0
- package/src/lib/shared/models/filter-panel/qb-filter-field.model.ts +12 -0
- package/src/lib/shared/models/filter-panel/qb-operators.model.ts +4 -0
- package/src/lib/shared/models/filter-panel/qb-panel-filter.model.ts +14 -0
- package/src/lib/shared/models/filter-panel/qb-panel-to-fields.model.ts +12 -0
- package/src/lib/shared/models/filter-panel/query-results.model.ts +17 -0
- package/src/lib/shared/models/filter.model.ts +5 -0
- package/src/lib/shared/models/image-b64.model.ts +5 -0
- package/src/lib/shared/models/lazy-element-query-request.model.ts +9 -0
- package/src/lib/shared/models/stored-filter-panel-query.model.ts +6 -0
- package/src/lib/shared/models/w-file-b64.model.ts +6 -0
- package/src/lib/shared/models/w-image-cropper-data.model.ts +7 -0
- package/src/lib/shared/models/w-image-file-uploader-config.model.ts +23 -0
- package/src/lib/shared/models/w-select-button-state.model.ts +4 -0
- package/{lib/shared/models/w-timeline-event-item.model.d.ts → src/lib/shared/models/w-timeline-event-item.model.ts} +3 -2
- package/src/lib/shared/models/w-tree-table.model.ts +38 -0
- package/src/lib/shared/models/wapp-table-lazy-loading.model.ts +57 -0
- package/src/lib/shared/models/wapp-table.model.ts +60 -0
- package/src/lib/shared/pipes/color-text.pipe.ts +20 -0
- package/src/lib/shared/pipes/w-date.pipe.ts +42 -0
- package/src/lib/shared/pipes/w-summary.pipe.ts +11 -0
- package/src/lib/shared/service/api/api.service.ts +116 -0
- package/src/lib/shared/services/form-control.service.spec.ts +16 -0
- package/src/lib/shared/services/form-control.service.ts +15 -0
- package/src/lib/shared/services/modal.service.spec.ts +16 -0
- package/src/lib/shared/services/modal.service.ts +71 -0
- package/src/lib/shared/services/session-storage.service.spec.ts +16 -0
- package/src/lib/shared/services/session-storage.service.ts +49 -0
- package/src/lib/shared/services/tree.service.ts +30 -0
- package/src/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.css +0 -0
- package/src/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.html +26 -0
- package/src/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.ts +15 -0
- package/src/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.css +0 -0
- package/src/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.html +37 -0
- package/src/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.ts +10 -0
- package/src/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.css +0 -0
- package/src/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.html +3 -0
- package/src/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.ts +17 -0
- package/src/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.css +0 -0
- package/src/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.html +3 -0
- package/src/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.ts +10 -0
- package/src/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.css +0 -0
- package/src/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.html +3 -0
- package/src/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.ts +10 -0
- package/src/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.css +4 -0
- package/src/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.html +6 -0
- package/src/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.ts +13 -0
- package/src/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.css +0 -0
- package/src/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.html +12 -0
- package/src/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.ts +13 -0
- package/src/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.css +0 -0
- package/src/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.html +10 -0
- package/src/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.ts +10 -0
- package/src/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.css +0 -0
- package/src/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.html +14 -0
- package/src/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.ts +10 -0
- package/src/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.css +0 -0
- package/src/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.html +41 -0
- package/src/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.ts +13 -0
- package/src/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.html +8 -0
- package/src/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.scss +26 -0
- package/src/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.ts +14 -0
- package/src/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.css +0 -0
- package/src/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.html +11 -0
- package/src/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.ts +16 -0
- package/src/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.css +0 -0
- package/src/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.html +10 -0
- package/src/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.ts +18 -0
- package/src/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.css +0 -0
- package/src/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.html +55 -0
- package/src/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.spec.ts +23 -0
- package/src/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.ts +10 -0
- package/src/lib/sidebar/w-sidebar/w-sidebar.component.html +26 -0
- package/src/lib/sidebar/w-sidebar/w-sidebar.component.scss +89 -0
- package/src/lib/sidebar/w-sidebar/w-sidebar.component.spec.ts +23 -0
- package/src/lib/sidebar/w-sidebar/w-sidebar.component.ts +58 -0
- package/src/lib/tables/w-table/w-table.component.html +272 -0
- package/src/lib/tables/w-table/w-table.component.scss +323 -0
- package/src/lib/tables/w-table/w-table.component.spec.ts +23 -0
- package/src/lib/tables/w-table/w-table.component.ts +238 -0
- package/src/lib/tables/w-table-lazy/w-table-lazy.component.html +253 -0
- package/src/lib/tables/w-table-lazy/w-table-lazy.component.scss +295 -0
- package/src/lib/tables/w-table-lazy/w-table-lazy.component.spec.ts +23 -0
- package/src/lib/tables/w-table-lazy/w-table-lazy.component.ts +269 -0
- package/src/lib/tables/w-tree-table/w-tree-table.component.html +289 -0
- package/src/lib/tables/w-tree-table/w-tree-table.component.scss +283 -0
- package/src/lib/tables/w-tree-table/w-tree-table.component.spec.ts +23 -0
- package/src/lib/tables/w-tree-table/w-tree-table.component.ts +173 -0
- package/src/lib/tabview/w-tabview/w-tabview.component.html +72 -0
- package/src/lib/tabview/w-tabview/w-tabview.component.scss +39 -0
- package/src/lib/tabview/w-tabview/w-tabview.component.spec.ts +23 -0
- package/src/lib/tabview/w-tabview/w-tabview.component.ts +14 -0
- package/src/lib/theme/theme.component.css +0 -0
- package/src/lib/theme/theme.component.html +1 -0
- package/src/lib/theme/theme.component.spec.ts +23 -0
- package/src/lib/theme/theme.component.ts +10 -0
- package/src/lib/tree/w-tree/w-tree.component.html +50 -0
- package/src/lib/tree/w-tree/w-tree.component.scss +114 -0
- package/src/lib/tree/w-tree/w-tree.component.spec.ts +23 -0
- package/src/lib/tree/w-tree/w-tree.component.ts +84 -0
- package/src/lib/view/w-view-boolean/w-view-boolean.component.html +27 -0
- package/src/lib/view/w-view-boolean/w-view-boolean.component.scss +38 -0
- package/src/lib/view/w-view-boolean/w-view-boolean.component.spec.ts +23 -0
- package/src/lib/view/w-view-boolean/w-view-boolean.component.ts +31 -0
- package/src/lib/view/w-view-card-title-text/w-view-card-title-text.component.html +1 -0
- package/src/lib/view/w-view-card-title-text/w-view-card-title-text.component.scss +5 -0
- package/src/lib/view/w-view-card-title-text/w-view-card-title-text.component.spec.ts +23 -0
- package/src/lib/view/w-view-card-title-text/w-view-card-title-text.component.ts +16 -0
- package/src/lib/view/w-view-text/w-view-text.component.html +18 -0
- package/src/lib/view/w-view-text/w-view-text.component.scss +42 -0
- package/src/lib/view/w-view-text/w-view-text.component.spec.ts +23 -0
- package/src/lib/view/w-view-text/w-view-text.component.ts +12 -0
- package/src/lib/w-clipboard/w-clipboard.component.css +12 -0
- package/src/lib/w-clipboard/w-clipboard.component.html +10 -0
- package/src/lib/w-clipboard/w-clipboard.component.spec.ts +23 -0
- package/src/lib/w-clipboard/w-clipboard.component.ts +32 -0
- package/src/lib/wapp-components.component.spec.ts +23 -0
- package/src/lib/wapp-components.component.ts +15 -0
- package/src/lib/wapp-components.module.ts +337 -0
- package/src/lib/wapp-components.service.spec.ts +16 -0
- package/src/lib/wapp-components.service.ts +9 -0
- package/{public-api.d.ts → src/public-api.ts} +20 -6
- package/src/styles/_variables.scss +674 -0
- package/tsconfig.lib.json +14 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/esm2020/lib/button/w-button/w-button.component.mjs +0 -67
- package/esm2020/lib/button/w-buttons-footer/w-buttons-footer.component.mjs +0 -11
- package/esm2020/lib/button/w-radio-button/w-radio-button.component.mjs +0 -86
- package/esm2020/lib/button/w-select-button/w-select-button.component.mjs +0 -84
- package/esm2020/lib/button/w-toggle-button/w-toggle-button.component.mjs +0 -102
- package/esm2020/lib/edit/w-edit-calendar/w-edit-calendar.component.mjs +0 -119
- package/esm2020/lib/edit/w-edit-checkbox/w-edit-checkbox.component.mjs +0 -89
- package/esm2020/lib/edit/w-edit-input-number/w-edit-input-number.component.mjs +0 -134
- package/esm2020/lib/edit/w-edit-input-text/w-edit-input-text.component.mjs +0 -129
- package/esm2020/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.mjs +0 -112
- package/esm2020/lib/edit/w-edit-multiselect/w-edit-multiselect.component.mjs +0 -114
- package/esm2020/lib/edit/w-edit-select/w-edit-select.component.mjs +0 -119
- package/esm2020/lib/edit/w-edit-toggle/w-edit-toggle.component.mjs +0 -93
- package/esm2020/lib/edit/w-edit-treeselect/w-edit-treeselect.component.mjs +0 -111
- package/esm2020/lib/file/w-image-cropper/w-image-cropper.component.mjs +0 -236
- package/esm2020/lib/file/w-image-file-uploader/w-image-file-uploader.component.mjs +0 -409
- package/esm2020/lib/file/w-preview-image/w-preview-image.component.mjs +0 -20
- package/esm2020/lib/icons/icons.mjs +0 -115
- package/esm2020/lib/icons/wapping-icons/w-icons.component.mjs +0 -57
- package/esm2020/lib/layout/w-body/w-body.component.mjs +0 -18
- package/esm2020/lib/layout/w-body-container/w-body-container.component.mjs +0 -11
- package/esm2020/lib/layout/w-body-grid/w-body-grid.component.mjs +0 -11
- package/esm2020/lib/layout/w-container/w-container.component.mjs +0 -19
- package/esm2020/lib/layout/w-footer/w-footer.component.mjs +0 -27
- package/esm2020/lib/layout/w-header-panel/w-header-panel.component.mjs +0 -36
- package/esm2020/lib/layout/w-navbar/w-navbar.component.mjs +0 -44
- package/esm2020/lib/layout/w-panel/w-panel.component.mjs +0 -77
- package/esm2020/lib/layout/w-panel-grid/w-panel-grid.component.mjs +0 -11
- package/esm2020/lib/layout/w-panel-subtitle/w-panel-subtitle.component.mjs +0 -17
- package/esm2020/lib/layout/w-panel-title/w-panel-title.component.mjs +0 -17
- package/esm2020/lib/logos/logos.mjs +0 -8
- package/esm2020/lib/logos/wapping-logos/w-logos.component.mjs +0 -53
- package/esm2020/lib/maps/w-maps/w-maps.component.mjs +0 -161
- package/esm2020/lib/misc/w-badge/w-badge.component.mjs +0 -29
- package/esm2020/lib/misc/w-chip/w-chip.component.mjs +0 -67
- package/esm2020/lib/misc/w-filter-panel/w-filter-panel.component.mjs +0 -447
- package/esm2020/lib/misc/w-filter-panel/w-list-field/w-list-field.component.mjs +0 -82
- package/esm2020/lib/misc/w-timeline/w-timeline.component.mjs +0 -48
- package/esm2020/lib/misc/w-wizard/w-wizard.component.mjs +0 -87
- package/esm2020/lib/report/w-powerbi-report/w-powerbi-report.component.mjs +0 -206
- package/esm2020/lib/search/w-autocomplete-search/w-autocomplete-search.component.mjs +0 -106
- package/esm2020/lib/search/w-input-search/w-input-search.component.mjs +0 -113
- package/esm2020/lib/shared/components/w-address-field/w-address-field.component.mjs +0 -248
- package/esm2020/lib/shared/enums/enum.mjs +0 -20
- package/esm2020/lib/shared/models/action-button-response.model.mjs +0 -2
- package/esm2020/lib/shared/models/action-button.model.mjs +0 -2
- package/esm2020/lib/shared/models/components-tenant-storage.model.mjs +0 -2
- package/esm2020/lib/shared/models/custom-button-config.model.mjs +0 -2
- package/esm2020/lib/shared/models/customer-address.model.mjs +0 -2
- package/esm2020/lib/shared/models/embed-config.model.mjs +0 -2
- package/esm2020/lib/shared/models/enums.model.mjs +0 -90
- package/esm2020/lib/shared/models/filter-panel/field.model.mjs +0 -2
- package/esm2020/lib/shared/models/filter-panel/filter-field.models.mjs +0 -2
- package/esm2020/lib/shared/models/filter-panel/filter-panel-translations.model.mjs +0 -2
- package/esm2020/lib/shared/models/filter-panel/gmarealevel1.model.mjs +0 -2
- package/esm2020/lib/shared/models/filter-panel/gmarealevel2.model.mjs +0 -2
- package/esm2020/lib/shared/models/filter-panel/gmcountry-model.mjs +0 -2
- package/esm2020/lib/shared/models/filter-panel/gmlocality.model.mjs +0 -2
- package/esm2020/lib/shared/models/filter-panel/gmpostalcode.model.mjs +0 -2
- package/esm2020/lib/shared/models/filter-panel/qb-filter-entity.model.mjs +0 -2
- package/esm2020/lib/shared/models/filter-panel/qb-operators.model.mjs +0 -2
- package/esm2020/lib/shared/models/filter-panel/qb-panel-filter.model.mjs +0 -2
- package/esm2020/lib/shared/models/filter-panel/qb-panel-to-fields.model.mjs +0 -2
- package/esm2020/lib/shared/models/filter-panel/query-results.model.mjs +0 -8
- package/esm2020/lib/shared/models/filter.model.mjs +0 -2
- package/esm2020/lib/shared/models/image-b64.model.mjs +0 -2
- package/esm2020/lib/shared/models/lazy-element-query-request.model.mjs +0 -2
- package/esm2020/lib/shared/models/stored-filter-panel-query.model.mjs +0 -2
- package/esm2020/lib/shared/models/w-file-b64.model.mjs +0 -2
- package/esm2020/lib/shared/models/w-image-cropper-data.model.mjs +0 -2
- package/esm2020/lib/shared/models/w-image-file-uploader-config.model.mjs +0 -2
- package/esm2020/lib/shared/models/w-select-button-state.model.mjs +0 -2
- package/esm2020/lib/shared/models/w-timeline-event-item.model.mjs +0 -2
- package/esm2020/lib/shared/models/w-tree-table.model.mjs +0 -2
- package/esm2020/lib/shared/models/wapp-table-lazy-loading.model.mjs +0 -2
- package/esm2020/lib/shared/models/wapp-table.model.mjs +0 -2
- package/esm2020/lib/shared/pipes/color-text.pipe.mjs +0 -25
- package/esm2020/lib/shared/pipes/w-date.pipe.mjs +0 -44
- package/esm2020/lib/shared/pipes/w-summary.pipe.mjs +0 -16
- package/esm2020/lib/shared/service/api/api.service.mjs +0 -88
- package/esm2020/lib/shared/services/form-control.service.mjs +0 -18
- package/esm2020/lib/shared/services/modal.service.mjs +0 -62
- package/esm2020/lib/shared/services/session-storage.service.mjs +0 -46
- package/esm2020/lib/shared/services/tree.service.mjs +0 -30
- package/esm2020/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.mjs +0 -26
- package/esm2020/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.mjs +0 -17
- package/esm2020/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.mjs +0 -24
- package/esm2020/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.mjs +0 -19
- package/esm2020/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.mjs +0 -12
- package/esm2020/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.mjs +0 -30
- package/esm2020/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.mjs +0 -27
- package/esm2020/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.mjs +0 -12
- package/esm2020/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.mjs +0 -12
- package/esm2020/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.mjs +0 -26
- package/esm2020/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.mjs +0 -22
- package/esm2020/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.mjs +0 -25
- package/esm2020/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.mjs +0 -27
- package/esm2020/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.mjs +0 -12
- package/esm2020/lib/sidebar/w-sidebar/w-sidebar.component.mjs +0 -83
- package/esm2020/lib/tables/w-table/w-table.component.mjs +0 -255
- package/esm2020/lib/tables/w-table-lazy/w-table-lazy.component.mjs +0 -292
- package/esm2020/lib/tables/w-tree-table/w-tree-table.component.mjs +0 -187
- package/esm2020/lib/tabview/w-tabview/w-tabview.component.mjs +0 -27
- package/esm2020/lib/tree/w-tree/w-tree.component.mjs +0 -149
- package/esm2020/lib/view/w-view-boolean/w-view-boolean.component.mjs +0 -60
- package/esm2020/lib/view/w-view-card-title-text/w-view-card-title-text.component.mjs +0 -17
- package/esm2020/lib/view/w-view-text/w-view-text.component.mjs +0 -24
- package/esm2020/lib/w-clipboard/w-clipboard.component.mjs +0 -39
- package/esm2020/lib/wapp-components.component.mjs +0 -19
- package/esm2020/lib/wapp-components.module.mjs +0 -603
- package/esm2020/lib/wapp-components.service.mjs +0 -14
- package/esm2020/ngx-wapp-components.mjs +0 -5
- package/esm2020/public-api.mjs +0 -94
- package/fesm2015/ngx-wapp-components.mjs +0 -6179
- package/fesm2015/ngx-wapp-components.mjs.map +0 -1
- package/fesm2020/ngx-wapp-components.mjs +0 -6191
- package/fesm2020/ngx-wapp-components.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/button/w-button/w-button.component.d.ts +0 -23
- package/lib/button/w-buttons-footer/w-buttons-footer.component.d.ts +0 -5
- package/lib/button/w-radio-button/w-radio-button.component.d.ts +0 -31
- package/lib/button/w-select-button/w-select-button.component.d.ts +0 -27
- package/lib/button/w-toggle-button/w-toggle-button.component.d.ts +0 -32
- package/lib/edit/w-edit-calendar/w-edit-calendar.component.d.ts +0 -38
- package/lib/edit/w-edit-checkbox/w-edit-checkbox.component.d.ts +0 -27
- package/lib/edit/w-edit-input-number/w-edit-input-number.component.d.ts +0 -38
- package/lib/edit/w-edit-input-text/w-edit-input-text.component.d.ts +0 -37
- package/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.d.ts +0 -33
- package/lib/edit/w-edit-multiselect/w-edit-multiselect.component.d.ts +0 -36
- package/lib/edit/w-edit-select/w-edit-select.component.d.ts +0 -36
- package/lib/edit/w-edit-toggle/w-edit-toggle.component.d.ts +0 -28
- package/lib/edit/w-edit-treeselect/w-edit-treeselect.component.d.ts +0 -35
- package/lib/file/w-image-cropper/w-image-cropper.component.d.ts +0 -69
- package/lib/file/w-image-file-uploader/w-image-file-uploader.component.d.ts +0 -70
- package/lib/file/w-preview-image/w-preview-image.component.d.ts +0 -10
- package/lib/icons/icons.d.ts +0 -1
- package/lib/icons/wapping-icons/w-icons.component.d.ts +0 -15
- package/lib/layout/w-body/w-body.component.d.ts +0 -6
- package/lib/layout/w-body-container/w-body-container.component.d.ts +0 -5
- package/lib/layout/w-body-grid/w-body-grid.component.d.ts +0 -5
- package/lib/layout/w-container/w-container.component.d.ts +0 -5
- package/lib/layout/w-footer/w-footer.component.d.ts +0 -10
- package/lib/layout/w-header-panel/w-header-panel.component.d.ts +0 -15
- package/lib/layout/w-navbar/w-navbar.component.d.ts +0 -16
- package/lib/layout/w-panel/w-panel.component.d.ts +0 -23
- package/lib/layout/w-panel-grid/w-panel-grid.component.d.ts +0 -5
- package/lib/layout/w-panel-subtitle/w-panel-subtitle.component.d.ts +0 -7
- package/lib/layout/w-panel-title/w-panel-title.component.d.ts +0 -7
- package/lib/logos/logos.d.ts +0 -1
- package/lib/logos/wapping-logos/w-logos.component.d.ts +0 -15
- package/lib/maps/w-maps/w-maps.component.d.ts +0 -38
- package/lib/misc/w-badge/w-badge.component.d.ts +0 -9
- package/lib/misc/w-chip/w-chip.component.d.ts +0 -22
- package/lib/misc/w-filter-panel/w-filter-panel.component.d.ts +0 -74
- package/lib/misc/w-filter-panel/w-list-field/w-list-field.component.d.ts +0 -25
- package/lib/misc/w-timeline/w-timeline.component.d.ts +0 -17
- package/lib/misc/w-wizard/w-wizard.component.d.ts +0 -31
- package/lib/report/w-powerbi-report/w-powerbi-report.component.d.ts +0 -40
- package/lib/search/w-autocomplete-search/w-autocomplete-search.component.d.ts +0 -29
- package/lib/search/w-input-search/w-input-search.component.d.ts +0 -34
- package/lib/shared/components/w-address-field/w-address-field.component.d.ts +0 -65
- package/lib/shared/enums/enum.d.ts +0 -16
- package/lib/shared/models/action-button-response.model.d.ts +0 -4
- package/lib/shared/models/action-button.model.d.ts +0 -5
- package/lib/shared/models/custom-button-config.model.d.ts +0 -4
- package/lib/shared/models/customer-address.model.d.ts +0 -16
- package/lib/shared/models/filter-panel/filter-field.models.d.ts +0 -17
- package/lib/shared/models/filter-panel/filter-panel-translations.model.d.ts +0 -29
- package/lib/shared/models/filter-panel/gmarealevel1.model.d.ts +0 -4
- package/lib/shared/models/filter-panel/gmarealevel2.model.d.ts +0 -4
- package/lib/shared/models/filter-panel/gmcountry-model.d.ts +0 -4
- package/lib/shared/models/filter-panel/gmlocality.model.d.ts +0 -4
- package/lib/shared/models/filter-panel/gmpostalcode.model.d.ts +0 -4
- package/lib/shared/models/filter-panel/qb-filter-entity.model.d.ts +0 -7
- package/lib/shared/models/filter-panel/qb-operators.model.d.ts +0 -4
- package/lib/shared/models/filter-panel/qb-panel-filter.model.d.ts +0 -13
- package/lib/shared/models/filter-panel/qb-panel-to-fields.model.d.ts +0 -11
- package/lib/shared/models/filter-panel/query-results.model.d.ts +0 -15
- package/lib/shared/models/filter.model.d.ts +0 -5
- package/lib/shared/models/image-b64.model.d.ts +0 -5
- package/lib/shared/models/lazy-element-query-request.model.d.ts +0 -8
- package/lib/shared/models/stored-filter-panel-query.model.d.ts +0 -6
- package/lib/shared/models/w-file-b64.model.d.ts +0 -6
- package/lib/shared/models/w-image-cropper-data.model.d.ts +0 -7
- package/lib/shared/models/w-image-file-uploader-config.model.d.ts +0 -23
- package/lib/shared/models/w-select-button-state.model.d.ts +0 -4
- package/lib/shared/models/w-tree-table.model.d.ts +0 -34
- package/lib/shared/models/wapp-table-lazy-loading.model.d.ts +0 -55
- package/lib/shared/models/wapp-table.model.d.ts +0 -58
- package/lib/shared/pipes/color-text.pipe.d.ts +0 -7
- package/lib/shared/pipes/w-date.pipe.d.ts +0 -8
- package/lib/shared/pipes/w-summary.pipe.d.ts +0 -7
- package/lib/shared/service/api/api.service.d.ts +0 -24
- package/lib/shared/services/form-control.service.d.ts +0 -8
- package/lib/shared/services/modal.service.d.ts +0 -22
- package/lib/shared/services/session-storage.service.d.ts +0 -14
- package/lib/shared/services/tree.service.d.ts +0 -8
- package/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.d.ts +0 -8
- package/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.d.ts +0 -5
- package/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.d.ts +0 -10
- package/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.d.ts +0 -6
- package/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.d.ts +0 -5
- package/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.d.ts +0 -9
- package/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.d.ts +0 -7
- package/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.d.ts +0 -5
- package/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.d.ts +0 -5
- package/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.d.ts +0 -8
- package/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.d.ts +0 -8
- package/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.d.ts +0 -9
- package/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.d.ts +0 -11
- package/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.d.ts +0 -5
- package/lib/sidebar/w-sidebar/w-sidebar.component.d.ts +0 -25
- package/lib/tables/w-table/w-table.component.d.ts +0 -62
- package/lib/tables/w-table-lazy/w-table-lazy.component.d.ts +0 -61
- package/lib/tables/w-tree-table/w-tree-table.component.d.ts +0 -48
- package/lib/tabview/w-tabview/w-tabview.component.d.ts +0 -8
- package/lib/tree/w-tree/w-tree.component.d.ts +0 -40
- package/lib/view/w-view-boolean/w-view-boolean.component.d.ts +0 -19
- package/lib/view/w-view-card-title-text/w-view-card-title-text.component.d.ts +0 -9
- package/lib/view/w-view-text/w-view-text.component.d.ts +0 -8
- package/lib/w-clipboard/w-clipboard.component.d.ts +0 -12
- package/lib/wapp-components.component.d.ts +0 -5
- package/lib/wapp-components.module.d.ts +0 -120
- package/lib/wapp-components.service.d.ts +0 -6
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { models } from 'powerbi-client';
|
|
3
|
-
import { PowerBIReportEmbedComponent } from 'powerbi-client-angular';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "primeng/button";
|
|
7
|
-
import * as i3 from "powerbi-client-angular";
|
|
8
|
-
export class WPowerbiReportComponent {
|
|
9
|
-
// @HostListener('window:resize', ['$event'])
|
|
10
|
-
// onResize(event: any) {
|
|
11
|
-
// this.getReportDivWidth();
|
|
12
|
-
// }
|
|
13
|
-
constructor(elementRef) {
|
|
14
|
-
this.elementRef = elementRef;
|
|
15
|
-
this.hasReportFilters = false;
|
|
16
|
-
this.showReportFilters = false;
|
|
17
|
-
this.filterPanelPosition = "bottom";
|
|
18
|
-
this.showPageNavigation = false;
|
|
19
|
-
this.showPrintButton = false;
|
|
20
|
-
this.showFullScreenButton = false;
|
|
21
|
-
this.showVisualHeaders = true;
|
|
22
|
-
this.showRefreshButton = false;
|
|
23
|
-
this.height = '810px';
|
|
24
|
-
// @Input('zoomRatio') zoomRatio: number = 0.00175;
|
|
25
|
-
this.refreshNotAllowed = new EventEmitter();
|
|
26
|
-
this.reportClass = 'report-container';
|
|
27
|
-
this.reportConfig = {
|
|
28
|
-
type: 'report',
|
|
29
|
-
embedUrl: undefined,
|
|
30
|
-
tokenType: models.TokenType.Aad,
|
|
31
|
-
accessToken: undefined,
|
|
32
|
-
filters: undefined,
|
|
33
|
-
settings: {
|
|
34
|
-
layoutType: models.LayoutType.Custom,
|
|
35
|
-
customLayout: {
|
|
36
|
-
displayOption: models.DisplayOption.FitToWidth
|
|
37
|
-
},
|
|
38
|
-
background: models.BackgroundType.Transparent
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
this.eventHandlersMap = new Map([
|
|
42
|
-
['loaded', () => {
|
|
43
|
-
const report = this.reportObj.getReport();
|
|
44
|
-
report.setComponentTitle('Embedded report');
|
|
45
|
-
},
|
|
46
|
-
],
|
|
47
|
-
['rendered', () => { }],
|
|
48
|
-
['error', (event) => {
|
|
49
|
-
if (event) {
|
|
50
|
-
console.error(event.detail);
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
],
|
|
54
|
-
['visualClicked', () => { }],
|
|
55
|
-
['pageChanged', (event) => { }],
|
|
56
|
-
]);
|
|
57
|
-
}
|
|
58
|
-
set zoom(value) {
|
|
59
|
-
this._zoom = value;
|
|
60
|
-
this.setReportZoom(this._zoom);
|
|
61
|
-
}
|
|
62
|
-
get zoom() {
|
|
63
|
-
return this._zoom;
|
|
64
|
-
}
|
|
65
|
-
ngOnInit() {
|
|
66
|
-
this.embedReport();
|
|
67
|
-
this.elementRef.nativeElement.style.setProperty("--height", this.height);
|
|
68
|
-
}
|
|
69
|
-
// getReportDivWidth() {
|
|
70
|
-
// this.powerbiReportWidth = this.elementRef.nativeElement.querySelector('#powerbiContainer').offsetWidth;
|
|
71
|
-
// this.setReportZoom(this.powerbiReportWidth * this.zoomRatio);
|
|
72
|
-
// }
|
|
73
|
-
async embedReport() {
|
|
74
|
-
try {
|
|
75
|
-
this.reportConfig = {
|
|
76
|
-
...this.reportConfig,
|
|
77
|
-
id: this.embedConfig.id,
|
|
78
|
-
embedUrl: this.embedConfig.embedUrl,
|
|
79
|
-
accessToken: this.embedConfig.embedToken.token,
|
|
80
|
-
filters: this.parameterReportFilters ? [JSON.parse(this.parameterReportFilters)] : undefined,
|
|
81
|
-
settings: {
|
|
82
|
-
panes: {
|
|
83
|
-
filters: {
|
|
84
|
-
visible: this.showReportFilters
|
|
85
|
-
},
|
|
86
|
-
pageNavigation: {
|
|
87
|
-
visible: this.showPageNavigation
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
visualSettings: {
|
|
91
|
-
visualHeaders: [
|
|
92
|
-
{
|
|
93
|
-
settings: {
|
|
94
|
-
visible: this.showVisualHeaders
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
]
|
|
98
|
-
},
|
|
99
|
-
customLayout: {
|
|
100
|
-
displayOption: models.DisplayOption.FitToWidth
|
|
101
|
-
},
|
|
102
|
-
background: models.BackgroundType.Transparent
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
catch (error) {
|
|
107
|
-
console.log(`Failed to fetch config for report. Status: ${error.status} ${error.statusText}`);
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
async refresh() {
|
|
112
|
-
const report = this.reportObj.getReport();
|
|
113
|
-
try {
|
|
114
|
-
await report.refresh();
|
|
115
|
-
}
|
|
116
|
-
catch (errors) {
|
|
117
|
-
console.log(errors);
|
|
118
|
-
if (errors.message = "refreshNotAllowed")
|
|
119
|
-
this.onRefreshNotAllowed();
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
async updateFilters(filters) {
|
|
123
|
-
try {
|
|
124
|
-
const report = this.reportObj.getReport();
|
|
125
|
-
await report.removeFilters();
|
|
126
|
-
await report.updateFilters(models.FiltersOperations.Add, filters);
|
|
127
|
-
}
|
|
128
|
-
catch (error) {
|
|
129
|
-
console.error(error);
|
|
130
|
-
if (error.message = "refreshNotAllowed")
|
|
131
|
-
this.onRefreshNotAllowed();
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
async setReportZoom(zoom) {
|
|
136
|
-
try {
|
|
137
|
-
const report = this.reportObj.getReport();
|
|
138
|
-
await report.setZoom(zoom);
|
|
139
|
-
}
|
|
140
|
-
catch (error) {
|
|
141
|
-
console.log("Error setting report zoom: " + error);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
print() {
|
|
145
|
-
const report = this.reportObj.getReport();
|
|
146
|
-
report.print();
|
|
147
|
-
}
|
|
148
|
-
enterFullScreen() {
|
|
149
|
-
const report = this.reportObj.getReport();
|
|
150
|
-
report.fullscreen();
|
|
151
|
-
}
|
|
152
|
-
onRefreshNotAllowed() {
|
|
153
|
-
this.refreshNotAllowed.emit(true);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
WPowerbiReportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WPowerbiReportComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
157
|
-
WPowerbiReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WPowerbiReportComponent, selector: "w-powerbi-report", inputs: { embedConfig: "embedConfig", reportTitle: "reportTitle", hasReportFilters: "hasReportFilters", parameterReportFilters: "parameterReportFilters", showReportFilters: "showReportFilters", filterPanelPosition: "filterPanelPosition", showPageNavigation: "showPageNavigation", showPrintButton: "showPrintButton", showFullScreenButton: "showFullScreenButton", showVisualHeaders: "showVisualHeaders", showRefreshButton: "showRefreshButton", height: "height", zoom: "zoom" }, outputs: { refreshNotAllowed: "refreshNotAllowed" }, viewQueries: [{ propertyName: "reportObj", first: true, predicate: PowerBIReportEmbedComponent, descendants: true }], ngImport: i0, template: "<div *ngIf=\"reportTitle || showPrintButton || showFullScreenButton\" class=\"flex justify-content-between flex-wrap\">\r\n <div class=\"flex align-items-center justify-content-center\">\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <div class=\"text-right\">\r\n <p-button *ngIf=\"showRefreshButton\" icon=\"pi pi-refresh\" \r\n styleClass=\"p-button-rounded p-button-secondary p-button-text\"\r\n (onClick)=\"refresh()\">\r\n </p-button>\r\n <p-button *ngIf=\"showPrintButton\" icon=\"pi pi-print\" \r\n styleClass=\"p-button-rounded p-button-secondary p-button-text\"\r\n (onClick)=\"print()\">\r\n </p-button>\r\n <p-button *ngIf=\"showFullScreenButton\" icon=\"pi pi-arrows-alt\" \r\n styleClass=\"p-button-rounded p-button-secondary p-button-text\"\r\n (onClick)=\"enterFullScreen()\">\r\n </p-button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"filterPanelPosition == 'right'\" class=\"grid\">\r\n <div class=\"col-12 md:col-12 lg:col-8\">\r\n <ng-container *ngTemplateOutlet=\"powerbiReport\"></ng-container>\r\n </div>\r\n <div class=\"col-12 md:col-12 lg:col-4\">\r\n <ng-content *ngIf=\"hasReportFilters\" select=\".report-filters-right\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"filterPanelPosition == 'left'\" class=\"grid\">\r\n <div class=\"col-12 md:col-12 lg:col-8\">\r\n <ng-content *ngIf=\"hasReportFilters\" select=\".report-filters-left\"></ng-content>\r\n </div>\r\n <div class=\"col-12 md:col-12 lg:col-4\">\r\n <ng-container *ngTemplateOutlet=\"powerbiReport\"></ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"filterPanelPosition == 'bottom'\">\r\n <ng-container *ngTemplateOutlet=\"powerbiReport\"></ng-container>\r\n <ng-content *ngIf=\"hasReportFilters\" select=\".report-filters-bottom\"></ng-content>\r\n</div>\r\n\r\n<ng-template #powerbiReport>\r\n <div id=\"powerbiContainer\">\r\n <powerbi-report [embedConfig]=\"reportConfig\" \r\n [cssClassName]=\"reportClass\" \r\n [eventHandlers]=\"eventHandlersMap\">\r\n </powerbi-report>\r\n </div>\r\n</ng-template>", styles: ["::ng-deep iframe{border:none}::ng-deep .hidden{height:0!important;width:0!important}::ng-deep .report-container{height:var(--height);width:auto;margin:0 auto}::ng-deep .powerbi-report-container .card{padding:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i3.PowerBIReportEmbedComponent, selector: "powerbi-report[embedConfig]", inputs: ["embedConfig", "phasedEmbedding", "eventHandlers"] }] });
|
|
158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WPowerbiReportComponent, decorators: [{
|
|
159
|
-
type: Component,
|
|
160
|
-
args: [{ selector: 'w-powerbi-report', template: "<div *ngIf=\"reportTitle || showPrintButton || showFullScreenButton\" class=\"flex justify-content-between flex-wrap\">\r\n <div class=\"flex align-items-center justify-content-center\">\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <div class=\"text-right\">\r\n <p-button *ngIf=\"showRefreshButton\" icon=\"pi pi-refresh\" \r\n styleClass=\"p-button-rounded p-button-secondary p-button-text\"\r\n (onClick)=\"refresh()\">\r\n </p-button>\r\n <p-button *ngIf=\"showPrintButton\" icon=\"pi pi-print\" \r\n styleClass=\"p-button-rounded p-button-secondary p-button-text\"\r\n (onClick)=\"print()\">\r\n </p-button>\r\n <p-button *ngIf=\"showFullScreenButton\" icon=\"pi pi-arrows-alt\" \r\n styleClass=\"p-button-rounded p-button-secondary p-button-text\"\r\n (onClick)=\"enterFullScreen()\">\r\n </p-button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"filterPanelPosition == 'right'\" class=\"grid\">\r\n <div class=\"col-12 md:col-12 lg:col-8\">\r\n <ng-container *ngTemplateOutlet=\"powerbiReport\"></ng-container>\r\n </div>\r\n <div class=\"col-12 md:col-12 lg:col-4\">\r\n <ng-content *ngIf=\"hasReportFilters\" select=\".report-filters-right\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"filterPanelPosition == 'left'\" class=\"grid\">\r\n <div class=\"col-12 md:col-12 lg:col-8\">\r\n <ng-content *ngIf=\"hasReportFilters\" select=\".report-filters-left\"></ng-content>\r\n </div>\r\n <div class=\"col-12 md:col-12 lg:col-4\">\r\n <ng-container *ngTemplateOutlet=\"powerbiReport\"></ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"filterPanelPosition == 'bottom'\">\r\n <ng-container *ngTemplateOutlet=\"powerbiReport\"></ng-container>\r\n <ng-content *ngIf=\"hasReportFilters\" select=\".report-filters-bottom\"></ng-content>\r\n</div>\r\n\r\n<ng-template #powerbiReport>\r\n <div id=\"powerbiContainer\">\r\n <powerbi-report [embedConfig]=\"reportConfig\" \r\n [cssClassName]=\"reportClass\" \r\n [eventHandlers]=\"eventHandlersMap\">\r\n </powerbi-report>\r\n </div>\r\n</ng-template>", styles: ["::ng-deep iframe{border:none}::ng-deep .hidden{height:0!important;width:0!important}::ng-deep .report-container{height:var(--height);width:auto;margin:0 auto}::ng-deep .powerbi-report-container .card{padding:5px}\n"] }]
|
|
161
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { embedConfig: [{
|
|
162
|
-
type: Input,
|
|
163
|
-
args: ['embedConfig']
|
|
164
|
-
}], reportTitle: [{
|
|
165
|
-
type: Input,
|
|
166
|
-
args: ['reportTitle']
|
|
167
|
-
}], hasReportFilters: [{
|
|
168
|
-
type: Input,
|
|
169
|
-
args: ['hasReportFilters']
|
|
170
|
-
}], parameterReportFilters: [{
|
|
171
|
-
type: Input,
|
|
172
|
-
args: ['parameterReportFilters']
|
|
173
|
-
}], showReportFilters: [{
|
|
174
|
-
type: Input,
|
|
175
|
-
args: ['showReportFilters']
|
|
176
|
-
}], filterPanelPosition: [{
|
|
177
|
-
type: Input,
|
|
178
|
-
args: ['filterPanelPosition']
|
|
179
|
-
}], showPageNavigation: [{
|
|
180
|
-
type: Input,
|
|
181
|
-
args: ['showPageNavigation']
|
|
182
|
-
}], showPrintButton: [{
|
|
183
|
-
type: Input,
|
|
184
|
-
args: ['showPrintButton']
|
|
185
|
-
}], showFullScreenButton: [{
|
|
186
|
-
type: Input,
|
|
187
|
-
args: ['showFullScreenButton']
|
|
188
|
-
}], showVisualHeaders: [{
|
|
189
|
-
type: Input,
|
|
190
|
-
args: ['showVisualHeaders']
|
|
191
|
-
}], showRefreshButton: [{
|
|
192
|
-
type: Input,
|
|
193
|
-
args: ['showRefreshButton']
|
|
194
|
-
}], height: [{
|
|
195
|
-
type: Input,
|
|
196
|
-
args: ['height']
|
|
197
|
-
}], refreshNotAllowed: [{
|
|
198
|
-
type: Output,
|
|
199
|
-
args: ['refreshNotAllowed']
|
|
200
|
-
}], zoom: [{
|
|
201
|
-
type: Input
|
|
202
|
-
}], reportObj: [{
|
|
203
|
-
type: ViewChild,
|
|
204
|
-
args: [PowerBIReportEmbedComponent]
|
|
205
|
-
}] } });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy1wb3dlcmJpLXJlcG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93YXBwLWNvbXBvbmVudHMvc3JjL2xpYi9yZXBvcnQvdy1wb3dlcmJpLXJlcG9ydC93LXBvd2VyYmktcmVwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL3JlcG9ydC93LXBvd2VyYmktcmVwb3J0L3ctcG93ZXJiaS1yZXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQWdCLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBNEMsTUFBTSxFQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBT3JFLE1BQU0sT0FBTyx1QkFBdUI7SUFpRWxDLDZDQUE2QztJQUM3Qyx5QkFBeUI7SUFDekIsOEJBQThCO0lBQzlCLElBQUk7SUFFSixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbEVmLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUVqQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDakMsd0JBQW1CLEdBQVcsUUFBUSxDQUFDO1FBQ3hDLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUN2QyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUM1Qix5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDekMsc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBQ2xDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUM5QyxXQUFNLEdBQVcsT0FBTyxDQUFDO1FBQzFDLG1EQUFtRDtRQUV0QixzQkFBaUIsR0FBRyxJQUFJLFlBQVks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LEtBQUs7dUJBQUMsb0JBQW9CO2dCQUNELGVBQWU7c0JBQXhDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUNPLG9CQUFvQjtzQkFBbEQsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBQ0QsaUJBQWlCO3NCQUE1QyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDRSxpQkFBaUI7c0JBQTVDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUNULE1BQU07c0JBQXRCLEtBQUs7dUJBQUMsUUFBUTtnQkFHYyxpQkFBaUI7c0JBQTdDLE1BQU07dUJBQUMsbUJBQW1CO2dCQUtkLElBQUk7c0JBQWhCLEtBQUs7Z0JBMENrQyxTQUFTO3NCQUFoRCxTQUFTO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVtYmVkQ29uZmlnIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9lbWJlZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBFbWJlZCwgSVJlcG9ydEVtYmVkQ29uZmlndXJhdGlvbiwgUmVwb3J0LCBtb2RlbHMsIHNlcnZpY2UgfSBmcm9tICdwb3dlcmJpLWNsaWVudCc7XHJcbmltcG9ydCB7IFBvd2VyQklSZXBvcnRFbWJlZENvbXBvbmVudCB9IGZyb20gJ3Bvd2VyYmktY2xpZW50LWFuZ3VsYXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3LXBvd2VyYmktcmVwb3J0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdy1wb3dlcmJpLXJlcG9ydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdy1wb3dlcmJpLXJlcG9ydC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFdQb3dlcmJpUmVwb3J0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCdlbWJlZENvbmZpZycpIGVtYmVkQ29uZmlnITogRW1iZWRDb25maWc7XHJcbiAgQElucHV0KCdyZXBvcnRUaXRsZScpIHJlcG9ydFRpdGxlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgnaGFzUmVwb3J0RmlsdGVycycpIGhhc1JlcG9ydEZpbHRlcnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoJ3BhcmFtZXRlclJlcG9ydEZpbHRlcnMnKSBwYXJhbWV0ZXJSZXBvcnRGaWx0ZXJzITogc3RyaW5nO1xyXG4gIEBJbnB1dCgnc2hvd1JlcG9ydEZpbHRlcnMnKSBzaG93UmVwb3J0RmlsdGVyczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgnZmlsdGVyUGFuZWxQb3NpdGlvbicpIGZpbHRlclBhbmVsUG9zaXRpb246IHN0cmluZyA9IFwiYm90dG9tXCI7XHJcbiAgQElucHV0KCdzaG93UGFnZU5hdmlnYXRpb24nKSBzaG93UGFnZU5hdmlnYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoJ3Nob3dQcmludEJ1dHRvbicpIHNob3dQcmludEJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgnc2hvd0Z1bGxTY3JlZW5CdXR0b24nKSBzaG93RnVsbFNjcmVlbkJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgnc2hvd1Zpc3VhbEhlYWRlcnMnKSBzaG93VmlzdWFsSGVhZGVyczogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCdzaG93UmVmcmVzaEJ1dHRvbicpIHNob3dSZWZyZXNoQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCdoZWlnaHQnKSBoZWlnaHQ6IHN0cmluZyA9ICc4MTBweCc7XHJcbiAgLy8gQElucHV0KCd6b29tUmF0aW8nKSB6b29tUmF0aW86IG51bWJlciA9IDAuMDAxNzU7XHJcblxyXG4gIEBPdXRwdXQoJ3JlZnJlc2hOb3RBbGxvd2VkJykgcmVmcmVzaE5vdEFsbG93ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIHBvd2VyYmlSZXBvcnRXaWR0aCE6IG51bWJlcjtcclxuICBwcml2YXRlIF96b29tITogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKSBzZXQgem9vbSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl96b29tID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldFJlcG9ydFpvb20odGhpcy5fem9vbSk7XHJcbiAgfVxyXG5cclxuICBnZXQgem9vbSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX3pvb207XHJcbiAgfVxyXG4gIHJlcG9ydENsYXNzID0gJ3JlcG9ydC1jb250YWluZXInO1xyXG5cclxuICByZXBvcnRDb25maWc6IElSZXBvcnRFbWJlZENvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICB0eXBlOiAncmVwb3J0JyxcclxuICAgIGVtYmVkVXJsOiB1bmRlZmluZWQsXHJcbiAgICB0b2tlblR5cGU6IG1vZGVscy5Ub2tlblR5cGUuQWFkLFxyXG4gICAgYWNjZXNzVG9rZW46IHVuZGVmaW5lZCxcclxuICAgIGZpbHRlcnM6IHVuZGVmaW5lZCxcclxuICAgIHNldHRpbmdzOiB7XHJcbiAgICAgIGxheW91dFR5cGU6IG1vZGVscy5MYXlvdXRUeXBlLkN1c3RvbSxcclxuICAgICAgY3VzdG9tTGF5b3V0OiB7XHJcbiAgICAgICAgZGlzcGxheU9wdGlvbjogbW9kZWxzLkRpc3BsYXlPcHRpb24uRml0VG9XaWR0aFxyXG4gICAgICB9LFxyXG4gICAgICBiYWNrZ3JvdW5kOiBtb2RlbHMuQmFja2dyb3VuZFR5cGUuVHJhbnNwYXJlbnRcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBldmVudEhhbmRsZXJzTWFwID0gbmV3IE1hcChbXHJcbiAgICBbJ2xvYWRlZCcsICgpID0+IHtcclxuICAgICAgY29uc3QgcmVwb3J0ID0gdGhpcy5yZXBvcnRPYmouZ2V0UmVwb3J0KCk7XHJcbiAgICAgIHJlcG9ydC5zZXRDb21wb25lbnRUaXRsZSgnRW1iZWRkZWQgcmVwb3J0Jyk7XHJcbiAgICB9LFxyXG4gICAgXSxcclxuICAgIFsncmVuZGVyZWQnLCAoKSA9PiB7IH1dLFxyXG4gICAgWydlcnJvcicsIChldmVudD86IHNlcnZpY2UuSUN1c3RvbUV2ZW50PGFueT4pID0+IHtcclxuICAgICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihldmVudC5kZXRhaWwpO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgXSxcclxuICAgIFsndmlzdWFsQ2xpY2tlZCcsICgpID0+IHsgfV0sXHJcbiAgICBbJ3BhZ2VDaGFuZ2VkJywgKGV2ZW50KSA9PiB7IH1dLFxyXG4gIF0pIGFzIE1hcDxzdHJpbmcsIChldmVudD86IHNlcnZpY2UuSUN1c3RvbUV2ZW50PGFueT4sIGVtYmVkZGVkRW50aXR5PzogRW1iZWQpID0+IHZvaWQgfCBudWxsPjtcclxuXHJcbiAgQFZpZXdDaGlsZChQb3dlckJJUmVwb3J0RW1iZWRDb21wb25lbnQpIHJlcG9ydE9iaiE6IFBvd2VyQklSZXBvcnRFbWJlZENvbXBvbmVudDtcclxuXHJcbiAgLy8gQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgLy8gb25SZXNpemUoZXZlbnQ6IGFueSkge1xyXG4gIC8vICAgdGhpcy5nZXRSZXBvcnREaXZXaWR0aCgpO1xyXG4gIC8vIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZW1iZWRSZXBvcnQoKTtcclxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwiLS1oZWlnaHRcIiwgdGhpcy5oZWlnaHQpXHJcbiAgfVxyXG5cclxuICAvLyBnZXRSZXBvcnREaXZXaWR0aCgpIHtcclxuICAvLyAgIHRoaXMucG93ZXJiaVJlcG9ydFdpZHRoID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignI3Bvd2VyYmlDb250YWluZXInKS5vZmZzZXRXaWR0aDtcclxuICAvLyAgIHRoaXMuc2V0UmVwb3J0Wm9vbSh0aGlzLnBvd2VyYmlSZXBvcnRXaWR0aCAqIHRoaXMuem9vbVJhdGlvKTtcclxuICAvLyB9XHJcblxyXG4gIGFzeW5jIGVtYmVkUmVwb3J0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5yZXBvcnRDb25maWcgPSB7XHJcbiAgICAgICAgLi4udGhpcy5yZXBvcnRDb25maWcsXHJcbiAgICAgICAgaWQ6IHRoaXMuZW1iZWRDb25maWchLmlkLFxyXG4gICAgICAgIGVtYmVkVXJsOiB0aGlzLmVtYmVkQ29uZmlnIS5lbWJlZFVybCxcclxuICAgICAgICBhY2Nlc3NUb2tlbjogdGhpcy5lbWJlZENvbmZpZyEuZW1iZWRUb2tlbi50b2tlbixcclxuICAgICAgICBmaWx0ZXJzOiB0aGlzLnBhcmFtZXRlclJlcG9ydEZpbHRlcnMgPyBbSlNPTi5wYXJzZSh0aGlzLnBhcmFtZXRlclJlcG9ydEZpbHRlcnMpXSA6IHVuZGVmaW5lZCxcclxuICAgICAgICBzZXR0aW5nczoge1xyXG4gICAgICAgICAgcGFuZXM6IHtcclxuICAgICAgICAgICAgZmlsdGVyczoge1xyXG4gICAgICAgICAgICAgIHZpc2libGU6IHRoaXMuc2hvd1JlcG9ydEZpbHRlcnNcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgcGFnZU5hdmlnYXRpb246IHtcclxuICAgICAgICAgICAgICB2aXNpYmxlOiB0aGlzLnNob3dQYWdlTmF2aWdhdGlvblxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHZpc3VhbFNldHRpbmdzOiB7XHJcbiAgICAgICAgICAgIHZpc3VhbEhlYWRlcnM6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBzZXR0aW5nczoge1xyXG4gICAgICAgICAgICAgICAgICB2aXNpYmxlOiB0aGlzLnNob3dWaXN1YWxIZWFkZXJzXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgY3VzdG9tTGF5b3V0OiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXlPcHRpb246IG1vZGVscy5EaXNwbGF5T3B0aW9uLkZpdFRvV2lkdGhcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBtb2RlbHMuQmFja2dyb3VuZFR5cGUuVHJhbnNwYXJlbnRcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGBGYWlsZWQgdG8gZmV0Y2ggY29uZmlnIGZvciByZXBvcnQuIFN0YXR1czogJHtlcnJvci5zdGF0dXN9ICR7ZXJyb3Iuc3RhdHVzVGV4dH1gKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgcmVmcmVzaCgpIHtcclxuICAgIGNvbnN0IHJlcG9ydDogUmVwb3J0ID0gdGhpcy5yZXBvcnRPYmouZ2V0UmVwb3J0KCk7XHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCByZXBvcnQucmVmcmVzaCgpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3JzOmFueSkge1xyXG4gICAgICBjb25zb2xlLmxvZyhlcnJvcnMpO1xyXG4gICAgICBpZihlcnJvcnMubWVzc2FnZSA9IFwicmVmcmVzaE5vdEFsbG93ZWRcIikgdGhpcy5vblJlZnJlc2hOb3RBbGxvd2VkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyB1cGRhdGVGaWx0ZXJzKGZpbHRlcnM6IG1vZGVscy5JRmlsdGVyW10pIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlcG9ydDogUmVwb3J0ID0gdGhpcy5yZXBvcnRPYmouZ2V0UmVwb3J0KCk7XHJcbiAgICAgIGF3YWl0IHJlcG9ydC5yZW1vdmVGaWx0ZXJzKCk7ICAgICAgICBcclxuICAgICAgYXdhaXQgcmVwb3J0LnVwZGF0ZUZpbHRlcnMobW9kZWxzLkZpbHRlcnNPcGVyYXRpb25zLkFkZCwgZmlsdGVycyk7XHJcbiAgICB9IGNhdGNoIChlcnJvcjphbnkpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgIGlmKGVycm9yLm1lc3NhZ2UgPSBcInJlZnJlc2hOb3RBbGxvd2VkXCIpIHRoaXMub25SZWZyZXNoTm90QWxsb3dlZCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBzZXRSZXBvcnRab29tKHpvb206IG51bWJlcikge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgcmVwb3J0OiBSZXBvcnQgPSB0aGlzLnJlcG9ydE9iai5nZXRSZXBvcnQoKTtcclxuICAgICAgYXdhaXQgcmVwb3J0LnNldFpvb20oem9vbSk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkVycm9yIHNldHRpbmcgcmVwb3J0IHpvb206IFwiICsgZXJyb3IpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcmludCgpIHtcclxuICAgIGNvbnN0IHJlcG9ydDogUmVwb3J0ID0gdGhpcy5yZXBvcnRPYmouZ2V0UmVwb3J0KCk7XHJcbiAgICByZXBvcnQucHJpbnQoKTtcclxuICB9XHJcblxyXG4gIGVudGVyRnVsbFNjcmVlbigpIHtcclxuICAgIGNvbnN0IHJlcG9ydDogUmVwb3J0ID0gdGhpcy5yZXBvcnRPYmouZ2V0UmVwb3J0KCk7XHJcbiAgICByZXBvcnQuZnVsbHNjcmVlbigpO1xyXG4gIH1cclxuXHJcbiAgb25SZWZyZXNoTm90QWxsb3dlZCgpIHtcclxuICAgIHRoaXMucmVmcmVzaE5vdEFsbG93ZWQuZW1pdCh0cnVlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInJlcG9ydFRpdGxlIHx8IHNob3dQcmludEJ1dHRvbiB8fCBzaG93RnVsbFNjcmVlbkJ1dHRvblwiIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBmbGV4LXdyYXBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgPHAtYnV0dG9uICpuZ0lmPVwic2hvd1JlZnJlc2hCdXR0b25cIiBpY29uPVwicGkgcGktcmVmcmVzaFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc2Vjb25kYXJ5IHAtYnV0dG9uLXRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwicmVmcmVzaCgpXCI+XHJcbiAgICAgICAgICAgIDwvcC1idXR0b24+XHJcbiAgICAgICAgICAgIDxwLWJ1dHRvbiAqbmdJZj1cInNob3dQcmludEJ1dHRvblwiIGljb249XCJwaSBwaS1wcmludFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc2Vjb25kYXJ5IHAtYnV0dG9uLXRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwicHJpbnQoKVwiPlxyXG4gICAgICAgICAgICA8L3AtYnV0dG9uPlxyXG4gICAgICAgICAgICA8cC1idXR0b24gKm5nSWY9XCJzaG93RnVsbFNjcmVlbkJ1dHRvblwiIGljb249XCJwaSBwaS1hcnJvd3MtYWx0XCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1zZWNvbmRhcnkgcC1idXR0b24tdGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJlbnRlckZ1bGxTY3JlZW4oKVwiPlxyXG4gICAgICAgICAgICA8L3AtYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cImZpbHRlclBhbmVsUG9zaXRpb24gPT0gJ3JpZ2h0J1wiIGNsYXNzPVwiZ3JpZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtMTIgbGc6Y29sLThcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicG93ZXJiaVJlcG9ydFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1kOmNvbC0xMiBsZzpjb2wtNFwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50ICpuZ0lmPVwiaGFzUmVwb3J0RmlsdGVyc1wiIHNlbGVjdD1cIi5yZXBvcnQtZmlsdGVycy1yaWdodFwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJmaWx0ZXJQYW5lbFBvc2l0aW9uID09ICdsZWZ0J1wiIGNsYXNzPVwiZ3JpZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtMTIgbGc6Y29sLThcIj5cclxuICAgICAgICA8bmctY29udGVudCAqbmdJZj1cImhhc1JlcG9ydEZpbHRlcnNcIiBzZWxlY3Q9XCIucmVwb3J0LWZpbHRlcnMtbGVmdFwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtMTIgbGc6Y29sLTRcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicG93ZXJiaVJlcG9ydFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cImZpbHRlclBhbmVsUG9zaXRpb24gPT0gJ2JvdHRvbSdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwb3dlcmJpUmVwb3J0XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGVudCAqbmdJZj1cImhhc1JlcG9ydEZpbHRlcnNcIiBzZWxlY3Q9XCIucmVwb3J0LWZpbHRlcnMtYm90dG9tXCI+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcG93ZXJiaVJlcG9ydD5cclxuICAgIDxkaXYgaWQ9XCJwb3dlcmJpQ29udGFpbmVyXCI+XHJcbiAgICAgICAgPHBvd2VyYmktcmVwb3J0IFtlbWJlZENvbmZpZ109XCJyZXBvcnRDb25maWdcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Nzc0NsYXNzTmFtZV09XCJyZXBvcnRDbGFzc1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZXZlbnRIYW5kbGVyc109XCJldmVudEhhbmRsZXJzTWFwXCI+XHJcbiAgICAgICAgPC9wb3dlcmJpLXJlcG9ydD5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { Component, Input, forwardRef } from '@angular/core';
|
|
2
|
-
import { SizeType } from '../../shared/enums/enum';
|
|
3
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/forms";
|
|
6
|
-
import * as i2 from "@angular/common";
|
|
7
|
-
import * as i3 from "primeng/api";
|
|
8
|
-
import * as i4 from "primeng/autocomplete";
|
|
9
|
-
export class WAutocompleteSearchComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.label = "Default Label";
|
|
12
|
-
this.placeholder = "";
|
|
13
|
-
this.isRequired = false;
|
|
14
|
-
this.isDisabled = false;
|
|
15
|
-
this.size = "medium";
|
|
16
|
-
this.items = [
|
|
17
|
-
{ "name": "Afghanistan", "code": "AF" },
|
|
18
|
-
{ "name": "México", "code": "MX" },
|
|
19
|
-
{ "name": "Turquía", "code": "TQ" },
|
|
20
|
-
{ "name": "Estados unidos", "code": "EU" },
|
|
21
|
-
];
|
|
22
|
-
this.suggestions = [];
|
|
23
|
-
this.isTouched = false;
|
|
24
|
-
this.onChange = (_) => { };
|
|
25
|
-
this.onTouch = () => { };
|
|
26
|
-
}
|
|
27
|
-
writeValue(value) {
|
|
28
|
-
this.value = value;
|
|
29
|
-
}
|
|
30
|
-
registerOnChange(onChange) {
|
|
31
|
-
this.onChange = onChange;
|
|
32
|
-
}
|
|
33
|
-
registerOnTouched(onTouch) {
|
|
34
|
-
this.onTouch = onTouch;
|
|
35
|
-
}
|
|
36
|
-
setDisabledState(isDisabled) {
|
|
37
|
-
this.isDisabled = isDisabled;
|
|
38
|
-
}
|
|
39
|
-
onValueChanged() {
|
|
40
|
-
this.onChange(this.value);
|
|
41
|
-
this.onTouch();
|
|
42
|
-
}
|
|
43
|
-
onInputBlur(event) {
|
|
44
|
-
const newValue = event.target.value;
|
|
45
|
-
this.value = newValue;
|
|
46
|
-
this.onChange(this.value);
|
|
47
|
-
this.onTouch();
|
|
48
|
-
}
|
|
49
|
-
search(event) {
|
|
50
|
-
let filtered = [];
|
|
51
|
-
let query = event.query;
|
|
52
|
-
for (let i = 0; i < this.items.length; i++) {
|
|
53
|
-
let item = this.items[i];
|
|
54
|
-
if (item.name.toLowerCase().indexOf(query.toLowerCase()) == 0) {
|
|
55
|
-
filtered.push(item);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
this.suggestions = filtered;
|
|
59
|
-
}
|
|
60
|
-
getSizeName(value) {
|
|
61
|
-
return SizeType[value];
|
|
62
|
-
}
|
|
63
|
-
get sizeType() {
|
|
64
|
-
return SizeType;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
WAutocompleteSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WAutocompleteSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
-
WAutocompleteSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WAutocompleteSearchComponent, selector: "w-autocomplete-search", inputs: { label: "label", placeholder: "placeholder", isRequired: "isRequired", isDisabled: "isDisabled", size: "size", items: "items", formControl: "formControl" }, providers: [
|
|
69
|
-
{
|
|
70
|
-
provide: NG_VALUE_ACCESSOR,
|
|
71
|
-
useExisting: forwardRef(() => WAutocompleteSearchComponent),
|
|
72
|
-
multi: true
|
|
73
|
-
}
|
|
74
|
-
], ngImport: i0, template: "<div *ngIf=\"formControl != null; else noNgControl\">\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container-medium w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-medium\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-small\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-medium\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\" \r\n (ngModelChange)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-small\"\r\n [suggestions]=\"suggestions\"\r\n [(ngModel)]=\"value\" \r\n (input)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</ng-template>", styles: [".heading1{font-size:2.6666666667rem;line-height:3rem;font-weight:700}.heading2{font-size:2.3333333333rem;line-height:2.6666666667rem;font-weight:700}.heading3{font-size:2rem;line-height:2.3333333333rem;font-weight:700}.heading4{font-size:1.6666666667rem;line-height:2rem;font-weight:400}.heading5{font-size:1.5rem;line-height:1.8333333333rem;font-weight:600}.heading6{font-size:1.3333333333rem;line-height:1.6666666667rem;font-weight:400}.subtitle1,.w-tab-text,.w-panel-title-text,.w-sidebar-title-text{font-size:1.1666666667rem;line-height:1.3333333333rem;font-weight:600}.subtitle2,.w-table-th-text,.w-panel-subtitle-text,.w-input-small-label-text-typography,.w-input-small-label-text,.w-input-small-label-disabled,.w-view-small-label-text-typography,.w-view-small-label-text,.w-button-small-text-label-text-typography,.w-button-small-text-label-text{font-size:1rem;line-height:1.3333333333rem;font-weight:600}.body,.w-table-td-text,.w-chip-text,.w-panel-content,.w-input-small-select-options-text,.w-input-small-placeholder-text-typography,.w-input-small-placeholder-text-disabled,.w-input-small-placeholder-text,:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel,:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input,.w-view-small-value-text-typography,.w-view-small-value-text,.w-button-small-label-text-typography,.w-button-small-tertiary-label-text{font-size:1rem;line-height:1.3333333333rem;font-weight:400}.caption,.w-input-error-alert-text,.w-input-warning-alert-text,.w-input-success-alert-text{font-size:.6666666667rem;line-height:1rem;font-weight:400}.text846{color:#2e3134}.text700{color:#5f6368}.text500{color:#9aa0a6}.textWhite{color:#fff}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input:hover,:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input:hover{border-radius:8px;border:1px solid #00b2eb}.input-generic-valid{border-radius:8px;border:1px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:1px solid #B3FFD3!important;box-shadow:0 0 8px #46ff9b80!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:1px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:1px solid #FFECB8!important;box-shadow:0 0 8px #ffcd4680!important;padding-left:16px}.input-generic-error-focus{border-radius:8px;border:1px solid #FFBDBD!important;box-shadow:0 0 8px #ff555580!important;padding-left:16px}.input-generic-error{border-radius:8px;border:1px solid #FFBDBD}.toggle-small-typography{font-size:12px;line-height:16px;font-weight:600}.w-button-small-tertiary-label-text,.w-button-small-text-label-text{color:#2e3134}.w-button-small-icon-text{font-size:12px}.w-control-button-small-label-text{font-size:12px;font-weight:600;line-height:16px}.w-control-button-x-small-icon-text{font-size:10px;font-weight:700}.w-control-button-small-icon-text{font-size:8px;font-weight:700}.w-button-medium-label-text-typography,.w-button-medium-tertiary-label-text{font-size:16px;font-weight:400;line-height:16px}.w-button-medium-tertiary-label-text{color:#2e3134}.w-button-medium-icon-text{font-size:16px}.w-control-button-medium-label-text{font-size:14px;font-weight:600;line-height:16px}.w-control-button-medium-icon-text{font-size:12px;font-weight:700}.w-button-large-label-text-typography,.w-button-large-tertiary-label-text{font-size:20px;font-weight:400;line-height:24px}.w-button-large-tertiary-label-text{color:#2e3134}.w-button-x-small-label-text{font-size:10px;font-weight:600;line-height:10px}.w-button-small-only-label-text{font-size:12px;font-weight:600;line-height:16px}.w-button-large-icon-text{font-size:24px}.w-view-small-label-text,.w-view-small-value-text{color:#2e3134}.w-input-no-label-height{height:36px}.w-input-disabled{background-color:#f1f3f4;border-color:#e8eaed;opacity:1}.w-input-small-label-text,.w-input-small-label-disabled{color:#2e3134}.w-input-small-label-disabled{color:#9aa0a6}.w-input-small-label-text-content{padding:12px 8px 8px 0;margin:0}.w-input-small-label-text-content-no-top{padding-top:0}.w-input-small-placeholder-text,:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel,:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input{color:#2e3134}.w-input-small-placeholder-text-only-color{color:#2e3134}.w-input-small-placeholder-text-disabled,.w-input-small-placeholder-text-disabled-only-color{color:#5f6368}.w-input-small-text-icon,.w-input-small-select-options-text{color:#2e3134}.w-input-medium-label-text-typography,.w-input-medium-label-text,.w-input-medium-label-disabled{font-size:14px;font-weight:600;line-height:16px}.w-input-medium-label-text,.w-input-medium-label-disabled{color:#2e3134}.w-input-medium-label-disabled{color:#9aa0a6}.w-input-medium-placeholder-text-typography,.w-input-medium-placeholder-text-disabled,.w-input-medium-placeholder-text,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input::-moz-placeholder,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input{font-size:16px;font-weight:400;line-height:24px}.w-input-medium-placeholder-text,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input::-moz-placeholder,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input{color:#2e3134}.w-input-medium-placeholder-text-only-color{color:#2e3134}.w-input-medium-placeholder-text-disabled,.w-input-medium-placeholder-text-disabled-only-color{color:#5f6368}.w-input-medium-text-icon{color:#2e3134}.w-input-medium-select-options-text{font-size:16px;font-weight:400;line-height:24px;color:#2e3134}.w-input-success-alert-text{color:#00db5d;padding:8px 8px 0;margin-top:0}.w-input-warning-alert-text{color:#eeae00;padding:8px 8px 0;margin-top:0}.w-input-error-alert-text{color:#e50000;padding:8px 8px 0;margin-top:0}.w-input-alert-message-height{height:32px}.w-sidebar-title-text,.w-panel-title-text,.w-panel-subtitle-text{color:#2e3134}.w-panel-content{color:#5f6368}.w-tab-text,.w-chip-text{color:#2e3134}.w-badge-text{font-size:8px;font-weight:700;line-height:8px}.w-table-th-text{color:#2e3134}.w-table-td-text{color:#5f6368}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input{height:32px;padding-left:32px;border:1px solid #e8eaed;border-radius:8px}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input:focus{border-radius:8px;border:1px #d6f2ff;box-shadow:0 0 4px 4px #00a6e940!important;padding-left:34px!important}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input:focus::-moz-placeholder{color:transparent}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input::-moz-placeholder{color:#5f6368}.w-container-small>i:last-of-type{color:#bdc1c6;left:12px!important;z-index:1}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel{margin-top:4px;padding:8px 8px 12px;border-radius:8px}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel i:last-of-type{left:8px}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel ul{padding:0!important}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel .p-autocomplete-item{border-radius:8px;height:28px;padding-bottom:8px;padding-top:8px;padding-left:16px}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel .p-autocomplete-item:hover{background-color:#d6f2ff}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel .p-autocomplete-item .item-content{padding-left:8px}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input{height:40px;padding-left:38px;border:1px solid #e8eaed;border-radius:8px}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input:focus{border-radius:8px;border:1px #d6f2ff;box-shadow:0 0 4px 4px #00a6e940!important;padding-left:40px!important}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input:focus::-moz-placeholder{color:transparent}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input::-moz-placeholder{color:#bdc1c6}.w-container-medium>i:last-of-type{color:#bdc1c6;left:16px!important;z-index:1}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel{margin-top:4px;padding:8px 8px 16px;border-radius:8px}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel i:last-of-type{left:16px}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel ul{padding:0!important}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel .p-autocomplete-item{border-radius:8px;height:40px;padding-bottom:8px;padding-top:8px;padding-left:16px}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel .p-autocomplete-item:hover{background-color:#d6f2ff}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel .p-autocomplete-item .item-content{padding-left:8px}:host ::ng-deep .p-element .p-overlay{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "itemSize", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }] });
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WAutocompleteSearchComponent, decorators: [{
|
|
76
|
-
type: Component,
|
|
77
|
-
args: [{ selector: 'w-autocomplete-search', providers: [
|
|
78
|
-
{
|
|
79
|
-
provide: NG_VALUE_ACCESSOR,
|
|
80
|
-
useExisting: forwardRef(() => WAutocompleteSearchComponent),
|
|
81
|
-
multi: true
|
|
82
|
-
}
|
|
83
|
-
], template: "<div *ngIf=\"formControl != null; else noNgControl\">\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container-medium w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-medium\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-small\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-medium\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\" \r\n (ngModelChange)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-small\"\r\n [suggestions]=\"suggestions\"\r\n [(ngModel)]=\"value\" \r\n (input)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</ng-template>", styles: [".heading1{font-size:2.6666666667rem;line-height:3rem;font-weight:700}.heading2{font-size:2.3333333333rem;line-height:2.6666666667rem;font-weight:700}.heading3{font-size:2rem;line-height:2.3333333333rem;font-weight:700}.heading4{font-size:1.6666666667rem;line-height:2rem;font-weight:400}.heading5{font-size:1.5rem;line-height:1.8333333333rem;font-weight:600}.heading6{font-size:1.3333333333rem;line-height:1.6666666667rem;font-weight:400}.subtitle1,.w-tab-text,.w-panel-title-text,.w-sidebar-title-text{font-size:1.1666666667rem;line-height:1.3333333333rem;font-weight:600}.subtitle2,.w-table-th-text,.w-panel-subtitle-text,.w-input-small-label-text-typography,.w-input-small-label-text,.w-input-small-label-disabled,.w-view-small-label-text-typography,.w-view-small-label-text,.w-button-small-text-label-text-typography,.w-button-small-text-label-text{font-size:1rem;line-height:1.3333333333rem;font-weight:600}.body,.w-table-td-text,.w-chip-text,.w-panel-content,.w-input-small-select-options-text,.w-input-small-placeholder-text-typography,.w-input-small-placeholder-text-disabled,.w-input-small-placeholder-text,:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel,:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input,.w-view-small-value-text-typography,.w-view-small-value-text,.w-button-small-label-text-typography,.w-button-small-tertiary-label-text{font-size:1rem;line-height:1.3333333333rem;font-weight:400}.caption,.w-input-error-alert-text,.w-input-warning-alert-text,.w-input-success-alert-text{font-size:.6666666667rem;line-height:1rem;font-weight:400}.text846{color:#2e3134}.text700{color:#5f6368}.text500{color:#9aa0a6}.textWhite{color:#fff}.spacingXXS{padding:4px}.spacingXSM{padding:6px}.spacingXS{padding:8px}.spacingS{padding:12px}.spacingM{padding:16px}.spacingL{padding:20px}.spacingXL{padding:24px}.spacingXXL{padding:28px}.spacingXXXL{padding:32px}.focus{box-shadow:0 0 8px #00a6e980}.hover,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input:hover,:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input:hover{border-radius:8px;border:1px solid #00b2eb}.input-generic-valid{border-radius:8px;border:1px solid #B3FFD3}.input-generic-valid-focus{border-radius:8px;border:1px solid #B3FFD3!important;box-shadow:0 0 8px #46ff9b80!important;padding-left:16px}.input-generic-warning{border-radius:8px;border:1px solid #FFECB8!important}.input-generic-warning-focus{border-radius:8px;border:1px solid #FFECB8!important;box-shadow:0 0 8px #ffcd4680!important;padding-left:16px}.input-generic-error-focus{border-radius:8px;border:1px solid #FFBDBD!important;box-shadow:0 0 8px #ff555580!important;padding-left:16px}.input-generic-error{border-radius:8px;border:1px solid #FFBDBD}.toggle-small-typography{font-size:12px;line-height:16px;font-weight:600}.w-button-small-tertiary-label-text,.w-button-small-text-label-text{color:#2e3134}.w-button-small-icon-text{font-size:12px}.w-control-button-small-label-text{font-size:12px;font-weight:600;line-height:16px}.w-control-button-x-small-icon-text{font-size:10px;font-weight:700}.w-control-button-small-icon-text{font-size:8px;font-weight:700}.w-button-medium-label-text-typography,.w-button-medium-tertiary-label-text{font-size:16px;font-weight:400;line-height:16px}.w-button-medium-tertiary-label-text{color:#2e3134}.w-button-medium-icon-text{font-size:16px}.w-control-button-medium-label-text{font-size:14px;font-weight:600;line-height:16px}.w-control-button-medium-icon-text{font-size:12px;font-weight:700}.w-button-large-label-text-typography,.w-button-large-tertiary-label-text{font-size:20px;font-weight:400;line-height:24px}.w-button-large-tertiary-label-text{color:#2e3134}.w-button-x-small-label-text{font-size:10px;font-weight:600;line-height:10px}.w-button-small-only-label-text{font-size:12px;font-weight:600;line-height:16px}.w-button-large-icon-text{font-size:24px}.w-view-small-label-text,.w-view-small-value-text{color:#2e3134}.w-input-no-label-height{height:36px}.w-input-disabled{background-color:#f1f3f4;border-color:#e8eaed;opacity:1}.w-input-small-label-text,.w-input-small-label-disabled{color:#2e3134}.w-input-small-label-disabled{color:#9aa0a6}.w-input-small-label-text-content{padding:12px 8px 8px 0;margin:0}.w-input-small-label-text-content-no-top{padding-top:0}.w-input-small-placeholder-text,:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel,:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input{color:#2e3134}.w-input-small-placeholder-text-only-color{color:#2e3134}.w-input-small-placeholder-text-disabled,.w-input-small-placeholder-text-disabled-only-color{color:#5f6368}.w-input-small-text-icon,.w-input-small-select-options-text{color:#2e3134}.w-input-medium-label-text-typography,.w-input-medium-label-text,.w-input-medium-label-disabled{font-size:14px;font-weight:600;line-height:16px}.w-input-medium-label-text,.w-input-medium-label-disabled{color:#2e3134}.w-input-medium-label-disabled{color:#9aa0a6}.w-input-medium-placeholder-text-typography,.w-input-medium-placeholder-text-disabled,.w-input-medium-placeholder-text,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input::-moz-placeholder,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input{font-size:16px;font-weight:400;line-height:24px}.w-input-medium-placeholder-text,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input::-moz-placeholder,:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input{color:#2e3134}.w-input-medium-placeholder-text-only-color{color:#2e3134}.w-input-medium-placeholder-text-disabled,.w-input-medium-placeholder-text-disabled-only-color{color:#5f6368}.w-input-medium-text-icon{color:#2e3134}.w-input-medium-select-options-text{font-size:16px;font-weight:400;line-height:24px;color:#2e3134}.w-input-success-alert-text{color:#00db5d;padding:8px 8px 0;margin-top:0}.w-input-warning-alert-text{color:#eeae00;padding:8px 8px 0;margin-top:0}.w-input-error-alert-text{color:#e50000;padding:8px 8px 0;margin-top:0}.w-input-alert-message-height{height:32px}.w-sidebar-title-text,.w-panel-title-text,.w-panel-subtitle-text{color:#2e3134}.w-panel-content{color:#5f6368}.w-tab-text,.w-chip-text{color:#2e3134}.w-badge-text{font-size:8px;font-weight:700;line-height:8px}.w-table-th-text{color:#2e3134}.w-table-td-text{color:#5f6368}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input{height:32px;padding-left:32px;border:1px solid #e8eaed;border-radius:8px}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input:focus{border-radius:8px;border:1px #d6f2ff;box-shadow:0 0 4px 4px #00a6e940!important;padding-left:34px!important}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input:focus::-moz-placeholder{color:transparent}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete .p-autocomplete-input::-moz-placeholder{color:#5f6368}.w-container-small>i:last-of-type{color:#bdc1c6;left:12px!important;z-index:1}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel{margin-top:4px;padding:8px 8px 12px;border-radius:8px}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel i:last-of-type{left:8px}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel ul{padding:0!important}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel .p-autocomplete-item{border-radius:8px;height:28px;padding-bottom:8px;padding-top:8px;padding-left:16px}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel .p-autocomplete-item:hover{background-color:#d6f2ff}:host ::ng-deep .w-autocomplete-search-small .p-autocomplete-panel .p-autocomplete-item .item-content{padding-left:8px}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input{height:40px;padding-left:38px;border:1px solid #e8eaed;border-radius:8px}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input:focus{border-radius:8px;border:1px #d6f2ff;box-shadow:0 0 4px 4px #00a6e940!important;padding-left:40px!important}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input:focus::-moz-placeholder{color:transparent}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete .p-autocomplete-input::-moz-placeholder{color:#bdc1c6}.w-container-medium>i:last-of-type{color:#bdc1c6;left:16px!important;z-index:1}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel{margin-top:4px;padding:8px 8px 16px;border-radius:8px}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel i:last-of-type{left:16px}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel ul{padding:0!important}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel .p-autocomplete-item{border-radius:8px;height:40px;padding-bottom:8px;padding-top:8px;padding-left:16px}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel .p-autocomplete-item:hover{background-color:#d6f2ff}:host ::ng-deep .w-autocomplete-search-medium .p-autocomplete-panel .p-autocomplete-item .item-content{padding-left:8px}:host ::ng-deep .p-element .p-overlay{width:100%}\n"] }]
|
|
84
|
-
}], propDecorators: { label: [{
|
|
85
|
-
type: Input,
|
|
86
|
-
args: ['label']
|
|
87
|
-
}], placeholder: [{
|
|
88
|
-
type: Input,
|
|
89
|
-
args: ['placeholder']
|
|
90
|
-
}], isRequired: [{
|
|
91
|
-
type: Input,
|
|
92
|
-
args: ['isRequired']
|
|
93
|
-
}], isDisabled: [{
|
|
94
|
-
type: Input,
|
|
95
|
-
args: ['isDisabled']
|
|
96
|
-
}], size: [{
|
|
97
|
-
type: Input,
|
|
98
|
-
args: ['size']
|
|
99
|
-
}], items: [{
|
|
100
|
-
type: Input,
|
|
101
|
-
args: ['items']
|
|
102
|
-
}], formControl: [{
|
|
103
|
-
type: Input,
|
|
104
|
-
args: ['formControl']
|
|
105
|
-
}] } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy1hdXRvY29tcGxldGUtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL3NlYXJjaC93LWF1dG9jb21wbGV0ZS1zZWFyY2gvdy1hdXRvY29tcGxldGUtc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dhcHAtY29tcG9uZW50cy9zcmMvbGliL3NlYXJjaC93LWF1dG9jb21wbGV0ZS1zZWFyY2gvdy1hdXRvY29tcGxldGUtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFlLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQWNoRSxNQUFNLE9BQU8sNEJBQTRCO0lBWnpDO1FBYWtCLFVBQUssR0FBVyxlQUFlLENBQUM7UUFDMUIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFMUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBRWxDLFNBQUksR0FBVyxRQUFRLENBQUM7UUFFdkIsVUFBSyxHQUFVO1lBQzdCLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDO1lBQ3JDLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDO1lBQ2hDLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDO1lBQ2pDLEVBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7U0FDekMsQ0FBQztRQUtGLGdCQUFX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QkFBaEMsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTaXplVHlwZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9lbnVtcy9lbnVtJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3LWF1dG9jb21wbGV0ZS1zZWFyY2gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93LWF1dG9jb21wbGV0ZS1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3ctYXV0b2NvbXBsZXRlLXNlYXJjaC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV0F1dG9jb21wbGV0ZVNlYXJjaENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV0F1dG9jb21wbGV0ZVNlYXJjaENvbXBvbmVudCB7XHJcbiAgQElucHV0KCdsYWJlbCcpIGxhYmVsOiBzdHJpbmcgPSBcIkRlZmF1bHQgTGFiZWxcIjtcclxuICBASW5wdXQoJ3BsYWNlaG9sZGVyJykgcGxhY2Vob2xkZXI6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgnaXNSZXF1aXJlZCcpIGlzUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoJ2lzRGlzYWJsZWQnKSBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgnc2l6ZScpIHNpemU6IHN0cmluZyA9IFwibWVkaXVtXCI7XHJcblxyXG4gIEBJbnB1dCgnaXRlbXMnKSBpdGVtczogYW55W10gPSBbXHJcbiAgICB7XCJuYW1lXCI6IFwiQWZnaGFuaXN0YW5cIiwgXCJjb2RlXCI6IFwiQUZcIn0sXHJcbiAgICB7XCJuYW1lXCI6IFwiTcOpeGljb1wiLCBcImNvZGVcIjogXCJNWFwifSxcclxuICAgIHtcIm5hbWVcIjogXCJUdXJxdcOtYVwiLCBcImNvZGVcIjogXCJUUVwifSxcclxuICAgIHtcIm5hbWVcIjogXCJFc3RhZG9zIHVuaWRvc1wiLCBcImNvZGVcIjogXCJFVVwifSxcclxuICBdO1xyXG4gIFxyXG4gIEBJbnB1dCgnZm9ybUNvbnRyb2wnKSBmb3JtQ29udHJvbCE6IEZvcm1Db250cm9sIHwgbnVsbDtcclxuICBcclxuICBzZWxlY3RlZEl0ZW06IGFueTtcclxuICBzdWdnZXN0aW9uczogYW55W10gPSBbXTtcclxuICB2YWx1ZTogYW55IDtcclxuXHJcbiAgaXNUb3VjaGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG9uQ2hhbmdlID0gKF86YW55KSA9PiB7IH1cclxuICBvblRvdWNoID0gKCkgPT4geyB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gb25DaGFuZ2U7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IG9uVG91Y2g7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZWQoKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoKCk7XHJcbiAgfVxyXG5cclxuICBvbklucHV0Qmx1cihldmVudDogRXZlbnQpIHtcclxuICAgIGNvbnN0IG5ld1ZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcclxuICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2goKTtcclxuICB9XHJcbiAgXHJcbiAgc2VhcmNoKGV2ZW50OiBhbnkpIHtcclxuXHJcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XHJcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcclxuXHJcbiAgICBmb3IobGV0IGk9MDsgaSA8ICh0aGlzLml0ZW1zIGFzIGFueVtdKS5sZW5ndGg7IGkrKylcclxuICAgIHtcclxuICAgICAgbGV0IGl0ZW0gPSAodGhpcy5pdGVtcyBhcyBhbnlbXSlbaV07XHJcbiAgICAgIGlmKGl0ZW0ubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMClcclxuICAgICAge1xyXG4gICAgICAgIGZpbHRlcmVkLnB1c2goaXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSBmaWx0ZXJlZDtcclxuICB9XHJcblxyXG4gIGdldFNpemVOYW1lKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFNpemVUeXBlW3ZhbHVlXTtcclxuICB9XHJcbiAgXHJcbiAgZ2V0IHNpemVUeXBlKCk6IHR5cGVvZiBTaXplVHlwZSB7XHJcbiAgICByZXR1cm4gU2l6ZVR5cGU7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJmb3JtQ29udHJvbCAhPSBudWxsOyBlbHNlIG5vTmdDb250cm9sXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZ2V0U2l6ZU5hbWUoc2l6ZVR5cGUubWVkaXVtKSA9PSBzaXplOyBlbHNlIGlucHV0U21hbGxcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInAtaW5wdXQtaWNvbi1sZWZ0IHctY29udGFpbmVyLW1lZGl1bSB3LWZ1bGxcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1zZWFyY2hcIj48L2k+XHJcbiAgICAgICAgICAgIDxwLWF1dG9Db21wbGV0ZVxyXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJ7J3dpZHRoJzonMTAwJSd9XCJcclxuICAgICAgICAgICAgICAgICAgICBbaW5wdXRTdHlsZV09XCJ7J3dpZHRoJzonMTAwJSd9XCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctYXV0b2NvbXBsZXRlLXNlYXJjaC1tZWRpdW1cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzdWdnZXN0aW9uc109XCJzdWdnZXN0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNvbXBsZXRlTWV0aG9kKT1cInNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ9XCJuYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXNlYXJjaFwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNvbnRlbnRcIj57e2l0ZW0ubmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvcC1hdXRvQ29tcGxldGU+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI2lucHV0U21hbGw+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwLWlucHV0LWljb24tbGVmdCB3LWNvbnRhaW5lci1zbWFsbCB3LWZ1bGxcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1zZWFyY2hcIj48L2k+XHJcbiAgICAgICAgICAgIDxwLWF1dG9Db21wbGV0ZVxyXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJ7J3dpZHRoJzonMTAwJSd9XCJcclxuICAgICAgICAgICAgICAgICAgICBbaW5wdXRTdHlsZV09XCJ7J3dpZHRoJzonMTAwJSd9XCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctYXV0b2NvbXBsZXRlLXNlYXJjaC1zbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3N1Z2dlc3Rpb25zXT1cInN1Z2dlc3Rpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWVsZD1cIm5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktc2VhcmNoXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tY29udGVudC1zbWFsbFwiPnt7aXRlbS5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuPG5nLXRlbXBsYXRlICNub05nQ29udHJvbD5cclxuICAgIDxkaXYgKm5nSWY9XCJnZXRTaXplTmFtZShzaXplVHlwZS5tZWRpdW0pID09IHNpemU7IGVsc2UgaW5wdXRTbWFsbFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicC1pbnB1dC1pY29uLWxlZnQgdy1jb250YWluZXIgdy1mdWxsXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktc2VhcmNoXCI+PC9pPlxyXG4gICAgICAgICAgICA8cC1hdXRvQ29tcGxldGVcclxuICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwieyd3aWR0aCc6JzEwMCUnfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lucHV0U3R5bGVdPVwieyd3aWR0aCc6JzEwMCUnfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWF1dG9jb21wbGV0ZS1zZWFyY2gtbWVkaXVtXCJcclxuICAgICAgICAgICAgICAgICAgICBbc3VnZ2VzdGlvbnNdPVwic3VnZ2VzdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZWQoKVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWVsZD1cIm5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktc2VhcmNoXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tY29udGVudFwiPnt7aXRlbS5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjaW5wdXRTbWFsbD5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInAtaW5wdXQtaWNvbi1sZWZ0IHctY29udGFpbmVyLXNtYWxsIHctZnVsbFwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXNlYXJjaFwiPjwvaT5cclxuICAgICAgICAgICAgPHAtYXV0b0NvbXBsZXRlXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cInsnd2lkdGgnOicxMDAlJ31cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpbnB1dFN0eWxlXT1cInsnd2lkdGgnOicxMDAlJ31cIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1hdXRvY29tcGxldGUtc2VhcmNoLXNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICBbc3VnZ2VzdGlvbnNdPVwic3VnZ2VzdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIiBcclxuICAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25WYWx1ZUNoYW5nZWQoKVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ9XCJuYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXNlYXJjaFwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNvbnRlbnQtc21hbGxcIj57e2l0ZW0ubmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvcC1hdXRvQ29tcGxldGU+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|