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
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<div *ngIf="panel; else timeline">
|
|
2
|
+
<w-panel [title]="header" [reduced]="reducedPanelMargin">
|
|
3
|
+
<div class="col-12">
|
|
4
|
+
<ng-container *ngTemplateOutlet="timeline"></ng-container>
|
|
5
|
+
</div>
|
|
6
|
+
</w-panel>
|
|
7
|
+
</div>
|
|
8
|
+
|
|
9
|
+
<ng-template #timeline>
|
|
10
|
+
<p-timeline [value]="events" [align]="align" styleClass="customized-timeline"
|
|
11
|
+
[class.w-timeline-non-alternate]="align != 'alternate'">
|
|
12
|
+
<ng-template pTemplate="marker" let-event>
|
|
13
|
+
<span *ngIf="event.color.includes('#'); else wappingColors"
|
|
14
|
+
class="flex w-2rem h-2rem align-items-center justify-content-center text-white border-circle z-1 shadow-1 shadow-2"
|
|
15
|
+
[style.backgroundColor]="event.color">
|
|
16
|
+
<i [ngClass]="'pi '+event.icon"></i>
|
|
17
|
+
</span>
|
|
18
|
+
<ng-template #wappingColors>
|
|
19
|
+
<span
|
|
20
|
+
class="flex w-2rem h-2rem align-items-center justify-content-center text-white border-circle z-1 shadow-1 shadow-2"
|
|
21
|
+
[class]="'w-timeline-event color-'+event.color">
|
|
22
|
+
<i [ngClass]="'pi '+event.icon" [class]="'w-timeline-event color-'+event.color"></i>
|
|
23
|
+
</span>
|
|
24
|
+
</ng-template>
|
|
25
|
+
</ng-template>
|
|
26
|
+
<ng-template pTemplate="content" let-event>
|
|
27
|
+
<w-panel [title]="event.status" [subtitle]="event.date" [reduced]="reducedEventPanelMargin">
|
|
28
|
+
<div class="col-12">
|
|
29
|
+
<img *ngIf="event.image"
|
|
30
|
+
[src]="event.image"
|
|
31
|
+
[alt]="event.name" width="200" class="shadow-2" />
|
|
32
|
+
<p> {{event.content}} </p>
|
|
33
|
+
<div class="flex w-timeline-button" [ngClass]="{'w-timeline-button-end':align == 'left', 'w-timeline-button-start':align == 'right'}">
|
|
34
|
+
<w-button *ngIf="event.button" type="text"
|
|
35
|
+
[label]="event.button.label"
|
|
36
|
+
[icon]="event.button.icon!"
|
|
37
|
+
(onClick)="onButtonClick(event)">
|
|
38
|
+
</w-button>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</w-panel>
|
|
42
|
+
</ng-template>
|
|
43
|
+
</p-timeline>
|
|
44
|
+
</ng-template>
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
@import '../../../styles/_variables.scss';
|
|
2
|
+
|
|
3
|
+
::ng-deep .p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(2n+1) .p-timeline-event-opposite {
|
|
4
|
+
text-align: right;
|
|
5
|
+
padding: $spacingZero;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
::ng-deep .p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(2n+1) .p-timeline-event-content {
|
|
9
|
+
text-align: left;
|
|
10
|
+
padding: $spacingZero $spacingZero $spacingZero $spacingM;
|
|
11
|
+
|
|
12
|
+
.w-timeline-button {
|
|
13
|
+
justify-content: end;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
::ng-deep .p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(2n) .p-timeline-event-content {
|
|
18
|
+
text-align: right;
|
|
19
|
+
padding: $spacingZero $spacingM $spacingZero $spacingZero;
|
|
20
|
+
|
|
21
|
+
.w-timeline-button {
|
|
22
|
+
justify-content: start;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
::ng-deep .w-timeline-non-alternate .p-timeline-event-content {
|
|
27
|
+
padding: 0 1rem;
|
|
28
|
+
margin-bottom: $spacingM !important;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.w-timeline-button-end {
|
|
32
|
+
justify-content: end;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.w-timeline-button-start {
|
|
36
|
+
justify-content: start;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.w-timeline-event.color-success {
|
|
40
|
+
background-color: $statusSuccess2;
|
|
41
|
+
color: $statusSuccess1;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.w-timeline-event.color-warn {
|
|
45
|
+
background-color: $statusWarning2;
|
|
46
|
+
color: $statusWarning1;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.w-timeline-event.color-info {
|
|
50
|
+
background-color: $statusInfo2;
|
|
51
|
+
color: $statusInfo1;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.w-timeline-event.color-error {
|
|
55
|
+
background-color: $statusError2;
|
|
56
|
+
color: $statusError1;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.w-timeline-event-icon-white {
|
|
60
|
+
color: $white;
|
|
61
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { WTimelineComponent } from './w-timeline.component';
|
|
4
|
+
|
|
5
|
+
describe('WTimelineComponent', () => {
|
|
6
|
+
let component: WTimelineComponent;
|
|
7
|
+
let fixture: ComponentFixture<WTimelineComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
declarations: [ WTimelineComponent ]
|
|
12
|
+
})
|
|
13
|
+
.compileComponents();
|
|
14
|
+
|
|
15
|
+
fixture = TestBed.createComponent(WTimelineComponent);
|
|
16
|
+
component = fixture.componentInstance;
|
|
17
|
+
fixture.detectChanges();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('should create', () => {
|
|
21
|
+
expect(component).toBeTruthy();
|
|
22
|
+
});
|
|
23
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { WTimelineEventItem } from '../../shared/models/w-timeline-event-item.model';
|
|
3
|
+
import { ActionButtonResponse } from '../../shared/models/action-button-response.model';
|
|
4
|
+
|
|
5
|
+
@Component({
|
|
6
|
+
selector: 'w-timeline',
|
|
7
|
+
templateUrl: './w-timeline.component.html',
|
|
8
|
+
styleUrls: ['./w-timeline.component.scss']
|
|
9
|
+
})
|
|
10
|
+
export class WTimelineComponent {
|
|
11
|
+
|
|
12
|
+
@Input('events') events!: WTimelineEventItem[];
|
|
13
|
+
@Input('header') header!: string;
|
|
14
|
+
@Input('panel') panel: boolean = false;
|
|
15
|
+
@Input('align') align: string = "alternate";
|
|
16
|
+
@Input('reducedPanelMargin') reducedPanelMargin: boolean = false;
|
|
17
|
+
@Input('reducedEventPanelMargin') reducedEventPanelMargin: boolean = false;
|
|
18
|
+
|
|
19
|
+
@Output('buttonClick') buttonClick: EventEmitter<ActionButtonResponse> = new EventEmitter<ActionButtonResponse>();
|
|
20
|
+
|
|
21
|
+
constructor() {}
|
|
22
|
+
|
|
23
|
+
onButtonClick(event: WTimelineEventItem) {
|
|
24
|
+
if(event.button?.id)
|
|
25
|
+
this.buttonClick.emit({id: event.button.id, element: event})
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<w-panel class="col-12" [activeGrid]="false">
|
|
2
|
+
<p-steps [model]="stepsItems" [activeIndex]="activeIndex" (activeIndexChange)="onActiveIndexChange($event)" [readonly]="isReadOnly"></p-steps>
|
|
3
|
+
</w-panel>
|
|
4
|
+
|
|
5
|
+
<w-panel class="col-12" [activeGrid]="false">
|
|
6
|
+
|
|
7
|
+
<div class="flex flex-column align-items-center sm:align-items-start w-wizard-headings">
|
|
8
|
+
<span *ngIf="stepsHeadings && stepsHeadings[activeIndex]" class="w-wizard-heading">
|
|
9
|
+
{{stepsHeadings[activeIndex]}}
|
|
10
|
+
</span>
|
|
11
|
+
<span *ngIf="stepsSubheadings && stepsSubheadings[activeIndex]" class="w-wizard-subheading">
|
|
12
|
+
{{stepsSubheadings[activeIndex]}}
|
|
13
|
+
</span>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<ng-content *ngIf="activeIndex == 0" select=".step-1" class="w-wizard-body"></ng-content>
|
|
17
|
+
<ng-content *ngIf="activeIndex == 1" select=".step-2" class="w-wizard-body"></ng-content>
|
|
18
|
+
<ng-content *ngIf="activeIndex == 2" select=".step-3" class="w-wizard-body"></ng-content>
|
|
19
|
+
<ng-content *ngIf="activeIndex == 3" select=".step-4" class="w-wizard-body"></ng-content>
|
|
20
|
+
<ng-content *ngIf="activeIndex == 4" select=".step-5" class="w-wizard-body"></ng-content>
|
|
21
|
+
<ng-content *ngIf="activeIndex == 5" select=".step-6" class="w-wizard-body"></ng-content>
|
|
22
|
+
<ng-content *ngIf="activeIndex == 6" select=".step-7" class="w-wizard-body"></ng-content>
|
|
23
|
+
<ng-content *ngIf="activeIndex == 7" select=".step-8" class="w-wizard-body"></ng-content>
|
|
24
|
+
<ng-content *ngIf="activeIndex == 8" select=".step-9" class="w-wizard-body"></ng-content>
|
|
25
|
+
<ng-content *ngIf="activeIndex == 9" select=".step-10" class="w-wizard-body"></ng-content>
|
|
26
|
+
<ng-content *ngIf="activeIndex == 10" select=".step-11" class="w-wizard-body"></ng-content>
|
|
27
|
+
<ng-content *ngIf="activeIndex == 11" select=".step-12" class="w-wizard-body"></ng-content>
|
|
28
|
+
<ng-content *ngIf="activeIndex == 12" select=".step-13" class="w-wizard-body"></ng-content>
|
|
29
|
+
<ng-content *ngIf="activeIndex == 13" select=".step-14" class="w-wizard-body"></ng-content>
|
|
30
|
+
<ng-content *ngIf="activeIndex == 14" select=".step-15" class="w-wizard-body"></ng-content>
|
|
31
|
+
<ng-content *ngIf="activeIndex == 15" select=".step-16" class="w-wizard-body"></ng-content>
|
|
32
|
+
<ng-content *ngIf="activeIndex == 16" select=".step-17" class="w-wizard-body"></ng-content>
|
|
33
|
+
<ng-content *ngIf="activeIndex == 17" select=".step-18" class="w-wizard-body"></ng-content>
|
|
34
|
+
<ng-content *ngIf="activeIndex == 18" select=".step-19" class="w-wizard-body"></ng-content>
|
|
35
|
+
<ng-content *ngIf="activeIndex == 19" select=".step-20" class="w-wizard-body"></ng-content>
|
|
36
|
+
|
|
37
|
+
<div class="flex justify-content-between flex-wrap m-auto">
|
|
38
|
+
<div class="flex align-items-center justify-content-center">
|
|
39
|
+
<w-button *ngIf="activeIndex != 0"
|
|
40
|
+
[icon]="'pi-arrow-left'"
|
|
41
|
+
type="secondary"
|
|
42
|
+
[label]="previousBtnLabel"
|
|
43
|
+
(onClick)="previousPage()">
|
|
44
|
+
</w-button>
|
|
45
|
+
</div>
|
|
46
|
+
<div *ngIf="!(stepsItems.length -1 == activeIndex); else confirmButtons" class="flex align-items-center justify-content-center">
|
|
47
|
+
<w-button type="primary"
|
|
48
|
+
[icon]="'pi-arrow-right'"
|
|
49
|
+
[label]="nextBtnLabel"
|
|
50
|
+
(onClick)="nextPage()">
|
|
51
|
+
</w-button>
|
|
52
|
+
</div>
|
|
53
|
+
<ng-template #confirmButtons >
|
|
54
|
+
<div class="flex align-items-center justify-content-center">
|
|
55
|
+
<w-button *ngIf="secondaryConfirmButtonLabel"
|
|
56
|
+
type="secondary"
|
|
57
|
+
class="w-wizard-button-gap"
|
|
58
|
+
[icon]="'pi '+secondaryConfirmButtonIcon"
|
|
59
|
+
[label]="secondaryConfirmButtonLabel"
|
|
60
|
+
[disabled]="formGroup && !formGroup.valid"
|
|
61
|
+
(onClick)="secondaryConfirm()">
|
|
62
|
+
</w-button>
|
|
63
|
+
<w-button type="primary"
|
|
64
|
+
[icon]="'pi '+confirmButtonIcon"
|
|
65
|
+
[label]="confirmButtonLabel"
|
|
66
|
+
[disabled]="formGroup && !formGroup.valid"
|
|
67
|
+
(onClick)="confirm()">
|
|
68
|
+
</w-button>
|
|
69
|
+
</div>
|
|
70
|
+
</ng-template>
|
|
71
|
+
</div>
|
|
72
|
+
</w-panel>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
@import '../../../styles/_variables.scss';
|
|
2
|
+
|
|
3
|
+
.w-wizard-button-gap {
|
|
4
|
+
margin-right: $spacingM;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.w-wizard-heading {
|
|
8
|
+
@extend .heading4;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.w-wizard-subheading {
|
|
12
|
+
@extend .subtitle2;
|
|
13
|
+
margin-top: $spacingM;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.w-wizard-body {
|
|
17
|
+
@extend .body;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
::ng-deep .p-steps .p-steps-item.p-highlight .p-steps-title {
|
|
21
|
+
@extend .body;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
::ng-deep .p-steps .p-steps-item.p-highlight .p-steps-number {
|
|
25
|
+
background: $highlightBg;
|
|
26
|
+
color: $primaryDarkerColor;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.w-wizard-headings {
|
|
30
|
+
margin-bottom: $spacingM;
|
|
31
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { WWizardComponent } from './w-wizard.component';
|
|
4
|
+
|
|
5
|
+
describe('WWizardComponent', () => {
|
|
6
|
+
let component: WWizardComponent;
|
|
7
|
+
let fixture: ComponentFixture<WWizardComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
declarations: [ WWizardComponent ]
|
|
12
|
+
})
|
|
13
|
+
.compileComponents();
|
|
14
|
+
|
|
15
|
+
fixture = TestBed.createComponent(WWizardComponent);
|
|
16
|
+
component = fixture.componentInstance;
|
|
17
|
+
fixture.detectChanges();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('should create', () => {
|
|
21
|
+
expect(component).toBeTruthy();
|
|
22
|
+
});
|
|
23
|
+
});
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { MenuItem, MessageService } from 'primeng/api';
|
|
4
|
+
|
|
5
|
+
@Component({
|
|
6
|
+
selector: 'w-wizard',
|
|
7
|
+
templateUrl: './w-wizard.component.html',
|
|
8
|
+
styleUrls: ['./w-wizard.component.scss'],
|
|
9
|
+
providers: [MessageService]
|
|
10
|
+
})
|
|
11
|
+
export class WWizardComponent {
|
|
12
|
+
items!: MenuItem[];
|
|
13
|
+
activeIndex: number = 0;
|
|
14
|
+
|
|
15
|
+
@Input('stepsItems') stepsItems!: MenuItem[];
|
|
16
|
+
@Input('stepsHeadings') stepsHeadings!: string[];
|
|
17
|
+
@Input('stepsSubheadings') stepsSubheadings!: string[];
|
|
18
|
+
@Input('nextBtnLabel') nextBtnLabel: string = "Next";
|
|
19
|
+
@Input('previousBtnLabel') previousBtnLabel: string = "Previous";
|
|
20
|
+
@Input('confirmButtonLabel') confirmButtonLabel!: string;
|
|
21
|
+
@Input('confirmButtonIcon') confirmButtonIcon!: string;
|
|
22
|
+
@Input('secondaryConfirmButtonLabel') secondaryConfirmButtonLabel!: string;
|
|
23
|
+
@Input('secondaryConfirmButtonIcon') secondaryConfirmButtonIcon!: string;
|
|
24
|
+
@Input('isReadOnly') isReadOnly: boolean = true;
|
|
25
|
+
@Input('formGroup') formGroup!: FormGroup;
|
|
26
|
+
|
|
27
|
+
@Output('confirmButtonActivated') confirmButtonActivated = new EventEmitter<boolean>();
|
|
28
|
+
@Output('secondaryConfirmButtonActivated') secondaryConfirmButtonActivated = new EventEmitter<boolean>();
|
|
29
|
+
@Output('activeIndexParent') activeIndexParent = new EventEmitter<number>();
|
|
30
|
+
|
|
31
|
+
constructor(public messageService: MessageService) {}
|
|
32
|
+
|
|
33
|
+
onActiveIndexChange(event:any) {
|
|
34
|
+
this.activeIndex = event;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
nextPage() {
|
|
38
|
+
this.activeIndex++;
|
|
39
|
+
this.activeIndexParent.emit(this.activeIndex);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
previousPage() {
|
|
44
|
+
this.activeIndex--;
|
|
45
|
+
this.activeIndexParent.emit(this.activeIndex);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
confirm() {
|
|
49
|
+
this.confirmButtonActivated.emit(true);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
secondaryConfirm() {
|
|
53
|
+
this.secondaryConfirmButtonActivated.emit(true);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
::ng-deep iframe {
|
|
2
|
+
border: none;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
::ng-deep .hidden {
|
|
6
|
+
height: 0 !important;
|
|
7
|
+
width: 0 !important;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
::ng-deep .report-container {
|
|
11
|
+
height: var(--height);
|
|
12
|
+
width: auto;
|
|
13
|
+
margin: 0px auto;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
::ng-deep .powerbi-report-container .card {
|
|
17
|
+
padding: 5px;
|
|
18
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<div *ngIf="reportTitle || showPrintButton || showFullScreenButton" class="flex justify-content-between flex-wrap">
|
|
2
|
+
<div class="flex align-items-center justify-content-center">
|
|
3
|
+
</div>
|
|
4
|
+
<div class="flex align-items-center justify-content-center">
|
|
5
|
+
<div class="text-right">
|
|
6
|
+
<p-button *ngIf="showRefreshButton" icon="pi pi-refresh"
|
|
7
|
+
styleClass="p-button-rounded p-button-secondary p-button-text"
|
|
8
|
+
(onClick)="refresh()">
|
|
9
|
+
</p-button>
|
|
10
|
+
<p-button *ngIf="showPrintButton" icon="pi pi-print"
|
|
11
|
+
styleClass="p-button-rounded p-button-secondary p-button-text"
|
|
12
|
+
(onClick)="print()">
|
|
13
|
+
</p-button>
|
|
14
|
+
<p-button *ngIf="showFullScreenButton" icon="pi pi-arrows-alt"
|
|
15
|
+
styleClass="p-button-rounded p-button-secondary p-button-text"
|
|
16
|
+
(onClick)="enterFullScreen()">
|
|
17
|
+
</p-button>
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div *ngIf="filterPanelPosition == 'right'" class="grid">
|
|
23
|
+
<div class="col-12 md:col-12 lg:col-8">
|
|
24
|
+
<ng-container *ngTemplateOutlet="powerbiReport"></ng-container>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="col-12 md:col-12 lg:col-4">
|
|
27
|
+
<ng-content *ngIf="hasReportFilters" select=".report-filters-right"></ng-content>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div *ngIf="filterPanelPosition == 'left'" class="grid">
|
|
32
|
+
<div class="col-12 md:col-12 lg:col-8">
|
|
33
|
+
<ng-content *ngIf="hasReportFilters" select=".report-filters-left"></ng-content>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="col-12 md:col-12 lg:col-4">
|
|
36
|
+
<ng-container *ngTemplateOutlet="powerbiReport"></ng-container>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
|
|
40
|
+
<div *ngIf="filterPanelPosition == 'bottom'">
|
|
41
|
+
<ng-container *ngTemplateOutlet="powerbiReport"></ng-container>
|
|
42
|
+
<ng-content *ngIf="hasReportFilters" select=".report-filters-bottom"></ng-content>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<ng-template #powerbiReport>
|
|
46
|
+
<div id="powerbiContainer">
|
|
47
|
+
<powerbi-report [embedConfig]="reportConfig"
|
|
48
|
+
[cssClassName]="reportClass"
|
|
49
|
+
[eventHandlers]="eventHandlersMap">
|
|
50
|
+
</powerbi-report>
|
|
51
|
+
</div>
|
|
52
|
+
</ng-template>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { WPowerbiReportComponent } from './w-powerbi-report.component';
|
|
4
|
+
|
|
5
|
+
describe('WPowerbiReportComponent', () => {
|
|
6
|
+
let component: WPowerbiReportComponent;
|
|
7
|
+
let fixture: ComponentFixture<WPowerbiReportComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
declarations: [ WPowerbiReportComponent ]
|
|
12
|
+
})
|
|
13
|
+
.compileComponents();
|
|
14
|
+
|
|
15
|
+
fixture = TestBed.createComponent(WPowerbiReportComponent);
|
|
16
|
+
component = fixture.componentInstance;
|
|
17
|
+
fixture.detectChanges();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('should create', () => {
|
|
21
|
+
expect(component).toBeTruthy();
|
|
22
|
+
});
|
|
23
|
+
});
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { EmbedConfig } from '../../shared/models/embed-config.model';
|
|
3
|
+
import { Embed, IReportEmbedConfiguration, Report, models, service } from 'powerbi-client';
|
|
4
|
+
import { PowerBIReportEmbedComponent } from 'powerbi-client-angular';
|
|
5
|
+
|
|
6
|
+
@Component({
|
|
7
|
+
selector: 'w-powerbi-report',
|
|
8
|
+
templateUrl: './w-powerbi-report.component.html',
|
|
9
|
+
styleUrls: ['./w-powerbi-report.component.css']
|
|
10
|
+
})
|
|
11
|
+
export class WPowerbiReportComponent implements OnInit {
|
|
12
|
+
|
|
13
|
+
@Input('embedConfig') embedConfig!: EmbedConfig;
|
|
14
|
+
@Input('reportTitle') reportTitle!: string;
|
|
15
|
+
@Input('hasReportFilters') hasReportFilters: boolean = false;
|
|
16
|
+
@Input('parameterReportFilters') parameterReportFilters!: string;
|
|
17
|
+
@Input('showReportFilters') showReportFilters: boolean = false;
|
|
18
|
+
@Input('filterPanelPosition') filterPanelPosition: string = "bottom";
|
|
19
|
+
@Input('showPageNavigation') showPageNavigation: boolean = false;
|
|
20
|
+
@Input('showPrintButton') showPrintButton: boolean = false;
|
|
21
|
+
@Input('showFullScreenButton') showFullScreenButton: boolean = false;
|
|
22
|
+
@Input('showVisualHeaders') showVisualHeaders: boolean = true;
|
|
23
|
+
@Input('showRefreshButton') showRefreshButton: boolean = false;
|
|
24
|
+
@Input('height') height: string = '810px';
|
|
25
|
+
// @Input('zoomRatio') zoomRatio: number = 0.00175;
|
|
26
|
+
|
|
27
|
+
@Output('refreshNotAllowed') refreshNotAllowed = new EventEmitter<boolean>();
|
|
28
|
+
|
|
29
|
+
powerbiReportWidth!: number;
|
|
30
|
+
private _zoom!: number;
|
|
31
|
+
|
|
32
|
+
@Input() set zoom(value: number) {
|
|
33
|
+
this._zoom = value;
|
|
34
|
+
this.setReportZoom(this._zoom);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
get zoom(): number {
|
|
38
|
+
return this._zoom;
|
|
39
|
+
}
|
|
40
|
+
reportClass = 'report-container';
|
|
41
|
+
|
|
42
|
+
reportConfig: IReportEmbedConfiguration = {
|
|
43
|
+
type: 'report',
|
|
44
|
+
embedUrl: undefined,
|
|
45
|
+
tokenType: models.TokenType.Aad,
|
|
46
|
+
accessToken: undefined,
|
|
47
|
+
filters: undefined,
|
|
48
|
+
settings: {
|
|
49
|
+
layoutType: models.LayoutType.Custom,
|
|
50
|
+
customLayout: {
|
|
51
|
+
displayOption: models.DisplayOption.FitToWidth
|
|
52
|
+
},
|
|
53
|
+
background: models.BackgroundType.Transparent
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
eventHandlersMap = new Map([
|
|
58
|
+
['loaded', () => {
|
|
59
|
+
const report = this.reportObj.getReport();
|
|
60
|
+
report.setComponentTitle('Embedded report');
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
['rendered', () => { }],
|
|
64
|
+
['error', (event?: service.ICustomEvent<any>) => {
|
|
65
|
+
if (event) {
|
|
66
|
+
console.error(event.detail);
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
['visualClicked', () => { }],
|
|
71
|
+
['pageChanged', (event) => { }],
|
|
72
|
+
]) as Map<string, (event?: service.ICustomEvent<any>, embeddedEntity?: Embed) => void | null>;
|
|
73
|
+
|
|
74
|
+
@ViewChild(PowerBIReportEmbedComponent) reportObj!: PowerBIReportEmbedComponent;
|
|
75
|
+
|
|
76
|
+
// @HostListener('window:resize', ['$event'])
|
|
77
|
+
// onResize(event: any) {
|
|
78
|
+
// this.getReportDivWidth();
|
|
79
|
+
// }
|
|
80
|
+
|
|
81
|
+
constructor(private elementRef: ElementRef) {}
|
|
82
|
+
|
|
83
|
+
ngOnInit(): void {
|
|
84
|
+
this.embedReport();
|
|
85
|
+
this.elementRef.nativeElement.style.setProperty("--height", this.height)
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// getReportDivWidth() {
|
|
89
|
+
// this.powerbiReportWidth = this.elementRef.nativeElement.querySelector('#powerbiContainer').offsetWidth;
|
|
90
|
+
// this.setReportZoom(this.powerbiReportWidth * this.zoomRatio);
|
|
91
|
+
// }
|
|
92
|
+
|
|
93
|
+
async embedReport(): Promise<void> {
|
|
94
|
+
try {
|
|
95
|
+
this.reportConfig = {
|
|
96
|
+
...this.reportConfig,
|
|
97
|
+
id: this.embedConfig!.id,
|
|
98
|
+
embedUrl: this.embedConfig!.embedUrl,
|
|
99
|
+
accessToken: this.embedConfig!.embedToken.token,
|
|
100
|
+
filters: this.parameterReportFilters ? [JSON.parse(this.parameterReportFilters)] : undefined,
|
|
101
|
+
settings: {
|
|
102
|
+
panes: {
|
|
103
|
+
filters: {
|
|
104
|
+
visible: this.showReportFilters
|
|
105
|
+
},
|
|
106
|
+
pageNavigation: {
|
|
107
|
+
visible: this.showPageNavigation
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
visualSettings: {
|
|
111
|
+
visualHeaders: [
|
|
112
|
+
{
|
|
113
|
+
settings: {
|
|
114
|
+
visible: this.showVisualHeaders
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
customLayout: {
|
|
120
|
+
displayOption: models.DisplayOption.FitToWidth
|
|
121
|
+
},
|
|
122
|
+
background: models.BackgroundType.Transparent
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
} catch (error: any) {
|
|
126
|
+
console.log(`Failed to fetch config for report. Status: ${error.status} ${error.statusText}`);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
async refresh() {
|
|
132
|
+
const report: Report = this.reportObj.getReport();
|
|
133
|
+
try {
|
|
134
|
+
await report.refresh();
|
|
135
|
+
} catch (errors:any) {
|
|
136
|
+
console.log(errors);
|
|
137
|
+
if(errors.message = "refreshNotAllowed") this.onRefreshNotAllowed();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
async updateFilters(filters: models.IFilter[]) {
|
|
142
|
+
try {
|
|
143
|
+
const report: Report = this.reportObj.getReport();
|
|
144
|
+
await report.removeFilters();
|
|
145
|
+
await report.updateFilters(models.FiltersOperations.Add, filters);
|
|
146
|
+
} catch (error:any) {
|
|
147
|
+
console.error(error);
|
|
148
|
+
if(error.message = "refreshNotAllowed") this.onRefreshNotAllowed();
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
async setReportZoom(zoom: number) {
|
|
154
|
+
try {
|
|
155
|
+
const report: Report = this.reportObj.getReport();
|
|
156
|
+
await report.setZoom(zoom);
|
|
157
|
+
} catch (error) {
|
|
158
|
+
console.log("Error setting report zoom: " + error)
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
print() {
|
|
163
|
+
const report: Report = this.reportObj.getReport();
|
|
164
|
+
report.print();
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
enterFullScreen() {
|
|
168
|
+
const report: Report = this.reportObj.getReport();
|
|
169
|
+
report.fullscreen();
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
onRefreshNotAllowed() {
|
|
173
|
+
this.refreshNotAllowed.emit(true);
|
|
174
|
+
}
|
|
175
|
+
}
|