@themarioga/grid-editor 8.9.0 → 8.10.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.
@@ -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" },
@@ -2269,6 +2281,7 @@ function build(instance, baseElem, optionsOrMethod) {
2269
2281
  t,
2270
2282
  warn,
2271
2283
  containerId,
2284
+ freshNode,
2272
2285
  defaultRegion,
2273
2286
  createTool,
2274
2287
  createMoveTool,
@@ -2806,6 +2819,63 @@ function build(instance, baseElem, optionsOrMethod) {
2806
2819
  containerCounter++;
2807
2820
  return "ge-" + type + "-" + containerCounter + "-" + Math.random().toString(36).slice(2, 6);
2808
2821
  }
2822
+ function freshNode(html) {
2823
+ var node = create(html);
2824
+ var renamed = {};
2825
+ var taken = function(id) {
2826
+ return !!document.getElementById(id) || Object.keys(renamed).some(function(old) {
2827
+ return renamed[old] === id;
2828
+ });
2829
+ };
2830
+ selfAndAll(node, "[id]").forEach(function(element2) {
2831
+ var id = element2.id;
2832
+ if (!document.getElementById(id)) {
2833
+ return;
2834
+ }
2835
+ var generated = GENERATED_ID.exec(id);
2836
+ var next;
2837
+ if (generated) {
2838
+ do {
2839
+ next = containerId(generated[1]);
2840
+ } while (taken(next));
2841
+ } else {
2842
+ var n = 2;
2843
+ while (taken(id + "-" + n)) {
2844
+ n++;
2845
+ }
2846
+ next = id + "-" + n;
2847
+ }
2848
+ renamed[id] = next;
2849
+ element2.id = next;
2850
+ });
2851
+ if (!Object.keys(renamed).length) {
2852
+ return node;
2853
+ }
2854
+ selfAndAll(node, "*").forEach(function(element2) {
2855
+ REFERENCES.forEach(function(name) {
2856
+ var value = element2.getAttribute(name);
2857
+ if (value === null) {
2858
+ return;
2859
+ }
2860
+ if (name === "href" && value.charAt(0) !== "#") {
2861
+ return;
2862
+ }
2863
+ var rewritten = value.split(/(\s+)/).map(function(token) {
2864
+ if (renamed[token]) {
2865
+ return renamed[token];
2866
+ }
2867
+ if (token.charAt(0) === "#" && renamed[token.slice(1)]) {
2868
+ return "#" + renamed[token.slice(1)];
2869
+ }
2870
+ return token;
2871
+ }).join("");
2872
+ if (rewritten !== value) {
2873
+ element2.setAttribute(name, rewritten);
2874
+ }
2875
+ });
2876
+ });
2877
+ return node;
2878
+ }
2809
2879
  function defaultRegion() {
2810
2880
  var row = createRow();
2811
2881
  row.appendChild(createColumn(MAX_COL_SIZE));
@@ -5034,7 +5104,7 @@ GridEditor.t = translate;
5034
5104
  GridEditor._plainHtml = plainHtml;
5035
5105
  GridEditor.Sortable = null;
5036
5106
  GridEditor.bootstrap = null;
5037
- GridEditor.version = false ? "dev" : "8.9.0";
5107
+ GridEditor.version = false ? "dev" : "8.10.0";
5038
5108
  GridEditor.locales = {
5039
5109
  en: {
5040
5110
  "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" },
@@ -2270,6 +2282,7 @@
2270
2282
  t,
2271
2283
  warn,
2272
2284
  containerId,
2285
+ freshNode,
2273
2286
  defaultRegion,
2274
2287
  createTool,
2275
2288
  createMoveTool,
@@ -2807,6 +2820,63 @@
2807
2820
  containerCounter++;
2808
2821
  return "ge-" + type + "-" + containerCounter + "-" + Math.random().toString(36).slice(2, 6);
2809
2822
  }
2823
+ function freshNode(html) {
2824
+ var node = create(html);
2825
+ var renamed = {};
2826
+ var taken = function(id) {
2827
+ return !!document.getElementById(id) || Object.keys(renamed).some(function(old) {
2828
+ return renamed[old] === id;
2829
+ });
2830
+ };
2831
+ selfAndAll(node, "[id]").forEach(function(element2) {
2832
+ var id = element2.id;
2833
+ if (!document.getElementById(id)) {
2834
+ return;
2835
+ }
2836
+ var generated = GENERATED_ID.exec(id);
2837
+ var next;
2838
+ if (generated) {
2839
+ do {
2840
+ next = containerId(generated[1]);
2841
+ } while (taken(next));
2842
+ } else {
2843
+ var n = 2;
2844
+ while (taken(id + "-" + n)) {
2845
+ n++;
2846
+ }
2847
+ next = id + "-" + n;
2848
+ }
2849
+ renamed[id] = next;
2850
+ element2.id = next;
2851
+ });
2852
+ if (!Object.keys(renamed).length) {
2853
+ return node;
2854
+ }
2855
+ selfAndAll(node, "*").forEach(function(element2) {
2856
+ REFERENCES.forEach(function(name) {
2857
+ var value = element2.getAttribute(name);
2858
+ if (value === null) {
2859
+ return;
2860
+ }
2861
+ if (name === "href" && value.charAt(0) !== "#") {
2862
+ return;
2863
+ }
2864
+ var rewritten = value.split(/(\s+)/).map(function(token) {
2865
+ if (renamed[token]) {
2866
+ return renamed[token];
2867
+ }
2868
+ if (token.charAt(0) === "#" && renamed[token.slice(1)]) {
2869
+ return "#" + renamed[token.slice(1)];
2870
+ }
2871
+ return token;
2872
+ }).join("");
2873
+ if (rewritten !== value) {
2874
+ element2.setAttribute(name, rewritten);
2875
+ }
2876
+ });
2877
+ });
2878
+ return node;
2879
+ }
2810
2880
  function defaultRegion() {
2811
2881
  var row = createRow();
2812
2882
  row.appendChild(createColumn(MAX_COL_SIZE));
@@ -5035,7 +5105,7 @@
5035
5105
  GridEditor._plainHtml = plainHtml;
5036
5106
  GridEditor.Sortable = null;
5037
5107
  GridEditor.bootstrap = null;
5038
- GridEditor.version = false ? "dev" : "8.9.0";
5108
+ GridEditor.version = false ? "dev" : "8.10.0";
5039
5109
  GridEditor.locales = {
5040
5110
  en: {
5041
5111
  "tool.move": "Move",