@fibery/views 13.0.2 → 13.0.3

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 (2) hide show
  1. package/lib/views.js +18 -7
  2. package/package.json +6 -6
package/lib/views.js CHANGED
@@ -1416,7 +1416,7 @@ const replaceIdsWithNamesInTimelineView = (schema, view) => {
1416
1416
  visitExpression: (fromType, expression) => replaceIdsWithNamesInExpression(schema, fromType, expression)
1417
1417
  });
1418
1418
  };
1419
- const ensureAxisAndItemExpressionInvariant = view => {
1419
+ const ensureAxisAndItemExpressionInvariant = (view, canGroupMetaItem) => {
1420
1420
  const actions = [];
1421
1421
  const y = ___default["default"].get(view, ["fibery/meta", "y"]);
1422
1422
  const yQuery = ___default["default"].get(view, ["fibery/meta", "y", "query"]);
@@ -1429,10 +1429,11 @@ const ensureAxisAndItemExpressionInvariant = view => {
1429
1429
  const resetActions = items.map(item => () => item.yExpression = null);
1430
1430
  actions.push(...resetActions);
1431
1431
  }
1432
- if (y !== null && ___default["default"].some(items, ({
1432
+ const filteredMetaItems = items.filter(canGroupMetaItem);
1433
+ if (y !== null && ___default["default"].some(filteredMetaItems, ({
1433
1434
  yExpression
1434
1435
  }) => yExpression === null)) {
1435
- const resetActions = items.map(item => () => item.yExpression = null);
1436
+ const resetActions = filteredMetaItems.map(item => () => item.yExpression = null);
1436
1437
  actions.push(...resetActions);
1437
1438
  actions.push(() => ___default["default"].set(view, ["fibery/meta", "y"], null));
1438
1439
  }
@@ -1442,13 +1443,13 @@ const ensureAxisAndItemExpressionInvariant = view => {
1442
1443
  actions.forEach(action => action());
1443
1444
  return view;
1444
1445
  };
1445
- const deleteExpressionWithNotFoundFieldsOrTypesInTimelineView = (schema, view, ensureAxisInvariant = true) => {
1446
+ const deleteExpressionWithNotFoundFieldsOrTypesInTimelineView = (schema, view, ensureAxisInvariant, canGroupMetaItem = () => true) => {
1446
1447
  const viewNew = visitView(view, {
1447
1448
  visitQueryExpression: queryExpression => deleteExpressionWithNotFoundFieldsOrTypesInQueryExpression(schema, queryExpression),
1448
1449
  visitFilter: (fromType, expression) => deleteExpressionWithNotFoundFieldsOrTypesInFilter(schema, fromType, expression),
1449
1450
  visitExpression: (fromType, expression) => deleteExpressionWithNotFoundFieldsOrTypesInExpression(schema, fromType, expression)
1450
1451
  });
1451
- return ensureAxisInvariant ? ensureAxisAndItemExpressionInvariant(viewNew) : viewNew;
1452
+ return ensureAxisInvariant ? ensureAxisAndItemExpressionInvariant(viewNew, canGroupMetaItem) : viewNew;
1452
1453
  };
1453
1454
  const fixUserSelectedUnitsInTimelineView = (schema, view, {
1454
1455
  unitDefinitions,
@@ -1498,7 +1499,11 @@ const deleteExpressionWithNotFoundFieldsOrTypesInView = (schema, view, ensureAxi
1498
1499
  case "table":
1499
1500
  return deleteExpressionWithNotFoundFieldsOrTypesInSmartFolder(schema, view);
1500
1501
  case "timeline":
1501
- return deleteExpressionWithNotFoundFieldsOrTypesInTimelineView(schema, view, ensureAxisInvariant);
1502
+ return deleteExpressionWithNotFoundFieldsOrTypesInTimelineView(schema, view, ensureAxisInvariant, () => true);
1503
+ case "gantt":
1504
+ return deleteExpressionWithNotFoundFieldsOrTypesInTimelineView(schema, view, ensureAxisInvariant,
1505
+ // Only hierarchy top level meta items can be grouped
1506
+ metaItem => !metaItem.groupBy);
1502
1507
  case "calendar":
1503
1508
  return deleteExpressionWithNotFoundFieldsOrTypesInCalendarView(schema, view);
1504
1509
  case "feed":
@@ -1529,6 +1534,7 @@ const fixUserSelectedUnits = (schema, view, {
1529
1534
  getDefaultUnitTypeForField
1530
1535
  });
1531
1536
  case "timeline":
1537
+ case "gantt":
1532
1538
  return fixUserSelectedUnitsInTimelineView(schema, view, {
1533
1539
  unitDefinitions,
1534
1540
  getDefaultUnitTypeForField
@@ -1561,6 +1567,7 @@ const fixContextExpressionWithBrokenPath = (schema, view, defaultContextExpressi
1561
1567
  case "table":
1562
1568
  return fixContextExpressionWithBrokenPath$2(schema, view, defaultContextExpression);
1563
1569
  case "timeline":
1570
+ case "gantt":
1564
1571
  return fixContextExpressionWithBrokenPath$1(schema, view, defaultContextExpression);
1565
1572
  case "calendar":
1566
1573
  return fixContextExpressionWithBrokenPath$5(schema, view, defaultContextExpression);
@@ -1597,6 +1604,7 @@ const collectGarbage = (schema, view) => {
1597
1604
  case "table":
1598
1605
  return deleteRemoved(collectGarbage$2(view));
1599
1606
  case "timeline":
1607
+ case "gantt":
1600
1608
  return deleteRemoved(collectGarbage$1(view));
1601
1609
  case "calendar":
1602
1610
  return deleteRemoved(collectGarbage$5(view));
@@ -1617,6 +1625,7 @@ const replaceNamesWithIdsInView = (schema, view) => {
1617
1625
  case "table":
1618
1626
  return replaceNamesWithIdsInSmartFolder(schema, view);
1619
1627
  case "timeline":
1628
+ case "gantt":
1620
1629
  return replaceNamesWithIdsInTimelineView(schema, view);
1621
1630
  case "calendar":
1622
1631
  return replaceNamesWithIdsInCalendarView(schema, view);
@@ -1639,6 +1648,7 @@ const replaceIdsWithNamesInView = (schema, view) => {
1639
1648
  case "table":
1640
1649
  return replaceIdsWithNamesInSmartFolder(schema, view);
1641
1650
  case "timeline":
1651
+ case "gantt":
1642
1652
  return replaceIdsWithNamesInTimelineView(schema, view);
1643
1653
  case "calendar":
1644
1654
  return replaceIdsWithNamesInCalendarView(schema, view);
@@ -1662,7 +1672,7 @@ const getViewCardTypes = ({
1662
1672
  }
1663
1673
  }) => type);
1664
1674
  const migrateHideWhenEmptyToUnitsLevel = view => {
1665
- const viewTypesToTransform = ["board", "list", "timeline", "calendar", "feed", "map"];
1675
+ const viewTypesToTransform = ["board", "list", "timeline", "gantt", "calendar", "feed", "map"];
1666
1676
  const viewType = view["fibery/type"];
1667
1677
  if (!viewTypesToTransform.includes(viewType)) {
1668
1678
  return view;
@@ -1687,6 +1697,7 @@ const migrateHideWhenEmptyToUnitsLevel = view => {
1687
1697
  case "list":
1688
1698
  return enableHideWhenEmptyForCheckedUnits(result);
1689
1699
  case "timeline":
1700
+ case "gantt":
1690
1701
  return enableHideWhenEmptyForCheckedEditableUnits(result);
1691
1702
  case "calendar":
1692
1703
  return enableHideWhenEmptyForCheckedUnits$3(result);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fibery/views",
3
- "version": "13.0.2",
3
+ "version": "13.0.3",
4
4
  "description": "Operations on view objects",
5
5
  "license": "UNLICENSED",
6
6
  "author": "Fibery",
@@ -19,13 +19,13 @@
19
19
  "lodash": "4.17.21",
20
20
  "microbundle": "0.15.1",
21
21
  "@fibery/babel-preset": "7.4.0",
22
- "@fibery/eslint-config": "8.6.0",
23
- "@fibery/schema": "10.2.3",
24
- "@fibery/expression-utils": "9.1.2"
22
+ "@fibery/expression-utils": "9.1.5",
23
+ "@fibery/eslint-config": "8.6.1",
24
+ "@fibery/schema": "10.2.6"
25
25
  },
26
26
  "peerDependencies": {
27
- "@fibery/expression-utils": "^9.1.2",
28
- "@fibery/schema": "^10.2.3",
27
+ "@fibery/expression-utils": "^9.1.5",
28
+ "@fibery/schema": "^10.2.6",
29
29
  "immutability-helper": "^2.4.0",
30
30
  "lodash": "^4.17.21"
31
31
  },