Skip to content

Commit

Permalink
Fix: Implement disallowed dims from Analytics UI rules (#370)
Browse files Browse the repository at this point in the history
* fix: using Analytics to calculate disallowed dimensions
* fix: Analytics v2.6.0
  • Loading branch information
martinkrulltott committed Nov 14, 2019
1 parent 26d12c6 commit 91847d2
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 14 deletions.
2 changes: 1 addition & 1 deletion packages/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"webpack-bundle-analyzer": "^3.0.3"
},
"dependencies": {
"@dhis2/analytics": "^2.5.2",
"@dhis2/analytics": "^2.6.0",
"@dhis2/d2-i18n": "^1.0.6",
"@dhis2/d2-ui-core": "^6.2.1",
"@dhis2/d2-ui-file-menu": "^6.2.1",
Expand Down
20 changes: 12 additions & 8 deletions packages/app/src/components/DimensionsPanel/DimensionsPanel.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import React, { Component } from 'react';
import { connect } from 'react-redux';
import {
DIMENSION_ID_PERIOD,
DimensionsPanel,
DimensionMenu,
isYearOverYear,
getDisallowedDims,
} from '@dhis2/analytics';

import DialogManager from './Dialogs/DialogManager';
Expand All @@ -21,6 +20,8 @@ import {
acAddUiLayoutDimensions,
acRemoveUiLayoutDimensions,
} from '../../actions/ui';
import { sGetUiType } from '../../reducers/ui';
import { createSelector } from 'reselect';

export class Dimensions extends Component {
state = {
Expand Down Expand Up @@ -49,12 +50,8 @@ export class Dimensions extends Component {
setDataTransfer(e, SOURCE_DIMENSIONS);
};

disabledDimension = dimension => {
return (
dimension.id === DIMENSION_ID_PERIOD &&
isYearOverYear(this.props.ui.type)
);
};
disabledDimension = dimension =>
this.props.disallowedDimensions.includes(dimension.id);

getUiAxisName = () => {
const adaptedUi = getAdaptedUiByType(this.props.ui);
Expand Down Expand Up @@ -98,6 +95,12 @@ export class Dimensions extends Component {
);
}
}

const getDisallowedDimensions = createSelector(
[sGetUiType],
type => getDisallowedDims(type)
);

const mapStateToProps = state => {
return {
ui: fromReducers.fromUi.sGetUi(state),
Expand All @@ -108,6 +111,7 @@ const mapStateToProps = state => {
),
layout: fromReducers.fromUi.sGetUiLayout(state),
itemsByDimension: fromReducers.fromUi.sGetUiItems(state),
disallowedDimensions: getDisallowedDimensions(state),
};
};

Expand Down
2 changes: 1 addition & 1 deletion packages/plugin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"main": "./build/index.js",
"license": "BSD-3-Clause",
"dependencies": {
"@dhis2/analytics": "^2.5.2",
"@dhis2/analytics": "^2.6.0",
"@material-ui/core": "^3.1.2",
"lodash-es": "^4.17.11",
"react": "^16.6.0",
Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -183,10 +183,10 @@
react-beautiful-dnd "^10.1.1"
styled-jsx "^3.2.1"

"@dhis2/analytics@^2.5.2":
version "2.5.2"
resolved "https://registry.yarnpkg.com/@dhis2/analytics/-/analytics-2.5.2.tgz#d7076653765947efee87ac5fac6d67c9815dae9d"
integrity sha512-BCySFEKXDUdGnw3Glnv+vZBdmA7a279jdAt69dDLAbea61phvkHrlSKmpRwuTtv3EB0UboaFxzE89/3n21XxGg==
"@dhis2/analytics@^2.6.0":
version "2.6.0"
resolved "https://registry.yarnpkg.com/@dhis2/analytics/-/analytics-2.6.0.tgz#81f8a37acf76ac606f27e22986665723e54587d8"
integrity sha512-aYnUXxefEeJFZNJcHULA4jwFwbHKUkjrP8qSi2UHuho6M5TJGqb1oQOPth8NuALlYtShmJcP3tG0lcABeS2lUA==
dependencies:
"@dhis2/d2-i18n" "^1.0.4"
"@dhis2/d2-ui-org-unit-dialog" "^6.3.0"
Expand Down

0 comments on commit 91847d2

Please sign in to comment.