ax-common-ui-lib 1.0.0-qa.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 +24 -0
- package/ax-common-ui-lib.d.ts +5 -0
- package/esm2020/ax-common-ui-lib.mjs +5 -0
- package/esm2020/lib/app-list/app-list-dto.mjs +29 -0
- package/esm2020/lib/app-list/app-list.component.mjs +421 -0
- package/esm2020/lib/app-list/my-app-list.service.mjs +142 -0
- package/esm2020/lib/app-list/organization-list-dto.mjs +29 -0
- package/esm2020/lib/ax-app-common-lib.component.mjs +26 -0
- package/esm2020/lib/ax-app-common-lib.module.mjs +147 -0
- package/esm2020/lib/ax-app-common-lib.service.mjs +14 -0
- package/esm2020/lib/axo-filters/axo-filters.component.mjs +422 -0
- package/esm2020/lib/axo-filters/axo-filters.module.mjs +59 -0
- package/esm2020/lib/axo-filters/axo-filters.service.mjs +85 -0
- package/esm2020/lib/axo-map/axo-map.component.mjs +40 -0
- package/esm2020/lib/axo-map/axo-map.mjs +37 -0
- package/esm2020/lib/axo-map/axo-map.module.mjs +41 -0
- package/esm2020/lib/axo-map/public-api.mjs +7 -0
- package/esm2020/lib/axo-search-bar/axo-search-bar.component.mjs +84 -0
- package/esm2020/lib/axo-search-bar/axo-search-bar.module.mjs +38 -0
- package/esm2020/lib/axo-search-bar/public.api.mjs +3 -0
- package/esm2020/lib/axo-snack-bar/axo-snack-bar.component.mjs +155 -0
- package/esm2020/lib/axo-snack-bar/axo-snack-bar.module.mjs +34 -0
- package/esm2020/lib/axo-snack-bar/axo-snack-bar.service.mjs +29 -0
- package/esm2020/lib/axo-snack-bar/public-api.mjs +3 -0
- package/esm2020/lib/axo-state-manager/axo-state-manager.module.mjs +27 -0
- package/esm2020/lib/axo-state-manager/axo-state-manager.service.mjs +37 -0
- package/esm2020/lib/axo-state-manager/public-api.mjs +3 -0
- package/esm2020/lib/axo-utils/axo-utils.mjs +149 -0
- package/esm2020/lib/axo-utils/axo-utils.module.mjs +25 -0
- package/esm2020/lib/axo-utils/constants.mjs +3 -0
- package/esm2020/lib/axo-utils/data-source-types.mjs +12 -0
- package/esm2020/lib/axo-utils/field-list-search-pipe.mjs +32 -0
- package/esm2020/lib/axo-utils/filter-search-pipe.mjs +16 -0
- package/esm2020/lib/axo-utils/public-api.mjs +2 -0
- package/esm2020/lib/axo-utils/search-pipe/choice-search.pipe.mjs +33 -0
- package/esm2020/lib/axo-utils/search-pipe.mjs +36 -0
- package/esm2020/lib/bread-crumbs/bread-crumbs.component.mjs +196 -0
- package/esm2020/lib/bread-crumbs/bread-crumbs.module.mjs +29 -0
- package/esm2020/lib/bread-crumbs/bread-crumbs.service.mjs +122 -0
- package/esm2020/lib/code-editor/code-editor-modes.mjs +11 -0
- package/esm2020/lib/code-editor/code-editor-themes.mjs +8 -0
- package/esm2020/lib/code-editor/code-editor.component.mjs +60 -0
- package/esm2020/lib/code-editor/code-editor.module.mjs +36 -0
- package/esm2020/lib/code-editor/icode-editor-options.mjs +2 -0
- package/esm2020/lib/code-editor/public-api.mjs +3 -0
- package/esm2020/lib/common-dto/attributes-dto.mjs +39 -0
- package/esm2020/lib/common-dto/dashboard-dto.mjs +12 -0
- package/esm2020/lib/common-dto/dataListFilter-dto.mjs +13 -0
- package/esm2020/lib/common-dto/elements-dto.mjs +61 -0
- package/esm2020/lib/common-dto/form-dto.mjs +48 -0
- package/esm2020/lib/common-lib-configuration.service.mjs +21 -0
- package/esm2020/lib/common-property-panel/properties/properties.service.mjs +30 -0
- package/esm2020/lib/common-utils/entity-base.mjs +12 -0
- package/esm2020/lib/common-utils/iFlatten.mjs +2 -0
- package/esm2020/lib/common-utils/report.mjs +45 -0
- package/esm2020/lib/common.service.mjs +78 -0
- package/esm2020/lib/converters/convert-to-new-service.mjs +11 -0
- package/esm2020/lib/converters/convert-to-old-service.mjs +168 -0
- package/esm2020/lib/core/auth/auth.service.mjs +146 -0
- package/esm2020/lib/core/core.module.mjs +37 -0
- package/esm2020/lib/core/icons/icons.module.mjs +255 -0
- package/esm2020/lib/core/transloco/transloco.http-loader.mjs +32 -0
- package/esm2020/lib/core/transloco/transloco.module.mjs +94 -0
- package/esm2020/lib/core/user/axo-user.mjs +46 -0
- package/esm2020/lib/core/user/user-data.service.mjs +46 -0
- package/esm2020/lib/core/user/user.service.mjs +87 -0
- package/esm2020/lib/core/user/user.types.mjs +2 -0
- package/esm2020/lib/dashboard-lib/dashboard-builder.service.mjs +56 -0
- package/esm2020/lib/dashboard-lib/dashboard-control.service.mjs +92 -0
- package/esm2020/lib/dashboard-lib/dashboard-element/dashboard-element.mjs +11 -0
- package/esm2020/lib/dashboard-lib/dashboard-element-property/dashboard-property/dashboard-element-property.mjs +9 -0
- package/esm2020/lib/dashboard-lib/dashboard-filter/dashboard-filter.component.mjs +107 -0
- package/esm2020/lib/dashboard-lib/dashboard-lib.module.mjs +111 -0
- package/esm2020/lib/dashboard-lib/dashboard-list.service.mjs +73 -0
- package/esm2020/lib/dashboard-lib/dashboard.mjs +15 -0
- package/esm2020/lib/dashboard-lib/send-to-dashboard.service.mjs +96 -0
- package/esm2020/lib/dashboard-lib/show-dashboards/show-dashboards.component.mjs +241 -0
- package/esm2020/lib/dashboard-lib/show-dashboards/show-dashboards.service.mjs +32 -0
- package/esm2020/lib/data-view-lib/data-view/axo-card.mjs +26 -0
- package/esm2020/lib/data-view-lib/data-view/axo-tag.mjs +48 -0
- package/esm2020/lib/data-view-lib/data-view/board-column.mjs +24 -0
- package/esm2020/lib/data-view-lib/data-view/board-view.mjs +45 -0
- package/esm2020/lib/data-view-lib/data-view/cardConfig.mjs +26 -0
- package/esm2020/lib/data-view-lib/data-view/conditional-formatting.mjs +25 -0
- package/esm2020/lib/data-view-lib/data-view/coordinate.mjs +21 -0
- package/esm2020/lib/data-view-lib/data-view/data-view-enums.mjs +68 -0
- package/esm2020/lib/data-view-lib/data-view/data-view-filter.mjs +47 -0
- package/esm2020/lib/data-view-lib/data-view/data-view.mjs +66 -0
- package/esm2020/lib/data-view-lib/data-view/idata-view.mjs +2 -0
- package/esm2020/lib/data-view-lib/data-view/image-style.mjs +21 -0
- package/esm2020/lib/data-view-lib/data-view/info-window.mjs +23 -0
- package/esm2020/lib/data-view-lib/data-view/location.mjs +21 -0
- package/esm2020/lib/data-view-lib/data-view/map-view.mjs +41 -0
- package/esm2020/lib/data-view-lib/data-view/prefix-style.mjs +28 -0
- package/esm2020/lib/data-view-lib/data-view/tag-style.mjs +28 -0
- package/esm2020/lib/data-view-lib/data-view/tagConfig.mjs +63 -0
- package/esm2020/lib/data-view-lib/data-view/task-asset-form-object-dto.mjs +72 -0
- package/esm2020/lib/data-view-lib/data-view/task-column-value.mjs +43 -0
- package/esm2020/lib/data-view-lib/data-view/task-view.mjs +31 -0
- package/esm2020/lib/data-view-lib/data-view/task.mjs +199 -0
- package/esm2020/lib/data-view-lib/data-view/value-style.mjs +25 -0
- package/esm2020/lib/data-view-lib/data-view-filters/data-view-filters.component.mjs +661 -0
- package/esm2020/lib/data-view-lib/data-view-filters/data-view-filters.service.mjs +102 -0
- package/esm2020/lib/data-view-lib/data-view-header/data-view-header.component.mjs +536 -0
- package/esm2020/lib/data-view-lib/data-view-lib.module.mjs +88 -0
- package/esm2020/lib/data-view-lib/data-view.service.mjs +211 -0
- package/esm2020/lib/data-view-lib/public-api.mjs +28 -0
- package/esm2020/lib/directive/adjust-font-size.mjs +49 -0
- package/esm2020/lib/drill-through/drill-through.component.mjs +153 -0
- package/esm2020/lib/drill-through/drill-through.module.mjs +33 -0
- package/esm2020/lib/drill-through/drill-through.resolver.mjs +80 -0
- package/esm2020/lib/drill-through/drill-through.service.mjs +218 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-column.mjs +37 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-list.mjs +37 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-range-value.mjs +37 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-range.mjs +34 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-time-list.mjs +36 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-time-range-value.mjs +37 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-time-range.mjs +34 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-time.mjs +36 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-value.mjs +36 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-number-list.mjs +36 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-number-range-value.mjs +37 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-number-value.mjs +36 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-text-list.mjs +36 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-text.mjs +36 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-time-list.mjs +36 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-time-range-value.mjs +37 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-time-range.mjs +38 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-time.mjs +36 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-toggle.mjs +36 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-expression-value.mjs +32 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-expression.mjs +415 -0
- package/esm2020/lib/enlighten-lib/ax-expression/ax-number-range.mjs +34 -0
- package/esm2020/lib/enlighten-lib/ax-expression/exp-sub-type.mjs +29 -0
- package/esm2020/lib/enlighten-lib/ax-expression/public-api.mjs +24 -0
- package/esm2020/lib/enlighten-lib/data-model/attribute.mjs +247 -0
- package/esm2020/lib/enlighten-lib/data-model/data-model.mjs +52 -0
- package/esm2020/lib/enlighten-lib/data-model/dependee.mjs +24 -0
- package/esm2020/lib/enlighten-lib/data-model/dependent.mjs +24 -0
- package/esm2020/lib/enlighten-lib/data-model/entity.mjs +71 -0
- package/esm2020/lib/enlighten-lib/data-model-tree/attributes-dragdrop-layout/attributes-dragdrop-layout.component.mjs +100 -0
- package/esm2020/lib/enlighten-lib/data-model-tree/attributes-selection-layout/attributes-selection-layout.component.mjs +100 -0
- package/esm2020/lib/enlighten-lib/data-model-tree/categories-tree/categories-tree.component.mjs +113 -0
- package/esm2020/lib/enlighten-lib/data-model-tree/data-model-tree-enums.mjs +6 -0
- package/esm2020/lib/enlighten-lib/data-model-tree/data-model-tree.component.mjs +301 -0
- package/esm2020/lib/enlighten-lib/data-model-tree/data-model-tree.module.mjs +67 -0
- package/esm2020/lib/enlighten-lib/elements/Property.mjs +3 -0
- package/esm2020/lib/enlighten-lib/elements/ax-element.mjs +55 -0
- package/esm2020/lib/enlighten-lib/elements/element-factory.mjs +38 -0
- package/esm2020/lib/enlighten-lib/enlighten-lib.module.mjs +308 -0
- package/esm2020/lib/enlighten-lib/enums/bread-crumbs-style.mjs +6 -0
- package/esm2020/lib/enlighten-lib/enums/operator-text-enum.mjs +11 -0
- package/esm2020/lib/enlighten-lib/fields/attribute-data.mjs +167 -0
- package/esm2020/lib/enlighten-lib/fields/entity.mjs +16 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-audio.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-barcode.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-childrecord.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-counter.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-date.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-decimal.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-document.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-file.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-image.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-location.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-number.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-qrcode.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-signature.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-staticmedia.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-text.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-time.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ax-uniqueid.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/axo-timestamp.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/choicelist.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/datetime.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/hyperlink.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/ienlighten-type.mjs +2 -0
- package/esm2020/lib/enlighten-lib/fields/types/toggle.mjs +6 -0
- package/esm2020/lib/enlighten-lib/fields/types/video.mjs +6 -0
- package/esm2020/lib/enlighten-lib/filters/ax-filter.mjs +74 -0
- package/esm2020/lib/enlighten-lib/filters/ax-operator.mjs +88 -0
- package/esm2020/lib/enlighten-lib/filters/chart-filter-type.mjs +7 -0
- package/esm2020/lib/enlighten-lib/filters/condition-type.mjs +49 -0
- package/esm2020/lib/enlighten-lib/filters/dataList-searchNode.mjs +48 -0
- package/esm2020/lib/enlighten-lib/filters/dataListFilterExpression.mjs +32 -0
- package/esm2020/lib/enlighten-lib/filters/dataListFilterOperator.mjs +43 -0
- package/esm2020/lib/enlighten-lib/filters/dataListSeachQueryTree.mjs +25 -0
- package/esm2020/lib/enlighten-lib/filters/filter-category.mjs +78 -0
- package/esm2020/lib/enlighten-lib/filters/general-filter-type.mjs +13 -0
- package/esm2020/lib/enlighten-lib/filters/gridster-properties.mjs +31 -0
- package/esm2020/lib/enlighten-lib/filters/iax-filter.mjs +2 -0
- package/esm2020/lib/enlighten-lib/filters/search-node.mjs +50 -0
- package/esm2020/lib/enlighten-lib/filters/static-widget.mjs +24 -0
- package/esm2020/lib/enlighten-lib/property/element-property.mjs +11 -0
- package/esm2020/lib/enlighten-lib/property/filter-category-property.mjs +9 -0
- package/esm2020/lib/enlighten-lib/property/filter-property.mjs +9 -0
- package/esm2020/lib/enlighten-lib/report/chart-filter/chart-filter.component.mjs +393 -0
- package/esm2020/lib/enlighten-lib/report/element.service.mjs +115 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/bar-chart/bar-chart.component.mjs +1002 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/bar-chart/bar-chart.mjs +144 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/bar-chart/bar-chart.service.mjs +15 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/card-chart/card-chart.component.mjs +576 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/card-chart/card-chart.mjs +66 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/card-chart/card-chart.service.mjs +15 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/border.mjs +18 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/chart-factory.mjs +80 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/chart-property.mjs +4 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/chart-type.mjs +15 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/chart.mjs +123 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/common-chart.service.mjs +32 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/conditional-formatting.mjs +8 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/dimension.mjs +8 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/font.mjs +32 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/fontStyle.mjs +28 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/label.mjs +6 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/legend.mjs +28 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/matrix.mjs +26 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/shadow.mjs +7 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/style.mjs +14 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/text-style.mjs +34 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/chart/title.mjs +12 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/graphical-report.component.mjs +357 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/graphical-report.directive.mjs +16 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/ichart-component.mjs +2 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/igraphical-report.component.mjs +2 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/line-chart/line-chart.component.mjs +856 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/line-chart/line-chart.mjs +97 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/line-chart/line-chart.service.mjs +15 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/page/page.mjs +48 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/pie-chart/pie-chart.component.mjs +934 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/pie-chart/pie-chart.mjs +103 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/pie-chart/pie-chart.service.mjs +15 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/text/text-chart.mjs +56 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/text/text.component.mjs +302 -0
- package/esm2020/lib/enlighten-lib/report/graphical-report/text/text.service.mjs +15 -0
- package/esm2020/lib/enlighten-lib/report/iproperty.component.mjs +8 -0
- package/esm2020/lib/enlighten-lib/report/ireport.mjs +14 -0
- package/esm2020/lib/enlighten-lib/report/report-builder-master.service.mjs +83 -0
- package/esm2020/lib/enlighten-lib/report/report-filter/report-filter.component.mjs +313 -0
- package/esm2020/lib/enlighten-lib/report/report-filter/report-filter.module.mjs +71 -0
- package/esm2020/lib/enlighten-lib/report/report-filter/report-filter.service.mjs +246 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/aggregate.mjs +10 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/axo-percentage.pipe.mjs +26 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/column-style.mjs +7 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/itabular-report.component.mjs +2 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/orderby-type.mjs +7 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/row-style.mjs +7 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/table-style.mjs +47 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/tabular/column-group-view/column-group-view.component.mjs +4464 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/tabular/detail-group-view/detail-group-view.component.mjs +1583 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/tabular/resize-column-directive.mjs +70 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/tabular/row-group-view/row-group-view.component.mjs +1837 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/tabular/tabular.component.mjs +756 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/tabular-report.component.mjs +156 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/tabular-report.mjs +245 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/tabular-report.service.mjs +960 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/tabular.mjs +196 -0
- package/esm2020/lib/enlighten-lib/report/tabular-report/value-formatting.mjs +9 -0
- package/esm2020/lib/enlighten-lib/report-control.service.mjs +41 -0
- package/esm2020/lib/enlighten-lib/utils/utils.mjs +26 -0
- package/esm2020/lib/field-list-lib/fields-list.service.mjs +299 -0
- package/esm2020/lib/filters/calender-filter/calender-filter.component.mjs +351 -0
- package/esm2020/lib/filters/category-filter/category-filter.component.mjs +207 -0
- package/esm2020/lib/filters/category-filter/category-filter.service.mjs +31 -0
- package/esm2020/lib/filters/category-filter/category.service.mjs +45 -0
- package/esm2020/lib/filters/choice-list-filter/choice-list-filter.component.mjs +178 -0
- package/esm2020/lib/filters/choice-list-filter/choice-list-filter.service.mjs +53 -0
- package/esm2020/lib/filters/common-filter/common-filter.component.mjs +310 -0
- package/esm2020/lib/filters/common-filter/common-filter.service.mjs +106 -0
- package/esm2020/lib/filters/custom-scroll-directives.mjs +45 -0
- package/esm2020/lib/filters/date-time-filter/date-time-filter.component.mjs +345 -0
- package/esm2020/lib/filters/filter-footer/filter-footer.component.mjs +62 -0
- package/esm2020/lib/filters/filters.component.mjs +688 -0
- package/esm2020/lib/filters/filters.module.mjs +196 -0
- package/esm2020/lib/filters/filters.service.mjs +147 -0
- package/esm2020/lib/filters/meta-column-filter-builder/meta-column-filter-builder.service.mjs +202 -0
- package/esm2020/lib/filters/metaColumnTypes.mjs +36 -0
- package/esm2020/lib/filters/multi-select-filter/multi-select-filter.component.mjs +211 -0
- package/esm2020/lib/filters/multi-select-filter/multi-select-filter.service.mjs +214 -0
- package/esm2020/lib/filters/number-filter/number-filter.component.mjs +321 -0
- package/esm2020/lib/filters/public-api.mjs +15 -0
- package/esm2020/lib/filters/reference-list-filter/reference-list-filter.component.mjs +180 -0
- package/esm2020/lib/filters/reference-list-filter/reference-list-filter.service.mjs +151 -0
- package/esm2020/lib/filters/single-select-filter/single-select-filter.component.mjs +177 -0
- package/esm2020/lib/filters/time-filter/time-filter.component.mjs +301 -0
- package/esm2020/lib/filters/user-filter/user-filter.component.mjs +178 -0
- package/esm2020/lib/filters/user-filter/user-filter.service.mjs +62 -0
- package/esm2020/lib/form-object/form-object-list/form-object-list-filter/form-object-list-filter.component.mjs +346 -0
- package/esm2020/lib/form-object/form-object-list/form-object-list-filter/form-object-list-filter.service.mjs +105 -0
- package/esm2020/lib/form-object/form-object-list/form-object-list-header/form-object-list-header.component.mjs +41 -0
- package/esm2020/lib/form-object/form-object-list/form-object-list-header/widget-header-type-handler.mjs +10 -0
- package/esm2020/lib/form-object/form-object-list/form-object-list-header/widgets/text-box-header/text-box-header.component.mjs +21 -0
- package/esm2020/lib/form-object/form-object-list/form-object-list-header/widgets-header.directive.mjs +16 -0
- package/esm2020/lib/form-object/form-object-list/form-object-list.component.mjs +823 -0
- package/esm2020/lib/form-object/form-object-list/form-object-list.mjs +211 -0
- package/esm2020/lib/form-object/form-object-list/form-object-list.module.mjs +224 -0
- package/esm2020/lib/form-object/form-object-list/form-object-list.service.mjs +171 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/form-object-value-handler.mjs +94 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/form-object-value.directive.mjs +16 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/form-object-widget-value.component.mjs +60 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-apply-geo-fence-value/formobject-apply-geo-fence-value.component.mjs +33 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-audio-value/formobject-audio-value.component.mjs +40 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-auto-number-value/formobject-auto-number-value.component.mjs +31 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-bar-code-value/formobject-bar-code-value.component.mjs +98 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-child-records-value/formobject-child-records-value.component.mjs +86 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-choicelist-value/formobject-choicelist-value.component.mjs +180 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-counter-value/formobject-counter-value.component.mjs +45 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-date-time-value/formobject-date-time-value.component.mjs +54 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-document-value/formobject-document-value.component.mjs +163 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-formula-value/formobject-formula-value.component.mjs +45 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-geo-fence-value/formobject-geo-fence-value.component.mjs +61 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-gps-value/formobject-gps-value.component.mjs +64 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-group-header-value/formobject-group-header-value.component.mjs +21 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-image-value/formobject-image-value.component.mjs +119 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-languages-value/formobject-languages-value.component.mjs +37 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-payment-value/formobject-payment-value.component.mjs +21 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-qr-code-value/formobject-qr-code-value.component.mjs +98 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-signature-value/formobject-signature-value.component.mjs +60 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-static-media-value/formobject-static-media-value.component.mjs +62 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-stop-watch-value/formobject-stop-watch-value.component.mjs +24 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-sub-form-value/formobject-sub-form-value.component.mjs +19 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-textbox-value/formobject-textbox-value.component.mjs +49 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-time-stamp-value/formobject-time-stamp-value.component.mjs +50 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-toggle-value/formobject-toggle-value.component.mjs +25 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-unique-id-value/formobject-unique-id-value.component.mjs +33 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-verification-value/formobject-verification-value.component.mjs +60 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-video-value/formobject-video-value.component.mjs +65 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-web-link-value/formobject-web-link-value.component.mjs +28 -0
- package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-widget-mat-dialog/formobject-widget-mat-dialog.component.mjs +89 -0
- package/esm2020/lib/form-object/form-object-view/data-detail-view-dto.mjs +55 -0
- package/esm2020/lib/form-object/form-object-view/dynamic-view/dynamic-view.component.mjs +85 -0
- package/esm2020/lib/form-object/form-object-view/dynamic-view/dynamic-view.directive.mjs +16 -0
- package/esm2020/lib/form-object/form-object-view/form-object-view.component.mjs +209 -0
- package/esm2020/lib/form-object/form-object-view/form-object-view.module.mjs +273 -0
- package/esm2020/lib/form-object/form-object-view/form-object-view.service.mjs +268 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/apply-geo-fence-widget-view/apply-geo-fence-widget-view.component.mjs +83 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/audio-widget-view/audio-widget-view.component.mjs +92 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/auto-number-widget-view/auto-number-widget-view.component.mjs +68 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/bar-code-widget-view/bar-code-widget-view.component.mjs +155 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/child-records-widget-view/child-records-widget-view.component.mjs +158 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/choice-list-widget-view/choice-list-widget-view.component.mjs +248 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/counter-widget-view/counter-widget-view.component.mjs +93 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/date-time-widget-view/date-time-widget-view.component.mjs +179 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/document-widget-view/document-widget-view.component.mjs +210 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/form-object-widget-type-handler.mjs +93 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/form-object-widgets-view.component.mjs +58 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/form-object-widgets-view.directive.mjs +16 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/formula-widget-view/formula-widget-view.component.mjs +76 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/geo-fence-widget-view/geo-fence-widget-view.component.mjs +89 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/gps-widget-view/gps-widget-view.component.mjs +263 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/group-header-widget-view/group-header-widget-view.component.mjs +17 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-annotation-data-dto.mjs +335 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-map-view/image-map-view.component.mjs +270 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-widget-lightbox-view/image-widget-lightbox-view.component.mjs +498 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-widget-view.component.mjs +203 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/language-widget-view/language-widget-view.component.mjs +70 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/payment-widget-view/payment-widget-view.component.mjs +21 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/qr-code-widget-view/qr-code-widget-view.component.mjs +146 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/signature-widget-view/signature-widget-view.component.mjs +92 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/static-media-widget-view/static-media-widget-view.component.mjs +84 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/stop-watch-widget-view/stop-watch-widget-view.component.mjs +82 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/sub-form-widget-view/sub-form-widget-view.component.mjs +93 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/text-box-widget-view/text-box-widget-view.component.mjs +144 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/time-stamp-widget-view/time-stamp-widget-view.component.mjs +95 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/toggle-widget-view/toggle-widget-view.component.mjs +83 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/unique-id-widget-view/unique-id-widget-view.component.mjs +82 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/verification-widget-view/verification-widget-view.component.mjs +79 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/video-widget-view/video-widget-view.component.mjs +113 -0
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/web-link-widget-view/web-link-widget-view.component.mjs +89 -0
- package/esm2020/lib/form-object/form-object-view/meta-section/meta-section.component.mjs +157 -0
- package/esm2020/lib/form-object/form-object-view/section/section.component.mjs +75 -0
- package/esm2020/lib/form-object/form-object-view/section-field/section-field.component.mjs +30 -0
- package/esm2020/lib/form-object/form-object-view/section-view/section-view.component.mjs +110 -0
- package/esm2020/lib/form-object/public-api.mjs +3 -0
- package/esm2020/lib/form-permission.service.mjs +106 -0
- package/esm2020/lib/forms/ax-form.mjs +212 -0
- package/esm2020/lib/forms/iform.mjs +2 -0
- package/esm2020/lib/forms/page/common/axo-response-status.mjs +6 -0
- package/esm2020/lib/forms/page/common/constants.mjs +399 -0
- package/esm2020/lib/forms/page/common/detail-view-enums.mjs +8 -0
- package/esm2020/lib/forms/page/common/flatten-status-enum.mjs +10 -0
- package/esm2020/lib/forms/page/common/form.constant.mjs +87 -0
- package/esm2020/lib/forms/page/common/property-panel-field.mjs +5 -0
- package/esm2020/lib/forms/page/common/widget-enums.mjs +269 -0
- package/esm2020/lib/forms/page/common/widget-value-handler.mjs +321 -0
- package/esm2020/lib/forms/page/data-detail-view/ax-section.mjs +51 -0
- package/esm2020/lib/forms/page/data-detail-view/collection-view.mjs +30 -0
- package/esm2020/lib/forms/page/data-detail-view/data-details.mjs +60 -0
- package/esm2020/lib/forms/page/data-detail-view/section-field.mjs +32 -0
- package/esm2020/lib/forms/page/data-detail-view/section.mjs +33 -0
- package/esm2020/lib/forms/page/data-list/data-list-column.mjs +45 -0
- package/esm2020/lib/forms/page/data-list/data-list.mjs +64 -0
- package/esm2020/lib/forms/page/form-object.mjs +17 -0
- package/esm2020/lib/forms/page/form-page.mjs +28 -0
- package/esm2020/lib/forms/page/value-converters/displayMode-to-bool.mjs +16 -0
- package/esm2020/lib/forms/page/value-converters/form-type-converter.mjs +23 -0
- package/esm2020/lib/forms/page/value-converters/geo-fence-value-converter.mjs +24 -0
- package/esm2020/lib/forms/page/value-converters/image-annotation-value-converter.mjs +20 -0
- package/esm2020/lib/forms/page/value-converters/language-source-value-converter.mjs +24 -0
- package/esm2020/lib/forms/page/value-converters/list-view-title-converter.mjs +20 -0
- package/esm2020/lib/forms/page/value-converters/parse-float-converter.mjs +15 -0
- package/esm2020/lib/forms/page/value-converters/parse-int-converter.mjs +20 -0
- package/esm2020/lib/forms/page/value-converters/parse-string-converter.mjs +20 -0
- package/esm2020/lib/forms/page/value-converters/publicUrls-string-to-array.mjs +20 -0
- package/esm2020/lib/forms/page/value-converters/record-limit-type-converter.mjs +23 -0
- package/esm2020/lib/forms/page/value-converters/restriction-mode-converter.mjs +23 -0
- package/esm2020/lib/forms/page/value-converters/string-to-bool-converter.mjs +16 -0
- package/esm2020/lib/forms/page/value-converters/string-to-bool-value-converter.mjs +16 -0
- package/esm2020/lib/forms/page/value-converters/string-to-date-time-converter.mjs +19 -0
- package/esm2020/lib/forms/page/value-converters/string-to-number -converter.mjs +20 -0
- package/esm2020/lib/forms/page/value-converters/textBox-mask-converter.mjs +16 -0
- package/esm2020/lib/forms/page/value-converters/validate-converter.mjs +20 -0
- package/esm2020/lib/forms/page/value-converters/value-without-mask-converter.mjs +20 -0
- package/esm2020/lib/forms/page/value-converters/widget-concrete-class-converter.mjs +22 -0
- package/esm2020/lib/forms/page/value-converters/widget-deserializer.mjs +149 -0
- package/esm2020/lib/forms/page/widgets/apply-geofences.mjs +65 -0
- package/esm2020/lib/forms/page/widgets/auto-number.mjs +87 -0
- package/esm2020/lib/forms/page/widgets/ax-audio.mjs +154 -0
- package/esm2020/lib/forms/page/widgets/ax-document.mjs +149 -0
- package/esm2020/lib/forms/page/widgets/ax-image.mjs +183 -0
- package/esm2020/lib/forms/page/widgets/bar-code.mjs +212 -0
- package/esm2020/lib/forms/page/widgets/child-record.mjs +193 -0
- package/esm2020/lib/forms/page/widgets/choicelist.mjs +375 -0
- package/esm2020/lib/forms/page/widgets/counter.mjs +69 -0
- package/esm2020/lib/forms/page/widgets/datetime.mjs +247 -0
- package/esm2020/lib/forms/page/widgets/formula.mjs +106 -0
- package/esm2020/lib/forms/page/widgets/geofence.mjs +127 -0
- package/esm2020/lib/forms/page/widgets/gps.mjs +192 -0
- package/esm2020/lib/forms/page/widgets/group-header.mjs +200 -0
- package/esm2020/lib/forms/page/widgets/languages.mjs +129 -0
- package/esm2020/lib/forms/page/widgets/link.mjs +107 -0
- package/esm2020/lib/forms/page/widgets/payment.mjs +104 -0
- package/esm2020/lib/forms/page/widgets/qr-code.mjs +129 -0
- package/esm2020/lib/forms/page/widgets/script-condition.mjs +115 -0
- package/esm2020/lib/forms/page/widgets/signature.mjs +81 -0
- package/esm2020/lib/forms/page/widgets/static-media.mjs +130 -0
- package/esm2020/lib/forms/page/widgets/stopwatch.mjs +117 -0
- package/esm2020/lib/forms/page/widgets/sub-form.mjs +114 -0
- package/esm2020/lib/forms/page/widgets/textbox.mjs +338 -0
- package/esm2020/lib/forms/page/widgets/timestamp.mjs +155 -0
- package/esm2020/lib/forms/page/widgets/toggle.mjs +115 -0
- package/esm2020/lib/forms/page/widgets/unique-id.mjs +75 -0
- package/esm2020/lib/forms/page/widgets/verification.mjs +207 -0
- package/esm2020/lib/forms/page/widgets/video.mjs +151 -0
- package/esm2020/lib/forms/page/widgets/widget-value/apply-geo-fence-widget-value.mjs +74 -0
- package/esm2020/lib/forms/page/widgets/widget-value/audio-video-widget-value.mjs +36 -0
- package/esm2020/lib/forms/page/widgets/widget-value/child-record-value.mjs +114 -0
- package/esm2020/lib/forms/page/widgets/widget-value/choice-list-options.mjs +84 -0
- package/esm2020/lib/forms/page/widgets/widget-value/choices-ml.mjs +107 -0
- package/esm2020/lib/forms/page/widgets/widget-value/dateRangeValue.mjs +38 -0
- package/esm2020/lib/forms/page/widgets/widget-value/deviceProfileParams.mjs +9 -0
- package/esm2020/lib/forms/page/widgets/widget-value/deviceProfilesTemp.mjs +72 -0
- package/esm2020/lib/forms/page/widgets/widget-value/document-widget-value.mjs +56 -0
- package/esm2020/lib/forms/page/widgets/widget-value/geo-fence-location-value.mjs +54 -0
- package/esm2020/lib/forms/page/widgets/widget-value/geo-fence-widget-value.mjs +50 -0
- package/esm2020/lib/forms/page/widgets/widget-value/gps-widget-value.mjs +58 -0
- package/esm2020/lib/forms/page/widgets/widget-value/image-widget-value.mjs +99 -0
- package/esm2020/lib/forms/page/widgets/widget-value/language-widget-value.mjs +43 -0
- package/esm2020/lib/forms/page/widgets/widget-value/location-object-value.mjs +44 -0
- package/esm2020/lib/forms/page/widgets/widget-value/multiple-languages.mjs +106 -0
- package/esm2020/lib/forms/page/widgets/widget-value/reference-list-object-value.mjs +72 -0
- package/esm2020/lib/forms/page/widgets/widget-value/verification-widget-value.mjs +126 -0
- package/esm2020/lib/forms/page/widgets/widget.mjs +429 -0
- package/esm2020/lib/ghost-loader/ghost-loader.component.mjs +708 -0
- package/esm2020/lib/ghost-loader/ghost-loader.module.mjs +27 -0
- package/esm2020/lib/ghost-loader/public-api.mjs +3 -0
- package/esm2020/lib/map-dialog/map-dialog.component.mjs +46 -0
- package/esm2020/lib/map-dialog/map-dialog.module.mjs +39 -0
- package/esm2020/lib/map-dialog/public-api.mjs +6 -0
- package/esm2020/lib/reports-container/public-api.mjs +8 -0
- package/esm2020/lib/reports-container/report-group/report-group.component.mjs +77 -0
- package/esm2020/lib/reports-container/reports-container-models/report-group.mjs +42 -0
- package/esm2020/lib/reports-container/reports-container-models/report-property.mjs +30 -0
- package/esm2020/lib/reports-container/reports-container-models/reports-container-enums.mjs +16 -0
- package/esm2020/lib/reports-container/reports-container-models/reports-container.mjs +29 -0
- package/esm2020/lib/reports-container/reports-container.component.mjs +60 -0
- package/esm2020/lib/reports-container/reports-container.module.mjs +52 -0
- package/esm2020/lib/reports-container/reports-container.service.mjs +29 -0
- package/esm2020/lib/scrollbar/index.mjs +3 -0
- package/esm2020/lib/scrollbar/public-api.mjs +3 -0
- package/esm2020/lib/scrollbar/scrollbar.directive.mjs +351 -0
- package/esm2020/lib/scrollbar/scrollbar.module.mjs +21 -0
- package/esm2020/lib/scrollbar/scrollbar.types.mjs +15 -0
- package/esm2020/lib/sculptor-lib/widgets/audio/audio.component.mjs +115 -0
- package/esm2020/lib/sculptor-lib/widgets/barcode/barcode.component.mjs +118 -0
- package/esm2020/lib/sculptor-lib/widgets/child-record/child-record.component.mjs +115 -0
- package/esm2020/lib/sculptor-lib/widgets/choice-list/choice-list.component.mjs +105 -0
- package/esm2020/lib/sculptor-lib/widgets/date-time/date-time.component.mjs +136 -0
- package/esm2020/lib/sculptor-lib/widgets/document/document.component.mjs +118 -0
- package/esm2020/lib/sculptor-lib/widgets/geofence/geofence.component.mjs +115 -0
- package/esm2020/lib/sculptor-lib/widgets/gps/gps.component.mjs +115 -0
- package/esm2020/lib/sculptor-lib/widgets/group-header/group-header.component.mjs +109 -0
- package/esm2020/lib/sculptor-lib/widgets/image/image.component.mjs +131 -0
- package/esm2020/lib/sculptor-lib/widgets/language/language.component.mjs +105 -0
- package/esm2020/lib/sculptor-lib/widgets/link/link.component.mjs +115 -0
- package/esm2020/lib/sculptor-lib/widgets/qr-code/qr-code.component.mjs +118 -0
- package/esm2020/lib/sculptor-lib/widgets/stopwatch/stopwatch.component.mjs +105 -0
- package/esm2020/lib/sculptor-lib/widgets/subform/subform.component.mjs +109 -0
- package/esm2020/lib/sculptor-lib/widgets/textbox/textbox.component.mjs +177 -0
- package/esm2020/lib/sculptor-lib/widgets/timestamp/timestamp.component.mjs +115 -0
- package/esm2020/lib/sculptor-lib/widgets/toggle/toggle.component.mjs +112 -0
- package/esm2020/lib/sculptor-lib/widgets/video/video.component.mjs +118 -0
- package/esm2020/lib/sculptor-lib/widgets/widgets.service.mjs +58 -0
- package/esm2020/lib/shared/comfirmation-modal/confirmation-modal.component.mjs +63 -0
- package/esm2020/lib/shared/conditional-formatting/conditional-formatting/conditional-formatting.component.mjs +83 -0
- package/esm2020/lib/shared/shared.module.mjs +51 -0
- package/esm2020/public-api.mjs +138 -0
- package/fesm2015/ax-common-ui-lib.mjs +56598 -0
- package/fesm2015/ax-common-ui-lib.mjs.map +1 -0
- package/fesm2020/ax-common-ui-lib.mjs +52373 -0
- package/fesm2020/ax-common-ui-lib.mjs.map +1 -0
- package/lib/app-list/app-list-dto.d.ts +15 -0
- package/lib/app-list/app-list.component.d.ts +62 -0
- package/lib/app-list/my-app-list.service.d.ts +69 -0
- package/lib/app-list/organization-list-dto.d.ts +15 -0
- package/lib/ax-app-common-lib.component.d.ts +8 -0
- package/lib/ax-app-common-lib.module.d.ts +24 -0
- package/lib/ax-app-common-lib.service.d.ts +6 -0
- package/lib/axo-filters/axo-filters.component.d.ts +86 -0
- package/lib/axo-filters/axo-filters.module.d.ts +16 -0
- package/lib/axo-filters/axo-filters.service.d.ts +36 -0
- package/lib/axo-map/axo-map.component.d.ts +9 -0
- package/lib/axo-map/axo-map.d.ts +14 -0
- package/lib/axo-map/axo-map.module.d.ts +10 -0
- package/lib/axo-map/public-api.d.ts +6 -0
- package/lib/axo-search-bar/axo-search-bar.component.d.ts +21 -0
- package/lib/axo-search-bar/axo-search-bar.module.d.ts +10 -0
- package/lib/axo-search-bar/public.api.d.ts +2 -0
- package/lib/axo-snack-bar/axo-snack-bar.component.d.ts +20 -0
- package/lib/axo-snack-bar/axo-snack-bar.module.d.ts +9 -0
- package/lib/axo-snack-bar/axo-snack-bar.service.d.ts +16 -0
- package/lib/axo-snack-bar/public-api.d.ts +2 -0
- package/lib/axo-state-manager/axo-state-manager.module.d.ts +7 -0
- package/lib/axo-state-manager/axo-state-manager.service.d.ts +15 -0
- package/lib/axo-state-manager/public-api.d.ts +2 -0
- package/lib/axo-utils/axo-utils.d.ts +72 -0
- package/lib/axo-utils/axo-utils.module.d.ts +10 -0
- package/lib/axo-utils/constants.d.ts +2 -0
- package/lib/axo-utils/data-source-types.d.ts +10 -0
- package/lib/axo-utils/field-list-search-pipe.d.ts +7 -0
- package/lib/axo-utils/filter-search-pipe.d.ts +7 -0
- package/lib/axo-utils/public-api.d.ts +1 -0
- package/lib/axo-utils/search-pipe/choice-search.pipe.d.ts +7 -0
- package/lib/axo-utils/search-pipe.d.ts +7 -0
- package/lib/bread-crumbs/bread-crumbs.component.d.ts +48 -0
- package/lib/bread-crumbs/bread-crumbs.module.d.ts +9 -0
- package/lib/bread-crumbs/bread-crumbs.service.d.ts +76 -0
- package/lib/code-editor/code-editor-modes.d.ts +9 -0
- package/lib/code-editor/code-editor-themes.d.ts +6 -0
- package/lib/code-editor/code-editor.component.d.ts +20 -0
- package/lib/code-editor/code-editor.module.d.ts +10 -0
- package/lib/code-editor/icode-editor-options.d.ts +51 -0
- package/lib/code-editor/public-api.d.ts +2 -0
- package/lib/common-dto/attributes-dto.d.ts +24 -0
- package/lib/common-dto/dashboard-dto.d.ts +10 -0
- package/lib/common-dto/dataListFilter-dto.d.ts +10 -0
- package/lib/common-dto/elements-dto.d.ts +51 -0
- package/lib/common-dto/form-dto.d.ts +17 -0
- package/lib/common-lib-configuration.service.d.ts +13 -0
- package/lib/common-property-panel/properties/properties.service.d.ts +18 -0
- package/lib/common-utils/entity-base.d.ts +10 -0
- package/lib/common-utils/iFlatten.d.ts +13 -0
- package/lib/common-utils/report.d.ts +26 -0
- package/lib/common.service.d.ts +50 -0
- package/lib/converters/convert-to-new-service.d.ts +6 -0
- package/lib/converters/convert-to-old-service.d.ts +26 -0
- package/lib/core/auth/auth.service.d.ts +75 -0
- package/lib/core/core.module.d.ts +12 -0
- package/lib/core/icons/icons.module.d.ts +14 -0
- package/lib/core/transloco/transloco.http-loader.d.ts +19 -0
- package/lib/core/transloco/transloco.module.d.ts +7 -0
- package/lib/core/user/axo-user.d.ts +9 -0
- package/lib/core/user/user-data.service.d.ts +25 -0
- package/lib/core/user/user.service.d.ts +45 -0
- package/lib/core/user/user.types.d.ts +9 -0
- package/lib/dashboard-lib/dashboard-builder.service.d.ts +27 -0
- package/lib/dashboard-lib/dashboard-control.service.d.ts +31 -0
- package/lib/dashboard-lib/dashboard-element/dashboard-element.d.ts +9 -0
- package/lib/dashboard-lib/dashboard-element-property/dashboard-property/dashboard-element-property.d.ts +7 -0
- package/lib/dashboard-lib/dashboard-filter/dashboard-filter.component.d.ts +37 -0
- package/lib/dashboard-lib/dashboard-lib.module.d.ts +26 -0
- package/lib/dashboard-lib/dashboard-list.service.d.ts +24 -0
- package/lib/dashboard-lib/dashboard.d.ts +14 -0
- package/lib/dashboard-lib/send-to-dashboard.service.d.ts +39 -0
- package/lib/dashboard-lib/show-dashboards/show-dashboards.component.d.ts +53 -0
- package/lib/dashboard-lib/show-dashboards/show-dashboards.service.d.ts +11 -0
- package/lib/data-view-lib/data-view/axo-card.d.ts +11 -0
- package/lib/data-view-lib/data-view/axo-tag.d.ts +26 -0
- package/lib/data-view-lib/data-view/board-column.d.ts +12 -0
- package/lib/data-view-lib/data-view/board-view.d.ts +23 -0
- package/lib/data-view-lib/data-view/cardConfig.d.ts +11 -0
- package/lib/data-view-lib/data-view/conditional-formatting.d.ts +11 -0
- package/lib/data-view-lib/data-view/coordinate.d.ts +8 -0
- package/lib/data-view-lib/data-view/data-view-enums.d.ts +58 -0
- package/lib/data-view-lib/data-view/data-view-filter.d.ts +25 -0
- package/lib/data-view-lib/data-view/data-view.d.ts +33 -0
- package/lib/data-view-lib/data-view/idata-view.d.ts +7 -0
- package/lib/data-view-lib/data-view/image-style.d.ts +8 -0
- package/lib/data-view-lib/data-view/info-window.d.ts +10 -0
- package/lib/data-view-lib/data-view/location.d.ts +8 -0
- package/lib/data-view-lib/data-view/map-view.d.ts +21 -0
- package/lib/data-view-lib/data-view/prefix-style.d.ts +12 -0
- package/lib/data-view-lib/data-view/tag-style.d.ts +12 -0
- package/lib/data-view-lib/data-view/tagConfig.d.ts +34 -0
- package/lib/data-view-lib/data-view/task-asset-form-object-dto.d.ts +19 -0
- package/lib/data-view-lib/data-view/task-column-value.d.ts +48 -0
- package/lib/data-view-lib/data-view/task-view.d.ts +15 -0
- package/lib/data-view-lib/data-view/task.d.ts +57 -0
- package/lib/data-view-lib/data-view/value-style.d.ts +10 -0
- package/lib/data-view-lib/data-view-filters/data-view-filters.component.d.ts +142 -0
- package/lib/data-view-lib/data-view-filters/data-view-filters.service.d.ts +28 -0
- package/lib/data-view-lib/data-view-header/data-view-header.component.d.ts +85 -0
- package/lib/data-view-lib/data-view-lib.module.d.ts +19 -0
- package/lib/data-view-lib/data-view.service.d.ts +94 -0
- package/lib/data-view-lib/public-api.d.ts +27 -0
- package/lib/directive/adjust-font-size.d.ts +13 -0
- package/lib/drill-through/drill-through.component.d.ts +53 -0
- package/lib/drill-through/drill-through.module.d.ts +10 -0
- package/lib/drill-through/drill-through.resolver.d.ts +30 -0
- package/lib/drill-through/drill-through.service.d.ts +100 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-column.d.ts +17 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-date-list.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-date-range-value.d.ts +17 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-date-range.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-date-time-list.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-date-time-range-value.d.ts +17 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-date-time-range.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-date-time.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-date-value.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-number-list.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-number-range-value.d.ts +17 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-number-value.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-text-list.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-text.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-time-list.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-time-range-value.d.ts +17 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-time-range.d.ts +17 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-time.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/ax-exp-toggle.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/ax-expression-value.d.ts +19 -0
- package/lib/enlighten-lib/ax-expression/ax-expression.d.ts +66 -0
- package/lib/enlighten-lib/ax-expression/ax-number-range.d.ts +16 -0
- package/lib/enlighten-lib/ax-expression/exp-sub-type.d.ts +26 -0
- package/lib/enlighten-lib/ax-expression/public-api.d.ts +23 -0
- package/lib/enlighten-lib/data-model/attribute.d.ts +60 -0
- package/lib/enlighten-lib/data-model/data-model.d.ts +32 -0
- package/lib/enlighten-lib/data-model/dependee.d.ts +11 -0
- package/lib/enlighten-lib/data-model/dependent.d.ts +11 -0
- package/lib/enlighten-lib/data-model/entity.d.ts +31 -0
- package/lib/enlighten-lib/data-model-tree/attributes-dragdrop-layout/attributes-dragdrop-layout.component.d.ts +23 -0
- package/lib/enlighten-lib/data-model-tree/attributes-selection-layout/attributes-selection-layout.component.d.ts +24 -0
- package/lib/enlighten-lib/data-model-tree/categories-tree/categories-tree.component.d.ts +25 -0
- package/lib/enlighten-lib/data-model-tree/data-model-tree-enums.d.ts +4 -0
- package/lib/enlighten-lib/data-model-tree/data-model-tree.component.d.ts +67 -0
- package/lib/enlighten-lib/data-model-tree/data-model-tree.module.d.ts +18 -0
- package/lib/enlighten-lib/elements/Property.d.ts +3 -0
- package/lib/enlighten-lib/elements/ax-element.d.ts +31 -0
- package/lib/enlighten-lib/elements/element-factory.d.ts +13 -0
- package/lib/enlighten-lib/enlighten-lib.module.d.ts +53 -0
- package/lib/enlighten-lib/enums/bread-crumbs-style.d.ts +4 -0
- package/lib/enlighten-lib/enums/operator-text-enum.d.ts +9 -0
- package/lib/enlighten-lib/fields/attribute-data.d.ts +55 -0
- package/lib/enlighten-lib/fields/entity.d.ts +15 -0
- package/lib/enlighten-lib/fields/types/ax-audio.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-barcode.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-childrecord.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-counter.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-date.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-decimal.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-document.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-file.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-image.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-location.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-number.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-qrcode.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-signature.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-staticmedia.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-text.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-time.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ax-uniqueid.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/axo-timestamp.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/choicelist.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/datetime.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/hyperlink.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/ienlighten-type.d.ts +3 -0
- package/lib/enlighten-lib/fields/types/toggle.d.ts +4 -0
- package/lib/enlighten-lib/fields/types/video.d.ts +4 -0
- package/lib/enlighten-lib/filters/ax-filter.d.ts +38 -0
- package/lib/enlighten-lib/filters/ax-operator.d.ts +40 -0
- package/lib/enlighten-lib/filters/chart-filter-type.d.ts +5 -0
- package/lib/enlighten-lib/filters/condition-type.d.ts +43 -0
- package/lib/enlighten-lib/filters/dataList-searchNode.d.ts +27 -0
- package/lib/enlighten-lib/filters/dataListFilterExpression.d.ts +20 -0
- package/lib/enlighten-lib/filters/dataListFilterOperator.d.ts +29 -0
- package/lib/enlighten-lib/filters/dataListSeachQueryTree.d.ts +15 -0
- package/lib/enlighten-lib/filters/filter-category.d.ts +43 -0
- package/lib/enlighten-lib/filters/general-filter-type.d.ts +10 -0
- package/lib/enlighten-lib/filters/gridster-properties.d.ts +17 -0
- package/lib/enlighten-lib/filters/iax-filter.d.ts +7 -0
- package/lib/enlighten-lib/filters/search-node.d.ts +27 -0
- package/lib/enlighten-lib/filters/static-widget.d.ts +2 -0
- package/lib/enlighten-lib/property/element-property.d.ts +8 -0
- package/lib/enlighten-lib/property/filter-category-property.d.ts +6 -0
- package/lib/enlighten-lib/property/filter-property.d.ts +6 -0
- package/lib/enlighten-lib/report/chart-filter/chart-filter.component.d.ts +78 -0
- package/lib/enlighten-lib/report/element.service.d.ts +61 -0
- package/lib/enlighten-lib/report/graphical-report/bar-chart/bar-chart.component.d.ts +259 -0
- package/lib/enlighten-lib/report/graphical-report/bar-chart/bar-chart.d.ts +52 -0
- package/lib/enlighten-lib/report/graphical-report/bar-chart/bar-chart.service.d.ts +9 -0
- package/lib/enlighten-lib/report/graphical-report/card-chart/card-chart.component.d.ts +177 -0
- package/lib/enlighten-lib/report/graphical-report/card-chart/card-chart.d.ts +29 -0
- package/lib/enlighten-lib/report/graphical-report/card-chart/card-chart.service.d.ts +9 -0
- package/lib/enlighten-lib/report/graphical-report/chart/border.d.ts +13 -0
- package/lib/enlighten-lib/report/graphical-report/chart/chart-factory.d.ts +7 -0
- package/lib/enlighten-lib/report/graphical-report/chart/chart-property.d.ts +5 -0
- package/lib/enlighten-lib/report/graphical-report/chart/chart-type.d.ts +16 -0
- package/lib/enlighten-lib/report/graphical-report/chart/chart.d.ts +41 -0
- package/lib/enlighten-lib/report/graphical-report/chart/common-chart.service.d.ts +13 -0
- package/lib/enlighten-lib/report/graphical-report/chart/conditional-formatting.d.ts +6 -0
- package/lib/enlighten-lib/report/graphical-report/chart/dimension.d.ts +6 -0
- package/lib/enlighten-lib/report/graphical-report/chart/font.d.ts +13 -0
- package/lib/enlighten-lib/report/graphical-report/chart/fontStyle.d.ts +13 -0
- package/lib/enlighten-lib/report/graphical-report/chart/label.d.ts +6 -0
- package/lib/enlighten-lib/report/graphical-report/chart/legend.d.ts +13 -0
- package/lib/enlighten-lib/report/graphical-report/chart/matrix.d.ts +11 -0
- package/lib/enlighten-lib/report/graphical-report/chart/shadow.d.ts +5 -0
- package/lib/enlighten-lib/report/graphical-report/chart/style.d.ts +12 -0
- package/lib/enlighten-lib/report/graphical-report/chart/text-style.d.ts +17 -0
- package/lib/enlighten-lib/report/graphical-report/chart/title.d.ts +11 -0
- package/lib/enlighten-lib/report/graphical-report/graphical-report.component.d.ts +130 -0
- package/lib/enlighten-lib/report/graphical-report/graphical-report.directive.d.ts +8 -0
- package/lib/enlighten-lib/report/graphical-report/ichart-component.d.ts +6 -0
- package/lib/enlighten-lib/report/graphical-report/igraphical-report.component.d.ts +21 -0
- package/lib/enlighten-lib/report/graphical-report/line-chart/line-chart.component.d.ts +215 -0
- package/lib/enlighten-lib/report/graphical-report/line-chart/line-chart.d.ts +34 -0
- package/lib/enlighten-lib/report/graphical-report/line-chart/line-chart.service.d.ts +9 -0
- package/lib/enlighten-lib/report/graphical-report/page/page.d.ts +25 -0
- package/lib/enlighten-lib/report/graphical-report/pie-chart/pie-chart.component.d.ts +220 -0
- package/lib/enlighten-lib/report/graphical-report/pie-chart/pie-chart.d.ts +38 -0
- package/lib/enlighten-lib/report/graphical-report/pie-chart/pie-chart.service.d.ts +9 -0
- package/lib/enlighten-lib/report/graphical-report/text/text-chart.d.ts +19 -0
- package/lib/enlighten-lib/report/graphical-report/text/text.component.d.ts +72 -0
- package/lib/enlighten-lib/report/graphical-report/text/text.service.d.ts +9 -0
- package/lib/enlighten-lib/report/iproperty.component.d.ts +14 -0
- package/lib/enlighten-lib/report/ireport.d.ts +14 -0
- package/lib/enlighten-lib/report/report-builder-master.service.d.ts +42 -0
- package/lib/enlighten-lib/report/report-filter/report-filter.component.d.ts +117 -0
- package/lib/enlighten-lib/report/report-filter/report-filter.module.d.ts +19 -0
- package/lib/enlighten-lib/report/report-filter/report-filter.service.d.ts +102 -0
- package/lib/enlighten-lib/report/tabular-report/aggregate.d.ts +8 -0
- package/lib/enlighten-lib/report/tabular-report/axo-percentage.pipe.d.ts +7 -0
- package/lib/enlighten-lib/report/tabular-report/column-style.d.ts +5 -0
- package/lib/enlighten-lib/report/tabular-report/itabular-report.component.d.ts +16 -0
- package/lib/enlighten-lib/report/tabular-report/orderby-type.d.ts +5 -0
- package/lib/enlighten-lib/report/tabular-report/row-style.d.ts +5 -0
- package/lib/enlighten-lib/report/tabular-report/table-style.d.ts +21 -0
- package/lib/enlighten-lib/report/tabular-report/tabular/column-group-view/column-group-view.component.d.ts +124 -0
- package/lib/enlighten-lib/report/tabular-report/tabular/detail-group-view/detail-group-view.component.d.ts +242 -0
- package/lib/enlighten-lib/report/tabular-report/tabular/resize-column-directive.d.ts +21 -0
- package/lib/enlighten-lib/report/tabular-report/tabular/row-group-view/row-group-view.component.d.ts +190 -0
- package/lib/enlighten-lib/report/tabular-report/tabular/tabular.component.d.ts +177 -0
- package/lib/enlighten-lib/report/tabular-report/tabular-report.component.d.ts +53 -0
- package/lib/enlighten-lib/report/tabular-report/tabular-report.d.ts +102 -0
- package/lib/enlighten-lib/report/tabular-report/tabular-report.service.d.ts +173 -0
- package/lib/enlighten-lib/report/tabular-report/tabular.d.ts +92 -0
- package/lib/enlighten-lib/report/tabular-report/value-formatting.d.ts +7 -0
- package/lib/enlighten-lib/report-control.service.d.ts +15 -0
- package/lib/enlighten-lib/utils/utils.d.ts +16 -0
- package/lib/field-list-lib/fields-list.service.d.ts +71 -0
- package/lib/filters/calender-filter/calender-filter.component.d.ts +70 -0
- package/lib/filters/category-filter/category-filter.component.d.ts +65 -0
- package/lib/filters/category-filter/category-filter.service.d.ts +16 -0
- package/lib/filters/category-filter/category.service.d.ts +23 -0
- package/lib/filters/choice-list-filter/choice-list-filter.component.d.ts +64 -0
- package/lib/filters/choice-list-filter/choice-list-filter.service.d.ts +36 -0
- package/lib/filters/common-filter/common-filter.component.d.ts +135 -0
- package/lib/filters/common-filter/common-filter.service.d.ts +42 -0
- package/lib/filters/custom-scroll-directives.d.ts +14 -0
- package/lib/filters/date-time-filter/date-time-filter.component.d.ts +83 -0
- package/lib/filters/filter-footer/filter-footer.component.d.ts +12 -0
- package/lib/filters/filters.component.d.ts +139 -0
- package/lib/filters/filters.module.d.ts +43 -0
- package/lib/filters/filters.service.d.ts +83 -0
- package/lib/filters/meta-column-filter-builder/meta-column-filter-builder.service.d.ts +70 -0
- package/lib/filters/metaColumnTypes.d.ts +18 -0
- package/lib/filters/multi-select-filter/multi-select-filter.component.d.ts +68 -0
- package/lib/filters/multi-select-filter/multi-select-filter.service.d.ts +77 -0
- package/lib/filters/number-filter/number-filter.component.d.ts +70 -0
- package/lib/filters/public-api.d.ts +14 -0
- package/lib/filters/reference-list-filter/reference-list-filter.component.d.ts +59 -0
- package/lib/filters/reference-list-filter/reference-list-filter.service.d.ts +62 -0
- package/lib/filters/single-select-filter/single-select-filter.component.d.ts +59 -0
- package/lib/filters/time-filter/time-filter.component.d.ts +62 -0
- package/lib/filters/user-filter/user-filter.component.d.ts +61 -0
- package/lib/filters/user-filter/user-filter.service.d.ts +26 -0
- package/lib/form-object/form-object-list/form-object-list-filter/form-object-list-filter.component.d.ts +87 -0
- package/lib/form-object/form-object-list/form-object-list-filter/form-object-list-filter.service.d.ts +33 -0
- package/lib/form-object/form-object-list/form-object-list-header/form-object-list-header.component.d.ts +13 -0
- package/lib/form-object/form-object-list/form-object-list-header/widget-header-type-handler.d.ts +3 -0
- package/lib/form-object/form-object-list/form-object-list-header/widgets/text-box-header/text-box-header.component.d.ts +10 -0
- package/lib/form-object/form-object-list/form-object-list-header/widgets-header.directive.d.ts +8 -0
- package/lib/form-object/form-object-list/form-object-list.component.d.ts +200 -0
- package/lib/form-object/form-object-list/form-object-list.d.ts +42 -0
- package/lib/form-object/form-object-list/form-object-list.module.d.ts +59 -0
- package/lib/form-object/form-object-list/form-object-list.service.d.ts +69 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/form-object-value-handler.d.ts +3 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/form-object-value.directive.d.ts +8 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/form-object-widget-value.component.d.ts +22 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-apply-geo-fence-value/formobject-apply-geo-fence-value.component.d.ts +10 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-audio-value/formobject-audio-value.component.d.ts +12 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-auto-number-value/formobject-auto-number-value.component.d.ts +10 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-bar-code-value/formobject-bar-code-value.component.d.ts +27 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-child-records-value/formobject-child-records-value.component.d.ts +13 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-choicelist-value/formobject-choicelist-value.component.d.ts +20 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-counter-value/formobject-counter-value.component.d.ts +10 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-date-time-value/formobject-date-time-value.component.d.ts +13 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-document-value/formobject-document-value.component.d.ts +15 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-formula-value/formobject-formula-value.component.d.ts +11 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-geo-fence-value/formobject-geo-fence-value.component.d.ts +21 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-gps-value/formobject-gps-value.component.d.ts +23 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-group-header-value/formobject-group-header-value.component.d.ts +10 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-image-value/formobject-image-value.component.d.ts +34 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-languages-value/formobject-languages-value.component.d.ts +12 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-payment-value/formobject-payment-value.component.d.ts +10 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-qr-code-value/formobject-qr-code-value.component.d.ts +27 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-signature-value/formobject-signature-value.component.d.ts +17 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-static-media-value/formobject-static-media-value.component.d.ts +15 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-stop-watch-value/formobject-stop-watch-value.component.d.ts +10 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-sub-form-value/formobject-sub-form-value.component.d.ts +10 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-textbox-value/formobject-textbox-value.component.d.ts +12 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-time-stamp-value/formobject-time-stamp-value.component.d.ts +16 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-toggle-value/formobject-toggle-value.component.d.ts +11 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-unique-id-value/formobject-unique-id-value.component.d.ts +10 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-verification-value/formobject-verification-value.component.d.ts +14 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-video-value/formobject-video-value.component.d.ts +16 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-web-link-value/formobject-web-link-value.component.d.ts +10 -0
- package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-widget-mat-dialog/formobject-widget-mat-dialog.component.d.ts +13 -0
- package/lib/form-object/form-object-view/data-detail-view-dto.d.ts +16 -0
- package/lib/form-object/form-object-view/dynamic-view/dynamic-view.component.d.ts +32 -0
- package/lib/form-object/form-object-view/dynamic-view/dynamic-view.directive.d.ts +8 -0
- package/lib/form-object/form-object-view/form-object-view.component.d.ts +45 -0
- package/lib/form-object/form-object-view/form-object-view.module.d.ts +70 -0
- package/lib/form-object/form-object-view/form-object-view.service.d.ts +49 -0
- package/lib/form-object/form-object-view/form-object-widgets/apply-geo-fence-widget-view/apply-geo-fence-widget-view.component.d.ts +10 -0
- package/lib/form-object/form-object-view/form-object-widgets/audio-widget-view/audio-widget-view.component.d.ts +12 -0
- package/lib/form-object/form-object-view/form-object-widgets/auto-number-widget-view/auto-number-widget-view.component.d.ts +10 -0
- package/lib/form-object/form-object-view/form-object-widgets/bar-code-widget-view/bar-code-widget-view.component.d.ts +31 -0
- package/lib/form-object/form-object-view/form-object-widgets/child-records-widget-view/child-records-widget-view.component.d.ts +22 -0
- package/lib/form-object/form-object-view/form-object-widgets/choice-list-widget-view/choice-list-widget-view.component.d.ts +25 -0
- package/lib/form-object/form-object-view/form-object-widgets/counter-widget-view/counter-widget-view.component.d.ts +10 -0
- package/lib/form-object/form-object-view/form-object-widgets/date-time-widget-view/date-time-widget-view.component.d.ts +12 -0
- package/lib/form-object/form-object-view/form-object-widgets/document-widget-view/document-widget-view.component.d.ts +15 -0
- package/lib/form-object/form-object-view/form-object-widgets/form-object-widget-type-handler.d.ts +3 -0
- package/lib/form-object/form-object-view/form-object-widgets/form-object-widgets-view.component.d.ts +25 -0
- package/lib/form-object/form-object-view/form-object-widgets/form-object-widgets-view.directive.d.ts +8 -0
- package/lib/form-object/form-object-view/form-object-widgets/formula-widget-view/formula-widget-view.component.d.ts +10 -0
- package/lib/form-object/form-object-view/form-object-widgets/geo-fence-widget-view/geo-fence-widget-view.component.d.ts +14 -0
- package/lib/form-object/form-object-view/form-object-widgets/gps-widget-view/gps-widget-view.component.d.ts +37 -0
- package/lib/form-object/form-object-view/form-object-widgets/group-header-widget-view/group-header-widget-view.component.d.ts +10 -0
- package/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-annotation-data-dto.d.ts +91 -0
- package/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-map-view/image-map-view.component.d.ts +32 -0
- package/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-widget-lightbox-view/image-widget-lightbox-view.component.d.ts +71 -0
- package/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-widget-view.component.d.ts +40 -0
- package/lib/form-object/form-object-view/form-object-widgets/language-widget-view/language-widget-view.component.d.ts +12 -0
- package/lib/form-object/form-object-view/form-object-widgets/payment-widget-view/payment-widget-view.component.d.ts +10 -0
- package/lib/form-object/form-object-view/form-object-widgets/qr-code-widget-view/qr-code-widget-view.component.d.ts +26 -0
- package/lib/form-object/form-object-view/form-object-widgets/signature-widget-view/signature-widget-view.component.d.ts +13 -0
- package/lib/form-object/form-object-view/form-object-widgets/static-media-widget-view/static-media-widget-view.component.d.ts +13 -0
- package/lib/form-object/form-object-view/form-object-widgets/stop-watch-widget-view/stop-watch-widget-view.component.d.ts +10 -0
- package/lib/form-object/form-object-view/form-object-widgets/sub-form-widget-view/sub-form-widget-view.component.d.ts +16 -0
- package/lib/form-object/form-object-view/form-object-widgets/text-box-widget-view/text-box-widget-view.component.d.ts +14 -0
- package/lib/form-object/form-object-view/form-object-widgets/time-stamp-widget-view/time-stamp-widget-view.component.d.ts +15 -0
- package/lib/form-object/form-object-view/form-object-widgets/toggle-widget-view/toggle-widget-view.component.d.ts +11 -0
- package/lib/form-object/form-object-view/form-object-widgets/unique-id-widget-view/unique-id-widget-view.component.d.ts +10 -0
- package/lib/form-object/form-object-view/form-object-widgets/verification-widget-view/verification-widget-view.component.d.ts +14 -0
- package/lib/form-object/form-object-view/form-object-widgets/video-widget-view/video-widget-view.component.d.ts +16 -0
- package/lib/form-object/form-object-view/form-object-widgets/web-link-widget-view/web-link-widget-view.component.d.ts +10 -0
- package/lib/form-object/form-object-view/meta-section/meta-section.component.d.ts +31 -0
- package/lib/form-object/form-object-view/section/section.component.d.ts +16 -0
- package/lib/form-object/form-object-view/section-field/section-field.component.d.ts +13 -0
- package/lib/form-object/form-object-view/section-view/section-view.component.d.ts +16 -0
- package/lib/form-object/public-api.d.ts +2 -0
- package/lib/form-permission.service.d.ts +51 -0
- package/lib/forms/ax-form.d.ts +47 -0
- package/lib/forms/iform.d.ts +18 -0
- package/lib/forms/page/common/axo-response-status.d.ts +4 -0
- package/lib/forms/page/common/constants.d.ts +371 -0
- package/lib/forms/page/common/detail-view-enums.d.ts +5 -0
- package/lib/forms/page/common/flatten-status-enum.d.ts +7 -0
- package/lib/forms/page/common/form.constant.d.ts +85 -0
- package/lib/forms/page/common/property-panel-field.d.ts +21 -0
- package/lib/forms/page/common/widget-enums.d.ts +236 -0
- package/lib/forms/page/common/widget-value-handler.d.ts +4 -0
- package/lib/forms/page/data-detail-view/ax-section.d.ts +22 -0
- package/lib/forms/page/data-detail-view/collection-view.d.ts +11 -0
- package/lib/forms/page/data-detail-view/data-details.d.ts +17 -0
- package/lib/forms/page/data-detail-view/section-field.d.ts +13 -0
- package/lib/forms/page/data-detail-view/section.d.ts +13 -0
- package/lib/forms/page/data-list/data-list-column.d.ts +24 -0
- package/lib/forms/page/data-list/data-list.d.ts +24 -0
- package/lib/forms/page/form-object.d.ts +6 -0
- package/lib/forms/page/form-page.d.ts +19 -0
- package/lib/forms/page/value-converters/displayMode-to-bool.d.ts +5 -0
- package/lib/forms/page/value-converters/form-type-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/geo-fence-value-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/image-annotation-value-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/language-source-value-converter.d.ts +6 -0
- package/lib/forms/page/value-converters/list-view-title-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/parse-float-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/parse-int-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/parse-string-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/publicUrls-string-to-array.d.ts +5 -0
- package/lib/forms/page/value-converters/record-limit-type-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/restriction-mode-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/string-to-bool-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/string-to-bool-value-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/string-to-date-time-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/string-to-number -converter.d.ts +5 -0
- package/lib/forms/page/value-converters/textBox-mask-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/validate-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/value-without-mask-converter.d.ts +5 -0
- package/lib/forms/page/value-converters/widget-concrete-class-converter.d.ts +6 -0
- package/lib/forms/page/value-converters/widget-deserializer.d.ts +3 -0
- package/lib/forms/page/widgets/apply-geofences.d.ts +25 -0
- package/lib/forms/page/widgets/auto-number.d.ts +28 -0
- package/lib/forms/page/widgets/ax-audio.d.ts +43 -0
- package/lib/forms/page/widgets/ax-document.d.ts +44 -0
- package/lib/forms/page/widgets/ax-image.d.ts +46 -0
- package/lib/forms/page/widgets/bar-code.d.ts +52 -0
- package/lib/forms/page/widgets/child-record.d.ts +50 -0
- package/lib/forms/page/widgets/choicelist.d.ts +70 -0
- package/lib/forms/page/widgets/counter.d.ts +36 -0
- package/lib/forms/page/widgets/datetime.d.ts +53 -0
- package/lib/forms/page/widgets/formula.d.ts +38 -0
- package/lib/forms/page/widgets/geofence.d.ts +41 -0
- package/lib/forms/page/widgets/gps.d.ts +49 -0
- package/lib/forms/page/widgets/group-header.d.ts +51 -0
- package/lib/forms/page/widgets/languages.d.ts +41 -0
- package/lib/forms/page/widgets/link.d.ts +36 -0
- package/lib/forms/page/widgets/payment.d.ts +37 -0
- package/lib/forms/page/widgets/qr-code.d.ts +39 -0
- package/lib/forms/page/widgets/script-condition.d.ts +33 -0
- package/lib/forms/page/widgets/signature.d.ts +34 -0
- package/lib/forms/page/widgets/static-media.d.ts +40 -0
- package/lib/forms/page/widgets/stopwatch.d.ts +37 -0
- package/lib/forms/page/widgets/sub-form.d.ts +39 -0
- package/lib/forms/page/widgets/textbox.d.ts +63 -0
- package/lib/forms/page/widgets/timestamp.d.ts +42 -0
- package/lib/forms/page/widgets/toggle.d.ts +36 -0
- package/lib/forms/page/widgets/unique-id.d.ts +33 -0
- package/lib/forms/page/widgets/verification.d.ts +55 -0
- package/lib/forms/page/widgets/video.d.ts +44 -0
- package/lib/forms/page/widgets/widget-value/apply-geo-fence-widget-value.d.ts +18 -0
- package/lib/forms/page/widgets/widget-value/audio-video-widget-value.d.ts +11 -0
- package/lib/forms/page/widgets/widget-value/child-record-value.d.ts +26 -0
- package/lib/forms/page/widgets/widget-value/choice-list-options.d.ts +27 -0
- package/lib/forms/page/widgets/widget-value/choices-ml.d.ts +22 -0
- package/lib/forms/page/widgets/widget-value/dateRangeValue.d.ts +12 -0
- package/lib/forms/page/widgets/widget-value/deviceProfileParams.d.ts +4 -0
- package/lib/forms/page/widgets/widget-value/deviceProfilesTemp.d.ts +19 -0
- package/lib/forms/page/widgets/widget-value/document-widget-value.d.ts +15 -0
- package/lib/forms/page/widgets/widget-value/geo-fence-location-value.d.ts +14 -0
- package/lib/forms/page/widgets/widget-value/geo-fence-widget-value.d.ts +14 -0
- package/lib/forms/page/widgets/widget-value/gps-widget-value.d.ts +21 -0
- package/lib/forms/page/widgets/widget-value/image-widget-value.d.ts +19 -0
- package/lib/forms/page/widgets/widget-value/language-widget-value.d.ts +12 -0
- package/lib/forms/page/widgets/widget-value/location-object-value.d.ts +12 -0
- package/lib/forms/page/widgets/widget-value/multiple-languages.d.ts +21 -0
- package/lib/forms/page/widgets/widget-value/reference-list-object-value.d.ts +17 -0
- package/lib/forms/page/widgets/widget-value/verification-widget-value.d.ts +31 -0
- package/lib/forms/page/widgets/widget.d.ts +75 -0
- package/lib/ghost-loader/ghost-loader.component.d.ts +41 -0
- package/lib/ghost-loader/ghost-loader.module.d.ts +8 -0
- package/lib/ghost-loader/public-api.d.ts +2 -0
- package/lib/map-dialog/map-dialog.component.d.ts +16 -0
- package/lib/map-dialog/map-dialog.module.d.ts +11 -0
- package/lib/map-dialog/public-api.d.ts +5 -0
- package/lib/reports-container/public-api.d.ts +7 -0
- package/lib/reports-container/report-group/report-group.component.d.ts +17 -0
- package/lib/reports-container/reports-container-models/report-group.d.ts +20 -0
- package/lib/reports-container/reports-container-models/report-property.d.ts +19 -0
- package/lib/reports-container/reports-container-models/reports-container-enums.d.ts +13 -0
- package/lib/reports-container/reports-container-models/reports-container.d.ts +16 -0
- package/lib/reports-container/reports-container.component.d.ts +16 -0
- package/lib/reports-container/reports-container.module.d.ts +13 -0
- package/lib/reports-container/reports-container.service.d.ts +18 -0
- package/lib/scrollbar/index.d.ts +2 -0
- package/lib/scrollbar/public-api.d.ts +2 -0
- package/lib/scrollbar/scrollbar.directive.d.ts +153 -0
- package/lib/scrollbar/scrollbar.module.d.ts +7 -0
- package/lib/scrollbar/scrollbar.types.d.ts +12 -0
- package/lib/sculptor-lib/widgets/audio/audio.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/barcode/barcode.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/child-record/child-record.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/choice-list/choice-list.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/date-time/date-time.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/document/document.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/geofence/geofence.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/gps/gps.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/group-header/group-header.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/image/image.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/language/language.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/link/link.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/qr-code/qr-code.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/stopwatch/stopwatch.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/subform/subform.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/textbox/textbox.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/timestamp/timestamp.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/toggle/toggle.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/video/video.component.d.ts +32 -0
- package/lib/sculptor-lib/widgets/widgets.service.d.ts +30 -0
- package/lib/shared/comfirmation-modal/confirmation-modal.component.d.ts +18 -0
- package/lib/shared/conditional-formatting/conditional-formatting/conditional-formatting.component.d.ts +29 -0
- package/lib/shared/shared.module.d.ts +13 -0
- package/package.json +64 -0
- package/public-api.d.ts +130 -0
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostListener, Inject, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import { AxoUtils } from '../../../../../axo-utils/axo-utils';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/dialog";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/flex-layout/extended";
|
|
8
|
+
import * as i4 from "@angular/material/icon";
|
|
9
|
+
import * as i5 from "@angular/material/card";
|
|
10
|
+
function ImageWidgetLightboxViewComponent_button_4_Template(rf, ctx) { if (rf & 1) {
|
|
11
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
12
|
+
i0.ɵɵelementStart(0, "button", 19);
|
|
13
|
+
i0.ɵɵlistener("click", function ImageWidgetLightboxViewComponent_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.showPreviousImage(); });
|
|
14
|
+
i0.ɵɵelement(1, "mat-icon", 20);
|
|
15
|
+
i0.ɵɵelementEnd();
|
|
16
|
+
} if (rf & 2) {
|
|
17
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
18
|
+
i0.ɵɵproperty("disabled", !ctx_r1.imageLoaded);
|
|
19
|
+
i0.ɵɵadvance(1);
|
|
20
|
+
i0.ɵɵproperty("svgIcon", "axo_left_arrow");
|
|
21
|
+
} }
|
|
22
|
+
function ImageWidgetLightboxViewComponent_button_5_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
24
|
+
i0.ɵɵelementStart(0, "button", 19);
|
|
25
|
+
i0.ɵɵlistener("click", function ImageWidgetLightboxViewComponent_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.showNextImage(); });
|
|
26
|
+
i0.ɵɵelement(1, "mat-icon", 21);
|
|
27
|
+
i0.ɵɵelementEnd();
|
|
28
|
+
} if (rf & 2) {
|
|
29
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
30
|
+
i0.ɵɵproperty("disabled", !ctx_r2.imageLoaded);
|
|
31
|
+
i0.ɵɵadvance(1);
|
|
32
|
+
i0.ɵɵproperty("svgIcon", "axo_right_arrow");
|
|
33
|
+
} }
|
|
34
|
+
function ImageWidgetLightboxViewComponent_mat_icon_7_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
36
|
+
i0.ɵɵelementStart(0, "mat-icon", 22);
|
|
37
|
+
i0.ɵɵlistener("click", function ImageWidgetLightboxViewComponent_mat_icon_7_Template_mat_icon_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.showImageWithoutAnnotations(); });
|
|
38
|
+
i0.ɵɵelementEnd();
|
|
39
|
+
} if (rf & 2) {
|
|
40
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
41
|
+
i0.ɵɵproperty("svgIcon", ctx_r3.showImage ? "axo_anotation_show" : "axo_anotation_hide");
|
|
42
|
+
} }
|
|
43
|
+
const _c0 = function (a0) { return { "z-50": a0 }; };
|
|
44
|
+
function ImageWidgetLightboxViewComponent_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
+
i0.ɵɵelementStart(0, "div", 23);
|
|
46
|
+
i0.ɵɵelementStart(1, "span", 24);
|
|
47
|
+
i0.ɵɵtext(2, "Loading...");
|
|
48
|
+
i0.ɵɵelementEnd();
|
|
49
|
+
i0.ɵɵelementEnd();
|
|
50
|
+
} if (rf & 2) {
|
|
51
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
52
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c0, !ctx_r4.imageLoaded));
|
|
53
|
+
} }
|
|
54
|
+
const _c1 = function (a0, a1) { return { "background-color": a0, "border": a1 }; };
|
|
55
|
+
const _c2 = function (a0) { return { "border": a0 }; };
|
|
56
|
+
function ImageWidgetLightboxViewComponent_div_24_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
57
|
+
const _r17 = i0.ɵɵgetCurrentView();
|
|
58
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
59
|
+
i0.ɵɵelementStart(1, "div", 28);
|
|
60
|
+
i0.ɵɵelementStart(2, "div", 29);
|
|
61
|
+
i0.ɵɵlistener("click", function ImageWidgetLightboxViewComponent_div_24_div_1_Template_div_click_2_listener() { const restoredCtx = i0.ɵɵrestoreView(_r17); const i_r15 = restoredCtx.index; const ctx_r16 = i0.ɵɵnextContext(2); return ctx_r16.selectAnnotation(i_r15); });
|
|
62
|
+
i0.ɵɵtext(3);
|
|
63
|
+
i0.ɵɵelementEnd();
|
|
64
|
+
i0.ɵɵelementEnd();
|
|
65
|
+
i0.ɵɵelementStart(4, "mat-card", 30);
|
|
66
|
+
i0.ɵɵlistener("click", function ImageWidgetLightboxViewComponent_div_24_div_1_Template_mat_card_click_4_listener() { const restoredCtx = i0.ɵɵrestoreView(_r17); const i_r15 = restoredCtx.index; const ctx_r18 = i0.ɵɵnextContext(2); return ctx_r18.selectAnnotation(i_r15); });
|
|
67
|
+
i0.ɵɵtext(5);
|
|
68
|
+
i0.ɵɵelementEnd();
|
|
69
|
+
i0.ɵɵelementEnd();
|
|
70
|
+
} if (rf & 2) {
|
|
71
|
+
const item_r14 = ctx.$implicit;
|
|
72
|
+
const i_r15 = ctx.index;
|
|
73
|
+
const ctx_r13 = i0.ɵɵnextContext(2);
|
|
74
|
+
i0.ɵɵadvance(2);
|
|
75
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(4, _c1, item_r14.color, ctx_r13.isAnnotationSelected && i_r15 === ctx_r13.selectedAnnotationIndex && ctx_r13.previouslySelectedAnnotationId === ctx_r13.selectedAnnotationIndex ? "1px solid #0000FF" : ""));
|
|
76
|
+
i0.ɵɵadvance(1);
|
|
77
|
+
i0.ɵɵtextInterpolate(i_r15 + 1);
|
|
78
|
+
i0.ɵɵadvance(1);
|
|
79
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(7, _c2, ctx_r13.isAnnotationSelected && i_r15 === ctx_r13.selectedAnnotationIndex && ctx_r13.previouslySelectedAnnotationId === ctx_r13.selectedAnnotationIndex ? "1px solid #0000FF" : ""));
|
|
80
|
+
i0.ɵɵadvance(1);
|
|
81
|
+
i0.ɵɵtextInterpolate(item_r14.notes);
|
|
82
|
+
} }
|
|
83
|
+
function ImageWidgetLightboxViewComponent_div_24_Template(rf, ctx) { if (rf & 1) {
|
|
84
|
+
i0.ɵɵelementStart(0, "div", 25);
|
|
85
|
+
i0.ɵɵtemplate(1, ImageWidgetLightboxViewComponent_div_24_div_1_Template, 6, 9, "div", 26);
|
|
86
|
+
i0.ɵɵelementEnd();
|
|
87
|
+
} if (rf & 2) {
|
|
88
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
89
|
+
i0.ɵɵadvance(1);
|
|
90
|
+
i0.ɵɵproperty("ngForOf", ctx_r5.annotation == null ? null : ctx_r5.annotation.annotations);
|
|
91
|
+
} }
|
|
92
|
+
function ImageWidgetLightboxViewComponent_div_25_Template(rf, ctx) { if (rf & 1) {
|
|
93
|
+
i0.ɵɵelementStart(0, "div", 31);
|
|
94
|
+
i0.ɵɵtext(1, "No comments available ");
|
|
95
|
+
i0.ɵɵelementEnd();
|
|
96
|
+
} }
|
|
97
|
+
const _c3 = function (a0) { return { "opacity-50": a0 }; };
|
|
98
|
+
const _c4 = function (a0) { return { "expand": a0 }; };
|
|
99
|
+
export class ImageWidgetLightboxViewComponent {
|
|
100
|
+
constructor(dialogRef, annotationData) {
|
|
101
|
+
this.dialogRef = dialogRef;
|
|
102
|
+
this.annotationData = annotationData;
|
|
103
|
+
this.disableNextButton = false;
|
|
104
|
+
this.disablePreviousButton = false;
|
|
105
|
+
this.isAnnotationSelected = false;
|
|
106
|
+
this.showImage = true;
|
|
107
|
+
this.scale = 0.2;
|
|
108
|
+
this.scaleMultiplier = 0.8;
|
|
109
|
+
this.startDragOffset = { x: 0, y: 0 };
|
|
110
|
+
this.mouseDown = false;
|
|
111
|
+
this.translatePos = {
|
|
112
|
+
x: 0,
|
|
113
|
+
y: 0
|
|
114
|
+
};
|
|
115
|
+
this.isCanvasExpanded = false;
|
|
116
|
+
this.isImageWithAnnotations = false;
|
|
117
|
+
this.expandCanvasDialog = new EventEmitter();
|
|
118
|
+
}
|
|
119
|
+
ngOnInit() {
|
|
120
|
+
this.annotationValueData = this.annotationData.viewres.field.value;
|
|
121
|
+
this.selectedImageId = this.annotationData.selectedImageId;
|
|
122
|
+
this.annotation = this.annotationValueData.find((annotation, index) => {
|
|
123
|
+
return index === this.selectedImageId;
|
|
124
|
+
});
|
|
125
|
+
this.disablePreviousButton = this.selectedImageId === 0 ? true : false;
|
|
126
|
+
this.disableNextButton = this.selectedImageId === (this.annotationValueData.length - 1) ? true : false;
|
|
127
|
+
this.canvas = document.getElementById("annotationsCanvas");
|
|
128
|
+
this.canvas.style.width = '100%';
|
|
129
|
+
this.canvas.style.height = '100%';
|
|
130
|
+
this.canvas.width = this.canvas.offsetWidth;
|
|
131
|
+
this.canvas.height = this.canvas.offsetHeight;
|
|
132
|
+
this.ctx = this.canvas.getContext('2d');
|
|
133
|
+
this.setImageForAnnotation(true);
|
|
134
|
+
// add event listeners to handle screen drag
|
|
135
|
+
this.canvas.addEventListener("mousedown", (evt) => {
|
|
136
|
+
this.mouseDown = true;
|
|
137
|
+
this.startDragOffset.x = evt.clientX - this.translatePos.x;
|
|
138
|
+
this.startDragOffset.y = evt.clientY - this.translatePos.y;
|
|
139
|
+
});
|
|
140
|
+
this.canvas.addEventListener("mouseup", (evt) => {
|
|
141
|
+
this.mouseDown = false;
|
|
142
|
+
});
|
|
143
|
+
this.canvas.addEventListener("mouseover", (evt) => {
|
|
144
|
+
this.mouseDown = false;
|
|
145
|
+
});
|
|
146
|
+
this.canvas.addEventListener("mouseout", (evt) => {
|
|
147
|
+
this.mouseDown = false;
|
|
148
|
+
});
|
|
149
|
+
this.canvas.addEventListener("mousemove", (evt) => {
|
|
150
|
+
if (this.mouseDown) {
|
|
151
|
+
this.translatePos.x = evt.clientX - this.startDragOffset.x;
|
|
152
|
+
this.translatePos.y = evt.clientY - this.startDragOffset.y;
|
|
153
|
+
this.renderImageOnCanvas(this.annotation, false);
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
click(event) {
|
|
158
|
+
var delta = event.wheelDelta ? event.wheelDelta / 40 : event.detail ? -event.detail : 0;
|
|
159
|
+
if (delta)
|
|
160
|
+
this.zoomImage(delta);
|
|
161
|
+
}
|
|
162
|
+
zoomImage(delta) {
|
|
163
|
+
if (delta == 1) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
if (delta > 0) {
|
|
167
|
+
this.scale /= this.scaleMultiplier;
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
this.scale *= this.scaleMultiplier;
|
|
171
|
+
}
|
|
172
|
+
this.renderImageOnCanvas(this.annotation, false);
|
|
173
|
+
}
|
|
174
|
+
setImageForAnnotation(isFirstTimeRender) {
|
|
175
|
+
this.annotation = this.annotationValueData.find((annotation, index) => {
|
|
176
|
+
return index === this.selectedImageId;
|
|
177
|
+
});
|
|
178
|
+
this.isImageWithAnnotations = this.annotation?.annotations?.length ? true : false;
|
|
179
|
+
if (this.annotation != undefined) {
|
|
180
|
+
this.annotation.image = AxoUtils.removeSlashFromImageUrl(this.annotation.image);
|
|
181
|
+
if (!this.isAnnotationSelected) {
|
|
182
|
+
this.drawImage(this.annotation, isFirstTimeRender);
|
|
183
|
+
}
|
|
184
|
+
else if (this.annotation?.annotations?.length) {
|
|
185
|
+
var selectedAnnotation = this.annotation.annotations.find((annotation, index) => {
|
|
186
|
+
return index === this.selectedAnnotationIndex;
|
|
187
|
+
});
|
|
188
|
+
this.currentAnnotationNumber = this.selectedAnnotationIndex;
|
|
189
|
+
this.drawAnnotation(selectedAnnotation, false);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
showPreviousImage() {
|
|
194
|
+
if (this.selectedImageId >= 0) {
|
|
195
|
+
this.isAnnotationSelected = false;
|
|
196
|
+
if (this.selectedImageId > 0) {
|
|
197
|
+
this.selectedImageId = this.selectedImageId - 1;
|
|
198
|
+
this.disablePreviousButton = this.selectedImageId === 0 ? true : false;
|
|
199
|
+
this.disableNextButton = false;
|
|
200
|
+
this.setImageForAnnotation(true);
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
this.disablePreviousButton = this.selectedImageId === 0 ? true : false;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
showNextImage() {
|
|
208
|
+
if (this.selectedImageId < this.annotationValueData.length) {
|
|
209
|
+
this.isAnnotationSelected = false;
|
|
210
|
+
this.selectedImageId = this.selectedImageId + 1;
|
|
211
|
+
this.disableNextButton = this.selectedImageId === (this.annotationValueData.length - 1) ? true : false;
|
|
212
|
+
this.disablePreviousButton = false;
|
|
213
|
+
this.setImageForAnnotation(true);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
drawImage(annotation, isFirstTimeRender) {
|
|
217
|
+
if (annotation) {
|
|
218
|
+
this.imageLoaded = false;
|
|
219
|
+
this.annotationsImageOriginal = new Image();
|
|
220
|
+
this.annotationsImageOriginal.src = this.annotationData.baseUrl + annotation.image;
|
|
221
|
+
this.annotationsImageOriginal.onload = () => {
|
|
222
|
+
this.imageLoaded = true;
|
|
223
|
+
this.scale = Math.min(this.canvas.width / this.annotationsImageOriginal.width, this.canvas.height / this.annotationsImageOriginal.height);
|
|
224
|
+
this.renderImageOnCanvas(annotation, isFirstTimeRender);
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
renderImageOnCanvas(annotation, isFirstTimeRender) {
|
|
229
|
+
if (isFirstTimeRender) {
|
|
230
|
+
this.ctx.restore();
|
|
231
|
+
this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
|
|
232
|
+
this.ctx.save();
|
|
233
|
+
var ctxCanvas = this.ctx.canvas;
|
|
234
|
+
var hRatio = ctxCanvas.width / this.annotationsImageOriginal.naturalWidth;
|
|
235
|
+
var vRatio = ctxCanvas.height / this.annotationsImageOriginal.naturalHeight;
|
|
236
|
+
var ratio = Math.min(hRatio, vRatio);
|
|
237
|
+
var centerShift_x = (ctxCanvas.width - this.annotationsImageOriginal.naturalWidth * ratio) / 2;
|
|
238
|
+
var centerShift_y = (ctxCanvas.height - this.annotationsImageOriginal.naturalHeight * ratio) / 2;
|
|
239
|
+
this.ctx.drawImage(this.annotationsImageOriginal, 0, 0, this.annotationsImageOriginal.naturalWidth, this.annotationsImageOriginal.naturalHeight, centerShift_x, centerShift_y, this.annotationsImageOriginal.naturalWidth * ratio, this.annotationsImageOriginal.naturalHeight * ratio);
|
|
240
|
+
this.translatePos = { x: centerShift_x, y: centerShift_y };
|
|
241
|
+
this.ctx.translate(this.translatePos.x, this.translatePos.y);
|
|
242
|
+
this.ctx.scale(this.scale, this.scale);
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
//let rect = this.canvas.getBoundingClientRect();
|
|
246
|
+
//if(rect.left >= this.translatePos.x && rect.top >= this.translatePos.y) {
|
|
247
|
+
this.ctx.restore();
|
|
248
|
+
this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
|
|
249
|
+
this.ctx.save();
|
|
250
|
+
this.ctx.translate(this.translatePos.x, this.translatePos.y);
|
|
251
|
+
this.ctx.scale(this.scale, this.scale);
|
|
252
|
+
this.ctx.drawImage(this.annotationsImageOriginal, 0, 0, this.annotationsImageOriginal.width, this.annotationsImageOriginal.height);
|
|
253
|
+
//}
|
|
254
|
+
}
|
|
255
|
+
if (this.showImage && annotation?.annotations.length) {
|
|
256
|
+
annotation.annotations.forEach((annotation, index) => {
|
|
257
|
+
this.currentAnnotationNumber = index;
|
|
258
|
+
this.drawAnnotation(annotation, false);
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
closeDialog() {
|
|
263
|
+
this.dialogRef.close(false);
|
|
264
|
+
}
|
|
265
|
+
drawAnnotation(annotationData, isHighlighted) {
|
|
266
|
+
if (this.showImage && annotationData !== undefined) {
|
|
267
|
+
this.ctx.beginPath();
|
|
268
|
+
var centerX;
|
|
269
|
+
var centerY;
|
|
270
|
+
annotationData.path.forEach((pathValue) => {
|
|
271
|
+
if (pathValue.type == "m") {
|
|
272
|
+
var starting_point = [];
|
|
273
|
+
starting_point = pathValue.points.split(',');
|
|
274
|
+
this.ctx.moveTo(starting_point[0], starting_point[1]);
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
if (pathValue.type == "q") {
|
|
278
|
+
var points = [];
|
|
279
|
+
points = pathValue.points.split(',');
|
|
280
|
+
if (!centerX && !centerY) {
|
|
281
|
+
centerX = points[0];
|
|
282
|
+
centerY = points[1];
|
|
283
|
+
}
|
|
284
|
+
this.ctx.quadraticCurveTo(points[0], points[1], points[2], points[3]);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
centerX = centerX + 15;
|
|
289
|
+
centerY = centerY - 15;
|
|
290
|
+
isHighlighted = this.previouslySelectedAnnotationId === this.currentAnnotationNumber ? false : isHighlighted;
|
|
291
|
+
var randomColor = isHighlighted ? "blue" : annotationData.color != null ? annotationData.color : this.getRandomColor();
|
|
292
|
+
annotationData.color = randomColor === "blue" ? annotationData.color : randomColor;
|
|
293
|
+
this.previouslySelectedAnnotationId = isHighlighted ? this.currentAnnotationNumber : this.previouslySelectedAnnotationId;
|
|
294
|
+
this.ctx.strokeStyle = randomColor;
|
|
295
|
+
this.ctx.lineWidth = 5;
|
|
296
|
+
this.ctx.stroke();
|
|
297
|
+
this.ctx.closePath();
|
|
298
|
+
this.ctx.beginPath();
|
|
299
|
+
this.ctx.arc(centerX, centerY, 7, 0, 2 * Math.PI);
|
|
300
|
+
this.ctx.fillStyle = randomColor;
|
|
301
|
+
this.ctx.fill();
|
|
302
|
+
this.ctx.closePath();
|
|
303
|
+
this.ctx.beginPath();
|
|
304
|
+
this.ctx.textAlign = "center";
|
|
305
|
+
this.ctx.textBaseline = "middle";
|
|
306
|
+
this.ctx.fillStyle = 'white';
|
|
307
|
+
this.ctx.fontSize = '12px Arial';
|
|
308
|
+
this.ctx.fillText(this.currentAnnotationNumber + 1, centerX, centerY);
|
|
309
|
+
this.ctx.stroke();
|
|
310
|
+
this.ctx.closePath();
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
showImageWithoutAnnotations() {
|
|
314
|
+
this.showImage = !this.showImage;
|
|
315
|
+
this.drawImage(this.annotation, false);
|
|
316
|
+
}
|
|
317
|
+
selectAnnotation(selectedIndex) {
|
|
318
|
+
if (this.selectedImageId >= 0) {
|
|
319
|
+
this.annotation = this.annotationValueData.find((annotation, index) => {
|
|
320
|
+
return index === this.selectedImageId;
|
|
321
|
+
});
|
|
322
|
+
this.annotation.annotations.forEach((annotation, index) => {
|
|
323
|
+
this.selectedAnnotationIndex = selectedIndex;
|
|
324
|
+
this.currentAnnotationNumber = index;
|
|
325
|
+
this.isAnnotationSelected = true;
|
|
326
|
+
if (index === this.selectedAnnotationIndex && this.annotation.annotations.length) {
|
|
327
|
+
this.isAnnotationSelected = true;
|
|
328
|
+
var isHighlighted = this.previouslySelectedAnnotationId === this.currentAnnotationNumber ? false : true;
|
|
329
|
+
this.previouslySelectedAnnotationId = this.previouslySelectedAnnotationId === this.currentAnnotationNumber ? null : this.previouslySelectedAnnotationId;
|
|
330
|
+
this.drawAnnotation(annotation, isHighlighted);
|
|
331
|
+
}
|
|
332
|
+
else if (this.annotation.annotations.length) {
|
|
333
|
+
this.drawAnnotation(annotation, false);
|
|
334
|
+
}
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
onCanvasClick(event) {
|
|
339
|
+
this.isAnnotationSelected = false;
|
|
340
|
+
let rect = this.canvas.getBoundingClientRect();
|
|
341
|
+
this.mousePosition = {
|
|
342
|
+
x: event.pageX - rect.left,
|
|
343
|
+
y: event.pageY - rect.top
|
|
344
|
+
};
|
|
345
|
+
this.getSelectedComment();
|
|
346
|
+
}
|
|
347
|
+
getSelectedComment() {
|
|
348
|
+
this.annotation.annotations.forEach((annotation, index) => {
|
|
349
|
+
var frame = annotation.frame.split(",");
|
|
350
|
+
var parsedFrame = [];
|
|
351
|
+
for (var i in frame) {
|
|
352
|
+
parsedFrame[i] = parseFloat(frame[i]) * this.scale;
|
|
353
|
+
}
|
|
354
|
+
let selectedPt = {
|
|
355
|
+
x: this.mousePosition.x - this.translatePos.x,
|
|
356
|
+
y: this.mousePosition.y - this.translatePos.y
|
|
357
|
+
};
|
|
358
|
+
this.currentAnnotationNumber = index;
|
|
359
|
+
if (selectedPt.x > parsedFrame[0] && selectedPt.x < parsedFrame[2] && selectedPt.y > parsedFrame[1] && selectedPt.y < parsedFrame[3]) {
|
|
360
|
+
this.isAnnotationSelected = true;
|
|
361
|
+
this.selectedAnnotationIndex = index;
|
|
362
|
+
var isHighlighted = this.previouslySelectedAnnotationId === this.currentAnnotationNumber ? false : true;
|
|
363
|
+
this.previouslySelectedAnnotationId = this.previouslySelectedAnnotationId === this.currentAnnotationNumber ? null : this.previouslySelectedAnnotationId;
|
|
364
|
+
this.drawAnnotation(annotation, isHighlighted);
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
this.previouslySelectedAnnotationId = this.previouslySelectedAnnotationId === this.currentAnnotationNumber ? null : this.previouslySelectedAnnotationId;
|
|
368
|
+
this.drawAnnotation(annotation, false);
|
|
369
|
+
}
|
|
370
|
+
;
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Generate random color except blue and white
|
|
375
|
+
*/
|
|
376
|
+
getRandomColor() {
|
|
377
|
+
var letters = '0123456789ABCDEF';
|
|
378
|
+
var color = '#';
|
|
379
|
+
for (var i = 0; i < 6; i++) {
|
|
380
|
+
color += letters[Math.floor(Math.random() * 16)];
|
|
381
|
+
}
|
|
382
|
+
if (color === "#0000FF" || color === "#FFFFFF") {
|
|
383
|
+
this.getRandomColor();
|
|
384
|
+
}
|
|
385
|
+
return color;
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Zoom in image canvas on click event
|
|
389
|
+
*/
|
|
390
|
+
imageZoomIn() {
|
|
391
|
+
this.scale /= this.scaleMultiplier;
|
|
392
|
+
this.renderImageOnCanvas(this.annotation, false);
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Zoom out image canvas on click event
|
|
396
|
+
*/
|
|
397
|
+
imageZoomOut() {
|
|
398
|
+
this.scale *= this.scaleMultiplier;
|
|
399
|
+
this.renderImageOnCanvas(this.annotation, false);
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Expand image canvas on click
|
|
403
|
+
*/
|
|
404
|
+
expandCanvas() {
|
|
405
|
+
this.isCanvasExpanded = !this.isCanvasExpanded;
|
|
406
|
+
if (this.isCanvasExpanded) {
|
|
407
|
+
this.dialogRef.updateSize('100vw', '100vh');
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
this.dialogRef.updateSize('80vw', '80vh');
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
ImageWidgetLightboxViewComponent.ɵfac = function ImageWidgetLightboxViewComponent_Factory(t) { return new (t || ImageWidgetLightboxViewComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
|
|
415
|
+
ImageWidgetLightboxViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ImageWidgetLightboxViewComponent, selectors: [["lib-image-widget-lightbox-view"]], hostBindings: function ImageWidgetLightboxViewComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
416
|
+
i0.ɵɵlistener("mousewheel", function ImageWidgetLightboxViewComponent_mousewheel_HostBindingHandler($event) { return ctx.click($event); }, false, i0.ɵɵresolveWindow);
|
|
417
|
+
} }, outputs: { expandCanvasDialog: "expandCanvasDialog" }, decls: 26, vars: 15, consts: [["mat-dialog-content", "", 1, "light-box-container", "flex", "h-full", "flex-col", "sm:flex-row", "relative"], [1, "mat-left-container"], ["id", "annotationsCanvas", 1, "relative", "z-10", 3, "ngClass", "click"], ["canvas", ""], [3, "disabled", "click", 4, "ngIf"], [1, "lightbox-image-zoom-in-out"], ["class", "cursor-pointer eye-icon z-20", 3, "svgIcon", "click", 4, "ngIf"], [1, "cursor-pointer", "z-20", 3, "svgIcon", "ngClass", "click"], [1, "cursor-pointer", "z-20", 3, "svgIcon", "click"], ["class", "\n spinner-border\n animate-spin\n loaders\n ", "role", "status", 3, "ngClass", 4, "ngIf"], [1, "mat-right-container", "sm:relative", "bg-white", "customscroll", "sm:pr-5", "px-5", "pt-0", "pb-5"], [1, "sticky", "top-0", "pt-4", "bg-white", "z-10", "hidden", "sm:block"], ["id", "close-icon", 1, "absolute", 3, "click"], [1, "py-4", "comments"], [1, "block", "sm:hidden", "flex", "justify-between", "sticky", "top-0", "z-10", "bg-white"], [1, "py-4", "bg-white", "commments"], [1, "block", "relative"], ["class", "comment-box axo-font text-sm", 4, "ngIf"], ["class", "comment-box", 4, "ngIf"], [3, "disabled", "click"], [1, "lightbox-image-left-arrow", 3, "svgIcon"], [1, "lightbox-image-right-arrow", 3, "svgIcon"], [1, "cursor-pointer", "eye-icon", "z-20", 3, "svgIcon", "click"], ["role", "status", 1, "spinner-border", "animate-spin", "loaders", 3, "ngClass"], [1, "visually-hidden"], [1, "comment-box", "axo-font", "text-sm"], ["class", "comment-box-container flex gap-4 pb-4", 4, "ngFor", "ngForOf"], [1, "comment-box-container", "flex", "gap-4", "pb-4"], [1, "image-lightbox-index-wrapper"], [1, "image-lightbox-index", 3, "ngStyle", "click"], [1, "w-full", "customscroll", 3, "ngStyle", "click"], [1, "comment-box"]], template: function ImageWidgetLightboxViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
418
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
419
|
+
i0.ɵɵelementStart(1, "div", 1);
|
|
420
|
+
i0.ɵɵelementStart(2, "canvas", 2, 3);
|
|
421
|
+
i0.ɵɵlistener("click", function ImageWidgetLightboxViewComponent_Template_canvas_click_2_listener($event) { return ctx.onCanvasClick($event); });
|
|
422
|
+
i0.ɵɵelementEnd();
|
|
423
|
+
i0.ɵɵtemplate(4, ImageWidgetLightboxViewComponent_button_4_Template, 2, 2, "button", 4);
|
|
424
|
+
i0.ɵɵtemplate(5, ImageWidgetLightboxViewComponent_button_5_Template, 2, 2, "button", 4);
|
|
425
|
+
i0.ɵɵelementStart(6, "div", 5);
|
|
426
|
+
i0.ɵɵtemplate(7, ImageWidgetLightboxViewComponent_mat_icon_7_Template, 1, 1, "mat-icon", 6);
|
|
427
|
+
i0.ɵɵelementStart(8, "mat-icon", 7);
|
|
428
|
+
i0.ɵɵlistener("click", function ImageWidgetLightboxViewComponent_Template_mat_icon_click_8_listener() { return ctx.expandCanvas(); });
|
|
429
|
+
i0.ɵɵelementEnd();
|
|
430
|
+
i0.ɵɵelementStart(9, "mat-icon", 8);
|
|
431
|
+
i0.ɵɵlistener("click", function ImageWidgetLightboxViewComponent_Template_mat_icon_click_9_listener() { return ctx.imageZoomIn(); });
|
|
432
|
+
i0.ɵɵelementEnd();
|
|
433
|
+
i0.ɵɵelementStart(10, "mat-icon", 8);
|
|
434
|
+
i0.ɵɵlistener("click", function ImageWidgetLightboxViewComponent_Template_mat_icon_click_10_listener() { return ctx.imageZoomOut(); });
|
|
435
|
+
i0.ɵɵelementEnd();
|
|
436
|
+
i0.ɵɵelementEnd();
|
|
437
|
+
i0.ɵɵtemplate(11, ImageWidgetLightboxViewComponent_div_11_Template, 3, 3, "div", 9);
|
|
438
|
+
i0.ɵɵelementEnd();
|
|
439
|
+
i0.ɵɵelementStart(12, "div", 10);
|
|
440
|
+
i0.ɵɵelementStart(13, "div", 11);
|
|
441
|
+
i0.ɵɵelementStart(14, "mat-icon", 12);
|
|
442
|
+
i0.ɵɵlistener("click", function ImageWidgetLightboxViewComponent_Template_mat_icon_click_14_listener() { return ctx.closeDialog(); });
|
|
443
|
+
i0.ɵɵtext(15, "close");
|
|
444
|
+
i0.ɵɵelementEnd();
|
|
445
|
+
i0.ɵɵelementStart(16, "div", 13);
|
|
446
|
+
i0.ɵɵtext(17, "Comments");
|
|
447
|
+
i0.ɵɵelementEnd();
|
|
448
|
+
i0.ɵɵelementEnd();
|
|
449
|
+
i0.ɵɵelementStart(18, "div", 14);
|
|
450
|
+
i0.ɵɵelementStart(19, "div", 15);
|
|
451
|
+
i0.ɵɵtext(20, "Comments");
|
|
452
|
+
i0.ɵɵelementEnd();
|
|
453
|
+
i0.ɵɵelementStart(21, "div", 16);
|
|
454
|
+
i0.ɵɵelementStart(22, "mat-icon", 12);
|
|
455
|
+
i0.ɵɵlistener("click", function ImageWidgetLightboxViewComponent_Template_mat_icon_click_22_listener() { return ctx.closeDialog(); });
|
|
456
|
+
i0.ɵɵtext(23, "close");
|
|
457
|
+
i0.ɵɵelementEnd();
|
|
458
|
+
i0.ɵɵelementEnd();
|
|
459
|
+
i0.ɵɵelementEnd();
|
|
460
|
+
i0.ɵɵtemplate(24, ImageWidgetLightboxViewComponent_div_24_Template, 2, 1, "div", 17);
|
|
461
|
+
i0.ɵɵtemplate(25, ImageWidgetLightboxViewComponent_div_25_Template, 2, 0, "div", 18);
|
|
462
|
+
i0.ɵɵelementEnd();
|
|
463
|
+
i0.ɵɵelementEnd();
|
|
464
|
+
} if (rf & 2) {
|
|
465
|
+
i0.ɵɵadvance(2);
|
|
466
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(11, _c3, !ctx.imageLoaded));
|
|
467
|
+
i0.ɵɵadvance(2);
|
|
468
|
+
i0.ɵɵproperty("ngIf", !ctx.disablePreviousButton && ctx.imageLoaded);
|
|
469
|
+
i0.ɵɵadvance(1);
|
|
470
|
+
i0.ɵɵproperty("ngIf", !ctx.disableNextButton && ctx.imageLoaded);
|
|
471
|
+
i0.ɵɵadvance(2);
|
|
472
|
+
i0.ɵɵproperty("ngIf", ctx.isImageWithAnnotations);
|
|
473
|
+
i0.ɵɵadvance(1);
|
|
474
|
+
i0.ɵɵproperty("svgIcon", ctx.isCanvasExpanded ? "axo_img_compress" : "axo_fullscreen")("ngClass", i0.ɵɵpureFunction1(13, _c4, ctx.isCanvasExpanded));
|
|
475
|
+
i0.ɵɵadvance(1);
|
|
476
|
+
i0.ɵɵproperty("svgIcon", "axo_zoom_in");
|
|
477
|
+
i0.ɵɵadvance(1);
|
|
478
|
+
i0.ɵɵproperty("svgIcon", "axo_zoom_out");
|
|
479
|
+
i0.ɵɵadvance(1);
|
|
480
|
+
i0.ɵɵproperty("ngIf", !ctx.imageLoaded);
|
|
481
|
+
i0.ɵɵadvance(13);
|
|
482
|
+
i0.ɵɵproperty("ngIf", ctx.annotation == null ? null : ctx.annotation.annotations.length);
|
|
483
|
+
i0.ɵɵadvance(1);
|
|
484
|
+
i0.ɵɵproperty("ngIf", (ctx.annotation == null ? null : ctx.annotation.annotations.length) === 0 || (ctx.annotation == null ? null : ctx.annotation.annotations) === null);
|
|
485
|
+
} }, directives: [i2.NgClass, i3.DefaultClassDirective, i2.NgIf, i4.MatIcon, i2.NgForOf, i2.NgStyle, i3.DefaultStyleDirective, i5.MatCard], styles: ["lib-image-widget-lightbox-view .mat-left-container{position:relative;flex:70%;width:70%;display:flex;justify-content:center;align-items:center;background-color:#10172b}lib-image-widget-lightbox-view .mat-left-container .lightbox-image-left-arrow{position:absolute;top:50%;left:1rem;cursor:pointer;z-index:20}lib-image-widget-lightbox-view .mat-left-container .lightbox-image-right-arrow{position:absolute;top:50%;right:1rem;cursor:pointer;z-index:20}lib-image-widget-lightbox-view .mat-left-container .loaders{display:inline-block;width:2rem;height:2rem;border-width:4px;border-radius:100%;color:#a855f7;position:absolute;inset:50%;z-index:0}lib-image-widget-lightbox-view .mat-right-container{width:30%;flex:30%}lib-image-widget-lightbox-view .mat-right-container #close-icon{right:-16px;top:5px;font-size:16px}lib-image-widget-lightbox-view .mat-right-container .comment-box-container{font-family:Open Sans,Arial,sans-serif}lib-image-widget-lightbox-view .mat-right-container .comment-box-container .image-lightbox-index-wrapper{display:flex;height:3.374rem;align-items:center}lib-image-widget-lightbox-view .mat-right-container .comment-box-container .image-lightbox-index-wrapper .image-lightbox-index{height:1.313rem;min-width:1.313rem;min-height:1.313rem;text-align:center;border-radius:100%;font-size:12px;font-weight:600;color:#fff;line-height:1.413rem}lib-image-widget-lightbox-view .mat-right-container .comment-box-container mat-card{background:#F2F4FA;border:none;box-shadow:none!important;font-size:.8rem;font-family:Open Sans,Arial,sans-serif}lib-image-widget-lightbox-view #annotationsCanvas{max-width:100%}lib-image-widget-lightbox-view .mat-card{min-width:auto}@media only screen and (max-width: 600px){lib-image-widget-lightbox-view .mat-left-container{flex:100%;width:100%}lib-image-widget-lightbox-view .mat-right-container{flex:100%;width:100%}lib-image-widget-lightbox-view #close-icon{top:.5rem!important}}lib-image-widget-lightbox-view .comments{font-size:1rem;cursor:default}lib-image-widget-lightbox-view .lightbox-image-zoom-in-out{position:absolute;bottom:0;right:0;display:flex;flex-direction:column;grid-row-gap:.5rem;row-gap:.5rem;justify-content:center;align-items:center;margin-right:.4rem;margin-bottom:.6rem}lib-image-widget-lightbox-view .comment-box{cursor:default}.imagelightbox-container mat-dialog-container{padding:0}\n"], encapsulation: 2 });
|
|
486
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImageWidgetLightboxViewComponent, [{
|
|
487
|
+
type: Component,
|
|
488
|
+
args: [{ selector: 'lib-image-widget-lightbox-view', encapsulation: ViewEncapsulation.None, template: "<div mat-dialog-content class=\"light-box-container flex h-full flex-col sm:flex-row relative\">\n<div class=\"mat-left-container\">\n <canvas id=\"annotationsCanvas\" (click)=\"onCanvasClick($event)\" #canvas class=\"relative z-10\" [ngClass]=\"{'opacity-50': !imageLoaded}\">\n\n </canvas>\n <button *ngIf=\"!disablePreviousButton && imageLoaded\" (click)=\"showPreviousImage()\" [disabled]=\"!imageLoaded\"><mat-icon class=\"lightbox-image-left-arrow\" [svgIcon]=\"'axo_left_arrow'\" ></mat-icon></button>\n <button *ngIf=\"!disableNextButton && imageLoaded\" (click)=\"showNextImage()\" [disabled]=\"!imageLoaded\"><mat-icon class=\"lightbox-image-right-arrow\" [svgIcon]=\"'axo_right_arrow'\" ></mat-icon></button>\n <div class=\"lightbox-image-zoom-in-out\">\n <mat-icon *ngIf=\"isImageWithAnnotations\" (click)=\"showImageWithoutAnnotations()\" [svgIcon]=\"showImage ?'axo_anotation_show':'axo_anotation_hide'\" class=\"cursor-pointer eye-icon z-20\"></mat-icon>\n <mat-icon (click)=\"expandCanvas()\" [svgIcon]=\"isCanvasExpanded ?'axo_img_compress':'axo_fullscreen'\" class=\"cursor-pointer z-20\" [ngClass]=\"{'expand': isCanvasExpanded}\"></mat-icon>\n <mat-icon (click)=\"imageZoomIn()\" [svgIcon]=\"'axo_zoom_in'\" class=\"cursor-pointer z-20\"></mat-icon>\n <mat-icon (click)=\"imageZoomOut()\"[svgIcon]=\"'axo_zoom_out'\" class=\"cursor-pointer z-20\"></mat-icon>\n </div>\n <div class=\"\n spinner-border\n animate-spin\n loaders\n \" role=\"status\" *ngIf=\"!imageLoaded\" [ngClass]=\"{'z-50': !imageLoaded}\">\n <span class=\"visually-hidden\">Loading...</span>\n </div>\n</div>\n\n <div class=\"mat-right-container sm:relative bg-white customscroll sm:pr-5 px-5 pt-0 pb-5\">\n <div class=\"sticky top-0 pt-4 bg-white z-10 hidden sm:block\">\n <mat-icon id=\"close-icon\" (click)=\"closeDialog()\" class=\"absolute\">close</mat-icon>\n <div class=\"py-4 comments\">Comments</div>\n </div>\n <div class=\"block sm:hidden flex justify-between sticky top-0 z-10 bg-white\">\n <div class=\"py-4 bg-white commments\">Comments</div>\n <div class=\"block relative\">\n <mat-icon id=\"close-icon\" (click)=\"closeDialog()\" class=\"absolute\">close</mat-icon> \n </div>\n \n </div>\n <div class=\"comment-box axo-font text-sm\" *ngIf=\"annotation?.annotations.length\">\n <div class=\"comment-box-container flex gap-4 pb-4\" *ngFor=\"let item of annotation?.annotations; let i= index\">\n <div class=\"image-lightbox-index-wrapper\">\n <div class=\"image-lightbox-index\" [ngStyle]=\"{'background-color': item.color ,'border': (isAnnotationSelected && i === selectedAnnotationIndex && previouslySelectedAnnotationId === selectedAnnotationIndex) ?'1px solid #0000FF':''}\" (click)=\"selectAnnotation(i)\">{{i+1}}</div>\n </div>\n <mat-card class=\"w-full customscroll\" [ngStyle]=\"{'border': (isAnnotationSelected && i === selectedAnnotationIndex && previouslySelectedAnnotationId === selectedAnnotationIndex) ?'1px solid #0000FF':''}\" (click)=\"selectAnnotation(i)\">{{item.notes}}</mat-card> \n </div>\n </div>\n <div class=\"comment-box\" *ngIf=\"annotation?.annotations.length === 0 || annotation?.annotations === null\">No comments available\n \n </div>\n </div>\n</div>\n", styles: ["lib-image-widget-lightbox-view .mat-left-container{position:relative;flex:70%;width:70%;display:flex;justify-content:center;align-items:center;background-color:#10172b}lib-image-widget-lightbox-view .mat-left-container .lightbox-image-left-arrow{position:absolute;top:50%;left:1rem;cursor:pointer;z-index:20}lib-image-widget-lightbox-view .mat-left-container .lightbox-image-right-arrow{position:absolute;top:50%;right:1rem;cursor:pointer;z-index:20}lib-image-widget-lightbox-view .mat-left-container .loaders{display:inline-block;width:2rem;height:2rem;border-width:4px;border-radius:100%;color:#a855f7;position:absolute;inset:50%;z-index:0}lib-image-widget-lightbox-view .mat-right-container{width:30%;flex:30%}lib-image-widget-lightbox-view .mat-right-container #close-icon{right:-16px;top:5px;font-size:16px}lib-image-widget-lightbox-view .mat-right-container .comment-box-container{font-family:Open Sans,Arial,sans-serif}lib-image-widget-lightbox-view .mat-right-container .comment-box-container .image-lightbox-index-wrapper{display:flex;height:3.374rem;align-items:center}lib-image-widget-lightbox-view .mat-right-container .comment-box-container .image-lightbox-index-wrapper .image-lightbox-index{height:1.313rem;min-width:1.313rem;min-height:1.313rem;text-align:center;border-radius:100%;font-size:12px;font-weight:600;color:#fff;line-height:1.413rem}lib-image-widget-lightbox-view .mat-right-container .comment-box-container mat-card{background:#F2F4FA;border:none;box-shadow:none!important;font-size:.8rem;font-family:Open Sans,Arial,sans-serif}lib-image-widget-lightbox-view #annotationsCanvas{max-width:100%}lib-image-widget-lightbox-view .mat-card{min-width:auto}@media only screen and (max-width: 600px){lib-image-widget-lightbox-view .mat-left-container{flex:100%;width:100%}lib-image-widget-lightbox-view .mat-right-container{flex:100%;width:100%}lib-image-widget-lightbox-view #close-icon{top:.5rem!important}}lib-image-widget-lightbox-view .comments{font-size:1rem;cursor:default}lib-image-widget-lightbox-view .lightbox-image-zoom-in-out{position:absolute;bottom:0;right:0;display:flex;flex-direction:column;grid-row-gap:.5rem;row-gap:.5rem;justify-content:center;align-items:center;margin-right:.4rem;margin-bottom:.6rem}lib-image-widget-lightbox-view .comment-box{cursor:default}.imagelightbox-container mat-dialog-container{padding:0}\n"] }]
|
|
489
|
+
}], function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
490
|
+
type: Inject,
|
|
491
|
+
args: [MAT_DIALOG_DATA]
|
|
492
|
+
}] }]; }, { expandCanvasDialog: [{
|
|
493
|
+
type: Output
|
|
494
|
+
}], click: [{
|
|
495
|
+
type: HostListener,
|
|
496
|
+
args: ['window:mousewheel', ['$event']]
|
|
497
|
+
}] }); })();
|
|
498
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2F4LWFwcC1jb21tb24tbGliL3NyYy9saWIvZm9ybS1vYmplY3QvZm9ybS1vYmplY3Qtdmlldy9mb3JtLW9iamVjdC13aWRnZXRzL2ltYWdlLXdpZGdldC12aWV3L2ltYWdlLXdpZGdldC1saWdodGJveC12aWV3L2ltYWdlLXdpZGdldC1saWdodGJveC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9heC1hcHAtY29tbW9uLWxpYi9zcmMvbGliL2Zvcm0tb2JqZWN0L2Zvcm0tb2JqZWN0LXZpZXcvZm9ybS1vYmplY3Qtd2lkZ2V0cy9pbWFnZS13aWRnZXQtdmlldy9pbWFnZS13aWRnZXQtbGlnaHRib3gtdmlldy9pbWFnZS13aWRnZXQtbGlnaHRib3gtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQWEsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7O0lDRzVELGtDQUE4RztJQUF4RCxnTEFBUywwQkFBbUIsSUFBQztJQUEyQiwrQkFBcUY7SUFBQSxpQkFBUzs7O0lBQXhILDhDQUF5QjtJQUE2QyxlQUE0QjtJQUE1QiwwQ0FBNEI7Ozs7SUFDdEwsa0NBQXdHO0lBQXJELGlMQUFTLHNCQUFlLElBQUM7SUFBNEIsK0JBQXVGO0lBQUEsaUJBQVM7OztJQUExSCw4Q0FBeUI7SUFBOEMsZUFBNkI7SUFBN0IsMkNBQTZC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QkFBYSxJQUFDO1FBQWtCLHNCQUFLO1FBQUEsaUJBQVc7UUFDbkYsZ0NBQTJCO1FBQUEseUJBQVE7UUFBQSxpQkFBTTtRQUMzQyxpQkFBTTtRQUNOLGdDQUE2RTtRQUMzRSxnQ0FBcUM7UUFBQSx5QkFBUTtRQUFBLGlCQUFNO1FBQ25ELGdDQUE0QjtRQUMxQixxQ0FBbUU7UUFBekMsZ0hBQVMsaUJBQWEsSUFBQztRQUFrQixzQkFBSztRQUFBLGlCQUFXO1FBQ3JGLGlCQUFNO1FBRVIsaUJBQU07UUFDTixvRkFPTTtRQUNOLG9GQUVNO1FBQ1IsaUJBQU07UUFDUixpQkFBTTs7UUE1QzJGLGVBQXdDO1FBQXhDLHVFQUF3QztRQUc5SCxlQUEyQztRQUEzQyxvRUFBMkM7UUFDM0MsZUFBd0M7UUFBeEMsZ0VBQXdDO1FBRXBDLGVBQTRCO1FBQTVCLGlEQUE0QjtRQUNKLGVBQWlFO1FBQWpFLHNGQUFpRSw4REFBQTtRQUNsRSxlQUF5QjtRQUF6Qix1Q0FBeUI7UUFDeEIsZUFBMEI7UUFBMUIsd0NBQTBCO1FBTTVDLGVBQWtCO1FBQWxCLHVDQUFrQjtRQWlCUSxnQkFBb0M7UUFBcEMsd0ZBQW9DO1FBUXJELGVBQThFO1FBQTlFLHlLQUE4RTs7dUZEL0IvRixnQ0FBZ0M7Y0FONUMsU0FBUzsyQkFDRSxnQ0FBZ0MsaUJBRzNCLGlCQUFpQixDQUFDLElBQUk7O3NCQW9DbEMsTUFBTTt1QkFBQyxlQUFlO3dCQUxmLGtCQUFrQjtrQkFBM0IsTUFBTTtZQXdEUCxLQUFLO2tCQURKLFlBQVk7bUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbmplY3QsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBBeG9VdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2F4by11dGlscy9heG8tdXRpbHMnO1xuaW1wb3J0IHsgQW5ub3RhdGlvblZhbHVlIH0gZnJvbSAnLi4vaW1hZ2UtYW5ub3RhdGlvbi1kYXRhLWR0byc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1pbWFnZS13aWRnZXQtbGlnaHRib3gtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS13aWRnZXQtbGlnaHRib3gtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltYWdlLXdpZGdldC1saWdodGJveC12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VXaWRnZXRMaWdodGJveFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBhbm5vdGF0aW9uVmFsdWVEYXRhOiBBcnJheTxBbm5vdGF0aW9uVmFsdWU+O1xuICBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50O1xuICBzZWxlY3RlZEltYWdlSWQ6IG51bWJlcjtcbiAgZGlzYWJsZU5leHRCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGlzYWJsZVByZXZpb3VzQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQW5ub3RhdGlvblNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGFubm90YXRpb246IEFubm90YXRpb25WYWx1ZTtcbiAgY3R4O1xuICBzZWxlY3RlZEFubm90YXRpb25JbmRleDogbnVtYmVyO1xuICBjdXJyZW50QW5ub3RhdGlvbk51bWJlcjogbnVtYmVyO1xuICBzaG93SW1hZ2U6IGJvb2xlYW4gPSB0cnVlO1xuICBhbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWw6IGFueTtcbiAgc2NhbGU6IG51bWJlciA9IDAuMjtcbiAgc2NhbGVNdWx0aXBsaWVyOiBudW1iZXIgPSAwLjg7XG4gIHN0YXJ0RHJhZ09mZnNldCA9IHsgeDogMCwgeTogMCB9O1xuICBtb3VzZURvd24gPSBmYWxzZTtcbiAgdHJhbnNsYXRlUG9zOiBhbnkgPSB7XG4gICAgeDogMCxcbiAgICB5OiAwXG4gIH07XG4gIG1vdXNlUG9zaXRpb246IGFueTtcbiAgZGlhbG9nOiBNYXREaWFsb2c7XG4gIGlzQ2FudmFzRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmF0aW86IG51bWJlcjtcbiAgY2VudGVyU2hpZnRfeDogbnVtYmVyO1xuICBjZW50ZXJTaGlmdF95OiBudW1iZXI7XG4gIGlzSW1hZ2VXaXRoQW5ub3RhdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkIDogbnVtYmVyO1xuICBAT3V0cHV0KCkgZXhwYW5kQ2FudmFzRGlhbG9nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgaW1hZ2VMb2FkZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEltYWdlV2lkZ2V0TGlnaHRib3hWaWV3Q29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGFubm90YXRpb25EYXRhOiBhbnlcbiAgKSB7IH1cblxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYW5ub3RhdGlvblZhbHVlRGF0YSA9IHRoaXMuYW5ub3RhdGlvbkRhdGEudmlld3Jlcy5maWVsZC52YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkSW1hZ2VJZCA9IHRoaXMuYW5ub3RhdGlvbkRhdGEuc2VsZWN0ZWRJbWFnZUlkO1xuICAgIHRoaXMuYW5ub3RhdGlvbiA9IHRoaXMuYW5ub3RhdGlvblZhbHVlRGF0YS5maW5kKChhbm5vdGF0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLnNlbGVjdGVkSW1hZ2VJZDtcbiAgICB9KTtcbiAgICB0aGlzLmRpc2FibGVQcmV2aW91c0J1dHRvbiA9IHRoaXMuc2VsZWN0ZWRJbWFnZUlkID09PSAwID8gdHJ1ZSA6IGZhbHNlO1xuICAgIHRoaXMuZGlzYWJsZU5leHRCdXR0b24gPSB0aGlzLnNlbGVjdGVkSW1hZ2VJZCA9PT0gKHRoaXMuYW5ub3RhdGlvblZhbHVlRGF0YS5sZW5ndGggLSAxICk/IHRydWUgOiBmYWxzZTtcbiAgICB0aGlzLmNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYW5ub3RhdGlvbnNDYW52YXNcIikgYXMgSFRNTENhbnZhc0VsZW1lbnQ7XG4gICAgdGhpcy5jYW52YXMuc3R5bGUud2lkdGggPSAnMTAwJSc7XG4gICAgdGhpcy5jYW52YXMuc3R5bGUuaGVpZ2h0ID0gJzEwMCUnO1xuICAgIHRoaXMuY2FudmFzLndpZHRoID0gdGhpcy5jYW52YXMub2Zmc2V0V2lkdGg7XG4gICAgdGhpcy5jYW52YXMuaGVpZ2h0ID0gdGhpcy5jYW52YXMub2Zmc2V0SGVpZ2h0O1xuICAgIHRoaXMuY3R4ID0gdGhpcy5jYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICB0aGlzLnNldEltYWdlRm9yQW5ub3RhdGlvbih0cnVlKTtcblxuXG4gICAgLy8gYWRkIGV2ZW50IGxpc3RlbmVycyB0byBoYW5kbGUgc2NyZWVuIGRyYWdcbiAgICB0aGlzLmNhbnZhcy5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIChldnQpID0+IHtcbiAgICAgIHRoaXMubW91c2VEb3duID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3RhcnREcmFnT2Zmc2V0LnggPSBldnQuY2xpZW50WCAtIHRoaXMudHJhbnNsYXRlUG9zLng7XG4gICAgICB0aGlzLnN0YXJ0RHJhZ09mZnNldC55ID0gZXZ0LmNsaWVudFkgLSB0aGlzLnRyYW5zbGF0ZVBvcy55O1xuICAgIH0pO1xuXG4gICAgdGhpcy5jYW52YXMuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNldXBcIiwgKGV2dCkgPT4ge1xuICAgICAgdGhpcy5tb3VzZURvd24gPSBmYWxzZTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW92ZXJcIiwgKGV2dCkgPT4ge1xuICAgICAgdGhpcy5tb3VzZURvd24gPSBmYWxzZTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW91dFwiLCAoZXZ0KSA9PiB7XG4gICAgICB0aGlzLm1vdXNlRG93biA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jYW52YXMuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCAoZXZ0KSA9PiB7XG4gICAgICBpZiAodGhpcy5tb3VzZURvd24pIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVQb3MueCA9IGV2dC5jbGllbnRYIC0gdGhpcy5zdGFydERyYWdPZmZzZXQueDtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVQb3MueSA9IGV2dC5jbGllbnRZIC0gdGhpcy5zdGFydERyYWdPZmZzZXQueTtcbiAgICAgICAgdGhpcy5yZW5kZXJJbWFnZU9uQ2FudmFzKHRoaXMuYW5ub3RhdGlvbiwgZmFsc2UpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2V3aGVlbCcsIFsnJGV2ZW50J10pXG4gIGNsaWNrKGV2ZW50KTogdm9pZCB7XG4gICAgdmFyIGRlbHRhID0gZXZlbnQud2hlZWxEZWx0YSA/IGV2ZW50LndoZWVsRGVsdGEgLyA0MCA6IGV2ZW50LmRldGFpbCA/IC1ldmVudC5kZXRhaWwgOiAwO1xuICAgIGlmIChkZWx0YSkgdGhpcy56b29tSW1hZ2UoZGVsdGEpO1xuICB9XG5cbiAgem9vbUltYWdlKGRlbHRhKSB7XG4gICAgaWYgKGRlbHRhID09IDEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGRlbHRhID4gMCkge1xuICAgICAgdGhpcy5zY2FsZSAvPSB0aGlzLnNjYWxlTXVsdGlwbGllcjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zY2FsZSAqPSB0aGlzLnNjYWxlTXVsdGlwbGllcjtcbiAgICB9XG4gICAgdGhpcy5yZW5kZXJJbWFnZU9uQ2FudmFzKHRoaXMuYW5ub3RhdGlvbiwgZmFsc2UpO1xuICB9XG5cbiAgc2V0SW1hZ2VGb3JBbm5vdGF0aW9uKGlzRmlyc3RUaW1lUmVuZGVyKSB7XG4gICAgdGhpcy5hbm5vdGF0aW9uID0gdGhpcy5hbm5vdGF0aW9uVmFsdWVEYXRhLmZpbmQoKGFubm90YXRpb24sIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuc2VsZWN0ZWRJbWFnZUlkO1xuICAgIH0pO1xuICAgIHRoaXMuaXNJbWFnZVdpdGhBbm5vdGF0aW9ucyA9IHRoaXMuYW5ub3RhdGlvbj8uYW5ub3RhdGlvbnM/Lmxlbmd0aCA/IHRydWUgOiBmYWxzZTtcbiAgICBpZiAodGhpcy5hbm5vdGF0aW9uICE9IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hbm5vdGF0aW9uLmltYWdlID0gQXhvVXRpbHMucmVtb3ZlU2xhc2hGcm9tSW1hZ2VVcmwodGhpcy5hbm5vdGF0aW9uLmltYWdlKTtcbiAgICAgIGlmICghdGhpcy5pc0Fubm90YXRpb25TZWxlY3RlZCkge1xuICAgICAgICB0aGlzLmRyYXdJbWFnZSh0aGlzLmFubm90YXRpb24sIGlzRmlyc3RUaW1lUmVuZGVyKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5hbm5vdGF0aW9uPy5hbm5vdGF0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgIHZhciBzZWxlY3RlZEFubm90YXRpb24gPSB0aGlzLmFubm90YXRpb24uYW5ub3RhdGlvbnMuZmluZCgoYW5ub3RhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9uSW5kZXg7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyID0gdGhpcy5zZWxlY3RlZEFubm90YXRpb25JbmRleDtcbiAgICAgICAgdGhpcy5kcmF3QW5ub3RhdGlvbihzZWxlY3RlZEFubm90YXRpb24sIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIHNob3dQcmV2aW91c0ltYWdlKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSW1hZ2VJZCA+PSAwKSB7XG4gICAgICB0aGlzLmlzQW5ub3RhdGlvblNlbGVjdGVkID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZEltYWdlSWQgPiAwKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbWFnZUlkID0gdGhpcy5zZWxlY3RlZEltYWdlSWQgLSAxO1xuICAgICAgICB0aGlzLmRpc2FibGVQcmV2aW91c0J1dHRvbiA9IHRoaXMuc2VsZWN0ZWRJbWFnZUlkID09PSAwID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLmRpc2FibGVOZXh0QnV0dG9uID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2V0SW1hZ2VGb3JBbm5vdGF0aW9uKHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlUHJldmlvdXNCdXR0b24gPSB0aGlzLnNlbGVjdGVkSW1hZ2VJZCA9PT0gMCA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNob3dOZXh0SW1hZ2UoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbWFnZUlkIDwgdGhpcy5hbm5vdGF0aW9uVmFsdWVEYXRhLmxlbmd0aCkge1xuICAgICAgdGhpcy5pc0Fubm90YXRpb25TZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RlZEltYWdlSWQgPSB0aGlzLnNlbGVjdGVkSW1hZ2VJZCArIDE7XG4gICAgICB0aGlzLmRpc2FibGVOZXh0QnV0dG9uID0gdGhpcy5zZWxlY3RlZEltYWdlSWQgPT09ICh0aGlzLmFubm90YXRpb25WYWx1ZURhdGEubGVuZ3RoIC0gMSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICB0aGlzLmRpc2FibGVQcmV2aW91c0J1dHRvbiA9IGZhbHNlO1xuICAgICAgdGhpcy5zZXRJbWFnZUZvckFubm90YXRpb24odHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgZHJhd0ltYWdlKGFubm90YXRpb246IEFubm90YXRpb25WYWx1ZSwgaXNGaXJzdFRpbWVSZW5kZXIpIHtcbiAgICBpZiAoYW5ub3RhdGlvbikge1xuICAgICAgdGhpcy5pbWFnZUxvYWRlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwgPSBuZXcgSW1hZ2UoKTtcbiAgICAgIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLnNyYyA9IHRoaXMuYW5ub3RhdGlvbkRhdGEuYmFzZVVybCArIGFubm90YXRpb24uaW1hZ2U7XG4gICAgICB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuaW1hZ2VMb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNjYWxlID0gTWF0aC5taW4odGhpcy5jYW52YXMud2lkdGggLyB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC53aWR0aCwgdGhpcy5jYW52YXMuaGVpZ2h0IC8gdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwuaGVpZ2h0KTtcbiAgICAgICAgdGhpcy5yZW5kZXJJbWFnZU9uQ2FudmFzKGFubm90YXRpb24sIGlzRmlyc3RUaW1lUmVuZGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZW5kZXJJbWFnZU9uQ2FudmFzKGFubm90YXRpb24sIGlzRmlyc3RUaW1lUmVuZGVyKSB7XG4gICAgaWYgKGlzRmlyc3RUaW1lUmVuZGVyKSB7XG4gICAgICB0aGlzLmN0eC5yZXN0b3JlKCk7XG4gICAgICB0aGlzLmN0eC5jbGVhclJlY3QoMCwgMCwgdGhpcy5jYW52YXMud2lkdGgsIHRoaXMuY2FudmFzLmhlaWdodCk7XG4gICAgICB0aGlzLmN0eC5zYXZlKCk7XG4gICAgICB2YXIgY3R4Q2FudmFzID0gdGhpcy5jdHguY2FudmFzO1xuICAgICAgdmFyIGhSYXRpbyA9IGN0eENhbnZhcy53aWR0aCAvIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLm5hdHVyYWxXaWR0aDtcbiAgICAgIHZhciB2UmF0aW8gPSBjdHhDYW52YXMuaGVpZ2h0IC8gdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwubmF0dXJhbEhlaWdodDtcbiAgICAgIHZhciByYXRpbyA9IE1hdGgubWluKGhSYXRpbywgdlJhdGlvKTtcbiAgICAgIHZhciBjZW50ZXJTaGlmdF94ID0gKGN0eENhbnZhcy53aWR0aCAtIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLm5hdHVyYWxXaWR0aCAqIHJhdGlvKSAvIDI7XG4gICAgICB2YXIgY2VudGVyU2hpZnRfeSA9IChjdHhDYW52YXMuaGVpZ2h0IC0gdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwubmF0dXJhbEhlaWdodCAqIHJhdGlvKSAvIDI7XG4gICAgICB0aGlzLmN0eC5kcmF3SW1hZ2UodGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwsIDAsIDAsIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLm5hdHVyYWxXaWR0aCwgdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwubmF0dXJhbEhlaWdodCwgY2VudGVyU2hpZnRfeCwgY2VudGVyU2hpZnRfeSwgdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwubmF0dXJhbFdpZHRoICogcmF0aW8sIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLm5hdHVyYWxIZWlnaHQgKiByYXRpbyk7XG4gICAgICB0aGlzLnRyYW5zbGF0ZVBvcyA9IHsgeDogY2VudGVyU2hpZnRfeCwgeTogY2VudGVyU2hpZnRfeSB9O1xuICAgICAgdGhpcy5jdHgudHJhbnNsYXRlKHRoaXMudHJhbnNsYXRlUG9zLngsIHRoaXMudHJhbnNsYXRlUG9zLnkpO1xuICAgICAgdGhpcy5jdHguc2NhbGUodGhpcy5zY2FsZSwgdGhpcy5zY2FsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vbGV0IHJlY3QgPSB0aGlzLmNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIC8vaWYocmVjdC5sZWZ0ID49IHRoaXMudHJhbnNsYXRlUG9zLnggJiYgcmVjdC50b3AgPj0gdGhpcy50cmFuc2xhdGVQb3MueSkge1xuICAgICAgICB0aGlzLmN0eC5yZXN0b3JlKCk7XG4gICAgICAgIHRoaXMuY3R4LmNsZWFyUmVjdCgwLCAwLCB0aGlzLmNhbnZhcy53aWR0aCwgdGhpcy5jYW52YXMuaGVpZ2h0KTtcbiAgICAgICAgdGhpcy5jdHguc2F2ZSgpO1xuICAgICAgICB0aGlzLmN0eC50cmFuc2xhdGUodGhpcy50cmFuc2xhdGVQb3MueCwgdGhpcy50cmFuc2xhdGVQb3MueSk7XG4gICAgICAgIHRoaXMuY3R4LnNjYWxlKHRoaXMuc2NhbGUsIHRoaXMuc2NhbGUpO1xuICAgICAgICB0aGlzLmN0eC5kcmF3SW1hZ2UodGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwsIDAsIDAsIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLndpZHRoLCB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5oZWlnaHQpO1xuICAgICAgLy99XG5cbiAgICAgIFxuICAgIH1cbiAgICBpZiAodGhpcy5zaG93SW1hZ2UgJiYgYW5ub3RhdGlvbj8uYW5ub3RhdGlvbnMubGVuZ3RoKSB7XG4gICAgICBhbm5vdGF0aW9uLmFubm90YXRpb25zLmZvckVhY2goKGFubm90YXRpb24sIGluZGV4KSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPSBpbmRleDtcbiAgICAgICAgdGhpcy5kcmF3QW5ub3RhdGlvbihhbm5vdGF0aW9uLCBmYWxzZSk7XG4gICAgICB9KTtcbiAgICB9XG5cblxuICB9XG5cbiAgY2xvc2VEaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZmFsc2UpO1xuICB9XG5cbiAgZHJhd0Fubm90YXRpb24oYW5ub3RhdGlvbkRhdGEsIGlzSGlnaGxpZ2h0ZWQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaG93SW1hZ2UgJiYgYW5ub3RhdGlvbkRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jdHguYmVnaW5QYXRoKCk7XG4gICAgICB2YXIgY2VudGVyWDtcbiAgICAgIHZhciBjZW50ZXJZO1xuICAgICAgYW5ub3RhdGlvbkRhdGEucGF0aC5mb3JFYWNoKChwYXRoVmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHBhdGhWYWx1ZS50eXBlID09IFwibVwiKSB7XG4gICAgICAgICAgdmFyIHN0YXJ0aW5nX3BvaW50ID0gW107XG4gICAgICAgICAgc3RhcnRpbmdfcG9pbnQgPSBwYXRoVmFsdWUucG9pbnRzLnNwbGl0KCcsJyk7XG4gICAgICAgICAgdGhpcy5jdHgubW92ZVRvKHN0YXJ0aW5nX3BvaW50WzBdLCBzdGFydGluZ19wb2ludFsxXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHBhdGhWYWx1ZS50eXBlID09IFwicVwiKSB7XG4gICAgICAgICAgICB2YXIgcG9pbnRzID0gW107XG4gICAgICAgICAgICBwb2ludHMgPSBwYXRoVmFsdWUucG9pbnRzLnNwbGl0KCcsJyk7XG4gICAgICAgICAgICBpZiAoIWNlbnRlclggJiYgIWNlbnRlclkpIHtcbiAgICAgICAgICAgICAgY2VudGVyWCA9IHBvaW50c1swXTtcbiAgICAgICAgICAgICAgY2VudGVyWSA9IHBvaW50c1sxXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY3R4LnF1YWRyYXRpY0N1cnZlVG8ocG9pbnRzWzBdLCBwb2ludHNbMV0sIHBvaW50c1syXSwgcG9pbnRzWzNdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgY2VudGVyWCA9IGNlbnRlclggKyAxNTtcbiAgICAgIGNlbnRlclkgPSBjZW50ZXJZIC0gMTU7XG4gICAgICBpc0hpZ2hsaWdodGVkID0gdGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPT09IHRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPyBmYWxzZTogaXNIaWdobGlnaHRlZDtcbiAgICAgIHZhciByYW5kb21Db2xvciA9IGlzSGlnaGxpZ2h0ZWQgPyBcImJsdWVcIiA6IGFubm90YXRpb25EYXRhLmNvbG9yICE9IG51bGwgPyBhbm5vdGF0aW9uRGF0YS5jb2xvciA6IHRoaXMuZ2V0UmFuZG9tQ29sb3IoKTtcbiAgICAgIGFubm90YXRpb25EYXRhLmNvbG9yID0gcmFuZG9tQ29sb3IgPT09IFwiYmx1ZVwiID8gYW5ub3RhdGlvbkRhdGEuY29sb3IgOiByYW5kb21Db2xvcjtcbiAgICAgIHRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID0gaXNIaWdobGlnaHRlZD90aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyOnRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkO1xuICAgICAgdGhpcy5jdHguc3Ryb2tlU3R5bGUgPSByYW5kb21Db2xvcjtcbiAgICAgIHRoaXMuY3R4LmxpbmVXaWR0aCA9IDU7XG4gICAgICB0aGlzLmN0eC5zdHJva2UoKTtcbiAgICAgIHRoaXMuY3R4LmNsb3NlUGF0aCgpO1xuICAgICAgdGhpcy5jdHguYmVnaW5QYXRoKCk7XG4gICAgICB0aGlzLmN0eC5hcmMoY2VudGVyWCwgY2VudGVyWSwgNywgMCwgMiAqIE1hdGguUEkpO1xuICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gcmFuZG9tQ29sb3I7XG4gICAgICB0aGlzLmN0eC5maWxsKCk7XG4gICAgICB0aGlzLmN0eC5jbG9zZVBhdGgoKTtcbiAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgdGhpcy5jdHgudGV4dEFsaWduID0gXCJjZW50ZXJcIjtcbiAgICAgIHRoaXMuY3R4LnRleHRCYXNlbGluZSA9IFwibWlkZGxlXCI7XG4gICAgICB0aGlzLmN0eC5maWxsU3R5bGUgPSAnd2hpdGUnO1xuICAgICAgdGhpcy5jdHguZm9udFNpemUgPSAnMTJweCBBcmlhbCc7XG4gICAgICB0aGlzLmN0eC5maWxsVGV4dCh0aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyICsgMSwgY2VudGVyWCwgY2VudGVyWSlcbiAgICAgIHRoaXMuY3R4LnN0cm9rZSgpO1xuICAgICAgdGhpcy5jdHguY2xvc2VQYXRoKCk7XG4gICAgfVxuICB9XG5cbiAgc2hvd0ltYWdlV2l0aG91dEFubm90YXRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0ltYWdlID0gIXRoaXMuc2hvd0ltYWdlO1xuICAgIHRoaXMuZHJhd0ltYWdlKHRoaXMuYW5ub3RhdGlvbiwgZmFsc2UpO1xuICB9XG5cbiAgc2VsZWN0QW5ub3RhdGlvbihzZWxlY3RlZEluZGV4KSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbWFnZUlkID49IDApIHtcbiAgICAgIHRoaXMuYW5ub3RhdGlvbiA9IHRoaXMuYW5ub3RhdGlvblZhbHVlRGF0YS5maW5kKChhbm5vdGF0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuc2VsZWN0ZWRJbWFnZUlkO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmFubm90YXRpb24uYW5ub3RhdGlvbnMuZm9yRWFjaCgoYW5ub3RhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFubm90YXRpb25JbmRleCA9IHNlbGVjdGVkSW5kZXg7XG4gICAgICAgIHRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPSBpbmRleDtcbiAgICAgICAgdGhpcy5pc0Fubm90YXRpb25TZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5zZWxlY3RlZEFubm90YXRpb25JbmRleCAmJiB0aGlzLmFubm90YXRpb24uYW5ub3RhdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5pc0Fubm90YXRpb25TZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgdmFyIGlzSGlnaGxpZ2h0ZWQgPSB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9PT10aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyID8gZmFsc2U6dHJ1ZTtcbiAgICAgICAgICB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9IHRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID09PXRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPyBudWxsOnRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkO1xuICAgICAgICAgIFxuICAgICAgICAgIHRoaXMuZHJhd0Fubm90YXRpb24oYW5ub3RhdGlvbiwgaXNIaWdobGlnaHRlZCk7XG4gICAgICAgIH1cbiAgICAgICBlbHNlIGlmICh0aGlzLmFubm90YXRpb24uYW5ub3RhdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5kcmF3QW5ub3RhdGlvbihhbm5vdGF0aW9uLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2FudmFzQ2xpY2soZXZlbnQpIHtcbiAgICB0aGlzLmlzQW5ub3RhdGlvblNlbGVjdGVkID0gZmFsc2U7XG4gICAgbGV0IHJlY3QgPSB0aGlzLmNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLm1vdXNlUG9zaXRpb24gPSB7XG4gICAgICB4OiBldmVudC5wYWdlWCAtIHJlY3QubGVmdCxcbiAgICAgIHk6IGV2ZW50LnBhZ2VZIC0gcmVjdC50b3BcbiAgICB9XG4gICAgdGhpcy5nZXRTZWxlY3RlZENvbW1lbnQoKTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkQ29tbWVudCgpIHtcbiAgICB0aGlzLmFubm90YXRpb24uYW5ub3RhdGlvbnMuZm9yRWFjaCgoYW5ub3RhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgIHZhciBmcmFtZSA9IGFubm90YXRpb24uZnJhbWUuc3BsaXQoXCIsXCIpO1xuICAgICAgdmFyIHBhcnNlZEZyYW1lID0gW107XG4gICAgICBmb3IgKHZhciBpIGluIGZyYW1lKSB7XG4gICAgICAgIHBhcnNlZEZyYW1lW2ldID0gcGFyc2VGbG9hdChmcmFtZVtpXSkgKiB0aGlzLnNjYWxlO1xuICAgICAgfVxuICAgICAgbGV0IHNlbGVjdGVkUHQgPSB7XG4gICAgICAgIHg6IHRoaXMubW91c2VQb3NpdGlvbi54IC0gdGhpcy50cmFuc2xhdGVQb3MueCxcbiAgICAgICAgeTogdGhpcy5tb3VzZVBvc2l0aW9uLnkgLSB0aGlzLnRyYW5zbGF0ZVBvcy55XG4gICAgICB9O1xuICAgICAgdGhpcy5jdXJyZW50QW5ub3RhdGlvbk51bWJlciA9IGluZGV4O1xuICAgICAgaWYgKHNlbGVjdGVkUHQueCA+IHBhcnNlZEZyYW1lWzBdICYmIHNlbGVjdGVkUHQueCA8IHBhcnNlZEZyYW1lWzJdICYmIHNlbGVjdGVkUHQueSA+IHBhcnNlZEZyYW1lWzFdICYmIHNlbGVjdGVkUHQueSA8IHBhcnNlZEZyYW1lWzNdKSB7XG4gICAgICAgIHRoaXMuaXNBbm5vdGF0aW9uU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbkluZGV4ID0gaW5kZXg7XG4gICAgICAgIHZhciBpc0hpZ2hsaWdodGVkID0gdGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPT09IHRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPyBmYWxzZTp0cnVlO1xuICAgICAgICB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9IHRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID09PXRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPyBudWxsOnRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkO1xuICAgICAgICB0aGlzLmRyYXdBbm5vdGF0aW9uKGFubm90YXRpb24sIGlzSGlnaGxpZ2h0ZWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPSB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9PT10aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyID8gbnVsbDp0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZDtcbiAgICAgICAgdGhpcy5kcmF3QW5ub3RhdGlvbihhbm5vdGF0aW9uLCBmYWxzZSlcbiAgICAgIH07XG4gICAgfVxuICAgICk7XG4gIH1cblxuXG4gIC8qKlxuICAgICogR2VuZXJhdGUgcmFuZG9tIGNvbG9yIGV4Y2VwdCBibHVlIGFuZCB3aGl0ZVxuICAgICovXG4gIGdldFJhbmRvbUNvbG9yKCkge1xuICAgIHZhciBsZXR0ZXJzID0gJzAxMjM0NTY3ODlBQkNERUYnO1xuICAgIHZhciBjb2xvciA9ICcjJztcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDY7IGkrKykge1xuICAgICAgY29sb3IgKz0gbGV0dGVyc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxNildO1xuICAgIH1cbiAgICBpZiAoY29sb3IgPT09IFwiIzAwMDBGRlwiIHx8IGNvbG9yID09PSBcIiNGRkZGRkZcIikge1xuICAgICAgdGhpcy5nZXRSYW5kb21Db2xvcigpO1xuICAgIH1cbiAgICByZXR1cm4gY29sb3I7XG4gIH1cblxuXG4gIC8qKlxuICAgICAqICAgWm9vbSBpbiBpbWFnZSBjYW52YXMgb24gY2xpY2sgZXZlbnRcbiAgKi9cbiAgaW1hZ2Vab29tSW4oKSB7XG4gICAgdGhpcy5zY2FsZSAvPSB0aGlzLnNjYWxlTXVsdGlwbGllcjtcbiAgICB0aGlzLnJlbmRlckltYWdlT25DYW52YXModGhpcy5hbm5vdGF0aW9uLCBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICAgKiAgIFpvb20gb3V0IGltYWdlIGNhbnZhcyBvbiBjbGljayBldmVudFxuICAqL1xuICBpbWFnZVpvb21PdXQoKSB7XG4gICAgdGhpcy5zY2FsZSAqPSB0aGlzLnNjYWxlTXVsdGlwbGllcjtcbiAgICB0aGlzLnJlbmRlckltYWdlT25DYW52YXModGhpcy5hbm5vdGF0aW9uLCBmYWxzZSk7XG4gIH1cblxuXG4gIC8qKlxuICAgICogIEV4cGFuZCBpbWFnZSBjYW52YXMgb24gY2xpY2tcbiAqL1xuICBleHBhbmRDYW52YXMoKSB7XG4gICAgdGhpcy5pc0NhbnZhc0V4cGFuZGVkID0gIXRoaXMuaXNDYW52YXNFeHBhbmRlZDtcbiAgICBpZiAodGhpcy5pc0NhbnZhc0V4cGFuZGVkKSB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi51cGRhdGVTaXplKCcxMDB2dycsICcxMDB2aCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi51cGRhdGVTaXplKCc4MHZ3JywgJzgwdmgnKTtcbiAgICB9XG4gIH1cblxuXG59XG4iLCI8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImxpZ2h0LWJveC1jb250YWluZXIgZmxleCBoLWZ1bGwgZmxleC1jb2wgc206ZmxleC1yb3cgcmVsYXRpdmVcIj5cbjxkaXYgY2xhc3M9XCJtYXQtbGVmdC1jb250YWluZXJcIj5cbiAgICA8Y2FudmFzIGlkPVwiYW5ub3RhdGlvbnNDYW52YXNcIiAoY2xpY2spPVwib25DYW52YXNDbGljaygkZXZlbnQpXCIgI2NhbnZhcyBjbGFzcz1cInJlbGF0aXZlIHotMTBcIiBbbmdDbGFzc109XCJ7J29wYWNpdHktNTAnOiAhaW1hZ2VMb2FkZWR9XCI+XG5cbiAgICA8L2NhbnZhcz5cbiAgPGJ1dHRvbiAqbmdJZj1cIiFkaXNhYmxlUHJldmlvdXNCdXR0b24gJiYgaW1hZ2VMb2FkZWRcIiAoY2xpY2spPVwic2hvd1ByZXZpb3VzSW1hZ2UoKVwiIFtkaXNhYmxlZF09XCIhaW1hZ2VMb2FkZWRcIj48bWF0LWljb24gY2xhc3M9XCJsaWdodGJveC1pbWFnZS1sZWZ0LWFycm93XCIgW3N2Z0ljb25dPVwiJ2F4b19sZWZ0X2Fycm93J1wiID48L21hdC1pY29uPjwvYnV0dG9uPlxuICA8YnV0dG9uICpuZ0lmPVwiIWRpc2FibGVOZXh0QnV0dG9uICAmJiBpbWFnZUxvYWRlZFwiIChjbGljayk9XCJzaG93TmV4dEltYWdlKClcIiAgW2Rpc2FibGVkXT1cIiFpbWFnZUxvYWRlZFwiPjxtYXQtaWNvbiBjbGFzcz1cImxpZ2h0Ym94LWltYWdlLXJpZ2h0LWFycm93XCIgW3N2Z0ljb25dPVwiJ2F4b19yaWdodF9hcnJvdydcIiA+PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgPGRpdiBjbGFzcz1cImxpZ2h0Ym94LWltYWdlLXpvb20taW4tb3V0XCI+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaXNJbWFnZVdpdGhBbm5vdGF0aW9uc1wiIChjbGljayk9XCJzaG93SW1hZ2VXaXRob3V0QW5ub3RhdGlvbnMoKVwiIFtzdmdJY29uXT1cInNob3dJbWFnZSA/J2F4b19hbm90YXRpb25fc2hvdyc6J2F4b19hbm90YXRpb25faGlkZSdcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIGV5ZS1pY29uIHotMjBcIj48L21hdC1pY29uPlxuICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiZXhwYW5kQ2FudmFzKClcIiBbc3ZnSWNvbl09XCJpc0NhbnZhc0V4cGFuZGVkID8nYXhvX2ltZ19jb21wcmVzcyc6J2F4b19mdWxsc2NyZWVuJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgei0yMFwiIFtuZ0NsYXNzXT1cInsnZXhwYW5kJzogaXNDYW52YXNFeHBhbmRlZH1cIj48L21hdC1pY29uPlxuICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiaW1hZ2Vab29tSW4oKVwiIFtzdmdJY29uXT1cIidheG9fem9vbV9pbidcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIHotMjBcIj48L21hdC1pY29uPlxuICAgIDxtYXQtaWNvbiAgKGNsaWNrKT1cImltYWdlWm9vbU91dCgpXCJbc3ZnSWNvbl09XCInYXhvX3pvb21fb3V0J1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgei0yMFwiPjwvbWF0LWljb24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiXG4gICAgICBzcGlubmVyLWJvcmRlclxuICAgICAgYW5pbWF0ZS1zcGluXG4gICAgICBsb2FkZXJzXG4gICAgXCIgcm9sZT1cInN0YXR1c1wiICpuZ0lmPVwiIWltYWdlTG9hZGVkXCIgW25nQ2xhc3NdPVwieyd6LTUwJzogIWltYWdlTG9hZGVkfVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5Mb2FkaW5nLi4uPC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1hdC1yaWdodC1jb250YWluZXIgc206cmVsYXRpdmUgYmctd2hpdGUgY3VzdG9tc2Nyb2xsIHNtOnByLTUgcHgtNSBwdC0wIHBiLTVcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RpY2t5IHRvcC0wIHB0LTQgYmctd2hpdGUgei0xMCBoaWRkZW4gc206YmxvY2tcIj5cbiAgICAgIDxtYXQtaWNvbiBpZD1cImNsb3NlLWljb25cIiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiIGNsYXNzPVwiYWJzb2x1dGVcIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICA8ZGl2IGNsYXNzPVwicHktNCBjb21tZW50c1wiPkNvbW1lbnRzPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJsb2NrIHNtOmhpZGRlbiBmbGV4IGp1c3RpZnktYmV0d2VlbiBzdGlja3kgdG9wLTAgei0xMCBiZy13aGl0ZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInB5LTQgYmctd2hpdGUgY29tbW1lbnRzXCI+Q29tbWVudHM8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJibG9jayByZWxhdGl2ZVwiPlxuICAgICAgICA8bWF0LWljb24gaWQ9XCJjbG9zZS1pY29uXCIgKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIiBjbGFzcz1cImFic29sdXRlXCI+Y2xvc2U8L21hdC1pY29uPiAgXG4gICAgICA8L2Rpdj5cbiAgICBcbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1ib3ggYXhvLWZvbnQgdGV4dC1zbVwiICpuZ0lmPVwiYW5ub3RhdGlvbj8uYW5ub3RhdGlvbnMubGVuZ3RoXCI+XG4gICAgICA8ZGl2ICBjbGFzcz1cImNvbW1lbnQtYm94LWNvbnRhaW5lciBmbGV4IGdhcC00IHBiLTRcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhbm5vdGF0aW9uPy5hbm5vdGF0aW9uczsgbGV0IGk9IGluZGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZS1saWdodGJveC1pbmRleC13cmFwcGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlLWxpZ2h0Ym94LWluZGV4XCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogaXRlbS5jb2xvciAsJ2JvcmRlcic6IChpc0Fubm90YXRpb25TZWxlY3RlZCAmJiBpID09PSBzZWxlY3RlZEFubm90YXRpb25JbmRleCAmJiBwcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPT09IHNlbGVjdGVkQW5ub3RhdGlvbkluZGV4KSA/JzFweCBzb2xpZCAjMDAwMEZGJzonJ31cIiAoY2xpY2spPVwic2VsZWN0QW5ub3RhdGlvbihpKVwiPnt7aSsxfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtY2FyZCBjbGFzcz1cInctZnVsbCBjdXN0b21zY3JvbGxcIiAgW25nU3R5bGVdPVwieydib3JkZXInOiAoaXNBbm5vdGF0aW9uU2VsZWN0ZWQgJiYgaSA9PT0gc2VsZWN0ZWRBbm5vdGF0aW9uSW5kZXggJiYgcHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID09PSBzZWxlY3RlZEFubm90YXRpb25JbmRleCkgPycxcHggc29saWQgIzAwMDBGRic6Jyd9XCIgKGNsaWNrKT1cInNlbGVjdEFubm90YXRpb24oaSlcIj57e2l0ZW0ubm90ZXN9fTwvbWF0LWNhcmQ+ICBcbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWJveFwiICpuZ0lmPVwiYW5ub3RhdGlvbj8uYW5ub3RhdGlvbnMubGVuZ3RoID09PSAwIHx8IGFubm90YXRpb24/LmFubm90YXRpb25zID09PSBudWxsXCI+Tm8gY29tbWVudHMgYXZhaWxhYmxlXG4gICAgICBcbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|