Rift.IO OSM R1 Initial Submission
[osm/UI.git] / skyquake / plugins / composer / src / src / libraries / model / IconFactory.js
1 class IconFactory {
2
3 static getIconForType(type) {
4 const icon = IconFactory.types[type];
5 if (icon) {
6 return icon;
7 }
8 return IconFactory.types.common;
9 }
10
11 static getUrlForType(type, isBlack) {
12 const file = (IconFactory.types[type] || {file: 'default-icon-white.svg'}).file;
13 if (isBlack) {
14 return 'images/' + file.replace(/-white\.svg$/, '.svg');
15 }
16 return 'images/' + file;
17 }
18
19 static get types() {
20 return {
21 vdu: {
22 width: 350,
23 translate: '0, 8',
24 file: 'default-icon-white.svg',
25 d: `M188.8 0L0 103 0 311.2 188.8 412 377.7 311.2 377.7 104.1 188.8 0 188.8 0ZM324.6 114.1L188.9 186.5 53.8 112.8 188.8 39.2 324.6 114.1 324.6 114.1ZM34.3 141.3L171.7 216.2 171.7 363.9 34.3 290.7 34.3 141.3 34.3 141.3ZM206 363.9L206 216.3 343.3 143 343.3 290.7 206 363.9 206 363.9ZM274.1 243.9C268.4 244 263.9 248.7 264 254.4 264.1 260.1 268.8 264.6 274.5 264.5 280.2 264.4 284.7 259.7 284.6 254 284.5 248.3 279.8 243.8 274.1 243.9L274.1 243.9ZM93.1 255C93 260.7 97.5 265.4 103.2 265.5 108.9 265.6 113.5 261.1 113.6 255.4 113.8 249.7 109.3 245 103.6 244.9 97.9 244.8 93.2 249.3 93.1 255L93.1 255ZM188.8 98.3C183.2 98.3 178.5 102.9 178.5 108.6 178.5 114.3 183.2 118.9 188.8 118.9 194.5 118.9 199.1 114.3 199.1 108.6 199.1 102.9 194.5 98.3 188.8 98.3L188.8 98.3Z`},
26 vnfd: {
27 width: 350,
28 file: 'default-icon-white.svg',
29 d: `M241.72,51.26c-92.14,0-166.83,75.48-166.83,168.59s74.69,168.59,166.83,168.59S408.55,313,408.55,219.85,333.86,51.26,241.72,51.26Z`},
30 vnffgd: {
31 width: 350,
32 file: 'default-icon-white.svg',
33 d: `M188.8 0L0 103 0 311.2 188.8 412 377.7 311.2 377.7 104.1 188.8 0 188.8 0ZM324.6 114.1L188.9 186.5 53.8 112.8 188.8 39.2 324.6 114.1 324.6 114.1ZM34.3 141.3L171.7 216.2 171.7 363.9 34.3 290.7 34.3 141.3 34.3 141.3ZM206 363.9L206 216.3 343.3 143 343.3 290.7 206 363.9 206 363.9ZM274.1 243.9C268.4 244 263.9 248.7 264 254.4 264.1 260.1 268.8 264.6 274.5 264.5 280.2 264.4 284.7 259.7 284.6 254 284.5 248.3 279.8 243.8 274.1 243.9L274.1 243.9ZM93.1 255C93 260.7 97.5 265.4 103.2 265.5 108.9 265.6 113.5 261.1 113.6 255.4 113.8 249.7 109.3 245 103.6 244.9 97.9 244.8 93.2 249.3 93.1 255L93.1 255ZM188.8 98.3C183.2 98.3 178.5 102.9 178.5 108.6 178.5 114.3 183.2 118.9 188.8 118.9 194.5 118.9 199.1 114.3 199.1 108.6 199.1 102.9 194.5 98.3 188.8 98.3L188.8 98.3Z`},
34 'constituent-vnfd': {
35 width: 350,
36 file: 'default-icon-white.svg',
37 d: `M241.72,51.26c-92.14,0-166.83,75.48-166.83,168.59s74.69,168.59,166.83,168.59S408.55,313,408.55,219.85,333.86,51.26,241.72,51.26Z`},
38 nsd: {
39 width: 350,
40 file: 'default-icon.svg',
41 d: `M325.55,87.34c0,34.54-27.71,62.55-61.89,62.55s-61.89-28-61.89-62.55S229.48,24.8,263.66,24.8,325.55,52.8,325.55,87.34Zm-220.1,96.09c-34.18,0-61.89,28-61.89,62.55s27.71,62.55,61.89,62.55,61.89-28,61.89-62.55S139.63,183.43,105.45,183.43ZM259,235.18c-34.18,0-61.89,28-61.89,62.55s27.71,62.55,61.89,62.55,61.89-28,61.89-62.55S293.23,235.18,259,235.18Zm153.6-51.74c-34.18,0-61.89,28-61.89,62.55s27.71,62.55,61.89,62.55,61.89-28,61.89-62.55S446.83,183.43,412.64,183.43ZM213,127.14l-66,80.5m116.59-57.75v85.29m42.76-104.42,64,64.68`},
42 // d: `M188.8 0L0 103 0 311.2 188.8 412 377.7 311.2 377.7 104.1 188.8 0 188.8 0ZM324.6 114.1L188.9 186.5 53.8 112.8 188.8 39.2 324.6 114.1 324.6 114.1ZM34.3 141.3L171.7 216.2 171.7 363.9 34.3 290.7 34.3 141.3 34.3 141.3ZM206 363.9L206 216.3 343.3 143 343.3 290.7 206 363.9 206 363.9ZM274.1 243.9C268.4 244 263.9 248.7 264 254.4 264.1 260.1 268.8 264.6 274.5 264.5 280.2 264.4 284.7 259.7 284.6 254 284.5 248.3 279.8 243.8 274.1 243.9L274.1 243.9ZM93.1 255C93 260.7 97.5 265.4 103.2 265.5 108.9 265.6 113.5 261.1 113.6 255.4 113.8 249.7 109.3 245 103.6 244.9 97.9 244.8 93.2 249.3 93.1 255L93.1 255ZM188.8 98.3C183.2 98.3 178.5 102.9 178.5 108.6 178.5 114.3 183.2 118.9 188.8 118.9 194.5 118.9 199.1 114.3 199.1 108.6 199.1 102.9 194.5 98.3 188.8 98.3L188.8 98.3Z`},
43 vld: {
44 width: 350,
45 file: 'default-icon-white.svg',
46 d: `M188.8 0L0 103 0 311.2 188.8 412 377.7 311.2 377.7 104.1 188.8 0 188.8 0ZM324.6 114.1L188.9 186.5 53.8 112.8 188.8 39.2 324.6 114.1 324.6 114.1ZM34.3 141.3L171.7 216.2 171.7 363.9 34.3 290.7 34.3 141.3 34.3 141.3ZM206 363.9L206 216.3 343.3 143 343.3 290.7 206 363.9 206 363.9ZM274.1 243.9C268.4 244 263.9 248.7 264 254.4 264.1 260.1 268.8 264.6 274.5 264.5 280.2 264.4 284.7 259.7 284.6 254 284.5 248.3 279.8 243.8 274.1 243.9L274.1 243.9ZM93.1 255C93 260.7 97.5 265.4 103.2 265.5 108.9 265.6 113.5 261.1 113.6 255.4 113.8 249.7 109.3 245 103.6 244.9 97.9 244.8 93.2 249.3 93.1 255L93.1 255ZM188.8 98.3C183.2 98.3 178.5 102.9 178.5 108.6 178.5 114.3 183.2 118.9 188.8 118.9 194.5 118.9 199.1 114.3 199.1 108.6 199.1 102.9 194.5 98.3 188.8 98.3L188.8 98.3Z`},
47 'internal-vld': {
48 width: 350,
49 file: 'default-icon-white.svg',
50 d: `M188.8 0L0 103 0 311.2 188.8 412 377.7 311.2 377.7 104.1 188.8 0 188.8 0ZM324.6 114.1L188.9 186.5 53.8 112.8 188.8 39.2 324.6 114.1 324.6 114.1ZM34.3 141.3L171.7 216.2 171.7 363.9 34.3 290.7 34.3 141.3 34.3 141.3ZM206 363.9L206 216.3 343.3 143 343.3 290.7 206 363.9 206 363.9ZM274.1 243.9C268.4 244 263.9 248.7 264 254.4 264.1 260.1 268.8 264.6 274.5 264.5 280.2 264.4 284.7 259.7 284.6 254 284.5 248.3 279.8 243.8 274.1 243.9L274.1 243.9ZM93.1 255C93 260.7 97.5 265.4 103.2 265.5 108.9 265.6 113.5 261.1 113.6 255.4 113.8 249.7 109.3 245 103.6 244.9 97.9 244.8 93.2 249.3 93.1 255L93.1 255ZM188.8 98.3C183.2 98.3 178.5 102.9 178.5 108.6 178.5 114.3 183.2 118.9 188.8 118.9 194.5 118.9 199.1 114.3 199.1 108.6 199.1 102.9 194.5 98.3 188.8 98.3L188.8 98.3Z`},
51 catalog: ``,
52 common: ``
53 }
54 }
55
56 }
57
58 export default IconFactory;