Updated to the latest iteration of the sales tracking app; Added some temporary photos for UBS.
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-key-name="name">Name</th>
|
||||
<th data-key-name="category">Category</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
@@ -33,6 +34,10 @@
|
||||
<label>Name</label>
|
||||
<input type="text" class="form-control" name="name" id="createDialog_NameField" tabindex="0">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Category</label>
|
||||
<div id="createDialog_categoryDropdown" style="position: relative;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default btn-md" id="createDialog_CreateButton" tabindex="0">Create</button>
|
||||
@@ -52,6 +57,10 @@
|
||||
<label>Name</label>
|
||||
<input type="text" class="form-control" name="name" id="editDialog_NameField" tabindex="0">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Category</label>
|
||||
<div id="editDialog_categoryDropdown" style="position: relative;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default btn-md" id="editDialog_SaveButton" tabindex="0">Save</button>
|
||||
@@ -78,6 +87,8 @@
|
||||
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
$(function() {
|
||||
var categoriesById;
|
||||
|
||||
//# sourceURL=subcategories.html
|
||||
var dataTable = new LinkedTable($('#subcategory-table'), {
|
||||
url: "subcategories/list",
|
||||
@@ -86,6 +97,34 @@
|
||||
parameters: function() {
|
||||
return {showDeleted: $('#includeDeletedToggle').is(":checked") ? true : false};
|
||||
},
|
||||
supportingData: [{name: "categories", url: "categories/List", parameters: {showDeleted: true}, postProcess: function(data) {
|
||||
var byId;
|
||||
|
||||
//Convert the category list into a map by category id.
|
||||
byId = data.reduce(function(map, category) {
|
||||
map[category.id] = category;
|
||||
return map;
|
||||
}, {});
|
||||
|
||||
//Setup the two dialogs (new & edit).
|
||||
$('#createDialog_categoryDropdown').buildDropdown(data, {textAttr: 'name', defaultText: 'Pick One', selectionClass: 'dropdownSelection', buttonStyling: 'min-width: 100px;'});
|
||||
$('#editDialog_categoryDropdown').buildDropdown(data, {textAttr: 'name', defaultText: 'Pick One', selectionClass: 'dropdownSelection', buttonStyling: 'min-width: 100px;'});
|
||||
|
||||
//Save the categories by id for use when setting the editor dialog's dropdown selection.
|
||||
categoriesById = byId;
|
||||
|
||||
return byId;
|
||||
}}],
|
||||
cellDataHandlers: {category: function($cell, subcategory, supportingData) {
|
||||
try {
|
||||
var category = supportingData.categories[subcategory.categoryId];
|
||||
|
||||
$cell.html(category.name);
|
||||
}catch(err) {
|
||||
console.log(err);
|
||||
$cell.html("Not Found");
|
||||
}
|
||||
}},
|
||||
postAddRowHandler: function($row, dataObject) {
|
||||
if(dataObject.deletedAt) {
|
||||
$("td:first", $row).prepend("<span class='glyphicon glyphicon-remove-circle' style='margin-right: 10px;' aria-hidden='true'></span>");
|
||||
@@ -97,16 +136,17 @@
|
||||
dataTable.refresh();
|
||||
|
||||
//---- Create Dialog ----
|
||||
$("#createButton").on("click", function(event) {
|
||||
$("#createDialog").modal();
|
||||
$("#subcategories #createButton").on("click", function(event) {
|
||||
$("#subcategories #createDialog").modal();
|
||||
});
|
||||
$("#createDialog_CreateButton").on("click", function(event) {
|
||||
$("#subcategories #createDialog_CreateButton").on("click", function(event) {
|
||||
try {
|
||||
$.post("/admin/subcategories/create", {
|
||||
name: $("#createDialog_NameField").val()
|
||||
name: $("#subcategories #createDialog_NameField").val(),
|
||||
categoryId: $('#subcategories #createDialog_CategoryDropdown').dropdown().getSelection().id
|
||||
}, function(data) {
|
||||
if(data.result == "success") {
|
||||
$("#createDialog").modal("hide");
|
||||
$("#subcategories #createDialog").modal("hide");
|
||||
dataTable.refresh();
|
||||
}
|
||||
else {
|
||||
@@ -117,24 +157,24 @@
|
||||
alert(e);
|
||||
}
|
||||
});
|
||||
$("#createDialog").on('shown.bs.modal', function() {
|
||||
$("#subcategories #createDialog").on('shown.bs.modal', function() {
|
||||
$('#createDialog_NameField').focus();
|
||||
});
|
||||
//----------------------------
|
||||
|
||||
//---- Delete Dialog ----
|
||||
$("#deleteButton").on("click", function(event) {
|
||||
$("#subcategories #deleteButton").on("click", function(event) {
|
||||
//debugger;
|
||||
if(dataTable.getSelectedRow() != null) {
|
||||
$("#deleteDialog_NameField").html(dataTable.getSelectedRow().data("model").name);
|
||||
$("#deleteDialog").modal();
|
||||
$("#subcategories #deleteDialog_NameField").html(dataTable.getSelectedRow().data("model").name);
|
||||
$("#subcategories #deleteDialog").modal();
|
||||
}
|
||||
});
|
||||
$("#deleteDialog_DeleteButton").on("click", function(event) {
|
||||
$("#subcategories #deleteDialog_DeleteButton").on("click", function(event) {
|
||||
if(dataTable.getSelectedRow() != null) {
|
||||
$.post("/admin/subcategories/delete", {id: dataTable.getSelectedRow().data("model").id}, function(data) {
|
||||
if(data.result == "success") {
|
||||
$("#deleteDialog").modal("hide");
|
||||
$("#subcategories #deleteDialog").modal("hide");
|
||||
dataTable.refresh();
|
||||
}
|
||||
else {
|
||||
@@ -146,21 +186,24 @@
|
||||
//-----------------------------
|
||||
|
||||
//----- Edit Dialog ----
|
||||
$("#editButton").on("click", function(event) {
|
||||
$("#subcategories #editButton").on("click", function(event) {
|
||||
//debugger;
|
||||
if(dataTable.getSelectedRow() != null) {
|
||||
$('#editDialog_NameField').val(dataTable.getSelectedRow().data("model").name);
|
||||
$("#editDialog").modal();
|
||||
var selectedModel = dataTable.getSelectedRow().data("model");
|
||||
|
||||
$('#editDialog_NameField').val(selectedModel.name);
|
||||
$('#subcategories #editDialog_categoryDropdown').dropdown().setSelection(categoriesById[selectedModel.categoryId]);
|
||||
$("#subcategories #editDialog").modal();
|
||||
}
|
||||
});
|
||||
$("#editDialog_SaveButton").on("click", function(event) {
|
||||
$("#subcategories #editDialog_SaveButton").on("click", function(event) {
|
||||
if(dataTable.getSelectedRow() != null) {
|
||||
$.post("/admin/subcategories/edit", {
|
||||
id: dataTable.getSelectedRow().data("model").id,
|
||||
name: $("#editDialog_NameField").val()
|
||||
name: $("#subcategories #editDialog_NameField").val()
|
||||
}, function(data) {
|
||||
if(data.result == "success") {
|
||||
$("#editDialog").modal("hide");
|
||||
$("#subcategories #editDialog").modal("hide");
|
||||
dataTable.refresh();
|
||||
}
|
||||
else {
|
||||
@@ -169,7 +212,7 @@
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
$("#editDialog").on('shown.bs.modal', function() {
|
||||
$("#subcategories #editDialog").on('shown.bs.modal', function() {
|
||||
$('#editDialog_NameField').focus().select();
|
||||
});
|
||||
//---------------------
|
||||
|
||||
Reference in New Issue
Block a user