Notification settings added to the UI

This commit is contained in:
Mark McDowall 2013-05-19 21:19:54 -07:00
commit c5376319fe
21 changed files with 168 additions and 35 deletions

View file

@ -0,0 +1,7 @@
"use strict";
define(['app', 'Settings/Notifications/Model'], function () {
NzbDrone.Settings.Notifications.Collection = Backbone.Collection.extend({
url : NzbDrone.Constants.ApiRoot + '/notification',
model: NzbDrone.Settings.Notifications.Model
});
});

View file

@ -0,0 +1,5 @@
<div class="row">
<div class="span12">
<div id="x-notifications" class="form-horizontal"></div>
</div>
</div>

View file

@ -0,0 +1,8 @@
'use strict';
define(['app', 'Settings/Notifications/ItemView'], function () {
NzbDrone.Settings.Notifications.CollectionView = Backbone.Marionette.CompositeView.extend({
itemView : NzbDrone.Settings.Notifications.ItemView,
itemViewContainer : '#x-notifications',
template : 'Settings/Notifications/CollectionTemplate'
});
});

View file

@ -0,0 +1,47 @@
<fieldset>
<legend>{{name}}</legend>
<div class="control-group">
<label class="control-label">On Grab</label>
<div class="controls">
<label class="checkbox toggle well">
<input type="checkbox" name="onGrab"/>
<p>
<span>On</span>
<span>Off</span>
</p>
<div class="btn btn-primary slide-button"></div>
</label>
<span class="help-inline-checkbox">
<i class="icon-question-sign" title="Do you want to get notifications when episodes are grabbed?"></i>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">On Download</label>
<div class="controls">
<label class="checkbox toggle well">
<input type="checkbox" name="onDownload"/>
<p>
<span>On</span>
<span>Off</span>
</p>
<div class="btn btn-primary slide-button"></div>
</label>
<span class="help-inline-checkbox">
<i class="icon-question-sign" title="Do you want to get notifications when episodes are downloaded?"></i>
</span>
</div>
</div>
{{#each fields}}
{{formField}}
{{/each}}
</fieldset>

View file

@ -0,0 +1,33 @@
"use strict";
define([
'app',
'Settings/Notifications/Collection'
], function () {
NzbDrone.Settings.Notifications.ItemView = Backbone.Marionette.ItemView.extend({
template : 'Settings/Notifications/ItemTemplate',
initialize: function () {
NzbDrone.vent.on(NzbDrone.Commands.SaveSettings, this.saveSettings, this);
},
saveSettings: function () {
//this.model.save(undefined, this.syncNotification("Naming Settings Saved", "Couldn't Save Naming Settings"));
},
syncNotification: function (success, error) {
return {
success: function () {
window.alert(success);
},
error: function () {
window.alert(error);
}
};
}
});
});

View file

@ -0,0 +1,5 @@
"use strict";
define(['app'], function () {
NzbDrone.Settings.Notifications.Model = Backbone.DeepModel.extend({
});
});

View file

@ -1,3 +0,0 @@
<div>
Notification settings will go here
</div>

View file

@ -1,11 +0,0 @@
'use strict';
define([
'app', 'Settings/SettingsModel'
], function () {
NzbDrone.Settings.Notifications.NotificationsView = Backbone.Marionette.ItemView.extend({
template: 'Settings/Notifications/NotificationsTemplate'
});
});