2016-01-15 01:08:19 +00:00
|
|
|
/*****************************************************************************
|
|
|
|
* Open MCT Web, Copyright (c) 2014-2015, United States Government
|
|
|
|
* as represented by the Administrator of the National Aeronautics and Space
|
|
|
|
* Administration. All rights reserved.
|
|
|
|
*
|
|
|
|
* Open MCT Web is licensed under the Apache License, Version 2.0 (the
|
|
|
|
* "License"); you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0.
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
|
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
|
|
* License for the specific language governing permissions and limitations
|
|
|
|
* under the License.
|
|
|
|
*
|
|
|
|
* Open MCT Web includes source code licensed under additional open source
|
|
|
|
* licenses. See the Open Source Licenses file (LICENSES.md) included with
|
|
|
|
* this source code distribution or the Licensing information page available
|
|
|
|
* at runtime from the About dialog for additional information.
|
|
|
|
*****************************************************************************/
|
|
|
|
|
|
|
|
define([
|
|
|
|
"./src/controllers/EditActionController",
|
|
|
|
"./src/controllers/EditPanesController",
|
|
|
|
"./src/controllers/ElementsController",
|
2016-01-27 05:47:19 +00:00
|
|
|
"./src/controllers/EditObjectController",
|
2016-01-15 01:08:19 +00:00
|
|
|
"./src/directives/MCTBeforeUnload",
|
2016-05-13 20:45:14 +00:00
|
|
|
"./src/actions/EditAndComposeAction",
|
2016-01-15 01:08:19 +00:00
|
|
|
"./src/actions/EditAction",
|
|
|
|
"./src/actions/PropertiesAction",
|
|
|
|
"./src/actions/RemoveAction",
|
|
|
|
"./src/actions/SaveAction",
|
2016-04-12 21:40:19 +00:00
|
|
|
"./src/actions/SaveAsAction",
|
2016-01-15 01:08:19 +00:00
|
|
|
"./src/actions/CancelAction",
|
|
|
|
"./src/policies/EditActionPolicy",
|
2016-03-22 19:03:18 +00:00
|
|
|
"./src/policies/EditableLinkPolicy",
|
2016-03-21 19:07:19 +00:00
|
|
|
"./src/policies/EditableMovePolicy",
|
2016-03-01 01:22:13 +00:00
|
|
|
"./src/policies/EditNavigationPolicy",
|
2016-03-23 03:17:23 +00:00
|
|
|
"./src/policies/EditContextualActionPolicy",
|
2016-01-15 01:08:19 +00:00
|
|
|
"./src/representers/EditRepresenter",
|
|
|
|
"./src/representers/EditToolbarRepresenter",
|
2016-05-12 22:58:17 +00:00
|
|
|
"./src/capabilities/EditorCapability",
|
2016-05-12 23:14:31 +00:00
|
|
|
"./src/capabilities/TransactionCapabilityDecorator",
|
2016-05-12 22:58:17 +00:00
|
|
|
"./src/services/TransactionService",
|
2016-02-26 21:07:50 +00:00
|
|
|
"text!./res/templates/library.html",
|
|
|
|
"text!./res/templates/edit-object.html",
|
|
|
|
"text!./res/templates/edit-action-buttons.html",
|
|
|
|
"text!./res/templates/elements.html",
|
|
|
|
"text!./res/templates/topbar-edit.html",
|
2016-01-15 01:08:19 +00:00
|
|
|
'legacyRegistry'
|
|
|
|
], function (
|
|
|
|
EditActionController,
|
|
|
|
EditPanesController,
|
|
|
|
ElementsController,
|
2016-01-27 05:47:19 +00:00
|
|
|
EditObjectController,
|
2016-01-15 01:08:19 +00:00
|
|
|
MCTBeforeUnload,
|
2016-05-13 20:45:14 +00:00
|
|
|
EditAndComposeAction,
|
2016-01-15 01:08:19 +00:00
|
|
|
EditAction,
|
|
|
|
PropertiesAction,
|
|
|
|
RemoveAction,
|
|
|
|
SaveAction,
|
2016-04-12 21:40:19 +00:00
|
|
|
SaveAsAction,
|
2016-01-15 01:08:19 +00:00
|
|
|
CancelAction,
|
|
|
|
EditActionPolicy,
|
2016-03-22 19:03:18 +00:00
|
|
|
EditableLinkPolicy,
|
2016-03-21 19:07:19 +00:00
|
|
|
EditableMovePolicy,
|
2016-03-01 01:22:13 +00:00
|
|
|
EditNavigationPolicy,
|
2016-03-23 03:17:23 +00:00
|
|
|
EditContextualActionPolicy,
|
2016-01-15 01:08:19 +00:00
|
|
|
EditRepresenter,
|
|
|
|
EditToolbarRepresenter,
|
2016-05-12 22:58:17 +00:00
|
|
|
EditorCapability,
|
2016-05-12 23:14:31 +00:00
|
|
|
TransactionCapabilityDecorator,
|
2016-05-12 22:58:17 +00:00
|
|
|
TransactionService,
|
2016-02-26 21:07:50 +00:00
|
|
|
libraryTemplate,
|
|
|
|
editObjectTemplate,
|
|
|
|
editActionButtonsTemplate,
|
|
|
|
elementsTemplate,
|
|
|
|
topbarEditTemplate,
|
2016-01-15 01:08:19 +00:00
|
|
|
legacyRegistry
|
|
|
|
) {
|
|
|
|
|
|
|
|
legacyRegistry.register("platform/commonUI/edit", {
|
|
|
|
"extensions": {
|
|
|
|
"controllers": [
|
|
|
|
{
|
|
|
|
"key": "EditActionController",
|
|
|
|
"implementation": EditActionController,
|
|
|
|
"depends": [
|
|
|
|
"$scope"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"key": "EditPanesController",
|
|
|
|
"implementation": EditPanesController,
|
|
|
|
"depends": [
|
|
|
|
"$scope"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"key": "ElementsController",
|
|
|
|
"implementation": ElementsController,
|
|
|
|
"depends": [
|
|
|
|
"$scope"
|
|
|
|
]
|
2016-01-27 05:47:19 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"key": "EditObjectController",
|
|
|
|
"implementation": EditObjectController,
|
|
|
|
"depends": [
|
2016-02-27 00:34:07 +00:00
|
|
|
"$scope",
|
2016-03-01 01:22:13 +00:00
|
|
|
"$location",
|
|
|
|
"policyService"
|
2016-01-27 05:47:19 +00:00
|
|
|
]
|
2016-01-15 01:08:19 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"directives": [
|
|
|
|
{
|
|
|
|
"key": "mctBeforeUnload",
|
|
|
|
"implementation": MCTBeforeUnload,
|
|
|
|
"depends": [
|
|
|
|
"$window"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"actions": [
|
|
|
|
{
|
|
|
|
"key": "compose",
|
2016-05-13 20:45:14 +00:00
|
|
|
"implementation": EditAndComposeAction
|
2016-01-15 01:08:19 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"key": "edit",
|
|
|
|
"implementation": EditAction,
|
|
|
|
"depends": [
|
|
|
|
"$location",
|
|
|
|
"navigationService",
|
2016-05-12 23:14:31 +00:00
|
|
|
"$log"
|
2016-01-15 01:08:19 +00:00
|
|
|
],
|
|
|
|
"description": "Edit this object.",
|
|
|
|
"category": "view-control",
|
|
|
|
"glyph": "p"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"key": "properties",
|
|
|
|
"category": [
|
|
|
|
"contextual",
|
|
|
|
"view-control"
|
|
|
|
],
|
|
|
|
"implementation": PropertiesAction,
|
|
|
|
"glyph": "p",
|
|
|
|
"name": "Edit Properties...",
|
|
|
|
"description": "Edit properties of this object.",
|
|
|
|
"depends": [
|
|
|
|
"dialogService"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"key": "remove",
|
|
|
|
"category": "contextual",
|
|
|
|
"implementation": RemoveAction,
|
|
|
|
"glyph": "Z",
|
|
|
|
"name": "Remove",
|
|
|
|
"description": "Remove this object from its containing object.",
|
|
|
|
"depends": [
|
|
|
|
"navigationService"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"key": "save",
|
|
|
|
"category": "conclude-editing",
|
|
|
|
"implementation": SaveAction,
|
|
|
|
"name": "Save",
|
|
|
|
"description": "Save changes made to these objects.",
|
2016-04-12 21:40:19 +00:00
|
|
|
"depends": [],
|
|
|
|
"priority": "mandatory"
|
|
|
|
},
|
|
|
|
{
|
2016-04-14 23:04:15 +00:00
|
|
|
"key": "save",
|
2016-04-12 21:40:19 +00:00
|
|
|
"category": "conclude-editing",
|
|
|
|
"implementation": SaveAsAction,
|
2016-04-14 23:04:15 +00:00
|
|
|
"name": "Save",
|
2016-04-12 21:40:19 +00:00
|
|
|
"description": "Save changes made to these objects.",
|
2016-01-15 01:08:19 +00:00
|
|
|
"depends": [
|
|
|
|
"$injector",
|
|
|
|
"policyService",
|
|
|
|
"dialogService",
|
2016-02-10 19:59:17 +00:00
|
|
|
"creationService",
|
|
|
|
"copyService"
|
2016-01-15 01:08:19 +00:00
|
|
|
],
|
|
|
|
"priority": "mandatory"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"key": "cancel",
|
|
|
|
"category": "conclude-editing",
|
|
|
|
"implementation": CancelAction,
|
|
|
|
"name": "Cancel",
|
|
|
|
"description": "Discard changes made to these objects.",
|
2016-05-12 23:05:27 +00:00
|
|
|
"depends": []
|
2016-01-15 01:08:19 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"policies": [
|
|
|
|
{
|
|
|
|
"category": "action",
|
|
|
|
"implementation": EditActionPolicy
|
2016-03-01 01:22:13 +00:00
|
|
|
},
|
2016-03-21 19:07:19 +00:00
|
|
|
{
|
2016-03-23 03:17:23 +00:00
|
|
|
"category": "action",
|
|
|
|
"implementation": EditContextualActionPolicy,
|
2016-04-19 02:05:46 +00:00
|
|
|
"depends": ["navigationService", "editModeBlacklist", "nonEditContextBlacklist"]
|
2016-03-23 03:17:23 +00:00
|
|
|
},
|
|
|
|
{
|
2016-03-21 19:07:19 +00:00
|
|
|
"category": "action",
|
|
|
|
"implementation": EditableMovePolicy
|
|
|
|
},
|
2016-03-22 19:03:18 +00:00
|
|
|
{
|
|
|
|
"category": "action",
|
|
|
|
"implementation": EditableLinkPolicy
|
|
|
|
},
|
2016-03-01 01:22:13 +00:00
|
|
|
{
|
|
|
|
"category": "navigation",
|
|
|
|
"message": "There are unsaved changes.",
|
2016-03-02 19:45:15 +00:00
|
|
|
"implementation": EditNavigationPolicy
|
2016-01-15 01:08:19 +00:00
|
|
|
}
|
2016-03-01 01:22:13 +00:00
|
|
|
|
2016-01-15 01:08:19 +00:00
|
|
|
],
|
|
|
|
"templates": [
|
|
|
|
{
|
|
|
|
"key": "edit-library",
|
2016-02-26 21:07:50 +00:00
|
|
|
"template": libraryTemplate
|
2016-01-15 01:08:19 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"representations": [
|
|
|
|
{
|
|
|
|
"key": "edit-object",
|
2016-02-26 21:07:50 +00:00
|
|
|
"template": editObjectTemplate,
|
2016-01-15 01:08:19 +00:00
|
|
|
"uses": [
|
|
|
|
"view"
|
2016-01-27 05:47:19 +00:00
|
|
|
],
|
|
|
|
"gestures": [
|
|
|
|
"drop"
|
2016-01-15 01:08:19 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"key": "edit-action-buttons",
|
2016-02-26 21:07:50 +00:00
|
|
|
"template": editActionButtonsTemplate,
|
2016-01-15 01:08:19 +00:00
|
|
|
"uses": [
|
|
|
|
"action"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"key": "edit-elements",
|
2016-02-26 21:07:50 +00:00
|
|
|
"template": elementsTemplate,
|
2016-01-15 01:08:19 +00:00
|
|
|
"uses": [
|
|
|
|
"composition"
|
|
|
|
],
|
|
|
|
"gestures": [
|
|
|
|
"drop"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"key": "topbar-edit",
|
2016-02-26 21:07:50 +00:00
|
|
|
"template": topbarEditTemplate
|
2016-01-15 01:08:19 +00:00
|
|
|
}
|
|
|
|
],
|
2016-05-12 22:58:17 +00:00
|
|
|
"components": [
|
|
|
|
{
|
|
|
|
"type": "decorator",
|
|
|
|
"provides": "capabilityService",
|
2016-05-12 23:14:31 +00:00
|
|
|
"implementation": TransactionCapabilityDecorator,
|
2016-05-12 22:58:17 +00:00
|
|
|
"depends": [
|
|
|
|
"$q",
|
2016-05-12 23:14:31 +00:00
|
|
|
"transactionService"
|
2016-05-12 21:20:16 +00:00
|
|
|
],
|
|
|
|
"priority": "fallback"
|
2016-05-12 22:58:17 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "provider",
|
|
|
|
"provides": "transactionService",
|
|
|
|
"implementation": TransactionService,
|
|
|
|
"depends": [
|
|
|
|
"$q",
|
2016-05-12 23:14:31 +00:00
|
|
|
"$log"
|
2016-05-12 22:58:17 +00:00
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
2016-01-15 01:08:19 +00:00
|
|
|
"representers": [
|
|
|
|
{
|
|
|
|
"implementation": EditRepresenter,
|
|
|
|
"depends": [
|
|
|
|
"$q",
|
|
|
|
"$log"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"implementation": EditToolbarRepresenter
|
|
|
|
}
|
2016-04-19 02:05:46 +00:00
|
|
|
],
|
|
|
|
"constants": [
|
|
|
|
{
|
2016-05-19 18:29:13 +00:00
|
|
|
"key": "editModeBlacklist",
|
2016-04-19 02:05:46 +00:00
|
|
|
"value": ["copy", "follow", "window", "link", "locate"]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"key": "nonEditContextBlacklist",
|
|
|
|
"value": ["copy", "follow", "properties", "move", "link", "remove", "locate"]
|
|
|
|
}
|
2016-05-12 22:58:17 +00:00
|
|
|
],
|
|
|
|
"capabilities": [
|
|
|
|
{
|
|
|
|
"key": "editor",
|
|
|
|
"name": "Editor Capability",
|
|
|
|
"description": "Provides transactional editing capabilities",
|
|
|
|
"implementation": EditorCapability,
|
|
|
|
"depends": [
|
2016-05-12 23:14:31 +00:00
|
|
|
"transactionService"
|
2016-05-12 22:58:17 +00:00
|
|
|
]
|
|
|
|
}
|
2016-05-19 18:29:13 +00:00
|
|
|
]
|
2016-01-15 01:08:19 +00:00
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|