Merge branch '7.4.0' of https://github.com/umbraco/Umbraco-CMS into 7.4.0
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
function GroupsBuilderDirective(contentTypeHelper, contentTypeResource, mediaTypeResource, dataTypeHelper, dataTypeResource, $filter) {
|
||||
function GroupsBuilderDirective(contentTypeHelper, contentTypeResource, mediaTypeResource, dataTypeHelper, dataTypeResource, $filter, iconHelper, $q) {
|
||||
|
||||
function link(scope, el, attr, ctrl) {
|
||||
|
||||
@@ -155,7 +155,6 @@
|
||||
scope.compositionsDialogModel = {
|
||||
title: "Compositions",
|
||||
contentType: scope.model,
|
||||
availableCompositeContentTypes: scope.model.availableCompositeContentTypes,
|
||||
compositeContentTypes: scope.model.compositeContentTypes,
|
||||
view: "views/common/overlays/contenttypeeditor/compositions/compositions.html",
|
||||
confirmSubmit: {
|
||||
@@ -164,7 +163,6 @@
|
||||
checkboxLabel: "I know what I'm doing",
|
||||
enable: true
|
||||
},
|
||||
show: true,
|
||||
submit: function(model, oldModel, confirmed) {
|
||||
|
||||
var compositionRemoved = false;
|
||||
@@ -242,6 +240,24 @@
|
||||
}
|
||||
};
|
||||
|
||||
var availableContentTypeResource = scope.contentType === "documentType" ? contentTypeResource.getAvailableCompositeContentTypes : mediaTypeResource.getAvailableCompositeContentTypes;
|
||||
var countContentTypeResource = scope.contentType === "documentType" ? contentTypeResource.getCount : mediaTypeResource.getCount;
|
||||
$q.all([
|
||||
//get available composite types
|
||||
availableContentTypeResource(scope.model.id).then(function (result) {
|
||||
scope.compositionsDialogModel.availableCompositeContentTypes = result;
|
||||
// convert icons for composite content types
|
||||
iconHelper.formatContentTypeIcons(scope.compositionsDialogModel.availableCompositeContentTypes);
|
||||
}),
|
||||
//get content type count
|
||||
countContentTypeResource().then(function (result) {
|
||||
scope.compositionsDialogModel.totalContentTypes = parseInt(result, 10);
|
||||
})
|
||||
]).then(function () {
|
||||
//resolves when both other promises are done, now show it
|
||||
scope.compositionsDialogModel.show = true;
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -7,6 +7,15 @@ function contentTypeResource($q, $http, umbRequestHelper, umbDataFormatter) {
|
||||
|
||||
return {
|
||||
|
||||
getCount: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(
|
||||
umbRequestHelper.getApiUrl(
|
||||
"contentTypeApiBaseUrl",
|
||||
"GetCount")),
|
||||
'Failed to retrieve count');
|
||||
},
|
||||
|
||||
getAvailableCompositeContentTypes: function (contentTypeId) {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(
|
||||
|
||||
@@ -7,6 +7,15 @@ function mediaTypeResource($q, $http, umbRequestHelper, umbDataFormatter) {
|
||||
|
||||
return {
|
||||
|
||||
getCount: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(
|
||||
umbRequestHelper.getApiUrl(
|
||||
"mediaTypeApiBaseUrl",
|
||||
"GetCount")),
|
||||
'Failed to retrieve count');
|
||||
},
|
||||
|
||||
getAvailableCompositeContentTypes: function (contentTypeId) {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(
|
||||
|
||||
@@ -15,15 +15,20 @@
|
||||
</div>
|
||||
|
||||
<umb-empty-state
|
||||
ng-if="model.availableCompositeContentTypes.length === 0"
|
||||
ng-if="model.availableCompositeContentTypes.length === 0 && model.totalContentTypes <= 1"
|
||||
position="center">
|
||||
There are no content types available to use as a composition.
|
||||
</umb-empty-state>
|
||||
<umb-empty-state
|
||||
ng-if="model.availableCompositeContentTypes.length === 0 && model.totalContentTypes > 1"
|
||||
position="center">
|
||||
This content type is used in a composition, and therefore cannot be composed itself.
|
||||
</umb-empty-state>
|
||||
|
||||
<ul class="umb-checkbox-list">
|
||||
<li class="umb-checkbox-list__item" ng-repeat="compositeContentType in model.availableCompositeContentTypes | filter:searchTerm" ng-class="{ '-selected': model.compositeContentTypes.indexOf(compositeContentType.alias)+1 }">
|
||||
<li class="umb-checkbox-list__item" ng-repeat="compositeContentType in model.availableCompositeContentTypes | filter:searchTerm" ng-class="{ '-selected': model.contentType.compositeContentTypes.indexOf(compositeContentType.alias)+1 }">
|
||||
|
||||
<div class="umb-checkbox-list__item-checkbox" ng-class="{ '-selected': model.compositeContentTypes.indexOf(compositeContentType.alias)+1 }">
|
||||
<div class="umb-checkbox-list__item-checkbox" ng-class="{ '-selected': model.contentType.compositeContentTypes.indexOf(compositeContentType.alias)+1 }">
|
||||
<input type="checkbox"
|
||||
checklist-model="model.compositeContentTypes"
|
||||
checklist-value="compositeContentType.alias"
|
||||
@@ -36,4 +41,4 @@
|
||||
</div>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
@@ -218,13 +218,7 @@
|
||||
}
|
||||
|
||||
function init(contentType) {
|
||||
//get available composite types
|
||||
contentTypeResource.getAvailableCompositeContentTypes(contentType.id).then(function (result) {
|
||||
contentType.availableCompositeContentTypes = result;
|
||||
// convert icons for composite content types
|
||||
iconHelper.formatContentTypeIcons(contentType.availableCompositeContentTypes);
|
||||
});
|
||||
|
||||
|
||||
// set all tab to inactive
|
||||
if (contentType.groups.length !== 0) {
|
||||
angular.forEach(contentType.groups, function (group) {
|
||||
|
||||
@@ -168,13 +168,7 @@
|
||||
}
|
||||
|
||||
function init(contentType) {
|
||||
//get available composite types
|
||||
mediaTypeResource.getAvailableCompositeContentTypes(contentType.id).then(function (result) {
|
||||
contentType.availableCompositeContentTypes = result;
|
||||
// convert legacy icons
|
||||
iconHelper.formatContentTypeIcons(contentType.availableCompositeContentTypes);
|
||||
});
|
||||
|
||||
|
||||
// set all tab to inactive
|
||||
if (contentType.groups.length !== 0) {
|
||||
angular.forEach(contentType.groups, function (group) {
|
||||
|
||||
Reference in New Issue
Block a user