Skip to content

Commit 0300155

Browse files
authored
Remove item icon and OAuth sign-in and sign-up message (#1553)
1 parent a6c740f commit 0300155

File tree

10 files changed

+79
-16
lines changed

10 files changed

+79
-16
lines changed

src/components/operations/operation-details/ko/runtime/operation-console.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ <h3>Parameters</h3>
115115
</div>
116116
</div>
117117
</div>
118-
<div class="col-6">
118+
<div class="col-7">
119119
<div class="form-group">
120120
<!-- ko if: parameter.options.length > 0 -->
121121
<select class="form-control" aria-label="Parameter value"
@@ -142,8 +142,8 @@ <h3>Parameters</h3>
142142
</div>
143143
</div>
144144
</div>
145-
<div class="col-2">
146-
<a href="#" role="button" data-bind="click: $component.removeQueryParameter">Remove</a>
145+
<div class="col-1">
146+
<a href="#" role="button" data-bind="click: $component.removeQueryParameter" class="btn-centered-vert btn-inline" aria-label="Remove parameter"><i class="icon-emb icon-emb-trash"></i></a>
147147
</div>
148148
</div>
149149
</div>
@@ -173,7 +173,7 @@ <h3>Headers</h3>
173173
</div>
174174
</div>
175175
</div>
176-
<div class="col-6">
176+
<div class="col-7">
177177
<div class="form-group">
178178
<!-- ko if: header.options && header.options.length > 0 -->
179179
<select class="form-control" aria-label="Header value"
@@ -199,8 +199,8 @@ <h3>Headers</h3>
199199
<!-- /ko -->
200200
</div>
201201
</div>
202-
<div class="col-2">
203-
<a href="#" role="button" data-bind="click: $component.removeHeader">Remove</a>
202+
<div class="col-1">
203+
<a href="#" role="button" data-bind="click: $component.removeHeader" class="btn-centered-vert btn-inline" aria-label="Remove header"><i class="icon-emb icon-emb-trash"></i></a>
204204
</div>
205205
</div>
206206
</div>
Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
<div data-bind="secured: roles">
2-
<!-- ko if: aadConfig -->
3-
<signin-aad data-bind="attr: { params: aadConfig }"></signin-aad>
4-
<!-- /ko -->
2+
<!-- ko if: aadConfig -->
3+
<signin-aad data-bind="attr: { params: aadConfig }"></signin-aad>
4+
<!-- /ko -->
55

6-
<!-- ko if: aadB2CConfig -->
7-
<signin-aad-b2c data-bind="attr: { params: aadB2CConfig }"></signin-aad-b2c>
8-
<!-- /ko -->
6+
<!-- ko if: aadB2CConfig -->
7+
<signin-aad-b2c data-bind="attr: { params: aadB2CConfig }"></signin-aad-b2c>
8+
<!-- /ko -->
9+
10+
<!-- ko ifnot: aadConfig && aadB2CConfig && (mode === "publishing") -->
11+
<div class="not-configured">This widget will display additional sign-in buttons when you configure <a
12+
href="https://aka.ms/apim-how-to-aad" target="_blank">Azure Active Directory</a> or <a
13+
href="https://aka.ms/apim-how-to-aadb2c" target="_blank">Azure Active Directory B2C</a>
14+
integration in your API Management service. This message appears only in the portal's administrative mode and
15+
the widget will be rendered as an empty space in the published portal, so you don't need to remove it.
16+
</div>
17+
<!-- /ko -->
918
</div>

src/components/users/signin-social/ko/signinSocialViewModel.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export class SigninSocialViewModel {
1515
public readonly aadB2CLabel: ko.Observable<string>;
1616
public readonly styles: ko.Observable<StyleModel>;
1717
public readonly roles: ko.ObservableArray<string>;
18+
public readonly mode: ko.Observable<string>;
1819

1920
constructor() {
2021
this.aadConfig = ko.observable<string>();
@@ -23,5 +24,6 @@ export class SigninSocialViewModel {
2324
this.aadB2CLabel = ko.observable<string>();
2425
this.styles = ko.observable<StyleModel>();
2526
this.roles = ko.observableArray<string>();
27+
this.mode = ko.observable<string>();
2628
}
2729
}

src/components/users/signin-social/ko/signinSocialViewModelBinder.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ import { ViewModelBinder } from "@paperbits/common/widgets";
66
import { IdentityService } from "../../../../services/identityService";
77
import { SigninSocialModel } from "../signinSocialModel";
88
import { SigninSocialViewModel } from "./signinSocialViewModel";
9+
import { ISettingsProvider } from "@paperbits/common/configuration";
910

1011

1112
export class SigninSocialViewModelBinder implements ViewModelBinder<SigninSocialModel, SigninSocialViewModel> {
1213
constructor(
1314
private readonly identityService: IdentityService,
1415
private readonly styleCompiler: StyleCompiler,
15-
private readonly eventManager: EventManager
16+
private readonly eventManager: EventManager,
17+
private readonly settingsProvider: ISettingsProvider
1618
) { }
1719

1820
public async modelToViewModel(model: SigninSocialModel, viewModel?: SigninSocialViewModel, bindingContext?: Bag<any>): Promise<SigninSocialViewModel> {
@@ -67,6 +69,9 @@ export class SigninSocialViewModelBinder implements ViewModelBinder<SigninSocial
6769
viewModel.aadB2CConfig(JSON.stringify(aadB2CConfig));
6870
}
6971

72+
const settings = await this.settingsProvider.getSettings();
73+
viewModel.mode(settings["environment"]);
74+
7075
return viewModel;
7176
}
7277

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,12 @@
1+
<!-- ko if: identityProvider -->
12
<signup-social-runtime></signup-social-runtime>
3+
<!-- /ko -->
4+
5+
<!-- ko ifnot: identityProvider && (mode === "publishing") -->
6+
<div class="not-configured">This widget will display a sign-up form when you configure <a
7+
href="https://aka.ms/apim-how-to-aad" target="_blank">Azure Active Directory</a> or<a
8+
href="https://aka.ms/apim-how-to-aadb2c" target="_blank">Azure Active Directory B2C</a> integration in your API
9+
Management service. This message appears only in the portal's administrative mode and the widget will be rendered as
10+
an empty space in the published portal, so you don't need to remove it.
11+
</div>
12+
<!-- /ko -->

src/components/users/signup-social/ko/signupSocialViewModel.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,12 @@ import { Component } from "@paperbits/common/ko/decorators";
66
selector: "signup-social",
77
template: template
88
})
9-
export class SignupSocialViewModel { }
9+
export class SignupSocialViewModel {
10+
public readonly identityProvider: ko.Observable<boolean>;
11+
public readonly mode: ko.Observable<string>;
12+
13+
constructor() {
14+
this.identityProvider = ko.observable<boolean>();
15+
this.mode = ko.observable<string>();
16+
}
17+
}

src/components/users/signup-social/ko/signupSocialViewModelBinder.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
import { Bag } from "@paperbits/common";
22
import { ComponentFlow } from "@paperbits/common/editing";
33
import { ViewModelBinder } from "@paperbits/common/widgets";
4+
import { IdentityService } from "../../../../services/identityService";
45
import { SignupSocialModel } from "../signupSocialModel";
56
import { SignupSocialViewModel } from "./signupSocialViewModel";
7+
import { ISettingsProvider } from "@paperbits/common/configuration";
68

79
export class SignupSocialViewModelBinder implements ViewModelBinder<SignupSocialModel, SignupSocialViewModel> {
10+
constructor(
11+
private readonly identityService: IdentityService,
12+
private readonly settingsProvider: ISettingsProvider
13+
) { }
14+
815
public async modelToViewModel(model: SignupSocialModel, viewModel?: SignupSocialViewModel, bindingContext?: Bag<any>): Promise<SignupSocialViewModel> {
916
if (!viewModel) {
1017
viewModel = new SignupSocialViewModel();
@@ -17,6 +24,17 @@ export class SignupSocialViewModelBinder implements ViewModelBinder<SignupSocial
1724
draggable: true
1825
};
1926

27+
const identityProviders = await this.identityService.getIdentityProviders();
28+
29+
const identityProvider = identityProviders.find(x => x.type === "aad" || x.type === "aadB2C");
30+
31+
if (identityProvider) {
32+
viewModel.identityProvider(true);
33+
}
34+
35+
const settings = await this.settingsProvider.getSettings();
36+
viewModel.mode(settings["environment"]);
37+
2038
return viewModel;
2139
}
2240

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
.btn-centered-vert {
2+
display: flex;
3+
align-items: center;
4+
height: 100%;
5+
}
6+
7+
.btn-inline {
8+
padding-bottom: 1rem;
9+
}

src/themes/website/styles/forms.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,4 +281,4 @@ $search-button-width: 30px;
281281
}
282282
.input-password::-ms-reveal {
283283
display: none;
284-
}
284+
}

src/themes/website/styles/styles.scss

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@
2424
@import "utils.scss";
2525
@import "pills.scss";
2626
@import "resizables.scss";
27+
@import "buttons.scss";
2728
@import "badges.scss";
28-
@import "panels.scss";
29+
@import "panels.scss";

0 commit comments

Comments
 (0)