From 3e6e068f7f43fec1caef87535f9d561404d28e5c Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Thu, 10 Nov 2016 13:33:56 -0800 Subject: [PATCH 1/9] [Imagery] Sketch in brightness/contrast controls Fixes #1324 --- .../features/imagery/res/templates/imagery.html | 13 ++++++++++++- .../imagery/src/controllers/ImageryController.js | 5 +++++ .../imagery/src/directives/MCTBackgroundImage.js | 15 ++++++++++++++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/platform/features/imagery/res/templates/imagery.html b/platform/features/imagery/res/templates/imagery.html index fbdf4535af..9c222c6715 100644 --- a/platform/features/imagery/res/templates/imagery.html +++ b/platform/features/imagery/res/templates/imagery.html @@ -20,7 +20,8 @@
+ mct-background-image="imagery.getImageUrl()" + filters="filters">
@@ -32,6 +33,16 @@ {{imagery.getDate()}}
+ + + + diff --git a/platform/features/imagery/src/controllers/ImageryController.js b/platform/features/imagery/src/controllers/ImageryController.js index 33a442c206..71e5268a10 100644 --- a/platform/features/imagery/src/controllers/ImageryController.js +++ b/platform/features/imagery/src/controllers/ImageryController.js @@ -66,6 +66,11 @@ define( ); } + $scope.filters = { + brightness: 100, + contrast: 100 + }; + // Subscribe to telemetry when a domain object becomes available $scope.$watch('domainObject', subscribe); diff --git a/platform/features/imagery/src/directives/MCTBackgroundImage.js b/platform/features/imagery/src/directives/MCTBackgroundImage.js index d03c865e69..f7c1152963 100644 --- a/platform/features/imagery/src/directives/MCTBackgroundImage.js +++ b/platform/features/imagery/src/directives/MCTBackgroundImage.js @@ -51,6 +51,15 @@ define( // do not display out-of-order. var requested = 0, loaded = 0; + function updateFilters(filters) { + var styleValue = filters ? + Object.keys(filters).map(function (k) { + return k + "(" + filters[k] + "%)"; + }).join(' ') : + ""; + element.css('filter', styleValue); + } + function nextImage(url) { var myCounter = requested, image; @@ -75,11 +84,15 @@ define( } scope.$watch('mctBackgroundImage', nextImage); + scope.$watchCollection('filters', updateFilters); } return { restrict: "A", - scope: { mctBackgroundImage: "=" }, + scope: { + mctBackgroundImage: "=", + filters: "=" + }, link: link }; } From b1464efdaf60e8bc5b1ea19f06b7f8a4c035bc08 Mon Sep 17 00:00:00 2001 From: Charles Hacskaylo Date: Mon, 14 Nov 2016 18:12:06 -0800 Subject: [PATCH 2/9] [Frontend] Styling for controls Fixes #1324 CSS, markup, new glyphs for brightness and contrast --- .../fonts/symbols/openmct-symbols-16px.eot | Bin 14104 -> 14536 bytes .../fonts/symbols/openmct-symbols-16px.svg | 2 + .../fonts/symbols/openmct-symbols-16px.ttf | Bin 13888 -> 14320 bytes .../fonts/symbols/openmct-symbols-16px.woff | Bin 13964 -> 14396 bytes .../commonUI/general/res/sass/_glyphs.scss | 4 ++ .../general/res/sass/controls/_controls.scss | 11 +++++- .../general/res/sass/features/_imagery.scss | 23 ++++++++++++ .../imagery/res/templates/imagery.html | 35 ++++++------------ 8 files changed, 50 insertions(+), 25 deletions(-) diff --git a/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.eot b/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.eot index a6b919620bacd68febf7dfcab865cff4fb5eab28..c3a3688fffc5eeec7d7cf0371da12f8145832658 100755 GIT binary patch delta 783 zcmYjPO=uHQ5T5rElO~1DZnF6?)-)tdN-BglyZI5)5XB}^L4&6Xk{UE=TADu^+bGx+ z@gTNHNDF8BnCeEZ5iU7a@&;y%m=basCSfZ00Bc7%I3@R_3OmmcK~r4^SilJr3fWh1n{q6 zY|p21X-n|Hok8LS4sjF<3uRD9y@DU=HS$&SO2YUt^%Z*8%Z7kq&tez@hC`CmAijv6 zMLUW3DtbGb2l4gBfa12biju!gB`BKE2OLK7wa@Y(3$Gnb%ks_d3XQ(G0>n`XO;=ucg! z2#bT0BP2bxblx^{$$qb?{hvF0)Mdy!xv(v(+n!i55J<*6vZwdUUG)!HLke=IWOr__ z{EtxWQc=0AHQybZUC;C5bWV2E?nF~;GNMqZ_+Ft@du zNUUznb^UX3?Fvb(&W6LHqItwyj|qP7i(v(XXQdK9K%;iL%nx+NTI=fAASz+enCli^fuVnqQ%K0_Ihe+S4{$V<#kl`#LMmIf5~1GGe`AiubT zff*>pV5Ts60^@VeH6S(+@J?=Es!|eUVBizv1ajSgv;YuG0@(pTS^tBRV7R>h8<+v2Cm%63XH41r$5@_mv9c+na}@6+-W_~; zd^voF_{I2J_&4!?5Ks{C5y%pFA;=|YBDh7!PUxJliSQy3IgwMMOrlMq-^A?1>coY_ QbATo@0&&XbEVDQ!0H7;X + + diff --git a/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.ttf b/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.ttf index a920e86179c58130992ec16b0ed79bbd3a7ffa0e..4ba5deaccc7d7fb9b9fc7c2cb1aff90601c0d15b 100755 GIT binary patch delta 781 zcmYjOO=uHQ5T5rEnpHvOXx{w3&n?e?Gn~K==VI6yP5obV($k)a0Ab`v&mu}=3oIJw1Tx`HkqBYMGieF zB;Mi>XFfMy0FB}m`ShgrO z1`r_iIv6Vx)LXqxhdN6rughA{$j}ZPbb=Gk;Kidb4A%kpUWVwbF%mHnJF!N5q?f3S z8w(wh4ORiF!ma2PRijY>yueVG(?>(W7!?C{di26A8ss*IEhZaEqG!$OXd|XmLq&0+ zd#sO4`WG+S`z|@|$%g-DM~|8ed9OC^sOlYWJP{5j;$Ah=`-P_Zr>Y@2)hW@O+iL$S zmYUR{+SVFN29NuqKfWK()@$+L!oTTcs9CV%Rx#YpM|p<0`kj6bmoy7)ItnxEWl1Wp z&ouMv;K~&um8YZ8phj-+oyP=!_JdIkM5mRO5J0uoRS>!k&W#+58>7FVL#tc>b|lM$ znk%FJ2uW3!{oSN;KG6Q^Wq^!)WGLfd63heU&^TaxY}{ofc8T3!_c$9D=H79iO<-E) k4g8t_!mRM!{M5W{xop|88mwd1ueJfSCK##eu9%?z0N-4;vj6}9 delta 338 zcmey6e;{XqVtt9-bOr`S86eh3Pb@BAU|yp{48}k+ z8BXOURunMgGn4`OcYu6_yu{p83G-iSX+VKLKueSg@{3Ctn1NCZW(pH`Jm*{kVgdp0 zJ9kn@tsZ?rntX#2(%=xCR@@lN91!KcTU!*_^ZjK76{6aNPR1pyy{ zEP)q-T!JQoTZHU{&Iy|cFA|XxIVH*@+9di-%ucLMTu3|zXfh)Zr)-{N8pi|xQ^`?w diff --git a/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.woff b/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.woff index 1e9f1acecd34988548963442d5982c4d65041eef..9263a50af312f8e8919cbe4065bc5bac84575be7 100755 GIT binary patch delta 806 zcmYjQ-%C?*6hGguOWg){_qw|unQdd{M3b@Y-u(z}!y;!`?bI##>FLxomnl%?j zBM~5gC!~O$ac~=GITtW54cJRE0FlY!SbRJ_lLes9@V>nPethbB615iq9=!8phu%Lf zq!RI~0FsEF0E2!lcOr!%YG*M&!qB#^ai!AvB5GJio-o|iYUZXgSJ3BY{WlqY9q?^^ zNym$5^1nmDQAZADr{n1aYCmzflOee4N@g=NdEB9EY45A{H5%FB%HPQiHy;9yKZa=p zH~~dLi}7h>9&r%k^T-ZFAI6s|i}YG&2`zuB8fdBFwgPm56OMue3Jk$T0Anvl+ALub zG!PrH1l^>Us7eneZ79}N7O0LM=4Y;YAq$KmN4uSF>X*Y*^4aMA(;i7zZFN|~Rb5GP zEn6I|q~p-3qBLtC=_d(q;iRqqjN@ii_wR21UPB>o)WVwTuJuJ?fj}(Mr!u{rZ@9my z9+FWz#Ts*)<-es14QWsaS|k7f diff --git a/platform/commonUI/general/res/sass/_glyphs.scss b/platform/commonUI/general/res/sass/_glyphs.scss index 876cf36c0a..12d7242248 100644 --- a/platform/commonUI/general/res/sass/_glyphs.scss +++ b/platform/commonUI/general/res/sass/_glyphs.scss @@ -74,6 +74,8 @@ $glyph-icon-thumbs-strip: '\e1033'; $glyph-icon-two-parts-both: '\e1034'; $glyph-icon-two-parts-one-only: '\e1035'; $glyph-icon-x-in-circle: '\e1036'; +$glyph-icon-brightness: '\e1038'; +$glyph-icon-contrast: '\e1039'; $glyph-icon-activity: '\e1100'; $glyph-icon-activity-mode: '\e1101'; $glyph-icon-autoflow-tabular: '\e1102'; @@ -173,6 +175,8 @@ $glyph-icon-box-with-dashed-lines: '\e1129'; .icon-two-parts-both { @include glyph($glyph-icon-two-parts-both); } .icon-two-parts-one-only { @include glyph($glyph-icon-two-parts-one-only); } .icon-x-in-circle { @include glyph($glyph-icon-x-in-circle); } +.icon-brightness { @include glyph($glyph-icon-brightness); } +.icon-contrast { @include glyph($glyph-icon-contrast); } .icon-activity { @include glyph($glyph-icon-activity); } .icon-activity-mode { @include glyph($glyph-icon-activity-mode); } .icon-autoflow-tabular { @include glyph($glyph-icon-autoflow-tabular); } diff --git a/platform/commonUI/general/res/sass/controls/_controls.scss b/platform/commonUI/general/res/sass/controls/_controls.scss index ad32ea0515..b7680c11c7 100644 --- a/platform/commonUI/general/res/sass/controls/_controls.scss +++ b/platform/commonUI/general/res/sass/controls/_controls.scss @@ -122,13 +122,20 @@ // Default position is upper right $p: $interiorMargin; position: absolute; - top: $p; - right: $p; + top: $p; right: $p; bottom: auto; left: $p; + text-align: right; z-index: 5; } .s-local-controls { font-size: 0.7rem; + &.s-wrapper-transluc { + // Semi-opaque wrapper to visually distinguish a control + // from the background + background: rgba($colorBodyFg, 0.2); + box-sizing: border-box; + border-radius: $controlCr; + } } /******************************************************** CUSTOM CHECKBOXES */ diff --git a/platform/commonUI/general/res/sass/features/_imagery.scss b/platform/commonUI/general/res/sass/features/_imagery.scss index e33970b0e9..5cd123058a 100644 --- a/platform/commonUI/general/res/sass/features/_imagery.scss +++ b/platform/commonUI/general/res/sass/features/_imagery.scss @@ -134,6 +134,29 @@ } } +/*************************************** LOCAL CONTROLS */ +.l-local-controls { + max-width: 200px; + width: 35%; + input[type="range"] { + display: block; + width: 100%; + &:not(:first-child) { + margin-top: $interiorMarginLg; + } + + &:before { + margin-right: $interiorMarginSm; + } + } + + &.s-wrapper-transluc { + display: inline-block; + left: auto; + padding: $interiorMargin $interiorMarginLg; + } +} + /*************************************** WHEN IN FRAME */ .frame .t-imagery { .l-image-main-wrapper { diff --git a/platform/features/imagery/res/templates/imagery.html b/platform/features/imagery/res/templates/imagery.html index 9c222c6715..8df37ec1c2 100644 --- a/platform/features/imagery/res/templates/imagery.html +++ b/platform/features/imagery/res/templates/imagery.html @@ -2,20 +2,19 @@
-
- - +
+ + - - + +
{{imagery.getDate()}}
- - - - From 251e3b56469a757ab37653eccc692101e754deee Mon Sep 17 00:00:00 2001 From: Charles Hacskaylo Date: Tue, 15 Nov 2016 10:42:34 -0800 Subject: [PATCH 3/9] [Frontend] Updated example images Fixes #1324 All images are open licensed for reuse --- example/imagery/src/ImageTelemetry.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/example/imagery/src/ImageTelemetry.js b/example/imagery/src/ImageTelemetry.js index b184f90c4e..a541488bf1 100644 --- a/example/imagery/src/ImageTelemetry.js +++ b/example/imagery/src/ImageTelemetry.js @@ -31,10 +31,15 @@ define( var firstObservedTime = Date.now(), images = [ - "http://www.nasa.gov/393811main_Palomar_ao_bouchez_10s_after_impact_4x3_946-710.png", - "http://www.nasa.gov/393821main_Palomar_ao_bouchez_15s_after_impact_4x3_946-710.png", - "http://www.nasa.gov/images/content/393801main_CfhtVeillet2_4x3_516-387.jpg", - "http://www.nasa.gov/images/content/392790main_1024_768_GeminiNorth_NightBeforeImpact_946-710.jpg" + "https://c1.staticflickr.com/9/8723/16813029640_9250a9a615_b.jpg", + "http://cdn.inquisitr.com/wp-content/uploads/2015/09/UFO-Comet-Rosetta-boulder.jpg", + "http://en.es-static.us/upl/2015/01/rosetta-comet-crack-OSIRIS-e1422270190774.jpg", + "https://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Vesta_darkside.jpg/768px-Vesta_darkside.jpg", + "http://www.leonarddavid.com/wp-content/uploads/2016/01/Chury_2012.jpg", + "https://upload.wikimedia.org/wikipedia/commons/6/67/Earth's_Moon.jpg", + "https://upload.wikimedia.org/wikipedia/commons/1/17/Rosetta_triumphs_at_asteroid_Lutetia.jpg", + "https://upload.wikimedia.org/wikipedia/commons/9/9d/243_Ida_large.jpg", + "https://c1.staticflickr.com/1/150/436668227_e9ed29c6ed_b.jpg" ].map(function (url, index) { return { timestamp: firstObservedTime + 1000 * index, From 9b11684ae917fd6be75adde9f8c3f4249ef9c087 Mon Sep 17 00:00:00 2001 From: Charles Hacskaylo Date: Tue, 15 Nov 2016 10:54:00 -0800 Subject: [PATCH 4/9] [Frontend] Styling for controls Fixes #1324 CSS, markup, WIP adding reset button --- .../commonUI/general/res/sass/_global.scss | 5 ++++ .../general/res/sass/controls/_controls.scss | 5 ++-- .../general/res/sass/features/_imagery.scss | 5 ++-- .../themes/espresso/res/sass/_constants.scss | 1 + .../themes/snow/res/sass/_constants.scss | 1 + .../imagery/res/templates/imagery.html | 23 +++++++++++-------- 6 files changed, 27 insertions(+), 13 deletions(-) diff --git a/platform/commonUI/general/res/sass/_global.scss b/platform/commonUI/general/res/sass/_global.scss index 964d609c4f..272f09f4db 100644 --- a/platform/commonUI/general/res/sass/_global.scss +++ b/platform/commonUI/general/res/sass/_global.scss @@ -175,6 +175,11 @@ a.disabled { display: none !important; } +.hide-nice { + opacity: 0; + pointer-events: none; +} + .off { visibility: hidden; opacity: 0; diff --git a/platform/commonUI/general/res/sass/controls/_controls.scss b/platform/commonUI/general/res/sass/controls/_controls.scss index b7680c11c7..1385f52054 100644 --- a/platform/commonUI/general/res/sass/controls/_controls.scss +++ b/platform/commonUI/general/res/sass/controls/_controls.scss @@ -122,17 +122,18 @@ // Default position is upper right $p: $interiorMargin; position: absolute; - top: $p; right: $p; bottom: auto; left: $p; + top: $p; right: $p; bottom: auto; text-align: right; z-index: 5; } .s-local-controls { + @include trans-prop-nice(opacity); font-size: 0.7rem; &.s-wrapper-transluc { // Semi-opaque wrapper to visually distinguish a control // from the background - background: rgba($colorBodyFg, 0.2); + background: rgba($colorTransLucBg, 0.5); box-sizing: border-box; border-radius: $controlCr; } diff --git a/platform/commonUI/general/res/sass/features/_imagery.scss b/platform/commonUI/general/res/sass/features/_imagery.scss index 5cd123058a..81a32020f3 100644 --- a/platform/commonUI/general/res/sass/features/_imagery.scss +++ b/platform/commonUI/general/res/sass/features/_imagery.scss @@ -1,5 +1,6 @@ .l-image-main-wrapper, -.l-image-thumbs-wrapper { +.l-image-thumbs-wrapper, +.image-main { @include absPosDefault(0, false); } @@ -32,7 +33,7 @@ /*************************************** MAIN IMAGE */ -.l-image-main, +.image-main, .l-image-thumb-item .l-thumb { background-size: contain; background-position: center; diff --git a/platform/commonUI/themes/espresso/res/sass/_constants.scss b/platform/commonUI/themes/espresso/res/sass/_constants.scss index 54cc0a2cdd..4638281975 100644 --- a/platform/commonUI/themes/espresso/res/sass/_constants.scss +++ b/platform/commonUI/themes/espresso/res/sass/_constants.scss @@ -50,6 +50,7 @@ $sliderKnobW: 15px; $sliderKnobR: 2px; $timeControllerToiLineColor: #00c2ff; $timeControllerToiLineColorHov: #fff; +$colorTransLucBg: #666; // Used as a visual blocking element over variable backgrounds, like imagery // General Colors $colorAlt1: #ffc700; diff --git a/platform/commonUI/themes/snow/res/sass/_constants.scss b/platform/commonUI/themes/snow/res/sass/_constants.scss index 99dace8787..7ebe58b9cc 100644 --- a/platform/commonUI/themes/snow/res/sass/_constants.scss +++ b/platform/commonUI/themes/snow/res/sass/_constants.scss @@ -50,6 +50,7 @@ $sliderKnobW: 15px; $sliderKnobR: 2px; $timeControllerToiLineColor: $colorBodyFg; $timeControllerToiLineColorHov: #0052b5; +$colorTransLucBg: #666; // Used as a visual blocking element over variable backgrounds, like imagery // General Colors $colorAlt1: #776ba2; diff --git a/platform/features/imagery/res/templates/imagery.html b/platform/features/imagery/res/templates/imagery.html index 8df37ec1c2..37f6966c07 100644 --- a/platform/features/imagery/res/templates/imagery.html +++ b/platform/features/imagery/res/templates/imagery.html @@ -3,24 +3,29 @@ ng-mouseenter="showLocalControls = true;" ng-mouseleave="showLocalControls = false;">
- - - + ng-class="{ 'hide-nice': !showLocalControls }"> + + +
+
+
From 2f5dc8a887a6d0169a9405dfa577cda3972acd2f Mon Sep 17 00:00:00 2001 From: Charles Hacskaylo Date: Tue, 15 Nov 2016 12:24:14 -0800 Subject: [PATCH 5/9] [Frontend] Styling for controls Fixes #1324 New reset glyph; Reset button complete, final sanding. --- .../icomoon-project-openmct-symbols-16px.json | 234 +++++++++++++++--- .../fonts/symbols/openmct-symbols-16px.eot | Bin 14536 -> 14728 bytes .../fonts/symbols/openmct-symbols-16px.svg | 3 +- .../fonts/symbols/openmct-symbols-16px.ttf | Bin 14320 -> 14512 bytes .../fonts/symbols/openmct-symbols-16px.woff | Bin 14396 -> 14588 bytes .../commonUI/general/res/sass/_glyphs.scss | 2 + .../general/res/sass/controls/_controls.scss | 4 +- .../general/res/sass/features/_imagery.scss | 27 +- .../imagery/res/templates/imagery.html | 34 +-- 9 files changed, 249 insertions(+), 55 deletions(-) diff --git a/platform/commonUI/general/res/fonts/symbols/icomoon-project-openmct-symbols-16px.json b/platform/commonUI/general/res/fonts/symbols/icomoon-project-openmct-symbols-16px.json index 3351eb3318..986474ad5f 100644 --- a/platform/commonUI/general/res/fonts/symbols/icomoon-project-openmct-symbols-16px.json +++ b/platform/commonUI/general/res/fonts/symbols/icomoon-project-openmct-symbols-16px.json @@ -1,8 +1,8 @@ { "metadata": { "name": "openmct-symbols-16px", - "lastOpened": 1469724858940, - "created": 1469724856623 + "lastOpened": 1479173088107, + "created": 1479173085258 }, "iconSets": [ { @@ -540,13 +540,37 @@ "code": 921654, "tempChar": "" }, + { + "order": 117, + "id": 103, + "name": "icon-brightness", + "prevSize": 24, + "code": 921656, + "tempChar": "" + }, + { + "order": 118, + "id": 102, + "name": "icon-contrast", + "prevSize": 24, + "code": 921657, + "tempChar": "" + }, + { + "order": 119, + "id": 104, + "name": "icon-reset", + "prevSize": 24, + "code": 921664, + "tempChar": "" + }, { "order": 37, "prevSize": 24, "name": "icon-activity", "id": 32, "code": 921856, - "tempChar": "" + "tempChar": "" }, { "order": 36, @@ -554,7 +578,7 @@ "name": "icon-activity-mode", "id": 31, "code": 921857, - "tempChar": "" + "tempChar": "" }, { "order": 52, @@ -562,7 +586,7 @@ "name": "icon-autoflow-tabular", "id": 47, "code": 921858, - "tempChar": "" + "tempChar": "" }, { "order": 55, @@ -570,7 +594,7 @@ "name": "icon-clock", "id": 50, "code": 921859, - "tempChar": "" + "tempChar": "" }, { "order": 58, @@ -578,7 +602,7 @@ "name": "icon-database", "id": 53, "code": 921860, - "tempChar": "" + "tempChar": "" }, { "order": 57, @@ -586,7 +610,7 @@ "name": "icon-database-query", "id": 52, "code": 921861, - "tempChar": "" + "tempChar": "" }, { "order": 17, @@ -594,7 +618,7 @@ "name": "icon-dataset", "id": 12, "code": 921862, - "tempChar": "" + "tempChar": "" }, { "order": 22, @@ -602,7 +626,7 @@ "name": "icon-datatable", "id": 17, "code": 921863, - "tempChar": "" + "tempChar": "" }, { "order": 59, @@ -610,7 +634,7 @@ "name": "icon-dictionary", "id": 54, "code": 921864, - "tempChar": "" + "tempChar": "" }, { "order": 62, @@ -618,7 +642,7 @@ "name": "icon-folder", "id": 57, "code": 921865, - "tempChar": "" + "tempChar": "" }, { "order": 66, @@ -626,7 +650,7 @@ "name": "icon-image", "id": 61, "code": 921872, - "tempChar": "" + "tempChar": "" }, { "order": 68, @@ -634,7 +658,7 @@ "name": "icon-layout", "id": 63, "code": 921873, - "tempChar": "" + "tempChar": "" }, { "order": 77, @@ -642,7 +666,7 @@ "name": "icon-object", "id": 72, "code": 921874, - "tempChar": "" + "tempChar": "" }, { "order": 78, @@ -650,7 +674,7 @@ "name": "icon-object-unknown", "id": 73, "code": 921875, - "tempChar": "" + "tempChar": "" }, { "order": 79, @@ -658,7 +682,7 @@ "name": "icon-packet", "id": 74, "code": 921876, - "tempChar": "" + "tempChar": "" }, { "order": 80, @@ -666,7 +690,7 @@ "name": "icon-page", "id": 75, "code": 921877, - "tempChar": "" + "tempChar": "" }, { "order": 114, @@ -674,7 +698,7 @@ "name": "icon-plot-overlay", "prevSize": 24, "code": 921878, - "tempChar": "" + "tempChar": "" }, { "order": 113, @@ -682,7 +706,7 @@ "name": "icon-plot-stacked", "prevSize": 24, "code": 921879, - "tempChar": "" + "tempChar": "" }, { "order": 10, @@ -690,7 +714,7 @@ "name": "icon-session", "id": 5, "code": 921880, - "tempChar": "" + "tempChar": "" }, { "order": 24, @@ -698,7 +722,7 @@ "name": "icon-tabular", "id": 19, "code": 921881, - "tempChar": "" + "tempChar": "" }, { "order": 7, @@ -706,7 +730,7 @@ "name": "icon-tabular-lad", "id": 2, "code": 921888, - "tempChar": "" + "tempChar": "" }, { "order": 6, @@ -714,7 +738,7 @@ "name": "icon-tabular-lad-set", "id": 1, "code": 921889, - "tempChar": "" + "tempChar": "" }, { "order": 8, @@ -722,7 +746,7 @@ "name": "icon-tabular-realtime", "id": 3, "code": 921890, - "tempChar": "" + "tempChar": "" }, { "order": 23, @@ -730,7 +754,7 @@ "name": "icon-tabular-scrolling", "id": 18, "code": 921891, - "tempChar": "" + "tempChar": "" }, { "order": 112, @@ -738,7 +762,7 @@ "name": "icon-telemetry", "id": 86, "code": 921892, - "tempChar": "" + "tempChar": "" }, { "order": 90, @@ -746,7 +770,7 @@ "name": "icon-telemetry-panel", "id": 85, "code": 921893, - "tempChar": "" + "tempChar": "" }, { "order": 93, @@ -754,7 +778,7 @@ "name": "icon-timeline", "id": 88, "code": 921894, - "tempChar": "" + "tempChar": "" }, { "order": 116, @@ -762,7 +786,7 @@ "name": "icon-timer-v1.5", "prevSize": 24, "code": 921895, - "tempChar": "" + "tempChar": "" }, { "order": 11, @@ -770,7 +794,7 @@ "name": "icon-topic", "id": 6, "code": 921896, - "tempChar": "" + "tempChar": "" }, { "order": 115, @@ -778,13 +802,13 @@ "name": "icon-box-with-dashed-lines", "id": 29, "code": 921897, - "tempChar": "" + "tempChar": "" } ], "metadata": { "name": "openmct-symbols-16px", "importSize": { - "width": 448, + "width": 512, "height": 512 }, "designer": "Charles Hacskaylo", @@ -1973,7 +1997,7 @@ }, { "paths": [ - "M1012.8 414.2v-391.6l-127.6 127.4c-96.6-96.8-225.2-150-362-150s-265.2 53.2-362 150c-96.8 96.8-150 225.2-150 362s53.2 265.4 150 362c96.8 96.8 225.2 150 362 150s265.4-53.2 362-150l-136.6-136.6c-124.2 124.2-326.4 124.2-450.8 0-124.2-124.2-124.2-326.4 0-450.8 124.2-124.2 326.4-124.2 450.8 0l-127.4 127.4h391.6z" + "M1024 460.8v-460.8l-175.8 175.8c-85.2-69.6-190.8-107.6-302-107.6-127.6 0-247.6 49.8-338 140s-140 210.4-140 338 49.8 247.6 140 338 210.4 140 338 140 247.6-49.8 338-140c74-74 120.8-167.8 135-269.6h-138.6c-32 155.4-169.8 272.8-334.6 272.8-188.2 0-341.4-153.2-341.4-341.4s153.4-341.2 341.6-341.2c76.8 0 147.6 25.4 204.8 68.2l-187.8 187.8h460.8z" ], "grid": 16, "tags": [ @@ -1981,9 +2005,19 @@ ], "defaultCode": 114, "id": 27, - "attrs": [], + "attrs": [ + { + "fill": "rgb(0, 161, 75)" + } + ], + "isMulticolor": false, + "isMulticolor2": false, "colorPermutations": { - "1161751207457516161751": [] + "1161751207457516161751": [ + { + "f": 1 + } + ] } }, { @@ -2125,6 +2159,134 @@ "1161751207457516161751": [] } }, + { + "id": 103, + "paths": [ + "M253.414 318.061l-155.172-116.384c-50.233 66.209-85.127 146.713-97.91 234.39l191.586 30.216c8.145-56.552 29.998-106.879 62.068-149.006z", + "M191.98 557.717l-191.919 27.434c13.115 90.459 48.009 170.963 99.174 238.453l154.18-117.665c-31.476-41.347-53.309-91.675-61.231-146.504z", + "M466.283 191.98l-27.434-191.919c-90.459 13.115-170.963 48.009-238.453 99.174l117.665 154.18c41.347-31.476 91.675-53.309 146.504-61.231z", + "M822.323 98.242c-66.209-50.233-146.713-85.127-234.39-97.91l-30.216 191.586c56.552 8.145 106.879 29.998 149.006 62.068z", + "M832.020 466.283l191.919-27.434c-13.115-90.459-48.009-170.963-99.174-238.453l-154.18 117.665c31.476 41.347 53.309 91.675 61.231 146.504z", + "M201.677 925.758c66.209 50.233 146.713 85.127 234.39 97.91l30.216-191.586c-56.552-8.145-106.879-29.998-149.006-62.068z", + "M770.586 705.939l155.131 116.343c50.233-66.209 85.127-146.713 97.91-234.39l-191.586-30.216c-8.125 56.564-29.966 106.906-62.028 149.049z", + "M557.717 832.020l27.434 191.919c90.459-13.115 170.963-48.009 238.453-99.174l-117.665-154.18c-41.347 31.476-91.675 53.309-146.504 61.231z", + "M770.586 512c0 142.813-115.773 258.586-258.586 258.586s-258.586-115.773-258.586-258.586c0-142.813 115.773-258.586 258.586-258.586s258.586 115.773 258.586 258.586z" + ], + "attrs": [ + { + "fill": "rgb(0, 161, 75)" + }, + { + "fill": "rgb(0, 161, 75)" + }, + { + "fill": "rgb(0, 161, 75)" + }, + { + "fill": "rgb(0, 161, 75)" + }, + { + "fill": "rgb(0, 161, 75)" + }, + { + "fill": "rgb(0, 161, 75)" + }, + { + "fill": "rgb(0, 161, 75)" + }, + { + "fill": "rgb(0, 161, 75)" + }, + { + "fill": "rgb(0, 161, 75)" + } + ], + "isMulticolor": false, + "isMulticolor2": false, + "grid": 16, + "tags": [ + "icon-brightness" + ], + "colorPermutations": { + "1161751207457516161751": [ + { + "f": 1 + }, + { + "f": 1 + }, + { + "f": 1 + }, + { + "f": 1 + }, + { + "f": 1 + }, + { + "f": 1 + }, + { + "f": 1 + }, + { + "f": 1 + }, + { + "f": 1 + } + ] + } + }, + { + "id": 102, + "paths": [ + "M512 0c-282.78 0-512 229.24-512 512s229.22 512 512 512 512-229.24 512-512-229.22-512-512-512zM783.52 783.52c-69.111 69.481-164.785 112.481-270.502 112.481-0.358 0-0.716-0-1.074-0.001l0.055-768c212.070 0.010 383.982 171.929 383.982 384 0 106.034-42.977 202.031-112.462 271.52z" + ], + "attrs": [ + { + "fill": "rgb(0, 161, 75)" + } + ], + "isMulticolor": false, + "isMulticolor2": false, + "grid": 16, + "tags": [ + "icon-contrast" + ], + "colorPermutations": { + "1161751207457516161751": [ + { + "f": 1 + } + ] + } + }, + { + "id": 104, + "paths": [ + "M460.8 460.8l-187.8-187.8c57.2-42.8 128-68.2 204.8-68.2 188.2 0 341.6 153.2 341.6 341.4s-153.2 341.2-341.4 341.2c-165 0-302.8-117.6-334.6-273h-138.4c14.2 101.8 61 195.6 135 269.6 90.2 90.2 210.4 140 338 140s247.6-49.8 338-140 140-210.4 140-338-49.8-247.6-140-338-210.4-140-338-140c-111.4 0-217 38-302 107.6l-176-175.6v460.8h460.8z" + ], + "attrs": [ + { + "fill": "rgb(0, 161, 75)" + } + ], + "isMulticolor": false, + "isMulticolor2": false, + "grid": 16, + "tags": [ + "icon-reset" + ], + "colorPermutations": { + "1161751207457516161751": [ + { + "f": 1 + } + ] + } + }, { "paths": [ "M576 64h-256l320 320h-290.256c-44.264-76.516-126.99-128-221.744-128h-128v512h128c94.754 0 177.48-51.484 221.744-128h290.256l-320 320h256l448-448-448-448z" diff --git a/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.eot b/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.eot index c3a3688fffc5eeec7d7cf0371da12f8145832658..d22bc7851c896decc92eb120c79ad345b0f0340a 100755 GIT binary patch delta 749 zcmX?6*ip>ZVadR-!D1qt8H={-p8FFWR@aL%Ffi-^;)LYf!~(`O4L}8qGC=H*o>*J} z6c=D%V2T0K9O*fgX};NK4+8lq3=D<}8L5dW+z0D(85oRPfbwP;KmqncEb2f$$UK#d z+>(kOPL}OJ{sW+Sb8_;N6Mu@a9${cGtpUnk$W5#$U?|dKC z@^gTeC>7)vmoP8`Wf&|bfaDpNncqyF!FZn&XapGWPi|mp(-UxD-~(a?1`h^4K?We^ z1hPGWv;YuG0@=YpS^OpslVSy_pXiJgyGR78$R zT#nh;$d1X}j?rA14=AC>WNKo^WNaiR&aTM9utCAyCs4~ECd^Ms$wXOLSlL8L$uBI% z04!qR%GJeV7m;u0UK49-8e8jTm7%?d@hszK#XWO2-Fwq zf{Ki1_h@HWxz&OkQR8lxA8E_e#qDa2aHx_A#AdLFR-li&!Um8t_b8~C#nifi9HHr% zV(ly6Wsaf}?rJ`14e1U4j5iy}mx;*S-{Yzs&u{aUftv*wzzhsm0%d_w3ZW+-F*avR zpZv%8H>V3o7KoW9Z!l4xtZe!ryn*`^j~!1G&kmj^yd1nXyqEYm_@emg__p!g;Sb`U z!2e9ZN??V+H9-+U7r_F-J|P|3edb6Ir+(nKUv?rV_+}=*>^5Cv7&&XP>-REfx)x~D4>v+n44<; zODzq^Ujwv6sUW|&gn=1kmiYycJOeZH>&Y`1?{n?|i2(uM0ciyw)&#O+7#JBC|Nm#;pB%ufxjB{DOst;!{{iN&%m)~ZfDRL6*JD;z;$vdx zV-^*WV-lBRHa4B@{w_`LC6K7Xs{@S1t5|dFWUzkfGne*ukX4*j|sRP{l$NqPJ5Y2tbPUK#cm$)>5LZo4?2x zh{$}mb^jjEZ}XLbn+50r28JsEVhJ#Ma)XIEW7^~$CcinsvOpC~n-7=@Glo}jAK|g! z3E|nqbB~va*NpcJ9}}M%UmRZx-!Fa({yzRk0s#Vb0(%7B2ucW=32qU*Cd44rAj~B^ oON2orPvn*8G|_Wneqx8jxx~H1?@0ht3NYXp7}7Rtna42!0O&%8B>(^b diff --git a/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.svg b/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.svg index c0fbe06e76..68ac62d103 100755 --- a/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.svg +++ b/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.svg @@ -65,7 +65,7 @@ - + @@ -75,6 +75,7 @@ + diff --git a/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.ttf b/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.ttf index 4ba5deaccc7d7fb9b9fc7c2cb1aff90601c0d15b..e6b00bcbe16899bace8ffc608b1438501cd41561 100755 GIT binary patch delta 721 zcmey6zoD?6fsuiMft#U$ftkU;KUm+0Ur1IID6$8L6OwZi3mDflSTZm$$^fxLdSY<_ zP+Wk4fhh(^bEM}~ruk-{JqYBdFfbS@WTYmha38GCWneIF0m_?Y00r0&v8V(2AoEl* za!V?DI9av>`452R&B@76c1-*!#(IQ-!L$ab;6iR82AJkfS41= z_5{)bKr9Jl2LovZAl3x3V>bsdrHgU8{6E0Lz;E5M z-UD(GFr?J&7>$kOm_$YRm_UwFSC(TGmt!_IvSTv0V>UGbis%7d%g4m7E~v0J(FIf{Iy8tsBT0nw}}vzVcn>C@P`; zRuSTp){x%t&v{XMSQ@%%Pl8Ms+ME@!wBC<}}|2tE0YkvU`fWEJDzj4qQE zOtdGvn|ujx;6BA;#}mb~gXak^2d@q9B|Z+mD84$rZG3n5gZL-#KNGMLSRrstP(;v0 zut2a+h(}0IC_?ClaFXyRkqD7vqE4dk#MH!=iA#wmi7%2clb8Tb!0DSOnZ_{z0Mvr1 A!T>VSL|pm{TL@{=7Cf3m)L$G~6$vhZAPVnqQ%AwwAhgJ}B0f;q$?3m3lOzC2r-2V?Se`P+vU^MxRgjBscAET0*x*ns6nYkUKk(fBUBJKQ;j`G0_g0q6uShRubN?5vw*o5>7(ID~ zu{mSf0B+e!7C4NuB0%#W~ MQKW4SGK*sZ00muxZ~y=R diff --git a/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.woff b/platform/commonUI/general/res/fonts/symbols/openmct-symbols-16px.woff index 9263a50af312f8e8919cbe4065bc5bac84575be7..72433dabfc662c4a035e78139bad09adcd78d765 100755 GIT binary patch delta 765 zcmdl}@TX9$+~3WOfsp|SEdDTXgXs+nOp_HY#3t$p*NZ0SCKfO-FlGR;0|+y&X|POB zECz}(tpFmS~b04hF%>W8AFqnY! zsemy1Ar|$F+>#2Qm=4hVIUwA_$+A5sKN+ab&-4UP5y*fGKgC#&YzNSCB@j0MrIuEZUt9w8&mFirW+021`ORb=#`~N{fNT)ppZtZfO;5mq zfe(lo7(5vG1Q~#s6Ug=i(gHv%31kNYX$2tG1hQi{&tXaz<8=9dfQ5ni0E5M39!aTs zJ4SP5K4xVlJtk8VJ0@czF>!W97KRN9?mmH91~FlNN=hcm!otcXN=klVF$Q1}3s(WoJ&b1=KQo@)Af+M0hpJl1L`6tQ#YD-x%f~9kQ`0oI#vP)M4$T3kT(RX5MV#~y(#FNAqNtj7Y N04MbH&G$^>m;e$rus8q! delta 609 zcmexUxTip@+~3WOfsp|SENmFKLA3b?2BygmEyO132-k}w=Oz{~Ffe8Su?Yw>PKZxT zPb>zCG0g$0<$z*=^qk5xpx6=y1_Pj+L4oV7>E#)zi75;W#v(v9W+2SHztAxQCFD2 zCUH4tVYK#^o) zutyz8(+(8Tt*39ZX7$?e&-nRV+jydOP)j0HjzC#HioAUQ(2GbB26@h|G6e z_wVuiHeVUIS%8jaV7L+>mH?wCe=#;^Oq;A@@|zPZ3sk{0`GJY@ -
- - - - - + + + + + + + + +
Date: Tue, 15 Nov 2016 13:50:28 -0800 Subject: [PATCH 6/9] [Imagery] Test mct-background-image filters --- .../test/directives/MCTBackgroundImageSpec.js | 91 ++++++++++++------- 1 file changed, 59 insertions(+), 32 deletions(-) diff --git a/platform/features/imagery/test/directives/MCTBackgroundImageSpec.js b/platform/features/imagery/test/directives/MCTBackgroundImageSpec.js index 262fc68fec..5ac9fd1a66 100644 --- a/platform/features/imagery/test/directives/MCTBackgroundImageSpec.js +++ b/platform/features/imagery/test/directives/MCTBackgroundImageSpec.js @@ -35,7 +35,10 @@ define( mockDocument = [ jasmine.createSpyObj('document', ['createElement']) ]; - mockScope = jasmine.createSpyObj('scope', ['$watch']); + mockScope = jasmine.createSpyObj('scope', [ + '$watch', + '$watchCollection' + ]); mockElement = jasmine.createSpyObj('element', ['css']); testImage = {}; @@ -52,46 +55,70 @@ define( expect(directive.scope.mctBackgroundImage).toEqual("="); }); - it("watches for changes to the URL", function () { - directive.link(mockScope, mockElement, {}); - expect(mockScope.$watch).toHaveBeenCalledWith( - 'mctBackgroundImage', - jasmine.any(Function) - ); - }); + describe("once linked", function () { + beforeEach(function () { + directive.link(mockScope, mockElement, {}); + }); - it("updates images in-order, even when they load out-of-order", function () { - var firstOnload; + it("watches for changes to the URL", function () { + expect(mockScope.$watch).toHaveBeenCalledWith( + 'mctBackgroundImage', + jasmine.any(Function) + ); + }); - directive.link(mockScope, mockElement); + it("updates images in-order, even when they load out-of-order", function () { + var firstOnload; - mockScope.$watch.mostRecentCall.args[1]("some/url/0"); - firstOnload = testImage.onload; + mockScope.$watch.mostRecentCall.args[1]("some/url/0"); + firstOnload = testImage.onload; - mockScope.$watch.mostRecentCall.args[1]("some/url/1"); + mockScope.$watch.mostRecentCall.args[1]("some/url/1"); - // Resolve in a different order - testImage.onload(); - firstOnload(); + // Resolve in a different order + testImage.onload(); + firstOnload(); - // Should still have taken the more recent value - expect(mockElement.css.mostRecentCall.args).toEqual([ - "background-image", - "url('some/url/1')" - ]); - }); + // Should still have taken the more recent value + expect(mockElement.css.mostRecentCall.args).toEqual([ + "background-image", + "url('some/url/1')" + ]); + }); - it("clears the background image when undefined is passed in", function () { - directive.link(mockScope, mockElement); + it("clears the background image when undefined is passed in", function () { + mockScope.$watch.mostRecentCall.args[1]("some/url/0"); + testImage.onload(); + mockScope.$watch.mostRecentCall.args[1](undefined); - mockScope.$watch.mostRecentCall.args[1]("some/url/0"); - testImage.onload(); - mockScope.$watch.mostRecentCall.args[1](undefined); + expect(mockElement.css.mostRecentCall.args).toEqual([ + "background-image", + "none" + ]); + }); - expect(mockElement.css.mostRecentCall.args).toEqual([ - "background-image", - "none" - ]); + it("updates filters on change", function () { + var filters = { brightness: 123, contrast: 21 }; + mockScope.$watchCollection.calls.forEach(function (call) { + if (call.args[0] === 'filters') { + call.args[1](filters); + } + }); + expect(mockElement.css).toHaveBeenCalledWith( + 'filter', + 'brightness(123%) contrast(21%)' + ); + }); + + it("clears filters when none are present", function () { + mockScope.$watchCollection.calls.forEach(function (call) { + if (call.args[0] === 'filters') { + call.args[1](undefined); + } + }); + expect(mockElement.css) + .toHaveBeenCalledWith('filter', ''); + }); }); }); } From 2f8c03ecb2e329b4b0dd9fad1b8e9d368eb28938 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Tue, 15 Nov 2016 14:00:12 -0800 Subject: [PATCH 7/9] [Imagery] Simplify filter reset --- platform/features/imagery/res/templates/imagery.html | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/platform/features/imagery/res/templates/imagery.html b/platform/features/imagery/res/templates/imagery.html index d031ec903c..542ef66e56 100644 --- a/platform/features/imagery/res/templates/imagery.html +++ b/platform/features/imagery/res/templates/imagery.html @@ -17,16 +17,15 @@ - +
From 5dee588c3614d99df2d391b5053607091389cd37 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Tue, 15 Nov 2016 14:00:51 -0800 Subject: [PATCH 8/9] Revert "[Frontend] Updated example images" This reverts commit 251e3b56469a757ab37653eccc692101e754deee. --- example/imagery/src/ImageTelemetry.js | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/example/imagery/src/ImageTelemetry.js b/example/imagery/src/ImageTelemetry.js index a541488bf1..b184f90c4e 100644 --- a/example/imagery/src/ImageTelemetry.js +++ b/example/imagery/src/ImageTelemetry.js @@ -31,15 +31,10 @@ define( var firstObservedTime = Date.now(), images = [ - "https://c1.staticflickr.com/9/8723/16813029640_9250a9a615_b.jpg", - "http://cdn.inquisitr.com/wp-content/uploads/2015/09/UFO-Comet-Rosetta-boulder.jpg", - "http://en.es-static.us/upl/2015/01/rosetta-comet-crack-OSIRIS-e1422270190774.jpg", - "https://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Vesta_darkside.jpg/768px-Vesta_darkside.jpg", - "http://www.leonarddavid.com/wp-content/uploads/2016/01/Chury_2012.jpg", - "https://upload.wikimedia.org/wikipedia/commons/6/67/Earth's_Moon.jpg", - "https://upload.wikimedia.org/wikipedia/commons/1/17/Rosetta_triumphs_at_asteroid_Lutetia.jpg", - "https://upload.wikimedia.org/wikipedia/commons/9/9d/243_Ida_large.jpg", - "https://c1.staticflickr.com/1/150/436668227_e9ed29c6ed_b.jpg" + "http://www.nasa.gov/393811main_Palomar_ao_bouchez_10s_after_impact_4x3_946-710.png", + "http://www.nasa.gov/393821main_Palomar_ao_bouchez_15s_after_impact_4x3_946-710.png", + "http://www.nasa.gov/images/content/393801main_CfhtVeillet2_4x3_516-387.jpg", + "http://www.nasa.gov/images/content/392790main_1024_768_GeminiNorth_NightBeforeImpact_946-710.jpg" ].map(function (url, index) { return { timestamp: firstObservedTime + 1000 * index, From cfb99eaf803ea7ab5063a7491c4bb0be8d294acf Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Tue, 15 Nov 2016 14:08:00 -0800 Subject: [PATCH 9/9] [Imagery] Add doc to mct-background-image --- .../features/imagery/src/directives/MCTBackgroundImage.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/platform/features/imagery/src/directives/MCTBackgroundImage.js b/platform/features/imagery/src/directives/MCTBackgroundImage.js index f7c1152963..7a4a38d051 100644 --- a/platform/features/imagery/src/directives/MCTBackgroundImage.js +++ b/platform/features/imagery/src/directives/MCTBackgroundImage.js @@ -30,7 +30,13 @@ define( * property to the URL given in its value, but only after that * image has loaded; this avoids "flashing" as images change. * - * If `src` is falsy, no image will be displayed (immediately.) + * If the value of `mct-background-image`is falsy, no image + * will be displayed (immediately.) + * + * Optionally, a `filters` attribute may be specified as an + * object with `brightness` and/or `contrast` properties, + * whose values are percentages. A value of 100 will make + * no changes to the image's brightness or contrast. * * @constructor * @memberof platform/features/imagery