1
0
Fork 0
fgdata/Phi/widgets/sidebarwidget.js

48 lines
1.2 KiB
JavaScript
Raw Normal View History

define([
'jquery', 'knockout', 'text!./sidebarwidget.html', 'jquery-ui/draggable', 'jquery-ui/dialog'
], function(jquery, ko, htmlString) {
function ViewModel(params, componentInfo) {
var self = this;
self.element = componentInfo.element;
self.widget = ko.observable(params.widget);
self.pinned = ko.observable(true);
self.pin = function() {
self.pinned(!self.pinned());
}
self.close = function() {
jquery(self.element).remove();
}
self.detach = function() {
jquery(self.element).find('.phi-widget').dialog();
jquery(self.element).remove();
}
self.expanded = ko.observable(true);
self.onMouseover = function() {
self.expanded(true);
}
self.onMouseout = function() {
if (!self.pinned())
self.expanded(false);
}
}
// Return component definition
return {
viewModel : {
createViewModel : function(params, componentInfo) {
return new ViewModel(params, componentInfo);
},
},
template : htmlString
};
});