set up new editor on member section - edit

This commit is contained in:
Mads Rasmussen
2015-09-01 14:10:45 +02:00
parent b932270854
commit 8c8f10ea20
2 changed files with 74 additions and 60 deletions

View File

@@ -1,62 +1,59 @@
<form novalidate name="contentForm"
ng-controller="Umbraco.Editors.Member.EditController"
ng-show="loaded"
ng-submit="save()"
val-form-manager>
<umb-panel umb-tabs>
<umb-header tabs="content.tabs">
<div class="span7" ng-if="content.membershipScenario == 0">
<umb-content-name
placeholder="@placeholders_entername"
ng-model="content.name"/>
</div>
<div class="umb-headline-editor-wrapper span7" ng-if="content.membershipScenario != 0">
<h1>{{content.name}}</h1>
</div>
<form novalidate name="contentForm"
ng-controller="Umbraco.Editors.Member.EditController"
ng-show="loaded"
ng-submit="save()"
val-form-manager>
<div class="span5">
<div class="btn-toolbar pull-right umb-btn-toolbar">
<div class="btn-group" ng-animate="'fade'" ng-show="formStatus">
<p class="btn btn-link umb-status-label">{{formStatus}}</p>
</div>
<umb-editor-view umb-tabs>
<umb-options-menu ng-show="currentNode"
current-node="currentNode"
current-section="{{currentSection}}">
</umb-options-menu>
<umb-editor-header
name="content.name"
name-locked="page.nameLocked"
tabs="content.tabs"
menu="page.menu">
</umb-editor-header>
</div>
</div>
</umb-header>
<umb-editor-container>
<umb-tab-view>
<umb-tabs-content view="true" class="form-horizontal">
<umb-tab id="tab{{tab.id}}" rel="{{tab.id}}" ng-repeat="tab in content.tabs">
<div class="umb-pane">
<umb-property
property="property"
ng-repeat="property in tab.properties">
<umb-editor model="property"></umb-editor>
</umb-property>
<div class="umb-tab-buttons" detect-fold ng-class="{'umb-dimmed': busy}">
<div class="btn-group" ng-if="listViewPath">
<a class="btn" href="#{{listViewPath}}">
<localize key="buttons_returnToList">Return to list</localize>
</a>
</div>
<div class="btn-group">
<button type="submit" data-hotkey="ctrl+s" class="btn btn-success">
<localize key="buttons_save">Save</localize>
</button>
</div>
</div>
</div>
<umb-property property="property" ng-repeat="property in tab.properties">
<umb-editor model="property"></umb-editor>
</umb-property>
</umb-tab>
</umb-tab-view>
</umb-panel>
</form>
</umb-tabs-content>
</umb-editor-container>
<umb-editor-footer>
<umb-editor-footer-content-left>
<umb-breadcrumbs ng-if="ancestors && ancestors.length > 0" ancestors="ancestors"></umb-breadcrumbs>
</umb-editor-footer-content-left>
<umb-editor-footer-content-right ng-class="{'umb-dimmed': busy}">
<div class="btn-group" ng-if="listViewPath">
<a class="btn" href="#{{listViewPath}}">
<localize key="buttons_returnToList">Return to list</localize>
</a>
</div>
<div class="btn-group">
<button type="submit" data-hotkey="ctrl+s" class="btn btn-success">
<localize key="buttons_save">Save</localize>
</button>
</div>
</umb-editor-footer-content-right>
</umb-editor-footer>
</umb-editor-view>
</form>

View File

@@ -9,8 +9,11 @@
function MemberEditController($scope, $routeParams, $location, $q, $window, appState, memberResource, entityResource, navigationService, notificationsService, angularHelper, serverValidationManager, contentEditingHelper, fileManager, formHelper, umbModelMapper, editorState, umbRequestHelper, $http) {
//setup scope vars
$scope.currentSection = appState.getSectionState("currentSection");
$scope.currentNode = null; //the editors affiliated node
$scope.page = {};
$scope.page.menu = {};
$scope.page.menu.currentSection = appState.getSectionState("currentSection");
$scope.page.menu.currentNode = null; //the editors affiliated node
$scope.page.nameLocked = false;
$scope.listViewPath = ($routeParams.page && $routeParams.listName)
? "/member/member/list/" + $routeParams.listName + "?page=" + $routeParams.page
@@ -32,6 +35,8 @@ function MemberEditController($scope, $routeParams, $location, $q, $window, appS
$scope.loaded = true;
$scope.content = data;
setHeaderNameState($scope.content);
editorState.set($scope.content);
});
}
@@ -41,10 +46,12 @@ function MemberEditController($scope, $routeParams, $location, $q, $window, appS
$scope.loaded = true;
$scope.content = data;
setHeaderNameState($scope.content);
editorState.set($scope.content);
});
}
}
else {
//so, we usually refernce all editors with the Int ID, but with members we have
@@ -65,6 +72,8 @@ function MemberEditController($scope, $routeParams, $location, $q, $window, appS
$scope.loaded = true;
$scope.content = data;
setHeaderNameState($scope.content);
editorState.set($scope.content);
var path = buildTreePath(data);
@@ -77,7 +86,7 @@ function MemberEditController($scope, $routeParams, $location, $q, $window, appS
umbRequestHelper.resourcePromise(
$http.get(data.treeNodeUrl),
'Failed to retrieve data for child node ' + data.key).then(function (node) {
$scope.currentNode = node;
$scope.page.menu.currentNode = node;
});
//in one particular special case, after we've created a new item we redirect back to the edit
@@ -89,7 +98,15 @@ function MemberEditController($scope, $routeParams, $location, $q, $window, appS
}
}
function setHeaderNameState(content) {
if(content.membershipScenario === 0) {
$scope.page.nameLocked = true;
}
}
$scope.save = function() {
if (!$scope.busy && formHelper.submitForm({ scope: $scope, statusMessage: "Saving..." })) {