From 3122168b0e40820697d18e5ba7f407044268109a Mon Sep 17 00:00:00 2001 From: Andrew Henry Date: Thu, 13 Dec 2018 17:11:39 -0800 Subject: [PATCH] Removed unused legacy code --- platform/commonUI/edit/bundle.js | 6 - .../edit/src/policies/EditActionPolicy.js | 112 -------------- .../edit/src/policies/EditableViewPolicy.js | 49 ------- .../test/policies/EditActionPolicySpec.js | 138 ------------------ .../test/policies/EditableViewPolicySpec.js | 79 ---------- 5 files changed, 384 deletions(-) delete mode 100644 platform/commonUI/edit/src/policies/EditActionPolicy.js delete mode 100644 platform/commonUI/edit/src/policies/EditableViewPolicy.js delete mode 100644 platform/commonUI/edit/test/policies/EditActionPolicySpec.js delete mode 100644 platform/commonUI/edit/test/policies/EditableViewPolicySpec.js diff --git a/platform/commonUI/edit/bundle.js b/platform/commonUI/edit/bundle.js index d421c4bec8..54a4809743 100644 --- a/platform/commonUI/edit/bundle.js +++ b/platform/commonUI/edit/bundle.js @@ -32,7 +32,6 @@ define([ "./src/actions/SaveAndStopEditingAction", "./src/actions/SaveAsAction", "./src/actions/CancelAction", - "./src/policies/EditActionPolicy", "./src/policies/EditPersistableObjectsPolicy", "./src/representers/EditRepresenter", "./src/capabilities/EditorCapability", @@ -64,7 +63,6 @@ define([ SaveAndStopEditingAction, SaveAsAction, CancelAction, - EditActionPolicy, EditPersistableObjectsPolicy, EditRepresenter, EditorCapability, @@ -225,10 +223,6 @@ define([ } ], "policies": [ - { - "category": "action", - "implementation": EditActionPolicy - }, { "category": "action", "implementation": EditPersistableObjectsPolicy, diff --git a/platform/commonUI/edit/src/policies/EditActionPolicy.js b/platform/commonUI/edit/src/policies/EditActionPolicy.js deleted file mode 100644 index d898609bb4..0000000000 --- a/platform/commonUI/edit/src/policies/EditActionPolicy.js +++ /dev/null @@ -1,112 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT 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 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( - [], - function () { - - /** - * Policy controlling when the `edit` and/or `properties` actions - * can appear as applicable actions of the `view-control` category - * (shown as buttons in the top-right of browse mode.) - * @memberof platform/commonUI/edit - * @constructor - * @implements {Policy.} - */ - function EditActionPolicy(policyService) { - this.policyService = policyService; - } - - /** - * Get a count of views which are not flagged as non-editable. - * @private - */ - EditActionPolicy.prototype.countEditableViews = function (context) { - console.trace('countEditableViews'); - var domainObject = context.domainObject, - count = 0, - type, views; - - if (!domainObject) { - return count; - } - - type = domainObject.getCapability('type'); - views = domainObject.useCapability('view'); - - - // A view is editable unless explicitly flagged as not - (views || []).forEach(function (view) { - if (isEditable(view) || - (view.key === 'plot' && type.getKey() === 'telemetry.panel') || - (view.key === 'table' && type.getKey() === 'table') || - (view.key === 'rt-table' && type.getKey() === 'rttable') - ) { - count++; - } - }); - - function isEditable(view) { - if (typeof view.canEdit === Function) { - return view.canEdit(domainObject.useCapability('adapter')); - } else { - return view.canEdit === true; - } - } - - return count; - }; - - /** - * Checks whether the domain object is currently being edited. If - * so, the edit action is not applicable. - * @param context - * @returns {*|boolean} - */ - function isEditing(context) { - var domainObject = (context || {}).domainObject; - return domainObject && - domainObject.hasCapability('editor') && - domainObject.getCapability('editor').isEditContextRoot(); - } - - EditActionPolicy.prototype.allow = function (action, context) { - var key = action.getMetadata().key, - category = (context || {}).category; - - // Restrict 'edit' to cases where there are editable - // views (similarly, restrict 'properties' to when - // the converse is true), and where the domain object is not - // already being edited. - if (key === 'edit') { - return this.countEditableViews(context) > 0 && !isEditing(context); - } else if (key === 'properties' && category === 'view-control') { - return this.countEditableViews(context) < 1 && !isEditing(context); - } - - // Like all policies, allow by default. - return true; - }; - - return EditActionPolicy; - } -); diff --git a/platform/commonUI/edit/src/policies/EditableViewPolicy.js b/platform/commonUI/edit/src/policies/EditableViewPolicy.js deleted file mode 100644 index a3869b0211..0000000000 --- a/platform/commonUI/edit/src/policies/EditableViewPolicy.js +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT 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 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( - [], - function () { - - /** - * Policy controlling which views should be visible in Edit mode. - * @memberof platform/commonUI/edit - * @constructor - * @implements {Policy.} - */ - function EditableViewPolicy() { - } - - EditableViewPolicy.prototype.allow = function (view, domainObject) { - // If a view is flagged as non-editable, only allow it - // while we're not in Edit mode. - if ((view || {}).editable === false) { - return !(domainObject.hasCapability('editor') && domainObject.getCapability('editor').inEditContext()); - } - - // Like all policies, allow by default. - return true; - }; - - return EditableViewPolicy; - } -); diff --git a/platform/commonUI/edit/test/policies/EditActionPolicySpec.js b/platform/commonUI/edit/test/policies/EditActionPolicySpec.js deleted file mode 100644 index 2ac5fbf96d..0000000000 --- a/platform/commonUI/edit/test/policies/EditActionPolicySpec.js +++ /dev/null @@ -1,138 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT 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 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/policies/EditActionPolicy"], - function (EditActionPolicy) { - - describe("The Edit action policy", function () { - var editableView, - nonEditableView, - testViews, - testContext, - mockDomainObject, - mockEditAction, - mockPropertiesAction, - mockTypeCapability, - mockEditorCapability, - capabilities, - plotView, - policy; - - beforeEach(function () { - mockDomainObject = jasmine.createSpyObj( - 'domainObject', - [ - 'useCapability', - 'hasCapability', - 'getCapability' - ] - ); - mockEditorCapability = jasmine.createSpyObj('editorCapability', ['isEditContextRoot']); - mockTypeCapability = jasmine.createSpyObj('type', ['getKey']); - capabilities = { - 'editor': mockEditorCapability, - 'type': mockTypeCapability - }; - - mockEditAction = jasmine.createSpyObj('edit', ['getMetadata']); - mockPropertiesAction = jasmine.createSpyObj('edit', ['getMetadata']); - - mockDomainObject.getCapability.and.callFake(function (capability) { - return capabilities[capability]; - }); - mockDomainObject.hasCapability.and.callFake(function (capability) { - return !!capabilities[capability]; - }); - - editableView = { editable: true }; - nonEditableView = { editable: false }; - plotView = { key: "plot", editable: false }; - testViews = []; - - mockDomainObject.useCapability.and.callFake(function (c) { - // Provide test views, only for the view capability - return c === 'view' && testViews; - }); - - mockEditAction.getMetadata.and.returnValue({ key: 'edit' }); - mockPropertiesAction.getMetadata.and.returnValue({ key: 'properties' }); - - testContext = { - domainObject: mockDomainObject, - category: 'view-control' - }; - - policy = new EditActionPolicy(); - }); - - it("allows the edit action when there are editable views", function () { - testViews = [editableView]; - expect(policy.allow(mockEditAction, testContext)).toBe(true); - }); - - it("allows the edit properties action when there are no editable views", function () { - testViews = [nonEditableView, nonEditableView]; - expect(policy.allow(mockPropertiesAction, testContext)).toBe(true); - }); - - it("disallows the edit action when there are no editable views", function () { - testViews = [nonEditableView, nonEditableView]; - expect(policy.allow(mockEditAction, testContext)).toBe(false); - }); - - it("disallows the edit properties action when there are" + - " editable views", function () { - testViews = [editableView]; - expect(policy.allow(mockPropertiesAction, testContext)).toBe(false); - }); - - it("disallows the edit action when object is already being" + - " edited", function () { - testViews = [editableView]; - mockEditorCapability.isEditContextRoot.and.returnValue(true); - expect(policy.allow(mockEditAction, testContext)).toBe(false); - }); - - it("allows editing of panels in plot view", function () { - testViews = [plotView]; - mockTypeCapability.getKey.and.returnValue('telemetry.panel'); - - expect(policy.allow(mockEditAction, testContext)).toBe(true); - }); - - it("disallows editing of plot view when object not a panel type", function () { - testViews = [plotView]; - mockTypeCapability.getKey.and.returnValue('something.else'); - - expect(policy.allow(mockEditAction, testContext)).toBe(false); - }); - - - it("allows the edit properties outside of the 'view-control' category", function () { - testViews = [nonEditableView]; - testContext.category = "something-else"; - expect(policy.allow(mockPropertiesAction, testContext)).toBe(true); - }); - }); - } -); diff --git a/platform/commonUI/edit/test/policies/EditableViewPolicySpec.js b/platform/commonUI/edit/test/policies/EditableViewPolicySpec.js deleted file mode 100644 index 094c5ba6b1..0000000000 --- a/platform/commonUI/edit/test/policies/EditableViewPolicySpec.js +++ /dev/null @@ -1,79 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT 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 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/policies/EditableViewPolicy"], - function (EditableViewPolicy) { - - describe("The editable view policy", function () { - var mockDomainObject, - testMode, - policy; - - beforeEach(function () { - testMode = true; // Act as if we're in Edit mode by default - mockDomainObject = jasmine.createSpyObj( - 'domainObject', - ['hasCapability', 'getCapability'] - ); - mockDomainObject.getCapability.and.returnValue({ - inEditContext: function () { - return true; - } - }); - mockDomainObject.hasCapability.and.callFake(function (c) { - return (c === 'editor') && testMode; - }); - - policy = new EditableViewPolicy(); - }); - - it("disallows views in edit mode that are flagged as non-editable", function () { - expect(policy.allow({ editable: false }, mockDomainObject)) - .toBeFalsy(); - }); - - it("allows views in edit mode that are flagged as editable", function () { - expect(policy.allow({ editable: true }, mockDomainObject)) - .toBeTruthy(); - }); - - it("allows any view outside of edit mode", function () { - var testViews = [ - { editable: false }, - { editable: true }, - { someKey: "some value" } - ]; - testMode = false; // Act as if we're not in Edit mode - - testViews.forEach(function (testView) { - expect(policy.allow(testView, mockDomainObject)).toBeTruthy(); - }); - }); - - it("treats views with no defined 'editable' property as editable", function () { - expect(policy.allow({ someKey: "some value" }, mockDomainObject)) - .toBeTruthy(); - }); - }); - } -);