Skip to content

Commit 4ee2d2a

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 4ee2d2a

18 files changed

+257
-97
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/components/createPolicy/createPolicy.controller.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
ENTITY_DESCRIPTION_PATTERN,
77
ENTITY_NAME_PATTERN,
88
TAG,
9+
CHANGELOG,
910
} from '../../iam.constants';
1011
import { URL } from '../../iam.service';
1112
import { CREATE_POLICY_TAG } from './createPolicy.constants';
@@ -26,6 +27,7 @@ export default class CreatePolicyController {
2627
this.ENTITY_RESOURCE_TYPE = ENTITY.RESOURCE_TYPE;
2728
this.URL_RESOURCE_GROUP = URL.RESOURCE_GROUP;
2829
this.TAG = TAG;
30+
this.CHANGELOG = CHANGELOG;
2931

3032
/**
3133
* The oui-select confirm-remove property works with promises

packages/manager/modules/iam/src/components/createPolicy/createPolicy.template.html

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,38 @@
2222
</iam-delete-entity>
2323

2424
<oui-header
25-
data-heading="{{ $ctrl.translations.header | translate }}"
2625
data-description="{{ 'iam_create_policy_header_description' | translate }}"
2726
>
28-
<!-- <Guide> -->
29-
<oui-guide-menu
30-
data-text="{{:: 'iam_create_policy_header_guide_text' | translate }}"
31-
>
32-
<oui-guide-menu-item
33-
data-ng-repeat="guide in $ctrl.policiesGuides track by $index"
34-
data-href="{{:: guide.link }}"
35-
data-on-click="$ctrl.onGuideClick(guide.key)"
36-
data-external
37-
>
38-
<span data-ng-bind=":: guide.title"></span>
39-
</oui-guide-menu-item>
40-
</oui-guide-menu>
41-
<!-- </Guide> -->
27+
<!-- <Heading> -->
28+
<oui-header-heading>
29+
<div class="d-flex justify-content-between">
30+
<h1
31+
class="oui-header__title"
32+
data-translate="{{ $ctrl.translations.header }}"
33+
></h1>
34+
<div
35+
class="d-flex justify-content-end align-items-center flex-wrap gap-1"
36+
>
37+
<changelog-button
38+
links="$ctrl.CHANGELOG.default.links"
39+
chapters="$ctrl.CHANGELOG.default.chapters"
40+
></changelog-button>
41+
<oui-guide-menu
42+
data-text="{{:: 'iam_create_policy_header_guide_text' | translate }}"
43+
>
44+
<oui-guide-menu-item
45+
data-ng-repeat="guide in $ctrl.policiesGuides track by $index"
46+
data-href="{{:: guide.link }}"
47+
data-on-click="$ctrl.onGuideClick(guide.key)"
48+
data-external
49+
>
50+
<span data-ng-bind=":: guide.title"></span>
51+
</oui-guide-menu-item>
52+
</oui-guide-menu>
53+
</div>
54+
</div>
55+
</oui-header-heading>
56+
<!-- </Heading> -->
4257
</oui-header>
4358

4459
<!-- <Error> -->

packages/manager/modules/iam/src/components/createResourceGroup/createResourceGroup.controller.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import { cloneDeep, isEqual } from 'lodash-es';
22

3-
import { ENTITY, ENTITY_NAME_PATTERN, TAG } from '../../iam.constants';
3+
import {
4+
ENTITY,
5+
ENTITY_NAME_PATTERN,
6+
TAG,
7+
CHANGELOG,
8+
} from '../../iam.constants';
49
import {
510
CREATE_RESOURCE_GROUP_TAG,
611
CREATE_RESOURCE_GROUP_MAX_SIZE,
@@ -17,6 +22,7 @@ export default class CreateResourceGroupController {
1722
this.ENTITY_NAME_PATTERN = ENTITY_NAME_PATTERN;
1823
this.ENTITY_RESOURCE_TYPE = ENTITY.RESOURCE_TYPE;
1924
this.CREATE_RESOURCE_GROUP_MAX_SIZE = CREATE_RESOURCE_GROUP_MAX_SIZE;
25+
this.CHANGELOG = CHANGELOG;
2026

2127
/**
2228
* The oui-select confirm-remove property works with promises

packages/manager/modules/iam/src/components/createResourceGroup/createResourceGroup.template.html

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,38 @@
1616
</iam-delete-entity>
1717

1818
<oui-header
19-
data-heading="{{ $ctrl.translations.header | translate }}"
2019
data-description="{{ 'iam_create_resource_group_header_description' | translate }}"
2120
>
22-
<!-- <Guide> -->
23-
<oui-guide-menu
24-
data-text="{{:: 'iam_create_resource_group_header_guide_text' | translate }}"
25-
>
26-
<oui-guide-menu-item
27-
data-ng-repeat="guide in $ctrl.policiesGuides track by $index"
28-
data-href="{{:: guide.link }}"
29-
data-on-click="$ctrl.onGuideClick(guide.key)"
30-
data-external
31-
>
32-
<span data-ng-bind=":: guide.title"></span>
33-
</oui-guide-menu-item>
34-
</oui-guide-menu>
35-
<!-- </Guide> -->
21+
<!-- <Heading> -->
22+
<oui-header-heading>
23+
<div class="d-flex justify-content-between">
24+
<h1
25+
class="oui-header__title"
26+
data-translate="{{ $ctrl.translations.header }}"
27+
></h1>
28+
<div
29+
class="d-flex justify-content-end align-items-center flex-wrap gap-1"
30+
>
31+
<changelog-button
32+
links="$ctrl.CHANGELOG.default.links"
33+
chapters="$ctrl.CHANGELOG.default.chapters"
34+
></changelog-button>
35+
<oui-guide-menu
36+
data-text="{{:: 'iam_create_resource_group_header_guide_text' | translate }}"
37+
>
38+
<oui-guide-menu-item
39+
data-ng-repeat="guide in $ctrl.policiesGuides track by $index"
40+
data-href="{{:: guide.link }}"
41+
data-on-click="$ctrl.onGuideClick(guide.key)"
42+
data-external
43+
>
44+
<span data-ng-bind=":: guide.title"></span>
45+
</oui-guide-menu-item>
46+
</oui-guide-menu>
47+
</div>
48+
</div>
49+
</oui-header-heading>
50+
<!-- </Heading> -->
3651
</oui-header>
3752

3853
<!-- <Error> -->

packages/manager/modules/iam/src/dashboard/dashboard.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 DashboardController {
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/dashboard/dashboard.template.html

Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,36 @@
11
<div>
2-
<oui-header
3-
data-heading="{{:: 'iam_dashboard_header_heading' | translate }}"
4-
>
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_dashboard_header_heading"
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_dashboard_header_guide_text' | translate }}"
19+
>
20+
<oui-guide-menu-item
21+
data-ng-repeat="guide in $ctrl.onboardingGuides 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+
534
<!-- <Tabs> -->
635
<oui-header-tabs data-ng-if="!$ctrl.iamPolicies.error">
736
<oui-header-tabs-item data-state="iam.dashboard.policies"
@@ -26,21 +55,6 @@
2655
></oui-header-tabs-item>
2756
</oui-header-tabs>
2857
<!-- </Tabs> -->
29-
30-
<!-- <Guide> -->
31-
<oui-guide-menu
32-
data-text="{{:: 'iam_dashboard_header_guide_text' | translate }}"
33-
>
34-
<oui-guide-menu-item
35-
data-ng-repeat="guide in $ctrl.onboardingGuides track by $index"
36-
data-href="{{:: guide.link }}"
37-
data-on-click="$ctrl.onGuideClick(guide.key)"
38-
data-external
39-
>
40-
<span data-ng-bind=":: guide.title"></span>
41-
</oui-guide-menu-item>
42-
</oui-guide-menu>
43-
<!-- </Guide> -->
4458
</oui-header>
4559

4660
<oui-message data-ng-if="$ctrl.iamPolicies.error" data-type="info">

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

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,28 @@ 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+
changelog:
248+
'https://github.com/orgs/ovh/projects/16/views/1?sliceBy%5Bvalue%5D=Identity+and+Access+Management+%28IAM%29',
249+
roadmap:
250+
'https://github.com/orgs/ovh/projects/16/views/6?sliceBy%5Bvalue%5D=Identity+and+Access+Management+%28IAM%29',
251+
'feature-request':
252+
'https://github.com/ovh/management-security-operations-roadmap/issues/new/choose',
253+
},
254+
};
255+
256+
export const CHANGELOG = {
257+
default: {
258+
links: changelogLinks.default,
259+
chapters: [
260+
'identity-security-operation',
261+
'identity-access-management',
262+
'identity-access-management',
263+
],
264+
},
265+
};
266+
245267
const API_KEY_URL = {
246268
EU: 'https://www.ovh.com/auth/api/createToken',
247269
CA: 'https://ca.ovh.com/auth/api/createToken',

0 commit comments

Comments
 (0)