Added documentation for api

Working on /campaigns UI (modals, etc.)
pull/24/head
unknown 2015-06-16 18:38:43 -05:00
parent 5d0792044d
commit da1216aaf7
2 changed files with 122 additions and 13 deletions

View File

@ -23,6 +23,7 @@ function api(endpoint, method, data) {
/*
Define our API Endpoints
*/
// campaigns contains the endpoints for /campaigns
var campaigns = {
// get() - Queries the API for GET /campaigns
get: function(){
@ -34,6 +35,7 @@ var campaigns = {
}
}
// campaignId contains the endpoints for /campaigns/:id
var campaignId = {
// get() - Queries the API for GET /campaigns/:id
get: function(id){
@ -53,32 +55,66 @@ var campaignId = {
}
}
// groups contains the endpoints for /groups
var groups = {
// get() - Queries the API for GET /campaigns
// get() - Queries the API for GET /groups
get: function(){
return api("/groups", "GET", {})
},
// post() - Posts a campaign to POST /campaigns
// post() - Posts a campaign to POST /groups
post: function(group){
return api("/groups", "POST", group)
}
}
// groupId contains the endpoints for /groups/:id
var groupId = {
// get() - Queries the API for GET /groups/:id
get: function(id){
return api("/campaigns/" + id, "GET", {})
return api("/groups/" + id, "GET", {})
},
// post() - Posts a campaign to POST /campaigns/:id
post: function(campaign){
return api("/campaigns/" + campaign.id, "POST", data)
// post() - Posts a campaign to POST /groups/:id
post: function(group){
return api("/groups/" + group.id, "POST", data)
},
// put() - Puts a campaign to PUT /campaigns/:id
put: function (campaign){
return api("/campaigns/" + campaign.id, "PUT", data)
// put() - Puts a campaign to PUT /groups/:id
put: function (group){
return api("/groups/" + group.id, "PUT", data)
},
// delete() - Deletes a campaign at DELETE /campaigns/:id
// delete() - Deletes a campaign at DELETE /groups/:id
delete: function(id){
return api("/campaigns/" + id, "DELETE", data)
return api("/groups/" + id, "DELETE", data)
}
}
// templates contains the endpoints for /templates
var templates = {
// get() - Queries the API for GET /templates
get: function(){
return api("/templates", "GET", {})
},
// post() - Posts a campaign to POST /templates
post: function(template){
return api("/templates", "POST", template)
}
}
// templateId contains the endpoints for /templates/:id
var templateId = {
// get() - Queries the API for GET /templates/:id
get: function(id){
return api("/templates/" + id, "GET", {})
},
// post() - Posts a campaign to POST /templates/:id
post: function(template){
return api("/templates/" + template.id, "POST", data)
},
// put() - Puts a campaign to PUT /templates/:id
put: function (template){
return api("/templates/" + template.id, "PUT", data)
},
// delete() - Deletes a campaign at DELETE /templates/:id
delete: function(id){
return api("/templates/" + id, "DELETE", data)
}
}

View File

@ -32,7 +32,7 @@
</div> -->
</div>
<div class="row">
<button type="button" class="btn btn-primary" ng-click="newCampaign()"><i class="fa fa-plus"></i> New Campaign</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal"><i class="fa fa-plus"></i> New Campaign</button>
</div>
&nbsp;
<div ng-show="!campaigns.length">
@ -43,7 +43,7 @@
</div>
</div>
<div ng-show="campaigns.length" class="row">
<table id="table_id" class="table">
<table id="campaignTable" class="table">
<thead>
<tr>
<th>Column 1</th>
@ -88,6 +88,79 @@
</table> -->
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="campaignModalLabel">New Campaign</h4>
</div>
<div class="modal-body">
<div class="row">
<!-- <div style="text-align:center" class="alert alert-flash.type">
<i class="fa flash.icon"></i> flash.message
</div> -->
</div>
<div class="form-group">
<label for="name">Name:</label>
<input type="text" class="form-control" id="name" placeholder="Campaign name" autofocus>
<br />
<label class="control-label" for="template">Template:</label>
<input type="text" class="form-control" placeholder="Template Name" id="template" typeahead="template.name for template in templates | filter:{name:$viewValue}" typeahead-editable="false" ng-model="campaign.template.name" />
<br />
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<a role="button" class="collapsed" data-toggle="collapse" href="#smtpPanel" aria-expanded="false" aria-controls="#smtpPanel">
SMTP Options <i class="pull-right glyphicon"></i>
</a>
</div>
<div class="panel-collapse collapse" id="smtpPanel" role="tabpanel">
<div class="panel-body">
<label class="control-label" for="from">From:</label>
<input type="text" class="form-control" placeholder="First Last <test@example.com>" id="form">
<br />
<label class="control-label" for="smtp_server">Host:</label>
<input type="text" class="form-control" placeholder="smtp.example.com:25" id="smtp_server">
<br />
<label class="control-label" for="smtp_server">Username:</label>
<input type="text" class="form-control" placeholder="Username" id="smtp_server">
<br />
<label class="control-label" for="smtp_server">Password:</label>
<input type="password" class="form-control" placeholder="Password" id="smtp_server">
<br />
</div>
</div>
</div>
<label class="control-label" for="users">Groups:</label>
<form ng-submit="addGroup(group)">
<div class="input-group">
<input type="text" class="form-control" placeholder="Group Name" id="users" typeahead="group.name for group in groups | filter:{name:$viewValue}" typeahead-editable="false" ng-model="group.name" />
<span class="input-group-btn">
<button class="btn btn-primary"><i class="fa fa-plus"></i> Add</button>
</span>
</div>
</form>
<br />
<table ng-table="editGroupTableParams" class="table table-hover table-striped table-condensed">
<tbody>
<tr ng-repeat="group in $data" class="editable-row">
<td>group.name
<span ng-click="removeGroup(group)" class="remove-row"><i class="fa fa-trash-o"></i>
</span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" onclick="save()">Save changes</button>
</div>
</div>
</div>
</div>
{{end}}
{{define "scripts"}}
<script src="/js/app/campaigns.js"></script>