@plasmicpkgs/plasmic-cms 0.0.133 → 0.0.135

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.
@@ -19,19 +19,20 @@ interface RowContextData extends TableContextData {
19
19
  fieldMeta?: CmsFieldMeta;
20
20
  }
21
21
  interface CmsQueryRepeaterProps extends QueryParams, CanvasComponentProps<TableContextData> {
22
- children?: React.ReactNode;
22
+ children: React.ReactNode;
23
23
  table?: string;
24
24
  emptyMessage?: React.ReactNode;
25
25
  forceEmptyState?: boolean;
26
26
  loadingMessage?: React.ReactNode;
27
27
  forceLoadingState?: boolean;
28
28
  noLayout?: boolean;
29
+ noAutoRepeat?: boolean;
29
30
  className?: string;
30
31
  filterField?: string;
31
32
  filterValue?: string;
32
33
  }
33
34
  export declare const cmsQueryRepeaterMeta: ComponentMeta<CmsQueryRepeaterProps>;
34
- export declare function CmsQueryRepeater({ table, children, setControlContextData, where, useDraft, orderBy, desc, limit, emptyMessage, forceEmptyState, loadingMessage, forceLoadingState, noLayout, className, filterField, filterValue, }: CmsQueryRepeaterProps): JSX.Element;
35
+ export declare function CmsQueryRepeater({ table, children, setControlContextData, where, useDraft, orderBy, desc, limit, emptyMessage, forceEmptyState, loadingMessage, forceLoadingState, noLayout, noAutoRepeat, className, filterField, filterValue, }: CmsQueryRepeaterProps): JSX.Element;
35
36
  interface CmsRowFieldProps extends CanvasComponentProps<RowContextData> {
36
37
  table?: string;
37
38
  field?: string;
package/dist/context.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import { DatabaseConfig } from "./api";
3
3
  import { ApiCmsRow, ApiCmsTable } from "./schema";
4
+ export declare const mkQueryContextKey: (table: string) => string;
4
5
  export declare function useDatabase(): DatabaseConfig | undefined;
5
6
  export declare function DatabaseProvider({ config, children, }: {
6
7
  config: DatabaseConfig;
@@ -15,10 +16,11 @@ export declare function useQueryResults(table?: string): {
15
16
  table: string;
16
17
  rows: ApiCmsRow[];
17
18
  } | undefined;
18
- export declare function QueryResultProvider({ children, table, rows, }: {
19
+ export declare function QueryResultProvider({ children, table, rows, hidden }: {
19
20
  children?: React.ReactNode;
20
21
  table: string;
21
22
  rows: ApiCmsRow[];
23
+ hidden?: boolean;
22
24
  }): JSX.Element;
23
25
  export declare function useTablesWithDataLoaded(): ApiCmsTable[] | undefined;
24
26
  export declare function useRow(tables?: ApiCmsTable[], table?: string): {
@@ -1096,11 +1096,9 @@ var contextPrefix = "plasmicCms";
1096
1096
  var databaseContextKey = contextPrefix + "Database";
1097
1097
  var tablesContextKey = contextPrefix + "Tables";
1098
1098
  var collectionResultSuffix = "Collection";
1099
-
1100
1099
  var mkQueryContextKey = function mkQueryContextKey(table) {
1101
1100
  return "" + contextPrefix + capitalizeFirst(table) + collectionResultSuffix;
1102
1101
  };
1103
-
1104
1102
  var itemContextSuffix = "Item";
1105
1103
 
1106
1104
  var mkRowContextKey = function mkRowContextKey(table) {
@@ -1147,10 +1145,12 @@ function getClosestMatchingKeys(env, suffix) {
1147
1145
  function QueryResultProvider(_ref3) {
1148
1146
  var children = _ref3.children,
1149
1147
  table = _ref3.table,
1150
- rows = _ref3.rows;
1148
+ rows = _ref3.rows,
1149
+ hidden = _ref3.hidden;
1151
1150
  return React__default.createElement(host.DataProvider, {
1152
1151
  name: mkQueryContextKey(table),
1153
- data: rows
1152
+ data: rows,
1153
+ hidden: hidden
1154
1154
  }, children);
1155
1155
  }
1156
1156
  function useTablesWithDataLoaded() {
@@ -1487,6 +1487,12 @@ var cmsQueryRepeaterMeta = {
1487
1487
  displayName: "No layout",
1488
1488
  description: "When set, CMS Data Loader will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.",
1489
1489
  defaultValue: false
1490
+ },
1491
+ noAutoRepeat: {
1492
+ type: "boolean",
1493
+ displayName: "No auto-repeat",
1494
+ description: "Do not automatically repeat children for every entry.",
1495
+ defaultValue: false
1490
1496
  }
1491
1497
  }
1492
1498
  };
@@ -1504,6 +1510,7 @@ function CmsQueryRepeater(_ref5) {
1504
1510
  loadingMessage = _ref5.loadingMessage,
1505
1511
  forceLoadingState = _ref5.forceLoadingState,
1506
1512
  noLayout = _ref5.noLayout,
1513
+ noAutoRepeat = _ref5.noAutoRepeat,
1507
1514
  className = _ref5.className,
1508
1515
  filterField = _ref5.filterField,
1509
1516
  filterValue = _ref5.filterValue;
@@ -1592,7 +1599,7 @@ function CmsQueryRepeater(_ref5) {
1592
1599
  }, emptyMessage);
1593
1600
  }
1594
1601
 
1595
- return React__default.createElement(QueryResultProvider, {
1602
+ return noAutoRepeat ? children : React__default.createElement(QueryResultProvider, {
1596
1603
  table: table,
1597
1604
  rows: rows
1598
1605
  }, rows.map(function (row, index) {
@@ -1605,9 +1612,12 @@ function CmsQueryRepeater(_ref5) {
1605
1612
  }, {
1606
1613
  hideIfNotFound: false
1607
1614
  }, inEditor, loadingMessage, forceLoadingState);
1608
- return noLayout ? React__default.createElement(React__default.Fragment, null, " ", node, " ") : React__default.createElement("div", {
1615
+ return React__default.createElement(host.DataProvider, {
1616
+ data: maybeData == null ? void 0 : maybeData.data,
1617
+ name: mkQueryContextKey(table) + "s"
1618
+ }, noLayout ? React__default.createElement(React__default.Fragment, null, " ", node, " ") : React__default.createElement("div", {
1609
1619
  className: className
1610
- }, " ", node, " ");
1620
+ }, " ", node, " "));
1611
1621
  }
1612
1622
  var cmsRowFieldMeta = {
1613
1623
  name: componentPrefix + "-row-field",