Skip to content

Commit 65e5476

Browse files
committed
advanced claim addition tab
1 parent 659646b commit 65e5476

File tree

2 files changed

+64
-10
lines changed

2 files changed

+64
-10
lines changed

uma-server-webapp/src/main/webapp/resources/js/policy.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -406,11 +406,13 @@ var PolicyFormView = Backbone.View.extend({
406406
this.template = _.template($('#tmpl-policy-form').html());
407407
}
408408

409-
this.scopeCollection = new Backbone.Collection();
409+
this.issuerCollection = new Backbone.Collection();
410+
410411
},
411412

412413
events:{
413-
'click .btn-share': 'addClaim',
414+
'click .btn-share': 'addWebfingerClaim',
415+
'click .btn-share-advanced': 'addAdvancedClaim',
414416
'click .btn-save': 'savePolicy',
415417
'click .btn-cancel': 'cancel'
416418
},
@@ -439,7 +441,7 @@ var PolicyFormView = Backbone.View.extend({
439441
});
440442
},
441443

442-
addClaim:function(e) {
444+
addWebfingerClaim:function(e) {
443445
e.preventDefault();
444446

445447
// post to the webfinger helper and get the response back
@@ -533,6 +535,13 @@ var PolicyFormView = Backbone.View.extend({
533535

534536
this.$el.html(this.template({policy: json, rs: rs}));
535537

538+
// build and bind issuer view
539+
var issuerView = new ListWidgetView({
540+
placeholder: $.t('policy.policy-form.issuer-placeholder'),
541+
helpBlockText: $.t('policy.policy-form.issuer-help'),
542+
collection: this.issuerCollection});
543+
$("#issuers .controls",this.el).html(issuerView.render().el);
544+
536545
$(this.el).i18n();
537546

538547
return this;

uma-server-webapp/src/main/webapp/resources/template/policy.html

Lines changed: 52 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -151,14 +151,59 @@ <h1 data-i18n="policy.policy-form.edit">Edit Policy</h1>
151151
<button class="btn btn-small btn-cancel"><i class="icon-ban-circle"></i> <span data-i18n="common.cancel">Cancel</span></button>
152152
</div>
153153

154-
<div id="add-required-claim">
155-
<form class="form-horizontal">
156-
<fieldset>
157-
<input type="text" id="email" placeholder="email address" data-i18n="[placeholder]policy.policy-form.email-address" />
158-
<button class="btn btn-info btn-share"><i class="icon-share icon-white"></i> <span data-i18n="policy.policy-form.share-email">Share with email address</span></button>
159-
</fieldset>
160-
</form>
154+
<ul class="nav nav-tabs">
155+
<li class="active"><a data-target="#policy-webfinger-tab" data-toggle="tab" href="#" data-i18n="policy.policy-form.webfinger">Webfinger</a></li>
156+
<li><a data-target="#policy-advanced-tab" data-toggle="tab" href="#" data-i18n="policy.policy-form.advanced">Advanced</a></li>
157+
</ul>
158+
159+
<div class="tab-content">
160+
<div class="tab-pane active" id="policy-webfinger-tab">
161+
<div id="add-required-claim" class="well">
162+
<form class="form-horizontal">
163+
<fieldset>
164+
<input type="text" id="email" placeholder="email address" data-i18n="[placeholder]policy.policy-form.email-address" />
165+
<button class="btn btn-info btn-share"><i class="icon-share icon-white"></i> <span data-i18n="policy.policy-form.share-email">Share with email address</span></button>
166+
</fieldset>
167+
</form>
168+
</div>
169+
</div>
170+
171+
<divdiv class="tab-pane" id="policy-advanced-tab">
172+
<div class="well">
173+
<form class="form-horizontal">
174+
<fieldset>
175+
<div id="issuers" class="control-group">
176+
<div class="controls">
177+
</div>
178+
</div>
179+
<div class="control-group">
180+
<div class="controls">
181+
<input type="text" id="name" placeholder="claim name" data-i18n="[placeholder]policy.policy-form.claim-name" />
182+
<input type="text" id="friendly-name" placeholder="friendly claim name" data-i18n="[placeholder]policy.policy-form.friendly-claim-name" />
183+
</div>
184+
</div>
185+
<div class="control-group">
186+
<div class="controls">
187+
<input type="text" id="value" placeholder="claim value" data-i18n="[placeholder]policy.policy-form.claim-value" />
188+
<select id="value-type">
189+
<option value="text" data-i18n="policy.policy-form.value-type-text">Text</option>
190+
<option value="number" data-i18n="policy.policy-form.value-type-number">Number</option>
191+
<option value="boolean" data-i18n="policy.policy-form.value-type-boolean">Boolean</option>
192+
<option value="json" data-i18n="policy.policy-form.value-type-json">JSON</option>
193+
</select>
194+
</div>
195+
</div>
196+
<div class="control-group">
197+
<div class="controls">
198+
<button class="btn btn-info btn-share-advanced"><i class="icon-share icon-white"></i> <span data-i18n="policy.policy-form.share-advanced">Add to claim set</span></button>
199+
</div>
200+
</div>
201+
</fieldset>
202+
</form>
203+
</div>
204+
161205
</div>
206+
</div>
162207

163208
<form class="form-horizontal">
164209
<fieldset>

0 commit comments

Comments
 (0)