@dhis2/analytics 26.12.2 → 26.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/__demo__/DimensionsPanel.stories.js +29 -4
- package/build/cjs/__demo__/FileMenu.stories.js +1 -9
- package/build/cjs/__demo__/data/avgTotalAggregationType.visualization.json +256 -1
- package/build/cjs/__demo__/data/deep.visualization.json +613 -310
- package/build/cjs/__demo__/data/deepWithFilters.visualization.json +0 -3
- package/build/cjs/__demo__/data/degs.visualization.json +2 -7
- package/build/cjs/__demo__/data/diseaseWeeks.visualization.json +317 -153
- package/build/cjs/__demo__/data/emptyColumns.visualization.json +2 -7
- package/build/cjs/__demo__/data/emptyRows.visualization.json +292 -297
- package/build/cjs/__demo__/data/hierarchy.visualization.json +197 -1
- package/build/cjs/__demo__/data/lastFiveYears.visualization.json +2 -7
- package/build/cjs/__demo__/data/narrative.visualization.json +2 -7
- package/build/cjs/__demo__/data/simple.visualization.json +115 -105
- package/build/cjs/__demo__/data/target-with-legend.visualization.json +370 -115
- package/build/cjs/__demo__/data/under-above-100.legendSet.json +87 -103
- package/build/cjs/__demo__/data/weeklyColumns.visualization.json +2 -7
- package/build/cjs/__fixtures__/json/chartAllFields.json +8 -33
- package/build/cjs/api/dimensions.js +11 -1
- package/build/cjs/api/expression.js +19 -9
- package/build/cjs/assets/DimensionItemIcons/CalculationIcon.js +1 -1
- package/build/cjs/assets/DimensionItemIcons/DataElementIcon.js +1 -1
- package/build/cjs/assets/DimensionItemIcons/GenericIcon.js +1 -1
- package/build/cjs/assets/DimensionItemIcons/PeriodIcon.js +1 -1
- package/build/cjs/components/DataDimension/DataDimension.js +68 -10
- package/build/cjs/components/DataDimension/Info/CalculationInfo.js +3 -3
- package/build/cjs/components/DataDimension/Info/DataElementInfo.js +4 -4
- package/build/cjs/components/DataDimension/Info/DataElementOperandInfo.js +5 -5
- package/build/cjs/components/DataDimension/Info/DataSetInfo.js +3 -3
- package/build/cjs/components/DataDimension/Info/EventDataItemInfo.js +6 -6
- package/build/cjs/components/DataDimension/Info/IndicatorInfo.js +3 -3
- package/build/cjs/components/DataDimension/Info/InfoPopover.js +7 -3
- package/build/cjs/components/DataDimension/Info/InfoTable.js +1 -1
- package/build/cjs/components/DataDimension/Info/OptionInfo.js +70 -0
- package/build/cjs/components/DataDimension/Info/ProgramIndicatorInfo.js +9 -6
- package/build/cjs/components/DataDimension/ItemOptionsSelector/ItemOptionsSelector.js +257 -0
- package/build/cjs/components/DataDimension/ItemOptionsSelector/styles/ItemOptionSelector.style.js +10 -0
- package/build/cjs/components/DataDimension/{DataTypeSelector.js → ItemSelector/DataTypeSelector.js} +4 -4
- package/build/cjs/components/DataDimension/{DetailSelector.js → ItemSelector/DetailSelector.js} +2 -2
- package/build/cjs/components/DataDimension/{GroupSelector.js → ItemSelector/GroupSelector.js} +3 -3
- package/build/cjs/components/DataDimension/{ItemSelector.js → ItemSelector/ItemSelector.js} +76 -163
- package/build/cjs/components/DataDimension/{MetricSelector.js → ItemSelector/MetricSelector.js} +3 -3
- package/build/cjs/components/DataDimension/SelectedEmptyPlaceholder.js +17 -0
- package/build/cjs/components/DataDimension/SourceEmptyPlaceholder.js +113 -0
- package/build/cjs/components/DataDimension/TransferOption.js +34 -3
- package/build/cjs/components/DataDimension/styles/EmptyPlaceholder.style.js +10 -0
- package/build/cjs/components/DataDimension/styles/TransferOption.style.js +2 -2
- package/build/cjs/components/DimensionsPanel/List/OptionsButton.js +3 -3
- package/build/cjs/components/DimensionsPanel/List/styles/DimensionItem.style.js +2 -2
- package/build/cjs/components/DynamicDimension/DynamicDimension.js +1 -1
- package/build/cjs/components/DynamicDimension/ItemSelector.js +64 -111
- package/build/cjs/components/styles/DimensionSelector.style.js +2 -2
- package/build/cjs/locales/en/translations.json +18 -11
- package/build/cjs/modules/dataTypes.js +3 -1
- package/build/cjs/modules/dimensionListItem.js +4 -0
- package/build/es/__demo__/DimensionsPanel.stories.js +27 -3
- package/build/es/__demo__/FileMenu.stories.js +1 -9
- package/build/es/__demo__/data/avgTotalAggregationType.visualization.json +256 -1
- package/build/es/__demo__/data/deep.visualization.json +613 -310
- package/build/es/__demo__/data/deepWithFilters.visualization.json +0 -3
- package/build/es/__demo__/data/degs.visualization.json +2 -7
- package/build/es/__demo__/data/diseaseWeeks.visualization.json +317 -153
- package/build/es/__demo__/data/emptyColumns.visualization.json +2 -7
- package/build/es/__demo__/data/emptyRows.visualization.json +292 -297
- package/build/es/__demo__/data/hierarchy.visualization.json +197 -1
- package/build/es/__demo__/data/lastFiveYears.visualization.json +2 -7
- package/build/es/__demo__/data/narrative.visualization.json +2 -7
- package/build/es/__demo__/data/simple.visualization.json +115 -105
- package/build/es/__demo__/data/target-with-legend.visualization.json +370 -115
- package/build/es/__demo__/data/under-above-100.legendSet.json +87 -103
- package/build/es/__demo__/data/weeklyColumns.visualization.json +2 -7
- package/build/es/__fixtures__/json/chartAllFields.json +8 -33
- package/build/es/api/dimensions.js +12 -2
- package/build/es/api/expression.js +18 -8
- package/build/es/assets/DimensionItemIcons/CalculationIcon.js +1 -1
- package/build/es/assets/DimensionItemIcons/DataElementIcon.js +1 -1
- package/build/es/assets/DimensionItemIcons/GenericIcon.js +1 -1
- package/build/es/assets/DimensionItemIcons/PeriodIcon.js +1 -1
- package/build/es/components/DataDimension/DataDimension.js +69 -11
- package/build/es/components/DataDimension/Info/CalculationInfo.js +3 -3
- package/build/es/components/DataDimension/Info/DataElementInfo.js +4 -4
- package/build/es/components/DataDimension/Info/DataElementOperandInfo.js +5 -5
- package/build/es/components/DataDimension/Info/DataSetInfo.js +3 -3
- package/build/es/components/DataDimension/Info/EventDataItemInfo.js +6 -6
- package/build/es/components/DataDimension/Info/IndicatorInfo.js +3 -3
- package/build/es/components/DataDimension/Info/InfoPopover.js +9 -5
- package/build/es/components/DataDimension/Info/InfoTable.js +1 -1
- package/build/es/components/DataDimension/Info/OptionInfo.js +62 -0
- package/build/es/components/DataDimension/Info/ProgramIndicatorInfo.js +10 -7
- package/build/es/components/DataDimension/ItemOptionsSelector/ItemOptionsSelector.js +247 -0
- package/build/es/components/DataDimension/ItemOptionsSelector/styles/ItemOptionSelector.style.js +4 -0
- package/build/es/components/DataDimension/{DataTypeSelector.js → ItemSelector/DataTypeSelector.js} +4 -4
- package/build/es/components/DataDimension/{DetailSelector.js → ItemSelector/DetailSelector.js} +2 -2
- package/build/es/components/DataDimension/{GroupSelector.js → ItemSelector/GroupSelector.js} +3 -3
- package/build/es/components/DataDimension/{ItemSelector.js → ItemSelector/ItemSelector.js} +76 -163
- package/build/es/components/DataDimension/{MetricSelector.js → ItemSelector/MetricSelector.js} +3 -3
- package/build/es/components/DataDimension/SelectedEmptyPlaceholder.js +9 -0
- package/build/es/components/DataDimension/SourceEmptyPlaceholder.js +105 -0
- package/build/es/components/DataDimension/TransferOption.js +35 -4
- package/build/es/components/DataDimension/styles/EmptyPlaceholder.style.js +4 -0
- package/build/es/components/DataDimension/styles/TransferOption.style.js +2 -2
- package/build/es/components/DimensionsPanel/List/OptionsButton.js +3 -3
- package/build/es/components/DimensionsPanel/List/styles/DimensionItem.style.js +2 -2
- package/build/es/components/DynamicDimension/DynamicDimension.js +1 -1
- package/build/es/components/DynamicDimension/ItemSelector.js +66 -113
- package/build/es/components/styles/DimensionSelector.style.js +2 -2
- package/build/es/locales/en/translations.json +18 -11
- package/build/es/modules/dataTypes.js +2 -0
- package/build/es/modules/dimensionListItem.js +5 -1
- package/package.json +2 -2
- /package/build/cjs/components/DataDimension/{styles → ItemSelector/styles}/DataTypeSelector.style.js +0 -0
- /package/build/cjs/components/DataDimension/{styles → ItemSelector/styles}/DetailSelector.style.js +0 -0
- /package/build/cjs/components/DataDimension/{styles → ItemSelector/styles}/GroupSelector.style.js +0 -0
- /package/build/cjs/components/DataDimension/{styles → ItemSelector/styles}/MetricSelector.style.js +0 -0
- /package/build/es/components/DataDimension/{styles → ItemSelector/styles}/DataTypeSelector.style.js +0 -0
- /package/build/es/components/DataDimension/{styles → ItemSelector/styles}/DetailSelector.style.js +0 -0
- /package/build/es/components/DataDimension/{styles → ItemSelector/styles}/GroupSelector.style.js +0 -0
- /package/build/es/components/DataDimension/{styles → ItemSelector/styles}/MetricSelector.style.js +0 -0
|
@@ -15,10 +15,10 @@ const OptionsButton = _ref => {
|
|
|
15
15
|
} = _ref;
|
|
16
16
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("button", {
|
|
17
17
|
onClick: onClick,
|
|
18
|
-
className: "jsx-
|
|
18
|
+
className: "jsx-2074438274"
|
|
19
19
|
}, /*#__PURE__*/_react.default.createElement(_ui.IconMore16, null)), /*#__PURE__*/_react.default.createElement(_style.default, {
|
|
20
|
-
id: "
|
|
21
|
-
}, ["button.jsx-
|
|
20
|
+
id: "2074438274"
|
|
21
|
+
}, ["button.jsx-2074438274{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%;width:20px;padding:0;border:none;background:none;outline:none;cursor:pointer;border-top-right-radius:2px;border-bottom-left-radius:2px;}", "button.jsx-2074438274:hover{background-color:rgba(33,41,52,0.08);}", "button.jsx-2074438274:active{background-color:rgba(33,41,52,0.13);}"]));
|
|
22
22
|
};
|
|
23
23
|
OptionsButton.propTypes = {
|
|
24
24
|
onClick: _propTypes.default.func
|
|
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _ui = require("@dhis2/ui");
|
|
8
|
-
const _defaultExport = [`.item.jsx-
|
|
9
|
-
_defaultExport.__hash = "
|
|
8
|
+
const _defaultExport = [`.item.jsx-3350116288{color:${_ui.colors.grey900};background-color:transparent;fill:${_ui.colors.grey800};display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:4px;outline:none;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:0 0 0 4px;margin:0;border-radius:2px;cursor:pointer;min-height:22px;border:1px solid transparent;}`, `.item.jsx-3350116288:not(.deactivated):not(.dragging):hover{background-color:${_ui.colors.grey100};border-color:${_ui.colors.grey400};}`, ".label.jsx-3350116288{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".labelWrapper.jsx-3350116288{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:2px 0;}", ".labelText.jsx-3350116288{font-size:13px;line-height:15px;margin-top:1px;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;}", ".iconWrapper.jsx-3350116288{width:16px;height:16px;margin:2px 4px 0 0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;}", ".item.deactivated.jsx-3350116288{opacity:0.5;cursor:not-allowed;}", `.item.selected.jsx-3350116288{background-color:${_ui.colors.teal100};border:1px solid ${_ui.colors.teal200};color:${_ui.colors.teal900};fill:${_ui.colors.teal800};font-weight:400;}`, ".item.selected.jsx-3350116288:not(.deactivated):hover{background:#cdeae8;border-color:#93c4bf;box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);}", ".optionsWrapper.jsx-3350116288{width:20px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;}", `.lockWrapper.jsx-3350116288 svg.jsx-3350116288 path.jsx-3350116288{fill:${_ui.colors.grey800};}`, `.lockWrapper.jsx-3350116288{background:${_ui.colors.grey300};-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding:0 2px 0 3px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}`, ".item.selected.jsx-3350116288 .lockWrapper.jsx-3350116288{background:#cbe7e5;}", `.item.selected.jsx-3350116288 .lockWrapper.jsx-3350116288 svg.jsx-3350116288 path.jsx-3350116288{fill:${_ui.colors.teal900};}`];
|
|
9
|
+
_defaultExport.__hash = "3350116288";
|
|
10
10
|
var _default = exports.default = _defaultExport;
|
|
@@ -77,7 +77,7 @@ const DynamicDimension = _ref => {
|
|
|
77
77
|
checked: !allIsSelected,
|
|
78
78
|
dataTest: 'dynamic-dimension-selection-type-manual'
|
|
79
79
|
}))), !allIsSelected && /*#__PURE__*/_react.default.createElement(_ItemSelector.default, {
|
|
80
|
-
|
|
80
|
+
selectedItems: selectedItems.map(item => ({
|
|
81
81
|
value: item.id,
|
|
82
82
|
label: item.name
|
|
83
83
|
})),
|
|
@@ -12,116 +12,48 @@ var _GenericIcon = _interopRequireDefault(require("../../assets/DimensionItemIco
|
|
|
12
12
|
var _index = _interopRequireDefault(require("../../locales/index.js"));
|
|
13
13
|
var _dimensionSelectorHelper = require("../../modules/dimensionSelectorHelper.js");
|
|
14
14
|
var _utils = require("../../modules/utils.js");
|
|
15
|
+
var _SelectedEmptyPlaceholder = require("../DataDimension/SelectedEmptyPlaceholder.js");
|
|
16
|
+
var _SourceEmptyPlaceholder = require("../DataDimension/SourceEmptyPlaceholder.js");
|
|
15
17
|
var _DimensionSelectorStyle = _interopRequireDefault(require("../styles/DimensionSelector.style.js"));
|
|
16
18
|
var _TransferOption = require("../TransferOption.js");
|
|
17
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
18
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
22
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
21
|
-
const
|
|
23
|
+
const ItemSelector = _ref => {
|
|
22
24
|
let {
|
|
23
|
-
|
|
24
|
-
setFilter
|
|
25
|
-
} = _ref;
|
|
26
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
27
|
-
className: `jsx-${_DimensionSelectorStyle.default.__hash}` + " " + "leftHeader"
|
|
28
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.InputField, {
|
|
29
|
-
value: filter,
|
|
30
|
-
onChange: _ref2 => {
|
|
31
|
-
let {
|
|
32
|
-
value
|
|
33
|
-
} = _ref2;
|
|
34
|
-
return setFilter(value);
|
|
35
|
-
},
|
|
36
|
-
placeholder: _index.default.t('Search'),
|
|
37
|
-
initialFocus: true,
|
|
38
|
-
type: 'search'
|
|
39
|
-
})), /*#__PURE__*/_react.default.createElement(_style.default, {
|
|
40
|
-
id: _DimensionSelectorStyle.default.__hash
|
|
41
|
-
}, _DimensionSelectorStyle.default));
|
|
42
|
-
};
|
|
43
|
-
LeftHeader.propTypes = {
|
|
44
|
-
filter: _propTypes.default.string,
|
|
45
|
-
setFilter: _propTypes.default.func
|
|
46
|
-
};
|
|
47
|
-
const EmptySelection = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", {
|
|
48
|
-
className: `jsx-${_DimensionSelectorStyle.default.__hash}` + " " + "emptyList"
|
|
49
|
-
}, _index.default.t('No items selected')), /*#__PURE__*/_react.default.createElement(_style.default, {
|
|
50
|
-
id: _DimensionSelectorStyle.default.__hash
|
|
51
|
-
}, _DimensionSelectorStyle.default));
|
|
52
|
-
const RightHeader = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", {
|
|
53
|
-
className: `jsx-${_DimensionSelectorStyle.default.__hash}` + " " + "rightHeader"
|
|
54
|
-
}, _index.default.t('Selected Items')), /*#__PURE__*/_react.default.createElement(_style.default, {
|
|
55
|
-
id: _DimensionSelectorStyle.default.__hash
|
|
56
|
-
}, _DimensionSelectorStyle.default));
|
|
57
|
-
const SourceEmptyPlaceholder = _ref3 => {
|
|
58
|
-
let {
|
|
59
|
-
loading,
|
|
60
|
-
filter,
|
|
61
|
-
options,
|
|
62
|
-
noItemsMessage
|
|
63
|
-
} = _ref3;
|
|
64
|
-
let message = '';
|
|
65
|
-
if (!loading && !options.length && !filter) {
|
|
66
|
-
message = noItemsMessage || _index.default.t('No data');
|
|
67
|
-
} else if (!loading && !options.length && filter) {
|
|
68
|
-
message = _index.default.t('Nothing found for {{- searchTerm}}', {
|
|
69
|
-
searchTerm: filter
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
return message && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", {
|
|
73
|
-
className: `jsx-${_DimensionSelectorStyle.default.__hash}` + " " + "emptyList"
|
|
74
|
-
}, message), /*#__PURE__*/_react.default.createElement(_style.default, {
|
|
75
|
-
id: _DimensionSelectorStyle.default.__hash
|
|
76
|
-
}, _DimensionSelectorStyle.default));
|
|
77
|
-
};
|
|
78
|
-
SourceEmptyPlaceholder.propTypes = {
|
|
79
|
-
filter: _propTypes.default.string,
|
|
80
|
-
loading: _propTypes.default.bool,
|
|
81
|
-
noItemsMessage: _propTypes.default.string,
|
|
82
|
-
options: _propTypes.default.array
|
|
83
|
-
};
|
|
84
|
-
const ItemSelector = _ref4 => {
|
|
85
|
-
let {
|
|
86
|
-
initialSelected,
|
|
25
|
+
selectedItems,
|
|
87
26
|
noItemsMessage,
|
|
88
27
|
onFetch,
|
|
89
28
|
onSelect,
|
|
90
29
|
rightFooter,
|
|
91
30
|
dataTest
|
|
92
|
-
} =
|
|
31
|
+
} = _ref;
|
|
93
32
|
const [state, setState] = (0, _react.useState)({
|
|
94
|
-
|
|
95
|
-
selected: initialSelected,
|
|
96
|
-
// FIXME: keeping selected in state is redundant, use the initialSelected prop directly instead
|
|
97
|
-
// The useCallback from onChange should be removed in favor of a regular fn as well
|
|
33
|
+
searchTerm: '',
|
|
98
34
|
options: [],
|
|
99
35
|
loading: true,
|
|
100
|
-
nextPage:
|
|
101
|
-
// Implement the solution found in the DataDimension/ItemSelector.js
|
|
36
|
+
nextPage: 1
|
|
102
37
|
});
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
filter
|
|
106
|
-
}));
|
|
107
|
-
const setSelected = selected => setState(state => ({
|
|
38
|
+
const debouncedSearchTerm = (0, _utils.useDebounce)(state.searchTerm, 500);
|
|
39
|
+
const setSearchTerm = searchTerm => setState(state => ({
|
|
108
40
|
...state,
|
|
109
|
-
|
|
41
|
+
searchTerm
|
|
110
42
|
}));
|
|
111
|
-
const debouncedFilter = (0, _utils.useDebounce)(state.filter, 200);
|
|
112
43
|
const fetchItems = async page => {
|
|
113
44
|
var _result$dimensionItem;
|
|
114
45
|
setState(state => ({
|
|
115
46
|
...state,
|
|
47
|
+
nextPage: page === 1 ? 1 : state.nextPage,
|
|
116
48
|
loading: true
|
|
117
49
|
}));
|
|
118
|
-
const result = await onFetch(page, state.
|
|
119
|
-
const newOptions = (_result$dimensionItem = result.dimensionItems) === null || _result$dimensionItem === void 0 ? void 0 : _result$dimensionItem.map(
|
|
50
|
+
const result = await onFetch(page, state.searchTerm);
|
|
51
|
+
const newOptions = (_result$dimensionItem = result.dimensionItems) === null || _result$dimensionItem === void 0 ? void 0 : _result$dimensionItem.map(_ref2 => {
|
|
120
52
|
let {
|
|
121
53
|
id,
|
|
122
54
|
name,
|
|
123
55
|
disabled
|
|
124
|
-
} =
|
|
56
|
+
} = _ref2;
|
|
125
57
|
return {
|
|
126
58
|
label: name,
|
|
127
59
|
value: id,
|
|
@@ -134,71 +66,92 @@ const ItemSelector = _ref4 => {
|
|
|
134
66
|
options: page > 1 ? [...state.options, ...newOptions] : newOptions,
|
|
135
67
|
nextPage: result.nextPage
|
|
136
68
|
}));
|
|
69
|
+
/* The following handles a very specific edge-case where the user can select all items from a
|
|
70
|
+
page and then reopen the modal. Usually Transfer triggers the onEndReached when the end of
|
|
71
|
+
the page is reached (scrolling down) or if too few items are on the left side (e.g. selecting
|
|
72
|
+
49 items from page 1, leaving only 1 item on the left side). However, due to the way Transfer
|
|
73
|
+
works, if 0 items are available, more items are fetched, but all items are already selected
|
|
74
|
+
(leaving 0 items on the left side still), the onReachedEnd won't trigger. Hence the code below:
|
|
75
|
+
IF there is a next page AND some options were just fetched AND you have the same or more
|
|
76
|
+
selected items than fetched items AND all fetched items are already selected -> fetch more!
|
|
77
|
+
*/
|
|
78
|
+
if (result.nextPage && newOptions.length && selectedItems.length >= newOptions.length && newOptions.every(newOption => selectedItems.find(selectedItem => selectedItem.value === newOption.value))) {
|
|
79
|
+
fetchItems(result.nextPage);
|
|
80
|
+
}
|
|
137
81
|
};
|
|
138
|
-
(0,
|
|
82
|
+
(0, _utils.useDidUpdateEffect)(() => {
|
|
139
83
|
fetchItems(1);
|
|
140
|
-
}, [
|
|
141
|
-
const onChange =
|
|
142
|
-
const newSelectedWithLabel =
|
|
143
|
-
value,
|
|
144
|
-
label: [...state.options, ...
|
|
84
|
+
}, [debouncedSearchTerm]);
|
|
85
|
+
const onChange = selectedIds => {
|
|
86
|
+
const newSelectedWithLabel = selectedIds.map(id => ({
|
|
87
|
+
value: id,
|
|
88
|
+
label: [...state.options, ...selectedItems].find(item => item.value === id).label
|
|
145
89
|
}));
|
|
146
|
-
setSelected(newSelectedWithLabel);
|
|
147
90
|
onSelect(newSelectedWithLabel);
|
|
148
|
-
}
|
|
149
|
-
const onEndReached = (
|
|
91
|
+
};
|
|
92
|
+
const onEndReached = () => {
|
|
150
93
|
if (state.nextPage) {
|
|
151
94
|
fetchItems(state.nextPage);
|
|
152
95
|
}
|
|
153
|
-
}
|
|
154
|
-
return /*#__PURE__*/_react.default.createElement(_ui.Transfer, {
|
|
155
|
-
onChange:
|
|
96
|
+
};
|
|
97
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Transfer, {
|
|
98
|
+
onChange: _ref3 => {
|
|
156
99
|
let {
|
|
157
100
|
selected
|
|
158
|
-
} =
|
|
101
|
+
} = _ref3;
|
|
159
102
|
return onChange(selected);
|
|
160
103
|
},
|
|
161
|
-
selected:
|
|
162
|
-
options: [...state.options, ...
|
|
104
|
+
selected: selectedItems.map(item => item.value),
|
|
105
|
+
options: [...state.options, ...selectedItems],
|
|
163
106
|
loading: state.loading,
|
|
164
107
|
loadingPicked: state.loading,
|
|
165
|
-
sourceEmptyPlaceholder: /*#__PURE__*/_react.default.createElement(SourceEmptyPlaceholder, {
|
|
108
|
+
sourceEmptyPlaceholder: /*#__PURE__*/_react.default.createElement(_SourceEmptyPlaceholder.SourceEmptyPlaceholder, {
|
|
166
109
|
loading: state.loading,
|
|
167
|
-
|
|
110
|
+
searchTerm: debouncedSearchTerm,
|
|
168
111
|
options: state.options,
|
|
169
112
|
noItemsMessage: noItemsMessage
|
|
170
113
|
}),
|
|
171
114
|
onEndReached: onEndReached,
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
115
|
+
filterable: true,
|
|
116
|
+
filterPlaceholder: _index.default.t('Search'),
|
|
117
|
+
filterablePicked: false,
|
|
118
|
+
searchTerm: state.searchTerm,
|
|
119
|
+
onFilterChange: _ref4 => {
|
|
120
|
+
let {
|
|
121
|
+
value
|
|
122
|
+
} = _ref4;
|
|
123
|
+
return setSearchTerm(value);
|
|
124
|
+
},
|
|
176
125
|
enableOrderChange: true,
|
|
177
126
|
height: _dimensionSelectorHelper.TRANSFER_HEIGHT,
|
|
178
127
|
optionsWidth: _dimensionSelectorHelper.TRANSFER_OPTIONS_WIDTH,
|
|
179
128
|
selectedWidth: _dimensionSelectorHelper.TRANSFER_SELECTED_WIDTH,
|
|
180
|
-
selectedEmptyComponent: /*#__PURE__*/_react.default.createElement(
|
|
181
|
-
rightHeader: /*#__PURE__*/_react.default.createElement(
|
|
129
|
+
selectedEmptyComponent: /*#__PURE__*/_react.default.createElement(_SelectedEmptyPlaceholder.SelectedEmptyPlaceholder, null),
|
|
130
|
+
rightHeader: /*#__PURE__*/_react.default.createElement("p", {
|
|
131
|
+
className: `jsx-${_DimensionSelectorStyle.default.__hash}` + " " + "rightHeader"
|
|
132
|
+
}, _index.default.t('Selected Items')),
|
|
182
133
|
rightFooter: rightFooter,
|
|
183
134
|
renderOption: props => /*#__PURE__*/_react.default.createElement(_TransferOption.TransferOption, _extends({}, props, {
|
|
184
135
|
icon: _GenericIcon.default,
|
|
185
136
|
dataTest: `${dataTest}-transfer-option`
|
|
186
137
|
})),
|
|
187
138
|
dataTest: `${dataTest}-transfer`
|
|
188
|
-
})
|
|
139
|
+
}), /*#__PURE__*/_react.default.createElement(_style.default, {
|
|
140
|
+
id: _DimensionSelectorStyle.default.__hash
|
|
141
|
+
}, _DimensionSelectorStyle.default));
|
|
189
142
|
};
|
|
190
143
|
ItemSelector.propTypes = {
|
|
191
144
|
onFetch: _propTypes.default.func.isRequired,
|
|
192
145
|
onSelect: _propTypes.default.func.isRequired,
|
|
193
146
|
dataTest: _propTypes.default.string,
|
|
194
|
-
|
|
147
|
+
noItemsMessage: _propTypes.default.string,
|
|
148
|
+
rightFooter: _propTypes.default.node,
|
|
149
|
+
selectedItems: _propTypes.default.arrayOf(_propTypes.default.exact({
|
|
195
150
|
label: _propTypes.default.string.isRequired,
|
|
196
151
|
value: _propTypes.default.string.isRequired
|
|
197
|
-
}))
|
|
198
|
-
noItemsMessage: _propTypes.default.string,
|
|
199
|
-
rightFooter: _propTypes.default.node
|
|
152
|
+
}))
|
|
200
153
|
};
|
|
201
154
|
ItemSelector.defaultProps = {
|
|
202
|
-
|
|
155
|
+
selectedItems: []
|
|
203
156
|
};
|
|
204
157
|
var _default = exports.default = ItemSelector;
|
|
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _ui = require("@dhis2/ui");
|
|
8
|
-
const _defaultExport = [".transfer-container.jsx-
|
|
9
|
-
_defaultExport.__hash = "
|
|
8
|
+
const _defaultExport = [".transfer-container.jsx-1883578365{min-width:800px;}", ".transfer-container.hidden.jsx-1883578365{position:absolute;visibility:hidden;pointer-events:none;}", `.filterContainer.jsx-1883578365{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:${_ui.spacers.dp12};margin-top:${_ui.spacers.dp8};}`, `.emptyList.jsx-1883578365{text-align:center;font-size:14px;line-height:16px;margin:${_ui.spacers.dp24} 0 0;color:${_ui.colors.grey700};}`, ".rightHeader.jsx-1883578365{font-size:14px;font-weight:500;}", `.leftHeader.jsx-1883578365{padding:${_ui.spacers.dp8} 0;}`, `.info-container.jsx-1883578365{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:${_ui.spacers.dp8};padding:${_ui.spacers.dp8};background-color:${_ui.colors.grey200};border-radius:3px;}`, `.info-text.jsx-1883578365{padding-left:${_ui.spacers.dp8};color:${_ui.colors.grey900};font-size:12px;line-height:16px;}`, `.calculation-button.jsx-1883578365{margin:${_ui.spacers.dp8} 0;}`];
|
|
9
|
+
_defaultExport.__hash = "1883578365";
|
|
10
10
|
var _default = exports.default = _defaultExport;
|
|
@@ -45,11 +45,6 @@
|
|
|
45
45
|
"No data elements found": "No data elements found",
|
|
46
46
|
"Drag items here, or double click in the list, to start building a calculation formula": "Drag items here, or double click in the list, to start building a calculation formula",
|
|
47
47
|
"Math operators": "Math operators",
|
|
48
|
-
"Data Type": "Data Type",
|
|
49
|
-
"Only {{dataType}} can be used in {{visType}}": "Only {{dataType}} can be used in {{visType}}",
|
|
50
|
-
"All types": "All types",
|
|
51
|
-
"Disaggregation": "Disaggregation",
|
|
52
|
-
"No data": "No data",
|
|
53
48
|
"Expression description": "Expression description",
|
|
54
49
|
"Error loading value": "Error loading value",
|
|
55
50
|
"None": "None",
|
|
@@ -98,9 +93,24 @@
|
|
|
98
93
|
"{{ offsetPeriodType }} × {{ offsetPeriods }}": "{{ offsetPeriodType }} × {{ offsetPeriods }}",
|
|
99
94
|
"Expression": "Expression",
|
|
100
95
|
"Filter": "Filter",
|
|
96
|
+
"All available options are already selected": "All available options are already selected",
|
|
97
|
+
"No available options for this item": "No available options for this item",
|
|
98
|
+
"Search by option name": "Search by option name",
|
|
99
|
+
"Back to all items": "Back to all items",
|
|
100
|
+
"Options": "Options",
|
|
101
|
+
"Selected items": "Selected items",
|
|
102
|
+
"Data Type": "Data Type",
|
|
103
|
+
"Only {{dataType}} can be used in {{visType}}": "Only {{dataType}} can be used in {{visType}}",
|
|
104
|
+
"All types": "All types",
|
|
105
|
+
"Disaggregation": "Disaggregation",
|
|
106
|
+
"No data": "No data",
|
|
101
107
|
"Search by data item name": "Search by data item name",
|
|
102
|
-
"No items selected": "No items selected",
|
|
103
108
|
"Selected Items": "Selected Items",
|
|
109
|
+
"All available items are already selected": "All available items are already selected",
|
|
110
|
+
"Calculation": "Calculation",
|
|
111
|
+
"Metric type": "Metric type",
|
|
112
|
+
"All metrics": "All metrics",
|
|
113
|
+
"No items selected": "No items selected",
|
|
104
114
|
"No indicators found": "No indicators found",
|
|
105
115
|
"No data sets found": "No data sets found",
|
|
106
116
|
"No event data items found": "No event data items found",
|
|
@@ -112,9 +122,7 @@
|
|
|
112
122
|
"No program indicators found for \"{{- searchTerm}}\"": "No program indicators found for \"{{- searchTerm}}\"",
|
|
113
123
|
"No calculations found for \"{{- searchTerm}}\"": "No calculations found for \"{{- searchTerm}}\"",
|
|
114
124
|
"Nothing found for \"{{- searchTerm}}\"": "Nothing found for \"{{- searchTerm}}\"",
|
|
115
|
-
"
|
|
116
|
-
"Metric type": "Metric type",
|
|
117
|
-
"All metrics": "All metrics",
|
|
125
|
+
"Click to choose from available options": "Click to choose from available options",
|
|
118
126
|
"Move to {{axisName}}": "Move to {{axisName}}",
|
|
119
127
|
"Add to {{axisName}}": "Add to {{axisName}}",
|
|
120
128
|
"Not available for {{visualizationType}}": "Not available for {{visualizationType}}",
|
|
@@ -131,7 +139,6 @@
|
|
|
131
139
|
"Manually select items...": "Manually select items...",
|
|
132
140
|
"Nothing found in {{- dimensionTitle}}": "Nothing found in {{- dimensionTitle}}",
|
|
133
141
|
"Search": "Search",
|
|
134
|
-
"Nothing found for {{- searchTerm}}": "Nothing found for {{- searchTerm}}",
|
|
135
142
|
"Delete {{fileType}}": "Delete {{fileType}}",
|
|
136
143
|
"This {{fileType}} and related interpretations will be deleted. Continue?": "This {{fileType}} and related interpretations will be deleted. Continue?",
|
|
137
144
|
"Delete": "Delete",
|
|
@@ -219,7 +226,6 @@
|
|
|
219
226
|
"No line lists found. Click New line list to get started.": "No line lists found. Click New line list to get started.",
|
|
220
227
|
"No line lists found. Try adjusting your search or filter options to find what you're looking for.": "No line lists found. Try adjusting your search or filter options to find what you're looking for.",
|
|
221
228
|
"New line list": "New line list",
|
|
222
|
-
"Options": "Options",
|
|
223
229
|
"Hide": "Hide",
|
|
224
230
|
"{{count}} org units": "{{count}} org unit",
|
|
225
231
|
"{{count}} org units_plural": "{{count}} org units",
|
|
@@ -363,6 +369,7 @@
|
|
|
363
369
|
"Program indicators": "Program indicators",
|
|
364
370
|
"Program indicator": "Program indicator",
|
|
365
371
|
"Calculations": "Calculations",
|
|
372
|
+
"Option": "Option",
|
|
366
373
|
"Number": "Number",
|
|
367
374
|
"Formula is empty. Add items to the formula from the lists on the left.": "Formula is empty. Add items to the formula from the lists on the left.",
|
|
368
375
|
"Consecutive math operators": "Consecutive math operators",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.dataTypeMap = exports.TOTALS = exports.SUB_GROUP_METRIC = exports.SUB_GROUP_DETAIL = exports.DIMENSION_TYPE_PROGRAM_INDICATOR = exports.DIMENSION_TYPE_PROGRAM_DATA_ELEMENT = exports.DIMENSION_TYPE_PROGRAM_ATTRIBUTE = exports.DIMENSION_TYPE_PERIOD = exports.DIMENSION_TYPE_ORGANISATION_UNIT_GROUP_SET = exports.DIMENSION_TYPE_ORGANISATION_UNIT = exports.DIMENSION_TYPE_INDICATOR = exports.DIMENSION_TYPE_EXPRESSION_DIMENSION_ITEM = exports.DIMENSION_TYPE_EVENT_DATA_ITEM = exports.DIMENSION_TYPE_DATA_SET = exports.DIMENSION_TYPE_DATA_ELEMENT_OPERAND = exports.DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET = exports.DIMENSION_TYPE_DATA_ELEMENT = exports.DIMENSION_TYPE_DATA = exports.DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET = exports.DIMENSION_TYPE_CATEGORY = exports.DIMENSION_TYPE_ALL = exports.DETAIL = exports.DEFAULT_DATATYPE_ID = void 0;
|
|
6
|
+
exports.dataTypeMap = exports.TOTALS = exports.SUB_GROUP_METRIC = exports.SUB_GROUP_DETAIL = exports.DIMENSION_TYPE_PROGRAM_INDICATOR = exports.DIMENSION_TYPE_PROGRAM_DATA_ELEMENT_OPTION = exports.DIMENSION_TYPE_PROGRAM_DATA_ELEMENT = exports.DIMENSION_TYPE_PROGRAM_ATTRIBUTE_OPTION = exports.DIMENSION_TYPE_PROGRAM_ATTRIBUTE = exports.DIMENSION_TYPE_PERIOD = exports.DIMENSION_TYPE_ORGANISATION_UNIT_GROUP_SET = exports.DIMENSION_TYPE_ORGANISATION_UNIT = exports.DIMENSION_TYPE_INDICATOR = exports.DIMENSION_TYPE_EXPRESSION_DIMENSION_ITEM = exports.DIMENSION_TYPE_EVENT_DATA_ITEM = exports.DIMENSION_TYPE_DATA_SET = exports.DIMENSION_TYPE_DATA_ELEMENT_OPERAND = exports.DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET = exports.DIMENSION_TYPE_DATA_ELEMENT = exports.DIMENSION_TYPE_DATA = exports.DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET = exports.DIMENSION_TYPE_CATEGORY = exports.DIMENSION_TYPE_ALL = exports.DETAIL = exports.DEFAULT_DATATYPE_ID = void 0;
|
|
7
7
|
exports.defaultGroupDetail = defaultGroupDetail;
|
|
8
8
|
exports.defaultGroupId = defaultGroupId;
|
|
9
9
|
var _index = _interopRequireDefault(require("../locales/index.js"));
|
|
@@ -15,7 +15,9 @@ const DIMENSION_TYPE_DATA_SET = exports.DIMENSION_TYPE_DATA_SET = 'DATA_SET';
|
|
|
15
15
|
const DIMENSION_TYPE_EVENT_DATA_ITEM = exports.DIMENSION_TYPE_EVENT_DATA_ITEM = 'EVENT_DATA_ITEM';
|
|
16
16
|
const DIMENSION_TYPE_PROGRAM_INDICATOR = exports.DIMENSION_TYPE_PROGRAM_INDICATOR = 'PROGRAM_INDICATOR';
|
|
17
17
|
const DIMENSION_TYPE_PROGRAM_DATA_ELEMENT = exports.DIMENSION_TYPE_PROGRAM_DATA_ELEMENT = 'PROGRAM_DATA_ELEMENT';
|
|
18
|
+
const DIMENSION_TYPE_PROGRAM_DATA_ELEMENT_OPTION = exports.DIMENSION_TYPE_PROGRAM_DATA_ELEMENT_OPTION = 'PROGRAM_DATA_ELEMENT_OPTION';
|
|
18
19
|
const DIMENSION_TYPE_PROGRAM_ATTRIBUTE = exports.DIMENSION_TYPE_PROGRAM_ATTRIBUTE = 'PROGRAM_ATTRIBUTE';
|
|
20
|
+
const DIMENSION_TYPE_PROGRAM_ATTRIBUTE_OPTION = exports.DIMENSION_TYPE_PROGRAM_ATTRIBUTE_OPTION = 'PROGRAM_ATTRIBUTE_OPTION';
|
|
19
21
|
const DIMENSION_TYPE_DATA_ELEMENT_OPERAND = exports.DIMENSION_TYPE_DATA_ELEMENT_OPERAND = 'DATA_ELEMENT_OPERAND';
|
|
20
22
|
const DIMENSION_TYPE_CATEGORY = exports.DIMENSION_TYPE_CATEGORY = 'CATEGORY';
|
|
21
23
|
const DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET = exports.DIMENSION_TYPE_CATEGORY_OPTION_GROUP_SET = 'CATEGORY_OPTION_GROUP_SET';
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getIcon = exports.getDimensionType = void 0;
|
|
7
|
+
var _d2I18n = _interopRequireDefault(require("@dhis2/d2-i18n"));
|
|
7
8
|
var _ui = require("@dhis2/ui");
|
|
8
9
|
var _react = _interopRequireDefault(require("react"));
|
|
9
10
|
var _DataElementIcon = _interopRequireDefault(require("../assets/DimensionItemIcons/DataElementIcon.js"));
|
|
@@ -29,6 +30,9 @@ const getDimensionType = _ref => {
|
|
|
29
30
|
case _dataTypes.DIMENSION_TYPE_PROGRAM_DATA_ELEMENT:
|
|
30
31
|
case _dataTypes.DIMENSION_TYPE_PROGRAM_ATTRIBUTE:
|
|
31
32
|
return _dataTypes.dataTypeMap[_dataTypes.DIMENSION_TYPE_EVENT_DATA_ITEM].getItemName();
|
|
33
|
+
case _dataTypes.DIMENSION_TYPE_PROGRAM_ATTRIBUTE_OPTION:
|
|
34
|
+
case _dataTypes.DIMENSION_TYPE_PROGRAM_DATA_ELEMENT_OPTION:
|
|
35
|
+
return _d2I18n.default.t('Option');
|
|
32
36
|
default:
|
|
33
37
|
return (_dataTypes$type = _dataTypes.dataTypeMap[type]) === null || _dataTypes$type === void 0 ? void 0 : _dataTypes$type.getItemName();
|
|
34
38
|
}
|
|
@@ -13,13 +13,16 @@ const fixedDimensions = [{
|
|
|
13
13
|
}];
|
|
14
14
|
const dynamicDimensions = [{
|
|
15
15
|
id: '0000001',
|
|
16
|
-
name: '
|
|
16
|
+
name: 'Dietary diversity score based on variety of consumed food groups over a weekly period'
|
|
17
17
|
}, {
|
|
18
18
|
id: '0000002',
|
|
19
|
-
name: '
|
|
19
|
+
name: 'Healthcare services access and utilization frequency including preventive check-ups and specialist care'
|
|
20
20
|
}, {
|
|
21
21
|
id: '0000003',
|
|
22
|
-
name: '
|
|
22
|
+
name: 'Sleep quality index incorporating duration, time to sleep, frequency of awakenings, and restfulness'
|
|
23
|
+
}, {
|
|
24
|
+
id: '0000004',
|
|
25
|
+
name: 'Malaria incidence rate'
|
|
23
26
|
}];
|
|
24
27
|
const onDimensionClick = () => alert('click');
|
|
25
28
|
export default {
|
|
@@ -105,4 +108,25 @@ export const WithMenu = () => {
|
|
|
105
108
|
};
|
|
106
109
|
WithMenu.story = {
|
|
107
110
|
name: 'with menu'
|
|
111
|
+
};
|
|
112
|
+
export const TextWrapping = () => {
|
|
113
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
114
|
+
style: {
|
|
115
|
+
width: '260px',
|
|
116
|
+
height: '400px',
|
|
117
|
+
borderInlineEnd: '1px dotted #CCC',
|
|
118
|
+
resize: 'both',
|
|
119
|
+
overflow: 'auto'
|
|
120
|
+
}
|
|
121
|
+
}, /*#__PURE__*/React.createElement(DimensionsPanel, {
|
|
122
|
+
dimensions: [...fixedDimensions, ...dynamicDimensions],
|
|
123
|
+
onDimensionClick: onDimensionClick,
|
|
124
|
+
onDimensionOptionsClick: () => alert('options click'),
|
|
125
|
+
recommendedDimension: dimension => dimension === '0000002',
|
|
126
|
+
lockedDimension: dimension => dimension === '0000003',
|
|
127
|
+
selectedIds: ['0000003', '0000002']
|
|
128
|
+
}));
|
|
129
|
+
};
|
|
130
|
+
TextWrapping.story = {
|
|
131
|
+
name: 'text wrapping'
|
|
108
132
|
};
|
|
@@ -17,11 +17,9 @@ const visObject = {
|
|
|
17
17
|
id: 'a8LrqsBQlHP',
|
|
18
18
|
created: '2012-11-05T09:17:23.388',
|
|
19
19
|
name: 'ANC: 1-3 dropout rate Yearly',
|
|
20
|
-
publicAccess: '--------',
|
|
21
20
|
displayDescription: 'some _italic (10%)_ and some *bold (10%)*',
|
|
22
21
|
displayName: 'ANC: 1-3 dropout rate Yearly',
|
|
23
22
|
description: 'some _italic (10%)_ and some *bold (10%)*',
|
|
24
|
-
externalAccess: false,
|
|
25
23
|
access: {
|
|
26
24
|
read: true,
|
|
27
25
|
update: true,
|
|
@@ -32,13 +30,7 @@ const visObject = {
|
|
|
32
30
|
},
|
|
33
31
|
lastUpdatedBy: user,
|
|
34
32
|
user,
|
|
35
|
-
translations: []
|
|
36
|
-
userAccesses: [{
|
|
37
|
-
access: 'rw------',
|
|
38
|
-
displayName: 'John Barnes',
|
|
39
|
-
id: 'DXyJmlo9rge',
|
|
40
|
-
userUid: 'DXyJmlo9rge'
|
|
41
|
-
}]
|
|
33
|
+
translations: []
|
|
42
34
|
};
|
|
43
35
|
const visReadonlyObject = {
|
|
44
36
|
...visObject,
|