@themarioga/grid-editor 3.2.1 → 4.1.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.
Files changed (65) hide show
  1. package/BUILDING.md +12 -3
  2. package/CHANGELOG.md +87 -0
  3. package/README.md +79 -7
  4. package/UPGRADING.md +79 -0
  5. package/dist/grideditor.css +188 -20
  6. package/dist/grideditor.min.css +1 -1
  7. package/dist/grideditor.min.css.map +1 -1
  8. package/dist/jquery.grideditor.bundle.min.js +10 -0
  9. package/dist/jquery.grideditor.js +924 -174
  10. package/dist/jquery.grideditor.min.js +1 -1
  11. package/dist/jquery.grideditor.min.js.map +1 -1
  12. package/dist/locales/grideditor.es.js +34 -0
  13. package/dist/locales/grideditor.es.min.js +1 -1
  14. package/dist/locales/grideditor.es.min.js.map +1 -1
  15. package/dist/plugins/grideditor.accordion.js +8 -0
  16. package/dist/plugins/grideditor.accordion.min.js +1 -1
  17. package/dist/plugins/grideditor.accordion.min.js.map +1 -1
  18. package/dist/plugins/grideditor.alignment.js +81 -0
  19. package/dist/plugins/grideditor.alignment.min.js +2 -0
  20. package/dist/plugins/grideditor.alignment.min.js.map +1 -0
  21. package/dist/plugins/grideditor.elements.js +5 -5
  22. package/dist/plugins/grideditor.elements.min.js +1 -1
  23. package/dist/plugins/grideditor.elements.min.js.map +1 -1
  24. package/dist/plugins/grideditor.gutters.js +145 -0
  25. package/dist/plugins/grideditor.gutters.min.js +2 -0
  26. package/dist/plugins/grideditor.gutters.min.js.map +1 -0
  27. package/dist/plugins/grideditor.order.js +206 -0
  28. package/dist/plugins/grideditor.order.min.js +2 -0
  29. package/dist/plugins/grideditor.order.min.js.map +1 -0
  30. package/dist/plugins/grideditor.spacing.js +299 -0
  31. package/dist/plugins/grideditor.spacing.min.js +2 -0
  32. package/dist/plugins/grideditor.spacing.min.js.map +1 -0
  33. package/dist/plugins/grideditor.tabs.js +8 -0
  34. package/dist/plugins/grideditor.tabs.min.js +1 -1
  35. package/dist/plugins/grideditor.tabs.min.js.map +1 -1
  36. package/dist/plugins/grideditor.visibility.js +172 -0
  37. package/dist/plugins/grideditor.visibility.min.js +2 -0
  38. package/dist/plugins/grideditor.visibility.min.js.map +1 -0
  39. package/docs/events.md +26 -8
  40. package/docs/locale-keys.md +54 -0
  41. package/docs/plugins.md +129 -10
  42. package/example/autosave.html +6 -1
  43. package/example/basic.html +8 -2
  44. package/example/breakpoints.html +6 -1
  45. package/example/ckeditor.html +6 -1
  46. package/example/containers.html +5 -1
  47. package/example/elements.html +6 -1
  48. package/example/index.html +24 -1
  49. package/example/locale.html +6 -1
  50. package/example/plugins.html +6 -1
  51. package/example/summernote.html +6 -1
  52. package/example/utilities.html +145 -0
  53. package/example/wrap_content.html +6 -1
  54. package/package.json +3 -2
  55. package/src/js/jquery.grideditor.js +924 -174
  56. package/src/js/locales/grideditor.es.js +34 -0
  57. package/src/js/plugins/grideditor.accordion.js +8 -0
  58. package/src/js/plugins/grideditor.alignment.js +81 -0
  59. package/src/js/plugins/grideditor.elements.js +5 -5
  60. package/src/js/plugins/grideditor.gutters.js +145 -0
  61. package/src/js/plugins/grideditor.order.js +206 -0
  62. package/src/js/plugins/grideditor.spacing.js +299 -0
  63. package/src/js/plugins/grideditor.tabs.js +8 -0
  64. package/src/js/plugins/grideditor.visibility.js +172 -0
  65. package/src/less/grideditor.less +210 -18
@@ -1 +1 @@
1
- {"version":3,"file":"grideditor.es.min.js","sources":["../../src/js/locales/grideditor.es.js"],"names":["jQuery","fn","gridEditor","locales","es","tool.move","tool.settings","tool.add_row","tool.add_column","tool.column_size","tool.delete_row","tool.delete_column","tool.delete_element","tool.delete_container","tool.delete_pane","tool.rename","tool.toggle_popup","tool.element_info","tool.column_narrower","tool.column_wider","tool.indent_decrease","tool.indent_increase","tool.edit_source","tool.preview","tool.id_placeholder","tool.id_title","tool.classes_placeholder","tool.classes_title","tool.toggle_class","row.add","container.add_tabs","container.add_tab","container.tab_label","container.add_accordion","container.add_accordion_item","container.accordion_label","container.add_popup","container.popup_title","container.popup_trigger","container.add_card","container.card_title","container.card_footer","confirm.title","confirm.ok","confirm.cancel","confirm.delete_row","confirm.delete_column","confirm.delete_element","confirm.delete_container","confirm.delete_tab","confirm.delete_accordion_item","view.all","view.xs","view.sm","view.md","view.lg","view.xl","view.xxl","error.tinymce_missing","error.ckeditor_missing","error.summernote_missing"],"mappings":"AA4EGA,OA3DGC,GAAGC,WAAWC,QAAQC,GAAK,CACzBC,YAAa,QACbC,gBAAiB,gBACjBC,eAAgB,cAChBC,kBAAmB,wDACnBC,mBAAoB,eACpBC,kBAAmB,cACnBC,qBAAsB,iBACtBC,sBAAuB,kBACvBC,wBAAyB,oBACzBC,mBAAoB,eACpBC,cAAe,gCACfC,oBAAqB,sCACrBC,oBAAqB,mBACrBC,uBAAwB,4CACxBC,oBAAqB,4CACrBC,uBAAwB,yCACxBC,uBAAwB,2CACxBC,mBAAoB,0BACpBC,eAAgB,eAChBC,sBAAuB,KACvBC,gBAAiB,iCACjBC,2BAA4B,SAC5BC,qBAAsB,qCACtBC,oBAAqB,uCACrBC,UAAW,uBACXC,qBAAsB,WACtBC,oBAAqB,iBACrBC,sBAAuB,mBACvBC,0BAA2B,WAC3BC,+BAAgC,kBAChCC,4BAA6B,oBAC7BC,sBAAuB,oBACvBC,wBAAyB,SACzBC,0BAA2B,QAC3BC,qBAAsB,UACtBC,uBAAwB,uBACxBC,wBAAyB,oBACzBC,gBAAiB,YACjBC,aAAc,SACdC,iBAAkB,WAClBC,qBAAsB,wCACtBC,wBAAyB,2CACzBC,yBAA0B,4CAC1BC,2BAA4B,kEAC5BC,qBAAsB,+DACtBC,gCAAiC,gEACjCC,WAAY,oBACZC,UAAW,QACXC,UAAW,SACXC,UAAW,qBACXC,UAAW,aACXC,UAAW,oBACXC,WAAY,sBACZC,wBAAyB,oFACzBC,yBAA0B,kHAC1BC,2BAA4B,yFAChC"}
1
+ {"version":3,"file":"grideditor.es.min.js","sources":["../../src/js/locales/grideditor.es.js"],"names":["jQuery","fn","gridEditor","locales","es","tool.move","tool.settings","tool.add_row","tool.add_column","tool.column_size","tool.delete_row","tool.delete_column","tool.delete_element","tool.delete_container","tool.delete_pane","tool.rename","tool.toggle_popup","tool.element_info","tool.column_narrower","tool.column_wider","tool.indent_decrease","tool.indent_increase","tool.edit_source","tool.preview","tool.id_placeholder","tool.id_title","tool.classes_placeholder","tool.classes_title","tool.toggle_class","row.add","container.add_tabs","container.add_tab","container.tab_label","container.add_accordion","container.add_accordion_item","container.accordion_label","container.add_popup","container.popup_title","container.popup_trigger","container.add_card","container.card_title","container.card_footer","confirm.title","confirm.ok","confirm.cancel","confirm.delete_row","confirm.delete_column","confirm.delete_element","confirm.delete_container","confirm.delete_tab","confirm.delete_accordion_item","view.all","view.xs","view.sm","view.md","view.lg","view.xl","view.xxl","utility.section","utility.default","utility.inherit","utility.varies","utility.visibility","utility.visibility_hidden","utility.visibility_shown","tool.hide_in_view","tool.show_in_view","badge.hidden_in","utility.order","utility.order_first","utility.order_last","tool.order_earlier","tool.order_later","badge.order","utility.justify_content","utility.align_items","utility.align_self","utility.gutters","utility.gutters_x","utility.gutters_y","utility.padding","utility.margin","utility.side_all","utility.side_x","utility.side_y","utility.side_t","utility.side_b","utility.side_s","utility.side_e","utility.spacing_gutter","error.sortable_missing","warning.setting_removed","error.tinymce_missing","error.ckeditor_missing","error.summernote_missing"],"mappings":"AA8GGA,OA7FGC,GAAGC,WAAWC,QAAQC,GAAK,CACzBC,YAAa,QACbC,gBAAiB,gBACjBC,eAAgB,cAChBC,kBAAmB,wDACnBC,mBAAoB,eACpBC,kBAAmB,cACnBC,qBAAsB,iBACtBC,sBAAuB,kBACvBC,wBAAyB,oBACzBC,mBAAoB,eACpBC,cAAe,gCACfC,oBAAqB,sCACrBC,oBAAqB,mBACrBC,uBAAwB,4CACxBC,oBAAqB,4CACrBC,uBAAwB,yCACxBC,uBAAwB,2CACxBC,mBAAoB,0BACpBC,eAAgB,eAChBC,sBAAuB,KACvBC,gBAAiB,iCACjBC,2BAA4B,SAC5BC,qBAAsB,qCACtBC,oBAAqB,uCACrBC,UAAW,uBACXC,qBAAsB,WACtBC,oBAAqB,iBACrBC,sBAAuB,mBACvBC,0BAA2B,WAC3BC,+BAAgC,kBAChCC,4BAA6B,oBAC7BC,sBAAuB,oBACvBC,wBAAyB,SACzBC,0BAA2B,QAC3BC,qBAAsB,UACtBC,uBAAwB,uBACxBC,wBAAyB,oBACzBC,gBAAiB,YACjBC,aAAc,SACdC,iBAAkB,WAClBC,qBAAsB,wCACtBC,wBAAyB,2CACzBC,yBAA0B,4CAC1BC,2BAA4B,kEAC5BC,qBAAsB,+DACtBC,gCAAiC,gEACjCC,WAAY,oBACZC,UAAW,QACXC,UAAW,SACXC,UAAW,qBACXC,UAAW,aACXC,UAAW,oBACXC,WAAY,sBACZC,kBAAmB,qBACnBC,kBAAmB,cACnBC,kBAAmB,oCACnBC,iBAAkB,oDAClBC,qBAAsB,cACtBC,4BAA6B,SAC7BC,2BAA4B,UAC5BC,oBAAqB,wBACrBC,oBAAqB,wBACrBC,kBAAmB,0BACnBC,gBAAiB,QACjBC,sBAAuB,UACvBC,qBAAsB,SACtBC,qBAAsB,sBACtBC,mBAAoB,wBACpBC,cAAe,iBACfC,0BAA2B,sBAC3BC,sBAAuB,mBACvBC,qBAAsB,YACtBC,kBAAmB,2BACnBC,oBAAqB,uBACrBC,oBAAqB,qBACrBC,kBAAmB,UACnBC,iBAAkB,SAClBC,mBAAoB,kBACpBC,iBAAkB,sBAClBC,iBAAkB,iBAClBC,iBAAkB,SAClBC,iBAAkB,QAClBC,iBAAkB,SAClBC,iBAAkB,MAClBC,yBAA0B,gGAC1BC,yBAA0B,sHAC1BC,0BAA2B,2EAC3BC,wBAAyB,oFACzBC,yBAA0B,kHAC1BC,2BAA4B,yFAChC"}
@@ -99,6 +99,14 @@ $.fn.gridEditor.containers.accordion = function(ge) {
99
99
 
100
100
  return {
101
101
  labelKey: 'container.add_accordion',
102
+
103
+ // Items sort within their accordion and into any other one
104
+ onSortable: function(sortable) {
105
+ sortable(ge.canvas.find('.ge-container-accordion > .accordion'), {
106
+ draggable: '.ge-accordion-item',
107
+ group: 'accordion',
108
+ });
109
+ },
102
110
  addPaneKey: 'container.add_accordion_item',
103
111
  paneKind: 'accordion-item',
104
112
 
@@ -1,2 +1,2 @@
1
- (l=>{l.extend(l.fn.gridEditor.locales.en,{"container.add_accordion":"Accordion","container.add_accordion_item":"Add item","container.accordion_label":"Item {number}","confirm.delete_accordion_item":"Delete this item and everything in it?"}),l.fn.gridEditor.containers.accordion=function(d){function r(a,e){a=a.find("> .accordion > .accordion-item > .accordion-collapse");return 0<(a=e?a.not(e.find("> .accordion-collapse")):a).length&&!a.filter("[data-bs-parent]").length}function c(a,e){e=e||{};var o=a.find("> .accordion"),n=d.containerId("acc-item"),t=o.children(".accordion-item").length+1,c=void 0===e.open?1===t:!!e.open,a=void 0===e.stay_open?r(a):!!e.stay_open,i=l('<div class="accordion-item ge-accordion-item" />').appendTo(o),e=(l('<h2 class="accordion-header" />').append(l('<button class="accordion-button" type="button" data-bs-toggle="collapse" />').attr("data-bs-target","#"+n).attr("aria-expanded",c?"true":"false").toggleClass("collapsed",!c).append(l('<span class="ge-pane-label" />').text(e.label||d.t("container.accordion_label",{number:t})))).appendTo(i),l('<div class="accordion-collapse collapse" />').attr("id",n).attr("data-ge-open",c?"true":"false").toggleClass("show",c).appendTo(i));return a||e.attr("data-bs-parent","#"+o.attr("id")),l('<div class="accordion-body" />').append(d.defaultRegion()).appendTo(e)}function i(a,e){a.find("> .accordion-collapse").attr("data-ge-open",e?"true":"false").toggleClass("show",e),a.find("> .accordion-header .accordion-button").toggleClass("collapsed",!e).attr("aria-expanded",e?"true":"false")}return{labelKey:"container.add_accordion",addPaneKey:"container.add_accordion_item",paneKind:"accordion-item",create:function(a){var e=l("<div />").attr("data-ge-container","accordion"),o=a.labels||[],n=a.items||o.length||2;l('<div class="accordion" />').attr("id",d.containerId("accordion")).appendTo(e);for(var t=0;t<n;t++)c(e,{label:o[t],open:0===t,stay_open:a.stay_open});return e},addPane:c,mark:function(c){c.find("> .accordion > .accordion-item").each(function(){var n=l(this).addClass("ge-accordion-item"),a=n.find("> .accordion-collapse"),t=(void 0===a.attr("data-ge-open")&&a.attr("data-ge-open",a.hasClass("show")?"true":"false"),n.find("> .accordion-header .accordion-button"));d.suspendToggles(t),d.makeLabelEditable(d.labelIn(t)),t.data("ge-toggles")||t.data("ge-toggles",!0).on("click",function(a){var e,o;"true"!==d.labelIn(t).attr("contenteditable")&&(a.preventDefault(),a=c,(o="true"!==(e=n).find("> .accordion-collapse").attr("data-ge-open"))&&!r(a)&&a.find("> .accordion > .accordion-item").not(e).each(function(){i(l(this),!1)}),i(e,o))}),n.find("> .ge-tools-drawer").length||d.createPaneControls(n,"accordion-item",d.settings.accordion_tools,d.t("confirm.delete_accordion_item"),function(a){n.slideUp(200,a)})})},unmark:function(a){d.resumeToggles(a),a.find("> .accordion > .accordion-item").each(function(){i(l(this),"true"===l(this).find("> .accordion-collapse").attr("data-ge-open"))}),a.find(".ge-accordion-item").removeClass("ge-accordion-item"),d.unwrapLabels(a)},afterPaneMove:function(a,e){var o,n;a=a,o=(e=e).closest(".accordion"),n=e.find("> .accordion-collapse"),r(a,e)?n.removeAttr("data-bs-parent"):n.attr("data-bs-parent","#"+o.attr("id"))}}}})(jQuery);
1
+ (l=>{l.extend(l.fn.gridEditor.locales.en,{"container.add_accordion":"Accordion","container.add_accordion_item":"Add item","container.accordion_label":"Item {number}","confirm.delete_accordion_item":"Delete this item and everything in it?"}),l.fn.gridEditor.containers.accordion=function(d){function r(a,e){a=a.find("> .accordion > .accordion-item > .accordion-collapse");return 0<(a=e?a.not(e.find("> .accordion-collapse")):a).length&&!a.filter("[data-bs-parent]").length}function c(a,e){e=e||{};var o=a.find("> .accordion"),n=d.containerId("acc-item"),t=o.children(".accordion-item").length+1,c=void 0===e.open?1===t:!!e.open,a=void 0===e.stay_open?r(a):!!e.stay_open,i=l('<div class="accordion-item ge-accordion-item" />').appendTo(o),e=(l('<h2 class="accordion-header" />').append(l('<button class="accordion-button" type="button" data-bs-toggle="collapse" />').attr("data-bs-target","#"+n).attr("aria-expanded",c?"true":"false").toggleClass("collapsed",!c).append(l('<span class="ge-pane-label" />').text(e.label||d.t("container.accordion_label",{number:t})))).appendTo(i),l('<div class="accordion-collapse collapse" />').attr("id",n).attr("data-ge-open",c?"true":"false").toggleClass("show",c).appendTo(i));return a||e.attr("data-bs-parent","#"+o.attr("id")),l('<div class="accordion-body" />').append(d.defaultRegion()).appendTo(e)}function i(a,e){a.find("> .accordion-collapse").attr("data-ge-open",e?"true":"false").toggleClass("show",e),a.find("> .accordion-header .accordion-button").toggleClass("collapsed",!e).attr("aria-expanded",e?"true":"false")}return{labelKey:"container.add_accordion",onSortable:function(a){a(d.canvas.find(".ge-container-accordion > .accordion"),{draggable:".ge-accordion-item",group:"accordion"})},addPaneKey:"container.add_accordion_item",paneKind:"accordion-item",create:function(a){var e=l("<div />").attr("data-ge-container","accordion"),o=a.labels||[],n=a.items||o.length||2;l('<div class="accordion" />').attr("id",d.containerId("accordion")).appendTo(e);for(var t=0;t<n;t++)c(e,{label:o[t],open:0===t,stay_open:a.stay_open});return e},addPane:c,mark:function(c){c.find("> .accordion > .accordion-item").each(function(){var n=l(this).addClass("ge-accordion-item"),a=n.find("> .accordion-collapse"),t=(void 0===a.attr("data-ge-open")&&a.attr("data-ge-open",a.hasClass("show")?"true":"false"),n.find("> .accordion-header .accordion-button"));d.suspendToggles(t),d.makeLabelEditable(d.labelIn(t)),t.data("ge-toggles")||t.data("ge-toggles",!0).on("click",function(a){var e,o;"true"!==d.labelIn(t).attr("contenteditable")&&(a.preventDefault(),a=c,(o="true"!==(e=n).find("> .accordion-collapse").attr("data-ge-open"))&&!r(a)&&a.find("> .accordion > .accordion-item").not(e).each(function(){i(l(this),!1)}),i(e,o))}),n.find("> .ge-tools-drawer").length||d.createPaneControls(n,"accordion-item",d.settings.accordion_tools,d.t("confirm.delete_accordion_item"),function(a){n.slideUp(200,a)})})},unmark:function(a){d.resumeToggles(a),a.find("> .accordion > .accordion-item").each(function(){i(l(this),"true"===l(this).find("> .accordion-collapse").attr("data-ge-open"))}),a.find(".ge-accordion-item").removeClass("ge-accordion-item"),d.unwrapLabels(a)},afterPaneMove:function(a,e){var o,n;a=a,o=(e=e).closest(".accordion"),n=e.find("> .accordion-collapse"),r(a,e)?n.removeAttr("data-bs-parent"):n.attr("data-bs-parent","#"+o.attr("id"))}}}})(jQuery);
2
2
  //# sourceMappingURL=grideditor.accordion.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grideditor.accordion.min.js","sources":["../../src/js/plugins/grideditor.accordion.js"],"names":["$","extend","fn","gridEditor","locales","en","container.add_accordion","container.add_accordion_item","container.accordion_label","confirm.delete_accordion_item","containers","accordion","ge","staysOpen","container","ignore","items","find","not","length","filter","addAccordionItemTo","options","id","containerId","number","children","open","undefined","stayOpen","stay_open","item","appendTo","collapse","append","attr","toggleClass","text","label","t","defaultRegion","setAccordionItemOpen","labelKey","addPaneKey","paneKind","create","labels","count","i","addPane","mark","each","this","addClass","button","hasClass","suspendToggles","makeLabelEditable","labelIn","data","on","e","opening","preventDefault","createPaneControls","settings","accordion_tools","removed","slideUp","unmark","resumeToggles","removeClass","unwrapLabels","afterPaneMove","closest","removeAttr","jQuery"],"mappings":"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"}
1
+ {"version":3,"file":"grideditor.accordion.min.js","sources":["../../src/js/plugins/grideditor.accordion.js"],"names":["$","extend","fn","gridEditor","locales","en","container.add_accordion","container.add_accordion_item","container.accordion_label","confirm.delete_accordion_item","containers","accordion","ge","staysOpen","container","ignore","items","find","not","length","filter","addAccordionItemTo","options","id","containerId","number","children","open","undefined","stayOpen","stay_open","item","appendTo","collapse","append","attr","toggleClass","text","label","t","defaultRegion","setAccordionItemOpen","labelKey","onSortable","sortable","canvas","draggable","group","addPaneKey","paneKind","create","labels","count","i","addPane","mark","each","this","addClass","button","hasClass","suspendToggles","makeLabelEditable","labelIn","data","on","e","opening","preventDefault","createPaneControls","settings","accordion_tools","removed","slideUp","unmark","resumeToggles","removeClass","unwrapLabels","afterPaneMove","closest","removeAttr","jQuery"],"mappings":"CAUUA,IAEVA,EAAEC,OAAOD,EAAEE,GAAGC,WAAWC,QAAQC,GAAI,CACjCC,0BAA2B,YAC3BC,+BAAgC,WAChCC,4BAA6B,gBAC7BC,gCAAiC,wCACrC,CAAC,EAEDT,EAAEE,GAAGC,WAAWO,WAAWC,UAAY,SAASC,GAE5C,SAASC,EAAUC,EAAWC,GACtBC,EAAQF,EAAUG,KAAK,sDAAsD,EAIjF,OAAsB,GAFRD,EAAVD,EAAkBC,EAAME,IAAIH,EAAOE,KAAK,uBAAuB,CAAC,EAE7DD,GAAMG,QAAc,CAACH,EAAMI,OAAO,kBAAkB,EAAED,MACjE,CAEA,SAASE,EAAmBP,EAAWQ,GACnCA,EAAUA,GAAW,GAErB,IAAIX,EAAYG,EAAUG,KAAK,cAAc,EACzCM,EAAKX,EAAGY,YAAY,UAAU,EAC9BC,EAASd,EAAUe,SAAS,iBAAiB,EAAEP,OAAS,EACxDQ,EAAwBC,KAAAA,IAAjBN,EAAQK,KAAgC,IAAXF,EAAe,CAAC,CAACH,EAAQK,KAC7DE,EAAiCD,KAAAA,IAAtBN,EAAQQ,UAA0BjB,EAAUC,CAAS,EAAI,CAAC,CAACQ,EAAQQ,UAE9EC,EAAO/B,EAAE,kDAAkD,EAAEgC,SAASrB,CAAS,EAY/EsB,GAVJjC,EAAE,iCAAiC,EAC9BkC,OAAOlC,EAAE,6EAA6E,EAClFmC,KAAK,iBAAkB,IAAMZ,CAAE,EAC/BY,KAAK,gBAAiBR,EAAO,OAAS,OAAO,EAC7CS,YAAY,YAAa,CAACT,CAAI,EAC9BO,OAAOlC,EAAE,gCAAgC,EACrCqC,KAAKf,EAAQgB,OAAS1B,EAAG2B,EAAE,4BAA6B,CAAEd,OAAQA,CAAO,CAAC,CAAC,CAAC,CAAC,EACrFO,SAASD,CAAI,EAGH/B,EAAE,6CAA6C,EACzDmC,KAAK,KAAMZ,CAAE,EACbY,KAAK,eAAgBR,EAAO,OAAS,OAAO,EAC5CS,YAAY,OAAQT,CAAI,EACxBK,SAASD,CAAI,GAKlB,OAFKF,GAAYI,EAASE,KAAK,iBAAkB,IAAMxB,EAAUwB,KAAK,IAAI,CAAC,EAEpEnC,EAAE,gCAAgC,EAAEkC,OAAOtB,EAAG4B,cAAc,CAAC,EAAER,SAASC,CAAQ,CAC3F,CAeA,SAASQ,EAAqBV,EAAMJ,GAChCI,EAAKd,KAAK,uBAAuB,EAC5BkB,KAAK,eAAgBR,EAAO,OAAS,OAAO,EAC5CS,YAAY,OAAQT,CAAI,EAE7BI,EAAKd,KAAK,uCAAuC,EAC5CmB,YAAY,YAAa,CAACT,CAAI,EAC9BQ,KAAK,gBAAiBR,EAAO,OAAS,OAAO,CAEtD,CAeA,MAAO,CACHe,SAAU,0BAGVC,WAAY,SAASC,GACjBA,EAAShC,EAAGiC,OAAO5B,KAAK,sCAAsC,EAAG,CAC7D6B,UAAW,qBACXC,MAAO,WACX,CAAC,CACL,EACAC,WAAY,+BACZC,SAAU,iBAEVC,OAAQ,SAAS5B,GACb,IAAIR,EAAYd,EAAE,SAAS,EAAEmC,KAAK,oBAAqB,WAAW,EAC9DgB,EAAS7B,EAAQ6B,QAAU,GAC3BC,EAAQ9B,EAAQN,OAASmC,EAAOhC,QAAU,EAE9CnB,EAAE,2BAA2B,EACxBmC,KAAK,KAAMvB,EAAGY,YAAY,WAAW,CAAC,EACtCQ,SAASlB,CAAS,EAGvB,IAAK,IAAIuC,EAAI,EAAGA,EAAID,EAAOC,CAAC,GACxBhC,EAAmBP,EAAW,CAC1BwB,MAAOa,EAAOE,GACd1B,KAAY,IAAN0B,EACNvB,UAAWR,EAAQQ,SACvB,CAAC,EAGL,OAAOhB,CACX,EAEAwC,QAASjC,EAETkC,KAAM,SAASzC,GACXA,EAAUG,KAAK,gCAAgC,EAAEuC,KAAK,WAClD,IAAIzB,EAAO/B,EAAEyD,IAAI,EAAEC,SAAS,mBAAmB,EAC3CzB,EAAWF,EAAKd,KAAK,uBAAuB,EAU5C0C,GAJkC/B,KAAAA,IAAlCK,EAASE,KAAK,cAAc,GAC5BF,EAASE,KAAK,eAAgBF,EAAS2B,SAAS,MAAM,EAAI,OAAS,OAAO,EAGjE7B,EAAKd,KAAK,uCAAuC,GAI9DL,EAAGiD,eAAeF,CAAM,EACxB/C,EAAGkD,kBAAkBlD,EAAGmD,QAAQJ,CAAM,CAAC,EAElCA,EAAOK,KAAK,YAAY,GACzBL,EAAOK,KAAK,aAAc,CAAA,CAAI,EAAEC,GAAG,QAAS,SAASC,GACjD,IA/FoBnC,EAEhCoC,EA6F+D,SAA/CvD,EAAGmD,QAAQJ,CAAM,EAAExB,KAAK,iBAAiB,IAE7C+B,EAAEE,eAAe,EAjGRtD,EAkGWA,GAhGhCqD,EAA4C,UAFZpC,EAkGWA,GAjG3Bd,KAAK,uBAAuB,EACzBkB,KAAK,cAAc,IAE3B,CAACtB,EAAUC,CAAS,GAC/BA,EAAUG,KAAK,gCAAgC,EAAEC,IAAIa,CAAI,EAAEyB,KAAK,WAC5Df,EAAqBzC,EAAEyD,IAAI,EAAG,CAAA,CAAK,CACvC,CAAC,EAGLhB,EAAqBV,EAAMoC,CAAO,EAyFtB,CAAC,EAGDpC,EAAKd,KAAK,oBAAoB,EAAEE,QAEpCP,EAAGyD,mBAAmBtC,EAAM,iBAAkBnB,EAAG0D,SAASC,gBACtD3D,EAAG2B,EAAE,+BAA+B,EAAG,SAASiC,GAC5CzC,EAAK0C,QAAQ,IAAKD,CAAO,CAC7B,CAAC,CACT,CAAC,CACL,EAEAE,OAAQ,SAAS5D,GACbF,EAAG+D,cAAc7D,CAAS,EAG1BA,EAAUG,KAAK,gCAAgC,EAAEuC,KAAK,WAClDf,EAAqBzC,EAAEyD,IAAI,EACwC,SAA/DzD,EAAEyD,IAAI,EAAExC,KAAK,uBAAuB,EAAEkB,KAAK,cAAc,CAAY,CAC7E,CAAC,EAEDrB,EAAUG,KAAK,oBAAoB,EAAE2D,YAAY,mBAAmB,EACpEhE,EAAGiE,aAAa/D,CAAS,CAC7B,EAEAgE,cAAe,SAAShE,EAAWiB,GApGvC,IACQpB,EACAsB,EAFuBnB,EAqGDA,EApGtBH,GADkCoB,EAqGDA,GApGhBgD,QAAQ,YAAY,EACrC9C,EAAWF,EAAKd,KAAK,uBAAuB,EAI5CJ,EAAUC,EAAWiB,CAAI,EACzBE,EAAS+C,WAAW,gBAAgB,EAEpC/C,EAASE,KAAK,iBAAkB,IAAMxB,EAAUwB,KAAK,IAAI,CAAC,CA6F9D,CACJ,CACJ,CAEC,GAAE8C,MAAM"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Alignment for grid-editor.
3
+ *
4
+ * A utility plugin: load this file after the editor and a row's columns can be
5
+ * justified and aligned per breakpoint, and a column can align itself, with
6
+ * Bootstrap's justify-content-{breakpoint}-*, align-items-{breakpoint}-* and
7
+ * align-self-{breakpoint}-* classes. What it can ask the editor for is the
8
+ * handle its factory is called with, described in docs/plugins.md.
9
+ *
10
+ * <script src="dist/jquery.grideditor.min.js"></script>
11
+ * <script src="dist/plugins/grideditor.alignment.min.js"></script>
12
+ *
13
+ * Fields only, in the settings panels: alignment is set now and then, not
14
+ * clicked through, and a drawer is short of room.
15
+ */
16
+ (function($) {
17
+
18
+ $.extend($.fn.gridEditor.locales.en, {
19
+ 'utility.justify_content': 'Justify columns',
20
+ 'utility.align_items': 'Align columns',
21
+ 'utility.align_self': 'Align self',
22
+ });
23
+
24
+ /** What Bootstrap's value names come to in css. */
25
+ var FLEX = {
26
+ start: 'flex-start',
27
+ end: 'flex-end',
28
+ center: 'center',
29
+ between: 'space-between',
30
+ around: 'space-around',
31
+ evenly: 'space-evenly',
32
+ baseline: 'baseline',
33
+ stretch: 'stretch',
34
+ auto: 'auto',
35
+ };
36
+
37
+ /**
38
+ * A family whose preview is its one css property. `none` is what the
39
+ * property is when no class says anything, which a view has to show over a
40
+ * wider breakpoint's class that is live in a wide window.
41
+ */
42
+ function family(definition) {
43
+ return $.extend({
44
+ prefix: definition.name,
45
+ preview: function(value) {
46
+ var styles = {};
47
+ styles[definition.name] = value === null ? definition.none : FLEX[value];
48
+ return styles;
49
+ },
50
+ }, definition);
51
+ }
52
+
53
+ $.fn.gridEditor.utilities.alignment = function() {
54
+ return {
55
+ families: [
56
+ family({
57
+ name: 'justify-content',
58
+ labelKey: 'utility.justify_content',
59
+ values: ['start', 'center', 'end', 'between', 'around', 'evenly'],
60
+ appliesTo: ['row'],
61
+ none: 'normal',
62
+ }),
63
+ family({
64
+ name: 'align-items',
65
+ labelKey: 'utility.align_items',
66
+ values: ['start', 'center', 'end', 'baseline', 'stretch'],
67
+ appliesTo: ['row'],
68
+ none: 'normal',
69
+ }),
70
+ family({
71
+ name: 'align-self',
72
+ labelKey: 'utility.align_self',
73
+ values: ['auto', 'start', 'center', 'end', 'baseline', 'stretch'],
74
+ appliesTo: ['column'],
75
+ none: 'auto',
76
+ }),
77
+ ],
78
+ };
79
+ };
80
+
81
+ })(jQuery);
@@ -0,0 +1,2 @@
1
+ (e=>{e.extend(e.fn.gridEditor.locales.en,{"utility.justify_content":"Justify columns","utility.align_items":"Align columns","utility.align_self":"Align self"});var l={start:"flex-start",end:"flex-end",center:"center",between:"space-between",around:"space-around",evenly:"space-evenly",baseline:"baseline",stretch:"stretch",auto:"auto"};function n(t){return e.extend({prefix:t.name,preview:function(e){var n={};return n[t.name]=null===e?t.none:l[e],n}},t)}e.fn.gridEditor.utilities.alignment=function(){return{families:[n({name:"justify-content",labelKey:"utility.justify_content",values:["start","center","end","between","around","evenly"],appliesTo:["row"],none:"normal"}),n({name:"align-items",labelKey:"utility.align_items",values:["start","center","end","baseline","stretch"],appliesTo:["row"],none:"normal"}),n({name:"align-self",labelKey:"utility.align_self",values:["auto","start","center","end","baseline","stretch"],appliesTo:["column"],none:"auto"})]}}})(jQuery);
2
+ //# sourceMappingURL=grideditor.alignment.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grideditor.alignment.min.js","sources":["../../src/js/plugins/grideditor.alignment.js"],"names":["$","extend","fn","gridEditor","locales","en","utility.justify_content","utility.align_items","utility.align_self","FLEX","start","end","center","between","around","evenly","baseline","stretch","auto","family","definition","prefix","name","preview","value","styles","none","utilities","alignment","families","labelKey","values","appliesTo","jQuery"],"mappings":"CAeUA,IAEVA,EAAEC,OAAOD,EAAEE,GAAGC,WAAWC,QAAQC,GAAI,CACjCC,0BAA2B,kBAC3BC,sBAAuB,gBACvBC,qBAAsB,YAC1B,CAAC,EAGD,IAAIC,EAAO,CACPC,MAAO,aACPC,IAAK,WACLC,OAAQ,SACRC,QAAS,gBACTC,OAAQ,eACRC,OAAQ,eACRC,SAAU,WACVC,QAAS,UACTC,KAAM,MACV,EAOA,SAASC,EAAOC,GACZ,OAAOpB,EAAEC,OAAO,CACZoB,OAAQD,EAAWE,KACnBC,QAAS,SAASC,GACd,IAAIC,EAAS,GAEb,OADAA,EAAOL,EAAWE,MAAkB,OAAVE,EAAiBJ,EAAWM,KAAOjB,EAAKe,GAC3DC,CACX,CACJ,EAAGL,CAAU,CACjB,CAEApB,EAAEE,GAAGC,WAAWwB,UAAUC,UAAY,WAClC,MAAO,CACHC,SAAU,CACNV,EAAO,CACHG,KAAM,kBACNQ,SAAU,0BACVC,OAAQ,CAAC,QAAS,SAAU,MAAO,UAAW,SAAU,UACxDC,UAAW,CAAC,OACZN,KAAM,QACV,CAAC,EACDP,EAAO,CACHG,KAAM,cACNQ,SAAU,sBACVC,OAAQ,CAAC,QAAS,SAAU,MAAO,WAAY,WAC/CC,UAAW,CAAC,OACZN,KAAM,QACV,CAAC,EACDP,EAAO,CACHG,KAAM,aACNQ,SAAU,qBACVC,OAAQ,CAAC,OAAQ,QAAS,SAAU,MAAO,WAAY,WACvDC,UAAW,CAAC,UACZN,KAAM,MACV,CAAC,EAET,CACJ,CAEC,GAAEO,MAAM"}
@@ -127,13 +127,13 @@ $.fn.gridEditor.features.elements = function(ge) {
127
127
  onContentReady: markElements,
128
128
 
129
129
  /** Elements move within a content area and between them. */
130
- onSortable: function(shared) {
130
+ onSortable: function(sortable) {
131
131
  if (!elementsEnabled()) { return; }
132
132
 
133
- ge.canvas.find('.ge-content').sortable($.extend({
134
- items: '> .ge-element',
135
- connectWith: '.ge-canvas .ge-content',
136
- }, shared, ge.settings.sortable_options));
133
+ sortable(ge.canvas.find('.ge-content'), {
134
+ draggable: '.ge-element',
135
+ group: 'element',
136
+ });
137
137
  },
138
138
  };
139
139
  };
@@ -1,2 +1,2 @@
1
- (a=>{a.extend(a.fn.gridEditor.locales.en,{"tool.delete_element":"Remove element","tool.element_info":"Element: {name}","confirm.delete_element":"Delete element?"}),a.fn.gridEditor.features.elements=function(l){function t(){return"auto"!==l.settings.elements.enabled?l.settings.elements.enabled:l.settings.elements.auto||0<l.canvas.find(l.settings.elements.selector).length}function e(){t()&&l.canvas.find(".ge-content").each(function(){var e;e=a(this),(l.settings.elements.auto?e.children():e.children(l.settings.elements.selector)).each(function(){var t,n,e=a(this).addClass("ge-element").attr("contenteditable","false");e.find("> .ge-tools-drawer").length||(t=e,n=a('<div class="ge-tools-drawer ge-element-drawer" />').attr("data-mce-bogus","all").prependTo(t),l.createMoveTool(n),l.createTool(n,l.t("tool.element_info",{name:(e=>{var t=e.attr("data-ge-element"),n=e.attr("data-ge-label");return n&&t?n+" ("+t+")":n||t||e[0].tagName.toLowerCase()})(t)}),"ge-element-info","bi bi-info-circle"),l.addSettingsTool(n,t,l.settings.element_classes),l.settings.element_tools.forEach(function(e){l.createTool(n,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),l.createTool(n,l.t("tool.delete_element"),"ge-delete-element","bi bi-trash",function(){l.deleteNode("element",t,l.t("confirm.delete_element"),function(e){t.animate({opacity:"hide",height:"hide"},300,e)})}))})})}return{methods:{createElement:function(e,t){return t=t||{},e=a('<div class="ge-element" />').attr("data-ge-element",t.type||"element").append(e),void 0!==t.label&&e.attr("data-ge-label",t.label),l.place(e,"element",t)}},kindOf:function(e){return e.hasClass("ge-element")?"element":null},onInit:e,onDeinit:function(){l.canvas.find(".ge-element").each(function(){var e=a(this).removeClass("ge-element").removeAttr("contenteditable");e.attr("class")||e.removeAttr("class")})},onContentReady:e,onSortable:function(e){t()&&l.canvas.find(".ge-content").sortable(a.extend({items:"> .ge-element",connectWith:".ge-canvas .ge-content"},e,l.settings.sortable_options))}}}})(jQuery);
1
+ (a=>{a.extend(a.fn.gridEditor.locales.en,{"tool.delete_element":"Remove element","tool.element_info":"Element: {name}","confirm.delete_element":"Delete element?"}),a.fn.gridEditor.features.elements=function(l){function t(){return"auto"!==l.settings.elements.enabled?l.settings.elements.enabled:l.settings.elements.auto||0<l.canvas.find(l.settings.elements.selector).length}function e(){t()&&l.canvas.find(".ge-content").each(function(){var e;e=a(this),(l.settings.elements.auto?e.children():e.children(l.settings.elements.selector)).each(function(){var t,n,e=a(this).addClass("ge-element").attr("contenteditable","false");e.find("> .ge-tools-drawer").length||(t=e,n=a('<div class="ge-tools-drawer ge-element-drawer" />').attr("data-mce-bogus","all").prependTo(t),l.createMoveTool(n),l.createTool(n,l.t("tool.element_info",{name:(e=>{var t=e.attr("data-ge-element"),n=e.attr("data-ge-label");return n&&t?n+" ("+t+")":n||t||e[0].tagName.toLowerCase()})(t)}),"ge-element-info","bi bi-info-circle"),l.addSettingsTool(n,t,l.settings.element_classes),l.settings.element_tools.forEach(function(e){l.createTool(n,e.title||"",e.className||"",e.iconClass||"bi bi-wrench",e.on)}),l.createTool(n,l.t("tool.delete_element"),"ge-delete-element","bi bi-trash",function(){l.deleteNode("element",t,l.t("confirm.delete_element"),function(e){t.animate({opacity:"hide",height:"hide"},300,e)})}))})})}return{methods:{createElement:function(e,t){return t=t||{},e=a('<div class="ge-element" />').attr("data-ge-element",t.type||"element").append(e),void 0!==t.label&&e.attr("data-ge-label",t.label),l.place(e,"element",t)}},kindOf:function(e){return e.hasClass("ge-element")?"element":null},onInit:e,onDeinit:function(){l.canvas.find(".ge-element").each(function(){var e=a(this).removeClass("ge-element").removeAttr("contenteditable");e.attr("class")||e.removeAttr("class")})},onContentReady:e,onSortable:function(e){t()&&e(l.canvas.find(".ge-content"),{draggable:".ge-element",group:"element"})}}}})(jQuery);
2
2
  //# sourceMappingURL=grideditor.elements.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grideditor.elements.min.js","sources":["../../src/js/plugins/grideditor.elements.js"],"names":["$","extend","fn","gridEditor","locales","en","tool.delete_element","tool.element_info","confirm.delete_element","features","elements","ge","elementsEnabled","settings","enabled","auto","canvas","find","selector","length","markElements","each","contentArea","this","children","element","drawer","addClass","attr","prependTo","createMoveTool","createTool","t","name","type","label","tagName","toLowerCase","addSettingsTool","element_classes","element_tools","forEach","hostTool","title","className","iconClass","on","deleteNode","removed","animate","opacity","height","methods","createElement","content","options","append","undefined","place","kindOf","node","hasClass","onInit","onDeinit","removeClass","removeAttr","onContentReady","onSortable","shared","sortable","items","connectWith","sortable_options","jQuery"],"mappings":"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"}
1
+ {"version":3,"file":"grideditor.elements.min.js","sources":["../../src/js/plugins/grideditor.elements.js"],"names":["$","extend","fn","gridEditor","locales","en","tool.delete_element","tool.element_info","confirm.delete_element","features","elements","ge","elementsEnabled","settings","enabled","auto","canvas","find","selector","length","markElements","each","contentArea","this","children","element","drawer","addClass","attr","prependTo","createMoveTool","createTool","t","name","type","label","tagName","toLowerCase","addSettingsTool","element_classes","element_tools","forEach","hostTool","title","className","iconClass","on","deleteNode","removed","animate","opacity","height","methods","createElement","content","options","append","undefined","place","kindOf","node","hasClass","onInit","onDeinit","removeClass","removeAttr","onContentReady","onSortable","sortable","draggable","group","jQuery"],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Gutters for grid-editor.
3
+ *
4
+ * A utility plugin: load this file after the editor and a row's gutters can
5
+ * differ per breakpoint, with Bootstrap's g-{breakpoint}-*, gx-{breakpoint}-*
6
+ * and gy-{breakpoint}-* classes. What it can ask the editor for is the handle
7
+ * its factory is called with, described in docs/plugins.md.
8
+ *
9
+ * <script src="dist/jquery.grideditor.min.js"></script>
10
+ * <script src="dist/plugins/grideditor.gutters.min.js"></script>
11
+ *
12
+ * The editor draws its own frame round every column, narrower than any
13
+ * gutter, so a row with gutter classes is drawn with its real gutters instead.
14
+ *
15
+ * utilities.gutters.scale is what 0 to 5 come to, for a page that changed
16
+ * Bootstrap's $spacers.
17
+ */
18
+ (function($) {
19
+
20
+ $.extend($.fn.gridEditor.locales.en, {
21
+ 'utility.gutters': 'Gutters',
22
+ 'utility.gutters_x': 'Horizontal gutters',
23
+ 'utility.gutters_y': 'Vertical gutters',
24
+ });
25
+
26
+ var VALUES = ['0', '1', '2', '3', '4', '5'];
27
+
28
+ /** Bootstrap's own: $spacers, and what a row's gutters are with no class. */
29
+ var SCALE = ['0', '.25rem', '.5rem', '1rem', '1.5rem', '3rem'];
30
+ var DEFAULT_X = '1.5rem';
31
+ var DEFAULT_Y = '0';
32
+
33
+ var INFIXES = ['', 'sm', 'md', 'lg', 'xl', 'xxl'];
34
+ var CLASS_PATTERN = /(?:^|\s)g[xy]?-(?:(?:sm|md|lg|xl|xxl)-)?[0-5](?:\s|$)/;
35
+
36
+ $.fn.gridEditor.utilities.gutters = function(ge) {
37
+
38
+ var options = $.extend({ scale: SCALE }, ge.settings.utilities.gutters);
39
+
40
+ /**
41
+ * The class of a family that decides a row's gutters at a breakpoint:
42
+ * the widest breakpoint up to it that has one, as { tier, value }.
43
+ */
44
+ function source(row, prefix, tier) {
45
+ var classes = (row.attr('class') || '').split(/\s+/);
46
+
47
+ for (var i = tier; i >= 0; i--) {
48
+ for (var value = VALUES.length - 1; value >= 0; value--) {
49
+ var name = prefix + (INFIXES[i] ? '-' + INFIXES[i] : '') + '-' + value;
50
+ if (classes.indexOf(name) !== -1) { return { tier: i, value: value }; }
51
+ }
52
+ }
53
+
54
+ return null;
55
+ }
56
+
57
+ /**
58
+ * One axis the way Bootstrap's css settles it. g and gx (or gy) set the
59
+ * same variable, every breakpoint's rules come after the smaller ones',
60
+ * and within a breakpoint the bigger values come later. So the class
61
+ * that wins is the one from the wider breakpoint, then the bigger one -
62
+ * not the more specific family, whatever that would suggest.
63
+ */
64
+ function axis(row, prefix, fallback) {
65
+ var tier = ge.breakpoints.indexOf(ge.view());
66
+ var winner = [source(row, 'g', tier), source(row, prefix, tier)]
67
+ .filter(Boolean)
68
+ .sort(function(a, b) { return b.tier - a.tier || b.value - a.value; })[0];
69
+
70
+ return winner ? options.scale[winner.value] : fallback;
71
+ }
72
+
73
+ function preview(axes) {
74
+ return function(value, row) {
75
+ var styles = {};
76
+
77
+ if (axes.indexOf('x') !== -1) { styles['--bs-gutter-x'] = axis(row, 'gx', DEFAULT_X); }
78
+ if (axes.indexOf('y') !== -1) { styles['--bs-gutter-y'] = axis(row, 'gy', DEFAULT_Y); }
79
+
80
+ return styles;
81
+ };
82
+ }
83
+
84
+ /**
85
+ * Choosing g sets both axes, so a gx or gy the same breakpoint had is
86
+ * taken off: left on, the bigger of the two would win, and the field the
87
+ * user just chose would not be what the row shows.
88
+ */
89
+ function afterUtility(e, payload) {
90
+ if (payload.family !== 'g') { return; }
91
+
92
+ ['gx', 'gy'].forEach(function(family) {
93
+ ge.setUtility(payload.node, family, null, { view: payload.breakpoint, source: payload.source });
94
+ });
95
+ }
96
+
97
+ function mark(scope) {
98
+ scope.find('.row').addBack('.row').each(function() {
99
+ var row = $(this);
100
+ row.toggleClass('ge-gutters', CLASS_PATTERN.test(row.attr('class') || ''));
101
+ });
102
+ }
103
+
104
+ return {
105
+ families: [
106
+ {
107
+ name: 'g',
108
+ prefix: 'g',
109
+ values: VALUES,
110
+ appliesTo: ['row'],
111
+ labelKey: 'utility.gutters',
112
+ preview: preview(['x', 'y']),
113
+ },
114
+ {
115
+ name: 'gx',
116
+ prefix: 'gx',
117
+ values: VALUES,
118
+ appliesTo: ['row'],
119
+ labelKey: 'utility.gutters_x',
120
+ preview: preview(['x']),
121
+ },
122
+ {
123
+ name: 'gy',
124
+ prefix: 'gy',
125
+ values: VALUES,
126
+ appliesTo: ['row'],
127
+ labelKey: 'utility.gutters_y',
128
+ preview: preview(['y']),
129
+ },
130
+ ],
131
+
132
+ onInit: function() {
133
+ ge.canvas.off('grideditor:after-utility.ge-gutters').on('grideditor:after-utility.ge-gutters', afterUtility);
134
+ },
135
+
136
+ onRefresh: mark,
137
+
138
+ onDeinit: function() {
139
+ ge.canvas.off('grideditor:after-utility.ge-gutters');
140
+ ge.canvas.find('.ge-gutters').removeClass('ge-gutters');
141
+ },
142
+ };
143
+ };
144
+
145
+ })(jQuery);
@@ -0,0 +1,2 @@
1
+ (r=>{r.extend(r.fn.gridEditor.locales.en,{"utility.gutters":"Gutters","utility.gutters_x":"Horizontal gutters","utility.gutters_y":"Vertical gutters"});var a=["0","1","2","3","4","5"],i=["0",".25rem",".5rem","1rem","1.5rem","3rem"],g=["","sm","md","lg","xl","xxl"],o=/(?:^|\s)g[xy]?-(?:(?:sm|md|lg|xl|xxl)-)?[0-5](?:\s|$)/;r.fn.gridEditor.utilities.gutters=function(n){var u=r.extend({scale:i},n.settings.utilities.gutters);function s(t,e,r){for(var i=(t.attr("class")||"").split(/\s+/),n=r;0<=n;n--)for(var u=a.length-1;0<=u;u--)if(-1!==i.indexOf(e+(g[n]?"-"+g[n]:"")+"-"+u))return{tier:n,value:u};return null}function l(t,e,r){var i=n.breakpoints.indexOf(n.view()),t=[s(t,"g",i),s(t,e,i)].filter(Boolean).sort(function(t,e){return e.tier-t.tier||e.value-t.value})[0];return t?u.scale[t.value]:r}function t(i){return function(t,e){var r={};return-1!==i.indexOf("x")&&(r["--bs-gutter-x"]=l(e,"gx","1.5rem")),-1!==i.indexOf("y")&&(r["--bs-gutter-y"]=l(e,"gy","0")),r}}function e(t,e){"g"===e.family&&["gx","gy"].forEach(function(t){n.setUtility(e.node,t,null,{view:e.breakpoint,source:e.source})})}return{families:[{name:"g",prefix:"g",values:a,appliesTo:["row"],labelKey:"utility.gutters",preview:t(["x","y"])},{name:"gx",prefix:"gx",values:a,appliesTo:["row"],labelKey:"utility.gutters_x",preview:t(["x"])},{name:"gy",prefix:"gy",values:a,appliesTo:["row"],labelKey:"utility.gutters_y",preview:t(["y"])}],onInit:function(){n.canvas.off("grideditor:after-utility.ge-gutters").on("grideditor:after-utility.ge-gutters",e)},onRefresh:function(t){t.find(".row").addBack(".row").each(function(){var t=r(this);t.toggleClass("ge-gutters",o.test(t.attr("class")||""))})},onDeinit:function(){n.canvas.off("grideditor:after-utility.ge-gutters"),n.canvas.find(".ge-gutters").removeClass("ge-gutters")}}}})(jQuery);
2
+ //# sourceMappingURL=grideditor.gutters.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grideditor.gutters.min.js","sources":["../../src/js/plugins/grideditor.gutters.js"],"names":["$","extend","fn","gridEditor","locales","en","utility.gutters","utility.gutters_x","utility.gutters_y","VALUES","SCALE","INFIXES","CLASS_PATTERN","utilities","gutters","ge","options","scale","settings","source","row","prefix","tier","classes","attr","split","i","value","length","indexOf","axis","fallback","breakpoints","view","winner","filter","Boolean","sort","a","b","preview","axes","styles","afterUtility","e","payload","family","forEach","setUtility","node","breakpoint","families","name","values","appliesTo","labelKey","onInit","canvas","off","on","onRefresh","scope","find","addBack","each","this","toggleClass","test","onDeinit","removeClass","jQuery"],"mappings":"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"}
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Column order for grid-editor.
3
+ *
4
+ * A utility plugin: load this file after the editor and a column's place in
5
+ * its row can differ per breakpoint, with Bootstrap's order-{breakpoint}-*
6
+ * classes. What it can ask the editor for is the handle its factory is called
7
+ * with, described in docs/plugins.md.
8
+ *
9
+ * <script src="dist/jquery.grideditor.min.js"></script>
10
+ * <script src="dist/plugins/grideditor.order.min.js"></script>
11
+ *
12
+ * Two arrows in each column's drawer move it one place earlier or later in
13
+ * the view being edited, by numbering the row's columns; the markup does not
14
+ * move. Dragging still moves the markup, as it always has.
15
+ *
16
+ * utilities.order.drawer: false leaves the arrows out, and the panel field is
17
+ * the only control.
18
+ */
19
+ (function($) {
20
+
21
+ $.extend($.fn.gridEditor.locales.en, {
22
+ 'utility.order': 'Order',
23
+ 'utility.order_first': 'First',
24
+ 'utility.order_last': 'Last',
25
+ 'tool.order_earlier': 'Earlier in this view',
26
+ 'tool.order_later': 'Later in this view',
27
+ 'badge.order': 'Order: {value}',
28
+ });
29
+
30
+ var VALUES = ['first', '0', '1', '2', '3', '4', '5', 'last'];
31
+
32
+ /** Where each value puts a column, as Bootstrap's css has it. */
33
+ var RANK = { first: -1, last: 6 };
34
+
35
+ /** A column that carries any class of the family, at any breakpoint. */
36
+ var CLASS_PATTERN = /(?:^|\s)order-(?:(?:sm|md|lg|xl|xxl)-)?(?:first|last|[0-5])(?:\s|$)/;
37
+
38
+ $.fn.gridEditor.utilities.order = function(ge) {
39
+
40
+ var options = $.extend({ drawer: true }, ge.settings.utilities.order);
41
+ var warnedAboutDrag = false;
42
+
43
+ function rank(value) {
44
+ if (value === null) { return 0; }
45
+
46
+ return RANK[value] !== undefined ? RANK[value] : parseInt(value, 10);
47
+ }
48
+
49
+ function label(value) {
50
+ if (value === 'first') { return ge.t('utility.order_first'); }
51
+ if (value === 'last') { return ge.t('utility.order_last'); }
52
+
53
+ return value;
54
+ }
55
+
56
+ /** The columns of a row in the order a view shows them, given what each one's order is. */
57
+ function visualOrder(columns, read) {
58
+ return columns.get()
59
+ .map(function(element, index) {
60
+ return { element: element, index: index, rank: rank(read($(element))) };
61
+ })
62
+ .sort(function(a, b) { return a.rank - b.rank || a.index - b.index; })
63
+ .map(function(entry) { return entry.element; });
64
+ }
65
+
66
+ function sameOrder(a, b) {
67
+ return a.every(function(element, index) { return element === b[index]; });
68
+ }
69
+
70
+ /**
71
+ * The values that put n columns in n places, or null past eight: that
72
+ * is how many places Bootstrap's order classes have.
73
+ */
74
+ function slots(count) {
75
+ if (count <= 6) { return VALUES.slice(1, 1 + count); }
76
+ if (count === 7) { return VALUES.slice(1); }
77
+ if (count === 8) { return VALUES.slice(); }
78
+
79
+ return null;
80
+ }
81
+
82
+ /**
83
+ * Move a column one place earlier or later in the view being edited.
84
+ *
85
+ * The row's columns are numbered in their new order. When that order is
86
+ * the markup's own, the numbers are taken off instead - unless what is
87
+ * left underneath, the breakpoint below, would then order them some other
88
+ * way, and the numbers are what keep them in the markup's order.
89
+ */
90
+ function move(col, direction) {
91
+ var view = ge.view();
92
+ var columns = col.parent().children('.column');
93
+ var shown = visualOrder(columns, function(column) { return ge.getUtility(column, 'order', view); });
94
+ var from = shown.indexOf(col[0]);
95
+ var to = from + direction;
96
+
97
+ if (to < 0 || to >= shown.length) { return; }
98
+
99
+ shown.splice(to, 0, shown.splice(from, 1)[0]);
100
+
101
+ var values = null;
102
+ if (!sameOrder(shown, columns.get()) || !inheritsMarkupOrder(columns, view)) {
103
+ values = slots(shown.length);
104
+
105
+ if (!values) {
106
+ ge.warn('a row of ' + shown.length + ' columns cannot be reordered with Bootstrap\'s ' +
107
+ 'order classes, which have eight places');
108
+ return;
109
+ }
110
+ }
111
+
112
+ ge.operate(function() {
113
+ shown.forEach(function(element, index) {
114
+ ge.setUtility($(element), 'order', values ? values[index] : null, { source: 'tool' });
115
+ });
116
+ });
117
+ }
118
+
119
+ /** Whether taking this view's classes off leaves the columns in the markup's order. */
120
+ function inheritsMarkupOrder(columns, view) {
121
+ var index = ge.breakpoints.indexOf(view);
122
+ if (index <= 0) { return true; }
123
+
124
+ var below = ge.breakpoints[index - 1];
125
+
126
+ return sameOrder(visualOrder(columns, function(column) {
127
+ return ge.getUtility(column, 'order', below);
128
+ }), columns.get());
129
+ }
130
+
131
+ /** Whether a row's columns are ordered by class, rather than by the markup, in this view. */
132
+ function ordered(row) {
133
+ return row.children('.column').get().some(function(element) {
134
+ return ge.getUtility($(element), 'order', ge.view()) !== null;
135
+ });
136
+ }
137
+
138
+ /** The badge: a column ordered by class in this view says where. */
139
+ function mark(scope) {
140
+ scope.find('.column').addBack('.column').each(function() {
141
+ var col = $(this);
142
+ var value = CLASS_PATTERN.test(col.attr('class') || '')
143
+ ? ge.getUtility(col, 'order', ge.view())
144
+ : null;
145
+
146
+ if (value === null) {
147
+ col.removeAttr('data-ge-order');
148
+ } else {
149
+ col.attr('data-ge-order', ge.t('badge.order', { value: label(value) }));
150
+ }
151
+ });
152
+ }
153
+
154
+ /**
155
+ * A column dropped in a row ordered by class lands where the markup puts
156
+ * it, and shows up where its order does, which is worth saying once.
157
+ */
158
+ function afterMove(e, payload) {
159
+ if (warnedAboutDrag || payload.kind !== 'column' || !payload.to) { return; }
160
+ if (!ordered(payload.to.parent)) { return; }
161
+
162
+ warnedAboutDrag = true;
163
+ ge.warn('a column was dropped in a row whose columns carry order classes in this view: ' +
164
+ 'where it shows is set by those classes, not by where it sits in the markup');
165
+ }
166
+
167
+ return {
168
+ families: [{
169
+ name: 'order',
170
+ prefix: 'order',
171
+ values: VALUES,
172
+ appliesTo: ['column'],
173
+ labelKey: 'utility.order',
174
+ label: label,
175
+ preview: function(value) {
176
+ return { order: rank(value) };
177
+ },
178
+ }],
179
+
180
+ drawerTools: function(drawer, node, kind) {
181
+ if (!options.drawer || kind !== 'column') { return; }
182
+
183
+ ge.createTool(drawer, ge.t('tool.order_earlier'), 'ge-order-earlier', 'bi bi-chevron-left', function() {
184
+ move(node, -1);
185
+ });
186
+ ge.createTool(drawer, ge.t('tool.order_later'), 'ge-order-later', 'bi bi-chevron-right', function() {
187
+ move(node, 1);
188
+ });
189
+ },
190
+
191
+ // init runs again whenever a node is added, without a deinit
192
+ // between, so the listener is replaced rather than stacked
193
+ onInit: function() {
194
+ ge.canvas.off('grideditor:after-move.ge-order').on('grideditor:after-move.ge-order', afterMove);
195
+ },
196
+
197
+ onRefresh: mark,
198
+
199
+ onDeinit: function() {
200
+ ge.canvas.off('grideditor:after-move.ge-order');
201
+ ge.canvas.find('[data-ge-order]').removeAttr('data-ge-order');
202
+ },
203
+ };
204
+ };
205
+
206
+ })(jQuery);
@@ -0,0 +1,2 @@
1
+ (u=>{u.extend(u.fn.gridEditor.locales.en,{"utility.order":"Order","utility.order_first":"First","utility.order_last":"Last","tool.order_earlier":"Earlier in this view","tool.order_later":"Later in this view","badge.order":"Order: {value}"});var c=["first","0","1","2","3","4","5","last"],r={first:-1,last:6},f=/(?:^|\s)order-(?:(?:sm|md|lg|xl|xxl)-)?(?:first|last|[0-5])(?:\s|$)/;u.fn.gridEditor.utilities.order=function(l){var n=u.extend({drawer:!0},l.settings.utilities.order),t=!1;function i(e){return null===e?0:void 0!==r[e]?r[e]:parseInt(e,10)}function o(e){return"first"===e?l.t("utility.order_first"):"last"===e?l.t("utility.order_last"):e}function a(e,t){return e.get().map(function(e,r){return{element:e,index:r,rank:i(t(u(e)))}}).sort(function(e,r){return e.rank-r.rank||e.index-r.index}).map(function(e){return e.element})}function d(e,t){return e.every(function(e,r){return e===t[r]})}function s(e,r){var t,n=l.view(),i=e.parent().children(".column"),o=a(i,function(e){return l.getUtility(e,"order",n)}),e=o.indexOf(e[0]),r=e+r;r<0||r>=o.length||(o.splice(r,0,o.splice(e,1)[0]),t=null,d(o,i.get())&&((e,r)=>{var t;return(r=l.breakpoints.indexOf(r))<=0||(t=l.breakpoints[r-1],d(a(e,function(e){return l.getUtility(e,"order",t)}),e.get()))})(i,n)||(r=o.length,t=r<=6?c.slice(1,1+r):7===r?c.slice(1):8===r?c.slice():null)?l.operate(function(){o.forEach(function(e,r){l.setUtility(u(e),"order",t?t[r]:null,{source:"tool"})})}):l.warn("a row of "+o.length+" columns cannot be reordered with Bootstrap's order classes, which have eight places"))}function e(e,r){!t&&"column"===r.kind&&r.to&&r.to.parent.children(".column").get().some(function(e){return null!==l.getUtility(u(e),"order",l.view())})&&(t=!0,l.warn("a column was dropped in a row whose columns carry order classes in this view: where it shows is set by those classes, not by where it sits in the markup"))}return{families:[{name:"order",prefix:"order",values:c,appliesTo:["column"],labelKey:"utility.order",label:o,preview:function(e){return{order:i(e)}}}],drawerTools:function(e,r,t){n.drawer&&"column"===t&&(l.createTool(e,l.t("tool.order_earlier"),"ge-order-earlier","bi bi-chevron-left",function(){s(r,-1)}),l.createTool(e,l.t("tool.order_later"),"ge-order-later","bi bi-chevron-right",function(){s(r,1)}))},onInit:function(){l.canvas.off("grideditor:after-move.ge-order").on("grideditor:after-move.ge-order",e)},onRefresh:function(e){e.find(".column").addBack(".column").each(function(){var e=u(this),r=f.test(e.attr("class")||"")?l.getUtility(e,"order",l.view()):null;null===r?e.removeAttr("data-ge-order"):e.attr("data-ge-order",l.t("badge.order",{value:o(r)}))})},onDeinit:function(){l.canvas.off("grideditor:after-move.ge-order"),l.canvas.find("[data-ge-order]").removeAttr("data-ge-order")}}}})(jQuery);
2
+ //# sourceMappingURL=grideditor.order.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grideditor.order.min.js","sources":["../../src/js/plugins/grideditor.order.js"],"names":["$","extend","fn","gridEditor","locales","en","utility.order","utility.order_first","utility.order_last","tool.order_earlier","tool.order_later","badge.order","VALUES","RANK","first","last","CLASS_PATTERN","utilities","order","ge","options","drawer","settings","warnedAboutDrag","rank","value","undefined","parseInt","label","t","visualOrder","columns","read","get","map","element","index","sort","a","b","entry","sameOrder","every","move","col","direction","values","view","parent","children","shown","column","getUtility","from","indexOf","to","length","splice","below","breakpoints","count","slice","operate","forEach","setUtility","source","warn","afterMove","e","payload","kind","some","families","name","prefix","appliesTo","labelKey","preview","drawerTools","node","createTool","onInit","canvas","off","on","onRefresh","scope","find","addBack","each","this","test","attr","removeAttr","onDeinit","jQuery"],"mappings":"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"}