Files
Orchard/src/Orchard.Web/Modules/Orchard.Layouts/Assets/JavaScript/Models/Content.js
Sipke Schoorstra a492f89ea0 Further Layouts client-side scripting improvements.
- Pushed the editElement function further down from Content to Element, which means even less code for custom container elements.
- Fixed a bug where client-side element editor state would not be applied after editing that element.
- Pushed down the toObject function from Content to Element, which means less code is necessary for custom container elements.
-
2015-12-21 20:59:47 +01:00

52 lines
1.6 KiB
JavaScript

var LayoutEditor;
(function (LayoutEditor) {
LayoutEditor.Content = function (data, htmlId, htmlClass, htmlStyle, isTemplated, contentType, contentTypeLabel, contentTypeClass, html, hasEditor, rule) {
LayoutEditor.Element.call(this, "Content", data, htmlId, htmlClass, htmlStyle, isTemplated, rule);
this.contentType = contentType;
this.contentTypeLabel = contentTypeLabel;
this.contentTypeClass = contentTypeClass;
this.html = html;
this.hasEditor = hasEditor;
this.getInnerText = function () {
return $($.parseHTML("<div>" + this.html + "</div>")).text();
};
// This function will be overwritten by the Content directive.
this.setHtml = function (html) {
this.html = html;
this.htmlUnsafe = html;
}
var baseToObject = this.toObject;
this.toObject = function () {
var result = baseToObject();
result.contentTypeLabel = this.contentTypeLabel;
result.contentTypeClass = this.contentTypeClass;
result.html = this.html;
return result;
};
this.setHtml(html);
};
LayoutEditor.Content.from = function (value) {
var result = new LayoutEditor.Content(
value.data,
value.htmlId,
value.htmlClass,
value.htmlStyle,
value.isTemplated,
value.contentType,
value.contentTypeLabel,
value.contentTypeClass,
value.html,
value.hasEditor,
value.rule);
return result;
};
})(LayoutEditor || (LayoutEditor = {}));