@kalisio/kdk 2.6.4 → 2.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/api/hooks/hooks.model.js +1 -1
- package/core/client/directives/v-drop-file.js +6 -6
- package/core/client/utils/utils.shapes.js +8 -1
- package/package.json +1 -1
- package/test/api/core/test-log-2026-03-10.log +60 -0
- package/test/api/map/test-log-2026-03-10.log +56 -0
- package/.vscode/settings.json +0 -5
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/core/api/application.js.html +0 -1870
- package/coverage/core/api/authentication.js.html +0 -742
- package/coverage/core/api/db.js.html +0 -778
- package/coverage/core/api/hooks/hooks.authentication.js.html +0 -313
- package/coverage/core/api/hooks/hooks.authorisations.js.html +0 -1243
- package/coverage/core/api/hooks/hooks.groups.js.html +0 -229
- package/coverage/core/api/hooks/hooks.logger.js.html +0 -163
- package/coverage/core/api/hooks/hooks.model.js.html +0 -955
- package/coverage/core/api/hooks/hooks.organisations.js.html +0 -541
- package/coverage/core/api/hooks/hooks.push.js.html +0 -253
- package/coverage/core/api/hooks/hooks.query.js.html +0 -862
- package/coverage/core/api/hooks/hooks.schemas.js.html +0 -298
- package/coverage/core/api/hooks/hooks.service.js.html +0 -319
- package/coverage/core/api/hooks/hooks.storage.js.html +0 -193
- package/coverage/core/api/hooks/hooks.users.js.html +0 -868
- package/coverage/core/api/hooks/index.html +0 -296
- package/coverage/core/api/hooks/index.js.html +0 -121
- package/coverage/core/api/index.html +0 -191
- package/coverage/core/api/index.js.html +0 -148
- package/coverage/core/api/marshall.js.html +0 -448
- package/coverage/core/api/models/groups.model.mongodb.js.html +0 -109
- package/coverage/core/api/models/index.html +0 -176
- package/coverage/core/api/models/messages.model.mongodb.js.html +0 -109
- package/coverage/core/api/models/organisations.model.mongodb.js.html +0 -94
- package/coverage/core/api/models/tags.model.mongodb.js.html +0 -115
- package/coverage/core/api/models/users.model.mongodb.js.html +0 -115
- package/coverage/core/api/services/account/account.hooks.js.html +0 -208
- package/coverage/core/api/services/account/account.service.js.html +0 -436
- package/coverage/core/api/services/account/index.html +0 -131
- package/coverage/core/api/services/authorisations/authorisations.hooks.js.html +0 -184
- package/coverage/core/api/services/authorisations/authorisations.service.js.html +0 -529
- package/coverage/core/api/services/authorisations/index.html +0 -131
- package/coverage/core/api/services/databases/databases.hooks.js.html +0 -193
- package/coverage/core/api/services/databases/databases.service.js.html +0 -100
- package/coverage/core/api/services/databases/index.html +0 -131
- package/coverage/core/api/services/groups/groups.hooks.js.html +0 -178
- package/coverage/core/api/services/groups/index.html +0 -116
- package/coverage/core/api/services/import-export/import-export.hooks.js.html +0 -184
- package/coverage/core/api/services/import-export/import-export.service.js.html +0 -118
- package/coverage/core/api/services/import-export/index.html +0 -131
- package/coverage/core/api/services/index.html +0 -116
- package/coverage/core/api/services/index.js.html +0 -556
- package/coverage/core/api/services/mailer/index.html +0 -131
- package/coverage/core/api/services/mailer/mailer.hooks.js.html +0 -190
- package/coverage/core/api/services/mailer/mailer.service.js.html +0 -118
- package/coverage/core/api/services/messages/index.html +0 -116
- package/coverage/core/api/services/messages/messages.hooks.js.html +0 -184
- package/coverage/core/api/services/organisations/index.html +0 -131
- package/coverage/core/api/services/organisations/organisations.hooks.js.html +0 -178
- package/coverage/core/api/services/organisations/organisations.service.js.html +0 -343
- package/coverage/core/api/services/push/index.html +0 -131
- package/coverage/core/api/services/push/push.hooks.js.html +0 -190
- package/coverage/core/api/services/push/push.service.js.html +0 -121
- package/coverage/core/api/services/storage/index.html +0 -131
- package/coverage/core/api/services/storage/storage.hooks.js.html +0 -190
- package/coverage/core/api/services/storage/storage.service.js.html +0 -172
- package/coverage/core/api/services/tags/index.html +0 -116
- package/coverage/core/api/services/tags/tags.hooks.js.html +0 -178
- package/coverage/core/api/services/users/index.html +0 -116
- package/coverage/core/api/services/users/users.hooks.js.html +0 -307
- package/coverage/core/api/utils.js.html +0 -118
- package/coverage/core/common/errors.js.html +0 -88
- package/coverage/core/common/index.html +0 -176
- package/coverage/core/common/index.js.html +0 -115
- package/coverage/core/common/permissions.js.html +0 -1048
- package/coverage/core/common/schema.js.html +0 -190
- package/coverage/core/common/utils.js.html +0 -220
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -506
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/core/api/application.js.html +0 -1870
- package/coverage/lcov-report/core/api/authentication.js.html +0 -742
- package/coverage/lcov-report/core/api/db.js.html +0 -778
- package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +0 -313
- package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +0 -1243
- package/coverage/lcov-report/core/api/hooks/hooks.groups.js.html +0 -229
- package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +0 -163
- package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +0 -955
- package/coverage/lcov-report/core/api/hooks/hooks.organisations.js.html +0 -541
- package/coverage/lcov-report/core/api/hooks/hooks.push.js.html +0 -253
- package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +0 -862
- package/coverage/lcov-report/core/api/hooks/hooks.schemas.js.html +0 -298
- package/coverage/lcov-report/core/api/hooks/hooks.service.js.html +0 -319
- package/coverage/lcov-report/core/api/hooks/hooks.storage.js.html +0 -193
- package/coverage/lcov-report/core/api/hooks/hooks.users.js.html +0 -868
- package/coverage/lcov-report/core/api/hooks/index.html +0 -296
- package/coverage/lcov-report/core/api/hooks/index.js.html +0 -121
- package/coverage/lcov-report/core/api/index.html +0 -191
- package/coverage/lcov-report/core/api/index.js.html +0 -148
- package/coverage/lcov-report/core/api/marshall.js.html +0 -448
- package/coverage/lcov-report/core/api/models/groups.model.mongodb.js.html +0 -109
- package/coverage/lcov-report/core/api/models/index.html +0 -176
- package/coverage/lcov-report/core/api/models/messages.model.mongodb.js.html +0 -109
- package/coverage/lcov-report/core/api/models/organisations.model.mongodb.js.html +0 -94
- package/coverage/lcov-report/core/api/models/tags.model.mongodb.js.html +0 -115
- package/coverage/lcov-report/core/api/models/users.model.mongodb.js.html +0 -115
- package/coverage/lcov-report/core/api/services/account/account.hooks.js.html +0 -208
- package/coverage/lcov-report/core/api/services/account/account.service.js.html +0 -436
- package/coverage/lcov-report/core/api/services/account/index.html +0 -131
- package/coverage/lcov-report/core/api/services/authorisations/authorisations.hooks.js.html +0 -184
- package/coverage/lcov-report/core/api/services/authorisations/authorisations.service.js.html +0 -529
- package/coverage/lcov-report/core/api/services/authorisations/index.html +0 -131
- package/coverage/lcov-report/core/api/services/databases/databases.hooks.js.html +0 -193
- package/coverage/lcov-report/core/api/services/databases/databases.service.js.html +0 -100
- package/coverage/lcov-report/core/api/services/databases/index.html +0 -131
- package/coverage/lcov-report/core/api/services/groups/groups.hooks.js.html +0 -178
- package/coverage/lcov-report/core/api/services/groups/index.html +0 -116
- package/coverage/lcov-report/core/api/services/import-export/import-export.hooks.js.html +0 -184
- package/coverage/lcov-report/core/api/services/import-export/import-export.service.js.html +0 -118
- package/coverage/lcov-report/core/api/services/import-export/index.html +0 -131
- package/coverage/lcov-report/core/api/services/index.html +0 -116
- package/coverage/lcov-report/core/api/services/index.js.html +0 -556
- package/coverage/lcov-report/core/api/services/mailer/index.html +0 -131
- package/coverage/lcov-report/core/api/services/mailer/mailer.hooks.js.html +0 -190
- package/coverage/lcov-report/core/api/services/mailer/mailer.service.js.html +0 -118
- package/coverage/lcov-report/core/api/services/messages/index.html +0 -116
- package/coverage/lcov-report/core/api/services/messages/messages.hooks.js.html +0 -184
- package/coverage/lcov-report/core/api/services/organisations/index.html +0 -131
- package/coverage/lcov-report/core/api/services/organisations/organisations.hooks.js.html +0 -178
- package/coverage/lcov-report/core/api/services/organisations/organisations.service.js.html +0 -343
- package/coverage/lcov-report/core/api/services/push/index.html +0 -131
- package/coverage/lcov-report/core/api/services/push/push.hooks.js.html +0 -190
- package/coverage/lcov-report/core/api/services/push/push.service.js.html +0 -121
- package/coverage/lcov-report/core/api/services/storage/index.html +0 -131
- package/coverage/lcov-report/core/api/services/storage/storage.hooks.js.html +0 -190
- package/coverage/lcov-report/core/api/services/storage/storage.service.js.html +0 -172
- package/coverage/lcov-report/core/api/services/tags/index.html +0 -116
- package/coverage/lcov-report/core/api/services/tags/tags.hooks.js.html +0 -178
- package/coverage/lcov-report/core/api/services/users/index.html +0 -116
- package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +0 -307
- package/coverage/lcov-report/core/api/utils.js.html +0 -118
- package/coverage/lcov-report/core/common/errors.js.html +0 -88
- package/coverage/lcov-report/core/common/index.html +0 -176
- package/coverage/lcov-report/core/common/index.js.html +0 -115
- package/coverage/lcov-report/core/common/permissions.js.html +0 -1048
- package/coverage/lcov-report/core/common/schema.js.html +0 -190
- package/coverage/lcov-report/core/common/utils.js.html +0 -220
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -506
- package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +0 -457
- package/coverage/lcov-report/map/api/hooks/hooks.features.js.html +0 -397
- package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +0 -1309
- package/coverage/lcov-report/map/api/hooks/index.html +0 -161
- package/coverage/lcov-report/map/api/hooks/index.js.html +0 -94
- package/coverage/lcov-report/map/api/index.html +0 -131
- package/coverage/lcov-report/map/api/index.js.html +0 -139
- package/coverage/lcov-report/map/api/marshall.js.html +0 -178
- package/coverage/lcov-report/map/api/models/alerts.model.mongodb.js.html +0 -106
- package/coverage/lcov-report/map/api/models/catalog.model.mongodb.js.html +0 -127
- package/coverage/lcov-report/map/api/models/features.model.mongodb.js.html +0 -196
- package/coverage/lcov-report/map/api/models/index.html +0 -161
- package/coverage/lcov-report/map/api/models/projects.model.mongodb.js.html +0 -109
- package/coverage/lcov-report/map/api/services/alerts/alerts.hooks.js.html +0 -274
- package/coverage/lcov-report/map/api/services/alerts/alerts.service.js.html +0 -610
- package/coverage/lcov-report/map/api/services/alerts/index.html +0 -131
- package/coverage/lcov-report/map/api/services/catalog/catalog.hooks.js.html +0 -310
- package/coverage/lcov-report/map/api/services/catalog/index.html +0 -116
- package/coverage/lcov-report/map/api/services/daptiles/daptiles.service.js.html +0 -1510
- package/coverage/lcov-report/map/api/services/daptiles/index.html +0 -116
- package/coverage/lcov-report/map/api/services/features/features.hooks.js.html +0 -241
- package/coverage/lcov-report/map/api/services/features/features.service.js.html +0 -241
- package/coverage/lcov-report/map/api/services/features/index.html +0 -131
- package/coverage/lcov-report/map/api/services/index.html +0 -116
- package/coverage/lcov-report/map/api/services/index.js.html +0 -817
- package/coverage/lcov-report/map/api/services/projects/index.html +0 -116
- package/coverage/lcov-report/map/api/services/projects/projects.hooks.js.html +0 -439
- package/coverage/lcov-report/map/common/dynamic-grid-source.js.html +0 -466
- package/coverage/lcov-report/map/common/errors.js.html +0 -94
- package/coverage/lcov-report/map/common/geotiff-grid-source.js.html +0 -541
- package/coverage/lcov-report/map/common/grid.js.html +0 -1612
- package/coverage/lcov-report/map/common/index.html +0 -371
- package/coverage/lcov-report/map/common/index.js.html +0 -172
- package/coverage/lcov-report/map/common/meteo-model-grid-source.js.html +0 -556
- package/coverage/lcov-report/map/common/moment-utils.js.html +0 -157
- package/coverage/lcov-report/map/common/opendap-grid-source.js.html +0 -868
- package/coverage/lcov-report/map/common/opendap-utils.js.html +0 -826
- package/coverage/lcov-report/map/common/permissions.js.html +0 -124
- package/coverage/lcov-report/map/common/time-based-grid-source.js.html +0 -418
- package/coverage/lcov-report/map/common/tms-utils.js.html +0 -274
- package/coverage/lcov-report/map/common/wcs-grid-source.js.html +0 -364
- package/coverage/lcov-report/map/common/wcs-utils.js.html +0 -586
- package/coverage/lcov-report/map/common/weacast-grid-source.js.html +0 -1033
- package/coverage/lcov-report/map/common/wfs-utils.js.html +0 -574
- package/coverage/lcov-report/map/common/wms-utils.js.html +0 -451
- package/coverage/lcov-report/map/common/wmts-utils.js.html +0 -547
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov.info +0 -10749
- package/coverage/map/api/hooks/hooks.catalog.js.html +0 -457
- package/coverage/map/api/hooks/hooks.features.js.html +0 -397
- package/coverage/map/api/hooks/hooks.query.js.html +0 -1309
- package/coverage/map/api/hooks/index.html +0 -161
- package/coverage/map/api/hooks/index.js.html +0 -94
- package/coverage/map/api/index.html +0 -131
- package/coverage/map/api/index.js.html +0 -139
- package/coverage/map/api/marshall.js.html +0 -178
- package/coverage/map/api/models/alerts.model.mongodb.js.html +0 -106
- package/coverage/map/api/models/catalog.model.mongodb.js.html +0 -127
- package/coverage/map/api/models/features.model.mongodb.js.html +0 -196
- package/coverage/map/api/models/index.html +0 -161
- package/coverage/map/api/models/projects.model.mongodb.js.html +0 -109
- package/coverage/map/api/services/alerts/alerts.hooks.js.html +0 -274
- package/coverage/map/api/services/alerts/alerts.service.js.html +0 -610
- package/coverage/map/api/services/alerts/index.html +0 -131
- package/coverage/map/api/services/catalog/catalog.hooks.js.html +0 -310
- package/coverage/map/api/services/catalog/index.html +0 -116
- package/coverage/map/api/services/daptiles/daptiles.service.js.html +0 -1510
- package/coverage/map/api/services/daptiles/index.html +0 -116
- package/coverage/map/api/services/features/features.hooks.js.html +0 -241
- package/coverage/map/api/services/features/features.service.js.html +0 -241
- package/coverage/map/api/services/features/index.html +0 -131
- package/coverage/map/api/services/index.html +0 -116
- package/coverage/map/api/services/index.js.html +0 -817
- package/coverage/map/api/services/projects/index.html +0 -116
- package/coverage/map/api/services/projects/projects.hooks.js.html +0 -439
- package/coverage/map/common/dynamic-grid-source.js.html +0 -466
- package/coverage/map/common/errors.js.html +0 -94
- package/coverage/map/common/geotiff-grid-source.js.html +0 -541
- package/coverage/map/common/grid.js.html +0 -1612
- package/coverage/map/common/index.html +0 -371
- package/coverage/map/common/index.js.html +0 -172
- package/coverage/map/common/meteo-model-grid-source.js.html +0 -556
- package/coverage/map/common/moment-utils.js.html +0 -157
- package/coverage/map/common/opendap-grid-source.js.html +0 -868
- package/coverage/map/common/opendap-utils.js.html +0 -826
- package/coverage/map/common/permissions.js.html +0 -124
- package/coverage/map/common/time-based-grid-source.js.html +0 -418
- package/coverage/map/common/tms-utils.js.html +0 -274
- package/coverage/map/common/wcs-grid-source.js.html +0 -364
- package/coverage/map/common/wcs-utils.js.html +0 -586
- package/coverage/map/common/weacast-grid-source.js.html +0 -1033
- package/coverage/map/common/wfs-utils.js.html +0 -574
- package/coverage/map/common/wms-utils.js.html +0 -451
- package/coverage/map/common/wmts-utils.js.html +0 -547
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
- package/coverage/tmp/coverage-151166-1723543324307-0.json +0 -1
- package/coverage/tmp/coverage-151178-1723543324283-0.json +0 -1
- package/coverage/tmp/coverage-151189-1723543324271-0.json +0 -1
- package/coverage/tmp/coverage-151201-1723543324248-0.json +0 -1
- package/coverage/tmp/coverage-151208-1723543324227-0.json +0 -1
- package/test/api/core/test-log-2024-04-22.log +0 -84
- package/test/api/core/test-log-2024-04-23.log +0 -23
- package/test/api/core/test-log-2024-08-13.log +0 -3
- package/test/api/map/test-log-2025-03-08.log +0 -0
|
@@ -50,7 +50,7 @@ export function serialize (rules, options = {}) {
|
|
|
50
50
|
// Apply the rules for each item
|
|
51
51
|
items.forEach(item => {
|
|
52
52
|
rules.forEach(rule => {
|
|
53
|
-
let source = _.get(item, rule.source)
|
|
53
|
+
let source = _.get(item, rule.source, rule.default)
|
|
54
54
|
if (!_.isNil(source)) {
|
|
55
55
|
if (rule.filter) source = source.filter(sift(rule.filter))
|
|
56
56
|
_.set(item, rule.target, source)
|
|
@@ -72,9 +72,9 @@ export const vDropFile = {
|
|
|
72
72
|
message = i18n.tc('errors.MAX_FILES_REACHED', el.__state.maxFiles)
|
|
73
73
|
} else {
|
|
74
74
|
for (const item of items) {
|
|
75
|
-
if (item.kind === 'file' && _.includes(el.__state.acceptedTypes, item.type)) acceptedItems.push(item)
|
|
75
|
+
if (item.kind === 'file' && (!item.type || _.includes(el.__state.acceptedTypes, item.type))) acceptedItems.push(item)
|
|
76
76
|
else rejectedItems.push(item)
|
|
77
|
-
}
|
|
77
|
+
}
|
|
78
78
|
if (_.isEmpty(acceptedItems)) {
|
|
79
79
|
color = colors.getPaletteColor('negative')
|
|
80
80
|
message = i18n.tc('directives.ALL_FILES_ARE_UNSUPPORTED', rejectedItems.length)
|
|
@@ -96,7 +96,7 @@ export const vDropFile = {
|
|
|
96
96
|
overlayBox.style.borderColor = color
|
|
97
97
|
overlayBox.style.color = 'white'
|
|
98
98
|
overlayBox.style.textShadow = '-2px -2px 0 black, 2px -2px 0 black, -2px 2px 0 black, 2px 2px 0 black'
|
|
99
|
-
overlayBox.style.padding = '20px
|
|
99
|
+
overlayBox.style.padding = '20px'
|
|
100
100
|
// show the overlay
|
|
101
101
|
dragCounter++
|
|
102
102
|
showOverlay()
|
|
@@ -115,7 +115,7 @@ export const vDropFile = {
|
|
|
115
115
|
hideOverlay()
|
|
116
116
|
if (!canDrop) return
|
|
117
117
|
const files = Array.from(e.dataTransfer.files)
|
|
118
|
-
const acceptedFiles = Reader.filter(files)
|
|
118
|
+
const acceptedFiles = Reader.filter(files)
|
|
119
119
|
if (el.__state.maxTotalSize && _.size(acceptedFiles) > 1) {
|
|
120
120
|
let totalSize = _.reduce(acceptedFiles, (size, file) => {
|
|
121
121
|
size += file.files[0].size
|
|
@@ -138,7 +138,7 @@ export const vDropFile = {
|
|
|
138
138
|
await el.__state.dropCallback(content)
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
-
|
|
141
|
+
|
|
142
142
|
el.__handlers = { onDragEnter, onDragOver, onDragLeave, onDrop }
|
|
143
143
|
el.addEventListener('dragenter', onDragEnter)
|
|
144
144
|
el.addEventListener('dragover', onDragOver)
|
|
@@ -154,7 +154,7 @@ export const vDropFile = {
|
|
|
154
154
|
acceptedTypes: _.get(binding.value, 'mimeTypes'),
|
|
155
155
|
maxFiles: _.get(binding.value, 'maxFiles'),
|
|
156
156
|
maxFileSize: _.get(binding.value, 'maxFileSize'),
|
|
157
|
-
maxTotalSize: _.get(binding.value, 'maxTotalSize'),
|
|
157
|
+
maxTotalSize: _.get(binding.value, 'maxTotalSize'),
|
|
158
158
|
fontSize: _.get(binding.value, 'fontSize', '2rem'),
|
|
159
159
|
enabled: _.get(binding.value, 'enabled', true)
|
|
160
160
|
}
|
|
@@ -220,7 +220,7 @@ export function createShape (options) {
|
|
|
220
220
|
// Render icon
|
|
221
221
|
let iconTag = ''
|
|
222
222
|
if (options.icon) {
|
|
223
|
-
if (!_.isNil(options.icon.classes) || !_.isNil(options.icon.url)) {
|
|
223
|
+
if (!_.isNil(options.icon.classes) || !_.isNil(options.icon.url) || !_.isNil(options.icon.symbol)) {
|
|
224
224
|
if (!_.isEmpty(options.icon.classes) || !_.isEmpty(options.icon.url)) {
|
|
225
225
|
let specificStyle = ''
|
|
226
226
|
if (options.icon.url) {
|
|
@@ -242,6 +242,13 @@ export function createShape (options) {
|
|
|
242
242
|
const rotation = options.icon.rotation || _.get(shape, 'icon.rotation', 0)
|
|
243
243
|
iconTag += `style="position: absolute; top: 50%; left: 50%; transform: translate(${translation[0]},${translation[1]}) rotate(${rotation}deg); opacity: ${opacity}; ${specificStyle}"`
|
|
244
244
|
iconTag += '/>'
|
|
245
|
+
} else {
|
|
246
|
+
let iconSize = options.icon.size ? getSize(options.icon.size) : size
|
|
247
|
+
const color = getHtmlColor(options.icon.color, defaultColor)
|
|
248
|
+
const opacity = options.icon.opacity || 1
|
|
249
|
+
const translation = options.icon.translation || _.get(shape, 'icon.translation', ['-50%', '-50%'])
|
|
250
|
+
const rotation = options.icon.rotation || _.get(shape, 'icon.rotation', 0)
|
|
251
|
+
iconTag = `<svg width=${iconSize.width} height=${iconSize.height} style="position: absolute; top: 50%; left: 50%; transform: translate(${translation[0]},${translation[1]}) rotate(${rotation}deg); opacity: ${opacity}" fill="${color}"><use href="${options.icon.symbol}"></svg>`
|
|
245
252
|
}
|
|
246
253
|
} else {
|
|
247
254
|
logger.warn(`[KDK] icon must contain either the 'classes' property or the 'url' property`)
|
package/package.json
CHANGED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{"level":"error","message":"error: api/account - Method: create: The provided password does not comply to the password policy"}
|
|
2
|
+
{"level":"error","message":"error: api/account - Method: create: The provided password does not comply to the password policy"}
|
|
3
|
+
{"level":"error","message":"error: api/account - Method: create: The provided password does not comply to the password policy"}
|
|
4
|
+
{"level":"error","message":"error: api/messages - Method: create: You are not allowed to access service messages"}
|
|
5
|
+
{"level":"error","message":"error: api/users - Method: create: The provided password does not comply to the password policy"}
|
|
6
|
+
{"level":"error","message":"error: api/users - Method: create: The provided password does not comply to the password policy"}
|
|
7
|
+
{"level":"error","message":"error: api/authorisations - Method: create: You are not allowed to change authorisation on resource"}
|
|
8
|
+
{"level":"error","message":"error: api/authorisations - Method: remove: You are not allowed to change authorisation on subject(s)"}
|
|
9
|
+
{"level":"info","message":"This is a log test"}
|
|
10
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
11
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
12
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
13
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
14
|
+
{"level":"error","message":"error: api/storage - Method: get: NoSuchKey"}
|
|
15
|
+
{"level":"error","message":"error: api/storage - Method: get: NoSuchKey"}
|
|
16
|
+
{"level":"error","message":"error: api/account - Method: create: The provided password does not comply to the password policy"}
|
|
17
|
+
{"level":"error","message":"error: api/account - Method: create: The provided password does not comply to the password policy"}
|
|
18
|
+
{"level":"error","message":"error: api/account - Method: create: The provided password does not comply to the password policy"}
|
|
19
|
+
{"level":"error","message":"error: api/messages - Method: create: You are not allowed to access service messages"}
|
|
20
|
+
{"level":"error","message":"error: api/users - Method: create: The provided password does not comply to the password policy"}
|
|
21
|
+
{"level":"error","message":"error: api/users - Method: create: The provided password does not comply to the password policy"}
|
|
22
|
+
{"level":"error","message":"error: api/authorisations - Method: create: You are not allowed to change authorisation on resource"}
|
|
23
|
+
{"level":"error","message":"error: api/authorisations - Method: remove: You are not allowed to change authorisation on subject(s)"}
|
|
24
|
+
{"level":"info","message":"This is a log test"}
|
|
25
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
26
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
27
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
28
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
29
|
+
{"level":"error","message":"error: api/storage - Method: get: NoSuchKey"}
|
|
30
|
+
{"level":"error","message":"error: api/storage - Method: get: NoSuchKey"}
|
|
31
|
+
{"level":"error","message":"error: api/account - Method: create: The provided password does not comply to the password policy"}
|
|
32
|
+
{"level":"error","message":"error: api/account - Method: create: The provided password does not comply to the password policy"}
|
|
33
|
+
{"level":"error","message":"error: api/account - Method: create: The provided password does not comply to the password policy"}
|
|
34
|
+
{"level":"error","message":"error: api/messages - Method: create: You are not allowed to access service messages"}
|
|
35
|
+
{"level":"error","message":"error: api/users - Method: create: The provided password does not comply to the password policy"}
|
|
36
|
+
{"level":"error","message":"error: api/users - Method: create: The provided password does not comply to the password policy"}
|
|
37
|
+
{"level":"error","message":"error: api/authorisations - Method: create: You are not allowed to change authorisation on resource"}
|
|
38
|
+
{"level":"error","message":"error: api/authorisations - Method: remove: You are not allowed to change authorisation on subject(s)"}
|
|
39
|
+
{"level":"info","message":"This is a log test"}
|
|
40
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
41
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
42
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
43
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
44
|
+
{"level":"error","message":"error: api/storage - Method: get: NoSuchKey"}
|
|
45
|
+
{"level":"error","message":"error: api/storage - Method: get: NoSuchKey"}
|
|
46
|
+
{"level":"error","message":"error: api/account - Method: create: The provided password does not comply to the password policy"}
|
|
47
|
+
{"level":"error","message":"error: api/account - Method: create: The provided password does not comply to the password policy"}
|
|
48
|
+
{"level":"error","message":"error: api/account - Method: create: The provided password does not comply to the password policy"}
|
|
49
|
+
{"level":"error","message":"error: api/messages - Method: create: You are not allowed to access service messages"}
|
|
50
|
+
{"level":"error","message":"error: api/users - Method: create: The provided password does not comply to the password policy"}
|
|
51
|
+
{"level":"error","message":"error: api/users - Method: create: The provided password does not comply to the password policy"}
|
|
52
|
+
{"level":"error","message":"error: api/authorisations - Method: create: You are not allowed to change authorisation on resource"}
|
|
53
|
+
{"level":"error","message":"error: api/authorisations - Method: remove: You are not allowed to change authorisation on subject(s)"}
|
|
54
|
+
{"level":"info","message":"This is a log test"}
|
|
55
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
56
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
57
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
58
|
+
{"level":"error","message":"error: api/service - Method: create: validation failed"}
|
|
59
|
+
{"level":"error","message":"error: api/storage - Method: get: NoSuchKey"}
|
|
60
|
+
{"level":"error","message":"error: api/storage - Method: get: NoSuchKey"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{"level":"info","message":"Logger configured"}
|
|
2
|
+
{"level":"info","message":"Initializing weacast-gfs plugin"}
|
|
3
|
+
{"level":"info","message":"Initializing gfs-world forecast"}
|
|
4
|
+
{"level":"info","message":"Checking for up-to-date forecast data on gfs-world/u-wind"}
|
|
5
|
+
{"level":"info","message":"Checking for up-to-date forecast data on gfs-world/v-wind"}
|
|
6
|
+
{"level":"error","message":"Could not update gfs-world/v-wind forecast at 2026-03-10T06:00:00Z for run 2026-03-10T00:00:00Z"}
|
|
7
|
+
{"level":"error","message":"Command failed: /home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json --data /home/robin/Taff/kalisio/kdk/test/api/map/forecast-data/gfs-world/v-wind/2026-03-10_00-00-00_2026-03-10_06-00-00.grib\n/home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json: 3: /bin/java: not found\n"}
|
|
8
|
+
{"level":"error","message":"Could not update gfs-world/u-wind forecast at 2026-03-10T06:00:00Z for run 2026-03-10T00:00:00Z"}
|
|
9
|
+
{"level":"error","message":"Command failed: /home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json --data /home/robin/Taff/kalisio/kdk/test/api/map/forecast-data/gfs-world/u-wind/2026-03-10_00-00-00_2026-03-10_06-00-00.grib\n/home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json: 3: /bin/java: not found\n"}
|
|
10
|
+
{"level":"error","message":"Could not update gfs-world/v-wind forecast at 2026-03-10T06:00:00Z for run 2026-03-09T18:00:00Z"}
|
|
11
|
+
{"level":"error","message":"Command failed: /home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json --data /home/robin/Taff/kalisio/kdk/test/api/map/forecast-data/gfs-world/v-wind/2026-03-09_18-00-00_2026-03-10_06-00-00.grib\n/home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json: 3: /bin/java: not found\n"}
|
|
12
|
+
{"level":"error","message":"Could not update gfs-world/u-wind forecast at 2026-03-10T06:00:00Z for run 2026-03-09T18:00:00Z"}
|
|
13
|
+
{"level":"error","message":"Command failed: /home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json --data /home/robin/Taff/kalisio/kdk/test/api/map/forecast-data/gfs-world/u-wind/2026-03-09_18-00-00_2026-03-10_06-00-00.grib\n/home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json: 3: /bin/java: not found\n"}
|
|
14
|
+
{"level":"error","message":"Could not update gfs-world/v-wind forecast at 2026-03-10T06:00:00Z for run 2026-03-09T12:00:00Z"}
|
|
15
|
+
{"level":"error","message":"Command failed: /home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json --data /home/robin/Taff/kalisio/kdk/test/api/map/forecast-data/gfs-world/v-wind/2026-03-09_12-00-00_2026-03-10_06-00-00.grib\n/home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json: 3: /bin/java: not found\n"}
|
|
16
|
+
{"level":"error","message":"Could not update gfs-world/u-wind forecast at 2026-03-10T06:00:00Z for run 2026-03-09T12:00:00Z"}
|
|
17
|
+
{"level":"error","message":"Command failed: /home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json --data /home/robin/Taff/kalisio/kdk/test/api/map/forecast-data/gfs-world/u-wind/2026-03-09_12-00-00_2026-03-10_06-00-00.grib\n/home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json: 3: /bin/java: not found\n"}
|
|
18
|
+
{"level":"error","message":"Could not update gfs-world/v-wind forecast at 2026-03-10T09:00:00Z for run 2026-03-10T00:00:00Z"}
|
|
19
|
+
{"level":"error","message":"Command failed: /home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json --data /home/robin/Taff/kalisio/kdk/test/api/map/forecast-data/gfs-world/v-wind/2026-03-10_00-00-00_2026-03-10_09-00-00.grib\n/home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json: 3: /bin/java: not found\n"}
|
|
20
|
+
{"level":"error","message":"Could not update gfs-world/u-wind forecast at 2026-03-10T09:00:00Z for run 2026-03-10T00:00:00Z"}
|
|
21
|
+
{"level":"error","message":"Command failed: /home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json --data /home/robin/Taff/kalisio/kdk/test/api/map/forecast-data/gfs-world/u-wind/2026-03-10_00-00-00_2026-03-10_09-00-00.grib\n/home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json: 3: /bin/java: not found\n"}
|
|
22
|
+
{"level":"error","message":"Could not update gfs-world/v-wind forecast at 2026-03-10T09:00:00Z for run 2026-03-09T18:00:00Z"}
|
|
23
|
+
{"level":"error","message":"Command failed: /home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json --data /home/robin/Taff/kalisio/kdk/test/api/map/forecast-data/gfs-world/v-wind/2026-03-09_18-00-00_2026-03-10_09-00-00.grib\n/home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json: 3: /bin/java: not found\n"}
|
|
24
|
+
{"level":"error","message":"Could not update gfs-world/v-wind forecast at 2026-03-10T09:00:00Z for run 2026-03-09T12:00:00Z"}
|
|
25
|
+
{"level":"error","message":"Command failed: /home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json --data /home/robin/Taff/kalisio/kdk/test/api/map/forecast-data/gfs-world/v-wind/2026-03-09_12-00-00_2026-03-10_09-00-00.grib\n/home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json: 3: /bin/java: not found\n"}
|
|
26
|
+
{"level":"info","message":"Completed forecast data update on gfs-world/v-wind"}
|
|
27
|
+
{"level":"error","message":"Could not update gfs-world/u-wind forecast at 2026-03-10T09:00:00Z for run 2026-03-09T18:00:00Z"}
|
|
28
|
+
{"level":"error","message":"Command failed: /home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json --data /home/robin/Taff/kalisio/kdk/test/api/map/forecast-data/gfs-world/u-wind/2026-03-09_18-00-00_2026-03-10_09-00-00.grib\n/home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json: 3: /bin/java: not found\n"}
|
|
29
|
+
{"level":"error","message":"Could not update gfs-world/u-wind forecast at 2026-03-10T09:00:00Z for run 2026-03-09T12:00:00Z"}
|
|
30
|
+
{"level":"error","message":"Command failed: /home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json --data /home/robin/Taff/kalisio/kdk/test/api/map/forecast-data/gfs-world/u-wind/2026-03-09_12-00-00_2026-03-10_09-00-00.grib\n/home/robin/Taff/kalisio/kdk/node_modules/@weacast/grib2json/bin/grib2json: 3: /bin/java: not found\n"}
|
|
31
|
+
{"level":"info","message":"Completed forecast data update on gfs-world/u-wind"}
|
|
32
|
+
{"level":"error","message":"Cannot check alert 69afde354d314fa3bd9e24a8 as no data is available for gfs-world"}
|
|
33
|
+
{"level":"error","message":"Cannot check alert 69afde354d314fa3bd9e24a8 as no data is available for gfs-world"}
|
|
34
|
+
{"level":"error","message":"Cannot check alert 69afde354d314fa3bd9e24a8 as no data is available for gfs-world"}
|
|
35
|
+
{"level":"error","message":"Cannot check alert 69afde444d314fa3bd9e24a9 as no data is available for gfs-world"}
|
|
36
|
+
{"level":"error","message":"Cannot check alert 69afde444d314fa3bd9e24a9 as no data is available for gfs-world"}
|
|
37
|
+
{"level":"error","message":"Cannot check alert 69afde444d314fa3bd9e24a9 as no data is available for gfs-world"}
|
|
38
|
+
{"level":"error","message":"Cannot check alert 69afde534d314fa3bd9e24aa as no data is available for gfs-world"}
|
|
39
|
+
{"level":"error","message":"Cannot check alert 69afde724d314fa3bd9e29ed as no data is available for features service vigicrues-observations"}
|
|
40
|
+
{"level":"error","message":"error: api/catalog - Method: create: Object with name equals to dummy already exist for service catalog"}
|
|
41
|
+
{"level":"info","message":"Logger configured"}
|
|
42
|
+
{"level":"error","message":"error: api/vigicrues-observations - Method: find: You are not allowed to use $accumulator operator"}
|
|
43
|
+
{"level":"error","message":"error: api/vigicrues-observations - Method: find: You are not allowed to use $function operator"}
|
|
44
|
+
{"level":"info","message":"Logger configured"}
|
|
45
|
+
{"level":"info","message":"Initializing weacast-gfs plugin"}
|
|
46
|
+
{"level":"info","message":"Initializing gfs-world forecast"}
|
|
47
|
+
{"level":"info","message":"Checking for up-to-date forecast data on gfs-world/u-wind"}
|
|
48
|
+
{"level":"info","message":"Checking for up-to-date forecast data on gfs-world/v-wind"}
|
|
49
|
+
{"level":"info","message":"Completed forecast data update on gfs-world/v-wind"}
|
|
50
|
+
{"level":"info","message":"Completed forecast data update on gfs-world/u-wind"}
|
|
51
|
+
{"level":"error","message":"Cannot check alert 69afe195ae25fbb35c793f22 as no data is available for gfs-world"}
|
|
52
|
+
{"level":"error","message":"Cannot check alert 69afe1b3ae25fbb35c794465 as no data is available for features service vigicrues-observations"}
|
|
53
|
+
{"level":"error","message":"error: api/catalog - Method: create: Object with name equals to dummy already exist for service catalog"}
|
|
54
|
+
{"level":"info","message":"Logger configured"}
|
|
55
|
+
{"level":"error","message":"error: api/vigicrues-observations - Method: find: You are not allowed to use $accumulator operator"}
|
|
56
|
+
{"level":"error","message":"error: api/vigicrues-observations - Method: find: You are not allowed to use $function operator"}
|
package/.vscode/settings.json
DELETED
package/coverage/base.css
DELETED
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
body, html {
|
|
2
|
-
margin:0; padding: 0;
|
|
3
|
-
height: 100%;
|
|
4
|
-
}
|
|
5
|
-
body {
|
|
6
|
-
font-family: Helvetica Neue, Helvetica, Arial;
|
|
7
|
-
font-size: 14px;
|
|
8
|
-
color:#333;
|
|
9
|
-
}
|
|
10
|
-
.small { font-size: 12px; }
|
|
11
|
-
*, *:after, *:before {
|
|
12
|
-
-webkit-box-sizing:border-box;
|
|
13
|
-
-moz-box-sizing:border-box;
|
|
14
|
-
box-sizing:border-box;
|
|
15
|
-
}
|
|
16
|
-
h1 { font-size: 20px; margin: 0;}
|
|
17
|
-
h2 { font-size: 14px; }
|
|
18
|
-
pre {
|
|
19
|
-
font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
|
20
|
-
margin: 0;
|
|
21
|
-
padding: 0;
|
|
22
|
-
-moz-tab-size: 2;
|
|
23
|
-
-o-tab-size: 2;
|
|
24
|
-
tab-size: 2;
|
|
25
|
-
}
|
|
26
|
-
a { color:#0074D9; text-decoration:none; }
|
|
27
|
-
a:hover { text-decoration:underline; }
|
|
28
|
-
.strong { font-weight: bold; }
|
|
29
|
-
.space-top1 { padding: 10px 0 0 0; }
|
|
30
|
-
.pad2y { padding: 20px 0; }
|
|
31
|
-
.pad1y { padding: 10px 0; }
|
|
32
|
-
.pad2x { padding: 0 20px; }
|
|
33
|
-
.pad2 { padding: 20px; }
|
|
34
|
-
.pad1 { padding: 10px; }
|
|
35
|
-
.space-left2 { padding-left:55px; }
|
|
36
|
-
.space-right2 { padding-right:20px; }
|
|
37
|
-
.center { text-align:center; }
|
|
38
|
-
.clearfix { display:block; }
|
|
39
|
-
.clearfix:after {
|
|
40
|
-
content:'';
|
|
41
|
-
display:block;
|
|
42
|
-
height:0;
|
|
43
|
-
clear:both;
|
|
44
|
-
visibility:hidden;
|
|
45
|
-
}
|
|
46
|
-
.fl { float: left; }
|
|
47
|
-
@media only screen and (max-width:640px) {
|
|
48
|
-
.col3 { width:100%; max-width:100%; }
|
|
49
|
-
.hide-mobile { display:none!important; }
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.quiet {
|
|
53
|
-
color: #7f7f7f;
|
|
54
|
-
color: rgba(0,0,0,0.5);
|
|
55
|
-
}
|
|
56
|
-
.quiet a { opacity: 0.7; }
|
|
57
|
-
|
|
58
|
-
.fraction {
|
|
59
|
-
font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
|
|
60
|
-
font-size: 10px;
|
|
61
|
-
color: #555;
|
|
62
|
-
background: #E8E8E8;
|
|
63
|
-
padding: 4px 5px;
|
|
64
|
-
border-radius: 3px;
|
|
65
|
-
vertical-align: middle;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
div.path a:link, div.path a:visited { color: #333; }
|
|
69
|
-
table.coverage {
|
|
70
|
-
border-collapse: collapse;
|
|
71
|
-
margin: 10px 0 0 0;
|
|
72
|
-
padding: 0;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
table.coverage td {
|
|
76
|
-
margin: 0;
|
|
77
|
-
padding: 0;
|
|
78
|
-
vertical-align: top;
|
|
79
|
-
}
|
|
80
|
-
table.coverage td.line-count {
|
|
81
|
-
text-align: right;
|
|
82
|
-
padding: 0 5px 0 20px;
|
|
83
|
-
}
|
|
84
|
-
table.coverage td.line-coverage {
|
|
85
|
-
text-align: right;
|
|
86
|
-
padding-right: 10px;
|
|
87
|
-
min-width:20px;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
table.coverage td span.cline-any {
|
|
91
|
-
display: inline-block;
|
|
92
|
-
padding: 0 5px;
|
|
93
|
-
width: 100%;
|
|
94
|
-
}
|
|
95
|
-
.missing-if-branch {
|
|
96
|
-
display: inline-block;
|
|
97
|
-
margin-right: 5px;
|
|
98
|
-
border-radius: 3px;
|
|
99
|
-
position: relative;
|
|
100
|
-
padding: 0 4px;
|
|
101
|
-
background: #333;
|
|
102
|
-
color: yellow;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.skip-if-branch {
|
|
106
|
-
display: none;
|
|
107
|
-
margin-right: 10px;
|
|
108
|
-
position: relative;
|
|
109
|
-
padding: 0 4px;
|
|
110
|
-
background: #ccc;
|
|
111
|
-
color: white;
|
|
112
|
-
}
|
|
113
|
-
.missing-if-branch .typ, .skip-if-branch .typ {
|
|
114
|
-
color: inherit !important;
|
|
115
|
-
}
|
|
116
|
-
.coverage-summary {
|
|
117
|
-
border-collapse: collapse;
|
|
118
|
-
width: 100%;
|
|
119
|
-
}
|
|
120
|
-
.coverage-summary tr { border-bottom: 1px solid #bbb; }
|
|
121
|
-
.keyline-all { border: 1px solid #ddd; }
|
|
122
|
-
.coverage-summary td, .coverage-summary th { padding: 10px; }
|
|
123
|
-
.coverage-summary tbody { border: 1px solid #bbb; }
|
|
124
|
-
.coverage-summary td { border-right: 1px solid #bbb; }
|
|
125
|
-
.coverage-summary td:last-child { border-right: none; }
|
|
126
|
-
.coverage-summary th {
|
|
127
|
-
text-align: left;
|
|
128
|
-
font-weight: normal;
|
|
129
|
-
white-space: nowrap;
|
|
130
|
-
}
|
|
131
|
-
.coverage-summary th.file { border-right: none !important; }
|
|
132
|
-
.coverage-summary th.pct { }
|
|
133
|
-
.coverage-summary th.pic,
|
|
134
|
-
.coverage-summary th.abs,
|
|
135
|
-
.coverage-summary td.pct,
|
|
136
|
-
.coverage-summary td.abs { text-align: right; }
|
|
137
|
-
.coverage-summary td.file { white-space: nowrap; }
|
|
138
|
-
.coverage-summary td.pic { min-width: 120px !important; }
|
|
139
|
-
.coverage-summary tfoot td { }
|
|
140
|
-
|
|
141
|
-
.coverage-summary .sorter {
|
|
142
|
-
height: 10px;
|
|
143
|
-
width: 7px;
|
|
144
|
-
display: inline-block;
|
|
145
|
-
margin-left: 0.5em;
|
|
146
|
-
background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
|
|
147
|
-
}
|
|
148
|
-
.coverage-summary .sorted .sorter {
|
|
149
|
-
background-position: 0 -20px;
|
|
150
|
-
}
|
|
151
|
-
.coverage-summary .sorted-desc .sorter {
|
|
152
|
-
background-position: 0 -10px;
|
|
153
|
-
}
|
|
154
|
-
.status-line { height: 10px; }
|
|
155
|
-
/* yellow */
|
|
156
|
-
.cbranch-no { background: yellow !important; color: #111; }
|
|
157
|
-
/* dark red */
|
|
158
|
-
.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
|
|
159
|
-
.low .chart { border:1px solid #C21F39 }
|
|
160
|
-
.highlighted,
|
|
161
|
-
.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
|
|
162
|
-
background: #C21F39 !important;
|
|
163
|
-
}
|
|
164
|
-
/* medium red */
|
|
165
|
-
.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
|
|
166
|
-
/* light red */
|
|
167
|
-
.low, .cline-no { background:#FCE1E5 }
|
|
168
|
-
/* light green */
|
|
169
|
-
.high, .cline-yes { background:rgb(230,245,208) }
|
|
170
|
-
/* medium green */
|
|
171
|
-
.cstat-yes { background:rgb(161,215,106) }
|
|
172
|
-
/* dark green */
|
|
173
|
-
.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
|
|
174
|
-
.high .chart { border:1px solid rgb(77,146,33) }
|
|
175
|
-
/* dark yellow (gold) */
|
|
176
|
-
.status-line.medium, .medium .cover-fill { background: #f9cd0b; }
|
|
177
|
-
.medium .chart { border:1px solid #f9cd0b; }
|
|
178
|
-
/* light yellow */
|
|
179
|
-
.medium { background: #fff4c2; }
|
|
180
|
-
|
|
181
|
-
.cstat-skip { background: #ddd; color: #111; }
|
|
182
|
-
.fstat-skip { background: #ddd; color: #111 !important; }
|
|
183
|
-
.cbranch-skip { background: #ddd !important; color: #111; }
|
|
184
|
-
|
|
185
|
-
span.cline-neutral { background: #eaeaea; }
|
|
186
|
-
|
|
187
|
-
.coverage-summary td.empty {
|
|
188
|
-
opacity: .5;
|
|
189
|
-
padding-top: 4px;
|
|
190
|
-
padding-bottom: 4px;
|
|
191
|
-
line-height: 1;
|
|
192
|
-
color: #888;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
.cover-fill, .cover-empty {
|
|
196
|
-
display:inline-block;
|
|
197
|
-
height: 12px;
|
|
198
|
-
}
|
|
199
|
-
.chart {
|
|
200
|
-
line-height: 0;
|
|
201
|
-
}
|
|
202
|
-
.cover-empty {
|
|
203
|
-
background: white;
|
|
204
|
-
}
|
|
205
|
-
.cover-full {
|
|
206
|
-
border-right: none !important;
|
|
207
|
-
}
|
|
208
|
-
pre.prettyprint {
|
|
209
|
-
border: none !important;
|
|
210
|
-
padding: 0 !important;
|
|
211
|
-
margin: 0 !important;
|
|
212
|
-
}
|
|
213
|
-
.com { color: #999 !important; }
|
|
214
|
-
.ignore-none { color: #999; font-weight: normal; }
|
|
215
|
-
|
|
216
|
-
.wrapper {
|
|
217
|
-
min-height: 100%;
|
|
218
|
-
height: auto !important;
|
|
219
|
-
height: 100%;
|
|
220
|
-
margin: 0 auto -48px;
|
|
221
|
-
}
|
|
222
|
-
.footer, .push {
|
|
223
|
-
height: 48px;
|
|
224
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
var jumpToCode = (function init() {
|
|
3
|
-
// Classes of code we would like to highlight in the file view
|
|
4
|
-
var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
|
|
5
|
-
|
|
6
|
-
// Elements to highlight in the file listing view
|
|
7
|
-
var fileListingElements = ['td.pct.low'];
|
|
8
|
-
|
|
9
|
-
// We don't want to select elements that are direct descendants of another match
|
|
10
|
-
var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
|
|
11
|
-
|
|
12
|
-
// Selecter that finds elements on the page to which we can jump
|
|
13
|
-
var selector =
|
|
14
|
-
fileListingElements.join(', ') +
|
|
15
|
-
', ' +
|
|
16
|
-
notSelector +
|
|
17
|
-
missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
|
|
18
|
-
|
|
19
|
-
// The NodeList of matching elements
|
|
20
|
-
var missingCoverageElements = document.querySelectorAll(selector);
|
|
21
|
-
|
|
22
|
-
var currentIndex;
|
|
23
|
-
|
|
24
|
-
function toggleClass(index) {
|
|
25
|
-
missingCoverageElements
|
|
26
|
-
.item(currentIndex)
|
|
27
|
-
.classList.remove('highlighted');
|
|
28
|
-
missingCoverageElements.item(index).classList.add('highlighted');
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function makeCurrent(index) {
|
|
32
|
-
toggleClass(index);
|
|
33
|
-
currentIndex = index;
|
|
34
|
-
missingCoverageElements.item(index).scrollIntoView({
|
|
35
|
-
behavior: 'smooth',
|
|
36
|
-
block: 'center',
|
|
37
|
-
inline: 'center'
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function goToPrevious() {
|
|
42
|
-
var nextIndex = 0;
|
|
43
|
-
if (typeof currentIndex !== 'number' || currentIndex === 0) {
|
|
44
|
-
nextIndex = missingCoverageElements.length - 1;
|
|
45
|
-
} else if (missingCoverageElements.length > 1) {
|
|
46
|
-
nextIndex = currentIndex - 1;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
makeCurrent(nextIndex);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function goToNext() {
|
|
53
|
-
var nextIndex = 0;
|
|
54
|
-
|
|
55
|
-
if (
|
|
56
|
-
typeof currentIndex === 'number' &&
|
|
57
|
-
currentIndex < missingCoverageElements.length - 1
|
|
58
|
-
) {
|
|
59
|
-
nextIndex = currentIndex + 1;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
makeCurrent(nextIndex);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return function jump(event) {
|
|
66
|
-
if (
|
|
67
|
-
document.getElementById('fileSearch') === document.activeElement &&
|
|
68
|
-
document.activeElement != null
|
|
69
|
-
) {
|
|
70
|
-
// if we're currently focused on the search input, we don't want to navigate
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
switch (event.which) {
|
|
75
|
-
case 78: // n
|
|
76
|
-
case 74: // j
|
|
77
|
-
goToNext();
|
|
78
|
-
break;
|
|
79
|
-
case 66: // b
|
|
80
|
-
case 75: // k
|
|
81
|
-
case 80: // p
|
|
82
|
-
goToPrevious();
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
})();
|
|
87
|
-
window.addEventListener('keydown', jumpToCode);
|