diff --git a/package.json b/package.json index 767a8f15d..8b7dd147e 100644 --- a/package.json +++ b/package.json @@ -6,20 +6,20 @@ "license": "BSD-3-Clause", "dependencies": { "@dhis2/d2-i18n": "^1.0.4", - "@dhis2/d2-ui-analytics": "0.0.4", + "@dhis2/d2-ui-analytics": "^0.0.9", "@dhis2/d2-ui-core": "^5.2.9", "@dhis2/d2-ui-interpretations": "^5.2.10", "@dhis2/d2-ui-mentions-wrapper": "^5.2.9", "@dhis2/d2-ui-rich-text": "^5.3.0", "@dhis2/d2-ui-sharing-dialog": "^5.2.9", "@dhis2/d2-ui-translation-dialog": "^5.2.9", + "@dhis2/data-visualizer-plugin": "^32.0.3", "@dhis2/ui": "1.0.0-beta.15", "@dhis2/ui-core": "^1.1.3", "@material-ui/core": "^3.9.2", "@material-ui/icons": "^3.0.2", "d2": "^31.6.0", "d2-utilizr": "^0.2.16", - "data-visualizer-plugin": "github:d2-ci/data-visualizer-plugin", "i18next": "^15.0.6", "lodash": "^4.17.11", "material-design-icons": "^3.0.1", diff --git a/src/actions/dashboards.js b/src/actions/dashboards.js index d7b42d89d..95e195334 100644 --- a/src/actions/dashboards.js +++ b/src/actions/dashboards.js @@ -12,6 +12,11 @@ import { } from '../reducers/dashboards'; import { sGetUserUsername } from '../reducers/user'; import { tSetSelectedDashboardById, acSetSelectedId } from './selected'; +import { sGetSelectedId } from '../reducers/selected'; +import { sGetIsEditing } from '../reducers/editDashboard'; +import { sGetEditItemFiltersRoot } from '../reducers/editItemFilters'; +import { acSetItemFilters, acClearItemFilters } from './itemFilters'; +import { acClearEditItemFilters } from './editItemFilters'; import { acClearEditDashboard } from './editDashboard'; import { apiFetchDashboards, @@ -82,6 +87,20 @@ export const tSelectDashboard = id => async (dispatch, getState) => { if (dashboardToSelect) { dispatch(tSetSelectedDashboardById(dashboardToSelect.id)); + + if (dashboardToSelect.id === sGetSelectedId(state)) { + if (sGetIsEditing(state)) { + // disable filters when switching to edit mode + dispatch(acClearItemFilters()); + } else { + // enable filters when switching to view mode + dispatch(acSetItemFilters(sGetEditItemFiltersRoot(state))); + } + } else { + // clear filters when switching dashboard + dispatch(acClearEditItemFilters()); + dispatch(acClearItemFilters()); + } } else { dispatch(acSetSelectedId(false)); } diff --git a/src/actions/editItemFilters.js b/src/actions/editItemFilters.js index 4585b082d..bf8ab92a8 100644 --- a/src/actions/editItemFilters.js +++ b/src/actions/editItemFilters.js @@ -1,6 +1,7 @@ import { REMOVE_EDIT_ITEM_FILTER, SET_EDIT_ITEM_FILTERS, + CLEAR_EDIT_ITEM_FILTERS, } from '../reducers/editItemFilters'; // actions @@ -10,6 +11,10 @@ export const acRemoveEditItemFilter = id => ({ id, }); +export const acClearEditItemFilters = () => ({ + type: CLEAR_EDIT_ITEM_FILTERS, +}); + export const acSetEditItemFilters = filters => ({ type: SET_EDIT_ITEM_FILTERS, filters, diff --git a/src/actions/itemFilters.js b/src/actions/itemFilters.js index 8fccddf1a..03cb04664 100644 --- a/src/actions/itemFilters.js +++ b/src/actions/itemFilters.js @@ -2,6 +2,7 @@ import { ADD_ITEM_FILTER, REMOVE_ITEM_FILTER, SET_ITEM_FILTERS, + CLEAR_ITEM_FILTERS, } from '../reducers/itemFilters'; export const FILTER_ORG_UNIT = 'ou'; @@ -18,6 +19,10 @@ export const acRemoveItemFilter = id => ({ id, }); +export const acClearItemFilters = () => ({ + type: CLEAR_ITEM_FILTERS, +}); + export const acSetItemFilters = filters => ({ type: SET_ITEM_FILTERS, filters, diff --git a/src/components/FilterBar/FilterBadge.js b/src/components/FilterBar/FilterBadge.js index d695e9131..32d7893a2 100644 --- a/src/components/FilterBar/FilterBadge.js +++ b/src/components/FilterBar/FilterBadge.js @@ -7,7 +7,7 @@ import { colors } from '../../modules/colors'; const styles = { badgeContainer: { - margin: '0 4px', + margin: '2px', padding: '0 16px', borderRadius: '4px', color: colors.white, @@ -19,6 +19,7 @@ const styles = { badge: { fontSize: '13px', cursor: 'pointer', + whiteSpace: 'nowrap', }, badgeRemove: { fontSize: '12px', diff --git a/src/components/FilterBar/FilterBar.js b/src/components/FilterBar/FilterBar.js index afc8f5669..7a8d83d4d 100644 --- a/src/components/FilterBar/FilterBar.js +++ b/src/components/FilterBar/FilterBar.js @@ -19,6 +19,7 @@ const styles = { padding: '8px 0', display: 'flex', justifyContent: 'center', + flexWrap: 'wrap', }, }; diff --git a/src/components/Item/VisualizationItem/Item.js b/src/components/Item/VisualizationItem/Item.js index 5c588d205..02953e54c 100644 --- a/src/components/Item/VisualizationItem/Item.js +++ b/src/components/Item/VisualizationItem/Item.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import { withStyles } from '@material-ui/core/styles'; import LaunchIcon from '@material-ui/icons/Launch'; -import ChartPlugin from 'data-visualizer-plugin'; +import ChartPlugin from '@dhis2/data-visualizer-plugin'; import i18n from '@dhis2/d2-i18n'; import uniqueId from 'lodash/uniqueId'; diff --git a/src/components/Item/VisualizationItem/__tests__/Item.spec.js b/src/components/Item/VisualizationItem/__tests__/Item.spec.js index 1113020c6..b880a7e58 100644 --- a/src/components/Item/VisualizationItem/__tests__/Item.spec.js +++ b/src/components/Item/VisualizationItem/__tests__/Item.spec.js @@ -1,11 +1,11 @@ import React from 'react'; import { shallow } from 'enzyme'; -import ChartPlugin from 'data-visualizer-plugin'; +import ChartPlugin from '@dhis2/data-visualizer-plugin'; import { CHART, REPORT_TABLE } from '../../../../modules/itemTypes'; import { Item } from '../Item'; import DefaultPlugin from '../DefaultPlugin'; -jest.mock('data-visualizer-plugin', () => () =>
); +jest.mock('@dhis2/data-visualizer-plugin', () => () =>
); jest.mock('../DefaultPlugin', () => () =>
); jest.mock('../ItemFooter', () => () =>
); jest.mock('../plugin', () => { diff --git a/src/reducers/__tests__/editItemFilters.js b/src/reducers/__tests__/editItemFilters.js new file mode 100644 index 000000000..f40aaee22 --- /dev/null +++ b/src/reducers/__tests__/editItemFilters.js @@ -0,0 +1,61 @@ +import reducer, { + DEFAULT_STATE_EDIT_ITEM_FILTERS, + SET_EDIT_ITEM_FILTERS, + REMOVE_EDIT_ITEM_FILTER, + CLEAR_EDIT_ITEM_FILTERS, +} from '../editItemFilters'; + +const testKey = 'ou'; +const testValue = [{ id: 'ou1', name: 'OU test' }]; + +const testState = { + [testKey]: testValue, +}; + +describe('item filter reducer', () => { + describe('reducer', () => { + it('should return the default state', () => { + const actualState = reducer(DEFAULT_STATE_EDIT_ITEM_FILTERS, {}); + + expect(actualState).toEqual(DEFAULT_STATE_EDIT_ITEM_FILTERS); + }); + + it('should set a filter', () => { + const action = { + type: SET_EDIT_ITEM_FILTERS, + filters: testState, + }; + + const expectedState = testState; + + const actualState = reducer(undefined, action); + + expect(actualState).toEqual(expectedState); + }); + + it('should remove a filter', () => { + const action = { + type: REMOVE_EDIT_ITEM_FILTER, + id: testKey, + }; + + const expectedState = DEFAULT_STATE_EDIT_ITEM_FILTERS; + + const actualState = reducer(testState, action); + + expect(actualState).toEqual(expectedState); + }); + + it('should clear all filters', () => { + const action = { + type: CLEAR_EDIT_ITEM_FILTERS, + }; + + const expectedState = DEFAULT_STATE_EDIT_ITEM_FILTERS; + + const actualState = reducer(testState, action); + + expect(actualState).toEqual(expectedState); + }); + }); +}); diff --git a/src/reducers/__tests__/itemFilters.js b/src/reducers/__tests__/itemFilters.js index cf94ddd9a..218577e3b 100644 --- a/src/reducers/__tests__/itemFilters.js +++ b/src/reducers/__tests__/itemFilters.js @@ -1,6 +1,8 @@ import reducer, { DEFAULT_STATE_ITEM_FILTERS, SET_ITEM_FILTERS, + REMOVE_ITEM_FILTER, + CLEAR_ITEM_FILTERS, } from '../itemFilters'; const testKey = 'ou'; @@ -33,8 +35,20 @@ describe('item filter reducer', () => { it('should remove a filter', () => { const action = { - type: SET_ITEM_FILTERS, - filters: {}, + type: REMOVE_ITEM_FILTER, + id: testKey, + }; + + const expectedState = DEFAULT_STATE_ITEM_FILTERS; + + const actualState = reducer(testState, action); + + expect(actualState).toEqual(expectedState); + }); + + it('should clear all filters', () => { + const action = { + type: CLEAR_ITEM_FILTERS, }; const expectedState = DEFAULT_STATE_ITEM_FILTERS; diff --git a/src/reducers/editItemFilters.js b/src/reducers/editItemFilters.js index 39dae28e4..48a1e496a 100644 --- a/src/reducers/editItemFilters.js +++ b/src/reducers/editItemFilters.js @@ -1,3 +1,4 @@ +export const CLEAR_EDIT_ITEM_FILTERS = 'CLEAR_EDIT_ITEM_FILTERS'; export const REMOVE_EDIT_ITEM_FILTER = 'REMOVE_EDIT_ITEM_FILTER'; export const SET_EDIT_ITEM_FILTERS = 'SET_EDIT_ITEM_FILTERS'; @@ -15,6 +16,9 @@ export default (state = DEFAULT_STATE_EDIT_ITEM_FILTERS, action) => { case SET_EDIT_ITEM_FILTERS: { return action.filters; } + case CLEAR_EDIT_ITEM_FILTERS: { + return DEFAULT_STATE_EDIT_ITEM_FILTERS; + } default: return state; } diff --git a/src/reducers/itemFilters.js b/src/reducers/itemFilters.js index 9cda8e1ff..15bac642a 100644 --- a/src/reducers/itemFilters.js +++ b/src/reducers/itemFilters.js @@ -1,3 +1,4 @@ +export const CLEAR_ITEM_FILTERS = 'CLEAR_ITEM_FILTERS'; export const SET_ITEM_FILTERS = 'SET_ITEM_FILTERS'; export const ADD_ITEM_FILTER = 'ADD_ITEM_FILTER'; export const REMOVE_ITEM_FILTER = 'REMOVE_ITEM_FILTER'; @@ -22,6 +23,9 @@ export default (state = DEFAULT_STATE_ITEM_FILTERS, action) => { case SET_ITEM_FILTERS: { return action.filters; } + case CLEAR_ITEM_FILTERS: { + return DEFAULT_STATE_ITEM_FILTERS; + } default: return state; } diff --git a/yarn.lock b/yarn.lock index 7b12d0513..c1d2d8846 100644 --- a/yarn.lock +++ b/yarn.lock @@ -830,7 +830,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript" "^7.1.0" -"@babel/runtime-corejs2@^7.4.3": +"@babel/runtime-corejs2@^7.4.2": version "7.4.3" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.4.3.tgz#40271fc260e570fb356da984e42e5990bd275860" integrity sha512-anTLTF7IK8Hd5f73zpPzt875I27UaaTWARJlfMGgnmQhvEe1uNHQRKBUbXL0Gc0VEYiVzsHsTPso5XdK8NGvFg== @@ -950,20 +950,19 @@ dependencies: i18next "^10.3" -"@dhis2/d2-ui-analytics@0.0.4": - version "0.0.4" - resolved "https://registry.yarnpkg.com/@dhis2/d2-ui-analytics/-/d2-ui-analytics-0.0.4.tgz#6571d0a409c917729d343e9c9096a109036385f1" - integrity sha512-E6JUxZEcVZxx5eomlMSiKz0VoBfQ5RP5prrgGaYi7I83+kAR5NTo5ff7me0TYQy2Wam+MhvR6IgrcGofsdsl/g== +"@dhis2/d2-ui-analytics@^0.0.9": + version "0.0.9" + resolved "https://registry.yarnpkg.com/@dhis2/d2-ui-analytics/-/d2-ui-analytics-0.0.9.tgz#4c2baa7dc941f9219d35da08287b676a57eb2cb8" + integrity sha512-wwfu9SPhJrbxgbmICKVX2WE6EphTovA8up8EBBSW5+2BgYV1262VVssXj5XboCsXxxbA35x6zvGa1KxT0+yHog== dependencies: "@dhis2/d2-i18n" "^1.0.4" "@dhis2/d2-ui-org-unit-dialog" "5.3.1" - "@dhis2/d2-ui-period-selector-dialog" "5.3.0" - "@dhis2/ui-core" "^1.1.3" + "@dhis2/d2-ui-period-selector-dialog" "^5.3.1" "@material-ui/core" "^3.9.3" "@material-ui/icons" "^3.0.2" classnames "^2.2.6" lodash "^4.17.11" - react-beautiful-dnd "^11.0.0-beta" + react-beautiful-dnd "^10.1.1" styled-jsx "^3.2.1" "@dhis2/d2-ui-core@5.2.10", "@dhis2/d2-ui-core@^5.2.9": @@ -1041,10 +1040,10 @@ recompose "^0.26.0" rxjs "^5.5.7" -"@dhis2/d2-ui-period-selector-dialog@5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@dhis2/d2-ui-period-selector-dialog/-/d2-ui-period-selector-dialog-5.3.0.tgz#b1a73badefea9686d351dd0e8f574bd44e5df15a" - integrity sha512-p4tdzK4UDKcJ4YDOsvmt8hR2ajwEyPdp4qeWR6F/Jer67pTcj1ZyYHDe9BfcrxYsl9OYXVnOwVIGRYdvcBdy4w== +"@dhis2/d2-ui-period-selector-dialog@^5.3.1": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@dhis2/d2-ui-period-selector-dialog/-/d2-ui-period-selector-dialog-5.3.1.tgz#9a5e81a2b5b5cd2980ab3ae9f9a88163503dc545" + integrity sha512-Bm+dyRcplgmkw9Iutnqrb7JN9kciPljpiNo7ZmOIRODYdRMKRwhCtmolAWOOdjPjrYFKAyYvd942C0BjYz5W4g== dependencies: "@dhis2/d2-i18n" "^1.0.4" "@material-ui/core" "^3.3.1" @@ -1103,6 +1102,17 @@ recompose "^0.26.0" rxjs "^5.5.7" +"@dhis2/data-visualizer-plugin@^32.0.3": + version "32.0.3" + resolved "https://registry.yarnpkg.com/@dhis2/data-visualizer-plugin/-/data-visualizer-plugin-32.0.3.tgz#70552cb7b4f3240d4eebb14f685788b49dd5d145" + integrity sha512-1aFTOz7KiCcEmyZNGJDjpdbIW2kUrQTXPTCGjHXFF8EorTXBPf4Avw+rEKajGuhlJ9f1+gCGr21BP6rQOgZOUA== + dependencies: + "@material-ui/core" "^3.1.2" + d2-charts-api "32.0.1" + lodash-es "^4.17.11" + react "^16.6.0" + react-dom "^16.6.0" + "@dhis2/ui-core@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@dhis2/ui-core/-/ui-core-1.1.3.tgz#9adbdf56c2035cd628b7053d080604a88a63c102" @@ -1401,9 +1411,9 @@ integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== "@types/react-transition-group@^2.0.8": - version "2.8.0" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-2.8.0.tgz#0e30ced3ad695ac053f715675467162b19bbe539" - integrity sha512-DHZrY4UBypeT/bD2WakC3MkdBHMOkhqWnRRCMqrtNknyhfkCfKmRlpKdxGlPkDKvNl2uDSHcdvmKy8JW0aNETA== + version "2.9.0" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-2.9.0.tgz#2a74a885432d673a93a2c93c34ce5dbf9f1426f8" + integrity sha512-hP7vUaZMVSWKxo133P8U51U6UZ7+pbY+eAQb8+p6SZ2rB1rj3mOTDgTzhhi+R2SCB4S+sWekAAGoxdiZPG0ReQ== dependencies: "@types/react" "*" @@ -2134,14 +2144,6 @@ babel-jest@23.6.0, babel-jest@^23.6.0: babel-plugin-istanbul "^4.1.6" babel-preset-jest "^23.2.0" -babel-jest@^22.4.3: - version "22.4.4" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.4.4.tgz#977259240420e227444ebe49e226a61e49ea659d" - integrity sha512-A9NB6/lZhYyypR9ATryOSDcqBaqNdzq4U+CN+/wcMsLcmKkPxQEoTKLajGfd3IkxNyVBT8NewUK2nWyGbSzHEQ== - dependencies: - babel-plugin-istanbul "^4.1.5" - babel-preset-jest "^22.4.4" - babel-loader@8.0.5: version "8.0.5" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.5.tgz#225322d7509c2157655840bba52e46b6c2f2fe33" @@ -2184,7 +2186,7 @@ babel-plugin-emotion@^9.2.11: source-map "^0.5.7" touch "^2.0.1" -babel-plugin-istanbul@^4.1.5, babel-plugin-istanbul@^4.1.6: +babel-plugin-istanbul@^4.1.6: version "4.1.6" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" integrity sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ== @@ -2194,11 +2196,6 @@ babel-plugin-istanbul@^4.1.5, babel-plugin-istanbul@^4.1.6: istanbul-lib-instrument "^1.10.1" test-exclude "^4.2.1" -babel-plugin-jest-hoist@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz#b9851906eab34c7bf6f8c895a2b08bea1a844c0b" - integrity sha512-DUvGfYaAIlkdnygVIEl0O4Av69NtuQWcrjMOv6DODPuhuGLDnbsARz3AwiiI/EkIMMlxQDUcrZ9yoyJvTNjcVQ== - babel-plugin-jest-hoist@^23.2.0: version "23.2.0" resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167" @@ -2249,14 +2246,6 @@ babel-plugin-transform-react-remove-prop-types@0.4.24: resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== -babel-preset-jest@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.4.tgz#ec9fbd8bcd7dfd24b8b5320e0e688013235b7c39" - integrity sha512-+dxMtOFwnSYWfum0NaEc0O03oSdwBsjx4tMSChRDPGwu/4wSY6Q6ANW3wkjKpJzzguaovRs/DODcT4hbSN8yiA== - dependencies: - babel-plugin-jest-hoist "^22.4.4" - babel-plugin-syntax-object-rest-spread "^6.13.0" - babel-preset-jest@^23.2.0: version "23.2.0" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46" @@ -2347,11 +2336,6 @@ babel-types@6.26.0, babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.26.0 lodash "^4.17.4" to-fast-properties "^1.0.3" -babylon@7.0.0-beta.19: - version "7.0.0-beta.19" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.19.tgz#e928c7e807e970e0536b078ab3e0c48f9e052503" - integrity sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A== - babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -2417,7 +2401,7 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== -bluebird@^3.5.1, bluebird@~3.5.0: +bluebird@^3.5.1: version "3.5.4" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.4.tgz#d6cc661595de30d5b3af5fcedd3c0b3ef6ec5714" integrity sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw== @@ -2772,13 +2756,6 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -catharsis@~0.8.9: - version "0.8.9" - resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.9.tgz#98cc890ca652dd2ef0e70b37925310ff9e90fc8b" - integrity sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is= - dependencies: - underscore-contrib "~0.3.0" - ccount@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.3.tgz#f1cec43f332e2ea5a569fd46f9f5bde4e6102aff" @@ -3630,10 +3607,10 @@ cyclist@~0.2.2: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= -d2-charts-api@^31.0.12: - version "31.0.14" - resolved "https://registry.yarnpkg.com/d2-charts-api/-/d2-charts-api-31.0.14.tgz#bce5a761393f02cfc00c7aaaa402c9fef52f4431" - integrity sha512-KLv83cl+lqQZ2dAOaAD1KKHpECZy2j9MfjnGHR9BOQPzUnpKBf2aYsAVmP3dqsHUI5Y/SZDKUBCIjZS+6DBtXA== +d2-charts-api@32.0.1: + version "32.0.1" + resolved "https://registry.yarnpkg.com/d2-charts-api/-/d2-charts-api-32.0.1.tgz#f402a5352a08fe3281a437652afc2dc8fd7fd22e" + integrity sha512-s6VlDLCkcjNluOXwUp1csa/6ZaNDBtbu9RWmaa8kb5gPpc1BDovwx0lE34FPrEUIefF5JNpisl3fwlrLrH592Q== dependencies: d2-utilizr "0.2.13" d3-color "1.0.1" @@ -3681,16 +3658,6 @@ d2-utilizr@^0.2.15, d2-utilizr@^0.2.16: lodash.isset "^4.3.0" lodash.isstring "^4.0.1" -d2@31.2.1: - version "31.2.1" - resolved "https://registry.yarnpkg.com/d2/-/d2-31.2.1.tgz#0ca21a30118d0486f3807f165a2420ecaad0a1e1" - integrity sha512-0AuYkAHR3+hnxKjpi8okaiNXoBDfr1ZFlzELyuN+BMo42fu4IIANEy4/MoVZvN8ezfbFM5Y8aJu1MmG1zLCNtA== - dependencies: - babel-jest "^22.4.3" - docdash "^0.4.0" - jsdoc "^3.5.5" - whatwg-fetch "^2.0.3" - d2@^31.6.0: version "31.6.0" resolved "https://registry.yarnpkg.com/d2/-/d2-31.6.0.tgz#de30c97764db9efd973e67f4c118d23d3c5c8836" @@ -3738,17 +3705,6 @@ data-urls@^1.0.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -"data-visualizer-plugin@github:d2-ci/data-visualizer-plugin": - version "32.0.2" - resolved "https://codeload.github.com/d2-ci/data-visualizer-plugin/tar.gz/176c8d28499dde80fd324c252edacf8712019331" - dependencies: - "@material-ui/core" "^3.1.2" - d2 "31.2.1" - d2-charts-api "^31.0.12" - lodash-es "^4.17.11" - react "^16.6.0" - react-dom "^16.6.0" - date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" @@ -3995,11 +3951,6 @@ dns-txt@^2.0.2: dependencies: buffer-indexof "^1.0.0" -docdash@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/docdash/-/docdash-0.4.0.tgz#05c3a50d83189981699ee0c076d3a3950db7ec00" - integrity sha1-BcOlDYMYmYFpnuDAdtOjlQ237AA= - docopt@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz#b28e9e2220da5ec49f7ea5bb24a47787405eeb11" @@ -4330,7 +4281,7 @@ escape-html@~1.0.3: resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5, escape-string-regexp@~1.0.5: +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -5345,7 +5296,7 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.15" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== @@ -6955,36 +6906,11 @@ js-yaml@^3.13.0, js-yaml@^3.7.0, js-yaml@^3.9.0: argparse "^1.0.7" esprima "^4.0.0" -js2xmlparser@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-3.0.0.tgz#3fb60eaa089c5440f9319f51760ccd07e2499733" - integrity sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM= - dependencies: - xmlcreate "^1.0.1" - jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsdoc@^3.5.5: - version "3.5.5" - resolved "https://registry.yarnpkg.com/jsdoc/-/jsdoc-3.5.5.tgz#484521b126e81904d632ff83ec9aaa096708fa4d" - integrity sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg== - dependencies: - babylon "7.0.0-beta.19" - bluebird "~3.5.0" - catharsis "~0.8.9" - escape-string-regexp "~1.0.5" - js2xmlparser "~3.0.0" - klaw "~2.0.0" - marked "~0.3.6" - mkdirp "~0.5.1" - requizzle "~0.2.1" - strip-json-comments "~2.0.1" - taffydb "2.6.2" - underscore "~1.8.3" - jsdom@^11.5.1: version "11.12.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" @@ -7203,13 +7129,6 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== -klaw@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-2.0.0.tgz#59c128e0dc5ce410201151194eeb9cbf858650f6" - integrity sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY= - dependencies: - graceful-fs "^4.1.9" - kleur@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/kleur/-/kleur-2.0.2.tgz#b704f4944d95e255d038f0cb05fb8a602c55a300" @@ -7547,11 +7466,6 @@ markdown-it@^8.4.2: mdurl "^1.0.1" uc.micro "^1.0.5" -marked@~0.3.6: - version "0.3.19" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790" - integrity sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg== - material-design-icons@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/material-design-icons/-/material-design-icons-3.0.1.tgz#9a71c48747218ebca51e51a66da682038cdcb7bf" @@ -7624,7 +7538,7 @@ memoize-one@^5.0.0: resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.2.tgz#6aba5276856d72fb44ead3efab86432f94ba203d" integrity sha512-o7lldN4fs/axqctc03NF+PMhd2veRrWeJ2n2GjEzUPBD4F9rmNg4A+bQCACIzwjHJEXuYv4aFFMaH35KZfHUrw== -memoize-one@^5.0.4: +memoize-one@^5.0.1: version "5.0.4" resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.4.tgz#005928aced5c43d890a4dfab18ca908b0ec92cbc" integrity sha512-P0z5IeAH6qHHGkJIXWw0xC2HNEgkx/9uWWBQw64FJj3/ol14VYdfVGWWr0fXfjhhv3TKVIqUq65os6O4GUNksA== @@ -9685,19 +9599,19 @@ react-app-polyfill@^0.2.2: raf "3.4.1" whatwg-fetch "3.0.0" -react-beautiful-dnd@^11.0.0-beta: - version "11.0.0-beta.2" - resolved "https://registry.yarnpkg.com/react-beautiful-dnd/-/react-beautiful-dnd-11.0.0-beta.2.tgz#5bd5fa328f08ddec0555daf4acb64c7e03db4f96" - integrity sha512-b3cDEfBzS3AzfsqqBXIfNMxFqOD/2aBYm/9qwGfoP+nEbhGYt/hsUmATTRykXJ/XOVA6qA/e1RAZ5lt++hWEeg== +react-beautiful-dnd@^10.1.1: + version "10.1.1" + resolved "https://registry.yarnpkg.com/react-beautiful-dnd/-/react-beautiful-dnd-10.1.1.tgz#d753088d77d7632e77cf8a8935fafcffa38f574b" + integrity sha512-TdE06Shfp56wm28EzjgC56EEMgGI5PDHejJ2bxuAZvZr8CVsbksklsJC06Hxf0MSL7FHbflL/RpkJck9isuxHg== dependencies: - "@babel/runtime-corejs2" "^7.4.3" + "@babel/runtime-corejs2" "^7.4.2" css-box-model "^1.1.1" - memoize-one "^5.0.4" + memoize-one "^5.0.1" + prop-types "^15.6.1" raf-schd "^4.0.0" - react-redux "7.0.0-beta.1" + react-redux "^5.0.7" redux "^4.0.1" tiny-invariant "^1.0.4" - use-memo-one "^1.0.1" react-dev-utils@^8.0.0: version "8.0.0" @@ -9812,18 +9726,6 @@ react-portal@^4.1.5: dependencies: prop-types "^15.5.8" -react-redux@7.0.0-beta.1: - version "7.0.0-beta.1" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.0.0-beta.1.tgz#43ff36337fcda9787031c4f9cd59af9e19cb389f" - integrity sha512-Q1ptmtv1ijH6/H879DyJ+DoMbMjNGcafzssDXO6OzzuZXD7/jxXIhl7bS43H4DN5qjIG8EOcCGkfq3U/LynjlQ== - dependencies: - "@babel/runtime" "^7.3.1" - hoist-non-react-statics "^3.3.0" - invariant "^2.2.4" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-is "^16.8.2" - react-redux@^5.0.7: version "5.1.1" resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.1.1.tgz#88e368682c7fa80e34e055cd7ac56f5936b0f52f" @@ -10388,13 +10290,6 @@ requires-port@^1.0.0: resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= -requizzle@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.1.tgz#6943c3530c4d9a7e46f1cddd51c158fc670cdbde" - integrity sha1-aUPDUwxNmn5G8c3dUcFY/GcM294= - dependencies: - underscore "~1.6.0" - reselect@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.0.0.tgz#f2529830e5d3d0e021408b246a206ef4ea4437f7" @@ -11355,11 +11250,6 @@ table@^5.0.2: slice-ansi "^2.1.0" string-width "^3.0.0" -taffydb@2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268" - integrity sha1-fLy2S1oUG2ou/CxdLGe04VCyomg= - tapable@^1.0.0, tapable@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e" @@ -11698,23 +11588,6 @@ unc-path-regex@^0.1.2: resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= -underscore-contrib@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/underscore-contrib/-/underscore-contrib-0.3.0.tgz#665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7" - integrity sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc= - dependencies: - underscore "1.6.0" - -underscore@1.6.0, underscore@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" - integrity sha1-izixDKze9jM3uLJOT/htRa6lKag= - -underscore@~1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" - integrity sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI= - unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" @@ -11869,11 +11742,6 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" -use-memo-one@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/use-memo-one/-/use-memo-one-1.0.1.tgz#e2aea0cb4b41e9292391908e951526998358bfa7" - integrity sha512-j4R9HCMUVktNm7D3qnNglesHs67Wnmib8z5rrvUXTlKsB4LcSYMKsmJes+rUrlKCdVqVyYuDHBRsmIcverwbDg== - use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -12455,11 +12323,6 @@ xml-name-validator@^3.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== -xmlcreate@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-1.0.2.tgz#fa6bf762a60a413fb3dd8f4b03c5b269238d308f" - integrity sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8= - xregexp@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020"