Compare commits

...

9 Commits

Author SHA1 Message Date
caele
2e7ba1fd41 0.3.0 2022-11-22 15:05:23 +01:00
Tobias Åström
cf47987595 chore: enable systemjs build (#31) 2022-11-22 14:38:42 +01:00
caele
97550cff60 0.2.0 2022-10-06 15:24:21 +02:00
Li Kang
164d6f4325 fix: eslint error (#30) 2022-07-29 20:04:18 +02:00
Ashish Yadav
f9153aaed9 Update tooltip.js (#29)
* Update tooltip.js

Qlik Cloud: Network charts showing tags when howering

* fix: unit test cases added

* Update package.json

Static version changed

* Update package.json

static version updated

* Update package.json

* Update package.json

Co-authored-by: “Ashishyadav13” <“Ivb@qlik.com”>
2022-07-29 11:11:47 +02:00
Tobias Åström
020290a1b7 chore: statement on legacy release 2021-10-21 13:26:23 +02:00
Tobias Åström
155eac826d Merge pull request #28 from qlik-oss/network-next
Network next
2021-10-18 13:10:43 +02:00
Tobias Åström
abc2f151aa Merge branch 'master' into network-next 2021-10-18 13:09:00 +02:00
Tobias Åström
58e89efbb0 chore: add network-next 2021-09-08 14:06:59 +02:00
10 changed files with 4100 additions and 2390 deletions

View File

@@ -12,7 +12,7 @@ defaults: &defaults
jobs:
build:
docker:
- image: circleci/node:stretch-browsers
- image: circleci/node:stretch-browsers
steps:
- checkout
- run:
@@ -21,19 +21,17 @@ jobs:
- run:
name: Lint
command: yarn eslint
- run:
name: BlackDuck scan
command: curl -s https://detect.synopsys.com/detect.sh | bash -s -- \
--blackduck.url="https://qliktech.blackducksoftware.com" \
--blackduck.trust.cert=true \
--blackduck.username="svc-blackduck" \
--blackduck.password=${svc_blackduck} \
--detect.project.name="viz-bundle-qlik-network-chart"
- run:
name: Build
command: yarn build && yarn sense
environment:
NODE_ENV: production
- run:
name: Update spec
command: yarn run spec
- run:
name: Run unit tests
command: yarn test:unit
- store_artifacts:
path: dist
destination: dist

2
.gitignore vendored
View File

@@ -3,3 +3,5 @@ dist/
BUMPED_VERSION
sn-network-chart-ext/
core/esm
coverage
yarn-error.log

3
babel.config.js Normal file
View File

@@ -0,0 +1,3 @@
module.exports = {
presets: ['@babel/preset-env'],
};

196
jest.config.js Normal file
View File

@@ -0,0 +1,196 @@
/*
* For a detailed explanation regarding each configuration property and type check, visit:
* https://jestjs.io/docs/configuration
*/
module.exports = {
// All imported modules in your tests should be mocked automatically
// automock: false,
// Stop running tests after `n` failures
// bail: 0,
// The directory where Jest should store its cached dependency information
// cacheDirectory: "/private/var/folders/dc/j98t7yvj11n21psdq_xy0y8snk5538/T/jest_tq54ko",
// Automatically clear mock calls, instances and results before every test
// clearMocks: false,
// Indicates whether the coverage information should be collected while executing the test
collectCoverage: true,
// An array of glob patterns indicating a set of files for which coverage information should be collected
// collectCoverageFrom: undefined,
// The directory where Jest should output its coverage files
coverageDirectory: "coverage",
// An array of regexp pattern strings used to skip coverage collection
// coveragePathIgnorePatterns: [
// "/node_modules/"
// ],
// Indicates which provider should be used to instrument code for coverage
// coverageProvider: "babel",
// A list of reporter names that Jest uses when writing coverage reports
// coverageReporters: [
// "json",
// "text",
// "lcov",
// "clover"
// ],
// An object that configures minimum threshold enforcement for coverage results
// coverageThreshold: undefined,
// A path to a custom dependency extractor
// dependencyExtractor: undefined,
// Make calling deprecated APIs throw helpful error messages
// errorOnDeprecated: false,
// Force coverage collection from ignored files using an array of glob patterns
// forceCoverageMatch: [],
// A path to a module which exports an async function that is triggered once before all test suites
// globalSetup: undefined,
// A path to a module which exports an async function that is triggered once after all test suites
// globalTeardown: undefined,
// A set of global variables that need to be available in all test environments
// globals: {},
// The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers.
// maxWorkers: "50%",
// An array of directory names to be searched recursively up from the requiring module's location
// moduleDirectories: [
// "node_modules"
// ],
// An array of file extensions your modules use
// moduleFileExtensions: [
// "js",
// "jsx",
// "ts",
// "tsx",
// "json",
// "node"
// ],
// A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module
// moduleNameMapper: {},
// An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
// modulePathIgnorePatterns: [],
// Activates notifications for test results
// notify: false,
// An enum that specifies notification mode. Requires { notify: true }
// notifyMode: "failure-change",
// A preset that is used as a base for Jest's configuration
// preset: undefined,
// Run tests from one or more projects
// projects: undefined,
// Use this configuration option to add custom reporters to Jest
// reporters: undefined,
// Automatically reset mock state before every test
// resetMocks: false,
// Reset the module registry before running each individual test
// resetModules: false,
// A path to a custom resolver
// resolver: undefined,
// Automatically restore mock state and implementation before every test
// restoreMocks: false,
// The root directory that Jest should scan for tests and modules within
// rootDir: undefined,
// A list of paths to directories that Jest should use to search for files in
// roots: [
// "<rootDir>"
// ],
// Allows you to use a custom runner instead of Jest's default test runner
// runner: "jest-runner",
// The paths to modules that run some code to configure or set up the testing environment before each test
// setupFiles: [],
// A list of paths to modules that run some code to configure or set up the testing framework before each test
setupFilesAfterEnv: ["<rootDir>/jest/setup.js"],
// The number of seconds after which a test is considered as slow and reported as such in the results.
// slowTestThreshold: 5,
// A list of paths to snapshot serializer modules Jest should use for snapshot testing
// snapshotSerializers: [],
// The test environment that will be used for testing
testEnvironment: "jsdom",
// Options that will be passed to the testEnvironment
// testEnvironmentOptions: {},
// Adds a location field to test results
// testLocationInResults: false,
// The glob patterns Jest uses to detect test files
//"**/src/**/__tests__/*.test.ts?(x)",
testMatch: ["<rootDir>/src/_test/*.jest.test.js?(x)"],
// An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
// testPathIgnorePatterns: [
// "/node_modules/"
// ],
// The regexp pattern or array of patterns that Jest uses to detect test files
// testRegex: [],
// This option allows the use of a custom results processor
// testResultsProcessor: undefined,
// This option allows use of a custom test runner
// testRunner: "jest-circus/runner",
// This option sets the URL for the jsdom environment. It is reflected in properties such as location.href
// testURL: "http://localhost",
// Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout"
// timers: "real",
// A map from regular expressions to paths to transformers
// transform: undefined,
// An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
// transformIgnorePatterns: [
// "/node_modules/",
// "\\.pnp\\.[^\\/]+$"
// ],
// An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them
// unmockedModulePathPatterns: undefined,
// Indicates whether each individual test should be reported during the run
// verbose: undefined,
// An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode
// watchPathIgnorePatterns: [],
// Whether to use watchman for file crawling
// watchman: true,
moduleNameMapper: {
"\\.(css|less)$": "<rootDir>/src/tests/jest/mocks/css-mock.js"
}
};

1
jest/setup.js Normal file
View File

@@ -0,0 +1 @@
import '@testing-library/jest-dom';

View File

@@ -1,6 +1,6 @@
{
"name": "@nebula.js/sn-network-chart",
"version": "0.1.0",
"version": "0.3.0",
"description": "Displays hierarchical or relational dimensions as nodes and edges´, with measures to show the significance of its links.",
"homepage": "",
"repository": "https://github.com/qlik-oss/network-vis-chart",
@@ -14,6 +14,7 @@
"sense": "nebula sense --meta resources/meta.json && shx cp resources/network_chart_v1.png sn-network-chart-ext",
"eslint": "eslint src",
"spec": "scriptappy-from-jsdoc -c ./spec-configs/props.conf.js",
"test:unit": "jest",
"prepublishOnly": "shx rm -rf dist && shx rm -rf core/esm && shx rm -rf sn-network-chart-ext && yarn build && yarn sense"
},
"files": [
@@ -23,18 +24,23 @@
"sn-network-chart-ext"
],
"main": "dist/sn-network-chart.js",
"systemjs": "dist/sn-network-chart.systemjs.js",
"devDependencies": {
"@nebula.js/cli": "1.7.0",
"@nebula.js/cli-build": "1.7.0",
"@nebula.js/cli-sense": "1.7.0",
"@nebula.js/cli-serve": "1.7.0",
"@nebula.js/stardust": "1.7.0",
"@nebula.js/cli": "3.0.4",
"@nebula.js/cli-build": "3.0.4",
"@nebula.js/cli-sense": "3.0.4",
"@nebula.js/cli-serve": "3.0.4",
"@nebula.js/stardust": "3.0.4",
"@testing-library/jest-dom": "5.16.4",
"babel-eslint": "10.1.0",
"scriptappy-from-jsdoc": "^0.7.0",
"babel-jest": "28.1.3",
"eslint": "7.32.0",
"shx": "^0.3.3",
"vis-network": "9.1.0",
"vis-data": "^7.0.0"
"jest": "28.1.3",
"jest-environment-jsdom": "28.1.3",
"scriptappy-from-jsdoc": "0.7.0",
"shx": "0.3.3",
"vis-data": "7.1.4",
"vis-network": "9.1.2"
},
"peerDependencies": {
"@nebula.js/stardust": ">=1.0.0"

View File

@@ -2,6 +2,9 @@
The network chart is built using [visjs network visualization](https://github.com/visjs/vis-network) to display networks of nodes and edges. It was originally forked from [miclae76/network-vis-chart](miclae76/network-vis-chart) and has since been converted to use Nebula.
## Legacy build
The chart before Nebula conversion and dependency updates can be found on the *release/legacy* branch.
## Requirements
Requires `@nebula.js/stardust` version `1.7.0` or later.

View File

@@ -0,0 +1,11 @@
import { createTooltipHTML } from "../tooltip";
describe("createTooltipHTML", () => {
it("Testing createTooltipHtml function - Name- GroupNumber- nodeMeasure", () => {
expect(
createTooltipHTML({ name: "Venice", groupNumber: 1, nodeMeasure: 2 })
).toContainHTML(
"<div><div><span>Name: </span><b>Venice</b></div><div><span>Group number: </span><b>1</b></div><div><span>Node measure: </span><b>2</b></div></div>"
);
});
});

View File

@@ -24,5 +24,5 @@ export function createTooltipHTML({ name, groupNumber, nodeMeasure }) {
tooltip.appendChild(groupNumberEntry);
tooltip.appendChild(nodeMeasureEntry);
return tooltip.innerHTML;
return tooltip;
}

6230
yarn.lock

File diff suppressed because it is too large Load Diff