web/storagenode: fix linter
Fixed web linter. Issue: https://github.com/storj/storj/issues/5158 Change-Id: Ia63e3e6e7352a99e902c9ed08a4bcfd75059e943
This commit is contained in:
parent
10f59f8633
commit
8268933b56
3
web/storagenode/.eslintignore
Normal file
3
web/storagenode/.eslintignore
Normal file
@ -0,0 +1,3 @@
|
||||
dist
|
||||
node_modules
|
||||
coverage
|
@ -4,48 +4,108 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
env: {
|
||||
node: true
|
||||
node: true,
|
||||
},
|
||||
extends: [
|
||||
'plugin:vue/recommended',
|
||||
'eslint:recommended',
|
||||
'@vue/typescript/recommended',
|
||||
'plugin:import/recommended',
|
||||
'plugin:import/typescript',
|
||||
],
|
||||
parser: 'vue-eslint-parser',
|
||||
parserOptions: {
|
||||
ecmaVersion: 2020
|
||||
parser: '@typescript-eslint/parser',
|
||||
sourceType: 'module',
|
||||
ecmaVersion: 2020,
|
||||
vueFeatures: {
|
||||
filter: true,
|
||||
},
|
||||
},
|
||||
plugins: ["storj"],
|
||||
plugins: ['storj', 'eslint-plugin-import'],
|
||||
rules: {
|
||||
"linebreak-style": ["error", "unix"],
|
||||
'linebreak-style': ['error', 'unix'],
|
||||
|
||||
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
||||
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
||||
|
||||
"indent": ["warn", 4],
|
||||
"vue/html-indent": ["warn", 4],
|
||||
'indent': ['warn', 4],
|
||||
'vue/html-indent': ['warn', 4],
|
||||
|
||||
"@typescript-eslint/no-unused-vars": [
|
||||
"warn", {
|
||||
"vars": "all",
|
||||
"args": "all",
|
||||
"argsIgnorePattern": "^_"
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'warn', {
|
||||
'vars': 'all',
|
||||
'args': 'all',
|
||||
'argsIgnorePattern': '^_',
|
||||
}],
|
||||
|
||||
'@typescript-eslint/no-empty-function': "off",
|
||||
'@typescript-eslint/no-var-requires': "off",
|
||||
'@typescript-eslint/no-empty-function': 'off',
|
||||
'@typescript-eslint/no-var-requires': 'off',
|
||||
|
||||
"vue/multi-word-component-names": ["off"],
|
||||
"vue/max-attributes-per-line": ["off"],
|
||||
"vue/singleline-html-element-content-newline": ["off"],
|
||||
'no-multiple-empty-lines': ['error', { 'max': 1 }],
|
||||
|
||||
"vue/block-lang": ["error", {"script": {"lang": "ts"}}],
|
||||
"vue/html-button-has-type": ["error"],
|
||||
"vue/no-unused-properties": ["warn"],
|
||||
"vue/no-unused-refs": ["warn"],
|
||||
"vue/no-useless-v-bind": ["warn"],
|
||||
'import/order': ['error', {
|
||||
'pathGroups': [
|
||||
{
|
||||
'group': 'external',
|
||||
'pattern': 'vue-property-decorator',
|
||||
'position': 'before',
|
||||
},
|
||||
{
|
||||
'group': 'internal',
|
||||
'pattern': '@/app/components/**',
|
||||
'position': 'after',
|
||||
},
|
||||
{
|
||||
'group': 'internal',
|
||||
'pattern': '@/../static/**',
|
||||
'position': 'after',
|
||||
},
|
||||
],
|
||||
'newlines-between': 'always',
|
||||
}],
|
||||
'no-duplicate-imports': 'error',
|
||||
'object-curly-spacing': ['error', 'always'],
|
||||
'quotes': ['error', 'single', { 'allowTemplateLiterals': true }],
|
||||
'semi': ['error', 'always'],
|
||||
'keyword-spacing': ['error'],
|
||||
'comma-dangle': ['error', 'always-multiline'],
|
||||
|
||||
'vue/multi-word-component-names': ['off'],
|
||||
'vue/max-attributes-per-line': ['off'],
|
||||
'vue/singleline-html-element-content-newline': ['off'],
|
||||
|
||||
'vue/block-lang': ['error', { 'script': { 'lang': 'ts' } }],
|
||||
'vue/html-button-has-type': ['error'],
|
||||
'vue/no-unused-properties': ['warn'],
|
||||
'vue/no-unused-refs': ['warn'],
|
||||
'vue/no-useless-v-bind': ['warn'],
|
||||
|
||||
'vue/no-useless-template-attributes': ['off'], // TODO: fix later
|
||||
|
||||
'vue/no-unregistered-components': ['warn', { ignorePatterns: ['router-link', 'router-view'] }],
|
||||
|
||||
'storj/vue/require-annotation': 'warn',
|
||||
|
||||
'vue/no-v-html': 0,
|
||||
},
|
||||
}
|
||||
settings: {
|
||||
'import/resolver': {
|
||||
'eslint-import-resolver-custom-alias': {
|
||||
'alias': {
|
||||
'@': './src',
|
||||
},
|
||||
extensions: ['.ts', '.spec.ts', '.vue'],
|
||||
},
|
||||
typescript: {
|
||||
alwaysTryTypes: true,
|
||||
project: './tsconfig.json',
|
||||
},
|
||||
node: true,
|
||||
},
|
||||
'import/parsers': {
|
||||
'@typescript-eslint/parser': ['.ts'],
|
||||
'vue-eslint-parser': ['.vue'],
|
||||
},
|
||||
},
|
||||
};
|
@ -2,52 +2,52 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
module.exports = {
|
||||
"env": {
|
||||
"es2020": true,
|
||||
"node": true,
|
||||
"jest": true
|
||||
'env': {
|
||||
'es2020': true,
|
||||
'node': true,
|
||||
'jest': true,
|
||||
},
|
||||
"plugins": [
|
||||
"stylelint-scss"
|
||||
'plugins': [
|
||||
'stylelint-scss',
|
||||
],
|
||||
"extends": "stylelint-config-standard-vue/scss",
|
||||
"customSyntax": "postcss-html",
|
||||
"rules": {
|
||||
"indentation": 4,
|
||||
"string-quotes": "single",
|
||||
"no-duplicate-selectors": true,
|
||||
"selector-max-attribute": 1,
|
||||
"selector-combinator-space-after": "always",
|
||||
"selector-attribute-operator-space-before": "never",
|
||||
"selector-attribute-operator-space-after": "never",
|
||||
"selector-attribute-brackets-space-inside": "never",
|
||||
"declaration-block-trailing-semicolon": "always",
|
||||
"declaration-colon-space-before": "never",
|
||||
"declaration-colon-space-after": "always",
|
||||
"number-leading-zero": "always",
|
||||
"function-url-quotes": "always",
|
||||
"font-family-name-quotes": "always-unless-keyword",
|
||||
"comment-whitespace-inside": "always",
|
||||
"comment-empty-line-before": "always",
|
||||
"rule-empty-line-before": "always-multi-line",
|
||||
"selector-pseudo-element-colon-notation": "single",
|
||||
"selector-pseudo-class-parentheses-space-inside": "never",
|
||||
"selector-max-type": 3,
|
||||
"font-family-no-missing-generic-family-keyword": true,
|
||||
"at-rule-no-unknown": null,
|
||||
"scss/at-rule-no-unknown": true,
|
||||
"media-feature-range-operator-space-before": "always",
|
||||
"media-feature-range-operator-space-after": "always",
|
||||
"media-feature-parentheses-space-inside": "never",
|
||||
"media-feature-colon-space-before": "never",
|
||||
"media-feature-colon-space-after": "always",
|
||||
"selector-pseudo-element-no-unknown": [
|
||||
'extends': 'stylelint-config-standard-vue/scss',
|
||||
'customSyntax': 'postcss-html',
|
||||
'rules': {
|
||||
'indentation': 4,
|
||||
'string-quotes': 'single',
|
||||
'no-duplicate-selectors': true,
|
||||
'selector-max-attribute': 1,
|
||||
'selector-combinator-space-after': 'always',
|
||||
'selector-attribute-operator-space-before': 'never',
|
||||
'selector-attribute-operator-space-after': 'never',
|
||||
'selector-attribute-brackets-space-inside': 'never',
|
||||
'declaration-block-trailing-semicolon': 'always',
|
||||
'declaration-colon-space-before': 'never',
|
||||
'declaration-colon-space-after': 'always',
|
||||
'number-leading-zero': 'always',
|
||||
'function-url-quotes': 'always',
|
||||
'font-family-name-quotes': 'always-unless-keyword',
|
||||
'comment-whitespace-inside': 'always',
|
||||
'comment-empty-line-before': 'always',
|
||||
'rule-empty-line-before': 'always-multi-line',
|
||||
'selector-pseudo-element-colon-notation': 'single',
|
||||
'selector-pseudo-class-parentheses-space-inside': 'never',
|
||||
'selector-max-type': 3,
|
||||
'font-family-no-missing-generic-family-keyword': true,
|
||||
'at-rule-no-unknown': null,
|
||||
'scss/at-rule-no-unknown': true,
|
||||
'media-feature-range-operator-space-before': 'always',
|
||||
'media-feature-range-operator-space-after': 'always',
|
||||
'media-feature-parentheses-space-inside': 'never',
|
||||
'media-feature-colon-space-before': 'never',
|
||||
'media-feature-colon-space-after': 'always',
|
||||
'selector-pseudo-element-no-unknown': [
|
||||
true,
|
||||
{
|
||||
"ignorePseudoElements": ["v-deep"]
|
||||
}
|
||||
'ignorePseudoElements': ['v-deep'],
|
||||
},
|
||||
],
|
||||
"selector-class-pattern": ".*",
|
||||
"custom-property-pattern": ".*",
|
||||
}
|
||||
}
|
||||
'selector-class-pattern': '.*',
|
||||
'custom-property-pattern': '.*',
|
||||
},
|
||||
};
|
||||
|
@ -3,9 +3,9 @@
|
||||
|
||||
module.exports = {
|
||||
preset: '@vue/cli-plugin-unit-jest/presets/typescript',
|
||||
setupFiles: ["./jest.setup.ts"],
|
||||
setupFiles: ['./jest.setup.ts'],
|
||||
testEnvironment: 'jsdom',
|
||||
transform: {
|
||||
"^.+\\.svg$": "<rootDir>/tests/unit/mock/svgTransform.js"
|
||||
}
|
||||
}
|
||||
'^.+\\.svg$': '<rootDir>/tests/unit/mock/svgTransform.js',
|
||||
},
|
||||
};
|
@ -34,7 +34,9 @@
|
||||
"babel-jest": "27.5.1",
|
||||
"compression-webpack-plugin": "9.2.0",
|
||||
"eslint": "8.14.0",
|
||||
"eslint-plugin-import": "2.25.4",
|
||||
"eslint-import-resolver-custom-alias": "1.3.0",
|
||||
"eslint-import-resolver-typescript": "2.7.1",
|
||||
"eslint-plugin-import": "2.26.0",
|
||||
"eslint-plugin-storj": "0.0.2",
|
||||
"eslint-plugin-vue": "8.7.1",
|
||||
"jest": "27.5.1",
|
||||
@ -49,6 +51,7 @@
|
||||
"stylelint-scss": "4.2.0",
|
||||
"ts-jest": "27.1.4",
|
||||
"typescript": "4.6.4",
|
||||
"vue-eslint-parser": "9.0.3",
|
||||
"vue-svg-loader": "0.17.0-beta.2",
|
||||
"vue-template-compiler": "2.7.10"
|
||||
}
|
||||
@ -3893,6 +3896,67 @@
|
||||
"eslint-plugin-vue": "^8.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/eslint-config-typescript/node_modules/eslint-scope": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
|
||||
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"esrecurse": "^4.3.0",
|
||||
"estraverse": "^5.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/eslint-config-typescript/node_modules/estraverse": {
|
||||
"version": "5.3.0",
|
||||
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
|
||||
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/eslint-config-typescript/node_modules/semver": {
|
||||
"version": "7.3.8",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
|
||||
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/eslint-config-typescript/node_modules/vue-eslint-parser": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
|
||||
"integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"debug": "^4.3.2",
|
||||
"eslint-scope": "^7.0.0",
|
||||
"eslint-visitor-keys": "^3.1.0",
|
||||
"espree": "^9.0.0",
|
||||
"esquery": "^1.4.0",
|
||||
"lodash": "^4.17.21",
|
||||
"semver": "^7.3.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/mysticatea"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"eslint": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/test-utils": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.3.0.tgz",
|
||||
@ -7083,6 +7147,31 @@
|
||||
"url": "https://opencollective.com/eslint"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-import-resolver-custom-alias": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-import-resolver-custom-alias/-/eslint-import-resolver-custom-alias-1.3.0.tgz",
|
||||
"integrity": "sha512-9rrpduF6/SZHFXrJgjeA+edJek6xulplYfo/UJvLPrY38O9UY00rAq76dHRnZ289yftc5NIfx3THi0IILRQ3dg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"glob-parent": "^5.1.0",
|
||||
"resolve": "^1.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"eslint-plugin-import": ">=2.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-import-resolver-custom-alias/node_modules/glob-parent": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"is-glob": "^4.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-import-resolver-node": {
|
||||
"version": "0.3.6",
|
||||
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
|
||||
@ -7102,6 +7191,26 @@
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-import-resolver-typescript": {
|
||||
"version": "2.7.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz",
|
||||
"integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"debug": "^4.3.4",
|
||||
"glob": "^7.2.0",
|
||||
"is-glob": "^4.0.3",
|
||||
"resolve": "^1.22.0",
|
||||
"tsconfig-paths": "^3.14.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"eslint": "*",
|
||||
"eslint-plugin-import": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-module-utils": {
|
||||
"version": "2.7.3",
|
||||
"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
|
||||
@ -7192,9 +7301,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-import": {
|
||||
"version": "2.25.4",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz",
|
||||
"integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==",
|
||||
"version": "2.26.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
|
||||
"integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"array-includes": "^3.1.4",
|
||||
@ -7202,14 +7311,14 @@
|
||||
"debug": "^2.6.9",
|
||||
"doctrine": "^2.1.0",
|
||||
"eslint-import-resolver-node": "^0.3.6",
|
||||
"eslint-module-utils": "^2.7.2",
|
||||
"eslint-module-utils": "^2.7.3",
|
||||
"has": "^1.0.3",
|
||||
"is-core-module": "^2.8.0",
|
||||
"is-core-module": "^2.8.1",
|
||||
"is-glob": "^4.0.3",
|
||||
"minimatch": "^3.0.4",
|
||||
"minimatch": "^3.1.2",
|
||||
"object.values": "^1.1.5",
|
||||
"resolve": "^1.20.0",
|
||||
"tsconfig-paths": "^3.12.0"
|
||||
"resolve": "^1.22.0",
|
||||
"tsconfig-paths": "^3.14.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
@ -7270,6 +7379,28 @@
|
||||
"eslint": "^6.2.0 || ^7.0.0 || ^8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-vue/node_modules/eslint-scope": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
|
||||
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"esrecurse": "^4.3.0",
|
||||
"estraverse": "^5.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-vue/node_modules/estraverse": {
|
||||
"version": "5.3.0",
|
||||
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
|
||||
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-vue/node_modules/semver": {
|
||||
"version": "7.3.7",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
||||
@ -7285,6 +7416,30 @@
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-vue/node_modules/vue-eslint-parser": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
|
||||
"integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"debug": "^4.3.2",
|
||||
"eslint-scope": "^7.0.0",
|
||||
"eslint-visitor-keys": "^3.1.0",
|
||||
"espree": "^9.0.0",
|
||||
"esquery": "^1.4.0",
|
||||
"lodash": "^4.17.21",
|
||||
"semver": "^7.3.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/mysticatea"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"eslint": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-scope": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
|
||||
@ -16728,21 +16883,21 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vue-eslint-parser": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
|
||||
"integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
|
||||
"version": "9.0.3",
|
||||
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.0.3.tgz",
|
||||
"integrity": "sha512-yL+ZDb+9T0ELG4VIFo/2anAOz8SvBdlqEnQnvJ3M7Scq56DvtjY0VY88bByRZB0D4J0u8olBcfrXTVONXsh4og==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"debug": "^4.3.2",
|
||||
"eslint-scope": "^7.0.0",
|
||||
"eslint-visitor-keys": "^3.1.0",
|
||||
"espree": "^9.0.0",
|
||||
"debug": "^4.3.4",
|
||||
"eslint-scope": "^7.1.1",
|
||||
"eslint-visitor-keys": "^3.3.0",
|
||||
"espree": "^9.3.1",
|
||||
"esquery": "^1.4.0",
|
||||
"lodash": "^4.17.21",
|
||||
"semver": "^7.3.5"
|
||||
"semver": "^7.3.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
"node": "^14.17.0 || >=16.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/mysticatea"
|
||||
@ -20799,6 +20954,48 @@
|
||||
"@typescript-eslint/eslint-plugin": "^5.0.0",
|
||||
"@typescript-eslint/parser": "^5.0.0",
|
||||
"vue-eslint-parser": "^8.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"eslint-scope": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
|
||||
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"esrecurse": "^4.3.0",
|
||||
"estraverse": "^5.2.0"
|
||||
}
|
||||
},
|
||||
"estraverse": {
|
||||
"version": "5.3.0",
|
||||
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
|
||||
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
|
||||
"dev": true
|
||||
},
|
||||
"semver": {
|
||||
"version": "7.3.8",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
|
||||
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lru-cache": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"vue-eslint-parser": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
|
||||
"integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"debug": "^4.3.2",
|
||||
"eslint-scope": "^7.0.0",
|
||||
"eslint-visitor-keys": "^3.1.0",
|
||||
"espree": "^9.0.0",
|
||||
"esquery": "^1.4.0",
|
||||
"lodash": "^4.17.21",
|
||||
"semver": "^7.3.5"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@vue/test-utils": {
|
||||
@ -23319,6 +23516,27 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"eslint-import-resolver-custom-alias": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-import-resolver-custom-alias/-/eslint-import-resolver-custom-alias-1.3.0.tgz",
|
||||
"integrity": "sha512-9rrpduF6/SZHFXrJgjeA+edJek6xulplYfo/UJvLPrY38O9UY00rAq76dHRnZ289yftc5NIfx3THi0IILRQ3dg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob-parent": "^5.1.0",
|
||||
"resolve": "^1.3.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"glob-parent": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-glob": "^4.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"eslint-import-resolver-node": {
|
||||
"version": "0.3.6",
|
||||
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
|
||||
@ -23340,6 +23558,19 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"eslint-import-resolver-typescript": {
|
||||
"version": "2.7.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz",
|
||||
"integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"debug": "^4.3.4",
|
||||
"glob": "^7.2.0",
|
||||
"is-glob": "^4.0.3",
|
||||
"resolve": "^1.22.0",
|
||||
"tsconfig-paths": "^3.14.1"
|
||||
}
|
||||
},
|
||||
"eslint-module-utils": {
|
||||
"version": "2.7.3",
|
||||
"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
|
||||
@ -23411,9 +23642,9 @@
|
||||
}
|
||||
},
|
||||
"eslint-plugin-import": {
|
||||
"version": "2.25.4",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz",
|
||||
"integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==",
|
||||
"version": "2.26.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
|
||||
"integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"array-includes": "^3.1.4",
|
||||
@ -23421,14 +23652,14 @@
|
||||
"debug": "^2.6.9",
|
||||
"doctrine": "^2.1.0",
|
||||
"eslint-import-resolver-node": "^0.3.6",
|
||||
"eslint-module-utils": "^2.7.2",
|
||||
"eslint-module-utils": "^2.7.3",
|
||||
"has": "^1.0.3",
|
||||
"is-core-module": "^2.8.0",
|
||||
"is-core-module": "^2.8.1",
|
||||
"is-glob": "^4.0.3",
|
||||
"minimatch": "^3.0.4",
|
||||
"minimatch": "^3.1.2",
|
||||
"object.values": "^1.1.5",
|
||||
"resolve": "^1.20.0",
|
||||
"tsconfig-paths": "^3.12.0"
|
||||
"resolve": "^1.22.0",
|
||||
"tsconfig-paths": "^3.14.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
@ -23476,6 +23707,22 @@
|
||||
"vue-eslint-parser": "^8.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"eslint-scope": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
|
||||
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"esrecurse": "^4.3.0",
|
||||
"estraverse": "^5.2.0"
|
||||
}
|
||||
},
|
||||
"estraverse": {
|
||||
"version": "5.3.0",
|
||||
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
|
||||
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
|
||||
"dev": true
|
||||
},
|
||||
"semver": {
|
||||
"version": "7.3.7",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
||||
@ -23484,6 +23731,21 @@
|
||||
"requires": {
|
||||
"lru-cache": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"vue-eslint-parser": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
|
||||
"integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"debug": "^4.3.2",
|
||||
"eslint-scope": "^7.0.0",
|
||||
"eslint-visitor-keys": "^3.1.0",
|
||||
"espree": "^9.0.0",
|
||||
"esquery": "^1.4.0",
|
||||
"lodash": "^4.17.21",
|
||||
"semver": "^7.3.5"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -30354,18 +30616,18 @@
|
||||
}
|
||||
},
|
||||
"vue-eslint-parser": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
|
||||
"integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
|
||||
"version": "9.0.3",
|
||||
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.0.3.tgz",
|
||||
"integrity": "sha512-yL+ZDb+9T0ELG4VIFo/2anAOz8SvBdlqEnQnvJ3M7Scq56DvtjY0VY88bByRZB0D4J0u8olBcfrXTVONXsh4og==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"debug": "^4.3.2",
|
||||
"eslint-scope": "^7.0.0",
|
||||
"eslint-visitor-keys": "^3.1.0",
|
||||
"espree": "^9.0.0",
|
||||
"debug": "^4.3.4",
|
||||
"eslint-scope": "^7.1.1",
|
||||
"eslint-visitor-keys": "^3.3.0",
|
||||
"espree": "^9.3.1",
|
||||
"esquery": "^1.4.0",
|
||||
"lodash": "^4.17.21",
|
||||
"semver": "^7.3.5"
|
||||
"semver": "^7.3.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"eslint-scope": {
|
||||
|
@ -37,7 +37,9 @@
|
||||
"babel-jest": "27.5.1",
|
||||
"compression-webpack-plugin": "9.2.0",
|
||||
"eslint": "8.14.0",
|
||||
"eslint-plugin-import": "2.25.4",
|
||||
"eslint-import-resolver-custom-alias": "1.3.0",
|
||||
"eslint-import-resolver-typescript": "2.7.1",
|
||||
"eslint-plugin-import": "2.26.0",
|
||||
"eslint-plugin-storj": "0.0.2",
|
||||
"eslint-plugin-vue": "8.7.1",
|
||||
"jest": "27.5.1",
|
||||
@ -52,6 +54,7 @@
|
||||
"stylelint-scss": "4.2.0",
|
||||
"ts-jest": "27.1.4",
|
||||
"typescript": "4.6.4",
|
||||
"vue-eslint-parser": "9.0.3",
|
||||
"vue-svg-loader": "0.17.0-beta.2",
|
||||
"vue-template-compiler": "2.7.10"
|
||||
},
|
||||
|
@ -33,10 +33,10 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import DisqualifyIcon from '@/../static/images/disqualify.svg';
|
||||
|
||||
import { SatelliteScores } from '@/storagenode/sno/sno';
|
||||
|
||||
import DisqualifyIcon from '@/../static/images/disqualify.svg';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: { DisqualifyIcon },
|
||||
|
@ -18,14 +18,14 @@
|
||||
<script lang="ts">
|
||||
import { Component } from 'vue-property-decorator';
|
||||
|
||||
import BaseChart from '@/app/components/BaseChart.vue';
|
||||
import VChart from '@/app/components/VChart.vue';
|
||||
|
||||
import { ChartData, Tooltip, TooltipParams, TooltipModel } from '@/app/types/chart';
|
||||
import { ChartUtils } from '@/app/utils/chart';
|
||||
import { Size } from '@/private/memory/size';
|
||||
import { BandwidthUsed } from '@/storagenode/sno/sno';
|
||||
|
||||
import VChart from '@/app/components/VChart.vue';
|
||||
import BaseChart from '@/app/components/BaseChart.vue';
|
||||
|
||||
/**
|
||||
* stores bandwidth data for bandwidth chart's tooltip
|
||||
*/
|
||||
@ -49,7 +49,7 @@ class BandwidthTooltip {
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: { VChart }
|
||||
components: { VChart },
|
||||
})
|
||||
export default class BandwidthChart extends BaseChart {
|
||||
private get chartBackgroundColor(): string {
|
||||
|
@ -19,11 +19,11 @@
|
||||
<script lang="ts">
|
||||
import { Component, Prop, Vue } from 'vue-property-decorator';
|
||||
|
||||
import { Size } from '@/private/memory/size';
|
||||
|
||||
import VBar from '@/app/components/VBar.vue';
|
||||
import VInfo from '@/app/components/VInfo.vue';
|
||||
|
||||
import { Size } from '@/private/memory/size';
|
||||
|
||||
// @vue/component
|
||||
@Component ({
|
||||
components: {
|
||||
@ -32,15 +32,15 @@ import { Size } from '@/private/memory/size';
|
||||
},
|
||||
})
|
||||
export default class BarInfo extends Vue {
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly label: string;
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly amount: number;
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly infoText: string;
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly currentBarAmount: number;
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly maxBarAmount: number;
|
||||
|
||||
public get infoMessage(): string {
|
||||
|
@ -13,11 +13,11 @@ import VChart from '@/app/components/VChart.vue';
|
||||
},
|
||||
})
|
||||
export default class BaseChart extends Vue {
|
||||
@Prop({default: 0})
|
||||
@Prop({ default: 0 })
|
||||
public width: number;
|
||||
@Prop({default: 0})
|
||||
@Prop({ default: 0 })
|
||||
public height: number;
|
||||
@Prop({default: false})
|
||||
@Prop({ default: false })
|
||||
public isDarkMode: boolean;
|
||||
|
||||
public chartWidth = 0;
|
||||
|
@ -31,11 +31,11 @@ import ChecksInfoIcon from '@/../static/images/checksInfo.svg';
|
||||
},
|
||||
})
|
||||
export default class ChecksArea extends Vue {
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly label: string;
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly amount: string;
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly infoText: string;
|
||||
|
||||
/**
|
||||
|
@ -18,14 +18,14 @@
|
||||
<script lang="ts">
|
||||
import { Component } from 'vue-property-decorator';
|
||||
|
||||
import BaseChart from '@/app/components/BaseChart.vue';
|
||||
import VChart from '@/app/components/VChart.vue';
|
||||
|
||||
import { ChartData, Tooltip, TooltipParams, TooltipModel } from '@/app/types/chart';
|
||||
import { ChartUtils } from '@/app/utils/chart';
|
||||
import { Size } from '@/private/memory/size';
|
||||
import { Stamp } from '@/storagenode/sno/sno';
|
||||
|
||||
import VChart from '@/app/components/VChart.vue';
|
||||
import BaseChart from '@/app/components/BaseChart.vue';
|
||||
|
||||
/**
|
||||
* stores stamp data for disc space chart's tooltip
|
||||
*/
|
||||
@ -41,7 +41,7 @@ class StampTooltip {
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: { VChart }
|
||||
components: { VChart },
|
||||
})
|
||||
export default class DiskSpaceChart extends BaseChart {
|
||||
private get chartBackgroundColor(): string {
|
||||
|
@ -42,11 +42,11 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import DoughnutChart from '@/app/components/DoughnutChart.vue';
|
||||
|
||||
import {DiskStatChartData, DiskStatDataSet} from '@/app/types/chart';
|
||||
import { DiskStatChartData, DiskStatDataSet } from '@/app/types/chart';
|
||||
import { Traffic } from '@/storagenode/sno/sno';
|
||||
|
||||
import DoughnutChart from '@/app/components/DoughnutChart.vue';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -4,6 +4,7 @@
|
||||
<script lang="ts">
|
||||
import * as VueChart from 'vue-chartjs';
|
||||
import { Component, Prop, Vue, Watch } from 'vue-property-decorator';
|
||||
|
||||
import { DiskStatChartData, RenderChart } from '@/app/types/chart';
|
||||
|
||||
// @vue/component
|
||||
|
@ -18,14 +18,14 @@
|
||||
<script lang="ts">
|
||||
import { Component } from 'vue-property-decorator';
|
||||
|
||||
import BaseChart from '@/app/components/BaseChart.vue';
|
||||
import VChart from '@/app/components/VChart.vue';
|
||||
|
||||
import { ChartData, Tooltip, TooltipParams, TooltipModel } from '@/app/types/chart';
|
||||
import { ChartUtils } from '@/app/utils/chart';
|
||||
import { Size } from '@/private/memory/size';
|
||||
import { EgressUsed } from '@/storagenode/sno/sno';
|
||||
|
||||
import VChart from '@/app/components/VChart.vue';
|
||||
import BaseChart from '@/app/components/BaseChart.vue';
|
||||
|
||||
/**
|
||||
* stores egress data for egress bandwidth chart's tooltip
|
||||
*/
|
||||
@ -45,7 +45,7 @@ class EgressTooltip {
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: { VChart }
|
||||
components: { VChart },
|
||||
})
|
||||
export default class EgressChart extends BaseChart {
|
||||
private get chartBackgroundColor(): string {
|
||||
|
@ -18,14 +18,14 @@
|
||||
<script lang="ts">
|
||||
import { Component } from 'vue-property-decorator';
|
||||
|
||||
import BaseChart from '@/app/components/BaseChart.vue';
|
||||
import VChart from '@/app/components/VChart.vue';
|
||||
|
||||
import { ChartData, Tooltip, TooltipParams, TooltipModel } from '@/app/types/chart';
|
||||
import { ChartUtils } from '@/app/utils/chart';
|
||||
import { Size } from '@/private/memory/size';
|
||||
import { IngressUsed } from '@/storagenode/sno/sno';
|
||||
|
||||
import VChart from '@/app/components/VChart.vue';
|
||||
import BaseChart from '@/app/components/BaseChart.vue';
|
||||
|
||||
/**
|
||||
* stores ingress data for ingress bandwidth chart's tooltip
|
||||
*/
|
||||
@ -43,7 +43,7 @@ class IngressTooltip {
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: { VChart }
|
||||
components: { VChart },
|
||||
})
|
||||
export default class IngressChart extends BaseChart {
|
||||
private get chartBackgroundColor(): string {
|
||||
|
@ -15,12 +15,12 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue, Watch } from 'vue-property-decorator';
|
||||
|
||||
import MoonIcon from '@/../static/images/DarkMoon.svg';
|
||||
import SunIcon from '@/../static/images/LightSun.svg';
|
||||
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { SNO_THEME } from '@/app/types/theme';
|
||||
|
||||
import MoonIcon from '@/../static/images/DarkMoon.svg';
|
||||
import SunIcon from '@/../static/images/LightSun.svg';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -23,9 +23,9 @@ import { CheckSelected, Page } from '@/app/types/pagination';
|
||||
// @vue/component
|
||||
@Component
|
||||
export default class PagesBlock extends Vue {
|
||||
@Prop({default: () => []})
|
||||
@Prop({ default: () => [] })
|
||||
public readonly pages: Page[];
|
||||
@Prop({default: () => false})
|
||||
@Prop({ default: () => false })
|
||||
public readonly isSelected: CheckSelected;
|
||||
}
|
||||
</script>
|
||||
|
@ -163,6 +163,11 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import { RouteConfig } from '@/app/router';
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { Size } from '@/private/memory/size';
|
||||
import { Dashboard, SatelliteInfo, SatelliteScores } from '@/storagenode/sno/sno';
|
||||
|
||||
import AllSatellitesAuditsArea from '@/app/components/AllSatellitesAuditsArea.vue';
|
||||
import BandwidthChart from '@/app/components/BandwidthChart.vue';
|
||||
import ChecksArea from '@/app/components/ChecksArea.vue';
|
||||
@ -174,14 +179,9 @@ import SatelliteSelection from '@/app/components/SatelliteSelection.vue';
|
||||
import TotalPayoutArea from '@/app/components/TotalPayoutArea.vue';
|
||||
import WalletArea from '@/app/components/WalletArea.vue';
|
||||
|
||||
import BlueArrowRight from '@/../static/images/BlueArrowRight.svg';
|
||||
import LargeDisqualificationIcon from '@/../static/images/largeDisqualify.svg';
|
||||
import LargeSuspensionIcon from '@/../static/images/largeSuspend.svg';
|
||||
|
||||
import { RouteConfig } from '@/app/router';
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { Size } from '@/private/memory/size';
|
||||
import { Dashboard, SatelliteInfo, SatelliteScores } from '@/storagenode/sno/sno';
|
||||
import LargeDisqualificationIcon from '@/../static/images/largeDisqualify.svg';
|
||||
import BlueArrowRight from '@/../static/images/BlueArrowRight.svg';
|
||||
|
||||
// @vue/component
|
||||
@Component ({
|
||||
|
@ -81,13 +81,13 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import { StatusOnline } from '@/app/store/modules/node';
|
||||
import { Duration, millisecondsInSecond, minutesInHour, secondsInHour, secondsInMinute } from '@/app/utils/duration';
|
||||
|
||||
import VInfo from '@/app/components/VInfo.vue';
|
||||
|
||||
import CopyIcon from '@/../static/images/Copy.svg';
|
||||
|
||||
import { StatusOnline } from '@/app/store/modules/node';
|
||||
import { Duration, millisecondsInSecond, minutesInHour, secondsInHour, secondsInMinute } from '@/app/utils/duration';
|
||||
|
||||
/**
|
||||
* NodeInfo class holds info for NodeInfo entity.
|
||||
*/
|
||||
@ -98,8 +98,8 @@ class NodeInfo {
|
||||
public allowedVersion: string;
|
||||
public wallet: string;
|
||||
public isLastVersion: boolean;
|
||||
public quicEnabled: boolean
|
||||
public configuredPort: string
|
||||
public quicEnabled: boolean;
|
||||
public configuredPort: string;
|
||||
|
||||
public constructor(id: string, status: string, version: string, allowedVersion: string, wallet: string, isLastVersion: boolean, quicEnabled: boolean, port: string) {
|
||||
this.id = id;
|
||||
@ -108,8 +108,8 @@ class NodeInfo {
|
||||
this.allowedVersion = this.toVersionString(allowedVersion);
|
||||
this.wallet = wallet;
|
||||
this.isLastVersion = isLastVersion;
|
||||
this.quicEnabled = quicEnabled
|
||||
this.configuredPort = port
|
||||
this.quicEnabled = quicEnabled;
|
||||
this.configuredPort = port;
|
||||
}
|
||||
|
||||
private toVersionString(version: string): string {
|
||||
|
@ -34,10 +34,10 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import StorjIcon from '@/../static/images/storjIcon.svg';
|
||||
|
||||
import { RouteConfig } from '@/app/router';
|
||||
|
||||
import StorjIcon from '@/../static/images/storjIcon.svg';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -53,8 +53,14 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import NotificationsPopup from '@/app/components/notifications/NotificationsPopup.vue';
|
||||
import { RouteConfig } from '@/app/router';
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { NODE_ACTIONS } from '@/app/store/modules/node';
|
||||
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
|
||||
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
|
||||
|
||||
import OptionsDropdown from '@/app/components/OptionsDropdown.vue';
|
||||
import NotificationsPopup from '@/app/components/notifications/NotificationsPopup.vue';
|
||||
|
||||
import CopyIcon from '@/../static/images/Copy.svg';
|
||||
import StorjIconWithoutText from '@/../static/images/LogoWithoutText.svg';
|
||||
@ -63,12 +69,6 @@ import RefreshIcon from '@/../static/images/refresh.svg';
|
||||
import SettingsIcon from '@/../static/images/SettingsDots.svg';
|
||||
import StorjIcon from '@/../static/images/storjIcon.svg';
|
||||
|
||||
import { RouteConfig } from '@/app/router';
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { NODE_ACTIONS } from '@/app/store/modules/node';
|
||||
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
|
||||
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
|
||||
|
||||
const {
|
||||
GET_NODE_INFO,
|
||||
SELECT_SATELLITE,
|
||||
@ -172,7 +172,7 @@ export default class SNOHeader extends Vue {
|
||||
await this.$store.dispatch(GET_NODE_INFO);
|
||||
await this.$store.dispatch(SELECT_SATELLITE, selectedSatelliteId);
|
||||
} catch (error) {
|
||||
console.error("fetching satellite data", error);
|
||||
console.error('fetching satellite data', error);
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -49,14 +49,14 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import CopyIcon from '@/../static/images/Copy.svg';
|
||||
import DropdownArrowIcon from '@/../static/images/dropdownArrow.svg';
|
||||
import EyeIcon from '@/../static/images/Eye.svg';
|
||||
import SatelliteSelectionDropdown from './SatelliteSelectionDropdown.vue';
|
||||
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { SatelliteInfo } from '@/storagenode/sno/sno';
|
||||
|
||||
import SatelliteSelectionDropdown from './SatelliteSelectionDropdown.vue';
|
||||
import CopyIcon from '@/../static/images/Copy.svg';
|
||||
import DropdownArrowIcon from '@/../static/images/dropdownArrow.svg';
|
||||
import EyeIcon from '@/../static/images/Eye.svg';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
|
@ -23,8 +23,6 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import SatelliteSelectionDropdownItem from '@/app/components/SatelliteSelectionDropdownItem.vue';
|
||||
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { NODE_ACTIONS } from '@/app/store/modules/node';
|
||||
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
|
||||
@ -32,6 +30,8 @@ import { PayoutInfoRange } from '@/app/types/payout';
|
||||
import { PayoutPeriod } from '@/storagenode/payouts/payouts';
|
||||
import { SatelliteInfo } from '@/storagenode/sno/sno';
|
||||
|
||||
import SatelliteSelectionDropdownItem from '@/app/components/SatelliteSelectionDropdownItem.vue';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -67,13 +67,13 @@
|
||||
<script lang="ts">
|
||||
import { Component, Prop, Vue } from 'vue-property-decorator';
|
||||
|
||||
import { SatelliteInfo } from '@/storagenode/sno/sno';
|
||||
|
||||
import CopyIcon from '@/../static/images/Copy.svg';
|
||||
import DisqualificationIcon from '@/../static/images/disqualify.svg';
|
||||
import EyeIcon from '@/../static/images/Eye.svg';
|
||||
import SuspensionIcon from '@/../static/images/suspend.svg';
|
||||
|
||||
import { SatelliteInfo } from '@/storagenode/sno/sno';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
@ -84,7 +84,7 @@ import { SatelliteInfo } from '@/storagenode/sno/sno';
|
||||
},
|
||||
})
|
||||
export default class SatelliteSelectionDropdownItem extends Vue {
|
||||
@Prop({default: () => new SatelliteInfo()})
|
||||
@Prop({ default: () => new SatelliteInfo() })
|
||||
public readonly satellite: SatelliteInfo;
|
||||
|
||||
/**
|
||||
|
@ -24,9 +24,9 @@ class BarFillStyle {
|
||||
// @vue/component
|
||||
@Component
|
||||
export default class VBar extends Vue {
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly current: string;
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly max: string;
|
||||
|
||||
public get barFillStyle(): BarFillStyle {
|
||||
|
@ -31,19 +31,19 @@ export default class VInfo extends Vue {
|
||||
private isVisible = false;
|
||||
private height = '5px';
|
||||
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly text: string;
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly boldText: string;
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly extraBoldText: string;
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly greenText: string;
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly extraGreenText: string;
|
||||
@Prop({default: false})
|
||||
@Prop({ default: false })
|
||||
private readonly isExtraPadding: boolean;
|
||||
@Prop({default: false})
|
||||
@Prop({ default: false })
|
||||
private readonly isCustomPosition: boolean;
|
||||
|
||||
public toggleVisibility(): void {
|
||||
|
@ -41,10 +41,10 @@
|
||||
<script lang="ts">
|
||||
import { Component, Prop, Vue, Watch } from 'vue-property-decorator';
|
||||
|
||||
import PagesBlock from '@/app/components/PagesBlock.vue';
|
||||
|
||||
import { OnPageClickCallback, Page } from '@/app/types/pagination';
|
||||
|
||||
import PagesBlock from '@/app/components/PagesBlock.vue';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
@ -61,9 +61,9 @@ export default class VPagination extends Vue {
|
||||
public middleBlockPages: Page[] = [];
|
||||
public lastBlockPages: Page[] = [];
|
||||
|
||||
@Prop({default: 0})
|
||||
@Prop({ default: 0 })
|
||||
private readonly totalPageCount: number;
|
||||
@Prop({default: () => () => new Promise(() => false)})
|
||||
@Prop({ default: () => () => new Promise(() => false) })
|
||||
private readonly onPageClickCallback: OnPageClickCallback;
|
||||
|
||||
/**
|
||||
|
@ -59,11 +59,11 @@ import WalletIcon from '@/../static/images/wallet.svg';
|
||||
},
|
||||
})
|
||||
export default class WalletArea extends Vue {
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly label: string;
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly walletAddress: string;
|
||||
@Prop({default: () => []})
|
||||
@Prop({ default: () => [] })
|
||||
private readonly walletFeatures: string[];
|
||||
|
||||
public get isZkSyncEnabled(): boolean {
|
||||
|
@ -31,11 +31,11 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import SNONotification from '@/app/components/notifications/SNONotification.vue';
|
||||
|
||||
import { RouteConfig } from '@/app/router';
|
||||
import { UINotification } from '@/app/types/notifications';
|
||||
|
||||
import SNONotification from '@/app/components/notifications/SNONotification.vue';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -37,13 +37,13 @@ import { UINotification } from '@/app/types/notifications';
|
||||
// @vue/component
|
||||
@Component
|
||||
export default class SNONotification extends Vue {
|
||||
@Prop({default: () => new UINotification()})
|
||||
@Prop({ default: () => new UINotification() })
|
||||
public readonly notification: UINotification;
|
||||
|
||||
/**
|
||||
* isSmall props indicates if component used in popup.
|
||||
*/
|
||||
@Prop({default: false})
|
||||
@Prop({ default: false })
|
||||
public isSmall: boolean;
|
||||
|
||||
/**
|
||||
|
@ -4,11 +4,11 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
|
||||
import BlueHideIcon from '@/../static/images/common/BlueMinus.svg';
|
||||
import BlueExpandIcon from '@/../static/images/common/BluePlus.svg';
|
||||
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -144,10 +144,6 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import EstimationPeriodDropdown from '@/app/components/payments/EstimationPeriodDropdown.vue';
|
||||
|
||||
import ChecksInfoIcon from '@/../static/images/checksInfo.svg';
|
||||
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import {
|
||||
BANDWIDTH_DOWNLOAD_PRICE_PER_TB,
|
||||
@ -162,6 +158,10 @@ import {
|
||||
import { Size } from '@/private/memory/size';
|
||||
import { EstimatedPayout, PayoutPeriod, TotalPaystubForPeriod } from '@/storagenode/payouts/payouts';
|
||||
|
||||
import EstimationPeriodDropdown from '@/app/components/payments/EstimationPeriodDropdown.vue';
|
||||
|
||||
import ChecksInfoIcon from '@/../static/images/checksInfo.svg';
|
||||
|
||||
/**
|
||||
* Describes table row data item.
|
||||
*/
|
||||
|
@ -24,13 +24,13 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
|
||||
import PayoutPeriodCalendar from '@/app/components/payments/PayoutPeriodCalendar.vue';
|
||||
|
||||
import BlackArrowExpand from '@/../static/images/BlackArrowExpand.svg';
|
||||
import BlackArrowHide from '@/../static/images/BlackArrowHide.svg';
|
||||
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -47,11 +47,11 @@
|
||||
<script lang="ts">
|
||||
import { Component } from 'vue-property-decorator';
|
||||
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
|
||||
import BaseHeldHistoryTable from '@/app/components/payments/BaseHeldHistoryTable.vue';
|
||||
import HeldHistoryAllStatsTableItemSmall from '@/app/components/payments/HeldHistoryAllStatsTableItemSmall.vue';
|
||||
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -39,12 +39,12 @@
|
||||
<script lang="ts">
|
||||
import { Component, Prop } from 'vue-property-decorator';
|
||||
|
||||
import BlueHideIcon from '@/../static/images/common/BlueMinus.svg';
|
||||
import BlueExpandIcon from '@/../static/images/common/BluePlus.svg';
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
|
||||
import BaseSmallHeldHistoryTable from '@/app/components/payments/BaseSmallHeldHistoryTable.vue';
|
||||
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
import BlueHideIcon from '@/../static/images/common/BlueMinus.svg';
|
||||
import BlueExpandIcon from '@/../static/images/common/BluePlus.svg';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
@ -54,7 +54,7 @@ import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
},
|
||||
})
|
||||
export default class HeldHistoryAllStatsTableSmall extends BaseSmallHeldHistoryTable {
|
||||
@Prop({default: () => new SatelliteHeldHistory()})
|
||||
@Prop({ default: () => new SatelliteHeldHistory() })
|
||||
public readonly heldHistoryItem: SatelliteHeldHistory;
|
||||
}
|
||||
</script>
|
||||
|
@ -47,11 +47,11 @@
|
||||
<script lang="ts">
|
||||
import { Component } from 'vue-property-decorator';
|
||||
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
|
||||
import BaseHeldHistoryTable from '@/app/components/payments/BaseHeldHistoryTable.vue';
|
||||
import HeldHistoryMonthlyBreakdownTableItemSmall from '@/app/components/payments/HeldHistoryMonthlyBreakdownTableItemSmall.vue';
|
||||
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -39,12 +39,12 @@
|
||||
<script lang="ts">
|
||||
import { Component, Prop } from 'vue-property-decorator';
|
||||
|
||||
import BlueHideIcon from '@/../static/images/common/BlueMinus.svg';
|
||||
import BlueExpandIcon from '@/../static/images/common/BluePlus.svg';
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
|
||||
import BaseSmallHeldHistoryTable from '@/app/components/payments/BaseSmallHeldHistoryTable.vue';
|
||||
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
import BlueHideIcon from '@/../static/images/common/BlueMinus.svg';
|
||||
import BlueExpandIcon from '@/../static/images/common/BluePlus.svg';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
@ -54,7 +54,7 @@ import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
},
|
||||
})
|
||||
export default class HeldHistoryMonthlyBreakdownTableSmall extends BaseSmallHeldHistoryTable {
|
||||
@Prop({default: () => new SatelliteHeldHistory()})
|
||||
@Prop({ default: () => new SatelliteHeldHistory() })
|
||||
public readonly heldHistoryItem: SatelliteHeldHistory;
|
||||
}
|
||||
</script>
|
||||
|
@ -35,8 +35,6 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import GrayArrowLeftIcon from '@/../static/images/payments/GrayArrowLeft.svg';
|
||||
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
|
||||
import {
|
||||
@ -45,6 +43,8 @@ import {
|
||||
StoredMonthsByYear,
|
||||
} from '@/app/types/payout';
|
||||
|
||||
import GrayArrowLeftIcon from '@/../static/images/payments/GrayArrowLeft.svg';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -17,14 +17,14 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { monthNames } from '@/app/types/payout';
|
||||
|
||||
import PayoutHistoryPeriodCalendar from '@/app/components/payments/PayoutHistoryPeriodCalendar.vue';
|
||||
|
||||
import BlackArrowExpand from '@/../static/images/BlackArrowExpand.svg';
|
||||
import BlackArrowHide from '@/../static/images/BlackArrowHide.svg';
|
||||
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { monthNames } from '@/app/types/payout';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -27,12 +27,12 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import PayoutHistoryPeriodDropdown from '@/app/components/payments/PayoutHistoryPeriodDropdown.vue';
|
||||
import PayoutHistoryTableItem from '@/app/components/payments/PayoutHistoryTableItem.vue';
|
||||
|
||||
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
|
||||
import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
|
||||
|
||||
import PayoutHistoryPeriodDropdown from '@/app/components/payments/PayoutHistoryPeriodDropdown.vue';
|
||||
import PayoutHistoryTableItem from '@/app/components/payments/PayoutHistoryTableItem.vue';
|
||||
|
||||
// @vue/component
|
||||
@Component ({
|
||||
components: {
|
||||
|
@ -106,13 +106,13 @@
|
||||
<script lang="ts">
|
||||
import { Component, Prop, Vue } from 'vue-property-decorator';
|
||||
|
||||
import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
|
||||
|
||||
import ExpandIcon from '@/../static/images/BlueArrowRight.svg';
|
||||
import DisqualifyIcon from '@/../static/images/largeDisqualify.svg';
|
||||
import OKIcon from '@/../static/images/payments/OKIcon.svg';
|
||||
import ShareIcon from '@/../static/images/payments/Share.svg';
|
||||
|
||||
import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
|
||||
|
||||
// @vue/component
|
||||
@Component ({
|
||||
components: {
|
||||
@ -123,7 +123,7 @@ import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
|
||||
},
|
||||
})
|
||||
export default class PayoutHistoryTableItem extends Vue {
|
||||
@Prop({default: () => new SatellitePayoutForPeriod()})
|
||||
@Prop({ default: () => new SatellitePayoutForPeriod() })
|
||||
public readonly historyItem: SatellitePayoutForPeriod;
|
||||
|
||||
/**
|
||||
|
@ -38,8 +38,6 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import GrayArrowLeftIcon from '@/../static/images/payments/GrayArrowLeft.svg';
|
||||
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
|
||||
import {
|
||||
@ -50,6 +48,8 @@ import {
|
||||
} from '@/app/types/payout';
|
||||
import { PayoutPeriod } from '@/storagenode/payouts/payouts';
|
||||
|
||||
import GrayArrowLeftIcon from '@/../static/images/payments/GrayArrowLeft.svg';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -31,13 +31,13 @@ import ChecksInfoIcon from '@/../static/images/checksInfo.svg';
|
||||
},
|
||||
})
|
||||
export default class SingleInfo extends Vue {
|
||||
@Prop({default: '100%'})
|
||||
@Prop({ default: '100%' })
|
||||
public readonly width: string;
|
||||
@Prop({default: 'Label'})
|
||||
@Prop({ default: 'Label' })
|
||||
public readonly label: string;
|
||||
@Prop({default: 'value'})
|
||||
@Prop({ default: 'value' })
|
||||
public readonly value: string;
|
||||
@Prop({default: ''})
|
||||
@Prop({ default: '' })
|
||||
private readonly infoText: string;
|
||||
|
||||
/**
|
||||
|
@ -28,10 +28,10 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import SingleInfo from '@/app/components/payments/SingleInfo.vue';
|
||||
|
||||
import { TotalPayments } from '@/storagenode/payouts/payouts';
|
||||
|
||||
import SingleInfo from '@/app/components/payments/SingleInfo.vue';
|
||||
|
||||
// @vue/component
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -4,13 +4,13 @@
|
||||
import Vue from 'vue';
|
||||
import Router from 'vue-router';
|
||||
|
||||
import Page404 from '@/app/components/errors/Page404.vue';
|
||||
|
||||
import { NavigationLink } from '@/app/types/navigation';
|
||||
import DashboardArea from '@/app/views/DashboardArea.vue';
|
||||
import NotificationsArea from '@/app/views/NotificationsArea.vue';
|
||||
import PayoutArea from '@/app/views/PayoutArea.vue';
|
||||
|
||||
import Page404 from '@/app/components/errors/Page404.vue';
|
||||
|
||||
Vue.use(Router);
|
||||
|
||||
export abstract class RouteConfig {
|
||||
|
@ -4,6 +4,9 @@
|
||||
import Vue from 'vue';
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import { appStateModule } from './modules/appState';
|
||||
import { newNodeModule } from './modules/node';
|
||||
|
||||
import { newNotificationsModule } from '@/app/store/modules/notifications';
|
||||
import { newPayoutModule } from '@/app/store/modules/payout';
|
||||
import { NotificationsHttpApi } from '@/storagenode/api/notifications';
|
||||
@ -13,9 +16,6 @@ import { NotificationsService } from '@/storagenode/notifications/service';
|
||||
import { PayoutService } from '@/storagenode/payouts/service';
|
||||
import { StorageNodeService } from '@/storagenode/sno/service';
|
||||
|
||||
import { appStateModule } from './modules/appState';
|
||||
import { newNodeModule } from './modules/node';
|
||||
|
||||
const notificationsApi = new NotificationsHttpApi();
|
||||
const notificationsService = new NotificationsService(notificationsApi);
|
||||
const payoutApi = new PayoutHttpApi();
|
||||
|
@ -98,7 +98,7 @@ export const appStateModule = {
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
[APPSTATE_ACTIONS.TOGGLE_SATELLITE_SELECTION]: function ({commit, state}: AppContext): void {
|
||||
[APPSTATE_ACTIONS.TOGGLE_SATELLITE_SELECTION]: function ({ commit, state }: AppContext): void {
|
||||
if (!state.isSatelliteSelectionShown) {
|
||||
commit(APPSTATE_MUTATIONS.TOGGLE_SATELLITE_SELECTION);
|
||||
|
||||
@ -107,10 +107,10 @@ export const appStateModule = {
|
||||
|
||||
commit(APPSTATE_MUTATIONS.CLOSE_ALL_POPUPS);
|
||||
},
|
||||
[APPSTATE_ACTIONS.TOGGLE_PAYOUT_CALENDAR]: function ({commit}: AppContext, value: boolean): void {
|
||||
[APPSTATE_ACTIONS.TOGGLE_PAYOUT_CALENDAR]: function ({ commit }: AppContext, value: boolean): void {
|
||||
commit(APPSTATE_MUTATIONS.TOGGLE_PAYOUT_CALENDAR, value);
|
||||
},
|
||||
[APPSTATE_ACTIONS.TOGGLE_EGRESS_CHART]: function ({commit, state}: AppContext): void {
|
||||
[APPSTATE_ACTIONS.TOGGLE_EGRESS_CHART]: function ({ commit, state }: AppContext): void {
|
||||
if (!state.isBandwidthChartShown) {
|
||||
commit(APPSTATE_MUTATIONS.TOGGLE_EGRESS_CHART);
|
||||
commit(APPSTATE_MUTATIONS.TOGGLE_INGRESS_CHART);
|
||||
@ -121,7 +121,7 @@ export const appStateModule = {
|
||||
commit(APPSTATE_MUTATIONS.TOGGLE_BANDWIDTH_CHART);
|
||||
commit(APPSTATE_MUTATIONS.TOGGLE_EGRESS_CHART);
|
||||
},
|
||||
[APPSTATE_ACTIONS.TOGGLE_INGRESS_CHART]: function ({commit, state}: AppContext): void {
|
||||
[APPSTATE_ACTIONS.TOGGLE_INGRESS_CHART]: function ({ commit, state }: AppContext): void {
|
||||
if (!state.isBandwidthChartShown) {
|
||||
commit(APPSTATE_MUTATIONS.TOGGLE_INGRESS_CHART);
|
||||
commit(APPSTATE_MUTATIONS.TOGGLE_EGRESS_CHART);
|
||||
@ -132,23 +132,23 @@ export const appStateModule = {
|
||||
commit(APPSTATE_MUTATIONS.TOGGLE_BANDWIDTH_CHART);
|
||||
commit(APPSTATE_MUTATIONS.TOGGLE_INGRESS_CHART);
|
||||
},
|
||||
[APPSTATE_ACTIONS.SET_DARK_MODE]: function ({commit}: AppContext, value: boolean): void {
|
||||
[APPSTATE_ACTIONS.SET_DARK_MODE]: function ({ commit }: AppContext, value: boolean): void {
|
||||
commit(APPSTATE_MUTATIONS.SET_DARK, value);
|
||||
},
|
||||
[APPSTATE_ACTIONS.SET_NO_PAYOUT_DATA]: function ({commit}: AppContext, value: boolean): void {
|
||||
[APPSTATE_ACTIONS.SET_NO_PAYOUT_DATA]: function ({ commit }: AppContext, value: boolean): void {
|
||||
commit(APPSTATE_MUTATIONS.SET_NO_PAYOUT_INFO, value);
|
||||
},
|
||||
[APPSTATE_ACTIONS.SET_LOADING]: function ({commit}: AppContext, value: boolean): void {
|
||||
[APPSTATE_ACTIONS.SET_LOADING]: function ({ commit }: AppContext, value: boolean): void {
|
||||
value ? commit(APPSTATE_MUTATIONS.SET_LOADING_STATE, value) :
|
||||
setTimeout(() => { commit(APPSTATE_MUTATIONS.SET_LOADING_STATE, value); }, 1000);
|
||||
},
|
||||
[APPSTATE_ACTIONS.CLOSE_ADDITIONAL_CHARTS]: function ({commit}: AppContext): void {
|
||||
[APPSTATE_ACTIONS.CLOSE_ADDITIONAL_CHARTS]: function ({ commit }: AppContext): void {
|
||||
commit(APPSTATE_MUTATIONS.CLOSE_ADDITIONAL_CHARTS);
|
||||
},
|
||||
[APPSTATE_ACTIONS.CLOSE_ALL_POPUPS]: function ({commit}: AppContext): void {
|
||||
[APPSTATE_ACTIONS.CLOSE_ALL_POPUPS]: function ({ commit }: AppContext): void {
|
||||
commit(APPSTATE_MUTATIONS.CLOSE_ALL_POPUPS);
|
||||
},
|
||||
[APPSTATE_ACTIONS.TOGGLE_PAYOUT_HISTORY_CALENDAR]: function ({commit}: AppContext, value: boolean): void {
|
||||
[APPSTATE_ACTIONS.TOGGLE_PAYOUT_HISTORY_CALENDAR]: function ({ commit }: AppContext, value: boolean): void {
|
||||
commit(APPSTATE_MUTATIONS.TOGGLE_PAYOUT_HISTORY_CALENDAR, value);
|
||||
},
|
||||
},
|
||||
|
@ -62,7 +62,7 @@ export function newNodeModule(service: StorageNodeService): StoreModule<StorageN
|
||||
nodeInfo.walletFeatures,
|
||||
nodeInfo.isUpToDate,
|
||||
nodeInfo.quicEnabled,
|
||||
nodeInfo.configuredPort
|
||||
nodeInfo.configuredPort,
|
||||
);
|
||||
|
||||
state.utilization = new Utilization(
|
||||
@ -114,12 +114,12 @@ export function newNodeModule(service: StorageNodeService): StoreModule<StorageN
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
[NODE_ACTIONS.GET_NODE_INFO]: async function ({commit}: StorageNodeContext): Promise<void> {
|
||||
[NODE_ACTIONS.GET_NODE_INFO]: async function ({ commit }: StorageNodeContext): Promise<void> {
|
||||
const dashboard = await service.dashboard();
|
||||
|
||||
commit(NODE_MUTATIONS.POPULATE_STORE, dashboard);
|
||||
},
|
||||
[NODE_ACTIONS.SELECT_SATELLITE]: async function ({commit}: StorageNodeContext, id?: string): Promise<void> {
|
||||
[NODE_ACTIONS.SELECT_SATELLITE]: async function ({ commit }: StorageNodeContext, id?: string): Promise<void> {
|
||||
let response: Satellite | Satellites;
|
||||
if (id) {
|
||||
response = await service.satellite(id);
|
||||
|
@ -60,7 +60,7 @@ export function newNotificationsModule(service: NotificationsService): StoreModu
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
[NOTIFICATIONS_ACTIONS.GET_NOTIFICATIONS]: async function ({commit}: NotificationsContext, pageIndex: number): Promise<void> {
|
||||
[NOTIFICATIONS_ACTIONS.GET_NOTIFICATIONS]: async function ({ commit }: NotificationsContext, pageIndex: number): Promise<void> {
|
||||
const notificationsResponse = await service.notifications(pageIndex);
|
||||
|
||||
const notifications = notificationsResponse.page.notifications.map(notification => new UINotification(notification));
|
||||
@ -73,11 +73,11 @@ export function newNotificationsModule(service: NotificationsService): StoreModu
|
||||
commit(NOTIFICATIONS_MUTATIONS.SET_LATEST, notificationState);
|
||||
}
|
||||
},
|
||||
[NOTIFICATIONS_ACTIONS.MARK_AS_READ]: async function ({commit}: NotificationsContext, id: string): Promise<void> {
|
||||
[NOTIFICATIONS_ACTIONS.MARK_AS_READ]: async function ({ commit }: NotificationsContext, id: string): Promise<void> {
|
||||
await service.readSingeNotification(id);
|
||||
commit(NOTIFICATIONS_MUTATIONS.MARK_AS_READ, id);
|
||||
},
|
||||
[NOTIFICATIONS_ACTIONS.READ_ALL]: async function ({commit}: NotificationsContext): Promise<void> {
|
||||
[NOTIFICATIONS_ACTIONS.READ_ALL]: async function ({ commit }: NotificationsContext): Promise<void> {
|
||||
await service.readAllNotifications();
|
||||
|
||||
commit(NOTIFICATIONS_MUTATIONS.READ_ALL);
|
||||
|
@ -146,7 +146,7 @@ export function newPayoutModule(service: PayoutService): StoreModule<PayoutState
|
||||
|
||||
commit(PAYOUT_MUTATIONS.SET_HELD_HISTORY, heldHistory);
|
||||
},
|
||||
[PAYOUT_ACTIONS.GET_PERIODS]: async function ({commit}: PayoutContext, satelliteId = ''): Promise<void> {
|
||||
[PAYOUT_ACTIONS.GET_PERIODS]: async function ({ commit }: PayoutContext, satelliteId = ''): Promise<void> {
|
||||
const periods = await service.availablePeriods(satelliteId);
|
||||
|
||||
commit(PAYOUT_MUTATIONS.SET_PERIODS, periods);
|
||||
|
@ -1,14 +1,14 @@
|
||||
// Copyright (C) 2019 Storj Labs, Inc.
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vue, {VueConstructor} from 'vue';
|
||||
import Vue, { VueConstructor } from 'vue';
|
||||
|
||||
import { Notification, NotificationTypes } from '@/storagenode/notifications/notifications';
|
||||
|
||||
import DisqualificationIcon from "@/../static/images/notifications/disqualified.svg";
|
||||
import FailIcon from "@/../static/images/notifications/fail.svg";
|
||||
import InfoIcon from "@/../static/images/notifications/info.svg";
|
||||
import SuspendedIcon from "@/../static/images/notifications/suspended.svg";
|
||||
import DisqualificationIcon from '@/../static/images/notifications/disqualified.svg';
|
||||
import FailIcon from '@/../static/images/notifications/fail.svg';
|
||||
import InfoIcon from '@/../static/images/notifications/info.svg';
|
||||
import SuspendedIcon from '@/../static/images/notifications/suspended.svg';
|
||||
|
||||
/**
|
||||
* Holds all notifications module state.
|
||||
|
2
web/storagenode/src/app/types/svg.d.ts
vendored
2
web/storagenode/src/app/types/svg.d.ts
vendored
@ -2,7 +2,7 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
declare module '*.svg' {
|
||||
import Vue, {VueConstructor} from 'vue';
|
||||
import Vue, { VueConstructor } from 'vue';
|
||||
const content: VueConstructor<Vue>;
|
||||
export default content;
|
||||
}
|
@ -13,14 +13,14 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import SNOContentFilling from '@/app/components/SNOContentFilling.vue';
|
||||
import SNOContentTitle from '@/app/components/SNOContentTitle.vue';
|
||||
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { NODE_ACTIONS } from '@/app/store/modules/node';
|
||||
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
|
||||
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
|
||||
|
||||
import SNOContentTitle from '@/app/components/SNOContentTitle.vue';
|
||||
import SNOContentFilling from '@/app/components/SNOContentFilling.vue';
|
||||
|
||||
// @vue/component
|
||||
@Component ({
|
||||
components: {
|
||||
|
@ -48,14 +48,14 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
|
||||
import { UINotification } from '@/app/types/notifications';
|
||||
|
||||
import SNONotification from '@/app/components/notifications/SNONotification.vue';
|
||||
import VPagination from '@/app/components/VPagination.vue';
|
||||
|
||||
import BackArrowIcon from '@/../static/images/notifications/backArrow.svg';
|
||||
|
||||
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
|
||||
import { UINotification } from '@/app/types/notifications';
|
||||
|
||||
// @vue/component
|
||||
@Component ({
|
||||
components: {
|
||||
|
@ -49,6 +49,12 @@
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { NODE_ACTIONS } from '@/app/store/modules/node';
|
||||
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
|
||||
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
|
||||
import { PayoutPeriod, SatelliteHeldHistory, TotalPayments } from '@/storagenode/payouts/payouts';
|
||||
|
||||
import EstimationArea from '@/app/components/payments/EstimationArea.vue';
|
||||
import HeldHistoryArea from '@/app/components/payments/HeldHistoryArea.vue';
|
||||
import HeldProgress from '@/app/components/payments/HeldProgress.vue';
|
||||
@ -59,12 +65,6 @@ import SatelliteSelection from '@/app/components/SatelliteSelection.vue';
|
||||
|
||||
import BackArrowIcon from '@/../static/images/notifications/backArrow.svg';
|
||||
|
||||
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
|
||||
import { NODE_ACTIONS } from '@/app/store/modules/node';
|
||||
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
|
||||
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
|
||||
import { PayoutPeriod, SatelliteHeldHistory, TotalPayments } from '@/storagenode/payouts/payouts';
|
||||
|
||||
// @vue/component
|
||||
@Component ({
|
||||
components: {
|
||||
|
@ -291,11 +291,11 @@ export class SatellitePayoutForPeriod {
|
||||
|
||||
public get transactionLink(): string {
|
||||
const prefixed = function (hash: string): string {
|
||||
if (hash.indexOf("0x") != 0) {
|
||||
return "0x" + hash;
|
||||
if (hash.indexOf('0x') != 0) {
|
||||
return '0x' + hash;
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
};
|
||||
if (!this.receipt) {
|
||||
return '';
|
||||
}
|
||||
@ -305,7 +305,7 @@ export class SatellitePayoutForPeriod {
|
||||
}
|
||||
|
||||
{
|
||||
const zkScanUrl = 'https://zkscan.io/explorer/transactions'
|
||||
const zkScanUrl = 'https://zkscan.io/explorer/transactions';
|
||||
|
||||
if (this.receipt.indexOf('zksync') !== -1) {
|
||||
return `${zkScanUrl}/${prefixed(this.receipt.slice(7))}`;
|
||||
|
@ -2,14 +2,14 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import AllSatellitesAuditsArea from '@/app/components/AllSatellitesAuditsArea.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { newNodeModule, NODE_ACTIONS } from '@/app/store/modules/node';
|
||||
import { StorageNodeApi } from '@/storagenode/api/storagenode';
|
||||
import { StorageNodeService } from '@/storagenode/sno/service';
|
||||
import { Satellites, SatelliteScores } from '@/storagenode/sno/sno';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import AllSatellitesAuditsArea from '@/app/components/AllSatellitesAuditsArea.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -18,7 +18,7 @@ const nodeApi = new StorageNodeApi();
|
||||
const nodeService = new StorageNodeService(nodeApi);
|
||||
const nodeModule = newNodeModule(nodeService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { node: nodeModule }});
|
||||
const store = new Vuex.Store({ modules: { node: nodeModule } });
|
||||
|
||||
describe('AllSatellitesAuditsArea', (): void => {
|
||||
|
||||
|
@ -2,15 +2,15 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import DiskStatChart from '@/app/components/DiskStatChart.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { newNodeModule, NODE_ACTIONS } from '@/app/store/modules/node';
|
||||
import { Size } from '@/private/memory/size';
|
||||
import { StorageNodeApi } from '@/storagenode/api/storagenode';
|
||||
import { StorageNodeService } from '@/storagenode/sno/service';
|
||||
import { Dashboard, SatelliteInfo, Traffic } from '@/storagenode/sno/sno';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import DiskStatChart from '@/app/components/DiskStatChart.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -23,7 +23,7 @@ const nodeApi = new StorageNodeApi();
|
||||
const nodeService = new StorageNodeService(nodeApi);
|
||||
const nodeModule = newNodeModule(nodeService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { node: nodeModule }});
|
||||
const store = new Vuex.Store({ modules: { node: nodeModule } });
|
||||
|
||||
describe('DiskStatChart', (): void => {
|
||||
it('renders correctly', (): void => {
|
||||
|
@ -1,10 +1,10 @@
|
||||
// Copyright (C) 2020 Storj Labs, Inc.
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import LoadingScreen from '@/app/components/LoadingScreen.vue';
|
||||
|
||||
import { shallowMount } from '@vue/test-utils';
|
||||
|
||||
import LoadingScreen from '@/app/components/LoadingScreen.vue';
|
||||
|
||||
describe('LoadingScreen', (): void => {
|
||||
it('renders correctly', (): void => {
|
||||
const wrapper = shallowMount(LoadingScreen);
|
||||
|
@ -2,11 +2,11 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import VueClipboard from 'vue-clipboard2';
|
||||
|
||||
import SatelliteSelectionDropdownItem from '@/app/components/SatelliteSelectionDropdownItem.vue';
|
||||
import { createLocalVue, mount, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { SatelliteInfo } from '@/storagenode/sno/sno';
|
||||
import { createLocalVue, mount, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import SatelliteSelectionDropdownItem from '@/app/components/SatelliteSelectionDropdownItem.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(VueClipboard);
|
||||
|
@ -1,10 +1,10 @@
|
||||
// Copyright (C) 2021 Storj Labs, Inc.
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import WalletArea from '@/app/components/WalletArea.vue';
|
||||
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import WalletArea from '@/app/components/WalletArea.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
|
||||
describe('WalletArea', (): void => {
|
||||
|
@ -2,16 +2,16 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import Page404 from '@/app/components/errors/Page404.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { appStateModule } from '@/app/store/modules/appState';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import Page404 from '@/app/components/errors/Page404.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
|
||||
const store = new Vuex.Store({ modules: { appStateModule }});
|
||||
const store = new Vuex.Store({ modules: { appStateModule } });
|
||||
|
||||
describe('Page404', (): void => {
|
||||
it('renders correctly', (): void => {
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
import Router from 'vue-router';
|
||||
import Vuex from 'vuex';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { newNotificationsModule, NOTIFICATIONS_MUTATIONS } from '@/app/store/modules/notifications';
|
||||
import { NotificationsState, UINotification } from '@/app/types/notifications';
|
||||
@ -10,7 +11,6 @@ import NotificationsArea from '@/app/views/NotificationsArea.vue';
|
||||
import { NotificationsHttpApi } from '@/storagenode/api/notifications';
|
||||
import { Notification } from '@/storagenode/notifications/notifications';
|
||||
import { NotificationsService } from '@/storagenode/notifications/service';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -20,7 +20,7 @@ const notificationsApi = new NotificationsHttpApi();
|
||||
const notificationsService = new NotificationsService(notificationsApi);
|
||||
const notificationsModule = newNotificationsModule(notificationsService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { notificationsModule }});
|
||||
const store = new Vuex.Store({ modules: { notificationsModule } });
|
||||
|
||||
describe('NotificationsArea', (): void => {
|
||||
it('renders correctly with no notifications', (): void => {
|
||||
|
@ -2,8 +2,7 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import NotificationsPopup from '@/app/components/notifications/NotificationsPopup.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import {
|
||||
newNotificationsModule,
|
||||
@ -13,7 +12,8 @@ import { NotificationsState, UINotification } from '@/app/types/notifications';
|
||||
import { NotificationsHttpApi } from '@/storagenode/api/notifications';
|
||||
import { Notification } from '@/storagenode/notifications/notifications';
|
||||
import { NotificationsService } from '@/storagenode/notifications/service';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import NotificationsPopup from '@/app/components/notifications/NotificationsPopup.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -22,7 +22,7 @@ const notificationsApi = new NotificationsHttpApi();
|
||||
const notificationsService = new NotificationsService(notificationsApi);
|
||||
const notificationsModule = newNotificationsModule(notificationsService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { notificationsModule }});
|
||||
const store = new Vuex.Store({ modules: { notificationsModule } });
|
||||
|
||||
describe('NotificationsPopup', (): void => {
|
||||
it('renders correctly with no notifications', (): void => {
|
||||
|
@ -2,15 +2,15 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import SNONotification from '@/app/components/notifications/SNONotification.vue';
|
||||
import { createLocalVue, mount } from '@vue/test-utils';
|
||||
|
||||
import { newNotificationsModule } from '@/app/store/modules/notifications';
|
||||
import { UINotification } from '@/app/types/notifications';
|
||||
import { NotificationsHttpApi } from '@/storagenode/api/notifications';
|
||||
import { Notification, NotificationTypes } from '@/storagenode/notifications/notifications';
|
||||
import { NotificationsService } from '@/storagenode/notifications/service';
|
||||
import { createLocalVue, mount } from '@vue/test-utils';
|
||||
|
||||
import SNONotification from '@/app/components/notifications/SNONotification.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -19,7 +19,7 @@ const notificationsApi = new NotificationsHttpApi();
|
||||
const notificationsService = new NotificationsService(notificationsApi);
|
||||
const notificationsModule = newNotificationsModule(notificationsService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { notificationsModule }});
|
||||
const store = new Vuex.Store({ modules: { notificationsModule } });
|
||||
|
||||
describe('SNONotification', (): void => {
|
||||
it('renders correctly with default props', (): void => {
|
||||
|
@ -2,8 +2,7 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import EstimationArea from '@/app/components/payments/EstimationArea.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { APPSTATE_MUTATIONS, appStateModule } from '@/app/store/modules/appState';
|
||||
import { newNodeModule, NODE_MUTATIONS } from '@/app/store/modules/node';
|
||||
@ -20,7 +19,8 @@ import {
|
||||
import { PayoutService } from '@/storagenode/payouts/service';
|
||||
import { StorageNodeService } from '@/storagenode/sno/service';
|
||||
import { Satellites } from '@/storagenode/sno/sno';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import EstimationArea from '@/app/components/payments/EstimationArea.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -36,7 +36,7 @@ const payoutApi = new PayoutHttpApi();
|
||||
const payoutService = new PayoutService(payoutApi);
|
||||
const payoutModule = newPayoutModule(payoutService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { payoutModule, appStateModule, node: nodeModule }});
|
||||
const store = new Vuex.Store({ modules: { payoutModule, appStateModule, node: nodeModule } });
|
||||
|
||||
describe('EstimationArea', (): void => {
|
||||
it('renders correctly with actual values and current period', async (): Promise<void> => {
|
||||
|
@ -3,8 +3,7 @@
|
||||
|
||||
import Vue from 'vue';
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import EstimationPeriodDropdown from '@/app/components/payments/EstimationPeriodDropdown.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { appStateModule } from '@/app/store/modules/appState';
|
||||
import { newNodeModule, NODE_MUTATIONS } from '@/app/store/modules/node';
|
||||
@ -17,7 +16,8 @@ import {
|
||||
Stamp,
|
||||
Traffic,
|
||||
} from '@/storagenode/sno/sno';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import EstimationPeriodDropdown from '@/app/components/payments/EstimationPeriodDropdown.vue';
|
||||
|
||||
const nodeApi = new StorageNodeApi();
|
||||
const nodeService = new StorageNodeService(nodeApi);
|
||||
@ -31,7 +31,7 @@ Vue.directive('click-outside', {
|
||||
unbind: (): void => { return; },
|
||||
});
|
||||
|
||||
const store = new Vuex.Store({ modules: { appStateModule, node: nodeModule }});
|
||||
const store = new Vuex.Store({ modules: { appStateModule, node: nodeModule } });
|
||||
|
||||
describe('EstimationPeriodDropdown', (): void => {
|
||||
it('renders correctly', (): void => {
|
||||
|
@ -2,14 +2,14 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import HeldHistoryAllStatsTable from '@/app/components/payments/HeldHistoryAllStatsTable.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { newPayoutModule, PAYOUT_MUTATIONS } from '@/app/store/modules/payout';
|
||||
import { PayoutHttpApi } from '@/storagenode/api/payout';
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
import { PayoutService } from '@/storagenode/payouts/service';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import HeldHistoryAllStatsTable from '@/app/components/payments/HeldHistoryAllStatsTable.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -22,7 +22,7 @@ const payoutApi = new PayoutHttpApi();
|
||||
const payoutService = new PayoutService(payoutApi);
|
||||
const payoutModule = newPayoutModule(payoutService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { payoutModule }});
|
||||
const store = new Vuex.Store({ modules: { payoutModule } });
|
||||
|
||||
describe('HeldHistoryAllStatsTable', (): void => {
|
||||
it('renders correctly with actual values', async (): Promise<void> => {
|
||||
|
@ -1,10 +1,11 @@
|
||||
// Copyright (C) 2020 Storj Labs, Inc.
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import HeldHistoryAllStatsTableItemSmall from '@/app/components/payments/HeldHistoryAllStatsTableItemSmall.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import HeldHistoryAllStatsTableItemSmall from '@/app/components/payments/HeldHistoryAllStatsTableItemSmall.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import HeldHistoryArea from '@/app/components/payments/HeldHistoryArea.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { newPayoutModule } from '@/app/store/modules/payout';
|
||||
import { PayoutHttpApi } from '@/storagenode/api/payout';
|
||||
import { PayoutService } from '@/storagenode/payouts/service';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import HeldHistoryArea from '@/app/components/payments/HeldHistoryArea.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -17,7 +17,7 @@ const payoutApi = new PayoutHttpApi();
|
||||
const payoutService = new PayoutService(payoutApi);
|
||||
const payoutModule = newPayoutModule(payoutService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { payoutModule }});
|
||||
const store = new Vuex.Store({ modules: { payoutModule } });
|
||||
|
||||
describe('HeldHistoryArea', (): void => {
|
||||
it('renders correctly', (): void => {
|
||||
|
@ -2,14 +2,14 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import HeldHistoryMonthlyBreakdownTable from '@/app/components/payments/HeldHistoryMonthlyBreakdownTable.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { newPayoutModule, PAYOUT_MUTATIONS } from '@/app/store/modules/payout';
|
||||
import { PayoutHttpApi } from '@/storagenode/api/payout';
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
import { PayoutService } from '@/storagenode/payouts/service';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import HeldHistoryMonthlyBreakdownTable from '@/app/components/payments/HeldHistoryMonthlyBreakdownTable.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -22,7 +22,7 @@ const payoutApi = new PayoutHttpApi();
|
||||
const payoutService = new PayoutService(payoutApi);
|
||||
const payoutModule = newPayoutModule(payoutService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { payoutModule }});
|
||||
const store = new Vuex.Store({ modules: { payoutModule } });
|
||||
|
||||
describe('HeldHistoryMonthlyBreakdownTable', (): void => {
|
||||
it('renders correctly with actual values', async (): Promise<void> => {
|
||||
|
@ -1,10 +1,11 @@
|
||||
// Copyright (C) 2020 Storj Labs, Inc.
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import HeldHistoryMonthlyBreakdownTableItemSmall from '@/app/components/payments/HeldHistoryMonthlyBreakdownTableItemSmall.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import HeldHistoryMonthlyBreakdownTableItemSmall from '@/app/components/payments/HeldHistoryMonthlyBreakdownTableItemSmall.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
|
||||
|
@ -4,8 +4,7 @@
|
||||
import { VNode } from 'vue';
|
||||
import { DirectiveBinding } from 'vue/types/options';
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import PayoutHistoryPeriodDropdown from '@/app/components/payments/PayoutHistoryPeriodDropdown.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { appStateModule } from '@/app/store/modules/appState';
|
||||
import { newNodeModule, NODE_MUTATIONS } from '@/app/store/modules/node';
|
||||
@ -15,7 +14,8 @@ import { StorageNodeApi } from '@/storagenode/api/storagenode';
|
||||
import { PayoutService } from '@/storagenode/payouts/service';
|
||||
import { StorageNodeService } from '@/storagenode/sno/service';
|
||||
import { Satellites } from '@/storagenode/sno/sno';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import PayoutHistoryPeriodDropdown from '@/app/components/payments/PayoutHistoryPeriodDropdown.vue';
|
||||
|
||||
let clickOutsideEvent: EventListener;
|
||||
|
||||
@ -48,7 +48,7 @@ const nodeApi = new StorageNodeApi();
|
||||
const nodeService = new StorageNodeService(nodeApi);
|
||||
const nodeModule = newNodeModule(nodeService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { payoutModule, node: nodeModule, appStateModule }});
|
||||
const store = new Vuex.Store({ modules: { payoutModule, node: nodeModule, appStateModule } });
|
||||
|
||||
describe('PayoutHistoryPeriodDropdown', (): void => {
|
||||
it('renders correctly with actual values', async (): Promise<void> => {
|
||||
|
@ -2,14 +2,14 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import PayoutHistoryTable from '@/app/components/payments/PayoutHistoryTable.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { newPayoutModule, PAYOUT_MUTATIONS } from '@/app/store/modules/payout';
|
||||
import { PayoutHttpApi } from '@/storagenode/api/payout';
|
||||
import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
|
||||
import { PayoutService } from '@/storagenode/payouts/service';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import PayoutHistoryTable from '@/app/components/payments/PayoutHistoryTable.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -22,7 +22,7 @@ const payoutApi = new PayoutHttpApi();
|
||||
const payoutService = new PayoutService(payoutApi);
|
||||
const payoutModule = newPayoutModule(payoutService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { payoutModule }});
|
||||
const store = new Vuex.Store({ modules: { payoutModule } });
|
||||
|
||||
describe('PayoutHistoryTable', (): void => {
|
||||
it('renders correctly with actual values', async (): Promise<void> => {
|
||||
|
@ -2,14 +2,14 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import PayoutHistoryTableItem from '@/app/components/payments/PayoutHistoryTableItem.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { newPayoutModule } from '@/app/store/modules/payout';
|
||||
import { PayoutHttpApi } from '@/storagenode/api/payout';
|
||||
import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
|
||||
import { PayoutService } from '@/storagenode/payouts/service';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import PayoutHistoryTableItem from '@/app/components/payments/PayoutHistoryTableItem.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -22,7 +22,7 @@ const payoutApi = new PayoutHttpApi();
|
||||
const payoutService = new PayoutService(payoutApi);
|
||||
const payoutModule = newPayoutModule(payoutService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { payoutModule }});
|
||||
const store = new Vuex.Store({ modules: { payoutModule } });
|
||||
|
||||
describe('PayoutHistoryTableItem', (): void => {
|
||||
it('renders correctly with actual values (eth)', async (): Promise<void> => {
|
||||
|
@ -2,8 +2,7 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import PayoutPeriodCalendar from '@/app/components/payments/PayoutPeriodCalendar.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { appStateModule } from '@/app/store/modules/appState';
|
||||
import { newNodeModule, NODE_MUTATIONS } from '@/app/store/modules/node';
|
||||
@ -14,7 +13,8 @@ import { PayoutPeriod } from '@/storagenode/payouts/payouts';
|
||||
import { PayoutService } from '@/storagenode/payouts/service';
|
||||
import { StorageNodeService } from '@/storagenode/sno/service';
|
||||
import { Satellites } from '@/storagenode/sno/sno';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import PayoutPeriodCalendar from '@/app/components/payments/PayoutPeriodCalendar.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -30,7 +30,7 @@ const payoutApi = new PayoutHttpApi();
|
||||
const payoutService = new PayoutService(payoutApi);
|
||||
const payoutModule = newPayoutModule(payoutService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { payoutModule, appStateModule, node: nodeModule }});
|
||||
const store = new Vuex.Store({ modules: { payoutModule, appStateModule, node: nodeModule } });
|
||||
const _Date: DateConstructor = Date;
|
||||
let wrapper;
|
||||
|
||||
|
@ -1,44 +1,42 @@
|
||||
// Copyright (C) 2022 Storj Labs, Inc.
|
||||
// See LICENSE for copying information.
|
||||
|
||||
|
||||
import {SatellitePayoutForPeriod} from '@/storagenode/payouts/payouts';
|
||||
|
||||
import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
|
||||
|
||||
describe('SatellitePayoutForPeriod', (): void => {
|
||||
it('ETH transactionLink', (): void => {
|
||||
const s = new SatellitePayoutForPeriod()
|
||||
s.receipt = "eth:0xCAFE"
|
||||
const s = new SatellitePayoutForPeriod();
|
||||
s.receipt = 'eth:0xCAFE';
|
||||
|
||||
expect(s.transactionLink).toMatch("https://etherscan.io/tx/0xCAFE")
|
||||
expect(s.transactionLink).toMatch('https://etherscan.io/tx/0xCAFE');
|
||||
});
|
||||
|
||||
it('ZkSync transactionLink', (): void => {
|
||||
const s = new SatellitePayoutForPeriod()
|
||||
s.receipt = "zksync:0xCAFE"
|
||||
const s = new SatellitePayoutForPeriod();
|
||||
s.receipt = 'zksync:0xCAFE';
|
||||
|
||||
expect(s.transactionLink).toMatch("https://zkscan.io/explorer/transactions/0xCAFE")
|
||||
expect(s.transactionLink).toMatch('https://zkscan.io/explorer/transactions/0xCAFE');
|
||||
});
|
||||
|
||||
it('ZkSync transactionLink without 0x', (): void => {
|
||||
const s = new SatellitePayoutForPeriod()
|
||||
s.receipt = "zksync:CAFE"
|
||||
const s = new SatellitePayoutForPeriod();
|
||||
s.receipt = 'zksync:CAFE';
|
||||
|
||||
expect(s.transactionLink).toMatch("https://zkscan.io/explorer/transactions/0xCAFE")
|
||||
expect(s.transactionLink).toMatch('https://zkscan.io/explorer/transactions/0xCAFE');
|
||||
});
|
||||
|
||||
it('ZkSync transactionLink to L1', (): void => {
|
||||
const s = new SatellitePayoutForPeriod()
|
||||
s.receipt = "zkwithdraw:0xCAFE"
|
||||
const s = new SatellitePayoutForPeriod();
|
||||
s.receipt = 'zkwithdraw:0xCAFE';
|
||||
|
||||
expect(s.transactionLink).toMatch("https://zkscan.io/explorer/transactions/0xCAFE")
|
||||
expect(s.transactionLink).toMatch('https://zkscan.io/explorer/transactions/0xCAFE');
|
||||
});
|
||||
|
||||
it('polygon transactionLink', (): void => {
|
||||
const s = new SatellitePayoutForPeriod()
|
||||
s.receipt = "polygon:0xCAFE"
|
||||
const s = new SatellitePayoutForPeriod();
|
||||
s.receipt = 'polygon:0xCAFE';
|
||||
|
||||
expect(s.transactionLink).toMatch("https://polygonscan.com/tx/0xCAFE")
|
||||
expect(s.transactionLink).toMatch('https://polygonscan.com/tx/0xCAFE');
|
||||
});
|
||||
|
||||
});
|
||||
|
@ -2,8 +2,7 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import TotalHeldArea from '@/app/components/payments/TotalHeldArea.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { newNodeModule, NODE_MUTATIONS } from '@/app/store/modules/node';
|
||||
import { newPayoutModule, PAYOUT_MUTATIONS } from '@/app/store/modules/payout';
|
||||
@ -13,7 +12,8 @@ import { Paystub, TotalPayments } from '@/storagenode/payouts/payouts';
|
||||
import { PayoutService } from '@/storagenode/payouts/service';
|
||||
import { StorageNodeService } from '@/storagenode/sno/service';
|
||||
import { Satellite, SatelliteScores, Stamp } from '@/storagenode/sno/sno';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import TotalHeldArea from '@/app/components/payments/TotalHeldArea.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -29,7 +29,7 @@ const nodeApi = new StorageNodeApi();
|
||||
const nodeService = new StorageNodeService(nodeApi);
|
||||
const nodeModule = newNodeModule(nodeService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { payoutModule, node: nodeModule }});
|
||||
const store = new Vuex.Store({ modules: { payoutModule, node: nodeModule } });
|
||||
|
||||
describe('TotalHeldArea', (): void => {
|
||||
it('renders correctly', (): void => {
|
||||
|
@ -2,14 +2,14 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
|
||||
import TotalPayoutArea from '@/app/components/TotalPayoutArea.vue';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import { newPayoutModule, PAYOUT_MUTATIONS } from '@/app/store/modules/payout';
|
||||
import { PayoutHttpApi } from '@/storagenode/api/payout';
|
||||
import { Paystub, TotalPayments } from '@/storagenode/payouts/payouts';
|
||||
import { PayoutService } from '@/storagenode/payouts/service';
|
||||
import { createLocalVue, shallowMount } from '@vue/test-utils';
|
||||
|
||||
import TotalPayoutArea from '@/app/components/TotalPayoutArea.vue';
|
||||
|
||||
const localVue = createLocalVue();
|
||||
localVue.use(Vuex);
|
||||
@ -22,7 +22,7 @@ const payoutApi = new PayoutHttpApi();
|
||||
const payoutService = new PayoutService(payoutApi);
|
||||
const payoutModule = newPayoutModule(payoutService);
|
||||
|
||||
const store = new Vuex.Store({ modules: { payoutModule }});
|
||||
const store = new Vuex.Store({ modules: { payoutModule } });
|
||||
|
||||
describe('TotalPayoutArea', (): void => {
|
||||
it('renders correctly', (): void => {
|
||||
|
@ -3,6 +3,6 @@
|
||||
|
||||
module.exports = {
|
||||
process () {
|
||||
return `module.exports = { render: function(){ return this._c("svg") } }`
|
||||
}
|
||||
}
|
||||
return `module.exports = { render: function(){ return this._c("svg") } }`;
|
||||
},
|
||||
};
|
@ -2,6 +2,7 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
import { createLocalVue } from '@vue/test-utils';
|
||||
|
||||
import { newNodeModule, NODE_ACTIONS, NODE_MUTATIONS, StatusOnline } from '@/app/store/modules/node';
|
||||
import { StorageNodeApi } from '@/storagenode/api/storagenode';
|
||||
@ -19,7 +20,6 @@ import {
|
||||
SatelliteScores,
|
||||
Stamp, Traffic,
|
||||
} from '@/storagenode/sno/sno';
|
||||
import { createLocalVue } from '@vue/test-utils';
|
||||
|
||||
const Vue = createLocalVue();
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
import { createLocalVue } from '@vue/test-utils';
|
||||
|
||||
import { newNotificationsModule, NOTIFICATIONS_ACTIONS, NOTIFICATIONS_MUTATIONS } from '@/app/store/modules/notifications';
|
||||
import { NotificationsState, UINotification } from '@/app/types/notifications';
|
||||
@ -13,7 +14,6 @@ import {
|
||||
NotificationTypes,
|
||||
} from '@/storagenode/notifications/notifications';
|
||||
import { NotificationsService } from '@/storagenode/notifications/service';
|
||||
import { createLocalVue } from '@vue/test-utils';
|
||||
|
||||
const Vue = createLocalVue();
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
// See LICENSE for copying information.
|
||||
|
||||
import Vuex from 'vuex';
|
||||
import { createLocalVue } from '@vue/test-utils';
|
||||
|
||||
import { newNodeModule } from '@/app/store/modules/node';
|
||||
import { newPayoutModule, PAYOUT_ACTIONS, PAYOUT_MUTATIONS } from '@/app/store/modules/payout';
|
||||
@ -21,7 +22,6 @@ import {
|
||||
} from '@/storagenode/payouts/payouts';
|
||||
import { PayoutService } from '@/storagenode/payouts/service';
|
||||
import { StorageNodeService } from '@/storagenode/sno/service';
|
||||
import { createLocalVue } from '@vue/test-utils';
|
||||
|
||||
const Vue = createLocalVue();
|
||||
const payoutApi = new PayoutHttpApi();
|
||||
|
@ -7,7 +7,7 @@ module.exports = {
|
||||
productionSourceMap: false,
|
||||
parallel: true,
|
||||
lintOnSave: process.env.NODE_ENV !== 'production', // disables eslint for builds
|
||||
assetsDir: "static",
|
||||
assetsDir: 'static',
|
||||
configureWebpack: {
|
||||
plugins: [],
|
||||
},
|
||||
@ -18,7 +18,7 @@ module.exports = {
|
||||
// Disable node_modules/.cache directory usage due to permissions.
|
||||
// This is enabled by default in https://cli.vuejs.org/core-plugins/babel.html#caching.
|
||||
config.module.rule('js').use('babel-loader')
|
||||
.tap(options => Object.assign(options, {cacheDirectory: false}));
|
||||
.tap(options => Object.assign(options, { cacheDirectory: false }));
|
||||
|
||||
config
|
||||
.plugin('html')
|
||||
|
Loading…
Reference in New Issue
Block a user