Skip to content

Commit

Permalink
Merge branch 'master' of /jslave/workspace/uncanny-cougar/downscan/ap…
Browse files Browse the repository at this point in the history
…ply-downscan/downscans/opensphere.2019-08-12-175636Z.bundle
  • Loading branch information
Jenkins Slave user committed Aug 13, 2019
2 parents 16384c6 + 2c1d6d8 commit 9f8574a
Show file tree
Hide file tree
Showing 36 changed files with 596 additions and 350 deletions.
8 changes: 8 additions & 0 deletions scss/os/_closetab.scss
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ $close-tab-font-size: .5rem !default;
@include font-awesome();
content: '\f054';
}

&.c-close-tab-left__closed::before {
content: '\f053';
}
}

// position on the right side of an element
Expand All @@ -48,4 +52,8 @@ $close-tab-font-size: .5rem !default;
@include font-awesome();
content: '\f053';
}

&.c-close-tab-right__closed::before {
content: '\f054';
}
}
26 changes: 26 additions & 0 deletions scss/os/_utils.scss
Original file line number Diff line number Diff line change
Expand Up @@ -590,3 +590,29 @@ $somesizes: map-merge((
height: 1.5rem;
width: 1.5rem;
}


// --------------------------------- Aspect Ratios ----------------------------------- //
$aspect-ratios: ((16, 9), (4, 3));

@each $w, $h in $aspect-ratios {
.u-aspect-ratio__#{$w}-#{$h} {
max-width: $w / $h * 84vh;
position: relative;
width: 100%;

&:after {
content: '';
display: block;
padding-bottom: ($h / $w) * 100%;
}

> * {
bottom: 0;
height: 100%;
position: absolute;
top: 0;
width: 100%;
}
}
}
2 changes: 1 addition & 1 deletion src/os/annotation/featureannotation.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ os.annotation.FeatureAnnotation.prototype.createUI = function() {

if (!options.position) {
var geometry = this.feature.getGeometry();
var coordinate = geometry instanceof ol.geom.SimpleGeometry ? geometry.getFirstCoordinate() : [0, 0];
var coordinate = geometry instanceof ol.geom.SimpleGeometry ? geometry.getFirstCoordinate() : undefined;
options.position = coordinate;
}

Expand Down
17 changes: 13 additions & 4 deletions src/os/annotation/featureannotationui.js
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,13 @@ os.annotation.FeatureAnnotationCtrl.prototype.onFeatureChange_ = function() {
this['description'] = os.annotation.getDescriptionText(this.feature);
this['options'] = /** @type {!osx.annotation.Options} */ (this.feature.get(os.annotation.OPTIONS_FIELD));

var geometry = /** @type {ol.geom.SimpleGeometry} */ (this.feature.getGeometry());
if (geometry) {
var coords = geometry.getFirstCoordinate();
this['options'].position = coords || [0, 0];
this.feature.set(os.annotation.OPTIONS_FIELD, this['options']);
}

if (this['options'].show) {
this.updateTail();
}
Expand Down Expand Up @@ -346,8 +353,9 @@ os.annotation.FeatureAnnotationCtrl.prototype.updateTailAbsolute = function() {
var cardCenter = [cardOffsetX + cardRect.width / 2, cardOffsetY + cardRect.height / 2];
// Changes the annotation tail style
var anchorWidth = Math.min(cardRect.height, cardRect.width) * .33;
var linePath = os.annotation.AbstractAnnotationCtrl.createTailPath(cardCenter, pathTarget, anchorWidth,
this['options'].showTail);
// Hide the tail when the background is not displayed
var tailStyle = !this['options'].showBackground ? os.annotation.TailStyle.NOTAIL : this['options'].showTail;
var linePath = os.annotation.AbstractAnnotationCtrl.createTailPath(cardCenter, pathTarget, anchorWidth, tailStyle);

svg.attr('width', svgWidth);
svg.attr('height', svgHeight);
Expand Down Expand Up @@ -409,8 +417,9 @@ os.annotation.FeatureAnnotationCtrl.prototype.updateTailFixed = function() {
var cardCenter = [cardRect.x + cardRect.width / 2, cardRect.y + cardRect.height / 2];
// Changes the annotation tail style
var anchorWidth = Math.min(cardRect.height, cardRect.width) * .33;
var linePath = os.annotation.AbstractAnnotationCtrl.createTailPath(cardCenter, targetPixel, anchorWidth,
this['options'].showTail);
// Hide the tail when the background is not displayed
var tailStyle = !this['options'].showBackground ? os.annotation.TailStyle.NOTAIL : this['options'].showTail;
var linePath = os.annotation.AbstractAnnotationCtrl.createTailPath(cardCenter, targetPixel, anchorWidth, tailStyle);

this.element.find('path').attr('d', linePath);

Expand Down
3 changes: 2 additions & 1 deletion src/os/config/settings.js
Original file line number Diff line number Diff line change
Expand Up @@ -650,6 +650,7 @@ os.config.Settings.prototype.reset = function(opt_namespace) {
!this.storageRegistry_.hasRemoteStorage) {
this.set('storage.writeType', os.config.storage.SettingsWritableStorageType.LOCAL, true);
} else {
os.object.delete(this.mergedConfig_, ['storage', 'writeType']);
this.set('storage.writeType', type, true);
}

Expand Down Expand Up @@ -976,8 +977,8 @@ os.config.Settings.prototype.process = function(data, type, sender, time) {
// save off the current value on the message and queue it for processing after the reload
settingsMessage.oldValue = this.get(settingsMessage.keys);
this.toNotifyInternal_.push(settingsMessage);
this.reloadDelay_.start();
}
this.reloadDelay_.start();
};


Expand Down
35 changes: 35 additions & 0 deletions src/os/config/settingsinitializermanager.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
goog.provide('os.config.SettingsInitializerManager');
goog.require('os.config.SettingsInitializer');



/**
* Initialize settings for OpenSphere.
* @constructor
*/
os.config.SettingsInitializerManager = function() {
/**
* The default settings initializer
* @type {os.ui.config.AngularAppSettingsInitializer}
*/
this.currentInitializer_ = new os.config.SettingsInitializer();
};
goog.addSingletonGetter(os.config.SettingsInitializerManager);


/**
* Set a new current settings initializer
* @param {os.ui.config.AngularAppSettingsInitializer} initializer
*/
os.config.SettingsInitializerManager.prototype.setSettingsInitializer = function(initializer) {
this.currentInitializer_ = initializer;
};


/**
* Get the current settings initializer
* @return {os.ui.config.AngularAppSettingsInitializer}
*/
os.config.SettingsInitializerManager.prototype.getSettingsInitializer = function() {
return this.currentInitializer_;
};
11 changes: 10 additions & 1 deletion src/os/config/themesettings.js
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,13 @@ os.config.ThemeSettingsCtrl.prototype.onAccessableThemeChange = function(newVal,
os.config.ThemeSettings.loadingPromise = null;


/**
* Allows overriding application theme for certain routes
* @type {Object}
*/
os.config.ThemeSettings.themeExceptions = {};


/**
* Set Theme
*
Expand Down Expand Up @@ -258,7 +265,9 @@ os.config.ThemeSettings.setTheme = function() {
os.settings.set(os.config.ThemeSettings.Keys.ACCESSIBLE_THEME, accessibleTheme);
}

var theme = null;
var theme = goog.object.findValue(os.config.ThemeSettings.themeExceptions, function(value, key) {
return window.location.hash.indexOf(key) != -1;
});
if (accessibleTheme && accessibleThemes[displayTheme]) {
// Get this flavor of the theme
theme = accessibleThemes[displayTheme][accessibleTheme];
Expand Down
1 change: 0 additions & 1 deletion src/os/data/layertreesearch.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ os.data.LayerTreeSearch.prototype.setupNode = function(item) {
node.setLayer(layer);
}

node.setCheckboxVisible(true);
return node;
};

Expand Down
9 changes: 8 additions & 1 deletion src/os/filter/basefiltermanager.js
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,14 @@ os.filter.BaseFilterManager.prototype.addFilter = function(filter) {
this.types[filter.type] = new os.filter.FilterType();
}

this.types[filter.type].filters.push(filter);
var filters = this.types[filter.type].filters;
filters.push(filter);

// deduplicate by ID
goog.array.removeDuplicates(filters, undefined, function(f) {
return f.getId();
});

this.dispatchEvent(new os.ui.filter.FilterEvent(os.ui.filter.FilterEventType.FILTERS_REFRESH));
this.save();
}
Expand Down
24 changes: 24 additions & 0 deletions src/os/filter/im/osfilterimport.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,30 @@ os.filter.im.OSFilterImportCtrl = function($scope, $element, $sce) {
goog.inherits(os.filter.im.OSFilterImportCtrl, os.ui.filter.im.FilterImportCtrl);


/**
* Get the base filterable descriptors and add in the filterable layers.
* @inheritDoc
*/
os.filter.im.OSFilterImportCtrl.prototype.getFilterables = function() {
var filterables = os.filter.im.OSFilterImportCtrl.base(this, 'getFilterables');
var layers = os.map.mapContainer.getLayers();

if (layers) {
layers.forEach(function(layer) {
if (os.implements(layer, os.filter.IFilterable.ID)) {
layer = /** @type {os.filter.IFilterable} */ (layer);

if (layer.isFilterable()) {
filterables.unshift(layer);
}
}
});
}

return filterables;
};


/**
* @inheritDoc
*/
Expand Down
24 changes: 1 addition & 23 deletions src/os/im/action/filteractionparser.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,6 @@ os.im.action.FilterActionParser.parseNodes = function(nodes) {
var iam = os.im.action.ImportActionManager.getInstance();
var entries = [];
var parentMap = {};
var typeMap = {};

goog.array.forEach(nodes, function(node) {
var actions = [];
Expand All @@ -95,15 +94,7 @@ os.im.action.FilterActionParser.parseNodes = function(nodes) {
var tags = /** @type {?string} */ (node.getAttribute('tags')) || '';
var children = /** @type {?string} */ (node.getAttribute('children')) || '';
var childrenArray = children ? children.split(', ') : [];

var type = /** @type {string} */ (node.getAttribute('type')) || '';
var typeHint = /** @type {string|undefined} */ (node.getAttribute('typeHint'));

if (typeHint == os.im.action.filter.ExportTypeHint.EXACT) {
typeMap[type] = [type];
} else {
typeMap[type] = os.ui.filter.getFilterableTypes(type);
}

var filterNode = node.querySelector('filter');
if (filterNode) {
Expand Down Expand Up @@ -160,20 +151,7 @@ os.im.action.FilterActionParser.parseNodes = function(nodes) {
}
});

var finalEntries = [];
entries.forEach(function(entry) {
var types = typeMap[entry.getType()];

if (types) {
types.forEach(function(type) {
var clone = entry.clone();
clone.setType(type);
finalEntries.push(clone);
});
}
});

return finalEntries;
return entries;
};


Expand Down
4 changes: 2 additions & 2 deletions src/os/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ goog.require('os');
goog.require('os.MainCtrl');
goog.require('os.config');
goog.require('os.config.Settings');
goog.require('os.config.SettingsInitializer');
goog.require('os.config.SettingsInitializerManager');
goog.require('os.debug.FancierWindow');
goog.require('os.defines');
goog.require('os.mixin');
Expand Down Expand Up @@ -88,7 +88,7 @@ os.Module.config(os.Module.configureModule);
os.net.addDefaultHandlers();

// initialize settings for this app
var settingsInitializer = new os.config.SettingsInitializer();
var settingsInitializer = os.config.SettingsInitializerManager.getInstance().getSettingsInitializer();
settingsInitializer.init();
}
};
Expand Down
2 changes: 1 addition & 1 deletion src/os/ogc/wfs/featuretype.js
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@ os.ogc.wfs.FeatureType.clearTimeColumns = function(typeName) {
* @type {Array<string>}
* @const
*/
os.ogc.wfs.FeatureType.IGNORED_FIELDS = ['ID', 'DATE_TIME'];
os.ogc.wfs.FeatureType.IGNORED_FIELDS = ['ID'];


/**
Expand Down
13 changes: 11 additions & 2 deletions src/os/source/source.js
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ os.source.getFilterColumns = function(source, opt_local, opt_includeTime) {
if (!columns) {
var filterable = os.filter.BaseFilterManager.getInstance().getFilterable(source.getId());
if (filterable) {
columns = filterable.getFilterColumns().map(os.source.mapFilterColumns);
columns = filterable.getFilterColumns().map(os.source.featureTypesToDefinitions);
}
}
}
Expand All @@ -115,13 +115,22 @@ os.source.getFilterColumns = function(source, opt_local, opt_includeTime) {
* @param {!os.ogc.FeatureTypeColumn} c The feature type column to convert
* @return {!os.data.ColumnDefinition}
*/
os.source.mapFilterColumns = function(c) {
os.source.featureTypesToDefinitions = function(c) {
var col = new os.data.ColumnDefinition(c.name);
col['type'] = c.type;
return col;
};


/**
* @param {!os.data.ColumnDefinition} c The feature type column to convert
* @return {!os.ogc.FeatureTypeColumn}
*/
os.source.definitionsToFeatureTypes = function(c) {
return {name: c['name'], type: c['type']};
};


/**
* @param {os.source.ISource} source
* @return {boolean}
Expand Down
15 changes: 4 additions & 11 deletions src/os/state/state.js
Original file line number Diff line number Diff line change
Expand Up @@ -124,17 +124,10 @@ os.state.deleteStates = function(list) {

/**
* Determine if a layer is a state file
* @param {Object|null|string|undefined} source
* @param {string} id
* @return {boolean}
*/
os.state.isStateFile = function(source) {
var layerId = source;
var text = [];
var words = layerId.split(os.ui.data.BaseProvider.ID_DELIMITER);
text.push(words[0]);
if (text[0] === 'state') {
return true;
} else {
return false;
}
os.state.isStateFile = function(id) {
var words = id && id.split(os.ui.data.BaseProvider.ID_DELIMITER);
return words ? words[0] === 'state' || words[0] === 'pubstate' : false;
};
24 changes: 5 additions & 19 deletions src/os/ui/column/mapping/mappingexpression.js
Original file line number Diff line number Diff line change
Expand Up @@ -205,26 +205,12 @@ os.ui.column.mapping.MappingExpressionCtrl.prototype.setColumns_ = function(colu


/**
* Formatter for the layerpicker on each row.
* Trivial empty group ID function for the layer picker.
*
* @param {Object} item
* @param {angular.JQLite} ele
* @return {string|angular.JQLite}
* @param {os.data.IDataDescriptor|os.filter.IFilterable} layer The layer to group.
* @return {?string}
* @export
*/
os.ui.column.mapping.MappingExpressionCtrl.prototype.formatter = function(item, ele) {
var id = item['text'];
var des = os.dataManager.getDescriptor(id);
var val = '';
if (des) {
val = des.getTitle();
var color = des.getColor();
color = color ? os.color.toHexString(color) : 'white';
val = '<i class="fa fa-bars mr-1" style="color:' + color + '"></i>' + val;
if (des.getProvider()) {
// put the provider on each for clarity
val += ' (' + des.getProvider() + ')';
}
}
return val;
os.ui.column.mapping.MappingExpressionCtrl.prototype.groupFn = function(layer) {
return '';
};
Loading

0 comments on commit 9f8574a

Please sign in to comment.