mirror of
https://github.com/nasa/openmct.git
synced 2025-06-21 16:49:42 +00:00
[Fixed Position] Add image proxy
Add selection proxy for image elements to support image URL dialog, WTD-881.
This commit is contained in:
@ -98,6 +98,28 @@
|
|||||||
"glyph": "\u1D1B",
|
"glyph": "\u1D1B",
|
||||||
"mandatory": true,
|
"mandatory": true,
|
||||||
"control": "color"
|
"control": "color"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"property": "url",
|
||||||
|
"glyph": "",
|
||||||
|
"control": "dialog",
|
||||||
|
"title": "Image Properties",
|
||||||
|
"dialog": {
|
||||||
|
"control": "textfield",
|
||||||
|
"name": "Image URL",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"property": "text",
|
||||||
|
"glyph": "",
|
||||||
|
"control": "dialog",
|
||||||
|
"title": "Text Properties",
|
||||||
|
"dialog": {
|
||||||
|
"control": "textfield",
|
||||||
|
"name": "Text",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
35
platform/features/layout/src/elements/ImageProxy.js
Normal file
35
platform/features/layout/src/elements/ImageProxy.js
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/*global define*/
|
||||||
|
|
||||||
|
define(
|
||||||
|
['./ElementProxy', './AccessorMutator'],
|
||||||
|
function (ElementProxy, AccessorMutator) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Selection proxy for Image elements in a fixed position view.
|
||||||
|
*
|
||||||
|
* Note that arguments here are meant to match those expected
|
||||||
|
* by `Array.prototype.map`
|
||||||
|
*
|
||||||
|
* @constructor
|
||||||
|
* @param element the fixed position element, as stored in its
|
||||||
|
* configuration
|
||||||
|
* @param index the element's index within its array
|
||||||
|
* @param {Array} elements the full array of elements
|
||||||
|
*/
|
||||||
|
function ImageProxy(element, index, elements) {
|
||||||
|
var proxy = new ElementProxy(element, index, elements);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get and/or set the displayed text of this element.
|
||||||
|
* @param {string} [text] the new text (if setting)
|
||||||
|
* @returns {string} the text
|
||||||
|
*/
|
||||||
|
proxy.url = new AccessorMutator(element, 'url');
|
||||||
|
|
||||||
|
return proxy;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ImageProxy;
|
||||||
|
}
|
||||||
|
);
|
@ -27,6 +27,13 @@ define(
|
|||||||
*/
|
*/
|
||||||
proxy.color = new AccessorMutator(element, 'color');
|
proxy.color = new AccessorMutator(element, 'color');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get and/or set the displayed text of this element.
|
||||||
|
* @param {string} [text] the new text (if setting)
|
||||||
|
* @returns {string} the text
|
||||||
|
*/
|
||||||
|
proxy.text = new AccessorMutator(element, 'text');
|
||||||
|
|
||||||
return proxy;
|
return proxy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
37
platform/features/layout/test/elements/ImageProxySpec.js
Normal file
37
platform/features/layout/test/elements/ImageProxySpec.js
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
/*global define,describe,it,expect,beforeEach,jasmine*/
|
||||||
|
|
||||||
|
define(
|
||||||
|
['../../src/elements/ImageProxy'],
|
||||||
|
function (ImageProxy) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
describe("A fixed position image proxy", function () {
|
||||||
|
var testElement,
|
||||||
|
testElements,
|
||||||
|
proxy;
|
||||||
|
|
||||||
|
beforeEach(function () {
|
||||||
|
testElement = {
|
||||||
|
x: 1,
|
||||||
|
y: 2,
|
||||||
|
width: 42,
|
||||||
|
height: 24,
|
||||||
|
url: "http://www.nasa.gov"
|
||||||
|
};
|
||||||
|
testElements = [ {}, {}, testElement, {} ];
|
||||||
|
proxy = new ImageProxy(
|
||||||
|
testElement,
|
||||||
|
testElements.indexOf(testElement),
|
||||||
|
testElements
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("provides getter/setter for image URL", function () {
|
||||||
|
expect(proxy.url()).toEqual("http://www.nasa.gov");
|
||||||
|
expect(proxy.url("http://www.nasa.gov/some.jpg"))
|
||||||
|
.toEqual("http://www.nasa.gov/some.jpg");
|
||||||
|
expect(proxy.url()).toEqual("http://www.nasa.gov/some.jpg");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
Reference in New Issue
Block a user