Compare commits
	
		
			2 Commits
		
	
	
		
			vista-4.7.
			...
			prototype-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					5013646e89 | ||
| 
						 | 
					9925b91405 | 
@@ -35,7 +35,8 @@
 | 
			
		||||
            {
 | 
			
		||||
                "key": "BrowseObjectController",
 | 
			
		||||
                "implementation": "BrowseObjectController.js",
 | 
			
		||||
                "depends": [ "$scope", "$location", "$route", "$q" ]
 | 
			
		||||
                "depends": [ "$scope", "$location", "$route", "$q",
 | 
			
		||||
                    "navigationService" ]
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                "key": "CreateMenuController",
 | 
			
		||||
 
 | 
			
		||||
@@ -20,9 +20,10 @@
 | 
			
		||||
 at runtime from the About dialog for additional information.
 | 
			
		||||
-->
 | 
			
		||||
<div ng-init="
 | 
			
		||||
    editBtns = [{ cssclass: 'save',title: 'Save' },{ cssclass: 'cancel',title: 'Discard Changes' }];
 | 
			
		||||
    editBtns = [{ cssclass: 'save',title: 'Save' },{ cssclass: 'cancel',title: 'Discard Changes', action:'cancelEditing' }];
 | 
			
		||||
"></div>
 | 
			
		||||
<span ng-controller="BrowseObjectController">
 | 
			
		||||
<span ng-controller="BrowseObjectController"
 | 
			
		||||
      mct-before-unload="getUnloadWarning()">
 | 
			
		||||
    <a class="s-btn"
 | 
			
		||||
       style="opacity: 0.9; position:absolute; right: 250px; z-index: 100"
 | 
			
		||||
       ng-class="{ major:!editMode }"
 | 
			
		||||
@@ -100,7 +101,7 @@
 | 
			
		||||
                    <span ng-repeat="btn in editBtns">
 | 
			
		||||
                        <a class='s-btn t-{{btn.cssclass}}'
 | 
			
		||||
                           title='{{btn.title}}'
 | 
			
		||||
                           ng-click="currentAction.perform()"
 | 
			
		||||
                           ng-click="doAction(btn.action)"
 | 
			
		||||
                           ng-class="{ major: $index === 0 }">
 | 
			
		||||
                            <span class="title-label">{{btn.title}}</span>
 | 
			
		||||
                        </a>
 | 
			
		||||
 
 | 
			
		||||
@@ -74,15 +74,17 @@ define(
 | 
			
		||||
            // Callback for updating the in-scope reference to the object
 | 
			
		||||
            // that is currently navigated-to.
 | 
			
		||||
            function setNavigation(domainObject) {
 | 
			
		||||
                var navigatedDomainObject = domainObject;
 | 
			
		||||
                
 | 
			
		||||
                $scope.navigatedObject = navigatedDomainObject;
 | 
			
		||||
 | 
			
		||||
                var wrappedObject = domainObject;
 | 
			
		||||
 | 
			
		||||
                $scope.navigatedObject = wrappedObject;
 | 
			
		||||
                $scope.treeModel.selectedObject = domainObject;
 | 
			
		||||
                navigationService.setNavigation(domainObject);
 | 
			
		||||
                updateRoute(domainObject);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            function navigateTo(domainObject) {
 | 
			
		||||
 | 
			
		||||
                // Check if an object has been navigated-to already...
 | 
			
		||||
                // If not, or if an ID path has been explicitly set in the URL,
 | 
			
		||||
                // navigate to the URL-specified object.
 | 
			
		||||
@@ -159,8 +161,6 @@ define(
 | 
			
		||||
                navigationService.removeListener(setNavigation);
 | 
			
		||||
            });
 | 
			
		||||
            
 | 
			
		||||
            $scope.editMode = false;
 | 
			
		||||
            
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return BrowseController;
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,8 @@ define(
 | 
			
		||||
         * @memberof platform/commonUI/browse
 | 
			
		||||
         * @constructor
 | 
			
		||||
         */
 | 
			
		||||
        function BrowseObjectController($scope, $location, $route, $q) {
 | 
			
		||||
        function BrowseObjectController($scope, $location, $route, $q, navigationService) {
 | 
			
		||||
            var navigatedObject;
 | 
			
		||||
            function setViewForDomainObject(domainObject) {
 | 
			
		||||
                
 | 
			
		||||
                var locationViewKey = $location.search().view;
 | 
			
		||||
@@ -49,6 +50,8 @@ define(
 | 
			
		||||
                    ((domainObject && domainObject.useCapability('view')) || [])
 | 
			
		||||
                        .forEach(selectViewIfMatching);
 | 
			
		||||
                }
 | 
			
		||||
                $scope.editMode = domainObject.getDomainObject ? true : false;
 | 
			
		||||
                navigatedObject = domainObject;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            function updateQueryParam(viewKey) {
 | 
			
		||||
@@ -66,23 +69,17 @@ define(
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
            function toggleEditMode(editMode){
 | 
			
		||||
                var domainObject = $scope.domainObject;
 | 
			
		||||
                if (editMode){
 | 
			
		||||
                    $scope.domainObject = domainObject && new EditableDomainObject(domainObject, $q);
 | 
			
		||||
                } else {
 | 
			
		||||
                    $scope.domainObject = (domainObject.getDomainObject && domainObject.getDomainObject()) || domainObject;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
            $scope.$watch('editMode', toggleEditMode);
 | 
			
		||||
 | 
			
		||||
            $scope.$watch('domainObject', setViewForDomainObject);
 | 
			
		||||
            $scope.$watch('representation.selected.key', updateQueryParam);
 | 
			
		||||
 | 
			
		||||
            $scope.$on(GestureConstants.MCT_DROP_EVENT, function() {
 | 
			
		||||
                $scope.editMode = true;
 | 
			
		||||
            });
 | 
			
		||||
            $scope.cancelEditing = function() {
 | 
			
		||||
                navigationService.setNavigation($scope.domainObject.getDomainObject());
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            $scope.doAction = function (action){
 | 
			
		||||
                $scope[action] && $scope[action]();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -25,8 +25,8 @@
 | 
			
		||||
 * Module defining EditAction. Created by vwoeltje on 11/14/14.
 | 
			
		||||
 */
 | 
			
		||||
define(
 | 
			
		||||
    [],
 | 
			
		||||
    function () {
 | 
			
		||||
    ['../objects/EditableDomainObject'],
 | 
			
		||||
    function (EditableDomainObject) {
 | 
			
		||||
        "use strict";
 | 
			
		||||
 | 
			
		||||
        // A no-op action to return in the event that the action cannot
 | 
			
		||||
@@ -71,8 +71,10 @@ define(
 | 
			
		||||
         * Enter edit mode.
 | 
			
		||||
         */
 | 
			
		||||
        EditAction.prototype.perform = function () {
 | 
			
		||||
            this.navigationService.setNavigation(this.domainObject);
 | 
			
		||||
            this.$location.path("/edit");
 | 
			
		||||
            if (!this.domainObject.getDomainObject) {
 | 
			
		||||
                this.navigationService.setNavigation(new EditableDomainObject(this.domainObject));
 | 
			
		||||
            }
 | 
			
		||||
            //this.$location.path("/edit");
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
@@ -83,10 +85,11 @@ define(
 | 
			
		||||
         */
 | 
			
		||||
        EditAction.appliesTo = function (context) {
 | 
			
		||||
            var domainObject = (context || {}).domainObject,
 | 
			
		||||
                type = domainObject && domainObject.getCapability('type');
 | 
			
		||||
                type = domainObject && domainObject.getCapability('type'),
 | 
			
		||||
                isEditMode = domainObject && domainObject.getDomainObject ? true : false;
 | 
			
		||||
 | 
			
		||||
            // Only allow creatable types to be edited
 | 
			
		||||
            return type && type.hasFeature('creation');
 | 
			
		||||
            return type && type.hasFeature('creation') && !isEditMode;
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        return EditAction;
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,7 @@
 | 
			
		||||
            {
 | 
			
		||||
                "key": "drop",
 | 
			
		||||
                "implementation": "gestures/DropGesture.js",
 | 
			
		||||
                "depends": [ "dndService", "$q" ]
 | 
			
		||||
                "depends": [ "dndService", "$q", "navigationService" ]
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                "key": "menu",
 | 
			
		||||
 
 | 
			
		||||
@@ -25,8 +25,9 @@
 | 
			
		||||
 * Module defining DropGesture. Created by vwoeltje on 11/17/14.
 | 
			
		||||
 */
 | 
			
		||||
define(
 | 
			
		||||
    ['./GestureConstants'],
 | 
			
		||||
    function (GestureConstants) {
 | 
			
		||||
    ['./GestureConstants',
 | 
			
		||||
     '../../../commonUI/edit/src/objects/EditableDomainObject'],
 | 
			
		||||
    function (GestureConstants, EditableDomainObject) {
 | 
			
		||||
        "use strict";
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
@@ -40,8 +41,9 @@ define(
 | 
			
		||||
         * @param {DomainObject} domainObject the domain object whose
 | 
			
		||||
         *        composition should be modified as a result of the drop.
 | 
			
		||||
         */
 | 
			
		||||
        function DropGesture(dndService, $q, element, domainObject) {
 | 
			
		||||
            var actionCapability = domainObject.getCapability('action'),
 | 
			
		||||
        function DropGesture(dndService, $q, navigationService, element, domainObject) {
 | 
			
		||||
            var editableDomainObject = domainObject instanceof EditableDomainObject ? domainObject : new EditableDomainObject(domainObject, $q),
 | 
			
		||||
                actionCapability = editableDomainObject.getCapability('action'),
 | 
			
		||||
                action; // Action for the drop, when it occurs
 | 
			
		||||
            
 | 
			
		||||
            function broadcastDrop(id, event) {
 | 
			
		||||
@@ -93,8 +95,8 @@ define(
 | 
			
		||||
            function drop(e) {
 | 
			
		||||
                var event = (e || {}).originalEvent || e,
 | 
			
		||||
                    id = event.dataTransfer.getData(GestureConstants.MCT_DRAG_TYPE),
 | 
			
		||||
                    domainObjectType = domainObject.getModel().type;
 | 
			
		||||
                
 | 
			
		||||
                    domainObjectType = editableDomainObject.getModel().type;
 | 
			
		||||
 | 
			
		||||
                // If currently in edit mode allow drag and drop gestures to the
 | 
			
		||||
                // domain object. An exception to this is folders which have drop
 | 
			
		||||
                // gestures in browse mode.
 | 
			
		||||
@@ -105,6 +107,7 @@ define(
 | 
			
		||||
                    // the change.
 | 
			
		||||
                    if (id) {
 | 
			
		||||
                        $q.when(action && action.perform()).then(function (result) {
 | 
			
		||||
                            navigationService.setNavigation(editableDomainObject);
 | 
			
		||||
                            broadcastDrop(id, event);
 | 
			
		||||
                        });
 | 
			
		||||
                    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user