@themarioga/grid-editor 8.9.0 → 8.10.1

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.
@@ -333,6 +333,18 @@ var METHODS = {
333
333
  setSelected: {}
334
334
  };
335
335
  var PLACEMENTS = ["appendTo", "prependTo", "insertAfter", "insertBefore"];
336
+ var REFERENCES = [
337
+ "data-bs-target",
338
+ "data-bs-parent",
339
+ "href",
340
+ "aria-controls",
341
+ "aria-labelledby",
342
+ "aria-describedby",
343
+ "for",
344
+ "data-ge-popup-id",
345
+ "data-ge-popup-target"
346
+ ];
347
+ var GENERATED_ID = /^ge-([a-z][a-z-]*?)-\d+-[a-z0-9]+$/;
336
348
  var BREAKPOINTS = [
337
349
  { key: "xs", infix: "", colPrefix: "col-", offsetPrefix: "offset-", min: 0, preview: 400, labelKey: "view.xs" },
338
350
  { key: "sm", infix: "sm", colPrefix: "col-sm-", offsetPrefix: "offset-sm-", min: 576, preview: 576, labelKey: "view.sm" },
@@ -1528,6 +1540,9 @@ function build(instance, baseElem, optionsOrMethod) {
1528
1540
  var colour = item.align === "end" ? "btn-primary" : "btn-light";
1529
1541
  var button = labelButton(element("a", { "class": "btn btn-sm " + colour + " ge-add-container ge-add-feature" }), label, iconClass);
1530
1542
  addClass(button, item.className || "");
1543
+ if (typeof item.hidden === "function" ? item.hidden() : item.hidden) {
1544
+ hide(button);
1545
+ }
1531
1546
  attr(button, {
1532
1547
  "data-ge-toolbar": "feature",
1533
1548
  "data-ge-feature": name,
@@ -2269,6 +2284,7 @@ function build(instance, baseElem, optionsOrMethod) {
2269
2284
  t,
2270
2285
  warn,
2271
2286
  containerId,
2287
+ freshNode,
2272
2288
  defaultRegion,
2273
2289
  createTool,
2274
2290
  createMoveTool,
@@ -2806,6 +2822,63 @@ function build(instance, baseElem, optionsOrMethod) {
2806
2822
  containerCounter++;
2807
2823
  return "ge-" + type + "-" + containerCounter + "-" + Math.random().toString(36).slice(2, 6);
2808
2824
  }
2825
+ function freshNode(html) {
2826
+ var node = create(html);
2827
+ var renamed = {};
2828
+ var taken = function(id) {
2829
+ return !!document.getElementById(id) || Object.keys(renamed).some(function(old) {
2830
+ return renamed[old] === id;
2831
+ });
2832
+ };
2833
+ selfAndAll(node, "[id]").forEach(function(element2) {
2834
+ var id = element2.id;
2835
+ if (!document.getElementById(id)) {
2836
+ return;
2837
+ }
2838
+ var generated = GENERATED_ID.exec(id);
2839
+ var next;
2840
+ if (generated) {
2841
+ do {
2842
+ next = containerId(generated[1]);
2843
+ } while (taken(next));
2844
+ } else {
2845
+ var n = 2;
2846
+ while (taken(id + "-" + n)) {
2847
+ n++;
2848
+ }
2849
+ next = id + "-" + n;
2850
+ }
2851
+ renamed[id] = next;
2852
+ element2.id = next;
2853
+ });
2854
+ if (!Object.keys(renamed).length) {
2855
+ return node;
2856
+ }
2857
+ selfAndAll(node, "*").forEach(function(element2) {
2858
+ REFERENCES.forEach(function(name) {
2859
+ var value = element2.getAttribute(name);
2860
+ if (value === null) {
2861
+ return;
2862
+ }
2863
+ if (name === "href" && value.charAt(0) !== "#") {
2864
+ return;
2865
+ }
2866
+ var rewritten = value.split(/(\s+)/).map(function(token) {
2867
+ if (renamed[token]) {
2868
+ return renamed[token];
2869
+ }
2870
+ if (token.charAt(0) === "#" && renamed[token.slice(1)]) {
2871
+ return "#" + renamed[token.slice(1)];
2872
+ }
2873
+ return token;
2874
+ }).join("");
2875
+ if (rewritten !== value) {
2876
+ element2.setAttribute(name, rewritten);
2877
+ }
2878
+ });
2879
+ });
2880
+ return node;
2881
+ }
2809
2882
  function defaultRegion() {
2810
2883
  var row = createRow();
2811
2884
  row.appendChild(createColumn(MAX_COL_SIZE));
@@ -5034,7 +5107,7 @@ GridEditor.t = translate;
5034
5107
  GridEditor._plainHtml = plainHtml;
5035
5108
  GridEditor.Sortable = null;
5036
5109
  GridEditor.bootstrap = null;
5037
- GridEditor.version = false ? "dev" : "8.9.0";
5110
+ GridEditor.version = false ? "dev" : "8.10.1";
5038
5111
  GridEditor.locales = {
5039
5112
  en: {
5040
5113
  "tool.move": "Move",
@@ -334,6 +334,18 @@
334
334
  setSelected: {}
335
335
  };
336
336
  var PLACEMENTS = ["appendTo", "prependTo", "insertAfter", "insertBefore"];
337
+ var REFERENCES = [
338
+ "data-bs-target",
339
+ "data-bs-parent",
340
+ "href",
341
+ "aria-controls",
342
+ "aria-labelledby",
343
+ "aria-describedby",
344
+ "for",
345
+ "data-ge-popup-id",
346
+ "data-ge-popup-target"
347
+ ];
348
+ var GENERATED_ID = /^ge-([a-z][a-z-]*?)-\d+-[a-z0-9]+$/;
337
349
  var BREAKPOINTS = [
338
350
  { key: "xs", infix: "", colPrefix: "col-", offsetPrefix: "offset-", min: 0, preview: 400, labelKey: "view.xs" },
339
351
  { key: "sm", infix: "sm", colPrefix: "col-sm-", offsetPrefix: "offset-sm-", min: 576, preview: 576, labelKey: "view.sm" },
@@ -1529,6 +1541,9 @@
1529
1541
  var colour = item.align === "end" ? "btn-primary" : "btn-light";
1530
1542
  var button = labelButton(element("a", { "class": "btn btn-sm " + colour + " ge-add-container ge-add-feature" }), label, iconClass);
1531
1543
  addClass(button, item.className || "");
1544
+ if (typeof item.hidden === "function" ? item.hidden() : item.hidden) {
1545
+ hide(button);
1546
+ }
1532
1547
  attr(button, {
1533
1548
  "data-ge-toolbar": "feature",
1534
1549
  "data-ge-feature": name,
@@ -2270,6 +2285,7 @@
2270
2285
  t,
2271
2286
  warn,
2272
2287
  containerId,
2288
+ freshNode,
2273
2289
  defaultRegion,
2274
2290
  createTool,
2275
2291
  createMoveTool,
@@ -2807,6 +2823,63 @@
2807
2823
  containerCounter++;
2808
2824
  return "ge-" + type + "-" + containerCounter + "-" + Math.random().toString(36).slice(2, 6);
2809
2825
  }
2826
+ function freshNode(html) {
2827
+ var node = create(html);
2828
+ var renamed = {};
2829
+ var taken = function(id) {
2830
+ return !!document.getElementById(id) || Object.keys(renamed).some(function(old) {
2831
+ return renamed[old] === id;
2832
+ });
2833
+ };
2834
+ selfAndAll(node, "[id]").forEach(function(element2) {
2835
+ var id = element2.id;
2836
+ if (!document.getElementById(id)) {
2837
+ return;
2838
+ }
2839
+ var generated = GENERATED_ID.exec(id);
2840
+ var next;
2841
+ if (generated) {
2842
+ do {
2843
+ next = containerId(generated[1]);
2844
+ } while (taken(next));
2845
+ } else {
2846
+ var n = 2;
2847
+ while (taken(id + "-" + n)) {
2848
+ n++;
2849
+ }
2850
+ next = id + "-" + n;
2851
+ }
2852
+ renamed[id] = next;
2853
+ element2.id = next;
2854
+ });
2855
+ if (!Object.keys(renamed).length) {
2856
+ return node;
2857
+ }
2858
+ selfAndAll(node, "*").forEach(function(element2) {
2859
+ REFERENCES.forEach(function(name) {
2860
+ var value = element2.getAttribute(name);
2861
+ if (value === null) {
2862
+ return;
2863
+ }
2864
+ if (name === "href" && value.charAt(0) !== "#") {
2865
+ return;
2866
+ }
2867
+ var rewritten = value.split(/(\s+)/).map(function(token) {
2868
+ if (renamed[token]) {
2869
+ return renamed[token];
2870
+ }
2871
+ if (token.charAt(0) === "#" && renamed[token.slice(1)]) {
2872
+ return "#" + renamed[token.slice(1)];
2873
+ }
2874
+ return token;
2875
+ }).join("");
2876
+ if (rewritten !== value) {
2877
+ element2.setAttribute(name, rewritten);
2878
+ }
2879
+ });
2880
+ });
2881
+ return node;
2882
+ }
2810
2883
  function defaultRegion() {
2811
2884
  var row = createRow();
2812
2885
  row.appendChild(createColumn(MAX_COL_SIZE));
@@ -5035,7 +5108,7 @@
5035
5108
  GridEditor._plainHtml = plainHtml;
5036
5109
  GridEditor.Sortable = null;
5037
5110
  GridEditor.bootstrap = null;
5038
- GridEditor.version = false ? "dev" : "8.9.0";
5111
+ GridEditor.version = false ? "dev" : "8.10.1";
5039
5112
  GridEditor.locales = {
5040
5113
  en: {
5041
5114
  "tool.move": "Move",