@qrvey/utils 1.14.0-1 → 1.14.0-2

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 (163) hide show
  1. package/dist/cjs/column_format/helpers/columnTypeByChart.d.ts +1 -1
  2. package/dist/cjs/columns/constants/COLUMN.d.ts +3 -8
  3. package/dist/cjs/columns/constants/COLUMN.js +3 -8
  4. package/dist/cjs/columns/constants/COLUMNS.js +1 -9
  5. package/dist/cjs/columns/constants/COLUMN_ICON.d.ts +4 -0
  6. package/dist/cjs/columns/constants/COLUMN_ICON.js +41 -0
  7. package/dist/cjs/columns/constants/COLUMN_INFO.d.ts +1 -1
  8. package/dist/cjs/columns/constants/COLUMN_INFO.js +17 -37
  9. package/dist/cjs/columns/constants/COLUMN_INFO_LIST.js +0 -5
  10. package/dist/cjs/columns/constants/COLUMN_LABEL.d.ts +3 -0
  11. package/dist/cjs/columns/constants/COLUMN_LABEL.js +1 -1
  12. package/dist/cjs/columns/constants/NUMERICAL_COLUMN.d.ts +0 -3
  13. package/dist/cjs/columns/constants/NUMERICAL_COLUMN.js +0 -3
  14. package/dist/cjs/columns/constants/NUMERICAL_COLUMNS.js +0 -3
  15. package/dist/cjs/columns/constants/NUMERICAL_COLUMN_INFO.js +0 -24
  16. package/dist/cjs/columns/constants/NUMERICAL_COLUMN_INFO_LIST.js +0 -3
  17. package/dist/cjs/columns/constants/index.d.ts +1 -0
  18. package/dist/cjs/columns/constants/index.js +1 -0
  19. package/dist/cjs/dates/helpers/getTimezoneObject.d.ts +4 -4
  20. package/dist/cjs/dates/helpers/getTimezoneObject.js +17 -17
  21. package/dist/cjs/filters/adapters/FDToFlatUI.js +5 -1
  22. package/dist/cjs/filters/adapters/UIToFlatUI.js +4 -0
  23. package/dist/cjs/filters/adapters/UIToOldLogic.js +1 -0
  24. package/dist/cjs/filters/adapters/flatUIToFD.js +4 -0
  25. package/dist/cjs/filters/adapters/flatUIToUI.js +4 -0
  26. package/dist/cjs/filters/adapters/logicToFlatUI.js +7 -4
  27. package/dist/cjs/filters/constants/common/FILTER_SECTION.d.ts +2 -1
  28. package/dist/cjs/filters/constants/common/FILTER_SECTION.js +1 -0
  29. package/dist/cjs/filters/constants/settings/FILTER_SETTINGS_DEFAULT.js +2 -0
  30. package/dist/cjs/filters/helpers/common/getDateProperties.d.ts +10 -0
  31. package/dist/cjs/filters/helpers/common/getDateProperties.js +46 -0
  32. package/dist/cjs/filters/helpers/common/getDefaultValidatorByColumn.d.ts +11 -0
  33. package/dist/cjs/filters/helpers/common/getDefaultValidatorByColumn.js +27 -0
  34. package/dist/cjs/filters/helpers/common/getPropertiesByColumn.d.ts +20 -0
  35. package/dist/cjs/filters/helpers/common/getPropertiesByColumn.js +35 -0
  36. package/dist/cjs/filters/helpers/common/getTimeProperties.d.ts +8 -0
  37. package/dist/cjs/filters/helpers/common/getTimeProperties.js +22 -0
  38. package/dist/cjs/filters/helpers/common/getValidatorsByColumn.d.ts +10 -0
  39. package/dist/cjs/filters/helpers/common/getValidatorsByColumn.js +39 -0
  40. package/dist/cjs/filters/helpers/common/index.d.ts +10 -0
  41. package/dist/cjs/filters/helpers/common/index.js +10 -0
  42. package/dist/cjs/filters/helpers/common/isColumnForEqualLayout.d.ts +7 -0
  43. package/dist/cjs/filters/helpers/common/isColumnForEqualLayout.js +13 -0
  44. package/dist/cjs/filters/helpers/common/isColumnForEqualNullLayout.d.ts +9 -0
  45. package/dist/cjs/filters/helpers/common/isColumnForEqualNullLayout.js +20 -0
  46. package/dist/cjs/filters/helpers/common/isColumnForNullLayout.d.ts +7 -0
  47. package/dist/cjs/filters/helpers/common/isColumnForNullLayout.js +13 -0
  48. package/dist/cjs/filters/helpers/common/isColumnForNumericLayout.d.ts +9 -0
  49. package/dist/cjs/filters/helpers/common/isColumnForNumericLayout.js +22 -0
  50. package/dist/cjs/filters/helpers/common/isColumnForTextLayout.d.ts +9 -0
  51. package/dist/cjs/filters/helpers/common/isColumnForTextLayout.js +20 -0
  52. package/dist/cjs/filters/helpers/common/isValidatorMatchedToWindow.d.ts +7 -0
  53. package/dist/cjs/filters/helpers/common/isValidatorMatchedToWindow.js +13 -0
  54. package/dist/cjs/filters/helpers/common/resolveDatasetConditions.js +5 -0
  55. package/dist/cjs/filters/helpers/common/resolveFilterConditions.js +5 -0
  56. package/dist/cjs/filters/helpers/common/resolveScopeConditions.js +5 -0
  57. package/dist/cjs/filters/helpers/getAvailableScopes.d.ts +2 -1
  58. package/dist/cjs/filters/helpers/getAvailableScopes.js +5 -2
  59. package/dist/cjs/filters/interfaces/IFValidatorInfo.d.ts +1 -1
  60. package/dist/cjs/filters/interfaces/OLD_IFilterDetail.d.ts +4 -0
  61. package/dist/cjs/filters/interfaces/builder/IFilterBuilderConfig.d.ts +5 -1
  62. package/dist/cjs/filters/interfaces/builder/IFilterBuilderSettings.d.ts +5 -0
  63. package/dist/cjs/filters/interfaces/common/IFSFilter.d.ts +3 -0
  64. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilter.d.ts +2 -0
  65. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilterDisplayeds.d.ts +9 -0
  66. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilterDisplayeds.js +2 -0
  67. package/dist/cjs/filters/interfaces/common/index.d.ts +1 -0
  68. package/dist/cjs/filters/interfaces/common/index.js +1 -0
  69. package/dist/cjs/filters/interfaces/settings/IFSettingsFilterBuilder.d.ts +1 -0
  70. package/dist/cjs/filters/interfaces/settings/IFSettingsFilterPanel.d.ts +1 -0
  71. package/dist/cjs/general/array/getArrayByProperty.d.ts +1 -1
  72. package/dist/cjs/general/array/index.d.ts +1 -0
  73. package/dist/cjs/general/array/index.js +1 -0
  74. package/dist/cjs/general/array/intersectObjectArrays.d.ts +8 -0
  75. package/dist/cjs/general/array/intersectObjectArrays.js +37 -0
  76. package/dist/cjs/globalization/interfaces/style_themes/II18nStyleThemesMenu.d.ts +1 -0
  77. package/dist/cjs/globalization/interfaces/style_themes/II18nStyleThemesTheme.d.ts +1 -0
  78. package/dist/cjs/globalization/labels/style_themes/I18N_STYLE_THEMES.js +2 -0
  79. package/dist/cjs/interfaces/general/IGeneralInfo.d.ts +4 -4
  80. package/dist/cjs/qrvey/interfaces/IDataset.d.ts +0 -2
  81. package/dist/cjs/services/api/getAllDatasets.api.js +2 -2
  82. package/dist/column_format/helpers/columnTypeByChart.d.ts +1 -1
  83. package/dist/columns/constants/COLUMN.d.ts +3 -8
  84. package/dist/columns/constants/COLUMN.js +3 -8
  85. package/dist/columns/constants/COLUMNS.js +1 -9
  86. package/dist/columns/constants/COLUMN_ICON.d.ts +4 -0
  87. package/dist/columns/constants/COLUMN_ICON.js +38 -0
  88. package/dist/columns/constants/COLUMN_INFO.d.ts +1 -1
  89. package/dist/columns/constants/COLUMN_INFO.js +17 -37
  90. package/dist/columns/constants/COLUMN_INFO_LIST.js +0 -5
  91. package/dist/columns/constants/COLUMN_LABEL.d.ts +3 -0
  92. package/dist/columns/constants/COLUMN_LABEL.js +1 -1
  93. package/dist/columns/constants/NUMERICAL_COLUMN.d.ts +0 -3
  94. package/dist/columns/constants/NUMERICAL_COLUMN.js +0 -3
  95. package/dist/columns/constants/NUMERICAL_COLUMNS.js +0 -3
  96. package/dist/columns/constants/NUMERICAL_COLUMN_INFO.js +0 -24
  97. package/dist/columns/constants/NUMERICAL_COLUMN_INFO_LIST.js +0 -3
  98. package/dist/columns/constants/index.d.ts +1 -0
  99. package/dist/columns/constants/index.js +1 -0
  100. package/dist/dates/helpers/getTimezoneObject.d.ts +4 -4
  101. package/dist/dates/helpers/getTimezoneObject.js +17 -17
  102. package/dist/filters/adapters/FDToFlatUI.js +5 -1
  103. package/dist/filters/adapters/UIToFlatUI.js +4 -0
  104. package/dist/filters/adapters/UIToOldLogic.js +1 -0
  105. package/dist/filters/adapters/flatUIToFD.js +4 -0
  106. package/dist/filters/adapters/flatUIToUI.js +4 -0
  107. package/dist/filters/adapters/logicToFlatUI.js +7 -4
  108. package/dist/filters/constants/common/FILTER_SECTION.d.ts +2 -1
  109. package/dist/filters/constants/common/FILTER_SECTION.js +1 -0
  110. package/dist/filters/constants/settings/FILTER_SETTINGS_DEFAULT.js +2 -0
  111. package/dist/filters/helpers/common/getDateProperties.d.ts +10 -0
  112. package/dist/filters/helpers/common/getDateProperties.js +42 -0
  113. package/dist/filters/helpers/common/getDefaultValidatorByColumn.d.ts +11 -0
  114. package/dist/filters/helpers/common/getDefaultValidatorByColumn.js +23 -0
  115. package/dist/filters/helpers/common/getPropertiesByColumn.d.ts +20 -0
  116. package/dist/filters/helpers/common/getPropertiesByColumn.js +31 -0
  117. package/dist/filters/helpers/common/getTimeProperties.d.ts +8 -0
  118. package/dist/filters/helpers/common/getTimeProperties.js +18 -0
  119. package/dist/filters/helpers/common/getValidatorsByColumn.d.ts +10 -0
  120. package/dist/filters/helpers/common/getValidatorsByColumn.js +35 -0
  121. package/dist/filters/helpers/common/index.d.ts +10 -0
  122. package/dist/filters/helpers/common/index.js +10 -0
  123. package/dist/filters/helpers/common/isColumnForEqualLayout.d.ts +7 -0
  124. package/dist/filters/helpers/common/isColumnForEqualLayout.js +9 -0
  125. package/dist/filters/helpers/common/isColumnForEqualNullLayout.d.ts +9 -0
  126. package/dist/filters/helpers/common/isColumnForEqualNullLayout.js +16 -0
  127. package/dist/filters/helpers/common/isColumnForNullLayout.d.ts +7 -0
  128. package/dist/filters/helpers/common/isColumnForNullLayout.js +9 -0
  129. package/dist/filters/helpers/common/isColumnForNumericLayout.d.ts +9 -0
  130. package/dist/filters/helpers/common/isColumnForNumericLayout.js +18 -0
  131. package/dist/filters/helpers/common/isColumnForTextLayout.d.ts +9 -0
  132. package/dist/filters/helpers/common/isColumnForTextLayout.js +16 -0
  133. package/dist/filters/helpers/common/isValidatorMatchedToWindow.d.ts +7 -0
  134. package/dist/filters/helpers/common/isValidatorMatchedToWindow.js +9 -0
  135. package/dist/filters/helpers/common/resolveDatasetConditions.js +5 -0
  136. package/dist/filters/helpers/common/resolveFilterConditions.js +5 -0
  137. package/dist/filters/helpers/common/resolveScopeConditions.js +5 -0
  138. package/dist/filters/helpers/getAvailableScopes.d.ts +2 -1
  139. package/dist/filters/helpers/getAvailableScopes.js +5 -2
  140. package/dist/filters/interfaces/IFValidatorInfo.d.ts +1 -1
  141. package/dist/filters/interfaces/OLD_IFilterDetail.d.ts +4 -0
  142. package/dist/filters/interfaces/builder/IFilterBuilderConfig.d.ts +5 -1
  143. package/dist/filters/interfaces/builder/IFilterBuilderSettings.d.ts +5 -0
  144. package/dist/filters/interfaces/common/IFSFilter.d.ts +3 -0
  145. package/dist/filters/interfaces/common/IFSParamsToGetFilter.d.ts +2 -0
  146. package/dist/filters/interfaces/common/IFSParamsToGetFilterDisplayeds.d.ts +9 -0
  147. package/dist/filters/interfaces/common/IFSParamsToGetFilterDisplayeds.js +1 -0
  148. package/dist/filters/interfaces/common/index.d.ts +1 -0
  149. package/dist/filters/interfaces/common/index.js +1 -0
  150. package/dist/filters/interfaces/settings/IFSettingsFilterBuilder.d.ts +1 -0
  151. package/dist/filters/interfaces/settings/IFSettingsFilterPanel.d.ts +1 -0
  152. package/dist/general/array/getArrayByProperty.d.ts +1 -1
  153. package/dist/general/array/index.d.ts +1 -0
  154. package/dist/general/array/index.js +1 -0
  155. package/dist/general/array/intersectObjectArrays.d.ts +8 -0
  156. package/dist/general/array/intersectObjectArrays.js +33 -0
  157. package/dist/globalization/interfaces/style_themes/II18nStyleThemesMenu.d.ts +1 -0
  158. package/dist/globalization/interfaces/style_themes/II18nStyleThemesTheme.d.ts +1 -0
  159. package/dist/globalization/labels/style_themes/I18N_STYLE_THEMES.js +2 -0
  160. package/dist/interfaces/general/IGeneralInfo.d.ts +4 -4
  161. package/dist/qrvey/interfaces/IDataset.d.ts +0 -2
  162. package/dist/services/api/getAllDatasets.api.js +2 -2
  163. package/package.json +1 -1
@@ -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)) ||
@@ -3,6 +3,7 @@ import { IFSScopeID } from "../interfaces/common/IFSScopeID";
3
3
  /**
4
4
  * Gets Scopes/Scope IDs by given IDs
5
5
  * @param config given Differnts IDs in order set a available scope
6
+ * @param includeGlobal flag to add the global scope
6
7
  * @returns a Scopes/Scope IDs array
7
8
  */
8
- export declare function getAvailableScopes(config: IFSAvailableScope): IFSScopeID[];
9
+ export declare function getAvailableScopes(config: IFSAvailableScope, includeGlobal?: boolean): IFSScopeID[];
@@ -3,9 +3,10 @@ import { FILTER_SCOPE } from "../constants/common/FILTER_SCOPE";
3
3
  /**
4
4
  * Gets Scopes/Scope IDs by given IDs
5
5
  * @param config given Differnts IDs in order set a available scope
6
+ * @param includeGlobal flag to add the global scope
6
7
  * @returns a Scopes/Scope IDs array
7
8
  */
8
- export function getAvailableScopes(config) {
9
+ export function getAvailableScopes(config, includeGlobal = true) {
9
10
  if (isEmpty(config))
10
11
  return;
11
12
  if (config.scope != null)
@@ -13,7 +14,9 @@ export function getAvailableScopes(config) {
13
14
  let scopes = [];
14
15
  if (!isEmpty(config.predefinedScopes))
15
16
  scopes = config.predefinedScopes;
16
- scopes = [...scopes, { label: FILTER_SCOPE.GLOBAL, id: undefined }];
17
+ scopes = includeGlobal
18
+ ? [...scopes, { label: FILTER_SCOPE.GLOBAL, id: undefined }]
19
+ : [...scopes];
17
20
  if (config.tabid != null || config.pageid != null || config.panelid != null) {
18
21
  if (config.pageid)
19
22
  scopes = [...scopes, { label: FILTER_SCOPE.PAGE, id: config.pageid }];
@@ -1,5 +1,5 @@
1
- import { IGeneralInfo } from "../../interfaces/general/IGeneralInfo";
2
1
  import { IFValidator } from "./IFValidator";
2
+ import { IGeneralInfo } from "../../interfaces/general/IGeneralInfo";
3
3
  export interface IFValidatorInfo extends IGeneralInfo {
4
4
  value: IFValidator;
5
5
  }
@@ -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
  }
@@ -1,3 +1,4 @@
1
+ import { IFilterBuilderSettings } from "./IFilterBuilderSettings";
1
2
  import { IFBLogic } from "../backend/IFBLogic";
2
3
  import { IFBUserFilters } from "../backend/IFBUserFilters";
3
4
  import { IFilterConfig } from "../common/IFilterConfig";
@@ -10,11 +11,14 @@ import { IFValidator } from "../IFValidator";
10
11
  import { OLD_IFilterData } from "../OLD_IFilterData";
11
12
  import { IFSettings } from "../settings/IFSettings";
12
13
  import { IFUData } from "../ui/IFUData";
13
- import { IFilterBuilderSettings } from "./IFilterBuilderSettings";
14
14
  /**
15
15
  * Structure for the configuration of the Filter Builder
16
16
  */
17
17
  export interface IFilterBuilderConfig {
18
+ /**
19
+ * Flag to allow use the global scope
20
+ */
21
+ noGlobal?: boolean;
18
22
  datasets?: string[];
19
23
  filterData?: IFSData;
20
24
  filterLabel?: string;
@@ -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
  }
@@ -4,4 +4,4 @@
4
4
  * @param property the property to get the value collection
5
5
  * @returns a collection of values by property
6
6
  */
7
- export declare function getArrayByProperty<T = any>(arr: T[], property: string | number): T[];
7
+ export declare function getArrayByProperty<T = unknown>(arr: T[], property: string | number): unknown[];
@@ -5,3 +5,4 @@ export * from "./getArrayByProperty";
5
5
  export * from "./filterNestedTree";
6
6
  export * from "./getFirstIndexFromArray";
7
7
  export * from "./getLastIndexFromArray";
8
+ export * from "./intersectObjectArrays";
@@ -5,3 +5,4 @@ export * from "./getArrayByProperty";
5
5
  export * from "./filterNestedTree";
6
6
  export * from "./getFirstIndexFromArray";
7
7
  export * from "./getLastIndexFromArray";
8
+ export * from "./intersectObjectArrays";
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Get a common array of objects of the given array
3
+ * If a prop is received it means the arrays of arrays contains objects.
4
+ * @param arrays a collection of object arrays
5
+ * @param prop the property to validate the equality
6
+ * @returns a new array with the common items
7
+ */
8
+ export declare function intersectObjectArrays<T = unknown>(arrays: T[][], prop?: keyof T): T[];
@@ -0,0 +1,33 @@
1
+ import { isEmpty } from "../mix/isEmpty";
2
+ /**
3
+ * Get a common array of objects of the given array
4
+ * If a prop is received it means the arrays of arrays contains objects.
5
+ * @param arrays a collection of object arrays
6
+ * @param prop the property to validate the equality
7
+ * @returns a new array with the common items
8
+ */
9
+ export function intersectObjectArrays(arrays, prop) {
10
+ if (!Array.isArray(arrays) || isEmpty(arrays))
11
+ return [];
12
+ if (isEmpty(prop))
13
+ return intersectSimpleArray(arrays);
14
+ return arrays.reduce((intersection, array) => {
15
+ if (!Array.isArray(intersection))
16
+ return intersection;
17
+ return intersection.filter((insersectionItem) => {
18
+ return array.some((item) => item[prop] === insersectionItem[prop]);
19
+ });
20
+ });
21
+ }
22
+ /**
23
+ * Gets a common array of items of the given array
24
+ * @param arrays a collection of object arrays
25
+ * @returns a new array with the common items
26
+ */
27
+ function intersectSimpleArray(arrays) {
28
+ return arrays.reduce((intersection, array) => {
29
+ if (!Array.isArray(intersection))
30
+ return intersection;
31
+ return intersection.filter((value) => array.includes(value));
32
+ });
33
+ }
@@ -3,4 +3,5 @@ export interface II18nStyleThemesMenu {
3
3
  duplicate: string;
4
4
  edit: string;
5
5
  use_all: string;
6
+ view: string;
6
7
  }
@@ -30,5 +30,6 @@ export interface II18nStyleThemesTheme {
30
30
  untitled_theme: string;
31
31
  use_theme_in_all_apps: string;
32
32
  values: string;
33
+ view_only: string;
33
34
  workspace_settings: string;
34
35
  }
@@ -13,6 +13,7 @@ export const I18N_STYLE_THEMES = {
13
13
  duplicate: "Duplicate",
14
14
  edit: "Edit",
15
15
  use_all: "Use in all applications",
16
+ view: "View",
16
17
  },
17
18
  messages: {
18
19
  theme_could_not_be_created: "Theme could not be created.",
@@ -55,6 +56,7 @@ export const I18N_STYLE_THEMES = {
55
56
  untitled_theme: "Untitled",
56
57
  use_theme_in_all_apps: "Use Theme in All Apps",
57
58
  values: "Values",
59
+ view_only: "View Only",
58
60
  workspace_settings: "Workspace Settings",
59
61
  },
60
62
  title: "Style Themes",
@@ -1,8 +1,8 @@
1
- export interface IGeneralInfo {
2
- abbrLabel: string;
1
+ export interface IGeneralInfo<T = string> {
2
+ abbrLabel?: string;
3
3
  label: string;
4
- value: string;
5
- shortLabel: string;
4
+ value: T;
5
+ shortLabel?: string;
6
6
  displayed: boolean;
7
7
  i18nLabelPath: string;
8
8
  }
@@ -1,4 +1,3 @@
1
- import { IAppType } from "./IAppType";
2
1
  import { IBDataset } from "./IBDataset";
3
2
  import { IColumn } from "../../columns/interfaces/IColumn";
4
3
  import { IDTimezone } from "../../dates/interfaces/IDTimezone";
@@ -9,5 +8,4 @@ export interface IDataset extends Omit<IBDataset, "name" | "options" | "timezone
9
8
  label?: string;
10
9
  options?: IColumn[];
11
10
  timezone?: IDTimezone;
12
- appType?: IAppType;
13
11
  }
@@ -1,7 +1,7 @@
1
- import { getArrayByProperty } from "../../general/array/getArrayByProperty";
2
- import { isEmpty } from "../../general/mix/isEmpty";
3
1
  import { getAllQrveys } from "./getAllQrveys.api";
4
2
  import { getDatasetsByIds } from "./getDatasetsByIds.api";
3
+ import { getArrayByProperty } from "../../general/array/getArrayByProperty";
4
+ import { isEmpty } from "../../general/mix/isEmpty";
5
5
  /**
6
6
  * Get a dataset list from a collection of Qrvey IDs
7
7
  * Considerations for qrveyids second argument:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/utils",
3
- "version": "1.14.0-1",
3
+ "version": "1.14.0-2",
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",