Skip to content

Commit a35d470

Browse files
author
Marc Monchablon
committed
feat(iam): add 'Roadmap & Changelog' links
ref: #MAIAM-44 Signed-off-by: Marc Monchablon <[email protected]>
1 parent f89d413 commit a35d470

File tree

12 files changed

+160
-47
lines changed

12 files changed

+160
-47
lines changed

packages/manager/modules/iam/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"main": "src/index.js",
1414
"peerDependencies": {
1515
"@ovh-ux/manager-at-internet-configuration": "^1.5.0",
16+
"@ovh-ux/manager-components": "^1.26.1",
1617
"@ovh-ux/manager-core": "^12.16.1",
1718
"@ovh-ux/manager-log-to-customer": "^2.5.0",
1819
"@ovh-ux/manager-ng-apiv2-helper": "^0.1.0",

packages/manager/modules/iam/src/api-keys/api-keys.controller.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
import { API_KEY_URL } from '../iam.constants';
1+
import { API_KEY_URL, CHANGELOG } from '../iam.constants';
22
import { API_KEYS_TRACKING_HITS } from './api-keys.constants';
33

44
export default class ApplicationsController {
55
/* @ngInject */
66
constructor(IAMService, coreConfig) {
77
this.IAMService = IAMService;
88
this.API_KEY_URL = API_KEY_URL[coreConfig.getRegion()];
9+
this.CHANGELOG = CHANGELOG;
910
}
1011

1112
/**

packages/manager/modules/iam/src/api-keys/api-keys.template.html

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,24 @@
11
<div data-ui-view>
22
<div>
3-
<oui-header data-heading="{{:: 'iam_api_keys' | translate }}">
3+
<oui-header>
4+
<!-- <Heading> -->
5+
<oui-header-heading>
6+
<div class="d-flex justify-content-between">
7+
<h1
8+
class="oui-header__title"
9+
data-translate="iam_api_keys"
10+
></h1>
11+
<div
12+
class="d-flex justify-content-end align-items-center flex-wrap gap-1"
13+
>
14+
<changelog-button
15+
links="$ctrl.CHANGELOG.default.links"
16+
chapters="$ctrl.CHANGELOG.default.chapters"
17+
></changelog-button>
18+
</div>
19+
</div>
20+
</oui-header-heading>
21+
<!-- </>Heading> -->
422
</oui-header>
523
</div>
624
<div>

packages/manager/modules/iam/src/iam.constants.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,37 @@ GUIDE.LOGS.SN = GUIDE.LOGS.FR;
242242
GUIDE.LOGS.TN = GUIDE.LOGS.FR;
243243
GUIDE.LOGS.MA = GUIDE.LOGS.FR;
244244

245+
const changelogLinks = {
246+
default: {
247+
// TODO: correct links for non-ldp pages ?
248+
changelog:
249+
'https://github.com/orgs/ovh/projects/16/views/6?sliceBy%5Bvalue%5D=Logs+Data+Platform',
250+
roadmap:
251+
'https://github.com/orgs/ovh/projects/16/views/1?sliceBy%5Bvalue%5D=Logs+Data+Platform',
252+
'feature-request':
253+
'https://github.com/ovh/management-security-operations-roadmap/issues/new/choose',
254+
},
255+
ldp: {
256+
changelog:
257+
'https://github.com/orgs/ovh/projects/16/views/6?sliceBy%5Bvalue%5D=Logs+Data+Platform',
258+
roadmap:
259+
'https://github.com/orgs/ovh/projects/16/views/1?sliceBy%5Bvalue%5D=Logs+Data+Platform',
260+
'feature-request':
261+
'https://github.com/ovh/management-security-operations-roadmap/issues/new/choose',
262+
},
263+
};
264+
265+
export const CHANGELOG = {
266+
default: {
267+
links: changelogLinks.default,
268+
chapters: ['baremetal', 'server', 'dedicated'], // TODO: correct tracking ?
269+
},
270+
ldp: {
271+
links: changelogLinks.ldp,
272+
chapters: ['baremetal', 'server', 'dedicated'],
273+
},
274+
};
275+
245276
const API_KEY_URL = {
246277
EU: 'https://www.ovh.com/auth/api/createToken',
247278
CA: 'https://ca.ovh.com/auth/api/createToken',

packages/manager/modules/iam/src/iam.module.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import ngAtInternet from '@ovh-ux/ng-at-internet';
1111
import ngAtInternetUiRouterPlugin from '@ovh-ux/ng-at-internet-ui-router-plugin';
1212
import ngOvhApiWrapper from '@ovh-ux/ng-ovh-api-wrappers';
1313

14+
import { changelogButton } from '@ovh-ux/manager-components';
1415
import ngOvhFeatureFlipping from '@ovh-ux/ng-ovh-feature-flipping';
1516
import ngOvhUtils from '@ovh-ux/ng-ovh-utils';
1617
import uiKit from '@ovh-ux/ui-kit';
@@ -53,6 +54,7 @@ angular
5354
ngAtInternet,
5455
ngAtInternetUiRouterPlugin,
5556
ngOvhApiWrapper,
57+
changelogButton,
5658
ngOvhFeatureFlipping,
5759
ngOvhUtils,
5860
uiKit,

packages/manager/modules/iam/src/identities/identities.controller.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1-
import { TAG } from '../iam.constants';
1+
import { TAG, CHANGELOG } from '../iam.constants';
22

33
export default class IdentitiesController {
4+
constructor() {
5+
this.CHANGELOG = CHANGELOG;
6+
}
7+
48
/**
59
* Called back when a guide menu item is clicked
610
* @param {string} guideKey

packages/manager/modules/iam/src/identities/identities.template.html

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,36 @@
11
<div>
2-
<oui-header data-heading="{{:: 'iam_identities' | translate }}">
2+
<oui-header>
3+
<!-- <Heading> -->
4+
<oui-header-heading>
5+
<div class="d-flex justify-content-between">
6+
<h1
7+
class="oui-header__title"
8+
data-translate="iam_identities"
9+
></h1>
10+
<div
11+
class="d-flex justify-content-end align-items-center flex-wrap gap-1"
12+
>
13+
<changelog-button
14+
links="$ctrl.CHANGELOG.default.links"
15+
chapters="$ctrl.CHANGELOG.default.chapters"
16+
></changelog-button>
17+
<oui-guide-menu
18+
data-text="{{:: 'iam_identities_header_guide_text' | translate }}"
19+
>
20+
<oui-guide-menu-item
21+
data-ng-repeat="guide in $ctrl.identitiesGuides track by $index"
22+
data-href="{{:: guide.link }}"
23+
data-on-click="$ctrl.onGuideClick(guide.key)"
24+
data-external
25+
>
26+
<span data-ng-bind=":: guide.title"></span>
27+
</oui-guide-menu-item>
28+
</oui-guide-menu>
29+
</div>
30+
</div>
31+
</oui-header-heading>
32+
<!-- </>Heading> -->
33+
334
<!-- <Tabs> -->
435
<oui-header-tabs>
536
<oui-header-tabs-item data-state="iam.identities.users"
@@ -13,21 +44,6 @@
1344
></oui-header-tabs-item>
1445
</oui-header-tabs>
1546
<!-- </Tabs> -->
16-
17-
<!-- <Guide> -->
18-
<oui-guide-menu
19-
data-text="{{:: 'iam_identities_header_guide_text' | translate }}"
20-
>
21-
<oui-guide-menu-item
22-
data-ng-repeat="guide in $ctrl.identitiesGuides track by $index"
23-
data-href="{{:: guide.link }}"
24-
data-on-click="$ctrl.onGuideClick(guide.key)"
25-
data-external
26-
>
27-
<span data-ng-bind=":: guide.title"></span>
28-
</oui-guide-menu-item>
29-
</oui-guide-menu>
30-
<!-- </Guide> --->
3147
</oui-header>
3248

3349
<div data-ui-view></div>

packages/manager/modules/iam/src/logs/logs.component.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ export default {
99
activityLogsAvailability: '<',
1010
accessPolicyLogsAvailability: '<',
1111
onboardingGuides: '<',
12+
changelogLinks: '<',
1213
},
1314
};

packages/manager/modules/iam/src/logs/logs.routing.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { FEATURE_LOGS } from './logs.constants';
22
import { name } from './logs.component';
3+
import { CHANGELOG } from '../iam.constants';
34

45
const redirectTo = (transition) =>
56
transition
@@ -46,6 +47,7 @@ export default /* @ngInject */ ($stateProvider) => {
4647
type: 'action',
4748
});
4849
},
50+
changelogLinks: /* @ngInject */ () => CHANGELOG.default,
4951
features: /* @ngInject */ (ovhFeatureFlipping) =>
5052
ovhFeatureFlipping.checkFeatureAvailability(
5153
Object.values(FEATURE_LOGS).join(','),
Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,31 @@
1-
<oui-header data-heading="{{:: 'iam_logs_label' | translate }}">
1+
<oui-header>
2+
<!-- <Heading> -->
3+
<oui-header-heading>
4+
<div class="d-flex justify-content-between">
5+
<h1 class="oui-header__title" data-translate="iam_logs_label"></h1>
6+
<div
7+
class="d-flex justify-content-end align-items-center flex-wrap gap-1"
8+
>
9+
<changelog-button
10+
links="$ctrl.changelogLinks.links"
11+
chapters="$ctrl.changelogLinks.chapters"
12+
></changelog-button>
13+
<oui-guide-menu
14+
data-text="{{:: 'iam_guide_header_label' | translate }}"
15+
>
16+
<oui-guide-menu-item
17+
data-ng-repeat="guide in $ctrl.onboardingGuides track by $index"
18+
data-href="{{:: guide.link }}"
19+
data-on-click="$ctrl.onGuideClick(guide.key)"
20+
data-external
21+
>
22+
<span data-ng-bind=":: guide.title"></span>
23+
</oui-guide-menu-item>
24+
</oui-guide-menu>
25+
</div>
26+
</div>
27+
</oui-header-heading>
28+
<!-- </Heading> -->
229
<oui-header-tabs>
330
<oui-header-tabs-item
431
data-state="iam.logs.access-policy"
@@ -18,17 +45,6 @@
1845
><span data-translate="iam_audit_logs_label"></span
1946
></oui-header-tabs-item>
2047
</oui-header-tabs>
21-
22-
<oui-guide-menu data-text="{{:: 'iam_guide_header_label' | translate }}">
23-
<oui-guide-menu-item
24-
data-ng-repeat="guide in $ctrl.onboardingGuides track by $index"
25-
data-href="{{:: guide.link }}"
26-
data-on-click="$ctrl.onGuideClick(guide.key)"
27-
data-external
28-
>
29-
<span data-ng-bind=":: guide.title"></span>
30-
</oui-guide-menu-item>
31-
</oui-guide-menu>
3248
</oui-header>
3349

3450
<div class="container-fluid mt-4" data-ui-view="logsView"></div>

0 commit comments

Comments
 (0)