@fibery/views 1.1.8 → 1.1.10

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 +69 -0
  2. package/package.json +4 -4
package/lib/views.js CHANGED
@@ -620,6 +620,66 @@ const collectGarbage$4 = view => {
620
620
  });
621
621
  };
622
622
 
623
+ const replaceNamesWithIdsInFormView = (schema, view) => {
624
+ var _view$fiberyMeta, _view$fiberyMeta2;
625
+
626
+ const typeId = (_view$fiberyMeta = view["fibery/meta"]) == null ? void 0 : _view$fiberyMeta.typeId;
627
+ const typeObject = schema.typeObjectsByName.hasOwnProperty(typeId) ? schema.typeObjectsByName[typeId] : null;
628
+ const fields = (_view$fiberyMeta2 = view["fibery/meta"]) == null ? void 0 : _view$fiberyMeta2.fields;
629
+ const fieldsInIdsTerms = fields && fields.map(field => {
630
+ if (!(typeObject != null && typeObject.fieldObjectsByName.hasOwnProperty(field.id))) {
631
+ return field;
632
+ }
633
+
634
+ return _extends({}, field, {
635
+ id: typeObject.fieldObjectsByName[field.id].id
636
+ });
637
+ });
638
+ return _extends({}, view, {
639
+ "fibery/meta": _extends({}, view["fibery/meta"], {
640
+ typeId: typeObject ? typeObject.id : typeId,
641
+ fields: fieldsInIdsTerms || fields
642
+ })
643
+ });
644
+ };
645
+ const replaceIdsWithNamesInFormView = (schema, view) => {
646
+ var _view$fiberyMeta3, _view$fiberyMeta4;
647
+
648
+ const typeId = (_view$fiberyMeta3 = view["fibery/meta"]) == null ? void 0 : _view$fiberyMeta3.typeId;
649
+ const typeObject = schema.typeObjectsById.hasOwnProperty(typeId) ? schema.typeObjectsById[typeId] : null;
650
+ const fields = (_view$fiberyMeta4 = view["fibery/meta"]) == null ? void 0 : _view$fiberyMeta4.fields;
651
+ const fieldsInNameTerms = fields && fields.map(field => {
652
+ if (!(typeObject != null && typeObject.fieldObjectsById.hasOwnProperty(field.id))) {
653
+ return field;
654
+ }
655
+
656
+ return _extends({}, field, {
657
+ id: typeObject.fieldObjectsById[field.id].name
658
+ });
659
+ });
660
+ return _extends({}, view, {
661
+ "fibery/meta": _extends({}, view["fibery/meta"], {
662
+ typeId: typeObject ? typeObject.name : typeId,
663
+ fields: fieldsInNameTerms || fields
664
+ })
665
+ });
666
+ };
667
+ const deleteExpressionWithNotFoundFieldsOrTypesInFormView = (schema, view) => {
668
+ var _view$fiberyMeta5, _view$fiberyMeta6;
669
+
670
+ // we expect view in names terms here.
671
+ const typeName = (_view$fiberyMeta5 = view["fibery/meta"]) == null ? void 0 : _view$fiberyMeta5.typeId;
672
+ const typeObject = schema.typeObjectsByName.hasOwnProperty(typeName) ? schema.typeObjectsByName[typeName] : null;
673
+ const fields = (_view$fiberyMeta6 = view["fibery/meta"]) == null ? void 0 : _view$fiberyMeta6.fields;
674
+ const existingFields = fields && fields.filter(field => typeObject == null ? void 0 : typeObject.fieldObjectsByName.hasOwnProperty(field.id));
675
+ return _extends({}, view, {
676
+ "fibery/meta": _extends({}, view["fibery/meta"], {
677
+ typeId: typeObject ? typeObject.name : typeName,
678
+ fields: existingFields || fields
679
+ })
680
+ });
681
+ };
682
+
623
683
  const visitSmartFolder = (smartFolder, visitor) => immutableUpdate__default["default"](smartFolder, {
624
684
  "fibery/meta": {
625
685
  items: {
@@ -1017,6 +1077,9 @@ const deleteExpressionWithNotFoundFieldsOrTypesInView = (schema, view, ensureAxi
1017
1077
  case "feed":
1018
1078
  return deleteExpressionWithNotFoundFieldsOrTypesInFeedView(schema, view);
1019
1079
 
1080
+ case "form":
1081
+ return deleteExpressionWithNotFoundFieldsOrTypesInFormView(schema, view);
1082
+
1020
1083
  default:
1021
1084
  return view;
1022
1085
  }
@@ -1108,6 +1171,9 @@ const replaceNamesWithIdsInView = (schema, view) => {
1108
1171
  case "feed":
1109
1172
  return replaceNamesWithIdsInFeedView(schema, view);
1110
1173
 
1174
+ case "form":
1175
+ return replaceNamesWithIdsInFormView(schema, view);
1176
+
1111
1177
  default:
1112
1178
  return view;
1113
1179
  }
@@ -1132,6 +1198,9 @@ const replaceIdsWithNamesInView = (schema, view) => {
1132
1198
  case "feed":
1133
1199
  return replaceIdsWithNamesInFeedView(schema, view);
1134
1200
 
1201
+ case "form":
1202
+ return replaceIdsWithNamesInFormView(schema, view);
1203
+
1135
1204
  default:
1136
1205
  return view;
1137
1206
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fibery/views",
3
- "version": "1.1.8",
3
+ "version": "1.1.10",
4
4
  "description": "Operations on view objects",
5
5
  "license": "UNLICENSED",
6
6
  "author": "Fibery",
@@ -16,14 +16,14 @@
16
16
  "babel-jest": "27.5.1",
17
17
  "babel-loader": "8.2.5",
18
18
  "@fibery/babel-preset": "7.2.0",
19
- "@fibery/eslint-config": "7.1.0",
19
+ "@fibery/eslint-config": "8.1.0",
20
20
  "jest": "27.5.1",
21
21
  "jest-junit": "13.0.0",
22
22
  "microbundle": "0.15.0"
23
23
  },
24
24
  "peerDependencies": {
25
- "@fibery/expression-utils": "^1.1.4",
26
- "@fibery/schema": "^8.0.6",
25
+ "@fibery/expression-utils": "^1.1.7",
26
+ "@fibery/schema": "^8.1.0",
27
27
  "immutability-helper": "^2.4.0",
28
28
  "lodash": "^4.17.21"
29
29
  },