3rd update HW Pricing
by Mayank Dixit
HTML
<!-- move inline styling to separate files -->
<section class="section-wrapper">
<section class="section-inner details-customer">
<h3 class="sub-heading">Financial</h3>
<div class="inner">
<div class="frow">
<div class="fcol"> </div>
<div class="fcol">Price</div>
<div class="fcol">Discount</div>
<div class="fcol">Total net price</div>
<div class="fcol">Margin/Commission</div>
<div class="fcol">Total customer price</div>
</div>
<div class="frow">
<div class="fcol">HP services & supplies (EDP)</div>
<div class="fcol"> </div>
<div class="fcol"> </div>
<div class="fcol">
<input type="text" class="textbox" value="[HSNP]" disabled="disabled" />
</div>
<div class="fcol">
<input type="text" class="textbox" value="[HSNP]" disabled="disabled" />
</div>
<div class="fcol">
<input type="text" class="textbox" value="[HSNP]" disabled="disabled" />
</div>
</div>
<div class="frow">
<div class="fcol">Partner services & solutions</div>
<div class="fcol">
<input type="text" class="textbox" value="[PSP]" />
</div>
<div class="fcol">
<input type="text" class="textbox" value="[PSD]" />
</div>
<div class="fcol">
<input type="text" class="textbox" value="[PSNP]" disabled="disabled" />
</div>
<div class="fcol">
<input type="text" class="textbox" value="[PSRC]" disabled="disabled" />
</div>
<div class="fcol">
<input type="text" class="textbox"...
JavaScript
angular.module("myApp", []).
controller("mainCtrl", function ($scope) {
$scope.summary = [{}];
$scope.prepareSummary = function (evt) {
var _cat_id, _acc_id, _prod_id;
_cat_id = evt.currentTarget.attributes["cat-id"]["value"];
_prod_id = evt.currentTarget.attributes["prod-id"]["value"];
_acc_id = (evt.currentTarget.attributes["acc-id"]) ? evt.currentTarget.attributes["acc-id"]["value"] : undefined;
if (!$scope.summary[0][_cat_id]) {
$scope.summary[0][_cat_id] = {};
$scope.summary[0][_cat_id]["HardwareDevices"] = [{}];
}
if (!$scope.summary[0][_cat_id]["HardwareDevices"][0][_prod_id]) {
$scope.summary[0][_cat_id]["HardwareDevices"][0][_prod_id] = {};
$scope.summary[0][_cat_id]["HardwareDevices"][0][_prod_id]["Accessories"] = [{}]
}
if (_acc_id) {
if (!$scope.summary[0][_cat_id]["HardwareDevices"][0][_prod_id]["Accessories"][0][_acc_id]) {
$scope.summary[0][_cat_id]["HardwareDevices"][0][_prod_id]["Accessories"][0][_acc_id] = {};
}
for (acc_data in $scope.categories[0][_cat_id]["HardwareDevices"][0][_prod_id]["Accessories"][0][_acc_id]) {
$scope.summary[0][_cat_id]["HardwareDevices"][0][_prod_id]["Accessories"][0][_acc_id][acc_data] = $scope.categories[0][_cat_id]["HardwareDevices"][0][_prod_id]["Accessories"][0][_acc_id][acc_data];
}
$scope.summary[0][_cat_id]["HardwareDevices"][0][_prod_id]["Accessories"][0][_acc_id]["DeviceQuantity"] = evt.currentTarget.value;
} else {
for (prod_data in $scope.categories[0][_cat_id]["HardwareDevices"][0][_prod_id]) {
if (prod_data === "Accessories") {
continue;
}
$scope.summary[0][_cat_id]["HardwareDevices"][0][_prod_id][prod_data] = $scope.categories[0][_cat_id]["HardwareDevices"][0][_prod_id][prod_data];
}
...