definicao de layout
1307
public/assets/js/page-builder/ckeditor.js
vendored
Normal file
38
public/assets/js/page-builder/config.js
Normal file
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
|
||||
* For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
CKEDITOR.editorConfig = function( config ) {
|
||||
// Define changes to default configuration here.
|
||||
// For complete reference see:
|
||||
// http://docs.ckeditor.com/#!/api/CKEDITOR.config
|
||||
|
||||
// The toolbar groups arrangement, optimized for two toolbar rows.
|
||||
config.toolbarGroups = [
|
||||
{ name: 'clipboard', groups: [ 'clipboard', 'undo' ] },
|
||||
{ name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ] },
|
||||
{ name: 'links' },
|
||||
{ name: 'insert' },
|
||||
{ name: 'forms' },
|
||||
{ name: 'tools' },
|
||||
{ name: 'document', groups: [ 'mode', 'document', 'doctools' ] },
|
||||
{ name: 'others' },
|
||||
'/',
|
||||
{ name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
|
||||
{ name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] },
|
||||
{ name: 'styles' },
|
||||
{ name: 'colors' },
|
||||
{ name: 'about' }
|
||||
];
|
||||
|
||||
// Remove some buttons provided by the standard plugins, which are
|
||||
// not needed in the Standard(s) toolbar.
|
||||
config.removeButtons = 'Underline,Subscript,Superscript';
|
||||
|
||||
// Set the most common block elements.
|
||||
config.format_tags = 'p;h1;h2;h3;pre';
|
||||
|
||||
// Simplify the dialog windows.
|
||||
config.removeDialogTabs = 'image:advanced;link:advanced';
|
||||
};
|
||||
420
public/assets/js/page-builder/jquery.grideditor.min.js
vendored
Normal file
@@ -0,0 +1,420 @@
|
||||
! function(a) {
|
||||
a.fn.gridEditor = function(b) {
|
||||
var c = this,
|
||||
d = c.data("grideditor");
|
||||
if ("getHtml" == arguments[0]) {
|
||||
if (d) {
|
||||
d.deinit();
|
||||
var e = c.html();
|
||||
return d.init(), e
|
||||
}
|
||||
return c.html()
|
||||
}
|
||||
return c.each(function(c, d) {
|
||||
function e() {
|
||||
A = d.addClass("ge-canvas"), "undefined" != typeof D && D.length || (D = a('<textarea class="ge-html-output"/>').insertBefore(A)), B = a('<div class="ge-mainControls" />').insertBefore(D);
|
||||
var b = a('<div class="ge-wrapper ge-top" />').appendTo(B);
|
||||
C = a('<div class="ge-addRowGroup btn-group" />').appendTo(b), a.each(E.new_row_layouts, function(b, c) {
|
||||
var d = a('<a class="btn-sm btn-grid btn-square btn-grid p-10" />').attr("title", "Add row " + c.join("-")).on("click", function() {
|
||||
var a = r().appendTo(A);
|
||||
c.forEach(function(b) {
|
||||
s(b).appendTo(a)
|
||||
}), f()
|
||||
}).appendTo(C);
|
||||
d.append('<span class="fa fa-plus-circle"/> ' +c.join("-")+' ');
|
||||
var e = (c.join(" - "), '<div class="row ge-row-icon">');
|
||||
c.forEach(function(a) {
|
||||
e += '<div class="column col-' + a + '"/>'
|
||||
}), e += "</div>", d.append(e)
|
||||
});
|
||||
var c = a('<div class="dropdown float-start float-xl-end ge-layout-mode"><button type="button" class="btn-screen dropdown-toggle" data-toggle="dropdown"><span>Desktop</span></button><ul class="dropdown-menu" role="menu"><li><a data-width="auto" title="Desktop" class="dropdown-item"><span>Desktop</span></a></li><li><a title="Tablet" class="dropdown-item"><span>Tablet</span></li><li><a title="Phone" class="dropdown-item"><span>Phone</span></a></li></ul></div>').on("click", "a", function() {
|
||||
var b = a(this);
|
||||
x(b.closest("li").index());
|
||||
var d = c.find("button");
|
||||
d.find("span").remove(), d.append(b.find("span").clone())
|
||||
}).appendTo(b),
|
||||
e = a('<div class="btn-group float-start float-xl-end"/>').appendTo(b),
|
||||
h = a('<button title="Edit Source Code" type="button" class="btn-code gm-edit-mode"><span class="fa fa-chevron-left"></span><span class="fa fa-chevron-right"></span></button>').on("click", function() {
|
||||
h.hasClass("active") ? (A.empty().html(D.val()).show(), f(), D.hide()) : (g(), D.height(.8 * a(window).height()).val(A.html()).show(), A.hide()), h.toggleClass("active btn-danger")
|
||||
}).appendTo(e),
|
||||
i = a('<button title="Preview" type="button" class="btn-code gm-preview m-r-5"><span class="fa fa-eye"></span></button>').on("mouseenter", function() {
|
||||
A.removeClass("ge-editing")
|
||||
}).on("click", function() {
|
||||
i.toggleClass("active btn-danger").trigger("mouseleave")
|
||||
}).on("mouseleave", function() {
|
||||
i.hasClass("active") || A.addClass("ge-editing")
|
||||
}).appendTo(e),
|
||||
j = a(window);
|
||||
// j.on("scroll", function(a) {
|
||||
// j.scrollTop() > B.offset().top && j.scrollTop() < A.offset().top + A.height() ? b.hasClass("ge-top") && b.css({
|
||||
// left: b.offset().left,
|
||||
// width: b.outerWidth()
|
||||
// }).removeClass("ge-top").addClass("ge-fixed") : b.hasClass("ge-fixed") && b.css({
|
||||
// left: "",
|
||||
// width: ""
|
||||
// }).removeClass("ge-fixed").addClass("ge-top")
|
||||
// }),
|
||||
A.on("click", ".ge-content", function(b) {
|
||||
var c = y(a(this).data("ge-content-type"));
|
||||
c && c.init(E, a(this))
|
||||
})
|
||||
}
|
||||
|
||||
function f() {
|
||||
t(!0), A.addClass("ge-editing"), l(), u(), h(), i(), p(), x(G)
|
||||
}
|
||||
|
||||
function g() {
|
||||
A.removeClass("ge-editing");
|
||||
A.find(".ge-content").each(function() {
|
||||
var b = a(this);
|
||||
y(b.data("ge-content-type")).deinit(E, b)
|
||||
});
|
||||
A.find(".ge-tools-drawer").remove(), q(), t()
|
||||
}
|
||||
|
||||
function h() {
|
||||
A.find(".row").each(function() {
|
||||
var b = a(this);
|
||||
if (!b.find("> .ge-tools-drawer").length) {
|
||||
var c = a('<div class="ge-tools-drawer" />').prependTo(b);
|
||||
j(c, "Move", "ge-move", "fa-arrows"), j(c, "Settings", "", "fa-cog", function() {
|
||||
d.toggle()
|
||||
}), E.row_tools.forEach(function(a) {
|
||||
j(c, a.title || "", a.className || "", a.iconClass || "fa-wrench", a.on)
|
||||
}), j(c, "Remove row", "", "fa-trash", function() {
|
||||
window.confirm("Delete row?") && b.slideUp(function() {
|
||||
b.remove()
|
||||
})
|
||||
}), j(c, "Add column", "ge-add-column", "fa-plus-circle", function() {
|
||||
b.append(s(3)), f()
|
||||
});
|
||||
var d = k(b, E.row_classes).appendTo(c)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function i() {
|
||||
A.find(".column").each(function() {
|
||||
var b = a(this);
|
||||
if (!b.find("> .ge-tools-drawer").length) {
|
||||
var c = a('<div class="ge-tools-drawer" />').prependTo(b);
|
||||
j(c, "Move", "ge-move", "fa-arrows"), j(c, "Make column narrower\n(hold shift for min)", "ge-decrease-col-width", "fa-minus", function(a) {
|
||||
var c = E.valid_col_sizes,
|
||||
d = F[G],
|
||||
e = c.indexOf(m(b, d)),
|
||||
f = c[z(e - 1, 0, c.length - 1)];
|
||||
a.shiftKey && (f = c[0]), o(b, d, Math.max(f, 1))
|
||||
}), j(c, "Make column wider\n(hold shift for max)", "ge-increase-col-width", "fa-plus", function(a) {
|
||||
var c = E.valid_col_sizes,
|
||||
d = F[G],
|
||||
e = c.indexOf(m(b, d)),
|
||||
f = z(e + 1, 0, c.length - 1),
|
||||
g = c[f];
|
||||
a.shiftKey && (g = c[c.length - 1]), o(b, d, Math.min(g, H))
|
||||
}), j(c, "Settings", "", "fa-cog", function() {
|
||||
d.toggle()
|
||||
}), E.col_tools.forEach(function(a) {
|
||||
j(c, a.title || "", a.className || "", a.iconClass || "fa-wrench", a.on)
|
||||
}), j(c, "Remove col", "", "fa-trash", function() {
|
||||
window.confirm("Delete column?") && b.animate({
|
||||
opacity: "hide",
|
||||
width: "hide",
|
||||
height: "hide"
|
||||
}, 400, function() {
|
||||
b.remove()
|
||||
})
|
||||
}), j(c, "Add row", "ge-add-row", "fa-plus-circle", function() {
|
||||
var a = r();
|
||||
b.append(a), a.append(s(6)).append(s(6)), f()
|
||||
});
|
||||
var d = k(b, E.col_classes).appendTo(c)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function j(b, c, d, e, f) {
|
||||
var g = a('<a title="' + c + '" class="' + d + '"><span class="fa ' + e + '"></span></a>').appendTo(b);
|
||||
"function" == typeof f && g.on("click", f), "object" == typeof f && a.each(f, function(a, b) {
|
||||
g.on(a, b)
|
||||
})
|
||||
}
|
||||
|
||||
function k(b, c) {
|
||||
var d = a('<div class="ge-details" />');
|
||||
a('<input class="ge-id" />').attr("placeholder", "id").val(b.attr("id")).attr("title", "Set a unique identifier").appendTo(d).change(function() {
|
||||
b.attr("id", this.value)
|
||||
});
|
||||
var e = a('<div class="btn-group" />').appendTo(d);
|
||||
return c.forEach(function(c) {
|
||||
var d = a('<a class="btn btn-sm btn-default" />').html(c.label).attr("title", c.title ? c.title : 'Toggle "' + c.label + '" styling').toggleClass("active btn-primary", b.hasClass(c.cssClass)).on("click", function() {
|
||||
d.toggleClass("active btn-primary"), b.toggleClass(c.cssClass, d.hasClass("active"))
|
||||
}).appendTo(e)
|
||||
}), d
|
||||
}
|
||||
|
||||
function l() {
|
||||
A.find('.column, div[class*="col-"]').each(function() {
|
||||
var b = a(this),
|
||||
c = 2,
|
||||
d = n(b);
|
||||
d.length && (c = d[0].size);
|
||||
var e = b.attr("class");
|
||||
F.forEach(function(a) {
|
||||
-1 == e.indexOf(a) && b.addClass(a + c)
|
||||
}), b.addClass("column")
|
||||
})
|
||||
}
|
||||
|
||||
function m(a, b) {
|
||||
for (var c = n(a), d = 0; d < c.length; d++)
|
||||
if (c[d].colClass == b) return c[d].size;
|
||||
return c.length ? c[0].size : null
|
||||
}
|
||||
|
||||
function n(a) {
|
||||
var b = [];
|
||||
return F.forEach(function(c) {
|
||||
var d = new RegExp(c + "(\\d+)", "i");
|
||||
d.test(a.attr("class")) && b.push({
|
||||
colClass: c,
|
||||
size: parseInt(d.exec(a.attr("class"))[1])
|
||||
})
|
||||
}), b
|
||||
}
|
||||
|
||||
function o(a, b, c) {
|
||||
var d = new RegExp("(" + b + "(\\d+))", "i"),
|
||||
e = d.exec(a.attr("class"));
|
||||
e && parseInt(e[2]) !== c ? a.switchClass(e[1], b + c, 50) : a.addClass(b + c)
|
||||
}
|
||||
|
||||
function p() {
|
||||
function a(a, b) {
|
||||
b.placeholder.css({
|
||||
height: b.item.outerHeight()
|
||||
})
|
||||
}
|
||||
A.find(".row").sortable({
|
||||
items: "> .column",
|
||||
connectWith: ".ge-canvas .row",
|
||||
handle: "> .ge-tools-drawer .ge-move",
|
||||
start: a,
|
||||
helper: "clone"
|
||||
}), A.add(A.find(".column")).sortable({
|
||||
items: "> .row, > .ge-content",
|
||||
connectsWith: ".ge-canvas, .ge-canvas .column",
|
||||
handle: "> .ge-tools-drawer .ge-move",
|
||||
start: a,
|
||||
helper: "clone"
|
||||
})
|
||||
}
|
||||
|
||||
function q() {
|
||||
A.add(A.find(".column")).add(A.find(".row")).sortable("destroy")
|
||||
}
|
||||
|
||||
function r() {
|
||||
return a('<div class="row" />')
|
||||
}
|
||||
|
||||
function s(b) {
|
||||
return a("<div/>").addClass(F.map(function(a) {
|
||||
return a + b
|
||||
}).join(" ")).append(w().html(y(E.content_types[0]).initialContent))
|
||||
}
|
||||
|
||||
function t(b) {
|
||||
E.custom_filter.length && a.each(E.custom_filter, function(a, c) {
|
||||
"string" == typeof c && (c = window[c]), c(A, b)
|
||||
})
|
||||
}
|
||||
|
||||
function u() {
|
||||
A.find(".column").each(function() {
|
||||
var b = a(this),
|
||||
c = a();
|
||||
b.children().each(function() {
|
||||
var b = a(this);
|
||||
b.is(".row, .ge-tools-drawer, .ge-content") ? v(c) : c = c.add(b)
|
||||
}), v(c)
|
||||
})
|
||||
}
|
||||
|
||||
function v(b) {
|
||||
if (b.length) {
|
||||
var c = w().insertAfter(b.last());
|
||||
b.appendTo(c), b = a()
|
||||
}
|
||||
}
|
||||
|
||||
function w() {
|
||||
return a("<div/>").addClass("ge-content ge-content-type-" + E.content_types[0]).attr("data-ge-content-type", E.content_types[0])
|
||||
}
|
||||
|
||||
function x(a) {
|
||||
G = a;
|
||||
var b = ["ge-layout-desktop", "ge-layout-tablet", "ge-layout-phone"];
|
||||
b.forEach(function(b, c) {
|
||||
A.toggleClass(b, c == a)
|
||||
})
|
||||
}
|
||||
|
||||
function y(b) {
|
||||
return a.fn.gridEditor.RTEs[b]
|
||||
}
|
||||
|
||||
function z(a, b, c) {
|
||||
return Math.min(c, Math.max(b, a))
|
||||
}
|
||||
d = a(d);
|
||||
var A, B, C, D, E = a.extend({
|
||||
new_row_layouts: [
|
||||
[12],
|
||||
[6, 6],
|
||||
[4, 4, 4],
|
||||
[3, 3, 3, 3],
|
||||
[2, 2, 2, 2, 2, 2],
|
||||
[2, 8, 2],
|
||||
[4, 8],
|
||||
[8, 4]
|
||||
],
|
||||
row_classes: [{
|
||||
label: "Example class",
|
||||
cssClass: "example-class"
|
||||
}],
|
||||
col_classes: [{
|
||||
label: "Example class",
|
||||
cssClass: "example-class"
|
||||
}],
|
||||
col_tools: [],
|
||||
row_tools: [],
|
||||
custom_filter: "",
|
||||
content_types: ["tinymce"],
|
||||
valid_col_sizes: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
|
||||
source_textarea: ""
|
||||
}, b),
|
||||
F = ["col-md-", "col-sm-", "col-"],
|
||||
G = 0,
|
||||
H = 12;
|
||||
if (E.source_textarea) {
|
||||
var I = a(E.source_textarea);
|
||||
I.addClass("ge-html-output"), D = I, I.val() && d.html(I.val())
|
||||
}
|
||||
if (d.children().length && !d.find("div.row").length) {
|
||||
var J = d.children(),
|
||||
K = a('<div class="row"><div class="col-md-12"/></div>').appendTo(d);
|
||||
K.find(".col-md-12").append(J)
|
||||
}
|
||||
e(), f(), d.data("grideditor", {
|
||||
init: f,
|
||||
deinit: g
|
||||
})
|
||||
}), c
|
||||
}, a.fn.gridEditor.RTEs = {}
|
||||
}(jQuery),
|
||||
function() {
|
||||
$.fn.gridEditor.RTEs.ckeditor = {
|
||||
init: function(a, b) {
|
||||
window.CKEDITOR || console.error("CKEditor not available! Make sure you loaded the ckeditor and jquery adapter js files.");
|
||||
var c = this;
|
||||
b.each(function() {
|
||||
var b = $(this);
|
||||
if (!b.hasClass("active")) {
|
||||
b.html() == c.initialContent && b.html(" "), b.addClass("active").attr("contenteditable", "true");
|
||||
var d = $.extend({}, a.ckeditor && a.ckeditor.config ? a.ckeditor.config : {}, {
|
||||
on: {
|
||||
instanceReady: function(b) {
|
||||
var c;
|
||||
try {
|
||||
c = a.ckeditor.config.on.instanceReady
|
||||
} catch (d) {}
|
||||
c && c.call(this, b), e.focus()
|
||||
}
|
||||
}
|
||||
}),
|
||||
e = CKEDITOR.inline(b.get(0), d)
|
||||
}
|
||||
})
|
||||
},
|
||||
deinit: function(a, b) {
|
||||
b.filter(".active").each(function() {
|
||||
var a = $(this);
|
||||
$.each(CKEDITOR.instances, function(a, b) {
|
||||
b.destroy()
|
||||
}), a.removeClass("active cke_focus").removeAttr("id").removeAttr("style").removeAttr("spellcheck").removeAttr("contenteditable")
|
||||
})
|
||||
},
|
||||
initialContent: "<p>Lorem initius... </p>"
|
||||
}
|
||||
}(),
|
||||
function() {
|
||||
$.fn.gridEditor.RTEs.summernote = {
|
||||
init: function(a, b) {
|
||||
jQuery().summernote || console.error("Summernote not available! Make sure you loaded the Summernote js file.");
|
||||
var c = this;
|
||||
b.each(function() {
|
||||
var b = $(this);
|
||||
if (!b.hasClass("active")) {
|
||||
b.html() == c.initialContent && b.html(""), b.addClass("active");
|
||||
var d = $.extend(!0, {}, a.summernote && a.summernote.config ? a.summernote.config : {}, {
|
||||
tabsize: 2,
|
||||
airMode: !0,
|
||||
callbacks: {
|
||||
onInit: function() {
|
||||
var c;
|
||||
try {
|
||||
c = a.summernote.config.callbacks.onInit
|
||||
} catch (d) {}
|
||||
c && c.call(this), b.summernote("focus")
|
||||
}
|
||||
}
|
||||
});
|
||||
b.summernote(d)
|
||||
}
|
||||
})
|
||||
},
|
||||
deinit: function(a, b) {
|
||||
b.filter(".active").each(function() {
|
||||
var a = $(this);
|
||||
a.summernote("destroy"), a.removeClass("active").removeAttr("id").removeAttr("style").removeAttr("spellcheck")
|
||||
})
|
||||
},
|
||||
initialContent: "<p>Lorem ipsum dolores</p>"
|
||||
}
|
||||
}(),
|
||||
function() {
|
||||
$.fn.gridEditor.RTEs.tinymce = {
|
||||
init: function(a, b) {
|
||||
window.tinymce || console.error("tinyMCE not available! Make sure you loaded the tinyMCE js file."), b.tinymce || console.error("tinyMCE jquery integration not available! Make sure you loaded the jquery integration plugin.");
|
||||
var c = this;
|
||||
b.each(function() {
|
||||
var b = $(this);
|
||||
if (!b.hasClass("active")) {
|
||||
b.html() == c.initialContent && b.html(""), b.addClass("active");
|
||||
var d = $.extend({}, a.tinymce && a.tinymce.config ? a.tinymce.config : {}, {
|
||||
inline: !0,
|
||||
oninit: function(b) {
|
||||
$("#" + b.settings.id).focus();
|
||||
var c;
|
||||
try {
|
||||
c = a.tinymce.config.oninit
|
||||
} catch (d) {}
|
||||
c && c.call(this)
|
||||
}
|
||||
});
|
||||
b.tinymce(d)
|
||||
}
|
||||
})
|
||||
},
|
||||
deinit: function(a, b) {
|
||||
b.filter(".active").each(function() {
|
||||
var a = $(this),
|
||||
b = a.tinymce();
|
||||
b && b.remove(), a.removeClass("active").removeAttr("id").removeAttr("style").removeAttr("spellcheck")
|
||||
})
|
||||
},
|
||||
initialContent: "<p>Lorem ipsum dolores</p>"
|
||||
}
|
||||
}();
|
||||
//# sourceMappingURL=jquery.grideditor.min.js.map
|
||||
10
public/assets/js/page-builder/jquery.js
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
(function(a){if("undefined"==typeof a)throw Error("jQuery should be loaded before CKEditor jQuery adapter.");if("undefined"==typeof CKEDITOR)throw Error("CKEditor should be loaded before CKEditor jQuery adapter.");CKEDITOR.config.jqueryOverrideVal="undefined"==typeof CKEDITOR.config.jqueryOverrideVal?!0:CKEDITOR.config.jqueryOverrideVal;a.extend(a.fn,{ckeditorGet:function(){var a=this.eq(0).data("ckeditorInstance");if(!a)throw"CKEditor is not initialized yet, use ckeditor() with a callback.";return a},
|
||||
ckeditor:function(g,d){if(!CKEDITOR.env.isCompatible)throw Error("The environment is incompatible.");if(!a.isFunction(g)){var m=d;d=g;g=m}var k=[];d=d||{};this.each(function(){var b=a(this),c=b.data("ckeditorInstance"),f=b.data("_ckeditorInstanceLock"),h=this,l=new a.Deferred;k.push(l.promise());if(c&&!f)g&&g.apply(c,[this]),l.resolve();else if(f)c.once("instanceReady",function(){setTimeout(function(){c.element?(c.element.$==h&&g&&g.apply(c,[h]),l.resolve()):setTimeout(arguments.callee,100)},0)},
|
||||
null,null,9999);else{if(d.autoUpdateElement||"undefined"==typeof d.autoUpdateElement&&CKEDITOR.config.autoUpdateElement)d.autoUpdateElementJquery=!0;d.autoUpdateElement=!1;b.data("_ckeditorInstanceLock",!0);c=a(this).is("textarea")?CKEDITOR.replace(h,d):CKEDITOR.inline(h,d);b.data("ckeditorInstance",c);c.on("instanceReady",function(d){var e=d.editor;setTimeout(function(){if(e.element){d.removeListener();e.on("dataReady",function(){b.trigger("dataReady.ckeditor",[e])});e.on("setData",function(a){b.trigger("setData.ckeditor",
|
||||
[e,a.data])});e.on("getData",function(a){b.trigger("getData.ckeditor",[e,a.data])},999);e.on("destroy",function(){b.trigger("destroy.ckeditor",[e])});e.on("save",function(){a(h.form).submit();return!1},null,null,20);if(e.config.autoUpdateElementJquery&&b.is("textarea")&&a(h.form).length){var c=function(){b.ckeditor(function(){e.updateElement()})};a(h.form).submit(c);a(h.form).bind("form-pre-serialize",c);b.bind("destroy.ckeditor",function(){a(h.form).unbind("submit",c);a(h.form).unbind("form-pre-serialize",
|
||||
c)})}e.on("destroy",function(){b.removeData("ckeditorInstance")});b.removeData("_ckeditorInstanceLock");b.trigger("instanceReady.ckeditor",[e]);g&&g.apply(e,[h]);l.resolve()}else setTimeout(arguments.callee,100)},0)},null,null,9999)}});var f=new a.Deferred;this.promise=f.promise();a.when.apply(this,k).then(function(){f.resolve()});this.editor=this.eq(0).data("ckeditorInstance");return this}});CKEDITOR.config.jqueryOverrideVal&&(a.fn.val=CKEDITOR.tools.override(a.fn.val,function(g){return function(d){if(arguments.length){var m=
|
||||
this,k=[],f=this.each(function(){var b=a(this),c=b.data("ckeditorInstance");if(b.is("textarea")&&c){var f=new a.Deferred;c.setData(d,function(){f.resolve()});k.push(f.promise());return!0}return g.call(b,d)});if(k.length){var b=new a.Deferred;a.when.apply(this,k).done(function(){b.resolveWith(m)});return b.promise()}return f}var f=a(this).eq(0),c=f.data("ckeditorInstance");return f.is("textarea")&&c?c.getData():g.call(f)}}))})(window.jQuery);
|
||||
5
public/assets/js/page-builder/lang/af.js
Normal file
5
public/assets/js/page-builder/lang/ar.js
Normal file
5
public/assets/js/page-builder/lang/bg.js
Normal file
5
public/assets/js/page-builder/lang/bn.js
Normal file
5
public/assets/js/page-builder/lang/bs.js
Normal file
5
public/assets/js/page-builder/lang/ca.js
Normal file
5
public/assets/js/page-builder/lang/cs.js
Normal file
5
public/assets/js/page-builder/lang/cy.js
Normal file
5
public/assets/js/page-builder/lang/da.js
Normal file
5
public/assets/js/page-builder/lang/de-ch.js
Normal file
5
public/assets/js/page-builder/lang/de.js
Normal file
5
public/assets/js/page-builder/lang/el.js
Normal file
5
public/assets/js/page-builder/lang/en-au.js
Normal file
5
public/assets/js/page-builder/lang/en-ca.js
Normal file
5
public/assets/js/page-builder/lang/en-gb.js
Normal file
5
public/assets/js/page-builder/lang/en.js
Normal file
5
public/assets/js/page-builder/lang/eo.js
Normal file
5
public/assets/js/page-builder/lang/es.js
Normal file
5
public/assets/js/page-builder/lang/et.js
Normal file
5
public/assets/js/page-builder/lang/eu.js
Normal file
5
public/assets/js/page-builder/lang/fa.js
Normal file
5
public/assets/js/page-builder/lang/fi.js
Normal file
5
public/assets/js/page-builder/lang/fo.js
Normal file
5
public/assets/js/page-builder/lang/fr-ca.js
Normal file
5
public/assets/js/page-builder/lang/fr.js
Normal file
5
public/assets/js/page-builder/lang/gl.js
Normal file
5
public/assets/js/page-builder/lang/gu.js
Normal file
5
public/assets/js/page-builder/lang/he.js
Normal file
5
public/assets/js/page-builder/lang/hi.js
Normal file
5
public/assets/js/page-builder/lang/hr.js
Normal file
5
public/assets/js/page-builder/lang/hu.js
Normal file
5
public/assets/js/page-builder/lang/id.js
Normal file
5
public/assets/js/page-builder/lang/is.js
Normal file
5
public/assets/js/page-builder/lang/it.js
Normal file
5
public/assets/js/page-builder/lang/ja.js
Normal file
5
public/assets/js/page-builder/lang/ka.js
Normal file
5
public/assets/js/page-builder/lang/km.js
Normal file
5
public/assets/js/page-builder/lang/ko.js
Normal file
5
public/assets/js/page-builder/lang/ku.js
Normal file
5
public/assets/js/page-builder/lang/lt.js
Normal file
5
public/assets/js/page-builder/lang/lv.js
Normal file
5
public/assets/js/page-builder/lang/mk.js
Normal file
5
public/assets/js/page-builder/lang/mn.js
Normal file
5
public/assets/js/page-builder/lang/ms.js
Normal file
5
public/assets/js/page-builder/lang/nb.js
Normal file
5
public/assets/js/page-builder/lang/nl.js
Normal file
5
public/assets/js/page-builder/lang/no.js
Normal file
5
public/assets/js/page-builder/lang/pl.js
Normal file
5
public/assets/js/page-builder/lang/pt-br.js
Normal file
5
public/assets/js/page-builder/lang/pt.js
Normal file
5
public/assets/js/page-builder/lang/ro.js
Normal file
5
public/assets/js/page-builder/lang/ru.js
Normal file
5
public/assets/js/page-builder/lang/si.js
Normal file
5
public/assets/js/page-builder/lang/sk.js
Normal file
5
public/assets/js/page-builder/lang/sl.js
Normal file
5
public/assets/js/page-builder/lang/sq.js
Normal file
5
public/assets/js/page-builder/lang/sr-latn.js
Normal file
5
public/assets/js/page-builder/lang/sr.js
Normal file
5
public/assets/js/page-builder/lang/sv.js
Normal file
5
public/assets/js/page-builder/lang/th.js
Normal file
5
public/assets/js/page-builder/lang/tr.js
Normal file
5
public/assets/js/page-builder/lang/tt.js
Normal file
5
public/assets/js/page-builder/lang/ug.js
Normal file
5
public/assets/js/page-builder/lang/uk.js
Normal file
5
public/assets/js/page-builder/lang/vi.js
Normal file
5
public/assets/js/page-builder/lang/zh-cn.js
Normal file
5
public/assets/js/page-builder/lang/zh.js
Normal file
17
public/assets/js/page-builder/page-builder-custom.js
Normal file
@@ -0,0 +1,17 @@
|
||||
'use strict';
|
||||
$(function() {
|
||||
$('#myGrid').gridEditor({
|
||||
new_row_layouts: [[12], [4,4,4], [3,3,3,3], [2,2,2,2,2,2], [6, 6], [4,8], [8,4], [9, 3], [6, 3, 3]],
|
||||
content_types: ['ckeditor'],
|
||||
ckeditor: {
|
||||
config: {
|
||||
on: {
|
||||
instanceReady: function(evt) {
|
||||
var instance = this;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
var html = $('#myGrid').gridEditor('getHtml');
|
||||
});
|
||||
5
public/assets/js/page-builder/skins/moono/dialog.css
Normal file
5
public/assets/js/page-builder/skins/moono/dialog_ie.css
Normal file
5
public/assets/js/page-builder/skins/moono/dialog_ie7.css
Normal file
5
public/assets/js/page-builder/skins/moono/dialog_ie8.css
Normal file
5
public/assets/js/page-builder/skins/moono/editor.css
Normal file
5
public/assets/js/page-builder/skins/moono/editor_ie.css
Normal file
5
public/assets/js/page-builder/skins/moono/editor_ie7.css
Normal file
5
public/assets/js/page-builder/skins/moono/editor_ie8.css
Normal file
BIN
public/assets/js/page-builder/skins/moono/icons.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
public/assets/js/page-builder/skins/moono/icons_hidpi.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
public/assets/js/page-builder/skins/moono/images/arrow.png
Normal file
|
After Width: | Height: | Size: 191 B |
BIN
public/assets/js/page-builder/skins/moono/images/close.png
Normal file
|
After Width: | Height: | Size: 468 B |
BIN
public/assets/js/page-builder/skins/moono/images/hidpi/close.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
BIN
public/assets/js/page-builder/skins/moono/images/hidpi/lock.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
BIN
public/assets/js/page-builder/skins/moono/images/lock-open.png
Normal file
|
After Width: | Height: | Size: 349 B |
BIN
public/assets/js/page-builder/skins/moono/images/lock.png
Normal file
|
After Width: | Height: | Size: 475 B |
BIN
public/assets/js/page-builder/skins/moono/images/refresh.png
Normal file
|
After Width: | Height: | Size: 422 B |
BIN
public/assets/js/page-builder/skins/moono/images/spinner.gif
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
49
public/assets/js/page-builder/skins/moono/readme.md
Normal file
@@ -0,0 +1,49 @@
|
||||
"Moono" Skin
|
||||
====================
|
||||
|
||||
This skin has been chosen for the **default skin** of CKEditor 4.x, elected from the CKEditor
|
||||
[skin contest](http://ckeditor.com/blog/new_ckeditor_4_skin) and further shaped by
|
||||
the CKEditor team. "Moono" is maintained by the core developers.
|
||||
|
||||
For more information about skins, please check the [CKEditor Skin SDK](http://docs.cksource.com/CKEditor_4.x/Skin_SDK)
|
||||
documentation.
|
||||
|
||||
Features
|
||||
-------------------
|
||||
"Moono" is a monochromatic skin, which offers a modern look coupled with gradients and transparency.
|
||||
It comes with the following features:
|
||||
|
||||
- Chameleon feature with brightness,
|
||||
- high-contrast compatibility,
|
||||
- graphics source provided in SVG.
|
||||
|
||||
Directory Structure
|
||||
-------------------
|
||||
|
||||
CSS parts:
|
||||
- **editor.css**: the main CSS file. It's simply loading several other files, for easier maintenance,
|
||||
- **mainui.css**: the file contains styles of entire editor outline structures,
|
||||
- **toolbar.css**: the file contains styles of the editor toolbar space (top),
|
||||
- **richcombo.css**: the file contains styles of the rich combo ui elements on toolbar,
|
||||
- **panel.css**: the file contains styles of the rich combo drop-down, it's not loaded
|
||||
until the first panel open up,
|
||||
- **elementspath.css**: the file contains styles of the editor elements path bar (bottom),
|
||||
- **menu.css**: the file contains styles of all editor menus including context menu and button drop-down,
|
||||
it's not loaded until the first menu open up,
|
||||
- **dialog.css**: the CSS files for the dialog UI, it's not loaded until the first dialog open,
|
||||
- **reset.css**: the file defines the basis of style resets among all editor UI spaces,
|
||||
- **preset.css**: the file defines the default styles of some UI elements reflecting the skin preference,
|
||||
- **editor_XYZ.css** and **dialog_XYZ.css**: browser specific CSS hacks.
|
||||
|
||||
Other parts:
|
||||
- **skin.js**: the only JavaScript part of the skin that registers the skin, its browser specific files and its icons and defines the Chameleon feature,
|
||||
- **icons/**: contains all skin defined icons,
|
||||
- **images/**: contains a fill general used images,
|
||||
- **dev/**: contains SVG source of the skin icons.
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
|
||||
|
||||
For licensing, see LICENSE.md or [http://ckeditor.com/license](http://ckeditor.com/license)
|
||||
111
public/assets/js/page-builder/styles.js
Normal file
@@ -0,0 +1,111 @@
|
||||
/**
|
||||
* Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
|
||||
* For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
// This file contains style definitions that can be used by CKEditor plugins.
|
||||
//
|
||||
// The most common use for it is the "stylescombo" plugin, which shows a combo
|
||||
// in the editor toolbar, containing all styles. Other plugins instead, like
|
||||
// the div plugin, use a subset of the styles on their feature.
|
||||
//
|
||||
// If you don't have plugins that depend on this file, you can simply ignore it.
|
||||
// Otherwise it is strongly recommended to customize this file to match your
|
||||
// website requirements and design properly.
|
||||
|
||||
CKEDITOR.stylesSet.add( 'default', [
|
||||
/* Block Styles */
|
||||
|
||||
// These styles are already available in the "Format" combo ("format" plugin),
|
||||
// so they are not needed here by default. You may enable them to avoid
|
||||
// placing the "Format" combo in the toolbar, maintaining the same features.
|
||||
/*
|
||||
{ name: 'Paragraph', element: 'p' },
|
||||
{ name: 'Heading 1', element: 'h1' },
|
||||
{ name: 'Heading 2', element: 'h2' },
|
||||
{ name: 'Heading 3', element: 'h3' },
|
||||
{ name: 'Heading 4', element: 'h4' },
|
||||
{ name: 'Heading 5', element: 'h5' },
|
||||
{ name: 'Heading 6', element: 'h6' },
|
||||
{ name: 'Preformatted Text',element: 'pre' },
|
||||
{ name: 'Address', element: 'address' },
|
||||
*/
|
||||
|
||||
{ name: 'Italic Title', element: 'h2', styles: { 'font-style': 'italic' } },
|
||||
{ name: 'Subtitle', element: 'h3', styles: { 'color': '#aaa', 'font-style': 'italic' } },
|
||||
{
|
||||
name: 'Special Container',
|
||||
element: 'div',
|
||||
styles: {
|
||||
padding: '5px 10px',
|
||||
background: '#eee',
|
||||
border: '1px solid #ccc'
|
||||
}
|
||||
},
|
||||
|
||||
/* Inline Styles */
|
||||
|
||||
// These are core styles available as toolbar buttons. You may opt enabling
|
||||
// some of them in the Styles combo, removing them from the toolbar.
|
||||
// (This requires the "stylescombo" plugin)
|
||||
/*
|
||||
{ name: 'Strong', element: 'strong', overrides: 'b' },
|
||||
{ name: 'Emphasis', element: 'em' , overrides: 'i' },
|
||||
{ name: 'Underline', element: 'u' },
|
||||
{ name: 'Strikethrough', element: 'strike' },
|
||||
{ name: 'Subscript', element: 'sub' },
|
||||
{ name: 'Superscript', element: 'sup' },
|
||||
*/
|
||||
|
||||
{ name: 'Marker', element: 'span', attributes: { 'class': 'marker' } },
|
||||
|
||||
{ name: 'Big', element: 'big' },
|
||||
{ name: 'Small', element: 'small' },
|
||||
{ name: 'Typewriter', element: 'tt' },
|
||||
|
||||
{ name: 'Computer Code', element: 'code' },
|
||||
{ name: 'Keyboard Phrase', element: 'kbd' },
|
||||
{ name: 'Sample Text', element: 'samp' },
|
||||
{ name: 'Variable', element: 'var' },
|
||||
|
||||
{ name: 'Deleted Text', element: 'del' },
|
||||
{ name: 'Inserted Text', element: 'ins' },
|
||||
|
||||
{ name: 'Cited Work', element: 'cite' },
|
||||
{ name: 'Inline Quotation', element: 'q' },
|
||||
|
||||
{ name: 'Language: RTL', element: 'span', attributes: { 'dir': 'rtl' } },
|
||||
{ name: 'Language: LTR', element: 'span', attributes: { 'dir': 'ltr' } },
|
||||
|
||||
/* Object Styles */
|
||||
|
||||
{
|
||||
name: 'Styled image (left)',
|
||||
element: 'img',
|
||||
attributes: { 'class': 'left' }
|
||||
},
|
||||
|
||||
{
|
||||
name: 'Styled image (right)',
|
||||
element: 'img',
|
||||
attributes: { 'class': 'right' }
|
||||
},
|
||||
|
||||
{
|
||||
name: 'Compact table',
|
||||
element: 'table',
|
||||
attributes: {
|
||||
cellpadding: '5',
|
||||
cellspacing: '0',
|
||||
border: '1',
|
||||
bordercolor: '#ccc'
|
||||
},
|
||||
styles: {
|
||||
'border-collapse': 'collapse'
|
||||
}
|
||||
},
|
||||
|
||||
{ name: 'Borderless Table', element: 'table', styles: { 'border-style': 'hidden', 'background-color': '#E6E6FA' } },
|
||||
{ name: 'Square Bulleted List', element: 'ul', styles: { 'list-style-type': 'square' } }
|
||||
] );
|
||||
|
||||