mirror of
https://github.com/nasa/openmct.git
synced 2025-03-16 00:55:22 +00:00
Merge remote-tracking branch 'origin/open933' into open933-frontend-b
# Conflicts: # platform/features/conductor-v2/res/sass/time-conductor.scss # platform/features/conductor/res/sass/time-conductor.scss
This commit is contained in:
commit
a10ded25b4
2
main.js
2
main.js
@ -90,7 +90,9 @@ define([
|
|||||||
'./platform/features/pages/bundle',
|
'./platform/features/pages/bundle',
|
||||||
'./platform/features/plot/bundle',
|
'./platform/features/plot/bundle',
|
||||||
'./platform/features/timeline/bundle',
|
'./platform/features/timeline/bundle',
|
||||||
|
//'./platform/features/conductor/bundle',
|
||||||
'./platform/features/conductor-v2/bundle',
|
'./platform/features/conductor-v2/bundle',
|
||||||
|
'./platform/features/conductor-v2-compatibility/bundle',
|
||||||
'./platform/features/table/bundle',
|
'./platform/features/table/bundle',
|
||||||
'./platform/forms/bundle',
|
'./platform/forms/bundle',
|
||||||
'./platform/identity/bundle',
|
'./platform/identity/bundle',
|
||||||
|
55
platform/features/conductor-v2-compatibility/bundle.js
Normal file
55
platform/features/conductor-v2-compatibility/bundle.js
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
/*****************************************************************************
|
||||||
|
* 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/ConductorTelemetryDecorator",
|
||||||
|
"./src/ConductorRepresenter",
|
||||||
|
'legacyRegistry'
|
||||||
|
], function (
|
||||||
|
ConductorTelemetryDecorator,
|
||||||
|
ConductorRepresenter,
|
||||||
|
legacyRegistry
|
||||||
|
) {
|
||||||
|
|
||||||
|
legacyRegistry.register("platform/features/conductor-v2-compatibility", {
|
||||||
|
"extensions": {
|
||||||
|
"representers": [
|
||||||
|
{
|
||||||
|
"implementation": ConductorRepresenter,
|
||||||
|
"depends": [
|
||||||
|
"timeConductor"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"type": "decorator",
|
||||||
|
"provides": "telemetryService",
|
||||||
|
"implementation": ConductorTelemetryDecorator,
|
||||||
|
"depends": [
|
||||||
|
"timeConductor"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
@ -0,0 +1,75 @@
|
|||||||
|
/*****************************************************************************
|
||||||
|
* 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(
|
||||||
|
[],
|
||||||
|
function () {
|
||||||
|
|
||||||
|
function ConductorRepresenter(
|
||||||
|
conductor,
|
||||||
|
scope,
|
||||||
|
element
|
||||||
|
) {
|
||||||
|
this.conductor = conductor;
|
||||||
|
this.scope = scope;
|
||||||
|
this.element = element;
|
||||||
|
|
||||||
|
this.boundsListener = this.boundsListener.bind(this);
|
||||||
|
this.timeSystemListener = this.timeSystemListener.bind(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
ConductorRepresenter.prototype.boundsListener = function (bounds) {
|
||||||
|
this.scope.$broadcast('telemetry:display:bounds', {
|
||||||
|
start: bounds.start,
|
||||||
|
end: bounds.end,
|
||||||
|
domain: this.conductor.timeSystem().metadata.key
|
||||||
|
}, this.conductor.follow());
|
||||||
|
};
|
||||||
|
|
||||||
|
ConductorRepresenter.prototype.timeSystemListener = function (timeSystem) {
|
||||||
|
var bounds = this.conductor.bounds();
|
||||||
|
this.scope.$broadcast('telemetry:display:bounds', {
|
||||||
|
start: bounds.start,
|
||||||
|
end: bounds.end,
|
||||||
|
domain: timeSystem.metadata.key
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// Handle a specific representation of a specific domain object
|
||||||
|
ConductorRepresenter.prototype.represent = function represent(representation) {
|
||||||
|
if (representation.key === 'browse-object') {
|
||||||
|
this.destroy();
|
||||||
|
|
||||||
|
this.conductor.on("bounds", this.boundsListener);
|
||||||
|
this.conductor.on("timeSystem", this.timeSystemListener);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ConductorRepresenter.prototype.destroy = function destroy() {
|
||||||
|
this.conductor.off("bounds", this.boundsListener);
|
||||||
|
this.conductor.off("timeSystem", this.timeSystemListener);
|
||||||
|
};
|
||||||
|
|
||||||
|
return ConductorRepresenter;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
@ -0,0 +1,71 @@
|
|||||||
|
/*****************************************************************************
|
||||||
|
* 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(
|
||||||
|
function () {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Decorates the `telemetryService` such that requests are
|
||||||
|
* mediated by the time conductor. This is a modified version of the
|
||||||
|
* decorator used in the old TimeConductor that integrates with the
|
||||||
|
* new TimeConductor API.
|
||||||
|
*
|
||||||
|
* @constructor
|
||||||
|
* @memberof platform/features/conductor
|
||||||
|
* @implements {TelemetryService}
|
||||||
|
* @param {platform/features/conductor.TimeConductor} conductor
|
||||||
|
* the service which exposes the global time conductor
|
||||||
|
* @param {TelemetryService} telemetryService the decorated service
|
||||||
|
*/
|
||||||
|
function ConductorTelemetryDecorator(conductor, telemetryService) {
|
||||||
|
this.conductor = conductor;
|
||||||
|
this.telemetryService = telemetryService;
|
||||||
|
}
|
||||||
|
|
||||||
|
ConductorTelemetryDecorator.prototype.amendRequests = function (requests) {
|
||||||
|
var bounds = this.conductor.bounds(),
|
||||||
|
timeSystem = this.conductor.timeSystem();
|
||||||
|
|
||||||
|
function amendRequest(request) {
|
||||||
|
request = request || {};
|
||||||
|
request.start = bounds.start;
|
||||||
|
request.end = bounds.end;
|
||||||
|
request.domain = timeSystem.metadata.key;
|
||||||
|
return request;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (requests || []).map(amendRequest);
|
||||||
|
};
|
||||||
|
|
||||||
|
ConductorTelemetryDecorator.prototype.requestTelemetry = function (requests) {
|
||||||
|
return this.telemetryService
|
||||||
|
.requestTelemetry(this.amendRequests(requests));
|
||||||
|
};
|
||||||
|
|
||||||
|
ConductorTelemetryDecorator.prototype.subscribe = function (callback, requests) {
|
||||||
|
return this.telemetryService
|
||||||
|
.subscribe(callback, requests);
|
||||||
|
};
|
||||||
|
|
||||||
|
return ConductorTelemetryDecorator;
|
||||||
|
}
|
||||||
|
);
|
@ -227,13 +227,18 @@ define(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Respond to a display bounds change (requery for data)
|
// Respond to a display bounds change (requery for data)
|
||||||
function changeDisplayBounds(event, bounds) {
|
function changeDisplayBounds(event, bounds, follow) {
|
||||||
var domainAxis = $scope.axes[0];
|
//'hack' for follow mode
|
||||||
|
if (follow === true){
|
||||||
|
setBasePanZoom(bounds);
|
||||||
|
} else {
|
||||||
|
var domainAxis = $scope.axes[0];
|
||||||
|
|
||||||
domainAxis.chooseOption(bounds.domain);
|
domainAxis.chooseOption(bounds.domain);
|
||||||
updateDomainFormat();
|
updateDomainFormat();
|
||||||
setBasePanZoom(bounds);
|
setBasePanZoom(bounds);
|
||||||
requery();
|
requery();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.modeOptions = new PlotModeOptions([], subPlotFactory);
|
this.modeOptions = new PlotModeOptions([], subPlotFactory);
|
||||||
|
@ -63,6 +63,28 @@ define(
|
|||||||
this.$scope.loading = false;
|
this.$scope.loading = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
HistoricalTableController.prototype.registerChangeListeners = function () {
|
||||||
|
TableController.prototype.registerChangeListeners.call(this);
|
||||||
|
//Change of bounds in time conductor
|
||||||
|
this.changeListeners.push(this.$scope.$on('telemetry:display:bounds',
|
||||||
|
this.boundsChange.bind(this))
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
HistoricalTableController.prototype.boundsChange = function (event, bounds, follow) {
|
||||||
|
// If in follow mode, don't bother re-subscribing, data will be
|
||||||
|
// received from existing subscription.
|
||||||
|
if (follow!==true) {
|
||||||
|
this.subscribe();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Processes an array of objects, formatting the telemetry available
|
* Processes an array of objects, formatting the telemetry available
|
||||||
* for them and setting it on scope when done
|
* for them and setting it on scope when done
|
||||||
|
@ -96,11 +96,6 @@ define(
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
//Change of bounds in time conductor
|
|
||||||
this.changeListeners.push(this.$scope.$on('telemetry:display:bounds',
|
|
||||||
this.subscribe.bind(this))
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user