Merge branch 'dev-v8' into temp8-U4-11219
This commit is contained in:
@@ -25,6 +25,7 @@ The tour object consist of two parts - The overall tour configuration and a list
|
||||
"group": "My Custom Group" // Used to group tours in the help drawer
|
||||
"groupOrder": 200 // Control the order of tour groups
|
||||
"allowDisable": // Adds a "Don't" show this tour again"-button to the intro step
|
||||
"culture" : // From v7.11+. Specifies the culture of the tour (eg. en-US), if set the tour will only be shown to users with this culture set on their profile. If omitted or left empty the tour will be visible to all users
|
||||
"requiredSections":["content", "media", "mySection"] // Sections that the tour will access while running, if the user does not have access to the required tour sections, the tour will not load.
|
||||
"steps": [] // tour steps - see next example
|
||||
}
|
||||
|
||||
@@ -286,6 +286,7 @@
|
||||
$scope.page.buttonGroupState = "success";
|
||||
|
||||
}, function (err) {
|
||||
formHelper.showNotifications(err.data);
|
||||
$scope.page.buttonGroupState = 'error';
|
||||
});
|
||||
}
|
||||
|
||||
@@ -54,8 +54,6 @@ function umbTreeDirective($compile, $log, $q, $rootScope, treeService, notificat
|
||||
controller: function ($scope, $element) {
|
||||
|
||||
var vm = this;
|
||||
|
||||
var isInitialized = false;
|
||||
|
||||
var registeredCallbacks = {
|
||||
treeNodeExpanded: [],
|
||||
@@ -163,9 +161,7 @@ function umbTreeDirective($compile, $log, $q, $rootScope, treeService, notificat
|
||||
if (!args.path) {
|
||||
throw "args.path cannot be null";
|
||||
}
|
||||
|
||||
var treeNode = loadActiveTree(args.tree);
|
||||
|
||||
|
||||
if (angular.isString(args.path)) {
|
||||
args.path = args.path.replace('"', '').split(',');
|
||||
}
|
||||
@@ -200,6 +196,8 @@ function umbTreeDirective($compile, $log, $q, $rootScope, treeService, notificat
|
||||
|
||||
deleteAnimations = false;
|
||||
|
||||
var treeNode = loadActiveTree(args.tree);
|
||||
|
||||
return treeService.syncTree({
|
||||
node: treeNode,
|
||||
path: args.path,
|
||||
@@ -275,13 +273,6 @@ function umbTreeDirective($compile, $log, $q, $rootScope, treeService, notificat
|
||||
//set the data once we have it
|
||||
$scope.tree = data;
|
||||
|
||||
//call the callback, this allows for hosting controllers to bind to events and use the exposed API
|
||||
if (!isInitialized) {
|
||||
isInitialized = true;
|
||||
$scope.onInit();
|
||||
}
|
||||
|
||||
|
||||
enableDeleteAnimations();
|
||||
|
||||
$scope.loading = false;
|
||||
@@ -433,6 +424,8 @@ function umbTreeDirective($compile, $log, $q, $rootScope, treeService, notificat
|
||||
});
|
||||
|
||||
loadTree();
|
||||
|
||||
$scope.onInit();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ function contentResource($q, $http, umbDataFormatter, umbRequestHelper) {
|
||||
saveModel),
|
||||
'Failed to save permissions');
|
||||
},
|
||||
|
||||
|
||||
|
||||
getRecycleBin: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
@@ -425,7 +425,7 @@ function contentResource($q, $http, umbDataFormatter, umbRequestHelper) {
|
||||
$http.get(
|
||||
umbRequestHelper.getApiUrl(
|
||||
"contentApiBaseUrl",
|
||||
"GetEmpty",
|
||||
"GetEmpty",
|
||||
[{ blueprintId: blueprintId }, { parentId: parentId}])),
|
||||
'Failed to retrieve blueprint for id ' + blueprintId);
|
||||
},
|
||||
@@ -489,6 +489,7 @@ function contentResource($q, $http, umbDataFormatter, umbRequestHelper) {
|
||||
getChildren: function (parentId, options) {
|
||||
|
||||
var defaults = {
|
||||
includeProperties: [],
|
||||
pageSize: 0,
|
||||
pageNumber: 0,
|
||||
filter: '',
|
||||
@@ -532,6 +533,7 @@ function contentResource($q, $http, umbDataFormatter, umbRequestHelper) {
|
||||
"GetChildren",
|
||||
{
|
||||
id: parentId,
|
||||
includeProperties: _.pluck(options.includeProperties, 'alias').join(","),
|
||||
pageNumber: options.pageNumber,
|
||||
pageSize: options.pageSize,
|
||||
orderBy: options.orderBy,
|
||||
@@ -581,7 +583,7 @@ function contentResource($q, $http, umbDataFormatter, umbRequestHelper) {
|
||||
"contentApiBaseUrl",
|
||||
"GetDetailedPermissions", { contentId: contentId })),
|
||||
'Failed to retrieve permissions for content item ' + contentId);
|
||||
},
|
||||
},
|
||||
|
||||
getPermissions: function (nodeIds) {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
@@ -742,11 +744,11 @@ function contentResource($q, $http, umbDataFormatter, umbRequestHelper) {
|
||||
|
||||
createBlueprintFromContent: function (contentId, name) {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.post(
|
||||
$http.post(
|
||||
umbRequestHelper.getApiUrl("contentApiBaseUrl", "CreateBlueprintFromContent", {
|
||||
contentId: contentId, name: name
|
||||
})
|
||||
),
|
||||
})
|
||||
),
|
||||
"Failed to create blueprint from content with id " + contentId
|
||||
);
|
||||
}
|
||||
|
||||
@@ -122,6 +122,18 @@ function mediaTypeResource($q, $http, umbRequestHelper, umbDataFormatter) {
|
||||
'Failed to delete content type contaier');
|
||||
},
|
||||
|
||||
/**
|
||||
* @ngdoc method
|
||||
* @name umbraco.resources.mediaTypeResource#save
|
||||
* @methodOf umbraco.resources.mediaTypeResource
|
||||
*
|
||||
* @description
|
||||
* Saves or update a media type
|
||||
*
|
||||
* @param {Object} content data type object to create/update
|
||||
* @returns {Promise} resourcePromise object.
|
||||
*
|
||||
*/
|
||||
save: function (contentType) {
|
||||
|
||||
var saveModel = umbDataFormatter.formatContentTypePostData(contentType);
|
||||
|
||||
@@ -86,8 +86,8 @@ function memberTypeResource($q, $http, umbRequestHelper, umbDataFormatter) {
|
||||
|
||||
/**
|
||||
* @ngdoc method
|
||||
* @name umbraco.resources.contentTypeResource#save
|
||||
* @methodOf umbraco.resources.contentTypeResource
|
||||
* @name umbraco.resources.memberTypeResource#save
|
||||
* @methodOf umbraco.resources.memberTypeResource
|
||||
*
|
||||
* @description
|
||||
* Saves or update a member type
|
||||
|
||||
@@ -237,10 +237,11 @@ function contentEditingHelper(fileManager, $q, $location, $routeParams, notifica
|
||||
}
|
||||
|
||||
|
||||
//if we are not creating, then we should add unpublish too,
|
||||
// if we are not creating, then we should add unpublish too,
|
||||
// so long as it's already published and if the user has access to publish
|
||||
// and the user has access to unpublish (may have been removed via Event)
|
||||
if (!args.create) {
|
||||
if (args.content.publishDate && _.contains(args.content.allowedActions, "U")) {
|
||||
if (args.content.publishDate && _.contains(args.content.allowedActions, "U") && _.contains(args.content.allowedActions, "Z")) {
|
||||
buttons.subButtons.push(createButtonDefinition("Z"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
|
||||
|
||||
// Sortabel
|
||||
// Sortable
|
||||
// -------------------------
|
||||
|
||||
// sortable-helper
|
||||
@@ -127,6 +127,16 @@
|
||||
position: relative;
|
||||
margin-bottom: 40px;
|
||||
padding-top: 10px;
|
||||
|
||||
&:hover {
|
||||
background-color: @grayLighter;
|
||||
}
|
||||
|
||||
&[ng-click],
|
||||
&[data-ng-click],
|
||||
&[x-ng-click] {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.umb-grid .row-tools a {
|
||||
@@ -431,7 +441,7 @@
|
||||
background-color: @gray-10;
|
||||
|
||||
.umb-row-title-bar {
|
||||
cursor: default;
|
||||
cursor: inherit;
|
||||
}
|
||||
|
||||
.umb-row-title {
|
||||
|
||||
@@ -16,24 +16,23 @@
|
||||
<i class="large {{docType.icon}}"></i>
|
||||
<span class="menu-label">
|
||||
{{docType.name}}
|
||||
<small>
|
||||
{{docType.description}}
|
||||
</small>
|
||||
<small>{{docType.description}}</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<!--
|
||||
<li class="add">
|
||||
<a href="#settings/documenttype/create/{{currentNode.id}}?doctype={{docType.alias}}&create=true" ng-click="nav.hideNavigation()">
|
||||
<i class="icon-large icon-plus"></i>
|
||||
<span class="menu-label">
|
||||
Create a new media type
|
||||
<small>
|
||||
Design and configure a new media type
|
||||
</small>
|
||||
</span>
|
||||
</a>
|
||||
</li> -->
|
||||
<!--
|
||||
<li class="add">
|
||||
<a href="#settings/documenttype/create/{{currentNode.id}}?doctype={{docType.alias}}&create=true" ng-click="nav.hideNavigation()">
|
||||
<i class="icon-large icon-plus"></i>
|
||||
<span class="menu-label">
|
||||
Create a new media type
|
||||
<small>
|
||||
Design and configure a new media type
|
||||
</small>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
-->
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -6,10 +6,9 @@
|
||||
|
||||
<li ng-repeat="docType in allowedTypes">
|
||||
<a href="#member/member/edit/{{currentNode.id}}?doctype={{docType.alias}}&create=true" ng-click="nav.hideNavigation()">
|
||||
|
||||
<i class="large icon-users"></i>
|
||||
|
||||
<span class="menu-label">{{docType.name}}
|
||||
<i class="large {{docType.icon}}"></i>
|
||||
<span class="menu-label">
|
||||
{{docType.name}}
|
||||
<small>{{docType.description}}</small>
|
||||
</span>
|
||||
</a>
|
||||
@@ -24,4 +23,3 @@
|
||||
<localize key="buttons_somethingElse">Do something else</localize>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
/**
|
||||
* The controller that is used for a couple different Property Editors: Multi Node Tree Picker, Content Picker,
|
||||
* The controller that is used for a couple different Property Editors: Multi Node Tree Picker, Content Picker,
|
||||
* since this is used by MNTP and it supports content, media and members, there is code to deal with all 3 of those types
|
||||
* @param {any} $scope
|
||||
* @param {any} entityResource
|
||||
@@ -70,7 +70,7 @@ function contentPickerController($scope, entityResource, editorState, iconHelper
|
||||
|
||||
$scope.renderModel = [];
|
||||
|
||||
$scope.dialogEditor = editorState && editorState.current && editorState.current.isDialogEditor === true;
|
||||
$scope.dialogEditor = editorState && editorState.current && editorState.current.isDialogEditor === true;
|
||||
|
||||
//the default pre-values
|
||||
var defaultConfig = {
|
||||
@@ -105,7 +105,7 @@ function contentPickerController($scope, entityResource, editorState, iconHelper
|
||||
$scope.model.config.showOpenButton = Object.toBoolean($scope.model.config.showOpenButton);
|
||||
$scope.model.config.showEditButton = Object.toBoolean($scope.model.config.showEditButton);
|
||||
$scope.model.config.showPathOnHover = Object.toBoolean($scope.model.config.showPathOnHover);
|
||||
|
||||
|
||||
var entityType = $scope.model.config.startNode.type === "member"
|
||||
? "Member"
|
||||
: $scope.model.config.startNode.type === "media"
|
||||
@@ -135,8 +135,8 @@ function contentPickerController($scope, entityResource, editorState, iconHelper
|
||||
},
|
||||
treeAlias: $scope.model.config.startNode.type,
|
||||
section: $scope.model.config.startNode.type,
|
||||
idType: "int",
|
||||
//only show the lang selector for content
|
||||
idType: "int",
|
||||
//only show the lang selector for content
|
||||
showLanguageSelector: $scope.model.config.startNode.type === "content"
|
||||
};
|
||||
|
||||
|
||||
@@ -267,11 +267,6 @@ angular.module("umbraco").controller("Umbraco.PropertyEditors.NestedContent.Prop
|
||||
}
|
||||
|
||||
var notSupported = [
|
||||
"Umbraco.CheckBoxList",
|
||||
"Umbraco.DropDownMultiple",
|
||||
"Umbraco.MacroContainer",
|
||||
"Umbraco.RadioButtonList",
|
||||
"Umbraco.MultipleTextstring",
|
||||
"Umbraco.Tags",
|
||||
"Umbraco.UploadField",
|
||||
"Umbraco.ImageCropper"
|
||||
|
||||
@@ -266,7 +266,7 @@ angular.module("umbraco")
|
||||
|
||||
|
||||
editor.on('ObjectResized', function (e) {
|
||||
var qs = "?width=" + e.width + "&height=" + e.height;
|
||||
var qs = "?width=" + e.width + "&height=" + e.height + "&mode=max";
|
||||
var srcAttr = $(e.target).attr("src");
|
||||
var path = srcAttr.split("?")[0];
|
||||
$(e.target).attr("data-mce-src", path + qs);
|
||||
@@ -384,7 +384,7 @@ angular.module("umbraco")
|
||||
// element might still be there even after the modal has been hidden.
|
||||
$scope.$on('$destroy', function () {
|
||||
unsubscribe();
|
||||
if (tinyMceEditor !== undefined && tinyMceEditor != null) {
|
||||
if (tinyMceEditor !== undefined && tinyMceEditor != null) {
|
||||
tinyMceEditor.destroy()
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user