@provoly/dashboard 0.11.0
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/README.md +5 -0
- package/admin/admin-routing.module.d.ts +9 -0
- package/admin/admin.module.d.ts +87 -0
- package/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.d.ts +14 -0
- package/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.d.ts +29 -0
- package/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.d.ts +12 -0
- package/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.d.ts +13 -0
- package/admin/components/admin-abac-rules/admin-abac-rules.component.d.ts +18 -0
- package/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.d.ts +26 -0
- package/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.d.ts +29 -0
- package/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.d.ts +28 -0
- package/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.d.ts +17 -0
- package/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.d.ts +14 -0
- package/admin/components/admin-abac-rules/store/abac-rules.actions.d.ts +147 -0
- package/admin/components/admin-abac-rules/store/abac-rules.effects.d.ts +67 -0
- package/admin/components/admin-abac-rules/store/abac-rules.model.d.ts +44 -0
- package/admin/components/admin-abac-rules/store/abac-rules.reducer.d.ts +10 -0
- package/admin/components/admin-abac-rules/store/abac-rules.selectors.d.ts +14 -0
- package/admin/components/admin-abac-rules/store/abac-rules.service.d.ts +21 -0
- package/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.d.ts +32 -0
- package/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.d.ts +46 -0
- package/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.d.ts +41 -0
- package/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.d.ts +16 -0
- package/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.d.ts +26 -0
- package/admin/components/admin-classes/admin-classes-new/admin-classes-new.component.d.ts +5 -0
- package/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.d.ts +24 -0
- package/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.d.ts +17 -0
- package/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.d.ts +43 -0
- package/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.d.ts +17 -0
- package/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.d.ts +27 -0
- package/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.d.ts +44 -0
- package/admin/components/admin-classes/admin-classes.component.d.ts +25 -0
- package/admin/components/admin-classes/store/admin-class.actions.d.ts +143 -0
- package/admin/components/admin-classes/store/admin-class.effects.d.ts +81 -0
- package/admin/components/admin-classes/store/admin-class.reducer.d.ts +11 -0
- package/admin/components/admin-classes/store/admin-class.selectors.d.ts +12 -0
- package/admin/components/admin-dataset/admin-dataset.component.d.ts +32 -0
- package/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.d.ts +15 -0
- package/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.d.ts +5 -0
- package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +36 -0
- package/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.d.ts +34 -0
- package/admin/components/admin-dataset/store/admin-dataset.actions.d.ts +59 -0
- package/admin/components/admin-dataset/store/admin-dataset.effects.d.ts +30 -0
- package/admin/components/admin-dataset/store/admin-dataset.reducer.d.ts +6 -0
- package/admin/components/admin-dataset/store/admin-dataset.selector.d.ts +5 -0
- package/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.d.ts +35 -0
- package/admin/components/admin-environment/admin-environment-new/admin-environment-new.component.d.ts +5 -0
- package/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.d.ts +24 -0
- package/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.d.ts +15 -0
- package/admin/components/admin-environment/admin-environment.component.d.ts +20 -0
- package/admin/components/admin-environment/store/environment.actions.d.ts +82 -0
- package/admin/components/admin-environment/store/environment.effects.d.ts +44 -0
- package/admin/components/admin-environment/store/environment.reducer.d.ts +9 -0
- package/admin/components/admin-environment/store/environment.selectors.d.ts +8 -0
- package/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.d.ts +15 -0
- package/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.d.ts +30 -0
- package/admin/components/admin-fields/admin-fields-new/admin-fields-new.component.d.ts +5 -0
- package/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.d.ts +28 -0
- package/admin/components/admin-fields/admin-fields.component.d.ts +19 -0
- package/admin/components/admin-fields/store/admin-fields.model.d.ts +4 -0
- package/admin/components/admin-fields/store/fields.actions.d.ts +47 -0
- package/admin/components/admin-fields/store/fields.effects.d.ts +36 -0
- package/admin/components/admin-fields/store/fields.reducer.d.ts +8 -0
- package/admin/components/admin-fields/store/fields.selectors.d.ts +7 -0
- package/admin/components/admin-layout/admin-layout.component.d.ts +24 -0
- package/admin/components/admin-links/admin-links-new/admin-links-new.component.d.ts +33 -0
- package/admin/components/admin-links/admin-links.component.d.ts +19 -0
- package/admin/components/admin-links/store/links.actions.d.ts +31 -0
- package/admin/components/admin-links/store/links.effects.d.ts +28 -0
- package/admin/components/admin-links/store/links.reducer.d.ts +8 -0
- package/admin/components/admin-links/store/links.selectors.d.ts +5 -0
- package/admin/components/admin-menu/admin-menu.component.d.ts +14 -0
- package/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.d.ts +16 -0
- package/admin/components/admin-metadata/admin-metadata.component.d.ts +24 -0
- package/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.d.ts +10 -0
- package/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.d.ts +23 -0
- package/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.d.ts +36 -0
- package/admin/components/admin-metadata/shared/list-metadata/list-metadata.module.d.ts +11 -0
- package/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.d.ts +40 -0
- package/admin/components/admin-metadata/store/metadata.action.d.ts +56 -0
- package/admin/components/admin-metadata/store/metadata.effects.d.ts +36 -0
- package/admin/components/admin-metadata/store/metadata.reducer.d.ts +13 -0
- package/admin/components/admin-metadata/store/metadata.selector.d.ts +10 -0
- package/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.d.ts +12 -0
- package/admin/components/admin-metadata-rules/admin-metadata-rules.component.d.ts +35 -0
- package/admin/components/admin-metadata-rules/admin-new-metadata-rules/admin-new-metadata-rules.component.d.ts +5 -0
- package/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.d.ts +23 -0
- package/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.d.ts +41 -0
- package/admin/components/admin-metadata-rules/store/metadata-rules.actions.d.ts +49 -0
- package/admin/components/admin-metadata-rules/store/metadata-rules.effects.d.ts +39 -0
- package/admin/components/admin-metadata-rules/store/metadata-rules.reducer.d.ts +11 -0
- package/admin/components/admin-metadata-rules/store/metadata-rules.selectors.d.ts +7 -0
- package/admin/components/admin-metadata-user/admin-metadata-user.component.d.ts +25 -0
- package/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.d.ts +17 -0
- package/admin/components/admin-metadata-user/admin-user-new-metadata/admin-user-new-metadata.component.d.ts +10 -0
- package/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.d.ts +23 -0
- package/admin/components/admin-metadata-user/store/admin-metadata-user.action.d.ts +84 -0
- package/admin/components/admin-metadata-user/store/admin-metadata-user.effects.d.ts +48 -0
- package/admin/components/admin-metadata-user/store/admin-metadata-user.reducer.d.ts +11 -0
- package/admin/components/admin-metadata-user/store/admin-metadata-user.selector.d.ts +14 -0
- package/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.d.ts +34 -0
- package/admin/components/admin-predicates/admin-predicates-new/admin-predicates-new.component.d.ts +5 -0
- package/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.d.ts +22 -0
- package/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.d.ts +16 -0
- package/admin/components/admin-predicates/admin-predicates.component.d.ts +19 -0
- package/admin/components/admin-predicates/store/predicates.actions.d.ts +46 -0
- package/admin/components/admin-predicates/store/predicates.effects.d.ts +33 -0
- package/admin/components/admin-predicates/store/predicates.reducer.d.ts +9 -0
- package/admin/components/admin-predicates/store/predicates.selectors.d.ts +8 -0
- package/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.d.ts +32 -0
- package/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.d.ts +19 -0
- package/admin/components/admin-relation-types/admin-relation-types.component.d.ts +15 -0
- package/admin/components/admin-title/admin-title.component.d.ts +15 -0
- package/admin/components/admin-user/admin-user-select/admin-user-select.component.d.ts +35 -0
- package/admin/components/admin-user/admin-user.component.d.ts +18 -0
- package/admin/components/admin-user/store/admin-user.action.d.ts +76 -0
- package/admin/components/admin-user/store/admin-user.effects.d.ts +43 -0
- package/admin/components/admin-user/store/admin-user.reducer.d.ts +10 -0
- package/admin/components/admin-user/store/admin-user.selector.d.ts +8 -0
- package/admin/components/admin.component.d.ts +17 -0
- package/admin/i18n/en.translations.d.ts +327 -0
- package/admin/i18n/fr.translations.d.ts +328 -0
- package/admin/index.d.ts +5 -0
- package/admin/public-api.d.ts +1 -0
- package/admin/store/admin.actions.d.ts +41 -0
- package/admin/store/admin.effects.d.ts +34 -0
- package/admin/store/admin.reducer.d.ts +13 -0
- package/admin/store/admin.selectors.d.ts +13 -0
- package/admin/store/admin.service.d.ts +45 -0
- package/assets/backgrounds/chart.svg +684 -0
- package/assets/backgrounds/detail.svg +27 -0
- package/assets/backgrounds/graph.svg +1775 -0
- package/assets/backgrounds/iframe.svg +799 -0
- package/assets/backgrounds/img_processus.png +0 -0
- package/assets/backgrounds/map.svg +154 -0
- package/assets/backgrounds/placeholder.png +0 -0
- package/assets/backgrounds/table.svg +48 -0
- package/assets/backgrounds/template.svg +26 -0
- package/assets/backgrounds/tile.svg +26 -0
- package/assets/fonts/ubuntu-latin-bold.woff2 +0 -0
- package/assets/fonts/ubuntu-latin-medium.woff2 +0 -0
- package/assets/fonts/ubuntu-latin-regular.woff2 +0 -0
- package/assets/svgs/add.svg +4 -0
- package/assets/svgs/add_column.svg +5 -0
- package/assets/svgs/admin-fill.svg +5 -0
- package/assets/svgs/admin.svg +8 -0
- package/assets/svgs/ads_click.svg +5 -0
- package/assets/svgs/apps.svg +5 -0
- package/assets/svgs/area_chart.svg +19 -0
- package/assets/svgs/arrow_back.svg +4 -0
- package/assets/svgs/arrow_right.svg +6 -0
- package/assets/svgs/auto_graph.svg +12 -0
- package/assets/svgs/bar_chart.svg +18 -0
- package/assets/svgs/bubble-chart-line.svg +18 -0
- package/assets/svgs/bulles.svg +5 -0
- package/assets/svgs/chart.svg +5 -0
- package/assets/svgs/chat-settings.svg +5 -0
- package/assets/svgs/check.svg +4 -0
- package/assets/svgs/checkbox-circle.svg +6 -0
- package/assets/svgs/chevron_bottom.svg +6 -0
- package/assets/svgs/chevron_bottom_rounded.svg +5 -0
- package/assets/svgs/chevron_left.svg +6 -0
- package/assets/svgs/chevron_right.svg +6 -0
- package/assets/svgs/chevron_top.svg +3 -0
- package/assets/svgs/chevron_top_rounded.svg +5 -0
- package/assets/svgs/click.svg +4 -0
- package/assets/svgs/close.svg +5 -0
- package/assets/svgs/control.svg +5 -0
- package/assets/svgs/control_point.svg +5 -0
- package/assets/svgs/danger.svg +5 -0
- package/assets/svgs/data.svg +5 -0
- package/assets/svgs/data_usage.svg +5 -0
- package/assets/svgs/dataset.svg +0 -0
- package/assets/svgs/default-restitution.svg +6 -0
- package/assets/svgs/default.svg +28 -0
- package/assets/svgs/delete.svg +5 -0
- package/assets/svgs/detail.svg +5 -0
- package/assets/svgs/donut_large.svg +14 -0
- package/assets/svgs/download.svg +4 -0
- package/assets/svgs/drag_indicator.svg +5 -0
- package/assets/svgs/edit.svg +5 -0
- package/assets/svgs/edit_off.svg +5 -0
- package/assets/svgs/epingle.svg +6 -0
- package/assets/svgs/event-fill.svg +5 -0
- package/assets/svgs/event.svg +5 -0
- package/assets/svgs/exposure_neg_1.svg +4 -0
- package/assets/svgs/exposure_plus_1.svg +4 -0
- package/assets/svgs/eye-arrow-down.svg +14 -0
- package/assets/svgs/eye-arrow-up.svg +14 -0
- package/assets/svgs/eye.svg +5 -0
- package/assets/svgs/file_download.svg +5 -0
- package/assets/svgs/file_upload.svg +5 -0
- package/assets/svgs/fleche_bas.svg +4 -0
- package/assets/svgs/fleche_haut.svg +4 -0
- package/assets/svgs/frequentation.svg +4 -0
- package/assets/svgs/fullscreen.svg +4 -0
- package/assets/svgs/globe.svg +5 -0
- package/assets/svgs/graph.svg +20 -0
- package/assets/svgs/grid_1_2_horizontal.svg +4 -0
- package/assets/svgs/grid_1_2_vertical.svg +4 -0
- package/assets/svgs/grid_1_3_horizontal.svg +5 -0
- package/assets/svgs/grid_1_3_vertical.svg +5 -0
- package/assets/svgs/grid_1_4.svg +6 -0
- package/assets/svgs/grid_2_gauche_1_droite.svg +5 -0
- package/assets/svgs/grid_composition_libre.svg +7 -0
- package/assets/svgs/grid_full.svg +3 -0
- package/assets/svgs/grid_view.svg +4 -0
- package/assets/svgs/heart-add-line.svg +5 -0
- package/assets/svgs/heart-fill.svg +5 -0
- package/assets/svgs/highlight_alt.svg +5 -0
- package/assets/svgs/history-line.svg +5 -0
- package/assets/svgs/home-fill.svg +5 -0
- package/assets/svgs/home-fill_old.svg +4 -0
- package/assets/svgs/home-line.svg +12 -0
- package/assets/svgs/home-line_old.svg +5 -0
- package/assets/svgs/home.svg +12 -0
- package/assets/svgs/iframe.svg +11 -0
- package/assets/svgs/image.svg +6 -0
- package/assets/svgs/info.svg +8 -0
- package/assets/svgs/information-point.svg +5 -0
- package/assets/svgs/lasso.svg +5 -0
- package/assets/svgs/launch.svg +5 -0
- package/assets/svgs/legend.svg +4 -0
- package/assets/svgs/library_add.svg +5 -0
- package/assets/svgs/links_line.svg +5 -0
- package/assets/svgs/map.svg +8 -0
- package/assets/svgs/marqueur.svg +5 -0
- package/assets/svgs/mode_clic.svg +5 -0
- package/assets/svgs/more_horiz.svg +5 -0
- package/assets/svgs/more_vertical.svg +5 -0
- package/assets/svgs/move.svg +5 -0
- package/assets/svgs/noise_aware.svg +12 -0
- package/assets/svgs/north_east.svg +6 -0
- package/assets/svgs/north_west.svg +6 -0
- package/assets/svgs/notification-4-line.svg +5 -0
- package/assets/svgs/notification.svg +5 -0
- package/assets/svgs/notifications.svg +5 -0
- package/assets/svgs/picture-in-picture.svg +7 -0
- package/assets/svgs/place.svg +5 -0
- package/assets/svgs/post_add.svg +8 -0
- package/assets/svgs/presentation-fill.svg +4 -0
- package/assets/svgs/presentation.svg +5 -0
- package/assets/svgs/private.svg +10 -0
- package/assets/svgs/pry_recherche.svg +81 -0
- package/assets/svgs/pry_recherche_pas_de_resultat.svg +81 -0
- package/assets/svgs/public.svg +16 -0
- package/assets/svgs/published_with_changes.svg +5 -0
- package/assets/svgs/question-line.svg +5 -0
- package/assets/svgs/radar_chart.svg +11 -0
- package/assets/svgs/rectangle.svg +5 -0
- package/assets/svgs/remove.svg +4 -0
- package/assets/svgs/renamed.svg +6 -0
- package/assets/svgs/reset.svg +4 -0
- package/assets/svgs/resize.svg +4 -0
- package/assets/svgs/restitution-fill.svg +11 -0
- package/assets/svgs/restitution.svg +15 -0
- package/assets/svgs/restricted.svg +18 -0
- package/assets/svgs/rotate-lock-line.svg +5 -0
- package/assets/svgs/save-fill.svg +4 -0
- package/assets/svgs/save-line.svg +5 -0
- package/assets/svgs/screenshot-fill.svg +5 -0
- package/assets/svgs/search-criteria.svg +5 -0
- package/assets/svgs/search-fill.svg +5 -0
- package/assets/svgs/search-line.svg +5 -0
- package/assets/svgs/search.svg +4 -0
- package/assets/svgs/settings_applications.svg +12 -0
- package/assets/svgs/share.svg +5 -0
- package/assets/svgs/share_location.svg +20 -0
- package/assets/svgs/shield-lock.svg +7 -0
- package/assets/svgs/show_chart.svg +12 -0
- package/assets/svgs/south_east.svg +6 -0
- package/assets/svgs/south_west.svg +6 -0
- package/assets/svgs/stack-fill.svg +5 -0
- package/assets/svgs/stack-line.svg +5 -0
- package/assets/svgs/stop.svg +5 -0
- package/assets/svgs/supervision.svg +13 -0
- package/assets/svgs/svg.svg +5 -0
- package/assets/svgs/synchro.svg +5 -0
- package/assets/svgs/table.svg +5 -0
- package/assets/svgs/table_chart.svg +18 -0
- package/assets/svgs/tags.svg +11 -0
- package/assets/svgs/tile.svg +12 -0
- package/assets/svgs/toc.svg +20 -0
- package/assets/svgs/transformation-fill.svg +21 -0
- package/assets/svgs/transformation.svg +20 -0
- package/assets/svgs/tune.svg +5 -0
- package/assets/svgs/unpublished.svg +5 -0
- package/assets/svgs/upload.svg +4 -0
- package/assets/svgs/user.svg +5 -0
- package/assets/svgs/warning-triangle.svg +5 -0
- package/assets/svgs/warning.svg +5 -0
- package/assets/svgs/zoom.svg +6 -0
- package/components/card/card.component.d.ts +69 -0
- package/components/card/card.module.d.ts +10 -0
- package/components/card/index.d.ts +5 -0
- package/components/card/public-api.d.ts +2 -0
- package/components/checkbox/checkbox.component.d.ts +20 -0
- package/components/checkbox/checkbox.module.d.ts +9 -0
- package/components/checkbox/index.d.ts +5 -0
- package/components/checkbox/public-api.d.ts +2 -0
- package/components/expand-panel/expand-panel.component.d.ts +14 -0
- package/components/expand-panel/expand-panel.module.d.ts +7 -0
- package/components/expand-panel/index.d.ts +5 -0
- package/components/expand-panel/public-api.d.ts +2 -0
- package/components/filter/filter.module.d.ts +7 -0
- package/components/filter/filter.pipe.d.ts +7 -0
- package/components/filter/index.d.ts +5 -0
- package/components/filter/public-api.d.ts +2 -0
- package/components/sinceDate/index.d.ts +5 -0
- package/components/sinceDate/public-api.d.ts +2 -0
- package/components/sinceDate/sinceDate.module.d.ts +7 -0
- package/components/sinceDate/sinceDate.pipe.d.ts +11 -0
- package/components/stepper/index.d.ts +5 -0
- package/components/stepper/public-api.d.ts +4 -0
- package/components/stepper/step/step.component.d.ts +15 -0
- package/components/stepper/step-title.directive.d.ts +8 -0
- package/components/stepper/stepper.component.d.ts +28 -0
- package/components/stepper/stepper.module.d.ts +10 -0
- package/dataset/components/dataset-card/dataset-card.component.d.ts +10 -0
- package/dataset/components/dataset-detail/dataset-detail.component.d.ts +29 -0
- package/dataset/components/dataset.component.d.ts +17 -0
- package/dataset/dataset.module.d.ts +17 -0
- package/dataset/i18n/en.translations.d.ts +33 -0
- package/dataset/i18n/fr.translations.d.ts +38 -0
- package/dataset/index.d.ts +5 -0
- package/dataset/public-api.d.ts +5 -0
- package/dataset/style/_o-pry-dataset-card.scss +29 -0
- package/dataset/style/_o-pry-dataset-detail.scss +55 -0
- package/dataset/style/_o-pry-dataset.scss +31 -0
- package/dataset/style/css.component.d.ts +5 -0
- package/esm2022/admin/admin-routing.module.mjs +567 -0
- package/esm2022/admin/admin.module.mjs +366 -0
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +50 -0
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +57 -0
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +34 -0
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +54 -0
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +47 -0
- package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +81 -0
- package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +66 -0
- package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +69 -0
- package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +29 -0
- package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +24 -0
- package/esm2022/admin/components/admin-abac-rules/store/abac-rules.actions.mjs +28 -0
- package/esm2022/admin/components/admin-abac-rules/store/abac-rules.effects.mjs +78 -0
- package/esm2022/admin/components/admin-abac-rules/store/abac-rules.model.mjs +20 -0
- package/esm2022/admin/components/admin-abac-rules/store/abac-rules.reducer.mjs +110 -0
- package/esm2022/admin/components/admin-abac-rules/store/abac-rules.selectors.mjs +29 -0
- package/esm2022/admin/components/admin-abac-rules/store/abac-rules.service.mjs +161 -0
- package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +92 -0
- package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +146 -0
- package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +127 -0
- package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +26 -0
- package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +91 -0
- package/esm2022/admin/components/admin-classes/admin-classes-new/admin-classes-new.component.mjs +13 -0
- package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +107 -0
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +30 -0
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +151 -0
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +30 -0
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +81 -0
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +183 -0
- package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +70 -0
- package/esm2022/admin/components/admin-classes/store/admin-class.actions.mjs +32 -0
- package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +139 -0
- package/esm2022/admin/components/admin-classes/store/admin-class.reducer.mjs +43 -0
- package/esm2022/admin/components/admin-classes/store/admin-class.selectors.mjs +23 -0
- package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +79 -0
- package/esm2022/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.mjs +26 -0
- package/esm2022/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.mjs +13 -0
- package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +155 -0
- package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +98 -0
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.actions.mjs +14 -0
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.effects.mjs +34 -0
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.reducer.mjs +11 -0
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.selector.mjs +9 -0
- package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +125 -0
- package/esm2022/admin/components/admin-environment/admin-environment-new/admin-environment-new.component.mjs +13 -0
- package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +94 -0
- package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +26 -0
- package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +51 -0
- package/esm2022/admin/components/admin-environment/store/environment.actions.mjs +19 -0
- package/esm2022/admin/components/admin-environment/store/environment.effects.mjs +47 -0
- package/esm2022/admin/components/admin-environment/store/environment.reducer.mjs +39 -0
- package/esm2022/admin/components/admin-environment/store/environment.selectors.mjs +15 -0
- package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +25 -0
- package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +85 -0
- package/esm2022/admin/components/admin-fields/admin-fields-new/admin-fields-new.component.mjs +13 -0
- package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +96 -0
- package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +52 -0
- package/esm2022/admin/components/admin-fields/store/admin-fields.model.mjs +2 -0
- package/esm2022/admin/components/admin-fields/store/fields.actions.mjs +14 -0
- package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +54 -0
- package/esm2022/admin/components/admin-fields/store/fields.reducer.mjs +14 -0
- package/esm2022/admin/components/admin-fields/store/fields.selectors.mjs +13 -0
- package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +81 -0
- package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +92 -0
- package/esm2022/admin/components/admin-links/admin-links.component.mjs +60 -0
- package/esm2022/admin/components/admin-links/store/links.actions.mjs +10 -0
- package/esm2022/admin/components/admin-links/store/links.effects.mjs +27 -0
- package/esm2022/admin/components/admin-links/store/links.reducer.mjs +19 -0
- package/esm2022/admin/components/admin-links/store/links.selectors.mjs +9 -0
- package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +38 -0
- package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +32 -0
- package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +65 -0
- package/esm2022/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.mjs +21 -0
- package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +77 -0
- package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +130 -0
- package/esm2022/admin/components/admin-metadata/shared/list-metadata/list-metadata.module.mjs +21 -0
- package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +90 -0
- package/esm2022/admin/components/admin-metadata/store/metadata.action.mjs +19 -0
- package/esm2022/admin/components/admin-metadata/store/metadata.effects.mjs +33 -0
- package/esm2022/admin/components/admin-metadata/store/metadata.reducer.mjs +35 -0
- package/esm2022/admin/components/admin-metadata/store/metadata.selector.mjs +17 -0
- package/esm2022/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.mjs +22 -0
- package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +86 -0
- package/esm2022/admin/components/admin-metadata-rules/admin-new-metadata-rules/admin-new-metadata-rules.component.mjs +13 -0
- package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +86 -0
- package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +133 -0
- package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.actions.mjs +23 -0
- package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.effects.mjs +51 -0
- package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.reducer.mjs +28 -0
- package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.selectors.mjs +13 -0
- package/esm2022/admin/components/admin-metadata-user/admin-metadata-user.component.mjs +65 -0
- package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +33 -0
- package/esm2022/admin/components/admin-metadata-user/admin-user-new-metadata/admin-user-new-metadata.component.mjs +21 -0
- package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +77 -0
- package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.action.mjs +23 -0
- package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.effects.mjs +38 -0
- package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.reducer.mjs +45 -0
- package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.selector.mjs +17 -0
- package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +102 -0
- package/esm2022/admin/components/admin-predicates/admin-predicates-new/admin-predicates-new.component.mjs +13 -0
- package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +69 -0
- package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +27 -0
- package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +46 -0
- package/esm2022/admin/components/admin-predicates/store/predicates.actions.mjs +13 -0
- package/esm2022/admin/components/admin-predicates/store/predicates.effects.mjs +28 -0
- package/esm2022/admin/components/admin-predicates/store/predicates.reducer.mjs +40 -0
- package/esm2022/admin/components/admin-predicates/store/predicates.selectors.mjs +15 -0
- package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +101 -0
- package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +63 -0
- package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +42 -0
- package/esm2022/admin/components/admin-title/admin-title.component.mjs +29 -0
- package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +116 -0
- package/esm2022/admin/components/admin-user/admin-user.component.mjs +34 -0
- package/esm2022/admin/components/admin-user/store/admin-user.action.mjs +21 -0
- package/esm2022/admin/components/admin-user/store/admin-user.effects.mjs +38 -0
- package/esm2022/admin/components/admin-user/store/admin-user.reducer.mjs +27 -0
- package/esm2022/admin/components/admin-user/store/admin-user.selector.mjs +15 -0
- package/esm2022/admin/components/admin.component.mjs +29 -0
- package/esm2022/admin/i18n/en.translations.mjs +328 -0
- package/esm2022/admin/i18n/fr.translations.mjs +329 -0
- package/esm2022/admin/provoly-dashboard-admin.mjs +5 -0
- package/esm2022/admin/public-api.mjs +2 -0
- package/esm2022/admin/store/admin.actions.mjs +12 -0
- package/esm2022/admin/store/admin.effects.mjs +66 -0
- package/esm2022/admin/store/admin.reducer.mjs +52 -0
- package/esm2022/admin/store/admin.selectors.mjs +32 -0
- package/esm2022/admin/store/admin.service.mjs +181 -0
- package/esm2022/components/card/card.component.mjs +270 -0
- package/esm2022/components/card/card.module.mjs +38 -0
- package/esm2022/components/card/provoly-dashboard-components-card.mjs +5 -0
- package/esm2022/components/card/public-api.mjs +3 -0
- package/esm2022/components/checkbox/checkbox.component.mjs +58 -0
- package/esm2022/components/checkbox/checkbox.module.mjs +20 -0
- package/esm2022/components/checkbox/provoly-dashboard-components-checkbox.mjs +5 -0
- package/esm2022/components/checkbox/public-api.mjs +3 -0
- package/esm2022/components/expand-panel/expand-panel.component.mjs +65 -0
- package/esm2022/components/expand-panel/expand-panel.module.mjs +19 -0
- package/esm2022/components/expand-panel/provoly-dashboard-components-expand-panel.mjs +5 -0
- package/esm2022/components/expand-panel/public-api.mjs +3 -0
- package/esm2022/components/filter/filter.module.mjs +16 -0
- package/esm2022/components/filter/filter.pipe.mjs +16 -0
- package/esm2022/components/filter/provoly-dashboard-components-filter.mjs +5 -0
- package/esm2022/components/filter/public-api.mjs +3 -0
- package/esm2022/components/sinceDate/provoly-dashboard-components-sinceDate.mjs +5 -0
- package/esm2022/components/sinceDate/public-api.mjs +3 -0
- package/esm2022/components/sinceDate/sinceDate.module.mjs +16 -0
- package/esm2022/components/sinceDate/sinceDate.pipe.mjs +40 -0
- package/esm2022/components/stepper/provoly-dashboard-components-stepper.mjs +5 -0
- package/esm2022/components/stepper/public-api.mjs +5 -0
- package/esm2022/components/stepper/step/step.component.mjs +36 -0
- package/esm2022/components/stepper/step-title.directive.mjs +14 -0
- package/esm2022/components/stepper/stepper.component.mjs +109 -0
- package/esm2022/components/stepper/stepper.module.mjs +20 -0
- package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +24 -0
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +86 -0
- package/esm2022/dataset/components/dataset.component.mjs +35 -0
- package/esm2022/dataset/dataset.module.mjs +59 -0
- package/esm2022/dataset/i18n/en.translations.mjs +34 -0
- package/esm2022/dataset/i18n/fr.translations.mjs +39 -0
- package/esm2022/dataset/provoly-dashboard-dataset.mjs +5 -0
- package/esm2022/dataset/public-api.mjs +6 -0
- package/esm2022/dataset/style/css.component.mjs +11 -0
- package/esm2022/filters/date/date-filter.component.mjs +50 -0
- package/esm2022/filters/date/date-filter.module.mjs +25 -0
- package/esm2022/filters/date/provoly-dashboard-filters-date.mjs +5 -0
- package/esm2022/filters/date/public-api.mjs +4 -0
- package/esm2022/filters/date/style/css.component.mjs +11 -0
- package/esm2022/filters/list/list-filter.component.mjs +31 -0
- package/esm2022/filters/list/list-filter.module.mjs +24 -0
- package/esm2022/filters/list/provoly-dashboard-filters-list.mjs +5 -0
- package/esm2022/filters/list/public-api.mjs +4 -0
- package/esm2022/filters/list/style/css.component.mjs +11 -0
- package/esm2022/filters/number/number-filter.component.mjs +26 -0
- package/esm2022/filters/number/number-filter.module.mjs +24 -0
- package/esm2022/filters/number/provoly-dashboard-filters-number.mjs +5 -0
- package/esm2022/filters/number/public-api.mjs +3 -0
- package/esm2022/filters/text/provoly-dashboard-filters-text.mjs +5 -0
- package/esm2022/filters/text/public-api.mjs +3 -0
- package/esm2022/filters/text/text-filter.component.mjs +29 -0
- package/esm2022/filters/text/text-filter.module.mjs +24 -0
- package/esm2022/import/components/import.component.mjs +72 -0
- package/esm2022/import/i18n/en.translations.mjs +28 -0
- package/esm2022/import/i18n/fr.translations.mjs +28 -0
- package/esm2022/import/import-routing.module.mjs +32 -0
- package/esm2022/import/import.module.mjs +61 -0
- package/esm2022/import/provoly-dashboard-import.mjs +5 -0
- package/esm2022/import/public-api.mjs +3 -0
- package/esm2022/import/store/import.actions.mjs +7 -0
- package/esm2022/import/store/import.effects.mjs +32 -0
- package/esm2022/import/store/import.reducer.mjs +23 -0
- package/esm2022/import/store/import.selectors.mjs +10 -0
- package/esm2022/import/store/import.service.mjs +29 -0
- package/esm2022/import/style/css.component.mjs +11 -0
- package/esm2022/lib/core/access/access.directive.mjs +45 -0
- package/esm2022/lib/core/access/access.guard.mjs +21 -0
- package/esm2022/lib/core/access/access.model.mjs +2 -0
- package/esm2022/lib/core/access/access.service.mjs +20 -0
- package/esm2022/lib/core/access/access.utils.mjs +83 -0
- package/esm2022/lib/core/components/base-layout/base-layout.component.mjs +44 -0
- package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +29 -0
- package/esm2022/lib/core/components/base-toolbox/base-toolbox-action.interface.mjs +2 -0
- package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +23 -0
- package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +64 -0
- package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +206 -0
- package/esm2022/lib/core/components/date-picker/date-picker.module.mjs +36 -0
- package/esm2022/lib/core/components/date-picker/date-range-highlight.pipe.mjs +42 -0
- package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +92 -0
- package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +81 -0
- package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +60 -0
- package/esm2022/lib/core/components/edit-input/edit-input.module.mjs +22 -0
- package/esm2022/lib/core/components/get-secured-image/get-secured-image.pipe.mjs +25 -0
- package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.directive.mjs +30 -0
- package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.module.mjs +20 -0
- package/esm2022/lib/core/components/icon/icon.component.mjs +92 -0
- package/esm2022/lib/core/components/icon/icon.module.mjs +19 -0
- package/esm2022/lib/core/components/modal/modal.component.mjs +34 -0
- package/esm2022/lib/core/components/modal/pry-modal.module.mjs +22 -0
- package/esm2022/lib/core/components/modalStatus/modalStatus.component.mjs +35 -0
- package/esm2022/lib/core/components/modalStatus/modalStatus.module.mjs +28 -0
- package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +77 -0
- package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +57 -0
- package/esm2022/lib/core/components/overlay/dialog-ref.mjs +15 -0
- package/esm2022/lib/core/components/overlay/dialog.service.mjs +71 -0
- package/esm2022/lib/core/components/overlay/overlay.constantes.mjs +9 -0
- package/esm2022/lib/core/components/overlay/overlay.directive.mjs +125 -0
- package/esm2022/lib/core/components/overlay/overlay.module.mjs +23 -0
- package/esm2022/lib/core/components/overlay/tooltip.directive.mjs +121 -0
- package/esm2022/lib/core/components/range/range.component.mjs +106 -0
- package/esm2022/lib/core/components/range/range.module.mjs +19 -0
- package/esm2022/lib/core/components/select/select.component.mjs +118 -0
- package/esm2022/lib/core/components/select/select.module.mjs +22 -0
- package/esm2022/lib/core/components/select-image/select-image.component.mjs +84 -0
- package/esm2022/lib/core/components/share/share.component.mjs +83 -0
- package/esm2022/lib/core/components/share/share.model.mjs +7 -0
- package/esm2022/lib/core/components/share/share.module.mjs +21 -0
- package/esm2022/lib/core/components/snackbar/snack.interface.mjs +2 -0
- package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +65 -0
- package/esm2022/lib/core/components/snackbar/snackbar.module.mjs +19 -0
- package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +63 -0
- package/esm2022/lib/core/components/sort/sort-data.pipe.mjs +54 -0
- package/esm2022/lib/core/components/sort/sort-header/sort-header.component.mjs +52 -0
- package/esm2022/lib/core/components/sort/sort-header.directive.mjs +13 -0
- package/esm2022/lib/core/components/sort/sort-table.directive.mjs +64 -0
- package/esm2022/lib/core/components/sort/sort.model.mjs +2 -0
- package/esm2022/lib/core/components/sort/sort.module.mjs +23 -0
- package/esm2022/lib/core/components/title-presentation/title-presentation.component.mjs +26 -0
- package/esm2022/lib/core/components/toggle/toggle.component.mjs +100 -0
- package/esm2022/lib/core/components/toggle/toggle.module.mjs +21 -0
- package/esm2022/lib/core/components/translate-id/translate-id.pipe.mjs +115 -0
- package/esm2022/lib/core/components/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +27 -0
- package/esm2022/lib/core/components/upload/upload.component.mjs +88 -0
- package/esm2022/lib/core/core.module.mjs +179 -0
- package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +44 -0
- package/esm2022/lib/core/i18n/deep-merge.function.mjs +21 -0
- package/esm2022/lib/core/i18n/en.translations.mjs +323 -0
- package/esm2022/lib/core/i18n/fr.translations.mjs +323 -0
- package/esm2022/lib/core/i18n/i18n.module.mjs +16 -0
- package/esm2022/lib/core/i18n/i18n.pipe.mjs +42 -0
- package/esm2022/lib/core/i18n/i18n.service.mjs +88 -0
- package/esm2022/lib/core/model/admin-api.model.mjs +45 -0
- package/esm2022/lib/core/model/dataset.interface.mjs +13 -0
- package/esm2022/lib/core/model/filter.interface.mjs +2 -0
- package/esm2022/lib/core/model/item.interface.mjs +2 -0
- package/esm2022/lib/core/model/manifest.interface.mjs +11 -0
- package/esm2022/lib/core/model/mimetype-resultset.constant.mjs +2 -0
- package/esm2022/lib/core/model/notification-interface.mjs +2 -0
- package/esm2022/lib/core/model/public-api.mjs +25 -0
- package/esm2022/lib/core/model/relation.interface.mjs +2 -0
- package/esm2022/lib/core/model/result-order.interface.mjs +2 -0
- package/esm2022/lib/core/model/result-set.interface.mjs +2 -0
- package/esm2022/lib/core/model/search-mono-class.model.mjs +17 -0
- package/esm2022/lib/core/model/search-multi-class.model.mjs +2 -0
- package/esm2022/lib/core/model/tooltip-of-class.interface.mjs +2 -0
- package/esm2022/lib/core/model/widget-aggregated-chart-manifest.interface.mjs +26 -0
- package/esm2022/lib/core/model/widget-chart-manifest.interface.mjs +63 -0
- package/esm2022/lib/core/model/widget-detail-manifest.interface.mjs +2 -0
- package/esm2022/lib/core/model/widget-graph-manifest.interface.mjs +2 -0
- package/esm2022/lib/core/model/widget-iframe-manifest.interface.mjs +2 -0
- package/esm2022/lib/core/model/widget-image-manifest.interface.mjs +2 -0
- package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +19 -0
- package/esm2022/lib/core/model/widget-table-manifest.interface.mjs +2 -0
- package/esm2022/lib/core/model/widget-template-manifest.interface.mjs +2 -0
- package/esm2022/lib/core/model/widget-tile-manifest.interface.mjs +2 -0
- package/esm2022/lib/core/model/widget.interface.mjs +2 -0
- package/esm2022/lib/core/public-api.mjs +113 -0
- package/esm2022/lib/core/store/category/category.actions.mjs +7 -0
- package/esm2022/lib/core/store/category/category.effects.mjs +20 -0
- package/esm2022/lib/core/store/category/category.interface.mjs +2 -0
- package/esm2022/lib/core/store/category/category.reducer.mjs +19 -0
- package/esm2022/lib/core/store/category/category.selectors.mjs +11 -0
- package/esm2022/lib/core/store/category/category.service.mjs +26 -0
- package/esm2022/lib/core/store/class/class.actions.mjs +13 -0
- package/esm2022/lib/core/store/class/class.effects.mjs +26 -0
- package/esm2022/lib/core/store/class/class.interface.mjs +2 -0
- package/esm2022/lib/core/store/class/class.reducer.mjs +42 -0
- package/esm2022/lib/core/store/class/class.selectors.mjs +31 -0
- package/esm2022/lib/core/store/class/class.service.mjs +42 -0
- package/esm2022/lib/core/store/config/config.actions.mjs +31 -0
- package/esm2022/lib/core/store/config/config.effects.mjs +100 -0
- package/esm2022/lib/core/store/config/config.reducer.mjs +122 -0
- package/esm2022/lib/core/store/config/config.selectors.mjs +82 -0
- package/esm2022/lib/core/store/config/config.service.mjs +106 -0
- package/esm2022/lib/core/store/config/config.widget.constants.mjs +55 -0
- package/esm2022/lib/core/store/config/icon-definitions.interface.mjs +19 -0
- package/esm2022/lib/core/store/config/open-map-tiles.service.mjs +37 -0
- package/esm2022/lib/core/store/context-menu/context-menu.actions.mjs +6 -0
- package/esm2022/lib/core/store/context-menu/context-menu.effects.mjs +14 -0
- package/esm2022/lib/core/store/context-menu/context-menu.reducer.mjs +29 -0
- package/esm2022/lib/core/store/context-menu/context-menu.selectors.mjs +19 -0
- package/esm2022/lib/core/store/data-source/data-source.actions.mjs +53 -0
- package/esm2022/lib/core/store/data-source/data-source.effects.mjs +151 -0
- package/esm2022/lib/core/store/data-source/data-source.model.mjs +2 -0
- package/esm2022/lib/core/store/data-source/data-source.reducer.mjs +87 -0
- package/esm2022/lib/core/store/data-source/data-source.selectors.mjs +66 -0
- package/esm2022/lib/core/store/data-source/data-source.service.mjs +123 -0
- package/esm2022/lib/core/store/data-source/named-query-types.model.mjs +7 -0
- package/esm2022/lib/core/store/data-source/named-query-utils.mjs +13 -0
- package/esm2022/lib/core/store/field/field.actions.mjs +7 -0
- package/esm2022/lib/core/store/field/field.effects.mjs +20 -0
- package/esm2022/lib/core/store/field/field.interface.mjs +18 -0
- package/esm2022/lib/core/store/field/field.reducer.mjs +19 -0
- package/esm2022/lib/core/store/field/field.selectors.mjs +19 -0
- package/esm2022/lib/core/store/field/field.service.mjs +36 -0
- package/esm2022/lib/core/store/image/image.actions.mjs +10 -0
- package/esm2022/lib/core/store/image/image.effects.mjs +21 -0
- package/esm2022/lib/core/store/image/image.reducer.mjs +23 -0
- package/esm2022/lib/core/store/image/image.selectors.mjs +19 -0
- package/esm2022/lib/core/store/image/image.service.mjs +72 -0
- package/esm2022/lib/core/store/item/item.actions.mjs +7 -0
- package/esm2022/lib/core/store/item/item.effects.mjs +44 -0
- package/esm2022/lib/core/store/item/item.service.mjs +50 -0
- package/esm2022/lib/core/store/raw/raw.service.mjs +50 -0
- package/esm2022/lib/core/store/relation-types/relation-types.actions.mjs +22 -0
- package/esm2022/lib/core/store/relation-types/relation-types.effects.mjs +48 -0
- package/esm2022/lib/core/store/relation-types/relation-types.interface.mjs +2 -0
- package/esm2022/lib/core/store/relation-types/relation-types.reducer.mjs +33 -0
- package/esm2022/lib/core/store/relation-types/relation-types.selectors.mjs +18 -0
- package/esm2022/lib/core/store/relation-types/relation-types.service.mjs +46 -0
- package/esm2022/lib/core/store/search/lat-lon-to-geographic-field-transformation.function.mjs +35 -0
- package/esm2022/lib/core/store/search/search.actions.mjs +9 -0
- package/esm2022/lib/core/store/search/search.constants.mjs +3 -0
- package/esm2022/lib/core/store/search/search.effects.mjs +36 -0
- package/esm2022/lib/core/store/search/search.reducer.mjs +25 -0
- package/esm2022/lib/core/store/search/search.selectors.mjs +9 -0
- package/esm2022/lib/core/store/search/search.service.mjs +96 -0
- package/esm2022/lib/core/symbol/symbol.service.mjs +182 -0
- package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +335 -0
- package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +167 -0
- package/esm2022/lib/core/ws/websocket.service.mjs +92 -0
- package/esm2022/lib/dashboard/action-bus/bus-action.interface.mjs +2 -0
- package/esm2022/lib/dashboard/action-bus/effect/action-bus.effects.mjs +23 -0
- package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +86 -0
- package/esm2022/lib/dashboard/action-bus/service/control-message.interface.mjs +2 -0
- package/esm2022/lib/dashboard/base-widget.module.mjs +16 -0
- package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +131 -0
- package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +267 -0
- package/esm2022/lib/dashboard/components/dashboard.component.mjs +558 -0
- package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +60 -0
- package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +33 -0
- package/esm2022/lib/dashboard/components/solve-collisions.function.mjs +88 -0
- package/esm2022/lib/dashboard/components/subscriptionner.directive.mjs +17 -0
- package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +45 -0
- package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +62 -0
- package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +59 -0
- package/esm2022/lib/dashboard/components/widgets/header/resultset-size.pipe.mjs +45 -0
- package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +474 -0
- package/esm2022/lib/dashboard/components/widgets/public-api.mjs +10 -0
- package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +97 -0
- package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +20 -0
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +60 -0
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +90 -0
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widgets-definition.model.mjs +2 -0
- package/esm2022/lib/dashboard/components/widgets/widget-placeholder/widget-placeholder.component.mjs +17 -0
- package/esm2022/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.mjs +183 -0
- package/esm2022/lib/dashboard/dashboard.module.mjs +172 -0
- package/esm2022/lib/dashboard/date-utils.mjs +7 -0
- package/esm2022/lib/dashboard/filter/base-filter.component.mjs +32 -0
- package/esm2022/lib/dashboard/filter/base-filter.module.mjs +15 -0
- package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +42 -0
- package/esm2022/lib/dashboard/filter/filter-factory.service.mjs +67 -0
- package/esm2022/lib/dashboard/filter/filter-loader.function.mjs +21 -0
- package/esm2022/lib/dashboard/filter/public-api.mjs +6 -0
- package/esm2022/lib/dashboard/guard/default-view.guard.mjs +41 -0
- package/esm2022/lib/dashboard/item-utils.mjs +167 -0
- package/esm2022/lib/dashboard/public-api.mjs +31 -0
- package/esm2022/lib/dashboard/resultset-utils.mjs +30 -0
- package/esm2022/lib/dashboard/store/dashboard-init.service.mjs +37 -0
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +76 -0
- package/esm2022/lib/dashboard/store/dashboard.contants.mjs +5 -0
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +333 -0
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +590 -0
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +118 -0
- package/esm2022/lib/dashboard/store/geocoding.service.mjs +44 -0
- package/esm2022/lib/dashboard/store/manifest.service.mjs +95 -0
- package/esm2022/lib/dashboard/store/refresh.service.mjs +37 -0
- package/esm2022/lib/dashboard/store/title.service.mjs +39 -0
- package/esm2022/lib/dashboard/tooltip/base-tooltip.component.mjs +20 -0
- package/esm2022/lib/dashboard/tooltip/base-tooltip.module.mjs +16 -0
- package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +15 -0
- package/esm2022/lib/dashboard/tooltip/public-api.mjs +6 -0
- package/esm2022/lib/dashboard/tooltip/tooltip-factory.service.mjs +77 -0
- package/esm2022/lib/dashboard/tooltip/tooltip-loader.function.mjs +22 -0
- package/esm2022/lib/dashboard/widget-loader.function.mjs +22 -0
- package/esm2022/notification/components/notification/content/notification-content.component.mjs +62 -0
- package/esm2022/notification/components/notification/notification.component.mjs +59 -0
- package/esm2022/notification/i18n/en.translations.mjs +23 -0
- package/esm2022/notification/i18n/fr.translations.mjs +23 -0
- package/esm2022/notification/notification.module.mjs +53 -0
- package/esm2022/notification/provoly-dashboard-notification.mjs +5 -0
- package/esm2022/notification/public-api.mjs +9 -0
- package/esm2022/notification/store/notification.actions.mjs +9 -0
- package/esm2022/notification/store/notification.effects.mjs +37 -0
- package/esm2022/notification/store/notification.reducer.mjs +20 -0
- package/esm2022/notification/store/notification.selectors.mjs +9 -0
- package/esm2022/notification/store/notification.service.mjs +31 -0
- package/esm2022/notification/style/css.component.mjs +11 -0
- package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +103 -0
- package/esm2022/pipeline/components/pipeline-editor/graph-serializer.utils.mjs +101 -0
- package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +305 -0
- package/esm2022/pipeline/components/pipeline-editor/pipeline.interface.mjs +7 -0
- package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +174 -0
- package/esm2022/pipeline/components/pipeline-properties-panel.component.mjs +22 -0
- package/esm2022/pipeline/factory/pipeline-component-factory.service.mjs +58 -0
- package/esm2022/pipeline/i18n/en.translations.mjs +74 -0
- package/esm2022/pipeline/i18n/fr.translations.mjs +74 -0
- package/esm2022/pipeline/node-class/base-node.class.mjs +44 -0
- package/esm2022/pipeline/pipeline.module.mjs +83 -0
- package/esm2022/pipeline/provoly-dashboard-pipeline.mjs +5 -0
- package/esm2022/pipeline/public-api.mjs +17 -0
- package/esm2022/pipeline/store/pipeline.actions.mjs +15 -0
- package/esm2022/pipeline/store/pipeline.effects.mjs +71 -0
- package/esm2022/pipeline/store/pipeline.reducer.mjs +41 -0
- package/esm2022/pipeline/store/pipeline.selectors.mjs +18 -0
- package/esm2022/pipeline/store/pipeline.service.mjs +51 -0
- package/esm2022/pipeline/style/css.component.mjs +11 -0
- package/esm2022/pipeline-components/filter/component/filter.component.mjs +62 -0
- package/esm2022/pipeline-components/filter/filter.module.mjs +52 -0
- package/esm2022/pipeline-components/filter/i18n/en.translations.mjs +16 -0
- package/esm2022/pipeline-components/filter/i18n/fr.translations.mjs +16 -0
- package/esm2022/pipeline-components/filter/node-class/filter-node.class.mjs +10 -0
- package/esm2022/pipeline-components/filter/provoly-dashboard-pipeline-components-filter.mjs +5 -0
- package/esm2022/pipeline-components/filter/public-api.mjs +4 -0
- package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +28 -0
- package/esm2022/pipeline-components/input-datasource/i18n/en.translations.mjs +8 -0
- package/esm2022/pipeline-components/input-datasource/i18n/fr.translations.mjs +8 -0
- package/esm2022/pipeline-components/input-datasource/input-datasource.module.mjs +59 -0
- package/esm2022/pipeline-components/input-datasource/node-class/input-datasourse-node.class.mjs +16 -0
- package/esm2022/pipeline-components/input-datasource/provoly-dashboard-pipeline-components-input-datasource.mjs +5 -0
- package/esm2022/pipeline-components/input-datasource/public-api.mjs +4 -0
- package/esm2022/pipeline-components/noop/component/noop.component.mjs +18 -0
- package/esm2022/pipeline-components/noop/node-class/noop-node.class.mjs +10 -0
- package/esm2022/pipeline-components/noop/noop.module.mjs +46 -0
- package/esm2022/pipeline-components/noop/provoly-dashboard-pipeline-components-noop.mjs +5 -0
- package/esm2022/pipeline-components/noop/public-api.mjs +4 -0
- package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +30 -0
- package/esm2022/pipeline-components/output-dataset/i18n/en.translations.mjs +8 -0
- package/esm2022/pipeline-components/output-dataset/i18n/fr.translations.mjs +8 -0
- package/esm2022/pipeline-components/output-dataset/node-class/output-dataset-node.class.mjs +17 -0
- package/esm2022/pipeline-components/output-dataset/output-dataset.module.mjs +60 -0
- package/esm2022/pipeline-components/output-dataset/provoly-dashboard-pipeline-components-output-dataset.mjs +5 -0
- package/esm2022/pipeline-components/output-dataset/public-api.mjs +4 -0
- package/esm2022/pipeline-components/subgraph/component/empty.component.mjs +18 -0
- package/esm2022/pipeline-components/subgraph/node-class/sub-graph-input.class.mjs +15 -0
- package/esm2022/pipeline-components/subgraph/node-class/sub-graph-node.class.mjs +96 -0
- package/esm2022/pipeline-components/subgraph/node-class/sub-graph-output.class.mjs +15 -0
- package/esm2022/pipeline-components/subgraph/provoly-dashboard-pipeline-components-subgraph.mjs +5 -0
- package/esm2022/pipeline-components/subgraph/public-api.mjs +6 -0
- package/esm2022/pipeline-components/subgraph/subgraph.module.mjs +50 -0
- package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +119 -0
- package/esm2022/presentation/components/presentation.component.mjs +231 -0
- package/esm2022/presentation/i18n/en.translations.mjs +40 -0
- package/esm2022/presentation/i18n/fr.translations.mjs +41 -0
- package/esm2022/presentation/presentation.module.mjs +72 -0
- package/esm2022/presentation/provoly-dashboard-presentation.mjs +5 -0
- package/esm2022/presentation/public-api.mjs +5 -0
- package/esm2022/presentation/style/css.component.mjs +11 -0
- package/esm2022/provoly-dashboard.mjs +5 -0
- package/esm2022/public-api.mjs +6 -0
- package/esm2022/restitution/components/restitution/restitution.component.mjs +216 -0
- package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +114 -0
- package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +68 -0
- package/esm2022/restitution/i18n/en.translations.mjs +44 -0
- package/esm2022/restitution/i18n/fr.translations.mjs +44 -0
- package/esm2022/restitution/model/restitution.model.mjs +2 -0
- package/esm2022/restitution/provoly-dashboard-restitution.mjs +5 -0
- package/esm2022/restitution/public-api.mjs +5 -0
- package/esm2022/restitution/restitution.module.mjs +86 -0
- package/esm2022/restitution/style/css.component.mjs +11 -0
- package/esm2022/search/components/choose-widget/choose-widget.component.mjs +67 -0
- package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +101 -0
- package/esm2022/search/components/edit-named-query-modal/edit-named-query-modal.component.mjs +55 -0
- package/esm2022/search/components/save-query/save-query.component.mjs +106 -0
- package/esm2022/search/components/save-query-button/save-query-button.component.mjs +76 -0
- package/esm2022/search/i18n/en.translations.mjs +132 -0
- package/esm2022/search/i18n/fr.translations.mjs +132 -0
- package/esm2022/search/provoly-dashboard-search.mjs +5 -0
- package/esm2022/search/public-api.mjs +13 -0
- package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +207 -0
- package/esm2022/search/search-fulltext/store/search-fulltext.actions.mjs +6 -0
- package/esm2022/search/search-fulltext/store/search-fulltext.effects.mjs +38 -0
- package/esm2022/search/search-fulltext/store/search-fulltext.service.mjs +22 -0
- package/esm2022/search/search-home/search-home.component.mjs +199 -0
- package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +78 -0
- package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +139 -0
- package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +34 -0
- package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +69 -0
- package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +37 -0
- package/esm2022/search/search-mono-class/store/search-mono-class.actions.mjs +26 -0
- package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +112 -0
- package/esm2022/search/search-mono-class/store/search-mono-class.reducer.mjs +139 -0
- package/esm2022/search/search-mono-class/store/search-mono-class.selectors.mjs +38 -0
- package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +161 -0
- package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +150 -0
- package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +62 -0
- package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +37 -0
- package/esm2022/search/search-multi-class/store/search-multi-class.actions.mjs +16 -0
- package/esm2022/search/search-multi-class/store/search-multi-class.effects.mjs +66 -0
- package/esm2022/search/search-multi-class/store/search-multi-class.reducer.mjs +59 -0
- package/esm2022/search/search-multi-class/store/search-multi-class.selectors.mjs +32 -0
- package/esm2022/search/search-multi-class/store/search-multi-class.service.mjs +125 -0
- package/esm2022/search/search-tools/search-tools.component.mjs +151 -0
- package/esm2022/search/search.module.mjs +156 -0
- package/esm2022/search/style/css.component.mjs +11 -0
- package/esm2022/supervision/components/supervision-business-data/supervision-business-data.component.mjs +34 -0
- package/esm2022/supervision/components/supervision-flow/supervision-flow.component.mjs +33 -0
- package/esm2022/supervision/components/supervision-infrastructures/supervision-infrastructures.component.mjs +51 -0
- package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.mjs +27 -0
- package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors.component.mjs +100 -0
- package/esm2022/supervision/components/supervision-layout/supervision-layout.component.mjs +47 -0
- package/esm2022/supervision/components/supervision-menu/supervision-menu.component.mjs +32 -0
- package/esm2022/supervision/components/supervision-title/supervision-title.component.mjs +24 -0
- package/esm2022/supervision/components/supervision.component.mjs +19 -0
- package/esm2022/supervision/i18n/en.translations.mjs +58 -0
- package/esm2022/supervision/i18n/fr.translations.mjs +58 -0
- package/esm2022/supervision/provoly-dashboard-supervision.mjs +5 -0
- package/esm2022/supervision/public-api.mjs +2 -0
- package/esm2022/supervision/store/supervision-api.model.mjs +2 -0
- package/esm2022/supervision/store/supervision.actions.mjs +33 -0
- package/esm2022/supervision/store/supervision.effects.mjs +60 -0
- package/esm2022/supervision/store/supervision.reducer.mjs +115 -0
- package/esm2022/supervision/store/supervision.selectors.mjs +35 -0
- package/esm2022/supervision/store/supervision.service.mjs +54 -0
- package/esm2022/supervision/supervision-routing.module.mjs +96 -0
- package/esm2022/supervision/supervision.module.mjs +96 -0
- package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +24 -0
- package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +43 -0
- package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +27 -0
- package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +235 -0
- package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +24 -0
- package/esm2022/toolbox/components/named-query/named-query.component.mjs +35 -0
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +207 -0
- package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +109 -0
- package/esm2022/toolbox/components/toolbox.component.mjs +32 -0
- package/esm2022/toolbox/provoly-dashboard-toolbox.mjs +5 -0
- package/esm2022/toolbox/public-api.mjs +12 -0
- package/esm2022/toolbox/style/css.component.mjs +11 -0
- package/esm2022/toolbox/toolbox.module.mjs +107 -0
- package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +33 -0
- package/esm2022/tooltips/attribute/attribute-tooltip.module.mjs +24 -0
- package/esm2022/tooltips/attribute/provoly-dashboard-tooltips-attribute.mjs +5 -0
- package/esm2022/tooltips/attribute/public-api.mjs +3 -0
- package/esm2022/tooltips/cluster/cluster-tooltip.component.mjs +12 -0
- package/esm2022/tooltips/cluster/cluster-tooltip.module.mjs +24 -0
- package/esm2022/tooltips/cluster/provoly-dashboard-tooltips-cluster.mjs +5 -0
- package/esm2022/tooltips/cluster/public-api.mjs +3 -0
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +633 -0
- package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +104 -0
- package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +104 -0
- package/esm2022/widgets/widget-aggregated-chart/provoly-dashboard-widgets-widget-aggregated-chart.mjs +5 -0
- package/esm2022/widgets/widget-aggregated-chart/public-api.mjs +6 -0
- package/esm2022/widgets/widget-aggregated-chart/service/backend-aggregation.service.mjs +103 -0
- package/esm2022/widgets/widget-aggregated-chart/service/base-aggregation.service.mjs +16 -0
- package/esm2022/widgets/widget-aggregated-chart/service/frontend-aggregation.service.mjs +206 -0
- package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +11 -0
- package/esm2022/widgets/widget-aggregated-chart/widget-aggregated-chart.module.mjs +72 -0
- package/esm2022/widgets/widget-chart/component/vega-error.handler.mjs +36 -0
- package/esm2022/widgets/widget-chart/component/vega-spec.constant.mjs +248 -0
- package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +652 -0
- package/esm2022/widgets/widget-chart/i18n/en.translations.mjs +114 -0
- package/esm2022/widgets/widget-chart/i18n/fr.translations.mjs +114 -0
- package/esm2022/widgets/widget-chart/provoly-dashboard-widgets-widget-chart.mjs +5 -0
- package/esm2022/widgets/widget-chart/public-api.mjs +3 -0
- package/esm2022/widgets/widget-chart/style/css.component.mjs +11 -0
- package/esm2022/widgets/widget-chart/widget-chart.module.mjs +70 -0
- package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +131 -0
- package/esm2022/widgets/widget-detail/i18n/en.translations.mjs +14 -0
- package/esm2022/widgets/widget-detail/i18n/fr.translations.mjs +14 -0
- package/esm2022/widgets/widget-detail/provoly-dashboard-widgets-widget-detail.mjs +5 -0
- package/esm2022/widgets/widget-detail/public-api.mjs +3 -0
- package/esm2022/widgets/widget-detail/style/css.component.mjs +11 -0
- package/esm2022/widgets/widget-detail/widget-detail.module.mjs +64 -0
- package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +448 -0
- package/esm2022/widgets/widget-graph/i18n/en.translations.mjs +15 -0
- package/esm2022/widgets/widget-graph/i18n/fr.translations.mjs +15 -0
- package/esm2022/widgets/widget-graph/layout/node.interface.mjs +2 -0
- package/esm2022/widgets/widget-graph/layout/simple.function.mjs +99 -0
- package/esm2022/widgets/widget-graph/provoly-dashboard-widgets-widget-graph.mjs +5 -0
- package/esm2022/widgets/widget-graph/public-api.mjs +4 -0
- package/esm2022/widgets/widget-graph/style/css.component.mjs +11 -0
- package/esm2022/widgets/widget-graph/widget-graph.module.mjs +73 -0
- package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +53 -0
- package/esm2022/widgets/widget-iframe/i18n/en.translations.mjs +11 -0
- package/esm2022/widgets/widget-iframe/i18n/fr.translations.mjs +11 -0
- package/esm2022/widgets/widget-iframe/messaging/iframe-message-type.interface.mjs +2 -0
- package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +30 -0
- package/esm2022/widgets/widget-iframe/provoly-dashboard-widgets-widget-iframe.mjs +5 -0
- package/esm2022/widgets/widget-iframe/public-api.mjs +5 -0
- package/esm2022/widgets/widget-iframe/style/css.component.mjs +11 -0
- package/esm2022/widgets/widget-iframe/widget-iframe.module.mjs +66 -0
- package/esm2022/widgets/widget-image/component/widget-image.component.mjs +33 -0
- package/esm2022/widgets/widget-image/provoly-dashboard-widgets-widget-image.mjs +5 -0
- package/esm2022/widgets/widget-image/public-api.mjs +3 -0
- package/esm2022/widgets/widget-image/style/css.component.mjs +11 -0
- package/esm2022/widgets/widget-image/widget-image.module.mjs +24 -0
- package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +317 -0
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +822 -0
- package/esm2022/widgets/widget-map/i18n/en.translations.mjs +81 -0
- package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +81 -0
- package/esm2022/widgets/widget-map/interaction/selection-interaction.class.mjs +170 -0
- package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +52 -0
- package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +22 -0
- package/esm2022/widgets/widget-map/provoly-dashboard-widgets-widget-map.mjs +5 -0
- package/esm2022/widgets/widget-map/public-api.mjs +7 -0
- package/esm2022/widgets/widget-map/reader/kmz-zip-reader.class.mjs +57 -0
- package/esm2022/widgets/widget-map/reader/map-formats-reader.class.mjs +37 -0
- package/esm2022/widgets/widget-map/reader/random-color-style.function.mjs +32 -0
- package/esm2022/widgets/widget-map/reader/read-as-text.class.mjs +30 -0
- package/esm2022/widgets/widget-map/reader/shp-zip-reader.class.mjs +35 -0
- package/esm2022/widgets/widget-map/search-bar/search-bar.control.mjs +66 -0
- package/esm2022/widgets/widget-map/style/css.component.mjs +11 -0
- package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +229 -0
- package/esm2022/widgets/widget-map/widget-map.module.mjs +72 -0
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +187 -0
- package/esm2022/widgets/widget-table/expand-value/detach-row.directive.mjs +30 -0
- package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +32 -0
- package/esm2022/widgets/widget-table/expand-value/format-number.pipe.mjs +29 -0
- package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +43 -0
- package/esm2022/widgets/widget-table/i18n/en.translations.mjs +15 -0
- package/esm2022/widgets/widget-table/i18n/fr.translations.mjs +15 -0
- package/esm2022/widgets/widget-table/provoly-dashboard-widgets-widget-table.mjs +5 -0
- package/esm2022/widgets/widget-table/public-api.mjs +6 -0
- package/esm2022/widgets/widget-table/resizable/resizable.component.mjs +21 -0
- package/esm2022/widgets/widget-table/resizable/resizable.directive.mjs +34 -0
- package/esm2022/widgets/widget-table/style/css.component.mjs +11 -0
- package/esm2022/widgets/widget-table/widget-table.module.mjs +86 -0
- package/esm2022/widgets/widget-template/component/widget-template.component.mjs +86 -0
- package/esm2022/widgets/widget-template/provoly-dashboard-widgets-widget-template.mjs +5 -0
- package/esm2022/widgets/widget-template/public-api.mjs +3 -0
- package/esm2022/widgets/widget-template/style/css.component.mjs +11 -0
- package/esm2022/widgets/widget-template/widget-template.module.mjs +52 -0
- package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +114 -0
- package/esm2022/widgets/widget-tile/i18n/en.translations.mjs +13 -0
- package/esm2022/widgets/widget-tile/i18n/fr.translations.mjs +13 -0
- package/esm2022/widgets/widget-tile/provoly-dashboard-widgets-widget-tile.mjs +5 -0
- package/esm2022/widgets/widget-tile/public-api.mjs +3 -0
- package/esm2022/widgets/widget-tile/style/css.component.mjs +11 -0
- package/esm2022/widgets/widget-tile/widget-tile.module.mjs +72 -0
- package/fesm2022/provoly-dashboard-admin.mjs +6992 -0
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-components-card.mjs +312 -0
- package/fesm2022/provoly-dashboard-components-card.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-components-checkbox.mjs +81 -0
- package/fesm2022/provoly-dashboard-components-checkbox.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-components-expand-panel.mjs +88 -0
- package/fesm2022/provoly-dashboard-components-expand-panel.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-components-filter.mjs +36 -0
- package/fesm2022/provoly-dashboard-components-filter.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-components-sinceDate.mjs +60 -0
- package/fesm2022/provoly-dashboard-components-sinceDate.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-components-stepper.mjs +175 -0
- package/fesm2022/provoly-dashboard-components-stepper.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-dataset.mjs +268 -0
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-filters-date.mjs +85 -0
- package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-filters-list.mjs +65 -0
- package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-filters-number.mjs +53 -0
- package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-filters-text.mjs +56 -0
- package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-import.mjs +302 -0
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-notification.mjs +303 -0
- package/fesm2022/provoly-dashboard-notification.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +154 -0
- package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +116 -0
- package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs +76 -0
- package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +120 -0
- package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs +188 -0
- package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-pipeline.mjs +1183 -0
- package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-presentation.mjs +498 -0
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-restitution.mjs +557 -0
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-search.mjs +2590 -0
- package/fesm2022/provoly-dashboard-search.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-supervision.mjs +866 -0
- package/fesm2022/provoly-dashboard-supervision.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-toolbox.mjs +774 -0
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +60 -0
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-tooltips-cluster.mjs +39 -0
- package/fesm2022/provoly-dashboard-tooltips-cluster.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +1228 -0
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1238 -0
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +230 -0
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +656 -0
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +173 -0
- package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-widgets-widget-image.mjs +67 -0
- package/fesm2022/provoly-dashboard-widgets-widget-image.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +2055 -0
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +464 -0
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +148 -0
- package/fesm2022/provoly-dashboard-widgets-widget-template.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +219 -0
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -0
- package/fesm2022/provoly-dashboard.mjs +10650 -0
- package/fesm2022/provoly-dashboard.mjs.map +1 -0
- package/filters/date/date-filter.component.d.ts +17 -0
- package/filters/date/date-filter.module.d.ts +15 -0
- package/filters/date/index.d.ts +5 -0
- package/filters/date/public-api.d.ts +3 -0
- package/filters/date/style/_m-date.scss +6 -0
- package/filters/date/style/css.component.d.ts +5 -0
- package/filters/list/index.d.ts +5 -0
- package/filters/list/list-filter.component.d.ts +12 -0
- package/filters/list/list-filter.module.d.ts +14 -0
- package/filters/list/public-api.d.ts +3 -0
- package/filters/list/style/_m-list.scss +7 -0
- package/filters/list/style/css.component.d.ts +5 -0
- package/filters/number/index.d.ts +5 -0
- package/filters/number/number-filter.component.d.ts +11 -0
- package/filters/number/number-filter.module.d.ts +14 -0
- package/filters/number/public-api.d.ts +2 -0
- package/filters/text/index.d.ts +5 -0
- package/filters/text/public-api.d.ts +2 -0
- package/filters/text/text-filter.component.d.ts +12 -0
- package/filters/text/text-filter.module.d.ts +14 -0
- package/import/components/import.component.d.ts +29 -0
- package/import/i18n/en.translations.d.ts +27 -0
- package/import/i18n/fr.translations.d.ts +27 -0
- package/import/import-routing.module.d.ts +7 -0
- package/import/import.module.d.ts +17 -0
- package/import/index.d.ts +5 -0
- package/import/public-api.d.ts +2 -0
- package/import/store/import.actions.d.ts +33 -0
- package/import/store/import.effects.d.ts +18 -0
- package/import/store/import.reducer.d.ts +11 -0
- package/import/store/import.selectors.d.ts +9 -0
- package/import/store/import.service.d.ts +12 -0
- package/import/style/_o-import.scss +51 -0
- package/import/style/css.component.d.ts +5 -0
- package/index.d.ts +5 -0
- package/lib/core/access/access.directive.d.ts +16 -0
- package/lib/core/access/access.guard.d.ts +13 -0
- package/lib/core/access/access.model.d.ts +24 -0
- package/lib/core/access/access.service.d.ts +13 -0
- package/lib/core/access/access.utils.d.ts +6 -0
- package/lib/core/components/base-layout/base-layout.component.d.ts +20 -0
- package/lib/core/components/base-menu/base-menu.component.d.ts +27 -0
- package/lib/core/components/base-toolbox/base-toolbox-action.interface.d.ts +12 -0
- package/lib/core/components/base-toolbox/base-toolbox.component.d.ts +10 -0
- package/lib/core/components/base-toolbox-action/base-toolbox-action.component.d.ts +23 -0
- package/lib/core/components/date-picker/date-picker.component.d.ts +47 -0
- package/lib/core/components/date-picker/date-picker.module.d.ts +14 -0
- package/lib/core/components/date-picker/date-range-highlight.pipe.d.ts +8 -0
- package/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.d.ts +26 -0
- package/lib/core/components/date-picker/time-picker/time-picker.component.d.ts +28 -0
- package/lib/core/components/edit-input/edit-input.component.d.ts +21 -0
- package/lib/core/components/edit-input/edit-input.module.d.ts +11 -0
- package/lib/core/components/get-secured-image/get-secured-image.pipe.d.ts +16 -0
- package/lib/core/components/hidden-when-overlay/hidden-when-overlay.directive.d.ts +12 -0
- package/lib/core/components/hidden-when-overlay/hidden-when-overlay.module.d.ts +9 -0
- package/lib/core/components/icon/icon.component.d.ts +32 -0
- package/lib/core/components/icon/icon.module.d.ts +8 -0
- package/lib/core/components/modal/modal.component.d.ts +11 -0
- package/lib/core/components/modal/pry-modal.module.d.ts +11 -0
- package/lib/core/components/modalStatus/modalStatus.component.d.ts +17 -0
- package/lib/core/components/modalStatus/modalStatus.module.d.ts +13 -0
- package/lib/core/components/nq-color-selector/nq-color-selector.component.d.ts +23 -0
- package/lib/core/components/overlay/dialog-confirm.component.d.ts +29 -0
- package/lib/core/components/overlay/dialog-ref.d.ts +9 -0
- package/lib/core/components/overlay/dialog.service.d.ts +27 -0
- package/lib/core/components/overlay/overlay.constantes.d.ts +4 -0
- package/lib/core/components/overlay/overlay.directive.d.ts +27 -0
- package/lib/core/components/overlay/overlay.module.d.ts +13 -0
- package/lib/core/components/overlay/tooltip.directive.d.ts +28 -0
- package/lib/core/components/range/range.component.d.ts +35 -0
- package/lib/core/components/range/range.module.d.ts +9 -0
- package/lib/core/components/select/select.component.d.ts +42 -0
- package/lib/core/components/select/select.module.d.ts +12 -0
- package/lib/core/components/select-image/select-image.component.d.ts +28 -0
- package/lib/core/components/share/share.component.d.ts +31 -0
- package/lib/core/components/share/share.model.d.ts +9 -0
- package/lib/core/components/share/share.module.d.ts +11 -0
- package/lib/core/components/snackbar/snack.interface.d.ts +6 -0
- package/lib/core/components/snackbar/snackbar/snackbar.component.d.ts +25 -0
- package/lib/core/components/snackbar/snackbar.module.d.ts +9 -0
- package/lib/core/components/snackbar/snackbar.service.d.ts +22 -0
- package/lib/core/components/sort/sort-data.pipe.d.ts +10 -0
- package/lib/core/components/sort/sort-header/sort-header.component.d.ts +16 -0
- package/lib/core/components/sort/sort-header.directive.d.ts +5 -0
- package/lib/core/components/sort/sort-table.directive.d.ts +17 -0
- package/lib/core/components/sort/sort.model.d.ts +4 -0
- package/lib/core/components/sort/sort.module.d.ts +12 -0
- package/lib/core/components/title-presentation/title-presentation.component.d.ts +12 -0
- package/lib/core/components/toggle/toggle.component.d.ts +31 -0
- package/lib/core/components/toggle/toggle.module.d.ts +10 -0
- package/lib/core/components/translate-id/translate-id.pipe.d.ts +20 -0
- package/lib/core/components/translate-item-to-symbol/translate-item-to-symbol.pipe.d.ts +18 -0
- package/lib/core/components/upload/upload.component.d.ts +19 -0
- package/lib/core/core.module.d.ts +36 -0
- package/lib/core/errors/http-error-interceptor.service.d.ts +16 -0
- package/lib/core/i18n/deep-merge.function.d.ts +1 -0
- package/lib/core/i18n/en.translations.d.ts +322 -0
- package/lib/core/i18n/fr.translations.d.ts +322 -0
- package/lib/core/i18n/i18n.module.d.ts +7 -0
- package/lib/core/i18n/i18n.pipe.d.ts +16 -0
- package/lib/core/i18n/i18n.service.d.ts +35 -0
- package/lib/core/model/admin-api.model.d.ts +111 -0
- package/lib/core/model/dataset.interface.d.ts +29 -0
- package/lib/core/model/filter.interface.d.ts +20 -0
- package/lib/core/model/item.interface.d.ts +38 -0
- package/lib/core/model/manifest.interface.d.ts +84 -0
- package/lib/core/model/mimetype-resultset.constant.d.ts +1 -0
- package/lib/core/model/notification-interface.d.ts +13 -0
- package/lib/core/model/public-api.d.ts +24 -0
- package/lib/core/model/relation.interface.d.ts +5 -0
- package/lib/core/model/result-order.interface.d.ts +5 -0
- package/lib/core/model/result-set.interface.d.ts +19 -0
- package/lib/core/model/search-mono-class.model.d.ts +49 -0
- package/lib/core/model/search-multi-class.model.d.ts +38 -0
- package/lib/core/model/tooltip-of-class.interface.d.ts +4 -0
- package/lib/core/model/widget-aggregated-chart-manifest.interface.d.ts +60 -0
- package/lib/core/model/widget-chart-manifest.interface.d.ts +150 -0
- package/lib/core/model/widget-detail-manifest.interface.d.ts +4 -0
- package/lib/core/model/widget-graph-manifest.interface.d.ts +14 -0
- package/lib/core/model/widget-iframe-manifest.interface.d.ts +3 -0
- package/lib/core/model/widget-image-manifest.interface.d.ts +4 -0
- package/lib/core/model/widget-map-manifest.interface.d.ts +97 -0
- package/lib/core/model/widget-table-manifest.interface.d.ts +9 -0
- package/lib/core/model/widget-template-manifest.interface.d.ts +5 -0
- package/lib/core/model/widget-tile-manifest.interface.d.ts +10 -0
- package/lib/core/model/widget.interface.d.ts +13 -0
- package/lib/core/public-api.d.ts +113 -0
- package/lib/core/store/category/category.actions.d.ts +14 -0
- package/lib/core/store/category/category.effects.d.ts +15 -0
- package/lib/core/store/category/category.interface.d.ts +4 -0
- package/lib/core/store/category/category.reducer.d.ts +11 -0
- package/lib/core/store/category/category.selectors.d.ts +6 -0
- package/lib/core/store/category/category.service.d.ts +13 -0
- package/lib/core/store/class/class.actions.d.ts +37 -0
- package/lib/core/store/class/class.effects.d.ts +25 -0
- package/lib/core/store/class/class.interface.d.ts +19 -0
- package/lib/core/store/class/class.reducer.d.ts +15 -0
- package/lib/core/store/class/class.selectors.d.ts +14 -0
- package/lib/core/store/class/class.service.d.ts +22 -0
- package/lib/core/store/config/config.actions.d.ts +185 -0
- package/lib/core/store/config/config.effects.d.ts +51 -0
- package/lib/core/store/config/config.reducer.d.ts +37 -0
- package/lib/core/store/config/config.selectors.d.ts +52 -0
- package/lib/core/store/config/config.service.d.ts +51 -0
- package/lib/core/store/config/config.widget.constants.d.ts +12 -0
- package/lib/core/store/config/icon-definitions.interface.d.ts +34 -0
- package/lib/core/store/config/open-map-tiles.service.d.ts +17 -0
- package/lib/core/store/context-menu/context-menu.actions.d.ts +18 -0
- package/lib/core/store/context-menu/context-menu.effects.d.ts +8 -0
- package/lib/core/store/context-menu/context-menu.reducer.d.ts +12 -0
- package/lib/core/store/context-menu/context-menu.selectors.d.ts +16 -0
- package/lib/core/store/data-source/data-source.actions.d.ts +238 -0
- package/lib/core/store/data-source/data-source.effects.d.ts +106 -0
- package/lib/core/store/data-source/data-source.model.d.ts +32 -0
- package/lib/core/store/data-source/data-source.reducer.d.ts +21 -0
- package/lib/core/store/data-source/data-source.selectors.d.ts +31 -0
- package/lib/core/store/data-source/data-source.service.d.ts +40 -0
- package/lib/core/store/data-source/named-query-types.model.d.ts +5 -0
- package/lib/core/store/data-source/named-query-utils.d.ts +6 -0
- package/lib/core/store/field/field.actions.d.ts +14 -0
- package/lib/core/store/field/field.effects.d.ts +15 -0
- package/lib/core/store/field/field.interface.d.ts +21 -0
- package/lib/core/store/field/field.reducer.d.ts +11 -0
- package/lib/core/store/field/field.selectors.d.ts +7 -0
- package/lib/core/store/field/field.service.d.ts +15 -0
- package/lib/core/store/image/image.actions.d.ts +32 -0
- package/lib/core/store/image/image.effects.d.ts +20 -0
- package/lib/core/store/image/image.reducer.d.ts +9 -0
- package/lib/core/store/image/image.selectors.d.ts +7 -0
- package/lib/core/store/image/image.service.d.ts +29 -0
- package/lib/core/store/item/item.actions.d.ts +18 -0
- package/lib/core/store/item/item.effects.d.ts +27 -0
- package/lib/core/store/item/item.service.d.ts +28 -0
- package/lib/core/store/raw/raw.service.d.ts +18 -0
- package/lib/core/store/relation-types/relation-types.actions.d.ts +65 -0
- package/lib/core/store/relation-types/relation-types.effects.d.ts +31 -0
- package/lib/core/store/relation-types/relation-types.interface.d.ts +8 -0
- package/lib/core/store/relation-types/relation-types.reducer.d.ts +11 -0
- package/lib/core/store/relation-types/relation-types.selectors.d.ts +8 -0
- package/lib/core/store/relation-types/relation-types.service.d.ts +17 -0
- package/lib/core/store/search/lat-lon-to-geographic-field-transformation.function.d.ts +2 -0
- package/lib/core/store/search/search.actions.d.ts +33 -0
- package/lib/core/store/search/search.constants.d.ts +2 -0
- package/lib/core/store/search/search.effects.d.ts +33 -0
- package/lib/core/store/search/search.reducer.d.ts +10 -0
- package/lib/core/store/search/search.selectors.d.ts +5 -0
- package/lib/core/store/search/search.service.d.ts +50 -0
- package/lib/core/symbol/symbol.service.d.ts +27 -0
- package/lib/core/toolbox/toolbox-manifest.service.d.ts +21 -0
- package/lib/core/toolbox/toolbox-menu.service.d.ts +45 -0
- package/lib/core/ws/websocket.service.d.ts +26 -0
- package/lib/dashboard/action-bus/bus-action.interface.d.ts +4 -0
- package/lib/dashboard/action-bus/effect/action-bus.effects.d.ts +13 -0
- package/lib/dashboard/action-bus/service/bus.service.d.ts +22 -0
- package/lib/dashboard/action-bus/service/control-message.interface.d.ts +6 -0
- package/lib/dashboard/base-widget.module.d.ts +9 -0
- package/lib/dashboard/components/context-menu/context-menu.component.d.ts +59 -0
- package/lib/dashboard/components/context-menu/object-edition/object-edition.component.d.ts +78 -0
- package/lib/dashboard/components/dashboard.component.d.ts +99 -0
- package/lib/dashboard/components/manifests/manifests.component.d.ts +20 -0
- package/lib/dashboard/components/metadata/metadata.component.d.ts +16 -0
- package/lib/dashboard/components/solve-collisions.function.d.ts +15 -0
- package/lib/dashboard/components/subscriptionner.directive.d.ts +9 -0
- package/lib/dashboard/components/vizualize-raw/vizualize-raw.component.d.ts +26 -0
- package/lib/dashboard/components/widgets/base-widget.component.d.ts +36 -0
- package/lib/dashboard/components/widgets/data-widget.component.d.ts +20 -0
- package/lib/dashboard/components/widgets/header/resultset-size.pipe.d.ts +18 -0
- package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +115 -0
- package/lib/dashboard/components/widgets/public-api.d.ts +9 -0
- package/lib/dashboard/components/widgets/settings/settings.component.d.ts +35 -0
- package/lib/dashboard/components/widgets/widget-filler/widget-filler.component.d.ts +10 -0
- package/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.d.ts +24 -0
- package/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.d.ts +34 -0
- package/lib/dashboard/components/widgets/widget-instanciator/widgets-definition.model.d.ts +11 -0
- package/lib/dashboard/components/widgets/widget-placeholder/widget-placeholder.component.d.ts +9 -0
- package/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.d.ts +39 -0
- package/lib/dashboard/dashboard.module.d.ts +59 -0
- package/lib/dashboard/date-utils.d.ts +3 -0
- package/lib/dashboard/filter/base-filter.component.d.ts +13 -0
- package/lib/dashboard/filter/base-filter.module.d.ts +9 -0
- package/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.d.ts +20 -0
- package/lib/dashboard/filter/filter-factory.service.d.ts +40 -0
- package/lib/dashboard/filter/filter-loader.function.d.ts +3 -0
- package/lib/dashboard/filter/public-api.d.ts +5 -0
- package/lib/dashboard/guard/default-view.guard.d.ts +14 -0
- package/lib/dashboard/item-utils.d.ts +35 -0
- package/lib/dashboard/public-api.d.ts +30 -0
- package/lib/dashboard/resultset-utils.d.ts +4 -0
- package/lib/dashboard/store/dashboard-init.service.d.ts +20 -0
- package/lib/dashboard/store/dashboard.actions.d.ts +455 -0
- package/lib/dashboard/store/dashboard.contants.d.ts +4 -0
- package/lib/dashboard/store/dashboard.effects.d.ts +226 -0
- package/lib/dashboard/store/dashboard.reducers.d.ts +48 -0
- package/lib/dashboard/store/dashboard.selectors.d.ts +374 -0
- package/lib/dashboard/store/geocoding.service.d.ts +56 -0
- package/lib/dashboard/store/manifest.service.d.ts +26 -0
- package/lib/dashboard/store/refresh.service.d.ts +12 -0
- package/lib/dashboard/store/title.service.d.ts +17 -0
- package/lib/dashboard/tooltip/base-tooltip.component.d.ts +15 -0
- package/lib/dashboard/tooltip/base-tooltip.module.d.ts +9 -0
- package/lib/dashboard/tooltip/components/default/default.tooltip.component.d.ts +6 -0
- package/lib/dashboard/tooltip/public-api.d.ts +5 -0
- package/lib/dashboard/tooltip/tooltip-factory.service.d.ts +42 -0
- package/lib/dashboard/tooltip/tooltip-loader.function.d.ts +3 -0
- package/lib/dashboard/widget-loader.function.d.ts +3 -0
- package/notification/components/notification/content/notification-content.component.d.ts +25 -0
- package/notification/components/notification/notification.component.d.ts +20 -0
- package/notification/i18n/en.translations.d.ts +22 -0
- package/notification/i18n/fr.translations.d.ts +22 -0
- package/notification/index.d.ts +5 -0
- package/notification/notification.module.d.ts +17 -0
- package/notification/public-api.d.ts +9 -0
- package/notification/store/notification.actions.d.ts +20 -0
- package/notification/store/notification.effects.d.ts +18 -0
- package/notification/store/notification.reducer.d.ts +6 -0
- package/notification/store/notification.selectors.d.ts +5 -0
- package/notification/store/notification.service.d.ts +12 -0
- package/notification/style/_m-notifications.scss +127 -0
- package/notification/style/css.component.d.ts +5 -0
- package/package.json +266 -0
- package/pipeline/components/pipeline-details/pipeline-details.component.d.ts +27 -0
- package/pipeline/components/pipeline-editor/graph-serializer.utils.d.ts +8 -0
- package/pipeline/components/pipeline-editor/pipeline-editor.component.d.ts +73 -0
- package/pipeline/components/pipeline-editor/pipeline.interface.d.ts +52 -0
- package/pipeline/components/pipeline-list/pipeline-list.component.d.ts +46 -0
- package/pipeline/components/pipeline-properties-panel.component.d.ts +11 -0
- package/pipeline/factory/pipeline-component-factory.service.d.ts +29 -0
- package/pipeline/i18n/en.translations.d.ts +73 -0
- package/pipeline/i18n/fr.translations.d.ts +73 -0
- package/pipeline/index.d.ts +5 -0
- package/pipeline/node-class/base-node.class.d.ts +13 -0
- package/pipeline/pipeline.module.d.ts +20 -0
- package/pipeline/public-api.d.ts +16 -0
- package/pipeline/store/pipeline.actions.d.ts +81 -0
- package/pipeline/store/pipeline.effects.d.ts +30 -0
- package/pipeline/store/pipeline.reducer.d.ts +13 -0
- package/pipeline/store/pipeline.selectors.d.ts +8 -0
- package/pipeline/store/pipeline.service.d.ts +19 -0
- package/pipeline/style/_o-pipeline.scss +274 -0
- package/pipeline/style/css.component.d.ts +5 -0
- package/pipeline-components/filter/component/filter.component.d.ts +16 -0
- package/pipeline-components/filter/filter.module.d.ts +15 -0
- package/pipeline-components/filter/i18n/en.translations.d.ts +15 -0
- package/pipeline-components/filter/i18n/fr.translations.d.ts +15 -0
- package/pipeline-components/filter/index.d.ts +5 -0
- package/pipeline-components/filter/node-class/filter-node.class.d.ts +4 -0
- package/pipeline-components/filter/public-api.d.ts +3 -0
- package/pipeline-components/input-datasource/component/input-datasource.component.d.ts +13 -0
- package/pipeline-components/input-datasource/i18n/en.translations.d.ts +10 -0
- package/pipeline-components/input-datasource/i18n/fr.translations.d.ts +10 -0
- package/pipeline-components/input-datasource/index.d.ts +5 -0
- package/pipeline-components/input-datasource/input-datasource.module.d.ts +17 -0
- package/pipeline-components/input-datasource/node-class/input-datasourse-node.class.d.ts +5 -0
- package/pipeline-components/input-datasource/public-api.d.ts +3 -0
- package/pipeline-components/noop/component/noop.component.d.ts +7 -0
- package/pipeline-components/noop/index.d.ts +5 -0
- package/pipeline-components/noop/node-class/noop-node.class.d.ts +4 -0
- package/pipeline-components/noop/noop.module.d.ts +13 -0
- package/pipeline-components/noop/public-api.d.ts +3 -0
- package/pipeline-components/output-dataset/component/output-dataset.component.d.ts +13 -0
- package/pipeline-components/output-dataset/i18n/en.translations.d.ts +9 -0
- package/pipeline-components/output-dataset/i18n/fr.translations.d.ts +9 -0
- package/pipeline-components/output-dataset/index.d.ts +5 -0
- package/pipeline-components/output-dataset/node-class/output-dataset-node.class.d.ts +5 -0
- package/pipeline-components/output-dataset/output-dataset.module.d.ts +17 -0
- package/pipeline-components/output-dataset/public-api.d.ts +3 -0
- package/pipeline-components/subgraph/component/empty.component.d.ts +7 -0
- package/pipeline-components/subgraph/index.d.ts +5 -0
- package/pipeline-components/subgraph/node-class/sub-graph-input.class.d.ts +4 -0
- package/pipeline-components/subgraph/node-class/sub-graph-node.class.d.ts +17 -0
- package/pipeline-components/subgraph/node-class/sub-graph-output.class.d.ts +4 -0
- package/pipeline-components/subgraph/public-api.d.ts +5 -0
- package/pipeline-components/subgraph/subgraph.module.d.ts +13 -0
- package/presentation/components/add-edit-presentation/add-edit-presentation.component.d.ts +28 -0
- package/presentation/components/presentation.component.d.ts +55 -0
- package/presentation/i18n/en.translations.d.ts +39 -0
- package/presentation/i18n/fr.translations.d.ts +40 -0
- package/presentation/index.d.ts +5 -0
- package/presentation/presentation.module.d.ts +18 -0
- package/presentation/public-api.d.ts +4 -0
- package/presentation/style/_o-pry-new-presentation.scss +78 -0
- package/presentation/style/_o-pry-presentation.scss +93 -0
- package/presentation/style/css.component.d.ts +5 -0
- package/public-api.d.ts +2 -0
- package/restitution/components/restitution/restitution.component.d.ts +54 -0
- package/restitution/components/restitution-catalog/restitution-catalog.component.d.ts +40 -0
- package/restitution/components/restitution-list/restitution-list.component.d.ts +33 -0
- package/restitution/i18n/en.translations.d.ts +43 -0
- package/restitution/i18n/fr.translations.d.ts +43 -0
- package/restitution/index.d.ts +5 -0
- package/restitution/model/restitution.model.d.ts +8 -0
- package/restitution/public-api.d.ts +4 -0
- package/restitution/restitution.module.d.ts +21 -0
- package/restitution/style/_o-restitution-list.scss +161 -0
- package/restitution/style/_o-restitution.scss +32 -0
- package/restitution/style/css.component.d.ts +5 -0
- package/search/components/choose-widget/choose-widget.component.d.ts +34 -0
- package/search/components/edit-named-query/edit-named-query.component.d.ts +37 -0
- package/search/components/edit-named-query-modal/edit-named-query-modal.component.d.ts +17 -0
- package/search/components/save-query/save-query.component.d.ts +36 -0
- package/search/components/save-query-button/save-query-button.component.d.ts +23 -0
- package/search/i18n/en.translations.d.ts +131 -0
- package/search/i18n/fr.translations.d.ts +131 -0
- package/search/index.d.ts +5 -0
- package/search/public-api.d.ts +12 -0
- package/search/search-fulltext/search-fulltext/search-fulltext.component.d.ts +56 -0
- package/search/search-fulltext/store/search-fulltext.actions.d.ts +21 -0
- package/search/search-fulltext/store/search-fulltext.effects.d.ts +25 -0
- package/search/search-fulltext/store/search-fulltext.service.d.ts +7 -0
- package/search/search-home/search-home.component.d.ts +76 -0
- package/search/search-mono-class/components/search-composed/search-composed.component.d.ts +27 -0
- package/search/search-mono-class/components/search-condition/search-condition.component.d.ts +42 -0
- package/search/search-mono-class/components/search-mono-class/search-mono-class.component.d.ts +15 -0
- package/search/search-mono-class/components/search-order/search-order.component.d.ts +25 -0
- package/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.d.ts +16 -0
- package/search/search-mono-class/store/search-mono-class.actions.d.ts +119 -0
- package/search/search-mono-class/store/search-mono-class.effects.d.ts +64 -0
- package/search/search-mono-class/store/search-mono-class.reducer.d.ts +10 -0
- package/search/search-mono-class/store/search-mono-class.selectors.d.ts +13 -0
- package/search/search-mono-class/store/search-mono-class.service.d.ts +20 -0
- package/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.d.ts +39 -0
- package/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.d.ts +24 -0
- package/search/search-multi-class/components/search-multi-class/search-multi-class.component.d.ts +15 -0
- package/search/search-multi-class/store/search-multi-class.actions.d.ts +65 -0
- package/search/search-multi-class/store/search-multi-class.effects.d.ts +39 -0
- package/search/search-multi-class/store/search-multi-class.reducer.d.ts +8 -0
- package/search/search-multi-class/store/search-multi-class.selectors.d.ts +9 -0
- package/search/search-multi-class/store/search-multi-class.service.d.ts +15 -0
- package/search/search-tools/search-tools.component.d.ts +52 -0
- package/search/search.module.d.ts +37 -0
- package/search/style/_m-choose-widget.scss +108 -0
- package/search/style/_m-pry-search-select-attribute.scss +28 -0
- package/search/style/_o-edit-named-query-modal.scss +9 -0
- package/search/style/_o-edit-named-query.scss +29 -0
- package/search/style/_o-multi-class-condition.scss +65 -0
- package/search/style/_o-multi-class-field-selection.scss +64 -0
- package/search/style/_o-pry-search-composed.scss +89 -0
- package/search/style/_o-pry-search-condition.scss +54 -0
- package/search/style/_o-pry-search-home.scss +91 -0
- package/search/style/_o-pry-search-order.scss +14 -0
- package/search/style/_o-pry-search-tools.scss +150 -0
- package/search/style/_o-search-fulltext.scss +154 -0
- package/search/style/_o-search-mono-class.scss +45 -0
- package/search/style/_o-search-multi-class.scss +34 -0
- package/search/style/css.component.d.ts +5 -0
- package/styles/abstracts/_abstracts-overlays.scss +13 -0
- package/styles/abstracts/_abstracts-utils.scss +82 -0
- package/styles/abstracts/_functions.scss +229 -0
- package/styles/abstracts/_index.scss +5 -0
- package/styles/abstracts/_mixins.scss +309 -0
- package/styles/abstracts/_variables.scss +3 -0
- package/styles/base/_custom-scrollbar.scss +9 -0
- package/styles/base/_html-body.scss +5 -0
- package/styles/base/_index.scss +6 -0
- package/styles/base/_normalize.scss +351 -0
- package/styles/base/_reboot.scss +376 -0
- package/styles/base/_typography.scss +25 -0
- package/styles/base/_utils.scss +67 -0
- package/styles/components/_a-badge.scss +8 -0
- package/styles/components/_a-btn.scss +207 -0
- package/styles/components/_a-checkbox.scss +80 -0
- package/styles/components/_a-checkmark.scss +1 -0
- package/styles/components/_a-expandable-value.scss +51 -0
- package/styles/components/_a-form-field.scss +96 -0
- package/styles/components/_a-icon.scss +16 -0
- package/styles/components/_a-label.scss +16 -0
- package/styles/components/_a-link.scss +17 -0
- package/styles/components/_a-loader.scss +30 -0
- package/styles/components/_a-pastille.scss +14 -0
- package/styles/components/_a-pry-select-image.scss +16 -0
- package/styles/components/_a-pry-select.scss +19 -0
- package/styles/components/_a-range-slider.scss +105 -0
- package/styles/components/_a-table.scss +128 -0
- package/styles/components/_a-toggle.scss +150 -0
- package/styles/components/_m-actions-list.scss +25 -0
- package/styles/components/_m-btn-group.scss +58 -0
- package/styles/components/_m-btn-sorttable.scss +75 -0
- package/styles/components/_m-color-selector.scss +58 -0
- package/styles/components/_m-context-menu.scss +52 -0
- package/styles/components/_m-filter.scss +7 -0
- package/styles/components/_m-form-label-field.scss +55 -0
- package/styles/components/_m-form-radio-group.scss +47 -0
- package/styles/components/_m-image-selector.scss +11 -0
- package/styles/components/_m-metadata-tag.scss +55 -0
- package/styles/components/_m-minus-plus.scss +81 -0
- package/styles/components/_m-nav-links.scss +34 -0
- package/styles/components/_m-pry-overlay.scss +56 -0
- package/styles/components/_m-snackbar.scss +52 -0
- package/styles/components/_m-time-picker.scss +55 -0
- package/styles/components/_m-toolbox.scss +21 -0
- package/styles/components/_m-tooltip.scss +91 -0
- package/styles/components/_o-accordion.scss +24 -0
- package/styles/components/_o-card.scss +131 -0
- package/styles/components/_o-cards-list.scss +11 -0
- package/styles/components/_o-dashboard.scss +169 -0
- package/styles/components/_o-datasources.scss +83 -0
- package/styles/components/_o-date-picker.scss +141 -0
- package/styles/components/_o-draggable-menu.scss +54 -0
- package/styles/components/_o-form.scss +29 -0
- package/styles/components/_o-modal.scss +94 -0
- package/styles/components/_o-named-query.scss +43 -0
- package/styles/components/_o-object-panel.scss +109 -0
- package/styles/components/_o-panel.scss +37 -0
- package/styles/components/_o-properties.scss +42 -0
- package/styles/components/_o-pry-admin-classes-customize.scss +130 -0
- package/styles/components/_o-pry-card-menu.scss +105 -0
- package/styles/components/_o-pry-card.scss +97 -0
- package/styles/components/_o-pry-composed-condition.scss +84 -0
- package/styles/components/_o-pry-edit.scss +9 -0
- package/styles/components/_o-pry-expand-panel.scss +36 -0
- package/styles/components/_o-pry-stepper.scss +103 -0
- package/styles/components/_o-search-mono-class.scss +45 -0
- package/styles/components/_o-search-multi-class.scss +34 -0
- package/styles/components/_o-settings.scss +123 -0
- package/styles/components/_o-tabs.scss +108 -0
- package/styles/components/_o-widget.scss +208 -0
- package/styles/components/_overlay.scss +82 -0
- package/styles/layout/_o-base-layout.scss +113 -0
- package/styles/layout/_o-main-layout.scss +38 -0
- package/styles/layout/_o-manifest-layout.scss +89 -0
- package/styles/layout/_o-workspace.scss +61 -0
- package/styles/layout/grid/_grid.scss +141 -0
- package/styles/layout/grid/_visibility.scss +71 -0
- package/styles/layout/grid/mixins/_grid-mixins.scss +368 -0
- package/styles/layout/grid/mixins/_visibility-mixins.scss +115 -0
- package/styles/layout/grid/variables/_grid-variables.scss +41 -0
- package/styles/libs/_reset-lib-ol.scss +35 -0
- package/styles/main.scss +78 -0
- package/styles-theme/abstracts-theme/_abstracts-cards.theme.scss +22 -0
- package/styles-theme/abstracts-theme/_abstracts-overlays.theme.scss +10 -0
- package/styles-theme/abstracts-theme/_index.scss +3 -0
- package/styles-theme/abstracts-theme/_variables.theme.scss +5 -0
- package/styles-theme/abstracts-theme/variables/_index.scss +4 -0
- package/styles-theme/abstracts-theme/variables/_variables-colors.scss +113 -0
- package/styles-theme/abstracts-theme/variables/_variables-decoration.scss +49 -0
- package/styles-theme/abstracts-theme/variables/_variables-fonts.scss +40 -0
- package/styles-theme/abstracts-theme/variables/_variables-typo.scss +138 -0
- package/styles-theme/base-theme/_custom-scrollbar.theme.scss +8 -0
- package/styles-theme/base-theme/_fonts.theme.scss +37 -0
- package/styles-theme/base-theme/_html-body.theme.scss +6 -0
- package/styles-theme/base-theme/_index.scss +4 -0
- package/styles-theme/base-theme/_typography.theme.scss +27 -0
- package/styles-theme/components-theme/_a-badge.theme.scss +21 -0
- package/styles-theme/components-theme/_a-btn.theme.scss +214 -0
- package/styles-theme/components-theme/_a-checkbox.theme.scss +68 -0
- package/styles-theme/components-theme/_a-checkmark.theme.scss +4 -0
- package/styles-theme/components-theme/_a-expandable-value.theme.scss +23 -0
- package/styles-theme/components-theme/_a-form-field.theme.scss +63 -0
- package/styles-theme/components-theme/_a-icon.theme.scss +17 -0
- package/styles-theme/components-theme/_a-label.theme.scss +16 -0
- package/styles-theme/components-theme/_a-link.theme.scss +12 -0
- package/styles-theme/components-theme/_a-pastille.theme.scss +14 -0
- package/styles-theme/components-theme/_a-pry-select.theme.scss +117 -0
- package/styles-theme/components-theme/_a-range-slider.theme.scss +54 -0
- package/styles-theme/components-theme/_a-table.theme.scss +49 -0
- package/styles-theme/components-theme/_a-toggle.theme.scss +62 -0
- package/styles-theme/components-theme/_m-btn-sorttable.theme.scss +45 -0
- package/styles-theme/components-theme/_m-choose-widget.theme.scss +4 -0
- package/styles-theme/components-theme/_m-context-menu.theme.scss +46 -0
- package/styles-theme/components-theme/_m-metadata-tag.theme.scss +17 -0
- package/styles-theme/components-theme/_m-minus-plus.theme.scss +51 -0
- package/styles-theme/components-theme/_m-nav-links.theme.scss +4 -0
- package/styles-theme/components-theme/_m-notifications.theme.scss +90 -0
- package/styles-theme/components-theme/_m-pry-search-select-attribute.theme.scss +15 -0
- package/styles-theme/components-theme/_m-snackbar.theme.scss +42 -0
- package/styles-theme/components-theme/_m-time-picker.theme.scss +36 -0
- package/styles-theme/components-theme/_m-toolbox.theme.scss +15 -0
- package/styles-theme/components-theme/_m-tooltip.theme.scss +66 -0
- package/styles-theme/components-theme/_o-card.theme.scss +45 -0
- package/styles-theme/components-theme/_o-catalog.theme.scss +74 -0
- package/styles-theme/components-theme/_o-datasources.theme.scss +38 -0
- package/styles-theme/components-theme/_o-date-picker.theme.scss +37 -0
- package/styles-theme/components-theme/_o-draggable-menu.theme.scss +26 -0
- package/styles-theme/components-theme/_o-modal.theme.scss +28 -0
- package/styles-theme/components-theme/_o-multi-class-condition.theme.scss +22 -0
- package/styles-theme/components-theme/_o-multi-class-field-selection.theme.scss +43 -0
- package/styles-theme/components-theme/_o-named-query.theme.scss +19 -0
- package/styles-theme/components-theme/_o-object-panel.theme.scss +11 -0
- package/styles-theme/components-theme/_o-panel.theme.scss +18 -0
- package/styles-theme/components-theme/_o-pipeline.theme.scss +88 -0
- package/styles-theme/components-theme/_o-pry-admin-classes-customize.theme.scss +14 -0
- package/styles-theme/components-theme/_o-pry-card-menu.theme.scss +55 -0
- package/styles-theme/components-theme/_o-pry-card.theme.scss +44 -0
- package/styles-theme/components-theme/_o-pry-composed-condition.theme.scss +60 -0
- package/styles-theme/components-theme/_o-pry-dataset-card.theme.scss +18 -0
- package/styles-theme/components-theme/_o-pry-dataset.theme.scss +12 -0
- package/styles-theme/components-theme/_o-pry-expand-panel.theme.scss +12 -0
- package/styles-theme/components-theme/_o-pry-new-presentation.theme.scss +20 -0
- package/styles-theme/components-theme/_o-pry-presentation.theme.scss +39 -0
- package/styles-theme/components-theme/_o-pry-search-composed.theme.scss +44 -0
- package/styles-theme/components-theme/_o-pry-search-condition.theme.scss +10 -0
- package/styles-theme/components-theme/_o-pry-search-home.theme.scss +25 -0
- package/styles-theme/components-theme/_o-pry-search-tools.theme.scss +54 -0
- package/styles-theme/components-theme/_o-pry-stepper.theme.scss +35 -0
- package/styles-theme/components-theme/_o-restitution-list.theme.scss +27 -0
- package/styles-theme/components-theme/_o-restitution.theme.scss +7 -0
- package/styles-theme/components-theme/_o-search-fulltext.theme.scss +83 -0
- package/styles-theme/components-theme/_o-search-multi-class.theme.scss +28 -0
- package/styles-theme/components-theme/_o-select-grid-layout.theme.scss +33 -0
- package/styles-theme/components-theme/_o-settings.theme.scss +64 -0
- package/styles-theme/components-theme/_o-tabs.theme.scss +37 -0
- package/styles-theme/components-theme/_o-widget-detail.theme.scss +21 -0
- package/styles-theme/components-theme/_o-widget-graph.theme.scss +32 -0
- package/styles-theme/components-theme/_o-widget-iframe.theme.scss +30 -0
- package/styles-theme/components-theme/_o-widget-map.theme.scss +5 -0
- package/styles-theme/components-theme/_o-widget-table.theme.scss +18 -0
- package/styles-theme/components-theme/_o-widget-tile.theme.scss +21 -0
- package/styles-theme/components-theme/_o-widget.theme.scss +70 -0
- package/styles-theme/components-theme/_overlay.theme.scss +44 -0
- package/styles-theme/layout-theme/_o-base-layout.theme.scss +24 -0
- package/styles-theme/layout-theme/_o-manifest-layout.theme.scss +33 -0
- package/styles-theme/layout-theme/_o-workspace.theme.scss +18 -0
- package/styles-theme/libs-theme/_reset-lib-ol.theme.scss +38 -0
- package/styles-theme/main-theme.scss +83 -0
- package/supervision/components/supervision-business-data/supervision-business-data.component.d.ts +14 -0
- package/supervision/components/supervision-flow/supervision-flow.component.d.ts +14 -0
- package/supervision/components/supervision-infrastructures/supervision-infrastructures.component.d.ts +18 -0
- package/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.d.ts +14 -0
- package/supervision/components/supervision-integration-errors/supervision-integration-errors.component.d.ts +29 -0
- package/supervision/components/supervision-layout/supervision-layout.component.d.ts +21 -0
- package/supervision/components/supervision-menu/supervision-menu.component.d.ts +13 -0
- package/supervision/components/supervision-title/supervision-title.component.d.ts +11 -0
- package/supervision/components/supervision.component.d.ts +9 -0
- package/supervision/i18n/en.translations.d.ts +57 -0
- package/supervision/i18n/fr.translations.d.ts +57 -0
- package/supervision/index.d.ts +5 -0
- package/supervision/public-api.d.ts +1 -0
- package/supervision/store/supervision-api.model.d.ts +36 -0
- package/supervision/store/supervision.actions.d.ts +121 -0
- package/supervision/store/supervision.effects.d.ts +51 -0
- package/supervision/store/supervision.reducer.d.ts +22 -0
- package/supervision/store/supervision.selectors.d.ts +18 -0
- package/supervision/store/supervision.service.d.ts +19 -0
- package/supervision/supervision-routing.module.d.ts +7 -0
- package/supervision/supervision.module.d.ts +25 -0
- package/toolbox/components/clear-view/clear-view.component.d.ts +10 -0
- package/toolbox/components/drag-widgets/drag-widgets.component.d.ts +19 -0
- package/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.d.ts +12 -0
- package/toolbox/components/filter-settings/filter-settings.component.d.ts +80 -0
- package/toolbox/components/launch-tab/launch-tab.component.d.ts +10 -0
- package/toolbox/components/named-query/named-query.component.d.ts +15 -0
- package/toolbox/components/save-view/save-view.component.d.ts +53 -0
- package/toolbox/components/select-grid-layout/select-grid-layout.component.d.ts +35 -0
- package/toolbox/components/toolbox.component.d.ts +11 -0
- package/toolbox/index.d.ts +5 -0
- package/toolbox/public-api.d.ts +11 -0
- package/toolbox/style/_o-filter-settings.scss +96 -0
- package/toolbox/style/_o-select-grid-layout.scss +43 -0
- package/toolbox/style/css.component.d.ts +5 -0
- package/toolbox/toolbox.module.d.ts +23 -0
- package/tooltips/attribute/attribute-tooltip.component.d.ts +10 -0
- package/tooltips/attribute/attribute-tooltip.module.d.ts +14 -0
- package/tooltips/attribute/index.d.ts +5 -0
- package/tooltips/attribute/public-api.d.ts +2 -0
- package/tooltips/cluster/cluster-tooltip.component.d.ts +6 -0
- package/tooltips/cluster/cluster-tooltip.module.d.ts +13 -0
- package/tooltips/cluster/index.d.ts +5 -0
- package/tooltips/cluster/public-api.d.ts +2 -0
- package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +101 -0
- package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +103 -0
- package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +103 -0
- package/widgets/widget-aggregated-chart/index.d.ts +5 -0
- package/widgets/widget-aggregated-chart/public-api.d.ts +5 -0
- package/widgets/widget-aggregated-chart/service/backend-aggregation.service.d.ts +21 -0
- package/widgets/widget-aggregated-chart/service/base-aggregation.service.d.ts +21 -0
- package/widgets/widget-aggregated-chart/service/frontend-aggregation.service.d.ts +32 -0
- package/widgets/widget-aggregated-chart/style/_o-widget-chart.scss +43 -0
- package/widgets/widget-aggregated-chart/style/css.component.d.ts +5 -0
- package/widgets/widget-aggregated-chart/widget-aggregated-chart.module.d.ts +18 -0
- package/widgets/widget-chart/component/vega-error.handler.d.ts +6 -0
- package/widgets/widget-chart/component/vega-spec.constant.d.ts +98 -0
- package/widgets/widget-chart/component/widget-chart.component.d.ts +151 -0
- package/widgets/widget-chart/i18n/en.translations.d.ts +113 -0
- package/widgets/widget-chart/i18n/fr.translations.d.ts +113 -0
- package/widgets/widget-chart/index.d.ts +5 -0
- package/widgets/widget-chart/public-api.d.ts +2 -0
- package/widgets/widget-chart/style/_o-widget-chart.scss +43 -0
- package/widgets/widget-chart/style/css.component.d.ts +5 -0
- package/widgets/widget-chart/widget-chart.module.d.ts +18 -0
- package/widgets/widget-detail/component/widget-detail.component.d.ts +45 -0
- package/widgets/widget-detail/i18n/en.translations.d.ts +13 -0
- package/widgets/widget-detail/i18n/fr.translations.d.ts +13 -0
- package/widgets/widget-detail/index.d.ts +5 -0
- package/widgets/widget-detail/public-api.d.ts +2 -0
- package/widgets/widget-detail/style/_o-widget-detail.scss +60 -0
- package/widgets/widget-detail/style/css.component.d.ts +5 -0
- package/widgets/widget-detail/widget-detail.module.d.ts +18 -0
- package/widgets/widget-graph/component/widget-graph.component.d.ts +101 -0
- package/widgets/widget-graph/i18n/en.translations.d.ts +14 -0
- package/widgets/widget-graph/i18n/fr.translations.d.ts +14 -0
- package/widgets/widget-graph/index.d.ts +5 -0
- package/widgets/widget-graph/layout/node.interface.d.ts +12 -0
- package/widgets/widget-graph/layout/simple.function.d.ts +9 -0
- package/widgets/widget-graph/public-api.d.ts +3 -0
- package/widgets/widget-graph/style/_o-widget-graph.scss +4 -0
- package/widgets/widget-graph/style/css.component.d.ts +5 -0
- package/widgets/widget-graph/widget-graph.module.d.ts +18 -0
- package/widgets/widget-iframe/component/widget-iframe.component.d.ts +20 -0
- package/widgets/widget-iframe/i18n/en.translations.d.ts +10 -0
- package/widgets/widget-iframe/i18n/fr.translations.d.ts +10 -0
- package/widgets/widget-iframe/index.d.ts +5 -0
- package/widgets/widget-iframe/messaging/iframe-message-type.interface.d.ts +8 -0
- package/widgets/widget-iframe/messaging/iframe-messaging.service.d.ts +10 -0
- package/widgets/widget-iframe/public-api.d.ts +4 -0
- package/widgets/widget-iframe/style/_o-widget-iframe.scss +19 -0
- package/widgets/widget-iframe/style/css.component.d.ts +5 -0
- package/widgets/widget-iframe/widget-iframe.module.d.ts +18 -0
- package/widgets/widget-image/component/widget-image.component.d.ts +13 -0
- package/widgets/widget-image/index.d.ts +5 -0
- package/widgets/widget-image/public-api.d.ts +2 -0
- package/widgets/widget-image/style/_o-widget-image.scss +7 -0
- package/widgets/widget-image/style/css.component.d.ts +5 -0
- package/widgets/widget-image/widget-image.module.d.ts +14 -0
- package/widgets/widget-map/component/widget-map-layer.service.d.ts +98 -0
- package/widgets/widget-map/component/widget-map.component.d.ts +136 -0
- package/widgets/widget-map/i18n/en.translations.d.ts +80 -0
- package/widgets/widget-map/i18n/fr.translations.d.ts +80 -0
- package/widgets/widget-map/index.d.ts +5 -0
- package/widgets/widget-map/interaction/selection-interaction.class.d.ts +25 -0
- package/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.d.ts +14 -0
- package/widgets/widget-map/pipe/widget-map-legend-url.pipe.d.ts +8 -0
- package/widgets/widget-map/public-api.d.ts +6 -0
- package/widgets/widget-map/reader/kmz-zip-reader.class.d.ts +12 -0
- package/widgets/widget-map/reader/map-formats-reader.class.d.ts +15 -0
- package/widgets/widget-map/reader/random-color-style.function.d.ts +6 -0
- package/widgets/widget-map/reader/read-as-text.class.d.ts +10 -0
- package/widgets/widget-map/reader/shp-zip-reader.class.d.ts +10 -0
- package/widgets/widget-map/search-bar/search-bar.control.d.ts +27 -0
- package/widgets/widget-map/style/_o-layer-legend.scss +42 -0
- package/widgets/widget-map/style/_o-widget-map.scss +69 -0
- package/widgets/widget-map/style/css.component.d.ts +5 -0
- package/widgets/widget-map/utils/widget-map.utils.d.ts +29 -0
- package/widgets/widget-map/widget-map.module.d.ts +20 -0
- package/widgets/widget-table/component/widget-table.component.d.ts +41 -0
- package/widgets/widget-table/expand-value/detach-row.directive.d.ts +12 -0
- package/widgets/widget-table/expand-value/expand-value.component.d.ts +10 -0
- package/widgets/widget-table/expand-value/format-number.pipe.d.ts +12 -0
- package/widgets/widget-table/get-value/get-value.pipe.d.ts +11 -0
- package/widgets/widget-table/i18n/en.translations.d.ts +14 -0
- package/widgets/widget-table/i18n/fr.translations.d.ts +14 -0
- package/widgets/widget-table/index.d.ts +5 -0
- package/widgets/widget-table/public-api.d.ts +5 -0
- package/widgets/widget-table/resizable/resizable.component.d.ts +7 -0
- package/widgets/widget-table/resizable/resizable.directive.d.ts +10 -0
- package/widgets/widget-table/style/_o-widget-table.scss +64 -0
- package/widgets/widget-table/style/css.component.d.ts +5 -0
- package/widgets/widget-table/widget-table.module.d.ts +24 -0
- package/widgets/widget-template/component/widget-template.component.d.ts +21 -0
- package/widgets/widget-template/index.d.ts +5 -0
- package/widgets/widget-template/public-api.d.ts +2 -0
- package/widgets/widget-template/style/_o-widget-template.scss +8 -0
- package/widgets/widget-template/style/css.component.d.ts +5 -0
- package/widgets/widget-template/widget-template.module.d.ts +16 -0
- package/widgets/widget-tile/component/widget-tile.component.d.ts +47 -0
- package/widgets/widget-tile/i18n/en.translations.d.ts +12 -0
- package/widgets/widget-tile/i18n/fr.translations.d.ts +12 -0
- package/widgets/widget-tile/index.d.ts +5 -0
- package/widgets/widget-tile/public-api.d.ts +2 -0
- package/widgets/widget-tile/style/_o-widget-tile.scss +83 -0
- package/widgets/widget-tile/style/css.component.d.ts +5 -0
- package/widgets/widget-tile/widget-tile.module.d.ts +20 -0
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { ClassSelectors, ContextMenuActions, DashboardActions, DashboardSelectors, DataWidgetComponent, RelationTypesActions, RelationTypesSelectors, WIDGET_HEADER_HEIGHT } from '@provoly/dashboard';
|
|
3
|
+
import { forceCenter, forceCollide, forceLink, forceManyBody, forceSimulation, forceX, forceY } from 'd3-force';
|
|
4
|
+
import { auditTime, BehaviorSubject, combineLatest, delay, filter, from, map, mergeMap, Subject } from 'rxjs';
|
|
5
|
+
import { tap } from 'rxjs/operators';
|
|
6
|
+
import { simpleSimulation } from '../layout/simple.function';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ngrx/store";
|
|
9
|
+
import * as i2 from "@provoly/dashboard";
|
|
10
|
+
import * as i3 from "@angular/platform-browser";
|
|
11
|
+
import * as i4 from "@angular/common";
|
|
12
|
+
import * as i5 from "@angular/forms";
|
|
13
|
+
import * as i6 from "../style/css.component";
|
|
14
|
+
export class WidgetGraphComponent extends DataWidgetComponent {
|
|
15
|
+
constructor(store, tooltipFactoryService, translateService, symbolService, sanitizer, el, _injector) {
|
|
16
|
+
super(store, el);
|
|
17
|
+
this.tooltipFactoryService = tooltipFactoryService;
|
|
18
|
+
this.translateService = translateService;
|
|
19
|
+
this.symbolService = symbolService;
|
|
20
|
+
this.sanitizer = sanitizer;
|
|
21
|
+
this._injector = _injector;
|
|
22
|
+
this.context = null;
|
|
23
|
+
this.itemsAsNodes = [];
|
|
24
|
+
this.relationsAsLinks = [];
|
|
25
|
+
this.tooltip$ = new BehaviorSubject({
|
|
26
|
+
x: 0,
|
|
27
|
+
y: 0,
|
|
28
|
+
item: null,
|
|
29
|
+
display: false
|
|
30
|
+
});
|
|
31
|
+
this.dragging = false;
|
|
32
|
+
this.relationTypes = [];
|
|
33
|
+
this.move$ = new Subject();
|
|
34
|
+
this.mode = 'move';
|
|
35
|
+
this.offset = [0, 0];
|
|
36
|
+
this.additionnalOffset = [0, 0];
|
|
37
|
+
this.layouts = [{ key: 'simple' }, { key: 'force' }];
|
|
38
|
+
this.mouseDown = false;
|
|
39
|
+
this.classes$ = this.store.select(ClassSelectors.classes);
|
|
40
|
+
this.selectedIds$ = this.store.select(DashboardSelectors.selectedItemIds);
|
|
41
|
+
this.store.dispatch(RelationTypesActions.load());
|
|
42
|
+
this.options$ = this.manifest$.pipe(map((manifest) => ({
|
|
43
|
+
linkStrokeColor: '#999',
|
|
44
|
+
linkStrokeOpacity: 0.6,
|
|
45
|
+
linkStrokeWidth: 1.5,
|
|
46
|
+
linkStrokeLinecap: 'round',
|
|
47
|
+
nodeStrokeColor: '#fff',
|
|
48
|
+
nodeStrokeWidth: 1.5,
|
|
49
|
+
nodeStrokeOpacity: 1,
|
|
50
|
+
nodeRadius: 25,
|
|
51
|
+
layout: 'simple',
|
|
52
|
+
...manifest.options
|
|
53
|
+
})));
|
|
54
|
+
this.subscriptions.add(this.options$.pipe(filter((opt) => !!opt)).subscribe((options) => {
|
|
55
|
+
this.options = options;
|
|
56
|
+
this.optionsCopy = { ...JSON.parse(JSON.stringify(options)) };
|
|
57
|
+
}));
|
|
58
|
+
this.viewSize$ = combineLatest([this.widgetSize$, this.displayHeader$]).pipe(delay(10), map(([size, header]) => [size.width, size.height - (header ? WIDGET_HEADER_HEIGHT : 0)]), tap((size) => {
|
|
59
|
+
if (this.canvas) {
|
|
60
|
+
this.canvas.nativeElement.width = size[0];
|
|
61
|
+
this.canvas.nativeElement.height = size[1];
|
|
62
|
+
}
|
|
63
|
+
}));
|
|
64
|
+
this.allItemsWithImages$ = this.allItems$.pipe(mergeMap((items) => from(new Promise((resolve, reject) => {
|
|
65
|
+
Promise.all(items.map((item) => this.symbolService.getSymbol(item))).then((canvases) => resolve(items.map((item, idx) => ({
|
|
66
|
+
item,
|
|
67
|
+
image: canvases[idx]
|
|
68
|
+
}))));
|
|
69
|
+
}))));
|
|
70
|
+
combineLatest([
|
|
71
|
+
this.allItemsWithImages$,
|
|
72
|
+
this.resultSet$.pipe(map((rs) => rs.relations)),
|
|
73
|
+
this.viewSize$,
|
|
74
|
+
this.options$,
|
|
75
|
+
this.store.select(RelationTypesSelectors.relationsTypes).pipe(tap((rt) => (this.relationTypes = rt))),
|
|
76
|
+
this.selectedIds$
|
|
77
|
+
]).subscribe(([items, relations, size, options, relationTypes, selectedIds]) => {
|
|
78
|
+
this.itemsAsNodes = items.map((itemWithImage, idx) => ({
|
|
79
|
+
index: idx,
|
|
80
|
+
item: itemWithImage.item,
|
|
81
|
+
id: itemWithImage.item.id,
|
|
82
|
+
image: itemWithImage.image,
|
|
83
|
+
selected: selectedIds.indexOf(itemWithImage.item.id) > -1
|
|
84
|
+
}));
|
|
85
|
+
const unknownImage = new Image();
|
|
86
|
+
unknownImage.src = '/assets/svgs/question-line.svg';
|
|
87
|
+
// Complete missing nodes
|
|
88
|
+
relations.forEach((relation) => {
|
|
89
|
+
if (!this.itemsAsNodes.find((item) => item.id === relation.source)) {
|
|
90
|
+
this.itemsAsNodes.push({
|
|
91
|
+
index: this.itemsAsNodes.length,
|
|
92
|
+
item: { id: relation.source, oClass: 'unknown', attributes: {} },
|
|
93
|
+
id: relation.source,
|
|
94
|
+
image: unknownImage,
|
|
95
|
+
selected: selectedIds.indexOf(relation.source) > -1
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
if (!this.itemsAsNodes.find((item) => item.id === relation.destination)) {
|
|
99
|
+
this.itemsAsNodes.push({
|
|
100
|
+
index: this.itemsAsNodes.length,
|
|
101
|
+
item: { id: relation.destination, oClass: 'unknown', attributes: {} },
|
|
102
|
+
id: relation.destination,
|
|
103
|
+
image: unknownImage,
|
|
104
|
+
selected: selectedIds.indexOf(relation.destination) > -1
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
this.relationsAsLinks = relations.map((relation) => ({
|
|
109
|
+
source: this.itemsAsNodes.find((item) => item.id === relation.source)?.index ?? -1,
|
|
110
|
+
target: this.itemsAsNodes.find((item) => item.id === relation.destination)?.index ?? -1,
|
|
111
|
+
relation
|
|
112
|
+
}));
|
|
113
|
+
if (this.simulation) {
|
|
114
|
+
this.simulation.stop();
|
|
115
|
+
}
|
|
116
|
+
this.simulation = this.initSimulation(options, size).on('tick', this.draw(size, options, relationTypes));
|
|
117
|
+
});
|
|
118
|
+
this.subscriptions.add(this.tooltip$.pipe(filter((tooltip) => !!tooltip && !!tooltip.item)).subscribe((tooltip) => {
|
|
119
|
+
let type = tooltip.item.item.oClass;
|
|
120
|
+
this.tooltip.clear();
|
|
121
|
+
const component$ = this.tooltipFactoryService.generateTooltip(type, this._injector, this.tooltip);
|
|
122
|
+
component$.subscribe((component) => {
|
|
123
|
+
if (component) {
|
|
124
|
+
component.instance.data.item = tooltip.item.item;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}));
|
|
128
|
+
this.move$.pipe(auditTime(30)).subscribe(($event) => this.moveCallback($event));
|
|
129
|
+
this.bottomLeft$ = combineLatest([this.widgetSize$, this.displayHeader$]).pipe(map(([size, displayHeader]) => `translate(10px ,calc(13px - ${displayHeader ? WIDGET_HEADER_HEIGHT + 'px' : '0px'}))`), delay(10));
|
|
130
|
+
}
|
|
131
|
+
initSimulation(options, size) {
|
|
132
|
+
switch (options.layout) {
|
|
133
|
+
case 'simple':
|
|
134
|
+
return simpleSimulation(this.itemsAsNodes, this.relationsAsLinks, options, size);
|
|
135
|
+
case 'force':
|
|
136
|
+
default:
|
|
137
|
+
return forceSimulation(this.itemsAsNodes)
|
|
138
|
+
.force('charge', forceManyBody())
|
|
139
|
+
.force('link', forceLink(this.relationsAsLinks).distance(50).strength(0.1))
|
|
140
|
+
.force('x', forceX())
|
|
141
|
+
.force('y', forceY())
|
|
142
|
+
.force('collide', forceCollide(options.nodeRadius * 3))
|
|
143
|
+
.force('center', forceCenter(size[0] / 2, size[1] / 2));
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
emitManifest() {
|
|
147
|
+
this.manifestModified.emit({
|
|
148
|
+
widgetIndex: this.widgetIndex,
|
|
149
|
+
manifest: { ...this.manifest, options: this.optionsCopy }
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
refresh() {
|
|
153
|
+
this.draw([this.canvas.nativeElement.width, this.canvas.nativeElement.height], this.options, this.relationTypes)();
|
|
154
|
+
}
|
|
155
|
+
ngAfterViewInit() {
|
|
156
|
+
this.context = this.canvas.nativeElement.getContext('2d');
|
|
157
|
+
}
|
|
158
|
+
ngOnDestroy() {
|
|
159
|
+
super.ngOnDestroy();
|
|
160
|
+
if (this.simulation) {
|
|
161
|
+
this.simulation.stop();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
changeMode(mode) {
|
|
165
|
+
this.mode = mode;
|
|
166
|
+
}
|
|
167
|
+
changeLayout($event) {
|
|
168
|
+
this.optionsCopy.layout = $event;
|
|
169
|
+
}
|
|
170
|
+
changeNodeRadius($event) {
|
|
171
|
+
this.optionsCopy.nodeRadius = $event;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Drawing things
|
|
175
|
+
*/
|
|
176
|
+
draw(size, options, relationTypes) {
|
|
177
|
+
return () => {
|
|
178
|
+
if (this.context) {
|
|
179
|
+
// Clear canvas
|
|
180
|
+
this.context.clearRect(0, 0, size[0], size[1]);
|
|
181
|
+
// Drawing links
|
|
182
|
+
this.context.save();
|
|
183
|
+
this.drawLinks(options, relationTypes);
|
|
184
|
+
this.context.restore();
|
|
185
|
+
// Drawing nodes
|
|
186
|
+
this.context.save();
|
|
187
|
+
this.drawNodes(options);
|
|
188
|
+
this.context.restore();
|
|
189
|
+
// Drawing selection rectangle if needed
|
|
190
|
+
if (this.selectRect) {
|
|
191
|
+
this.context.save();
|
|
192
|
+
this.drawSelectionRect();
|
|
193
|
+
this.context.restore();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
drawSelectionRect() {
|
|
199
|
+
if (this.context && this.selectRect && this.mode === 'rectangle') {
|
|
200
|
+
this.context.globalAlpha = 0.3;
|
|
201
|
+
this.context.fillStyle = '#bcdcda';
|
|
202
|
+
const minX = Math.min(this.selectRect.start.x, this.selectRect.end.x);
|
|
203
|
+
const minY = Math.min(this.selectRect.start.y, this.selectRect.end.y);
|
|
204
|
+
const dX = Math.abs(this.selectRect.start.x - this.selectRect.end.x);
|
|
205
|
+
const dY = Math.abs(this.selectRect.start.y - this.selectRect.end.y);
|
|
206
|
+
this.context.rect(minX, minY, dX, dY);
|
|
207
|
+
this.context.fill();
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
drawNodes(options) {
|
|
211
|
+
if (this.context) {
|
|
212
|
+
this.context.globalAlpha = options.nodeStrokeOpacity;
|
|
213
|
+
for (const [i, node] of this.itemsAsNodes.entries()) {
|
|
214
|
+
this.context.beginPath();
|
|
215
|
+
this.context.moveTo((node.x ?? 0) + this.globalOffset[0], (node.y ?? 0) + this.globalOffset[1]);
|
|
216
|
+
this.context.arc((node.x ?? 0) + this.globalOffset[0], (node.y ?? 0) + this.globalOffset[1], options.nodeRadius / 2 + 8, 0, 2 * Math.PI, false);
|
|
217
|
+
this.context.fillStyle = node.selected ? '#569a9c' : node.item.oClass === 'unknown' ? '#e2a7a7' : '#ecedf4';
|
|
218
|
+
this.context.strokeStyle = node.selected ? '#569a9c' : node.item.oClass === 'unknown' ? '#e2a7a7' : '#ecedf4';
|
|
219
|
+
this.context.fill();
|
|
220
|
+
this.context.stroke();
|
|
221
|
+
this.context.drawImage(node.image, (node.x ?? 0) + this.globalOffset[0] - options.nodeRadius / 2, (node.y ?? 0) + this.globalOffset[1] - options.nodeRadius / 2, options.nodeRadius, options.nodeRadius);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
drawLinks(options, relationTypes) {
|
|
226
|
+
if (this.context) {
|
|
227
|
+
this.context.globalAlpha = options.linkStrokeOpacity;
|
|
228
|
+
for (const [i, link] of this.relationsAsLinks.entries()) {
|
|
229
|
+
this.context.beginPath();
|
|
230
|
+
const sourceNode = this.itemsAsNodes.find((item) => item.id === link.relation.source);
|
|
231
|
+
let targetNode = this.itemsAsNodes.find((item) => item.id === link.relation.destination);
|
|
232
|
+
if (link.source === link.target && targetNode) {
|
|
233
|
+
this.context.moveTo((sourceNode?.x ?? 0) + this.globalOffset[0], (sourceNode?.y ?? 0) + this.globalOffset[1]);
|
|
234
|
+
this.context.bezierCurveTo((sourceNode?.x ?? 0) - 10 + this.globalOffset[0], (sourceNode?.y ?? 0) - 60 + this.globalOffset[1], (sourceNode?.x ?? 0) + 120 + this.globalOffset[0], (sourceNode?.y ?? 0) + this.globalOffset[1], (sourceNode?.x ?? 0) - 10 + this.globalOffset[0], (sourceNode?.y ?? 0) + 20 + this.globalOffset[1]);
|
|
235
|
+
const { middleX, middleY, angle } = this.drawSelfRelationTextLink(link, sourceNode, relationTypes, options);
|
|
236
|
+
// arrow
|
|
237
|
+
this.drawArrow((targetNode?.x ?? 0) + 120 + this.globalOffset[0], (targetNode?.y ?? 0) + this.globalOffset[1], middleX, middleY + 3, angle - 100);
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
this.context.moveTo((sourceNode?.x ?? 0) + this.globalOffset[0], (sourceNode?.y ?? 0) + this.globalOffset[1]);
|
|
241
|
+
this.context.lineTo((targetNode?.x ?? 0) + this.globalOffset[0], (targetNode?.y ?? 0) + this.globalOffset[1]);
|
|
242
|
+
const { middleX, middleY, angle } = this.drawTextLink(link, sourceNode, targetNode, relationTypes, options);
|
|
243
|
+
// arrow
|
|
244
|
+
this.drawArrow((targetNode?.x ?? 0) + this.globalOffset[0], (targetNode?.y ?? 0) + this.globalOffset[1], middleX, middleY, angle);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
drawSelfRelationTextLink(link, sourceNode, relationTypes, options) {
|
|
250
|
+
const middleX = (sourceNode?.x ?? 0) + this.globalOffset[0] + 45;
|
|
251
|
+
const middleY = (sourceNode?.y ?? 0) + this.globalOffset[1] - 20;
|
|
252
|
+
let angle = Math.atan2(sourceNode?.y ?? 0, sourceNode?.x ?? 0);
|
|
253
|
+
let drawAngle = angle;
|
|
254
|
+
return this.drawText(middleX, middleY, angle, relationTypes, options, link, drawAngle);
|
|
255
|
+
}
|
|
256
|
+
drawTextLink(link, sourceNode, targetNode, relationTypes, options) {
|
|
257
|
+
const middleX = ((sourceNode?.x ?? 0) + (targetNode?.x ?? 0)) / 2 + this.globalOffset[0];
|
|
258
|
+
const middleY = ((sourceNode?.y ?? 0) + (targetNode?.y ?? 0)) / 2 + this.globalOffset[1];
|
|
259
|
+
let angle = Math.atan2((targetNode?.y ?? 0) - (sourceNode?.y ?? 0), (targetNode?.x ?? 0) - (sourceNode?.x ?? 0));
|
|
260
|
+
let drawAngle = angle;
|
|
261
|
+
if (this.context) {
|
|
262
|
+
if ((sourceNode?.x ?? 0) > (targetNode?.x ?? 0)) {
|
|
263
|
+
drawAngle += Math.PI;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
return this.drawText(middleX, middleY, angle, relationTypes, options, link, drawAngle);
|
|
267
|
+
}
|
|
268
|
+
drawText(middleX, middleY, angle, relationTypes, options, link, drawAngle) {
|
|
269
|
+
if (this.context) {
|
|
270
|
+
this.context.font = '10px Ubuntu';
|
|
271
|
+
const relationType = link.relation.relationType;
|
|
272
|
+
this.context.save();
|
|
273
|
+
this.context.translate(middleX, middleY);
|
|
274
|
+
this.context.rotate(drawAngle);
|
|
275
|
+
this.context.textAlign = 'center';
|
|
276
|
+
this.context.fillText(relationTypes.find((relT) => relT.id === relationType)?.name ?? relationType, 0, -7);
|
|
277
|
+
this.context.strokeStyle = options.linkStrokeColor;
|
|
278
|
+
this.context.lineWidth = options.linkStrokeWidth;
|
|
279
|
+
this.context.stroke();
|
|
280
|
+
this.context.restore();
|
|
281
|
+
}
|
|
282
|
+
return { middleX, middleY, angle };
|
|
283
|
+
}
|
|
284
|
+
drawArrow(targetX, targetY, middleX, middleY, angle) {
|
|
285
|
+
if (this.context) {
|
|
286
|
+
const width = 1;
|
|
287
|
+
const headlen = 10;
|
|
288
|
+
// This makes it so the end of the arrow head is located at tox, toy, don't ask where 1.15 comes from
|
|
289
|
+
targetX -= Math.cos(angle) * (width * 1.15);
|
|
290
|
+
targetY -= Math.sin(angle) * (width * 1.15);
|
|
291
|
+
//starting a new path from the head of the arrow to one of the sides of the point
|
|
292
|
+
this.context.beginPath();
|
|
293
|
+
this.context.moveTo(middleX, middleY);
|
|
294
|
+
this.context.lineTo(middleX - headlen * Math.cos(angle - Math.PI / 7), middleY - headlen * Math.sin(angle - Math.PI / 7));
|
|
295
|
+
//path from the side point of the arrow, to the other side point
|
|
296
|
+
this.context.lineTo(middleX - headlen * Math.cos(angle + Math.PI / 7), middleY - headlen * Math.sin(angle + Math.PI / 7));
|
|
297
|
+
//path from the side point back to the tip of the arrow, and then again to the opposite side point
|
|
298
|
+
this.context.lineTo(middleX, middleY);
|
|
299
|
+
this.context.lineTo(middleX - headlen * Math.cos(angle - Math.PI / 7), middleY - headlen * Math.sin(angle - Math.PI / 7));
|
|
300
|
+
//draws the paths created above
|
|
301
|
+
this.context.lineWidth = width;
|
|
302
|
+
this.context.stroke();
|
|
303
|
+
this.context.fill();
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Mouse Management
|
|
308
|
+
*/
|
|
309
|
+
onMouseDown($event) {
|
|
310
|
+
const nodes = this.findNodes($event);
|
|
311
|
+
this.draggedNode = nodes[0];
|
|
312
|
+
if (this.draggedNode) {
|
|
313
|
+
this.simulation.alphaTarget(0.3).restart();
|
|
314
|
+
this.draggedNode.fx = this.draggedNode.x;
|
|
315
|
+
this.draggedNode.fy = this.draggedNode.y;
|
|
316
|
+
}
|
|
317
|
+
else {
|
|
318
|
+
this.selectRect = {
|
|
319
|
+
start: { x: $event.offsetX, y: $event.offsetY },
|
|
320
|
+
end: { x: $event.offsetX, y: $event.offsetY }
|
|
321
|
+
};
|
|
322
|
+
this.refresh();
|
|
323
|
+
}
|
|
324
|
+
this.mouseDown = true;
|
|
325
|
+
}
|
|
326
|
+
onMouseMove($event) {
|
|
327
|
+
this.move$.next($event);
|
|
328
|
+
if (this.mouseDown) {
|
|
329
|
+
this.dragging = true;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
moveCallback($event) {
|
|
333
|
+
if (this.draggedNode) {
|
|
334
|
+
this.draggedNode.fx = $event.offsetX - this.globalOffset[0];
|
|
335
|
+
this.draggedNode.fy = $event.offsetY - this.globalOffset[1];
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
if (this.selectRect) {
|
|
339
|
+
this.selectRect.end = { x: $event.offsetX, y: $event.offsetY };
|
|
340
|
+
if (this.mode === 'move') {
|
|
341
|
+
this.additionnalOffset = [
|
|
342
|
+
this.selectRect.end.x - this.selectRect.start.x,
|
|
343
|
+
this.selectRect.end.y - this.selectRect.start.y
|
|
344
|
+
];
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
this.refresh();
|
|
348
|
+
}
|
|
349
|
+
// display tooltip for nodes
|
|
350
|
+
const nodes = this.findNodes($event);
|
|
351
|
+
this.tooltip$.next({ item: nodes[0], display: nodes.length > 0, x: $event.offsetX, y: $event.offsetY });
|
|
352
|
+
}
|
|
353
|
+
onMouseUp($event, leave = false) {
|
|
354
|
+
if ($event.button !== 2) {
|
|
355
|
+
if (this.dragging) {
|
|
356
|
+
if (this.draggedNode) {
|
|
357
|
+
this.simulation.alphaTarget(0);
|
|
358
|
+
if (this.optionsCopy?.layout === 'force') {
|
|
359
|
+
this.draggedNode.fx = null;
|
|
360
|
+
this.draggedNode.fy = null;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
if (this.mode === 'rectangle') {
|
|
365
|
+
const nodes = this.findNodesInShaped(this.selectRect);
|
|
366
|
+
this.store.dispatch(DashboardActions.selectMany({ ids: nodes.map((node) => node.item.id) }));
|
|
367
|
+
this.refresh();
|
|
368
|
+
}
|
|
369
|
+
else {
|
|
370
|
+
this.offset = [...this.globalOffset];
|
|
371
|
+
this.additionnalOffset = [0, 0];
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
if (!leave) {
|
|
377
|
+
const nodes = this.findNodes($event);
|
|
378
|
+
if (nodes[0]?.item?.id) {
|
|
379
|
+
this.store.dispatch(DashboardActions.select({ id: nodes[0]?.item?.id, cumulative: $event.shiftKey }));
|
|
380
|
+
}
|
|
381
|
+
else {
|
|
382
|
+
this.store.dispatch(DashboardActions.select({ id: '', cumulative: $event.shiftKey }));
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
this.mode = 'move';
|
|
388
|
+
this.selectRect = undefined;
|
|
389
|
+
this.draggedNode = undefined;
|
|
390
|
+
this.dragging = false;
|
|
391
|
+
this.mouseDown = false;
|
|
392
|
+
}
|
|
393
|
+
get globalOffset() {
|
|
394
|
+
return [this.offset[0] + this.additionnalOffset[0], this.offset[1] + this.additionnalOffset[1]];
|
|
395
|
+
}
|
|
396
|
+
contextMenu($event) {
|
|
397
|
+
if (this.manifest.contextMenu !== false) {
|
|
398
|
+
$event.preventDefault();
|
|
399
|
+
const nodes = this.findNodes($event);
|
|
400
|
+
if (nodes[0] && nodes[0].item) {
|
|
401
|
+
this.store.dispatch(ContextMenuActions.open({
|
|
402
|
+
itemId: nodes[0].item.id,
|
|
403
|
+
clientX: $event.clientX,
|
|
404
|
+
clientY: $event.clientY,
|
|
405
|
+
resultSet: Array.isArray(this.manifest.datasource) ? this.manifest.datasource[0] : this.manifest.datasource,
|
|
406
|
+
from: 'graph'
|
|
407
|
+
}));
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
this.onMouseUp($event, true);
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Finding Nodes
|
|
414
|
+
*/
|
|
415
|
+
findNodes($event) {
|
|
416
|
+
return this.itemsAsNodes.filter((item) => Math.pow((item.x ?? 0) - $event.offsetX + this.globalOffset[0], 2) +
|
|
417
|
+
Math.pow((item.y ?? 0) + this.globalOffset[1] - $event.offsetY, 2) <
|
|
418
|
+
Math.pow(this.options.nodeRadius / 2 + 8, 2));
|
|
419
|
+
}
|
|
420
|
+
findNodesInShaped(shape) {
|
|
421
|
+
const minX = Math.min(shape.start.x, shape.end.x);
|
|
422
|
+
const maxX = Math.max(shape.start.x, shape.end.x);
|
|
423
|
+
const minY = Math.min(shape.start.y, shape.end.y);
|
|
424
|
+
const maxY = Math.max(shape.start.y, shape.end.y);
|
|
425
|
+
return this.itemsAsNodes.filter((item) => (item.x ?? 0) + this.globalOffset[0] > minX &&
|
|
426
|
+
(item.x ?? 0) + this.globalOffset[0] < maxX &&
|
|
427
|
+
(item.y ?? 0) + this.globalOffset[1] > minY &&
|
|
428
|
+
(item.y ?? 0) + this.globalOffset[1] < maxY);
|
|
429
|
+
}
|
|
430
|
+
toImage() {
|
|
431
|
+
return new Promise((resolve, reject) => {
|
|
432
|
+
resolve(this.canvas.nativeElement.toDataURL('image/png'));
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetGraphComponent, deps: [{ token: i1.Store }, { token: i2.TooltipFactoryService }, { token: i2.PryI18nService }, { token: i2.SymbolService }, { token: i3.DomSanitizer }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
436
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: WidgetGraphComponent, selector: "pry-widget-graph", viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<pry-widget-force-graph-css></pry-widget-force-graph-css>\n<div class=\"o-widget o-widget--graph\">\n <pry-widget-header\n [datasourceIds$]=\"datasourceIds$\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n #header\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [header]=\"header\"\n [open$]=\"open$\"\n class=\"o-settings\"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"graph_layout\">{{ '@pry.widget.graph.layout' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeLayout($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"layouts\"\n [ngModel]=\"optionsCopy!.layout\"\n bindLabel=\"key\"\n bindValue=\"key\"\n id=\"graph_layout\"\n class=\"a-pry-select\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-range\n [ngModel]=\"optionsCopy!.nodeRadius\"\n (ngModelChange)=\"changeNodeRadius($event)\"\n labelTranslate=\"@pry.widget.graph.nodeRadius\"\n min=\"10\"\n max=\"200\"\n ></pry-range>\n </div>\n </pry-settings>\n </pry-widget-header>\n <div class=\"no-result\" *ngIf=\"(allItemsWithImages$ | async)?.length === 0\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.table.empty' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.graph.empty' | i18n }}</span>\n </div>\n <div class=\"m-btn-group -selection-choice\" [style.transform]=\"bottomLeft$ | async\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n (click)=\"changeMode('move')\"\n [class.-selected]=\"mode === 'move'\"\n [pryTooltip]=\"infoTooltipMove\"\n pryTooltipPosition=\"bottom\"\n aria-describedby=\"infoTooltipMove_widgetMap\"\n >\n <pry-icon iconSvg=\"move\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.widget.graph.move' | i18n }}</span>\n </button>\n\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n (click)=\"changeMode('rectangle')\"\n [class.-selected]=\"mode === 'rectangle'\"\n [pryTooltip]=\"infoTooltipRect\"\n pryTooltipPosition=\"bottom\"\n aria-describedby=\"infoTooltipRect_widgetMap\"\n >\n <pry-icon iconSvg=\"rectangle\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.widget.graph.rectangle' | i18n }}</span>\n </button>\n </div>\n\n <canvas\n #canvas\n class=\"o-widget--graph__canvas\"\n (mousemove)=\"onMouseMove($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mouseleave)=\"onMouseUp($event, true)\"\n (contextmenu)=\"contextMenu($event)\"\n ></canvas>\n\n <div class=\"selection-rectangle\" #selectionRectangle></div>\n\n <div\n class=\"m-tooltip m-tooltip--popup noevent\"\n [style.display]=\"(tooltip$ | async)?.display ? 'block' : 'none'\"\n [style.left.px]=\"((tooltip$ | async)?.x ?? 0) + 50\"\n [style.top.px]=\"((tooltip$ | async)?.y ?? 0) + 50\"\n >\n <div #tooltip></div>\n </div>\n</div>\n\n<ng-template #infoTooltipMove>\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltipMove_widgetMap\" aria-hidden=\"true\">\n <span class=\"m-tooltip__text\">{{ '@pry.widget.graph.move' | i18n }}</span>\n </div>\n</ng-template>\n\n<ng-template #infoTooltipRect>\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltipRect_widgetMap\" aria-hidden=\"true\">\n <span class=\"m-tooltip__text\">{{ '@pry.widget.graph.rectangle' | i18n }}</span>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SettingsComponent, selector: "pry-settings", inputs: ["widgetIndex", "isDisable", "headerPresent", "open$", "header"], outputs: ["saveTriggered"] }, { kind: "component", type: i2.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "additionalOptions", "headerOptions", "displayCount", "datasourceIds$", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i2.PryTooltipDirective, selector: "[pryTooltip]", inputs: ["pryTooltip", "styleReversed", "pryTooltipContext", "pryTooltipPosition", "pryTooltipShowDelay"] }, { kind: "component", type: i2.PryRangeComponent, selector: "pry-range", inputs: ["min", "max", "step", "disabled", "labelTranslate"] }, { kind: "component", type: i6.PryWidgetForceGraphCssComponent, selector: "pry-widget-force-graph-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
437
|
+
}
|
|
438
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetGraphComponent, decorators: [{
|
|
439
|
+
type: Component,
|
|
440
|
+
args: [{ selector: 'pry-widget-graph', changeDetection: ChangeDetectionStrategy.OnPush, template: "<pry-widget-force-graph-css></pry-widget-force-graph-css>\n<div class=\"o-widget o-widget--graph\">\n <pry-widget-header\n [datasourceIds$]=\"datasourceIds$\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n #header\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [header]=\"header\"\n [open$]=\"open$\"\n class=\"o-settings\"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"graph_layout\">{{ '@pry.widget.graph.layout' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeLayout($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"layouts\"\n [ngModel]=\"optionsCopy!.layout\"\n bindLabel=\"key\"\n bindValue=\"key\"\n id=\"graph_layout\"\n class=\"a-pry-select\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-range\n [ngModel]=\"optionsCopy!.nodeRadius\"\n (ngModelChange)=\"changeNodeRadius($event)\"\n labelTranslate=\"@pry.widget.graph.nodeRadius\"\n min=\"10\"\n max=\"200\"\n ></pry-range>\n </div>\n </pry-settings>\n </pry-widget-header>\n <div class=\"no-result\" *ngIf=\"(allItemsWithImages$ | async)?.length === 0\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.table.empty' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.graph.empty' | i18n }}</span>\n </div>\n <div class=\"m-btn-group -selection-choice\" [style.transform]=\"bottomLeft$ | async\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n (click)=\"changeMode('move')\"\n [class.-selected]=\"mode === 'move'\"\n [pryTooltip]=\"infoTooltipMove\"\n pryTooltipPosition=\"bottom\"\n aria-describedby=\"infoTooltipMove_widgetMap\"\n >\n <pry-icon iconSvg=\"move\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.widget.graph.move' | i18n }}</span>\n </button>\n\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n (click)=\"changeMode('rectangle')\"\n [class.-selected]=\"mode === 'rectangle'\"\n [pryTooltip]=\"infoTooltipRect\"\n pryTooltipPosition=\"bottom\"\n aria-describedby=\"infoTooltipRect_widgetMap\"\n >\n <pry-icon iconSvg=\"rectangle\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.widget.graph.rectangle' | i18n }}</span>\n </button>\n </div>\n\n <canvas\n #canvas\n class=\"o-widget--graph__canvas\"\n (mousemove)=\"onMouseMove($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mouseleave)=\"onMouseUp($event, true)\"\n (contextmenu)=\"contextMenu($event)\"\n ></canvas>\n\n <div class=\"selection-rectangle\" #selectionRectangle></div>\n\n <div\n class=\"m-tooltip m-tooltip--popup noevent\"\n [style.display]=\"(tooltip$ | async)?.display ? 'block' : 'none'\"\n [style.left.px]=\"((tooltip$ | async)?.x ?? 0) + 50\"\n [style.top.px]=\"((tooltip$ | async)?.y ?? 0) + 50\"\n >\n <div #tooltip></div>\n </div>\n</div>\n\n<ng-template #infoTooltipMove>\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltipMove_widgetMap\" aria-hidden=\"true\">\n <span class=\"m-tooltip__text\">{{ '@pry.widget.graph.move' | i18n }}</span>\n </div>\n</ng-template>\n\n<ng-template #infoTooltipRect>\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltipRect_widgetMap\" aria-hidden=\"true\">\n <span class=\"m-tooltip__text\">{{ '@pry.widget.graph.rectangle' | i18n }}</span>\n </div>\n</ng-template>\n" }]
|
|
441
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.TooltipFactoryService }, { type: i2.PryI18nService }, { type: i2.SymbolService }, { type: i3.DomSanitizer }, { type: i0.ElementRef }, { type: i0.Injector }]; }, propDecorators: { canvas: [{
|
|
442
|
+
type: ViewChild,
|
|
443
|
+
args: ['canvas']
|
|
444
|
+
}], tooltip: [{
|
|
445
|
+
type: ViewChild,
|
|
446
|
+
args: ['tooltip', { read: ViewContainerRef }]
|
|
447
|
+
}] } });
|
|
448
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWdyYXBoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LWdyYXBoL2NvbXBvbmVudC93aWRnZXQtZ3JhcGguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtZ3JhcGgvY29tcG9uZW50L3dpZGdldC1ncmFwaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFJVCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFFTCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBS25CLG9CQUFvQixFQUNwQixzQkFBc0IsRUFHdEIsb0JBQW9CLEVBQ3JCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNoSCxPQUFPLEVBQ0wsU0FBUyxFQUNULGVBQWUsRUFDZixhQUFhLEVBQ2IsS0FBSyxFQUNMLE1BQU0sRUFDTixJQUFJLEVBQ0osR0FBRyxFQUNILFFBQVEsRUFFUixPQUFPLEVBQ1IsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7O0FBTzdELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUFnQzNELFlBQ0UsS0FBaUIsRUFDVCxx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QUFDLFFBQVE7Z0JBQytCLE9BQU87c0JBQXhELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsXG4gIE9uRGVzdHJveSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIENsYXNzLFxuICBDbGFzc1NlbGVjdG9ycyxcbiAgQ29udGV4dE1lbnVBY3Rpb25zLFxuICBEYXNoYm9hcmRBY3Rpb25zLFxuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIERhdGFXaWRnZXRDb21wb25lbnQsXG4gIEdyYXBoV2lkZ2V0T3B0aW9ucyxcbiAgSXRlbSxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFJlbGF0aW9uVHlwZSxcbiAgUmVsYXRpb25UeXBlc0FjdGlvbnMsXG4gIFJlbGF0aW9uVHlwZXNTZWxlY3RvcnMsXG4gIFN5bWJvbFNlcnZpY2UsXG4gIFRvb2x0aXBGYWN0b3J5U2VydmljZSxcbiAgV0lER0VUX0hFQURFUl9IRUlHSFRcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IGZvcmNlQ2VudGVyLCBmb3JjZUNvbGxpZGUsIGZvcmNlTGluaywgZm9yY2VNYW55Qm9keSwgZm9yY2VTaW11bGF0aW9uLCBmb3JjZVgsIGZvcmNlWSB9IGZyb20gJ2QzLWZvcmNlJztcbmltcG9ydCB7XG4gIGF1ZGl0VGltZSxcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBkZWxheSxcbiAgZmlsdGVyLFxuICBmcm9tLFxuICBtYXAsXG4gIG1lcmdlTWFwLFxuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0XG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUHJ5TGluaywgUHJ5Tm9kZSB9IGZyb20gJy4uL2xheW91dC9ub2RlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBzaW1wbGVTaW11bGF0aW9uIH0gZnJvbSAnLi4vbGF5b3V0L3NpbXBsZS5mdW5jdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS13aWRnZXQtZ3JhcGgnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LWdyYXBoLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0R3JhcGhDb21wb25lbnQgZXh0ZW5kcyBEYXRhV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgb3B0aW9ucyQ6IE9ic2VydmFibGU8R3JhcGhXaWRnZXRPcHRpb25zPjtcbiAgb3B0aW9ucyE6IEdyYXBoV2lkZ2V0T3B0aW9ucztcbiAgb3B0aW9uc0NvcHk/OiBHcmFwaFdpZGdldE9wdGlvbnM7XG4gIHNlbGVjdGVkSWRzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIEBWaWV3Q2hpbGQoJ2NhbnZhcycpIGNhbnZhcyE6IEVsZW1lbnRSZWY8SFRNTENhbnZhc0VsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCd0b29sdGlwJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHRvb2x0aXAhOiBWaWV3Q29udGFpbmVyUmVmO1xuICBjbGFzc2VzJDogT2JzZXJ2YWJsZTxDbGFzc1tdPjtcbiAgdmlld1NpemUkOiBPYnNlcnZhYmxlPFtudW1iZXIsIG51bWJlcl0+O1xuICBjb250ZXh0OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgfCBudWxsID0gbnVsbDtcbiAgc2ltdWxhdGlvbiE6IGFueTtcbiAgYWxsSXRlbXNXaXRoSW1hZ2VzJDogT2JzZXJ2YWJsZTx7IGl0ZW06IEl0ZW07IGltYWdlOiBIVE1MQ2FudmFzRWxlbWVudCB9W10+O1xuICBpdGVtc0FzTm9kZXM6IFByeU5vZGVbXSA9IFtdO1xuICByZWxhdGlvbnNBc0xpbmtzOiBQcnlMaW5rW10gPSBbXTtcbiAgZHJhZ2dlZE5vZGU/OiBQcnlOb2RlO1xuICB0b29sdGlwJCA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe1xuICAgIHg6IDAsXG4gICAgeTogMCxcbiAgICBpdGVtOiBudWxsIGFzIHVua25vd24gYXMgUHJ5Tm9kZSxcbiAgICBkaXNwbGF5OiBmYWxzZVxuICB9KTtcbiAgZHJhZ2dpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0UmVjdD86IHsgc3RhcnQ6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfTsgZW5kOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0gfTtcbiAgcmVsYXRpb25UeXBlczogUmVsYXRpb25UeXBlW10gPSBbXTtcbiAgbW92ZSQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50PigpO1xuICBtb2RlOiAnbW92ZScgfCAncmVjdGFuZ2xlJyA9ICdtb3ZlJztcbiAgYm90dG9tTGVmdCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgb2Zmc2V0ID0gWzAsIDBdO1xuICBhZGRpdGlvbm5hbE9mZnNldDogW251bWJlciwgbnVtYmVyXSA9IFswLCAwXTtcbiAgbGF5b3V0cyA9IFt7IGtleTogJ3NpbXBsZScgfSwgeyBrZXk6ICdmb3JjZScgfV07XG4gIG1vdXNlRG93bjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgdG9vbHRpcEZhY3RvcnlTZXJ2aWNlOiBUb29sdGlwRmFjdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZSxcbiAgICBwcml2YXRlIHN5bWJvbFNlcnZpY2U6IFN5bWJvbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgc3VwZXIoc3RvcmUsIGVsKTtcblxuICAgIHRoaXMuY2xhc3NlcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKTtcbiAgICB0aGlzLnNlbGVjdGVkSWRzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5zZWxlY3RlZEl0ZW1JZHMpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUmVsYXRpb25UeXBlc0FjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5tYW5pZmVzdCQucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKG1hbmlmZXN0KSA9PlxuICAgICAgICAgICh7XG4gICAgICAgICAgICBsaW5rU3Ryb2tlQ29sb3I6ICcjOTk5JyxcbiAgICAgICAgICAgIGxpbmtTdHJva2VPcGFjaXR5OiAwLjYsXG4gICAgICAgICAgICBsaW5rU3Ryb2tlV2lkdGg6IDEuNSxcbiAgICAgICAgICAgIGxpbmtTdHJva2VMaW5lY2FwOiAncm91bmQnLFxuICAgICAgICAgICAgbm9kZVN0cm9rZUNvbG9yOiAnI2ZmZicsXG4gICAgICAgICAgICBub2RlU3Ryb2tlV2lkdGg6IDEuNSxcbiAgICAgICAgICAgIG5vZGVTdHJva2VPcGFjaXR5OiAxLFxuICAgICAgICAgICAgbm9kZVJhZGl1czogMjUsXG4gICAgICAgICAgICBsYXlvdXQ6ICdzaW1wbGUnLFxuICAgICAgICAgICAgLi4ubWFuaWZlc3Qub3B0aW9uc1xuICAgICAgICAgIH0pIGFzIEdyYXBoV2lkZ2V0T3B0aW9uc1xuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5vcHRpb25zJC5waXBlKGZpbHRlcigob3B0KSA9PiAhIW9wdCkpLnN1YnNjcmliZSgob3B0aW9ucykgPT4ge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICB0aGlzLm9wdGlvbnNDb3B5ID0geyAuLi4oSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvcHRpb25zKSkgYXMgR3JhcGhXaWRnZXRPcHRpb25zKSB9O1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy52aWV3U2l6ZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLndpZGdldFNpemUkLCB0aGlzLmRpc3BsYXlIZWFkZXIkXSkucGlwZShcbiAgICAgIGRlbGF5KDEwKSxcbiAgICAgIG1hcCgoW3NpemUsIGhlYWRlcl0pID0+IFtzaXplLndpZHRoLCBzaXplLmhlaWdodCAtIChoZWFkZXIgPyBXSURHRVRfSEVBREVSX0hFSUdIVCA6IDApXSBhcyBbbnVtYmVyLCBudW1iZXJdKSxcbiAgICAgIHRhcCgoc2l6ZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jYW52YXMpIHtcbiAgICAgICAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LndpZHRoID0gc2l6ZVswXTtcbiAgICAgICAgICB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LmhlaWdodCA9IHNpemVbMV07XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuYWxsSXRlbXNXaXRoSW1hZ2VzJCA9IHRoaXMuYWxsSXRlbXMkLnBpcGUoXG4gICAgICBtZXJnZU1hcCgoaXRlbXMpID0+XG4gICAgICAgIGZyb20oXG4gICAgICAgICAgbmV3IFByb21pc2U8eyBpdGVtOiBJdGVtOyBpbWFnZTogSFRNTENhbnZhc0VsZW1lbnQgfVtdPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBQcm9taXNlLmFsbChpdGVtcy5tYXAoKGl0ZW0pID0+IHRoaXMuc3ltYm9sU2VydmljZS5nZXRTeW1ib2woaXRlbSkpKS50aGVuKChjYW52YXNlcykgPT5cbiAgICAgICAgICAgICAgcmVzb2x2ZShcbiAgICAgICAgICAgICAgICBpdGVtcy5tYXAoKGl0ZW0sIGlkeCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICAgICAgICBpbWFnZTogY2FudmFzZXNbaWR4XVxuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuXG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmFsbEl0ZW1zV2l0aEltYWdlcyQsXG4gICAgICB0aGlzLnJlc3VsdFNldCQucGlwZShtYXAoKHJzKSA9PiBycy5yZWxhdGlvbnMpKSxcbiAgICAgIHRoaXMudmlld1NpemUkLFxuICAgICAgdGhpcy5vcHRpb25zJCxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KFJlbGF0aW9uVHlwZXNTZWxlY3RvcnMucmVsYXRpb25zVHlwZXMpLnBpcGUodGFwKChydCkgPT4gKHRoaXMucmVsYXRpb25UeXBlcyA9IHJ0KSkpLFxuICAgICAgdGhpcy5zZWxlY3RlZElkcyRcbiAgICBdKS5zdWJzY3JpYmUoKFtpdGVtcywgcmVsYXRpb25zLCBzaXplLCBvcHRpb25zLCByZWxhdGlvblR5cGVzLCBzZWxlY3RlZElkc10pID0+IHtcbiAgICAgIHRoaXMuaXRlbXNBc05vZGVzID0gaXRlbXMubWFwKChpdGVtV2l0aEltYWdlLCBpZHgpID0+ICh7XG4gICAgICAgIGluZGV4OiBpZHgsXG4gICAgICAgIGl0ZW06IGl0ZW1XaXRoSW1hZ2UuaXRlbSxcbiAgICAgICAgaWQ6IGl0ZW1XaXRoSW1hZ2UuaXRlbS5pZCxcbiAgICAgICAgaW1hZ2U6IGl0ZW1XaXRoSW1hZ2UuaW1hZ2UsXG4gICAgICAgIHNlbGVjdGVkOiBzZWxlY3RlZElkcy5pbmRleE9mKGl0ZW1XaXRoSW1hZ2UuaXRlbS5pZCkgPiAtMVxuICAgICAgfSkpIGFzIFByeU5vZGVbXTtcblxuICAgICAgY29uc3QgdW5rbm93bkltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgICB1bmtub3duSW1hZ2Uuc3JjID0gJy9hc3NldHMvc3Zncy9xdWVzdGlvbi1saW5lLnN2Zyc7XG5cbiAgICAgIC8vIENvbXBsZXRlIG1pc3Npbmcgbm9kZXNcbiAgICAgIHJlbGF0aW9ucy5mb3JFYWNoKChyZWxhdGlvbikgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbXNBc05vZGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IHJlbGF0aW9uLnNvdXJjZSkpIHtcbiAgICAgICAgICB0aGlzLml0ZW1zQXNOb2Rlcy5wdXNoKHtcbiAgICAgICAgICAgIGluZGV4OiB0aGlzLml0ZW1zQXNOb2Rlcy5sZW5ndGgsXG4gICAgICAgICAgICBpdGVtOiB7IGlkOiByZWxhdGlvbi5zb3VyY2UsIG9DbGFzczogJ3Vua25vd24nLCBhdHRyaWJ1dGVzOiB7fSB9LFxuICAgICAgICAgICAgaWQ6IHJlbGF0aW9uLnNvdXJjZSxcbiAgICAgICAgICAgIGltYWdlOiB1bmtub3duSW1hZ2UsXG4gICAgICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWRJZHMuaW5kZXhPZihyZWxhdGlvbi5zb3VyY2UpID4gLTFcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuaXRlbXNBc05vZGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IHJlbGF0aW9uLmRlc3RpbmF0aW9uKSkge1xuICAgICAgICAgIHRoaXMuaXRlbXNBc05vZGVzLnB1c2goe1xuICAgICAgICAgICAgaW5kZXg6IHRoaXMuaXRlbXNBc05vZGVzLmxlbmd0aCxcbiAgICAgICAgICAgIGl0ZW06IHsgaWQ6IHJlbGF0aW9uLmRlc3RpbmF0aW9uLCBvQ2xhc3M6ICd1bmtub3duJywgYXR0cmlidXRlczoge30gfSxcbiAgICAgICAgICAgIGlkOiByZWxhdGlvbi5kZXN0aW5hdGlvbixcbiAgICAgICAgICAgIGltYWdlOiB1bmtub3duSW1hZ2UsXG4gICAgICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWRJZHMuaW5kZXhPZihyZWxhdGlvbi5kZXN0aW5hdGlvbikgPiAtMVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZWxhdGlvbnNBc0xpbmtzID0gcmVsYXRpb25zLm1hcCgocmVsYXRpb24pID0+ICh7XG4gICAgICAgIHNvdXJjZTogdGhpcy5pdGVtc0FzTm9kZXMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gcmVsYXRpb24uc291cmNlKT8uaW5kZXggPz8gLTEsXG4gICAgICAgIHRhcmdldDogdGhpcy5pdGVtc0FzTm9kZXMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gcmVsYXRpb24uZGVzdGluYXRpb24pPy5pbmRleCA/PyAtMSxcbiAgICAgICAgcmVsYXRpb25cbiAgICAgIH0pKSBhcyBQcnlMaW5rW107XG5cbiAgICAgIGlmICh0aGlzLnNpbXVsYXRpb24pIHtcbiAgICAgICAgdGhpcy5zaW11bGF0aW9uLnN0b3AoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zaW11bGF0aW9uID0gdGhpcy5pbml0U2ltdWxhdGlvbihvcHRpb25zLCBzaXplKS5vbigndGljaycsIHRoaXMuZHJhdyhzaXplLCBvcHRpb25zLCByZWxhdGlvblR5cGVzKSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy50b29sdGlwJC5waXBlKGZpbHRlcigodG9vbHRpcCkgPT4gISF0b29sdGlwICYmICEhdG9vbHRpcC5pdGVtKSkuc3Vic2NyaWJlKCh0b29sdGlwKSA9PiB7XG4gICAgICAgIGxldCB0eXBlID0gdG9vbHRpcC5pdGVtLml0ZW0ub0NsYXNzIGFzIHN0cmluZztcbiAgICAgICAgdGhpcy50b29sdGlwLmNsZWFyKCk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCQgPSB0aGlzLnRvb2x0aXBGYWN0b3J5U2VydmljZS5nZW5lcmF0ZVRvb2x0aXAodHlwZSwgdGhpcy5faW5qZWN0b3IsIHRoaXMudG9vbHRpcCk7XG4gICAgICAgIGNvbXBvbmVudCQuc3Vic2NyaWJlKChjb21wb25lbnQpID0+IHtcbiAgICAgICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuZGF0YS5pdGVtID0gdG9vbHRpcC5pdGVtLml0ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMubW92ZSQucGlwZShhdWRpdFRpbWUoMzApKS5zdWJzY3JpYmUoKCRldmVudCkgPT4gdGhpcy5tb3ZlQ2FsbGJhY2soJGV2ZW50KSk7XG5cbiAgICB0aGlzLmJvdHRvbUxlZnQkID0gY29tYmluZUxhdGVzdChbdGhpcy53aWRnZXRTaXplJCwgdGhpcy5kaXNwbGF5SGVhZGVyJF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbc2l6ZSwgZGlzcGxheUhlYWRlcl0pID0+XG4gICAgICAgICAgYHRyYW5zbGF0ZSgxMHB4ICxjYWxjKDEzcHggLSAke2Rpc3BsYXlIZWFkZXIgPyBXSURHRVRfSEVBREVSX0hFSUdIVCArICdweCcgOiAnMHB4J30pKWBcbiAgICAgICksXG4gICAgICBkZWxheSgxMClcbiAgICApO1xuICB9XG5cbiAgaW5pdFNpbXVsYXRpb24ob3B0aW9uczogR3JhcGhXaWRnZXRPcHRpb25zLCBzaXplOiBbbnVtYmVyLCBudW1iZXJdKSB7XG4gICAgc3dpdGNoIChvcHRpb25zLmxheW91dCkge1xuICAgICAgY2FzZSAnc2ltcGxlJzpcbiAgICAgICAgcmV0dXJuIHNpbXBsZVNpbXVsYXRpb24odGhpcy5pdGVtc0FzTm9kZXMsIHRoaXMucmVsYXRpb25zQXNMaW5rcywgb3B0aW9ucywgc2l6ZSk7XG4gICAgICBjYXNlICdmb3JjZSc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZm9yY2VTaW11bGF0aW9uKHRoaXMuaXRlbXNBc05vZGVzKVxuICAgICAgICAgIC5mb3JjZSgnY2hhcmdlJywgZm9yY2VNYW55Qm9keSgpKVxuICAgICAgICAgIC5mb3JjZSgnbGluaycsIGZvcmNlTGluayh0aGlzLnJlbGF0aW9uc0FzTGlua3MpLmRpc3RhbmNlKDUwKS5zdHJlbmd0aCgwLjEpKVxuICAgICAgICAgIC5mb3JjZSgneCcsIGZvcmNlWCgpKVxuICAgICAgICAgIC5mb3JjZSgneScsIGZvcmNlWSgpKVxuICAgICAgICAgIC5mb3JjZSgnY29sbGlkZScsIGZvcmNlQ29sbGlkZShvcHRpb25zLm5vZGVSYWRpdXMgKiAzKSlcbiAgICAgICAgICAuZm9yY2UoJ2NlbnRlcicsIGZvcmNlQ2VudGVyKHNpemVbMF0gLyAyLCBzaXplWzFdIC8gMikpO1xuICAgIH1cbiAgfVxuXG4gIGVtaXRNYW5pZmVzdCgpIHtcbiAgICB0aGlzLm1hbmlmZXN0TW9kaWZpZWQuZW1pdCh7XG4gICAgICB3aWRnZXRJbmRleDogdGhpcy53aWRnZXRJbmRleCxcbiAgICAgIG1hbmlmZXN0OiB7IC4uLnRoaXMubWFuaWZlc3QsIG9wdGlvbnM6IHRoaXMub3B0aW9uc0NvcHkgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmRyYXcoW3RoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQud2lkdGgsIHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQuaGVpZ2h0XSwgdGhpcy5vcHRpb25zLCB0aGlzLnJlbGF0aW9uVHlwZXMpKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0ID0gdGhpcy5jYW52YXMubmF0aXZlRWxlbWVudC5nZXRDb250ZXh0KCcyZCcpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICBpZiAodGhpcy5zaW11bGF0aW9uKSB7XG4gICAgICB0aGlzLnNpbXVsYXRpb24uc3RvcCgpO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZU1vZGUobW9kZTogJ21vdmUnIHwgJ3JlY3RhbmdsZScpIHtcbiAgICB0aGlzLm1vZGUgPSBtb2RlO1xuICB9XG5cbiAgY2hhbmdlTGF5b3V0KCRldmVudDogYW55KSB7XG4gICAgdGhpcy5vcHRpb25zQ29weSEubGF5b3V0ID0gJGV2ZW50O1xuICB9XG5cbiAgY2hhbmdlTm9kZVJhZGl1cygkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMub3B0aW9uc0NvcHkhLm5vZGVSYWRpdXMgPSAkZXZlbnQ7XG4gIH1cblxuICAvKipcbiAgICogRHJhd2luZyB0aGluZ3NcbiAgICovXG5cbiAgZHJhdyhzaXplOiBbbnVtYmVyLCBudW1iZXJdLCBvcHRpb25zOiBHcmFwaFdpZGdldE9wdGlvbnMsIHJlbGF0aW9uVHlwZXM6IFJlbGF0aW9uVHlwZVtdKSB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmICh0aGlzLmNvbnRleHQpIHtcbiAgICAgICAgLy8gQ2xlYXIgY2FudmFzXG4gICAgICAgIHRoaXMuY29udGV4dC5jbGVhclJlY3QoMCwgMCwgc2l6ZVswXSwgc2l6ZVsxXSk7XG5cbiAgICAgICAgLy8gRHJhd2luZyBsaW5rc1xuICAgICAgICB0aGlzLmNvbnRleHQuc2F2ZSgpO1xuICAgICAgICB0aGlzLmRyYXdMaW5rcyhvcHRpb25zLCByZWxhdGlvblR5cGVzKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LnJlc3RvcmUoKTtcblxuICAgICAgICAvLyBEcmF3aW5nIG5vZGVzXG4gICAgICAgIHRoaXMuY29udGV4dC5zYXZlKCk7XG4gICAgICAgIHRoaXMuZHJhd05vZGVzKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLmNvbnRleHQucmVzdG9yZSgpO1xuXG4gICAgICAgIC8vIERyYXdpbmcgc2VsZWN0aW9uIHJlY3RhbmdsZSBpZiBuZWVkZWRcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0UmVjdCkge1xuICAgICAgICAgIHRoaXMuY29udGV4dC5zYXZlKCk7XG4gICAgICAgICAgdGhpcy5kcmF3U2VsZWN0aW9uUmVjdCgpO1xuICAgICAgICAgIHRoaXMuY29udGV4dC5yZXN0b3JlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3U2VsZWN0aW9uUmVjdCgpIHtcbiAgICBpZiAodGhpcy5jb250ZXh0ICYmIHRoaXMuc2VsZWN0UmVjdCAmJiB0aGlzLm1vZGUgPT09ICdyZWN0YW5nbGUnKSB7XG4gICAgICB0aGlzLmNvbnRleHQuZ2xvYmFsQWxwaGEgPSAwLjM7XG4gICAgICB0aGlzLmNvbnRleHQuZmlsbFN0eWxlID0gJyNiY2RjZGEnO1xuXG4gICAgICBjb25zdCBtaW5YID0gTWF0aC5taW4odGhpcy5zZWxlY3RSZWN0LnN0YXJ0LngsIHRoaXMuc2VsZWN0UmVjdC5lbmQueCk7XG4gICAgICBjb25zdCBtaW5ZID0gTWF0aC5taW4odGhpcy5zZWxlY3RSZWN0LnN0YXJ0LnksIHRoaXMuc2VsZWN0UmVjdC5lbmQueSk7XG4gICAgICBjb25zdCBkWCA9IE1hdGguYWJzKHRoaXMuc2VsZWN0UmVjdC5zdGFydC54IC0gdGhpcy5zZWxlY3RSZWN0LmVuZC54KTtcbiAgICAgIGNvbnN0IGRZID0gTWF0aC5hYnModGhpcy5zZWxlY3RSZWN0LnN0YXJ0LnkgLSB0aGlzLnNlbGVjdFJlY3QuZW5kLnkpO1xuXG4gICAgICB0aGlzLmNvbnRleHQucmVjdChtaW5YLCBtaW5ZLCBkWCwgZFkpO1xuICAgICAgdGhpcy5jb250ZXh0LmZpbGwoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRyYXdOb2RlcyhvcHRpb25zOiBHcmFwaFdpZGdldE9wdGlvbnMpIHtcbiAgICBpZiAodGhpcy5jb250ZXh0KSB7XG4gICAgICB0aGlzLmNvbnRleHQuZ2xvYmFsQWxwaGEgPSBvcHRpb25zLm5vZGVTdHJva2VPcGFjaXR5O1xuICAgICAgZm9yIChjb25zdCBbaSwgbm9kZV0gb2YgdGhpcy5pdGVtc0FzTm9kZXMuZW50cmllcygpKSB7XG4gICAgICAgIHRoaXMuY29udGV4dC5iZWdpblBhdGgoKTtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm1vdmVUbygobm9kZS54ID8/IDApICsgdGhpcy5nbG9iYWxPZmZzZXRbMF0sIChub2RlLnkgPz8gMCkgKyB0aGlzLmdsb2JhbE9mZnNldFsxXSk7XG4gICAgICAgIHRoaXMuY29udGV4dC5hcmMoXG4gICAgICAgICAgKG5vZGUueCA/PyAwKSArIHRoaXMuZ2xvYmFsT2Zmc2V0WzBdLFxuICAgICAgICAgIChub2RlLnkgPz8gMCkgKyB0aGlzLmdsb2JhbE9mZnNldFsxXSxcbiAgICAgICAgICBvcHRpb25zLm5vZGVSYWRpdXMgLyAyICsgOCxcbiAgICAgICAgICAwLFxuICAgICAgICAgIDIgKiBNYXRoLlBJLFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuY29udGV4dC5maWxsU3R5bGUgPSBub2RlLnNlbGVjdGVkID8gJyM1NjlhOWMnIDogbm9kZS5pdGVtLm9DbGFzcyA9PT0gJ3Vua25vd24nID8gJyNlMmE3YTcnIDogJyNlY2VkZjQnO1xuICAgICAgICB0aGlzLmNvbnRleHQuc3Ryb2tlU3R5bGUgPSBub2RlLnNlbGVjdGVkID8gJyM1NjlhOWMnIDogbm9kZS5pdGVtLm9DbGFzcyA9PT0gJ3Vua25vd24nID8gJyNlMmE3YTcnIDogJyNlY2VkZjQnO1xuICAgICAgICB0aGlzLmNvbnRleHQuZmlsbCgpO1xuICAgICAgICB0aGlzLmNvbnRleHQuc3Ryb2tlKCk7XG4gICAgICAgIHRoaXMuY29udGV4dC5kcmF3SW1hZ2UoXG4gICAgICAgICAgbm9kZS5pbWFnZSxcbiAgICAgICAgICAobm9kZS54ID8/IDApICsgdGhpcy5nbG9iYWxPZmZzZXRbMF0gLSBvcHRpb25zLm5vZGVSYWRpdXMgLyAyLFxuICAgICAgICAgIChub2RlLnkgPz8gMCkgKyB0aGlzLmdsb2JhbE9mZnNldFsxXSAtIG9wdGlvbnMubm9kZVJhZGl1cyAvIDIsXG4gICAgICAgICAgb3B0aW9ucy5ub2RlUmFkaXVzLFxuICAgICAgICAgIG9wdGlvbnMubm9kZVJhZGl1c1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZHJhd0xpbmtzKG9wdGlvbnM6IEdyYXBoV2lkZ2V0T3B0aW9ucywgcmVsYXRpb25UeXBlczogUmVsYXRpb25UeXBlW10pIHtcbiAgICBpZiAodGhpcy5jb250ZXh0KSB7XG4gICAgICB0aGlzLmNvbnRleHQuZ2xvYmFsQWxwaGEgPSBvcHRpb25zLmxpbmtTdHJva2VPcGFjaXR5O1xuICAgICAgZm9yIChjb25zdCBbaSwgbGlua10gb2YgdGhpcy5yZWxhdGlvbnNBc0xpbmtzLmVudHJpZXMoKSkge1xuICAgICAgICB0aGlzLmNvbnRleHQuYmVnaW5QYXRoKCk7XG4gICAgICAgIGNvbnN0IHNvdXJjZU5vZGUgPSB0aGlzLml0ZW1zQXNOb2Rlcy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBsaW5rLnJlbGF0aW9uLnNvdXJjZSk7XG4gICAgICAgIGxldCB0YXJnZXROb2RlID0gdGhpcy5pdGVtc0FzTm9kZXMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gbGluay5yZWxhdGlvbi5kZXN0aW5hdGlvbik7XG4gICAgICAgIGlmIChsaW5rLnNvdXJjZSA9PT0gbGluay50YXJnZXQgJiYgdGFyZ2V0Tm9kZSkge1xuICAgICAgICAgIHRoaXMuY29udGV4dC5tb3ZlVG8oKHNvdXJjZU5vZGU/LnggPz8gMCkgKyB0aGlzLmdsb2JhbE9mZnNldFswXSwgKHNvdXJjZU5vZGU/LnkgPz8gMCkgKyB0aGlzLmdsb2JhbE9mZnNldFsxXSk7XG4gICAgICAgICAgdGhpcy5jb250ZXh0LmJlemllckN1cnZlVG8oXG4gICAgICAgICAgICAoc291cmNlTm9kZT8ueCA/PyAwKSAtIDEwICsgdGhpcy5nbG9iYWxPZmZzZXRbMF0sXG4gICAgICAgICAgICAoc291cmNlTm9kZT8ueSA/PyAwKSAtIDYwICsgdGhpcy5nbG9iYWxPZmZzZXRbMV0sXG4gICAgICAgICAgICAoc291cmNlTm9kZT8ueCA/PyAwKSArIDEyMCArIHRoaXMuZ2xvYmFsT2Zmc2V0WzBdLFxuICAgICAgICAgICAgKHNvdXJjZU5vZGU/LnkgPz8gMCkgKyB0aGlzLmdsb2JhbE9mZnNldFsxXSxcbiAgICAgICAgICAgIChzb3VyY2VOb2RlPy54ID8/IDApIC0gMTAgKyB0aGlzLmdsb2JhbE9mZnNldFswXSxcbiAgICAgICAgICAgIChzb3VyY2VOb2RlPy55ID8/IDApICsgMjAgKyB0aGlzLmdsb2JhbE9mZnNldFsxXVxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgeyBtaWRkbGVYLCBtaWRkbGVZLCBhbmdsZSB9ID0gdGhpcy5kcmF3U2VsZlJlbGF0aW9uVGV4dExpbmsobGluaywgc291cmNlTm9kZSEsIHJlbGF0aW9uVHlwZXMsIG9wdGlvbnMpO1xuICAgICAgICAgIC8vIGFycm93XG4gICAgICAgICAgdGhpcy5kcmF3QXJyb3coXG4gICAgICAgICAgICAodGFyZ2V0Tm9kZT8ueCA/PyAwKSArIDEyMCArIHRoaXMuZ2xvYmFsT2Zmc2V0WzBdLFxuICAgICAgICAgICAgKHRhcmdldE5vZGU/LnkgPz8gMCkgKyB0aGlzLmdsb2JhbE9mZnNldFsxXSxcbiAgICAgICAgICAgIG1pZGRsZVgsXG4gICAgICAgICAgICBtaWRkbGVZICsgMyxcbiAgICAgICAgICAgIGFuZ2xlIC0gMTAwXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNvbnRleHQubW92ZVRvKChzb3VyY2VOb2RlPy54ID8/IDApICsgdGhpcy5nbG9iYWxPZmZzZXRbMF0sIChzb3VyY2VOb2RlPy55ID8/IDApICsgdGhpcy5nbG9iYWxPZmZzZXRbMV0pO1xuICAgICAgICAgIHRoaXMuY29udGV4dC5saW5lVG8oKHRhcmdldE5vZGU/LnggPz8gMCkgKyB0aGlzLmdsb2JhbE9mZnNldFswXSwgKHRhcmdldE5vZGU/LnkgPz8gMCkgKyB0aGlzLmdsb2JhbE9mZnNldFsxXSk7XG4gICAgICAgICAgY29uc3QgeyBtaWRkbGVYLCBtaWRkbGVZLCBhbmdsZSB9ID0gdGhpcy5kcmF3VGV4dExpbmsobGluaywgc291cmNlTm9kZSEsIHRhcmdldE5vZGUhLCByZWxhdGlvblR5cGVzLCBvcHRpb25zKTtcbiAgICAgICAgICAvLyBhcnJvd1xuICAgICAgICAgIHRoaXMuZHJhd0Fycm93KFxuICAgICAgICAgICAgKHRhcmdldE5vZGU/LnggPz8gMCkgKyB0aGlzLmdsb2JhbE9mZnNldFswXSxcbiAgICAgICAgICAgICh0YXJnZXROb2RlPy55ID8/IDApICsgdGhpcy5nbG9iYWxPZmZzZXRbMV0sXG4gICAgICAgICAgICBtaWRkbGVYLFxuICAgICAgICAgICAgbWlkZGxlWSxcbiAgICAgICAgICAgIGFuZ2xlXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZHJhd1NlbGZSZWxhdGlvblRleHRMaW5rKFxuICAgIGxpbms6IFByeUxpbmssXG4gICAgc291cmNlTm9kZTogUHJ5Tm9kZSxcbiAgICByZWxhdGlvblR5cGVzOiBSZWxhdGlvblR5cGVbXSxcbiAgICBvcHRpb25zOiBHcmFwaFdpZGdldE9wdGlvbnNcbiAgKSB7XG4gICAgY29uc3QgbWlkZGxlWCA9IChzb3VyY2VOb2RlPy54ID8/IDApICsgdGhpcy5nbG9iYWxPZmZzZXRbMF0gKyA0NTtcbiAgICBjb25zdCBtaWRkbGVZID0gKHNvdXJjZU5vZGU/LnkgPz8gMCkgKyB0aGlzLmdsb2JhbE9mZnNldFsxXSAtIDIwO1xuICAgIGxldCBhbmdsZSA9IE1hdGguYXRhbjIoc291cmNlTm9kZT8ueSA/PyAwLCBzb3VyY2VOb2RlPy54ID8/IDApO1xuICAgIGxldCBkcmF3QW5nbGUgPSBhbmdsZTtcblxuICAgIHJldHVybiB0aGlzLmRyYXdUZXh0KG1pZGRsZVgsIG1pZGRsZVksIGFuZ2xlLCByZWxhdGlvblR5cGVzLCBvcHRpb25zLCBsaW5rLCBkcmF3QW5nbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3VGV4dExpbmsoXG4gICAgbGluazogUHJ5TGluayxcbiAgICBzb3VyY2VOb2RlOiBQcnlOb2RlLFxuICAgIHRhcmdldE5vZGU6IFByeU5vZGUsXG4gICAgcmVsYXRpb25UeXBlczogUmVsYXRpb25UeXBlW10sXG4gICAgb3B0aW9uczogR3JhcGhXaWRnZXRPcHRpb25zXG4gICkge1xuICAgIGNvbnN0IG1pZGRsZVggPSAoKHNvdXJjZU5vZGU/LnggPz8gMCkgKyAodGFyZ2V0Tm9kZT8ueCA/PyAwKSkgLyAyICsgdGhpcy5nbG9iYWxPZmZzZXRbMF07XG4gICAgY29uc3QgbWlkZGxlWSA9ICgoc291cmNlTm9kZT8ueSA/PyAwKSArICh0YXJnZXROb2RlPy55ID8/IDApKSAvIDIgKyB0aGlzLmdsb2JhbE9mZnNldFsxXTtcbiAgICBsZXQgYW5nbGUgPSBNYXRoLmF0YW4yKCh0YXJnZXROb2RlPy55ID8/IDApIC0gKHNvdXJjZU5vZGU/LnkgPz8gMCksICh0YXJnZXROb2RlPy54ID8/IDApIC0gKHNvdXJjZU5vZGU/LnggPz8gMCkpO1xuICAgIGxldCBkcmF3QW5nbGUgPSBhbmdsZTtcbiAgICBpZiAodGhpcy5jb250ZXh0KSB7XG4gICAgICBpZiAoKHNvdXJjZU5vZGU/LnggPz8gMCkgPiAodGFyZ2V0Tm9kZT8ueCA/PyAwKSkge1xuICAgICAgICBkcmF3QW5nbGUgKz0gTWF0aC5QSTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kcmF3VGV4dChtaWRkbGVYLCBtaWRkbGVZLCBhbmdsZSwgcmVsYXRpb25UeXBlcywgb3B0aW9ucywgbGluaywgZHJhd0FuZ2xlKTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhd1RleHQoXG4gICAgbWlkZGxlWDogbnVtYmVyLFxuICAgIG1pZGRsZVk6IG51bWJlcixcbiAgICBhbmdsZTogbnVtYmVyLFxuICAgIHJlbGF0aW9uVHlwZXM6IGFueVtdLFxuICAgIG9wdGlvbnM6IEdyYXBoV2lkZ2V0T3B0aW9ucyxcbiAgICBsaW5rOiBQcnlMaW5rLFxuICAgIGRyYXdBbmdsZTogbnVtYmVyXG4gICkge1xuICAgIGlmICh0aGlzLmNvbnRleHQpIHtcbiAgICAgIHRoaXMuY29udGV4dC5mb250ID0gJzEwcHggVWJ1bnR1JztcbiAgICAgIGNvbnN0IHJlbGF0aW9uVHlwZSA9IGxpbmsucmVsYXRpb24ucmVsYXRpb25UeXBlO1xuICAgICAgdGhpcy5jb250ZXh0LnNhdmUoKTtcbiAgICAgIHRoaXMuY29udGV4dC50cmFuc2xhdGUobWlkZGxlWCwgbWlkZGxlWSk7XG4gICAgICB0aGlzLmNvbnRleHQucm90YXRlKGRyYXdBbmdsZSk7XG4gICAgICB0aGlzLmNvbnRleHQudGV4dEFsaWduID0gJ2NlbnRlcic7XG4gICAgICB0aGlzLmNvbnRleHQuZmlsbFRleHQocmVsYXRpb25UeXBlcy5maW5kKChyZWxUKSA9PiByZWxULmlkID09PSByZWxhdGlvblR5cGUpPy5uYW1lID8/IHJlbGF0aW9uVHlwZSwgMCwgLTcpO1xuICAgICAgdGhpcy5jb250ZXh0LnN0cm9rZVN0eWxlID0gb3B0aW9ucy5saW5rU3Ryb2tlQ29sb3I7XG4gICAgICB0aGlzLmNvbnRleHQubGluZVdpZHRoID0gb3B0aW9ucy5saW5rU3Ryb2tlV2lkdGg7XG4gICAgICB0aGlzLmNvbnRleHQuc3Ryb2tlKCk7XG4gICAgICB0aGlzLmNvbnRleHQucmVzdG9yZSgpO1xuICAgIH1cbiAgICByZXR1cm4geyBtaWRkbGVYLCBtaWRkbGVZLCBhbmdsZSB9O1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3QXJyb3codGFyZ2V0WDogbnVtYmVyLCB0YXJnZXRZOiBudW1iZXIsIG1pZGRsZVg6IG51bWJlciwgbWlkZGxlWTogbnVtYmVyLCBhbmdsZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuY29udGV4dCkge1xuICAgICAgY29uc3Qgd2lkdGggPSAxO1xuICAgICAgY29uc3QgaGVhZGxlbiA9IDEwO1xuXG4gICAgICAvLyBUaGlzIG1ha2VzIGl0IHNvIHRoZSBlbmQgb2YgdGhlIGFycm93IGhlYWQgaXMgbG9jYXRlZCBhdCB0b3gsIHRveSwgZG9uJ3QgYXNrIHdoZXJlIDEuMTUgY29tZXMgZnJvbVxuICAgICAgdGFyZ2V0WCAtPSBNYXRoLmNvcyhhbmdsZSkgKiAod2lkdGggKiAxLjE1KTtcbiAgICAgIHRhcmdldFkgLT0gTWF0aC5zaW4oYW5nbGUpICogKHdpZHRoICogMS4xNSk7XG5cbiAgICAgIC8vc3RhcnRpbmcgYSBuZXcgcGF0aCBmcm9tIHRoZSBoZWFkIG9mIHRoZSBhcnJvdyB0byBvbmUgb2YgdGhlIHNpZGVzIG9mIHRoZSBwb2ludFxuICAgICAgdGhpcy5jb250ZXh0LmJlZ2luUGF0aCgpO1xuICAgICAgdGhpcy5jb250ZXh0Lm1vdmVUbyhtaWRkbGVYLCBtaWRkbGVZKTtcbiAgICAgIHRoaXMuY29udGV4dC5saW5lVG8oXG4gICAgICAgIG1pZGRsZVggLSBoZWFkbGVuICogTWF0aC5jb3MoYW5nbGUgLSBNYXRoLlBJIC8gNyksXG4gICAgICAgIG1pZGRsZVkgLSBoZWFkbGVuICogTWF0aC5zaW4oYW5nbGUgLSBNYXRoLlBJIC8gNylcbiAgICAgICk7XG5cbiAgICAgIC8vcGF0aCBmcm9tIHRoZSBzaWRlIHBvaW50IG9mIHRoZSBhcnJvdywgdG8gdGhlIG90aGVyIHNpZGUgcG9pbnRcbiAgICAgIHRoaXMuY29udGV4dC5saW5lVG8oXG4gICAgICAgIG1pZGRsZVggLSBoZWFkbGVuICogTWF0aC5jb3MoYW5nbGUgKyBNYXRoLlBJIC8gNyksXG4gICAgICAgIG1pZGRsZVkgLSBoZWFkbGVuICogTWF0aC5zaW4oYW5nbGUgKyBNYXRoLlBJIC8gNylcbiAgICAgICk7XG5cbiAgICAgIC8vcGF0aCBmcm9tIHRoZSBzaWRlIHBvaW50IGJhY2sgdG8gdGhlIHRpcCBvZiB0aGUgYXJyb3csIGFuZCB0aGVuIGFnYWluIHRvIHRoZSBvcHBvc2l0ZSBzaWRlIHBvaW50XG4gICAgICB0aGlzLmNvbnRleHQubGluZVRvKG1pZGRsZVgsIG1pZGRsZVkpO1xuICAgICAgdGhpcy5jb250ZXh0LmxpbmVUbyhcbiAgICAgICAgbWlkZGxlWCAtIGhlYWRsZW4gKiBNYXRoLmNvcyhhbmdsZSAtIE1hdGguUEkgLyA3KSxcbiAgICAgICAgbWlkZGxlWSAtIGhlYWRsZW4gKiBNYXRoLnNpbihhbmdsZSAtIE1hdGguUEkgLyA3KVxuICAgICAgKTtcblxuICAgICAgLy9kcmF3cyB0aGUgcGF0aHMgY3JlYXRlZCBhYm92ZVxuICAgICAgdGhpcy5jb250ZXh0LmxpbmVXaWR0aCA9IHdpZHRoO1xuICAgICAgdGhpcy5jb250ZXh0LnN0cm9rZSgpO1xuICAgICAgdGhpcy5jb250ZXh0LmZpbGwoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW91c2UgTWFuYWdlbWVudFxuICAgKi9cblxuICBvbk1vdXNlRG93bigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBjb25zdCBub2RlcyA9IHRoaXMuZmluZE5vZGVzKCRldmVudCk7XG4gICAgdGhpcy5kcmFnZ2VkTm9kZSA9IG5vZGVzWzBdO1xuICAgIGlmICh0aGlzLmRyYWdnZWROb2RlKSB7XG4gICAgICB0aGlzLnNpbXVsYXRpb24uYWxwaGFUYXJnZXQoMC4zKS5yZXN0YXJ0KCk7XG4gICAgICB0aGlzLmRyYWdnZWROb2RlLmZ4ID0gdGhpcy5kcmFnZ2VkTm9kZS54O1xuICAgICAgdGhpcy5kcmFnZ2VkTm9kZS5meSA9IHRoaXMuZHJhZ2dlZE5vZGUueTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RSZWN0ID0ge1xuICAgICAgICBzdGFydDogeyB4OiAkZXZlbnQub2Zmc2V0WCwgeTogJGV2ZW50Lm9mZnNldFkgfSxcbiAgICAgICAgZW5kOiB7IHg6ICRldmVudC5vZmZzZXRYLCB5OiAkZXZlbnQub2Zmc2V0WSB9XG4gICAgICB9O1xuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfVxuICAgIHRoaXMubW91c2VEb3duID0gdHJ1ZTtcbiAgfVxuXG4gIG9uTW91c2VNb3ZlKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMubW92ZSQubmV4dCgkZXZlbnQpO1xuICAgIGlmICh0aGlzLm1vdXNlRG93bikge1xuICAgICAgdGhpcy5kcmFnZ2luZyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgbW92ZUNhbGxiYWNrKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmRyYWdnZWROb2RlKSB7XG4gICAgICB0aGlzLmRyYWdnZWROb2RlLmZ4ID0gJGV2ZW50Lm9mZnNldFggLSB0aGlzLmdsb2JhbE9mZnNldFswXTtcbiAgICAgIHRoaXMuZHJhZ2dlZE5vZGUuZnkgPSAkZXZlbnQub2Zmc2V0WSAtIHRoaXMuZ2xvYmFsT2Zmc2V0WzFdO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RSZWN0KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0UmVjdCEuZW5kID0geyB4OiAkZXZlbnQub2Zmc2V0WCwgeTogJGV2ZW50Lm9mZnNldFkgfTtcbiAgICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ21vdmUnKSB7XG4gICAgICAgICAgdGhpcy5hZGRpdGlvbm5hbE9mZnNldCA9IFtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0UmVjdC5lbmQueCAtIHRoaXMuc2VsZWN0UmVjdC5zdGFydC54LFxuICAgICAgICAgICAgdGhpcy5zZWxlY3RSZWN0LmVuZC55IC0gdGhpcy5zZWxlY3RSZWN0LnN0YXJ0LnlcbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICB9XG5cbiAgICAvLyBkaXNwbGF5IHRvb2x0aXAgZm9yIG5vZGVzXG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLmZpbmROb2RlcygkZXZlbnQpO1xuICAgIHRoaXMudG9vbHRpcCQubmV4dCh7IGl0ZW06IG5vZGVzWzBdLCBkaXNwbGF5OiBub2Rlcy5sZW5ndGggPiAwLCB4OiAkZXZlbnQub2Zmc2V0WCwgeTogJGV2ZW50Lm9mZnNldFkgfSk7XG4gIH1cblxuICBvbk1vdXNlVXAoJGV2ZW50OiBNb3VzZUV2ZW50LCBsZWF2ZSA9IGZhbHNlKSB7XG4gICAgaWYgKCRldmVudC5idXR0b24gIT09IDIpIHtcbiAgICAgIGlmICh0aGlzLmRyYWdnaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmRyYWdnZWROb2RlKSB7XG4gICAgICAgICAgdGhpcy5zaW11bGF0aW9uLmFscGhhVGFyZ2V0KDApO1xuICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnNDb3B5Py5sYXlvdXQgPT09ICdmb3JjZScpIHtcbiAgICAgICAgICAgIHRoaXMuZHJhZ2dlZE5vZGUuZnggPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5kcmFnZ2VkTm9kZS5meSA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdyZWN0YW5nbGUnKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlcyA9IHRoaXMuZmluZE5vZGVzSW5TaGFwZWQodGhpcy5zZWxlY3RSZWN0ISk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMuc2VsZWN0TWFueSh7IGlkczogbm9kZXMubWFwKChub2RlKSA9PiBub2RlLml0ZW0uaWQpIH0pKTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9mZnNldCA9IFsuLi50aGlzLmdsb2JhbE9mZnNldF07XG4gICAgICAgICAgICB0aGlzLmFkZGl0aW9ubmFsT2Zmc2V0ID0gWzAsIDBdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFsZWF2ZSkge1xuICAgICAgICAgIGNvbnN0IG5vZGVzID0gdGhpcy5maW5kTm9kZXMoJGV2ZW50KTtcbiAgICAgICAgICBpZiAobm9kZXNbMF0/Lml0ZW0/LmlkKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMuc2VsZWN0KHsgaWQ6IG5vZGVzWzBdPy5pdGVtPy5pZCwgY3VtdWxhdGl2ZTogJGV2ZW50LnNoaWZ0S2V5IH0pKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnNlbGVjdCh7IGlkOiAnJywgY3VtdWxhdGl2ZTogJGV2ZW50LnNoaWZ0S2V5IH0pKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5tb2RlID0gJ21vdmUnO1xuICAgIHRoaXMuc2VsZWN0UmVjdCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmRyYWdnZWROb2RlID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuZHJhZ2dpbmcgPSBmYWxzZTtcbiAgICB0aGlzLm1vdXNlRG93biA9IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGdsb2JhbE9mZnNldCgpIHtcbiAgICByZXR1cm4gW3RoaXMub2Zmc2V0WzBdICsgdGhpcy5hZGRpdGlvbm5hbE9mZnNldFswXSwgdGhpcy5vZmZzZXRbMV0gKyB0aGlzLmFkZGl0aW9ubmFsT2Zmc2V0WzFdXTtcbiAgfVxuXG4gIGNvbnRleHRNZW51KCRldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLm1hbmlmZXN0LmNvbnRleHRNZW51ICE9PSBmYWxzZSkge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBub2RlcyA9IHRoaXMuZmluZE5vZGVzKCRldmVudCk7XG4gICAgICBpZiAobm9kZXNbMF0gJiYgbm9kZXNbMF0uaXRlbSkge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgIENvbnRleHRNZW51QWN0aW9ucy5vcGVuKHtcbiAgICAgICAgICAgIGl0ZW1JZDogbm9kZXNbMF0uaXRlbS5pZCxcbiAgICAgICAgICAgIGNsaWVudFg6ICRldmVudC5jbGllbnRYLFxuICAgICAgICAgICAgY2xpZW50WTogJGV2ZW50LmNsaWVudFksXG4gICAgICAgICAgICByZXN1bHRTZXQ6IEFycmF5LmlzQXJyYXkodGhpcy5tYW5pZmVzdC5kYXRhc291cmNlKSA/IHRoaXMubWFuaWZlc3QuZGF0YXNvdXJjZVswXSA6IHRoaXMubWFuaWZlc3QuZGF0YXNvdXJjZSxcbiAgICAgICAgICAgIGZyb206ICdncmFwaCdcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm9uTW91c2VVcCgkZXZlbnQsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRpbmcgTm9kZXNcbiAgICovXG5cbiAgZmluZE5vZGVzKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIHJldHVybiB0aGlzLml0ZW1zQXNOb2Rlcy5maWx0ZXIoXG4gICAgICAoaXRlbSkgPT5cbiAgICAgICAgTWF0aC5wb3coKGl0ZW0ueCA/PyAwKSAtICRldmVudC5vZmZzZXRYICsgdGhpcy5nbG9iYWxPZmZzZXRbMF0sIDIpICtcbiAgICAgICAgICBNYXRoLnBvdygoaXRlbS55ID8/IDApICsgdGhpcy5nbG9iYWxPZmZzZXRbMV0gLSAkZXZlbnQub2Zmc2V0WSwgMikgPFxuICAgICAgICBNYXRoLnBvdyh0aGlzLm9wdGlvbnMubm9kZVJhZGl1cyAvIDIgKyA4LCAyKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZpbmROb2Rlc0luU2hhcGVkKHNoYXBlOiB7IHN0YXJ0OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07IGVuZDogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IH0pOiBQcnlOb2RlW10ge1xuICAgIGNvbnN0IG1pblggPSBNYXRoLm1pbihzaGFwZS5zdGFydC54LCBzaGFwZS5lbmQueCk7XG4gICAgY29uc3QgbWF4WCA9IE1hdGgubWF4KHNoYXBlLnN0YXJ0LngsIHNoYXBlLmVuZC54KTtcbiAgICBjb25zdCBtaW5ZID0gTWF0aC5taW4oc2hhcGUuc3RhcnQueSwgc2hhcGUuZW5kLnkpO1xuICAgIGNvbnN0IG1heFkgPSBNYXRoLm1heChzaGFwZS5zdGFydC55LCBzaGFwZS5lbmQueSk7XG5cbiAgICByZXR1cm4gdGhpcy5pdGVtc0FzTm9kZXMuZmlsdGVyKFxuICAgICAgKGl0ZW0pID0+XG4gICAgICAgIChpdGVtLnggPz8gMCkgKyB0aGlzLmdsb2JhbE9mZnNldFswXSA+IG1pblggJiZcbiAgICAgICAgKGl0ZW0ueCA/PyAwKSArIHRoaXMuZ2xvYmFsT2Zmc2V0WzBdIDwgbWF4WCAmJlxuICAgICAgICAoaXRlbS55ID8/IDApICsgdGhpcy5nbG9iYWxPZmZzZXRbMV0gPiBtaW5ZICYmXG4gICAgICAgIChpdGVtLnkgPz8gMCkgKyB0aGlzLmdsb2JhbE9mZnNldFsxXSA8IG1heFlcbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgdG9JbWFnZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICByZXNvbHZlKHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQudG9EYXRhVVJMKCdpbWFnZS9wbmcnKSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxwcnktd2lkZ2V0LWZvcmNlLWdyYXBoLWNzcz48L3ByeS13aWRnZXQtZm9yY2UtZ3JhcGgtY3NzPlxuPGRpdiBjbGFzcz1cIm8td2lkZ2V0IG8td2lkZ2V0LS1ncmFwaFwiPlxuICA8cHJ5LXdpZGdldC1oZWFkZXJcbiAgICBbZGF0YXNvdXJjZUlkcyRdPVwiZGF0YXNvdXJjZUlkcyRcIlxuICAgICpuZ0lmPVwiZGlzcGxheUhlYWRlciQgfCBhc3luY1wiXG4gICAgW3dpZGdldEluZGV4XT1cIndpZGdldEluZGV4XCJcbiAgICBbbWFuaWZlc3RdPVwibWFuaWZlc3RcIlxuICAgIChtYW5pZmVzdE1vZGlmaWVkKT1cIm1hbmlmZXN0TW9kaWZpZWQuZW1pdCgkZXZlbnQpXCJcbiAgICBbaGVhZGVyT3B0aW9uc109XCIoZGlzcGxheUhlYWRlciQgfCBhc3luYykgPz8ge31cIlxuICAgICNoZWFkZXJcbiAgPlxuICAgIDxwcnktc2V0dGluZ3NcbiAgICAgIChzYXZlVHJpZ2dlcmVkKT1cImVtaXRNYW5pZmVzdCgpXCJcbiAgICAgIFtoZWFkZXJQcmVzZW50XT1cImRpc3BsYXlIZWFkZXIkIHwgYXN5bmNcIlxuICAgICAgW3dpZGdldEluZGV4XT1cIndpZGdldEluZGV4XCJcbiAgICAgIFtoZWFkZXJdPVwiaGVhZGVyXCJcbiAgICAgIFtvcGVuJF09XCJvcGVuJFwiXG4gICAgICBjbGFzcz1cIm8tc2V0dGluZ3NcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cImdyYXBoX2xheW91dFwiPnt7ICdAcHJ5LndpZGdldC5ncmFwaC5sYXlvdXQnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlTGF5b3V0KCRldmVudClcIlxuICAgICAgICAgIFtpdGVtc0FzT3B0aW9uXT1cInRydWVcIlxuICAgICAgICAgIFtpdGVtc109XCJsYXlvdXRzXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJvcHRpb25zQ29weSEubGF5b3V0XCJcbiAgICAgICAgICBiaW5kTGFiZWw9XCJrZXlcIlxuICAgICAgICAgIGJpbmRWYWx1ZT1cImtleVwiXG4gICAgICAgICAgaWQ9XCJncmFwaF9sYXlvdXRcIlxuICAgICAgICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0XCJcbiAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgIDxwcnktcmFuZ2VcbiAgICAgICAgICBbbmdNb2RlbF09XCJvcHRpb25zQ29weSEubm9kZVJhZGl1c1wiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlTm9kZVJhZGl1cygkZXZlbnQpXCJcbiAgICAgICAgICBsYWJlbFRyYW5zbGF0ZT1cIkBwcnkud2lkZ2V0LmdyYXBoLm5vZGVSYWRpdXNcIlxuICAgICAgICAgIG1pbj1cIjEwXCJcbiAgICAgICAgICBtYXg9XCIyMDBcIlxuICAgICAgICA+PC9wcnktcmFuZ2U+XG4gICAgICA8L2Rpdj5cbiAgICA8L3ByeS1zZXR0aW5ncz5cbiAgPC9wcnktd2lkZ2V0LWhlYWRlcj5cbiAgPGRpdiBjbGFzcz1cIm5vLXJlc3VsdFwiICpuZ0lmPVwiKGFsbEl0ZW1zV2l0aEltYWdlcyQgfCBhc3luYyk/Lmxlbmd0aCA9PT0gMFwiPlxuICAgIDxpbWdcbiAgICAgIGNsYXNzPVwibm8tcmVzdWx0X19zZWFyY2hcIlxuICAgICAgc3JjPVwiLi4vLi4vLi4vYXNzZXRzL3N2Z3MvcHJ5X3JlY2hlcmNoZV9wYXNfZGVfcmVzdWx0YXQuc3ZnXCJcbiAgICAgIGFsdD1cInt7ICdAcHJ5LndpZGdldC50YWJsZS5lbXB0eScgfCBpMThuIH19XCJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgLz5cbiAgICA8c3BhbiBjbGFzcz1cIm5vLXJlc3VsdF9fdGV4dFwiPnt7ICdAcHJ5LndpZGdldC5ncmFwaC5lbXB0eScgfCBpMThuIH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIC1zZWxlY3Rpb24tY2hvaWNlXCIgW3N0eWxlLnRyYW5zZm9ybV09XCJib3R0b21MZWZ0JCB8IGFzeW5jXCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIlxuICAgICAgKGNsaWNrKT1cImNoYW5nZU1vZGUoJ21vdmUnKVwiXG4gICAgICBbY2xhc3MuLXNlbGVjdGVkXT1cIm1vZGUgPT09ICdtb3ZlJ1wiXG4gICAgICBbcHJ5VG9vbHRpcF09XCJpbmZvVG9vbHRpcE1vdmVcIlxuICAgICAgcHJ5VG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJpbmZvVG9vbHRpcE1vdmVfd2lkZ2V0TWFwXCJcbiAgICA+XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cIm1vdmVcIj48L3ByeS1pY29uPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LndpZGdldC5ncmFwaC5tb3ZlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiXG4gICAgICAoY2xpY2spPVwiY2hhbmdlTW9kZSgncmVjdGFuZ2xlJylcIlxuICAgICAgW2NsYXNzLi1zZWxlY3RlZF09XCJtb2RlID09PSAncmVjdGFuZ2xlJ1wiXG4gICAgICBbcHJ5VG9vbHRpcF09XCJpbmZvVG9vbHRpcFJlY3RcIlxuICAgICAgcHJ5VG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJpbmZvVG9vbHRpcFJlY3Rfd2lkZ2V0TWFwXCJcbiAgICA+XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInJlY3RhbmdsZVwiPjwvcHJ5LWljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0Bwcnkud2lkZ2V0LmdyYXBoLnJlY3RhbmdsZScgfCBpMThuIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8Y2FudmFzXG4gICAgI2NhbnZhc1xuICAgIGNsYXNzPVwiby13aWRnZXQtLWdyYXBoX19jYW52YXNcIlxuICAgIChtb3VzZW1vdmUpPVwib25Nb3VzZU1vdmUoJGV2ZW50KVwiXG4gICAgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigkZXZlbnQpXCJcbiAgICAobW91c2V1cCk9XCJvbk1vdXNlVXAoJGV2ZW50KVwiXG4gICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZVVwKCRldmVudCwgdHJ1ZSlcIlxuICAgIChjb250ZXh0bWVudSk9XCJjb250ZXh0TWVudSgkZXZlbnQpXCJcbiAgPjwvY2FudmFzPlxuXG4gIDxkaXYgY2xhc3M9XCJzZWxlY3Rpb24tcmVjdGFuZ2xlXCIgI3NlbGVjdGlvblJlY3RhbmdsZT48L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJtLXRvb2x0aXAgbS10b29sdGlwLS1wb3B1cCBub2V2ZW50XCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCIodG9vbHRpcCQgfCBhc3luYyk/LmRpc3BsYXkgPyAnYmxvY2snIDogJ25vbmUnXCJcbiAgICBbc3R5bGUubGVmdC5weF09XCIoKHRvb2x0aXAkIHwgYXN5bmMpPy54ID8/IDApICsgNTBcIlxuICAgIFtzdHlsZS50b3AucHhdPVwiKCh0b29sdGlwJCB8IGFzeW5jKT8ueSA/PyAwKSArIDUwXCJcbiAgPlxuICAgIDxkaXYgI3Rvb2x0aXA+PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaW5mb1Rvb2x0aXBNb3ZlPlxuICA8ZGl2IGNsYXNzPVwibS10b29sdGlwXCIgcm9sZT1cInRvb2x0aXBcIiBpZD1cImluZm9Ub29sdGlwTW92ZV93aWRnZXRNYXBcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm0tdG9vbHRpcF9fdGV4dFwiPnt7ICdAcHJ5LndpZGdldC5ncmFwaC5tb3ZlJyB8IGkxOG4gfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpbmZvVG9vbHRpcFJlY3Q+XG4gIDxkaXYgY2xhc3M9XCJtLXRvb2x0aXBcIiByb2xlPVwidG9vbHRpcFwiIGlkPVwiaW5mb1Rvb2x0aXBSZWN0X3dpZGdldE1hcFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgIDxzcGFuIGNsYXNzPVwibS10b29sdGlwX190ZXh0XCI+e3sgJ0Bwcnkud2lkZ2V0LmdyYXBoLnJlY3RhbmdsZScgfCBpMThuIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const enTranslations = {
|
|
2
|
+
'@pry': {
|
|
3
|
+
widget: {
|
|
4
|
+
graph: {
|
|
5
|
+
unknown: 'Invisible object',
|
|
6
|
+
move: 'Move mode',
|
|
7
|
+
rectangle: 'Rectangle selection mode',
|
|
8
|
+
layout: 'Layout',
|
|
9
|
+
nodeRadius: 'Node radius',
|
|
10
|
+
empty: 'No data to display'
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtZ3JhcGgvaTE4bi9lbi50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixJQUFJLEVBQUUsV0FBVztnQkFDakIsU0FBUyxFQUFFLDBCQUEwQjtnQkFDckMsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLFVBQVUsRUFBRSxhQUFhO2dCQUN6QixLQUFLLEVBQUUsb0JBQW9CO2FBQzVCO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW5UcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIHdpZGdldDoge1xuICAgICAgZ3JhcGg6IHtcbiAgICAgICAgdW5rbm93bjogJ0ludmlzaWJsZSBvYmplY3QnLFxuICAgICAgICBtb3ZlOiAnTW92ZSBtb2RlJyxcbiAgICAgICAgcmVjdGFuZ2xlOiAnUmVjdGFuZ2xlIHNlbGVjdGlvbiBtb2RlJyxcbiAgICAgICAgbGF5b3V0OiAnTGF5b3V0JyxcbiAgICAgICAgbm9kZVJhZGl1czogJ05vZGUgcmFkaXVzJyxcbiAgICAgICAgZW1wdHk6ICdObyBkYXRhIHRvIGRpc3BsYXknXG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuIl19
|