mirror of
https://github.com/nasa/openmct.git
synced 2025-06-15 21:58:13 +00:00
[Roots] Register roots with new API
Register roots added via old API with new API when the application starts. Fixes #1264.
This commit is contained in:
@ -28,50 +28,50 @@ define([
|
||||
|
||||
// take a key string and turn it into a key object
|
||||
// 'scratch:root' ==> {namespace: 'scratch', identifier: 'root'}
|
||||
var parseKeyString = function (key) {
|
||||
if (typeof key === 'object') {
|
||||
return key;
|
||||
var parseKeyString = function (identifier) {
|
||||
if (typeof identifier === 'object') {
|
||||
return identifier;
|
||||
}
|
||||
var namespace = '',
|
||||
identifier = key;
|
||||
key = identifier;
|
||||
for (var i = 0, escaped = false; i < key.length; i++) {
|
||||
if (escaped) {
|
||||
escaped = false;
|
||||
namespace += key[i];
|
||||
} else {
|
||||
if (key[i] === "\\") {
|
||||
if (identifier[i] === "\\") {
|
||||
escaped = true;
|
||||
} else if (key[i] === ":") {
|
||||
} else if (identifier[i] === ":") {
|
||||
// namespace = key.slice(0, i);
|
||||
identifier = key.slice(i + 1);
|
||||
key = identifier.slice(i + 1);
|
||||
break;
|
||||
}
|
||||
namespace += key[i];
|
||||
namespace += identifier[i];
|
||||
}
|
||||
}
|
||||
|
||||
if (key === namespace) {
|
||||
if (identifier === namespace) {
|
||||
namespace = '';
|
||||
}
|
||||
|
||||
return {
|
||||
namespace: namespace,
|
||||
identifier: identifier
|
||||
key: key
|
||||
};
|
||||
};
|
||||
|
||||
// take a key and turn it into a key string
|
||||
// {namespace: 'scratch', identifier: 'root'} ==> 'scratch:root'
|
||||
var makeKeyString = function (key) {
|
||||
if (typeof key === 'string') {
|
||||
return key;
|
||||
var makeKeyString = function (identifier) {
|
||||
if (typeof identifier === 'string') {
|
||||
return identifier;
|
||||
}
|
||||
if (!key.namespace) {
|
||||
return key.identifier;
|
||||
if (!identifier.namespace) {
|
||||
return identifier.key;
|
||||
}
|
||||
return [
|
||||
key.namespace.replace(':', '\\:'),
|
||||
key.identifier.replace(':', '\\:')
|
||||
identifier.namespace.replace(':', '\\:'),
|
||||
identifier.key.replace(':', '\\:')
|
||||
].join(':');
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user