@allurereport/web-classic 3.0.0-beta.8 → 3.0.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/.babelrc.js +46 -0
- package/.eslintrc.cjs +16 -119
- package/dist/multi/10.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/222.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/26.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/302.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/304.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/369.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/389.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/498.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/60.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/643.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/671.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/725.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/770.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/848.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/853.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/872.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/895.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/920.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/979.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/991.app-897d4cad2ca206583e32.js +1 -0
- package/dist/multi/JetBrainsMono_vf.woff +0 -0
- package/dist/multi/JetBrainsMono_vf.woff2 +0 -0
- package/dist/multi/app-897d4cad2ca206583e32.js +2 -0
- package/dist/multi/app-897d4cad2ca206583e32.js.LICENSE.txt +25 -0
- package/dist/multi/manifest.json +26 -25
- package/dist/multi/pt-root-ui_vf.woff +0 -0
- package/dist/multi/pt-root-ui_vf.woff2 +0 -0
- package/dist/multi/styles-cf5cd8299b71a6d78e3e.css +284 -0
- package/dist/single/app-db9badbaf3040ca25425.js +2 -0
- package/dist/single/app-db9badbaf3040ca25425.js.LICENSE.txt +25 -0
- package/dist/single/manifest.json +1 -8
- package/package.json +50 -49
- package/postcss.config.js +5 -0
- package/src/assets/scss/_common.scss +142 -0
- package/src/assets/scss/code.scss +71 -0
- package/src/assets/scss/day.scss +51 -0
- package/src/assets/scss/fonts.scss +3 -0
- package/src/assets/scss/index.scss +9 -0
- package/src/assets/scss/night.scss +61 -0
- package/src/assets/scss/palette.scss +393 -0
- package/src/assets/scss/theme.scss +326 -0
- package/src/assets/scss/typography.scss +218 -0
- package/src/assets/scss/vars.scss +8 -0
- package/src/components/ArrowButton/index.tsx +36 -0
- package/src/components/ArrowButton/styles.scss +35 -0
- package/src/components/BaseLayout/index.tsx +23 -0
- package/src/components/BaseLayout/styles.scss +63 -0
- package/src/components/Behaviors/BehaviorsList.tsx +67 -0
- package/src/components/Behaviors/index.tsx +60 -0
- package/src/components/Behaviors/styles.scss +196 -0
- package/src/components/Categories/CategoriesList.tsx +67 -0
- package/src/components/Categories/index.tsx +60 -0
- package/src/components/Categories/styles.scss +196 -0
- package/src/components/Footer/FooterLogo.tsx +15 -0
- package/src/components/Footer/FooterVersion.tsx +33 -0
- package/src/components/Footer/index.tsx +13 -0
- package/src/components/Footer/styles.scss +14 -0
- package/src/components/Graphs/index.tsx +2 -0
- package/src/components/Header/index.tsx +14 -0
- package/src/components/Header/styles.scss +26 -0
- package/src/components/HeaderActions/Filters.tsx +90 -0
- package/src/components/HeaderActions/HeaderActions.tsx +58 -0
- package/src/components/HeaderActions/SortBy.tsx +128 -0
- package/src/components/HeaderActions/styles.scss +82 -0
- package/src/components/LanguagePicker/index.tsx +41 -0
- package/src/components/LanguagePicker/styles.scss +3 -0
- package/src/components/MainReport/index.tsx +19 -0
- package/src/components/Metadata/index.tsx +121 -0
- package/src/components/Metadata/styles.scss +146 -0
- package/src/components/MetadataButton/index.tsx +32 -0
- package/src/components/MetadataButton/styles.scss +53 -0
- package/src/components/Modal/index.tsx +174 -0
- package/src/components/Modal/styles.scss +126 -0
- package/src/components/Overview/Overview.module.scss +29 -0
- package/src/components/Overview/index.tsx +105 -0
- package/src/components/Packages/PackagesList.tsx +67 -0
- package/src/components/Packages/index.tsx +59 -0
- package/src/components/Packages/styles.scss +196 -0
- package/src/components/ReportBody/Filters.tsx +92 -0
- package/src/components/ReportBody/HeaderActions.tsx +21 -0
- package/src/components/ReportBody/SortBy.tsx +132 -0
- package/src/components/ReportBody/context.tsx +106 -0
- package/src/components/ReportBody/index.tsx +69 -0
- package/src/components/ReportBody/styles.scss +64 -0
- package/src/components/ReportHeader/ReportHeaderLabelList.tsx +12 -0
- package/src/components/ReportHeader/ReportHeaderLogo.tsx +14 -0
- package/src/components/ReportHeader/ReportHeaderPie.tsx +14 -0
- package/src/components/ReportHeader/index.tsx +33 -0
- package/src/components/ReportHeader/styles.scss +49 -0
- package/src/components/ReportMetadata/MetadataItem.tsx +45 -0
- package/src/components/ReportMetadata/MetadataSummary.tsx +80 -0
- package/src/components/ReportMetadata/MetadataTestType.tsx +16 -0
- package/src/components/ReportMetadata/MetadataWithIcon.tsx +21 -0
- package/src/components/ReportMetadata/index.tsx +46 -0
- package/src/components/ReportMetadata/styles.scss +99 -0
- package/src/components/SideBySide/index.tsx +54 -0
- package/src/components/SideBySide/styles.scss +59 -0
- package/src/components/SideNav/SideNav.tsx +78 -0
- package/src/components/{side-nav → SideNav}/styles.scss +54 -46
- package/src/components/Suites/index.tsx +62 -0
- package/src/components/Suites/styles.scss +10 -0
- package/src/components/Tabs/index.tsx +33 -0
- package/src/components/Tabs/styles.scss +56 -0
- package/src/components/TestResult/TestResultAttachmentsView/index.tsx +27 -0
- package/src/components/TestResult/TestResultAttachmentsView/styles.scss +12 -0
- package/src/components/TestResult/TestResultDescription/index.tsx +27 -0
- package/src/components/TestResult/TestResultDescription/styles.scss +12 -0
- package/src/components/TestResult/TestResultDropdown/index.tsx +23 -0
- package/src/components/TestResult/TestResultDropdown/styles.scss +34 -0
- package/src/components/TestResult/TestResultEmpty/index.tsx +33 -0
- package/src/components/TestResult/TestResultEmpty/styles.scss +25 -0
- package/src/components/TestResult/TestResultError/index.tsx +48 -0
- package/src/components/TestResult/TestResultError/styles.scss +51 -0
- package/src/components/TestResult/TestResultHeader/index.tsx +53 -0
- package/src/components/TestResult/TestResultHeader/styles.scss +43 -0
- package/src/components/TestResult/TestResultHistory/TestResultHistoryItem.tsx +67 -0
- package/src/components/TestResult/TestResultHistory/index.tsx +26 -0
- package/src/components/TestResult/TestResultHistory/styles.scss +63 -0
- package/src/components/TestResult/TestResultInfo/TestResultInfoStatuses.tsx +30 -0
- package/src/components/TestResult/TestResultInfo/index.tsx +79 -0
- package/src/components/TestResult/TestResultInfo/styles.scss +50 -0
- package/src/components/TestResult/TestResultLinks/index.tsx +56 -0
- package/src/components/TestResult/TestResultLinks/styles.scss +30 -0
- package/src/components/TestResult/TestResultMetadata/index.tsx +27 -0
- package/src/components/TestResult/TestResultMetadata/styles.scss +8 -0
- package/src/components/TestResult/TestResultNavigation/index.tsx +80 -0
- package/src/components/TestResult/TestResultNavigation/styles.scss +48 -0
- package/src/components/TestResult/TestResultOverview.tsx +40 -0
- package/src/components/TestResult/TestResultParameters/index.tsx +30 -0
- package/src/components/TestResult/TestResultParameters/styles.scss +8 -0
- package/src/components/TestResult/TestResultPrevStatuses/index.tsx +49 -0
- package/src/components/TestResult/TestResultPrevStatuses/styles.scss +57 -0
- package/src/components/TestResult/TestResultRetriesView/TestResultRetriesItem.tsx +65 -0
- package/src/components/TestResult/TestResultRetriesView/index.tsx +27 -0
- package/src/components/TestResult/TestResultRetriesView/styles.scss +69 -0
- package/src/components/TestResult/TestResultSetup/index.tsx +49 -0
- package/src/components/TestResult/TestResultSeverity/index.tsx +27 -0
- package/src/components/TestResult/TestResultSeverity/styles.scss +29 -0
- package/src/components/TestResult/TestResultStatus/index.tsx +26 -0
- package/src/components/TestResult/TestResultStatus/styles.scss +36 -0
- package/src/components/TestResult/TestResultSteps/HtmlAttachmentPreview.tsx +38 -0
- package/src/components/TestResult/TestResultSteps/attachment.tsx +68 -0
- package/src/components/TestResult/TestResultSteps/attachmentCode.tsx +20 -0
- package/src/components/TestResult/TestResultSteps/attachmentImage.tsx +32 -0
- package/src/components/TestResult/TestResultSteps/attachmentVideo.tsx +15 -0
- package/src/components/TestResult/TestResultSteps/index.tsx +49 -0
- package/src/components/TestResult/TestResultSteps/styles.scss +221 -0
- package/src/components/TestResult/TestResultSteps/testResultAttachment.tsx +77 -0
- package/src/components/TestResult/TestResultSteps/testResultAttachmentInfo.tsx +83 -0
- package/src/components/TestResult/TestResultSteps/testResultStep.tsx +78 -0
- package/src/components/TestResult/TestResultSteps/testResultStepInfo.tsx +30 -0
- package/src/components/TestResult/TestResultSteps/wrongAttachment.tsx +8 -0
- package/src/components/TestResult/TestResultTabs/index.tsx +59 -0
- package/src/components/TestResult/TestResultTabs/styles.scss +76 -0
- package/src/components/TestResult/TestResultTeardown/index.tsx +49 -0
- package/src/components/{testresult → TestResult}/TestResultView.js +1 -1
- package/src/components/TestResult/index.tsx +54 -0
- package/src/components/TestResultView/index.tsx +31 -0
- package/src/components/ThemeButton/ThemeButton.tsx +20 -0
- package/src/components/Timeline/index.tsx +2 -0
- package/src/components/Tree/Tree.tsx +76 -0
- package/src/components/Tree/TreeHeader.tsx +82 -0
- package/src/components/Tree/TreeItem.tsx +49 -0
- package/src/components/Tree/TreeItemIcon.tsx +32 -0
- package/src/components/Tree/index.tsx +60 -0
- package/src/components/Tree/styles.scss +185 -0
- package/src/index.html +27 -4
- package/src/index.tsx +60 -0
- package/src/stores/behaviors.ts +127 -0
- package/src/stores/categories.ts +127 -0
- package/src/stores/chart.ts +32 -0
- package/src/stores/charts.ts +22 -0
- package/src/stores/envInfo.ts +34 -0
- package/src/stores/index.ts +4 -0
- package/src/stores/locale.ts +84 -0
- package/src/stores/packages.ts +127 -0
- package/src/stores/router.ts +55 -0
- package/src/stores/stats.ts +36 -0
- package/src/stores/tabs.ts +7 -0
- package/src/stores/testResults.ts +66 -0
- package/src/stores/theme.ts +30 -0
- package/src/stores/tree.ts +127 -0
- package/src/stores/trend.ts +36 -0
- package/src/stores/types.ts +5 -0
- package/src/translations/am.json +128 -0
- package/src/translations/az.json +116 -205
- package/src/translations/br.json +9 -0
- package/src/translations/constants.ts +124 -0
- package/src/translations/de.json +113 -190
- package/src/translations/en.json +118 -203
- package/src/translations/es.json +106 -196
- package/src/translations/fr.json +107 -205
- package/src/translations/he.json +104 -190
- package/src/translations/it.json +119 -0
- package/src/translations/ja.json +104 -195
- package/src/translations/ka.json +119 -0
- package/src/translations/kr.json +104 -195
- package/src/translations/nl.json +107 -205
- package/src/translations/pl.json +105 -208
- package/src/translations/pt.json +119 -0
- package/src/translations/ru.json +102 -200
- package/src/translations/sv.json +107 -210
- package/src/translations/tr.json +107 -205
- package/src/translations/zh.json +105 -177
- package/src/types/globals.d.ts +13 -0
- package/src/types/window.d.ts +8 -0
- package/src/utils/attachments.ts +156 -0
- package/src/utils/copyToClipboard.ts +16 -0
- package/src/utils/isMac.ts +8 -0
- package/src/utils/navigate.ts +7 -0
- package/src/utils/statuses.ts +55 -0
- package/src/utils/time.ts +17 -0
- package/src/utils/treeFilters.ts +139 -0
- package/test/dummy.test.ts +7 -0
- package/test/utils/treeFilters.test.ts +448 -0
- package/tsconfig.json +25 -0
- package/types.d.ts +83 -1
- package/vitest.config.ts +18 -0
- package/webpack.config.js +42 -56
- package/.babelrc.cjs +0 -18
- package/dist/multi/154.app-4abea52a.js +0 -1
- package/dist/multi/216.app-4abea52a.js +0 -1
- package/dist/multi/232.app-4abea52a.js +0 -1
- package/dist/multi/250.app-4abea52a.js +0 -1
- package/dist/multi/256.app-4abea52a.js +0 -1
- package/dist/multi/301.app-4abea52a.js +0 -1
- package/dist/multi/323.app-4abea52a.js +0 -1
- package/dist/multi/353.app-4abea52a.js +0 -1
- package/dist/multi/411d15fc5bb62472eea6ead4fb276ca9.ico +0 -0
- package/dist/multi/564.app-4abea52a.js +0 -1
- package/dist/multi/594.app-4abea52a.js +0 -1
- package/dist/multi/623.app-4abea52a.js +0 -1
- package/dist/multi/7.app-4abea52a.js +0 -1
- package/dist/multi/729.app-4abea52a.js +0 -1
- package/dist/multi/783.app-4abea52a.js +0 -1
- package/dist/multi/826.app-4abea52a.js +0 -1
- package/dist/multi/925.app-4abea52a.js +0 -1
- package/dist/multi/app-4abea52a.js +0 -2
- package/dist/multi/app-4abea52a.js.LICENSE.txt +0 -29
- package/dist/multi/checkmark-c8e83eb1.svg +0 -8
- package/dist/multi/sort-down-icon-2f1625c8.svg +0 -8
- package/dist/multi/sort-icon-dc2db9af.svg +0 -8
- package/dist/multi/sort-up-icon-e10d3fa9.svg +0 -8
- package/dist/multi/sprite.svg +0 -4
- package/dist/multi/styles-4abea52a.css +0 -558
- package/dist/multi/vertical-5e6d1df4.png +0 -0
- package/dist/single/411d15fc5bb62472eea6ead4fb276ca9.ico +0 -0
- package/dist/single/app-69c4b948.js +0 -2
- package/dist/single/app-69c4b948.js.LICENSE.txt +0 -29
- package/dist/single/checkmark-c8e83eb1.svg +0 -8
- package/dist/single/sort-down-icon-2f1625c8.svg +0 -8
- package/dist/single/sort-icon-dc2db9af.svg +0 -8
- package/dist/single/sort-up-icon-e10d3fa9.svg +0 -8
- package/dist/single/sprite.svg +0 -4
- package/dist/single/styles-69c4b948.css +0 -558
- package/src/app.js +0 -69
- package/src/assets/icons/allure-logo.svg +0 -45
- package/src/assets/icons/bamboo.svg +0 -31
- package/src/assets/icons/bitbucket.svg +0 -10
- package/src/assets/icons/bomb.svg +0 -7
- package/src/assets/icons/broken.svg +0 -10
- package/src/assets/icons/bug.svg +0 -10
- package/src/assets/icons/chevron-down.svg +0 -10
- package/src/assets/icons/chevron-left.svg +0 -10
- package/src/assets/icons/chevron-right-fat.svg +0 -10
- package/src/assets/icons/chevron-right.svg +0 -10
- package/src/assets/icons/chevron-up.svg +0 -10
- package/src/assets/icons/circleci.svg +0 -1
- package/src/assets/icons/close.svg +0 -10
- package/src/assets/icons/collapse.svg +0 -5
- package/src/assets/icons/compare.svg +0 -10
- package/src/assets/icons/copy.svg +0 -11
- package/src/assets/icons/csv.svg +0 -13
- package/src/assets/icons/download.svg +0 -11
- package/src/assets/icons/draggable.svg +0 -15
- package/src/assets/icons/expand.svg +0 -5
- package/src/assets/icons/failed.svg +0 -10
- package/src/assets/icons/file.svg +0 -3
- package/src/assets/icons/folder.svg +0 -10
- package/src/assets/icons/github.svg +0 -4
- package/src/assets/icons/gitlab.svg +0 -12
- package/src/assets/icons/graphs.svg +0 -11
- package/src/assets/icons/history.svg +0 -11
- package/src/assets/icons/image.svg +0 -3
- package/src/assets/icons/info.svg +0 -12
- package/src/assets/icons/jenkins.svg +0 -327
- package/src/assets/icons/jobs.svg +0 -12
- package/src/assets/icons/link.svg +0 -11
- package/src/assets/icons/list.svg +0 -13
- package/src/assets/icons/maximize.svg +0 -11
- package/src/assets/icons/new-broken.svg +0 -6
- package/src/assets/icons/new-failed.svg +0 -6
- package/src/assets/icons/new-passed.svg +0 -5
- package/src/assets/icons/overview.svg +0 -5
- package/src/assets/icons/passed.svg +0 -10
- package/src/assets/icons/pdf.svg +0 -13
- package/src/assets/icons/refresh.svg +0 -4
- package/src/assets/icons/retries.svg +0 -11
- package/src/assets/icons/save.svg +0 -10
- package/src/assets/icons/skipped.svg +0 -3
- package/src/assets/icons/sort-down.svg +0 -10
- package/src/assets/icons/sort-up.svg +0 -10
- package/src/assets/icons/sort.svg +0 -11
- package/src/assets/icons/table.svg +0 -10
- package/src/assets/icons/task.svg +0 -11
- package/src/assets/icons/teamcity.svg +0 -40
- package/src/assets/icons/timeline.svg +0 -12
- package/src/assets/icons/tree.svg +0 -10
- package/src/assets/icons/txt.svg +0 -11
- package/src/assets/icons/unknown.svg +0 -10
- package/src/behaviors/ClipboardBehavior.js +0 -34
- package/src/behaviors/DownloadBehavior.js +0 -42
- package/src/behaviors/GaBehavior.js +0 -27
- package/src/behaviors/LoadBehavior.js +0 -18
- package/src/behaviors/TooltipBehavior.js +0 -25
- package/src/behaviors/index.js +0 -7
- package/src/blocks/alert/styles.scss +0 -8
- package/src/blocks/arrow/styles.scss +0 -21
- package/src/blocks/attachment-row/attachment-row.hbs +0 -34
- package/src/blocks/attachment-row/styles.scss +0 -71
- package/src/blocks/bar/styles.scss +0 -22
- package/src/blocks/button/styles.scss +0 -60
- package/src/blocks/clipboard-copy/clipboard-copy.hbs +0 -5
- package/src/blocks/executor-icon/bamboo.svg +0 -31
- package/src/blocks/executor-icon/bitbucket.svg +0 -10
- package/src/blocks/executor-icon/circleci.svg +0 -1
- package/src/blocks/executor-icon/default-icon.png +0 -0
- package/src/blocks/executor-icon/github.svg +0 -4
- package/src/blocks/executor-icon/gitlab.svg +0 -12
- package/src/blocks/executor-icon/jenkins.svg +0 -327
- package/src/blocks/executor-icon/styles.scss +0 -15
- package/src/blocks/executor-icon/teamcity.svg +0 -40
- package/src/blocks/island/styles.scss +0 -7
- package/src/blocks/label/styles.scss +0 -15
- package/src/blocks/link/styles.scss +0 -10
- package/src/blocks/pane/styles.scss +0 -52
- package/src/blocks/pane-header/pane-header.hbs +0 -15
- package/src/blocks/parameters-table/parameters-table.hbs +0 -10
- package/src/blocks/parameters-table/styles.scss +0 -22
- package/src/blocks/spinner/styles.scss +0 -30
- package/src/blocks/splash/styles.scss +0 -13
- package/src/blocks/status-details/status-details.hbs +0 -13
- package/src/blocks/status-details/styles.scss +0 -32
- package/src/blocks/step-stats/step-stats.hbs +0 -15
- package/src/blocks/step-stats/styles.scss +0 -19
- package/src/blocks/table/sort-down-icon.svg +0 -1
- package/src/blocks/table/sort-icon.svg +0 -1
- package/src/blocks/table/sort-up-icon.svg +0 -1
- package/src/blocks/table/sortable-col.hbs +0 -4
- package/src/blocks/table/styles.scss +0 -64
- package/src/blocks/tabs/styles.scss +0 -29
- package/src/blocks/tabs/tabs.hbs +0 -5
- package/src/blocks/text/styles.scss +0 -5
- package/src/blocks/widget/draggable.svg +0 -1
- package/src/blocks/widget/styles.scss +0 -76
- package/src/components/attachment/AttachmentView.hbs +0 -58
- package/src/components/attachment/AttachmentView.js +0 -90
- package/src/components/attachment/styles.scss +0 -78
- package/src/components/empty/EmptyView.hbs +0 -3
- package/src/components/empty/EmptyView.js +0 -18
- package/src/components/empty/styles.scss +0 -4
- package/src/components/error-splash/ErrorSplashView.hbs +0 -4
- package/src/components/error-splash/ErrorSplashView.js +0 -19
- package/src/components/error-splash/styles.scss +0 -4
- package/src/components/graph-base/BaseChartView.hbs +0 -5
- package/src/components/graph-base/BaseChartView.js +0 -78
- package/src/components/graph-base/styles.scss +0 -66
- package/src/components/graph-duration-chart/DurationChartView.js +0 -100
- package/src/components/graph-pie-chart/PieChartView.js +0 -155
- package/src/components/graph-severity-chart/SeverityChartView.js +0 -100
- package/src/components/graph-trend-chart/TrendChartView.js +0 -202
- package/src/components/graph-trend-chart/styles.scss +0 -16
- package/src/components/graph-trend-chart/trend-tooltip.hbs +0 -9
- package/src/components/language-select/LanguageSelectView.hbs +0 -5
- package/src/components/language-select/LanguageSelectView.js +0 -42
- package/src/components/language-select/checkmark.svg +0 -1
- package/src/components/language-select/styles.scss +0 -34
- package/src/components/loader/LoaderView.hbs +0 -6
- package/src/components/loader/LoaderView.js +0 -21
- package/src/components/loader/styles.scss +0 -26
- package/src/components/marks-toggle/MarksToggleView.hbs +0 -14
- package/src/components/marks-toggle/MarksToggleView.js +0 -41
- package/src/components/marks-toggle/styles.scss +0 -38
- package/src/components/modal/styles.scss +0 -31
- package/src/components/node-search/NodeSearchView.hbs +0 -4
- package/src/components/node-search/NodeSearchView.js +0 -32
- package/src/components/node-search/styles.scss +0 -29
- package/src/components/node-sorter/NodeSorterView.hbs +0 -22
- package/src/components/node-sorter/NodeSorterView.js +0 -43
- package/src/components/node-sorter/styles.scss +0 -26
- package/src/components/popover/PopoverView.js +0 -8
- package/src/components/popover/styles.scss +0 -32
- package/src/components/side-by-side/SideBySideView.hbs +0 -2
- package/src/components/side-by-side/SideBySideView.js +0 -42
- package/src/components/side-by-side/styles.scss +0 -59
- package/src/components/side-by-side/vertical.png +0 -0
- package/src/components/status-toggle/StatusToggleView.hbs +0 -16
- package/src/components/status-toggle/StatusToggleView.js +0 -42
- package/src/components/status-toggle/styles.scss +0 -35
- package/src/components/testresult-execution/TestResultExecutionView.hbs +0 -13
- package/src/components/testresult-execution/TestResultExecutionView.js +0 -85
- package/src/components/testresult-execution/stages-block.hbs +0 -47
- package/src/components/testresult-execution/steps-list.hbs +0 -31
- package/src/components/testresult-execution/styles.scss +0 -70
- package/src/components/testresult-overview/TestResultOverviewView.hbs +0 -8
- package/src/components/testresult-overview/TestResultOverviewView.js +0 -46
- package/src/components/testresult-overview/styles.scss +0 -22
- package/src/components/testresult-tree/TestResultTreeView.js +0 -60
- package/src/components/tooltip/TooltipView.js +0 -111
- package/src/components/tooltip/styles.scss +0 -43
- package/src/components/tree/TreeView.hbs +0 -9
- package/src/components/tree/TreeView.js +0 -200
- package/src/components/tree/styles.scss +0 -141
- package/src/components/tree/tree-group.hbs +0 -36
- package/src/components/tree/tree-leaf.hbs +0 -53
- package/src/components/tree/tree-time.hbs +0 -6
- package/src/components/tree-view-container/TreeViewContainer.hbs +0 -34
- package/src/components/tree-view-container/TreeViewContainer.js +0 -103
- package/src/components/tree-view-container/styles.scss +0 -38
- package/src/components/widget-status/WidgetStatusView.hbs +0 -21
- package/src/components/widget-status/WidgetStatusView.js +0 -17
- package/src/components/widgets-grid/WidgetsGridView.js +0 -90
- package/src/components/widgets-grid/styles.scss +0 -34
- package/src/data/localstorage/LocalStorageModel.js +0 -23
- package/src/data/testresult/TestResultModel.js +0 -36
- package/src/data/tree/TreeCollection.js +0 -153
- package/src/data/tree/comparator.js +0 -63
- package/src/data/tree/filter.js +0 -66
- package/src/data/trend/TrendCollection.js +0 -36
- package/src/data/widgets/WidgetsModel.js +0 -25
- package/src/decorators/index.js +0 -53
- package/src/helpers/allure-icon.js +0 -228
- package/src/helpers/and.js +0 -3
- package/src/helpers/angle.js +0 -15
- package/src/helpers/arrow.js +0 -17
- package/src/helpers/b.js +0 -6
- package/src/helpers/concat.js +0 -3
- package/src/helpers/date.js +0 -11
- package/src/helpers/default.js +0 -8
- package/src/helpers/duration.js +0 -60
- package/src/helpers/eq.js +0 -3
- package/src/helpers/fileicon.js +0 -5
- package/src/helpers/filesize.js +0 -8
- package/src/helpers/gt.js +0 -3
- package/src/helpers/inc.js +0 -3
- package/src/helpers/is-def.js +0 -3
- package/src/helpers/job-icon.js +0 -8
- package/src/helpers/linky.js +0 -7
- package/src/helpers/not.js +0 -3
- package/src/helpers/or.js +0 -3
- package/src/helpers/sort-class.js +0 -6
- package/src/helpers/statistic-bar.js +0 -12
- package/src/helpers/status-bar.js +0 -14
- package/src/helpers/t.js +0 -5
- package/src/helpers/text-with-links.js +0 -18
- package/src/helpers/time.js +0 -18
- package/src/helpers/timeago.js +0 -10
- package/src/layouts/application/AppLayout.hbs +0 -2
- package/src/layouts/application/AppLayout.js +0 -50
- package/src/layouts/application/styles.scss +0 -17
- package/src/layouts/error/ErrorLayout.js +0 -11
- package/src/layouts/overview/OverviewLayout.js +0 -8
- package/src/layouts/testresult/TestResultLayout.js +0 -43
- package/src/layouts/tree/TreeLayout.js +0 -45
- package/src/pluginApi.js +0 -26
- package/src/plugins/.eslintrc +0 -5
- package/src/plugins/default/index.js +0 -11
- package/src/plugins/screen-diff/index.js +0 -186
- package/src/plugins/screen-diff/styles.css +0 -30
- package/src/plugins/tab-behaviors/index.js +0 -239
- package/src/plugins/tab-category/index.js +0 -15
- package/src/plugins/tab-graph/GraphCollection.js +0 -12
- package/src/plugins/tab-graph/GraphLayout.js +0 -17
- package/src/plugins/tab-graph/index.js +0 -8
- package/src/plugins/tab-packages/index.js +0 -137
- package/src/plugins/tab-suites/index.js +0 -15
- package/src/plugins/tab-timeline/TimelineLayout.js +0 -18
- package/src/plugins/tab-timeline/TimelineView.hbs +0 -17
- package/src/plugins/tab-timeline/TimelineView.js +0 -250
- package/src/plugins/tab-timeline/index.js +0 -12
- package/src/plugins/tab-timeline/styles.scss +0 -76
- package/src/plugins/testresult-category/CategoryView.hbs +0 -6
- package/src/plugins/testresult-category/CategoryView.js +0 -17
- package/src/plugins/testresult-category/index.js +0 -3
- package/src/plugins/testresult-description/DescriptionView.hbs +0 -4
- package/src/plugins/testresult-description/DescriptionView.js +0 -16
- package/src/plugins/testresult-description/index.js +0 -3
- package/src/plugins/testresult-duration/DurationView.hbs +0 -7
- package/src/plugins/testresult-duration/DurationView.js +0 -16
- package/src/plugins/testresult-duration/index.js +0 -3
- package/src/plugins/testresult-history/HistoryView.hbs +0 -27
- package/src/plugins/testresult-history/HistoryView.js +0 -33
- package/src/plugins/testresult-history/index.js +0 -3
- package/src/plugins/testresult-history/styles.scss +0 -10
- package/src/plugins/testresult-links/LinksView.hbs +0 -17
- package/src/plugins/testresult-links/LinksView.js +0 -17
- package/src/plugins/testresult-links/index.js +0 -3
- package/src/plugins/testresult-links/styles.scss +0 -19
- package/src/plugins/testresult-owner/OwnerView.hbs +0 -4
- package/src/plugins/testresult-owner/OwnerView.js +0 -17
- package/src/plugins/testresult-owner/index.js +0 -3
- package/src/plugins/testresult-parameters/ParametersView.hbs +0 -13
- package/src/plugins/testresult-parameters/ParametersView.js +0 -22
- package/src/plugins/testresult-parameters/index.js +0 -3
- package/src/plugins/testresult-parameters/styles.scss +0 -8
- package/src/plugins/testresult-retries/RetriesView.hbs +0 -13
- package/src/plugins/testresult-retries/RetriesView.js +0 -28
- package/src/plugins/testresult-retries/index.js +0 -3
- package/src/plugins/testresult-retries/styles.scss +0 -11
- package/src/plugins/testresult-severity/SeverityView.hbs +0 -4
- package/src/plugins/testresult-severity/SeverityView.js +0 -17
- package/src/plugins/testresult-severity/index.js +0 -3
- package/src/plugins/testresult-tags/TagsView.hbs +0 -5
- package/src/plugins/testresult-tags/TagsView.js +0 -17
- package/src/plugins/testresult-tags/index.js +0 -3
- package/src/plugins/widget-categories/index.js +0 -12
- package/src/plugins/widget-categories-trend/CategoriesTrendWidgetView.hbs +0 -4
- package/src/plugins/widget-categories-trend/CategoriesTrendWidgetView.js +0 -33
- package/src/plugins/widget-categories-trend/index.js +0 -4
- package/src/plugins/widget-categories-trend/styles.scss +0 -6
- package/src/plugins/widget-duration/DurationWidgetView.hbs +0 -4
- package/src/plugins/widget-duration/DurationWidgetView.js +0 -23
- package/src/plugins/widget-duration/index.js +0 -3
- package/src/plugins/widget-duration-trend/DurationTrendWidgetView.hbs +0 -4
- package/src/plugins/widget-duration-trend/DurationTrendWidgetView.js +0 -49
- package/src/plugins/widget-duration-trend/index.js +0 -4
- package/src/plugins/widget-duration-trend/styles.scss +0 -6
- package/src/plugins/widget-environment/EnvironmentWidget.hbs +0 -27
- package/src/plugins/widget-environment/EnvironmentWidget.js +0 -25
- package/src/plugins/widget-environment/index.js +0 -3
- package/src/plugins/widget-executor/ExecutorsWidgetView.hbs +0 -40
- package/src/plugins/widget-executor/ExecutorsWidgetView.js +0 -8
- package/src/plugins/widget-executor/index.js +0 -3
- package/src/plugins/widget-history-trend/HistoryTrendWidgetView.hbs +0 -4
- package/src/plugins/widget-history-trend/HistoryTrendWidgetView.js +0 -30
- package/src/plugins/widget-history-trend/index.js +0 -6
- package/src/plugins/widget-history-trend/styles.scss +0 -6
- package/src/plugins/widget-launch/LaunchesWidgetView.hbs +0 -23
- package/src/plugins/widget-launch/LaunchesWidgetView.js +0 -8
- package/src/plugins/widget-launch/index.js +0 -3
- package/src/plugins/widget-retry-trend/RetryTrendWidgetView.hbs +0 -4
- package/src/plugins/widget-retry-trend/RetryTrendWidgetView.js +0 -33
- package/src/plugins/widget-retry-trend/index.js +0 -4
- package/src/plugins/widget-retry-trend/styles.scss +0 -6
- package/src/plugins/widget-severity/SeverityWidgetView.hbs +0 -4
- package/src/plugins/widget-severity/SeverityWidgetView.js +0 -23
- package/src/plugins/widget-severity/index.js +0 -3
- package/src/plugins/widget-status/StatusWidgetView.hbs +0 -4
- package/src/plugins/widget-status/StatusWidgetView.js +0 -44
- package/src/plugins/widget-status/index.js +0 -3
- package/src/plugins/widget-suites/index.js +0 -12
- package/src/plugins/widget-summary/SummaryWidgetView.hbs +0 -20
- package/src/plugins/widget-summary/SummaryWidgetView.js +0 -33
- package/src/plugins/widget-summary/index.js +0 -3
- package/src/plugins/widget-summary/styles.scss +0 -14
- package/src/router.js +0 -52
- package/src/utils/arrays.js +0 -3
- package/src/utils/attachmentType.js +0 -101
- package/src/utils/clipboard.js +0 -38
- package/src/utils/escape.js +0 -5
- package/src/utils/gtag.js +0 -8
- package/src/utils/highlight.js +0 -14
- package/src/utils/hotkeys.js +0 -25
- package/src/utils/loading.js +0 -9
- package/src/utils/marks.js +0 -1
- package/src/utils/pluginsRegistry.js +0 -56
- package/src/utils/settings.js +0 -4
- package/src/utils/settingsFactory.js +0 -149
- package/src/utils/sorting.js +0 -21
- package/src/utils/translation.js +0 -63
- package/webpack/utils.js +0 -10
- /package/src/components/{modal → Modal}/ModalView.hbs +0 -0
- /package/src/components/{modal → Modal}/ModalView.js +0 -0
- /package/src/components/{side-nav → SideNav}/SideNavView.hbs +0 -0
- /package/src/components/{side-nav → SideNav}/SideNavView.js +0 -0
- /package/src/components/{testresult → TestResult}/TestResultView.hbs +0 -0
- /package/src/components/{testresult → TestResult}/styles.scss +0 -0
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { View } from "backbone.marionette";
|
|
2
|
-
import $ from "jquery";
|
|
3
|
-
import Sortable from "sortablejs";
|
|
4
|
-
import draggable from "@/assets/icons/draggable.svg";
|
|
5
|
-
import { className } from "@/decorators/index.js";
|
|
6
|
-
import { fetchAndShow } from "@/utils/loading.js";
|
|
7
|
-
import pluginsRegistry from "@/utils/pluginsRegistry.js";
|
|
8
|
-
import { getSettingsForWidgetGridPlugin } from "@/utils/settingsFactory.js";
|
|
9
|
-
import "./styles.scss";
|
|
10
|
-
|
|
11
|
-
const widgetTpl = (id) => `<div class="widget island" data-id="${id}">
|
|
12
|
-
<div class="widget__handle">
|
|
13
|
-
<svg width="16px" height="16px" class="draggable-icon"><use xlink:href="#${draggable.id}"></use></svg>
|
|
14
|
-
</div>
|
|
15
|
-
<div class="widget__body"></div>
|
|
16
|
-
</div>`;
|
|
17
|
-
const colTpl = '<div class="widgets-grid__col"></div>';
|
|
18
|
-
|
|
19
|
-
@className("widgets-grid")
|
|
20
|
-
class WidgetsGridView extends View {
|
|
21
|
-
template = () => "";
|
|
22
|
-
|
|
23
|
-
initialize() {
|
|
24
|
-
this.widgets = pluginsRegistry.widgets[this.options.tabName];
|
|
25
|
-
this.settings = this.options.settings || getSettingsForWidgetGridPlugin(this.options.tabName);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
onRender() {
|
|
29
|
-
this.getWidgetsArrangement()
|
|
30
|
-
.map((col) => {
|
|
31
|
-
return col.map((widgetName) => [widgetName, this.widgets[widgetName].widget, this.widgets[widgetName].model]);
|
|
32
|
-
})
|
|
33
|
-
.forEach((widgetCol) => {
|
|
34
|
-
const col = $(colTpl);
|
|
35
|
-
this.$el.append(col);
|
|
36
|
-
widgetCol.forEach(([name, Widget, Model]) => {
|
|
37
|
-
this.addWidget(col, name, Widget, Model);
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
this.$(".widgets-grid__col").each(
|
|
41
|
-
(i, colEl) =>
|
|
42
|
-
new Sortable(colEl, {
|
|
43
|
-
group: "widgets",
|
|
44
|
-
ghostClass: "widget_ghost",
|
|
45
|
-
handle: ".widget__handle",
|
|
46
|
-
onEnd: this.saveWidgetsArrangement.bind(this),
|
|
47
|
-
}),
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
getWidgetsArrangement() {
|
|
52
|
-
const savedData = this.settings.getWidgetsArrangement();
|
|
53
|
-
|
|
54
|
-
const storedWidgets = savedData.map((col) => {
|
|
55
|
-
return col.filter((widgetName) => this.widgets[widgetName]);
|
|
56
|
-
});
|
|
57
|
-
Object.keys(this.widgets).forEach((widgetName) => {
|
|
58
|
-
if (storedWidgets.every((col) => col.indexOf(widgetName) === -1)) {
|
|
59
|
-
const freeColumn = storedWidgets.reduce((smallestCol, col) =>
|
|
60
|
-
col.length < smallestCol.length ? col : smallestCol,
|
|
61
|
-
);
|
|
62
|
-
freeColumn.push(widgetName);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
return storedWidgets;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
saveWidgetsArrangement() {
|
|
69
|
-
this.settings.setWidgetsArrangement(
|
|
70
|
-
this.$(".widgets-grid__col")
|
|
71
|
-
.toArray()
|
|
72
|
-
.map((colEl) => {
|
|
73
|
-
return $(colEl)
|
|
74
|
-
.find(".widget")
|
|
75
|
-
.toArray()
|
|
76
|
-
.map((el) => $(el).data("id"));
|
|
77
|
-
}),
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
addWidget(col, name, Widget, Model) {
|
|
82
|
-
const el = $(widgetTpl(name));
|
|
83
|
-
col.append(el);
|
|
84
|
-
this.addRegion(name, { el: el.find(".widget__body") });
|
|
85
|
-
const widget = new Model({}, { name });
|
|
86
|
-
fetchAndShow(this, name, widget, new Widget({ model: widget }));
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export default WidgetsGridView;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
@import "../../variables.scss";
|
|
2
|
-
|
|
3
|
-
.widgets-grid {
|
|
4
|
-
position: absolute;
|
|
5
|
-
top: 0;
|
|
6
|
-
left: 0;
|
|
7
|
-
right: 0;
|
|
8
|
-
bottom: 0;
|
|
9
|
-
padding: $gap-size $gap-size 0 $gap-size;
|
|
10
|
-
max-height: 100%;
|
|
11
|
-
overflow: auto;
|
|
12
|
-
display: flex;
|
|
13
|
-
&__col {
|
|
14
|
-
flex: 1 0 0%;
|
|
15
|
-
width: 50%;
|
|
16
|
-
min-width: $min-pane-size;
|
|
17
|
-
}
|
|
18
|
-
&__col + &__col {
|
|
19
|
-
flex: 1 0 0%;
|
|
20
|
-
padding-left: $gap-size;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@media (max-width: $small-screen) {
|
|
25
|
-
.widgets-grid {
|
|
26
|
-
display: block;
|
|
27
|
-
&__col {
|
|
28
|
-
width: 100%;
|
|
29
|
-
}
|
|
30
|
-
&__col + &__col {
|
|
31
|
-
padding-left: 0;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Model } from "backbone";
|
|
2
|
-
|
|
3
|
-
export default class LocalStorageModel extends Model {
|
|
4
|
-
storageKey() {
|
|
5
|
-
return "ALLURE_REPORT_SETTINGS";
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
fetch() {
|
|
9
|
-
return new Promise((resolve) => {
|
|
10
|
-
const settings = window.localStorage.getItem(this.storageKey());
|
|
11
|
-
if (settings) {
|
|
12
|
-
this.set(JSON.parse(settings));
|
|
13
|
-
}
|
|
14
|
-
resolve();
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
save(key, val) {
|
|
19
|
-
this.set(key, val);
|
|
20
|
-
const json = this.toJSON();
|
|
21
|
-
window.localStorage.setItem(this.storageKey(), JSON.stringify(json));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { reportDataUrl } from "@allurereport/web-commons";
|
|
2
|
-
import { Model } from "backbone";
|
|
3
|
-
import { findWhere } from "underscore";
|
|
4
|
-
import { makeArray } from "@/utils/arrays.js";
|
|
5
|
-
|
|
6
|
-
function collectAttachments({ steps, attachments }) {
|
|
7
|
-
return makeArray(steps)
|
|
8
|
-
.reduce((result, step) => result.concat(collectAttachments(step)), [])
|
|
9
|
-
.concat(makeArray(attachments));
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export default class TestResultModel extends Model {
|
|
13
|
-
get idAttribute() {
|
|
14
|
-
return "uid";
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
fetch(options) {
|
|
18
|
-
return reportDataUrl(this.url(), "application/json").then((value) => super.fetch({ ...options, url: value }));
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
parse(testResult) {
|
|
22
|
-
this.allAttachments = makeArray(testResult.beforeStages)
|
|
23
|
-
.concat(makeArray(testResult.testStage))
|
|
24
|
-
.concat(makeArray(testResult.afterStages))
|
|
25
|
-
.reduce((result, stage) => result.concat(collectAttachments(stage)), []);
|
|
26
|
-
return testResult;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getAttachment(uid) {
|
|
30
|
-
return findWhere(this.allAttachments, { uid: uid.toString() });
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
url() {
|
|
34
|
-
return `data/test-cases/${this.id}.json`;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { reportDataUrl } from "@allurereport/web-commons";
|
|
2
|
-
import { Collection } from "backbone";
|
|
3
|
-
import { findWhere, flatten } from "underscore";
|
|
4
|
-
import { values } from "@/utils/statuses.js";
|
|
5
|
-
|
|
6
|
-
function updateTime(timeA, timeB, field, operation) {
|
|
7
|
-
if (timeB && timeB[field]) {
|
|
8
|
-
timeA[field] = operation(timeA[field], timeB[field]);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export default class TreeCollection extends Collection {
|
|
13
|
-
initialize(models, { url }) {
|
|
14
|
-
this.url = url;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
fetch(options) {
|
|
18
|
-
return reportDataUrl(this.url, "application/json").then((value) => super.fetch({ ...options, url: value }));
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
findLeaf(parentUid, uid) {
|
|
22
|
-
return findWhere(this.allResults, { parentUid, uid });
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
getFlattenTestResults(children) {
|
|
26
|
-
return flatten(
|
|
27
|
-
children.map((child) => {
|
|
28
|
-
if (child.children) {
|
|
29
|
-
return this.getFlattenTestResults(child.children);
|
|
30
|
-
}
|
|
31
|
-
return child;
|
|
32
|
-
}),
|
|
33
|
-
);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
parse({ uid, children }) {
|
|
37
|
-
const items = children || [];
|
|
38
|
-
this.uid = uid;
|
|
39
|
-
this.allResults = this.getFlattenTestResults(items);
|
|
40
|
-
this.allNodes = items;
|
|
41
|
-
this.time = this.calculateTime(this.allResults);
|
|
42
|
-
this.statistic = this.calculateStatistic(this.allResults);
|
|
43
|
-
return items;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
applyFilterAndSorting(filter, sorter) {
|
|
47
|
-
const newChildren = this.getFilteredAndSortedChildren(this.allNodes, filter, sorter);
|
|
48
|
-
this.reset(newChildren);
|
|
49
|
-
this.testResults = this.getFlattenTestResults(newChildren);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
getFilteredAndSortedChildren(children, filter, sorter) {
|
|
53
|
-
return this.calculateOrder(children)
|
|
54
|
-
.map((child) => {
|
|
55
|
-
if (child.children) {
|
|
56
|
-
const newChildren = this.getFilteredAndSortedChildren(child.children, filter, sorter);
|
|
57
|
-
return {
|
|
58
|
-
...child,
|
|
59
|
-
children: newChildren,
|
|
60
|
-
statistic: this.calculateStatistic(newChildren),
|
|
61
|
-
time: this.calculateTime(newChildren),
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
return child;
|
|
65
|
-
})
|
|
66
|
-
.filter(filter)
|
|
67
|
-
.sort(sorter);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
getFirstTestResult() {
|
|
71
|
-
if (this.testResults.length > 0) {
|
|
72
|
-
return this.testResults[0];
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
getLastTestResult() {
|
|
77
|
-
if (this.testResults.length > 0) {
|
|
78
|
-
return this.testResults[this.testResults.length - 1];
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
getNextTestResult(testResultUid) {
|
|
83
|
-
const index = this.testResults.findIndex((testResult) => testResult.uid === testResultUid);
|
|
84
|
-
if (index < this.testResults.length - 1) {
|
|
85
|
-
return this.testResults[index + 1];
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
getPreviousTestResult(testResultUid) {
|
|
90
|
-
const index = this.testResults.findIndex((testResult) => testResult.uid === testResultUid);
|
|
91
|
-
if (index > 0) {
|
|
92
|
-
return this.testResults[index - 1];
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
calculateOrder(items) {
|
|
97
|
-
if (items) {
|
|
98
|
-
let index = 0;
|
|
99
|
-
items.forEach((item) => {
|
|
100
|
-
if (item.children) {
|
|
101
|
-
this.calculateOrder(item.children);
|
|
102
|
-
} else {
|
|
103
|
-
item.order = ++index;
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
return items;
|
|
107
|
-
}
|
|
108
|
-
return [];
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
calculateStatistic(items) {
|
|
112
|
-
const statistic = {};
|
|
113
|
-
values.forEach((value) => {
|
|
114
|
-
statistic[value] = 0;
|
|
115
|
-
});
|
|
116
|
-
items.forEach((item) => {
|
|
117
|
-
if (item.children) {
|
|
118
|
-
values.forEach((value) => {
|
|
119
|
-
statistic[value] += item.statistic ? item.statistic[value] : 0;
|
|
120
|
-
});
|
|
121
|
-
} else {
|
|
122
|
-
statistic[item.status]++;
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
return statistic;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
calculateTime(items) {
|
|
129
|
-
const time = {
|
|
130
|
-
maxDuration: Number.MIN_VALUE,
|
|
131
|
-
minDuration: Number.MAX_VALUE,
|
|
132
|
-
sumDuration: 0,
|
|
133
|
-
duration: 0,
|
|
134
|
-
start: Number.MAX_VALUE,
|
|
135
|
-
stop: Number.MIN_VALUE,
|
|
136
|
-
};
|
|
137
|
-
items.forEach((item) => {
|
|
138
|
-
if (item.children) {
|
|
139
|
-
updateTime(time, item.time, "maxDuration", Math.max);
|
|
140
|
-
updateTime(time, item.time, "minDuration", Math.min);
|
|
141
|
-
updateTime(time, item.time, "sumDuration", (a, b) => a + b);
|
|
142
|
-
} else if (item.time && isFinite(item.time.duration)) {
|
|
143
|
-
time.maxDuration = Math.max(time.maxDuration, item.time.duration);
|
|
144
|
-
time.minDuration = Math.min(time.minDuration, item.time.duration);
|
|
145
|
-
time.sumDuration = time.sumDuration + item.time.duration;
|
|
146
|
-
}
|
|
147
|
-
updateTime(time, item.time, "start", Math.min);
|
|
148
|
-
updateTime(time, item.time, "stop", Math.max);
|
|
149
|
-
time.duration = time.stop - time.start;
|
|
150
|
-
});
|
|
151
|
-
return time;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { values } from "@/utils/statuses.js";
|
|
2
|
-
|
|
3
|
-
function byOrder(a, b) {
|
|
4
|
-
return a.order < b.order ? -1 : 1;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
function byName(a, b) {
|
|
8
|
-
return String(a.name).toLowerCase() < String(b.name).toLowerCase() ? -1 : 1;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
function byDuration(a, b) {
|
|
12
|
-
if (a.time && a.time.duration && b.time && b.time.duration) {
|
|
13
|
-
return a.time.duration < b.time.duration ? -1 : 1;
|
|
14
|
-
}
|
|
15
|
-
return 1;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
function byMaxDuration(a, b) {
|
|
19
|
-
if (a.time && a.time.maxDuration && b.time && b.time.maxDuration) {
|
|
20
|
-
return a.time.maxDuration < b.time.maxDuration ? -1 : 1;
|
|
21
|
-
}
|
|
22
|
-
return 1;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function byNodeStatus(a, b) {
|
|
26
|
-
return values.indexOf(a.status) > values.indexOf(b.status) ? -1 : 1;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function byGroupStatuses(a, b) {
|
|
30
|
-
return values.reduce((all, cur) => {
|
|
31
|
-
return a.statistic[cur] !== b.statistic[cur] && all === 0 ? a.statistic[cur] - b.statistic[cur] : all;
|
|
32
|
-
}, 0);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function compare(a, b, nodeCmp, groupCmp, direction) {
|
|
36
|
-
if (a.children && !b.children) {
|
|
37
|
-
return -1;
|
|
38
|
-
} else if (!a.children && b.children) {
|
|
39
|
-
return 1;
|
|
40
|
-
} else if (a.children && b.children) {
|
|
41
|
-
return direction * groupCmp(a, b);
|
|
42
|
-
} else if (!a.children && !b.children) {
|
|
43
|
-
return direction * nodeCmp(a, b);
|
|
44
|
-
} else {
|
|
45
|
-
return 0;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export default function getComparator({ sorter, ascending }) {
|
|
50
|
-
const direction = ascending ? 1 : -1;
|
|
51
|
-
switch (sorter) {
|
|
52
|
-
case "sorter.order":
|
|
53
|
-
return (a, b) => compare(a, b, byOrder, byName, direction);
|
|
54
|
-
case "sorter.name":
|
|
55
|
-
return (a, b) => compare(a, b, byName, byName, direction);
|
|
56
|
-
case "sorter.duration":
|
|
57
|
-
return (a, b) => compare(a, b, byDuration, byMaxDuration, direction);
|
|
58
|
-
case "sorter.status":
|
|
59
|
-
return (a, b) => compare(a, b, byNodeStatus, byGroupStatuses, direction);
|
|
60
|
-
default:
|
|
61
|
-
return 0;
|
|
62
|
-
}
|
|
63
|
-
}
|
package/src/data/tree/filter.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { values as marksValues } from "@/utils/marks.js";
|
|
2
|
-
|
|
3
|
-
function byStatuses(statuses) {
|
|
4
|
-
return (child) => {
|
|
5
|
-
if (child.children) {
|
|
6
|
-
return child.children.length > 0;
|
|
7
|
-
}
|
|
8
|
-
return statuses[child.status];
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function byDuration(min, max) {
|
|
13
|
-
return (child) => {
|
|
14
|
-
if (child.children) {
|
|
15
|
-
return child.children.length > 0;
|
|
16
|
-
}
|
|
17
|
-
return min <= child.time.duration && child.time.duration <= max;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function byCriteria(searchQuery) {
|
|
22
|
-
if (searchQuery && searchQuery.startsWith("tag:")) {
|
|
23
|
-
return byTags(searchQuery.substring(4));
|
|
24
|
-
} else {
|
|
25
|
-
return byText(searchQuery);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function byText(text) {
|
|
30
|
-
text = (text && text.toLowerCase()) || "";
|
|
31
|
-
return (child) => {
|
|
32
|
-
return (
|
|
33
|
-
!text || child.name.toLowerCase().indexOf(text) > -1 || (child.children && child.children.some(byText(text)))
|
|
34
|
-
);
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function byTags(tag) {
|
|
39
|
-
tag = (tag && tag.toLowerCase().trim()) || "";
|
|
40
|
-
const tags = tag.split(/\s*,\s*/).filter((t) => t);
|
|
41
|
-
return (child) => {
|
|
42
|
-
const childTags = Array.isArray(child.tags) ? child.tags.filter((t) => t).map((t) => t.toLowerCase().trim()) : [];
|
|
43
|
-
return !tag || tags.every((t) => childTags.indexOf(t) > -1) || (child.children && child.children.some(byTags(tag)));
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function byMark(marks) {
|
|
48
|
-
return (child) => {
|
|
49
|
-
if (child.children) {
|
|
50
|
-
return child.children.length > 0;
|
|
51
|
-
}
|
|
52
|
-
return marksValues.map((k) => !marks[k] || child[k]).reduce((a, b) => a && b, true);
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function mix(...filters) {
|
|
57
|
-
return (child) => {
|
|
58
|
-
let result = true;
|
|
59
|
-
filters.forEach((filter) => {
|
|
60
|
-
result = result && filter(child);
|
|
61
|
-
});
|
|
62
|
-
return result;
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export { byStatuses, byDuration, byCriteria, byText, byTags, byMark, mix };
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { reportDataUrl } from "@allurereport/web-commons";
|
|
2
|
-
import { Collection } from "backbone";
|
|
3
|
-
import { flatten, keys, omit, uniq, values } from "underscore";
|
|
4
|
-
|
|
5
|
-
export default class TrendCollection extends Collection {
|
|
6
|
-
initialize(models, options) {
|
|
7
|
-
this.options = options;
|
|
8
|
-
this.url = `widgets/${this.options.name}.json`;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
fetch(options) {
|
|
12
|
-
return reportDataUrl(this.url, "application/json").then((value) => super.fetch({ ...options, url: value }));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
parse(response) {
|
|
16
|
-
return response.reverse().map((item, id) => {
|
|
17
|
-
return {
|
|
18
|
-
...item,
|
|
19
|
-
id,
|
|
20
|
-
name: item.buildOrder ? `#${item.buildOrder}` : "",
|
|
21
|
-
total: values(omit(item.data, "total")).reduce((prev, curr) => prev + curr, 0),
|
|
22
|
-
data: omit(item.data, "total"),
|
|
23
|
-
};
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
keys() {
|
|
28
|
-
return uniq(flatten(this.map((model) => keys(model.get("data")))));
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
sortedKeysByLastValue() {
|
|
32
|
-
const allKeys = this.keys();
|
|
33
|
-
const lastData = this.last().get("data");
|
|
34
|
-
return allKeys.sort((a, b) => (lastData[b] || 0) - (lastData[a] || 0));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { reportDataUrl } from "@allurereport/web-commons";
|
|
2
|
-
import { Model } from "backbone";
|
|
3
|
-
|
|
4
|
-
export default class WidgetsModel extends Model {
|
|
5
|
-
initialize(model, options) {
|
|
6
|
-
this.options = options;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
url() {
|
|
10
|
-
return `widgets/${this.options.name}.json`;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
parse(data) {
|
|
14
|
-
return Array.isArray(data) ? { items: data } : data;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
fetch(options) {
|
|
18
|
-
return reportDataUrl(this.url(), "application/json").then((value) => super.fetch({ ...options, url: value }));
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
getWidgetData(name) {
|
|
22
|
-
const items = this.get(name);
|
|
23
|
-
return new Model(Array.isArray(items) ? { items } : items);
|
|
24
|
-
}
|
|
25
|
-
}
|
package/src/decorators/index.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { clone, has, isFunction } from "underscore";
|
|
2
|
-
|
|
3
|
-
function onDecoratorFactory(decoratorName, propertyName) {
|
|
4
|
-
return function (eventName) {
|
|
5
|
-
return function (target, name, descriptor) {
|
|
6
|
-
if (!eventName) {
|
|
7
|
-
throw new Error(`The ${decoratorName} decorator requires an eventName argument`);
|
|
8
|
-
}
|
|
9
|
-
if (isFunction(target[propertyName])) {
|
|
10
|
-
throw new Error(`The ${decoratorName} decorator is not compatible with ${propertyName} as method form`);
|
|
11
|
-
}
|
|
12
|
-
if (target[propertyName] && !has(target, propertyName)) {
|
|
13
|
-
target[propertyName] = clone(target[propertyName]);
|
|
14
|
-
}
|
|
15
|
-
if (!target[propertyName]) {
|
|
16
|
-
target[propertyName] = {};
|
|
17
|
-
}
|
|
18
|
-
target[propertyName][eventName] = name;
|
|
19
|
-
return descriptor;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export const on = onDecoratorFactory("on", "events");
|
|
25
|
-
|
|
26
|
-
export function behavior(name, config = {}) {
|
|
27
|
-
return function (target) {
|
|
28
|
-
target.prototype.behaviors = Object.assign(
|
|
29
|
-
{
|
|
30
|
-
[name]: config,
|
|
31
|
-
},
|
|
32
|
-
target.prototype.behaviors,
|
|
33
|
-
);
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export function className(name) {
|
|
38
|
-
return function (target) {
|
|
39
|
-
target.prototype.className = name;
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function regions(opts) {
|
|
44
|
-
return function (target) {
|
|
45
|
-
target.prototype.regions = Object.assign(opts, target.regions);
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export function options(opts) {
|
|
50
|
-
return function (target) {
|
|
51
|
-
target.prototype.options = Object.assign(opts, target.options);
|
|
52
|
-
};
|
|
53
|
-
}
|