@eeacms/volto-n2k 1.0.27 → 1.0.29
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/CHANGELOG.md +9 -2
- package/package.json +1 -1
- package/src/components/manage/Blocks/CarouselHorizontal/schema.js +0 -1
- package/src/components/manage/Blocks/ConnectedLinkList/schema.js +0 -2
- package/src/components/manage/Blocks/ContactBlock/View.jsx +1 -1
- package/src/components/manage/Blocks/ContactBlock/schema.js +0 -2
- package/src/components/manage/Blocks/ContactBlock/styles.less +1 -1
- package/src/components/manage/Blocks/ExplodedPiesChart/schema.js +0 -3
- package/src/components/manage/Blocks/ImageText/schema.js +0 -1
- package/src/components/manage/Blocks/LabeledList/View.jsx +35 -0
- package/src/components/manage/Blocks/LabeledList/index.js +17 -0
- package/src/components/manage/Blocks/LabeledList/schema.js +56 -0
- package/src/components/manage/Blocks/LabeledList/style.less +43 -0
- package/src/components/manage/Blocks/List/View.jsx +44 -20
- package/src/components/manage/Blocks/List/schema.js +15 -8
- package/src/components/manage/Blocks/List/style.less +63 -6
- package/src/components/manage/Blocks/SimpleDataTable/templates/colored/schema.js +1 -1
- package/src/components/manage/Blocks/StatusList/View.jsx +67 -0
- package/src/components/manage/Blocks/StatusList/index.js +17 -0
- package/src/components/manage/Blocks/StatusList/schema.js +31 -0
- package/src/components/manage/Blocks/StatusList/style.less +62 -0
- package/src/components/manage/Blocks/TilesImages/schema.js +0 -1
- package/src/index.js +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,11 +4,18 @@ All notable changes to this project will be documented in this file. Dates are d
|
|
|
4
4
|
|
|
5
5
|
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
6
|
|
|
7
|
-
### [1.0.
|
|
7
|
+
### [1.0.29](https://github.com/eea/volto-n2k/compare/1.0.28...1.0.29) - 8 June 2023
|
|
8
|
+
|
|
9
|
+
#### :hammer_and_wrench: Others
|
|
10
|
+
|
|
11
|
+
- update [Miu Razvan - [`6f45f05`](https://github.com/eea/volto-n2k/commit/6f45f051ad9b8b19ddbe67d6c730bd5850974bd1)]
|
|
12
|
+
### [1.0.28](https://github.com/eea/volto-n2k/compare/1.0.27...1.0.28) - 7 June 2023
|
|
8
13
|
|
|
9
14
|
#### :hammer_and_wrench: Others
|
|
10
15
|
|
|
11
|
-
- fix
|
|
16
|
+
- prettier fix [Miu Razvan - [`3bf6510`](https://github.com/eea/volto-n2k/commit/3bf651046ff9f7cfb7e26fe97a2ac61f4ce00a48)]
|
|
17
|
+
### [1.0.27](https://github.com/eea/volto-n2k/compare/1.0.26...1.0.27) - 6 June 2023
|
|
18
|
+
|
|
12
19
|
### [1.0.26](https://github.com/eea/volto-n2k/compare/1.0.25...1.0.26) - 29 May 2023
|
|
13
20
|
|
|
14
21
|
### [1.0.25](https://github.com/eea/volto-n2k/compare/1.0.24...1.0.25) - 26 April 2023
|
package/package.json
CHANGED
|
@@ -14,7 +14,6 @@ const getContactFields = (props) => {
|
|
|
14
14
|
properties: {
|
|
15
15
|
icon: {
|
|
16
16
|
title: 'Icon',
|
|
17
|
-
type: 'array',
|
|
18
17
|
choices: [
|
|
19
18
|
['domain', 'Domain'],
|
|
20
19
|
['location', 'Location'],
|
|
@@ -23,7 +22,6 @@ const getContactFields = (props) => {
|
|
|
23
22
|
},
|
|
24
23
|
dataEntity: {
|
|
25
24
|
title: 'Data entity',
|
|
26
|
-
type: 'array',
|
|
27
25
|
choices,
|
|
28
26
|
},
|
|
29
27
|
},
|
|
@@ -17,7 +17,6 @@ const xColorSchema = (props) => {
|
|
|
17
17
|
properties: {
|
|
18
18
|
label: {
|
|
19
19
|
title: 'Label',
|
|
20
|
-
type: 'array',
|
|
21
20
|
choices,
|
|
22
21
|
},
|
|
23
22
|
color: {
|
|
@@ -48,12 +47,10 @@ const getSchema = (props) => {
|
|
|
48
47
|
properties: {
|
|
49
48
|
x: {
|
|
50
49
|
title: 'Value',
|
|
51
|
-
type: 'array',
|
|
52
50
|
choices,
|
|
53
51
|
},
|
|
54
52
|
y: {
|
|
55
53
|
title: 'Label',
|
|
56
|
-
type: 'array',
|
|
57
54
|
choices,
|
|
58
55
|
},
|
|
59
56
|
x_colors: {
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import './style.less';
|
|
4
|
+
|
|
5
|
+
const View = (props) => {
|
|
6
|
+
const { data = {} } = props;
|
|
7
|
+
const provider_data = props.provider_data || {};
|
|
8
|
+
const columns = provider_data[Object.keys(provider_data)?.[0]]?.length || 0;
|
|
9
|
+
|
|
10
|
+
return (
|
|
11
|
+
<div className="connected-labeled-list">
|
|
12
|
+
{props.mode === 'edit' ? <p>Connected labeled list</p> : ''}
|
|
13
|
+
{!!columns && (
|
|
14
|
+
<ul className={data.theme || 'default'}>
|
|
15
|
+
{Array(Math.max(0, columns))
|
|
16
|
+
.fill()
|
|
17
|
+
.map((_, column) => {
|
|
18
|
+
return (
|
|
19
|
+
<li key={`connected-list-${column}`}>
|
|
20
|
+
<span>
|
|
21
|
+
{(data.values || [])
|
|
22
|
+
.map((value) => provider_data[value.field]?.[column])
|
|
23
|
+
.join(data.separator || '')}
|
|
24
|
+
</span>
|
|
25
|
+
</li>
|
|
26
|
+
);
|
|
27
|
+
})}
|
|
28
|
+
</ul>
|
|
29
|
+
)}
|
|
30
|
+
{!columns && <p className="no-results">-</p>}
|
|
31
|
+
</div>
|
|
32
|
+
);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export default View;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import LabeledListView from './View';
|
|
2
|
+
import getSchema from './schema';
|
|
3
|
+
|
|
4
|
+
export default (config) => {
|
|
5
|
+
config.blocks.blocksConfig.custom_connected_block = {
|
|
6
|
+
...config.blocks.blocksConfig.custom_connected_block,
|
|
7
|
+
blocks: {
|
|
8
|
+
...config.blocks.blocksConfig.custom_connected_block.blocks,
|
|
9
|
+
labeled_list: {
|
|
10
|
+
view: LabeledListView,
|
|
11
|
+
getSchema: getSchema,
|
|
12
|
+
title: 'Labeled list',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
return config;
|
|
17
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import config from '@plone/volto/registry';
|
|
2
|
+
|
|
3
|
+
const getSchema = (props) => {
|
|
4
|
+
const data = props.provider_data || {};
|
|
5
|
+
const choices = Object.keys(data).map((key) => [key, key]);
|
|
6
|
+
|
|
7
|
+
const valueSchema = {
|
|
8
|
+
title: 'Value',
|
|
9
|
+
fieldsets: [{ id: 'default', title: 'Default', fields: ['field'] }],
|
|
10
|
+
properties: {
|
|
11
|
+
field: {
|
|
12
|
+
title: 'Field',
|
|
13
|
+
choices,
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
return {
|
|
19
|
+
title: 'Labeled list',
|
|
20
|
+
|
|
21
|
+
fieldsets: [
|
|
22
|
+
{
|
|
23
|
+
id: 'default',
|
|
24
|
+
title: 'Default',
|
|
25
|
+
fields: ['theme', 'values', 'separator'],
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
|
|
29
|
+
properties: {
|
|
30
|
+
values: {
|
|
31
|
+
title: 'Values',
|
|
32
|
+
widget: 'object_list',
|
|
33
|
+
schema: valueSchema,
|
|
34
|
+
},
|
|
35
|
+
separator: {
|
|
36
|
+
title: 'Separator',
|
|
37
|
+
},
|
|
38
|
+
theme: {
|
|
39
|
+
title: 'Theme',
|
|
40
|
+
widget: 'theme_picker',
|
|
41
|
+
colors: [
|
|
42
|
+
...(config.settings && config.settings.themeColors
|
|
43
|
+
? config.settings.themeColors.map(({ value, title }) => ({
|
|
44
|
+
name: value,
|
|
45
|
+
label: title,
|
|
46
|
+
}))
|
|
47
|
+
: []),
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
required: [],
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export default getSchema;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
@import (multiple, reference, optional) '../../theme.config';
|
|
2
|
+
|
|
3
|
+
@type: extra;
|
|
4
|
+
@element: custom;
|
|
5
|
+
|
|
6
|
+
.connected-labeled-list {
|
|
7
|
+
margin-bottom: 1rem;
|
|
8
|
+
|
|
9
|
+
ul {
|
|
10
|
+
padding-left: 0;
|
|
11
|
+
margin-left: -0.5rem;
|
|
12
|
+
list-style-type: none;
|
|
13
|
+
|
|
14
|
+
li {
|
|
15
|
+
display: inline-flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
padding: 0.25rem 0.5rem;
|
|
18
|
+
margin: 0.5rem;
|
|
19
|
+
border-radius: 6px;
|
|
20
|
+
font-size: 0.9rem;
|
|
21
|
+
font-weight: bold;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&.default li {
|
|
25
|
+
background-color: @grey-2;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&.primary li {
|
|
29
|
+
background-color: @primaryColor;
|
|
30
|
+
color: #fff;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&.secondary li {
|
|
34
|
+
background-color: @secondaryColor;
|
|
35
|
+
color: #fff;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&.tertiary li {
|
|
39
|
+
background-color: @tertiaryColor;
|
|
40
|
+
color: #fff;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -1,35 +1,59 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Icon } from '@plone/volto/components';
|
|
3
|
+
|
|
4
|
+
import arrowSVG from '@plone/volto/icons/up-key.svg';
|
|
5
|
+
|
|
3
6
|
import './style.less';
|
|
4
7
|
|
|
5
8
|
const View = (props) => {
|
|
6
9
|
const { data = {} } = props;
|
|
7
10
|
const provider_data = props.provider_data || {};
|
|
8
|
-
const columns =
|
|
11
|
+
const columns = React.useMemo(() => {
|
|
12
|
+
const temp = provider_data[Object.keys(provider_data)?.[0]]?.length || 0;
|
|
13
|
+
if (data.count < temp && data.count > 0) {
|
|
14
|
+
return data.count;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return temp;
|
|
18
|
+
}, [provider_data, data.count]);
|
|
9
19
|
|
|
10
20
|
return (
|
|
11
21
|
<div className="connected-list">
|
|
12
22
|
{props.mode === 'edit' ? <p>Connected list</p> : ''}
|
|
13
|
-
|
|
14
|
-
<
|
|
23
|
+
{!!columns && (
|
|
24
|
+
<ul className={data.theme || 'default'}>
|
|
15
25
|
{Array(Math.max(0, columns))
|
|
16
26
|
.fill()
|
|
17
|
-
.map((_, column) =>
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
.map((_, column) => {
|
|
28
|
+
return (
|
|
29
|
+
<React.Fragment key={`connected-list-${column}`}>
|
|
30
|
+
<li>
|
|
31
|
+
{(data.labeled ?? true) && data.label ? (
|
|
32
|
+
<p className="label">
|
|
33
|
+
{provider_data[data.label][column]}
|
|
34
|
+
</p>
|
|
35
|
+
) : (
|
|
36
|
+
''
|
|
37
|
+
)}
|
|
38
|
+
{data.value ? (
|
|
39
|
+
<p className="value">
|
|
40
|
+
{provider_data[data.value][column]}
|
|
41
|
+
</p>
|
|
42
|
+
) : (
|
|
43
|
+
''
|
|
44
|
+
)}
|
|
45
|
+
</li>
|
|
46
|
+
{column < columns - 1 && data.theme === 'theme_1' && (
|
|
47
|
+
<li>
|
|
48
|
+
<Icon name={arrowSVG} size="64px" />
|
|
49
|
+
</li>
|
|
50
|
+
)}
|
|
51
|
+
</React.Fragment>
|
|
52
|
+
);
|
|
53
|
+
})}
|
|
54
|
+
</ul>
|
|
55
|
+
)}
|
|
56
|
+
{!columns && <p className="no-results">-</p>}
|
|
33
57
|
</div>
|
|
34
58
|
);
|
|
35
59
|
};
|
|
@@ -11,9 +11,10 @@ const getSchema = (props) => {
|
|
|
11
11
|
title: 'Default',
|
|
12
12
|
fields: [
|
|
13
13
|
'labeled',
|
|
14
|
+
'count',
|
|
15
|
+
'theme',
|
|
14
16
|
'value',
|
|
15
17
|
...(props.data.labeled ?? true ? ['label'] : []),
|
|
16
|
-
'grid_size',
|
|
17
18
|
],
|
|
18
19
|
},
|
|
19
20
|
],
|
|
@@ -24,21 +25,27 @@ const getSchema = (props) => {
|
|
|
24
25
|
type: 'boolean',
|
|
25
26
|
default: true,
|
|
26
27
|
},
|
|
28
|
+
theme: {
|
|
29
|
+
title: 'Theme',
|
|
30
|
+
choices: [
|
|
31
|
+
['default', 'Default'],
|
|
32
|
+
['theme_1', 'Theme 1'],
|
|
33
|
+
['theme_2', 'Theme 2'],
|
|
34
|
+
],
|
|
35
|
+
},
|
|
27
36
|
value: {
|
|
28
37
|
title: 'Value',
|
|
29
|
-
type: 'array',
|
|
30
38
|
choices,
|
|
31
39
|
},
|
|
32
40
|
label: {
|
|
33
41
|
title: 'Label',
|
|
34
|
-
type: 'array',
|
|
35
42
|
choices,
|
|
36
43
|
},
|
|
37
|
-
|
|
38
|
-
title: '
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
count: {
|
|
45
|
+
title: 'Max items',
|
|
46
|
+
type: 'number',
|
|
47
|
+
minimum: 0,
|
|
48
|
+
maximum: Infinity,
|
|
42
49
|
},
|
|
43
50
|
},
|
|
44
51
|
|
|
@@ -1,12 +1,69 @@
|
|
|
1
|
+
@import (multiple, reference, optional) '../../theme.config';
|
|
2
|
+
|
|
3
|
+
@type: extra;
|
|
4
|
+
@element: custom;
|
|
5
|
+
|
|
1
6
|
.connected-list {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
7
|
+
margin-bottom: 1rem;
|
|
8
|
+
|
|
9
|
+
ul {
|
|
10
|
+
padding-left: 0;
|
|
11
|
+
margin-left: -1rem;
|
|
12
|
+
list-style-type: none;
|
|
13
|
+
|
|
14
|
+
li {
|
|
15
|
+
display: inline-flex;
|
|
16
|
+
flex-flow: column;
|
|
17
|
+
align-items: flex-start;
|
|
18
|
+
margin: 1rem;
|
|
19
|
+
|
|
20
|
+
.icon {
|
|
21
|
+
color: @grey-2;
|
|
22
|
+
rotate: 90deg;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
> * {
|
|
26
|
+
margin-bottom: 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.label {
|
|
30
|
+
color: @primaryColor;
|
|
31
|
+
font-weight: bold;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&.theme_1 {
|
|
36
|
+
display: flex;
|
|
37
|
+
align-items: center;
|
|
38
|
+
margin-left: 0;
|
|
39
|
+
|
|
40
|
+
li {
|
|
41
|
+
margin: 0;
|
|
42
|
+
}
|
|
6
43
|
}
|
|
7
44
|
|
|
8
|
-
|
|
9
|
-
|
|
45
|
+
&.theme_2 {
|
|
46
|
+
display: grid;
|
|
47
|
+
margin-left: 0;
|
|
48
|
+
grid-template-columns: 1fr 1fr;
|
|
49
|
+
|
|
50
|
+
li {
|
|
51
|
+
display: grid;
|
|
52
|
+
align-items: center;
|
|
53
|
+
margin: 0.5rem 0;
|
|
54
|
+
grid-template-columns: auto 1fr;
|
|
55
|
+
|
|
56
|
+
&::before {
|
|
57
|
+
position: relative;
|
|
58
|
+
display: block;
|
|
59
|
+
width: 16px;
|
|
60
|
+
height: 16px;
|
|
61
|
+
margin-right: 1rem;
|
|
62
|
+
background-color: @secondaryColor;
|
|
63
|
+
border-radius: 50%;
|
|
64
|
+
content: '';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
10
67
|
}
|
|
11
68
|
}
|
|
12
69
|
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
import { Icon } from '@plone/volto/components';
|
|
4
|
+
|
|
5
|
+
import arrowSVG from '@plone/volto/icons/ahead.svg';
|
|
6
|
+
|
|
7
|
+
import './style.less';
|
|
8
|
+
|
|
9
|
+
const status_labels = {
|
|
10
|
+
good: {
|
|
11
|
+
title: 'GOOD',
|
|
12
|
+
value: 'good',
|
|
13
|
+
},
|
|
14
|
+
poor: {
|
|
15
|
+
title: 'POOR',
|
|
16
|
+
value: 'poor',
|
|
17
|
+
},
|
|
18
|
+
bad: {
|
|
19
|
+
title: 'BAD',
|
|
20
|
+
value: 'bad',
|
|
21
|
+
},
|
|
22
|
+
unknown: {
|
|
23
|
+
title: 'UNKNOWN',
|
|
24
|
+
value: 'unkown',
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const View = (props) => {
|
|
29
|
+
const { data = {} } = props;
|
|
30
|
+
const provider_data = props.provider_data || {};
|
|
31
|
+
const columns = provider_data[Object.keys(provider_data)?.[0]]?.length || 0;
|
|
32
|
+
|
|
33
|
+
return (
|
|
34
|
+
<div className="connected-status-list">
|
|
35
|
+
{props.mode === 'edit' ? <p>Connected status list</p> : ''}
|
|
36
|
+
{!!columns && (
|
|
37
|
+
<ul>
|
|
38
|
+
{Array(Math.max(0, columns))
|
|
39
|
+
.fill()
|
|
40
|
+
.map((_, column) => {
|
|
41
|
+
const status =
|
|
42
|
+
status_labels[
|
|
43
|
+
provider_data[data.status]?.[column]?.toLowerCase()
|
|
44
|
+
] || status_labels.unknown;
|
|
45
|
+
return (
|
|
46
|
+
<li
|
|
47
|
+
key={`connected-list-${column}`}
|
|
48
|
+
className={cx(`status-${status.value}`)}
|
|
49
|
+
>
|
|
50
|
+
{provider_data[data.value] && (
|
|
51
|
+
<span className="value">
|
|
52
|
+
{provider_data[data.value][column]}
|
|
53
|
+
</span>
|
|
54
|
+
)}
|
|
55
|
+
<Icon name={arrowSVG} size="16px" />
|
|
56
|
+
<span className="status">{status.title}</span>
|
|
57
|
+
</li>
|
|
58
|
+
);
|
|
59
|
+
})}
|
|
60
|
+
</ul>
|
|
61
|
+
)}
|
|
62
|
+
{!columns && <p className="no-results">-</p>}
|
|
63
|
+
</div>
|
|
64
|
+
);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export default View;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import StatusListView from './View';
|
|
2
|
+
import getSchema from './schema';
|
|
3
|
+
|
|
4
|
+
export default (config) => {
|
|
5
|
+
config.blocks.blocksConfig.custom_connected_block = {
|
|
6
|
+
...config.blocks.blocksConfig.custom_connected_block,
|
|
7
|
+
blocks: {
|
|
8
|
+
...config.blocks.blocksConfig.custom_connected_block.blocks,
|
|
9
|
+
status_list: {
|
|
10
|
+
view: StatusListView,
|
|
11
|
+
getSchema: getSchema,
|
|
12
|
+
title: 'Status list',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
return config;
|
|
17
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const getSchema = (props) => {
|
|
2
|
+
const data = props.provider_data || {};
|
|
3
|
+
const choices = Object.keys(data).map((key) => [key, key]);
|
|
4
|
+
|
|
5
|
+
return {
|
|
6
|
+
title: 'Status list',
|
|
7
|
+
|
|
8
|
+
fieldsets: [
|
|
9
|
+
{
|
|
10
|
+
id: 'default',
|
|
11
|
+
title: 'Default',
|
|
12
|
+
fields: ['value', 'status'],
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
|
|
16
|
+
properties: {
|
|
17
|
+
value: {
|
|
18
|
+
title: 'Value',
|
|
19
|
+
choices,
|
|
20
|
+
},
|
|
21
|
+
status: {
|
|
22
|
+
title: 'Status',
|
|
23
|
+
choices,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
required: [],
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export default getSchema;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
@import (multiple, reference, optional) '../../theme.config';
|
|
2
|
+
|
|
3
|
+
@type: extra;
|
|
4
|
+
@element: custom;
|
|
5
|
+
|
|
6
|
+
.connected-status-list {
|
|
7
|
+
margin-bottom: 1rem;
|
|
8
|
+
|
|
9
|
+
ul {
|
|
10
|
+
padding-left: 0;
|
|
11
|
+
margin-left: -0.5rem;
|
|
12
|
+
list-style-type: none;
|
|
13
|
+
|
|
14
|
+
li {
|
|
15
|
+
display: inline-flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
padding: 0.25rem 0.5rem;
|
|
18
|
+
margin: 0.5rem;
|
|
19
|
+
border-radius: 6px;
|
|
20
|
+
font-size: 0.9rem;
|
|
21
|
+
font-weight: bold;
|
|
22
|
+
|
|
23
|
+
.value {
|
|
24
|
+
padding-right: 0.25rem;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.status {
|
|
28
|
+
padding-left: 0.25rem;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&.status-good {
|
|
32
|
+
background-color: #15957d;
|
|
33
|
+
color: #fff;
|
|
34
|
+
|
|
35
|
+
.icon {
|
|
36
|
+
rotate: -45deg;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&.status-poor {
|
|
41
|
+
background-color: #faea8a;
|
|
42
|
+
|
|
43
|
+
.icon {
|
|
44
|
+
rotate: 45deg;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&.status-bad {
|
|
49
|
+
background-color: #dd552b;
|
|
50
|
+
color: #fff;
|
|
51
|
+
|
|
52
|
+
.icon {
|
|
53
|
+
rotate: 45deg;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&.status-unkown {
|
|
58
|
+
background-color: @grey-2;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
package/src/index.js
CHANGED
|
@@ -13,6 +13,8 @@ import installBubbleChart from './components/manage/Blocks/BubbleChart';
|
|
|
13
13
|
import installCarouselHorizontal from './components/manage/Blocks/CarouselHorizontal';
|
|
14
14
|
import installCddaShape from './components/manage/Blocks/CddaShape';
|
|
15
15
|
import installConnectedList from './components/manage/Blocks/List';
|
|
16
|
+
import installConnectedStatusList from './components/manage/Blocks/StatusList';
|
|
17
|
+
import installConnectedLabeledList from './components/manage/Blocks/LabeledList';
|
|
16
18
|
import installConnectedLinkList from './components/manage/Blocks/ConnectedLinkList';
|
|
17
19
|
import installContactBlock from './components/manage/Blocks/ContactBlock';
|
|
18
20
|
import installExplodedPiesChart from './components/manage/Blocks/ExplodedPiesChart';
|
|
@@ -127,6 +129,8 @@ const applyConfig = (config) => {
|
|
|
127
129
|
installCarouselHorizontal,
|
|
128
130
|
installCddaShape,
|
|
129
131
|
installConnectedList,
|
|
132
|
+
installConnectedStatusList,
|
|
133
|
+
installConnectedLabeledList,
|
|
130
134
|
installConnectedLinkList,
|
|
131
135
|
installContactBlock,
|
|
132
136
|
installExplodedPiesChart,
|