Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nasa/openmct.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'platform/commonUI/general/src/directives/MCTResize.js')
-rw-r--r--platform/commonUI/general/src/directives/MCTResize.js123
1 files changed, 0 insertions, 123 deletions
diff --git a/platform/commonUI/general/src/directives/MCTResize.js b/platform/commonUI/general/src/directives/MCTResize.js
deleted file mode 100644
index 338021e4d..000000000
--- a/platform/commonUI/general/src/directives/MCTResize.js
+++ /dev/null
@@ -1,123 +0,0 @@
-/*****************************************************************************
- * Open MCT, Copyright (c) 2014-2021, 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 () {
-
- // Default resize interval
- var DEFAULT_INTERVAL = 100;
-
- /**
- * The mct-resize directive allows the size of a displayed
- * HTML element to be tracked. This is done by polling,
- * since the DOM API does not currently provide suitable
- * events to watch this reliably.
- *
- * Attributes related to this directive are interpreted as
- * follows:
- *
- * * `mct-resize`: An Angular expression to evaluate when
- * the size changes; the variable `bounds` will be provided
- * with two fields, `width` and `height`, both in pixels.
- * * `mct-resize-interval`: Optional; the interval, in milliseconds,
- * at which to watch for updates. In some cases checking for
- * resize can carry a cost (it forces recalculation of
- * positions within the document) so it may be preferable to watch
- * infrequently. If omitted, a default of 100ms will be used.
- * This is an Angular expression, and it will be re-evaluated after
- * each interval.
- *
- * @memberof platform/commonUI/general
- * @constructor
- *
- */
- function MCTResize($timeout) {
-
- // Link; start listening for changes to an element's size
- function link(scope, element, attrs) {
- var lastBounds,
- linking = true,
- active = true;
-
- // Determine how long to wait before the next update
- function currentInterval() {
- return attrs.mctResizeInterval
- ? scope.$eval(attrs.mctResizeInterval)
- : DEFAULT_INTERVAL;
- }
-
- // Evaluate mct-resize with the current bounds
- function fireEval(bounds) {
- // Only update when bounds actually change
- if (!lastBounds
- || lastBounds.width !== bounds.width
- || lastBounds.height !== bounds.height) {
- scope.$eval(attrs.mctResize, { bounds: bounds });
- if (!linking) { // Avoid apply-in-a-digest
- scope.$apply();
- }
-
- lastBounds = bounds;
- }
- }
-
- // Callback to fire after each timeout;
- // update bounds and schedule another timeout
- function onInterval() {
- if (!active) {
- return;
- }
-
- fireEval({
- width: element[0].offsetWidth,
- height: element[0].offsetHeight
- });
- $timeout(onInterval, currentInterval(), false);
- }
-
- // Stop running in the background
- function deactivate() {
- active = false;
- }
-
- // Unregister once out-of-scope
- scope.$on("$destroy", deactivate);
-
- // Handle the initial callback
- onInterval();
-
- // Trigger scope.$apply on subsequent changes
- linking = false;
- }
-
- return {
- // mct-resize only makes sense as an attribute
- restrict: "A",
- // Link function, to begin watching for changes
- link: link
- };
- }
-
- return MCTResize;
- }
-);