Canvas everywhere.

This commit is contained in:
Sipke Schoorstra
2015-04-19 22:13:09 +02:00
parent 8a300065c9
commit dacdbdffb2
9 changed files with 59 additions and 8 deletions

View File

@@ -864,6 +864,15 @@ angular
})
];
$scope.canvasElements = [
LayoutEditor.Canvas.from({
toolboxIcon: "\uf044",
toolboxLabel: "Canvas",
toolboxDescription: "Empty canvas.",
children: []
})
];
$scope.contentElementCategories = _($scope.element.config.categories).map(function (category) {
return {
name: category.name,
@@ -916,6 +925,10 @@ angular
parentClasses = [".layout-canvas", ".layout-column", ".layout-common-holder"];
placeholderClasses = "layout-element layout-content ui-sortable-placeholder";
break;
case "Canvas":
parentClasses = [".layout-canvas", ".layout-column", ".layout-common-holder"];
placeholderClasses = "layout-element layout-container layout-grid ui-sortable-placeholder";
break;
}
return {

File diff suppressed because one or more lines are too long

View File

@@ -73,6 +73,15 @@
})
];
$scope.canvasElements = [
LayoutEditor.Canvas.from({
toolboxIcon: "\uf044",
toolboxLabel: "Canvas",
toolboxDescription: "Empty canvas.",
children: []
})
];
$scope.contentElementCategories = _($scope.element.config.categories).map(function (category) {
return {
name: category.name,
@@ -125,6 +134,10 @@
parentClasses = [".layout-canvas", ".layout-column", ".layout-common-holder"];
placeholderClasses = "layout-element layout-content ui-sortable-placeholder";
break;
case "Canvas":
parentClasses = [".layout-canvas", ".layout-column", ".layout-common-holder"];
placeholderClasses = "layout-element layout-container layout-grid ui-sortable-placeholder";
break;
}
return {

View File

@@ -16,6 +16,7 @@
factories[type] = factory;
};
registerFactory("Canvas", function (value) { return LayoutEditor.Canvas.from(value); });
registerFactory("Grid", function(value) { return LayoutEditor.Grid.from(value); });
registerFactory("Row", function(value) { return LayoutEditor.Row.from(value); });
registerFactory("Column", function(value) { return LayoutEditor.Column.from(value); });
@@ -401,7 +402,7 @@ var LayoutEditor;
};
LayoutEditor.Canvas.from = function (value) {
return new LayoutEditor.Canvas(
var result = new LayoutEditor.Canvas(
value.data,
value.htmlId,
value.htmlClass,
@@ -409,6 +410,12 @@ var LayoutEditor;
value.isTemplated,
value.rule,
LayoutEditor.childrenFrom(value.children));
result.toolboxIcon = value.toolboxIcon;
result.toolboxLabel = value.toolboxLabel;
result.toolboxDescription = value.toolboxDescription;
return result;
};
})(LayoutEditor || (LayoutEditor = {}));

File diff suppressed because one or more lines are too long

View File

@@ -13,7 +13,7 @@
};
LayoutEditor.Canvas.from = function (value) {
return new LayoutEditor.Canvas(
var result = new LayoutEditor.Canvas(
value.data,
value.htmlId,
value.htmlClass,
@@ -21,6 +21,12 @@
value.isTemplated,
value.rule,
LayoutEditor.childrenFrom(value.children));
result.toolboxIcon = value.toolboxIcon;
result.toolboxLabel = value.toolboxLabel;
result.toolboxDescription = value.toolboxDescription;
return result;
};
})(LayoutEditor || (LayoutEditor = {}));

View File

@@ -16,6 +16,7 @@
factories[type] = factory;
};
registerFactory("Canvas", function (value) { return LayoutEditor.Canvas.from(value); });
registerFactory("Grid", function(value) { return LayoutEditor.Grid.from(value); });
registerFactory("Row", function(value) { return LayoutEditor.Row.from(value); });
registerFactory("Column", function(value) { return LayoutEditor.Column.from(value); });

View File

@@ -1,6 +1,14 @@
@using Orchard.Layouts.Helpers
@using Orchard.DisplayManagement.Shapes
@using Orchard.Layouts.Helpers
@{
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
tagBuilder.InnerHtml = Model.ProcessedText;
// Only render the surrounding div if there are any attributes to be rendered.
var commonAttributes = (IDictionary<string, object>)TagBuilderExtensions.GetCommonElementAttributes(Model);
var tagBuilder = commonAttributes.Any() ? new OrchardTagBuilder("div") : default(OrchardTagBuilder);
if (tagBuilder != null) {
tagBuilder.MergeAttributes(commonAttributes);
}
}
@tagBuilder.ToHtmlString()
@if (tagBuilder != null) { @tagBuilder.StartElement }
@Html.Raw(Model.ProcessedText)
@if (tagBuilder != null) { @tagBuilder.EndElement }

View File

@@ -16,6 +16,9 @@
<section class="layout-toolbox-section layout-toolbox-section-column" ng-model="columnElements" ui-sortable="getSortableOptions('Column')">
<li class="layout-toolbox-item layout-toolbox-item-column" title="{{item.toolboxDescription}}" ng-repeat="item in columnElements"><i>{{item.toolboxIcon}}</i> {{item.toolboxLabel}}</li>
</section>
<section class="layout-toolbox-section layout-toolbox-section-canvas" ng-model="canvasElements" ui-sortable="getSortableOptions('Canvas')">
<li class="layout-toolbox-item layout-toolbox-item-canvas" title="{{item.toolboxDescription}}" ng-repeat="item in canvasElements"><i>{{item.toolboxIcon}}</i> {{item.toolboxLabel}}</li>
</section>
</ul>
</li>
<orc-layout-toolbox-group category="category" ng-repeat="category in contentElementCategories" />