@saltcorn/builder 0.7.1 → 0.7.2-beta.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saltcorn/builder",
3
- "version": "0.7.1",
3
+ "version": "0.7.2-beta.0",
4
4
  "description": "Drag and drop view builder for Saltcorn, open-source no-code platform",
5
5
  "main": "index.js",
6
6
  "homepage": "https://saltcorn.com",
@@ -229,6 +229,7 @@ const ContainerSettings = () => {
229
229
  rotate: node.data.props.rotate,
230
230
  display: node.data.props.display,
231
231
  style: node.data.props.style,
232
+ imgResponsiveWidths: node.data.props.imgResponsiveWidths,
232
233
  }));
233
234
  const {
234
235
  actions: { setProp },
@@ -257,6 +258,7 @@ const ContainerSettings = () => {
257
258
  fullPageWidth,
258
259
  overflow,
259
260
  htmlElement,
261
+ imgResponsiveWidths,
260
262
  } = node;
261
263
  const options = useContext(optionsCtx);
262
264
  const { uploadedFiles } = useContext(previewCtx);
@@ -520,6 +522,26 @@ const ContainerSettings = () => {
520
522
  </select>
521
523
  </td>
522
524
  </tr>
525
+ {imageSize !== "repeat" && (
526
+ <tr>
527
+ <td>
528
+ <label>Responsive widths</label>
529
+ </td>
530
+
531
+ <td>
532
+ <input
533
+ type="text"
534
+ value={imgResponsiveWidths}
535
+ className="form-control"
536
+ onChange={setAProp("imgResponsiveWidths")}
537
+ />
538
+ <small>
539
+ <i>List of widths to serve resized images,
540
+ e.g. 300, 400, 600</i>
541
+ </small>
542
+ </td>
543
+ </tr>
544
+ )}
523
545
  </Fragment>
524
546
  )}
525
547
  {bgType === "Color" && (
@@ -71,6 +71,7 @@ const ImageSettings = () => {
71
71
  block: node.data.props.block,
72
72
  style: node.data.props.style,
73
73
  isFormula: node.data.props.isFormula,
74
+ imgResponsiveWidths: node.data.props.imgResponsiveWidths,
74
75
  }));
75
76
  const {
76
77
  actions: { setProp },
@@ -82,6 +83,7 @@ const ImageSettings = () => {
82
83
  block,
83
84
  isFormula,
84
85
  filepath,
86
+ imgResponsiveWidths,
85
87
  style,
86
88
  } = node;
87
89
  const options = useContext(optionsCtx);
@@ -252,6 +254,27 @@ const ImageSettings = () => {
252
254
  </td>
253
255
  </tr>
254
256
  )}
257
+ {srctype !== "Upload" && (
258
+ <tr>
259
+ <td>
260
+ <label>Responsive widths</label>
261
+ </td>
262
+
263
+ <td>
264
+ <input
265
+ type="text"
266
+ value={imgResponsiveWidths}
267
+ className="form-control"
268
+ onChange={setAProp("imgResponsiveWidths")}
269
+ />
270
+ <small>
271
+ <i>
272
+ List of widths to serve resized images, e.g. 300, 400, 600
273
+ </i>
274
+ </small>
275
+ </td>
276
+ </tr>
277
+ )}
255
278
  {srctype !== "Upload" && (
256
279
  <tr>
257
280
  <td colSpan="2">
@@ -290,6 +313,7 @@ Image.craft = {
290
313
  { name: "fileid", default: 0 },
291
314
  "field",
292
315
  "block",
316
+ "imgResponsiveWidths",
293
317
  { name: "style", default: {} },
294
318
  ],
295
319
  },
@@ -206,6 +206,7 @@ const layoutToNodes = (layout, query, actions, parent = "ROOT") => {
206
206
  }
207
207
  bgFileId={segment.bgFileId}
208
208
  imageSize={segment.imageSize || "contain"}
209
+ imgResponsiveWidths={segment.imgResponsiveWidths}
209
210
  bgType={segment.bgType || "None"}
210
211
  style={segment.style || {}}
211
212
  bgColor={segment.bgColor || "#ffffff"}
@@ -373,6 +374,7 @@ const craftToSaltcorn = (nodes, startFrom = "ROOT") => {
373
374
  bgFileId: node.props.bgFileId,
374
375
  bgType: node.props.bgType,
375
376
  imageSize: node.props.imageSize,
377
+ imgResponsiveWidths: node.props.imgResponsiveWidths,
376
378
  bgColor: node.props.bgColor,
377
379
  setTextColor: node.props.setTextColor,
378
380
  textColor: node.props.textColor,