@coorpacademy/components 10.1.9 → 10.1.12
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/es/atom/empty-search-result/index.js +24 -0
- package/es/atom/empty-search-result/index.js.map +1 -0
- package/es/atom/empty-search-result/style.css +25 -0
- package/es/atom/empty-search-result/test/fixtures/default.js +7 -0
- package/es/atom/empty-search-result/test/fixtures/default.js.map +1 -0
- package/es/atom/empty-search-result/test/fixtures.js +13 -0
- package/es/atom/empty-search-result/test/fixtures.js.map +1 -0
- package/es/atom/input-text/index.js +3 -2
- package/es/atom/input-text/index.js.map +1 -1
- package/es/atom/tag/test/fixtures.js +4 -2
- package/es/atom/tag/test/fixtures.js.map +1 -1
- package/es/molecule/banner/index.js +1 -1
- package/es/molecule/banner/index.js.map +1 -1
- package/es/molecule/banner/test/fixtures.js +4 -0
- package/es/molecule/banner/test/fixtures.js.map +1 -1
- package/es/molecule/brand-form-group/style.css +5 -0
- package/es/molecule/brand-tabs/style.css +0 -1
- package/es/molecule/short-lived-banner/test/fixtures.js +15 -0
- package/es/molecule/short-lived-banner/test/fixtures.js.map +1 -0
- package/es/molecule/vertical-tabs/style.css +2 -2
- package/es/organism/brand-dashboard/index.js +1 -3
- package/es/organism/brand-dashboard/index.js.map +1 -1
- package/es/organism/brand-dashboard/style.css +0 -10
- package/es/organism/course-selection/index.js +57 -0
- package/es/organism/course-selection/index.js.map +1 -0
- package/es/organism/course-selection/style.css +23 -0
- package/es/organism/course-selection/test/fixtures/default.js +34 -0
- package/es/organism/course-selection/test/fixtures/default.js.map +1 -0
- package/es/organism/course-selection/test/fixtures/empty.js +18 -0
- package/es/organism/course-selection/test/fixtures/empty.js.map +1 -0
- package/es/organism/course-selection/test/fixtures/filtered.js +24 -0
- package/es/organism/course-selection/test/fixtures/filtered.js.map +1 -0
- package/es/organism/course-selection/test/fixtures/sorted-selected.js +31 -0
- package/es/organism/course-selection/test/fixtures/sorted-selected.js.map +1 -0
- package/es/organism/course-selection/test/fixtures/unsorted-selected.js +31 -0
- package/es/organism/course-selection/test/fixtures/unsorted-selected.js.map +1 -0
- package/es/organism/list-item/index.js +68 -0
- package/es/organism/list-item/index.js.map +1 -0
- package/es/organism/list-item/style.css +49 -0
- package/es/organism/list-item/test/fixtures/archived.js +39 -0
- package/es/organism/list-item/test/fixtures/archived.js.map +1 -0
- package/es/organism/list-item/test/fixtures/draft.js +39 -0
- package/es/organism/list-item/test/fixtures/draft.js.map +1 -0
- package/es/organism/list-item/test/fixtures/published.js +39 -0
- package/es/organism/list-item/test/fixtures/published.js.map +1 -0
- package/es/organism/list-item/test/fixtures/revised.js +41 -0
- package/es/organism/list-item/test/fixtures/revised.js.map +1 -0
- package/es/organism/list-item/test/fixtures.js +19 -0
- package/es/organism/list-item/test/fixtures.js.map +1 -0
- package/es/organism/playlist-translation/style.css +9 -2
- package/es/organism/search-and-chips-results/index.js +3 -8
- package/es/organism/search-and-chips-results/index.js.map +1 -1
- package/es/organism/search-and-chips-results/style.css +0 -22
- package/es/organism/setup-header/style.css +16 -7
- package/es/template/back-office/brand-update/index.js +106 -92
- package/es/template/back-office/brand-update/index.js.map +1 -1
- package/es/template/back-office/brand-update/style.css +22 -66
- package/es/template/back-office/brand-update/test/fixtures/default.js +1 -58
- package/es/template/back-office/brand-update/test/fixtures/default.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/general-settings.js +77 -3
- package/es/template/back-office/brand-update/test/fixtures/general-settings.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/loader.js +1 -1
- package/es/template/back-office/brand-update/test/fixtures/loader.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/manageusers-edit.js +1 -1
- package/es/template/back-office/brand-update/test/fixtures/manageusers-edit.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/manageusers-list.js +1 -1
- package/es/template/back-office/brand-update/test/fixtures/manageusers-list.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures/uploadusers.js +1 -1
- package/es/template/back-office/brand-update/test/fixtures/uploadusers.js.map +1 -1
- package/es/template/back-office/brand-update/test/fixtures.js +0 -2
- package/es/template/back-office/brand-update/test/fixtures.js.map +1 -1
- package/lib/atom/empty-search-result/index.js +34 -0
- package/lib/atom/empty-search-result/index.js.map +1 -0
- package/lib/atom/empty-search-result/style.css +25 -0
- package/lib/atom/empty-search-result/test/fixtures/default.js +12 -0
- package/lib/atom/empty-search-result/test/fixtures/default.js.map +1 -0
- package/lib/{molecule → atom}/empty-search-result/test/fixtures.js +3 -3
- package/lib/atom/empty-search-result/test/fixtures.js.map +1 -0
- package/lib/atom/input-text/index.js +3 -2
- package/lib/atom/input-text/index.js.map +1 -1
- package/lib/atom/tag/test/fixtures.js +5 -2
- package/lib/atom/tag/test/fixtures.js.map +1 -1
- package/lib/molecule/banner/index.js +1 -1
- package/lib/molecule/banner/index.js.map +1 -1
- package/lib/molecule/banner/test/fixtures.js +6 -0
- package/lib/molecule/banner/test/fixtures.js.map +1 -1
- package/lib/molecule/brand-form-group/style.css +5 -0
- package/lib/molecule/brand-tabs/style.css +0 -1
- package/lib/molecule/short-lived-banner/test/fixtures.js +25 -0
- package/lib/molecule/short-lived-banner/test/fixtures.js.map +1 -0
- package/lib/molecule/vertical-tabs/style.css +2 -2
- package/lib/organism/brand-dashboard/index.js +1 -3
- package/lib/organism/brand-dashboard/index.js.map +1 -1
- package/lib/organism/brand-dashboard/style.css +0 -10
- package/lib/organism/course-selection/index.js +70 -0
- package/lib/organism/course-selection/index.js.map +1 -0
- package/lib/organism/course-selection/style.css +23 -0
- package/lib/organism/course-selection/test/fixtures/default.js +47 -0
- package/lib/organism/course-selection/test/fixtures/default.js.map +1 -0
- package/lib/organism/course-selection/test/fixtures/empty.js +23 -0
- package/lib/organism/course-selection/test/fixtures/empty.js.map +1 -0
- package/lib/organism/course-selection/test/fixtures/filtered.js +36 -0
- package/lib/organism/course-selection/test/fixtures/filtered.js.map +1 -0
- package/lib/organism/course-selection/test/fixtures/sorted-selected.js +44 -0
- package/lib/organism/course-selection/test/fixtures/sorted-selected.js.map +1 -0
- package/lib/organism/course-selection/test/fixtures/unsorted-selected.js +44 -0
- package/lib/organism/course-selection/test/fixtures/unsorted-selected.js.map +1 -0
- package/lib/organism/list-item/index.js +82 -0
- package/lib/organism/list-item/index.js.map +1 -0
- package/lib/organism/list-item/style.css +49 -0
- package/lib/organism/list-item/test/fixtures/archived.js +44 -0
- package/lib/organism/list-item/test/fixtures/archived.js.map +1 -0
- package/lib/organism/list-item/test/fixtures/draft.js +44 -0
- package/lib/organism/list-item/test/fixtures/draft.js.map +1 -0
- package/lib/organism/list-item/test/fixtures/published.js +44 -0
- package/lib/organism/list-item/test/fixtures/published.js.map +1 -0
- package/lib/organism/list-item/test/fixtures/revised.js +46 -0
- package/lib/organism/list-item/test/fixtures/revised.js.map +1 -0
- package/lib/organism/list-item/test/fixtures.js +31 -0
- package/lib/organism/list-item/test/fixtures.js.map +1 -0
- package/lib/organism/playlist-translation/style.css +9 -2
- package/lib/organism/search-and-chips-results/index.js +4 -8
- package/lib/organism/search-and-chips-results/index.js.map +1 -1
- package/lib/organism/search-and-chips-results/style.css +0 -22
- package/lib/organism/setup-header/style.css +16 -7
- package/lib/template/back-office/brand-update/index.js +106 -93
- package/lib/template/back-office/brand-update/index.js.map +1 -1
- package/lib/template/back-office/brand-update/style.css +22 -66
- package/lib/template/back-office/brand-update/test/fixtures/default.js +1 -58
- package/lib/template/back-office/brand-update/test/fixtures/default.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/general-settings.js +76 -3
- package/lib/template/back-office/brand-update/test/fixtures/general-settings.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/loader.js +2 -2
- package/lib/template/back-office/brand-update/test/fixtures/loader.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/manageusers-edit.js +2 -2
- package/lib/template/back-office/brand-update/test/fixtures/manageusers-edit.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/manageusers-list.js +2 -2
- package/lib/template/back-office/brand-update/test/fixtures/manageusers-list.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures/uploadusers.js +2 -2
- package/lib/template/back-office/brand-update/test/fixtures/uploadusers.js.map +1 -1
- package/lib/template/back-office/brand-update/test/fixtures.js +0 -3
- package/lib/template/back-office/brand-update/test/fixtures.js.map +1 -1
- package/package.json +2 -2
- package/es/molecule/empty-search-result/test/fixtures.js +0 -13
- package/es/molecule/empty-search-result/test/fixtures.js.map +0 -1
- package/es/molecule/search/test/fixtures.js +0 -15
- package/es/molecule/search/test/fixtures.js.map +0 -1
- package/es/template/back-office/brand-update/test/fixtures/manageusers.js +0 -11
- package/es/template/back-office/brand-update/test/fixtures/manageusers.js.map +0 -1
- package/lib/molecule/empty-search-result/test/fixtures.js.map +0 -1
- package/lib/molecule/search/test/fixtures.js +0 -25
- package/lib/molecule/search/test/fixtures.js.map +0 -1
- package/lib/template/back-office/brand-update/test/fixtures/manageusers.js +0 -25
- package/lib/template/back-office/brand-update/test/fixtures/manageusers.js.map +0 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _default = {
|
|
6
|
+
props: {
|
|
7
|
+
id: 'default',
|
|
8
|
+
title: 'Leaders of tomorrow',
|
|
9
|
+
tags: [{
|
|
10
|
+
label: 'Ongoing changes',
|
|
11
|
+
type: 'revised'
|
|
12
|
+
}, {
|
|
13
|
+
label: 'Published',
|
|
14
|
+
type: 'published'
|
|
15
|
+
}],
|
|
16
|
+
buttonLink: {
|
|
17
|
+
type: 'secondary',
|
|
18
|
+
label: 'Edit',
|
|
19
|
+
ariaLabel: 'aria button',
|
|
20
|
+
dataName: 'default-button',
|
|
21
|
+
icon: {
|
|
22
|
+
position: 'left',
|
|
23
|
+
type: 'edit'
|
|
24
|
+
},
|
|
25
|
+
onClick: () => console.log('click')
|
|
26
|
+
},
|
|
27
|
+
bulletPointMenuButton: {
|
|
28
|
+
buttonAriaLabel: 'aria button',
|
|
29
|
+
menuAriaLabel: 'aria menu',
|
|
30
|
+
buttons: [{
|
|
31
|
+
'data-name': 'CP-publish-button',
|
|
32
|
+
label: 'Publish',
|
|
33
|
+
type: 'default',
|
|
34
|
+
onClick: () => console.log('click')
|
|
35
|
+
}, {
|
|
36
|
+
'data-name': 'CP-delete-button',
|
|
37
|
+
label: 'Delete',
|
|
38
|
+
type: 'dangerous',
|
|
39
|
+
onClick: () => console.log('click')
|
|
40
|
+
}],
|
|
41
|
+
onClick: () => console.log('click')
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
exports.default = _default;
|
|
46
|
+
//# sourceMappingURL=revised.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/organism/list-item/test/fixtures/revised.js"],"names":["props","id","title","tags","label","type","buttonLink","ariaLabel","dataName","icon","position","onClick","console","log","bulletPointMenuButton","buttonAriaLabel","menuAriaLabel","buttons"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,EAAE,EAAE,SADC;AAELC,IAAAA,KAAK,EAAE,qBAFF;AAGLC,IAAAA,IAAI,EAAE,CACJ;AACEC,MAAAA,KAAK,EAAE,iBADT;AAEEC,MAAAA,IAAI,EAAE;AAFR,KADI,EAKJ;AACED,MAAAA,KAAK,EAAE,WADT;AAEEC,MAAAA,IAAI,EAAE;AAFR,KALI,CAHD;AAcLC,IAAAA,UAAU,EAAE;AACVD,MAAAA,IAAI,EAAE,WADI;AAEVD,MAAAA,KAAK,EAAE,MAFG;AAGVG,MAAAA,SAAS,EAAE,aAHD;AAIVC,MAAAA,QAAQ,EAAE,gBAJA;AAKVC,MAAAA,IAAI,EAAE;AACJC,QAAAA,QAAQ,EAAE,MADN;AAEJL,QAAAA,IAAI,EAAE;AAFF,OALI;AASVM,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ;AATL,KAdP;AAyBLC,IAAAA,qBAAqB,EAAE;AACrBC,MAAAA,eAAe,EAAE,aADI;AAErBC,MAAAA,aAAa,EAAE,WAFM;AAGrBC,MAAAA,OAAO,EAAE,CACP;AACE,qBAAa,mBADf;AAEEb,QAAAA,KAAK,EAAE,SAFT;AAGEC,QAAAA,IAAI,EAAE,SAHR;AAIEM,QAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ;AAJjB,OADO,EAOP;AACE,qBAAa,kBADf;AAEET,QAAAA,KAAK,EAAE,QAFT;AAGEC,QAAAA,IAAI,EAAE,WAHR;AAIEM,QAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ;AAJjB,OAPO,CAHY;AAiBrBF,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,OAAZ;AAjBM;AAzBlB;AADM,C","sourcesContent":["export default {\n props: {\n id: 'default',\n title: 'Leaders of tomorrow',\n tags: [\n {\n label: 'Ongoing changes',\n type: 'revised'\n },\n {\n label: 'Published',\n type: 'published'\n }\n ],\n\n buttonLink: {\n type: 'secondary',\n label: 'Edit',\n ariaLabel: 'aria button',\n dataName: 'default-button',\n icon: {\n position: 'left',\n type: 'edit'\n },\n onClick: () => console.log('click')\n },\n bulletPointMenuButton: {\n buttonAriaLabel: 'aria button',\n menuAriaLabel: 'aria menu',\n buttons: [\n {\n 'data-name': 'CP-publish-button',\n label: 'Publish',\n type: 'default',\n onClick: () => console.log('click')\n },\n {\n 'data-name': 'CP-delete-button',\n label: 'Delete',\n type: 'dangerous',\n onClick: () => console.log('click')\n }\n ],\n onClick: () => console.log('click')\n }\n }\n};\n"],"file":"revised.js"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _ava = _interopRequireDefault(require("ava"));
|
|
4
|
+
|
|
5
|
+
var _forEach = _interopRequireDefault(require("lodash/forEach"));
|
|
6
|
+
|
|
7
|
+
var _renderComponent = _interopRequireDefault(require("../../../test/helpers/render-component"));
|
|
8
|
+
|
|
9
|
+
var _ = _interopRequireDefault(require(".."));
|
|
10
|
+
|
|
11
|
+
var _archived = _interopRequireDefault(require("./fixtures/archived"));
|
|
12
|
+
|
|
13
|
+
var _draft = _interopRequireDefault(require("./fixtures/draft"));
|
|
14
|
+
|
|
15
|
+
var _published = _interopRequireDefault(require("./fixtures/published"));
|
|
16
|
+
|
|
17
|
+
var _revised = _interopRequireDefault(require("./fixtures/revised"));
|
|
18
|
+
|
|
19
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
|
+
|
|
21
|
+
(0, _ava.default)('Organism › OrganismListItem > should have valid propTypes', t => {
|
|
22
|
+
t.pass();
|
|
23
|
+
(0, _forEach.default)(_.default.propTypes, (value, key) => {
|
|
24
|
+
t.not(value, undefined, `PropType for "Organism.OrganismListItem.propTypes.${key}" may not be undefined. Did you mistype the propTypes definition?`);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
(0, _ava.default)('Organism › OrganismListItem › Archived › should be rendered', _renderComponent.default, _.default, _archived.default);
|
|
28
|
+
(0, _ava.default)('Organism › OrganismListItem › Draft › should be rendered', _renderComponent.default, _.default, _draft.default);
|
|
29
|
+
(0, _ava.default)('Organism › OrganismListItem › Published › should be rendered', _renderComponent.default, _.default, _published.default);
|
|
30
|
+
(0, _ava.default)('Organism › OrganismListItem › Revised › should be rendered', _renderComponent.default, _.default, _revised.default);
|
|
31
|
+
//# sourceMappingURL=fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/organism/list-item/test/fixtures.js"],"names":["t","pass","OrganismListItem","propTypes","value","key","not","undefined","renderComponentMacro","fixtureArchived","fixtureDraft","fixturePublished","fixtureRevised"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,kBAAK,2DAAL,EAAkEA,CAAC,IAAI;AACrEA,EAAAA,CAAC,CAACC,IAAF;AACA,wBAAQC,UAAiBC,SAAzB,EAAoC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAClDL,IAAAA,CAAC,CAACM,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,qDAAoDF,GAAI,mEAAjF;AACD,GAFD;AAGD,CALD;AAOA,kBAAK,6DAAL,EAAoEG,wBAApE,EAA0FN,SAA1F,EAA4GO,iBAA5G;AACA,kBAAK,0DAAL,EAAiED,wBAAjE,EAAuFN,SAAvF,EAAyGQ,cAAzG;AACA,kBAAK,8DAAL,EAAqEF,wBAArE,EAA2FN,SAA3F,EAA6GS,kBAA7G;AACA,kBAAK,4DAAL,EAAmEH,wBAAnE,EAAyFN,SAAzF,EAA2GU,gBAA3G","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport OrganismListItem from '..';\nimport fixtureArchived from './fixtures/archived';\nimport fixtureDraft from './fixtures/draft';\nimport fixturePublished from './fixtures/published';\nimport fixtureRevised from './fixtures/revised';\n\ntest('Organism › OrganismListItem > should have valid propTypes', t => {\n t.pass();\n forEach(OrganismListItem.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Organism.OrganismListItem.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Organism › OrganismListItem › Archived › should be rendered', renderComponentMacro, OrganismListItem, fixtureArchived);\ntest('Organism › OrganismListItem › Draft › should be rendered', renderComponentMacro, OrganismListItem, fixtureDraft);\ntest('Organism › OrganismListItem › Published › should be rendered', renderComponentMacro, OrganismListItem, fixturePublished);\ntest('Organism › OrganismListItem › Revised › should be rendered', renderComponentMacro, OrganismListItem, fixtureRevised);\n"],"file":"fixtures.js"}
|
|
@@ -9,13 +9,19 @@
|
|
|
9
9
|
.container {
|
|
10
10
|
display: flex;
|
|
11
11
|
background-color: cm_grey_50;
|
|
12
|
+
position: relative;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
.menu {
|
|
15
16
|
background-color: cm_grey_50;
|
|
16
|
-
height:
|
|
17
|
+
height: auto;
|
|
17
18
|
width: 200px;
|
|
18
19
|
margin: 24px 8px 24px 24px;
|
|
20
|
+
position: absolute;
|
|
21
|
+
top: 0;
|
|
22
|
+
left: 0;
|
|
23
|
+
z-index: 1;
|
|
24
|
+
bottom: 0;
|
|
19
25
|
}
|
|
20
26
|
|
|
21
27
|
.horizontalSection{
|
|
@@ -24,6 +30,7 @@
|
|
|
24
30
|
padding: 24px 24px 24px 8px;
|
|
25
31
|
width: 100%;
|
|
26
32
|
align-items: end;
|
|
33
|
+
margin-left: 240px;
|
|
27
34
|
}
|
|
28
35
|
|
|
29
36
|
.input {
|
|
@@ -33,7 +40,7 @@
|
|
|
33
40
|
|
|
34
41
|
.button {
|
|
35
42
|
width: 170px;
|
|
36
|
-
margin-top:
|
|
43
|
+
margin-top: 24px;
|
|
37
44
|
}
|
|
38
45
|
|
|
39
46
|
.binButton {
|
|
@@ -9,6 +9,8 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
12
|
+
var _emptySearchResult = _interopRequireDefault(require("../../atom/empty-search-result"));
|
|
13
|
+
|
|
12
14
|
var _inputSearch = _interopRequireDefault(require("../../atom/input-search"));
|
|
13
15
|
|
|
14
16
|
var _buttonLink = _interopRequireDefault(require("../../atom/button-link"));
|
|
@@ -23,13 +25,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
23
25
|
|
|
24
26
|
const buildResultView = (results, resultsAriaLabel, emptyMessages) => {
|
|
25
27
|
if ((0, _isEmpty2.default)(results)) {
|
|
26
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
27
|
-
className: _style.default.errorSection
|
|
28
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
29
|
-
className: _style.default.firstErrorMessage
|
|
30
|
-
}, emptyMessages.firstMessage), /*#__PURE__*/_react.default.createElement("span", {
|
|
31
|
-
className: _style.default.secondErrorMessage
|
|
32
|
-
}, emptyMessages.secondMessage));
|
|
28
|
+
return /*#__PURE__*/_react.default.createElement(_emptySearchResult.default, emptyMessages);
|
|
33
29
|
}
|
|
34
30
|
|
|
35
31
|
const items = results.map((result, index) => {
|
|
@@ -37,7 +33,7 @@ const buildResultView = (results, resultsAriaLabel, emptyMessages) => {
|
|
|
37
33
|
className: _style.default.result,
|
|
38
34
|
key: `result-${index}`
|
|
39
35
|
}, /*#__PURE__*/_react.default.createElement(_chips.default, result));
|
|
40
|
-
}
|
|
36
|
+
});
|
|
41
37
|
return /*#__PURE__*/_react.default.createElement("ul", {
|
|
42
38
|
"aria-label": resultsAriaLabel
|
|
43
39
|
}, items);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/organism/search-and-chips-results/index.js"],"names":["buildResultView","results","resultsAriaLabel","emptyMessages","
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/search-and-chips-results/index.js"],"names":["buildResultView","results","resultsAriaLabel","emptyMessages","items","map","result","index","style","SearchAndChipsResults","props","search","selectAllButton","onClick","label","disabled","ariaLabel","resultView","buttonProps","type","icon","position","container","header","button","resultContainer","propTypes","PropTypes","shape","string","func","bool","Search","arrayOf","Chips","firstMessage","secondMessage"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,eAAe,GAAG,CAACC,OAAD,EAAUC,gBAAV,EAA4BC,aAA5B,KAA8C;AACpE,MAAI,uBAAQF,OAAR,CAAJ,EAAsB;AACpB,wBAAO,6BAAC,0BAAD,EAAuBE,aAAvB,CAAP;AACD;;AAED,QAAMC,KAAK,GAAGH,OAAO,CAACI,GAAR,CAAY,CAACC,MAAD,EAASC,KAAT,KAAmB;AAC3C,wBACE;AAAI,MAAA,SAAS,EAAEC,eAAMF,MAArB;AAA6B,MAAA,GAAG,EAAG,UAASC,KAAM;AAAlD,oBACE,6BAAC,cAAD,EAAWD,MAAX,CADF,CADF;AAKD,GANa,CAAd;AAQA,sBAAO;AAAI,kBAAYJ;AAAhB,KAAmCE,KAAnC,CAAP;AACD,CAdD;;AAgBA,MAAMK,qBAAqB,GAAGC,KAAK,IAAI;AACrC,QAAM;AACJC,IAAAA,MADI;AAEJC,IAAAA,eAFI;AAGJX,IAAAA,OAHI;AAIJE,IAAAA,aAJI;AAKJ,0BAAsBD;AALlB,MAMFQ,KANJ;AAQA,QAAM;AAACG,IAAAA,OAAD;AAAUC,IAAAA,KAAV;AAAiBC,IAAAA,QAAQ,GAAG,KAA5B;AAAmC,kBAAcC;AAAjD,MAA8DJ,eAApE;AACA,QAAMK,UAAU,GAAGjB,eAAe,CAACC,OAAD,EAAUC,gBAAV,EAA4BC,aAA5B,CAAlC;AACA,QAAMe,WAAW,GAAG;AAClBC,IAAAA,IAAI,EAAE,WADY;AAElBL,IAAAA,KAFkB;AAGlB,kBAAcE,SAHI;AAIlB,iBAAc,mBAJI;AAKlBI,IAAAA,IAAI,EAAE;AACJC,MAAAA,QAAQ,EAAE,OADN;AAEJF,MAAAA,IAAI,EAAE;AAFF,KALY;AASlBN,IAAAA,OATkB;AAUlBE,IAAAA;AAVkB,GAApB;AAaA,sBACE;AAAK,IAAA,SAAS,EAAEP,eAAMc;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEd,eAAMe;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEf,eAAMgB;AAAtB,kBACE,6BAAC,mBAAD,EAAgBN,WAAhB,CADF,CADF,eAIE;AAAK,IAAA,SAAS,EAAEV,eAAMG;AAAtB,kBACE,6BAAC,oBAAD,eAAYA,MAAZ;AAAoB,IAAA,KAAK,EAAC;AAA1B,KADF,CAJF,CADF,eASE;AAAK,IAAA,SAAS,EAAEH,eAAMiB;AAAtB,KAAwCR,UAAxC,CATF,CADF;AAaD,CArCD;;AAuCAR,qBAAqB,CAACiB,SAAtB,2CAAkC;AAChCd,EAAAA,eAAe,EAAEe,mBAAUC,KAAV,CAAgB;AAC/Bd,IAAAA,KAAK,EAAEa,mBAAUE,MADc;AAE/BhB,IAAAA,OAAO,EAAEc,mBAAUG,IAFY;AAG/Bf,IAAAA,QAAQ,EAAEY,mBAAUI,IAHW;AAI/B,kBAAcJ,mBAAUE;AAJO,GAAhB,CADe;AAOhClB,EAAAA,MAAM,EAAEgB,mBAAUC,KAAV,CAAgBI,qBAAOL,SAAvB,CAPwB;AAQhC1B,EAAAA,OAAO,EAAE0B,mBAAUM,OAAV,CAAkBN,mBAAUC,KAAV,CAAgBM,eAAMR,SAAtB,CAAlB,CARuB;AAShC,wBAAsBC,mBAAUE,MATA;AAUhC1B,EAAAA,aAAa,EAAEwB,mBAAUC,KAAV,CAAgB;AAC7BO,IAAAA,YAAY,EAAER,mBAAUE,MADK;AAE7BO,IAAAA,aAAa,EAAET,mBAAUE;AAFI,GAAhB;AAViB,CAAlC;eAgBepB,qB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {isEmpty} from 'lodash/fp';\nimport EmptySearchResult from '../../atom/empty-search-result';\nimport Search from '../../atom/input-search';\nimport ButtonLink from '../../atom/button-link';\nimport Chips from '../../atom/chips';\nimport style from './style.css';\n\nconst buildResultView = (results, resultsAriaLabel, emptyMessages) => {\n if (isEmpty(results)) {\n return <EmptySearchResult {...emptyMessages} />;\n }\n\n const items = results.map((result, index) => {\n return (\n <li className={style.result} key={`result-${index}`}>\n <Chips {...result} />\n </li>\n );\n });\n\n return <ul aria-label={resultsAriaLabel}>{items}</ul>;\n};\n\nconst SearchAndChipsResults = props => {\n const {\n search,\n selectAllButton,\n results,\n emptyMessages,\n 'results-aria-label': resultsAriaLabel\n } = props;\n\n const {onClick, label, disabled = false, 'aria-label': ariaLabel} = selectAllButton;\n const resultView = buildResultView(results, resultsAriaLabel, emptyMessages);\n const buttonProps = {\n type: 'secondary',\n label,\n 'aria-label': ariaLabel,\n 'data-name': `select-all-button`,\n icon: {\n position: 'right',\n type: 'add'\n },\n onClick,\n disabled\n };\n\n return (\n <div className={style.container}>\n <div className={style.header}>\n <div className={style.button}>\n <ButtonLink {...buttonProps} />\n </div>\n <div className={style.search}>\n <Search {...search} theme=\"coorpmanager\" />\n </div>\n </div>\n <div className={style.resultContainer}>{resultView}</div>\n </div>\n );\n};\n\nSearchAndChipsResults.propTypes = {\n selectAllButton: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n disabled: PropTypes.bool,\n 'aria-label': PropTypes.string\n }),\n search: PropTypes.shape(Search.PropTypes),\n results: PropTypes.arrayOf(PropTypes.shape(Chips.propTypes)),\n 'results-aria-label': PropTypes.string,\n emptyMessages: PropTypes.shape({\n firstMessage: PropTypes.string,\n secondMessage: PropTypes.string\n })\n};\n\nexport default SearchAndChipsResults;\n"],"file":"index.js"}
|
|
@@ -32,26 +32,4 @@
|
|
|
32
32
|
max-width: 268px;
|
|
33
33
|
display: inline-block;
|
|
34
34
|
margin: 0 16px 16px 0px;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.errorSection {
|
|
38
|
-
margin: 48px 0;
|
|
39
|
-
width: 100%;
|
|
40
|
-
display: flex;
|
|
41
|
-
flex-direction: column;
|
|
42
|
-
align-items: center;
|
|
43
|
-
font-size: 16px;
|
|
44
|
-
font-weight: bold;
|
|
45
|
-
font-family: Gilroy;
|
|
46
|
-
font-size: 16px;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.firstErrorMessage {
|
|
50
|
-
color: cm_grey_900;
|
|
51
|
-
display: block;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.secondErrorMessage {
|
|
55
|
-
color: cm_primary_blue;
|
|
56
|
-
display: block;
|
|
57
35
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
@value breakpoints: "../../variables/breakpoints.css";
|
|
2
2
|
@value mobile from breakpoints;
|
|
3
3
|
@value cm_tablet from breakpoints;
|
|
4
|
+
@value desktop from breakpoints;
|
|
4
5
|
@value colors: "../../variables/colors.css";
|
|
5
6
|
@value light from colors;
|
|
6
7
|
@value medium from colors;
|
|
@@ -17,12 +18,11 @@
|
|
|
17
18
|
|
|
18
19
|
.container {
|
|
19
20
|
background-color: white;
|
|
20
|
-
height: 80px;
|
|
21
21
|
box-sizing: border-box;
|
|
22
22
|
z-index: 1100;
|
|
23
|
-
margin: 24px 40px;
|
|
24
23
|
display: flex;
|
|
25
24
|
flex-direction: column;
|
|
25
|
+
width: 100%;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
[data-name="logout-hide"] {
|
|
@@ -147,6 +147,20 @@
|
|
|
147
147
|
display: none;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
+
@media desktop {
|
|
151
|
+
.platformListIcon {
|
|
152
|
+
display: flex;
|
|
153
|
+
justify-content: center;
|
|
154
|
+
align-items: center;
|
|
155
|
+
padding: 0 16px 0 0;
|
|
156
|
+
width: 44px;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.platformList {
|
|
160
|
+
display: none;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
150
164
|
@media cm_tablet {
|
|
151
165
|
[data-name="logout-show"] {
|
|
152
166
|
position: absolute;
|
|
@@ -206,11 +220,6 @@
|
|
|
206
220
|
.logOut {
|
|
207
221
|
display: none;
|
|
208
222
|
}
|
|
209
|
-
|
|
210
|
-
.container {
|
|
211
|
-
margin: 24px 32px;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
223
|
}
|
|
215
224
|
|
|
216
225
|
@media mobile {
|
|
@@ -15,9 +15,7 @@ var _get = _interopRequireDefault(require("lodash/fp/get"));
|
|
|
15
15
|
|
|
16
16
|
var _isEmpty = _interopRequireDefault(require("lodash/fp/isEmpty"));
|
|
17
17
|
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
var _head = _interopRequireDefault(require("lodash/fp/head"));
|
|
18
|
+
var _find = _interopRequireDefault(require("lodash/fp/find"));
|
|
21
19
|
|
|
22
20
|
var _brandTabs = _interopRequireDefault(require("../../../molecule/brand-tabs"));
|
|
23
21
|
|
|
@@ -33,7 +31,7 @@ var _brandAnalytics = _interopRequireDefault(require("../../../organism/brand-an
|
|
|
33
31
|
|
|
34
32
|
var _brandDashboard = _interopRequireDefault(require("../../../organism/brand-dashboard"));
|
|
35
33
|
|
|
36
|
-
var
|
|
34
|
+
var _banner = _interopRequireDefault(require("../../../molecule/banner"));
|
|
37
35
|
|
|
38
36
|
var _setupHeader = _interopRequireDefault(require("../../../organism/setup-header"));
|
|
39
37
|
|
|
@@ -47,31 +45,23 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
47
45
|
|
|
48
46
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
49
47
|
|
|
50
|
-
const
|
|
51
|
-
title,
|
|
52
|
-
href,
|
|
53
|
-
selected
|
|
54
|
-
}) => {
|
|
55
|
-
return /*#__PURE__*/_react.default.createElement("h5", null, title);
|
|
56
|
-
};
|
|
48
|
+
const getStyle = isSelected => isSelected ? _style.default.selectedElement : _style.default.unselectedElement;
|
|
57
49
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
50
|
+
const subTabsView = (_subTabs = []) => _map.default.convert({
|
|
51
|
+
cap: false
|
|
52
|
+
})((subTab, _index) => /*#__PURE__*/_react.default.createElement("div", {
|
|
53
|
+
key: subTab.title
|
|
54
|
+
}, subTab.type === 'iconLink' ? /*#__PURE__*/_react.default.createElement(_sidebar.IconLinkItem, _extends({}, subTab, {
|
|
55
|
+
styles: getStyle(subTab.selected),
|
|
56
|
+
uppercase: false,
|
|
57
|
+
target: '_blank'
|
|
58
|
+
})) : /*#__PURE__*/_react.default.createElement(_sidebar.LinkItem, _extends({}, subTab, {
|
|
59
|
+
styles: getStyle(subTab.selected),
|
|
60
|
+
uppercase: false
|
|
61
|
+
}))))(_subTabs); // TODO: this fonction should be replaced by a molecule to avoid this file to be unreadable
|
|
63
62
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
notifications,
|
|
67
|
-
header,
|
|
68
|
-
items,
|
|
69
|
-
content,
|
|
70
|
-
details,
|
|
71
|
-
onItemClick
|
|
72
|
-
} = props;
|
|
73
|
-
const logo = 'https://static.coorpacademy.com/logo/coorp-manager.svg';
|
|
74
|
-
const selectedTab = (0, _pipe.default)((0, _filter.default)(e => e.selected), _head.default, (0, _get.default)('tabs'), (0, _filter.default)(e => e.selected), _head.default)(items);
|
|
63
|
+
|
|
64
|
+
const buildLeftNavigation = (logo, items, onItemClick) => {
|
|
75
65
|
const formattedTabs = items.map(({
|
|
76
66
|
key,
|
|
77
67
|
title,
|
|
@@ -87,97 +77,120 @@ const BrandUpdate = props => {
|
|
|
87
77
|
children: [],
|
|
88
78
|
iconType: key || 'arrow'
|
|
89
79
|
}));
|
|
90
|
-
|
|
91
|
-
const getStyle = isSelected => isSelected ? _style.default.selectedElement : _style.default.unselectedElement;
|
|
92
|
-
|
|
93
|
-
const subTabsView = (_subTabs = []) => _map.default.convert({
|
|
94
|
-
cap: false
|
|
95
|
-
})((subTab, _index) => /*#__PURE__*/_react.default.createElement("div", {
|
|
96
|
-
key: subTab.title
|
|
97
|
-
}, subTab.type === 'iconLink' ? /*#__PURE__*/_react.default.createElement(_sidebar.IconLinkItem, _extends({}, subTab, {
|
|
98
|
-
styles: getStyle(subTab.selected),
|
|
99
|
-
uppercase: false,
|
|
100
|
-
target: '_blank'
|
|
101
|
-
})) : /*#__PURE__*/_react.default.createElement(_sidebar.LinkItem, _extends({}, subTab, {
|
|
102
|
-
styles: getStyle(subTab.selected),
|
|
103
|
-
uppercase: false
|
|
104
|
-
}))))(_subTabs);
|
|
105
|
-
|
|
106
80
|
const formattedTabsViews = (0, _map.default)(tab => /*#__PURE__*/_react.default.createElement("div", {
|
|
107
81
|
key: tab.title,
|
|
108
|
-
className: _style.default.
|
|
82
|
+
className: _style.default.subTabsView
|
|
109
83
|
}, subTabsView(tab.tabs)))(items);
|
|
84
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
85
|
+
className: _style.default.leftMenu
|
|
86
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
87
|
+
className: _style.default.logo
|
|
88
|
+
}, /*#__PURE__*/_react.default.createElement("a", {
|
|
89
|
+
href: "/"
|
|
90
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
91
|
+
src: logo
|
|
92
|
+
}))), /*#__PURE__*/_react.default.createElement(_coorpManager.default, {
|
|
93
|
+
tabProps: formattedTabs,
|
|
94
|
+
theme: 'setup',
|
|
95
|
+
onClick: onItemClick
|
|
96
|
+
}, formattedTabsViews));
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
const buildNotifications = notifications => {
|
|
100
|
+
if ((0, _isEmpty.default)(notifications)) {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
|
|
110
104
|
const notificationsList = notifications.map((notification, index) => {
|
|
111
105
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
112
106
|
className: _style.default.notification,
|
|
113
107
|
key: index
|
|
114
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
108
|
+
}, /*#__PURE__*/_react.default.createElement(_banner.default, notification));
|
|
115
109
|
});
|
|
110
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
111
|
+
className: _style.default.notifications
|
|
112
|
+
}, notificationsList);
|
|
113
|
+
};
|
|
116
114
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
115
|
+
const buildHeader = (header, notifications) => {
|
|
116
|
+
const headerStyle = (0, _isEmpty.default)(notifications) ? _style.default.header : _style.default.headerForNotifications;
|
|
117
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
118
|
+
className: headerStyle
|
|
119
|
+
}, /*#__PURE__*/_react.default.createElement(_setupHeader.default, header));
|
|
120
|
+
};
|
|
122
121
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
122
|
+
const buildTabs = items => {
|
|
123
|
+
const selectedTab = (0, _pipe.default)((0, _find.default)(e => e.selected), (0, _get.default)('tabs'), (0, _find.default)(e => e.selected))(items);
|
|
124
|
+
const showTabs = selectedTab && !(0, _isEmpty.default)(selectedTab.subTabs);
|
|
125
|
+
if (!showTabs) return null;
|
|
126
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
127
|
+
className: _style.default.tabs
|
|
128
|
+
}, /*#__PURE__*/_react.default.createElement(_brandTabs.default, {
|
|
129
|
+
type: "light",
|
|
130
|
+
tabs: selectedTab.subTabs
|
|
131
|
+
}));
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
const buildContentView = content => {
|
|
135
|
+
if (!content) {
|
|
136
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_loader.default, null));
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const {
|
|
140
|
+
type
|
|
141
|
+
} = content;
|
|
142
|
+
|
|
143
|
+
switch (type) {
|
|
144
|
+
case 'form':
|
|
145
|
+
return /*#__PURE__*/_react.default.createElement(_brandForm.default, content);
|
|
126
146
|
|
|
127
|
-
|
|
128
|
-
|
|
147
|
+
case 'list':
|
|
148
|
+
return /*#__PURE__*/_react.default.createElement(_brandTable.default, content);
|
|
129
149
|
|
|
130
|
-
|
|
131
|
-
|
|
150
|
+
case 'upload':
|
|
151
|
+
return /*#__PURE__*/_react.default.createElement(_brandUpload.default, content);
|
|
132
152
|
|
|
133
|
-
|
|
134
|
-
|
|
153
|
+
case 'analytics-dashboards':
|
|
154
|
+
return /*#__PURE__*/_react.default.createElement(_brandAnalytics.default, content);
|
|
135
155
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
156
|
+
case 'home':
|
|
157
|
+
return /*#__PURE__*/_react.default.createElement(_brandDashboard.default, content);
|
|
158
|
+
}
|
|
159
|
+
};
|
|
140
160
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
161
|
+
const buildDetailsView = details => {
|
|
162
|
+
if (!details) return;
|
|
163
|
+
return /*#__PURE__*/_react.default.createElement(_brandTable.default, details);
|
|
164
|
+
};
|
|
145
165
|
|
|
166
|
+
const BrandUpdate = props => {
|
|
167
|
+
const {
|
|
168
|
+
notifications,
|
|
169
|
+
header,
|
|
170
|
+
items,
|
|
171
|
+
content,
|
|
172
|
+
details,
|
|
173
|
+
onItemClick
|
|
174
|
+
} = props;
|
|
175
|
+
const logo = 'https://static.coorpacademy.com/logo/coorp-manager.svg';
|
|
176
|
+
const leftNavigation = buildLeftNavigation(logo, items, onItemClick);
|
|
177
|
+
const notificationsView = buildNotifications(notifications);
|
|
178
|
+
const headerView = buildHeader(header, notifications);
|
|
179
|
+
const tabsView = buildTabs(items);
|
|
180
|
+
const contentView = buildContentView(content);
|
|
181
|
+
const detailsView = buildDetailsView(details);
|
|
146
182
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
147
183
|
className: _style.default.container
|
|
148
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
149
|
-
className: _style.default.dashboardAside
|
|
150
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
151
|
-
className: _style.default.logo
|
|
152
|
-
}, /*#__PURE__*/_react.default.createElement("a", {
|
|
153
|
-
href: "/"
|
|
154
|
-
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
155
|
-
src: logo
|
|
156
|
-
}))), /*#__PURE__*/_react.default.createElement(_coorpManager.default, {
|
|
157
|
-
tabProps: formattedTabs,
|
|
158
|
-
theme: 'setup',
|
|
159
|
-
onClick: onItemClick
|
|
160
|
-
}, formattedTabsViews)), /*#__PURE__*/_react.default.createElement("div", {
|
|
184
|
+
}, leftNavigation, /*#__PURE__*/_react.default.createElement("div", {
|
|
161
185
|
className: _style.default.contentWrapper
|
|
162
|
-
},
|
|
163
|
-
className: _style.default.notifications
|
|
164
|
-
}, notificationsList), content && content.type === 'home' ? contentView(content) : /*#__PURE__*/_react.default.createElement("div", {
|
|
165
|
-
className: _style.default.contentHandler
|
|
166
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
167
|
-
className: _style.default.contentView
|
|
168
|
-
}, selectedTab && !(0, _isEmpty.default)(selectedTab.subTabs) ? /*#__PURE__*/_react.default.createElement(_brandTabs.default, {
|
|
169
|
-
type: "light",
|
|
170
|
-
tabs: selectedTab.subTabs
|
|
171
|
-
}) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
172
|
-
className: _style.default.dashboardContent
|
|
173
|
-
}, /*#__PURE__*/_react.default.createElement("div", null, contentView(content)), /*#__PURE__*/_react.default.createElement("div", null, detailsView(details)))))));
|
|
186
|
+
}, headerView, notificationsView, tabsView, contentView, detailsView));
|
|
174
187
|
};
|
|
175
188
|
|
|
176
189
|
BrandUpdate.defaultProps = {
|
|
177
190
|
notifications: []
|
|
178
191
|
};
|
|
179
192
|
BrandUpdate.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
180
|
-
notifications: _propTypes.default.arrayOf(_propTypes.default.shape(
|
|
193
|
+
notifications: _propTypes.default.arrayOf(_propTypes.default.shape(_banner.default.propTypes)),
|
|
181
194
|
header: _propTypes.default.shape(_extends({}, _setupHeader.default.propTypes)),
|
|
182
195
|
items: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
183
196
|
key: _propTypes.default.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/back-office/brand-update/index.js"],"names":["SubTab","title","href","selected","propTypes","PropTypes","string","isRequired","bool","BrandUpdate","props","notifications","header","items","content","details","onItemClick","logo","selectedTab","e","head","formattedTabs","map","key","type","index","children","iconType","getStyle","isSelected","style","selectedElement","unselectedElement","subTabsView","_subTabs","convert","cap","subTab","_index","formattedTabsViews","tab","tabs","notificationsList","notification","contentView","cont","detailsView","container","dashboardAside","contentWrapper","contentHandler","subTabs","dashboardContent","defaultProps","arrayOf","shape","Notification","Header","oneOfType","BrandForm","oneOf","BrandTable","BrandUpload","BrandAnalytics","BrandDashboard","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport pipe from 'lodash/fp/pipe';\nimport get from 'lodash/fp/get';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport filter from 'lodash/fp/filter';\nimport head from 'lodash/fp/head';\nimport BrandTabs from '../../../molecule/brand-tabs';\nimport {IconLinkItem, LinkItem} from '../../../organism/sidebar';\nimport BrandForm from '../../../organism/brand-form';\nimport BrandTable from '../../../organism/brand-table';\nimport BrandUpload from '../../../organism/brand-upload';\nimport BrandAnalytics from '../../../organism/brand-analytics';\nimport BrandDashboard from '../../../organism/brand-dashboard';\nimport Notification from '../../../atom/notification';\nimport Header from '../../../organism/setup-header';\nimport Loader from '../../../atom/loader';\nimport Accordion from '../../../organism/accordion/coorp-manager';\nimport style from './style.css';\n\nconst SubTab = ({title, href, selected}) => {\n return <h5>{title}</h5>;\n};\n\nSubTab.propTypes = {\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired\n};\n\nconst BrandUpdate = props => {\n const {notifications, header, items, content, details, onItemClick} = props;\n const logo = 'https://static.coorpacademy.com/logo/coorp-manager.svg';\n const selectedTab = pipe(\n filter(e => e.selected),\n head,\n get('tabs'),\n filter(e => e.selected),\n head\n )(items);\n\n const formattedTabs = items.map(({key, title, href, selected, type = 'simpleTab'}, index) => ({\n title,\n selected,\n type,\n href,\n index,\n children: [],\n iconType: key || 'arrow'\n }));\n\n const getStyle = isSelected => (isSelected ? style.selectedElement : style.unselectedElement);\n\n const subTabsView = (_subTabs = []) =>\n map.convert({cap: false})((subTab, _index) => (\n <div key={subTab.title}>\n {subTab.type === 'iconLink' ? (\n <IconLinkItem\n {...subTab}\n styles={getStyle(subTab.selected)}\n uppercase={false}\n target={'_blank'}\n />\n ) : (\n <LinkItem {...subTab} styles={getStyle(subTab.selected)} uppercase={false} />\n )}\n </div>\n ))(_subTabs);\n\n const formattedTabsViews = map(tab => (\n <div key={tab.title} className={style.tabs}>\n {subTabsView(tab.tabs)}\n </div>\n ))(items);\n\n const notificationsList = notifications.map((notification, index) => {\n return (\n <div className={style.notification} key={index}>\n <Notification {...notification} />\n </div>\n );\n });\n\n const contentView = cont => {\n if (!cont) return <Loader />;\n const {type} = cont;\n switch (type) {\n case 'form':\n return <BrandForm {...cont} />;\n case 'list':\n return <BrandTable {...cont} />;\n case 'upload':\n return <BrandUpload {...cont} />;\n case 'analytics-dashboards':\n return <BrandAnalytics {...cont} />;\n case 'home':\n return <BrandDashboard {...cont} />;\n }\n };\n\n const detailsView = cont => {\n if (!cont) return;\n return <BrandTable {...cont} />;\n };\n\n return (\n <div className={style.container}>\n <div className={style.dashboardAside}>\n <div className={style.logo}>\n <a href=\"/\">\n <img src={logo} />\n </a>\n </div>\n <Accordion tabProps={formattedTabs} theme={'setup'} onClick={onItemClick}>\n {formattedTabsViews}\n </Accordion>\n </div>\n <div className={style.contentWrapper}>\n <Header {...header} />\n <div className={style.notifications}>{notificationsList}</div>\n {content && content.type === 'home' ? (\n contentView(content)\n ) : (\n <div className={style.contentHandler}>\n <div className={style.contentView}>\n {selectedTab && !isEmpty(selectedTab.subTabs) ? (\n <BrandTabs type=\"light\" tabs={selectedTab.subTabs} />\n ) : null}\n <div className={style.dashboardContent}>\n <div>{contentView(content)}</div>\n <div>{detailsView(details)}</div>\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n};\n\nBrandUpdate.defaultProps = {\n notifications: []\n};\n\nBrandUpdate.propTypes = {\n notifications: PropTypes.arrayOf(PropTypes.shape(Notification.propTypes)),\n header: PropTypes.shape({...Header.propTypes}),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string,\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string,\n subTabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string\n })\n )\n })\n )\n })\n ).isRequired,\n content: PropTypes.oneOfType([\n PropTypes.shape({\n ...BrandForm.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['form'])\n }),\n PropTypes.shape({\n ...BrandTable.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list'])\n }),\n PropTypes.shape({\n ...BrandUpload.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['upload'])\n }),\n PropTypes.shape({\n ...BrandAnalytics.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['analytics-dashboards'])\n }),\n PropTypes.shape({\n ...BrandDashboard.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['home'])\n })\n ]),\n details: PropTypes.shape({\n ...BrandTable.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list'])\n }),\n onItemClick: PropTypes.func\n};\n\nexport default BrandUpdate;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/back-office/brand-update/index.js"],"names":["getStyle","isSelected","style","selectedElement","unselectedElement","subTabsView","_subTabs","map","convert","cap","subTab","_index","title","type","selected","buildLeftNavigation","logo","items","onItemClick","formattedTabs","key","href","index","children","iconType","formattedTabsViews","tab","tabs","leftMenu","buildNotifications","notifications","notificationsList","notification","buildHeader","header","headerStyle","headerForNotifications","buildTabs","selectedTab","e","showTabs","subTabs","buildContentView","content","buildDetailsView","details","BrandUpdate","props","leftNavigation","notificationsView","headerView","tabsView","contentView","detailsView","container","contentWrapper","defaultProps","propTypes","PropTypes","arrayOf","shape","Banner","Header","string","isRequired","bool","oneOfType","BrandForm","oneOf","BrandTable","BrandUpload","BrandAnalytics","BrandDashboard","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport pipe from 'lodash/fp/pipe';\nimport get from 'lodash/fp/get';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport find from 'lodash/fp/find';\nimport BrandTabs from '../../../molecule/brand-tabs';\nimport {IconLinkItem, LinkItem} from '../../../organism/sidebar';\nimport BrandForm from '../../../organism/brand-form';\nimport BrandTable from '../../../organism/brand-table';\nimport BrandUpload from '../../../organism/brand-upload';\nimport BrandAnalytics from '../../../organism/brand-analytics';\nimport BrandDashboard from '../../../organism/brand-dashboard';\nimport Banner from '../../../molecule/banner';\nimport Header from '../../../organism/setup-header';\nimport Loader from '../../../atom/loader';\nimport Accordion from '../../../organism/accordion/coorp-manager';\nimport style from './style.css';\n\nconst getStyle = isSelected => (isSelected ? style.selectedElement : style.unselectedElement);\n\nconst subTabsView = (_subTabs = []) =>\n map.convert({cap: false})((subTab, _index) => (\n <div key={subTab.title}>\n {subTab.type === 'iconLink' ? (\n <IconLinkItem\n {...subTab}\n styles={getStyle(subTab.selected)}\n uppercase={false}\n target={'_blank'}\n />\n ) : (\n <LinkItem {...subTab} styles={getStyle(subTab.selected)} uppercase={false} />\n )}\n </div>\n ))(_subTabs);\n\n// TODO: this fonction should be replaced by a molecule to avoid this file to be unreadable\nconst buildLeftNavigation = (logo, items, onItemClick) => {\n const formattedTabs = items.map(({key, title, href, selected, type = 'simpleTab'}, index) => ({\n title,\n selected,\n type,\n href,\n index,\n children: [],\n iconType: key || 'arrow'\n }));\n\n const formattedTabsViews = map(tab => (\n <div key={tab.title} className={style.subTabsView}>\n {subTabsView(tab.tabs)}\n </div>\n ))(items);\n\n return (\n <div className={style.leftMenu}>\n <div className={style.logo}>\n <a href=\"/\">\n <img src={logo} />\n </a>\n </div>\n <Accordion tabProps={formattedTabs} theme={'setup'} onClick={onItemClick}>\n {formattedTabsViews}\n </Accordion>\n </div>\n );\n};\n\nconst buildNotifications = notifications => {\n if (isEmpty(notifications)) {\n return null;\n }\n\n const notificationsList = notifications.map((notification, index) => {\n return (\n <div className={style.notification} key={index}>\n <Banner {...notification} />\n </div>\n );\n });\n return <div className={style.notifications}>{notificationsList}</div>;\n};\n\nconst buildHeader = (header, notifications) => {\n const headerStyle = isEmpty(notifications) ? style.header : style.headerForNotifications;\n return (\n <div className={headerStyle}>\n <Header {...header} />\n </div>\n );\n};\n\nconst buildTabs = items => {\n const selectedTab = pipe(\n find(e => e.selected),\n get('tabs'),\n find(e => e.selected)\n )(items);\n\n const showTabs = selectedTab && !isEmpty(selectedTab.subTabs);\n if (!showTabs) return null;\n return (\n <div className={style.tabs}>\n <BrandTabs type=\"light\" tabs={selectedTab.subTabs} />\n </div>\n );\n};\n\nconst buildContentView = content => {\n if (!content) {\n return (\n <div>\n <Loader />\n </div>\n );\n }\n\n const {type} = content;\n switch (type) {\n case 'form':\n return <BrandForm {...content} />;\n case 'list':\n return <BrandTable {...content} />;\n case 'upload':\n return <BrandUpload {...content} />;\n case 'analytics-dashboards':\n return <BrandAnalytics {...content} />;\n case 'home':\n return <BrandDashboard {...content} />;\n }\n};\n\nconst buildDetailsView = details => {\n if (!details) return;\n return <BrandTable {...details} />;\n};\n\nconst BrandUpdate = props => {\n const {notifications, header, items, content, details, onItemClick} = props;\n const logo = 'https://static.coorpacademy.com/logo/coorp-manager.svg';\n\n const leftNavigation = buildLeftNavigation(logo, items, onItemClick);\n const notificationsView = buildNotifications(notifications);\n const headerView = buildHeader(header, notifications);\n const tabsView = buildTabs(items);\n const contentView = buildContentView(content);\n const detailsView = buildDetailsView(details);\n\n return (\n <div className={style.container}>\n {leftNavigation}\n <div className={style.contentWrapper}>\n {headerView}\n {notificationsView}\n {tabsView}\n {contentView}\n {detailsView}\n </div>\n </div>\n );\n};\n\nBrandUpdate.defaultProps = {\n notifications: []\n};\n\nBrandUpdate.propTypes = {\n notifications: PropTypes.arrayOf(PropTypes.shape(Banner.propTypes)),\n header: PropTypes.shape({...Header.propTypes}),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string,\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string,\n subTabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string\n })\n )\n })\n )\n })\n ).isRequired,\n content: PropTypes.oneOfType([\n PropTypes.shape({\n ...BrandForm.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['form'])\n }),\n PropTypes.shape({\n ...BrandTable.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list'])\n }),\n PropTypes.shape({\n ...BrandUpload.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['upload'])\n }),\n PropTypes.shape({\n ...BrandAnalytics.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['analytics-dashboards'])\n }),\n PropTypes.shape({\n ...BrandDashboard.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['home'])\n })\n ]),\n details: PropTypes.shape({\n ...BrandTable.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list'])\n }),\n onItemClick: PropTypes.func\n};\n\nexport default BrandUpdate;\n"],"file":"index.js"}
|