remove existing radar and decouple everything
This commit is contained in:
40
bin/src/config.js
Normal file
40
bin/src/config.js
Normal file
@@ -0,0 +1,40 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.isMobileViewport = exports.translate = exports.getItemPageNames = exports.assetUrl = exports.rings = exports.quadrants = exports.radarNameShort = exports.radarName = void 0;
|
||||
exports.radarName = 'AOE Technology Radar';
|
||||
exports.radarNameShort = 'Technology Radar';
|
||||
exports.quadrants = [
|
||||
'languages-and-frameworks',
|
||||
'methods-and-patterns',
|
||||
'platforms-and-aoe-services',
|
||||
'tools',
|
||||
];
|
||||
exports.rings = [
|
||||
'all',
|
||||
'adopt',
|
||||
'trial',
|
||||
'assess',
|
||||
'hold'
|
||||
];
|
||||
// todo: fix
|
||||
function assetUrl(file) {
|
||||
return '/' + file;
|
||||
// return `/techradar/assets/${file}`
|
||||
}
|
||||
exports.assetUrl = assetUrl;
|
||||
exports.getItemPageNames = (items) => items.map(item => `${item.quadrant}/${item.name}`);
|
||||
const messages = {
|
||||
'languages-and-frameworks': 'Languages & Frameworks',
|
||||
'methods-and-patterns': 'Methods & Patterns',
|
||||
'platforms-and-aoe-services': 'Platforms and Operations',
|
||||
'tools': 'Tools',
|
||||
};
|
||||
exports.translate = (key) => (messages[key] || '-');
|
||||
function isMobileViewport() {
|
||||
// return false for server side rendering
|
||||
if (typeof window == 'undefined')
|
||||
return false;
|
||||
const width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
|
||||
return width < 1200;
|
||||
}
|
||||
exports.isMobileViewport = isMobileViewport;
|
||||
18
bin/src/model.js
Normal file
18
bin/src/model.js
Normal file
@@ -0,0 +1,18 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getFirstLetter = exports.groupByFirstLetter = exports.groupByQuadrants = exports.featuredOnly = void 0;
|
||||
exports.featuredOnly = (items) => items.filter(item => item.featured);
|
||||
exports.groupByQuadrants = (items) => items.reduce((quadrants, item) => (Object.assign(Object.assign({}, quadrants), { [item.quadrant]: addItemToQuadrant(quadrants[item.quadrant], item) })), {});
|
||||
exports.groupByFirstLetter = (items) => {
|
||||
const index = items.reduce((letterIndex, item) => (Object.assign(Object.assign({}, letterIndex), { [exports.getFirstLetter(item)]: addItemToList(letterIndex[exports.getFirstLetter(item)], item) })), {});
|
||||
return Object.keys(index)
|
||||
.sort()
|
||||
.map(letter => ({
|
||||
letter,
|
||||
items: index[letter],
|
||||
}));
|
||||
};
|
||||
const addItemToQuadrant = (quadrant = {}, item) => (Object.assign(Object.assign({}, quadrant), { [item.ring]: addItemToRing(quadrant[item.ring], item) }));
|
||||
const addItemToList = (list = [], item) => [...list, item];
|
||||
const addItemToRing = (ring = [], item) => [...ring, item];
|
||||
exports.getFirstLetter = (item) => item.title.substr(0, 1).toUpperCase();
|
||||
Reference in New Issue
Block a user