Ejegg has submitted this change and it was merged.

Change subject: Add widget instances to user default board
......................................................................


Add widget instances to user default board

This could be better.. there should be a better flow for adding multiple
instances, for example.

Change-Id: I6739adc15eefe41b6c51c0ce367da3f4b1df4101
---
M src/components/app-content/app-content.html
M src/components/app-content/app-content.js
M src/components/widgets/fraud-gauge/fraud-gauge.js
M src/css/style.css
4 files changed, 55 insertions(+), 3 deletions(-)

Approvals:
  Ejegg: Looks good to me, approved



diff --git a/src/components/app-content/app-content.html 
b/src/components/app-content/app-content.html
index fd086ea..c3ac744 100644
--- a/src/components/app-content/app-content.html
+++ b/src/components/app-content/app-content.html
@@ -29,7 +29,9 @@
                                <li>
                                        <img data-bind="attr: {src: 
previewPath}">
                                        <h3 data-bind="text: displayName"></h3>
-                                       <p data-bind="text: description"></p>
+                                       <p class="widgetDesc" data-bind="text: 
description"></p>
+                                       <button class="btn btn-block btn-col 
btn-primary addToBoardBtn" data-bind="attr: { id: 'add-widget-'+id }, click: 
$parent.addWidgetToBoard">Add to my default board</button>
+                                       <button class="hide btn btn-block 
btn-col btn-success addToBoardBtn" data-bind="attr: { id: 'saved-widget-'+id }, 
click: $parent.addWidgetToBoard"><i class="fa fa-check-circle-o"></i> 
Added.</button>
                                </li>
                        </ul>
                </div>
diff --git a/src/components/app-content/app-content.js 
b/src/components/app-content/app-content.js
index 49b3c65..a6e51c1 100644
--- a/src/components/app-content/app-content.js
+++ b/src/components/app-content/app-content.js
@@ -17,6 +17,8 @@
         self.widgetTemplates = ko.observableArray();
         self.widgetInstances = ko.observableArray();
 
+
+
         //Get user info and configs like default board
         $.get('/user/info', function(userInfo) {
             if (userInfo) {
@@ -38,6 +40,42 @@
             }
         });
 
+        self.addWidgetToBoard = function( event, data ){
+            var widgetIDToAdd;
+            console.log('event: ', event);
+            console.log('data', data.target.id);
+
+            //create an instance of the widget
+            $.ajax({
+                method: 'POST',
+                url: '/widget-instance',
+                contentType: 'application/json; charset=UTF-8',
+                data: JSON.stringify({
+                    widgetId: event.id,
+                    displayName: 'My ' + event.displayName,
+                    configuration: {},
+                    isShared: false
+                }),
+                success: function( data ) {
+                    widgetIDToAdd = data.id;
+                    self.displayedBoard().widgets.push(data.id);
+
+                    $.ajax({
+                        method: 'PUT',
+                        url: '/board/' + self.userdata().defaultBoard,
+                        contentType: 'application/json; charset=UTF-8',
+                        data: JSON.stringify(self.displayedBoard()),
+                        success: function(stuff) {
+                            //change the look of the add widget button
+                            $('#add-widget-'+event.id).hide();
+                            $('#saved-widget-'+event.id).removeClass('hide');
+                        }
+                    });
+                }
+            });
+
+        };
+
         self.setDisplayPage = function(e, data){
             var pages = ['Library', 'Profile', 'Home'], view = data.target.id;
             if( pages.indexOf(data.target.id) > -1 ){
diff --git a/src/components/widgets/fraud-gauge/fraud-gauge.js 
b/src/components/widgets/fraud-gauge/fraud-gauge.js
index 8fca0bd..3baecae 100644
--- a/src/components/widgets/fraud-gauge/fraud-gauge.js
+++ b/src/components/widgets/fraud-gauge/fraud-gauge.js
@@ -33,7 +33,7 @@
     var self = this;
     self.filters = ko.observableArray();
     self.title = ko.observable(params.title);
-    console.log('fraud widget params: ', params);
+
     self.columnSize = 'col-md-' + params.configuration.width + ' fraudGauge';
 
     $.get( 'metadata/fraud-gauge', function(reqData){
diff --git a/src/css/style.css b/src/css/style.css
index f0a0982..9561bb0 100644
--- a/src/css/style.css
+++ b/src/css/style.css
@@ -378,6 +378,14 @@
     width: 100%;
 }
 
+.addToBoardBtn {
+    bottom: 0;
+}
+
+.widgetDesc {
+    height: 70px;
+}
+
 /* BOOTSTRAP OVERRIDES */
 
 .btn {
@@ -598,12 +606,16 @@
     background-color: rgba(49,176,213,0.6);
     color: #f5f5f5;
     width: 250px;
-    height: 300px;
+    height: 320px;
     overflow: hidden;
     border-bottom: 7px solid rgb(49,176,213);
     border-radius: 4px 4px 0 0;
 }
 
+.widgetLibrary li:hover {
+    background-color: rgb(49,176,213);
+}
+
 .widgetLibrary img {
     width: 210px;
     height: 100px;

-- 
To view, visit https://gerrit.wikimedia.org/r/196403
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I6739adc15eefe41b6c51c0ce367da3f4b1df4101
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/dash
Gerrit-Branch: master
Gerrit-Owner: Ssmith <ssm...@wikimedia.org>
Gerrit-Reviewer: Ejegg <eeggles...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to