ax-common-ui-lib 1.0.0-beta.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-common-ui-lib.component.mjs +26 -0
- package/esm2020/lib/ax-common-ui-lib.module.mjs +147 -0
- package/esm2020/lib/ax-common-ui-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-common-ui-lib.component.d.ts +8 -0
- package/lib/ax-common-ui-lib.module.d.ts +24 -0
- package/lib/ax-common-ui-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2F4LWNvbW1vbi11aS1saWIvc3JjL2xpYi9mb3JtLW9iamVjdC9mb3JtLW9iamVjdC12aWV3L2Zvcm0tb2JqZWN0LXdpZGdldHMvaW1hZ2Utd2lkZ2V0LXZpZXcvaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcvaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2F4LWNvbW1vbi11aS1saWIvc3JjL2xpYi9mb3JtLW9iamVjdC9mb3JtLW9iamVjdC12aWV3L2Zvcm0tb2JqZWN0LXdpZGdldHMvaW1hZ2Utd2lkZ2V0LXZpZXcvaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcvaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFhLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7OztJQ0c1RCxrQ0FBOEc7SUFBeEQsZ0xBQVMsMEJBQW1CLElBQUM7SUFBMkIsK0JBQXFGO0lBQUEsaUJBQVM7OztJQUF4SCw4Q0FBeUI7SUFBNkMsZUFBNEI7SUFBNUIsMENBQTRCOzs7O0lBQ3RMLGtDQUF3RztJQUFyRCxpTEFBUyxzQkFBZSxJQUFDO0lBQTRCLCtCQUF1RjtJQUFBLGlCQUFTOzs7SUFBMUgsOENBQXlCO0lBQThDLGVBQTZCO0lBQTdCLDJDQUE2Qjs7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QWEsSUFBQztRQUFrQixzQkFBSztRQUFBLGlCQUFXO1FBQ25GLGdDQUEyQjtRQUFBLHlCQUFRO1FBQUEsaUJBQU07UUFDM0MsaUJBQU07UUFDTixnQ0FBNkU7UUFDM0UsZ0NBQXFDO1FBQUEseUJBQVE7UUFBQSxpQkFBTTtRQUNuRCxnQ0FBNEI7UUFDMUIscUNBQW1FO1FBQXpDLGdIQUFTLGlCQUFhLElBQUM7UUFBa0Isc0JBQUs7UUFBQSxpQkFBVztRQUNyRixpQkFBTTtRQUVSLGlCQUFNO1FBQ04sb0ZBT007UUFDTixvRkFFTTtRQUNSLGlCQUFNO1FBQ1IsaUJBQU07O1FBNUMyRixlQUF3QztRQUF4Qyx1RUFBd0M7UUFHOUgsZUFBMkM7UUFBM0Msb0VBQTJDO1FBQzNDLGVBQXdDO1FBQXhDLGdFQUF3QztRQUVwQyxlQUE0QjtRQUE1QixpREFBNEI7UUFDSixlQUFpRTtRQUFqRSxzRkFBaUUsOERBQUE7UUFDbEUsZUFBeUI7UUFBekIsdUNBQXlCO1FBQ3hCLGVBQTBCO1FBQTFCLHdDQUEwQjtRQU01QyxlQUFrQjtRQUFsQix1Q0FBa0I7UUFpQlEsZ0JBQW9DO1FBQXBDLHdGQUFvQztRQVFyRCxlQUE4RTtRQUE5RSx5S0FBOEU7O3VGRC9CL0YsZ0NBQWdDO2NBTjVDLFNBQVM7MkJBQ0UsZ0NBQWdDLGlCQUczQixpQkFBaUIsQ0FBQyxJQUFJOztzQkFvQ2xDLE1BQU07dUJBQUMsZUFBZTt3QkFMZixrQkFBa0I7a0JBQTNCLE1BQU07WUF3RFAsS0FBSztrQkFESixZQUFZO21CQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQXhvVXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9heG8tdXRpbHMvYXhvLXV0aWxzJztcbmltcG9ydCB7IEFubm90YXRpb25WYWx1ZSB9IGZyb20gJy4uL2ltYWdlLWFubm90YXRpb24tZGF0YS1kdG8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS13aWRnZXQtbGlnaHRib3gtdmlldy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlV2lkZ2V0TGlnaHRib3hWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYW5ub3RhdGlvblZhbHVlRGF0YTogQXJyYXk8QW5ub3RhdGlvblZhbHVlPjtcbiAgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudDtcbiAgc2VsZWN0ZWRJbWFnZUlkOiBudW1iZXI7XG4gIGRpc2FibGVOZXh0QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG4gIGRpc2FibGVQcmV2aW91c0J1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0Fubm90YXRpb25TZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBhbm5vdGF0aW9uOiBBbm5vdGF0aW9uVmFsdWU7XG4gIGN0eDtcbiAgc2VsZWN0ZWRBbm5vdGF0aW9uSW5kZXg6IG51bWJlcjtcbiAgY3VycmVudEFubm90YXRpb25OdW1iZXI6IG51bWJlcjtcbiAgc2hvd0ltYWdlOiBib29sZWFuID0gdHJ1ZTtcbiAgYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsOiBhbnk7XG4gIHNjYWxlOiBudW1iZXIgPSAwLjI7XG4gIHNjYWxlTXVsdGlwbGllcjogbnVtYmVyID0gMC44O1xuICBzdGFydERyYWdPZmZzZXQgPSB7IHg6IDAsIHk6IDAgfTtcbiAgbW91c2VEb3duID0gZmFsc2U7XG4gIHRyYW5zbGF0ZVBvczogYW55ID0ge1xuICAgIHg6IDAsXG4gICAgeTogMFxuICB9O1xuICBtb3VzZVBvc2l0aW9uOiBhbnk7XG4gIGRpYWxvZzogTWF0RGlhbG9nO1xuICBpc0NhbnZhc0V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHJhdGlvOiBudW1iZXI7XG4gIGNlbnRlclNoaWZ0X3g6IG51bWJlcjtcbiAgY2VudGVyU2hpZnRfeTogbnVtYmVyO1xuICBpc0ltYWdlV2l0aEFubm90YXRpb25zOiBib29sZWFuID0gZmFsc2U7XG4gIHByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA6IG51bWJlcjtcbiAgQE91dHB1dCgpIGV4cGFuZENhbnZhc0RpYWxvZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGltYWdlTG9hZGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxJbWFnZVdpZGdldExpZ2h0Ym94Vmlld0NvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBhbm5vdGF0aW9uRGF0YTogYW55XG4gICkgeyB9XG5cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFubm90YXRpb25WYWx1ZURhdGEgPSB0aGlzLmFubm90YXRpb25EYXRhLnZpZXdyZXMuZmllbGQudmFsdWU7XG4gICAgdGhpcy5zZWxlY3RlZEltYWdlSWQgPSB0aGlzLmFubm90YXRpb25EYXRhLnNlbGVjdGVkSW1hZ2VJZDtcbiAgICB0aGlzLmFubm90YXRpb24gPSB0aGlzLmFubm90YXRpb25WYWx1ZURhdGEuZmluZCgoYW5ub3RhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgIHJldHVybiBpbmRleCA9PT0gdGhpcy5zZWxlY3RlZEltYWdlSWQ7XG4gICAgfSk7XG4gICAgdGhpcy5kaXNhYmxlUHJldmlvdXNCdXR0b24gPSB0aGlzLnNlbGVjdGVkSW1hZ2VJZCA9PT0gMCA/IHRydWUgOiBmYWxzZTtcbiAgICB0aGlzLmRpc2FibGVOZXh0QnV0dG9uID0gdGhpcy5zZWxlY3RlZEltYWdlSWQgPT09ICh0aGlzLmFubm90YXRpb25WYWx1ZURhdGEubGVuZ3RoIC0gMSApPyB0cnVlIDogZmFsc2U7XG4gICAgdGhpcy5jYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImFubm90YXRpb25zQ2FudmFzXCIpIGFzIEhUTUxDYW52YXNFbGVtZW50O1xuICAgIHRoaXMuY2FudmFzLnN0eWxlLndpZHRoID0gJzEwMCUnO1xuICAgIHRoaXMuY2FudmFzLnN0eWxlLmhlaWdodCA9ICcxMDAlJztcbiAgICB0aGlzLmNhbnZhcy53aWR0aCA9IHRoaXMuY2FudmFzLm9mZnNldFdpZHRoO1xuICAgIHRoaXMuY2FudmFzLmhlaWdodCA9IHRoaXMuY2FudmFzLm9mZnNldEhlaWdodDtcbiAgICB0aGlzLmN0eCA9IHRoaXMuY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgdGhpcy5zZXRJbWFnZUZvckFubm90YXRpb24odHJ1ZSk7XG5cblxuICAgIC8vIGFkZCBldmVudCBsaXN0ZW5lcnMgdG8gaGFuZGxlIHNjcmVlbiBkcmFnXG4gICAgdGhpcy5jYW52YXMuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCAoZXZ0KSA9PiB7XG4gICAgICB0aGlzLm1vdXNlRG93biA9IHRydWU7XG4gICAgICB0aGlzLnN0YXJ0RHJhZ09mZnNldC54ID0gZXZ0LmNsaWVudFggLSB0aGlzLnRyYW5zbGF0ZVBvcy54O1xuICAgICAgdGhpcy5zdGFydERyYWdPZmZzZXQueSA9IGV2dC5jbGllbnRZIC0gdGhpcy50cmFuc2xhdGVQb3MueTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIsIChldnQpID0+IHtcbiAgICAgIHRoaXMubW91c2VEb3duID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNhbnZhcy5hZGRFdmVudExpc3RlbmVyKFwibW91c2VvdmVyXCIsIChldnQpID0+IHtcbiAgICAgIHRoaXMubW91c2VEb3duID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNhbnZhcy5hZGRFdmVudExpc3RlbmVyKFwibW91c2VvdXRcIiwgKGV2dCkgPT4ge1xuICAgICAgdGhpcy5tb3VzZURvd24gPSBmYWxzZTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgKGV2dCkgPT4ge1xuICAgICAgaWYgKHRoaXMubW91c2VEb3duKSB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlUG9zLnggPSBldnQuY2xpZW50WCAtIHRoaXMuc3RhcnREcmFnT2Zmc2V0Lng7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlUG9zLnkgPSBldnQuY2xpZW50WSAtIHRoaXMuc3RhcnREcmFnT2Zmc2V0Lnk7XG4gICAgICAgIHRoaXMucmVuZGVySW1hZ2VPbkNhbnZhcyh0aGlzLmFubm90YXRpb24sIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1vdXNld2hlZWwnLCBbJyRldmVudCddKVxuICBjbGljayhldmVudCk6IHZvaWQge1xuICAgIHZhciBkZWx0YSA9IGV2ZW50LndoZWVsRGVsdGEgPyBldmVudC53aGVlbERlbHRhIC8gNDAgOiBldmVudC5kZXRhaWwgPyAtZXZlbnQuZGV0YWlsIDogMDtcbiAgICBpZiAoZGVsdGEpIHRoaXMuem9vbUltYWdlKGRlbHRhKTtcbiAgfVxuXG4gIHpvb21JbWFnZShkZWx0YSkge1xuICAgIGlmIChkZWx0YSA9PSAxKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChkZWx0YSA+IDApIHtcbiAgICAgIHRoaXMuc2NhbGUgLz0gdGhpcy5zY2FsZU11bHRpcGxpZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2NhbGUgKj0gdGhpcy5zY2FsZU11bHRpcGxpZXI7XG4gICAgfVxuICAgIHRoaXMucmVuZGVySW1hZ2VPbkNhbnZhcyh0aGlzLmFubm90YXRpb24sIGZhbHNlKTtcbiAgfVxuXG4gIHNldEltYWdlRm9yQW5ub3RhdGlvbihpc0ZpcnN0VGltZVJlbmRlcikge1xuICAgIHRoaXMuYW5ub3RhdGlvbiA9IHRoaXMuYW5ub3RhdGlvblZhbHVlRGF0YS5maW5kKChhbm5vdGF0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLnNlbGVjdGVkSW1hZ2VJZDtcbiAgICB9KTtcbiAgICB0aGlzLmlzSW1hZ2VXaXRoQW5ub3RhdGlvbnMgPSB0aGlzLmFubm90YXRpb24/LmFubm90YXRpb25zPy5sZW5ndGggPyB0cnVlIDogZmFsc2U7XG4gICAgaWYgKHRoaXMuYW5ub3RhdGlvbiAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYW5ub3RhdGlvbi5pbWFnZSA9IEF4b1V0aWxzLnJlbW92ZVNsYXNoRnJvbUltYWdlVXJsKHRoaXMuYW5ub3RhdGlvbi5pbWFnZSk7XG4gICAgICBpZiAoIXRoaXMuaXNBbm5vdGF0aW9uU2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5kcmF3SW1hZ2UodGhpcy5hbm5vdGF0aW9uLCBpc0ZpcnN0VGltZVJlbmRlcik7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuYW5ub3RhdGlvbj8uYW5ub3RhdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgICB2YXIgc2VsZWN0ZWRBbm5vdGF0aW9uID0gdGhpcy5hbm5vdGF0aW9uLmFubm90YXRpb25zLmZpbmQoKGFubm90YXRpb24sIGluZGV4KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbkluZGV4O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jdXJyZW50QW5ub3RhdGlvbk51bWJlciA9IHRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9uSW5kZXg7XG4gICAgICAgIHRoaXMuZHJhd0Fubm90YXRpb24oc2VsZWN0ZWRBbm5vdGF0aW9uLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICBzaG93UHJldmlvdXNJbWFnZSgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEltYWdlSWQgPj0gMCkge1xuICAgICAgdGhpcy5pc0Fubm90YXRpb25TZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJbWFnZUlkID4gMCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW1hZ2VJZCA9IHRoaXMuc2VsZWN0ZWRJbWFnZUlkIC0gMTtcbiAgICAgICAgdGhpcy5kaXNhYmxlUHJldmlvdXNCdXR0b24gPSB0aGlzLnNlbGVjdGVkSW1hZ2VJZCA9PT0gMCA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5kaXNhYmxlTmV4dEJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNldEltYWdlRm9yQW5ub3RhdGlvbih0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZVByZXZpb3VzQnV0dG9uID0gdGhpcy5zZWxlY3RlZEltYWdlSWQgPT09IDAgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaG93TmV4dEltYWdlKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSW1hZ2VJZCA8IHRoaXMuYW5ub3RhdGlvblZhbHVlRGF0YS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaXNBbm5vdGF0aW9uU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbWFnZUlkID0gdGhpcy5zZWxlY3RlZEltYWdlSWQgKyAxO1xuICAgICAgdGhpcy5kaXNhYmxlTmV4dEJ1dHRvbiA9IHRoaXMuc2VsZWN0ZWRJbWFnZUlkID09PSAodGhpcy5hbm5vdGF0aW9uVmFsdWVEYXRhLmxlbmd0aCAtIDEpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgdGhpcy5kaXNhYmxlUHJldmlvdXNCdXR0b24gPSBmYWxzZTtcbiAgICAgIHRoaXMuc2V0SW1hZ2VGb3JBbm5vdGF0aW9uKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGRyYXdJbWFnZShhbm5vdGF0aW9uOiBBbm5vdGF0aW9uVmFsdWUsIGlzRmlyc3RUaW1lUmVuZGVyKSB7XG4gICAgaWYgKGFubm90YXRpb24pIHtcbiAgICAgIHRoaXMuaW1hZ2VMb2FkZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsID0gbmV3IEltYWdlKCk7XG4gICAgICB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5zcmMgPSB0aGlzLmFubm90YXRpb25EYXRhLmJhc2VVcmwgKyBhbm5vdGF0aW9uLmltYWdlO1xuICAgICAgdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwub25sb2FkID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmltYWdlTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zY2FsZSA9IE1hdGgubWluKHRoaXMuY2FudmFzLndpZHRoIC8gdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwud2lkdGgsIHRoaXMuY2FudmFzLmhlaWdodCAvIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLmhlaWdodCk7XG4gICAgICAgIHRoaXMucmVuZGVySW1hZ2VPbkNhbnZhcyhhbm5vdGF0aW9uLCBpc0ZpcnN0VGltZVJlbmRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVuZGVySW1hZ2VPbkNhbnZhcyhhbm5vdGF0aW9uLCBpc0ZpcnN0VGltZVJlbmRlcikge1xuICAgIGlmIChpc0ZpcnN0VGltZVJlbmRlcikge1xuICAgICAgdGhpcy5jdHgucmVzdG9yZSgpO1xuICAgICAgdGhpcy5jdHguY2xlYXJSZWN0KDAsIDAsIHRoaXMuY2FudmFzLndpZHRoLCB0aGlzLmNhbnZhcy5oZWlnaHQpO1xuICAgICAgdGhpcy5jdHguc2F2ZSgpO1xuICAgICAgdmFyIGN0eENhbnZhcyA9IHRoaXMuY3R4LmNhbnZhcztcbiAgICAgIHZhciBoUmF0aW8gPSBjdHhDYW52YXMud2lkdGggLyB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5uYXR1cmFsV2lkdGg7XG4gICAgICB2YXIgdlJhdGlvID0gY3R4Q2FudmFzLmhlaWdodCAvIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLm5hdHVyYWxIZWlnaHQ7XG4gICAgICB2YXIgcmF0aW8gPSBNYXRoLm1pbihoUmF0aW8sIHZSYXRpbyk7XG4gICAgICB2YXIgY2VudGVyU2hpZnRfeCA9IChjdHhDYW52YXMud2lkdGggLSB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5uYXR1cmFsV2lkdGggKiByYXRpbykgLyAyO1xuICAgICAgdmFyIGNlbnRlclNoaWZ0X3kgPSAoY3R4Q2FudmFzLmhlaWdodCAtIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLm5hdHVyYWxIZWlnaHQgKiByYXRpbykgLyAyO1xuICAgICAgdGhpcy5jdHguZHJhd0ltYWdlKHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLCAwLCAwLCB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5uYXR1cmFsV2lkdGgsIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLm5hdHVyYWxIZWlnaHQsIGNlbnRlclNoaWZ0X3gsIGNlbnRlclNoaWZ0X3ksIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLm5hdHVyYWxXaWR0aCAqIHJhdGlvLCB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5uYXR1cmFsSGVpZ2h0ICogcmF0aW8pO1xuICAgICAgdGhpcy50cmFuc2xhdGVQb3MgPSB7IHg6IGNlbnRlclNoaWZ0X3gsIHk6IGNlbnRlclNoaWZ0X3kgfTtcbiAgICAgIHRoaXMuY3R4LnRyYW5zbGF0ZSh0aGlzLnRyYW5zbGF0ZVBvcy54LCB0aGlzLnRyYW5zbGF0ZVBvcy55KTtcbiAgICAgIHRoaXMuY3R4LnNjYWxlKHRoaXMuc2NhbGUsIHRoaXMuc2NhbGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvL2xldCByZWN0ID0gdGhpcy5jYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAvL2lmKHJlY3QubGVmdCA+PSB0aGlzLnRyYW5zbGF0ZVBvcy54ICYmIHJlY3QudG9wID49IHRoaXMudHJhbnNsYXRlUG9zLnkpIHtcbiAgICAgICAgdGhpcy5jdHgucmVzdG9yZSgpO1xuICAgICAgICB0aGlzLmN0eC5jbGVhclJlY3QoMCwgMCwgdGhpcy5jYW52YXMud2lkdGgsIHRoaXMuY2FudmFzLmhlaWdodCk7XG4gICAgICAgIHRoaXMuY3R4LnNhdmUoKTtcbiAgICAgICAgdGhpcy5jdHgudHJhbnNsYXRlKHRoaXMudHJhbnNsYXRlUG9zLngsIHRoaXMudHJhbnNsYXRlUG9zLnkpO1xuICAgICAgICB0aGlzLmN0eC5zY2FsZSh0aGlzLnNjYWxlLCB0aGlzLnNjYWxlKTtcbiAgICAgICAgdGhpcy5jdHguZHJhd0ltYWdlKHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLCAwLCAwLCB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC53aWR0aCwgdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwuaGVpZ2h0KTtcbiAgICAgIC8vfVxuXG4gICAgICBcbiAgICB9XG4gICAgaWYgKHRoaXMuc2hvd0ltYWdlICYmIGFubm90YXRpb24/LmFubm90YXRpb25zLmxlbmd0aCkge1xuICAgICAgYW5ub3RhdGlvbi5hbm5vdGF0aW9ucy5mb3JFYWNoKChhbm5vdGF0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICB0aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyID0gaW5kZXg7XG4gICAgICAgIHRoaXMuZHJhd0Fubm90YXRpb24oYW5ub3RhdGlvbiwgZmFsc2UpO1xuICAgICAgfSk7XG4gICAgfVxuXG5cbiAgfVxuXG4gIGNsb3NlRGlhbG9nKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGZhbHNlKTtcbiAgfVxuXG4gIGRyYXdBbm5vdGF0aW9uKGFubm90YXRpb25EYXRhLCBpc0hpZ2hsaWdodGVkKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2hvd0ltYWdlICYmIGFubm90YXRpb25EYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgdmFyIGNlbnRlclg7XG4gICAgICB2YXIgY2VudGVyWTtcbiAgICAgIGFubm90YXRpb25EYXRhLnBhdGguZm9yRWFjaCgocGF0aFZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChwYXRoVmFsdWUudHlwZSA9PSBcIm1cIikge1xuICAgICAgICAgIHZhciBzdGFydGluZ19wb2ludCA9IFtdO1xuICAgICAgICAgIHN0YXJ0aW5nX3BvaW50ID0gcGF0aFZhbHVlLnBvaW50cy5zcGxpdCgnLCcpO1xuICAgICAgICAgIHRoaXMuY3R4Lm1vdmVUbyhzdGFydGluZ19wb2ludFswXSwgc3RhcnRpbmdfcG9pbnRbMV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChwYXRoVmFsdWUudHlwZSA9PSBcInFcIikge1xuICAgICAgICAgICAgdmFyIHBvaW50cyA9IFtdO1xuICAgICAgICAgICAgcG9pbnRzID0gcGF0aFZhbHVlLnBvaW50cy5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgaWYgKCFjZW50ZXJYICYmICFjZW50ZXJZKSB7XG4gICAgICAgICAgICAgIGNlbnRlclggPSBwb2ludHNbMF07XG4gICAgICAgICAgICAgIGNlbnRlclkgPSBwb2ludHNbMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmN0eC5xdWFkcmF0aWNDdXJ2ZVRvKHBvaW50c1swXSwgcG9pbnRzWzFdLCBwb2ludHNbMl0sIHBvaW50c1szXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNlbnRlclggPSBjZW50ZXJYICsgMTU7XG4gICAgICBjZW50ZXJZID0gY2VudGVyWSAtIDE1O1xuICAgICAgaXNIaWdobGlnaHRlZCA9IHRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID09PSB0aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyID8gZmFsc2U6IGlzSGlnaGxpZ2h0ZWQ7XG4gICAgICB2YXIgcmFuZG9tQ29sb3IgPSBpc0hpZ2hsaWdodGVkID8gXCJibHVlXCIgOiBhbm5vdGF0aW9uRGF0YS5jb2xvciAhPSBudWxsID8gYW5ub3RhdGlvbkRhdGEuY29sb3IgOiB0aGlzLmdldFJhbmRvbUNvbG9yKCk7XG4gICAgICBhbm5vdGF0aW9uRGF0YS5jb2xvciA9IHJhbmRvbUNvbG9yID09PSBcImJsdWVcIiA/IGFubm90YXRpb25EYXRhLmNvbG9yIDogcmFuZG9tQ29sb3I7XG4gICAgICB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9IGlzSGlnaGxpZ2h0ZWQ/dGhpcy5jdXJyZW50QW5ub3RhdGlvbk51bWJlcjp0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZDtcbiAgICAgIHRoaXMuY3R4LnN0cm9rZVN0eWxlID0gcmFuZG9tQ29sb3I7XG4gICAgICB0aGlzLmN0eC5saW5lV2lkdGggPSA1O1xuICAgICAgdGhpcy5jdHguc3Ryb2tlKCk7XG4gICAgICB0aGlzLmN0eC5jbG9zZVBhdGgoKTtcbiAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgdGhpcy5jdHguYXJjKGNlbnRlclgsIGNlbnRlclksIDcsIDAsIDIgKiBNYXRoLlBJKTtcbiAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9IHJhbmRvbUNvbG9yO1xuICAgICAgdGhpcy5jdHguZmlsbCgpO1xuICAgICAgdGhpcy5jdHguY2xvc2VQYXRoKCk7XG4gICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTtcbiAgICAgIHRoaXMuY3R4LnRleHRBbGlnbiA9IFwiY2VudGVyXCI7XG4gICAgICB0aGlzLmN0eC50ZXh0QmFzZWxpbmUgPSBcIm1pZGRsZVwiO1xuICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gJ3doaXRlJztcbiAgICAgIHRoaXMuY3R4LmZvbnRTaXplID0gJzEycHggQXJpYWwnO1xuICAgICAgdGhpcy5jdHguZmlsbFRleHQodGhpcy5jdXJyZW50QW5ub3RhdGlvbk51bWJlciArIDEsIGNlbnRlclgsIGNlbnRlclkpXG4gICAgICB0aGlzLmN0eC5zdHJva2UoKTtcbiAgICAgIHRoaXMuY3R4LmNsb3NlUGF0aCgpO1xuICAgIH1cbiAgfVxuXG4gIHNob3dJbWFnZVdpdGhvdXRBbm5vdGF0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dJbWFnZSA9ICF0aGlzLnNob3dJbWFnZTtcbiAgICB0aGlzLmRyYXdJbWFnZSh0aGlzLmFubm90YXRpb24sIGZhbHNlKTtcbiAgfVxuXG4gIHNlbGVjdEFubm90YXRpb24oc2VsZWN0ZWRJbmRleCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSW1hZ2VJZCA+PSAwKSB7XG4gICAgICB0aGlzLmFubm90YXRpb24gPSB0aGlzLmFubm90YXRpb25WYWx1ZURhdGEuZmluZCgoYW5ub3RhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLnNlbGVjdGVkSW1hZ2VJZDtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hbm5vdGF0aW9uLmFubm90YXRpb25zLmZvckVhY2goKGFubm90YXRpb24sIGluZGV4KSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9uSW5kZXggPSBzZWxlY3RlZEluZGV4O1xuICAgICAgICB0aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyID0gaW5kZXg7XG4gICAgICAgIHRoaXMuaXNBbm5vdGF0aW9uU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9uSW5kZXggJiYgdGhpcy5hbm5vdGF0aW9uLmFubm90YXRpb25zLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuaXNBbm5vdGF0aW9uU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgIHZhciBpc0hpZ2hsaWdodGVkID0gdGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPT09dGhpcy5jdXJyZW50QW5ub3RhdGlvbk51bWJlciA/IGZhbHNlOnRydWU7XG4gICAgICAgICAgdGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPSB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9PT10aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyID8gbnVsbDp0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZDtcbiAgICAgICAgICBcbiAgICAgICAgICB0aGlzLmRyYXdBbm5vdGF0aW9uKGFubm90YXRpb24sIGlzSGlnaGxpZ2h0ZWQpO1xuICAgICAgICB9XG4gICAgICAgZWxzZSBpZiAodGhpcy5hbm5vdGF0aW9uLmFubm90YXRpb25zLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuZHJhd0Fubm90YXRpb24oYW5ub3RhdGlvbiwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkNhbnZhc0NsaWNrKGV2ZW50KSB7XG4gICAgdGhpcy5pc0Fubm90YXRpb25TZWxlY3RlZCA9IGZhbHNlO1xuICAgIGxldCByZWN0ID0gdGhpcy5jYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgdGhpcy5tb3VzZVBvc2l0aW9uID0ge1xuICAgICAgeDogZXZlbnQucGFnZVggLSByZWN0LmxlZnQsXG4gICAgICB5OiBldmVudC5wYWdlWSAtIHJlY3QudG9wXG4gICAgfVxuICAgIHRoaXMuZ2V0U2VsZWN0ZWRDb21tZW50KCk7XG4gIH1cblxuICBnZXRTZWxlY3RlZENvbW1lbnQoKSB7XG4gICAgdGhpcy5hbm5vdGF0aW9uLmFubm90YXRpb25zLmZvckVhY2goKGFubm90YXRpb24sIGluZGV4KSA9PiB7XG4gICAgICB2YXIgZnJhbWUgPSBhbm5vdGF0aW9uLmZyYW1lLnNwbGl0KFwiLFwiKTtcbiAgICAgIHZhciBwYXJzZWRGcmFtZSA9IFtdO1xuICAgICAgZm9yICh2YXIgaSBpbiBmcmFtZSkge1xuICAgICAgICBwYXJzZWRGcmFtZVtpXSA9IHBhcnNlRmxvYXQoZnJhbWVbaV0pICogdGhpcy5zY2FsZTtcbiAgICAgIH1cbiAgICAgIGxldCBzZWxlY3RlZFB0ID0ge1xuICAgICAgICB4OiB0aGlzLm1vdXNlUG9zaXRpb24ueCAtIHRoaXMudHJhbnNsYXRlUG9zLngsXG4gICAgICAgIHk6IHRoaXMubW91c2VQb3NpdGlvbi55IC0gdGhpcy50cmFuc2xhdGVQb3MueVxuICAgICAgfTtcbiAgICAgIHRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPSBpbmRleDtcbiAgICAgIGlmIChzZWxlY3RlZFB0LnggPiBwYXJzZWRGcmFtZVswXSAmJiBzZWxlY3RlZFB0LnggPCBwYXJzZWRGcmFtZVsyXSAmJiBzZWxlY3RlZFB0LnkgPiBwYXJzZWRGcmFtZVsxXSAmJiBzZWxlY3RlZFB0LnkgPCBwYXJzZWRGcmFtZVszXSkge1xuICAgICAgICB0aGlzLmlzQW5ub3RhdGlvblNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFubm90YXRpb25JbmRleCA9IGluZGV4O1xuICAgICAgICB2YXIgaXNIaWdobGlnaHRlZCA9IHRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID09PSB0aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyID8gZmFsc2U6dHJ1ZTtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPSB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9PT10aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyID8gbnVsbDp0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZDtcbiAgICAgICAgdGhpcy5kcmF3QW5ub3RhdGlvbihhbm5vdGF0aW9uLCBpc0hpZ2hsaWdodGVkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID0gdGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPT09dGhpcy5jdXJyZW50QW5ub3RhdGlvbk51bWJlciA/IG51bGw6dGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQ7XG4gICAgICAgIHRoaXMuZHJhd0Fubm90YXRpb24oYW5ub3RhdGlvbiwgZmFsc2UpXG4gICAgICB9O1xuICAgIH1cbiAgICApO1xuICB9XG5cblxuICAvKipcbiAgICAqIEdlbmVyYXRlIHJhbmRvbSBjb2xvciBleGNlcHQgYmx1ZSBhbmQgd2hpdGVcbiAgICAqL1xuICBnZXRSYW5kb21Db2xvcigpIHtcbiAgICB2YXIgbGV0dGVycyA9ICcwMTIzNDU2Nzg5QUJDREVGJztcbiAgICB2YXIgY29sb3IgPSAnIyc7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCA2OyBpKyspIHtcbiAgICAgIGNvbG9yICs9IGxldHRlcnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTYpXTtcbiAgICB9XG4gICAgaWYgKGNvbG9yID09PSBcIiMwMDAwRkZcIiB8fCBjb2xvciA9PT0gXCIjRkZGRkZGXCIpIHtcbiAgICAgIHRoaXMuZ2V0UmFuZG9tQ29sb3IoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbG9yO1xuICB9XG5cblxuICAvKipcbiAgICAgKiAgIFpvb20gaW4gaW1hZ2UgY2FudmFzIG9uIGNsaWNrIGV2ZW50XG4gICovXG4gIGltYWdlWm9vbUluKCkge1xuICAgIHRoaXMuc2NhbGUgLz0gdGhpcy5zY2FsZU11bHRpcGxpZXI7XG4gICAgdGhpcy5yZW5kZXJJbWFnZU9uQ2FudmFzKHRoaXMuYW5ub3RhdGlvbiwgZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAgICogICBab29tIG91dCBpbWFnZSBjYW52YXMgb24gY2xpY2sgZXZlbnRcbiAgKi9cbiAgaW1hZ2Vab29tT3V0KCkge1xuICAgIHRoaXMuc2NhbGUgKj0gdGhpcy5zY2FsZU11bHRpcGxpZXI7XG4gICAgdGhpcy5yZW5kZXJJbWFnZU9uQ2FudmFzKHRoaXMuYW5ub3RhdGlvbiwgZmFsc2UpO1xuICB9XG5cblxuICAvKipcbiAgICAqICBFeHBhbmQgaW1hZ2UgY2FudmFzIG9uIGNsaWNrXG4gKi9cbiAgZXhwYW5kQ2FudmFzKCkge1xuICAgIHRoaXMuaXNDYW52YXNFeHBhbmRlZCA9ICF0aGlzLmlzQ2FudmFzRXhwYW5kZWQ7XG4gICAgaWYgKHRoaXMuaXNDYW52YXNFeHBhbmRlZCkge1xuICAgICAgdGhpcy5kaWFsb2dSZWYudXBkYXRlU2l6ZSgnMTAwdncnLCAnMTAwdmgnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaWFsb2dSZWYudXBkYXRlU2l6ZSgnODB2dycsICc4MHZoJyk7XG4gICAgfVxuICB9XG5cblxufVxuIiwiPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJsaWdodC1ib3gtY29udGFpbmVyIGZsZXggaC1mdWxsIGZsZXgtY29sIHNtOmZsZXgtcm93IHJlbGF0aXZlXCI+XG48ZGl2IGNsYXNzPVwibWF0LWxlZnQtY29udGFpbmVyXCI+XG4gICAgPGNhbnZhcyBpZD1cImFubm90YXRpb25zQ2FudmFzXCIgKGNsaWNrKT1cIm9uQ2FudmFzQ2xpY2soJGV2ZW50KVwiICNjYW52YXMgY2xhc3M9XCJyZWxhdGl2ZSB6LTEwXCIgW25nQ2xhc3NdPVwieydvcGFjaXR5LTUwJzogIWltYWdlTG9hZGVkfVwiPlxuXG4gICAgPC9jYW52YXM+XG4gIDxidXR0b24gKm5nSWY9XCIhZGlzYWJsZVByZXZpb3VzQnV0dG9uICYmIGltYWdlTG9hZGVkXCIgKGNsaWNrKT1cInNob3dQcmV2aW91c0ltYWdlKClcIiBbZGlzYWJsZWRdPVwiIWltYWdlTG9hZGVkXCI+PG1hdC1pY29uIGNsYXNzPVwibGlnaHRib3gtaW1hZ2UtbGVmdC1hcnJvd1wiIFtzdmdJY29uXT1cIidheG9fbGVmdF9hcnJvdydcIiA+PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgPGJ1dHRvbiAqbmdJZj1cIiFkaXNhYmxlTmV4dEJ1dHRvbiAgJiYgaW1hZ2VMb2FkZWRcIiAoY2xpY2spPVwic2hvd05leHRJbWFnZSgpXCIgIFtkaXNhYmxlZF09XCIhaW1hZ2VMb2FkZWRcIj48bWF0LWljb24gY2xhc3M9XCJsaWdodGJveC1pbWFnZS1yaWdodC1hcnJvd1wiIFtzdmdJY29uXT1cIidheG9fcmlnaHRfYXJyb3cnXCIgPjwvbWF0LWljb24+PC9idXR0b24+XG4gIDxkaXYgY2xhc3M9XCJsaWdodGJveC1pbWFnZS16b29tLWluLW91dFwiPlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImlzSW1hZ2VXaXRoQW5ub3RhdGlvbnNcIiAoY2xpY2spPVwic2hvd0ltYWdlV2l0aG91dEFubm90YXRpb25zKClcIiBbc3ZnSWNvbl09XCJzaG93SW1hZ2UgPydheG9fYW5vdGF0aW9uX3Nob3cnOidheG9fYW5vdGF0aW9uX2hpZGUnXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBleWUtaWNvbiB6LTIwXCI+PC9tYXQtaWNvbj5cbiAgICA8bWF0LWljb24gKGNsaWNrKT1cImV4cGFuZENhbnZhcygpXCIgW3N2Z0ljb25dPVwiaXNDYW52YXNFeHBhbmRlZCA/J2F4b19pbWdfY29tcHJlc3MnOidheG9fZnVsbHNjcmVlbidcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIHotMjBcIiBbbmdDbGFzc109XCJ7J2V4cGFuZCc6IGlzQ2FudmFzRXhwYW5kZWR9XCI+PC9tYXQtaWNvbj5cbiAgICA8bWF0LWljb24gKGNsaWNrKT1cImltYWdlWm9vbUluKClcIiBbc3ZnSWNvbl09XCInYXhvX3pvb21faW4nXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciB6LTIwXCI+PC9tYXQtaWNvbj5cbiAgICA8bWF0LWljb24gIChjbGljayk9XCJpbWFnZVpvb21PdXQoKVwiW3N2Z0ljb25dPVwiJ2F4b196b29tX291dCdcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIHotMjBcIj48L21hdC1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIlxuICAgICAgc3Bpbm5lci1ib3JkZXJcbiAgICAgIGFuaW1hdGUtc3BpblxuICAgICAgbG9hZGVyc1xuICAgIFwiIHJvbGU9XCJzdGF0dXNcIiAqbmdJZj1cIiFpbWFnZUxvYWRlZFwiIFtuZ0NsYXNzXT1cInsnei01MCc6ICFpbWFnZUxvYWRlZH1cIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+TG9hZGluZy4uLjwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJtYXQtcmlnaHQtY29udGFpbmVyIHNtOnJlbGF0aXZlIGJnLXdoaXRlIGN1c3RvbXNjcm9sbCBzbTpwci01IHB4LTUgcHQtMCBwYi01XCI+XG4gICAgPGRpdiBjbGFzcz1cInN0aWNreSB0b3AtMCBwdC00IGJnLXdoaXRlIHotMTAgaGlkZGVuIHNtOmJsb2NrXCI+XG4gICAgICA8bWF0LWljb24gaWQ9XCJjbG9zZS1pY29uXCIgKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIiBjbGFzcz1cImFic29sdXRlXCI+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgPGRpdiBjbGFzcz1cInB5LTQgY29tbWVudHNcIj5Db21tZW50czwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJibG9jayBzbTpoaWRkZW4gZmxleCBqdXN0aWZ5LWJldHdlZW4gc3RpY2t5IHRvcC0wIHotMTAgYmctd2hpdGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJweS00IGJnLXdoaXRlIGNvbW1tZW50c1wiPkNvbW1lbnRzPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYmxvY2sgcmVsYXRpdmVcIj5cbiAgICAgICAgPG1hdC1pY29uIGlkPVwiY2xvc2UtaWNvblwiIChjbGljayk9XCJjbG9zZURpYWxvZygpXCIgY2xhc3M9XCJhYnNvbHV0ZVwiPmNsb3NlPC9tYXQtaWNvbj4gIFxuICAgICAgPC9kaXY+XG4gICAgXG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtYm94IGF4by1mb250IHRleHQtc21cIiAqbmdJZj1cImFubm90YXRpb24/LmFubm90YXRpb25zLmxlbmd0aFwiPlxuICAgICAgPGRpdiAgY2xhc3M9XCJjb21tZW50LWJveC1jb250YWluZXIgZmxleCBnYXAtNCBwYi00XCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYW5ub3RhdGlvbj8uYW5ub3RhdGlvbnM7IGxldCBpPSBpbmRleFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UtbGlnaHRib3gtaW5kZXgtd3JhcHBlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZS1saWdodGJveC1pbmRleFwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGl0ZW0uY29sb3IgLCdib3JkZXInOiAoaXNBbm5vdGF0aW9uU2VsZWN0ZWQgJiYgaSA9PT0gc2VsZWN0ZWRBbm5vdGF0aW9uSW5kZXggJiYgcHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID09PSBzZWxlY3RlZEFubm90YXRpb25JbmRleCkgPycxcHggc29saWQgIzAwMDBGRic6Jyd9XCIgKGNsaWNrKT1cInNlbGVjdEFubm90YXRpb24oaSlcIj57e2krMX19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWNhcmQgY2xhc3M9XCJ3LWZ1bGwgY3VzdG9tc2Nyb2xsXCIgIFtuZ1N0eWxlXT1cInsnYm9yZGVyJzogKGlzQW5ub3RhdGlvblNlbGVjdGVkICYmIGkgPT09IHNlbGVjdGVkQW5ub3RhdGlvbkluZGV4ICYmIHByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9PT0gc2VsZWN0ZWRBbm5vdGF0aW9uSW5kZXgpID8nMXB4IHNvbGlkICMwMDAwRkYnOicnfVwiIChjbGljayk9XCJzZWxlY3RBbm5vdGF0aW9uKGkpXCI+e3tpdGVtLm5vdGVzfX08L21hdC1jYXJkPiAgXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1ib3hcIiAqbmdJZj1cImFubm90YXRpb24/LmFubm90YXRpb25zLmxlbmd0aCA9PT0gMCB8fCBhbm5vdGF0aW9uPy5hbm5vdGF0aW9ucyA9PT0gbnVsbFwiPk5vIGNvbW1lbnRzIGF2YWlsYWJsZVxuICAgICAgXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|