Author: [email protected]
Date: Mon Aug 15 11:34:48 2011
New Revision: 1316

Log:
[AMDATUOPENSOCIAL-88] Implemented the UI part, next thing to do is to implement 
the add and remove button logic

Modified:
   
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/css/dashboardui.css
   
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/html/templates.html
   
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/js/lib/jquery.dashboard.min.js

Modified: 
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/css/dashboardui.css
==============================================================================
--- 
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/css/dashboardui.css
  (original)
+++ 
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/css/dashboardui.css
  Mon Aug 15 11:34:48 2011
@@ -12,8 +12,8 @@
   background: no-repeat scroll 0px -51px transparent;
 }
 #layout-dialog .layoutchoice {
-  width: 82px; 
-  height: 51px; 
+  width: 82px;
+  height: 51px;
   float:left;
   list-style-type:none;
   margin:5px;
@@ -211,11 +211,10 @@
   border:2px none white;
   float:left;
   font-size:0.77em;
-  height:142px;
   margin:0;
   overflow:hidden;
   padding:0 20px 0 142px;
-  width:152px;
+  width:350px;
 }
 
 ol.widgets {
@@ -249,10 +248,20 @@
 
 .widgetitem .add-button {
   float:left;
-  margin:81px 0 0 -131px;
+  margin:0 0 0 -131px;
   width:auto;
 }
 
+.widgetitem .remove-button {
+  float:left;
+  margin:0 0 0 -20px;
+  width:auto;
+}
+
+.widgetitem hr {
+  margin:0 0 0 -120px;
+}
+
 .widgetitem h3 {
   margin:11px 0 0;
   padding:0;

Modified: 
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/html/templates.html
==============================================================================
--- 
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/html/templates.html
  (original)
+++ 
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/html/templates.html
  Mon Aug 15 11:34:48 2011
@@ -1,82 +1,95 @@
 <script type="text/html" id="categorytemplate">
-       <li id="<%= id %>" class="selectcategory"><button><%= title %> (<%= 
amount %>)</button></li>
+  <li id="<%= id %>" class="selectcategory"><button><%= title %> (<%= amount 
%>)</button></li>
 </script>
 
 
 <script type="text/html" id="widgettemplate">
-       <div class="ui-widget ui-corner-all ui-widget-content widget" id="<%= 
id %>" title="<%= title %>">
-               <div class="ui-widget-header ui-corner-all widgetheader">
-                       <span class="widgettitle"><%= title %></span>
-                       <span class="right icons hidden">
-                               <span class="ui-icon ui-icon-newwin 
widgetopenfullscreen"></span>
-                               <span class="ui-icon ui-icon-arrowthickstop-1-s 
menutrigger"></span>
-                               <span class="hiddenmenu">
-                                       <ul style="top: 13px;" class="hidden 
controls ui-widget-header">
-                                               <li class="widgetClose">
-                                                       <span class="ui-icon 
ui-icon-minus"></span>
-                                                       <a class="minimization" 
href="#">Minimize</a>
-                                               </li>
-                                               <li class="widgetOpen">
-                                                       <span class="ui-icon 
ui-icon-extlink"></span>
-                                                       <a class="minimization" 
href="#">Maximize</a>
-                                               </li>
-                                               <li class="widgetDelete">
-                                                       <span class="ui-icon 
ui-icon-close"></span>
-                                                       <a class="delete" 
href="#">Delete</a>
-                                               </li>
-                                               <li class="widgetEdit">
-                                                       <span class="ui-icon 
ui-icon-tag"></span>
-                                                       <a class="no_target" 
href="#">Edit</a>
-                                               </li>
-                                               <li class="widgetRefresh">
-                                                       <span class="ui-icon 
ui-icon-arrowrefresh-1-w"></span>
-                                                       <a class="no_target" 
href="#">Refresh</a>
-                                               </li>
-                                       </ul>
-                               </span>
-                       </span>
-               </div>
-               <div class="widgetcontent" id="widgetcontent_<%= id %>">
-               </div>
-       </div>
+  <div class="ui-widget ui-corner-all ui-widget-content widget" id="<%= id %>" 
title="<%= title %>">
+    <div class="ui-widget-header ui-corner-all widgetheader">
+      <span class="widgettitle"><%= title %></span>
+      <span class="right icons hidden">
+        <span class="ui-icon ui-icon-newwin widgetopenfullscreen"></span>
+        <span class="ui-icon ui-icon-arrowthickstop-1-s menutrigger"></span>
+        <span class="hiddenmenu">
+          <ul style="top: 13px;" class="hidden controls ui-widget-header">
+            <li class="widgetClose">
+              <span class="ui-icon ui-icon-minus"></span>
+              <a class="minimization" href="#">Minimize</a>
+            </li>
+            <li class="widgetOpen">
+              <span class="ui-icon ui-icon-extlink"></span>
+              <a class="minimization" href="#">Maximize</a>
+            </li>
+            <li class="widgetDelete">
+              <span class="ui-icon ui-icon-close"></span>
+              <a class="delete" href="#">Delete</a>
+            </li>
+            <li class="widgetEdit">
+              <span class="ui-icon ui-icon-tag"></span>
+              <a class="no_target" href="#">Edit</a>
+            </li>
+            <li class="widgetRefresh">
+              <span class="ui-icon ui-icon-arrowrefresh-1-w"></span>
+              <a class="no_target" href="#">Refresh</a>
+            </li>
+          </ul>
+        </span>
+      </span>
+    </div>
+    <div class="widgetcontent" id="widgetcontent_<%= id %>">
+    </div>
+  </div>
 </script>
 
 <script type="text/html" id="selectlayouttemplate">
-       <li class="layoutchoice" id="<%= id %>" style="background-image: 
url('<%= image %>')"></li>
+  <li class="layoutchoice" id="<%= id %>" style="background-image: url('<%= 
image %>')"></li>
 </script>
 
 <script type="text/html" id="addwidgettemplate">
+  <li class="widgetitem">
+    <img src="<%= screenshot %>" alt="" height="80" width="120">
 
-       <li class="widgetitem">
-               <img src="<%= screenshot %>" alt="" height="60" width="120">
-               <div class="add-button">
-                               <input class="macro-button-add addwidget" 
id="addwidget<%= id %>" value="Add it Now" type="button"><br>
-                               <input class="macro-hidden-uri" value="<%= url 
%>" type="hidden">
-               </div>
-               <!-- // .add-button -->
-               <h3><a href=""><%= title %></a></h3>
-
-               <p>By <%= author %></p>
-               <p><%= description %></p>
-       </li>
+    <!-- // .add-button -->
+    <h3><a href=""><%= title %></a></h3>
+    <p><b>Author:</b> <%= author %></p>
+    <p><b>Description:</b> <%= description %></p>
+    <p>
+      <div class="add-button">
+        <input class="macro-button-add addwidget" id="addwidget<%= id %>" 
value="Add to dashboard" type="button"><br>
+        <input class="macro-hidden-uri" value="<%= url %>" type="hidden">
+      </div>
+      <div class="remove-button">
+        <input class="macro-button-remove removewidget" id="removewidget<%= id 
%>" value="Remove from store" type="button">
+        <input class="macro-hidden-uri" value="<%= url %>" type="hidden">
+      </div>
+      <br/><br/><hr/>
+    </p>
+  </li>
 
 </script>
 
-<div class="dialog" id="addwidgetdialog" title="Widget Directory">
-       <ul class="categories">
-       </ul>
-
-       <div class="panel-body">
-               <ol id="category-all" class="widgets">
-               </ol>
-       </div>
+<div class="dialog" id="addwidgetdialog" title="Gadget repository" 
style="width:1000px">
+  <ul class="categories">
+  </ul>
+
+  <div class="panel-body">
+    <b>Add custom gadget</b>
+    <div class="new-button">
+      URI:<input id="newgadgeturi" type="edit" size="65">
+      <input class="macro-button-add addwidget" id="newwidget" value="Add" 
type="button"><br/>
+      <input type="checkbox" type="button">Add to store
+      <br/><hr/><br/>
+    </div>
+    <ol id="category-all" class="widgets">
+    </ol>
+  </div>
 </div>
 
 
 <div class="dialog" id="editLayout" title="Edit layout">
-       <div class="panel-body" id="layout-dialog">
-                       <p><strong>Choose dashboard layout</strong></p>
-                       <ul class="layoutselection">
-                       </ul>
-       </div>
+  <div class="panel-body" id="layout-dialog">
+      <p><strong>Choose dashboard layout</strong></p>
+      <ul class="layoutselection">
+      </ul>
+  </div>
 </div>

Modified: 
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/js/lib/jquery.dashboard.min.js
==============================================================================
--- 
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/js/lib/jquery.dashboard.min.js
       (original)
+++ 
trunk/amdatu-opensocial/opensocial-dashboard/src/main/resources/static/js/lib/jquery.dashboard.min.js
       Mon Aug 15 11:34:48 2011
@@ -1 +1 @@
-(function(a){a.fn.dashboard=function(m){var k={};var f;var 
j;k.layout;k.element=this;k.widgets={};k.widgetsToAdd={};k.widgetCategories={};k.initialized=false;k.serialize=function(){k.log("entering
 serialize function",1);var o='{"layout": "'+k.layout.id+'", "data" : [';var 
n=0;if(a("."+b.columnClass).length==0){k.log(b.columnClass+" class not 
found",5)}a("."+b.columnClass).each(function(){a(this).children().each(function(){if(a(this).hasClass(b.widgetClass)){if(n>0){o+=","}o+=(k.getWidget(a(this).attr("id"))).serialize();n++}})});o+="]}";return
 o};k.log=function(o,p){if(p>=b.debuglevel&&typeof console!="undefined"){var 
n="";if(p==1){n="INFO"}if(p==2){n="EVENT"}if(p==3){n="WARNING"}if(p==5){n="ERROR"}console.log(n+"
 - "+o)}};k.setLayout=function(n){k.log("entering setLayout function with 
layout"+n,1);k.layout=n;f.remove();if(typeof 
b.layoutClass!="undefined"){this.element.find("."+b.layoutClass).addClass(k.layout.classname)}else{this.element.html(k.layout.html)}a("."+b.column!
 
Class).sortable({connectWith:a("."+b.columnClass),opacity:b.opacity,handle:"."+b.widgetHeaderClass,over:function(o,p){a(this).addClass("selectedcolumn")},out:function(o,p){a(this).removeClass("selectedcolumn")},receive:function(p,q){var
 
o=k.getWidget(q.item.attr("id"));o.setColumn(e(a(this).attr("class")));k.log("widgetDropped
 event thrown for widget 
"+o.id,2);o.element.trigger("widgetDropped",{widget:o})},deactivate:function(p,q){k.log("Widget
 is dropped: check if the column is now empty.",1);var 
o=a(this).children().length;if(o==0){k.log("adding the empty text to the 
column",1);a(this).html('<div 
class="emptycolumn">'+b.emptyColumnHtml+"</div>")}else{if(o==2){a(this).find(".emptycolumn").remove()}}},start:function(o,p){p.item.find("."+b.widgetTitleClass).addClass("noclick")},stop:function(o,p){setTimeout(function(){p.item.find("."+b.widgetTitleClass).removeClass("noclick")},300)}});g();k.log("dashboardLayoutLoaded
 event thrown",2);k.element.trigger("dashboardLayoutLoaded"!
 )};function g(){k.log("entering fixSortableColumns function",1!
 );a(".no
nsortablecolumn").removeClass("nonsortablecolumn").addClass(b.columnClass);a("."+b.columnClass).filter(function(){return
 
a(this).css("display")=="none"}).addClass("nonsortablecolumn").removeClass(b.columnClass)}function
 e(o){k.log("entering getColumnIdentifier function",1);var q;var p=o.split(" 
");for(var 
n=0;n<p.length;n++){if(p[n].indexOf(b.columnPrefix)===0){q=p[n]}}return 
q.replace(b.columnPrefix,"")}k.loadLayout=function(){k.log("entering loadLayout 
function",1);if(b.json_data.url.length>0){k.log("Getting JSON feed : 
"+b.json_data.url,1);a.getJSON(b.json_data.url,function(n){if(n==null){alert("Unable
 to get json. If you are using chrome: there is an issue with loading json with 
local files. It works on a server 
:-)",5);return}k.setLayout(c(n.layout));k.loadWidgets(n.data)})}else{k.setLayout(c(b.json_data.layout));k.loadWidgets(b.json_data.data)}};k.addWidget=function(r,p){k.log("entering
 addWidget function",1);var q=r.id;if(typeof 
k.widgets[q]!="undefined"&&a("#"+q).len!
 gth>0){var n=a("#"+q);p=k.widgets[q].column;n.appendTo(p)}else{k.log("Applying 
template : 
"+b.widgetTemplate,1);if(a("#"+b.widgetTemplate).length==0){k.log('Template 
"'+b.widgetTemplate+" not found",5)}var 
o=tmpl(a("#"+b.widgetTemplate).html(),r);var 
n=a(o);n.appendTo(p);k.widgets[q]=h({id:q,element:n,column:r.column,url:(typeof 
r.url!="undefined"?r.url:null),editurl:r.editurl,title:r.title,open:r.open,metadata:r.metadata})}k.log("widgetAdded
 event thrown for widget 
"+q,2);k.widgets[q].element.trigger("widgetAdded",{widget:k.widgets[q]});if(k.initialized){k.log("dashboardStateChange
 event thrown for widget 
"+q,2);k.element.trigger("dashboardStateChange",{stateChange:"widgetAdded",widget:n})}};k.loadWidgets=function(n){k.log("entering
 loadWidgets 
function",1);k.element.find("."+b.columnClass).empty();a(n).each(function(){var 
o=this.column;k.addWidget(this,k.element.find("."+b.columnPrefix+o))});a("#"+b.tempDashboard).find("."+b.widgetClass).each(function(){var
 o=k.element.fi!
 nd("."+b.columnClass+":first");a(this).appendTo(o);k.getWidget!
 (a(this)
.attr("id")).column=o.attr("id")});a("#"+b.tempDashboard).remove();a("."+b.columnClass).each(function(){if(a(this).children().length==0){a(this).html('<div
 
class="emptycolumn">'+b.emptyColumnHtml+"</div>")}});k.initialized=true};k.init=function(){k.log("entering
 init function",1);k.loadLayout()};k.getWidget=function(n){k.log("entering 
getWidget function",1);return k.widgets[n]};var 
b=a.extend({},a.fn.dashboard.defaults,m);var 
l=a.extend({},a.fn.dashboard.defaults.addWidgetSettings,m.addWidgetSettings);var
 
d=a.extend({},a.fn.dashboard.defaults.editLayoutSettings,m.editLayoutSettings);var
 f=a(b.loadingHtml).appendTo(k.element);function h(n){k.log("entering widget 
constructor",1);n=a.extend({},a.fn.dashboard.widget.defaults,n);n.openContent=function(){n.element.find(".widgetOpen").hide();n.element.find(".widgetClose").show();k.log("entering
 openContent 
function",1);n.open=true;if(!n.loaded){if(this.url!=""&&this.url!=null&&typeof 
this.url!="undefined"){a(b.loadingHtml).appendTo!
 (n.element.find("."+b.widgetContentClass));k.log("widgetShow event thrown for 
widget 
"+n.id,2);n.element.trigger("widgetShow",{widget:n});n.element.find("."+b.widgetContentClass).load(this.url,function(p,o,q){if(o=="error"){n.element.find("."+b.widgetContentClass).html(b.widgetNotFoundMessage)}n.loaded=true;k.log("widgetLoaded
 event thrown for widget 
"+n.id,2);n.element.trigger("widgetLoaded",{widget:n})})}else{k.log("widgetShow 
event thrown for widget 
"+n.id,2);n.element.trigger("widgetShow",{widget:n});k.log("widgetLoaded event 
thrown",2);n.element.trigger("widgetLoaded",{widget:n})}}else{k.log("widgetShow 
event thrown for widget 
"+n.id,2);n.element.trigger("widgetShow",{widget:n})}if(k.initialized){k.log("dashboardStateChange
 event thrown for widget 
"+n.id,2);k.element.trigger("dashboardStateChange",{stateChange:"widgetOpened",widget:n})}};n.setColumn=function(o){k.log("entering
 setColumn function and setting widget "+n.id+" into column 
"+o,1);n.column=o;k.log("dashboard!
 StateChange event thrown for widget "+n.id,2);k.element.trigge!
 r("dashb
oardStateChange",{stateChange:"widgetMoved",widget:n})},n.refreshContent=function(){k.log("entering
 refreshContent 
function",1);n.loaded=false;if(n.open){n.openContent()}};n.setTitle=function(o){k.log("entering
 setTitle 
function",1);n.title=o;n.element.find("."+b.widgetTitleClass).html(o);if(k.initialized){k.log("dashboardStateChange
 event thrown for widget 
"+n.id,2);k.element.trigger("dashboardStateChange",{stateChange:"titleChanged",widget:n})}};n.closeContent=function(){k.log("entering
 closeContent function",1);n.open=false;k.log("widgetHide event thrown for 
widget 
"+n.id,2);n.element.trigger("widgetHide",{widget:n});n.element.find(".widgetOpen").show();n.element.find(".widgetClose").hide();k.log("dashboardStateChange
 event thrown for widget 
"+n.id,2);k.element.trigger("dashboardStateChange",{stateChange:"widgetClosed",widget:n})};n.setMetadata=function(o,p){k.log("entering
 setMetadata function",1);if(typeof 
n.metadata=="undefined"){n.metadata={}}n.metadata[o]=p;k.log("da!
 shboardStateChange event thrown for widget 
"+n.id,2);k.element.trigger("dashboardStateChange",{stateChange:"metadataChanged",widget:n})};n.openMenu=function(){k.log("entering
 openMenu 
function",1);n.element.find("."+b.menuClass).show()};n.closeMenu=function(){k.log("entering
 closeMenu 
function",1);n.element.find("."+b.menuClass).hide()};n.remove=function(){k.log("entering
 remove function",1);n.element.remove();k.log("widgetDeleted event thrown for 
widget 
"+n.id,2);n.element.trigger("widgetDeleted",{widget:n});k.log("dashboardStateChange
 event thrown for widget 
"+n.id,2);k.element.trigger("dashboardStateChange",{stateChange:"widgetRemoved",widget:n})};n.serialize=function(){k.log("entering
 serialize function",1);var q='{"title" : "'+n.title+'", "id" : "'+n.id+'", 
"column" : "'+n.column+'","editurl" : "'+n.editurl+'","open" : '+n.open+',"url" 
: "'+n.url+'"';if(typeof n.metadata!="undefined"){q+=',"metadata":{';var 
s=n.metadata;var o=0;for(var p in s){if(o>0){q+=","}q+='"'+p+'!
 ":"'+s[p]+'"';o++}q+="}"}q+="}";return q};n.openFullscreen=fun!
 ction(){
k.log("entering openFullscreen function",1);n.fullscreen=true;var 
q=n.element.clone();var p=a('<div style="display:none" 
id="tempdashboard"></div>');p.appendTo(a("body"));k.element.children().appendTo(p);var
 o=a('<ul 
id="fullscreen"></ul>');o.appendTo(k.element);q.appendTo(a("#fullscreen"))};n.closeFullscreen=function(){k.log("entering
 closeFullscreen 
function",1);n.fullscreen=false;a("#fullscreenclose").remove();a("#fullscreen").remove();a("#tempdashboard").children().appendTo(k.element);a("#tempdashboard").remove()};n.openSettings=function(){k.log("entering
 openSettings 
function",1);n.element.find("."+b.widgetContentClass).load(n.editurl)};if(n.open){n.openContent()}n.initialized=true;k.log("widgetInitialized
 event thrown",2);n.element.trigger("widgetInitialized",{widget:n});return 
n}function c(p){k.log("entering getLayout function",1);var n=null;var 
o;a.each(b.layouts,function(q,r){if(q==0){o=r}if(r.id==p){n=r}});if(n==null){n=o}return
 n}a(".menutrigger").live("click",fun!
 ction(){k.log("widgetOpenMenu event thrown for widget "+h.id,2);var 
n=k.getWidget(a(this).closest("."+b.widgetClass).attr("id"));n.element.trigger("widgetOpenMenu",{widget:n});return
 
false});a("."+b.widgetFullScreenClass).live("click",function(o){k.log("widgetCloseMenu
 event thrown for widget "+h.id,2);var 
n=k.getWidget(a(this).closest("."+b.widgetClass).attr("id"));n.element.trigger("widgetCloseMenu",{widget:n});if(n.fullscreen){k.log("widgetCloseFullScreen
 event thrown for widget 
"+n.id,2);n.element.trigger("widgetCloseFullScreen",{widget:n})}else{k.log("widgetOpenFullScreen
 event thrown for widget 
"+n.id,2);n.element.trigger("widgetOpenFullScreen",{widget:n})}return 
false});a(".controls li").live("click",function(o){k.log("widgetCloseMenu event 
thrown for widget "+h.id,2);var 
n=k.getWidget(a(this).closest("."+b.widgetClass).attr("id"));n.element.trigger("widgetCloseMenu",{widget:n});k.log(a(this).attr("class")+"
 event thrown for widget "+h.id,2);var n=k.getWidget(a(this)!
 .closest("."+b.widgetClass).attr("id"));n.element.trigger(a(th!
 is).attr
("class"),{widget:n});return 
false});a("."+b.widgetClass).live("widgetCloseMenu",function(n,p){k.log("Closing
 menu 
"+a(this).attr("id"),1);p.widget.closeMenu()});a("."+b.widgetClass).live("widgetOpenMenu",function(n,p){k.log("Opening
 menu 
"+a(this).attr("id"),1);p.widget.openMenu()});a("."+b.widgetClass).live("widgetDelete",function(n,p){if(confirm(b.deleteConfirmMessage)){k.log("Removing
 widget 
"+a(this).attr("id"),1);p.widget.remove()}});a("."+b.widgetClass).live("widgetRefresh",function(n,p){p.widget.refreshContent()});a("."+b.widgetClass).live("widgetSetTitle",function(n,p){p.widget.setTitle(p.title)});a("."+b.widgetClass).live("widgetClose",function(n,p){k.log("Closing
 widget 
"+a(this).attr("id"),1);p.widget.closeContent()});a("."+b.widgetClass).live("widgetOpen",function(n,p){k.log("Opening
 widget 
"+a(this).attr("id"),1);p.widget.openContent()});a("."+b.widgetClass).live("widgetShow",function(){a(this).find("."+b.widgetContentClass).show()});a("."+b.widgetClass).live("!
 
widgetHide",function(){a(this).find("."+b.widgetContentClass).hide()});a("."+b.widgetClass).live("widgetAddMetadataValue",function(n,p){k.log("Changing
 metadata for widget "+a(this).attr("id")+", metadata name: "+p.name+", value: 
"+p.value,1);p.widget.setMetadata(p.name,p.value)});a("."+b.widgetTitleClass).live("click",function(o){k.log("Click
 on the header detected for widget 
"+a(this).attr("id"),1);if(!a(this).hasClass("noclick")){var 
n=k.getWidget(a(this).closest("."+b.widgetClass).attr("id"));if(n.open){k.log("widgetClose
 event thrown for widget 
"+n,2);n.element.trigger("widgetClose",{widget:n})}else{k.log("widgetOpen event 
thrown for widget 
"+n,2);n.element.trigger("widgetOpen",{widget:n})}}});a("."+b.widgetHeaderClass).live("mouseover",function(){a(this).find("."+b.iconsClass).removeClass("hidden")});a("."+b.widgetHeaderClass).live("mouseout",function(){a(this).find("."+b.iconsClass).addClass("hidden")});a("body").click(function(){a("."+b.menuClass).hide()});a("#fulls!
 creenclose").live("click",function(){var n=k.getWidget(k.eleme!
 nt.find(
"."+b.widgetClass).attr("id"));k.log("widgetCloseFullScreen event 
thrown",2);n.element.trigger("widgetCloseFullScreen",{widget:n})});a("."+b.widgetClass).live("widgetOpenFullScreen",function(n,p){p.widget.openFullscreen()});a("."+b.widgetClass).live("widgetCloseFullScreen",function(n,p){p.widget.closeFullscreen()});a("."+b.widgetClass).live("widgetEdit",function(n,p){p.widget.openSettings()});if(a("#"+l.dialogId).length==0){k.log("Unable
 to find 
"+l.dialogId,5)}a("#"+l.dialogId).dialog({autoOpen:false,height:414,width:550,modal:true,buttons:{Cancel:function(){a(this).dialog("close")}},close:function(){}});if(a("#"+d.dialogId).length==0){k.log("Unable
 to find 
"+d.dialogId,5)}a("#"+d.dialogId).dialog({autoOpen:false,height:300,width:600,modal:true});a("."+d.editLayoutClass).live("click",function(){k.log("dashboardOpenLayoutDialog
 event 
thrown",2);k.element.trigger("dashboardOpenLayoutDialog")});k.element.live("dashboardOpenLayoutDialog",function(){k.log("Opening
 dialog "+d.dia!
 logId,1);a("#"+d.dialogId).dialog("open");var 
n=a("#"+d.dialogId).find("."+d.layoutClass);if(n.children().length==0){k.log("Number
 of layouts : 
"+b.layouts.length,1);a.each(b.layouts,function(o,p){k.log("Applying template : 
"+d.layoutTemplate,1);if(a("#"+d.layoutTemplate).length==0){k.log('Template 
"'+d.layoutTemplate+" not 
found",5)}n.append(tmpl(a("#"+d.layoutTemplate).html(),p))})}a("."+d.selectLayoutClass).removeClass(d.selectedLayoutClass);a("#"+k.layout.id).addClass(d.selectedLayoutClass);i()});k.element.live("dashboardStateChange",function(){if(typeof
 
b.stateChangeUrl!="undefined"&&b.stateChangeUrl!=null){a.ajax({type:"POST",url:b.stateChangeUrl,data:{dashboard:k.element.attr("id"),settings:k.serialize()},success:function(n){if(n=="NOK"||n.indexOf("<response>NOK</response>")!=-1){k.log(b.saveFailedMessage,5);k.log("dashboardSaveFailed
 event 
thrown",2);k.element.trigger("dashboardSaveFailed")}else{k.log("dashboardSuccessfulSaved
 event thrown",2);k.element.trigger("das!
 hboardSuccessfulSaved")}},error:function(n,p,o){k.log(b.saveFa!
 iledMess
age,5);k.log("dashboardSaveFailed event 
thrown",2);k.element.trigger("dashboardSaveFailed")},dataType:"text"})}});k.element.live("dashboardCloseLayoutDialog",function(){a("#"+d.dialogId).dialog("close")});function
 i(){if(a("."+d.selectLayoutClass).length==0){k.log("Unable to find 
"+d.selectLayoutClass,5)}a("."+d.selectLayoutClass).bind("click",function(q){var
 o=k.layout;k.log("dashboardCloseLayoutDialog event 
thrown",2);k.element.trigger("dashboardCloseLayoutDialog");var 
p=c(a(this).attr("id"));k.layout=p;if(typeof 
b.layoutClass!="undefined"){k.element.find("."+b.layoutClass).removeClass(o.classname).addClass(p.classname);g();if(a("."+b.columnClass).length==0){k.log("Unable
 to find 
"+b.columnClass,5)}k.element.find("."+b.columnClass).each(function(){if(a(this).css("display")=="none"){a(this).children().appendTo(k.element.find("."+b.columnClass+":first"))}a(".emptycolumn").remove();a("."+b.columnClass).each(function(){if(a(this).children().length==0){a(this).html('<div
 class=!
 "emptycolumn">'+b.emptyColumnHtml+"</div>")}})})}else{var n=a('<div 
style="display:none" 
id="'+b.tempDashboard+'"></div>');n.appendTo(a("body"));k.element.children().appendTo(n);k.init()}k.log("dashboardChangeLayout
 event 
thrown",2);a("body").trigger("dashboardChangeLayout")})}a("."+l.selectCategoryClass).live("click",function(){k.log("selectCategory
 event 
thrown",2);k.element.trigger("selectCategory",{category:a(this)})});k.element.live("selectCategory",function(o,n){a("."+l.selectCategoryClass).removeClass(l.selectedCategoryClass);a("#"+l.dialogId).find("."+l.widgetClass).empty();a(n.category).addClass(l.selectedCategoryClass);url=k.widgetCategories[a(n.category).attr("id")];k.log("Getting
 JSON feed : 
"+url,1);a.getJSON(url,{cache:true},function(p){if(p.data==0){k.log("Empty data 
returned",3)}a.each(p.data,function(r,s){k.widgetsToAdd[s.id]=s;k.log("Applying 
template : 
"+l.widgetTemplate,1);if(a("#"+l.widgetTemplate).length==0){k.log('Template 
"'+l.widgetTemplate+" not fo!
 und",5)}var q=tmpl(a("#"+l.widgetTemplate).html(),s);a("#"+l.d!
 ialogId)
.find("."+l.widgetClass).append(q)})});k.log("addWidgetDialogWidgetsLoaded 
event 
thrown",2);k.element.trigger("addWidgetDialogWidgetsLoaded")});a("."+l.addWidgetClass).live("click",function(){var
 
n=k.widgetsToAdd[a(this).attr("id").replace("addwidget","")];k.log("dashboardAddWidget
 event 
thrown",2);k.element.trigger("dashboardAddWidget",{widget:n});k.log("dashboardCloseWidgetDialog
 event 
thrown",2);k.element.trigger("dashboardCloseWidgetDialog")});a("."+l.openDialogClass).live("click",function(){k.log("dashboardOpenWidgetDialog
 event 
thrown",2);k.element.trigger("dashboardOpenWidgetDialog")});k.element.live("dashboardCloseWidgetDialog",function(){a("#"+l.dialogId).dialog("close")});k.element.live("dashboardOpenWidgetDialog",function(){a("#"+l.dialogId).find("."+l.categoryClass).empty();a("#"+l.dialogId).find("."+l.widgetClass).empty();k.log("Opening
 dialog "+l.dialogId,5);a("#"+l.dialogId).dialog("open");k.log("Getting JSON 
feed : "+l.widgetDirectoryUrl,1);a.getJSON(l.widget!
 DirectoryUrl,function(n){if(n.category==0){k.log("Empty data 
returned",3)}a.each(n.category,function(p,q){k.widgetCategories[q.id]=q.url;k.log("Applying
 template : 
"+l.categoryTemplate,1);if(a("#"+l.categoryTemplate).length==0){k.log('Template 
"'+l.categoryTemplate+" not found",5)}var 
o=tmpl(a("#"+l.categoryTemplate).html(),q);a("#"+l.dialogId).find("."+l.categoryClass).append(o)});k.log("addWidgetDialogCategoriesLoaded
 event 
thrown",2);k.element.trigger("addWidgetDialogCategoriesLoaded");k.log("selectCategory
 event 
thrown",2);k.element.trigger("selectCategory",{category:a("#"+l.dialogId).find("."+l.categoryClass+">li:first")})})});return
 
k};a.fn.dashboard.defaults={debuglevel:2,json_data:{},fullscreenHeaderInner:'<img
 alt="Close this widget" src="images/close.gif" /> Return to 
Dashboard',loadingHtml:'<div class="loading"><img alt="Loading, please wait" 
src="../themes/default/loading.gif" 
/><p>Loading...</p></div>',emptyColumnHtml:"Drag your widgets 
here",tempDashboard:"tem!
 pDashboard",widgetTemplate:"widgettemplate",columnPrefix:"colu!
 mn-",opa
city:"0.2",deleteConfirmMessage:"Are you sure you want to delete this 
widget?",saveFailedMessage:"Saving failed. Please reload the 
page.",widgetNotFoundMessage:"The content of this widget is not available 
anymore. You may remove this 
widget.",columnClass:"column",widgetClass:"widget",menuClass:"controls",widgetContentClass:"widgetcontent",widgetTitleClass:"widgettitle",widgetHeaderClass:"widgetheader",widgetFullScreenClass:"widgetopenfullscreen",iconsClass:"icons",addWidgetSettings:{openDialogClass:"openaddwidgetdialog",addWidgetClass:"addwidget",selectCategoryClass:"selectcategory",selectedCategoryClass:"selected",categoryClass:"categories",widgetClass:"widgets",dialogId:"addwidgetdialog",categoryTemplate:"categorytemplate",widgetTemplate:"addwidgettemplate"},editLayoutSettings:{dialogId:"editLayout",layoutClass:"layoutselection",selectLayoutClass:"layoutchoice",selectedLayoutClass:"selected",editLayoutClass:"editlayout",layoutTemplate:"selectlayouttemplate"}};a.fn.dashboar!
 
d.widget={defaults:{open:true,fullscreen:false,loaded:false,url:"",metadata:{}}}})(jQuery);(function(){var
 b={};this.tmpl=function a(e,d){var 
c=!/\W/.test(e)?b[e]=b[e]||a(document.getElementById(e).innerHTML):new 
Function("obj","var 
p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+e.replace(/[\r\t\n]/g,"
 
").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return
 p.join('');");return d?c(d):c}})();
\ No newline at end of file
+(function(a){a.fn.dashboard=function(m){var k={};var f;var 
j;k.layout;k.element=this;k.widgets={};k.widgetsToAdd={};k.widgetCategories={};k.initialized=false;k.serialize=function(){k.log("entering
 serialize function",1);var o='{"layout": "'+k.layout.id+'", "data" : [';var 
n=0;if(a("."+b.columnClass).length==0){k.log(b.columnClass+" class not 
found",5)}a("."+b.columnClass).each(function(){a(this).children().each(function(){if(a(this).hasClass(b.widgetClass)){if(n>0){o+=","}o+=(k.getWidget(a(this).attr("id"))).serialize();n++}})});o+="]}";return
 o};k.log=function(o,p){if(p>=b.debuglevel&&typeof console!="undefined"){var 
n="";if(p==1){n="INFO"}if(p==2){n="EVENT"}if(p==3){n="WARNING"}if(p==5){n="ERROR"}console.log(n+"
 - "+o)}};k.setLayout=function(n){k.log("entering setLayout function with 
layout"+n,1);k.layout=n;f.remove();if(typeof 
b.layoutClass!="undefined"){this.element.find("."+b.layoutClass).addClass(k.layout.classname)}else{this.element.html(k.layout.html)}a("."+b.column!
 
Class).sortable({connectWith:a("."+b.columnClass),opacity:b.opacity,handle:"."+b.widgetHeaderClass,over:function(o,p){a(this).addClass("selectedcolumn")},out:function(o,p){a(this).removeClass("selectedcolumn")},receive:function(p,q){var
 
o=k.getWidget(q.item.attr("id"));o.setColumn(e(a(this).attr("class")));k.log("widgetDropped
 event thrown for widget 
"+o.id,2);o.element.trigger("widgetDropped",{widget:o})},deactivate:function(p,q){k.log("Widget
 is dropped: check if the column is now empty.",1);var 
o=a(this).children().length;if(o==0){k.log("adding the empty text to the 
column",1);a(this).html('<div 
class="emptycolumn">'+b.emptyColumnHtml+"</div>")}else{if(o==2){a(this).find(".emptycolumn").remove()}}},start:function(o,p){p.item.find("."+b.widgetTitleClass).addClass("noclick")},stop:function(o,p){setTimeout(function(){p.item.find("."+b.widgetTitleClass).removeClass("noclick")},300)}});g();k.log("dashboardLayoutLoaded
 event thrown",2);k.element.trigger("dashboardLayoutLoaded"!
 )};function g(){k.log("entering fixSortableColumns function",1!
 );a(".no
nsortablecolumn").removeClass("nonsortablecolumn").addClass(b.columnClass);a("."+b.columnClass).filter(function(){return
 
a(this).css("display")=="none"}).addClass("nonsortablecolumn").removeClass(b.columnClass)}function
 e(o){k.log("entering getColumnIdentifier function",1);var q;var p=o.split(" 
");for(var 
n=0;n<p.length;n++){if(p[n].indexOf(b.columnPrefix)===0){q=p[n]}}return 
q.replace(b.columnPrefix,"")}k.loadLayout=function(){k.log("entering loadLayout 
function",1);if(b.json_data.url.length>0){k.log("Getting JSON feed : 
"+b.json_data.url,1);a.getJSON(b.json_data.url,function(n){if(n==null){alert("Unable
 to get json. If you are using chrome: there is an issue with loading json with 
local files. It works on a server 
:-)",5);return}k.setLayout(c(n.layout));k.loadWidgets(n.data)})}else{k.setLayout(c(b.json_data.layout));k.loadWidgets(b.json_data.data)}};k.addWidget=function(r,p){k.log("entering
 addWidget function",1);var q=r.id;if(typeof 
k.widgets[q]!="undefined"&&a("#"+q).len!
 gth>0){var n=a("#"+q);p=k.widgets[q].column;n.appendTo(p)}else{k.log("Applying 
template : 
"+b.widgetTemplate,1);if(a("#"+b.widgetTemplate).length==0){k.log('Template 
"'+b.widgetTemplate+" not found",5)}var 
o=tmpl(a("#"+b.widgetTemplate).html(),r);var 
n=a(o);n.appendTo(p);k.widgets[q]=h({id:q,element:n,column:r.column,url:(typeof 
r.url!="undefined"?r.url:null),editurl:r.editurl,title:r.title,open:r.open,metadata:r.metadata})}k.log("widgetAdded
 event thrown for widget 
"+q,2);k.widgets[q].element.trigger("widgetAdded",{widget:k.widgets[q]});if(k.initialized){k.log("dashboardStateChange
 event thrown for widget 
"+q,2);k.element.trigger("dashboardStateChange",{stateChange:"widgetAdded",widget:n})}};k.loadWidgets=function(n){k.log("entering
 loadWidgets 
function",1);k.element.find("."+b.columnClass).empty();a(n).each(function(){var 
o=this.column;k.addWidget(this,k.element.find("."+b.columnPrefix+o))});a("#"+b.tempDashboard).find("."+b.widgetClass).each(function(){var
 o=k.element.fi!
 nd("."+b.columnClass+":first");a(this).appendTo(o);k.getWidget!
 (a(this)
.attr("id")).column=o.attr("id")});a("#"+b.tempDashboard).remove();a("."+b.columnClass).each(function(){if(a(this).children().length==0){a(this).html('<div
 
class="emptycolumn">'+b.emptyColumnHtml+"</div>")}});k.initialized=true};k.init=function(){k.log("entering
 init function",1);k.loadLayout()};k.getWidget=function(n){k.log("entering 
getWidget function",1);return k.widgets[n]};var 
b=a.extend({},a.fn.dashboard.defaults,m);var 
l=a.extend({},a.fn.dashboard.defaults.addWidgetSettings,m.addWidgetSettings);var
 
d=a.extend({},a.fn.dashboard.defaults.editLayoutSettings,m.editLayoutSettings);var
 f=a(b.loadingHtml).appendTo(k.element);function h(n){k.log("entering widget 
constructor",1);n=a.extend({},a.fn.dashboard.widget.defaults,n);n.openContent=function(){n.element.find(".widgetOpen").hide();n.element.find(".widgetClose").show();k.log("entering
 openContent 
function",1);n.open=true;if(!n.loaded){if(this.url!=""&&this.url!=null&&typeof 
this.url!="undefined"){a(b.loadingHtml).appendTo!
 (n.element.find("."+b.widgetContentClass));k.log("widgetShow event thrown for 
widget 
"+n.id,2);n.element.trigger("widgetShow",{widget:n});n.element.find("."+b.widgetContentClass).load(this.url,function(p,o,q){if(o=="error"){n.element.find("."+b.widgetContentClass).html(b.widgetNotFoundMessage)}n.loaded=true;k.log("widgetLoaded
 event thrown for widget 
"+n.id,2);n.element.trigger("widgetLoaded",{widget:n})})}else{k.log("widgetShow 
event thrown for widget 
"+n.id,2);n.element.trigger("widgetShow",{widget:n});k.log("widgetLoaded event 
thrown",2);n.element.trigger("widgetLoaded",{widget:n})}}else{k.log("widgetShow 
event thrown for widget 
"+n.id,2);n.element.trigger("widgetShow",{widget:n})}if(k.initialized){k.log("dashboardStateChange
 event thrown for widget 
"+n.id,2);k.element.trigger("dashboardStateChange",{stateChange:"widgetOpened",widget:n})}};n.setColumn=function(o){k.log("entering
 setColumn function and setting widget "+n.id+" into column 
"+o,1);n.column=o;k.log("dashboard!
 StateChange event thrown for widget "+n.id,2);k.element.trigge!
 r("dashb
oardStateChange",{stateChange:"widgetMoved",widget:n})},n.refreshContent=function(){k.log("entering
 refreshContent 
function",1);n.loaded=false;if(n.open){n.openContent()}};n.setTitle=function(o){k.log("entering
 setTitle 
function",1);n.title=o;n.element.find("."+b.widgetTitleClass).html(o);if(k.initialized){k.log("dashboardStateChange
 event thrown for widget 
"+n.id,2);k.element.trigger("dashboardStateChange",{stateChange:"titleChanged",widget:n})}};n.closeContent=function(){k.log("entering
 closeContent function",1);n.open=false;k.log("widgetHide event thrown for 
widget 
"+n.id,2);n.element.trigger("widgetHide",{widget:n});n.element.find(".widgetOpen").show();n.element.find(".widgetClose").hide();k.log("dashboardStateChange
 event thrown for widget 
"+n.id,2);k.element.trigger("dashboardStateChange",{stateChange:"widgetClosed",widget:n})};n.setMetadata=function(o,p){k.log("entering
 setMetadata function",1);if(typeof 
n.metadata=="undefined"){n.metadata={}}n.metadata[o]=p;k.log("da!
 shboardStateChange event thrown for widget 
"+n.id,2);k.element.trigger("dashboardStateChange",{stateChange:"metadataChanged",widget:n})};n.openMenu=function(){k.log("entering
 openMenu 
function",1);n.element.find("."+b.menuClass).show()};n.closeMenu=function(){k.log("entering
 closeMenu 
function",1);n.element.find("."+b.menuClass).hide()};n.remove=function(){k.log("entering
 remove function",1);n.element.remove();k.log("widgetDeleted event thrown for 
widget 
"+n.id,2);n.element.trigger("widgetDeleted",{widget:n});k.log("dashboardStateChange
 event thrown for widget 
"+n.id,2);k.element.trigger("dashboardStateChange",{stateChange:"widgetRemoved",widget:n})};n.serialize=function(){k.log("entering
 serialize function",1);var q='{"title" : "'+n.title+'", "id" : "'+n.id+'", 
"column" : "'+n.column+'","editurl" : "'+n.editurl+'","open" : '+n.open+',"url" 
: "'+n.url+'"';if(typeof n.metadata!="undefined"){q+=',"metadata":{';var 
s=n.metadata;var o=0;for(var p in s){if(o>0){q+=","}q+='"'+p+'!
 ":"'+s[p]+'"';o++}q+="}"}q+="}";return q};n.openFullscreen=fun!
 ction(){
k.log("entering openFullscreen function",1);n.fullscreen=true;var 
q=n.element.clone();var p=a('<div style="display:none" 
id="tempdashboard"></div>');p.appendTo(a("body"));k.element.children().appendTo(p);var
 o=a('<ul 
id="fullscreen"></ul>');o.appendTo(k.element);q.appendTo(a("#fullscreen"))};n.closeFullscreen=function(){k.log("entering
 closeFullscreen 
function",1);n.fullscreen=false;a("#fullscreenclose").remove();a("#fullscreen").remove();a("#tempdashboard").children().appendTo(k.element);a("#tempdashboard").remove()};n.openSettings=function(){k.log("entering
 openSettings 
function",1);n.element.find("."+b.widgetContentClass).load(n.editurl)};if(n.open){n.openContent()}n.initialized=true;k.log("widgetInitialized
 event thrown",2);n.element.trigger("widgetInitialized",{widget:n});return 
n}function c(p){k.log("entering getLayout function",1);var n=null;var 
o;a.each(b.layouts,function(q,r){if(q==0){o=r}if(r.id==p){n=r}});if(n==null){n=o}return
 n}a(".menutrigger").live("click",fun!
 ction(){k.log("widgetOpenMenu event thrown for widget "+h.id,2);var 
n=k.getWidget(a(this).closest("."+b.widgetClass).attr("id"));n.element.trigger("widgetOpenMenu",{widget:n});return
 
false});a("."+b.widgetFullScreenClass).live("click",function(o){k.log("widgetCloseMenu
 event thrown for widget "+h.id,2);var 
n=k.getWidget(a(this).closest("."+b.widgetClass).attr("id"));n.element.trigger("widgetCloseMenu",{widget:n});if(n.fullscreen){k.log("widgetCloseFullScreen
 event thrown for widget 
"+n.id,2);n.element.trigger("widgetCloseFullScreen",{widget:n})}else{k.log("widgetOpenFullScreen
 event thrown for widget 
"+n.id,2);n.element.trigger("widgetOpenFullScreen",{widget:n})}return 
false});a(".controls li").live("click",function(o){k.log("widgetCloseMenu event 
thrown for widget "+h.id,2);var 
n=k.getWidget(a(this).closest("."+b.widgetClass).attr("id"));n.element.trigger("widgetCloseMenu",{widget:n});k.log(a(this).attr("class")+"
 event thrown for widget "+h.id,2);var n=k.getWidget(a(this)!
 .closest("."+b.widgetClass).attr("id"));n.element.trigger(a(th!
 is).attr
("class"),{widget:n});return 
false});a("."+b.widgetClass).live("widgetCloseMenu",function(n,p){k.log("Closing
 menu 
"+a(this).attr("id"),1);p.widget.closeMenu()});a("."+b.widgetClass).live("widgetOpenMenu",function(n,p){k.log("Opening
 menu 
"+a(this).attr("id"),1);p.widget.openMenu()});a("."+b.widgetClass).live("widgetDelete",function(n,p){if(confirm(b.deleteConfirmMessage)){k.log("Removing
 widget 
"+a(this).attr("id"),1);p.widget.remove()}});a("."+b.widgetClass).live("widgetRefresh",function(n,p){p.widget.refreshContent()});a("."+b.widgetClass).live("widgetSetTitle",function(n,p){p.widget.setTitle(p.title)});a("."+b.widgetClass).live("widgetClose",function(n,p){k.log("Closing
 widget 
"+a(this).attr("id"),1);p.widget.closeContent()});a("."+b.widgetClass).live("widgetOpen",function(n,p){k.log("Opening
 widget 
"+a(this).attr("id"),1);p.widget.openContent()});a("."+b.widgetClass).live("widgetShow",function(){a(this).find("."+b.widgetContentClass).show()});a("."+b.widgetClass).live("!
 
widgetHide",function(){a(this).find("."+b.widgetContentClass).hide()});a("."+b.widgetClass).live("widgetAddMetadataValue",function(n,p){k.log("Changing
 metadata for widget "+a(this).attr("id")+", metadata name: "+p.name+", value: 
"+p.value,1);p.widget.setMetadata(p.name,p.value)});a("."+b.widgetTitleClass).live("click",function(o){k.log("Click
 on the header detected for widget 
"+a(this).attr("id"),1);if(!a(this).hasClass("noclick")){var 
n=k.getWidget(a(this).closest("."+b.widgetClass).attr("id"));if(n.open){k.log("widgetClose
 event thrown for widget 
"+n,2);n.element.trigger("widgetClose",{widget:n})}else{k.log("widgetOpen event 
thrown for widget 
"+n,2);n.element.trigger("widgetOpen",{widget:n})}}});a("."+b.widgetHeaderClass).live("mouseover",function(){a(this).find("."+b.iconsClass).removeClass("hidden")});a("."+b.widgetHeaderClass).live("mouseout",function(){a(this).find("."+b.iconsClass).addClass("hidden")});a("body").click(function(){a("."+b.menuClass).hide()});a("#fulls!
 creenclose").live("click",function(){var n=k.getWidget(k.eleme!
 nt.find(
"."+b.widgetClass).attr("id"));k.log("widgetCloseFullScreen event 
thrown",2);n.element.trigger("widgetCloseFullScreen",{widget:n})});a("."+b.widgetClass).live("widgetOpenFullScreen",function(n,p){p.widget.openFullscreen()});a("."+b.widgetClass).live("widgetCloseFullScreen",function(n,p){p.widget.closeFullscreen()});a("."+b.widgetClass).live("widgetEdit",function(n,p){p.widget.openSettings()});if(a("#"+l.dialogId).length==0){k.log("Unable
 to find 
"+l.dialogId,5)}a("#"+l.dialogId).dialog({autoOpen:false,height:514,width:750,modal:true,buttons:{Cancel:function(){a(this).dialog("close")}},close:function(){}});if(a("#"+d.dialogId).length==0){k.log("Unable
 to find 
"+d.dialogId,5)}a("#"+d.dialogId).dialog({autoOpen:false,height:300,width:600,modal:true});a("."+d.editLayoutClass).live("click",function(){k.log("dashboardOpenLayoutDialog
 event 
thrown",2);k.element.trigger("dashboardOpenLayoutDialog")});k.element.live("dashboardOpenLayoutDialog",function(){k.log("Opening
 dialog "+d.dia!
 logId,1);a("#"+d.dialogId).dialog("open");var 
n=a("#"+d.dialogId).find("."+d.layoutClass);if(n.children().length==0){k.log("Number
 of layouts : 
"+b.layouts.length,1);a.each(b.layouts,function(o,p){k.log("Applying template : 
"+d.layoutTemplate,1);if(a("#"+d.layoutTemplate).length==0){k.log('Template 
"'+d.layoutTemplate+" not 
found",5)}n.append(tmpl(a("#"+d.layoutTemplate).html(),p))})}a("."+d.selectLayoutClass).removeClass(d.selectedLayoutClass);a("#"+k.layout.id).addClass(d.selectedLayoutClass);i()});k.element.live("dashboardStateChange",function(){if(typeof
 
b.stateChangeUrl!="undefined"&&b.stateChangeUrl!=null){a.ajax({type:"POST",url:b.stateChangeUrl,data:{dashboard:k.element.attr("id"),settings:k.serialize()},success:function(n){if(n=="NOK"||n.indexOf("<response>NOK</response>")!=-1){k.log(b.saveFailedMessage,5);k.log("dashboardSaveFailed
 event 
thrown",2);k.element.trigger("dashboardSaveFailed")}else{k.log("dashboardSuccessfulSaved
 event thrown",2);k.element.trigger("das!
 hboardSuccessfulSaved")}},error:function(n,p,o){k.log(b.saveFa!
 iledMess
age,5);k.log("dashboardSaveFailed event 
thrown",2);k.element.trigger("dashboardSaveFailed")},dataType:"text"})}});k.element.live("dashboardCloseLayoutDialog",function(){a("#"+d.dialogId).dialog("close")});function
 i(){if(a("."+d.selectLayoutClass).length==0){k.log("Unable to find 
"+d.selectLayoutClass,5)}a("."+d.selectLayoutClass).bind("click",function(q){var
 o=k.layout;k.log("dashboardCloseLayoutDialog event 
thrown",2);k.element.trigger("dashboardCloseLayoutDialog");var 
p=c(a(this).attr("id"));k.layout=p;if(typeof 
b.layoutClass!="undefined"){k.element.find("."+b.layoutClass).removeClass(o.classname).addClass(p.classname);g();if(a("."+b.columnClass).length==0){k.log("Unable
 to find 
"+b.columnClass,5)}k.element.find("."+b.columnClass).each(function(){if(a(this).css("display")=="none"){a(this).children().appendTo(k.element.find("."+b.columnClass+":first"))}a(".emptycolumn").remove();a("."+b.columnClass).each(function(){if(a(this).children().length==0){a(this).html('<div
 class=!
 "emptycolumn">'+b.emptyColumnHtml+"</div>")}})})}else{var n=a('<div 
style="display:none" 
id="'+b.tempDashboard+'"></div>');n.appendTo(a("body"));k.element.children().appendTo(n);k.init()}k.log("dashboardChangeLayout
 event 
thrown",2);a("body").trigger("dashboardChangeLayout")})}a("."+l.selectCategoryClass).live("click",function(){k.log("selectCategory
 event 
thrown",2);k.element.trigger("selectCategory",{category:a(this)})});k.element.live("selectCategory",function(o,n){a("."+l.selectCategoryClass).removeClass(l.selectedCategoryClass);a("#"+l.dialogId).find("."+l.widgetClass).empty();a(n.category).addClass(l.selectedCategoryClass);url=k.widgetCategories[a(n.category).attr("id")];k.log("Getting
 JSON feed : 
"+url,1);a.getJSON(url,{cache:true},function(p){if(p.data==0){k.log("Empty data 
returned",3)}a.each(p.data,function(r,s){k.widgetsToAdd[s.id]=s;k.log("Applying 
template : 
"+l.widgetTemplate,1);if(a("#"+l.widgetTemplate).length==0){k.log('Template 
"'+l.widgetTemplate+" not fo!
 und",5)}var q=tmpl(a("#"+l.widgetTemplate).html(),s);a("#"+l.d!
 ialogId)
.find("."+l.widgetClass).append(q)})});k.log("addWidgetDialogWidgetsLoaded 
event 
thrown",2);k.element.trigger("addWidgetDialogWidgetsLoaded")});a("."+l.addWidgetClass).live("click",function(){var
 
n=k.widgetsToAdd[a(this).attr("id").replace("addwidget","")];k.log("dashboardAddWidget
 event 
thrown",2);k.element.trigger("dashboardAddWidget",{widget:n});k.log("dashboardCloseWidgetDialog
 event 
thrown",2);k.element.trigger("dashboardCloseWidgetDialog")});a("."+l.openDialogClass).live("click",function(){k.log("dashboardOpenWidgetDialog
 event 
thrown",2);k.element.trigger("dashboardOpenWidgetDialog")});k.element.live("dashboardCloseWidgetDialog",function(){a("#"+l.dialogId).dialog("close")});k.element.live("dashboardOpenWidgetDialog",function(){a("#"+l.dialogId).find("."+l.categoryClass).empty();a("#"+l.dialogId).find("."+l.widgetClass).empty();k.log("Opening
 dialog "+l.dialogId,5);a("#"+l.dialogId).dialog("open");k.log("Getting JSON 
feed : "+l.widgetDirectoryUrl,1);a.getJSON(l.widget!
 DirectoryUrl,function(n){if(n.category==0){k.log("Empty data 
returned",3)}a.each(n.category,function(p,q){k.widgetCategories[q.id]=q.url;k.log("Applying
 template : 
"+l.categoryTemplate,1);if(a("#"+l.categoryTemplate).length==0){k.log('Template 
"'+l.categoryTemplate+" not found",5)}var 
o=tmpl(a("#"+l.categoryTemplate).html(),q);a("#"+l.dialogId).find("."+l.categoryClass).append(o)});k.log("addWidgetDialogCategoriesLoaded
 event 
thrown",2);k.element.trigger("addWidgetDialogCategoriesLoaded");k.log("selectCategory
 event 
thrown",2);k.element.trigger("selectCategory",{category:a("#"+l.dialogId).find("."+l.categoryClass+">li:first")})})});return
 
k};a.fn.dashboard.defaults={debuglevel:2,json_data:{},fullscreenHeaderInner:'<img
 alt="Close this widget" src="images/close.gif" /> Return to 
Dashboard',loadingHtml:'<div class="loading"><img alt="Loading, please wait" 
src="../themes/default/loading.gif" 
/><p>Loading...</p></div>',emptyColumnHtml:"Drag your widgets 
here",tempDashboard:"tem!
 pDashboard",widgetTemplate:"widgettemplate",columnPrefix:"colu!
 mn-",opa
city:"0.2",deleteConfirmMessage:"Are you sure you want to delete this 
widget?",saveFailedMessage:"Saving failed. Please reload the 
page.",widgetNotFoundMessage:"The content of this widget is not available 
anymore. You may remove this 
widget.",columnClass:"column",widgetClass:"widget",menuClass:"controls",widgetContentClass:"widgetcontent",widgetTitleClass:"widgettitle",widgetHeaderClass:"widgetheader",widgetFullScreenClass:"widgetopenfullscreen",iconsClass:"icons",addWidgetSettings:{openDialogClass:"openaddwidgetdialog",addWidgetClass:"addwidget",selectCategoryClass:"selectcategory",selectedCategoryClass:"selected",categoryClass:"categories",widgetClass:"widgets",dialogId:"addwidgetdialog",categoryTemplate:"categorytemplate",widgetTemplate:"addwidgettemplate"},editLayoutSettings:{dialogId:"editLayout",layoutClass:"layoutselection",selectLayoutClass:"layoutchoice",selectedLayoutClass:"selected",editLayoutClass:"editlayout",layoutTemplate:"selectlayouttemplate"}};a.fn.dashboar!
 
d.widget={defaults:{open:true,fullscreen:false,loaded:false,url:"",metadata:{}}}})(jQuery);(function(){var
 b={};this.tmpl=function a(e,d){var 
c=!/\W/.test(e)?b[e]=b[e]||a(document.getElementById(e).innerHTML):new 
Function("obj","var 
p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+e.replace(/[\r\t\n]/g,"
 
").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return
 p.join('');");return d?c(d):c}})();
\ No newline at end of file
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits

Reply via email to