@plasmicpkgs/plasmic-cms 0.0.7 → 0.0.13

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 CHANGED
@@ -12,6 +12,10 @@ export interface QueryParams {
12
12
  desc: boolean;
13
13
  limit: number;
14
14
  }
15
+ export declare class HttpError extends Error {
16
+ status: number;
17
+ constructor(status: number, message: string);
18
+ }
15
19
  declare class API {
16
20
  private config;
17
21
  constructor(config: DatabaseConfig);
@@ -3,6 +3,9 @@ import { CanvasComponentProps } from "@plasmicapp/host/registerComponent";
3
3
  import React from "react";
4
4
  import { DatabaseConfig, QueryParams } from "./api";
5
5
  import { ApiCmsTable } from "./schema";
6
+ interface FetcherComponentProps {
7
+ hideIfNotFound?: boolean;
8
+ }
6
9
  interface CmsDataProviderProps extends DatabaseConfig {
7
10
  children?: React.ReactNode;
8
11
  }
@@ -16,7 +19,7 @@ interface CmsQueryLoaderProps extends QueryParams, CanvasComponentProps<TablesCo
16
19
  table?: string;
17
20
  }
18
21
  export declare const cmsQueryLoaderMeta: ComponentMeta<CmsQueryLoaderProps>;
19
- export declare function CmsQueryLoader({ table, children, setControlContextData, ...params }: CmsQueryLoaderProps): JSX.Element;
22
+ export declare function CmsQueryLoader({ table, children, setControlContextData, ...params }: CmsQueryLoaderProps): React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | null;
20
23
  interface CmsRowRepeaterProps extends CanvasComponentProps<TablesContextData> {
21
24
  children?: React.ReactNode;
22
25
  table?: string;
@@ -42,12 +45,12 @@ interface CmsRowLinkProps extends CanvasComponentProps<TablesContextData & {
42
45
  }
43
46
  export declare const cmsRowLinkMeta: ComponentMeta<CmsRowLinkProps>;
44
47
  export declare function CmsRowLink({ table, field, hrefProp, children, setControlContextData, }: CmsRowLinkProps): JSX.Element;
45
- interface CmsRowLoaderProps extends CanvasComponentProps<TablesContextData> {
48
+ interface CmsRowLoaderProps extends CanvasComponentProps<TablesContextData>, FetcherComponentProps {
46
49
  table: string;
47
50
  row: string;
48
51
  children: React.ReactNode;
49
52
  useDraft: boolean;
50
53
  }
51
54
  export declare const cmsRowLoaderMeta: ComponentMeta<CmsRowLoaderProps>;
52
- export declare function CmsRowLoader({ table, row, children, useDraft, setControlContextData, }: CmsRowLoaderProps): JSX.Element;
55
+ export declare function CmsRowLoader({ table, row, children, useDraft, hideIfNotFound, setControlContextData, }: CmsRowLoaderProps): React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)> | null;
53
56
  export {};
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { registerComponent as hostRegisterComponent, registerContext as hostRegisterContext } from "@plasmicapp/host";
1
+ import registerComponent from "@plasmicapp/host/registerComponent";
2
2
  export declare function registerAll(loader?: {
3
- registerComponent: typeof hostRegisterComponent;
4
- registerContext: typeof hostRegisterContext;
3
+ registerComponent: typeof registerComponent;
5
4
  }): void;
5
+ export * from "./components";
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
6
 
7
+ var registerComponent = _interopDefault(require('@plasmicapp/host/registerComponent'));
7
8
  var host = require('@plasmicapp/host');
8
9
  var query = require('@plasmicapp/query');
9
10
  var React = _interopDefault(require('react'));
@@ -45,6 +46,115 @@ function _asyncToGenerator(fn) {
45
46
  };
46
47
  }
47
48
 
49
+ function _extends() {
50
+ _extends = Object.assign || function (target) {
51
+ for (var i = 1; i < arguments.length; i++) {
52
+ var source = arguments[i];
53
+
54
+ for (var key in source) {
55
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
56
+ target[key] = source[key];
57
+ }
58
+ }
59
+ }
60
+
61
+ return target;
62
+ };
63
+
64
+ return _extends.apply(this, arguments);
65
+ }
66
+
67
+ function _inheritsLoose(subClass, superClass) {
68
+ subClass.prototype = Object.create(superClass.prototype);
69
+ subClass.prototype.constructor = subClass;
70
+
71
+ _setPrototypeOf(subClass, superClass);
72
+ }
73
+
74
+ function _getPrototypeOf(o) {
75
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
76
+ return o.__proto__ || Object.getPrototypeOf(o);
77
+ };
78
+ return _getPrototypeOf(o);
79
+ }
80
+
81
+ function _setPrototypeOf(o, p) {
82
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
83
+ o.__proto__ = p;
84
+ return o;
85
+ };
86
+
87
+ return _setPrototypeOf(o, p);
88
+ }
89
+
90
+ function _isNativeReflectConstruct() {
91
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
92
+ if (Reflect.construct.sham) return false;
93
+ if (typeof Proxy === "function") return true;
94
+
95
+ try {
96
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
97
+ return true;
98
+ } catch (e) {
99
+ return false;
100
+ }
101
+ }
102
+
103
+ function _construct(Parent, args, Class) {
104
+ if (_isNativeReflectConstruct()) {
105
+ _construct = Reflect.construct;
106
+ } else {
107
+ _construct = function _construct(Parent, args, Class) {
108
+ var a = [null];
109
+ a.push.apply(a, args);
110
+ var Constructor = Function.bind.apply(Parent, a);
111
+ var instance = new Constructor();
112
+ if (Class) _setPrototypeOf(instance, Class.prototype);
113
+ return instance;
114
+ };
115
+ }
116
+
117
+ return _construct.apply(null, arguments);
118
+ }
119
+
120
+ function _isNativeFunction(fn) {
121
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
122
+ }
123
+
124
+ function _wrapNativeSuper(Class) {
125
+ var _cache = typeof Map === "function" ? new Map() : undefined;
126
+
127
+ _wrapNativeSuper = function _wrapNativeSuper(Class) {
128
+ if (Class === null || !_isNativeFunction(Class)) return Class;
129
+
130
+ if (typeof Class !== "function") {
131
+ throw new TypeError("Super expression must either be null or a function");
132
+ }
133
+
134
+ if (typeof _cache !== "undefined") {
135
+ if (_cache.has(Class)) return _cache.get(Class);
136
+
137
+ _cache.set(Class, Wrapper);
138
+ }
139
+
140
+ function Wrapper() {
141
+ return _construct(Class, arguments, _getPrototypeOf(this).constructor);
142
+ }
143
+
144
+ Wrapper.prototype = Object.create(Class.prototype, {
145
+ constructor: {
146
+ value: Wrapper,
147
+ enumerable: false,
148
+ writable: true,
149
+ configurable: true
150
+ }
151
+ });
152
+ return _setPrototypeOf(Wrapper, Class);
153
+ };
154
+
155
+ return _wrapNativeSuper(Class);
156
+ }
157
+
48
158
  function _objectWithoutPropertiesLoose(source, excluded) {
49
159
  if (source == null) return {};
50
160
  var target = {};
@@ -869,6 +979,20 @@ function queryParamsToApi(params) {
869
979
  };
870
980
  }
871
981
 
982
+ var HttpError = /*#__PURE__*/function (_Error) {
983
+ _inheritsLoose(HttpError, _Error);
984
+
985
+ function HttpError(status, message) {
986
+ var _this;
987
+
988
+ _this = _Error.call(this, message) || this;
989
+ _this.status = status;
990
+ return _this;
991
+ }
992
+
993
+ return HttpError;
994
+ }( /*#__PURE__*/_wrapNativeSuper(Error));
995
+
872
996
  var API = /*#__PURE__*/function () {
873
997
  function API(config) {
874
998
  this.config = config;
@@ -878,7 +1002,8 @@ var API = /*#__PURE__*/function () {
878
1002
 
879
1003
  _proto.get = /*#__PURE__*/function () {
880
1004
  var _get = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(endpoint, params) {
881
- var url, response;
1005
+ var url, response, message, _yield$response$json, _yield$response$json$;
1006
+
882
1007
  return runtime_1.wrap(function _callee$(_context) {
883
1008
  while (1) {
884
1009
  switch (_context.prev = _context.next) {
@@ -901,18 +1026,61 @@ var API = /*#__PURE__*/function () {
901
1026
 
902
1027
  case 5:
903
1028
  response = _context.sent;
904
- _context.next = 8;
1029
+
1030
+ if (!(response.status !== 200)) {
1031
+ _context.next = 25;
1032
+ break;
1033
+ }
1034
+
1035
+ _context.prev = 7;
1036
+ _context.next = 10;
905
1037
  return response.json();
906
1038
 
907
- case 8:
1039
+ case 10:
1040
+ _context.t0 = _yield$response$json = _context.sent;
1041
+
1042
+ if (!(_context.t0 == null)) {
1043
+ _context.next = 15;
1044
+ break;
1045
+ }
1046
+
1047
+ _context.t1 = void 0;
1048
+ _context.next = 16;
1049
+ break;
1050
+
1051
+ case 15:
1052
+ _context.t1 = (_yield$response$json$ = _yield$response$json.error) == null ? void 0 : _yield$response$json$.message;
1053
+
1054
+ case 16:
1055
+ message = _context.t1;
1056
+ _context.next = 24;
1057
+ break;
1058
+
1059
+ case 19:
1060
+ _context.prev = 19;
1061
+ _context.t2 = _context["catch"](7);
1062
+ _context.next = 23;
1063
+ return response.text();
1064
+
1065
+ case 23:
1066
+ message = _context.sent;
1067
+
1068
+ case 24:
1069
+ throw new HttpError(response.status, message);
1070
+
1071
+ case 25:
1072
+ _context.next = 27;
1073
+ return response.json();
1074
+
1075
+ case 27:
908
1076
  return _context.abrupt("return", _context.sent);
909
1077
 
910
- case 9:
1078
+ case 28:
911
1079
  case "end":
912
1080
  return _context.stop();
913
1081
  }
914
1082
  }
915
- }, _callee, this);
1083
+ }, _callee, this, [[7, 19]]);
916
1084
  }));
917
1085
 
918
1086
  function get(_x, _x2) {
@@ -941,7 +1109,7 @@ var API = /*#__PURE__*/function () {
941
1109
  _context2.prev = 7;
942
1110
  _context2.t0 = _context2["catch"](0);
943
1111
  console.error(_context2.t0);
944
- throw new Error("Cannot fetch CMS models.");
1112
+ throw _context2.t0;
945
1113
 
946
1114
  case 11:
947
1115
  case "end":
@@ -980,7 +1148,7 @@ var API = /*#__PURE__*/function () {
980
1148
  _context3.prev = 7;
981
1149
  _context3.t0 = _context3["catch"](0);
982
1150
  console.error(_context3.t0);
983
- throw new Error("Query returned invalid response.");
1151
+ throw _context3.t0;
984
1152
 
985
1153
  case 11:
986
1154
  case "end":
@@ -1005,7 +1173,7 @@ var API = /*#__PURE__*/function () {
1005
1173
  switch (_context4.prev = _context4.next) {
1006
1174
  case 0:
1007
1175
  _context4.prev = 0;
1008
- maybeUseDraft = useDraft ? "?useDraft=1" : "";
1176
+ maybeUseDraft = useDraft ? "?draft=1" : "";
1009
1177
  _context4.next = 4;
1010
1178
  return this.get("/tables/" + table + "/rows/" + row + maybeUseDraft);
1011
1179
 
@@ -1017,7 +1185,7 @@ var API = /*#__PURE__*/function () {
1017
1185
  _context4.prev = 8;
1018
1186
  _context4.t0 = _context4["catch"](0);
1019
1187
  console.error(_context4.t0);
1020
- throw new Error("Query returned invalid response.");
1188
+ throw _context4.t0;
1021
1189
 
1022
1190
  case 12:
1023
1191
  case "end":
@@ -1228,9 +1396,11 @@ function mkFieldOptions(tables, tableId) {
1228
1396
  }
1229
1397
 
1230
1398
  return table.schema.fields.map(function (f) {
1399
+ var _f$name;
1400
+
1231
1401
  return {
1232
1402
  value: f.identifier,
1233
- label: f.name
1403
+ label: (_f$name = f.name) != null ? _f$name : f.identifier
1234
1404
  };
1235
1405
  });
1236
1406
  }
@@ -1239,12 +1409,27 @@ var _excluded = ["children"],
1239
1409
  _excluded2 = ["table", "children", "setControlContextData"];
1240
1410
  var modulePath = "@plasmicpkgs/plasmic-cms";
1241
1411
  var componentPrefix = "hostless-plasmic-cms";
1412
+ var fetcherComponentPropMetas = {
1413
+ hideIfNotFound: {
1414
+ type: "boolean",
1415
+ defaultValue: false,
1416
+ description: "Whether to show an error if no result is found"
1417
+ }
1418
+ };
1242
1419
 
1243
- function renderMaybeData(maybeData, renderFn) {
1420
+ function renderMaybeData(maybeData, renderFn, loaderProps) {
1244
1421
  if ("error" in maybeData) {
1245
- var _maybeData$error;
1422
+ var error = maybeData.error;
1246
1423
 
1247
- return React.createElement("div", null, "Error: ", (_maybeData$error = maybeData.error) == null ? void 0 : _maybeData$error.message);
1424
+ if (error && error instanceof HttpError && error.status === 404) {
1425
+ if (loaderProps.hideIfNotFound) {
1426
+ return null;
1427
+ } else {
1428
+ return React.createElement("div", null, "Error: Data not found");
1429
+ }
1430
+ } else {
1431
+ return React.createElement("div", null, "Error: ", error == null ? void 0 : error.message);
1432
+ }
1248
1433
  }
1249
1434
 
1250
1435
  if (!("data" in maybeData)) {
@@ -1329,6 +1514,8 @@ function TablesFetcher(_ref2) {
1329
1514
  return React.createElement(TablesProvider, {
1330
1515
  tables: tables
1331
1516
  }, children);
1517
+ }, {
1518
+ hideIfNotFound: false
1332
1519
  });
1333
1520
  }
1334
1521
 
@@ -1446,6 +1633,8 @@ function CmsQueryLoader(_ref5) {
1446
1633
  table: table,
1447
1634
  rows: rows
1448
1635
  }, children);
1636
+ }, {
1637
+ hideIfNotFound: false
1449
1638
  });
1450
1639
  }
1451
1640
  var cmsRowRepeaterMeta = {
@@ -1688,7 +1877,7 @@ var cmsRowLoaderMeta = {
1688
1877
  displayName: "CMS Row Loader",
1689
1878
  importName: "CmsRowLoader",
1690
1879
  importPath: modulePath,
1691
- props: {
1880
+ props: /*#__PURE__*/_extends({
1692
1881
  children: {
1693
1882
  type: "slot",
1694
1883
  defaultValue: {
@@ -1715,13 +1904,14 @@ var cmsRowLoaderMeta = {
1715
1904
  description: "If set, also query unpublished content.",
1716
1905
  defaultValue: false
1717
1906
  }
1718
- }
1907
+ }, fetcherComponentPropMetas)
1719
1908
  };
1720
1909
  function CmsRowLoader(_ref12) {
1721
1910
  var table = _ref12.table,
1722
1911
  row = _ref12.row,
1723
1912
  children = _ref12.children,
1724
1913
  useDraft = _ref12.useDraft,
1914
+ hideIfNotFound = _ref12.hideIfNotFound,
1725
1915
  setControlContextData = _ref12.setControlContextData;
1726
1916
  var databaseConfig = useDatabase();
1727
1917
  var tables = useTables();
@@ -1744,9 +1934,29 @@ function CmsRowLoader(_ref12) {
1744
1934
  while (1) {
1745
1935
  switch (_context3.prev = _context3.next) {
1746
1936
  case 0:
1747
- return _context3.abrupt("return", mkApi(databaseConfig).fetchRow(table, row, useDraft));
1937
+ if (table) {
1938
+ _context3.next = 2;
1939
+ break;
1940
+ }
1748
1941
 
1749
- case 1:
1942
+ throw new Error("You must specify a model to fetch from.");
1943
+
1944
+ case 2:
1945
+ if (row) {
1946
+ _context3.next = 4;
1947
+ break;
1948
+ }
1949
+
1950
+ throw new Error("You must specify an entry name to fetch.");
1951
+
1952
+ case 4:
1953
+ _context3.next = 6;
1954
+ return mkApi(databaseConfig).fetchRow(table, row, useDraft);
1955
+
1956
+ case 6:
1957
+ return _context3.abrupt("return", _context3.sent);
1958
+
1959
+ case 7:
1750
1960
  case "end":
1751
1961
  return _context3.stop();
1752
1962
  }
@@ -1758,22 +1968,46 @@ function CmsRowLoader(_ref12) {
1758
1968
  table: table,
1759
1969
  row: row
1760
1970
  }, children);
1971
+ }, {
1972
+ hideIfNotFound: hideIfNotFound
1761
1973
  });
1762
1974
  }
1763
1975
 
1764
1976
  function registerAll(loader) {
1765
- var _loader$registerCompo;
1766
-
1767
1977
  //const registerContext = loader?.registerContext ?? hostRegisterContext;
1768
1978
  //registerContext(CmsDataProvider, cmsDataProviderMeta);
1769
- var registerComponent = (_loader$registerCompo = loader == null ? void 0 : loader.registerComponent.bind(loader)) != null ? _loader$registerCompo : host.registerComponent;
1770
- registerComponent(CmsDataProvider, cmsDataProviderMeta);
1771
- registerComponent(CmsQueryLoader, cmsQueryLoaderMeta);
1772
- registerComponent(CmsRowRepeater, cmsRowRepeaterMeta);
1773
- registerComponent(CmsRowField, cmsRowFieldMeta);
1774
- registerComponent(CmsRowLink, cmsRowLinkMeta);
1775
- registerComponent(CmsRowLoader, cmsRowLoaderMeta);
1979
+ var _registerComponent = function _registerComponent(Component, defaultMeta) {
1980
+ if (loader) {
1981
+ loader.registerComponent(Component, defaultMeta);
1982
+ } else {
1983
+ registerComponent(Component, defaultMeta);
1984
+ }
1985
+ };
1986
+
1987
+ _registerComponent(CmsDataProvider, cmsDataProviderMeta);
1988
+
1989
+ _registerComponent(CmsQueryLoader, cmsQueryLoaderMeta);
1990
+
1991
+ _registerComponent(CmsRowRepeater, cmsRowRepeaterMeta);
1992
+
1993
+ _registerComponent(CmsRowField, cmsRowFieldMeta);
1994
+
1995
+ _registerComponent(CmsRowLink, cmsRowLinkMeta);
1996
+
1997
+ _registerComponent(CmsRowLoader, cmsRowLoaderMeta);
1776
1998
  }
1777
1999
 
2000
+ exports.CmsDataProvider = CmsDataProvider;
2001
+ exports.CmsQueryLoader = CmsQueryLoader;
2002
+ exports.CmsRowField = CmsRowField;
2003
+ exports.CmsRowLink = CmsRowLink;
2004
+ exports.CmsRowLoader = CmsRowLoader;
2005
+ exports.CmsRowRepeater = CmsRowRepeater;
2006
+ exports.cmsDataProviderMeta = cmsDataProviderMeta;
2007
+ exports.cmsQueryLoaderMeta = cmsQueryLoaderMeta;
2008
+ exports.cmsRowFieldMeta = cmsRowFieldMeta;
2009
+ exports.cmsRowLinkMeta = cmsRowLinkMeta;
2010
+ exports.cmsRowLoaderMeta = cmsRowLoaderMeta;
2011
+ exports.cmsRowRepeaterMeta = cmsRowRepeaterMeta;
1778
2012
  exports.registerAll = registerAll;
1779
2013
  //# sourceMappingURL=plasmic-cms.cjs.development.js.map