@qrvey/utils 1.8.1 → 1.9.0-filter-visibility-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.
Files changed (54) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/column_format/helpers/defineTableChartFormat.js +4 -6
  3. package/dist/cjs/filters/adapters/FDToFlatUI.js +5 -1
  4. package/dist/cjs/filters/adapters/UIToFlatUI.js +4 -0
  5. package/dist/cjs/filters/adapters/UIToOldLogic.js +1 -0
  6. package/dist/cjs/filters/adapters/flatUIToFD.js +4 -0
  7. package/dist/cjs/filters/adapters/flatUIToUI.js +4 -0
  8. package/dist/cjs/filters/adapters/logicToFlatUI.js +7 -4
  9. package/dist/cjs/filters/constants/builder/FILTER_BUILDER_SCOPE_LABEL.js +2 -2
  10. package/dist/cjs/filters/constants/common/FILTER_SCOPE_LABEL.d.ts +1 -1
  11. package/dist/cjs/filters/constants/common/FILTER_SCOPE_LABEL.js +1 -1
  12. package/dist/cjs/filters/constants/settings/FILTER_SETTINGS_DEFAULT.js +2 -0
  13. package/dist/cjs/filters/helpers/common/resolveDatasetConditions.js +5 -0
  14. package/dist/cjs/filters/helpers/common/resolveFilterConditions.js +5 -0
  15. package/dist/cjs/filters/helpers/common/resolveScopeConditions.js +5 -0
  16. package/dist/cjs/filters/interfaces/OLD_IFilterDetail.d.ts +4 -0
  17. package/dist/cjs/filters/interfaces/builder/IFilterBuilderSettings.d.ts +5 -0
  18. package/dist/cjs/filters/interfaces/common/IFSFilter.d.ts +3 -0
  19. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilter.d.ts +2 -0
  20. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilterDisplayeds.d.ts +9 -0
  21. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilterDisplayeds.js +2 -0
  22. package/dist/cjs/filters/interfaces/common/index.d.ts +1 -0
  23. package/dist/cjs/filters/interfaces/common/index.js +1 -0
  24. package/dist/cjs/filters/interfaces/settings/IFSettingsFilterBuilder.d.ts +1 -0
  25. package/dist/cjs/filters/interfaces/settings/IFSettingsFilterPanel.d.ts +1 -0
  26. package/dist/cjs/globalization/labels/filters/I18N_FILTER.js +1 -1
  27. package/dist/cjs/globalization/labels/filters/I18N_FILTER_PANEL.js +2 -2
  28. package/dist/column_format/helpers/defineTableChartFormat.js +4 -6
  29. package/dist/filters/adapters/FDToFlatUI.js +5 -1
  30. package/dist/filters/adapters/UIToFlatUI.js +4 -0
  31. package/dist/filters/adapters/UIToOldLogic.js +1 -0
  32. package/dist/filters/adapters/flatUIToFD.js +4 -0
  33. package/dist/filters/adapters/flatUIToUI.js +4 -0
  34. package/dist/filters/adapters/logicToFlatUI.js +7 -4
  35. package/dist/filters/constants/builder/FILTER_BUILDER_SCOPE_LABEL.js +2 -2
  36. package/dist/filters/constants/common/FILTER_SCOPE_LABEL.d.ts +1 -1
  37. package/dist/filters/constants/common/FILTER_SCOPE_LABEL.js +1 -1
  38. package/dist/filters/constants/settings/FILTER_SETTINGS_DEFAULT.js +2 -0
  39. package/dist/filters/helpers/common/resolveDatasetConditions.js +5 -0
  40. package/dist/filters/helpers/common/resolveFilterConditions.js +5 -0
  41. package/dist/filters/helpers/common/resolveScopeConditions.js +5 -0
  42. package/dist/filters/interfaces/OLD_IFilterDetail.d.ts +4 -0
  43. package/dist/filters/interfaces/builder/IFilterBuilderSettings.d.ts +5 -0
  44. package/dist/filters/interfaces/common/IFSFilter.d.ts +3 -0
  45. package/dist/filters/interfaces/common/IFSParamsToGetFilter.d.ts +2 -0
  46. package/dist/filters/interfaces/common/IFSParamsToGetFilterDisplayeds.d.ts +9 -0
  47. package/dist/filters/interfaces/common/IFSParamsToGetFilterDisplayeds.js +1 -0
  48. package/dist/filters/interfaces/common/index.d.ts +1 -0
  49. package/dist/filters/interfaces/common/index.js +1 -0
  50. package/dist/filters/interfaces/settings/IFSettingsFilterBuilder.d.ts +1 -0
  51. package/dist/filters/interfaces/settings/IFSettingsFilterPanel.d.ts +1 -0
  52. package/dist/globalization/labels/filters/I18N_FILTER.js +1 -1
  53. package/dist/globalization/labels/filters/I18N_FILTER_PANEL.js +2 -2
  54. package/package.json +1 -1
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # [@qrvey/utils](https://bitbucket.org/qrvey/qrvey_utils/wiki/Home) *1.8.1*
1
+ # [@qrvey/utils](https://bitbucket.org/qrvey/qrvey_utils/wiki/Home) *1.9.0-filter-visibility-0*
2
2
 
3
3
  > Helper, Utils for all Qrvey Projects
4
4
 
@@ -73,14 +73,12 @@ const defineTableChartFormat = (column, settings) => {
73
73
  case COLUMN_1.COLUMN.NUMERIC:
74
74
  case COLUMN_1.COLUMN.RATING:
75
75
  case COLUMN_1.COLUMN.SLIDEBAR: {
76
- if (selectedFormat && selectedFormat.format !== "Default") {
76
+ if ((calculation === null || calculation === void 0 ? void 0 : calculation.value) === CALCULATION_LABEL_1.CALCULATION_LABEL.PDIFF)
77
+ return defaultPercentage;
78
+ if (selectedFormat && selectedFormat.format !== defaultText)
77
79
  return selectedFormat;
78
- }
79
80
  let output;
80
- if ((calculation === null || calculation === void 0 ? void 0 : calculation.value) === CALCULATION_LABEL_1.CALCULATION_LABEL.PDIFF) {
81
- output = defaultPercentage;
82
- }
83
- else if (isGroupedTable &&
81
+ if (isGroupedTable &&
84
82
  ((aggregate === null || aggregate === void 0 ? void 0 : aggregate.label) === AGGREGATE_1.AGGREGATE.COUNT ||
85
83
  (aggregate === null || aggregate === void 0 ? void 0 : aggregate.label) === AGGREGATE_1.AGGREGATE.DISTINCTCOUNT)) {
86
84
  output = defaultNumeric;
@@ -40,6 +40,7 @@ function FD21ToFlatUI(scopes = [], datasetsInfo = []) {
40
40
  scope.datasets.forEach((dataset) => {
41
41
  if (dataset.filters.length > 0) {
42
42
  dataset.filters.forEach((filter) => {
43
+ var _a, _b, _c, _d;
43
44
  const datasetInfo = datasetsInfo.find((dInfo) => dInfo.qrveyid === dataset.qrveyid);
44
45
  let columnInfo;
45
46
  if (!(0, isEmpty_1.isEmpty)(datasetInfo))
@@ -65,8 +66,11 @@ function FD21ToFlatUI(scopes = [], datasetsInfo = []) {
65
66
  type: (columnInfo === null || columnInfo === void 0 ? void 0 : columnInfo.type) || filter.column.type,
66
67
  },
67
68
  dateSection: filter.dateSection,
68
- displayed: filter.displayed,
69
+ deletable: (_a = filter.deletable) !== null && _a !== void 0 ? _a : true,
70
+ displayed: (_b = filter.displayed) !== null && _b !== void 0 ? _b : true,
71
+ editable: (_c = filter.editable) !== null && _c !== void 0 ? _c : true,
69
72
  enabled: filter.enabled,
73
+ enableable: (_d = filter.enableable) !== null && _d !== void 0 ? _d : true,
70
74
  extras: Object.assign(Object.assign({}, filter.extras), { panelid: filter.extras.panelid, filterLabel: filter.extras.filterLabel, info, scope: filter.extras.scope, scopeid: filter.extras.scopeid, section: filter.extras.section, scopeInfo: {
71
75
  collapsed: scope.collapsed,
72
76
  enabled: scope.enabled,
@@ -38,6 +38,7 @@ function UI21ToFlatUI(scopes = [], datasetsInfo = []) {
38
38
  scope.datasets.forEach((dataset) => {
39
39
  if (dataset.filters.length > 0) {
40
40
  dataset.filters.forEach((filter) => {
41
+ var _a, _b, _c;
41
42
  const datasetInfo = datasetsInfo.find((dInfo) => dInfo.qrveyid === dataset.qrveyid);
42
43
  let columnInfo;
43
44
  if (!(0, isEmpty_1.isEmpty)(datasetInfo))
@@ -63,7 +64,10 @@ function UI21ToFlatUI(scopes = [], datasetsInfo = []) {
63
64
  type: filter.column.type,
64
65
  },
65
66
  dateSection: filter.dateSection,
67
+ deletable: (_a = filter.deletable) !== null && _a !== void 0 ? _a : true,
66
68
  displayed: filter.displayed,
69
+ editable: (_b = filter.editable) !== null && _b !== void 0 ? _b : true,
70
+ enableable: (_c = filter.enableable) !== null && _c !== void 0 ? _c : true,
67
71
  enabled: filter.enabled,
68
72
  extras: Object.assign(Object.assign({}, filter.extras), { panelid: filter.extras.panelid, filterLabel: filter.extras.filterLabel, info, scope: filter.extras.scope, scopeid: filter.extras.scopeid, section: filter.extras.section, scopeInfo: {
69
73
  collapsed: scope.collapsed,
@@ -136,5 +136,6 @@ const getFilterDetail = (filter, scope, dataset) => {
136
136
  uiValue: (0, getUIValues_1.getUIValues)(filter, { addEnableds: true }),
137
137
  validator: filter.validator,
138
138
  values: (0, adaptFilterValues_1.adaptFilterValues)(filter),
139
+ _newFilters: Object.assign({}, filter),
139
140
  };
140
141
  };
@@ -85,6 +85,7 @@ function buildDataset(uFilter) {
85
85
  * @returns an filter structure
86
86
  */
87
87
  function buildFilter(uFilter) {
88
+ var _a, _b, _c;
88
89
  const _uFilter = (0, cloneDeep_1.cloneDeep)(uFilter);
89
90
  const info = !(0, isEmpty_1.isEmpty)(_uFilter.extras.info)
90
91
  ? { icon: _uFilter.extras.info.icon, label: _uFilter.extras.info.label }
@@ -103,7 +104,10 @@ function buildFilter(uFilter) {
103
104
  type: _uFilter.column.type,
104
105
  },
105
106
  dateSection: _uFilter.dateSection,
107
+ deletable: (_a = _uFilter.deletable) !== null && _a !== void 0 ? _a : true,
106
108
  displayed: _uFilter.displayed,
109
+ editable: (_b = _uFilter.editable) !== null && _b !== void 0 ? _b : true,
110
+ enableable: (_c = _uFilter.enableable) !== null && _c !== void 0 ? _c : true,
107
111
  filterid: _uFilter.filterid,
108
112
  enabled: _uFilter.enabled,
109
113
  extras: Object.assign(Object.assign({}, _uFilter.extras), { panelid: _uFilter.extras.panelid, filterLabel: _uFilter.extras.filterLabel, info, scope: _uFilter.extras.scope, scopeid: _uFilter.extras.scopeid, section: _uFilter.extras.section }),
@@ -95,6 +95,7 @@ function buildDataset(uFilter) {
95
95
  * @returns an filter structure
96
96
  */
97
97
  function buildFilter(uFilter) {
98
+ var _a, _b, _c;
98
99
  const _uFilter = (0, cloneDeep_1.cloneDeep)(uFilter);
99
100
  const info = !(0, isEmpty_1.isEmpty)(_uFilter.extras.info)
100
101
  ? { icon: _uFilter.extras.info.icon, label: _uFilter.extras.info.label }
@@ -118,7 +119,10 @@ function buildFilter(uFilter) {
118
119
  type: _uFilter.column.type,
119
120
  },
120
121
  dateSection: _uFilter.dateSection,
122
+ deletable: (_a = _uFilter.deletable) !== null && _a !== void 0 ? _a : true,
121
123
  displayed: _uFilter.displayed,
124
+ editable: (_b = _uFilter.editable) !== null && _b !== void 0 ? _b : true,
125
+ enableable: (_c = _uFilter.enableable) !== null && _c !== void 0 ? _c : true,
122
126
  filterid: _uFilter.filterid,
123
127
  enabled: _uFilter.enabled,
124
128
  extras: Object.assign(Object.assign({}, _uFilter.extras), { panelid: _uFilter.extras.panelid, filterLabel: _uFilter.extras.filterLabel, info, scope: _uFilter.extras.scope, scopeid: _uFilter.extras.scopeid, section: _uFilter.extras.section }),
@@ -65,7 +65,7 @@ function buildFilterByExpression(expression, scopeItem, uFilters) {
65
65
  }
66
66
  }
67
67
  function getFilterByExpression(expression, scopeItem) {
68
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
68
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
69
69
  const uiExtras = expression.uiExtras;
70
70
  const scopeid = scopeItem.scope !== FILTER_SCOPE_1.FILTER_SCOPE.GLOBAL
71
71
  ? (0, get_1._get)(scopeItem, "uiExtras.scopeid")
@@ -91,11 +91,14 @@ function getFilterByExpression(expression, scopeItem) {
91
91
  type: (_l = uiExtras.column) === null || _l === void 0 ? void 0 : _l.type,
92
92
  },
93
93
  dateSection: uiExtras.dateSection,
94
- displayed: true,
94
+ deletable: (_o = (_m = uiExtras._newFilters) === null || _m === void 0 ? void 0 : _m.deletable) !== null && _o !== void 0 ? _o : true,
95
+ displayed: (_q = (_p = uiExtras._newFilters) === null || _p === void 0 ? void 0 : _p.displayed) !== null && _q !== void 0 ? _q : true,
96
+ editable: (_s = (_r = uiExtras._newFilters) === null || _r === void 0 ? void 0 : _r.editable) !== null && _s !== void 0 ? _s : true,
97
+ enableable: (_u = (_t = uiExtras._newFilters) === null || _t === void 0 ? void 0 : _t.enableable) !== null && _u !== void 0 ? _u : true,
95
98
  enabled: uiExtras.enabled,
96
99
  extras: Object.assign(Object.assign({}, uiExtras.extras), { panelid: uiExtras.panelid, filterLabel: uiExtras.panelName, info,
97
100
  scopeid, scope: scopeItem.scope, section: uiExtras.section, scopeInfo: {
98
- collapsed: (_m = scopeItem.uiExtras) === null || _m === void 0 ? void 0 : _m.collapsed,
101
+ collapsed: (_v = scopeItem.uiExtras) === null || _v === void 0 ? void 0 : _v.collapsed,
99
102
  enabled: scopeItem.enabled,
100
103
  displayed: true,
101
104
  scope: scopeItem.scope,
@@ -104,7 +107,7 @@ function getFilterByExpression(expression, scopeItem) {
104
107
  collapsed: false,
105
108
  enabled: true,
106
109
  displayed: true,
107
- qrveyid: (_o = uiExtras.column) === null || _o === void 0 ? void 0 : _o.qrveyid,
110
+ qrveyid: (_w = uiExtras.column) === null || _w === void 0 ? void 0 : _w.qrveyid,
108
111
  label: (0, get_1._get)(uiExtras.column, "dataset.name") ||
109
112
  (0, get_1._get)(uiExtras.column, "label"),
110
113
  } }),
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FILTER_BUILDER_SCOPE_LABEL = void 0;
4
4
  const FILTER_SCOPE_1 = require("../common/FILTER_SCOPE");
5
5
  exports.FILTER_BUILDER_SCOPE_LABEL = {
6
- [FILTER_SCOPE_1.FILTER_SCOPE.GLOBAL]: "All pages",
7
- [FILTER_SCOPE_1.FILTER_SCOPE.PAGE]: "Current page",
6
+ [FILTER_SCOPE_1.FILTER_SCOPE.GLOBAL]: "All dashboards",
7
+ [FILTER_SCOPE_1.FILTER_SCOPE.PAGE]: "Current dashboard",
8
8
  [FILTER_SCOPE_1.FILTER_SCOPE.TAB]: "Current tab",
9
9
  };
@@ -2,7 +2,7 @@ export declare enum FILTER_SCOPE_LABEL {
2
2
  ADMIN = "Admin",
3
3
  DATA = "Data",
4
4
  GLOBAL = "Global",
5
- PAGE = "Page",
5
+ PAGE = "Dashboard",
6
6
  TAB = "Tab",
7
7
  DEFAULT = "Default",
8
8
  CHART = "Panel",
@@ -6,7 +6,7 @@ var FILTER_SCOPE_LABEL;
6
6
  FILTER_SCOPE_LABEL["ADMIN"] = "Admin";
7
7
  FILTER_SCOPE_LABEL["DATA"] = "Data";
8
8
  FILTER_SCOPE_LABEL["GLOBAL"] = "Global";
9
- FILTER_SCOPE_LABEL["PAGE"] = "Page";
9
+ FILTER_SCOPE_LABEL["PAGE"] = "Dashboard";
10
10
  FILTER_SCOPE_LABEL["TAB"] = "Tab";
11
11
  FILTER_SCOPE_LABEL["DEFAULT"] = "Default";
12
12
  FILTER_SCOPE_LABEL["CHART"] = "Panel";
@@ -12,6 +12,7 @@ exports.FILTER_SETTINGS_DEFAULT = {
12
12
  filterBuilder: {
13
13
  scopeSelectorDisplayed: true,
14
14
  scopeSelectorEnabled: true,
15
+ strictlyInteractivity: false,
15
16
  },
16
17
  filterDisplayer: {
17
18
  addFilterDisplayed: true,
@@ -74,6 +75,7 @@ exports.FILTER_SETTINGS_DEFAULT = {
74
75
  },
75
76
  iconsDisplayed: true,
76
77
  readonly: false,
78
+ strictlyInteractivity: false,
77
79
  updateFilterInfo: true,
78
80
  },
79
81
  filterPanelSettings: {
@@ -17,6 +17,11 @@ function resolveDatasetConditions(dataset, params, letPassUndefinedProperties =
17
17
  (letPassUndefinedProperties && dataset.enabled == null) ||
18
18
  (letPassUndefinedParams && params.enableds.datasets == null) ||
19
19
  params.enableds.datasets === dataset.enabled) &&
20
+ (!(0, hasProperty_1._hasProperty)(params, "displayeds") ||
21
+ !(0, hasProperty_1._hasProperty)(params.displayeds, "datasets") ||
22
+ (letPassUndefinedProperties && dataset.displayed == null) ||
23
+ (letPassUndefinedParams && params.displayeds.datasets == null) ||
24
+ params.displayeds.datasets === dataset.displayed) &&
20
25
  (!(0, hasProperty_1._hasProperty)(params, "qrveyid") ||
21
26
  (letPassUndefinedProperties && dataset.qrveyid == null) ||
22
27
  (letPassUndefinedParams && (0, isEmpty_1.isEmpty)(params.qrveyid)) ||
@@ -18,6 +18,11 @@ function resolveFilterConditions(filter, params, letPassUndefinedProperties = fa
18
18
  (letPassUndefinedProperties && filter.enabled == null) ||
19
19
  (letPassUndefinedParams && params.enableds.filters == null) ||
20
20
  params.enableds.filters === filter.enabled) &&
21
+ (!(0, hasProperty_1._hasProperty)(params, "displayeds") ||
22
+ !(0, hasProperty_1._hasProperty)(params.displayeds, "filters") ||
23
+ (letPassUndefinedProperties && filter.displayed == null) ||
24
+ (letPassUndefinedParams && params.displayeds.filters == null) ||
25
+ params.displayeds.filters === filter.displayed) &&
21
26
  (!(0, hasProperty_1._hasProperty)(params, "dateSection") ||
22
27
  (letPassUndefinedProperties && filter.dateSection == null) ||
23
28
  (letPassUndefinedParams && (0, isEmpty_1.isEmpty)(params.dateSection)) ||
@@ -17,6 +17,11 @@ function resolveScopeConditions(scope, params, letPassUndefinedProperties = fals
17
17
  (letPassUndefinedProperties && scope.enabled == null) ||
18
18
  (letPassUndefinedParams && params.enableds.scopes == null) ||
19
19
  params.enableds.scopes === scope.enabled) &&
20
+ (!(0, hasProperty_1._hasProperty)(params, "displayeds") ||
21
+ !(0, hasProperty_1._hasProperty)(params.displayeds, "scopes") ||
22
+ (letPassUndefinedProperties && scope.displayed == null) ||
23
+ (letPassUndefinedParams && params.displayeds.scopes == null) ||
24
+ params.displayeds.scopes === scope.displayed) &&
20
25
  (!(0, hasProperty_1._hasProperty)(params, "scope") ||
21
26
  (letPassUndefinedProperties && scope.scope == null) ||
22
27
  (letPassUndefinedParams && (0, isEmpty_1.isEmpty)(params.scope)) ||
@@ -1,5 +1,6 @@
1
1
  import { IColumn } from "../../columns/interfaces/IColumn";
2
2
  import { IDataset } from "../../qrvey/interfaces/IDataset";
3
+ import { IFSFilter } from "./common/IFSFilter";
3
4
  import { IFSFilterExtrasInfo } from "./common/IFSFilterExtrasInfo";
4
5
  import { IFDateSection } from "./IFDateSection";
5
6
  import { IFOperator } from "./IFOperator";
@@ -9,6 +10,8 @@ import { IFSection } from "./IFSection";
9
10
  import { IFValidator } from "./IFValidator";
10
11
  import { IFValue } from "./IFValue";
11
12
  import { IFUChartSettings } from "./ui/IFUChartSettings";
13
+ import { IFUFilter } from "./ui/IFUFilter";
14
+ import { IFUFlattenedFilter } from "./ui/IFUFlattenedFilter";
12
15
  import { IFUValue } from "./ui/IFUValue";
13
16
  export interface OLD_IFilterDetail {
14
17
  column?: Omit<IColumn, "label"> & {
@@ -44,4 +47,5 @@ export interface OLD_IFilterDetail {
44
47
  section?: IFSection;
45
48
  groupValue?: IFProperty;
46
49
  extras?: any;
50
+ _newFilters?: IFUFilter | IFSFilter | IFUFlattenedFilter;
47
51
  }
@@ -8,4 +8,9 @@ export interface IFilterBuilderSettings {
8
8
  chart?: IFUChartSettings;
9
9
  mode?: FILTER_FLOW;
10
10
  returningFilterStructureType?: IFStructureType;
11
+ displayed?: boolean;
12
+ displayable?: boolean;
13
+ deletable?: boolean;
14
+ editable?: boolean;
15
+ enableable?: boolean;
11
16
  }
@@ -12,8 +12,11 @@ export interface IFSFilter {
12
12
  collapsed: boolean;
13
13
  column: IFSColumn;
14
14
  dateSection?: IFDateSection;
15
+ deletable: boolean;
15
16
  displayed: boolean;
17
+ editable: boolean;
16
18
  enabled: boolean;
19
+ enableable: boolean;
17
20
  extras: IFSFilterExtras;
18
21
  filterid: string;
19
22
  lookupDisplayIndex?: number;
@@ -4,6 +4,7 @@ import { IFScope } from "../IFScope";
4
4
  import { IFValidator } from "../IFValidator";
5
5
  import { IFUChartSettings } from "../ui/IFUChartSettings";
6
6
  import { IFSColumn } from "./IFSColumn";
7
+ import { IFSParamsToGetFilterDisplayeds } from "./IFSParamsToGetFilterDisplayeds";
7
8
  import { IFSParamsToGetFilterEnableds } from "./IFSParamsToGetFilterEnableds";
8
9
  /**
9
10
  * Structure for filter properties
@@ -11,6 +12,7 @@ import { IFSParamsToGetFilterEnableds } from "./IFSParamsToGetFilterEnableds";
11
12
  export interface IFSParamsToGetFilter {
12
13
  column?: Partial<IFSColumn>;
13
14
  dateSection?: IFDateSection;
15
+ displayeds?: IFSParamsToGetFilterDisplayeds;
14
16
  enableds?: IFSParamsToGetFilterEnableds;
15
17
  chart?: IFUChartSettings;
16
18
  panelid?: string;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Structure for filter structure displayed flags
3
+ */
4
+ export interface IFSParamsToGetFilterDisplayeds {
5
+ scopes?: boolean;
6
+ datasets?: boolean;
7
+ filters?: boolean;
8
+ values?: boolean;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -23,6 +23,7 @@ export * from "./IFSFilterExtras";
23
23
  export * from "./IFSFilterExtrasInfo";
24
24
  export * from "./IFSGetDataValues";
25
25
  export * from "./IFSParamsToGetFilter";
26
+ export * from "./IFSParamsToGetFilterDisplayeds";
26
27
  export * from "./IFSParamsToGetFilterEnableds";
27
28
  export * from "./IFSScope";
28
29
  export * from "./IFSScopeID";
@@ -39,6 +39,7 @@ __exportStar(require("./IFSFilterExtras"), exports);
39
39
  __exportStar(require("./IFSFilterExtrasInfo"), exports);
40
40
  __exportStar(require("./IFSGetDataValues"), exports);
41
41
  __exportStar(require("./IFSParamsToGetFilter"), exports);
42
+ __exportStar(require("./IFSParamsToGetFilterDisplayeds"), exports);
42
43
  __exportStar(require("./IFSParamsToGetFilterEnableds"), exports);
43
44
  __exportStar(require("./IFSScope"), exports);
44
45
  __exportStar(require("./IFSScopeID"), exports);
@@ -4,4 +4,5 @@
4
4
  export interface IFSettingsFilterBuilder {
5
5
  scopeSelectorDisplayed?: boolean;
6
6
  scopeSelectorEnabled?: boolean;
7
+ strictlyInteractivity?: boolean;
7
8
  }
@@ -14,5 +14,6 @@ export interface IFSettingsFilterPanel {
14
14
  header?: IFSettingsFilterPanelHeader;
15
15
  iconsDisplayed?: boolean;
16
16
  readonly?: boolean;
17
+ strictlyInteractivity?: boolean;
17
18
  updateFilterInfo?: boolean;
18
19
  }
@@ -25,7 +25,7 @@ exports.I18N_FILTER = {
25
25
  admin: "Admin Filters",
26
26
  data: "Data Filters",
27
27
  global: "Global Filters",
28
- page: "Page Filters",
28
+ page: "Dashboard Filters",
29
29
  tab: "Tab Filters",
30
30
  chart: "Panel Filters",
31
31
  default: "Default Filters",
@@ -28,8 +28,8 @@ exports.I18N_FILTER_PANEL = {
28
28
  apply: "Delete",
29
29
  },
30
30
  scope_tooltip: {
31
- global: "Filters applied to all pages",
32
- page: "Filters applied to the current page",
31
+ global: "Filters applied to all dashboards",
32
+ page: "Filters applied to the current dashboard",
33
33
  chart: "Filters applied to selected chart",
34
34
  tab: "Filters applied to the current tab",
35
35
  data: "Filters applied to the selected dataset for this user group",
@@ -70,14 +70,12 @@ export const defineTableChartFormat = (column, settings) => {
70
70
  case COLUMN.NUMERIC:
71
71
  case COLUMN.RATING:
72
72
  case COLUMN.SLIDEBAR: {
73
- if (selectedFormat && selectedFormat.format !== "Default") {
73
+ if ((calculation === null || calculation === void 0 ? void 0 : calculation.value) === CALCULATION_LABEL.PDIFF)
74
+ return defaultPercentage;
75
+ if (selectedFormat && selectedFormat.format !== defaultText)
74
76
  return selectedFormat;
75
- }
76
77
  let output;
77
- if ((calculation === null || calculation === void 0 ? void 0 : calculation.value) === CALCULATION_LABEL.PDIFF) {
78
- output = defaultPercentage;
79
- }
80
- else if (isGroupedTable &&
78
+ if (isGroupedTable &&
81
79
  ((aggregate === null || aggregate === void 0 ? void 0 : aggregate.label) === AGGREGATE.COUNT ||
82
80
  (aggregate === null || aggregate === void 0 ? void 0 : aggregate.label) === AGGREGATE.DISTINCTCOUNT)) {
83
81
  output = defaultNumeric;
@@ -36,6 +36,7 @@ function FD21ToFlatUI(scopes = [], datasetsInfo = []) {
36
36
  scope.datasets.forEach((dataset) => {
37
37
  if (dataset.filters.length > 0) {
38
38
  dataset.filters.forEach((filter) => {
39
+ var _a, _b, _c, _d;
39
40
  const datasetInfo = datasetsInfo.find((dInfo) => dInfo.qrveyid === dataset.qrveyid);
40
41
  let columnInfo;
41
42
  if (!isEmpty(datasetInfo))
@@ -61,8 +62,11 @@ function FD21ToFlatUI(scopes = [], datasetsInfo = []) {
61
62
  type: (columnInfo === null || columnInfo === void 0 ? void 0 : columnInfo.type) || filter.column.type,
62
63
  },
63
64
  dateSection: filter.dateSection,
64
- displayed: filter.displayed,
65
+ deletable: (_a = filter.deletable) !== null && _a !== void 0 ? _a : true,
66
+ displayed: (_b = filter.displayed) !== null && _b !== void 0 ? _b : true,
67
+ editable: (_c = filter.editable) !== null && _c !== void 0 ? _c : true,
65
68
  enabled: filter.enabled,
69
+ enableable: (_d = filter.enableable) !== null && _d !== void 0 ? _d : true,
66
70
  extras: Object.assign(Object.assign({}, filter.extras), { panelid: filter.extras.panelid, filterLabel: filter.extras.filterLabel, info, scope: filter.extras.scope, scopeid: filter.extras.scopeid, section: filter.extras.section, scopeInfo: {
67
71
  collapsed: scope.collapsed,
68
72
  enabled: scope.enabled,
@@ -34,6 +34,7 @@ function UI21ToFlatUI(scopes = [], datasetsInfo = []) {
34
34
  scope.datasets.forEach((dataset) => {
35
35
  if (dataset.filters.length > 0) {
36
36
  dataset.filters.forEach((filter) => {
37
+ var _a, _b, _c;
37
38
  const datasetInfo = datasetsInfo.find((dInfo) => dInfo.qrveyid === dataset.qrveyid);
38
39
  let columnInfo;
39
40
  if (!isEmpty(datasetInfo))
@@ -59,7 +60,10 @@ function UI21ToFlatUI(scopes = [], datasetsInfo = []) {
59
60
  type: filter.column.type,
60
61
  },
61
62
  dateSection: filter.dateSection,
63
+ deletable: (_a = filter.deletable) !== null && _a !== void 0 ? _a : true,
62
64
  displayed: filter.displayed,
65
+ editable: (_b = filter.editable) !== null && _b !== void 0 ? _b : true,
66
+ enableable: (_c = filter.enableable) !== null && _c !== void 0 ? _c : true,
63
67
  enabled: filter.enabled,
64
68
  extras: Object.assign(Object.assign({}, filter.extras), { panelid: filter.extras.panelid, filterLabel: filter.extras.filterLabel, info, scope: filter.extras.scope, scopeid: filter.extras.scopeid, section: filter.extras.section, scopeInfo: {
65
69
  collapsed: scope.collapsed,
@@ -132,5 +132,6 @@ const getFilterDetail = (filter, scope, dataset) => {
132
132
  uiValue: getUIValues(filter, { addEnableds: true }),
133
133
  validator: filter.validator,
134
134
  values: adaptFilterValues(filter),
135
+ _newFilters: Object.assign({}, filter),
135
136
  };
136
137
  };
@@ -81,6 +81,7 @@ function buildDataset(uFilter) {
81
81
  * @returns an filter structure
82
82
  */
83
83
  function buildFilter(uFilter) {
84
+ var _a, _b, _c;
84
85
  const _uFilter = cloneDeep(uFilter);
85
86
  const info = !isEmpty(_uFilter.extras.info)
86
87
  ? { icon: _uFilter.extras.info.icon, label: _uFilter.extras.info.label }
@@ -99,7 +100,10 @@ function buildFilter(uFilter) {
99
100
  type: _uFilter.column.type,
100
101
  },
101
102
  dateSection: _uFilter.dateSection,
103
+ deletable: (_a = _uFilter.deletable) !== null && _a !== void 0 ? _a : true,
102
104
  displayed: _uFilter.displayed,
105
+ editable: (_b = _uFilter.editable) !== null && _b !== void 0 ? _b : true,
106
+ enableable: (_c = _uFilter.enableable) !== null && _c !== void 0 ? _c : true,
103
107
  filterid: _uFilter.filterid,
104
108
  enabled: _uFilter.enabled,
105
109
  extras: Object.assign(Object.assign({}, _uFilter.extras), { panelid: _uFilter.extras.panelid, filterLabel: _uFilter.extras.filterLabel, info, scope: _uFilter.extras.scope, scopeid: _uFilter.extras.scopeid, section: _uFilter.extras.section }),
@@ -91,6 +91,7 @@ function buildDataset(uFilter) {
91
91
  * @returns an filter structure
92
92
  */
93
93
  function buildFilter(uFilter) {
94
+ var _a, _b, _c;
94
95
  const _uFilter = cloneDeep(uFilter);
95
96
  const info = !isEmpty(_uFilter.extras.info)
96
97
  ? { icon: _uFilter.extras.info.icon, label: _uFilter.extras.info.label }
@@ -114,7 +115,10 @@ function buildFilter(uFilter) {
114
115
  type: _uFilter.column.type,
115
116
  },
116
117
  dateSection: _uFilter.dateSection,
118
+ deletable: (_a = _uFilter.deletable) !== null && _a !== void 0 ? _a : true,
117
119
  displayed: _uFilter.displayed,
120
+ editable: (_b = _uFilter.editable) !== null && _b !== void 0 ? _b : true,
121
+ enableable: (_c = _uFilter.enableable) !== null && _c !== void 0 ? _c : true,
118
122
  filterid: _uFilter.filterid,
119
123
  enabled: _uFilter.enabled,
120
124
  extras: Object.assign(Object.assign({}, _uFilter.extras), { panelid: _uFilter.extras.panelid, filterLabel: _uFilter.extras.filterLabel, info, scope: _uFilter.extras.scope, scopeid: _uFilter.extras.scopeid, section: _uFilter.extras.section }),
@@ -61,7 +61,7 @@ function buildFilterByExpression(expression, scopeItem, uFilters) {
61
61
  }
62
62
  }
63
63
  function getFilterByExpression(expression, scopeItem) {
64
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
64
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
65
65
  const uiExtras = expression.uiExtras;
66
66
  const scopeid = scopeItem.scope !== FILTER_SCOPE.GLOBAL
67
67
  ? _get(scopeItem, "uiExtras.scopeid")
@@ -87,11 +87,14 @@ function getFilterByExpression(expression, scopeItem) {
87
87
  type: (_l = uiExtras.column) === null || _l === void 0 ? void 0 : _l.type,
88
88
  },
89
89
  dateSection: uiExtras.dateSection,
90
- displayed: true,
90
+ deletable: (_o = (_m = uiExtras._newFilters) === null || _m === void 0 ? void 0 : _m.deletable) !== null && _o !== void 0 ? _o : true,
91
+ displayed: (_q = (_p = uiExtras._newFilters) === null || _p === void 0 ? void 0 : _p.displayed) !== null && _q !== void 0 ? _q : true,
92
+ editable: (_s = (_r = uiExtras._newFilters) === null || _r === void 0 ? void 0 : _r.editable) !== null && _s !== void 0 ? _s : true,
93
+ enableable: (_u = (_t = uiExtras._newFilters) === null || _t === void 0 ? void 0 : _t.enableable) !== null && _u !== void 0 ? _u : true,
91
94
  enabled: uiExtras.enabled,
92
95
  extras: Object.assign(Object.assign({}, uiExtras.extras), { panelid: uiExtras.panelid, filterLabel: uiExtras.panelName, info,
93
96
  scopeid, scope: scopeItem.scope, section: uiExtras.section, scopeInfo: {
94
- collapsed: (_m = scopeItem.uiExtras) === null || _m === void 0 ? void 0 : _m.collapsed,
97
+ collapsed: (_v = scopeItem.uiExtras) === null || _v === void 0 ? void 0 : _v.collapsed,
95
98
  enabled: scopeItem.enabled,
96
99
  displayed: true,
97
100
  scope: scopeItem.scope,
@@ -100,7 +103,7 @@ function getFilterByExpression(expression, scopeItem) {
100
103
  collapsed: false,
101
104
  enabled: true,
102
105
  displayed: true,
103
- qrveyid: (_o = uiExtras.column) === null || _o === void 0 ? void 0 : _o.qrveyid,
106
+ qrveyid: (_w = uiExtras.column) === null || _w === void 0 ? void 0 : _w.qrveyid,
104
107
  label: _get(uiExtras.column, "dataset.name") ||
105
108
  _get(uiExtras.column, "label"),
106
109
  } }),
@@ -1,6 +1,6 @@
1
1
  import { FILTER_SCOPE } from "../common/FILTER_SCOPE";
2
2
  export const FILTER_BUILDER_SCOPE_LABEL = {
3
- [FILTER_SCOPE.GLOBAL]: "All pages",
4
- [FILTER_SCOPE.PAGE]: "Current page",
3
+ [FILTER_SCOPE.GLOBAL]: "All dashboards",
4
+ [FILTER_SCOPE.PAGE]: "Current dashboard",
5
5
  [FILTER_SCOPE.TAB]: "Current tab",
6
6
  };
@@ -2,7 +2,7 @@ export declare enum FILTER_SCOPE_LABEL {
2
2
  ADMIN = "Admin",
3
3
  DATA = "Data",
4
4
  GLOBAL = "Global",
5
- PAGE = "Page",
5
+ PAGE = "Dashboard",
6
6
  TAB = "Tab",
7
7
  DEFAULT = "Default",
8
8
  CHART = "Panel",
@@ -3,7 +3,7 @@ export var FILTER_SCOPE_LABEL;
3
3
  FILTER_SCOPE_LABEL["ADMIN"] = "Admin";
4
4
  FILTER_SCOPE_LABEL["DATA"] = "Data";
5
5
  FILTER_SCOPE_LABEL["GLOBAL"] = "Global";
6
- FILTER_SCOPE_LABEL["PAGE"] = "Page";
6
+ FILTER_SCOPE_LABEL["PAGE"] = "Dashboard";
7
7
  FILTER_SCOPE_LABEL["TAB"] = "Tab";
8
8
  FILTER_SCOPE_LABEL["DEFAULT"] = "Default";
9
9
  FILTER_SCOPE_LABEL["CHART"] = "Panel";
@@ -9,6 +9,7 @@ export const FILTER_SETTINGS_DEFAULT = {
9
9
  filterBuilder: {
10
10
  scopeSelectorDisplayed: true,
11
11
  scopeSelectorEnabled: true,
12
+ strictlyInteractivity: false,
12
13
  },
13
14
  filterDisplayer: {
14
15
  addFilterDisplayed: true,
@@ -71,6 +72,7 @@ export const FILTER_SETTINGS_DEFAULT = {
71
72
  },
72
73
  iconsDisplayed: true,
73
74
  readonly: false,
75
+ strictlyInteractivity: false,
74
76
  updateFilterInfo: true,
75
77
  },
76
78
  filterPanelSettings: {
@@ -14,6 +14,11 @@ export function resolveDatasetConditions(dataset, params, letPassUndefinedProper
14
14
  (letPassUndefinedProperties && dataset.enabled == null) ||
15
15
  (letPassUndefinedParams && params.enableds.datasets == null) ||
16
16
  params.enableds.datasets === dataset.enabled) &&
17
+ (!_hasProperty(params, "displayeds") ||
18
+ !_hasProperty(params.displayeds, "datasets") ||
19
+ (letPassUndefinedProperties && dataset.displayed == null) ||
20
+ (letPassUndefinedParams && params.displayeds.datasets == null) ||
21
+ params.displayeds.datasets === dataset.displayed) &&
17
22
  (!_hasProperty(params, "qrveyid") ||
18
23
  (letPassUndefinedProperties && dataset.qrveyid == null) ||
19
24
  (letPassUndefinedParams && isEmpty(params.qrveyid)) ||
@@ -15,6 +15,11 @@ export function resolveFilterConditions(filter, params, letPassUndefinedProperti
15
15
  (letPassUndefinedProperties && filter.enabled == null) ||
16
16
  (letPassUndefinedParams && params.enableds.filters == null) ||
17
17
  params.enableds.filters === filter.enabled) &&
18
+ (!_hasProperty(params, "displayeds") ||
19
+ !_hasProperty(params.displayeds, "filters") ||
20
+ (letPassUndefinedProperties && filter.displayed == null) ||
21
+ (letPassUndefinedParams && params.displayeds.filters == null) ||
22
+ params.displayeds.filters === filter.displayed) &&
18
23
  (!_hasProperty(params, "dateSection") ||
19
24
  (letPassUndefinedProperties && filter.dateSection == null) ||
20
25
  (letPassUndefinedParams && isEmpty(params.dateSection)) ||
@@ -14,6 +14,11 @@ export function resolveScopeConditions(scope, params, letPassUndefinedProperties
14
14
  (letPassUndefinedProperties && scope.enabled == null) ||
15
15
  (letPassUndefinedParams && params.enableds.scopes == null) ||
16
16
  params.enableds.scopes === scope.enabled) &&
17
+ (!_hasProperty(params, "displayeds") ||
18
+ !_hasProperty(params.displayeds, "scopes") ||
19
+ (letPassUndefinedProperties && scope.displayed == null) ||
20
+ (letPassUndefinedParams && params.displayeds.scopes == null) ||
21
+ params.displayeds.scopes === scope.displayed) &&
17
22
  (!_hasProperty(params, "scope") ||
18
23
  (letPassUndefinedProperties && scope.scope == null) ||
19
24
  (letPassUndefinedParams && isEmpty(params.scope)) ||
@@ -1,5 +1,6 @@
1
1
  import { IColumn } from "../../columns/interfaces/IColumn";
2
2
  import { IDataset } from "../../qrvey/interfaces/IDataset";
3
+ import { IFSFilter } from "./common/IFSFilter";
3
4
  import { IFSFilterExtrasInfo } from "./common/IFSFilterExtrasInfo";
4
5
  import { IFDateSection } from "./IFDateSection";
5
6
  import { IFOperator } from "./IFOperator";
@@ -9,6 +10,8 @@ import { IFSection } from "./IFSection";
9
10
  import { IFValidator } from "./IFValidator";
10
11
  import { IFValue } from "./IFValue";
11
12
  import { IFUChartSettings } from "./ui/IFUChartSettings";
13
+ import { IFUFilter } from "./ui/IFUFilter";
14
+ import { IFUFlattenedFilter } from "./ui/IFUFlattenedFilter";
12
15
  import { IFUValue } from "./ui/IFUValue";
13
16
  export interface OLD_IFilterDetail {
14
17
  column?: Omit<IColumn, "label"> & {
@@ -44,4 +47,5 @@ export interface OLD_IFilterDetail {
44
47
  section?: IFSection;
45
48
  groupValue?: IFProperty;
46
49
  extras?: any;
50
+ _newFilters?: IFUFilter | IFSFilter | IFUFlattenedFilter;
47
51
  }
@@ -8,4 +8,9 @@ export interface IFilterBuilderSettings {
8
8
  chart?: IFUChartSettings;
9
9
  mode?: FILTER_FLOW;
10
10
  returningFilterStructureType?: IFStructureType;
11
+ displayed?: boolean;
12
+ displayable?: boolean;
13
+ deletable?: boolean;
14
+ editable?: boolean;
15
+ enableable?: boolean;
11
16
  }
@@ -12,8 +12,11 @@ export interface IFSFilter {
12
12
  collapsed: boolean;
13
13
  column: IFSColumn;
14
14
  dateSection?: IFDateSection;
15
+ deletable: boolean;
15
16
  displayed: boolean;
17
+ editable: boolean;
16
18
  enabled: boolean;
19
+ enableable: boolean;
17
20
  extras: IFSFilterExtras;
18
21
  filterid: string;
19
22
  lookupDisplayIndex?: number;
@@ -4,6 +4,7 @@ import { IFScope } from "../IFScope";
4
4
  import { IFValidator } from "../IFValidator";
5
5
  import { IFUChartSettings } from "../ui/IFUChartSettings";
6
6
  import { IFSColumn } from "./IFSColumn";
7
+ import { IFSParamsToGetFilterDisplayeds } from "./IFSParamsToGetFilterDisplayeds";
7
8
  import { IFSParamsToGetFilterEnableds } from "./IFSParamsToGetFilterEnableds";
8
9
  /**
9
10
  * Structure for filter properties
@@ -11,6 +12,7 @@ import { IFSParamsToGetFilterEnableds } from "./IFSParamsToGetFilterEnableds";
11
12
  export interface IFSParamsToGetFilter {
12
13
  column?: Partial<IFSColumn>;
13
14
  dateSection?: IFDateSection;
15
+ displayeds?: IFSParamsToGetFilterDisplayeds;
14
16
  enableds?: IFSParamsToGetFilterEnableds;
15
17
  chart?: IFUChartSettings;
16
18
  panelid?: string;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Structure for filter structure displayed flags
3
+ */
4
+ export interface IFSParamsToGetFilterDisplayeds {
5
+ scopes?: boolean;
6
+ datasets?: boolean;
7
+ filters?: boolean;
8
+ values?: boolean;
9
+ }
@@ -23,6 +23,7 @@ export * from "./IFSFilterExtras";
23
23
  export * from "./IFSFilterExtrasInfo";
24
24
  export * from "./IFSGetDataValues";
25
25
  export * from "./IFSParamsToGetFilter";
26
+ export * from "./IFSParamsToGetFilterDisplayeds";
26
27
  export * from "./IFSParamsToGetFilterEnableds";
27
28
  export * from "./IFSScope";
28
29
  export * from "./IFSScopeID";
@@ -23,6 +23,7 @@ export * from "./IFSFilterExtras";
23
23
  export * from "./IFSFilterExtrasInfo";
24
24
  export * from "./IFSGetDataValues";
25
25
  export * from "./IFSParamsToGetFilter";
26
+ export * from "./IFSParamsToGetFilterDisplayeds";
26
27
  export * from "./IFSParamsToGetFilterEnableds";
27
28
  export * from "./IFSScope";
28
29
  export * from "./IFSScopeID";
@@ -4,4 +4,5 @@
4
4
  export interface IFSettingsFilterBuilder {
5
5
  scopeSelectorDisplayed?: boolean;
6
6
  scopeSelectorEnabled?: boolean;
7
+ strictlyInteractivity?: boolean;
7
8
  }
@@ -14,5 +14,6 @@ export interface IFSettingsFilterPanel {
14
14
  header?: IFSettingsFilterPanelHeader;
15
15
  iconsDisplayed?: boolean;
16
16
  readonly?: boolean;
17
+ strictlyInteractivity?: boolean;
17
18
  updateFilterInfo?: boolean;
18
19
  }
@@ -22,7 +22,7 @@ export const I18N_FILTER = {
22
22
  admin: "Admin Filters",
23
23
  data: "Data Filters",
24
24
  global: "Global Filters",
25
- page: "Page Filters",
25
+ page: "Dashboard Filters",
26
26
  tab: "Tab Filters",
27
27
  chart: "Panel Filters",
28
28
  default: "Default Filters",
@@ -25,8 +25,8 @@ export const I18N_FILTER_PANEL = {
25
25
  apply: "Delete",
26
26
  },
27
27
  scope_tooltip: {
28
- global: "Filters applied to all pages",
29
- page: "Filters applied to the current page",
28
+ global: "Filters applied to all dashboards",
29
+ page: "Filters applied to the current dashboard",
30
30
  chart: "Filters applied to selected chart",
31
31
  tab: "Filters applied to the current tab",
32
32
  data: "Filters applied to the selected dataset for this user group",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/utils",
3
- "version": "1.8.1",
3
+ "version": "1.9.0-filter-visibility-0",
4
4
  "description": "Helper, Utils for all Qrvey Projects",
5
5
  "homepage": "https://bitbucket.org/qrvey/qrvey_utils/wiki/Home",
6
6
  "main": "dist/index.js",