| Current Path : C:/Users/Public/Documents/DXTREME 13.1 Demos/DXSK8/DXSK8.Desktop/views/ |
| Current File : C:/Users/Public/Documents/DXTREME 13.1 Demos/DXSK8/DXSK8.Desktop/views/Stores.js |
DXSK8.Desktop.Stores = function(params) {
var utils = DXSK8.Desktop.utils;
var selectedStore;
var viewModel = {
markers: ko.observableArray([]),
stores: {
store: DXSK8.db.Stores,
postProcess: function(stores) {
var markers = $.map(stores, function(store) {
return {
location: store.address,
tooltip: {
content: "<b>" + store.address + "</b><br />",
close: function(tooltip) {
if(selectedStore)
selectedStore.selected(false);
},
opened: false
},
clickAction: function() {
store.setSelectedItem();
return false;
}
}
});
viewModel.markers(markers);
return stores;
},
map: function(store, index) {
return {
phones: store.Phones,
notes: store.Notes,
address: utils.getFullAddressOfStore(store.Address),
selected: ko.observable(false),
setSelectedItem: function() {
var m = viewModel.markers(),
tooltip = m[index].tooltip;
$.each(m, function(i) {
this.tooltip.opened = index === i;
});
viewModel.markers(m.slice(0));
if(selectedStore)
selectedStore.selected(false);
selectedStore = this;
selectedStore.selected(true);
this.selected(true);
}
};
}
}
};
return viewModel;
};