@plasmicpkgs/plasmic-cms 0.0.214 → 0.0.215
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/dist/api.d.ts +4 -2
- package/dist/components.d.ts +8 -1
- package/dist/context.d.ts +10 -1
- package/dist/plasmic-cms.cjs.development.js +306 -116
- package/dist/plasmic-cms.cjs.development.js.map +1 -1
- package/dist/plasmic-cms.cjs.production.min.js +1 -1
- package/dist/plasmic-cms.cjs.production.min.js.map +1 -1
- package/dist/plasmic-cms.esm.js +269 -80
- package/dist/plasmic-cms.esm.js.map +1 -1
- package/dist/schema.d.ts +1 -0
- package/package.json +2 -2
|
@@ -9,8 +9,7 @@ var registerGlobalContext = _interopDefault(require('@plasmicapp/host/registerGl
|
|
|
9
9
|
var host = require('@plasmicapp/host');
|
|
10
10
|
var query = require('@plasmicapp/query');
|
|
11
11
|
var dayjs = _interopDefault(require('dayjs'));
|
|
12
|
-
var React = require('react');
|
|
13
|
-
var React__default = _interopDefault(React);
|
|
12
|
+
var React = _interopDefault(require('react'));
|
|
14
13
|
|
|
15
14
|
function _regeneratorRuntime() {
|
|
16
15
|
_regeneratorRuntime = function () {
|
|
@@ -447,6 +446,7 @@ function queryParamsToApi(params) {
|
|
|
447
446
|
return {
|
|
448
447
|
where: params.where,
|
|
449
448
|
limit: params.limit,
|
|
449
|
+
offset: params.offset,
|
|
450
450
|
order: params.orderBy ? [{
|
|
451
451
|
field: params.orderBy,
|
|
452
452
|
dir: params.desc ? "desc" : "asc"
|
|
@@ -463,7 +463,7 @@ var HttpError = /*#__PURE__*/function (_Error) {
|
|
|
463
463
|
}
|
|
464
464
|
return HttpError;
|
|
465
465
|
}( /*#__PURE__*/_wrapNativeSuper(Error));
|
|
466
|
-
var API = /*#__PURE__*/function (_get, _fetchTables, _query) {
|
|
466
|
+
var API = /*#__PURE__*/function (_get, _fetchTables, _query, _count) {
|
|
467
467
|
function API(config) {
|
|
468
468
|
this.config = config;
|
|
469
469
|
}
|
|
@@ -503,7 +503,9 @@ var API = /*#__PURE__*/function (_get, _fetchTables, _query) {
|
|
|
503
503
|
if ((_json$error = json.error) != null && _json$error.message) {
|
|
504
504
|
message = json.error.message;
|
|
505
505
|
}
|
|
506
|
-
} catch (_unused) {
|
|
506
|
+
} catch (_unused) {
|
|
507
|
+
// ignored
|
|
508
|
+
}
|
|
507
509
|
throw new HttpError(response.status, message);
|
|
508
510
|
case 12:
|
|
509
511
|
_context.next = 14;
|
|
@@ -572,6 +574,36 @@ var API = /*#__PURE__*/function (_get, _fetchTables, _query) {
|
|
|
572
574
|
}, _callee3, this, [[1, 8]]);
|
|
573
575
|
}))).apply(this, arguments);
|
|
574
576
|
};
|
|
577
|
+
_proto.count = function count(_x5, _x6) {
|
|
578
|
+
return (_count = _count || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(table, params) {
|
|
579
|
+
var response;
|
|
580
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
581
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
582
|
+
case 0:
|
|
583
|
+
if (params === void 0) {
|
|
584
|
+
params = {};
|
|
585
|
+
}
|
|
586
|
+
_context4.prev = 1;
|
|
587
|
+
_context4.next = 4;
|
|
588
|
+
return this.get("/tables/" + table + "/count", {
|
|
589
|
+
q: JSON.stringify(queryParamsToApi(params)),
|
|
590
|
+
draft: Number(params.useDraft)
|
|
591
|
+
});
|
|
592
|
+
case 4:
|
|
593
|
+
response = _context4.sent;
|
|
594
|
+
return _context4.abrupt("return", response.count);
|
|
595
|
+
case 8:
|
|
596
|
+
_context4.prev = 8;
|
|
597
|
+
_context4.t0 = _context4["catch"](1);
|
|
598
|
+
console.error(_context4.t0);
|
|
599
|
+
throw _context4.t0;
|
|
600
|
+
case 12:
|
|
601
|
+
case "end":
|
|
602
|
+
return _context4.stop();
|
|
603
|
+
}
|
|
604
|
+
}, _callee4, this, [[1, 8]]);
|
|
605
|
+
}))).apply(this, arguments);
|
|
606
|
+
};
|
|
575
607
|
return API;
|
|
576
608
|
}();
|
|
577
609
|
function mkApi(config) {
|
|
@@ -589,9 +621,17 @@ var mkQueryContextKey = function mkQueryContextKey(table) {
|
|
|
589
621
|
return "" + contextPrefix + capitalizeFirst(table) + collectionResultSuffix;
|
|
590
622
|
};
|
|
591
623
|
var itemContextSuffix = "Item";
|
|
624
|
+
var countContextSuffix = "Count";
|
|
625
|
+
var modeContextSuffix = "Mode";
|
|
592
626
|
var mkRowContextKey = function mkRowContextKey(table) {
|
|
593
627
|
return "" + contextPrefix + capitalizeFirst(table) + itemContextSuffix;
|
|
594
628
|
};
|
|
629
|
+
var mkCountContextKey = function mkCountContextKey(table) {
|
|
630
|
+
return "" + contextPrefix + capitalizeFirst(table) + countContextSuffix;
|
|
631
|
+
};
|
|
632
|
+
var mkModeContextKey = function mkModeContextKey(table) {
|
|
633
|
+
return "" + contextPrefix + capitalizeFirst(table) + modeContextSuffix;
|
|
634
|
+
};
|
|
595
635
|
function capitalizeFirst(str) {
|
|
596
636
|
var _str$;
|
|
597
637
|
return ((_str$ = str[0]) == null ? void 0 : _str$.toUpperCase()) + str.slice(1);
|
|
@@ -602,7 +642,7 @@ function useDatabase() {
|
|
|
602
642
|
function DatabaseProvider(_ref) {
|
|
603
643
|
var config = _ref.config,
|
|
604
644
|
children = _ref.children;
|
|
605
|
-
return
|
|
645
|
+
return React.createElement(host.DataProvider, {
|
|
606
646
|
name: databaseContextKey,
|
|
607
647
|
data: config,
|
|
608
648
|
hidden: true
|
|
@@ -614,15 +654,15 @@ function useTables() {
|
|
|
614
654
|
function TablesProvider(_ref2) {
|
|
615
655
|
var children = _ref2.children,
|
|
616
656
|
tables = _ref2.tables;
|
|
617
|
-
return
|
|
657
|
+
return React.createElement(host.DataProvider, {
|
|
618
658
|
name: tablesContextKey,
|
|
619
659
|
data: tables,
|
|
620
660
|
hidden: true
|
|
621
661
|
}, children);
|
|
622
662
|
}
|
|
623
|
-
function
|
|
624
|
-
return [].concat(Object.keys(env).reverse()).filter(function (
|
|
625
|
-
return
|
|
663
|
+
function getClosestMatchingKeysBy(env, pred) {
|
|
664
|
+
return [].concat(Object.keys(env).reverse()).filter(function (key) {
|
|
665
|
+
return pred(key);
|
|
626
666
|
});
|
|
627
667
|
}
|
|
628
668
|
function QueryResultProvider(_ref3) {
|
|
@@ -630,13 +670,17 @@ function QueryResultProvider(_ref3) {
|
|
|
630
670
|
table = _ref3.table,
|
|
631
671
|
rows = _ref3.rows,
|
|
632
672
|
hidden = _ref3.hidden;
|
|
633
|
-
return
|
|
673
|
+
return React.createElement(host.DataProvider, {
|
|
674
|
+
name: table ? mkModeContextKey(table) : undefined,
|
|
675
|
+
data: "rows",
|
|
676
|
+
hidden: true
|
|
677
|
+
}, React.createElement(host.DataProvider, {
|
|
634
678
|
name: table ? mkQueryContextKey(table) : undefined,
|
|
635
679
|
data: rows,
|
|
636
680
|
hidden: hidden
|
|
637
|
-
}, children);
|
|
681
|
+
}, children));
|
|
638
682
|
}
|
|
639
|
-
function useTablesWithDataLoaded() {
|
|
683
|
+
function useTablesWithDataLoaded(mode) {
|
|
640
684
|
var env = host.useDataEnv();
|
|
641
685
|
var tables = useTables();
|
|
642
686
|
if (!env) {
|
|
@@ -645,21 +689,39 @@ function useTablesWithDataLoaded() {
|
|
|
645
689
|
if (!tables) {
|
|
646
690
|
return undefined;
|
|
647
691
|
}
|
|
648
|
-
var matchingKeys =
|
|
692
|
+
var matchingKeys = getClosestMatchingKeysBy(env, function (key) {
|
|
693
|
+
if (mode === "rows") {
|
|
694
|
+
return key.endsWith(itemContextSuffix);
|
|
695
|
+
} else if (mode === "count") {
|
|
696
|
+
return key.endsWith(countContextSuffix);
|
|
697
|
+
} else {
|
|
698
|
+
return key.endsWith(itemContextSuffix) || key.endsWith(countContextSuffix);
|
|
699
|
+
}
|
|
700
|
+
});
|
|
649
701
|
return tables.filter(function (table) {
|
|
650
702
|
return matchingKeys.some(function (key) {
|
|
651
|
-
|
|
703
|
+
if (mode === "rows") {
|
|
704
|
+
return mkRowContextKey(table.identifier) === key;
|
|
705
|
+
} else if (mode === "count") {
|
|
706
|
+
return mkCountContextKey(table.identifier) === key;
|
|
707
|
+
} else {
|
|
708
|
+
return mkRowContextKey(table.identifier) === key || mkCountContextKey(table.identifier) === key;
|
|
709
|
+
}
|
|
652
710
|
});
|
|
653
711
|
});
|
|
654
712
|
}
|
|
713
|
+
function deriveTableId(tables, table) {
|
|
714
|
+
if (!table && tables && tables.length > 0) {
|
|
715
|
+
table = tables[0].identifier;
|
|
716
|
+
}
|
|
717
|
+
return table;
|
|
718
|
+
}
|
|
655
719
|
function useRow(tables, table) {
|
|
656
720
|
var env = host.useDataEnv();
|
|
657
721
|
if (!env) {
|
|
658
722
|
return undefined;
|
|
659
723
|
}
|
|
660
|
-
|
|
661
|
-
table = tables[0].identifier;
|
|
662
|
-
}
|
|
724
|
+
table = deriveTableId(tables, table);
|
|
663
725
|
if (table) {
|
|
664
726
|
return {
|
|
665
727
|
table: table,
|
|
@@ -668,15 +730,42 @@ function useRow(tables, table) {
|
|
|
668
730
|
}
|
|
669
731
|
return undefined;
|
|
670
732
|
}
|
|
733
|
+
function useCount(tables, table) {
|
|
734
|
+
var env = host.useDataEnv();
|
|
735
|
+
if (!env) {
|
|
736
|
+
return undefined;
|
|
737
|
+
}
|
|
738
|
+
table = deriveTableId(tables, table);
|
|
739
|
+
if (table) {
|
|
740
|
+
return {
|
|
741
|
+
table: table,
|
|
742
|
+
count: env[mkCountContextKey(table)]
|
|
743
|
+
};
|
|
744
|
+
}
|
|
745
|
+
return undefined;
|
|
746
|
+
}
|
|
671
747
|
function RowProvider(_ref4) {
|
|
672
748
|
var children = _ref4.children,
|
|
673
749
|
table = _ref4.table,
|
|
674
750
|
row = _ref4.row;
|
|
675
|
-
return
|
|
751
|
+
return React.createElement(host.DataProvider, {
|
|
676
752
|
name: mkRowContextKey(table),
|
|
677
753
|
data: row
|
|
678
754
|
}, children);
|
|
679
755
|
}
|
|
756
|
+
function CountProvider(_ref5) {
|
|
757
|
+
var children = _ref5.children,
|
|
758
|
+
table = _ref5.table,
|
|
759
|
+
count = _ref5.count;
|
|
760
|
+
return React.createElement(host.DataProvider, {
|
|
761
|
+
name: table ? mkModeContextKey(table) : undefined,
|
|
762
|
+
data: "count",
|
|
763
|
+
hidden: true
|
|
764
|
+
}, React.createElement(host.DataProvider, {
|
|
765
|
+
name: table ? mkCountContextKey(table) : undefined,
|
|
766
|
+
data: count
|
|
767
|
+
}, children));
|
|
768
|
+
}
|
|
680
769
|
|
|
681
770
|
function mkTableOptions(tables) {
|
|
682
771
|
if (!tables) {
|
|
@@ -723,27 +812,28 @@ function mkFieldOptions(tables, tableIdentifier, types) {
|
|
|
723
812
|
}
|
|
724
813
|
|
|
725
814
|
var _excluded = ["className", "table", "field", "dateFormat", "setControlContextData"],
|
|
726
|
-
_excluded2 = ["
|
|
815
|
+
_excluded2 = ["className", "table", "setControlContextData"],
|
|
816
|
+
_excluded3 = ["table", "field", "valueProp", "children", "setControlContextData"];
|
|
727
817
|
var modulePath = "@plasmicpkgs/plasmic-cms";
|
|
728
818
|
var componentPrefix = "hostless-plasmic-cms";
|
|
729
819
|
function renderMaybeData(maybeData, renderFn, loaderProps, inEditor, loadingMessage, forceLoadingState) {
|
|
730
820
|
if ("error" in maybeData) {
|
|
731
821
|
var error = maybeData.error;
|
|
732
822
|
if (!inEditor) {
|
|
733
|
-
return
|
|
823
|
+
return React.createElement(React.Fragment, null, loadingMessage != null ? loadingMessage : React.createElement("div", null, "Loading..."));
|
|
734
824
|
}
|
|
735
825
|
if (error && error instanceof HttpError && error.status === 404) {
|
|
736
826
|
if (loaderProps.hideIfNotFound) {
|
|
737
827
|
return null;
|
|
738
828
|
} else {
|
|
739
|
-
return
|
|
829
|
+
return React.createElement("div", null, "Error: Data not found");
|
|
740
830
|
}
|
|
741
831
|
} else {
|
|
742
|
-
return
|
|
832
|
+
return React.createElement("div", null, "Error: ", error == null ? void 0 : error.message);
|
|
743
833
|
}
|
|
744
834
|
}
|
|
745
835
|
if (!("data" in maybeData) || forceLoadingState) {
|
|
746
|
-
return
|
|
836
|
+
return React.createElement(React.Fragment, null, loadingMessage != null ? loadingMessage : React.createElement("div", null, "Loading..."));
|
|
747
837
|
}
|
|
748
838
|
return renderFn(maybeData.data);
|
|
749
839
|
}
|
|
@@ -793,9 +883,9 @@ function CmsCredentialsProvider(_ref) {
|
|
|
793
883
|
locale: locale,
|
|
794
884
|
host: host || defaultHost
|
|
795
885
|
};
|
|
796
|
-
return
|
|
886
|
+
return React.createElement(DatabaseProvider, {
|
|
797
887
|
config: config
|
|
798
|
-
},
|
|
888
|
+
}, React.createElement(TablesFetcher, null, children));
|
|
799
889
|
}
|
|
800
890
|
function TablesFetcher(_ref2) {
|
|
801
891
|
var children = _ref2.children;
|
|
@@ -824,10 +914,10 @@ function TablesFetcher(_ref2) {
|
|
|
824
914
|
}
|
|
825
915
|
}, _callee);
|
|
826
916
|
})));
|
|
827
|
-
var inEditor = !!
|
|
828
|
-
return
|
|
917
|
+
var inEditor = !!host.usePlasmicCanvasContext();
|
|
918
|
+
return React.createElement(TablesProvider, {
|
|
829
919
|
tables: maybeData.data
|
|
830
|
-
}, inEditor && maybeData.error ?
|
|
920
|
+
}, inEditor && maybeData.error ? React.createElement("div", null, "CMS Error: ", maybeData.error.message) : children);
|
|
831
921
|
}
|
|
832
922
|
function isDatabaseConfigured(config) {
|
|
833
923
|
return (config == null ? void 0 : config.databaseId) && (config == null ? void 0 : config.databaseToken);
|
|
@@ -877,6 +967,17 @@ var cmsQueryRepeaterMeta = {
|
|
|
877
967
|
return true;
|
|
878
968
|
}
|
|
879
969
|
},
|
|
970
|
+
mode: {
|
|
971
|
+
type: "choice",
|
|
972
|
+
options: [{
|
|
973
|
+
label: "Rows",
|
|
974
|
+
value: "rows"
|
|
975
|
+
}, {
|
|
976
|
+
label: "Count",
|
|
977
|
+
value: "count"
|
|
978
|
+
}],
|
|
979
|
+
defaultValueHint: "rows"
|
|
980
|
+
},
|
|
880
981
|
where: {
|
|
881
982
|
type: "object",
|
|
882
983
|
displayName: "Filter",
|
|
@@ -906,19 +1007,36 @@ var cmsQueryRepeaterMeta = {
|
|
|
906
1007
|
description: "Field to order by.",
|
|
907
1008
|
options: function options(_, ctx) {
|
|
908
1009
|
return mkFieldOptions(ctx == null ? void 0 : ctx.tables, ctx == null ? void 0 : ctx.table, ["number", "boolean", "date-time", "long-text", "text"]);
|
|
1010
|
+
},
|
|
1011
|
+
hidden: function hidden(ps) {
|
|
1012
|
+
return ps.mode === "count";
|
|
909
1013
|
}
|
|
910
1014
|
},
|
|
911
1015
|
desc: {
|
|
912
1016
|
type: "boolean",
|
|
913
1017
|
displayName: "Sort descending?",
|
|
914
1018
|
description: 'Sort descending by "Order by" field.',
|
|
915
|
-
defaultValue: false
|
|
1019
|
+
defaultValue: false,
|
|
1020
|
+
hidden: function hidden(ps) {
|
|
1021
|
+
return ps.mode === "count";
|
|
1022
|
+
}
|
|
916
1023
|
},
|
|
917
1024
|
limit: {
|
|
918
1025
|
type: "number",
|
|
919
1026
|
displayName: "Limit",
|
|
920
1027
|
description: "Maximum number of entries to fetch (0 for unlimited).",
|
|
921
|
-
defaultValue: 0
|
|
1028
|
+
defaultValue: 0,
|
|
1029
|
+
hidden: function hidden(ps) {
|
|
1030
|
+
return ps.mode === "count";
|
|
1031
|
+
}
|
|
1032
|
+
},
|
|
1033
|
+
offset: {
|
|
1034
|
+
type: "number",
|
|
1035
|
+
displayName: "Offset",
|
|
1036
|
+
description: "Skips this number of rows in the result set; used in combination with limit to build pagination",
|
|
1037
|
+
hidden: function hidden(ps) {
|
|
1038
|
+
return ps.mode === "count";
|
|
1039
|
+
}
|
|
922
1040
|
},
|
|
923
1041
|
emptyMessage: {
|
|
924
1042
|
type: "slot",
|
|
@@ -956,7 +1074,10 @@ var cmsQueryRepeaterMeta = {
|
|
|
956
1074
|
type: "boolean",
|
|
957
1075
|
displayName: "No auto-repeat",
|
|
958
1076
|
description: "Do not automatically repeat children for every entry.",
|
|
959
|
-
defaultValue: false
|
|
1077
|
+
defaultValue: false,
|
|
1078
|
+
hidden: function hidden(ps) {
|
|
1079
|
+
return ps.mode === "count";
|
|
1080
|
+
}
|
|
960
1081
|
}
|
|
961
1082
|
}
|
|
962
1083
|
};
|
|
@@ -964,11 +1085,13 @@ function CmsQueryRepeater(_ref5) {
|
|
|
964
1085
|
var table = _ref5.table,
|
|
965
1086
|
children = _ref5.children,
|
|
966
1087
|
setControlContextData = _ref5.setControlContextData,
|
|
1088
|
+
mode = _ref5.mode,
|
|
967
1089
|
where = _ref5.where,
|
|
968
1090
|
useDraft = _ref5.useDraft,
|
|
969
1091
|
orderBy = _ref5.orderBy,
|
|
970
1092
|
desc = _ref5.desc,
|
|
971
1093
|
limit = _ref5.limit,
|
|
1094
|
+
offset = _ref5.offset,
|
|
972
1095
|
emptyMessage = _ref5.emptyMessage,
|
|
973
1096
|
forceEmptyState = _ref5.forceEmptyState,
|
|
974
1097
|
loadingMessage = _ref5.loadingMessage,
|
|
@@ -989,13 +1112,15 @@ function CmsQueryRepeater(_ref5) {
|
|
|
989
1112
|
useDraft: useDraft,
|
|
990
1113
|
orderBy: orderBy,
|
|
991
1114
|
desc: desc,
|
|
992
|
-
limit: limit
|
|
1115
|
+
limit: limit,
|
|
1116
|
+
offset: offset
|
|
993
1117
|
};
|
|
994
1118
|
if (!table && tables && tables.length > 0) {
|
|
995
1119
|
table = tables[0].identifier;
|
|
996
1120
|
}
|
|
997
1121
|
var cacheKey = JSON.stringify({
|
|
998
1122
|
component: "CmsQueryLoader",
|
|
1123
|
+
mode: mode,
|
|
999
1124
|
table: table,
|
|
1000
1125
|
databaseConfig: databaseConfig,
|
|
1001
1126
|
params: params
|
|
@@ -1031,34 +1156,52 @@ function CmsQueryRepeater(_ref5) {
|
|
|
1031
1156
|
}
|
|
1032
1157
|
throw new Error("There is no model called \"" + table + "\"");
|
|
1033
1158
|
case 10:
|
|
1159
|
+
if (!(mode === "count")) {
|
|
1160
|
+
_context2.next = 14;
|
|
1161
|
+
break;
|
|
1162
|
+
}
|
|
1163
|
+
return _context2.abrupt("return", mkApi(databaseConfig).count(table, params));
|
|
1164
|
+
case 14:
|
|
1034
1165
|
return _context2.abrupt("return", mkApi(databaseConfig).query(table, params));
|
|
1035
|
-
case
|
|
1166
|
+
case 15:
|
|
1036
1167
|
case "end":
|
|
1037
1168
|
return _context2.stop();
|
|
1038
1169
|
}
|
|
1039
1170
|
}, _callee2);
|
|
1040
1171
|
})));
|
|
1041
|
-
var inEditor = !!
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
return
|
|
1045
|
-
}
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1172
|
+
var inEditor = !!host.usePlasmicCanvasContext();
|
|
1173
|
+
if (mode === "count") {
|
|
1174
|
+
var node = renderMaybeData(maybeData, function () {
|
|
1175
|
+
return children;
|
|
1176
|
+
}, {
|
|
1177
|
+
hideIfNotFound: false
|
|
1178
|
+
}, inEditor, loadingMessage, forceLoadingState);
|
|
1179
|
+
return React.createElement(CountProvider, {
|
|
1180
|
+
table: table,
|
|
1181
|
+
count: typeof (maybeData == null ? void 0 : maybeData.data) === "number" ? maybeData.data : undefined
|
|
1182
|
+
}, node);
|
|
1183
|
+
} else {
|
|
1184
|
+
var _node = renderMaybeData(maybeData, function (rows) {
|
|
1185
|
+
if (rows.length === 0 || forceEmptyState) {
|
|
1186
|
+
return emptyMessage;
|
|
1187
|
+
}
|
|
1188
|
+
return noAutoRepeat ? children : rows.map(function (row, index) {
|
|
1189
|
+
return React.createElement(RowProvider, {
|
|
1190
|
+
key: index,
|
|
1191
|
+
table: table,
|
|
1192
|
+
row: row
|
|
1193
|
+
}, host.repeatedElement(index, children));
|
|
1194
|
+
});
|
|
1195
|
+
}, {
|
|
1196
|
+
hideIfNotFound: false
|
|
1197
|
+
}, inEditor, loadingMessage, forceLoadingState);
|
|
1198
|
+
return React.createElement(QueryResultProvider, {
|
|
1199
|
+
rows: Array.isArray(maybeData == null ? void 0 : maybeData.data) ? maybeData.data : undefined,
|
|
1200
|
+
table: table
|
|
1201
|
+
}, noLayout ? React.createElement(React.Fragment, null, " ", _node, " ") : React.createElement("div", {
|
|
1202
|
+
className: className
|
|
1203
|
+
}, " ", _node, " "));
|
|
1204
|
+
}
|
|
1062
1205
|
}
|
|
1063
1206
|
var cmsRowFieldMeta = {
|
|
1064
1207
|
name: componentPrefix + "-row-field",
|
|
@@ -1174,9 +1317,9 @@ function CmsRowField(_ref9) {
|
|
|
1174
1317
|
dateFormat = _ref9.dateFormat,
|
|
1175
1318
|
setControlContextData = _ref9.setControlContextData,
|
|
1176
1319
|
rest = _objectWithoutPropertiesLoose(_ref9, _excluded);
|
|
1177
|
-
var tables = useTablesWithDataLoaded();
|
|
1320
|
+
var tables = useTablesWithDataLoaded("rows");
|
|
1178
1321
|
var res = useRow(tables, table);
|
|
1179
|
-
var unknown =
|
|
1322
|
+
var unknown = React.createElement("div", Object.assign({
|
|
1180
1323
|
className: className
|
|
1181
1324
|
}, rest), "Field ", table != null ? table : "Unknown Model", ".", field != null ? field : "Unknown Field");
|
|
1182
1325
|
var fieldMeta = res ? deriveInferredTableField({
|
|
@@ -1199,7 +1342,7 @@ function CmsRowField(_ref9) {
|
|
|
1199
1342
|
return unknown;
|
|
1200
1343
|
}
|
|
1201
1344
|
if (!res.row) {
|
|
1202
|
-
return
|
|
1345
|
+
return React.createElement("div", {
|
|
1203
1346
|
className: className
|
|
1204
1347
|
}, "Error: No CMS Entry found");
|
|
1205
1348
|
}
|
|
@@ -1217,6 +1360,50 @@ function CmsRowField(_ref9) {
|
|
|
1217
1360
|
className: className
|
|
1218
1361
|
}, rest)) : null;
|
|
1219
1362
|
}
|
|
1363
|
+
var cmsCountFieldMeta = {
|
|
1364
|
+
name: componentPrefix + "-count",
|
|
1365
|
+
displayName: "CMS Entries Count",
|
|
1366
|
+
importName: "CmsCount",
|
|
1367
|
+
importPath: modulePath,
|
|
1368
|
+
props: {
|
|
1369
|
+
table: {
|
|
1370
|
+
type: "choice",
|
|
1371
|
+
displayName: "Model",
|
|
1372
|
+
hidden: function hidden(props, ctx) {
|
|
1373
|
+
var _ctx$tables$length2, _ctx$tables2;
|
|
1374
|
+
return ((_ctx$tables$length2 = ctx == null || (_ctx$tables2 = ctx.tables) == null ? void 0 : _ctx$tables2.length) != null ? _ctx$tables$length2 : 0) <= 1 && !props.table;
|
|
1375
|
+
},
|
|
1376
|
+
helpText: "Pick model from a CMS Data Fetcher",
|
|
1377
|
+
description: "Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.",
|
|
1378
|
+
options: function options(_, ctx) {
|
|
1379
|
+
return mkTableOptions(ctx == null ? void 0 : ctx.tables);
|
|
1380
|
+
},
|
|
1381
|
+
defaultValueHint: function defaultValueHint(_, ctx) {
|
|
1382
|
+
return ctx == null ? void 0 : ctx.table;
|
|
1383
|
+
}
|
|
1384
|
+
}
|
|
1385
|
+
}
|
|
1386
|
+
};
|
|
1387
|
+
function CmsCount(_ref10) {
|
|
1388
|
+
var className = _ref10.className,
|
|
1389
|
+
table = _ref10.table,
|
|
1390
|
+
rest = _objectWithoutPropertiesLoose(_ref10, _excluded2);
|
|
1391
|
+
var tables = useTablesWithDataLoaded("count");
|
|
1392
|
+
var res = useCount(tables, table);
|
|
1393
|
+
var unknown = React.createElement("div", Object.assign({
|
|
1394
|
+
className: className
|
|
1395
|
+
}, rest), "Count: ", table != null ? table : "Unknown Model");
|
|
1396
|
+
if (!res) {
|
|
1397
|
+
return unknown;
|
|
1398
|
+
}
|
|
1399
|
+
if (res.count == null) {
|
|
1400
|
+
return null;
|
|
1401
|
+
} else {
|
|
1402
|
+
return React.createElement("div", Object.assign({
|
|
1403
|
+
className: className
|
|
1404
|
+
}, rest), new Intl.NumberFormat().format(res.count));
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1220
1407
|
var DEFAULT_TYPE_FILTERS = ["text"];
|
|
1221
1408
|
function deriveInferredTableField(opts) {
|
|
1222
1409
|
var _tables$find;
|
|
@@ -1246,9 +1433,9 @@ function renderValue(value, type, props) {
|
|
|
1246
1433
|
case "long-text":
|
|
1247
1434
|
case "date-time":
|
|
1248
1435
|
case "ref":
|
|
1249
|
-
return
|
|
1436
|
+
return React.createElement("div", Object.assign({}, props), value);
|
|
1250
1437
|
case "rich-text":
|
|
1251
|
-
return
|
|
1438
|
+
return React.createElement("div", Object.assign({
|
|
1252
1439
|
dangerouslySetInnerHTML: {
|
|
1253
1440
|
__html: value
|
|
1254
1441
|
},
|
|
@@ -1258,7 +1445,7 @@ function renderValue(value, type, props) {
|
|
|
1258
1445
|
}, props));
|
|
1259
1446
|
case "image":
|
|
1260
1447
|
if (value && typeof value === "object" && value.url && value.imageMeta) {
|
|
1261
|
-
return
|
|
1448
|
+
return React.createElement("img", Object.assign({
|
|
1262
1449
|
src: value.url,
|
|
1263
1450
|
width: value.imageMeta.width,
|
|
1264
1451
|
height: value.imageMeta.height
|
|
@@ -1267,7 +1454,7 @@ function renderValue(value, type, props) {
|
|
|
1267
1454
|
return null;
|
|
1268
1455
|
case "file":
|
|
1269
1456
|
if (value && typeof value === "object" && value.url && value.name) {
|
|
1270
|
-
return
|
|
1457
|
+
return React.createElement("a", Object.assign({
|
|
1271
1458
|
href: value.url,
|
|
1272
1459
|
target: "_blank"
|
|
1273
1460
|
}, props), value.name);
|
|
@@ -1295,8 +1482,8 @@ var cmsRowLinkMeta = {
|
|
|
1295
1482
|
type: "choice",
|
|
1296
1483
|
displayName: "Model",
|
|
1297
1484
|
hidden: function hidden(props, ctx) {
|
|
1298
|
-
var _ctx$tables$
|
|
1299
|
-
return ((_ctx$tables$
|
|
1485
|
+
var _ctx$tables$length3, _ctx$tables3;
|
|
1486
|
+
return ((_ctx$tables$length3 = ctx == null || (_ctx$tables3 = ctx.tables) == null ? void 0 : _ctx$tables3.length) != null ? _ctx$tables$length3 : 0) <= 1 && !props.table;
|
|
1300
1487
|
},
|
|
1301
1488
|
helpText: "Pick model from a CMS Data Fetcher",
|
|
1302
1489
|
description: "Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.",
|
|
@@ -1311,9 +1498,9 @@ var cmsRowLinkMeta = {
|
|
|
1311
1498
|
type: "choice",
|
|
1312
1499
|
displayName: "Field",
|
|
1313
1500
|
description: "Field (from model schema) to use.",
|
|
1314
|
-
options: function options(
|
|
1501
|
+
options: function options(_ref11, ctx) {
|
|
1315
1502
|
var _ctx$table3;
|
|
1316
|
-
var table =
|
|
1503
|
+
var table = _ref11.table;
|
|
1317
1504
|
return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table3 = ctx == null ? void 0 : ctx.table) != null ? _ctx$table3 : table);
|
|
1318
1505
|
},
|
|
1319
1506
|
defaultValueHint: function defaultValueHint(_, ctx) {
|
|
@@ -1347,19 +1534,19 @@ var cmsRowLinkMeta = {
|
|
|
1347
1534
|
}
|
|
1348
1535
|
}
|
|
1349
1536
|
};
|
|
1350
|
-
function CmsRowLink(
|
|
1537
|
+
function CmsRowLink(_ref12) {
|
|
1351
1538
|
var _res$row$data2;
|
|
1352
|
-
var table =
|
|
1353
|
-
field =
|
|
1354
|
-
hrefProp =
|
|
1355
|
-
children =
|
|
1356
|
-
setControlContextData =
|
|
1357
|
-
prefix =
|
|
1358
|
-
suffix =
|
|
1359
|
-
var tables = useTablesWithDataLoaded();
|
|
1539
|
+
var table = _ref12.table,
|
|
1540
|
+
field = _ref12.field,
|
|
1541
|
+
hrefProp = _ref12.hrefProp,
|
|
1542
|
+
children = _ref12.children,
|
|
1543
|
+
setControlContextData = _ref12.setControlContextData,
|
|
1544
|
+
prefix = _ref12.prefix,
|
|
1545
|
+
suffix = _ref12.suffix;
|
|
1546
|
+
var tables = useTablesWithDataLoaded("rows");
|
|
1360
1547
|
var res = useRow(tables, table);
|
|
1361
1548
|
if (!res || !res.row) {
|
|
1362
|
-
return
|
|
1549
|
+
return React.createElement(React.Fragment, null, children);
|
|
1363
1550
|
}
|
|
1364
1551
|
var fieldMeta = deriveInferredTableField({
|
|
1365
1552
|
table: res.table,
|
|
@@ -1377,20 +1564,20 @@ function CmsRowLink(_ref11) {
|
|
|
1377
1564
|
});
|
|
1378
1565
|
}
|
|
1379
1566
|
if (!fieldMeta) {
|
|
1380
|
-
return
|
|
1567
|
+
return React.createElement(React.Fragment, null, children);
|
|
1381
1568
|
}
|
|
1382
1569
|
if (!children) {
|
|
1383
1570
|
return null;
|
|
1384
1571
|
}
|
|
1385
1572
|
var value = ((_res$row$data2 = res.row.data) == null ? void 0 : _res$row$data2[fieldMeta.identifier]) || "";
|
|
1386
|
-
var childrenWithProps =
|
|
1387
|
-
if (
|
|
1573
|
+
var childrenWithProps = React.Children.map(children, function (child) {
|
|
1574
|
+
if (React.isValidElement(child)) {
|
|
1388
1575
|
var _React$cloneElement;
|
|
1389
|
-
return
|
|
1576
|
+
return React.cloneElement(child, (_React$cloneElement = {}, _React$cloneElement[hrefProp] = fieldMeta.type === "file" ? value.url : prefix || suffix ? "" + (prefix || "") + value + (suffix || "") : value, _React$cloneElement));
|
|
1390
1577
|
}
|
|
1391
1578
|
return child;
|
|
1392
1579
|
});
|
|
1393
|
-
return
|
|
1580
|
+
return React.createElement(React.Fragment, null, childrenWithProps != null ? childrenWithProps : null);
|
|
1394
1581
|
}
|
|
1395
1582
|
var cmsRowImageMeta = {
|
|
1396
1583
|
name: componentPrefix + "-row-image",
|
|
@@ -1409,8 +1596,8 @@ var cmsRowImageMeta = {
|
|
|
1409
1596
|
type: "choice",
|
|
1410
1597
|
displayName: "Model",
|
|
1411
1598
|
hidden: function hidden(props, ctx) {
|
|
1412
|
-
var _ctx$tables$
|
|
1413
|
-
return ((_ctx$tables$
|
|
1599
|
+
var _ctx$tables$length4, _ctx$tables4;
|
|
1600
|
+
return ((_ctx$tables$length4 = ctx == null || (_ctx$tables4 = ctx.tables) == null ? void 0 : _ctx$tables4.length) != null ? _ctx$tables$length4 : 0) <= 1 && !props.table;
|
|
1414
1601
|
},
|
|
1415
1602
|
helpText: "Pick model from a CMS Data Fetcher",
|
|
1416
1603
|
description: "Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.",
|
|
@@ -1425,9 +1612,9 @@ var cmsRowImageMeta = {
|
|
|
1425
1612
|
type: "choice",
|
|
1426
1613
|
displayName: "Field",
|
|
1427
1614
|
description: "Field (from model schema) to use.",
|
|
1428
|
-
options: function options(
|
|
1615
|
+
options: function options(_ref13, ctx) {
|
|
1429
1616
|
var _ctx$table4;
|
|
1430
|
-
var table =
|
|
1617
|
+
var table = _ref13.table;
|
|
1431
1618
|
return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table4 = ctx == null ? void 0 : ctx.table) != null ? _ctx$table4 : table, ["image"]);
|
|
1432
1619
|
},
|
|
1433
1620
|
defaultValueHint: function defaultValueHint(_, ctx) {
|
|
@@ -1443,17 +1630,17 @@ var cmsRowImageMeta = {
|
|
|
1443
1630
|
}
|
|
1444
1631
|
}
|
|
1445
1632
|
};
|
|
1446
|
-
function CmsRowImage(
|
|
1633
|
+
function CmsRowImage(_ref14) {
|
|
1447
1634
|
var _res$row$data3;
|
|
1448
|
-
var table =
|
|
1449
|
-
field =
|
|
1450
|
-
srcProp =
|
|
1451
|
-
children =
|
|
1452
|
-
setControlContextData =
|
|
1453
|
-
var tables = useTablesWithDataLoaded();
|
|
1635
|
+
var table = _ref14.table,
|
|
1636
|
+
field = _ref14.field,
|
|
1637
|
+
srcProp = _ref14.srcProp,
|
|
1638
|
+
children = _ref14.children,
|
|
1639
|
+
setControlContextData = _ref14.setControlContextData;
|
|
1640
|
+
var tables = useTablesWithDataLoaded("rows");
|
|
1454
1641
|
var res = useRow(tables, table);
|
|
1455
1642
|
if (!res || !res.row) {
|
|
1456
|
-
return
|
|
1643
|
+
return React.createElement(React.Fragment, null, children);
|
|
1457
1644
|
}
|
|
1458
1645
|
var fieldMeta = deriveInferredTableField({
|
|
1459
1646
|
table: res.table,
|
|
@@ -1471,25 +1658,25 @@ function CmsRowImage(_ref13) {
|
|
|
1471
1658
|
});
|
|
1472
1659
|
}
|
|
1473
1660
|
if (!fieldMeta) {
|
|
1474
|
-
return
|
|
1661
|
+
return React.createElement(React.Fragment, null, children);
|
|
1475
1662
|
}
|
|
1476
1663
|
var value = ((_res$row$data3 = res.row.data) == null ? void 0 : _res$row$data3[fieldMeta.identifier]) || "";
|
|
1477
|
-
var childrenWithProps =
|
|
1478
|
-
if (
|
|
1664
|
+
var childrenWithProps = React.Children.map(children, function (child) {
|
|
1665
|
+
if (React.isValidElement(child) && value) {
|
|
1479
1666
|
var _React$cloneElement3;
|
|
1480
1667
|
if (typeof value === "object" && value.url && value.imageMeta) {
|
|
1481
1668
|
var _React$cloneElement2;
|
|
1482
|
-
return
|
|
1669
|
+
return React.cloneElement(child, (_React$cloneElement2 = {}, _React$cloneElement2[srcProp] = {
|
|
1483
1670
|
src: value.url,
|
|
1484
1671
|
fullHeight: value.imageMeta.height,
|
|
1485
1672
|
fullWidth: value.imageMeta.width
|
|
1486
1673
|
}, _React$cloneElement2));
|
|
1487
1674
|
}
|
|
1488
|
-
return
|
|
1675
|
+
return React.cloneElement(child, (_React$cloneElement3 = {}, _React$cloneElement3[srcProp] = value, _React$cloneElement3));
|
|
1489
1676
|
}
|
|
1490
1677
|
return child;
|
|
1491
1678
|
});
|
|
1492
|
-
return
|
|
1679
|
+
return React.createElement(React.Fragment, null, childrenWithProps);
|
|
1493
1680
|
}
|
|
1494
1681
|
var cmsRowFieldValueMeta = {
|
|
1495
1682
|
name: componentPrefix + "-row-value",
|
|
@@ -1504,8 +1691,8 @@ var cmsRowFieldValueMeta = {
|
|
|
1504
1691
|
type: "choice",
|
|
1505
1692
|
displayName: "Model",
|
|
1506
1693
|
hidden: function hidden(props, ctx) {
|
|
1507
|
-
var _ctx$tables$
|
|
1508
|
-
return ((_ctx$tables$
|
|
1694
|
+
var _ctx$tables$length5, _ctx$tables5;
|
|
1695
|
+
return ((_ctx$tables$length5 = ctx == null || (_ctx$tables5 = ctx.tables) == null ? void 0 : _ctx$tables5.length) != null ? _ctx$tables$length5 : 0) <= 1 && !props.table;
|
|
1509
1696
|
},
|
|
1510
1697
|
helpText: "Pick model from a CMS Data Fetcher",
|
|
1511
1698
|
description: "Usually not used! Only with multiple CMS Data Loaders, use this to choose which to show. Otherwise, go select the CMS Data Loader if you want to load different data.",
|
|
@@ -1520,9 +1707,9 @@ var cmsRowFieldValueMeta = {
|
|
|
1520
1707
|
type: "choice",
|
|
1521
1708
|
displayName: "Field",
|
|
1522
1709
|
description: "Field (from model schema) to use.",
|
|
1523
|
-
options: function options(
|
|
1710
|
+
options: function options(_ref15, ctx) {
|
|
1524
1711
|
var _ctx$table5;
|
|
1525
|
-
var table =
|
|
1712
|
+
var table = _ref15.table;
|
|
1526
1713
|
return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table5 = ctx == null ? void 0 : ctx.table) != null ? _ctx$table5 : table);
|
|
1527
1714
|
},
|
|
1528
1715
|
defaultValueHint: function defaultValueHint(_, ctx) {
|
|
@@ -1538,18 +1725,18 @@ var cmsRowFieldValueMeta = {
|
|
|
1538
1725
|
}
|
|
1539
1726
|
}
|
|
1540
1727
|
};
|
|
1541
|
-
function CmsRowFieldValue(
|
|
1728
|
+
function CmsRowFieldValue(_ref16) {
|
|
1542
1729
|
var _res$row$data4;
|
|
1543
|
-
var table =
|
|
1544
|
-
field =
|
|
1545
|
-
valueProp =
|
|
1546
|
-
children =
|
|
1547
|
-
setControlContextData =
|
|
1548
|
-
rest = _objectWithoutPropertiesLoose(
|
|
1549
|
-
var tables = useTablesWithDataLoaded();
|
|
1730
|
+
var table = _ref16.table,
|
|
1731
|
+
field = _ref16.field,
|
|
1732
|
+
valueProp = _ref16.valueProp,
|
|
1733
|
+
children = _ref16.children,
|
|
1734
|
+
setControlContextData = _ref16.setControlContextData,
|
|
1735
|
+
rest = _objectWithoutPropertiesLoose(_ref16, _excluded3);
|
|
1736
|
+
var tables = useTablesWithDataLoaded("rows");
|
|
1550
1737
|
var res = useRow(tables, table);
|
|
1551
1738
|
if (!res || !res.row) {
|
|
1552
|
-
return
|
|
1739
|
+
return React.createElement(React.Fragment, null, children);
|
|
1553
1740
|
}
|
|
1554
1741
|
var fieldMeta = deriveInferredTableField({
|
|
1555
1742
|
table: res.table,
|
|
@@ -1567,17 +1754,17 @@ function CmsRowFieldValue(_ref15) {
|
|
|
1567
1754
|
});
|
|
1568
1755
|
}
|
|
1569
1756
|
if (!fieldMeta) {
|
|
1570
|
-
return
|
|
1757
|
+
return React.createElement(React.Fragment, null, children);
|
|
1571
1758
|
}
|
|
1572
1759
|
var value = ((_res$row$data4 = res.row.data) == null ? void 0 : _res$row$data4[fieldMeta.identifier]) || "";
|
|
1573
|
-
var childrenWithProps =
|
|
1574
|
-
if (
|
|
1760
|
+
var childrenWithProps = React.Children.map(children, function (child) {
|
|
1761
|
+
if (React.isValidElement(child)) {
|
|
1575
1762
|
var _extends2;
|
|
1576
|
-
return
|
|
1763
|
+
return React.cloneElement(child, _extends({}, rest, (_extends2 = {}, _extends2[valueProp] = value, _extends2)));
|
|
1577
1764
|
}
|
|
1578
1765
|
return child;
|
|
1579
1766
|
});
|
|
1580
|
-
return
|
|
1767
|
+
return React.createElement(React.Fragment, null, childrenWithProps);
|
|
1581
1768
|
}
|
|
1582
1769
|
|
|
1583
1770
|
function registerAll(loader) {
|
|
@@ -1603,9 +1790,11 @@ function registerAll(loader) {
|
|
|
1603
1790
|
_registerComponent(CmsRowLink, cmsRowLinkMeta);
|
|
1604
1791
|
_registerComponent(CmsRowImage, cmsRowImageMeta);
|
|
1605
1792
|
_registerComponent(CmsRowFieldValue, cmsRowFieldValueMeta);
|
|
1793
|
+
_registerComponent(CmsCount, cmsCountFieldMeta);
|
|
1606
1794
|
}
|
|
1607
1795
|
|
|
1608
1796
|
exports.API = API;
|
|
1797
|
+
exports.CmsCount = CmsCount;
|
|
1609
1798
|
exports.CmsCredentialsProvider = CmsCredentialsProvider;
|
|
1610
1799
|
exports.CmsQueryRepeater = CmsQueryRepeater;
|
|
1611
1800
|
exports.CmsRowField = CmsRowField;
|
|
@@ -1613,6 +1802,7 @@ exports.CmsRowFieldValue = CmsRowFieldValue;
|
|
|
1613
1802
|
exports.CmsRowImage = CmsRowImage;
|
|
1614
1803
|
exports.CmsRowLink = CmsRowLink;
|
|
1615
1804
|
exports.HttpError = HttpError;
|
|
1805
|
+
exports.cmsCountFieldMeta = cmsCountFieldMeta;
|
|
1616
1806
|
exports.cmsCredentialsProviderMeta = cmsCredentialsProviderMeta;
|
|
1617
1807
|
exports.cmsQueryRepeaterMeta = cmsQueryRepeaterMeta;
|
|
1618
1808
|
exports.cmsRowFieldMeta = cmsRowFieldMeta;
|