Ssmith has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/197360

Change subject: WIP add remove button to widgets
......................................................................

WIP add remove button to widgets

Remove a widget from its board.

First use is in x by y chart.

Change-Id: If0bce28fcfde837a321b2601d9627f8d4a3cab2f
---
M src/app/widgetBase.js
M src/components/app-content/app-content.js
M src/components/boards/generic-board/generic-board.html
M src/components/widgets/x-by-y/x-by-y.html
4 files changed, 50 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/dash 
refs/changes/60/197360/1

diff --git a/src/app/widgetBase.js b/src/app/widgetBase.js
index ba71d70..a01e742 100644
--- a/src/app/widgetBase.js
+++ b/src/app/widgetBase.js
@@ -163,6 +163,38 @@
                        return query;
                };
 
+        self.removeWidgetFromBoard = function( data, event ){
+               console.log('remove widget # ', self.instanceID);
+               console.log('from parent board ID # ', params.parentBoard);
+
+            var gettingBoard, defaultBoardConfig;
+
+            gettingBoard = $.ajax({
+                url: '/board/' + params.parentBoard,
+                success: function( stuff ) {
+                    defaultBoardConfig = stuff;
+                }
+            });
+
+            $.when( gettingBoard ).then( function( returnedData ){
+                defaultBoardConfig = returnedData;
+                console.log(defaultBoardConfig);
+
+                var index = 
defaultBoardConfig.widgets.indexOf(self.instanceID);
+                               defaultBoardConfig.widgets.splice(index, 1);
+
+                $.ajax({
+                    method: 'PUT',
+                    url: '/board/' + params.parentBoard,
+                    contentType: 'application/json; charset=UTF-8',
+                    data: JSON.stringify( defaultBoardConfig ),
+                    success: function( stuff ) {
+                        console.log('here is the new stuff: ', stuff);
+                    }
+                });
+            });
+        };
+
                self.logStateChange = function(n){
                        self.optionStateChanged(n);
                        self.chartSaved(false);
diff --git a/src/components/app-content/app-content.js 
b/src/components/app-content/app-content.js
index c24ee35..c5d52c5 100644
--- a/src/components/app-content/app-content.js
+++ b/src/components/app-content/app-content.js
@@ -81,11 +81,8 @@
                             }
                         });
                     });
-
-
                 }
             });
-
         };
 
         self.setDisplayPage = function( e, data ){
diff --git a/src/components/boards/generic-board/generic-board.html 
b/src/components/boards/generic-board/generic-board.html
index 7797fae..da49f1c 100644
--- a/src/components/boards/generic-board/generic-board.html
+++ b/src/components/boards/generic-board/generic-board.html
@@ -20,7 +20,7 @@
     </span>
 
     <div class="row" data-bind="foreach: displayedBoard().widgets">
-        <div data-bind="component: { name: widgetCode, params: { title: 
displayName, description: description, configuration: configuration, 
widgetInstance: id, widgetCode: widgetCode } }"><span data-bind="text: 
display_name"></span></div>
+        <div data-bind="component: { name: widgetCode, params: { title: 
displayName, description: description, configuration: configuration, 
widgetInstance: id, widgetCode: widgetCode, parentBoard: 
$parent.displayedBoard().id } }"><span data-bind="text: 
display_name"></span></div>
     </div>
 
 </div>
\ No newline at end of file
diff --git a/src/components/widgets/x-by-y/x-by-y.html 
b/src/components/widgets/x-by-y/x-by-y.html
index 27185a9..5f60d1f 100644
--- a/src/components/widgets/x-by-y/x-by-y.html
+++ b/src/components/widgets/x-by-y/x-by-y.html
@@ -9,6 +9,9 @@
 
        <div class="panel panel-purple">
                <div class="panel-heading">
+                       <div class="btn-group btn-group-xs pull-left">
+                               <button type="button" class="btn btn-default 
dropdown-toggle" data-toggle="modal" data-target="#removeModal"><i class="fa 
fa-times"></i></button>
+                       </div>
                        <div class="btn-group btn-group-xs pull-right">
                                <button type="button" class="btn btn-default 
dropdown-toggle" data-toggle="modal" data-target="#XYsqlModal"><i class="fa 
fa-database"></i></button>
                                <!-- <button type="button" id="savedCharts" 
class="btn btn-default dropdown-toggle" data-toggle="dropdown" 
data-target="#XYsavedChart"><i class="fa fa-area-chart"></i> Saved 
charts...</button>
@@ -170,4 +173,18 @@
                        </div>
                </div><!-- /.modal-content -->
        </div>
+</div>
+
+<div class="modal fade" id="removeModal">
+       <div class="modal-dialog modal-sm">
+               <div class="modal-content">
+                       <div class="modal-header">
+                               <h2>Remove this widget from the board?</h2>
+                       </div>
+                       <div class="modal-body">
+                               <button class="btn btn-lg btn-success 
pull-right" data-dismiss="modal" data-bind="click: removeWidgetFromBoard"> 
OK</button>
+                               <button class="btn btn-lg btn-danger 
pull-right" data-dismiss="modal"> Cancel</button>
+                       </div>
+               </div><!-- /.modal-content -->
+       </div>
 </div>
\ No newline at end of file

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: If0bce28fcfde837a321b2601d9627f8d4a3cab2f
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/dash
Gerrit-Branch: master
Gerrit-Owner: Ssmith <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to