Skip to content

Commit

Permalink
Hide unwanted element in the documentation, some doc fix
Browse files Browse the repository at this point in the history
  • Loading branch information
sbrunner committed Feb 8, 2019
1 parent fb09c49 commit 9e652e7
Show file tree
Hide file tree
Showing 246 changed files with 988 additions and 173 deletions.
5 changes: 5 additions & 0 deletions api/src/Map.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ import {getFeaturesFromLayer} from './Querent.js';
import * as themes from './Themes.js';


/**
* @private
*/
class Map {

/**
Expand Down Expand Up @@ -299,6 +302,7 @@ class Map {
* @param {Array.<string>} keys Keys.
* @param {Array.<*>} values Values.
* @returns {Object<string, *>} Object.
* @private
*/
function zip(keys, values) {
const obj = {};
Expand All @@ -313,6 +317,7 @@ function zip(keys, values) {
* @param {Object.<string, *>} obj Object.
* @param {Array.<string>} keys keys.
* @returns {Object<string, *>} Object.
* @private
*/
function filterByKeys(obj, keys) {
const filtered = {};
Expand Down
6 changes: 4 additions & 2 deletions api/src/Querent.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,14 @@ import olFormatWFS from 'ol/format/WFS.js';
*
* @param {!string} layer Name of the layer to query
* @param {Array.<string>} ids List of ids
* @return {!Promise} Promise.
* @return {!Promise<Array<import('ol/Feature.js').default>>} Promise.
* @hidden
*/
export function getFeaturesFromLayer(layer, ids) {
return new Promise((resolve, reject) => {
getOverlayDefs().then((overlayDefs) => {

/** Array<import('ol/Feature.js').default> */
let features = [];
const overlayDef = overlayDefs.get(layer);

Expand All @@ -33,7 +35,7 @@ export function getFeaturesFromLayer(layer, ids) {
!overlayDef.ogcServer ||
!overlayDef.ogcServer.wfsSupport ||
!overlayDef.ogcServer.urlWfs ||
overlayDef.config.type !== 'WMS'
overlayDef.layer.type !== 'WMS'
) {
reject(`Layer "${layer}" does not support WFS.`);
return;
Expand Down
101 changes: 71 additions & 30 deletions api/src/Themes.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,44 @@ import TileWMS from 'ol/source/TileWMS.js';
import WMTS, {optionsFromCapabilities} from 'ol/source/WMTS.js';
import TileLayer from 'ol/layer/Tile.js';

import * as constants from './constants.js';
import {themesUrl} from './constants.js';

/**
* @type {Promise}
* @type {Promise<import('gmf/themes.js').GmfThemesResponse>}
* @hidden
*/
const themesPromise = fetch(constants.themesUrl).then(response => response.json());
const themesPromise = fetch(themesUrl).then(response => response.json());

/**
* @type {Promise|undefined}
* @type {Promise<Map<string, overlayDefinition>>|undefined}
* @hidden
*/
let overlayDefPromise;

/**
* @hidden
* @returns {Promise<Array<TileLayer>>} Promise
*/
export function getBackgroundLayers() {
return themesPromise.then((themes) => {
const promises = [];
for (const config of themes.background_layers) {
if (config.type === 'WMTS') {
const layerWMTS = /** @type {import('gmf/themes.js').GmfLayerWMTS} */(config);
promises.push(
createWMTSLayer(config).then((layer) => {
layer.set('config.layer', config.layer);
layer.set('config.name', config.name);
createWMTSLayer(layerWMTS).then((layer) => {
layer.set('config.layer', layerWMTS.layer);
layer.set('config.name', layerWMTS.name);
return layer;
})
);
} else if (config.type === 'WMS') {
const layerWMS = /** @type {import('gmf/themes.js').GmfLayerWMS} */(config);
const ogcServer = themes.ogcServers[config.ogcServer];
promises.push(
createWMSLayer(config, ogcServer).then((layer) => {
layer.set('config.layer', config.layers);
layer.set('config.name', config.name);
createWMSLayer(layerWMS, ogcServer).then((layer) => {
layer.set('config.layer', layerWMS.layers);
layer.set('config.name', layerWMS.name);
return layer;
})
);
Expand All @@ -42,8 +50,22 @@ export function getBackgroundLayers() {
});
}

/**
* @typedef {Object} overlayDefinition
* @property {import('gmf/themes.js').GmfLayer} layer
* @property {import('gmf/themes.js').GmfOgcServer} ogcServer
*/

/**
* @type {Map<string, overlayDefinition>}
* @hidden
*/
const overlayDefs = new Map();

/**
* @hidden
* @returns {Promise<Map<string, overlayDefinition>>} Promise
*/
export function getOverlayDefs() {
if (!overlayDefPromise) {
overlayDefPromise = new Promise((resolve, reject) => {
Expand All @@ -58,19 +80,28 @@ export function getOverlayDefs() {
return overlayDefPromise;
}


/**
* @param {Object} config Config
* @param {import('gmf/themes.js').GmfOgcServers} ogcServers OGC servers
* @param {import('gmf/themes.js').GmfOgcServer} [opt_ogcServer] OGC server
* @returns {void}
* @hidden
*/
export function writeOverlayDefs(config, ogcServers, opt_ogcServer) {
const ogcServer = opt_ogcServer ?
opt_ogcServer :
config.ogcServer ? ogcServers[config.ogcServer] : undefined;
if (config.children) {
for (const childConfig of config.children) {
const group = /** @type {import('gmf/themes.js').GmfGroup} */(config);
const ogcServer = opt_ogcServer ? opt_ogcServer :
group.ogcServer ? ogcServers[group.ogcServer] : undefined;
if (group.children) {
for (const childConfig of group.children) {
writeOverlayDefs(childConfig, ogcServers, ogcServer);
}
} else {
const layer = /** @type {import('gmf/themes.js').GmfLayer} */(config);
overlayDefs.set(
config.name,
layer.name,
{
config,
layer,
ogcServer
}
);
Expand All @@ -82,6 +113,7 @@ export function writeOverlayDefs(config, ogcServers, opt_ogcServer) {
*
* @param {!Array<string>} layerNames List of layer names
* @return {!Promise} Promise.
* @hidden
*/
export function getOverlayLayers(layerNames) {
return getOverlayDefs().then((overlayDefs) => {
Expand All @@ -97,24 +129,23 @@ export function getOverlayLayers(layerNames) {

const ogcServer = overlayDef.ogcServer;

if (overlayDef.config.type === 'WMTS') {
promises.push(
createWMTSLayer(overlayDef.config)
);
} else if (overlayDef.config.type === 'WMS' && ogcServer) {
promises.push(
createWMSLayer(overlayDef.config, ogcServer)
);
if (overlayDef.layer.type === 'WMTS') {
const wmtsLayer = /** @type {import('gmf/themes.js').GmfLayerWMTS} */(overlayDef.layer);
promises.push(createWMTSLayer(wmtsLayer));
} else if (overlayDef.layer.type === 'WMS' && ogcServer) {
const wmsLayer = /** @type {import('gmf/themes.js').GmfLayerWMS} */(overlayDef.layer);
promises.push(createWMSLayer(wmsLayer, ogcServer));
}
}
return Promise.all(promises);
});
}

/**
* @param {Object} config Layer config (i.e. gmf layer node)
* @param {Object} ogcServer OGC server configuration used to create the layer.
* @return {Promise} Promise.
* @param {import('gmf/themes.js').GmfLayerWMS} config Layer config (i.e. gmf layer node)
* @param {import('gmf/themes.js').GmfOgcServer} ogcServer OGC server configuration used to create the layer.
* @return {Promise<TileLayer>} Promise.
* @hidden
*/
export function createWMSLayer(config, ogcServer) {
const layer = new TileLayer({
Expand All @@ -132,8 +163,9 @@ export function createWMSLayer(config, ogcServer) {
}

/**
* @param {Object} config Layer config (i.e. gmf layer node)
* @return {Promise} Promise.
* @param {import('gmf/themes.js').GmfLayerWMTS} config Layer config (i.e. gmf layer node)
* @return {Promise<TileLayer>} Promise.
* @hidden
*/
export function createWMTSLayer(config) {
return getWMTSCapability(config.url).then((capability) => {
Expand All @@ -153,8 +185,17 @@ export function createWMTSLayer(config) {
});
}

/**
* @type {Map<string, Object>}
* @hidden
*/
const capabilities = new Map();

/**
* @private
* @param {string} url The URL
* @return {Object} Any
*/
function getWMTSCapability(url) {
if (!(url in capabilities)) {
const request = fetch(url)
Expand Down
6 changes: 6 additions & 0 deletions api/src/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,33 @@ import EPSG2056 from '@geoblocks/proj/src/EPSG_2056.js';

/**
* @type {string}
* @hidden
*/
export const themesUrl = 'https://geomapfish-demo-dc.camptocamp.com/2.4/themes?version=2&background=background';

/**
* @type {Array<string>}
* @hidden
*/
export const supportedProjections = [EPSG21781, EPSG2056];

/**
* @type {string}
* @hidden
*/
export const projection = EPSG21781;


/**
* @type {Array.<number>}
* @hidden
*/
export const resolutions = [250, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.25, 0.1, 0.05];


/**
* @type {Array.<number>}
* @hidden
*/
export const extent = [420000, 30000, 660000, 350000];

Expand All @@ -34,6 +39,7 @@ export const extent = [420000, 30000, 660000, 350000];
* The name of the layer to use as background. May be a single value
* (WMTS) or a comma-separated list of layer names (WMS).
* @type {string}
* @hidden
*/
//export const backgroundLayer = 'default'; // WMS
export const backgroundLayer = 'Test aus Olten'; // WMTS
1 change: 1 addition & 0 deletions contribs/gmf/apps/appmodule.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {decodeQueryString} from 'ngeo/utils.js';

/**
* @type {!angular.IModule}
* @hidden
*/
const module = angular.module('app', []);

Expand Down
7 changes: 7 additions & 0 deletions contribs/gmf/apps/desktop/Controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ if (!window.requestAnimationFrame) {
window.location = 'http://geomapfish.org/';
}


/**
* @private
*/
class Controller extends AbstractDesktopController {
/**
* @param {angular.IScope} $scope Scope.
Expand Down Expand Up @@ -104,6 +108,9 @@ class Controller extends AbstractDesktopController {
}
}

/**
* @hidden
*/
const module = angular.module('Appdesktop', [
appBase.name,
gmfControllersAbstractDesktopController.name,
Expand Down
8 changes: 7 additions & 1 deletion contribs/gmf/apps/desktop_alt/Controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ if (!window.requestAnimationFrame) {
window.location = 'http://geomapfish.org/';
}


/**
* @private
*/
class Controller extends AbstractDesktopController {
/**
* @param {angular.IScope} $scope Scope.
Expand Down Expand Up @@ -138,7 +142,9 @@ class Controller extends AbstractDesktopController {
}
}


/**
* @hidden
*/
const module = angular.module('Appdesktop_alt', [
appBase.name,
gmfControllersAbstractDesktopController.name,
Expand Down
7 changes: 7 additions & 0 deletions contribs/gmf/apps/iframe_api/Controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ if (!window.requestAnimationFrame) {
window.location = 'http://geomapfish.org/';
}


/**
* @private
*/
class Controller extends AbstractAPIController {
/**
* @param {angular.IScope} $scope Scope.
Expand Down Expand Up @@ -50,6 +54,9 @@ class Controller extends AbstractAPIController {
}
}

/**
* @hidden
*/
const module = angular.module('Appiframe_api', [
appBase.name,
gmfControllersAbstractAPIController.name,
Expand Down
7 changes: 7 additions & 0 deletions contribs/gmf/apps/mobile/Controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ if (!window.requestAnimationFrame) {
window.location = 'http://geomapfish.org/';
}


/**
* @private
*/
class Controller extends AbstractMobileController {
/**
* @param {angular.IScope} $scope Scope.
Expand Down Expand Up @@ -61,6 +65,9 @@ class Controller extends AbstractMobileController {
}
}

/**
* @hidden
*/
const module = angular.module('Appmobile', [
appBase.name,
gmfControllersAbstractMobileController.name,
Expand Down
7 changes: 7 additions & 0 deletions contribs/gmf/apps/mobile_alt/Controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ if (!window.requestAnimationFrame) {
window.location = 'http://geomapfish.org/';
}


/**
* @private
*/
class Controller extends AbstractMobileController {
/**
* @param {angular.IScope} $scope Scope.
Expand Down Expand Up @@ -96,6 +100,9 @@ class Controller extends AbstractMobileController {
}
}

/**
* @hidden
*/
const module = angular.module('Appmobile_alt', [
appBase.name,
gmfControllersAbstractMobileController.name,
Expand Down

0 comments on commit 9e652e7

Please sign in to comment.